Index: tags/2.8.2/LICENSE
===================================================================
--- tags/2.8.2/LICENSE	(nonexistent)
+++ tags/2.8.2/LICENSE	(revision 1481)
@@ -0,0 +1,22 @@
+License
+=======
+WebsiteBaker is released under the GNU General Public License,
+Copyright (C) 2004-2009 Ryan Djurovich.
+Copyright (C) 2009-2010 Website Baker Org. e.V.
+Please refer to the COPYING file for a copy of the license.
+
+LICENSE INFORMATION
+
+WebsiteBaker is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+WebsiteBaker is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. 
\ No newline at end of file

Property changes on: tags/2.8.2/LICENSE
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/INSTALL
===================================================================
--- tags/2.8.2/INSTALL	(nonexistent)
+++ tags/2.8.2/INSTALL	(revision 1481)
@@ -0,0 +1,26 @@
+WebsiteBaker 2 Installation Instructions
+============================================
+This will quickly explain what you will need
+to install websiteBaker.
+
+First of all, you must have a webserver with
+PHP and MySQL installed correctly. Once you 
+have got that, place the "wb" folder 
+somewhere on your server, probably under the
+document root:
+e.g. /documentroot/wb
+
+This should be accessed by an address 
+something like this:
+e.g. http://localhost/wb/
+
+Now create a blank MySQL database
+(Commonly called "wb").
+
+Once that is all done simple run the
+install script from your browser:
+e.g. http://localhost/wb/install/index.php
+
+Fill-out the form and submit it, and if all
+the details are correct, you should be taken
+to WebsiteBaker Administration.

Property changes on: tags/2.8.2/INSTALL
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/CHANGELOG
===================================================================
--- tags/2.8.2/CHANGELOG	(nonexistent)
+++ tags/2.8.2/CHANGELOG	(revision 1481)
@@ -0,0 +1,3418 @@
+Change Log
+===============================================================================
+Please note: This change log may not be accurate
+
+$Id$
+
+Legend:
++ = Added
+- = Removed
+# = Bugfix
+! = Update/Change
+ 
+------------------------------------- 2.8.1 -------------------------------------
+08-Feb-2010 Dietmar Woellbrink (Luisehahne)
+!	missunderstanding back to old logo
+08-Feb-2010 Dietmar Woellbrink (Luisehahne)
+#	Droplet emailfilter fixed search mdcr.js
+!	some little fixes in upgrade-script
++	new WebsiteBaker Logo in themes
+05-Feb-2010 Dietmar Woellbrink (Luisehahne)
+!	Fixed wrong themes path in jquery_theme.js, that plugins works correctly
++	images icons to run base theme
+01-Feb-2010 Dietmar Woellbrink (Luisehahne)
+!	to hold content, install don't drop existing tables (code, form, menu_link, news, wrapper, wysiwyg) 
+!	otherwise do it with uninstall
+30-Jan-2010 Dietmar Woellbrink (Luisehahne)
+#	Ticket #931 bug in admin/access/index.php
+30-Jan-2010 Dietmar Woellbrink (Luisehahne)
+!	continue update headertext
+!	fixed tpyo Website Baker to WebsiteBaker in main language files
+30-Jan-2010 Dietmar Woellbrink (Luisehahne)
+!	continue update headertext
+#	Ticket #930 disabled SyntaxHighlighter from default WB Installation
+!	change help url to www.websitebaker2.org
+29-Jan-2010 Dietmar Woellbrink (Luisehahne)
+!	continue update headertext
+28-Jan-2010 Dietmar Woellbrink (Luisehahne)
++	Ticket #927 news module language file in swedish
+!	update headertext
+28-Jan-2010 Dietmar Woellbrink (Luisehahne)
+#	Ticket #925 Slovak Lang Missing in allowed install languages!
+28-Jan-2010 Dietmar Woellbrink (Luisehahne)
+!	update headertext
+28-Jan-2010 Dietmar Woellbrink (Luisehahne)
+!	update jquery 1.4.0 to 1.4.1, 
+-	removed include/jquery/plugins
+!	update backend themes
+#24-Jan-2010 Dietmar Woellbrink (Luisehahne)
+#	Ticket #923 argos_theme: Always Allowed Viewers in page_settings
+#	fixed css for pagetree to show in IE7
+24-Jan-2010 Dietmar Woellbrink (Luisehahne)
+#	Ticket #921 fix issues in IE by using EditArea framework
+23-Jan-2010 Dietmar Woellbrink (Luisehahne)
+!	Ticket #921 Update EditArea framework
+!	fix stylings wb_them
+!	fix upgradescript
+23-Jan-2010 Dietmar Woellbrink (Luisehahne)
+!	update jquery to version 1.4, rename old one to jquery-min132.js
+#	fixed argos theme  
+22-Jan-2010 Dietmar Woellbrink (Luisehahne)
+!	continue update header info
+22-Jan-2010 Dietmar Woellbrink (Luisehahne)
+!	set svn keywords
+22-Jan-2010 Dietmar Woellbrink (Luisehahne)
+#	Ticket #869 Droplet-Engine does'nt work in some case
+!	continue update header info
+22-Jan-2010 Dietmar Woellbrink (Luisehahne)
+!	update header info
+22-Jan-2010 Dietmar Woellbrink (Luisehahne)
+!	update fckeditor, forgotten to upload a file
+22-Jan-2010 Dietmar Woellbrink (Luisehahne)
+#	Ticket #917 Update backend themes 
+22-Jan-2010 Dietmar Woellbrink (Luisehahne)
+!	Ticket #909 WYSIWYG Editor width destroyes backend layout
+!	Set EDITOR_WIDTH to 0, This way backend theme developper 
+!	can style the WYSIWYG Editor according to their themes.  
+22-Jan-2010 Dietmar Woellbrink (Luisehahne)
+!	Ticket #916 Update backend theme footer
+21-Jan-2010 Dietmar Woellbrink (Luisehahne)
+!	updated YUI 2.4.1 to 2.8.0r4
+21-Jan-2010 Dietmar Woellbrink (Luisehahne)
+!	Beginning header information update
+21-Jan-2010 Dietmar Woellbrink (Luisehahne)
+#	fix login_form.php sometimes produce javascript errors in IE
+21-Jan-2010 Dietmar Woellbrink (Luisehahne)
+#	fix more small css-errors in WB Backend (thanks to Ruebenwurzel)
+21-Jan-2010 Dietmar Woellbrink (Luisehahne)
+!	update header info
+!	change unknown user to guest in all languages
+21-Jan-2010 Dietmar Woellbrink (Luisehahne)
+!	update info.php fckeditor
+21-Jan-2010 Dietmar Woellbrink (Luisehahne)
+#	fix wrong settings in image browser dialog
+21-Jan-2010 Dietmar Woellbrink (Luisehahne)
+#	Ticket #912 fix Search Template bug
+21-Jan-2010 Dietmar Woellbrink (Luisehahne)
+#	Ticket #915 fix bug in search (utf-8 characters corrupted)(thanks to Thorn)
+19-Jan-2010 Dietmar Woellbrink (Luisehahne)
+#	fix some more small css-errors in WB Backend (thanks to Ruebenwurzel)
+19-Jan-2010 Dietmar Woellbrink (Luisehahne)
+#	removed wb_path as javascript var (thanks to Bianca)
+19-Jan-2010 Dietmar Woellbrink (Luisehahne)
+#	fix some more small css-errors in WB Backend (thanks to Ruebenwurzel)
+14-Jan-2010 Dietmar Woellbrink (Luisehahne)
+#	fixed snippets including frontend.css and frontend.js 
+#	without register_frontend_modfiles
+14-Jan-2010 Dietmar Woellbrink (Luisehahne)
++	Ticket #877 add slovak lang in Captcha and Advanced-Spam-Protection
+14-Jan-2010 Dietmar Woellbrink (Luisehahne)
+!	update header
+14-Jan-2010 Dietmar Woellbrink (Luisehahne)
+#	Ticket #911 5. continue to fix CSS-errors in WB backend
+14-Jan-2010 Dietmar Woellbrink (Luisehahne)
+#	Ticket #911 4. continue to fix CSS-errors in WB backend
+14-Jan-2010 Dietmar Woellbrink (Luisehahne)
+#	Ticket #911 3. continue to fix CSS-errors in WB backend
+14-Jan-2010 Dietmar Woellbrink (Luisehahne)
+#	Ticket #911 2. continue to fix CSS-errors in WB backend
+14-Jan-2010 Dietmar Woellbrink (Luisehahne)
+#	Ticket #911 1. continue to fix CSS-errors in WB backend
+13-Jan-2010 Dietmar Woellbrink (Luisehahne)
+#	Ticket #911 Beginning to fix More CSS-errors in WB backend
++	add SVN- Revision to backend theme
+12-Jan-2010 Dietmar Woellbrink (Luisehahne)
+#	Ticket #906 Search Template bug
+!	update editor min width, dragableresize table
+12-Jan-2010 Dietmar Woellbrink (Luisehahne)
+#	Ticket #907 js files in backend themes are stored at wrong places
++	add include/jquery/plugins/toggle_zip.js
+-	removed toggle_zip.js in backend themes
+12-Jan-2010 Dietmar Woellbrink (Luisehahne)
+#	fix open_basedir restriction in effect in save_post.php
+11-Jan-2010 Dietmar Woellbrink (Luisehahne)
+!	fix load_module, load_language (tks to Webbird)
+11-Jan-2010 Dietmar Woellbrink (Luisehahne)
+!	Ticket #904 fix if templatename is equal language
+11-Jan-2010 Dietmar Woellbrink (Luisehahne)
+!	Ticket #905 fix search.php 'registered' hardcoded
+10-Jan-2010 Dietmar Woellbrink (Luisehahne)
+!	Ticket #903 fix CSS-errors in WB backend
+!	add title class in show_breadcrumbs, now full css styling
+05-Jan-2010 Dietmar Woellbrink (Luisehahne)
+!	recoded function show_breadcrumbs
+30-Dec-2009 Dietmar Woellbrink (Luisehahne)
+#	fix Warning: stristr() [function.stristr]
+29-Dec-2009 Dietmar Woellbrink (Luisehahne)
+!	set revision constant to release version
+29-Dec-2009 Dietmar Woellbrink (Luisehahne)
+!	update release version
+28-Dec-2009 Dietmar Woellbrink (Luisehahne)
+#	fix show date if only short content
+28-Dec-2009 Dietmar Woellbrink (Luisehahne)
+!	check if load only one wysiwyg instance
+!	check update svn revision
+28-Dec-2009 Dietmar Woellbrink (Luisehahne)
+#	fix syntax error
+28-Dec-2009 Dietmar Woellbrink (Luisehahne)
+!	update header, check that all tables in WB package are installed 
+28-Dec-2009 Dietmar Woellbrink (Luisehahne)
+!	update header, change variable
+28-Dec-2009 Dietmar Woellbrink (Luisehahne)
+!	update header
+28-Dec-2009 Dietmar Woellbrink (Luisehahne)
+!	update header
+28-Dec-2009 Dietmar Woellbrink (Luisehahne)
+!	validate code
+28-Dec-2009 Dietmar Woellbrink (Luisehahne)
+!	change page_title to menu_title in dropdown list
+!	validate code
+23-Dec-2009 Dietmar Woellbrink (Luisehahne)
+!	check if revision $id will be updated
+21-Dec-2009 Moritz Stapelfeldt
+#	Ticket #896: Bugfix in framework/functions.php > added test is_dir to function rm_full_dir
+16-Dec-2009 Ruud Eisinga
+#	Ticket #894: Bugfixes in newsmodule > rss.php
+16-DEC-2009 Manuel Lang (MaGnaL)
+#	Minor bugfixes: Use localized messages in preference forms on frontend and backend,
+	correct html/php syntax in upgrade-script.php and NL localization of show_menu2 snippet  
+14-DEC-2009 Manuel lang (MaGnaL)
+#	Ticket #832: Fix wrong configuration of timezone-handling when saving
+	preferences-form on backend and frontend 
+12-DEC-2009 Manuel Lang (MaGnaL)
+#	Ticket #827: Fix false form-parameter when javascript is deactivated
+	on users and groups temps (admintool).
+12-DEC-2009 Manuel Lang	(MaGnaL)
+#	Bugfix of rev. 1211 search_modext.php (ticket #863): Use isset and
+	given unknown-user instead of counting all users. 
+12-Dez-2009 Dietrich Roland Pehlke (Aldus)
+#	Bugfix inside "search_modext.php" to avoid warings if the search found
+	a page last modified by a user witch has been deleted. (ticket #863)
+03-Dez-2009 Dietmar Woellbrink (Luisehahne)
+!	Ticket #890 fixed visability proprty uses non valid value 'none' 
+03-Dez-2009 Dietmar Woellbrink (Luisehahne)
+!	change searchstring mdcr.js, workout crypt emails in output_filter/filter-routines.php
+!	comment out ob_end_flush line 259 in form/view.php
+02-Dez-2009 Dietmar Woellbrink (Luisehahne)
+!	next step to validate backend themes
+01-Dez-2009 Dietmar Woellbrink (Luisehahne)
+!	add Revision IDs to added files - Thanks to Ruebenwurzel
+01-Dez-2009 Dietmar Woellbrink (Luisehahne)
+!	updated pclzip class
+29-Nov-2009 Dietmar Woellbrink (Luisehahne)
+!	update module info.php (thanks to Waldschwein)
+29-Nov-2009 Dietmar Woellbrink (Luisehahne)
+!	added missing swobject plugin in FCKeditor
+!	bug fixed in flvplayer
+29-Nov-2009 Dietmar Woellbrink (Luisehahne)
+!	stop working plugin flvplayer in FCKeditor until fixed
+29-Nov-2009 Dietmar Woellbrink (Luisehahne)
+!	fixed an undefined index in settings.php
+28-Nov-2009 Dietmar Woellbrink (Luisehahne)
+!	Update FCKeditor Version 2.6.5 to Modulversion 2.9.3
+28-Nov-2009 Dietmar Woellbrink (Luisehahne)
+!	updated theme.css in wb_theme
+28-Nov-2009 Dietmar Woellbrink (Luisehahne)
+!	Ticket #886 fix validation email, check tld between 2-4 letters
+28-Nov-2009 Dietmar Woellbrink (Luisehahne)
+!	Ticket #874 add slovak lang in install
+    and validate output
+28-Nov-2009 Dietmar Woellbrink (Luisehahne)
+!	Ticket #880 fixes language file SK.php
+28-Nov-2009 Dietmar Woellbrink (Luisehahne)
+!	Ticket #828 fix deprecated eregi
+27-Nov-2009 Dietmar Woellbrink (Luisehahne)
+!	fixes language file SK.php
+27-Nov-2009 Dietmar Woellbrink (Luisehahne)
+!	fixed parse error ticket #878 
+26-Nov-2009 Dietmar Woellbrink (Luisehahne)
+!	found and fix some deprecated functions
+26-Nov-2009 Dietmar Woellbrink (Luisehahne)
+!	validate some output files
+26-Nov-2009 Dietmar Woellbrink (Luisehahne)
+!	fix some PHP 5.3 deprecated functions 
+25-Nov-2009 Dietmar Woellbrink (Luisehahne)
+!	Fix to load edit_full_area only if needed
+25-Nov-2009 Dietmar Woellbrink (Luisehahne)
+!	change page_title to menu_title for parent dropdown list in index.php and sections.php
+25-Nov-2009 Dietmar Woellbrink (Luisehahne)
+!	more bug fixes language file SK.php
+25-Nov-2009 Dietmar Woellbrink (Luisehahne)
+!	Many hosts disable error_log() in various and sundry ways. 
+	In WB we do something like this to avoid triggering warnings and errors. 
+	Even this is sometimes not sufficient to avoid problems with some hosts, but accommodates most.
+25-Nov-2009 Dietmar Woellbrink (Luisehahne)
+!	fix show_menu2 include.php, page crashes, if php error_log is disabled
+25-Nov-2009 Dietmar Woellbrink (Luisehahne)
+!	fixes language files HU.php and SK.php
+24-Nov-2009 Dietmar Woellbrink (Luisehahne)
+!	fixed php 5.3 depricated function in show_menu2
+24-Nov-2009 Dietmar Woellbrink (Luisehahne)
++ 	add two constants in /framework/initialize.php for later feature in database settings
++	define('EDIT_ONE_SECTION', true) to edit only one section with editor in manage sections
+	modify page will be loading all sections with editor
++	define('EDITOR_WIDTH', 900) set min width for editor
++	adding more information in editor header 1) block 2) module 3) section_id
+24-Nov-2009 Dietmar Woellbrink (Luisehahne)
++	add register_frontend_modfiles('jquery'); adds jquery basis scripts in head
++	add register_frontend_modfiles_body('jquery'); adds jquery basis scripts before body end
++	add jquery_theme.js to choose a ui theme, basis is loaded, can be change 
+24-Nov-2009 Dietmar Woellbrink (Luisehahne)
++	add a child page is cumbersome when the parent dropdown list gets to be too large. (Ticket #821)
+24-Nov-2009 Dietmar Woellbrink (Luisehahne)
+!	validate captcha control
+13-Oct-2009 Ruud Eisinga
+#	fixed breaking droplets by highlighting search-words in search result pages.
+13-Oct-2009 Dietmar Woellbrink (Luisehahne)
++	added forgotten jquery-fancybox.js Version 1.0
+13-Oct-2009 Dietrich Roland Pehlke (Aldus)
+#	Fixed typo in the finnish language file (ticket #814).
+12-Oct-2009 Dietmar Woellbrink
+!	security update FCKeditor (tks to Ruebenwurzel)
+12-Oct-2009 Dietmar Woellbrink
++	added old version of fancybox.js
+!	rename new version fancybox 
++	added missing language variables in newsmodul
+12-Oct-2009 Dietmar Woellbrink
+#	fixes Bugs headersend errors in some core files
+12-Oct-2009 Dietmar Woellbrink
+!	update function show_bread_crumb in framework/frontend.functions.php
+!	replace separator with entities char, add title for multilingual
+!	set breakcrumb in div container class="breadcrumb"
+!	set separator in span tag class="separator"
+12-Oct-2009 Dietmar Woellbrink
+!	update jquery fancybox from 1.0 to 1.2.1 
++	fancybox imagefolder incl. fancybox.css
+12-Oct-2009 Dietmar Woellbrink
+!	shows more details in wysiwyg editor
+10-Oct-2009 Dietmar Woellbrink
+!	small update upgrade.php to reset newsfiles to created dates
+10-Oct-2009 Dietmar Woellbrink
+!	Update FCKeditor to Version 2.6.5 Modulversion 2.9.1
+09-Oct-2009 Dietmar Woellbrink
+!	Update FCKeditor to Version 2.6.5 Modulversion 2.9.1
+09-Oct-2009 Dietmar Woellbrink
++	upgrade.php to reset newsfiles to created dates
+09-Oct-2009 Dietmar Woellbrink
+#	Ticket #770, #785, #792, #807, #809, 
+#	fixes and recoded news module
+09-Oct-2009 Dietmar Woellbrink
+#	Ticket #815 Fix Warning: open_basedir restriction in effect. File is in wrong directory in load_module
+#	same fix to load_template
+07-Oct-2009 Dietrich Roland Pehlke
+#	Missing contiue inside search.php to avoid access to an non-object if the query fails. (ticket #793). Thanks to Thorn.
+06-Oct-2009 Dietmar Woellbrink
+#	Security fix - wrong placed "exit()" inside class.wb.
+22-Sep-2009 Dietmar Woellbrink
+#   Fixed: Pagetree changed menu titles instead of page titles (ticket #805) thanks to Ralf (Berlin)
+21-Sep-2009 Dietrrich Roland Pehlke
+!	Dutch tranlation(-s) for the captcha-control. [Ticket: #777] (Thanks to Argos)
+#	Missing code inside "framework/addon.precheck.php" (ticket #798).
+#	Changes inside "upgrade-script" to avoid "mysql_list_tables is deprecated" warnings (ticket #800).
+#	Add "global $admin" to the install.php of the droplets-module to avoid (variable isn't declared) warnings. (ticket #800).
+18-Sep-2009 Dietmar Woellbrink
+#   french translation updated for WB 2.8 (tks to Ploc)
+16-Sep-2009 Dietmar Woellbrink
+#	Fixed bug changed URL_HELP in class.admin.php to http://help.websitebaker.org/ (ticket #801).
+#	Fixed bug: inside the FCK-Editor wbmodul: missing 'OK' button when inserting WB link with Safari/Chrome (ticket #795).
+#	Fixed bug changed png fix and path to jquery-pngFix.js inside footer.htt for backend themes (ticket #786).
+#	Fixed bug: inside the FCK-Editor include.php: add $oFCKeditor->Width  = $width; (ticket #799).
+15-Sep-2009 Dietrich Roland Pehlke
+#	Fixed bug: group-restrictions and sections (ticket #791).
+#	Fixed bug inside the FCK-Editor wbmodul: displaying the correct page-tree by
+	adding "order by position"
+25-Aug-2009 Dietrich Roland Pehlke
+#	Fixed bug in upgrate-script. Constant 'DEFAULT_THEME' doesn't exists (ticket #784).
+25-Aug-2009 Ruud Eisinga
+#	Fixed bug in droplets. Multiple droplets with the same parameter did not extract the new parameter.
+	(problem introduced by code optimisations for WB2.8) 
+#	Fixed usage of the depriciated (PHP 5.3.0) split() function in class.wb. (ticket #772)
+#	Fixed notice ob_end_clean..failed to delete buffer. (ticket #779)
+22-Aug-2009 Ruud Eisinga
+# 	Changed the default searchform name in the installer. (ticket #775)
+#	Fixed the recursive redirect problem when a page is called with a wrong language parm (ticket #780)
+------------------------------------- 2.8.0 -------------------------------------
+14-Aug-2009 Matthias Gallas
+#	Fixed typo in dutch language file (Thanks to Argos)
+#	Changed FCKEditor to not show index.php files in browse media window (ticket #774)
+	(Thanks to BerndJM)
+12-Aug-2009 Matthias Gallas
+#	Fixed some display issues in all backend themes
+!	Again updated dutch language file (Thanks to Argos)
+#	Fixed missing language variable in form modul (Thanks to Argos)
++	Added missing images to argos_theme (forgotten in changeset [1117])
+11-Aug-2009 Matthias Gallas
+!	commentet out the droplets logo for a more similar backend design with
+	other admin tools
+!	Updated icons in argos_theme (Thanks to Argos)
+!	Updated Dutch language file (Thanks to Argos)
+!	Updated show_menu2 to version 4.9
+9-Aug-2009 Matthias Gallas
+#	Replaced function mime_content_type as the old one causes shell_exec warnings
+	on some servers (Thanks to Aldus)
+!	updated argos_theme to version 1.4 (Thanks to Argos)
+!	some code cleaning of admin/pages/sections.php
+#	Fixed possible xss injection in login/forgot/index.php
+#	Fixed bug in news modul introduced in changeset [1057]
+#	Added missing variables also to preferences.php. Forgot in Changeset [1112]
+8-Aug-2009 Matthias Gallas
+#	Added some missing variables to backend_themes (Thanks to Stefek)
+6-Aug-2009 Matthias Gallas
+!	Set Version to 2.8
+!	Updated upgrade_script to make use of the changed news settings
++	Added to show_menu2 the aOption 'SM2_HIDEPAGES'. If set all hidden pages are
+	hidden again (Thanks to DarkViper)
+#	Fixed again some bugs in news modul (ticket #756) (Thanks to Aldus and Luisehahne)
+#	Fixed bug that frontend.js, frontend.css and frontend_body.js are not used
+	from snippets (ticket #764) (Thanks to Luisehahne)
++	Added new function 'register_frontend_modfiles_body' to default templates
++	Added option to use a frontend_body.js in modules to include javascript from modules
+	in the body of the frontend (Thanks to Luisehahne)
+!	Updated Danish language Files (Thanks to Achrist)
+#	Fixed some display issues in argos_theme (Thanks to Argos)
+30-July-2009 Ruud Eisinga (Ruud)
+#	Fixed a bug in the /admin/media resizer parameters for dirs with whitespaces (thnx to tiesy)
+#	Fixed a bug in FCKeditor include.php. Now the editor can be used from other 
+	subdirectories than WB_PATH/modules/mymodule
+29-July 2009 Dietrich Roland Pehlke (Aldus)
+#	changes in framework/class.wb.php to avoid the "print->footer()" bug in the frontend,
+	as this function/method doesn't exists for the frontend.
+#	Changes inside index.php and save.php in settings to get rid of the situation
+	that a SMTP-Password could not contain an "<" char (right chars are craped),
+	and also "<" is not transformed into an entitie "&lt;". (Thanks to FrankH)
+#	Modify of "addon.precheck.inc.php" to get rid of the problematic that version_compare
+	could faild if words like "alpha", "beta" are inside a version-string. (missing in changelog 1100)
+28-July 2009 Matthias Gallas
+#	fixed some smaller issues in rss.php (Thanks to Kibmcz)
+27-July 2009 Matthias Gallas
++	Added German language file to droplets
++	Added modul_description to language files of droplets
++	Added Danish language files to modules (Thanks to Achrist)
+!	Updated Danish language file (Thanks to Achrist)
+#	Fixed improper spelling in language files (#754)
+#	Fixed bug introduced in changeset [1092]
+25-July 2009 Matthias Gallas
+#	fixed some language bugs in search.php (Thanks to Thorn)
+23-July 2009 Matthias Gallas
+#	fixed bug with missing filetype icon in media section of classic_theme (ticket #752)
+#	fixed bug with page not showing if 2 sections active (ticket #751) (Thanks to Pumpi)
+#	readded to phplib/template.inc $clear: whether to delete undefined vars or not
+	was already added in WB 2.7 but was deleted for unknown reasons (Thanks to FrankH)
+22-July 2009 Matthias Gallas
+!	set Version to RC2
+!	small modification on german language file (ticket #746)
+#	Fixed E_ALL&E_STRICT warning on PHP5 servers (Thanks to Aldus) 
+#	Fixed bug with home folders are viewable and writable from other users
+	(ticket #605 and #748) (Thanks to Aldus)
+20-July 2009 Matthias Gallas
+!	Moved backend.js back from <body> to <head>
++	Added possibility to add a backend_body.js to modules wich is then called in <body>
++	Readded admin/images folder to keep backward compatibility to old modules
+19-July 2009 Matthias Gallas
+#	Fixed display issue of jsadmin in backend themes (Thanks to Argos)
+18-July 2009 Matthias Gallas
+!	Updated german laguage file in argos_theme
++	Added multilnaguage support to media section of argos_theme (Thanks to Argos)
+#	Fixed smaller display issue in argos_theme (Thanks to Argos)
++	Added more meta tags to backend themes
+!	Updated Argos_theme (Thanks to Argos and Luisehahne)
+#	Again added some &amp; to news and form to get more valid output (Thanks to Luisehahne)
+#	Fixed wrong set </form> tag to get valid output (Thanks to Luisehahne)
+!	Replaced in some alt tags hardcoded signs with language variables (Thanks to argos)
+!	Updated Dutch language File (Thanks to argos)
+!	Updated French language File (Thanks to mylesk42)
+16-July 2009 Matthias Gallas
+#	Fixed E_ALL notice in news/view.php
+!	replaced in form and news delimiter "&amp;" with "&"
+	was introduced with changeset [1069] but didn't work on all servers
+#	Removed double </form> tags in pages/intro.php and wysiwyg/modify.php
+!	replaced all remaining mktime() with time(), except from third party scripts
+15-July 2009 Matthias Gallas
+!	changed in modules/admin.php and admin/pages/add.php mktime() to time()
+!	changed in wrapper modul modify.html to modify.htt
+#	Fixed some validiation bugs in core and different modules (Thanks to luisehahne)
+#	fixed display issue of jscalendar in news modul (Thanks to Aldus)
+!	changed modules/admin.php to also make use of backend theme templates
+!	changed in class_login.php mktime() to time()
+14-July 2009 Matthias Gallas
+#	Fixed bug with sections are only editable in new backend-themes if blocks are enabled
+	(Thanks to Luisehahne)
+#	Fixed some validiation bugs in news modul (ticket #742) (Thanks to Luisehahne)
+14-July 2009 Dietrich Roland Pehlke
+!	changes in frontend.functions.php, line 323: 'date' to 'gmdate' to avoid E_STRICT warnings.
+!	changes in wb-setup.php, line 50: 'date' to 'gmdate' to avoid E_STRICT warnings. See also #741.
+13-July 2009 Matthias Gallas
++	added changes from news/add.php to the upgrade-script.php
+13-July-2009 Ruud Eisinga
+#	admin / media / browse reported an error in E_STRICT mode.
+13-July 2009 Dietrich Roland Pehlke
+!	Change inside "date_formats.php" and "time_formats.php" mktime() within time()
+	to avoid warnings and strict messages. See #741. Minor cosmetic changes.
+#	News-Modul: add the unlink-routine for the ".news" folder inside uninstall.php
+	so the groupe-images are also unlink.
+!	News-Modul: add <tr><td> and </td></tr>-tags to the "none found" part in the view.php to 
+	get valid output inside a table.
+!	Change the setting of $display_image and $display_groupe to avoid the 
+	empty display roule problematic (<tr style="display: ">) for valid output.
+!	Add &gt;&gt; in "add.php" instead of >> to avoid invalid output.
+11-July-2009 Ruud Eisinga
+!	The news module post_title link made unclickable when there is no full post.
+11-July-2009 Matthias Gallas
++	Added changed news settings to upgrade-script
+09-July-2009 Ruud Eisinga
+!	Added a better option to hide the READ_MORE link in the news module. (ticket #739)
+09-July-2009 Matthias Gallas
+#	Fixed bug that backend.js is not loaded in backend themes (ticket #740)
+#	Fixed wrong path to unitpngfix.js and added missing script
+#	Fixed invalid output of page_sections Page in Backend (Thanks to Luisehahne)
+08-July-2009 Matthias Gallas
++	Added PageID and SectionID to all backend themes (Thanks to Luiseshahne)
+#	Fixed some display issues in all backend themes (Thanks to Luisehahne)
+!	Replaced wbmodules.gif in FCKEditor Plugins (Thanks to Stefek)
+08-July-2009 Dietrich Roland Pehlke
+!	Removed unused marker {USERS} inside the "groups.htt" of the wb-theme.
+!	admin -> users -> index.php
+!	admin -> groups -> index.php
+	Codechanges using blocks to avoid to generate the "switch"-link right-top,
+	if the user has no permission to edit the other one.
+!	wb_theme|classic_theme|argos_theme -> templates -> users.htt
+!	wb_theme|classic_theme|argos_theme -> templates -> groups.htt
+ 	Add block-comments
+!	admin -> addons -> index.php	codechanges
+!	admin -> access -> index.php	codechanges
+	Codechanges to get rid of the empty display(style) declaration "style='display: ;'",
+	and to avoid to generate (hidden) elements if the user isn't alowed to edit one.
+!	wb_theme|classic_theme|argos_theme -> templates -> addons.htt
+!	wb_theme|classic_theme|argos_theme -> templates -> access.htt
+	add block-comments
+#	Bugfix inside wb/admin/groups/get_permissions.php - replacing wrong "AND" within "OR" in line 64
+	if one checkbox of "user" or "group" is selected (like in line 178; advanced settings).
+07-July-2009 Matthias Gallas
+#	Fixed some minor bugs in argos_theme (Thanks to Argos)
+#	Fixed bugs in admin additons for argos_theme (Thanks to Argos)
+!	Updated Version Number in upgrade_script to 2.8RC1
+!	Updated FCKEditor Modul Version Number to 2.89
++	added in FCKEditor Advisory Relation to Links (thanks to Luisehahne)
+06-July-2009 Matthias Gallas
+!	Updated FCKEditor to Version 2.6.4.1 (ticket #738) (Thanks to doc)
+#	Fixed Backend-Themes to get more valide output (Thanks to Luisehahne)
++	Added argos_theme
++	Added new functions to admin dir (Thanks Argos and Ruud)
+!	Updated install and upgrade-script
+!	Adapted wb_theme and classic_theme to changed admin dir files
+04-July-2009 Dietrich Roland Pehlke
+!	FCK-Editor Modul: Droplet Select: change "page_list_block" to "droplets_list_block",
+	also "cmbPages" to "cmbDroplets" as we are listen droplets not pages.
+!	Remove unneeded empty lines and spaces/blanks;
+	minor cosmetic changes in the source to keep the string more readable.
+04-July-2009 Matthias Gallas
+!	Replaced droplet icon for FCKEditor Toolbar (thanks to Stefek)
+#	Fixed two bugs in droplets-plugin for FCKEditor (thanks to Aldus)
+!	Changed Template from FCKEditor plugin WBModules to .htt
++	Added Droplets plugin to FCKEditor (ticket #737) (Big Thanks to vizmotion)
+03-July-2009 Matthias Gallas
++	Fixed IE Bug in Wrapper modul (ticket #736)
+03-July-2009 Ruud Eisinga
+#	Fixed the wrong handling of htmlentities in Droplet parameter parsing
+02-July-2009 Matthias Gallas
++	Added missing fancy_progress.png
+01-July-2009 Matthias Gallas
+#	Fixed backend display issues in IE6 and IE7
+!	Set Version to WB2.8RC1
+!	Minor tweaks in pages_sections.htt
++	Added posibility to upload and unzip .zip packages to media section
+	(Thanks to BerndJM)
+!	Updated Browse Media Window in wb_theme now supports file icons, more file
+	informations and a new preview function (Thanks to BerndJM)
+29-June-2009 Matthias Gallas
+#	Replaced in FCKEdiotor folder all index.html with index.php (ticket #691)
+!	Update PHPMailer to version 2.0.4 (ticket #733)
+!	Update Editarea to version 0.8.1.1 (ticket #732)
+!	Update JQuery UI to version 1.7.2 (ticket #731)
+27-June-2009 Ruud Eisinga
+#	Fixed email encryption bug in output filter. Introduced by adding droplets.
+	(Thanks to Luisehahne)
+25-June-2009 Matthias Gallas
++	Added missing admin/settings/setting.js
+!	Changed name of classic theme from "classic" to "classic_theme"
++	Added output-filter warning to all language files
+#	Fixed admintool jsadmin to get XHTML valid output (Thanks to Luisehahne)
+#	Major fixes on backend to get XHTML valid output (Thanks to Luisehahne)
++	Added option to use also MYSQL_ASSOC and MYSQL_NUM with mysql_fetch_array
+	(Thanks to Luisehahne)
+#	Bugfix for Error-Level settings (Thanks to Luisehahne)
+23-June-2009 Matthias Gallas
+#	Moved styles from admin/pages/sections.php to sections.htt in backend themes
+	(Thanks to Luisehahne)
+!	Moved javascript files from admin/pages/index.php to external js files
+	(Thanks to Luisehahne)
+#	Major improovements and changes to all backend files to get more valide Code
+	output (Thanks to Luisehahne)
+22-June-2009 Matthias Gallas
+#	fixed wrong position id when adding a new page
+-	removed obsolete code/modify.html
+22-June-2009 Dietrich Roland Pehlke
+#	Changes on module "code": add the section_id to the name of the textarea,
+	to keep the functionality if you are using more than one code-section on a page.
+!	Moving the html-template inside a "htt" folder and rename the suffix to ".htt" to
+	keep it consitant to other modules. Minor cosmetic changes inside the code.
+22-June-2009 Ruud Eisinga
+#	Fixed a bug in Menu_link module that made childpages of the menu_link page 
+	not selectable. (thnx to Luisehahne)
+21-June-2009 Matthias Gallas
+#	Fixed small bug introduced in changeset [999]
+19-June-2009 Matthias Gallas
+#	Fixed bug that parent pages didn't inherit language settings to kind pages
+17-June-2009 Ruud Eisinga
+#	Bugfix in "droplets/upgrade.php" - wrong parameter order for adding fields.
+	also the query for "normal" upgrades had a typo.
+!	Added warning in output_filter that the function will be removed in 2.9
+17-June-2009 Dietrich Roland Pehlke
+#	Bugfix in "droplets/upgrade.php" - wrong tablename change to the correct one
++	Add upgrade-script to droplets
+!	Changes on upgrade-script to avoid droping droplet-modul-tables if the exists.
+!	calling "upgrate.php" or "install.php" instead of hard-coded lines to avoid
+	future conflicts by upgrading the modul
+15-June-2009 Matthias Gallas
++	Added install routine for droplets to the upgrade script
+#	Fixed bug in menu_link modul with wrong displayed pages tree (Thanks to thorn)
+#	Fixed small bug introduced in changeset [989]
++	Added missing id tags and copyright notices to droplets modul
+15-June-2009 Dietrich Roland Pehlke (aldus)
+#	Bugfix for ticket #725
++	Add "$wb->strip_slashes" again for backslashes are displayed in the output (view.php).
++	Add Droplets (Ruud)
++	modifications inside frontend.functions.php for backwart compatiblity (Ruud)
++	modifications inside the search to get the droplets seachable (Ruud)
+14-June-2009 Dietrich Roland Pehlke (aldus)
+#	Bugfixes for (ticket #728)
++	Add additional constant to "install/save.php" to avoid conflikts during
+	installation inside "/framework/initialize.php".
++	Add condition inside "/framework/initialize.php" to avoid conflikts
+	during installation; table "mod_captcha_control" doesn't exsits at runtime.
++	Add test for tables inside "install/save.php" if the user uncheck "install table" option.
++	Additional Errormessage if nessesary tables are not found (english).
+13-June-2009 Matthias Gallas
++	Added jQuery-insert.js and jQuery plugins (Thanks to Luisehahne)
+!	Moved images in lQuery plugins folder (Thanks to Luisehahne)
+#	fixed small german language issue in jscalendar (Thanks to Luisehahne)
+26-May-2009 Matthias Gallas
++	Added jQuery(1.3.2) and jQueryUI(1.7.1) to WB core (ticket #708)
+21-May-2009 Matthias Gallas
+#	Fixed some strange backend layout issues (ticket #722)
+09-May-2009 Matthias Gallas
++	Added index.php to all WB-Theme folders to prevent directory spoofing
+06-May-2009 Matthias Gallas
+!	Updated Norsk language File (Thanks to oeh)
+#	Fixed bug with not always included stylesheets in backend (ticket #717)
+27-Apr-2009 Matthias Gallas
+#	Fixed bug with missing option for admin-tools in advanced view of access
+	settings (ticket #714)
+#	Fixed bug with backup fails if a user has only permissions to admin-tools (ticket #715)
+#	Fixed bug with missing template object in groups and user settings(ticket #716)
+25-Apr-2009 Matthias Gallas
+!	Updated Dutch language files for modules (Thanks to LuckyLuke)
+23-Apr-2009 Matthias Gallas
+#	Fixed bug with dropdownlist in pages settings (ticket #713)
+20-Apr-2009 Matthias Gallas
+!	Update show_menu2 to version 4.8 (ticket #712)
+#	Fixed small error in Spain language file (ticket #711)
+18-Apr-2009 Matthias Gallas
+!	Updated Dutch language file (Thanks to Luckyluke)
+17-Apr-2009 Matthias Gallas
+#	Fixed MenuLink timeout with many large wysiwyg-pages (ticket #710)
+!	Updated again Norsk language File (Thanks to oeh)
+!	Updated Dutch language file (Thanks to Luckyluke)
+13-Apr-2009 Matthias Gallas
+#	Fixed minor dispay issue in upgrade script
+!	Updated Norsk language File (Thanks to oeh)
+!	Updated French language files (Thanks to Quinto and VotreEspace)
+!	Updated Danish language file (Thanks to Achrist)
+12-Apr-2009 Matthias Gallas
+#	Fixed not defined language variable in account/email.php (Thanks to BlackTiger)
+#	Fixed Typo in group_form.htt (ticket #705)
+01-Mar-2009 Christian Sommer
+!	Added disclaimer to upgrade-script.php	
+28-Feb-2009 Christian Sommer
+#	Removed hardcoded admin path from JSAdmin module (jsadmin/js/dragdrop.js)
+25-Feb-2009 Matthias Gallas
++	Added language support for template_description (affects templates and themes)
+#	fixed wrong path to images in news and form modul
+#	fixed manage section is showed twice (ticket #694)
+-	removed unneeded icons from wb_theme
+-	removed unneeded stylesheet.css from account dir
+#	renamed warning.htt to warning.html to fix display of sourcecode after invalid logins
++	added fixed error.htt also to classic theme
++	corrected info.php of news-modul
+24-Feb-2009 Dietrich Roland Pehlke
+!	Changes in warning.htt templates to get valid XHTL1.1 output - replace the center-tag with div
+#	add "AND section_id='$section_id'" to the delete-query to avoid conflicts if there are more
+	than one Form on one single page.
+#	Modify error.htt template in wb_theme for valid XHTML1.1 output - replace the center-tag with a div
+	and replace the br-tag with valid p-tags.
+22-Feb-2009 Matthias Gallas
++	added skinable Admin Interface
+21-Feb-2009 Christian Sommer
++	added update of search table missing in Changeset 941
+#	fixed wrong index in language array
+!	removed some comment lines (changes are tracked by SVN)
+20-Feb-2009 Dietrich Roland Pehlke (aldus)
+!	add additional tr and td tags to the text_no_results message to get valid XHMTL output
+19-Feb-2009 Christian Sommer
+!	addon overview to show advanced options after redirect from reload.php
+#	fixed bug if language folder contains none language files (XX.php) or sub folders
++	added option to invoke module upgrade.php/uninstall.php files from backend (for modules uploaded via FTP)
+18-Feb-2009 Dietrich Roland Pehlke (aldus)
+#	fixed: typos in the section_id inside the action-link 
+!	Remove test_trash and unused variables in query, added suggetions from #588
+#	Bugfix for form bug (ticket #688)
+17-Feb-2009 Christian Sommer
++	added option to invoke module install.php from backend (for modules uploaded via FTP)
+!	admin Add-on settings no hidden by default (can be set visible via advanced link)
+16-Feb-2009 Christian Sommer
+!	moved reload option of Add-ons to main Add-on section
+!	reworked logout to reset possible remember key in database when logging out
+15-Feb-2009 Christian Sommer
+#	fixed bug with smart login option (remember me) (ticket #689)
+#	special chars like &nbsp; are shown when editing Add-on CSS files (ticket #678)
+!	redirect time for function print_success can now be defined in Settings (ticket #603)
+-	removed reload admin tool
++	added possibility to reload Add-ons via the Add-on section
+14-Feb-2009 Christian Sommer
+!	added option to display current user name in backend template
+#	fixed wrong redirect path and added SVN Id
+13-Feb-2009 Christian Sommer
++	added option to perform pre-installation checks to test requirements of Add-Ons
+#	added error messages to installation process for Add-Ons with wrong file type
+08-Feb-2009 Christian Sommer
+#	fixed warning if database connection failed during installation process
+06-Feb-2009 Christian Sommer
+!	fixed some typos in German language file (thanks to freeSbee)
+!	added new captcha fonts and replaced old background images with the ones created by thorn
+05-Feb-2009 Christian Sommer
+!	mail text for register, signup and forgot mail now taken from WB language file (ticket #684)
+02-Feb-2009 Christian Sommer
+#	removed PHPMailer fix introduced with 2.0.3 to get SMTP working again (line 1041 in class.smtp.php)
+02-Feb-2009 Matthias Gallas
+#	Fixed bug wich causes that install of captcha-control may fail (ticket #682 thanks to thorn)
+01-Feb-2009 Matthias Gallas
+!	Update FCKEditor to version 2.6.4
+22-Jan-2009 Christian Sommer
+!	Added default target attribut to backend menu links
+21-Jan-2009 Matthias Gallas
+!	Copyright notices now includes 2009
+20-Jan-2009 Matthias Gallas
+#	fixed form-module select (multiple) doesn't work (ticket #681 Thanks to thorn)
+17-Jan-2009 Matthias Gallas
++	added French languages to modules
+!	changed handling of post_date in news modul (thanks to susigross)
++	added hour and minute support to default published_when field in news modul
+13-Jan-2009 Christian Sommer
+-	removed the obsolete Codepress framework from the include folder
++	added Javascript syntax highlighting framework EditArea as replacement for Codepress
+!	updated external PHPMailer class to latest version (v2.0.3)
+08-Jan-2009 Christian Sommer
+#	fixed error message in admin class if type array not defined
+05-Jan-2009 Dietrich Roland Pehlke
+#	Code-Snippets are no longer shown as type: unknown. 
++	Additional key in the languagefiles "$TEXT['CODE_SNIPPET']";
+#	fixed bug for the rss of news, see ticket #609
+04-Jan-2009 Matthias Gallas
+#	made news Modul multilingual, see ticket #676 (some additional translations are needed)
+03-Jan-2009 Matthias Gallas
+#	fixed bug in view.php of news module (ticket #676 Thanks to susigross)
+#	fixed another bug in view.php of news modul introduced in changeset [892]
+30-Dec-2008 Matthias Gallas
++	added default new language variables to all language files
+-	modul_uninstall: Removed undefined and unused constants (DB_FETCHMODE_ASSOC)
+!	modul_uninstall: added language variable $TEXT['FILE'] instead of "Datei"
+29-Dec-2008 Dietrich Roland Pehlke
++	add language support for the errormessages inside the uninstall.php files for modules
+	and templates.
+!	add new keys inside the german de.php language-file.
+-	removed my own debugging-code (was in 893 by mistake)
+!	Correct the last date in the changelog
+29-Dec-2008 Matthias Gallas
+!	set version to 2.8 BETA
+#	replaced in news modul special chars with entities to get valid output
+!	changed SESSION ID Separator from '&' to '&amp;' to get valid output 
+-	Removed the <p> tag around the news as it is added from the editor  
+28-Dec-2008 Dietrich Roland Pehlke (aldus)
++	ticket 610: add ip-address to the email-body in the form-modul.
++	ticket 607: include the frontend.css in the comment_page.php file of the news-module.
+#	File: admin/admintools/index.php - add "order by name" to the query to display the admintools in alphabetic order.
+#	File: admin/modules/uninstall.php - remove a db-query to a db-field that doesn't exists in wb 2.7 anymore 
+26-Dec-2008 Thomas Hornik
+#	fixed two issues with searchresult-highlighting: do not highlight in <pre>/<code>-tags, do not convert &lt; to &amp;lt; anymore. 
+13-Dec-2008 Christian Sommer
+!	changed mailer to not extract line break of alternative body text (thanks to freeSbee)
+28-Oct-2008 Christian Sommer
+!	updated output filter regex to exclude mail addresses contained in input fields
+27-Nov-2008 Thomas Hornik
+!	added redirect-type (301/302) to menu_link
+24-Nov-2008 Matthias Gallas
+!	updated upgrade-script.php to add sec_anchor field to settings table
+22-Nov-2008 Thomas Hornik
+!	search: replaced most of $string_ul_umlauts (from search_convert.php) through use of preg's u-switch.
+!	search: replaced strtr() by str_replace() (it's just faster). Changed &#39; to &#039;
+06-Nov-2008 Thomas Hornik
+#	Module code: curly backets get deleted by pparse() from phplib --> old fix in #569 wasn't that smart. Fixed.
+#	fixed some typos in DE language-file, added missing tab in search.php
+02-Nov-2008 Thomas Hornik
+!	news: added PAGE_SPACER to $page_title (creates e.g. title-32.php instead of title32.php)
+01-Nov-2008 Thomas Hornik
+!	improved ext_charset to work with latin1,cp1252,cp1251,latin2,hebrew,greek,latin5,latin7,utf8
++	added config for section anchor. ATTN: add "INSERT INTO TABLE_PREFIX.'settings' (name,value,extra) VALUES ('sec_anchor', 'wb_', '')" to upgrade-script.
+!	updated menulink and search to use configureable section-anchor
+29-Oct-2008 Thomas Hornik
+# News: total number of news wasn't calculated correctly
+!	Captcha: removed IFRAME for Calculation-as-text captcha
+-	removed useless init_utf8funcs()-function
++	search: added search_lang for use in search-form. Using DE, the search will search Ã¤=ae,... (alternate spelling of german umlauts)
+-	search: removed undocumented word-boundary search
+!	search: search_path is now anchored to the beginning of link ("link LIKE '$path%'" instead of "link LIKE '%$path%'")
++	search: added key 'ext_charset' to search-extension to query external databases
+25-Oct-2008 Christian Sommer
+!	updated basic templates according the template guidelines
+24-Oct-2008 Dietrich Roland Pehlke
+#	applied bugfix for ticket #608 (redeclaration of news module)
+23-Oct-2008 Dietrich Roland Pehlke
+!	modified module delete function to provide additional information when module is in use when trying to delete
+!	modified template delete function to provide additional information when template is in when trying to delete
+21-Oct-2008 Matthias Gallas
+#	fixed display issue in news modul
+!	updated show_menu2 to version 4.7
+18-Sep-2008 Thomas Hornik
++	Added captcha-reload
+16-Sep-2008 Thomas Hornik
+#	search: fixed windows-related regex issue
+19-Aug-2008 Matthias Gallas
+!	updated to latest FCKEditor version 2.6.3
+02-Aug-2008 Thomas Hornik
+#	fixed sorting order of search-results
+25-Jul-2008 Thomas Hornik
+#	fixed an issues related to search, changed one SQL inner join (to use USING instead of WHERE)
+!	added $database = new Database(); in front of output-filter
+05-Jul-2008 Thomas Hornik
+#	fixed MODI_DATE/PUBLISHED_DATE issue in news-module. Added PUBLISHED_TIME, removed PUBL_DATE,PUBL_TIME. Thanks to forum-member timorotha
+02-Jul-2008 Christian Sommer
+!	updated to latest FCKEditor version 2.6.2
+01-Jul-2008 Thomas Hornik
+#	page-names with doubled (or more) points can not be handled if php runs as cgi. Thanks to forum member hgi2001.
+29-June-2008 Christian Sommer
+!	applied additional mail check to forgot login form
+28-June-2008 Christian Sommer
+!	class and id attributes in mailto links are no longer ignored by the output filter
+22-Jun-2008 Thomas Hornik
+#	fixed issue with captcha (mt_rand() instead of rand())
+#	fixed bug in search (link to http://.../search/index.php performs a search with string 'unset')
+22-June-2008 Christian Sommer
+!	added output of block number to section admin if no block name is specified
+21-June-2008 Christian Sommer
++	added output of block names to modify pages dialogue if blocks are enabled
+!	updated show_menu2 to version 4.60 (to avoid disappearing menus)
+08-Jun-2008 Thomas Hornik
+#	hebrew-table in charsets-table.php was faultily imported - fixed. Thanks to forum-member iti.
+24-May-2008 Christian Sommer
+!	modified output filter routine to prevent errors if database entries do not exist
+04-May-2008 Thomas Hornik
+!	changed register_backend_modfile() to work with wysiwyg-module, too
+01-May-2008 Thomas Hornik
+#	fixed file-naming issue when old page-names (from before 2.7) contains "&"
+26-Apr-2008 Thomas Hornik
+#	class.admin.php deletes actual query-string while redirection. fixed.
+25-Apr-2008 Matthias Gallas
+#	fixed validiation bug in option fields of form modul
+------------------------------------- 2.7.0 -------------------------------------
+21-Apr-2008 Christian Sommer
+!	set version to 2.7
+#	fixed bug in the PL language file of the JS calendar
++	added some basic functions for module developers
+20-Apr-2008 Thomas Hornik
+#	fix: allow external urls for search-results
+17-Apr-2008 Thomas Hornik
+#	fixed jscalendar's language-files
+16-Apr-2008 Christian Sommer
+#	fixed possible clashes with intro page feature and WB core file /pages/index.php
+15-Apr-2008 Thomas Hornik
+!	revert back to pagename-creation from $page_menu, instead of $page_title
+15-Apr-2008 Christian Sommer
+#	fixed bug introduced with Changeset 826
+14-Apr-2008 Christian Sommer
++	added show_menu2() to pre-installed WB modules (many thanks to Brodie Thiesfield for this great menu function replacment)
+!	allowed tags for multi-lingual module descriptions
+14-Apr-2008 Thomas Hornik
+#	fixed issue with multigroups (level 0 page-creation)
+13-Apr-2008 Thomas Hornik
+!	ASP: off per default. CAPTCHA: removed unneeded $admin. Filename: just convert chars like quote, doublequote, < > & to empty string.
+#	fixed language-files
+10-Apr-2008 Christian Sommer
+!	fixed WB-Link Plugin to work with WB versions below 2.7 ($admin->page_is_visible() only available in WB 2.7)
+09-Apr-2008 Christian Sommer
+!	modified FCKEditor WB-Link Plugin to work also with WB versions below 2.7
+07-Apr-2008 Matthias Gallas
+#	fixed error in german laguage file
+07-Apr-2008 Christian Sommer
++	added the latest FCKEditor v2.60
+-	removed the outdated FCKEditor v2.51
+!	set version from 2.7 (RC3) to 2.7 (RC3a)
+07-Apr-2008 Thomas Hornik
+!	added missing group_id in INSERT-query
+!	removed PHP5 function stripos from installation script
+06-Apr-2008 Christian Sommer
+!	removed some obsolete language variables from news and form module (now defined in global WB language files)
+!	enlarged admin tool icon to match size 50x50px of the other icons
+05-Apr-2008 Matthias Gallas
+!	Moved language variables for edit module CSS from modules language files to core language files
++	Added norwegian translation (Thanks OEH)
+05-Apr-2008 Thomas Hornik
+!	some small fixes: group_id/groups_id-handling, safe_mode-query in install, better work-around for issue with phplib and code-module (removed {})
+#	fixed viewing_groups-handling in /admin/pages/add.php
+!	imported new russian translation from User shlack. Many Thanks
+05-Apr-2008 Christian Sommer
+!	added workaround for template parser class
+!	moved functions to edit module CSS files into the WB core to avoid duplication of code
+!	minor layout change
+!	allowed the character "-" to be used in database names
+04-Apr-2008 Thomas Hornik
+#	fixed: Language-redirect removed query-string from URL
+04-Apr-2008 Christian Sommer
+!	set WB version to 2.7 (RC3) for the next upcoming release candidate
+03-Apr-2008 Christian Sommer
+!	some code clean up in news/form module
+!	small adaption of the edit CSS function file css.functions.php
+!	updated edit module CSS functions to include backend.css into head if possible
+#	fixed bug in Javascript decryption routines of the Output-Filter module
+02-Apr-2008 Matthias Gallas
+#	fixed bug with registration of users are not added to signup group
+02-Apr-2008 Christian Sommer
+#	added handling of missing characters to mailto encryption routines
+!	some code clean-up in News module
+!	fixed some layout issues with Form module (combination with Output-filter)
+!	fixed layout issue with optional subject/body text of encrypted mailto links
+#	fixed bug in the mailto Javascript encryption code of the Output-Filter module
+01-Apr-2008 Christian Sommer
+!	removed typo in English language file
+!	added updated edit CSS functions to the News module
+!	added updated edit CSS functions to the Form module
+31-Mar-2008 Christian Sommer
+#	fixed bug in output filter (mailto links with HTML entities in optional part)
+29-Mar-2008 Christian Sommer
+!	added missing translation to Dutch language file (thanks Bramus)
+28-Mar-2008 Thomas Hornik
+!	Some cleanup in search.php
+!	WYSIWYG: changed field text to LONGTEXT, too.
+25-Mar-2008 Matthias Gallas
+!	Updated Dutch language file (Thanks to Bramus)
+26-Mar-2008 Tomas Hornik
+#	fixed E_NOTICE-message in admin/modules/details.php
+25-Mar-2008 Thomas Hornik
++	search: added search_time_limit in settings (mainly for sites with PHP < 4.3.3 and slow search)
++	search: added missing code to allow query of external data and to process the search data itself
+25-Mar-2008 Matthias Gallas
+#	Fixed missing <body> tag in Admin Interface (ticket #572)
+24-Mar-2008 Matthias Gallas
+!	Updated Danish Language file (Thanks to Achrist)
+! 	Added class nixhier to frontend.css from form and news Modul (required for ASP)
+24-Mar-2008 Thomas Hornik
++	Added RU-language-files, provided by user shlack; converted to entities.
+#	search: great speed-up with large pages - requires PHP >= 4.3.3; small speed-up for PHP < 4.3.3
+#	FCK-Editor: loads large pages faster
+-	removed include/captcha/asp.php. css have to be added to module's css-files.
+23-Mar-2008 Matthias Gallas
+! 	Updated form modul for valid output, removed all javascript (Big thanks to BerndJM)
+17-Mar-2008 Thomas Hornik
+#	fixed an issue with utf8_check() (too slow with many ~100KB pages)
+15-Mar-2008 Thomas Hornik
+#	menulink: link can be menulink or subpage of menulink, too
+#	call_captcha: added parameter 'style', fixed some issue with parameter 'image' and text-style captchas
+13-Mar-2008 Christian Sommer
+! 	adjusted error/warning templates to the updated backend layout
+13-Mar-2008 Matthias Gallas
+! 	replaced one icon in admin interface
+12-Mar-2008 Matthias Gallas
+# 	fixed loading time and some display issues in IE6 of the new admin interface
+!	tweaked the new admin interface a little bit
+12-Mar-2008 Christian Sommer
+! 	adjusted background color of installation and upgrade script
+! 	set version number to 2.7 (RC2) for the upcoming second release candidate
+! 	removed hardcoded /admin folder strings from WB core files where possible
+! 	added WB home folder fix proposed by the forum member spawnferkel (thanks)
+! 	defined <strong> and <em> instead of <b> and <i> as default tags
+12-Mar-2008 Thomas Hornik
++	CAPTCHA: added parameter to call_captcha (can be one of: 'image', 'input' or 'text')
+11-Mar-2008 Christian Sommer
+#	fixed issue with output filter (all .@ in descriptive mailto part: >xxxxx</a> were replaced; now restricted to emails)
+#	fixed issue with WYSIWYG pages (appears if backend language and page frontend language differs)
+08-Mar-2008 Thomas Hornik
+#	fixed issue with news and end-date
+04-Mar-2008 Christian Sommer
+#	fixed issue with smart view URL link
+03-Mar-2008 Thomas Hornik
+#	fixed an issue with text-captcha (default text got saved). Changes default text.
+#	fixed an issue with highlighting
+02-Mar-2008 Thomas Hornik
+#	added missing text in language-files
++	added missing sorting to language dropdown in admin/pages/settings.php
+01-Mar-2008 Thomas Hornik
+#	fixed ticket #562, applied changes from user tavitar with some own additions
++	added check for AddDefaultCharset to install
+29-Feb-2008 Thomas Hornik
+#	fixed issue in pagename generation if AddDefaultCharset is set (as work-around).
+28-Feb-2008 Thomas Hornik
+#	fixed hebrew transliteration-table. Thanks to forum-member iti.
+28-Feb-2008	Christian Sommer
+#	added bugfix from the forum member tavitar to fix an issue with multiple groups (module permission do not add up properly)
+25-Feb-2008	Matthias Gallas
++	added missing Dutch language files for core modules
+24-Feb-2008 Thomas Hornik
+#	issue with menulink in upgrade-script. Fixed.
+23-Feb-2008 Christian Sommer
+!	suppressed warnings in initialize.php if constant already defined; modified upgrade script to make FCK the new default editor
+#	fixed bug in upgrade script (WBMailer setting)
+22-Feb-2008 Christian Sommer
+#	some layout changes on the upgrade-script, fixed error in precheck
+#	restricted database name and table prefix to "a-zA-Z0-9_" (avoid problems with non quoted table/field names)
+20-Feb-2008 Thomas Hornik
+!	added workaround for language sorting-problem
+20-Feb-2008	Christian Sommer
+!	added WYSIWYG DB update and missing WBMAILER settings to upgrade script (added some status messages)
+!	modified upgrade script and suppressed headers already send message (avoid issues with error reporting E_ALL)
+#	added the FCKEditor module PHP connector fix found by the forum member Luisehahne (thanks man)
+!	Updated upgrade script (added WB2.7 basic styles, pre-checks and disclaimer)
+19-Feb-2008	Matthias Gallas
+!	Updated upgrade script
+!	Changed language sorting from directory to name (needs additional to be escaped!)
++	added new languages to install script
+#	fixed some issues and typos in languagefiles
+18-Feb-2008 Thomas Hornik
++	Converted and added some old language-files (BG, CS, PL, RU)
+18-Feb-2008	Christian Sommer
+#	Fixed two broken links
+!	Modified news module to create a default index.php during installation (directory spoofing)
+17-Feb-2008	Matthias Gallas
+-	Removed colloquially german language files as the filename causes issues
+17-Feb-2008	Christian Sommer
+!	removed German Umlauts in some language file (PHP comments)
+#	fixed language bug (backend language switched to the pages language viewed in frontend)
+16-Feb-2008	Thomas Hornik
+!	updated upgrade-script (menulink)
+13-Feb-2008 Thomas Hornik
++	allow externl links in menulink-module
+#	fixed an highlighting-issue: highlighting a page with more than one sections mangled umlauts in the second to last section.
+10-Feb-2008 Matthias Gallas
+#	fixed some errors in standard german language file
++	added new colloquially german language file
+10-Feb-2008 Thomas Hornik
+#	CAPTCHA: Wrong text for calc_ttf-captcha. 
+10-Feb-2008 Christian Sommer
+#	fixed E_NOTICE warning with already defined module frontend constants
+-	removed all stuff other than page_content from the blank template
+!	adapted color for onmouseover effect
+!	added disclaimer to the upgrade-script as the script is not sufficiently tested yet
+!	made Website Header field in Settings visible per default
+!	modified all templates (display Website Header, use show_menu instead of page_menu)
+!	added highlighting of active input elements to all WB backend areas; changed some colors
+!	removed hover highlighting of input fields to avoid possible confusion
+!	added visualization of wrong/empty input fields
+#	fixed a bug with re-enter admin password
+09-Feb-2008 Christian Sommer
+!	modified some colors and CSS definitions of pages, media and section interface
+#	output_filter: fixed bug in regular expression (eats up characters in mailto links)
+#	output_filter: removed word boundary from mailto regex part
+#	fixed bug in menu_link module (IE 7 did not show the select boxes at all)
+#	fixed bug in user signup
+!	output_filter: added word boundary for the mailto regex part
+09-Feb-2008 Thomas Hornwik
+!	jsadmin: added latest changes from swen, fixes most (or all?) issues.
+08-Feb-2008 Matthias Gallas
++	added kewyword id to all new files
+08-Feb-2008 Christian Sommer
+-	Removed admin module mail_filter
++	Added revised version of the output filter module
+08-Feb-2008 Thomas Hornik
+!	module news: set focus on captcha-field if user have to re-enter captcha
+!	Changed maxlength of captcha-fields - don't tell the bots how many chars we want to have.
+-	Removed unused function is_access_denied() from search
+04-Feb-2008 Thomas Hornik
+!	email-addresses are excluded from search-results page.
+#	Fixed possible XSS in account/login.php and forgot-form.php
+04-Feb-2008 Christian Sommer
+#	allowed usage of tags in settings fields: website_header, website_footer
+03-Feb-2008 Thomas Hornik
+#	out-of-date default page isn't shown anymore, instead shows next public page.
+#	fck_wbmodules.php: foreign privates pages in dropdown, fixed.
+03-Feb-2008 Matthias Gallas
++	added kewyword id to all new files
+02-Feb-2008 Christian Sommer
+#	fixed wrong redirect in /admin/images
+02-Feb-2008 Thomas Hornik
+!	search shows email-addresses, even if email-filter is activated (on page with highlighting). Fixed.
++	Added missing text in languages files for jscalendar
+!	settings: pages-directory '/' will be converted to '' (empty string) on save.
+!	changed last remaining call to my_htmlspecialchars() to htmlspecialchars()
+#	fixed path in jscalendar-css
+01-Feb-2008 Christian Sommer
+#	Added default index.php to all folders (directory spoofing)
+01-Feb-2008 Thomas Hornik
+#	Added some missing add_slashes(), get_post_escaped(), and strip_tags() for $_POST, $_GET and $_REQUEST-data. Also for $_SERVER['PHP_SELF'].
+#	Fixed possible XSS-vulnerability in wb/search/search.php
+31-Jan-2008 Thomas Hornik
+!	Adjusted clock-red icon to match wb colors
+#	admin/pages: the parent dropdown-list in index.php and settings.php showed foreign private pages, too. Fixed.
++	Added multi-group to upgrade-script
+30-Jan-2008 Christian Sommer
+#	fixed bug with text Captcha (input was restricted to 10 chars.) and a small layout issue
+30-Jan-2008 Thomas Hornik
+#	registered pages didn't appear in menu. fixed.
+!	Updated upgrade-script. (Some upgrades still missing)
+29-Jan-2008 Thomas Hornik
+#	strtotime()'s behavior differ in PHP4 and PHP5.
+	Had to fix some issues in admin/pages/sections and module news.
+#	Security bugfix: Text file for text-captcha was world-readable. Moved to database.
+#	Text-captcha: empty line in text file, following a question, was accepted as answer. Fixed.
+28-Jan-2008 Matthias Gallas
+#	Replaced all special chars in language files with htmlentities or unicode
++	Added some missing lines in language files
++	Added missing keyword Id
+28-Jan-2008 Christian Sommer
+#	fixed issue with top bar icon alt tag
+!	added some more backend layout modifications
+!	corrected bug in NL.php language file
+!	added missing session cookie forgotten in Changeset 593
+!	added possibility to select the default backend language during installation process
+!	Re-introduced Changeset 593 (filename in pages/ from page_title instead of menu_title)
+#	Fixed some bugs in the Javascript Admin modul
+28-Jan-2008 Thomas Hornik
++	Allow a user-supplied From-Name in form-settings for email und success-email.
+!	changeset 627: menu_link and search/search.php needs some minor changes, too.
++	Added Text-CAPTCHA on request. The captcha-text will be stored in temp/.captcha_text.txt
+27-Jan-2008 Christian Sommer
+!	fixed CSS background color of the installer CSS
+!	replaced static text with variable text from language file
+!	introduced the WB 2.7 backend style developed by Michael Brinsteiner (escpro), thanks man
+!	added missing ID tags
+27-Jan-2008 Christian Sommer
+!	added missing ID tags
+!	added default language for users to avoid empty language fields
+27-Jan-2008 Matthias Gallas
++	added kewyword id to new file
+#	Fixed some spelling errors in german language file
+27-Jan-2008 Thomas Hornik
+!	Module form: user supplied input isn't lost on captcha-failure anymore.
+#	fixed 100%-cpu-load-event in CAPTCHA admin-tool.
++	Added Calc_ttf_image CAPTCHA.
+!	Changed captcha/captcha.php to use table-layout for CAPTCHA.
+!	Some minor changes in CAPTCHA-code.
+!	Added some text to CAPTCHA admin-tool.
+#	Module form: dropdown "success page" listed foreign private pages, too. Fixed.
++	Added preview-images for CAPTCHA.
+!	Improved security: CAPTCHAS can't be loaded from outside WB
+!	CAPTCHA ttf_image: added variant. Adjusted character-pool and one background for better readability.
+26-Jan-2008 Christian Sommer
+!	changed WYSIWYG content field from text to longtext (allows more than 65'534 characters) 
++	Added Javascript Admin module (developed by Stepan Riha, adapted for WB2.7 by Swen Uth)
+26-Jan-2008 Matthias Gallas
+#	fixed bug in Javascript Admin module
++	Added new language files
++	Added keywords to files where they are missing
+26-Jan-2008 Thomas Hornik
+!	fixed some issues with CAPTCHA and ASP. Adjusted baseline of '*' in supplyed fonts to meet
+	baseline of numbers. Added counter to ttf_image generation-loop. Removed now unneeded GD-lib verification.
+	Improved ASP in news-module.
++	module news: added publish_until field to control the visibility of a news-posting by date and time
+!	added strongly "condensed" fonts with many intersections for ttf-CAPTCHA as default fonts.
+	It should be very difficult for spam-bots to recognize intersected characters.
+25-Jan-2008 Christian Sommer
+!	removed changes introduced with changeset 593 (we need to think off if we want to implement that feature)
+25-Jan-2008 Thomas Hornik
++	Added new CAPTCHA. Adapted core: signup and modules: news and form.
++	Added Advanced Spam Protection (ASP) to core: signup and modules news and form.
+#	module news: it was possible to post comments to postings with commenting disabled
+	or to inactive postings. Fixed
+24-Jan-2008 Thomas Hornik
+!	Generate filename in pages/ from page_title instead of menu_title.
+24-Jan-2008 Christian Sommer
+#	fixed bug in Codepress integration (if codepress framework not installed)
++	added language support to all integrated modules (except for news and form module)
+#	fixed another E_NOTICE warning
+24-Jan-2008 Matthias Gallas
++	Added keywords to files where they are missing
+23-Jan-2008 Christian Sommer
++	Added German language file for WB 2.7
+22-Jan-2008 Christian Sommer
++	Added language support for the Admin tools (backup, reload, mail_filter)
+-	Removed all admin tool text outputs from global language file to module language files
+!	Introduced language support for the overview page of the Admin tools
++	Added function get_variable_content to allow extraction of variable content without including files
+!	Changed language support for Addons -> Moduls -> Details
+22-Jan-2008 Matthias Gallas
++	Added keywords to new mail filter files
+22-Jan-2008 Thomas Hornik
++	manage-sections: changed calendar-icon to clock-icon, added second icon to empty date-field.
+21-Jan-2008 Christian Sommer
+!	Removed the manage section icon from the page admin (sections managed by publish by date function) 
+#	Fixed bug with the edit module CSS file implementation (IE7, Opera)
+21-Jan-2008 Thomas Hornik
++	Unique session-identifier for each website baker installation. fixes #354
+20-Jan-2008 Christian Sommer
+#	fixed E_NOTICE-warning in save.php when input data was wrong
++	added the new admin tool email output filter which allows to transform
+	emails before displaying them on the frontend
+20-Jan-2008 Thomas Hornik
+!	upgrade-script.php: fixed mysql_error() handling
+!	upgrade-script.php: added code to update menu_links
+#	fixed a typo in upgrade-script.php
+!	updated admin/pages/sections.php to changed jscalendar-api from changeset 571
+!	module menu_link: after adding a menu_link, the anchor dropdown shows "#"; fixed 
+#	fixed E_NOTICE-warning in news-module (about SECTION_ID in comment.php)
+19-Jan-2008 Christian Sommer
+!	Reduced the success time out and set WYSIWSY background to white
+#	Fixed some errors in form module (only in conjunction with E_ALL)
+!	Added support to configure the mailer settings via the backend
+19-Jan-2008 Matthias Gallas
+#	Fixed bug in news modul with missing variable PAGE_DIRECTORY
++	Added keywords to new files
+19-Jan-2008 Thomas Hornik
+-	Module news: removed old calendar
++	Module news: adapted news to use the new include/jscalendar
++	added installation-instructions to include/jscalendar
+#	Module code: curly backets get deleted by pparse() from phplib. fixed
++	Module menu_link: added dropdown-listbox to select anchor
+!	upgrade-script: added code to convert old menu_links to new ones (partly)
+18-Jan-2008 Matthias Gallas
+!	Updated news modul with features from the advanced news modul
+!	Updated form modul with features from the advanced form modul
+#	Fixed hardcoded /pages issue in intro page feature
++	Added example .htaccess to parse .html files, fixed bug in changeset 555
+!	Revoked parts of changeset 547 and again introduced changeset 540
++	Added keywords to modules/fckeditor and all other new files
+18-Jan-2008 Thomas Hornik
+#	fixed two E_NOTICE-warnings in admin/pages/index.php
++	added new module-based search-function
++	added new publish-by-date code
+17-Jan-2008 Christian Sommer
+#	fixed bug in frontend login and multiple groups (only in conjunction with E_ALL)
+!	removed the PAGE_EXTENSION from frontend login
+17-Jan-2008 Matthias Gallas
+#	Reintroduced changes from changeset 520 and 540 wich where overwritten 
+	by changeset 546
+#	Revoked changeset 541 end removed all PAGE_EXTENSION variables and the related
+	option in WB settings as this function only works on Apache Servers
+	together with .htaccess and mod_rewrite
++	Added keywords to file menu_link/uninstall.php and new admintools files
+17-Jan-2008 Christian Sommer
+!	added the "users in multiple groups" feature (closes parts of ticket #546)
+16-Jan-2008 Thomas Hornik
+!	changed admin/pages/save.php to allow hidden config-elements in table search.
+!	changed module menu_link: added table mod_menu_link, fixed page-deleting-bug,
+	fixed odd behavior in case of menu_link as default-page.
+#	changing PHP-error-level within website baker does not work - fixed (fixed ticket 532)
+14-Jan-2008 Matthias Gallas
+#	Replaced hardcoded .php with the variable PAGE_EXTENSION for the use in pagenames.
+	(!!Attention!! To get extenions other than .php working additional fixes are necessary!)
+#	Replaced the variable PAGE_EXTENSION with hardcoded .php on all places where the
+	pathes points to WB Corefiles with the page extension .php
+#	Replaced hardcoded text in login.php with language variables (fixes ticket 386)
+14-Jan-2008 Christian Sommer
+!	added a missing </tr> tag
+#	re-introduced bugfix of Changeset 472 (fixes ticket 402) accidentally 
+	removed by Changeset 529 (enhanced pages admin)
+13-Jan-2008 Christian Sommer
+#	moved administration tools from Settings to the new section Admin-Tools
+#	this bugfix closes the ticket 529 (WB upgrades modules with identical version)	
+!	increased redirection time after success message, corrected HOME link of the login panel
+!	updated PHPMailer framework to version 2.0.0 (/include/phpmailer)
+#	this bugfix closes ticket 412 (direct call of admin/settings/save.php clears database)
+#	fixed error with redirection to admin panel after installation
+12-Jan-2008 Christian Sommer
+!	introduced smart URL detection for the 'View' menu in the WB backend
+	(if page_id is set, redirect to this page instead of the root)
+!	introduced the enhanced pages admin dialogue (thanks to icouto)
+11-Jan-2008 Christian Sommer
++	added the FCKEditor module files missing in Changeset 527 (/modules/fckeditor)
+-	removed the hmtlarea files in /modules/htmlarea
+!	set the fckeditor as the new default editor /install/save.php
+!	Updated function: register_frontend_modfiles in /framework/frontend.functions.php
+	(added constants MOD_FRONTEND_CSS_REGISTERED, MOD_FRONTEND_JAVASCRIPT_REGISTERED)
+11-Jan-2008 Matthias Gallas
+!	Update codepress to Version 0.9.6
+!	Update phplib to Version 7.4a
+09-Jan-2008 Matthias Gallas
+!	Upgrade pclzip to the newer more php5 complaint version 2.6, see ticket #526
+#	Fixed ticket #542 (Thanks to Thorn)
+23-Dec-2007 Matthias Gallas
+!	Changed all copyright notices to include now 2008
+21-Sep-2007 Matthias Gallas
+#	Fixed a typo in /framework/frontend.functions.php cause that websites using
+	the new register_frontend_modifles() functions do not validate
+24-Jan-2007 Christian Sommer
+!	Replaced some core files to allow configuration of wbmailer via admin settings panel
+------------------------------------- 2.6.7 -------------------------------------
+02-Jan-2007 Christian Sommer
++	Added missing converting file for changeset [504]
+------------------------------------- 2.6.6 -------------------------------------
+01-Jul-2007 Matthias Gallas
+#	Fixed converting issue with some ISO-charsets and speeded up converting on large pages (thanks to Thorn)
+01-Jul-2007 Ryan Djurovich
+#	Fixed bug where error message not displayed when script fails to create a page
+#	Fixed bugs introduced in [484]
+14-May-2007 Matthias Gallas
++	Added support for ISO-8859-6.(Thanks to thorn)
+12-May-2007 Christian Sommer
++	Replaced functions page_css and page_javascript by register_frontend_modfiles
++	Added function register_backend_modfiles to allow backend modules to use optional CSS and JS files
++	Added the JS framework codepress to allow syntax highlighting for JS, HTML, PHP code (textarea)
++	Added the new function register_frontend_modfiles to the built in templates
+08-May-2007 Matthias Gallas
++	Added wrapper to functions.php if mb_string is not available (Thanks to thorn)
++	Added new functions page_css and page_javascript to the built in templates
++	Added search highlight class to css files of the built in templates
+30-Apr-2007 Matthias Gallas
+#	Fixed ticket #392; root_parent not being set correctly (Thanks to eggsurplus)
+10-Apr-2007 Matthias Gallas
++	Optimized search and highlighting funktions (Thanks to thorn)
+03-Apr-2007 Matthias Gallas
+#	Fixed a bug in menulink; if you deleted a menulink page the linked page was also deleted
+	in the pages directory (Special thanks to "Funky_MF" for the fix)
+01-Apr-2007 Matthias Gallas
+#	Fixed issues with some languages when UTF8 is used. Removed all htmlentites
+	from the code (revoked changeset 396) and added new functions instead. Adapted the
+	search and the highlighting to use the new functions. With this changes WB can now
+	be used with charset UTF8 for all languages. Very special thanks to Thorn who wrote
+	and tested this changes.
+12-Mar-2007 Matthias Gallas
++	Added multilingual support to search
+03-Mar-2007 Matthias Gallas
++	Added new function for highlighting search results in the content area
+	(Special thanks to "thorn" and "Funky_MF")
+#	Fixed some issues in search with special chars
+	(Special thanks to "thorn" and "Funky_MF")
+22-Feb-2007 Christian Sommer
+#	Fixed bug in changeset 428 (page files were not deleted in /pages folder due to a typo in wb/framework/function.php)
+16-Feb-2007 Christian Sommer
+!	Suppressed PHP warnings and errors when reading empty intro.php
+16-Feb-2007 Christian Sommer
+#	Applied fix to enable parsing of PHP code in the intro.php 
+12-Feb-2007 Christian Sommer
+!	Added functions page_css and page_javascript which allow to include optional
+	module files module.css and module.js into the <head> section. This allows to 
+	create valid (X)HTML, as CSS definitions of modules are included in the head section
+12-Feb-2007 Christian Sommer
+!	Security enhancement (reduced number of login trials from 50 to 3)
+02-Feb-2007 Matthias Gallas
+#	Applied fix for ticket #380 (Thanks to pcwacht)
+30-Jan-2007 Ryan Djurovich
+#	Applied fix for ticket #376
+29-Jan-2007 Matthias Gallas
++	Added new variable $MODULE_DESCRIPTION wich allows to have optional a language
+	specific description of the modules in the language files of the modules.
+21-Jan-2007 Matthias Gallas
+#	Fixed issue in the search table entries of form modul
+13-Jan-2007 Matthias Gallas
+#	Fixed some bugs in rss.php
+07-Jan-2007 Matthias Gallas
+#	Fixed error when uninstalling the news modul
+02-Jan-2007 Matthias Gallas
++   Added id keywords to all missing files
+#	Fixed issue with Permissions for pages sections
+27-Dec-2006 Matthias Gallas
+#	Fixed form modul stores empty records
+------------------------------------- 2.6.5 -------------------------------------
+25-Dec-2006 Ryan Djurovich
+!	Changed links to WB help website
+24-Dec-2006 Matthias Gallas
+#	Fixed some minor javascript errors in admin (thanks to pcwacht)
+#	Fixed root_parent doesn't get updated when moving item in menu (#305)
+!	Changed all copyright notices to include now 2007
+23-Dec-2006 Matthias Gallas
+#	Fixed IE allows to set a page as parent of itself (#320)
+#	Fixed problem with Page Title has to be escaped (#287)
+#	Fixed the possibility to call the index.php of the templates directly in the browser (#291)
+21-Dec-2006 Matthias Gallas
+#	Fixed missing message when adding a site without page title (#300)
+21-Dec-2006 Ryan Djurovich
+#	Fixed bug with captcha script (#346)
+20-Dec-2006 Matthias Gallas
+#	Fixed Return to Search Results Page (#365)
+!	Set Version to 2.6.5
+-	Removed Changeset 365 because this will be a part of WB 2.7.x
+#	Fixed a little typo error in class.admin.php (#364)
+26-Nov-2006 Ryan Djurovich
++	Added new script that could possibly be apart of 2.7.x as a replacement
+	for having the pages directory 
+17-Nov-2006 Matthias Gallas
+#	Fixed fatal error in line 46 news/comment.php (thanks to eki)(#358)
+15-Nov-2006 Matthias Gallas
+#	Fixed again intropage doesn't work (#71)
+20-Oct-2006 Matthias Gallas
++	Added phpmailer class (thanks to doc)
++	Added Remember-expanded-pages-in-admin (thanks to ephraimt)
++	Added List sorting in admin area (thanks to rsmith)
+#	Fixed table width 100% are wrong displayed in container templates
+	when IE is used (#350)
+#	Fixed large space between menupoints in IE (#349)
+#	Fixed Website description is not displayed when no page description
+	available (#348)
+#	Fixed group images in news modul cannot be stored (#342)
+#	Fixed Typo in form/save_field.php (#341)
+#	Fixed files in /pages/posts folder are not deleted (#340)
+#	Fixed specialchars problem in the news modul (#339)
+#	Fixed news modul stores empty records (#338)
+#	Fixed Captcha didn't work in news comments (#337)
+#	Fixed various php notices (#334)
++	Added new upgrade_function (thanks to kozmoz)
+#	Fixed addons table isn't updated when a modul is updated (#332)
+#	Fixed spelling errors in the signup2.php (#330)
+#	Fixed MySQL 5.x missing default values for INT fields in all system
+	and modules tables (#329)
+#	Fixed installer does not insert admin user (#328)
++	Added support for getting page ID of page that referred search
+	request (#327) (thanks to brofield)
+#	Fixed search results generate invalid XHTML and notify warnings (#326)
+Stefan Braunewell
+#	Fixed Field 'last_reset' doesn't have a default value (#313)
++	Added get_post_escaped to wb class which automatically calls add_slashes
+	on get_post output and used it in form/save_field.php
+------------------------------------- 2.6.4 -------------------------------------
+20-May-2006 Ryan Djurovich
+#	Fixed security issues related to #237
+#	Fixed typo in news save comment page (#282)
+#	Fixed typo in news delete post page (#283)
+!	Added multi-submission protection to form module (#119)
+#	Added notice for when PHP Session Support appears to be disabled in installer,
+	even if it is enabled and the problem actually lies in the users browser (#154)
+19-May-2006 Ryan Djurovich
+#	Fixed problem in forgotten login form where email field is too short (#207)
+#	Fixed typo in forgotten login details email (#190)
+15-May-2006 Stefan Braunewell
+#	Fixed security issues (#237)
+03-May-2006 Stefan Braunewell
+#	Fixed problems with pre-2.6.0 modules in section list
+#	Fixed e-mail bug caused by From: headers in internal mail function calls
+	(#189)
+#	E-mail validation in install script now accepts new top-level domains
+	(#162)
+#	Error status is now overwritten by next database query (#182)
+#	Fixed obscure problem in htmlarea install script
+------------------------------------- 2.6.3 -------------------------------------
+19-Mar-2006 Stefan Braunewell
+#	Fixed ticket #146: problems removing groups from viewers list of a page
+16-Mar-2006 Stefan Braunewell
+!	Changed link target selection. Now self, top and new. (Ticket #145)
+#	Fixed ticket #143. Charset setting is now used in admin login and forgot
+	password pages.
+#	Some changes to the SQL code in the install script for improved 
+	compatibility with new MySQL versions
+#	Fixed ticket #134 - error on browsing media.
++	Improved backup module: new choice between full database or WB-related
+	backup.
+#	Fixed ticket #141 - admin now sees all folders in media
+#	Fixed e-mail sending problems due to additional parameter in mail call.
+#	Applied fix regarding ticket #138: new users now get deleted if
+	sending e-mail fails.
+#	Fixed ticket #137: Last Reset timer not reset in frontend forgotten 
+	password process
+#	Removed duplicate expression from modules/news/install.php which caused
+	problems in installation
+
+01-Mar-2006 Stefan Braunewell
+#	Fixed ticket #68 - Safari problem with displaying all parents.
+#	Fixed ticket #136 - mailing forgotten password in admin login screen leads 
+	to fatal error.
+!	Renamed tag [PROCESSTIME] to [PROCESS_TIME]
+------------------------------------- 2.6.2 -------------------------------------
+03-Feb-2006 Stefan Braunewell (very big special thanks to John and Alex)
+#	Fixed ticket #104 - commas in form field descriptions not allowed.
+#	Cookie REMEMBER_KEY wasn't cleared in account/logout 
+	and expiration date is now set to time in the past.
+#	Smart login not working.
+!	Changed mail calls to new function $wb->mail.
+#	Form: ticket 124 added captcha settings check 
+#	Ticket 118 added formfield type to check for email/text 
+#	Ticket 115 changed comparision /modules/form/view.php 
+#	Added correct timecheck in form submissions
+!	Changed captcha.php call to include timestamp
+!	Changed the e-mail validation code and added a mail function to class wb.
+!	Forgotten password: if sending of e-mail fails, restore old password.
+	Ticket #110
+!	Added more charset options. Ticket #102 - thanks to ruebenwurzel!
+!	Character encoding setting also affects admin backend.
+	Mentioned in ticket #102.
+!	Reintroduced page languages setting. If switched to off, page
+	languages are only used to determine the language file for the
+	universal texts. If on, displayed page and menu are affected by
+	the language session variable.
+#	Fixed bugs in show_breadcrumbs code and added parameter "depth"
+	to set the number of levels to be show.
+#	Fixed a bug where access settings of registered and private pages
+	were displayed incorrectly.
+#	Fixed captcha being cached.
+#	Added an exit call after every heading("Location:...")
+	redirector to prevent unwanted execution of code.
+#	Bug #122. Replaced empty field check by check that setting name is
+	not "wb_version".
+#	Replaced all remaining occurrences of '/media' by MEDIA_DIRECTORY - bug #108.
+#	Fixed bug #99 and two additional instances of typo 
+	catpcha instead of captcha.
+#	Fixed some typos
+#	Fixed some notices and warnings.
+#	Fixed bug #105 - back buttons in addon detail pages not editable.
+!	Replace 'admin' by 'wb' in all account pages. 
+!/#	Moved print_success and print_error code to class.wb.php.
+	Added correct parameters to these functions in account pages. 
+------------------------------------- 2.6.1 -------------------------------------
+12-Dec-2005 Ryan Djurovich
+#	Fixed security vulnerability in class.login.php
+#	Fixed typo in EN language file
+#	Fixed captcha problems (when feature is disabled) in form module and sign-up
+!	Added charset encoding to admin templates
+!	Added extra code to check for selection of addon upon uninstalling
+#	Fixed bugs in RSS news feeder
+#	Fixed bug with PAGE_DESCRIPTION not being set on any page
+------------------------------------- 2.6.0 -------------------------------------
+28-Nov-2005 Ryan Djurovich
++	Added default charset option to (advanced) settings
+#	Form module email fields now have email address validation
+#	Fixed spacing in form submissions
+27-Nov-2005 Ryan Djurovich
++	Added captcha verification to sign-up form
++	Added Captcha to News module
+24-Nov-2005 Stefan Braunewell
+!	Applied aportale's patch to use label instead of javascript toggle code
+20-Nov-2005 Ryan Djurovich
+!	News mod now hides read more link if no need for it (see ticket #56)
++	Added support for mailto: links in the menu link mod
+#	Added direct-access redirection on some files (see ticket #37)
++	Added extra characters to convert.php (see ticket #64)
+#	Fixed ticket #65 (last_reset check in account/forgot_form.php)
+29-Sep-2005 Ryan Djurovich
+!	Cleaned up form buttons in Settings
+!	Moved some options into Advanced Settings
+#	Semi-disabled "separate" page trash option
++	Created a backup module/tool for backing-up the database
+	(thanks to John (pcwacht) for the original code)
++	Created new "blank template", which can be used in case where you don't
+	want anything wrapping page-content.
+19-Sep-2005 Ryan Djurovich
++	Added _license field for all add-ons to specify a license
+!	Renamed _designed_for variables (for all addons) to _platform
++	Created addons table for faster internal referencing of installed addons
+!	Fixed some links, including the "Help" button in Admin
+#	Used nl2br to display body correctly when viewing form-submissions
+15-Sep-2005 Stefan Braunewell
++	Added table module with columns 'name','type' and 'directory' as an
+	index.
++	Added entry to settings table 'wb_version' which holds the version
+	number and can be utilized in future upgrade scripts.
+!	Added upgrade functionality also for templates and languages.
+#/!	Template/modules installation now respects paths.
+!	Moved updates from config.php to database.
+	Created initialize.php (required by config.php) to read settings.
+11-Sep-2005 Stefan Braunewell
+!	HTMLArea is now a module instead of a core component. Files moved
+	from "include" to "modules".
++	Implemented Installation of modules on top of an older version. This is 
+	done via checking $module_version. Instead of install.php, upgrade.php
+	is then called if it exists in the module package. 
+	For module developers: $module_version and $new_module_version are 
+	accessible in upgrade.php to find out what upgrade steps need to be taken.
+!	Changed column names in mod_news_posts from short,long to content_short,
+	content_long.
+09-Sep-2005 Stefan Braunewell
++	Added new advanced setting "Rename Files On Upload". File extensions can be
+	given so that respective files will have a ".txt" appended on media upload.
+#	Fixed "None found" message bug when user has no top level page edit
+	rights.
+#	Fixed missing parent option 'none' - ticket #12 - and a minor scope bug.
++	Added breadcrumbs code. Call using $wb->breadcrumbs().
++	Added utf-8 character encoding meta tag into all stock templates.
+#	Fixed bug when changing a page's parent
+!	Changed the way blocks are treated. Added new frontend class attribute
+	default_block_content that controls what is shown on pages such as
+	search, login, etc. (Ticket #16)
++	Added support for WYSIWYG editor modules (wysiwygmod)
++	When trying to access a registered page, user is automatically redirected
+	there on successful login.
+#	Fixed various issues with system search (mainly related to stripslashes()
+#	Removed stripslashes() in many places in the code. Added check for
+	magic_quotes_gpc to new wb class method add_slashes(). Now database contest
+	is independent of magic_quotes setting..
+05-Sep-2005 Stefan Braunewell
+#	Fixed bug concerning direct access of preferences page.
+#	Reworked page visibility and menu item visibility code (frontend login
+	problem).
+#	Pages in link list in htmlarea popup are now correctly ordered.
+#	Fixed bug where group with existing name can be added.
+04-Sep-2005 Ryan Djurovich
++	Added and RSS newsfeed script to the News module
+04-Sep-2005 Stefan Braunewell
+!	Rewrote menu function. Parameters are now given as attributes to frontend class.
+#	Fixed some occurrences of potential direct access path disclosure
+#	Added directory check to browse.php to prevent xss exploit by trusted users.
+!	Updated code to reflect move to Subversion repository system.
+27-Aug-2005 Stefan Braunewell
+#	Fixed bugs 4,5,6,8,9 in bug tracker
+!	Removed 'USER_LANGUAGE' and 'GET_LANGUAGE' constants.
+	A GET['lang'] now sets the session language variable.
+26-Aug-2005 Stefan Braunewell
+!	Moved redundant code into the new class functions. Created 
+	'compatibility.php' for backward compatibility with
+	modules and templates. Variables and functions can still be accessed
+	in the old way.
+!/+	Reorganized core frontend files, added new base class 'wb' from
+	which 'admin' and the new 'frontend' class inherit. Moved all frontend
+	function into new class. Completely rewrote core index.php.
+	Now all variables and functions that are available to templates and
+	modules are attributes and methods of the frontend and the wb classes
+------------------------------------- 2.5.2 -------------------------------------
+23-Jun-2005 Ryan Djurovich
+!	create_access_file now creates all parent directories if needed
+#	Fixed bug when moving page with subpages to another level
+#	Fixed bug when saving "Settings" (in Admin) on Windows/IIS
+#	Fixed bug where query was not setting error correctly in class.database.php
+22-Jun-2005 Ryan Djurovich
+#	Fixed bug where template permissions were not saved when a adding group
+21-Jun-2005 Ryan Djurovich
+#	Added htmlspecialchars for modifying WYSIWYG, news, etc. modules (Bug #78)
+#	Fixed language problems in some area's of Admin. (Bug #70)
+#	Added a space in website/page keywords (Bug #69)
+#	Fixed bugs on settings2.php (Bug #52)
+!	Links inserted with HTMLArea now use [wblink--PAGE_ID--] instead of raw URL
+13-Jun-2005 Ryan Djurovich
+#	Fixed bug (#88) with news module
+!	Title of Administration login page now taken from language file (Bug #72)
+#	Fixed redirection admin/home to admin/start on admin/index.php
+#	Fixed bug with forgotten password page in admin (Bug #81)
+25-Apr-2005 Ryan Djurovich
+#	Fixed numerous bugs with module uninstallation
+#	Fixed bug when uploading files in Administration -> Media
+!	Installer no-longer requires you to accept the GNU GPL
+------------------------------------- 2.5.1 -------------------------------------
+16-Apr-2005 Ryan Djurovich
+#	Fixed two bugs with account login/logout
+------------------------------------- 2.5.1 -------------------------------------
+15-Apr-2005 Ryan Djurovich
+#	Fixed bug where non-english characters can get used in page filenames. Many
+	measuers have been added (including a new file: wb/framework/convert.php),
+	to prevent any possible errors that can occur in page filenames.
+#	Fixed invalid meta tags in stock templates (meta tags were not closed)
+#	Removed lines 401, 402, and 425 of wb/index.php - not needed
+#	Fixed bug where search and account pages are shown in every block
+	that is in a template
+#	Fixed numerous bugs with media home directories feature
+10-Apr-2005 Ryan Djurovich
+#	Fixed bugs in account/login.php and logout.php where users
+	gets redirected to /pages
+------------------------------------- 2.5.0 -------------------------------------
+08-Apr-2005 Ryan Djurovich
+-	Removed section language feature
++	Added page language feature (replaces need for sections language feature)
+#	Fixed bug where pages using menu_link module can have the URL changed
+-	Page directory no longer stored in link field in pages table, it is now added
+	when the page_link function is called - this makes changing the pages
+	directory much easier and quicker
+!	Pages with visibility of "none" are now no longer directly accessable
++	Added new visibility setting "hidden", acts exactly like none did previously
+!	Template info file can now specify number of menu's available and relative names
+!	Template info file can now specify number of blocks's available and relative names
+------------------------------------- 2.4.3 -------------------------------------
+07-Apr-2005 Ryan Djurovich
+#	page_filename function has been rewritten using str_replace
+	function, which should be faster and will allow characters
+	from other languages into filenames
+!	Created new media_filename function, which is now used
+	by all media functions (create,upload,rename) to determine
+	which characters should be removed from a desired filename
++	New button in Administration page list to view specific page
+#	Updated the page_link function to now be compatible with menu link
+	module when setting pages directory to root
+#	Fixed bugs in search when using "Any Words" option
+#	Fixed bug with news module when pages directory set to root
+!	Changed URL of documentation website on Administration Start page
+------------------------------------- 2.4.2 -------------------------------------
+05-Apr-2005 Ryan Djurovich
+#	Fixed bug where file could be renamed to nothing in Media
+!	Optimised Media create folder, upload file, and rename functions
+#	Fixed bug where stripslashes not run on news post titles in admin
+05-Apr-2005 Stefan Braunewell
+#	Fixed bug concerning usage of the private_sql variable
+#	Fixed bug conerning sub-pages being displayed in menus incorrectly
+------------------------------------- 2.4.1 -------------------------------------
+04-Apr-2005 Ryan Djurovich
+!	Pages with visibility of "none" are again directly accessable
+#	Fixed bugs regarding renaming files and directories in Media section
+!	When home folders disabled, all folders now visible in Media section
+------------------------------------- 2.4.0 -------------------------------------
+03-Apr-2005 Ryan Djurovich
+-	Removed recently added visibility setting of "heading", and relative config vars
++	Added new "menu" field to pages table, and new setting "multiple menus"
+	which replaces the need for the menu headings feature
++	Added links to top of groups and users sections, linking to each other
+!	Change menu width in "Round" template to 170px (was 150px)
+#	Change page "are you sure" deletion message to mention that it will delete
+	all sub-pages as well
+#	Fixed many bugs with news module when viewing posts by group
+!	Pages with visibility of "none" are now no longer directly accessable
+02-Apr-2005 Ryan Djurovich
+-	Removed need to specify DB_URL when calling database class
+#	Stopped fields without a type specified from being shown in form mod
+#	Changed '/media' to MEDIA_DIRECTORY on HTMLArea popup windows
+	for insert link and insert image
++	Added setting which allows you to specify the default WYSIWYG style
++	Added "Server Email" option, to specify what is used in "From" field when
+	sending emails using the PHP mail function. Default is admins email address.
+#	Search now excludes pages which have a visibility of none or heading
+!	Pages are now given modified_when and modified_by when added
+01-Apr-2005 Ryan Djurovich
++	Added option to News module to specify how many posts should be listed
+	per page (by default it is set to unlimited, which functions like previous version)
+#	Added stripslashes when display page titles in search
++	Page descriptions and last updated date now shown in search by default
+30-Mar-2005 Ryan Djurovich
++	Added new feature for Media home folders, where a folder can be specified
+	for a specific user or group of users only
+!	Changed URL of Help button to http://www.websitebaker.org/docs/
++	Added new feature for "Page Trash" - two modes available: inline and separate
+!	When pages are deleted, all sub-pages are now deleted (instead of being moved
+	up a level)
+29-Mar-2005 Ryan Djurovich
+-	Removed Database Settings from Administration Settings (options will not be
+	available in 3.x, so trying to match interface with WB 3.x plans
+!	Changed the name of Path Settings to Filesystem Settings in Administration
+	Settings, and removed ability to change path/url options - matching interface
+	plans for WB 3.x
++	Added same options for OS and file permissions as installer to Settings
+!	Sessions now named with APP_NAME.'_session_id' (e.g. default is wb_session_id)
+28-Mar-2005 Ryan Djurovich
++	New functions available to templates to simplify creation of them. This aims
+	to "future-proof" templates for WB 3.x plans.
+!	Default templates updated to support some of the new functions
++	Added field to pages table "page_trail" which stores a list of the pages
+	parents. This field was needed by the new page_menu function
++	Added option for page visibility "heading" to enabled support for multiple
+	menu's. Also, this helps to "future-proof" templates for WB 3.x plans
++	Added option for page visibility "registered", which acts a little like
+	private, but is still shown in the menu (although users need to log in to view
+	the pages content)
++	Form module submissions now saved to database, and feature now added to
+	limit number of submissions per hour to prevent spamming
++	New field for Form module: email. Allows you to specify their email in
+	"from" field on module settings.
+#	Fixed bug when displaying comments in News module (WB Bug #14)
++	New "under contruction" message if no pages exist
+!	Cleaned-up wb/index.php
+27-Mar-2005 Ryan Djurovich
++	Created advanced mkdir and chmod functions
+#	Fixed bug in media where wrong file/folder is deleted
++	Complete overhall of installer - now only one step! It has been greatly
+	simplified in many ways, has much better validation, reports error much more
+	nicely, and automatically logs the user into the Administrations
++	Must now specify OS type - allows for customizable file permission settings
++	Sections can now have a language code assigned to them
++	Sections can now have a block name/id assigned to them
+!	Home section of Administration renamed to Start, to save confusion with saying
+	Homepage (because this term could either mean the main website or Home section
+	in	Administration). Also, this aims to unify the interface with WB 3.x plans
+!	Moved Users and Groups sections under Access section. This aims to unify the
+	interface with WB 3.x plans, which help to unclutter the menu
+!	Interface for Settings section has been imporved for usability purposes
+#	Fixed HTMLArea where no scrollbar for "insert link" and "insert image" dialogs
+	by placing media list inside an iframe
+#	Fixed stripslashes problem for viewing news comments
+!	Added code from Formesque module (an advanced version of the original Form
+	module, modified by Rudolph Lartey from www.carbonect.com), and made further
+	interface improvements for select box/checkbox group/radio group options.
+#	Possibly fixed bugs where an S appears before file and dir modes
+#	Fixed bug where users can be added with same emails (in Administration)
+-	Removed support for PEAR, as it was deemed an unnecessary addition which only
+	makes code more bulky, and removing it will decrease package size a lot
++	New "homepage redirect" option so first page is included and not redirected to
+#	Fixed text not being shown when module uninstalled
+!	Imporved interface for basic group permissions
+26-Mar-2005 Stefan Braunewell
+#	Fixed bug with front-end logins
+#	Fixed bug when saving intro page 
++	Added check on sign-up if e-mail exists (thanks to P. Melief)
+#	Fixed bugs concerning moving/deleting pages
+#	Fixed list of parents in page settings
+#	Fixed mkdir without mode parameter
+#	Added a check on install to ensure PHP 4.1.x compatibility (thanks to Wanderer)
++	Added support for PAGES_DIRECTORY set to root
++	Search form now supports quotes (thanks to Manafta)
+#	Fixed page section ordering
+#	News items are displayed with name of poster instead of "Unknown"
+#	Deletion confirmation popup window in media section now shows correct file name
+------------------------------------- 2.3.1 -------------------------------------
+03-Fed-2005 Ryan Djurovich
++	Now there is two types of "filesystem modes", one for directories and one
+	for files. Having different settings is very common for most servers, so
+	this addition should fix many problems people had with 2.3.0.
+-	Removed filesystem mode options from installation
+!	Removed duplicate text on installation step 3 for timezone
+!	All "access files" for the news module now stored in pages/posts instead
+	of a sub-dir relative to the page (this fixes many bugs)
+#	Fixed major bugs when deleting pages with sub-pages
+!	Removed the restrictions that prevent a user for changing a pages level
+#	Fixed bug with "toggle" plus/minus in IE for pages list
+#	Fixed some bugs where /pages was not replaced with PAGES_DIRECTORY constant
+------------------------------------- 2.3.0 -------------------------------------
+26-Jan-2005 Ryan Djurovich
+#	Fixed bug in framework/functions.php that made root parent always equal 8
+#	Added missing braces in lines 182 and 208 of admin/pages/settings2.php
+#	Fixed SQL-query on line 172, placing a / after $old_link
+#	Added eregi checks for PAGES_DIRECTORY on lines 140 and 150 of
+	admin/pages/settings2.php
+#	Added ordering cleaning to delete_post.php on line 53 for news module
+!	GMT option is selected for "Default Timezone" in the installer, instead
+	of the old "Please select" message (which had the same value as GMT)
+28-Jan-2005 Ryan Djurovich
+!	Ability to specify the chmod number when WB uploads files, etc.
+!	Modified file headers (copyright/license notice) so they now look almost the
+	same, independant of font. Also, it now covers copyright for 2005.
+30-Jan-2005 Ryan Djurovich
+#	Added code on wb/admin/pages/delete.php to remove sections from the sections
+	table when a page is deleted.
++	New 'Smart Login' prevents users from using external password managers,
+	and can be set to remember the users password using cookies.
+!	SourceForge CVS module now called websitebaker2 (instead of just
+	websitebaker). Also, all file versions have been reset.
+01-Fed-2005 Ryan Djurovich
+!	Added code to prevent from changing a pages level (it simply disables
+	the select box), to prevent many possible bugs.
+------------------------------------- 2.2.4 -------------------------------------
+23-Dec-2004 Ryan Djurovich
+!	Change 'EXACT_PHRASE' to 'EXACT_MATCH' on line 261 of wb/languages/EN.php
+#	Fixed multi-language support in search
++	Added more detailed options to list of PHP error reporting level's
+-	Removed ability to change language and PHP error reporting level
+	on installation to make things easier for newbie's
++	Ability to select custom spacer for page filename's
+!	Changed the way a language code is found on language installation
++	Added template permissions to groups
+#	Fixed bug when trying to change email from Preferences (admin and frontend)
+#	Fixed bug with auto-selection of "System Default" for Preferences
+!	News module now use's WYSIWYG for modifying news posts
++	Ability to specify both the pages and media target directories
+------------------------------------ 2.2.3-c ------------------------------------
+22-Dec-2004 Ryan Djurovich
+#	Fixed problem with DB password being reset if Settings saved in basic mode
+------------------------------------ 2.2.3-b ------------------------------------
+21-Dec-2004 Ryan Djurovich
+#	Fixed minor bug on admin templates section
+#	Fixed bug on rename.php and rename2.php in admin media section
+------------------------------------- 2.2.3 -------------------------------------
+20-Dec-2004 Ryan Djurovich
++	Added WB release version in Administration (top right corner)
+!	New option to prevent users from adding level 0 pages
+#	Fixed bug when deleting post's in News module
++	Added new field in pages table for "root" parent (level 0 parent), for
+	extra flexability in creating templates
+!	Round template now supports unlimited page levels
+------------------------------------- 2.2.2 -------------------------------------
+18-Dec-2004 Ryan Djurovich
++	New option under Search Settings for selecting custom template for search
++	New option when changing page settings to set the target
+#	Fixed error when saving a user after editing
+!	Users can now modify sub-page if they dont have permissions on the parent
+------------------------------------- 2.2.1 -------------------------------------
+15-Dec-2004 Ryan Djurovich
+#	Fixed bug when changing password on preferences form (front-end)
+#	Fixed bug when retrieving user details (administration)
+#	Added check to see if module, template, or language is in use when deleting
+#	Fixed up email that is sent to user from a submitted form
+#	Fixed major problem with module permissions which stopped it from working
+------------------------------------- 2.2.0 -------------------------------------
+14-Dec-2004 (Correct date[s] unkown) Ryan Djurovich
++	Multiple-level page support
++	Multiple section's for pages (including interface)
+!	Removed text created using two words on all areas
+	(e.g. {Intro} {PAGE} is now {INTRO_PAGE})
+	this is for better language support
++	Added Languages section
+!	Moved Templates and Modules under Add-ons section
+!	Changed name of "Default" template to "Round"
++	Added "All CSS" template
++	Added "Jump"
++	Added 
+!	Modified "Box" template to support multiple page levels
++	Added "Menu Link" module
++	Added "News" module
++	Added "Code" module
++	Added "Form" module
++	Added "Wrapper" module
+!	Changed name of "Normal Page" module to "WYSIWYG"
++	Created new admin wrapper script to ease module develpment
++	Media now automatically creates index.php file for every
+	sub-folder made (for security purposes)
+!	Change "Help" link in Administration menu so it now directs
+	to the the new Website Baker documentation website found at:
+	http://www.websitebaker.org/documentation
+!	Password is now required to change email in preferences
++	User can now select custom Language and Date & Time Formats
++	Added search functionality, with three different "methods":
+	1. Using all words  2. Using any words  3. Exact match
++	Added native MySQL database support
+=======
+Change Log
+===============================================================================
+Please note: This change log may not be accurate
+
+$Id$
+
+Legend:
++ = Added
+- = Removed
+# = Bugfix
+! = Update/Change
+
+------------------------------------- 2.8.1 -------------------------------------
+21-Sep-2009 Dietrrich Roland Pehlke
+!	Dutch tranlation(-s) for the captcha-control. [Ticket: #777] (Thanks to Argos)
+#	Missing code inside "framework/addon.precheck.php" (ticket #798).
+#	Changes inside "upgrade-script" to avoid "mysql_list_tables is deprecated" warnings (ticket #800).
+#	Add "global $admin" to the install.php of the droplets-module to avoid (variable isn't declared) warnings. (ticket #800).
+18-Sep-2009 Dietmar Woellbrink
+#   french translation updated for WB 2.8 (tks to Ploc)
+16-Sep-2009 Dietmar Woellbrink
+#	Fixed bug changed URL_HELP in class.admin.php to http://help.websitebaker.org/ (ticket #801).
+#	Fixed bug: inside the FCK-Editor wbmodul: missing 'OK' button when inserting WB link with Safari/Chrome (ticket #795).
+#	Fixed bug changed png fix and path to jquery-pngFix.js inside footer.htt for backend themes (ticket #786).
+#	Fixed bug: inside the FCK-Editor include.php: add $oFCKeditor->Width  = $width; (ticket #799).
+15-Sep-2009 Dietrich Roland Pehlke
+#	Fixed bug: group-restrictions and sections (ticket #791).
+#	Fixed bug inside the FCK-Editor wbmodul: displaying the correct page-tree by
+	adding "order by position"
+25-Aug-2009 Dietrich Roland Pehlke
+#	Fixed bug in upgrate-script. Constant 'DEFAULT_THEME' doesn't exists (ticket #784).
+25-Aug-2009 Ruud Eisinga
+#	Fixed bug in droplets. Multiple droplets with the same parameter did not extract the new parameter.
+	(problem introduced by code optimisations for WB2.8) 
+#	Fixed usage of the depriciated (PHP 5.3.0) split() function in class.wb. (ticket #772)
+#	Fixed notice ob_end_clean..failed to delete buffer. (ticket #779)
+22-Aug-2009 Ruud Eisinga
+# 	Changed the default searchform name in the installer. (ticket #775)
+#	Fixed the recursive redirect problem when a page is called with a wrong language parm (ticket #780)
+------------------------------------- 2.8.0 -------------------------------------
+14-Aug-2009 Matthias Gallas
+#	Fixed typo in dutch language file (Thanks to Argos)
+#	Changed FCKEditor to not show index.php files in browse media window (ticket #774)
+	(Thanks to BerndJM)
+12-Aug-2009 Matthias Gallas
+#	Fixed some display issues in all backend themes
+!	Again updated dutch language file (Thanks to Argos)
+#	Fixed missing language variable in form modul (Thanks to Argos)
++	Added missing images to argos_theme (forgotten in changeset [1117])
+11-Aug-2009 Matthias Gallas
+!	commentet out the droplets logo for a more similar backend design with
+	other admin tools
+!	Updated icons in argos_theme (Thanks to Argos)
+!	Updated Dutch language file (Thanks to Argos)
+!	Updated show_menu2 to version 4.9
+9-Aug-2009 Matthias Gallas
+#	Replaced function mime_content_type as the old one causes shell_exec warnings
+	on some servers (Thanks to Aldus)
+!	updated argos_theme to version 1.4 (Thanks to Argos)
+!	some code cleaning of admin/pages/sections.php
+#	Fixed possible xss injection in login/forgot/index.php
+#	Fixed bug in news modul introduced in changeset [1057]
+#	Added missing variables also to preferences.php. Forgot in Changeset [1112]
+8-Aug-2009 Matthias Gallas
+#	Added some missing variables to backend_themes (Thanks to Stefek)
+6-Aug-2009 Matthias Gallas
+!	Set Version to 2.8
+!	Updated upgrade_script to make use of the changed news settings
++	Added to show_menu2 the aOption 'SM2_HIDEPAGES'. If set all hidden pages are
+	hidden again (Thanks to DarkViper)
+#	Fixed again some bugs in news modul (ticket #756) (Thanks to Aldus and Luisehahne)
+#	Fixed bug that frontend.js, frontend.css and frontend_body.js are not used
+	from snippets (ticket #764) (Thanks to Luisehahne)
++	Added new function 'register_frontend_modfiles_body' to default templates
++	Added option to use a frontend_body.js in modules to include javascript from modules
+	in the body of the frontend (Thanks to Luisehahne)
+!	Updated Danish language Files (Thanks to Achrist)
+#	Fixed some display issues in argos_theme (Thanks to Argos)
+30-July-2009 Ruud Eisinga (Ruud)
+#	Fixed a bug in the /admin/media resizer parameters for dirs with whitespaces (thnx to tiesy)
+#	Fixed a bug in FCKeditor include.php. Now the editor can be used from other 
+	subdirectories than WB_PATH/modules/mymodule
+29-July 2009 Dietrich Roland Pehlke (Aldus)
+#	changes in framework/class.wb.php to avoid the "print->footer()" bug in the frontend,
+	as this function/method doesn't exists for the frontend.
+#	Changes inside index.php and save.php in settings to get rid of the situation
+	that a SMTP-Password could not contain an "<" char (right chars are craped),
+	and also "<" is not transformed into an entitie "&lt;". (Thanks to FrankH)
+#	Modify of "addon.precheck.inc.php" to get rid of the problematic that version_compare
+	could faild if words like "alpha", "beta" are inside a version-string. (missing in changelog 1100)
+28-July 2009 Matthias Gallas
+#	fixed some smaller issues in rss.php (Thanks to Kibmcz)
+27-July 2009 Matthias Gallas
++	Added German language file to droplets
++	Added modul_description to language files of droplets
++	Added Danish language files to modules (Thanks to Achrist)
+!	Updated Danish language file (Thanks to Achrist)
+#	Fixed improper spelling in language files (#754)
+#	Fixed bug introduced in changeset [1092]
+25-July 2009 Matthias Gallas
+#	fixed some language bugs in search.php (Thanks to Thorn)
+23-July 2009 Matthias Gallas
+#	fixed bug with missing filetype icon in media section of classic_theme (ticket #752)
+#	fixed bug with page not showing if 2 sections active (ticket #751) (Thanks to Pumpi)
+#	readded to phplib/template.inc $clear: whether to delete undefined vars or not
+	was already added in WB 2.7 but was deleted for unknown reasons (Thanks to FrankH)
+22-July 2009 Matthias Gallas
+!	set Version to RC2
+!	small modification on german language file (ticket #746)
+#	Fixed E_ALL&E_STRICT warning on PHP5 servers (Thanks to Aldus) 
+#	Fixed bug with home folders are viewable and writable from other users
+	(ticket #605 and #748) (Thanks to Aldus)
+20-July 2009 Matthias Gallas
+!	Moved backend.js back from <body> to <head>
++	Added possibility to add a backend_body.js to modules wich is then called in <body>
++	Readded admin/images folder to keep backward compatibility to old modules
+19-July 2009 Matthias Gallas
+#	Fixed display issue of jsadmin in backend themes (Thanks to Argos)
+18-July 2009 Matthias Gallas
+!	Updated german laguage file in argos_theme
++	Added multilnaguage support to media section of argos_theme (Thanks to Argos)
+#	Fixed smaller display issue in argos_theme (Thanks to Argos)
++	Added more meta tags to backend themes
+!	Updated Argos_theme (Thanks to Argos and Luisehahne)
+#	Again added some &amp; to news and form to get more valid output (Thanks to Luisehahne)
+#	Fixed wrong set </form> tag to get valid output (Thanks to Luisehahne)
+!	Replaced in some alt tags hardcoded signs with language variables (Thanks to argos)
+!	Updated Dutch language File (Thanks to argos)
+!	Updated French language File (Thanks to mylesk42)
+16-July 2009 Matthias Gallas
+#	Fixed E_ALL notice in news/view.php
+!	replaced in form and news delimiter "&amp;" with "&"
+	was introduced with changeset [1069] but didn't work on all servers
+#	Removed double </form> tags in pages/intro.php and wysiwyg/modify.php
+!	replaced all remaining mktime() with time(), except from third party scripts
+15-July 2009 Matthias Gallas
+!	changed in modules/admin.php and admin/pages/add.php mktime() to time()
+!	changed in wrapper modul modify.html to modify.htt
+#	Fixed some validiation bugs in core and different modules (Thanks to luisehahne)
+#	fixed display issue of jscalendar in news modul (Thanks to Aldus)
+!	changed modules/admin.php to also make use of backend theme templates
+!	changed in class_login.php mktime() to time()
+14-July 2009 Matthias Gallas
+#	Fixed bug with sections are only editable in new backend-themes if blocks are enabled
+	(Thanks to Luisehahne)
+#	Fixed some validiation bugs in news modul (ticket #742) (Thanks to Luisehahne)
+14-July 2009 Dietrich Roland Pehlke
+!	changes in frontend.functions.php, line 323: 'date' to 'gmdate' to avoid E_STRICT warnings.
+!	changes in wb-setup.php, line 50: 'date' to 'gmdate' to avoid E_STRICT warnings. See also #741.
+13-July 2009 Matthias Gallas
++	added changes from news/add.php to the upgrade-script.php
+13-July-2009 Ruud Eisinga
+#	admin / media / browse reported an error in E_STRICT mode.
+13-July 2009 Dietrich Roland Pehlke
+!	Change inside "date_formats.php" and "time_formats.php" mktime() within time()
+	to avoid warnings and strict messages. See #741. Minor cosmetic changes.
+#	News-Modul: add the unlink-routine for the ".news" folder inside uninstall.php
+	so the groupe-images are also unlink.
+!	News-Modul: add <tr><td> and </td></tr>-tags to the "none found" part in the view.php to 
+	get valid output inside a table.
+!	Change the setting of $display_image and $display_groupe to avoid the 
+	empty display roule problematic (<tr style="display: ">) for valid output.
+!	Add &gt;&gt; in "add.php" instead of >> to avoid invalid output.
+11-July-2009 Ruud Eisinga
+!	The news module post_title link made unclickable when there is no full post.
+11-July-2009 Matthias Gallas
++	Added changed news settings to upgrade-script
+09-July-2009 Ruud Eisinga
+!	Added a better option to hide the READ_MORE link in the news module. (ticket #739)
+09-July-2009 Matthias Gallas
+#	Fixed bug that backend.js is not loaded in backend themes (ticket #740)
+#	Fixed wrong path to unitpngfix.js and added missing script
+#	Fixed invalid output of page_sections Page in Backend (Thanks to Luisehahne)
+08-July-2009 Matthias Gallas
++	Added PageID and SectionID to all backend themes (Thanks to Luiseshahne)
+#	Fixed some display issues in all backend themes (Thanks to Luisehahne)
+!	Replaced wbmodules.gif in FCKEditor Plugins (Thanks to Stefek)
+08-July-2009 Dietrich Roland Pehlke
+!	Removed unused marker {USERS} inside the "groups.htt" of the wb-theme.
+!	admin -> users -> index.php
+!	admin -> groups -> index.php
+	Codechanges using blocks to avoid to generate the "switch"-link right-top,
+	if the user has no permission to edit the other one.
+!	wb_theme|classic_theme|argos_theme -> templates -> users.htt
+!	wb_theme|classic_theme|argos_theme -> templates -> groups.htt
+ 	Add block-comments
+!	admin -> addons -> index.php	codechanges
+!	admin -> access -> index.php	codechanges
+	Codechanges to get rid of the empty display(style) declaration "style='display: ;'",
+	and to avoid to generate (hidden) elements if the user isn't alowed to edit one.
+!	wb_theme|classic_theme|argos_theme -> templates -> addons.htt
+!	wb_theme|classic_theme|argos_theme -> templates -> access.htt
+	add block-comments
+#	Bugfix inside wb/admin/groups/get_permissions.php - replacing wrong "AND" within "OR" in line 64
+	if one checkbox of "user" or "group" is selected (like in line 178; advanced settings).
+07-July-2009 Matthias Gallas
+#	Fixed some minor bugs in argos_theme (Thanks to Argos)
+#	Fixed bugs in admin additons for argos_theme (Thanks to Argos)
+!	Updated Version Number in upgrade_script to 2.8RC1
+!	Updated FCKEditor Modul Version Number to 2.89
++	added in FCKEditor Advisory Relation to Links (thanks to Luisehahne)
+06-July-2009 Matthias Gallas
+!	Updated FCKEditor to Version 2.6.4.1 (ticket #738) (Thanks to doc)
+#	Fixed Backend-Themes to get more valide output (Thanks to Luisehahne)
++	Added argos_theme
++	Added new functions to admin dir (Thanks Argos and Ruud)
+!	Updated install and upgrade-script
+!	Adapted wb_theme and classic_theme to changed admin dir files
+04-July-2009 Dietrich Roland Pehlke
+!	FCK-Editor Modul: Droplet Select: change "page_list_block" to "droplets_list_block",
+	also "cmbPages" to "cmbDroplets" as we are listen droplets not pages.
+!	Remove unneeded empty lines and spaces/blanks;
+	minor cosmetic changes in the source to keep the string more readable.
+04-July-2009 Matthias Gallas
+!	Replaced droplet icon for FCKEditor Toolbar (thanks to Stefek)
+#	Fixed two bugs in droplets-plugin for FCKEditor (thanks to Aldus)
+!	Changed Template from FCKEditor plugin WBModules to .htt
++	Added Droplets plugin to FCKEditor (ticket #737) (Big Thanks to vizmotion)
+03-July-2009 Matthias Gallas
++	Fixed IE Bug in Wrapper modul (ticket #736)
+03-July-2009 Ruud Eisinga
+#	Fixed the wrong handling of htmlentities in Droplet parameter parsing
+02-July-2009 Matthias Gallas
++	Added missing fancy_progress.png
+01-July-2009 Matthias Gallas
+#	Fixed backend display issues in IE6 and IE7
+!	Set Version to WB2.8RC1
+!	Minor tweaks in pages_sections.htt
++	Added posibility to upload and unzip .zip packages to media section
+	(Thanks to BerndJM)
+!	Updated Browse Media Window in wb_theme now supports file icons, more file
+	informations and a new preview function (Thanks to BerndJM)
+29-June-2009 Matthias Gallas
+#	Replaced in FCKEdiotor folder all index.html with index.php (ticket #691)
+!	Update PHPMailer to version 2.0.4 (ticket #733)
+!	Update Editarea to version 0.8.1.1 (ticket #732)
+!	Update JQuery UI to version 1.7.2 (ticket #731)
+27-June-2009 Ruud Eisinga
+#	Fixed email encryption bug in output filter. Introduced by adding droplets.
+	(Thanks to Luisehahne)
+25-June-2009 Matthias Gallas
++	Added missing admin/settings/setting.js
+!	Changed name of classic theme from "classic" to "classic_theme"
++	Added output-filter warning to all language files
+#	Fixed admintool jsadmin to get XHTML valid output (Thanks to Luisehahne)
+#	Major fixes on backend to get XHTML valid output (Thanks to Luisehahne)
++	Added option to use also MYSQL_ASSOC and MYSQL_NUM with mysql_fetch_array
+	(Thanks to Luisehahne)
+#	Bugfix for Error-Level settings (Thanks to Luisehahne)
+23-June-2009 Matthias Gallas
+#	Moved styles from admin/pages/sections.php to sections.htt in backend themes
+	(Thanks to Luisehahne)
+!	Moved javascript files from admin/pages/index.php to external js files
+	(Thanks to Luisehahne)
+#	Major improovements and changes to all backend files to get more valide Code
+	output (Thanks to Luisehahne)
+22-June-2009 Matthias Gallas
+#	fixed wrong position id when adding a new page
+-	removed obsolete code/modify.html
+22-June-2009 Dietrich Roland Pehlke
+#	Changes on module "code": add the section_id to the name of the textarea,
+	to keep the functionality if you are using more than one code-section on a page.
+!	Moving the html-template inside a "htt" folder and rename the suffix to ".htt" to
+	keep it consitant to other modules. Minor cosmetic changes inside the code.
+22-June-2009 Ruud Eisinga
+#	Fixed a bug in Menu_link module that made childpages of the menu_link page 
+	not selectable. (thnx to Luisehahne)
+21-June-2009 Matthias Gallas
+#	Fixed small bug introduced in changeset [999]
+19-June-2009 Matthias Gallas
+#	Fixed bug that parent pages didn't inherit language settings to kind pages
+17-June-2009 Ruud Eisinga
+#	Bugfix in "droplets/upgrade.php" - wrong parameter order for adding fields.
+	also the query for "normal" upgrades had a typo.
+!	Added warning in output_filter that the function will be removed in 2.9
+17-June-2009 Dietrich Roland Pehlke
+#	Bugfix in "droplets/upgrade.php" - wrong tablename change to the correct one
++	Add upgrade-script to droplets
+!	Changes on upgrade-script to avoid droping droplet-modul-tables if the exists.
+!	calling "upgrate.php" or "install.php" instead of hard-coded lines to avoid
+	future conflicts by upgrading the modul
+15-June-2009 Matthias Gallas
++	Added install routine for droplets to the upgrade script
+#	Fixed bug in menu_link modul with wrong displayed pages tree (Thanks to thorn)
+#	Fixed small bug introduced in changeset [989]
++	Added missing id tags and copyright notices to droplets modul
+15-June-2009 Dietrich Roland Pehlke (aldus)
+#	Bugfix for ticket #725
++	Add "$wb->strip_slashes" again for backslashes are displayed in the output (view.php).
++	Add Droplets (Ruud)
++	modifications inside frontend.functions.php for backwart compatiblity (Ruud)
++	modifications inside the search to get the droplets seachable (Ruud)
+14-June-2009 Dietrich Roland Pehlke (aldus)
+#	Bugfixes for (ticket #728)
++	Add additional constant to "install/save.php" to avoid conflikts during
+	installation inside "/framework/initialize.php".
++	Add condition inside "/framework/initialize.php" to avoid conflikts
+	during installation; table "mod_captcha_control" doesn't exsits at runtime.
++	Add test for tables inside "install/save.php" if the user uncheck "install table" option.
++	Additional Errormessage if nessesary tables are not found (english).
+13-June-2009 Matthias Gallas
++	Added jQuery-insert.js and jQuery plugins (Thanks to Luisehahne)
+!	Moved images in lQuery plugins folder (Thanks to Luisehahne)
+#	fixed small german language issue in jscalendar (Thanks to Luisehahne)
+26-May-2009 Matthias Gallas
++	Added jQuery(1.3.2) and jQueryUI(1.7.1) to WB core (ticket #708)
+21-May-2009 Matthias Gallas
+#	Fixed some strange backend layout issues (ticket #722)
+09-May-2009 Matthias Gallas
++	Added index.php to all WB-Theme folders to prevent directory spoofing
+06-May-2009 Matthias Gallas
+!	Updated Norsk language File (Thanks to oeh)
+#	Fixed bug with not always included stylesheets in backend (ticket #717)
+27-Apr-2009 Matthias Gallas
+#	Fixed bug with missing option for admin-tools in advanced view of access
+	settings (ticket #714)
+#	Fixed bug with backup fails if a user has only permissions to admin-tools (ticket #715)
+#	Fixed bug with missing template object in groups and user settings(ticket #716)
+25-Apr-2009 Matthias Gallas
+!	Updated Dutch language files for modules (Thanks to LuckyLuke)
+23-Apr-2009 Matthias Gallas
+#	Fixed bug with dropdownlist in pages settings (ticket #713)
+20-Apr-2009 Matthias Gallas
+!	Update show_menu2 to version 4.8 (ticket #712)
+#	Fixed small error in Spain language file (ticket #711)
+18-Apr-2009 Matthias Gallas
+!	Updated Dutch language file (Thanks to Luckyluke)
+17-Apr-2009 Matthias Gallas
+#	Fixed MenuLink timeout with many large wysiwyg-pages (ticket #710)
+!	Updated again Norsk language File (Thanks to oeh)
+!	Updated Dutch language file (Thanks to Luckyluke)
+13-Apr-2009 Matthias Gallas
+#	Fixed minor dispay issue in upgrade script
+!	Updated Norsk language File (Thanks to oeh)
+!	Updated French language files (Thanks to Quinto and VotreEspace)
+!	Updated Danish language file (Thanks to Achrist)
+12-Apr-2009 Matthias Gallas
+#	Fixed not defined language variable in account/email.php (Thanks to BlackTiger)
+#	Fixed Typo in group_form.htt (ticket #705)
+01-Mar-2009 Christian Sommer
+!	Added disclaimer to upgrade-script.php	
+28-Feb-2009 Christian Sommer
+#	Removed hardcoded admin path from JSAdmin module (jsadmin/js/dragdrop.js)
+25-Feb-2009 Matthias Gallas
++	Added language support for template_description (affects templates and themes)
+#	fixed wrong path to images in news and form modul
+#	fixed manage section is showed twice (ticket #694)
+-	removed unneeded icons from wb_theme
+-	removed unneeded stylesheet.css from account dir
+#	renamed warning.htt to warning.html to fix display of sourcecode after invalid logins
++	added fixed error.htt also to classic theme
++	corrected info.php of news-modul
+24-Feb-2009 Dietrich Roland Pehlke
+!	Changes in warning.htt templates to get valid XHTL1.1 output - replace the center-tag with div
+#	add "AND section_id='$section_id'" to the delete-query to avoid conflicts if there are more
+	than one Form on one single page.
+#	Modify error.htt template in wb_theme for valid XHTML1.1 output - replace the center-tag with a div
+	and replace the br-tag with valid p-tags.
+22-Feb-2009 Matthias Gallas
++	added skinable Admin Interface
+21-Feb-2009 Christian Sommer
++	added update of search table missing in Changeset 941
+#	fixed wrong index in language array
+!	removed some comment lines (changes are tracked by SVN)
+20-Feb-2009 Dietrich Roland Pehlke (aldus)
+!	add additional tr and td tags to the text_no_results message to get valid XHMTL output
+19-Feb-2009 Christian Sommer
+!	addon overview to show advanced options after redirect from reload.php
+#	fixed bug if language folder contains none language files (XX.php) or sub folders
++	added option to invoke module upgrade.php/uninstall.php files from backend (for modules uploaded via FTP)
+18-Feb-2009 Dietrich Roland Pehlke (aldus)
+#	fixed: typos in the section_id inside the action-link 
+!	Remove test_trash and unused variables in query, added suggetions from #588
+#	Bugfix for form bug (ticket #688)
+17-Feb-2009 Christian Sommer
++	added option to invoke module install.php from backend (for modules uploaded via FTP)
+!	admin Add-on settings no hidden by default (can be set visible via advanced link)
+16-Feb-2009 Christian Sommer
+!	moved reload option of Add-ons to main Add-on section
+!	reworked logout to reset possible remember key in database when logging out
+15-Feb-2009 Christian Sommer
+#	fixed bug with smart login option (remember me) (ticket #689)
+#	special chars like &nbsp; are shown when editing Add-on CSS files (ticket #678)
+!	redirect time for function print_success can now be defined in Settings (ticket #603)
+-	removed reload admin tool
++	added possibility to reload Add-ons via the Add-on section
+14-Feb-2009 Christian Sommer
+!	added option to display current user name in backend template
+#	fixed wrong redirect path and added SVN Id
+13-Feb-2009 Christian Sommer
++	added option to perform pre-installation checks to test requirements of Add-Ons
+#	added error messages to installation process for Add-Ons with wrong file type
+08-Feb-2009 Christian Sommer
+#	fixed warning if database connection failed during installation process
+06-Feb-2009 Christian Sommer
+!	fixed some typos in German language file (thanks to freeSbee)
+!	added new captcha fonts and replaced old background images with the ones created by thorn
+05-Feb-2009 Christian Sommer
+!	mail text for register, signup and forgot mail now taken from WB language file (ticket #684)
+02-Feb-2009 Christian Sommer
+#	removed PHPMailer fix introduced with 2.0.3 to get SMTP working again (line 1041 in class.smtp.php)
+02-Feb-2009 Matthias Gallas
+#	Fixed bug wich causes that install of captcha-control may fail (ticket #682 thanks to thorn)
+01-Feb-2009 Matthias Gallas
+!	Update FCKEditor to version 2.6.4
+22-Jan-2009 Christian Sommer
+!	Added default target attribut to backend menu links
+21-Jan-2009 Matthias Gallas
+!	Copyright notices now includes 2009
+20-Jan-2009 Matthias Gallas
+#	fixed form-module select (multiple) doesn't work (ticket #681 Thanks to thorn)
+17-Jan-2009 Matthias Gallas
++	added French languages to modules
+!	changed handling of post_date in news modul (thanks to susigross)
++	added hour and minute support to default published_when field in news modul
+13-Jan-2009 Christian Sommer
+-	removed the obsolete Codepress framework from the include folder
++	added Javascript syntax highlighting framework EditArea as replacement for Codepress
+!	updated external PHPMailer class to latest version (v2.0.3)
+08-Jan-2009 Christian Sommer
+#	fixed error message in admin class if type array not defined
+05-Jan-2009 Dietrich Roland Pehlke
+#	Code-Snippets are no longer shown as type: unknown. 
++	Additional key in the languagefiles "$TEXT['CODE_SNIPPET']";
+#	fixed bug for the rss of news, see ticket #609
+04-Jan-2009 Matthias Gallas
+#	made news Modul multilingual, see ticket #676 (some additional translations are needed)
+03-Jan-2009 Matthias Gallas
+#	fixed bug in view.php of news module (ticket #676 Thanks to susigross)
+#	fixed another bug in view.php of news modul introduced in changeset [892]
+30-Dec-2008 Matthias Gallas
++	added default new language variables to all language files
+-	modul_uninstall: Removed undefined and unused constants (DB_FETCHMODE_ASSOC)
+!	modul_uninstall: added language variable $TEXT['FILE'] instead of "Datei"
+29-Dec-2008 Dietrich Roland Pehlke
++	add language support for the errormessages inside the uninstall.php files for modules
+	and templates.
+!	add new keys inside the german de.php language-file.
+-	removed my own debugging-code (was in 893 by mistake)
+!	Correct the last date in the changelog
+29-Dec-2008 Matthias Gallas
+!	set version to 2.8 BETA
+#	replaced in news modul special chars with entities to get valid output
+!	changed SESSION ID Separator from '&' to '&amp;' to get valid output 
+-	Removed the <p> tag around the news as it is added from the editor  
+28-Dec-2008 Dietrich Roland Pehlke (aldus)
++	ticket 610: add ip-address to the email-body in the form-modul.
++	ticket 607: include the frontend.css in the comment_page.php file of the news-module.
+#	File: admin/admintools/index.php - add "order by name" to the query to display the admintools in alphabetic order.
+#	File: admin/modules/uninstall.php - remove a db-query to a db-field that doesn't exists in wb 2.7 anymore 
+26-Dec-2008 Thomas Hornik
+#	fixed two issues with searchresult-highlighting: do not highlight in <pre>/<code>-tags, do not convert &lt; to &amp;lt; anymore. 
+13-Dec-2008 Christian Sommer
+!	changed mailer to not extract line break of alternative body text (thanks to freeSbee)
+28-Oct-2008 Christian Sommer
+!	updated output filter regex to exclude mail addresses contained in input fields
+27-Nov-2008 Thomas Hornik
+!	added redirect-type (301/302) to menu_link
+24-Nov-2008 Matthias Gallas
+!	updated upgrade-script.php to add sec_anchor field to settings table
+22-Nov-2008 Thomas Hornik
+!	search: replaced most of $string_ul_umlauts (from search_convert.php) through use of preg's u-switch.
+!	search: replaced strtr() by str_replace() (it's just faster). Changed &#39; to &#039;
+06-Nov-2008 Thomas Hornik
+#	Module code: curly backets get deleted by pparse() from phplib --> old fix in #569 wasn't that smart. Fixed.
+#	fixed some typos in DE language-file, added missing tab in search.php
+02-Nov-2008 Thomas Hornik
+!	news: added PAGE_SPACER to $page_title (creates e.g. title-32.php instead of title32.php)
+01-Nov-2008 Thomas Hornik
+!	improved ext_charset to work with latin1,cp1252,cp1251,latin2,hebrew,greek,latin5,latin7,utf8
++	added config for section anchor. ATTN: add "INSERT INTO TABLE_PREFIX.'settings' (name,value,extra) VALUES ('sec_anchor', 'wb_', '')" to upgrade-script.
+!	updated menulink and search to use configureable section-anchor
+29-Oct-2008 Thomas Hornik
+# News: total number of news wasn't calculated correctly
+!	Captcha: removed IFRAME for Calculation-as-text captcha
+-	removed useless init_utf8funcs()-function
++	search: added search_lang for use in search-form. Using DE, the search will search Ã¤=ae,... (alternate spelling of german umlauts)
+-	search: removed undocumented word-boundary search
+!	search: search_path is now anchored to the beginning of link ("link LIKE '$path%'" instead of "link LIKE '%$path%'")
++	search: added key 'ext_charset' to search-extension to query external databases
+25-Oct-2008 Christian Sommer
+!	updated basic templates according the template guidelines
+24-Oct-2008 Dietrich Roland Pehlke
+#	applied bugfix for ticket #608 (redeclaration of news module)
+23-Oct-2008 Dietrich Roland Pehlke
+!	modified module delete function to provide additional information when module is in use when trying to delete
+!	modified template delete function to provide additional information when template is in when trying to delete
+21-Oct-2008 Matthias Gallas
+#	fixed display issue in news modul
+!	updated show_menu2 to version 4.7
+18-Sep-2008 Thomas Hornik
++	Added captcha-reload
+16-Sep-2008 Thomas Hornik
+#	search: fixed windows-related regex issue
+19-Aug-2008 Matthias Gallas
+!	updated to latest FCKEditor version 2.6.3
+02-Aug-2008 Thomas Hornik
+#	fixed sorting order of search-results
+25-Jul-2008 Thomas Hornik
+#	fixed an issues related to search, changed one SQL inner join (to use USING instead of WHERE)
+!	added $database = new Database(); in front of output-filter
+05-Jul-2008 Thomas Hornik
+#	fixed MODI_DATE/PUBLISHED_DATE issue in news-module. Added PUBLISHED_TIME, removed PUBL_DATE,PUBL_TIME. Thanks to forum-member timorotha
+02-Jul-2008 Christian Sommer
+!	updated to latest FCKEditor version 2.6.2
+01-Jul-2008 Thomas Hornik
+#	page-names with doubled (or more) points can not be handled if php runs as cgi. Thanks to forum member hgi2001.
+29-June-2008 Christian Sommer
+!	applied additional mail check to forgot login form
+28-June-2008 Christian Sommer
+!	class and id attributes in mailto links are no longer ignored by the output filter
+22-Jun-2008 Thomas Hornik
+#	fixed issue with captcha (mt_rand() instead of rand())
+#	fixed bug in search (link to http://.../search/index.php performs a search with string 'unset')
+22-June-2008 Christian Sommer
+!	added output of block number to section admin if no block name is specified
+21-June-2008 Christian Sommer
++	added output of block names to modify pages dialogue if blocks are enabled
+!	updated show_menu2 to version 4.60 (to avoid disappearing menus)
+08-Jun-2008 Thomas Hornik
+#	hebrew-table in charsets-table.php was faultily imported - fixed. Thanks to forum-member iti.
+24-May-2008 Christian Sommer
+!	modified output filter routine to prevent errors if database entries do not exist
+04-May-2008 Thomas Hornik
+!	changed register_backend_modfile() to work with wysiwyg-module, too
+01-May-2008 Thomas Hornik
+#	fixed file-naming issue when old page-names (from before 2.7) contains "&"
+26-Apr-2008 Thomas Hornik
+#	class.admin.php deletes actual query-string while redirection. fixed.
+25-Apr-2008 Matthias Gallas
+#	fixed validiation bug in option fields of form modul
+------------------------------------- 2.7.0 -------------------------------------
+21-Apr-2008 Christian Sommer
+!	set version to 2.7
+#	fixed bug in the PL language file of the JS calendar
++	added some basic functions for module developers
+20-Apr-2008 Thomas Hornik
+#	fix: allow external urls for search-results
+17-Apr-2008 Thomas Hornik
+#	fixed jscalendar's language-files
+16-Apr-2008 Christian Sommer
+#	fixed possible clashes with intro page feature and WB core file /pages/index.php
+15-Apr-2008 Thomas Hornik
+!	revert back to pagename-creation from $page_menu, instead of $page_title
+15-Apr-2008 Christian Sommer
+#	fixed bug introduced with Changeset 826
+14-Apr-2008 Christian Sommer
++	added show_menu2() to pre-installed WB modules (many thanks to Brodie Thiesfield for this great menu function replacment)
+!	allowed tags for multi-lingual module descriptions
+14-Apr-2008 Thomas Hornik
+#	fixed issue with multigroups (level 0 page-creation)
+13-Apr-2008 Thomas Hornik
+!	ASP: off per default. CAPTCHA: removed unneeded $admin. Filename: just convert chars like quote, doublequote, < > & to empty string.
+#	fixed language-files
+10-Apr-2008 Christian Sommer
+!	fixed WB-Link Plugin to work with WB versions below 2.7 ($admin->page_is_visible() only available in WB 2.7)
+09-Apr-2008 Christian Sommer
+!	modified FCKEditor WB-Link Plugin to work also with WB versions below 2.7
+07-Apr-2008 Matthias Gallas
+#	fixed error in german laguage file
+07-Apr-2008 Christian Sommer
++	added the latest FCKEditor v2.60
+-	removed the outdated FCKEditor v2.51
+!	set version from 2.7 (RC3) to 2.7 (RC3a)
+07-Apr-2008 Thomas Hornik
+!	added missing group_id in INSERT-query
+!	removed PHP5 function stripos from installation script
+06-Apr-2008 Christian Sommer
+!	removed some obsolete language variables from news and form module (now defined in global WB language files)
+!	enlarged admin tool icon to match size 50x50px of the other icons
+05-Apr-2008 Matthias Gallas
+!	Moved language variables for edit module CSS from modules language files to core language files
++	Added norwegian translation (Thanks OEH)
+05-Apr-2008 Thomas Hornik
+!	some small fixes: group_id/groups_id-handling, safe_mode-query in install, better work-around for issue with phplib and code-module (removed {})
+#	fixed viewing_groups-handling in /admin/pages/add.php
+!	imported new russian translation from User shlack. Many Thanks
+05-Apr-2008 Christian Sommer
+!	added workaround for template parser class
+!	moved functions to edit module CSS files into the WB core to avoid duplication of code
+!	minor layout change
+!	allowed the character "-" to be used in database names
+04-Apr-2008 Thomas Hornik
+#	fixed: Language-redirect removed query-string from URL
+04-Apr-2008 Christian Sommer
+!	set WB version to 2.7 (RC3) for the next upcoming release candidate
+03-Apr-2008 Christian Sommer
+!	some code clean up in news/form module
+!	small adaption of the edit CSS function file css.functions.php
+!	updated edit module CSS functions to include backend.css into head if possible
+#	fixed bug in Javascript decryption routines of the Output-Filter module
+02-Apr-2008 Matthias Gallas
+#	fixed bug with registration of users are not added to signup group
+02-Apr-2008 Christian Sommer
+#	added handling of missing characters to mailto encryption routines
+!	some code clean-up in News module
+!	fixed some layout issues with Form module (combination with Output-filter)
+!	fixed layout issue with optional subject/body text of encrypted mailto links
+#	fixed bug in the mailto Javascript encryption code of the Output-Filter module
+01-Apr-2008 Christian Sommer
+!	removed typo in English language file
+!	added updated edit CSS functions to the News module
+!	added updated edit CSS functions to the Form module
+31-Mar-2008 Christian Sommer
+#	fixed bug in output filter (mailto links with HTML entities in optional part)
+29-Mar-2008 Christian Sommer
+!	added missing translation to Dutch language file (thanks Bramus)
+28-Mar-2008 Thomas Hornik
+!	Some cleanup in search.php
+!	WYSIWYG: changed field text to LONGTEXT, too.
+25-Mar-2008 Matthias Gallas
+!	Updated Dutch language file (Thanks to Bramus)
+26-Mar-2008 Tomas Hornik
+#	fixed E_NOTICE-message in admin/modules/details.php
+25-Mar-2008 Thomas Hornik
++	search: added search_time_limit in settings (mainly for sites with PHP < 4.3.3 and slow search)
++	search: added missing code to allow query of external data and to process the search data itself
+25-Mar-2008 Matthias Gallas
+#	Fixed missing <body> tag in Admin Interface (ticket #572)
+24-Mar-2008 Matthias Gallas
+!	Updated Danish Language file (Thanks to Achrist)
+! 	Added class nixhier to frontend.css from form and news Modul (required for ASP)
+24-Mar-2008 Thomas Hornik
++	Added RU-language-files, provided by user shlack; converted to entities.
+#	search: great speed-up with large pages - requires PHP >= 4.3.3; small speed-up for PHP < 4.3.3
+#	FCK-Editor: loads large pages faster
+-	removed include/captcha/asp.php. css have to be added to module's css-files.
+23-Mar-2008 Matthias Gallas
+! 	Updated form modul for valid output, removed all javascript (Big thanks to BerndJM)
+17-Mar-2008 Thomas Hornik
+#	fixed an issue with utf8_check() (too slow with many ~100KB pages)
+15-Mar-2008 Thomas Hornik
+#	menulink: link can be menulink or subpage of menulink, too
+#	call_captcha: added parameter 'style', fixed some issue with parameter 'image' and text-style captchas
+13-Mar-2008 Christian Sommer
+! 	adjusted error/warning templates to the updated backend layout
+13-Mar-2008 Matthias Gallas
+! 	replaced one icon in admin interface
+12-Mar-2008 Matthias Gallas
+# 	fixed loading time and some display issues in IE6 of the new admin interface
+!	tweaked the new admin interface a little bit
+12-Mar-2008 Christian Sommer
+! 	adjusted background color of installation and upgrade script
+! 	set version number to 2.7 (RC2) for the upcoming second release candidate
+! 	removed hardcoded /admin folder strings from WB core files where possible
+! 	added WB home folder fix proposed by the forum member spawnferkel (thanks)
+! 	defined <strong> and <em> instead of <b> and <i> as default tags
+12-Mar-2008 Thomas Hornik
++	CAPTCHA: added parameter to call_captcha (can be one of: 'image', 'input' or 'text')
+11-Mar-2008 Christian Sommer
+#	fixed issue with output filter (all .@ in descriptive mailto part: >xxxxx</a> were replaced; now restricted to emails)
+#	fixed issue with WYSIWYG pages (appears if backend language and page frontend language differs)
+08-Mar-2008 Thomas Hornik
+#	fixed issue with news and end-date
+04-Mar-2008 Christian Sommer
+#	fixed issue with smart view URL link
+03-Mar-2008 Thomas Hornik
+#	fixed an issue with text-captcha (default text got saved). Changes default text.
+#	fixed an issue with highlighting
+02-Mar-2008 Thomas Hornik
+#	added missing text in language-files
++	added missing sorting to language dropdown in admin/pages/settings.php
+01-Mar-2008 Thomas Hornik
+#	fixed ticket #562, applied changes from user tavitar with some own additions
++	added check for AddDefaultCharset to install
+29-Feb-2008 Thomas Hornik
+#	fixed issue in pagename generation if AddDefaultCharset is set (as work-around).
+28-Feb-2008 Thomas Hornik
+#	fixed hebrew transliteration-table. Thanks to forum-member iti.
+28-Feb-2008	Christian Sommer
+#	added bugfix from the forum member tavitar to fix an issue with multiple groups (module permission do not add up properly)
+25-Feb-2008	Matthias Gallas
++	added missing Dutch language files for core modules
+24-Feb-2008 Thomas Hornik
+#	issue with menulink in upgrade-script. Fixed.
+23-Feb-2008 Christian Sommer
+!	suppressed warnings in initialize.php if constant already defined; modified upgrade script to make FCK the new default editor
+#	fixed bug in upgrade script (WBMailer setting)
+22-Feb-2008 Christian Sommer
+#	some layout changes on the upgrade-script, fixed error in precheck
+#	restricted database name and table prefix to "a-zA-Z0-9_" (avoid problems with non quoted table/field names)
+20-Feb-2008 Thomas Hornik
+!	added workaround for language sorting-problem
+20-Feb-2008	Christian Sommer
+!	added WYSIWYG DB update and missing WBMAILER settings to upgrade script (added some status messages)
+!	modified upgrade script and suppressed headers already send message (avoid issues with error reporting E_ALL)
+#	added the FCKEditor module PHP connector fix found by the forum member Luisehahne (thanks man)
+!	Updated upgrade script (added WB2.7 basic styles, pre-checks and disclaimer)
+19-Feb-2008	Matthias Gallas
+!	Updated upgrade script
+!	Changed language sorting from directory to name (needs additional to be escaped!)
++	added new languages to install script
+#	fixed some issues and typos in languagefiles
+18-Feb-2008 Thomas Hornik
++	Converted and added some old language-files (BG, CS, PL, RU)
+18-Feb-2008	Christian Sommer
+#	Fixed two broken links
+!	Modified news module to create a default index.php during installation (directory spoofing)
+17-Feb-2008	Matthias Gallas
+-	Removed colloquially german language files as the filename causes issues
+17-Feb-2008	Christian Sommer
+!	removed German Umlauts in some language file (PHP comments)
+#	fixed language bug (backend language switched to the pages language viewed in frontend)
+16-Feb-2008	Thomas Hornik
+!	updated upgrade-script (menulink)
+13-Feb-2008 Thomas Hornik
++	allow externl links in menulink-module
+#	fixed an highlighting-issue: highlighting a page with more than one sections mangled umlauts in the second to last section.
+10-Feb-2008 Matthias Gallas
+#	fixed some errors in standard german language file
++	added new colloquially german language file
+10-Feb-2008 Thomas Hornik
+#	CAPTCHA: Wrong text for calc_ttf-captcha. 
+10-Feb-2008 Christian Sommer
+#	fixed E_NOTICE warning with already defined module frontend constants
+-	removed all stuff other than page_content from the blank template
+!	adapted color for onmouseover effect
+!	added disclaimer to the upgrade-script as the script is not sufficiently tested yet
+!	made Website Header field in Settings visible per default
+!	modified all templates (display Website Header, use show_menu instead of page_menu)
+!	added highlighting of active input elements to all WB backend areas; changed some colors
+!	removed hover highlighting of input fields to avoid possible confusion
+!	added visualization of wrong/empty input fields
+#	fixed a bug with re-enter admin password
+09-Feb-2008 Christian Sommer
+!	modified some colors and CSS definitions of pages, media and section interface
+#	output_filter: fixed bug in regular expression (eats up characters in mailto links)
+#	output_filter: removed word boundary from mailto regex part
+#	fixed bug in menu_link module (IE 7 did not show the select boxes at all)
+#	fixed bug in user signup
+!	output_filter: added word boundary for the mailto regex part
+09-Feb-2008 Thomas Hornwik
+!	jsadmin: added latest changes from swen, fixes most (or all?) issues.
+08-Feb-2008 Matthias Gallas
++	added kewyword id to all new files
+08-Feb-2008 Christian Sommer
+-	Removed admin module mail_filter
++	Added revised version of the output filter module
+08-Feb-2008 Thomas Hornik
+!	module news: set focus on captcha-field if user have to re-enter captcha
+!	Changed maxlength of captcha-fields - don't tell the bots how many chars we want to have.
+-	Removed unused function is_access_denied() from search
+04-Feb-2008 Thomas Hornik
+!	email-addresses are excluded from search-results page.
+#	Fixed possible XSS in account/login.php and forgot-form.php
+04-Feb-2008 Christian Sommer
+#	allowed usage of tags in settings fields: website_header, website_footer
+03-Feb-2008 Thomas Hornik
+#	out-of-date default page isn't shown anymore, instead shows next public page.
+#	fck_wbmodules.php: foreign privates pages in dropdown, fixed.
+03-Feb-2008 Matthias Gallas
++	added kewyword id to all new files
+02-Feb-2008 Christian Sommer
+#	fixed wrong redirect in /admin/images
+02-Feb-2008 Thomas Hornik
+!	search shows email-addresses, even if email-filter is activated (on page with highlighting). Fixed.
++	Added missing text in languages files for jscalendar
+!	settings: pages-directory '/' will be converted to '' (empty string) on save.
+!	changed last remaining call to my_htmlspecialchars() to htmlspecialchars()
+#	fixed path in jscalendar-css
+01-Feb-2008 Christian Sommer
+#	Added default index.php to all folders (directory spoofing)
+01-Feb-2008 Thomas Hornik
+#	Added some missing add_slashes(), get_post_escaped(), and strip_tags() for $_POST, $_GET and $_REQUEST-data. Also for $_SERVER['PHP_SELF'].
+#	Fixed possible XSS-vulnerability in wb/search/search.php
+31-Jan-2008 Thomas Hornik
+!	Adjusted clock-red icon to match wb colors
+#	admin/pages: the parent dropdown-list in index.php and settings.php showed foreign private pages, too. Fixed.
++	Added multi-group to upgrade-script
+30-Jan-2008 Christian Sommer
+#	fixed bug with text Captcha (input was restricted to 10 chars.) and a small layout issue
+30-Jan-2008 Thomas Hornik
+#	registered pages didn't appear in menu. fixed.
+!	Updated upgrade-script. (Some upgrades still missing)
+29-Jan-2008 Thomas Hornik
+#	strtotime()'s behavior differ in PHP4 and PHP5.
+	Had to fix some issues in admin/pages/sections and module news.
+#	Security bugfix: Text file for text-captcha was world-readable. Moved to database.
+#	Text-captcha: empty line in text file, following a question, was accepted as answer. Fixed.
+28-Jan-2008 Matthias Gallas
+#	Replaced all special chars in language files with htmlentities or unicode
++	Added some missing lines in language files
++	Added missing keyword Id
+28-Jan-2008 Christian Sommer
+#	fixed issue with top bar icon alt tag
+!	added some more backend layout modifications
+!	corrected bug in NL.php language file
+!	added missing session cookie forgotten in Changeset 593
+!	added possibility to select the default backend language during installation process
+!	Re-introduced Changeset 593 (filename in pages/ from page_title instead of menu_title)
+#	Fixed some bugs in the Javascript Admin modul
+28-Jan-2008 Thomas Hornik
++	Allow a user-supplied From-Name in form-settings for email und success-email.
+!	changeset 627: menu_link and search/search.php needs some minor changes, too.
++	Added Text-CAPTCHA on request. The captcha-text will be stored in temp/.captcha_text.txt
+27-Jan-2008 Christian Sommer
+!	fixed CSS background color of the installer CSS
+!	replaced static text with variable text from language file
+!	introduced the WB 2.7 backend style developed by Michael Brinsteiner (escpro), thanks man
+!	added missing ID tags
+27-Jan-2008 Christian Sommer
+!	added missing ID tags
+!	added default language for users to avoid empty language fields
+27-Jan-2008 Matthias Gallas
++	added kewyword id to new file
+#	Fixed some spelling errors in german language file
+27-Jan-2008 Thomas Hornik
+!	Module form: user supplied input isn't lost on captcha-failure anymore.
+#	fixed 100%-cpu-load-event in CAPTCHA admin-tool.
++	Added Calc_ttf_image CAPTCHA.
+!	Changed captcha/captcha.php to use table-layout for CAPTCHA.
+!	Some minor changes in CAPTCHA-code.
+!	Added some text to CAPTCHA admin-tool.
+#	Module form: dropdown "success page" listed foreign private pages, too. Fixed.
++	Added preview-images for CAPTCHA.
+!	Improved security: CAPTCHAS can't be loaded from outside WB
+!	CAPTCHA ttf_image: added variant. Adjusted character-pool and one background for better readability.
+26-Jan-2008 Christian Sommer
+!	changed WYSIWYG content field from text to longtext (allows more than 65'534 characters) 
++	Added Javascript Admin module (developed by Stepan Riha, adapted for WB2.7 by Swen Uth)
+26-Jan-2008 Matthias Gallas
+#	fixed bug in Javascript Admin module
++	Added new language files
++	Added keywords to files where they are missing
+26-Jan-2008 Thomas Hornik
+!	fixed some issues with CAPTCHA and ASP. Adjusted baseline of '*' in supplyed fonts to meet
+	baseline of numbers. Added counter to ttf_image generation-loop. Removed now unneeded GD-lib verification.
+	Improved ASP in news-module.
++	module news: added publish_until field to control the visibility of a news-posting by date and time
+!	added strongly "condensed" fonts with many intersections for ttf-CAPTCHA as default fonts.
+	It should be very difficult for spam-bots to recognize intersected characters.
+25-Jan-2008 Christian Sommer
+!	removed changes introduced with changeset 593 (we need to think off if we want to implement that feature)
+25-Jan-2008 Thomas Hornik
++	Added new CAPTCHA. Adapted core: signup and modules: news and form.
++	Added Advanced Spam Protection (ASP) to core: signup and modules news and form.
+#	module news: it was possible to post comments to postings with commenting disabled
+	or to inactive postings. Fixed
+24-Jan-2008 Thomas Hornik
+!	Generate filename in pages/ from page_title instead of menu_title.
+24-Jan-2008 Christian Sommer
+#	fixed bug in Codepress integration (if codepress framework not installed)
++	added language support to all integrated modules (except for news and form module)
+#	fixed another E_NOTICE warning
+24-Jan-2008 Matthias Gallas
++	Added keywords to files where they are missing
+23-Jan-2008 Christian Sommer
++	Added German language file for WB 2.7
+22-Jan-2008 Christian Sommer
++	Added language support for the Admin tools (backup, reload, mail_filter)
+-	Removed all admin tool text outputs from global language file to module language files
+!	Introduced language support for the overview page of the Admin tools
++	Added function get_variable_content to allow extraction of variable content without including files
+!	Changed language support for Addons -> Moduls -> Details
+22-Jan-2008 Matthias Gallas
++	Added keywords to new mail filter files
+22-Jan-2008 Thomas Hornik
++	manage-sections: changed calendar-icon to clock-icon, added second icon to empty date-field.
+21-Jan-2008 Christian Sommer
+!	Removed the manage section icon from the page admin (sections managed by publish by date function) 
+#	Fixed bug with the edit module CSS file implementation (IE7, Opera)
+21-Jan-2008 Thomas Hornik
++	Unique session-identifier for each website baker installation. fixes #354
+20-Jan-2008 Christian Sommer
+#	fixed E_NOTICE-warning in save.php when input data was wrong
++	added the new admin tool email output filter which allows to transform
+	emails before displaying them on the frontend
+20-Jan-2008 Thomas Hornik
+!	upgrade-script.php: fixed mysql_error() handling
+!	upgrade-script.php: added code to update menu_links
+#	fixed a typo in upgrade-script.php
+!	updated admin/pages/sections.php to changed jscalendar-api from changeset 571
+!	module menu_link: after adding a menu_link, the anchor dropdown shows "#"; fixed 
+#	fixed E_NOTICE-warning in news-module (about SECTION_ID in comment.php)
+19-Jan-2008 Christian Sommer
+!	Reduced the success time out and set WYSIWSY background to white
+#	Fixed some errors in form module (only in conjunction with E_ALL)
+!	Added support to configure the mailer settings via the backend
+19-Jan-2008 Matthias Gallas
+#	Fixed bug in news modul with missing variable PAGE_DIRECTORY
++	Added keywords to new files
+19-Jan-2008 Thomas Hornik
+-	Module news: removed old calendar
++	Module news: adapted news to use the new include/jscalendar
++	added installation-instructions to include/jscalendar
+#	Module code: curly backets get deleted by pparse() from phplib. fixed
++	Module menu_link: added dropdown-listbox to select anchor
+!	upgrade-script: added code to convert old menu_links to new ones (partly)
+18-Jan-2008 Matthias Gallas
+!	Updated news modul with features from the advanced news modul
+!	Updated form modul with features from the advanced form modul
+#	Fixed hardcoded /pages issue in intro page feature
++	Added example .htaccess to parse .html files, fixed bug in changeset 555
+!	Revoked parts of changeset 547 and again introduced changeset 540
++	Added keywords to modules/fckeditor and all other new files
+18-Jan-2008 Thomas Hornik
+#	fixed two E_NOTICE-warnings in admin/pages/index.php
++	added new module-based search-function
++	added new publish-by-date code
+17-Jan-2008 Christian Sommer
+#	fixed bug in frontend login and multiple groups (only in conjunction with E_ALL)
+!	removed the PAGE_EXTENSION from frontend login
+17-Jan-2008 Matthias Gallas
+#	Reintroduced changes from changeset 520 and 540 wich where overwritten 
+	by changeset 546
+#	Revoked changeset 541 end removed all PAGE_EXTENSION variables and the related
+	option in WB settings as this function only works on Apache Servers
+	together with .htaccess and mod_rewrite
++	Added keywords to file menu_link/uninstall.php and new admintools files
+17-Jan-2008 Christian Sommer
+!	added the "users in multiple groups" feature (closes parts of ticket #546)
+16-Jan-2008 Thomas Hornik
+!	changed admin/pages/save.php to allow hidden config-elements in table search.
+!	changed module menu_link: added table mod_menu_link, fixed page-deleting-bug,
+	fixed odd behavior in case of menu_link as default-page.
+#	changing PHP-error-level within website baker does not work - fixed (fixed ticket 532)
+14-Jan-2008 Matthias Gallas
+#	Replaced hardcoded .php with the variable PAGE_EXTENSION for the use in pagenames.
+	(!!Attention!! To get extenions other than .php working additional fixes are necessary!)
+#	Replaced the variable PAGE_EXTENSION with hardcoded .php on all places where the
+	pathes points to WB Corefiles with the page extension .php
+#	Replaced hardcoded text in login.php with language variables (fixes ticket 386)
+14-Jan-2008 Christian Sommer
+!	added a missing </tr> tag
+#	re-introduced bugfix of Changeset 472 (fixes ticket 402) accidentally 
+	removed by Changeset 529 (enhanced pages admin)
+13-Jan-2008 Christian Sommer
+#	moved administration tools from Settings to the new section Admin-Tools
+#	this bugfix closes the ticket 529 (WB upgrades modules with identical version)	
+!	increased redirection time after success message, corrected HOME link of the login panel
+!	updated PHPMailer framework to version 2.0.0 (/include/phpmailer)
+#	this bugfix closes ticket 412 (direct call of admin/settings/save.php clears database)
+#	fixed error with redirection to admin panel after installation
+12-Jan-2008 Christian Sommer
+!	introduced smart URL detection for the 'View' menu in the WB backend
+	(if page_id is set, redirect to this page instead of the root)
+!	introduced the enhanced pages admin dialogue (thanks to icouto)
+11-Jan-2008 Christian Sommer
++	added the FCKEditor module files missing in Changeset 527 (/modules/fckeditor)
+-	removed the hmtlarea files in /modules/htmlarea
+!	set the fckeditor as the new default editor /install/save.php
+!	Updated function: register_frontend_modfiles in /framework/frontend.functions.php
+	(added constants MOD_FRONTEND_CSS_REGISTERED, MOD_FRONTEND_JAVASCRIPT_REGISTERED)
+11-Jan-2008 Matthias Gallas
+!	Update codepress to Version 0.9.6
+!	Update phplib to Version 7.4a
+09-Jan-2008 Matthias Gallas
+!	Upgrade pclzip to the newer more php5 complaint version 2.6, see ticket #526
+#	Fixed ticket #542 (Thanks to Thorn)
+23-Dec-2007 Matthias Gallas
+!	Changed all copyright notices to include now 2008
+21-Sep-2007 Matthias Gallas
+#	Fixed a typo in /framework/frontend.functions.php cause that websites using
+	the new register_frontend_modifles() functions do not validate
+24-Jan-2007 Christian Sommer
+!	Replaced some core files to allow configuration of wbmailer via admin settings panel
+------------------------------------- 2.6.7 -------------------------------------
+02-Jan-2007 Christian Sommer
++	Added missing converting file for changeset [504]
+------------------------------------- 2.6.6 -------------------------------------
+01-Jul-2007 Matthias Gallas
+#	Fixed converting issue with some ISO-charsets and speeded up converting on large pages (thanks to Thorn)
+01-Jul-2007 Ryan Djurovich
+#	Fixed bug where error message not displayed when script fails to create a page
+#	Fixed bugs introduced in [484]
+14-May-2007 Matthias Gallas
++	Added support for ISO-8859-6.(Thanks to thorn)
+12-May-2007 Christian Sommer
++	Replaced functions page_css and page_javascript by register_frontend_modfiles
++	Added function register_backend_modfiles to allow backend modules to use optional CSS and JS files
++	Added the JS framework codepress to allow syntax highlighting for JS, HTML, PHP code (textarea)
++	Added the new function register_frontend_modfiles to the built in templates
+08-May-2007 Matthias Gallas
++	Added wrapper to functions.php if mb_string is not available (Thanks to thorn)
++	Added new functions page_css and page_javascript to the built in templates
++	Added search highlight class to css files of the built in templates
+30-Apr-2007 Matthias Gallas
+#	Fixed ticket #392; root_parent not being set correctly (Thanks to eggsurplus)
+10-Apr-2007 Matthias Gallas
++	Optimized search and highlighting funktions (Thanks to thorn)
+03-Apr-2007 Matthias Gallas
+#	Fixed a bug in menulink; if you deleted a menulink page the linked page was also deleted
+	in the pages directory (Special thanks to "Funky_MF" for the fix)
+01-Apr-2007 Matthias Gallas
+#	Fixed issues with some languages when UTF8 is used. Removed all htmlentites
+	from the code (revoked changeset 396) and added new functions instead. Adapted the
+	search and the highlighting to use the new functions. With this changes WB can now
+	be used with charset UTF8 for all languages. Very special thanks to Thorn who wrote
+	and tested this changes.
+12-Mar-2007 Matthias Gallas
++	Added multilingual support to search
+03-Mar-2007 Matthias Gallas
++	Added new function for highlighting search results in the content area
+	(Special thanks to "thorn" and "Funky_MF")
+#	Fixed some issues in search with special chars
+	(Special thanks to "thorn" and "Funky_MF")
+22-Feb-2007 Christian Sommer
+#	Fixed bug in changeset 428 (page files were not deleted in /pages folder due to a typo in wb/framework/function.php)
+16-Feb-2007 Christian Sommer
+!	Suppressed PHP warnings and errors when reading empty intro.php
+16-Feb-2007 Christian Sommer
+#	Applied fix to enable parsing of PHP code in the intro.php 
+12-Feb-2007 Christian Sommer
+!	Added functions page_css and page_javascript which allow to include optional
+	module files module.css and module.js into the <head> section. This allows to 
+	create valid (X)HTML, as CSS definitions of modules are included in the head section
+12-Feb-2007 Christian Sommer
+!	Security enhancement (reduced number of login trials from 50 to 3)
+02-Feb-2007 Matthias Gallas
+#	Applied fix for ticket #380 (Thanks to pcwacht)
+30-Jan-2007 Ryan Djurovich
+#	Applied fix for ticket #376
+29-Jan-2007 Matthias Gallas
++	Added new variable $MODULE_DESCRIPTION wich allows to have optional a language
+	specific description of the modules in the language files of the modules.
+21-Jan-2007 Matthias Gallas
+#	Fixed issue in the search table entries of form modul
+13-Jan-2007 Matthias Gallas
+#	Fixed some bugs in rss.php
+07-Jan-2007 Matthias Gallas
+#	Fixed error when uninstalling the news modul
+02-Jan-2007 Matthias Gallas
++   Added id keywords to all missing files
+#	Fixed issue with Permissions for pages sections
+27-Dec-2006 Matthias Gallas
+#	Fixed form modul stores empty records
+------------------------------------- 2.6.5 -------------------------------------
+25-Dec-2006 Ryan Djurovich
+!	Changed links to WB help website
+24-Dec-2006 Matthias Gallas
+#	Fixed some minor javascript errors in admin (thanks to pcwacht)
+#	Fixed root_parent doesn't get updated when moving item in menu (#305)
+!	Changed all copyright notices to include now 2007
+23-Dec-2006 Matthias Gallas
+#	Fixed IE allows to set a page as parent of itself (#320)
+#	Fixed problem with Page Title has to be escaped (#287)
+#	Fixed the possibility to call the index.php of the templates directly in the browser (#291)
+21-Dec-2006 Matthias Gallas
+#	Fixed missing message when adding a site without page title (#300)
+21-Dec-2006 Ryan Djurovich
+#	Fixed bug with captcha script (#346)
+20-Dec-2006 Matthias Gallas
+#	Fixed Return to Search Results Page (#365)
+!	Set Version to 2.6.5
+-	Removed Changeset 365 because this will be a part of WB 2.7.x
+#	Fixed a little typo error in class.admin.php (#364)
+26-Nov-2006 Ryan Djurovich
++	Added new script that could possibly be apart of 2.7.x as a replacement
+	for having the pages directory 
+17-Nov-2006 Matthias Gallas
+#	Fixed fatal error in line 46 news/comment.php (thanks to eki)(#358)
+15-Nov-2006 Matthias Gallas
+#	Fixed again intropage doesn't work (#71)
+20-Oct-2006 Matthias Gallas
++	Added phpmailer class (thanks to doc)
++	Added Remember-expanded-pages-in-admin (thanks to ephraimt)
++	Added List sorting in admin area (thanks to rsmith)
+#	Fixed table width 100% are wrong displayed in container templates
+	when IE is used (#350)
+#	Fixed large space between menupoints in IE (#349)
+#	Fixed Website description is not displayed when no page description
+	available (#348)
+#	Fixed group images in news modul cannot be stored (#342)
+#	Fixed Typo in form/save_field.php (#341)
+#	Fixed files in /pages/posts folder are not deleted (#340)
+#	Fixed specialchars problem in the news modul (#339)
+#	Fixed news modul stores empty records (#338)
+#	Fixed Captcha didn't work in news comments (#337)
+#	Fixed various php notices (#334)
++	Added new upgrade_function (thanks to kozmoz)
+#	Fixed addons table isn't updated when a modul is updated (#332)
+#	Fixed spelling errors in the signup2.php (#330)
+#	Fixed MySQL 5.x missing default values for INT fields in all system
+	and modules tables (#329)
+#	Fixed installer does not insert admin user (#328)
++	Added support for getting page ID of page that referred search
+	request (#327) (thanks to brofield)
+#	Fixed search results generate invalid XHTML and notify warnings (#326)
+Stefan Braunewell
+#	Fixed Field 'last_reset' doesn't have a default value (#313)
++	Added get_post_escaped to wb class which automatically calls add_slashes
+	on get_post output and used it in form/save_field.php
+------------------------------------- 2.6.4 -------------------------------------
+20-May-2006 Ryan Djurovich
+#	Fixed security issues related to #237
+#	Fixed typo in news save comment page (#282)
+#	Fixed typo in news delete post page (#283)
+!	Added multi-submission protection to form module (#119)
+#	Added notice for when PHP Session Support appears to be disabled in installer,
+	even if it is enabled and the problem actually lies in the users browser (#154)
+19-May-2006 Ryan Djurovich
+#	Fixed problem in forgotten login form where email field is too short (#207)
+#	Fixed typo in forgotten login details email (#190)
+15-May-2006 Stefan Braunewell
+#	Fixed security issues (#237)
+03-May-2006 Stefan Braunewell
+#	Fixed problems with pre-2.6.0 modules in section list
+#	Fixed e-mail bug caused by From: headers in internal mail function calls
+	(#189)
+#	E-mail validation in install script now accepts new top-level domains
+	(#162)
+#	Error status is now overwritten by next database query (#182)
+#	Fixed obscure problem in htmlarea install script
+------------------------------------- 2.6.3 -------------------------------------
+19-Mar-2006 Stefan Braunewell
+#	Fixed ticket #146: problems removing groups from viewers list of a page
+16-Mar-2006 Stefan Braunewell
+!	Changed link target selection. Now self, top and new. (Ticket #145)
+#	Fixed ticket #143. Charset setting is now used in admin login and forgot
+	password pages.
+#	Some changes to the SQL code in the install script for improved 
+	compatibility with new MySQL versions
+#	Fixed ticket #134 - error on browsing media.
++	Improved backup module: new choice between full database or WB-related
+	backup.
+#	Fixed ticket #141 - admin now sees all folders in media
+#	Fixed e-mail sending problems due to additional parameter in mail call.
+#	Applied fix regarding ticket #138: new users now get deleted if
+	sending e-mail fails.
+#	Fixed ticket #137: Last Reset timer not reset in frontend forgotten 
+	password process
+#	Removed duplicate expression from modules/news/install.php which caused
+	problems in installation
+
+01-Mar-2006 Stefan Braunewell
+#	Fixed ticket #68 - Safari problem with displaying all parents.
+#	Fixed ticket #136 - mailing forgotten password in admin login screen leads 
+	to fatal error.
+!	Renamed tag [PROCESSTIME] to [PROCESS_TIME]
+------------------------------------- 2.6.2 -------------------------------------
+03-Feb-2006 Stefan Braunewell (very big special thanks to John and Alex)
+#	Fixed ticket #104 - commas in form field descriptions not allowed.
+#	Cookie REMEMBER_KEY wasn't cleared in account/logout 
+	and expiration date is now set to time in the past.
+#	Smart login not working.
+!	Changed mail calls to new function $wb->mail.
+#	Form: ticket 124 added captcha settings check 
+#	Ticket 118 added formfield type to check for email/text 
+#	Ticket 115 changed comparision /modules/form/view.php 
+#	Added correct timecheck in form submissions
+!	Changed captcha.php call to include timestamp
+!	Changed the e-mail validation code and added a mail function to class wb.
+!	Forgotten password: if sending of e-mail fails, restore old password.
+	Ticket #110
+!	Added more charset options. Ticket #102 - thanks to ruebenwurzel!
+!	Character encoding setting also affects admin backend.
+	Mentioned in ticket #102.
+!	Reintroduced page languages setting. If switched to off, page
+	languages are only used to determine the language file for the
+	universal texts. If on, displayed page and menu are affected by
+	the language session variable.
+#	Fixed bugs in show_breadcrumbs code and added parameter "depth"
+	to set the number of levels to be show.
+#	Fixed a bug where access settings of registered and private pages
+	were displayed incorrectly.
+#	Fixed captcha being cached.
+#	Added an exit call after every heading("Location:...")
+	redirector to prevent unwanted execution of code.
+#	Bug #122. Replaced empty field check by check that setting name is
+	not "wb_version".
+#	Replaced all remaining occurrences of '/media' by MEDIA_DIRECTORY - bug #108.
+#	Fixed bug #99 and two additional instances of typo 
+	catpcha instead of captcha.
+#	Fixed some typos
+#	Fixed some notices and warnings.
+#	Fixed bug #105 - back buttons in addon detail pages not editable.
+!	Replace 'admin' by 'wb' in all account pages. 
+!/#	Moved print_success and print_error code to class.wb.php.
+	Added correct parameters to these functions in account pages. 
+------------------------------------- 2.6.1 -------------------------------------
+12-Dec-2005 Ryan Djurovich
+#	Fixed security vulnerability in class.login.php
+#	Fixed typo in EN language file
+#	Fixed captcha problems (when feature is disabled) in form module and sign-up
+!	Added charset encoding to admin templates
+!	Added extra code to check for selection of addon upon uninstalling
+#	Fixed bugs in RSS news feeder
+#	Fixed bug with PAGE_DESCRIPTION not being set on any page
+------------------------------------- 2.6.0 -------------------------------------
+28-Nov-2005 Ryan Djurovich
++	Added default charset option to (advanced) settings
+#	Form module email fields now have email address validation
+#	Fixed spacing in form submissions
+27-Nov-2005 Ryan Djurovich
++	Added captcha verification to sign-up form
++	Added Captcha to News module
+24-Nov-2005 Stefan Braunewell
+!	Applied aportale's patch to use label instead of javascript toggle code
+20-Nov-2005 Ryan Djurovich
+!	News mod now hides read more link if no need for it (see ticket #56)
++	Added support for mailto: links in the menu link mod
+#	Added direct-access redirection on some files (see ticket #37)
++	Added extra characters to convert.php (see ticket #64)
+#	Fixed ticket #65 (last_reset check in account/forgot_form.php)
+29-Sep-2005 Ryan Djurovich
+!	Cleaned up form buttons in Settings
+!	Moved some options into Advanced Settings
+#	Semi-disabled "separate" page trash option
++	Created a backup module/tool for backing-up the database
+	(thanks to John (pcwacht) for the original code)
++	Created new "blank template", which can be used in case where you don't
+	want anything wrapping page-content.
+19-Sep-2005 Ryan Djurovich
++	Added _license field for all add-ons to specify a license
+!	Renamed _designed_for variables (for all addons) to _platform
++	Created addons table for faster internal referencing of installed addons
+!	Fixed some links, including the "Help" button in Admin
+#	Used nl2br to display body correctly when viewing form-submissions
+15-Sep-2005 Stefan Braunewell
++	Added table module with columns 'name','type' and 'directory' as an
+	index.
++	Added entry to settings table 'wb_version' which holds the version
+	number and can be utilized in future upgrade scripts.
+!	Added upgrade functionality also for templates and languages.
+#/!	Template/modules installation now respects paths.
+!	Moved updates from config.php to database.
+	Created initialize.php (required by config.php) to read settings.
+11-Sep-2005 Stefan Braunewell
+!	HTMLArea is now a module instead of a core component. Files moved
+	from "include" to "modules".
++	Implemented Installation of modules on top of an older version. This is 
+	done via checking $module_version. Instead of install.php, upgrade.php
+	is then called if it exists in the module package. 
+	For module developers: $module_version and $new_module_version are 
+	accessible in upgrade.php to find out what upgrade steps need to be taken.
+!	Changed column names in mod_news_posts from short,long to content_short,
+	content_long.
+09-Sep-2005 Stefan Braunewell
++	Added new advanced setting "Rename Files On Upload". File extensions can be
+	given so that respective files will have a ".txt" appended on media upload.
+#	Fixed "None found" message bug when user has no top level page edit
+	rights.
+#	Fixed missing parent option 'none' - ticket #12 - and a minor scope bug.
++	Added breadcrumbs code. Call using $wb->breadcrumbs().
++	Added utf-8 character encoding meta tag into all stock templates.
+#	Fixed bug when changing a page's parent
+!	Changed the way blocks are treated. Added new frontend class attribute
+	default_block_content that controls what is shown on pages such as
+	search, login, etc. (Ticket #16)
++	Added support for WYSIWYG editor modules (wysiwygmod)
++	When trying to access a registered page, user is automatically redirected
+	there on successful login.
+#	Fixed various issues with system search (mainly related to stripslashes()
+#	Removed stripslashes() in many places in the code. Added check for
+	magic_quotes_gpc to new wb class method add_slashes(). Now database contest
+	is independent of magic_quotes setting..
+05-Sep-2005 Stefan Braunewell
+#	Fixed bug concerning direct access of preferences page.
+#	Reworked page visibility and menu item visibility code (frontend login
+	problem).
+#	Pages in link list in htmlarea popup are now correctly ordered.
+#	Fixed bug where group with existing name can be added.
+04-Sep-2005 Ryan Djurovich
++	Added and RSS newsfeed script to the News module
+04-Sep-2005 Stefan Braunewell
+!	Rewrote menu function. Parameters are now given as attributes to frontend class.
+#	Fixed some occurrences of potential direct access path disclosure
+#	Added directory check to browse.php to prevent xss exploit by trusted users.
+!	Updated code to reflect move to Subversion repository system.
+27-Aug-2005 Stefan Braunewell
+#	Fixed bugs 4,5,6,8,9 in bug tracker
+!	Removed 'USER_LANGUAGE' and 'GET_LANGUAGE' constants.
+	A GET['lang'] now sets the session language variable.
+26-Aug-2005 Stefan Braunewell
+!	Moved redundant code into the new class functions. Created 
+	'compatibility.php' for backward compatibility with
+	modules and templates. Variables and functions can still be accessed
+	in the old way.
+!/+	Reorganized core frontend files, added new base class 'wb' from
+	which 'admin' and the new 'frontend' class inherit. Moved all frontend
+	function into new class. Completely rewrote core index.php.
+	Now all variables and functions that are available to templates and
+	modules are attributes and methods of the frontend and the wb classes
+------------------------------------- 2.5.2 -------------------------------------
+23-Jun-2005 Ryan Djurovich
+!	create_access_file now creates all parent directories if needed
+#	Fixed bug when moving page with subpages to another level
+#	Fixed bug when saving "Settings" (in Admin) on Windows/IIS
+#	Fixed bug where query was not setting error correctly in class.database.php
+22-Jun-2005 Ryan Djurovich
+#	Fixed bug where template permissions were not saved when a adding group
+21-Jun-2005 Ryan Djurovich
+#	Added htmlspecialchars for modifying WYSIWYG, news, etc. modules (Bug #78)
+#	Fixed language problems in some area's of Admin. (Bug #70)
+#	Added a space in website/page keywords (Bug #69)
+#	Fixed bugs on settings2.php (Bug #52)
+!	Links inserted with HTMLArea now use [wblink--PAGE_ID--] instead of raw URL
+13-Jun-2005 Ryan Djurovich
+#	Fixed bug (#88) with news module
+!	Title of Administration login page now taken from language file (Bug #72)
+#	Fixed redirection admin/home to admin/start on admin/index.php
+#	Fixed bug with forgotten password page in admin (Bug #81)
+25-Apr-2005 Ryan Djurovich
+#	Fixed numerous bugs with module uninstallation
+#	Fixed bug when uploading files in Administration -> Media
+!	Installer no-longer requires you to accept the GNU GPL
+------------------------------------- 2.5.1 -------------------------------------
+16-Apr-2005 Ryan Djurovich
+#	Fixed two bugs with account login/logout
+------------------------------------- 2.5.1 -------------------------------------
+15-Apr-2005 Ryan Djurovich
+#	Fixed bug where non-english characters can get used in page filenames. Many
+	measuers have been added (including a new file: wb/framework/convert.php),
+	to prevent any possible errors that can occur in page filenames.
+#	Fixed invalid meta tags in stock templates (meta tags were not closed)
+#	Removed lines 401, 402, and 425 of wb/index.php - not needed
+#	Fixed bug where search and account pages are shown in every block
+	that is in a template
+#	Fixed numerous bugs with media home directories feature
+10-Apr-2005 Ryan Djurovich
+#	Fixed bugs in account/login.php and logout.php where users
+	gets redirected to /pages
+------------------------------------- 2.5.0 -------------------------------------
+08-Apr-2005 Ryan Djurovich
+-	Removed section language feature
++	Added page language feature (replaces need for sections language feature)
+#	Fixed bug where pages using menu_link module can have the URL changed
+-	Page directory no longer stored in link field in pages table, it is now added
+	when the page_link function is called - this makes changing the pages
+	directory much easier and quicker
+!	Pages with visibility of "none" are now no longer directly accessable
++	Added new visibility setting "hidden", acts exactly like none did previously
+!	Template info file can now specify number of menu's available and relative names
+!	Template info file can now specify number of blocks's available and relative names
+------------------------------------- 2.4.3 -------------------------------------
+07-Apr-2005 Ryan Djurovich
+#	page_filename function has been rewritten using str_replace
+	function, which should be faster and will allow characters
+	from other languages into filenames
+!	Created new media_filename function, which is now used
+	by all media functions (create,upload,rename) to determine
+	which characters should be removed from a desired filename
++	New button in Administration page list to view specific page
+#	Updated the page_link function to now be compatible with menu link
+	module when setting pages directory to root
+#	Fixed bugs in search when using "Any Words" option
+#	Fixed bug with news module when pages directory set to root
+!	Changed URL of documentation website on Administration Start page
+------------------------------------- 2.4.2 -------------------------------------
+05-Apr-2005 Ryan Djurovich
+#	Fixed bug where file could be renamed to nothing in Media
+!	Optimised Media create folder, upload file, and rename functions
+#	Fixed bug where stripslashes not run on news post titles in admin
+05-Apr-2005 Stefan Braunewell
+#	Fixed bug concerning usage of the private_sql variable
+#	Fixed bug conerning sub-pages being displayed in menus incorrectly
+------------------------------------- 2.4.1 -------------------------------------
+04-Apr-2005 Ryan Djurovich
+!	Pages with visibility of "none" are again directly accessable
+#	Fixed bugs regarding renaming files and directories in Media section
+!	When home folders disabled, all folders now visible in Media section
+------------------------------------- 2.4.0 -------------------------------------
+03-Apr-2005 Ryan Djurovich
+-	Removed recently added visibility setting of "heading", and relative config vars
++	Added new "menu" field to pages table, and new setting "multiple menus"
+	which replaces the need for the menu headings feature
++	Added links to top of groups and users sections, linking to each other
+!	Change menu width in "Round" template to 170px (was 150px)
+#	Change page "are you sure" deletion message to mention that it will delete
+	all sub-pages as well
+#	Fixed many bugs with news module when viewing posts by group
+!	Pages with visibility of "none" are now no longer directly accessable
+02-Apr-2005 Ryan Djurovich
+-	Removed need to specify DB_URL when calling database class
+#	Stopped fields without a type specified from being shown in form mod
+#	Changed '/media' to MEDIA_DIRECTORY on HTMLArea popup windows
+	for insert link and insert image
++	Added setting which allows you to specify the default WYSIWYG style
++	Added "Server Email" option, to specify what is used in "From" field when
+	sending emails using the PHP mail function. Default is admins email address.
+#	Search now excludes pages which have a visibility of none or heading
+!	Pages are now given modified_when and modified_by when added
+01-Apr-2005 Ryan Djurovich
++	Added option to News module to specify how many posts should be listed
+	per page (by default it is set to unlimited, which functions like previous version)
+#	Added stripslashes when display page titles in search
++	Page descriptions and last updated date now shown in search by default
+30-Mar-2005 Ryan Djurovich
++	Added new feature for Media home folders, where a folder can be specified
+	for a specific user or group of users only
+!	Changed URL of Help button to http://www.websitebaker.org/docs/
++	Added new feature for "Page Trash" - two modes available: inline and separate
+!	When pages are deleted, all sub-pages are now deleted (instead of being moved
+	up a level)
+29-Mar-2005 Ryan Djurovich
+-	Removed Database Settings from Administration Settings (options will not be
+	available in 3.x, so trying to match interface with WB 3.x plans
+!	Changed the name of Path Settings to Filesystem Settings in Administration
+	Settings, and removed ability to change path/url options - matching interface
+	plans for WB 3.x
++	Added same options for OS and file permissions as installer to Settings
+!	Sessions now named with APP_NAME.'_session_id' (e.g. default is wb_session_id)
+28-Mar-2005 Ryan Djurovich
++	New functions available to templates to simplify creation of them. This aims
+	to "future-proof" templates for WB 3.x plans.
+!	Default templates updated to support some of the new functions
++	Added field to pages table "page_trail" which stores a list of the pages
+	parents. This field was needed by the new page_menu function
++	Added option for page visibility "heading" to enabled support for multiple
+	menu's. Also, this helps to "future-proof" templates for WB 3.x plans
++	Added option for page visibility "registered", which acts a little like
+	private, but is still shown in the menu (although users need to log in to view
+	the pages content)
++	Form module submissions now saved to database, and feature now added to
+	limit number of submissions per hour to prevent spamming
++	New field for Form module: email. Allows you to specify their email in
+	"from" field on module settings.
+#	Fixed bug when displaying comments in News module (WB Bug #14)
++	New "under contruction" message if no pages exist
+!	Cleaned-up wb/index.php
+27-Mar-2005 Ryan Djurovich
++	Created advanced mkdir and chmod functions
+#	Fixed bug in media where wrong file/folder is deleted
++	Complete overhall of installer - now only one step! It has been greatly
+	simplified in many ways, has much better validation, reports error much more
+	nicely, and automatically logs the user into the Administrations
++	Must now specify OS type - allows for customizable file permission settings
++	Sections can now have a language code assigned to them
++	Sections can now have a block name/id assigned to them
+!	Home section of Administration renamed to Start, to save confusion with saying
+	Homepage (because this term could either mean the main website or Home section
+	in	Administration). Also, this aims to unify the interface with WB 3.x plans
+!	Moved Users and Groups sections under Access section. This aims to unify the
+	interface with WB 3.x plans, which help to unclutter the menu
+!	Interface for Settings section has been imporved for usability purposes
+#	Fixed HTMLArea where no scrollbar for "insert link" and "insert image" dialogs
+	by placing media list inside an iframe
+#	Fixed stripslashes problem for viewing news comments
+!	Added code from Formesque module (an advanced version of the original Form
+	module, modified by Rudolph Lartey from www.carbonect.com), and made further
+	interface improvements for select box/checkbox group/radio group options.
+#	Possibly fixed bugs where an S appears before file and dir modes
+#	Fixed bug where users can be added with same emails (in Administration)
+-	Removed support for PEAR, as it was deemed an unnecessary addition which only
+	makes code more bulky, and removing it will decrease package size a lot
++	New "homepage redirect" option so first page is included and not redirected to
+#	Fixed text not being shown when module uninstalled
+!	Imporved interface for basic group permissions
+26-Mar-2005 Stefan Braunewell
+#	Fixed bug with front-end logins
+#	Fixed bug when saving intro page 
++	Added check on sign-up if e-mail exists (thanks to P. Melief)
+#	Fixed bugs concerning moving/deleting pages
+#	Fixed list of parents in page settings
+#	Fixed mkdir without mode parameter
+#	Added a check on install to ensure PHP 4.1.x compatibility (thanks to Wanderer)
++	Added support for PAGES_DIRECTORY set to root
++	Search form now supports quotes (thanks to Manafta)
+#	Fixed page section ordering
+#	News items are displayed with name of poster instead of "Unknown"
+#	Deletion confirmation popup window in media section now shows correct file name
+------------------------------------- 2.3.1 -------------------------------------
+03-Fed-2005 Ryan Djurovich
++	Now there is two types of "filesystem modes", one for directories and one
+	for files. Having different settings is very common for most servers, so
+	this addition should fix many problems people had with 2.3.0.
+-	Removed filesystem mode options from installation
+!	Removed duplicate text on installation step 3 for timezone
+!	All "access files" for the news module now stored in pages/posts instead
+	of a sub-dir relative to the page (this fixes many bugs)
+#	Fixed major bugs when deleting pages with sub-pages
+!	Removed the restrictions that prevent a user for changing a pages level
+#	Fixed bug with "toggle" plus/minus in IE for pages list
+#	Fixed some bugs where /pages was not replaced with PAGES_DIRECTORY constant
+------------------------------------- 2.3.0 -------------------------------------
+26-Jan-2005 Ryan Djurovich
+#	Fixed bug in framework/functions.php that made root parent always equal 8
+#	Added missing braces in lines 182 and 208 of admin/pages/settings2.php
+#	Fixed SQL-query on line 172, placing a / after $old_link
+#	Added eregi checks for PAGES_DIRECTORY on lines 140 and 150 of
+	admin/pages/settings2.php
+#	Added ordering cleaning to delete_post.php on line 53 for news module
+!	GMT option is selected for "Default Timezone" in the installer, instead
+	of the old "Please select" message (which had the same value as GMT)
+28-Jan-2005 Ryan Djurovich
+!	Ability to specify the chmod number when WB uploads files, etc.
+!	Modified file headers (copyright/license notice) so they now look almost the
+	same, independant of font. Also, it now covers copyright for 2005.
+30-Jan-2005 Ryan Djurovich
+#	Added code on wb/admin/pages/delete.php to remove sections from the sections
+	table when a page is deleted.
++	New 'Smart Login' prevents users from using external password managers,
+	and can be set to remember the users password using cookies.
+!	SourceForge CVS module now called websitebaker2 (instead of just
+	websitebaker). Also, all file versions have been reset.
+01-Fed-2005 Ryan Djurovich
+!	Added code to prevent from changing a pages level (it simply disables
+	the select box), to prevent many possible bugs.
+------------------------------------- 2.2.4 -------------------------------------
+23-Dec-2004 Ryan Djurovich
+!	Change 'EXACT_PHRASE' to 'EXACT_MATCH' on line 261 of wb/languages/EN.php
+#	Fixed multi-language support in search
++	Added more detailed options to list of PHP error reporting level's
+-	Removed ability to change language and PHP error reporting level
+	on installation to make things easier for newbie's
++	Ability to select custom spacer for page filename's
+!	Changed the way a language code is found on language installation
++	Added template permissions to groups
+#	Fixed bug when trying to change email from Preferences (admin and frontend)
+#	Fixed bug with auto-selection of "System Default" for Preferences
+!	News module now use's WYSIWYG for modifying news posts
++	Ability to specify both the pages and media target directories
+------------------------------------ 2.2.3-c ------------------------------------
+22-Dec-2004 Ryan Djurovich
+#	Fixed problem with DB password being reset if Settings saved in basic mode
+------------------------------------ 2.2.3-b ------------------------------------
+21-Dec-2004 Ryan Djurovich
+#	Fixed minor bug on admin templates section
+#	Fixed bug on rename.php and rename2.php in admin media section
+------------------------------------- 2.2.3 -------------------------------------
+20-Dec-2004 Ryan Djurovich
++	Added WB release version in Administration (top right corner)
+!	New option to prevent users from adding level 0 pages
+#	Fixed bug when deleting post's in News module
++	Added new field in pages table for "root" parent (level 0 parent), for
+	extra flexability in creating templates
+!	Round template now supports unlimited page levels
+------------------------------------- 2.2.2 -------------------------------------
+18-Dec-2004 Ryan Djurovich
++	New option under Search Settings for selecting custom template for search
++	New option when changing page settings to set the target
+#	Fixed error when saving a user after editing
+!	Users can now modify sub-page if they dont have permissions on the parent
+------------------------------------- 2.2.1 -------------------------------------
+15-Dec-2004 Ryan Djurovich
+#	Fixed bug when changing password on preferences form (front-end)
+#	Fixed bug when retrieving user details (administration)
+#	Added check to see if module, template, or language is in use when deleting
+#	Fixed up email that is sent to user from a submitted form
+#	Fixed major problem with module permissions which stopped it from working
+------------------------------------- 2.2.0 -------------------------------------
+14-Dec-2004 (Correct date[s] unkown) Ryan Djurovich
++	Multiple-level page support
++	Multiple section's for pages (including interface)
+!	Removed text created using two words on all areas
+	(e.g. {Intro} {PAGE} is now {INTRO_PAGE})
+	this is for better language support
++	Added Languages section
+!	Moved Templates and Modules under Add-ons section
+!	Changed name of "Default" template to "Round"
++	Added "All CSS" template
++	Added "Jump"
++	Added 
+!	Modified "Box" template to support multiple page levels
++	Added "Menu Link" module
++	Added "News" module
++	Added "Code" module
++	Added "Form" module
++	Added "Wrapper" module
+!	Changed name of "Normal Page" module to "WYSIWYG"
++	Created new admin wrapper script to ease module develpment
++	Media now automatically creates index.php file for every
+	sub-folder made (for security purposes)
+!	Change "Help" link in Administration menu so it now directs
+	to the the new Website Baker documentation website found at:
+	http://www.websitebaker.org/documentation
+!	Password is now required to change email in preferences
++	User can now select custom Language and Date & Time Formats
++	Added search functionality, with three different "methods":
+	1. Using all words  2. Using any words  3. Exact match
++	Added native MySQL database support
+

Property changes on: tags/2.8.2/CHANGELOG
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/upgrade-script.php
===================================================================
--- tags/2.8.2/wb/upgrade-script.php	(nonexistent)
+++ tags/2.8.2/wb/upgrade-script.php	(revision 1481)
@@ -0,0 +1,572 @@
+<?php
+/**
+ *
+ * @category        backend
+ * @package         installation
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+@require_once('config.php');
+
+// this function checks the basic configurations of an existing WB intallation
+function status_msg($message, $class='check', $element='span') {
+	// returns a status message
+	echo '<'.$element .' class="' .$class .'">' .$message .'</' .$element.'>';
+}
+
+$version = '2.8.1';
+// database tables including in WB package
+$table_list = array (
+    'settings','groups','addons','pages','sections','search','users',
+    'mod_captcha_control','mod_code','mod_droplets','mod_form_fields',
+    'mod_form_settings','mod_form_submissions','mod_jsadmin','mod_menu_link',
+    'mod_news_comments','mod_news_groups','mod_news_posts','mod_news_settings',
+    'mod_output_filter','mod_wrapper','mod_wysiwyg'
+);
+
+// analyze/check database tables
+function mysqlCheckTables( $dbName )
+{
+    global $table_list;
+    $table_prefix = TABLE_PREFIX;
+    $sql = "SHOW TABLES FROM " . $dbName;
+    $result = @mysql_query( $sql );
+    $data = array();
+    $x = 0;
+
+    while( ( $row = @mysql_fetch_array( $result, MYSQL_NUM ) ) == true )
+    {
+        $tmp = str_replace($table_prefix, '', $row[0]);
+
+        if( stristr( $row[0], $table_prefix )&& in_array($tmp,$table_list) )
+        {
+            $sql = "CHECK TABLE " . $dbName . '.' . $row[0];
+            $analyze = @mysql_query( $sql );
+            $rowFetch = @mysql_fetch_array( $analyze, MYSQL_ASSOC );
+            $data[$x]['Op'] = $rowFetch["Op"];
+            $data[$x]['Msg_type'] = $rowFetch["Msg_type"];
+            $msgColor = '<span class="error">';
+            $data[$x]['Table'] = $row[0];
+           // print  " ";
+            $msgColor = ($rowFetch["Msg_text"] == 'OK') ? '<span class="ok">' : '<span class="error">';
+            $data[$x]['Msg_text'] = $msgColor.$rowFetch["Msg_text"].'</span>';
+           // print  "<br />";
+            $x++;
+        }
+    }
+
+
+
+
+    return $data;
+}
+
+
+// check existings tables for upgrade or install
+function check_wb_tables()
+{
+    global $database,$table_list;
+        $get_result = $database->query( "SHOW TABLES FROM ".DB_NAME);
+        $all_tables = array();
+        if($get_result->numRows() > 0)
+        {
+            while ($data = $get_result->fetchRow())
+            {
+                $tmp = str_replace(TABLE_PREFIX, '', $data[0]);
+                if(in_array($tmp,$table_list))
+                {
+                    $all_tables[] = $tmp;
+                }
+            }
+        }
+     return $all_tables;
+}
+
+// check existing tables
+$all_tables = check_wb_tables();
+
+// only for array tests
+function show_array($array=array())
+{
+    print '<pre>';
+    print_r ($array);
+    print '</pre>';
+}
+
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<title>Upgrade script</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<style type="text/css">
+html { overflow: -moz-scrollbars-vertical; /* Force firefox to always show room for a vertical scrollbar */ }
+
+body {
+	margin:0;
+	padding:0;
+	border:0;
+	background: #EBF7FC;
+	color:#000;
+	font-family: 'Trebuchet MS', Verdana, Arial, Helvetica, Sans-Serif;
+	font-size: small;
+	height:101%;
+}
+
+#container {
+	width:85%;
+	background: #A8BCCB url(templates/wb_theme/images/background.png) repeat-x;
+	border:1px solid #000;
+	color:#000;
+	margin:2em auto;
+	padding:0 15px;
+	min-height: 500px;
+	text-align:left;
+}
+
+p { line-height:1.5em; }
+
+h1,h2,h3,h4,h5,h6 {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	color: #369;
+	margin-top: 1.0em;
+	margin-bottom: 0.1em;
+}
+
+h1 { font-size:150%; }
+h2 { font-size: 130%; border-bottom: 1px #CCC solid; }
+h3 { font-size: 120%; }
+
+.ok, .error { font-weight:bold; }
+.ok { color:green; }
+.error { color:red; }
+.check { color:#555; }
+
+.warning {
+	width: 98%;
+	background:#FFDBDB;
+	padding:0.2em;
+	margin-top:0.5em;
+	border: 1px solid black;
+}
+.info {
+	width: 98%;
+	background:#99CC99;
+	padding:0.2em;
+	margin-top:0.5em;
+	border: 1px solid black;
+}
+
+</style>
+</head>
+<body>
+<div id="container">
+<img src="templates/wb_theme/images/logo.png" alt="WebsiteBaker Project" />
+
+<h1>WebsiteBaker Upgrade</h1>
+<p>This script upgrades an existing WebsiteBaker <strong>Version 2.7 and higher</strong> installation to the <strong>Version <?php echo $version ?></strong>. The upgrade script alters the existing WB database to reflect the changes introduced with WB 2.8.x</p>
+
+<?php
+/**
+ * Check if disclaimer was accepted
+ */
+if (!(isset($_POST['backup_confirmed']) && $_POST['backup_confirmed'] == 'confirmed')) { ?>
+<h2>Step 1: Backup your files</h2>
+<p>It is highly recommended to <strong>create a manual backup</strong> of the entire <strong>/pages folder</strong> and the <strong>MySQL database</strong> before proceeding.<br /><strong class="error">Note: </strong>The upgrade script alters some settings of your existing database!!! You need to confirm the disclaimer before proceeding.</p>
+
+<form name="send" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
+<textarea cols="80" rows="5">DISCLAIMER: The WebsiteBaker upgrade script is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. One needs to confirm that a manual backup of the /pages folder (including all files and subfolders contained in it) and backup of the entire WebsiteBaker MySQL database was created before you can proceed.</textarea>
+<br /><br /><input name="backup_confirmed" type="checkbox" value="confirmed" />&nbsp;I confirm that a manual backup of the /pages folder and the MySQL database was created.
+<br /><br /><input name="send" type="submit" value="Start upgrade script" />
+</form>
+<br />
+
+<?php
+	status_msg('<strong>Notice:</strong><br />You need to confirm that you have created a manual backup of the /pages directory and the MySQL database before you can proceed.', 'warning', 'div');
+	echo '<br /><br />';
+    echo "</div>
+    </body>
+    </html>
+    ";
+	exit();
+}
+
+echo '<h2>Step 2: Updating database entries</h2>';
+
+require_once(WB_PATH.'/framework/functions.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Addons', 'modules', false, false);
+
+$OK   = '<span class="ok">OK</span>';
+$FAIL = '<span class="error">FAILED</span>';
+
+// function to add a var/value-pair into settings-table
+function db_add_key_value($key, $value) {
+	global $database; global $OK; global $FAIL;
+	$table = TABLE_PREFIX.'settings';
+	$query = $database->query("SELECT value FROM $table WHERE name = '$key' LIMIT 1");
+	if($query->numRows() > 0) {
+		echo "$key: already exists. $OK.<br />";
+		return true;
+	} else {
+		$database->query("INSERT INTO $table (name,value) VALUES ('$key', '$value')");
+		echo (mysql_error()?mysql_error().'<br />':'');
+		$query = $database->query("SELECT value FROM $table WHERE name = '$key' LIMIT 1");
+		if($query->numRows() > 0) {
+			echo "$key: $OK.<br />";
+			return true;
+		} else {
+			echo "$key: $FAIL!<br />";
+			return false;
+		}
+	}
+}
+
+// function to add a new field into a table
+function db_add_field($field, $table, $desc) {
+	global $database; global $OK; global $FAIL;
+	$table = TABLE_PREFIX.$table;
+	$query = $database->query("DESCRIBE $table '$field'");
+	if($query->numRows() == 0) { // add field
+		$query = $database->query("ALTER TABLE $table ADD $field $desc");
+		echo (mysql_error()?mysql_error().'<br />':'');
+		$query = $database->query("DESCRIBE $table '$field'");
+		echo (mysql_error()?mysql_error().'<br />':'');
+		if($query->numRows() > 0) {
+			echo "'$field' added. $OK.<br />";
+		} else {
+			echo "adding '$field' $FAIL!<br />";
+		}
+	} else {
+		echo "'$field' already exists. $OK.<br />";
+	}
+}
+
+/**********************************************************
+ *  - Adding field default_theme to settings table
+ */
+echo "<br />Adding default_theme to settings table<br />";
+$cfg = array(
+	'default_theme' => 'wb_theme'
+);
+
+foreach($cfg as $key=>$value) {
+	db_add_key_value($key, $value);
+}
+
+/**********************************************************
+ *  - install droplets
+ */
+    $drops = (!in_array ( "mod_droplets", $all_tables)) ? "<br />Install droplets<br />" : "<br />Upgrade droplets<br />";
+    echo $drops;
+
+     $file_name = (!in_array ( "mod_droplets", $all_tables)) ? "install.php" : "upgrade.php";
+     require_once (WB_PATH."/modules/droplets/".$file_name);
+
+// check again all tables, to get a new array
+ if(sizeof($all_tables) < 22) { $all_tables = check_wb_tables(); }
+/**********************************************************
+ *  - check tables comin with WebsiteBaker
+ */
+    $check_text = 'total ';
+    // $check_tables = mysqlCheckTables( DB_NAME ) ;
+
+    if(sizeof($all_tables) == 22)
+    {
+        echo '<h4>NOTICE: Your database '.DB_NAME.' has '.sizeof($all_tables).' '.$check_text.' tables from '.sizeof($table_list).' included in package '.$OK.'</h4>';
+    }
+    else
+    {
+        status_msg('<strong>WARNING:</strong><br />can\'t run Upgrade, missing tables', 'warning', 'div');
+    	echo '<h4>Install missing tables, you can install them in backend->addons->modules->advanced. Then again run upgrade-script.php</h4>';
+        $result = array_diff ( $table_list, $all_tables );
+        echo '<h4 class="warning">';
+        while ( list ( $key, $val ) = each ( $result ) )
+        {
+            echo TABLE_PREFIX.$val.' '.$FAIL.'<br>';
+        }
+        echo '</h4>';
+    	echo '<br /><form action="'. $_SERVER['PHP_SELF'] .'">';
+    	echo '<input type="submit" value="kick me back" style="float:left;" />';
+    	echo '</form>';
+        if(defined('ADMIN_URL'))
+        {
+        	echo '<form action="'.ADMIN_URL.'" target="_self">';
+        	echo '&nbsp;<input type="submit" value="kick me to the Backend" />';
+        	echo '</form>';
+        }
+        echo "<br /><br /></div>
+        </body>
+        </html>
+        ";
+        exit();
+    }
+
+/**********************************************************
+ *  - Adding field sec_anchor to settings table
+ */
+
+echo "<br />Adding sec_anchor to settings table<br />";
+$cfg = array(
+	'sec_anchor' => 'wb_'
+);
+foreach($cfg as $key=>$value) {
+	db_add_key_value($key, $value);
+}
+
+/**********************************************************
+ *  - Adding redirect timer to settings table
+ */
+echo "<br />Adding redirect timer to settings table<br />";
+$cfg = array(
+	'redirect_timer' => '1500'
+);
+foreach($cfg as $key=>$value) {
+	db_add_key_value($key, $value);
+}
+
+/**********************************************************
+ *  - Adding mediasettings to settings table
+ */
+echo "<br />Adding mediasettings to settings table<br />";
+$cfg = array(
+	'mediasettings' => ''
+);
+foreach($cfg as $key=>$value) {
+	db_add_key_value($key, $value);
+}
+
+/**********************************************************
+ *  - Add field "redirect_type" to table "mod_menu_link"
+ */
+echo "<br />Adding field redirect_type to mod_menu_link table<br />";
+db_add_field('redirect_type', 'mod_menu_link', "INT NOT NULL DEFAULT '302' AFTER `target_page_id`");
+
+
+
+if (version_compare(WB_VERSION, '2.8.0') < 0)
+{
+    /**********************************************************
+     *  - Update search no results database filed to create
+     *  valid XHTML if search is empty
+     */
+    echo "<br />Updating database field `no_results` of search table: ";
+    $search_no_results = addslashes('<tr><td><p>[TEXT_NO_RESULTS]</p></td></tr>');
+    $sql = "UPDATE `" . TABLE_PREFIX . "search` SET `value` = '$search_no_results' WHERE `name`= 'no_results'";
+    $database->query($sql);
+    echo ($database->query($sql)) ? " $OK<br />" : " $FAIL<br />";
+    /**********************************************************
+     *  - Update settings of News Modul
+     */
+
+    // These are the default setting
+    $header = '<table cellpadding=\"0\" cellspacing=\"0\" class=\"loop-header\">'."\n";
+    $post_loop = '<tr class=\"post_top\">
+<td class=\"post_title\"><a href=\"[LINK]\">[TITLE]</a></td>
+<td class=\"post_date\">[PUBLISHED_TIME], [PUBLISHED_DATE]</td>
+</tr>
+<tr>
+<td class=\"post_short\" colspan=\"2\">
+[SHORT]
+<span style=\"visibility:[SHOW_READ_MORE];\"><a href=\"[LINK]\">[TEXT_READ_MORE]</a></span>
+</td>
+</tr>';
+    $footer = '</table>
+<table cellpadding="0" cellspacing="0" class="page-header" style="display: [DISPLAY_PREVIOUS_NEXT_LINKS]">
+<tr>
+<td class="page-left">[PREVIOUS_PAGE_LINK]</td>
+<td class="page-center">[OF]</td>
+<td class="page-right">[NEXT_PAGE_LINK]</td>
+</tr>
+</table>';
+    $post_header = addslashes('<table cellpadding="0" cellspacing="0" class="post-header">
+<tr>
+<td><h1>[TITLE]</h1></td>
+<td rowspan="3" style="display: [DISPLAY_IMAGE]">[GROUP_IMAGE]</td>
+</tr>
+<tr>
+<td class="public-info"><b>[TEXT_POSTED_BY] [DISPLAY_NAME] ([USERNAME]) [TEXT_ON] [PUBLISHED_DATE]</b></td>
+</tr>
+<tr style="display: [DISPLAY_GROUP]">
+<td class="group-page"><a href="[BACK]">[PAGE_TITLE]</a> &gt;&gt; <a href="[BACK]?g=[GROUP_ID]">[GROUP_TITLE]</a></td>
+</tr>
+</table>');
+    $post_footer = '<p>[TEXT_LAST_CHANGED]: [MODI_DATE] [TEXT_AT] [MODI_TIME]</p>
+<a href=\"[BACK]\">[TEXT_BACK]</a>';
+    $comments_header = addslashes('<br /><br />
+<h2>[TEXT_COMMENTS]</h2>
+<table cellpadding="2" cellspacing="0" class="comment-header">');
+    $comments_loop = addslashes('<tr>
+<td class="comment_title">[TITLE]</td>
+<td class="comment_info">[TEXT_BY] [DISPLAY_NAME] [TEXT_ON] [DATE] [TEXT_AT] [TIME]</td>
+</tr>
+<tr>
+<td colspan="2" class="comment_text">[COMMENT]</td>
+</tr>');
+    $comments_footer = '</table>
+<br /><a href=\"[ADD_COMMENT_URL]\">[TEXT_ADD_COMMENT]</a>';
+    $comments_page = '<h1>[TEXT_COMMENT]</h1>
+<h2>[POST_TITLE]</h2>
+<br />';
+
+if(in_array('mod_news_settings', $all_tables))
+{
+   // Insert default settings into database
+   $query_dates = $database->query("SELECT * FROM ".TABLE_PREFIX."mod_news_settings where section_id != 0 and page_id != 0");
+   if($query_dates->numRows() > 1)
+   {
+        while($result = $query_dates->fetchRow())
+        {
+
+        	echo "<br /><u>Add default settings to database for news section_id= ".$result['section_id']."</u><br />";
+        	$section_id = $result['section_id'];
+
+        	if($database->query("UPDATE `".TABLE_PREFIX."mod_news_settings` SET `header` = '$header' WHERE `section_id` = $section_id")) {
+        		echo 'Database data header added successfully';
+        	}
+        	echo mysql_error().'<br />';
+
+        	if($database->query("UPDATE `".TABLE_PREFIX."mod_news_settings` SET `post_loop` = '$post_loop' WHERE `section_id` = $section_id")) {
+        		echo 'Database data post_loop added successfully';
+        	}
+        	echo mysql_error().'<br />';
+
+        	if($database->query("UPDATE `".TABLE_PREFIX."mod_news_settings` SET `footer` = '$footer' WHERE `section_id` = $section_id")) {
+        		echo 'Database data footer added successfully';
+        	}
+        	echo mysql_error().'<br />';
+
+        	if($database->query("UPDATE `".TABLE_PREFIX."mod_news_settings` SET `post_header` = '$post_header' WHERE `section_id` = $section_id")) {
+        		echo 'Database data post_header added successfully';
+        	}
+        	echo mysql_error().'<br />';
+
+        	if($database->query("UPDATE `".TABLE_PREFIX."mod_news_settings` SET `post_footer` = '$post_footer' WHERE `section_id` = $section_id")) {
+        		echo 'Database data post_footer added successfully';
+        	}
+        	echo mysql_error().'<br />';
+
+        	if($database->query("UPDATE `".TABLE_PREFIX."mod_news_settings` SET `comments_header` = '$comments_header' WHERE `section_id` = $section_id")) {
+        		echo 'Database data comments_header added successfully';
+        	}
+        	echo mysql_error().'<br />';
+
+        	if($database->query("UPDATE `".TABLE_PREFIX."mod_news_settings` SET `comments_loop` = '$comments_loop' WHERE `section_id` = $section_id")) {
+        		echo 'Database data comments_loop added successfully';
+        	}
+        	echo mysql_error().'<br />';
+
+        	if($database->query("UPDATE `".TABLE_PREFIX."mod_news_settings` SET `comments_footer` = '$comments_footer' WHERE `section_id` = $section_id")) {
+        		echo 'Database data comments_footer added successfully';
+        	}
+        	echo mysql_error().'<br />';
+
+        	if($database->query("UPDATE `".TABLE_PREFIX."mod_news_settings` SET `comments_page` = '$comments_page' WHERE `section_id` = $section_id")) {
+        		echo 'Database data comments_page added successfully';
+        	}
+        	echo mysql_error().'<br />';
+
+        }
+
+
+      if ((version_compare(WB_VERSION, '2.8.0') <= 0) && file_exists(WB_PATH."/modules/news/upgrade.php"))
+      {
+              echo '<h4>Upgrade existings postfiles to new format</h4><br />';
+              // change old postfiles to new postfiles
+              require_once(WB_PATH."/modules/news/upgrade.php");
+      }
+    }
+
+   }
+
+}
+
+/**********************************************************
+ *  - Set Version to WB 2.8.1
+ */
+echo "<br />Update database version number to 2.8.1 : ";
+echo ($database->query("UPDATE `".TABLE_PREFIX."settings` SET `value` = '$version' WHERE `name` = 'wb_version'")) ? " $OK<br />" : " $FAIL<br />";
+
+/**********************************************************
+ *  - Reload all addons
+ */
+
+//delete modules
+$database->query("DELETE FROM ".TABLE_PREFIX."addons WHERE type = 'module'");
+// Load all modules
+if($handle = opendir(WB_PATH.'/modules/')) {
+	while(false !== ($file = readdir($handle))) {
+		if($file != '' AND substr($file, 0, 1) != '.' AND $file != 'admin.php' AND $file != 'index.php') {
+			load_module(WB_PATH.'/modules/'.$file);
+		}
+	}
+	closedir($handle);
+}
+echo '<br />Modules reloaded<br />';
+
+//delete templates		
+$database->query("DELETE FROM ".TABLE_PREFIX."addons WHERE type = 'template'");
+// Load all templates
+if($handle = opendir(WB_PATH.'/templates/')) {
+	while(false !== ($file = readdir($handle))) {
+		if($file != '' AND substr($file, 0, 1) != '.' AND $file != 'index.php') {
+			load_template(WB_PATH.'/templates/'.$file);
+		}
+	}
+	closedir($handle);
+}
+echo '<br />Templates reloaded<br />';
+
+//delete languages
+$database->query("DELETE FROM ".TABLE_PREFIX."addons WHERE type = 'language'");
+// Load all languages
+if($handle = opendir(WB_PATH.'/languages/')) {
+	while(false !== ($file = readdir($handle))) {
+		if($file != '' AND substr($file, 0, 1) != '.' AND $file != 'index.php') {
+			load_language(WB_PATH.'/languages/'.$file);
+		}
+	}
+	closedir($handle);
+}
+echo '<br />Languages reloaded<br />';
+
+
+/**********************************************************
+ *  - End of upgrade script
+ */
+
+// require(WB_PATH.'/framework/initialize.php');
+
+if(!defined('DEFAULT_THEME')) { define('DEFAULT_THEME', 'wb_theme'); }
+if(!defined('THEME_PATH')) { define('THEME_PATH', WB_PATH.'/templates/'.DEFAULT_THEME);}
+
+echo '<p style="font-size:120%;"><strong>Congratulations: The upgrade script is finished ...</strong></p>';
+status_msg('<strong>Warning:</strong><br />Please delete the file <strong>upgrade-script.php</strong> via FTP before proceeding.', 'warning', 'div');
+// show buttons to go to the backend or frontend
+echo '<br />';
+if(defined('WB_URL')) {
+	echo '<form action="'.WB_URL.'">';
+	echo '<input type="submit" value="kick me to the Frontend" style="float:left;" />';
+	echo '</form>';
+}
+if(defined('ADMIN_URL')) {
+	echo '<form action="'.ADMIN_URL.'">';
+	echo '&nbsp;<input type="submit" value="kick me to the Backend" />';
+	echo '</form>';
+}
+echo '<p>&nbsp;</p>';
+
+?>
+</div>
+</body>
+</html>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/upgrade-script.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/jquery/jquery-min132.js
===================================================================
--- tags/2.8.2/wb/include/jquery/jquery-min132.js	(nonexistent)
+++ tags/2.8.2/wb/include/jquery/jquery-min132.js	(revision 1481)
@@ -0,0 +1,19 @@
+/*
+ * jQuery JavaScript Library v1.3.2
+ * http://jquery.com/
+ *
+ * Copyright (c) 2009 John Resig
+ * Dual licensed under the MIT and GPL licenses.
+ * http://docs.jquery.com/License
+ *
+ * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
+ * Revision: 6246
+ */
+(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){var G=M[F];if(G.selected){K=o(G).val();if(H){return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){K+=""}return this.each(function(){if(this.nodeType!=1){return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){this.checked=(o.inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G<E;G++){L.call(K(this[G],H),this.length>1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H<I;H++){if((G=arguments[H])!=null){for(var F in G){var K=J[F],L=G[F];if(J===L){continue}if(E&&L&&typeof L==="object"&&!L.nodeType){J[F]=o.extend(E,K||(L.length!=null?[]:{}),L)}else{if(L!==g){J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{},s=Object.prototype.toString;o.extend({noConflict:function(E){l.$=p;if(E){l.jQuery=y}return o},isFunction:function(E){return s.call(E)==="[object Function]"},isArray:function(E){return s.call(E)==="[object Array]"},isXMLDoc:function(E){return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){if(G&&/\S/.test(G)){var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){var E,H=0,I=G.length;if(F){if(I===g){for(E in G){if(K.apply(G[E],F)===false){break}}}else{for(;H<I;){if(K.apply(G[H++],F)===false){break}}}}else{if(I===g){for(E in G){if(K.call(G[E],E,G[E])===false){break}}}else{for(var J=G[0];H<I&&K.call(J,H,J)!==false;J=G[++H]){}}}return G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?I+"px":I},className:{add:function(E,F){o.each((F||"").split(/\s+/),function(G,H){if(E.nodeType==1&&!o.className.has(E.className,H)){E.className+=(E.className?" ":"")+H}})},remove:function(E,F){if(E.nodeType==1){E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){return !o.className.has(F,G)}).join(" "):""}},has:function(F,E){return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"></"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/<tbody/i.test(S),N=!O.indexOf("<table")&&!R?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E<F;E++){if(H[E]===G){return E}}return -1},merge:function(H,E){var F=0,G,I=H.length;if(!o.support.getAll){while((G=E[F++])!=null){if(G.nodeType!=8){H[I++]=G}}}else{while((G=E[F++])!=null){H[I++]=G}}return H},unique:function(K){var F=[],E={};try{for(var G=0,H=K.length;G<H;G++){var J=o.data(K[G]);if(!E[J]){E[J]=true;F.push(K[G])}}}catch(I){F=K}return F},grep:function(F,J,E){var G=[];for(var H=0,I=F.length;H<I;H++){if(!E!=!J(F[H],H)){G.push(F[H])}}return G},map:function(E,J){var F=[];for(var G=0,H=E.length;G<H;G++){var I=J(E[G],G);if(I!=null){F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({parent:function(E){return E.parentNode},parents:function(E){return o.dir(E,"parentNode")},next:function(E){return o.nth(E,2,"nextSibling")},prev:function(E){return o.nth(E,2,"previousSibling")},nextAll:function(E){return o.dir(E,"nextSibling")},prevAll:function(E){return o.dir(E,"previousSibling")},siblings:function(E){return o.sibling(E.parentNode.firstChild,E)},children:function(E){return o.sibling(E.firstChild)},contents:function(E){return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){o.fn[E]=function(G){var H=o.map(this,F);if(G&&typeof G=="string"){H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){o.fn[E]=function(G){var J=[],L=o(G);for(var K=0,H=L.length;K<H;K++){var I=(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}});
+/*
+ * Sizzle CSS Selector Engine - v0.9.3
+ *  Copyright 2009, The Dojo Foundation
+ *  Released under the MIT, BSD, and GPL Licenses.
+ *  More information: http://sizzlejs.com/
+ */
+(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa<ab.length;aa++){if(ab[aa]===ab[aa-1]){ab.splice(aa--,1)}}}}}return ab};F.matches=function(T,U){return F(T,null,null,U)};F.find=function(aa,T,ab){var Z,X;if(!aa){return[]}for(var W=0,V=I.order.length;W<V;W++){var Y=I.order[W],X;if((X=I.match[Y].exec(aa))){var U=RegExp.leftContext;if(U.substr(U.length-1)!=="\\"){X[1]=(X[1]||"").replace(/\\/g,"");Z=I.find[Y](X,T,ab);if(Z!=null){aa=aa.replace(I.match[Y],"");break}}}}if(!Z){Z=T.getElementsByTagName("*")}return{set:Z,expr:aa}};F.filter=function(ad,ac,ag,W){var V=ad,ai=[],aa=ac,Y,T,Z=ac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){for(var ab in I.filter){if((Y=I.match[ab].exec(ad))!=null){var U=I.filter[ab],ah,af;T=false;if(aa==ai){ai=[]}if(I.preFilter[ab]){Y=I.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){T=ah=true}else{if(Y===true){continue}}}if(Y){for(var X=0;(af=aa[X])!=null;X++){if(af){ah=U(af,Y,X,aa);var ae=W^!!ah;if(ag&&ah!=null){if(ae){T=true}else{aa[X]=false}}else{if(ae){ai.push(af);T=true}}}}}if(ah!==g){if(!ag){aa=ai}ad=ad.replace(I.match[ab],"");if(!T){return[]}break}}}if(ad==V){if(T==null){throw"Syntax error, unrecognized expression: "+ad}else{break}}V=ad}return aa};var I=F.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(T){return T.getAttribute("href")}},relative:{"+":function(aa,T,Z){var X=typeof T==="string",ab=X&&!/\W/.test(T),Y=X&&!ab;if(ab&&!Z){T=T.toUpperCase()}for(var W=0,V=aa.length,U;W<V;W++){if((U=aa[W])){while((U=U.previousSibling)&&U.nodeType!==1){}aa[W]=Y||U&&U.nodeName===T?U||false:U===T}}if(Y){F.filter(T,aa,true)}},">":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){var W=Y.parentNode;Z[V]=W.nodeName===U?W:false}}}else{for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){Z[V]=X?Y.parentNode:Y.parentNode===U}}if(X){F.filter(U,Z,true)}}},"":function(W,U,Y){var V=L++,T=S;if(!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("parentNode",U,V,W,X,Y)},"~":function(W,U,Y){var V=L++,T=S;if(typeof U==="string"&&!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("previousSibling",U,V,W,X,Y)}},find:{ID:function(U,V,W){if(typeof V.getElementById!=="undefined"&&!W){var T=V.getElementById(U[1]);return T?[T]:[]}},NAME:function(V,Y,Z){if(typeof Y.getElementsByName!=="undefined"){var U=[],X=Y.getElementsByName(V[1]);for(var W=0,T=X.length;W<T;W++){if(X[W].getAttribute("name")===V[1]){U.push(X[W])}}return U.length===0?null:U}},TAG:function(T,U){return U.getElementsByTagName(T[1])}},preFilter:{CLASS:function(W,U,V,T,Z,aa){W=" "+W[1].replace(/\\/g,"")+" ";if(aa){return W}for(var X=0,Y;(Y=U[X])!=null;X++){if(Y){if(Z^(Y.className&&(" "+Y.className+" ").indexOf(W)>=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return U<T[3]-0},gt:function(V,U,T){return U>T[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W<T;W++){if(Y[W]===Z){return false}}return true}}}},CHILD:function(T,W){var Z=W[1],U=T;switch(Z){case"only":case"first":while(U=U.previousSibling){if(U.nodeType===1){return false}}if(Z=="first"){return true}U=T;case"last":while(U=U.nextSibling){if(U.nodeType===1){return false}}return true;case"nth":var V=W[2],ac=W[3];if(V==1&&ac==0){return true}var Y=W[0],ab=T.parentNode;if(ab&&(ab.sizcache!==Y||!T.nodeIndex)){var X=0;for(U=ab.firstChild;U;U=U.nextSibling){if(U.nodeType===1){U.nodeIndex=++X}}ab.sizcache=Y}var aa=T.nodeIndex-ac;if(V==0){return aa==0}else{return(aa%V==0&&aa/V>=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V<T;V++){U.push(X[V])}}else{for(var V=0;X[V];V++){U.push(X[V])}}}return U}}var G;if(document.documentElement.compareDocumentPosition){G=function(U,T){var V=U.compareDocumentPosition(T)&4?-1:U===T?0:1;if(V===0){hasDuplicate=true}return V}}else{if("sourceIndex" in document.documentElement){G=function(U,T){var V=U.sourceIndex-T.sourceIndex;if(V===0){hasDuplicate=true}return V}}else{if(document.createRange){G=function(W,U){var V=W.ownerDocument.createRange(),T=U.ownerDocument.createRange();V.selectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var X=V.compareBoundaryPoints(Range.START_TO_END,T);if(X===0){hasDuplicate=true}return X}}}}(function(){var U=document.createElement("form"),V="script"+(new Date).getTime();U.innerHTML="<input name='"+V+"'/>";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="<a href='#'></a>";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="<p class='TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="<div class='test e'></div><div class='test'></div>";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1&&!ac){T.sizcache=Y;T.sizset=W}if(T.nodeName===Z){X=T;break}T=T[U]}ad[W]=X}}}function S(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1){if(!ac){T.sizcache=Y;T.sizset=W}if(typeof Z!=="string"){if(T===Z){X=true;break}}else{if(F.filter(Z,[T]).length>0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z<U;Z++){F(T,V[Z],W)}return F.filter(X,W)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(T){return T.offsetWidth===0||T.offsetHeight===0};F.selectors.filters.visible=function(T){return T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F<E.length){o.event.proxy(G,E[F++])}return this.click(o.event.proxy(G,function(H){this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){return this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.call(document,o)}else{o.readyList.push(E)}return this},live:function(G,F){var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.guid+this.selector+F}:null);return this}});function c(H){var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){if(E.test(J.type)){var K=o(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});F.sort(function(J,I){return o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){return(G=false)}});return G}function i(F,E){return["live",F,E.replace(/\./g,"`").replace(/ /g,"|")].join(".")}o.extend({isReady:false,readyList:[],ready:function(){if(!o.isReady){o.isReady=true;if(o.readyList){o.each(o.readyList,function(){this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){if(x){return}x=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&l==l.top){(function(){if(o.isReady){return}try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(F,E){o.fn[E]=function(G){return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});(function(){o.support={};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H<F;H++){var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){var G=this[H].tagName,K;if(m[G]){K=m[G]}else{var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H<F;H++){this[H].style.display=o.data(this[H],"olddisplay")||""}return this}},hide:function(H,I){if(H){return this.animate(t("hide",3),H,I)}else{for(var G=0,F=this.length;G<F;G++){var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){o.data(this[G],"olddisplay",o.css(this[G],"display"))}}for(var G=0,F=this.length;G<F;G++){this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?this.each(function(){var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){return this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){var K=o.extend({},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){if(I[M]=="hide"&&L||I[M]=="show"&&!L){return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){this.style.overflow="hidden"}K.curAnim=o.extend({},I);o.each(I,function(O,S){var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=="toggle"?L?"show":"hide":S](I)}else{var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cur(true)||0;if(Q){var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return true})},stop:function(F,E){var G=o.timers;if(F){this.queue([])}this.each(function(){for(var H=G.length-1;H>=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n);n=g}},13)}},show:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());o(this.elem).show()},hide:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){var G=e();if(H||G>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})();
\ No newline at end of file
Index: tags/2.8.2/wb/include/jquery/jquery-ui.css
===================================================================
--- tags/2.8.2/wb/include/jquery/jquery-ui.css	(nonexistent)
+++ tags/2.8.2/wb/include/jquery/jquery-ui.css	(revision 1481)
@@ -0,0 +1,404 @@
+/*
+* jQuery UI CSS Framework
+* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
+*/
+
+/* Layout helpers
+----------------------------------*/
+.ui-helper-hidden { display: none; }
+.ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
+.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
+.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
+.ui-helper-clearfix { display: inline-block; }
+/* required comment for clearfix to work in Opera \*/
+* html .ui-helper-clearfix { height:1%; }
+.ui-helper-clearfix { display:block; }
+/* end clearfix */
+.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
+
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-disabled { cursor: default !important; }
+
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Overlays */
+.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
+
+/*
+* jQuery UI CSS Framework
+* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
+* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana,Arial,sans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=01_flat.png&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
+*/
+
+
+/* Component containers
+----------------------------------*/
+.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; }
+.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; }
+.ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; }
+.ui-widget-content a { color: #222222; }
+.ui-widget-header { border: 1px solid #aaaaaa; background: #cccccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; }
+.ui-widget-header a { color: #222222; }
+
+/* Interaction states
+----------------------------------*/
+.ui-state-default, .ui-widget-content .ui-state-default { border: 1px solid #d3d3d3; background: #e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #555555; outline: none; }
+.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555; text-decoration: none; outline: none; }
+.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus { border: 1px solid #999999; background: #dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; outline: none; }
+.ui-state-hover a, .ui-state-hover a:hover { color: #212121; text-decoration: none; outline: none; }
+.ui-state-active, .ui-widget-content .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; outline: none; }
+.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; outline: none; text-decoration: none; }
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-highlight, .ui-widget-content .ui-state-highlight {border: 1px solid #fcefa1; background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; color: #363636; }
+.ui-state-highlight a, .ui-widget-content .ui-state-highlight a { color: #363636; }
+.ui-state-error, .ui-widget-content .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; }
+.ui-state-error a, .ui-widget-content .ui-state-error a { color: #cd0a0a; }
+.ui-state-error-text, .ui-widget-content .ui-state-error-text { color: #cd0a0a; }
+.ui-state-disabled, .ui-widget-content .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
+.ui-priority-primary, .ui-widget-content .ui-priority-primary { font-weight: bold; }
+.ui-priority-secondary, .ui-widget-content .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png); }
+.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
+.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
+.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); }
+.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); }
+
+/* positioning */
+.ui-icon-carat-1-n { background-position: 0 0; }
+.ui-icon-carat-1-ne { background-position: -16px 0; }
+.ui-icon-carat-1-e { background-position: -32px 0; }
+.ui-icon-carat-1-se { background-position: -48px 0; }
+.ui-icon-carat-1-s { background-position: -64px 0; }
+.ui-icon-carat-1-sw { background-position: -80px 0; }
+.ui-icon-carat-1-w { background-position: -96px 0; }
+.ui-icon-carat-1-nw { background-position: -112px 0; }
+.ui-icon-carat-2-n-s { background-position: -128px 0; }
+.ui-icon-carat-2-e-w { background-position: -144px 0; }
+.ui-icon-triangle-1-n { background-position: 0 -16px; }
+.ui-icon-triangle-1-ne { background-position: -16px -16px; }
+.ui-icon-triangle-1-e { background-position: -32px -16px; }
+.ui-icon-triangle-1-se { background-position: -48px -16px; }
+.ui-icon-triangle-1-s { background-position: -64px -16px; }
+.ui-icon-triangle-1-sw { background-position: -80px -16px; }
+.ui-icon-triangle-1-w { background-position: -96px -16px; }
+.ui-icon-triangle-1-nw { background-position: -112px -16px; }
+.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
+.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
+.ui-icon-arrow-1-n { background-position: 0 -32px; }
+.ui-icon-arrow-1-ne { background-position: -16px -32px; }
+.ui-icon-arrow-1-e { background-position: -32px -32px; }
+.ui-icon-arrow-1-se { background-position: -48px -32px; }
+.ui-icon-arrow-1-s { background-position: -64px -32px; }
+.ui-icon-arrow-1-sw { background-position: -80px -32px; }
+.ui-icon-arrow-1-w { background-position: -96px -32px; }
+.ui-icon-arrow-1-nw { background-position: -112px -32px; }
+.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
+.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
+.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
+.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
+.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
+.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
+.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
+.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
+.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
+.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
+.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
+.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
+.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
+.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
+.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
+.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
+.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
+.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
+.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
+.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
+.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
+.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
+.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
+.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
+.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
+.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
+.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
+.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
+.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
+.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
+.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
+.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
+.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
+.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
+.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
+.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
+.ui-icon-arrow-4 { background-position: 0 -80px; }
+.ui-icon-arrow-4-diag { background-position: -16px -80px; }
+.ui-icon-extlink { background-position: -32px -80px; }
+.ui-icon-newwin { background-position: -48px -80px; }
+.ui-icon-refresh { background-position: -64px -80px; }
+.ui-icon-shuffle { background-position: -80px -80px; }
+.ui-icon-transfer-e-w { background-position: -96px -80px; }
+.ui-icon-transferthick-e-w { background-position: -112px -80px; }
+.ui-icon-folder-collapsed { background-position: 0 -96px; }
+.ui-icon-folder-open { background-position: -16px -96px; }
+.ui-icon-document { background-position: -32px -96px; }
+.ui-icon-document-b { background-position: -48px -96px; }
+.ui-icon-note { background-position: -64px -96px; }
+.ui-icon-mail-closed { background-position: -80px -96px; }
+.ui-icon-mail-open { background-position: -96px -96px; }
+.ui-icon-suitcase { background-position: -112px -96px; }
+.ui-icon-comment { background-position: -128px -96px; }
+.ui-icon-person { background-position: -144px -96px; }
+.ui-icon-print { background-position: -160px -96px; }
+.ui-icon-trash { background-position: -176px -96px; }
+.ui-icon-locked { background-position: -192px -96px; }
+.ui-icon-unlocked { background-position: -208px -96px; }
+.ui-icon-bookmark { background-position: -224px -96px; }
+.ui-icon-tag { background-position: -240px -96px; }
+.ui-icon-home { background-position: 0 -112px; }
+.ui-icon-flag { background-position: -16px -112px; }
+.ui-icon-calendar { background-position: -32px -112px; }
+.ui-icon-cart { background-position: -48px -112px; }
+.ui-icon-pencil { background-position: -64px -112px; }
+.ui-icon-clock { background-position: -80px -112px; }
+.ui-icon-disk { background-position: -96px -112px; }
+.ui-icon-calculator { background-position: -112px -112px; }
+.ui-icon-zoomin { background-position: -128px -112px; }
+.ui-icon-zoomout { background-position: -144px -112px; }
+.ui-icon-search { background-position: -160px -112px; }
+.ui-icon-wrench { background-position: -176px -112px; }
+.ui-icon-gear { background-position: -192px -112px; }
+.ui-icon-heart { background-position: -208px -112px; }
+.ui-icon-star { background-position: -224px -112px; }
+.ui-icon-link { background-position: -240px -112px; }
+.ui-icon-cancel { background-position: 0 -128px; }
+.ui-icon-plus { background-position: -16px -128px; }
+.ui-icon-plusthick { background-position: -32px -128px; }
+.ui-icon-minus { background-position: -48px -128px; }
+.ui-icon-minusthick { background-position: -64px -128px; }
+.ui-icon-close { background-position: -80px -128px; }
+.ui-icon-closethick { background-position: -96px -128px; }
+.ui-icon-key { background-position: -112px -128px; }
+.ui-icon-lightbulb { background-position: -128px -128px; }
+.ui-icon-scissors { background-position: -144px -128px; }
+.ui-icon-clipboard { background-position: -160px -128px; }
+.ui-icon-copy { background-position: -176px -128px; }
+.ui-icon-contact { background-position: -192px -128px; }
+.ui-icon-image { background-position: -208px -128px; }
+.ui-icon-video { background-position: -224px -128px; }
+.ui-icon-script { background-position: -240px -128px; }
+.ui-icon-alert { background-position: 0 -144px; }
+.ui-icon-info { background-position: -16px -144px; }
+.ui-icon-notice { background-position: -32px -144px; }
+.ui-icon-help { background-position: -48px -144px; }
+.ui-icon-check { background-position: -64px -144px; }
+.ui-icon-bullet { background-position: -80px -144px; }
+.ui-icon-radio-off { background-position: -96px -144px; }
+.ui-icon-radio-on { background-position: -112px -144px; }
+.ui-icon-pin-w { background-position: -128px -144px; }
+.ui-icon-pin-s { background-position: -144px -144px; }
+.ui-icon-play { background-position: 0 -160px; }
+.ui-icon-pause { background-position: -16px -160px; }
+.ui-icon-seek-next { background-position: -32px -160px; }
+.ui-icon-seek-prev { background-position: -48px -160px; }
+.ui-icon-seek-end { background-position: -64px -160px; }
+.ui-icon-seek-first { background-position: -80px -160px; }
+.ui-icon-stop { background-position: -96px -160px; }
+.ui-icon-eject { background-position: -112px -160px; }
+.ui-icon-volume-off { background-position: -128px -160px; }
+.ui-icon-volume-on { background-position: -144px -160px; }
+.ui-icon-power { background-position: 0 -176px; }
+.ui-icon-signal-diag { background-position: -16px -176px; }
+.ui-icon-signal { background-position: -32px -176px; }
+.ui-icon-battery-0 { background-position: -48px -176px; }
+.ui-icon-battery-1 { background-position: -64px -176px; }
+.ui-icon-battery-2 { background-position: -80px -176px; }
+.ui-icon-battery-3 { background-position: -96px -176px; }
+.ui-icon-circle-plus { background-position: 0 -192px; }
+.ui-icon-circle-minus { background-position: -16px -192px; }
+.ui-icon-circle-close { background-position: -32px -192px; }
+.ui-icon-circle-triangle-e { background-position: -48px -192px; }
+.ui-icon-circle-triangle-s { background-position: -64px -192px; }
+.ui-icon-circle-triangle-w { background-position: -80px -192px; }
+.ui-icon-circle-triangle-n { background-position: -96px -192px; }
+.ui-icon-circle-arrow-e { background-position: -112px -192px; }
+.ui-icon-circle-arrow-s { background-position: -128px -192px; }
+.ui-icon-circle-arrow-w { background-position: -144px -192px; }
+.ui-icon-circle-arrow-n { background-position: -160px -192px; }
+.ui-icon-circle-zoomin { background-position: -176px -192px; }
+.ui-icon-circle-zoomout { background-position: -192px -192px; }
+.ui-icon-circle-check { background-position: -208px -192px; }
+.ui-icon-circlesmall-plus { background-position: 0 -208px; }
+.ui-icon-circlesmall-minus { background-position: -16px -208px; }
+.ui-icon-circlesmall-close { background-position: -32px -208px; }
+.ui-icon-squaresmall-plus { background-position: -48px -208px; }
+.ui-icon-squaresmall-minus { background-position: -64px -208px; }
+.ui-icon-squaresmall-close { background-position: -80px -208px; }
+.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
+.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
+.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
+.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
+.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
+.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Corner radius */
+.ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; }
+.ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; }
+.ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; }
+.ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; }
+.ui-corner-top { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; }
+.ui-corner-bottom { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; }
+.ui-corner-right {  -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; }
+.ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; }
+.ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; }
+
+/* Overlays */
+.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
+.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; }/* Accordion
+----------------------------------*/
+.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
+.ui-accordion .ui-accordion-li-fix { display: inline; }
+.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
+.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em 2.2em; }
+.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
+.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; }
+.ui-accordion .ui-accordion-content-active { display: block; }/* Datepicker
+----------------------------------*/
+.ui-datepicker { width: 17em; padding: .2em .2em 0; }
+.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
+.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
+.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
+.ui-datepicker .ui-datepicker-prev { left:2px; }
+.ui-datepicker .ui-datepicker-next { right:2px; }
+.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
+.ui-datepicker .ui-datepicker-next-hover { right:1px; }
+.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px;  }
+.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
+.ui-datepicker .ui-datepicker-title select { float:left; font-size:1em; margin:1px 0; }
+.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
+.ui-datepicker select.ui-datepicker-month, 
+.ui-datepicker select.ui-datepicker-year { width: 49%;}
+.ui-datepicker .ui-datepicker-title select.ui-datepicker-year { float: right; }
+.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
+.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0;  }
+.ui-datepicker td { border: 0; padding: 1px; }
+.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
+.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
+.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
+.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
+
+/* with multiple calendars */
+.ui-datepicker.ui-datepicker-multi { width:auto; }
+.ui-datepicker-multi .ui-datepicker-group { float:left; }
+.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
+.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
+.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
+.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
+.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
+.ui-datepicker-row-break { clear:both; width:100%; }
+
+/* RTL support */
+.ui-datepicker-rtl { direction: rtl; }
+.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+
+/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
+.ui-datepicker-cover {
+    display: none; /*sorry for IE5*/
+    display/**/: block; /*sorry for IE5*/
+    position: absolute; /*must have*/
+    z-index: -1; /*must have*/
+    filter: mask(); /*must have*/
+    top: -4px; /*must have*/
+    left: -4px; /*must have*/
+    width: 200px; /*must have*/
+    height: 200px; /*must have*/
+}/* Dialog
+----------------------------------*/
+.ui-dialog { position: relative; padding: .2em; width: 300px; }
+.ui-dialog .ui-dialog-titlebar { padding: .5em .3em .3em 1em; position: relative;  }
+.ui-dialog .ui-dialog-title { float: left; margin: .1em 0 .2em; } 
+.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
+.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
+.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
+.ui-dialog .ui-dialog-content { border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
+.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
+.ui-dialog .ui-dialog-buttonpane button { float: right; margin: .5em .4em .5em 0; cursor: pointer; padding: .2em .6em .3em .6em; line-height: 1.4em; width:auto; overflow:visible; }
+.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
+.ui-draggable .ui-dialog-titlebar { cursor: move; }
+/* Progressbar
+----------------------------------*/
+.ui-progressbar { height:2em; text-align: left; }
+.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }/* Resizable
+----------------------------------*/
+.ui-resizable { position: relative;}
+.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;}
+.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
+.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0px; }
+.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0px; }
+.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0px; height: 100%; }
+.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0px; height: 100%; }
+.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
+.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
+.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
+.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* Slider
+----------------------------------*/
+.ui-slider { position: relative; text-align: left; }
+.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
+.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; }
+
+.ui-slider-horizontal { height: .8em; }
+.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
+.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
+.ui-slider-horizontal .ui-slider-range-min { left: 0; }
+.ui-slider-horizontal .ui-slider-range-max { right: 0; }
+
+.ui-slider-vertical { width: .8em; height: 100px; }
+.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
+.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
+.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
+.ui-slider-vertical .ui-slider-range-max { top: 0; }/* Tabs
+----------------------------------*/
+.ui-tabs { padding: .2em; zoom: 1; }
+.ui-tabs .ui-tabs-nav { list-style: none; position: relative; padding: .2em .2em 0; }
+.ui-tabs .ui-tabs-nav li { position: relative; float: left; border-bottom-width: 0 !important; margin: 0 .2em -1px 0; padding: 0; }
+.ui-tabs .ui-tabs-nav li a { float: left; text-decoration: none; padding: .5em 1em; }
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected { padding-bottom: 1px; border-bottom-width: 0; }
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
+.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
+.ui-tabs .ui-tabs-panel { padding: 1em 1.4em; display: block; border-width: 0; background: none; }
+.ui-tabs .ui-tabs-hide { display: none !important; }
Index: tags/2.8.2/wb/include/jquery/jquery-pngFix.js
===================================================================
--- tags/2.8.2/wb/include/jquery/jquery-pngFix.js	(nonexistent)
+++ tags/2.8.2/wb/include/jquery/jquery-pngFix.js	(revision 1481)
@@ -0,0 +1,11 @@
+/**
+ * --------------------------------------------------------------------
+ * jQuery-Plugin "pngFix"
+ * Version: 1.1, 11.09.2007
+ * by Andreas Eberhard, andreas.eberhard@gmail.com
+ *                      http://jquery.andreaseberhard.de/
+ *
+ * Copyright (c) 2007 Andreas Eberhard
+ * Licensed under GPL (http://www.opensource.org/licenses/gpl-license.php)
+ */
+eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(s($){3.1s.1k=s(j){j=3.1a({12:\'1m.1j\'},j);8 k=(n.P=="r 10 Z"&&U(n.v)==4&&n.v.E("14 5.5")!=-1);8 l=(n.P=="r 10 Z"&&U(n.v)==4&&n.v.E("14 6.0")!=-1);o(3.17.16&&(k||l)){3(2).L("1r[@m$=.M]").z(s(){3(2).7(\'q\',3(2).q());3(2).7(\'p\',3(2).p());8 a=\'\';8 b=\'\';8 c=(3(2).7(\'K\'))?\'K="\'+3(2).7(\'K\')+\'" \':\'\';8 d=(3(2).7(\'A\'))?\'A="\'+3(2).7(\'A\')+\'" \':\'\';8 e=(3(2).7(\'C\'))?\'C="\'+3(2).7(\'C\')+\'" \':\'\';8 f=(3(2).7(\'B\'))?\'B="\'+3(2).7(\'B\')+\'" \':\'\';8 g=(3(2).7(\'R\'))?\'1d:\'+3(2).7(\'R\')+\';\':\'\';8 h=(3(2).1c().7(\'1b\'))?\'19:18;\':\'\';o(2.9.y){a+=\'y:\'+2.9.y+\';\';2.9.y=\'\'}o(2.9.t){a+=\'t:\'+2.9.t+\';\';2.9.t=\'\'}o(2.9.w){a+=\'w:\'+2.9.w+\';\';2.9.w=\'\'}8 i=(2.9.15);b+=\'<x \'+c+d+e+f;b+=\'9="13:11;1q-1p:1o-1n;O:W-V;N:1l;\'+g+h;b+=\'q:\'+3(2).q()+\'u;\'+\'p:\'+3(2).p()+\'u;\';b+=\'J:I:H.r.G\'+\'(m=\\\'\'+3(2).7(\'m\')+\'\\\', D=\\\'F\\\');\';b+=i+\'"></x>\';o(a!=\'\'){b=\'<x 9="13:11;O:W-V;\'+a+h+\'q:\'+3(2).q()+\'u;\'+\'p:\'+3(2).p()+\'u;\'+\'">\'+b+\'</x>\'}3(2).1i();3(2).1h(b)});3(2).L("*").z(s(){8 a=3(2).T(\'N-S\');o(a.E(".M")!=-1){8 b=a.X(\'1g("\')[1].X(\'")\')[0];3(2).T(\'N-S\',\'1f\');3(2).Q(0).Y.J="I:H.r.G(m=\'"+b+"\',D=\'F\')"}});3(2).L("1e[@m$=.M]").z(s(){8 a=3(2).7(\'m\');3(2).Q(0).Y.J=\'I:H.r.G\'+\'(m=\\\'\'+a+\'\\\', D=\\\'F\\\');\';3(2).7(\'m\',j.12)})}1t 3}})(3);',62,92,'||this|jQuery||||attr|var|style|||||||||||||src|navigator|if|height|width|Microsoft|function|padding|px|appVersion|margin|span|border|each|class|alt|title|sizingMethod|indexOf|scale|AlphaImageLoader|DXImageTransform|progid|filter|id|find|png|background|display|appName|get|align|image|css|parseInt|block|inline|split|runtimeStyle|Explorer|Internet|relative|blankgif|position|MSIE|cssText|msie|browser|hand|cursor|extend|href|parent|float|input|none|url|after|hide|gif|pngFix|transparent|blank|line|pre|space|white|img|fn|return'.split('|'),0,{}))
\ No newline at end of file
Index: tags/2.8.2/wb/include/jquery/images/ui-bg_glass_95_fef1ec_1x400.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/jquery/images/ui-bg_glass_95_fef1ec_1x400.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/jquery/images/ui-icons_888888_256x240.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/jquery/images/ui-icons_888888_256x240.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/jquery/images/ui-bg_glass_75_dadada_1x400.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/jquery/images/ui-bg_glass_75_dadada_1x400.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/jquery/images/ui-bg_flat_75_ffffff_40x100.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/jquery/images/ui-bg_flat_75_ffffff_40x100.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/jquery/images/ui-bg_glass_65_ffffff_1x400.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/jquery/images/ui-bg_glass_65_ffffff_1x400.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/jquery/images/ui-icons_454545_256x240.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/jquery/images/ui-icons_454545_256x240.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/jquery/images/ui-icons_222222_256x240.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/jquery/images/ui-icons_222222_256x240.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/jquery/jquery-min.js
===================================================================
--- tags/2.8.2/wb/include/jquery/jquery-min.js	(nonexistent)
+++ tags/2.8.2/wb/include/jquery/jquery-min.js	(revision 1481)
@@ -0,0 +1,152 @@
+/*!
+ * jQuery JavaScript Library v1.4.1
+ * http://jquery.com/
+ *
+ * Copyright 2010, John Resig
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ * Copyright 2010, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ *
+ * Date: Mon Jan 25 19:43:33 2010 -0500
+ */
+(function(z,v){function la(){if(!c.isReady){try{r.documentElement.doScroll("left")}catch(a){setTimeout(la,1);return}c.ready()}}function Ma(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,i){var j=a.length;if(typeof b==="object"){for(var n in b)X(a,n,b[n],f,e,d);return a}if(d!==v){f=!i&&f&&c.isFunction(d);for(n=0;n<j;n++)e(a[n],b,f?d.call(a[n],n,e(a[n],b)):d,i);return a}return j?
+e(a[0],b):null}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function ma(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function na(a){var b,d=[],f=[],e=arguments,i,j,n,o,m,s,x=c.extend({},c.data(this,"events").live);if(!(a.button&&a.type==="click")){for(o in x){j=x[o];if(j.live===a.type||j.altLive&&c.inArray(a.type,j.altLive)>-1){i=j.data;i.beforeFilter&&i.beforeFilter[a.type]&&!i.beforeFilter[a.type](a)||f.push(j.selector)}else delete x[o]}i=c(a.target).closest(f,
+a.currentTarget);m=0;for(s=i.length;m<s;m++)for(o in x){j=x[o];n=i[m].elem;f=null;if(i[m].selector===j.selector){if(j.live==="mouseenter"||j.live==="mouseleave")f=c(a.relatedTarget).closest(j.selector)[0];if(!f||f!==n)d.push({elem:n,fn:j})}}m=0;for(s=d.length;m<s;m++){i=d[m];a.currentTarget=i.elem;a.data=i.fn.data;if(i.fn.apply(i.elem,e)===false){b=false;break}}return b}}function oa(a,b){return"live."+(a?a+".":"")+b.replace(/\./g,"`").replace(/ /g,"&")}function pa(a){return!a||!a.parentNode||a.parentNode.nodeType===
+11}function qa(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var i in f)for(var j in f[i])c.event.add(this,i,f[i][j],f[i][j].data)}}})}function ra(a,b,d){var f,e,i;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&a[0].indexOf("<option")<0&&(c.support.checkClone||!sa.test(a[0]))){e=true;if(i=c.fragments[a[0]])if(i!==1)f=i}if(!f){b=b&&b[0]?b[0].ownerDocument||b[0]:r;f=b.createDocumentFragment();
+c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=i?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(ta.concat.apply([],ta.slice(0,b)),function(){d[this]=a});return d}function ua(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Na=z.jQuery,Oa=z.$,r=z.document,S,Pa=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Qa=/^.[^:#\[\.,]*$/,Ra=/\S/,Sa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Ta=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,O=navigator.userAgent,
+va=false,P=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,Q=Array.prototype.slice,wa=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(typeof a==="string")if((d=Pa.exec(a))&&(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:r;if(a=Ta.exec(a))if(c.isPlainObject(b)){a=[r.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=ra([d[1]],
+[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}}else{if(b=r.getElementById(d[2])){if(b.id!==d[2])return S.find(a);this.length=1;this[0]=b}this.context=r;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=r;a=r.getElementsByTagName(a)}else return!b||b.jquery?(b||S).find(a):c(b).find(a);else if(c.isFunction(a))return S.ready(a);if(a.selector!==v){this.selector=a.selector;this.context=a.context}return c.isArray(a)?this.setArray(a):c.makeArray(a,
+this)},selector:"",jquery:"1.4.1",length:0,size:function(){return this.length},toArray:function(){return Q.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){a=c(a||null);a.prevObject=this;a.context=this.context;if(b==="find")a.selector=this.selector+(this.selector?" ":"")+d;else if(b)a.selector=this.selector+"."+b+"("+d+")";return a},setArray:function(a){this.length=0;ba.apply(this,a);return this},each:function(a,b){return c.each(this,
+a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(r,c);else P&&P.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(Q.apply(this,arguments),"slice",Q.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};
+c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,i,j,n;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(i in e){j=a[i];n=e[i];if(a!==n)if(f&&n&&(c.isPlainObject(n)||c.isArray(n))){j=j&&(c.isPlainObject(j)||c.isArray(j))?j:c.isArray(n)?[]:{};a[i]=c.extend(f,j,n)}else if(n!==v)a[i]=n}return a};c.extend({noConflict:function(a){z.$=
+Oa;if(a)z.jQuery=Na;return c},isReady:false,ready:function(){if(!c.isReady){if(!r.body)return setTimeout(c.ready,13);c.isReady=true;if(P){for(var a,b=0;a=P[b++];)a.call(r,c);P=null}c.fn.triggerHandler&&c(r).triggerHandler("ready")}},bindReady:function(){if(!va){va=true;if(r.readyState==="complete")return c.ready();if(r.addEventListener){r.addEventListener("DOMContentLoaded",L,false);z.addEventListener("load",c.ready,false)}else if(r.attachEvent){r.attachEvent("onreadystatechange",L);z.attachEvent("onload",
+c.ready);var a=false;try{a=z.frameElement==null}catch(b){}r.documentElement.doScroll&&a&&la()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype,"isPrototypeOf"))return false;var b;for(b in a);return b===v||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;
+return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return z.JSON&&z.JSON.parse?z.JSON.parse(a):(new Function("return "+a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Ra.test(a)){var b=r.getElementsByTagName("head")[0]||
+r.documentElement,d=r.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(r.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,i=a.length,j=i===v||c.isFunction(a);if(d)if(j)for(f in a){if(b.apply(a[f],d)===false)break}else for(;e<i;){if(b.apply(a[e++],d)===false)break}else if(j)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=
+a[0];e<i&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Sa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]===a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==
+v;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,i=a.length;e<i;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,i=0,j=a.length;i<j;i++){e=b(a[i],i,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=v}else if(b&&!c.isFunction(b)){d=b;b=v}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},
+uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});O=c.uaMatch(O);if(O.browser){c.browser[O.browser]=true;c.browser.version=O.version}if(c.browser.webkit)c.browser.safari=true;if(wa)c.inArray=function(a,b){return wa.call(b,a)};S=c(r);if(r.addEventListener)L=function(){r.removeEventListener("DOMContentLoaded",
+L,false);c.ready()};else if(r.attachEvent)L=function(){if(r.readyState==="complete"){r.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=r.documentElement,b=r.createElement("script"),d=r.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";var e=d.getElementsByTagName("*"),i=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!i)){c.support=
+{leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(i.getAttribute("style")),hrefNormalized:i.getAttribute("href")==="/a",opacity:/^0.55$/.test(i.style.opacity),cssFloat:!!i.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:r.createElement("select").appendChild(r.createElement("option")).selected,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};
+b.type="text/javascript";try{b.appendChild(r.createTextNode("window."+f+"=1;"))}catch(j){}a.insertBefore(b,a.firstChild);if(z[f]){c.support.scriptEval=true;delete z[f]}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function n(){c.support.noCloneEvent=false;d.detachEvent("onclick",n)});d.cloneNode(true).fireEvent("onclick")}d=r.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=r.createDocumentFragment();a.appendChild(d.firstChild);
+c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var n=r.createElement("div");n.style.width=n.style.paddingLeft="1px";r.body.appendChild(n);c.boxModel=c.support.boxModel=n.offsetWidth===2;r.body.removeChild(n).style.display="none"});a=function(n){var o=r.createElement("div");n="on"+n;var m=n in o;if(!m){o.setAttribute(n,"return;");m=typeof o[n]==="function"}return m};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=i=null}})();c.props=
+{"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ua=0,xa={},Va={};c.extend({cache:{},expando:G,noData:{embed:true,object:true,applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==z?xa:a;var f=a[G],e=c.cache;if(!b&&!f)return null;f||(f=++Ua);if(typeof b==="object"){a[G]=f;e=e[f]=c.extend(true,
+{},b)}else e=e[f]?e[f]:typeof d==="undefined"?Va:(e[f]={});if(d!==v){a[G]=f;e[b]=d}return typeof b==="string"?e[b]:e}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==z?xa:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{try{delete a[G]}catch(i){a.removeAttribute&&a.removeAttribute(G)}delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,
+a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===v){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===v&&this.length)f=c.data(this[0],a);return f===v&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);
+return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===v)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||
+a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var ya=/[\n\t]/g,ca=/\s+/,Wa=/\r/g,Xa=/href|src|style/,Ya=/(button|input)/i,Za=/(button|input|object|select|textarea)/i,$a=/^(a|area)$/i,za=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(o){var m=
+c(this);m.addClass(a.call(this,o,m.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className)for(var i=" "+e.className+" ",j=0,n=b.length;j<n;j++){if(i.indexOf(" "+b[j]+" ")<0)e.className+=" "+b[j]}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(o){var m=c(this);m.removeClass(a.call(this,o,m.attr("class")))});if(a&&typeof a==="string"||a===v)for(var b=(a||"").split(ca),
+d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var i=(" "+e.className+" ").replace(ya," "),j=0,n=b.length;j<n;j++)i=i.replace(" "+b[j]+" "," ");e.className=i.substring(1,i.length-1)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var i=c(this);i.toggleClass(a.call(this,e,i.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,i=0,j=c(this),n=b,o=
+a.split(ca);e=o[i++];){n=f?n:!j.hasClass(e);j[n?"addClass":"removeClass"](e)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className=this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(ya," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===v){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||
+{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var i=b?d:0;for(d=b?d+1:e.length;i<d;i++){var j=e[i];if(j.selected){a=c(j).val();if(b)return a;f.push(a)}}return f}if(za.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Wa,"")}return v}var n=c.isFunction(a);return this.each(function(o){var m=c(this),s=a;if(this.nodeType===1){if(n)s=a.call(this,o,m.val());
+if(typeof s==="number")s+="";if(c.isArray(s)&&za.test(this.type))this.checked=c.inArray(m.val(),s)>=0;else if(c.nodeName(this,"select")){var x=c.makeArray(s);c("option",this).each(function(){this.selected=c.inArray(c(this).val(),x)>=0});if(!x.length)this.selectedIndex=-1}else this.value=s}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return v;if(f&&b in c.attrFn)return c(a)[b](d);
+f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==v;b=f&&c.props[b]||b;if(a.nodeType===1){var i=Xa.test(b);if(b in a&&f&&!i){if(e){b==="type"&&Ya.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:Za.test(a.nodeName)||$a.test(a.nodeName)&&a.href?0:v;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=
+""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&i?a.getAttribute(b,2):a.getAttribute(b);return a===null?v:a}return c.style(a,b,d)}});var ab=function(a){return a.replace(/[^\w\s\.\|`]/g,function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==z&&!a.frameElement)a=z;if(!d.guid)d.guid=c.guid++;if(f!==v){d=c.proxy(d);d.data=f}var e=c.data(a,"events")||c.data(a,"events",{}),i=c.data(a,"handle"),j;if(!i){j=
+function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(j.elem,arguments):v};i=c.data(a,"handle",j)}if(i){i.elem=a;b=b.split(/\s+/);for(var n,o=0;n=b[o++];){var m=n.split(".");n=m.shift();if(o>1){d=c.proxy(d);if(f!==v)d.data=f}d.type=m.slice(0).sort().join(".");var s=e[n],x=this.special[n]||{};if(!s){s=e[n]={};if(!x.setup||x.setup.call(a,f,m,d)===false)if(a.addEventListener)a.addEventListener(n,i,false);else a.attachEvent&&a.attachEvent("on"+n,i)}if(x.add)if((m=x.add.call(a,
+d,f,m,s))&&c.isFunction(m)){m.guid=m.guid||d.guid;m.data=m.data||d.data;m.type=m.type||d.type;d=m}s[d.guid]=d;this.global[n]=true}a=null}}},global:{},remove:function(a,b,d){if(!(a.nodeType===3||a.nodeType===8)){var f=c.data(a,"events"),e,i,j;if(f){if(b===v||typeof b==="string"&&b.charAt(0)===".")for(i in f)this.remove(a,i+(b||""));else{if(b.type){d=b.handler;b=b.type}b=b.split(/\s+/);for(var n=0;i=b[n++];){var o=i.split(".");i=o.shift();var m=!o.length,s=c.map(o.slice(0).sort(),ab);s=new RegExp("(^|\\.)"+
+s.join("\\.(?:.*\\.)?")+"(\\.|$)");var x=this.special[i]||{};if(f[i]){if(d){j=f[i][d.guid];delete f[i][d.guid]}else for(var A in f[i])if(m||s.test(f[i][A].type))delete f[i][A];x.remove&&x.remove.call(a,o,j);for(e in f[i])break;if(!e){if(!x.teardown||x.teardown.call(a,o)===false)if(a.removeEventListener)a.removeEventListener(i,c.data(a,"handle"),false);else a.detachEvent&&a.detachEvent("on"+i,c.data(a,"handle"));e=null;delete f[i]}}}}for(e in f)break;if(!e){if(A=c.data(a,"handle"))A.elem=null;c.removeData(a,
+"events");c.removeData(a,"handle")}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type=e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();this.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return v;a.result=v;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,
+b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(i){}if(!a.isPropagationStopped()&&f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){d=a.target;var j;if(!(c.nodeName(d,"a")&&e==="click")&&!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()])){try{if(d[e]){if(j=d["on"+e])d["on"+e]=null;this.triggered=true;d[e]()}}catch(n){}if(j)d["on"+e]=j;this.triggered=false}}},handle:function(a){var b,
+d;a=arguments[0]=c.event.fix(a||z.event);a.currentTarget=this;d=a.type.split(".");a.type=d.shift();b=!d.length&&!a.exclusive;var f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)");d=(c.data(this,"events")||{})[a.type];for(var e in d){var i=d[e];if(b||f.test(i.type)){a.handler=i;a.data=i.data;i=i.apply(this,arguments);if(i!==v){a.result=i;if(i===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
+fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||r;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=r.documentElement;d=r.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
+d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==v)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a,b){c.extend(a,b||{});a.guid+=b.selector+b.live;b.liveProxy=a;c.event.add(this,b.live,na,b)},remove:function(a){if(a.length){var b=
+0,d=new RegExp("(^|\\.)"+a[0]+"(\\.|$)");c.each(c.data(this,"events").live||{},function(){d.test(this.type)&&b++});b<1&&c.event.remove(this,a[0],na)}},special:{}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=a;this.type=a.type}else this.type=a;this.timeStamp=J();this[G]=true};
+c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented:Y,isPropagationStopped:Y,isImmediatePropagationStopped:Y};var Aa=function(a){for(var b=
+a.relatedTarget;b&&b!==this;)try{b=b.parentNode}catch(d){break}if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}},Ba=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ba:Aa,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ba:Aa)}}});if(!c.support.submitBubbles)c.event.special.submit={setup:function(a,b,d){if(this.nodeName.toLowerCase()!==
+"form"){c.event.add(this,"click.specialSubmit."+d.guid,function(f){var e=f.target,i=e.type;if((i==="submit"||i==="image")&&c(e).closest("form").length)return ma("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit."+d.guid,function(f){var e=f.target,i=e.type;if((i==="text"||i==="password")&&c(e).closest("form").length&&f.keyCode===13)return ma("submit",this,arguments)})}else return false},remove:function(a,b){c.event.remove(this,"click.specialSubmit"+(b?"."+b.guid:""));c.event.remove(this,
+"keypress.specialSubmit"+(b?"."+b.guid:""))}};if(!c.support.changeBubbles){var da=/textarea|input|select/i;function Ca(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d}function ea(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Ca(d);if(a.type!=="focusout"||
+d.type!=="radio")c.data(d,"_change_data",e);if(!(f===v||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}}c.event.special.change={filters:{focusout:ea,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return ea.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return ea.call(this,a)},beforeactivate:function(a){a=
+a.target;a.nodeName.toLowerCase()==="input"&&a.type==="radio"&&c.data(a,"_change_data",Ca(a))}},setup:function(a,b,d){for(var f in T)c.event.add(this,f+".specialChange."+d.guid,T[f]);return da.test(this.nodeName)},remove:function(a,b){for(var d in T)c.event.remove(this,d+".specialChange"+(b?"."+b.guid:""),T[d]);return da.test(this.nodeName)}};var T=c.event.special.change.filters}r.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,
+f)}c.event.special[b]={setup:function(){this.addEventListener(a,d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var i in d)this[b](i,f,d[i],e);return this}if(c.isFunction(f)){e=f;f=v}var j=b==="one"?c.proxy(e,function(n){c(this).unbind(n,j);return e.apply(this,arguments)}):e;return d==="unload"&&b!=="one"?this.one(d,f,e):this.each(function(){c.event.add(this,d,j,f)})}});c.fn.extend({unbind:function(a,
+b){if(typeof a==="object"&&!a.preventDefault){for(var d in a)this.unbind(d,a[d]);return this}return this.each(function(){c.event.remove(this,a,b)})},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.result}},toggle:function(a){for(var b=arguments,d=1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(f){var e=(c.data(this,"lastToggle"+
+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e){var i,j=0;if(c.isFunction(f)){e=f;f=v}for(d=(d||"").split(/\s+/);(i=d[j++])!=null;){i=i==="focus"?"focusin":i==="blur"?"focusout":i==="hover"?d.push("mouseleave")&&"mouseenter":i;b==="live"?c(this.context).bind(oa(i,this.selector),{data:f,selector:this.selector,
+live:i},e):c(this.context).unbind(oa(i,this.selector),e?{guid:e.guid+this.selector+i}:null)}return this}});c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){c.fn[b]=function(d){return d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});z.attachEvent&&!z.addEventListener&&z.attachEvent("onunload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});
+(function(){function a(g){for(var h="",k,l=0;g[l];l++){k=g[l];if(k.nodeType===3||k.nodeType===4)h+=k.nodeValue;else if(k.nodeType!==8)h+=a(k.childNodes)}return h}function b(g,h,k,l,q,p){q=0;for(var u=l.length;q<u;q++){var t=l[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===k){y=l[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=k;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}l[q]=y}}}function d(g,h,k,l,q,p){q=0;for(var u=l.length;q<u;q++){var t=l[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===
+k){y=l[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=k;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(o.filter(h,[t]).length>0){y=t;break}}t=t[g]}l[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,i=Object.prototype.toString,j=false,n=true;[0,0].sort(function(){n=false;return 0});var o=function(g,h,k,l){k=k||[];var q=h=h||r;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||
+typeof g!=="string")return k;for(var p=[],u,t,y,R,H=true,M=w(h),I=g;(f.exec(""),u=f.exec(I))!==null;){I=u[3];p.push(u[1]);if(u[2]){R=u[3];break}}if(p.length>1&&s.exec(g))if(p.length===2&&m.relative[p[0]])t=fa(p[0]+p[1],h);else for(t=m.relative[p[0]]?[h]:o(p.shift(),h);p.length;){g=p.shift();if(m.relative[g])g+=p.shift();t=fa(g,t)}else{if(!l&&p.length>1&&h.nodeType===9&&!M&&m.match.ID.test(p[0])&&!m.match.ID.test(p[p.length-1])){u=o.find(p.shift(),h,M);h=u.expr?o.filter(u.expr,u.set)[0]:u.set[0]}if(h){u=
+l?{expr:p.pop(),set:A(l)}:o.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=u.expr?o.filter(u.expr,u.set):u.set;if(p.length>0)y=A(t);else H=false;for(;p.length;){var D=p.pop();u=D;if(m.relative[D])u=p.pop();else D="";if(u==null)u=h;m.relative[D](y,u,M)}}else y=[]}y||(y=t);y||o.error(D||g);if(i.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))k.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&
+y[g].nodeType===1&&k.push(t[g]);else k.push.apply(k,y);else A(y,k);if(R){o(R,q,k,l);o.uniqueSort(k)}return k};o.uniqueSort=function(g){if(C){j=n;g.sort(C);if(j)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};o.matches=function(g,h){return o(g,null,null,h)};o.find=function(g,h,k){var l,q;if(!g)return[];for(var p=0,u=m.order.length;p<u;p++){var t=m.order[p];if(q=m.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");l=m.find[t](q,
+h,k);if(l!=null){g=g.replace(m.match[t],"");break}}}}l||(l=h.getElementsByTagName("*"));return{set:l,expr:g}};o.filter=function(g,h,k,l){for(var q=g,p=[],u=h,t,y,R=h&&h[0]&&w(h[0]);g&&h.length;){for(var H in m.filter)if((t=m.leftMatch[H].exec(g))!=null&&t[2]){var M=m.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length-1)!=="\\"){if(u===p)p=[];if(m.preFilter[H])if(t=m.preFilter[H](t,u,k,p,l,R)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=u[U])!=null;U++)if(D){I=M(D,t,U,u);var Da=
+l^!!I;if(k&&I!=null)if(Da)y=true;else u[U]=false;else if(Da){p.push(D);y=true}}if(I!==v){k||(u=p);g=g.replace(m.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)o.error(g);else break;q=g}return u};o.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var m=o.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,
+TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},relative:{"+":function(g,h){var k=typeof h==="string",l=k&&!/\W/.test(h);k=k&&!l;if(l)h=h.toLowerCase();l=0;for(var q=g.length,
+p;l<q;l++)if(p=g[l]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[l]=k||p&&p.nodeName.toLowerCase()===h?p||false:p===h}k&&o.filter(h,g,true)},">":function(g,h){var k=typeof h==="string";if(k&&!/\W/.test(h)){h=h.toLowerCase();for(var l=0,q=g.length;l<q;l++){var p=g[l];if(p){k=p.parentNode;g[l]=k.nodeName.toLowerCase()===h?k:false}}}else{l=0;for(q=g.length;l<q;l++)if(p=g[l])g[l]=k?p.parentNode:p.parentNode===h;k&&o.filter(h,g,true)}},"":function(g,h,k){var l=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=
+h=h.toLowerCase();q=b}q("parentNode",h,l,g,p,k)},"~":function(g,h,k){var l=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,l,g,p,k)}},find:{ID:function(g,h,k){if(typeof h.getElementById!=="undefined"&&!k)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var k=[];h=h.getElementsByName(g[1]);for(var l=0,q=h.length;l<q;l++)h[l].getAttribute("name")===g[1]&&k.push(h[l]);return k.length===0?null:k}},
+TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,k,l,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=0;for(var u;(u=h[p])!=null;p++)if(u)if(q^(u.className&&(" "+u.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))k||l.push(u);else if(k)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&
+"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,k,l,q,p){h=g[1].replace(/\\/g,"");if(!p&&m.attrMap[h])g[1]=m.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,k,l,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=o(g[3],null,null,h);else{g=o.filter(g[3],h,k,true^q);k||l.push.apply(l,g);return false}else if(m.match.POS.test(g[0])||m.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);
+return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,k){return!!o(k[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===
+g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},setFilters:{first:function(g,h){return h===0},last:function(g,h,k,l){return h===l.length-1},even:function(g,h){return h%2===
+0},odd:function(g,h){return h%2===1},lt:function(g,h,k){return h<k[3]-0},gt:function(g,h,k){return h>k[3]-0},nth:function(g,h,k){return k[3]-0===h},eq:function(g,h,k){return k[3]-0===h}},filter:{PSEUDO:function(g,h,k,l){var q=h[1],p=m.filters[q];if(p)return p(g,k,h,l);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h=h[3];k=0;for(l=h.length;k<l;k++)if(h[k]===g)return false;return true}else o.error("Syntax error, unrecognized expression: "+
+q)},CHILD:function(g,h){var k=h[1],l=g;switch(k){case "only":case "first":for(;l=l.previousSibling;)if(l.nodeType===1)return false;if(k==="first")return true;l=g;case "last":for(;l=l.nextSibling;)if(l.nodeType===1)return false;return true;case "nth":k=h[2];var q=h[3];if(k===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var u=0;for(l=p.firstChild;l;l=l.nextSibling)if(l.nodeType===1)l.nodeIndex=++u;p.sizcache=h}g=g.nodeIndex-q;return k===0?g===0:g%k===0&&g/k>=
+0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var k=h[1];g=m.attrHandle[k]?m.attrHandle[k](g):g[k]!=null?g[k]:g.getAttribute(k);k=g+"";var l=h[2];h=h[4];return g==null?l==="!=":l==="="?k===h:l==="*="?k.indexOf(h)>=0:l==="~="?(" "+k+" ").indexOf(h)>=0:!h?k&&g!==false:l==="!="?k!==h:l==="^="?
+k.indexOf(h)===0:l==="$="?k.substr(k.length-h.length)===h:l==="|="?k===h||k.substr(0,h.length+1)===h+"-":false},POS:function(g,h,k,l){var q=m.setFilters[h[2]];if(q)return q(g,k,h,l)}}},s=m.match.POS;for(var x in m.match){m.match[x]=new RegExp(m.match[x].source+/(?![^\[]*\])(?![^\(]*\))/.source);m.leftMatch[x]=new RegExp(/(^(?:.|\r|\n)*?)/.source+m.match[x].source.replace(/\\(\d+)/g,function(g,h){return"\\"+(h-0+1)}))}var A=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};
+try{Array.prototype.slice.call(r.documentElement.childNodes,0)}catch(B){A=function(g,h){h=h||[];if(i.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var k=0,l=g.length;k<l;k++)h.push(g[k]);else for(k=0;g[k];k++)h.push(g[k]);return h}}var C;if(r.documentElement.compareDocumentPosition)C=function(g,h){if(!g.compareDocumentPosition||!h.compareDocumentPosition){if(g==h)j=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===
+h?0:1;if(g===0)j=true;return g};else if("sourceIndex"in r.documentElement)C=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)j=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)j=true;return g};else if(r.createRange)C=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)j=true;return g.ownerDocument?-1:1}var k=g.ownerDocument.createRange(),l=h.ownerDocument.createRange();k.setStart(g,0);k.setEnd(g,0);l.setStart(h,0);l.setEnd(h,0);g=k.compareBoundaryPoints(Range.START_TO_END,
+l);if(g===0)j=true;return g};(function(){var g=r.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var k=r.documentElement;k.insertBefore(g,k.firstChild);if(r.getElementById(h)){m.find.ID=function(l,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(l[1]))?q.id===l[1]||typeof q.getAttributeNode!=="undefined"&&q.getAttributeNode("id").nodeValue===l[1]?[q]:v:[]};m.filter.ID=function(l,q){var p=typeof l.getAttributeNode!=="undefined"&&l.getAttributeNode("id");
+return l.nodeType===1&&p&&p.nodeValue===q}}k.removeChild(g);k=g=null})();(function(){var g=r.createElement("div");g.appendChild(r.createComment(""));if(g.getElementsByTagName("*").length>0)m.find.TAG=function(h,k){k=k.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var l=0;k[l];l++)k[l].nodeType===1&&h.push(k[l]);k=h}return k};g.innerHTML="<a href='#'></a>";if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")m.attrHandle.href=function(h){return h.getAttribute("href",
+2)};g=null})();r.querySelectorAll&&function(){var g=o,h=r.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){o=function(l,q,p,u){q=q||r;if(!u&&q.nodeType===9&&!w(q))try{return A(q.querySelectorAll(l),p)}catch(t){}return g(l,q,p,u)};for(var k in g)o[k]=g[k];h=null}}();(function(){var g=r.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===
+0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){m.order.splice(1,0,"CLASS");m.find.CLASS=function(h,k,l){if(typeof k.getElementsByClassName!=="undefined"&&!l)return k.getElementsByClassName(h[1])};g=null}}})();var E=r.compareDocumentPosition?function(g,h){return g.compareDocumentPosition(h)&16}:function(g,h){return g!==h&&(g.contains?g.contains(h):true)},w=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},fa=function(g,h){var k=[],
+l="",q;for(h=h.nodeType?[h]:h;q=m.match.PSEUDO.exec(g);){l+=q[0];g=g.replace(m.match.PSEUDO,"")}g=m.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)o(g,h[q],k);return o.filter(l,k)};c.find=o;c.expr=o.selectors;c.expr[":"]=c.expr.filters;c.unique=o.uniqueSort;c.getText=a;c.isXMLDoc=w;c.contains=E})();var bb=/Until$/,cb=/^(?:parents|prevUntil|prevAll)/,db=/,/;Q=Array.prototype.slice;var Ea=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,i){return!!b.call(e,i,e)===d});else if(b.nodeType)return c.grep(a,
+function(e){return e===b===d});else if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1});if(Qa.test(b))return c.filter(b,f,!d);else b=c.filter(b,f)}return c.grep(a,function(e){return c.inArray(e,b)>=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f++){d=b.length;c.find(a,this[f],b);if(f>0)for(var i=d;i<b.length;i++)for(var j=0;j<d;j++)if(b[j]===b[i]){b.splice(i--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=
+0,f=b.length;d<f;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(Ea(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ea(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,i={},j;if(f&&a.length){e=0;for(var n=a.length;e<n;e++){j=a[e];i[j]||(i[j]=c.expr.match.POS.test(j)?c(j,b||this.context):j)}for(;f&&f.ownerDocument&&f!==b;){for(j in i){e=i[j];if(e.jquery?e.index(f)>
+-1:c(f).is(e)){d.push({selector:j,elem:f});delete i[j]}}f=f.parentNode}}return d}var o=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(m,s){for(;s&&s.ownerDocument&&s!==b;){if(o?o.index(s)>-1:c(s).is(a))return s;s=s.parentNode}return null})},index:function(a){if(!a||typeof a==="string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),
+a);return this.pushStack(pa(a[0])||pa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},
+nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);bb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):
+e;if((this.length>1||db.test(f))&&cb.test(a))e=e.reverse();return this.pushStack(e,a,Q.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===v||a.nodeType!==1||!c(a).is(d));){a.nodeType===1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==
+b&&d.push(a);return d}});var Fa=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ga=/(<([\w:]+)[^>]*?)\/>/g,eb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,Ha=/<([\w:]+)/,fb=/<tbody/i,gb=/<|&\w+;/,sa=/checked\s*(?:[^=]|=\s*.checked.)/i,Ia=function(a,b,d){return eb.test(d)?a:b+"></"+d+">"},F={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],
+col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==v)return this.empty().append((this[0]&&this[0].ownerDocument||r).createTextNode(a));return c.getText(this)},
+wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?
+d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,
+false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&
+!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Fa,"").replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){qa(this,b);qa(this.find("*"),b.find("*"))}return b},html:function(a){if(a===v)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Fa,""):null;else if(typeof a==="string"&&!/<script/i.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(Ha.exec(a)||
+["",""])[1].toLowerCase()]){a=a.replace(Ga,Ia);try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(f){this.empty().append(a)}}else c.isFunction(a)?this.each(function(e){var i=c(this),j=i.html();i.empty().append(function(){return a.call(this,e,j)})}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),f=d.html();d.replaceWith(a.call(this,
+b,f))});else a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){function f(s){return c.nodeName(s,"table")?s.getElementsByTagName("tbody")[0]||s.appendChild(s.ownerDocument.createElement("tbody")):s}var e,i,j=a[0],n=[];if(!c.support.checkClone&&arguments.length===3&&typeof j===
+"string"&&sa.test(j))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(j))return this.each(function(s){var x=c(this);a[0]=j.call(this,s,b?x.html():v);x.domManip(a,b,d)});if(this[0]){e=a[0]&&a[0].parentNode&&a[0].parentNode.nodeType===11?{fragment:a[0].parentNode}:ra(a,this,n);if(i=e.fragment.firstChild){b=b&&c.nodeName(i,"tr");for(var o=0,m=this.length;o<m;o++)d.call(b?f(this[o],i):this[o],e.cacheable||this.length>1||o>0?e.fragment.cloneNode(true):e.fragment)}n&&c.each(n,
+Ma)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);for(var e=0,i=d.length;e<i;e++){var j=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),j);f=f.concat(j)}return this.pushStack(f,a,d.selector)}});c.each({remove:function(a,b){if(!a||c.filter(a,[this]).length){if(!b&&this.nodeType===1){c.cleanData(this.getElementsByTagName("*"));c.cleanData([this])}this.parentNode&&
+this.parentNode.removeChild(this)}},empty:function(){for(this.nodeType===1&&c.cleanData(this.getElementsByTagName("*"));this.firstChild;)this.removeChild(this.firstChild)}},function(a,b){c.fn[a]=function(){return this.each(b,arguments)}});c.extend({clean:function(a,b,d,f){b=b||r;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||r;var e=[];c.each(a,function(i,j){if(typeof j==="number")j+="";if(j){if(typeof j==="string"&&!gb.test(j))j=b.createTextNode(j);else if(typeof j===
+"string"){j=j.replace(Ga,Ia);var n=(Ha.exec(j)||["",""])[1].toLowerCase(),o=F[n]||F._default,m=o[0];i=b.createElement("div");for(i.innerHTML=o[1]+j+o[2];m--;)i=i.lastChild;if(!c.support.tbody){m=fb.test(j);n=n==="table"&&!m?i.firstChild&&i.firstChild.childNodes:o[1]==="<table>"&&!m?i.childNodes:[];for(o=n.length-1;o>=0;--o)c.nodeName(n[o],"tbody")&&!n[o].childNodes.length&&n[o].parentNode.removeChild(n[o])}!c.support.leadingWhitespace&&V.test(j)&&i.insertBefore(b.createTextNode(V.exec(j)[0]),i.firstChild);
+j=c.makeArray(i.childNodes)}if(j.nodeType)e.push(j);else e=c.merge(e,j)}});if(d)for(a=0;e[a];a++)if(f&&c.nodeName(e[a],"script")&&(!e[a].type||e[a].type.toLowerCase()==="text/javascript"))f.push(e[a].parentNode?e[a].parentNode.removeChild(e[a]):e[a]);else{e[a].nodeType===1&&e.splice.apply(e,[a+1,0].concat(c.makeArray(e[a].getElementsByTagName("script"))));d.appendChild(e[a])}return e},cleanData:function(a){for(var b=0,d;(d=a[b])!=null;b++){c.event.remove(d);c.removeData(d)}}});var hb=/z-?index|font-?weight|opacity|zoom|line-?height/i,
+Ja=/alpha\([^)]*\)/,Ka=/opacity=([^)]*)/,ga=/float/i,ha=/-([a-z])/ig,ib=/([A-Z])/g,jb=/^-?\d+(?:px)?$/i,kb=/^-?\d/,lb={position:"absolute",visibility:"hidden",display:"block"},mb=["Left","Right"],nb=["Top","Bottom"],ob=r.defaultView&&r.defaultView.getComputedStyle,La=c.support.cssFloat?"cssFloat":"styleFloat",ia=function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===v)return c.curCSS(d,f);if(typeof e==="number"&&!hb.test(f))e+="px";c.style(d,f,e)})};
+c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return v;if((b==="width"||b==="height")&&parseFloat(d)<0)d=v;var f=a.style||a,e=d!==v;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter=Ja.test(a)?a.replace(Ja,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Ka.exec(f.filter)[1])/100+"":""}if(ga.test(b))b=La;b=b.replace(ha,ia);if(e)f[b]=d;return f[b]},css:function(a,
+b,d,f){if(b==="width"||b==="height"){var e,i=b==="width"?mb:nb;function j(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(i,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a,"border"+this+"Width",true))||0})}a.offsetWidth!==0?j():c.swap(a,lb,j);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&
+a.currentStyle){f=Ka.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ga.test(b))b=La;if(!d&&e&&e[b])f=e[b];else if(ob){if(ga.test(b))b="float";b=b.replace(ib,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f=a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ha,ia);f=a.currentStyle[b]||a.currentStyle[d];if(!jb.test(f)&&kb.test(f)){b=e.left;var i=a.runtimeStyle.left;a.runtimeStyle.left=
+a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=i}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var pb=
+J(),qb=/<script(.|\s)*?\/script>/gi,rb=/select|textarea/i,sb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ja=/\?/,tb=/(\?|&)_=.*?(&|$)/,ub=/^(\w+:)?\/\/([^\/?#]+)/,vb=/%20/g;c.fn.extend({_load:c.fn.load,load:function(a,b,d){if(typeof a!=="string")return this._load(a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=
+c.param(b,c.ajaxSettings.traditional);f="POST"}var i=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(j,n){if(n==="success"||n==="notmodified")i.html(e?c("<div />").append(j.responseText.replace(qb,"")).find(e):j.responseText);d&&i.each(d,[j.responseText,n,j])}});return this},serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&
+(this.checked||rb.test(this.nodeName)||sb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,
+b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:z.XMLHttpRequest&&(z.location.protocol!=="file:"||!z.ActiveXObject)?function(){return new z.XMLHttpRequest}:
+function(){try{return new z.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&&e.success.call(o,n,j,w);e.global&&f("ajaxSuccess",[w,e])}function d(){e.complete&&e.complete.call(o,w,j);e.global&&f("ajaxComplete",[w,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}
+function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),i,j,n,o=a&&a.context||e,m=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(m==="GET")N.test(e.url)||(e.url+=(ja.test(e.url)?"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||
+N.test(e.url))){i=e.jsonpCallback||"jsonp"+pb++;if(e.data)e.data=(e.data+"").replace(N,"="+i+"$1");e.url=e.url.replace(N,"="+i+"$1");e.dataType="script";z[i]=z[i]||function(q){n=q;b();d();z[i]=v;try{delete z[i]}catch(p){}A&&A.removeChild(B)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache===false&&m==="GET"){var s=J(),x=e.url.replace(tb,"$1_="+s+"$2");e.url=x+(x===e.url?(ja.test(e.url)?"&":"?")+"_="+s:"")}if(e.data&&m==="GET")e.url+=(ja.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&
+c.event.trigger("ajaxStart");s=(s=ub.exec(e.url))&&(s[1]&&s[1]!==location.protocol||s[2]!==location.host);if(e.dataType==="script"&&m==="GET"&&s){var A=r.getElementsByTagName("head")[0]||r.documentElement,B=r.createElement("script");B.src=e.url;if(e.scriptCharset)B.charset=e.scriptCharset;if(!i){var C=false;B.onload=B.onreadystatechange=function(){if(!C&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){C=true;b();d();B.onload=B.onreadystatechange=null;A&&B.parentNode&&
+A.removeChild(B)}}}A.insertBefore(B,A.firstChild);return v}var E=false,w=e.xhr();if(w){e.username?w.open(m,e.url,e.async,e.username,e.password):w.open(m,e.url,e.async);try{if(e.data||a&&a.contentType)w.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&w.setRequestHeader("If-Modified-Since",c.lastModified[e.url]);c.etag[e.url]&&w.setRequestHeader("If-None-Match",c.etag[e.url])}s||w.setRequestHeader("X-Requested-With","XMLHttpRequest");w.setRequestHeader("Accept",
+e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(fa){}if(e.beforeSend&&e.beforeSend.call(o,w,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");w.abort();return false}e.global&&f("ajaxSend",[w,e]);var g=w.onreadystatechange=function(q){if(!w||w.readyState===0||q==="abort"){E||d();E=true;if(w)w.onreadystatechange=c.noop}else if(!E&&w&&(w.readyState===4||q==="timeout")){E=true;w.onreadystatechange=c.noop;j=q==="timeout"?"timeout":!c.httpSuccess(w)?
+"error":e.ifModified&&c.httpNotModified(w,e.url)?"notmodified":"success";var p;if(j==="success")try{n=c.httpData(w,e.dataType,e)}catch(u){j="parsererror";p=u}if(j==="success"||j==="notmodified")i||b();else c.handleError(e,w,j,p);d();q==="timeout"&&w.abort();if(e.async)w=null}};try{var h=w.abort;w.abort=function(){w&&h.call(w);g("abort")}}catch(k){}e.async&&e.timeout>0&&setTimeout(function(){w&&!E&&g("timeout")},e.timeout);try{w.send(m==="POST"||m==="PUT"||m==="DELETE"?e.data:null)}catch(l){c.handleError(e,
+w,null,l);d()}e.async||g();return w}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=
+f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b==="json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(j,n){if(c.isArray(n))c.each(n,
+function(o,m){b?f(j,m):d(j+"["+(typeof m==="object"||c.isArray(m)?o:"")+"]",m)});else!b&&n!=null&&typeof n==="object"?c.each(n,function(o,m){d(j+"["+o+"]",m)}):f(j,n)}function f(j,n){n=c.isFunction(n)?n():n;e[e.length]=encodeURIComponent(j)+"="+encodeURIComponent(n)}var e=[];if(b===v)b=c.ajaxSettings.traditional;if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var i in a)d(i,a[i]);return e.join("&").replace(vb,"+")}});var ka={},wb=/toggle|show|hide/,xb=/^([+-]=)?([\d+-.]+)(.*)$/,
+W,ta=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(ka[d])f=ka[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();
+ka[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a],"olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&
+c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d)},animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var i=c.extend({},e),j,n=this.nodeType===1&&c(this).is(":hidden"),
+o=this;for(j in a){var m=j.replace(ha,ia);if(j!==m){a[m]=a[j];delete a[j];j=m}if(a[j]==="hide"&&n||a[j]==="show"&&!n)return i.complete.call(this);if((j==="height"||j==="width")&&this.style){i.display=c.css(this,"display");i.overflow=this.style.overflow}if(c.isArray(a[j])){(i.specialEasing=i.specialEasing||{})[j]=a[j][1];a[j]=a[j][0]}}if(i.overflow!=null)this.style.overflow="hidden";i.curAnim=c.extend({},a);c.each(a,function(s,x){var A=new c.fx(o,i,s);if(wb.test(x))A[x==="toggle"?n?"show":"hide":x](a);
+else{var B=xb.exec(x),C=A.cur(true)||0;if(B){x=parseFloat(B[2]);var E=B[3]||"px";if(E!=="px"){o.style[s]=(x||1)+E;C=(x||1)/A.cur(true)*C;o.style[s]=C+E}if(B[1])x=(B[1]==="-="?-1:1)*x+C;A.custom(C,x,E)}else A.custom(C,x,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",
+1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration==="number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,
+b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==
+null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(i){return e.step(i)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop===
+"width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=
+this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem,e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=
+c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||c.fx.stop()},stop:function(){clearInterval(W);W=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=
+null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClientRect"in r.documentElement?function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),
+f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:function(a){var b=this[0];if(a)return this.each(function(s){c.offset.setOffset(this,a,s)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=
+b,e=b.ownerDocument,i,j=e.documentElement,n=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var o=b.offsetTop,m=b.offsetLeft;(b=b.parentNode)&&b!==n&&b!==j;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;i=e?e.getComputedStyle(b,null):b.currentStyle;o-=b.scrollTop;m-=b.scrollLeft;if(b===d){o+=b.offsetTop;m+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){o+=parseFloat(i.borderTopWidth)||
+0;m+=parseFloat(i.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&i.overflow!=="visible"){o+=parseFloat(i.borderTopWidth)||0;m+=parseFloat(i.borderLeftWidth)||0}f=i}if(f.position==="relative"||f.position==="static"){o+=n.offsetTop;m+=n.offsetLeft}if(c.offset.supportsFixedPosition&&f.position==="fixed"){o+=Math.max(j.scrollTop,n.scrollTop);m+=Math.max(j.scrollLeft,n.scrollLeft)}return{top:o,left:m}};c.offset={initialize:function(){var a=r.body,b=r.createElement("div"),
+d,f,e,i=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";a.insertBefore(b,a.firstChild);
+d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i;a.removeChild(b);c.offset.initialize=c.noop},
+bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),i=parseInt(c.curCSS(a,"top",true),10)||0,j=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a,d,e);d={top:b.top-e.top+i,left:b.left-
+e.left+j};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top-f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=
+this.offsetParent||r.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],i;if(!e)return null;if(f!==v)return this.each(function(){if(i=ua(this))i.scrollTo(!a?f:c(i).scrollLeft(),a?f:c(i).scrollTop());else this[d]=f});else return(i=ua(e))?"pageXOffset"in i?i[a?"pageYOffset":"pageXOffset"]:c.support.boxModel&&i.document.documentElement[d]||i.document.body[d]:e[d]}});
+c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(i){var j=c(this);j[d](f.call(this,i,j[d]()))});return"scrollTo"in e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||
+e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===v?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});z.jQuery=z.$=c})(window);

Property changes on: tags/2.8.2/wb/include/jquery/jquery-min.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jquery/jquery_theme.js
===================================================================
--- tags/2.8.2/wb/include/jquery/jquery_theme.js	(nonexistent)
+++ tags/2.8.2/wb/include/jquery/jquery_theme.js	(revision 1481)
@@ -0,0 +1,6 @@
+var JQUERY_THEME = WB_URL+'/include/jquery';
+
+$(document).ready(function() {
+        $.insert(JQUERY_THEME+'/jquery-ui.css');
+      /*   $.insert(JQUERY_THEME+'/ui.theme.css');  */
+});
Index: tags/2.8.2/wb/include/jquery/version.txt
===================================================================
--- tags/2.8.2/wb/include/jquery/version.txt	(nonexistent)
+++ tags/2.8.2/wb/include/jquery/version.txt	(revision 1481)
@@ -0,0 +1,2 @@
+jQuery 1.3.2
+jQuery UI 1.7.2
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/jquery/version.txt
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jquery/jquery-ui-min.js
===================================================================
--- tags/2.8.2/wb/include/jquery/jquery-ui-min.js	(nonexistent)
+++ tags/2.8.2/wb/include/jquery/jquery-ui-min.js	(revision 1481)
@@ -0,0 +1,298 @@
+/*
+ * jQuery UI 1.7.2
+ *
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI
+ */
+jQuery.ui||(function(c){var i=c.fn.remove,d=c.browser.mozilla&&(parseFloat(c.browser.version)<1.9);c.ui={version:"1.7.2",plugin:{add:function(k,l,n){var m=c.ui[k].prototype;for(var j in n){m.plugins[j]=m.plugins[j]||[];m.plugins[j].push([l,n[j]])}},call:function(j,l,k){var n=j.plugins[l];if(!n||!j.element[0].parentNode){return}for(var m=0;m<n.length;m++){if(j.options[n[m][0]]){n[m][1].apply(j.element,k)}}}},contains:function(k,j){return document.compareDocumentPosition?k.compareDocumentPosition(j)&16:k!==j&&k.contains(j)},hasScroll:function(m,k){if(c(m).css("overflow")=="hidden"){return false}var j=(k&&k=="left")?"scrollLeft":"scrollTop",l=false;if(m[j]>0){return true}m[j]=1;l=(m[j]>0);m[j]=0;return l},isOverAxis:function(k,j,l){return(k>j)&&(k<(j+l))},isOver:function(o,k,n,m,j,l){return c.ui.isOverAxis(o,n,j)&&c.ui.isOverAxis(k,m,l)},keyCode:{BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38}};if(d){var f=c.attr,e=c.fn.removeAttr,h="http://www.w3.org/2005/07/aaa",a=/^aria-/,b=/^wairole:/;c.attr=function(k,j,l){var m=l!==undefined;return(j=="role"?(m?f.call(this,k,j,"wairole:"+l):(f.apply(this,arguments)||"").replace(b,"")):(a.test(j)?(m?k.setAttributeNS(h,j.replace(a,"aaa:"),l):f.call(this,k,j.replace(a,"aaa:"))):f.apply(this,arguments)))};c.fn.removeAttr=function(j){return(a.test(j)?this.each(function(){this.removeAttributeNS(h,j.replace(a,""))}):e.call(this,j))}}c.fn.extend({remove:function(){c("*",this).add(this).each(function(){c(this).triggerHandler("remove")});return i.apply(this,arguments)},enableSelection:function(){return this.attr("unselectable","off").css("MozUserSelect","").unbind("selectstart.ui")},disableSelection:function(){return this.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return false})},scrollParent:function(){var j;if((c.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){j=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(c.curCSS(this,"position",1))&&(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}else{j=this.parents().filter(function(){return(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!j.length?c(document):j}});c.extend(c.expr[":"],{data:function(l,k,j){return !!c.data(l,j[3])},focusable:function(k){var l=k.nodeName.toLowerCase(),j=c.attr(k,"tabindex");return(/input|select|textarea|button|object/.test(l)?!k.disabled:"a"==l||"area"==l?k.href||!isNaN(j):!isNaN(j))&&!c(k)["area"==l?"parents":"closest"](":hidden").length},tabbable:function(k){var j=c.attr(k,"tabindex");return(isNaN(j)||j>=0)&&c(k).is(":focusable")}});function g(m,n,o,l){function k(q){var p=c[m][n][q]||[];return(typeof p=="string"?p.split(/,?\s+/):p)}var j=k("getter");if(l.length==1&&typeof l[0]=="string"){j=j.concat(k("getterSetter"))}return(c.inArray(o,j)!=-1)}c.widget=function(k,j){var l=k.split(".")[0];k=k.split(".")[1];c.fn[k]=function(p){var n=(typeof p=="string"),o=Array.prototype.slice.call(arguments,1);if(n&&p.substring(0,1)=="_"){return this}if(n&&g(l,k,p,o)){var m=c.data(this[0],k);return(m?m[p].apply(m,o):undefined)}return this.each(function(){var q=c.data(this,k);(!q&&!n&&c.data(this,k,new c[l][k](this,p))._init());(q&&n&&c.isFunction(q[p])&&q[p].apply(q,o))})};c[l]=c[l]||{};c[l][k]=function(o,n){var m=this;this.namespace=l;this.widgetName=k;this.widgetEventPrefix=c[l][k].eventPrefix||k;this.widgetBaseClass=l+"-"+k;this.options=c.extend({},c.widget.defaults,c[l][k].defaults,c.metadata&&c.metadata.get(o)[k],n);this.element=c(o).bind("setData."+k,function(q,p,r){if(q.target==o){return m._setData(p,r)}}).bind("getData."+k,function(q,p){if(q.target==o){return m._getData(p)}}).bind("remove",function(){return m.destroy()})};c[l][k].prototype=c.extend({},c.widget.prototype,j);c[l][k].getterSetter="option"};c.widget.prototype={_init:function(){},destroy:function(){this.element.removeData(this.widgetName).removeClass(this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").removeAttr("aria-disabled")},option:function(l,m){var k=l,j=this;if(typeof l=="string"){if(m===undefined){return this._getData(l)}k={};k[l]=m}c.each(k,function(n,o){j._setData(n,o)})},_getData:function(j){return this.options[j]},_setData:function(j,k){this.options[j]=k;if(j=="disabled"){this.element[k?"addClass":"removeClass"](this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").attr("aria-disabled",k)}},enable:function(){this._setData("disabled",false)},disable:function(){this._setData("disabled",true)},_trigger:function(l,m,n){var p=this.options[l],j=(l==this.widgetEventPrefix?l:this.widgetEventPrefix+l);m=c.Event(m);m.type=j;if(m.originalEvent){for(var k=c.event.props.length,o;k;){o=c.event.props[--k];m[o]=m.originalEvent[o]}}this.element.trigger(m,n);return !(c.isFunction(p)&&p.call(this.element[0],m,n)===false||m.isDefaultPrevented())}};c.widget.defaults={disabled:false};c.ui.mouse={_mouseInit:function(){var j=this;this.element.bind("mousedown."+this.widgetName,function(k){return j._mouseDown(k)}).bind("click."+this.widgetName,function(k){if(j._preventClickEvent){j._preventClickEvent=false;k.stopImmediatePropagation();return false}});if(c.browser.msie){this._mouseUnselectable=this.element.attr("unselectable");this.element.attr("unselectable","on")}this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName);(c.browser.msie&&this.element.attr("unselectable",this._mouseUnselectable))},_mouseDown:function(l){l.originalEvent=l.originalEvent||{};if(l.originalEvent.mouseHandled){return}(this._mouseStarted&&this._mouseUp(l));this._mouseDownEvent=l;var k=this,m=(l.which==1),j=(typeof this.options.cancel=="string"?c(l.target).parents().add(l.target).filter(this.options.cancel).length:false);if(!m||j||!this._mouseCapture(l)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){k.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(l)&&this._mouseDelayMet(l)){this._mouseStarted=(this._mouseStart(l)!==false);if(!this._mouseStarted){l.preventDefault();return true}}this._mouseMoveDelegate=function(n){return k._mouseMove(n)};this._mouseUpDelegate=function(n){return k._mouseUp(n)};c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);(c.browser.safari||l.preventDefault());l.originalEvent.mouseHandled=true;return true},_mouseMove:function(j){if(c.browser.msie&&!j.button){return this._mouseUp(j)}if(this._mouseStarted){this._mouseDrag(j);return j.preventDefault()}if(this._mouseDistanceMet(j)&&this._mouseDelayMet(j)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,j)!==false);(this._mouseStarted?this._mouseDrag(j):this._mouseUp(j))}return !this._mouseStarted},_mouseUp:function(j){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=(j.target==this._mouseDownEvent.target);this._mouseStop(j)}return false},_mouseDistanceMet:function(j){return(Math.max(Math.abs(this._mouseDownEvent.pageX-j.pageX),Math.abs(this._mouseDownEvent.pageY-j.pageY))>=this.options.distance)},_mouseDelayMet:function(j){return this.mouseDelayMet},_mouseStart:function(j){},_mouseDrag:function(j){},_mouseStop:function(j){},_mouseCapture:function(j){return true}};c.ui.mouse.defaults={cancel:null,distance:1,delay:0}})(jQuery);;/*
+ * jQuery UI Draggable 1.7.2
+ *
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI/Draggables
+ *
+ * Depends:
+ *	ui.core.js
+ */
+(function(a){a.widget("ui.draggable",a.extend({},a.ui.mouse,{_init:function(){if(this.options.helper=="original"&&!(/^(?:r|a|f)/).test(this.element.css("position"))){this.element[0].style.position="relative"}(this.options.addClasses&&this.element.addClass("ui-draggable"));(this.options.disabled&&this.element.addClass("ui-draggable-disabled"));this._mouseInit()},destroy:function(){if(!this.element.data("draggable")){return}this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy()},_mouseCapture:function(b){var c=this.options;if(this.helper||c.disabled||a(b.target).is(".ui-resizable-handle")){return false}this.handle=this._getHandle(b);if(!this.handle){return false}return true},_mouseStart:function(b){var c=this.options;this.helper=this._createHelper(b);this._cacheHelperProportions();if(a.ui.ddmanager){a.ui.ddmanager.current=this}this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(b);this.originalPageX=b.pageX;this.originalPageY=b.pageY;if(c.cursorAt){this._adjustOffsetFromHelper(c.cursorAt)}if(c.containment){this._setContainment()}this._trigger("start",b);this._cacheHelperProportions();if(a.ui.ddmanager&&!c.dropBehaviour){a.ui.ddmanager.prepareOffsets(this,b)}this.helper.addClass("ui-draggable-dragging");this._mouseDrag(b,true);return true},_mouseDrag:function(b,d){this.position=this._generatePosition(b);this.positionAbs=this._convertPositionTo("absolute");if(!d){var c=this._uiHash();this._trigger("drag",b,c);this.position=c.position}if(!this.options.axis||this.options.axis!="y"){this.helper[0].style.left=this.position.left+"px"}if(!this.options.axis||this.options.axis!="x"){this.helper[0].style.top=this.position.top+"px"}if(a.ui.ddmanager){a.ui.ddmanager.drag(this,b)}return false},_mouseStop:function(c){var d=false;if(a.ui.ddmanager&&!this.options.dropBehaviour){d=a.ui.ddmanager.drop(this,c)}if(this.dropped){d=this.dropped;this.dropped=false}if((this.options.revert=="invalid"&&!d)||(this.options.revert=="valid"&&d)||this.options.revert===true||(a.isFunction(this.options.revert)&&this.options.revert.call(this.element,d))){var b=this;a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){b._trigger("stop",c);b._clear()})}else{this._trigger("stop",c);this._clear()}return false},_getHandle:function(b){var c=!this.options.handle||!a(this.options.handle,this.element).length?true:false;a(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==b.target){c=true}});return c},_createHelper:function(c){var d=this.options;var b=a.isFunction(d.helper)?a(d.helper.apply(this.element[0],[c])):(d.helper=="clone"?this.element.clone():this.element);if(!b.parents("body").length){b.appendTo((d.appendTo=="parent"?this.element[0].parentNode:d.appendTo))}if(b[0]!=this.element[0]&&!(/(fixed|absolute)/).test(b.css("position"))){b.css("position","absolute")}return b},_adjustOffsetFromHelper:function(b){if(b.left!=undefined){this.offset.click.left=b.left+this.margins.left}if(b.right!=undefined){this.offset.click.left=this.helperProportions.width-b.right+this.margins.left}if(b.top!=undefined){this.offset.click.top=b.top+this.margins.top}if(b.bottom!=undefined){this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top}},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])){b.left+=this.scrollParent.scrollLeft();b.top+=this.scrollParent.scrollTop()}if((this.offsetParent[0]==document.body)||(this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)){b={top:0,left:0}}return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var b=this.element.position();return{top:b.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:b.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else{return{top:0,left:0}}},_cacheMargins:function(){this.margins={left:(parseInt(this.element.css("marginLeft"),10)||0),top:(parseInt(this.element.css("marginTop"),10)||0)}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e=this.options;if(e.containment=="parent"){e.containment=this.helper[0].parentNode}if(e.containment=="document"||e.containment=="window"){this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a(e.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a(e.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]}if(!(/^(document|window|parent)$/).test(e.containment)&&e.containment.constructor!=Array){var c=a(e.containment)[0];if(!c){return}var d=a(e.containment).offset();var b=(a(c).css("overflow")!="hidden");this.containment=[d.left+(parseInt(a(c).css("borderLeftWidth"),10)||0)+(parseInt(a(c).css("paddingLeft"),10)||0)-this.margins.left,d.top+(parseInt(a(c).css("borderTopWidth"),10)||0)+(parseInt(a(c).css("paddingTop"),10)||0)-this.margins.top,d.left+(b?Math.max(c.scrollWidth,c.offsetWidth):c.offsetWidth)-(parseInt(a(c).css("borderLeftWidth"),10)||0)-(parseInt(a(c).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,d.top+(b?Math.max(c.scrollHeight,c.offsetHeight):c.offsetHeight)-(parseInt(a(c).css("borderTopWidth"),10)||0)-(parseInt(a(c).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}else{if(e.containment.constructor==Array){this.containment=e.containment}}},_convertPositionTo:function(f,h){if(!h){h=this.position}var c=f=="absolute"?1:-1;var e=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=(/(html|body)/i).test(b[0].tagName);return{top:(h.top+this.offset.relative.top*c+this.offset.parent.top*c-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(g?0:b.scrollTop()))*c)),left:(h.left+this.offset.relative.left*c+this.offset.parent.left*c-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:b.scrollLeft())*c))}},_generatePosition:function(e){var h=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,i=(/(html|body)/i).test(b[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0])){this.offset.relative=this._getRelativeOffset()}var d=e.pageX;var c=e.pageY;if(this.originalPosition){if(this.containment){if(e.pageX-this.offset.click.left<this.containment[0]){d=this.containment[0]+this.offset.click.left}if(e.pageY-this.offset.click.top<this.containment[1]){c=this.containment[1]+this.offset.click.top}if(e.pageX-this.offset.click.left>this.containment[2]){d=this.containment[2]+this.offset.click.left}if(e.pageY-this.offset.click.top>this.containment[3]){c=this.containment[3]+this.offset.click.top}}if(h.grid){var g=this.originalPageY+Math.round((c-this.originalPageY)/h.grid[1])*h.grid[1];c=this.containment?(!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:(!(g-this.offset.click.top<this.containment[1])?g-h.grid[1]:g+h.grid[1])):g;var f=this.originalPageX+Math.round((d-this.originalPageX)/h.grid[0])*h.grid[0];d=this.containment?(!(f-this.offset.click.left<this.containment[0]||f-this.offset.click.left>this.containment[2])?f:(!(f-this.offset.click.left<this.containment[0])?f-h.grid[0]:f+h.grid[0])):f}}return{top:(c-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(i?0:b.scrollTop())))),left:(d-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():i?0:b.scrollLeft())))}},_clear:function(){this.helper.removeClass("ui-draggable-dragging");if(this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval){this.helper.remove()}this.helper=null;this.cancelHelperRemoval=false},_trigger:function(b,c,d){d=d||this._uiHash();a.ui.plugin.call(this,b,[c,d]);if(b=="drag"){this.positionAbs=this._convertPositionTo("absolute")}return a.widget.prototype._trigger.call(this,b,c,d)},plugins:{},_uiHash:function(b){return{helper:this.helper,position:this.position,absolutePosition:this.positionAbs,offset:this.positionAbs}}}));a.extend(a.ui.draggable,{version:"1.7.2",eventPrefix:"drag",defaults:{addClasses:true,appendTo:"parent",axis:false,cancel:":input,option",connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,delay:0,distance:1,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false}});a.ui.plugin.add("draggable","connectToSortable",{start:function(c,e){var d=a(this).data("draggable"),f=d.options,b=a.extend({},e,{item:d.element});d.sortables=[];a(f.connectToSortable).each(function(){var g=a.data(this,"sortable");if(g&&!g.options.disabled){d.sortables.push({instance:g,shouldRevert:g.options.revert});g._refreshItems();g._trigger("activate",c,b)}})},stop:function(c,e){var d=a(this).data("draggable"),b=a.extend({},e,{item:d.element});a.each(d.sortables,function(){if(this.instance.isOver){this.instance.isOver=0;d.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert){this.instance.options.revert=true}this.instance._mouseStop(c);this.instance.options.helper=this.instance.options._helper;if(d.options.helper=="original"){this.instance.currentItem.css({top:"auto",left:"auto"})}}else{this.instance.cancelHelperRemoval=false;this.instance._trigger("deactivate",c,b)}})},drag:function(c,f){var e=a(this).data("draggable"),b=this;var d=function(i){var n=this.offset.click.top,m=this.offset.click.left;var g=this.positionAbs.top,k=this.positionAbs.left;var j=i.height,l=i.width;var p=i.top,h=i.left;return a.ui.isOver(g+n,k+m,p,h,j,l)};a.each(e.sortables,function(g){this.instance.positionAbs=e.positionAbs;this.instance.helperProportions=e.helperProportions;this.instance.offset.click=e.offset.click;if(this.instance._intersectsWith(this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=1;this.instance.currentItem=a(b).clone().appendTo(this.instance.element).data("sortable-item",true);this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return f.helper[0]};c.target=this.instance.currentItem[0];this.instance._mouseCapture(c,true);this.instance._mouseStart(c,true,true);this.instance.offset.click.top=e.offset.click.top;this.instance.offset.click.left=e.offset.click.left;this.instance.offset.parent.left-=e.offset.parent.left-this.instance.offset.parent.left;this.instance.offset.parent.top-=e.offset.parent.top-this.instance.offset.parent.top;e._trigger("toSortable",c);e.dropped=this.instance.element;e.currentItem=e.element;this.instance.fromOutside=e}if(this.instance.currentItem){this.instance._mouseDrag(c)}}else{if(this.instance.isOver){this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance._trigger("out",c,this.instance._uiHash(this.instance));this.instance._mouseStop(c,true);this.instance.options.helper=this.instance.options._helper;this.instance.currentItem.remove();if(this.instance.placeholder){this.instance.placeholder.remove()}e._trigger("fromSortable",c);e.dropped=false}}})}});a.ui.plugin.add("draggable","cursor",{start:function(c,d){var b=a("body"),e=a(this).data("draggable").options;if(b.css("cursor")){e._cursor=b.css("cursor")}b.css("cursor",e.cursor)},stop:function(b,c){var d=a(this).data("draggable").options;if(d._cursor){a("body").css("cursor",d._cursor)}}});a.ui.plugin.add("draggable","iframeFix",{start:function(b,c){var d=a(this).data("draggable").options;a(d.iframeFix===true?"iframe":d.iframeFix).each(function(){a('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1000}).css(a(this).offset()).appendTo("body")})},stop:function(b,c){a("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)})}});a.ui.plugin.add("draggable","opacity",{start:function(c,d){var b=a(d.helper),e=a(this).data("draggable").options;if(b.css("opacity")){e._opacity=b.css("opacity")}b.css("opacity",e.opacity)},stop:function(b,c){var d=a(this).data("draggable").options;if(d._opacity){a(c.helper).css("opacity",d._opacity)}}});a.ui.plugin.add("draggable","scroll",{start:function(c,d){var b=a(this).data("draggable");if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!="HTML"){b.overflowOffset=b.scrollParent.offset()}},drag:function(d,e){var c=a(this).data("draggable"),f=c.options,b=false;if(c.scrollParent[0]!=document&&c.scrollParent[0].tagName!="HTML"){if(!f.axis||f.axis!="x"){if((c.overflowOffset.top+c.scrollParent[0].offsetHeight)-d.pageY<f.scrollSensitivity){c.scrollParent[0].scrollTop=b=c.scrollParent[0].scrollTop+f.scrollSpeed}else{if(d.pageY-c.overflowOffset.top<f.scrollSensitivity){c.scrollParent[0].scrollTop=b=c.scrollParent[0].scrollTop-f.scrollSpeed}}}if(!f.axis||f.axis!="y"){if((c.overflowOffset.left+c.scrollParent[0].offsetWidth)-d.pageX<f.scrollSensitivity){c.scrollParent[0].scrollLeft=b=c.scrollParent[0].scrollLeft+f.scrollSpeed}else{if(d.pageX-c.overflowOffset.left<f.scrollSensitivity){c.scrollParent[0].scrollLeft=b=c.scrollParent[0].scrollLeft-f.scrollSpeed}}}}else{if(!f.axis||f.axis!="x"){if(d.pageY-a(document).scrollTop()<f.scrollSensitivity){b=a(document).scrollTop(a(document).scrollTop()-f.scrollSpeed)}else{if(a(window).height()-(d.pageY-a(document).scrollTop())<f.scrollSensitivity){b=a(document).scrollTop(a(document).scrollTop()+f.scrollSpeed)}}}if(!f.axis||f.axis!="y"){if(d.pageX-a(document).scrollLeft()<f.scrollSensitivity){b=a(document).scrollLeft(a(document).scrollLeft()-f.scrollSpeed)}else{if(a(window).width()-(d.pageX-a(document).scrollLeft())<f.scrollSensitivity){b=a(document).scrollLeft(a(document).scrollLeft()+f.scrollSpeed)}}}}if(b!==false&&a.ui.ddmanager&&!f.dropBehaviour){a.ui.ddmanager.prepareOffsets(c,d)}}});a.ui.plugin.add("draggable","snap",{start:function(c,d){var b=a(this).data("draggable"),e=b.options;b.snapElements=[];a(e.snap.constructor!=String?(e.snap.items||":data(draggable)"):e.snap).each(function(){var g=a(this);var f=g.offset();if(this!=b.element[0]){b.snapElements.push({item:this,width:g.outerWidth(),height:g.outerHeight(),top:f.top,left:f.left})}})},drag:function(u,p){var g=a(this).data("draggable"),q=g.options;var y=q.snapTolerance;var x=p.offset.left,w=x+g.helperProportions.width,f=p.offset.top,e=f+g.helperProportions.height;for(var v=g.snapElements.length-1;v>=0;v--){var s=g.snapElements[v].left,n=s+g.snapElements[v].width,m=g.snapElements[v].top,A=m+g.snapElements[v].height;if(!((s-y<x&&x<n+y&&m-y<f&&f<A+y)||(s-y<x&&x<n+y&&m-y<e&&e<A+y)||(s-y<w&&w<n+y&&m-y<f&&f<A+y)||(s-y<w&&w<n+y&&m-y<e&&e<A+y))){if(g.snapElements[v].snapping){(g.options.snap.release&&g.options.snap.release.call(g.element,u,a.extend(g._uiHash(),{snapItem:g.snapElements[v].item})))}g.snapElements[v].snapping=false;continue}if(q.snapMode!="inner"){var c=Math.abs(m-e)<=y;var z=Math.abs(A-f)<=y;var j=Math.abs(s-w)<=y;var k=Math.abs(n-x)<=y;if(c){p.position.top=g._convertPositionTo("relative",{top:m-g.helperProportions.height,left:0}).top-g.margins.top}if(z){p.position.top=g._convertPositionTo("relative",{top:A,left:0}).top-g.margins.top}if(j){p.position.left=g._convertPositionTo("relative",{top:0,left:s-g.helperProportions.width}).left-g.margins.left}if(k){p.position.left=g._convertPositionTo("relative",{top:0,left:n}).left-g.margins.left}}var h=(c||z||j||k);if(q.snapMode!="outer"){var c=Math.abs(m-f)<=y;var z=Math.abs(A-e)<=y;var j=Math.abs(s-x)<=y;var k=Math.abs(n-w)<=y;if(c){p.position.top=g._convertPositionTo("relative",{top:m,left:0}).top-g.margins.top}if(z){p.position.top=g._convertPositionTo("relative",{top:A-g.helperProportions.height,left:0}).top-g.margins.top}if(j){p.position.left=g._convertPositionTo("relative",{top:0,left:s}).left-g.margins.left}if(k){p.position.left=g._convertPositionTo("relative",{top:0,left:n-g.helperProportions.width}).left-g.margins.left}}if(!g.snapElements[v].snapping&&(c||z||j||k||h)){(g.options.snap.snap&&g.options.snap.snap.call(g.element,u,a.extend(g._uiHash(),{snapItem:g.snapElements[v].item})))}g.snapElements[v].snapping=(c||z||j||k||h)}}});a.ui.plugin.add("draggable","stack",{start:function(b,c){var e=a(this).data("draggable").options;var d=a.makeArray(a(e.stack.group)).sort(function(g,f){return(parseInt(a(g).css("zIndex"),10)||e.stack.min)-(parseInt(a(f).css("zIndex"),10)||e.stack.min)});a(d).each(function(f){this.style.zIndex=e.stack.min+f});this[0].style.zIndex=e.stack.min+d.length}});a.ui.plugin.add("draggable","zIndex",{start:function(c,d){var b=a(d.helper),e=a(this).data("draggable").options;if(b.css("zIndex")){e._zIndex=b.css("zIndex")}b.css("zIndex",e.zIndex)},stop:function(b,c){var d=a(this).data("draggable").options;if(d._zIndex){a(c.helper).css("zIndex",d._zIndex)}}})})(jQuery);;/*
+ * jQuery UI Droppable 1.7.2
+ *
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI/Droppables
+ *
+ * Depends:
+ *	ui.core.js
+ *	ui.draggable.js
+ */
+(function(a){a.widget("ui.droppable",{_init:function(){var c=this.options,b=c.accept;this.isover=0;this.isout=1;this.options.accept=this.options.accept&&a.isFunction(this.options.accept)?this.options.accept:function(e){return e.is(b)};this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight};a.ui.ddmanager.droppables[this.options.scope]=a.ui.ddmanager.droppables[this.options.scope]||[];a.ui.ddmanager.droppables[this.options.scope].push(this);(this.options.addClasses&&this.element.addClass("ui-droppable"))},destroy:function(){var b=a.ui.ddmanager.droppables[this.options.scope];for(var c=0;c<b.length;c++){if(b[c]==this){b.splice(c,1)}}this.element.removeClass("ui-droppable ui-droppable-disabled").removeData("droppable").unbind(".droppable")},_setData:function(b,c){if(b=="accept"){this.options.accept=c&&a.isFunction(c)?c:function(e){return e.is(c)}}else{a.widget.prototype._setData.apply(this,arguments)}},_activate:function(c){var b=a.ui.ddmanager.current;if(this.options.activeClass){this.element.addClass(this.options.activeClass)}(b&&this._trigger("activate",c,this.ui(b)))},_deactivate:function(c){var b=a.ui.ddmanager.current;if(this.options.activeClass){this.element.removeClass(this.options.activeClass)}(b&&this._trigger("deactivate",c,this.ui(b)))},_over:function(c){var b=a.ui.ddmanager.current;if(!b||(b.currentItem||b.element)[0]==this.element[0]){return}if(this.options.accept.call(this.element[0],(b.currentItem||b.element))){if(this.options.hoverClass){this.element.addClass(this.options.hoverClass)}this._trigger("over",c,this.ui(b))}},_out:function(c){var b=a.ui.ddmanager.current;if(!b||(b.currentItem||b.element)[0]==this.element[0]){return}if(this.options.accept.call(this.element[0],(b.currentItem||b.element))){if(this.options.hoverClass){this.element.removeClass(this.options.hoverClass)}this._trigger("out",c,this.ui(b))}},_drop:function(c,d){var b=d||a.ui.ddmanager.current;if(!b||(b.currentItem||b.element)[0]==this.element[0]){return false}var e=false;this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function(){var f=a.data(this,"droppable");if(f.options.greedy&&a.ui.intersect(b,a.extend(f,{offset:f.element.offset()}),f.options.tolerance)){e=true;return false}});if(e){return false}if(this.options.accept.call(this.element[0],(b.currentItem||b.element))){if(this.options.activeClass){this.element.removeClass(this.options.activeClass)}if(this.options.hoverClass){this.element.removeClass(this.options.hoverClass)}this._trigger("drop",c,this.ui(b));return this.element}return false},ui:function(b){return{draggable:(b.currentItem||b.element),helper:b.helper,position:b.position,absolutePosition:b.positionAbs,offset:b.positionAbs}}});a.extend(a.ui.droppable,{version:"1.7.2",eventPrefix:"drop",defaults:{accept:"*",activeClass:false,addClasses:true,greedy:false,hoverClass:false,scope:"default",tolerance:"intersect"}});a.ui.intersect=function(q,j,o){if(!j.offset){return false}var e=(q.positionAbs||q.position.absolute).left,d=e+q.helperProportions.width,n=(q.positionAbs||q.position.absolute).top,m=n+q.helperProportions.height;var g=j.offset.left,c=g+j.proportions.width,p=j.offset.top,k=p+j.proportions.height;switch(o){case"fit":return(g<e&&d<c&&p<n&&m<k);break;case"intersect":return(g<e+(q.helperProportions.width/2)&&d-(q.helperProportions.width/2)<c&&p<n+(q.helperProportions.height/2)&&m-(q.helperProportions.height/2)<k);break;case"pointer":var h=((q.positionAbs||q.position.absolute).left+(q.clickOffset||q.offset.click).left),i=((q.positionAbs||q.position.absolute).top+(q.clickOffset||q.offset.click).top),f=a.ui.isOver(i,h,p,g,j.proportions.height,j.proportions.width);return f;break;case"touch":return((n>=p&&n<=k)||(m>=p&&m<=k)||(n<p&&m>k))&&((e>=g&&e<=c)||(d>=g&&d<=c)||(e<g&&d>c));break;default:return false;break}};a.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(e,g){var b=a.ui.ddmanager.droppables[e.options.scope];var f=g?g.type:null;var h=(e.currentItem||e.element).find(":data(droppable)").andSelf();droppablesLoop:for(var d=0;d<b.length;d++){if(b[d].options.disabled||(e&&!b[d].options.accept.call(b[d].element[0],(e.currentItem||e.element)))){continue}for(var c=0;c<h.length;c++){if(h[c]==b[d].element[0]){b[d].proportions.height=0;continue droppablesLoop}}b[d].visible=b[d].element.css("display")!="none";if(!b[d].visible){continue}b[d].offset=b[d].element.offset();b[d].proportions={width:b[d].element[0].offsetWidth,height:b[d].element[0].offsetHeight};if(f=="mousedown"){b[d]._activate.call(b[d],g)}}},drop:function(b,c){var d=false;a.each(a.ui.ddmanager.droppables[b.options.scope],function(){if(!this.options){return}if(!this.options.disabled&&this.visible&&a.ui.intersect(b,this,this.options.tolerance)){d=this._drop.call(this,c)}if(!this.options.disabled&&this.visible&&this.options.accept.call(this.element[0],(b.currentItem||b.element))){this.isout=1;this.isover=0;this._deactivate.call(this,c)}});return d},drag:function(b,c){if(b.options.refreshPositions){a.ui.ddmanager.prepareOffsets(b,c)}a.each(a.ui.ddmanager.droppables[b.options.scope],function(){if(this.options.disabled||this.greedyChild||!this.visible){return}var e=a.ui.intersect(b,this,this.options.tolerance);var g=!e&&this.isover==1?"isout":(e&&this.isover==0?"isover":null);if(!g){return}var f;if(this.options.greedy){var d=this.element.parents(":data(droppable):eq(0)");if(d.length){f=a.data(d[0],"droppable");f.greedyChild=(g=="isover"?1:0)}}if(f&&g=="isover"){f.isover=0;f.isout=1;f._out.call(f,c)}this[g]=1;this[g=="isout"?"isover":"isout"]=0;this[g=="isover"?"_over":"_out"].call(this,c);if(f&&g=="isout"){f.isout=0;f.isover=1;f._over.call(f,c)}})}}})(jQuery);;/*
+ * jQuery UI Resizable 1.7.2
+ *
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI/Resizables
+ *
+ * Depends:
+ *	ui.core.js
+ */
+(function(c){c.widget("ui.resizable",c.extend({},c.ui.mouse,{_init:function(){var e=this,j=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(j.aspectRatio),aspectRatio:j.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:j.helper||j.ghost||j.animate?j.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){if(/relative/.test(this.element.css("position"))&&c.browser.opera){this.element.css({position:"relative",top:"auto",left:"auto"})}this.element.wrap(c('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=j.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var k=this.handles.split(",");this.handles={};for(var f=0;f<k.length;f++){var h=c.trim(k[f]),d="ui-resizable-"+h;var g=c('<div class="ui-resizable-handle '+d+'"></div>');if(/sw|se|ne|nw/.test(h)){g.css({zIndex:++j.zIndex})}if("se"==h){g.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[h]=".ui-resizable-"+h;this.element.append(g)}}this._renderAxis=function(p){p=p||this.element;for(var m in this.handles){if(this.handles[m].constructor==String){this.handles[m]=c(this.handles[m],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var n=c(this.handles[m],this.element),o=0;o=/sw|ne|nw|se|n|s/.test(m)?n.outerHeight():n.outerWidth();var l=["padding",/ne|nw|n/.test(m)?"Top":/se|sw|s/.test(m)?"Bottom":/^e$/.test(m)?"Right":"Left"].join("");p.css(l,o);this._proportionallyResize()}if(!c(this.handles[m]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!e.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}e.axis=i&&i[1]?i[1]:"se"}});if(j.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){c(this).removeClass("ui-resizable-autohide");e._handles.show()},function(){if(!e.resizing){c(this).addClass("ui-resizable-autohide");e._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var d=function(f){c(f).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){d(this.element);var e=this.element;e.parent().append(this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")})).end().remove()}this.originalElement.css("resize",this.originalResizeStyle);d(this.originalElement)},_mouseCapture:function(e){var f=false;for(var d in this.handles){if(c(this.handles[d])[0]==e.target){f=true}}return this.options.disabled||!!f},_mouseStart:function(f){var i=this.options,e=this.element.position(),d=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(d.is(".ui-draggable")||(/absolute/).test(d.css("position"))){d.css({position:"absolute",top:e.top,left:e.left})}if(c.browser.opera&&(/relative/).test(d.css("position"))){d.css({position:"relative",top:"auto",left:"auto"})}this._renderProxy();var j=b(this.helper.css("left")),g=b(this.helper.css("top"));if(i.containment){j+=c(i.containment).scrollLeft()||0;g+=c(i.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:j,top:g};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:j,top:g};this.sizeDiff={width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:f.pageX,top:f.pageY};this.aspectRatio=(typeof i.aspectRatio=="number")?i.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var h=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",h=="auto"?this.axis+"-resize":h);d.addClass("ui-resizable-resizing");this._propagate("start",f);return true},_mouseDrag:function(d){var g=this.helper,f=this.options,l={},p=this,i=this.originalMousePosition,m=this.axis;var q=(d.pageX-i.left)||0,n=(d.pageY-i.top)||0;var h=this._change[m];if(!h){return false}var k=h.apply(this,[d,q,n]),j=c.browser.msie&&c.browser.version<7,e=this.sizeDiff;if(this._aspectRatio||d.shiftKey){k=this._updateRatio(k,d)}k=this._respectSize(k,d);this._propagate("resize",d);g.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(k);this._trigger("resize",d,this.ui());return false},_mouseStop:function(g){this.resizing=false;var h=this.options,l=this;if(this._helper){var f=this._proportionallyResizeElements,d=f.length&&(/textarea/i).test(f[0].nodeName),e=d&&c.ui.hasScroll(f[0],"left")?0:l.sizeDiff.height,j=d?0:l.sizeDiff.width;var m={width:(l.size.width-j),height:(l.size.height-e)},i=(parseInt(l.element.css("left"),10)+(l.position.left-l.originalPosition.left))||null,k=(parseInt(l.element.css("top"),10)+(l.position.top-l.originalPosition.top))||null;if(!h.animate){this.element.css(c.extend(m,{top:k,left:i}))}l.helper.height(l.size.height);l.helper.width(l.size.width);if(this._helper&&!h.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",g);if(this._helper){this.helper.remove()}return false},_updateCache:function(d){var e=this.options;this.offset=this.helper.offset();if(a(d.left)){this.position.left=d.left}if(a(d.top)){this.position.top=d.top}if(a(d.height)){this.size.height=d.height}if(a(d.width)){this.size.width=d.width}},_updateRatio:function(g,f){var h=this.options,i=this.position,e=this.size,d=this.axis;if(g.height){g.width=(e.height*this.aspectRatio)}else{if(g.width){g.height=(e.width/this.aspectRatio)}}if(d=="sw"){g.left=i.left+(e.width-g.width);g.top=null}if(d=="nw"){g.top=i.top+(e.height-g.height);g.left=i.left+(e.width-g.width)}return g},_respectSize:function(k,f){var i=this.helper,h=this.options,q=this._aspectRatio||f.shiftKey,p=this.axis,s=a(k.width)&&h.maxWidth&&(h.maxWidth<k.width),l=a(k.height)&&h.maxHeight&&(h.maxHeight<k.height),g=a(k.width)&&h.minWidth&&(h.minWidth>k.width),r=a(k.height)&&h.minHeight&&(h.minHeight>k.height);if(g){k.width=h.minWidth}if(r){k.height=h.minHeight}if(s){k.width=h.maxWidth}if(l){k.height=h.maxHeight}var e=this.originalPosition.left+this.originalSize.width,n=this.position.top+this.size.height;var j=/sw|nw|w/.test(p),d=/nw|ne|n/.test(p);if(g&&j){k.left=e-h.minWidth}if(s&&j){k.left=e-h.maxWidth}if(r&&d){k.top=n-h.minHeight}if(l&&d){k.top=n-h.maxHeight}var m=!k.width&&!k.height;if(m&&!k.left&&k.top){k.top=null}else{if(m&&!k.top&&k.left){k.left=null}}return k},_proportionallyResize:function(){var j=this.options;if(!this._proportionallyResizeElements.length){return}var f=this.helper||this.element;for(var e=0;e<this._proportionallyResizeElements.length;e++){var g=this._proportionallyResizeElements[e];if(!this.borderDif){var d=[g.css("borderTopWidth"),g.css("borderRightWidth"),g.css("borderBottomWidth"),g.css("borderLeftWidth")],h=[g.css("paddingTop"),g.css("paddingRight"),g.css("paddingBottom"),g.css("paddingLeft")];this.borderDif=c.map(d,function(k,m){var l=parseInt(k,10)||0,n=parseInt(h[m],10)||0;return l+n})}if(c.browser.msie&&!(!(c(f).is(":hidden")||c(f).parents(":hidden").length))){continue}g.css({height:(f.height()-this.borderDif[0]-this.borderDif[2])||0,width:(f.width()-this.borderDif[1]-this.borderDif[3])||0})}},_renderProxy:function(){var e=this.element,h=this.options;this.elementOffset=e.offset();if(this._helper){this.helper=this.helper||c('<div style="overflow:hidden;"></div>');var d=c.browser.msie&&c.browser.version<7,f=(d?1:0),g=(d?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+g,height:this.element.outerHeight()+g,position:"absolute",left:this.elementOffset.left-f+"px",top:this.elementOffset.top-f+"px",zIndex:++h.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(f,e,d){return{width:this.originalSize.width+e}},w:function(g,e,d){var i=this.options,f=this.originalSize,h=this.originalPosition;return{left:h.left+e,width:f.width-e}},n:function(g,e,d){var i=this.options,f=this.originalSize,h=this.originalPosition;return{top:h.top+d,height:f.height-d}},s:function(f,e,d){return{height:this.originalSize.height+d}},se:function(f,e,d){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[f,e,d]))},sw:function(f,e,d){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[f,e,d]))},ne:function(f,e,d){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[f,e,d]))},nw:function(f,e,d){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[f,e,d]))}},_propagate:function(e,d){c.ui.plugin.call(this,e,[d,this.ui()]);(e!="resize"&&this._trigger(e,d,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}));c.extend(c.ui.resizable,{version:"1.7.2",eventPrefix:"resize",defaults:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,cancel:":input,option",containment:false,delay:0,distance:1,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000}});c.ui.plugin.add("resizable","alsoResize",{start:function(e,f){var d=c(this).data("resizable"),g=d.options;_store=function(h){c(h).each(function(){c(this).data("resizable-alsoresize",{width:parseInt(c(this).width(),10),height:parseInt(c(this).height(),10),left:parseInt(c(this).css("left"),10),top:parseInt(c(this).css("top"),10)})})};if(typeof(g.alsoResize)=="object"&&!g.alsoResize.parentNode){if(g.alsoResize.length){g.alsoResize=g.alsoResize[0];_store(g.alsoResize)}else{c.each(g.alsoResize,function(h,i){_store(h)})}}else{_store(g.alsoResize)}},resize:function(f,h){var e=c(this).data("resizable"),i=e.options,g=e.originalSize,k=e.originalPosition;var j={height:(e.size.height-g.height)||0,width:(e.size.width-g.width)||0,top:(e.position.top-k.top)||0,left:(e.position.left-k.left)||0},d=function(l,m){c(l).each(function(){var p=c(this),q=c(this).data("resizable-alsoresize"),o={},n=m&&m.length?m:["width","height","top","left"];c.each(n||["width","height","top","left"],function(r,t){var s=(q[t]||0)+(j[t]||0);if(s&&s>=0){o[t]=s||null}});if(/relative/.test(p.css("position"))&&c.browser.opera){e._revertToRelativePosition=true;p.css({position:"absolute",top:"auto",left:"auto"})}p.css(o)})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.nodeType){c.each(i.alsoResize,function(l,m){d(l,m)})}else{d(i.alsoResize)}},stop:function(e,f){var d=c(this).data("resizable");if(d._revertToRelativePosition&&c.browser.opera){d._revertToRelativePosition=false;el.css({position:"relative"})}c(this).removeData("resizable-alsoresize-start")}});c.ui.plugin.add("resizable","animate",{stop:function(h,m){var n=c(this).data("resizable"),i=n.options;var g=n._proportionallyResizeElements,d=g.length&&(/textarea/i).test(g[0].nodeName),e=d&&c.ui.hasScroll(g[0],"left")?0:n.sizeDiff.height,k=d?0:n.sizeDiff.width;var f={width:(n.size.width-k),height:(n.size.height-e)},j=(parseInt(n.element.css("left"),10)+(n.position.left-n.originalPosition.left))||null,l=(parseInt(n.element.css("top"),10)+(n.position.top-n.originalPosition.top))||null;n.element.animate(c.extend(f,l&&j?{top:l,left:j}:{}),{duration:i.animateDuration,easing:i.animateEasing,step:function(){var o={width:parseInt(n.element.css("width"),10),height:parseInt(n.element.css("height"),10),top:parseInt(n.element.css("top"),10),left:parseInt(n.element.css("left"),10)};if(g&&g.length){c(g[0]).css({width:o.width,height:o.height})}n._updateCache(o);n._propagate("resize",h)}})}});c.ui.plugin.add("resizable","containment",{start:function(e,q){var s=c(this).data("resizable"),i=s.options,k=s.element;var f=i.containment,j=(f instanceof c)?f.get(0):(/parent/.test(f))?k.parent().get(0):f;if(!j){return}s.containerElement=c(j);if(/document/.test(f)||f==document){s.containerOffset={left:0,top:0};s.containerPosition={left:0,top:0};s.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var m=c(j),h=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){h[p]=b(m.css("padding"+o))});s.containerOffset=m.offset();s.containerPosition=m.position();s.containerSize={height:(m.innerHeight()-h[3]),width:(m.innerWidth()-h[1])};var n=s.containerOffset,d=s.containerSize.height,l=s.containerSize.width,g=(c.ui.hasScroll(j,"left")?j.scrollWidth:l),r=(c.ui.hasScroll(j)?j.scrollHeight:d);s.parentData={element:j,left:n.left,top:n.top,width:g,height:r}}},resize:function(f,p){var s=c(this).data("resizable"),h=s.options,e=s.containerSize,n=s.containerOffset,l=s.size,m=s.position,q=s._aspectRatio||f.shiftKey,d={top:0,left:0},g=s.containerElement;if(g[0]!=document&&(/static/).test(g.css("position"))){d=n}if(m.left<(s._helper?n.left:0)){s.size.width=s.size.width+(s._helper?(s.position.left-n.left):(s.position.left-d.left));if(q){s.size.height=s.size.width/h.aspectRatio}s.position.left=h.helper?n.left:0}if(m.top<(s._helper?n.top:0)){s.size.height=s.size.height+(s._helper?(s.position.top-n.top):s.position.top);if(q){s.size.width=s.size.height*h.aspectRatio}s.position.top=s._helper?n.top:0}s.offset.left=s.parentData.left+s.position.left;s.offset.top=s.parentData.top+s.position.top;var k=Math.abs((s._helper?s.offset.left-d.left:(s.offset.left-d.left))+s.sizeDiff.width),r=Math.abs((s._helper?s.offset.top-d.top:(s.offset.top-n.top))+s.sizeDiff.height);var j=s.containerElement.get(0)==s.element.parent().get(0),i=/relative|absolute/.test(s.containerElement.css("position"));if(j&&i){k-=s.parentData.left}if(k+s.size.width>=s.parentData.width){s.size.width=s.parentData.width-k;if(q){s.size.height=s.size.width/s.aspectRatio}}if(r+s.size.height>=s.parentData.height){s.size.height=s.parentData.height-r;if(q){s.size.width=s.size.height*s.aspectRatio}}},stop:function(e,m){var p=c(this).data("resizable"),f=p.options,k=p.position,l=p.containerOffset,d=p.containerPosition,g=p.containerElement;var i=c(p.helper),q=i.offset(),n=i.outerWidth()-p.sizeDiff.width,j=i.outerHeight()-p.sizeDiff.height;if(p._helper&&!f.animate&&(/relative/).test(g.css("position"))){c(this).css({left:q.left-d.left-l.left,width:n,height:j})}if(p._helper&&!f.animate&&(/static/).test(g.css("position"))){c(this).css({left:q.left-d.left-l.left,width:n,height:j})}}});c.ui.plugin.add("resizable","ghost",{start:function(f,g){var d=c(this).data("resizable"),h=d.options,e=d.size;d.ghost=d.originalElement.clone();d.ghost.css({opacity:0.25,display:"block",position:"relative",height:e.height,width:e.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof h.ghost=="string"?h.ghost:"");d.ghost.appendTo(d.helper)},resize:function(e,f){var d=c(this).data("resizable"),g=d.options;if(d.ghost){d.ghost.css({position:"relative",height:d.size.height,width:d.size.width})}},stop:function(e,f){var d=c(this).data("resizable"),g=d.options;if(d.ghost&&d.helper){d.helper.get(0).removeChild(d.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(d,l){var n=c(this).data("resizable"),g=n.options,j=n.size,h=n.originalSize,i=n.originalPosition,m=n.axis,k=g._aspectRatio||d.shiftKey;g.grid=typeof g.grid=="number"?[g.grid,g.grid]:g.grid;var f=Math.round((j.width-h.width)/(g.grid[0]||1))*(g.grid[0]||1),e=Math.round((j.height-h.height)/(g.grid[1]||1))*(g.grid[1]||1);if(/^(se|s|e)$/.test(m)){n.size.width=h.width+f;n.size.height=h.height+e}else{if(/^(ne)$/.test(m)){n.size.width=h.width+f;n.size.height=h.height+e;n.position.top=i.top-e}else{if(/^(sw)$/.test(m)){n.size.width=h.width+f;n.size.height=h.height+e;n.position.left=i.left-f}else{n.size.width=h.width+f;n.size.height=h.height+e;n.position.top=i.top-e;n.position.left=i.left-f}}}}});var b=function(d){return parseInt(d,10)||0};var a=function(d){return !isNaN(parseInt(d,10))}})(jQuery);;/*
+ * jQuery UI Selectable 1.7.2
+ *
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI/Selectables
+ *
+ * Depends:
+ *	ui.core.js
+ */
+(function(a){a.widget("ui.selectable",a.extend({},a.ui.mouse,{_init:function(){var b=this;this.element.addClass("ui-selectable");this.dragged=false;var c;this.refresh=function(){c=a(b.options.filter,b.element[0]);c.each(function(){var d=a(this);var e=d.offset();a.data(this,"selectable-item",{element:this,$element:d,left:e.left,top:e.top,right:e.left+d.outerWidth(),bottom:e.top+d.outerHeight(),startselected:false,selected:d.hasClass("ui-selected"),selecting:d.hasClass("ui-selecting"),unselecting:d.hasClass("ui-unselecting")})})};this.refresh();this.selectees=c.addClass("ui-selectee");this._mouseInit();this.helper=a(document.createElement("div")).css({border:"1px dotted black"}).addClass("ui-selectable-helper")},destroy:function(){this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy()},_mouseStart:function(d){var b=this;this.opos=[d.pageX,d.pageY];if(this.options.disabled){return}var c=this.options;this.selectees=a(c.filter,this.element[0]);this._trigger("start",d);a(c.appendTo).append(this.helper);this.helper.css({"z-index":100,position:"absolute",left:d.clientX,top:d.clientY,width:0,height:0});if(c.autoRefresh){this.refresh()}this.selectees.filter(".ui-selected").each(function(){var e=a.data(this,"selectable-item");e.startselected=true;if(!d.metaKey){e.$element.removeClass("ui-selected");e.selected=false;e.$element.addClass("ui-unselecting");e.unselecting=true;b._trigger("unselecting",d,{unselecting:e.element})}});a(d.target).parents().andSelf().each(function(){var e=a.data(this,"selectable-item");if(e){e.$element.removeClass("ui-unselecting").addClass("ui-selecting");e.unselecting=false;e.selecting=true;e.selected=true;b._trigger("selecting",d,{selecting:e.element});return false}})},_mouseDrag:function(i){var c=this;this.dragged=true;if(this.options.disabled){return}var e=this.options;var d=this.opos[0],h=this.opos[1],b=i.pageX,g=i.pageY;if(d>b){var f=b;b=d;d=f}if(h>g){var f=g;g=h;h=f}this.helper.css({left:d,top:h,width:b-d,height:g-h});this.selectees.each(function(){var j=a.data(this,"selectable-item");if(!j||j.element==c.element[0]){return}var k=false;if(e.tolerance=="touch"){k=(!(j.left>b||j.right<d||j.top>g||j.bottom<h))}else{if(e.tolerance=="fit"){k=(j.left>d&&j.right<b&&j.top>h&&j.bottom<g)}}if(k){if(j.selected){j.$element.removeClass("ui-selected");j.selected=false}if(j.unselecting){j.$element.removeClass("ui-unselecting");j.unselecting=false}if(!j.selecting){j.$element.addClass("ui-selecting");j.selecting=true;c._trigger("selecting",i,{selecting:j.element})}}else{if(j.selecting){if(i.metaKey&&j.startselected){j.$element.removeClass("ui-selecting");j.selecting=false;j.$element.addClass("ui-selected");j.selected=true}else{j.$element.removeClass("ui-selecting");j.selecting=false;if(j.startselected){j.$element.addClass("ui-unselecting");j.unselecting=true}c._trigger("unselecting",i,{unselecting:j.element})}}if(j.selected){if(!i.metaKey&&!j.startselected){j.$element.removeClass("ui-selected");j.selected=false;j.$element.addClass("ui-unselecting");j.unselecting=true;c._trigger("unselecting",i,{unselecting:j.element})}}}});return false},_mouseStop:function(d){var b=this;this.dragged=false;var c=this.options;a(".ui-unselecting",this.element[0]).each(function(){var e=a.data(this,"selectable-item");e.$element.removeClass("ui-unselecting");e.unselecting=false;e.startselected=false;b._trigger("unselected",d,{unselected:e.element})});a(".ui-selecting",this.element[0]).each(function(){var e=a.data(this,"selectable-item");e.$element.removeClass("ui-selecting").addClass("ui-selected");e.selecting=false;e.selected=true;e.startselected=true;b._trigger("selected",d,{selected:e.element})});this._trigger("stop",d);this.helper.remove();return false}}));a.extend(a.ui.selectable,{version:"1.7.2",defaults:{appendTo:"body",autoRefresh:true,cancel:":input,option",delay:0,distance:0,filter:"*",tolerance:"touch"}})})(jQuery);;/*
+ * jQuery UI Sortable 1.7.2
+ *
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI/Sortables
+ *
+ * Depends:
+ *	ui.core.js
+ */
+(function(a){a.widget("ui.sortable",a.extend({},a.ui.mouse,{_init:function(){var b=this.options;this.containerCache={};this.element.addClass("ui-sortable");this.refresh();this.floating=this.items.length?(/left|right/).test(this.items[0].item.css("float")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var b=this.items.length-1;b>=0;b--){this.items[b].item.removeData("sortable-item")}},_mouseCapture:function(e,f){if(this.reverting){return false}if(this.options.disabled||this.options.type=="static"){return false}this._refreshItems(e);var d=null,c=this,b=a(e.target).parents().each(function(){if(a.data(this,"sortable-item")==c){d=a(this);return false}});if(a.data(e.target,"sortable-item")==c){d=a(e.target)}if(!d){return false}if(this.options.handle&&!f){var g=false;a(this.options.handle,d).find("*").andSelf().each(function(){if(this==e.target){g=true}});if(!g){return false}}this.currentItem=d;this._removeCurrentsFromItems();return true},_mouseStart:function(e,f,b){var g=this.options,c=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(e);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");a.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(e);this.originalPageX=e.pageX;this.originalPageY=e.pageY;if(g.cursorAt){this._adjustOffsetFromHelper(g.cursorAt)}this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};if(this.helper[0]!=this.currentItem[0]){this.currentItem.hide()}this._createPlaceholder();if(g.containment){this._setContainment()}if(g.cursor){if(a("body").css("cursor")){this._storedCursor=a("body").css("cursor")}a("body").css("cursor",g.cursor)}if(g.opacity){if(this.helper.css("opacity")){this._storedOpacity=this.helper.css("opacity")}this.helper.css("opacity",g.opacity)}if(g.zIndex){if(this.helper.css("zIndex")){this._storedZIndex=this.helper.css("zIndex")}this.helper.css("zIndex",g.zIndex)}if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){this.overflowOffset=this.scrollParent.offset()}this._trigger("start",e,this._uiHash());if(!this._preserveHelperProportions){this._cacheHelperProportions()}if(!b){for(var d=this.containers.length-1;d>=0;d--){this.containers[d]._trigger("activate",e,c._uiHash(this))}}if(a.ui.ddmanager){a.ui.ddmanager.current=this}if(a.ui.ddmanager&&!g.dropBehaviour){a.ui.ddmanager.prepareOffsets(this,e)}this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(e);return true},_mouseDrag:function(f){this.position=this._generatePosition(f);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs){this.lastPositionAbs=this.positionAbs}if(this.options.scroll){var g=this.options,b=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if((this.overflowOffset.top+this.scrollParent[0].offsetHeight)-f.pageY<g.scrollSensitivity){this.scrollParent[0].scrollTop=b=this.scrollParent[0].scrollTop+g.scrollSpeed}else{if(f.pageY-this.overflowOffset.top<g.scrollSensitivity){this.scrollParent[0].scrollTop=b=this.scrollParent[0].scrollTop-g.scrollSpeed}}if((this.overflowOffset.left+this.scrollParent[0].offsetWidth)-f.pageX<g.scrollSensitivity){this.scrollParent[0].scrollLeft=b=this.scrollParent[0].scrollLeft+g.scrollSpeed}else{if(f.pageX-this.overflowOffset.left<g.scrollSensitivity){this.scrollParent[0].scrollLeft=b=this.scrollParent[0].scrollLeft-g.scrollSpeed}}}else{if(f.pageY-a(document).scrollTop()<g.scrollSensitivity){b=a(document).scrollTop(a(document).scrollTop()-g.scrollSpeed)}else{if(a(window).height()-(f.pageY-a(document).scrollTop())<g.scrollSensitivity){b=a(document).scrollTop(a(document).scrollTop()+g.scrollSpeed)}}if(f.pageX-a(document).scrollLeft()<g.scrollSensitivity){b=a(document).scrollLeft(a(document).scrollLeft()-g.scrollSpeed)}else{if(a(window).width()-(f.pageX-a(document).scrollLeft())<g.scrollSensitivity){b=a(document).scrollLeft(a(document).scrollLeft()+g.scrollSpeed)}}}if(b!==false&&a.ui.ddmanager&&!g.dropBehaviour){a.ui.ddmanager.prepareOffsets(this,f)}}this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y"){this.helper[0].style.left=this.position.left+"px"}if(!this.options.axis||this.options.axis!="x"){this.helper[0].style.top=this.position.top+"px"}for(var d=this.items.length-1;d>=0;d--){var e=this.items[d],c=e.item[0],h=this._intersectsWithPointer(e);if(!h){continue}if(c!=this.currentItem[0]&&this.placeholder[h==1?"next":"prev"]()[0]!=c&&!a.ui.contains(this.placeholder[0],c)&&(this.options.type=="semi-dynamic"?!a.ui.contains(this.element[0],c):true)){this.direction=h==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(e)){this._rearrange(f,e)}else{break}this._trigger("change",f,this._uiHash());break}}this._contactContainers(f);if(a.ui.ddmanager){a.ui.ddmanager.drag(this,f)}this._trigger("sort",f,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(c,d){if(!c){return}if(a.ui.ddmanager&&!this.options.dropBehaviour){a.ui.ddmanager.drop(this,c)}if(this.options.revert){var b=this;var e=b.placeholder.offset();b.reverting=true;a(this.helper).animate({left:e.left-this.offset.parent.left-b.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:e.top-this.offset.parent.top-b.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){b._clear(c)})}else{this._clear(c,d)}return false},cancel:function(){var b=this;if(this.dragging){this._mouseUp();if(this.options.helper=="original"){this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else{this.currentItem.show()}for(var c=this.containers.length-1;c>=0;c--){this.containers[c]._trigger("deactivate",null,b._uiHash(this));if(this.containers[c].containerCache.over){this.containers[c]._trigger("out",null,b._uiHash(this));this.containers[c].containerCache.over=0}}}if(this.placeholder[0].parentNode){this.placeholder[0].parentNode.removeChild(this.placeholder[0])}if(this.options.helper!="original"&&this.helper&&this.helper[0].parentNode){this.helper.remove()}a.extend(this,{helper:null,dragging:false,reverting:false,_noFinalSort:null});if(this.domPosition.prev){a(this.domPosition.prev).after(this.currentItem)}else{a(this.domPosition.parent).prepend(this.currentItem)}return true},serialize:function(d){var b=this._getItemsAsjQuery(d&&d.connected);var c=[];d=d||{};a(b).each(function(){var e=(a(d.item||this).attr(d.attribute||"id")||"").match(d.expression||(/(.+)[-=_](.+)/));if(e){c.push((d.key||e[1]+"[]")+"="+(d.key&&d.expression?e[1]:e[2]))}});return c.join("&")},toArray:function(d){var b=this._getItemsAsjQuery(d&&d.connected);var c=[];d=d||{};b.each(function(){c.push(a(d.item||this).attr(d.attribute||"id")||"")});return c},_intersectsWith:function(m){var e=this.positionAbs.left,d=e+this.helperProportions.width,k=this.positionAbs.top,j=k+this.helperProportions.height;var f=m.left,c=f+m.width,n=m.top,i=n+m.height;var o=this.offset.click.top,h=this.offset.click.left;var g=(k+o)>n&&(k+o)<i&&(e+h)>f&&(e+h)<c;if(this.options.tolerance=="pointer"||this.options.forcePointerForContainers||(this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>m[this.floating?"width":"height"])){return g}else{return(f<e+(this.helperProportions.width/2)&&d-(this.helperProportions.width/2)<c&&n<k+(this.helperProportions.height/2)&&j-(this.helperProportions.height/2)<i)}},_intersectsWithPointer:function(d){var e=a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,d.top,d.height),c=a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,d.left,d.width),g=e&&c,b=this._getDragVerticalDirection(),f=this._getDragHorizontalDirection();if(!g){return false}return this.floating?(((f&&f=="right")||b=="down")?2:1):(b&&(b=="down"?2:1))},_intersectsWithSides:function(e){var c=a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,e.top+(e.height/2),e.height),d=a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,e.left+(e.width/2),e.width),b=this._getDragVerticalDirection(),f=this._getDragHorizontalDirection();if(this.floating&&f){return((f=="right"&&d)||(f=="left"&&!d))}else{return b&&((b=="down"&&c)||(b=="up"&&!c))}},_getDragVerticalDirection:function(){var b=this.positionAbs.top-this.lastPositionAbs.top;return b!=0&&(b>0?"down":"up")},_getDragHorizontalDirection:function(){var b=this.positionAbs.left-this.lastPositionAbs.left;return b!=0&&(b>0?"right":"left")},refresh:function(b){this._refreshItems(b);this.refreshPositions()},_connectWith:function(){var b=this.options;return b.connectWith.constructor==String?[b.connectWith]:b.connectWith},_getItemsAsjQuery:function(b){var l=this;var g=[];var e=[];var h=this._connectWith();if(h&&b){for(var d=h.length-1;d>=0;d--){var k=a(h[d]);for(var c=k.length-1;c>=0;c--){var f=a.data(k[c],"sortable");if(f&&f!=this&&!f.options.disabled){e.push([a.isFunction(f.options.items)?f.options.items.call(f.element):a(f.options.items,f.element).not(".ui-sortable-helper"),f])}}}}e.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):a(this.options.items,this.element).not(".ui-sortable-helper"),this]);for(var d=e.length-1;d>=0;d--){e[d][0].each(function(){g.push(this)})}return a(g)},_removeCurrentsFromItems:function(){var d=this.currentItem.find(":data(sortable-item)");for(var c=0;c<this.items.length;c++){for(var b=0;b<d.length;b++){if(d[b]==this.items[c].item[0]){this.items.splice(c,1)}}}},_refreshItems:function(b){this.items=[];this.containers=[this];var h=this.items;var p=this;var f=[[a.isFunction(this.options.items)?this.options.items.call(this.element[0],b,{item:this.currentItem}):a(this.options.items,this.element),this]];var l=this._connectWith();if(l){for(var e=l.length-1;e>=0;e--){var m=a(l[e]);for(var d=m.length-1;d>=0;d--){var g=a.data(m[d],"sortable");if(g&&g!=this&&!g.options.disabled){f.push([a.isFunction(g.options.items)?g.options.items.call(g.element[0],b,{item:this.currentItem}):a(g.options.items,g.element),g]);this.containers.push(g)}}}}for(var e=f.length-1;e>=0;e--){var k=f[e][1];var c=f[e][0];for(var d=0,n=c.length;d<n;d++){var o=a(c[d]);o.data("sortable-item",k);h.push({item:o,instance:k,width:0,height:0,left:0,top:0})}}},refreshPositions:function(b){if(this.offsetParent&&this.helper){this.offset.parent=this._getParentOffset()}for(var d=this.items.length-1;d>=0;d--){var e=this.items[d];if(e.instance!=this.currentContainer&&this.currentContainer&&e.item[0]!=this.currentItem[0]){continue}var c=this.options.toleranceElement?a(this.options.toleranceElement,e.item):e.item;if(!b){e.width=c.outerWidth();e.height=c.outerHeight()}var f=c.offset();e.left=f.left;e.top=f.top}if(this.options.custom&&this.options.custom.refreshContainers){this.options.custom.refreshContainers.call(this)}else{for(var d=this.containers.length-1;d>=0;d--){var f=this.containers[d].element.offset();this.containers[d].containerCache.left=f.left;this.containers[d].containerCache.top=f.top;this.containers[d].containerCache.width=this.containers[d].element.outerWidth();this.containers[d].containerCache.height=this.containers[d].element.outerHeight()}}},_createPlaceholder:function(d){var b=d||this,e=b.options;if(!e.placeholder||e.placeholder.constructor==String){var c=e.placeholder;e.placeholder={element:function(){var f=a(document.createElement(b.currentItem[0].nodeName)).addClass(c||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!c){f.style.visibility="hidden"}return f},update:function(f,g){if(c&&!e.forcePlaceholderSize){return}if(!g.height()){g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10))}if(!g.width()){g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10))}}}}b.placeholder=a(e.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);e.placeholder.update(b,b.placeholder)},_contactContainers:function(d){for(var c=this.containers.length-1;c>=0;c--){if(this._intersectsWith(this.containers[c].containerCache)){if(!this.containers[c].containerCache.over){if(this.currentContainer!=this.containers[c]){var h=10000;var g=null;var e=this.positionAbs[this.containers[c].floating?"left":"top"];for(var b=this.items.length-1;b>=0;b--){if(!a.ui.contains(this.containers[c].element[0],this.items[b].item[0])){continue}var f=this.items[b][this.containers[c].floating?"left":"top"];if(Math.abs(f-e)<h){h=Math.abs(f-e);g=this.items[b]}}if(!g&&!this.options.dropOnEmpty){continue}this.currentContainer=this.containers[c];g?this._rearrange(d,g,null,true):this._rearrange(d,null,this.containers[c].element,true);this._trigger("change",d,this._uiHash());this.containers[c]._trigger("change",d,this._uiHash(this));this.options.placeholder.update(this.currentContainer,this.placeholder)}this.containers[c]._trigger("over",d,this._uiHash(this));this.containers[c].containerCache.over=1}}else{if(this.containers[c].containerCache.over){this.containers[c]._trigger("out",d,this._uiHash(this));this.containers[c].containerCache.over=0}}}},_createHelper:function(c){var d=this.options;var b=a.isFunction(d.helper)?a(d.helper.apply(this.element[0],[c,this.currentItem])):(d.helper=="clone"?this.currentItem.clone():this.currentItem);if(!b.parents("body").length){a(d.appendTo!="parent"?d.appendTo:this.currentItem[0].parentNode)[0].appendChild(b[0])}if(b[0]==this.currentItem[0]){this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}}if(b[0].style.width==""||d.forceHelperSize){b.width(this.currentItem.width())}if(b[0].style.height==""||d.forceHelperSize){b.height(this.currentItem.height())}return b},_adjustOffsetFromHelper:function(b){if(b.left!=undefined){this.offset.click.left=b.left+this.margins.left}if(b.right!=undefined){this.offset.click.left=this.helperProportions.width-b.right+this.margins.left}if(b.top!=undefined){this.offset.click.top=b.top+this.margins.top}if(b.bottom!=undefined){this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top}},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])){b.left+=this.scrollParent.scrollLeft();b.top+=this.scrollParent.scrollTop()}if((this.offsetParent[0]==document.body)||(this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)){b={top:0,left:0}}return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var b=this.currentItem.position();return{top:b.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:b.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else{return{top:0,left:0}}},_cacheMargins:function(){this.margins={left:(parseInt(this.currentItem.css("marginLeft"),10)||0),top:(parseInt(this.currentItem.css("marginTop"),10)||0)}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e=this.options;if(e.containment=="parent"){e.containment=this.helper[0].parentNode}if(e.containment=="document"||e.containment=="window"){this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a(e.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a(e.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]}if(!(/^(document|window|parent)$/).test(e.containment)){var c=a(e.containment)[0];var d=a(e.containment).offset();var b=(a(c).css("overflow")!="hidden");this.containment=[d.left+(parseInt(a(c).css("borderLeftWidth"),10)||0)+(parseInt(a(c).css("paddingLeft"),10)||0)-this.margins.left,d.top+(parseInt(a(c).css("borderTopWidth"),10)||0)+(parseInt(a(c).css("paddingTop"),10)||0)-this.margins.top,d.left+(b?Math.max(c.scrollWidth,c.offsetWidth):c.offsetWidth)-(parseInt(a(c).css("borderLeftWidth"),10)||0)-(parseInt(a(c).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,d.top+(b?Math.max(c.scrollHeight,c.offsetHeight):c.offsetHeight)-(parseInt(a(c).css("borderTopWidth"),10)||0)-(parseInt(a(c).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(f,h){if(!h){h=this.position}var c=f=="absolute"?1:-1;var e=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=(/(html|body)/i).test(b[0].tagName);return{top:(h.top+this.offset.relative.top*c+this.offset.parent.top*c-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(g?0:b.scrollTop()))*c)),left:(h.left+this.offset.relative.left*c+this.offset.parent.left*c-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:b.scrollLeft())*c))}},_generatePosition:function(e){var h=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,i=(/(html|body)/i).test(b[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0])){this.offset.relative=this._getRelativeOffset()}var d=e.pageX;var c=e.pageY;if(this.originalPosition){if(this.containment){if(e.pageX-this.offset.click.left<this.containment[0]){d=this.containment[0]+this.offset.click.left}if(e.pageY-this.offset.click.top<this.containment[1]){c=this.containment[1]+this.offset.click.top}if(e.pageX-this.offset.click.left>this.containment[2]){d=this.containment[2]+this.offset.click.left}if(e.pageY-this.offset.click.top>this.containment[3]){c=this.containment[3]+this.offset.click.top}}if(h.grid){var g=this.originalPageY+Math.round((c-this.originalPageY)/h.grid[1])*h.grid[1];c=this.containment?(!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:(!(g-this.offset.click.top<this.containment[1])?g-h.grid[1]:g+h.grid[1])):g;var f=this.originalPageX+Math.round((d-this.originalPageX)/h.grid[0])*h.grid[0];d=this.containment?(!(f-this.offset.click.left<this.containment[0]||f-this.offset.click.left>this.containment[2])?f:(!(f-this.offset.click.left<this.containment[0])?f-h.grid[0]:f+h.grid[0])):f}}return{top:(c-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(i?0:b.scrollTop())))),left:(d-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():i?0:b.scrollLeft())))}},_rearrange:function(g,f,c,e){c?c[0].appendChild(this.placeholder[0]):f.item[0].parentNode.insertBefore(this.placeholder[0],(this.direction=="down"?f.item[0]:f.item[0].nextSibling));this.counter=this.counter?++this.counter:1;var d=this,b=this.counter;window.setTimeout(function(){if(b==d.counter){d.refreshPositions(!e)}},0)},_clear:function(d,e){this.reverting=false;var f=[],b=this;if(!this._noFinalSort&&this.currentItem[0].parentNode){this.placeholder.before(this.currentItem)}this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var c in this._storedCSS){if(this._storedCSS[c]=="auto"||this._storedCSS[c]=="static"){this._storedCSS[c]=""}}this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else{this.currentItem.show()}if(this.fromOutside&&!e){f.push(function(g){this._trigger("receive",g,this._uiHash(this.fromOutside))})}if((this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!e){f.push(function(g){this._trigger("update",g,this._uiHash())})}if(!a.ui.contains(this.element[0],this.currentItem[0])){if(!e){f.push(function(g){this._trigger("remove",g,this._uiHash())})}for(var c=this.containers.length-1;c>=0;c--){if(a.ui.contains(this.containers[c].element[0],this.currentItem[0])&&!e){f.push((function(g){return function(h){g._trigger("receive",h,this._uiHash(this))}}).call(this,this.containers[c]));f.push((function(g){return function(h){g._trigger("update",h,this._uiHash(this))}}).call(this,this.containers[c]))}}}for(var c=this.containers.length-1;c>=0;c--){if(!e){f.push((function(g){return function(h){g._trigger("deactivate",h,this._uiHash(this))}}).call(this,this.containers[c]))}if(this.containers[c].containerCache.over){f.push((function(g){return function(h){g._trigger("out",h,this._uiHash(this))}}).call(this,this.containers[c]));this.containers[c].containerCache.over=0}}if(this._storedCursor){a("body").css("cursor",this._storedCursor)}if(this._storedOpacity){this.helper.css("opacity",this._storedOpacity)}if(this._storedZIndex){this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex)}this.dragging=false;if(this.cancelHelperRemoval){if(!e){this._trigger("beforeStop",d,this._uiHash());for(var c=0;c<f.length;c++){f[c].call(this,d)}this._trigger("stop",d,this._uiHash())}return false}if(!e){this._trigger("beforeStop",d,this._uiHash())}this.placeholder[0].parentNode.removeChild(this.placeholder[0]);if(this.helper[0]!=this.currentItem[0]){this.helper.remove()}this.helper=null;if(!e){for(var c=0;c<f.length;c++){f[c].call(this,d)}this._trigger("stop",d,this._uiHash())}this.fromOutside=false;return true},_trigger:function(){if(a.widget.prototype._trigger.apply(this,arguments)===false){this.cancel()}},_uiHash:function(c){var b=c||this;return{helper:b.helper,placeholder:b.placeholder||a([]),position:b.position,absolutePosition:b.positionAbs,offset:b.positionAbs,item:b.currentItem,sender:c?c.element:null}}}));a.extend(a.ui.sortable,{getter:"serialize toArray",version:"1.7.2",eventPrefix:"sort",defaults:{appendTo:"parent",axis:false,cancel:":input,option",connectWith:false,containment:false,cursor:"auto",cursorAt:false,delay:0,distance:1,dropOnEmpty:true,forcePlaceholderSize:false,forceHelperSize:false,grid:false,handle:false,helper:"original",items:"> *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1000}})})(jQuery);;/*
+ * jQuery UI Accordion 1.7.2
+ *
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI/Accordion
+ *
+ * Depends:
+ *	ui.core.js
+ */
+(function(a){a.widget("ui.accordion",{_init:function(){var d=this.options,b=this;this.running=0;if(d.collapsible==a.ui.accordion.defaults.collapsible&&d.alwaysOpen!=a.ui.accordion.defaults.alwaysOpen){d.collapsible=!d.alwaysOpen}if(d.navigation){var c=this.element.find("a").filter(d.navigationFilter);if(c.length){if(c.filter(d.header).length){this.active=c}else{this.active=c.parent().parent().prev();c.addClass("ui-accordion-content-active")}}}this.element.addClass("ui-accordion ui-widget ui-helper-reset");if(this.element[0].nodeName=="UL"){this.element.children("li").addClass("ui-accordion-li-fix")}this.headers=this.element.find(d.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){a(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){a(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){a(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){a(this).removeClass("ui-state-focus")});this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");this.active=this._findActive(this.active||d.active).toggleClass("ui-state-default").toggleClass("ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top");this.active.next().addClass("ui-accordion-content-active");a("<span/>").addClass("ui-icon "+d.icons.header).prependTo(this.headers);this.active.find(".ui-icon").toggleClass(d.icons.header).toggleClass(d.icons.headerSelected);if(a.browser.msie){this.element.find("a").css("zoom","1")}this.resize();this.element.attr("role","tablist");this.headers.attr("role","tab").bind("keydown",function(e){return b._keydown(e)}).next().attr("role","tabpanel");this.headers.not(this.active||"").attr("aria-expanded","false").attr("tabIndex","-1").next().hide();if(!this.active.length){this.headers.eq(0).attr("tabIndex","0")}else{this.active.attr("aria-expanded","true").attr("tabIndex","0")}if(!a.browser.safari){this.headers.find("a").attr("tabIndex","-1")}if(d.event){this.headers.bind((d.event)+".accordion",function(e){return b._clickHandler.call(b,e,this)})}},destroy:function(){var c=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role").unbind(".accordion").removeData("accordion");this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("tabindex");this.headers.find("a").removeAttr("tabindex");this.headers.children(".ui-icon").remove();var b=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active");if(c.autoHeight||c.fillHeight){b.css("height","")}},_setData:function(b,c){if(b=="alwaysOpen"){b="collapsible";c=!c}a.widget.prototype._setData.apply(this,arguments)},_keydown:function(e){var g=this.options,f=a.ui.keyCode;if(g.disabled||e.altKey||e.ctrlKey){return}var d=this.headers.length;var b=this.headers.index(e.target);var c=false;switch(e.keyCode){case f.RIGHT:case f.DOWN:c=this.headers[(b+1)%d];break;case f.LEFT:case f.UP:c=this.headers[(b-1+d)%d];break;case f.SPACE:case f.ENTER:return this._clickHandler({target:e.target},e.target)}if(c){a(e.target).attr("tabIndex","-1");a(c).attr("tabIndex","0");c.focus();return false}return true},resize:function(){var e=this.options,d;if(e.fillSpace){if(a.browser.msie){var b=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}d=this.element.parent().height();if(a.browser.msie){this.element.parent().css("overflow",b)}this.headers.each(function(){d-=a(this).outerHeight()});var c=0;this.headers.next().each(function(){c=Math.max(c,a(this).innerHeight()-a(this).height())}).height(Math.max(0,d-c)).css("overflow","auto")}else{if(e.autoHeight){d=0;this.headers.next().each(function(){d=Math.max(d,a(this).outerHeight())}).height(d)}}},activate:function(b){var c=this._findActive(b)[0];this._clickHandler({target:c},c)},_findActive:function(b){return b?typeof b=="number"?this.headers.filter(":eq("+b+")"):this.headers.not(this.headers.not(b)):b===false?a([]):this.headers.filter(":eq(0)")},_clickHandler:function(b,f){var d=this.options;if(d.disabled){return false}if(!b.target&&d.collapsible){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);this.active.next().addClass("ui-accordion-content-active");var h=this.active.next(),e={options:d,newHeader:a([]),oldHeader:d.active,newContent:a([]),oldContent:h},c=(this.active=a([]));this._toggle(c,h,e);return false}var g=a(b.currentTarget||f);var i=g[0]==this.active[0];if(this.running||(!d.collapsible&&i)){return false}this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);this.active.next().addClass("ui-accordion-content-active");if(!i){g.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").find(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected);g.next().addClass("ui-accordion-content-active")}var c=g.next(),h=this.active.next(),e={options:d,newHeader:i&&d.collapsible?a([]):g,oldHeader:this.active,newContent:i&&d.collapsible?a([]):c.find("> *"),oldContent:h.find("> *")},j=this.headers.index(this.active[0])>this.headers.index(g[0]);this.active=i?a([]):g;this._toggle(c,h,e,i,j);return false},_toggle:function(b,i,g,j,k){var d=this.options,m=this;this.toShow=b;this.toHide=i;this.data=g;var c=function(){if(!m){return}return m._completed.apply(m,arguments)};this._trigger("changestart",null,this.data);this.running=i.size()===0?b.size():i.size();if(d.animated){var f={};if(d.collapsible&&j){f={toShow:a([]),toHide:i,complete:c,down:k,autoHeight:d.autoHeight||d.fillSpace}}else{f={toShow:b,toHide:i,complete:c,down:k,autoHeight:d.autoHeight||d.fillSpace}}if(!d.proxied){d.proxied=d.animated}if(!d.proxiedDuration){d.proxiedDuration=d.duration}d.animated=a.isFunction(d.proxied)?d.proxied(f):d.proxied;d.duration=a.isFunction(d.proxiedDuration)?d.proxiedDuration(f):d.proxiedDuration;var l=a.ui.accordion.animations,e=d.duration,h=d.animated;if(!l[h]){l[h]=function(n){this.slide(n,{easing:h,duration:e||700})}}l[h](f)}else{if(d.collapsible&&j){b.toggle()}else{i.hide();b.show()}c(true)}i.prev().attr("aria-expanded","false").attr("tabIndex","-1").blur();b.prev().attr("aria-expanded","true").attr("tabIndex","0").focus()},_completed:function(b){var c=this.options;this.running=b?0:--this.running;if(this.running){return}if(c.clearStyle){this.toShow.add(this.toHide).css({height:"",overflow:""})}this._trigger("change",null,this.data)}});a.extend(a.ui.accordion,{version:"1.7.2",defaults:{active:null,alwaysOpen:true,animated:"slide",autoHeight:true,clearStyle:false,collapsible:false,event:"click",fillSpace:false,header:"> li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:false,navigationFilter:function(){return this.href.toLowerCase()==location.href.toLowerCase()}},animations:{slide:function(j,h){j=a.extend({easing:"swing",duration:300},j,h);if(!j.toHide.size()){j.toShow.animate({height:"show"},j);return}if(!j.toShow.size()){j.toHide.animate({height:"hide"},j);return}var c=j.toShow.css("overflow"),g,d={},f={},e=["height","paddingTop","paddingBottom"],b;var i=j.toShow;b=i[0].style.width;i.width(parseInt(i.parent().width(),10)-parseInt(i.css("paddingLeft"),10)-parseInt(i.css("paddingRight"),10)-(parseInt(i.css("borderLeftWidth"),10)||0)-(parseInt(i.css("borderRightWidth"),10)||0));a.each(e,function(k,m){f[m]="hide";var l=(""+a.css(j.toShow[0],m)).match(/^([\d+-.]+)(.*)$/);d[m]={value:l[1],unit:l[2]||"px"}});j.toShow.css({height:0,overflow:"hidden"}).show();j.toHide.filter(":hidden").each(j.complete).end().filter(":visible").animate(f,{step:function(k,l){if(l.prop=="height"){g=(l.now-l.start)/(l.end-l.start)}j.toShow[0].style[l.prop]=(g*d[l.prop].value)+d[l.prop].unit},duration:j.duration,easing:j.easing,complete:function(){if(!j.autoHeight){j.toShow.css("height","")}j.toShow.css("width",b);j.toShow.css({overflow:c});j.complete()}})},bounceslide:function(b){this.slide(b,{easing:b.down?"easeOutBounce":"swing",duration:b.down?1000:200})},easeslide:function(b){this.slide(b,{easing:"easeinout",duration:700})}}})})(jQuery);;/*
+ * jQuery UI Dialog 1.7.2
+ *
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI/Dialog
+ *
+ * Depends:
+ *	ui.core.js
+ *	ui.draggable.js
+ *	ui.resizable.js
+ */
+(function(c){var b={dragStart:"start.draggable",drag:"drag.draggable",dragStop:"stop.draggable",maxHeight:"maxHeight.resizable",minHeight:"minHeight.resizable",maxWidth:"maxWidth.resizable",minWidth:"minWidth.resizable",resizeStart:"start.resizable",resize:"drag.resizable",resizeStop:"stop.resizable"},a="ui-dialog ui-widget ui-widget-content ui-corner-all ";c.widget("ui.dialog",{_init:function(){this.originalTitle=this.element.attr("title");var l=this,m=this.options,j=m.title||this.originalTitle||"&nbsp;",e=c.ui.dialog.getTitleId(this.element),k=(this.uiDialog=c("<div/>")).appendTo(document.body).hide().addClass(a+m.dialogClass).css({position:"absolute",overflow:"hidden",zIndex:m.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(n){(m.closeOnEscape&&n.keyCode&&n.keyCode==c.ui.keyCode.ESCAPE&&l.close(n))}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(n){l.moveToTop(false,n)}),g=this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(k),f=(this.uiDialogTitlebar=c("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(k),i=c('<a href="#"/>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){i.addClass("ui-state-hover")},function(){i.removeClass("ui-state-hover")}).focus(function(){i.addClass("ui-state-focus")}).blur(function(){i.removeClass("ui-state-focus")}).mousedown(function(n){n.stopPropagation()}).click(function(n){l.close(n);return false}).appendTo(f),h=(this.uiDialogTitlebarCloseText=c("<span/>")).addClass("ui-icon ui-icon-closethick").text(m.closeText).appendTo(i),d=c("<span/>").addClass("ui-dialog-title").attr("id",e).html(j).prependTo(f);f.find("*").add(f).disableSelection();(m.draggable&&c.fn.draggable&&this._makeDraggable());(m.resizable&&c.fn.resizable&&this._makeResizable());this._createButtons(m.buttons);this._isOpen=false;(m.bgiframe&&c.fn.bgiframe&&k.bgiframe());(m.autoOpen&&this.open())},destroy:function(){(this.overlay&&this.overlay.destroy());this.uiDialog.hide();this.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body");this.uiDialog.remove();(this.originalTitle&&this.element.attr("title",this.originalTitle))},close:function(f){var d=this;if(false===d._trigger("beforeclose",f)){return}(d.overlay&&d.overlay.destroy());d.uiDialog.unbind("keypress.ui-dialog");(d.options.hide?d.uiDialog.hide(d.options.hide,function(){d._trigger("close",f)}):d.uiDialog.hide()&&d._trigger("close",f));c.ui.dialog.overlay.resize();d._isOpen=false;if(d.options.modal){var e=0;c(".ui-dialog").each(function(){if(this!=d.uiDialog[0]){e=Math.max(e,c(this).css("z-index"))}});c.ui.dialog.maxZ=e}},isOpen:function(){return this._isOpen},moveToTop:function(f,e){if((this.options.modal&&!f)||(!this.options.stack&&!this.options.modal)){return this._trigger("focus",e)}if(this.options.zIndex>c.ui.dialog.maxZ){c.ui.dialog.maxZ=this.options.zIndex}(this.overlay&&this.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=++c.ui.dialog.maxZ));var d={scrollTop:this.element.attr("scrollTop"),scrollLeft:this.element.attr("scrollLeft")};this.uiDialog.css("z-index",++c.ui.dialog.maxZ);this.element.attr(d);this._trigger("focus",e)},open:function(){if(this._isOpen){return}var e=this.options,d=this.uiDialog;this.overlay=e.modal?new c.ui.dialog.overlay(this):null;(d.next().length&&d.appendTo("body"));this._size();this._position(e.position);d.show(e.show);this.moveToTop(true);(e.modal&&d.bind("keypress.ui-dialog",function(h){if(h.keyCode!=c.ui.keyCode.TAB){return}var g=c(":tabbable",this),i=g.filter(":first")[0],f=g.filter(":last")[0];if(h.target==f&&!h.shiftKey){setTimeout(function(){i.focus()},1)}else{if(h.target==i&&h.shiftKey){setTimeout(function(){f.focus()},1)}}}));c([]).add(d.find(".ui-dialog-content :tabbable:first")).add(d.find(".ui-dialog-buttonpane :tabbable:first")).add(d).filter(":first").focus();this._trigger("open");this._isOpen=true},_createButtons:function(g){var f=this,d=false,e=c("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix");this.uiDialog.find(".ui-dialog-buttonpane").remove();(typeof g=="object"&&g!==null&&c.each(g,function(){return !(d=true)}));if(d){c.each(g,function(h,i){c('<button type="button"></button>').addClass("ui-state-default ui-corner-all").text(h).click(function(){i.apply(f.element[0],arguments)}).hover(function(){c(this).addClass("ui-state-hover")},function(){c(this).removeClass("ui-state-hover")}).focus(function(){c(this).addClass("ui-state-focus")}).blur(function(){c(this).removeClass("ui-state-focus")}).appendTo(e)});e.appendTo(this.uiDialog)}},_makeDraggable:function(){var d=this,f=this.options,e;this.uiDialog.draggable({cancel:".ui-dialog-content",handle:".ui-dialog-titlebar",containment:"document",start:function(){e=f.height;c(this).height(c(this).height()).addClass("ui-dialog-dragging");(f.dragStart&&f.dragStart.apply(d.element[0],arguments))},drag:function(){(f.drag&&f.drag.apply(d.element[0],arguments))},stop:function(){c(this).removeClass("ui-dialog-dragging").height(e);(f.dragStop&&f.dragStop.apply(d.element[0],arguments));c.ui.dialog.overlay.resize()}})},_makeResizable:function(g){g=(g===undefined?this.options.resizable:g);var d=this,f=this.options,e=typeof g=="string"?g:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",alsoResize:this.element,maxWidth:f.maxWidth,maxHeight:f.maxHeight,minWidth:f.minWidth,minHeight:f.minHeight,start:function(){c(this).addClass("ui-dialog-resizing");(f.resizeStart&&f.resizeStart.apply(d.element[0],arguments))},resize:function(){(f.resize&&f.resize.apply(d.element[0],arguments))},handles:e,stop:function(){c(this).removeClass("ui-dialog-resizing");f.height=c(this).height();f.width=c(this).width();(f.resizeStop&&f.resizeStop.apply(d.element[0],arguments));c.ui.dialog.overlay.resize()}}).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_position:function(i){var e=c(window),f=c(document),g=f.scrollTop(),d=f.scrollLeft(),h=g;if(c.inArray(i,["center","top","right","bottom","left"])>=0){i=[i=="right"||i=="left"?i:"center",i=="top"||i=="bottom"?i:"middle"]}if(i.constructor!=Array){i=["center","middle"]}if(i[0].constructor==Number){d+=i[0]}else{switch(i[0]){case"left":d+=0;break;case"right":d+=e.width()-this.uiDialog.outerWidth();break;default:case"center":d+=(e.width()-this.uiDialog.outerWidth())/2}}if(i[1].constructor==Number){g+=i[1]}else{switch(i[1]){case"top":g+=0;break;case"bottom":g+=e.height()-this.uiDialog.outerHeight();break;default:case"middle":g+=(e.height()-this.uiDialog.outerHeight())/2}}g=Math.max(g,h);this.uiDialog.css({top:g,left:d})},_setData:function(e,f){(b[e]&&this.uiDialog.data(b[e],f));switch(e){case"buttons":this._createButtons(f);break;case"closeText":this.uiDialogTitlebarCloseText.text(f);break;case"dialogClass":this.uiDialog.removeClass(this.options.dialogClass).addClass(a+f);break;case"draggable":(f?this._makeDraggable():this.uiDialog.draggable("destroy"));break;case"height":this.uiDialog.height(f);break;case"position":this._position(f);break;case"resizable":var d=this.uiDialog,g=this.uiDialog.is(":data(resizable)");(g&&!f&&d.resizable("destroy"));(g&&typeof f=="string"&&d.resizable("option","handles",f));(g||this._makeResizable(f));break;case"title":c(".ui-dialog-title",this.uiDialogTitlebar).html(f||"&nbsp;");break;case"width":this.uiDialog.width(f);break}c.widget.prototype._setData.apply(this,arguments)},_size:function(){var e=this.options;this.element.css({height:0,minHeight:0,width:"auto"});var d=this.uiDialog.css({height:"auto",width:e.width}).height();this.element.css({minHeight:Math.max(e.minHeight-d,0),height:e.height=="auto"?"auto":Math.max(e.height-d,0)})}});c.extend(c.ui.dialog,{version:"1.7.2",defaults:{autoOpen:true,bgiframe:false,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false,position:"center",resizable:true,show:null,stack:true,title:"",width:300,zIndex:1000},getter:"isOpen",uuid:0,maxZ:0,getTitleId:function(d){return"ui-dialog-title-"+(d.attr("id")||++this.uuid)},overlay:function(d){this.$el=c.ui.dialog.overlay.create(d)}});c.extend(c.ui.dialog.overlay,{instances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(d){return d+".dialog-overlay"}).join(" "),create:function(e){if(this.instances.length===0){setTimeout(function(){if(c.ui.dialog.overlay.instances.length){c(document).bind(c.ui.dialog.overlay.events,function(f){var g=c(f.target).parents(".ui-dialog").css("zIndex")||0;return(g>c.ui.dialog.overlay.maxZ)})}},1);c(document).bind("keydown.dialog-overlay",function(f){(e.options.closeOnEscape&&f.keyCode&&f.keyCode==c.ui.keyCode.ESCAPE&&e.close(f))});c(window).bind("resize.dialog-overlay",c.ui.dialog.overlay.resize)}var d=c("<div></div>").appendTo(document.body).addClass("ui-widget-overlay").css({width:this.width(),height:this.height()});(e.options.bgiframe&&c.fn.bgiframe&&d.bgiframe());this.instances.push(d);return d},destroy:function(d){this.instances.splice(c.inArray(this.instances,d),1);if(this.instances.length===0){c([document,window]).unbind(".dialog-overlay")}d.remove();var e=0;c.each(this.instances,function(){e=Math.max(e,this.css("z-index"))});this.maxZ=e},height:function(){if(c.browser.msie&&c.browser.version<7){var e=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);var d=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);if(e<d){return c(window).height()+"px"}else{return e+"px"}}else{return c(document).height()+"px"}},width:function(){if(c.browser.msie&&c.browser.version<7){var d=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth);var e=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);if(d<e){return c(window).width()+"px"}else{return d+"px"}}else{return c(document).width()+"px"}},resize:function(){var d=c([]);c.each(c.ui.dialog.overlay.instances,function(){d=d.add(this)});d.css({width:0,height:0}).css({width:c.ui.dialog.overlay.width(),height:c.ui.dialog.overlay.height()})}});c.extend(c.ui.dialog.overlay.prototype,{destroy:function(){c.ui.dialog.overlay.destroy(this.$el)}})})(jQuery);;/*
+ * jQuery UI Slider 1.7.2
+ *
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI/Slider
+ *
+ * Depends:
+ *	ui.core.js
+ */
+(function(a){a.widget("ui.slider",a.extend({},a.ui.mouse,{_init:function(){var b=this,c=this.options;this._keySliding=false;this._handleIndex=null;this._detectOrientation();this._mouseInit();this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget ui-widget-content ui-corner-all");this.range=a([]);if(c.range){if(c.range===true){this.range=a("<div></div>");if(!c.values){c.values=[this._valueMin(),this._valueMin()]}if(c.values.length&&c.values.length!=2){c.values=[c.values[0],c.values[0]]}}else{this.range=a("<div></div>")}this.range.appendTo(this.element).addClass("ui-slider-range");if(c.range=="min"||c.range=="max"){this.range.addClass("ui-slider-range-"+c.range)}this.range.addClass("ui-widget-header")}if(a(".ui-slider-handle",this.element).length==0){a('<a href="#"></a>').appendTo(this.element).addClass("ui-slider-handle")}if(c.values&&c.values.length){while(a(".ui-slider-handle",this.element).length<c.values.length){a('<a href="#"></a>').appendTo(this.element).addClass("ui-slider-handle")}}this.handles=a(".ui-slider-handle",this.element).addClass("ui-state-default ui-corner-all");this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(d){d.preventDefault()}).hover(function(){if(!c.disabled){a(this).addClass("ui-state-hover")}},function(){a(this).removeClass("ui-state-hover")}).focus(function(){if(!c.disabled){a(".ui-slider .ui-state-focus").removeClass("ui-state-focus");a(this).addClass("ui-state-focus")}else{a(this).blur()}}).blur(function(){a(this).removeClass("ui-state-focus")});this.handles.each(function(d){a(this).data("index.ui-slider-handle",d)});this.handles.keydown(function(i){var f=true;var e=a(this).data("index.ui-slider-handle");if(b.options.disabled){return}switch(i.keyCode){case a.ui.keyCode.HOME:case a.ui.keyCode.END:case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:f=false;if(!b._keySliding){b._keySliding=true;a(this).addClass("ui-state-active");b._start(i,e)}break}var g,d,h=b._step();if(b.options.values&&b.options.values.length){g=d=b.values(e)}else{g=d=b.value()}switch(i.keyCode){case a.ui.keyCode.HOME:d=b._valueMin();break;case a.ui.keyCode.END:d=b._valueMax();break;case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:if(g==b._valueMax()){return}d=g+h;break;case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(g==b._valueMin()){return}d=g-h;break}b._slide(i,e,d);return f}).keyup(function(e){var d=a(this).data("index.ui-slider-handle");if(b._keySliding){b._stop(e,d);b._change(e,d);b._keySliding=false;a(this).removeClass("ui-state-active")}});this._refreshValue()},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");this._mouseDestroy()},_mouseCapture:function(d){var e=this.options;if(e.disabled){return false}this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();var h={x:d.pageX,y:d.pageY};var j=this._normValueFromMouse(h);var c=this._valueMax()-this._valueMin()+1,f;var k=this,i;this.handles.each(function(l){var m=Math.abs(j-k.values(l));if(c>m){c=m;f=a(this);i=l}});if(e.range==true&&this.values(1)==e.min){f=a(this.handles[++i])}this._start(d,i);k._handleIndex=i;f.addClass("ui-state-active").focus();var g=f.offset();var b=!a(d.target).parents().andSelf().is(".ui-slider-handle");this._clickOffset=b?{left:0,top:0}:{left:d.pageX-g.left-(f.width()/2),top:d.pageY-g.top-(f.height()/2)-(parseInt(f.css("borderTopWidth"),10)||0)-(parseInt(f.css("borderBottomWidth"),10)||0)+(parseInt(f.css("marginTop"),10)||0)};j=this._normValueFromMouse(h);this._slide(d,i,j);return true},_mouseStart:function(b){return true},_mouseDrag:function(d){var b={x:d.pageX,y:d.pageY};var c=this._normValueFromMouse(b);this._slide(d,this._handleIndex,c);return false},_mouseStop:function(b){this.handles.removeClass("ui-state-active");this._stop(b,this._handleIndex);this._change(b,this._handleIndex);this._handleIndex=null;this._clickOffset=null;return false},_detectOrientation:function(){this.orientation=this.options.orientation=="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(d){var c,h;if("horizontal"==this.orientation){c=this.elementSize.width;h=d.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{c=this.elementSize.height;h=d.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}var f=(h/c);if(f>1){f=1}if(f<0){f=0}if("vertical"==this.orientation){f=1-f}var e=this._valueMax()-this._valueMin(),i=f*e,b=i%this.options.step,g=this._valueMin()+i-b;if(b>(this.options.step/2)){g+=this.options.step}return parseFloat(g.toFixed(5))},_start:function(d,c){var b={handle:this.handles[c],value:this.value()};if(this.options.values&&this.options.values.length){b.value=this.values(c);b.values=this.values()}this._trigger("start",d,b)},_slide:function(f,e,d){var g=this.handles[e];if(this.options.values&&this.options.values.length){var b=this.values(e?0:1);if((this.options.values.length==2&&this.options.range===true)&&((e==0&&d>b)||(e==1&&d<b))){d=b}if(d!=this.values(e)){var c=this.values();c[e]=d;var h=this._trigger("slide",f,{handle:this.handles[e],value:d,values:c});var b=this.values(e?0:1);if(h!==false){this.values(e,d,(f.type=="mousedown"&&this.options.animate),true)}}}else{if(d!=this.value()){var h=this._trigger("slide",f,{handle:this.handles[e],value:d});if(h!==false){this._setData("value",d,(f.type=="mousedown"&&this.options.animate))}}}},_stop:function(d,c){var b={handle:this.handles[c],value:this.value()};if(this.options.values&&this.options.values.length){b.value=this.values(c);b.values=this.values()}this._trigger("stop",d,b)},_change:function(d,c){var b={handle:this.handles[c],value:this.value()};if(this.options.values&&this.options.values.length){b.value=this.values(c);b.values=this.values()}this._trigger("change",d,b)},value:function(b){if(arguments.length){this._setData("value",b);this._change(null,0)}return this._value()},values:function(b,e,c,d){if(arguments.length>1){this.options.values[b]=e;this._refreshValue(c);if(!d){this._change(null,b)}}if(arguments.length){if(this.options.values&&this.options.values.length){return this._values(b)}else{return this.value()}}else{return this._values()}},_setData:function(b,d,c){a.widget.prototype._setData.apply(this,arguments);switch(b){case"disabled":if(d){this.handles.filter(".ui-state-focus").blur();this.handles.removeClass("ui-state-hover");this.handles.attr("disabled","disabled")}else{this.handles.removeAttr("disabled")}case"orientation":this._detectOrientation();this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation);this._refreshValue(c);break;case"value":this._refreshValue(c);break}},_step:function(){var b=this.options.step;return b},_value:function(){var b=this.options.value;if(b<this._valueMin()){b=this._valueMin()}if(b>this._valueMax()){b=this._valueMax()}return b},_values:function(b){if(arguments.length){var c=this.options.values[b];if(c<this._valueMin()){c=this._valueMin()}if(c>this._valueMax()){c=this._valueMax()}return c}else{return this.options.values}},_valueMin:function(){var b=this.options.min;return b},_valueMax:function(){var b=this.options.max;return b},_refreshValue:function(c){var f=this.options.range,d=this.options,l=this;if(this.options.values&&this.options.values.length){var i,h;this.handles.each(function(p,n){var o=(l.values(p)-l._valueMin())/(l._valueMax()-l._valueMin())*100;var m={};m[l.orientation=="horizontal"?"left":"bottom"]=o+"%";a(this).stop(1,1)[c?"animate":"css"](m,d.animate);if(l.options.range===true){if(l.orientation=="horizontal"){(p==0)&&l.range.stop(1,1)[c?"animate":"css"]({left:o+"%"},d.animate);(p==1)&&l.range[c?"animate":"css"]({width:(o-lastValPercent)+"%"},{queue:false,duration:d.animate})}else{(p==0)&&l.range.stop(1,1)[c?"animate":"css"]({bottom:(o)+"%"},d.animate);(p==1)&&l.range[c?"animate":"css"]({height:(o-lastValPercent)+"%"},{queue:false,duration:d.animate})}}lastValPercent=o})}else{var j=this.value(),g=this._valueMin(),k=this._valueMax(),e=k!=g?(j-g)/(k-g)*100:0;var b={};b[l.orientation=="horizontal"?"left":"bottom"]=e+"%";this.handle.stop(1,1)[c?"animate":"css"](b,d.animate);(f=="min")&&(this.orientation=="horizontal")&&this.range.stop(1,1)[c?"animate":"css"]({width:e+"%"},d.animate);(f=="max")&&(this.orientation=="horizontal")&&this.range[c?"animate":"css"]({width:(100-e)+"%"},{queue:false,duration:d.animate});(f=="min")&&(this.orientation=="vertical")&&this.range.stop(1,1)[c?"animate":"css"]({height:e+"%"},d.animate);(f=="max")&&(this.orientation=="vertical")&&this.range[c?"animate":"css"]({height:(100-e)+"%"},{queue:false,duration:d.animate})}}}));a.extend(a.ui.slider,{getter:"value values",version:"1.7.2",eventPrefix:"slide",defaults:{animate:false,delay:0,distance:0,max:100,min:0,orientation:"horizontal",range:false,step:1,value:0,values:null}})})(jQuery);;/*
+ * jQuery UI Tabs 1.7.2
+ *
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI/Tabs
+ *
+ * Depends:
+ *	ui.core.js
+ */
+(function(a){a.widget("ui.tabs",{_init:function(){if(this.options.deselectable!==undefined){this.options.collapsible=this.options.deselectable}this._tabify(true)},_setData:function(b,c){if(b=="selected"){if(this.options.collapsible&&c==this.options.selected){return}this.select(c)}else{this.options[b]=c;if(b=="deselectable"){this.options.collapsible=c}this._tabify()}},_tabId:function(b){return b.title&&b.title.replace(/\s/g,"_").replace(/[^A-Za-z0-9\-_:\.]/g,"")||this.options.idPrefix+a.data(b)},_sanitizeSelector:function(b){return b.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+a.data(this.list[0]));return a.cookie.apply(null,[b].concat(a.makeArray(arguments)))},_ui:function(c,b){return{tab:c,panel:b,index:this.anchors.index(c)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b=a(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(n){this.list=this.element.children("ul:first");this.lis=a("li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return a("a",this)[0]});this.panels=a([]);var p=this,d=this.options;var c=/^#.+/;this.anchors.each(function(r,o){var q=a(o).attr("href");var s=q.split("#")[0],u;if(s&&(s===location.toString().split("#")[0]||(u=a("base")[0])&&s===u.href)){q=o.hash;o.href=q}if(c.test(q)){p.panels=p.panels.add(p._sanitizeSelector(q))}else{if(q!="#"){a.data(o,"href.tabs",q);a.data(o,"load.tabs",q.replace(/#.*$/,""));var w=p._tabId(o);o.href="#"+w;var v=a("#"+w);if(!v.length){v=a(d.panelTemplate).attr("id",w).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(p.panels[r-1]||p.list);v.data("destroy.tabs",true)}p.panels=p.panels.add(v)}else{d.disabled.push(r)}}});if(n){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all");this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(d.selected===undefined){if(location.hash){this.anchors.each(function(q,o){if(o.hash==location.hash){d.selected=q;return false}})}if(typeof d.selected!="number"&&d.cookie){d.selected=parseInt(p._cookie(),10)}if(typeof d.selected!="number"&&this.lis.filter(".ui-tabs-selected").length){d.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))}d.selected=d.selected||0}else{if(d.selected===null){d.selected=-1}}d.selected=((d.selected>=0&&this.anchors[d.selected])||d.selected<0)?d.selected:0;d.disabled=a.unique(d.disabled.concat(a.map(this.lis.filter(".ui-state-disabled"),function(q,o){return p.lis.index(q)}))).sort();if(a.inArray(d.selected,d.disabled)!=-1){d.disabled.splice(a.inArray(d.selected,d.disabled),1)}this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active");if(d.selected>=0&&this.anchors.length){this.panels.eq(d.selected).removeClass("ui-tabs-hide");this.lis.eq(d.selected).addClass("ui-tabs-selected ui-state-active");p.element.queue("tabs",function(){p._trigger("show",null,p._ui(p.anchors[d.selected],p.panels[d.selected]))});this.load(d.selected)}a(window).bind("unload",function(){p.lis.add(p.anchors).unbind(".tabs");p.lis=p.anchors=p.panels=null})}else{d.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))}this.element[d.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");if(d.cookie){this._cookie(d.selected,d.cookie)}for(var g=0,m;(m=this.lis[g]);g++){a(m)[a.inArray(g,d.disabled)!=-1&&!a(m).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled")}if(d.cache===false){this.anchors.removeData("cache.tabs")}this.lis.add(this.anchors).unbind(".tabs");if(d.event!="mouseover"){var f=function(o,i){if(i.is(":not(.ui-state-disabled)")){i.addClass("ui-state-"+o)}};var j=function(o,i){i.removeClass("ui-state-"+o)};this.lis.bind("mouseover.tabs",function(){f("hover",a(this))});this.lis.bind("mouseout.tabs",function(){j("hover",a(this))});this.anchors.bind("focus.tabs",function(){f("focus",a(this).closest("li"))});this.anchors.bind("blur.tabs",function(){j("focus",a(this).closest("li"))})}var b,h;if(d.fx){if(a.isArray(d.fx)){b=d.fx[0];h=d.fx[1]}else{b=h=d.fx}}function e(i,o){i.css({display:""});if(a.browser.msie&&o.opacity){i[0].style.removeAttribute("filter")}}var k=h?function(i,o){a(i).closest("li").removeClass("ui-state-default").addClass("ui-tabs-selected ui-state-active");o.hide().removeClass("ui-tabs-hide").animate(h,h.duration||"normal",function(){e(o,h);p._trigger("show",null,p._ui(i,o[0]))})}:function(i,o){a(i).closest("li").removeClass("ui-state-default").addClass("ui-tabs-selected ui-state-active");o.removeClass("ui-tabs-hide");p._trigger("show",null,p._ui(i,o[0]))};var l=b?function(o,i){i.animate(b,b.duration||"normal",function(){p.lis.removeClass("ui-tabs-selected ui-state-active").addClass("ui-state-default");i.addClass("ui-tabs-hide");e(i,b);p.element.dequeue("tabs")})}:function(o,i,q){p.lis.removeClass("ui-tabs-selected ui-state-active").addClass("ui-state-default");i.addClass("ui-tabs-hide");p.element.dequeue("tabs")};this.anchors.bind(d.event+".tabs",function(){var o=this,r=a(this).closest("li"),i=p.panels.filter(":not(.ui-tabs-hide)"),q=a(p._sanitizeSelector(this.hash));if((r.hasClass("ui-tabs-selected")&&!d.collapsible)||r.hasClass("ui-state-disabled")||r.hasClass("ui-state-processing")||p._trigger("select",null,p._ui(this,q[0]))===false){this.blur();return false}d.selected=p.anchors.index(this);p.abort();if(d.collapsible){if(r.hasClass("ui-tabs-selected")){d.selected=-1;if(d.cookie){p._cookie(d.selected,d.cookie)}p.element.queue("tabs",function(){l(o,i)}).dequeue("tabs");this.blur();return false}else{if(!i.length){if(d.cookie){p._cookie(d.selected,d.cookie)}p.element.queue("tabs",function(){k(o,q)});p.load(p.anchors.index(this));this.blur();return false}}}if(d.cookie){p._cookie(d.selected,d.cookie)}if(q.length){if(i.length){p.element.queue("tabs",function(){l(o,i)})}p.element.queue("tabs",function(){k(o,q)});p.load(p.anchors.index(this))}else{throw"jQuery UI Tabs: Mismatching fragment identifier."}if(a.browser.msie){this.blur()}});this.anchors.bind("click.tabs",function(){return false})},destroy:function(){var b=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var c=a.data(this,"href.tabs");if(c){this.href=c}var d=a(this).unbind(".tabs");a.each(["href","load","cache"],function(e,f){d.removeData(f+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){if(a.data(this,"destroy.tabs")){a(this).remove()}else{a(this).removeClass(["ui-state-default","ui-corner-top","ui-tabs-selected","ui-state-active","ui-state-hover","ui-state-focus","ui-state-disabled","ui-tabs-panel","ui-widget-content","ui-corner-bottom","ui-tabs-hide"].join(" "))}});if(b.cookie){this._cookie(null,b.cookie)}},add:function(e,d,c){if(c===undefined){c=this.anchors.length}var b=this,g=this.options,i=a(g.tabTemplate.replace(/#\{href\}/g,e).replace(/#\{label\}/g,d)),h=!e.indexOf("#")?e.replace("#",""):this._tabId(a("a",i)[0]);i.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var f=a("#"+h);if(!f.length){f=a(g.panelTemplate).attr("id",h).data("destroy.tabs",true)}f.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(c>=this.lis.length){i.appendTo(this.list);f.appendTo(this.list[0].parentNode)}else{i.insertBefore(this.lis[c]);f.insertBefore(this.panels[c])}g.disabled=a.map(g.disabled,function(k,j){return k>=c?++k:k});this._tabify();if(this.anchors.length==1){i.addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){b._trigger("show",null,b._ui(b.anchors[0],b.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[c],this.panels[c]))},remove:function(b){var d=this.options,e=this.lis.eq(b).remove(),c=this.panels.eq(b).remove();if(e.hasClass("ui-tabs-selected")&&this.anchors.length>1){this.select(b+(b+1<this.anchors.length?1:-1))}d.disabled=a.map(a.grep(d.disabled,function(g,f){return g!=b}),function(g,f){return g>=b?--g:g});this._tabify();this._trigger("remove",null,this._ui(e.find("a")[0],c[0]))},enable:function(b){var c=this.options;if(a.inArray(b,c.disabled)==-1){return}this.lis.eq(b).removeClass("ui-state-disabled");c.disabled=a.grep(c.disabled,function(e,d){return e!=b});this._trigger("enable",null,this._ui(this.anchors[b],this.panels[b]))},disable:function(c){var b=this,d=this.options;if(c!=d.selected){this.lis.eq(c).addClass("ui-state-disabled");d.disabled.push(c);d.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[c],this.panels[c]))}},select:function(b){if(typeof b=="string"){b=this.anchors.index(this.anchors.filter("[href$="+b+"]"))}else{if(b===null){b=-1}}if(b==-1&&this.options.collapsible){b=this.options.selected}this.anchors.eq(b).trigger(this.options.event+".tabs")},load:function(e){var c=this,g=this.options,b=this.anchors.eq(e)[0],d=a.data(b,"load.tabs");this.abort();if(!d||this.element.queue("tabs").length!==0&&a.data(b,"cache.tabs")){this.element.dequeue("tabs");return}this.lis.eq(e).addClass("ui-state-processing");if(g.spinner){var f=a("span",b);f.data("label.tabs",f.html()).html(g.spinner)}this.xhr=a.ajax(a.extend({},g.ajaxOptions,{url:d,success:function(i,h){a(c._sanitizeSelector(b.hash)).html(i);c._cleanup();if(g.cache){a.data(b,"cache.tabs",true)}c._trigger("load",null,c._ui(c.anchors[e],c.panels[e]));try{g.ajaxOptions.success(i,h)}catch(j){}c.element.dequeue("tabs")}}))},abort:function(){this.element.queue([]);this.panels.stop(false,true);if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup()},url:function(c,b){this.anchors.eq(c).removeData("cache.tabs").data("load.tabs",b)},length:function(){return this.anchors.length}});a.extend(a.ui.tabs,{version:"1.7.2",getter:"length",defaults:{ajaxOptions:null,cache:false,cookie:null,collapsible:false,disabled:[],event:"click",fx:null,idPrefix:"ui-tabs-",panelTemplate:"<div></div>",spinner:"<em>Loading&#8230;</em>",tabTemplate:'<li><a href="#{href}"><span>#{label}</span></a></li>'}});a.extend(a.ui.tabs.prototype,{rotation:null,rotate:function(d,f){var b=this,g=this.options;var c=b._rotate||(b._rotate=function(h){clearTimeout(b.rotation);b.rotation=setTimeout(function(){var i=g.selected;b.select(++i<b.anchors.length?i:0)},d);if(h){h.stopPropagation()}});var e=b._unrotate||(b._unrotate=!f?function(h){if(h.clientX){b.rotate(null)}}:function(h){t=g.selected;c()});if(d){this.element.bind("tabsshow",c);this.anchors.bind(g.event+".tabs",e);c()}else{clearTimeout(b.rotation);this.element.unbind("tabsshow",c);this.anchors.unbind(g.event+".tabs",e);delete this._rotate;delete this._unrotate}}})})(jQuery);;/*
+ * jQuery UI Datepicker 1.7.2
+ *
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI/Datepicker
+ *
+ * Depends:
+ *	ui.core.js
+ */
+(function($){$.extend($.ui,{datepicker:{version:"1.7.2"}});var PROP_NAME="datepicker";function Datepicker(){this.debug=false;this._curInst=null;this._keyEvent=false;this._disabledInputs=[];this._datepickerShowing=false;this._inDialog=false;this._mainDivId="ui-datepicker-div";this._inlineClass="ui-datepicker-inline";this._appendClass="ui-datepicker-append";this._triggerClass="ui-datepicker-trigger";this._dialogClass="ui-datepicker-dialog";this._disableClass="ui-datepicker-disabled";this._unselectableClass="ui-datepicker-unselectable";this._currentClass="ui-datepicker-current-day";this._dayOverClass="ui-datepicker-days-cell-over";this.regional=[];this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],dateFormat:"mm/dd/yy",firstDay:0,isRTL:false};this._defaults={showOn:"focus",showAnim:"show",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:false,hideIfNoPrevNext:false,navigationAsDateFormat:false,gotoCurrent:false,changeMonth:false,changeYear:false,showMonthAfterYear:false,yearRange:"-10:+10",showOtherMonths:false,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"normal",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:true,showButtonPanel:false};$.extend(this._defaults,this.regional[""]);this.dpDiv=$('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all ui-helper-hidden-accessible"></div>')}$.extend(Datepicker.prototype,{markerClassName:"hasDatepicker",log:function(){if(this.debug){console.log.apply("",arguments)}},setDefaults:function(settings){extendRemove(this._defaults,settings||{});return this},_attachDatepicker:function(target,settings){var inlineSettings=null;for(var attrName in this._defaults){var attrValue=target.getAttribute("date:"+attrName);if(attrValue){inlineSettings=inlineSettings||{};try{inlineSettings[attrName]=eval(attrValue)}catch(err){inlineSettings[attrName]=attrValue}}}var nodeName=target.nodeName.toLowerCase();var inline=(nodeName=="div"||nodeName=="span");if(!target.id){target.id="dp"+(++this.uuid)}var inst=this._newInst($(target),inline);inst.settings=$.extend({},settings||{},inlineSettings||{});if(nodeName=="input"){this._connectDatepicker(target,inst)}else{if(inline){this._inlineDatepicker(target,inst)}}},_newInst:function(target,inline){var id=target[0].id.replace(/([:\[\]\.])/g,"\\\\$1");return{id:id,input:target,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:inline,dpDiv:(!inline?this.dpDiv:$('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}},_connectDatepicker:function(target,inst){var input=$(target);inst.append=$([]);inst.trigger=$([]);if(input.hasClass(this.markerClassName)){return}var appendText=this._get(inst,"appendText");var isRTL=this._get(inst,"isRTL");if(appendText){inst.append=$('<span class="'+this._appendClass+'">'+appendText+"</span>");input[isRTL?"before":"after"](inst.append)}var showOn=this._get(inst,"showOn");if(showOn=="focus"||showOn=="both"){input.focus(this._showDatepicker)}if(showOn=="button"||showOn=="both"){var buttonText=this._get(inst,"buttonText");var buttonImage=this._get(inst,"buttonImage");inst.trigger=$(this._get(inst,"buttonImageOnly")?$("<img/>").addClass(this._triggerClass).attr({src:buttonImage,alt:buttonText,title:buttonText}):$('<button type="button"></button>').addClass(this._triggerClass).html(buttonImage==""?buttonText:$("<img/>").attr({src:buttonImage,alt:buttonText,title:buttonText})));input[isRTL?"before":"after"](inst.trigger);inst.trigger.click(function(){if($.datepicker._datepickerShowing&&$.datepicker._lastInput==target){$.datepicker._hideDatepicker()}else{$.datepicker._showDatepicker(target)}return false})}input.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).bind("setData.datepicker",function(event,key,value){inst.settings[key]=value}).bind("getData.datepicker",function(event,key){return this._get(inst,key)});$.data(target,PROP_NAME,inst)},_inlineDatepicker:function(target,inst){var divSpan=$(target);if(divSpan.hasClass(this.markerClassName)){return}divSpan.addClass(this.markerClassName).append(inst.dpDiv).bind("setData.datepicker",function(event,key,value){inst.settings[key]=value}).bind("getData.datepicker",function(event,key){return this._get(inst,key)});$.data(target,PROP_NAME,inst);this._setDate(inst,this._getDefaultDate(inst));this._updateDatepicker(inst);this._updateAlternate(inst)},_dialogDatepicker:function(input,dateText,onSelect,settings,pos){var inst=this._dialogInst;if(!inst){var id="dp"+(++this.uuid);this._dialogInput=$('<input type="text" id="'+id+'" size="1" style="position: absolute; top: -100px;"/>');this._dialogInput.keydown(this._doKeyDown);$("body").append(this._dialogInput);inst=this._dialogInst=this._newInst(this._dialogInput,false);inst.settings={};$.data(this._dialogInput[0],PROP_NAME,inst)}extendRemove(inst.settings,settings||{});this._dialogInput.val(dateText);this._pos=(pos?(pos.length?pos:[pos.pageX,pos.pageY]):null);if(!this._pos){var browserWidth=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;var browserHeight=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;var scrollX=document.documentElement.scrollLeft||document.body.scrollLeft;var scrollY=document.documentElement.scrollTop||document.body.scrollTop;this._pos=[(browserWidth/2)-100+scrollX,(browserHeight/2)-150+scrollY]}this._dialogInput.css("left",this._pos[0]+"px").css("top",this._pos[1]+"px");inst.settings.onSelect=onSelect;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]);if($.blockUI){$.blockUI(this.dpDiv)}$.data(this._dialogInput[0],PROP_NAME,inst);return this},_destroyDatepicker:function(target){var $target=$(target);var inst=$.data(target,PROP_NAME);if(!$target.hasClass(this.markerClassName)){return}var nodeName=target.nodeName.toLowerCase();$.removeData(target,PROP_NAME);if(nodeName=="input"){inst.append.remove();inst.trigger.remove();$target.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress)}else{if(nodeName=="div"||nodeName=="span"){$target.removeClass(this.markerClassName).empty()}}},_enableDatepicker:function(target){var $target=$(target);var inst=$.data(target,PROP_NAME);if(!$target.hasClass(this.markerClassName)){return}var nodeName=target.nodeName.toLowerCase();if(nodeName=="input"){target.disabled=false;inst.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else{if(nodeName=="div"||nodeName=="span"){var inline=$target.children("."+this._inlineClass);inline.children().removeClass("ui-state-disabled")}}this._disabledInputs=$.map(this._disabledInputs,function(value){return(value==target?null:value)})},_disableDatepicker:function(target){var $target=$(target);var inst=$.data(target,PROP_NAME);if(!$target.hasClass(this.markerClassName)){return}var nodeName=target.nodeName.toLowerCase();if(nodeName=="input"){target.disabled=true;inst.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else{if(nodeName=="div"||nodeName=="span"){var inline=$target.children("."+this._inlineClass);inline.children().addClass("ui-state-disabled")}}this._disabledInputs=$.map(this._disabledInputs,function(value){return(value==target?null:value)});this._disabledInputs[this._disabledInputs.length]=target},_isDisabledDatepicker:function(target){if(!target){return false}for(var i=0;i<this._disabledInputs.length;i++){if(this._disabledInputs[i]==target){return true}}return false},_getInst:function(target){try{return $.data(target,PROP_NAME)}catch(err){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(target,name,value){var inst=this._getInst(target);if(arguments.length==2&&typeof name=="string"){return(name=="defaults"?$.extend({},$.datepicker._defaults):(inst?(name=="all"?$.extend({},inst.settings):this._get(inst,name)):null))}var settings=name||{};if(typeof name=="string"){settings={};settings[name]=value}if(inst){if(this._curInst==inst){this._hideDatepicker(null)}var date=this._getDateDatepicker(target);extendRemove(inst.settings,settings);this._setDateDatepicker(target,date);this._updateDatepicker(inst)}},_changeDatepicker:function(target,name,value){this._optionDatepicker(target,name,value)},_refreshDatepicker:function(target){var inst=this._getInst(target);if(inst){this._updateDatepicker(inst)}},_setDateDatepicker:function(target,date,endDate){var inst=this._getInst(target);if(inst){this._setDate(inst,date,endDate);this._updateDatepicker(inst);this._updateAlternate(inst)}},_getDateDatepicker:function(target){var inst=this._getInst(target);if(inst&&!inst.inline){this._setDateFromField(inst)}return(inst?this._getDate(inst):null)},_doKeyDown:function(event){var inst=$.datepicker._getInst(event.target);var handled=true;var isRTL=inst.dpDiv.is(".ui-datepicker-rtl");inst._keyEvent=true;if($.datepicker._datepickerShowing){switch(event.keyCode){case 9:$.datepicker._hideDatepicker(null,"");break;case 13:var sel=$("td."+$.datepicker._dayOverClass+", td."+$.datepicker._currentClass,inst.dpDiv);if(sel[0]){$.datepicker._selectDay(event.target,inst.selectedMonth,inst.selectedYear,sel[0])}else{$.datepicker._hideDatepicker(null,$.datepicker._get(inst,"duration"))}return false;break;case 27:$.datepicker._hideDatepicker(null,$.datepicker._get(inst,"duration"));break;case 33:$.datepicker._adjustDate(event.target,(event.ctrlKey?-$.datepicker._get(inst,"stepBigMonths"):-$.datepicker._get(inst,"stepMonths")),"M");break;case 34:$.datepicker._adjustDate(event.target,(event.ctrlKey?+$.datepicker._get(inst,"stepBigMonths"):+$.datepicker._get(inst,"stepMonths")),"M");break;case 35:if(event.ctrlKey||event.metaKey){$.datepicker._clearDate(event.target)}handled=event.ctrlKey||event.metaKey;break;case 36:if(event.ctrlKey||event.metaKey){$.datepicker._gotoToday(event.target)}handled=event.ctrlKey||event.metaKey;break;case 37:if(event.ctrlKey||event.metaKey){$.datepicker._adjustDate(event.target,(isRTL?+1:-1),"D")}handled=event.ctrlKey||event.metaKey;if(event.originalEvent.altKey){$.datepicker._adjustDate(event.target,(event.ctrlKey?-$.datepicker._get(inst,"stepBigMonths"):-$.datepicker._get(inst,"stepMonths")),"M")}break;case 38:if(event.ctrlKey||event.metaKey){$.datepicker._adjustDate(event.target,-7,"D")}handled=event.ctrlKey||event.metaKey;break;case 39:if(event.ctrlKey||event.metaKey){$.datepicker._adjustDate(event.target,(isRTL?-1:+1),"D")}handled=event.ctrlKey||event.metaKey;if(event.originalEvent.altKey){$.datepicker._adjustDate(event.target,(event.ctrlKey?+$.datepicker._get(inst,"stepBigMonths"):+$.datepicker._get(inst,"stepMonths")),"M")}break;case 40:if(event.ctrlKey||event.metaKey){$.datepicker._adjustDate(event.target,+7,"D")}handled=event.ctrlKey||event.metaKey;break;default:handled=false}}else{if(event.keyCode==36&&event.ctrlKey){$.datepicker._showDatepicker(this)}else{handled=false}}if(handled){event.preventDefault();event.stopPropagation()}},_doKeyPress:function(event){var inst=$.datepicker._getInst(event.target);if($.datepicker._get(inst,"constrainInput")){var chars=$.datepicker._possibleChars($.datepicker._get(inst,"dateFormat"));var chr=String.fromCharCode(event.charCode==undefined?event.keyCode:event.charCode);return event.ctrlKey||(chr<" "||!chars||chars.indexOf(chr)>-1)}},_showDatepicker:function(input){input=input.target||input;if(input.nodeName.toLowerCase()!="input"){input=$("input",input.parentNode)[0]}if($.datepicker._isDisabledDatepicker(input)||$.datepicker._lastInput==input){return}var inst=$.datepicker._getInst(input);var beforeShow=$.datepicker._get(inst,"beforeShow");extendRemove(inst.settings,(beforeShow?beforeShow.apply(input,[input,inst]):{}));$.datepicker._hideDatepicker(null,"");$.datepicker._lastInput=input;$.datepicker._setDateFromField(inst);if($.datepicker._inDialog){input.value=""}if(!$.datepicker._pos){$.datepicker._pos=$.datepicker._findPos(input);$.datepicker._pos[1]+=input.offsetHeight}var isFixed=false;$(input).parents().each(function(){isFixed|=$(this).css("position")=="fixed";return !isFixed});if(isFixed&&$.browser.opera){$.datepicker._pos[0]-=document.documentElement.scrollLeft;$.datepicker._pos[1]-=document.documentElement.scrollTop}var offset={left:$.datepicker._pos[0],top:$.datepicker._pos[1]};$.datepicker._pos=null;inst.rangeStart=null;inst.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});$.datepicker._updateDatepicker(inst);offset=$.datepicker._checkOffset(inst,offset,isFixed);inst.dpDiv.css({position:($.datepicker._inDialog&&$.blockUI?"static":(isFixed?"fixed":"absolute")),display:"none",left:offset.left+"px",top:offset.top+"px"});if(!inst.inline){var showAnim=$.datepicker._get(inst,"showAnim")||"show";var duration=$.datepicker._get(inst,"duration");var postProcess=function(){$.datepicker._datepickerShowing=true;if($.browser.msie&&parseInt($.browser.version,10)<7){$("iframe.ui-datepicker-cover").css({width:inst.dpDiv.width()+4,height:inst.dpDiv.height()+4})}};if($.effects&&$.effects[showAnim]){inst.dpDiv.show(showAnim,$.datepicker._get(inst,"showOptions"),duration,postProcess)}else{inst.dpDiv[showAnim](duration,postProcess)}if(duration==""){postProcess()}if(inst.input[0].type!="hidden"){inst.input[0].focus()}$.datepicker._curInst=inst}},_updateDatepicker:function(inst){var dims={width:inst.dpDiv.width()+4,height:inst.dpDiv.height()+4};var self=this;inst.dpDiv.empty().append(this._generateHTML(inst)).find("iframe.ui-datepicker-cover").css({width:dims.width,height:dims.height}).end().find("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a").bind("mouseout",function(){$(this).removeClass("ui-state-hover");if(this.className.indexOf("ui-datepicker-prev")!=-1){$(this).removeClass("ui-datepicker-prev-hover")}if(this.className.indexOf("ui-datepicker-next")!=-1){$(this).removeClass("ui-datepicker-next-hover")}}).bind("mouseover",function(){if(!self._isDisabledDatepicker(inst.inline?inst.dpDiv.parent()[0]:inst.input[0])){$(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");$(this).addClass("ui-state-hover");if(this.className.indexOf("ui-datepicker-prev")!=-1){$(this).addClass("ui-datepicker-prev-hover")}if(this.className.indexOf("ui-datepicker-next")!=-1){$(this).addClass("ui-datepicker-next-hover")}}}).end().find("."+this._dayOverClass+" a").trigger("mouseover").end();var numMonths=this._getNumberOfMonths(inst);var cols=numMonths[1];var width=17;if(cols>1){inst.dpDiv.addClass("ui-datepicker-multi-"+cols).css("width",(width*cols)+"em")}else{inst.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("")}inst.dpDiv[(numMonths[0]!=1||numMonths[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");inst.dpDiv[(this._get(inst,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");if(inst.input&&inst.input[0].type!="hidden"&&inst==$.datepicker._curInst){$(inst.input[0]).focus()}},_checkOffset:function(inst,offset,isFixed){var dpWidth=inst.dpDiv.outerWidth();var dpHeight=inst.dpDiv.outerHeight();var inputWidth=inst.input?inst.input.outerWidth():0;var inputHeight=inst.input?inst.input.outerHeight():0;var viewWidth=(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)+$(document).scrollLeft();var viewHeight=(window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight)+$(document).scrollTop();offset.left-=(this._get(inst,"isRTL")?(dpWidth-inputWidth):0);offset.left-=(isFixed&&offset.left==inst.input.offset().left)?$(document).scrollLeft():0;offset.top-=(isFixed&&offset.top==(inst.input.offset().top+inputHeight))?$(document).scrollTop():0;offset.left-=(offset.left+dpWidth>viewWidth&&viewWidth>dpWidth)?Math.abs(offset.left+dpWidth-viewWidth):0;offset.top-=(offset.top+dpHeight>viewHeight&&viewHeight>dpHeight)?Math.abs(offset.top+dpHeight+inputHeight*2-viewHeight):0;return offset},_findPos:function(obj){while(obj&&(obj.type=="hidden"||obj.nodeType!=1)){obj=obj.nextSibling}var position=$(obj).offset();return[position.left,position.top]},_hideDatepicker:function(input,duration){var inst=this._curInst;if(!inst||(input&&inst!=$.data(input,PROP_NAME))){return}if(inst.stayOpen){this._selectDate("#"+inst.id,this._formatDate(inst,inst.currentDay,inst.currentMonth,inst.currentYear))}inst.stayOpen=false;if(this._datepickerShowing){duration=(duration!=null?duration:this._get(inst,"duration"));var showAnim=this._get(inst,"showAnim");var postProcess=function(){$.datepicker._tidyDialog(inst)};if(duration!=""&&$.effects&&$.effects[showAnim]){inst.dpDiv.hide(showAnim,$.datepicker._get(inst,"showOptions"),duration,postProcess)}else{inst.dpDiv[(duration==""?"hide":(showAnim=="slideDown"?"slideUp":(showAnim=="fadeIn"?"fadeOut":"hide")))](duration,postProcess)}if(duration==""){this._tidyDialog(inst)}var onClose=this._get(inst,"onClose");if(onClose){onClose.apply((inst.input?inst.input[0]:null),[(inst.input?inst.input.val():""),inst])}this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if($.blockUI){$.unblockUI();$("body").append(this.dpDiv)}}this._inDialog=false}this._curInst=null},_tidyDialog:function(inst){inst.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(event){if(!$.datepicker._curInst){return}var $target=$(event.target);if(($target.parents("#"+$.datepicker._mainDivId).length==0)&&!$target.hasClass($.datepicker.markerClassName)&&!$target.hasClass($.datepicker._triggerClass)&&$.datepicker._datepickerShowing&&!($.datepicker._inDialog&&$.blockUI)){$.datepicker._hideDatepicker(null,"")}},_adjustDate:function(id,offset,period){var target=$(id);var inst=this._getInst(target[0]);if(this._isDisabledDatepicker(target[0])){return}this._adjustInstDate(inst,offset+(period=="M"?this._get(inst,"showCurrentAtPos"):0),period);this._updateDatepicker(inst)},_gotoToday:function(id){var target=$(id);var inst=this._getInst(target[0]);if(this._get(inst,"gotoCurrent")&&inst.currentDay){inst.selectedDay=inst.currentDay;inst.drawMonth=inst.selectedMonth=inst.currentMonth;inst.drawYear=inst.selectedYear=inst.currentYear}else{var date=new Date();inst.selectedDay=date.getDate();inst.drawMonth=inst.selectedMonth=date.getMonth();inst.drawYear=inst.selectedYear=date.getFullYear()}this._notifyChange(inst);this._adjustDate(target)},_selectMonthYear:function(id,select,period){var target=$(id);var inst=this._getInst(target[0]);inst._selectingMonthYear=false;inst["selected"+(period=="M"?"Month":"Year")]=inst["draw"+(period=="M"?"Month":"Year")]=parseInt(select.options[select.selectedIndex].value,10);this._notifyChange(inst);this._adjustDate(target)},_clickMonthYear:function(id){var target=$(id);var inst=this._getInst(target[0]);if(inst.input&&inst._selectingMonthYear&&!$.browser.msie){inst.input[0].focus()}inst._selectingMonthYear=!inst._selectingMonthYear},_selectDay:function(id,month,year,td){var target=$(id);if($(td).hasClass(this._unselectableClass)||this._isDisabledDatepicker(target[0])){return}var inst=this._getInst(target[0]);inst.selectedDay=inst.currentDay=$("a",td).html();inst.selectedMonth=inst.currentMonth=month;inst.selectedYear=inst.currentYear=year;if(inst.stayOpen){inst.endDay=inst.endMonth=inst.endYear=null}this._selectDate(id,this._formatDate(inst,inst.currentDay,inst.currentMonth,inst.currentYear));if(inst.stayOpen){inst.rangeStart=this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay));this._updateDatepicker(inst)}},_clearDate:function(id){var target=$(id);var inst=this._getInst(target[0]);inst.stayOpen=false;inst.endDay=inst.endMonth=inst.endYear=inst.rangeStart=null;this._selectDate(target,"")},_selectDate:function(id,dateStr){var target=$(id);var inst=this._getInst(target[0]);dateStr=(dateStr!=null?dateStr:this._formatDate(inst));if(inst.input){inst.input.val(dateStr)}this._updateAlternate(inst);var onSelect=this._get(inst,"onSelect");if(onSelect){onSelect.apply((inst.input?inst.input[0]:null),[dateStr,inst])}else{if(inst.input){inst.input.trigger("change")}}if(inst.inline){this._updateDatepicker(inst)}else{if(!inst.stayOpen){this._hideDatepicker(null,this._get(inst,"duration"));this._lastInput=inst.input[0];if(typeof(inst.input[0])!="object"){inst.input[0].focus()}this._lastInput=null}}},_updateAlternate:function(inst){var altField=this._get(inst,"altField");if(altField){var altFormat=this._get(inst,"altFormat")||this._get(inst,"dateFormat");var date=this._getDate(inst);dateStr=this.formatDate(altFormat,date,this._getFormatConfig(inst));$(altField).each(function(){$(this).val(dateStr)})}},noWeekends:function(date){var day=date.getDay();return[(day>0&&day<6),""]},iso8601Week:function(date){var checkDate=new Date(date.getFullYear(),date.getMonth(),date.getDate());var firstMon=new Date(checkDate.getFullYear(),1-1,4);var firstDay=firstMon.getDay()||7;firstMon.setDate(firstMon.getDate()+1-firstDay);if(firstDay<4&&checkDate<firstMon){checkDate.setDate(checkDate.getDate()-3);return $.datepicker.iso8601Week(checkDate)}else{if(checkDate>new Date(checkDate.getFullYear(),12-1,28)){firstDay=new Date(checkDate.getFullYear()+1,1-1,4).getDay()||7;if(firstDay>4&&(checkDate.getDay()||7)<firstDay-3){return 1}}}return Math.floor(((checkDate-firstMon)/86400000)/7)+1},parseDate:function(format,value,settings){if(format==null||value==null){throw"Invalid arguments"}value=(typeof value=="object"?value.toString():value+"");if(value==""){return null}var shortYearCutoff=(settings?settings.shortYearCutoff:null)||this._defaults.shortYearCutoff;var dayNamesShort=(settings?settings.dayNamesShort:null)||this._defaults.dayNamesShort;var dayNames=(settings?settings.dayNames:null)||this._defaults.dayNames;var monthNamesShort=(settings?settings.monthNamesShort:null)||this._defaults.monthNamesShort;var monthNames=(settings?settings.monthNames:null)||this._defaults.monthNames;var year=-1;var month=-1;var day=-1;var doy=-1;var literal=false;var lookAhead=function(match){var matches=(iFormat+1<format.length&&format.charAt(iFormat+1)==match);if(matches){iFormat++}return matches};var getNumber=function(match){lookAhead(match);var origSize=(match=="@"?14:(match=="y"?4:(match=="o"?3:2)));var size=origSize;var num=0;while(size>0&&iValue<value.length&&value.charAt(iValue)>="0"&&value.charAt(iValue)<="9"){num=num*10+parseInt(value.charAt(iValue++),10);size--}if(size==origSize){throw"Missing number at position "+iValue}return num};var getName=function(match,shortNames,longNames){var names=(lookAhead(match)?longNames:shortNames);var size=0;for(var j=0;j<names.length;j++){size=Math.max(size,names[j].length)}var name="";var iInit=iValue;while(size>0&&iValue<value.length){name+=value.charAt(iValue++);for(var i=0;i<names.length;i++){if(name==names[i]){return i+1}}size--}throw"Unknown name at position "+iInit};var checkLiteral=function(){if(value.charAt(iValue)!=format.charAt(iFormat)){throw"Unexpected literal at position "+iValue}iValue++};var iValue=0;for(var iFormat=0;iFormat<format.length;iFormat++){if(literal){if(format.charAt(iFormat)=="'"&&!lookAhead("'")){literal=false}else{checkLiteral()}}else{switch(format.charAt(iFormat)){case"d":day=getNumber("d");break;case"D":getName("D",dayNamesShort,dayNames);break;case"o":doy=getNumber("o");break;case"m":month=getNumber("m");break;case"M":month=getName("M",monthNamesShort,monthNames);break;case"y":year=getNumber("y");break;case"@":var date=new Date(getNumber("@"));year=date.getFullYear();month=date.getMonth()+1;day=date.getDate();break;case"'":if(lookAhead("'")){checkLiteral()}else{literal=true}break;default:checkLiteral()}}}if(year==-1){year=new Date().getFullYear()}else{if(year<100){year+=new Date().getFullYear()-new Date().getFullYear()%100+(year<=shortYearCutoff?0:-100)}}if(doy>-1){month=1;day=doy;do{var dim=this._getDaysInMonth(year,month-1);if(day<=dim){break}month++;day-=dim}while(true)}var date=this._daylightSavingAdjust(new Date(year,month-1,day));if(date.getFullYear()!=year||date.getMonth()+1!=month||date.getDate()!=day){throw"Invalid date"}return date},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TIMESTAMP:"@",W3C:"yy-mm-dd",formatDate:function(format,date,settings){if(!date){return""}var dayNamesShort=(settings?settings.dayNamesShort:null)||this._defaults.dayNamesShort;var dayNames=(settings?settings.dayNames:null)||this._defaults.dayNames;var monthNamesShort=(settings?settings.monthNamesShort:null)||this._defaults.monthNamesShort;var monthNames=(settings?settings.monthNames:null)||this._defaults.monthNames;var lookAhead=function(match){var matches=(iFormat+1<format.length&&format.charAt(iFormat+1)==match);if(matches){iFormat++}return matches};var formatNumber=function(match,value,len){var num=""+value;if(lookAhead(match)){while(num.length<len){num="0"+num}}return num};var formatName=function(match,value,shortNames,longNames){return(lookAhead(match)?longNames[value]:shortNames[value])};var output="";var literal=false;if(date){for(var iFormat=0;iFormat<format.length;iFormat++){if(literal){if(format.charAt(iFormat)=="'"&&!lookAhead("'")){literal=false}else{output+=format.charAt(iFormat)}}else{switch(format.charAt(iFormat)){case"d":output+=formatNumber("d",date.getDate(),2);break;case"D":output+=formatName("D",date.getDay(),dayNamesShort,dayNames);break;case"o":var doy=date.getDate();for(var m=date.getMonth()-1;m>=0;m--){doy+=this._getDaysInMonth(date.getFullYear(),m)}output+=formatNumber("o",doy,3);break;case"m":output+=formatNumber("m",date.getMonth()+1,2);break;case"M":output+=formatName("M",date.getMonth(),monthNamesShort,monthNames);break;case"y":output+=(lookAhead("y")?date.getFullYear():(date.getYear()%100<10?"0":"")+date.getYear()%100);break;case"@":output+=date.getTime();break;case"'":if(lookAhead("'")){output+="'"}else{literal=true}break;default:output+=format.charAt(iFormat)}}}}return output},_possibleChars:function(format){var chars="";var literal=false;for(var iFormat=0;iFormat<format.length;iFormat++){if(literal){if(format.charAt(iFormat)=="'"&&!lookAhead("'")){literal=false}else{chars+=format.charAt(iFormat)}}else{switch(format.charAt(iFormat)){case"d":case"m":case"y":case"@":chars+="0123456789";break;case"D":case"M":return null;case"'":if(lookAhead("'")){chars+="'"}else{literal=true}break;default:chars+=format.charAt(iFormat)}}}return chars},_get:function(inst,name){return inst.settings[name]!==undefined?inst.settings[name]:this._defaults[name]},_setDateFromField:function(inst){var dateFormat=this._get(inst,"dateFormat");var dates=inst.input?inst.input.val():null;inst.endDay=inst.endMonth=inst.endYear=null;var date=defaultDate=this._getDefaultDate(inst);var settings=this._getFormatConfig(inst);try{date=this.parseDate(dateFormat,dates,settings)||defaultDate}catch(event){this.log(event);date=defaultDate}inst.selectedDay=date.getDate();inst.drawMonth=inst.selectedMonth=date.getMonth();inst.drawYear=inst.selectedYear=date.getFullYear();inst.currentDay=(dates?date.getDate():0);inst.currentMonth=(dates?date.getMonth():0);inst.currentYear=(dates?date.getFullYear():0);this._adjustInstDate(inst)},_getDefaultDate:function(inst){var date=this._determineDate(this._get(inst,"defaultDate"),new Date());var minDate=this._getMinMaxDate(inst,"min",true);var maxDate=this._getMinMaxDate(inst,"max");date=(minDate&&date<minDate?minDate:date);date=(maxDate&&date>maxDate?maxDate:date);return date},_determineDate:function(date,defaultDate){var offsetNumeric=function(offset){var date=new Date();date.setDate(date.getDate()+offset);return date};var offsetString=function(offset,getDaysInMonth){var date=new Date();var year=date.getFullYear();var month=date.getMonth();var day=date.getDate();var pattern=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g;var matches=pattern.exec(offset);while(matches){switch(matches[2]||"d"){case"d":case"D":day+=parseInt(matches[1],10);break;case"w":case"W":day+=parseInt(matches[1],10)*7;break;case"m":case"M":month+=parseInt(matches[1],10);day=Math.min(day,getDaysInMonth(year,month));break;case"y":case"Y":year+=parseInt(matches[1],10);day=Math.min(day,getDaysInMonth(year,month));break}matches=pattern.exec(offset)}return new Date(year,month,day)};date=(date==null?defaultDate:(typeof date=="string"?offsetString(date,this._getDaysInMonth):(typeof date=="number"?(isNaN(date)?defaultDate:offsetNumeric(date)):date)));date=(date&&date.toString()=="Invalid Date"?defaultDate:date);if(date){date.setHours(0);date.setMinutes(0);date.setSeconds(0);date.setMilliseconds(0)}return this._daylightSavingAdjust(date)},_daylightSavingAdjust:function(date){if(!date){return null}date.setHours(date.getHours()>12?date.getHours()+2:0);return date},_setDate:function(inst,date,endDate){var clear=!(date);var origMonth=inst.selectedMonth;var origYear=inst.selectedYear;date=this._determineDate(date,new Date());inst.selectedDay=inst.currentDay=date.getDate();inst.drawMonth=inst.selectedMonth=inst.currentMonth=date.getMonth();inst.drawYear=inst.selectedYear=inst.currentYear=date.getFullYear();if(origMonth!=inst.selectedMonth||origYear!=inst.selectedYear){this._notifyChange(inst)}this._adjustInstDate(inst);if(inst.input){inst.input.val(clear?"":this._formatDate(inst))}},_getDate:function(inst){var startDate=(!inst.currentYear||(inst.input&&inst.input.val()=="")?null:this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay)));return startDate},_generateHTML:function(inst){var today=new Date();today=this._daylightSavingAdjust(new Date(today.getFullYear(),today.getMonth(),today.getDate()));var isRTL=this._get(inst,"isRTL");var showButtonPanel=this._get(inst,"showButtonPanel");var hideIfNoPrevNext=this._get(inst,"hideIfNoPrevNext");var navigationAsDateFormat=this._get(inst,"navigationAsDateFormat");var numMonths=this._getNumberOfMonths(inst);var showCurrentAtPos=this._get(inst,"showCurrentAtPos");var stepMonths=this._get(inst,"stepMonths");var stepBigMonths=this._get(inst,"stepBigMonths");var isMultiMonth=(numMonths[0]!=1||numMonths[1]!=1);var currentDate=this._daylightSavingAdjust((!inst.currentDay?new Date(9999,9,9):new Date(inst.currentYear,inst.currentMonth,inst.currentDay)));var minDate=this._getMinMaxDate(inst,"min",true);var maxDate=this._getMinMaxDate(inst,"max");var drawMonth=inst.drawMonth-showCurrentAtPos;var drawYear=inst.drawYear;if(drawMonth<0){drawMonth+=12;drawYear--}if(maxDate){var maxDraw=this._daylightSavingAdjust(new Date(maxDate.getFullYear(),maxDate.getMonth()-numMonths[1]+1,maxDate.getDate()));maxDraw=(minDate&&maxDraw<minDate?minDate:maxDraw);while(this._daylightSavingAdjust(new Date(drawYear,drawMonth,1))>maxDraw){drawMonth--;if(drawMonth<0){drawMonth=11;drawYear--}}}inst.drawMonth=drawMonth;inst.drawYear=drawYear;var prevText=this._get(inst,"prevText");prevText=(!navigationAsDateFormat?prevText:this.formatDate(prevText,this._daylightSavingAdjust(new Date(drawYear,drawMonth-stepMonths,1)),this._getFormatConfig(inst)));var prev=(this._canAdjustMonth(inst,-1,drawYear,drawMonth)?'<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery.datepicker._adjustDate(\'#'+inst.id+"', -"+stepMonths+", 'M');\" title=\""+prevText+'"><span class="ui-icon ui-icon-circle-triangle-'+(isRTL?"e":"w")+'">'+prevText+"</span></a>":(hideIfNoPrevNext?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+prevText+'"><span class="ui-icon ui-icon-circle-triangle-'+(isRTL?"e":"w")+'">'+prevText+"</span></a>"));var nextText=this._get(inst,"nextText");nextText=(!navigationAsDateFormat?nextText:this.formatDate(nextText,this._daylightSavingAdjust(new Date(drawYear,drawMonth+stepMonths,1)),this._getFormatConfig(inst)));var next=(this._canAdjustMonth(inst,+1,drawYear,drawMonth)?'<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery.datepicker._adjustDate(\'#'+inst.id+"', +"+stepMonths+", 'M');\" title=\""+nextText+'"><span class="ui-icon ui-icon-circle-triangle-'+(isRTL?"w":"e")+'">'+nextText+"</span></a>":(hideIfNoPrevNext?"":'<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="'+nextText+'"><span class="ui-icon ui-icon-circle-triangle-'+(isRTL?"w":"e")+'">'+nextText+"</span></a>"));var currentText=this._get(inst,"currentText");var gotoDate=(this._get(inst,"gotoCurrent")&&inst.currentDay?currentDate:today);currentText=(!navigationAsDateFormat?currentText:this.formatDate(currentText,gotoDate,this._getFormatConfig(inst)));var controls=(!inst.inline?'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery.datepicker._hideDatepicker();">'+this._get(inst,"closeText")+"</button>":"");var buttonPanel=(showButtonPanel)?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(isRTL?controls:"")+(this._isInRange(inst,gotoDate)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery.datepicker._gotoToday(\'#'+inst.id+"');\">"+currentText+"</button>":"")+(isRTL?"":controls)+"</div>":"";var firstDay=parseInt(this._get(inst,"firstDay"),10);firstDay=(isNaN(firstDay)?0:firstDay);var dayNames=this._get(inst,"dayNames");var dayNamesShort=this._get(inst,"dayNamesShort");var dayNamesMin=this._get(inst,"dayNamesMin");var monthNames=this._get(inst,"monthNames");var monthNamesShort=this._get(inst,"monthNamesShort");var beforeShowDay=this._get(inst,"beforeShowDay");var showOtherMonths=this._get(inst,"showOtherMonths");var calculateWeek=this._get(inst,"calculateWeek")||this.iso8601Week;var endDate=inst.endDay?this._daylightSavingAdjust(new Date(inst.endYear,inst.endMonth,inst.endDay)):currentDate;var defaultDate=this._getDefaultDate(inst);var html="";for(var row=0;row<numMonths[0];row++){var group="";for(var col=0;col<numMonths[1];col++){var selectedDate=this._daylightSavingAdjust(new Date(drawYear,drawMonth,inst.selectedDay));var cornerClass=" ui-corner-all";var calender="";if(isMultiMonth){calender+='<div class="ui-datepicker-group ui-datepicker-group-';switch(col){case 0:calender+="first";cornerClass=" ui-corner-"+(isRTL?"right":"left");break;case numMonths[1]-1:calender+="last";cornerClass=" ui-corner-"+(isRTL?"left":"right");break;default:calender+="middle";cornerClass="";break}calender+='">'}calender+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+cornerClass+'">'+(/all|left/.test(cornerClass)&&row==0?(isRTL?next:prev):"")+(/all|right/.test(cornerClass)&&row==0?(isRTL?prev:next):"")+this._generateMonthYearHeader(inst,drawMonth,drawYear,minDate,maxDate,selectedDate,row>0||col>0,monthNames,monthNamesShort)+'</div><table class="ui-datepicker-calendar"><thead><tr>';var thead="";for(var dow=0;dow<7;dow++){var day=(dow+firstDay)%7;thead+="<th"+((dow+firstDay+6)%7>=5?' class="ui-datepicker-week-end"':"")+'><span title="'+dayNames[day]+'">'+dayNamesMin[day]+"</span></th>"}calender+=thead+"</tr></thead><tbody>";var daysInMonth=this._getDaysInMonth(drawYear,drawMonth);if(drawYear==inst.selectedYear&&drawMonth==inst.selectedMonth){inst.selectedDay=Math.min(inst.selectedDay,daysInMonth)}var leadDays=(this._getFirstDayOfMonth(drawYear,drawMonth)-firstDay+7)%7;var numRows=(isMultiMonth?6:Math.ceil((leadDays+daysInMonth)/7));var printDate=this._daylightSavingAdjust(new Date(drawYear,drawMonth,1-leadDays));for(var dRow=0;dRow<numRows;dRow++){calender+="<tr>";var tbody="";for(var dow=0;dow<7;dow++){var daySettings=(beforeShowDay?beforeShowDay.apply((inst.input?inst.input[0]:null),[printDate]):[true,""]);var otherMonth=(printDate.getMonth()!=drawMonth);var unselectable=otherMonth||!daySettings[0]||(minDate&&printDate<minDate)||(maxDate&&printDate>maxDate);tbody+='<td class="'+((dow+firstDay+6)%7>=5?" ui-datepicker-week-end":"")+(otherMonth?" ui-datepicker-other-month":"")+((printDate.getTime()==selectedDate.getTime()&&drawMonth==inst.selectedMonth&&inst._keyEvent)||(defaultDate.getTime()==printDate.getTime()&&defaultDate.getTime()==selectedDate.getTime())?" "+this._dayOverClass:"")+(unselectable?" "+this._unselectableClass+" ui-state-disabled":"")+(otherMonth&&!showOtherMonths?"":" "+daySettings[1]+(printDate.getTime()>=currentDate.getTime()&&printDate.getTime()<=endDate.getTime()?" "+this._currentClass:"")+(printDate.getTime()==today.getTime()?" ui-datepicker-today":""))+'"'+((!otherMonth||showOtherMonths)&&daySettings[2]?' title="'+daySettings[2]+'"':"")+(unselectable?"":" onclick=\"DP_jQuery.datepicker._selectDay('#"+inst.id+"',"+drawMonth+","+drawYear+', this);return false;"')+">"+(otherMonth?(showOtherMonths?printDate.getDate():"&#xa0;"):(unselectable?'<span class="ui-state-default">'+printDate.getDate()+"</span>":'<a class="ui-state-default'+(printDate.getTime()==today.getTime()?" ui-state-highlight":"")+(printDate.getTime()>=currentDate.getTime()&&printDate.getTime()<=endDate.getTime()?" ui-state-active":"")+'" href="#">'+printDate.getDate()+"</a>"))+"</td>";printDate.setDate(printDate.getDate()+1);printDate=this._daylightSavingAdjust(printDate)}calender+=tbody+"</tr>"}drawMonth++;if(drawMonth>11){drawMonth=0;drawYear++}calender+="</tbody></table>"+(isMultiMonth?"</div>"+((numMonths[0]>0&&col==numMonths[1]-1)?'<div class="ui-datepicker-row-break"></div>':""):"");group+=calender}html+=group}html+=buttonPanel+($.browser.msie&&parseInt($.browser.version,10)<7&&!inst.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':"");inst._keyEvent=false;return html},_generateMonthYearHeader:function(inst,drawMonth,drawYear,minDate,maxDate,selectedDate,secondary,monthNames,monthNamesShort){minDate=(inst.rangeStart&&minDate&&selectedDate<minDate?selectedDate:minDate);var changeMonth=this._get(inst,"changeMonth");var changeYear=this._get(inst,"changeYear");var showMonthAfterYear=this._get(inst,"showMonthAfterYear");var html='<div class="ui-datepicker-title">';var monthHtml="";if(secondary||!changeMonth){monthHtml+='<span class="ui-datepicker-month">'+monthNames[drawMonth]+"</span> "}else{var inMinYear=(minDate&&minDate.getFullYear()==drawYear);var inMaxYear=(maxDate&&maxDate.getFullYear()==drawYear);monthHtml+='<select class="ui-datepicker-month" onchange="DP_jQuery.datepicker._selectMonthYear(\'#'+inst.id+"', this, 'M');\" onclick=\"DP_jQuery.datepicker._clickMonthYear('#"+inst.id+"');\">";for(var month=0;month<12;month++){if((!inMinYear||month>=minDate.getMonth())&&(!inMaxYear||month<=maxDate.getMonth())){monthHtml+='<option value="'+month+'"'+(month==drawMonth?' selected="selected"':"")+">"+monthNamesShort[month]+"</option>"}}monthHtml+="</select>"}if(!showMonthAfterYear){html+=monthHtml+((secondary||changeMonth||changeYear)&&(!(changeMonth&&changeYear))?"&#xa0;":"")}if(secondary||!changeYear){html+='<span class="ui-datepicker-year">'+drawYear+"</span>"}else{var years=this._get(inst,"yearRange").split(":");var year=0;var endYear=0;if(years.length!=2){year=drawYear-10;endYear=drawYear+10}else{if(years[0].charAt(0)=="+"||years[0].charAt(0)=="-"){year=drawYear+parseInt(years[0],10);endYear=drawYear+parseInt(years[1],10)}else{year=parseInt(years[0],10);endYear=parseInt(years[1],10)}}year=(minDate?Math.max(year,minDate.getFullYear()):year);endYear=(maxDate?Math.min(endYear,maxDate.getFullYear()):endYear);html+='<select class="ui-datepicker-year" onchange="DP_jQuery.datepicker._selectMonthYear(\'#'+inst.id+"', this, 'Y');\" onclick=\"DP_jQuery.datepicker._clickMonthYear('#"+inst.id+"');\">";for(;year<=endYear;year++){html+='<option value="'+year+'"'+(year==drawYear?' selected="selected"':"")+">"+year+"</option>"}html+="</select>"}if(showMonthAfterYear){html+=(secondary||changeMonth||changeYear?"&#xa0;":"")+monthHtml}html+="</div>";return html},_adjustInstDate:function(inst,offset,period){var year=inst.drawYear+(period=="Y"?offset:0);var month=inst.drawMonth+(period=="M"?offset:0);var day=Math.min(inst.selectedDay,this._getDaysInMonth(year,month))+(period=="D"?offset:0);var date=this._daylightSavingAdjust(new Date(year,month,day));var minDate=this._getMinMaxDate(inst,"min",true);var maxDate=this._getMinMaxDate(inst,"max");date=(minDate&&date<minDate?minDate:date);date=(maxDate&&date>maxDate?maxDate:date);inst.selectedDay=date.getDate();inst.drawMonth=inst.selectedMonth=date.getMonth();inst.drawYear=inst.selectedYear=date.getFullYear();if(period=="M"||period=="Y"){this._notifyChange(inst)}},_notifyChange:function(inst){var onChange=this._get(inst,"onChangeMonthYear");if(onChange){onChange.apply((inst.input?inst.input[0]:null),[inst.selectedYear,inst.selectedMonth+1,inst])}},_getNumberOfMonths:function(inst){var numMonths=this._get(inst,"numberOfMonths");return(numMonths==null?[1,1]:(typeof numMonths=="number"?[1,numMonths]:numMonths))},_getMinMaxDate:function(inst,minMax,checkRange){var date=this._determineDate(this._get(inst,minMax+"Date"),null);return(!checkRange||!inst.rangeStart?date:(!date||inst.rangeStart>date?inst.rangeStart:date))},_getDaysInMonth:function(year,month){return 32-new Date(year,month,32).getDate()},_getFirstDayOfMonth:function(year,month){return new Date(year,month,1).getDay()},_canAdjustMonth:function(inst,offset,curYear,curMonth){var numMonths=this._getNumberOfMonths(inst);var date=this._daylightSavingAdjust(new Date(curYear,curMonth+(offset<0?offset:numMonths[1]),1));if(offset<0){date.setDate(this._getDaysInMonth(date.getFullYear(),date.getMonth()))}return this._isInRange(inst,date)},_isInRange:function(inst,date){var newMinDate=(!inst.rangeStart?null:this._daylightSavingAdjust(new Date(inst.selectedYear,inst.selectedMonth,inst.selectedDay)));newMinDate=(newMinDate&&inst.rangeStart<newMinDate?inst.rangeStart:newMinDate);var minDate=newMinDate||this._getMinMaxDate(inst,"min");var maxDate=this._getMinMaxDate(inst,"max");return((!minDate||date>=minDate)&&(!maxDate||date<=maxDate))},_getFormatConfig:function(inst){var shortYearCutoff=this._get(inst,"shortYearCutoff");shortYearCutoff=(typeof shortYearCutoff!="string"?shortYearCutoff:new Date().getFullYear()%100+parseInt(shortYearCutoff,10));return{shortYearCutoff:shortYearCutoff,dayNamesShort:this._get(inst,"dayNamesShort"),dayNames:this._get(inst,"dayNames"),monthNamesShort:this._get(inst,"monthNamesShort"),monthNames:this._get(inst,"monthNames")}},_formatDate:function(inst,day,month,year){if(!day){inst.currentDay=inst.selectedDay;inst.currentMonth=inst.selectedMonth;inst.currentYear=inst.selectedYear}var date=(day?(typeof day=="object"?day:this._daylightSavingAdjust(new Date(year,month,day))):this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay)));return this.formatDate(this._get(inst,"dateFormat"),date,this._getFormatConfig(inst))}});function extendRemove(target,props){$.extend(target,props);for(var name in props){if(props[name]==null||props[name]==undefined){target[name]=props[name]}}return target}function isArray(a){return(a&&(($.browser.safari&&typeof a=="object"&&a.length)||(a.constructor&&a.constructor.toString().match(/\Array\(\)/))))}$.fn.datepicker=function(options){if(!$.datepicker.initialized){$(document).mousedown($.datepicker._checkExternalClick).find("body").append($.datepicker.dpDiv);$.datepicker.initialized=true}var otherArgs=Array.prototype.slice.call(arguments,1);if(typeof options=="string"&&(options=="isDisabled"||options=="getDate")){return $.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this[0]].concat(otherArgs))}if(options=="option"&&arguments.length==2&&typeof arguments[1]=="string"){return $.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this[0]].concat(otherArgs))}return this.each(function(){typeof options=="string"?$.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this].concat(otherArgs)):$.datepicker._attachDatepicker(this,options)})};$.datepicker=new Datepicker();$.datepicker.initialized=false;$.datepicker.uuid=new Date().getTime();$.datepicker.version="1.7.2";window.DP_jQuery=$})(jQuery);;/*
+ * jQuery UI Progressbar 1.7.2
+ *
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI/Progressbar
+ *
+ * Depends:
+ *   ui.core.js
+ */
+(function(a){a.widget("ui.progressbar",{_init:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this._valueMin(),"aria-valuemax":this._valueMax(),"aria-valuenow":this._value()});this.valueDiv=a('<div class="ui-progressbar-value ui-widget-header ui-corner-left"></div>').appendTo(this.element);this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow").removeData("progressbar").unbind(".progressbar");this.valueDiv.remove();a.widget.prototype.destroy.apply(this,arguments)},value:function(b){if(b===undefined){return this._value()}this._setData("value",b);return this},_setData:function(b,c){switch(b){case"value":this.options.value=c;this._refreshValue();this._trigger("change",null,{});break}a.widget.prototype._setData.apply(this,arguments)},_value:function(){var b=this.options.value;if(b<this._valueMin()){b=this._valueMin()}if(b>this._valueMax()){b=this._valueMax()}return b},_valueMin:function(){var b=0;return b},_valueMax:function(){var b=100;return b},_refreshValue:function(){var b=this.value();this.valueDiv[b==this._valueMax()?"addClass":"removeClass"]("ui-corner-right");this.valueDiv.width(b+"%");this.element.attr("aria-valuenow",b)}});a.extend(a.ui.progressbar,{version:"1.7.2",defaults:{value:0}})})(jQuery);;/*
+ * jQuery UI Effects 1.7.2
+ *
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI/Effects/
+ */
+jQuery.effects||(function(d){d.effects={version:"1.7.2",save:function(g,h){for(var f=0;f<h.length;f++){if(h[f]!==null){g.data("ec.storage."+h[f],g[0].style[h[f]])}}},restore:function(g,h){for(var f=0;f<h.length;f++){if(h[f]!==null){g.css(h[f],g.data("ec.storage."+h[f]))}}},setMode:function(f,g){if(g=="toggle"){g=f.is(":hidden")?"show":"hide"}return g},getBaseline:function(g,h){var i,f;switch(g[0]){case"top":i=0;break;case"middle":i=0.5;break;case"bottom":i=1;break;default:i=g[0]/h.height}switch(g[1]){case"left":f=0;break;case"center":f=0.5;break;case"right":f=1;break;default:f=g[1]/h.width}return{x:f,y:i}},createWrapper:function(f){if(f.parent().is(".ui-effects-wrapper")){return f.parent()}var g={width:f.outerWidth(true),height:f.outerHeight(true),"float":f.css("float")};f.wrap('<div class="ui-effects-wrapper" style="font-size:100%;background:transparent;border:none;margin:0;padding:0"></div>');var j=f.parent();if(f.css("position")=="static"){j.css({position:"relative"});f.css({position:"relative"})}else{var i=f.css("top");if(isNaN(parseInt(i,10))){i="auto"}var h=f.css("left");if(isNaN(parseInt(h,10))){h="auto"}j.css({position:f.css("position"),top:i,left:h,zIndex:f.css("z-index")}).show();f.css({position:"relative",top:0,left:0})}j.css(g);return j},removeWrapper:function(f){if(f.parent().is(".ui-effects-wrapper")){return f.parent().replaceWith(f)}return f},setTransition:function(g,i,f,h){h=h||{};d.each(i,function(k,j){unit=g.cssUnit(j);if(unit[0]>0){h[j]=unit[0]*f+unit[1]}});return h},animateClass:function(h,i,k,j){var f=(typeof k=="function"?k:(j?j:null));var g=(typeof k=="string"?k:null);return this.each(function(){var q={};var o=d(this);var p=o.attr("style")||"";if(typeof p=="object"){p=p.cssText}if(h.toggle){o.hasClass(h.toggle)?h.remove=h.toggle:h.add=h.toggle}var l=d.extend({},(document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle));if(h.add){o.addClass(h.add)}if(h.remove){o.removeClass(h.remove)}var m=d.extend({},(document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle));if(h.add){o.removeClass(h.add)}if(h.remove){o.addClass(h.remove)}for(var r in m){if(typeof m[r]!="function"&&m[r]&&r.indexOf("Moz")==-1&&r.indexOf("length")==-1&&m[r]!=l[r]&&(r.match(/color/i)||(!r.match(/color/i)&&!isNaN(parseInt(m[r],10))))&&(l.position!="static"||(l.position=="static"&&!r.match(/left|top|bottom|right/)))){q[r]=m[r]}}o.animate(q,i,g,function(){if(typeof d(this).attr("style")=="object"){d(this).attr("style")["cssText"]="";d(this).attr("style")["cssText"]=p}else{d(this).attr("style",p)}if(h.add){d(this).addClass(h.add)}if(h.remove){d(this).removeClass(h.remove)}if(f){f.apply(this,arguments)}})})}};function c(g,f){var i=g[1]&&g[1].constructor==Object?g[1]:{};if(f){i.mode=f}var h=g[1]&&g[1].constructor!=Object?g[1]:(i.duration?i.duration:g[2]);h=d.fx.off?0:typeof h==="number"?h:d.fx.speeds[h]||d.fx.speeds._default;var j=i.callback||(d.isFunction(g[1])&&g[1])||(d.isFunction(g[2])&&g[2])||(d.isFunction(g[3])&&g[3]);return[g[0],i,h,j]}d.fn.extend({_show:d.fn.show,_hide:d.fn.hide,__toggle:d.fn.toggle,_addClass:d.fn.addClass,_removeClass:d.fn.removeClass,_toggleClass:d.fn.toggleClass,effect:function(g,f,h,i){return d.effects[g]?d.effects[g].call(this,{method:g,options:f||{},duration:h,callback:i}):null},show:function(){if(!arguments[0]||(arguments[0].constructor==Number||(/(slow|normal|fast)/).test(arguments[0]))){return this._show.apply(this,arguments)}else{return this.effect.apply(this,c(arguments,"show"))}},hide:function(){if(!arguments[0]||(arguments[0].constructor==Number||(/(slow|normal|fast)/).test(arguments[0]))){return this._hide.apply(this,arguments)}else{return this.effect.apply(this,c(arguments,"hide"))}},toggle:function(){if(!arguments[0]||(arguments[0].constructor==Number||(/(slow|normal|fast)/).test(arguments[0]))||(d.isFunction(arguments[0])||typeof arguments[0]=="boolean")){return this.__toggle.apply(this,arguments)}else{return this.effect.apply(this,c(arguments,"toggle"))}},addClass:function(g,f,i,h){return f?d.effects.animateClass.apply(this,[{add:g},f,i,h]):this._addClass(g)},removeClass:function(g,f,i,h){return f?d.effects.animateClass.apply(this,[{remove:g},f,i,h]):this._removeClass(g)},toggleClass:function(g,f,i,h){return((typeof f!=="boolean")&&f)?d.effects.animateClass.apply(this,[{toggle:g},f,i,h]):this._toggleClass(g,f)},morph:function(f,h,g,j,i){return d.effects.animateClass.apply(this,[{add:h,remove:f},g,j,i])},switchClass:function(){return this.morph.apply(this,arguments)},cssUnit:function(f){var g=this.css(f),h=[];d.each(["em","px","%","pt"],function(j,k){if(g.indexOf(k)>0){h=[parseFloat(g),k]}});return h}});d.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","color","outlineColor"],function(g,f){d.fx.step[f]=function(h){if(h.state==0){h.start=e(h.elem,f);h.end=b(h.end)}h.elem.style[f]="rgb("+[Math.max(Math.min(parseInt((h.pos*(h.end[0]-h.start[0]))+h.start[0],10),255),0),Math.max(Math.min(parseInt((h.pos*(h.end[1]-h.start[1]))+h.start[1],10),255),0),Math.max(Math.min(parseInt((h.pos*(h.end[2]-h.start[2]))+h.start[2],10),255),0)].join(",")+")"}});function b(g){var f;if(g&&g.constructor==Array&&g.length==3){return g}if(f=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(g)){return[parseInt(f[1],10),parseInt(f[2],10),parseInt(f[3],10)]}if(f=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(g)){return[parseFloat(f[1])*2.55,parseFloat(f[2])*2.55,parseFloat(f[3])*2.55]}if(f=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(g)){return[parseInt(f[1],16),parseInt(f[2],16),parseInt(f[3],16)]}if(f=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(g)){return[parseInt(f[1]+f[1],16),parseInt(f[2]+f[2],16),parseInt(f[3]+f[3],16)]}if(f=/rgba\(0, 0, 0, 0\)/.exec(g)){return a.transparent}return a[d.trim(g).toLowerCase()]}function e(h,f){var g;do{g=d.curCSS(h,f);if(g!=""&&g!="transparent"||d.nodeName(h,"body")){break}f="backgroundColor"}while(h=h.parentNode);return b(g)}var a={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]};d.easing.jswing=d.easing.swing;d.extend(d.easing,{def:"easeOutQuad",swing:function(g,h,f,j,i){return d.easing[d.easing.def](g,h,f,j,i)},easeInQuad:function(g,h,f,j,i){return j*(h/=i)*h+f},easeOutQuad:function(g,h,f,j,i){return -j*(h/=i)*(h-2)+f},easeInOutQuad:function(g,h,f,j,i){if((h/=i/2)<1){return j/2*h*h+f}return -j/2*((--h)*(h-2)-1)+f},easeInCubic:function(g,h,f,j,i){return j*(h/=i)*h*h+f},easeOutCubic:function(g,h,f,j,i){return j*((h=h/i-1)*h*h+1)+f},easeInOutCubic:function(g,h,f,j,i){if((h/=i/2)<1){return j/2*h*h*h+f}return j/2*((h-=2)*h*h+2)+f},easeInQuart:function(g,h,f,j,i){return j*(h/=i)*h*h*h+f},easeOutQuart:function(g,h,f,j,i){return -j*((h=h/i-1)*h*h*h-1)+f},easeInOutQuart:function(g,h,f,j,i){if((h/=i/2)<1){return j/2*h*h*h*h+f}return -j/2*((h-=2)*h*h*h-2)+f},easeInQuint:function(g,h,f,j,i){return j*(h/=i)*h*h*h*h+f},easeOutQuint:function(g,h,f,j,i){return j*((h=h/i-1)*h*h*h*h+1)+f},easeInOutQuint:function(g,h,f,j,i){if((h/=i/2)<1){return j/2*h*h*h*h*h+f}return j/2*((h-=2)*h*h*h*h+2)+f},easeInSine:function(g,h,f,j,i){return -j*Math.cos(h/i*(Math.PI/2))+j+f},easeOutSine:function(g,h,f,j,i){return j*Math.sin(h/i*(Math.PI/2))+f},easeInOutSine:function(g,h,f,j,i){return -j/2*(Math.cos(Math.PI*h/i)-1)+f},easeInExpo:function(g,h,f,j,i){return(h==0)?f:j*Math.pow(2,10*(h/i-1))+f},easeOutExpo:function(g,h,f,j,i){return(h==i)?f+j:j*(-Math.pow(2,-10*h/i)+1)+f},easeInOutExpo:function(g,h,f,j,i){if(h==0){return f}if(h==i){return f+j}if((h/=i/2)<1){return j/2*Math.pow(2,10*(h-1))+f}return j/2*(-Math.pow(2,-10*--h)+2)+f},easeInCirc:function(g,h,f,j,i){return -j*(Math.sqrt(1-(h/=i)*h)-1)+f},easeOutCirc:function(g,h,f,j,i){return j*Math.sqrt(1-(h=h/i-1)*h)+f},easeInOutCirc:function(g,h,f,j,i){if((h/=i/2)<1){return -j/2*(Math.sqrt(1-h*h)-1)+f}return j/2*(Math.sqrt(1-(h-=2)*h)+1)+f},easeInElastic:function(g,i,f,m,l){var j=1.70158;var k=0;var h=m;if(i==0){return f}if((i/=l)==1){return f+m}if(!k){k=l*0.3}if(h<Math.abs(m)){h=m;var j=k/4}else{var j=k/(2*Math.PI)*Math.asin(m/h)}return -(h*Math.pow(2,10*(i-=1))*Math.sin((i*l-j)*(2*Math.PI)/k))+f},easeOutElastic:function(g,i,f,m,l){var j=1.70158;var k=0;var h=m;if(i==0){return f}if((i/=l)==1){return f+m}if(!k){k=l*0.3}if(h<Math.abs(m)){h=m;var j=k/4}else{var j=k/(2*Math.PI)*Math.asin(m/h)}return h*Math.pow(2,-10*i)*Math.sin((i*l-j)*(2*Math.PI)/k)+m+f},easeInOutElastic:function(g,i,f,m,l){var j=1.70158;var k=0;var h=m;if(i==0){return f}if((i/=l/2)==2){return f+m}if(!k){k=l*(0.3*1.5)}if(h<Math.abs(m)){h=m;var j=k/4}else{var j=k/(2*Math.PI)*Math.asin(m/h)}if(i<1){return -0.5*(h*Math.pow(2,10*(i-=1))*Math.sin((i*l-j)*(2*Math.PI)/k))+f}return h*Math.pow(2,-10*(i-=1))*Math.sin((i*l-j)*(2*Math.PI)/k)*0.5+m+f},easeInBack:function(g,h,f,k,j,i){if(i==undefined){i=1.70158}return k*(h/=j)*h*((i+1)*h-i)+f},easeOutBack:function(g,h,f,k,j,i){if(i==undefined){i=1.70158}return k*((h=h/j-1)*h*((i+1)*h+i)+1)+f},easeInOutBack:function(g,h,f,k,j,i){if(i==undefined){i=1.70158}if((h/=j/2)<1){return k/2*(h*h*(((i*=(1.525))+1)*h-i))+f}return k/2*((h-=2)*h*(((i*=(1.525))+1)*h+i)+2)+f},easeInBounce:function(g,h,f,j,i){return j-d.easing.easeOutBounce(g,i-h,0,j,i)+f},easeOutBounce:function(g,h,f,j,i){if((h/=i)<(1/2.75)){return j*(7.5625*h*h)+f}else{if(h<(2/2.75)){return j*(7.5625*(h-=(1.5/2.75))*h+0.75)+f}else{if(h<(2.5/2.75)){return j*(7.5625*(h-=(2.25/2.75))*h+0.9375)+f}else{return j*(7.5625*(h-=(2.625/2.75))*h+0.984375)+f}}}},easeInOutBounce:function(g,h,f,j,i){if(h<i/2){return d.easing.easeInBounce(g,h*2,0,j,i)*0.5+f}return d.easing.easeOutBounce(g,h*2-i,0,j,i)*0.5+j*0.5+f}})})(jQuery);;/*
+ * jQuery UI Effects Blind 1.7.2
+ *
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI/Effects/Blind
+ *
+ * Depends:
+ *	effects.core.js
+ */
+(function(a){a.effects.blind=function(b){return this.queue(function(){var d=a(this),c=["position","top","left"];var h=a.effects.setMode(d,b.options.mode||"hide");var g=b.options.direction||"vertical";a.effects.save(d,c);d.show();var j=a.effects.createWrapper(d).css({overflow:"hidden"});var e=(g=="vertical")?"height":"width";var i=(g=="vertical")?j.height():j.width();if(h=="show"){j.css(e,0)}var f={};f[e]=h=="show"?i:0;j.animate(f,b.duration,b.options.easing,function(){if(h=="hide"){d.hide()}a.effects.restore(d,c);a.effects.removeWrapper(d);if(b.callback){b.callback.apply(d[0],arguments)}d.dequeue()})})}})(jQuery);;/*
+ * jQuery UI Effects Bounce 1.7.2
+ *
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI/Effects/Bounce
+ *
+ * Depends:
+ *	effects.core.js
+ */
+(function(a){a.effects.bounce=function(b){return this.queue(function(){var e=a(this),l=["position","top","left"];var k=a.effects.setMode(e,b.options.mode||"effect");var n=b.options.direction||"up";var c=b.options.distance||20;var d=b.options.times||5;var g=b.duration||250;if(/show|hide/.test(k)){l.push("opacity")}a.effects.save(e,l);e.show();a.effects.createWrapper(e);var f=(n=="up"||n=="down")?"top":"left";var p=(n=="up"||n=="left")?"pos":"neg";var c=b.options.distance||(f=="top"?e.outerHeight({margin:true})/3:e.outerWidth({margin:true})/3);if(k=="show"){e.css("opacity",0).css(f,p=="pos"?-c:c)}if(k=="hide"){c=c/(d*2)}if(k!="hide"){d--}if(k=="show"){var h={opacity:1};h[f]=(p=="pos"?"+=":"-=")+c;e.animate(h,g/2,b.options.easing);c=c/2;d--}for(var j=0;j<d;j++){var o={},m={};o[f]=(p=="pos"?"-=":"+=")+c;m[f]=(p=="pos"?"+=":"-=")+c;e.animate(o,g/2,b.options.easing).animate(m,g/2,b.options.easing);c=(k=="hide")?c*2:c/2}if(k=="hide"){var h={opacity:0};h[f]=(p=="pos"?"-=":"+=")+c;e.animate(h,g/2,b.options.easing,function(){e.hide();a.effects.restore(e,l);a.effects.removeWrapper(e);if(b.callback){b.callback.apply(this,arguments)}})}else{var o={},m={};o[f]=(p=="pos"?"-=":"+=")+c;m[f]=(p=="pos"?"+=":"-=")+c;e.animate(o,g/2,b.options.easing).animate(m,g/2,b.options.easing,function(){a.effects.restore(e,l);a.effects.removeWrapper(e);if(b.callback){b.callback.apply(this,arguments)}})}e.queue("fx",function(){e.dequeue()});e.dequeue()})}})(jQuery);;/*
+ * jQuery UI Effects Clip 1.7.2
+ *
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI/Effects/Clip
+ *
+ * Depends:
+ *	effects.core.js
+ */
+(function(a){a.effects.clip=function(b){return this.queue(function(){var f=a(this),j=["position","top","left","height","width"];var i=a.effects.setMode(f,b.options.mode||"hide");var k=b.options.direction||"vertical";a.effects.save(f,j);f.show();var c=a.effects.createWrapper(f).css({overflow:"hidden"});var e=f[0].tagName=="IMG"?c:f;var g={size:(k=="vertical")?"height":"width",position:(k=="vertical")?"top":"left"};var d=(k=="vertical")?e.height():e.width();if(i=="show"){e.css(g.size,0);e.css(g.position,d/2)}var h={};h[g.size]=i=="show"?d:0;h[g.position]=i=="show"?0:d/2;e.animate(h,{queue:false,duration:b.duration,easing:b.options.easing,complete:function(){if(i=="hide"){f.hide()}a.effects.restore(f,j);a.effects.removeWrapper(f);if(b.callback){b.callback.apply(f[0],arguments)}f.dequeue()}})})}})(jQuery);;/*
+ * jQuery UI Effects Drop 1.7.2
+ *
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI/Effects/Drop
+ *
+ * Depends:
+ *	effects.core.js
+ */
+(function(a){a.effects.drop=function(b){return this.queue(function(){var e=a(this),d=["position","top","left","opacity"];var i=a.effects.setMode(e,b.options.mode||"hide");var h=b.options.direction||"left";a.effects.save(e,d);e.show();a.effects.createWrapper(e);var f=(h=="up"||h=="down")?"top":"left";var c=(h=="up"||h=="left")?"pos":"neg";var j=b.options.distance||(f=="top"?e.outerHeight({margin:true})/2:e.outerWidth({margin:true})/2);if(i=="show"){e.css("opacity",0).css(f,c=="pos"?-j:j)}var g={opacity:i=="show"?1:0};g[f]=(i=="show"?(c=="pos"?"+=":"-="):(c=="pos"?"-=":"+="))+j;e.animate(g,{queue:false,duration:b.duration,easing:b.options.easing,complete:function(){if(i=="hide"){e.hide()}a.effects.restore(e,d);a.effects.removeWrapper(e);if(b.callback){b.callback.apply(this,arguments)}e.dequeue()}})})}})(jQuery);;/*
+ * jQuery UI Effects Explode 1.7.2
+ *
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI/Effects/Explode
+ *
+ * Depends:
+ *	effects.core.js
+ */
+(function(a){a.effects.explode=function(b){return this.queue(function(){var k=b.options.pieces?Math.round(Math.sqrt(b.options.pieces)):3;var e=b.options.pieces?Math.round(Math.sqrt(b.options.pieces)):3;b.options.mode=b.options.mode=="toggle"?(a(this).is(":visible")?"hide":"show"):b.options.mode;var h=a(this).show().css("visibility","hidden");var l=h.offset();l.top-=parseInt(h.css("marginTop"),10)||0;l.left-=parseInt(h.css("marginLeft"),10)||0;var g=h.outerWidth(true);var c=h.outerHeight(true);for(var f=0;f<k;f++){for(var d=0;d<e;d++){h.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-d*(g/e),top:-f*(c/k)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:g/e,height:c/k,left:l.left+d*(g/e)+(b.options.mode=="show"?(d-Math.floor(e/2))*(g/e):0),top:l.top+f*(c/k)+(b.options.mode=="show"?(f-Math.floor(k/2))*(c/k):0),opacity:b.options.mode=="show"?0:1}).animate({left:l.left+d*(g/e)+(b.options.mode=="show"?0:(d-Math.floor(e/2))*(g/e)),top:l.top+f*(c/k)+(b.options.mode=="show"?0:(f-Math.floor(k/2))*(c/k)),opacity:b.options.mode=="show"?1:0},b.duration||500)}}setTimeout(function(){b.options.mode=="show"?h.css({visibility:"visible"}):h.css({visibility:"visible"}).hide();if(b.callback){b.callback.apply(h[0])}h.dequeue();a("div.ui-effects-explode").remove()},b.duration||500)})}})(jQuery);;/*
+ * jQuery UI Effects Fold 1.7.2
+ *
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI/Effects/Fold
+ *
+ * Depends:
+ *	effects.core.js
+ */
+(function(a){a.effects.fold=function(b){return this.queue(function(){var e=a(this),k=["position","top","left"];var h=a.effects.setMode(e,b.options.mode||"hide");var o=b.options.size||15;var n=!(!b.options.horizFirst);var g=b.duration?b.duration/2:a.fx.speeds._default/2;a.effects.save(e,k);e.show();var d=a.effects.createWrapper(e).css({overflow:"hidden"});var i=((h=="show")!=n);var f=i?["width","height"]:["height","width"];var c=i?[d.width(),d.height()]:[d.height(),d.width()];var j=/([0-9]+)%/.exec(o);if(j){o=parseInt(j[1],10)/100*c[h=="hide"?0:1]}if(h=="show"){d.css(n?{height:0,width:o}:{height:o,width:0})}var m={},l={};m[f[0]]=h=="show"?c[0]:o;l[f[1]]=h=="show"?c[1]:0;d.animate(m,g,b.options.easing).animate(l,g,b.options.easing,function(){if(h=="hide"){e.hide()}a.effects.restore(e,k);a.effects.removeWrapper(e);if(b.callback){b.callback.apply(e[0],arguments)}e.dequeue()})})}})(jQuery);;/*
+ * jQuery UI Effects Highlight 1.7.2
+ *
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI/Effects/Highlight
+ *
+ * Depends:
+ *	effects.core.js
+ */
+(function(a){a.effects.highlight=function(b){return this.queue(function(){var e=a(this),d=["backgroundImage","backgroundColor","opacity"];var h=a.effects.setMode(e,b.options.mode||"show");var c=b.options.color||"#ffff99";var g=e.css("backgroundColor");a.effects.save(e,d);e.show();e.css({backgroundImage:"none",backgroundColor:c});var f={backgroundColor:g};if(h=="hide"){f.opacity=0}e.animate(f,{queue:false,duration:b.duration,easing:b.options.easing,complete:function(){if(h=="hide"){e.hide()}a.effects.restore(e,d);if(h=="show"&&a.browser.msie){this.style.removeAttribute("filter")}if(b.callback){b.callback.apply(this,arguments)}e.dequeue()}})})}})(jQuery);;/*
+ * jQuery UI Effects Pulsate 1.7.2
+ *
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI/Effects/Pulsate
+ *
+ * Depends:
+ *	effects.core.js
+ */
+(function(a){a.effects.pulsate=function(b){return this.queue(function(){var d=a(this);var g=a.effects.setMode(d,b.options.mode||"show");var f=b.options.times||5;var e=b.duration?b.duration/2:a.fx.speeds._default/2;if(g=="hide"){f--}if(d.is(":hidden")){d.css("opacity",0);d.show();d.animate({opacity:1},e,b.options.easing);f=f-2}for(var c=0;c<f;c++){d.animate({opacity:0},e,b.options.easing).animate({opacity:1},e,b.options.easing)}if(g=="hide"){d.animate({opacity:0},e,b.options.easing,function(){d.hide();if(b.callback){b.callback.apply(this,arguments)}})}else{d.animate({opacity:0},e,b.options.easing).animate({opacity:1},e,b.options.easing,function(){if(b.callback){b.callback.apply(this,arguments)}})}d.queue("fx",function(){d.dequeue()});d.dequeue()})}})(jQuery);;/*
+ * jQuery UI Effects Scale 1.7.2
+ *
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI/Effects/Scale
+ *
+ * Depends:
+ *	effects.core.js
+ */
+(function(a){a.effects.puff=function(b){return this.queue(function(){var f=a(this);var c=a.extend(true,{},b.options);var h=a.effects.setMode(f,b.options.mode||"hide");var g=parseInt(b.options.percent,10)||150;c.fade=true;var e={height:f.height(),width:f.width()};var d=g/100;f.from=(h=="hide")?e:{height:e.height*d,width:e.width*d};c.from=f.from;c.percent=(h=="hide")?g:100;c.mode=h;f.effect("scale",c,b.duration,b.callback);f.dequeue()})};a.effects.scale=function(b){return this.queue(function(){var g=a(this);var d=a.extend(true,{},b.options);var j=a.effects.setMode(g,b.options.mode||"effect");var h=parseInt(b.options.percent,10)||(parseInt(b.options.percent,10)==0?0:(j=="hide"?0:100));var i=b.options.direction||"both";var c=b.options.origin;if(j!="effect"){d.origin=c||["middle","center"];d.restore=true}var f={height:g.height(),width:g.width()};g.from=b.options.from||(j=="show"?{height:0,width:0}:f);var e={y:i!="horizontal"?(h/100):1,x:i!="vertical"?(h/100):1};g.to={height:f.height*e.y,width:f.width*e.x};if(b.options.fade){if(j=="show"){g.from.opacity=0;g.to.opacity=1}if(j=="hide"){g.from.opacity=1;g.to.opacity=0}}d.from=g.from;d.to=g.to;d.mode=j;g.effect("size",d,b.duration,b.callback);g.dequeue()})};a.effects.size=function(b){return this.queue(function(){var c=a(this),n=["position","top","left","width","height","overflow","opacity"];var m=["position","top","left","overflow","opacity"];var j=["width","height","overflow"];var p=["fontSize"];var k=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"];var f=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"];var g=a.effects.setMode(c,b.options.mode||"effect");var i=b.options.restore||false;var e=b.options.scale||"both";var o=b.options.origin;var d={height:c.height(),width:c.width()};c.from=b.options.from||d;c.to=b.options.to||d;if(o){var h=a.effects.getBaseline(o,d);c.from.top=(d.height-c.from.height)*h.y;c.from.left=(d.width-c.from.width)*h.x;c.to.top=(d.height-c.to.height)*h.y;c.to.left=(d.width-c.to.width)*h.x}var l={from:{y:c.from.height/d.height,x:c.from.width/d.width},to:{y:c.to.height/d.height,x:c.to.width/d.width}};if(e=="box"||e=="both"){if(l.from.y!=l.to.y){n=n.concat(k);c.from=a.effects.setTransition(c,k,l.from.y,c.from);c.to=a.effects.setTransition(c,k,l.to.y,c.to)}if(l.from.x!=l.to.x){n=n.concat(f);c.from=a.effects.setTransition(c,f,l.from.x,c.from);c.to=a.effects.setTransition(c,f,l.to.x,c.to)}}if(e=="content"||e=="both"){if(l.from.y!=l.to.y){n=n.concat(p);c.from=a.effects.setTransition(c,p,l.from.y,c.from);c.to=a.effects.setTransition(c,p,l.to.y,c.to)}}a.effects.save(c,i?n:m);c.show();a.effects.createWrapper(c);c.css("overflow","hidden").css(c.from);if(e=="content"||e=="both"){k=k.concat(["marginTop","marginBottom"]).concat(p);f=f.concat(["marginLeft","marginRight"]);j=n.concat(k).concat(f);c.find("*[width]").each(function(){child=a(this);if(i){a.effects.save(child,j)}var q={height:child.height(),width:child.width()};child.from={height:q.height*l.from.y,width:q.width*l.from.x};child.to={height:q.height*l.to.y,width:q.width*l.to.x};if(l.from.y!=l.to.y){child.from=a.effects.setTransition(child,k,l.from.y,child.from);child.to=a.effects.setTransition(child,k,l.to.y,child.to)}if(l.from.x!=l.to.x){child.from=a.effects.setTransition(child,f,l.from.x,child.from);child.to=a.effects.setTransition(child,f,l.to.x,child.to)}child.css(child.from);child.animate(child.to,b.duration,b.options.easing,function(){if(i){a.effects.restore(child,j)}})})}c.animate(c.to,{queue:false,duration:b.duration,easing:b.options.easing,complete:function(){if(g=="hide"){c.hide()}a.effects.restore(c,i?n:m);a.effects.removeWrapper(c);if(b.callback){b.callback.apply(this,arguments)}c.dequeue()}})})}})(jQuery);;/*
+ * jQuery UI Effects Shake 1.7.2
+ *
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI/Effects/Shake
+ *
+ * Depends:
+ *	effects.core.js
+ */
+(function(a){a.effects.shake=function(b){return this.queue(function(){var e=a(this),l=["position","top","left"];var k=a.effects.setMode(e,b.options.mode||"effect");var n=b.options.direction||"left";var c=b.options.distance||20;var d=b.options.times||3;var g=b.duration||b.options.duration||140;a.effects.save(e,l);e.show();a.effects.createWrapper(e);var f=(n=="up"||n=="down")?"top":"left";var p=(n=="up"||n=="left")?"pos":"neg";var h={},o={},m={};h[f]=(p=="pos"?"-=":"+=")+c;o[f]=(p=="pos"?"+=":"-=")+c*2;m[f]=(p=="pos"?"-=":"+=")+c*2;e.animate(h,g,b.options.easing);for(var j=1;j<d;j++){e.animate(o,g,b.options.easing).animate(m,g,b.options.easing)}e.animate(o,g,b.options.easing).animate(h,g/2,b.options.easing,function(){a.effects.restore(e,l);a.effects.removeWrapper(e);if(b.callback){b.callback.apply(this,arguments)}});e.queue("fx",function(){e.dequeue()});e.dequeue()})}})(jQuery);;/*
+ * jQuery UI Effects Slide 1.7.2
+ *
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI/Effects/Slide
+ *
+ * Depends:
+ *	effects.core.js
+ */
+(function(a){a.effects.slide=function(b){return this.queue(function(){var e=a(this),d=["position","top","left"];var i=a.effects.setMode(e,b.options.mode||"show");var h=b.options.direction||"left";a.effects.save(e,d);e.show();a.effects.createWrapper(e).css({overflow:"hidden"});var f=(h=="up"||h=="down")?"top":"left";var c=(h=="up"||h=="left")?"pos":"neg";var j=b.options.distance||(f=="top"?e.outerHeight({margin:true}):e.outerWidth({margin:true}));if(i=="show"){e.css(f,c=="pos"?-j:j)}var g={};g[f]=(i=="show"?(c=="pos"?"+=":"-="):(c=="pos"?"-=":"+="))+j;e.animate(g,{queue:false,duration:b.duration,easing:b.options.easing,complete:function(){if(i=="hide"){e.hide()}a.effects.restore(e,d);a.effects.removeWrapper(e);if(b.callback){b.callback.apply(this,arguments)}e.dequeue()}})})}})(jQuery);;/*
+ * jQuery UI Effects Transfer 1.7.2
+ *
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI/Effects/Transfer
+ *
+ * Depends:
+ *	effects.core.js
+ */
+(function(a){a.effects.transfer=function(b){return this.queue(function(){var f=a(this),h=a(b.options.to),e=h.offset(),g={top:e.top,left:e.left,height:h.innerHeight(),width:h.innerWidth()},d=f.offset(),c=a('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(b.options.className).css({top:d.top,left:d.left,height:f.innerHeight(),width:f.innerWidth(),position:"absolute"}).animate(g,b.duration,b.options.easing,function(){c.remove();(b.callback&&b.callback.apply(f[0],arguments));f.dequeue()})})}})(jQuery);;
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/jquery/jquery-ui-min.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jquery/jquery-insert.js
===================================================================
--- tags/2.8.2/wb/include/jquery/jquery-insert.js	(nonexistent)
+++ tags/2.8.2/wb/include/jquery/jquery-insert.js	(revision 1481)
@@ -0,0 +1,74 @@
+/* Insert Script Plugin
+ *
+ *
+ * Copyright (c) 2008 Kevin Martin (http://synarchydesign.com/insert)
+ * Licensed under the GPL license:
+ * http://www.gnu.org/licenses/gpl.html
+ *
+ */
+jQuery.insert = function(file)
+{
+	var data	= [];
+	var data2	= [];
+
+	if (typeof file == 'object')
+	{
+		data = file;
+		file = data.src !== undefined ? data.src : false;
+		file = file === false && data.href !== undefined ? data.href : file;
+		file = file === false ? file2 : false;
+	}
+
+	if (typeof file == 'string' && file.length)
+	{
+		var index	= file.lastIndexOf('.');
+		var index2	= file.replace('\\', '/').lastIndexOf('/') + 1;
+		var ext		= file.substring(index + 1, file.length);
+	}
+
+	switch(ext)
+	{
+		case 'js':
+			data2 = {
+				elm:	'script',
+				type:	'text/javascript',
+				src:	file
+			};
+		break;
+
+		case 'css':
+			data2 = {
+				elm:	'link',
+				rel:	'stylesheet',
+				type:	'text/css',
+				href:	file
+			};
+		break;
+
+		default:
+			data2 = {elm: 'link'};
+		break;
+	}
+
+	data2.id = 'script-' + (typeof file == 'string' && file.length ?
+		file.substring(index2, index) : Math.round(Math.rand() * 100));
+
+	for (var i in data)
+	{
+		data2[i] = data[i];
+	}
+
+	data	= data2;
+	var tag	= document.createElement(data.elm);
+
+	delete data.elm;
+
+	for (i in data)
+	{
+		tag.setAttribute(i, data[i]);
+	}
+
+	jQuery('head').append(tag);
+
+	return jQuery('#' + data.id);
+};
\ No newline at end of file
Index: tags/2.8.2/wb/include/jquery/index.php
===================================================================
--- tags/2.8.2/wb/include/jquery/index.php	(nonexistent)
+++ tags/2.8.2/wb/include/jquery/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/jquery/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/include/jquery/GPL-LICENSE.txt
===================================================================
--- tags/2.8.2/wb/include/jquery/GPL-LICENSE.txt	(nonexistent)
+++ tags/2.8.2/wb/include/jquery/GPL-LICENSE.txt	(revision 1481)
@@ -0,0 +1,278 @@
+        GNU GENERAL PUBLIC LICENSE
+           Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+          Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+        GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+          NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.

Property changes on: tags/2.8.2/wb/include/jquery/GPL-LICENSE.txt
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jquery/AUTHORS.txt
===================================================================
--- tags/2.8.2/wb/include/jquery/AUTHORS.txt	(nonexistent)
+++ tags/2.8.2/wb/include/jquery/AUTHORS.txt	(revision 1481)
@@ -0,0 +1,30 @@
+ï»¿jQuery UI Authors (http://ui.jquery.com/about)
+
+This software consists of voluntary contributions made by many
+individuals. For exact contribution history, see the revision history
+and logs, available at http://jquery-ui.googlecode.com/svn/
+
+Brandon Aaron
+Paul Bakaus (paulbakaus.com)
+David Bolter
+Rich Caloggero
+Chi Cheng (cloudream@gmail.com)
+Colin Clark (http://colin.atrc.utoronto.ca/)
+Michelle D'Souza
+Aaron Eisenberger (aaronchi@gmail.com)
+Ariel Flesler
+Bohdan Ganicky
+Scott GonzÃ¡lez
+Marc Grabanski (m@marcgrabanski.com)
+Klaus Hartl (stilbuero.de)
+Scott Jehl
+Cody Lindley
+Eduardo Lundgren (eduardolundgren@gmail.com)
+Todd Parker
+John Resig
+Patty Toland
+Ca-Phun Ung (yelotofu.com)
+Keith Wood (kbwood@virginbroadband.com.au)
+Maggie Costello Wachs
+Richard D. Worth (rdworth.org)
+JÃ¶rn Zaefferer (bassistance.de)

Property changes on: tags/2.8.2/wb/include/jquery/AUTHORS.txt
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jquery/MIT-LICENSE.txt
===================================================================
--- tags/2.8.2/wb/include/jquery/MIT-LICENSE.txt	(nonexistent)
+++ tags/2.8.2/wb/include/jquery/MIT-LICENSE.txt	(revision 1481)
@@ -0,0 +1,25 @@
+Copyright (c) 2009 Paul Bakaus, http://jqueryui.com/
+
+This software consists of voluntary contributions made by many
+individuals (AUTHORS.txt, http://jqueryui.com/about) For exact
+contribution history, see the revision history and logs, available
+at http://jquery-ui.googlecode.com/svn/
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Property changes on: tags/2.8.2/wb/include/jquery/MIT-LICENSE.txt
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/pclzip/readme.txt
===================================================================
--- tags/2.8.2/wb/include/pclzip/readme.txt	(nonexistent)
+++ tags/2.8.2/wb/include/pclzip/readme.txt	(revision 1481)
@@ -0,0 +1,421 @@
+// --------------------------------------------------------------------------------
+// PclZip 2.8.2 - readme.txt
+// --------------------------------------------------------------------------------
+// License GNU/LGPL - August 2009
+// Vincent Blavet - vincent@phpconcept.net
+// http://www.phpconcept.net
+// --------------------------------------------------------------------------------
+// $Id: readme.txt,v 1.60 2009/09/30 20:35:21 vblavet Exp $
+// --------------------------------------------------------------------------------
+
+
+
+0 - Sommaire
+============
+    1 - Introduction
+    2 - What's new
+    3 - Corrected bugs
+    4 - Known bugs or limitations
+    5 - License
+    6 - Warning
+    7 - Documentation
+    8 - Author
+    9 - Contribute
+
+1 - Introduction
+================
+
+  PclZip is a library that allow you to manage a Zip archive.
+
+  Full documentation about PclZip can be found here : http://www.phpconcept.net/pclzip
+
+2 - What's new
+==============
+
+  Version 2.8.2 :
+    - PCLZIP_CB_PRE_EXTRACT and PCLZIP_CB_POST_EXTRACT are now supported with 
+      extraction as a string (PCLZIP_OPT_EXTRACT_AS_STRING). The string
+      can also be modified in the post-extract call back.
+    **Bugs correction :
+    - PCLZIP_OPT_REMOVE_ALL_PATH was not working correctly    
+    - Remove use of eval() and do direct call to callback functions
+    - Correct support of 64bits systems (Thanks to WordPress team)
+
+  Version 2.8.1 :
+    - Move option PCLZIP_OPT_BY_EREG to PCLZIP_OPT_BY_PREG because ereg() is
+      deprecated in PHP 5.3. When using option PCLZIP_OPT_BY_EREG, PclZip will
+      automatically replace it by PCLZIP_OPT_BY_PREG.
+  
+  Version 2.8 :
+    - Improve extraction of zip archive for large files by using temporary files
+      This feature is working like the one defined in r2.7.
+      Options are renamed : PCLZIP_OPT_TEMP_FILE_ON, PCLZIP_OPT_TEMP_FILE_OFF,
+      PCLZIP_OPT_TEMP_FILE_THRESHOLD
+    - Add a ratio constant PCLZIP_TEMPORARY_FILE_RATIO to configure the auto
+      sense of temporary file use.
+    - Bug correction : Reduce filepath in returned file list to remove ennoying
+      './/' preambule in file path.
+
+  Version 2.7 :
+    - Improve creation of zip archive for large files :
+      PclZip will now autosense the configured memory and use temporary files
+      when large file is suspected.
+      This feature can also ne triggered by manual options in create() and add()
+      methods. 'PCLZIP_OPT_ADD_TEMP_FILE_ON' force the use of temporary files,
+      'PCLZIP_OPT_ADD_TEMP_FILE_OFF' disable the autosense technic, 
+      'PCLZIP_OPT_ADD_TEMP_FILE_THRESHOLD' allow for configuration of a size
+      threshold to use temporary files.
+      Using "temporary files" rather than "memory" might take more time, but
+      might give the ability to zip very large files :
+      Tested on my win laptop with a 88Mo file :
+        Zip "in-memory" : 18sec (max_execution_time=30, memory_limit=180Mo)
+        Zip "tmporary-files" : 23sec (max_execution_time=30, memory_limit=30Mo)
+    - Replace use of mktime() by time() to limit the E_STRICT error messages.
+    - Bug correction : When adding files with full windows path (drive letter)
+      PclZip is now working. Before, if the drive letter is not the default
+      path, PclZip was not able to add the file.
+
+  Version 2.6 :
+    - Code optimisation
+    - New attributes PCLZIP_ATT_FILE_COMMENT gives the ability to
+      add a comment for a specific file. (Don't really know if this is usefull)
+    - New attribute PCLZIP_ATT_FILE_CONTENT gives the ability to add a string 
+      as a file.
+    - New attribute PCLZIP_ATT_FILE_MTIME modify the timestamp associated with
+      a file.
+    - Correct a bug. Files archived with a timestamp with 0h0m0s were extracted
+      with current time
+    - Add CRC value in the informations returned back for each file after an
+      action.
+    - Add missing closedir() statement.
+    - When adding a folder, and removing the path of this folder, files were
+      incorrectly added with a '/' at the beginning. Which means files are 
+      related to root in unix systems. Corrected.
+    - Add conditional if before constant definition. This will allow users
+      to redefine constants without changing the file, and then improve
+      upgrade of pclzip code for new versions.
+  
+  Version 2.5 :
+    - Introduce the ability to add file/folder with individual properties (file descriptor).
+      This gives for example the ability to change the filename of a zipped file.
+      . Able to add files individually
+      . Able to change full name
+      . Able to change short name
+      . Compatible with global options
+    - New attributes : PCLZIP_ATT_FILE_NAME, PCLZIP_ATT_FILE_NEW_SHORT_NAME, PCLZIP_ATT_FILE_NEW_FULL_NAME
+    - New error code : PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE
+    - Add a security control feature. PclZip can extract any file in any folder
+      of a system. People may use this to upload a zip file and try to override
+      a system file. The PCLZIP_OPT_EXTRACT_DIR_RESTRICTION will give the
+      ability to forgive any directory transversal behavior.
+    - New PCLZIP_OPT_EXTRACT_DIR_RESTRICTION : check extraction path
+    - New error code : PCLZIP_ERR_DIRECTORY_RESTRICTION
+    - Modification in PclZipUtilPathInclusion() : dir and path beginning with ./ will be prepend
+      by current path (getcwd())
+  
+  Version 2.4 :
+    - Code improvment : try to speed up the code by removing unusefull call to pack()
+    - Correct bug in delete() : delete() should be called with no argument. This was not
+      the case in 2.3. This is corrected in 2.4.
+    - Correct a bug in path_inclusion function. When the path has several '../../', the
+      result was bad.
+    - Add a check for magic_quotes_runtime configuration. If enabled, PclZip will 
+      disable it while working and det it back to its original value.
+      This resolve a lots of bad formated archive errors.
+    - Bug correction : PclZip now correctly unzip file in some specific situation,
+      when compressed content has same size as uncompressed content.
+    - Bug correction : When selecting option 'PCLZIP_OPT_REMOVE_ALL_PATH', 
+      directories are not any more created.
+    - Code improvment : correct unclosed opendir(), better handling of . and .. in
+      loops.
+
+
+  Version 2.3 :
+    - Correct a bug with PHP5 : affecting the value 0xFE49FFE0 to a variable does not
+      give the same result in PHP4 and PHP5 ....
+
+  Version 2.2 :
+    - Try development of PCLZIP_OPT_CRYPT .....
+      However this becomes to a stop. To crypt/decrypt I need to multiply 2 long integers,
+      the result (greater than a long) is not supported by PHP. Even the use of bcmath
+      functions does not help. I did not find yet a solution ...;
+    - Add missing '/' at end of directory entries
+    - Check is a file is encrypted or not. Returns status 'unsupported_encryption' and/or
+      error code PCLZIP_ERR_UNSUPPORTED_ENCRYPTION.
+    - Corrected : Bad "version need to extract" field in local file header
+    - Add private method privCheckFileHeaders() in order to check local and central
+      file headers. PclZip is now supporting purpose bit flag bit 3. Purpose bit flag bit 3 gives
+      the ability to have a local file header without size, compressed size and crc filled.
+    - Add a generic status 'error' for file status
+    - Add control of compression type. PclZip only support deflate compression method.
+      Before v2.2, PclZip does not check the compression method used in an archive while
+      extracting. With v2.2 PclZip returns a new error status for a file using an unsupported
+      compression method. New status is "unsupported_compression". New error code is
+      PCLZIP_ERR_UNSUPPORTED_COMPRESSION.
+    - Add optional attribute PCLZIP_OPT_STOP_ON_ERROR. This will stop the extract of files
+      when errors like 'a folder with same name exists' or 'a newer file exists' or
+      'a write protected file' exists, rather than set a status for the concerning file
+      and resume the extract of the zip.
+    - Add optional attribute PCLZIP_OPT_REPLACE_NEWER. This will force, during an extract' the
+      replacement of the file, even if a  newer version of the file exists.
+      Note that today if a file with the same name already exists but is older it will be
+      replaced by the extracted one.
+    - Improve PclZipUtilOption()
+    - Support of zip archive with trailing bytes. Before 2.2, PclZip checks that the central
+      directory structure is the last data in the archive. Crypt encryption/decryption of
+      zip archive put trailing 0 bytes after decryption. PclZip is now supporting this.
+
+  Version 2.1 :
+    - Add the ability to abort the extraction by using a user callback function.
+      The user can now return the value '2' in its callback which indicates to stop the
+      extraction. For a pre call-back extract is stopped before the extration of the current
+      file. For a post call back, the extraction is stopped after.
+    - Add the ability to extract a file (or several files) directly in the standard output.
+      This is done by the new parameter PCLZIP_OPT_EXTRACT_IN_OUTPUT with method extract().
+    - Add support for parameters PCLZIP_OPT_COMMENT, PCLZIP_OPT_ADD_COMMENT,
+      PCLZIP_OPT_PREPEND_COMMENT. This will create, replace, add, or prepend comments
+      in the zip archive.
+    - When merging two archives, the comments are not any more lost, but merged, with a 
+      blank space separator.
+    - Corrected bug : Files are not deleted when all files are asked to be deleted.
+    - Corrected bug : Folders with name '0' made PclZip to abort the create or add feature.
+
+
+  Version 2.0 :
+    ***** Warning : Some new features may break the backward compatibility for your scripts.
+                    Please carefully read the readme file.
+    - Add the ability to delete by Index, name and regular expression. This feature is 
+      performed by the method delete(), which uses the optional parameters
+      PCLZIP_OPT_BY_INDEX, PCLZIP_OPT_BY_NAME, PCLZIP_OPT_BY_EREG or PCLZIP_OPT_BY_PREG.
+    - Add the ability to extract by regular expression. To extract by regexp you must use the method
+      extract(), with the option PCLZIP_OPT_BY_EREG or PCLZIP_OPT_BY_PREG 
+      (depending if you want to use ereg() or preg_match() syntax) followed by the 
+      regular expression pattern.
+    - Add the ability to extract by index, directly with the extract() method. This is a
+      code improvment of the extractByIndex() method.
+    - Add the ability to extract by name. To extract by name you must use the method
+      extract(), with the option PCLZIP_OPT_BY_NAME followed by the filename to
+      extract or an array of filenames to extract. To extract all a folder, use the folder
+      name rather than the filename with a '/' at the end.
+    - Add the ability to add files without compression. This is done with a new attribute
+      which is PCLZIP_OPT_NO_COMPRESSION.
+    - Add the attribute PCLZIP_OPT_EXTRACT_AS_STRING, which allow to extract a file directly
+      in a string without using any file (or temporary file).
+    - Add constant PCLZIP_SEPARATOR for static configuration of filename separators in a single string.
+      The default separator is now a comma (,) and not any more a blank space.
+      THIS BREAK THE BACKWARD COMPATIBILITY : Please check if this may have an impact with
+      your script.
+    - Improve algorythm performance by removing the use of temporary files when adding or 
+      extracting files in an archive.
+    - Add (correct) detection of empty filename zipping. This can occurs when the removed
+      path is the same
+      as a zipped dir. The dir is not zipped (['status'] = filtered), only its content.
+    - Add better support for windows paths (thanks for help from manus@manusfreedom.com).
+    - Corrected bug : When the archive file already exists with size=0, the add() method
+      fails. Corrected in 2.0.
+    - Remove the use of OS_WINDOWS constant. Use php_uname() function rather.
+    - Control the order of index ranges in extract by index feature.
+    - Change the internal management of folders (better handling of internal flag).
+
+
+  Version 1.3 :
+    - Removing the double include check. This is now done by include_once() and require_once()
+      PHP directives.
+    - Changing the error handling mecanism : Remove the use of an external error library.
+      The former PclError...() functions are replaced by internal equivalent methods.
+      By changing the environment variable PCLZIP_ERROR_EXTERNAL you can still use the former library.
+      Introducing the use of constants for error codes rather than integer values. This will help
+      in futur improvment.
+      Introduction of error handling functions like errorCode(), errorName() and errorInfo().
+    - Remove the deprecated use of calling function with arguments passed by reference.
+    - Add the calling of extract(), extractByIndex(), create() and add() functions
+      with variable options rather than fixed arguments.
+    - Add the ability to remove all the file path while extracting or adding,
+      without any need to specify the path to remove.
+      This is available for extract(), extractByIndex(), create() and add() functionS by using
+      the new variable options parameters :
+      - PCLZIP_OPT_REMOVE_ALL_PATH : by indicating this option while calling the fct.
+    - Ability to change the mode of a file after the extraction (chmod()).
+      This is available for extract() and extractByIndex() functionS by using
+      the new variable options parameters.
+      - PCLZIP_OPT_SET_CHMOD : by setting the value of this option.
+    - Ability to definition call-back options. These call-back will be called during the adding,
+      or the extracting of file (extract(), extractByIndex(), create() and add() functions) :
+      - PCLZIP_CB_PRE_EXTRACT : will be called before each extraction of a file. The user
+        can trigerred the change the filename of the extracted file. The user can triggered the
+        skip of the extraction. This is adding a 'skipped' status in the file list result value.
+      - PCLZIP_CB_POST_EXTRACT : will be called after each extraction of a file.
+        Nothing can be triggered from that point.
+      - PCLZIP_CB_PRE_ADD : will be called before each add of a file. The user
+        can trigerred the change the stored filename of the added file. The user can triggered the
+        skip of the add. This is adding a 'skipped' status in the file list result value.
+      - PCLZIP_CB_POST_ADD : will be called after each add of a file.
+        Nothing can be triggered from that point.
+    - Two status are added in the file list returned as function result : skipped & filename_too_long
+      'skipped' is used when a call-back function ask for skipping the file.
+      'filename_too_long' is used while adding a file with a too long filename to archive (the file is
+      not added)
+    - Adding the function PclZipUtilPathInclusion(), that check the inclusion of a path into
+      a directory.
+    - Add a check of the presence of the archive file before some actions (like list, ...)
+    - Add the initialisation of field "index" in header array. This means that by
+      default index will be -1 when not explicitly set by the methods.
+
+  Version 1.2 :
+    - Adding a duplicate function.
+    - Adding a merge function. The merge function is a "quick merge" function,
+      it just append the content of an archive at the end of the first one. There
+      is no check for duplicate files or more recent files.
+    - Improve the search of the central directory end.
+
+  Version 1.1.2 :
+
+    - Changing the license of PclZip. PclZip is now released under the GNU / LGPL license
+      (see License section).
+    - Adding the optional support of a static temporary directory. You will need to configure
+      the constant PCLZIP_TEMPORARY_DIR if you want to use this feature.
+    - Improving the rename() function. In some cases rename() does not work (different
+      Filesystems), so it will be replaced by a copy() + unlink() functions.
+
+  Version 1.1.1 :
+
+    - Maintenance release, no new feature.
+
+  Version 1.1 :
+
+    - New method Add() : adding files in the archive
+    - New method ExtractByIndex() : partial extract of the archive, files are identified by
+      their index in the archive
+    - New method DeleteByIndex() : delete some files/folder entries from the archive,
+      files are identified by their index in the archive.
+    - Adding a test of the zlib extension presence. If not present abort the script.
+
+  Version 1.0.1 :
+
+    - No new feature
+
+
+3 - Corrected bugs
+==================
+
+  Corrected in Version 2.0 :
+    - Corrected : During an extraction, if a call-back fucntion is used and try to skip
+                  a file, all the extraction process is stopped. 
+
+  Corrected in Version 1.3 :
+    - Corrected : Support of static synopsis for method extract() is broken.
+    - Corrected : invalid size of archive content field (0xFF) should be (0xFFFF).
+    - Corrected : When an extract is done with a remove_path parameter, the entry for
+      the directory with exactly the same path is not skipped/filtered.
+    - Corrected : extractByIndex() and deleteByIndex() were not managing index in the
+      right way. For example indexes '1,3-5,11' will only extract files 1 and 11. This
+      is due to a sort of the index resulting table that puts 11 before 3-5 (sort on
+      string and not interger). The sort is temporarilly removed, this means that
+      you must provide a sorted list of index ranges.
+
+  Corrected in Version 1.2 :
+
+    - Nothing.
+
+  Corrected in Version 1.1.2 :
+
+    - Corrected : Winzip is unable to delete or add new files in a PclZip created archives.
+
+  Corrected in Version 1.1.1 :
+
+    - Corrected : When archived file is not compressed (0% compression), the
+      extract method fails.
+
+  Corrected in Version 1.1 :
+
+    - Corrected : Adding a complete tree of folder may result in a bad archive
+      creation.
+
+  Corrected in Version 1.0.1 :
+
+    - Corrected : Error while compressing files greater than PCLZIP_READ_BLOCK_SIZE (default=1024).
+
+
+4 - Known bugs or limitations
+=============================
+
+  Please publish bugs reports in SourceForge :
+    http://sourceforge.net/tracker/?group_id=40254&atid=427564
+
+  In Version 2.x :
+    - PclZip does only support file uncompressed or compressed with deflate (compression method 8)
+    - PclZip does not support password protected zip archive
+    - Some concern were seen when changing mtime of a file while archiving. 
+      Seems to be linked to Daylight Saving Time (PclTest_changing_mtime).
+
+  In Version 1.2 :
+
+    - merge() methods does not check for duplicate files or last date of modifications.
+
+  In Version 1.1 :
+
+    - Limitation : Using 'extract' fields in the file header in the zip archive is not supported.
+    - WinZip is unable to delete a single file in a PclZip created archive. It is also unable to
+      add a file in a PclZip created archive. (Corrected in v.1.2)
+
+  In Version 1.0.1 :
+
+    - Adding a complete tree of folder may result in a bad archive
+      creation. (Corrected in V.1.1).
+    - Path given to methods must be in the unix format (/) and not the Windows format (\).
+      Workaround : Use only / directory separators.
+    - PclZip is using temporary files that are sometime the name of the file with a .tmp or .gz
+      added suffix. Files with these names may already exist and may be overwritten.
+      Workaround : none.
+    - PclZip does not check if the zlib extension is present. If it is absent, the zip
+      file is not created and the lib abort without warning.
+      Workaround : enable the zlib extension on the php install
+
+  In Version 1.0 :
+
+    - Error while compressing files greater than PCLZIP_READ_BLOCK_SIZE (default=1024).
+      (Corrected in v.1.0.1)
+    - Limitation : Multi-disk zip archive are not supported.
+
+
+5 - License
+===========
+
+  Since version 1.1.2, PclZip Library is released under GNU/LGPL license.
+  This library is free, so you can use it at no cost.
+
+  HOWEVER, if you release a script, an application, a library or any kind of
+  code using PclZip library (or a part of it), YOU MUST :
+  - Indicate in the documentation (or a readme file), that your work
+    uses PclZip Library, and make a reference to the author and the web site
+    http://www.phpconcept.net
+  - Gives the ability to the final user to update the PclZip libary.
+
+  I will also appreciate that you send me a mail (vincent@phpconcept.net), just to
+  be aware that someone is using PclZip.
+
+  For more information about GNU/LGPL license : http://www.gnu.org
+
+6 - Warning
+=================
+
+  This library and the associated files are non commercial, non professional work.
+  It should not have unexpected results. However if any damage is caused by this software
+  the author can not be responsible.
+  The use of this software is at the risk of the user.
+
+7 - Documentation
+=================
+  PclZip User Manuel is available in English on PhpConcept : http://www.phpconcept.net/pclzip/man/en/index.php
+  A Russian translation was done by Feskov Kuzma : http://php.russofile.ru/ru/authors/unsort/zip/
+
+8 - Author
+==========
+
+  This software was written by Vincent Blavet (vincent@phpconcept.net) on its leasure time.
+
+9 - Contribute
+==============
+  If you want to contribute to the development of PclZip, please contact vincent@phpconcept.net.
+  If you can help in financing PhpConcept hosting service, please go to
+  http://www.phpconcept.net/soutien.php

Property changes on: tags/2.8.2/wb/include/pclzip/readme.txt
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/pclzip/pclzip.lib.php
===================================================================
--- tags/2.8.2/wb/include/pclzip/pclzip.lib.php	(nonexistent)
+++ tags/2.8.2/wb/include/pclzip/pclzip.lib.php	(revision 1481)
@@ -0,0 +1,5694 @@
+<?php
+// --------------------------------------------------------------------------------
+// PhpConcept Library - Zip Module 2.8.2
+// --------------------------------------------------------------------------------
+// License GNU/LGPL - Vincent Blavet - August 2009
+// http://www.phpconcept.net
+// --------------------------------------------------------------------------------
+//
+// Presentation :
+//   PclZip is a PHP library that manage ZIP archives.
+//   So far tests show that archives generated by PclZip are readable by
+//   WinZip application and other tools.
+//
+// Description :
+//   See readme.txt and http://www.phpconcept.net
+//
+// Warning :
+//   This library and the associated files are non commercial, non professional
+//   work.
+//   It should not have unexpected results. However if any damage is caused by
+//   this software the author can not be responsible.
+//   The use of this software is at the risk of the user.
+//
+// --------------------------------------------------------------------------------
+// $Id: pclzip.lib.php,v 1.60 2009/09/30 21:01:04 vblavet Exp $
+// --------------------------------------------------------------------------------
+
+  // ----- Constants
+  if (!defined('PCLZIP_READ_BLOCK_SIZE')) {
+    define( 'PCLZIP_READ_BLOCK_SIZE', 2048 );
+  }
+  
+  // ----- File list separator
+  // In version 1.x of PclZip, the separator for file list is a space
+  // (which is not a very smart choice, specifically for windows paths !).
+  // A better separator should be a comma (,). This constant gives you the
+  // abilty to change that.
+  // However notice that changing this value, may have impact on existing
+  // scripts, using space separated filenames.
+  // Recommanded values for compatibility with older versions :
+  //define( 'PCLZIP_SEPARATOR', ' ' );
+  // Recommanded values for smart separation of filenames.
+  if (!defined('PCLZIP_SEPARATOR')) {
+    define( 'PCLZIP_SEPARATOR', ',' );
+  }
+
+  // ----- Error configuration
+  // 0 : PclZip Class integrated error handling
+  // 1 : PclError external library error handling. By enabling this
+  //     you must ensure that you have included PclError library.
+  // [2,...] : reserved for futur use
+  if (!defined('PCLZIP_ERROR_EXTERNAL')) {
+    define( 'PCLZIP_ERROR_EXTERNAL', 0 );
+  }
+
+  // ----- Optional static temporary directory
+  //       By default temporary files are generated in the script current
+  //       path.
+  //       If defined :
+  //       - MUST BE terminated by a '/'.
+  //       - MUST be a valid, already created directory
+  //       Samples :
+  // define( 'PCLZIP_TEMPORARY_DIR', '/temp/' );
+  // define( 'PCLZIP_TEMPORARY_DIR', 'C:/Temp/' );
+  if (!defined('PCLZIP_TEMPORARY_DIR')) {
+    define( 'PCLZIP_TEMPORARY_DIR', '' );
+  }
+
+  // ----- Optional threshold ratio for use of temporary files
+  //       Pclzip sense the size of the file to add/extract and decide to
+  //       use or not temporary file. The algorythm is looking for 
+  //       memory_limit of PHP and apply a ratio.
+  //       threshold = memory_limit * ratio.
+  //       Recommended values are under 0.5. Default 0.47.
+  //       Samples :
+  // define( 'PCLZIP_TEMPORARY_FILE_RATIO', 0.5 );
+  if (!defined('PCLZIP_TEMPORARY_FILE_RATIO')) {
+    define( 'PCLZIP_TEMPORARY_FILE_RATIO', 0.47 );
+  }
+
+// --------------------------------------------------------------------------------
+// ***** UNDER THIS LINE NOTHING NEEDS TO BE MODIFIED *****
+// --------------------------------------------------------------------------------
+
+  // ----- Global variables
+  $g_pclzip_version = "2.8.2";
+
+  // ----- Error codes
+  //   -1 : Unable to open file in binary write mode
+  //   -2 : Unable to open file in binary read mode
+  //   -3 : Invalid parameters
+  //   -4 : File does not exist
+  //   -5 : Filename is too long (max. 255)
+  //   -6 : Not a valid zip file
+  //   -7 : Invalid extracted file size
+  //   -8 : Unable to create directory
+  //   -9 : Invalid archive extension
+  //  -10 : Invalid archive format
+  //  -11 : Unable to delete file (unlink)
+  //  -12 : Unable to rename file (rename)
+  //  -13 : Invalid header checksum
+  //  -14 : Invalid archive size
+  define( 'PCLZIP_ERR_USER_ABORTED', 2 );
+  define( 'PCLZIP_ERR_NO_ERROR', 0 );
+  define( 'PCLZIP_ERR_WRITE_OPEN_FAIL', -1 );
+  define( 'PCLZIP_ERR_READ_OPEN_FAIL', -2 );
+  define( 'PCLZIP_ERR_INVALID_PARAMETER', -3 );
+  define( 'PCLZIP_ERR_MISSING_FILE', -4 );
+  define( 'PCLZIP_ERR_FILENAME_TOO_LONG', -5 );
+  define( 'PCLZIP_ERR_INVALID_ZIP', -6 );
+  define( 'PCLZIP_ERR_BAD_EXTRACTED_FILE', -7 );
+  define( 'PCLZIP_ERR_DIR_CREATE_FAIL', -8 );
+  define( 'PCLZIP_ERR_BAD_EXTENSION', -9 );
+  define( 'PCLZIP_ERR_BAD_FORMAT', -10 );
+  define( 'PCLZIP_ERR_DELETE_FILE_FAIL', -11 );
+  define( 'PCLZIP_ERR_RENAME_FILE_FAIL', -12 );
+  define( 'PCLZIP_ERR_BAD_CHECKSUM', -13 );
+  define( 'PCLZIP_ERR_INVALID_ARCHIVE_ZIP', -14 );
+  define( 'PCLZIP_ERR_MISSING_OPTION_VALUE', -15 );
+  define( 'PCLZIP_ERR_INVALID_OPTION_VALUE', -16 );
+  define( 'PCLZIP_ERR_ALREADY_A_DIRECTORY', -17 );
+  define( 'PCLZIP_ERR_UNSUPPORTED_COMPRESSION', -18 );
+  define( 'PCLZIP_ERR_UNSUPPORTED_ENCRYPTION', -19 );
+  define( 'PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE', -20 );
+  define( 'PCLZIP_ERR_DIRECTORY_RESTRICTION', -21 );
+
+  // ----- Options values
+  define( 'PCLZIP_OPT_PATH', 77001 );
+  define( 'PCLZIP_OPT_ADD_PATH', 77002 );
+  define( 'PCLZIP_OPT_REMOVE_PATH', 77003 );
+  define( 'PCLZIP_OPT_REMOVE_ALL_PATH', 77004 );
+  define( 'PCLZIP_OPT_SET_CHMOD', 77005 );
+  define( 'PCLZIP_OPT_EXTRACT_AS_STRING', 77006 );
+  define( 'PCLZIP_OPT_NO_COMPRESSION', 77007 );
+  define( 'PCLZIP_OPT_BY_NAME', 77008 );
+  define( 'PCLZIP_OPT_BY_INDEX', 77009 );
+  define( 'PCLZIP_OPT_BY_EREG', 77010 );
+  define( 'PCLZIP_OPT_BY_PREG', 77011 );
+  define( 'PCLZIP_OPT_COMMENT', 77012 );
+  define( 'PCLZIP_OPT_ADD_COMMENT', 77013 );
+  define( 'PCLZIP_OPT_PREPEND_COMMENT', 77014 );
+  define( 'PCLZIP_OPT_EXTRACT_IN_OUTPUT', 77015 );
+  define( 'PCLZIP_OPT_REPLACE_NEWER', 77016 );
+  define( 'PCLZIP_OPT_STOP_ON_ERROR', 77017 );
+  // Having big trouble with crypt. Need to multiply 2 long int
+  // which is not correctly supported by PHP ...
+  //define( 'PCLZIP_OPT_CRYPT', 77018 );
+  define( 'PCLZIP_OPT_EXTRACT_DIR_RESTRICTION', 77019 );
+  define( 'PCLZIP_OPT_TEMP_FILE_THRESHOLD', 77020 );
+  define( 'PCLZIP_OPT_ADD_TEMP_FILE_THRESHOLD', 77020 ); // alias
+  define( 'PCLZIP_OPT_TEMP_FILE_ON', 77021 );
+  define( 'PCLZIP_OPT_ADD_TEMP_FILE_ON', 77021 ); // alias
+  define( 'PCLZIP_OPT_TEMP_FILE_OFF', 77022 );
+  define( 'PCLZIP_OPT_ADD_TEMP_FILE_OFF', 77022 ); // alias
+  
+  // ----- File description attributes
+  define( 'PCLZIP_ATT_FILE_NAME', 79001 );
+  define( 'PCLZIP_ATT_FILE_NEW_SHORT_NAME', 79002 );
+  define( 'PCLZIP_ATT_FILE_NEW_FULL_NAME', 79003 );
+  define( 'PCLZIP_ATT_FILE_MTIME', 79004 );
+  define( 'PCLZIP_ATT_FILE_CONTENT', 79005 );
+  define( 'PCLZIP_ATT_FILE_COMMENT', 79006 );
+
+  // ----- Call backs values
+  define( 'PCLZIP_CB_PRE_EXTRACT', 78001 );
+  define( 'PCLZIP_CB_POST_EXTRACT', 78002 );
+  define( 'PCLZIP_CB_PRE_ADD', 78003 );
+  define( 'PCLZIP_CB_POST_ADD', 78004 );
+  /* For futur use
+  define( 'PCLZIP_CB_PRE_LIST', 78005 );
+  define( 'PCLZIP_CB_POST_LIST', 78006 );
+  define( 'PCLZIP_CB_PRE_DELETE', 78007 );
+  define( 'PCLZIP_CB_POST_DELETE', 78008 );
+  */
+
+  // --------------------------------------------------------------------------------
+  // Class : PclZip
+  // Description :
+  //   PclZip is the class that represent a Zip archive.
+  //   The public methods allow the manipulation of the archive.
+  // Attributes :
+  //   Attributes must not be accessed directly.
+  // Methods :
+  //   PclZip() : Object creator
+  //   create() : Creates the Zip archive
+  //   listContent() : List the content of the Zip archive
+  //   extract() : Extract the content of the archive
+  //   properties() : List the properties of the archive
+  // --------------------------------------------------------------------------------
+  class PclZip
+  {
+    // ----- Filename of the zip file
+    var $zipname = '';
+
+    // ----- File descriptor of the zip file
+    var $zip_fd = 0;
+
+    // ----- Internal error handling
+    var $error_code = 1;
+    var $error_string = '';
+    
+    // ----- Current status of the magic_quotes_runtime
+    // This value store the php configuration for magic_quotes
+    // The class can then disable the magic_quotes and reset it after
+    var $magic_quotes_status;
+
+  // --------------------------------------------------------------------------------
+  // Function : PclZip()
+  // Description :
+  //   Creates a PclZip object and set the name of the associated Zip archive
+  //   filename.
+  //   Note that no real action is taken, if the archive does not exist it is not
+  //   created. Use create() for that.
+  // --------------------------------------------------------------------------------
+  function PclZip($p_zipname)
+  {
+
+    // ----- Tests the zlib
+    if (!function_exists('gzopen'))
+    {
+      die('Abort '.basename(__FILE__).' : Missing zlib extensions');
+    }
+
+    // ----- Set the attributes
+    $this->zipname = $p_zipname;
+    $this->zip_fd = 0;
+    $this->magic_quotes_status = -1;
+
+    // ----- Return
+    return;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function :
+  //   create($p_filelist, $p_add_dir="", $p_remove_dir="")
+  //   create($p_filelist, $p_option, $p_option_value, ...)
+  // Description :
+  //   This method supports two different synopsis. The first one is historical.
+  //   This method creates a Zip Archive. The Zip file is created in the
+  //   filesystem. The files and directories indicated in $p_filelist
+  //   are added in the archive. See the parameters description for the
+  //   supported format of $p_filelist.
+  //   When a directory is in the list, the directory and its content is added
+  //   in the archive.
+  //   In this synopsis, the function takes an optional variable list of
+  //   options. See bellow the supported options.
+  // Parameters :
+  //   $p_filelist : An array containing file or directory names, or
+  //                 a string containing one filename or one directory name, or
+  //                 a string containing a list of filenames and/or directory
+  //                 names separated by spaces.
+  //   $p_add_dir : A path to add before the real path of the archived file,
+  //                in order to have it memorized in the archive.
+  //   $p_remove_dir : A path to remove from the real path of the file to archive,
+  //                   in order to have a shorter path memorized in the archive.
+  //                   When $p_add_dir and $p_remove_dir are set, $p_remove_dir
+  //                   is removed first, before $p_add_dir is added.
+  // Options :
+  //   PCLZIP_OPT_ADD_PATH :
+  //   PCLZIP_OPT_REMOVE_PATH :
+  //   PCLZIP_OPT_REMOVE_ALL_PATH :
+  //   PCLZIP_OPT_COMMENT :
+  //   PCLZIP_CB_PRE_ADD :
+  //   PCLZIP_CB_POST_ADD :
+  // Return Values :
+  //   0 on failure,
+  //   The list of the added files, with a status of the add action.
+  //   (see PclZip::listContent() for list entry format)
+  // --------------------------------------------------------------------------------
+  function create($p_filelist)
+  {
+    $v_result=1;
+
+    // ----- Reset the error handler
+    $this->privErrorReset();
+
+    // ----- Set default values
+    $v_options = array();
+    $v_options[PCLZIP_OPT_NO_COMPRESSION] = FALSE;
+
+    // ----- Look for variable options arguments
+    $v_size = func_num_args();
+
+    // ----- Look for arguments
+    if ($v_size > 1) {
+      // ----- Get the arguments
+      $v_arg_list = func_get_args();
+
+      // ----- Remove from the options list the first argument
+      array_shift($v_arg_list);
+      $v_size--;
+
+      // ----- Look for first arg
+      if ((is_integer($v_arg_list[0])) && ($v_arg_list[0] > 77000)) {
+
+        // ----- Parse the options
+        $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options,
+                                            array (PCLZIP_OPT_REMOVE_PATH => 'optional',
+                                                   PCLZIP_OPT_REMOVE_ALL_PATH => 'optional',
+                                                   PCLZIP_OPT_ADD_PATH => 'optional',
+                                                   PCLZIP_CB_PRE_ADD => 'optional',
+                                                   PCLZIP_CB_POST_ADD => 'optional',
+                                                   PCLZIP_OPT_NO_COMPRESSION => 'optional',
+                                                   PCLZIP_OPT_COMMENT => 'optional',
+                                                   PCLZIP_OPT_TEMP_FILE_THRESHOLD => 'optional',
+                                                   PCLZIP_OPT_TEMP_FILE_ON => 'optional',
+                                                   PCLZIP_OPT_TEMP_FILE_OFF => 'optional'
+                                                   //, PCLZIP_OPT_CRYPT => 'optional'
+                                             ));
+        if ($v_result != 1) {
+          return 0;
+        }
+      }
+
+      // ----- Look for 2 args
+      // Here we need to support the first historic synopsis of the
+      // method.
+      else {
+
+        // ----- Get the first argument
+        $v_options[PCLZIP_OPT_ADD_PATH] = $v_arg_list[0];
+
+        // ----- Look for the optional second argument
+        if ($v_size == 2) {
+          $v_options[PCLZIP_OPT_REMOVE_PATH] = $v_arg_list[1];
+        }
+        else if ($v_size > 2) {
+          PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER,
+		                       "Invalid number / type of arguments");
+          return 0;
+        }
+      }
+    }
+    
+    // ----- Look for default option values
+    $this->privOptionDefaultThreshold($v_options);
+
+    // ----- Init
+    $v_string_list = array();
+    $v_att_list = array();
+    $v_filedescr_list = array();
+    $p_result_list = array();
+    
+    // ----- Look if the $p_filelist is really an array
+    if (is_array($p_filelist)) {
+    
+      // ----- Look if the first element is also an array
+      //       This will mean that this is a file description entry
+      if (isset($p_filelist[0]) && is_array($p_filelist[0])) {
+        $v_att_list = $p_filelist;
+      }
+      
+      // ----- The list is a list of string names
+      else {
+        $v_string_list = $p_filelist;
+      }
+    }
+
+    // ----- Look if the $p_filelist is a string
+    else if (is_string($p_filelist)) {
+      // ----- Create a list from the string
+      $v_string_list = explode(PCLZIP_SEPARATOR, $p_filelist);
+    }
+
+    // ----- Invalid variable type for $p_filelist
+    else {
+      PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type p_filelist");
+      return 0;
+    }
+    
+    // ----- Reformat the string list
+    if (sizeof($v_string_list) != 0) {
+      foreach ($v_string_list as $v_string) {
+        if ($v_string != '') {
+          $v_att_list[][PCLZIP_ATT_FILE_NAME] = $v_string;
+        }
+        else {
+        }
+      }
+    }
+    
+    // ----- For each file in the list check the attributes
+    $v_supported_attributes
+    = array ( PCLZIP_ATT_FILE_NAME => 'mandatory'
+             ,PCLZIP_ATT_FILE_NEW_SHORT_NAME => 'optional'
+             ,PCLZIP_ATT_FILE_NEW_FULL_NAME => 'optional'
+             ,PCLZIP_ATT_FILE_MTIME => 'optional'
+             ,PCLZIP_ATT_FILE_CONTENT => 'optional'
+             ,PCLZIP_ATT_FILE_COMMENT => 'optional'
+						);
+    foreach ($v_att_list as $v_entry) {
+      $v_result = $this->privFileDescrParseAtt($v_entry,
+                                               $v_filedescr_list[],
+                                               $v_options,
+                                               $v_supported_attributes);
+      if ($v_result != 1) {
+        return 0;
+      }
+    }
+
+    // ----- Expand the filelist (expand directories)
+    $v_result = $this->privFileDescrExpand($v_filedescr_list, $v_options);
+    if ($v_result != 1) {
+      return 0;
+    }
+
+    // ----- Call the create fct
+    $v_result = $this->privCreate($v_filedescr_list, $p_result_list, $v_options);
+    if ($v_result != 1) {
+      return 0;
+    }
+
+    // ----- Return
+    return $p_result_list;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function :
+  //   add($p_filelist, $p_add_dir="", $p_remove_dir="")
+  //   add($p_filelist, $p_option, $p_option_value, ...)
+  // Description :
+  //   This method supports two synopsis. The first one is historical.
+  //   This methods add the list of files in an existing archive.
+  //   If a file with the same name already exists, it is added at the end of the
+  //   archive, the first one is still present.
+  //   If the archive does not exist, it is created.
+  // Parameters :
+  //   $p_filelist : An array containing file or directory names, or
+  //                 a string containing one filename or one directory name, or
+  //                 a string containing a list of filenames and/or directory
+  //                 names separated by spaces.
+  //   $p_add_dir : A path to add before the real path of the archived file,
+  //                in order to have it memorized in the archive.
+  //   $p_remove_dir : A path to remove from the real path of the file to archive,
+  //                   in order to have a shorter path memorized in the archive.
+  //                   When $p_add_dir and $p_remove_dir are set, $p_remove_dir
+  //                   is removed first, before $p_add_dir is added.
+  // Options :
+  //   PCLZIP_OPT_ADD_PATH :
+  //   PCLZIP_OPT_REMOVE_PATH :
+  //   PCLZIP_OPT_REMOVE_ALL_PATH :
+  //   PCLZIP_OPT_COMMENT :
+  //   PCLZIP_OPT_ADD_COMMENT :
+  //   PCLZIP_OPT_PREPEND_COMMENT :
+  //   PCLZIP_CB_PRE_ADD :
+  //   PCLZIP_CB_POST_ADD :
+  // Return Values :
+  //   0 on failure,
+  //   The list of the added files, with a status of the add action.
+  //   (see PclZip::listContent() for list entry format)
+  // --------------------------------------------------------------------------------
+  function add($p_filelist)
+  {
+    $v_result=1;
+
+    // ----- Reset the error handler
+    $this->privErrorReset();
+
+    // ----- Set default values
+    $v_options = array();
+    $v_options[PCLZIP_OPT_NO_COMPRESSION] = FALSE;
+
+    // ----- Look for variable options arguments
+    $v_size = func_num_args();
+
+    // ----- Look for arguments
+    if ($v_size > 1) {
+      // ----- Get the arguments
+      $v_arg_list = func_get_args();
+
+      // ----- Remove form the options list the first argument
+      array_shift($v_arg_list);
+      $v_size--;
+
+      // ----- Look for first arg
+      if ((is_integer($v_arg_list[0])) && ($v_arg_list[0] > 77000)) {
+
+        // ----- Parse the options
+        $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options,
+                                            array (PCLZIP_OPT_REMOVE_PATH => 'optional',
+                                                   PCLZIP_OPT_REMOVE_ALL_PATH => 'optional',
+                                                   PCLZIP_OPT_ADD_PATH => 'optional',
+                                                   PCLZIP_CB_PRE_ADD => 'optional',
+                                                   PCLZIP_CB_POST_ADD => 'optional',
+                                                   PCLZIP_OPT_NO_COMPRESSION => 'optional',
+                                                   PCLZIP_OPT_COMMENT => 'optional',
+                                                   PCLZIP_OPT_ADD_COMMENT => 'optional',
+                                                   PCLZIP_OPT_PREPEND_COMMENT => 'optional',
+                                                   PCLZIP_OPT_TEMP_FILE_THRESHOLD => 'optional',
+                                                   PCLZIP_OPT_TEMP_FILE_ON => 'optional',
+                                                   PCLZIP_OPT_TEMP_FILE_OFF => 'optional'
+                                                   //, PCLZIP_OPT_CRYPT => 'optional'
+												   ));
+        if ($v_result != 1) {
+          return 0;
+        }
+      }
+
+      // ----- Look for 2 args
+      // Here we need to support the first historic synopsis of the
+      // method.
+      else {
+
+        // ----- Get the first argument
+        $v_options[PCLZIP_OPT_ADD_PATH] = $v_add_path = $v_arg_list[0];
+
+        // ----- Look for the optional second argument
+        if ($v_size == 2) {
+          $v_options[PCLZIP_OPT_REMOVE_PATH] = $v_arg_list[1];
+        }
+        else if ($v_size > 2) {
+          // ----- Error log
+          PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid number / type of arguments");
+
+          // ----- Return
+          return 0;
+        }
+      }
+    }
+
+    // ----- Look for default option values
+    $this->privOptionDefaultThreshold($v_options);
+
+    // ----- Init
+    $v_string_list = array();
+    $v_att_list = array();
+    $v_filedescr_list = array();
+    $p_result_list = array();
+    
+    // ----- Look if the $p_filelist is really an array
+    if (is_array($p_filelist)) {
+    
+      // ----- Look if the first element is also an array
+      //       This will mean that this is a file description entry
+      if (isset($p_filelist[0]) && is_array($p_filelist[0])) {
+        $v_att_list = $p_filelist;
+      }
+      
+      // ----- The list is a list of string names
+      else {
+        $v_string_list = $p_filelist;
+      }
+    }
+
+    // ----- Look if the $p_filelist is a string
+    else if (is_string($p_filelist)) {
+      // ----- Create a list from the string
+      $v_string_list = explode(PCLZIP_SEPARATOR, $p_filelist);
+    }
+
+    // ----- Invalid variable type for $p_filelist
+    else {
+      PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type '".gettype($p_filelist)."' for p_filelist");
+      return 0;
+    }
+    
+    // ----- Reformat the string list
+    if (sizeof($v_string_list) != 0) {
+      foreach ($v_string_list as $v_string) {
+        $v_att_list[][PCLZIP_ATT_FILE_NAME] = $v_string;
+      }
+    }
+    
+    // ----- For each file in the list check the attributes
+    $v_supported_attributes
+    = array ( PCLZIP_ATT_FILE_NAME => 'mandatory'
+             ,PCLZIP_ATT_FILE_NEW_SHORT_NAME => 'optional'
+             ,PCLZIP_ATT_FILE_NEW_FULL_NAME => 'optional'
+             ,PCLZIP_ATT_FILE_MTIME => 'optional'
+             ,PCLZIP_ATT_FILE_CONTENT => 'optional'
+             ,PCLZIP_ATT_FILE_COMMENT => 'optional'
+						);
+    foreach ($v_att_list as $v_entry) {
+      $v_result = $this->privFileDescrParseAtt($v_entry,
+                                               $v_filedescr_list[],
+                                               $v_options,
+                                               $v_supported_attributes);
+      if ($v_result != 1) {
+        return 0;
+      }
+    }
+
+    // ----- Expand the filelist (expand directories)
+    $v_result = $this->privFileDescrExpand($v_filedescr_list, $v_options);
+    if ($v_result != 1) {
+      return 0;
+    }
+
+    // ----- Call the create fct
+    $v_result = $this->privAdd($v_filedescr_list, $p_result_list, $v_options);
+    if ($v_result != 1) {
+      return 0;
+    }
+
+    // ----- Return
+    return $p_result_list;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : listContent()
+  // Description :
+  //   This public method, gives the list of the files and directories, with their
+  //   properties.
+  //   The properties of each entries in the list are (used also in other functions) :
+  //     filename : Name of the file. For a create or add action it is the filename
+  //                given by the user. For an extract function it is the filename
+  //                of the extracted file.
+  //     stored_filename : Name of the file / directory stored in the archive.
+  //     size : Size of the stored file.
+  //     compressed_size : Size of the file's data compressed in the archive
+  //                       (without the headers overhead)
+  //     mtime : Last known modification date of the file (UNIX timestamp)
+  //     comment : Comment associated with the file
+  //     folder : true | false
+  //     index : index of the file in the archive
+  //     status : status of the action (depending of the action) :
+  //              Values are :
+  //                ok : OK !
+  //                filtered : the file / dir is not extracted (filtered by user)
+  //                already_a_directory : the file can not be extracted because a
+  //                                      directory with the same name already exists
+  //                write_protected : the file can not be extracted because a file
+  //                                  with the same name already exists and is
+  //                                  write protected
+  //                newer_exist : the file was not extracted because a newer file exists
+  //                path_creation_fail : the file is not extracted because the folder
+  //                                     does not exist and can not be created
+  //                write_error : the file was not extracted because there was a
+  //                              error while writing the file
+  //                read_error : the file was not extracted because there was a error
+  //                             while reading the file
+  //                invalid_header : the file was not extracted because of an archive
+  //                                 format error (bad file header)
+  //   Note that each time a method can continue operating when there
+  //   is an action error on a file, the error is only logged in the file status.
+  // Return Values :
+  //   0 on an unrecoverable failure,
+  //   The list of the files in the archive.
+  // --------------------------------------------------------------------------------
+  function listContent()
+  {
+    $v_result=1;
+
+    // ----- Reset the error handler
+    $this->privErrorReset();
+
+    // ----- Check archive
+    if (!$this->privCheckFormat()) {
+      return(0);
+    }
+
+    // ----- Call the extracting fct
+    $p_list = array();
+    if (($v_result = $this->privList($p_list)) != 1)
+    {
+      unset($p_list);
+      return(0);
+    }
+
+    // ----- Return
+    return $p_list;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function :
+  //   extract($p_path="./", $p_remove_path="")
+  //   extract([$p_option, $p_option_value, ...])
+  // Description :
+  //   This method supports two synopsis. The first one is historical.
+  //   This method extract all the files / directories from the archive to the
+  //   folder indicated in $p_path.
+  //   If you want to ignore the 'root' part of path of the memorized files
+  //   you can indicate this in the optional $p_remove_path parameter.
+  //   By default, if a newer file with the same name already exists, the
+  //   file is not extracted.
+  //
+  //   If both PCLZIP_OPT_PATH and PCLZIP_OPT_ADD_PATH aoptions
+  //   are used, the path indicated in PCLZIP_OPT_ADD_PATH is append
+  //   at the end of the path value of PCLZIP_OPT_PATH.
+  // Parameters :
+  //   $p_path : Path where the files and directories are to be extracted
+  //   $p_remove_path : First part ('root' part) of the memorized path
+  //                    (if any similar) to remove while extracting.
+  // Options :
+  //   PCLZIP_OPT_PATH :
+  //   PCLZIP_OPT_ADD_PATH :
+  //   PCLZIP_OPT_REMOVE_PATH :
+  //   PCLZIP_OPT_REMOVE_ALL_PATH :
+  //   PCLZIP_CB_PRE_EXTRACT :
+  //   PCLZIP_CB_POST_EXTRACT :
+  // Return Values :
+  //   0 or a negative value on failure,
+  //   The list of the extracted files, with a status of the action.
+  //   (see PclZip::listContent() for list entry format)
+  // --------------------------------------------------------------------------------
+  function extract()
+  {
+    $v_result=1;
+
+    // ----- Reset the error handler
+    $this->privErrorReset();
+
+    // ----- Check archive
+    if (!$this->privCheckFormat()) {
+      return(0);
+    }
+
+    // ----- Set default values
+    $v_options = array();
+//    $v_path = "./";
+    $v_path = '';
+    $v_remove_path = "";
+    $v_remove_all_path = false;
+
+    // ----- Look for variable options arguments
+    $v_size = func_num_args();
+
+    // ----- Default values for option
+    $v_options[PCLZIP_OPT_EXTRACT_AS_STRING] = FALSE;
+
+    // ----- Look for arguments
+    if ($v_size > 0) {
+      // ----- Get the arguments
+      $v_arg_list = func_get_args();
+
+      // ----- Look for first arg
+      if ((is_integer($v_arg_list[0])) && ($v_arg_list[0] > 77000)) {
+
+        // ----- Parse the options
+        $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options,
+                                            array (PCLZIP_OPT_PATH => 'optional',
+                                                   PCLZIP_OPT_REMOVE_PATH => 'optional',
+                                                   PCLZIP_OPT_REMOVE_ALL_PATH => 'optional',
+                                                   PCLZIP_OPT_ADD_PATH => 'optional',
+                                                   PCLZIP_CB_PRE_EXTRACT => 'optional',
+                                                   PCLZIP_CB_POST_EXTRACT => 'optional',
+                                                   PCLZIP_OPT_SET_CHMOD => 'optional',
+                                                   PCLZIP_OPT_BY_NAME => 'optional',
+                                                   PCLZIP_OPT_BY_EREG => 'optional',
+                                                   PCLZIP_OPT_BY_PREG => 'optional',
+                                                   PCLZIP_OPT_BY_INDEX => 'optional',
+                                                   PCLZIP_OPT_EXTRACT_AS_STRING => 'optional',
+                                                   PCLZIP_OPT_EXTRACT_IN_OUTPUT => 'optional',
+                                                   PCLZIP_OPT_REPLACE_NEWER => 'optional'
+                                                   ,PCLZIP_OPT_STOP_ON_ERROR => 'optional'
+                                                   ,PCLZIP_OPT_EXTRACT_DIR_RESTRICTION => 'optional',
+                                                   PCLZIP_OPT_TEMP_FILE_THRESHOLD => 'optional',
+                                                   PCLZIP_OPT_TEMP_FILE_ON => 'optional',
+                                                   PCLZIP_OPT_TEMP_FILE_OFF => 'optional'
+												    ));
+        if ($v_result != 1) {
+          return 0;
+        }
+
+        // ----- Set the arguments
+        if (isset($v_options[PCLZIP_OPT_PATH])) {
+          $v_path = $v_options[PCLZIP_OPT_PATH];
+        }
+        if (isset($v_options[PCLZIP_OPT_REMOVE_PATH])) {
+          $v_remove_path = $v_options[PCLZIP_OPT_REMOVE_PATH];
+        }
+        if (isset($v_options[PCLZIP_OPT_REMOVE_ALL_PATH])) {
+          $v_remove_all_path = $v_options[PCLZIP_OPT_REMOVE_ALL_PATH];
+        }
+        if (isset($v_options[PCLZIP_OPT_ADD_PATH])) {
+          // ----- Check for '/' in last path char
+          if ((strlen($v_path) > 0) && (substr($v_path, -1) != '/')) {
+            $v_path .= '/';
+          }
+          $v_path .= $v_options[PCLZIP_OPT_ADD_PATH];
+        }
+      }
+
+      // ----- Look for 2 args
+      // Here we need to support the first historic synopsis of the
+      // method.
+      else {
+
+        // ----- Get the first argument
+        $v_path = $v_arg_list[0];
+
+        // ----- Look for the optional second argument
+        if ($v_size == 2) {
+          $v_remove_path = $v_arg_list[1];
+        }
+        else if ($v_size > 2) {
+          // ----- Error log
+          PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid number / type of arguments");
+
+          // ----- Return
+          return 0;
+        }
+      }
+    }
+
+    // ----- Look for default option values
+    $this->privOptionDefaultThreshold($v_options);
+
+    // ----- Trace
+
+    // ----- Call the extracting fct
+    $p_list = array();
+    $v_result = $this->privExtractByRule($p_list, $v_path, $v_remove_path,
+	                                     $v_remove_all_path, $v_options);
+    if ($v_result < 1) {
+      unset($p_list);
+      return(0);
+    }
+
+    // ----- Return
+    return $p_list;
+  }
+  // --------------------------------------------------------------------------------
+
+
+  // --------------------------------------------------------------------------------
+  // Function :
+  //   extractByIndex($p_index, $p_path="./", $p_remove_path="")
+  //   extractByIndex($p_index, [$p_option, $p_option_value, ...])
+  // Description :
+  //   This method supports two synopsis. The first one is historical.
+  //   This method is doing a partial extract of the archive.
+  //   The extracted files or folders are identified by their index in the
+  //   archive (from 0 to n).
+  //   Note that if the index identify a folder, only the folder entry is
+  //   extracted, not all the files included in the archive.
+  // Parameters :
+  //   $p_index : A single index (integer) or a string of indexes of files to
+  //              extract. The form of the string is "0,4-6,8-12" with only numbers
+  //              and '-' for range or ',' to separate ranges. No spaces or ';'
+  //              are allowed.
+  //   $p_path : Path where the files and directories are to be extracted
+  //   $p_remove_path : First part ('root' part) of the memorized path
+  //                    (if any similar) to remove while extracting.
+  // Options :
+  //   PCLZIP_OPT_PATH :
+  //   PCLZIP_OPT_ADD_PATH :
+  //   PCLZIP_OPT_REMOVE_PATH :
+  //   PCLZIP_OPT_REMOVE_ALL_PATH :
+  //   PCLZIP_OPT_EXTRACT_AS_STRING : The files are extracted as strings and
+  //     not as files.
+  //     The resulting content is in a new field 'content' in the file
+  //     structure.
+  //     This option must be used alone (any other options are ignored).
+  //   PCLZIP_CB_PRE_EXTRACT :
+  //   PCLZIP_CB_POST_EXTRACT :
+  // Return Values :
+  //   0 on failure,
+  //   The list of the extracted files, with a status of the action.
+  //   (see PclZip::listContent() for list entry format)
+  // --------------------------------------------------------------------------------
+  //function extractByIndex($p_index, options...)
+  function extractByIndex($p_index)
+  {
+    $v_result=1;
+
+    // ----- Reset the error handler
+    $this->privErrorReset();
+
+    // ----- Check archive
+    if (!$this->privCheckFormat()) {
+      return(0);
+    }
+
+    // ----- Set default values
+    $v_options = array();
+//    $v_path = "./";
+    $v_path = '';
+    $v_remove_path = "";
+    $v_remove_all_path = false;
+
+    // ----- Look for variable options arguments
+    $v_size = func_num_args();
+
+    // ----- Default values for option
+    $v_options[PCLZIP_OPT_EXTRACT_AS_STRING] = FALSE;
+
+    // ----- Look for arguments
+    if ($v_size > 1) {
+      // ----- Get the arguments
+      $v_arg_list = func_get_args();
+
+      // ----- Remove form the options list the first argument
+      array_shift($v_arg_list);
+      $v_size--;
+
+      // ----- Look for first arg
+      if ((is_integer($v_arg_list[0])) && ($v_arg_list[0] > 77000)) {
+
+        // ----- Parse the options
+        $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options,
+                                            array (PCLZIP_OPT_PATH => 'optional',
+                                                   PCLZIP_OPT_REMOVE_PATH => 'optional',
+                                                   PCLZIP_OPT_REMOVE_ALL_PATH => 'optional',
+                                                   PCLZIP_OPT_EXTRACT_AS_STRING => 'optional',
+                                                   PCLZIP_OPT_ADD_PATH => 'optional',
+                                                   PCLZIP_CB_PRE_EXTRACT => 'optional',
+                                                   PCLZIP_CB_POST_EXTRACT => 'optional',
+                                                   PCLZIP_OPT_SET_CHMOD => 'optional',
+                                                   PCLZIP_OPT_REPLACE_NEWER => 'optional'
+                                                   ,PCLZIP_OPT_STOP_ON_ERROR => 'optional'
+                                                   ,PCLZIP_OPT_EXTRACT_DIR_RESTRICTION => 'optional',
+                                                   PCLZIP_OPT_TEMP_FILE_THRESHOLD => 'optional',
+                                                   PCLZIP_OPT_TEMP_FILE_ON => 'optional',
+                                                   PCLZIP_OPT_TEMP_FILE_OFF => 'optional'
+												   ));
+        if ($v_result != 1) {
+          return 0;
+        }
+
+        // ----- Set the arguments
+        if (isset($v_options[PCLZIP_OPT_PATH])) {
+          $v_path = $v_options[PCLZIP_OPT_PATH];
+        }
+        if (isset($v_options[PCLZIP_OPT_REMOVE_PATH])) {
+          $v_remove_path = $v_options[PCLZIP_OPT_REMOVE_PATH];
+        }
+        if (isset($v_options[PCLZIP_OPT_REMOVE_ALL_PATH])) {
+          $v_remove_all_path = $v_options[PCLZIP_OPT_REMOVE_ALL_PATH];
+        }
+        if (isset($v_options[PCLZIP_OPT_ADD_PATH])) {
+          // ----- Check for '/' in last path char
+          if ((strlen($v_path) > 0) && (substr($v_path, -1) != '/')) {
+            $v_path .= '/';
+          }
+          $v_path .= $v_options[PCLZIP_OPT_ADD_PATH];
+        }
+        if (!isset($v_options[PCLZIP_OPT_EXTRACT_AS_STRING])) {
+          $v_options[PCLZIP_OPT_EXTRACT_AS_STRING] = FALSE;
+        }
+        else {
+        }
+      }
+
+      // ----- Look for 2 args
+      // Here we need to support the first historic synopsis of the
+      // method.
+      else {
+
+        // ----- Get the first argument
+        $v_path = $v_arg_list[0];
+
+        // ----- Look for the optional second argument
+        if ($v_size == 2) {
+          $v_remove_path = $v_arg_list[1];
+        }
+        else if ($v_size > 2) {
+          // ----- Error log
+          PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid number / type of arguments");
+
+          // ----- Return
+          return 0;
+        }
+      }
+    }
+
+    // ----- Trace
+
+    // ----- Trick
+    // Here I want to reuse extractByRule(), so I need to parse the $p_index
+    // with privParseOptions()
+    $v_arg_trick = array (PCLZIP_OPT_BY_INDEX, $p_index);
+    $v_options_trick = array();
+    $v_result = $this->privParseOptions($v_arg_trick, sizeof($v_arg_trick), $v_options_trick,
+                                        array (PCLZIP_OPT_BY_INDEX => 'optional' ));
+    if ($v_result != 1) {
+        return 0;
+    }
+    $v_options[PCLZIP_OPT_BY_INDEX] = $v_options_trick[PCLZIP_OPT_BY_INDEX];
+
+    // ----- Look for default option values
+    $this->privOptionDefaultThreshold($v_options);
+
+    // ----- Call the extracting fct
+    if (($v_result = $this->privExtractByRule($p_list, $v_path, $v_remove_path, $v_remove_all_path, $v_options)) < 1) {
+        return(0);
+    }
+
+    // ----- Return
+    return $p_list;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function :
+  //   delete([$p_option, $p_option_value, ...])
+  // Description :
+  //   This method removes files from the archive.
+  //   If no parameters are given, then all the archive is emptied.
+  // Parameters :
+  //   None or optional arguments.
+  // Options :
+  //   PCLZIP_OPT_BY_INDEX :
+  //   PCLZIP_OPT_BY_NAME :
+  //   PCLZIP_OPT_BY_EREG : 
+  //   PCLZIP_OPT_BY_PREG :
+  // Return Values :
+  //   0 on failure,
+  //   The list of the files which are still present in the archive.
+  //   (see PclZip::listContent() for list entry format)
+  // --------------------------------------------------------------------------------
+  function delete()
+  {
+    $v_result=1;
+
+    // ----- Reset the error handler
+    $this->privErrorReset();
+
+    // ----- Check archive
+    if (!$this->privCheckFormat()) {
+      return(0);
+    }
+
+    // ----- Set default values
+    $v_options = array();
+
+    // ----- Look for variable options arguments
+    $v_size = func_num_args();
+
+    // ----- Look for arguments
+    if ($v_size > 0) {
+      // ----- Get the arguments
+      $v_arg_list = func_get_args();
+
+      // ----- Parse the options
+      $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options,
+                                        array (PCLZIP_OPT_BY_NAME => 'optional',
+                                               PCLZIP_OPT_BY_EREG => 'optional',
+                                               PCLZIP_OPT_BY_PREG => 'optional',
+                                               PCLZIP_OPT_BY_INDEX => 'optional' ));
+      if ($v_result != 1) {
+          return 0;
+      }
+    }
+
+    // ----- Magic quotes trick
+    $this->privDisableMagicQuotes();
+
+    // ----- Call the delete fct
+    $v_list = array();
+    if (($v_result = $this->privDeleteByRule($v_list, $v_options)) != 1) {
+      $this->privSwapBackMagicQuotes();
+      unset($v_list);
+      return(0);
+    }
+
+    // ----- Magic quotes trick
+    $this->privSwapBackMagicQuotes();
+
+    // ----- Return
+    return $v_list;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : deleteByIndex()
+  // Description :
+  //   ***** Deprecated *****
+  //   delete(PCLZIP_OPT_BY_INDEX, $p_index) should be prefered.
+  // --------------------------------------------------------------------------------
+  function deleteByIndex($p_index)
+  {
+    
+    $p_list = $this->delete(PCLZIP_OPT_BY_INDEX, $p_index);
+
+    // ----- Return
+    return $p_list;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : properties()
+  // Description :
+  //   This method gives the properties of the archive.
+  //   The properties are :
+  //     nb : Number of files in the archive
+  //     comment : Comment associated with the archive file
+  //     status : not_exist, ok
+  // Parameters :
+  //   None
+  // Return Values :
+  //   0 on failure,
+  //   An array with the archive properties.
+  // --------------------------------------------------------------------------------
+  function properties()
+  {
+
+    // ----- Reset the error handler
+    $this->privErrorReset();
+
+    // ----- Magic quotes trick
+    $this->privDisableMagicQuotes();
+
+    // ----- Check archive
+    if (!$this->privCheckFormat()) {
+      $this->privSwapBackMagicQuotes();
+      return(0);
+    }
+
+    // ----- Default properties
+    $v_prop = array();
+    $v_prop['comment'] = '';
+    $v_prop['nb'] = 0;
+    $v_prop['status'] = 'not_exist';
+
+    // ----- Look if file exists
+    if (@is_file($this->zipname))
+    {
+      // ----- Open the zip file
+      if (($this->zip_fd = @fopen($this->zipname, 'rb')) == 0)
+      {
+        $this->privSwapBackMagicQuotes();
+        
+        // ----- Error log
+        PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive \''.$this->zipname.'\' in binary read mode');
+
+        // ----- Return
+        return 0;
+      }
+
+      // ----- Read the central directory informations
+      $v_central_dir = array();
+      if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1)
+      {
+        $this->privSwapBackMagicQuotes();
+        return 0;
+      }
+
+      // ----- Close the zip file
+      $this->privCloseFd();
+
+      // ----- Set the user attributes
+      $v_prop['comment'] = $v_central_dir['comment'];
+      $v_prop['nb'] = $v_central_dir['entries'];
+      $v_prop['status'] = 'ok';
+    }
+
+    // ----- Magic quotes trick
+    $this->privSwapBackMagicQuotes();
+
+    // ----- Return
+    return $v_prop;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : duplicate()
+  // Description :
+  //   This method creates an archive by copying the content of an other one. If
+  //   the archive already exist, it is replaced by the new one without any warning.
+  // Parameters :
+  //   $p_archive : The filename of a valid archive, or
+  //                a valid PclZip object.
+  // Return Values :
+  //   1 on success.
+  //   0 or a negative value on error (error code).
+  // --------------------------------------------------------------------------------
+  function duplicate($p_archive)
+  {
+    $v_result = 1;
+
+    // ----- Reset the error handler
+    $this->privErrorReset();
+
+    // ----- Look if the $p_archive is a PclZip object
+    if ((is_object($p_archive)) && (get_class($p_archive) == 'pclzip'))
+    {
+
+      // ----- Duplicate the archive
+      $v_result = $this->privDuplicate($p_archive->zipname);
+    }
+
+    // ----- Look if the $p_archive is a string (so a filename)
+    else if (is_string($p_archive))
+    {
+
+      // ----- Check that $p_archive is a valid zip file
+      // TBC : Should also check the archive format
+      if (!is_file($p_archive)) {
+        // ----- Error log
+        PclZip::privErrorLog(PCLZIP_ERR_MISSING_FILE, "No file with filename '".$p_archive."'");
+        $v_result = PCLZIP_ERR_MISSING_FILE;
+      }
+      else {
+        // ----- Duplicate the archive
+        $v_result = $this->privDuplicate($p_archive);
+      }
+    }
+
+    // ----- Invalid variable
+    else
+    {
+      // ----- Error log
+      PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type p_archive_to_add");
+      $v_result = PCLZIP_ERR_INVALID_PARAMETER;
+    }
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : merge()
+  // Description :
+  //   This method merge the $p_archive_to_add archive at the end of the current
+  //   one ($this).
+  //   If the archive ($this) does not exist, the merge becomes a duplicate.
+  //   If the $p_archive_to_add archive does not exist, the merge is a success.
+  // Parameters :
+  //   $p_archive_to_add : It can be directly the filename of a valid zip archive,
+  //                       or a PclZip object archive.
+  // Return Values :
+  //   1 on success,
+  //   0 or negative values on error (see below).
+  // --------------------------------------------------------------------------------
+  function merge($p_archive_to_add)
+  {
+    $v_result = 1;
+
+    // ----- Reset the error handler
+    $this->privErrorReset();
+
+    // ----- Check archive
+    if (!$this->privCheckFormat()) {
+      return(0);
+    }
+
+    // ----- Look if the $p_archive_to_add is a PclZip object
+    if ((is_object($p_archive_to_add)) && (get_class($p_archive_to_add) == 'pclzip'))
+    {
+
+      // ----- Merge the archive
+      $v_result = $this->privMerge($p_archive_to_add);
+    }
+
+    // ----- Look if the $p_archive_to_add is a string (so a filename)
+    else if (is_string($p_archive_to_add))
+    {
+
+      // ----- Create a temporary archive
+      $v_object_archive = new PclZip($p_archive_to_add);
+
+      // ----- Merge the archive
+      $v_result = $this->privMerge($v_object_archive);
+    }
+
+    // ----- Invalid variable
+    else
+    {
+      // ----- Error log
+      PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type p_archive_to_add");
+      $v_result = PCLZIP_ERR_INVALID_PARAMETER;
+    }
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+
+
+  // --------------------------------------------------------------------------------
+  // Function : errorCode()
+  // Description :
+  // Parameters :
+  // --------------------------------------------------------------------------------
+  function errorCode()
+  {
+    if (PCLZIP_ERROR_EXTERNAL == 1) {
+      return(PclErrorCode());
+    }
+    else {
+      return($this->error_code);
+    }
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : errorName()
+  // Description :
+  // Parameters :
+  // --------------------------------------------------------------------------------
+  function errorName($p_with_code=false)
+  {
+    $v_name = array ( PCLZIP_ERR_NO_ERROR => 'PCLZIP_ERR_NO_ERROR',
+                      PCLZIP_ERR_WRITE_OPEN_FAIL => 'PCLZIP_ERR_WRITE_OPEN_FAIL',
+                      PCLZIP_ERR_READ_OPEN_FAIL => 'PCLZIP_ERR_READ_OPEN_FAIL',
+                      PCLZIP_ERR_INVALID_PARAMETER => 'PCLZIP_ERR_INVALID_PARAMETER',
+                      PCLZIP_ERR_MISSING_FILE => 'PCLZIP_ERR_MISSING_FILE',
+                      PCLZIP_ERR_FILENAME_TOO_LONG => 'PCLZIP_ERR_FILENAME_TOO_LONG',
+                      PCLZIP_ERR_INVALID_ZIP => 'PCLZIP_ERR_INVALID_ZIP',
+                      PCLZIP_ERR_BAD_EXTRACTED_FILE => 'PCLZIP_ERR_BAD_EXTRACTED_FILE',
+                      PCLZIP_ERR_DIR_CREATE_FAIL => 'PCLZIP_ERR_DIR_CREATE_FAIL',
+                      PCLZIP_ERR_BAD_EXTENSION => 'PCLZIP_ERR_BAD_EXTENSION',
+                      PCLZIP_ERR_BAD_FORMAT => 'PCLZIP_ERR_BAD_FORMAT',
+                      PCLZIP_ERR_DELETE_FILE_FAIL => 'PCLZIP_ERR_DELETE_FILE_FAIL',
+                      PCLZIP_ERR_RENAME_FILE_FAIL => 'PCLZIP_ERR_RENAME_FILE_FAIL',
+                      PCLZIP_ERR_BAD_CHECKSUM => 'PCLZIP_ERR_BAD_CHECKSUM',
+                      PCLZIP_ERR_INVALID_ARCHIVE_ZIP => 'PCLZIP_ERR_INVALID_ARCHIVE_ZIP',
+                      PCLZIP_ERR_MISSING_OPTION_VALUE => 'PCLZIP_ERR_MISSING_OPTION_VALUE',
+                      PCLZIP_ERR_INVALID_OPTION_VALUE => 'PCLZIP_ERR_INVALID_OPTION_VALUE',
+                      PCLZIP_ERR_UNSUPPORTED_COMPRESSION => 'PCLZIP_ERR_UNSUPPORTED_COMPRESSION',
+                      PCLZIP_ERR_UNSUPPORTED_ENCRYPTION => 'PCLZIP_ERR_UNSUPPORTED_ENCRYPTION'
+                      ,PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE => 'PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE'
+                      ,PCLZIP_ERR_DIRECTORY_RESTRICTION => 'PCLZIP_ERR_DIRECTORY_RESTRICTION'
+                    );
+
+    if (isset($v_name[$this->error_code])) {
+      $v_value = $v_name[$this->error_code];
+    }
+    else {
+      $v_value = 'NoName';
+    }
+
+    if ($p_with_code) {
+      return($v_value.' ('.$this->error_code.')');
+    }
+    else {
+      return($v_value);
+    }
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : errorInfo()
+  // Description :
+  // Parameters :
+  // --------------------------------------------------------------------------------
+  function errorInfo($p_full=false)
+  {
+    if (PCLZIP_ERROR_EXTERNAL == 1) {
+      return(PclErrorString());
+    }
+    else {
+      if ($p_full) {
+        return($this->errorName(true)." : ".$this->error_string);
+      }
+      else {
+        return($this->error_string." [code ".$this->error_code."]");
+      }
+    }
+  }
+  // --------------------------------------------------------------------------------
+
+
+// --------------------------------------------------------------------------------
+// ***** UNDER THIS LINE ARE DEFINED PRIVATE INTERNAL FUNCTIONS *****
+// *****                                                        *****
+// *****       THESES FUNCTIONS MUST NOT BE USED DIRECTLY       *****
+// --------------------------------------------------------------------------------
+
+
+
+  // --------------------------------------------------------------------------------
+  // Function : privCheckFormat()
+  // Description :
+  //   This method check that the archive exists and is a valid zip archive.
+  //   Several level of check exists. (futur)
+  // Parameters :
+  //   $p_level : Level of check. Default 0.
+  //              0 : Check the first bytes (magic codes) (default value))
+  //              1 : 0 + Check the central directory (futur)
+  //              2 : 1 + Check each file header (futur)
+  // Return Values :
+  //   true on success,
+  //   false on error, the error code is set.
+  // --------------------------------------------------------------------------------
+  function privCheckFormat($p_level=0)
+  {
+    $v_result = true;
+
+	// ----- Reset the file system cache
+    clearstatcache();
+
+    // ----- Reset the error handler
+    $this->privErrorReset();
+
+    // ----- Look if the file exits
+    if (!is_file($this->zipname)) {
+      // ----- Error log
+      PclZip::privErrorLog(PCLZIP_ERR_MISSING_FILE, "Missing archive file '".$this->zipname."'");
+      return(false);
+    }
+
+    // ----- Check that the file is readeable
+    if (!is_readable($this->zipname)) {
+      // ----- Error log
+      PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, "Unable to read archive '".$this->zipname."'");
+      return(false);
+    }
+
+    // ----- Check the magic code
+    // TBC
+
+    // ----- Check the central header
+    // TBC
+
+    // ----- Check each file header
+    // TBC
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privParseOptions()
+  // Description :
+  //   This internal methods reads the variable list of arguments ($p_options_list,
+  //   $p_size) and generate an array with the options and values ($v_result_list).
+  //   $v_requested_options contains the options that can be present and those that
+  //   must be present.
+  //   $v_requested_options is an array, with the option value as key, and 'optional',
+  //   or 'mandatory' as value.
+  // Parameters :
+  //   See above.
+  // Return Values :
+  //   1 on success.
+  //   0 on failure.
+  // --------------------------------------------------------------------------------
+  function privParseOptions(&$p_options_list, $p_size, &$v_result_list, $v_requested_options=false)
+  {
+    $v_result=1;
+    
+    // ----- Read the options
+    $i=0;
+    while ($i<$p_size) {
+
+      // ----- Check if the option is supported
+      if (!isset($v_requested_options[$p_options_list[$i]])) {
+        // ----- Error log
+        PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid optional parameter '".$p_options_list[$i]."' for this method");
+
+        // ----- Return
+        return PclZip::errorCode();
+      }
+
+      // ----- Look for next option
+      switch ($p_options_list[$i]) {
+        // ----- Look for options that request a path value
+        case PCLZIP_OPT_PATH :
+        case PCLZIP_OPT_REMOVE_PATH :
+        case PCLZIP_OPT_ADD_PATH :
+          // ----- Check the number of parameters
+          if (($i+1) >= $p_size) {
+            // ----- Error log
+            PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'");
+
+            // ----- Return
+            return PclZip::errorCode();
+          }
+
+          // ----- Get the value
+          $v_result_list[$p_options_list[$i]] = PclZipUtilTranslateWinPath($p_options_list[$i+1], FALSE);
+          $i++;
+        break;
+
+        case PCLZIP_OPT_TEMP_FILE_THRESHOLD :
+          // ----- Check the number of parameters
+          if (($i+1) >= $p_size) {
+            PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'");
+            return PclZip::errorCode();
+          }
+          
+          // ----- Check for incompatible options
+          if (isset($v_result_list[PCLZIP_OPT_TEMP_FILE_OFF])) {
+            PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Option '".PclZipUtilOptionText($p_options_list[$i])."' can not be used with option 'PCLZIP_OPT_TEMP_FILE_OFF'");
+            return PclZip::errorCode();
+          }
+          
+          // ----- Check the value
+          $v_value = $p_options_list[$i+1];
+          if ((!is_integer($v_value)) || ($v_value<0)) {
+            PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Integer expected for option '".PclZipUtilOptionText($p_options_list[$i])."'");
+            return PclZip::errorCode();
+          }
+
+          // ----- Get the value (and convert it in bytes)
+          $v_result_list[$p_options_list[$i]] = $v_value*1048576;
+          $i++;
+        break;
+
+        case PCLZIP_OPT_TEMP_FILE_ON :
+          // ----- Check for incompatible options
+          if (isset($v_result_list[PCLZIP_OPT_TEMP_FILE_OFF])) {
+            PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Option '".PclZipUtilOptionText($p_options_list[$i])."' can not be used with option 'PCLZIP_OPT_TEMP_FILE_OFF'");
+            return PclZip::errorCode();
+          }
+          
+          $v_result_list[$p_options_list[$i]] = true;
+        break;
+
+        case PCLZIP_OPT_TEMP_FILE_OFF :
+          // ----- Check for incompatible options
+          if (isset($v_result_list[PCLZIP_OPT_TEMP_FILE_ON])) {
+            PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Option '".PclZipUtilOptionText($p_options_list[$i])."' can not be used with option 'PCLZIP_OPT_TEMP_FILE_ON'");
+            return PclZip::errorCode();
+          }
+          // ----- Check for incompatible options
+          if (isset($v_result_list[PCLZIP_OPT_TEMP_FILE_THRESHOLD])) {
+            PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Option '".PclZipUtilOptionText($p_options_list[$i])."' can not be used with option 'PCLZIP_OPT_TEMP_FILE_THRESHOLD'");
+            return PclZip::errorCode();
+          }
+          
+          $v_result_list[$p_options_list[$i]] = true;
+        break;
+
+        case PCLZIP_OPT_EXTRACT_DIR_RESTRICTION :
+          // ----- Check the number of parameters
+          if (($i+1) >= $p_size) {
+            // ----- Error log
+            PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'");
+
+            // ----- Return
+            return PclZip::errorCode();
+          }
+
+          // ----- Get the value
+          if (   is_string($p_options_list[$i+1])
+              && ($p_options_list[$i+1] != '')) {
+            $v_result_list[$p_options_list[$i]] = PclZipUtilTranslateWinPath($p_options_list[$i+1], FALSE);
+            $i++;
+          }
+          else {
+          }
+        break;
+
+        // ----- Look for options that request an array of string for value
+        case PCLZIP_OPT_BY_NAME :
+          // ----- Check the number of parameters
+          if (($i+1) >= $p_size) {
+            // ----- Error log
+            PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'");
+
+            // ----- Return
+            return PclZip::errorCode();
+          }
+
+          // ----- Get the value
+          if (is_string($p_options_list[$i+1])) {
+              $v_result_list[$p_options_list[$i]][0] = $p_options_list[$i+1];
+          }
+          else if (is_array($p_options_list[$i+1])) {
+              $v_result_list[$p_options_list[$i]] = $p_options_list[$i+1];
+          }
+          else {
+            // ----- Error log
+            PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Wrong parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'");
+
+            // ----- Return
+            return PclZip::errorCode();
+          }
+          $i++;
+        break;
+
+        // ----- Look for options that request an EREG or PREG expression
+        case PCLZIP_OPT_BY_EREG :
+          // ereg() is deprecated starting with PHP 5.3. Move PCLZIP_OPT_BY_EREG
+          // to PCLZIP_OPT_BY_PREG
+          $p_options_list[$i] = PCLZIP_OPT_BY_PREG;
+        case PCLZIP_OPT_BY_PREG :
+        //case PCLZIP_OPT_CRYPT :
+          // ----- Check the number of parameters
+          if (($i+1) >= $p_size) {
+            // ----- Error log
+            PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'");
+
+            // ----- Return
+            return PclZip::errorCode();
+          }
+
+          // ----- Get the value
+          if (is_string($p_options_list[$i+1])) {
+              $v_result_list[$p_options_list[$i]] = $p_options_list[$i+1];
+          }
+          else {
+            // ----- Error log
+            PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Wrong parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'");
+
+            // ----- Return
+            return PclZip::errorCode();
+          }
+          $i++;
+        break;
+
+        // ----- Look for options that takes a string
+        case PCLZIP_OPT_COMMENT :
+        case PCLZIP_OPT_ADD_COMMENT :
+        case PCLZIP_OPT_PREPEND_COMMENT :
+          // ----- Check the number of parameters
+          if (($i+1) >= $p_size) {
+            // ----- Error log
+            PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE,
+			                     "Missing parameter value for option '"
+								 .PclZipUtilOptionText($p_options_list[$i])
+								 ."'");
+
+            // ----- Return
+            return PclZip::errorCode();
+          }
+
+          // ----- Get the value
+          if (is_string($p_options_list[$i+1])) {
+              $v_result_list[$p_options_list[$i]] = $p_options_list[$i+1];
+          }
+          else {
+            // ----- Error log
+            PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE,
+			                     "Wrong parameter value for option '"
+								 .PclZipUtilOptionText($p_options_list[$i])
+								 ."'");
+
+            // ----- Return
+            return PclZip::errorCode();
+          }
+          $i++;
+        break;
+
+        // ----- Look for options that request an array of index
+        case PCLZIP_OPT_BY_INDEX :
+          // ----- Check the number of parameters
+          if (($i+1) >= $p_size) {
+            // ----- Error log
+            PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'");
+
+            // ----- Return
+            return PclZip::errorCode();
+          }
+
+          // ----- Get the value
+          $v_work_list = array();
+          if (is_string($p_options_list[$i+1])) {
+
+              // ----- Remove spaces
+              $p_options_list[$i+1] = strtr($p_options_list[$i+1], ' ', '');
+
+              // ----- Parse items
+              $v_work_list = explode(",", $p_options_list[$i+1]);
+          }
+          else if (is_integer($p_options_list[$i+1])) {
+              $v_work_list[0] = $p_options_list[$i+1].'-'.$p_options_list[$i+1];
+          }
+          else if (is_array($p_options_list[$i+1])) {
+              $v_work_list = $p_options_list[$i+1];
+          }
+          else {
+            // ----- Error log
+            PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Value must be integer, string or array for option '".PclZipUtilOptionText($p_options_list[$i])."'");
+
+            // ----- Return
+            return PclZip::errorCode();
+          }
+          
+          // ----- Reduce the index list
+          // each index item in the list must be a couple with a start and
+          // an end value : [0,3], [5-5], [8-10], ...
+          // ----- Check the format of each item
+          $v_sort_flag=false;
+          $v_sort_value=0;
+          for ($j=0; $j<sizeof($v_work_list); $j++) {
+              // ----- Explode the item
+              $v_item_list = explode("-", $v_work_list[$j]);
+              $v_size_item_list = sizeof($v_item_list);
+              
+              // ----- TBC : Here we might check that each item is a
+              // real integer ...
+              
+              // ----- Look for single value
+              if ($v_size_item_list == 1) {
+                  // ----- Set the option value
+                  $v_result_list[$p_options_list[$i]][$j]['start'] = $v_item_list[0];
+                  $v_result_list[$p_options_list[$i]][$j]['end'] = $v_item_list[0];
+              }
+              elseif ($v_size_item_list == 2) {
+                  // ----- Set the option value
+                  $v_result_list[$p_options_list[$i]][$j]['start'] = $v_item_list[0];
+                  $v_result_list[$p_options_list[$i]][$j]['end'] = $v_item_list[1];
+              }
+              else {
+                  // ----- Error log
+                  PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Too many values in index range for option '".PclZipUtilOptionText($p_options_list[$i])."'");
+
+                  // ----- Return
+                  return PclZip::errorCode();
+              }
+
+
+              // ----- Look for list sort
+              if ($v_result_list[$p_options_list[$i]][$j]['start'] < $v_sort_value) {
+                  $v_sort_flag=true;
+
+                  // ----- TBC : An automatic sort should be writen ...
+                  // ----- Error log
+                  PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Invalid order of index range for option '".PclZipUtilOptionText($p_options_list[$i])."'");
+
+                  // ----- Return
+                  return PclZip::errorCode();
+              }
+              $v_sort_value = $v_result_list[$p_options_list[$i]][$j]['start'];
+          }
+          
+          // ----- Sort the items
+          if ($v_sort_flag) {
+              // TBC : To Be Completed
+          }
+
+          // ----- Next option
+          $i++;
+        break;
+
+        // ----- Look for options that request no value
+        case PCLZIP_OPT_REMOVE_ALL_PATH :
+        case PCLZIP_OPT_EXTRACT_AS_STRING :
+        case PCLZIP_OPT_NO_COMPRESSION :
+        case PCLZIP_OPT_EXTRACT_IN_OUTPUT :
+        case PCLZIP_OPT_REPLACE_NEWER :
+        case PCLZIP_OPT_STOP_ON_ERROR :
+          $v_result_list[$p_options_list[$i]] = true;
+        break;
+
+        // ----- Look for options that request an octal value
+        case PCLZIP_OPT_SET_CHMOD :
+          // ----- Check the number of parameters
+          if (($i+1) >= $p_size) {
+            // ----- Error log
+            PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'");
+
+            // ----- Return
+            return PclZip::errorCode();
+          }
+
+          // ----- Get the value
+          $v_result_list[$p_options_list[$i]] = $p_options_list[$i+1];
+          $i++;
+        break;
+
+        // ----- Look for options that request a call-back
+        case PCLZIP_CB_PRE_EXTRACT :
+        case PCLZIP_CB_POST_EXTRACT :
+        case PCLZIP_CB_PRE_ADD :
+        case PCLZIP_CB_POST_ADD :
+        /* for futur use
+        case PCLZIP_CB_PRE_DELETE :
+        case PCLZIP_CB_POST_DELETE :
+        case PCLZIP_CB_PRE_LIST :
+        case PCLZIP_CB_POST_LIST :
+        */
+          // ----- Check the number of parameters
+          if (($i+1) >= $p_size) {
+            // ----- Error log
+            PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'");
+
+            // ----- Return
+            return PclZip::errorCode();
+          }
+
+          // ----- Get the value
+          $v_function_name = $p_options_list[$i+1];
+
+          // ----- Check that the value is a valid existing function
+          if (!function_exists($v_function_name)) {
+            // ----- Error log
+            PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Function '".$v_function_name."()' is not an existing function for option '".PclZipUtilOptionText($p_options_list[$i])."'");
+
+            // ----- Return
+            return PclZip::errorCode();
+          }
+
+          // ----- Set the attribute
+          $v_result_list[$p_options_list[$i]] = $v_function_name;
+          $i++;
+        break;
+
+        default :
+          // ----- Error log
+          PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER,
+		                       "Unknown parameter '"
+							   .$p_options_list[$i]."'");
+
+          // ----- Return
+          return PclZip::errorCode();
+      }
+
+      // ----- Next options
+      $i++;
+    }
+
+    // ----- Look for mandatory options
+    if ($v_requested_options !== false) {
+      for ($key=reset($v_requested_options); $key=key($v_requested_options); $key=next($v_requested_options)) {
+        // ----- Look for mandatory option
+        if ($v_requested_options[$key] == 'mandatory') {
+          // ----- Look if present
+          if (!isset($v_result_list[$key])) {
+            // ----- Error log
+            PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Missing mandatory parameter ".PclZipUtilOptionText($key)."(".$key.")");
+
+            // ----- Return
+            return PclZip::errorCode();
+          }
+        }
+      }
+    }
+    
+    // ----- Look for default values
+    if (!isset($v_result_list[PCLZIP_OPT_TEMP_FILE_THRESHOLD])) {
+      
+    }
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privOptionDefaultThreshold()
+  // Description :
+  // Parameters :
+  // Return Values :
+  // --------------------------------------------------------------------------------
+  function privOptionDefaultThreshold(&$p_options)
+  {
+    $v_result=1;
+    
+    if (isset($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD])
+        || isset($p_options[PCLZIP_OPT_TEMP_FILE_OFF])) {
+      return $v_result;
+    }
+    
+    // ----- Get 'memory_limit' configuration value
+    $v_memory_limit = ini_get('memory_limit');
+    $v_memory_limit = trim($v_memory_limit);
+    $last = strtolower(substr($v_memory_limit, -1));
+ 
+    if($last == 'g')
+        //$v_memory_limit = $v_memory_limit*1024*1024*1024;
+        $v_memory_limit = $v_memory_limit*1073741824;
+    if($last == 'm')
+        //$v_memory_limit = $v_memory_limit*1024*1024;
+        $v_memory_limit = $v_memory_limit*1048576;
+    if($last == 'k')
+        $v_memory_limit = $v_memory_limit*1024;
+            
+    $p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD] = floor($v_memory_limit*PCLZIP_TEMPORARY_FILE_RATIO);
+    
+
+    // ----- Sanity check : No threshold if value lower than 1M
+    if ($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD] < 1048576) {
+      unset($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD]);
+    }
+          
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privFileDescrParseAtt()
+  // Description :
+  // Parameters :
+  // Return Values :
+  //   1 on success.
+  //   0 on failure.
+  // --------------------------------------------------------------------------------
+  function privFileDescrParseAtt(&$p_file_list, &$p_filedescr, $v_options, $v_requested_options=false)
+  {
+    $v_result=1;
+    
+    // ----- For each file in the list check the attributes
+    foreach ($p_file_list as $v_key => $v_value) {
+    
+      // ----- Check if the option is supported
+      if (!isset($v_requested_options[$v_key])) {
+        // ----- Error log
+        PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid file attribute '".$v_key."' for this file");
+
+        // ----- Return
+        return PclZip::errorCode();
+      }
+
+      // ----- Look for attribute
+      switch ($v_key) {
+        case PCLZIP_ATT_FILE_NAME :
+          if (!is_string($v_value)) {
+            PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". String expected for attribute '".PclZipUtilOptionText($v_key)."'");
+            return PclZip::errorCode();
+          }
+
+          $p_filedescr['filename'] = PclZipUtilPathReduction($v_value);
+          
+          if ($p_filedescr['filename'] == '') {
+            PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid empty filename for attribute '".PclZipUtilOptionText($v_key)."'");
+            return PclZip::errorCode();
+          }
+
+        break;
+
+        case PCLZIP_ATT_FILE_NEW_SHORT_NAME :
+          if (!is_string($v_value)) {
+            PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". String expected for attribute '".PclZipUtilOptionText($v_key)."'");
+            return PclZip::errorCode();
+          }
+
+          $p_filedescr['new_short_name'] = PclZipUtilPathReduction($v_value);
+
+          if ($p_filedescr['new_short_name'] == '') {
+            PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid empty short filename for attribute '".PclZipUtilOptionText($v_key)."'");
+            return PclZip::errorCode();
+          }
+        break;
+
+        case PCLZIP_ATT_FILE_NEW_FULL_NAME :
+          if (!is_string($v_value)) {
+            PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". String expected for attribute '".PclZipUtilOptionText($v_key)."'");
+            return PclZip::errorCode();
+          }
+
+          $p_filedescr['new_full_name'] = PclZipUtilPathReduction($v_value);
+
+          if ($p_filedescr['new_full_name'] == '') {
+            PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid empty full filename for attribute '".PclZipUtilOptionText($v_key)."'");
+            return PclZip::errorCode();
+          }
+        break;
+
+        // ----- Look for options that takes a string
+        case PCLZIP_ATT_FILE_COMMENT :
+          if (!is_string($v_value)) {
+            PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". String expected for attribute '".PclZipUtilOptionText($v_key)."'");
+            return PclZip::errorCode();
+          }
+
+          $p_filedescr['comment'] = $v_value;
+        break;
+
+        case PCLZIP_ATT_FILE_MTIME :
+          if (!is_integer($v_value)) {
+            PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". Integer expected for attribute '".PclZipUtilOptionText($v_key)."'");
+            return PclZip::errorCode();
+          }
+
+          $p_filedescr['mtime'] = $v_value;
+        break;
+
+        case PCLZIP_ATT_FILE_CONTENT :
+          $p_filedescr['content'] = $v_value;
+        break;
+
+        default :
+          // ----- Error log
+          PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER,
+		                           "Unknown parameter '".$v_key."'");
+
+          // ----- Return
+          return PclZip::errorCode();
+      }
+
+      // ----- Look for mandatory options
+      if ($v_requested_options !== false) {
+        for ($key=reset($v_requested_options); $key=key($v_requested_options); $key=next($v_requested_options)) {
+          // ----- Look for mandatory option
+          if ($v_requested_options[$key] == 'mandatory') {
+            // ----- Look if present
+            if (!isset($p_file_list[$key])) {
+              PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Missing mandatory parameter ".PclZipUtilOptionText($key)."(".$key.")");
+              return PclZip::errorCode();
+            }
+          }
+        }
+      }
+    
+    // end foreach
+    }
+    
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privFileDescrExpand()
+  // Description :
+  //   This method look for each item of the list to see if its a file, a folder
+  //   or a string to be added as file. For any other type of files (link, other)
+  //   just ignore the item.
+  //   Then prepare the information that will be stored for that file.
+  //   When its a folder, expand the folder with all the files that are in that 
+  //   folder (recursively).
+  // Parameters :
+  // Return Values :
+  //   1 on success.
+  //   0 on failure.
+  // --------------------------------------------------------------------------------
+  function privFileDescrExpand(&$p_filedescr_list, &$p_options)
+  {
+    $v_result=1;
+    
+    // ----- Create a result list
+    $v_result_list = array();
+    
+    // ----- Look each entry
+    for ($i=0; $i<sizeof($p_filedescr_list); $i++) {
+      
+      // ----- Get filedescr
+      $v_descr = $p_filedescr_list[$i];
+      
+      // ----- Reduce the filename
+      $v_descr['filename'] = PclZipUtilTranslateWinPath($v_descr['filename'], false);
+      $v_descr['filename'] = PclZipUtilPathReduction($v_descr['filename']);
+      
+      // ----- Look for real file or folder
+      if (file_exists($v_descr['filename'])) {
+        if (@is_file($v_descr['filename'])) {
+          $v_descr['type'] = 'file';
+        }
+        else if (@is_dir($v_descr['filename'])) {
+          $v_descr['type'] = 'folder';
+        }
+        else if (@is_link($v_descr['filename'])) {
+          // skip
+          continue;
+        }
+        else {
+          // skip
+          continue;
+        }
+      }
+      
+      // ----- Look for string added as file
+      else if (isset($v_descr['content'])) {
+        $v_descr['type'] = 'virtual_file';
+      }
+      
+      // ----- Missing file
+      else {
+        // ----- Error log
+        PclZip::privErrorLog(PCLZIP_ERR_MISSING_FILE, "File '".$v_descr['filename']."' does not exist");
+
+        // ----- Return
+        return PclZip::errorCode();
+      }
+      
+      // ----- Calculate the stored filename
+      $this->privCalculateStoredFilename($v_descr, $p_options);
+      
+      // ----- Add the descriptor in result list
+      $v_result_list[sizeof($v_result_list)] = $v_descr;
+      
+      // ----- Look for folder
+      if ($v_descr['type'] == 'folder') {
+        // ----- List of items in folder
+        $v_dirlist_descr = array();
+        $v_dirlist_nb = 0;
+        if ($v_folder_handler = @opendir($v_descr['filename'])) {
+          while (($v_item_handler = @readdir($v_folder_handler)) !== false) {
+
+            // ----- Skip '.' and '..'
+            if (($v_item_handler == '.') || ($v_item_handler == '..')) {
+                continue;
+            }
+            
+            // ----- Compose the full filename
+            $v_dirlist_descr[$v_dirlist_nb]['filename'] = $v_descr['filename'].'/'.$v_item_handler;
+            
+            // ----- Look for different stored filename
+            // Because the name of the folder was changed, the name of the
+            // files/sub-folders also change
+            if (($v_descr['stored_filename'] != $v_descr['filename'])
+                 && (!isset($p_options[PCLZIP_OPT_REMOVE_ALL_PATH]))) {
+              if ($v_descr['stored_filename'] != '') {
+                $v_dirlist_descr[$v_dirlist_nb]['new_full_name'] = $v_descr['stored_filename'].'/'.$v_item_handler;
+              }
+              else {
+                $v_dirlist_descr[$v_dirlist_nb]['new_full_name'] = $v_item_handler;
+              }
+            }
+      
+            $v_dirlist_nb++;
+          }
+          
+          @closedir($v_folder_handler);
+        }
+        else {
+          // TBC : unable to open folder in read mode
+        }
+        
+        // ----- Expand each element of the list
+        if ($v_dirlist_nb != 0) {
+          // ----- Expand
+          if (($v_result = $this->privFileDescrExpand($v_dirlist_descr, $p_options)) != 1) {
+            return $v_result;
+          }
+          
+          // ----- Concat the resulting list
+          $v_result_list = array_merge($v_result_list, $v_dirlist_descr);
+        }
+        else {
+        }
+          
+        // ----- Free local array
+        unset($v_dirlist_descr);
+      }
+    }
+    
+    // ----- Get the result list
+    $p_filedescr_list = $v_result_list;
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privCreate()
+  // Description :
+  // Parameters :
+  // Return Values :
+  // --------------------------------------------------------------------------------
+  function privCreate($p_filedescr_list, &$p_result_list, &$p_options)
+  {
+    $v_result=1;
+    $v_list_detail = array();
+    
+    // ----- Magic quotes trick
+    $this->privDisableMagicQuotes();
+
+    // ----- Open the file in write mode
+    if (($v_result = $this->privOpenFd('wb')) != 1)
+    {
+      // ----- Return
+      return $v_result;
+    }
+
+    // ----- Add the list of files
+    $v_result = $this->privAddList($p_filedescr_list, $p_result_list, $p_options);
+
+    // ----- Close
+    $this->privCloseFd();
+
+    // ----- Magic quotes trick
+    $this->privSwapBackMagicQuotes();
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privAdd()
+  // Description :
+  // Parameters :
+  // Return Values :
+  // --------------------------------------------------------------------------------
+  function privAdd($p_filedescr_list, &$p_result_list, &$p_options)
+  {
+    $v_result=1;
+    $v_list_detail = array();
+
+    // ----- Look if the archive exists or is empty
+    if ((!is_file($this->zipname)) || (filesize($this->zipname) == 0))
+    {
+
+      // ----- Do a create
+      $v_result = $this->privCreate($p_filedescr_list, $p_result_list, $p_options);
+
+      // ----- Return
+      return $v_result;
+    }
+    // ----- Magic quotes trick
+    $this->privDisableMagicQuotes();
+
+    // ----- Open the zip file
+    if (($v_result=$this->privOpenFd('rb')) != 1)
+    {
+      // ----- Magic quotes trick
+      $this->privSwapBackMagicQuotes();
+
+      // ----- Return
+      return $v_result;
+    }
+
+    // ----- Read the central directory informations
+    $v_central_dir = array();
+    if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1)
+    {
+      $this->privCloseFd();
+      $this->privSwapBackMagicQuotes();
+      return $v_result;
+    }
+
+    // ----- Go to beginning of File
+    @rewind($this->zip_fd);
+
+    // ----- Creates a temporay file
+    $v_zip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.tmp';
+
+    // ----- Open the temporary file in write mode
+    if (($v_zip_temp_fd = @fopen($v_zip_temp_name, 'wb')) == 0)
+    {
+      $this->privCloseFd();
+      $this->privSwapBackMagicQuotes();
+
+      PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_zip_temp_name.'\' in binary write mode');
+
+      // ----- Return
+      return PclZip::errorCode();
+    }
+
+    // ----- Copy the files from the archive to the temporary file
+    // TBC : Here I should better append the file and go back to erase the central dir
+    $v_size = $v_central_dir['offset'];
+    while ($v_size != 0)
+    {
+      $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE);
+      $v_buffer = fread($this->zip_fd, $v_read_size);
+      @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size);
+      $v_size -= $v_read_size;
+    }
+
+    // ----- Swap the file descriptor
+    // Here is a trick : I swap the temporary fd with the zip fd, in order to use
+    // the following methods on the temporary fil and not the real archive
+    $v_swap = $this->zip_fd;
+    $this->zip_fd = $v_zip_temp_fd;
+    $v_zip_temp_fd = $v_swap;
+
+    // ----- Add the files
+    $v_header_list = array();
+    if (($v_result = $this->privAddFileList($p_filedescr_list, $v_header_list, $p_options)) != 1)
+    {
+      fclose($v_zip_temp_fd);
+      $this->privCloseFd();
+      @unlink($v_zip_temp_name);
+      $this->privSwapBackMagicQuotes();
+
+      // ----- Return
+      return $v_result;
+    }
+
+    // ----- Store the offset of the central dir
+    $v_offset = @ftell($this->zip_fd);
+
+    // ----- Copy the block of file headers from the old archive
+    $v_size = $v_central_dir['size'];
+    while ($v_size != 0)
+    {
+      $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE);
+      $v_buffer = @fread($v_zip_temp_fd, $v_read_size);
+      @fwrite($this->zip_fd, $v_buffer, $v_read_size);
+      $v_size -= $v_read_size;
+    }
+
+    // ----- Create the Central Dir files header
+    for ($i=0, $v_count=0; $i<sizeof($v_header_list); $i++)
+    {
+      // ----- Create the file header
+      if ($v_header_list[$i]['status'] == 'ok') {
+        if (($v_result = $this->privWriteCentralFileHeader($v_header_list[$i])) != 1) {
+          fclose($v_zip_temp_fd);
+          $this->privCloseFd();
+          @unlink($v_zip_temp_name);
+          $this->privSwapBackMagicQuotes();
+
+          // ----- Return
+          return $v_result;
+        }
+        $v_count++;
+      }
+
+      // ----- Transform the header to a 'usable' info
+      $this->privConvertHeader2FileInfo($v_header_list[$i], $p_result_list[$i]);
+    }
+
+    // ----- Zip file comment
+    $v_comment = $v_central_dir['comment'];
+    if (isset($p_options[PCLZIP_OPT_COMMENT])) {
+      $v_comment = $p_options[PCLZIP_OPT_COMMENT];
+    }
+    if (isset($p_options[PCLZIP_OPT_ADD_COMMENT])) {
+      $v_comment = $v_comment.$p_options[PCLZIP_OPT_ADD_COMMENT];
+    }
+    if (isset($p_options[PCLZIP_OPT_PREPEND_COMMENT])) {
+      $v_comment = $p_options[PCLZIP_OPT_PREPEND_COMMENT].$v_comment;
+    }
+
+    // ----- Calculate the size of the central header
+    $v_size = @ftell($this->zip_fd)-$v_offset;
+
+    // ----- Create the central dir footer
+    if (($v_result = $this->privWriteCentralHeader($v_count+$v_central_dir['entries'], $v_size, $v_offset, $v_comment)) != 1)
+    {
+      // ----- Reset the file list
+      unset($v_header_list);
+      $this->privSwapBackMagicQuotes();
+
+      // ----- Return
+      return $v_result;
+    }
+
+    // ----- Swap back the file descriptor
+    $v_swap = $this->zip_fd;
+    $this->zip_fd = $v_zip_temp_fd;
+    $v_zip_temp_fd = $v_swap;
+
+    // ----- Close
+    $this->privCloseFd();
+
+    // ----- Close the temporary file
+    @fclose($v_zip_temp_fd);
+
+    // ----- Magic quotes trick
+    $this->privSwapBackMagicQuotes();
+
+    // ----- Delete the zip file
+    // TBC : I should test the result ...
+    @unlink($this->zipname);
+
+    // ----- Rename the temporary file
+    // TBC : I should test the result ...
+    //@rename($v_zip_temp_name, $this->zipname);
+    PclZipUtilRename($v_zip_temp_name, $this->zipname);
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privOpenFd()
+  // Description :
+  // Parameters :
+  // --------------------------------------------------------------------------------
+  function privOpenFd($p_mode)
+  {
+    $v_result=1;
+
+    // ----- Look if already open
+    if ($this->zip_fd != 0)
+    {
+      // ----- Error log
+      PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Zip file \''.$this->zipname.'\' already open');
+
+      // ----- Return
+      return PclZip::errorCode();
+    }
+
+    // ----- Open the zip file
+    if (($this->zip_fd = @fopen($this->zipname, $p_mode)) == 0)
+    {
+      // ----- Error log
+      PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive \''.$this->zipname.'\' in '.$p_mode.' mode');
+
+      // ----- Return
+      return PclZip::errorCode();
+    }
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privCloseFd()
+  // Description :
+  // Parameters :
+  // --------------------------------------------------------------------------------
+  function privCloseFd()
+  {
+    $v_result=1;
+
+    if ($this->zip_fd != 0)
+      @fclose($this->zip_fd);
+    $this->zip_fd = 0;
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privAddList()
+  // Description :
+  //   $p_add_dir and $p_remove_dir will give the ability to memorize a path which is
+  //   different from the real path of the file. This is usefull if you want to have PclTar
+  //   running in any directory, and memorize relative path from an other directory.
+  // Parameters :
+  //   $p_list : An array containing the file or directory names to add in the tar
+  //   $p_result_list : list of added files with their properties (specially the status field)
+  //   $p_add_dir : Path to add in the filename path archived
+  //   $p_remove_dir : Path to remove in the filename path archived
+  // Return Values :
+  // --------------------------------------------------------------------------------
+//  function privAddList($p_list, &$p_result_list, $p_add_dir, $p_remove_dir, $p_remove_all_dir, &$p_options)
+  function privAddList($p_filedescr_list, &$p_result_list, &$p_options)
+  {
+    $v_result=1;
+
+    // ----- Add the files
+    $v_header_list = array();
+    if (($v_result = $this->privAddFileList($p_filedescr_list, $v_header_list, $p_options)) != 1)
+    {
+      // ----- Return
+      return $v_result;
+    }
+
+    // ----- Store the offset of the central dir
+    $v_offset = @ftell($this->zip_fd);
+
+    // ----- Create the Central Dir files header
+    for ($i=0,$v_count=0; $i<sizeof($v_header_list); $i++)
+    {
+      // ----- Create the file header
+      if ($v_header_list[$i]['status'] == 'ok') {
+        if (($v_result = $this->privWriteCentralFileHeader($v_header_list[$i])) != 1) {
+          // ----- Return
+          return $v_result;
+        }
+        $v_count++;
+      }
+
+      // ----- Transform the header to a 'usable' info
+      $this->privConvertHeader2FileInfo($v_header_list[$i], $p_result_list[$i]);
+    }
+
+    // ----- Zip file comment
+    $v_comment = '';
+    if (isset($p_options[PCLZIP_OPT_COMMENT])) {
+      $v_comment = $p_options[PCLZIP_OPT_COMMENT];
+    }
+
+    // ----- Calculate the size of the central header
+    $v_size = @ftell($this->zip_fd)-$v_offset;
+
+    // ----- Create the central dir footer
+    if (($v_result = $this->privWriteCentralHeader($v_count, $v_size, $v_offset, $v_comment)) != 1)
+    {
+      // ----- Reset the file list
+      unset($v_header_list);
+
+      // ----- Return
+      return $v_result;
+    }
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privAddFileList()
+  // Description :
+  // Parameters :
+  //   $p_filedescr_list : An array containing the file description 
+  //                      or directory names to add in the zip
+  //   $p_result_list : list of added files with their properties (specially the status field)
+  // Return Values :
+  // --------------------------------------------------------------------------------
+  function privAddFileList($p_filedescr_list, &$p_result_list, &$p_options)
+  {
+    $v_result=1;
+    $v_header = array();
+
+    // ----- Recuperate the current number of elt in list
+    $v_nb = sizeof($p_result_list);
+
+    // ----- Loop on the files
+    for ($j=0; ($j<sizeof($p_filedescr_list)) && ($v_result==1); $j++) {
+      // ----- Format the filename
+      $p_filedescr_list[$j]['filename']
+      = PclZipUtilTranslateWinPath($p_filedescr_list[$j]['filename'], false);
+      
+
+      // ----- Skip empty file names
+      // TBC : Can this be possible ? not checked in DescrParseAtt ?
+      if ($p_filedescr_list[$j]['filename'] == "") {
+        continue;
+      }
+
+      // ----- Check the filename
+      if (   ($p_filedescr_list[$j]['type'] != 'virtual_file')
+          && (!file_exists($p_filedescr_list[$j]['filename']))) {
+        PclZip::privErrorLog(PCLZIP_ERR_MISSING_FILE, "File '".$p_filedescr_list[$j]['filename']."' does not exist");
+        return PclZip::errorCode();
+      }
+
+      // ----- Look if it is a file or a dir with no all path remove option
+      // or a dir with all its path removed
+//      if (   (is_file($p_filedescr_list[$j]['filename']))
+//          || (   is_dir($p_filedescr_list[$j]['filename'])
+      if (   ($p_filedescr_list[$j]['type'] == 'file')
+          || ($p_filedescr_list[$j]['type'] == 'virtual_file')
+          || (   ($p_filedescr_list[$j]['type'] == 'folder')
+              && (   !isset($p_options[PCLZIP_OPT_REMOVE_ALL_PATH])
+                  || !$p_options[PCLZIP_OPT_REMOVE_ALL_PATH]))
+          ) {
+
+        // ----- Add the file
+        $v_result = $this->privAddFile($p_filedescr_list[$j], $v_header,
+                                       $p_options);
+        if ($v_result != 1) {
+          return $v_result;
+        }
+
+        // ----- Store the file infos
+        $p_result_list[$v_nb++] = $v_header;
+      }
+    }
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privAddFile()
+  // Description :
+  // Parameters :
+  // Return Values :
+  // --------------------------------------------------------------------------------
+  function privAddFile($p_filedescr, &$p_header, &$p_options)
+  {
+    $v_result=1;
+    
+    // ----- Working variable
+    $p_filename = $p_filedescr['filename'];
+
+    // TBC : Already done in the fileAtt check ... ?
+    if ($p_filename == "") {
+      // ----- Error log
+      PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid file list parameter (invalid or empty list)");
+
+      // ----- Return
+      return PclZip::errorCode();
+    }
+  
+    // ----- Look for a stored different filename 
+    /* TBC : Removed
+    if (isset($p_filedescr['stored_filename'])) {
+      $v_stored_filename = $p_filedescr['stored_filename'];
+    }
+    else {
+      $v_stored_filename = $p_filedescr['stored_filename'];
+    }
+    */
+
+    // ----- Set the file properties
+    clearstatcache();
+    $p_header['version'] = 20;
+    $p_header['version_extracted'] = 10;
+    $p_header['flag'] = 0;
+    $p_header['compression'] = 0;
+    $p_header['crc'] = 0;
+    $p_header['compressed_size'] = 0;
+    $p_header['filename_len'] = strlen($p_filename);
+    $p_header['extra_len'] = 0;
+    $p_header['disk'] = 0;
+    $p_header['internal'] = 0;
+    $p_header['offset'] = 0;
+    $p_header['filename'] = $p_filename;
+// TBC : Removed    $p_header['stored_filename'] = $v_stored_filename;
+    $p_header['stored_filename'] = $p_filedescr['stored_filename'];
+    $p_header['extra'] = '';
+    $p_header['status'] = 'ok';
+    $p_header['index'] = -1;
+
+    // ----- Look for regular file
+    if ($p_filedescr['type']=='file') {
+      $p_header['external'] = 0x00000000;
+      $p_header['size'] = filesize($p_filename);
+    }
+    
+    // ----- Look for regular folder
+    else if ($p_filedescr['type']=='folder') {
+      $p_header['external'] = 0x00000010;
+      $p_header['mtime'] = filemtime($p_filename);
+      $p_header['size'] = filesize($p_filename);
+    }
+    
+    // ----- Look for virtual file
+    else if ($p_filedescr['type'] == 'virtual_file') {
+      $p_header['external'] = 0x00000000;
+      $p_header['size'] = strlen($p_filedescr['content']);
+    }
+    
+
+    // ----- Look for filetime
+    if (isset($p_filedescr['mtime'])) {
+      $p_header['mtime'] = $p_filedescr['mtime'];
+    }
+    else if ($p_filedescr['type'] == 'virtual_file') {
+      $p_header['mtime'] = time();
+    }
+    else {
+      $p_header['mtime'] = filemtime($p_filename);
+    }
+
+    // ------ Look for file comment
+    if (isset($p_filedescr['comment'])) {
+      $p_header['comment_len'] = strlen($p_filedescr['comment']);
+      $p_header['comment'] = $p_filedescr['comment'];
+    }
+    else {
+      $p_header['comment_len'] = 0;
+      $p_header['comment'] = '';
+    }
+
+    // ----- Look for pre-add callback
+    if (isset($p_options[PCLZIP_CB_PRE_ADD])) {
+
+      // ----- Generate a local information
+      $v_local_header = array();
+      $this->privConvertHeader2FileInfo($p_header, $v_local_header);
+
+      // ----- Call the callback
+      // Here I do not use call_user_func() because I need to send a reference to the
+      // header.
+//      eval('$v_result = '.$p_options[PCLZIP_CB_PRE_ADD].'(PCLZIP_CB_PRE_ADD, $v_local_header);');
+      $v_result = $p_options[PCLZIP_CB_PRE_ADD](PCLZIP_CB_PRE_ADD, $v_local_header);
+      if ($v_result == 0) {
+        // ----- Change the file status
+        $p_header['status'] = "skipped";
+        $v_result = 1;
+      }
+
+      // ----- Update the informations
+      // Only some fields can be modified
+      if ($p_header['stored_filename'] != $v_local_header['stored_filename']) {
+        $p_header['stored_filename'] = PclZipUtilPathReduction($v_local_header['stored_filename']);
+      }
+    }
+
+    // ----- Look for empty stored filename
+    if ($p_header['stored_filename'] == "") {
+      $p_header['status'] = "filtered";
+    }
+    
+    // ----- Check the path length
+    if (strlen($p_header['stored_filename']) > 0xFF) {
+      $p_header['status'] = 'filename_too_long';
+    }
+
+    // ----- Look if no error, or file not skipped
+    if ($p_header['status'] == 'ok') {
+
+      // ----- Look for a file
+      if ($p_filedescr['type'] == 'file') {
+        // ----- Look for using temporary file to zip
+        if ( (!isset($p_options[PCLZIP_OPT_TEMP_FILE_OFF])) 
+            && (isset($p_options[PCLZIP_OPT_TEMP_FILE_ON])
+                || (isset($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD])
+                    && ($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD] <= $p_header['size'])) ) ) {
+          $v_result = $this->privAddFileUsingTempFile($p_filedescr, $p_header, $p_options);
+          if ($v_result < PCLZIP_ERR_NO_ERROR) {
+            return $v_result;
+          }
+        }
+        
+        // ----- Use "in memory" zip algo
+        else {
+
+        // ----- Open the source file
+        if (($v_file = @fopen($p_filename, "rb")) == 0) {
+          PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, "Unable to open file '$p_filename' in binary read mode");
+          return PclZip::errorCode();
+        }
+
+        // ----- Read the file content
+        $v_content = @fread($v_file, $p_header['size']);
+
+        // ----- Close the file
+        @fclose($v_file);
+
+        // ----- Calculate the CRC
+        $p_header['crc'] = @crc32($v_content);
+        
+        // ----- Look for no compression
+        if ($p_options[PCLZIP_OPT_NO_COMPRESSION]) {
+          // ----- Set header parameters
+          $p_header['compressed_size'] = $p_header['size'];
+          $p_header['compression'] = 0;
+        }
+        
+        // ----- Look for normal compression
+        else {
+          // ----- Compress the content
+          $v_content = @gzdeflate($v_content);
+
+          // ----- Set header parameters
+          $p_header['compressed_size'] = strlen($v_content);
+          $p_header['compression'] = 8;
+        }
+        
+        // ----- Call the header generation
+        if (($v_result = $this->privWriteFileHeader($p_header)) != 1) {
+          @fclose($v_file);
+          return $v_result;
+        }
+
+        // ----- Write the compressed (or not) content
+        @fwrite($this->zip_fd, $v_content, $p_header['compressed_size']);
+
+        }
+
+      }
+
+      // ----- Look for a virtual file (a file from string)
+      else if ($p_filedescr['type'] == 'virtual_file') {
+          
+        $v_content = $p_filedescr['content'];
+
+        // ----- Calculate the CRC
+        $p_header['crc'] = @crc32($v_content);
+        
+        // ----- Look for no compression
+        if ($p_options[PCLZIP_OPT_NO_COMPRESSION]) {
+          // ----- Set header parameters
+          $p_header['compressed_size'] = $p_header['size'];
+          $p_header['compression'] = 0;
+        }
+        
+        // ----- Look for normal compression
+        else {
+          // ----- Compress the content
+          $v_content = @gzdeflate($v_content);
+
+          // ----- Set header parameters
+          $p_header['compressed_size'] = strlen($v_content);
+          $p_header['compression'] = 8;
+        }
+        
+        // ----- Call the header generation
+        if (($v_result = $this->privWriteFileHeader($p_header)) != 1) {
+          @fclose($v_file);
+          return $v_result;
+        }
+
+        // ----- Write the compressed (or not) content
+        @fwrite($this->zip_fd, $v_content, $p_header['compressed_size']);
+      }
+
+      // ----- Look for a directory
+      else if ($p_filedescr['type'] == 'folder') {
+        // ----- Look for directory last '/'
+        if (@substr($p_header['stored_filename'], -1) != '/') {
+          $p_header['stored_filename'] .= '/';
+        }
+
+        // ----- Set the file properties
+        $p_header['size'] = 0;
+        //$p_header['external'] = 0x41FF0010;   // Value for a folder : to be checked
+        $p_header['external'] = 0x00000010;   // Value for a folder : to be checked
+
+        // ----- Call the header generation
+        if (($v_result = $this->privWriteFileHeader($p_header)) != 1)
+        {
+          return $v_result;
+        }
+      }
+    }
+
+    // ----- Look for post-add callback
+    if (isset($p_options[PCLZIP_CB_POST_ADD])) {
+
+      // ----- Generate a local information
+      $v_local_header = array();
+      $this->privConvertHeader2FileInfo($p_header, $v_local_header);
+
+      // ----- Call the callback
+      // Here I do not use call_user_func() because I need to send a reference to the
+      // header.
+//      eval('$v_result = '.$p_options[PCLZIP_CB_POST_ADD].'(PCLZIP_CB_POST_ADD, $v_local_header);');
+      $v_result = $p_options[PCLZIP_CB_POST_ADD](PCLZIP_CB_POST_ADD, $v_local_header);
+      if ($v_result == 0) {
+        // ----- Ignored
+        $v_result = 1;
+      }
+
+      // ----- Update the informations
+      // Nothing can be modified
+    }
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privAddFileUsingTempFile()
+  // Description :
+  // Parameters :
+  // Return Values :
+  // --------------------------------------------------------------------------------
+  function privAddFileUsingTempFile($p_filedescr, &$p_header, &$p_options)
+  {
+    $v_result=PCLZIP_ERR_NO_ERROR;
+    
+    // ----- Working variable
+    $p_filename = $p_filedescr['filename'];
+
+
+    // ----- Open the source file
+    if (($v_file = @fopen($p_filename, "rb")) == 0) {
+      PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, "Unable to open file '$p_filename' in binary read mode");
+      return PclZip::errorCode();
+    }
+
+    // ----- Creates a compressed temporary file
+    $v_gzip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.gz';
+    if (($v_file_compressed = @gzopen($v_gzip_temp_name, "wb")) == 0) {
+      fclose($v_file);
+      PclZip::privErrorLog(PCLZIP_ERR_WRITE_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary write mode');
+      return PclZip::errorCode();
+    }
+
+    // ----- Read the file by PCLZIP_READ_BLOCK_SIZE octets blocks
+    $v_size = filesize($p_filename);
+    while ($v_size != 0) {
+      $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE);
+      $v_buffer = @fread($v_file, $v_read_size);
+      //$v_binary_data = pack('a'.$v_read_size, $v_buffer);
+      @gzputs($v_file_compressed, $v_buffer, $v_read_size);
+      $v_size -= $v_read_size;
+    }
+
+    // ----- Close the file
+    @fclose($v_file);
+    @gzclose($v_file_compressed);
+
+    // ----- Check the minimum file size
+    if (filesize($v_gzip_temp_name) < 18) {
+      PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'gzip temporary file \''.$v_gzip_temp_name.'\' has invalid filesize - should be minimum 18 bytes');
+      return PclZip::errorCode();
+    }
+
+    // ----- Extract the compressed attributes
+    if (($v_file_compressed = @fopen($v_gzip_temp_name, "rb")) == 0) {
+      PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary read mode');
+      return PclZip::errorCode();
+    }
+
+    // ----- Read the gzip file header
+    $v_binary_data = @fread($v_file_compressed, 10);
+    $v_data_header = unpack('a1id1/a1id2/a1cm/a1flag/Vmtime/a1xfl/a1os', $v_binary_data);
+
+    // ----- Check some parameters
+    $v_data_header['os'] = bin2hex($v_data_header['os']);
+
+    // ----- Read the gzip file footer
+    @fseek($v_file_compressed, filesize($v_gzip_temp_name)-8);
+    $v_binary_data = @fread($v_file_compressed, 8);
+    $v_data_footer = unpack('Vcrc/Vcompressed_size', $v_binary_data);
+
+    // ----- Set the attributes
+    $p_header['compression'] = ord($v_data_header['cm']);
+    //$p_header['mtime'] = $v_data_header['mtime'];
+    $p_header['crc'] = $v_data_footer['crc'];
+    $p_header['compressed_size'] = filesize($v_gzip_temp_name)-18;
+
+    // ----- Close the file
+    @fclose($v_file_compressed);
+
+    // ----- Call the header generation
+    if (($v_result = $this->privWriteFileHeader($p_header)) != 1) {
+      return $v_result;
+    }
+
+    // ----- Add the compressed data
+    if (($v_file_compressed = @fopen($v_gzip_temp_name, "rb")) == 0)
+    {
+      PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary read mode');
+      return PclZip::errorCode();
+    }
+
+    // ----- Read the file by PCLZIP_READ_BLOCK_SIZE octets blocks
+    fseek($v_file_compressed, 10);
+    $v_size = $p_header['compressed_size'];
+    while ($v_size != 0)
+    {
+      $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE);
+      $v_buffer = @fread($v_file_compressed, $v_read_size);
+      //$v_binary_data = pack('a'.$v_read_size, $v_buffer);
+      @fwrite($this->zip_fd, $v_buffer, $v_read_size);
+      $v_size -= $v_read_size;
+    }
+
+    // ----- Close the file
+    @fclose($v_file_compressed);
+
+    // ----- Unlink the temporary file
+    @unlink($v_gzip_temp_name);
+    
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privCalculateStoredFilename()
+  // Description :
+  //   Based on file descriptor properties and global options, this method
+  //   calculate the filename that will be stored in the archive.
+  // Parameters :
+  // Return Values :
+  // --------------------------------------------------------------------------------
+  function privCalculateStoredFilename(&$p_filedescr, &$p_options)
+  {
+    $v_result=1;
+    
+    // ----- Working variables
+    $p_filename = $p_filedescr['filename'];
+    if (isset($p_options[PCLZIP_OPT_ADD_PATH])) {
+      $p_add_dir = $p_options[PCLZIP_OPT_ADD_PATH];
+    }
+    else {
+      $p_add_dir = '';
+    }
+    if (isset($p_options[PCLZIP_OPT_REMOVE_PATH])) {
+      $p_remove_dir = $p_options[PCLZIP_OPT_REMOVE_PATH];
+    }
+    else {
+      $p_remove_dir = '';
+    }
+    if (isset($p_options[PCLZIP_OPT_REMOVE_ALL_PATH])) {
+      $p_remove_all_dir = $p_options[PCLZIP_OPT_REMOVE_ALL_PATH];
+    }
+    else {
+      $p_remove_all_dir = 0;
+    }
+
+
+    // ----- Look for full name change
+    if (isset($p_filedescr['new_full_name'])) {
+      // ----- Remove drive letter if any
+      $v_stored_filename = PclZipUtilTranslateWinPath($p_filedescr['new_full_name']);
+    }
+    
+    // ----- Look for path and/or short name change
+    else {
+
+      // ----- Look for short name change
+      // Its when we cahnge just the filename but not the path
+      if (isset($p_filedescr['new_short_name'])) {
+        $v_path_info = pathinfo($p_filename);
+        $v_dir = '';
+        if ($v_path_info['dirname'] != '') {
+          $v_dir = $v_path_info['dirname'].'/';
+        }
+        $v_stored_filename = $v_dir.$p_filedescr['new_short_name'];
+      }
+      else {
+        // ----- Calculate the stored filename
+        $v_stored_filename = $p_filename;
+      }
+
+      // ----- Look for all path to remove
+      if ($p_remove_all_dir) {
+        $v_stored_filename = basename($p_filename);
+      }
+      // ----- Look for partial path remove
+      else if ($p_remove_dir != "") {
+        if (substr($p_remove_dir, -1) != '/')
+          $p_remove_dir .= "/";
+
+        if (   (substr($p_filename, 0, 2) == "./")
+            || (substr($p_remove_dir, 0, 2) == "./")) {
+            
+          if (   (substr($p_filename, 0, 2) == "./")
+              && (substr($p_remove_dir, 0, 2) != "./")) {
+            $p_remove_dir = "./".$p_remove_dir;
+          }
+          if (   (substr($p_filename, 0, 2) != "./")
+              && (substr($p_remove_dir, 0, 2) == "./")) {
+            $p_remove_dir = substr($p_remove_dir, 2);
+          }
+        }
+
+        $v_compare = PclZipUtilPathInclusion($p_remove_dir,
+                                             $v_stored_filename);
+        if ($v_compare > 0) {
+          if ($v_compare == 2) {
+            $v_stored_filename = "";
+          }
+          else {
+            $v_stored_filename = substr($v_stored_filename,
+                                        strlen($p_remove_dir));
+          }
+        }
+      }
+      
+      // ----- Remove drive letter if any
+      $v_stored_filename = PclZipUtilTranslateWinPath($v_stored_filename);
+      
+      // ----- Look for path to add
+      if ($p_add_dir != "") {
+        if (substr($p_add_dir, -1) == "/")
+          $v_stored_filename = $p_add_dir.$v_stored_filename;
+        else
+          $v_stored_filename = $p_add_dir."/".$v_stored_filename;
+      }
+    }
+
+    // ----- Filename (reduce the path of stored name)
+    $v_stored_filename = PclZipUtilPathReduction($v_stored_filename);
+    $p_filedescr['stored_filename'] = $v_stored_filename;
+    
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privWriteFileHeader()
+  // Description :
+  // Parameters :
+  // Return Values :
+  // --------------------------------------------------------------------------------
+  function privWriteFileHeader(&$p_header)
+  {
+    $v_result=1;
+
+    // ----- Store the offset position of the file
+    $p_header['offset'] = ftell($this->zip_fd);
+
+    // ----- Transform UNIX mtime to DOS format mdate/mtime
+    $v_date = getdate($p_header['mtime']);
+    $v_mtime = ($v_date['hours']<<11) + ($v_date['minutes']<<5) + $v_date['seconds']/2;
+    $v_mdate = (($v_date['year']-1980)<<9) + ($v_date['mon']<<5) + $v_date['mday'];
+
+    // ----- Packed data
+    $v_binary_data = pack("VvvvvvVVVvv", 0x04034b50,
+	                      $p_header['version_extracted'], $p_header['flag'],
+                          $p_header['compression'], $v_mtime, $v_mdate,
+                          $p_header['crc'], $p_header['compressed_size'],
+						  $p_header['size'],
+                          strlen($p_header['stored_filename']),
+						  $p_header['extra_len']);
+
+    // ----- Write the first 148 bytes of the header in the archive
+    fputs($this->zip_fd, $v_binary_data, 30);
+
+    // ----- Write the variable fields
+    if (strlen($p_header['stored_filename']) != 0)
+    {
+      fputs($this->zip_fd, $p_header['stored_filename'], strlen($p_header['stored_filename']));
+    }
+    if ($p_header['extra_len'] != 0)
+    {
+      fputs($this->zip_fd, $p_header['extra'], $p_header['extra_len']);
+    }
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privWriteCentralFileHeader()
+  // Description :
+  // Parameters :
+  // Return Values :
+  // --------------------------------------------------------------------------------
+  function privWriteCentralFileHeader(&$p_header)
+  {
+    $v_result=1;
+
+    // TBC
+    //for(reset($p_header); $key = key($p_header); next($p_header)) {
+    //}
+
+    // ----- Transform UNIX mtime to DOS format mdate/mtime
+    $v_date = getdate($p_header['mtime']);
+    $v_mtime = ($v_date['hours']<<11) + ($v_date['minutes']<<5) + $v_date['seconds']/2;
+    $v_mdate = (($v_date['year']-1980)<<9) + ($v_date['mon']<<5) + $v_date['mday'];
+
+
+    // ----- Packed data
+    $v_binary_data = pack("VvvvvvvVVVvvvvvVV", 0x02014b50,
+	                      $p_header['version'], $p_header['version_extracted'],
+                          $p_header['flag'], $p_header['compression'],
+						  $v_mtime, $v_mdate, $p_header['crc'],
+                          $p_header['compressed_size'], $p_header['size'],
+                          strlen($p_header['stored_filename']),
+						  $p_header['extra_len'], $p_header['comment_len'],
+                          $p_header['disk'], $p_header['internal'],
+						  $p_header['external'], $p_header['offset']);
+
+    // ----- Write the 42 bytes of the header in the zip file
+    fputs($this->zip_fd, $v_binary_data, 46);
+
+    // ----- Write the variable fields
+    if (strlen($p_header['stored_filename']) != 0)
+    {
+      fputs($this->zip_fd, $p_header['stored_filename'], strlen($p_header['stored_filename']));
+    }
+    if ($p_header['extra_len'] != 0)
+    {
+      fputs($this->zip_fd, $p_header['extra'], $p_header['extra_len']);
+    }
+    if ($p_header['comment_len'] != 0)
+    {
+      fputs($this->zip_fd, $p_header['comment'], $p_header['comment_len']);
+    }
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privWriteCentralHeader()
+  // Description :
+  // Parameters :
+  // Return Values :
+  // --------------------------------------------------------------------------------
+  function privWriteCentralHeader($p_nb_entries, $p_size, $p_offset, $p_comment)
+  {
+    $v_result=1;
+
+    // ----- Packed data
+    $v_binary_data = pack("VvvvvVVv", 0x06054b50, 0, 0, $p_nb_entries,
+	                      $p_nb_entries, $p_size,
+						  $p_offset, strlen($p_comment));
+
+    // ----- Write the 22 bytes of the header in the zip file
+    fputs($this->zip_fd, $v_binary_data, 22);
+
+    // ----- Write the variable fields
+    if (strlen($p_comment) != 0)
+    {
+      fputs($this->zip_fd, $p_comment, strlen($p_comment));
+    }
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privList()
+  // Description :
+  // Parameters :
+  // Return Values :
+  // --------------------------------------------------------------------------------
+  function privList(&$p_list)
+  {
+    $v_result=1;
+
+    // ----- Magic quotes trick
+    $this->privDisableMagicQuotes();
+
+    // ----- Open the zip file
+    if (($this->zip_fd = @fopen($this->zipname, 'rb')) == 0)
+    {
+      // ----- Magic quotes trick
+      $this->privSwapBackMagicQuotes();
+      
+      // ----- Error log
+      PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive \''.$this->zipname.'\' in binary read mode');
+
+      // ----- Return
+      return PclZip::errorCode();
+    }
+
+    // ----- Read the central directory informations
+    $v_central_dir = array();
+    if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1)
+    {
+      $this->privSwapBackMagicQuotes();
+      return $v_result;
+    }
+
+    // ----- Go to beginning of Central Dir
+    @rewind($this->zip_fd);
+    if (@fseek($this->zip_fd, $v_central_dir['offset']))
+    {
+      $this->privSwapBackMagicQuotes();
+
+      // ----- Error log
+      PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size');
+
+      // ----- Return
+      return PclZip::errorCode();
+    }
+
+    // ----- Read each entry
+    for ($i=0; $i<$v_central_dir['entries']; $i++)
+    {
+      // ----- Read the file header
+      if (($v_result = $this->privReadCentralFileHeader($v_header)) != 1)
+      {
+        $this->privSwapBackMagicQuotes();
+        return $v_result;
+      }
+      $v_header['index'] = $i;
+
+      // ----- Get the only interesting attributes
+      $this->privConvertHeader2FileInfo($v_header, $p_list[$i]);
+      unset($v_header);
+    }
+
+    // ----- Close the zip file
+    $this->privCloseFd();
+
+    // ----- Magic quotes trick
+    $this->privSwapBackMagicQuotes();
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privConvertHeader2FileInfo()
+  // Description :
+  //   This function takes the file informations from the central directory
+  //   entries and extract the interesting parameters that will be given back.
+  //   The resulting file infos are set in the array $p_info
+  //     $p_info['filename'] : Filename with full path. Given by user (add),
+  //                           extracted in the filesystem (extract).
+  //     $p_info['stored_filename'] : Stored filename in the archive.
+  //     $p_info['size'] = Size of the file.
+  //     $p_info['compressed_size'] = Compressed size of the file.
+  //     $p_info['mtime'] = Last modification date of the file.
+  //     $p_info['comment'] = Comment associated with the file.
+  //     $p_info['folder'] = true/false : indicates if the entry is a folder or not.
+  //     $p_info['status'] = status of the action on the file.
+  //     $p_info['crc'] = CRC of the file content.
+  // Parameters :
+  // Return Values :
+  // --------------------------------------------------------------------------------
+  function privConvertHeader2FileInfo($p_header, &$p_info)
+  {
+    $v_result=1;
+
+    // ----- Get the interesting attributes
+    $v_temp_path = PclZipUtilPathReduction($p_header['filename']);
+    $p_info['filename'] = $v_temp_path;
+    $v_temp_path = PclZipUtilPathReduction($p_header['stored_filename']);
+    $p_info['stored_filename'] = $v_temp_path;
+    $p_info['size'] = $p_header['size'];
+    $p_info['compressed_size'] = $p_header['compressed_size'];
+    $p_info['mtime'] = $p_header['mtime'];
+    $p_info['comment'] = $p_header['comment'];
+    $p_info['folder'] = (($p_header['external']&0x00000010)==0x00000010);
+    $p_info['index'] = $p_header['index'];
+    $p_info['status'] = $p_header['status'];
+    $p_info['crc'] = $p_header['crc'];
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privExtractByRule()
+  // Description :
+  //   Extract a file or directory depending of rules (by index, by name, ...)
+  // Parameters :
+  //   $p_file_list : An array where will be placed the properties of each
+  //                  extracted file
+  //   $p_path : Path to add while writing the extracted files
+  //   $p_remove_path : Path to remove (from the file memorized path) while writing the
+  //                    extracted files. If the path does not match the file path,
+  //                    the file is extracted with its memorized path.
+  //                    $p_remove_path does not apply to 'list' mode.
+  //                    $p_path and $p_remove_path are commulative.
+  // Return Values :
+  //   1 on success,0 or less on error (see error code list)
+  // --------------------------------------------------------------------------------
+  function privExtractByRule(&$p_file_list, $p_path, $p_remove_path, $p_remove_all_path, &$p_options)
+  {
+    $v_result=1;
+
+    // ----- Magic quotes trick
+    $this->privDisableMagicQuotes();
+
+    // ----- Check the path
+    if (   ($p_path == "")
+	    || (   (substr($p_path, 0, 1) != "/")
+		    && (substr($p_path, 0, 3) != "../")
+			&& (substr($p_path,1,2)!=":/")))
+      $p_path = "./".$p_path;
+
+    // ----- Reduce the path last (and duplicated) '/'
+    if (($p_path != "./") && ($p_path != "/"))
+    {
+      // ----- Look for the path end '/'
+      while (substr($p_path, -1) == "/")
+      {
+        $p_path = substr($p_path, 0, strlen($p_path)-1);
+      }
+    }
+
+    // ----- Look for path to remove format (should end by /)
+    if (($p_remove_path != "") && (substr($p_remove_path, -1) != '/'))
+    {
+      $p_remove_path .= '/';
+    }
+    $p_remove_path_size = strlen($p_remove_path);
+
+    // ----- Open the zip file
+    if (($v_result = $this->privOpenFd('rb')) != 1)
+    {
+      $this->privSwapBackMagicQuotes();
+      return $v_result;
+    }
+
+    // ----- Read the central directory informations
+    $v_central_dir = array();
+    if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1)
+    {
+      // ----- Close the zip file
+      $this->privCloseFd();
+      $this->privSwapBackMagicQuotes();
+
+      return $v_result;
+    }
+
+    // ----- Start at beginning of Central Dir
+    $v_pos_entry = $v_central_dir['offset'];
+
+    // ----- Read each entry
+    $j_start = 0;
+    for ($i=0, $v_nb_extracted=0; $i<$v_central_dir['entries']; $i++)
+    {
+
+      // ----- Read next Central dir entry
+      @rewind($this->zip_fd);
+      if (@fseek($this->zip_fd, $v_pos_entry))
+      {
+        // ----- Close the zip file
+        $this->privCloseFd();
+        $this->privSwapBackMagicQuotes();
+
+        // ----- Error log
+        PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size');
+
+        // ----- Return
+        return PclZip::errorCode();
+      }
+
+      // ----- Read the file header
+      $v_header = array();
+      if (($v_result = $this->privReadCentralFileHeader($v_header)) != 1)
+      {
+        // ----- Close the zip file
+        $this->privCloseFd();
+        $this->privSwapBackMagicQuotes();
+
+        return $v_result;
+      }
+
+      // ----- Store the index
+      $v_header['index'] = $i;
+
+      // ----- Store the file position
+      $v_pos_entry = ftell($this->zip_fd);
+
+      // ----- Look for the specific extract rules
+      $v_extract = false;
+
+      // ----- Look for extract by name rule
+      if (   (isset($p_options[PCLZIP_OPT_BY_NAME]))
+          && ($p_options[PCLZIP_OPT_BY_NAME] != 0)) {
+
+          // ----- Look if the filename is in the list
+          for ($j=0; ($j<sizeof($p_options[PCLZIP_OPT_BY_NAME])) && (!$v_extract); $j++) {
+
+              // ----- Look for a directory
+              if (substr($p_options[PCLZIP_OPT_BY_NAME][$j], -1) == "/") {
+
+                  // ----- Look if the directory is in the filename path
+                  if (   (strlen($v_header['stored_filename']) > strlen($p_options[PCLZIP_OPT_BY_NAME][$j]))
+                      && (substr($v_header['stored_filename'], 0, strlen($p_options[PCLZIP_OPT_BY_NAME][$j])) == $p_options[PCLZIP_OPT_BY_NAME][$j])) {
+                      $v_extract = true;
+                  }
+              }
+              // ----- Look for a filename
+              elseif ($v_header['stored_filename'] == $p_options[PCLZIP_OPT_BY_NAME][$j]) {
+                  $v_extract = true;
+              }
+          }
+      }
+
+      // ----- Look for extract by ereg rule
+      // ereg() is deprecated with PHP 5.3
+      /* 
+      else if (   (isset($p_options[PCLZIP_OPT_BY_EREG]))
+               && ($p_options[PCLZIP_OPT_BY_EREG] != "")) {
+
+          if (ereg($p_options[PCLZIP_OPT_BY_EREG], $v_header['stored_filename'])) {
+              $v_extract = true;
+          }
+      }
+      */
+
+      // ----- Look for extract by preg rule
+      else if (   (isset($p_options[PCLZIP_OPT_BY_PREG]))
+               && ($p_options[PCLZIP_OPT_BY_PREG] != "")) {
+
+          if (preg_match($p_options[PCLZIP_OPT_BY_PREG], $v_header['stored_filename'])) {
+              $v_extract = true;
+          }
+      }
+
+      // ----- Look for extract by index rule
+      else if (   (isset($p_options[PCLZIP_OPT_BY_INDEX]))
+               && ($p_options[PCLZIP_OPT_BY_INDEX] != 0)) {
+          
+          // ----- Look if the index is in the list
+          for ($j=$j_start; ($j<sizeof($p_options[PCLZIP_OPT_BY_INDEX])) && (!$v_extract); $j++) {
+
+              if (($i>=$p_options[PCLZIP_OPT_BY_INDEX][$j]['start']) && ($i<=$p_options[PCLZIP_OPT_BY_INDEX][$j]['end'])) {
+                  $v_extract = true;
+              }
+              if ($i>=$p_options[PCLZIP_OPT_BY_INDEX][$j]['end']) {
+                  $j_start = $j+1;
+              }
+
+              if ($p_options[PCLZIP_OPT_BY_INDEX][$j]['start']>$i) {
+                  break;
+              }
+          }
+      }
+
+      // ----- Look for no rule, which means extract all the archive
+      else {
+          $v_extract = true;
+      }
+
+	  // ----- Check compression method
+	  if (   ($v_extract)
+	      && (   ($v_header['compression'] != 8)
+		      && ($v_header['compression'] != 0))) {
+          $v_header['status'] = 'unsupported_compression';
+
+          // ----- Look for PCLZIP_OPT_STOP_ON_ERROR
+          if (   (isset($p_options[PCLZIP_OPT_STOP_ON_ERROR]))
+		      && ($p_options[PCLZIP_OPT_STOP_ON_ERROR]===true)) {
+
+              $this->privSwapBackMagicQuotes();
+              
+              PclZip::privErrorLog(PCLZIP_ERR_UNSUPPORTED_COMPRESSION,
+			                       "Filename '".$v_header['stored_filename']."' is "
+				  	    	  	   ."compressed by an unsupported compression "
+				  	    	  	   ."method (".$v_header['compression'].") ");
+
+              return PclZip::errorCode();
+		  }
+	  }
+	  
+	  // ----- Check encrypted files
+	  if (($v_extract) && (($v_header['flag'] & 1) == 1)) {
+          $v_header['status'] = 'unsupported_encryption';
+
+          // ----- Look for PCLZIP_OPT_STOP_ON_ERROR
+          if (   (isset($p_options[PCLZIP_OPT_STOP_ON_ERROR]))
+		      && ($p_options[PCLZIP_OPT_STOP_ON_ERROR]===true)) {
+
+              $this->privSwapBackMagicQuotes();
+
+              PclZip::privErrorLog(PCLZIP_ERR_UNSUPPORTED_ENCRYPTION,
+			                       "Unsupported encryption for "
+				  	    	  	   ." filename '".$v_header['stored_filename']
+								   ."'");
+
+              return PclZip::errorCode();
+		  }
+    }
+
+      // ----- Look for real extraction
+      if (($v_extract) && ($v_header['status'] != 'ok')) {
+          $v_result = $this->privConvertHeader2FileInfo($v_header,
+		                                        $p_file_list[$v_nb_extracted++]);
+          if ($v_result != 1) {
+              $this->privCloseFd();
+              $this->privSwapBackMagicQuotes();
+              return $v_result;
+          }
+
+          $v_extract = false;
+      }
+      
+      // ----- Look for real extraction
+      if ($v_extract)
+      {
+
+        // ----- Go to the file position
+        @rewind($this->zip_fd);
+        if (@fseek($this->zip_fd, $v_header['offset']))
+        {
+          // ----- Close the zip file
+          $this->privCloseFd();
+
+          $this->privSwapBackMagicQuotes();
+
+          // ----- Error log
+          PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size');
+
+          // ----- Return
+          return PclZip::errorCode();
+        }
+
+        // ----- Look for extraction as string
+        if ($p_options[PCLZIP_OPT_EXTRACT_AS_STRING]) {
+
+          $v_string = '';
+
+          // ----- Extracting the file
+          $v_result1 = $this->privExtractFileAsString($v_header, $v_string, $p_options);
+          if ($v_result1 < 1) {
+            $this->privCloseFd();
+            $this->privSwapBackMagicQuotes();
+            return $v_result1;
+          }
+
+          // ----- Get the only interesting attributes
+          if (($v_result = $this->privConvertHeader2FileInfo($v_header, $p_file_list[$v_nb_extracted])) != 1)
+          {
+            // ----- Close the zip file
+            $this->privCloseFd();
+            $this->privSwapBackMagicQuotes();
+
+            return $v_result;
+          }
+
+          // ----- Set the file content
+          $p_file_list[$v_nb_extracted]['content'] = $v_string;
+
+          // ----- Next extracted file
+          $v_nb_extracted++;
+          
+          // ----- Look for user callback abort
+          if ($v_result1 == 2) {
+          	break;
+          }
+        }
+        // ----- Look for extraction in standard output
+        elseif (   (isset($p_options[PCLZIP_OPT_EXTRACT_IN_OUTPUT]))
+		        && ($p_options[PCLZIP_OPT_EXTRACT_IN_OUTPUT])) {
+          // ----- Extracting the file in standard output
+          $v_result1 = $this->privExtractFileInOutput($v_header, $p_options);
+          if ($v_result1 < 1) {
+            $this->privCloseFd();
+            $this->privSwapBackMagicQuotes();
+            return $v_result1;
+          }
+
+          // ----- Get the only interesting attributes
+          if (($v_result = $this->privConvertHeader2FileInfo($v_header, $p_file_list[$v_nb_extracted++])) != 1) {
+            $this->privCloseFd();
+            $this->privSwapBackMagicQuotes();
+            return $v_result;
+          }
+
+          // ----- Look for user callback abort
+          if ($v_result1 == 2) {
+          	break;
+          }
+        }
+        // ----- Look for normal extraction
+        else {
+          // ----- Extracting the file
+          $v_result1 = $this->privExtractFile($v_header,
+		                                      $p_path, $p_remove_path,
+											  $p_remove_all_path,
+											  $p_options);
+          if ($v_result1 < 1) {
+            $this->privCloseFd();
+            $this->privSwapBackMagicQuotes();
+            return $v_result1;
+          }
+
+          // ----- Get the only interesting attributes
+          if (($v_result = $this->privConvertHeader2FileInfo($v_header, $p_file_list[$v_nb_extracted++])) != 1)
+          {
+            // ----- Close the zip file
+            $this->privCloseFd();
+            $this->privSwapBackMagicQuotes();
+
+            return $v_result;
+          }
+
+          // ----- Look for user callback abort
+          if ($v_result1 == 2) {
+          	break;
+          }
+        }
+      }
+    }
+
+    // ----- Close the zip file
+    $this->privCloseFd();
+    $this->privSwapBackMagicQuotes();
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privExtractFile()
+  // Description :
+  // Parameters :
+  // Return Values :
+  //
+  // 1 : ... ?
+  // PCLZIP_ERR_USER_ABORTED(2) : User ask for extraction stop in callback
+  // --------------------------------------------------------------------------------
+  function privExtractFile(&$p_entry, $p_path, $p_remove_path, $p_remove_all_path, &$p_options)
+  {
+    $v_result=1;
+
+    // ----- Read the file header
+    if (($v_result = $this->privReadFileHeader($v_header)) != 1)
+    {
+      // ----- Return
+      return $v_result;
+    }
+
+
+    // ----- Check that the file header is coherent with $p_entry info
+    if ($this->privCheckFileHeaders($v_header, $p_entry) != 1) {
+        // TBC
+    }
+
+    // ----- Look for all path to remove
+    if ($p_remove_all_path == true) {
+        // ----- Look for folder entry that not need to be extracted
+        if (($p_entry['external']&0x00000010)==0x00000010) {
+
+            $p_entry['status'] = "filtered";
+
+            return $v_result;
+        }
+
+        // ----- Get the basename of the path
+        $p_entry['filename'] = basename($p_entry['filename']);
+    }
+
+    // ----- Look for path to remove
+    else if ($p_remove_path != "")
+    {
+      if (PclZipUtilPathInclusion($p_remove_path, $p_entry['filename']) == 2)
+      {
+
+        // ----- Change the file status
+        $p_entry['status'] = "filtered";
+
+        // ----- Return
+        return $v_result;
+      }
+
+      $p_remove_path_size = strlen($p_remove_path);
+      if (substr($p_entry['filename'], 0, $p_remove_path_size) == $p_remove_path)
+      {
+
+        // ----- Remove the path
+        $p_entry['filename'] = substr($p_entry['filename'], $p_remove_path_size);
+
+      }
+    }
+
+    // ----- Add the path
+    if ($p_path != '') {
+      $p_entry['filename'] = $p_path."/".$p_entry['filename'];
+    }
+    
+    // ----- Check a base_dir_restriction
+    if (isset($p_options[PCLZIP_OPT_EXTRACT_DIR_RESTRICTION])) {
+      $v_inclusion
+      = PclZipUtilPathInclusion($p_options[PCLZIP_OPT_EXTRACT_DIR_RESTRICTION],
+                                $p_entry['filename']); 
+      if ($v_inclusion == 0) {
+
+        PclZip::privErrorLog(PCLZIP_ERR_DIRECTORY_RESTRICTION,
+			                     "Filename '".$p_entry['filename']."' is "
+								 ."outside PCLZIP_OPT_EXTRACT_DIR_RESTRICTION");
+
+        return PclZip::errorCode();
+      }
+    }
+
+    // ----- Look for pre-extract callback
+    if (isset($p_options[PCLZIP_CB_PRE_EXTRACT])) {
+
+      // ----- Generate a local information
+      $v_local_header = array();
+      $this->privConvertHeader2FileInfo($p_entry, $v_local_header);
+
+      // ----- Call the callback
+      // Here I do not use call_user_func() because I need to send a reference to the
+      // header.
+//      eval('$v_result = '.$p_options[PCLZIP_CB_PRE_EXTRACT].'(PCLZIP_CB_PRE_EXTRACT, $v_local_header);');
+      $v_result = $p_options[PCLZIP_CB_PRE_EXTRACT](PCLZIP_CB_PRE_EXTRACT, $v_local_header);
+      if ($v_result == 0) {
+        // ----- Change the file status
+        $p_entry['status'] = "skipped";
+        $v_result = 1;
+      }
+      
+      // ----- Look for abort result
+      if ($v_result == 2) {
+        // ----- This status is internal and will be changed in 'skipped'
+        $p_entry['status'] = "aborted";
+      	$v_result = PCLZIP_ERR_USER_ABORTED;
+      }
+
+      // ----- Update the informations
+      // Only some fields can be modified
+      $p_entry['filename'] = $v_local_header['filename'];
+    }
+
+
+    // ----- Look if extraction should be done
+    if ($p_entry['status'] == 'ok') {
+
+    // ----- Look for specific actions while the file exist
+    if (file_exists($p_entry['filename']))
+    {
+
+      // ----- Look if file is a directory
+      if (is_dir($p_entry['filename']))
+      {
+
+        // ----- Change the file status
+        $p_entry['status'] = "already_a_directory";
+        
+        // ----- Look for PCLZIP_OPT_STOP_ON_ERROR
+        // For historical reason first PclZip implementation does not stop
+        // when this kind of error occurs.
+        if (   (isset($p_options[PCLZIP_OPT_STOP_ON_ERROR]))
+		    && ($p_options[PCLZIP_OPT_STOP_ON_ERROR]===true)) {
+
+            PclZip::privErrorLog(PCLZIP_ERR_ALREADY_A_DIRECTORY,
+			                     "Filename '".$p_entry['filename']."' is "
+								 ."already used by an existing directory");
+
+            return PclZip::errorCode();
+		    }
+      }
+      // ----- Look if file is write protected
+      else if (!is_writeable($p_entry['filename']))
+      {
+
+        // ----- Change the file status
+        $p_entry['status'] = "write_protected";
+
+        // ----- Look for PCLZIP_OPT_STOP_ON_ERROR
+        // For historical reason first PclZip implementation does not stop
+        // when this kind of error occurs.
+        if (   (isset($p_options[PCLZIP_OPT_STOP_ON_ERROR]))
+		    && ($p_options[PCLZIP_OPT_STOP_ON_ERROR]===true)) {
+
+            PclZip::privErrorLog(PCLZIP_ERR_WRITE_OPEN_FAIL,
+			                     "Filename '".$p_entry['filename']."' exists "
+								 ."and is write protected");
+
+            return PclZip::errorCode();
+		    }
+      }
+
+      // ----- Look if the extracted file is older
+      else if (filemtime($p_entry['filename']) > $p_entry['mtime'])
+      {
+        // ----- Change the file status
+        if (   (isset($p_options[PCLZIP_OPT_REPLACE_NEWER]))
+		    && ($p_options[PCLZIP_OPT_REPLACE_NEWER]===true)) {
+	  	  }
+		    else {
+            $p_entry['status'] = "newer_exist";
+
+            // ----- Look for PCLZIP_OPT_STOP_ON_ERROR
+            // For historical reason first PclZip implementation does not stop
+            // when this kind of error occurs.
+            if (   (isset($p_options[PCLZIP_OPT_STOP_ON_ERROR]))
+		        && ($p_options[PCLZIP_OPT_STOP_ON_ERROR]===true)) {
+
+                PclZip::privErrorLog(PCLZIP_ERR_WRITE_OPEN_FAIL,
+			             "Newer version of '".$p_entry['filename']."' exists "
+					    ."and option PCLZIP_OPT_REPLACE_NEWER is not selected");
+
+                return PclZip::errorCode();
+		      }
+		    }
+      }
+      else {
+      }
+    }
+
+    // ----- Check the directory availability and create it if necessary
+    else {
+      if ((($p_entry['external']&0x00000010)==0x00000010) || (substr($p_entry['filename'], -1) == '/'))
+        $v_dir_to_check = $p_entry['filename'];
+      else if (!strstr($p_entry['filename'], "/"))
+        $v_dir_to_check = "";
+      else
+        $v_dir_to_check = dirname($p_entry['filename']);
+
+        if (($v_result = $this->privDirCheck($v_dir_to_check, (($p_entry['external']&0x00000010)==0x00000010))) != 1) {
+  
+          // ----- Change the file status
+          $p_entry['status'] = "path_creation_fail";
+  
+          // ----- Return
+          //return $v_result;
+          $v_result = 1;
+        }
+      }
+    }
+
+    // ----- Look if extraction should be done
+    if ($p_entry['status'] == 'ok') {
+
+      // ----- Do the extraction (if not a folder)
+      if (!(($p_entry['external']&0x00000010)==0x00000010))
+      {
+        // ----- Look for not compressed file
+        if ($p_entry['compression'] == 0) {
+
+    		  // ----- Opening destination file
+          if (($v_dest_file = @fopen($p_entry['filename'], 'wb')) == 0)
+          {
+
+            // ----- Change the file status
+            $p_entry['status'] = "write_error";
+
+            // ----- Return
+            return $v_result;
+          }
+
+
+          // ----- Read the file by PCLZIP_READ_BLOCK_SIZE octets blocks
+          $v_size = $p_entry['compressed_size'];
+          while ($v_size != 0)
+          {
+            $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE);
+            $v_buffer = @fread($this->zip_fd, $v_read_size);
+            /* Try to speed up the code
+            $v_binary_data = pack('a'.$v_read_size, $v_buffer);
+            @fwrite($v_dest_file, $v_binary_data, $v_read_size);
+            */
+            @fwrite($v_dest_file, $v_buffer, $v_read_size);            
+            $v_size -= $v_read_size;
+          }
+
+          // ----- Closing the destination file
+          fclose($v_dest_file);
+
+          // ----- Change the file mtime
+          touch($p_entry['filename'], $p_entry['mtime']);
+          
+
+        }
+        else {
+          // ----- TBC
+          // Need to be finished
+          if (($p_entry['flag'] & 1) == 1) {
+            PclZip::privErrorLog(PCLZIP_ERR_UNSUPPORTED_ENCRYPTION, 'File \''.$p_entry['filename'].'\' is encrypted. Encrypted files are not supported.');
+            return PclZip::errorCode();
+          }
+
+
+          // ----- Look for using temporary file to unzip
+          if ( (!isset($p_options[PCLZIP_OPT_TEMP_FILE_OFF])) 
+              && (isset($p_options[PCLZIP_OPT_TEMP_FILE_ON])
+                  || (isset($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD])
+                      && ($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD] <= $p_entry['size'])) ) ) {
+            $v_result = $this->privExtractFileUsingTempFile($p_entry, $p_options);
+            if ($v_result < PCLZIP_ERR_NO_ERROR) {
+              return $v_result;
+            }
+          }
+          
+          // ----- Look for extract in memory
+          else {
+
+          
+            // ----- Read the compressed file in a buffer (one shot)
+            $v_buffer = @fread($this->zip_fd, $p_entry['compressed_size']);
+            
+            // ----- Decompress the file
+            $v_file_content = @gzinflate($v_buffer);
+            unset($v_buffer);
+            if ($v_file_content === FALSE) {
+  
+              // ----- Change the file status
+              // TBC
+              $p_entry['status'] = "error";
+              
+              return $v_result;
+            }
+            
+            // ----- Opening destination file
+            if (($v_dest_file = @fopen($p_entry['filename'], 'wb')) == 0) {
+  
+              // ----- Change the file status
+              $p_entry['status'] = "write_error";
+  
+              return $v_result;
+            }
+  
+            // ----- Write the uncompressed data
+            @fwrite($v_dest_file, $v_file_content, $p_entry['size']);
+            unset($v_file_content);
+  
+            // ----- Closing the destination file
+            @fclose($v_dest_file);
+            
+          }
+
+          // ----- Change the file mtime
+          @touch($p_entry['filename'], $p_entry['mtime']);
+        }
+
+        // ----- Look for chmod option
+        if (isset($p_options[PCLZIP_OPT_SET_CHMOD])) {
+
+          // ----- Change the mode of the file
+          @chmod($p_entry['filename'], $p_options[PCLZIP_OPT_SET_CHMOD]);
+        }
+
+      }
+    }
+
+  	// ----- Change abort status
+  	if ($p_entry['status'] == "aborted") {
+        $p_entry['status'] = "skipped";
+  	}
+	
+    // ----- Look for post-extract callback
+    elseif (isset($p_options[PCLZIP_CB_POST_EXTRACT])) {
+
+      // ----- Generate a local information
+      $v_local_header = array();
+      $this->privConvertHeader2FileInfo($p_entry, $v_local_header);
+
+      // ----- Call the callback
+      // Here I do not use call_user_func() because I need to send a reference to the
+      // header.
+//      eval('$v_result = '.$p_options[PCLZIP_CB_POST_EXTRACT].'(PCLZIP_CB_POST_EXTRACT, $v_local_header);');
+      $v_result = $p_options[PCLZIP_CB_POST_EXTRACT](PCLZIP_CB_POST_EXTRACT, $v_local_header);
+
+      // ----- Look for abort result
+      if ($v_result == 2) {
+      	$v_result = PCLZIP_ERR_USER_ABORTED;
+      }
+    }
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privExtractFileUsingTempFile()
+  // Description :
+  // Parameters :
+  // Return Values :
+  // --------------------------------------------------------------------------------
+  function privExtractFileUsingTempFile(&$p_entry, &$p_options)
+  {
+    $v_result=1;
+        
+    // ----- Creates a temporary file
+    $v_gzip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.gz';
+    if (($v_dest_file = @fopen($v_gzip_temp_name, "wb")) == 0) {
+      fclose($v_file);
+      PclZip::privErrorLog(PCLZIP_ERR_WRITE_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary write mode');
+      return PclZip::errorCode();
+    }
+
+
+    // ----- Write gz file format header
+    $v_binary_data = pack('va1a1Va1a1', 0x8b1f, Chr($p_entry['compression']), Chr(0x00), time(), Chr(0x00), Chr(3));
+    @fwrite($v_dest_file, $v_binary_data, 10);
+
+    // ----- Read the file by PCLZIP_READ_BLOCK_SIZE octets blocks
+    $v_size = $p_entry['compressed_size'];
+    while ($v_size != 0)
+    {
+      $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE);
+      $v_buffer = @fread($this->zip_fd, $v_read_size);
+      //$v_binary_data = pack('a'.$v_read_size, $v_buffer);
+      @fwrite($v_dest_file, $v_buffer, $v_read_size);
+      $v_size -= $v_read_size;
+    }
+
+    // ----- Write gz file format footer
+    $v_binary_data = pack('VV', $p_entry['crc'], $p_entry['size']);
+    @fwrite($v_dest_file, $v_binary_data, 8);
+
+    // ----- Close the temporary file
+    @fclose($v_dest_file);
+
+    // ----- Opening destination file
+    if (($v_dest_file = @fopen($p_entry['filename'], 'wb')) == 0) {
+      $p_entry['status'] = "write_error";
+      return $v_result;
+    }
+
+    // ----- Open the temporary gz file
+    if (($v_src_file = @gzopen($v_gzip_temp_name, 'rb')) == 0) {
+      @fclose($v_dest_file);
+      $p_entry['status'] = "read_error";
+      PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary read mode');
+      return PclZip::errorCode();
+    }
+
+
+    // ----- Read the file by PCLZIP_READ_BLOCK_SIZE octets blocks
+    $v_size = $p_entry['size'];
+    while ($v_size != 0) {
+      $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE);
+      $v_buffer = @gzread($v_src_file, $v_read_size);
+      //$v_binary_data = pack('a'.$v_read_size, $v_buffer);
+      @fwrite($v_dest_file, $v_buffer, $v_read_size);
+      $v_size -= $v_read_size;
+    }
+    @fclose($v_dest_file);
+    @gzclose($v_src_file);
+
+    // ----- Delete the temporary file
+    @unlink($v_gzip_temp_name);
+    
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privExtractFileInOutput()
+  // Description :
+  // Parameters :
+  // Return Values :
+  // --------------------------------------------------------------------------------
+  function privExtractFileInOutput(&$p_entry, &$p_options)
+  {
+    $v_result=1;
+
+    // ----- Read the file header
+    if (($v_result = $this->privReadFileHeader($v_header)) != 1) {
+      return $v_result;
+    }
+
+
+    // ----- Check that the file header is coherent with $p_entry info
+    if ($this->privCheckFileHeaders($v_header, $p_entry) != 1) {
+        // TBC
+    }
+
+    // ----- Look for pre-extract callback
+    if (isset($p_options[PCLZIP_CB_PRE_EXTRACT])) {
+
+      // ----- Generate a local information
+      $v_local_header = array();
+      $this->privConvertHeader2FileInfo($p_entry, $v_local_header);
+
+      // ----- Call the callback
+      // Here I do not use call_user_func() because I need to send a reference to the
+      // header.
+//      eval('$v_result = '.$p_options[PCLZIP_CB_PRE_EXTRACT].'(PCLZIP_CB_PRE_EXTRACT, $v_local_header);');
+      $v_result = $p_options[PCLZIP_CB_PRE_EXTRACT](PCLZIP_CB_PRE_EXTRACT, $v_local_header);
+      if ($v_result == 0) {
+        // ----- Change the file status
+        $p_entry['status'] = "skipped";
+        $v_result = 1;
+      }
+
+      // ----- Look for abort result
+      if ($v_result == 2) {
+        // ----- This status is internal and will be changed in 'skipped'
+        $p_entry['status'] = "aborted";
+      	$v_result = PCLZIP_ERR_USER_ABORTED;
+      }
+
+      // ----- Update the informations
+      // Only some fields can be modified
+      $p_entry['filename'] = $v_local_header['filename'];
+    }
+
+    // ----- Trace
+
+    // ----- Look if extraction should be done
+    if ($p_entry['status'] == 'ok') {
+
+      // ----- Do the extraction (if not a folder)
+      if (!(($p_entry['external']&0x00000010)==0x00000010)) {
+        // ----- Look for not compressed file
+        if ($p_entry['compressed_size'] == $p_entry['size']) {
+
+          // ----- Read the file in a buffer (one shot)
+          $v_buffer = @fread($this->zip_fd, $p_entry['compressed_size']);
+
+          // ----- Send the file to the output
+          echo $v_buffer;
+          unset($v_buffer);
+        }
+        else {
+
+          // ----- Read the compressed file in a buffer (one shot)
+          $v_buffer = @fread($this->zip_fd, $p_entry['compressed_size']);
+          
+          // ----- Decompress the file
+          $v_file_content = gzinflate($v_buffer);
+          unset($v_buffer);
+
+          // ----- Send the file to the output
+          echo $v_file_content;
+          unset($v_file_content);
+        }
+      }
+    }
+
+	// ----- Change abort status
+	if ($p_entry['status'] == "aborted") {
+      $p_entry['status'] = "skipped";
+	}
+
+    // ----- Look for post-extract callback
+    elseif (isset($p_options[PCLZIP_CB_POST_EXTRACT])) {
+
+      // ----- Generate a local information
+      $v_local_header = array();
+      $this->privConvertHeader2FileInfo($p_entry, $v_local_header);
+
+      // ----- Call the callback
+      // Here I do not use call_user_func() because I need to send a reference to the
+      // header.
+//      eval('$v_result = '.$p_options[PCLZIP_CB_POST_EXTRACT].'(PCLZIP_CB_POST_EXTRACT, $v_local_header);');
+      $v_result = $p_options[PCLZIP_CB_POST_EXTRACT](PCLZIP_CB_POST_EXTRACT, $v_local_header);
+
+      // ----- Look for abort result
+      if ($v_result == 2) {
+      	$v_result = PCLZIP_ERR_USER_ABORTED;
+      }
+    }
+
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privExtractFileAsString()
+  // Description :
+  // Parameters :
+  // Return Values :
+  // --------------------------------------------------------------------------------
+  function privExtractFileAsString(&$p_entry, &$p_string, &$p_options)
+  {
+    $v_result=1;
+
+    // ----- Read the file header
+    $v_header = array();
+    if (($v_result = $this->privReadFileHeader($v_header)) != 1)
+    {
+      // ----- Return
+      return $v_result;
+    }
+
+
+    // ----- Check that the file header is coherent with $p_entry info
+    if ($this->privCheckFileHeaders($v_header, $p_entry) != 1) {
+        // TBC
+    }
+
+    // ----- Look for pre-extract callback
+    if (isset($p_options[PCLZIP_CB_PRE_EXTRACT])) {
+
+      // ----- Generate a local information
+      $v_local_header = array();
+      $this->privConvertHeader2FileInfo($p_entry, $v_local_header);
+
+      // ----- Call the callback
+      // Here I do not use call_user_func() because I need to send a reference to the
+      // header.
+//      eval('$v_result = '.$p_options[PCLZIP_CB_PRE_EXTRACT].'(PCLZIP_CB_PRE_EXTRACT, $v_local_header);');
+      $v_result = $p_options[PCLZIP_CB_PRE_EXTRACT](PCLZIP_CB_PRE_EXTRACT, $v_local_header);
+      if ($v_result == 0) {
+        // ----- Change the file status
+        $p_entry['status'] = "skipped";
+        $v_result = 1;
+      }
+      
+      // ----- Look for abort result
+      if ($v_result == 2) {
+        // ----- This status is internal and will be changed in 'skipped'
+        $p_entry['status'] = "aborted";
+      	$v_result = PCLZIP_ERR_USER_ABORTED;
+      }
+
+      // ----- Update the informations
+      // Only some fields can be modified
+      $p_entry['filename'] = $v_local_header['filename'];
+    }
+
+
+    // ----- Look if extraction should be done
+    if ($p_entry['status'] == 'ok') {
+
+      // ----- Do the extraction (if not a folder)
+      if (!(($p_entry['external']&0x00000010)==0x00000010)) {
+        // ----- Look for not compressed file
+  //      if ($p_entry['compressed_size'] == $p_entry['size'])
+        if ($p_entry['compression'] == 0) {
+  
+          // ----- Reading the file
+          $p_string = @fread($this->zip_fd, $p_entry['compressed_size']);
+        }
+        else {
+  
+          // ----- Reading the file
+          $v_data = @fread($this->zip_fd, $p_entry['compressed_size']);
+          
+          // ----- Decompress the file
+          if (($p_string = @gzinflate($v_data)) === FALSE) {
+              // TBC
+          }
+        }
+  
+        // ----- Trace
+      }
+      else {
+          // TBC : error : can not extract a folder in a string
+      }
+      
+    }
+
+  	// ----- Change abort status
+  	if ($p_entry['status'] == "aborted") {
+        $p_entry['status'] = "skipped";
+  	}
+	
+    // ----- Look for post-extract callback
+    elseif (isset($p_options[PCLZIP_CB_POST_EXTRACT])) {
+
+      // ----- Generate a local information
+      $v_local_header = array();
+      $this->privConvertHeader2FileInfo($p_entry, $v_local_header);
+      
+      // ----- Swap the content to header
+      $v_local_header['content'] = $p_string;
+      $p_string = '';
+
+      // ----- Call the callback
+      // Here I do not use call_user_func() because I need to send a reference to the
+      // header.
+//      eval('$v_result = '.$p_options[PCLZIP_CB_POST_EXTRACT].'(PCLZIP_CB_POST_EXTRACT, $v_local_header);');
+      $v_result = $p_options[PCLZIP_CB_POST_EXTRACT](PCLZIP_CB_POST_EXTRACT, $v_local_header);
+
+      // ----- Swap back the content to header
+      $p_string = $v_local_header['content'];
+      unset($v_local_header['content']);
+
+      // ----- Look for abort result
+      if ($v_result == 2) {
+      	$v_result = PCLZIP_ERR_USER_ABORTED;
+      }
+    }
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privReadFileHeader()
+  // Description :
+  // Parameters :
+  // Return Values :
+  // --------------------------------------------------------------------------------
+  function privReadFileHeader(&$p_header)
+  {
+    $v_result=1;
+
+    // ----- Read the 4 bytes signature
+    $v_binary_data = @fread($this->zip_fd, 4);
+    $v_data = unpack('Vid', $v_binary_data);
+
+    // ----- Check signature
+    if ($v_data['id'] != 0x04034b50)
+    {
+
+      // ----- Error log
+      PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Invalid archive structure');
+
+      // ----- Return
+      return PclZip::errorCode();
+    }
+
+    // ----- Read the first 42 bytes of the header
+    $v_binary_data = fread($this->zip_fd, 26);
+
+    // ----- Look for invalid block size
+    if (strlen($v_binary_data) != 26)
+    {
+      $p_header['filename'] = "";
+      $p_header['status'] = "invalid_header";
+
+      // ----- Error log
+      PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, "Invalid block size : ".strlen($v_binary_data));
+
+      // ----- Return
+      return PclZip::errorCode();
+    }
+
+    // ----- Extract the values
+    $v_data = unpack('vversion/vflag/vcompression/vmtime/vmdate/Vcrc/Vcompressed_size/Vsize/vfilename_len/vextra_len', $v_binary_data);
+
+    // ----- Get filename
+    $p_header['filename'] = fread($this->zip_fd, $v_data['filename_len']);
+
+    // ----- Get extra_fields
+    if ($v_data['extra_len'] != 0) {
+      $p_header['extra'] = fread($this->zip_fd, $v_data['extra_len']);
+    }
+    else {
+      $p_header['extra'] = '';
+    }
+
+    // ----- Extract properties
+    $p_header['version_extracted'] = $v_data['version'];
+    $p_header['compression'] = $v_data['compression'];
+    $p_header['size'] = $v_data['size'];
+    $p_header['compressed_size'] = $v_data['compressed_size'];
+    $p_header['crc'] = $v_data['crc'];
+    $p_header['flag'] = $v_data['flag'];
+    $p_header['filename_len'] = $v_data['filename_len'];
+
+    // ----- Recuperate date in UNIX format
+    $p_header['mdate'] = $v_data['mdate'];
+    $p_header['mtime'] = $v_data['mtime'];
+    if ($p_header['mdate'] && $p_header['mtime'])
+    {
+      // ----- Extract time
+      $v_hour = ($p_header['mtime'] & 0xF800) >> 11;
+      $v_minute = ($p_header['mtime'] & 0x07E0) >> 5;
+      $v_seconde = ($p_header['mtime'] & 0x001F)*2;
+
+      // ----- Extract date
+      $v_year = (($p_header['mdate'] & 0xFE00) >> 9) + 1980;
+      $v_month = ($p_header['mdate'] & 0x01E0) >> 5;
+      $v_day = $p_header['mdate'] & 0x001F;
+
+      // ----- Get UNIX date format
+      $p_header['mtime'] = @mktime($v_hour, $v_minute, $v_seconde, $v_month, $v_day, $v_year);
+
+    }
+    else
+    {
+      $p_header['mtime'] = time();
+    }
+
+    // TBC
+    //for(reset($v_data); $key = key($v_data); next($v_data)) {
+    //}
+
+    // ----- Set the stored filename
+    $p_header['stored_filename'] = $p_header['filename'];
+
+    // ----- Set the status field
+    $p_header['status'] = "ok";
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privReadCentralFileHeader()
+  // Description :
+  // Parameters :
+  // Return Values :
+  // --------------------------------------------------------------------------------
+  function privReadCentralFileHeader(&$p_header)
+  {
+    $v_result=1;
+
+    // ----- Read the 4 bytes signature
+    $v_binary_data = @fread($this->zip_fd, 4);
+    $v_data = unpack('Vid', $v_binary_data);
+
+    // ----- Check signature
+    if ($v_data['id'] != 0x02014b50)
+    {
+
+      // ----- Error log
+      PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Invalid archive structure');
+
+      // ----- Return
+      return PclZip::errorCode();
+    }
+
+    // ----- Read the first 42 bytes of the header
+    $v_binary_data = fread($this->zip_fd, 42);
+
+    // ----- Look for invalid block size
+    if (strlen($v_binary_data) != 42)
+    {
+      $p_header['filename'] = "";
+      $p_header['status'] = "invalid_header";
+
+      // ----- Error log
+      PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, "Invalid block size : ".strlen($v_binary_data));
+
+      // ----- Return
+      return PclZip::errorCode();
+    }
+
+    // ----- Extract the values
+    $p_header = unpack('vversion/vversion_extracted/vflag/vcompression/vmtime/vmdate/Vcrc/Vcompressed_size/Vsize/vfilename_len/vextra_len/vcomment_len/vdisk/vinternal/Vexternal/Voffset', $v_binary_data);
+
+    // ----- Get filename
+    if ($p_header['filename_len'] != 0)
+      $p_header['filename'] = fread($this->zip_fd, $p_header['filename_len']);
+    else
+      $p_header['filename'] = '';
+
+    // ----- Get extra
+    if ($p_header['extra_len'] != 0)
+      $p_header['extra'] = fread($this->zip_fd, $p_header['extra_len']);
+    else
+      $p_header['extra'] = '';
+
+    // ----- Get comment
+    if ($p_header['comment_len'] != 0)
+      $p_header['comment'] = fread($this->zip_fd, $p_header['comment_len']);
+    else
+      $p_header['comment'] = '';
+
+    // ----- Extract properties
+
+    // ----- Recuperate date in UNIX format
+    //if ($p_header['mdate'] && $p_header['mtime'])
+    // TBC : bug : this was ignoring time with 0/0/0
+    if (1)
+    {
+      // ----- Extract time
+      $v_hour = ($p_header['mtime'] & 0xF800) >> 11;
+      $v_minute = ($p_header['mtime'] & 0x07E0) >> 5;
+      $v_seconde = ($p_header['mtime'] & 0x001F)*2;
+
+      // ----- Extract date
+      $v_year = (($p_header['mdate'] & 0xFE00) >> 9) + 1980;
+      $v_month = ($p_header['mdate'] & 0x01E0) >> 5;
+      $v_day = $p_header['mdate'] & 0x001F;
+
+      // ----- Get UNIX date format
+      $p_header['mtime'] = @mktime($v_hour, $v_minute, $v_seconde, $v_month, $v_day, $v_year);
+
+    }
+    else
+    {
+      $p_header['mtime'] = time();
+    }
+
+    // ----- Set the stored filename
+    $p_header['stored_filename'] = $p_header['filename'];
+
+    // ----- Set default status to ok
+    $p_header['status'] = 'ok';
+
+    // ----- Look if it is a directory
+    if (substr($p_header['filename'], -1) == '/') {
+      //$p_header['external'] = 0x41FF0010;
+      $p_header['external'] = 0x00000010;
+    }
+
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privCheckFileHeaders()
+  // Description :
+  // Parameters :
+  // Return Values :
+  //   1 on success,
+  //   0 on error;
+  // --------------------------------------------------------------------------------
+  function privCheckFileHeaders(&$p_local_header, &$p_central_header)
+  {
+    $v_result=1;
+
+  	// ----- Check the static values
+  	// TBC
+  	if ($p_local_header['filename'] != $p_central_header['filename']) {
+  	}
+  	if ($p_local_header['version_extracted'] != $p_central_header['version_extracted']) {
+  	}
+  	if ($p_local_header['flag'] != $p_central_header['flag']) {
+  	}
+  	if ($p_local_header['compression'] != $p_central_header['compression']) {
+  	}
+  	if ($p_local_header['mtime'] != $p_central_header['mtime']) {
+  	}
+  	if ($p_local_header['filename_len'] != $p_central_header['filename_len']) {
+  	}
+  
+  	// ----- Look for flag bit 3
+  	if (($p_local_header['flag'] & 8) == 8) {
+          $p_local_header['size'] = $p_central_header['size'];
+          $p_local_header['compressed_size'] = $p_central_header['compressed_size'];
+          $p_local_header['crc'] = $p_central_header['crc'];
+  	}
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privReadEndCentralDir()
+  // Description :
+  // Parameters :
+  // Return Values :
+  // --------------------------------------------------------------------------------
+  function privReadEndCentralDir(&$p_central_dir)
+  {
+    $v_result=1;
+
+    // ----- Go to the end of the zip file
+    $v_size = filesize($this->zipname);
+    @fseek($this->zip_fd, $v_size);
+    if (@ftell($this->zip_fd) != $v_size)
+    {
+      // ----- Error log
+      PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Unable to go to the end of the archive \''.$this->zipname.'\'');
+
+      // ----- Return
+      return PclZip::errorCode();
+    }
+
+    // ----- First try : look if this is an archive with no commentaries (most of the time)
+    // in this case the end of central dir is at 22 bytes of the file end
+    $v_found = 0;
+    if ($v_size > 26) {
+      @fseek($this->zip_fd, $v_size-22);
+      if (($v_pos = @ftell($this->zip_fd)) != ($v_size-22))
+      {
+        // ----- Error log
+        PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Unable to seek back to the middle of the archive \''.$this->zipname.'\'');
+
+        // ----- Return
+        return PclZip::errorCode();
+      }
+
+      // ----- Read for bytes
+      $v_binary_data = @fread($this->zip_fd, 4);
+      $v_data = @unpack('Vid', $v_binary_data);
+
+      // ----- Check signature
+      if ($v_data['id'] == 0x06054b50) {
+        $v_found = 1;
+      }
+
+      $v_pos = ftell($this->zip_fd);
+    }
+
+    // ----- Go back to the maximum possible size of the Central Dir End Record
+    if (!$v_found) {
+      $v_maximum_size = 65557; // 0xFFFF + 22;
+      if ($v_maximum_size > $v_size)
+        $v_maximum_size = $v_size;
+      @fseek($this->zip_fd, $v_size-$v_maximum_size);
+      if (@ftell($this->zip_fd) != ($v_size-$v_maximum_size))
+      {
+        // ----- Error log
+        PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Unable to seek back to the middle of the archive \''.$this->zipname.'\'');
+
+        // ----- Return
+        return PclZip::errorCode();
+      }
+
+      // ----- Read byte per byte in order to find the signature
+      $v_pos = ftell($this->zip_fd);
+      $v_bytes = 0x00000000;
+      while ($v_pos < $v_size)
+      {
+        // ----- Read a byte
+        $v_byte = @fread($this->zip_fd, 1);
+
+        // -----  Add the byte
+        //$v_bytes = ($v_bytes << 8) | Ord($v_byte);
+        // Note we mask the old value down such that once shifted we can never end up with more than a 32bit number 
+        // Otherwise on systems where we have 64bit integers the check below for the magic number will fail. 
+        $v_bytes = ( ($v_bytes & 0xFFFFFF) << 8) | Ord($v_byte); 
+
+        // ----- Compare the bytes
+        if ($v_bytes == 0x504b0506)
+        {
+          $v_pos++;
+          break;
+        }
+
+        $v_pos++;
+      }
+
+      // ----- Look if not found end of central dir
+      if ($v_pos == $v_size)
+      {
+
+        // ----- Error log
+        PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, "Unable to find End of Central Dir Record signature");
+
+        // ----- Return
+        return PclZip::errorCode();
+      }
+    }
+
+    // ----- Read the first 18 bytes of the header
+    $v_binary_data = fread($this->zip_fd, 18);
+
+    // ----- Look for invalid block size
+    if (strlen($v_binary_data) != 18)
+    {
+
+      // ----- Error log
+      PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, "Invalid End of Central Dir Record size : ".strlen($v_binary_data));
+
+      // ----- Return
+      return PclZip::errorCode();
+    }
+
+    // ----- Extract the values
+    $v_data = unpack('vdisk/vdisk_start/vdisk_entries/ventries/Vsize/Voffset/vcomment_size', $v_binary_data);
+
+    // ----- Check the global size
+    if (($v_pos + $v_data['comment_size'] + 18) != $v_size) {
+
+	  // ----- Removed in release 2.2 see readme file
+	  // The check of the file size is a little too strict.
+	  // Some bugs where found when a zip is encrypted/decrypted with 'crypt'.
+	  // While decrypted, zip has training 0 bytes
+	  if (0) {
+      // ----- Error log
+      PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT,
+	                       'The central dir is not at the end of the archive.'
+						   .' Some trailing bytes exists after the archive.');
+
+      // ----- Return
+      return PclZip::errorCode();
+	  }
+    }
+
+    // ----- Get comment
+    if ($v_data['comment_size'] != 0) {
+      $p_central_dir['comment'] = fread($this->zip_fd, $v_data['comment_size']);
+    }
+    else
+      $p_central_dir['comment'] = '';
+
+    $p_central_dir['entries'] = $v_data['entries'];
+    $p_central_dir['disk_entries'] = $v_data['disk_entries'];
+    $p_central_dir['offset'] = $v_data['offset'];
+    $p_central_dir['size'] = $v_data['size'];
+    $p_central_dir['disk'] = $v_data['disk'];
+    $p_central_dir['disk_start'] = $v_data['disk_start'];
+
+    // TBC
+    //for(reset($p_central_dir); $key = key($p_central_dir); next($p_central_dir)) {
+    //}
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privDeleteByRule()
+  // Description :
+  // Parameters :
+  // Return Values :
+  // --------------------------------------------------------------------------------
+  function privDeleteByRule(&$p_result_list, &$p_options)
+  {
+    $v_result=1;
+    $v_list_detail = array();
+
+    // ----- Open the zip file
+    if (($v_result=$this->privOpenFd('rb')) != 1)
+    {
+      // ----- Return
+      return $v_result;
+    }
+
+    // ----- Read the central directory informations
+    $v_central_dir = array();
+    if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1)
+    {
+      $this->privCloseFd();
+      return $v_result;
+    }
+
+    // ----- Go to beginning of File
+    @rewind($this->zip_fd);
+
+    // ----- Scan all the files
+    // ----- Start at beginning of Central Dir
+    $v_pos_entry = $v_central_dir['offset'];
+    @rewind($this->zip_fd);
+    if (@fseek($this->zip_fd, $v_pos_entry))
+    {
+      // ----- Close the zip file
+      $this->privCloseFd();
+
+      // ----- Error log
+      PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size');
+
+      // ----- Return
+      return PclZip::errorCode();
+    }
+
+    // ----- Read each entry
+    $v_header_list = array();
+    $j_start = 0;
+    for ($i=0, $v_nb_extracted=0; $i<$v_central_dir['entries']; $i++)
+    {
+
+      // ----- Read the file header
+      $v_header_list[$v_nb_extracted] = array();
+      if (($v_result = $this->privReadCentralFileHeader($v_header_list[$v_nb_extracted])) != 1)
+      {
+        // ----- Close the zip file
+        $this->privCloseFd();
+
+        return $v_result;
+      }
+
+
+      // ----- Store the index
+      $v_header_list[$v_nb_extracted]['index'] = $i;
+
+      // ----- Look for the specific extract rules
+      $v_found = false;
+
+      // ----- Look for extract by name rule
+      if (   (isset($p_options[PCLZIP_OPT_BY_NAME]))
+          && ($p_options[PCLZIP_OPT_BY_NAME] != 0)) {
+
+          // ----- Look if the filename is in the list
+          for ($j=0; ($j<sizeof($p_options[PCLZIP_OPT_BY_NAME])) && (!$v_found); $j++) {
+
+              // ----- Look for a directory
+              if (substr($p_options[PCLZIP_OPT_BY_NAME][$j], -1) == "/") {
+
+                  // ----- Look if the directory is in the filename path
+                  if (   (strlen($v_header_list[$v_nb_extracted]['stored_filename']) > strlen($p_options[PCLZIP_OPT_BY_NAME][$j]))
+                      && (substr($v_header_list[$v_nb_extracted]['stored_filename'], 0, strlen($p_options[PCLZIP_OPT_BY_NAME][$j])) == $p_options[PCLZIP_OPT_BY_NAME][$j])) {
+                      $v_found = true;
+                  }
+                  elseif (   (($v_header_list[$v_nb_extracted]['external']&0x00000010)==0x00000010) /* Indicates a folder */
+                          && ($v_header_list[$v_nb_extracted]['stored_filename'].'/' == $p_options[PCLZIP_OPT_BY_NAME][$j])) {
+                      $v_found = true;
+                  }
+              }
+              // ----- Look for a filename
+              elseif ($v_header_list[$v_nb_extracted]['stored_filename'] == $p_options[PCLZIP_OPT_BY_NAME][$j]) {
+                  $v_found = true;
+              }
+          }
+      }
+
+      // ----- Look for extract by ereg rule
+      // ereg() is deprecated with PHP 5.3
+      /*
+      else if (   (isset($p_options[PCLZIP_OPT_BY_EREG]))
+               && ($p_options[PCLZIP_OPT_BY_EREG] != "")) {
+
+          if (ereg($p_options[PCLZIP_OPT_BY_EREG], $v_header_list[$v_nb_extracted]['stored_filename'])) {
+              $v_found = true;
+          }
+      }
+      */
+
+      // ----- Look for extract by preg rule
+      else if (   (isset($p_options[PCLZIP_OPT_BY_PREG]))
+               && ($p_options[PCLZIP_OPT_BY_PREG] != "")) {
+
+          if (preg_match($p_options[PCLZIP_OPT_BY_PREG], $v_header_list[$v_nb_extracted]['stored_filename'])) {
+              $v_found = true;
+          }
+      }
+
+      // ----- Look for extract by index rule
+      else if (   (isset($p_options[PCLZIP_OPT_BY_INDEX]))
+               && ($p_options[PCLZIP_OPT_BY_INDEX] != 0)) {
+
+          // ----- Look if the index is in the list
+          for ($j=$j_start; ($j<sizeof($p_options[PCLZIP_OPT_BY_INDEX])) && (!$v_found); $j++) {
+
+              if (($i>=$p_options[PCLZIP_OPT_BY_INDEX][$j]['start']) && ($i<=$p_options[PCLZIP_OPT_BY_INDEX][$j]['end'])) {
+                  $v_found = true;
+              }
+              if ($i>=$p_options[PCLZIP_OPT_BY_INDEX][$j]['end']) {
+                  $j_start = $j+1;
+              }
+
+              if ($p_options[PCLZIP_OPT_BY_INDEX][$j]['start']>$i) {
+                  break;
+              }
+          }
+      }
+      else {
+      	$v_found = true;
+      }
+
+      // ----- Look for deletion
+      if ($v_found)
+      {
+        unset($v_header_list[$v_nb_extracted]);
+      }
+      else
+      {
+        $v_nb_extracted++;
+      }
+    }
+
+    // ----- Look if something need to be deleted
+    if ($v_nb_extracted > 0) {
+
+        // ----- Creates a temporay file
+        $v_zip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.tmp';
+
+        // ----- Creates a temporary zip archive
+        $v_temp_zip = new PclZip($v_zip_temp_name);
+
+        // ----- Open the temporary zip file in write mode
+        if (($v_result = $v_temp_zip->privOpenFd('wb')) != 1) {
+            $this->privCloseFd();
+
+            // ----- Return
+            return $v_result;
+        }
+
+        // ----- Look which file need to be kept
+        for ($i=0; $i<sizeof($v_header_list); $i++) {
+
+            // ----- Calculate the position of the header
+            @rewind($this->zip_fd);
+            if (@fseek($this->zip_fd,  $v_header_list[$i]['offset'])) {
+                // ----- Close the zip file
+                $this->privCloseFd();
+                $v_temp_zip->privCloseFd();
+                @unlink($v_zip_temp_name);
+
+                // ----- Error log
+                PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size');
+
+                // ----- Return
+                return PclZip::errorCode();
+            }
+
+            // ----- Read the file header
+            $v_local_header = array();
+            if (($v_result = $this->privReadFileHeader($v_local_header)) != 1) {
+                // ----- Close the zip file
+                $this->privCloseFd();
+                $v_temp_zip->privCloseFd();
+                @unlink($v_zip_temp_name);
+
+                // ----- Return
+                return $v_result;
+            }
+            
+            // ----- Check that local file header is same as central file header
+            if ($this->privCheckFileHeaders($v_local_header,
+			                                $v_header_list[$i]) != 1) {
+                // TBC
+            }
+            unset($v_local_header);
+
+            // ----- Write the file header
+            if (($v_result = $v_temp_zip->privWriteFileHeader($v_header_list[$i])) != 1) {
+                // ----- Close the zip file
+                $this->privCloseFd();
+                $v_temp_zip->privCloseFd();
+                @unlink($v_zip_temp_name);
+
+                // ----- Return
+                return $v_result;
+            }
+
+            // ----- Read/write the data block
+            if (($v_result = PclZipUtilCopyBlock($this->zip_fd, $v_temp_zip->zip_fd, $v_header_list[$i]['compressed_size'])) != 1) {
+                // ----- Close the zip file
+                $this->privCloseFd();
+                $v_temp_zip->privCloseFd();
+                @unlink($v_zip_temp_name);
+
+                // ----- Return
+                return $v_result;
+            }
+        }
+
+        // ----- Store the offset of the central dir
+        $v_offset = @ftell($v_temp_zip->zip_fd);
+
+        // ----- Re-Create the Central Dir files header
+        for ($i=0; $i<sizeof($v_header_list); $i++) {
+            // ----- Create the file header
+            if (($v_result = $v_temp_zip->privWriteCentralFileHeader($v_header_list[$i])) != 1) {
+                $v_temp_zip->privCloseFd();
+                $this->privCloseFd();
+                @unlink($v_zip_temp_name);
+
+                // ----- Return
+                return $v_result;
+            }
+
+            // ----- Transform the header to a 'usable' info
+            $v_temp_zip->privConvertHeader2FileInfo($v_header_list[$i], $p_result_list[$i]);
+        }
+
+
+        // ----- Zip file comment
+        $v_comment = '';
+        if (isset($p_options[PCLZIP_OPT_COMMENT])) {
+          $v_comment = $p_options[PCLZIP_OPT_COMMENT];
+        }
+
+        // ----- Calculate the size of the central header
+        $v_size = @ftell($v_temp_zip->zip_fd)-$v_offset;
+
+        // ----- Create the central dir footer
+        if (($v_result = $v_temp_zip->privWriteCentralHeader(sizeof($v_header_list), $v_size, $v_offset, $v_comment)) != 1) {
+            // ----- Reset the file list
+            unset($v_header_list);
+            $v_temp_zip->privCloseFd();
+            $this->privCloseFd();
+            @unlink($v_zip_temp_name);
+
+            // ----- Return
+            return $v_result;
+        }
+
+        // ----- Close
+        $v_temp_zip->privCloseFd();
+        $this->privCloseFd();
+
+        // ----- Delete the zip file
+        // TBC : I should test the result ...
+        @unlink($this->zipname);
+
+        // ----- Rename the temporary file
+        // TBC : I should test the result ...
+        //@rename($v_zip_temp_name, $this->zipname);
+        PclZipUtilRename($v_zip_temp_name, $this->zipname);
+    
+        // ----- Destroy the temporary archive
+        unset($v_temp_zip);
+    }
+    
+    // ----- Remove every files : reset the file
+    else if ($v_central_dir['entries'] != 0) {
+        $this->privCloseFd();
+
+        if (($v_result = $this->privOpenFd('wb')) != 1) {
+          return $v_result;
+        }
+
+        if (($v_result = $this->privWriteCentralHeader(0, 0, 0, '')) != 1) {
+          return $v_result;
+        }
+
+        $this->privCloseFd();
+    }
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privDirCheck()
+  // Description :
+  //   Check if a directory exists, if not it creates it and all the parents directory
+  //   which may be useful.
+  // Parameters :
+  //   $p_dir : Directory path to check.
+  // Return Values :
+  //    1 : OK
+  //   -1 : Unable to create directory
+  // --------------------------------------------------------------------------------
+  function privDirCheck($p_dir, $p_is_dir=false)
+  {
+    $v_result = 1;
+
+
+    // ----- Remove the final '/'
+    if (($p_is_dir) && (substr($p_dir, -1)=='/'))
+    {
+      $p_dir = substr($p_dir, 0, strlen($p_dir)-1);
+    }
+
+    // ----- Check the directory availability
+    if ((is_dir($p_dir)) || ($p_dir == ""))
+    {
+      return 1;
+    }
+
+    // ----- Extract parent directory
+    $p_parent_dir = dirname($p_dir);
+
+    // ----- Just a check
+    if ($p_parent_dir != $p_dir)
+    {
+      // ----- Look for parent directory
+      if ($p_parent_dir != "")
+      {
+        if (($v_result = $this->privDirCheck($p_parent_dir)) != 1)
+        {
+          return $v_result;
+        }
+      }
+    }
+
+    // ----- Create the directory
+    if (!@mkdir($p_dir, 0777))
+    {
+      // ----- Error log
+      PclZip::privErrorLog(PCLZIP_ERR_DIR_CREATE_FAIL, "Unable to create directory '$p_dir'");
+
+      // ----- Return
+      return PclZip::errorCode();
+    }
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privMerge()
+  // Description :
+  //   If $p_archive_to_add does not exist, the function exit with a success result.
+  // Parameters :
+  // Return Values :
+  // --------------------------------------------------------------------------------
+  function privMerge(&$p_archive_to_add)
+  {
+    $v_result=1;
+
+    // ----- Look if the archive_to_add exists
+    if (!is_file($p_archive_to_add->zipname))
+    {
+
+      // ----- Nothing to merge, so merge is a success
+      $v_result = 1;
+
+      // ----- Return
+      return $v_result;
+    }
+
+    // ----- Look if the archive exists
+    if (!is_file($this->zipname))
+    {
+
+      // ----- Do a duplicate
+      $v_result = $this->privDuplicate($p_archive_to_add->zipname);
+
+      // ----- Return
+      return $v_result;
+    }
+
+    // ----- Open the zip file
+    if (($v_result=$this->privOpenFd('rb')) != 1)
+    {
+      // ----- Return
+      return $v_result;
+    }
+
+    // ----- Read the central directory informations
+    $v_central_dir = array();
+    if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1)
+    {
+      $this->privCloseFd();
+      return $v_result;
+    }
+
+    // ----- Go to beginning of File
+    @rewind($this->zip_fd);
+
+    // ----- Open the archive_to_add file
+    if (($v_result=$p_archive_to_add->privOpenFd('rb')) != 1)
+    {
+      $this->privCloseFd();
+
+      // ----- Return
+      return $v_result;
+    }
+
+    // ----- Read the central directory informations
+    $v_central_dir_to_add = array();
+    if (($v_result = $p_archive_to_add->privReadEndCentralDir($v_central_dir_to_add)) != 1)
+    {
+      $this->privCloseFd();
+      $p_archive_to_add->privCloseFd();
+
+      return $v_result;
+    }
+
+    // ----- Go to beginning of File
+    @rewind($p_archive_to_add->zip_fd);
+
+    // ----- Creates a temporay file
+    $v_zip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.tmp';
+
+    // ----- Open the temporary file in write mode
+    if (($v_zip_temp_fd = @fopen($v_zip_temp_name, 'wb')) == 0)
+    {
+      $this->privCloseFd();
+      $p_archive_to_add->privCloseFd();
+
+      PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_zip_temp_name.'\' in binary write mode');
+
+      // ----- Return
+      return PclZip::errorCode();
+    }
+
+    // ----- Copy the files from the archive to the temporary file
+    // TBC : Here I should better append the file and go back to erase the central dir
+    $v_size = $v_central_dir['offset'];
+    while ($v_size != 0)
+    {
+      $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE);
+      $v_buffer = fread($this->zip_fd, $v_read_size);
+      @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size);
+      $v_size -= $v_read_size;
+    }
+
+    // ----- Copy the files from the archive_to_add into the temporary file
+    $v_size = $v_central_dir_to_add['offset'];
+    while ($v_size != 0)
+    {
+      $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE);
+      $v_buffer = fread($p_archive_to_add->zip_fd, $v_read_size);
+      @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size);
+      $v_size -= $v_read_size;
+    }
+
+    // ----- Store the offset of the central dir
+    $v_offset = @ftell($v_zip_temp_fd);
+
+    // ----- Copy the block of file headers from the old archive
+    $v_size = $v_central_dir['size'];
+    while ($v_size != 0)
+    {
+      $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE);
+      $v_buffer = @fread($this->zip_fd, $v_read_size);
+      @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size);
+      $v_size -= $v_read_size;
+    }
+
+    // ----- Copy the block of file headers from the archive_to_add
+    $v_size = $v_central_dir_to_add['size'];
+    while ($v_size != 0)
+    {
+      $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE);
+      $v_buffer = @fread($p_archive_to_add->zip_fd, $v_read_size);
+      @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size);
+      $v_size -= $v_read_size;
+    }
+
+    // ----- Merge the file comments
+    $v_comment = $v_central_dir['comment'].' '.$v_central_dir_to_add['comment'];
+
+    // ----- Calculate the size of the (new) central header
+    $v_size = @ftell($v_zip_temp_fd)-$v_offset;
+
+    // ----- Swap the file descriptor
+    // Here is a trick : I swap the temporary fd with the zip fd, in order to use
+    // the following methods on the temporary fil and not the real archive fd
+    $v_swap = $this->zip_fd;
+    $this->zip_fd = $v_zip_temp_fd;
+    $v_zip_temp_fd = $v_swap;
+
+    // ----- Create the central dir footer
+    if (($v_result = $this->privWriteCentralHeader($v_central_dir['entries']+$v_central_dir_to_add['entries'], $v_size, $v_offset, $v_comment)) != 1)
+    {
+      $this->privCloseFd();
+      $p_archive_to_add->privCloseFd();
+      @fclose($v_zip_temp_fd);
+      $this->zip_fd = null;
+
+      // ----- Reset the file list
+      unset($v_header_list);
+
+      // ----- Return
+      return $v_result;
+    }
+
+    // ----- Swap back the file descriptor
+    $v_swap = $this->zip_fd;
+    $this->zip_fd = $v_zip_temp_fd;
+    $v_zip_temp_fd = $v_swap;
+
+    // ----- Close
+    $this->privCloseFd();
+    $p_archive_to_add->privCloseFd();
+
+    // ----- Close the temporary file
+    @fclose($v_zip_temp_fd);
+
+    // ----- Delete the zip file
+    // TBC : I should test the result ...
+    @unlink($this->zipname);
+
+    // ----- Rename the temporary file
+    // TBC : I should test the result ...
+    //@rename($v_zip_temp_name, $this->zipname);
+    PclZipUtilRename($v_zip_temp_name, $this->zipname);
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privDuplicate()
+  // Description :
+  // Parameters :
+  // Return Values :
+  // --------------------------------------------------------------------------------
+  function privDuplicate($p_archive_filename)
+  {
+    $v_result=1;
+
+    // ----- Look if the $p_archive_filename exists
+    if (!is_file($p_archive_filename))
+    {
+
+      // ----- Nothing to duplicate, so duplicate is a success.
+      $v_result = 1;
+
+      // ----- Return
+      return $v_result;
+    }
+
+    // ----- Open the zip file
+    if (($v_result=$this->privOpenFd('wb')) != 1)
+    {
+      // ----- Return
+      return $v_result;
+    }
+
+    // ----- Open the temporary file in write mode
+    if (($v_zip_temp_fd = @fopen($p_archive_filename, 'rb')) == 0)
+    {
+      $this->privCloseFd();
+
+      PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive file \''.$p_archive_filename.'\' in binary write mode');
+
+      // ----- Return
+      return PclZip::errorCode();
+    }
+
+    // ----- Copy the files from the archive to the temporary file
+    // TBC : Here I should better append the file and go back to erase the central dir
+    $v_size = filesize($p_archive_filename);
+    while ($v_size != 0)
+    {
+      $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE);
+      $v_buffer = fread($v_zip_temp_fd, $v_read_size);
+      @fwrite($this->zip_fd, $v_buffer, $v_read_size);
+      $v_size -= $v_read_size;
+    }
+
+    // ----- Close
+    $this->privCloseFd();
+
+    // ----- Close the temporary file
+    @fclose($v_zip_temp_fd);
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privErrorLog()
+  // Description :
+  // Parameters :
+  // --------------------------------------------------------------------------------
+  function privErrorLog($p_error_code=0, $p_error_string='')
+  {
+    if (PCLZIP_ERROR_EXTERNAL == 1) {
+      PclError($p_error_code, $p_error_string);
+    }
+    else {
+      $this->error_code = $p_error_code;
+      $this->error_string = $p_error_string;
+    }
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privErrorReset()
+  // Description :
+  // Parameters :
+  // --------------------------------------------------------------------------------
+  function privErrorReset()
+  {
+    if (PCLZIP_ERROR_EXTERNAL == 1) {
+      PclErrorReset();
+    }
+    else {
+      $this->error_code = 0;
+      $this->error_string = '';
+    }
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privDisableMagicQuotes()
+  // Description :
+  // Parameters :
+  // Return Values :
+  // --------------------------------------------------------------------------------
+  function privDisableMagicQuotes()
+  {
+    $v_result=1;
+
+    // ----- Look if function exists
+    if (   (!function_exists("get_magic_quotes_runtime"))
+	    || (!function_exists("set_magic_quotes_runtime"))) {
+      return $v_result;
+	}
+
+    // ----- Look if already done
+    if ($this->magic_quotes_status != -1) {
+      return $v_result;
+	}
+
+	// ----- Get and memorize the magic_quote value
+	$this->magic_quotes_status = @get_magic_quotes_runtime();
+
+	// ----- Disable magic_quotes
+	if ($this->magic_quotes_status == 1) {
+	  @set_magic_quotes_runtime(0);
+	}
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : privSwapBackMagicQuotes()
+  // Description :
+  // Parameters :
+  // Return Values :
+  // --------------------------------------------------------------------------------
+  function privSwapBackMagicQuotes()
+  {
+    $v_result=1;
+
+    // ----- Look if function exists
+    if (   (!function_exists("get_magic_quotes_runtime"))
+	    || (!function_exists("set_magic_quotes_runtime"))) {
+      return $v_result;
+	}
+
+    // ----- Look if something to do
+    if ($this->magic_quotes_status != -1) {
+      return $v_result;
+	}
+
+	// ----- Swap back magic_quotes
+	if ($this->magic_quotes_status == 1) {
+  	  @set_magic_quotes_runtime($this->magic_quotes_status);
+	}
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  }
+  // End of class
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : PclZipUtilPathReduction()
+  // Description :
+  // Parameters :
+  // Return Values :
+  // --------------------------------------------------------------------------------
+  function PclZipUtilPathReduction($p_dir)
+  {
+    $v_result = "";
+
+    // ----- Look for not empty path
+    if ($p_dir != "") {
+      // ----- Explode path by directory names
+      $v_list = explode("/", $p_dir);
+
+      // ----- Study directories from last to first
+      $v_skip = 0;
+      for ($i=sizeof($v_list)-1; $i>=0; $i--) {
+        // ----- Look for current path
+        if ($v_list[$i] == ".") {
+          // ----- Ignore this directory
+          // Should be the first $i=0, but no check is done
+        }
+        else if ($v_list[$i] == "..") {
+		  $v_skip++;
+        }
+        else if ($v_list[$i] == "") {
+		  // ----- First '/' i.e. root slash
+		  if ($i == 0) {
+            $v_result = "/".$v_result;
+		    if ($v_skip > 0) {
+		        // ----- It is an invalid path, so the path is not modified
+		        // TBC
+		        $v_result = $p_dir;
+                $v_skip = 0;
+		    }
+		  }
+		  // ----- Last '/' i.e. indicates a directory
+		  else if ($i == (sizeof($v_list)-1)) {
+            $v_result = $v_list[$i];
+		  }
+		  // ----- Double '/' inside the path
+		  else {
+            // ----- Ignore only the double '//' in path,
+            // but not the first and last '/'
+		  }
+        }
+        else {
+		  // ----- Look for item to skip
+		  if ($v_skip > 0) {
+		    $v_skip--;
+		  }
+		  else {
+            $v_result = $v_list[$i].($i!=(sizeof($v_list)-1)?"/".$v_result:"");
+		  }
+        }
+      }
+      
+      // ----- Look for skip
+      if ($v_skip > 0) {
+        while ($v_skip > 0) {
+            $v_result = '../'.$v_result;
+            $v_skip--;
+        }
+      }
+    }
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : PclZipUtilPathInclusion()
+  // Description :
+  //   This function indicates if the path $p_path is under the $p_dir tree. Or,
+  //   said in an other way, if the file or sub-dir $p_path is inside the dir
+  //   $p_dir.
+  //   The function indicates also if the path is exactly the same as the dir.
+  //   This function supports path with duplicated '/' like '//', but does not
+  //   support '.' or '..' statements.
+  // Parameters :
+  // Return Values :
+  //   0 if $p_path is not inside directory $p_dir
+  //   1 if $p_path is inside directory $p_dir
+  //   2 if $p_path is exactly the same as $p_dir
+  // --------------------------------------------------------------------------------
+  function PclZipUtilPathInclusion($p_dir, $p_path)
+  {
+    $v_result = 1;
+    
+    // ----- Look for path beginning by ./
+    if (   ($p_dir == '.')
+        || ((strlen($p_dir) >=2) && (substr($p_dir, 0, 2) == './'))) {
+      $p_dir = PclZipUtilTranslateWinPath(getcwd(), FALSE).'/'.substr($p_dir, 1);
+    }
+    if (   ($p_path == '.')
+        || ((strlen($p_path) >=2) && (substr($p_path, 0, 2) == './'))) {
+      $p_path = PclZipUtilTranslateWinPath(getcwd(), FALSE).'/'.substr($p_path, 1);
+    }
+
+    // ----- Explode dir and path by directory separator
+    $v_list_dir = explode("/", $p_dir);
+    $v_list_dir_size = sizeof($v_list_dir);
+    $v_list_path = explode("/", $p_path);
+    $v_list_path_size = sizeof($v_list_path);
+
+    // ----- Study directories paths
+    $i = 0;
+    $j = 0;
+    while (($i < $v_list_dir_size) && ($j < $v_list_path_size) && ($v_result)) {
+
+      // ----- Look for empty dir (path reduction)
+      if ($v_list_dir[$i] == '') {
+        $i++;
+        continue;
+      }
+      if ($v_list_path[$j] == '') {
+        $j++;
+        continue;
+      }
+
+      // ----- Compare the items
+      if (($v_list_dir[$i] != $v_list_path[$j]) && ($v_list_dir[$i] != '') && ( $v_list_path[$j] != ''))  {
+        $v_result = 0;
+      }
+
+      // ----- Next items
+      $i++;
+      $j++;
+    }
+
+    // ----- Look if everything seems to be the same
+    if ($v_result) {
+      // ----- Skip all the empty items
+      while (($j < $v_list_path_size) && ($v_list_path[$j] == '')) $j++;
+      while (($i < $v_list_dir_size) && ($v_list_dir[$i] == '')) $i++;
+
+      if (($i >= $v_list_dir_size) && ($j >= $v_list_path_size)) {
+        // ----- There are exactly the same
+        $v_result = 2;
+      }
+      else if ($i < $v_list_dir_size) {
+        // ----- The path is shorter than the dir
+        $v_result = 0;
+      }
+    }
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : PclZipUtilCopyBlock()
+  // Description :
+  // Parameters :
+  //   $p_mode : read/write compression mode
+  //             0 : src & dest normal
+  //             1 : src gzip, dest normal
+  //             2 : src normal, dest gzip
+  //             3 : src & dest gzip
+  // Return Values :
+  // --------------------------------------------------------------------------------
+  function PclZipUtilCopyBlock($p_src, $p_dest, $p_size, $p_mode=0)
+  {
+    $v_result = 1;
+
+    if ($p_mode==0)
+    {
+      while ($p_size != 0)
+      {
+        $v_read_size = ($p_size < PCLZIP_READ_BLOCK_SIZE ? $p_size : PCLZIP_READ_BLOCK_SIZE);
+        $v_buffer = @fread($p_src, $v_read_size);
+        @fwrite($p_dest, $v_buffer, $v_read_size);
+        $p_size -= $v_read_size;
+      }
+    }
+    else if ($p_mode==1)
+    {
+      while ($p_size != 0)
+      {
+        $v_read_size = ($p_size < PCLZIP_READ_BLOCK_SIZE ? $p_size : PCLZIP_READ_BLOCK_SIZE);
+        $v_buffer = @gzread($p_src, $v_read_size);
+        @fwrite($p_dest, $v_buffer, $v_read_size);
+        $p_size -= $v_read_size;
+      }
+    }
+    else if ($p_mode==2)
+    {
+      while ($p_size != 0)
+      {
+        $v_read_size = ($p_size < PCLZIP_READ_BLOCK_SIZE ? $p_size : PCLZIP_READ_BLOCK_SIZE);
+        $v_buffer = @fread($p_src, $v_read_size);
+        @gzwrite($p_dest, $v_buffer, $v_read_size);
+        $p_size -= $v_read_size;
+      }
+    }
+    else if ($p_mode==3)
+    {
+      while ($p_size != 0)
+      {
+        $v_read_size = ($p_size < PCLZIP_READ_BLOCK_SIZE ? $p_size : PCLZIP_READ_BLOCK_SIZE);
+        $v_buffer = @gzread($p_src, $v_read_size);
+        @gzwrite($p_dest, $v_buffer, $v_read_size);
+        $p_size -= $v_read_size;
+      }
+    }
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : PclZipUtilRename()
+  // Description :
+  //   This function tries to do a simple rename() function. If it fails, it
+  //   tries to copy the $p_src file in a new $p_dest file and then unlink the
+  //   first one.
+  // Parameters :
+  //   $p_src : Old filename
+  //   $p_dest : New filename
+  // Return Values :
+  //   1 on success, 0 on failure.
+  // --------------------------------------------------------------------------------
+  function PclZipUtilRename($p_src, $p_dest)
+  {
+    $v_result = 1;
+
+    // ----- Try to rename the files
+    if (!@rename($p_src, $p_dest)) {
+
+      // ----- Try to copy & unlink the src
+      if (!@copy($p_src, $p_dest)) {
+        $v_result = 0;
+      }
+      else if (!@unlink($p_src)) {
+        $v_result = 0;
+      }
+    }
+
+    // ----- Return
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : PclZipUtilOptionText()
+  // Description :
+  //   Translate option value in text. Mainly for debug purpose.
+  // Parameters :
+  //   $p_option : the option value.
+  // Return Values :
+  //   The option text value.
+  // --------------------------------------------------------------------------------
+  function PclZipUtilOptionText($p_option)
+  {
+    
+    $v_list = get_defined_constants();
+    for (reset($v_list); $v_key = key($v_list); next($v_list)) {
+	    $v_prefix = substr($v_key, 0, 10);
+	    if ((   ($v_prefix == 'PCLZIP_OPT')
+           || ($v_prefix == 'PCLZIP_CB_')
+           || ($v_prefix == 'PCLZIP_ATT'))
+	        && ($v_list[$v_key] == $p_option)) {
+        return $v_key;
+	    }
+    }
+    
+    $v_result = 'Unknown';
+
+    return $v_result;
+  }
+  // --------------------------------------------------------------------------------
+
+  // --------------------------------------------------------------------------------
+  // Function : PclZipUtilTranslateWinPath()
+  // Description :
+  //   Translate windows path by replacing '\' by '/' and optionally removing
+  //   drive letter.
+  // Parameters :
+  //   $p_path : path to translate.
+  //   $p_remove_disk_letter : true | false
+  // Return Values :
+  //   The path translated.
+  // --------------------------------------------------------------------------------
+  function PclZipUtilTranslateWinPath($p_path, $p_remove_disk_letter=true)
+  {
+    if (stristr(php_uname(), 'windows')) {
+      // ----- Look for potential disk letter
+      if (($p_remove_disk_letter) && (($v_position = strpos($p_path, ':')) != false)) {
+          $p_path = substr($p_path, $v_position+1);
+      }
+      // ----- Change potential windows directory separator
+      if ((strpos($p_path, '\\') > 0) || (substr($p_path, 0,1) == '\\')) {
+          $p_path = strtr($p_path, '\\', '/');
+      }
+    }
+    return $p_path;
+  }
+  // --------------------------------------------------------------------------------
+
+
+?>

Property changes on: tags/2.8.2/wb/include/pclzip/pclzip.lib.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/pclzip/index.php
===================================================================
--- tags/2.8.2/wb/include/pclzip/index.php	(nonexistent)
+++ tags/2.8.2/wb/include/pclzip/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/pclzip/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/include/pclzip/gnu-lgpl.txt
===================================================================
--- tags/2.8.2/wb/include/pclzip/gnu-lgpl.txt	(nonexistent)
+++ tags/2.8.2/wb/include/pclzip/gnu-lgpl.txt	(revision 1481)
@@ -0,0 +1,504 @@
+		  GNU LESSER GENERAL PUBLIC LICENSE
+		       Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+		  GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+  
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+			    NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+           How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.  It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the library's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!
+
+

Property changes on: tags/2.8.2/wb/include/pclzip/gnu-lgpl.txt
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/phpmailer/class.phpmailer.php
===================================================================
--- tags/2.8.2/wb/include/phpmailer/class.phpmailer.php	(nonexistent)
+++ tags/2.8.2/wb/include/phpmailer/class.phpmailer.php	(revision 1481)
@@ -0,0 +1,1925 @@
+<?php
+/*~ class.phpmailer.php
+.---------------------------------------------------------------------------.
+|  Software: PHPMailer - PHP email class                                    |
+|   Version: 2.0.4                                                          |
+|   Contact: via sourceforge.net support pages (also www.codeworxtech.com)  |
+|      Info: http://phpmailer.sourceforge.net                               |
+|   Support: http://sourceforge.net/projects/phpmailer/                     |
+| ------------------------------------------------------------------------- |
+|    Author: Andy Prevost (project admininistrator)                         |
+|    Author: Brent R. Matzelle (original founder)                           |
+| Copyright (c) 2004-2007, Andy Prevost. All Rights Reserved.               |
+| Copyright (c) 2001-2003, Brent R. Matzelle                                |
+| ------------------------------------------------------------------------- |
+|   License: Distributed under the Lesser General Public License (LGPL)     |
+|            http://www.gnu.org/copyleft/lesser.html                        |
+| This program is distributed in the hope that it will be useful - WITHOUT  |
+| ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or     |
+| FITNESS FOR A PARTICULAR PURPOSE.                                         |
+| ------------------------------------------------------------------------- |
+| We offer a number of paid services (www.codeworxtech.com):                |
+| - Web Hosting on highly optimized fast and secure servers                 |
+| - Technology Consulting                                                   |
+| - Oursourcing (highly qualified programmers and graphic designers)        |
+'---------------------------------------------------------------------------'
+/*
+    Ticket #783
+    fix Function "set_magic_quotes_runtime" is depriciated in PHP 5.3.x 2009/11/25
+
+
+*/
+
+
+/**
+ * PHPMailer - PHP email transport class
+ * @package PHPMailer
+ * @author Andy Prevost
+ * @copyright 2004 - 2009 Andy Prevost
+ */
+
+class PHPMailer {
+
+  /////////////////////////////////////////////////
+  // PROPERTIES, PUBLIC
+  /////////////////////////////////////////////////
+
+  /**
+   * Email priority (1 = High, 3 = Normal, 5 = low).
+   * @var int
+   */
+  var $Priority          = 3;
+
+  /**
+   * Sets the CharSet of the message.
+   * @var string
+   */
+  var $CharSet           = 'iso-8859-1';
+
+  /**
+   * Sets the Content-type of the message.
+   * @var string
+   */
+  var $ContentType        = 'text/plain';
+
+  /**
+   * Sets the Encoding of the message. Options for this are "8bit",
+   * "7bit", "binary", "base64", and "quoted-printable".
+   * @var string
+   */
+  var $Encoding          = '8bit';
+
+  /**
+   * Holds the most recent mailer error message.
+   * @var string
+   */
+  var $ErrorInfo         = '';
+
+  /**
+   * Sets the From email address for the message.
+   * @var string
+   */
+  var $From              = 'root@localhost';
+
+  /**
+   * Sets the From name of the message.
+   * @var string
+   */
+  var $FromName          = 'Root User';
+
+  /**
+   * Sets the Sender email (Return-Path) of the message.  If not empty,
+   * will be sent via -f to sendmail or as 'MAIL FROM' in smtp mode.
+   * @var string
+   */
+  var $Sender            = '';
+
+  /**
+   * Sets the Subject of the message.
+   * @var string
+   */
+  var $Subject           = '';
+
+  /**
+   * Sets the Body of the message.  This can be either an HTML or text body.
+   * If HTML then run IsHTML(true).
+   * @var string
+   */
+  var $Body              = '';
+
+  /**
+   * Sets the text-only body of the message.  This automatically sets the
+   * email to multipart/alternative.  This body can be read by mail
+   * clients that do not have HTML email capability such as mutt. Clients
+   * that can read HTML will view the normal Body.
+   * @var string
+   */
+  var $AltBody           = '';
+
+  /**
+   * Sets word wrapping on the body of the message to a given number of
+   * characters.
+   * @var int
+   */
+  var $WordWrap          = 0;
+
+  /**
+   * Method to send mail: ("mail", "sendmail", or "smtp").
+   * @var string
+   */
+  var $Mailer            = 'mail';
+
+  /**
+   * Sets the path of the sendmail program.
+   * @var string
+   */
+  var $Sendmail          = '/usr/sbin/sendmail';
+
+  /**
+   * Path to PHPMailer plugins.  This is now only useful if the SMTP class
+   * is in a different directory than the PHP include path.
+   * @var string
+   */
+  var $PluginDir         = '';
+
+  /**
+   * Holds PHPMailer version.
+   * @var string
+   */
+  var $Version           = "2.0.4";
+
+  /**
+   * Sets the email address that a reading confirmation will be sent.
+   * @var string
+   */
+  var $ConfirmReadingTo  = '';
+
+  /**
+   * Sets the hostname to use in Message-Id and Received headers
+   * and as default HELO string. If empty, the value returned
+   * by SERVER_NAME is used or 'localhost.localdomain'.
+   * @var string
+   */
+  var $Hostname          = '';
+
+  /**
+   * Sets the message ID to be used in the Message-Id header.
+   * If empty, a unique id will be generated.
+   * @var string
+   */
+  var $MessageID         = '';
+
+  /////////////////////////////////////////////////
+  // PROPERTIES FOR SMTP
+  /////////////////////////////////////////////////
+
+  /**
+   * Sets the SMTP hosts.  All hosts must be separated by a
+   * semicolon.  You can also specify a different port
+   * for each host by using this format: [hostname:port]
+   * (e.g. "smtp1.example.com:25;smtp2.example.com").
+   * Hosts will be tried in order.
+   * @var string
+   */
+  var $Host        = 'localhost';
+
+  /**
+   * Sets the default SMTP server port.
+   * @var int
+   */
+  var $Port        = 25;
+
+  /**
+   * Sets the SMTP HELO of the message (Default is $Hostname).
+   * @var string
+   */
+  var $Helo        = '';
+
+  /**
+   * Sets connection prefix.
+   * Options are "", "ssl" or "tls"
+   * @var string
+   */
+  var $SMTPSecure = "";
+
+  /**
+   * Sets SMTP authentication. Utilizes the Username and Password variables.
+   * @var bool
+   */
+  var $SMTPAuth     = false;
+
+  /**
+   * Sets SMTP username.
+   * @var string
+   */
+  var $Username     = '';
+
+  /**
+   * Sets SMTP password.
+   * @var string
+   */
+  var $Password     = '';
+
+  /**
+   * Sets the SMTP server timeout in seconds. This function will not
+   * work with the win32 version.
+   * @var int
+   */
+  var $Timeout      = 10;
+
+  /**
+   * Sets SMTP class debugging on or off.
+   * @var bool
+   */
+  var $SMTPDebug    = false;
+
+  /**
+   * Prevents the SMTP connection from being closed after each mail
+   * sending.  If this is set to true then to close the connection
+   * requires an explicit call to SmtpClose().
+   * @var bool
+   */
+  var $SMTPKeepAlive = false;
+
+  /**
+   * Provides the ability to have the TO field process individual
+   * emails, instead of sending to entire TO addresses
+   * @var bool
+   */
+  var $SingleTo = false;
+
+  /////////////////////////////////////////////////
+  // PROPERTIES, PRIVATE
+  /////////////////////////////////////////////////
+
+  var $smtp            = NULL;
+  var $to              = array();
+  var $cc              = array();
+  var $bcc             = array();
+  var $ReplyTo         = array();
+  var $attachment      = array();
+  var $CustomHeader    = array();
+  var $message_type    = '';
+  var $boundary        = array();
+  var $language        = array();
+  var $error_count     = 0;
+  var $LE              = "\n";
+  var $sign_cert_file  = "";
+  var $sign_key_file   = "";
+  var $sign_key_pass   = "";
+
+  /////////////////////////////////////////////////
+  // METHODS, VARIABLES
+  /////////////////////////////////////////////////
+
+  /**
+   * Sets message type to HTML.
+   * @param bool $bool
+   * @return void
+   */
+  function IsHTML($bool) {
+    if($bool == true) {
+      $this->ContentType = 'text/html';
+    } else {
+      $this->ContentType = 'text/plain';
+    }
+  }
+
+  /**
+   * Sets Mailer to send message using SMTP.
+   * @return void
+   */
+  function IsSMTP() {
+    $this->Mailer = 'smtp';
+  }
+
+  /**
+   * Sets Mailer to send message using PHP mail() function.
+   * @return void
+   */
+  function IsMail() {
+    $this->Mailer = 'mail';
+  }
+
+  /**
+   * Sets Mailer to send message using the $Sendmail program.
+   * @return void
+   */
+  function IsSendmail() {
+    $this->Mailer = 'sendmail';
+  }
+
+  /**
+   * Sets Mailer to send message using the qmail MTA.
+   * @return void
+   */
+  function IsQmail() {
+    $this->Sendmail = '/var/qmail/bin/sendmail';
+    $this->Mailer = 'sendmail';
+  }
+
+  /////////////////////////////////////////////////
+  // METHODS, RECIPIENTS
+  /////////////////////////////////////////////////
+
+  /**
+   * Adds a "To" address.
+   * @param string $address
+   * @param string $name
+   * @return void
+   */
+  function AddAddress($address, $name = '') {
+    $cur = count($this->to);
+    $this->to[$cur][0] = trim($address);
+    $this->to[$cur][1] = $name;
+  }
+
+  /**
+   * Adds a "Cc" address. Note: this function works
+   * with the SMTP mailer on win32, not with the "mail"
+   * mailer.
+   * @param string $address
+   * @param string $name
+   * @return void
+   */
+  function AddCC($address, $name = '') {
+    $cur = count($this->cc);
+    $this->cc[$cur][0] = trim($address);
+    $this->cc[$cur][1] = $name;
+  }
+
+  /**
+   * Adds a "Bcc" address. Note: this function works
+   * with the SMTP mailer on win32, not with the "mail"
+   * mailer.
+   * @param string $address
+   * @param string $name
+   * @return void
+   */
+  function AddBCC($address, $name = '') {
+    $cur = count($this->bcc);
+    $this->bcc[$cur][0] = trim($address);
+    $this->bcc[$cur][1] = $name;
+  }
+
+  /**
+   * Adds a "Reply-To" address.
+   * @param string $address
+   * @param string $name
+   * @return void
+   */
+  function AddReplyTo($address, $name = '') {
+    $cur = count($this->ReplyTo);
+    $this->ReplyTo[$cur][0] = trim($address);
+    $this->ReplyTo[$cur][1] = $name;
+  }
+
+  /////////////////////////////////////////////////
+  // METHODS, MAIL SENDING
+  /////////////////////////////////////////////////
+
+  /**
+   * Creates message and assigns Mailer. If the message is
+   * not sent successfully then it returns false.  Use the ErrorInfo
+   * variable to view description of the error.
+   * @return bool
+   */
+  function Send() {
+    $header = '';
+    $body = '';
+    $result = true;
+
+    if((count($this->to) + count($this->cc) + count($this->bcc)) < 1) {
+      $this->SetError($this->Lang('provide_address'));
+      return false;
+    }
+
+    /* Set whether the message is multipart/alternative */
+    if(!empty($this->AltBody)) {
+      $this->ContentType = 'multipart/alternative';
+    }
+
+    $this->error_count = 0; // reset errors
+    $this->SetMessageType();
+    $header .= $this->CreateHeader();
+    $body = $this->CreateBody();
+
+    if($body == '') {
+      return false;
+    }
+
+    /* Choose the mailer */
+    switch($this->Mailer) {
+      case 'sendmail':
+        $result = $this->SendmailSend($header, $body);
+        break;
+      case 'smtp':
+        $result = $this->SmtpSend($header, $body);
+        break;
+      case 'mail':
+        $result = $this->MailSend($header, $body);
+        break;
+      default:
+        $result = $this->MailSend($header, $body);
+        break;
+        //$this->SetError($this->Mailer . $this->Lang('mailer_not_supported'));
+        //$result = false;
+        //break;
+    }
+
+    return $result;
+  }
+
+  /**
+   * Sends mail using the $Sendmail program.
+   * @access private
+   * @return bool
+   */
+  function SendmailSend($header, $body) {
+    if ($this->Sender != '') {
+      $sendmail = sprintf("%s -oi -f %s -t", escapeshellcmd($this->Sendmail), escapeshellarg($this->Sender));
+    } else {
+      $sendmail = sprintf("%s -oi -t", escapeshellcmd($this->Sendmail));
+    }
+
+    if(!@$mail = popen($sendmail, 'w')) {
+      $this->SetError($this->Lang('execute') . $this->Sendmail);
+      return false;
+    }
+
+    fputs($mail, $header);
+    fputs($mail, $body);
+
+    $result = pclose($mail);
+    if (version_compare(phpversion(), '4.2.3') == -1) {
+      $result = $result >> 8 & 0xFF;
+    }
+    if($result != 0) {
+      $this->SetError($this->Lang('execute') . $this->Sendmail);
+      return false;
+    }
+    return true;
+  }
+
+  /**
+   * Sends mail using the PHP mail() function.
+   * @access private
+   * @return bool
+   */
+  function MailSend($header, $body) {
+
+    $to = '';
+    for($i = 0; $i < count($this->to); $i++) {
+      if($i != 0) { $to .= ', '; }
+      $to .= $this->AddrFormat($this->to[$i]);
+    }
+
+    $toArr = explode(",", $to);
+
+    $params = sprintf("-oi -f %s", $this->Sender);
+    if ($this->Sender != '' && strlen(ini_get('safe_mode')) < 1) {
+      $old_from = ini_get('sendmail_from');
+      ini_set('sendmail_from', $this->Sender);
+      if ($this->SingleTo === true && count($toArr) > 1) {
+        foreach ($toArr as $key => $val) {
+          $rt = @mail($val, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header, $params);
+        }
+      } else {
+        $rt = @mail($to, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header, $params);
+      }
+    } else {
+      if ($this->SingleTo === true && count($toArr) > 1) {
+        foreach ($toArr as $key => $val) {
+          $rt = @mail($val, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header, $params);
+        }
+      } else {
+        $rt = @mail($to, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header);
+      }
+    }
+
+    if (isset($old_from)) {
+      ini_set('sendmail_from', $old_from);
+    }
+
+    if(!$rt) {
+      $this->SetError($this->Lang('instantiate'));
+      return false;
+    }
+
+    return true;
+  }
+
+  /**
+   * Sends mail via SMTP using PhpSMTP (Author:
+   * Chris Ryan).  Returns bool.  Returns false if there is a
+   * bad MAIL FROM, RCPT, or DATA input.
+   * @access private
+   * @return bool
+   */
+  function SmtpSend($header, $body) {
+    include_once($this->PluginDir . 'class.smtp.php');
+    $error = '';
+    $bad_rcpt = array();
+
+    if(!$this->SmtpConnect()) {
+      return false;
+    }
+
+    $smtp_from = ($this->Sender == '') ? $this->From : $this->Sender;
+    if(!$this->smtp->Mail($smtp_from)) {
+      $error = $this->Lang('from_failed') . $smtp_from;
+      $this->SetError($error);
+      $this->smtp->Reset();
+      return false;
+    }
+
+    /* Attempt to send attach all recipients */
+    for($i = 0; $i < count($this->to); $i++) {
+      if(!$this->smtp->Recipient($this->to[$i][0])) {
+        $bad_rcpt[] = $this->to[$i][0];
+      }
+    }
+    for($i = 0; $i < count($this->cc); $i++) {
+      if(!$this->smtp->Recipient($this->cc[$i][0])) {
+        $bad_rcpt[] = $this->cc[$i][0];
+      }
+    }
+    for($i = 0; $i < count($this->bcc); $i++) {
+      if(!$this->smtp->Recipient($this->bcc[$i][0])) {
+        $bad_rcpt[] = $this->bcc[$i][0];
+      }
+    }
+
+    if(count($bad_rcpt) > 0) { // Create error message
+      for($i = 0; $i < count($bad_rcpt); $i++) {
+        if($i != 0) {
+          $error .= ', ';
+        }
+        $error .= $bad_rcpt[$i];
+      }
+      $error = $this->Lang('recipients_failed') . $error;
+      $this->SetError($error);
+      $this->smtp->Reset();
+      return false;
+    }
+
+    if(!$this->smtp->Data($header . $body)) {
+      $this->SetError($this->Lang('data_not_accepted'));
+      $this->smtp->Reset();
+      return false;
+    }
+    if($this->SMTPKeepAlive == true) {
+      $this->smtp->Reset();
+    } else {
+      $this->SmtpClose();
+    }
+
+    return true;
+  }
+
+  /**
+   * Initiates a connection to an SMTP server.  Returns false if the
+   * operation failed.
+   * @access private
+   * @return bool
+   */
+  function SmtpConnect() {
+    if($this->smtp == NULL) {
+      $this->smtp = new SMTP();
+    }
+
+    $this->smtp->do_debug = $this->SMTPDebug;
+    $hosts = explode(';', $this->Host);
+    $index = 0;
+    $connection = ($this->smtp->Connected());
+
+    /* Retry while there is no connection */
+    while($index < count($hosts) && $connection == false) {
+      $hostinfo = array();
+      if(eregi('^(.+):([0-9]+)$', $hosts[$index], $hostinfo)) {
+        $host = $hostinfo[1];
+        $port = $hostinfo[2];
+      } else {
+        $host = $hosts[$index];
+        $port = $this->Port;
+      }
+
+      if($this->smtp->Connect(((!empty($this->SMTPSecure))?$this->SMTPSecure.'://':'').$host, $port, $this->Timeout)) {
+        if ($this->Helo != '') {
+          $this->smtp->Hello($this->Helo);
+        } else {
+          $this->smtp->Hello($this->ServerHostname());
+        }
+
+        $connection = true;
+        if($this->SMTPAuth) {
+          if(!$this->smtp->Authenticate($this->Username, $this->Password)) {
+            $this->SetError($this->Lang('authenticate'));
+            $this->smtp->Reset();
+            $connection = false;
+          }
+        }
+      }
+      $index++;
+    }
+    if(!$connection) {
+      $this->SetError($this->Lang('connect_host'));
+    }
+
+    return $connection;
+  }
+
+  /**
+   * Closes the active SMTP session if one exists.
+   * @return void
+   */
+  function SmtpClose() {
+    if($this->smtp != NULL) {
+      if($this->smtp->Connected()) {
+        $this->smtp->Quit();
+        $this->smtp->Close();
+      }
+    }
+  }
+
+  /**
+   * Sets the language for all class error messages.  Returns false
+   * if it cannot load the language file.  The default language type
+   * is English.
+   * @param string $lang_type Type of language (e.g. Portuguese: "br")
+   * @param string $lang_path Path to the language file directory
+   * @access public
+   * @return bool
+   */
+  function SetLanguage($lang_type, $lang_path = 'language/') {
+    if(file_exists($lang_path.'phpmailer.lang-'.$lang_type.'.php')) {
+      include($lang_path.'phpmailer.lang-'.$lang_type.'.php');
+    } elseif (file_exists($lang_path.'phpmailer.lang-en.php')) {
+      include($lang_path.'phpmailer.lang-en.php');
+    } else {
+      $PHPMAILER_LANG = array();
+      $PHPMAILER_LANG["provide_address"]      = 'You must provide at least one ' .
+      $PHPMAILER_LANG["mailer_not_supported"] = ' mailer is not supported.';
+      $PHPMAILER_LANG["execute"]              = 'Could not execute: ';
+      $PHPMAILER_LANG["instantiate"]          = 'Could not instantiate mail function.';
+      $PHPMAILER_LANG["authenticate"]         = 'SMTP Error: Could not authenticate.';
+      $PHPMAILER_LANG["from_failed"]          = 'The following From address failed: ';
+      $PHPMAILER_LANG["recipients_failed"]    = 'SMTP Error: The following ' .
+      $PHPMAILER_LANG["data_not_accepted"]    = 'SMTP Error: Data not accepted.';
+      $PHPMAILER_LANG["connect_host"]         = 'SMTP Error: Could not connect to SMTP host.';
+      $PHPMAILER_LANG["file_access"]          = 'Could not access file: ';
+      $PHPMAILER_LANG["file_open"]            = 'File Error: Could not open file: ';
+      $PHPMAILER_LANG["encoding"]             = 'Unknown encoding: ';
+      $PHPMAILER_LANG["signing"]              = 'Signing Error: ';
+    }
+    $this->language = $PHPMAILER_LANG;
+
+    return true;
+  }
+
+  /////////////////////////////////////////////////
+  // METHODS, MESSAGE CREATION
+  /////////////////////////////////////////////////
+
+  /**
+   * Creates recipient headers.
+   * @access private
+   * @return string
+   */
+  function AddrAppend($type, $addr) {
+    $addr_str = $type . ': ';
+    $addr_str .= $this->AddrFormat($addr[0]);
+    if(count($addr) > 1) {
+      for($i = 1; $i < count($addr); $i++) {
+        $addr_str .= ', ' . $this->AddrFormat($addr[$i]);
+      }
+    }
+    $addr_str .= $this->LE;
+
+    return $addr_str;
+  }
+
+  /**
+   * Formats an address correctly.
+   * @access private
+   * @return string
+   */
+  function AddrFormat($addr) {
+    if(empty($addr[1])) {
+      $formatted = $this->SecureHeader($addr[0]);
+    } else {
+      $formatted = $this->EncodeHeader($this->SecureHeader($addr[1]), 'phrase') . " <" . $this->SecureHeader($addr[0]) . ">";
+    }
+
+    return $formatted;
+  }
+
+  /**
+   * Wraps message for use with mailers that do not
+   * automatically perform wrapping and for quoted-printable.
+   * Original written by philippe.
+   * @access private
+   * @return string
+   */
+  function WrapText($message, $length, $qp_mode = false) {
+    $soft_break = ($qp_mode) ? sprintf(" =%s", $this->LE) : $this->LE;
+    // If utf-8 encoding is used, we will need to make sure we don't
+    // split multibyte characters when we wrap
+    $is_utf8 = (strtolower($this->CharSet) == "utf-8");
+
+    $message = $this->FixEOL($message);
+    if (substr($message, -1) == $this->LE) {
+      $message = substr($message, 0, -1);
+    }
+
+    $line = explode($this->LE, $message);
+    $message = '';
+    for ($i=0 ;$i < count($line); $i++) {
+      $line_part = explode(' ', $line[$i]);
+      $buf = '';
+      for ($e = 0; $e<count($line_part); $e++) {
+        $word = $line_part[$e];
+        if ($qp_mode and (strlen($word) > $length)) {
+          $space_left = $length - strlen($buf) - 1;
+          if ($e != 0) {
+            if ($space_left > 20) {
+              $len = $space_left;
+              if ($is_utf8) {
+                $len = $this->UTF8CharBoundary($word, $len);
+              } elseif (substr($word, $len - 1, 1) == "=") {
+                $len--;
+              } elseif (substr($word, $len - 2, 1) == "=") {
+                $len -= 2;
+              }
+              $part = substr($word, 0, $len);
+              $word = substr($word, $len);
+              $buf .= ' ' . $part;
+              $message .= $buf . sprintf("=%s", $this->LE);
+            } else {
+              $message .= $buf . $soft_break;
+            }
+            $buf = '';
+          }
+          while (strlen($word) > 0) {
+            $len = $length;
+            if ($is_utf8) {
+              $len = $this->UTF8CharBoundary($word, $len);
+            } elseif (substr($word, $len - 1, 1) == "=") {
+              $len--;
+            } elseif (substr($word, $len - 2, 1) == "=") {
+              $len -= 2;
+            }
+            $part = substr($word, 0, $len);
+            $word = substr($word, $len);
+
+            if (strlen($word) > 0) {
+              $message .= $part . sprintf("=%s", $this->LE);
+            } else {
+              $buf = $part;
+            }
+          }
+        } else {
+          $buf_o = $buf;
+          $buf .= ($e == 0) ? $word : (' ' . $word);
+
+          if (strlen($buf) > $length and $buf_o != '') {
+            $message .= $buf_o . $soft_break;
+            $buf = $word;
+          }
+        }
+      }
+      $message .= $buf . $this->LE;
+    }
+
+    return $message;
+  }
+
+  /**
+   * Finds last character boundary prior to maxLength in a utf-8
+   * quoted (printable) encoded string.
+   * Original written by Colin Brown.
+   * @access private
+   * @param string $encodedText utf-8 QP text
+   * @param int    $maxLength   find last character boundary prior to this length
+   * @return int
+   */
+  function UTF8CharBoundary($encodedText, $maxLength) {
+    $foundSplitPos = false;
+    $lookBack = 3;
+    while (!$foundSplitPos) {
+      $lastChunk = substr($encodedText, $maxLength - $lookBack, $lookBack);
+      $encodedCharPos = strpos($lastChunk, "=");
+      if ($encodedCharPos !== false) {
+        // Found start of encoded character byte within $lookBack block.
+        // Check the encoded byte value (the 2 chars after the '=')
+        $hex = substr($encodedText, $maxLength - $lookBack + $encodedCharPos + 1, 2);
+        $dec = hexdec($hex);
+        if ($dec < 128) { // Single byte character.
+          // If the encoded char was found at pos 0, it will fit
+          // otherwise reduce maxLength to start of the encoded char
+          $maxLength = ($encodedCharPos == 0) ? $maxLength :
+          $maxLength - ($lookBack - $encodedCharPos);
+          $foundSplitPos = true;
+        } elseif ($dec >= 192) { // First byte of a multi byte character
+          // Reduce maxLength to split at start of character
+          $maxLength = $maxLength - ($lookBack - $encodedCharPos);
+          $foundSplitPos = true;
+        } elseif ($dec < 192) { // Middle byte of a multi byte character, look further back
+          $lookBack += 3;
+        }
+      } else {
+        // No encoded character found
+        $foundSplitPos = true;
+      }
+    }
+    return $maxLength;
+  }
+
+  /**
+   * Set the body wrapping.
+   * @access private
+   * @return void
+   */
+  function SetWordWrap() {
+    if($this->WordWrap < 1) {
+      return;
+    }
+
+    switch($this->message_type) {
+      case 'alt':
+        /* fall through */
+      case 'alt_attachments':
+        $this->AltBody = $this->WrapText($this->AltBody, $this->WordWrap);
+        break;
+      default:
+        $this->Body = $this->WrapText($this->Body, $this->WordWrap);
+        break;
+    }
+  }
+
+  /**
+   * Assembles message header.
+   * @access private
+   * @return string
+   */
+  function CreateHeader() {
+    $result = '';
+
+    /* Set the boundaries */
+    $uniq_id = md5(uniqid(time()));
+    $this->boundary[1] = 'b1_' . $uniq_id;
+    $this->boundary[2] = 'b2_' . $uniq_id;
+
+    $result .= $this->HeaderLine('Date', $this->RFCDate());
+    if($this->Sender == '') {
+      $result .= $this->HeaderLine('Return-Path', trim($this->From));
+    } else {
+      $result .= $this->HeaderLine('Return-Path', trim($this->Sender));
+    }
+
+    /* To be created automatically by mail() */
+    if($this->Mailer != 'mail') {
+      if(count($this->to) > 0) {
+        $result .= $this->AddrAppend('To', $this->to);
+      } elseif (count($this->cc) == 0) {
+        $result .= $this->HeaderLine('To', 'undisclosed-recipients:;');
+      }
+    }
+
+    $from = array();
+    $from[0][0] = trim($this->From);
+    $from[0][1] = $this->FromName;
+    $result .= $this->AddrAppend('From', $from);
+
+    /* sendmail and mail() extract Cc from the header before sending */
+    if((($this->Mailer == 'sendmail') || ($this->Mailer == 'mail')) && (count($this->cc) > 0)) {
+      $result .= $this->AddrAppend('Cc', $this->cc);
+    }
+
+    /* sendmail and mail() extract Bcc from the header before sending */
+    if((($this->Mailer == 'sendmail') || ($this->Mailer == 'mail')) && (count($this->bcc) > 0)) {
+      $result .= $this->AddrAppend('Bcc', $this->bcc);
+    }
+
+    if(count($this->ReplyTo) > 0) {
+      $result .= $this->AddrAppend('Reply-To', $this->ReplyTo);
+    }
+
+    /* mail() sets the subject itself */
+    if($this->Mailer != 'mail') {
+      $result .= $this->HeaderLine('Subject', $this->EncodeHeader($this->SecureHeader($this->Subject)));
+    }
+
+    if($this->MessageID != '') {
+      $result .= $this->HeaderLine('Message-ID',$this->MessageID);
+    } else {
+      $result .= sprintf("Message-ID: <%s@%s>%s", $uniq_id, $this->ServerHostname(), $this->LE);
+    }
+    $result .= $this->HeaderLine('X-Priority', $this->Priority);
+    $result .= $this->HeaderLine('X-Mailer', 'PHPMailer (phpmailer.sourceforge.net) [version ' . $this->Version . ']');
+
+    if($this->ConfirmReadingTo != '') {
+      $result .= $this->HeaderLine('Disposition-Notification-To', '<' . trim($this->ConfirmReadingTo) . '>');
+    }
+
+    // Add custom headers
+    for($index = 0; $index < count($this->CustomHeader); $index++) {
+      $result .= $this->HeaderLine(trim($this->CustomHeader[$index][0]), $this->EncodeHeader(trim($this->CustomHeader[$index][1])));
+    }
+    if (!$this->sign_key_file) {
+      $result .= $this->HeaderLine('MIME-Version', '1.0');
+      $result .= $this->GetMailMIME();
+    }
+
+    return $result;
+  }
+
+  /**
+   * Returns the message MIME.
+   * @access private
+   * @return string
+   */
+  function GetMailMIME() {
+    $result = '';
+    switch($this->message_type) {
+      case 'plain':
+        $result .= $this->HeaderLine('Content-Transfer-Encoding', $this->Encoding);
+        $result .= sprintf("Content-Type: %s; charset=\"%s\"", $this->ContentType, $this->CharSet);
+        break;
+      case 'attachments':
+        /* fall through */
+      case 'alt_attachments':
+        if($this->InlineImageExists()){
+          $result .= sprintf("Content-Type: %s;%s\ttype=\"text/html\";%s\tboundary=\"%s\"%s", 'multipart/related', $this->LE, $this->LE, $this->boundary[1], $this->LE);
+        } else {
+          $result .= $this->HeaderLine('Content-Type', 'multipart/mixed;');
+          $result .= $this->TextLine("\tboundary=\"" . $this->boundary[1] . '"');
+        }
+        break;
+      case 'alt':
+        $result .= $this->HeaderLine('Content-Type', 'multipart/alternative;');
+        $result .= $this->TextLine("\tboundary=\"" . $this->boundary[1] . '"');
+        break;
+    }
+
+    if($this->Mailer != 'mail') {
+      $result .= $this->LE.$this->LE;
+    }
+
+    return $result;
+  }
+
+  /**
+   * Assembles the message body.  Returns an empty string on failure.
+   * @access private
+   * @return string
+   */
+  function CreateBody() {
+    $result = '';
+    if ($this->sign_key_file) {
+      $result .= $this->GetMailMIME();
+    }
+
+    $this->SetWordWrap();
+
+    switch($this->message_type) {
+      case 'alt':
+        $result .= $this->GetBoundary($this->boundary[1], '', 'text/plain', '');
+        $result .= $this->EncodeString($this->AltBody, $this->Encoding);
+        $result .= $this->LE.$this->LE;
+        $result .= $this->GetBoundary($this->boundary[1], '', 'text/html', '');
+        $result .= $this->EncodeString($this->Body, $this->Encoding);
+        $result .= $this->LE.$this->LE;
+        $result .= $this->EndBoundary($this->boundary[1]);
+        break;
+      case 'plain':
+        $result .= $this->EncodeString($this->Body, $this->Encoding);
+        break;
+      case 'attachments':
+        $result .= $this->GetBoundary($this->boundary[1], '', '', '');
+        $result .= $this->EncodeString($this->Body, $this->Encoding);
+        $result .= $this->LE;
+        $result .= $this->AttachAll();
+        break;
+      case 'alt_attachments':
+        $result .= sprintf("--%s%s", $this->boundary[1], $this->LE);
+        $result .= sprintf("Content-Type: %s;%s" . "\tboundary=\"%s\"%s", 'multipart/alternative', $this->LE, $this->boundary[2], $this->LE.$this->LE);
+        $result .= $this->GetBoundary($this->boundary[2], '', 'text/plain', '') . $this->LE; // Create text body
+        $result .= $this->EncodeString($this->AltBody, $this->Encoding);
+        $result .= $this->LE.$this->LE;
+        $result .= $this->GetBoundary($this->boundary[2], '', 'text/html', '') . $this->LE; // Create the HTML body
+        $result .= $this->EncodeString($this->Body, $this->Encoding);
+        $result .= $this->LE.$this->LE;
+        $result .= $this->EndBoundary($this->boundary[2]);
+        $result .= $this->AttachAll();
+        break;
+    }
+
+    if($this->IsError()) {
+      $result = '';
+    } else if ($this->sign_key_file) {
+      $file = tempnam("", "mail");
+      $fp = fopen($file, "w");
+      fwrite($fp, $result);
+      fclose($fp);
+      $signed = tempnam("", "signed");
+
+      if (@openssl_pkcs7_sign($file, $signed, "file://".$this->sign_cert_file, array("file://".$this->sign_key_file, $this->sign_key_pass), null)) {
+        $fp = fopen($signed, "r");
+        $result = fread($fp, filesize($this->sign_key_file));
+        $result = '';
+        while(!feof($fp)){
+          $result = $result . fread($fp, 1024);
+        }
+        fclose($fp);
+      } else {
+        $this->SetError($this->Lang("signing").openssl_error_string());
+        $result = '';
+      }
+
+      unlink($file);
+      unlink($signed);
+    }
+
+    return $result;
+  }
+
+  /**
+   * Returns the start of a message boundary.
+   * @access private
+   */
+  function GetBoundary($boundary, $charSet, $contentType, $encoding) {
+    $result = '';
+    if($charSet == '') {
+      $charSet = $this->CharSet;
+    }
+    if($contentType == '') {
+      $contentType = $this->ContentType;
+    }
+    if($encoding == '') {
+      $encoding = $this->Encoding;
+    }
+    $result .= $this->TextLine('--' . $boundary);
+    $result .= sprintf("Content-Type: %s; charset = \"%s\"", $contentType, $charSet);
+    $result .= $this->LE;
+    $result .= $this->HeaderLine('Content-Transfer-Encoding', $encoding);
+    $result .= $this->LE;
+
+    return $result;
+  }
+
+  /**
+   * Returns the end of a message boundary.
+   * @access private
+   */
+  function EndBoundary($boundary) {
+    return $this->LE . '--' . $boundary . '--' . $this->LE;
+  }
+
+  /**
+   * Sets the message type.
+   * @access private
+   * @return void
+   */
+  function SetMessageType() {
+    if(count($this->attachment) < 1 && strlen($this->AltBody) < 1) {
+      $this->message_type = 'plain';
+    } else {
+      if(count($this->attachment) > 0) {
+        $this->message_type = 'attachments';
+      }
+      if(strlen($this->AltBody) > 0 && count($this->attachment) < 1) {
+        $this->message_type = 'alt';
+      }
+      if(strlen($this->AltBody) > 0 && count($this->attachment) > 0) {
+        $this->message_type = 'alt_attachments';
+      }
+    }
+  }
+
+  /* Returns a formatted header line.
+   * @access private
+   * @return string
+   */
+  function HeaderLine($name, $value) {
+    return $name . ': ' . $value . $this->LE;
+  }
+
+  /**
+   * Returns a formatted mail line.
+   * @access private
+   * @return string
+   */
+  function TextLine($value) {
+    return $value . $this->LE;
+  }
+
+  /////////////////////////////////////////////////
+  // CLASS METHODS, ATTACHMENTS
+  /////////////////////////////////////////////////
+
+  /**
+   * Adds an attachment from a path on the filesystem.
+   * Returns false if the file could not be found
+   * or accessed.
+   * @param string $path Path to the attachment.
+   * @param string $name Overrides the attachment name.
+   * @param string $encoding File encoding (see $Encoding).
+   * @param string $type File extension (MIME) type.
+   * @return bool
+   */
+  function AddAttachment($path, $name = '', $encoding = 'base64', $type = 'application/octet-stream') {
+    if(!@is_file($path)) {
+      $this->SetError($this->Lang('file_access') . $path);
+      return false;
+    }
+
+    $filename = basename($path);
+    if($name == '') {
+      $name = $filename;
+    }
+
+    $cur = count($this->attachment);
+    $this->attachment[$cur][0] = $path;
+    $this->attachment[$cur][1] = $filename;
+    $this->attachment[$cur][2] = $name;
+    $this->attachment[$cur][3] = $encoding;
+    $this->attachment[$cur][4] = $type;
+    $this->attachment[$cur][5] = false; // isStringAttachment
+    $this->attachment[$cur][6] = 'attachment';
+    $this->attachment[$cur][7] = 0;
+
+    return true;
+  }
+
+  /**
+   * Attaches all fs, string, and binary attachments to the message.
+   * Returns an empty string on failure.
+   * @access private
+   * @return string
+   */
+  function AttachAll() {
+    /* Return text of body */
+    $mime = array();
+
+    /* Add all attachments */
+    for($i = 0; $i < count($this->attachment); $i++) {
+      /* Check for string attachment */
+      $bString = $this->attachment[$i][5];
+      if ($bString) {
+        $string = $this->attachment[$i][0];
+      } else {
+        $path = $this->attachment[$i][0];
+      }
+
+      $filename    = $this->attachment[$i][1];
+      $name        = $this->attachment[$i][2];
+      $encoding    = $this->attachment[$i][3];
+      $type        = $this->attachment[$i][4];
+      $disposition = $this->attachment[$i][6];
+      $cid         = $this->attachment[$i][7];
+
+      $mime[] = sprintf("--%s%s", $this->boundary[1], $this->LE);
+      $mime[] = sprintf("Content-Type: %s; name=\"%s\"%s", $type, $this->EncodeHeader($this->SecureHeader($name)), $this->LE);
+      $mime[] = sprintf("Content-Transfer-Encoding: %s%s", $encoding, $this->LE);
+
+      if($disposition == 'inline') {
+        $mime[] = sprintf("Content-ID: <%s>%s", $cid, $this->LE);
+      }
+
+      $mime[] = sprintf("Content-Disposition: %s; filename=\"%s\"%s", $disposition, $this->EncodeHeader($this->SecureHeader($name)), $this->LE.$this->LE);
+
+      /* Encode as string attachment */
+      if($bString) {
+        $mime[] = $this->EncodeString($string, $encoding);
+        if($this->IsError()) {
+          return '';
+        }
+        $mime[] = $this->LE.$this->LE;
+      } else {
+        $mime[] = $this->EncodeFile($path, $encoding);
+        if($this->IsError()) {
+          return '';
+        }
+        $mime[] = $this->LE.$this->LE;
+      }
+    }
+
+    $mime[] = sprintf("--%s--%s", $this->boundary[1], $this->LE);
+
+    return join('', $mime);
+  }
+
+  /**
+   * Encodes attachment in requested format.  Returns an
+   * empty string on failure.
+   * @access private
+   * @return string
+   */
+  function EncodeFile ($path, $encoding = 'base64') {
+    if(!@$fd = fopen($path, 'rb')) {
+      $this->SetError($this->Lang('file_open') . $path);
+      return '';
+    }
+
+    if(version_compare(PHP_VERSION, '5.3.0', '<'))
+    {
+        $magic_quotes = get_magic_quotes_runtime();
+        set_magic_quotes_runtime(0); // Disable magic_quotes_runtime
+    }
+
+    $file_buffer = fread($fd, filesize($path));
+    $file_buffer = $this->EncodeString($file_buffer, $encoding);
+    fclose($fd);
+
+    if(version_compare(PHP_VERSION, '5.3.0', '<'))
+    {
+        set_magic_quotes_runtime($magic_quotes);
+    }
+
+    return $file_buffer;
+  }
+
+  /**
+   * Encodes string to requested format. Returns an
+   * empty string on failure.
+   * @access private
+   * @return string
+   */
+  function EncodeString ($str, $encoding = 'base64') {
+    $encoded = '';
+    switch(strtolower($encoding)) {
+      case 'base64':
+        /* chunk_split is found in PHP >= 3.0.6 */
+        $encoded = chunk_split(base64_encode($str), 76, $this->LE);
+        break;
+      case '7bit':
+      case '8bit':
+        $encoded = $this->FixEOL($str);
+        if (substr($encoded, -(strlen($this->LE))) != $this->LE)
+          $encoded .= $this->LE;
+        break;
+      case 'binary':
+        $encoded = $str;
+        break;
+      case 'quoted-printable':
+        $encoded = $this->EncodeQP($str);
+        break;
+      default:
+        $this->SetError($this->Lang('encoding') . $encoding);
+        break;
+    }
+    return $encoded;
+  }
+
+  /**
+   * Encode a header string to best of Q, B, quoted or none.
+   * @access private
+   * @return string
+   */
+  function EncodeHeader ($str, $position = 'text') {
+    $x = 0;
+
+    switch (strtolower($position)) {
+      case 'phrase':
+        if (!preg_match('/[\200-\377]/', $str)) {
+          /* Can't use addslashes as we don't know what value has magic_quotes_sybase. */
+          $encoded = addcslashes($str, "\0..\37\177\\\"");
+          if (($str == $encoded) && !preg_match('/[^A-Za-z0-9!#$%&\'*+\/=?^_`{|}~ -]/', $str)) {
+            return ($encoded);
+          } else {
+            return ("\"$encoded\"");
+          }
+        }
+        $x = preg_match_all('/[^\040\041\043-\133\135-\176]/', $str, $matches);
+        break;
+      case 'comment':
+        $x = preg_match_all('/[()"]/', $str, $matches);
+        /* Fall-through */
+      case 'text':
+      default:
+        $x += preg_match_all('/[\000-\010\013\014\016-\037\177-\377]/', $str, $matches);
+        break;
+    }
+
+    if ($x == 0) {
+      return ($str);
+    }
+
+    $maxlen = 75 - 7 - strlen($this->CharSet);
+    /* Try to select the encoding which should produce the shortest output */
+    if (strlen($str)/3 < $x) {
+      $encoding = 'B';
+      if (function_exists('mb_strlen') && $this->HasMultiBytes($str)) {
+     // Use a custom function which correctly encodes and wraps long
+     // multibyte strings without breaking lines within a character
+        $encoded = $this->Base64EncodeWrapMB($str);
+      } else {
+        $encoded = base64_encode($str);
+        $maxlen -= $maxlen % 4;
+        $encoded = trim(chunk_split($encoded, $maxlen, "\n"));
+      }
+    } else {
+      $encoding = 'Q';
+      $encoded = $this->EncodeQ($str, $position);
+      $encoded = $this->WrapText($encoded, $maxlen, true);
+      $encoded = str_replace('='.$this->LE, "\n", trim($encoded));
+    }
+
+    $encoded = preg_replace('/^(.*)$/m', " =?".$this->CharSet."?$encoding?\\1?=", $encoded);
+    $encoded = trim(str_replace("\n", $this->LE, $encoded));
+
+    return $encoded;
+  }
+
+  /**
+   * Checks if a string contains multibyte characters.
+   * @access private
+   * @param string $str multi-byte text to wrap encode
+   * @return bool
+   */
+  function HasMultiBytes($str) {
+    if (function_exists('mb_strlen')) {
+      return (strlen($str) > mb_strlen($str, $this->CharSet));
+    } else { // Assume no multibytes (we can't handle without mbstring functions anyway)
+      return False;
+    }
+  }
+
+  /**
+   * Correctly encodes and wraps long multibyte strings for mail headers
+   * without breaking lines within a character.
+   * Adapted from a function by paravoid at http://uk.php.net/manual/en/function.mb-encode-mimeheader.php
+   * @access private
+   * @param string $str multi-byte text to wrap encode
+   * @return string
+   */
+  function Base64EncodeWrapMB($str) {
+    $start = "=?".$this->CharSet."?B?";
+    $end = "?=";
+    $encoded = "";
+
+    $mb_length = mb_strlen($str, $this->CharSet);
+    // Each line must have length <= 75, including $start and $end
+    $length = 75 - strlen($start) - strlen($end);
+    // Average multi-byte ratio
+    $ratio = $mb_length / strlen($str);
+    // Base64 has a 4:3 ratio
+    $offset = $avgLength = floor($length * $ratio * .75);
+
+    for ($i = 0; $i < $mb_length; $i += $offset) {
+      $lookBack = 0;
+
+      do {
+        $offset = $avgLength - $lookBack;
+        $chunk = mb_substr($str, $i, $offset, $this->CharSet);
+        $chunk = base64_encode($chunk);
+        $lookBack++;
+      }
+      while (strlen($chunk) > $length);
+
+      $encoded .= $chunk . $this->LE;
+    }
+
+    // Chomp the last linefeed
+    $encoded = substr($encoded, 0, -strlen($this->LE));
+    return $encoded;
+  }
+
+  /**
+   * Encode string to quoted-printable.
+   * @access private
+   * @return string
+   */
+  function EncodeQP( $input = '', $line_max = 76, $space_conv = false ) {
+    $hex = array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');
+    $lines = preg_split('/(?:\r\n|\r|\n)/', $input);
+    $eol = "\r\n";
+    $escape = '=';
+    $output = '';
+    while( list(, $line) = each($lines) ) {
+      $linlen = strlen($line);
+      $newline = '';
+      for($i = 0; $i < $linlen; $i++) {
+        $c = substr( $line, $i, 1 );
+        $dec = ord( $c );
+        if ( ( $i == 0 ) && ( $dec == 46 ) ) { // convert first point in the line into =2E
+          $c = '=2E';
+        }
+        if ( $dec == 32 ) {
+          if ( $i == ( $linlen - 1 ) ) { // convert space at eol only
+            $c = '=20';
+          } else if ( $space_conv ) {
+            $c = '=20';
+          }
+        } elseif ( ($dec == 61) || ($dec < 32 ) || ($dec > 126) ) { // always encode "\t", which is *not* required
+          $h2 = floor($dec/16);
+          $h1 = floor($dec%16);
+          $c = $escape.$hex[$h2].$hex[$h1];
+        }
+        if ( (strlen($newline) + strlen($c)) >= $line_max ) { // CRLF is not counted
+          $output .= $newline.$escape.$eol; //  soft line break; " =\r\n" is okay
+          $newline = '';
+          // check if newline first character will be point or not
+          if ( $dec == 46 ) {
+            $c = '=2E';
+          }
+        }
+        $newline .= $c;
+      } // end of for
+      $output .= $newline.$eol;
+    } // end of while
+    return $output;
+  }
+
+  /**
+   * Encode string to q encoding.
+   * @access private
+   * @return string
+   */
+  function EncodeQ ($str, $position = 'text') {
+    /* There should not be any EOL in the string */
+    $encoded = preg_replace("[\r\n]", '', $str);
+
+    switch (strtolower($position)) {
+      case 'phrase':
+        $encoded = preg_replace("/([^A-Za-z0-9!*+\/ -])/e", "'='.sprintf('%02X', ord('\\1'))", $encoded);
+        break;
+      case 'comment':
+        $encoded = preg_replace("/([\(\)\"])/e", "'='.sprintf('%02X', ord('\\1'))", $encoded);
+      case 'text':
+      default:
+        /* Replace every high ascii, control =, ? and _ characters */
+        $encoded = preg_replace('/([\000-\011\013\014\016-\037\075\077\137\177-\377])/e',
+              "'='.sprintf('%02X', ord('\\1'))", $encoded);
+        break;
+    }
+
+    /* Replace every spaces to _ (more readable than =20) */
+    $encoded = str_replace(' ', '_', $encoded);
+
+    return $encoded;
+  }
+
+  /**
+   * Adds a string or binary attachment (non-filesystem) to the list.
+   * This method can be used to attach ascii or binary data,
+   * such as a BLOB record from a database.
+   * @param string $string String attachment data.
+   * @param string $filename Name of the attachment.
+   * @param string $encoding File encoding (see $Encoding).
+   * @param string $type File extension (MIME) type.
+   * @return void
+   */
+  function AddStringAttachment($string, $filename, $encoding = 'base64', $type = 'application/octet-stream') {
+    /* Append to $attachment array */
+    $cur = count($this->attachment);
+    $this->attachment[$cur][0] = $string;
+    $this->attachment[$cur][1] = $filename;
+    $this->attachment[$cur][2] = $filename;
+    $this->attachment[$cur][3] = $encoding;
+    $this->attachment[$cur][4] = $type;
+    $this->attachment[$cur][5] = true; // isString
+    $this->attachment[$cur][6] = 'attachment';
+    $this->attachment[$cur][7] = 0;
+  }
+
+  /**
+   * Adds an embedded attachment.  This can include images, sounds, and
+   * just about any other document.  Make sure to set the $type to an
+   * image type.  For JPEG images use "image/jpeg" and for GIF images
+   * use "image/gif".
+   * @param string $path Path to the attachment.
+   * @param string $cid Content ID of the attachment.  Use this to identify
+   *        the Id for accessing the image in an HTML form.
+   * @param string $name Overrides the attachment name.
+   * @param string $encoding File encoding (see $Encoding).
+   * @param string $type File extension (MIME) type.
+   * @return bool
+   */
+  function AddEmbeddedImage($path, $cid, $name = '', $encoding = 'base64', $type = 'application/octet-stream') {
+
+    if(!@is_file($path)) {
+      $this->SetError($this->Lang('file_access') . $path);
+      return false;
+    }
+
+    $filename = basename($path);
+    if($name == '') {
+      $name = $filename;
+    }
+
+    /* Append to $attachment array */
+    $cur = count($this->attachment);
+    $this->attachment[$cur][0] = $path;
+    $this->attachment[$cur][1] = $filename;
+    $this->attachment[$cur][2] = $name;
+    $this->attachment[$cur][3] = $encoding;
+    $this->attachment[$cur][4] = $type;
+    $this->attachment[$cur][5] = false;
+    $this->attachment[$cur][6] = 'inline';
+    $this->attachment[$cur][7] = $cid;
+
+    return true;
+  }
+
+  /**
+   * Returns true if an inline attachment is present.
+   * @access private
+   * @return bool
+   */
+  function InlineImageExists() {
+    $result = false;
+    for($i = 0; $i < count($this->attachment); $i++) {
+      if($this->attachment[$i][6] == 'inline') {
+        $result = true;
+        break;
+      }
+    }
+
+    return $result;
+  }
+
+  /////////////////////////////////////////////////
+  // CLASS METHODS, MESSAGE RESET
+  /////////////////////////////////////////////////
+
+  /**
+   * Clears all recipients assigned in the TO array.  Returns void.
+   * @return void
+   */
+  function ClearAddresses() {
+    $this->to = array();
+  }
+
+  /**
+   * Clears all recipients assigned in the CC array.  Returns void.
+   * @return void
+   */
+  function ClearCCs() {
+    $this->cc = array();
+  }
+
+  /**
+   * Clears all recipients assigned in the BCC array.  Returns void.
+   * @return void
+   */
+  function ClearBCCs() {
+    $this->bcc = array();
+  }
+
+  /**
+   * Clears all recipients assigned in the ReplyTo array.  Returns void.
+   * @return void
+   */
+  function ClearReplyTos() {
+    $this->ReplyTo = array();
+  }
+
+  /**
+   * Clears all recipients assigned in the TO, CC and BCC
+   * array.  Returns void.
+   * @return void
+   */
+  function ClearAllRecipients() {
+    $this->to = array();
+    $this->cc = array();
+    $this->bcc = array();
+  }
+
+  /**
+   * Clears all previously set filesystem, string, and binary
+   * attachments.  Returns void.
+   * @return void
+   */
+  function ClearAttachments() {
+    $this->attachment = array();
+  }
+
+  /**
+   * Clears all custom headers.  Returns void.
+   * @return void
+   */
+  function ClearCustomHeaders() {
+    $this->CustomHeader = array();
+  }
+
+  /////////////////////////////////////////////////
+  // CLASS METHODS, MISCELLANEOUS
+  /////////////////////////////////////////////////
+
+  /**
+   * Adds the error message to the error container.
+   * Returns void.
+   * @access private
+   * @return void
+   */
+  function SetError($msg) {
+    $this->error_count++;
+    $this->ErrorInfo = $msg;
+  }
+
+  /**
+   * Returns the proper RFC 822 formatted date.
+   * @access private
+   * @return string
+   */
+  function RFCDate() {
+    $tz = date('Z');
+    $tzs = ($tz < 0) ? '-' : '+';
+    $tz = abs($tz);
+    $tz = (int)($tz/3600)*100 + ($tz%3600)/60;
+    $result = sprintf("%s %s%04d", date('D, j M Y H:i:s'), $tzs, $tz);
+
+    return $result;
+  }
+
+  /**
+   * Returns the appropriate server variable.  Should work with both
+   * PHP 4.1.0+ as well as older versions.  Returns an empty string
+   * if nothing is found.
+   * @access private
+   * @return mixed
+   */
+  function ServerVar($varName) {
+    global $HTTP_SERVER_VARS;
+    global $HTTP_ENV_VARS;
+
+    if(!isset($_SERVER)) {
+      $_SERVER = $HTTP_SERVER_VARS;
+      if(!isset($_SERVER['REMOTE_ADDR'])) {
+        $_SERVER = $HTTP_ENV_VARS; // must be Apache
+      }
+    }
+
+    if(isset($_SERVER[$varName])) {
+      return $_SERVER[$varName];
+    } else {
+      return '';
+    }
+  }
+
+  /**
+   * Returns the server hostname or 'localhost.localdomain' if unknown.
+   * @access private
+   * @return string
+   */
+  function ServerHostname() {
+    if ($this->Hostname != '') {
+      $result = $this->Hostname;
+    } elseif ($this->ServerVar('SERVER_NAME') != '') {
+      $result = $this->ServerVar('SERVER_NAME');
+    } else {
+      $result = 'localhost.localdomain';
+    }
+
+    return $result;
+  }
+
+  /**
+   * Returns a message in the appropriate language.
+   * @access private
+   * @return string
+   */
+  function Lang($key) {
+    if(count($this->language) < 1) {
+      $this->SetLanguage('en'); // set the default language
+    }
+
+    if(isset($this->language[$key])) {
+      return $this->language[$key];
+    } else {
+      return 'Language string failed to load: ' . $key;
+    }
+  }
+
+  /**
+   * Returns true if an error occurred.
+   * @return bool
+   */
+  function IsError() {
+    return ($this->error_count > 0);
+  }
+
+  /**
+   * Changes every end of line from CR or LF to CRLF.
+   * @access private
+   * @return string
+   */
+  function FixEOL($str) {
+    $str = str_replace("\r\n", "\n", $str);
+    $str = str_replace("\r", "\n", $str);
+    $str = str_replace("\n", $this->LE, $str);
+    return $str;
+  }
+
+  /**
+   * Adds a custom header.
+   * @return void
+   */
+  function AddCustomHeader($custom_header) {
+    $this->CustomHeader[] = explode(':', $custom_header, 2);
+  }
+
+  /**
+   * Evaluates the message and returns modifications for inline images and backgrounds
+   * @access public
+   * @return $message
+   */
+  function MsgHTML($message,$basedir='') {
+    preg_match_all("/(src|background)=\"(.*)\"/Ui", $message, $images);
+    if(isset($images[2])) {
+      foreach($images[2] as $i => $url) {
+        // do not change urls for absolute images (thanks to corvuscorax)
+        if (!preg_match('/^[A-z][A-z]*:\/\//',$url)) {
+          $filename = basename($url);
+          $directory = dirname($url);
+          ($directory == '.')?$directory='':'';
+          $cid = 'cid:' . md5($filename);
+          $fileParts = split("\.", $filename);
+          $ext = $fileParts[1];
+          $mimeType = $this->_mime_types($ext);
+          if ( strlen($basedir) > 1 && substr($basedir,-1) != '/') { $basedir .= '/'; }
+          if ( strlen($directory) > 1 && substr($directory,-1) != '/') { $directory .= '/'; }
+          if ( $this->AddEmbeddedImage($basedir.$directory.$filename, md5($filename), $filename, 'base64',$mimeType) ) {
+            $message = preg_replace("/".$images[1][$i]."=\"".preg_quote($url, '/')."\"/Ui", $images[1][$i]."=\"".$cid."\"", $message);
+          }
+        }
+      }
+    }
+    $this->IsHTML(true);
+    $this->Body = $message;
+    $textMsg = trim(strip_tags(preg_replace('/<(head|title|style|script)[^>]*>.*?<\/\\1>/s','',$message)));
+    if ( !empty($textMsg) && empty($this->AltBody) ) {
+      $this->AltBody = html_entity_decode($textMsg);
+    }
+    if ( empty($this->AltBody) ) {
+      $this->AltBody = 'To view this email message, open the email in with HTML compatibility!' . "\n\n";
+    }
+  }
+
+  /**
+   * Gets the mime type of the embedded or inline image
+   * @access private
+   * @return mime type of ext
+   */
+  function _mime_types($ext = '') {
+    $mimes = array(
+      'ai'    =>  'application/postscript',
+      'aif'   =>  'audio/x-aiff',
+      'aifc'  =>  'audio/x-aiff',
+      'aiff'  =>  'audio/x-aiff',
+      'avi'   =>  'video/x-msvideo',
+      'bin'   =>  'application/macbinary',
+      'bmp'   =>  'image/bmp',
+      'class' =>  'application/octet-stream',
+      'cpt'   =>  'application/mac-compactpro',
+      'css'   =>  'text/css',
+      'dcr'   =>  'application/x-director',
+      'dir'   =>  'application/x-director',
+      'dll'   =>  'application/octet-stream',
+      'dms'   =>  'application/octet-stream',
+      'doc'   =>  'application/msword',
+      'dvi'   =>  'application/x-dvi',
+      'dxr'   =>  'application/x-director',
+      'eml'   =>  'message/rfc822',
+      'eps'   =>  'application/postscript',
+      'exe'   =>  'application/octet-stream',
+      'gif'   =>  'image/gif',
+      'gtar'  =>  'application/x-gtar',
+      'htm'   =>  'text/html',
+      'html'  =>  'text/html',
+      'jpe'   =>  'image/jpeg',
+      'jpeg'  =>  'image/jpeg',
+      'jpg'   =>  'image/jpeg',
+      'hqx'   =>  'application/mac-binhex40',
+      'js'    =>  'application/x-javascript',
+      'lha'   =>  'application/octet-stream',
+      'log'   =>  'text/plain',
+      'lzh'   =>  'application/octet-stream',
+      'mid'   =>  'audio/midi',
+      'midi'  =>  'audio/midi',
+      'mif'   =>  'application/vnd.mif',
+      'mov'   =>  'video/quicktime',
+      'movie' =>  'video/x-sgi-movie',
+      'mp2'   =>  'audio/mpeg',
+      'mp3'   =>  'audio/mpeg',
+      'mpe'   =>  'video/mpeg',
+      'mpeg'  =>  'video/mpeg',
+      'mpg'   =>  'video/mpeg',
+      'mpga'  =>  'audio/mpeg',
+      'oda'   =>  'application/oda',
+      'pdf'   =>  'application/pdf',
+      'php'   =>  'application/x-httpd-php',
+      'php3'  =>  'application/x-httpd-php',
+      'php4'  =>  'application/x-httpd-php',
+      'phps'  =>  'application/x-httpd-php-source',
+      'phtml' =>  'application/x-httpd-php',
+      'png'   =>  'image/png',
+      'ppt'   =>  'application/vnd.ms-powerpoint',
+      'ps'    =>  'application/postscript',
+      'psd'   =>  'application/octet-stream',
+      'qt'    =>  'video/quicktime',
+      'ra'    =>  'audio/x-realaudio',
+      'ram'   =>  'audio/x-pn-realaudio',
+      'rm'    =>  'audio/x-pn-realaudio',
+      'rpm'   =>  'audio/x-pn-realaudio-plugin',
+      'rtf'   =>  'text/rtf',
+      'rtx'   =>  'text/richtext',
+      'rv'    =>  'video/vnd.rn-realvideo',
+      'sea'   =>  'application/octet-stream',
+      'shtml' =>  'text/html',
+      'sit'   =>  'application/x-stuffit',
+      'so'    =>  'application/octet-stream',
+      'smi'   =>  'application/smil',
+      'smil'  =>  'application/smil',
+      'swf'   =>  'application/x-shockwave-flash',
+      'tar'   =>  'application/x-tar',
+      'text'  =>  'text/plain',
+      'txt'   =>  'text/plain',
+      'tgz'   =>  'application/x-tar',
+      'tif'   =>  'image/tiff',
+      'tiff'  =>  'image/tiff',
+      'wav'   =>  'audio/x-wav',
+      'wbxml' =>  'application/vnd.wap.wbxml',
+      'wmlc'  =>  'application/vnd.wap.wmlc',
+      'word'  =>  'application/msword',
+      'xht'   =>  'application/xhtml+xml',
+      'xhtml' =>  'application/xhtml+xml',
+      'xl'    =>  'application/excel',
+      'xls'   =>  'application/vnd.ms-excel',
+      'xml'   =>  'text/xml',
+      'xsl'   =>  'text/xml',
+      'zip'   =>  'application/zip'
+    );
+    return ( ! isset($mimes[strtolower($ext)])) ? 'application/octet-stream' : $mimes[strtolower($ext)];
+  }
+
+  /**
+   * Set (or reset) Class Objects (variables)
+   *
+   * Usage Example:
+   * $page->set('X-Priority', '3');
+   *
+   * @access public
+   * @param string $name Parameter Name
+   * @param mixed $value Parameter Value
+   * NOTE: will not work with arrays, there are no arrays to set/reset
+   */
+  function set ( $name, $value = '' ) {
+    if ( isset($this->$name) ) {
+      $this->$name = $value;
+    } else {
+      $this->SetError('Cannot set or reset variable ' . $name);
+      return false;
+    }
+  }
+
+  /**
+   * Read a file from a supplied filename and return it.
+   *
+   * @access public
+   * @param string $filename Parameter File Name
+   */
+  function getFile($filename) {
+    $return = '';
+    if ($fp = fopen($filename, 'rb')) {
+      while (!feof($fp)) {
+        $return .= fread($fp, 1024);
+      }
+      fclose($fp);
+      return $return;
+    } else {
+      return false;
+    }
+  }
+
+  /**
+   * Strips newlines to prevent header injection.
+   * @access private
+   * @param string $str String
+   * @return string
+   */
+  function SecureHeader($str) {
+    $str = trim($str);
+    $str = str_replace("\r", "", $str);
+    $str = str_replace("\n", "", $str);
+    return $str;
+  }
+
+  /**
+   * Set the private key file and password to sign the message.
+   *
+   * @access public
+   * @param string $key_filename Parameter File Name
+   * @param string $key_pass Password for private key
+   */
+  function Sign($cert_filename, $key_filename, $key_pass) {
+    $this->sign_cert_file = $cert_filename;
+    $this->sign_key_file = $key_filename;
+    $this->sign_key_pass = $key_pass;
+  }
+
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/phpmailer/class.phpmailer.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-ch.php
===================================================================
--- tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-ch.php	(nonexistent)
+++ tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-ch.php	(revision 1481)
@@ -0,0 +1,24 @@
+<?php
+/**
+ * PHPMailer language file.  
+ * Chinese Version
+ * By LiuXin: www.80x86.cn/blog/
+ */
+
+$PHPMAILER_LANG = array();
+
+$PHPMAILER_LANG['provide_address'] = 'æ‚¨å¿…é¡»æä¾›è‡³å°‘ä¸€ä¸ª æ”¶ä¿¡äººçš„emailåœ°å€ã€‚';
+$PHPMAILER_LANG['mailer_not_supported'] = ' æ‚¨æ‰€é€‰æ‹©çš„å‘é€é‚®ä»¶çš„æ–¹æ³•å¹¶ä¸æ”¯æŒã€‚';
+$PHPMAILER_LANG['execute'] = 'ä¸èƒ½æ‰§è¡Œ: ';
+$PHPMAILER_LANG['instantiate'] = 'ä¸èƒ½å®ç°mailæ–¹æ³•ã€‚';
+$PHPMAILER_LANG['authenticate'] = 'SMTP é”™è¯¯ï¼šèº«ä»½éªŒè¯å¤±è´¥ã€‚';
+$PHPMAILER_LANG['from_failed'] = 'ä¸‹é¢çš„å‘é€åœ°å€é‚®ä»¶å‘é€å¤±è´¥äº†ï¼š ';
+$PHPMAILER_LANG['recipients_failed'] = 'SMTP é”™è¯¯ï¼š ä¸‹é¢çš„ æ”¶ä»¶äººå¤±è´¥äº†ï¼š ';
+$PHPMAILER_LANG['data_not_accepted'] = 'SMTP é”™è¯¯: æ•°æ®ä¸å¯æ¥å—ã€‚';
+$PHPMAILER_LANG['connect_host'] = 'SMTP é”™è¯¯: ä¸èƒ½è¿æ¥SMTPä¸»æœºã€‚';
+$PHPMAILER_LANG['file_access'] = 'ä¸èƒ½è®¿é—®æ–‡ä»¶ï¼š';
+$PHPMAILER_LANG['file_open'] = 'æ–‡ä»¶é”™è¯¯ï¼šä¸èƒ½æ‰“å¼€æ–‡ä»¶ï¼š';
+$PHPMAILER_LANG['encoding'] = 'æœªçŸ¥ç¼–ç ï¼š';
+$PHPMAILER_LANG['signing'] = 'Signing Error: ';
+$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: ';
+?>
\ No newline at end of file
Index: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-ja.php
===================================================================
--- tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-ja.php	(nonexistent)
+++ tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-ja.php	(revision 1481)
@@ -0,0 +1,24 @@
+<?php
+/**
+ * PHPMailer language file.  
+ * Japanese Version
+ * By Mitsuhiro Yoshida - http://mitstek.com/
+ */
+
+$PHPMAILER_LANG = array();
+
+$PHPMAILER_LANG['provide_address'] = 'å°‘ãªãã¨ã‚‚1ã¤ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’ æŒ‡å®šã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚';
+$PHPMAILER_LANG['mailer_not_supported'] = ' ãƒ¡ãƒ¼ãƒ©ãƒ¼ãŒã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“ã€‚';
+$PHPMAILER_LANG['execute'] = 'å®Ÿè¡Œã§ãã¾ã›ã‚“ã§ã—ãŸ: ';
+$PHPMAILER_LANG['instantiate'] = 'ãƒ¡ãƒ¼ãƒ«é–¢æ•°ãŒæ­£å¸¸ã«å‹•ä½œã—ã¾ã›ã‚“ã§ã—ãŸã€‚';
+$PHPMAILER_LANG['authenticate'] = 'SMTPã‚¨ãƒ©ãƒ¼: èªè¨¼ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚';
+$PHPMAILER_LANG['from_failed'] = 'æ¬¡ã®Fromã‚¢ãƒ‰ãƒ¬ã‚¹ã«é–“é•ã„ãŒã‚ã‚Šã¾ã™: ';
+$PHPMAILER_LANG['recipients_failed'] = 'SMTPã‚¨ãƒ©ãƒ¼: æ¬¡ã®å—ä¿¡è€…ã‚¢ãƒ‰ãƒ¬ã‚¹ã« é–“é•ã„ãŒã‚ã‚Šã¾ã™: ';
+$PHPMAILER_LANG['data_not_accepted'] = 'SMTPã‚¨ãƒ©ãƒ¼: ãƒ‡ãƒ¼ã‚¿ãŒå—ã‘ä»˜ã‘ã‚‰ã‚Œã¾ã›ã‚“ã§ã—ãŸã€‚';
+$PHPMAILER_LANG['connect_host'] = 'SMTPã‚¨ãƒ©ãƒ¼: SMTPãƒ›ã‚¹ãƒˆã«æ¥ç¶šã§ãã¾ã›ã‚“ã§ã—ãŸã€‚';
+$PHPMAILER_LANG['file_access'] = 'ãƒ•ã‚¡ã‚¤ãƒ«ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãã¾ã›ã‚“: ';
+$PHPMAILER_LANG['file_open'] = 'ãƒ•ã‚¡ã‚¤ãƒ«ã‚¨ãƒ©ãƒ¼: ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é–‹ã‘ã¾ã›ã‚“: ';
+$PHPMAILER_LANG['encoding'] = 'ä¸æ˜ãªã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°: ';
+$PHPMAILER_LANG['signing'] = 'Signing Error: ';
+$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: ';
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-ja.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-dk.php
===================================================================
--- tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-dk.php	(nonexistent)
+++ tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-dk.php	(revision 1481)
@@ -0,0 +1,23 @@
+<?php
+/**
+ * PHPMailer language file.
+ * Danish Version
+ * Author: Mikael Stokkebro <info@stokkebro.dk> */
+
+$PHPMAILER_LANG = array();
+
+$PHPMAILER_LANG['provide_address']      = 'Du skal indtaste mindst en modtagers emailadresse.';
+$PHPMAILER_LANG['mailer_not_supported'] = ' mailer understÃ¸ttes ikke.';
+$PHPMAILER_LANG['execute']              = 'Kunne ikke kÃ¸re: ';
+$PHPMAILER_LANG['instantiate']          = 'Kunne ikke initialisere email funktionen.';
+$PHPMAILER_LANG['authenticate']         = 'SMTP fejl: Kunne ikke logge pÃ¥.';
+$PHPMAILER_LANG['from_failed']          = 'FÃ¸lgende afsenderadresse er forkert: ';
+$PHPMAILER_LANG['recipients_failed']    = 'SMTP fejl: FÃ¸lgende modtagere er forkerte: ';
+$PHPMAILER_LANG['data_not_accepted']    = 'SMTP fejl: Data kunne ikke accepteres.';
+$PHPMAILER_LANG['connect_host']         = 'SMTP fejl: Kunne ikke tilslutte SMTP serveren.';
+$PHPMAILER_LANG['file_access']          = 'Ingen adgang til fil: ';
+$PHPMAILER_LANG['file_open']            = 'Fil fejl: Kunne ikke Ã¥bne filen: ';
+$PHPMAILER_LANG['encoding']             = 'Ukendt encode-format: ';
+$PHPMAILER_LANG['signing']              = 'Signing Error: ';
+$PHPMAILER_LANG['smtp_error']           = 'SMTP server error: ';
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-dk.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-fi.php
===================================================================
--- tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-fi.php	(nonexistent)
+++ tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-fi.php	(revision 1481)
@@ -0,0 +1,24 @@
+<?php
+/**
+ * PHPMailer language file.
+ * Finnish Version
+ * By Jyry Kuukanen
+ */
+
+$PHPMAILER_LANG = array();
+
+$PHPMAILER_LANG['provide_address']      = 'Aseta vÃ¤hintÃ¤Ã¤n yksi vastaanottajan sÃ¤hk&ouml;postiosoite.';
+$PHPMAILER_LANG['mailer_not_supported'] = 'postivÃ¤litintyyppiÃ¤ ei tueta.';
+$PHPMAILER_LANG['execute']              = 'Suoritus epÃ¤onnistui: ';
+$PHPMAILER_LANG['instantiate']          = 'mail-funktion luonti epÃ¤onnistui.';
+$PHPMAILER_LANG['authenticate']         = 'SMTP-virhe: kÃ¤yttÃ¤jÃ¤tunnistus epÃ¤onnistui.';
+$PHPMAILER_LANG['from_failed']          = 'Seuraava lÃ¤hettÃ¤jÃ¤n osoite on virheellinen: ';
+$PHPMAILER_LANG['recipients_failed']    = 'SMTP-virhe: seuraava vastaanottaja osoite on virheellinen.';
+$PHPMAILER_LANG['data_not_accepted']    = 'SMTP-virhe: data on virheellinen.';
+$PHPMAILER_LANG['connect_host']         = 'SMTP-virhe: yhteys palvelimeen ei onnistu.';
+$PHPMAILER_LANG['file_access']          = 'Seuraavaan tiedostoon ei ole oikeuksia: ';
+$PHPMAILER_LANG['file_open']            = 'Tiedostovirhe: Ei voida avata tiedostoa: ';
+$PHPMAILER_LANG['encoding']             = 'Tuntematon koodaustyyppi: ';
+$PHPMAILER_LANG['signing']              = 'Signing Error: ';
+$PHPMAILER_LANG['smtp_error']           = 'SMTP server error: ';
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-fi.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-zh_cn.php
===================================================================
--- tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-zh_cn.php	(nonexistent)
+++ tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-zh_cn.php	(revision 1481)
@@ -0,0 +1,24 @@
+<?php
+/**
+ * PHPMailer language file.  
+ * Simplified Chinese Version
+ * @author liqwei <liqwei@liqwei.com>
+ */
+
+$PHPMAILER_LANG = array();
+
+$PHPMAILER_LANG["provide_address"] = 'å¿…é¡»æä¾›è‡³å°‘ä¸€ä¸ªæ”¶ä»¶äººåœ°å€ã€‚';
+$PHPMAILER_LANG["mailer_not_supported"] = 'å‘ä¿¡å®¢æˆ·ç«¯ä¸è¢«æ”¯æŒã€‚';
+$PHPMAILER_LANG["execute"] = 'æ— æ³•æ‰§è¡Œï¼š';
+$PHPMAILER_LANG["instantiate"] = 'æœªçŸ¥å‡½æ•°è°ƒç”¨ã€‚';
+$PHPMAILER_LANG["authenticate"] = 'SMTP é”™è¯¯ï¼šç™»å½•å¤±è´¥ã€‚';
+$PHPMAILER_LANG["from_failed"] = 'å‘é€åœ°å€é”™è¯¯ï¼š';
+$PHPMAILER_LANG["recipients_failed"] = 'SMTP é”™è¯¯ï¼šæ”¶ä»¶äººåœ°å€é”™è¯¯ï¼š';
+$PHPMAILER_LANG["data_not_accepted"] = 'SMTP é”™è¯¯ï¼šæ•°æ®ä¸è¢«æ¥å—ã€‚';
+$PHPMAILER_LANG["connect_host"] = 'SMTP é”™è¯¯ï¼šæ— æ³•è¿æ¥åˆ° SMTP ä¸»æœºã€‚';
+$PHPMAILER_LANG["file_access"] = 'æ— æ³•è®¿é—®æ–‡ä»¶ï¼š';
+$PHPMAILER_LANG["file_open"] = 'æ–‡ä»¶é”™è¯¯ï¼šæ— æ³•æ‰“å¼€æ–‡ä»¶ï¼š';
+$PHPMAILER_LANG["encoding"] = 'æœªçŸ¥ç¼–ç : ';
+$PHPMAILER_LANG["signing"] = 'Signing Error: ';
+$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: ';
+?>
\ No newline at end of file
Index: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-ar.php
===================================================================
--- tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-ar.php	(nonexistent)
+++ tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-ar.php	(revision 1481)
@@ -0,0 +1,26 @@
+<?php
+/**
+ * PHPMailer language file.
+ * Arabic Version, UTF-8
+ * by : bahjat al mostafa <bahjat983@hotmail.com>
+ */
+
+$PHPMAILER_LANG = array();
+
+$PHPMAILER_LANG['provide_address'] = 'You must provide at least one ' .
+                                     'recipient email address.';
+$PHPMAILER_LANG['mailer_not_supported'] = ' mailer ØºÙŠØ± Ù…Ø¯Ø¹ÙˆÙ….';
+$PHPMAILER_LANG['execute'] = 'Ù„Ù… Ø£Ø³ØªØ·Ø¹ ØªÙ†ÙÙŠØ° : ';
+$PHPMAILER_LANG['instantiate'] = 'Ù„Ù… Ù†Ø³ØªØ·Ø¹ ØªÙˆÙÙŠØ± Ø®Ø¯Ù…Ø© Ø§Ù„Ø¨Ø±ÙŠØ¯.';
+$PHPMAILER_LANG['authenticate'] = 'SMTP Error: Ù„Ù… Ù†Ø³ØªØ·Ø¹ ØªØ£ÙƒÙŠØ¯ Ø§Ù„Ù‡ÙˆÙŠØ©.';
+$PHPMAILER_LANG['from_failed'] = 'Ø§Ù„Ø¨Ø±ÙŠØ¯ Ø§Ù„ØªØ§Ù„ÙŠ Ù„Ù… Ù†Ø³ØªØ·Ø¹ Ø§Ø±Ø³Ø§Ù„ Ø§Ù„Ø¨Ø±ÙŠØ¯ Ù„Ù‡ : ';
+$PHPMAILER_LANG['recipients_failed'] = 'SMTP Error: Ø§Ù„Ø£Ø®Ø·Ø§Ø¡ Ø§Ù„ØªØ§Ù„ÙŠØ© ' .
+                                       'ÙØ´Ù„ ÙÙŠ Ø§Ù„Ø§Ø±Ø³Ø§Ù„ Ù„ÙƒÙ„ Ù…Ù† : ';
+$PHPMAILER_LANG['data_not_accepted'] = 'SMTP Error: Ù„Ù… ÙŠØªÙ… Ù‚Ø¨ÙˆÙ„ Ø§Ù„Ù…Ø¹Ù„ÙˆÙ…Ø§Øª .';
+$PHPMAILER_LANG['connect_host'] = 'SMTP Error: Ù„Ù… Ù†Ø³ØªØ·Ø¹ Ø§Ù„Ø§ØªØµØ§Ù„ Ø¨Ù…Ø®Ø¯Ù… SMTP.';
+$PHPMAILER_LANG['file_access'] = 'Ù„Ù… Ù†Ø³ØªØ·Ø¹ Ø§Ù„ÙˆØµÙˆÙ„ Ù„Ù„Ù…Ù„Ù: ';
+$PHPMAILER_LANG['file_open'] = 'File Error: Ù„Ù… Ù†Ø³ØªØ·Ø¹ ÙØªØ­ Ø§Ù„Ù…Ù„Ù: ';
+$PHPMAILER_LANG['encoding'] = 'ØªØ±Ù…ÙŠØ² ØºÙŠØ± Ù…Ø¹Ø±ÙˆÙ: ';
+$PHPMAILER_LANG['signing'] = 'Ø®Ø·Ø£ ÙÙŠ Ø§Ù„ØªÙˆÙ‚ÙŠØ¹: ';
+$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: ';
+?>
\ No newline at end of file
Index: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-en.php
===================================================================
--- tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-en.php	(nonexistent)
+++ tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-en.php	(revision 1481)
@@ -0,0 +1,23 @@
+<?php
+/**
+ * PHPMailer language file.
+ * English Version
+ */
+
+$PHPMAILER_LANG = array();
+
+$PHPMAILER_LANG['provide_address']      = 'You must provide at least one recipient email address.';
+$PHPMAILER_LANG['mailer_not_supported'] = ' mailer is not supported.';
+$PHPMAILER_LANG['execute']              = 'Could not execute: ';
+$PHPMAILER_LANG['instantiate']          = 'Could not instantiate mail function.';
+$PHPMAILER_LANG['authenticate']         = 'SMTP Error: Could not authenticate.';
+$PHPMAILER_LANG['from_failed']          = 'The following From address failed: ';
+$PHPMAILER_LANG['recipients_failed']    = 'SMTP Error: The following recipients failed: ';
+$PHPMAILER_LANG['data_not_accepted']    = 'SMTP Error: Data not accepted.';
+$PHPMAILER_LANG['connect_host']         = 'SMTP Error: Could not connect to SMTP host.';
+$PHPMAILER_LANG['file_access']          = 'Could not access file: ';
+$PHPMAILER_LANG['file_open']            = 'File Error: Could not open file: ';
+$PHPMAILER_LANG['encoding']             = 'Unknown encoding: ';
+$PHPMAILER_LANG['signing']              = 'Signing Error: ';
+$PHPMAILER_LANG['smtp_error']           = 'SMTP server error: ';
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-en.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-br.php
===================================================================
--- tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-br.php	(nonexistent)
+++ tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-br.php	(revision 1481)
@@ -0,0 +1,23 @@
+<?php
+/**
+ * PHPMailer language file.
+ * Portuguese Version
+ * By Paulo Henrique Garcia - paulo@controllerweb.com.br
+ */
+
+$PHPMAILER_LANG = array();
+$PHPMAILER_LANG['provide_address']      = 'VocÃª deve fornecer pelo menos um endereÃ§o de destinatÃ¡rio de email.';
+$PHPMAILER_LANG['mailer_not_supported'] = ' mailer nÃ£o suportado.';
+$PHPMAILER_LANG['execute']              = 'NÃ£o foi possÃ­vel executar: ';
+$PHPMAILER_LANG['instantiate']          = 'NÃ£o foi possÃ­vel instanciar a funÃ§Ã£o mail.';
+$PHPMAILER_LANG['authenticate']         = 'Erro de SMTP: NÃ£o foi possÃ­vel autenticar.';
+$PHPMAILER_LANG['from_failed']          = 'Os endereÃ§os de rementente a seguir falharam: ';
+$PHPMAILER_LANG['recipients_failed']    = 'Erro de SMTP: Os endereÃ§os de destinatÃ¡rio a seguir falharam: ';
+$PHPMAILER_LANG['data_not_accepted']    = 'Erro de SMTP: Dados nÃ£o aceitos.';
+$PHPMAILER_LANG['connect_host']         = 'Erro de SMTP: NÃ£o foi possÃ­vel conectar com o servidor SMTP.';
+$PHPMAILER_LANG['file_access']          = 'NÃ£o foi possÃ­vel acessar o arquivo: ';
+$PHPMAILER_LANG['file_open']            = 'Erro de Arquivo: NÃ£o foi possÃ­vel abrir o arquivo: ';
+$PHPMAILER_LANG['encoding']             = 'CodificaÃ§Ã£o desconhecida: ';
+$PHPMAILER_LANG['signing']              = 'Signing Error: ';
+$PHPMAILER_LANG['smtp_error']           = 'SMTP server error: ';
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-br.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-fo.php
===================================================================
--- tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-fo.php	(nonexistent)
+++ tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-fo.php	(revision 1481)
@@ -0,0 +1,25 @@
+<?php
+/**
+ * PHPMailer language file.
+ * Faroese Version [language of the Faroe Islands, a Danish dominion]
+ * This file created: 11-06-2004
+ * Supplied by DÃ¡vur SÃ¸rensen [www.profo-webdesign.dk]
+ */
+
+$PHPMAILER_LANG = array();
+
+$PHPMAILER_LANG['provide_address']      = 'TÃº skal uppgeva minst mÃ³ttakara-emailadressu(r).';
+$PHPMAILER_LANG['mailer_not_supported'] = ' er ikki supporteraÃ°.';
+$PHPMAILER_LANG['execute']              = 'Kundi ikki ÃºtfÃ¸ra: ';
+$PHPMAILER_LANG['instantiate']          = 'Kuni ikki instantiera mail funktiÃ³n.';
+$PHPMAILER_LANG['authenticate']         = 'SMTP feilur: Kundi ikki gÃ³Ã°kenna.';
+$PHPMAILER_LANG['from_failed']          = 'fylgjandi FrÃ¡/From adressa miseydnaÃ°ist: ';
+$PHPMAILER_LANG['recipients_failed']    = 'SMTP Feilur: Fylgjandi mÃ³ttakarar miseydnaÃ°ust: ';
+$PHPMAILER_LANG['data_not_accepted']    = 'SMTP feilur: Data ikki gÃ³Ã°kent.';
+$PHPMAILER_LANG['connect_host']         = 'SMTP feilur: Kundi ikki knÃ½ta samband viÃ° SMTP vert.';
+$PHPMAILER_LANG['file_access']          = 'Kundi ikki tilganga fÃ­lu: ';
+$PHPMAILER_LANG['file_open']            = 'FÃ­lu feilur: Kundi ikki opna fÃ­lu: ';
+$PHPMAILER_LANG['encoding']             = 'Ã“kend encoding: ';
+$PHPMAILER_LANG['signing']              = 'Signing Error: ';
+$PHPMAILER_LANG['smtp_error']           = 'SMTP server error: ';
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-fo.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-se.php
===================================================================
--- tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-se.php	(nonexistent)
+++ tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-se.php	(revision 1481)
@@ -0,0 +1,23 @@
+<?php
+/**
+ * PHPMailer language file.
+ * Swedish Version
+ * Author: Johan LinnÃ©r <johan@linner.biz> */
+
+$PHPMAILER_LANG = array();
+
+$PHPMAILER_LANG['provide_address']      = 'Du mÃ¥ste ange minst en mottagares e-postadress.';
+$PHPMAILER_LANG['mailer_not_supported'] = ' mailer stÃ¶ds inte.';
+$PHPMAILER_LANG['execute']              = 'Kunde inte kÃ¶ra: ';
+$PHPMAILER_LANG['instantiate']          = 'Kunde inte initiera e-postfunktion.';
+$PHPMAILER_LANG['authenticate']         = 'SMTP fel: Kunde inte autentisera.';
+$PHPMAILER_LANG['from_failed']          = 'FÃ¶ljande avsÃ¤ndaradress Ã¤r felaktig: ';
+$PHPMAILER_LANG['recipients_failed']    = 'SMTP fel: FÃ¶ljande mottagare Ã¤r felaktig: ';
+$PHPMAILER_LANG['data_not_accepted']    = 'SMTP fel: Data accepterades inte.';
+$PHPMAILER_LANG['connect_host']         = 'SMTP fel: Kunde inte ansluta till SMTP-server.';
+$PHPMAILER_LANG['file_access']          = 'Ingen Ã¥tkomst till fil: ';
+$PHPMAILER_LANG['file_open']            = 'Fil fel: Kunde inte Ã¶ppna fil: ';
+$PHPMAILER_LANG['encoding']             = 'OkÃ¤nt encode-format: ';
+$PHPMAILER_LANG['signing']              = 'Signing Error: ';
+$PHPMAILER_LANG['smtp_error']           = 'SMTP server error: ';
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-se.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-es.php
===================================================================
--- tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-es.php	(nonexistent)
+++ tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-es.php	(revision 1481)
@@ -0,0 +1,23 @@
+<?php
+/**
+ * PHPMailer language file.
+ * VersiÃ³n en espaÃ±ol
+ */
+
+$PHPMAILER_LANG = array();
+
+$PHPMAILER_LANG['provide_address']      = 'Debe proveer al menos una direcciÃ³n de email como destinatario.';
+$PHPMAILER_LANG['mailer_not_supported'] = ' mailer no estÃ¡ soportado.';
+$PHPMAILER_LANG['execute']              = 'No puedo ejecutar: ';
+$PHPMAILER_LANG['instantiate']          = 'No pude crear una instancia de la funciÃ³n Mail.';
+$PHPMAILER_LANG['authenticate']         = 'Error SMTP: No se pudo autentificar.';
+$PHPMAILER_LANG['from_failed']          = 'La(s) siguiente(s) direcciones de remitente fallaron: ';
+$PHPMAILER_LANG['recipients_failed']    = 'Error SMTP: Los siguientes destinatarios fallaron: ';
+$PHPMAILER_LANG['data_not_accepted']    = 'Error SMTP: Datos no aceptados.';
+$PHPMAILER_LANG['connect_host']         = 'Error SMTP: No puedo conectar al servidor SMTP.';
+$PHPMAILER_LANG['file_access']          = 'No puedo acceder al archivo: ';
+$PHPMAILER_LANG['file_open']            = 'Error de Archivo: No puede abrir el archivo: ';
+$PHPMAILER_LANG['encoding']             = 'CodificaciÃ³n desconocida: ';
+$PHPMAILER_LANG['signing']              = 'Error al firmar: ';
+$PHPMAILER_LANG['smtp_error']           = 'SMTP server error: ';
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-es.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-fr.php
===================================================================
--- tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-fr.php	(nonexistent)
+++ tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-fr.php	(revision 1481)
@@ -0,0 +1,23 @@
+<?php
+/**
+ * PHPMailer language file.
+ * French Version
+ */
+
+$PHPMAILER_LANG = array();
+
+$PHPMAILER_LANG['provide_address']      = 'Vous devez fournir au moins une adresse de destinataire.';
+$PHPMAILER_LANG['mailer_not_supported'] = ' client de messagerie non supportÃ©.';
+$PHPMAILER_LANG['execute']              = 'Impossible de lancer l\'exÃ©cution : ';
+$PHPMAILER_LANG['instantiate']          = 'Impossible d\'instancier la fonction mail.';
+$PHPMAILER_LANG['authenticate']         = 'Erreur SMTP : Echec de l\'authentification.';
+$PHPMAILER_LANG['from_failed']          = 'L\'adresse d\'expÃ©diteur suivante a Ã©chouÃ©e : ';
+$PHPMAILER_LANG['recipients_failed']    = 'Erreur SMTP : Les destinataires suivants sont en erreur : ';
+$PHPMAILER_LANG['data_not_accepted']    = 'Erreur SMTP : DonnÃ©es incorrects.';
+$PHPMAILER_LANG['connect_host']         = 'Erreur SMTP : Impossible de se connecter au serveur SMTP.';
+$PHPMAILER_LANG['file_access']          = 'Impossible d\'accÃ©der au fichier : ';
+$PHPMAILER_LANG['file_open']            = 'Erreur Fichier : ouverture impossible : ';
+$PHPMAILER_LANG['encoding']             = 'Encodage inconnu : ';
+$PHPMAILER_LANG['signing']              = 'Signing Error: ';
+$PHPMAILER_LANG['smtp_error']           = 'SMTP server error: ';
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-fr.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-et.php
===================================================================
--- tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-et.php	(nonexistent)
+++ tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-et.php	(revision 1481)
@@ -0,0 +1,24 @@
+<?php
+/**
+ * PHPMailer language file.
+ * Estonian Version
+ * By Indrek PÃ¤ri
+ */
+
+$PHPMAILER_LANG = array();
+
+$PHPMAILER_LANG['provide_address']      = 'Te peate mÃ¤Ã¤rama vÃ¤hemalt Ã¼he saaja e-posti aadressi.';
+$PHPMAILER_LANG['mailer_not_supported'] = ' maileri tugi puudub.';
+$PHPMAILER_LANG['execute']              = 'Tegevus ebaÃµnnestus: ';
+$PHPMAILER_LANG['instantiate']          = 'mail funktiooni kÃ¤ivitamine ebaÃµnnestus.';
+$PHPMAILER_LANG['authenticate']         = 'SMTP Viga: Autoriseerimise viga.';
+$PHPMAILER_LANG['from_failed']          = 'JÃ¤rgnev saatja e-posti aadress on vigane: ';
+$PHPMAILER_LANG['recipients_failed']    = 'SMTP Viga: JÃ¤rgnevate saajate e-posti aadressid on vigased: ';
+$PHPMAILER_LANG['data_not_accepted']    = 'SMTP Viga: Vigased andmed.';
+$PHPMAILER_LANG['connect_host']         = 'SMTP Viga: Ei Ãµnnestunud luua Ã¼hendust SMTP serveriga.';
+$PHPMAILER_LANG['file_access']          = 'Pole piisavalt Ãµiguseid jÃ¤rgneva faili avamiseks: ';
+$PHPMAILER_LANG['file_open']            = 'Faili Viga: Faili avamine ebaÃµnnestus: ';
+$PHPMAILER_LANG['encoding']             = 'Tundmatu Unknown kodeering: ';
+$PHPMAILER_LANG['signing']              = 'Signing Error: ';
+$PHPMAILER_LANG['smtp_error']           = 'SMTP server error: ';
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-et.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-nl.php
===================================================================
--- tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-nl.php	(nonexistent)
+++ tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-nl.php	(revision 1481)
@@ -0,0 +1,23 @@
+<?php
+/**
+ * PHPMailer language file.
+ * Dutch Version
+ */
+
+$PHPMAILER_LANG = array();
+
+$PHPMAILER_LANG['provide_address']      = 'Er moet tenmiste Ã©Ã©n ontvanger emailadres opgegeven worden.';
+$PHPMAILER_LANG['mailer_not_supported'] = ' mailer wordt niet ondersteund.';
+$PHPMAILER_LANG['execute']              = 'Kon niet uitvoeren: ';
+$PHPMAILER_LANG['instantiate']          = 'Kon mail functie niet initialiseren.';
+$PHPMAILER_LANG['authenticate']         = 'SMTP Fout: authenticatie mislukt.';
+$PHPMAILER_LANG['from_failed']          = 'De volgende afzender adressen zijn mislukt: ';
+$PHPMAILER_LANG['recipients_failed']    = 'SMTP Fout: De volgende ontvangers zijn mislukt: ';
+$PHPMAILER_LANG['data_not_accepted']    = 'SMTP Fout: Data niet geaccepteerd.';
+$PHPMAILER_LANG['connect_host']         = 'SMTP Fout: Kon niet verbinden met SMTP host.';
+$PHPMAILER_LANG['file_access']          = 'Kreeg geen toegang tot bestand: ';
+$PHPMAILER_LANG['file_open']            = 'Bestandsfout: Kon bestand niet openen: ';
+$PHPMAILER_LANG['encoding']             = 'Onbekende codering: ';
+$PHPMAILER_LANG['signing']              = 'Signing Error: ';
+$PHPMAILER_LANG['smtp_error']           = 'SMTP server error: ';
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-nl.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-pl.php
===================================================================
--- tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-pl.php	(nonexistent)
+++ tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-pl.php	(revision 1481)
@@ -0,0 +1,23 @@
+<?php
+/**
+ * PHPMailer language file.  
+ * Polish Version
+ */
+
+$PHPMAILER_LANG = array();
+
+$PHPMAILER_LANG["provide_address"] = 'NaleÅ¼y podaÄ‡ prawidÅ‚owy adres email Odbiorcy.';
+$PHPMAILER_LANG["mailer_not_supported"] = 'Wybrana metoda wysyÅ‚ki wiadomoÅ›ci nie jest obsÅ‚ugiwana.';
+$PHPMAILER_LANG["execute"] = 'Nie moÅ¼na uruchomiÄ‡: ';
+$PHPMAILER_LANG["instantiate"] = 'Nie moÅ¼na wywoÅ‚aÄ‡ funkcji mail(). SprawdÅº konfiguracjÄ™ serwera.';
+$PHPMAILER_LANG["authenticate"] = 'BÅ‚Ä…d SMTP: Nie moÅ¼na przeprowadziÄ‡ autentykacji.';
+$PHPMAILER_LANG["from_failed"] = 'NastÄ™pujÄ…cy adres Nadawcy jest jest nieprawidÅ‚owy: ';
+$PHPMAILER_LANG["recipients_failed"] = 'BÅ‚Ä…d SMTP: NastÄ™pujÄ…cy odbiorcy sÄ… nieprawidÅ‚owi: ';
+$PHPMAILER_LANG["data_not_accepted"] = 'BÅ‚Ä…d SMTP: Dane nie zostaÅ‚y przyjÄ™te.';
+$PHPMAILER_LANG["connect_host"] = 'BÅ‚Ä…d SMTP: Nie moÅ¼na poÅ‚Ä…czyÄ‡ siÄ™ z wybranym hostem.';
+$PHPMAILER_LANG["file_access"] = 'Brak dostÄ™pu do pliku: ';
+$PHPMAILER_LANG["file_open"] = 'Nie moÅ¼na otworzyÄ‡ pliku: ';
+$PHPMAILER_LANG["encoding"] = 'Nieznany sposÃ³b kodowania znakÃ³w: ';
+$PHPMAILER_LANG['signing'] = 'Signing Error: ';
+$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: ';
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-pl.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-it.php
===================================================================
--- tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-it.php	(nonexistent)
+++ tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-it.php	(revision 1481)
@@ -0,0 +1,26 @@
+<?php
+/**
+* PHPMailer language file.
+* Italian version
+* @package PHPMailer
+* @author Ilias Bartolini <brain79@inwind.it>*/
+
+$PHPMAILER_LANG = array();
+
+$PHPMAILER_LANG['provide_address']      = 'Deve essere fornito almeno un indirizzo ricevente';
+$PHPMAILER_LANG['mailer_not_supported'] = 'Mailer non supportato';
+$PHPMAILER_LANG['execute']              = 'Impossibile eseguire l\'operazione: ';
+$PHPMAILER_LANG['instantiate']          = 'Impossibile istanziare la funzione mail';
+$PHPMAILER_LANG['authenticate']         = 'SMTP Error: Impossibile autenticarsi.';
+$PHPMAILER_LANG['from_failed']          = 'I seguenti indirizzi mittenti hanno generato errore: ';
+$PHPMAILER_LANG['recipients_failed']    = 'SMTP Error: I seguenti indirizzi'.
+                                          'destinatari hanno generato errore: ';
+$PHPMAILER_LANG['data_not_accepted']    = 'SMTP Error: Data non accettati dal'.
+                                          'server.';
+$PHPMAILER_LANG['connect_host']         = 'SMTP Error: Impossibile connettersi all\'host SMTP.';
+$PHPMAILER_LANG['file_access']          = 'Impossibile accedere al file: ';
+$PHPMAILER_LANG['file_open']            = 'File Error: Impossibile aprire il file: ';
+$PHPMAILER_LANG['encoding']             = 'Encoding set dei caratteri sconosciuto: ';
+$PHPMAILER_LANG['signing']              = 'Signing Error: ';
+$PHPMAILER_LANG['smtp_error']           = 'SMTP server error: ';
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-it.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-hu.php
===================================================================
--- tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-hu.php	(nonexistent)
+++ tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-hu.php	(revision 1481)
@@ -0,0 +1,23 @@
+<?php
+/**
+ * PHPMailer language file.
+ * Hungarian Version
+ */
+
+$PHPMAILER_LANG = array();
+
+$PHPMAILER_LANG['provide_address']      = 'Meg kell adnod legalÃ¡bb egy cÃ­mzett email cÃ­met.';
+$PHPMAILER_LANG['mailer_not_supported'] = ' levelezÃµ nem tÃ¡mogatott.';
+$PHPMAILER_LANG['execute']              = 'Nem tudtam vÃ©grehajtani: ';
+$PHPMAILER_LANG['instantiate']          = 'Nem sikerÃ¼lt pÃ©ldÃ¡nyosÃ­tani a mail funkciÃ³t.';
+$PHPMAILER_LANG['authenticate']         = 'SMTP Hiba: Sikertelen autentikÃ¡ciÃ³.';
+$PHPMAILER_LANG['from_failed']          = 'Az alÃ¡bbi FeladÃ³ cÃ­m hibÃ¡s: ';
+$PHPMAILER_LANG['recipients_failed']    = 'SMTP Hiba: Az alÃ¡bbi cÃ­mzettek hibÃ¡sak: ';
+$PHPMAILER_LANG['data_not_accepted']    = 'SMTP Hiba: Nem elfogadhatÃ³ adat.';
+$PHPMAILER_LANG['connect_host']         = 'SMTP Hiba: Nem tudtam csatlakozni az SMTP host-hoz.';
+$PHPMAILER_LANG['file_access']          = 'Nem sikerÃ¼lt elÃ©rni a kÃ¶vetkezÃµ fÃ¡jlt: ';
+$PHPMAILER_LANG['file_open']            = 'FÃ¡jl Hiba: Nem sikerÃ¼lt megnyitni a kÃ¶vetkezÃµ fÃ¡jlt: ';
+$PHPMAILER_LANG['encoding']             = 'Ismeretlen kÃ³dolÃ¡s: ';
+$PHPMAILER_LANG['signing']              = 'Signing Error: ';
+$PHPMAILER_LANG['smtp_error']           = 'SMTP server error: ';
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-hu.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-cz.php
===================================================================
--- tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-cz.php	(nonexistent)
+++ tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-cz.php	(revision 1481)
@@ -0,0 +1,23 @@
+<?php
+/**
+ * PHPMailer language file.
+ * Czech Version
+ */
+
+$PHPMAILER_LANG = array();
+
+$PHPMAILER_LANG["provide_address"]      = 'MusÃ­te zadat alespoÃ² jednu emailovou adresu pÃ¸Ã­jemce.';
+$PHPMAILER_LANG["mailer_not_supported"] = ' mailovÃ½ klient nenÃ­ podporovÃ¡n.';
+$PHPMAILER_LANG["execute"]              = 'Nelze provÃ©st: ';
+$PHPMAILER_LANG["instantiate"]          = 'Nelze vytvoÃ¸it instanci emailovÃ© funkce.';
+$PHPMAILER_LANG["authenticate"]         = 'SMTP Error: Chyba autentikace.';
+$PHPMAILER_LANG["from_failed"]          = 'NÃ¡sledujÃ­cÃ­ adresa From je nesprÃ¡vnÃ¡: ';
+$PHPMAILER_LANG["recipients_failed"]    = 'SMTP Error: Adresy pÃ¸Ã­jemcÃ¹ nejsou sprÃ¡vnÃ© ' .
+$PHPMAILER_LANG["data_not_accepted"]    = 'SMTP Error: Data nebyla pÃ¸ijata';
+$PHPMAILER_LANG["connect_host"]         = 'SMTP Error: Nelze navÃ¡zat spojenÃ­ se SMTP serverem.';
+$PHPMAILER_LANG["file_access"]          = 'Soubor nenalezen: ';
+$PHPMAILER_LANG["file_open"]            = 'File Error: Nelze otevÃ¸Ã­t soubor pro Ã¨tenÃ­: ';
+$PHPMAILER_LANG["encoding"]             = 'NeznÃ¡mÃ© kÃ³dovÃ¡nÃ­: ';
+$PHPMAILER_LANG["signing"]              = 'Signing Error: ';
+$PHPMAILER_LANG['smtp_error']           = 'SMTP server error: ';
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-cz.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-no.php
===================================================================
--- tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-no.php	(nonexistent)
+++ tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-no.php	(revision 1481)
@@ -0,0 +1,23 @@
+<?php
+/**
+ * PHPMailer language file.
+ * Norwegian Version
+ */
+
+$PHPMAILER_LANG = array();
+
+$PHPMAILER_LANG['provide_address']      = 'Du mÃ¥ ha med minst en mottager adresse.';
+$PHPMAILER_LANG['mailer_not_supported'] = ' mailer er ikke supportert.';
+$PHPMAILER_LANG['execute']              = 'Kunne ikke utfÃ¸re: ';
+$PHPMAILER_LANG['instantiate']          = 'Kunne ikke instantiate mail funksjonen.';
+$PHPMAILER_LANG['authenticate']         = 'SMTP Feil: Kunne ikke authentisere.';
+$PHPMAILER_LANG['from_failed']          = 'FÃ¸lgende Fra feilet: ';
+$PHPMAILER_LANG['recipients_failed']    = 'SMTP Feil: FÃ¸lgende mottagere feilet: ';
+$PHPMAILER_LANG['data_not_accepted']    = 'SMTP Feil: Data ble ikke akseptert.';
+$PHPMAILER_LANG['connect_host']         = 'SMTP Feil: Kunne ikke koble til SMTP host.';
+$PHPMAILER_LANG['file_access']          = 'Kunne ikke fÃ¥ tilgang til filen: ';
+$PHPMAILER_LANG['file_open']            = 'Fil feil: Kunne ikke Ã¥pne filen: ';
+$PHPMAILER_LANG['encoding']             = 'Ukjent encoding: ';
+$PHPMAILER_LANG['signing']              = 'Signing Error: ';
+$PHPMAILER_LANG['smtp_error']           = 'SMTP server error: ';
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-no.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-ro.php
===================================================================
--- tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-ro.php	(nonexistent)
+++ tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-ro.php	(revision 1481)
@@ -0,0 +1,24 @@
+<?php
+/**
+ * PHPMailer language file.
+ * Romanian Version
+ * @package PHPMailer
+ * @author Catalin Constantin <catalin@dazoot.ro> */
+
+$PHPMAILER_LANG = array();
+
+$PHPMAILER_LANG['provide_address']      = 'Trebuie sa adaugati cel putin un recipient (adresa de mail).';
+$PHPMAILER_LANG['mailer_not_supported'] = ' mailer nu este suportat.';
+$PHPMAILER_LANG['execute']              = 'Nu pot executa:  ';
+$PHPMAILER_LANG['instantiate']          = 'Nu am putut instantia functia mail.';
+$PHPMAILER_LANG['authenticate']         = 'Eroare SMTP: Nu a functionat autentificarea.';
+$PHPMAILER_LANG['from_failed']          = 'Urmatoarele adrese From au dat eroare: ';
+$PHPMAILER_LANG['recipients_failed']    = 'Eroare SMTP: Urmatoarele adrese de mail au dat eroare: ';
+$PHPMAILER_LANG['data_not_accepted']    = 'Eroare SMTP: Continutul mailului nu a fost acceptat.';
+$PHPMAILER_LANG['connect_host']         = 'Eroare SMTP: Nu m-am putut conecta la adresa SMTP.';
+$PHPMAILER_LANG['file_access']          = 'Nu pot accesa fisierul: ';
+$PHPMAILER_LANG['file_open']            = 'Eroare de fisier: Nu pot deschide fisierul: ';
+$PHPMAILER_LANG['encoding']             = 'Encodare necunoscuta: ';
+$PHPMAILER_LANG['signing']              = 'Signing Error: ';
+$PHPMAILER_LANG['smtp_error']           = 'SMTP server error: ';
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-ro.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-zh.php
===================================================================
--- tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-zh.php	(nonexistent)
+++ tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-zh.php	(revision 1481)
@@ -0,0 +1,23 @@
+<?php
+/**
+ * PHPMailer language file.  
+ * Traditional Chinese Version
+ * @author liqwei <liqwei@liqwei.com>
+ */
+
+$PHPMAILER_LANG = array();
+$PHPMAILER_LANG['provide_address'] = 'å¿…é ˆæä¾›è‡³å°‘ä¸€å€‹æ”¶ä»¶äººåœ°å€ã€‚';
+$PHPMAILER_LANG['mailer_not_supported'] = 'ç™¼ä¿¡å®¢æˆ¶ç«¯ä¸è¢«æ”¯æŒã€‚';
+$PHPMAILER_LANG['execute'] = 'ç„¡æ³•åŸ·è¡Œï¼š';
+$PHPMAILER_LANG['instantiate'] = 'æœªçŸ¥å‡½æ•¸èª¿ç”¨ã€‚';
+$PHPMAILER_LANG['authenticate'] = 'SMTP éŒ¯èª¤ï¼šç™»éŒ„å¤±æ•—ã€‚';
+$PHPMAILER_LANG['from_failed'] = 'ç™¼é€åœ°å€éŒ¯èª¤ï¼š';
+$PHPMAILER_LANG['recipients_failed'] = 'SMTP éŒ¯èª¤ï¼šæ”¶ä»¶äººåœ°å€éŒ¯èª¤ï¼š';
+$PHPMAILER_LANG['data_not_accepted'] = 'SMTP éŒ¯èª¤ï¼šæ•¸æ“šä¸è¢«æ¥å—ã€‚';
+$PHPMAILER_LANG['connect_host'] = 'SMTP éŒ¯èª¤ï¼šç„¡æ³•é€£æ¥åˆ° SMTP ä¸»æ©Ÿã€‚';
+$PHPMAILER_LANG['file_access'] = 'ç„¡æ³•è¨ªå•æ–‡ä»¶ï¼š';
+$PHPMAILER_LANG['file_open'] = 'æ–‡ä»¶éŒ¯èª¤ï¼šç„¡æ³•æ‰“é–‹æ–‡ä»¶ï¼š';
+$PHPMAILER_LANG['encoding'] = 'æœªçŸ¥ç·¨ç¢¼: ';
+$PHPMAILER_LANG['signing'] = 'Signing Error: ';
+$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: ';
+?>
\ No newline at end of file
Index: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-ca.php
===================================================================
--- tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-ca.php	(nonexistent)
+++ tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-ca.php	(revision 1481)
@@ -0,0 +1,24 @@
+<?php
+/**
+ * PHPMailer language file.
+ * Catalan Version
+ * By Ivan: web AT microstudi DOT com
+ */
+
+$PHPMAILER_LANG = array();
+
+$PHPMAILER_LANG['provide_address']      = 'S\'ha de proveir almenys una adreÃ§a d\'email com a destinatari.';
+$PHPMAILER_LANG['mailer_not_supported'] = ' mailer no estÃ  suportat';
+$PHPMAILER_LANG['execute']              = 'No es pot executar: ';
+$PHPMAILER_LANG['instantiate']          = 'No s\'ha pogut crear una instÃ ncia de la funciÃ³ Mail.';
+$PHPMAILER_LANG['authenticate']         = 'Error SMTP: No s\'hapogut autenticar.';
+$PHPMAILER_LANG['from_failed']          = 'La(s) segÃ¼ent(s) adreces de remitent han fallat: ';
+$PHPMAILER_LANG['recipients_failed']    = 'Error SMTP: Els segÃ¼ents destinataris han fallat: ';
+$PHPMAILER_LANG['data_not_accepted']    = 'Error SMTP: Dades no acceptades.';
+$PHPMAILER_LANG['connect_host']         = 'Error SMTP: No es pot connectar al servidor SMTP.';
+$PHPMAILER_LANG['file_access']          = 'No es pot accedir a l\'arxiu: ';
+$PHPMAILER_LANG['file_open']            = 'Error d\'Arxiu: No es pot obrir l\'arxiu: ';
+$PHPMAILER_LANG['encoding']             = 'CodificaciÃ³ desconeguda: ';
+$PHPMAILER_LANG['signing']              = 'Signing Error: ';
+$PHPMAILER_LANG['smtp_error']           = 'SMTP server error: ';
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-ca.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-tr.php
===================================================================
--- tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-tr.php	(nonexistent)
+++ tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-tr.php	(revision 1481)
@@ -0,0 +1,24 @@
+<?php
+/**
+ * PHPMailer dil dosyasÃ½.
+ * TÃ¼rkÃ§e Versiyonu
+ * ÃZYAZILIM - ElÃ§in Ã–zel - Can YÃ½lmaz - Mehmet BenlioÃ°lu
+ */
+
+$PHPMAILER_LANG = array();
+
+$PHPMAILER_LANG['provide_address']      = 'En az bir tane mail adresi belirtmek zorundasÃ½nÃ½z alÃ½cÃ½nÃ½n email adresi.';
+$PHPMAILER_LANG['mailer_not_supported'] = ' mailler desteklenmemektedir.';
+$PHPMAILER_LANG['execute']              = 'Ã‡alÃ½Ã¾tÃ½rÃ½lamÃ½yor: ';
+$PHPMAILER_LANG['instantiate']          = 'Ã–rnek mail fonksiyonu yaratÃ½lamadÃ½.';
+$PHPMAILER_LANG['authenticate']         = 'SMTP HatasÃ½: DoÃ°rulanamÃ½yor.';
+$PHPMAILER_LANG['from_failed']          = 'BaÃ¾arÃ½sÃ½z olan gÃ¶nderici adresi: ';
+$PHPMAILER_LANG['recipients_failed']    = 'SMTP HatasÃ½: alÃ½cÃ½lara ulaÃ¾madÃ½: ';
+$PHPMAILER_LANG['data_not_accepted']    = 'SMTP HatasÃ½: Veri kabul edilmedi.';
+$PHPMAILER_LANG['connect_host']         = 'SMTP HatasÃ½: SMTP hosta baÃ°lanÃ½lamÃ½yor.';
+$PHPMAILER_LANG['file_access']          = 'Dosyaya eriÃ¾ilemiyor: ';
+$PHPMAILER_LANG['file_open']            = 'Dosya HatasÃ½: Dosya aÃ§Ã½lamÃ½yor: ';
+$PHPMAILER_LANG['encoding']             = 'Bilinmeyen Ã¾ifreleme: ';
+$PHPMAILER_LANG['signing']              = 'Signing Error: ';
+$PHPMAILER_LANG['smtp_error']           = 'SMTP server error: ';
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-tr.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-ru.php
===================================================================
--- tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-ru.php	(nonexistent)
+++ tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-ru.php	(revision 1481)
@@ -0,0 +1,23 @@
+<?php
+/**
+ * PHPMailer language file.
+ * Russian Version by Alexey Chumakov <alex@chumakov.ru> */
+
+$PHPMAILER_LANG = array();
+
+$PHPMAILER_LANG['provide_address']      = 'ĞŸĞ¾Ğ¶Ğ°Ğ»ÑƒĞ¹ÑÑ‚Ğ°, Ğ²Ğ²ĞµĞ´Ğ¸Ñ‚Ğµ Ñ…Ğ¾Ñ‚Ñ Ğ±Ñ‹ Ğ¾Ğ´Ğ¸Ğ½ Ğ°Ğ´Ñ€ĞµÑ e-mail Ğ¿Ğ¾Ğ»ÑƒÑ‡Ğ°Ñ‚ĞµĞ»Ñ.';
+$PHPMAILER_LANG['mailer_not_supported'] = ' - Ğ¿Ğ¾Ñ‡Ñ‚Ğ¾Ğ²Ñ‹Ğ¹ ÑĞµÑ€Ğ²ĞµÑ€ Ğ½Ğµ Ğ¿Ğ¾Ğ´Ğ´ĞµÑ€Ğ¶Ğ¸Ğ²Ğ°ĞµÑ‚ÑÑ.';
+$PHPMAILER_LANG['execute']              = 'ĞĞµĞ²Ğ¾Ğ·Ğ¼Ğ¾Ğ¶Ğ½Ğ¾ Ğ²Ñ‹Ğ¿Ğ¾Ğ»Ğ½Ğ¸Ñ‚ÑŒ ĞºĞ¾Ğ¼Ğ°Ğ½Ğ´Ñƒ: ';
+$PHPMAILER_LANG['instantiate']          = 'ĞĞµĞ²Ğ¾Ğ·Ğ¼Ğ¾Ğ¶Ğ½Ğ¾ Ğ·Ğ°Ğ¿ÑƒÑÑ‚Ğ¸Ñ‚ÑŒ Ñ„ÑƒĞ½ĞºÑ†Ğ¸Ñ mail.';
+$PHPMAILER_LANG['authenticate']         = 'ĞÑˆĞ¸Ğ±ĞºĞ° SMTP: Ğ¾ÑˆĞ¸Ğ±ĞºĞ° Ğ°Ğ²Ñ‚Ğ¾Ñ€Ğ¸Ğ·Ğ°Ñ†Ğ¸Ğ¸.';
+$PHPMAILER_LANG['from_failed']          = 'ĞĞµĞ²ĞµÑ€Ğ½Ñ‹Ğ¹ Ğ°Ğ´Ñ€ĞµÑ Ğ¾Ñ‚Ğ¿Ñ€Ğ°Ğ²Ğ¸Ñ‚ĞµĞ»Ñ: ';
+$PHPMAILER_LANG['recipients_failed']    = 'ĞÑˆĞ¸Ğ±ĞºĞ° SMTP: Ğ¾Ñ‚Ğ¿Ñ€Ğ°Ğ²ĞºĞ° Ğ¿Ğ¾ ÑĞ»ĞµĞ´ÑƒÑÑ‰Ğ¸Ğ¼ ' .
+                                          'Ğ°Ğ´Ñ€ĞµÑĞ°Ğ¼ Ğ¿Ğ¾Ğ»ÑƒÑ‡Ğ°Ñ‚ĞµĞ»ĞµĞ¹ Ğ½Ğµ ÑƒĞ´Ğ°Ğ»Ğ°ÑÑŒ: ';
+$PHPMAILER_LANG['data_not_accepted']    = 'ĞÑˆĞ¸Ğ±ĞºĞ° SMTP: Ğ´Ğ°Ğ½Ğ½Ñ‹Ğµ Ğ½Ğµ Ğ¿Ñ€Ğ¸Ğ½ÑÑ‚Ñ‹.';
+$PHPMAILER_LANG['connect_host']         = 'ĞÑˆĞ¸Ğ±ĞºĞ° SMTP: Ğ½Ğµ ÑƒĞ´Ğ°ĞµÑ‚ÑÑ Ğ¿Ğ¾Ğ´ĞºĞ»ÑÑ‡Ğ¸Ñ‚ÑŒÑÑ Ğº ÑĞµÑ€Ğ²ĞµÑ€Ñƒ SMTP.';
+$PHPMAILER_LANG['file_access']          = 'ĞĞµÑ‚ Ğ´Ğ¾ÑÑ‚ÑƒĞ¿Ğ° Ğº Ñ„Ğ°Ğ¹Ğ»Ñƒ: ';
+$PHPMAILER_LANG['file_open']            = 'Ğ¤Ğ°Ğ¹Ğ»Ğ¾Ğ²Ğ°Ñ Ğ¾ÑˆĞ¸Ğ±ĞºĞ°: Ğ½Ğµ ÑƒĞ´Ğ°ĞµÑ‚ÑÑ Ğ¾Ñ‚ĞºÑ€Ñ‹Ñ‚ÑŒ Ñ„Ğ°Ğ¹Ğ»: ';
+$PHPMAILER_LANG['encoding']             = 'ĞĞµĞ¸Ğ·Ğ²ĞµÑÑ‚Ğ½Ñ‹Ğ¹ Ğ²Ğ¸Ğ´ ĞºĞ¾Ğ´Ğ¸Ñ€Ğ¾Ğ²ĞºĞ¸: ';
+$PHPMAILER_LANG['signing']              = 'Signing Error: ';
+$PHPMAILER_LANG['smtp_error']           = 'SMTP server error: ';
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-ru.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-de.php
===================================================================
--- tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-de.php	(nonexistent)
+++ tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-de.php	(revision 1481)
@@ -0,0 +1,24 @@
+<?php
+/**
+ * PHPMailer language file.
+ * German Version
+ * Thanks to Yann-Patrick Schlame for the latest update!
+ */
+
+$PHPMAILER_LANG = array();
+
+$PHPMAILER_LANG['provide_address']      = 'Bitte geben Sie mindestens eine EmpfÃ¤nger Emailadresse an.';
+$PHPMAILER_LANG['mailer_not_supported'] = ' mailer wird nicht unterstÃ¼tzt.';
+$PHPMAILER_LANG['execute']              = 'Konnte folgenden Befehl nicht ausfÃ¼hren: ';
+$PHPMAILER_LANG['instantiate']          = 'Mail Funktion konnte nicht initialisiert werden.';
+$PHPMAILER_LANG['authenticate']         = 'SMTP Fehler: Authentifizierung fehlgeschlagen.';
+$PHPMAILER_LANG['from_failed']          = 'Die folgende Absenderadresse ist nicht korrekt: ';
+$PHPMAILER_LANG['recipients_failed']    = 'SMTP Fehler: Die folgenden EmpfÃ¤nger sind nicht korrekt: ';
+$PHPMAILER_LANG['data_not_accepted']    = 'SMTP Fehler: Daten werden nicht akzeptiert.';
+$PHPMAILER_LANG['connect_host']         = 'SMTP Fehler: Konnte keine Verbindung zum SMTP-Host herstellen.';
+$PHPMAILER_LANG['file_access']          = 'Zugriff auf folgende Datei fehlgeschlagen: ';
+$PHPMAILER_LANG['file_open']            = 'Datei Fehler: konnte folgende Datei nicht Ã¶ffnen: ';
+$PHPMAILER_LANG['encoding']             = 'Unbekanntes Encoding-Format: ';
+$PHPMAILER_LANG['signing']              = 'Fehler beim Signieren: ';
+$PHPMAILER_LANG['smtp_error']           = 'SMTP server error: ';
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/phpmailer/language/phpmailer.lang-de.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/phpmailer/language/index.php
===================================================================
--- tags/2.8.2/wb/include/phpmailer/language/index.php	(nonexistent)
+++ tags/2.8.2/wb/include/phpmailer/language/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/phpmailer/language/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/include/phpmailer/ChangeLog.txt
===================================================================
--- tags/2.8.2/wb/include/phpmailer/ChangeLog.txt	(nonexistent)
+++ tags/2.8.2/wb/include/phpmailer/ChangeLog.txt	(revision 1481)
@@ -0,0 +1,302 @@
+ChangeLog
+
+Version 2.0.4 (April 02 2009)
+* fixed == in class.smtp.php
+- NOTE: this is it folks, our last PHPMailer to support PHP4
+
+Version 2.0.3 (November 08 2008)
+* fixed line 1041 in class.smtp.php (endless loop from missing = sign)
+* fixed duplicate images in email body
+* removed English language from language files and made it a default within
+  class.phpmailer.php - if no language is found, it will default to use
+  the english language translation
+* corrected $basedir to $directory
+* changed default of $LE to "\r\n" to comply with RFC 2822. Can be set by the user
+  if default is not acceptable
+* removed trim() from return results in EncodeQP
+* changed $this->AltBody = $textMsg; to $this->AltBody = html_entity_decode($textMsg);
+* We have removed the /phpdoc from the downloads. All documentation is now on
+  the http://phpmailer.codeworxtech.com website.
+
+Version 2.0.2 (June 04 2008)
+
+** NOTE: WE HAVE A NEW LANGUAGE VARIABLE FOR DIGITALLY SIGNED S/MIME EMAILS.
+   IF YOU CAN HELP WITH LANGUAGES OTHER THAN ENGLISH AND SPANISH, IT WOULD BE
+   APPRECIATED.
+
+* added S/MIME functionality (ability to digitally sign emails)
+  BIG THANKS TO "sergiocambra" for posting this patch back in November 2007.
+  The "Signed Emails" functionality adds the Sign method to pass the private key
+  filename and the password to read it, and then email will be sent with
+  content-type multipart/signed and with the digital signature attached.
+* added ability to define path (mainly for embedded images)
+  function MsgHTML($message,$basedir='') ... where:
+  $basedir is the fully qualified path
+* fixed MsgHTML() function:
+  - Embedded Images where images are specified by <protocol>:// will not be altered or embedded
+* fixed the return value of SMTP exit code ( pclose )
+* addressed issue of multibyte characters in subject line and truncating
+* added ability to have user specified Message ID
+  (default is still that PHPMailer create a unique Message ID)
+* corrected unidentified message type to 'application/octet-stream'
+* fixed chunk_split() multibyte issue (thanks to Colin Brown, et al).
+* added check for added attachments
+* enhanced conversion of HTML to text in MsgHTML (thanks to "brunny")
+
+Version 2.0.1 (Sun, Dec 02 2007)
+* corrected incorrect version numbers in all three classes
+
+Version 2.0.0 (Sun, Dec 02 2007)
+* implemented updated EncodeQP (thanks to coolbru, aka Marcus Bointon)
+* finished all testing, all known bugs corrected, enhancements tested
+- note: designed for PHP4, but will work with PHP5 (not compatible with
+  E_STRICT) ... full PHP5 version of PHPMailer released separately.
+  PHP5 version will NOT work with PHP4.
+
+Version 2.0.0 rc2 (Fri, Nov 16 2007), interim release
+* implements new property to control VERP in class.smtp.php
+  example (requires instantiating class.smtp.php):
+  $mail->do_verp = true;
+* POP-before-SMTP functionality included, thanks to Richard Davey
+  (see class.pop3.php & pop3_before_smtp_test.php for examples)
+* included example showing how to use PHPMailer with GMAIL
+* fixed the missing Cc in SendMail() and Mail()
+
+******************
+A note on sending bulk emails:
+
+If the email you are sending is not personalized, consider using the
+"undisclosed-recipient:;" strategy. That is, put all of your recipients
+in the Bcc field and set the To field to "undisclosed-recipients:;".
+It's a lot faster (only one send) and saves quite a bit on resources.
+Contrary to some opinions, this will not get you listed in spam engines -
+it's a legitimate way for you to send emails.
+
+A partial example for use with PHPMailer:
+
+$mail->AddAddress("undisclosed-recipients:;");
+$mail->AddBCC("email1@anydomain.com,email2@anyotherdomain.com,email3@anyalternatedomain.com");
+
+Many email service providers restrict the number of emails that can be sent
+in any given time period. Often that is between 50 - 60 emails maximum
+per hour or per send session.
+
+If that's the case, then break up your Bcc lists into chunks that are one
+less than your limit, and put a pause in your script.
+*******************
+
+Version 2.0.0 rc1 (Thu, Nov 08 2007), interim release
+* dramatically simplified using inline graphics ... it's fully automated and
+  requires no user input
+* added automatic document type detection for attachments and pictures
+* added MsgHTML() function to replace Body tag for HTML emails
+* fixed the SendMail security issues (input validation vulnerability)
+* enhanced the AddAddresses functionality so that the "Name" portion is used
+  in the email address
+* removed the need to use the AltBody method (set from the HTML, or default
+  text used)
+* set the PHP Mail() function as the default (still support SendMail, SMTP Mail)
+* removed the need to set the IsHTML property (set automatically)
+* added Estonian language file by Indrek P&auml;ri
+* added header injection patch
+* added "set" method to permit users to create their own pseudo-properties
+  like 'X-Headers', etc.
+  example of use:
+  $mail->set('X-Priority', '3');
+  $mail->set('X-MSMail-Priority', 'Normal');
+* fixed warning message in SMTP get_lines method
+* added TLS/SSL SMTP support
+  example of use:
+  $mail = new PHPMailer();
+  $mail->Mailer = "smtp";
+  $mail->Host = "smtp.example.com";
+  $mail->SMTPSecure   = "tls"; // option
+  //$mail->SMTPSecure   = "ssl";  // option
+  ...
+  $mail->Send();
+* PHPMailer has been tested with PHP4 (4.4.7) and PHP5 (5.2.7)
+* Works with PHP installed as a module or as CGI-PHP
+- NOTE: will NOT work with PHP5 in E_STRICT error mode
+
+Version 1.73 (Sun, Jun 10 2005)
+* Fixed denial of service bug: http://www.cybsec.com/vuln/PHPMailer-DOS.pdf
+* Now has a total of 20 translations
+* Fixed alt attachments bug: http://tinyurl.com/98u9k
+
+Version 1.72 (Wed, May 25 2004)
+* Added Dutch, Swedish, Czech, Norwegian, and Turkish translations.
+* Received: Removed this method because spam filter programs like
+SpamAssassin reject this header.
+* Fixed error count bug.
+* SetLanguage default is now "language/".
+* Fixed magic_quotes_runtime bug.
+
+Version 1.71 (Tue, Jul 28 2003)
+* Made several speed enhancements
+* Added German and Italian translation files
+* Fixed HELO/AUTH bugs on keep-alive connects
+* Now provides an error message if language file does not load
+* Fixed attachment EOL bug
+* Updated some unclear documentation
+* Added additional tests and improved others
+
+Version 1.70 (Mon, Jun 20 2003)
+* Added SMTP keep-alive support
+* Added IsError method for error detection
+* Added error message translation support (SetLanguage)
+* Refactored many methods to increase library performance
+* Hello now sends the newer EHLO message before HELO as per RFC 2821
+* Removed the boundary class and replaced it with GetBoundary
+* Removed queue support methods
+* New $Hostname variable
+* New Message-ID header
+* Received header reformat
+* Helo variable default changed to $Hostname
+* Removed extra spaces in Content-Type definition (#667182)
+* Return-Path should be set to Sender when set
+* Adds Q or B encoding to headers when necessary
+* quoted-encoding should now encode NULs \000
+* Fixed encoding of body/AltBody (#553370)
+* Adds "To: undisclosed-recipients:;" when all recipients are hidden (BCC)
+* Multiple bug fixes
+
+Version 1.65 (Fri, Aug 09 2002)
+* Fixed non-visible attachment bug (#585097) for Outlook
+* SMTP connections are now closed after each transaction
+* Fixed SMTP::Expand return value
+* Converted SMTP class documentation to phpDocumentor format
+
+Version 1.62 (Wed, Jun 26 2002)
+* Fixed multi-attach bug
+* Set proper word wrapping
+* Reduced memory use with attachments
+* Added more debugging
+* Changed documentation to phpDocumentor format
+
+Version 1.60 (Sat, Mar 30 2002)
+* Sendmail pipe and address patch (Christian Holtje)
+* Added embedded image and read confirmation support (A. Ognio)
+* Added unit tests
+* Added SMTP timeout support (*nix only)
+* Added possibly temporary PluginDir variable for SMTP class
+* Added LE message line ending variable
+* Refactored boundary and attachment code
+* Eliminated SMTP class warnings
+* Added SendToQueue method for future queuing support
+
+Version 1.54 (Wed, Dec 19 2001)
+* Add some queuing support code
+* Fixed a pesky multi/alt bug
+* Messages are no longer forced to have "To" addresses
+
+Version 1.50 (Thu, Nov 08 2001)
+* Fix extra lines when not using SMTP mailer
+* Set WordWrap variable to int with a zero default
+
+Version 1.47 (Tue, Oct 16 2001)
+* Fixed Received header code format
+* Fixed AltBody order error
+* Fixed alternate port warning
+
+Version 1.45 (Tue, Sep 25 2001)
+* Added enhanced SMTP debug support
+* Added support for multiple ports on SMTP
+* Added Received header for tracing
+* Fixed AddStringAttachment encoding
+* Fixed possible header name quote bug
+* Fixed wordwrap() trim bug
+* Couple other small bug fixes
+
+Version 1.41 (Wed, Aug 22 2001)
+* Fixed AltBody bug w/o attachments
+* Fixed rfc_date() for certain mail servers
+
+Version 1.40 (Sun, Aug 12 2001)
+* Added multipart/alternative support (AltBody)
+* Documentation update
+* Fixed bug in Mercury MTA
+
+Version 1.29 (Fri, Aug 03 2001)
+* Added AddStringAttachment() method
+* Added SMTP authentication support
+
+Version 1.28 (Mon, Jul 30 2001)
+* Fixed a typo in SMTP class
+* Fixed header issue with Imail (win32) SMTP server
+* Made fopen() calls for attachments use "rb" to fix win32 error
+
+Version 1.25 (Mon, Jul 02 2001)
+* Added RFC 822 date fix (Patrice)
+* Added improved error handling by adding a $ErrorInfo variable
+* Removed MailerDebug variable (obsolete with new error handler)
+
+Version 1.20 (Mon, Jun 25 2001)
+* Added quoted-printable encoding (Patrice)
+* Set Version as public and removed PrintVersion()
+* Changed phpdoc to only display public variables and methods
+
+Version 1.19 (Thu, Jun 21 2001)
+* Fixed MS Mail header bug
+* Added fix for Bcc problem with mail(). *Does not work on Win32*
+  (See PHP bug report: http://www.php.net/bugs.php?id=11616)
+* mail() no longer passes a fifth parameter when not needed
+
+Version 1.15 (Fri, Jun 15 2001)
+[Note: these changes contributed by Patrice Fournier]
+* Changed all remaining \n to \r\n
+* Bcc: header no longer writen to message except
+when sent directly to sendmail
+* Added a small message to non-MIME compliant mail reader
+* Added Sender variable to change the Sender email
+used in -f for sendmail/mail and in 'MAIL FROM' for smtp mode
+* Changed boundary setting to a place it will be set only once
+* Removed transfer encoding for whole message when using multipart
+* Message body now uses Encoding in multipart messages
+* Can set encoding and type to attachments 7bit, 8bit
+and binary attachment are sent as is, base64 are encoded
+* Can set Encoding to base64 to send 8 bits body
+through 7 bits servers
+
+Version 1.10 (Tue, Jun 12 2001)
+* Fixed win32 mail header bug (printed out headers in message body)
+
+Version 1.09 (Fri, Jun 08 2001)
+* Changed date header to work with Netscape mail programs
+* Altered phpdoc documentation
+
+Version 1.08 (Tue, Jun 05 2001)
+* Added enhanced error-checking
+* Added phpdoc documentation to source
+
+Version 1.06 (Fri, Jun 01 2001)
+* Added optional name for file attachments
+
+Version 1.05 (Tue, May 29 2001)
+* Code cleanup
+* Eliminated sendmail header warning message
+* Fixed possible SMTP error
+
+Version 1.03 (Thu, May 24 2001)
+* Fixed problem where qmail sends out duplicate messages
+
+Version 1.02 (Wed, May 23 2001)
+* Added multiple recipient and attachment Clear* methods
+* Added Sendmail public variable
+* Fixed problem with loading SMTP library multiple times
+
+Version 0.98 (Tue, May 22 2001)
+* Fixed problem with redundant mail hosts sending out multiple messages
+* Added additional error handler code
+* Added AddCustomHeader() function
+* Added support for Microsoft mail client headers (affects priority)
+* Fixed small bug with Mailer variable
+* Added PrintVersion() function
+
+Version 0.92 (Tue, May 15 2001)
+* Changed file names to class.phpmailer.php and class.smtp.php to match
+  current PHP class trend.
+* Fixed problem where body not being printed when a message is attached
+* Several small bug fixes
+
+Version 0.90 (Tue, April 17 2001)
+* Intial public release

Property changes on: tags/2.8.2/wb/include/phpmailer/ChangeLog.txt
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/phpmailer/class.pop3.php
===================================================================
--- tags/2.8.2/wb/include/phpmailer/class.pop3.php	(nonexistent)
+++ tags/2.8.2/wb/include/phpmailer/class.pop3.php	(revision 1481)
@@ -0,0 +1,436 @@
+<?php
+/*~ class.pop3.php
+.---------------------------------------------------------------------------.
+|  Software: PHPMailer - PHP email class                                    |
+|   Version: 2.0.4                                                          |
+|   Contact: via sourceforge.net support pages (also www.codeworxtech.com)  |
+|      Info: http://phpmailer.sourceforge.net                               |
+|   Support: http://sourceforge.net/projects/phpmailer/                     |
+| ------------------------------------------------------------------------- |
+|    Author: Andy Prevost (project admininistrator)                         |
+|    Author: Brent R. Matzelle (original founder)                           |
+| Copyright (c) 2004-2007, Andy Prevost. All Rights Reserved.               |
+| Copyright (c) 2001-2003, Brent R. Matzelle                                |
+| ------------------------------------------------------------------------- |
+|   License: Distributed under the Lesser General Public License (LGPL)     |
+|            http://www.gnu.org/copyleft/lesser.html                        |
+| This program is distributed in the hope that it will be useful - WITHOUT  |
+| ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or     |
+| FITNESS FOR A PARTICULAR PURPOSE.                                         |
+| ------------------------------------------------------------------------- |
+| We offer a number of paid services (www.codeworxtech.com):                |
+| - Web Hosting on highly optimized fast and secure servers                 |
+| - Technology Consulting                                                   |
+| - Oursourcing (highly qualified programmers and graphic designers)        |
+'---------------------------------------------------------------------------'
+
+/**
+ * POP Before SMTP Authentication Class
+ *
+ * Author: Richard Davey (rich@corephp.co.uk)
+ * License: LGPL, see PHPMailer License
+ *
+ * Specifically for PHPMailer to allow POP before SMTP authentication.
+ * Does not yet work with APOP - if you have an APOP account, contact me
+ * and we can test changes to this script.
+ *
+ * This class is based on the structure of the SMTP class by Chris Ryan
+ *
+ * This class is rfc 1939 compliant and implements all the commands
+ * required for POP3 connection, authentication and disconnection.
+ *
+ * @package PHPMailer
+ * @author Richard Davey
+ */
+
+class POP3
+{
+  /**
+   * Default POP3 port
+   * @var int
+   */
+  var $POP3_PORT = 110;
+
+  /**
+   * Default Timeout
+   * @var int
+   */
+  var $POP3_TIMEOUT = 30;
+
+  /**
+   * POP3 Carriage Return + Line Feed
+   * @var string
+   */
+  var $CRLF = "\r\n";
+
+  /**
+   * Displaying Debug warnings? (0 = now, 1+ = yes)
+   * @var int
+   */
+  var $do_debug = 2;
+
+  /**
+   * POP3 Mail Server
+   * @var string
+   */
+  var $host;
+
+  /**
+   * POP3 Port
+   * @var int
+   */
+  var $port;
+
+  /**
+   * POP3 Timeout Value
+   * @var int
+   */
+  var $tval;
+
+  /**
+   * POP3 Username
+   * @var string
+   */
+  var $username;
+
+  /**
+   * POP3 Password
+   * @var string
+   */
+  var $password;
+
+  /**#@+
+   * @access private
+   */
+  var $pop_conn;
+  var $connected;
+  var $error;     //  Error log array
+  /**#@-*/
+
+  /**
+   * Constructor, sets the initial values
+   *
+   * @return POP3
+   */
+  function POP3 ()
+    {
+      $this->pop_conn = 0;
+      $this->connected = false;
+      $this->error = null;
+    }
+
+  /**
+   * Combination of public events - connect, login, disconnect
+   *
+   * @param string $host
+   * @param integer $port
+   * @param integer $tval
+   * @param string $username
+   * @param string $password
+   */
+  function Authorise ($host, $port = false, $tval = false, $username, $password, $debug_level = 0)
+  {
+    $this->host = $host;
+
+    //  If no port value is passed, retrieve it
+    if ($port == false)
+    {
+      $this->port = $this->POP3_PORT;
+    }
+    else
+    {
+      $this->port = $port;
+    }
+
+    //  If no port value is passed, retrieve it
+    if ($tval == false)
+    {
+      $this->tval = $this->POP3_TIMEOUT;
+    }
+    else
+    {
+      $this->tval = $tval;
+    }
+
+    $this->do_debug = $debug_level;
+    $this->username = $username;
+    $this->password = $password;
+
+    //  Refresh the error log
+      $this->error = null;
+
+      //  Connect
+    $result = $this->Connect($this->host, $this->port, $this->tval);
+
+    if ($result)
+    {
+      $login_result = $this->Login($this->username, $this->password);
+
+      if ($login_result)
+      {
+        $this->Disconnect();
+
+        return true;
+      }
+
+    }
+
+    //  We need to disconnect regardless if the login succeeded
+    $this->Disconnect();
+
+    return false;
+  }
+
+  /**
+   * Connect to the POP3 server
+   *
+   * @param string $host
+   * @param integer $port
+   * @param integer $tval
+   * @return boolean
+   */
+  function Connect ($host, $port = false, $tval = 30)
+    {
+    //  Are we already connected?
+    if ($this->connected)
+    {
+      return true;
+    }
+
+    /*
+      On Windows this will raise a PHP Warning error if the hostname doesn't exist.
+      Rather than supress it with @fsockopen, let's capture it cleanly instead
+    */
+
+    set_error_handler(array(&$this, 'catchWarning'));
+
+    //  Connect to the POP3 server
+    $this->pop_conn = fsockopen($host,    //  POP3 Host
+                  $port,    //  Port #
+                  $errno,   //  Error Number
+                  $errstr,  //  Error Message
+                  $tval);   //  Timeout (seconds)
+
+    //  Restore the error handler
+    restore_error_handler();
+
+    //  Does the Error Log now contain anything?
+    if ($this->error && $this->do_debug >= 1)
+    {
+        $this->displayErrors();
+    }
+
+    //  Did we connect?
+      if ($this->pop_conn == false)
+      {
+        //  It would appear not...
+        $this->error = array(
+          'error' => "Failed to connect to server $host on port $port",
+          'errno' => $errno,
+          'errstr' => $errstr
+        );
+
+        if ($this->do_debug >= 1)
+        {
+          $this->displayErrors();
+        }
+
+        return false;
+      }
+
+      //  Increase the stream time-out
+
+      //  Check for PHP 4.3.0 or later
+      if (version_compare(phpversion(), '4.3.0', 'ge'))
+      {
+        stream_set_timeout($this->pop_conn, $tval, 0);
+      }
+      else
+      {
+        //  Does not work on Windows
+        if (substr(PHP_OS, 0, 3) !== 'WIN')
+        {
+          socket_set_timeout($this->pop_conn, $tval, 0);
+        }
+      }
+
+    //  Get the POP3 server response
+      $pop3_response = $this->getResponse();
+
+      //  Check for the +OK
+      if ($this->checkResponse($pop3_response))
+      {
+      //  The connection is established and the POP3 server is talking
+      $this->connected = true;
+        return true;
+      }
+
+    }
+
+    /**
+     * Login to the POP3 server (does not support APOP yet)
+     *
+     * @param string $username
+     * @param string $password
+     * @return boolean
+     */
+    function Login ($username = '', $password = '')
+    {
+      if ($this->connected == false)
+      {
+        $this->error = 'Not connected to POP3 server';
+
+        if ($this->do_debug >= 1)
+        {
+          $this->displayErrors();
+        }
+      }
+
+      if (empty($username))
+      {
+        $username = $this->username;
+      }
+
+      if (empty($password))
+      {
+        $password = $this->password;
+      }
+
+    $pop_username = "USER $username" . $this->CRLF;
+    $pop_password = "PASS $password" . $this->CRLF;
+
+      //  Send the Username
+      $this->sendString($pop_username);
+      $pop3_response = $this->getResponse();
+
+      if ($this->checkResponse($pop3_response))
+      {
+        //  Send the Password
+        $this->sendString($pop_password);
+        $pop3_response = $this->getResponse();
+
+        if ($this->checkResponse($pop3_response))
+        {
+          return true;
+        }
+        else
+        {
+          return false;
+        }
+      }
+      else
+      {
+        return false;
+      }
+    }
+
+    /**
+     * Disconnect from the POP3 server
+     */
+    function Disconnect ()
+    {
+      $this->sendString('QUIT');
+
+      fclose($this->pop_conn);
+    }
+
+    /*
+      ---------------
+      Private Methods
+      ---------------
+    */
+
+    /**
+     * Get the socket response back.
+     * $size is the maximum number of bytes to retrieve
+     *
+     * @param integer $size
+     * @return string
+     */
+    function getResponse ($size = 128)
+    {
+      $pop3_response = fgets($this->pop_conn, $size);
+
+      return $pop3_response;
+    }
+
+    /**
+     * Send a string down the open socket connection to the POP3 server
+     *
+     * @param string $string
+     * @return integer
+     */
+    function sendString ($string)
+    {
+      $bytes_sent = fwrite($this->pop_conn, $string, strlen($string));
+
+      return $bytes_sent;
+
+    }
+
+    /**
+     * Checks the POP3 server response for +OK or -ERR
+     *
+     * @param string $string
+     * @return boolean
+     */
+    function checkResponse ($string)
+    {
+      if (substr($string, 0, 3) !== '+OK')
+      {
+        $this->error = array(
+          'error' => "Server reported an error: $string",
+          'errno' => 0,
+          'errstr' => ''
+        );
+
+        if ($this->do_debug >= 1)
+        {
+          $this->displayErrors();
+        }
+
+        return false;
+      }
+      else
+      {
+        return true;
+      }
+
+    }
+
+    /**
+     * If debug is enabled, display the error message array
+     *
+     */
+    function displayErrors ()
+    {
+      echo '<pre>';
+
+      foreach ($this->error as $single_error)
+    {
+        print_r($single_error);
+    }
+
+      echo '</pre>';
+    }
+
+  /**
+   * Takes over from PHP for the socket warning handler
+   *
+   * @param integer $errno
+   * @param string $errstr
+   * @param string $errfile
+   * @param integer $errline
+   */
+  function catchWarning ($errno, $errstr, $errfile, $errline)
+  {
+    $this->error[] = array(
+      'error' => "Connecting to the POP3 server raised a PHP warning: ",
+      'errno' => $errno,
+      'errstr' => $errstr
+    );
+  }
+
+  //  End of class
+}
+?>
Index: tags/2.8.2/wb/include/phpmailer/README
===================================================================
--- tags/2.8.2/wb/include/phpmailer/README	(nonexistent)
+++ tags/2.8.2/wb/include/phpmailer/README	(revision 1481)
@@ -0,0 +1,174 @@
+/*******************************************************************
+* The http://phpmailer.codeworxtech.com/ website now carries a few *
+* advertisements through the Google Adsense network. Please visit  *
+* the advertiser sites and help us offset some of our costs.       *
+* Thanks ....                                                      *
+********************************************************************/
+
+PHPMailer
+Full Featured Email Transfer Class for PHP
+==========================================
+
+Version 2.0.4 (April 02, 2009)
+
+This is the last version to support PHP4. We've made the move to PHP5 and
+all of our efforts now are into PHPMailer for PHP5/6.
+
+Version 2.0.3 (November 08, 2008)
+
+PHP4 continues to be a major platform for developers. We are responding
+to the emails received to continue development for PHP4 with this 
+release.
+
+We have removed the /phpdoc from the downloads. All documentation is now on
+the http://phpmailer.codeworxtech.com website.
+
+For all other changes and notes, please see the changelog.
+
+Donations are accepted at PayPal with our id "paypal@worxteam.com".
+
+Version 2.2 (July 15 2008)
+
+- see the changelog.
+
+Version 2.0.2 (June 04 2008)
+
+With this release, we are announcing that the development of PHPMailer for PHP5
+will be our focus from this date on. We have implemented all the enhancements
+and fixes from the sourceforge.net Tracker.
+
+** NOTE: WE HAVE A NEW LANGUAGE VARIABLE FOR DIGITALLY SIGNED S/MIME EMAILS.
+   IF YOU CAN HELP WITH LANGUAGES OTHER THAN ENGLISH AND SPANISH, IT WOULD BE
+   APPRECIATED.
+
+We have now added S/MIME functionality (ability to digitally sign emails).
+BIG THANKS TO "sergiocambra" for posting this patch back in November 2007.
+The "Signed Emails" functionality adds the Sign method to pass the private key
+filename and the password to read it, and then email will be sent with
+content-type multipart/signed and with the digital signature attached.
+
+We have also included more example files to show the use of "sendmail", "mail()",
+"smtp", and "gmail".
+
+We are also looking for more programmers to join the volunteer development team.
+If you have an interest in this, please let us know.
+
+Enjoy!
+
+** NOTE:
+
+As of November 2007, PHPMailer has a new project team headed by industry
+veteran Andy Prevost (codeworxtech). The first release in more than two
+years will focus on fixes, adding ease-of-use enhancements, provide
+basic compatibility with PHP4 and PHP5 using PHP5 backwards compatibility
+features. A new release is planned before year-end 2007 that will provide
+full compatiblity with PHP4 and PHP5, as well as more bug fixes.
+
+We are looking for project developers to assist in restoring PHPMailer to
+its leadership position. Our goals are to simplify use of PHPMailer, provide
+good documentation and examples, and retain backward compatibility to level
+1.7.3 standards.
+
+If you are interested in helping out, visit http://sourceforge.net/projects/phpmailer
+and indicate your interest.
+
+**
+
+http://phpmailer.sourceforge.net/
+
+This software is licenced under the LGPL.  Please read LICENSE for information on the
+software availability and distribution.
+
+Class Features:
+- Send emails with multiple TOs, CCs, BCCs and REPLY-TOs
+- Redundant SMTP servers
+- Multipart/alternative emails for mail clients that do not read HTML email
+- Support for 8bit, base64, binary, and quoted-printable encoding
+- Uses the same methods as the very popular AspEmail active server (COM) component
+- SMTP authentication
+- Native language support
+- Word wrap, and more!
+
+Why you might need it:
+
+Many PHP developers utilize email in their code.  The only PHP function
+that supports this is the mail() function.  However, it does not expose
+any of the popular features that many email clients use nowadays like
+HTML-based emails and attachments. There are two proprietary
+development tools out there that have all the functionality built into
+easy to use classes: AspEmail(tm) and AspMail.  Both of these
+programs are COM components only available on Windows.  They are also a
+little pricey for smaller projects.
+
+Since I do Linux development I’ve missed these tools for my PHP coding.
+So I built a version myself that implements the same methods (object
+calls) that the Windows-based components do. It is open source and the
+LGPL license allows you to place the class in your proprietary PHP
+projects.
+
+
+Installation:
+
+Copy class.phpmailer.php into your php.ini include_path. If you are
+using the SMTP mailer then place class.smtp.php in your path as well.
+In the language directory you will find several files like
+phpmailer.lang-en.php.  If you look right before the .php extension
+that there are two letters.  These represent the language type of the
+translation file.  For instance "en" is the English file and "br" is
+the Portuguese file.  Chose the file that best fits with your language
+and place it in the PHP include path.  If your language is English
+then you have nothing more to do.  If it is a different language then
+you must point PHPMailer to the correct translation.  To do this, call
+the PHPMailer SetLanguage method like so:
+
+// To load the Portuguese version
+$mail->SetLanguage("br", "/optional/path/to/language/directory/");
+
+That's it.  You should now be ready to use PHPMailer!
+
+
+A Simple Example:
+
+<?php
+require("class.phpmailer.php");
+
+$mail = new PHPMailer();
+
+$mail->IsSMTP();                                      // set mailer to use SMTP
+$mail->Host = "smtp1.example.com;smtp2.example.com";  // specify main and backup server
+$mail->SMTPAuth = true;     // turn on SMTP authentication
+$mail->Username = "jswan";  // SMTP username
+$mail->Password = "secret"; // SMTP password
+
+$mail->From = "from@example.com";
+$mail->FromName = "Mailer";
+$mail->AddAddress("josh@example.net", "Josh Adams");
+$mail->AddAddress("ellen@example.com");                  // name is optional
+$mail->AddReplyTo("info@example.com", "Information");
+
+$mail->WordWrap = 50;                                 // set word wrap to 50 characters
+$mail->AddAttachment("/var/tmp/file.tar.gz");         // add attachments
+$mail->AddAttachment("/tmp/image.jpg", "new.jpg");    // optional name
+$mail->IsHTML(true);                                  // set email format to HTML
+
+$mail->Subject = "Here is the subject";
+$mail->Body    = "This is the HTML message body <b>in bold!</b>";
+$mail->AltBody = "This is the body in plain text for non-HTML mail clients";
+
+if(!$mail->Send())
+{
+   echo "Message could not be sent. <p>";
+   echo "Mailer Error: " . $mail->ErrorInfo;
+   exit;
+}
+
+echo "Message has been sent";
+?>
+
+CHANGELOG
+
+See ChangeLog.txt
+
+Download: http://sourceforge.net/project/showfiles.php?group_id=26031
+
+Andy Prevost

Property changes on: tags/2.8.2/wb/include/phpmailer/README
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/phpmailer/class.smtp.php
===================================================================
--- tags/2.8.2/wb/include/phpmailer/class.smtp.php	(nonexistent)
+++ tags/2.8.2/wb/include/phpmailer/class.smtp.php	(revision 1481)
@@ -0,0 +1,1062 @@
+<?php
+/*~ class.smtp.php
+.---------------------------------------------------------------------------.
+|  Software: PHPMailer - PHP email class                                    |
+|   Version: 2.0.4                                                          |
+|   Contact: via sourceforge.net support pages (also www.codeworxtech.com)  |
+|      Info: http://phpmailer.sourceforge.net                               |
+|   Support: http://sourceforge.net/projects/phpmailer/                     |
+| ------------------------------------------------------------------------- |
+|    Author: Andy Prevost (project admininistrator)                         |
+|    Author: Brent R. Matzelle (original founder)                           |
+| Copyright (c) 2004-2007, Andy Prevost. All Rights Reserved.               |
+| Copyright (c) 2001-2003, Brent R. Matzelle                                |
+| ------------------------------------------------------------------------- |
+|   License: Distributed under the Lesser General Public License (LGPL)     |
+|            http://www.gnu.org/copyleft/lesser.html                        |
+| This program is distributed in the hope that it will be useful - WITHOUT  |
+| ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or     |
+| FITNESS FOR A PARTICULAR PURPOSE.                                         |
+| ------------------------------------------------------------------------- |
+| We offer a number of paid services (www.codeworxtech.com):                |
+| - Web Hosting on highly optimized fast and secure servers                 |
+| - Technology Consulting                                                   |
+| - Oursourcing (highly qualified programmers and graphic designers)        |
+'---------------------------------------------------------------------------'
+
+/**
+ * SMTP is rfc 821 compliant and implements all the rfc 821 SMTP
+ * commands except TURN which will always return a not implemented
+ * error. SMTP also provides some utility methods for sending mail
+ * to an SMTP server.
+ * @package PHPMailer
+ * @author Chris Ryan
+ */
+
+class SMTP
+{
+  /**
+   *  SMTP server port
+   *  @var int
+   */
+  var $SMTP_PORT = 25;
+
+  /**
+   *  SMTP reply line ending
+   *  @var string
+   */
+  var $CRLF = "\r\n";
+
+  /**
+   *  Sets whether debugging is turned on
+   *  @var bool
+   */
+  var $do_debug;       # the level of debug to perform
+
+  /**
+   *  Sets VERP use on/off (default is off)
+   *  @var bool
+   */
+  var $do_verp = false;
+
+  /**#@+
+   * @access private
+   */
+  var $smtp_conn;      # the socket to the server
+  var $error;          # error if any on the last call
+  var $helo_rply;      # the reply the server sent to us for HELO
+  /**#@-*/
+
+  /**
+   * Initialize the class so that the data is in a known state.
+   * @access public
+   * @return void
+   */
+  function SMTP() {
+    $this->smtp_conn = 0;
+    $this->error = null;
+    $this->helo_rply = null;
+
+    $this->do_debug = 0;
+  }
+
+  /*************************************************************
+   *                    CONNECTION FUNCTIONS                  *
+   ***********************************************************/
+
+  /**
+   * Connect to the server specified on the port specified.
+   * If the port is not specified use the default SMTP_PORT.
+   * If tval is specified then a connection will try and be
+   * established with the server for that number of seconds.
+   * If tval is not specified the default is 30 seconds to
+   * try on the connection.
+   *
+   * SMTP CODE SUCCESS: 220
+   * SMTP CODE FAILURE: 421
+   * @access public
+   * @return bool
+   */
+  function Connect($host,$port=0,$tval=30) {
+    # set the error val to null so there is no confusion
+    $this->error = null;
+
+    # make sure we are __not__ connected
+    if($this->connected()) {
+      # ok we are connected! what should we do?
+      # for now we will just give an error saying we
+      # are already connected
+      $this->error = array("error" => "Already connected to a server");
+      return false;
+    }
+
+    if(empty($port)) {
+      $port = $this->SMTP_PORT;
+    }
+
+    #connect to the smtp server
+    $this->smtp_conn = fsockopen($host,    # the host of the server
+                                 $port,    # the port to use
+                                 $errno,   # error number if any
+                                 $errstr,  # error message if any
+                                 $tval);   # give up after ? secs
+    # verify we connected properly
+    if(empty($this->smtp_conn)) {
+      $this->error = array("error" => "Failed to connect to server",
+                           "errno" => $errno,
+                           "errstr" => $errstr);
+      if($this->do_debug >= 1) {
+        echo "SMTP -> ERROR: " . $this->error["error"] .
+                 ": $errstr ($errno)" . $this->CRLF;
+      }
+      return false;
+    }
+
+    # sometimes the SMTP server takes a little longer to respond
+    # so we will give it a longer timeout for the first read
+    // Windows still does not have support for this timeout function
+    if(substr(PHP_OS, 0, 3) != "WIN")
+     socket_set_timeout($this->smtp_conn, $tval, 0);
+
+    # get any announcement stuff
+    $announce = $this->get_lines();
+
+    # set the timeout  of any socket functions at 1/10 of a second
+    //if(function_exists("socket_set_timeout"))
+    //   socket_set_timeout($this->smtp_conn, 0, 100000);
+
+    if($this->do_debug >= 2) {
+      echo "SMTP -> FROM SERVER:" . $this->CRLF . $announce;
+    }
+
+    return true;
+  }
+
+  /**
+   * Performs SMTP authentication.  Must be run after running the
+   * Hello() method.  Returns true if successfully authenticated.
+   * @access public
+   * @return bool
+   */
+  function Authenticate($username, $password) {
+    // Start authentication
+    fputs($this->smtp_conn,"AUTH LOGIN" . $this->CRLF);
+
+    $rply = $this->get_lines();
+    $code = substr($rply,0,3);
+
+    if($code != 334) {
+      $this->error =
+        array("error" => "AUTH not accepted from server",
+              "smtp_code" => $code,
+              "smtp_msg" => substr($rply,4));
+      if($this->do_debug >= 1) {
+        echo "SMTP -> ERROR: " . $this->error["error"] .
+                 ": " . $rply . $this->CRLF;
+      }
+      return false;
+    }
+
+    // Send encoded username
+    fputs($this->smtp_conn, base64_encode($username) . $this->CRLF);
+
+    $rply = $this->get_lines();
+    $code = substr($rply,0,3);
+
+    if($code != 334) {
+      $this->error =
+        array("error" => "Username not accepted from server",
+              "smtp_code" => $code,
+              "smtp_msg" => substr($rply,4));
+      if($this->do_debug >= 1) {
+        echo "SMTP -> ERROR: " . $this->error["error"] .
+                 ": " . $rply . $this->CRLF;
+      }
+      return false;
+    }
+
+    // Send encoded password
+    fputs($this->smtp_conn, base64_encode($password) . $this->CRLF);
+
+    $rply = $this->get_lines();
+    $code = substr($rply,0,3);
+
+    if($code != 235) {
+      $this->error =
+        array("error" => "Password not accepted from server",
+              "smtp_code" => $code,
+              "smtp_msg" => substr($rply,4));
+      if($this->do_debug >= 1) {
+        echo "SMTP -> ERROR: " . $this->error["error"] .
+                 ": " . $rply . $this->CRLF;
+      }
+      return false;
+    }
+
+    return true;
+  }
+
+  /**
+   * Returns true if connected to a server otherwise false
+   * @access private
+   * @return bool
+   */
+  function Connected() {
+    if(!empty($this->smtp_conn)) {
+      $sock_status = socket_get_status($this->smtp_conn);
+      if($sock_status["eof"]) {
+        # hmm this is an odd situation... the socket is
+        # valid but we are not connected anymore
+        if($this->do_debug >= 1) {
+            echo "SMTP -> NOTICE:" . $this->CRLF .
+                 "EOF caught while checking if connected";
+        }
+        $this->Close();
+        return false;
+      }
+      return true; # everything looks good
+    }
+    return false;
+  }
+
+  /**
+   * Closes the socket and cleans up the state of the class.
+   * It is not considered good to use this function without
+   * first trying to use QUIT.
+   * @access public
+   * @return void
+   */
+  function Close() {
+    $this->error = null; # so there is no confusion
+    $this->helo_rply = null;
+    if(!empty($this->smtp_conn)) {
+      # close the connection and cleanup
+      fclose($this->smtp_conn);
+      $this->smtp_conn = 0;
+    }
+  }
+
+  /***************************************************************
+   *                        SMTP COMMANDS                       *
+   *************************************************************/
+
+  /**
+   * Issues a data command and sends the msg_data to the server
+   * finializing the mail transaction. $msg_data is the message
+   * that is to be send with the headers. Each header needs to be
+   * on a single line followed by a <CRLF> with the message headers
+   * and the message body being seperated by and additional <CRLF>.
+   *
+   * Implements rfc 821: DATA <CRLF>
+   *
+   * SMTP CODE INTERMEDIATE: 354
+   *     [data]
+   *     <CRLF>.<CRLF>
+   *     SMTP CODE SUCCESS: 250
+   *     SMTP CODE FAILURE: 552,554,451,452
+   * SMTP CODE FAILURE: 451,554
+   * SMTP CODE ERROR  : 500,501,503,421
+   * @access public
+   * @return bool
+   */
+  function Data($msg_data) {
+    $this->error = null; # so no confusion is caused
+
+    if(!$this->connected()) {
+      $this->error = array(
+              "error" => "Called Data() without being connected");
+      return false;
+    }
+
+    fputs($this->smtp_conn,"DATA" . $this->CRLF);
+
+    $rply = $this->get_lines();
+    $code = substr($rply,0,3);
+
+    if($this->do_debug >= 2) {
+      echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply;
+    }
+
+    if($code != 354) {
+      $this->error =
+        array("error" => "DATA command not accepted from server",
+              "smtp_code" => $code,
+              "smtp_msg" => substr($rply,4));
+      if($this->do_debug >= 1) {
+        echo "SMTP -> ERROR: " . $this->error["error"] .
+                 ": " . $rply . $this->CRLF;
+      }
+      return false;
+    }
+
+    # the server is ready to accept data!
+    # according to rfc 821 we should not send more than 1000
+    # including the CRLF
+    # characters on a single line so we will break the data up
+    # into lines by \r and/or \n then if needed we will break
+    # each of those into smaller lines to fit within the limit.
+    # in addition we will be looking for lines that start with
+    # a period '.' and append and additional period '.' to that
+    # line. NOTE: this does not count towards are limit.
+
+    # normalize the line breaks so we know the explode works
+    $msg_data = str_replace("\r\n","\n",$msg_data);
+    $msg_data = str_replace("\r","\n",$msg_data);
+    $lines = explode("\n",$msg_data);
+
+    # we need to find a good way to determine is headers are
+    # in the msg_data or if it is a straight msg body
+    # currently I am assuming rfc 822 definitions of msg headers
+    # and if the first field of the first line (':' sperated)
+    # does not contain a space then it _should_ be a header
+    # and we can process all lines before a blank "" line as
+    # headers.
+    $field = substr($lines[0],0,strpos($lines[0],":"));
+    $in_headers = false;
+    if(!empty($field) && !strstr($field," ")) {
+      $in_headers = true;
+    }
+
+    $max_line_length = 998; # used below; set here for ease in change
+
+    while(list(,$line) = @each($lines)) {
+      $lines_out = null;
+      if($line == "" && $in_headers) {
+        $in_headers = false;
+      }
+      # ok we need to break this line up into several
+      # smaller lines
+      while(strlen($line) > $max_line_length) {
+        $pos = strrpos(substr($line,0,$max_line_length)," ");
+
+        # Patch to fix DOS attack
+        if(!$pos) {
+          $pos = $max_line_length - 1;
+        }
+
+        $lines_out[] = substr($line,0,$pos);
+        $line = substr($line,$pos + 1);
+        # if we are processing headers we need to
+        # add a LWSP-char to the front of the new line
+        # rfc 822 on long msg headers
+        if($in_headers) {
+          $line = "\t" . $line;
+        }
+      }
+      $lines_out[] = $line;
+
+      # now send the lines to the server
+      while(list(,$line_out) = @each($lines_out)) {
+        if(strlen($line_out) > 0)
+        {
+          if(substr($line_out, 0, 1) == ".") {
+            $line_out = "." . $line_out;
+          }
+        }
+        fputs($this->smtp_conn,$line_out . $this->CRLF);
+      }
+    }
+
+    # ok all the message data has been sent so lets get this
+    # over with aleady
+    fputs($this->smtp_conn, $this->CRLF . "." . $this->CRLF);
+
+    $rply = $this->get_lines();
+    $code = substr($rply,0,3);
+
+    if($this->do_debug >= 2) {
+      echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply;
+    }
+
+    if($code != 250) {
+      $this->error =
+        array("error" => "DATA not accepted from server",
+              "smtp_code" => $code,
+              "smtp_msg" => substr($rply,4));
+      if($this->do_debug >= 1) {
+        echo "SMTP -> ERROR: " . $this->error["error"] .
+                 ": " . $rply . $this->CRLF;
+      }
+      return false;
+    }
+    return true;
+  }
+
+  /**
+   * Expand takes the name and asks the server to list all the
+   * people who are members of the _list_. Expand will return
+   * back and array of the result or false if an error occurs.
+   * Each value in the array returned has the format of:
+   *     [ <full-name> <sp> ] <path>
+   * The definition of <path> is defined in rfc 821
+   *
+   * Implements rfc 821: EXPN <SP> <string> <CRLF>
+   *
+   * SMTP CODE SUCCESS: 250
+   * SMTP CODE FAILURE: 550
+   * SMTP CODE ERROR  : 500,501,502,504,421
+   * @access public
+   * @return string array
+   */
+  function Expand($name) {
+    $this->error = null; # so no confusion is caused
+
+    if(!$this->connected()) {
+      $this->error = array(
+            "error" => "Called Expand() without being connected");
+      return false;
+    }
+
+    fputs($this->smtp_conn,"EXPN " . $name . $this->CRLF);
+
+    $rply = $this->get_lines();
+    $code = substr($rply,0,3);
+
+    if($this->do_debug >= 2) {
+      echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply;
+    }
+
+    if($code != 250) {
+      $this->error =
+        array("error" => "EXPN not accepted from server",
+              "smtp_code" => $code,
+              "smtp_msg" => substr($rply,4));
+      if($this->do_debug >= 1) {
+        echo "SMTP -> ERROR: " . $this->error["error"] .
+                 ": " . $rply . $this->CRLF;
+      }
+      return false;
+    }
+
+    # parse the reply and place in our array to return to user
+    $entries = explode($this->CRLF,$rply);
+    while(list(,$l) = @each($entries)) {
+      $list[] = substr($l,4);
+    }
+
+    return $list;
+  }
+
+  /**
+   * Sends the HELO command to the smtp server.
+   * This makes sure that we and the server are in
+   * the same known state.
+   *
+   * Implements from rfc 821: HELO <SP> <domain> <CRLF>
+   *
+   * SMTP CODE SUCCESS: 250
+   * SMTP CODE ERROR  : 500, 501, 504, 421
+   * @access public
+   * @return bool
+   */
+  function Hello($host="") {
+    $this->error = null; # so no confusion is caused
+
+    if(!$this->connected()) {
+      $this->error = array(
+            "error" => "Called Hello() without being connected");
+      return false;
+    }
+
+    # if a hostname for the HELO was not specified determine
+    # a suitable one to send
+    if(empty($host)) {
+      # we need to determine some sort of appopiate default
+      # to send to the server
+      $host = "localhost";
+    }
+
+    // Send extended hello first (RFC 2821)
+    if(!$this->SendHello("EHLO", $host))
+    {
+      if(!$this->SendHello("HELO", $host))
+          return false;
+    }
+
+    return true;
+  }
+
+  /**
+   * Sends a HELO/EHLO command.
+   * @access private
+   * @return bool
+   */
+  function SendHello($hello, $host) {
+    fputs($this->smtp_conn, $hello . " " . $host . $this->CRLF);
+
+    $rply = $this->get_lines();
+    $code = substr($rply,0,3);
+
+    if($this->do_debug >= 2) {
+      echo "SMTP -> FROM SERVER: " . $this->CRLF . $rply;
+    }
+
+    if($code != 250) {
+      $this->error =
+        array("error" => $hello . " not accepted from server",
+              "smtp_code" => $code,
+              "smtp_msg" => substr($rply,4));
+      if($this->do_debug >= 1) {
+        echo "SMTP -> ERROR: " . $this->error["error"] .
+                 ": " . $rply . $this->CRLF;
+      }
+      return false;
+    }
+
+    $this->helo_rply = $rply;
+
+    return true;
+  }
+
+  /**
+   * Gets help information on the keyword specified. If the keyword
+   * is not specified then returns generic help, ussually contianing
+   * A list of keywords that help is available on. This function
+   * returns the results back to the user. It is up to the user to
+   * handle the returned data. If an error occurs then false is
+   * returned with $this->error set appropiately.
+   *
+   * Implements rfc 821: HELP [ <SP> <string> ] <CRLF>
+   *
+   * SMTP CODE SUCCESS: 211,214
+   * SMTP CODE ERROR  : 500,501,502,504,421
+   * @access public
+   * @return string
+   */
+  function Help($keyword="") {
+    $this->error = null; # to avoid confusion
+
+    if(!$this->connected()) {
+      $this->error = array(
+              "error" => "Called Help() without being connected");
+      return false;
+    }
+
+    $extra = "";
+    if(!empty($keyword)) {
+      $extra = " " . $keyword;
+    }
+
+    fputs($this->smtp_conn,"HELP" . $extra . $this->CRLF);
+
+    $rply = $this->get_lines();
+    $code = substr($rply,0,3);
+
+    if($this->do_debug >= 2) {
+      echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply;
+    }
+
+    if($code != 211 && $code != 214) {
+      $this->error =
+        array("error" => "HELP not accepted from server",
+              "smtp_code" => $code,
+              "smtp_msg" => substr($rply,4));
+      if($this->do_debug >= 1) {
+        echo "SMTP -> ERROR: " . $this->error["error"] .
+                 ": " . $rply . $this->CRLF;
+      }
+      return false;
+    }
+
+    return $rply;
+  }
+
+  /**
+   * Starts a mail transaction from the email address specified in
+   * $from. Returns true if successful or false otherwise. If True
+   * the mail transaction is started and then one or more Recipient
+   * commands may be called followed by a Data command.
+   *
+   * Implements rfc 821: MAIL <SP> FROM:<reverse-path> <CRLF>
+   *
+   * SMTP CODE SUCCESS: 250
+   * SMTP CODE SUCCESS: 552,451,452
+   * SMTP CODE SUCCESS: 500,501,421
+   * @access public
+   * @return bool
+   */
+  function Mail($from) {
+    $this->error = null; # so no confusion is caused
+
+    if(!$this->connected()) {
+      $this->error = array(
+              "error" => "Called Mail() without being connected");
+      return false;
+    }
+
+    $useVerp = ($this->do_verp ? "XVERP" : "");
+    fputs($this->smtp_conn,"MAIL FROM:<" . $from . ">" . $useVerp . $this->CRLF);
+
+    $rply = $this->get_lines();
+    $code = substr($rply,0,3);
+
+    if($this->do_debug >= 2) {
+      echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply;
+    }
+
+    if($code != 250) {
+      $this->error =
+        array("error" => "MAIL not accepted from server",
+              "smtp_code" => $code,
+              "smtp_msg" => substr($rply,4));
+      if($this->do_debug >= 1) {
+        echo "SMTP -> ERROR: " . $this->error["error"] .
+                 ": " . $rply . $this->CRLF;
+      }
+      return false;
+    }
+    return true;
+  }
+
+  /**
+   * Sends the command NOOP to the SMTP server.
+   *
+   * Implements from rfc 821: NOOP <CRLF>
+   *
+   * SMTP CODE SUCCESS: 250
+   * SMTP CODE ERROR  : 500, 421
+   * @access public
+   * @return bool
+   */
+  function Noop() {
+    $this->error = null; # so no confusion is caused
+
+    if(!$this->connected()) {
+      $this->error = array(
+              "error" => "Called Noop() without being connected");
+      return false;
+    }
+
+    fputs($this->smtp_conn,"NOOP" . $this->CRLF);
+
+    $rply = $this->get_lines();
+    $code = substr($rply,0,3);
+
+    if($this->do_debug >= 2) {
+      echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply;
+    }
+
+    if($code != 250) {
+      $this->error =
+        array("error" => "NOOP not accepted from server",
+              "smtp_code" => $code,
+              "smtp_msg" => substr($rply,4));
+      if($this->do_debug >= 1) {
+        echo "SMTP -> ERROR: " . $this->error["error"] .
+                 ": " . $rply . $this->CRLF;
+      }
+      return false;
+    }
+    return true;
+  }
+
+  /**
+   * Sends the quit command to the server and then closes the socket
+   * if there is no error or the $close_on_error argument is true.
+   *
+   * Implements from rfc 821: QUIT <CRLF>
+   *
+   * SMTP CODE SUCCESS: 221
+   * SMTP CODE ERROR  : 500
+   * @access public
+   * @return bool
+   */
+  function Quit($close_on_error=true) {
+    $this->error = null; # so there is no confusion
+
+    if(!$this->connected()) {
+      $this->error = array(
+              "error" => "Called Quit() without being connected");
+      return false;
+    }
+
+    # send the quit command to the server
+    fputs($this->smtp_conn,"quit" . $this->CRLF);
+
+    # get any good-bye messages
+    $byemsg = $this->get_lines();
+
+    if($this->do_debug >= 2) {
+      echo "SMTP -> FROM SERVER:" . $this->CRLF . $byemsg;
+    }
+
+    $rval = true;
+    $e = null;
+
+    $code = substr($byemsg,0,3);
+    if($code != 221) {
+      # use e as a tmp var cause Close will overwrite $this->error
+      $e = array("error" => "SMTP server rejected quit command",
+                 "smtp_code" => $code,
+                 "smtp_rply" => substr($byemsg,4));
+      $rval = false;
+      if($this->do_debug >= 1) {
+        echo "SMTP -> ERROR: " . $e["error"] . ": " .
+                 $byemsg . $this->CRLF;
+      }
+    }
+
+    if(empty($e) || $close_on_error) {
+      $this->Close();
+    }
+
+    return $rval;
+  }
+
+  /**
+   * Sends the command RCPT to the SMTP server with the TO: argument of $to.
+   * Returns true if the recipient was accepted false if it was rejected.
+   *
+   * Implements from rfc 821: RCPT <SP> TO:<forward-path> <CRLF>
+   *
+   * SMTP CODE SUCCESS: 250,251
+   * SMTP CODE FAILURE: 550,551,552,553,450,451,452
+   * SMTP CODE ERROR  : 500,501,503,421
+   * @access public
+   * @return bool
+   */
+  function Recipient($to) {
+    $this->error = null; # so no confusion is caused
+
+    if(!$this->connected()) {
+      $this->error = array(
+              "error" => "Called Recipient() without being connected");
+      return false;
+    }
+
+    fputs($this->smtp_conn,"RCPT TO:<" . $to . ">" . $this->CRLF);
+
+    $rply = $this->get_lines();
+    $code = substr($rply,0,3);
+
+    if($this->do_debug >= 2) {
+      echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply;
+    }
+
+    if($code != 250 && $code != 251) {
+      $this->error =
+        array("error" => "RCPT not accepted from server",
+              "smtp_code" => $code,
+              "smtp_msg" => substr($rply,4));
+      if($this->do_debug >= 1) {
+        echo "SMTP -> ERROR: " . $this->error["error"] .
+                 ": " . $rply . $this->CRLF;
+      }
+      return false;
+    }
+    return true;
+  }
+
+  /**
+   * Sends the RSET command to abort and transaction that is
+   * currently in progress. Returns true if successful false
+   * otherwise.
+   *
+   * Implements rfc 821: RSET <CRLF>
+   *
+   * SMTP CODE SUCCESS: 250
+   * SMTP CODE ERROR  : 500,501,504,421
+   * @access public
+   * @return bool
+   */
+  function Reset() {
+    $this->error = null; # so no confusion is caused
+
+    if(!$this->connected()) {
+      $this->error = array(
+              "error" => "Called Reset() without being connected");
+      return false;
+    }
+
+    fputs($this->smtp_conn,"RSET" . $this->CRLF);
+
+    $rply = $this->get_lines();
+    $code = substr($rply,0,3);
+
+    if($this->do_debug >= 2) {
+      echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply;
+    }
+
+    if($code != 250) {
+      $this->error =
+        array("error" => "RSET failed",
+              "smtp_code" => $code,
+              "smtp_msg" => substr($rply,4));
+      if($this->do_debug >= 1) {
+        echo "SMTP -> ERROR: " . $this->error["error"] .
+                 ": " . $rply . $this->CRLF;
+      }
+      return false;
+    }
+
+    return true;
+  }
+
+  /**
+   * Starts a mail transaction from the email address specified in
+   * $from. Returns true if successful or false otherwise. If True
+   * the mail transaction is started and then one or more Recipient
+   * commands may be called followed by a Data command. This command
+   * will send the message to the users terminal if they are logged
+   * in.
+   *
+   * Implements rfc 821: SEND <SP> FROM:<reverse-path> <CRLF>
+   *
+   * SMTP CODE SUCCESS: 250
+   * SMTP CODE SUCCESS: 552,451,452
+   * SMTP CODE SUCCESS: 500,501,502,421
+   * @access public
+   * @return bool
+   */
+  function Send($from) {
+    $this->error = null; # so no confusion is caused
+
+    if(!$this->connected()) {
+      $this->error = array(
+              "error" => "Called Send() without being connected");
+      return false;
+    }
+
+    fputs($this->smtp_conn,"SEND FROM:" . $from . $this->CRLF);
+
+    $rply = $this->get_lines();
+    $code = substr($rply,0,3);
+
+    if($this->do_debug >= 2) {
+      echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply;
+    }
+
+    if($code != 250) {
+      $this->error =
+        array("error" => "SEND not accepted from server",
+              "smtp_code" => $code,
+              "smtp_msg" => substr($rply,4));
+      if($this->do_debug >= 1) {
+        echo "SMTP -> ERROR: " . $this->error["error"] .
+                 ": " . $rply . $this->CRLF;
+      }
+      return false;
+    }
+    return true;
+  }
+
+  /**
+   * Starts a mail transaction from the email address specified in
+   * $from. Returns true if successful or false otherwise. If True
+   * the mail transaction is started and then one or more Recipient
+   * commands may be called followed by a Data command. This command
+   * will send the message to the users terminal if they are logged
+   * in and send them an email.
+   *
+   * Implements rfc 821: SAML <SP> FROM:<reverse-path> <CRLF>
+   *
+   * SMTP CODE SUCCESS: 250
+   * SMTP CODE SUCCESS: 552,451,452
+   * SMTP CODE SUCCESS: 500,501,502,421
+   * @access public
+   * @return bool
+   */
+  function SendAndMail($from) {
+    $this->error = null; # so no confusion is caused
+
+    if(!$this->connected()) {
+      $this->error = array(
+          "error" => "Called SendAndMail() without being connected");
+      return false;
+    }
+
+    fputs($this->smtp_conn,"SAML FROM:" . $from . $this->CRLF);
+
+    $rply = $this->get_lines();
+    $code = substr($rply,0,3);
+
+    if($this->do_debug >= 2) {
+      echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply;
+    }
+
+    if($code != 250) {
+      $this->error =
+        array("error" => "SAML not accepted from server",
+              "smtp_code" => $code,
+              "smtp_msg" => substr($rply,4));
+      if($this->do_debug >= 1) {
+        echo "SMTP -> ERROR: " . $this->error["error"] .
+                 ": " . $rply . $this->CRLF;
+      }
+      return false;
+    }
+    return true;
+  }
+
+  /**
+   * Starts a mail transaction from the email address specified in
+   * $from. Returns true if successful or false otherwise. If True
+   * the mail transaction is started and then one or more Recipient
+   * commands may be called followed by a Data command. This command
+   * will send the message to the users terminal if they are logged
+   * in or mail it to them if they are not.
+   *
+   * Implements rfc 821: SOML <SP> FROM:<reverse-path> <CRLF>
+   *
+   * SMTP CODE SUCCESS: 250
+   * SMTP CODE SUCCESS: 552,451,452
+   * SMTP CODE SUCCESS: 500,501,502,421
+   * @access public
+   * @return bool
+   */
+  function SendOrMail($from) {
+    $this->error = null; # so no confusion is caused
+
+    if(!$this->connected()) {
+      $this->error = array(
+          "error" => "Called SendOrMail() without being connected");
+      return false;
+    }
+
+    fputs($this->smtp_conn,"SOML FROM:" . $from . $this->CRLF);
+
+    $rply = $this->get_lines();
+    $code = substr($rply,0,3);
+
+    if($this->do_debug >= 2) {
+      echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply;
+    }
+
+    if($code != 250) {
+      $this->error =
+        array("error" => "SOML not accepted from server",
+              "smtp_code" => $code,
+              "smtp_msg" => substr($rply,4));
+      if($this->do_debug >= 1) {
+        echo "SMTP -> ERROR: " . $this->error["error"] .
+                 ": " . $rply . $this->CRLF;
+      }
+      return false;
+    }
+    return true;
+  }
+
+  /**
+   * This is an optional command for SMTP that this class does not
+   * support. This method is here to make the RFC821 Definition
+   * complete for this class and __may__ be implimented in the future
+   *
+   * Implements from rfc 821: TURN <CRLF>
+   *
+   * SMTP CODE SUCCESS: 250
+   * SMTP CODE FAILURE: 502
+   * SMTP CODE ERROR  : 500, 503
+   * @access public
+   * @return bool
+   */
+  function Turn() {
+    $this->error = array("error" => "This method, TURN, of the SMTP ".
+                                    "is not implemented");
+    if($this->do_debug >= 1) {
+      echo "SMTP -> NOTICE: " . $this->error["error"] . $this->CRLF;
+    }
+    return false;
+  }
+
+  /**
+   * Verifies that the name is recognized by the server.
+   * Returns false if the name could not be verified otherwise
+   * the response from the server is returned.
+   *
+   * Implements rfc 821: VRFY <SP> <string> <CRLF>
+   *
+   * SMTP CODE SUCCESS: 250,251
+   * SMTP CODE FAILURE: 550,551,553
+   * SMTP CODE ERROR  : 500,501,502,421
+   * @access public
+   * @return int
+   */
+  function Verify($name) {
+    $this->error = null; # so no confusion is caused
+
+    if(!$this->connected()) {
+      $this->error = array(
+              "error" => "Called Verify() without being connected");
+      return false;
+    }
+
+    fputs($this->smtp_conn,"VRFY " . $name . $this->CRLF);
+
+    $rply = $this->get_lines();
+    $code = substr($rply,0,3);
+
+    if($this->do_debug >= 2) {
+      echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply;
+    }
+
+    if($code != 250 && $code != 251) {
+      $this->error =
+        array("error" => "VRFY failed on name '$name'",
+              "smtp_code" => $code,
+              "smtp_msg" => substr($rply,4));
+      if($this->do_debug >= 1) {
+        echo "SMTP -> ERROR: " . $this->error["error"] .
+                 ": " . $rply . $this->CRLF;
+      }
+      return false;
+    }
+    return $rply;
+  }
+
+  /*******************************************************************
+   *                       INTERNAL FUNCTIONS                       *
+   ******************************************************************/
+
+  /**
+   * Read in as many lines as possible
+   * either before eof or socket timeout occurs on the operation.
+   * With SMTP we can tell if we have more lines to read if the
+   * 4th character is '-' symbol. If it is a space then we don't
+   * need to read anything else.
+   * @access private
+   * @return string
+   */
+  function get_lines() {
+    $data = "";
+    while($str = @fgets($this->smtp_conn,515)) {
+      if($this->do_debug >= 4) {
+        echo "SMTP -> get_lines(): \$data was \"$data\"" .
+                 $this->CRLF;
+        echo "SMTP -> get_lines(): \$str is \"$str\"" .
+                 $this->CRLF;
+      }
+      $data .= $str;
+      if($this->do_debug >= 4) {
+        echo "SMTP -> get_lines(): \$data is \"$data\"" . $this->CRLF;
+      }
+      # if the 4th character is a space then we are done reading
+      # so just break the loop
+      if(substr($str,3,1) == " ") { break; }
+    }
+    return $data;
+  }
+
+}
+
+
+ ?>

Property changes on: tags/2.8.2/wb/include/phpmailer/class.smtp.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/phpmailer/index.php
===================================================================
--- tags/2.8.2/wb/include/phpmailer/index.php	(nonexistent)
+++ tags/2.8.2/wb/include/phpmailer/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/phpmailer/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/include/phpmailer/LICENSE
===================================================================
--- tags/2.8.2/wb/include/phpmailer/LICENSE	(nonexistent)
+++ tags/2.8.2/wb/include/phpmailer/LICENSE	(revision 1481)
@@ -0,0 +1,504 @@
+		  GNU LESSER GENERAL PUBLIC LICENSE
+		       Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+		  GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+  
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+			    NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+           How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.  It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the library's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!
+
+

Property changes on: tags/2.8.2/wb/include/phpmailer/LICENSE
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/yui/connection/connection_core.js
===================================================================
--- tags/2.8.2/wb/include/yui/connection/connection_core.js	(nonexistent)
+++ tags/2.8.2/wb/include/yui/connection/connection_core.js	(revision 1481)
@@ -0,0 +1,957 @@
+/*
+Copyright (c) 2009, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.8.0r4
+*/
+/**
+ * The Connection Manager provides a simplified interface to the XMLHttpRequest
+ * object.  It handles cross-browser instantiantion of XMLHttpRequest, negotiates the
+ * interactive states and server response, returning the results to a pre-defined
+ * callback you create.
+ *
+ * @namespace YAHOO.util
+ * @module connection
+ * @requires yahoo
+ * @requires event
+ */
+
+/**
+ * The Connection Manager singleton provides methods for creating and managing
+ * asynchronous transactions.
+ *
+ * @class Connect
+ */
+
+YAHOO.util.Connect =
+{
+  /**
+   * @description Array of MSFT ActiveX ids for XMLHttpRequest.
+   * @property _msxml_progid
+   * @private
+   * @static
+   * @type array
+   */
+	_msxml_progid:[
+		'Microsoft.XMLHTTP',
+		'MSXML2.XMLHTTP.3.0',
+		'MSXML2.XMLHTTP'
+		],
+
+  /**
+   * @description Object literal of HTTP header(s)
+   * @property _http_header
+   * @private
+   * @static
+   * @type object
+   */
+	_http_headers:{},
+
+  /**
+   * @description Determines if HTTP headers are set.
+   * @property _has_http_headers
+   * @private
+   * @static
+   * @type boolean
+   */
+	_has_http_headers:false,
+
+ /**
+  * @description Determines if a default header of
+  * Content-Type of 'application/x-www-form-urlencoded'
+  * will be added to any client HTTP headers sent for POST
+  * transactions.
+  * @property _use_default_post_header
+  * @private
+  * @static
+  * @type boolean
+  */
+    _use_default_post_header:true,
+
+ /**
+  * @description The default header used for POST transactions.
+  * @property _default_post_header
+  * @private
+  * @static
+  * @type boolean
+  */
+    _default_post_header:'application/x-www-form-urlencoded; charset=UTF-8',
+
+ /**
+  * @description The default header used for transactions involving the
+  * use of HTML forms.
+  * @property _default_form_header
+  * @private
+  * @static
+  * @type boolean
+  */
+    _default_form_header:'application/x-www-form-urlencoded',
+
+ /**
+  * @description Determines if a default header of
+  * 'X-Requested-With: XMLHttpRequest'
+  * will be added to each transaction.
+  * @property _use_default_xhr_header
+  * @private
+  * @static
+  * @type boolean
+  */
+    _use_default_xhr_header:true,
+
+ /**
+  * @description The default header value for the label
+  * "X-Requested-With".  This is sent with each
+  * transaction, by default, to identify the
+  * request as being made by YUI Connection Manager.
+  * @property _default_xhr_header
+  * @private
+  * @static
+  * @type boolean
+  */
+    _default_xhr_header:'XMLHttpRequest',
+
+ /**
+  * @description Determines if custom, default headers
+  * are set for each transaction.
+  * @property _has_default_header
+  * @private
+  * @static
+  * @type boolean
+  */
+    _has_default_headers:true,
+
+ /**
+  * @description Determines if custom, default headers
+  * are set for each transaction.
+  * @property _has_default_header
+  * @private
+  * @static
+  * @type boolean
+  */
+    _default_headers:{},
+
+ /**
+  * @description Collection of polling references to the polling mechanism in handleReadyState.
+  * @property _poll
+  * @private
+  * @static
+  * @type object
+  */
+    _poll:{},
+
+ /**
+  * @description Queue of timeout values for each transaction callback with a defined timeout value.
+  * @property _timeOut
+  * @private
+  * @static
+  * @type object
+  */
+    _timeOut:{},
+
+  /**
+   * @description The polling frequency, in milliseconds, for HandleReadyState.
+   * when attempting to determine a transaction's XHR readyState.
+   * The default is 50 milliseconds.
+   * @property _polling_interval
+   * @private
+   * @static
+   * @type int
+   */
+     _polling_interval:50,
+
+  /**
+   * @description A transaction counter that increments the transaction id for each transaction.
+   * @property _transaction_id
+   * @private
+   * @static
+   * @type int
+   */
+     _transaction_id:0,
+
+  /**
+   * @description Custom event that fires at the start of a transaction
+   * @property startEvent
+   * @private
+   * @static
+   * @type CustomEvent
+   */
+	startEvent: new YAHOO.util.CustomEvent('start'),
+
+  /**
+   * @description Custom event that fires when a transaction response has completed.
+   * @property completeEvent
+   * @private
+   * @static
+   * @type CustomEvent
+   */
+	completeEvent: new YAHOO.util.CustomEvent('complete'),
+
+  /**
+   * @description Custom event that fires when handleTransactionResponse() determines a
+   * response in the HTTP 2xx range.
+   * @property successEvent
+   * @private
+   * @static
+   * @type CustomEvent
+   */
+	successEvent: new YAHOO.util.CustomEvent('success'),
+
+  /**
+   * @description Custom event that fires when handleTransactionResponse() determines a
+   * response in the HTTP 4xx/5xx range.
+   * @property failureEvent
+   * @private
+   * @static
+   * @type CustomEvent
+   */
+	failureEvent: new YAHOO.util.CustomEvent('failure'),
+
+  /**
+   * @description Custom event that fires when a transaction is successfully aborted.
+   * @property abortEvent
+   * @private
+   * @static
+   * @type CustomEvent
+   */
+	abortEvent: new YAHOO.util.CustomEvent('abort'),
+
+  /**
+   * @description A reference table that maps callback custom events members to its specific
+   * event name.
+   * @property _customEvents
+   * @private
+   * @static
+   * @type object
+   */
+	_customEvents:
+	{
+		onStart:['startEvent', 'start'],
+		onComplete:['completeEvent', 'complete'],
+		onSuccess:['successEvent', 'success'],
+		onFailure:['failureEvent', 'failure'],
+		onUpload:['uploadEvent', 'upload'],
+		onAbort:['abortEvent', 'abort']
+	},
+
+  /**
+   * @description Member to add an ActiveX id to the existing xml_progid array.
+   * In the event(unlikely) a new ActiveX id is introduced, it can be added
+   * without internal code modifications.
+   * @method setProgId
+   * @public
+   * @static
+   * @param {string} id The ActiveX id to be added to initialize the XHR object.
+   * @return void
+   */
+	setProgId:function(id)
+	{
+		this._msxml_progid.unshift(id);
+	},
+
+  /**
+   * @description Member to override the default POST header.
+   * @method setDefaultPostHeader
+   * @public
+   * @static
+   * @param {boolean} b Set and use default header - true or false .
+   * @return void
+   */
+	setDefaultPostHeader:function(b)
+	{
+		if(typeof b == 'string'){
+			this._default_post_header = b;
+		}
+		else if(typeof b == 'boolean'){
+			this._use_default_post_header = b;
+		}
+	},
+
+  /**
+   * @description Member to override the default transaction header..
+   * @method setDefaultXhrHeader
+   * @public
+   * @static
+   * @param {boolean} b Set and use default header - true or false .
+   * @return void
+   */
+	setDefaultXhrHeader:function(b)
+	{
+		if(typeof b == 'string'){
+			this._default_xhr_header = b;
+		}
+		else{
+			this._use_default_xhr_header = b;
+		}
+	},
+
+  /**
+   * @description Member to modify the default polling interval.
+   * @method setPollingInterval
+   * @public
+   * @static
+   * @param {int} i The polling interval in milliseconds.
+   * @return void
+   */
+	setPollingInterval:function(i)
+	{
+		if(typeof i == 'number' && isFinite(i)){
+			this._polling_interval = i;
+		}
+	},
+
+  /**
+   * @description Instantiates a XMLHttpRequest object and returns an object with two properties:
+   * the XMLHttpRequest instance and the transaction id.
+   * @method createXhrObject
+   * @private
+   * @static
+   * @param {int} transactionId Property containing the transaction id for this transaction.
+   * @return object
+   */
+	createXhrObject:function(transactionId)
+	{
+		var obj,http,i;
+		try
+		{
+			// Instantiates XMLHttpRequest in non-IE browsers and assigns to http.
+			http = new XMLHttpRequest();
+			//  Object literal with http and tId properties
+			obj = { conn:http, tId:transactionId, xhr: true };
+		}
+		catch(e)
+		{
+			for(i=0; i<this._msxml_progid.length; ++i){
+				try
+				{
+					// Instantiates XMLHttpRequest for IE and assign to http
+					http = new ActiveXObject(this._msxml_progid[i]);
+					//  Object literal with conn and tId properties
+					obj = { conn:http, tId:transactionId, xhr: true };
+					break;
+				}
+				catch(e1){}
+			}
+		}
+		finally
+		{
+			return obj;
+		}
+	},
+
+  /**
+   * @description This method is called by asyncRequest to create a
+   * valid connection object for the transaction.  It also passes a
+   * transaction id and increments the transaction id counter.
+   * @method getConnectionObject
+   * @private
+   * @static
+   * @return {object}
+   */
+	getConnectionObject:function(t)
+	{
+		var o, tId = this._transaction_id;
+
+		try
+		{
+			if(!t){
+				o = this.createXhrObject(tId);
+			}
+			else{
+				o = {tId:tId};
+				if(t==='xdr'){
+					o.conn = this._transport;
+					o.xdr = true;
+				}
+				else if(t==='upload'){
+					o.upload = true;
+				}
+			}
+
+			if(o){
+				this._transaction_id++;
+			}
+		}
+		catch(e){}
+		return o;
+	},
+
+  /**
+   * @description Method for initiating an asynchronous request via the XHR object.
+   * @method asyncRequest
+   * @public
+   * @static
+   * @param {string} method HTTP transaction method
+   * @param {string} uri Fully qualified path of resource
+   * @param {callback} callback User-defined callback function or object
+   * @param {string} postData POST body
+   * @return {object} Returns the connection object
+   */
+	asyncRequest:function(method, uri, callback, postData)
+	{
+		var o,t,args = (callback && callback.argument)?callback.argument:null;
+
+		if(this._isFileUpload){
+			t = 'upload';
+		}
+		else if(callback.xdr){
+			t = 'xdr';
+		}
+
+		o = this.getConnectionObject(t);
+		if(!o){
+			return null;
+		}
+		else{
+
+			// Intialize any transaction-specific custom events, if provided.
+			if(callback && callback.customevents){
+				this.initCustomEvents(o, callback);
+			}
+
+			if(this._isFormSubmit){
+				if(this._isFileUpload){
+					this.uploadFile(o, callback, uri, postData);
+					return o;
+				}
+
+				// If the specified HTTP method is GET, setForm() will return an
+				// encoded string that is concatenated to the uri to
+				// create a querystring.
+				if(method.toUpperCase() == 'GET'){
+					if(this._sFormData.length !== 0){
+						// If the URI already contains a querystring, append an ampersand
+						// and then concatenate _sFormData to the URI.
+						uri += ((uri.indexOf('?') == -1)?'?':'&') + this._sFormData;
+					}
+				}
+				else if(method.toUpperCase() == 'POST'){
+					// If POST data exist in addition to the HTML form data,
+					// it will be concatenated to the form data.
+					postData = postData?this._sFormData + "&" + postData:this._sFormData;
+				}
+			}
+
+			if(method.toUpperCase() == 'GET' && (callback && callback.cache === false)){
+				// If callback.cache is defined and set to false, a
+				// timestamp value will be added to the querystring.
+				uri += ((uri.indexOf('?') == -1)?'?':'&') + "rnd=" + new Date().valueOf().toString();
+			}
+
+			// Each transaction will automatically include a custom header of
+			// "X-Requested-With: XMLHttpRequest" to identify the request as
+			// having originated from Connection Manager.
+			if(this._use_default_xhr_header){
+				if(!this._default_headers['X-Requested-With']){
+					this.initHeader('X-Requested-With', this._default_xhr_header, true);
+				}
+			}
+
+			//If the transaction method is POST and the POST header value is set to true
+			//or a custom value, initalize the Content-Type header to this value.
+			if((method.toUpperCase() === 'POST' && this._use_default_post_header) && this._isFormSubmit === false){
+				this.initHeader('Content-Type', this._default_post_header);
+			}
+
+			if(o.xdr){
+				this.xdr(o, method, uri, callback, postData);
+				return o;
+			}
+
+			o.conn.open(method, uri, true);
+			//Initialize all default and custom HTTP headers,
+			if(this._has_default_headers || this._has_http_headers){
+				this.setHeader(o);
+			}
+
+			this.handleReadyState(o, callback);
+			o.conn.send(postData || '');
+
+			// Reset the HTML form data and state properties as
+			// soon as the data are submitted.
+			if(this._isFormSubmit === true){
+				this.resetFormState();
+			}
+
+			// Fire global custom event -- startEvent
+			this.startEvent.fire(o, args);
+
+			if(o.startEvent){
+				// Fire transaction custom event -- startEvent
+				o.startEvent.fire(o, args);
+			}
+
+			return o;
+		}
+	},
+
+  /**
+   * @description This method creates and subscribes custom events,
+   * specific to each transaction
+   * @method initCustomEvents
+   * @private
+   * @static
+   * @param {object} o The connection object
+   * @param {callback} callback The user-defined callback object
+   * @return {void}
+   */
+	initCustomEvents:function(o, callback)
+	{
+		var prop;
+		// Enumerate through callback.customevents members and bind/subscribe
+		// events that match in the _customEvents table.
+		for(prop in callback.customevents){
+			if(this._customEvents[prop][0]){
+				// Create the custom event
+				o[this._customEvents[prop][0]] = new YAHOO.util.CustomEvent(this._customEvents[prop][1], (callback.scope)?callback.scope:null);
+
+				// Subscribe the custom event
+				o[this._customEvents[prop][0]].subscribe(callback.customevents[prop]);
+			}
+		}
+	},
+
+  /**
+   * @description This method serves as a timer that polls the XHR object's readyState
+   * property during a transaction, instead of binding a callback to the
+   * onreadystatechange event.  Upon readyState 4, handleTransactionResponse
+   * will process the response, and the timer will be cleared.
+   * @method handleReadyState
+   * @private
+   * @static
+   * @param {object} o The connection object
+   * @param {callback} callback The user-defined callback object
+   * @return {void}
+   */
+
+    handleReadyState:function(o, callback)
+
+    {
+		var oConn = this,
+			args = (callback && callback.argument)?callback.argument:null;
+
+		if(callback && callback.timeout){
+			this._timeOut[o.tId] = window.setTimeout(function(){ oConn.abort(o, callback, true); }, callback.timeout);
+		}
+
+		this._poll[o.tId] = window.setInterval(
+			function(){
+				if(o.conn && o.conn.readyState === 4){
+
+					// Clear the polling interval for the transaction
+					// and remove the reference from _poll.
+					window.clearInterval(oConn._poll[o.tId]);
+					delete oConn._poll[o.tId];
+
+					if(callback && callback.timeout){
+						window.clearTimeout(oConn._timeOut[o.tId]);
+						delete oConn._timeOut[o.tId];
+					}
+
+					// Fire global custom event -- completeEvent
+					oConn.completeEvent.fire(o, args);
+
+					if(o.completeEvent){
+						// Fire transaction custom event -- completeEvent
+						o.completeEvent.fire(o, args);
+					}
+
+					oConn.handleTransactionResponse(o, callback);
+				}
+			}
+		,this._polling_interval);
+    },
+
+  /**
+   * @description This method attempts to interpret the server response and
+   * determine whether the transaction was successful, or if an error or
+   * exception was encountered.
+   * @method handleTransactionResponse
+   * @private
+   * @static
+   * @param {object} o The connection object
+   * @param {object} callback The user-defined callback object
+   * @param {boolean} isAbort Determines if the transaction was terminated via abort().
+   * @return {void}
+   */
+    handleTransactionResponse:function(o, callback, isAbort)
+    {
+		var httpStatus, responseObject,
+			args = (callback && callback.argument)?callback.argument:null,
+			xdrS = (o.r && o.r.statusText === 'xdr:success')?true:false,
+			xdrF = (o.r && o.r.statusText === 'xdr:failure')?true:false,
+			xdrA = isAbort;
+
+		try
+		{
+			if((o.conn.status !== undefined && o.conn.status !== 0) || xdrS){
+				// XDR requests will not have HTTP status defined. The
+				// statusText property will define the response status
+				// set by the Flash transport.
+				httpStatus = o.conn.status;
+			}
+			else if(xdrF && !xdrA){
+				// Set XDR transaction failure to a status of 0, which
+				// resolves as an HTTP failure, instead of an exception.
+				httpStatus = 0;
+			}
+			else{
+				httpStatus = 13030;
+			}
+		}
+		catch(e){
+
+			 // 13030 is a custom code to indicate the condition -- in Mozilla/FF --
+			 // when the XHR object's status and statusText properties are
+			 // unavailable, and a query attempt throws an exception.
+			httpStatus = 13030;
+		}
+
+		if((httpStatus >= 200 && httpStatus < 300) || httpStatus === 1223 || xdrS){
+			responseObject = o.xdr ? o.r : this.createResponseObject(o, args);
+			if(callback && callback.success){
+				if(!callback.scope){
+					callback.success(responseObject);
+				}
+				else{
+					// If a scope property is defined, the callback will be fired from
+					// the context of the object.
+					callback.success.apply(callback.scope, [responseObject]);
+				}
+			}
+
+			// Fire global custom event -- successEvent
+			this.successEvent.fire(responseObject);
+
+			if(o.successEvent){
+				// Fire transaction custom event -- successEvent
+				o.successEvent.fire(responseObject);
+			}
+		}
+		else{
+			switch(httpStatus){
+				// The following cases are wininet.dll error codes that may be encountered.
+				case 12002: // Server timeout
+				case 12029: // 12029 to 12031 correspond to dropped connections.
+				case 12030:
+				case 12031:
+				case 12152: // Connection closed by server.
+				case 13030: // See above comments for variable status.
+					// XDR transactions will not resolve to this case, since the
+					// response object is already built in the xdr response.
+					responseObject = this.createExceptionObject(o.tId, args, (isAbort?isAbort:false));
+					if(callback && callback.failure){
+						if(!callback.scope){
+							callback.failure(responseObject);
+						}
+						else{
+							callback.failure.apply(callback.scope, [responseObject]);
+						}
+					}
+
+					break;
+				default:
+					responseObject = (o.xdr) ? o.response : this.createResponseObject(o, args);
+					if(callback && callback.failure){
+						if(!callback.scope){
+							callback.failure(responseObject);
+						}
+						else{
+							callback.failure.apply(callback.scope, [responseObject]);
+						}
+					}
+			}
+
+			// Fire global custom event -- failureEvent
+			this.failureEvent.fire(responseObject);
+
+			if(o.failureEvent){
+				// Fire transaction custom event -- failureEvent
+				o.failureEvent.fire(responseObject);
+			}
+
+		}
+
+		this.releaseObject(o);
+		responseObject = null;
+    },
+
+  /**
+   * @description This method evaluates the server response, creates and returns the results via
+   * its properties.  Success and failure cases will differ in the response
+   * object's property values.
+   * @method createResponseObject
+   * @private
+   * @static
+   * @param {object} o The connection object
+   * @param {callbackArg} callbackArg The user-defined argument or arguments to be passed to the callback
+   * @return {object}
+   */
+    createResponseObject:function(o, callbackArg)
+    {
+		var obj = {}, headerObj = {},
+			i, headerStr, header, delimitPos;
+
+		try
+		{
+			headerStr = o.conn.getAllResponseHeaders();
+			header = headerStr.split('\n');
+			for(i=0; i<header.length; i++){
+				delimitPos = header[i].indexOf(':');
+				if(delimitPos != -1){
+					headerObj[header[i].substring(0,delimitPos)] = YAHOO.lang.trim(header[i].substring(delimitPos+2));
+				}
+			}
+		}
+		catch(e){}
+
+		obj.tId = o.tId;
+		// Normalize IE's response to HTTP 204 when Win error 1223.
+		obj.status = (o.conn.status == 1223)?204:o.conn.status;
+		// Normalize IE's statusText to "No Content" instead of "Unknown".
+		obj.statusText = (o.conn.status == 1223)?"No Content":o.conn.statusText;
+		obj.getResponseHeader = headerObj;
+		obj.getAllResponseHeaders = headerStr;
+		obj.responseText = o.conn.responseText;
+		obj.responseXML = o.conn.responseXML;
+
+		if(callbackArg){
+			obj.argument = callbackArg;
+		}
+
+		return obj;
+    },
+
+  /**
+   * @description If a transaction cannot be completed due to dropped or closed connections,
+   * there may be not be enough information to build a full response object.
+   * The failure callback will be fired and this specific condition can be identified
+   * by a status property value of 0.
+   *
+   * If an abort was successful, the status property will report a value of -1.
+   *
+   * @method createExceptionObject
+   * @private
+   * @static
+   * @param {int} tId The Transaction Id
+   * @param {callbackArg} callbackArg The user-defined argument or arguments to be passed to the callback
+   * @param {boolean} isAbort Determines if the exception case is caused by a transaction abort
+   * @return {object}
+   */
+    createExceptionObject:function(tId, callbackArg, isAbort)
+    {
+		var COMM_CODE = 0,
+			COMM_ERROR = 'communication failure',
+			ABORT_CODE = -1,
+			ABORT_ERROR = 'transaction aborted',
+			obj = {};
+
+		obj.tId = tId;
+		if(isAbort){
+			obj.status = ABORT_CODE;
+			obj.statusText = ABORT_ERROR;
+		}
+		else{
+			obj.status = COMM_CODE;
+			obj.statusText = COMM_ERROR;
+		}
+
+		if(callbackArg){
+			obj.argument = callbackArg;
+		}
+
+		return obj;
+    },
+
+  /**
+   * @description Method that initializes the custom HTTP headers for the each transaction.
+   * @method initHeader
+   * @public
+   * @static
+   * @param {string} label The HTTP header label
+   * @param {string} value The HTTP header value
+   * @param {string} isDefault Determines if the specific header is a default header
+   * automatically sent with each transaction.
+   * @return {void}
+   */
+	initHeader:function(label, value, isDefault)
+	{
+		var headerObj = (isDefault)?this._default_headers:this._http_headers;
+
+		headerObj[label] = value;
+		if(isDefault){
+			this._has_default_headers = true;
+		}
+		else{
+			this._has_http_headers = true;
+		}
+	},
+
+
+  /**
+   * @description Accessor that sets the HTTP headers for each transaction.
+   * @method setHeader
+   * @private
+   * @static
+   * @param {object} o The connection object for the transaction.
+   * @return {void}
+   */
+	setHeader:function(o)
+	{
+		var prop;
+		if(this._has_default_headers){
+			for(prop in this._default_headers){
+				if(YAHOO.lang.hasOwnProperty(this._default_headers, prop)){
+					o.conn.setRequestHeader(prop, this._default_headers[prop]);
+				}
+			}
+		}
+
+		if(this._has_http_headers){
+			for(prop in this._http_headers){
+				if(YAHOO.lang.hasOwnProperty(this._http_headers, prop)){
+					o.conn.setRequestHeader(prop, this._http_headers[prop]);
+				}
+			}
+
+			this._http_headers = {};
+			this._has_http_headers = false;
+		}
+	},
+
+  /**
+   * @description Resets the default HTTP headers object
+   * @method resetDefaultHeaders
+   * @public
+   * @static
+   * @return {void}
+   */
+	resetDefaultHeaders:function(){
+		this._default_headers = {};
+		this._has_default_headers = false;
+	},
+
+  /**
+   * @description Method to terminate a transaction, if it has not reached readyState 4.
+   * @method abort
+   * @public
+   * @static
+   * @param {object} o The connection object returned by asyncRequest.
+   * @param {object} callback  User-defined callback object.
+   * @param {string} isTimeout boolean to indicate if abort resulted from a callback timeout.
+   * @return {boolean}
+   */
+	abort:function(o, callback, isTimeout)
+	{
+		var abortStatus,
+			args = (callback && callback.argument)?callback.argument:null;
+			o = o || {};
+
+		if(o.conn){
+			if(o.xhr){
+				if(this.isCallInProgress(o)){
+					// Issue abort request
+					o.conn.abort();
+
+					window.clearInterval(this._poll[o.tId]);
+					delete this._poll[o.tId];
+
+					if(isTimeout){
+						window.clearTimeout(this._timeOut[o.tId]);
+						delete this._timeOut[o.tId];
+					}
+
+					abortStatus = true;
+				}
+			}
+			else if(o.xdr){
+				o.conn.abort(o.tId);
+				abortStatus = true;
+			}
+		}
+		else if(o.upload){
+			var frameId = 'yuiIO' + o.tId;
+			var io = document.getElementById(frameId);
+
+			if(io){
+				// Remove all listeners on the iframe prior to
+				// its destruction.
+				YAHOO.util.Event.removeListener(io, "load");
+				// Destroy the iframe facilitating the transaction.
+				document.body.removeChild(io);
+
+				if(isTimeout){
+					window.clearTimeout(this._timeOut[o.tId]);
+					delete this._timeOut[o.tId];
+				}
+
+				abortStatus = true;
+			}
+		}
+		else{
+			abortStatus = false;
+		}
+
+		if(abortStatus === true){
+			// Fire global custom event -- abortEvent
+			this.abortEvent.fire(o, args);
+
+			if(o.abortEvent){
+				// Fire transaction custom event -- abortEvent
+				o.abortEvent.fire(o, args);
+			}
+
+			this.handleTransactionResponse(o, callback, true);
+		}
+
+		return abortStatus;
+	},
+
+  /**
+   * @description Determines if the transaction is still being processed.
+   * @method isCallInProgress
+   * @public
+   * @static
+   * @param {object} o The connection object returned by asyncRequest
+   * @return {boolean}
+   */
+	isCallInProgress:function(o)
+	{
+		o = o || {};
+		// if the XHR object assigned to the transaction has not been dereferenced,
+		// then check its readyState status.  Otherwise, return false.
+		if(o.xhr && o.conn){
+			return o.conn.readyState !== 4 && o.conn.readyState !== 0;
+		}
+		else if(o.xdr && o.conn){
+			return o.conn.isCallInProgress(o.tId);
+		}
+		else if(o.upload === true){
+			return document.getElementById('yuiIO' + o.tId)?true:false;
+		}
+		else{
+			return false;
+		}
+	},
+
+  /**
+   * @description Dereference the XHR instance and the connection object after the transaction is completed.
+   * @method releaseObject
+   * @private
+   * @static
+   * @param {object} o The connection object
+   * @return {void}
+   */
+	releaseObject:function(o)
+	{
+		if(o && o.conn){
+			//dereference the XHR instance.
+			o.conn = null;
+
+
+			//dereference the connection object.
+			o = null;
+		}
+	}
+};
+
+YAHOO.register("connection_core", YAHOO.util.Connect, {version: "2.8.0r4", build: "2449"});

Property changes on: tags/2.8.2/wb/include/yui/connection/connection_core.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/yui/connection/connection_core-min.js
===================================================================
--- tags/2.8.2/wb/include/yui/connection/connection_core-min.js	(nonexistent)
+++ tags/2.8.2/wb/include/yui/connection/connection_core-min.js	(revision 1481)
@@ -0,0 +1,8 @@
+/*
+Copyright (c) 2009, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.8.0r4
+*/
+YAHOO.util.Connect={_msxml_progid:["Microsoft.XMLHTTP","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP"],_http_headers:{},_has_http_headers:false,_use_default_post_header:true,_default_post_header:"application/x-www-form-urlencoded; charset=UTF-8",_default_form_header:"application/x-www-form-urlencoded",_use_default_xhr_header:true,_default_xhr_header:"XMLHttpRequest",_has_default_headers:true,_default_headers:{},_poll:{},_timeOut:{},_polling_interval:50,_transaction_id:0,startEvent:new YAHOO.util.CustomEvent("start"),completeEvent:new YAHOO.util.CustomEvent("complete"),successEvent:new YAHOO.util.CustomEvent("success"),failureEvent:new YAHOO.util.CustomEvent("failure"),abortEvent:new YAHOO.util.CustomEvent("abort"),_customEvents:{onStart:["startEvent","start"],onComplete:["completeEvent","complete"],onSuccess:["successEvent","success"],onFailure:["failureEvent","failure"],onUpload:["uploadEvent","upload"],onAbort:["abortEvent","abort"]},setProgId:function(A){this._msxml_progid.unshift(A);},setDefaultPostHeader:function(A){if(typeof A=="string"){this._default_post_header=A;}else{if(typeof A=="boolean"){this._use_default_post_header=A;}}},setDefaultXhrHeader:function(A){if(typeof A=="string"){this._default_xhr_header=A;}else{this._use_default_xhr_header=A;}},setPollingInterval:function(A){if(typeof A=="number"&&isFinite(A)){this._polling_interval=A;}},createXhrObject:function(F){var D,A,B;try{A=new XMLHttpRequest();D={conn:A,tId:F,xhr:true};}catch(C){for(B=0;B<this._msxml_progid.length;++B){try{A=new ActiveXObject(this._msxml_progid[B]);D={conn:A,tId:F,xhr:true};break;}catch(E){}}}finally{return D;}},getConnectionObject:function(A){var C,D=this._transaction_id;try{if(!A){C=this.createXhrObject(D);}else{C={tId:D};if(A==="xdr"){C.conn=this._transport;C.xdr=true;}else{if(A==="upload"){C.upload=true;}}}if(C){this._transaction_id++;}}catch(B){}return C;},asyncRequest:function(G,D,F,A){var E,C,B=(F&&F.argument)?F.argument:null;if(this._isFileUpload){C="upload";}else{if(F.xdr){C="xdr";}}E=this.getConnectionObject(C);if(!E){return null;}else{if(F&&F.customevents){this.initCustomEvents(E,F);}if(this._isFormSubmit){if(this._isFileUpload){this.uploadFile(E,F,D,A);return E;}if(G.toUpperCase()=="GET"){if(this._sFormData.length!==0){D+=((D.indexOf("?")==-1)?"?":"&")+this._sFormData;}}else{if(G.toUpperCase()=="POST"){A=A?this._sFormData+"&"+A:this._sFormData;}}}if(G.toUpperCase()=="GET"&&(F&&F.cache===false)){D+=((D.indexOf("?")==-1)?"?":"&")+"rnd="+new Date().valueOf().toString();}if(this._use_default_xhr_header){if(!this._default_headers["X-Requested-With"]){this.initHeader("X-Requested-With",this._default_xhr_header,true);}}if((G.toUpperCase()==="POST"&&this._use_default_post_header)&&this._isFormSubmit===false){this.initHeader("Content-Type",this._default_post_header);}if(E.xdr){this.xdr(E,G,D,F,A);return E;}E.conn.open(G,D,true);if(this._has_default_headers||this._has_http_headers){this.setHeader(E);}this.handleReadyState(E,F);E.conn.send(A||"");if(this._isFormSubmit===true){this.resetFormState();}this.startEvent.fire(E,B);if(E.startEvent){E.startEvent.fire(E,B);}return E;}},initCustomEvents:function(A,C){var B;for(B in C.customevents){if(this._customEvents[B][0]){A[this._customEvents[B][0]]=new YAHOO.util.CustomEvent(this._customEvents[B][1],(C.scope)?C.scope:null);A[this._customEvents[B][0]].subscribe(C.customevents[B]);}}},handleReadyState:function(C,D){var B=this,A=(D&&D.argument)?D.argument:null;if(D&&D.timeout){this._timeOut[C.tId]=window.setTimeout(function(){B.abort(C,D,true);},D.timeout);}this._poll[C.tId]=window.setInterval(function(){if(C.conn&&C.conn.readyState===4){window.clearInterval(B._poll[C.tId]);delete B._poll[C.tId];if(D&&D.timeout){window.clearTimeout(B._timeOut[C.tId]);delete B._timeOut[C.tId];}B.completeEvent.fire(C,A);if(C.completeEvent){C.completeEvent.fire(C,A);}B.handleTransactionResponse(C,D);}},this._polling_interval);},handleTransactionResponse:function(B,I,D){var E,A,G=(I&&I.argument)?I.argument:null,C=(B.r&&B.r.statusText==="xdr:success")?true:false,H=(B.r&&B.r.statusText==="xdr:failure")?true:false,J=D;try{if((B.conn.status!==undefined&&B.conn.status!==0)||C){E=B.conn.status;}else{if(H&&!J){E=0;}else{E=13030;}}}catch(F){E=13030;}if((E>=200&&E<300)||E===1223||C){A=B.xdr?B.r:this.createResponseObject(B,G);if(I&&I.success){if(!I.scope){I.success(A);}else{I.success.apply(I.scope,[A]);}}this.successEvent.fire(A);if(B.successEvent){B.successEvent.fire(A);}}else{switch(E){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:A=this.createExceptionObject(B.tId,G,(D?D:false));if(I&&I.failure){if(!I.scope){I.failure(A);}else{I.failure.apply(I.scope,[A]);}}break;default:A=(B.xdr)?B.response:this.createResponseObject(B,G);if(I&&I.failure){if(!I.scope){I.failure(A);}else{I.failure.apply(I.scope,[A]);}}}this.failureEvent.fire(A);if(B.failureEvent){B.failureEvent.fire(A);}}this.releaseObject(B);A=null;},createResponseObject:function(A,G){var D={},I={},E,C,F,B;try{C=A.conn.getAllResponseHeaders();F=C.split("\n");for(E=0;E<F.length;E++){B=F[E].indexOf(":");if(B!=-1){I[F[E].substring(0,B)]=YAHOO.lang.trim(F[E].substring(B+2));}}}catch(H){}D.tId=A.tId;D.status=(A.conn.status==1223)?204:A.conn.status;D.statusText=(A.conn.status==1223)?"No Content":A.conn.statusText;D.getResponseHeader=I;D.getAllResponseHeaders=C;D.responseText=A.conn.responseText;D.responseXML=A.conn.responseXML;if(G){D.argument=G;}return D;},createExceptionObject:function(H,D,A){var F=0,G="communication failure",C=-1,B="transaction aborted",E={};E.tId=H;if(A){E.status=C;E.statusText=B;}else{E.status=F;E.statusText=G;}if(D){E.argument=D;}return E;},initHeader:function(A,D,C){var B=(C)?this._default_headers:this._http_headers;B[A]=D;if(C){this._has_default_headers=true;}else{this._has_http_headers=true;}},setHeader:function(A){var B;if(this._has_default_headers){for(B in this._default_headers){if(YAHOO.lang.hasOwnProperty(this._default_headers,B)){A.conn.setRequestHeader(B,this._default_headers[B]);}}}if(this._has_http_headers){for(B in this._http_headers){if(YAHOO.lang.hasOwnProperty(this._http_headers,B)){A.conn.setRequestHeader(B,this._http_headers[B]);
+}}this._http_headers={};this._has_http_headers=false;}},resetDefaultHeaders:function(){this._default_headers={};this._has_default_headers=false;},abort:function(E,G,A){var D,B=(G&&G.argument)?G.argument:null;E=E||{};if(E.conn){if(E.xhr){if(this.isCallInProgress(E)){E.conn.abort();window.clearInterval(this._poll[E.tId]);delete this._poll[E.tId];if(A){window.clearTimeout(this._timeOut[E.tId]);delete this._timeOut[E.tId];}D=true;}}else{if(E.xdr){E.conn.abort(E.tId);D=true;}}}else{if(E.upload){var C="yuiIO"+E.tId;var F=document.getElementById(C);if(F){YAHOO.util.Event.removeListener(F,"load");document.body.removeChild(F);if(A){window.clearTimeout(this._timeOut[E.tId]);delete this._timeOut[E.tId];}D=true;}}else{D=false;}}if(D===true){this.abortEvent.fire(E,B);if(E.abortEvent){E.abortEvent.fire(E,B);}this.handleTransactionResponse(E,G,true);}return D;},isCallInProgress:function(A){A=A||{};if(A.xhr&&A.conn){return A.conn.readyState!==4&&A.conn.readyState!==0;}else{if(A.xdr&&A.conn){return A.conn.isCallInProgress(A.tId);}else{if(A.upload===true){return document.getElementById("yuiIO"+A.tId)?true:false;}else{return false;}}}},releaseObject:function(A){if(A&&A.conn){A.conn=null;A=null;}}};YAHOO.register("connection_core",YAHOO.util.Connect,{version:"2.8.0r4",build:"2449"});
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/yui/connection/connection_core-min.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/yui/connection/connection_core-debug.js
===================================================================
--- tags/2.8.2/wb/include/yui/connection/connection_core-debug.js	(nonexistent)
+++ tags/2.8.2/wb/include/yui/connection/connection_core-debug.js	(revision 1481)
@@ -0,0 +1,980 @@
+/*
+Copyright (c) 2009, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.8.0r4
+*/
+/**
+ * The Connection Manager provides a simplified interface to the XMLHttpRequest
+ * object.  It handles cross-browser instantiantion of XMLHttpRequest, negotiates the
+ * interactive states and server response, returning the results to a pre-defined
+ * callback you create.
+ *
+ * @namespace YAHOO.util
+ * @module connection
+ * @requires yahoo
+ * @requires event
+ */
+
+/**
+ * The Connection Manager singleton provides methods for creating and managing
+ * asynchronous transactions.
+ *
+ * @class Connect
+ */
+
+YAHOO.util.Connect =
+{
+  /**
+   * @description Array of MSFT ActiveX ids for XMLHttpRequest.
+   * @property _msxml_progid
+   * @private
+   * @static
+   * @type array
+   */
+	_msxml_progid:[
+		'Microsoft.XMLHTTP',
+		'MSXML2.XMLHTTP.3.0',
+		'MSXML2.XMLHTTP'
+		],
+
+  /**
+   * @description Object literal of HTTP header(s)
+   * @property _http_header
+   * @private
+   * @static
+   * @type object
+   */
+	_http_headers:{},
+
+  /**
+   * @description Determines if HTTP headers are set.
+   * @property _has_http_headers
+   * @private
+   * @static
+   * @type boolean
+   */
+	_has_http_headers:false,
+
+ /**
+  * @description Determines if a default header of
+  * Content-Type of 'application/x-www-form-urlencoded'
+  * will be added to any client HTTP headers sent for POST
+  * transactions.
+  * @property _use_default_post_header
+  * @private
+  * @static
+  * @type boolean
+  */
+    _use_default_post_header:true,
+
+ /**
+  * @description The default header used for POST transactions.
+  * @property _default_post_header
+  * @private
+  * @static
+  * @type boolean
+  */
+    _default_post_header:'application/x-www-form-urlencoded; charset=UTF-8',
+
+ /**
+  * @description The default header used for transactions involving the
+  * use of HTML forms.
+  * @property _default_form_header
+  * @private
+  * @static
+  * @type boolean
+  */
+    _default_form_header:'application/x-www-form-urlencoded',
+
+ /**
+  * @description Determines if a default header of
+  * 'X-Requested-With: XMLHttpRequest'
+  * will be added to each transaction.
+  * @property _use_default_xhr_header
+  * @private
+  * @static
+  * @type boolean
+  */
+    _use_default_xhr_header:true,
+
+ /**
+  * @description The default header value for the label
+  * "X-Requested-With".  This is sent with each
+  * transaction, by default, to identify the
+  * request as being made by YUI Connection Manager.
+  * @property _default_xhr_header
+  * @private
+  * @static
+  * @type boolean
+  */
+    _default_xhr_header:'XMLHttpRequest',
+
+ /**
+  * @description Determines if custom, default headers
+  * are set for each transaction.
+  * @property _has_default_header
+  * @private
+  * @static
+  * @type boolean
+  */
+    _has_default_headers:true,
+
+ /**
+  * @description Determines if custom, default headers
+  * are set for each transaction.
+  * @property _has_default_header
+  * @private
+  * @static
+  * @type boolean
+  */
+    _default_headers:{},
+
+ /**
+  * @description Collection of polling references to the polling mechanism in handleReadyState.
+  * @property _poll
+  * @private
+  * @static
+  * @type object
+  */
+    _poll:{},
+
+ /**
+  * @description Queue of timeout values for each transaction callback with a defined timeout value.
+  * @property _timeOut
+  * @private
+  * @static
+  * @type object
+  */
+    _timeOut:{},
+
+  /**
+   * @description The polling frequency, in milliseconds, for HandleReadyState.
+   * when attempting to determine a transaction's XHR readyState.
+   * The default is 50 milliseconds.
+   * @property _polling_interval
+   * @private
+   * @static
+   * @type int
+   */
+     _polling_interval:50,
+
+  /**
+   * @description A transaction counter that increments the transaction id for each transaction.
+   * @property _transaction_id
+   * @private
+   * @static
+   * @type int
+   */
+     _transaction_id:0,
+
+  /**
+   * @description Custom event that fires at the start of a transaction
+   * @property startEvent
+   * @private
+   * @static
+   * @type CustomEvent
+   */
+	startEvent: new YAHOO.util.CustomEvent('start'),
+
+  /**
+   * @description Custom event that fires when a transaction response has completed.
+   * @property completeEvent
+   * @private
+   * @static
+   * @type CustomEvent
+   */
+	completeEvent: new YAHOO.util.CustomEvent('complete'),
+
+  /**
+   * @description Custom event that fires when handleTransactionResponse() determines a
+   * response in the HTTP 2xx range.
+   * @property successEvent
+   * @private
+   * @static
+   * @type CustomEvent
+   */
+	successEvent: new YAHOO.util.CustomEvent('success'),
+
+  /**
+   * @description Custom event that fires when handleTransactionResponse() determines a
+   * response in the HTTP 4xx/5xx range.
+   * @property failureEvent
+   * @private
+   * @static
+   * @type CustomEvent
+   */
+	failureEvent: new YAHOO.util.CustomEvent('failure'),
+
+  /**
+   * @description Custom event that fires when a transaction is successfully aborted.
+   * @property abortEvent
+   * @private
+   * @static
+   * @type CustomEvent
+   */
+	abortEvent: new YAHOO.util.CustomEvent('abort'),
+
+  /**
+   * @description A reference table that maps callback custom events members to its specific
+   * event name.
+   * @property _customEvents
+   * @private
+   * @static
+   * @type object
+   */
+	_customEvents:
+	{
+		onStart:['startEvent', 'start'],
+		onComplete:['completeEvent', 'complete'],
+		onSuccess:['successEvent', 'success'],
+		onFailure:['failureEvent', 'failure'],
+		onUpload:['uploadEvent', 'upload'],
+		onAbort:['abortEvent', 'abort']
+	},
+
+  /**
+   * @description Member to add an ActiveX id to the existing xml_progid array.
+   * In the event(unlikely) a new ActiveX id is introduced, it can be added
+   * without internal code modifications.
+   * @method setProgId
+   * @public
+   * @static
+   * @param {string} id The ActiveX id to be added to initialize the XHR object.
+   * @return void
+   */
+	setProgId:function(id)
+	{
+		this._msxml_progid.unshift(id);
+		YAHOO.log('ActiveX Program Id  ' + id + ' added to _msxml_progid.', 'info', 'Connection');
+	},
+
+  /**
+   * @description Member to override the default POST header.
+   * @method setDefaultPostHeader
+   * @public
+   * @static
+   * @param {boolean} b Set and use default header - true or false .
+   * @return void
+   */
+	setDefaultPostHeader:function(b)
+	{
+		if(typeof b == 'string'){
+			this._default_post_header = b;
+			YAHOO.log('Default POST header set to  ' + b, 'info', 'Connection');
+		}
+		else if(typeof b == 'boolean'){
+			this._use_default_post_header = b;
+		}
+	},
+
+  /**
+   * @description Member to override the default transaction header..
+   * @method setDefaultXhrHeader
+   * @public
+   * @static
+   * @param {boolean} b Set and use default header - true or false .
+   * @return void
+   */
+	setDefaultXhrHeader:function(b)
+	{
+		if(typeof b == 'string'){
+			this._default_xhr_header = b;
+			YAHOO.log('Default XHR header set to  ' + b, 'info', 'Connection');
+		}
+		else{
+			this._use_default_xhr_header = b;
+		}
+	},
+
+  /**
+   * @description Member to modify the default polling interval.
+   * @method setPollingInterval
+   * @public
+   * @static
+   * @param {int} i The polling interval in milliseconds.
+   * @return void
+   */
+	setPollingInterval:function(i)
+	{
+		if(typeof i == 'number' && isFinite(i)){
+			this._polling_interval = i;
+			YAHOO.log('Default polling interval set to ' + i +'ms', 'info', 'Connection');
+		}
+	},
+
+  /**
+   * @description Instantiates a XMLHttpRequest object and returns an object with two properties:
+   * the XMLHttpRequest instance and the transaction id.
+   * @method createXhrObject
+   * @private
+   * @static
+   * @param {int} transactionId Property containing the transaction id for this transaction.
+   * @return object
+   */
+	createXhrObject:function(transactionId)
+	{
+		var obj,http,i;
+		try
+		{
+			// Instantiates XMLHttpRequest in non-IE browsers and assigns to http.
+			http = new XMLHttpRequest();
+			//  Object literal with http and tId properties
+			obj = { conn:http, tId:transactionId, xhr: true };
+			YAHOO.log('XHR object created for transaction ' + transactionId, 'info', 'Connection');
+		}
+		catch(e)
+		{
+			for(i=0; i<this._msxml_progid.length; ++i){
+				try
+				{
+					// Instantiates XMLHttpRequest for IE and assign to http
+					http = new ActiveXObject(this._msxml_progid[i]);
+					//  Object literal with conn and tId properties
+					obj = { conn:http, tId:transactionId, xhr: true };
+					YAHOO.log('ActiveX XHR object created for transaction ' + transactionId, 'info', 'Connection');
+					break;
+				}
+				catch(e1){}
+			}
+		}
+		finally
+		{
+			return obj;
+		}
+	},
+
+  /**
+   * @description This method is called by asyncRequest to create a
+   * valid connection object for the transaction.  It also passes a
+   * transaction id and increments the transaction id counter.
+   * @method getConnectionObject
+   * @private
+   * @static
+   * @return {object}
+   */
+	getConnectionObject:function(t)
+	{
+		var o, tId = this._transaction_id;
+
+		try
+		{
+			if(!t){
+				o = this.createXhrObject(tId);
+			}
+			else{
+				o = {tId:tId};
+				if(t==='xdr'){
+					o.conn = this._transport;
+					o.xdr = true;
+				}
+				else if(t==='upload'){
+					o.upload = true;
+				}
+			}
+
+			if(o){
+				this._transaction_id++;
+			}
+		}
+		catch(e){}
+		return o;
+	},
+
+  /**
+   * @description Method for initiating an asynchronous request via the XHR object.
+   * @method asyncRequest
+   * @public
+   * @static
+   * @param {string} method HTTP transaction method
+   * @param {string} uri Fully qualified path of resource
+   * @param {callback} callback User-defined callback function or object
+   * @param {string} postData POST body
+   * @return {object} Returns the connection object
+   */
+	asyncRequest:function(method, uri, callback, postData)
+	{
+		var o,t,args = (callback && callback.argument)?callback.argument:null;
+
+		if(this._isFileUpload){
+			t = 'upload';
+		}
+		else if(callback.xdr){
+			t = 'xdr';
+		}
+
+		o = this.getConnectionObject(t);
+		if(!o){
+			YAHOO.log('Unable to create connection object.', 'error', 'Connection');
+			return null;
+		}
+		else{
+
+			// Intialize any transaction-specific custom events, if provided.
+			if(callback && callback.customevents){
+				this.initCustomEvents(o, callback);
+			}
+
+			if(this._isFormSubmit){
+				if(this._isFileUpload){
+					this.uploadFile(o, callback, uri, postData);
+					return o;
+				}
+
+				// If the specified HTTP method is GET, setForm() will return an
+				// encoded string that is concatenated to the uri to
+				// create a querystring.
+				if(method.toUpperCase() == 'GET'){
+					if(this._sFormData.length !== 0){
+						// If the URI already contains a querystring, append an ampersand
+						// and then concatenate _sFormData to the URI.
+						uri += ((uri.indexOf('?') == -1)?'?':'&') + this._sFormData;
+					}
+				}
+				else if(method.toUpperCase() == 'POST'){
+					// If POST data exist in addition to the HTML form data,
+					// it will be concatenated to the form data.
+					postData = postData?this._sFormData + "&" + postData:this._sFormData;
+				}
+			}
+
+			if(method.toUpperCase() == 'GET' && (callback && callback.cache === false)){
+				// If callback.cache is defined and set to false, a
+				// timestamp value will be added to the querystring.
+				uri += ((uri.indexOf('?') == -1)?'?':'&') + "rnd=" + new Date().valueOf().toString();
+			}
+
+			// Each transaction will automatically include a custom header of
+			// "X-Requested-With: XMLHttpRequest" to identify the request as
+			// having originated from Connection Manager.
+			if(this._use_default_xhr_header){
+				if(!this._default_headers['X-Requested-With']){
+					this.initHeader('X-Requested-With', this._default_xhr_header, true);
+					YAHOO.log('Initialize transaction header X-Request-Header to XMLHttpRequest.', 'info', 'Connection');
+				}
+			}
+
+			//If the transaction method is POST and the POST header value is set to true
+			//or a custom value, initalize the Content-Type header to this value.
+			if((method.toUpperCase() === 'POST' && this._use_default_post_header) && this._isFormSubmit === false){
+				this.initHeader('Content-Type', this._default_post_header);
+				YAHOO.log('Initialize header Content-Type to application/x-www-form-urlencoded; UTF-8 for POST transaction.', 'info', 'Connection');
+			}
+
+			if(o.xdr){
+				this.xdr(o, method, uri, callback, postData);
+				return o;
+			}
+
+			o.conn.open(method, uri, true);
+			//Initialize all default and custom HTTP headers,
+			if(this._has_default_headers || this._has_http_headers){
+				this.setHeader(o);
+			}
+
+			this.handleReadyState(o, callback);
+			o.conn.send(postData || '');
+			YAHOO.log('Transaction ' + o.tId + ' sent.', 'info', 'Connection');
+
+			// Reset the HTML form data and state properties as
+			// soon as the data are submitted.
+			if(this._isFormSubmit === true){
+				this.resetFormState();
+			}
+
+			// Fire global custom event -- startEvent
+			this.startEvent.fire(o, args);
+
+			if(o.startEvent){
+				// Fire transaction custom event -- startEvent
+				o.startEvent.fire(o, args);
+			}
+
+			return o;
+		}
+	},
+
+  /**
+   * @description This method creates and subscribes custom events,
+   * specific to each transaction
+   * @method initCustomEvents
+   * @private
+   * @static
+   * @param {object} o The connection object
+   * @param {callback} callback The user-defined callback object
+   * @return {void}
+   */
+	initCustomEvents:function(o, callback)
+	{
+		var prop;
+		// Enumerate through callback.customevents members and bind/subscribe
+		// events that match in the _customEvents table.
+		for(prop in callback.customevents){
+			if(this._customEvents[prop][0]){
+				// Create the custom event
+				o[this._customEvents[prop][0]] = new YAHOO.util.CustomEvent(this._customEvents[prop][1], (callback.scope)?callback.scope:null);
+				YAHOO.log('Transaction-specific Custom Event ' + o[this._customEvents[prop][1]] + ' created.', 'info', 'Connection');
+
+				// Subscribe the custom event
+				o[this._customEvents[prop][0]].subscribe(callback.customevents[prop]);
+				YAHOO.log('Transaction-specific Custom Event ' + o[this._customEvents[prop][1]] + ' subscribed.', 'info', 'Connection');
+			}
+		}
+	},
+
+  /**
+   * @description This method serves as a timer that polls the XHR object's readyState
+   * property during a transaction, instead of binding a callback to the
+   * onreadystatechange event.  Upon readyState 4, handleTransactionResponse
+   * will process the response, and the timer will be cleared.
+   * @method handleReadyState
+   * @private
+   * @static
+   * @param {object} o The connection object
+   * @param {callback} callback The user-defined callback object
+   * @return {void}
+   */
+
+    handleReadyState:function(o, callback)
+
+    {
+		var oConn = this,
+			args = (callback && callback.argument)?callback.argument:null;
+
+		if(callback && callback.timeout){
+			this._timeOut[o.tId] = window.setTimeout(function(){ oConn.abort(o, callback, true); }, callback.timeout);
+		}
+
+		this._poll[o.tId] = window.setInterval(
+			function(){
+				if(o.conn && o.conn.readyState === 4){
+
+					// Clear the polling interval for the transaction
+					// and remove the reference from _poll.
+					window.clearInterval(oConn._poll[o.tId]);
+					delete oConn._poll[o.tId];
+
+					if(callback && callback.timeout){
+						window.clearTimeout(oConn._timeOut[o.tId]);
+						delete oConn._timeOut[o.tId];
+					}
+
+					// Fire global custom event -- completeEvent
+					oConn.completeEvent.fire(o, args);
+
+					if(o.completeEvent){
+						// Fire transaction custom event -- completeEvent
+						o.completeEvent.fire(o, args);
+					}
+
+					oConn.handleTransactionResponse(o, callback);
+				}
+			}
+		,this._polling_interval);
+    },
+
+  /**
+   * @description This method attempts to interpret the server response and
+   * determine whether the transaction was successful, or if an error or
+   * exception was encountered.
+   * @method handleTransactionResponse
+   * @private
+   * @static
+   * @param {object} o The connection object
+   * @param {object} callback The user-defined callback object
+   * @param {boolean} isAbort Determines if the transaction was terminated via abort().
+   * @return {void}
+   */
+    handleTransactionResponse:function(o, callback, isAbort)
+    {
+		var httpStatus, responseObject,
+			args = (callback && callback.argument)?callback.argument:null,
+			xdrS = (o.r && o.r.statusText === 'xdr:success')?true:false,
+			xdrF = (o.r && o.r.statusText === 'xdr:failure')?true:false,
+			xdrA = isAbort;
+
+		try
+		{
+			if((o.conn.status !== undefined && o.conn.status !== 0) || xdrS){
+				// XDR requests will not have HTTP status defined. The
+				// statusText property will define the response status
+				// set by the Flash transport.
+				httpStatus = o.conn.status;
+			}
+			else if(xdrF && !xdrA){
+				// Set XDR transaction failure to a status of 0, which
+				// resolves as an HTTP failure, instead of an exception.
+				httpStatus = 0;
+			}
+			else{
+				httpStatus = 13030;
+			}
+		}
+		catch(e){
+
+			 // 13030 is a custom code to indicate the condition -- in Mozilla/FF --
+			 // when the XHR object's status and statusText properties are
+			 // unavailable, and a query attempt throws an exception.
+			httpStatus = 13030;
+		}
+
+		if((httpStatus >= 200 && httpStatus < 300) || httpStatus === 1223 || xdrS){
+			responseObject = o.xdr ? o.r : this.createResponseObject(o, args);
+			if(callback && callback.success){
+				if(!callback.scope){
+					callback.success(responseObject);
+					YAHOO.log('Success callback. HTTP code is ' + httpStatus, 'info', 'Connection');
+				}
+				else{
+					// If a scope property is defined, the callback will be fired from
+					// the context of the object.
+					callback.success.apply(callback.scope, [responseObject]);
+					YAHOO.log('Success callback with scope. HTTP code is ' + httpStatus, 'info', 'Connection');
+				}
+			}
+
+			// Fire global custom event -- successEvent
+			this.successEvent.fire(responseObject);
+
+			if(o.successEvent){
+				// Fire transaction custom event -- successEvent
+				o.successEvent.fire(responseObject);
+			}
+		}
+		else{
+			switch(httpStatus){
+				// The following cases are wininet.dll error codes that may be encountered.
+				case 12002: // Server timeout
+				case 12029: // 12029 to 12031 correspond to dropped connections.
+				case 12030:
+				case 12031:
+				case 12152: // Connection closed by server.
+				case 13030: // See above comments for variable status.
+					// XDR transactions will not resolve to this case, since the
+					// response object is already built in the xdr response.
+					responseObject = this.createExceptionObject(o.tId, args, (isAbort?isAbort:false));
+					if(callback && callback.failure){
+						if(!callback.scope){
+							callback.failure(responseObject);
+							YAHOO.log('Failure callback. Exception detected. Status code is ' + httpStatus, 'warn', 'Connection');
+						}
+						else{
+							callback.failure.apply(callback.scope, [responseObject]);
+							YAHOO.log('Failure callback with scope. Exception detected. Status code is ' + httpStatus, 'warn', 'Connection');
+						}
+					}
+
+					break;
+				default:
+					responseObject = (o.xdr) ? o.response : this.createResponseObject(o, args);
+					if(callback && callback.failure){
+						if(!callback.scope){
+							callback.failure(responseObject);
+							YAHOO.log('Failure callback. HTTP status code is ' + httpStatus, 'warn', 'Connection');
+						}
+						else{
+							callback.failure.apply(callback.scope, [responseObject]);
+							YAHOO.log('Failure callback with scope. HTTP status code is ' + httpStatus, 'warn', 'Connection');
+						}
+					}
+			}
+
+			// Fire global custom event -- failureEvent
+			this.failureEvent.fire(responseObject);
+
+			if(o.failureEvent){
+				// Fire transaction custom event -- failureEvent
+				o.failureEvent.fire(responseObject);
+			}
+
+		}
+
+		this.releaseObject(o);
+		responseObject = null;
+    },
+
+  /**
+   * @description This method evaluates the server response, creates and returns the results via
+   * its properties.  Success and failure cases will differ in the response
+   * object's property values.
+   * @method createResponseObject
+   * @private
+   * @static
+   * @param {object} o The connection object
+   * @param {callbackArg} callbackArg The user-defined argument or arguments to be passed to the callback
+   * @return {object}
+   */
+    createResponseObject:function(o, callbackArg)
+    {
+		var obj = {}, headerObj = {},
+			i, headerStr, header, delimitPos;
+
+		try
+		{
+			headerStr = o.conn.getAllResponseHeaders();
+			header = headerStr.split('\n');
+			for(i=0; i<header.length; i++){
+				delimitPos = header[i].indexOf(':');
+				if(delimitPos != -1){
+					headerObj[header[i].substring(0,delimitPos)] = YAHOO.lang.trim(header[i].substring(delimitPos+2));
+				}
+			}
+		}
+		catch(e){}
+
+		obj.tId = o.tId;
+		// Normalize IE's response to HTTP 204 when Win error 1223.
+		obj.status = (o.conn.status == 1223)?204:o.conn.status;
+		// Normalize IE's statusText to "No Content" instead of "Unknown".
+		obj.statusText = (o.conn.status == 1223)?"No Content":o.conn.statusText;
+		obj.getResponseHeader = headerObj;
+		obj.getAllResponseHeaders = headerStr;
+		obj.responseText = o.conn.responseText;
+		obj.responseXML = o.conn.responseXML;
+
+		if(callbackArg){
+			obj.argument = callbackArg;
+		}
+
+		return obj;
+    },
+
+  /**
+   * @description If a transaction cannot be completed due to dropped or closed connections,
+   * there may be not be enough information to build a full response object.
+   * The failure callback will be fired and this specific condition can be identified
+   * by a status property value of 0.
+   *
+   * If an abort was successful, the status property will report a value of -1.
+   *
+   * @method createExceptionObject
+   * @private
+   * @static
+   * @param {int} tId The Transaction Id
+   * @param {callbackArg} callbackArg The user-defined argument or arguments to be passed to the callback
+   * @param {boolean} isAbort Determines if the exception case is caused by a transaction abort
+   * @return {object}
+   */
+    createExceptionObject:function(tId, callbackArg, isAbort)
+    {
+		var COMM_CODE = 0,
+			COMM_ERROR = 'communication failure',
+			ABORT_CODE = -1,
+			ABORT_ERROR = 'transaction aborted',
+			obj = {};
+
+		obj.tId = tId;
+		if(isAbort){
+			obj.status = ABORT_CODE;
+			obj.statusText = ABORT_ERROR;
+		}
+		else{
+			obj.status = COMM_CODE;
+			obj.statusText = COMM_ERROR;
+		}
+
+		if(callbackArg){
+			obj.argument = callbackArg;
+		}
+
+		return obj;
+    },
+
+  /**
+   * @description Method that initializes the custom HTTP headers for the each transaction.
+   * @method initHeader
+   * @public
+   * @static
+   * @param {string} label The HTTP header label
+   * @param {string} value The HTTP header value
+   * @param {string} isDefault Determines if the specific header is a default header
+   * automatically sent with each transaction.
+   * @return {void}
+   */
+	initHeader:function(label, value, isDefault)
+	{
+		var headerObj = (isDefault)?this._default_headers:this._http_headers;
+
+		headerObj[label] = value;
+		if(isDefault){
+			this._has_default_headers = true;
+		}
+		else{
+			this._has_http_headers = true;
+		}
+	},
+
+
+  /**
+   * @description Accessor that sets the HTTP headers for each transaction.
+   * @method setHeader
+   * @private
+   * @static
+   * @param {object} o The connection object for the transaction.
+   * @return {void}
+   */
+	setHeader:function(o)
+	{
+		var prop;
+		if(this._has_default_headers){
+			for(prop in this._default_headers){
+				if(YAHOO.lang.hasOwnProperty(this._default_headers, prop)){
+					o.conn.setRequestHeader(prop, this._default_headers[prop]);
+					YAHOO.log('Default HTTP header ' + prop + ' set with value of ' + this._default_headers[prop], 'info', 'Connection');
+				}
+			}
+		}
+
+		if(this._has_http_headers){
+			for(prop in this._http_headers){
+				if(YAHOO.lang.hasOwnProperty(this._http_headers, prop)){
+					o.conn.setRequestHeader(prop, this._http_headers[prop]);
+					YAHOO.log('HTTP header ' + prop + ' set with value of ' + this._http_headers[prop], 'info', 'Connection');
+				}
+			}
+
+			this._http_headers = {};
+			this._has_http_headers = false;
+		}
+	},
+
+  /**
+   * @description Resets the default HTTP headers object
+   * @method resetDefaultHeaders
+   * @public
+   * @static
+   * @return {void}
+   */
+	resetDefaultHeaders:function(){
+		this._default_headers = {};
+		this._has_default_headers = false;
+	},
+
+  /**
+   * @description Method to terminate a transaction, if it has not reached readyState 4.
+   * @method abort
+   * @public
+   * @static
+   * @param {object} o The connection object returned by asyncRequest.
+   * @param {object} callback  User-defined callback object.
+   * @param {string} isTimeout boolean to indicate if abort resulted from a callback timeout.
+   * @return {boolean}
+   */
+	abort:function(o, callback, isTimeout)
+	{
+		var abortStatus,
+			args = (callback && callback.argument)?callback.argument:null;
+			o = o || {};
+
+		if(o.conn){
+			if(o.xhr){
+				if(this.isCallInProgress(o)){
+					// Issue abort request
+					o.conn.abort();
+
+					window.clearInterval(this._poll[o.tId]);
+					delete this._poll[o.tId];
+
+					if(isTimeout){
+						window.clearTimeout(this._timeOut[o.tId]);
+						delete this._timeOut[o.tId];
+					}
+
+					abortStatus = true;
+				}
+			}
+			else if(o.xdr){
+				o.conn.abort(o.tId);
+				abortStatus = true;
+			}
+		}
+		else if(o.upload){
+			var frameId = 'yuiIO' + o.tId;
+			var io = document.getElementById(frameId);
+
+			if(io){
+				// Remove all listeners on the iframe prior to
+				// its destruction.
+				YAHOO.util.Event.removeListener(io, "load");
+				// Destroy the iframe facilitating the transaction.
+				document.body.removeChild(io);
+				YAHOO.log('File upload iframe destroyed. Id is:' + frameId, 'info', 'Connection');
+
+				if(isTimeout){
+					window.clearTimeout(this._timeOut[o.tId]);
+					delete this._timeOut[o.tId];
+				}
+
+				abortStatus = true;
+			}
+		}
+		else{
+			abortStatus = false;
+		}
+
+		if(abortStatus === true){
+			// Fire global custom event -- abortEvent
+			this.abortEvent.fire(o, args);
+
+			if(o.abortEvent){
+				// Fire transaction custom event -- abortEvent
+				o.abortEvent.fire(o, args);
+			}
+
+			this.handleTransactionResponse(o, callback, true);
+			YAHOO.log('Transaction ' + o.tId + ' aborted.', 'info', 'Connection');
+		}
+
+		return abortStatus;
+	},
+
+  /**
+   * @description Determines if the transaction is still being processed.
+   * @method isCallInProgress
+   * @public
+   * @static
+   * @param {object} o The connection object returned by asyncRequest
+   * @return {boolean}
+   */
+	isCallInProgress:function(o)
+	{
+		o = o || {};
+		// if the XHR object assigned to the transaction has not been dereferenced,
+		// then check its readyState status.  Otherwise, return false.
+		if(o.xhr && o.conn){
+			return o.conn.readyState !== 4 && o.conn.readyState !== 0;
+		}
+		else if(o.xdr && o.conn){
+			return o.conn.isCallInProgress(o.tId);
+		}
+		else if(o.upload === true){
+			return document.getElementById('yuiIO' + o.tId)?true:false;
+		}
+		else{
+			return false;
+		}
+	},
+
+  /**
+   * @description Dereference the XHR instance and the connection object after the transaction is completed.
+   * @method releaseObject
+   * @private
+   * @static
+   * @param {object} o The connection object
+   * @return {void}
+   */
+	releaseObject:function(o)
+	{
+		if(o && o.conn){
+			//dereference the XHR instance.
+			o.conn = null;
+
+			YAHOO.log('Connection object for transaction ' + o.tId + ' destroyed.', 'info', 'Connection');
+
+			//dereference the connection object.
+			o = null;
+		}
+	}
+};
+
+YAHOO.register("connection_core", YAHOO.util.Connect, {version: "2.8.0r4", build: "2449"});

Property changes on: tags/2.8.2/wb/include/yui/connection/connection_core-debug.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/yui/connection/connection.js
===================================================================
--- tags/2.8.2/wb/include/yui/connection/connection.js	(nonexistent)
+++ tags/2.8.2/wb/include/yui/connection/connection.js	(revision 1481)
@@ -0,0 +1,1546 @@
+/*
+Copyright (c) 2009, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.8.0r4
+*/
+/**
+ * The Connection Manager provides a simplified interface to the XMLHttpRequest
+ * object.  It handles cross-browser instantiantion of XMLHttpRequest, negotiates the
+ * interactive states and server response, returning the results to a pre-defined
+ * callback you create.
+ *
+ * @namespace YAHOO.util
+ * @module connection
+ * @requires yahoo
+ * @requires event
+ */
+
+/**
+ * The Connection Manager singleton provides methods for creating and managing
+ * asynchronous transactions.
+ *
+ * @class Connect
+ */
+
+YAHOO.util.Connect =
+{
+  /**
+   * @description Array of MSFT ActiveX ids for XMLHttpRequest.
+   * @property _msxml_progid
+   * @private
+   * @static
+   * @type array
+   */
+	_msxml_progid:[
+		'Microsoft.XMLHTTP',
+		'MSXML2.XMLHTTP.3.0',
+		'MSXML2.XMLHTTP'
+		],
+
+  /**
+   * @description Object literal of HTTP header(s)
+   * @property _http_header
+   * @private
+   * @static
+   * @type object
+   */
+	_http_headers:{},
+
+  /**
+   * @description Determines if HTTP headers are set.
+   * @property _has_http_headers
+   * @private
+   * @static
+   * @type boolean
+   */
+	_has_http_headers:false,
+
+ /**
+  * @description Determines if a default header of
+  * Content-Type of 'application/x-www-form-urlencoded'
+  * will be added to any client HTTP headers sent for POST
+  * transactions.
+  * @property _use_default_post_header
+  * @private
+  * @static
+  * @type boolean
+  */
+    _use_default_post_header:true,
+
+ /**
+  * @description The default header used for POST transactions.
+  * @property _default_post_header
+  * @private
+  * @static
+  * @type boolean
+  */
+    _default_post_header:'application/x-www-form-urlencoded; charset=UTF-8',
+
+ /**
+  * @description The default header used for transactions involving the
+  * use of HTML forms.
+  * @property _default_form_header
+  * @private
+  * @static
+  * @type boolean
+  */
+    _default_form_header:'application/x-www-form-urlencoded',
+
+ /**
+  * @description Determines if a default header of
+  * 'X-Requested-With: XMLHttpRequest'
+  * will be added to each transaction.
+  * @property _use_default_xhr_header
+  * @private
+  * @static
+  * @type boolean
+  */
+    _use_default_xhr_header:true,
+
+ /**
+  * @description The default header value for the label
+  * "X-Requested-With".  This is sent with each
+  * transaction, by default, to identify the
+  * request as being made by YUI Connection Manager.
+  * @property _default_xhr_header
+  * @private
+  * @static
+  * @type boolean
+  */
+    _default_xhr_header:'XMLHttpRequest',
+
+ /**
+  * @description Determines if custom, default headers
+  * are set for each transaction.
+  * @property _has_default_header
+  * @private
+  * @static
+  * @type boolean
+  */
+    _has_default_headers:true,
+
+ /**
+  * @description Determines if custom, default headers
+  * are set for each transaction.
+  * @property _has_default_header
+  * @private
+  * @static
+  * @type boolean
+  */
+    _default_headers:{},
+
+ /**
+  * @description Collection of polling references to the polling mechanism in handleReadyState.
+  * @property _poll
+  * @private
+  * @static
+  * @type object
+  */
+    _poll:{},
+
+ /**
+  * @description Queue of timeout values for each transaction callback with a defined timeout value.
+  * @property _timeOut
+  * @private
+  * @static
+  * @type object
+  */
+    _timeOut:{},
+
+  /**
+   * @description The polling frequency, in milliseconds, for HandleReadyState.
+   * when attempting to determine a transaction's XHR readyState.
+   * The default is 50 milliseconds.
+   * @property _polling_interval
+   * @private
+   * @static
+   * @type int
+   */
+     _polling_interval:50,
+
+  /**
+   * @description A transaction counter that increments the transaction id for each transaction.
+   * @property _transaction_id
+   * @private
+   * @static
+   * @type int
+   */
+     _transaction_id:0,
+
+  /**
+   * @description Custom event that fires at the start of a transaction
+   * @property startEvent
+   * @private
+   * @static
+   * @type CustomEvent
+   */
+	startEvent: new YAHOO.util.CustomEvent('start'),
+
+  /**
+   * @description Custom event that fires when a transaction response has completed.
+   * @property completeEvent
+   * @private
+   * @static
+   * @type CustomEvent
+   */
+	completeEvent: new YAHOO.util.CustomEvent('complete'),
+
+  /**
+   * @description Custom event that fires when handleTransactionResponse() determines a
+   * response in the HTTP 2xx range.
+   * @property successEvent
+   * @private
+   * @static
+   * @type CustomEvent
+   */
+	successEvent: new YAHOO.util.CustomEvent('success'),
+
+  /**
+   * @description Custom event that fires when handleTransactionResponse() determines a
+   * response in the HTTP 4xx/5xx range.
+   * @property failureEvent
+   * @private
+   * @static
+   * @type CustomEvent
+   */
+	failureEvent: new YAHOO.util.CustomEvent('failure'),
+
+  /**
+   * @description Custom event that fires when a transaction is successfully aborted.
+   * @property abortEvent
+   * @private
+   * @static
+   * @type CustomEvent
+   */
+	abortEvent: new YAHOO.util.CustomEvent('abort'),
+
+  /**
+   * @description A reference table that maps callback custom events members to its specific
+   * event name.
+   * @property _customEvents
+   * @private
+   * @static
+   * @type object
+   */
+	_customEvents:
+	{
+		onStart:['startEvent', 'start'],
+		onComplete:['completeEvent', 'complete'],
+		onSuccess:['successEvent', 'success'],
+		onFailure:['failureEvent', 'failure'],
+		onUpload:['uploadEvent', 'upload'],
+		onAbort:['abortEvent', 'abort']
+	},
+
+  /**
+   * @description Member to add an ActiveX id to the existing xml_progid array.
+   * In the event(unlikely) a new ActiveX id is introduced, it can be added
+   * without internal code modifications.
+   * @method setProgId
+   * @public
+   * @static
+   * @param {string} id The ActiveX id to be added to initialize the XHR object.
+   * @return void
+   */
+	setProgId:function(id)
+	{
+		this._msxml_progid.unshift(id);
+	},
+
+  /**
+   * @description Member to override the default POST header.
+   * @method setDefaultPostHeader
+   * @public
+   * @static
+   * @param {boolean} b Set and use default header - true or false .
+   * @return void
+   */
+	setDefaultPostHeader:function(b)
+	{
+		if(typeof b == 'string'){
+			this._default_post_header = b;
+		}
+		else if(typeof b == 'boolean'){
+			this._use_default_post_header = b;
+		}
+	},
+
+  /**
+   * @description Member to override the default transaction header..
+   * @method setDefaultXhrHeader
+   * @public
+   * @static
+   * @param {boolean} b Set and use default header - true or false .
+   * @return void
+   */
+	setDefaultXhrHeader:function(b)
+	{
+		if(typeof b == 'string'){
+			this._default_xhr_header = b;
+		}
+		else{
+			this._use_default_xhr_header = b;
+		}
+	},
+
+  /**
+   * @description Member to modify the default polling interval.
+   * @method setPollingInterval
+   * @public
+   * @static
+   * @param {int} i The polling interval in milliseconds.
+   * @return void
+   */
+	setPollingInterval:function(i)
+	{
+		if(typeof i == 'number' && isFinite(i)){
+			this._polling_interval = i;
+		}
+	},
+
+  /**
+   * @description Instantiates a XMLHttpRequest object and returns an object with two properties:
+   * the XMLHttpRequest instance and the transaction id.
+   * @method createXhrObject
+   * @private
+   * @static
+   * @param {int} transactionId Property containing the transaction id for this transaction.
+   * @return object
+   */
+	createXhrObject:function(transactionId)
+	{
+		var obj,http,i;
+		try
+		{
+			// Instantiates XMLHttpRequest in non-IE browsers and assigns to http.
+			http = new XMLHttpRequest();
+			//  Object literal with http and tId properties
+			obj = { conn:http, tId:transactionId, xhr: true };
+		}
+		catch(e)
+		{
+			for(i=0; i<this._msxml_progid.length; ++i){
+				try
+				{
+					// Instantiates XMLHttpRequest for IE and assign to http
+					http = new ActiveXObject(this._msxml_progid[i]);
+					//  Object literal with conn and tId properties
+					obj = { conn:http, tId:transactionId, xhr: true };
+					break;
+				}
+				catch(e1){}
+			}
+		}
+		finally
+		{
+			return obj;
+		}
+	},
+
+  /**
+   * @description This method is called by asyncRequest to create a
+   * valid connection object for the transaction.  It also passes a
+   * transaction id and increments the transaction id counter.
+   * @method getConnectionObject
+   * @private
+   * @static
+   * @return {object}
+   */
+	getConnectionObject:function(t)
+	{
+		var o, tId = this._transaction_id;
+
+		try
+		{
+			if(!t){
+				o = this.createXhrObject(tId);
+			}
+			else{
+				o = {tId:tId};
+				if(t==='xdr'){
+					o.conn = this._transport;
+					o.xdr = true;
+				}
+				else if(t==='upload'){
+					o.upload = true;
+				}
+			}
+
+			if(o){
+				this._transaction_id++;
+			}
+		}
+		catch(e){}
+		return o;
+	},
+
+  /**
+   * @description Method for initiating an asynchronous request via the XHR object.
+   * @method asyncRequest
+   * @public
+   * @static
+   * @param {string} method HTTP transaction method
+   * @param {string} uri Fully qualified path of resource
+   * @param {callback} callback User-defined callback function or object
+   * @param {string} postData POST body
+   * @return {object} Returns the connection object
+   */
+	asyncRequest:function(method, uri, callback, postData)
+	{
+		var o,t,args = (callback && callback.argument)?callback.argument:null;
+
+		if(this._isFileUpload){
+			t = 'upload';
+		}
+		else if(callback.xdr){
+			t = 'xdr';
+		}
+
+		o = this.getConnectionObject(t);
+		if(!o){
+			return null;
+		}
+		else{
+
+			// Intialize any transaction-specific custom events, if provided.
+			if(callback && callback.customevents){
+				this.initCustomEvents(o, callback);
+			}
+
+			if(this._isFormSubmit){
+				if(this._isFileUpload){
+					this.uploadFile(o, callback, uri, postData);
+					return o;
+				}
+
+				// If the specified HTTP method is GET, setForm() will return an
+				// encoded string that is concatenated to the uri to
+				// create a querystring.
+				if(method.toUpperCase() == 'GET'){
+					if(this._sFormData.length !== 0){
+						// If the URI already contains a querystring, append an ampersand
+						// and then concatenate _sFormData to the URI.
+						uri += ((uri.indexOf('?') == -1)?'?':'&') + this._sFormData;
+					}
+				}
+				else if(method.toUpperCase() == 'POST'){
+					// If POST data exist in addition to the HTML form data,
+					// it will be concatenated to the form data.
+					postData = postData?this._sFormData + "&" + postData:this._sFormData;
+				}
+			}
+
+			if(method.toUpperCase() == 'GET' && (callback && callback.cache === false)){
+				// If callback.cache is defined and set to false, a
+				// timestamp value will be added to the querystring.
+				uri += ((uri.indexOf('?') == -1)?'?':'&') + "rnd=" + new Date().valueOf().toString();
+			}
+
+			// Each transaction will automatically include a custom header of
+			// "X-Requested-With: XMLHttpRequest" to identify the request as
+			// having originated from Connection Manager.
+			if(this._use_default_xhr_header){
+				if(!this._default_headers['X-Requested-With']){
+					this.initHeader('X-Requested-With', this._default_xhr_header, true);
+				}
+			}
+
+			//If the transaction method is POST and the POST header value is set to true
+			//or a custom value, initalize the Content-Type header to this value.
+			if((method.toUpperCase() === 'POST' && this._use_default_post_header) && this._isFormSubmit === false){
+				this.initHeader('Content-Type', this._default_post_header);
+			}
+
+			if(o.xdr){
+				this.xdr(o, method, uri, callback, postData);
+				return o;
+			}
+
+			o.conn.open(method, uri, true);
+			//Initialize all default and custom HTTP headers,
+			if(this._has_default_headers || this._has_http_headers){
+				this.setHeader(o);
+			}
+
+			this.handleReadyState(o, callback);
+			o.conn.send(postData || '');
+
+			// Reset the HTML form data and state properties as
+			// soon as the data are submitted.
+			if(this._isFormSubmit === true){
+				this.resetFormState();
+			}
+
+			// Fire global custom event -- startEvent
+			this.startEvent.fire(o, args);
+
+			if(o.startEvent){
+				// Fire transaction custom event -- startEvent
+				o.startEvent.fire(o, args);
+			}
+
+			return o;
+		}
+	},
+
+  /**
+   * @description This method creates and subscribes custom events,
+   * specific to each transaction
+   * @method initCustomEvents
+   * @private
+   * @static
+   * @param {object} o The connection object
+   * @param {callback} callback The user-defined callback object
+   * @return {void}
+   */
+	initCustomEvents:function(o, callback)
+	{
+		var prop;
+		// Enumerate through callback.customevents members and bind/subscribe
+		// events that match in the _customEvents table.
+		for(prop in callback.customevents){
+			if(this._customEvents[prop][0]){
+				// Create the custom event
+				o[this._customEvents[prop][0]] = new YAHOO.util.CustomEvent(this._customEvents[prop][1], (callback.scope)?callback.scope:null);
+
+				// Subscribe the custom event
+				o[this._customEvents[prop][0]].subscribe(callback.customevents[prop]);
+			}
+		}
+	},
+
+  /**
+   * @description This method serves as a timer that polls the XHR object's readyState
+   * property during a transaction, instead of binding a callback to the
+   * onreadystatechange event.  Upon readyState 4, handleTransactionResponse
+   * will process the response, and the timer will be cleared.
+   * @method handleReadyState
+   * @private
+   * @static
+   * @param {object} o The connection object
+   * @param {callback} callback The user-defined callback object
+   * @return {void}
+   */
+
+    handleReadyState:function(o, callback)
+
+    {
+		var oConn = this,
+			args = (callback && callback.argument)?callback.argument:null;
+
+		if(callback && callback.timeout){
+			this._timeOut[o.tId] = window.setTimeout(function(){ oConn.abort(o, callback, true); }, callback.timeout);
+		}
+
+		this._poll[o.tId] = window.setInterval(
+			function(){
+				if(o.conn && o.conn.readyState === 4){
+
+					// Clear the polling interval for the transaction
+					// and remove the reference from _poll.
+					window.clearInterval(oConn._poll[o.tId]);
+					delete oConn._poll[o.tId];
+
+					if(callback && callback.timeout){
+						window.clearTimeout(oConn._timeOut[o.tId]);
+						delete oConn._timeOut[o.tId];
+					}
+
+					// Fire global custom event -- completeEvent
+					oConn.completeEvent.fire(o, args);
+
+					if(o.completeEvent){
+						// Fire transaction custom event -- completeEvent
+						o.completeEvent.fire(o, args);
+					}
+
+					oConn.handleTransactionResponse(o, callback);
+				}
+			}
+		,this._polling_interval);
+    },
+
+  /**
+   * @description This method attempts to interpret the server response and
+   * determine whether the transaction was successful, or if an error or
+   * exception was encountered.
+   * @method handleTransactionResponse
+   * @private
+   * @static
+   * @param {object} o The connection object
+   * @param {object} callback The user-defined callback object
+   * @param {boolean} isAbort Determines if the transaction was terminated via abort().
+   * @return {void}
+   */
+    handleTransactionResponse:function(o, callback, isAbort)
+    {
+		var httpStatus, responseObject,
+			args = (callback && callback.argument)?callback.argument:null,
+			xdrS = (o.r && o.r.statusText === 'xdr:success')?true:false,
+			xdrF = (o.r && o.r.statusText === 'xdr:failure')?true:false,
+			xdrA = isAbort;
+
+		try
+		{
+			if((o.conn.status !== undefined && o.conn.status !== 0) || xdrS){
+				// XDR requests will not have HTTP status defined. The
+				// statusText property will define the response status
+				// set by the Flash transport.
+				httpStatus = o.conn.status;
+			}
+			else if(xdrF && !xdrA){
+				// Set XDR transaction failure to a status of 0, which
+				// resolves as an HTTP failure, instead of an exception.
+				httpStatus = 0;
+			}
+			else{
+				httpStatus = 13030;
+			}
+		}
+		catch(e){
+
+			 // 13030 is a custom code to indicate the condition -- in Mozilla/FF --
+			 // when the XHR object's status and statusText properties are
+			 // unavailable, and a query attempt throws an exception.
+			httpStatus = 13030;
+		}
+
+		if((httpStatus >= 200 && httpStatus < 300) || httpStatus === 1223 || xdrS){
+			responseObject = o.xdr ? o.r : this.createResponseObject(o, args);
+			if(callback && callback.success){
+				if(!callback.scope){
+					callback.success(responseObject);
+				}
+				else{
+					// If a scope property is defined, the callback will be fired from
+					// the context of the object.
+					callback.success.apply(callback.scope, [responseObject]);
+				}
+			}
+
+			// Fire global custom event -- successEvent
+			this.successEvent.fire(responseObject);
+
+			if(o.successEvent){
+				// Fire transaction custom event -- successEvent
+				o.successEvent.fire(responseObject);
+			}
+		}
+		else{
+			switch(httpStatus){
+				// The following cases are wininet.dll error codes that may be encountered.
+				case 12002: // Server timeout
+				case 12029: // 12029 to 12031 correspond to dropped connections.
+				case 12030:
+				case 12031:
+				case 12152: // Connection closed by server.
+				case 13030: // See above comments for variable status.
+					// XDR transactions will not resolve to this case, since the
+					// response object is already built in the xdr response.
+					responseObject = this.createExceptionObject(o.tId, args, (isAbort?isAbort:false));
+					if(callback && callback.failure){
+						if(!callback.scope){
+							callback.failure(responseObject);
+						}
+						else{
+							callback.failure.apply(callback.scope, [responseObject]);
+						}
+					}
+
+					break;
+				default:
+					responseObject = (o.xdr) ? o.response : this.createResponseObject(o, args);
+					if(callback && callback.failure){
+						if(!callback.scope){
+							callback.failure(responseObject);
+						}
+						else{
+							callback.failure.apply(callback.scope, [responseObject]);
+						}
+					}
+			}
+
+			// Fire global custom event -- failureEvent
+			this.failureEvent.fire(responseObject);
+
+			if(o.failureEvent){
+				// Fire transaction custom event -- failureEvent
+				o.failureEvent.fire(responseObject);
+			}
+
+		}
+
+		this.releaseObject(o);
+		responseObject = null;
+    },
+
+  /**
+   * @description This method evaluates the server response, creates and returns the results via
+   * its properties.  Success and failure cases will differ in the response
+   * object's property values.
+   * @method createResponseObject
+   * @private
+   * @static
+   * @param {object} o The connection object
+   * @param {callbackArg} callbackArg The user-defined argument or arguments to be passed to the callback
+   * @return {object}
+   */
+    createResponseObject:function(o, callbackArg)
+    {
+		var obj = {}, headerObj = {},
+			i, headerStr, header, delimitPos;
+
+		try
+		{
+			headerStr = o.conn.getAllResponseHeaders();
+			header = headerStr.split('\n');
+			for(i=0; i<header.length; i++){
+				delimitPos = header[i].indexOf(':');
+				if(delimitPos != -1){
+					headerObj[header[i].substring(0,delimitPos)] = YAHOO.lang.trim(header[i].substring(delimitPos+2));
+				}
+			}
+		}
+		catch(e){}
+
+		obj.tId = o.tId;
+		// Normalize IE's response to HTTP 204 when Win error 1223.
+		obj.status = (o.conn.status == 1223)?204:o.conn.status;
+		// Normalize IE's statusText to "No Content" instead of "Unknown".
+		obj.statusText = (o.conn.status == 1223)?"No Content":o.conn.statusText;
+		obj.getResponseHeader = headerObj;
+		obj.getAllResponseHeaders = headerStr;
+		obj.responseText = o.conn.responseText;
+		obj.responseXML = o.conn.responseXML;
+
+		if(callbackArg){
+			obj.argument = callbackArg;
+		}
+
+		return obj;
+    },
+
+  /**
+   * @description If a transaction cannot be completed due to dropped or closed connections,
+   * there may be not be enough information to build a full response object.
+   * The failure callback will be fired and this specific condition can be identified
+   * by a status property value of 0.
+   *
+   * If an abort was successful, the status property will report a value of -1.
+   *
+   * @method createExceptionObject
+   * @private
+   * @static
+   * @param {int} tId The Transaction Id
+   * @param {callbackArg} callbackArg The user-defined argument or arguments to be passed to the callback
+   * @param {boolean} isAbort Determines if the exception case is caused by a transaction abort
+   * @return {object}
+   */
+    createExceptionObject:function(tId, callbackArg, isAbort)
+    {
+		var COMM_CODE = 0,
+			COMM_ERROR = 'communication failure',
+			ABORT_CODE = -1,
+			ABORT_ERROR = 'transaction aborted',
+			obj = {};
+
+		obj.tId = tId;
+		if(isAbort){
+			obj.status = ABORT_CODE;
+			obj.statusText = ABORT_ERROR;
+		}
+		else{
+			obj.status = COMM_CODE;
+			obj.statusText = COMM_ERROR;
+		}
+
+		if(callbackArg){
+			obj.argument = callbackArg;
+		}
+
+		return obj;
+    },
+
+  /**
+   * @description Method that initializes the custom HTTP headers for the each transaction.
+   * @method initHeader
+   * @public
+   * @static
+   * @param {string} label The HTTP header label
+   * @param {string} value The HTTP header value
+   * @param {string} isDefault Determines if the specific header is a default header
+   * automatically sent with each transaction.
+   * @return {void}
+   */
+	initHeader:function(label, value, isDefault)
+	{
+		var headerObj = (isDefault)?this._default_headers:this._http_headers;
+
+		headerObj[label] = value;
+		if(isDefault){
+			this._has_default_headers = true;
+		}
+		else{
+			this._has_http_headers = true;
+		}
+	},
+
+
+  /**
+   * @description Accessor that sets the HTTP headers for each transaction.
+   * @method setHeader
+   * @private
+   * @static
+   * @param {object} o The connection object for the transaction.
+   * @return {void}
+   */
+	setHeader:function(o)
+	{
+		var prop;
+		if(this._has_default_headers){
+			for(prop in this._default_headers){
+				if(YAHOO.lang.hasOwnProperty(this._default_headers, prop)){
+					o.conn.setRequestHeader(prop, this._default_headers[prop]);
+				}
+			}
+		}
+
+		if(this._has_http_headers){
+			for(prop in this._http_headers){
+				if(YAHOO.lang.hasOwnProperty(this._http_headers, prop)){
+					o.conn.setRequestHeader(prop, this._http_headers[prop]);
+				}
+			}
+
+			this._http_headers = {};
+			this._has_http_headers = false;
+		}
+	},
+
+  /**
+   * @description Resets the default HTTP headers object
+   * @method resetDefaultHeaders
+   * @public
+   * @static
+   * @return {void}
+   */
+	resetDefaultHeaders:function(){
+		this._default_headers = {};
+		this._has_default_headers = false;
+	},
+
+  /**
+   * @description Method to terminate a transaction, if it has not reached readyState 4.
+   * @method abort
+   * @public
+   * @static
+   * @param {object} o The connection object returned by asyncRequest.
+   * @param {object} callback  User-defined callback object.
+   * @param {string} isTimeout boolean to indicate if abort resulted from a callback timeout.
+   * @return {boolean}
+   */
+	abort:function(o, callback, isTimeout)
+	{
+		var abortStatus,
+			args = (callback && callback.argument)?callback.argument:null;
+			o = o || {};
+
+		if(o.conn){
+			if(o.xhr){
+				if(this.isCallInProgress(o)){
+					// Issue abort request
+					o.conn.abort();
+
+					window.clearInterval(this._poll[o.tId]);
+					delete this._poll[o.tId];
+
+					if(isTimeout){
+						window.clearTimeout(this._timeOut[o.tId]);
+						delete this._timeOut[o.tId];
+					}
+
+					abortStatus = true;
+				}
+			}
+			else if(o.xdr){
+				o.conn.abort(o.tId);
+				abortStatus = true;
+			}
+		}
+		else if(o.upload){
+			var frameId = 'yuiIO' + o.tId;
+			var io = document.getElementById(frameId);
+
+			if(io){
+				// Remove all listeners on the iframe prior to
+				// its destruction.
+				YAHOO.util.Event.removeListener(io, "load");
+				// Destroy the iframe facilitating the transaction.
+				document.body.removeChild(io);
+
+				if(isTimeout){
+					window.clearTimeout(this._timeOut[o.tId]);
+					delete this._timeOut[o.tId];
+				}
+
+				abortStatus = true;
+			}
+		}
+		else{
+			abortStatus = false;
+		}
+
+		if(abortStatus === true){
+			// Fire global custom event -- abortEvent
+			this.abortEvent.fire(o, args);
+
+			if(o.abortEvent){
+				// Fire transaction custom event -- abortEvent
+				o.abortEvent.fire(o, args);
+			}
+
+			this.handleTransactionResponse(o, callback, true);
+		}
+
+		return abortStatus;
+	},
+
+  /**
+   * @description Determines if the transaction is still being processed.
+   * @method isCallInProgress
+   * @public
+   * @static
+   * @param {object} o The connection object returned by asyncRequest
+   * @return {boolean}
+   */
+	isCallInProgress:function(o)
+	{
+		o = o || {};
+		// if the XHR object assigned to the transaction has not been dereferenced,
+		// then check its readyState status.  Otherwise, return false.
+		if(o.xhr && o.conn){
+			return o.conn.readyState !== 4 && o.conn.readyState !== 0;
+		}
+		else if(o.xdr && o.conn){
+			return o.conn.isCallInProgress(o.tId);
+		}
+		else if(o.upload === true){
+			return document.getElementById('yuiIO' + o.tId)?true:false;
+		}
+		else{
+			return false;
+		}
+	},
+
+  /**
+   * @description Dereference the XHR instance and the connection object after the transaction is completed.
+   * @method releaseObject
+   * @private
+   * @static
+   * @param {object} o The connection object
+   * @return {void}
+   */
+	releaseObject:function(o)
+	{
+		if(o && o.conn){
+			//dereference the XHR instance.
+			o.conn = null;
+
+
+			//dereference the connection object.
+			o = null;
+		}
+	}
+};
+
+/**
+  * @for Connect
+  */
+(function() {
+	var YCM = YAHOO.util.Connect, _fn = {};
+
+   /**
+    * @description This method creates and instantiates the Flash transport.
+    * @method _swf
+    * @private
+    * @static
+    * @param {string} URI to connection.swf.
+    * @return {void}
+    */
+	function _swf(uri) {
+		var o = '<object id="YUIConnectionSwf" type="application/x-shockwave-flash" data="' +
+		        uri + '" width="0" height="0">' +
+		     	'<param name="movie" value="' + uri + '">' +
+                '<param name="allowScriptAccess" value="always">' +
+		    	'</object>',
+		    c = document.createElement('div');
+
+		document.body.appendChild(c);
+		c.innerHTML = o;
+	}
+
+   /**
+    * @description This method calls the public method on the
+    * Flash transport to start the XDR transaction.  It is analogous
+    * to Connection Manager's asyncRequest method.
+    * @method xdr
+    * @private
+    * @static
+    * @param {object} The transaction object.
+    * @param {string} HTTP request method.
+    * @param {string} URI for the transaction.
+    * @param {object} The transaction's callback object.
+    * @param {object} The JSON object used as HTTP POST data.
+    * @return {void}
+    */
+	function _xdr(o, m, u, c, d) {
+		_fn[parseInt(o.tId)] = { 'o':o, 'c':c };
+		if (d) {
+			c.method = m;
+			c.data = d;
+		}
+
+		o.conn.send(u, c, o.tId);
+	}
+
+   /**
+    * @description This method instantiates the Flash transport and
+    * establishes a static reference to it, used for all XDR requests.
+    * @method transport
+    * @public
+    * @static
+    * @param {string} URI to connection.swf.
+    * @return {void}
+    */
+	function _init(uri) {
+		_swf(uri);
+		YCM._transport = document.getElementById('YUIConnectionSwf');
+	}
+
+	function _xdrReady() {
+		YCM.xdrReadyEvent.fire();
+	}
+
+   /**
+    * @description This method fires the global and transaction start
+    * events.
+    * @method _xdrStart
+    * @private
+    * @static
+    * @param {object} The transaction object.
+    * @param {string} The transaction's callback object.
+    * @return {void}
+    */
+	function _xdrStart(o, cb) {
+		if (o) {
+			// Fire global custom event -- startEvent
+			YCM.startEvent.fire(o, cb.argument);
+
+			if(o.startEvent){
+				// Fire transaction custom event -- startEvent
+				o.startEvent.fire(o, cb.argument);
+			}
+		}
+	}
+
+   /**
+    * @description This method is the initial response handler
+    * for XDR transactions.  The Flash transport calls this
+    * function and sends the response payload.
+    * @method handleXdrResponse
+    * @private
+    * @static
+    * @param {object} The response object sent from the Flash transport.
+    * @return {void}
+    */
+	function _handleXdrResponse(r) {
+		var o = _fn[r.tId].o,
+			cb = _fn[r.tId].c;
+
+		if (r.statusText === 'xdr:start') {
+			_xdrStart(o, cb);
+			return;
+		}
+
+		r.responseText = decodeURI(r.responseText);
+		o.r = r;
+		if (cb.argument) {
+			o.r.argument = cb.argument;
+		}
+
+		this.handleTransactionResponse(o, cb, r.statusText === 'xdr:abort' ? true : false);
+		delete _fn[r.tId];
+	}
+
+	// Bind the functions to Connection Manager as static fields.
+	YCM.xdr = _xdr;
+	YCM.swf = _swf;
+	YCM.transport = _init;
+	YCM.xdrReadyEvent = new YAHOO.util.CustomEvent('xdrReady');
+	YCM.xdrReady = _xdrReady;
+	YCM.handleXdrResponse = _handleXdrResponse;
+})();
+
+/**
+  * @for Connect
+  */
+(function(){
+	var YCM = YAHOO.util.Connect,
+		YE = YAHOO.util.Event;
+   /**
+	* @description Property modified by setForm() to determine if the data
+	* should be submitted as an HTML form.
+	* @property _isFormSubmit
+	* @private
+	* @static
+	* @type boolean
+	*/
+	YCM._isFormSubmit = false;
+
+   /**
+	* @description Property modified by setForm() to determine if a file(s)
+	* upload is expected.
+	* @property _isFileUpload
+	* @private
+	* @static
+	* @type boolean
+	*/
+	YCM._isFileUpload = false;
+
+   /**
+	* @description Property modified by setForm() to set a reference to the HTML
+	* form node if the desired action is file upload.
+	* @property _formNode
+	* @private
+	* @static
+	* @type object
+	*/
+	YCM._formNode = null;
+
+   /**
+	* @description Property modified by setForm() to set the HTML form data
+	* for each transaction.
+	* @property _sFormData
+	* @private
+	* @static
+	* @type string
+	*/
+	YCM._sFormData = null;
+
+   /**
+	* @description Tracks the name-value pair of the "clicked" submit button if multiple submit
+	* buttons are present in an HTML form; and, if YAHOO.util.Event is available.
+	* @property _submitElementValue
+	* @private
+	* @static
+	* @type string
+	*/
+	YCM._submitElementValue = null;
+
+   /**
+    * @description Custom event that fires when handleTransactionResponse() determines a
+    * response in the HTTP 4xx/5xx range.
+    * @property failureEvent
+    * @private
+    * @static
+    * @type CustomEvent
+    */
+	YCM.uploadEvent = new YAHOO.util.CustomEvent('upload'),
+
+   /**
+	* @description Determines whether YAHOO.util.Event is available and returns true or false.
+	* If true, an event listener is bound at the document level to trap click events that
+	* resolve to a target type of "Submit".  This listener will enable setForm() to determine
+	* the clicked "Submit" value in a multi-Submit button, HTML form.
+	* @property _hasSubmitListener
+	* @private
+	* @static
+	*/
+	YCM._hasSubmitListener = function() {
+		if(YE){
+			YE.addListener(
+				document,
+				'click',
+				function(e){
+					var obj = YE.getTarget(e),
+						name = obj.nodeName.toLowerCase();
+
+					if((name === 'input' || name === 'button') && (obj.type && obj.type.toLowerCase() == 'submit')){
+						YCM._submitElementValue = encodeURIComponent(obj.name) + "=" + encodeURIComponent(obj.value);
+					}
+				});
+			return true;
+		}
+		return false;
+	}();
+
+  /**
+   * @description This method assembles the form label and value pairs and
+   * constructs an encoded string.
+   * asyncRequest() will automatically initialize the transaction with a
+   * a HTTP header Content-Type of application/x-www-form-urlencoded.
+   * @method setForm
+   * @public
+   * @static
+   * @param {string || object} form id or name attribute, or form object.
+   * @param {boolean} optional enable file upload.
+   * @param {boolean} optional enable file upload over SSL in IE only.
+   * @return {string} string of the HTML form field name and value pairs..
+   */
+	function _setForm(formId, isUpload, secureUri)
+	{
+		var oForm, oElement, oName, oValue, oDisabled,
+			hasSubmit = false,
+			data = [], item = 0,
+			i,len,j,jlen,opt;
+
+		this.resetFormState();
+
+		if(typeof formId == 'string'){
+			// Determine if the argument is a form id or a form name.
+			// Note form name usage is deprecated by supported
+			// here for legacy reasons.
+			oForm = (document.getElementById(formId) || document.forms[formId]);
+		}
+		else if(typeof formId == 'object'){
+			// Treat argument as an HTML form object.
+			oForm = formId;
+		}
+		else{
+			return;
+		}
+
+		// If the isUpload argument is true, setForm will call createFrame to initialize
+		// an iframe as the form target.
+		//
+		// The argument secureURI is also required by IE in SSL environments
+		// where the secureURI string is a fully qualified HTTP path, used to set the source
+		// of the iframe, to a stub resource in the same domain.
+		if(isUpload){
+
+			// Create iframe in preparation for file upload.
+			this.createFrame(secureUri?secureUri:null);
+
+			// Set form reference and file upload properties to true.
+			this._isFormSubmit = true;
+			this._isFileUpload = true;
+			this._formNode = oForm;
+
+			return;
+		}
+
+		// Iterate over the form elements collection to construct the
+		// label-value pairs.
+		for (i=0,len=oForm.elements.length; i<len; ++i){
+			oElement  = oForm.elements[i];
+			oDisabled = oElement.disabled;
+			oName     = oElement.name;
+
+			// Do not submit fields that are disabled or
+			// do not have a name attribute value.
+			if(!oDisabled && oName)
+			{
+				oName  = encodeURIComponent(oName)+'=';
+				oValue = encodeURIComponent(oElement.value);
+
+				switch(oElement.type)
+				{
+					// Safari, Opera, FF all default opt.value from .text if
+					// value attribute not specified in markup
+					case 'select-one':
+						if (oElement.selectedIndex > -1) {
+							opt = oElement.options[oElement.selectedIndex];
+							data[item++] = oName + encodeURIComponent(
+								(opt.attributes.value && opt.attributes.value.specified) ? opt.value : opt.text);
+						}
+						break;
+					case 'select-multiple':
+						if (oElement.selectedIndex > -1) {
+							for(j=oElement.selectedIndex, jlen=oElement.options.length; j<jlen; ++j){
+								opt = oElement.options[j];
+								if (opt.selected) {
+									data[item++] = oName + encodeURIComponent(
+										(opt.attributes.value && opt.attributes.value.specified) ? opt.value : opt.text);
+								}
+							}
+						}
+						break;
+					case 'radio':
+					case 'checkbox':
+						if(oElement.checked){
+							data[item++] = oName + oValue;
+						}
+						break;
+					case 'file':
+						// stub case as XMLHttpRequest will only send the file path as a string.
+					case undefined:
+						// stub case for fieldset element which returns undefined.
+					case 'reset':
+						// stub case for input type reset button.
+					case 'button':
+						// stub case for input type button elements.
+						break;
+					case 'submit':
+						if(hasSubmit === false){
+							if(this._hasSubmitListener && this._submitElementValue){
+								data[item++] = this._submitElementValue;
+							}
+							hasSubmit = true;
+						}
+						break;
+					default:
+						data[item++] = oName + oValue;
+				}
+			}
+		}
+
+		this._isFormSubmit = true;
+		this._sFormData = data.join('&');
+
+
+		this.initHeader('Content-Type', this._default_form_header);
+
+		return this._sFormData;
+	}
+
+   /**
+    * @description Resets HTML form properties when an HTML form or HTML form
+    * with file upload transaction is sent.
+    * @method resetFormState
+    * @private
+    * @static
+    * @return {void}
+    */
+	function _resetFormState(){
+		this._isFormSubmit = false;
+		this._isFileUpload = false;
+		this._formNode = null;
+		this._sFormData = "";
+	}
+
+
+   /**
+    * @description Creates an iframe to be used for form file uploads.  It is remove from the
+    * document upon completion of the upload transaction.
+    * @method createFrame
+    * @private
+    * @static
+    * @param {string} optional qualified path of iframe resource for SSL in IE.
+    * @return {void}
+    */
+	function _createFrame(secureUri){
+
+		// IE does not allow the setting of id and name attributes as object
+		// properties via createElement().  A different iframe creation
+		// pattern is required for IE.
+		var frameId = 'yuiIO' + this._transaction_id,
+			io;
+		if(YAHOO.env.ua.ie){
+			io = document.createElement('<iframe id="' + frameId + '" name="' + frameId + '" />');
+
+			// IE will throw a security exception in an SSL environment if the
+			// iframe source is undefined.
+			if(typeof secureUri == 'boolean'){
+				io.src = 'javascript:false';
+			}
+		}
+		else{
+			io = document.createElement('iframe');
+			io.id = frameId;
+			io.name = frameId;
+		}
+
+		io.style.position = 'absolute';
+		io.style.top = '-1000px';
+		io.style.left = '-1000px';
+
+		document.body.appendChild(io);
+	}
+
+   /**
+    * @description Parses the POST data and creates hidden form elements
+    * for each key-value, and appends them to the HTML form object.
+    * @method appendPostData
+    * @private
+    * @static
+    * @param {string} postData The HTTP POST data
+    * @return {array} formElements Collection of hidden fields.
+    */
+	function _appendPostData(postData){
+		var formElements = [],
+			postMessage = postData.split('&'),
+			i, delimitPos;
+
+		for(i=0; i < postMessage.length; i++){
+			delimitPos = postMessage[i].indexOf('=');
+			if(delimitPos != -1){
+				formElements[i] = document.createElement('input');
+				formElements[i].type = 'hidden';
+				formElements[i].name = decodeURIComponent(postMessage[i].substring(0,delimitPos));
+				formElements[i].value = decodeURIComponent(postMessage[i].substring(delimitPos+1));
+				this._formNode.appendChild(formElements[i]);
+			}
+		}
+
+		return formElements;
+	}
+
+   /**
+    * @description Uploads HTML form, inclusive of files/attachments, using the
+    * iframe created in createFrame to facilitate the transaction.
+    * @method uploadFile
+    * @private
+    * @static
+    * @param {int} id The transaction id.
+    * @param {object} callback User-defined callback object.
+    * @param {string} uri Fully qualified path of resource.
+    * @param {string} postData POST data to be submitted in addition to HTML form.
+    * @return {void}
+    */
+	function _uploadFile(o, callback, uri, postData){
+		// Each iframe has an id prefix of "yuiIO" followed
+		// by the unique transaction id.
+		var frameId = 'yuiIO' + o.tId,
+		    uploadEncoding = 'multipart/form-data',
+		    io = document.getElementById(frameId),
+		    ie8 = (document.documentMode && document.documentMode === 8) ? true : false,
+		    oConn = this,
+			args = (callback && callback.argument)?callback.argument:null,
+            oElements,i,prop,obj, rawFormAttributes, uploadCallback;
+
+		// Track original HTML form attribute values.
+		rawFormAttributes = {
+			action:this._formNode.getAttribute('action'),
+			method:this._formNode.getAttribute('method'),
+			target:this._formNode.getAttribute('target')
+		};
+
+		// Initialize the HTML form properties in case they are
+		// not defined in the HTML form.
+		this._formNode.setAttribute('action', uri);
+		this._formNode.setAttribute('method', 'POST');
+		this._formNode.setAttribute('target', frameId);
+
+		if(YAHOO.env.ua.ie && !ie8){
+			// IE does not respect property enctype for HTML forms.
+			// Instead it uses the property - "encoding".
+			this._formNode.setAttribute('encoding', uploadEncoding);
+		}
+		else{
+			this._formNode.setAttribute('enctype', uploadEncoding);
+		}
+
+		if(postData){
+			oElements = this.appendPostData(postData);
+		}
+
+		// Start file upload.
+		this._formNode.submit();
+
+		// Fire global custom event -- startEvent
+		this.startEvent.fire(o, args);
+
+		if(o.startEvent){
+			// Fire transaction custom event -- startEvent
+			o.startEvent.fire(o, args);
+		}
+
+		// Start polling if a callback is present and the timeout
+		// property has been defined.
+		if(callback && callback.timeout){
+			this._timeOut[o.tId] = window.setTimeout(function(){ oConn.abort(o, callback, true); }, callback.timeout);
+		}
+
+		// Remove HTML elements created by appendPostData
+		if(oElements && oElements.length > 0){
+			for(i=0; i < oElements.length; i++){
+				this._formNode.removeChild(oElements[i]);
+			}
+		}
+
+		// Restore HTML form attributes to their original
+		// values prior to file upload.
+		for(prop in rawFormAttributes){
+			if(YAHOO.lang.hasOwnProperty(rawFormAttributes, prop)){
+				if(rawFormAttributes[prop]){
+					this._formNode.setAttribute(prop, rawFormAttributes[prop]);
+				}
+				else{
+					this._formNode.removeAttribute(prop);
+				}
+			}
+		}
+
+		// Reset HTML form state properties.
+		this.resetFormState();
+
+		// Create the upload callback handler that fires when the iframe
+		// receives the load event.  Subsequently, the event handler is detached
+		// and the iframe removed from the document.
+		uploadCallback = function() {
+			if(callback && callback.timeout){
+				window.clearTimeout(oConn._timeOut[o.tId]);
+				delete oConn._timeOut[o.tId];
+			}
+
+			// Fire global custom event -- completeEvent
+			oConn.completeEvent.fire(o, args);
+
+			if(o.completeEvent){
+				// Fire transaction custom event -- completeEvent
+				o.completeEvent.fire(o, args);
+			}
+
+			obj = {
+			    tId : o.tId,
+			    argument : callback.argument
+            };
+
+			try
+			{
+				// responseText and responseXML will be populated with the same data from the iframe.
+				// Since the HTTP headers cannot be read from the iframe
+				obj.responseText = io.contentWindow.document.body?io.contentWindow.document.body.innerHTML:io.contentWindow.document.documentElement.textContent;
+				obj.responseXML = io.contentWindow.document.XMLDocument?io.contentWindow.document.XMLDocument:io.contentWindow.document;
+			}
+			catch(e){}
+
+			if(callback && callback.upload){
+				if(!callback.scope){
+					callback.upload(obj);
+				}
+				else{
+					callback.upload.apply(callback.scope, [obj]);
+				}
+			}
+
+			// Fire global custom event -- uploadEvent
+			oConn.uploadEvent.fire(obj);
+
+			if(o.uploadEvent){
+				// Fire transaction custom event -- uploadEvent
+				o.uploadEvent.fire(obj);
+			}
+
+			YE.removeListener(io, "load", uploadCallback);
+
+			setTimeout(
+				function(){
+					document.body.removeChild(io);
+					oConn.releaseObject(o);
+				}, 100);
+		};
+
+		// Bind the onload handler to the iframe to detect the file upload response.
+		YE.addListener(io, "load", uploadCallback);
+	}
+
+	YCM.setForm = _setForm;
+	YCM.resetFormState = _resetFormState;
+	YCM.createFrame = _createFrame;
+	YCM.appendPostData = _appendPostData;
+	YCM.uploadFile = _uploadFile;
+})();
+
+YAHOO.register("connection", YAHOO.util.Connect, {version: "2.8.0r4", build: "2449"});

Property changes on: tags/2.8.2/wb/include/yui/connection/connection.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/yui/connection/connection-min.js
===================================================================
--- tags/2.8.2/wb/include/yui/connection/connection-min.js	(nonexistent)
+++ tags/2.8.2/wb/include/yui/connection/connection-min.js	(revision 1481)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2009, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.8.0r4
+*/
+YAHOO.util.Connect={_msxml_progid:["Microsoft.XMLHTTP","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP"],_http_headers:{},_has_http_headers:false,_use_default_post_header:true,_default_post_header:"application/x-www-form-urlencoded; charset=UTF-8",_default_form_header:"application/x-www-form-urlencoded",_use_default_xhr_header:true,_default_xhr_header:"XMLHttpRequest",_has_default_headers:true,_default_headers:{},_poll:{},_timeOut:{},_polling_interval:50,_transaction_id:0,startEvent:new YAHOO.util.CustomEvent("start"),completeEvent:new YAHOO.util.CustomEvent("complete"),successEvent:new YAHOO.util.CustomEvent("success"),failureEvent:new YAHOO.util.CustomEvent("failure"),abortEvent:new YAHOO.util.CustomEvent("abort"),_customEvents:{onStart:["startEvent","start"],onComplete:["completeEvent","complete"],onSuccess:["successEvent","success"],onFailure:["failureEvent","failure"],onUpload:["uploadEvent","upload"],onAbort:["abortEvent","abort"]},setProgId:function(A){this._msxml_progid.unshift(A);},setDefaultPostHeader:function(A){if(typeof A=="string"){this._default_post_header=A;}else{if(typeof A=="boolean"){this._use_default_post_header=A;}}},setDefaultXhrHeader:function(A){if(typeof A=="string"){this._default_xhr_header=A;}else{this._use_default_xhr_header=A;}},setPollingInterval:function(A){if(typeof A=="number"&&isFinite(A)){this._polling_interval=A;}},createXhrObject:function(F){var D,A,B;try{A=new XMLHttpRequest();D={conn:A,tId:F,xhr:true};}catch(C){for(B=0;B<this._msxml_progid.length;++B){try{A=new ActiveXObject(this._msxml_progid[B]);D={conn:A,tId:F,xhr:true};break;}catch(E){}}}finally{return D;}},getConnectionObject:function(A){var C,D=this._transaction_id;try{if(!A){C=this.createXhrObject(D);}else{C={tId:D};if(A==="xdr"){C.conn=this._transport;C.xdr=true;}else{if(A==="upload"){C.upload=true;}}}if(C){this._transaction_id++;}}catch(B){}return C;},asyncRequest:function(G,D,F,A){var E,C,B=(F&&F.argument)?F.argument:null;if(this._isFileUpload){C="upload";}else{if(F.xdr){C="xdr";}}E=this.getConnectionObject(C);if(!E){return null;}else{if(F&&F.customevents){this.initCustomEvents(E,F);}if(this._isFormSubmit){if(this._isFileUpload){this.uploadFile(E,F,D,A);return E;}if(G.toUpperCase()=="GET"){if(this._sFormData.length!==0){D+=((D.indexOf("?")==-1)?"?":"&")+this._sFormData;}}else{if(G.toUpperCase()=="POST"){A=A?this._sFormData+"&"+A:this._sFormData;}}}if(G.toUpperCase()=="GET"&&(F&&F.cache===false)){D+=((D.indexOf("?")==-1)?"?":"&")+"rnd="+new Date().valueOf().toString();}if(this._use_default_xhr_header){if(!this._default_headers["X-Requested-With"]){this.initHeader("X-Requested-With",this._default_xhr_header,true);}}if((G.toUpperCase()==="POST"&&this._use_default_post_header)&&this._isFormSubmit===false){this.initHeader("Content-Type",this._default_post_header);}if(E.xdr){this.xdr(E,G,D,F,A);return E;}E.conn.open(G,D,true);if(this._has_default_headers||this._has_http_headers){this.setHeader(E);}this.handleReadyState(E,F);E.conn.send(A||"");if(this._isFormSubmit===true){this.resetFormState();}this.startEvent.fire(E,B);if(E.startEvent){E.startEvent.fire(E,B);}return E;}},initCustomEvents:function(A,C){var B;for(B in C.customevents){if(this._customEvents[B][0]){A[this._customEvents[B][0]]=new YAHOO.util.CustomEvent(this._customEvents[B][1],(C.scope)?C.scope:null);A[this._customEvents[B][0]].subscribe(C.customevents[B]);}}},handleReadyState:function(C,D){var B=this,A=(D&&D.argument)?D.argument:null;if(D&&D.timeout){this._timeOut[C.tId]=window.setTimeout(function(){B.abort(C,D,true);},D.timeout);}this._poll[C.tId]=window.setInterval(function(){if(C.conn&&C.conn.readyState===4){window.clearInterval(B._poll[C.tId]);delete B._poll[C.tId];if(D&&D.timeout){window.clearTimeout(B._timeOut[C.tId]);delete B._timeOut[C.tId];}B.completeEvent.fire(C,A);if(C.completeEvent){C.completeEvent.fire(C,A);}B.handleTransactionResponse(C,D);}},this._polling_interval);},handleTransactionResponse:function(B,I,D){var E,A,G=(I&&I.argument)?I.argument:null,C=(B.r&&B.r.statusText==="xdr:success")?true:false,H=(B.r&&B.r.statusText==="xdr:failure")?true:false,J=D;try{if((B.conn.status!==undefined&&B.conn.status!==0)||C){E=B.conn.status;}else{if(H&&!J){E=0;}else{E=13030;}}}catch(F){E=13030;}if((E>=200&&E<300)||E===1223||C){A=B.xdr?B.r:this.createResponseObject(B,G);if(I&&I.success){if(!I.scope){I.success(A);}else{I.success.apply(I.scope,[A]);}}this.successEvent.fire(A);if(B.successEvent){B.successEvent.fire(A);}}else{switch(E){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:A=this.createExceptionObject(B.tId,G,(D?D:false));if(I&&I.failure){if(!I.scope){I.failure(A);}else{I.failure.apply(I.scope,[A]);}}break;default:A=(B.xdr)?B.response:this.createResponseObject(B,G);if(I&&I.failure){if(!I.scope){I.failure(A);}else{I.failure.apply(I.scope,[A]);}}}this.failureEvent.fire(A);if(B.failureEvent){B.failureEvent.fire(A);}}this.releaseObject(B);A=null;},createResponseObject:function(A,G){var D={},I={},E,C,F,B;try{C=A.conn.getAllResponseHeaders();F=C.split("\n");for(E=0;E<F.length;E++){B=F[E].indexOf(":");if(B!=-1){I[F[E].substring(0,B)]=YAHOO.lang.trim(F[E].substring(B+2));}}}catch(H){}D.tId=A.tId;D.status=(A.conn.status==1223)?204:A.conn.status;D.statusText=(A.conn.status==1223)?"No Content":A.conn.statusText;D.getResponseHeader=I;D.getAllResponseHeaders=C;D.responseText=A.conn.responseText;D.responseXML=A.conn.responseXML;if(G){D.argument=G;}return D;},createExceptionObject:function(H,D,A){var F=0,G="communication failure",C=-1,B="transaction aborted",E={};E.tId=H;if(A){E.status=C;E.statusText=B;}else{E.status=F;E.statusText=G;}if(D){E.argument=D;}return E;},initHeader:function(A,D,C){var B=(C)?this._default_headers:this._http_headers;B[A]=D;if(C){this._has_default_headers=true;}else{this._has_http_headers=true;}},setHeader:function(A){var B;if(this._has_default_headers){for(B in this._default_headers){if(YAHOO.lang.hasOwnProperty(this._default_headers,B)){A.conn.setRequestHeader(B,this._default_headers[B]);}}}if(this._has_http_headers){for(B in this._http_headers){if(YAHOO.lang.hasOwnProperty(this._http_headers,B)){A.conn.setRequestHeader(B,this._http_headers[B]);
+}}this._http_headers={};this._has_http_headers=false;}},resetDefaultHeaders:function(){this._default_headers={};this._has_default_headers=false;},abort:function(E,G,A){var D,B=(G&&G.argument)?G.argument:null;E=E||{};if(E.conn){if(E.xhr){if(this.isCallInProgress(E)){E.conn.abort();window.clearInterval(this._poll[E.tId]);delete this._poll[E.tId];if(A){window.clearTimeout(this._timeOut[E.tId]);delete this._timeOut[E.tId];}D=true;}}else{if(E.xdr){E.conn.abort(E.tId);D=true;}}}else{if(E.upload){var C="yuiIO"+E.tId;var F=document.getElementById(C);if(F){YAHOO.util.Event.removeListener(F,"load");document.body.removeChild(F);if(A){window.clearTimeout(this._timeOut[E.tId]);delete this._timeOut[E.tId];}D=true;}}else{D=false;}}if(D===true){this.abortEvent.fire(E,B);if(E.abortEvent){E.abortEvent.fire(E,B);}this.handleTransactionResponse(E,G,true);}return D;},isCallInProgress:function(A){A=A||{};if(A.xhr&&A.conn){return A.conn.readyState!==4&&A.conn.readyState!==0;}else{if(A.xdr&&A.conn){return A.conn.isCallInProgress(A.tId);}else{if(A.upload===true){return document.getElementById("yuiIO"+A.tId)?true:false;}else{return false;}}}},releaseObject:function(A){if(A&&A.conn){A.conn=null;A=null;}}};(function(){var G=YAHOO.util.Connect,H={};function D(I){var J='<object id="YUIConnectionSwf" type="application/x-shockwave-flash" data="'+I+'" width="0" height="0">'+'<param name="movie" value="'+I+'">'+'<param name="allowScriptAccess" value="always">'+"</object>",K=document.createElement("div");document.body.appendChild(K);K.innerHTML=J;}function B(L,I,J,M,K){H[parseInt(L.tId)]={"o":L,"c":M};if(K){M.method=I;M.data=K;}L.conn.send(J,M,L.tId);}function E(I){D(I);G._transport=document.getElementById("YUIConnectionSwf");}function C(){G.xdrReadyEvent.fire();}function A(J,I){if(J){G.startEvent.fire(J,I.argument);if(J.startEvent){J.startEvent.fire(J,I.argument);}}}function F(J){var K=H[J.tId].o,I=H[J.tId].c;if(J.statusText==="xdr:start"){A(K,I);return;}J.responseText=decodeURI(J.responseText);K.r=J;if(I.argument){K.r.argument=I.argument;}this.handleTransactionResponse(K,I,J.statusText==="xdr:abort"?true:false);delete H[J.tId];}G.xdr=B;G.swf=D;G.transport=E;G.xdrReadyEvent=new YAHOO.util.CustomEvent("xdrReady");G.xdrReady=C;G.handleXdrResponse=F;})();(function(){var D=YAHOO.util.Connect,F=YAHOO.util.Event;D._isFormSubmit=false;D._isFileUpload=false;D._formNode=null;D._sFormData=null;D._submitElementValue=null;D.uploadEvent=new YAHOO.util.CustomEvent("upload"),D._hasSubmitListener=function(){if(F){F.addListener(document,"click",function(J){var I=F.getTarget(J),H=I.nodeName.toLowerCase();if((H==="input"||H==="button")&&(I.type&&I.type.toLowerCase()=="submit")){D._submitElementValue=encodeURIComponent(I.name)+"="+encodeURIComponent(I.value);}});return true;}return false;}();function G(T,O,J){var S,I,R,P,W,Q=false,M=[],V=0,L,N,K,U,H;this.resetFormState();if(typeof T=="string"){S=(document.getElementById(T)||document.forms[T]);}else{if(typeof T=="object"){S=T;}else{return;}}if(O){this.createFrame(J?J:null);this._isFormSubmit=true;this._isFileUpload=true;this._formNode=S;return;}for(L=0,N=S.elements.length;L<N;++L){I=S.elements[L];W=I.disabled;R=I.name;if(!W&&R){R=encodeURIComponent(R)+"=";P=encodeURIComponent(I.value);switch(I.type){case"select-one":if(I.selectedIndex>-1){H=I.options[I.selectedIndex];M[V++]=R+encodeURIComponent((H.attributes.value&&H.attributes.value.specified)?H.value:H.text);}break;case"select-multiple":if(I.selectedIndex>-1){for(K=I.selectedIndex,U=I.options.length;K<U;++K){H=I.options[K];if(H.selected){M[V++]=R+encodeURIComponent((H.attributes.value&&H.attributes.value.specified)?H.value:H.text);}}}break;case"radio":case"checkbox":if(I.checked){M[V++]=R+P;}break;case"file":case undefined:case"reset":case"button":break;case"submit":if(Q===false){if(this._hasSubmitListener&&this._submitElementValue){M[V++]=this._submitElementValue;}Q=true;}break;default:M[V++]=R+P;}}}this._isFormSubmit=true;this._sFormData=M.join("&");this.initHeader("Content-Type",this._default_form_header);return this._sFormData;}function C(){this._isFormSubmit=false;this._isFileUpload=false;this._formNode=null;this._sFormData="";}function B(H){var I="yuiIO"+this._transaction_id,J;if(YAHOO.env.ua.ie){J=document.createElement('<iframe id="'+I+'" name="'+I+'" />');if(typeof H=="boolean"){J.src="javascript:false";}}else{J=document.createElement("iframe");J.id=I;J.name=I;}J.style.position="absolute";J.style.top="-1000px";J.style.left="-1000px";document.body.appendChild(J);}function E(H){var K=[],I=H.split("&"),J,L;for(J=0;J<I.length;J++){L=I[J].indexOf("=");if(L!=-1){K[J]=document.createElement("input");K[J].type="hidden";K[J].name=decodeURIComponent(I[J].substring(0,L));K[J].value=decodeURIComponent(I[J].substring(L+1));this._formNode.appendChild(K[J]);}}return K;}function A(K,V,L,J){var Q="yuiIO"+K.tId,R="multipart/form-data",T=document.getElementById(Q),M=(document.documentMode&&document.documentMode===8)?true:false,W=this,S=(V&&V.argument)?V.argument:null,U,P,I,O,H,N;H={action:this._formNode.getAttribute("action"),method:this._formNode.getAttribute("method"),target:this._formNode.getAttribute("target")};this._formNode.setAttribute("action",L);this._formNode.setAttribute("method","POST");this._formNode.setAttribute("target",Q);if(YAHOO.env.ua.ie&&!M){this._formNode.setAttribute("encoding",R);}else{this._formNode.setAttribute("enctype",R);}if(J){U=this.appendPostData(J);}this._formNode.submit();this.startEvent.fire(K,S);if(K.startEvent){K.startEvent.fire(K,S);}if(V&&V.timeout){this._timeOut[K.tId]=window.setTimeout(function(){W.abort(K,V,true);},V.timeout);}if(U&&U.length>0){for(P=0;P<U.length;P++){this._formNode.removeChild(U[P]);}}for(I in H){if(YAHOO.lang.hasOwnProperty(H,I)){if(H[I]){this._formNode.setAttribute(I,H[I]);}else{this._formNode.removeAttribute(I);}}}this.resetFormState();N=function(){if(V&&V.timeout){window.clearTimeout(W._timeOut[K.tId]);delete W._timeOut[K.tId];}W.completeEvent.fire(K,S);if(K.completeEvent){K.completeEvent.fire(K,S);
+}O={tId:K.tId,argument:V.argument};try{O.responseText=T.contentWindow.document.body?T.contentWindow.document.body.innerHTML:T.contentWindow.document.documentElement.textContent;O.responseXML=T.contentWindow.document.XMLDocument?T.contentWindow.document.XMLDocument:T.contentWindow.document;}catch(X){}if(V&&V.upload){if(!V.scope){V.upload(O);}else{V.upload.apply(V.scope,[O]);}}W.uploadEvent.fire(O);if(K.uploadEvent){K.uploadEvent.fire(O);}F.removeListener(T,"load",N);setTimeout(function(){document.body.removeChild(T);W.releaseObject(K);},100);};F.addListener(T,"load",N);}D.setForm=G;D.resetFormState=C;D.createFrame=B;D.appendPostData=E;D.uploadFile=A;})();YAHOO.register("connection",YAHOO.util.Connect,{version:"2.8.0r4",build:"2449"});
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/yui/connection/connection-min.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/yui/connection/index.php
===================================================================
--- tags/2.8.2/wb/include/yui/connection/index.php	(nonexistent)
+++ tags/2.8.2/wb/include/yui/connection/index.php	(revision 1481)
@@ -0,0 +1,21 @@
+<?php
+/**
+ *
+ * @category        framework
+ * @package         yui
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version      	$Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+header("Location: ../../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/yui/connection/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/yui/connection/connection.swf
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/yui/connection/connection.swf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/yui/connection/connection-debug.js
===================================================================
--- tags/2.8.2/wb/include/yui/connection/connection-debug.js	(nonexistent)
+++ tags/2.8.2/wb/include/yui/connection/connection-debug.js	(revision 1481)
@@ -0,0 +1,1576 @@
+/*
+Copyright (c) 2009, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.8.0r4
+*/
+/**
+ * The Connection Manager provides a simplified interface to the XMLHttpRequest
+ * object.  It handles cross-browser instantiantion of XMLHttpRequest, negotiates the
+ * interactive states and server response, returning the results to a pre-defined
+ * callback you create.
+ *
+ * @namespace YAHOO.util
+ * @module connection
+ * @requires yahoo
+ * @requires event
+ */
+
+/**
+ * The Connection Manager singleton provides methods for creating and managing
+ * asynchronous transactions.
+ *
+ * @class Connect
+ */
+
+YAHOO.util.Connect =
+{
+  /**
+   * @description Array of MSFT ActiveX ids for XMLHttpRequest.
+   * @property _msxml_progid
+   * @private
+   * @static
+   * @type array
+   */
+	_msxml_progid:[
+		'Microsoft.XMLHTTP',
+		'MSXML2.XMLHTTP.3.0',
+		'MSXML2.XMLHTTP'
+		],
+
+  /**
+   * @description Object literal of HTTP header(s)
+   * @property _http_header
+   * @private
+   * @static
+   * @type object
+   */
+	_http_headers:{},
+
+  /**
+   * @description Determines if HTTP headers are set.
+   * @property _has_http_headers
+   * @private
+   * @static
+   * @type boolean
+   */
+	_has_http_headers:false,
+
+ /**
+  * @description Determines if a default header of
+  * Content-Type of 'application/x-www-form-urlencoded'
+  * will be added to any client HTTP headers sent for POST
+  * transactions.
+  * @property _use_default_post_header
+  * @private
+  * @static
+  * @type boolean
+  */
+    _use_default_post_header:true,
+
+ /**
+  * @description The default header used for POST transactions.
+  * @property _default_post_header
+  * @private
+  * @static
+  * @type boolean
+  */
+    _default_post_header:'application/x-www-form-urlencoded; charset=UTF-8',
+
+ /**
+  * @description The default header used for transactions involving the
+  * use of HTML forms.
+  * @property _default_form_header
+  * @private
+  * @static
+  * @type boolean
+  */
+    _default_form_header:'application/x-www-form-urlencoded',
+
+ /**
+  * @description Determines if a default header of
+  * 'X-Requested-With: XMLHttpRequest'
+  * will be added to each transaction.
+  * @property _use_default_xhr_header
+  * @private
+  * @static
+  * @type boolean
+  */
+    _use_default_xhr_header:true,
+
+ /**
+  * @description The default header value for the label
+  * "X-Requested-With".  This is sent with each
+  * transaction, by default, to identify the
+  * request as being made by YUI Connection Manager.
+  * @property _default_xhr_header
+  * @private
+  * @static
+  * @type boolean
+  */
+    _default_xhr_header:'XMLHttpRequest',
+
+ /**
+  * @description Determines if custom, default headers
+  * are set for each transaction.
+  * @property _has_default_header
+  * @private
+  * @static
+  * @type boolean
+  */
+    _has_default_headers:true,
+
+ /**
+  * @description Determines if custom, default headers
+  * are set for each transaction.
+  * @property _has_default_header
+  * @private
+  * @static
+  * @type boolean
+  */
+    _default_headers:{},
+
+ /**
+  * @description Collection of polling references to the polling mechanism in handleReadyState.
+  * @property _poll
+  * @private
+  * @static
+  * @type object
+  */
+    _poll:{},
+
+ /**
+  * @description Queue of timeout values for each transaction callback with a defined timeout value.
+  * @property _timeOut
+  * @private
+  * @static
+  * @type object
+  */
+    _timeOut:{},
+
+  /**
+   * @description The polling frequency, in milliseconds, for HandleReadyState.
+   * when attempting to determine a transaction's XHR readyState.
+   * The default is 50 milliseconds.
+   * @property _polling_interval
+   * @private
+   * @static
+   * @type int
+   */
+     _polling_interval:50,
+
+  /**
+   * @description A transaction counter that increments the transaction id for each transaction.
+   * @property _transaction_id
+   * @private
+   * @static
+   * @type int
+   */
+     _transaction_id:0,
+
+  /**
+   * @description Custom event that fires at the start of a transaction
+   * @property startEvent
+   * @private
+   * @static
+   * @type CustomEvent
+   */
+	startEvent: new YAHOO.util.CustomEvent('start'),
+
+  /**
+   * @description Custom event that fires when a transaction response has completed.
+   * @property completeEvent
+   * @private
+   * @static
+   * @type CustomEvent
+   */
+	completeEvent: new YAHOO.util.CustomEvent('complete'),
+
+  /**
+   * @description Custom event that fires when handleTransactionResponse() determines a
+   * response in the HTTP 2xx range.
+   * @property successEvent
+   * @private
+   * @static
+   * @type CustomEvent
+   */
+	successEvent: new YAHOO.util.CustomEvent('success'),
+
+  /**
+   * @description Custom event that fires when handleTransactionResponse() determines a
+   * response in the HTTP 4xx/5xx range.
+   * @property failureEvent
+   * @private
+   * @static
+   * @type CustomEvent
+   */
+	failureEvent: new YAHOO.util.CustomEvent('failure'),
+
+  /**
+   * @description Custom event that fires when a transaction is successfully aborted.
+   * @property abortEvent
+   * @private
+   * @static
+   * @type CustomEvent
+   */
+	abortEvent: new YAHOO.util.CustomEvent('abort'),
+
+  /**
+   * @description A reference table that maps callback custom events members to its specific
+   * event name.
+   * @property _customEvents
+   * @private
+   * @static
+   * @type object
+   */
+	_customEvents:
+	{
+		onStart:['startEvent', 'start'],
+		onComplete:['completeEvent', 'complete'],
+		onSuccess:['successEvent', 'success'],
+		onFailure:['failureEvent', 'failure'],
+		onUpload:['uploadEvent', 'upload'],
+		onAbort:['abortEvent', 'abort']
+	},
+
+  /**
+   * @description Member to add an ActiveX id to the existing xml_progid array.
+   * In the event(unlikely) a new ActiveX id is introduced, it can be added
+   * without internal code modifications.
+   * @method setProgId
+   * @public
+   * @static
+   * @param {string} id The ActiveX id to be added to initialize the XHR object.
+   * @return void
+   */
+	setProgId:function(id)
+	{
+		this._msxml_progid.unshift(id);
+		YAHOO.log('ActiveX Program Id  ' + id + ' added to _msxml_progid.', 'info', 'Connection');
+	},
+
+  /**
+   * @description Member to override the default POST header.
+   * @method setDefaultPostHeader
+   * @public
+   * @static
+   * @param {boolean} b Set and use default header - true or false .
+   * @return void
+   */
+	setDefaultPostHeader:function(b)
+	{
+		if(typeof b == 'string'){
+			this._default_post_header = b;
+			YAHOO.log('Default POST header set to  ' + b, 'info', 'Connection');
+		}
+		else if(typeof b == 'boolean'){
+			this._use_default_post_header = b;
+		}
+	},
+
+  /**
+   * @description Member to override the default transaction header..
+   * @method setDefaultXhrHeader
+   * @public
+   * @static
+   * @param {boolean} b Set and use default header - true or false .
+   * @return void
+   */
+	setDefaultXhrHeader:function(b)
+	{
+		if(typeof b == 'string'){
+			this._default_xhr_header = b;
+			YAHOO.log('Default XHR header set to  ' + b, 'info', 'Connection');
+		}
+		else{
+			this._use_default_xhr_header = b;
+		}
+	},
+
+  /**
+   * @description Member to modify the default polling interval.
+   * @method setPollingInterval
+   * @public
+   * @static
+   * @param {int} i The polling interval in milliseconds.
+   * @return void
+   */
+	setPollingInterval:function(i)
+	{
+		if(typeof i == 'number' && isFinite(i)){
+			this._polling_interval = i;
+			YAHOO.log('Default polling interval set to ' + i +'ms', 'info', 'Connection');
+		}
+	},
+
+  /**
+   * @description Instantiates a XMLHttpRequest object and returns an object with two properties:
+   * the XMLHttpRequest instance and the transaction id.
+   * @method createXhrObject
+   * @private
+   * @static
+   * @param {int} transactionId Property containing the transaction id for this transaction.
+   * @return object
+   */
+	createXhrObject:function(transactionId)
+	{
+		var obj,http,i;
+		try
+		{
+			// Instantiates XMLHttpRequest in non-IE browsers and assigns to http.
+			http = new XMLHttpRequest();
+			//  Object literal with http and tId properties
+			obj = { conn:http, tId:transactionId, xhr: true };
+			YAHOO.log('XHR object created for transaction ' + transactionId, 'info', 'Connection');
+		}
+		catch(e)
+		{
+			for(i=0; i<this._msxml_progid.length; ++i){
+				try
+				{
+					// Instantiates XMLHttpRequest for IE and assign to http
+					http = new ActiveXObject(this._msxml_progid[i]);
+					//  Object literal with conn and tId properties
+					obj = { conn:http, tId:transactionId, xhr: true };
+					YAHOO.log('ActiveX XHR object created for transaction ' + transactionId, 'info', 'Connection');
+					break;
+				}
+				catch(e1){}
+			}
+		}
+		finally
+		{
+			return obj;
+		}
+	},
+
+  /**
+   * @description This method is called by asyncRequest to create a
+   * valid connection object for the transaction.  It also passes a
+   * transaction id and increments the transaction id counter.
+   * @method getConnectionObject
+   * @private
+   * @static
+   * @return {object}
+   */
+	getConnectionObject:function(t)
+	{
+		var o, tId = this._transaction_id;
+
+		try
+		{
+			if(!t){
+				o = this.createXhrObject(tId);
+			}
+			else{
+				o = {tId:tId};
+				if(t==='xdr'){
+					o.conn = this._transport;
+					o.xdr = true;
+				}
+				else if(t==='upload'){
+					o.upload = true;
+				}
+			}
+
+			if(o){
+				this._transaction_id++;
+			}
+		}
+		catch(e){}
+		return o;
+	},
+
+  /**
+   * @description Method for initiating an asynchronous request via the XHR object.
+   * @method asyncRequest
+   * @public
+   * @static
+   * @param {string} method HTTP transaction method
+   * @param {string} uri Fully qualified path of resource
+   * @param {callback} callback User-defined callback function or object
+   * @param {string} postData POST body
+   * @return {object} Returns the connection object
+   */
+	asyncRequest:function(method, uri, callback, postData)
+	{
+		var o,t,args = (callback && callback.argument)?callback.argument:null;
+
+		if(this._isFileUpload){
+			t = 'upload';
+		}
+		else if(callback.xdr){
+			t = 'xdr';
+		}
+
+		o = this.getConnectionObject(t);
+		if(!o){
+			YAHOO.log('Unable to create connection object.', 'error', 'Connection');
+			return null;
+		}
+		else{
+
+			// Intialize any transaction-specific custom events, if provided.
+			if(callback && callback.customevents){
+				this.initCustomEvents(o, callback);
+			}
+
+			if(this._isFormSubmit){
+				if(this._isFileUpload){
+					this.uploadFile(o, callback, uri, postData);
+					return o;
+				}
+
+				// If the specified HTTP method is GET, setForm() will return an
+				// encoded string that is concatenated to the uri to
+				// create a querystring.
+				if(method.toUpperCase() == 'GET'){
+					if(this._sFormData.length !== 0){
+						// If the URI already contains a querystring, append an ampersand
+						// and then concatenate _sFormData to the URI.
+						uri += ((uri.indexOf('?') == -1)?'?':'&') + this._sFormData;
+					}
+				}
+				else if(method.toUpperCase() == 'POST'){
+					// If POST data exist in addition to the HTML form data,
+					// it will be concatenated to the form data.
+					postData = postData?this._sFormData + "&" + postData:this._sFormData;
+				}
+			}
+
+			if(method.toUpperCase() == 'GET' && (callback && callback.cache === false)){
+				// If callback.cache is defined and set to false, a
+				// timestamp value will be added to the querystring.
+				uri += ((uri.indexOf('?') == -1)?'?':'&') + "rnd=" + new Date().valueOf().toString();
+			}
+
+			// Each transaction will automatically include a custom header of
+			// "X-Requested-With: XMLHttpRequest" to identify the request as
+			// having originated from Connection Manager.
+			if(this._use_default_xhr_header){
+				if(!this._default_headers['X-Requested-With']){
+					this.initHeader('X-Requested-With', this._default_xhr_header, true);
+					YAHOO.log('Initialize transaction header X-Request-Header to XMLHttpRequest.', 'info', 'Connection');
+				}
+			}
+
+			//If the transaction method is POST and the POST header value is set to true
+			//or a custom value, initalize the Content-Type header to this value.
+			if((method.toUpperCase() === 'POST' && this._use_default_post_header) && this._isFormSubmit === false){
+				this.initHeader('Content-Type', this._default_post_header);
+				YAHOO.log('Initialize header Content-Type to application/x-www-form-urlencoded; UTF-8 for POST transaction.', 'info', 'Connection');
+			}
+
+			if(o.xdr){
+				this.xdr(o, method, uri, callback, postData);
+				return o;
+			}
+
+			o.conn.open(method, uri, true);
+			//Initialize all default and custom HTTP headers,
+			if(this._has_default_headers || this._has_http_headers){
+				this.setHeader(o);
+			}
+
+			this.handleReadyState(o, callback);
+			o.conn.send(postData || '');
+			YAHOO.log('Transaction ' + o.tId + ' sent.', 'info', 'Connection');
+
+			// Reset the HTML form data and state properties as
+			// soon as the data are submitted.
+			if(this._isFormSubmit === true){
+				this.resetFormState();
+			}
+
+			// Fire global custom event -- startEvent
+			this.startEvent.fire(o, args);
+
+			if(o.startEvent){
+				// Fire transaction custom event -- startEvent
+				o.startEvent.fire(o, args);
+			}
+
+			return o;
+		}
+	},
+
+  /**
+   * @description This method creates and subscribes custom events,
+   * specific to each transaction
+   * @method initCustomEvents
+   * @private
+   * @static
+   * @param {object} o The connection object
+   * @param {callback} callback The user-defined callback object
+   * @return {void}
+   */
+	initCustomEvents:function(o, callback)
+	{
+		var prop;
+		// Enumerate through callback.customevents members and bind/subscribe
+		// events that match in the _customEvents table.
+		for(prop in callback.customevents){
+			if(this._customEvents[prop][0]){
+				// Create the custom event
+				o[this._customEvents[prop][0]] = new YAHOO.util.CustomEvent(this._customEvents[prop][1], (callback.scope)?callback.scope:null);
+				YAHOO.log('Transaction-specific Custom Event ' + o[this._customEvents[prop][1]] + ' created.', 'info', 'Connection');
+
+				// Subscribe the custom event
+				o[this._customEvents[prop][0]].subscribe(callback.customevents[prop]);
+				YAHOO.log('Transaction-specific Custom Event ' + o[this._customEvents[prop][1]] + ' subscribed.', 'info', 'Connection');
+			}
+		}
+	},
+
+  /**
+   * @description This method serves as a timer that polls the XHR object's readyState
+   * property during a transaction, instead of binding a callback to the
+   * onreadystatechange event.  Upon readyState 4, handleTransactionResponse
+   * will process the response, and the timer will be cleared.
+   * @method handleReadyState
+   * @private
+   * @static
+   * @param {object} o The connection object
+   * @param {callback} callback The user-defined callback object
+   * @return {void}
+   */
+
+    handleReadyState:function(o, callback)
+
+    {
+		var oConn = this,
+			args = (callback && callback.argument)?callback.argument:null;
+
+		if(callback && callback.timeout){
+			this._timeOut[o.tId] = window.setTimeout(function(){ oConn.abort(o, callback, true); }, callback.timeout);
+		}
+
+		this._poll[o.tId] = window.setInterval(
+			function(){
+				if(o.conn && o.conn.readyState === 4){
+
+					// Clear the polling interval for the transaction
+					// and remove the reference from _poll.
+					window.clearInterval(oConn._poll[o.tId]);
+					delete oConn._poll[o.tId];
+
+					if(callback && callback.timeout){
+						window.clearTimeout(oConn._timeOut[o.tId]);
+						delete oConn._timeOut[o.tId];
+					}
+
+					// Fire global custom event -- completeEvent
+					oConn.completeEvent.fire(o, args);
+
+					if(o.completeEvent){
+						// Fire transaction custom event -- completeEvent
+						o.completeEvent.fire(o, args);
+					}
+
+					oConn.handleTransactionResponse(o, callback);
+				}
+			}
+		,this._polling_interval);
+    },
+
+  /**
+   * @description This method attempts to interpret the server response and
+   * determine whether the transaction was successful, or if an error or
+   * exception was encountered.
+   * @method handleTransactionResponse
+   * @private
+   * @static
+   * @param {object} o The connection object
+   * @param {object} callback The user-defined callback object
+   * @param {boolean} isAbort Determines if the transaction was terminated via abort().
+   * @return {void}
+   */
+    handleTransactionResponse:function(o, callback, isAbort)
+    {
+		var httpStatus, responseObject,
+			args = (callback && callback.argument)?callback.argument:null,
+			xdrS = (o.r && o.r.statusText === 'xdr:success')?true:false,
+			xdrF = (o.r && o.r.statusText === 'xdr:failure')?true:false,
+			xdrA = isAbort;
+
+		try
+		{
+			if((o.conn.status !== undefined && o.conn.status !== 0) || xdrS){
+				// XDR requests will not have HTTP status defined. The
+				// statusText property will define the response status
+				// set by the Flash transport.
+				httpStatus = o.conn.status;
+			}
+			else if(xdrF && !xdrA){
+				// Set XDR transaction failure to a status of 0, which
+				// resolves as an HTTP failure, instead of an exception.
+				httpStatus = 0;
+			}
+			else{
+				httpStatus = 13030;
+			}
+		}
+		catch(e){
+
+			 // 13030 is a custom code to indicate the condition -- in Mozilla/FF --
+			 // when the XHR object's status and statusText properties are
+			 // unavailable, and a query attempt throws an exception.
+			httpStatus = 13030;
+		}
+
+		if((httpStatus >= 200 && httpStatus < 300) || httpStatus === 1223 || xdrS){
+			responseObject = o.xdr ? o.r : this.createResponseObject(o, args);
+			if(callback && callback.success){
+				if(!callback.scope){
+					callback.success(responseObject);
+					YAHOO.log('Success callback. HTTP code is ' + httpStatus, 'info', 'Connection');
+				}
+				else{
+					// If a scope property is defined, the callback will be fired from
+					// the context of the object.
+					callback.success.apply(callback.scope, [responseObject]);
+					YAHOO.log('Success callback with scope. HTTP code is ' + httpStatus, 'info', 'Connection');
+				}
+			}
+
+			// Fire global custom event -- successEvent
+			this.successEvent.fire(responseObject);
+
+			if(o.successEvent){
+				// Fire transaction custom event -- successEvent
+				o.successEvent.fire(responseObject);
+			}
+		}
+		else{
+			switch(httpStatus){
+				// The following cases are wininet.dll error codes that may be encountered.
+				case 12002: // Server timeout
+				case 12029: // 12029 to 12031 correspond to dropped connections.
+				case 12030:
+				case 12031:
+				case 12152: // Connection closed by server.
+				case 13030: // See above comments for variable status.
+					// XDR transactions will not resolve to this case, since the
+					// response object is already built in the xdr response.
+					responseObject = this.createExceptionObject(o.tId, args, (isAbort?isAbort:false));
+					if(callback && callback.failure){
+						if(!callback.scope){
+							callback.failure(responseObject);
+							YAHOO.log('Failure callback. Exception detected. Status code is ' + httpStatus, 'warn', 'Connection');
+						}
+						else{
+							callback.failure.apply(callback.scope, [responseObject]);
+							YAHOO.log('Failure callback with scope. Exception detected. Status code is ' + httpStatus, 'warn', 'Connection');
+						}
+					}
+
+					break;
+				default:
+					responseObject = (o.xdr) ? o.response : this.createResponseObject(o, args);
+					if(callback && callback.failure){
+						if(!callback.scope){
+							callback.failure(responseObject);
+							YAHOO.log('Failure callback. HTTP status code is ' + httpStatus, 'warn', 'Connection');
+						}
+						else{
+							callback.failure.apply(callback.scope, [responseObject]);
+							YAHOO.log('Failure callback with scope. HTTP status code is ' + httpStatus, 'warn', 'Connection');
+						}
+					}
+			}
+
+			// Fire global custom event -- failureEvent
+			this.failureEvent.fire(responseObject);
+
+			if(o.failureEvent){
+				// Fire transaction custom event -- failureEvent
+				o.failureEvent.fire(responseObject);
+			}
+
+		}
+
+		this.releaseObject(o);
+		responseObject = null;
+    },
+
+  /**
+   * @description This method evaluates the server response, creates and returns the results via
+   * its properties.  Success and failure cases will differ in the response
+   * object's property values.
+   * @method createResponseObject
+   * @private
+   * @static
+   * @param {object} o The connection object
+   * @param {callbackArg} callbackArg The user-defined argument or arguments to be passed to the callback
+   * @return {object}
+   */
+    createResponseObject:function(o, callbackArg)
+    {
+		var obj = {}, headerObj = {},
+			i, headerStr, header, delimitPos;
+
+		try
+		{
+			headerStr = o.conn.getAllResponseHeaders();
+			header = headerStr.split('\n');
+			for(i=0; i<header.length; i++){
+				delimitPos = header[i].indexOf(':');
+				if(delimitPos != -1){
+					headerObj[header[i].substring(0,delimitPos)] = YAHOO.lang.trim(header[i].substring(delimitPos+2));
+				}
+			}
+		}
+		catch(e){}
+
+		obj.tId = o.tId;
+		// Normalize IE's response to HTTP 204 when Win error 1223.
+		obj.status = (o.conn.status == 1223)?204:o.conn.status;
+		// Normalize IE's statusText to "No Content" instead of "Unknown".
+		obj.statusText = (o.conn.status == 1223)?"No Content":o.conn.statusText;
+		obj.getResponseHeader = headerObj;
+		obj.getAllResponseHeaders = headerStr;
+		obj.responseText = o.conn.responseText;
+		obj.responseXML = o.conn.responseXML;
+
+		if(callbackArg){
+			obj.argument = callbackArg;
+		}
+
+		return obj;
+    },
+
+  /**
+   * @description If a transaction cannot be completed due to dropped or closed connections,
+   * there may be not be enough information to build a full response object.
+   * The failure callback will be fired and this specific condition can be identified
+   * by a status property value of 0.
+   *
+   * If an abort was successful, the status property will report a value of -1.
+   *
+   * @method createExceptionObject
+   * @private
+   * @static
+   * @param {int} tId The Transaction Id
+   * @param {callbackArg} callbackArg The user-defined argument or arguments to be passed to the callback
+   * @param {boolean} isAbort Determines if the exception case is caused by a transaction abort
+   * @return {object}
+   */
+    createExceptionObject:function(tId, callbackArg, isAbort)
+    {
+		var COMM_CODE = 0,
+			COMM_ERROR = 'communication failure',
+			ABORT_CODE = -1,
+			ABORT_ERROR = 'transaction aborted',
+			obj = {};
+
+		obj.tId = tId;
+		if(isAbort){
+			obj.status = ABORT_CODE;
+			obj.statusText = ABORT_ERROR;
+		}
+		else{
+			obj.status = COMM_CODE;
+			obj.statusText = COMM_ERROR;
+		}
+
+		if(callbackArg){
+			obj.argument = callbackArg;
+		}
+
+		return obj;
+    },
+
+  /**
+   * @description Method that initializes the custom HTTP headers for the each transaction.
+   * @method initHeader
+   * @public
+   * @static
+   * @param {string} label The HTTP header label
+   * @param {string} value The HTTP header value
+   * @param {string} isDefault Determines if the specific header is a default header
+   * automatically sent with each transaction.
+   * @return {void}
+   */
+	initHeader:function(label, value, isDefault)
+	{
+		var headerObj = (isDefault)?this._default_headers:this._http_headers;
+
+		headerObj[label] = value;
+		if(isDefault){
+			this._has_default_headers = true;
+		}
+		else{
+			this._has_http_headers = true;
+		}
+	},
+
+
+  /**
+   * @description Accessor that sets the HTTP headers for each transaction.
+   * @method setHeader
+   * @private
+   * @static
+   * @param {object} o The connection object for the transaction.
+   * @return {void}
+   */
+	setHeader:function(o)
+	{
+		var prop;
+		if(this._has_default_headers){
+			for(prop in this._default_headers){
+				if(YAHOO.lang.hasOwnProperty(this._default_headers, prop)){
+					o.conn.setRequestHeader(prop, this._default_headers[prop]);
+					YAHOO.log('Default HTTP header ' + prop + ' set with value of ' + this._default_headers[prop], 'info', 'Connection');
+				}
+			}
+		}
+
+		if(this._has_http_headers){
+			for(prop in this._http_headers){
+				if(YAHOO.lang.hasOwnProperty(this._http_headers, prop)){
+					o.conn.setRequestHeader(prop, this._http_headers[prop]);
+					YAHOO.log('HTTP header ' + prop + ' set with value of ' + this._http_headers[prop], 'info', 'Connection');
+				}
+			}
+
+			this._http_headers = {};
+			this._has_http_headers = false;
+		}
+	},
+
+  /**
+   * @description Resets the default HTTP headers object
+   * @method resetDefaultHeaders
+   * @public
+   * @static
+   * @return {void}
+   */
+	resetDefaultHeaders:function(){
+		this._default_headers = {};
+		this._has_default_headers = false;
+	},
+
+  /**
+   * @description Method to terminate a transaction, if it has not reached readyState 4.
+   * @method abort
+   * @public
+   * @static
+   * @param {object} o The connection object returned by asyncRequest.
+   * @param {object} callback  User-defined callback object.
+   * @param {string} isTimeout boolean to indicate if abort resulted from a callback timeout.
+   * @return {boolean}
+   */
+	abort:function(o, callback, isTimeout)
+	{
+		var abortStatus,
+			args = (callback && callback.argument)?callback.argument:null;
+			o = o || {};
+
+		if(o.conn){
+			if(o.xhr){
+				if(this.isCallInProgress(o)){
+					// Issue abort request
+					o.conn.abort();
+
+					window.clearInterval(this._poll[o.tId]);
+					delete this._poll[o.tId];
+
+					if(isTimeout){
+						window.clearTimeout(this._timeOut[o.tId]);
+						delete this._timeOut[o.tId];
+					}
+
+					abortStatus = true;
+				}
+			}
+			else if(o.xdr){
+				o.conn.abort(o.tId);
+				abortStatus = true;
+			}
+		}
+		else if(o.upload){
+			var frameId = 'yuiIO' + o.tId;
+			var io = document.getElementById(frameId);
+
+			if(io){
+				// Remove all listeners on the iframe prior to
+				// its destruction.
+				YAHOO.util.Event.removeListener(io, "load");
+				// Destroy the iframe facilitating the transaction.
+				document.body.removeChild(io);
+				YAHOO.log('File upload iframe destroyed. Id is:' + frameId, 'info', 'Connection');
+
+				if(isTimeout){
+					window.clearTimeout(this._timeOut[o.tId]);
+					delete this._timeOut[o.tId];
+				}
+
+				abortStatus = true;
+			}
+		}
+		else{
+			abortStatus = false;
+		}
+
+		if(abortStatus === true){
+			// Fire global custom event -- abortEvent
+			this.abortEvent.fire(o, args);
+
+			if(o.abortEvent){
+				// Fire transaction custom event -- abortEvent
+				o.abortEvent.fire(o, args);
+			}
+
+			this.handleTransactionResponse(o, callback, true);
+			YAHOO.log('Transaction ' + o.tId + ' aborted.', 'info', 'Connection');
+		}
+
+		return abortStatus;
+	},
+
+  /**
+   * @description Determines if the transaction is still being processed.
+   * @method isCallInProgress
+   * @public
+   * @static
+   * @param {object} o The connection object returned by asyncRequest
+   * @return {boolean}
+   */
+	isCallInProgress:function(o)
+	{
+		o = o || {};
+		// if the XHR object assigned to the transaction has not been dereferenced,
+		// then check its readyState status.  Otherwise, return false.
+		if(o.xhr && o.conn){
+			return o.conn.readyState !== 4 && o.conn.readyState !== 0;
+		}
+		else if(o.xdr && o.conn){
+			return o.conn.isCallInProgress(o.tId);
+		}
+		else if(o.upload === true){
+			return document.getElementById('yuiIO' + o.tId)?true:false;
+		}
+		else{
+			return false;
+		}
+	},
+
+  /**
+   * @description Dereference the XHR instance and the connection object after the transaction is completed.
+   * @method releaseObject
+   * @private
+   * @static
+   * @param {object} o The connection object
+   * @return {void}
+   */
+	releaseObject:function(o)
+	{
+		if(o && o.conn){
+			//dereference the XHR instance.
+			o.conn = null;
+
+			YAHOO.log('Connection object for transaction ' + o.tId + ' destroyed.', 'info', 'Connection');
+
+			//dereference the connection object.
+			o = null;
+		}
+	}
+};
+
+/**
+  * @for Connect
+  */
+(function() {
+	var YCM = YAHOO.util.Connect, _fn = {};
+
+   /**
+    * @description This method creates and instantiates the Flash transport.
+    * @method _swf
+    * @private
+    * @static
+    * @param {string} URI to connection.swf.
+    * @return {void}
+    */
+	function _swf(uri) {
+		var o = '<object id="YUIConnectionSwf" type="application/x-shockwave-flash" data="' +
+		        uri + '" width="0" height="0">' +
+		     	'<param name="movie" value="' + uri + '">' +
+                '<param name="allowScriptAccess" value="always">' +
+		    	'</object>',
+		    c = document.createElement('div');
+
+		document.body.appendChild(c);
+		c.innerHTML = o;
+	}
+
+   /**
+    * @description This method calls the public method on the
+    * Flash transport to start the XDR transaction.  It is analogous
+    * to Connection Manager's asyncRequest method.
+    * @method xdr
+    * @private
+    * @static
+    * @param {object} The transaction object.
+    * @param {string} HTTP request method.
+    * @param {string} URI for the transaction.
+    * @param {object} The transaction's callback object.
+    * @param {object} The JSON object used as HTTP POST data.
+    * @return {void}
+    */
+	function _xdr(o, m, u, c, d) {
+		_fn[parseInt(o.tId)] = { 'o':o, 'c':c };
+		if (d) {
+			c.method = m;
+			c.data = d;
+		}
+
+		o.conn.send(u, c, o.tId);
+	}
+
+   /**
+    * @description This method instantiates the Flash transport and
+    * establishes a static reference to it, used for all XDR requests.
+    * @method transport
+    * @public
+    * @static
+    * @param {string} URI to connection.swf.
+    * @return {void}
+    */
+	function _init(uri) {
+		_swf(uri);
+		YCM._transport = document.getElementById('YUIConnectionSwf');
+	}
+
+	function _xdrReady() {
+		YCM.xdrReadyEvent.fire();
+	}
+
+   /**
+    * @description This method fires the global and transaction start
+    * events.
+    * @method _xdrStart
+    * @private
+    * @static
+    * @param {object} The transaction object.
+    * @param {string} The transaction's callback object.
+    * @return {void}
+    */
+	function _xdrStart(o, cb) {
+		if (o) {
+			// Fire global custom event -- startEvent
+			YCM.startEvent.fire(o, cb.argument);
+
+			if(o.startEvent){
+				// Fire transaction custom event -- startEvent
+				o.startEvent.fire(o, cb.argument);
+			}
+		}
+	}
+
+   /**
+    * @description This method is the initial response handler
+    * for XDR transactions.  The Flash transport calls this
+    * function and sends the response payload.
+    * @method handleXdrResponse
+    * @private
+    * @static
+    * @param {object} The response object sent from the Flash transport.
+    * @return {void}
+    */
+	function _handleXdrResponse(r) {
+		var o = _fn[r.tId].o,
+			cb = _fn[r.tId].c;
+
+		if (r.statusText === 'xdr:start') {
+			_xdrStart(o, cb);
+			return;
+		}
+
+		r.responseText = decodeURI(r.responseText);
+		o.r = r;
+		if (cb.argument) {
+			o.r.argument = cb.argument;
+		}
+
+		this.handleTransactionResponse(o, cb, r.statusText === 'xdr:abort' ? true : false);
+		delete _fn[r.tId];
+	}
+
+	// Bind the functions to Connection Manager as static fields.
+	YCM.xdr = _xdr;
+	YCM.swf = _swf;
+	YCM.transport = _init;
+	YCM.xdrReadyEvent = new YAHOO.util.CustomEvent('xdrReady');
+	YCM.xdrReady = _xdrReady;
+	YCM.handleXdrResponse = _handleXdrResponse;
+})();
+
+/**
+  * @for Connect
+  */
+(function(){
+	var YCM = YAHOO.util.Connect,
+		YE = YAHOO.util.Event;
+   /**
+	* @description Property modified by setForm() to determine if the data
+	* should be submitted as an HTML form.
+	* @property _isFormSubmit
+	* @private
+	* @static
+	* @type boolean
+	*/
+	YCM._isFormSubmit = false;
+
+   /**
+	* @description Property modified by setForm() to determine if a file(s)
+	* upload is expected.
+	* @property _isFileUpload
+	* @private
+	* @static
+	* @type boolean
+	*/
+	YCM._isFileUpload = false;
+
+   /**
+	* @description Property modified by setForm() to set a reference to the HTML
+	* form node if the desired action is file upload.
+	* @property _formNode
+	* @private
+	* @static
+	* @type object
+	*/
+	YCM._formNode = null;
+
+   /**
+	* @description Property modified by setForm() to set the HTML form data
+	* for each transaction.
+	* @property _sFormData
+	* @private
+	* @static
+	* @type string
+	*/
+	YCM._sFormData = null;
+
+   /**
+	* @description Tracks the name-value pair of the "clicked" submit button if multiple submit
+	* buttons are present in an HTML form; and, if YAHOO.util.Event is available.
+	* @property _submitElementValue
+	* @private
+	* @static
+	* @type string
+	*/
+	YCM._submitElementValue = null;
+
+   /**
+    * @description Custom event that fires when handleTransactionResponse() determines a
+    * response in the HTTP 4xx/5xx range.
+    * @property failureEvent
+    * @private
+    * @static
+    * @type CustomEvent
+    */
+	YCM.uploadEvent = new YAHOO.util.CustomEvent('upload'),
+
+   /**
+	* @description Determines whether YAHOO.util.Event is available and returns true or false.
+	* If true, an event listener is bound at the document level to trap click events that
+	* resolve to a target type of "Submit".  This listener will enable setForm() to determine
+	* the clicked "Submit" value in a multi-Submit button, HTML form.
+	* @property _hasSubmitListener
+	* @private
+	* @static
+	*/
+	YCM._hasSubmitListener = function() {
+		if(YE){
+			YE.addListener(
+				document,
+				'click',
+				function(e){
+					var obj = YE.getTarget(e),
+						name = obj.nodeName.toLowerCase();
+
+					if((name === 'input' || name === 'button') && (obj.type && obj.type.toLowerCase() == 'submit')){
+						YCM._submitElementValue = encodeURIComponent(obj.name) + "=" + encodeURIComponent(obj.value);
+					}
+				});
+			return true;
+		}
+		return false;
+	}();
+
+  /**
+   * @description This method assembles the form label and value pairs and
+   * constructs an encoded string.
+   * asyncRequest() will automatically initialize the transaction with a
+   * a HTTP header Content-Type of application/x-www-form-urlencoded.
+   * @method setForm
+   * @public
+   * @static
+   * @param {string || object} form id or name attribute, or form object.
+   * @param {boolean} optional enable file upload.
+   * @param {boolean} optional enable file upload over SSL in IE only.
+   * @return {string} string of the HTML form field name and value pairs..
+   */
+	function _setForm(formId, isUpload, secureUri)
+	{
+		var oForm, oElement, oName, oValue, oDisabled,
+			hasSubmit = false,
+			data = [], item = 0,
+			i,len,j,jlen,opt;
+
+		this.resetFormState();
+
+		if(typeof formId == 'string'){
+			// Determine if the argument is a form id or a form name.
+			// Note form name usage is deprecated by supported
+			// here for legacy reasons.
+			oForm = (document.getElementById(formId) || document.forms[formId]);
+		}
+		else if(typeof formId == 'object'){
+			// Treat argument as an HTML form object.
+			oForm = formId;
+		}
+		else{
+			YAHOO.log('Unable to create form object ' + formId, 'warn', 'Connection');
+			return;
+		}
+
+		// If the isUpload argument is true, setForm will call createFrame to initialize
+		// an iframe as the form target.
+		//
+		// The argument secureURI is also required by IE in SSL environments
+		// where the secureURI string is a fully qualified HTTP path, used to set the source
+		// of the iframe, to a stub resource in the same domain.
+		if(isUpload){
+
+			// Create iframe in preparation for file upload.
+			this.createFrame(secureUri?secureUri:null);
+
+			// Set form reference and file upload properties to true.
+			this._isFormSubmit = true;
+			this._isFileUpload = true;
+			this._formNode = oForm;
+
+			return;
+		}
+
+		// Iterate over the form elements collection to construct the
+		// label-value pairs.
+		for (i=0,len=oForm.elements.length; i<len; ++i){
+			oElement  = oForm.elements[i];
+			oDisabled = oElement.disabled;
+			oName     = oElement.name;
+
+			// Do not submit fields that are disabled or
+			// do not have a name attribute value.
+			if(!oDisabled && oName)
+			{
+				oName  = encodeURIComponent(oName)+'=';
+				oValue = encodeURIComponent(oElement.value);
+
+				switch(oElement.type)
+				{
+					// Safari, Opera, FF all default opt.value from .text if
+					// value attribute not specified in markup
+					case 'select-one':
+						if (oElement.selectedIndex > -1) {
+							opt = oElement.options[oElement.selectedIndex];
+							data[item++] = oName + encodeURIComponent(
+								(opt.attributes.value && opt.attributes.value.specified) ? opt.value : opt.text);
+						}
+						break;
+					case 'select-multiple':
+						if (oElement.selectedIndex > -1) {
+							for(j=oElement.selectedIndex, jlen=oElement.options.length; j<jlen; ++j){
+								opt = oElement.options[j];
+								if (opt.selected) {
+									data[item++] = oName + encodeURIComponent(
+										(opt.attributes.value && opt.attributes.value.specified) ? opt.value : opt.text);
+								}
+							}
+						}
+						break;
+					case 'radio':
+					case 'checkbox':
+						if(oElement.checked){
+							data[item++] = oName + oValue;
+						}
+						break;
+					case 'file':
+						// stub case as XMLHttpRequest will only send the file path as a string.
+					case undefined:
+						// stub case for fieldset element which returns undefined.
+					case 'reset':
+						// stub case for input type reset button.
+					case 'button':
+						// stub case for input type button elements.
+						break;
+					case 'submit':
+						if(hasSubmit === false){
+							if(this._hasSubmitListener && this._submitElementValue){
+								data[item++] = this._submitElementValue;
+							}
+							hasSubmit = true;
+						}
+						break;
+					default:
+						data[item++] = oName + oValue;
+				}
+			}
+		}
+
+		this._isFormSubmit = true;
+		this._sFormData = data.join('&');
+
+		YAHOO.log('Form initialized for transaction. HTML form POST message is: ' + this._sFormData, 'info', 'Connection');
+
+		this.initHeader('Content-Type', this._default_form_header);
+		YAHOO.log('Initialize header Content-Type to application/x-www-form-urlencoded for setForm() transaction.', 'info', 'Connection');
+
+		return this._sFormData;
+	}
+
+   /**
+    * @description Resets HTML form properties when an HTML form or HTML form
+    * with file upload transaction is sent.
+    * @method resetFormState
+    * @private
+    * @static
+    * @return {void}
+    */
+	function _resetFormState(){
+		this._isFormSubmit = false;
+		this._isFileUpload = false;
+		this._formNode = null;
+		this._sFormData = "";
+	}
+
+
+   /**
+    * @description Creates an iframe to be used for form file uploads.  It is remove from the
+    * document upon completion of the upload transaction.
+    * @method createFrame
+    * @private
+    * @static
+    * @param {string} optional qualified path of iframe resource for SSL in IE.
+    * @return {void}
+    */
+	function _createFrame(secureUri){
+
+		// IE does not allow the setting of id and name attributes as object
+		// properties via createElement().  A different iframe creation
+		// pattern is required for IE.
+		var frameId = 'yuiIO' + this._transaction_id,
+			io;
+		if(YAHOO.env.ua.ie){
+			io = document.createElement('<iframe id="' + frameId + '" name="' + frameId + '" />');
+
+			// IE will throw a security exception in an SSL environment if the
+			// iframe source is undefined.
+			if(typeof secureUri == 'boolean'){
+				io.src = 'javascript:false';
+			}
+		}
+		else{
+			io = document.createElement('iframe');
+			io.id = frameId;
+			io.name = frameId;
+		}
+
+		io.style.position = 'absolute';
+		io.style.top = '-1000px';
+		io.style.left = '-1000px';
+
+		document.body.appendChild(io);
+		YAHOO.log('File upload iframe created. Id is:' + frameId, 'info', 'Connection');
+	}
+
+   /**
+    * @description Parses the POST data and creates hidden form elements
+    * for each key-value, and appends them to the HTML form object.
+    * @method appendPostData
+    * @private
+    * @static
+    * @param {string} postData The HTTP POST data
+    * @return {array} formElements Collection of hidden fields.
+    */
+	function _appendPostData(postData){
+		var formElements = [],
+			postMessage = postData.split('&'),
+			i, delimitPos;
+
+		for(i=0; i < postMessage.length; i++){
+			delimitPos = postMessage[i].indexOf('=');
+			if(delimitPos != -1){
+				formElements[i] = document.createElement('input');
+				formElements[i].type = 'hidden';
+				formElements[i].name = decodeURIComponent(postMessage[i].substring(0,delimitPos));
+				formElements[i].value = decodeURIComponent(postMessage[i].substring(delimitPos+1));
+				this._formNode.appendChild(formElements[i]);
+			}
+		}
+
+		return formElements;
+	}
+
+   /**
+    * @description Uploads HTML form, inclusive of files/attachments, using the
+    * iframe created in createFrame to facilitate the transaction.
+    * @method uploadFile
+    * @private
+    * @static
+    * @param {int} id The transaction id.
+    * @param {object} callback User-defined callback object.
+    * @param {string} uri Fully qualified path of resource.
+    * @param {string} postData POST data to be submitted in addition to HTML form.
+    * @return {void}
+    */
+	function _uploadFile(o, callback, uri, postData){
+		// Each iframe has an id prefix of "yuiIO" followed
+		// by the unique transaction id.
+		var frameId = 'yuiIO' + o.tId,
+		    uploadEncoding = 'multipart/form-data',
+		    io = document.getElementById(frameId),
+		    ie8 = (document.documentMode && document.documentMode === 8) ? true : false,
+		    oConn = this,
+			args = (callback && callback.argument)?callback.argument:null,
+            oElements,i,prop,obj, rawFormAttributes, uploadCallback;
+
+		// Track original HTML form attribute values.
+		rawFormAttributes = {
+			action:this._formNode.getAttribute('action'),
+			method:this._formNode.getAttribute('method'),
+			target:this._formNode.getAttribute('target')
+		};
+
+		// Initialize the HTML form properties in case they are
+		// not defined in the HTML form.
+		this._formNode.setAttribute('action', uri);
+		this._formNode.setAttribute('method', 'POST');
+		this._formNode.setAttribute('target', frameId);
+
+		if(YAHOO.env.ua.ie && !ie8){
+			// IE does not respect property enctype for HTML forms.
+			// Instead it uses the property - "encoding".
+			this._formNode.setAttribute('encoding', uploadEncoding);
+		}
+		else{
+			this._formNode.setAttribute('enctype', uploadEncoding);
+		}
+
+		if(postData){
+			oElements = this.appendPostData(postData);
+		}
+
+		// Start file upload.
+		this._formNode.submit();
+
+		// Fire global custom event -- startEvent
+		this.startEvent.fire(o, args);
+
+		if(o.startEvent){
+			// Fire transaction custom event -- startEvent
+			o.startEvent.fire(o, args);
+		}
+
+		// Start polling if a callback is present and the timeout
+		// property has been defined.
+		if(callback && callback.timeout){
+			this._timeOut[o.tId] = window.setTimeout(function(){ oConn.abort(o, callback, true); }, callback.timeout);
+		}
+
+		// Remove HTML elements created by appendPostData
+		if(oElements && oElements.length > 0){
+			for(i=0; i < oElements.length; i++){
+				this._formNode.removeChild(oElements[i]);
+			}
+		}
+
+		// Restore HTML form attributes to their original
+		// values prior to file upload.
+		for(prop in rawFormAttributes){
+			if(YAHOO.lang.hasOwnProperty(rawFormAttributes, prop)){
+				if(rawFormAttributes[prop]){
+					this._formNode.setAttribute(prop, rawFormAttributes[prop]);
+				}
+				else{
+					this._formNode.removeAttribute(prop);
+				}
+			}
+		}
+
+		// Reset HTML form state properties.
+		this.resetFormState();
+
+		// Create the upload callback handler that fires when the iframe
+		// receives the load event.  Subsequently, the event handler is detached
+		// and the iframe removed from the document.
+		uploadCallback = function() {
+			if(callback && callback.timeout){
+				window.clearTimeout(oConn._timeOut[o.tId]);
+				delete oConn._timeOut[o.tId];
+			}
+
+			// Fire global custom event -- completeEvent
+			oConn.completeEvent.fire(o, args);
+
+			if(o.completeEvent){
+				// Fire transaction custom event -- completeEvent
+				o.completeEvent.fire(o, args);
+			}
+
+			obj = {
+			    tId : o.tId,
+			    argument : callback.argument
+            };
+
+			try
+			{
+				// responseText and responseXML will be populated with the same data from the iframe.
+				// Since the HTTP headers cannot be read from the iframe
+				obj.responseText = io.contentWindow.document.body?io.contentWindow.document.body.innerHTML:io.contentWindow.document.documentElement.textContent;
+				obj.responseXML = io.contentWindow.document.XMLDocument?io.contentWindow.document.XMLDocument:io.contentWindow.document;
+			}
+			catch(e){}
+
+			if(callback && callback.upload){
+				if(!callback.scope){
+					callback.upload(obj);
+					YAHOO.log('Upload callback.', 'info', 'Connection');
+				}
+				else{
+					callback.upload.apply(callback.scope, [obj]);
+					YAHOO.log('Upload callback with scope.', 'info', 'Connection');
+				}
+			}
+
+			// Fire global custom event -- uploadEvent
+			oConn.uploadEvent.fire(obj);
+
+			if(o.uploadEvent){
+				// Fire transaction custom event -- uploadEvent
+				o.uploadEvent.fire(obj);
+			}
+
+			YE.removeListener(io, "load", uploadCallback);
+
+			setTimeout(
+				function(){
+					document.body.removeChild(io);
+					oConn.releaseObject(o);
+					YAHOO.log('File upload iframe destroyed. Id is:' + frameId, 'info', 'Connection');
+				}, 100);
+		};
+
+		// Bind the onload handler to the iframe to detect the file upload response.
+		YE.addListener(io, "load", uploadCallback);
+	}
+
+	YCM.setForm = _setForm;
+	YCM.resetFormState = _resetFormState;
+	YCM.createFrame = _createFrame;
+	YCM.appendPostData = _appendPostData;
+	YCM.uploadFile = _uploadFile;
+})();
+
+YAHOO.register("connection", YAHOO.util.Connect, {version: "2.8.0r4", build: "2449"});

Property changes on: tags/2.8.2/wb/include/yui/connection/connection-debug.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/yui/connection/README
===================================================================
--- tags/2.8.2/wb/include/yui/connection/README	(nonexistent)
+++ tags/2.8.2/wb/include/yui/connection/README	(revision 1481)
@@ -0,0 +1,259 @@
+Connection Manager Release Notes
+
+*** version 2.4.1 ***
+
+No change
+
+*** version 2.4.0 ***
+
+* [FIXED] SF1804153.  Transactions initialized with setForm() now properly clear
+the POST data field after each transaction.
+
+* The callback object can accept a new member, cache, defined with a boolean
+value.  If set to false (e.g., var callback = { cache:false };), a timestamp
+will be appended to the URI to override HTTP GET caching.  This timestamp value
+will appear as rnd=timestamp in the request querystring.
+
+* Custom Events startEvent, completeEvent, and abortEvent now receive
+callback.argument, if defined, in addition to the transaction ID.  Each Custom
+Event's function handler receives two arguments -- the event type as the first
+argument, and an array as the second argument.  The first element in the array
+is the transaction ID, and the second element are any arguments defined in the
+callback object.
+
+*** version 2.3.1 ***
+
+* setDefaultPostHeader() can now be overloaded with a boolean, string, or
+number.  By default, POST transactions send the following Content-Type header:
+'application/x-www-form-urlencoded; charset=UTF-8'.
+
+A custom Content-Type header can now be set by passing its value to
+setDefaultPostHeader().
+
+* HTML form submissions now send a Content-Type header of "application/x-www-
+form-urlencoded", omitting the charset=UTF-8 value.
+
+* setDefaultXhrHeader() can now be overloaded with a boolean, string, or number.
+By default, all transactions send a custom header of "X-Requested-
+With:XMLHttpRequest".
+
+This default header value can be overridden by passing the desired value as an
+argument to setDefaultPostHeader().
+
+* The file upload iframe's event listener is now explicitly removed before the
+iframe is destroyed.
+
+*** version 2.3.0 ***
+
+* Custom Events are introduced in Connection Manager.  These events -- for a
+non-file upload transaction -- are:
+
+   * startEvent
+   * completeEvent
+   * successEvent
+   * failureEvent
+   * abortEvent
+
+For transactions involving file upload with an HTML form, the events are:
+
+   * startEvent
+   * completeEvent
+   * uploadEvent
+   * abortEvent
+
+* Event utility is a now Connection Manager dependency.
+
+* abort() and isCallInProgress() are now functional for file upload
+transactions.
+
+* NOTE: The native XHR implementation in Safari 2.0.4 has been confirmed to leak
+memory.
+
+* UPDATE: The XHR implementation in Safari 3.0 beta(and WebKit builds) now
+appear to handle HTTP 204 responses correctly.  XHR in Opera, as of 9.21, still
+does not produce a valid HTTP status code with an HTTP 204 response.
+
+*** version 2.2.2 ***
+
+* No revisions.
+
+*** version 2.2.1 ***
+
+* setForm() will include the correct name-value of the HTML Submit button
+clicked where multiple HTML Submit button options are present in an HTML form.
+To enable this feature, include the Event utility source file as a dependency
+before the Connection Manager source file.
+
+* The XHR implementation in IE6 and IE7, Opera, and Safari do not properly
+handle an HTTP 204 response.  IE6/7 will instead return a Win error 1223.
+handleTransactionResponse() will treat 1223 as an HTTP 204, and route the
+response appropriately to the success callback.  createResponseObject() will
+normalize the response object's status and statusText values to 204 and "No
+Content" respectively.  However, no headers are returned.
+
+Opera and Safari provide no discernable response with HTTP 204(e.g., response
+object's properties are undefined).  This response will trigger the failure
+callback with a status of 0 and statusText of "communication failure".
+
+*** version 2.2.0 ***
+
+* initHeader() now accepts a third argument as a boolean.  When set to true,
+this specific header will automatically be sent with each transaction.
+Otherwise, the header will be set and sent for the specific transaction only.
+Example: initHeader('X-YUI-State','Beta', true); all transactions will send this
+header.
+   * resetDefaultHeaders() will clear the default headers collection.
+
+* All Connection Mananger transactions will broadcast the header: "X-Requested-
+With: XMLHttpRequest".
+   * This can be turned off: YAHOO.util.Connect.setDefaultXhrHeader(false);
+
+* The HTTP method argument in asyncRequest is now case-insensitive.
+
+* uploadFile() will now correctly handle the absence of a callback object,
+allowing the transaction to complete silently.
+
+*** version 0.12.2 ***
+
+* The Opera/Connection Manager concurrent object condition, described in version
+0.12.0, no longer tests applies for Opera, version 9.10.
+
+*** version 0.12.1 ***
+
+* connection-debug.js corrected and synchronized with connection.js.  Code
+inconsistencies between the two files existed in 0.12.0.
+
+*** version 0.12.0 ***
+
+* When uploading files via setForm() and asyncRequest includes a POST data
+argument, appendPostData() will create hidden input fields for each postData
+label/value and append each field to the form object.
+
+* setForm() returns the assembled label/value string of the parsed HTML form
+fields.
+
+* NOTE: Opera 9.02 does not allow for more than 12 concurrent Connection Manager
+objects.
+
+The following example creates 12 requests in a loop:
+for(var n=0; n<=12; i++){
+  conn[n] = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback);
+}
+
+If n > 13, Opera 9.02 will crash.  Connection manager objects count n must be <=
+12 at all times.  This condition was not present in Opera version 9.01.
+
+This condition does not apply to other A-Grade browsers (
+http://developer.yahoo.com/yui/articles/gbs/gbs_browser-chart.html)
+
+*** version 0.11.3 ***
+
+* YUI Event dependency for file uploading is now optional.
+
+* uploadFile() now sets unique IDs for each file upload transaction to prevent
+iframe collisions with parallel uploads.
+
+* The callback object now has property responseXML to provide support for file
+upload transactions that return an XML document.
+
+* setForm() will verify if a select option value attribute is present and use
+its value, including empty string, before using the text node value.
+
+* Modified polling mechanism in handleReadyState() and
+handleTransactionResponse() to prevent infinite polling if JavaScript errors
+occur in the user-defined callback.
+
+* createFrame() will now accept a boolean argument of true to set the frame
+source to "javascript:false" to prevent IE from throwing security warnings in an
+HTTPS environment.
+
+* setHeader() now enumerates through the _http_header object using
+hasOwnProperty() to prevent collisions with members added to Object via
+prototype.
+
+* If using setForm() and asyncRequest includes a POST data argument, the data
+will be concatenated to the HTML form POST message.
+
+*** version 0.11.2 ***
+
+* No revisions.
+
+*** version 0.11.1 ***
+
+* uploadFile() now verifies the existence of callback.upload before invoking
+callback, with or without object scope.
+
+*** version 0.11.0 ***
+
+* Each transaction can be defined with a timeout threshold, in milliseconds,
+through the callback object.  If the threshold is reached, and the transaction
+hasn't yet completed, the transaction will call abort().
+
+* abort() will now accept a callback object as the second argument.  The
+failure callback will receive a response object to indicate the transaction was
+aborted.
+
+* setForm() will now support file uploads by setting the second argument to
+true (e.g., YAHOO.util.Connect.setForm(formObject, true).  File upload does not
+use the callback success or failure handler.  Instead, it uses a new callback
+object handler: upload.
+
+* HTML form submit will no longer submit form fields without a defined name
+attribute.
+
+* The default POST header of 'Content-Type','application/x-www-form-urlencoded'
+can be overridden by calling setDefaultPostHeader(false).  This
+will remove the default header from non-HTML form, POST submissions.
+
+* setHeader() now enumerates through the _http_header object with
+propertyIsEnumerable to prevent collisions with members added to Object via
+prototype.
+
+*** version 0.10.0 ***
+
+* handleTransactionResponse() now treats the full HTTP 2xx range as a success
+case, instead of just HTTP 200.
+
+* To accommodate multiple field values in Mozilla/Firefox, multiple initHeader
+calls with the same label will now result in the values concatenated to a
+comma- delimited string value.
+Example:
+Setting Content-Type:'application/x-www-form-urlencoded' and Content-
+Type:'text/xml' will result in Content-Type:'application/x-www-form-urlencoded,
+text/xml'.
+
+* Default polling interval lowered to 50ms.
+
+* YAHOO.util.Connect.setPollingInterval() will allow you to set a polling
+interval -- in milliseconds -- to override the default value.
+
+* YAHOO.util.Connect.getResponseHeader[headerLabel] now supported as a response
+object property to provide symmetry with the native XHR object's property.
+Example:
+YAHOO.util.Connect.getResponseHeader['Content-Length'] will return the value
+for the Content-Length header, if the header is available.
+
+* YAHOO.util.Connect.allResponseHeaders property renamed to
+getAllResponseHeaders to provide symmetry with the native XHR object's
+property.
+
+* YAHOO.util.Connect.setForm() now supports HTTP GET as well as HTTP POST.
+
+* YAHOO.util.Connect.setForm() now accepts an HTML form object as well as its
+name attribute value.
+
+* YAHOO.util.Connect.setForm() will not submit HTML form fields that are
+disabled or do not have a name attribute value.
+
+* [FIXED] Response exceptions result in infinite callback loop in
+Mozilla/Firefox.
+
+* [FIXED] YAHOO.util.Connect.abort() now properly clears polling interval.
+
+* [FIXED] isCallInProgress() now verifies whether XHR instance still exists,
+and returns false if the connection object is no longer available.
+
+*** version 0.9.0 ***
+
+* Initial release
+

Property changes on: tags/2.8.2/wb/include/yui/connection/README
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/yui/dom/dom.js
===================================================================
--- tags/2.8.2/wb/include/yui/dom/dom.js	(nonexistent)
+++ tags/2.8.2/wb/include/yui/dom/dom.js	(revision 1481)
@@ -0,0 +1,1832 @@
+/*
+Copyright (c) 2009, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.8.0r4
+*/
+/**
+ * The dom module provides helper methods for manipulating Dom elements.
+ * @module dom
+ *
+ */
+
+(function() {
+    // for use with generateId (global to save state if Dom is overwritten)
+    YAHOO.env._id_counter = YAHOO.env._id_counter || 0;
+
+    // internal shorthand
+    var Y = YAHOO.util,
+        lang = YAHOO.lang,
+        UA = YAHOO.env.ua,
+        trim = YAHOO.lang.trim,
+        propertyCache = {}, // for faster hyphen converts
+        reCache = {}, // cache className regexes
+        RE_TABLE = /^t(?:able|d|h)$/i, // for _calcBorders
+        RE_COLOR = /color$/i,
+
+        // DOM aliases 
+        document = window.document,     
+        documentElement = document.documentElement,
+
+        // string constants
+        OWNER_DOCUMENT = 'ownerDocument',
+        DEFAULT_VIEW = 'defaultView',
+        DOCUMENT_ELEMENT = 'documentElement',
+        COMPAT_MODE = 'compatMode',
+        OFFSET_LEFT = 'offsetLeft',
+        OFFSET_TOP = 'offsetTop',
+        OFFSET_PARENT = 'offsetParent',
+        PARENT_NODE = 'parentNode',
+        NODE_TYPE = 'nodeType',
+        TAG_NAME = 'tagName',
+        SCROLL_LEFT = 'scrollLeft',
+        SCROLL_TOP = 'scrollTop',
+        GET_BOUNDING_CLIENT_RECT = 'getBoundingClientRect',
+        GET_COMPUTED_STYLE = 'getComputedStyle',
+        CURRENT_STYLE = 'currentStyle',
+        CSS1_COMPAT = 'CSS1Compat',
+        _BACK_COMPAT = 'BackCompat',
+        _CLASS = 'class', // underscore due to reserved word
+        CLASS_NAME = 'className',
+        EMPTY = '',
+        SPACE = ' ',
+        C_START = '(?:^|\\s)',
+        C_END = '(?= |$)',
+        G = 'g',
+        POSITION = 'position',
+        FIXED = 'fixed',
+        RELATIVE = 'relative',
+        LEFT = 'left',
+        TOP = 'top',
+        MEDIUM = 'medium',
+        BORDER_LEFT_WIDTH = 'borderLeftWidth',
+        BORDER_TOP_WIDTH = 'borderTopWidth',
+    
+    // brower detection
+        isOpera = UA.opera,
+        isSafari = UA.webkit, 
+        isGecko = UA.gecko, 
+        isIE = UA.ie; 
+    
+    /**
+     * Provides helper methods for DOM elements.
+     * @namespace YAHOO.util
+     * @class Dom
+     * @requires yahoo, event
+     */
+    Y.Dom = {
+        CUSTOM_ATTRIBUTES: (!documentElement.hasAttribute) ? { // IE < 8
+            'for': 'htmlFor',
+            'class': CLASS_NAME
+        } : { // w3c
+            'htmlFor': 'for',
+            'className': _CLASS
+        },
+
+        DOT_ATTRIBUTES: {},
+
+        /**
+         * Returns an HTMLElement reference.
+         * @method get
+         * @param {String | HTMLElement |Array} el Accepts a string to use as an ID for getting a DOM reference, an actual DOM reference, or an Array of IDs and/or HTMLElements.
+         * @return {HTMLElement | Array} A DOM reference to an HTML element or an array of HTMLElements.
+         */
+        get: function(el) {
+            var id, nodes, c, i, len, attr;
+
+            if (el) {
+                if (el[NODE_TYPE] || el.item) { // Node, or NodeList
+                    return el;
+                }
+
+                if (typeof el === 'string') { // id
+                    id = el;
+                    el = document.getElementById(el);
+                    attr = (el) ? el.attributes : null;
+                    if (el && attr && attr.id && attr.id.value === id) { // IE: avoid false match on "name" attribute
+                        return el;
+                    } else if (el && document.all) { // filter by name
+                        el = null;
+                        nodes = document.all[id];
+                        for (i = 0, len = nodes.length; i < len; ++i) {
+                            if (nodes[i].id === id) {
+                                return nodes[i];
+                            }
+                        }
+                    }
+                    return el;
+                }
+                
+                if (YAHOO.util.Element && el instanceof YAHOO.util.Element) {
+                    el = el.get('element');
+                }
+
+                if ('length' in el) { // array-like 
+                    c = [];
+                    for (i = 0, len = el.length; i < len; ++i) {
+                        c[c.length] = Y.Dom.get(el[i]);
+                    }
+                    
+                    return c;
+                }
+
+                return el; // some other object, just pass it back
+            }
+
+            return null;
+        },
+    
+        getComputedStyle: function(el, property) {
+            if (window[GET_COMPUTED_STYLE]) {
+                return el[OWNER_DOCUMENT][DEFAULT_VIEW][GET_COMPUTED_STYLE](el, null)[property];
+            } else if (el[CURRENT_STYLE]) {
+                return Y.Dom.IE_ComputedStyle.get(el, property);
+            }
+        },
+
+        /**
+         * Normalizes currentStyle and ComputedStyle.
+         * @method getStyle
+         * @param {String | HTMLElement |Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements.
+         * @param {String} property The style property whose value is returned.
+         * @return {String | Array} The current value of the style property for the element(s).
+         */
+        getStyle: function(el, property) {
+            return Y.Dom.batch(el, Y.Dom._getStyle, property);
+        },
+
+        // branching at load instead of runtime
+        _getStyle: function() {
+            if (window[GET_COMPUTED_STYLE]) { // W3C DOM method
+                return function(el, property) {
+                    property = (property === 'float') ? property = 'cssFloat' :
+                            Y.Dom._toCamel(property);
+
+                    var value = el.style[property],
+                        computed;
+                    
+                    if (!value) {
+                        computed = el[OWNER_DOCUMENT][DEFAULT_VIEW][GET_COMPUTED_STYLE](el, null);
+                        if (computed) { // test computed before touching for safari
+                            value = computed[property];
+                        }
+                    }
+                    
+                    return value;
+                };
+            } else if (documentElement[CURRENT_STYLE]) {
+                return function(el, property) {                         
+                    var value;
+
+                    switch(property) {
+                        case 'opacity' :// IE opacity uses filter
+                            value = 100;
+                            try { // will error if no DXImageTransform
+                                value = el.filters['DXImageTransform.Microsoft.Alpha'].opacity;
+
+                            } catch(e) {
+                                try { // make sure its in the document
+                                    value = el.filters('alpha').opacity;
+                                } catch(err) {
+                                }
+                            }
+                            return value / 100;
+                        case 'float': // fix reserved word
+                            property = 'styleFloat'; // fall through
+                        default: 
+                            property = Y.Dom._toCamel(property);
+                            value = el[CURRENT_STYLE] ? el[CURRENT_STYLE][property] : null;
+                            return ( el.style[property] || value );
+                    }
+                };
+            }
+        }(),
+    
+        /**
+         * Wrapper for setting style properties of HTMLElements.  Normalizes "opacity" across modern browsers.
+         * @method setStyle
+         * @param {String | HTMLElement | Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements.
+         * @param {String} property The style property to be set.
+         * @param {String} val The value to apply to the given property.
+         */
+        setStyle: function(el, property, val) {
+            Y.Dom.batch(el, Y.Dom._setStyle, { prop: property, val: val });
+        },
+
+        _setStyle: function() {
+            if (isIE) {
+                return function(el, args) {
+                    var property = Y.Dom._toCamel(args.prop),
+                        val = args.val;
+
+                    if (el) {
+                        switch (property) {
+                            case 'opacity':
+                                if ( lang.isString(el.style.filter) ) { // in case not appended
+                                    el.style.filter = 'alpha(opacity=' + val * 100 + ')';
+                                    
+                                    if (!el[CURRENT_STYLE] || !el[CURRENT_STYLE].hasLayout) {
+                                        el.style.zoom = 1; // when no layout or cant tell
+                                    }
+                                }
+                                break;
+                            case 'float':
+                                property = 'styleFloat';
+                            default:
+                            el.style[property] = val;
+                        }
+                    } else {
+                    }
+                };
+            } else {
+                return function(el, args) {
+                    var property = Y.Dom._toCamel(args.prop),
+                        val = args.val;
+                    if (el) {
+                        if (property == 'float') {
+                            property = 'cssFloat';
+                        }
+                        el.style[property] = val;
+                    } else {
+                    }
+                };
+            }
+
+        }(),
+        
+        /**
+         * Gets the current position of an element based on page coordinates. 
+         * Element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
+         * @method getXY
+         * @param {String | HTMLElement | Array} el Accepts a string to use as an ID, an actual DOM
+         * reference, or an Array of IDs and/or HTMLElements
+         * @return {Array} The XY position of the element(s)
+         */
+        getXY: function(el) {
+            return Y.Dom.batch(el, Y.Dom._getXY);
+        },
+
+        _canPosition: function(el) {
+            return ( Y.Dom._getStyle(el, 'display') !== 'none' && Y.Dom._inDoc(el) );
+        },
+
+        _getXY: function() {
+            if (document[DOCUMENT_ELEMENT][GET_BOUNDING_CLIENT_RECT]) {
+                return function(node) {
+                    var scrollLeft, scrollTop, box, doc,
+                        off1, off2, mode, bLeft, bTop,
+                        floor = Math.floor, // TODO: round?
+                        xy = false;
+
+                    if (Y.Dom._canPosition(node)) {
+                        box = node[GET_BOUNDING_CLIENT_RECT]();
+                        doc = node[OWNER_DOCUMENT];
+                        scrollLeft = Y.Dom.getDocumentScrollLeft(doc);
+                        scrollTop = Y.Dom.getDocumentScrollTop(doc);
+                        xy = [floor(box[LEFT]), floor(box[TOP])];
+
+                        if (isIE && UA.ie < 8) { // IE < 8: viewport off by 2
+                            off1 = 2;
+                            off2 = 2;
+                            mode = doc[COMPAT_MODE];
+
+                            if (UA.ie === 6) {
+                                if (mode !== _BACK_COMPAT) {
+                                    off1 = 0;
+                                    off2 = 0;
+                                }
+                            }
+                            
+                            if ((mode === _BACK_COMPAT)) {
+                                bLeft = _getComputedStyle(doc[DOCUMENT_ELEMENT], BORDER_LEFT_WIDTH);
+                                bTop = _getComputedStyle(doc[DOCUMENT_ELEMENT], BORDER_TOP_WIDTH);
+                                if (bLeft !== MEDIUM) {
+                                    off1 = parseInt(bLeft, 10);
+                                }
+                                if (bTop !== MEDIUM) {
+                                    off2 = parseInt(bTop, 10);
+                                }
+                            }
+                            
+                            xy[0] -= off1;
+                            xy[1] -= off2;
+
+                        }
+
+                        if ((scrollTop || scrollLeft)) {
+                            xy[0] += scrollLeft;
+                            xy[1] += scrollTop;
+                        }
+
+                        // gecko may return sub-pixel (non-int) values
+                        xy[0] = floor(xy[0]);
+                        xy[1] = floor(xy[1]);
+                    } else {
+                    }
+
+                    return xy;
+                };
+            } else {
+                return function(node) { // ff2, safari: manually calculate by crawling up offsetParents
+                    var docScrollLeft, docScrollTop,
+                        scrollTop, scrollLeft,
+                        bCheck,
+                        xy = false,
+                        parentNode = node;
+
+                    if  (Y.Dom._canPosition(node) ) {
+                        xy = [node[OFFSET_LEFT], node[OFFSET_TOP]];
+                        docScrollLeft = Y.Dom.getDocumentScrollLeft(node[OWNER_DOCUMENT]);
+                        docScrollTop = Y.Dom.getDocumentScrollTop(node[OWNER_DOCUMENT]);
+
+                        // TODO: refactor with !! or just falsey
+                        bCheck = ((isGecko || UA.webkit > 519) ? true : false);
+
+                        // TODO: worth refactoring for TOP/LEFT only?
+                        while ((parentNode = parentNode[OFFSET_PARENT])) {
+                            xy[0] += parentNode[OFFSET_LEFT];
+                            xy[1] += parentNode[OFFSET_TOP];
+                            if (bCheck) {
+                                xy = Y.Dom._calcBorders(parentNode, xy);
+                            }
+                        }
+
+                        // account for any scrolled ancestors
+                        if (Y.Dom._getStyle(node, POSITION) !== FIXED) {
+                            parentNode = node;
+
+                            while ((parentNode = parentNode[PARENT_NODE]) && parentNode[TAG_NAME]) {
+                                scrollTop = parentNode[SCROLL_TOP];
+                                scrollLeft = parentNode[SCROLL_LEFT];
+
+                                //Firefox does something funky with borders when overflow is not visible.
+                                if (isGecko && (Y.Dom._getStyle(parentNode, 'overflow') !== 'visible')) {
+                                        xy = Y.Dom._calcBorders(parentNode, xy);
+                                }
+
+                                if (scrollTop || scrollLeft) {
+                                    xy[0] -= scrollLeft;
+                                    xy[1] -= scrollTop;
+                                }
+                            }
+                            xy[0] += docScrollLeft;
+                            xy[1] += docScrollTop;
+
+                        } else {
+                            //Fix FIXED position -- add scrollbars
+                            if (isOpera) {
+                                xy[0] -= docScrollLeft;
+                                xy[1] -= docScrollTop;
+                            } else if (isSafari || isGecko) {
+                                xy[0] += docScrollLeft;
+                                xy[1] += docScrollTop;
+                            }
+                        }
+                        //Round the numbers so we get sane data back
+                        xy[0] = Math.floor(xy[0]);
+                        xy[1] = Math.floor(xy[1]);
+                    } else {
+                    }
+                    return xy;                
+                };
+            }
+        }(), // NOTE: Executing for loadtime branching
+        
+        /**
+         * Gets the current X position of an element based on page coordinates.  The element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
+         * @method getX
+         * @param {String | HTMLElement | Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements
+         * @return {Number | Array} The X position of the element(s)
+         */
+        getX: function(el) {
+            var f = function(el) {
+                return Y.Dom.getXY(el)[0];
+            };
+            
+            return Y.Dom.batch(el, f, Y.Dom, true);
+        },
+        
+        /**
+         * Gets the current Y position of an element based on page coordinates.  Element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
+         * @method getY
+         * @param {String | HTMLElement | Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements
+         * @return {Number | Array} The Y position of the element(s)
+         */
+        getY: function(el) {
+            var f = function(el) {
+                return Y.Dom.getXY(el)[1];
+            };
+            
+            return Y.Dom.batch(el, f, Y.Dom, true);
+        },
+        
+        /**
+         * Set the position of an html element in page coordinates, regardless of how the element is positioned.
+         * The element(s) must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
+         * @method setXY
+         * @param {String | HTMLElement | Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements
+         * @param {Array} pos Contains X & Y values for new position (coordinates are page-based)
+         * @param {Boolean} noRetry By default we try and set the position a second time if the first fails
+         */
+        setXY: function(el, pos, noRetry) {
+            Y.Dom.batch(el, Y.Dom._setXY, { pos: pos, noRetry: noRetry });
+        },
+
+        _setXY: function(node, args) {
+            var pos = Y.Dom._getStyle(node, POSITION),
+                setStyle = Y.Dom.setStyle,
+                xy = args.pos,
+                noRetry = args.noRetry,
+
+                delta = [ // assuming pixels; if not we will have to retry
+                    parseInt( Y.Dom.getComputedStyle(node, LEFT), 10 ),
+                    parseInt( Y.Dom.getComputedStyle(node, TOP), 10 )
+                ],
+
+                currentXY,
+                newXY;
+        
+            if (pos == 'static') { // default to relative
+                pos = RELATIVE;
+                setStyle(node, POSITION, pos);
+            }
+
+            currentXY = Y.Dom._getXY(node);
+
+            if (!xy || currentXY === false) { // has to be part of doc to have xy
+                return false; 
+            }
+            
+            if ( isNaN(delta[0]) ) {// in case of 'auto'
+                delta[0] = (pos == RELATIVE) ? 0 : node[OFFSET_LEFT];
+            } 
+            if ( isNaN(delta[1]) ) { // in case of 'auto'
+                delta[1] = (pos == RELATIVE) ? 0 : node[OFFSET_TOP];
+            } 
+
+            if (xy[0] !== null) { // from setX
+                setStyle(node, LEFT, xy[0] - currentXY[0] + delta[0] + 'px');
+            }
+
+            if (xy[1] !== null) { // from setY
+                setStyle(node, TOP, xy[1] - currentXY[1] + delta[1] + 'px');
+            }
+          
+            if (!noRetry) {
+                newXY = Y.Dom._getXY(node);
+
+                // if retry is true, try one more time if we miss 
+               if ( (xy[0] !== null && newXY[0] != xy[0]) || 
+                    (xy[1] !== null && newXY[1] != xy[1]) ) {
+                   Y.Dom._setXY(node, { pos: xy, noRetry: true });
+               }
+            }        
+
+        },
+        
+        /**
+         * Set the X position of an html element in page coordinates, regardless of how the element is positioned.
+         * The element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
+         * @method setX
+         * @param {String | HTMLElement | Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements.
+         * @param {Int} x The value to use as the X coordinate for the element(s).
+         */
+        setX: function(el, x) {
+            Y.Dom.setXY(el, [x, null]);
+        },
+        
+        /**
+         * Set the Y position of an html element in page coordinates, regardless of how the element is positioned.
+         * The element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
+         * @method setY
+         * @param {String | HTMLElement | Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements.
+         * @param {Int} x To use as the Y coordinate for the element(s).
+         */
+        setY: function(el, y) {
+            Y.Dom.setXY(el, [null, y]);
+        },
+        
+        /**
+         * Returns the region position of the given element.
+         * The element must be part of the DOM tree to have a region (display:none or elements not appended return false).
+         * @method getRegion
+         * @param {String | HTMLElement | Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements.
+         * @return {Region | Array} A Region or array of Region instances containing "top, left, bottom, right" member data.
+         */
+        getRegion: function(el) {
+            var f = function(el) {
+                var region = false;
+                if ( Y.Dom._canPosition(el) ) {
+                    region = Y.Region.getRegion(el);
+                } else {
+                }
+
+                return region;
+            };
+            
+            return Y.Dom.batch(el, f, Y.Dom, true);
+        },
+        
+        /**
+         * Returns the width of the client (viewport).
+         * @method getClientWidth
+         * @deprecated Now using getViewportWidth.  This interface left intact for back compat.
+         * @return {Int} The width of the viewable area of the page.
+         */
+        getClientWidth: function() {
+            return Y.Dom.getViewportWidth();
+        },
+        
+        /**
+         * Returns the height of the client (viewport).
+         * @method getClientHeight
+         * @deprecated Now using getViewportHeight.  This interface left intact for back compat.
+         * @return {Int} The height of the viewable area of the page.
+         */
+        getClientHeight: function() {
+            return Y.Dom.getViewportHeight();
+        },
+
+        /**
+         * Returns an array of HTMLElements with the given class.
+         * For optimized performance, include a tag and/or root node when possible.
+         * Note: This method operates against a live collection, so modifying the 
+         * collection in the callback (removing/appending nodes, etc.) will have
+         * side effects.  Instead you should iterate the returned nodes array,
+         * as you would with the native "getElementsByTagName" method. 
+         * @method getElementsByClassName
+         * @param {String} className The class name to match against
+         * @param {String} tag (optional) The tag name of the elements being collected
+         * @param {String | HTMLElement} root (optional) The HTMLElement or an ID to use as the starting point.
+         * This element is not included in the className scan.
+         * @param {Function} apply (optional) A function to apply to each element when found 
+         * @param {Any} o (optional) An optional arg that is passed to the supplied method
+         * @param {Boolean} overrides (optional) Whether or not to override the scope of "method" with "o"
+         * @return {Array} An array of elements that have the given class name
+         */
+        getElementsByClassName: function(className, tag, root, apply, o, overrides) {
+            tag = tag || '*';
+            root = (root) ? Y.Dom.get(root) : null || document; 
+            if (!root) {
+                return [];
+            }
+
+            var nodes = [],
+                elements = root.getElementsByTagName(tag),
+                hasClass = Y.Dom.hasClass;
+
+            for (var i = 0, len = elements.length; i < len; ++i) {
+                if ( hasClass(elements[i], className) ) {
+                    nodes[nodes.length] = elements[i];
+                }
+            }
+            
+            if (apply) {
+                Y.Dom.batch(nodes, apply, o, overrides);
+            }
+
+            return nodes;
+        },
+
+        /**
+         * Determines whether an HTMLElement has the given className.
+         * @method hasClass
+         * @param {String | HTMLElement | Array} el The element or collection to test
+         * @param {String} className the class name to search for
+         * @return {Boolean | Array} A boolean value or array of boolean values
+         */
+        hasClass: function(el, className) {
+            return Y.Dom.batch(el, Y.Dom._hasClass, className);
+        },
+
+        _hasClass: function(el, className) {
+            var ret = false,
+                current;
+            
+            if (el && className) {
+                current = Y.Dom._getAttribute(el, CLASS_NAME) || EMPTY;
+                if (className.exec) {
+                    ret = className.test(current);
+                } else {
+                    ret = className && (SPACE + current + SPACE).
+                        indexOf(SPACE + className + SPACE) > -1;
+                }
+            } else {
+            }
+
+            return ret;
+        },
+    
+        /**
+         * Adds a class name to a given element or collection of elements.
+         * @method addClass         
+         * @param {String | HTMLElement | Array} el The element or collection to add the class to
+         * @param {String} className the class name to add to the class attribute
+         * @return {Boolean | Array} A pass/fail boolean or array of booleans
+         */
+        addClass: function(el, className) {
+            return Y.Dom.batch(el, Y.Dom._addClass, className);
+        },
+
+        _addClass: function(el, className) {
+            var ret = false,
+                current;
+
+            if (el && className) {
+                current = Y.Dom._getAttribute(el, CLASS_NAME) || EMPTY;
+                if ( !Y.Dom._hasClass(el, className) ) {
+                    Y.Dom.setAttribute(el, CLASS_NAME, trim(current + SPACE + className));
+                    ret = true;
+                }
+            } else {
+            }
+
+            return ret;
+        },
+    
+        /**
+         * Removes a class name from a given element or collection of elements.
+         * @method removeClass         
+         * @param {String | HTMLElement | Array} el The element or collection to remove the class from
+         * @param {String} className the class name to remove from the class attribute
+         * @return {Boolean | Array} A pass/fail boolean or array of booleans
+         */
+        removeClass: function(el, className) {
+            return Y.Dom.batch(el, Y.Dom._removeClass, className);
+        },
+        
+        _removeClass: function(el, className) {
+            var ret = false,
+                current,
+                newClass,
+                attr;
+
+            if (el && className) {
+                current = Y.Dom._getAttribute(el, CLASS_NAME) || EMPTY;
+                Y.Dom.setAttribute(el, CLASS_NAME, current.replace(Y.Dom._getClassRegex(className), EMPTY));
+
+                newClass = Y.Dom._getAttribute(el, CLASS_NAME);
+                if (current !== newClass) { // else nothing changed
+                    Y.Dom.setAttribute(el, CLASS_NAME, trim(newClass)); // trim after comparing to current class
+                    ret = true;
+
+                    if (Y.Dom._getAttribute(el, CLASS_NAME) === '') { // remove class attribute if empty
+                        attr = (el.hasAttribute && el.hasAttribute(_CLASS)) ? _CLASS : CLASS_NAME;
+                        el.removeAttribute(attr);
+                    }
+                }
+
+            } else {
+            }
+
+            return ret;
+        },
+        
+        /**
+         * Replace a class with another class for a given element or collection of elements.
+         * If no oldClassName is present, the newClassName is simply added.
+         * @method replaceClass  
+         * @param {String | HTMLElement | Array} el The element or collection to remove the class from
+         * @param {String} oldClassName the class name to be replaced
+         * @param {String} newClassName the class name that will be replacing the old class name
+         * @return {Boolean | Array} A pass/fail boolean or array of booleans
+         */
+        replaceClass: function(el, oldClassName, newClassName) {
+            return Y.Dom.batch(el, Y.Dom._replaceClass, { from: oldClassName, to: newClassName });
+        },
+
+        _replaceClass: function(el, classObj) {
+            var className,
+                from,
+                to,
+                ret = false,
+                current;
+
+            if (el && classObj) {
+                from = classObj.from;
+                to = classObj.to;
+
+                if (!to) {
+                    ret = false;
+                }  else if (!from) { // just add if no "from"
+                    ret = Y.Dom._addClass(el, classObj.to);
+                } else if (from !== to) { // else nothing to replace
+                    // May need to lead with DBLSPACE?
+                    current = Y.Dom._getAttribute(el, CLASS_NAME) || EMPTY;
+                    className = (SPACE + current.replace(Y.Dom._getClassRegex(from), SPACE + to)).
+                               split(Y.Dom._getClassRegex(to));
+
+                    // insert to into what would have been the first occurrence slot
+                    className.splice(1, 0, SPACE + to);
+                    Y.Dom.setAttribute(el, CLASS_NAME, trim(className.join(EMPTY)));
+                    ret = true;
+                }
+            } else {
+            }
+
+            return ret;
+        },
+        
+        /**
+         * Returns an ID and applies it to the element "el", if provided.
+         * @method generateId  
+         * @param {String | HTMLElement | Array} el (optional) An optional element array of elements to add an ID to (no ID is added if one is already present).
+         * @param {String} prefix (optional) an optional prefix to use (defaults to "yui-gen").
+         * @return {String | Array} The generated ID, or array of generated IDs (or original ID if already present on an element)
+         */
+        generateId: function(el, prefix) {
+            prefix = prefix || 'yui-gen';
+
+            var f = function(el) {
+                if (el && el.id) { // do not override existing ID
+                    return el.id;
+                }
+
+                var id = prefix + YAHOO.env._id_counter++;
+
+                if (el) {
+                    if (el[OWNER_DOCUMENT] && el[OWNER_DOCUMENT].getElementById(id)) { // in case one already exists
+                        // use failed id plus prefix to help ensure uniqueness
+                        return Y.Dom.generateId(el, id + prefix);
+                    }
+                    el.id = id;
+                }
+                
+                return id;
+            };
+
+            // batch fails when no element, so just generate and return single ID
+            return Y.Dom.batch(el, f, Y.Dom, true) || f.apply(Y.Dom, arguments);
+        },
+        
+        /**
+         * Determines whether an HTMLElement is an ancestor of another HTML element in the DOM hierarchy.
+         * @method isAncestor
+         * @param {String | HTMLElement} haystack The possible ancestor
+         * @param {String | HTMLElement} needle The possible descendent
+         * @return {Boolean} Whether or not the haystack is an ancestor of needle
+         */
+        isAncestor: function(haystack, needle) {
+            haystack = Y.Dom.get(haystack);
+            needle = Y.Dom.get(needle);
+            
+            var ret = false;
+
+            if ( (haystack && needle) && (haystack[NODE_TYPE] && needle[NODE_TYPE]) ) {
+                if (haystack.contains && haystack !== needle) { // contains returns true when equal
+                    ret = haystack.contains(needle);
+                }
+                else if (haystack.compareDocumentPosition) { // gecko
+                    ret = !!(haystack.compareDocumentPosition(needle) & 16);
+                }
+            } else {
+            }
+            return ret;
+        },
+        
+        /**
+         * Determines whether an HTMLElement is present in the current document.
+         * @method inDocument         
+         * @param {String | HTMLElement} el The element to search for
+         * @param {Object} doc An optional document to search, defaults to element's owner document 
+         * @return {Boolean} Whether or not the element is present in the current document
+         */
+        inDocument: function(el, doc) {
+            return Y.Dom._inDoc(Y.Dom.get(el), doc);
+        },
+
+        _inDoc: function(el, doc) {
+            var ret = false;
+            if (el && el[TAG_NAME]) {
+                doc = doc || el[OWNER_DOCUMENT]; 
+                ret = Y.Dom.isAncestor(doc[DOCUMENT_ELEMENT], el);
+            } else {
+            }
+            return ret;
+        },
+        
+        /**
+         * Returns an array of HTMLElements that pass the test applied by supplied boolean method.
+         * For optimized performance, include a tag and/or root node when possible.
+         * Note: This method operates against a live collection, so modifying the 
+         * collection in the callback (removing/appending nodes, etc.) will have
+         * side effects.  Instead you should iterate the returned nodes array,
+         * as you would with the native "getElementsByTagName" method. 
+         * @method getElementsBy
+         * @param {Function} method - A boolean method for testing elements which receives the element as its only argument.
+         * @param {String} tag (optional) The tag name of the elements being collected
+         * @param {String | HTMLElement} root (optional) The HTMLElement or an ID to use as the starting point 
+         * @param {Function} apply (optional) A function to apply to each element when found 
+         * @param {Any} o (optional) An optional arg that is passed to the supplied method
+         * @param {Boolean} overrides (optional) Whether or not to override the scope of "method" with "o"
+         * @return {Array} Array of HTMLElements
+         */
+        getElementsBy: function(method, tag, root, apply, o, overrides, firstOnly) {
+            tag = tag || '*';
+            root = (root) ? Y.Dom.get(root) : null || document; 
+
+            if (!root) {
+                return [];
+            }
+
+            var nodes = [],
+                elements = root.getElementsByTagName(tag);
+            
+            for (var i = 0, len = elements.length; i < len; ++i) {
+                if ( method(elements[i]) ) {
+                    if (firstOnly) {
+                        nodes = elements[i]; 
+                        break;
+                    } else {
+                        nodes[nodes.length] = elements[i];
+                    }
+                }
+            }
+
+            if (apply) {
+                Y.Dom.batch(nodes, apply, o, overrides);
+            }
+
+            
+            return nodes;
+        },
+        
+        /**
+         * Returns the first HTMLElement that passes the test applied by the supplied boolean method.
+         * @method getElementBy
+         * @param {Function} method - A boolean method for testing elements which receives the element as its only argument.
+         * @param {String} tag (optional) The tag name of the elements being collected
+         * @param {String | HTMLElement} root (optional) The HTMLElement or an ID to use as the starting point 
+         * @return {HTMLElement}
+         */
+        getElementBy: function(method, tag, root) {
+            return Y.Dom.getElementsBy(method, tag, root, null, null, null, true); 
+        },
+
+        /**
+         * Runs the supplied method against each item in the Collection/Array.
+         * The method is called with the element(s) as the first arg, and the optional param as the second ( method(el, o) ).
+         * @method batch
+         * @param {String | HTMLElement | Array} el (optional) An element or array of elements to apply the method to
+         * @param {Function} method The method to apply to the element(s)
+         * @param {Any} o (optional) An optional arg that is passed to the supplied method
+         * @param {Boolean} overrides (optional) Whether or not to override the scope of "method" with "o"
+         * @return {Any | Array} The return value(s) from the supplied method
+         */
+        batch: function(el, method, o, overrides) {
+            var collection = [],
+                scope = (overrides) ? o : window;
+                
+            el = (el && (el[TAG_NAME] || el.item)) ? el : Y.Dom.get(el); // skip get() when possible
+            if (el && method) {
+                if (el[TAG_NAME] || el.length === undefined) { // element or not array-like 
+                    return method.call(scope, el, o);
+                } 
+
+                for (var i = 0; i < el.length; ++i) {
+                    collection[collection.length] = method.call(scope, el[i], o);
+                }
+            } else {
+                return false;
+            } 
+            return collection;
+        },
+        
+        /**
+         * Returns the height of the document.
+         * @method getDocumentHeight
+         * @return {Int} The height of the actual document (which includes the body and its margin).
+         */
+        getDocumentHeight: function() {
+            var scrollHeight = (document[COMPAT_MODE] != CSS1_COMPAT || isSafari) ? document.body.scrollHeight : documentElement.scrollHeight,
+                h = Math.max(scrollHeight, Y.Dom.getViewportHeight());
+
+            return h;
+        },
+        
+        /**
+         * Returns the width of the document.
+         * @method getDocumentWidth
+         * @return {Int} The width of the actual document (which includes the body and its margin).
+         */
+        getDocumentWidth: function() {
+            var scrollWidth = (document[COMPAT_MODE] != CSS1_COMPAT || isSafari) ? document.body.scrollWidth : documentElement.scrollWidth,
+                w = Math.max(scrollWidth, Y.Dom.getViewportWidth());
+            return w;
+        },
+
+        /**
+         * Returns the current height of the viewport.
+         * @method getViewportHeight
+         * @return {Int} The height of the viewable area of the page (excludes scrollbars).
+         */
+        getViewportHeight: function() {
+            var height = self.innerHeight, // Safari, Opera
+                mode = document[COMPAT_MODE];
+        
+            if ( (mode || isIE) && !isOpera ) { // IE, Gecko
+                height = (mode == CSS1_COMPAT) ?
+                        documentElement.clientHeight : // Standards
+                        document.body.clientHeight; // Quirks
+            }
+        
+            return height;
+        },
+        
+        /**
+         * Returns the current width of the viewport.
+         * @method getViewportWidth
+         * @return {Int} The width of the viewable area of the page (excludes scrollbars).
+         */
+        
+        getViewportWidth: function() {
+            var width = self.innerWidth,  // Safari
+                mode = document[COMPAT_MODE];
+            
+            if (mode || isIE) { // IE, Gecko, Opera
+                width = (mode == CSS1_COMPAT) ?
+                        documentElement.clientWidth : // Standards
+                        document.body.clientWidth; // Quirks
+            }
+            return width;
+        },
+
+       /**
+         * Returns the nearest ancestor that passes the test applied by supplied boolean method.
+         * For performance reasons, IDs are not accepted and argument validation omitted.
+         * @method getAncestorBy
+         * @param {HTMLElement} node The HTMLElement to use as the starting point 
+         * @param {Function} method - A boolean method for testing elements which receives the element as its only argument.
+         * @return {Object} HTMLElement or null if not found
+         */
+        getAncestorBy: function(node, method) {
+            while ( (node = node[PARENT_NODE]) ) { // NOTE: assignment
+                if ( Y.Dom._testElement(node, method) ) {
+                    return node;
+                }
+            } 
+
+            return null;
+        },
+        
+        /**
+         * Returns the nearest ancestor with the given className.
+         * @method getAncestorByClassName
+         * @param {String | HTMLElement} node The HTMLElement or an ID to use as the starting point 
+         * @param {String} className
+         * @return {Object} HTMLElement
+         */
+        getAncestorByClassName: function(node, className) {
+            node = Y.Dom.get(node);
+            if (!node) {
+                return null;
+            }
+            var method = function(el) { return Y.Dom.hasClass(el, className); };
+            return Y.Dom.getAncestorBy(node, method);
+        },
+
+        /**
+         * Returns the nearest ancestor with the given tagName.
+         * @method getAncestorByTagName
+         * @param {String | HTMLElement} node The HTMLElement or an ID to use as the starting point 
+         * @param {String} tagName
+         * @return {Object} HTMLElement
+         */
+        getAncestorByTagName: function(node, tagName) {
+            node = Y.Dom.get(node);
+            if (!node) {
+                return null;
+            }
+            var method = function(el) {
+                 return el[TAG_NAME] && el[TAG_NAME].toUpperCase() == tagName.toUpperCase();
+            };
+
+            return Y.Dom.getAncestorBy(node, method);
+        },
+
+        /**
+         * Returns the previous sibling that is an HTMLElement. 
+         * For performance reasons, IDs are not accepted and argument validation omitted.
+         * Returns the nearest HTMLElement sibling if no method provided.
+         * @method getPreviousSiblingBy
+         * @param {HTMLElement} node The HTMLElement to use as the starting point 
+         * @param {Function} method A boolean function used to test siblings
+         * that receives the sibling node being tested as its only argument
+         * @return {Object} HTMLElement or null if not found
+         */
+        getPreviousSiblingBy: function(node, method) {
+            while (node) {
+                node = node.previousSibling;
+                if ( Y.Dom._testElement(node, method) ) {
+                    return node;
+                }
+            }
+            return null;
+        }, 
+
+        /**
+         * Returns the previous sibling that is an HTMLElement 
+         * @method getPreviousSibling
+         * @param {String | HTMLElement} node The HTMLElement or an ID to use as the starting point 
+         * @return {Object} HTMLElement or null if not found
+         */
+        getPreviousSibling: function(node) {
+            node = Y.Dom.get(node);
+            if (!node) {
+                return null;
+            }
+
+            return Y.Dom.getPreviousSiblingBy(node);
+        }, 
+
+        /**
+         * Returns the next HTMLElement sibling that passes the boolean method. 
+         * For performance reasons, IDs are not accepted and argument validation omitted.
+         * Returns the nearest HTMLElement sibling if no method provided.
+         * @method getNextSiblingBy
+         * @param {HTMLElement} node The HTMLElement to use as the starting point 
+         * @param {Function} method A boolean function used to test siblings
+         * that receives the sibling node being tested as its only argument
+         * @return {Object} HTMLElement or null if not found
+         */
+        getNextSiblingBy: function(node, method) {
+            while (node) {
+                node = node.nextSibling;
+                if ( Y.Dom._testElement(node, method) ) {
+                    return node;
+                }
+            }
+            return null;
+        }, 
+
+        /**
+         * Returns the next sibling that is an HTMLElement 
+         * @method getNextSibling
+         * @param {String | HTMLElement} node The HTMLElement or an ID to use as the starting point 
+         * @return {Object} HTMLElement or null if not found
+         */
+        getNextSibling: function(node) {
+            node = Y.Dom.get(node);
+            if (!node) {
+                return null;
+            }
+
+            return Y.Dom.getNextSiblingBy(node);
+        }, 
+
+        /**
+         * Returns the first HTMLElement child that passes the test method. 
+         * @method getFirstChildBy
+         * @param {HTMLElement} node The HTMLElement to use as the starting point 
+         * @param {Function} method A boolean function used to test children
+         * that receives the node being tested as its only argument
+         * @return {Object} HTMLElement or null if not found
+         */
+        getFirstChildBy: function(node, method) {
+            var child = ( Y.Dom._testElement(node.firstChild, method) ) ? node.firstChild : null;
+            return child || Y.Dom.getNextSiblingBy(node.firstChild, method);
+        }, 
+
+        /**
+         * Returns the first HTMLElement child. 
+         * @method getFirstChild
+         * @param {String | HTMLElement} node The HTMLElement or an ID to use as the starting point 
+         * @return {Object} HTMLElement or null if not found
+         */
+        getFirstChild: function(node, method) {
+            node = Y.Dom.get(node);
+            if (!node) {
+                return null;
+            }
+            return Y.Dom.getFirstChildBy(node);
+        }, 
+
+        /**
+         * Returns the last HTMLElement child that passes the test method. 
+         * @method getLastChildBy
+         * @param {HTMLElement} node The HTMLElement to use as the starting point 
+         * @param {Function} method A boolean function used to test children
+         * that receives the node being tested as its only argument
+         * @return {Object} HTMLElement or null if not found
+         */
+        getLastChildBy: function(node, method) {
+            if (!node) {
+                return null;
+            }
+            var child = ( Y.Dom._testElement(node.lastChild, method) ) ? node.lastChild : null;
+            return child || Y.Dom.getPreviousSiblingBy(node.lastChild, method);
+        }, 
+
+        /**
+         * Returns the last HTMLElement child. 
+         * @method getLastChild
+         * @param {String | HTMLElement} node The HTMLElement or an ID to use as the starting point 
+         * @return {Object} HTMLElement or null if not found
+         */
+        getLastChild: function(node) {
+            node = Y.Dom.get(node);
+            return Y.Dom.getLastChildBy(node);
+        }, 
+
+        /**
+         * Returns an array of HTMLElement childNodes that pass the test method. 
+         * @method getChildrenBy
+         * @param {HTMLElement} node The HTMLElement to start from
+         * @param {Function} method A boolean function used to test children
+         * that receives the node being tested as its only argument
+         * @return {Array} A static array of HTMLElements
+         */
+        getChildrenBy: function(node, method) {
+            var child = Y.Dom.getFirstChildBy(node, method),
+                children = child ? [child] : [];
+
+            Y.Dom.getNextSiblingBy(child, function(node) {
+                if ( !method || method(node) ) {
+                    children[children.length] = node;
+                }
+                return false; // fail test to collect all children
+            });
+
+            return children;
+        },
+ 
+        /**
+         * Returns an array of HTMLElement childNodes. 
+         * @method getChildren
+         * @param {String | HTMLElement} node The HTMLElement or an ID to use as the starting point 
+         * @return {Array} A static array of HTMLElements
+         */
+        getChildren: function(node) {
+            node = Y.Dom.get(node);
+            if (!node) {
+            }
+
+            return Y.Dom.getChildrenBy(node);
+        },
+
+        /**
+         * Returns the left scroll value of the document 
+         * @method getDocumentScrollLeft
+         * @param {HTMLDocument} document (optional) The document to get the scroll value of
+         * @return {Int}  The amount that the document is scrolled to the left
+         */
+        getDocumentScrollLeft: function(doc) {
+            doc = doc || document;
+            return Math.max(doc[DOCUMENT_ELEMENT].scrollLeft, doc.body.scrollLeft);
+        }, 
+
+        /**
+         * Returns the top scroll value of the document 
+         * @method getDocumentScrollTop
+         * @param {HTMLDocument} document (optional) The document to get the scroll value of
+         * @return {Int}  The amount that the document is scrolled to the top
+         */
+        getDocumentScrollTop: function(doc) {
+            doc = doc || document;
+            return Math.max(doc[DOCUMENT_ELEMENT].scrollTop, doc.body.scrollTop);
+        },
+
+        /**
+         * Inserts the new node as the previous sibling of the reference node 
+         * @method insertBefore
+         * @param {String | HTMLElement} newNode The node to be inserted
+         * @param {String | HTMLElement} referenceNode The node to insert the new node before 
+         * @return {HTMLElement} The node that was inserted (or null if insert fails) 
+         */
+        insertBefore: function(newNode, referenceNode) {
+            newNode = Y.Dom.get(newNode); 
+            referenceNode = Y.Dom.get(referenceNode); 
+            
+            if (!newNode || !referenceNode || !referenceNode[PARENT_NODE]) {
+                return null;
+            }       
+
+            return referenceNode[PARENT_NODE].insertBefore(newNode, referenceNode); 
+        },
+
+        /**
+         * Inserts the new node as the next sibling of the reference node 
+         * @method insertAfter
+         * @param {String | HTMLElement} newNode The node to be inserted
+         * @param {String | HTMLElement} referenceNode The node to insert the new node after 
+         * @return {HTMLElement} The node that was inserted (or null if insert fails) 
+         */
+        insertAfter: function(newNode, referenceNode) {
+            newNode = Y.Dom.get(newNode); 
+            referenceNode = Y.Dom.get(referenceNode); 
+            
+            if (!newNode || !referenceNode || !referenceNode[PARENT_NODE]) {
+                return null;
+            }       
+
+            if (referenceNode.nextSibling) {
+                return referenceNode[PARENT_NODE].insertBefore(newNode, referenceNode.nextSibling); 
+            } else {
+                return referenceNode[PARENT_NODE].appendChild(newNode);
+            }
+        },
+
+        /**
+         * Creates a Region based on the viewport relative to the document. 
+         * @method getClientRegion
+         * @return {Region} A Region object representing the viewport which accounts for document scroll
+         */
+        getClientRegion: function() {
+            var t = Y.Dom.getDocumentScrollTop(),
+                l = Y.Dom.getDocumentScrollLeft(),
+                r = Y.Dom.getViewportWidth() + l,
+                b = Y.Dom.getViewportHeight() + t;
+
+            return new Y.Region(t, r, b, l);
+        },
+
+        /**
+         * Provides a normalized attribute interface. 
+         * @method setAttribute
+         * @param {String | HTMLElement} el The target element for the attribute.
+         * @param {String} attr The attribute to set.
+         * @param {String} val The value of the attribute.
+         */
+        setAttribute: function(el, attr, val) {
+            Y.Dom.batch(el, Y.Dom._setAttribute, { attr: attr, val: val });
+        },
+
+        _setAttribute: function(el, args) {
+            var attr = Y.Dom._toCamel(args.attr),
+                val = args.val;
+
+            if (el && el.setAttribute) {
+                if (Y.Dom.DOT_ATTRIBUTES[attr]) {
+                    el[attr] = val;
+                } else {
+                    attr = Y.Dom.CUSTOM_ATTRIBUTES[attr] || attr;
+                    el.setAttribute(attr, val);
+                }
+            } else {
+            }
+        },
+
+        /**
+         * Provides a normalized attribute interface. 
+         * @method getAttribute
+         * @param {String | HTMLElement} el The target element for the attribute.
+         * @param {String} attr The attribute to get.
+         * @return {String} The current value of the attribute. 
+         */
+        getAttribute: function(el, attr) {
+            return Y.Dom.batch(el, Y.Dom._getAttribute, attr);
+        },
+
+
+        _getAttribute: function(el, attr) {
+            var val;
+            attr = Y.Dom.CUSTOM_ATTRIBUTES[attr] || attr;
+
+            if (el && el.getAttribute) {
+                val = el.getAttribute(attr, 2);
+            } else {
+            }
+
+            return val;
+        },
+
+        _toCamel: function(property) {
+            var c = propertyCache;
+
+            function tU(x,l) {
+                return l.toUpperCase();
+            }
+
+            return c[property] || (c[property] = property.indexOf('-') === -1 ? 
+                                    property :
+                                    property.replace( /-([a-z])/gi, tU ));
+        },
+
+        _getClassRegex: function(className) {
+            var re;
+            if (className !== undefined) { // allow empty string to pass
+                if (className.exec) { // already a RegExp
+                    re = className;
+                } else {
+                    re = reCache[className];
+                    if (!re) {
+                        // escape special chars (".", "[", etc.)
+                        className = className.replace(Y.Dom._patterns.CLASS_RE_TOKENS, '\\$1');
+                        re = reCache[className] = new RegExp(C_START + className + C_END, G);
+                    }
+                }
+            }
+            return re;
+        },
+
+        _patterns: {
+            ROOT_TAG: /^body|html$/i, // body for quirks mode, html for standards,
+            CLASS_RE_TOKENS: /([\.\(\)\^\$\*\+\?\|\[\]\{\}\\])/g
+        },
+
+
+        _testElement: function(node, method) {
+            return node && node[NODE_TYPE] == 1 && ( !method || method(node) );
+        },
+
+        _calcBorders: function(node, xy2) {
+            var t = parseInt(Y.Dom[GET_COMPUTED_STYLE](node, BORDER_TOP_WIDTH), 10) || 0,
+                l = parseInt(Y.Dom[GET_COMPUTED_STYLE](node, BORDER_LEFT_WIDTH), 10) || 0;
+            if (isGecko) {
+                if (RE_TABLE.test(node[TAG_NAME])) {
+                    t = 0;
+                    l = 0;
+                }
+            }
+            xy2[0] += l;
+            xy2[1] += t;
+            return xy2;
+        }
+    };
+        
+    var _getComputedStyle = Y.Dom[GET_COMPUTED_STYLE];
+    // fix opera computedStyle default color unit (convert to rgb)
+    if (UA.opera) {
+        Y.Dom[GET_COMPUTED_STYLE] = function(node, att) {
+            var val = _getComputedStyle(node, att);
+            if (RE_COLOR.test(att)) {
+                val = Y.Dom.Color.toRGB(val);
+            }
+
+            return val;
+        };
+
+    }
+
+    // safari converts transparent to rgba(), others use "transparent"
+    if (UA.webkit) {
+        Y.Dom[GET_COMPUTED_STYLE] = function(node, att) {
+            var val = _getComputedStyle(node, att);
+
+            if (val === 'rgba(0, 0, 0, 0)') {
+                val = 'transparent'; 
+            }
+
+            return val;
+        };
+
+    }
+
+    if (UA.ie && UA.ie >= 8 && document.documentElement.hasAttribute) { // IE 8 standards
+        Y.Dom.DOT_ATTRIBUTES.type = true; // IE 8 errors on input.setAttribute('type')
+    }
+})();
+/**
+ * A region is a representation of an object on a grid.  It is defined
+ * by the top, right, bottom, left extents, so is rectangular by default.  If 
+ * other shapes are required, this class could be extended to support it.
+ * @namespace YAHOO.util
+ * @class Region
+ * @param {Int} t the top extent
+ * @param {Int} r the right extent
+ * @param {Int} b the bottom extent
+ * @param {Int} l the left extent
+ * @constructor
+ */
+YAHOO.util.Region = function(t, r, b, l) {
+
+    /**
+     * The region's top extent
+     * @property top
+     * @type Int
+     */
+    this.top = t;
+    
+    /**
+     * The region's top extent
+     * @property y
+     * @type Int
+     */
+    this.y = t;
+    
+    /**
+     * The region's top extent as index, for symmetry with set/getXY
+     * @property 1
+     * @type Int
+     */
+    this[1] = t;
+
+    /**
+     * The region's right extent
+     * @property right
+     * @type int
+     */
+    this.right = r;
+
+    /**
+     * The region's bottom extent
+     * @property bottom
+     * @type Int
+     */
+    this.bottom = b;
+
+    /**
+     * The region's left extent
+     * @property left
+     * @type Int
+     */
+    this.left = l;
+    
+    /**
+     * The region's left extent
+     * @property x
+     * @type Int
+     */
+    this.x = l;
+    
+    /**
+     * The region's left extent as index, for symmetry with set/getXY
+     * @property 0
+     * @type Int
+     */
+    this[0] = l;
+
+    /**
+     * The region's total width 
+     * @property width 
+     * @type Int
+     */
+    this.width = this.right - this.left;
+
+    /**
+     * The region's total height 
+     * @property height 
+     * @type Int
+     */
+    this.height = this.bottom - this.top;
+};
+
+/**
+ * Returns true if this region contains the region passed in
+ * @method contains
+ * @param  {Region}  region The region to evaluate
+ * @return {Boolean}        True if the region is contained with this region, 
+ *                          else false
+ */
+YAHOO.util.Region.prototype.contains = function(region) {
+    return ( region.left   >= this.left   && 
+             region.right  <= this.right  && 
+             region.top    >= this.top    && 
+             region.bottom <= this.bottom    );
+
+};
+
+/**
+ * Returns the area of the region
+ * @method getArea
+ * @return {Int} the region's area
+ */
+YAHOO.util.Region.prototype.getArea = function() {
+    return ( (this.bottom - this.top) * (this.right - this.left) );
+};
+
+/**
+ * Returns the region where the passed in region overlaps with this one
+ * @method intersect
+ * @param  {Region} region The region that intersects
+ * @return {Region}        The overlap region, or null if there is no overlap
+ */
+YAHOO.util.Region.prototype.intersect = function(region) {
+    var t = Math.max( this.top,    region.top    ),
+        r = Math.min( this.right,  region.right  ),
+        b = Math.min( this.bottom, region.bottom ),
+        l = Math.max( this.left,   region.left   );
+    
+    if (b >= t && r >= l) {
+        return new YAHOO.util.Region(t, r, b, l);
+    } else {
+        return null;
+    }
+};
+
+/**
+ * Returns the region representing the smallest region that can contain both
+ * the passed in region and this region.
+ * @method union
+ * @param  {Region} region The region that to create the union with
+ * @return {Region}        The union region
+ */
+YAHOO.util.Region.prototype.union = function(region) {
+    var t = Math.min( this.top,    region.top    ),
+        r = Math.max( this.right,  region.right  ),
+        b = Math.max( this.bottom, region.bottom ),
+        l = Math.min( this.left,   region.left   );
+
+    return new YAHOO.util.Region(t, r, b, l);
+};
+
+/**
+ * toString
+ * @method toString
+ * @return string the region properties
+ */
+YAHOO.util.Region.prototype.toString = function() {
+    return ( "Region {"    +
+             "top: "       + this.top    + 
+             ", right: "   + this.right  + 
+             ", bottom: "  + this.bottom + 
+             ", left: "    + this.left   + 
+             ", height: "  + this.height + 
+             ", width: "    + this.width   + 
+             "}" );
+};
+
+/**
+ * Returns a region that is occupied by the DOM element
+ * @method getRegion
+ * @param  {HTMLElement} el The element
+ * @return {Region}         The region that the element occupies
+ * @static
+ */
+YAHOO.util.Region.getRegion = function(el) {
+    var p = YAHOO.util.Dom.getXY(el),
+        t = p[1],
+        r = p[0] + el.offsetWidth,
+        b = p[1] + el.offsetHeight,
+        l = p[0];
+
+    return new YAHOO.util.Region(t, r, b, l);
+};
+
+/////////////////////////////////////////////////////////////////////////////
+
+
+/**
+ * A point is a region that is special in that it represents a single point on 
+ * the grid.
+ * @namespace YAHOO.util
+ * @class Point
+ * @param {Int} x The X position of the point
+ * @param {Int} y The Y position of the point
+ * @constructor
+ * @extends YAHOO.util.Region
+ */
+YAHOO.util.Point = function(x, y) {
+   if (YAHOO.lang.isArray(x)) { // accept input from Dom.getXY, Event.getXY, etc.
+      y = x[1]; // dont blow away x yet
+      x = x[0];
+   }
+ 
+    YAHOO.util.Point.superclass.constructor.call(this, y, x, y, x);
+};
+
+YAHOO.extend(YAHOO.util.Point, YAHOO.util.Region);
+
+(function() {
+/**
+ * Add style management functionality to DOM.
+ * @module dom
+ * @for Dom
+ */
+
+var Y = YAHOO.util, 
+    CLIENT_TOP = 'clientTop',
+    CLIENT_LEFT = 'clientLeft',
+    PARENT_NODE = 'parentNode',
+    RIGHT = 'right',
+    HAS_LAYOUT = 'hasLayout',
+    PX = 'px',
+    OPACITY = 'opacity',
+    AUTO = 'auto',
+    BORDER_LEFT_WIDTH = 'borderLeftWidth',
+    BORDER_TOP_WIDTH = 'borderTopWidth',
+    BORDER_RIGHT_WIDTH = 'borderRightWidth',
+    BORDER_BOTTOM_WIDTH = 'borderBottomWidth',
+    VISIBLE = 'visible',
+    TRANSPARENT = 'transparent',
+    HEIGHT = 'height',
+    WIDTH = 'width',
+    STYLE = 'style',
+    CURRENT_STYLE = 'currentStyle',
+
+// IE getComputedStyle
+// TODO: unit-less lineHeight (e.g. 1.22)
+    re_size = /^width|height$/,
+    re_unit = /^(\d[.\d]*)+(em|ex|px|gd|rem|vw|vh|vm|ch|mm|cm|in|pt|pc|deg|rad|ms|s|hz|khz|%){1}?/i,
+
+    ComputedStyle = {
+        get: function(el, property) {
+            var value = '',
+                current = el[CURRENT_STYLE][property];
+
+            if (property === OPACITY) {
+                value = Y.Dom.getStyle(el, OPACITY);        
+            } else if (!current || (current.indexOf && current.indexOf(PX) > -1)) { // no need to convert
+                value = current;
+            } else if (Y.Dom.IE_COMPUTED[property]) { // use compute function
+                value = Y.Dom.IE_COMPUTED[property](el, property);
+            } else if (re_unit.test(current)) { // convert to pixel
+                value = Y.Dom.IE.ComputedStyle.getPixel(el, property);
+            } else {
+                value = current;
+            }
+
+            return value;
+        },
+
+        getOffset: function(el, prop) {
+            var current = el[CURRENT_STYLE][prop],                        // value of "width", "top", etc.
+                capped = prop.charAt(0).toUpperCase() + prop.substr(1), // "Width", "Top", etc.
+                offset = 'offset' + capped,                             // "offsetWidth", "offsetTop", etc.
+                pixel = 'pixel' + capped,                               // "pixelWidth", "pixelTop", etc.
+                value = '',
+                actual;
+
+            if (current == AUTO) {
+                actual = el[offset]; // offsetHeight/Top etc.
+                if (actual === undefined) { // likely "right" or "bottom"
+                    value = 0;
+                }
+
+                value = actual;
+                if (re_size.test(prop)) { // account for box model diff 
+                    el[STYLE][prop] = actual; 
+                    if (el[offset] > actual) {
+                        // the difference is padding + border (works in Standards & Quirks modes)
+                        value = actual - (el[offset] - actual);
+                    }
+                    el[STYLE][prop] = AUTO; // revert to auto
+                }
+            } else { // convert units to px
+                if (!el[STYLE][pixel] && !el[STYLE][prop]) { // need to map style.width to currentStyle (no currentStyle.pixelWidth)
+                    el[STYLE][prop] = current;              // no style.pixelWidth if no style.width
+                }
+                value = el[STYLE][pixel];
+            }
+            return value + PX;
+        },
+
+        getBorderWidth: function(el, property) {
+            // clientHeight/Width = paddingBox (e.g. offsetWidth - borderWidth)
+            // clientTop/Left = borderWidth
+            var value = null;
+            if (!el[CURRENT_STYLE][HAS_LAYOUT]) { // TODO: unset layout?
+                el[STYLE].zoom = 1; // need layout to measure client
+            }
+
+            switch(property) {
+                case BORDER_TOP_WIDTH:
+                    value = el[CLIENT_TOP];
+                    break;
+                case BORDER_BOTTOM_WIDTH:
+                    value = el.offsetHeight - el.clientHeight - el[CLIENT_TOP];
+                    break;
+                case BORDER_LEFT_WIDTH:
+                    value = el[CLIENT_LEFT];
+                    break;
+                case BORDER_RIGHT_WIDTH:
+                    value = el.offsetWidth - el.clientWidth - el[CLIENT_LEFT];
+                    break;
+            }
+            return value + PX;
+        },
+
+        getPixel: function(node, att) {
+            // use pixelRight to convert to px
+            var val = null,
+                styleRight = node[CURRENT_STYLE][RIGHT],
+                current = node[CURRENT_STYLE][att];
+
+            node[STYLE][RIGHT] = current;
+            val = node[STYLE].pixelRight;
+            node[STYLE][RIGHT] = styleRight; // revert
+
+            return val + PX;
+        },
+
+        getMargin: function(node, att) {
+            var val;
+            if (node[CURRENT_STYLE][att] == AUTO) {
+                val = 0 + PX;
+            } else {
+                val = Y.Dom.IE.ComputedStyle.getPixel(node, att);
+            }
+            return val;
+        },
+
+        getVisibility: function(node, att) {
+            var current;
+            while ( (current = node[CURRENT_STYLE]) && current[att] == 'inherit') { // NOTE: assignment in test
+                node = node[PARENT_NODE];
+            }
+            return (current) ? current[att] : VISIBLE;
+        },
+
+        getColor: function(node, att) {
+            return Y.Dom.Color.toRGB(node[CURRENT_STYLE][att]) || TRANSPARENT;
+        },
+
+        getBorderColor: function(node, att) {
+            var current = node[CURRENT_STYLE],
+                val = current[att] || current.color;
+            return Y.Dom.Color.toRGB(Y.Dom.Color.toHex(val));
+        }
+
+    },
+
+//fontSize: getPixelFont,
+    IEComputed = {};
+
+IEComputed.top = IEComputed.right = IEComputed.bottom = IEComputed.left = 
+        IEComputed[WIDTH] = IEComputed[HEIGHT] = ComputedStyle.getOffset;
+
+IEComputed.color = ComputedStyle.getColor;
+
+IEComputed[BORDER_TOP_WIDTH] = IEComputed[BORDER_RIGHT_WIDTH] =
+        IEComputed[BORDER_BOTTOM_WIDTH] = IEComputed[BORDER_LEFT_WIDTH] =
+        ComputedStyle.getBorderWidth;
+
+IEComputed.marginTop = IEComputed.marginRight = IEComputed.marginBottom =
+        IEComputed.marginLeft = ComputedStyle.getMargin;
+
+IEComputed.visibility = ComputedStyle.getVisibility;
+IEComputed.borderColor = IEComputed.borderTopColor =
+        IEComputed.borderRightColor = IEComputed.borderBottomColor =
+        IEComputed.borderLeftColor = ComputedStyle.getBorderColor;
+
+Y.Dom.IE_COMPUTED = IEComputed;
+Y.Dom.IE_ComputedStyle = ComputedStyle;
+})();
+(function() {
+/**
+ * Add style management functionality to DOM.
+ * @module dom
+ * @for Dom
+ */
+
+var TO_STRING = 'toString',
+    PARSE_INT = parseInt,
+    RE = RegExp,
+    Y = YAHOO.util;
+
+Y.Dom.Color = {
+    KEYWORDS: {
+        black: '000',
+        silver: 'c0c0c0',
+        gray: '808080',
+        white: 'fff',
+        maroon: '800000',
+        red: 'f00',
+        purple: '800080',
+        fuchsia: 'f0f',
+        green: '008000',
+        lime: '0f0',
+        olive: '808000',
+        yellow: 'ff0',
+        navy: '000080',
+        blue: '00f',
+        teal: '008080',
+        aqua: '0ff'
+    },
+
+    re_RGB: /^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i,
+    re_hex: /^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i,
+    re_hex3: /([0-9A-F])/gi,
+
+    toRGB: function(val) {
+        if (!Y.Dom.Color.re_RGB.test(val)) {
+            val = Y.Dom.Color.toHex(val);
+        }
+
+        if(Y.Dom.Color.re_hex.exec(val)) {
+            val = 'rgb(' + [
+                PARSE_INT(RE.$1, 16),
+                PARSE_INT(RE.$2, 16),
+                PARSE_INT(RE.$3, 16)
+            ].join(', ') + ')';
+        }
+        return val;
+    },
+
+    toHex: function(val) {
+        val = Y.Dom.Color.KEYWORDS[val] || val;
+        if (Y.Dom.Color.re_RGB.exec(val)) {
+            var r = (RE.$1.length === 1) ? '0' + RE.$1 : Number(RE.$1),
+                g = (RE.$2.length === 1) ? '0' + RE.$2 : Number(RE.$2),
+                b = (RE.$3.length === 1) ? '0' + RE.$3 : Number(RE.$3);
+
+            val = [
+                r[TO_STRING](16),
+                g[TO_STRING](16),
+                b[TO_STRING](16)
+            ].join('');
+        }
+
+        if (val.length < 6) {
+            val = val.replace(Y.Dom.Color.re_hex3, '$1$1');
+        }
+
+        if (val !== 'transparent' && val.indexOf('#') < 0) {
+            val = '#' + val;
+        }
+
+        return val.toLowerCase();
+    }
+};
+}());
+YAHOO.register("dom", YAHOO.util.Dom, {version: "2.8.0r4", build: "2449"});

Property changes on: tags/2.8.2/wb/include/yui/dom/dom.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/yui/dom/dom-min.js
===================================================================
--- tags/2.8.2/wb/include/yui/dom/dom-min.js	(nonexistent)
+++ tags/2.8.2/wb/include/yui/dom/dom-min.js	(revision 1481)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2009, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.8.0r4
+*/
+(function(){YAHOO.env._id_counter=YAHOO.env._id_counter||0;var E=YAHOO.util,L=YAHOO.lang,m=YAHOO.env.ua,A=YAHOO.lang.trim,d={},h={},N=/^t(?:able|d|h)$/i,X=/color$/i,K=window.document,W=K.documentElement,e="ownerDocument",n="defaultView",v="documentElement",t="compatMode",b="offsetLeft",P="offsetTop",u="offsetParent",Z="parentNode",l="nodeType",C="tagName",O="scrollLeft",i="scrollTop",Q="getBoundingClientRect",w="getComputedStyle",a="currentStyle",M="CSS1Compat",c="BackCompat",g="class",F="className",J="",B=" ",s="(?:^|\\s)",k="(?= |$)",U="g",p="position",f="fixed",V="relative",j="left",o="top",r="medium",q="borderLeftWidth",R="borderTopWidth",D=m.opera,I=m.webkit,H=m.gecko,T=m.ie;E.Dom={CUSTOM_ATTRIBUTES:(!W.hasAttribute)?{"for":"htmlFor","class":F}:{"htmlFor":"for","className":g},DOT_ATTRIBUTES:{},get:function(z){var AB,x,AA,y,Y,G;if(z){if(z[l]||z.item){return z;}if(typeof z==="string"){AB=z;z=K.getElementById(z);G=(z)?z.attributes:null;if(z&&G&&G.id&&G.id.value===AB){return z;}else{if(z&&K.all){z=null;x=K.all[AB];for(y=0,Y=x.length;y<Y;++y){if(x[y].id===AB){return x[y];}}}}return z;}if(YAHOO.util.Element&&z instanceof YAHOO.util.Element){z=z.get("element");}if("length" in z){AA=[];for(y=0,Y=z.length;y<Y;++y){AA[AA.length]=E.Dom.get(z[y]);}return AA;}return z;}return null;},getComputedStyle:function(G,Y){if(window[w]){return G[e][n][w](G,null)[Y];}else{if(G[a]){return E.Dom.IE_ComputedStyle.get(G,Y);}}},getStyle:function(G,Y){return E.Dom.batch(G,E.Dom._getStyle,Y);},_getStyle:function(){if(window[w]){return function(G,y){y=(y==="float")?y="cssFloat":E.Dom._toCamel(y);var x=G.style[y],Y;if(!x){Y=G[e][n][w](G,null);if(Y){x=Y[y];}}return x;};}else{if(W[a]){return function(G,y){var x;switch(y){case"opacity":x=100;try{x=G.filters["DXImageTransform.Microsoft.Alpha"].opacity;}catch(z){try{x=G.filters("alpha").opacity;}catch(Y){}}return x/100;case"float":y="styleFloat";default:y=E.Dom._toCamel(y);x=G[a]?G[a][y]:null;return(G.style[y]||x);}};}}}(),setStyle:function(G,Y,x){E.Dom.batch(G,E.Dom._setStyle,{prop:Y,val:x});},_setStyle:function(){if(T){return function(Y,G){var x=E.Dom._toCamel(G.prop),y=G.val;if(Y){switch(x){case"opacity":if(L.isString(Y.style.filter)){Y.style.filter="alpha(opacity="+y*100+")";if(!Y[a]||!Y[a].hasLayout){Y.style.zoom=1;}}break;case"float":x="styleFloat";default:Y.style[x]=y;}}else{}};}else{return function(Y,G){var x=E.Dom._toCamel(G.prop),y=G.val;if(Y){if(x=="float"){x="cssFloat";}Y.style[x]=y;}else{}};}}(),getXY:function(G){return E.Dom.batch(G,E.Dom._getXY);},_canPosition:function(G){return(E.Dom._getStyle(G,"display")!=="none"&&E.Dom._inDoc(G));},_getXY:function(){if(K[v][Q]){return function(y){var z,Y,AA,AF,AE,AD,AC,G,x,AB=Math.floor,AG=false;if(E.Dom._canPosition(y)){AA=y[Q]();AF=y[e];z=E.Dom.getDocumentScrollLeft(AF);Y=E.Dom.getDocumentScrollTop(AF);AG=[AB(AA[j]),AB(AA[o])];if(T&&m.ie<8){AE=2;AD=2;AC=AF[t];if(m.ie===6){if(AC!==c){AE=0;AD=0;}}if((AC===c)){G=S(AF[v],q);x=S(AF[v],R);if(G!==r){AE=parseInt(G,10);}if(x!==r){AD=parseInt(x,10);}}AG[0]-=AE;AG[1]-=AD;}if((Y||z)){AG[0]+=z;AG[1]+=Y;}AG[0]=AB(AG[0]);AG[1]=AB(AG[1]);}else{}return AG;};}else{return function(y){var x,Y,AA,AB,AC,z=false,G=y;if(E.Dom._canPosition(y)){z=[y[b],y[P]];x=E.Dom.getDocumentScrollLeft(y[e]);Y=E.Dom.getDocumentScrollTop(y[e]);AC=((H||m.webkit>519)?true:false);while((G=G[u])){z[0]+=G[b];z[1]+=G[P];if(AC){z=E.Dom._calcBorders(G,z);}}if(E.Dom._getStyle(y,p)!==f){G=y;while((G=G[Z])&&G[C]){AA=G[i];AB=G[O];if(H&&(E.Dom._getStyle(G,"overflow")!=="visible")){z=E.Dom._calcBorders(G,z);}if(AA||AB){z[0]-=AB;z[1]-=AA;}}z[0]+=x;z[1]+=Y;}else{if(D){z[0]-=x;z[1]-=Y;}else{if(I||H){z[0]+=x;z[1]+=Y;}}}z[0]=Math.floor(z[0]);z[1]=Math.floor(z[1]);}else{}return z;};}}(),getX:function(G){var Y=function(x){return E.Dom.getXY(x)[0];};return E.Dom.batch(G,Y,E.Dom,true);},getY:function(G){var Y=function(x){return E.Dom.getXY(x)[1];};return E.Dom.batch(G,Y,E.Dom,true);},setXY:function(G,x,Y){E.Dom.batch(G,E.Dom._setXY,{pos:x,noRetry:Y});},_setXY:function(G,z){var AA=E.Dom._getStyle(G,p),y=E.Dom.setStyle,AD=z.pos,Y=z.noRetry,AB=[parseInt(E.Dom.getComputedStyle(G,j),10),parseInt(E.Dom.getComputedStyle(G,o),10)],AC,x;if(AA=="static"){AA=V;y(G,p,AA);}AC=E.Dom._getXY(G);if(!AD||AC===false){return false;}if(isNaN(AB[0])){AB[0]=(AA==V)?0:G[b];}if(isNaN(AB[1])){AB[1]=(AA==V)?0:G[P];}if(AD[0]!==null){y(G,j,AD[0]-AC[0]+AB[0]+"px");}if(AD[1]!==null){y(G,o,AD[1]-AC[1]+AB[1]+"px");}if(!Y){x=E.Dom._getXY(G);if((AD[0]!==null&&x[0]!=AD[0])||(AD[1]!==null&&x[1]!=AD[1])){E.Dom._setXY(G,{pos:AD,noRetry:true});}}},setX:function(Y,G){E.Dom.setXY(Y,[G,null]);},setY:function(G,Y){E.Dom.setXY(G,[null,Y]);},getRegion:function(G){var Y=function(x){var y=false;if(E.Dom._canPosition(x)){y=E.Region.getRegion(x);}else{}return y;};return E.Dom.batch(G,Y,E.Dom,true);},getClientWidth:function(){return E.Dom.getViewportWidth();},getClientHeight:function(){return E.Dom.getViewportHeight();},getElementsByClassName:function(AB,AF,AC,AE,x,AD){AF=AF||"*";AC=(AC)?E.Dom.get(AC):null||K;if(!AC){return[];}var Y=[],G=AC.getElementsByTagName(AF),z=E.Dom.hasClass;for(var y=0,AA=G.length;y<AA;++y){if(z(G[y],AB)){Y[Y.length]=G[y];}}if(AE){E.Dom.batch(Y,AE,x,AD);}return Y;},hasClass:function(Y,G){return E.Dom.batch(Y,E.Dom._hasClass,G);},_hasClass:function(x,Y){var G=false,y;if(x&&Y){y=E.Dom._getAttribute(x,F)||J;if(Y.exec){G=Y.test(y);}else{G=Y&&(B+y+B).indexOf(B+Y+B)>-1;}}else{}return G;},addClass:function(Y,G){return E.Dom.batch(Y,E.Dom._addClass,G);},_addClass:function(x,Y){var G=false,y;if(x&&Y){y=E.Dom._getAttribute(x,F)||J;if(!E.Dom._hasClass(x,Y)){E.Dom.setAttribute(x,F,A(y+B+Y));G=true;}}else{}return G;},removeClass:function(Y,G){return E.Dom.batch(Y,E.Dom._removeClass,G);},_removeClass:function(y,x){var Y=false,AA,z,G;if(y&&x){AA=E.Dom._getAttribute(y,F)||J;E.Dom.setAttribute(y,F,AA.replace(E.Dom._getClassRegex(x),J));z=E.Dom._getAttribute(y,F);if(AA!==z){E.Dom.setAttribute(y,F,A(z));Y=true;if(E.Dom._getAttribute(y,F)===""){G=(y.hasAttribute&&y.hasAttribute(g))?g:F;
+y.removeAttribute(G);}}}else{}return Y;},replaceClass:function(x,Y,G){return E.Dom.batch(x,E.Dom._replaceClass,{from:Y,to:G});},_replaceClass:function(y,x){var Y,AB,AA,G=false,z;if(y&&x){AB=x.from;AA=x.to;if(!AA){G=false;}else{if(!AB){G=E.Dom._addClass(y,x.to);}else{if(AB!==AA){z=E.Dom._getAttribute(y,F)||J;Y=(B+z.replace(E.Dom._getClassRegex(AB),B+AA)).split(E.Dom._getClassRegex(AA));Y.splice(1,0,B+AA);E.Dom.setAttribute(y,F,A(Y.join(J)));G=true;}}}}else{}return G;},generateId:function(G,x){x=x||"yui-gen";var Y=function(y){if(y&&y.id){return y.id;}var z=x+YAHOO.env._id_counter++;if(y){if(y[e]&&y[e].getElementById(z)){return E.Dom.generateId(y,z+x);}y.id=z;}return z;};return E.Dom.batch(G,Y,E.Dom,true)||Y.apply(E.Dom,arguments);},isAncestor:function(Y,x){Y=E.Dom.get(Y);x=E.Dom.get(x);var G=false;if((Y&&x)&&(Y[l]&&x[l])){if(Y.contains&&Y!==x){G=Y.contains(x);}else{if(Y.compareDocumentPosition){G=!!(Y.compareDocumentPosition(x)&16);}}}else{}return G;},inDocument:function(G,Y){return E.Dom._inDoc(E.Dom.get(G),Y);},_inDoc:function(Y,x){var G=false;if(Y&&Y[C]){x=x||Y[e];G=E.Dom.isAncestor(x[v],Y);}else{}return G;},getElementsBy:function(Y,AF,AB,AD,y,AC,AE){AF=AF||"*";AB=(AB)?E.Dom.get(AB):null||K;if(!AB){return[];}var x=[],G=AB.getElementsByTagName(AF);for(var z=0,AA=G.length;z<AA;++z){if(Y(G[z])){if(AE){x=G[z];break;}else{x[x.length]=G[z];}}}if(AD){E.Dom.batch(x,AD,y,AC);}return x;},getElementBy:function(x,G,Y){return E.Dom.getElementsBy(x,G,Y,null,null,null,true);},batch:function(x,AB,AA,z){var y=[],Y=(z)?AA:window;x=(x&&(x[C]||x.item))?x:E.Dom.get(x);if(x&&AB){if(x[C]||x.length===undefined){return AB.call(Y,x,AA);}for(var G=0;G<x.length;++G){y[y.length]=AB.call(Y,x[G],AA);}}else{return false;}return y;},getDocumentHeight:function(){var Y=(K[t]!=M||I)?K.body.scrollHeight:W.scrollHeight,G=Math.max(Y,E.Dom.getViewportHeight());return G;},getDocumentWidth:function(){var Y=(K[t]!=M||I)?K.body.scrollWidth:W.scrollWidth,G=Math.max(Y,E.Dom.getViewportWidth());return G;},getViewportHeight:function(){var G=self.innerHeight,Y=K[t];if((Y||T)&&!D){G=(Y==M)?W.clientHeight:K.body.clientHeight;}return G;},getViewportWidth:function(){var G=self.innerWidth,Y=K[t];if(Y||T){G=(Y==M)?W.clientWidth:K.body.clientWidth;}return G;},getAncestorBy:function(G,Y){while((G=G[Z])){if(E.Dom._testElement(G,Y)){return G;}}return null;},getAncestorByClassName:function(Y,G){Y=E.Dom.get(Y);if(!Y){return null;}var x=function(y){return E.Dom.hasClass(y,G);};return E.Dom.getAncestorBy(Y,x);},getAncestorByTagName:function(Y,G){Y=E.Dom.get(Y);if(!Y){return null;}var x=function(y){return y[C]&&y[C].toUpperCase()==G.toUpperCase();};return E.Dom.getAncestorBy(Y,x);},getPreviousSiblingBy:function(G,Y){while(G){G=G.previousSibling;if(E.Dom._testElement(G,Y)){return G;}}return null;},getPreviousSibling:function(G){G=E.Dom.get(G);if(!G){return null;}return E.Dom.getPreviousSiblingBy(G);},getNextSiblingBy:function(G,Y){while(G){G=G.nextSibling;if(E.Dom._testElement(G,Y)){return G;}}return null;},getNextSibling:function(G){G=E.Dom.get(G);if(!G){return null;}return E.Dom.getNextSiblingBy(G);},getFirstChildBy:function(G,x){var Y=(E.Dom._testElement(G.firstChild,x))?G.firstChild:null;return Y||E.Dom.getNextSiblingBy(G.firstChild,x);},getFirstChild:function(G,Y){G=E.Dom.get(G);if(!G){return null;}return E.Dom.getFirstChildBy(G);},getLastChildBy:function(G,x){if(!G){return null;}var Y=(E.Dom._testElement(G.lastChild,x))?G.lastChild:null;return Y||E.Dom.getPreviousSiblingBy(G.lastChild,x);},getLastChild:function(G){G=E.Dom.get(G);return E.Dom.getLastChildBy(G);},getChildrenBy:function(Y,y){var x=E.Dom.getFirstChildBy(Y,y),G=x?[x]:[];E.Dom.getNextSiblingBy(x,function(z){if(!y||y(z)){G[G.length]=z;}return false;});return G;},getChildren:function(G){G=E.Dom.get(G);if(!G){}return E.Dom.getChildrenBy(G);},getDocumentScrollLeft:function(G){G=G||K;return Math.max(G[v].scrollLeft,G.body.scrollLeft);},getDocumentScrollTop:function(G){G=G||K;return Math.max(G[v].scrollTop,G.body.scrollTop);},insertBefore:function(Y,G){Y=E.Dom.get(Y);G=E.Dom.get(G);if(!Y||!G||!G[Z]){return null;}return G[Z].insertBefore(Y,G);},insertAfter:function(Y,G){Y=E.Dom.get(Y);G=E.Dom.get(G);if(!Y||!G||!G[Z]){return null;}if(G.nextSibling){return G[Z].insertBefore(Y,G.nextSibling);}else{return G[Z].appendChild(Y);}},getClientRegion:function(){var x=E.Dom.getDocumentScrollTop(),Y=E.Dom.getDocumentScrollLeft(),y=E.Dom.getViewportWidth()+Y,G=E.Dom.getViewportHeight()+x;return new E.Region(x,y,G,Y);},setAttribute:function(Y,G,x){E.Dom.batch(Y,E.Dom._setAttribute,{attr:G,val:x});},_setAttribute:function(x,Y){var G=E.Dom._toCamel(Y.attr),y=Y.val;if(x&&x.setAttribute){if(E.Dom.DOT_ATTRIBUTES[G]){x[G]=y;}else{G=E.Dom.CUSTOM_ATTRIBUTES[G]||G;x.setAttribute(G,y);}}else{}},getAttribute:function(Y,G){return E.Dom.batch(Y,E.Dom._getAttribute,G);},_getAttribute:function(Y,G){var x;G=E.Dom.CUSTOM_ATTRIBUTES[G]||G;if(Y&&Y.getAttribute){x=Y.getAttribute(G,2);}else{}return x;},_toCamel:function(Y){var x=d;function G(y,z){return z.toUpperCase();}return x[Y]||(x[Y]=Y.indexOf("-")===-1?Y:Y.replace(/-([a-z])/gi,G));},_getClassRegex:function(Y){var G;if(Y!==undefined){if(Y.exec){G=Y;}else{G=h[Y];if(!G){Y=Y.replace(E.Dom._patterns.CLASS_RE_TOKENS,"\\$1");G=h[Y]=new RegExp(s+Y+k,U);}}}return G;},_patterns:{ROOT_TAG:/^body|html$/i,CLASS_RE_TOKENS:/([\.\(\)\^\$\*\+\?\|\[\]\{\}\\])/g},_testElement:function(G,Y){return G&&G[l]==1&&(!Y||Y(G));},_calcBorders:function(x,y){var Y=parseInt(E.Dom[w](x,R),10)||0,G=parseInt(E.Dom[w](x,q),10)||0;if(H){if(N.test(x[C])){Y=0;G=0;}}y[0]+=G;y[1]+=Y;return y;}};var S=E.Dom[w];if(m.opera){E.Dom[w]=function(Y,G){var x=S(Y,G);if(X.test(G)){x=E.Dom.Color.toRGB(x);}return x;};}if(m.webkit){E.Dom[w]=function(Y,G){var x=S(Y,G);if(x==="rgba(0, 0, 0, 0)"){x="transparent";}return x;};}if(m.ie&&m.ie>=8&&K.documentElement.hasAttribute){E.Dom.DOT_ATTRIBUTES.type=true;}})();YAHOO.util.Region=function(C,D,A,B){this.top=C;this.y=C;this[1]=C;this.right=D;this.bottom=A;this.left=B;this.x=B;this[0]=B;
+this.width=this.right-this.left;this.height=this.bottom-this.top;};YAHOO.util.Region.prototype.contains=function(A){return(A.left>=this.left&&A.right<=this.right&&A.top>=this.top&&A.bottom<=this.bottom);};YAHOO.util.Region.prototype.getArea=function(){return((this.bottom-this.top)*(this.right-this.left));};YAHOO.util.Region.prototype.intersect=function(E){var C=Math.max(this.top,E.top),D=Math.min(this.right,E.right),A=Math.min(this.bottom,E.bottom),B=Math.max(this.left,E.left);if(A>=C&&D>=B){return new YAHOO.util.Region(C,D,A,B);}else{return null;}};YAHOO.util.Region.prototype.union=function(E){var C=Math.min(this.top,E.top),D=Math.max(this.right,E.right),A=Math.max(this.bottom,E.bottom),B=Math.min(this.left,E.left);return new YAHOO.util.Region(C,D,A,B);};YAHOO.util.Region.prototype.toString=function(){return("Region {"+"top: "+this.top+", right: "+this.right+", bottom: "+this.bottom+", left: "+this.left+", height: "+this.height+", width: "+this.width+"}");};YAHOO.util.Region.getRegion=function(D){var F=YAHOO.util.Dom.getXY(D),C=F[1],E=F[0]+D.offsetWidth,A=F[1]+D.offsetHeight,B=F[0];return new YAHOO.util.Region(C,E,A,B);};YAHOO.util.Point=function(A,B){if(YAHOO.lang.isArray(A)){B=A[1];A=A[0];}YAHOO.util.Point.superclass.constructor.call(this,B,A,B,A);};YAHOO.extend(YAHOO.util.Point,YAHOO.util.Region);(function(){var B=YAHOO.util,A="clientTop",F="clientLeft",J="parentNode",K="right",W="hasLayout",I="px",U="opacity",L="auto",D="borderLeftWidth",G="borderTopWidth",P="borderRightWidth",V="borderBottomWidth",S="visible",Q="transparent",N="height",E="width",H="style",T="currentStyle",R=/^width|height$/,O=/^(\d[.\d]*)+(em|ex|px|gd|rem|vw|vh|vm|ch|mm|cm|in|pt|pc|deg|rad|ms|s|hz|khz|%){1}?/i,M={get:function(X,Z){var Y="",a=X[T][Z];if(Z===U){Y=B.Dom.getStyle(X,U);}else{if(!a||(a.indexOf&&a.indexOf(I)>-1)){Y=a;}else{if(B.Dom.IE_COMPUTED[Z]){Y=B.Dom.IE_COMPUTED[Z](X,Z);}else{if(O.test(a)){Y=B.Dom.IE.ComputedStyle.getPixel(X,Z);}else{Y=a;}}}}return Y;},getOffset:function(Z,e){var b=Z[T][e],X=e.charAt(0).toUpperCase()+e.substr(1),c="offset"+X,Y="pixel"+X,a="",d;if(b==L){d=Z[c];if(d===undefined){a=0;}a=d;if(R.test(e)){Z[H][e]=d;if(Z[c]>d){a=d-(Z[c]-d);}Z[H][e]=L;}}else{if(!Z[H][Y]&&!Z[H][e]){Z[H][e]=b;}a=Z[H][Y];}return a+I;},getBorderWidth:function(X,Z){var Y=null;if(!X[T][W]){X[H].zoom=1;}switch(Z){case G:Y=X[A];break;case V:Y=X.offsetHeight-X.clientHeight-X[A];break;case D:Y=X[F];break;case P:Y=X.offsetWidth-X.clientWidth-X[F];break;}return Y+I;},getPixel:function(Y,X){var a=null,b=Y[T][K],Z=Y[T][X];Y[H][K]=Z;a=Y[H].pixelRight;Y[H][K]=b;return a+I;},getMargin:function(Y,X){var Z;if(Y[T][X]==L){Z=0+I;}else{Z=B.Dom.IE.ComputedStyle.getPixel(Y,X);}return Z;},getVisibility:function(Y,X){var Z;while((Z=Y[T])&&Z[X]=="inherit"){Y=Y[J];}return(Z)?Z[X]:S;},getColor:function(Y,X){return B.Dom.Color.toRGB(Y[T][X])||Q;},getBorderColor:function(Y,X){var Z=Y[T],a=Z[X]||Z.color;return B.Dom.Color.toRGB(B.Dom.Color.toHex(a));}},C={};C.top=C.right=C.bottom=C.left=C[E]=C[N]=M.getOffset;C.color=M.getColor;C[G]=C[P]=C[V]=C[D]=M.getBorderWidth;C.marginTop=C.marginRight=C.marginBottom=C.marginLeft=M.getMargin;C.visibility=M.getVisibility;C.borderColor=C.borderTopColor=C.borderRightColor=C.borderBottomColor=C.borderLeftColor=M.getBorderColor;B.Dom.IE_COMPUTED=C;B.Dom.IE_ComputedStyle=M;})();(function(){var C="toString",A=parseInt,B=RegExp,D=YAHOO.util;D.Dom.Color={KEYWORDS:{black:"000",silver:"c0c0c0",gray:"808080",white:"fff",maroon:"800000",red:"f00",purple:"800080",fuchsia:"f0f",green:"008000",lime:"0f0",olive:"808000",yellow:"ff0",navy:"000080",blue:"00f",teal:"008080",aqua:"0ff"},re_RGB:/^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i,re_hex:/^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i,re_hex3:/([0-9A-F])/gi,toRGB:function(E){if(!D.Dom.Color.re_RGB.test(E)){E=D.Dom.Color.toHex(E);}if(D.Dom.Color.re_hex.exec(E)){E="rgb("+[A(B.$1,16),A(B.$2,16),A(B.$3,16)].join(", ")+")";}return E;},toHex:function(H){H=D.Dom.Color.KEYWORDS[H]||H;if(D.Dom.Color.re_RGB.exec(H)){var G=(B.$1.length===1)?"0"+B.$1:Number(B.$1),F=(B.$2.length===1)?"0"+B.$2:Number(B.$2),E=(B.$3.length===1)?"0"+B.$3:Number(B.$3);H=[G[C](16),F[C](16),E[C](16)].join("");}if(H.length<6){H=H.replace(D.Dom.Color.re_hex3,"$1$1");}if(H!=="transparent"&&H.indexOf("#")<0){H="#"+H;}return H.toLowerCase();}};}());YAHOO.register("dom",YAHOO.util.Dom,{version:"2.8.0r4",build:"2449"});
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/yui/dom/dom-min.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/yui/dom/index.php
===================================================================
--- tags/2.8.2/wb/include/yui/dom/index.php	(nonexistent)
+++ tags/2.8.2/wb/include/yui/dom/index.php	(revision 1481)
@@ -0,0 +1,22 @@
+<?php
+/**
+ *
+ * @category        framework
+ * @package         yui
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version      	$Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+
+header("Location: ../../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/yui/dom/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/yui/dom/dom-debug.js
===================================================================
--- tags/2.8.2/wb/include/yui/dom/dom-debug.js	(nonexistent)
+++ tags/2.8.2/wb/include/yui/dom/dom-debug.js	(revision 1481)
@@ -0,0 +1,1872 @@
+/*
+Copyright (c) 2009, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.8.0r4
+*/
+/**
+ * The dom module provides helper methods for manipulating Dom elements.
+ * @module dom
+ *
+ */
+
+(function() {
+    // for use with generateId (global to save state if Dom is overwritten)
+    YAHOO.env._id_counter = YAHOO.env._id_counter || 0;
+
+    // internal shorthand
+    var Y = YAHOO.util,
+        lang = YAHOO.lang,
+        UA = YAHOO.env.ua,
+        trim = YAHOO.lang.trim,
+        propertyCache = {}, // for faster hyphen converts
+        reCache = {}, // cache className regexes
+        RE_TABLE = /^t(?:able|d|h)$/i, // for _calcBorders
+        RE_COLOR = /color$/i,
+
+        // DOM aliases 
+        document = window.document,     
+        documentElement = document.documentElement,
+
+        // string constants
+        OWNER_DOCUMENT = 'ownerDocument',
+        DEFAULT_VIEW = 'defaultView',
+        DOCUMENT_ELEMENT = 'documentElement',
+        COMPAT_MODE = 'compatMode',
+        OFFSET_LEFT = 'offsetLeft',
+        OFFSET_TOP = 'offsetTop',
+        OFFSET_PARENT = 'offsetParent',
+        PARENT_NODE = 'parentNode',
+        NODE_TYPE = 'nodeType',
+        TAG_NAME = 'tagName',
+        SCROLL_LEFT = 'scrollLeft',
+        SCROLL_TOP = 'scrollTop',
+        GET_BOUNDING_CLIENT_RECT = 'getBoundingClientRect',
+        GET_COMPUTED_STYLE = 'getComputedStyle',
+        CURRENT_STYLE = 'currentStyle',
+        CSS1_COMPAT = 'CSS1Compat',
+        _BACK_COMPAT = 'BackCompat',
+        _CLASS = 'class', // underscore due to reserved word
+        CLASS_NAME = 'className',
+        EMPTY = '',
+        SPACE = ' ',
+        C_START = '(?:^|\\s)',
+        C_END = '(?= |$)',
+        G = 'g',
+        POSITION = 'position',
+        FIXED = 'fixed',
+        RELATIVE = 'relative',
+        LEFT = 'left',
+        TOP = 'top',
+        MEDIUM = 'medium',
+        BORDER_LEFT_WIDTH = 'borderLeftWidth',
+        BORDER_TOP_WIDTH = 'borderTopWidth',
+    
+    // brower detection
+        isOpera = UA.opera,
+        isSafari = UA.webkit, 
+        isGecko = UA.gecko, 
+        isIE = UA.ie; 
+    
+    /**
+     * Provides helper methods for DOM elements.
+     * @namespace YAHOO.util
+     * @class Dom
+     * @requires yahoo, event
+     */
+    Y.Dom = {
+        CUSTOM_ATTRIBUTES: (!documentElement.hasAttribute) ? { // IE < 8
+            'for': 'htmlFor',
+            'class': CLASS_NAME
+        } : { // w3c
+            'htmlFor': 'for',
+            'className': _CLASS
+        },
+
+        DOT_ATTRIBUTES: {},
+
+        /**
+         * Returns an HTMLElement reference.
+         * @method get
+         * @param {String | HTMLElement |Array} el Accepts a string to use as an ID for getting a DOM reference, an actual DOM reference, or an Array of IDs and/or HTMLElements.
+         * @return {HTMLElement | Array} A DOM reference to an HTML element or an array of HTMLElements.
+         */
+        get: function(el) {
+            var id, nodes, c, i, len, attr;
+
+            if (el) {
+                if (el[NODE_TYPE] || el.item) { // Node, or NodeList
+                    return el;
+                }
+
+                if (typeof el === 'string') { // id
+                    id = el;
+                    el = document.getElementById(el);
+                    attr = (el) ? el.attributes : null;
+                    if (el && attr && attr.id && attr.id.value === id) { // IE: avoid false match on "name" attribute
+                        return el;
+                    } else if (el && document.all) { // filter by name
+                        el = null;
+                        nodes = document.all[id];
+                        for (i = 0, len = nodes.length; i < len; ++i) {
+                            if (nodes[i].id === id) {
+                                return nodes[i];
+                            }
+                        }
+                    }
+                    return el;
+                }
+                
+                if (YAHOO.util.Element && el instanceof YAHOO.util.Element) {
+                    el = el.get('element');
+                }
+
+                if ('length' in el) { // array-like 
+                    c = [];
+                    for (i = 0, len = el.length; i < len; ++i) {
+                        c[c.length] = Y.Dom.get(el[i]);
+                    }
+                    
+                    return c;
+                }
+
+                return el; // some other object, just pass it back
+            }
+
+            return null;
+        },
+    
+        getComputedStyle: function(el, property) {
+            if (window[GET_COMPUTED_STYLE]) {
+                return el[OWNER_DOCUMENT][DEFAULT_VIEW][GET_COMPUTED_STYLE](el, null)[property];
+            } else if (el[CURRENT_STYLE]) {
+                return Y.Dom.IE_ComputedStyle.get(el, property);
+            }
+        },
+
+        /**
+         * Normalizes currentStyle and ComputedStyle.
+         * @method getStyle
+         * @param {String | HTMLElement |Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements.
+         * @param {String} property The style property whose value is returned.
+         * @return {String | Array} The current value of the style property for the element(s).
+         */
+        getStyle: function(el, property) {
+            return Y.Dom.batch(el, Y.Dom._getStyle, property);
+        },
+
+        // branching at load instead of runtime
+        _getStyle: function() {
+            if (window[GET_COMPUTED_STYLE]) { // W3C DOM method
+                return function(el, property) {
+                    property = (property === 'float') ? property = 'cssFloat' :
+                            Y.Dom._toCamel(property);
+
+                    var value = el.style[property],
+                        computed;
+                    
+                    if (!value) {
+                        computed = el[OWNER_DOCUMENT][DEFAULT_VIEW][GET_COMPUTED_STYLE](el, null);
+                        if (computed) { // test computed before touching for safari
+                            value = computed[property];
+                        }
+                    }
+                    
+                    return value;
+                };
+            } else if (documentElement[CURRENT_STYLE]) {
+                return function(el, property) {                         
+                    var value;
+
+                    switch(property) {
+                        case 'opacity' :// IE opacity uses filter
+                            value = 100;
+                            try { // will error if no DXImageTransform
+                                value = el.filters['DXImageTransform.Microsoft.Alpha'].opacity;
+
+                            } catch(e) {
+                                try { // make sure its in the document
+                                    value = el.filters('alpha').opacity;
+                                } catch(err) {
+                                    YAHOO.log('getStyle: IE filter failed',
+                                            'error', 'Dom');
+                                }
+                            }
+                            return value / 100;
+                        case 'float': // fix reserved word
+                            property = 'styleFloat'; // fall through
+                        default: 
+                            property = Y.Dom._toCamel(property);
+                            value = el[CURRENT_STYLE] ? el[CURRENT_STYLE][property] : null;
+                            return ( el.style[property] || value );
+                    }
+                };
+            }
+        }(),
+    
+        /**
+         * Wrapper for setting style properties of HTMLElements.  Normalizes "opacity" across modern browsers.
+         * @method setStyle
+         * @param {String | HTMLElement | Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements.
+         * @param {String} property The style property to be set.
+         * @param {String} val The value to apply to the given property.
+         */
+        setStyle: function(el, property, val) {
+            Y.Dom.batch(el, Y.Dom._setStyle, { prop: property, val: val });
+        },
+
+        _setStyle: function() {
+            if (isIE) {
+                return function(el, args) {
+                    var property = Y.Dom._toCamel(args.prop),
+                        val = args.val;
+
+                    if (el) {
+                        switch (property) {
+                            case 'opacity':
+                                if ( lang.isString(el.style.filter) ) { // in case not appended
+                                    el.style.filter = 'alpha(opacity=' + val * 100 + ')';
+                                    
+                                    if (!el[CURRENT_STYLE] || !el[CURRENT_STYLE].hasLayout) {
+                                        el.style.zoom = 1; // when no layout or cant tell
+                                    }
+                                }
+                                break;
+                            case 'float':
+                                property = 'styleFloat';
+                            default:
+                            el.style[property] = val;
+                        }
+                    } else {
+                        YAHOO.log('element ' + el + ' is undefined', 'error', 'Dom');
+                    }
+                };
+            } else {
+                return function(el, args) {
+                    var property = Y.Dom._toCamel(args.prop),
+                        val = args.val;
+                    if (el) {
+                        if (property == 'float') {
+                            property = 'cssFloat';
+                        }
+                        el.style[property] = val;
+                    } else {
+                        YAHOO.log('element ' + el + ' is undefined', 'error', 'Dom');
+                    }
+                };
+            }
+
+        }(),
+        
+        /**
+         * Gets the current position of an element based on page coordinates. 
+         * Element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
+         * @method getXY
+         * @param {String | HTMLElement | Array} el Accepts a string to use as an ID, an actual DOM
+         * reference, or an Array of IDs and/or HTMLElements
+         * @return {Array} The XY position of the element(s)
+         */
+        getXY: function(el) {
+            return Y.Dom.batch(el, Y.Dom._getXY);
+        },
+
+        _canPosition: function(el) {
+            return ( Y.Dom._getStyle(el, 'display') !== 'none' && Y.Dom._inDoc(el) );
+        },
+
+        _getXY: function() {
+            if (document[DOCUMENT_ELEMENT][GET_BOUNDING_CLIENT_RECT]) {
+                return function(node) {
+                    var scrollLeft, scrollTop, box, doc,
+                        off1, off2, mode, bLeft, bTop,
+                        floor = Math.floor, // TODO: round?
+                        xy = false;
+
+                    if (Y.Dom._canPosition(node)) {
+                        box = node[GET_BOUNDING_CLIENT_RECT]();
+                        doc = node[OWNER_DOCUMENT];
+                        scrollLeft = Y.Dom.getDocumentScrollLeft(doc);
+                        scrollTop = Y.Dom.getDocumentScrollTop(doc);
+                        xy = [floor(box[LEFT]), floor(box[TOP])];
+
+                        if (isIE && UA.ie < 8) { // IE < 8: viewport off by 2
+                            off1 = 2;
+                            off2 = 2;
+                            mode = doc[COMPAT_MODE];
+
+                            if (UA.ie === 6) {
+                                if (mode !== _BACK_COMPAT) {
+                                    off1 = 0;
+                                    off2 = 0;
+                                }
+                            }
+                            
+                            if ((mode === _BACK_COMPAT)) {
+                                bLeft = _getComputedStyle(doc[DOCUMENT_ELEMENT], BORDER_LEFT_WIDTH);
+                                bTop = _getComputedStyle(doc[DOCUMENT_ELEMENT], BORDER_TOP_WIDTH);
+                                if (bLeft !== MEDIUM) {
+                                    off1 = parseInt(bLeft, 10);
+                                }
+                                if (bTop !== MEDIUM) {
+                                    off2 = parseInt(bTop, 10);
+                                }
+                            }
+                            
+                            xy[0] -= off1;
+                            xy[1] -= off2;
+
+                        }
+
+                        if ((scrollTop || scrollLeft)) {
+                            xy[0] += scrollLeft;
+                            xy[1] += scrollTop;
+                        }
+
+                        // gecko may return sub-pixel (non-int) values
+                        xy[0] = floor(xy[0]);
+                        xy[1] = floor(xy[1]);
+                    } else {
+                        YAHOO.log('getXY failed: element not positionable (either not in a document or not displayed)', 'error', 'Dom');
+                    }
+
+                    return xy;
+                };
+            } else {
+                return function(node) { // ff2, safari: manually calculate by crawling up offsetParents
+                    var docScrollLeft, docScrollTop,
+                        scrollTop, scrollLeft,
+                        bCheck,
+                        xy = false,
+                        parentNode = node;
+
+                    if  (Y.Dom._canPosition(node) ) {
+                        xy = [node[OFFSET_LEFT], node[OFFSET_TOP]];
+                        docScrollLeft = Y.Dom.getDocumentScrollLeft(node[OWNER_DOCUMENT]);
+                        docScrollTop = Y.Dom.getDocumentScrollTop(node[OWNER_DOCUMENT]);
+
+                        // TODO: refactor with !! or just falsey
+                        bCheck = ((isGecko || UA.webkit > 519) ? true : false);
+
+                        // TODO: worth refactoring for TOP/LEFT only?
+                        while ((parentNode = parentNode[OFFSET_PARENT])) {
+                            xy[0] += parentNode[OFFSET_LEFT];
+                            xy[1] += parentNode[OFFSET_TOP];
+                            if (bCheck) {
+                                xy = Y.Dom._calcBorders(parentNode, xy);
+                            }
+                        }
+
+                        // account for any scrolled ancestors
+                        if (Y.Dom._getStyle(node, POSITION) !== FIXED) {
+                            parentNode = node;
+
+                            while ((parentNode = parentNode[PARENT_NODE]) && parentNode[TAG_NAME]) {
+                                scrollTop = parentNode[SCROLL_TOP];
+                                scrollLeft = parentNode[SCROLL_LEFT];
+
+                                //Firefox does something funky with borders when overflow is not visible.
+                                if (isGecko && (Y.Dom._getStyle(parentNode, 'overflow') !== 'visible')) {
+                                        xy = Y.Dom._calcBorders(parentNode, xy);
+                                }
+
+                                if (scrollTop || scrollLeft) {
+                                    xy[0] -= scrollLeft;
+                                    xy[1] -= scrollTop;
+                                }
+                            }
+                            xy[0] += docScrollLeft;
+                            xy[1] += docScrollTop;
+
+                        } else {
+                            //Fix FIXED position -- add scrollbars
+                            if (isOpera) {
+                                xy[0] -= docScrollLeft;
+                                xy[1] -= docScrollTop;
+                            } else if (isSafari || isGecko) {
+                                xy[0] += docScrollLeft;
+                                xy[1] += docScrollTop;
+                            }
+                        }
+                        //Round the numbers so we get sane data back
+                        xy[0] = Math.floor(xy[0]);
+                        xy[1] = Math.floor(xy[1]);
+                    } else {
+                        YAHOO.log('getXY failed: element not positionable (either not in a document or not displayed)', 'error', 'Dom');
+                    }
+                    return xy;                
+                };
+            }
+        }(), // NOTE: Executing for loadtime branching
+        
+        /**
+         * Gets the current X position of an element based on page coordinates.  The element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
+         * @method getX
+         * @param {String | HTMLElement | Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements
+         * @return {Number | Array} The X position of the element(s)
+         */
+        getX: function(el) {
+            var f = function(el) {
+                return Y.Dom.getXY(el)[0];
+            };
+            
+            return Y.Dom.batch(el, f, Y.Dom, true);
+        },
+        
+        /**
+         * Gets the current Y position of an element based on page coordinates.  Element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
+         * @method getY
+         * @param {String | HTMLElement | Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements
+         * @return {Number | Array} The Y position of the element(s)
+         */
+        getY: function(el) {
+            var f = function(el) {
+                return Y.Dom.getXY(el)[1];
+            };
+            
+            return Y.Dom.batch(el, f, Y.Dom, true);
+        },
+        
+        /**
+         * Set the position of an html element in page coordinates, regardless of how the element is positioned.
+         * The element(s) must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
+         * @method setXY
+         * @param {String | HTMLElement | Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements
+         * @param {Array} pos Contains X & Y values for new position (coordinates are page-based)
+         * @param {Boolean} noRetry By default we try and set the position a second time if the first fails
+         */
+        setXY: function(el, pos, noRetry) {
+            Y.Dom.batch(el, Y.Dom._setXY, { pos: pos, noRetry: noRetry });
+        },
+
+        _setXY: function(node, args) {
+            var pos = Y.Dom._getStyle(node, POSITION),
+                setStyle = Y.Dom.setStyle,
+                xy = args.pos,
+                noRetry = args.noRetry,
+
+                delta = [ // assuming pixels; if not we will have to retry
+                    parseInt( Y.Dom.getComputedStyle(node, LEFT), 10 ),
+                    parseInt( Y.Dom.getComputedStyle(node, TOP), 10 )
+                ],
+
+                currentXY,
+                newXY;
+        
+            if (pos == 'static') { // default to relative
+                pos = RELATIVE;
+                setStyle(node, POSITION, pos);
+            }
+
+            currentXY = Y.Dom._getXY(node);
+
+            if (!xy || currentXY === false) { // has to be part of doc to have xy
+                YAHOO.log('xy failed: node not available', 'error', 'Node');
+                return false; 
+            }
+            
+            if ( isNaN(delta[0]) ) {// in case of 'auto'
+                delta[0] = (pos == RELATIVE) ? 0 : node[OFFSET_LEFT];
+            } 
+            if ( isNaN(delta[1]) ) { // in case of 'auto'
+                delta[1] = (pos == RELATIVE) ? 0 : node[OFFSET_TOP];
+            } 
+
+            if (xy[0] !== null) { // from setX
+                setStyle(node, LEFT, xy[0] - currentXY[0] + delta[0] + 'px');
+            }
+
+            if (xy[1] !== null) { // from setY
+                setStyle(node, TOP, xy[1] - currentXY[1] + delta[1] + 'px');
+            }
+          
+            if (!noRetry) {
+                newXY = Y.Dom._getXY(node);
+
+                // if retry is true, try one more time if we miss 
+               if ( (xy[0] !== null && newXY[0] != xy[0]) || 
+                    (xy[1] !== null && newXY[1] != xy[1]) ) {
+                   Y.Dom._setXY(node, { pos: xy, noRetry: true });
+               }
+            }        
+
+            YAHOO.log('setXY setting position to ' + xy, 'info', 'Node');
+        },
+        
+        /**
+         * Set the X position of an html element in page coordinates, regardless of how the element is positioned.
+         * The element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
+         * @method setX
+         * @param {String | HTMLElement | Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements.
+         * @param {Int} x The value to use as the X coordinate for the element(s).
+         */
+        setX: function(el, x) {
+            Y.Dom.setXY(el, [x, null]);
+        },
+        
+        /**
+         * Set the Y position of an html element in page coordinates, regardless of how the element is positioned.
+         * The element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
+         * @method setY
+         * @param {String | HTMLElement | Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements.
+         * @param {Int} x To use as the Y coordinate for the element(s).
+         */
+        setY: function(el, y) {
+            Y.Dom.setXY(el, [null, y]);
+        },
+        
+        /**
+         * Returns the region position of the given element.
+         * The element must be part of the DOM tree to have a region (display:none or elements not appended return false).
+         * @method getRegion
+         * @param {String | HTMLElement | Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements.
+         * @return {Region | Array} A Region or array of Region instances containing "top, left, bottom, right" member data.
+         */
+        getRegion: function(el) {
+            var f = function(el) {
+                var region = false;
+                if ( Y.Dom._canPosition(el) ) {
+                    region = Y.Region.getRegion(el);
+                    YAHOO.log('getRegion returning ' + region, 'info', 'Dom');
+                } else {
+                    YAHOO.log('getRegion failed: element not positionable (either not in a document or not displayed)', 'error', 'Dom');
+                }
+
+                return region;
+            };
+            
+            return Y.Dom.batch(el, f, Y.Dom, true);
+        },
+        
+        /**
+         * Returns the width of the client (viewport).
+         * @method getClientWidth
+         * @deprecated Now using getViewportWidth.  This interface left intact for back compat.
+         * @return {Int} The width of the viewable area of the page.
+         */
+        getClientWidth: function() {
+            return Y.Dom.getViewportWidth();
+        },
+        
+        /**
+         * Returns the height of the client (viewport).
+         * @method getClientHeight
+         * @deprecated Now using getViewportHeight.  This interface left intact for back compat.
+         * @return {Int} The height of the viewable area of the page.
+         */
+        getClientHeight: function() {
+            return Y.Dom.getViewportHeight();
+        },
+
+        /**
+         * Returns an array of HTMLElements with the given class.
+         * For optimized performance, include a tag and/or root node when possible.
+         * Note: This method operates against a live collection, so modifying the 
+         * collection in the callback (removing/appending nodes, etc.) will have
+         * side effects.  Instead you should iterate the returned nodes array,
+         * as you would with the native "getElementsByTagName" method. 
+         * @method getElementsByClassName
+         * @param {String} className The class name to match against
+         * @param {String} tag (optional) The tag name of the elements being collected
+         * @param {String | HTMLElement} root (optional) The HTMLElement or an ID to use as the starting point.
+         * This element is not included in the className scan.
+         * @param {Function} apply (optional) A function to apply to each element when found 
+         * @param {Any} o (optional) An optional arg that is passed to the supplied method
+         * @param {Boolean} overrides (optional) Whether or not to override the scope of "method" with "o"
+         * @return {Array} An array of elements that have the given class name
+         */
+        getElementsByClassName: function(className, tag, root, apply, o, overrides) {
+            tag = tag || '*';
+            root = (root) ? Y.Dom.get(root) : null || document; 
+            if (!root) {
+                return [];
+            }
+
+            var nodes = [],
+                elements = root.getElementsByTagName(tag),
+                hasClass = Y.Dom.hasClass;
+
+            for (var i = 0, len = elements.length; i < len; ++i) {
+                if ( hasClass(elements[i], className) ) {
+                    nodes[nodes.length] = elements[i];
+                }
+            }
+            
+            if (apply) {
+                Y.Dom.batch(nodes, apply, o, overrides);
+            }
+
+            return nodes;
+        },
+
+        /**
+         * Determines whether an HTMLElement has the given className.
+         * @method hasClass
+         * @param {String | HTMLElement | Array} el The element or collection to test
+         * @param {String} className the class name to search for
+         * @return {Boolean | Array} A boolean value or array of boolean values
+         */
+        hasClass: function(el, className) {
+            return Y.Dom.batch(el, Y.Dom._hasClass, className);
+        },
+
+        _hasClass: function(el, className) {
+            var ret = false,
+                current;
+            
+            if (el && className) {
+                current = Y.Dom._getAttribute(el, CLASS_NAME) || EMPTY;
+                if (className.exec) {
+                    ret = className.test(current);
+                } else {
+                    ret = className && (SPACE + current + SPACE).
+                        indexOf(SPACE + className + SPACE) > -1;
+                }
+            } else {
+                YAHOO.log('hasClass called with invalid arguments', 'warn', 'Dom');
+            }
+
+            return ret;
+        },
+    
+        /**
+         * Adds a class name to a given element or collection of elements.
+         * @method addClass         
+         * @param {String | HTMLElement | Array} el The element or collection to add the class to
+         * @param {String} className the class name to add to the class attribute
+         * @return {Boolean | Array} A pass/fail boolean or array of booleans
+         */
+        addClass: function(el, className) {
+            return Y.Dom.batch(el, Y.Dom._addClass, className);
+        },
+
+        _addClass: function(el, className) {
+            var ret = false,
+                current;
+
+            if (el && className) {
+                current = Y.Dom._getAttribute(el, CLASS_NAME) || EMPTY;
+                if ( !Y.Dom._hasClass(el, className) ) {
+                    Y.Dom.setAttribute(el, CLASS_NAME, trim(current + SPACE + className));
+                    ret = true;
+                }
+            } else {
+                YAHOO.log('addClass called with invalid arguments', 'warn', 'Dom');
+            }
+
+            return ret;
+        },
+    
+        /**
+         * Removes a class name from a given element or collection of elements.
+         * @method removeClass         
+         * @param {String | HTMLElement | Array} el The element or collection to remove the class from
+         * @param {String} className the class name to remove from the class attribute
+         * @return {Boolean | Array} A pass/fail boolean or array of booleans
+         */
+        removeClass: function(el, className) {
+            return Y.Dom.batch(el, Y.Dom._removeClass, className);
+        },
+        
+        _removeClass: function(el, className) {
+            var ret = false,
+                current,
+                newClass,
+                attr;
+
+            if (el && className) {
+                current = Y.Dom._getAttribute(el, CLASS_NAME) || EMPTY;
+                Y.Dom.setAttribute(el, CLASS_NAME, current.replace(Y.Dom._getClassRegex(className), EMPTY));
+
+                newClass = Y.Dom._getAttribute(el, CLASS_NAME);
+                if (current !== newClass) { // else nothing changed
+                    Y.Dom.setAttribute(el, CLASS_NAME, trim(newClass)); // trim after comparing to current class
+                    ret = true;
+
+                    if (Y.Dom._getAttribute(el, CLASS_NAME) === '') { // remove class attribute if empty
+                        attr = (el.hasAttribute && el.hasAttribute(_CLASS)) ? _CLASS : CLASS_NAME;
+                        YAHOO.log('removeClass removing empty class attribute', 'info', 'Dom');
+                        el.removeAttribute(attr);
+                    }
+                }
+
+            } else {
+                YAHOO.log('removeClass called with invalid arguments', 'warn', 'Dom');
+            }
+
+            return ret;
+        },
+        
+        /**
+         * Replace a class with another class for a given element or collection of elements.
+         * If no oldClassName is present, the newClassName is simply added.
+         * @method replaceClass  
+         * @param {String | HTMLElement | Array} el The element or collection to remove the class from
+         * @param {String} oldClassName the class name to be replaced
+         * @param {String} newClassName the class name that will be replacing the old class name
+         * @return {Boolean | Array} A pass/fail boolean or array of booleans
+         */
+        replaceClass: function(el, oldClassName, newClassName) {
+            return Y.Dom.batch(el, Y.Dom._replaceClass, { from: oldClassName, to: newClassName });
+        },
+
+        _replaceClass: function(el, classObj) {
+            var className,
+                from,
+                to,
+                ret = false,
+                current;
+
+            if (el && classObj) {
+                from = classObj.from;
+                to = classObj.to;
+
+                if (!to) {
+                    ret = false;
+                }  else if (!from) { // just add if no "from"
+                    ret = Y.Dom._addClass(el, classObj.to);
+                } else if (from !== to) { // else nothing to replace
+                    // May need to lead with DBLSPACE?
+                    current = Y.Dom._getAttribute(el, CLASS_NAME) || EMPTY;
+                    className = (SPACE + current.replace(Y.Dom._getClassRegex(from), SPACE + to)).
+                               split(Y.Dom._getClassRegex(to));
+
+                    // insert to into what would have been the first occurrence slot
+                    className.splice(1, 0, SPACE + to);
+                    Y.Dom.setAttribute(el, CLASS_NAME, trim(className.join(EMPTY)));
+                    ret = true;
+                }
+            } else {
+                YAHOO.log('replaceClass called with invalid arguments', 'warn', 'Dom');
+            }
+
+            return ret;
+        },
+        
+        /**
+         * Returns an ID and applies it to the element "el", if provided.
+         * @method generateId  
+         * @param {String | HTMLElement | Array} el (optional) An optional element array of elements to add an ID to (no ID is added if one is already present).
+         * @param {String} prefix (optional) an optional prefix to use (defaults to "yui-gen").
+         * @return {String | Array} The generated ID, or array of generated IDs (or original ID if already present on an element)
+         */
+        generateId: function(el, prefix) {
+            prefix = prefix || 'yui-gen';
+
+            var f = function(el) {
+                if (el && el.id) { // do not override existing ID
+                    YAHOO.log('generateId returning existing id ' + el.id, 'info', 'Dom');
+                    return el.id;
+                }
+
+                var id = prefix + YAHOO.env._id_counter++;
+                YAHOO.log('generateId generating ' + id, 'info', 'Dom');
+
+                if (el) {
+                    if (el[OWNER_DOCUMENT] && el[OWNER_DOCUMENT].getElementById(id)) { // in case one already exists
+                        // use failed id plus prefix to help ensure uniqueness
+                        return Y.Dom.generateId(el, id + prefix);
+                    }
+                    el.id = id;
+                }
+                
+                return id;
+            };
+
+            // batch fails when no element, so just generate and return single ID
+            return Y.Dom.batch(el, f, Y.Dom, true) || f.apply(Y.Dom, arguments);
+        },
+        
+        /**
+         * Determines whether an HTMLElement is an ancestor of another HTML element in the DOM hierarchy.
+         * @method isAncestor
+         * @param {String | HTMLElement} haystack The possible ancestor
+         * @param {String | HTMLElement} needle The possible descendent
+         * @return {Boolean} Whether or not the haystack is an ancestor of needle
+         */
+        isAncestor: function(haystack, needle) {
+            haystack = Y.Dom.get(haystack);
+            needle = Y.Dom.get(needle);
+            
+            var ret = false;
+
+            if ( (haystack && needle) && (haystack[NODE_TYPE] && needle[NODE_TYPE]) ) {
+                if (haystack.contains && haystack !== needle) { // contains returns true when equal
+                    ret = haystack.contains(needle);
+                }
+                else if (haystack.compareDocumentPosition) { // gecko
+                    ret = !!(haystack.compareDocumentPosition(needle) & 16);
+                }
+            } else {
+                YAHOO.log('isAncestor failed; invalid input: ' + haystack + ',' + needle, 'error', 'Dom');
+            }
+            YAHOO.log('isAncestor(' + haystack + ',' + needle + ' returning ' + ret, 'info', 'Dom');
+            return ret;
+        },
+        
+        /**
+         * Determines whether an HTMLElement is present in the current document.
+         * @method inDocument         
+         * @param {String | HTMLElement} el The element to search for
+         * @param {Object} doc An optional document to search, defaults to element's owner document 
+         * @return {Boolean} Whether or not the element is present in the current document
+         */
+        inDocument: function(el, doc) {
+            return Y.Dom._inDoc(Y.Dom.get(el), doc);
+        },
+
+        _inDoc: function(el, doc) {
+            var ret = false;
+            if (el && el[TAG_NAME]) {
+                doc = doc || el[OWNER_DOCUMENT]; 
+                ret = Y.Dom.isAncestor(doc[DOCUMENT_ELEMENT], el);
+            } else {
+                YAHOO.log('inDocument failed: invalid input', 'error', 'Dom');
+            }
+            return ret;
+        },
+        
+        /**
+         * Returns an array of HTMLElements that pass the test applied by supplied boolean method.
+         * For optimized performance, include a tag and/or root node when possible.
+         * Note: This method operates against a live collection, so modifying the 
+         * collection in the callback (removing/appending nodes, etc.) will have
+         * side effects.  Instead you should iterate the returned nodes array,
+         * as you would with the native "getElementsByTagName" method. 
+         * @method getElementsBy
+         * @param {Function} method - A boolean method for testing elements which receives the element as its only argument.
+         * @param {String} tag (optional) The tag name of the elements being collected
+         * @param {String | HTMLElement} root (optional) The HTMLElement or an ID to use as the starting point 
+         * @param {Function} apply (optional) A function to apply to each element when found 
+         * @param {Any} o (optional) An optional arg that is passed to the supplied method
+         * @param {Boolean} overrides (optional) Whether or not to override the scope of "method" with "o"
+         * @return {Array} Array of HTMLElements
+         */
+        getElementsBy: function(method, tag, root, apply, o, overrides, firstOnly) {
+            tag = tag || '*';
+            root = (root) ? Y.Dom.get(root) : null || document; 
+
+            if (!root) {
+                return [];
+            }
+
+            var nodes = [],
+                elements = root.getElementsByTagName(tag);
+            
+            for (var i = 0, len = elements.length; i < len; ++i) {
+                if ( method(elements[i]) ) {
+                    if (firstOnly) {
+                        nodes = elements[i]; 
+                        break;
+                    } else {
+                        nodes[nodes.length] = elements[i];
+                    }
+                }
+            }
+
+            if (apply) {
+                Y.Dom.batch(nodes, apply, o, overrides);
+            }
+
+            YAHOO.log('getElementsBy returning ' + nodes, 'info', 'Dom');
+            
+            return nodes;
+        },
+        
+        /**
+         * Returns the first HTMLElement that passes the test applied by the supplied boolean method.
+         * @method getElementBy
+         * @param {Function} method - A boolean method for testing elements which receives the element as its only argument.
+         * @param {String} tag (optional) The tag name of the elements being collected
+         * @param {String | HTMLElement} root (optional) The HTMLElement or an ID to use as the starting point 
+         * @return {HTMLElement}
+         */
+        getElementBy: function(method, tag, root) {
+            return Y.Dom.getElementsBy(method, tag, root, null, null, null, true); 
+        },
+
+        /**
+         * Runs the supplied method against each item in the Collection/Array.
+         * The method is called with the element(s) as the first arg, and the optional param as the second ( method(el, o) ).
+         * @method batch
+         * @param {String | HTMLElement | Array} el (optional) An element or array of elements to apply the method to
+         * @param {Function} method The method to apply to the element(s)
+         * @param {Any} o (optional) An optional arg that is passed to the supplied method
+         * @param {Boolean} overrides (optional) Whether or not to override the scope of "method" with "o"
+         * @return {Any | Array} The return value(s) from the supplied method
+         */
+        batch: function(el, method, o, overrides) {
+            var collection = [],
+                scope = (overrides) ? o : window;
+                
+            el = (el && (el[TAG_NAME] || el.item)) ? el : Y.Dom.get(el); // skip get() when possible
+            if (el && method) {
+                if (el[TAG_NAME] || el.length === undefined) { // element or not array-like 
+                    return method.call(scope, el, o);
+                } 
+
+                for (var i = 0; i < el.length; ++i) {
+                    collection[collection.length] = method.call(scope, el[i], o);
+                }
+            } else {
+                YAHOO.log('batch called with invalid arguments', 'warn', 'Dom');
+                return false;
+            } 
+            return collection;
+        },
+        
+        /**
+         * Returns the height of the document.
+         * @method getDocumentHeight
+         * @return {Int} The height of the actual document (which includes the body and its margin).
+         */
+        getDocumentHeight: function() {
+            var scrollHeight = (document[COMPAT_MODE] != CSS1_COMPAT || isSafari) ? document.body.scrollHeight : documentElement.scrollHeight,
+                h = Math.max(scrollHeight, Y.Dom.getViewportHeight());
+
+            YAHOO.log('getDocumentHeight returning ' + h, 'info', 'Dom');
+            return h;
+        },
+        
+        /**
+         * Returns the width of the document.
+         * @method getDocumentWidth
+         * @return {Int} The width of the actual document (which includes the body and its margin).
+         */
+        getDocumentWidth: function() {
+            var scrollWidth = (document[COMPAT_MODE] != CSS1_COMPAT || isSafari) ? document.body.scrollWidth : documentElement.scrollWidth,
+                w = Math.max(scrollWidth, Y.Dom.getViewportWidth());
+            YAHOO.log('getDocumentWidth returning ' + w, 'info', 'Dom');
+            return w;
+        },
+
+        /**
+         * Returns the current height of the viewport.
+         * @method getViewportHeight
+         * @return {Int} The height of the viewable area of the page (excludes scrollbars).
+         */
+        getViewportHeight: function() {
+            var height = self.innerHeight, // Safari, Opera
+                mode = document[COMPAT_MODE];
+        
+            if ( (mode || isIE) && !isOpera ) { // IE, Gecko
+                height = (mode == CSS1_COMPAT) ?
+                        documentElement.clientHeight : // Standards
+                        document.body.clientHeight; // Quirks
+            }
+        
+            YAHOO.log('getViewportHeight returning ' + height, 'info', 'Dom');
+            return height;
+        },
+        
+        /**
+         * Returns the current width of the viewport.
+         * @method getViewportWidth
+         * @return {Int} The width of the viewable area of the page (excludes scrollbars).
+         */
+        
+        getViewportWidth: function() {
+            var width = self.innerWidth,  // Safari
+                mode = document[COMPAT_MODE];
+            
+            if (mode || isIE) { // IE, Gecko, Opera
+                width = (mode == CSS1_COMPAT) ?
+                        documentElement.clientWidth : // Standards
+                        document.body.clientWidth; // Quirks
+            }
+            YAHOO.log('getViewportWidth returning ' + width, 'info', 'Dom');
+            return width;
+        },
+
+       /**
+         * Returns the nearest ancestor that passes the test applied by supplied boolean method.
+         * For performance reasons, IDs are not accepted and argument validation omitted.
+         * @method getAncestorBy
+         * @param {HTMLElement} node The HTMLElement to use as the starting point 
+         * @param {Function} method - A boolean method for testing elements which receives the element as its only argument.
+         * @return {Object} HTMLElement or null if not found
+         */
+        getAncestorBy: function(node, method) {
+            while ( (node = node[PARENT_NODE]) ) { // NOTE: assignment
+                if ( Y.Dom._testElement(node, method) ) {
+                    YAHOO.log('getAncestorBy returning ' + node, 'info', 'Dom');
+                    return node;
+                }
+            } 
+
+            YAHOO.log('getAncestorBy returning null (no ancestor passed test)', 'error', 'Dom');
+            return null;
+        },
+        
+        /**
+         * Returns the nearest ancestor with the given className.
+         * @method getAncestorByClassName
+         * @param {String | HTMLElement} node The HTMLElement or an ID to use as the starting point 
+         * @param {String} className
+         * @return {Object} HTMLElement
+         */
+        getAncestorByClassName: function(node, className) {
+            node = Y.Dom.get(node);
+            if (!node) {
+                YAHOO.log('getAncestorByClassName failed: invalid node argument', 'error', 'Dom');
+                return null;
+            }
+            var method = function(el) { return Y.Dom.hasClass(el, className); };
+            return Y.Dom.getAncestorBy(node, method);
+        },
+
+        /**
+         * Returns the nearest ancestor with the given tagName.
+         * @method getAncestorByTagName
+         * @param {String | HTMLElement} node The HTMLElement or an ID to use as the starting point 
+         * @param {String} tagName
+         * @return {Object} HTMLElement
+         */
+        getAncestorByTagName: function(node, tagName) {
+            node = Y.Dom.get(node);
+            if (!node) {
+                YAHOO.log('getAncestorByTagName failed: invalid node argument', 'error', 'Dom');
+                return null;
+            }
+            var method = function(el) {
+                 return el[TAG_NAME] && el[TAG_NAME].toUpperCase() == tagName.toUpperCase();
+            };
+
+            return Y.Dom.getAncestorBy(node, method);
+        },
+
+        /**
+         * Returns the previous sibling that is an HTMLElement. 
+         * For performance reasons, IDs are not accepted and argument validation omitted.
+         * Returns the nearest HTMLElement sibling if no method provided.
+         * @method getPreviousSiblingBy
+         * @param {HTMLElement} node The HTMLElement to use as the starting point 
+         * @param {Function} method A boolean function used to test siblings
+         * that receives the sibling node being tested as its only argument
+         * @return {Object} HTMLElement or null if not found
+         */
+        getPreviousSiblingBy: function(node, method) {
+            while (node) {
+                node = node.previousSibling;
+                if ( Y.Dom._testElement(node, method) ) {
+                    return node;
+                }
+            }
+            return null;
+        }, 
+
+        /**
+         * Returns the previous sibling that is an HTMLElement 
+         * @method getPreviousSibling
+         * @param {String | HTMLElement} node The HTMLElement or an ID to use as the starting point 
+         * @return {Object} HTMLElement or null if not found
+         */
+        getPreviousSibling: function(node) {
+            node = Y.Dom.get(node);
+            if (!node) {
+                YAHOO.log('getPreviousSibling failed: invalid node argument', 'error', 'Dom');
+                return null;
+            }
+
+            return Y.Dom.getPreviousSiblingBy(node);
+        }, 
+
+        /**
+         * Returns the next HTMLElement sibling that passes the boolean method. 
+         * For performance reasons, IDs are not accepted and argument validation omitted.
+         * Returns the nearest HTMLElement sibling if no method provided.
+         * @method getNextSiblingBy
+         * @param {HTMLElement} node The HTMLElement to use as the starting point 
+         * @param {Function} method A boolean function used to test siblings
+         * that receives the sibling node being tested as its only argument
+         * @return {Object} HTMLElement or null if not found
+         */
+        getNextSiblingBy: function(node, method) {
+            while (node) {
+                node = node.nextSibling;
+                if ( Y.Dom._testElement(node, method) ) {
+                    return node;
+                }
+            }
+            return null;
+        }, 
+
+        /**
+         * Returns the next sibling that is an HTMLElement 
+         * @method getNextSibling
+         * @param {String | HTMLElement} node The HTMLElement or an ID to use as the starting point 
+         * @return {Object} HTMLElement or null if not found
+         */
+        getNextSibling: function(node) {
+            node = Y.Dom.get(node);
+            if (!node) {
+                YAHOO.log('getNextSibling failed: invalid node argument', 'error', 'Dom');
+                return null;
+            }
+
+            return Y.Dom.getNextSiblingBy(node);
+        }, 
+
+        /**
+         * Returns the first HTMLElement child that passes the test method. 
+         * @method getFirstChildBy
+         * @param {HTMLElement} node The HTMLElement to use as the starting point 
+         * @param {Function} method A boolean function used to test children
+         * that receives the node being tested as its only argument
+         * @return {Object} HTMLElement or null if not found
+         */
+        getFirstChildBy: function(node, method) {
+            var child = ( Y.Dom._testElement(node.firstChild, method) ) ? node.firstChild : null;
+            return child || Y.Dom.getNextSiblingBy(node.firstChild, method);
+        }, 
+
+        /**
+         * Returns the first HTMLElement child. 
+         * @method getFirstChild
+         * @param {String | HTMLElement} node The HTMLElement or an ID to use as the starting point 
+         * @return {Object} HTMLElement or null if not found
+         */
+        getFirstChild: function(node, method) {
+            node = Y.Dom.get(node);
+            if (!node) {
+                YAHOO.log('getFirstChild failed: invalid node argument', 'error', 'Dom');
+                return null;
+            }
+            return Y.Dom.getFirstChildBy(node);
+        }, 
+
+        /**
+         * Returns the last HTMLElement child that passes the test method. 
+         * @method getLastChildBy
+         * @param {HTMLElement} node The HTMLElement to use as the starting point 
+         * @param {Function} method A boolean function used to test children
+         * that receives the node being tested as its only argument
+         * @return {Object} HTMLElement or null if not found
+         */
+        getLastChildBy: function(node, method) {
+            if (!node) {
+                YAHOO.log('getLastChild failed: invalid node argument', 'error', 'Dom');
+                return null;
+            }
+            var child = ( Y.Dom._testElement(node.lastChild, method) ) ? node.lastChild : null;
+            return child || Y.Dom.getPreviousSiblingBy(node.lastChild, method);
+        }, 
+
+        /**
+         * Returns the last HTMLElement child. 
+         * @method getLastChild
+         * @param {String | HTMLElement} node The HTMLElement or an ID to use as the starting point 
+         * @return {Object} HTMLElement or null if not found
+         */
+        getLastChild: function(node) {
+            node = Y.Dom.get(node);
+            return Y.Dom.getLastChildBy(node);
+        }, 
+
+        /**
+         * Returns an array of HTMLElement childNodes that pass the test method. 
+         * @method getChildrenBy
+         * @param {HTMLElement} node The HTMLElement to start from
+         * @param {Function} method A boolean function used to test children
+         * that receives the node being tested as its only argument
+         * @return {Array} A static array of HTMLElements
+         */
+        getChildrenBy: function(node, method) {
+            var child = Y.Dom.getFirstChildBy(node, method),
+                children = child ? [child] : [];
+
+            Y.Dom.getNextSiblingBy(child, function(node) {
+                if ( !method || method(node) ) {
+                    children[children.length] = node;
+                }
+                return false; // fail test to collect all children
+            });
+
+            return children;
+        },
+ 
+        /**
+         * Returns an array of HTMLElement childNodes. 
+         * @method getChildren
+         * @param {String | HTMLElement} node The HTMLElement or an ID to use as the starting point 
+         * @return {Array} A static array of HTMLElements
+         */
+        getChildren: function(node) {
+            node = Y.Dom.get(node);
+            if (!node) {
+                YAHOO.log('getChildren failed: invalid node argument', 'error', 'Dom');
+            }
+
+            return Y.Dom.getChildrenBy(node);
+        },
+
+        /**
+         * Returns the left scroll value of the document 
+         * @method getDocumentScrollLeft
+         * @param {HTMLDocument} document (optional) The document to get the scroll value of
+         * @return {Int}  The amount that the document is scrolled to the left
+         */
+        getDocumentScrollLeft: function(doc) {
+            doc = doc || document;
+            return Math.max(doc[DOCUMENT_ELEMENT].scrollLeft, doc.body.scrollLeft);
+        }, 
+
+        /**
+         * Returns the top scroll value of the document 
+         * @method getDocumentScrollTop
+         * @param {HTMLDocument} document (optional) The document to get the scroll value of
+         * @return {Int}  The amount that the document is scrolled to the top
+         */
+        getDocumentScrollTop: function(doc) {
+            doc = doc || document;
+            return Math.max(doc[DOCUMENT_ELEMENT].scrollTop, doc.body.scrollTop);
+        },
+
+        /**
+         * Inserts the new node as the previous sibling of the reference node 
+         * @method insertBefore
+         * @param {String | HTMLElement} newNode The node to be inserted
+         * @param {String | HTMLElement} referenceNode The node to insert the new node before 
+         * @return {HTMLElement} The node that was inserted (or null if insert fails) 
+         */
+        insertBefore: function(newNode, referenceNode) {
+            newNode = Y.Dom.get(newNode); 
+            referenceNode = Y.Dom.get(referenceNode); 
+            
+            if (!newNode || !referenceNode || !referenceNode[PARENT_NODE]) {
+                YAHOO.log('insertAfter failed: missing or invalid arg(s)', 'error', 'Dom');
+                return null;
+            }       
+
+            return referenceNode[PARENT_NODE].insertBefore(newNode, referenceNode); 
+        },
+
+        /**
+         * Inserts the new node as the next sibling of the reference node 
+         * @method insertAfter
+         * @param {String | HTMLElement} newNode The node to be inserted
+         * @param {String | HTMLElement} referenceNode The node to insert the new node after 
+         * @return {HTMLElement} The node that was inserted (or null if insert fails) 
+         */
+        insertAfter: function(newNode, referenceNode) {
+            newNode = Y.Dom.get(newNode); 
+            referenceNode = Y.Dom.get(referenceNode); 
+            
+            if (!newNode || !referenceNode || !referenceNode[PARENT_NODE]) {
+                YAHOO.log('insertAfter failed: missing or invalid arg(s)', 'error', 'Dom');
+                return null;
+            }       
+
+            if (referenceNode.nextSibling) {
+                return referenceNode[PARENT_NODE].insertBefore(newNode, referenceNode.nextSibling); 
+            } else {
+                return referenceNode[PARENT_NODE].appendChild(newNode);
+            }
+        },
+
+        /**
+         * Creates a Region based on the viewport relative to the document. 
+         * @method getClientRegion
+         * @return {Region} A Region object representing the viewport which accounts for document scroll
+         */
+        getClientRegion: function() {
+            var t = Y.Dom.getDocumentScrollTop(),
+                l = Y.Dom.getDocumentScrollLeft(),
+                r = Y.Dom.getViewportWidth() + l,
+                b = Y.Dom.getViewportHeight() + t;
+
+            return new Y.Region(t, r, b, l);
+        },
+
+        /**
+         * Provides a normalized attribute interface. 
+         * @method setAttribute
+         * @param {String | HTMLElement} el The target element for the attribute.
+         * @param {String} attr The attribute to set.
+         * @param {String} val The value of the attribute.
+         */
+        setAttribute: function(el, attr, val) {
+            Y.Dom.batch(el, Y.Dom._setAttribute, { attr: attr, val: val });
+        },
+
+        _setAttribute: function(el, args) {
+            var attr = Y.Dom._toCamel(args.attr),
+                val = args.val;
+
+            if (el && el.setAttribute) {
+                if (Y.Dom.DOT_ATTRIBUTES[attr]) {
+                    el[attr] = val;
+                } else {
+                    attr = Y.Dom.CUSTOM_ATTRIBUTES[attr] || attr;
+                    el.setAttribute(attr, val);
+                }
+            } else {
+                YAHOO.log('setAttribute method not available for ' + el, 'error', 'Dom');
+            }
+        },
+
+        /**
+         * Provides a normalized attribute interface. 
+         * @method getAttribute
+         * @param {String | HTMLElement} el The target element for the attribute.
+         * @param {String} attr The attribute to get.
+         * @return {String} The current value of the attribute. 
+         */
+        getAttribute: function(el, attr) {
+            return Y.Dom.batch(el, Y.Dom._getAttribute, attr);
+        },
+
+
+        _getAttribute: function(el, attr) {
+            var val;
+            attr = Y.Dom.CUSTOM_ATTRIBUTES[attr] || attr;
+
+            if (el && el.getAttribute) {
+                val = el.getAttribute(attr, 2);
+            } else {
+                YAHOO.log('getAttribute method not available for ' + el, 'error', 'Dom');
+            }
+
+            return val;
+        },
+
+        _toCamel: function(property) {
+            var c = propertyCache;
+
+            function tU(x,l) {
+                return l.toUpperCase();
+            }
+
+            return c[property] || (c[property] = property.indexOf('-') === -1 ? 
+                                    property :
+                                    property.replace( /-([a-z])/gi, tU ));
+        },
+
+        _getClassRegex: function(className) {
+            var re;
+            if (className !== undefined) { // allow empty string to pass
+                if (className.exec) { // already a RegExp
+                    re = className;
+                } else {
+                    re = reCache[className];
+                    if (!re) {
+                        // escape special chars (".", "[", etc.)
+                        className = className.replace(Y.Dom._patterns.CLASS_RE_TOKENS, '\\$1');
+                        re = reCache[className] = new RegExp(C_START + className + C_END, G);
+                    }
+                }
+            }
+            return re;
+        },
+
+        _patterns: {
+            ROOT_TAG: /^body|html$/i, // body for quirks mode, html for standards,
+            CLASS_RE_TOKENS: /([\.\(\)\^\$\*\+\?\|\[\]\{\}\\])/g
+        },
+
+
+        _testElement: function(node, method) {
+            return node && node[NODE_TYPE] == 1 && ( !method || method(node) );
+        },
+
+        _calcBorders: function(node, xy2) {
+            var t = parseInt(Y.Dom[GET_COMPUTED_STYLE](node, BORDER_TOP_WIDTH), 10) || 0,
+                l = parseInt(Y.Dom[GET_COMPUTED_STYLE](node, BORDER_LEFT_WIDTH), 10) || 0;
+            if (isGecko) {
+                if (RE_TABLE.test(node[TAG_NAME])) {
+                    t = 0;
+                    l = 0;
+                }
+            }
+            xy2[0] += l;
+            xy2[1] += t;
+            return xy2;
+        }
+    };
+        
+    var _getComputedStyle = Y.Dom[GET_COMPUTED_STYLE];
+    // fix opera computedStyle default color unit (convert to rgb)
+    if (UA.opera) {
+        Y.Dom[GET_COMPUTED_STYLE] = function(node, att) {
+            var val = _getComputedStyle(node, att);
+            if (RE_COLOR.test(att)) {
+                val = Y.Dom.Color.toRGB(val);
+            }
+
+            return val;
+        };
+
+    }
+
+    // safari converts transparent to rgba(), others use "transparent"
+    if (UA.webkit) {
+        Y.Dom[GET_COMPUTED_STYLE] = function(node, att) {
+            var val = _getComputedStyle(node, att);
+
+            if (val === 'rgba(0, 0, 0, 0)') {
+                val = 'transparent'; 
+            }
+
+            return val;
+        };
+
+    }
+
+    if (UA.ie && UA.ie >= 8 && document.documentElement.hasAttribute) { // IE 8 standards
+        Y.Dom.DOT_ATTRIBUTES.type = true; // IE 8 errors on input.setAttribute('type')
+    }
+})();
+/**
+ * A region is a representation of an object on a grid.  It is defined
+ * by the top, right, bottom, left extents, so is rectangular by default.  If 
+ * other shapes are required, this class could be extended to support it.
+ * @namespace YAHOO.util
+ * @class Region
+ * @param {Int} t the top extent
+ * @param {Int} r the right extent
+ * @param {Int} b the bottom extent
+ * @param {Int} l the left extent
+ * @constructor
+ */
+YAHOO.util.Region = function(t, r, b, l) {
+
+    /**
+     * The region's top extent
+     * @property top
+     * @type Int
+     */
+    this.top = t;
+    
+    /**
+     * The region's top extent
+     * @property y
+     * @type Int
+     */
+    this.y = t;
+    
+    /**
+     * The region's top extent as index, for symmetry with set/getXY
+     * @property 1
+     * @type Int
+     */
+    this[1] = t;
+
+    /**
+     * The region's right extent
+     * @property right
+     * @type int
+     */
+    this.right = r;
+
+    /**
+     * The region's bottom extent
+     * @property bottom
+     * @type Int
+     */
+    this.bottom = b;
+
+    /**
+     * The region's left extent
+     * @property left
+     * @type Int
+     */
+    this.left = l;
+    
+    /**
+     * The region's left extent
+     * @property x
+     * @type Int
+     */
+    this.x = l;
+    
+    /**
+     * The region's left extent as index, for symmetry with set/getXY
+     * @property 0
+     * @type Int
+     */
+    this[0] = l;
+
+    /**
+     * The region's total width 
+     * @property width 
+     * @type Int
+     */
+    this.width = this.right - this.left;
+
+    /**
+     * The region's total height 
+     * @property height 
+     * @type Int
+     */
+    this.height = this.bottom - this.top;
+};
+
+/**
+ * Returns true if this region contains the region passed in
+ * @method contains
+ * @param  {Region}  region The region to evaluate
+ * @return {Boolean}        True if the region is contained with this region, 
+ *                          else false
+ */
+YAHOO.util.Region.prototype.contains = function(region) {
+    return ( region.left   >= this.left   && 
+             region.right  <= this.right  && 
+             region.top    >= this.top    && 
+             region.bottom <= this.bottom    );
+
+    // this.logger.debug("does " + this + " contain " + region + " ... " + ret);
+};
+
+/**
+ * Returns the area of the region
+ * @method getArea
+ * @return {Int} the region's area
+ */
+YAHOO.util.Region.prototype.getArea = function() {
+    return ( (this.bottom - this.top) * (this.right - this.left) );
+};
+
+/**
+ * Returns the region where the passed in region overlaps with this one
+ * @method intersect
+ * @param  {Region} region The region that intersects
+ * @return {Region}        The overlap region, or null if there is no overlap
+ */
+YAHOO.util.Region.prototype.intersect = function(region) {
+    var t = Math.max( this.top,    region.top    ),
+        r = Math.min( this.right,  region.right  ),
+        b = Math.min( this.bottom, region.bottom ),
+        l = Math.max( this.left,   region.left   );
+    
+    if (b >= t && r >= l) {
+        return new YAHOO.util.Region(t, r, b, l);
+    } else {
+        return null;
+    }
+};
+
+/**
+ * Returns the region representing the smallest region that can contain both
+ * the passed in region and this region.
+ * @method union
+ * @param  {Region} region The region that to create the union with
+ * @return {Region}        The union region
+ */
+YAHOO.util.Region.prototype.union = function(region) {
+    var t = Math.min( this.top,    region.top    ),
+        r = Math.max( this.right,  region.right  ),
+        b = Math.max( this.bottom, region.bottom ),
+        l = Math.min( this.left,   region.left   );
+
+    return new YAHOO.util.Region(t, r, b, l);
+};
+
+/**
+ * toString
+ * @method toString
+ * @return string the region properties
+ */
+YAHOO.util.Region.prototype.toString = function() {
+    return ( "Region {"    +
+             "top: "       + this.top    + 
+             ", right: "   + this.right  + 
+             ", bottom: "  + this.bottom + 
+             ", left: "    + this.left   + 
+             ", height: "  + this.height + 
+             ", width: "    + this.width   + 
+             "}" );
+};
+
+/**
+ * Returns a region that is occupied by the DOM element
+ * @method getRegion
+ * @param  {HTMLElement} el The element
+ * @return {Region}         The region that the element occupies
+ * @static
+ */
+YAHOO.util.Region.getRegion = function(el) {
+    var p = YAHOO.util.Dom.getXY(el),
+        t = p[1],
+        r = p[0] + el.offsetWidth,
+        b = p[1] + el.offsetHeight,
+        l = p[0];
+
+    return new YAHOO.util.Region(t, r, b, l);
+};
+
+/////////////////////////////////////////////////////////////////////////////
+
+
+/**
+ * A point is a region that is special in that it represents a single point on 
+ * the grid.
+ * @namespace YAHOO.util
+ * @class Point
+ * @param {Int} x The X position of the point
+ * @param {Int} y The Y position of the point
+ * @constructor
+ * @extends YAHOO.util.Region
+ */
+YAHOO.util.Point = function(x, y) {
+   if (YAHOO.lang.isArray(x)) { // accept input from Dom.getXY, Event.getXY, etc.
+      y = x[1]; // dont blow away x yet
+      x = x[0];
+   }
+ 
+    YAHOO.util.Point.superclass.constructor.call(this, y, x, y, x);
+};
+
+YAHOO.extend(YAHOO.util.Point, YAHOO.util.Region);
+
+(function() {
+/**
+ * Add style management functionality to DOM.
+ * @module dom
+ * @for Dom
+ */
+
+var Y = YAHOO.util, 
+    CLIENT_TOP = 'clientTop',
+    CLIENT_LEFT = 'clientLeft',
+    PARENT_NODE = 'parentNode',
+    RIGHT = 'right',
+    HAS_LAYOUT = 'hasLayout',
+    PX = 'px',
+    OPACITY = 'opacity',
+    AUTO = 'auto',
+    BORDER_LEFT_WIDTH = 'borderLeftWidth',
+    BORDER_TOP_WIDTH = 'borderTopWidth',
+    BORDER_RIGHT_WIDTH = 'borderRightWidth',
+    BORDER_BOTTOM_WIDTH = 'borderBottomWidth',
+    VISIBLE = 'visible',
+    TRANSPARENT = 'transparent',
+    HEIGHT = 'height',
+    WIDTH = 'width',
+    STYLE = 'style',
+    CURRENT_STYLE = 'currentStyle',
+
+// IE getComputedStyle
+// TODO: unit-less lineHeight (e.g. 1.22)
+    re_size = /^width|height$/,
+    re_unit = /^(\d[.\d]*)+(em|ex|px|gd|rem|vw|vh|vm|ch|mm|cm|in|pt|pc|deg|rad|ms|s|hz|khz|%){1}?/i,
+
+    ComputedStyle = {
+        get: function(el, property) {
+            var value = '',
+                current = el[CURRENT_STYLE][property];
+
+            if (property === OPACITY) {
+                value = Y.Dom.getStyle(el, OPACITY);        
+            } else if (!current || (current.indexOf && current.indexOf(PX) > -1)) { // no need to convert
+                value = current;
+            } else if (Y.Dom.IE_COMPUTED[property]) { // use compute function
+                value = Y.Dom.IE_COMPUTED[property](el, property);
+            } else if (re_unit.test(current)) { // convert to pixel
+                value = Y.Dom.IE.ComputedStyle.getPixel(el, property);
+            } else {
+                value = current;
+            }
+
+            return value;
+        },
+
+        getOffset: function(el, prop) {
+            var current = el[CURRENT_STYLE][prop],                        // value of "width", "top", etc.
+                capped = prop.charAt(0).toUpperCase() + prop.substr(1), // "Width", "Top", etc.
+                offset = 'offset' + capped,                             // "offsetWidth", "offsetTop", etc.
+                pixel = 'pixel' + capped,                               // "pixelWidth", "pixelTop", etc.
+                value = '',
+                actual;
+
+            if (current == AUTO) {
+                actual = el[offset]; // offsetHeight/Top etc.
+                if (actual === undefined) { // likely "right" or "bottom"
+                    value = 0;
+                }
+
+                value = actual;
+                if (re_size.test(prop)) { // account for box model diff 
+                    el[STYLE][prop] = actual; 
+                    if (el[offset] > actual) {
+                        // the difference is padding + border (works in Standards & Quirks modes)
+                        value = actual - (el[offset] - actual);
+                    }
+                    el[STYLE][prop] = AUTO; // revert to auto
+                }
+            } else { // convert units to px
+                if (!el[STYLE][pixel] && !el[STYLE][prop]) { // need to map style.width to currentStyle (no currentStyle.pixelWidth)
+                    el[STYLE][prop] = current;              // no style.pixelWidth if no style.width
+                }
+                value = el[STYLE][pixel];
+            }
+            return value + PX;
+        },
+
+        getBorderWidth: function(el, property) {
+            // clientHeight/Width = paddingBox (e.g. offsetWidth - borderWidth)
+            // clientTop/Left = borderWidth
+            var value = null;
+            if (!el[CURRENT_STYLE][HAS_LAYOUT]) { // TODO: unset layout?
+                el[STYLE].zoom = 1; // need layout to measure client
+            }
+
+            switch(property) {
+                case BORDER_TOP_WIDTH:
+                    value = el[CLIENT_TOP];
+                    break;
+                case BORDER_BOTTOM_WIDTH:
+                    value = el.offsetHeight - el.clientHeight - el[CLIENT_TOP];
+                    break;
+                case BORDER_LEFT_WIDTH:
+                    value = el[CLIENT_LEFT];
+                    break;
+                case BORDER_RIGHT_WIDTH:
+                    value = el.offsetWidth - el.clientWidth - el[CLIENT_LEFT];
+                    break;
+            }
+            return value + PX;
+        },
+
+        getPixel: function(node, att) {
+            // use pixelRight to convert to px
+            var val = null,
+                styleRight = node[CURRENT_STYLE][RIGHT],
+                current = node[CURRENT_STYLE][att];
+
+            node[STYLE][RIGHT] = current;
+            val = node[STYLE].pixelRight;
+            node[STYLE][RIGHT] = styleRight; // revert
+
+            return val + PX;
+        },
+
+        getMargin: function(node, att) {
+            var val;
+            if (node[CURRENT_STYLE][att] == AUTO) {
+                val = 0 + PX;
+            } else {
+                val = Y.Dom.IE.ComputedStyle.getPixel(node, att);
+            }
+            return val;
+        },
+
+        getVisibility: function(node, att) {
+            var current;
+            while ( (current = node[CURRENT_STYLE]) && current[att] == 'inherit') { // NOTE: assignment in test
+                node = node[PARENT_NODE];
+            }
+            return (current) ? current[att] : VISIBLE;
+        },
+
+        getColor: function(node, att) {
+            return Y.Dom.Color.toRGB(node[CURRENT_STYLE][att]) || TRANSPARENT;
+        },
+
+        getBorderColor: function(node, att) {
+            var current = node[CURRENT_STYLE],
+                val = current[att] || current.color;
+            return Y.Dom.Color.toRGB(Y.Dom.Color.toHex(val));
+        }
+
+    },
+
+//fontSize: getPixelFont,
+    IEComputed = {};
+
+IEComputed.top = IEComputed.right = IEComputed.bottom = IEComputed.left = 
+        IEComputed[WIDTH] = IEComputed[HEIGHT] = ComputedStyle.getOffset;
+
+IEComputed.color = ComputedStyle.getColor;
+
+IEComputed[BORDER_TOP_WIDTH] = IEComputed[BORDER_RIGHT_WIDTH] =
+        IEComputed[BORDER_BOTTOM_WIDTH] = IEComputed[BORDER_LEFT_WIDTH] =
+        ComputedStyle.getBorderWidth;
+
+IEComputed.marginTop = IEComputed.marginRight = IEComputed.marginBottom =
+        IEComputed.marginLeft = ComputedStyle.getMargin;
+
+IEComputed.visibility = ComputedStyle.getVisibility;
+IEComputed.borderColor = IEComputed.borderTopColor =
+        IEComputed.borderRightColor = IEComputed.borderBottomColor =
+        IEComputed.borderLeftColor = ComputedStyle.getBorderColor;
+
+Y.Dom.IE_COMPUTED = IEComputed;
+Y.Dom.IE_ComputedStyle = ComputedStyle;
+})();
+(function() {
+/**
+ * Add style management functionality to DOM.
+ * @module dom
+ * @for Dom
+ */
+
+var TO_STRING = 'toString',
+    PARSE_INT = parseInt,
+    RE = RegExp,
+    Y = YAHOO.util;
+
+Y.Dom.Color = {
+    KEYWORDS: {
+        black: '000',
+        silver: 'c0c0c0',
+        gray: '808080',
+        white: 'fff',
+        maroon: '800000',
+        red: 'f00',
+        purple: '800080',
+        fuchsia: 'f0f',
+        green: '008000',
+        lime: '0f0',
+        olive: '808000',
+        yellow: 'ff0',
+        navy: '000080',
+        blue: '00f',
+        teal: '008080',
+        aqua: '0ff'
+    },
+
+    re_RGB: /^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i,
+    re_hex: /^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i,
+    re_hex3: /([0-9A-F])/gi,
+
+    toRGB: function(val) {
+        if (!Y.Dom.Color.re_RGB.test(val)) {
+            val = Y.Dom.Color.toHex(val);
+        }
+
+        if(Y.Dom.Color.re_hex.exec(val)) {
+            val = 'rgb(' + [
+                PARSE_INT(RE.$1, 16),
+                PARSE_INT(RE.$2, 16),
+                PARSE_INT(RE.$3, 16)
+            ].join(', ') + ')';
+        }
+        return val;
+    },
+
+    toHex: function(val) {
+        val = Y.Dom.Color.KEYWORDS[val] || val;
+        if (Y.Dom.Color.re_RGB.exec(val)) {
+            var r = (RE.$1.length === 1) ? '0' + RE.$1 : Number(RE.$1),
+                g = (RE.$2.length === 1) ? '0' + RE.$2 : Number(RE.$2),
+                b = (RE.$3.length === 1) ? '0' + RE.$3 : Number(RE.$3);
+
+            val = [
+                r[TO_STRING](16),
+                g[TO_STRING](16),
+                b[TO_STRING](16)
+            ].join('');
+        }
+
+        if (val.length < 6) {
+            val = val.replace(Y.Dom.Color.re_hex3, '$1$1');
+        }
+
+        if (val !== 'transparent' && val.indexOf('#') < 0) {
+            val = '#' + val;
+        }
+
+        return val.toLowerCase();
+    }
+};
+}());
+YAHOO.register("dom", YAHOO.util.Dom, {version: "2.8.0r4", build: "2449"});

Property changes on: tags/2.8.2/wb/include/yui/dom/dom-debug.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/yui/dom/README
===================================================================
--- tags/2.8.2/wb/include/yui/dom/README	(nonexistent)
+++ tags/2.8.2/wb/include/yui/dom/README	(revision 1481)
@@ -0,0 +1,125 @@
+Dom Release Notes
+
+** Known Issues **
+* margin/padding/borders on HTML element cause getXY to misreport
+* margin/borders on BODY element may cause getXY to misreport
+* Fixed postioning causes getXY to misreport in some cases
+
+----------------------------
+
+*** version 2.4.1 ***
+
+No change
+
+*** version 2.4.0 ***
+* no longer accounting for safari body margin when offsetParent == body
+* isAncestor and inDocument no longer use batch
+* added getClientRegion()
+
+*** version 2.3.1 ***
+* allow batch() to work on array-like object
+* return null from Dom.get(undefined)
+
+*** version 2.3.0 ***
+* added getAncestorBy methods
+* added getChildren methods
+* added getSibling methods
+* trimming added for class mgmt methods
+* fixed getXY inside table for Opera 
+
+*** version 2.3.0 ***
+* added getAncestorBy methods
+* added getChildren methods
+* added getSibling methods
+* trimming added for class mgmt methods
+* fixed getXY inside table for Opera 
+
+*** version 2.2.2 ***
+
+* fixed getXY scroll regression
+
+*** version 2.2.1 ***
+* fixed toCamel propertyCache used by set/getStyle
+* added set/getStyle support for float property
+* optimized get() for common use case
+* fixed getXY for safari when el has absolute ancestors
+* using className property instead of string literal for class mgmt methods
+* added getXY/getRegion support for body element
+
+*** version 2.2.0 ***
+* no change
+
+
+*** version 0.12.2 ***
+* no change
+
+*** version 0.12.1 ***
+
+* getElementsByClassName no longer reverts to document when "root" not found
+* setXY no longer makes a second call to getXY unless noRetry is false
+* minified version no longer strips line breaks
+
+*** version 0.12.0 ***
+
+* fixed getXY for IE null parent
+* branching set/getStyle at load time instead of run time 
+
+*** version 0.11.3 ***
+
+* fixed getX and getY returning incorrect values for collections 
+* fixed getXY incorrectly calculated for Opera inline elements
+* fixed isAncestor failure in safari when 2nd arg is document.documentElement
+* fixed infinite loop in replaceClass when oldClassName == newClassName 
+* getDocumentWidth no longer includes scrollbars 
+
+
+*** version 0.11.2 ***
+* limit depth of parent.document crawl to 1 for getXY
+* test offsetParent instead of parentNode for getXY
+* return null if no el fo r get
+* just addClass if no class to replace for replaceClass
+
+
+*** version 0.11.1 ***
+
+* return null if el is null for get()
+* test offsetParent rather than parentNode for getXY()
+* limit depth of parent.document crawl for IE getXY() to 1
+* if no oldClassName to replace, just addClass for replaceClass()
+
+
+*** version 0.11.0 ***
+* Work around Opera 9 broken currentStyle
+* Removed timeout wrapper from setXY retry
+* Tagname tests now case-insensitive
+* Internal "this" references changed to allow for method shorthand
+* get/setStyle now accept both camel and hyphen case
+* Gecko reverted to crawling offsets for getXY
+ 
+
+*** version 0.10.0 ***
+
+* Safari now fails gracefully when querying computedStyle of an unavailable element 
+
+* Class management functions added (hasClass, addClass, removeClass, replaceClass, getElementsByClassName) 
+
+* All methods that accept HTMLElements or IDs now also accept arrays of HTMLElements and/or IDs
+
+* GenerateId method added
+
+* isAncestor method added
+
+* inDocument method added
+
+* getElementsBy method added
+
+* batch method added
+
+* getClientHeight/Width deprecated in favor of getViewportHeight/Width
+
+* getDocumentHeight/Width methods added 
+
+*** version 0.9.0 ***
+
+* Initial release
+

Property changes on: tags/2.8.2/wb/include/yui/dom/README
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/yui/yahoo/yahoo.js
===================================================================
--- tags/2.8.2/wb/include/yui/yahoo/yahoo.js	(nonexistent)
+++ tags/2.8.2/wb/include/yui/yahoo/yahoo.js	(revision 1481)
@@ -0,0 +1,1075 @@
+/*
+Copyright (c) 2009, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.8.0r4
+*/
+/**
+ * The YAHOO object is the single global object used by YUI Library.  It
+ * contains utility function for setting up namespaces, inheritance, and
+ * logging.  YAHOO.util, YAHOO.widget, and YAHOO.example are namespaces
+ * created automatically for and used by the library.
+ * @module yahoo
+ * @title  YAHOO Global
+ */
+
+/**
+ * YAHOO_config is not included as part of the library.  Instead it is an 
+ * object that can be defined by the implementer immediately before 
+ * including the YUI library.  The properties included in this object
+ * will be used to configure global properties needed as soon as the 
+ * library begins to load.
+ * @class YAHOO_config
+ * @static
+ */
+
+/**
+ * A reference to a function that will be executed every time a YAHOO module
+ * is loaded.  As parameter, this function will receive the version
+ * information for the module. See <a href="YAHOO.env.html#getVersion">
+ * YAHOO.env.getVersion</a> for the description of the version data structure.
+ * @property listener
+ * @type Function
+ * @static
+ * @default undefined
+ */
+
+/**
+ * Set to true if the library will be dynamically loaded after window.onload.
+ * Defaults to false 
+ * @property injecting
+ * @type boolean
+ * @static
+ * @default undefined
+ */
+
+/**
+ * Instructs the yuiloader component to dynamically load yui components and
+ * their dependencies.  See the yuiloader documentation for more information
+ * about dynamic loading
+ * @property load
+ * @static
+ * @default undefined
+ * @see yuiloader
+ */
+
+/**
+ * Forces the use of the supplied locale where applicable in the library
+ * @property locale
+ * @type string
+ * @static
+ * @default undefined
+ */
+
+if (typeof YAHOO == "undefined" || !YAHOO) {
+    /**
+     * The YAHOO global namespace object.  If YAHOO is already defined, the
+     * existing YAHOO object will not be overwritten so that defined
+     * namespaces are preserved.
+     * @class YAHOO
+     * @static
+     */
+    var YAHOO = {};
+}
+
+/**
+ * Returns the namespace specified and creates it if it doesn't exist
+ * <pre>
+ * YAHOO.namespace("property.package");
+ * YAHOO.namespace("YAHOO.property.package");
+ * </pre>
+ * Either of the above would create YAHOO.property, then
+ * YAHOO.property.package
+ *
+ * Be careful when naming packages. Reserved words may work in some browsers
+ * and not others. For instance, the following will fail in Safari:
+ * <pre>
+ * YAHOO.namespace("really.long.nested.namespace");
+ * </pre>
+ * This fails because "long" is a future reserved word in ECMAScript
+ *
+ * For implementation code that uses YUI, do not create your components
+ * in the namespaces defined by YUI (
+ * <code>YAHOO.util</code>, 
+ * <code>YAHOO.widget</code>, 
+ * <code>YAHOO.lang</code>, 
+ * <code>YAHOO.tool</code>, 
+ * <code>YAHOO.example</code>, 
+ * <code>YAHOO.env</code>) -- create your own namespace (e.g., 'companyname').
+ *
+ * @method namespace
+ * @static
+ * @param  {String*} arguments 1-n namespaces to create 
+ * @return {Object}  A reference to the last namespace object created
+ */
+YAHOO.namespace = function() {
+    var a=arguments, o=null, i, j, d;
+    for (i=0; i<a.length; i=i+1) {
+        d=(""+a[i]).split(".");
+        o=YAHOO;
+
+        // YAHOO is implied, so it is ignored if it is included
+        for (j=(d[0] == "YAHOO") ? 1 : 0; j<d.length; j=j+1) {
+            o[d[j]]=o[d[j]] || {};
+            o=o[d[j]];
+        }
+    }
+
+    return o;
+};
+
+/**
+ * Uses YAHOO.widget.Logger to output a log message, if the widget is
+ * available.
+ *
+ * @method log
+ * @static
+ * @param  {String}  msg  The message to log.
+ * @param  {String}  cat  The log category for the message.  Default
+ *                        categories are "info", "warn", "error", time".
+ *                        Custom categories can be used as well. (opt)
+ * @param  {String}  src  The source of the the message (opt)
+ * @return {Boolean}      True if the log operation was successful.
+ */
+YAHOO.log = function(msg, cat, src) {
+    var l=YAHOO.widget.Logger;
+    if(l && l.log) {
+        return l.log(msg, cat, src);
+    } else {
+        return false;
+    }
+};
+
+/**
+ * Registers a module with the YAHOO object
+ * @method register
+ * @static
+ * @param {String}   name    the name of the module (event, slider, etc)
+ * @param {Function} mainClass a reference to class in the module.  This
+ *                             class will be tagged with the version info
+ *                             so that it will be possible to identify the
+ *                             version that is in use when multiple versions
+ *                             have loaded
+ * @param {Object}   data      metadata object for the module.  Currently it
+ *                             is expected to contain a "version" property
+ *                             and a "build" property at minimum.
+ */
+YAHOO.register = function(name, mainClass, data) {
+    var mods = YAHOO.env.modules, m, v, b, ls, i;
+
+    if (!mods[name]) {
+        mods[name] = { 
+            versions:[], 
+            builds:[] 
+        };
+    }
+
+    m  = mods[name];
+    v  = data.version;
+    b  = data.build;
+    ls = YAHOO.env.listeners;
+
+    m.name = name;
+    m.version = v;
+    m.build = b;
+    m.versions.push(v);
+    m.builds.push(b);
+    m.mainClass = mainClass;
+
+    // fire the module load listeners
+    for (i=0;i<ls.length;i=i+1) {
+        ls[i](m);
+    }
+    // label the main class
+    if (mainClass) {
+        mainClass.VERSION = v;
+        mainClass.BUILD = b;
+    } else {
+        YAHOO.log("mainClass is undefined for module " + name, "warn");
+    }
+};
+
+/**
+ * YAHOO.env is used to keep track of what is known about the YUI library and
+ * the browsing environment
+ * @class YAHOO.env
+ * @static
+ */
+YAHOO.env = YAHOO.env || {
+
+    /**
+     * Keeps the version info for all YUI modules that have reported themselves
+     * @property modules
+     * @type Object[]
+     */
+    modules: [],
+    
+    /**
+     * List of functions that should be executed every time a YUI module
+     * reports itself.
+     * @property listeners
+     * @type Function[]
+     */
+    listeners: []
+};
+
+/**
+ * Returns the version data for the specified module:
+ *      <dl>
+ *      <dt>name:</dt>      <dd>The name of the module</dd>
+ *      <dt>version:</dt>   <dd>The version in use</dd>
+ *      <dt>build:</dt>     <dd>The build number in use</dd>
+ *      <dt>versions:</dt>  <dd>All versions that were registered</dd>
+ *      <dt>builds:</dt>    <dd>All builds that were registered.</dd>
+ *      <dt>mainClass:</dt> <dd>An object that was was stamped with the
+ *                 current version and build. If 
+ *                 mainClass.VERSION != version or mainClass.BUILD != build,
+ *                 multiple versions of pieces of the library have been
+ *                 loaded, potentially causing issues.</dd>
+ *       </dl>
+ *
+ * @method getVersion
+ * @static
+ * @param {String}  name the name of the module (event, slider, etc)
+ * @return {Object} The version info
+ */
+YAHOO.env.getVersion = function(name) {
+    return YAHOO.env.modules[name] || null;
+};
+
+/**
+ * Do not fork for a browser if it can be avoided.  Use feature detection when
+ * you can.  Use the user agent as a last resort.  YAHOO.env.ua stores a version
+ * number for the browser engine, 0 otherwise.  This value may or may not map
+ * to the version number of the browser using the engine.  The value is 
+ * presented as a float so that it can easily be used for boolean evaluation 
+ * as well as for looking for a particular range of versions.  Because of this, 
+ * some of the granularity of the version info may be lost (e.g., Gecko 1.8.0.9 
+ * reports 1.8).
+ * @class YAHOO.env.ua
+ * @static
+ */
+YAHOO.env.ua = function() {
+
+        var numberfy = function(s) {
+            var c = 0;
+            return parseFloat(s.replace(/\./g, function() {
+                return (c++ == 1) ? '' : '.';
+            }));
+        },
+
+        nav = navigator,
+
+        o = {
+
+        /**
+         * Internet Explorer version number or 0.  Example: 6
+         * @property ie
+         * @type float
+         */
+        ie: 0,
+
+        /**
+         * Opera version number or 0.  Example: 9.2
+         * @property opera
+         * @type float
+         */
+        opera: 0,
+
+        /**
+         * Gecko engine revision number.  Will evaluate to 1 if Gecko 
+         * is detected but the revision could not be found. Other browsers
+         * will be 0.  Example: 1.8
+         * <pre>
+         * Firefox 1.0.0.4: 1.7.8   <-- Reports 1.7
+         * Firefox 1.5.0.9: 1.8.0.9 <-- Reports 1.8
+         * Firefox 2.0.0.3: 1.8.1.3 <-- Reports 1.8
+         * Firefox 3 alpha: 1.9a4   <-- Reports 1.9
+         * </pre>
+         * @property gecko
+         * @type float
+         */
+        gecko: 0,
+
+        /**
+         * AppleWebKit version.  KHTML browsers that are not WebKit browsers 
+         * will evaluate to 1, other browsers 0.  Example: 418.9.1
+         * <pre>
+         * Safari 1.3.2 (312.6): 312.8.1 <-- Reports 312.8 -- currently the 
+         *                                   latest available for Mac OSX 10.3.
+         * Safari 2.0.2:         416     <-- hasOwnProperty introduced
+         * Safari 2.0.4:         418     <-- preventDefault fixed
+         * Safari 2.0.4 (419.3): 418.9.1 <-- One version of Safari may run
+         *                                   different versions of webkit
+         * Safari 2.0.4 (419.3): 419     <-- Tiger installations that have been
+         *                                   updated, but not updated
+         *                                   to the latest patch.
+         * Webkit 212 nightly:   522+    <-- Safari 3.0 precursor (with native SVG
+         *                                   and many major issues fixed).  
+         * 3.x yahoo.com, flickr:422     <-- Safari 3.x hacks the user agent
+         *                                   string when hitting yahoo.com and 
+         *                                   flickr.com.
+         * Safari 3.0.4 (523.12):523.12  <-- First Tiger release - automatic update
+         *                                   from 2.x via the 10.4.11 OS patch
+         * Webkit nightly 1/2008:525+    <-- Supports DOMContentLoaded event.
+         *                                   yahoo.com user agent hack removed.
+         *                                   
+         * </pre>
+         * http://developer.apple.com/internet/safari/uamatrix.html
+         * @property webkit
+         * @type float
+         */
+        webkit: 0,
+
+        /**
+         * The mobile property will be set to a string containing any relevant
+         * user agent information when a modern mobile browser is detected.
+         * Currently limited to Safari on the iPhone/iPod Touch, Nokia N-series
+         * devices with the WebKit-based browser, and Opera Mini.  
+         * @property mobile 
+         * @type string
+         */
+        mobile: null,
+
+        /**
+         * Adobe AIR version number or 0.  Only populated if webkit is detected.
+         * Example: 1.0
+         * @property air
+         * @type float
+         */
+        air: 0,
+
+        /**
+         * Google Caja version number or 0.
+         * @property caja
+         * @type float
+         */
+        caja: nav.cajaVersion,
+
+        /**
+         * Set to true if the page appears to be in SSL
+         * @property secure
+         * @type boolean
+         * @static
+         */
+        secure: false,
+
+        /**
+         * The operating system.  Currently only detecting windows or macintosh
+         * @property os
+         * @type string
+         * @static
+         */
+        os: null
+
+    },
+
+    ua = navigator && navigator.userAgent, 
+    
+    loc = window && window.location,
+
+    href = loc && loc.href,
+    
+    m;
+
+    o.secure = href && (href.toLowerCase().indexOf("https") === 0);
+
+    if (ua) {
+
+        if ((/windows|win32/i).test(ua)) {
+            o.os = 'windows';
+        } else if ((/macintosh/i).test(ua)) {
+            o.os = 'macintosh';
+        }
+    
+        // Modern KHTML browsers should qualify as Safari X-Grade
+        if ((/KHTML/).test(ua)) {
+            o.webkit=1;
+        }
+
+        // Modern WebKit browsers are at least X-Grade
+        m=ua.match(/AppleWebKit\/([^\s]*)/);
+        if (m&&m[1]) {
+            o.webkit=numberfy(m[1]);
+
+            // Mobile browser check
+            if (/ Mobile\//.test(ua)) {
+                o.mobile = "Apple"; // iPhone or iPod Touch
+            } else {
+                m=ua.match(/NokiaN[^\/]*/);
+                if (m) {
+                    o.mobile = m[0]; // Nokia N-series, ex: NokiaN95
+                }
+            }
+
+            m=ua.match(/AdobeAIR\/([^\s]*)/);
+            if (m) {
+                o.air = m[0]; // Adobe AIR 1.0 or better
+            }
+
+        }
+
+        if (!o.webkit) { // not webkit
+            // @todo check Opera/8.01 (J2ME/MIDP; Opera Mini/2.0.4509/1316; fi; U; ssr)
+            m=ua.match(/Opera[\s\/]([^\s]*)/);
+            if (m&&m[1]) {
+                o.opera=numberfy(m[1]);
+                m=ua.match(/Opera Mini[^;]*/);
+                if (m) {
+                    o.mobile = m[0]; // ex: Opera Mini/2.0.4509/1316
+                }
+            } else { // not opera or webkit
+                m=ua.match(/MSIE\s([^;]*)/);
+                if (m&&m[1]) {
+                    o.ie=numberfy(m[1]);
+                } else { // not opera, webkit, or ie
+                    m=ua.match(/Gecko\/([^\s]*)/);
+                    if (m) {
+                        o.gecko=1; // Gecko detected, look for revision
+                        m=ua.match(/rv:([^\s\)]*)/);
+                        if (m&&m[1]) {
+                            o.gecko=numberfy(m[1]);
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+    return o;
+}();
+
+/*
+ * Initializes the global by creating the default namespaces and applying
+ * any new configuration information that is detected.  This is the setup
+ * for env.
+ * @method init
+ * @static
+ * @private
+ */
+(function() {
+    YAHOO.namespace("util", "widget", "example");
+    /*global YAHOO_config*/
+    if ("undefined" !== typeof YAHOO_config) {
+        var l=YAHOO_config.listener, ls=YAHOO.env.listeners,unique=true, i;
+        if (l) {
+            // if YAHOO is loaded multiple times we need to check to see if
+            // this is a new config object.  If it is, add the new component
+            // load listener to the stack
+            for (i=0; i<ls.length; i++) {
+                if (ls[i] == l) {
+                    unique = false;
+                    break;
+                }
+            }
+
+            if (unique) {
+                ls.push(l);
+            }
+        }
+    }
+})();
+/**
+ * Provides the language utilites and extensions used by the library
+ * @class YAHOO.lang
+ */
+YAHOO.lang = YAHOO.lang || {};
+
+(function() {
+
+
+var L = YAHOO.lang,
+
+    OP = Object.prototype,
+    ARRAY_TOSTRING = '[object Array]',
+    FUNCTION_TOSTRING = '[object Function]',
+    OBJECT_TOSTRING = '[object Object]',
+    NOTHING = [],
+
+    // ADD = ["toString", "valueOf", "hasOwnProperty"],
+    ADD = ["toString", "valueOf"],
+
+    OB = {
+
+    /**
+     * Determines wheather or not the provided object is an array.
+     * @method isArray
+     * @param {any} o The object being testing
+     * @return {boolean} the result
+     */
+    isArray: function(o) { 
+        return OP.toString.apply(o) === ARRAY_TOSTRING;
+    },
+
+    /**
+     * Determines whether or not the provided object is a boolean
+     * @method isBoolean
+     * @param {any} o The object being testing
+     * @return {boolean} the result
+     */
+    isBoolean: function(o) {
+        return typeof o === 'boolean';
+    },
+    
+    /**
+     * Determines whether or not the provided object is a function.
+     * Note: Internet Explorer thinks certain functions are objects:
+     *
+     * var obj = document.createElement("object");
+     * YAHOO.lang.isFunction(obj.getAttribute) // reports false in IE
+     *
+     * var input = document.createElement("input"); // append to body
+     * YAHOO.lang.isFunction(input.focus) // reports false in IE
+     *
+     * You will have to implement additional tests if these functions
+     * matter to you.
+     *
+     * @method isFunction
+     * @param {any} o The object being testing
+     * @return {boolean} the result
+     */
+    isFunction: function(o) {
+        return (typeof o === 'function') || OP.toString.apply(o) === FUNCTION_TOSTRING;
+    },
+        
+    /**
+     * Determines whether or not the provided object is null
+     * @method isNull
+     * @param {any} o The object being testing
+     * @return {boolean} the result
+     */
+    isNull: function(o) {
+        return o === null;
+    },
+        
+    /**
+     * Determines whether or not the provided object is a legal number
+     * @method isNumber
+     * @param {any} o The object being testing
+     * @return {boolean} the result
+     */
+    isNumber: function(o) {
+        return typeof o === 'number' && isFinite(o);
+    },
+      
+    /**
+     * Determines whether or not the provided object is of type object
+     * or function
+     * @method isObject
+     * @param {any} o The object being testing
+     * @return {boolean} the result
+     */  
+    isObject: function(o) {
+return (o && (typeof o === 'object' || L.isFunction(o))) || false;
+    },
+        
+    /**
+     * Determines whether or not the provided object is a string
+     * @method isString
+     * @param {any} o The object being testing
+     * @return {boolean} the result
+     */
+    isString: function(o) {
+        return typeof o === 'string';
+    },
+        
+    /**
+     * Determines whether or not the provided object is undefined
+     * @method isUndefined
+     * @param {any} o The object being testing
+     * @return {boolean} the result
+     */
+    isUndefined: function(o) {
+        return typeof o === 'undefined';
+    },
+    
+ 
+    /**
+     * IE will not enumerate native functions in a derived object even if the
+     * function was overridden.  This is a workaround for specific functions 
+     * we care about on the Object prototype. 
+     * @property _IEEnumFix
+     * @param {Function} r  the object to receive the augmentation
+     * @param {Function} s  the object that supplies the properties to augment
+     * @static
+     * @private
+     */
+    _IEEnumFix: (YAHOO.env.ua.ie) ? function(r, s) {
+            var i, fname, f;
+            for (i=0;i<ADD.length;i=i+1) {
+
+                fname = ADD[i];
+                f = s[fname];
+
+                if (L.isFunction(f) && f!=OP[fname]) {
+                    r[fname]=f;
+                }
+            }
+    } : function(){},
+       
+    /**
+     * Utility to set up the prototype, constructor and superclass properties to
+     * support an inheritance strategy that can chain constructors and methods.
+     * Static members will not be inherited.
+     *
+     * @method extend
+     * @static
+     * @param {Function} subc   the object to modify
+     * @param {Function} superc the object to inherit
+     * @param {Object} overrides  additional properties/methods to add to the
+     *                              subclass prototype.  These will override the
+     *                              matching items obtained from the superclass 
+     *                              if present.
+     */
+    extend: function(subc, superc, overrides) {
+        if (!superc||!subc) {
+            throw new Error("extend failed, please check that " +
+                            "all dependencies are included.");
+        }
+        var F = function() {}, i;
+        F.prototype=superc.prototype;
+        subc.prototype=new F();
+        subc.prototype.constructor=subc;
+        subc.superclass=superc.prototype;
+        if (superc.prototype.constructor == OP.constructor) {
+            superc.prototype.constructor=superc;
+        }
+    
+        if (overrides) {
+            for (i in overrides) {
+                if (L.hasOwnProperty(overrides, i)) {
+                    subc.prototype[i]=overrides[i];
+                }
+            }
+
+            L._IEEnumFix(subc.prototype, overrides);
+        }
+    },
+   
+    /**
+     * Applies all properties in the supplier to the receiver if the
+     * receiver does not have these properties yet.  Optionally, one or 
+     * more methods/properties can be specified (as additional 
+     * parameters).  This option will overwrite the property if receiver 
+     * has it already.  If true is passed as the third parameter, all 
+     * properties will be applied and _will_ overwrite properties in 
+     * the receiver.
+     *
+     * @method augmentObject
+     * @static
+     * @since 2.3.0
+     * @param {Function} r  the object to receive the augmentation
+     * @param {Function} s  the object that supplies the properties to augment
+     * @param {String*|boolean}  arguments zero or more properties methods 
+     *        to augment the receiver with.  If none specified, everything
+     *        in the supplier will be used unless it would
+     *        overwrite an existing property in the receiver. If true
+     *        is specified as the third parameter, all properties will
+     *        be applied and will overwrite an existing property in
+     *        the receiver
+     */
+    augmentObject: function(r, s) {
+        if (!s||!r) {
+            throw new Error("Absorb failed, verify dependencies.");
+        }
+        var a=arguments, i, p, overrideList=a[2];
+        if (overrideList && overrideList!==true) { // only absorb the specified properties
+            for (i=2; i<a.length; i=i+1) {
+                r[a[i]] = s[a[i]];
+            }
+        } else { // take everything, overwriting only if the third parameter is true
+            for (p in s) { 
+                if (overrideList || !(p in r)) {
+                    r[p] = s[p];
+                }
+            }
+            
+            L._IEEnumFix(r, s);
+        }
+    },
+ 
+    /**
+     * Same as YAHOO.lang.augmentObject, except it only applies prototype properties
+     * @see YAHOO.lang.augmentObject
+     * @method augmentProto
+     * @static
+     * @param {Function} r  the object to receive the augmentation
+     * @param {Function} s  the object that supplies the properties to augment
+     * @param {String*|boolean}  arguments zero or more properties methods 
+     *        to augment the receiver with.  If none specified, everything 
+     *        in the supplier will be used unless it would overwrite an existing 
+     *        property in the receiver.  if true is specified as the third 
+     *        parameter, all properties will be applied and will overwrite an 
+     *        existing property in the receiver
+     */
+    augmentProto: function(r, s) {
+        if (!s||!r) {
+            throw new Error("Augment failed, verify dependencies.");
+        }
+        //var a=[].concat(arguments);
+        var a=[r.prototype,s.prototype], i;
+        for (i=2;i<arguments.length;i=i+1) {
+            a.push(arguments[i]);
+        }
+        L.augmentObject.apply(this, a);
+    },
+
+      
+    /**
+     * Returns a simple string representation of the object or array.
+     * Other types of objects will be returned unprocessed.  Arrays
+     * are expected to be indexed.  Use object notation for
+     * associative arrays.
+     * @method dump
+     * @since 2.3.0
+     * @param o {Object} The object to dump
+     * @param d {int} How deep to recurse child objects, default 3
+     * @return {String} the dump result
+     */
+    dump: function(o, d) {
+        var i,len,s=[],OBJ="{...}",FUN="f(){...}",
+            COMMA=', ', ARROW=' => ';
+
+        // Cast non-objects to string
+        // Skip dates because the std toString is what we want
+        // Skip HTMLElement-like objects because trying to dump 
+        // an element will cause an unhandled exception in FF 2.x
+        if (!L.isObject(o)) {
+            return o + "";
+        } else if (o instanceof Date || ("nodeType" in o && "tagName" in o)) {
+            return o;
+        } else if  (L.isFunction(o)) {
+            return FUN;
+        }
+
+        // dig into child objects the depth specifed. Default 3
+        d = (L.isNumber(d)) ? d : 3;
+
+        // arrays [1, 2, 3]
+        if (L.isArray(o)) {
+            s.push("[");
+            for (i=0,len=o.length;i<len;i=i+1) {
+                if (L.isObject(o[i])) {
+                    s.push((d > 0) ? L.dump(o[i], d-1) : OBJ);
+                } else {
+                    s.push(o[i]);
+                }
+                s.push(COMMA);
+            }
+            if (s.length > 1) {
+                s.pop();
+            }
+            s.push("]");
+        // objects {k1 => v1, k2 => v2}
+        } else {
+            s.push("{");
+            for (i in o) {
+                if (L.hasOwnProperty(o, i)) {
+                    s.push(i + ARROW);
+                    if (L.isObject(o[i])) {
+                        s.push((d > 0) ? L.dump(o[i], d-1) : OBJ);
+                    } else {
+                        s.push(o[i]);
+                    }
+                    s.push(COMMA);
+                }
+            }
+            if (s.length > 1) {
+                s.pop();
+            }
+            s.push("}");
+        }
+
+        return s.join("");
+    },
+
+    /**
+     * Does variable substitution on a string. It scans through the string 
+     * looking for expressions enclosed in { } braces. If an expression 
+     * is found, it is used a key on the object.  If there is a space in
+     * the key, the first word is used for the key and the rest is provided
+     * to an optional function to be used to programatically determine the
+     * value (the extra information might be used for this decision). If 
+     * the value for the key in the object, or what is returned from the
+     * function has a string value, number value, or object value, it is 
+     * substituted for the bracket expression and it repeats.  If this
+     * value is an object, it uses the Object's toString() if this has
+     * been overridden, otherwise it does a shallow dump of the key/value
+     * pairs.
+     * @method substitute
+     * @since 2.3.0
+     * @param s {String} The string that will be modified.
+     * @param o {Object} An object containing the replacement values
+     * @param f {Function} An optional function that can be used to
+     *                     process each match.  It receives the key,
+     *                     value, and any extra metadata included with
+     *                     the key inside of the braces.
+     * @return {String} the substituted string
+     */
+    substitute: function (s, o, f) {
+        var i, j, k, key, v, meta, saved=[], token, 
+            DUMP='dump', SPACE=' ', LBRACE='{', RBRACE='}',
+            dump, objstr;
+
+
+        for (;;) {
+            i = s.lastIndexOf(LBRACE);
+            if (i < 0) {
+                break;
+            }
+            j = s.indexOf(RBRACE, i);
+            if (i + 1 >= j) {
+                break;
+            }
+
+            //Extract key and meta info 
+            token = s.substring(i + 1, j);
+            key = token;
+            meta = null;
+            k = key.indexOf(SPACE);
+            if (k > -1) {
+                meta = key.substring(k + 1);
+                key = key.substring(0, k);
+            }
+
+            // lookup the value
+            v = o[key];
+
+            // if a substitution function was provided, execute it
+            if (f) {
+                v = f(key, v, meta);
+            }
+
+            if (L.isObject(v)) {
+                if (L.isArray(v)) {
+                    v = L.dump(v, parseInt(meta, 10));
+                } else {
+                    meta = meta || "";
+
+                    // look for the keyword 'dump', if found force obj dump
+                    dump = meta.indexOf(DUMP);
+                    if (dump > -1) {
+                        meta = meta.substring(4);
+                    }
+
+                    objstr = v.toString();
+
+                    // use the toString if it is not the Object toString 
+                    // and the 'dump' meta info was not found
+                    if (objstr === OBJECT_TOSTRING || dump > -1) {
+                        v = L.dump(v, parseInt(meta, 10));
+                    } else {
+                        v = objstr;
+                    }
+                }
+            } else if (!L.isString(v) && !L.isNumber(v)) {
+                // This {block} has no replace string. Save it for later.
+                v = "~-" + saved.length + "-~";
+                saved[saved.length] = token;
+
+                // break;
+            }
+
+            s = s.substring(0, i) + v + s.substring(j + 1);
+
+
+        }
+
+        // restore saved {block}s
+        for (i=saved.length-1; i>=0; i=i-1) {
+            s = s.replace(new RegExp("~-" + i + "-~"), "{"  + saved[i] + "}", "g");
+        }
+
+        return s;
+    },
+
+
+    /**
+     * Returns a string without any leading or trailing whitespace.  If 
+     * the input is not a string, the input will be returned untouched.
+     * @method trim
+     * @since 2.3.0
+     * @param s {string} the string to trim
+     * @return {string} the trimmed string
+     */
+    trim: function(s){
+        try {
+            return s.replace(/^\s+|\s+$/g, "");
+        } catch(e) {
+            return s;
+        }
+    },
+
+    /**
+     * Returns a new object containing all of the properties of
+     * all the supplied objects.  The properties from later objects
+     * will overwrite those in earlier objects.
+     * @method merge
+     * @since 2.3.0
+     * @param arguments {Object*} the objects to merge
+     * @return the new merged object
+     */
+    merge: function() {
+        var o={}, a=arguments, l=a.length, i;
+        for (i=0; i<l; i=i+1) {
+            L.augmentObject(o, a[i], true);
+        }
+        return o;
+    },
+
+    /**
+     * Executes the supplied function in the context of the supplied 
+     * object 'when' milliseconds later.  Executes the function a 
+     * single time unless periodic is set to true.
+     * @method later
+     * @since 2.4.0
+     * @param when {int} the number of milliseconds to wait until the fn 
+     * is executed
+     * @param o the context object
+     * @param fn {Function|String} the function to execute or the name of 
+     * the method in the 'o' object to execute
+     * @param data [Array] data that is provided to the function.  This accepts
+     * either a single item or an array.  If an array is provided, the
+     * function is executed with one parameter for each array item.  If
+     * you need to pass a single array parameter, it needs to be wrapped in
+     * an array [myarray]
+     * @param periodic {boolean} if true, executes continuously at supplied 
+     * interval until canceled
+     * @return a timer object. Call the cancel() method on this object to 
+     * stop the timer.
+     */
+    later: function(when, o, fn, data, periodic) {
+        when = when || 0; 
+        o = o || {};
+        var m=fn, d=data, f, r;
+
+        if (L.isString(fn)) {
+            m = o[fn];
+        }
+
+        if (!m) {
+            throw new TypeError("method undefined");
+        }
+
+        if (d && !L.isArray(d)) {
+            d = [data];
+        }
+
+        f = function() {
+            m.apply(o, d || NOTHING);
+        };
+
+        r = (periodic) ? setInterval(f, when) : setTimeout(f, when);
+
+        return {
+            interval: periodic,
+            cancel: function() {
+                if (this.interval) {
+                    clearInterval(r);
+                } else {
+                    clearTimeout(r);
+                }
+            }
+        };
+    },
+    
+    /**
+     * A convenience method for detecting a legitimate non-null value.
+     * Returns false for null/undefined/NaN, true for other values, 
+     * including 0/false/''
+     * @method isValue
+     * @since 2.3.0
+     * @param o {any} the item to test
+     * @return {boolean} true if it is not null/undefined/NaN || false
+     */
+    isValue: function(o) {
+        // return (o || o === false || o === 0 || o === ''); // Infinity fails
+return (L.isObject(o) || L.isString(o) || L.isNumber(o) || L.isBoolean(o));
+    }
+
+};
+
+/**
+ * Determines whether or not the property was added
+ * to the object instance.  Returns false if the property is not present
+ * in the object, or was inherited from the prototype.
+ * This abstraction is provided to enable hasOwnProperty for Safari 1.3.x.
+ * There is a discrepancy between YAHOO.lang.hasOwnProperty and
+ * Object.prototype.hasOwnProperty when the property is a primitive added to
+ * both the instance AND prototype with the same value:
+ * <pre>
+ * var A = function() {};
+ * A.prototype.foo = 'foo';
+ * var a = new A();
+ * a.foo = 'foo';
+ * alert(a.hasOwnProperty('foo')); // true
+ * alert(YAHOO.lang.hasOwnProperty(a, 'foo')); // false when using fallback
+ * </pre>
+ * @method hasOwnProperty
+ * @param {any} o The object being testing
+ * @param prop {string} the name of the property to test
+ * @return {boolean} the result
+ */
+L.hasOwnProperty = (OP.hasOwnProperty) ?
+    function(o, prop) {
+        return o && o.hasOwnProperty(prop);
+    } : function(o, prop) {
+        return !L.isUndefined(o[prop]) && 
+                o.constructor.prototype[prop] !== o[prop];
+    };
+
+// new lang wins
+OB.augmentObject(L, OB, true);
+
+/*
+ * An alias for <a href="YAHOO.lang.html">YAHOO.lang</a>
+ * @class YAHOO.util.Lang
+ */
+YAHOO.util.Lang = L;
+ 
+/**
+ * Same as YAHOO.lang.augmentObject, except it only applies prototype 
+ * properties.  This is an alias for augmentProto.
+ * @see YAHOO.lang.augmentObject
+ * @method augment
+ * @static
+ * @param {Function} r  the object to receive the augmentation
+ * @param {Function} s  the object that supplies the properties to augment
+ * @param {String*|boolean}  arguments zero or more properties methods to 
+ *        augment the receiver with.  If none specified, everything
+ *        in the supplier will be used unless it would
+ *        overwrite an existing property in the receiver.  if true
+ *        is specified as the third parameter, all properties will
+ *        be applied and will overwrite an existing property in
+ *        the receiver
+ */
+L.augment = L.augmentProto;
+
+/**
+ * An alias for <a href="YAHOO.lang.html#augment">YAHOO.lang.augment</a>
+ * @for YAHOO
+ * @method augment
+ * @static
+ * @param {Function} r  the object to receive the augmentation
+ * @param {Function} s  the object that supplies the properties to augment
+ * @param {String*}  arguments zero or more properties methods to 
+ *        augment the receiver with.  If none specified, everything
+ *        in the supplier will be used unless it would
+ *        overwrite an existing property in the receiver
+ */
+YAHOO.augment = L.augmentProto;
+       
+/**
+ * An alias for <a href="YAHOO.lang.html#extend">YAHOO.lang.extend</a>
+ * @method extend
+ * @static
+ * @param {Function} subc   the object to modify
+ * @param {Function} superc the object to inherit
+ * @param {Object} overrides  additional properties/methods to add to the
+ *        subclass prototype.  These will override the
+ *        matching items obtained from the superclass if present.
+ */
+YAHOO.extend = L.extend;
+
+})();
+YAHOO.register("yahoo", YAHOO, {version: "2.8.0r4", build: "2449"});

Property changes on: tags/2.8.2/wb/include/yui/yahoo/yahoo.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/yui/yahoo/yahoo-min.js
===================================================================
--- tags/2.8.2/wb/include/yui/yahoo/yahoo-min.js	(nonexistent)
+++ tags/2.8.2/wb/include/yui/yahoo/yahoo-min.js	(revision 1481)
@@ -0,0 +1,7 @@
+/*
+Copyright (c) 2009, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.8.0r4
+*/
+if(typeof YAHOO=="undefined"||!YAHOO){var YAHOO={};}YAHOO.namespace=function(){var A=arguments,E=null,C,B,D;for(C=0;C<A.length;C=C+1){D=(""+A[C]).split(".");E=YAHOO;for(B=(D[0]=="YAHOO")?1:0;B<D.length;B=B+1){E[D[B]]=E[D[B]]||{};E=E[D[B]];}}return E;};YAHOO.log=function(D,A,C){var B=YAHOO.widget.Logger;if(B&&B.log){return B.log(D,A,C);}else{return false;}};YAHOO.register=function(A,E,D){var I=YAHOO.env.modules,B,H,G,F,C;if(!I[A]){I[A]={versions:[],builds:[]};}B=I[A];H=D.version;G=D.build;F=YAHOO.env.listeners;B.name=A;B.version=H;B.build=G;B.versions.push(H);B.builds.push(G);B.mainClass=E;for(C=0;C<F.length;C=C+1){F[C](B);}if(E){E.VERSION=H;E.BUILD=G;}else{YAHOO.log("mainClass is undefined for module "+A,"warn");}};YAHOO.env=YAHOO.env||{modules:[],listeners:[]};YAHOO.env.getVersion=function(A){return YAHOO.env.modules[A]||null;};YAHOO.env.ua=function(){var D=function(H){var I=0;return parseFloat(H.replace(/\./g,function(){return(I++==1)?"":".";}));},G=navigator,F={ie:0,opera:0,gecko:0,webkit:0,mobile:null,air:0,caja:G.cajaVersion,secure:false,os:null},C=navigator&&navigator.userAgent,E=window&&window.location,B=E&&E.href,A;F.secure=B&&(B.toLowerCase().indexOf("https")===0);if(C){if((/windows|win32/i).test(C)){F.os="windows";}else{if((/macintosh/i).test(C)){F.os="macintosh";}}if((/KHTML/).test(C)){F.webkit=1;}A=C.match(/AppleWebKit\/([^\s]*)/);if(A&&A[1]){F.webkit=D(A[1]);if(/ Mobile\//.test(C)){F.mobile="Apple";}else{A=C.match(/NokiaN[^\/]*/);if(A){F.mobile=A[0];}}A=C.match(/AdobeAIR\/([^\s]*)/);if(A){F.air=A[0];}}if(!F.webkit){A=C.match(/Opera[\s\/]([^\s]*)/);if(A&&A[1]){F.opera=D(A[1]);A=C.match(/Opera Mini[^;]*/);if(A){F.mobile=A[0];}}else{A=C.match(/MSIE\s([^;]*)/);if(A&&A[1]){F.ie=D(A[1]);}else{A=C.match(/Gecko\/([^\s]*)/);if(A){F.gecko=1;A=C.match(/rv:([^\s\)]*)/);if(A&&A[1]){F.gecko=D(A[1]);}}}}}}return F;}();(function(){YAHOO.namespace("util","widget","example");if("undefined"!==typeof YAHOO_config){var B=YAHOO_config.listener,A=YAHOO.env.listeners,D=true,C;if(B){for(C=0;C<A.length;C++){if(A[C]==B){D=false;break;}}if(D){A.push(B);}}}})();YAHOO.lang=YAHOO.lang||{};(function(){var B=YAHOO.lang,A=Object.prototype,H="[object Array]",C="[object Function]",G="[object Object]",E=[],F=["toString","valueOf"],D={isArray:function(I){return A.toString.apply(I)===H;},isBoolean:function(I){return typeof I==="boolean";},isFunction:function(I){return(typeof I==="function")||A.toString.apply(I)===C;},isNull:function(I){return I===null;},isNumber:function(I){return typeof I==="number"&&isFinite(I);},isObject:function(I){return(I&&(typeof I==="object"||B.isFunction(I)))||false;},isString:function(I){return typeof I==="string";},isUndefined:function(I){return typeof I==="undefined";},_IEEnumFix:(YAHOO.env.ua.ie)?function(K,J){var I,M,L;for(I=0;I<F.length;I=I+1){M=F[I];L=J[M];if(B.isFunction(L)&&L!=A[M]){K[M]=L;}}}:function(){},extend:function(L,M,K){if(!M||!L){throw new Error("extend failed, please check that "+"all dependencies are included.");}var J=function(){},I;J.prototype=M.prototype;L.prototype=new J();L.prototype.constructor=L;L.superclass=M.prototype;if(M.prototype.constructor==A.constructor){M.prototype.constructor=M;}if(K){for(I in K){if(B.hasOwnProperty(K,I)){L.prototype[I]=K[I];}}B._IEEnumFix(L.prototype,K);}},augmentObject:function(M,L){if(!L||!M){throw new Error("Absorb failed, verify dependencies.");}var I=arguments,K,N,J=I[2];if(J&&J!==true){for(K=2;K<I.length;K=K+1){M[I[K]]=L[I[K]];}}else{for(N in L){if(J||!(N in M)){M[N]=L[N];}}B._IEEnumFix(M,L);}},augmentProto:function(L,K){if(!K||!L){throw new Error("Augment failed, verify dependencies.");}var I=[L.prototype,K.prototype],J;for(J=2;J<arguments.length;J=J+1){I.push(arguments[J]);}B.augmentObject.apply(this,I);},dump:function(I,N){var K,M,P=[],Q="{...}",J="f(){...}",O=", ",L=" => ";if(!B.isObject(I)){return I+"";}else{if(I instanceof Date||("nodeType" in I&&"tagName" in I)){return I;}else{if(B.isFunction(I)){return J;}}}N=(B.isNumber(N))?N:3;if(B.isArray(I)){P.push("[");for(K=0,M=I.length;K<M;K=K+1){if(B.isObject(I[K])){P.push((N>0)?B.dump(I[K],N-1):Q);}else{P.push(I[K]);}P.push(O);}if(P.length>1){P.pop();}P.push("]");}else{P.push("{");for(K in I){if(B.hasOwnProperty(I,K)){P.push(K+L);if(B.isObject(I[K])){P.push((N>0)?B.dump(I[K],N-1):Q);}else{P.push(I[K]);}P.push(O);}}if(P.length>1){P.pop();}P.push("}");}return P.join("");},substitute:function(Y,J,R){var N,M,L,U,V,X,T=[],K,O="dump",S=" ",I="{",W="}",Q,P;for(;;){N=Y.lastIndexOf(I);if(N<0){break;}M=Y.indexOf(W,N);if(N+1>=M){break;}K=Y.substring(N+1,M);U=K;X=null;L=U.indexOf(S);if(L>-1){X=U.substring(L+1);U=U.substring(0,L);}V=J[U];if(R){V=R(U,V,X);}if(B.isObject(V)){if(B.isArray(V)){V=B.dump(V,parseInt(X,10));}else{X=X||"";Q=X.indexOf(O);if(Q>-1){X=X.substring(4);}P=V.toString();if(P===G||Q>-1){V=B.dump(V,parseInt(X,10));}else{V=P;}}}else{if(!B.isString(V)&&!B.isNumber(V)){V="~-"+T.length+"-~";T[T.length]=K;}}Y=Y.substring(0,N)+V+Y.substring(M+1);}for(N=T.length-1;N>=0;N=N-1){Y=Y.replace(new RegExp("~-"+N+"-~"),"{"+T[N]+"}","g");}return Y;},trim:function(I){try{return I.replace(/^\s+|\s+$/g,"");}catch(J){return I;}},merge:function(){var L={},J=arguments,I=J.length,K;for(K=0;K<I;K=K+1){B.augmentObject(L,J[K],true);}return L;},later:function(P,J,Q,L,M){P=P||0;J=J||{};var K=Q,O=L,N,I;if(B.isString(Q)){K=J[Q];}if(!K){throw new TypeError("method undefined");}if(O&&!B.isArray(O)){O=[L];}N=function(){K.apply(J,O||E);};I=(M)?setInterval(N,P):setTimeout(N,P);return{interval:M,cancel:function(){if(this.interval){clearInterval(I);}else{clearTimeout(I);}}};},isValue:function(I){return(B.isObject(I)||B.isString(I)||B.isNumber(I)||B.isBoolean(I));}};B.hasOwnProperty=(A.hasOwnProperty)?function(I,J){return I&&I.hasOwnProperty(J);}:function(I,J){return !B.isUndefined(I[J])&&I.constructor.prototype[J]!==I[J];};D.augmentObject(B,D,true);YAHOO.util.Lang=B;B.augment=B.augmentProto;YAHOO.augment=B.augmentProto;YAHOO.extend=B.extend;})();YAHOO.register("yahoo",YAHOO,{version:"2.8.0r4",build:"2449"});

Property changes on: tags/2.8.2/wb/include/yui/yahoo/yahoo-min.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/yui/yahoo/index.php
===================================================================
--- tags/2.8.2/wb/include/yui/yahoo/index.php	(nonexistent)
+++ tags/2.8.2/wb/include/yui/yahoo/index.php	(revision 1481)
@@ -0,0 +1,21 @@
+<?php
+/**
+ *
+ * @category        framework
+ * @package         yui
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+header("Location: ../../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/yui/yahoo/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/yui/yahoo/yahoo-debug.js
===================================================================
--- tags/2.8.2/wb/include/yui/yahoo/yahoo-debug.js	(nonexistent)
+++ tags/2.8.2/wb/include/yui/yahoo/yahoo-debug.js	(revision 1481)
@@ -0,0 +1,1075 @@
+/*
+Copyright (c) 2009, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.8.0r4
+*/
+/**
+ * The YAHOO object is the single global object used by YUI Library.  It
+ * contains utility function for setting up namespaces, inheritance, and
+ * logging.  YAHOO.util, YAHOO.widget, and YAHOO.example are namespaces
+ * created automatically for and used by the library.
+ * @module yahoo
+ * @title  YAHOO Global
+ */
+
+/**
+ * YAHOO_config is not included as part of the library.  Instead it is an 
+ * object that can be defined by the implementer immediately before 
+ * including the YUI library.  The properties included in this object
+ * will be used to configure global properties needed as soon as the 
+ * library begins to load.
+ * @class YAHOO_config
+ * @static
+ */
+
+/**
+ * A reference to a function that will be executed every time a YAHOO module
+ * is loaded.  As parameter, this function will receive the version
+ * information for the module. See <a href="YAHOO.env.html#getVersion">
+ * YAHOO.env.getVersion</a> for the description of the version data structure.
+ * @property listener
+ * @type Function
+ * @static
+ * @default undefined
+ */
+
+/**
+ * Set to true if the library will be dynamically loaded after window.onload.
+ * Defaults to false 
+ * @property injecting
+ * @type boolean
+ * @static
+ * @default undefined
+ */
+
+/**
+ * Instructs the yuiloader component to dynamically load yui components and
+ * their dependencies.  See the yuiloader documentation for more information
+ * about dynamic loading
+ * @property load
+ * @static
+ * @default undefined
+ * @see yuiloader
+ */
+
+/**
+ * Forces the use of the supplied locale where applicable in the library
+ * @property locale
+ * @type string
+ * @static
+ * @default undefined
+ */
+
+if (typeof YAHOO == "undefined" || !YAHOO) {
+    /**
+     * The YAHOO global namespace object.  If YAHOO is already defined, the
+     * existing YAHOO object will not be overwritten so that defined
+     * namespaces are preserved.
+     * @class YAHOO
+     * @static
+     */
+    var YAHOO = {};
+}
+
+/**
+ * Returns the namespace specified and creates it if it doesn't exist
+ * <pre>
+ * YAHOO.namespace("property.package");
+ * YAHOO.namespace("YAHOO.property.package");
+ * </pre>
+ * Either of the above would create YAHOO.property, then
+ * YAHOO.property.package
+ *
+ * Be careful when naming packages. Reserved words may work in some browsers
+ * and not others. For instance, the following will fail in Safari:
+ * <pre>
+ * YAHOO.namespace("really.long.nested.namespace");
+ * </pre>
+ * This fails because "long" is a future reserved word in ECMAScript
+ *
+ * For implementation code that uses YUI, do not create your components
+ * in the namespaces defined by YUI (
+ * <code>YAHOO.util</code>, 
+ * <code>YAHOO.widget</code>, 
+ * <code>YAHOO.lang</code>, 
+ * <code>YAHOO.tool</code>, 
+ * <code>YAHOO.example</code>, 
+ * <code>YAHOO.env</code>) -- create your own namespace (e.g., 'companyname').
+ *
+ * @method namespace
+ * @static
+ * @param  {String*} arguments 1-n namespaces to create 
+ * @return {Object}  A reference to the last namespace object created
+ */
+YAHOO.namespace = function() {
+    var a=arguments, o=null, i, j, d;
+    for (i=0; i<a.length; i=i+1) {
+        d=(""+a[i]).split(".");
+        o=YAHOO;
+
+        // YAHOO is implied, so it is ignored if it is included
+        for (j=(d[0] == "YAHOO") ? 1 : 0; j<d.length; j=j+1) {
+            o[d[j]]=o[d[j]] || {};
+            o=o[d[j]];
+        }
+    }
+
+    return o;
+};
+
+/**
+ * Uses YAHOO.widget.Logger to output a log message, if the widget is
+ * available.
+ *
+ * @method log
+ * @static
+ * @param  {String}  msg  The message to log.
+ * @param  {String}  cat  The log category for the message.  Default
+ *                        categories are "info", "warn", "error", time".
+ *                        Custom categories can be used as well. (opt)
+ * @param  {String}  src  The source of the the message (opt)
+ * @return {Boolean}      True if the log operation was successful.
+ */
+YAHOO.log = function(msg, cat, src) {
+    var l=YAHOO.widget.Logger;
+    if(l && l.log) {
+        return l.log(msg, cat, src);
+    } else {
+        return false;
+    }
+};
+
+/**
+ * Registers a module with the YAHOO object
+ * @method register
+ * @static
+ * @param {String}   name    the name of the module (event, slider, etc)
+ * @param {Function} mainClass a reference to class in the module.  This
+ *                             class will be tagged with the version info
+ *                             so that it will be possible to identify the
+ *                             version that is in use when multiple versions
+ *                             have loaded
+ * @param {Object}   data      metadata object for the module.  Currently it
+ *                             is expected to contain a "version" property
+ *                             and a "build" property at minimum.
+ */
+YAHOO.register = function(name, mainClass, data) {
+    var mods = YAHOO.env.modules, m, v, b, ls, i;
+
+    if (!mods[name]) {
+        mods[name] = { 
+            versions:[], 
+            builds:[] 
+        };
+    }
+
+    m  = mods[name];
+    v  = data.version;
+    b  = data.build;
+    ls = YAHOO.env.listeners;
+
+    m.name = name;
+    m.version = v;
+    m.build = b;
+    m.versions.push(v);
+    m.builds.push(b);
+    m.mainClass = mainClass;
+
+    // fire the module load listeners
+    for (i=0;i<ls.length;i=i+1) {
+        ls[i](m);
+    }
+    // label the main class
+    if (mainClass) {
+        mainClass.VERSION = v;
+        mainClass.BUILD = b;
+    } else {
+        YAHOO.log("mainClass is undefined for module " + name, "warn");
+    }
+};
+
+/**
+ * YAHOO.env is used to keep track of what is known about the YUI library and
+ * the browsing environment
+ * @class YAHOO.env
+ * @static
+ */
+YAHOO.env = YAHOO.env || {
+
+    /**
+     * Keeps the version info for all YUI modules that have reported themselves
+     * @property modules
+     * @type Object[]
+     */
+    modules: [],
+    
+    /**
+     * List of functions that should be executed every time a YUI module
+     * reports itself.
+     * @property listeners
+     * @type Function[]
+     */
+    listeners: []
+};
+
+/**
+ * Returns the version data for the specified module:
+ *      <dl>
+ *      <dt>name:</dt>      <dd>The name of the module</dd>
+ *      <dt>version:</dt>   <dd>The version in use</dd>
+ *      <dt>build:</dt>     <dd>The build number in use</dd>
+ *      <dt>versions:</dt>  <dd>All versions that were registered</dd>
+ *      <dt>builds:</dt>    <dd>All builds that were registered.</dd>
+ *      <dt>mainClass:</dt> <dd>An object that was was stamped with the
+ *                 current version and build. If 
+ *                 mainClass.VERSION != version or mainClass.BUILD != build,
+ *                 multiple versions of pieces of the library have been
+ *                 loaded, potentially causing issues.</dd>
+ *       </dl>
+ *
+ * @method getVersion
+ * @static
+ * @param {String}  name the name of the module (event, slider, etc)
+ * @return {Object} The version info
+ */
+YAHOO.env.getVersion = function(name) {
+    return YAHOO.env.modules[name] || null;
+};
+
+/**
+ * Do not fork for a browser if it can be avoided.  Use feature detection when
+ * you can.  Use the user agent as a last resort.  YAHOO.env.ua stores a version
+ * number for the browser engine, 0 otherwise.  This value may or may not map
+ * to the version number of the browser using the engine.  The value is 
+ * presented as a float so that it can easily be used for boolean evaluation 
+ * as well as for looking for a particular range of versions.  Because of this, 
+ * some of the granularity of the version info may be lost (e.g., Gecko 1.8.0.9 
+ * reports 1.8).
+ * @class YAHOO.env.ua
+ * @static
+ */
+YAHOO.env.ua = function() {
+
+        var numberfy = function(s) {
+            var c = 0;
+            return parseFloat(s.replace(/\./g, function() {
+                return (c++ == 1) ? '' : '.';
+            }));
+        },
+
+        nav = navigator,
+
+        o = {
+
+        /**
+         * Internet Explorer version number or 0.  Example: 6
+         * @property ie
+         * @type float
+         */
+        ie: 0,
+
+        /**
+         * Opera version number or 0.  Example: 9.2
+         * @property opera
+         * @type float
+         */
+        opera: 0,
+
+        /**
+         * Gecko engine revision number.  Will evaluate to 1 if Gecko 
+         * is detected but the revision could not be found. Other browsers
+         * will be 0.  Example: 1.8
+         * <pre>
+         * Firefox 1.0.0.4: 1.7.8   <-- Reports 1.7
+         * Firefox 1.5.0.9: 1.8.0.9 <-- Reports 1.8
+         * Firefox 2.0.0.3: 1.8.1.3 <-- Reports 1.8
+         * Firefox 3 alpha: 1.9a4   <-- Reports 1.9
+         * </pre>
+         * @property gecko
+         * @type float
+         */
+        gecko: 0,
+
+        /**
+         * AppleWebKit version.  KHTML browsers that are not WebKit browsers 
+         * will evaluate to 1, other browsers 0.  Example: 418.9.1
+         * <pre>
+         * Safari 1.3.2 (312.6): 312.8.1 <-- Reports 312.8 -- currently the 
+         *                                   latest available for Mac OSX 10.3.
+         * Safari 2.0.2:         416     <-- hasOwnProperty introduced
+         * Safari 2.0.4:         418     <-- preventDefault fixed
+         * Safari 2.0.4 (419.3): 418.9.1 <-- One version of Safari may run
+         *                                   different versions of webkit
+         * Safari 2.0.4 (419.3): 419     <-- Tiger installations that have been
+         *                                   updated, but not updated
+         *                                   to the latest patch.
+         * Webkit 212 nightly:   522+    <-- Safari 3.0 precursor (with native SVG
+         *                                   and many major issues fixed).  
+         * 3.x yahoo.com, flickr:422     <-- Safari 3.x hacks the user agent
+         *                                   string when hitting yahoo.com and 
+         *                                   flickr.com.
+         * Safari 3.0.4 (523.12):523.12  <-- First Tiger release - automatic update
+         *                                   from 2.x via the 10.4.11 OS patch
+         * Webkit nightly 1/2008:525+    <-- Supports DOMContentLoaded event.
+         *                                   yahoo.com user agent hack removed.
+         *                                   
+         * </pre>
+         * http://developer.apple.com/internet/safari/uamatrix.html
+         * @property webkit
+         * @type float
+         */
+        webkit: 0,
+
+        /**
+         * The mobile property will be set to a string containing any relevant
+         * user agent information when a modern mobile browser is detected.
+         * Currently limited to Safari on the iPhone/iPod Touch, Nokia N-series
+         * devices with the WebKit-based browser, and Opera Mini.  
+         * @property mobile 
+         * @type string
+         */
+        mobile: null,
+
+        /**
+         * Adobe AIR version number or 0.  Only populated if webkit is detected.
+         * Example: 1.0
+         * @property air
+         * @type float
+         */
+        air: 0,
+
+        /**
+         * Google Caja version number or 0.
+         * @property caja
+         * @type float
+         */
+        caja: nav.cajaVersion,
+
+        /**
+         * Set to true if the page appears to be in SSL
+         * @property secure
+         * @type boolean
+         * @static
+         */
+        secure: false,
+
+        /**
+         * The operating system.  Currently only detecting windows or macintosh
+         * @property os
+         * @type string
+         * @static
+         */
+        os: null
+
+    },
+
+    ua = navigator && navigator.userAgent, 
+    
+    loc = window && window.location,
+
+    href = loc && loc.href,
+    
+    m;
+
+    o.secure = href && (href.toLowerCase().indexOf("https") === 0);
+
+    if (ua) {
+
+        if ((/windows|win32/i).test(ua)) {
+            o.os = 'windows';
+        } else if ((/macintosh/i).test(ua)) {
+            o.os = 'macintosh';
+        }
+    
+        // Modern KHTML browsers should qualify as Safari X-Grade
+        if ((/KHTML/).test(ua)) {
+            o.webkit=1;
+        }
+
+        // Modern WebKit browsers are at least X-Grade
+        m=ua.match(/AppleWebKit\/([^\s]*)/);
+        if (m&&m[1]) {
+            o.webkit=numberfy(m[1]);
+
+            // Mobile browser check
+            if (/ Mobile\//.test(ua)) {
+                o.mobile = "Apple"; // iPhone or iPod Touch
+            } else {
+                m=ua.match(/NokiaN[^\/]*/);
+                if (m) {
+                    o.mobile = m[0]; // Nokia N-series, ex: NokiaN95
+                }
+            }
+
+            m=ua.match(/AdobeAIR\/([^\s]*)/);
+            if (m) {
+                o.air = m[0]; // Adobe AIR 1.0 or better
+            }
+
+        }
+
+        if (!o.webkit) { // not webkit
+            // @todo check Opera/8.01 (J2ME/MIDP; Opera Mini/2.0.4509/1316; fi; U; ssr)
+            m=ua.match(/Opera[\s\/]([^\s]*)/);
+            if (m&&m[1]) {
+                o.opera=numberfy(m[1]);
+                m=ua.match(/Opera Mini[^;]*/);
+                if (m) {
+                    o.mobile = m[0]; // ex: Opera Mini/2.0.4509/1316
+                }
+            } else { // not opera or webkit
+                m=ua.match(/MSIE\s([^;]*)/);
+                if (m&&m[1]) {
+                    o.ie=numberfy(m[1]);
+                } else { // not opera, webkit, or ie
+                    m=ua.match(/Gecko\/([^\s]*)/);
+                    if (m) {
+                        o.gecko=1; // Gecko detected, look for revision
+                        m=ua.match(/rv:([^\s\)]*)/);
+                        if (m&&m[1]) {
+                            o.gecko=numberfy(m[1]);
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+    return o;
+}();
+
+/*
+ * Initializes the global by creating the default namespaces and applying
+ * any new configuration information that is detected.  This is the setup
+ * for env.
+ * @method init
+ * @static
+ * @private
+ */
+(function() {
+    YAHOO.namespace("util", "widget", "example");
+    /*global YAHOO_config*/
+    if ("undefined" !== typeof YAHOO_config) {
+        var l=YAHOO_config.listener, ls=YAHOO.env.listeners,unique=true, i;
+        if (l) {
+            // if YAHOO is loaded multiple times we need to check to see if
+            // this is a new config object.  If it is, add the new component
+            // load listener to the stack
+            for (i=0; i<ls.length; i++) {
+                if (ls[i] == l) {
+                    unique = false;
+                    break;
+                }
+            }
+
+            if (unique) {
+                ls.push(l);
+            }
+        }
+    }
+})();
+/**
+ * Provides the language utilites and extensions used by the library
+ * @class YAHOO.lang
+ */
+YAHOO.lang = YAHOO.lang || {};
+
+(function() {
+
+
+var L = YAHOO.lang,
+
+    OP = Object.prototype,
+    ARRAY_TOSTRING = '[object Array]',
+    FUNCTION_TOSTRING = '[object Function]',
+    OBJECT_TOSTRING = '[object Object]',
+    NOTHING = [],
+
+    // ADD = ["toString", "valueOf", "hasOwnProperty"],
+    ADD = ["toString", "valueOf"],
+
+    OB = {
+
+    /**
+     * Determines wheather or not the provided object is an array.
+     * @method isArray
+     * @param {any} o The object being testing
+     * @return {boolean} the result
+     */
+    isArray: function(o) { 
+        return OP.toString.apply(o) === ARRAY_TOSTRING;
+    },
+
+    /**
+     * Determines whether or not the provided object is a boolean
+     * @method isBoolean
+     * @param {any} o The object being testing
+     * @return {boolean} the result
+     */
+    isBoolean: function(o) {
+        return typeof o === 'boolean';
+    },
+    
+    /**
+     * Determines whether or not the provided object is a function.
+     * Note: Internet Explorer thinks certain functions are objects:
+     *
+     * var obj = document.createElement("object");
+     * YAHOO.lang.isFunction(obj.getAttribute) // reports false in IE
+     *
+     * var input = document.createElement("input"); // append to body
+     * YAHOO.lang.isFunction(input.focus) // reports false in IE
+     *
+     * You will have to implement additional tests if these functions
+     * matter to you.
+     *
+     * @method isFunction
+     * @param {any} o The object being testing
+     * @return {boolean} the result
+     */
+    isFunction: function(o) {
+        return (typeof o === 'function') || OP.toString.apply(o) === FUNCTION_TOSTRING;
+    },
+        
+    /**
+     * Determines whether or not the provided object is null
+     * @method isNull
+     * @param {any} o The object being testing
+     * @return {boolean} the result
+     */
+    isNull: function(o) {
+        return o === null;
+    },
+        
+    /**
+     * Determines whether or not the provided object is a legal number
+     * @method isNumber
+     * @param {any} o The object being testing
+     * @return {boolean} the result
+     */
+    isNumber: function(o) {
+        return typeof o === 'number' && isFinite(o);
+    },
+      
+    /**
+     * Determines whether or not the provided object is of type object
+     * or function
+     * @method isObject
+     * @param {any} o The object being testing
+     * @return {boolean} the result
+     */  
+    isObject: function(o) {
+return (o && (typeof o === 'object' || L.isFunction(o))) || false;
+    },
+        
+    /**
+     * Determines whether or not the provided object is a string
+     * @method isString
+     * @param {any} o The object being testing
+     * @return {boolean} the result
+     */
+    isString: function(o) {
+        return typeof o === 'string';
+    },
+        
+    /**
+     * Determines whether or not the provided object is undefined
+     * @method isUndefined
+     * @param {any} o The object being testing
+     * @return {boolean} the result
+     */
+    isUndefined: function(o) {
+        return typeof o === 'undefined';
+    },
+    
+ 
+    /**
+     * IE will not enumerate native functions in a derived object even if the
+     * function was overridden.  This is a workaround for specific functions 
+     * we care about on the Object prototype. 
+     * @property _IEEnumFix
+     * @param {Function} r  the object to receive the augmentation
+     * @param {Function} s  the object that supplies the properties to augment
+     * @static
+     * @private
+     */
+    _IEEnumFix: (YAHOO.env.ua.ie) ? function(r, s) {
+            var i, fname, f;
+            for (i=0;i<ADD.length;i=i+1) {
+
+                fname = ADD[i];
+                f = s[fname];
+
+                if (L.isFunction(f) && f!=OP[fname]) {
+                    r[fname]=f;
+                }
+            }
+    } : function(){},
+       
+    /**
+     * Utility to set up the prototype, constructor and superclass properties to
+     * support an inheritance strategy that can chain constructors and methods.
+     * Static members will not be inherited.
+     *
+     * @method extend
+     * @static
+     * @param {Function} subc   the object to modify
+     * @param {Function} superc the object to inherit
+     * @param {Object} overrides  additional properties/methods to add to the
+     *                              subclass prototype.  These will override the
+     *                              matching items obtained from the superclass 
+     *                              if present.
+     */
+    extend: function(subc, superc, overrides) {
+        if (!superc||!subc) {
+            throw new Error("extend failed, please check that " +
+                            "all dependencies are included.");
+        }
+        var F = function() {}, i;
+        F.prototype=superc.prototype;
+        subc.prototype=new F();
+        subc.prototype.constructor=subc;
+        subc.superclass=superc.prototype;
+        if (superc.prototype.constructor == OP.constructor) {
+            superc.prototype.constructor=superc;
+        }
+    
+        if (overrides) {
+            for (i in overrides) {
+                if (L.hasOwnProperty(overrides, i)) {
+                    subc.prototype[i]=overrides[i];
+                }
+            }
+
+            L._IEEnumFix(subc.prototype, overrides);
+        }
+    },
+   
+    /**
+     * Applies all properties in the supplier to the receiver if the
+     * receiver does not have these properties yet.  Optionally, one or 
+     * more methods/properties can be specified (as additional 
+     * parameters).  This option will overwrite the property if receiver 
+     * has it already.  If true is passed as the third parameter, all 
+     * properties will be applied and _will_ overwrite properties in 
+     * the receiver.
+     *
+     * @method augmentObject
+     * @static
+     * @since 2.3.0
+     * @param {Function} r  the object to receive the augmentation
+     * @param {Function} s  the object that supplies the properties to augment
+     * @param {String*|boolean}  arguments zero or more properties methods 
+     *        to augment the receiver with.  If none specified, everything
+     *        in the supplier will be used unless it would
+     *        overwrite an existing property in the receiver. If true
+     *        is specified as the third parameter, all properties will
+     *        be applied and will overwrite an existing property in
+     *        the receiver
+     */
+    augmentObject: function(r, s) {
+        if (!s||!r) {
+            throw new Error("Absorb failed, verify dependencies.");
+        }
+        var a=arguments, i, p, overrideList=a[2];
+        if (overrideList && overrideList!==true) { // only absorb the specified properties
+            for (i=2; i<a.length; i=i+1) {
+                r[a[i]] = s[a[i]];
+            }
+        } else { // take everything, overwriting only if the third parameter is true
+            for (p in s) { 
+                if (overrideList || !(p in r)) {
+                    r[p] = s[p];
+                }
+            }
+            
+            L._IEEnumFix(r, s);
+        }
+    },
+ 
+    /**
+     * Same as YAHOO.lang.augmentObject, except it only applies prototype properties
+     * @see YAHOO.lang.augmentObject
+     * @method augmentProto
+     * @static
+     * @param {Function} r  the object to receive the augmentation
+     * @param {Function} s  the object that supplies the properties to augment
+     * @param {String*|boolean}  arguments zero or more properties methods 
+     *        to augment the receiver with.  If none specified, everything 
+     *        in the supplier will be used unless it would overwrite an existing 
+     *        property in the receiver.  if true is specified as the third 
+     *        parameter, all properties will be applied and will overwrite an 
+     *        existing property in the receiver
+     */
+    augmentProto: function(r, s) {
+        if (!s||!r) {
+            throw new Error("Augment failed, verify dependencies.");
+        }
+        //var a=[].concat(arguments);
+        var a=[r.prototype,s.prototype], i;
+        for (i=2;i<arguments.length;i=i+1) {
+            a.push(arguments[i]);
+        }
+        L.augmentObject.apply(this, a);
+    },
+
+      
+    /**
+     * Returns a simple string representation of the object or array.
+     * Other types of objects will be returned unprocessed.  Arrays
+     * are expected to be indexed.  Use object notation for
+     * associative arrays.
+     * @method dump
+     * @since 2.3.0
+     * @param o {Object} The object to dump
+     * @param d {int} How deep to recurse child objects, default 3
+     * @return {String} the dump result
+     */
+    dump: function(o, d) {
+        var i,len,s=[],OBJ="{...}",FUN="f(){...}",
+            COMMA=', ', ARROW=' => ';
+
+        // Cast non-objects to string
+        // Skip dates because the std toString is what we want
+        // Skip HTMLElement-like objects because trying to dump 
+        // an element will cause an unhandled exception in FF 2.x
+        if (!L.isObject(o)) {
+            return o + "";
+        } else if (o instanceof Date || ("nodeType" in o && "tagName" in o)) {
+            return o;
+        } else if  (L.isFunction(o)) {
+            return FUN;
+        }
+
+        // dig into child objects the depth specifed. Default 3
+        d = (L.isNumber(d)) ? d : 3;
+
+        // arrays [1, 2, 3]
+        if (L.isArray(o)) {
+            s.push("[");
+            for (i=0,len=o.length;i<len;i=i+1) {
+                if (L.isObject(o[i])) {
+                    s.push((d > 0) ? L.dump(o[i], d-1) : OBJ);
+                } else {
+                    s.push(o[i]);
+                }
+                s.push(COMMA);
+            }
+            if (s.length > 1) {
+                s.pop();
+            }
+            s.push("]");
+        // objects {k1 => v1, k2 => v2}
+        } else {
+            s.push("{");
+            for (i in o) {
+                if (L.hasOwnProperty(o, i)) {
+                    s.push(i + ARROW);
+                    if (L.isObject(o[i])) {
+                        s.push((d > 0) ? L.dump(o[i], d-1) : OBJ);
+                    } else {
+                        s.push(o[i]);
+                    }
+                    s.push(COMMA);
+                }
+            }
+            if (s.length > 1) {
+                s.pop();
+            }
+            s.push("}");
+        }
+
+        return s.join("");
+    },
+
+    /**
+     * Does variable substitution on a string. It scans through the string 
+     * looking for expressions enclosed in { } braces. If an expression 
+     * is found, it is used a key on the object.  If there is a space in
+     * the key, the first word is used for the key and the rest is provided
+     * to an optional function to be used to programatically determine the
+     * value (the extra information might be used for this decision). If 
+     * the value for the key in the object, or what is returned from the
+     * function has a string value, number value, or object value, it is 
+     * substituted for the bracket expression and it repeats.  If this
+     * value is an object, it uses the Object's toString() if this has
+     * been overridden, otherwise it does a shallow dump of the key/value
+     * pairs.
+     * @method substitute
+     * @since 2.3.0
+     * @param s {String} The string that will be modified.
+     * @param o {Object} An object containing the replacement values
+     * @param f {Function} An optional function that can be used to
+     *                     process each match.  It receives the key,
+     *                     value, and any extra metadata included with
+     *                     the key inside of the braces.
+     * @return {String} the substituted string
+     */
+    substitute: function (s, o, f) {
+        var i, j, k, key, v, meta, saved=[], token, 
+            DUMP='dump', SPACE=' ', LBRACE='{', RBRACE='}',
+            dump, objstr;
+
+
+        for (;;) {
+            i = s.lastIndexOf(LBRACE);
+            if (i < 0) {
+                break;
+            }
+            j = s.indexOf(RBRACE, i);
+            if (i + 1 >= j) {
+                break;
+            }
+
+            //Extract key and meta info 
+            token = s.substring(i + 1, j);
+            key = token;
+            meta = null;
+            k = key.indexOf(SPACE);
+            if (k > -1) {
+                meta = key.substring(k + 1);
+                key = key.substring(0, k);
+            }
+
+            // lookup the value
+            v = o[key];
+
+            // if a substitution function was provided, execute it
+            if (f) {
+                v = f(key, v, meta);
+            }
+
+            if (L.isObject(v)) {
+                if (L.isArray(v)) {
+                    v = L.dump(v, parseInt(meta, 10));
+                } else {
+                    meta = meta || "";
+
+                    // look for the keyword 'dump', if found force obj dump
+                    dump = meta.indexOf(DUMP);
+                    if (dump > -1) {
+                        meta = meta.substring(4);
+                    }
+
+                    objstr = v.toString();
+
+                    // use the toString if it is not the Object toString 
+                    // and the 'dump' meta info was not found
+                    if (objstr === OBJECT_TOSTRING || dump > -1) {
+                        v = L.dump(v, parseInt(meta, 10));
+                    } else {
+                        v = objstr;
+                    }
+                }
+            } else if (!L.isString(v) && !L.isNumber(v)) {
+                // This {block} has no replace string. Save it for later.
+                v = "~-" + saved.length + "-~";
+                saved[saved.length] = token;
+
+                // break;
+            }
+
+            s = s.substring(0, i) + v + s.substring(j + 1);
+
+
+        }
+
+        // restore saved {block}s
+        for (i=saved.length-1; i>=0; i=i-1) {
+            s = s.replace(new RegExp("~-" + i + "-~"), "{"  + saved[i] + "}", "g");
+        }
+
+        return s;
+    },
+
+
+    /**
+     * Returns a string without any leading or trailing whitespace.  If 
+     * the input is not a string, the input will be returned untouched.
+     * @method trim
+     * @since 2.3.0
+     * @param s {string} the string to trim
+     * @return {string} the trimmed string
+     */
+    trim: function(s){
+        try {
+            return s.replace(/^\s+|\s+$/g, "");
+        } catch(e) {
+            return s;
+        }
+    },
+
+    /**
+     * Returns a new object containing all of the properties of
+     * all the supplied objects.  The properties from later objects
+     * will overwrite those in earlier objects.
+     * @method merge
+     * @since 2.3.0
+     * @param arguments {Object*} the objects to merge
+     * @return the new merged object
+     */
+    merge: function() {
+        var o={}, a=arguments, l=a.length, i;
+        for (i=0; i<l; i=i+1) {
+            L.augmentObject(o, a[i], true);
+        }
+        return o;
+    },
+
+    /**
+     * Executes the supplied function in the context of the supplied 
+     * object 'when' milliseconds later.  Executes the function a 
+     * single time unless periodic is set to true.
+     * @method later
+     * @since 2.4.0
+     * @param when {int} the number of milliseconds to wait until the fn 
+     * is executed
+     * @param o the context object
+     * @param fn {Function|String} the function to execute or the name of 
+     * the method in the 'o' object to execute
+     * @param data [Array] data that is provided to the function.  This accepts
+     * either a single item or an array.  If an array is provided, the
+     * function is executed with one parameter for each array item.  If
+     * you need to pass a single array parameter, it needs to be wrapped in
+     * an array [myarray]
+     * @param periodic {boolean} if true, executes continuously at supplied 
+     * interval until canceled
+     * @return a timer object. Call the cancel() method on this object to 
+     * stop the timer.
+     */
+    later: function(when, o, fn, data, periodic) {
+        when = when || 0; 
+        o = o || {};
+        var m=fn, d=data, f, r;
+
+        if (L.isString(fn)) {
+            m = o[fn];
+        }
+
+        if (!m) {
+            throw new TypeError("method undefined");
+        }
+
+        if (d && !L.isArray(d)) {
+            d = [data];
+        }
+
+        f = function() {
+            m.apply(o, d || NOTHING);
+        };
+
+        r = (periodic) ? setInterval(f, when) : setTimeout(f, when);
+
+        return {
+            interval: periodic,
+            cancel: function() {
+                if (this.interval) {
+                    clearInterval(r);
+                } else {
+                    clearTimeout(r);
+                }
+            }
+        };
+    },
+    
+    /**
+     * A convenience method for detecting a legitimate non-null value.
+     * Returns false for null/undefined/NaN, true for other values, 
+     * including 0/false/''
+     * @method isValue
+     * @since 2.3.0
+     * @param o {any} the item to test
+     * @return {boolean} true if it is not null/undefined/NaN || false
+     */
+    isValue: function(o) {
+        // return (o || o === false || o === 0 || o === ''); // Infinity fails
+return (L.isObject(o) || L.isString(o) || L.isNumber(o) || L.isBoolean(o));
+    }
+
+};
+
+/**
+ * Determines whether or not the property was added
+ * to the object instance.  Returns false if the property is not present
+ * in the object, or was inherited from the prototype.
+ * This abstraction is provided to enable hasOwnProperty for Safari 1.3.x.
+ * There is a discrepancy between YAHOO.lang.hasOwnProperty and
+ * Object.prototype.hasOwnProperty when the property is a primitive added to
+ * both the instance AND prototype with the same value:
+ * <pre>
+ * var A = function() {};
+ * A.prototype.foo = 'foo';
+ * var a = new A();
+ * a.foo = 'foo';
+ * alert(a.hasOwnProperty('foo')); // true
+ * alert(YAHOO.lang.hasOwnProperty(a, 'foo')); // false when using fallback
+ * </pre>
+ * @method hasOwnProperty
+ * @param {any} o The object being testing
+ * @param prop {string} the name of the property to test
+ * @return {boolean} the result
+ */
+L.hasOwnProperty = (OP.hasOwnProperty) ?
+    function(o, prop) {
+        return o && o.hasOwnProperty(prop);
+    } : function(o, prop) {
+        return !L.isUndefined(o[prop]) && 
+                o.constructor.prototype[prop] !== o[prop];
+    };
+
+// new lang wins
+OB.augmentObject(L, OB, true);
+
+/*
+ * An alias for <a href="YAHOO.lang.html">YAHOO.lang</a>
+ * @class YAHOO.util.Lang
+ */
+YAHOO.util.Lang = L;
+ 
+/**
+ * Same as YAHOO.lang.augmentObject, except it only applies prototype 
+ * properties.  This is an alias for augmentProto.
+ * @see YAHOO.lang.augmentObject
+ * @method augment
+ * @static
+ * @param {Function} r  the object to receive the augmentation
+ * @param {Function} s  the object that supplies the properties to augment
+ * @param {String*|boolean}  arguments zero or more properties methods to 
+ *        augment the receiver with.  If none specified, everything
+ *        in the supplier will be used unless it would
+ *        overwrite an existing property in the receiver.  if true
+ *        is specified as the third parameter, all properties will
+ *        be applied and will overwrite an existing property in
+ *        the receiver
+ */
+L.augment = L.augmentProto;
+
+/**
+ * An alias for <a href="YAHOO.lang.html#augment">YAHOO.lang.augment</a>
+ * @for YAHOO
+ * @method augment
+ * @static
+ * @param {Function} r  the object to receive the augmentation
+ * @param {Function} s  the object that supplies the properties to augment
+ * @param {String*}  arguments zero or more properties methods to 
+ *        augment the receiver with.  If none specified, everything
+ *        in the supplier will be used unless it would
+ *        overwrite an existing property in the receiver
+ */
+YAHOO.augment = L.augmentProto;
+       
+/**
+ * An alias for <a href="YAHOO.lang.html#extend">YAHOO.lang.extend</a>
+ * @method extend
+ * @static
+ * @param {Function} subc   the object to modify
+ * @param {Function} superc the object to inherit
+ * @param {Object} overrides  additional properties/methods to add to the
+ *        subclass prototype.  These will override the
+ *        matching items obtained from the superclass if present.
+ */
+YAHOO.extend = L.extend;
+
+})();
+YAHOO.register("yahoo", YAHOO, {version: "2.8.0r4", build: "2449"});

Property changes on: tags/2.8.2/wb/include/yui/yahoo/yahoo-debug.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/yui/yahoo/README
===================================================================
--- tags/2.8.2/wb/include/yui/yahoo/README	(nonexistent)
+++ tags/2.8.2/wb/include/yui/yahoo/README	(revision 1481)
@@ -0,0 +1,95 @@
+YAHOO Global - Release Notes
+
+2.4.1
+
+No change
+
+2.4.0
+  * Added YAHOO.env.ua.mobile
+  * Removed the hasOwnProperty check in isArray to make it perform a bit better.
+  * YAHOO will be created/overwritten if YAHOO is undefined or the defined YAHOO is falsy
+
+2.3.1
+  * YAHOO.lang.dump casts primitives to strings
+
+2.3.0
+  * Added YAHOO.env.ua - browser detection
+  * Added YAHOO.lang.merge - object merge
+  * Added YAHOO.lang.trim - whitespace removal
+  * Added YAHOO.lang.augmentObject - mixins.  Renamed augment to augmentProto and 
+    made augment an alias to augmentProto
+  * isObject/isArray return false rather than null when testing null
+
+2.2.2
+
+  * No change
+
+2.2.1
+
+  * YAHOO.lang.isObject returns false for null
+  * YAHOO.lang.isArray no longer generates an error when the argument is null/undefined
+  * Better error messages for YAHOO.lang.augment/extend failures that are usually due 
+    to missing dependencies.
+
+2.2.0a
+
+  * Fixed a typo that prevented the proper detection of multiple YAHOO_config listeners
+
+2.2.0
+
+  * Added configuration of the library via a YAHOO_config object defined
+    prior to the reference to the library.  Currently it supports a listener
+    parameter that will execute every time a new module YUI module is loaded.
+
+  * Added YAHOO.register & YAHOO.getVersion for version stamping modules.
+  
+  * Added YAHOO.env which is the home for the information about the loaded
+    YUI modules, and will host more info later.
+    
+  * YAHOO.util.Lang was relocated to this package and is now YAHOO.lang.
+    YAHOO.extend and YAHOO.augment have moved to env (the original
+    functions still work).
+
+0.12.2
+
+  * No change
+
+0.12.1
+
+  * No change
+
+0.12.0
+
+   * Added YAHOO.augment, which copies all or part of the prototype of one
+     object to another.  
+
+   * YAHOO.namespace now can create multiple namespaces.
+
+   * Added an optional third parameter to YAHOO.extend: overrides.  It takes
+     an object literal of properties/methods to apply to the subclass
+     prototype, overriding the superclass if present.
+
+0.11.4
+
+   * Changed window.YAHOO = window.YAHOO || {} to 
+     if (typeof YAHOO == "undefined") YAHOO = {} because the previous statement
+     contributed to a memory leak in IE6 when the library was hosted in an 
+     iframe.
+
+0.11.3
+
+   * Changed var YAHOO = window.YAHOO || {} to window.YAHOO = window.YAHOO || {}.
+     This fixes an issue in IE where YAHOO would get overwritten if previously
+     defined via array notation (window["YAHOO"]).
+
+0.11.0
+
+   * Added YAHOO.extend, which provides an easy way to assign the prototype,
+     constructor, and superclass properties inheritance properties.  It also
+     prevents the constructor of the superclass from being exectuted twice.
+
+0.10.0
+
+   * Added YAHOO.log that provides a safe way to plumb logging statements in
+     code that will work if the logging component isn't available.
+

Property changes on: tags/2.8.2/wb/include/yui/yahoo/README
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/yui/event/event-debug.js
===================================================================
--- tags/2.8.2/wb/include/yui/event/event-debug.js	(nonexistent)
+++ tags/2.8.2/wb/include/yui/event/event-debug.js	(revision 1481)
@@ -0,0 +1,2524 @@
+/*
+Copyright (c) 2009, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.8.0r4
+*/
+
+/**
+ * The CustomEvent class lets you define events for your application
+ * that can be subscribed to by one or more independent component.
+ *
+ * @param {String}  type The type of event, which is passed to the callback
+ *                  when the event fires
+ * @param {Object}  context The context the event will fire from.  "this" will
+ *                  refer to this object in the callback.  Default value: 
+ *                  the window object.  The listener can override this.
+ * @param {boolean} silent pass true to prevent the event from writing to
+ *                  the debugsystem
+ * @param {int}     signature the signature that the custom event subscriber
+ *                  will receive. YAHOO.util.CustomEvent.LIST or 
+ *                  YAHOO.util.CustomEvent.FLAT.  The default is
+ *                  YAHOO.util.CustomEvent.LIST.
+ * @param fireOnce {boolean} If configured to fire once, the custom event 
+ * will only notify subscribers a single time regardless of how many times 
+ * the event is fired.  In addition, new subscribers will be notified 
+ * immediately if the event has already been fired.
+ * @namespace YAHOO.util
+ * @class CustomEvent
+ * @constructor
+ */
+YAHOO.util.CustomEvent = function(type, context, silent, signature, fireOnce) {
+
+    /**
+     * The type of event, returned to subscribers when the event fires
+     * @property type
+     * @type string
+     */
+    this.type = type;
+
+    /**
+     * The context the event will fire from by default. Defaults to the window obj.
+     * @property scope
+     * @type object
+     */
+    this.scope = context || window;
+
+    /**
+     * By default all custom events are logged in the debug build. Set silent to true 
+     * to disable debug output for this event.
+     * @property silent
+     * @type boolean
+     */
+    this.silent = silent;
+
+    /**
+     * If configured to fire once, the custom event will only notify subscribers
+     * a single time regardless of how many times the event is fired.  In addition,
+     * new subscribers will be notified immediately if the event has already been
+     * fired.
+     * @property fireOnce
+     * @type boolean
+     * @default false
+     */
+    this.fireOnce = fireOnce;
+
+    /**
+     * Indicates whether or not this event has ever been fired.
+     * @property fired
+     * @type boolean
+     * @default false
+     */
+    this.fired = false;
+
+    /**
+     * For fireOnce events the arguments the event was fired with are stored
+     * so that new subscribers get the proper payload.
+     * @property firedWith
+     * @type Array
+     */
+    this.firedWith = null;
+
+    /**
+     * Custom events support two styles of arguments provided to the event
+     * subscribers.  
+     * <ul>
+     * <li>YAHOO.util.CustomEvent.LIST: 
+     *   <ul>
+     *   <li>param1: event name</li>
+     *   <li>param2: array of arguments sent to fire</li>
+     *   <li>param3: <optional> a custom object supplied by the subscriber</li>
+     *   </ul>
+     * </li>
+     * <li>YAHOO.util.CustomEvent.FLAT
+     *   <ul>
+     *   <li>param1: the first argument passed to fire.  If you need to
+     *           pass multiple parameters, use and array or object literal</li>
+     *   <li>param2: <optional> a custom object supplied by the subscriber</li>
+     *   </ul>
+     * </li>
+     * </ul>
+     *   @property signature
+     *   @type int
+     */
+    this.signature = signature || YAHOO.util.CustomEvent.LIST;
+
+    /**
+     * The subscribers to this event
+     * @property subscribers
+     * @type Subscriber[]
+     */
+    this.subscribers = [];
+
+    if (!this.silent) {
+        YAHOO.log( "Creating " + this, "info", "Event" );
+    }
+
+    var onsubscribeType = "_YUICEOnSubscribe";
+
+    // Only add subscribe events for events that are not generated by 
+    // CustomEvent
+    if (type !== onsubscribeType) {
+
+        /**
+         * Custom events provide a custom event that fires whenever there is
+         * a new subscriber to the event.  This provides an opportunity to
+         * handle the case where there is a non-repeating event that has
+         * already fired has a new subscriber.  
+         *
+         * @event subscribeEvent
+         * @type YAHOO.util.CustomEvent
+         * @param fn {Function} The function to execute
+         * @param obj <Object> An object to be passed along when the event fires. 
+         * Defaults to the custom event.
+         * @param override <boolean|Object> If true, the obj passed in becomes the 
+         * execution context of the listener. If an object, that object becomes 
+         * the execution context. Defaults to the custom event.
+         */
+        this.subscribeEvent = 
+                new YAHOO.util.CustomEvent(onsubscribeType, this, true);
+
+    } 
+
+
+    /**
+     * In order to make it possible to execute the rest of the subscriber
+     * stack when one thows an exception, the subscribers exceptions are
+     * caught.  The most recent exception is stored in this property
+     * @property lastError
+     * @type Error
+     */
+    this.lastError = null;
+};
+
+/**
+ * Subscriber listener sigature constant.  The LIST type returns three
+ * parameters: the event type, the array of args passed to fire, and
+ * the optional custom object
+ * @property YAHOO.util.CustomEvent.LIST
+ * @static
+ * @type int
+ */
+YAHOO.util.CustomEvent.LIST = 0;
+
+/**
+ * Subscriber listener sigature constant.  The FLAT type returns two
+ * parameters: the first argument passed to fire and the optional 
+ * custom object
+ * @property YAHOO.util.CustomEvent.FLAT
+ * @static
+ * @type int
+ */
+YAHOO.util.CustomEvent.FLAT = 1;
+
+YAHOO.util.CustomEvent.prototype = {
+
+    /**
+     * Subscribes the caller to this event
+     * @method subscribe
+     * @param {Function} fn        The function to execute
+     * @param {Object}   obj       An object to be passed along when the event fires.
+     * overrideContext <boolean|Object> If true, the obj passed in becomes the execution 
+     * context of the listener. If an object, that object becomes the execution context.
+     */
+    subscribe: function(fn, obj, overrideContext) {
+
+        if (!fn) {
+throw new Error("Invalid callback for subscriber to '" + this.type + "'");
+        }
+
+        if (this.subscribeEvent) {
+            this.subscribeEvent.fire(fn, obj, overrideContext);
+        }
+
+        var s = new YAHOO.util.Subscriber(fn, obj, overrideContext);
+
+        if (this.fireOnce && this.fired) {
+            this.notify(s, this.firedWith);
+        } else {
+            this.subscribers.push(s);
+        }
+    },
+
+    /**
+     * Unsubscribes subscribers.
+     * @method unsubscribe
+     * @param {Function} fn  The subscribed function to remove, if not supplied
+     *                       all will be removed
+     * @param {Object}   obj  The custom object passed to subscribe.  This is
+     *                        optional, but if supplied will be used to
+     *                        disambiguate multiple listeners that are the same
+     *                        (e.g., you subscribe many object using a function
+     *                        that lives on the prototype)
+     * @return {boolean} True if the subscriber was found and detached.
+     */
+    unsubscribe: function(fn, obj) {
+
+        if (!fn) {
+            return this.unsubscribeAll();
+        }
+
+        var found = false;
+        for (var i=0, len=this.subscribers.length; i<len; ++i) {
+            var s = this.subscribers[i];
+            if (s && s.contains(fn, obj)) {
+                this._delete(i);
+                found = true;
+            }
+        }
+
+        return found;
+    },
+
+    /**
+     * Notifies the subscribers.  The callback functions will be executed
+     * from the context specified when the event was created, and with the 
+     * following parameters:
+     *   <ul>
+     *   <li>The type of event</li>
+     *   <li>All of the arguments fire() was executed with as an array</li>
+     *   <li>The custom object (if any) that was passed into the subscribe() 
+     *       method</li>
+     *   </ul>
+     * @method fire 
+     * @param {Object*} arguments an arbitrary set of parameters to pass to 
+     *                            the handler.
+     * @return {boolean} false if one of the subscribers returned false, 
+     *                   true otherwise
+     */
+    fire: function() {
+
+        this.lastError = null;
+
+        var errors = [],
+            len=this.subscribers.length;
+
+
+        var args=[].slice.call(arguments, 0), ret=true, i, rebuild=false;
+
+        if (this.fireOnce) {
+            if (this.fired) {
+                YAHOO.log('fireOnce event has already fired: ' + this.type);
+                return true;
+            } else {
+                this.firedWith = args;
+            }
+        }
+
+        this.fired = true;
+
+        if (!len && this.silent) {
+            //YAHOO.log('DEBUG no subscribers');
+            return true;
+        }
+
+        if (!this.silent) {
+            YAHOO.log( "Firing "       + this  + ", " + 
+                       "args: "        + args  + ", " +
+                       "subscribers: " + len,                 
+                       "info", "Event"                  );
+        }
+
+        // make a copy of the subscribers so that there are
+        // no index problems if one subscriber removes another.
+        var subs = this.subscribers.slice();
+
+        for (i=0; i<len; ++i) {
+            var s = subs[i];
+            if (!s) {
+                rebuild=true;
+            } else {
+
+                ret = this.notify(s, args);
+
+                if (false === ret) {
+                    if (!this.silent) {
+                        YAHOO.log("Event stopped, sub " + i + " of " + len, "info", "Event");
+                    }
+
+                    break;
+                }
+            }
+        }
+
+        return (ret !== false);
+    },
+
+    notify: function(s, args) {
+
+        var ret, param=null, scope = s.getScope(this.scope),
+                 throwErrors = YAHOO.util.Event.throwErrors;
+
+        if (!this.silent) {
+            YAHOO.log( this.type + "-> " + s, "info", "Event" );
+        }
+
+        if (this.signature == YAHOO.util.CustomEvent.FLAT) {
+
+            if (args.length > 0) {
+                param = args[0];
+            }
+
+            try {
+                ret = s.fn.call(scope, param, s.obj);
+            } catch(e) {
+                this.lastError = e;
+                // errors.push(e);
+                YAHOO.log(this + " subscriber exception: " + e, "error", "Event");
+                if (throwErrors) {
+                    throw e;
+                }
+            }
+        } else {
+            try {
+                ret = s.fn.call(scope, this.type, args, s.obj);
+            } catch(ex) {
+                this.lastError = ex;
+                YAHOO.log(this + " subscriber exception: " + ex, "error", "Event");
+                if (throwErrors) {
+                    throw ex;
+                }
+            }
+        }
+
+        return ret;
+    },
+
+    /**
+     * Removes all listeners
+     * @method unsubscribeAll
+     * @return {int} The number of listeners unsubscribed
+     */
+    unsubscribeAll: function() {
+        var l = this.subscribers.length, i;
+        for (i=l-1; i>-1; i--) {
+            this._delete(i);
+        }
+
+        this.subscribers=[];
+
+        return l;
+    },
+
+    /**
+     * @method _delete
+     * @private
+     */
+    _delete: function(index) {
+        var s = this.subscribers[index];
+        if (s) {
+            delete s.fn;
+            delete s.obj;
+        }
+
+        // this.subscribers[index]=null;
+        this.subscribers.splice(index, 1);
+    },
+
+    /**
+     * @method toString
+     */
+    toString: function() {
+         return "CustomEvent: " + "'" + this.type  + "', " + 
+             "context: " + this.scope;
+
+    }
+};
+
+/////////////////////////////////////////////////////////////////////
+
+/**
+ * Stores the subscriber information to be used when the event fires.
+ * @param {Function} fn       The function to execute
+ * @param {Object}   obj      An object to be passed along when the event fires
+ * @param {boolean}  overrideContext If true, the obj passed in becomes the execution
+ *                            context of the listener
+ * @class Subscriber
+ * @constructor
+ */
+YAHOO.util.Subscriber = function(fn, obj, overrideContext) {
+
+    /**
+     * The callback that will be execute when the event fires
+     * @property fn
+     * @type function
+     */
+    this.fn = fn;
+
+    /**
+     * An optional custom object that will passed to the callback when
+     * the event fires
+     * @property obj
+     * @type object
+     */
+    this.obj = YAHOO.lang.isUndefined(obj) ? null : obj;
+
+    /**
+     * The default execution context for the event listener is defined when the
+     * event is created (usually the object which contains the event).
+     * By setting overrideContext to true, the execution context becomes the custom
+     * object passed in by the subscriber.  If overrideContext is an object, that 
+     * object becomes the context.
+     * @property overrideContext
+     * @type boolean|object
+     */
+    this.overrideContext = overrideContext;
+
+};
+
+/**
+ * Returns the execution context for this listener.  If overrideContext was set to true
+ * the custom obj will be the context.  If overrideContext is an object, that is the
+ * context, otherwise the default context will be used.
+ * @method getScope
+ * @param {Object} defaultScope the context to use if this listener does not
+ *                              override it.
+ */
+YAHOO.util.Subscriber.prototype.getScope = function(defaultScope) {
+    if (this.overrideContext) {
+        if (this.overrideContext === true) {
+            return this.obj;
+        } else {
+            return this.overrideContext;
+        }
+    }
+    return defaultScope;
+};
+
+/**
+ * Returns true if the fn and obj match this objects properties.
+ * Used by the unsubscribe method to match the right subscriber.
+ *
+ * @method contains
+ * @param {Function} fn the function to execute
+ * @param {Object} obj an object to be passed along when the event fires
+ * @return {boolean} true if the supplied arguments match this 
+ *                   subscriber's signature.
+ */
+YAHOO.util.Subscriber.prototype.contains = function(fn, obj) {
+    if (obj) {
+        return (this.fn == fn && this.obj == obj);
+    } else {
+        return (this.fn == fn);
+    }
+};
+
+/**
+ * @method toString
+ */
+YAHOO.util.Subscriber.prototype.toString = function() {
+    return "Subscriber { obj: " + this.obj  + 
+           ", overrideContext: " +  (this.overrideContext || "no") + " }";
+};
+
+/**
+ * The Event Utility provides utilities for managing DOM Events and tools
+ * for building event systems
+ *
+ * @module event
+ * @title Event Utility
+ * @namespace YAHOO.util
+ * @requires yahoo
+ */
+
+// The first instance of Event will win if it is loaded more than once.
+// @TODO this needs to be changed so that only the state data that needs to
+// be preserved is kept, while methods are overwritten/added as needed.
+// This means that the module pattern can't be used.
+if (!YAHOO.util.Event) {
+
+/**
+ * The event utility provides functions to add and remove event listeners,
+ * event cleansing.  It also tries to automatically remove listeners it
+ * registers during the unload event.
+ *
+ * @class Event
+ * @static
+ */
+    YAHOO.util.Event = function() {
+
+        /**
+         * True after the onload event has fired
+         * @property loadComplete
+         * @type boolean
+         * @static
+         * @private
+         */
+        var loadComplete =  false,
+
+        /**
+         * Cache of wrapped listeners
+         * @property listeners
+         * @type array
+         * @static
+         * @private
+         */
+        listeners = [],
+
+
+        /**
+         * User-defined unload function that will be fired before all events
+         * are detached
+         * @property unloadListeners
+         * @type array
+         * @static
+         * @private
+         */
+        unloadListeners = [],
+
+        /**
+         * The number of times to poll after window.onload.  This number is
+         * increased if additional late-bound handlers are requested after
+         * the page load.
+         * @property retryCount
+         * @static
+         * @private
+         */
+        retryCount = 0,
+
+        /**
+         * onAvailable listeners
+         * @property onAvailStack
+         * @static
+         * @private
+         */
+        onAvailStack = [],
+
+        /**
+         * Counter for auto id generation
+         * @property counter
+         * @static
+         * @private
+         */
+        counter = 0,
+        
+        /**
+         * Normalized keycodes for webkit/safari
+         * @property webkitKeymap
+         * @type {int: int}
+         * @private
+         * @static
+         * @final
+         */
+         webkitKeymap = {
+            63232: 38, // up
+            63233: 40, // down
+            63234: 37, // left
+            63235: 39, // right
+            63276: 33, // page up
+            63277: 34, // page down
+            25: 9      // SHIFT-TAB (Safari provides a different key code in
+                       // this case, even though the shiftKey modifier is set)
+        },
+
+		isIE = YAHOO.env.ua.ie,
+
+        // String constants used by the addFocusListener and removeFocusListener methods
+		
+       	FOCUSIN = "focusin",
+       	FOCUSOUT = "focusout";
+
+        return {
+
+            /**
+             * The number of times we should look for elements that are not
+             * in the DOM at the time the event is requested after the document
+             * has been loaded.  The default is 500@amp;40 ms, so it will poll
+             * for 20 seconds or until all outstanding handlers are bound
+             * (whichever comes first).
+             * @property POLL_RETRYS
+             * @type int
+             * @static
+             * @final
+             */
+            POLL_RETRYS: 500,
+
+            /**
+             * The poll interval in milliseconds
+             * @property POLL_INTERVAL
+             * @type int
+             * @static
+             * @final
+             */
+            POLL_INTERVAL: 40,
+
+            /**
+             * Element to bind, int constant
+             * @property EL
+             * @type int
+             * @static
+             * @final
+             */
+            EL: 0,
+
+            /**
+             * Type of event, int constant
+             * @property TYPE
+             * @type int
+             * @static
+             * @final
+             */
+            TYPE: 1,
+
+            /**
+             * Function to execute, int constant
+             * @property FN
+             * @type int
+             * @static
+             * @final
+             */
+            FN: 2,
+
+            /**
+             * Function wrapped for context correction and cleanup, int constant
+             * @property WFN
+             * @type int
+             * @static
+             * @final
+             */
+            WFN: 3,
+
+            /**
+             * Object passed in by the user that will be returned as a 
+             * parameter to the callback, int constant.  Specific to
+             * unload listeners
+             * @property OBJ
+             * @type int
+             * @static
+             * @final
+             */
+            UNLOAD_OBJ: 3,
+
+            /**
+             * Adjusted context, either the element we are registering the event
+             * on or the custom object passed in by the listener, int constant
+             * @property ADJ_SCOPE
+             * @type int
+             * @static
+             * @final
+             */
+            ADJ_SCOPE: 4,
+
+            /**
+             * The original obj passed into addListener
+             * @property OBJ
+             * @type int
+             * @static
+             * @final
+             */
+            OBJ: 5,
+
+            /**
+             * The original context parameter passed into addListener
+             * @property OVERRIDE
+             * @type int
+             * @static
+             * @final
+             */
+            OVERRIDE: 6,
+
+            /**
+             * The original capture parameter passed into addListener
+             * @property CAPTURE
+             * @type int
+             * @static
+             * @final
+             */
+			CAPTURE: 7,
+
+            /**
+             * addListener/removeListener can throw errors in unexpected scenarios.
+             * These errors are suppressed, the method returns false, and this property
+             * is set
+             * @property lastError
+             * @static
+             * @type Error
+             */
+            lastError: null,
+
+            /**
+             * Safari detection
+             * @property isSafari
+             * @private
+             * @static
+             * @deprecated use YAHOO.env.ua.webkit
+             */
+            isSafari: YAHOO.env.ua.webkit,
+            
+            /**
+             * webkit version
+             * @property webkit
+             * @type string
+             * @private
+             * @static
+             * @deprecated use YAHOO.env.ua.webkit
+             */
+            webkit: YAHOO.env.ua.webkit,
+            
+            /**
+             * IE detection 
+             * @property isIE
+             * @private
+             * @static
+             * @deprecated use YAHOO.env.ua.ie
+             */
+            isIE: isIE,
+
+            /**
+             * poll handle
+             * @property _interval
+             * @static
+             * @private
+             */
+            _interval: null,
+
+            /**
+             * document readystate poll handle
+             * @property _dri
+             * @static
+             * @private
+             */
+             _dri: null,
+
+
+            /**
+             * Map of special event types
+             * @property _specialTypes
+             * @static
+             * @private
+             */
+			_specialTypes: {
+				focusin: (isIE ? "focusin" : "focus"),
+				focusout: (isIE ? "focusout" : "blur")
+			},
+
+
+            /**
+             * True when the document is initially usable
+             * @property DOMReady
+             * @type boolean
+             * @static
+             */
+            DOMReady: false,
+
+            /**
+             * Errors thrown by subscribers of custom events are caught
+             * and the error message is written to the debug console.  If
+             * this property is set to true, it will also re-throw the
+             * error.
+             * @property throwErrors
+             * @type boolean
+             * @default false
+             */
+            throwErrors: false,
+
+
+            /**
+             * @method startInterval
+             * @static
+             * @private
+             */
+            startInterval: function() {
+                if (!this._interval) {
+                    // var self = this;
+                    // var callback = function() { self._tryPreloadAttach(); };
+                    // this._interval = setInterval(callback, this.POLL_INTERVAL);
+                    this._interval = YAHOO.lang.later(this.POLL_INTERVAL, this, this._tryPreloadAttach, null, true);
+                }
+            },
+
+            /**
+             * Executes the supplied callback when the item with the supplied
+             * id is found.  This is meant to be used to execute behavior as
+             * soon as possible as the page loads.  If you use this after the
+             * initial page load it will poll for a fixed time for the element.
+             * The number of times it will poll and the frequency are
+             * configurable.  By default it will poll for 10 seconds.
+             *
+             * <p>The callback is executed with a single parameter:
+             * the custom object parameter, if provided.</p>
+             *
+             * @method onAvailable
+             *
+             * @param {string||string[]}   id the id of the element, or an array
+             * of ids to look for.
+             * @param {function} fn what to execute when the element is found.
+             * @param {object}   obj an optional object to be passed back as
+             *                   a parameter to fn.
+             * @param {boolean|object}  overrideContext If set to true, fn will execute
+             *                   in the context of obj, if set to an object it
+             *                   will execute in the context of that object
+             * @param checkContent {boolean} check child node readiness (onContentReady)
+             * @static
+             */
+            onAvailable: function(id, fn, obj, overrideContext, checkContent) {
+
+                var a = (YAHOO.lang.isString(id)) ? [id] : id;
+
+                for (var i=0; i<a.length; i=i+1) {
+                    onAvailStack.push({id:         a[i], 
+                                       fn:         fn, 
+                                       obj:        obj, 
+                                       overrideContext:   overrideContext, 
+                                       checkReady: checkContent });
+                }
+
+                retryCount = this.POLL_RETRYS;
+
+                this.startInterval();
+            },
+
+            /**
+             * Works the same way as onAvailable, but additionally checks the
+             * state of sibling elements to determine if the content of the
+             * available element is safe to modify.
+             *
+             * <p>The callback is executed with a single parameter:
+             * the custom object parameter, if provided.</p>
+             *
+             * @method onContentReady
+             *
+             * @param {string}   id the id of the element to look for.
+             * @param {function} fn what to execute when the element is ready.
+             * @param {object}   obj an optional object to be passed back as
+             *                   a parameter to fn.
+             * @param {boolean|object}  overrideContext If set to true, fn will execute
+             *                   in the context of obj.  If an object, fn will
+             *                   exectute in the context of that object
+             *
+             * @static
+             */
+            onContentReady: function(id, fn, obj, overrideContext) {
+                this.onAvailable(id, fn, obj, overrideContext, true);
+            },
+
+            /**
+             * Executes the supplied callback when the DOM is first usable.  This
+             * will execute immediately if called after the DOMReady event has
+             * fired.   @todo the DOMContentReady event does not fire when the
+             * script is dynamically injected into the page.  This means the
+             * DOMReady custom event will never fire in FireFox or Opera when the
+             * library is injected.  It _will_ fire in Safari, and the IE 
+             * implementation would allow for us to fire it if the defered script
+             * is not available.  We want this to behave the same in all browsers.
+             * Is there a way to identify when the script has been injected 
+             * instead of included inline?  Is there a way to know whether the 
+             * window onload event has fired without having had a listener attached 
+             * to it when it did so?
+             *
+             * <p>The callback is a CustomEvent, so the signature is:</p>
+             * <p>type &lt;string&gt;, args &lt;array&gt;, customobject &lt;object&gt;</p>
+             * <p>For DOMReady events, there are no fire argments, so the
+             * signature is:</p>
+             * <p>"DOMReady", [], obj</p>
+             *
+             *
+             * @method onDOMReady
+             *
+             * @param {function} fn what to execute when the element is found.
+             * @param {object}   obj an optional object to be passed back as
+             *                   a parameter to fn.
+             * @param {boolean|object}  overrideContext If set to true, fn will execute
+             *                   in the context of obj, if set to an object it
+             *                   will execute in the context of that object
+             *
+             * @static
+             */
+            // onDOMReady: function(fn, obj, overrideContext) {
+            onDOMReady: function() {
+                this.DOMReadyEvent.subscribe.apply(this.DOMReadyEvent, arguments);
+            },
+
+
+            /**
+             * Appends an event handler
+             *
+             * @method _addListener
+             *
+             * @param {String|HTMLElement|Array|NodeList} el An id, an element 
+             *  reference, or a collection of ids and/or elements to assign the 
+             *  listener to.
+             * @param {String}   sType     The type of event to append
+             * @param {Function} fn        The method the event invokes
+             * @param {Object}   obj    An arbitrary object that will be 
+             *                             passed as a parameter to the handler
+             * @param {Boolean|object}  overrideContext  If true, the obj passed in becomes
+             *                             the execution context of the listener. If an
+             *                             object, this object becomes the execution
+             *                             context.
+             * @param {boolen}      capture capture or bubble phase
+             * @return {Boolean} True if the action was successful or defered,
+             *                        false if one or more of the elements 
+             *                        could not have the listener attached,
+             *                        or if the operation throws an exception.
+             * @private
+             * @static
+             */
+            _addListener: function(el, sType, fn, obj, overrideContext, bCapture) {
+
+                if (!fn || !fn.call) {
+                    YAHOO.log(sType + " addListener failed, invalid callback", "error", "Event");
+                    return false;
+                }
+
+                // The el argument can be an array of elements or element ids.
+                if ( this._isValidCollection(el)) {
+                    var ok = true;
+                    for (var i=0,len=el.length; i<len; ++i) {
+                        ok = this.on(el[i], 
+                                       sType, 
+                                       fn, 
+                                       obj, 
+                                       overrideContext) && ok;
+                    }
+                    return ok;
+
+                } else if (YAHOO.lang.isString(el)) {
+                    var oEl = this.getEl(el);
+                    // If the el argument is a string, we assume it is 
+                    // actually the id of the element.  If the page is loaded
+                    // we convert el to the actual element, otherwise we 
+                    // defer attaching the event until onload event fires
+
+                    // check to see if we need to delay hooking up the event 
+                    // until after the page loads.
+                    if (oEl) {
+                        el = oEl;
+                    } else {
+                        // defer adding the event until the element is available
+                        this.onAvailable(el, function() {
+                           YAHOO.util.Event._addListener(el, sType, fn, obj, overrideContext, bCapture);
+                        });
+
+                        return true;
+                    }
+                }
+
+                // Element should be an html element or an array if we get 
+                // here.
+                if (!el) {
+                    // this.logger.debug("unable to attach event " + sType);
+                    return false;
+                }
+
+                // we need to make sure we fire registered unload events 
+                // prior to automatically unhooking them.  So we hang on to 
+                // these instead of attaching them to the window and fire the
+                // handles explicitly during our one unload event.
+                if ("unload" == sType && obj !== this) {
+                    unloadListeners[unloadListeners.length] =
+                            [el, sType, fn, obj, overrideContext];
+                    return true;
+                }
+
+                // this.logger.debug("Adding handler: " + el + ", " + sType);
+
+                // if the user chooses to override the context, we use the custom
+                // object passed in, otherwise the executing context will be the
+                // HTML element that the event is registered on
+                var context = el;
+                if (overrideContext) {
+                    if (overrideContext === true) {
+                        context = obj;
+                    } else {
+                        context = overrideContext;
+                    }
+                }
+
+                // wrap the function so we can return the obj object when
+                // the event fires;
+                var wrappedFn = function(e) {
+                        return fn.call(context, YAHOO.util.Event.getEvent(e, el), 
+                                obj);
+                    };
+
+                var li = [el, sType, fn, wrappedFn, context, obj, overrideContext, bCapture];
+                var index = listeners.length;
+                // cache the listener so we can try to automatically unload
+                listeners[index] = li;
+
+                try {
+                    this._simpleAdd(el, sType, wrappedFn, bCapture);
+                } catch(ex) {
+                    // handle an error trying to attach an event.  If it fails
+                    // we need to clean up the cache
+                    this.lastError = ex;
+                    this.removeListener(el, sType, fn);
+                    return false;
+                }
+
+                return true;
+                
+            },
+
+            /**
+             * Checks to see if the type requested is a special type 
+			 * (as defined by the _specialTypes hash), and (if so) returns 
+			 * the special type name.
+             *
+             * @method _getType
+             *
+             * @param {String}   sType     The type to look up
+             * @private
+             */
+			_getType: function (type) {
+			
+				return this._specialTypes[type] || type;
+				
+			},
+
+
+            /**
+             * Appends an event handler
+             *
+             * @method addListener
+             *
+             * @param {String|HTMLElement|Array|NodeList} el An id, an element 
+             *  reference, or a collection of ids and/or elements to assign the 
+             *  listener to.
+             * @param {String}   sType     The type of event to append
+             * @param {Function} fn        The method the event invokes
+             * @param {Object}   obj    An arbitrary object that will be 
+             *                             passed as a parameter to the handler
+             * @param {Boolean|object}  overrideContext  If true, the obj passed in becomes
+             *                             the execution context of the listener. If an
+             *                             object, this object becomes the execution
+             *                             context.
+             * @return {Boolean} True if the action was successful or defered,
+             *                        false if one or more of the elements 
+             *                        could not have the listener attached,
+             *                        or if the operation throws an exception.
+             * @static
+             */
+            addListener: function (el, sType, fn, obj, overrideContext) {
+
+				var capture = ((sType == FOCUSIN || sType == FOCUSOUT) && !YAHOO.env.ua.ie) ? true : false;
+
+                return this._addListener(el, this._getType(sType), fn, obj, overrideContext, capture);
+
+        	},
+
+
+            /**
+             * Attaches a focusin event listener to the specified element for 
+ 			 * the purpose of listening for the focus event on the element's 
+             * descendants.
+             * @method addFocusListener
+             *
+             * @param {String|HTMLElement|Array|NodeList} el An id, an element 
+             *  reference, or a collection of ids and/or elements to assign the 
+             *  listener to.
+             * @param {Function} fn        The method the event invokes
+             * @param {Object}   obj    An arbitrary object that will be 
+             *                             passed as a parameter to the handler
+             * @param {Boolean|object}  overrideContext  If true, the obj passed in becomes
+             *                             the execution context of the listener. If an
+             *                             object, this object becomes the execution
+             *                             context.
+             * @return {Boolean} True if the action was successful or defered,
+             *                        false if one or more of the elements 
+             *                        could not have the listener attached,
+             *                        or if the operation throws an exception.
+             * @static
+			* @deprecated use YAHOO.util.Event.on and specify "focusin" as the event type.
+             */
+            addFocusListener: function (el, fn, obj, overrideContext) {
+                return this.on(el, FOCUSIN, fn, obj, overrideContext);
+            },          
+
+
+            /**
+             * Removes a focusin event listener to the specified element for 
+			 * the purpose of listening for the focus event on the element's 
+             * descendants.
+             *
+             * @method removeFocusListener
+             *
+             * @param {String|HTMLElement|Array|NodeList} el An id, an element 
+             *  reference, or a collection of ids and/or elements to remove
+             *  the listener from.
+             * @param {Function} fn the method the event invokes.  If fn is
+             *  undefined, then all event handlers for the type of event are 
+             *  removed.
+             * @return {boolean} true if the unbind was successful, false 
+             *  otherwise.
+             * @static
+         	 * @deprecated use YAHOO.util.Event.removeListener and specify "focusin" as the event type.
+             */
+            removeFocusListener: function (el, fn) { 
+                return this.removeListener(el, FOCUSIN, fn);
+            },
+
+            /**
+             * Attaches a focusout event listener to the specified element for 
+			 * the purpose of listening for the blur event on the element's 
+			 * descendants.
+             *
+             * @method addBlurListener
+             *
+             * @param {String|HTMLElement|Array|NodeList} el An id, an element 
+             *  reference, or a collection of ids and/or elements to assign the 
+             *  listener to.
+             * @param {Function} fn        The method the event invokes
+             * @param {Object}   obj    An arbitrary object that will be 
+             *                             passed as a parameter to the handler
+             * @param {Boolean|object}  overrideContext  If true, the obj passed in becomes
+             *                             the execution context of the listener. If an
+             *                             object, this object becomes the execution
+             *                             context.
+             * @return {Boolean} True if the action was successful or defered,
+             *                        false if one or more of the elements 
+             *                        could not have the listener attached,
+             *                        or if the operation throws an exception.
+             * @static
+         	 * @deprecated use YAHOO.util.Event.on and specify "focusout" as the event type.
+             */
+            addBlurListener: function (el, fn, obj, overrideContext) {
+                return this.on(el, FOCUSOUT, fn, obj, overrideContext);
+            },          
+
+            /**
+             * Removes a focusout event listener to the specified element for 
+			 * the purpose of listening for the blur event on the element's 
+			 * descendants.
+             *
+             * @method removeBlurListener
+             *
+             * @param {String|HTMLElement|Array|NodeList} el An id, an element 
+             *  reference, or a collection of ids and/or elements to remove
+             *  the listener from.
+             * @param {Function} fn the method the event invokes.  If fn is
+             *  undefined, then all event handlers for the type of event are 
+             *  removed.
+             * @return {boolean} true if the unbind was successful, false 
+             *  otherwise.
+             * @static
+         	 * @deprecated use YAHOO.util.Event.removeListener and specify "focusout" as the event type.
+             */
+            removeBlurListener: function (el, fn) { 
+                return this.removeListener(el, FOCUSOUT, fn);
+            },
+
+            /**
+             * Removes an event listener
+             *
+             * @method removeListener
+             *
+             * @param {String|HTMLElement|Array|NodeList} el An id, an element 
+             *  reference, or a collection of ids and/or elements to remove
+             *  the listener from.
+             * @param {String} sType the type of event to remove.
+             * @param {Function} fn the method the event invokes.  If fn is
+             *  undefined, then all event handlers for the type of event are 
+             *  removed.
+             * @return {boolean} true if the unbind was successful, false 
+             *  otherwise.
+             * @static
+             */
+            removeListener: function(el, sType, fn) {
+                var i, len, li;
+
+				sType = this._getType(sType);
+
+                // The el argument can be a string
+                if (typeof el == "string") {
+                    el = this.getEl(el);
+                // The el argument can be an array of elements or element ids.
+                } else if ( this._isValidCollection(el)) {
+                    var ok = true;
+                    for (i=el.length-1; i>-1; i--) {
+                        ok = ( this.removeListener(el[i], sType, fn) && ok );
+                    }
+                    return ok;
+                }
+
+                if (!fn || !fn.call) {
+                    // this.logger.debug("Error, function is not valid " + fn);
+                    //return false;
+                    return this.purgeElement(el, false, sType);
+                }
+
+                if ("unload" == sType) {
+
+                    for (i=unloadListeners.length-1; i>-1; i--) {
+                        li = unloadListeners[i];
+                        if (li && 
+                            li[0] == el && 
+                            li[1] == sType && 
+                            li[2] == fn) {
+                                unloadListeners.splice(i, 1);
+                                // unloadListeners[i]=null;
+                                return true;
+                        }
+                    }
+
+                    return false;
+                }
+
+                var cacheItem = null;
+
+                // The index is a hidden parameter; needed to remove it from
+                // the method signature because it was tempting users to
+                // try and take advantage of it, which is not possible.
+                var index = arguments[3];
+  
+                if ("undefined" === typeof index) {
+                    index = this._getCacheIndex(listeners, el, sType, fn);
+                }
+
+                if (index >= 0) {
+                    cacheItem = listeners[index];
+                }
+
+                if (!el || !cacheItem) {
+                    // this.logger.debug("cached listener not found");
+                    return false;
+                }
+
+                // this.logger.debug("Removing handler: " + el + ", " + sType);
+
+				var bCapture = cacheItem[this.CAPTURE] === true ? true : false;
+
+                try {
+                    this._simpleRemove(el, sType, cacheItem[this.WFN], bCapture);
+                } catch(ex) {
+                    this.lastError = ex;
+                    return false;
+                }
+
+                // removed the wrapped handler
+                delete listeners[index][this.WFN];
+                delete listeners[index][this.FN];
+                listeners.splice(index, 1);
+                // listeners[index]=null;
+
+                return true;
+
+            },
+
+            /**
+             * Returns the event's target element.  Safari sometimes provides
+             * a text node, and this is automatically resolved to the text
+             * node's parent so that it behaves like other browsers.
+             * @method getTarget
+             * @param {Event} ev the event
+             * @param {boolean} resolveTextNode when set to true the target's
+             *                  parent will be returned if the target is a 
+             *                  text node.  @deprecated, the text node is
+             *                  now resolved automatically
+             * @return {HTMLElement} the event's target
+             * @static
+             */
+            getTarget: function(ev, resolveTextNode) {
+                var t = ev.target || ev.srcElement;
+                return this.resolveTextNode(t);
+            },
+
+            /**
+             * In some cases, some browsers will return a text node inside
+             * the actual element that was targeted.  This normalizes the
+             * return value for getTarget and getRelatedTarget.
+             * @method resolveTextNode
+             * @param {HTMLElement} node node to resolve
+             * @return {HTMLElement} the normized node
+             * @static
+             */
+            resolveTextNode: function(n) {
+                try {
+                    if (n && 3 == n.nodeType) {
+                        return n.parentNode;
+                    }
+                } catch(e) { }
+
+                return n;
+            },
+
+            /**
+             * Returns the event's pageX
+             * @method getPageX
+             * @param {Event} ev the event
+             * @return {int} the event's pageX
+             * @static
+             */
+            getPageX: function(ev) {
+                var x = ev.pageX;
+                if (!x && 0 !== x) {
+                    x = ev.clientX || 0;
+
+                    if ( this.isIE ) {
+                        x += this._getScrollLeft();
+                    }
+                }
+
+                return x;
+            },
+
+            /**
+             * Returns the event's pageY
+             * @method getPageY
+             * @param {Event} ev the event
+             * @return {int} the event's pageY
+             * @static
+             */
+            getPageY: function(ev) {
+                var y = ev.pageY;
+                if (!y && 0 !== y) {
+                    y = ev.clientY || 0;
+
+                    if ( this.isIE ) {
+                        y += this._getScrollTop();
+                    }
+                }
+
+
+                return y;
+            },
+
+            /**
+             * Returns the pageX and pageY properties as an indexed array.
+             * @method getXY
+             * @param {Event} ev the event
+             * @return {[x, y]} the pageX and pageY properties of the event
+             * @static
+             */
+            getXY: function(ev) {
+                return [this.getPageX(ev), this.getPageY(ev)];
+            },
+
+            /**
+             * Returns the event's related target 
+             * @method getRelatedTarget
+             * @param {Event} ev the event
+             * @return {HTMLElement} the event's relatedTarget
+             * @static
+             */
+            getRelatedTarget: function(ev) {
+                var t = ev.relatedTarget;
+                if (!t) {
+                    if (ev.type == "mouseout") {
+                        t = ev.toElement;
+                    } else if (ev.type == "mouseover") {
+                        t = ev.fromElement;
+                    }
+                }
+
+                return this.resolveTextNode(t);
+            },
+
+            /**
+             * Returns the time of the event.  If the time is not included, the
+             * event is modified using the current time.
+             * @method getTime
+             * @param {Event} ev the event
+             * @return {Date} the time of the event
+             * @static
+             */
+            getTime: function(ev) {
+                if (!ev.time) {
+                    var t = new Date().getTime();
+                    try {
+                        ev.time = t;
+                    } catch(ex) { 
+                        this.lastError = ex;
+                        return t;
+                    }
+                }
+
+                return ev.time;
+            },
+
+            /**
+             * Convenience method for stopPropagation + preventDefault
+             * @method stopEvent
+             * @param {Event} ev the event
+             * @static
+             */
+            stopEvent: function(ev) {
+                this.stopPropagation(ev);
+                this.preventDefault(ev);
+            },
+
+            /**
+             * Stops event propagation
+             * @method stopPropagation
+             * @param {Event} ev the event
+             * @static
+             */
+            stopPropagation: function(ev) {
+                if (ev.stopPropagation) {
+                    ev.stopPropagation();
+                } else {
+                    ev.cancelBubble = true;
+                }
+            },
+
+            /**
+             * Prevents the default behavior of the event
+             * @method preventDefault
+             * @param {Event} ev the event
+             * @static
+             */
+            preventDefault: function(ev) {
+                if (ev.preventDefault) {
+                    ev.preventDefault();
+                } else {
+                    ev.returnValue = false;
+                }
+            },
+             
+            /**
+             * Finds the event in the window object, the caller's arguments, or
+             * in the arguments of another method in the callstack.  This is
+             * executed automatically for events registered through the event
+             * manager, so the implementer should not normally need to execute
+             * this function at all.
+             * @method getEvent
+             * @param {Event} e the event parameter from the handler
+             * @param {HTMLElement} boundEl the element the listener is attached to
+             * @return {Event} the event 
+             * @static
+             */
+            getEvent: function(e, boundEl) {
+                var ev = e || window.event;
+
+                if (!ev) {
+                    var c = this.getEvent.caller;
+                    while (c) {
+                        ev = c.arguments[0];
+                        if (ev && Event == ev.constructor) {
+                            break;
+                        }
+                        c = c.caller;
+                    }
+                }
+
+                return ev;
+            },
+
+            /**
+             * Returns the charcode for an event
+             * @method getCharCode
+             * @param {Event} ev the event
+             * @return {int} the event's charCode
+             * @static
+             */
+            getCharCode: function(ev) {
+                var code = ev.keyCode || ev.charCode || 0;
+
+                // webkit key normalization
+                if (YAHOO.env.ua.webkit && (code in webkitKeymap)) {
+                    code = webkitKeymap[code];
+                }
+                return code;
+            },
+
+            /**
+             * Locating the saved event handler data by function ref
+             *
+             * @method _getCacheIndex
+             * @static
+             * @private
+             */
+            _getCacheIndex: function(a, el, sType, fn) {
+                for (var i=0, l=a.length; i<l; i=i+1) {
+                    var li = a[i];
+                    if ( li                 && 
+                         li[this.FN] == fn  && 
+                         li[this.EL] == el  && 
+                         li[this.TYPE] == sType ) {
+                        return i;
+                    }
+                }
+
+                return -1;
+            },
+
+            /**
+             * Generates an unique ID for the element if it does not already 
+             * have one.
+             * @method generateId
+             * @param el the element to create the id for
+             * @return {string} the resulting id of the element
+             * @static
+             */
+            generateId: function(el) {
+                var id = el.id;
+
+                if (!id) {
+                    id = "yuievtautoid-" + counter;
+                    ++counter;
+                    el.id = id;
+                }
+
+                return id;
+            },
+
+
+            /**
+             * We want to be able to use getElementsByTagName as a collection
+             * to attach a group of events to.  Unfortunately, different 
+             * browsers return different types of collections.  This function
+             * tests to determine if the object is array-like.  It will also 
+             * fail if the object is an array, but is empty.
+             * @method _isValidCollection
+             * @param o the object to test
+             * @return {boolean} true if the object is array-like and populated
+             * @static
+             * @private
+             */
+            _isValidCollection: function(o) {
+                try {
+                    return ( o                     && // o is something
+                             typeof o !== "string" && // o is not a string
+                             o.length              && // o is indexed
+                             !o.tagName            && // o is not an HTML element
+                             !o.alert              && // o is not a window
+                             typeof o[0] !== "undefined" );
+                } catch(ex) {
+                    YAHOO.log("node access error (xframe?)", "warn");
+                    return false;
+                }
+
+            },
+
+            /**
+             * @private
+             * @property elCache
+             * DOM element cache
+             * @static
+             * @deprecated Elements are not cached due to issues that arise when
+             * elements are removed and re-added
+             */
+            elCache: {},
+
+            /**
+             * We cache elements bound by id because when the unload event 
+             * fires, we can no longer use document.getElementById
+             * @method getEl
+             * @static
+             * @private
+             * @deprecated Elements are not cached any longer
+             */
+            getEl: function(id) {
+                return (typeof id === "string") ? document.getElementById(id) : id;
+            },
+
+            /**
+             * Clears the element cache
+             * @deprecated Elements are not cached any longer
+             * @method clearCache
+             * @static
+             * @private
+             */
+            clearCache: function() { },
+
+            /**
+             * Custom event the fires when the dom is initially usable
+             * @event DOMReadyEvent
+             */
+            DOMReadyEvent: new YAHOO.util.CustomEvent("DOMReady", YAHOO, 0, 0, 1),
+
+            /**
+             * hook up any deferred listeners
+             * @method _load
+             * @static
+             * @private
+             */
+            _load: function(e) {
+
+                if (!loadComplete) {
+                    loadComplete = true;
+                    var EU = YAHOO.util.Event;
+
+                    // Just in case DOMReady did not go off for some reason
+                    EU._ready();
+
+                    // Available elements may not have been detected before the
+                    // window load event fires. Try to find them now so that the
+                    // the user is more likely to get the onAvailable notifications
+                    // before the window load notification
+                    EU._tryPreloadAttach();
+
+                }
+            },
+
+            /**
+             * Fires the DOMReady event listeners the first time the document is
+             * usable.
+             * @method _ready
+             * @static
+             * @private
+             */
+            _ready: function(e) {
+                var EU = YAHOO.util.Event;
+                if (!EU.DOMReady) {
+                    EU.DOMReady=true;
+
+                    // Fire the content ready custom event
+                    EU.DOMReadyEvent.fire();
+
+                    // Remove the DOMContentLoaded (FF/Opera)
+                    EU._simpleRemove(document, "DOMContentLoaded", EU._ready);
+                }
+            },
+
+            /**
+             * Polling function that runs before the onload event fires, 
+             * attempting to attach to DOM Nodes as soon as they are 
+             * available
+             * @method _tryPreloadAttach
+             * @static
+             * @private
+             */
+            _tryPreloadAttach: function() {
+
+                if (onAvailStack.length === 0) {
+                    retryCount = 0;
+                    if (this._interval) {
+                        // clearInterval(this._interval);
+                        this._interval.cancel();
+                        this._interval = null;
+                    } 
+                    return;
+                }
+
+                if (this.locked) {
+                    return;
+                }
+
+                if (this.isIE) {
+                    // Hold off if DOMReady has not fired and check current
+                    // readyState to protect against the IE operation aborted
+                    // issue.
+                    if (!this.DOMReady) {
+                        this.startInterval();
+                        return;
+                    }
+                }
+
+                this.locked = true;
+
+                // this.logger.debug("tryPreloadAttach");
+
+                // keep trying until after the page is loaded.  We need to 
+                // check the page load state prior to trying to bind the 
+                // elements so that we can be certain all elements have been 
+                // tested appropriately
+                var tryAgain = !loadComplete;
+                if (!tryAgain) {
+                    tryAgain = (retryCount > 0 && onAvailStack.length > 0);
+                }
+
+                // onAvailable
+                var notAvail = [];
+
+                var executeItem = function (el, item) {
+                    var context = el;
+                    if (item.overrideContext) {
+                        if (item.overrideContext === true) {
+                            context = item.obj;
+                        } else {
+                            context = item.overrideContext;
+                        }
+                    }
+                    item.fn.call(context, item.obj);
+                };
+
+                var i, len, item, el, ready=[];
+
+                // onAvailable onContentReady
+                for (i=0, len=onAvailStack.length; i<len; i=i+1) {
+                    item = onAvailStack[i];
+                    if (item) {
+                        el = this.getEl(item.id);
+                        if (el) {
+                            if (item.checkReady) {
+                                if (loadComplete || el.nextSibling || !tryAgain) {
+                                    ready.push(item);
+                                    onAvailStack[i] = null;
+                                }
+                            } else {
+                                executeItem(el, item);
+                                onAvailStack[i] = null;
+                            }
+                        } else {
+                            notAvail.push(item);
+                        }
+                    }
+                }
+                
+                // make sure onContentReady fires after onAvailable
+                for (i=0, len=ready.length; i<len; i=i+1) {
+                    item = ready[i];
+                    executeItem(this.getEl(item.id), item);
+                }
+
+
+                retryCount--;
+
+                if (tryAgain) {
+                    for (i=onAvailStack.length-1; i>-1; i--) {
+                        item = onAvailStack[i];
+                        if (!item || !item.id) {
+                            onAvailStack.splice(i, 1);
+                        }
+                    }
+
+                    this.startInterval();
+                } else {
+                    if (this._interval) {
+                        // clearInterval(this._interval);
+                        this._interval.cancel();
+                        this._interval = null;
+                    }
+                }
+
+                this.locked = false;
+
+            },
+
+            /**
+             * Removes all listeners attached to the given element via addListener.
+             * Optionally, the node's children can also be purged.
+             * Optionally, you can specify a specific type of event to remove.
+             * @method purgeElement
+             * @param {HTMLElement} el the element to purge
+             * @param {boolean} recurse recursively purge this element's children
+             * as well.  Use with caution.
+             * @param {string} sType optional type of listener to purge. If
+             * left out, all listeners will be removed
+             * @static
+             */
+            purgeElement: function(el, recurse, sType) {
+                var oEl = (YAHOO.lang.isString(el)) ? this.getEl(el) : el;
+                var elListeners = this.getListeners(oEl, sType), i, len;
+                if (elListeners) {
+                    for (i=elListeners.length-1; i>-1; i--) {
+                        var l = elListeners[i];
+                        this.removeListener(oEl, l.type, l.fn);
+                    }
+                }
+
+                if (recurse && oEl && oEl.childNodes) {
+                    for (i=0,len=oEl.childNodes.length; i<len ; ++i) {
+                        this.purgeElement(oEl.childNodes[i], recurse, sType);
+                    }
+                }
+            },
+
+            /**
+             * Returns all listeners attached to the given element via addListener.
+             * Optionally, you can specify a specific type of event to return.
+             * @method getListeners
+             * @param el {HTMLElement|string} the element or element id to inspect 
+             * @param sType {string} optional type of listener to return. If
+             * left out, all listeners will be returned
+             * @return {Object} the listener. Contains the following fields:
+             * &nbsp;&nbsp;type:   (string)   the type of event
+             * &nbsp;&nbsp;fn:     (function) the callback supplied to addListener
+             * &nbsp;&nbsp;obj:    (object)   the custom object supplied to addListener
+             * &nbsp;&nbsp;adjust: (boolean|object)  whether or not to adjust the default context
+             * &nbsp;&nbsp;scope: (boolean)  the derived context based on the adjust parameter
+             * &nbsp;&nbsp;index:  (int)      its position in the Event util listener cache
+             * @static
+             */           
+            getListeners: function(el, sType) {
+                var results=[], searchLists;
+                if (!sType) {
+                    searchLists = [listeners, unloadListeners];
+                } else if (sType === "unload") {
+                    searchLists = [unloadListeners];
+                } else {
+					sType = this._getType(sType);
+                    searchLists = [listeners];
+                }
+
+                var oEl = (YAHOO.lang.isString(el)) ? this.getEl(el) : el;
+
+                for (var j=0;j<searchLists.length; j=j+1) {
+                    var searchList = searchLists[j];
+                    if (searchList) {
+                        for (var i=0,len=searchList.length; i<len ; ++i) {
+                            var l = searchList[i];
+                            if ( l  && l[this.EL] === oEl && 
+                                    (!sType || sType === l[this.TYPE]) ) {
+                                results.push({
+                                    type:   l[this.TYPE],
+                                    fn:     l[this.FN],
+                                    obj:    l[this.OBJ],
+                                    adjust: l[this.OVERRIDE],
+                                    scope:  l[this.ADJ_SCOPE],
+                                    index:  i
+                                });
+                            }
+                        }
+                    }
+                }
+
+                return (results.length) ? results : null;
+            },
+
+            /**
+             * Removes all listeners registered by pe.event.  Called 
+             * automatically during the unload event.
+             * @method _unload
+             * @static
+             * @private
+             */
+            _unload: function(e) {
+
+                var EU = YAHOO.util.Event, i, j, l, len, index,
+                         ul = unloadListeners.slice(), context;
+
+                // execute and clear stored unload listeners
+                for (i=0, len=unloadListeners.length; i<len; ++i) {
+                    l = ul[i];
+                    if (l) {
+                        context = window;
+                        if (l[EU.ADJ_SCOPE]) {
+                            if (l[EU.ADJ_SCOPE] === true) {
+                                context = l[EU.UNLOAD_OBJ];
+                            } else {
+                                context = l[EU.ADJ_SCOPE];
+                            }
+                        }
+                        l[EU.FN].call(context, EU.getEvent(e, l[EU.EL]), l[EU.UNLOAD_OBJ] );
+                        ul[i] = null;
+                    }
+                }
+
+                l = null;
+                context = null;
+                unloadListeners = null;
+
+                // Remove listeners to handle IE memory leaks
+                // 2.5.0 listeners are removed for all browsers again.  FireFox preserves
+                // at least some listeners between page refreshes, potentially causing
+                // errors during page load (mouseover listeners firing before they
+                // should if the user moves the mouse at the correct moment).
+                if (listeners) {
+                    for (j=listeners.length-1; j>-1; j--) {
+                        l = listeners[j];
+                        if (l) {
+                            EU.removeListener(l[EU.EL], l[EU.TYPE], l[EU.FN], j);
+                        } 
+                    }
+                    l=null;
+                }
+
+                EU._simpleRemove(window, "unload", EU._unload);
+
+            },
+
+            /**
+             * Returns scrollLeft
+             * @method _getScrollLeft
+             * @static
+             * @private
+             */
+            _getScrollLeft: function() {
+                return this._getScroll()[1];
+            },
+
+            /**
+             * Returns scrollTop
+             * @method _getScrollTop
+             * @static
+             * @private
+             */
+            _getScrollTop: function() {
+                return this._getScroll()[0];
+            },
+
+            /**
+             * Returns the scrollTop and scrollLeft.  Used to calculate the 
+             * pageX and pageY in Internet Explorer
+             * @method _getScroll
+             * @static
+             * @private
+             */
+            _getScroll: function() {
+                var dd = document.documentElement, db = document.body;
+                if (dd && (dd.scrollTop || dd.scrollLeft)) {
+                    return [dd.scrollTop, dd.scrollLeft];
+                } else if (db) {
+                    return [db.scrollTop, db.scrollLeft];
+                } else {
+                    return [0, 0];
+                }
+            },
+            
+            /**
+             * Used by old versions of CustomEvent, restored for backwards
+             * compatibility
+             * @method regCE
+             * @private
+             * @static
+             * @deprecated still here for backwards compatibility
+             */
+            regCE: function() {},
+
+            /**
+             * Adds a DOM event directly without the caching, cleanup, context adj, etc
+             *
+             * @method _simpleAdd
+             * @param {HTMLElement} el      the element to bind the handler to
+             * @param {string}      sType   the type of event handler
+             * @param {function}    fn      the callback to invoke
+             * @param {boolen}      capture capture or bubble phase
+             * @static
+             * @private
+             */
+            _simpleAdd: function () {
+                if (window.addEventListener) {
+                    return function(el, sType, fn, capture) {
+                        el.addEventListener(sType, fn, (capture));
+                    };
+                } else if (window.attachEvent) {
+                    return function(el, sType, fn, capture) {
+                        el.attachEvent("on" + sType, fn);
+                    };
+                } else {
+                    return function(){};
+                }
+            }(),
+
+            /**
+             * Basic remove listener
+             *
+             * @method _simpleRemove
+             * @param {HTMLElement} el      the element to bind the handler to
+             * @param {string}      sType   the type of event handler
+             * @param {function}    fn      the callback to invoke
+             * @param {boolen}      capture capture or bubble phase
+             * @static
+             * @private
+             */
+            _simpleRemove: function() {
+                if (window.removeEventListener) {
+                    return function (el, sType, fn, capture) {
+                        el.removeEventListener(sType, fn, (capture));
+                    };
+                } else if (window.detachEvent) {
+                    return function (el, sType, fn) {
+                        el.detachEvent("on" + sType, fn);
+                    };
+                } else {
+                    return function(){};
+                }
+            }()
+        };
+
+    }();
+
+    (function() {
+        var EU = YAHOO.util.Event;
+
+        /**
+         * YAHOO.util.Event.on is an alias for addListener
+         * @method on
+         * @see addListener
+         * @static
+         */
+        EU.on = EU.addListener;
+
+        /**
+         * YAHOO.util.Event.onFocus is an alias for addFocusListener
+         * @method onFocus
+         * @see addFocusListener
+         * @static
+		 * @deprecated use YAHOO.util.Event.on and specify "focusin" as the event type.
+         */
+        EU.onFocus = EU.addFocusListener;
+
+        /**
+         * YAHOO.util.Event.onBlur is an alias for addBlurListener
+         * @method onBlur
+         * @see addBlurListener
+         * @static
+		 * @deprecated use YAHOO.util.Event.on and specify "focusout" as the event type.
+         */     
+        EU.onBlur = EU.addBlurListener;
+
+/*! DOMReady: based on work by: Dean Edwards/John Resig/Matthias Miller/Diego Perini */
+
+        // Internet Explorer: use the readyState of a defered script.
+        // This isolates what appears to be a safe moment to manipulate
+        // the DOM prior to when the document's readyState suggests
+        // it is safe to do so.
+        if (EU.isIE) {
+            if (self !== self.top) {
+                document.onreadystatechange = function() {
+                    if (document.readyState == 'complete') {
+                        document.onreadystatechange = null;
+                        EU._ready();
+                    }
+                };
+            } else {
+
+                // Process onAvailable/onContentReady items when the 
+                // DOM is ready.
+                YAHOO.util.Event.onDOMReady(
+                        YAHOO.util.Event._tryPreloadAttach,
+                        YAHOO.util.Event, true);
+                
+                var n = document.createElement('p');  
+
+                EU._dri = setInterval(function() {
+                    try {
+                        // throws an error if doc is not ready
+                        n.doScroll('left');
+                        clearInterval(EU._dri);
+                        EU._dri = null;
+                        EU._ready();
+                        n = null;
+                    } catch (ex) { 
+                    }
+                }, EU.POLL_INTERVAL); 
+            }
+
+        // The document's readyState in Safari currently will
+        // change to loaded/complete before images are loaded.
+        } else if (EU.webkit && EU.webkit < 525) {
+
+            EU._dri = setInterval(function() {
+                var rs=document.readyState;
+                if ("loaded" == rs || "complete" == rs) {
+                    clearInterval(EU._dri);
+                    EU._dri = null;
+                    EU._ready();
+                }
+            }, EU.POLL_INTERVAL); 
+
+        // FireFox and Opera: These browsers provide a event for this
+        // moment.  The latest WebKit releases now support this event.
+        } else {
+
+            EU._simpleAdd(document, "DOMContentLoaded", EU._ready);
+
+        }
+        /////////////////////////////////////////////////////////////
+
+
+        EU._simpleAdd(window, "load", EU._load);
+        EU._simpleAdd(window, "unload", EU._unload);
+        EU._tryPreloadAttach();
+    })();
+
+}
+/**
+ * EventProvider is designed to be used with YAHOO.augment to wrap 
+ * CustomEvents in an interface that allows events to be subscribed to 
+ * and fired by name.  This makes it possible for implementing code to
+ * subscribe to an event that either has not been created yet, or will
+ * not be created at all.
+ *
+ * @Class EventProvider
+ */
+YAHOO.util.EventProvider = function() { };
+
+YAHOO.util.EventProvider.prototype = {
+
+    /**
+     * Private storage of custom events
+     * @property __yui_events
+     * @type Object[]
+     * @private
+     */
+    __yui_events: null,
+
+    /**
+     * Private storage of custom event subscribers
+     * @property __yui_subscribers
+     * @type Object[]
+     * @private
+     */
+    __yui_subscribers: null,
+    
+    /**
+     * Subscribe to a CustomEvent by event type
+     *
+     * @method subscribe
+     * @param p_type     {string}   the type, or name of the event
+     * @param p_fn       {function} the function to exectute when the event fires
+     * @param p_obj      {Object}   An object to be passed along when the event 
+     *                              fires
+     * @param overrideContext {boolean}  If true, the obj passed in becomes the 
+     *                              execution scope of the listener
+     */
+    subscribe: function(p_type, p_fn, p_obj, overrideContext) {
+
+        this.__yui_events = this.__yui_events || {};
+        var ce = this.__yui_events[p_type];
+
+        if (ce) {
+            ce.subscribe(p_fn, p_obj, overrideContext);
+        } else {
+            this.__yui_subscribers = this.__yui_subscribers || {};
+            var subs = this.__yui_subscribers;
+            if (!subs[p_type]) {
+                subs[p_type] = [];
+            }
+            subs[p_type].push(
+                { fn: p_fn, obj: p_obj, overrideContext: overrideContext } );
+        }
+    },
+
+    /**
+     * Unsubscribes one or more listeners the from the specified event
+     * @method unsubscribe
+     * @param p_type {string}   The type, or name of the event.  If the type
+     *                          is not specified, it will attempt to remove
+     *                          the listener from all hosted events.
+     * @param p_fn   {Function} The subscribed function to unsubscribe, if not
+     *                          supplied, all subscribers will be removed.
+     * @param p_obj  {Object}   The custom object passed to subscribe.  This is
+     *                        optional, but if supplied will be used to
+     *                        disambiguate multiple listeners that are the same
+     *                        (e.g., you subscribe many object using a function
+     *                        that lives on the prototype)
+     * @return {boolean} true if the subscriber was found and detached.
+     */
+    unsubscribe: function(p_type, p_fn, p_obj) {
+        this.__yui_events = this.__yui_events || {};
+        var evts = this.__yui_events;
+        if (p_type) {
+            var ce = evts[p_type];
+            if (ce) {
+                return ce.unsubscribe(p_fn, p_obj);
+            }
+        } else {
+            var ret = true;
+            for (var i in evts) {
+                if (YAHOO.lang.hasOwnProperty(evts, i)) {
+                    ret = ret && evts[i].unsubscribe(p_fn, p_obj);
+                }
+            }
+            return ret;
+        }
+
+        return false;
+    },
+    
+    /**
+     * Removes all listeners from the specified event.  If the event type
+     * is not specified, all listeners from all hosted custom events will
+     * be removed.
+     * @method unsubscribeAll
+     * @param p_type {string}   The type, or name of the event
+     */
+    unsubscribeAll: function(p_type) {
+        return this.unsubscribe(p_type);
+    },
+
+    /**
+     * Creates a new custom event of the specified type.  If a custom event
+     * by that name already exists, it will not be re-created.  In either
+     * case the custom event is returned. 
+     *
+     * @method createEvent
+     *
+     * @param p_type {string} the type, or name of the event
+     * @param p_config {object} optional config params.  Valid properties are:
+     *
+     *  <ul>
+     *    <li>
+     *      scope: defines the default execution scope.  If not defined
+     *      the default scope will be this instance.
+     *    </li>
+     *    <li>
+     *      silent: if true, the custom event will not generate log messages.
+     *      This is false by default.
+     *    </li>
+     *    <li>
+     *      fireOnce: if true, the custom event will only notify subscribers
+     *      once regardless of the number of times the event is fired.  In
+     *      addition, new subscribers will be executed immediately if the
+     *      event has already fired.
+     *      This is false by default.
+     *    </li>
+     *    <li>
+     *      onSubscribeCallback: specifies a callback to execute when the
+     *      event has a new subscriber.  This will fire immediately for
+     *      each queued subscriber if any exist prior to the creation of
+     *      the event.
+     *    </li>
+     *  </ul>
+     *
+     *  @return {CustomEvent} the custom event
+     *
+     */
+    createEvent: function(p_type, p_config) {
+
+        this.__yui_events = this.__yui_events || {};
+        var opts = p_config || {},
+            events = this.__yui_events, ce;
+
+        if (events[p_type]) {
+YAHOO.log("EventProvider createEvent skipped: '"+p_type+"' already exists");
+        } else {
+
+            ce = new YAHOO.util.CustomEvent(p_type, opts.scope || this, opts.silent,
+                         YAHOO.util.CustomEvent.FLAT, opts.fireOnce);
+
+            events[p_type] = ce;
+
+            if (opts.onSubscribeCallback) {
+                ce.subscribeEvent.subscribe(opts.onSubscribeCallback);
+            }
+
+            this.__yui_subscribers = this.__yui_subscribers || {};
+            var qs = this.__yui_subscribers[p_type];
+
+            if (qs) {
+                for (var i=0; i<qs.length; ++i) {
+                    ce.subscribe(qs[i].fn, qs[i].obj, qs[i].overrideContext);
+                }
+            }
+        }
+
+        return events[p_type];
+    },
+
+
+   /**
+     * Fire a custom event by name.  The callback functions will be executed
+     * from the scope specified when the event was created, and with the 
+     * following parameters:
+     *   <ul>
+     *   <li>The first argument fire() was executed with</li>
+     *   <li>The custom object (if any) that was passed into the subscribe() 
+     *       method</li>
+     *   </ul>
+     * @method fireEvent
+     * @param p_type    {string}  the type, or name of the event
+     * @param arguments {Object*} an arbitrary set of parameters to pass to 
+     *                            the handler.
+     * @return {boolean} the return value from CustomEvent.fire
+     *                   
+     */
+    fireEvent: function(p_type) {
+
+        this.__yui_events = this.__yui_events || {};
+        var ce = this.__yui_events[p_type];
+
+        if (!ce) {
+YAHOO.log(p_type + "event fired before it was created.");
+            return null;
+        }
+
+        var args = [];
+        for (var i=1; i<arguments.length; ++i) {
+            args.push(arguments[i]);
+        }
+        return ce.fire.apply(ce, args);
+    },
+
+    /**
+     * Returns true if the custom event of the provided type has been created
+     * with createEvent.
+     * @method hasEvent
+     * @param type {string} the type, or name of the event
+     */
+    hasEvent: function(type) {
+        if (this.__yui_events) {
+            if (this.__yui_events[type]) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+};
+
+(function() {
+
+    var Event = YAHOO.util.Event, Lang = YAHOO.lang;
+
+/**
+* KeyListener is a utility that provides an easy interface for listening for
+* keydown/keyup events fired against DOM elements.
+* @namespace YAHOO.util
+* @class KeyListener
+* @constructor
+* @param {HTMLElement} attachTo The element or element ID to which the key 
+*                               event should be attached
+* @param {String}      attachTo The element or element ID to which the key
+*                               event should be attached
+* @param {Object}      keyData  The object literal representing the key(s) 
+*                               to detect. Possible attributes are 
+*                               shift(boolean), alt(boolean), ctrl(boolean) 
+*                               and keys(either an int or an array of ints 
+*                               representing keycodes).
+* @param {Function}    handler  The CustomEvent handler to fire when the 
+*                               key event is detected
+* @param {Object}      handler  An object literal representing the handler. 
+* @param {String}      event    Optional. The event (keydown or keyup) to 
+*                               listen for. Defaults automatically to keydown.
+*
+* @knownissue the "keypress" event is completely broken in Safari 2.x and below.
+*             the workaround is use "keydown" for key listening.  However, if
+*             it is desired to prevent the default behavior of the keystroke,
+*             that can only be done on the keypress event.  This makes key
+*             handling quite ugly.
+* @knownissue keydown is also broken in Safari 2.x and below for the ESC key.
+*             There currently is no workaround other than choosing another
+*             key to listen for.
+*/
+YAHOO.util.KeyListener = function(attachTo, keyData, handler, event) {
+    if (!attachTo) {
+        YAHOO.log("No attachTo element specified", "error");
+    } else if (!keyData) {
+        YAHOO.log("No keyData specified", "error");
+    } else if (!handler) {
+        YAHOO.log("No handler specified", "error");
+    } 
+    
+    if (!event) {
+        event = YAHOO.util.KeyListener.KEYDOWN;
+    }
+
+    /**
+    * The CustomEvent fired internally when a key is pressed
+    * @event keyEvent
+    * @private
+    * @param {Object} keyData The object literal representing the key(s) to 
+    *                         detect. Possible attributes are shift(boolean), 
+    *                         alt(boolean), ctrl(boolean) and keys(either an 
+    *                         int or an array of ints representing keycodes).
+    */
+    var keyEvent = new YAHOO.util.CustomEvent("keyPressed");
+    
+    /**
+    * The CustomEvent fired when the KeyListener is enabled via the enable() 
+    * function
+    * @event enabledEvent
+    * @param {Object} keyData The object literal representing the key(s) to 
+    *                         detect. Possible attributes are shift(boolean), 
+    *                         alt(boolean), ctrl(boolean) and keys(either an 
+    *                         int or an array of ints representing keycodes).
+    */
+    this.enabledEvent = new YAHOO.util.CustomEvent("enabled");
+
+    /**
+    * The CustomEvent fired when the KeyListener is disabled via the 
+    * disable() function
+    * @event disabledEvent
+    * @param {Object} keyData The object literal representing the key(s) to 
+    *                         detect. Possible attributes are shift(boolean), 
+    *                         alt(boolean), ctrl(boolean) and keys(either an 
+    *                         int or an array of ints representing keycodes).
+    */
+    this.disabledEvent = new YAHOO.util.CustomEvent("disabled");
+
+    if (Lang.isString(attachTo)) {
+        attachTo = document.getElementById(attachTo); // No Dom util
+    }
+
+    if (Lang.isFunction(handler)) {
+        keyEvent.subscribe(handler);
+    } else {
+        keyEvent.subscribe(handler.fn, handler.scope, handler.correctScope);
+    }
+
+    /**
+    * Handles the key event when a key is pressed.
+    * @method handleKeyPress
+    * @param {DOMEvent} e   The keypress DOM event
+    * @param {Object}   obj The DOM event scope object
+    * @private
+    */
+    function handleKeyPress(e, obj) {
+        if (! keyData.shift) {  
+            keyData.shift = false; 
+        }
+        if (! keyData.alt) {    
+            keyData.alt = false;
+        }
+        if (! keyData.ctrl) {
+            keyData.ctrl = false;
+        }
+
+        // check held down modifying keys first
+        if (e.shiftKey == keyData.shift && 
+            e.altKey   == keyData.alt &&
+            e.ctrlKey  == keyData.ctrl) { // if we pass this, all modifiers match
+            
+            var dataItem, keys = keyData.keys, key;
+
+            if (YAHOO.lang.isArray(keys)) {
+                for (var i=0;i<keys.length;i++) {
+                    dataItem = keys[i];
+                    key = Event.getCharCode(e);
+
+                    if (dataItem == key) {
+                        keyEvent.fire(key, e);
+                        break;
+                    }
+                }
+            } else {
+                key = Event.getCharCode(e);
+                if (keys == key ) {
+                    keyEvent.fire(key, e);
+                }
+            }
+        }
+    }
+
+    /**
+    * Enables the KeyListener by attaching the DOM event listeners to the 
+    * target DOM element
+    * @method enable
+    */
+    this.enable = function() {
+        if (! this.enabled) {
+            Event.on(attachTo, event, handleKeyPress);
+            this.enabledEvent.fire(keyData);
+        }
+        /**
+        * Boolean indicating the enabled/disabled state of the Tooltip
+        * @property enabled
+        * @type Boolean
+        */
+        this.enabled = true;
+    };
+
+    /**
+    * Disables the KeyListener by removing the DOM event listeners from the 
+    * target DOM element
+    * @method disable
+    */
+    this.disable = function() {
+        if (this.enabled) {
+            Event.removeListener(attachTo, event, handleKeyPress);
+            this.disabledEvent.fire(keyData);
+        }
+        this.enabled = false;
+    };
+
+    /**
+    * Returns a String representation of the object.
+    * @method toString
+    * @return {String}  The string representation of the KeyListener
+    */ 
+    this.toString = function() {
+        return "KeyListener [" + keyData.keys + "] " + attachTo.tagName + 
+                (attachTo.id ? "[" + attachTo.id + "]" : "");
+    };
+
+};
+
+var KeyListener = YAHOO.util.KeyListener;
+
+/**
+ * Constant representing the DOM "keydown" event.
+ * @property YAHOO.util.KeyListener.KEYDOWN
+ * @static
+ * @final
+ * @type String
+ */
+KeyListener.KEYDOWN = "keydown";
+
+/**
+ * Constant representing the DOM "keyup" event.
+ * @property YAHOO.util.KeyListener.KEYUP
+ * @static
+ * @final
+ * @type String
+ */
+KeyListener.KEYUP = "keyup";
+
+/**
+ * keycode constants for a subset of the special keys
+ * @property KEY
+ * @static
+ * @final
+ */
+KeyListener.KEY = {
+    ALT          : 18,
+    BACK_SPACE   : 8,
+    CAPS_LOCK    : 20,
+    CONTROL      : 17,
+    DELETE       : 46,
+    DOWN         : 40,
+    END          : 35,
+    ENTER        : 13,
+    ESCAPE       : 27,
+    HOME         : 36,
+    LEFT         : 37,
+    META         : 224,
+    NUM_LOCK     : 144,
+    PAGE_DOWN    : 34,
+    PAGE_UP      : 33, 
+    PAUSE        : 19,
+    PRINTSCREEN  : 44,
+    RIGHT        : 39,
+    SCROLL_LOCK  : 145,
+    SHIFT        : 16,
+    SPACE        : 32,
+    TAB          : 9,
+    UP           : 38
+};
+
+})();
+YAHOO.register("event", YAHOO.util.Event, {version: "2.8.0r4", build: "2449"});

Property changes on: tags/2.8.2/wb/include/yui/event/event-debug.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/yui/event/event.js
===================================================================
--- tags/2.8.2/wb/include/yui/event/event.js	(nonexistent)
+++ tags/2.8.2/wb/include/yui/event/event.js	(revision 1481)
@@ -0,0 +1,2500 @@
+/*
+Copyright (c) 2009, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.8.0r4
+*/
+
+/**
+ * The CustomEvent class lets you define events for your application
+ * that can be subscribed to by one or more independent component.
+ *
+ * @param {String}  type The type of event, which is passed to the callback
+ *                  when the event fires
+ * @param {Object}  context The context the event will fire from.  "this" will
+ *                  refer to this object in the callback.  Default value: 
+ *                  the window object.  The listener can override this.
+ * @param {boolean} silent pass true to prevent the event from writing to
+ *                  the debugsystem
+ * @param {int}     signature the signature that the custom event subscriber
+ *                  will receive. YAHOO.util.CustomEvent.LIST or 
+ *                  YAHOO.util.CustomEvent.FLAT.  The default is
+ *                  YAHOO.util.CustomEvent.LIST.
+ * @param fireOnce {boolean} If configured to fire once, the custom event 
+ * will only notify subscribers a single time regardless of how many times 
+ * the event is fired.  In addition, new subscribers will be notified 
+ * immediately if the event has already been fired.
+ * @namespace YAHOO.util
+ * @class CustomEvent
+ * @constructor
+ */
+YAHOO.util.CustomEvent = function(type, context, silent, signature, fireOnce) {
+
+    /**
+     * The type of event, returned to subscribers when the event fires
+     * @property type
+     * @type string
+     */
+    this.type = type;
+
+    /**
+     * The context the event will fire from by default. Defaults to the window obj.
+     * @property scope
+     * @type object
+     */
+    this.scope = context || window;
+
+    /**
+     * By default all custom events are logged in the debug build. Set silent to true 
+     * to disable debug output for this event.
+     * @property silent
+     * @type boolean
+     */
+    this.silent = silent;
+
+    /**
+     * If configured to fire once, the custom event will only notify subscribers
+     * a single time regardless of how many times the event is fired.  In addition,
+     * new subscribers will be notified immediately if the event has already been
+     * fired.
+     * @property fireOnce
+     * @type boolean
+     * @default false
+     */
+    this.fireOnce = fireOnce;
+
+    /**
+     * Indicates whether or not this event has ever been fired.
+     * @property fired
+     * @type boolean
+     * @default false
+     */
+    this.fired = false;
+
+    /**
+     * For fireOnce events the arguments the event was fired with are stored
+     * so that new subscribers get the proper payload.
+     * @property firedWith
+     * @type Array
+     */
+    this.firedWith = null;
+
+    /**
+     * Custom events support two styles of arguments provided to the event
+     * subscribers.  
+     * <ul>
+     * <li>YAHOO.util.CustomEvent.LIST: 
+     *   <ul>
+     *   <li>param1: event name</li>
+     *   <li>param2: array of arguments sent to fire</li>
+     *   <li>param3: <optional> a custom object supplied by the subscriber</li>
+     *   </ul>
+     * </li>
+     * <li>YAHOO.util.CustomEvent.FLAT
+     *   <ul>
+     *   <li>param1: the first argument passed to fire.  If you need to
+     *           pass multiple parameters, use and array or object literal</li>
+     *   <li>param2: <optional> a custom object supplied by the subscriber</li>
+     *   </ul>
+     * </li>
+     * </ul>
+     *   @property signature
+     *   @type int
+     */
+    this.signature = signature || YAHOO.util.CustomEvent.LIST;
+
+    /**
+     * The subscribers to this event
+     * @property subscribers
+     * @type Subscriber[]
+     */
+    this.subscribers = [];
+
+    if (!this.silent) {
+    }
+
+    var onsubscribeType = "_YUICEOnSubscribe";
+
+    // Only add subscribe events for events that are not generated by 
+    // CustomEvent
+    if (type !== onsubscribeType) {
+
+        /**
+         * Custom events provide a custom event that fires whenever there is
+         * a new subscriber to the event.  This provides an opportunity to
+         * handle the case where there is a non-repeating event that has
+         * already fired has a new subscriber.  
+         *
+         * @event subscribeEvent
+         * @type YAHOO.util.CustomEvent
+         * @param fn {Function} The function to execute
+         * @param obj <Object> An object to be passed along when the event fires. 
+         * Defaults to the custom event.
+         * @param override <boolean|Object> If true, the obj passed in becomes the 
+         * execution context of the listener. If an object, that object becomes 
+         * the execution context. Defaults to the custom event.
+         */
+        this.subscribeEvent = 
+                new YAHOO.util.CustomEvent(onsubscribeType, this, true);
+
+    } 
+
+
+    /**
+     * In order to make it possible to execute the rest of the subscriber
+     * stack when one thows an exception, the subscribers exceptions are
+     * caught.  The most recent exception is stored in this property
+     * @property lastError
+     * @type Error
+     */
+    this.lastError = null;
+};
+
+/**
+ * Subscriber listener sigature constant.  The LIST type returns three
+ * parameters: the event type, the array of args passed to fire, and
+ * the optional custom object
+ * @property YAHOO.util.CustomEvent.LIST
+ * @static
+ * @type int
+ */
+YAHOO.util.CustomEvent.LIST = 0;
+
+/**
+ * Subscriber listener sigature constant.  The FLAT type returns two
+ * parameters: the first argument passed to fire and the optional 
+ * custom object
+ * @property YAHOO.util.CustomEvent.FLAT
+ * @static
+ * @type int
+ */
+YAHOO.util.CustomEvent.FLAT = 1;
+
+YAHOO.util.CustomEvent.prototype = {
+
+    /**
+     * Subscribes the caller to this event
+     * @method subscribe
+     * @param {Function} fn        The function to execute
+     * @param {Object}   obj       An object to be passed along when the event fires.
+     * overrideContext <boolean|Object> If true, the obj passed in becomes the execution 
+     * context of the listener. If an object, that object becomes the execution context.
+     */
+    subscribe: function(fn, obj, overrideContext) {
+
+        if (!fn) {
+throw new Error("Invalid callback for subscriber to '" + this.type + "'");
+        }
+
+        if (this.subscribeEvent) {
+            this.subscribeEvent.fire(fn, obj, overrideContext);
+        }
+
+        var s = new YAHOO.util.Subscriber(fn, obj, overrideContext);
+
+        if (this.fireOnce && this.fired) {
+            this.notify(s, this.firedWith);
+        } else {
+            this.subscribers.push(s);
+        }
+    },
+
+    /**
+     * Unsubscribes subscribers.
+     * @method unsubscribe
+     * @param {Function} fn  The subscribed function to remove, if not supplied
+     *                       all will be removed
+     * @param {Object}   obj  The custom object passed to subscribe.  This is
+     *                        optional, but if supplied will be used to
+     *                        disambiguate multiple listeners that are the same
+     *                        (e.g., you subscribe many object using a function
+     *                        that lives on the prototype)
+     * @return {boolean} True if the subscriber was found and detached.
+     */
+    unsubscribe: function(fn, obj) {
+
+        if (!fn) {
+            return this.unsubscribeAll();
+        }
+
+        var found = false;
+        for (var i=0, len=this.subscribers.length; i<len; ++i) {
+            var s = this.subscribers[i];
+            if (s && s.contains(fn, obj)) {
+                this._delete(i);
+                found = true;
+            }
+        }
+
+        return found;
+    },
+
+    /**
+     * Notifies the subscribers.  The callback functions will be executed
+     * from the context specified when the event was created, and with the 
+     * following parameters:
+     *   <ul>
+     *   <li>The type of event</li>
+     *   <li>All of the arguments fire() was executed with as an array</li>
+     *   <li>The custom object (if any) that was passed into the subscribe() 
+     *       method</li>
+     *   </ul>
+     * @method fire 
+     * @param {Object*} arguments an arbitrary set of parameters to pass to 
+     *                            the handler.
+     * @return {boolean} false if one of the subscribers returned false, 
+     *                   true otherwise
+     */
+    fire: function() {
+
+        this.lastError = null;
+
+        var errors = [],
+            len=this.subscribers.length;
+
+
+        var args=[].slice.call(arguments, 0), ret=true, i, rebuild=false;
+
+        if (this.fireOnce) {
+            if (this.fired) {
+                return true;
+            } else {
+                this.firedWith = args;
+            }
+        }
+
+        this.fired = true;
+
+        if (!len && this.silent) {
+            return true;
+        }
+
+        if (!this.silent) {
+        }
+
+        // make a copy of the subscribers so that there are
+        // no index problems if one subscriber removes another.
+        var subs = this.subscribers.slice();
+
+        for (i=0; i<len; ++i) {
+            var s = subs[i];
+            if (!s) {
+                rebuild=true;
+            } else {
+
+                ret = this.notify(s, args);
+
+                if (false === ret) {
+                    if (!this.silent) {
+                    }
+
+                    break;
+                }
+            }
+        }
+
+        return (ret !== false);
+    },
+
+    notify: function(s, args) {
+
+        var ret, param=null, scope = s.getScope(this.scope),
+                 throwErrors = YAHOO.util.Event.throwErrors;
+
+        if (!this.silent) {
+        }
+
+        if (this.signature == YAHOO.util.CustomEvent.FLAT) {
+
+            if (args.length > 0) {
+                param = args[0];
+            }
+
+            try {
+                ret = s.fn.call(scope, param, s.obj);
+            } catch(e) {
+                this.lastError = e;
+                // errors.push(e);
+                if (throwErrors) {
+                    throw e;
+                }
+            }
+        } else {
+            try {
+                ret = s.fn.call(scope, this.type, args, s.obj);
+            } catch(ex) {
+                this.lastError = ex;
+                if (throwErrors) {
+                    throw ex;
+                }
+            }
+        }
+
+        return ret;
+    },
+
+    /**
+     * Removes all listeners
+     * @method unsubscribeAll
+     * @return {int} The number of listeners unsubscribed
+     */
+    unsubscribeAll: function() {
+        var l = this.subscribers.length, i;
+        for (i=l-1; i>-1; i--) {
+            this._delete(i);
+        }
+
+        this.subscribers=[];
+
+        return l;
+    },
+
+    /**
+     * @method _delete
+     * @private
+     */
+    _delete: function(index) {
+        var s = this.subscribers[index];
+        if (s) {
+            delete s.fn;
+            delete s.obj;
+        }
+
+        // this.subscribers[index]=null;
+        this.subscribers.splice(index, 1);
+    },
+
+    /**
+     * @method toString
+     */
+    toString: function() {
+         return "CustomEvent: " + "'" + this.type  + "', " + 
+             "context: " + this.scope;
+
+    }
+};
+
+/////////////////////////////////////////////////////////////////////
+
+/**
+ * Stores the subscriber information to be used when the event fires.
+ * @param {Function} fn       The function to execute
+ * @param {Object}   obj      An object to be passed along when the event fires
+ * @param {boolean}  overrideContext If true, the obj passed in becomes the execution
+ *                            context of the listener
+ * @class Subscriber
+ * @constructor
+ */
+YAHOO.util.Subscriber = function(fn, obj, overrideContext) {
+
+    /**
+     * The callback that will be execute when the event fires
+     * @property fn
+     * @type function
+     */
+    this.fn = fn;
+
+    /**
+     * An optional custom object that will passed to the callback when
+     * the event fires
+     * @property obj
+     * @type object
+     */
+    this.obj = YAHOO.lang.isUndefined(obj) ? null : obj;
+
+    /**
+     * The default execution context for the event listener is defined when the
+     * event is created (usually the object which contains the event).
+     * By setting overrideContext to true, the execution context becomes the custom
+     * object passed in by the subscriber.  If overrideContext is an object, that 
+     * object becomes the context.
+     * @property overrideContext
+     * @type boolean|object
+     */
+    this.overrideContext = overrideContext;
+
+};
+
+/**
+ * Returns the execution context for this listener.  If overrideContext was set to true
+ * the custom obj will be the context.  If overrideContext is an object, that is the
+ * context, otherwise the default context will be used.
+ * @method getScope
+ * @param {Object} defaultScope the context to use if this listener does not
+ *                              override it.
+ */
+YAHOO.util.Subscriber.prototype.getScope = function(defaultScope) {
+    if (this.overrideContext) {
+        if (this.overrideContext === true) {
+            return this.obj;
+        } else {
+            return this.overrideContext;
+        }
+    }
+    return defaultScope;
+};
+
+/**
+ * Returns true if the fn and obj match this objects properties.
+ * Used by the unsubscribe method to match the right subscriber.
+ *
+ * @method contains
+ * @param {Function} fn the function to execute
+ * @param {Object} obj an object to be passed along when the event fires
+ * @return {boolean} true if the supplied arguments match this 
+ *                   subscriber's signature.
+ */
+YAHOO.util.Subscriber.prototype.contains = function(fn, obj) {
+    if (obj) {
+        return (this.fn == fn && this.obj == obj);
+    } else {
+        return (this.fn == fn);
+    }
+};
+
+/**
+ * @method toString
+ */
+YAHOO.util.Subscriber.prototype.toString = function() {
+    return "Subscriber { obj: " + this.obj  + 
+           ", overrideContext: " +  (this.overrideContext || "no") + " }";
+};
+
+/**
+ * The Event Utility provides utilities for managing DOM Events and tools
+ * for building event systems
+ *
+ * @module event
+ * @title Event Utility
+ * @namespace YAHOO.util
+ * @requires yahoo
+ */
+
+// The first instance of Event will win if it is loaded more than once.
+// @TODO this needs to be changed so that only the state data that needs to
+// be preserved is kept, while methods are overwritten/added as needed.
+// This means that the module pattern can't be used.
+if (!YAHOO.util.Event) {
+
+/**
+ * The event utility provides functions to add and remove event listeners,
+ * event cleansing.  It also tries to automatically remove listeners it
+ * registers during the unload event.
+ *
+ * @class Event
+ * @static
+ */
+    YAHOO.util.Event = function() {
+
+        /**
+         * True after the onload event has fired
+         * @property loadComplete
+         * @type boolean
+         * @static
+         * @private
+         */
+        var loadComplete =  false,
+
+        /**
+         * Cache of wrapped listeners
+         * @property listeners
+         * @type array
+         * @static
+         * @private
+         */
+        listeners = [],
+
+
+        /**
+         * User-defined unload function that will be fired before all events
+         * are detached
+         * @property unloadListeners
+         * @type array
+         * @static
+         * @private
+         */
+        unloadListeners = [],
+
+        /**
+         * The number of times to poll after window.onload.  This number is
+         * increased if additional late-bound handlers are requested after
+         * the page load.
+         * @property retryCount
+         * @static
+         * @private
+         */
+        retryCount = 0,
+
+        /**
+         * onAvailable listeners
+         * @property onAvailStack
+         * @static
+         * @private
+         */
+        onAvailStack = [],
+
+        /**
+         * Counter for auto id generation
+         * @property counter
+         * @static
+         * @private
+         */
+        counter = 0,
+        
+        /**
+         * Normalized keycodes for webkit/safari
+         * @property webkitKeymap
+         * @type {int: int}
+         * @private
+         * @static
+         * @final
+         */
+         webkitKeymap = {
+            63232: 38, // up
+            63233: 40, // down
+            63234: 37, // left
+            63235: 39, // right
+            63276: 33, // page up
+            63277: 34, // page down
+            25: 9      // SHIFT-TAB (Safari provides a different key code in
+                       // this case, even though the shiftKey modifier is set)
+        },
+
+		isIE = YAHOO.env.ua.ie,
+
+        // String constants used by the addFocusListener and removeFocusListener methods
+		
+       	FOCUSIN = "focusin",
+       	FOCUSOUT = "focusout";
+
+        return {
+
+            /**
+             * The number of times we should look for elements that are not
+             * in the DOM at the time the event is requested after the document
+             * has been loaded.  The default is 500@amp;40 ms, so it will poll
+             * for 20 seconds or until all outstanding handlers are bound
+             * (whichever comes first).
+             * @property POLL_RETRYS
+             * @type int
+             * @static
+             * @final
+             */
+            POLL_RETRYS: 500,
+
+            /**
+             * The poll interval in milliseconds
+             * @property POLL_INTERVAL
+             * @type int
+             * @static
+             * @final
+             */
+            POLL_INTERVAL: 40,
+
+            /**
+             * Element to bind, int constant
+             * @property EL
+             * @type int
+             * @static
+             * @final
+             */
+            EL: 0,
+
+            /**
+             * Type of event, int constant
+             * @property TYPE
+             * @type int
+             * @static
+             * @final
+             */
+            TYPE: 1,
+
+            /**
+             * Function to execute, int constant
+             * @property FN
+             * @type int
+             * @static
+             * @final
+             */
+            FN: 2,
+
+            /**
+             * Function wrapped for context correction and cleanup, int constant
+             * @property WFN
+             * @type int
+             * @static
+             * @final
+             */
+            WFN: 3,
+
+            /**
+             * Object passed in by the user that will be returned as a 
+             * parameter to the callback, int constant.  Specific to
+             * unload listeners
+             * @property OBJ
+             * @type int
+             * @static
+             * @final
+             */
+            UNLOAD_OBJ: 3,
+
+            /**
+             * Adjusted context, either the element we are registering the event
+             * on or the custom object passed in by the listener, int constant
+             * @property ADJ_SCOPE
+             * @type int
+             * @static
+             * @final
+             */
+            ADJ_SCOPE: 4,
+
+            /**
+             * The original obj passed into addListener
+             * @property OBJ
+             * @type int
+             * @static
+             * @final
+             */
+            OBJ: 5,
+
+            /**
+             * The original context parameter passed into addListener
+             * @property OVERRIDE
+             * @type int
+             * @static
+             * @final
+             */
+            OVERRIDE: 6,
+
+            /**
+             * The original capture parameter passed into addListener
+             * @property CAPTURE
+             * @type int
+             * @static
+             * @final
+             */
+			CAPTURE: 7,
+
+            /**
+             * addListener/removeListener can throw errors in unexpected scenarios.
+             * These errors are suppressed, the method returns false, and this property
+             * is set
+             * @property lastError
+             * @static
+             * @type Error
+             */
+            lastError: null,
+
+            /**
+             * Safari detection
+             * @property isSafari
+             * @private
+             * @static
+             * @deprecated use YAHOO.env.ua.webkit
+             */
+            isSafari: YAHOO.env.ua.webkit,
+            
+            /**
+             * webkit version
+             * @property webkit
+             * @type string
+             * @private
+             * @static
+             * @deprecated use YAHOO.env.ua.webkit
+             */
+            webkit: YAHOO.env.ua.webkit,
+            
+            /**
+             * IE detection 
+             * @property isIE
+             * @private
+             * @static
+             * @deprecated use YAHOO.env.ua.ie
+             */
+            isIE: isIE,
+
+            /**
+             * poll handle
+             * @property _interval
+             * @static
+             * @private
+             */
+            _interval: null,
+
+            /**
+             * document readystate poll handle
+             * @property _dri
+             * @static
+             * @private
+             */
+             _dri: null,
+
+
+            /**
+             * Map of special event types
+             * @property _specialTypes
+             * @static
+             * @private
+             */
+			_specialTypes: {
+				focusin: (isIE ? "focusin" : "focus"),
+				focusout: (isIE ? "focusout" : "blur")
+			},
+
+
+            /**
+             * True when the document is initially usable
+             * @property DOMReady
+             * @type boolean
+             * @static
+             */
+            DOMReady: false,
+
+            /**
+             * Errors thrown by subscribers of custom events are caught
+             * and the error message is written to the debug console.  If
+             * this property is set to true, it will also re-throw the
+             * error.
+             * @property throwErrors
+             * @type boolean
+             * @default false
+             */
+            throwErrors: false,
+
+
+            /**
+             * @method startInterval
+             * @static
+             * @private
+             */
+            startInterval: function() {
+                if (!this._interval) {
+                    // var self = this;
+                    // var callback = function() { self._tryPreloadAttach(); };
+                    // this._interval = setInterval(callback, this.POLL_INTERVAL);
+                    this._interval = YAHOO.lang.later(this.POLL_INTERVAL, this, this._tryPreloadAttach, null, true);
+                }
+            },
+
+            /**
+             * Executes the supplied callback when the item with the supplied
+             * id is found.  This is meant to be used to execute behavior as
+             * soon as possible as the page loads.  If you use this after the
+             * initial page load it will poll for a fixed time for the element.
+             * The number of times it will poll and the frequency are
+             * configurable.  By default it will poll for 10 seconds.
+             *
+             * <p>The callback is executed with a single parameter:
+             * the custom object parameter, if provided.</p>
+             *
+             * @method onAvailable
+             *
+             * @param {string||string[]}   id the id of the element, or an array
+             * of ids to look for.
+             * @param {function} fn what to execute when the element is found.
+             * @param {object}   obj an optional object to be passed back as
+             *                   a parameter to fn.
+             * @param {boolean|object}  overrideContext If set to true, fn will execute
+             *                   in the context of obj, if set to an object it
+             *                   will execute in the context of that object
+             * @param checkContent {boolean} check child node readiness (onContentReady)
+             * @static
+             */
+            onAvailable: function(id, fn, obj, overrideContext, checkContent) {
+
+                var a = (YAHOO.lang.isString(id)) ? [id] : id;
+
+                for (var i=0; i<a.length; i=i+1) {
+                    onAvailStack.push({id:         a[i], 
+                                       fn:         fn, 
+                                       obj:        obj, 
+                                       overrideContext:   overrideContext, 
+                                       checkReady: checkContent });
+                }
+
+                retryCount = this.POLL_RETRYS;
+
+                this.startInterval();
+            },
+
+            /**
+             * Works the same way as onAvailable, but additionally checks the
+             * state of sibling elements to determine if the content of the
+             * available element is safe to modify.
+             *
+             * <p>The callback is executed with a single parameter:
+             * the custom object parameter, if provided.</p>
+             *
+             * @method onContentReady
+             *
+             * @param {string}   id the id of the element to look for.
+             * @param {function} fn what to execute when the element is ready.
+             * @param {object}   obj an optional object to be passed back as
+             *                   a parameter to fn.
+             * @param {boolean|object}  overrideContext If set to true, fn will execute
+             *                   in the context of obj.  If an object, fn will
+             *                   exectute in the context of that object
+             *
+             * @static
+             */
+            onContentReady: function(id, fn, obj, overrideContext) {
+                this.onAvailable(id, fn, obj, overrideContext, true);
+            },
+
+            /**
+             * Executes the supplied callback when the DOM is first usable.  This
+             * will execute immediately if called after the DOMReady event has
+             * fired.   @todo the DOMContentReady event does not fire when the
+             * script is dynamically injected into the page.  This means the
+             * DOMReady custom event will never fire in FireFox or Opera when the
+             * library is injected.  It _will_ fire in Safari, and the IE 
+             * implementation would allow for us to fire it if the defered script
+             * is not available.  We want this to behave the same in all browsers.
+             * Is there a way to identify when the script has been injected 
+             * instead of included inline?  Is there a way to know whether the 
+             * window onload event has fired without having had a listener attached 
+             * to it when it did so?
+             *
+             * <p>The callback is a CustomEvent, so the signature is:</p>
+             * <p>type &lt;string&gt;, args &lt;array&gt;, customobject &lt;object&gt;</p>
+             * <p>For DOMReady events, there are no fire argments, so the
+             * signature is:</p>
+             * <p>"DOMReady", [], obj</p>
+             *
+             *
+             * @method onDOMReady
+             *
+             * @param {function} fn what to execute when the element is found.
+             * @param {object}   obj an optional object to be passed back as
+             *                   a parameter to fn.
+             * @param {boolean|object}  overrideContext If set to true, fn will execute
+             *                   in the context of obj, if set to an object it
+             *                   will execute in the context of that object
+             *
+             * @static
+             */
+            // onDOMReady: function(fn, obj, overrideContext) {
+            onDOMReady: function() {
+                this.DOMReadyEvent.subscribe.apply(this.DOMReadyEvent, arguments);
+            },
+
+
+            /**
+             * Appends an event handler
+             *
+             * @method _addListener
+             *
+             * @param {String|HTMLElement|Array|NodeList} el An id, an element 
+             *  reference, or a collection of ids and/or elements to assign the 
+             *  listener to.
+             * @param {String}   sType     The type of event to append
+             * @param {Function} fn        The method the event invokes
+             * @param {Object}   obj    An arbitrary object that will be 
+             *                             passed as a parameter to the handler
+             * @param {Boolean|object}  overrideContext  If true, the obj passed in becomes
+             *                             the execution context of the listener. If an
+             *                             object, this object becomes the execution
+             *                             context.
+             * @param {boolen}      capture capture or bubble phase
+             * @return {Boolean} True if the action was successful or defered,
+             *                        false if one or more of the elements 
+             *                        could not have the listener attached,
+             *                        or if the operation throws an exception.
+             * @private
+             * @static
+             */
+            _addListener: function(el, sType, fn, obj, overrideContext, bCapture) {
+
+                if (!fn || !fn.call) {
+                    return false;
+                }
+
+                // The el argument can be an array of elements or element ids.
+                if ( this._isValidCollection(el)) {
+                    var ok = true;
+                    for (var i=0,len=el.length; i<len; ++i) {
+                        ok = this.on(el[i], 
+                                       sType, 
+                                       fn, 
+                                       obj, 
+                                       overrideContext) && ok;
+                    }
+                    return ok;
+
+                } else if (YAHOO.lang.isString(el)) {
+                    var oEl = this.getEl(el);
+                    // If the el argument is a string, we assume it is 
+                    // actually the id of the element.  If the page is loaded
+                    // we convert el to the actual element, otherwise we 
+                    // defer attaching the event until onload event fires
+
+                    // check to see if we need to delay hooking up the event 
+                    // until after the page loads.
+                    if (oEl) {
+                        el = oEl;
+                    } else {
+                        // defer adding the event until the element is available
+                        this.onAvailable(el, function() {
+                           YAHOO.util.Event._addListener(el, sType, fn, obj, overrideContext, bCapture);
+                        });
+
+                        return true;
+                    }
+                }
+
+                // Element should be an html element or an array if we get 
+                // here.
+                if (!el) {
+                    return false;
+                }
+
+                // we need to make sure we fire registered unload events 
+                // prior to automatically unhooking them.  So we hang on to 
+                // these instead of attaching them to the window and fire the
+                // handles explicitly during our one unload event.
+                if ("unload" == sType && obj !== this) {
+                    unloadListeners[unloadListeners.length] =
+                            [el, sType, fn, obj, overrideContext];
+                    return true;
+                }
+
+
+                // if the user chooses to override the context, we use the custom
+                // object passed in, otherwise the executing context will be the
+                // HTML element that the event is registered on
+                var context = el;
+                if (overrideContext) {
+                    if (overrideContext === true) {
+                        context = obj;
+                    } else {
+                        context = overrideContext;
+                    }
+                }
+
+                // wrap the function so we can return the obj object when
+                // the event fires;
+                var wrappedFn = function(e) {
+                        return fn.call(context, YAHOO.util.Event.getEvent(e, el), 
+                                obj);
+                    };
+
+                var li = [el, sType, fn, wrappedFn, context, obj, overrideContext, bCapture];
+                var index = listeners.length;
+                // cache the listener so we can try to automatically unload
+                listeners[index] = li;
+
+                try {
+                    this._simpleAdd(el, sType, wrappedFn, bCapture);
+                } catch(ex) {
+                    // handle an error trying to attach an event.  If it fails
+                    // we need to clean up the cache
+                    this.lastError = ex;
+                    this.removeListener(el, sType, fn);
+                    return false;
+                }
+
+                return true;
+                
+            },
+
+            /**
+             * Checks to see if the type requested is a special type 
+			 * (as defined by the _specialTypes hash), and (if so) returns 
+			 * the special type name.
+             *
+             * @method _getType
+             *
+             * @param {String}   sType     The type to look up
+             * @private
+             */
+			_getType: function (type) {
+			
+				return this._specialTypes[type] || type;
+				
+			},
+
+
+            /**
+             * Appends an event handler
+             *
+             * @method addListener
+             *
+             * @param {String|HTMLElement|Array|NodeList} el An id, an element 
+             *  reference, or a collection of ids and/or elements to assign the 
+             *  listener to.
+             * @param {String}   sType     The type of event to append
+             * @param {Function} fn        The method the event invokes
+             * @param {Object}   obj    An arbitrary object that will be 
+             *                             passed as a parameter to the handler
+             * @param {Boolean|object}  overrideContext  If true, the obj passed in becomes
+             *                             the execution context of the listener. If an
+             *                             object, this object becomes the execution
+             *                             context.
+             * @return {Boolean} True if the action was successful or defered,
+             *                        false if one or more of the elements 
+             *                        could not have the listener attached,
+             *                        or if the operation throws an exception.
+             * @static
+             */
+            addListener: function (el, sType, fn, obj, overrideContext) {
+
+				var capture = ((sType == FOCUSIN || sType == FOCUSOUT) && !YAHOO.env.ua.ie) ? true : false;
+
+                return this._addListener(el, this._getType(sType), fn, obj, overrideContext, capture);
+
+        	},
+
+
+            /**
+             * Attaches a focusin event listener to the specified element for 
+ 			 * the purpose of listening for the focus event on the element's 
+             * descendants.
+             * @method addFocusListener
+             *
+             * @param {String|HTMLElement|Array|NodeList} el An id, an element 
+             *  reference, or a collection of ids and/or elements to assign the 
+             *  listener to.
+             * @param {Function} fn        The method the event invokes
+             * @param {Object}   obj    An arbitrary object that will be 
+             *                             passed as a parameter to the handler
+             * @param {Boolean|object}  overrideContext  If true, the obj passed in becomes
+             *                             the execution context of the listener. If an
+             *                             object, this object becomes the execution
+             *                             context.
+             * @return {Boolean} True if the action was successful or defered,
+             *                        false if one or more of the elements 
+             *                        could not have the listener attached,
+             *                        or if the operation throws an exception.
+             * @static
+			* @deprecated use YAHOO.util.Event.on and specify "focusin" as the event type.
+             */
+            addFocusListener: function (el, fn, obj, overrideContext) {
+                return this.on(el, FOCUSIN, fn, obj, overrideContext);
+            },          
+
+
+            /**
+             * Removes a focusin event listener to the specified element for 
+			 * the purpose of listening for the focus event on the element's 
+             * descendants.
+             *
+             * @method removeFocusListener
+             *
+             * @param {String|HTMLElement|Array|NodeList} el An id, an element 
+             *  reference, or a collection of ids and/or elements to remove
+             *  the listener from.
+             * @param {Function} fn the method the event invokes.  If fn is
+             *  undefined, then all event handlers for the type of event are 
+             *  removed.
+             * @return {boolean} true if the unbind was successful, false 
+             *  otherwise.
+             * @static
+         	 * @deprecated use YAHOO.util.Event.removeListener and specify "focusin" as the event type.
+             */
+            removeFocusListener: function (el, fn) { 
+                return this.removeListener(el, FOCUSIN, fn);
+            },
+
+            /**
+             * Attaches a focusout event listener to the specified element for 
+			 * the purpose of listening for the blur event on the element's 
+			 * descendants.
+             *
+             * @method addBlurListener
+             *
+             * @param {String|HTMLElement|Array|NodeList} el An id, an element 
+             *  reference, or a collection of ids and/or elements to assign the 
+             *  listener to.
+             * @param {Function} fn        The method the event invokes
+             * @param {Object}   obj    An arbitrary object that will be 
+             *                             passed as a parameter to the handler
+             * @param {Boolean|object}  overrideContext  If true, the obj passed in becomes
+             *                             the execution context of the listener. If an
+             *                             object, this object becomes the execution
+             *                             context.
+             * @return {Boolean} True if the action was successful or defered,
+             *                        false if one or more of the elements 
+             *                        could not have the listener attached,
+             *                        or if the operation throws an exception.
+             * @static
+         	 * @deprecated use YAHOO.util.Event.on and specify "focusout" as the event type.
+             */
+            addBlurListener: function (el, fn, obj, overrideContext) {
+                return this.on(el, FOCUSOUT, fn, obj, overrideContext);
+            },          
+
+            /**
+             * Removes a focusout event listener to the specified element for 
+			 * the purpose of listening for the blur event on the element's 
+			 * descendants.
+             *
+             * @method removeBlurListener
+             *
+             * @param {String|HTMLElement|Array|NodeList} el An id, an element 
+             *  reference, or a collection of ids and/or elements to remove
+             *  the listener from.
+             * @param {Function} fn the method the event invokes.  If fn is
+             *  undefined, then all event handlers for the type of event are 
+             *  removed.
+             * @return {boolean} true if the unbind was successful, false 
+             *  otherwise.
+             * @static
+         	 * @deprecated use YAHOO.util.Event.removeListener and specify "focusout" as the event type.
+             */
+            removeBlurListener: function (el, fn) { 
+                return this.removeListener(el, FOCUSOUT, fn);
+            },
+
+            /**
+             * Removes an event listener
+             *
+             * @method removeListener
+             *
+             * @param {String|HTMLElement|Array|NodeList} el An id, an element 
+             *  reference, or a collection of ids and/or elements to remove
+             *  the listener from.
+             * @param {String} sType the type of event to remove.
+             * @param {Function} fn the method the event invokes.  If fn is
+             *  undefined, then all event handlers for the type of event are 
+             *  removed.
+             * @return {boolean} true if the unbind was successful, false 
+             *  otherwise.
+             * @static
+             */
+            removeListener: function(el, sType, fn) {
+                var i, len, li;
+
+				sType = this._getType(sType);
+
+                // The el argument can be a string
+                if (typeof el == "string") {
+                    el = this.getEl(el);
+                // The el argument can be an array of elements or element ids.
+                } else if ( this._isValidCollection(el)) {
+                    var ok = true;
+                    for (i=el.length-1; i>-1; i--) {
+                        ok = ( this.removeListener(el[i], sType, fn) && ok );
+                    }
+                    return ok;
+                }
+
+                if (!fn || !fn.call) {
+                    //return false;
+                    return this.purgeElement(el, false, sType);
+                }
+
+                if ("unload" == sType) {
+
+                    for (i=unloadListeners.length-1; i>-1; i--) {
+                        li = unloadListeners[i];
+                        if (li && 
+                            li[0] == el && 
+                            li[1] == sType && 
+                            li[2] == fn) {
+                                unloadListeners.splice(i, 1);
+                                // unloadListeners[i]=null;
+                                return true;
+                        }
+                    }
+
+                    return false;
+                }
+
+                var cacheItem = null;
+
+                // The index is a hidden parameter; needed to remove it from
+                // the method signature because it was tempting users to
+                // try and take advantage of it, which is not possible.
+                var index = arguments[3];
+  
+                if ("undefined" === typeof index) {
+                    index = this._getCacheIndex(listeners, el, sType, fn);
+                }
+
+                if (index >= 0) {
+                    cacheItem = listeners[index];
+                }
+
+                if (!el || !cacheItem) {
+                    return false;
+                }
+
+
+				var bCapture = cacheItem[this.CAPTURE] === true ? true : false;
+
+                try {
+                    this._simpleRemove(el, sType, cacheItem[this.WFN], bCapture);
+                } catch(ex) {
+                    this.lastError = ex;
+                    return false;
+                }
+
+                // removed the wrapped handler
+                delete listeners[index][this.WFN];
+                delete listeners[index][this.FN];
+                listeners.splice(index, 1);
+                // listeners[index]=null;
+
+                return true;
+
+            },
+
+            /**
+             * Returns the event's target element.  Safari sometimes provides
+             * a text node, and this is automatically resolved to the text
+             * node's parent so that it behaves like other browsers.
+             * @method getTarget
+             * @param {Event} ev the event
+             * @param {boolean} resolveTextNode when set to true the target's
+             *                  parent will be returned if the target is a 
+             *                  text node.  @deprecated, the text node is
+             *                  now resolved automatically
+             * @return {HTMLElement} the event's target
+             * @static
+             */
+            getTarget: function(ev, resolveTextNode) {
+                var t = ev.target || ev.srcElement;
+                return this.resolveTextNode(t);
+            },
+
+            /**
+             * In some cases, some browsers will return a text node inside
+             * the actual element that was targeted.  This normalizes the
+             * return value for getTarget and getRelatedTarget.
+             * @method resolveTextNode
+             * @param {HTMLElement} node node to resolve
+             * @return {HTMLElement} the normized node
+             * @static
+             */
+            resolveTextNode: function(n) {
+                try {
+                    if (n && 3 == n.nodeType) {
+                        return n.parentNode;
+                    }
+                } catch(e) { }
+
+                return n;
+            },
+
+            /**
+             * Returns the event's pageX
+             * @method getPageX
+             * @param {Event} ev the event
+             * @return {int} the event's pageX
+             * @static
+             */
+            getPageX: function(ev) {
+                var x = ev.pageX;
+                if (!x && 0 !== x) {
+                    x = ev.clientX || 0;
+
+                    if ( this.isIE ) {
+                        x += this._getScrollLeft();
+                    }
+                }
+
+                return x;
+            },
+
+            /**
+             * Returns the event's pageY
+             * @method getPageY
+             * @param {Event} ev the event
+             * @return {int} the event's pageY
+             * @static
+             */
+            getPageY: function(ev) {
+                var y = ev.pageY;
+                if (!y && 0 !== y) {
+                    y = ev.clientY || 0;
+
+                    if ( this.isIE ) {
+                        y += this._getScrollTop();
+                    }
+                }
+
+
+                return y;
+            },
+
+            /**
+             * Returns the pageX and pageY properties as an indexed array.
+             * @method getXY
+             * @param {Event} ev the event
+             * @return {[x, y]} the pageX and pageY properties of the event
+             * @static
+             */
+            getXY: function(ev) {
+                return [this.getPageX(ev), this.getPageY(ev)];
+            },
+
+            /**
+             * Returns the event's related target 
+             * @method getRelatedTarget
+             * @param {Event} ev the event
+             * @return {HTMLElement} the event's relatedTarget
+             * @static
+             */
+            getRelatedTarget: function(ev) {
+                var t = ev.relatedTarget;
+                if (!t) {
+                    if (ev.type == "mouseout") {
+                        t = ev.toElement;
+                    } else if (ev.type == "mouseover") {
+                        t = ev.fromElement;
+                    }
+                }
+
+                return this.resolveTextNode(t);
+            },
+
+            /**
+             * Returns the time of the event.  If the time is not included, the
+             * event is modified using the current time.
+             * @method getTime
+             * @param {Event} ev the event
+             * @return {Date} the time of the event
+             * @static
+             */
+            getTime: function(ev) {
+                if (!ev.time) {
+                    var t = new Date().getTime();
+                    try {
+                        ev.time = t;
+                    } catch(ex) { 
+                        this.lastError = ex;
+                        return t;
+                    }
+                }
+
+                return ev.time;
+            },
+
+            /**
+             * Convenience method for stopPropagation + preventDefault
+             * @method stopEvent
+             * @param {Event} ev the event
+             * @static
+             */
+            stopEvent: function(ev) {
+                this.stopPropagation(ev);
+                this.preventDefault(ev);
+            },
+
+            /**
+             * Stops event propagation
+             * @method stopPropagation
+             * @param {Event} ev the event
+             * @static
+             */
+            stopPropagation: function(ev) {
+                if (ev.stopPropagation) {
+                    ev.stopPropagation();
+                } else {
+                    ev.cancelBubble = true;
+                }
+            },
+
+            /**
+             * Prevents the default behavior of the event
+             * @method preventDefault
+             * @param {Event} ev the event
+             * @static
+             */
+            preventDefault: function(ev) {
+                if (ev.preventDefault) {
+                    ev.preventDefault();
+                } else {
+                    ev.returnValue = false;
+                }
+            },
+             
+            /**
+             * Finds the event in the window object, the caller's arguments, or
+             * in the arguments of another method in the callstack.  This is
+             * executed automatically for events registered through the event
+             * manager, so the implementer should not normally need to execute
+             * this function at all.
+             * @method getEvent
+             * @param {Event} e the event parameter from the handler
+             * @param {HTMLElement} boundEl the element the listener is attached to
+             * @return {Event} the event 
+             * @static
+             */
+            getEvent: function(e, boundEl) {
+                var ev = e || window.event;
+
+                if (!ev) {
+                    var c = this.getEvent.caller;
+                    while (c) {
+                        ev = c.arguments[0];
+                        if (ev && Event == ev.constructor) {
+                            break;
+                        }
+                        c = c.caller;
+                    }
+                }
+
+                return ev;
+            },
+
+            /**
+             * Returns the charcode for an event
+             * @method getCharCode
+             * @param {Event} ev the event
+             * @return {int} the event's charCode
+             * @static
+             */
+            getCharCode: function(ev) {
+                var code = ev.keyCode || ev.charCode || 0;
+
+                // webkit key normalization
+                if (YAHOO.env.ua.webkit && (code in webkitKeymap)) {
+                    code = webkitKeymap[code];
+                }
+                return code;
+            },
+
+            /**
+             * Locating the saved event handler data by function ref
+             *
+             * @method _getCacheIndex
+             * @static
+             * @private
+             */
+            _getCacheIndex: function(a, el, sType, fn) {
+                for (var i=0, l=a.length; i<l; i=i+1) {
+                    var li = a[i];
+                    if ( li                 && 
+                         li[this.FN] == fn  && 
+                         li[this.EL] == el  && 
+                         li[this.TYPE] == sType ) {
+                        return i;
+                    }
+                }
+
+                return -1;
+            },
+
+            /**
+             * Generates an unique ID for the element if it does not already 
+             * have one.
+             * @method generateId
+             * @param el the element to create the id for
+             * @return {string} the resulting id of the element
+             * @static
+             */
+            generateId: function(el) {
+                var id = el.id;
+
+                if (!id) {
+                    id = "yuievtautoid-" + counter;
+                    ++counter;
+                    el.id = id;
+                }
+
+                return id;
+            },
+
+
+            /**
+             * We want to be able to use getElementsByTagName as a collection
+             * to attach a group of events to.  Unfortunately, different 
+             * browsers return different types of collections.  This function
+             * tests to determine if the object is array-like.  It will also 
+             * fail if the object is an array, but is empty.
+             * @method _isValidCollection
+             * @param o the object to test
+             * @return {boolean} true if the object is array-like and populated
+             * @static
+             * @private
+             */
+            _isValidCollection: function(o) {
+                try {
+                    return ( o                     && // o is something
+                             typeof o !== "string" && // o is not a string
+                             o.length              && // o is indexed
+                             !o.tagName            && // o is not an HTML element
+                             !o.alert              && // o is not a window
+                             typeof o[0] !== "undefined" );
+                } catch(ex) {
+                    return false;
+                }
+
+            },
+
+            /**
+             * @private
+             * @property elCache
+             * DOM element cache
+             * @static
+             * @deprecated Elements are not cached due to issues that arise when
+             * elements are removed and re-added
+             */
+            elCache: {},
+
+            /**
+             * We cache elements bound by id because when the unload event 
+             * fires, we can no longer use document.getElementById
+             * @method getEl
+             * @static
+             * @private
+             * @deprecated Elements are not cached any longer
+             */
+            getEl: function(id) {
+                return (typeof id === "string") ? document.getElementById(id) : id;
+            },
+
+            /**
+             * Clears the element cache
+             * @deprecated Elements are not cached any longer
+             * @method clearCache
+             * @static
+             * @private
+             */
+            clearCache: function() { },
+
+            /**
+             * Custom event the fires when the dom is initially usable
+             * @event DOMReadyEvent
+             */
+            DOMReadyEvent: new YAHOO.util.CustomEvent("DOMReady", YAHOO, 0, 0, 1),
+
+            /**
+             * hook up any deferred listeners
+             * @method _load
+             * @static
+             * @private
+             */
+            _load: function(e) {
+
+                if (!loadComplete) {
+                    loadComplete = true;
+                    var EU = YAHOO.util.Event;
+
+                    // Just in case DOMReady did not go off for some reason
+                    EU._ready();
+
+                    // Available elements may not have been detected before the
+                    // window load event fires. Try to find them now so that the
+                    // the user is more likely to get the onAvailable notifications
+                    // before the window load notification
+                    EU._tryPreloadAttach();
+
+                }
+            },
+
+            /**
+             * Fires the DOMReady event listeners the first time the document is
+             * usable.
+             * @method _ready
+             * @static
+             * @private
+             */
+            _ready: function(e) {
+                var EU = YAHOO.util.Event;
+                if (!EU.DOMReady) {
+                    EU.DOMReady=true;
+
+                    // Fire the content ready custom event
+                    EU.DOMReadyEvent.fire();
+
+                    // Remove the DOMContentLoaded (FF/Opera)
+                    EU._simpleRemove(document, "DOMContentLoaded", EU._ready);
+                }
+            },
+
+            /**
+             * Polling function that runs before the onload event fires, 
+             * attempting to attach to DOM Nodes as soon as they are 
+             * available
+             * @method _tryPreloadAttach
+             * @static
+             * @private
+             */
+            _tryPreloadAttach: function() {
+
+                if (onAvailStack.length === 0) {
+                    retryCount = 0;
+                    if (this._interval) {
+                        // clearInterval(this._interval);
+                        this._interval.cancel();
+                        this._interval = null;
+                    } 
+                    return;
+                }
+
+                if (this.locked) {
+                    return;
+                }
+
+                if (this.isIE) {
+                    // Hold off if DOMReady has not fired and check current
+                    // readyState to protect against the IE operation aborted
+                    // issue.
+                    if (!this.DOMReady) {
+                        this.startInterval();
+                        return;
+                    }
+                }
+
+                this.locked = true;
+
+
+                // keep trying until after the page is loaded.  We need to 
+                // check the page load state prior to trying to bind the 
+                // elements so that we can be certain all elements have been 
+                // tested appropriately
+                var tryAgain = !loadComplete;
+                if (!tryAgain) {
+                    tryAgain = (retryCount > 0 && onAvailStack.length > 0);
+                }
+
+                // onAvailable
+                var notAvail = [];
+
+                var executeItem = function (el, item) {
+                    var context = el;
+                    if (item.overrideContext) {
+                        if (item.overrideContext === true) {
+                            context = item.obj;
+                        } else {
+                            context = item.overrideContext;
+                        }
+                    }
+                    item.fn.call(context, item.obj);
+                };
+
+                var i, len, item, el, ready=[];
+
+                // onAvailable onContentReady
+                for (i=0, len=onAvailStack.length; i<len; i=i+1) {
+                    item = onAvailStack[i];
+                    if (item) {
+                        el = this.getEl(item.id);
+                        if (el) {
+                            if (item.checkReady) {
+                                if (loadComplete || el.nextSibling || !tryAgain) {
+                                    ready.push(item);
+                                    onAvailStack[i] = null;
+                                }
+                            } else {
+                                executeItem(el, item);
+                                onAvailStack[i] = null;
+                            }
+                        } else {
+                            notAvail.push(item);
+                        }
+                    }
+                }
+                
+                // make sure onContentReady fires after onAvailable
+                for (i=0, len=ready.length; i<len; i=i+1) {
+                    item = ready[i];
+                    executeItem(this.getEl(item.id), item);
+                }
+
+
+                retryCount--;
+
+                if (tryAgain) {
+                    for (i=onAvailStack.length-1; i>-1; i--) {
+                        item = onAvailStack[i];
+                        if (!item || !item.id) {
+                            onAvailStack.splice(i, 1);
+                        }
+                    }
+
+                    this.startInterval();
+                } else {
+                    if (this._interval) {
+                        // clearInterval(this._interval);
+                        this._interval.cancel();
+                        this._interval = null;
+                    }
+                }
+
+                this.locked = false;
+
+            },
+
+            /**
+             * Removes all listeners attached to the given element via addListener.
+             * Optionally, the node's children can also be purged.
+             * Optionally, you can specify a specific type of event to remove.
+             * @method purgeElement
+             * @param {HTMLElement} el the element to purge
+             * @param {boolean} recurse recursively purge this element's children
+             * as well.  Use with caution.
+             * @param {string} sType optional type of listener to purge. If
+             * left out, all listeners will be removed
+             * @static
+             */
+            purgeElement: function(el, recurse, sType) {
+                var oEl = (YAHOO.lang.isString(el)) ? this.getEl(el) : el;
+                var elListeners = this.getListeners(oEl, sType), i, len;
+                if (elListeners) {
+                    for (i=elListeners.length-1; i>-1; i--) {
+                        var l = elListeners[i];
+                        this.removeListener(oEl, l.type, l.fn);
+                    }
+                }
+
+                if (recurse && oEl && oEl.childNodes) {
+                    for (i=0,len=oEl.childNodes.length; i<len ; ++i) {
+                        this.purgeElement(oEl.childNodes[i], recurse, sType);
+                    }
+                }
+            },
+
+            /**
+             * Returns all listeners attached to the given element via addListener.
+             * Optionally, you can specify a specific type of event to return.
+             * @method getListeners
+             * @param el {HTMLElement|string} the element or element id to inspect 
+             * @param sType {string} optional type of listener to return. If
+             * left out, all listeners will be returned
+             * @return {Object} the listener. Contains the following fields:
+             * &nbsp;&nbsp;type:   (string)   the type of event
+             * &nbsp;&nbsp;fn:     (function) the callback supplied to addListener
+             * &nbsp;&nbsp;obj:    (object)   the custom object supplied to addListener
+             * &nbsp;&nbsp;adjust: (boolean|object)  whether or not to adjust the default context
+             * &nbsp;&nbsp;scope: (boolean)  the derived context based on the adjust parameter
+             * &nbsp;&nbsp;index:  (int)      its position in the Event util listener cache
+             * @static
+             */           
+            getListeners: function(el, sType) {
+                var results=[], searchLists;
+                if (!sType) {
+                    searchLists = [listeners, unloadListeners];
+                } else if (sType === "unload") {
+                    searchLists = [unloadListeners];
+                } else {
+					sType = this._getType(sType);
+                    searchLists = [listeners];
+                }
+
+                var oEl = (YAHOO.lang.isString(el)) ? this.getEl(el) : el;
+
+                for (var j=0;j<searchLists.length; j=j+1) {
+                    var searchList = searchLists[j];
+                    if (searchList) {
+                        for (var i=0,len=searchList.length; i<len ; ++i) {
+                            var l = searchList[i];
+                            if ( l  && l[this.EL] === oEl && 
+                                    (!sType || sType === l[this.TYPE]) ) {
+                                results.push({
+                                    type:   l[this.TYPE],
+                                    fn:     l[this.FN],
+                                    obj:    l[this.OBJ],
+                                    adjust: l[this.OVERRIDE],
+                                    scope:  l[this.ADJ_SCOPE],
+                                    index:  i
+                                });
+                            }
+                        }
+                    }
+                }
+
+                return (results.length) ? results : null;
+            },
+
+            /**
+             * Removes all listeners registered by pe.event.  Called 
+             * automatically during the unload event.
+             * @method _unload
+             * @static
+             * @private
+             */
+            _unload: function(e) {
+
+                var EU = YAHOO.util.Event, i, j, l, len, index,
+                         ul = unloadListeners.slice(), context;
+
+                // execute and clear stored unload listeners
+                for (i=0, len=unloadListeners.length; i<len; ++i) {
+                    l = ul[i];
+                    if (l) {
+                        context = window;
+                        if (l[EU.ADJ_SCOPE]) {
+                            if (l[EU.ADJ_SCOPE] === true) {
+                                context = l[EU.UNLOAD_OBJ];
+                            } else {
+                                context = l[EU.ADJ_SCOPE];
+                            }
+                        }
+                        l[EU.FN].call(context, EU.getEvent(e, l[EU.EL]), l[EU.UNLOAD_OBJ] );
+                        ul[i] = null;
+                    }
+                }
+
+                l = null;
+                context = null;
+                unloadListeners = null;
+
+                // Remove listeners to handle IE memory leaks
+                // 2.5.0 listeners are removed for all browsers again.  FireFox preserves
+                // at least some listeners between page refreshes, potentially causing
+                // errors during page load (mouseover listeners firing before they
+                // should if the user moves the mouse at the correct moment).
+                if (listeners) {
+                    for (j=listeners.length-1; j>-1; j--) {
+                        l = listeners[j];
+                        if (l) {
+                            EU.removeListener(l[EU.EL], l[EU.TYPE], l[EU.FN], j);
+                        } 
+                    }
+                    l=null;
+                }
+
+                EU._simpleRemove(window, "unload", EU._unload);
+
+            },
+
+            /**
+             * Returns scrollLeft
+             * @method _getScrollLeft
+             * @static
+             * @private
+             */
+            _getScrollLeft: function() {
+                return this._getScroll()[1];
+            },
+
+            /**
+             * Returns scrollTop
+             * @method _getScrollTop
+             * @static
+             * @private
+             */
+            _getScrollTop: function() {
+                return this._getScroll()[0];
+            },
+
+            /**
+             * Returns the scrollTop and scrollLeft.  Used to calculate the 
+             * pageX and pageY in Internet Explorer
+             * @method _getScroll
+             * @static
+             * @private
+             */
+            _getScroll: function() {
+                var dd = document.documentElement, db = document.body;
+                if (dd && (dd.scrollTop || dd.scrollLeft)) {
+                    return [dd.scrollTop, dd.scrollLeft];
+                } else if (db) {
+                    return [db.scrollTop, db.scrollLeft];
+                } else {
+                    return [0, 0];
+                }
+            },
+            
+            /**
+             * Used by old versions of CustomEvent, restored for backwards
+             * compatibility
+             * @method regCE
+             * @private
+             * @static
+             * @deprecated still here for backwards compatibility
+             */
+            regCE: function() {},
+
+            /**
+             * Adds a DOM event directly without the caching, cleanup, context adj, etc
+             *
+             * @method _simpleAdd
+             * @param {HTMLElement} el      the element to bind the handler to
+             * @param {string}      sType   the type of event handler
+             * @param {function}    fn      the callback to invoke
+             * @param {boolen}      capture capture or bubble phase
+             * @static
+             * @private
+             */
+            _simpleAdd: function () {
+                if (window.addEventListener) {
+                    return function(el, sType, fn, capture) {
+                        el.addEventListener(sType, fn, (capture));
+                    };
+                } else if (window.attachEvent) {
+                    return function(el, sType, fn, capture) {
+                        el.attachEvent("on" + sType, fn);
+                    };
+                } else {
+                    return function(){};
+                }
+            }(),
+
+            /**
+             * Basic remove listener
+             *
+             * @method _simpleRemove
+             * @param {HTMLElement} el      the element to bind the handler to
+             * @param {string}      sType   the type of event handler
+             * @param {function}    fn      the callback to invoke
+             * @param {boolen}      capture capture or bubble phase
+             * @static
+             * @private
+             */
+            _simpleRemove: function() {
+                if (window.removeEventListener) {
+                    return function (el, sType, fn, capture) {
+                        el.removeEventListener(sType, fn, (capture));
+                    };
+                } else if (window.detachEvent) {
+                    return function (el, sType, fn) {
+                        el.detachEvent("on" + sType, fn);
+                    };
+                } else {
+                    return function(){};
+                }
+            }()
+        };
+
+    }();
+
+    (function() {
+        var EU = YAHOO.util.Event;
+
+        /**
+         * YAHOO.util.Event.on is an alias for addListener
+         * @method on
+         * @see addListener
+         * @static
+         */
+        EU.on = EU.addListener;
+
+        /**
+         * YAHOO.util.Event.onFocus is an alias for addFocusListener
+         * @method onFocus
+         * @see addFocusListener
+         * @static
+		 * @deprecated use YAHOO.util.Event.on and specify "focusin" as the event type.
+         */
+        EU.onFocus = EU.addFocusListener;
+
+        /**
+         * YAHOO.util.Event.onBlur is an alias for addBlurListener
+         * @method onBlur
+         * @see addBlurListener
+         * @static
+		 * @deprecated use YAHOO.util.Event.on and specify "focusout" as the event type.
+         */     
+        EU.onBlur = EU.addBlurListener;
+
+/*! DOMReady: based on work by: Dean Edwards/John Resig/Matthias Miller/Diego Perini */
+
+        // Internet Explorer: use the readyState of a defered script.
+        // This isolates what appears to be a safe moment to manipulate
+        // the DOM prior to when the document's readyState suggests
+        // it is safe to do so.
+        if (EU.isIE) {
+            if (self !== self.top) {
+                document.onreadystatechange = function() {
+                    if (document.readyState == 'complete') {
+                        document.onreadystatechange = null;
+                        EU._ready();
+                    }
+                };
+            } else {
+
+                // Process onAvailable/onContentReady items when the 
+                // DOM is ready.
+                YAHOO.util.Event.onDOMReady(
+                        YAHOO.util.Event._tryPreloadAttach,
+                        YAHOO.util.Event, true);
+                
+                var n = document.createElement('p');  
+
+                EU._dri = setInterval(function() {
+                    try {
+                        // throws an error if doc is not ready
+                        n.doScroll('left');
+                        clearInterval(EU._dri);
+                        EU._dri = null;
+                        EU._ready();
+                        n = null;
+                    } catch (ex) { 
+                    }
+                }, EU.POLL_INTERVAL); 
+            }
+
+        // The document's readyState in Safari currently will
+        // change to loaded/complete before images are loaded.
+        } else if (EU.webkit && EU.webkit < 525) {
+
+            EU._dri = setInterval(function() {
+                var rs=document.readyState;
+                if ("loaded" == rs || "complete" == rs) {
+                    clearInterval(EU._dri);
+                    EU._dri = null;
+                    EU._ready();
+                }
+            }, EU.POLL_INTERVAL); 
+
+        // FireFox and Opera: These browsers provide a event for this
+        // moment.  The latest WebKit releases now support this event.
+        } else {
+
+            EU._simpleAdd(document, "DOMContentLoaded", EU._ready);
+
+        }
+        /////////////////////////////////////////////////////////////
+
+
+        EU._simpleAdd(window, "load", EU._load);
+        EU._simpleAdd(window, "unload", EU._unload);
+        EU._tryPreloadAttach();
+    })();
+
+}
+/**
+ * EventProvider is designed to be used with YAHOO.augment to wrap 
+ * CustomEvents in an interface that allows events to be subscribed to 
+ * and fired by name.  This makes it possible for implementing code to
+ * subscribe to an event that either has not been created yet, or will
+ * not be created at all.
+ *
+ * @Class EventProvider
+ */
+YAHOO.util.EventProvider = function() { };
+
+YAHOO.util.EventProvider.prototype = {
+
+    /**
+     * Private storage of custom events
+     * @property __yui_events
+     * @type Object[]
+     * @private
+     */
+    __yui_events: null,
+
+    /**
+     * Private storage of custom event subscribers
+     * @property __yui_subscribers
+     * @type Object[]
+     * @private
+     */
+    __yui_subscribers: null,
+    
+    /**
+     * Subscribe to a CustomEvent by event type
+     *
+     * @method subscribe
+     * @param p_type     {string}   the type, or name of the event
+     * @param p_fn       {function} the function to exectute when the event fires
+     * @param p_obj      {Object}   An object to be passed along when the event 
+     *                              fires
+     * @param overrideContext {boolean}  If true, the obj passed in becomes the 
+     *                              execution scope of the listener
+     */
+    subscribe: function(p_type, p_fn, p_obj, overrideContext) {
+
+        this.__yui_events = this.__yui_events || {};
+        var ce = this.__yui_events[p_type];
+
+        if (ce) {
+            ce.subscribe(p_fn, p_obj, overrideContext);
+        } else {
+            this.__yui_subscribers = this.__yui_subscribers || {};
+            var subs = this.__yui_subscribers;
+            if (!subs[p_type]) {
+                subs[p_type] = [];
+            }
+            subs[p_type].push(
+                { fn: p_fn, obj: p_obj, overrideContext: overrideContext } );
+        }
+    },
+
+    /**
+     * Unsubscribes one or more listeners the from the specified event
+     * @method unsubscribe
+     * @param p_type {string}   The type, or name of the event.  If the type
+     *                          is not specified, it will attempt to remove
+     *                          the listener from all hosted events.
+     * @param p_fn   {Function} The subscribed function to unsubscribe, if not
+     *                          supplied, all subscribers will be removed.
+     * @param p_obj  {Object}   The custom object passed to subscribe.  This is
+     *                        optional, but if supplied will be used to
+     *                        disambiguate multiple listeners that are the same
+     *                        (e.g., you subscribe many object using a function
+     *                        that lives on the prototype)
+     * @return {boolean} true if the subscriber was found and detached.
+     */
+    unsubscribe: function(p_type, p_fn, p_obj) {
+        this.__yui_events = this.__yui_events || {};
+        var evts = this.__yui_events;
+        if (p_type) {
+            var ce = evts[p_type];
+            if (ce) {
+                return ce.unsubscribe(p_fn, p_obj);
+            }
+        } else {
+            var ret = true;
+            for (var i in evts) {
+                if (YAHOO.lang.hasOwnProperty(evts, i)) {
+                    ret = ret && evts[i].unsubscribe(p_fn, p_obj);
+                }
+            }
+            return ret;
+        }
+
+        return false;
+    },
+    
+    /**
+     * Removes all listeners from the specified event.  If the event type
+     * is not specified, all listeners from all hosted custom events will
+     * be removed.
+     * @method unsubscribeAll
+     * @param p_type {string}   The type, or name of the event
+     */
+    unsubscribeAll: function(p_type) {
+        return this.unsubscribe(p_type);
+    },
+
+    /**
+     * Creates a new custom event of the specified type.  If a custom event
+     * by that name already exists, it will not be re-created.  In either
+     * case the custom event is returned. 
+     *
+     * @method createEvent
+     *
+     * @param p_type {string} the type, or name of the event
+     * @param p_config {object} optional config params.  Valid properties are:
+     *
+     *  <ul>
+     *    <li>
+     *      scope: defines the default execution scope.  If not defined
+     *      the default scope will be this instance.
+     *    </li>
+     *    <li>
+     *      silent: if true, the custom event will not generate log messages.
+     *      This is false by default.
+     *    </li>
+     *    <li>
+     *      fireOnce: if true, the custom event will only notify subscribers
+     *      once regardless of the number of times the event is fired.  In
+     *      addition, new subscribers will be executed immediately if the
+     *      event has already fired.
+     *      This is false by default.
+     *    </li>
+     *    <li>
+     *      onSubscribeCallback: specifies a callback to execute when the
+     *      event has a new subscriber.  This will fire immediately for
+     *      each queued subscriber if any exist prior to the creation of
+     *      the event.
+     *    </li>
+     *  </ul>
+     *
+     *  @return {CustomEvent} the custom event
+     *
+     */
+    createEvent: function(p_type, p_config) {
+
+        this.__yui_events = this.__yui_events || {};
+        var opts = p_config || {},
+            events = this.__yui_events, ce;
+
+        if (events[p_type]) {
+        } else {
+
+            ce = new YAHOO.util.CustomEvent(p_type, opts.scope || this, opts.silent,
+                         YAHOO.util.CustomEvent.FLAT, opts.fireOnce);
+
+            events[p_type] = ce;
+
+            if (opts.onSubscribeCallback) {
+                ce.subscribeEvent.subscribe(opts.onSubscribeCallback);
+            }
+
+            this.__yui_subscribers = this.__yui_subscribers || {};
+            var qs = this.__yui_subscribers[p_type];
+
+            if (qs) {
+                for (var i=0; i<qs.length; ++i) {
+                    ce.subscribe(qs[i].fn, qs[i].obj, qs[i].overrideContext);
+                }
+            }
+        }
+
+        return events[p_type];
+    },
+
+
+   /**
+     * Fire a custom event by name.  The callback functions will be executed
+     * from the scope specified when the event was created, and with the 
+     * following parameters:
+     *   <ul>
+     *   <li>The first argument fire() was executed with</li>
+     *   <li>The custom object (if any) that was passed into the subscribe() 
+     *       method</li>
+     *   </ul>
+     * @method fireEvent
+     * @param p_type    {string}  the type, or name of the event
+     * @param arguments {Object*} an arbitrary set of parameters to pass to 
+     *                            the handler.
+     * @return {boolean} the return value from CustomEvent.fire
+     *                   
+     */
+    fireEvent: function(p_type) {
+
+        this.__yui_events = this.__yui_events || {};
+        var ce = this.__yui_events[p_type];
+
+        if (!ce) {
+            return null;
+        }
+
+        var args = [];
+        for (var i=1; i<arguments.length; ++i) {
+            args.push(arguments[i]);
+        }
+        return ce.fire.apply(ce, args);
+    },
+
+    /**
+     * Returns true if the custom event of the provided type has been created
+     * with createEvent.
+     * @method hasEvent
+     * @param type {string} the type, or name of the event
+     */
+    hasEvent: function(type) {
+        if (this.__yui_events) {
+            if (this.__yui_events[type]) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+};
+
+(function() {
+
+    var Event = YAHOO.util.Event, Lang = YAHOO.lang;
+
+/**
+* KeyListener is a utility that provides an easy interface for listening for
+* keydown/keyup events fired against DOM elements.
+* @namespace YAHOO.util
+* @class KeyListener
+* @constructor
+* @param {HTMLElement} attachTo The element or element ID to which the key 
+*                               event should be attached
+* @param {String}      attachTo The element or element ID to which the key
+*                               event should be attached
+* @param {Object}      keyData  The object literal representing the key(s) 
+*                               to detect. Possible attributes are 
+*                               shift(boolean), alt(boolean), ctrl(boolean) 
+*                               and keys(either an int or an array of ints 
+*                               representing keycodes).
+* @param {Function}    handler  The CustomEvent handler to fire when the 
+*                               key event is detected
+* @param {Object}      handler  An object literal representing the handler. 
+* @param {String}      event    Optional. The event (keydown or keyup) to 
+*                               listen for. Defaults automatically to keydown.
+*
+* @knownissue the "keypress" event is completely broken in Safari 2.x and below.
+*             the workaround is use "keydown" for key listening.  However, if
+*             it is desired to prevent the default behavior of the keystroke,
+*             that can only be done on the keypress event.  This makes key
+*             handling quite ugly.
+* @knownissue keydown is also broken in Safari 2.x and below for the ESC key.
+*             There currently is no workaround other than choosing another
+*             key to listen for.
+*/
+YAHOO.util.KeyListener = function(attachTo, keyData, handler, event) {
+    if (!attachTo) {
+    } else if (!keyData) {
+    } else if (!handler) {
+    } 
+    
+    if (!event) {
+        event = YAHOO.util.KeyListener.KEYDOWN;
+    }
+
+    /**
+    * The CustomEvent fired internally when a key is pressed
+    * @event keyEvent
+    * @private
+    * @param {Object} keyData The object literal representing the key(s) to 
+    *                         detect. Possible attributes are shift(boolean), 
+    *                         alt(boolean), ctrl(boolean) and keys(either an 
+    *                         int or an array of ints representing keycodes).
+    */
+    var keyEvent = new YAHOO.util.CustomEvent("keyPressed");
+    
+    /**
+    * The CustomEvent fired when the KeyListener is enabled via the enable() 
+    * function
+    * @event enabledEvent
+    * @param {Object} keyData The object literal representing the key(s) to 
+    *                         detect. Possible attributes are shift(boolean), 
+    *                         alt(boolean), ctrl(boolean) and keys(either an 
+    *                         int or an array of ints representing keycodes).
+    */
+    this.enabledEvent = new YAHOO.util.CustomEvent("enabled");
+
+    /**
+    * The CustomEvent fired when the KeyListener is disabled via the 
+    * disable() function
+    * @event disabledEvent
+    * @param {Object} keyData The object literal representing the key(s) to 
+    *                         detect. Possible attributes are shift(boolean), 
+    *                         alt(boolean), ctrl(boolean) and keys(either an 
+    *                         int or an array of ints representing keycodes).
+    */
+    this.disabledEvent = new YAHOO.util.CustomEvent("disabled");
+
+    if (Lang.isString(attachTo)) {
+        attachTo = document.getElementById(attachTo); // No Dom util
+    }
+
+    if (Lang.isFunction(handler)) {
+        keyEvent.subscribe(handler);
+    } else {
+        keyEvent.subscribe(handler.fn, handler.scope, handler.correctScope);
+    }
+
+    /**
+    * Handles the key event when a key is pressed.
+    * @method handleKeyPress
+    * @param {DOMEvent} e   The keypress DOM event
+    * @param {Object}   obj The DOM event scope object
+    * @private
+    */
+    function handleKeyPress(e, obj) {
+        if (! keyData.shift) {  
+            keyData.shift = false; 
+        }
+        if (! keyData.alt) {    
+            keyData.alt = false;
+        }
+        if (! keyData.ctrl) {
+            keyData.ctrl = false;
+        }
+
+        // check held down modifying keys first
+        if (e.shiftKey == keyData.shift && 
+            e.altKey   == keyData.alt &&
+            e.ctrlKey  == keyData.ctrl) { // if we pass this, all modifiers match
+            
+            var dataItem, keys = keyData.keys, key;
+
+            if (YAHOO.lang.isArray(keys)) {
+                for (var i=0;i<keys.length;i++) {
+                    dataItem = keys[i];
+                    key = Event.getCharCode(e);
+
+                    if (dataItem == key) {
+                        keyEvent.fire(key, e);
+                        break;
+                    }
+                }
+            } else {
+                key = Event.getCharCode(e);
+                if (keys == key ) {
+                    keyEvent.fire(key, e);
+                }
+            }
+        }
+    }
+
+    /**
+    * Enables the KeyListener by attaching the DOM event listeners to the 
+    * target DOM element
+    * @method enable
+    */
+    this.enable = function() {
+        if (! this.enabled) {
+            Event.on(attachTo, event, handleKeyPress);
+            this.enabledEvent.fire(keyData);
+        }
+        /**
+        * Boolean indicating the enabled/disabled state of the Tooltip
+        * @property enabled
+        * @type Boolean
+        */
+        this.enabled = true;
+    };
+
+    /**
+    * Disables the KeyListener by removing the DOM event listeners from the 
+    * target DOM element
+    * @method disable
+    */
+    this.disable = function() {
+        if (this.enabled) {
+            Event.removeListener(attachTo, event, handleKeyPress);
+            this.disabledEvent.fire(keyData);
+        }
+        this.enabled = false;
+    };
+
+    /**
+    * Returns a String representation of the object.
+    * @method toString
+    * @return {String}  The string representation of the KeyListener
+    */ 
+    this.toString = function() {
+        return "KeyListener [" + keyData.keys + "] " + attachTo.tagName + 
+                (attachTo.id ? "[" + attachTo.id + "]" : "");
+    };
+
+};
+
+var KeyListener = YAHOO.util.KeyListener;
+
+/**
+ * Constant representing the DOM "keydown" event.
+ * @property YAHOO.util.KeyListener.KEYDOWN
+ * @static
+ * @final
+ * @type String
+ */
+KeyListener.KEYDOWN = "keydown";
+
+/**
+ * Constant representing the DOM "keyup" event.
+ * @property YAHOO.util.KeyListener.KEYUP
+ * @static
+ * @final
+ * @type String
+ */
+KeyListener.KEYUP = "keyup";
+
+/**
+ * keycode constants for a subset of the special keys
+ * @property KEY
+ * @static
+ * @final
+ */
+KeyListener.KEY = {
+    ALT          : 18,
+    BACK_SPACE   : 8,
+    CAPS_LOCK    : 20,
+    CONTROL      : 17,
+    DELETE       : 46,
+    DOWN         : 40,
+    END          : 35,
+    ENTER        : 13,
+    ESCAPE       : 27,
+    HOME         : 36,
+    LEFT         : 37,
+    META         : 224,
+    NUM_LOCK     : 144,
+    PAGE_DOWN    : 34,
+    PAGE_UP      : 33, 
+    PAUSE        : 19,
+    PRINTSCREEN  : 44,
+    RIGHT        : 39,
+    SCROLL_LOCK  : 145,
+    SHIFT        : 16,
+    SPACE        : 32,
+    TAB          : 9,
+    UP           : 38
+};
+
+})();
+YAHOO.register("event", YAHOO.util.Event, {version: "2.8.0r4", build: "2449"});

Property changes on: tags/2.8.2/wb/include/yui/event/event.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/yui/event/event-min.js
===================================================================
--- tags/2.8.2/wb/include/yui/event/event-min.js	(nonexistent)
+++ tags/2.8.2/wb/include/yui/event/event-min.js	(revision 1481)
@@ -0,0 +1,11 @@
+/*
+Copyright (c) 2009, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.8.0r4
+*/
+YAHOO.util.CustomEvent=function(D,C,B,A,E){this.type=D;this.scope=C||window;this.silent=B;this.fireOnce=E;this.fired=false;this.firedWith=null;this.signature=A||YAHOO.util.CustomEvent.LIST;this.subscribers=[];if(!this.silent){}var F="_YUICEOnSubscribe";if(D!==F){this.subscribeEvent=new YAHOO.util.CustomEvent(F,this,true);}this.lastError=null;};YAHOO.util.CustomEvent.LIST=0;YAHOO.util.CustomEvent.FLAT=1;YAHOO.util.CustomEvent.prototype={subscribe:function(B,C,D){if(!B){throw new Error("Invalid callback for subscriber to '"+this.type+"'");}if(this.subscribeEvent){this.subscribeEvent.fire(B,C,D);}var A=new YAHOO.util.Subscriber(B,C,D);if(this.fireOnce&&this.fired){this.notify(A,this.firedWith);}else{this.subscribers.push(A);}},unsubscribe:function(D,F){if(!D){return this.unsubscribeAll();}var E=false;for(var B=0,A=this.subscribers.length;B<A;++B){var C=this.subscribers[B];if(C&&C.contains(D,F)){this._delete(B);E=true;}}return E;},fire:function(){this.lastError=null;var H=[],A=this.subscribers.length;var D=[].slice.call(arguments,0),C=true,F,B=false;if(this.fireOnce){if(this.fired){return true;}else{this.firedWith=D;}}this.fired=true;if(!A&&this.silent){return true;}if(!this.silent){}var E=this.subscribers.slice();for(F=0;F<A;++F){var G=E[F];if(!G){B=true;}else{C=this.notify(G,D);if(false===C){if(!this.silent){}break;}}}return(C!==false);},notify:function(F,C){var B,H=null,E=F.getScope(this.scope),A=YAHOO.util.Event.throwErrors;if(!this.silent){}if(this.signature==YAHOO.util.CustomEvent.FLAT){if(C.length>0){H=C[0];}try{B=F.fn.call(E,H,F.obj);}catch(G){this.lastError=G;if(A){throw G;}}}else{try{B=F.fn.call(E,this.type,C,F.obj);}catch(D){this.lastError=D;if(A){throw D;}}}return B;},unsubscribeAll:function(){var A=this.subscribers.length,B;for(B=A-1;B>-1;B--){this._delete(B);}this.subscribers=[];return A;},_delete:function(A){var B=this.subscribers[A];if(B){delete B.fn;delete B.obj;}this.subscribers.splice(A,1);},toString:function(){return"CustomEvent: "+"'"+this.type+"', "+"context: "+this.scope;}};YAHOO.util.Subscriber=function(A,B,C){this.fn=A;this.obj=YAHOO.lang.isUndefined(B)?null:B;this.overrideContext=C;};YAHOO.util.Subscriber.prototype.getScope=function(A){if(this.overrideContext){if(this.overrideContext===true){return this.obj;}else{return this.overrideContext;}}return A;};YAHOO.util.Subscriber.prototype.contains=function(A,B){if(B){return(this.fn==A&&this.obj==B);}else{return(this.fn==A);}};YAHOO.util.Subscriber.prototype.toString=function(){return"Subscriber { obj: "+this.obj+", overrideContext: "+(this.overrideContext||"no")+" }";};if(!YAHOO.util.Event){YAHOO.util.Event=function(){var G=false,H=[],J=[],A=0,E=[],B=0,C={63232:38,63233:40,63234:37,63235:39,63276:33,63277:34,25:9},D=YAHOO.env.ua.ie,F="focusin",I="focusout";return{POLL_RETRYS:500,POLL_INTERVAL:40,EL:0,TYPE:1,FN:2,WFN:3,UNLOAD_OBJ:3,ADJ_SCOPE:4,OBJ:5,OVERRIDE:6,CAPTURE:7,lastError:null,isSafari:YAHOO.env.ua.webkit,webkit:YAHOO.env.ua.webkit,isIE:D,_interval:null,_dri:null,_specialTypes:{focusin:(D?"focusin":"focus"),focusout:(D?"focusout":"blur")},DOMReady:false,throwErrors:false,startInterval:function(){if(!this._interval){this._interval=YAHOO.lang.later(this.POLL_INTERVAL,this,this._tryPreloadAttach,null,true);}},onAvailable:function(Q,M,O,P,N){var K=(YAHOO.lang.isString(Q))?[Q]:Q;for(var L=0;L<K.length;L=L+1){E.push({id:K[L],fn:M,obj:O,overrideContext:P,checkReady:N});}A=this.POLL_RETRYS;this.startInterval();},onContentReady:function(N,K,L,M){this.onAvailable(N,K,L,M,true);},onDOMReady:function(){this.DOMReadyEvent.subscribe.apply(this.DOMReadyEvent,arguments);},_addListener:function(M,K,V,P,T,Y){if(!V||!V.call){return false;}if(this._isValidCollection(M)){var W=true;for(var Q=0,S=M.length;Q<S;++Q){W=this.on(M[Q],K,V,P,T)&&W;}return W;}else{if(YAHOO.lang.isString(M)){var O=this.getEl(M);if(O){M=O;}else{this.onAvailable(M,function(){YAHOO.util.Event._addListener(M,K,V,P,T,Y);});return true;}}}if(!M){return false;}if("unload"==K&&P!==this){J[J.length]=[M,K,V,P,T];return true;}var L=M;if(T){if(T===true){L=P;}else{L=T;}}var N=function(Z){return V.call(L,YAHOO.util.Event.getEvent(Z,M),P);};var X=[M,K,V,N,L,P,T,Y];var R=H.length;H[R]=X;try{this._simpleAdd(M,K,N,Y);}catch(U){this.lastError=U;this.removeListener(M,K,V);return false;}return true;},_getType:function(K){return this._specialTypes[K]||K;},addListener:function(M,P,L,N,O){var K=((P==F||P==I)&&!YAHOO.env.ua.ie)?true:false;return this._addListener(M,this._getType(P),L,N,O,K);},addFocusListener:function(L,K,M,N){return this.on(L,F,K,M,N);},removeFocusListener:function(L,K){return this.removeListener(L,F,K);},addBlurListener:function(L,K,M,N){return this.on(L,I,K,M,N);},removeBlurListener:function(L,K){return this.removeListener(L,I,K);},removeListener:function(L,K,R){var M,P,U;K=this._getType(K);if(typeof L=="string"){L=this.getEl(L);}else{if(this._isValidCollection(L)){var S=true;for(M=L.length-1;M>-1;M--){S=(this.removeListener(L[M],K,R)&&S);}return S;}}if(!R||!R.call){return this.purgeElement(L,false,K);}if("unload"==K){for(M=J.length-1;M>-1;M--){U=J[M];if(U&&U[0]==L&&U[1]==K&&U[2]==R){J.splice(M,1);return true;}}return false;}var N=null;var O=arguments[3];if("undefined"===typeof O){O=this._getCacheIndex(H,L,K,R);}if(O>=0){N=H[O];}if(!L||!N){return false;}var T=N[this.CAPTURE]===true?true:false;try{this._simpleRemove(L,K,N[this.WFN],T);}catch(Q){this.lastError=Q;return false;}delete H[O][this.WFN];delete H[O][this.FN];H.splice(O,1);return true;},getTarget:function(M,L){var K=M.target||M.srcElement;return this.resolveTextNode(K);},resolveTextNode:function(L){try{if(L&&3==L.nodeType){return L.parentNode;}}catch(K){}return L;},getPageX:function(L){var K=L.pageX;if(!K&&0!==K){K=L.clientX||0;if(this.isIE){K+=this._getScrollLeft();}}return K;},getPageY:function(K){var L=K.pageY;if(!L&&0!==L){L=K.clientY||0;if(this.isIE){L+=this._getScrollTop();}}return L;},getXY:function(K){return[this.getPageX(K),this.getPageY(K)];},getRelatedTarget:function(L){var K=L.relatedTarget;if(!K){if(L.type=="mouseout"){K=L.toElement;
+}else{if(L.type=="mouseover"){K=L.fromElement;}}}return this.resolveTextNode(K);},getTime:function(M){if(!M.time){var L=new Date().getTime();try{M.time=L;}catch(K){this.lastError=K;return L;}}return M.time;},stopEvent:function(K){this.stopPropagation(K);this.preventDefault(K);},stopPropagation:function(K){if(K.stopPropagation){K.stopPropagation();}else{K.cancelBubble=true;}},preventDefault:function(K){if(K.preventDefault){K.preventDefault();}else{K.returnValue=false;}},getEvent:function(M,K){var L=M||window.event;if(!L){var N=this.getEvent.caller;while(N){L=N.arguments[0];if(L&&Event==L.constructor){break;}N=N.caller;}}return L;},getCharCode:function(L){var K=L.keyCode||L.charCode||0;if(YAHOO.env.ua.webkit&&(K in C)){K=C[K];}return K;},_getCacheIndex:function(M,P,Q,O){for(var N=0,L=M.length;N<L;N=N+1){var K=M[N];if(K&&K[this.FN]==O&&K[this.EL]==P&&K[this.TYPE]==Q){return N;}}return -1;},generateId:function(K){var L=K.id;if(!L){L="yuievtautoid-"+B;++B;K.id=L;}return L;},_isValidCollection:function(L){try{return(L&&typeof L!=="string"&&L.length&&!L.tagName&&!L.alert&&typeof L[0]!=="undefined");}catch(K){return false;}},elCache:{},getEl:function(K){return(typeof K==="string")?document.getElementById(K):K;},clearCache:function(){},DOMReadyEvent:new YAHOO.util.CustomEvent("DOMReady",YAHOO,0,0,1),_load:function(L){if(!G){G=true;var K=YAHOO.util.Event;K._ready();K._tryPreloadAttach();}},_ready:function(L){var K=YAHOO.util.Event;if(!K.DOMReady){K.DOMReady=true;K.DOMReadyEvent.fire();K._simpleRemove(document,"DOMContentLoaded",K._ready);}},_tryPreloadAttach:function(){if(E.length===0){A=0;if(this._interval){this._interval.cancel();this._interval=null;}return;}if(this.locked){return;}if(this.isIE){if(!this.DOMReady){this.startInterval();return;}}this.locked=true;var Q=!G;if(!Q){Q=(A>0&&E.length>0);}var P=[];var R=function(T,U){var S=T;if(U.overrideContext){if(U.overrideContext===true){S=U.obj;}else{S=U.overrideContext;}}U.fn.call(S,U.obj);};var L,K,O,N,M=[];for(L=0,K=E.length;L<K;L=L+1){O=E[L];if(O){N=this.getEl(O.id);if(N){if(O.checkReady){if(G||N.nextSibling||!Q){M.push(O);E[L]=null;}}else{R(N,O);E[L]=null;}}else{P.push(O);}}}for(L=0,K=M.length;L<K;L=L+1){O=M[L];R(this.getEl(O.id),O);}A--;if(Q){for(L=E.length-1;L>-1;L--){O=E[L];if(!O||!O.id){E.splice(L,1);}}this.startInterval();}else{if(this._interval){this._interval.cancel();this._interval=null;}}this.locked=false;},purgeElement:function(O,P,R){var M=(YAHOO.lang.isString(O))?this.getEl(O):O;var Q=this.getListeners(M,R),N,K;if(Q){for(N=Q.length-1;N>-1;N--){var L=Q[N];this.removeListener(M,L.type,L.fn);}}if(P&&M&&M.childNodes){for(N=0,K=M.childNodes.length;N<K;++N){this.purgeElement(M.childNodes[N],P,R);}}},getListeners:function(M,K){var P=[],L;if(!K){L=[H,J];}else{if(K==="unload"){L=[J];}else{K=this._getType(K);L=[H];}}var R=(YAHOO.lang.isString(M))?this.getEl(M):M;for(var O=0;O<L.length;O=O+1){var T=L[O];if(T){for(var Q=0,S=T.length;Q<S;++Q){var N=T[Q];if(N&&N[this.EL]===R&&(!K||K===N[this.TYPE])){P.push({type:N[this.TYPE],fn:N[this.FN],obj:N[this.OBJ],adjust:N[this.OVERRIDE],scope:N[this.ADJ_SCOPE],index:Q});}}}}return(P.length)?P:null;},_unload:function(R){var L=YAHOO.util.Event,O,N,M,Q,P,S=J.slice(),K;for(O=0,Q=J.length;O<Q;++O){M=S[O];if(M){K=window;if(M[L.ADJ_SCOPE]){if(M[L.ADJ_SCOPE]===true){K=M[L.UNLOAD_OBJ];}else{K=M[L.ADJ_SCOPE];}}M[L.FN].call(K,L.getEvent(R,M[L.EL]),M[L.UNLOAD_OBJ]);S[O]=null;}}M=null;K=null;J=null;if(H){for(N=H.length-1;N>-1;N--){M=H[N];if(M){L.removeListener(M[L.EL],M[L.TYPE],M[L.FN],N);}}M=null;}L._simpleRemove(window,"unload",L._unload);},_getScrollLeft:function(){return this._getScroll()[1];},_getScrollTop:function(){return this._getScroll()[0];},_getScroll:function(){var K=document.documentElement,L=document.body;if(K&&(K.scrollTop||K.scrollLeft)){return[K.scrollTop,K.scrollLeft];}else{if(L){return[L.scrollTop,L.scrollLeft];}else{return[0,0];}}},regCE:function(){},_simpleAdd:function(){if(window.addEventListener){return function(M,N,L,K){M.addEventListener(N,L,(K));};}else{if(window.attachEvent){return function(M,N,L,K){M.attachEvent("on"+N,L);};}else{return function(){};}}}(),_simpleRemove:function(){if(window.removeEventListener){return function(M,N,L,K){M.removeEventListener(N,L,(K));};}else{if(window.detachEvent){return function(L,M,K){L.detachEvent("on"+M,K);};}else{return function(){};}}}()};}();(function(){var EU=YAHOO.util.Event;EU.on=EU.addListener;EU.onFocus=EU.addFocusListener;EU.onBlur=EU.addBlurListener;
+/* DOMReady: based on work by: Dean Edwards/John Resig/Matthias Miller/Diego Perini */
+if(EU.isIE){if(self!==self.top){document.onreadystatechange=function(){if(document.readyState=="complete"){document.onreadystatechange=null;EU._ready();}};}else{YAHOO.util.Event.onDOMReady(YAHOO.util.Event._tryPreloadAttach,YAHOO.util.Event,true);var n=document.createElement("p");EU._dri=setInterval(function(){try{n.doScroll("left");clearInterval(EU._dri);EU._dri=null;EU._ready();n=null;}catch(ex){}},EU.POLL_INTERVAL);}}else{if(EU.webkit&&EU.webkit<525){EU._dri=setInterval(function(){var rs=document.readyState;if("loaded"==rs||"complete"==rs){clearInterval(EU._dri);EU._dri=null;EU._ready();}},EU.POLL_INTERVAL);}else{EU._simpleAdd(document,"DOMContentLoaded",EU._ready);}}EU._simpleAdd(window,"load",EU._load);EU._simpleAdd(window,"unload",EU._unload);EU._tryPreloadAttach();})();}YAHOO.util.EventProvider=function(){};YAHOO.util.EventProvider.prototype={__yui_events:null,__yui_subscribers:null,subscribe:function(A,C,F,E){this.__yui_events=this.__yui_events||{};var D=this.__yui_events[A];if(D){D.subscribe(C,F,E);}else{this.__yui_subscribers=this.__yui_subscribers||{};var B=this.__yui_subscribers;if(!B[A]){B[A]=[];}B[A].push({fn:C,obj:F,overrideContext:E});}},unsubscribe:function(C,E,G){this.__yui_events=this.__yui_events||{};var A=this.__yui_events;if(C){var F=A[C];if(F){return F.unsubscribe(E,G);}}else{var B=true;for(var D in A){if(YAHOO.lang.hasOwnProperty(A,D)){B=B&&A[D].unsubscribe(E,G);}}return B;}return false;},unsubscribeAll:function(A){return this.unsubscribe(A);
+},createEvent:function(B,G){this.__yui_events=this.__yui_events||{};var E=G||{},D=this.__yui_events,F;if(D[B]){}else{F=new YAHOO.util.CustomEvent(B,E.scope||this,E.silent,YAHOO.util.CustomEvent.FLAT,E.fireOnce);D[B]=F;if(E.onSubscribeCallback){F.subscribeEvent.subscribe(E.onSubscribeCallback);}this.__yui_subscribers=this.__yui_subscribers||{};var A=this.__yui_subscribers[B];if(A){for(var C=0;C<A.length;++C){F.subscribe(A[C].fn,A[C].obj,A[C].overrideContext);}}}return D[B];},fireEvent:function(B){this.__yui_events=this.__yui_events||{};var D=this.__yui_events[B];if(!D){return null;}var A=[];for(var C=1;C<arguments.length;++C){A.push(arguments[C]);}return D.fire.apply(D,A);},hasEvent:function(A){if(this.__yui_events){if(this.__yui_events[A]){return true;}}return false;}};(function(){var A=YAHOO.util.Event,C=YAHOO.lang;YAHOO.util.KeyListener=function(D,I,E,F){if(!D){}else{if(!I){}else{if(!E){}}}if(!F){F=YAHOO.util.KeyListener.KEYDOWN;}var G=new YAHOO.util.CustomEvent("keyPressed");this.enabledEvent=new YAHOO.util.CustomEvent("enabled");this.disabledEvent=new YAHOO.util.CustomEvent("disabled");if(C.isString(D)){D=document.getElementById(D);}if(C.isFunction(E)){G.subscribe(E);}else{G.subscribe(E.fn,E.scope,E.correctScope);}function H(O,N){if(!I.shift){I.shift=false;}if(!I.alt){I.alt=false;}if(!I.ctrl){I.ctrl=false;}if(O.shiftKey==I.shift&&O.altKey==I.alt&&O.ctrlKey==I.ctrl){var J,M=I.keys,L;if(YAHOO.lang.isArray(M)){for(var K=0;K<M.length;K++){J=M[K];L=A.getCharCode(O);if(J==L){G.fire(L,O);break;}}}else{L=A.getCharCode(O);if(M==L){G.fire(L,O);}}}}this.enable=function(){if(!this.enabled){A.on(D,F,H);this.enabledEvent.fire(I);}this.enabled=true;};this.disable=function(){if(this.enabled){A.removeListener(D,F,H);this.disabledEvent.fire(I);}this.enabled=false;};this.toString=function(){return"KeyListener ["+I.keys+"] "+D.tagName+(D.id?"["+D.id+"]":"");};};var B=YAHOO.util.KeyListener;B.KEYDOWN="keydown";B.KEYUP="keyup";B.KEY={ALT:18,BACK_SPACE:8,CAPS_LOCK:20,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,META:224,NUM_LOCK:144,PAGE_DOWN:34,PAGE_UP:33,PAUSE:19,PRINTSCREEN:44,RIGHT:39,SCROLL_LOCK:145,SHIFT:16,SPACE:32,TAB:9,UP:38};})();YAHOO.register("event",YAHOO.util.Event,{version:"2.8.0r4",build:"2449"});
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/yui/event/event-min.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/yui/event/index.php
===================================================================
--- tags/2.8.2/wb/include/yui/event/index.php	(nonexistent)
+++ tags/2.8.2/wb/include/yui/event/index.php	(revision 1481)
@@ -0,0 +1,21 @@
+<?php
+/**
+ *
+ * @category        framework
+ * @package         yui
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+header("Location: ../../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/yui/event/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/yui/event/README
===================================================================
--- tags/2.8.2/wb/include/yui/event/README	(nonexistent)
+++ tags/2.8.2/wb/include/yui/event/README	(revision 1481)
@@ -0,0 +1,228 @@
+
+YUI Library - Event - Release Notes
+
+2.4.1
+  * Reverted clearAttributes() change to fix IE memory leak on iframes/windows
+
+2.4.0
+  * getListeners/purgeElement accepts either an element reference or an element id
+  * onAvailable/onContentReady accepts a single id or an array of ids
+  * No longer removing listeners during the unload event for non-IE browsers
+  * IE unload strategy for cross page memory leaks changed from removing each listener
+    to calling clearAttributes()
+  * the DOMReady property is now public
+  * Changed IE onDOMReady approach from the defered script node hack to the doScroll('left') hack
+  * getCharChode now Remaps SHIFT-TAB key code (25) to TAB (9) in Safari
+  * getCharCode provides the proper key codes for page up and page down in Safari
+  * Restored object check to _isValidCollection.
+  * In KeyListener, added keycode constants for some of the special keys.
+  * Rolled back the change added for hacking around IE errors from bubbled 
+    events that originally targeted an ActiveX control.
+
+2.3.1
+  * CustomEvent fire() now catches exceptions thrown by the subscribers so
+    that the rest of the subscribers execute.  The exception is logged and
+    stored in the "lastError" property.
+  * Performance tweak: _isValidCollection fails strings first.
+  * onAvailable/onContentReady will work if an element ref rather than an
+    id is provided.
+  * getListeners: fixed the values for the obj and adjust properties.
+    Added scope property.
+  * Added IE hack for when the event target is something that can't be
+    inspected (like a VML canvas).  In this case the target is set to
+    the element the listener is bound to.
+
+2.3.0
+  * addListener now produces a logger warning if the supplied callback is 
+    undefined.
+  * Reduced the likelihood that window onload listeners fire before
+    onAvailable listeners when the two happen near the same moment.
+  * Fixed an IE error that could occur when the library was injected into 
+    the page after window onload.
+  * The onDOMReady listener will be executed immediately if the
+    DOMReady event had already fired prior to the call.
+  * Unsubscribing custom events within a handler for the event now works 
+    properly.
+  * EventProvider unsubscribeAll will unsubscribe all listeners from
+    all hosted custom events if the type is not specified.
+  * Event.getKeyCode now checks keyCode before charCode for Safari normalization.  
+    Safari arrow key codes are normalized as well.
+  * Broke up the </script> in Event to allow it to be included inline
+
+2.2.2
+  * No change
+
+2.2.1
+  * onAvailable listeners are processed before onContentReady listeners so
+    they fire in the logical order when an element is found to be available 
+    and ready in the same pass.
+  * Added onDOMReady for receiving notification when the DOM is first usable.
+  * In Internet Explorer, onAvailable/onContentReady checks now start when
+    DOMReady fires to reduce the possibility of receiving an "operation
+    aborted" errors when inserting DOM nodes during in the onAvailable/
+    onContentReady listener execution.
+  * CustomEvent subscribers supplying undefined callbacks will be notified
+    when subscribing rather than having an ambiguous error thrown when the
+    event is fired.
+  * Fixed missing html tags in the examples.
+  * POLL_INTERVAL is 10 ms.
+  * YAHOO.util.CustomEvent is now declared before YAHOO.util.Event.
+
+2.2.0
+
+  * YAHOO.util.KeyListener was moved from the container package into event.
+  
+  * The Safari bug that made it so preventDefault would not work with click
+    and double-click listeners on anchor tags was resolved in version 2.0.4.
+    The workaround (using DOM0 events for these instead of the normal DOM2
+    events) is now only used for releases prior to 2.0.4.
+    
+  * getListeners/purgeElement now work correctly with unload listeners
+
+  * When legacyEvents are used (Safari<2.0.4 click events), if there was an
+    existing DOM0 event that the utility replaced, it is executed along with
+    the listeners that were added with the utility.
+
+  * Restored Event.regCE for compatibility with a beta release of the library
+    that in use in an external API.
+
+  * unsubscribe in CustomEvent and EventProvider will remove all listeners
+    if the listener is omitted.
+
+  * Added unsubscribeAll to EventProvider
+
+  * Added Event.lastError which stores the most recent error object if
+    a browser-specific add/remove listener call throws an exception.
+
+0.12.2
+
+  * Fixed a bug introduced in 0.12.1 release caused nested onAvailable
+    calls to fail.
+
+0.12.1
+
+  * If an error is thrown during the browser-specific add/remove lister call,
+    addListener/removeListener will catch the error and return false.
+
+  * onAvailable array items are nulled out instead of deleted when completed to
+    get around an Opera issue introduced in a recent version of the browser.
+
+0.12.0
+
+   * If the function argument is not provided to Event.removeListener, all
+     all listeners for the specified event type on the element will be removed.
+
+   * CustomEvent now has an optional parameter that defines the signature of
+     the listeners for this event.  Two signatures are supported:
+
+       YAHOO.util.CustomEvent.LIST:
+         param1: event name
+         param2: array of arguments provided to fire()
+         param3: <optional> the custom object supplied to subscribe()
+
+       YAHOO.util.CustomEvent.FLAT:
+         param1: the first argument provided to fire()
+         param2: <optional> the custom object supplied to subscribe()
+
+     The new flat signature makes it possible to provide a better API 
+     when using custom events, and it makes it possible to transparently 
+     wrap DOM events.
+   
+   * The parameters for overriding scope in both Event.addListener, and
+     CustomEvent.subscribe have been augmented.  In addition to the 
+     previous behavior where a true value would make the previous parameter
+     the execution scope, an object can be supplied instead.  If an object
+     is provided, that object becomes the scope obj.  This makes it possible 
+     to pass a both a custom object and adjust the scope to a different object.
+
+   * Added EventProvider, which is a wrapper for CustomEvent that makes it
+     possible to subscribe to events by name, whether or not the event has
+     been created.  This class was designed to be used with YAHOO.augment.
+     EventProvider custom events are created with the new FLAT listener
+     signature.
+
+   * CustomEvent subscribers can return false to stop the propagation of
+     the event.
+
+   * CustomEvents now have an onSubscribe custom event that can used to the
+     case where a subscriber subscribes to an one-time event that has already
+     happened.  Also provides a way for the implementer to defer initialization
+     logic until after the first subscription.
+
+   * Event.getCharCode now always returns keyCode if charCode is not available.
+
+   * Added Event.onContentReady, which is similar to onAvailable, but it also
+     checks simblings to try to determine when the element's children are
+     available.
+
+0.11.4
+
+   * Fixed a memory leak in IE6 that occurred when the utility was hosted in 
+     an iframe.
+
+   * Fixed an issue with Safari click listeners when listeners were removed.
+
+0.11.3
+
+   * The listener cache is now pruned when events are removed.  This fixes
+     a performance issue when adding many listeners, removing them, and
+     adding them again repeatedly.
+
+   * Safari click listeners will work correctly if a bound element is removed
+     from the DOM and a new element with the same ID is added.
+
+   * Removed the code that automatically unsubscribed custom event listeners.
+
+0.11.0
+
+   * Added Event.purgeElement which will remove all listeners added via 
+     addListener from the supplied element.  If an optional "type" parameter
+     is supplied, only events of that type will be removed.  Optionally, the
+     purge can be performed recursively on the element's children as well.
+
+   * Added Event.getListeners which will return all listeners attached to 
+     a given element.. either all listeners or listeners of a specific type.
+
+   * getTarget now automatically resolves text nodes.  The optional parameter
+     for this feature is now deprecated.
+
+   * getRelatedTarget now resolves text nodes for the browsers that return the
+     text node rather than its host HTML element.
+
+   * CustomEvent now logs the custom event activity if the logger widget is available
+
+0.10.0
+
+   * Added Safari dblclick to the list of legacy events.
+
+   * When multiple identical event handlers are defined, multiple calls
+     to removeListener can now remove all of them.
+
+   * removeListener works properly for unload events
+
+   * Legacy event bookkeeping is more efficient, improving the performance for
+     adding Safari click events.
+
+   * _unload() is more efficient, improving the page transition experience in 
+     Safari in particular.
+
+   * addListener, removeListener now return false if the function argument is
+     not valid.
+
+   * Fixed an operator precedence issue in getCharCode.
+
+   * Added Event.getXY, which returns [Event.getPageX(e), Event.getPageY(e)]
+
+   * Added Event.onAvailable, which will execute the callback when the element
+     with the supplied id is found.  Currently searches periodically until the
+     window load event or for up to 10 seconds after the onAvailable method 
+     was executed.
+
+   * The lazy listener attachment process now will poll beyond the window load
+     event in order to better handle the case when a listener is defined
+     late in the page but before the element is in the dom.
+
+   * Fixed browser detection for Opera installations reporting as IE.
+
+   * It is now possible to remove and re-add legacy events (Safari click event).
+

Property changes on: tags/2.8.2/wb/include/yui/event/README
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/yui/dragdrop/dragdrop-debug.js
===================================================================
--- tags/2.8.2/wb/include/yui/dragdrop/dragdrop-debug.js	(nonexistent)
+++ tags/2.8.2/wb/include/yui/dragdrop/dragdrop-debug.js	(revision 1481)
@@ -0,0 +1,3710 @@
+/*
+Copyright (c) 2009, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.8.0r4
+*/
+/**
+ * The drag and drop utility provides a framework for building drag and drop
+ * applications.  In addition to enabling drag and drop for specific elements,
+ * the drag and drop elements are tracked by the manager class, and the
+ * interactions between the various elements are tracked during the drag and
+ * the implementing code is notified about these important moments.
+ * @module dragdrop
+ * @title Drag and Drop
+ * @requires yahoo,dom,event
+ * @namespace YAHOO.util
+ */
+
+// Only load the library once.  Rewriting the manager class would orphan 
+// existing drag and drop instances.
+if (!YAHOO.util.DragDropMgr) {
+
+/**
+ * DragDropMgr is a singleton that tracks the element interaction for 
+ * all DragDrop items in the window.  Generally, you will not call 
+ * this class directly, but it does have helper methods that could 
+ * be useful in your DragDrop implementations.
+ * @class DragDropMgr
+ * @static
+ */
+YAHOO.util.DragDropMgr = function() {
+
+    var Event = YAHOO.util.Event,
+        Dom = YAHOO.util.Dom;
+
+    return {
+        /**
+        * This property is used to turn on global use of the shim element on all DragDrop instances, defaults to false for backcompat. (Use: YAHOO.util.DDM.useShim = true)
+        * @property useShim
+        * @type Boolean
+        * @static
+        */
+        useShim: false,
+        /**
+        * This property is used to determine if the shim is active over the screen, default false.
+        * @private
+        * @property _shimActive
+        * @type Boolean
+        * @static
+        */
+        _shimActive: false,
+        /**
+        * This property is used when useShim is set on a DragDrop object to store the current state of DDM.useShim so it can be reset when a drag operation is done.
+        * @private
+        * @property _shimState
+        * @type Boolean
+        * @static
+        */
+        _shimState: false,
+        /**
+        * This property is used when useShim is set to true, it will set the opacity on the shim to .5 for debugging. Use: (YAHOO.util.DDM._debugShim = true;)
+        * @private
+        * @property _debugShim
+        * @type Boolean
+        * @static
+        */
+        _debugShim: false,
+        /**
+        * This method will create a shim element (giving it the id of yui-ddm-shim), it also attaches the mousemove and mouseup listeners to it and attaches a scroll listener on the window
+        * @private
+        * @method _sizeShim
+        * @static
+        */
+        _createShim: function() {
+            YAHOO.log('Creating Shim Element', 'info', 'DragDropMgr');
+            var s = document.createElement('div');
+            s.id = 'yui-ddm-shim';
+            if (document.body.firstChild) {
+                document.body.insertBefore(s, document.body.firstChild);
+            } else {
+                document.body.appendChild(s);
+            }
+            s.style.display = 'none';
+            s.style.backgroundColor = 'red';
+            s.style.position = 'absolute';
+            s.style.zIndex = '99999';
+            Dom.setStyle(s, 'opacity', '0');
+            this._shim = s;
+            Event.on(s, "mouseup",   this.handleMouseUp, this, true);
+            Event.on(s, "mousemove", this.handleMouseMove, this, true);
+            Event.on(window, 'scroll', this._sizeShim, this, true);
+        },
+        /**
+        * This method will size the shim, called from activate and on window scroll event
+        * @private
+        * @method _sizeShim
+        * @static
+        */
+        _sizeShim: function() {
+            if (this._shimActive) {
+                YAHOO.log('Sizing Shim', 'info', 'DragDropMgr');
+                var s = this._shim;
+                s.style.height = Dom.getDocumentHeight() + 'px';
+                s.style.width = Dom.getDocumentWidth() + 'px';
+                s.style.top = '0';
+                s.style.left = '0';
+            }
+        },
+        /**
+        * This method will create the shim element if needed, then show the shim element, size the element and set the _shimActive property to true
+        * @private
+        * @method _activateShim
+        * @static
+        */
+        _activateShim: function() {
+            if (this.useShim) {
+                YAHOO.log('Activating Shim', 'info', 'DragDropMgr');
+                if (!this._shim) {
+                    this._createShim();
+                }
+                this._shimActive = true;
+                var s = this._shim,
+                    o = '0';
+                if (this._debugShim) {
+                    o = '.5';
+                }
+                Dom.setStyle(s, 'opacity', o);
+                this._sizeShim();
+                s.style.display = 'block';
+            }
+        },
+        /**
+        * This method will hide the shim element and set the _shimActive property to false
+        * @private
+        * @method _deactivateShim
+        * @static
+        */
+        _deactivateShim: function() {
+            YAHOO.log('Deactivating Shim', 'info', 'DragDropMgr');
+            this._shim.style.display = 'none';
+            this._shimActive = false;
+        },
+        /**
+        * The HTML element created to use as a shim over the document to track mouse movements
+        * @private
+        * @property _shim
+        * @type HTMLElement
+        * @static
+        */
+        _shim: null,
+        /**
+         * Two dimensional Array of registered DragDrop objects.  The first 
+         * dimension is the DragDrop item group, the second the DragDrop 
+         * object.
+         * @property ids
+         * @type {string: string}
+         * @private
+         * @static
+         */
+        ids: {},
+
+        /**
+         * Array of element ids defined as drag handles.  Used to determine 
+         * if the element that generated the mousedown event is actually the 
+         * handle and not the html element itself.
+         * @property handleIds
+         * @type {string: string}
+         * @private
+         * @static
+         */
+        handleIds: {},
+
+        /**
+         * the DragDrop object that is currently being dragged
+         * @property dragCurrent
+         * @type DragDrop
+         * @private
+         * @static
+         **/
+        dragCurrent: null,
+
+        /**
+         * the DragDrop object(s) that are being hovered over
+         * @property dragOvers
+         * @type Array
+         * @private
+         * @static
+         */
+        dragOvers: {},
+
+        /**
+         * the X distance between the cursor and the object being dragged
+         * @property deltaX
+         * @type int
+         * @private
+         * @static
+         */
+        deltaX: 0,
+
+        /**
+         * the Y distance between the cursor and the object being dragged
+         * @property deltaY
+         * @type int
+         * @private
+         * @static
+         */
+        deltaY: 0,
+
+        /**
+         * Flag to determine if we should prevent the default behavior of the
+         * events we define. By default this is true, but this can be set to 
+         * false if you need the default behavior (not recommended)
+         * @property preventDefault
+         * @type boolean
+         * @static
+         */
+        preventDefault: true,
+
+        /**
+         * Flag to determine if we should stop the propagation of the events 
+         * we generate. This is true by default but you may want to set it to
+         * false if the html element contains other features that require the
+         * mouse click.
+         * @property stopPropagation
+         * @type boolean
+         * @static
+         */
+        stopPropagation: true,
+
+        /**
+         * Internal flag that is set to true when drag and drop has been
+         * initialized
+         * @property initialized
+         * @private
+         * @static
+         */
+        initialized: false,
+
+        /**
+         * All drag and drop can be disabled.
+         * @property locked
+         * @private
+         * @static
+         */
+        locked: false,
+
+        /**
+         * Provides additional information about the the current set of
+         * interactions.  Can be accessed from the event handlers. It
+         * contains the following properties:
+         *
+         *       out:       onDragOut interactions
+         *       enter:     onDragEnter interactions
+         *       over:      onDragOver interactions
+         *       drop:      onDragDrop interactions
+         *       point:     The location of the cursor
+         *       draggedRegion: The location of dragged element at the time
+         *                      of the interaction
+         *       sourceRegion: The location of the source elemtn at the time
+         *                     of the interaction
+         *       validDrop: boolean
+         * @property interactionInfo
+         * @type object
+         * @static
+         */
+        interactionInfo: null,
+
+        /**
+         * Called the first time an element is registered.
+         * @method init
+         * @private
+         * @static
+         */
+        init: function() {
+            this.initialized = true;
+        },
+
+        /**
+         * In point mode, drag and drop interaction is defined by the 
+         * location of the cursor during the drag/drop
+         * @property POINT
+         * @type int
+         * @static
+         * @final
+         */
+        POINT: 0,
+
+        /**
+         * In intersect mode, drag and drop interaction is defined by the 
+         * cursor position or the amount of overlap of two or more drag and 
+         * drop objects.
+         * @property INTERSECT
+         * @type int
+         * @static
+         * @final
+         */
+        INTERSECT: 1,
+
+        /**
+         * In intersect mode, drag and drop interaction is defined only by the 
+         * overlap of two or more drag and drop objects.
+         * @property STRICT_INTERSECT
+         * @type int
+         * @static
+         * @final
+         */
+        STRICT_INTERSECT: 2,
+
+        /**
+         * The current drag and drop mode.  Default: POINT
+         * @property mode
+         * @type int
+         * @static
+         */
+        mode: 0,
+
+        /**
+         * Runs method on all drag and drop objects
+         * @method _execOnAll
+         * @private
+         * @static
+         */
+        _execOnAll: function(sMethod, args) {
+            for (var i in this.ids) {
+                for (var j in this.ids[i]) {
+                    var oDD = this.ids[i][j];
+                    if (! this.isTypeOfDD(oDD)) {
+                        continue;
+                    }
+                    oDD[sMethod].apply(oDD, args);
+                }
+            }
+        },
+
+        /**
+         * Drag and drop initialization.  Sets up the global event handlers
+         * @method _onLoad
+         * @private
+         * @static
+         */
+        _onLoad: function() {
+
+            this.init();
+
+            YAHOO.log("DragDropMgr onload", "info", "DragDropMgr");
+            Event.on(document, "mouseup",   this.handleMouseUp, this, true);
+            Event.on(document, "mousemove", this.handleMouseMove, this, true);
+            Event.on(window,   "unload",    this._onUnload, this, true);
+            Event.on(window,   "resize",    this._onResize, this, true);
+            // Event.on(window,   "mouseout",    this._test);
+
+        },
+
+        /**
+         * Reset constraints on all drag and drop objs
+         * @method _onResize
+         * @private
+         * @static
+         */
+        _onResize: function(e) {
+            YAHOO.log("window resize", "info", "DragDropMgr");
+            this._execOnAll("resetConstraints", []);
+        },
+
+        /**
+         * Lock all drag and drop functionality
+         * @method lock
+         * @static
+         */
+        lock: function() { this.locked = true; },
+
+        /**
+         * Unlock all drag and drop functionality
+         * @method unlock
+         * @static
+         */
+        unlock: function() { this.locked = false; },
+
+        /**
+         * Is drag and drop locked?
+         * @method isLocked
+         * @return {boolean} True if drag and drop is locked, false otherwise.
+         * @static
+         */
+        isLocked: function() { return this.locked; },
+
+        /**
+         * Location cache that is set for all drag drop objects when a drag is
+         * initiated, cleared when the drag is finished.
+         * @property locationCache
+         * @private
+         * @static
+         */
+        locationCache: {},
+
+        /**
+         * Set useCache to false if you want to force object the lookup of each
+         * drag and drop linked element constantly during a drag.
+         * @property useCache
+         * @type boolean
+         * @static
+         */
+        useCache: true,
+
+        /**
+         * The number of pixels that the mouse needs to move after the 
+         * mousedown before the drag is initiated.  Default=3;
+         * @property clickPixelThresh
+         * @type int
+         * @static
+         */
+        clickPixelThresh: 3,
+
+        /**
+         * The number of milliseconds after the mousedown event to initiate the
+         * drag if we don't get a mouseup event. Default=1000
+         * @property clickTimeThresh
+         * @type int
+         * @static
+         */
+        clickTimeThresh: 1000,
+
+        /**
+         * Flag that indicates that either the drag pixel threshold or the 
+         * mousdown time threshold has been met
+         * @property dragThreshMet
+         * @type boolean
+         * @private
+         * @static
+         */
+        dragThreshMet: false,
+
+        /**
+         * Timeout used for the click time threshold
+         * @property clickTimeout
+         * @type Object
+         * @private
+         * @static
+         */
+        clickTimeout: null,
+
+        /**
+         * The X position of the mousedown event stored for later use when a 
+         * drag threshold is met.
+         * @property startX
+         * @type int
+         * @private
+         * @static
+         */
+        startX: 0,
+
+        /**
+         * The Y position of the mousedown event stored for later use when a 
+         * drag threshold is met.
+         * @property startY
+         * @type int
+         * @private
+         * @static
+         */
+        startY: 0,
+
+        /**
+         * Flag to determine if the drag event was fired from the click timeout and
+         * not the mouse move threshold.
+         * @property fromTimeout
+         * @type boolean
+         * @private
+         * @static
+         */
+        fromTimeout: false,
+
+        /**
+         * Each DragDrop instance must be registered with the DragDropMgr.  
+         * This is executed in DragDrop.init()
+         * @method regDragDrop
+         * @param {DragDrop} oDD the DragDrop object to register
+         * @param {String} sGroup the name of the group this element belongs to
+         * @static
+         */
+        regDragDrop: function(oDD, sGroup) {
+            if (!this.initialized) { this.init(); }
+            
+            if (!this.ids[sGroup]) {
+                this.ids[sGroup] = {};
+            }
+            this.ids[sGroup][oDD.id] = oDD;
+        },
+
+        /**
+         * Removes the supplied dd instance from the supplied group. Executed
+         * by DragDrop.removeFromGroup, so don't call this function directly.
+         * @method removeDDFromGroup
+         * @private
+         * @static
+         */
+        removeDDFromGroup: function(oDD, sGroup) {
+            if (!this.ids[sGroup]) {
+                this.ids[sGroup] = {};
+            }
+
+            var obj = this.ids[sGroup];
+            if (obj && obj[oDD.id]) {
+                delete obj[oDD.id];
+            }
+        },
+
+        /**
+         * Unregisters a drag and drop item.  This is executed in 
+         * DragDrop.unreg, use that method instead of calling this directly.
+         * @method _remove
+         * @private
+         * @static
+         */
+        _remove: function(oDD) {
+            for (var g in oDD.groups) {
+                if (g) {
+                    var item = this.ids[g];
+                    if (item && item[oDD.id]) {
+                        delete item[oDD.id];
+                    }
+                }
+                
+            }
+            delete this.handleIds[oDD.id];
+        },
+
+        /**
+         * Each DragDrop handle element must be registered.  This is done
+         * automatically when executing DragDrop.setHandleElId()
+         * @method regHandle
+         * @param {String} sDDId the DragDrop id this element is a handle for
+         * @param {String} sHandleId the id of the element that is the drag 
+         * handle
+         * @static
+         */
+        regHandle: function(sDDId, sHandleId) {
+            if (!this.handleIds[sDDId]) {
+                this.handleIds[sDDId] = {};
+            }
+            this.handleIds[sDDId][sHandleId] = sHandleId;
+        },
+
+        /**
+         * Utility function to determine if a given element has been 
+         * registered as a drag drop item.
+         * @method isDragDrop
+         * @param {String} id the element id to check
+         * @return {boolean} true if this element is a DragDrop item, 
+         * false otherwise
+         * @static
+         */
+        isDragDrop: function(id) {
+            return ( this.getDDById(id) ) ? true : false;
+        },
+
+        /**
+         * Returns the drag and drop instances that are in all groups the
+         * passed in instance belongs to.
+         * @method getRelated
+         * @param {DragDrop} p_oDD the obj to get related data for
+         * @param {boolean} bTargetsOnly if true, only return targetable objs
+         * @return {DragDrop[]} the related instances
+         * @static
+         */
+        getRelated: function(p_oDD, bTargetsOnly) {
+            var oDDs = [];
+            for (var i in p_oDD.groups) {
+                for (var j in this.ids[i]) {
+                    var dd = this.ids[i][j];
+                    if (! this.isTypeOfDD(dd)) {
+                        continue;
+                    }
+                    if (!bTargetsOnly || dd.isTarget) {
+                        oDDs[oDDs.length] = dd;
+                    }
+                }
+            }
+
+            return oDDs;
+        },
+
+        /**
+         * Returns true if the specified dd target is a legal target for 
+         * the specifice drag obj
+         * @method isLegalTarget
+         * @param {DragDrop} the drag obj
+         * @param {DragDrop} the target
+         * @return {boolean} true if the target is a legal target for the 
+         * dd obj
+         * @static
+         */
+        isLegalTarget: function (oDD, oTargetDD) {
+            var targets = this.getRelated(oDD, true);
+            for (var i=0, len=targets.length;i<len;++i) {
+                if (targets[i].id == oTargetDD.id) {
+                    return true;
+                }
+            }
+
+            return false;
+        },
+
+        /**
+         * My goal is to be able to transparently determine if an object is
+         * typeof DragDrop, and the exact subclass of DragDrop.  typeof 
+         * returns "object", oDD.constructor.toString() always returns
+         * "DragDrop" and not the name of the subclass.  So for now it just
+         * evaluates a well-known variable in DragDrop.
+         * @method isTypeOfDD
+         * @param {Object} the object to evaluate
+         * @return {boolean} true if typeof oDD = DragDrop
+         * @static
+         */
+        isTypeOfDD: function (oDD) {
+            return (oDD && oDD.__ygDragDrop);
+        },
+
+        /**
+         * Utility function to determine if a given element has been 
+         * registered as a drag drop handle for the given Drag Drop object.
+         * @method isHandle
+         * @param {String} id the element id to check
+         * @return {boolean} true if this element is a DragDrop handle, false 
+         * otherwise
+         * @static
+         */
+        isHandle: function(sDDId, sHandleId) {
+            return ( this.handleIds[sDDId] && 
+                            this.handleIds[sDDId][sHandleId] );
+        },
+
+        /**
+         * Returns the DragDrop instance for a given id
+         * @method getDDById
+         * @param {String} id the id of the DragDrop object
+         * @return {DragDrop} the drag drop object, null if it is not found
+         * @static
+         */
+        getDDById: function(id) {
+            for (var i in this.ids) {
+                if (this.ids[i][id]) {
+                    return this.ids[i][id];
+                }
+            }
+            return null;
+        },
+
+        /**
+         * Fired after a registered DragDrop object gets the mousedown event.
+         * Sets up the events required to track the object being dragged
+         * @method handleMouseDown
+         * @param {Event} e the event
+         * @param oDD the DragDrop object being dragged
+         * @private
+         * @static
+         */
+        handleMouseDown: function(e, oDD) {
+            //this._activateShim();
+
+            this.currentTarget = YAHOO.util.Event.getTarget(e);
+
+            this.dragCurrent = oDD;
+
+            var el = oDD.getEl();
+
+            // track start position
+            this.startX = YAHOO.util.Event.getPageX(e);
+            this.startY = YAHOO.util.Event.getPageY(e);
+
+            this.deltaX = this.startX - el.offsetLeft;
+            this.deltaY = this.startY - el.offsetTop;
+
+            this.dragThreshMet = false;
+
+            this.clickTimeout = setTimeout( 
+                    function() { 
+                        var DDM = YAHOO.util.DDM;
+                        DDM.startDrag(DDM.startX, DDM.startY);
+                        DDM.fromTimeout = true;
+                    }, 
+                    this.clickTimeThresh );
+        },
+
+        /**
+         * Fired when either the drag pixel threshold or the mousedown hold 
+         * time threshold has been met.
+         * @method startDrag
+         * @param x {int} the X position of the original mousedown
+         * @param y {int} the Y position of the original mousedown
+         * @static
+         */
+        startDrag: function(x, y) {
+            if (this.dragCurrent && this.dragCurrent.useShim) {
+                this._shimState = this.useShim;
+                this.useShim = true;
+            }
+            this._activateShim();
+            YAHOO.log("firing drag start events", "info", "DragDropMgr");
+            clearTimeout(this.clickTimeout);
+            var dc = this.dragCurrent;
+            if (dc && dc.events.b4StartDrag) {
+                dc.b4StartDrag(x, y);
+                dc.fireEvent('b4StartDragEvent', { x: x, y: y });
+            }
+            if (dc && dc.events.startDrag) {
+                dc.startDrag(x, y);
+                dc.fireEvent('startDragEvent', { x: x, y: y });
+            }
+            this.dragThreshMet = true;
+        },
+
+        /**
+         * Internal function to handle the mouseup event.  Will be invoked 
+         * from the context of the document.
+         * @method handleMouseUp
+         * @param {Event} e the event
+         * @private
+         * @static
+         */
+        handleMouseUp: function(e) {
+            if (this.dragCurrent) {
+                clearTimeout(this.clickTimeout);
+
+                if (this.dragThreshMet) {
+                    YAHOO.log("mouseup detected - completing drag", "info", "DragDropMgr");
+                    if (this.fromTimeout) {
+                        YAHOO.log('fromTimeout is true (mouse didn\'t move), call handleMouseMove so we can get the dragOver event', 'info', 'DragDropMgr');
+                        this.fromTimeout = false;
+                        this.handleMouseMove(e);
+                    }
+                    this.fromTimeout = false;
+                    this.fireEvents(e, true);
+                } else {
+                    YAHOO.log("drag threshold not met", "info", "DragDropMgr");
+                }
+
+                this.stopDrag(e);
+
+                this.stopEvent(e);
+            }
+        },
+
+        /**
+         * Utility to stop event propagation and event default, if these 
+         * features are turned on.
+         * @method stopEvent
+         * @param {Event} e the event as returned by this.getEvent()
+         * @static
+         */
+        stopEvent: function(e) {
+            if (this.stopPropagation) {
+                YAHOO.util.Event.stopPropagation(e);
+            }
+
+            if (this.preventDefault) {
+                YAHOO.util.Event.preventDefault(e);
+            }
+        },
+
+        /** 
+         * Ends the current drag, cleans up the state, and fires the endDrag
+         * and mouseUp events.  Called internally when a mouseup is detected
+         * during the drag.  Can be fired manually during the drag by passing
+         * either another event (such as the mousemove event received in onDrag)
+         * or a fake event with pageX and pageY defined (so that endDrag and
+         * onMouseUp have usable position data.).  Alternatively, pass true
+         * for the silent parameter so that the endDrag and onMouseUp events
+         * are skipped (so no event data is needed.)
+         *
+         * @method stopDrag
+         * @param {Event} e the mouseup event, another event (or a fake event) 
+         *                  with pageX and pageY defined, or nothing if the 
+         *                  silent parameter is true
+         * @param {boolean} silent skips the enddrag and mouseup events if true
+         * @static
+         */
+        stopDrag: function(e, silent) {
+            // YAHOO.log("mouseup - removing event handlers");
+            var dc = this.dragCurrent;
+            // Fire the drag end event for the item that was dragged
+            if (dc && !silent) {
+                if (this.dragThreshMet) {
+                    YAHOO.log("firing endDrag events", "info", "DragDropMgr");
+                    if (dc.events.b4EndDrag) {
+                        dc.b4EndDrag(e);
+                        dc.fireEvent('b4EndDragEvent', { e: e });
+                    }
+                    if (dc.events.endDrag) {
+                        dc.endDrag(e);
+                        dc.fireEvent('endDragEvent', { e: e });
+                    }
+                }
+                if (dc.events.mouseUp) {
+                    YAHOO.log("firing dragdrop onMouseUp event", "info", "DragDropMgr");
+                    dc.onMouseUp(e);
+                    dc.fireEvent('mouseUpEvent', { e: e });
+                }
+            }
+
+            if (this._shimActive) {
+                this._deactivateShim();
+                if (this.dragCurrent && this.dragCurrent.useShim) {
+                    this.useShim = this._shimState;
+                    this._shimState = false;
+                }
+            }
+
+            this.dragCurrent = null;
+            this.dragOvers = {};
+        },
+
+        /** 
+         * Internal function to handle the mousemove event.  Will be invoked 
+         * from the context of the html element.
+         *
+         * @TODO figure out what we can do about mouse events lost when the 
+         * user drags objects beyond the window boundary.  Currently we can 
+         * detect this in internet explorer by verifying that the mouse is 
+         * down during the mousemove event.  Firefox doesn't give us the 
+         * button state on the mousemove event.
+         * @method handleMouseMove
+         * @param {Event} e the event
+         * @private
+         * @static
+         */
+        handleMouseMove: function(e) {
+            //YAHOO.log("handlemousemove");
+
+            var dc = this.dragCurrent;
+            if (dc) {
+                // YAHOO.log("no current drag obj");
+
+                // var button = e.which || e.button;
+                // YAHOO.log("which: " + e.which + ", button: "+ e.button);
+
+                // check for IE mouseup outside of page boundary
+                if (YAHOO.util.Event.isIE && !e.button) {
+                    YAHOO.log("button failure", "info", "DragDropMgr");
+                    this.stopEvent(e);
+                    return this.handleMouseUp(e);
+                } else {
+                    if (e.clientX < 0 || e.clientY < 0) {
+                        //This will stop the element from leaving the viewport in FF, Opera & Safari
+                        //Not turned on yet
+                        //YAHOO.log("Either clientX or clientY is negative, stop the event.", "info", "DragDropMgr");
+                        //this.stopEvent(e);
+                        //return false;
+                    }
+                }
+
+                if (!this.dragThreshMet) {
+                    var diffX = Math.abs(this.startX - YAHOO.util.Event.getPageX(e));
+                    var diffY = Math.abs(this.startY - YAHOO.util.Event.getPageY(e));
+                    // YAHOO.log("diffX: " + diffX + "diffY: " + diffY);
+                    if (diffX > this.clickPixelThresh || 
+                                diffY > this.clickPixelThresh) {
+                        YAHOO.log("pixel threshold met", "info", "DragDropMgr");
+                        this.startDrag(this.startX, this.startY);
+                    }
+                }
+
+                if (this.dragThreshMet) {
+                    if (dc && dc.events.b4Drag) {
+                        dc.b4Drag(e);
+                        dc.fireEvent('b4DragEvent', { e: e});
+                    }
+                    if (dc && dc.events.drag) {
+                        dc.onDrag(e);
+                        dc.fireEvent('dragEvent', { e: e});
+                    }
+                    if (dc) {
+                        this.fireEvents(e, false);
+                    }
+                }
+
+                this.stopEvent(e);
+            }
+        },
+        
+        /**
+         * Iterates over all of the DragDrop elements to find ones we are 
+         * hovering over or dropping on
+         * @method fireEvents
+         * @param {Event} e the event
+         * @param {boolean} isDrop is this a drop op or a mouseover op?
+         * @private
+         * @static
+         */
+        fireEvents: function(e, isDrop) {
+            var dc = this.dragCurrent;
+
+            // If the user did the mouse up outside of the window, we could 
+            // get here even though we have ended the drag.
+            // If the config option dragOnly is true, bail out and don't fire the events
+            if (!dc || dc.isLocked() || dc.dragOnly) {
+                return;
+            }
+
+            var x = YAHOO.util.Event.getPageX(e),
+                y = YAHOO.util.Event.getPageY(e),
+                pt = new YAHOO.util.Point(x,y),
+                pos = dc.getTargetCoord(pt.x, pt.y),
+                el = dc.getDragEl(),
+                events = ['out', 'over', 'drop', 'enter'],
+                curRegion = new YAHOO.util.Region( pos.y, 
+                                               pos.x + el.offsetWidth,
+                                               pos.y + el.offsetHeight, 
+                                               pos.x ),
+            
+                oldOvers = [], // cache the previous dragOver array
+                inGroupsObj  = {},
+                inGroups  = [],
+                data = {
+                    outEvts: [],
+                    overEvts: [],
+                    dropEvts: [],
+                    enterEvts: []
+                };
+
+
+            // Check to see if the object(s) we were hovering over is no longer 
+            // being hovered over so we can fire the onDragOut event
+            for (var i in this.dragOvers) {
+
+                var ddo = this.dragOvers[i];
+
+                if (! this.isTypeOfDD(ddo)) {
+                    continue;
+                }
+                if (! this.isOverTarget(pt, ddo, this.mode, curRegion)) {
+                    data.outEvts.push( ddo );
+                }
+
+                oldOvers[i] = true;
+                delete this.dragOvers[i];
+            }
+
+            for (var sGroup in dc.groups) {
+                // YAHOO.log("Processing group " + sGroup);
+                
+                if ("string" != typeof sGroup) {
+                    continue;
+                }
+
+                for (i in this.ids[sGroup]) {
+                    var oDD = this.ids[sGroup][i];
+                    if (! this.isTypeOfDD(oDD)) {
+                        continue;
+                    }
+
+                    if (oDD.isTarget && !oDD.isLocked() && oDD != dc) {
+                        if (this.isOverTarget(pt, oDD, this.mode, curRegion)) {
+                            inGroupsObj[sGroup] = true;
+                            // look for drop interactions
+                            if (isDrop) {
+                                data.dropEvts.push( oDD );
+                            // look for drag enter and drag over interactions
+                            } else {
+
+                                // initial drag over: dragEnter fires
+                                if (!oldOvers[oDD.id]) {
+                                    data.enterEvts.push( oDD );
+                                // subsequent drag overs: dragOver fires
+                                } else {
+                                    data.overEvts.push( oDD );
+                                }
+
+                                this.dragOvers[oDD.id] = oDD;
+                            }
+                        }
+                    }
+                }
+            }
+
+            this.interactionInfo = {
+                out:       data.outEvts,
+                enter:     data.enterEvts,
+                over:      data.overEvts,
+                drop:      data.dropEvts,
+                point:     pt,
+                draggedRegion:    curRegion,
+                sourceRegion: this.locationCache[dc.id],
+                validDrop: isDrop
+            };
+
+            
+            for (var inG in inGroupsObj) {
+                inGroups.push(inG);
+            }
+
+            // notify about a drop that did not find a target
+            if (isDrop && !data.dropEvts.length) {
+                YAHOO.log(dc.id + " dropped, but not on a target", "info", "DragDropMgr");
+                this.interactionInfo.validDrop = false;
+                if (dc.events.invalidDrop) {
+                    dc.onInvalidDrop(e);
+                    dc.fireEvent('invalidDropEvent', { e: e });
+                }
+            }
+            for (i = 0; i < events.length; i++) {
+                var tmp = null;
+                if (data[events[i] + 'Evts']) {
+                    tmp = data[events[i] + 'Evts'];
+                }
+                if (tmp && tmp.length) {
+                    var type = events[i].charAt(0).toUpperCase() + events[i].substr(1),
+                        ev = 'onDrag' + type,
+                        b4 = 'b4Drag' + type,
+                        cev = 'drag' + type + 'Event',
+                        check = 'drag' + type;
+                    if (this.mode) {
+                        YAHOO.log(dc.id + ' ' + ev + ': ' + tmp, "info", "DragDropMgr");
+                        if (dc.events[b4]) {
+                            dc[b4](e, tmp, inGroups);
+                            dc.fireEvent(b4 + 'Event', { event: e, info: tmp, group: inGroups });
+                            
+                        }
+                        if (dc.events[check]) {
+                            dc[ev](e, tmp, inGroups);
+                            dc.fireEvent(cev, { event: e, info: tmp, group: inGroups });
+                        }
+                    } else {
+                        for (var b = 0, len = tmp.length; b < len; ++b) {
+                            YAHOO.log(dc.id + ' ' + ev + ': ' + tmp[b].id, "info", "DragDropMgr");
+                            if (dc.events[b4]) {
+                                dc[b4](e, tmp[b].id, inGroups[0]);
+                                dc.fireEvent(b4 + 'Event', { event: e, info: tmp[b].id, group: inGroups[0] });
+                            }
+                            if (dc.events[check]) {
+                                dc[ev](e, tmp[b].id, inGroups[0]);
+                                dc.fireEvent(cev, { event: e, info: tmp[b].id, group: inGroups[0] });
+                            }
+                        }
+                    }
+                }
+            }
+        },
+
+        /**
+         * Helper function for getting the best match from the list of drag 
+         * and drop objects returned by the drag and drop events when we are 
+         * in INTERSECT mode.  It returns either the first object that the 
+         * cursor is over, or the object that has the greatest overlap with 
+         * the dragged element.
+         * @method getBestMatch
+         * @param  {DragDrop[]} dds The array of drag and drop objects 
+         * targeted
+         * @return {DragDrop}       The best single match
+         * @static
+         */
+        getBestMatch: function(dds) {
+            var winner = null;
+
+            var len = dds.length;
+
+            if (len == 1) {
+                winner = dds[0];
+            } else {
+                // Loop through the targeted items
+                for (var i=0; i<len; ++i) {
+                    var dd = dds[i];
+                    // If the cursor is over the object, it wins.  If the 
+                    // cursor is over multiple matches, the first one we come
+                    // to wins.
+                    if (this.mode == this.INTERSECT && dd.cursorIsOver) {
+                        winner = dd;
+                        break;
+                    // Otherwise the object with the most overlap wins
+                    } else {
+                        if (!winner || !winner.overlap || (dd.overlap &&
+                            winner.overlap.getArea() < dd.overlap.getArea())) {
+                            winner = dd;
+                        }
+                    }
+                }
+            }
+
+            return winner;
+        },
+
+        /**
+         * Refreshes the cache of the top-left and bottom-right points of the 
+         * drag and drop objects in the specified group(s).  This is in the
+         * format that is stored in the drag and drop instance, so typical 
+         * usage is:
+         * <code>
+         * YAHOO.util.DragDropMgr.refreshCache(ddinstance.groups);
+         * </code>
+         * Alternatively:
+         * <code>
+         * YAHOO.util.DragDropMgr.refreshCache({group1:true, group2:true});
+         * </code>
+         * @TODO this really should be an indexed array.  Alternatively this
+         * method could accept both.
+         * @method refreshCache
+         * @param {Object} groups an associative array of groups to refresh
+         * @static
+         */
+        refreshCache: function(groups) {
+            YAHOO.log("refreshing element location cache", "info", "DragDropMgr");
+
+            // refresh everything if group array is not provided
+            var g = groups || this.ids;
+
+            for (var sGroup in g) {
+                if ("string" != typeof sGroup) {
+                    continue;
+                }
+                for (var i in this.ids[sGroup]) {
+                    var oDD = this.ids[sGroup][i];
+
+                    if (this.isTypeOfDD(oDD)) {
+                        var loc = this.getLocation(oDD);
+                        if (loc) {
+                            this.locationCache[oDD.id] = loc;
+                        } else {
+                            delete this.locationCache[oDD.id];
+YAHOO.log("Could not get the loc for " + oDD.id, "warn", "DragDropMgr");
+                        }
+                    }
+                }
+            }
+        },
+
+        /**
+         * This checks to make sure an element exists and is in the DOM.  The
+         * main purpose is to handle cases where innerHTML is used to remove
+         * drag and drop objects from the DOM.  IE provides an 'unspecified
+         * error' when trying to access the offsetParent of such an element
+         * @method verifyEl
+         * @param {HTMLElement} el the element to check
+         * @return {boolean} true if the element looks usable
+         * @static
+         */
+        verifyEl: function(el) {
+            try {
+                if (el) {
+                    var parent = el.offsetParent;
+                    if (parent) {
+                        return true;
+                    }
+                }
+            } catch(e) {
+                YAHOO.log("detected problem with an element", "info", "DragDropMgr");
+            }
+
+            return false;
+        },
+        
+        /**
+         * Returns a Region object containing the drag and drop element's position
+         * and size, including the padding configured for it
+         * @method getLocation
+         * @param {DragDrop} oDD the drag and drop object to get the 
+         *                       location for
+         * @return {YAHOO.util.Region} a Region object representing the total area
+         *                             the element occupies, including any padding
+         *                             the instance is configured for.
+         * @static
+         */
+        getLocation: function(oDD) {
+            if (! this.isTypeOfDD(oDD)) {
+                YAHOO.log(oDD + " is not a DD obj", "info", "DragDropMgr");
+                return null;
+            }
+
+            var el = oDD.getEl(), pos, x1, x2, y1, y2, t, r, b, l;
+
+            try {
+                pos= YAHOO.util.Dom.getXY(el);
+            } catch (e) { }
+
+            if (!pos) {
+                YAHOO.log("getXY failed", "info", "DragDropMgr");
+                return null;
+            }
+
+            x1 = pos[0];
+            x2 = x1 + el.offsetWidth;
+            y1 = pos[1];
+            y2 = y1 + el.offsetHeight;
+
+            t = y1 - oDD.padding[0];
+            r = x2 + oDD.padding[1];
+            b = y2 + oDD.padding[2];
+            l = x1 - oDD.padding[3];
+
+            return new YAHOO.util.Region( t, r, b, l );
+        },
+
+        /**
+         * Checks the cursor location to see if it over the target
+         * @method isOverTarget
+         * @param {YAHOO.util.Point} pt The point to evaluate
+         * @param {DragDrop} oTarget the DragDrop object we are inspecting
+         * @param {boolean} intersect true if we are in intersect mode
+         * @param {YAHOO.util.Region} pre-cached location of the dragged element
+         * @return {boolean} true if the mouse is over the target
+         * @private
+         * @static
+         */
+        isOverTarget: function(pt, oTarget, intersect, curRegion) {
+            // use cache if available
+            var loc = this.locationCache[oTarget.id];
+            if (!loc || !this.useCache) {
+                YAHOO.log("cache not populated", "info", "DragDropMgr");
+                loc = this.getLocation(oTarget);
+                this.locationCache[oTarget.id] = loc;
+
+                YAHOO.log("cache: " + loc, "info", "DragDropMgr");
+            }
+
+            if (!loc) {
+                YAHOO.log("could not get the location of the element", "info", "DragDropMgr");
+                return false;
+            }
+
+            //YAHOO.log("loc: " + loc + ", pt: " + pt);
+            oTarget.cursorIsOver = loc.contains( pt );
+
+            // DragDrop is using this as a sanity check for the initial mousedown
+            // in this case we are done.  In POINT mode, if the drag obj has no
+            // contraints, we are done. Otherwise we need to evaluate the 
+            // region the target as occupies to determine if the dragged element
+            // overlaps with it.
+            
+            var dc = this.dragCurrent;
+            if (!dc || (!intersect && !dc.constrainX && !dc.constrainY)) {
+
+                //if (oTarget.cursorIsOver) {
+                    //YAHOO.log("over " + oTarget + ", " + loc + ", " + pt, "warn");
+                //}
+                return oTarget.cursorIsOver;
+            }
+
+            oTarget.overlap = null;
+
+
+            // Get the current location of the drag element, this is the
+            // location of the mouse event less the delta that represents
+            // where the original mousedown happened on the element.  We
+            // need to consider constraints and ticks as well.
+
+            if (!curRegion) {
+                var pos = dc.getTargetCoord(pt.x, pt.y);
+                var el = dc.getDragEl();
+                curRegion = new YAHOO.util.Region( pos.y, 
+                                                   pos.x + el.offsetWidth,
+                                                   pos.y + el.offsetHeight, 
+                                                   pos.x );
+            }
+
+            var overlap = curRegion.intersect(loc);
+
+            if (overlap) {
+                oTarget.overlap = overlap;
+                return (intersect) ? true : oTarget.cursorIsOver;
+            } else {
+                return false;
+            }
+        },
+
+        /**
+         * unload event handler
+         * @method _onUnload
+         * @private
+         * @static
+         */
+        _onUnload: function(e, me) {
+            this.unregAll();
+        },
+
+        /**
+         * Cleans up the drag and drop events and objects.
+         * @method unregAll
+         * @private
+         * @static
+         */
+        unregAll: function() {
+            YAHOO.log("unregister all", "info", "DragDropMgr");
+
+            if (this.dragCurrent) {
+                this.stopDrag();
+                this.dragCurrent = null;
+            }
+
+            this._execOnAll("unreg", []);
+
+            //for (var i in this.elementCache) {
+                //delete this.elementCache[i];
+            //}
+            //this.elementCache = {};
+
+            this.ids = {};
+        },
+
+        /**
+         * A cache of DOM elements
+         * @property elementCache
+         * @private
+         * @static
+         * @deprecated elements are not cached now
+         */
+        elementCache: {},
+        
+        /**
+         * Get the wrapper for the DOM element specified
+         * @method getElWrapper
+         * @param {String} id the id of the element to get
+         * @return {YAHOO.util.DDM.ElementWrapper} the wrapped element
+         * @private
+         * @deprecated This wrapper isn't that useful
+         * @static
+         */
+        getElWrapper: function(id) {
+            var oWrapper = this.elementCache[id];
+            if (!oWrapper || !oWrapper.el) {
+                oWrapper = this.elementCache[id] = 
+                    new this.ElementWrapper(YAHOO.util.Dom.get(id));
+            }
+            return oWrapper;
+        },
+
+        /**
+         * Returns the actual DOM element
+         * @method getElement
+         * @param {String} id the id of the elment to get
+         * @return {Object} The element
+         * @deprecated use YAHOO.util.Dom.get instead
+         * @static
+         */
+        getElement: function(id) {
+            return YAHOO.util.Dom.get(id);
+        },
+        
+        /**
+         * Returns the style property for the DOM element (i.e., 
+         * document.getElById(id).style)
+         * @method getCss
+         * @param {String} id the id of the elment to get
+         * @return {Object} The style property of the element
+         * @deprecated use YAHOO.util.Dom instead
+         * @static
+         */
+        getCss: function(id) {
+            var el = YAHOO.util.Dom.get(id);
+            return (el) ? el.style : null;
+        },
+
+        /**
+         * Inner class for cached elements
+         * @class DragDropMgr.ElementWrapper
+         * @for DragDropMgr
+         * @private
+         * @deprecated
+         */
+        ElementWrapper: function(el) {
+                /**
+                 * The element
+                 * @property el
+                 */
+                this.el = el || null;
+                /**
+                 * The element id
+                 * @property id
+                 */
+                this.id = this.el && el.id;
+                /**
+                 * A reference to the style property
+                 * @property css
+                 */
+                this.css = this.el && el.style;
+            },
+
+        /**
+         * Returns the X position of an html element
+         * @method getPosX
+         * @param el the element for which to get the position
+         * @return {int} the X coordinate
+         * @for DragDropMgr
+         * @deprecated use YAHOO.util.Dom.getX instead
+         * @static
+         */
+        getPosX: function(el) {
+            return YAHOO.util.Dom.getX(el);
+        },
+
+        /**
+         * Returns the Y position of an html element
+         * @method getPosY
+         * @param el the element for which to get the position
+         * @return {int} the Y coordinate
+         * @deprecated use YAHOO.util.Dom.getY instead
+         * @static
+         */
+        getPosY: function(el) {
+            return YAHOO.util.Dom.getY(el); 
+        },
+
+        /**
+         * Swap two nodes.  In IE, we use the native method, for others we 
+         * emulate the IE behavior
+         * @method swapNode
+         * @param n1 the first node to swap
+         * @param n2 the other node to swap
+         * @static
+         */
+        swapNode: function(n1, n2) {
+            if (n1.swapNode) {
+                n1.swapNode(n2);
+            } else {
+                var p = n2.parentNode;
+                var s = n2.nextSibling;
+
+                if (s == n1) {
+                    p.insertBefore(n1, n2);
+                } else if (n2 == n1.nextSibling) {
+                    p.insertBefore(n2, n1);
+                } else {
+                    n1.parentNode.replaceChild(n2, n1);
+                    p.insertBefore(n1, s);
+                }
+            }
+        },
+
+        /**
+         * Returns the current scroll position
+         * @method getScroll
+         * @private
+         * @static
+         */
+        getScroll: function () {
+            var t, l, dde=document.documentElement, db=document.body;
+            if (dde && (dde.scrollTop || dde.scrollLeft)) {
+                t = dde.scrollTop;
+                l = dde.scrollLeft;
+            } else if (db) {
+                t = db.scrollTop;
+                l = db.scrollLeft;
+            } else {
+                YAHOO.log("could not get scroll property", "info", "DragDropMgr");
+            }
+            return { top: t, left: l };
+        },
+
+        /**
+         * Returns the specified element style property
+         * @method getStyle
+         * @param {HTMLElement} el          the element
+         * @param {string}      styleProp   the style property
+         * @return {string} The value of the style property
+         * @deprecated use YAHOO.util.Dom.getStyle
+         * @static
+         */
+        getStyle: function(el, styleProp) {
+            return YAHOO.util.Dom.getStyle(el, styleProp);
+        },
+
+        /**
+         * Gets the scrollTop
+         * @method getScrollTop
+         * @return {int} the document's scrollTop
+         * @static
+         */
+        getScrollTop: function () { return this.getScroll().top; },
+
+        /**
+         * Gets the scrollLeft
+         * @method getScrollLeft
+         * @return {int} the document's scrollTop
+         * @static
+         */
+        getScrollLeft: function () { return this.getScroll().left; },
+
+        /**
+         * Sets the x/y position of an element to the location of the
+         * target element.
+         * @method moveToEl
+         * @param {HTMLElement} moveEl      The element to move
+         * @param {HTMLElement} targetEl    The position reference element
+         * @static
+         */
+        moveToEl: function (moveEl, targetEl) {
+            var aCoord = YAHOO.util.Dom.getXY(targetEl);
+            YAHOO.log("moveToEl: " + aCoord, "info", "DragDropMgr");
+            YAHOO.util.Dom.setXY(moveEl, aCoord);
+        },
+
+        /**
+         * Gets the client height
+         * @method getClientHeight
+         * @return {int} client height in px
+         * @deprecated use YAHOO.util.Dom.getViewportHeight instead
+         * @static
+         */
+        getClientHeight: function() {
+            return YAHOO.util.Dom.getViewportHeight();
+        },
+
+        /**
+         * Gets the client width
+         * @method getClientWidth
+         * @return {int} client width in px
+         * @deprecated use YAHOO.util.Dom.getViewportWidth instead
+         * @static
+         */
+        getClientWidth: function() {
+            return YAHOO.util.Dom.getViewportWidth();
+        },
+
+        /**
+         * Numeric array sort function
+         * @method numericSort
+         * @static
+         */
+        numericSort: function(a, b) { return (a - b); },
+
+        /**
+         * Internal counter
+         * @property _timeoutCount
+         * @private
+         * @static
+         */
+        _timeoutCount: 0,
+
+        /**
+         * Trying to make the load order less important.  Without this we get
+         * an error if this file is loaded before the Event Utility.
+         * @method _addListeners
+         * @private
+         * @static
+         */
+        _addListeners: function() {
+            var DDM = YAHOO.util.DDM;
+            if ( YAHOO.util.Event && document ) {
+                DDM._onLoad();
+            } else {
+                if (DDM._timeoutCount > 2000) {
+                    YAHOO.log("DragDrop requires the Event Utility", "error", "DragDropMgr");
+                } else {
+                    setTimeout(DDM._addListeners, 10);
+                    if (document && document.body) {
+                        DDM._timeoutCount += 1;
+                    }
+                }
+            }
+        },
+
+        /**
+         * Recursively searches the immediate parent and all child nodes for 
+         * the handle element in order to determine wheter or not it was 
+         * clicked.
+         * @method handleWasClicked
+         * @param node the html element to inspect
+         * @static
+         */
+        handleWasClicked: function(node, id) {
+            if (this.isHandle(id, node.id)) {
+                YAHOO.log("clicked node is a handle", "info", "DragDropMgr");
+                return true;
+            } else {
+                // check to see if this is a text node child of the one we want
+                var p = node.parentNode;
+                // YAHOO.log("p: " + p);
+
+                while (p) {
+                    if (this.isHandle(id, p.id)) {
+                        return true;
+                    } else {
+                        YAHOO.log(p.id + " is not a handle", "info", "DragDropMgr");
+                        p = p.parentNode;
+                    }
+                }
+            }
+
+            return false;
+        }
+
+    };
+
+}();
+
+// shorter alias, save a few bytes
+YAHOO.util.DDM = YAHOO.util.DragDropMgr;
+YAHOO.util.DDM._addListeners();
+
+}
+
+(function() {
+
+var Event=YAHOO.util.Event; 
+var Dom=YAHOO.util.Dom;
+
+/**
+ * Defines the interface and base operation of items that that can be 
+ * dragged or can be drop targets.  It was designed to be extended, overriding
+ * the event handlers for startDrag, onDrag, onDragOver, onDragOut.
+ * Up to three html elements can be associated with a DragDrop instance:
+ * <ul>
+ * <li>linked element: the element that is passed into the constructor.
+ * This is the element which defines the boundaries for interaction with 
+ * other DragDrop objects.</li>
+ * <li>handle element(s): The drag operation only occurs if the element that 
+ * was clicked matches a handle element.  By default this is the linked 
+ * element, but there are times that you will want only a portion of the 
+ * linked element to initiate the drag operation, and the setHandleElId() 
+ * method provides a way to define this.</li>
+ * <li>drag element: this represents an the element that would be moved along
+ * with the cursor during a drag operation.  By default, this is the linked
+ * element itself as in {@link YAHOO.util.DD}.  setDragElId() lets you define
+ * a separate element that would be moved, as in {@link YAHOO.util.DDProxy}
+ * </li>
+ * </ul>
+ * This class should not be instantiated until the onload event to ensure that
+ * the associated elements are available.
+ * The following would define a DragDrop obj that would interact with any 
+ * other DragDrop obj in the "group1" group:
+ * <pre>
+ *  dd = new YAHOO.util.DragDrop("div1", "group1");
+ * </pre>
+ * Since none of the event handlers have been implemented, nothing would 
+ * actually happen if you were to run the code above.  Normally you would 
+ * override this class or one of the default implementations, but you can 
+ * also override the methods you want on an instance of the class...
+ * <pre>
+ *  dd.onDragDrop = function(e, id) {
+ *  &nbsp;&nbsp;alert("dd was dropped on " + id);
+ *  }
+ * </pre>
+ * @namespace YAHOO.util
+ * @class DragDrop
+ * @constructor
+ * @param {String} id of the element that is linked to this instance
+ * @param {String} sGroup the group of related DragDrop objects
+ * @param {object} config an object containing configurable attributes
+ *                Valid properties for DragDrop: 
+ *                    padding, isTarget, maintainOffset, primaryButtonOnly,
+ */
+YAHOO.util.DragDrop = function(id, sGroup, config) {
+    if (id) {
+        this.init(id, sGroup, config); 
+    }
+};
+
+YAHOO.util.DragDrop.prototype = {
+    /**
+     * An Object Literal containing the events that we will be using: mouseDown, b4MouseDown, mouseUp, b4StartDrag, startDrag, b4EndDrag, endDrag, mouseUp, drag, b4Drag, invalidDrop, b4DragOut, dragOut, dragEnter, b4DragOver, dragOver, b4DragDrop, dragDrop
+     * By setting any of these to false, then event will not be fired.
+     * @property events
+     * @type object
+     */
+    events: null,
+    /**
+    * @method on
+    * @description Shortcut for EventProvider.subscribe, see <a href="YAHOO.util.EventProvider.html#subscribe">YAHOO.util.EventProvider.subscribe</a>
+    */
+    on: function() {
+        this.subscribe.apply(this, arguments);
+    },
+    /**
+     * The id of the element associated with this object.  This is what we 
+     * refer to as the "linked element" because the size and position of 
+     * this element is used to determine when the drag and drop objects have 
+     * interacted.
+     * @property id
+     * @type String
+     */
+    id: null,
+
+    /**
+     * Configuration attributes passed into the constructor
+     * @property config
+     * @type object
+     */
+    config: null,
+
+    /**
+     * The id of the element that will be dragged.  By default this is same 
+     * as the linked element , but could be changed to another element. Ex: 
+     * YAHOO.util.DDProxy
+     * @property dragElId
+     * @type String
+     * @private
+     */
+    dragElId: null, 
+
+    /**
+     * the id of the element that initiates the drag operation.  By default 
+     * this is the linked element, but could be changed to be a child of this
+     * element.  This lets us do things like only starting the drag when the 
+     * header element within the linked html element is clicked.
+     * @property handleElId
+     * @type String
+     * @private
+     */
+    handleElId: null, 
+
+    /**
+     * An associative array of HTML tags that will be ignored if clicked.
+     * @property invalidHandleTypes
+     * @type {string: string}
+     */
+    invalidHandleTypes: null, 
+
+    /**
+     * An associative array of ids for elements that will be ignored if clicked
+     * @property invalidHandleIds
+     * @type {string: string}
+     */
+    invalidHandleIds: null, 
+
+    /**
+     * An indexted array of css class names for elements that will be ignored
+     * if clicked.
+     * @property invalidHandleClasses
+     * @type string[]
+     */
+    invalidHandleClasses: null, 
+
+    /**
+     * The linked element's absolute X position at the time the drag was 
+     * started
+     * @property startPageX
+     * @type int
+     * @private
+     */
+    startPageX: 0,
+
+    /**
+     * The linked element's absolute X position at the time the drag was 
+     * started
+     * @property startPageY
+     * @type int
+     * @private
+     */
+    startPageY: 0,
+
+    /**
+     * The group defines a logical collection of DragDrop objects that are 
+     * related.  Instances only get events when interacting with other 
+     * DragDrop object in the same group.  This lets us define multiple 
+     * groups using a single DragDrop subclass if we want.
+     * @property groups
+     * @type {string: string}
+     */
+    groups: null,
+
+    /**
+     * Individual drag/drop instances can be locked.  This will prevent 
+     * onmousedown start drag.
+     * @property locked
+     * @type boolean
+     * @private
+     */
+    locked: false,
+
+    /**
+     * Lock this instance
+     * @method lock
+     */
+    lock: function() { this.locked = true; },
+
+    /**
+     * Unlock this instace
+     * @method unlock
+     */
+    unlock: function() { this.locked = false; },
+
+    /**
+     * By default, all instances can be a drop target.  This can be disabled by
+     * setting isTarget to false.
+     * @property isTarget
+     * @type boolean
+     */
+    isTarget: true,
+
+    /**
+     * The padding configured for this drag and drop object for calculating
+     * the drop zone intersection with this object.
+     * @property padding
+     * @type int[]
+     */
+    padding: null,
+    /**
+     * If this flag is true, do not fire drop events. The element is a drag only element (for movement not dropping)
+     * @property dragOnly
+     * @type Boolean
+     */
+    dragOnly: false,
+
+    /**
+     * If this flag is true, a shim will be placed over the screen/viewable area to track mouse events. Should help with dragging elements over iframes and other controls.
+     * @property useShim
+     * @type Boolean
+     */
+    useShim: false,
+
+    /**
+     * Cached reference to the linked element
+     * @property _domRef
+     * @private
+     */
+    _domRef: null,
+
+    /**
+     * Internal typeof flag
+     * @property __ygDragDrop
+     * @private
+     */
+    __ygDragDrop: true,
+
+    /**
+     * Set to true when horizontal contraints are applied
+     * @property constrainX
+     * @type boolean
+     * @private
+     */
+    constrainX: false,
+
+    /**
+     * Set to true when vertical contraints are applied
+     * @property constrainY
+     * @type boolean
+     * @private
+     */
+    constrainY: false,
+
+    /**
+     * The left constraint
+     * @property minX
+     * @type int
+     * @private
+     */
+    minX: 0,
+
+    /**
+     * The right constraint
+     * @property maxX
+     * @type int
+     * @private
+     */
+    maxX: 0,
+
+    /**
+     * The up constraint 
+     * @property minY
+     * @type int
+     * @type int
+     * @private
+     */
+    minY: 0,
+
+    /**
+     * The down constraint 
+     * @property maxY
+     * @type int
+     * @private
+     */
+    maxY: 0,
+
+    /**
+     * The difference between the click position and the source element's location
+     * @property deltaX
+     * @type int
+     * @private
+     */
+    deltaX: 0,
+
+    /**
+     * The difference between the click position and the source element's location
+     * @property deltaY
+     * @type int
+     * @private
+     */
+    deltaY: 0,
+
+    /**
+     * Maintain offsets when we resetconstraints.  Set to true when you want
+     * the position of the element relative to its parent to stay the same
+     * when the page changes
+     *
+     * @property maintainOffset
+     * @type boolean
+     */
+    maintainOffset: false,
+
+    /**
+     * Array of pixel locations the element will snap to if we specified a 
+     * horizontal graduation/interval.  This array is generated automatically
+     * when you define a tick interval.
+     * @property xTicks
+     * @type int[]
+     */
+    xTicks: null,
+
+    /**
+     * Array of pixel locations the element will snap to if we specified a 
+     * vertical graduation/interval.  This array is generated automatically 
+     * when you define a tick interval.
+     * @property yTicks
+     * @type int[]
+     */
+    yTicks: null,
+
+    /**
+     * By default the drag and drop instance will only respond to the primary
+     * button click (left button for a right-handed mouse).  Set to true to
+     * allow drag and drop to start with any mouse click that is propogated
+     * by the browser
+     * @property primaryButtonOnly
+     * @type boolean
+     */
+    primaryButtonOnly: true,
+
+    /**
+     * The availabe property is false until the linked dom element is accessible.
+     * @property available
+     * @type boolean
+     */
+    available: false,
+
+    /**
+     * By default, drags can only be initiated if the mousedown occurs in the
+     * region the linked element is.  This is done in part to work around a
+     * bug in some browsers that mis-report the mousedown if the previous
+     * mouseup happened outside of the window.  This property is set to true
+     * if outer handles are defined.
+     *
+     * @property hasOuterHandles
+     * @type boolean
+     * @default false
+     */
+    hasOuterHandles: false,
+
+    /**
+     * Property that is assigned to a drag and drop object when testing to
+     * see if it is being targeted by another dd object.  This property
+     * can be used in intersect mode to help determine the focus of
+     * the mouse interaction.  DDM.getBestMatch uses this property first to
+     * determine the closest match in INTERSECT mode when multiple targets
+     * are part of the same interaction.
+     * @property cursorIsOver
+     * @type boolean
+     */
+    cursorIsOver: false,
+
+    /**
+     * Property that is assigned to a drag and drop object when testing to
+     * see if it is being targeted by another dd object.  This is a region
+     * that represents the area the draggable element overlaps this target.
+     * DDM.getBestMatch uses this property to compare the size of the overlap
+     * to that of other targets in order to determine the closest match in
+     * INTERSECT mode when multiple targets are part of the same interaction.
+     * @property overlap 
+     * @type YAHOO.util.Region
+     */
+    overlap: null,
+
+    /**
+     * Code that executes immediately before the startDrag event
+     * @method b4StartDrag
+     * @private
+     */
+    b4StartDrag: function(x, y) { },
+
+    /**
+     * Abstract method called after a drag/drop object is clicked
+     * and the drag or mousedown time thresholds have beeen met.
+     * @method startDrag
+     * @param {int} X click location
+     * @param {int} Y click location
+     */
+    startDrag: function(x, y) { /* override this */ },
+
+    /**
+     * Code that executes immediately before the onDrag event
+     * @method b4Drag
+     * @private
+     */
+    b4Drag: function(e) { },
+
+    /**
+     * Abstract method called during the onMouseMove event while dragging an 
+     * object.
+     * @method onDrag
+     * @param {Event} e the mousemove event
+     */
+    onDrag: function(e) { /* override this */ },
+
+    /**
+     * Abstract method called when this element fist begins hovering over 
+     * another DragDrop obj
+     * @method onDragEnter
+     * @param {Event} e the mousemove event
+     * @param {String|DragDrop[]} id In POINT mode, the element
+     * id this is hovering over.  In INTERSECT mode, an array of one or more 
+     * dragdrop items being hovered over.
+     */
+    onDragEnter: function(e, id) { /* override this */ },
+
+    /**
+     * Code that executes immediately before the onDragOver event
+     * @method b4DragOver
+     * @private
+     */
+    b4DragOver: function(e) { },
+
+    /**
+     * Abstract method called when this element is hovering over another 
+     * DragDrop obj
+     * @method onDragOver
+     * @param {Event} e the mousemove event
+     * @param {String|DragDrop[]} id In POINT mode, the element
+     * id this is hovering over.  In INTERSECT mode, an array of dd items 
+     * being hovered over.
+     */
+    onDragOver: function(e, id) { /* override this */ },
+
+    /**
+     * Code that executes immediately before the onDragOut event
+     * @method b4DragOut
+     * @private
+     */
+    b4DragOut: function(e) { },
+
+    /**
+     * Abstract method called when we are no longer hovering over an element
+     * @method onDragOut
+     * @param {Event} e the mousemove event
+     * @param {String|DragDrop[]} id In POINT mode, the element
+     * id this was hovering over.  In INTERSECT mode, an array of dd items 
+     * that the mouse is no longer over.
+     */
+    onDragOut: function(e, id) { /* override this */ },
+
+    /**
+     * Code that executes immediately before the onDragDrop event
+     * @method b4DragDrop
+     * @private
+     */
+    b4DragDrop: function(e) { },
+
+    /**
+     * Abstract method called when this item is dropped on another DragDrop 
+     * obj
+     * @method onDragDrop
+     * @param {Event} e the mouseup event
+     * @param {String|DragDrop[]} id In POINT mode, the element
+     * id this was dropped on.  In INTERSECT mode, an array of dd items this 
+     * was dropped on.
+     */
+    onDragDrop: function(e, id) { /* override this */ },
+
+    /**
+     * Abstract method called when this item is dropped on an area with no
+     * drop target
+     * @method onInvalidDrop
+     * @param {Event} e the mouseup event
+     */
+    onInvalidDrop: function(e) { /* override this */ },
+
+    /**
+     * Code that executes immediately before the endDrag event
+     * @method b4EndDrag
+     * @private
+     */
+    b4EndDrag: function(e) { },
+
+    /**
+     * Fired when we are done dragging the object
+     * @method endDrag
+     * @param {Event} e the mouseup event
+     */
+    endDrag: function(e) { /* override this */ },
+
+    /**
+     * Code executed immediately before the onMouseDown event
+     * @method b4MouseDown
+     * @param {Event} e the mousedown event
+     * @private
+     */
+    b4MouseDown: function(e) {  },
+
+    /**
+     * Event handler that fires when a drag/drop obj gets a mousedown
+     * @method onMouseDown
+     * @param {Event} e the mousedown event
+     */
+    onMouseDown: function(e) { /* override this */ },
+
+    /**
+     * Event handler that fires when a drag/drop obj gets a mouseup
+     * @method onMouseUp
+     * @param {Event} e the mouseup event
+     */
+    onMouseUp: function(e) { /* override this */ },
+   
+    /**
+     * Override the onAvailable method to do what is needed after the initial
+     * position was determined.
+     * @method onAvailable
+     */
+    onAvailable: function () { 
+        //this.logger.log("onAvailable (base)"); 
+    },
+
+    /**
+     * Returns a reference to the linked element
+     * @method getEl
+     * @return {HTMLElement} the html element 
+     */
+    getEl: function() { 
+        if (!this._domRef) {
+            this._domRef = Dom.get(this.id); 
+        }
+
+        return this._domRef;
+    },
+
+    /**
+     * Returns a reference to the actual element to drag.  By default this is
+     * the same as the html element, but it can be assigned to another 
+     * element. An example of this can be found in YAHOO.util.DDProxy
+     * @method getDragEl
+     * @return {HTMLElement} the html element 
+     */
+    getDragEl: function() {
+        return Dom.get(this.dragElId);
+    },
+
+    /**
+     * Sets up the DragDrop object.  Must be called in the constructor of any
+     * YAHOO.util.DragDrop subclass
+     * @method init
+     * @param id the id of the linked element
+     * @param {String} sGroup the group of related items
+     * @param {object} config configuration attributes
+     */
+    init: function(id, sGroup, config) {
+        this.initTarget(id, sGroup, config);
+        Event.on(this._domRef || this.id, "mousedown", 
+                        this.handleMouseDown, this, true);
+
+        // Event.on(this.id, "selectstart", Event.preventDefault);
+        for (var i in this.events) {
+            this.createEvent(i + 'Event');
+        }
+        
+    },
+
+    /**
+     * Initializes Targeting functionality only... the object does not
+     * get a mousedown handler.
+     * @method initTarget
+     * @param id the id of the linked element
+     * @param {String} sGroup the group of related items
+     * @param {object} config configuration attributes
+     */
+    initTarget: function(id, sGroup, config) {
+
+        // configuration attributes 
+        this.config = config || {};
+
+        this.events = {};
+
+        // create a local reference to the drag and drop manager
+        this.DDM = YAHOO.util.DDM;
+
+        // initialize the groups object
+        this.groups = {};
+
+        // assume that we have an element reference instead of an id if the
+        // parameter is not a string
+        if (typeof id !== "string") {
+            YAHOO.log("id is not a string, assuming it is an HTMLElement");
+            this._domRef = id;
+            id = Dom.generateId(id);
+        }
+
+        // set the id
+        this.id = id;
+
+        // add to an interaction group
+        this.addToGroup((sGroup) ? sGroup : "default");
+
+        // We don't want to register this as the handle with the manager
+        // so we just set the id rather than calling the setter.
+        this.handleElId = id;
+
+        Event.onAvailable(id, this.handleOnAvailable, this, true);
+
+        // create a logger instance
+        this.logger = (YAHOO.widget.LogWriter) ? 
+                new YAHOO.widget.LogWriter(this.toString()) : YAHOO;
+
+        // the linked element is the element that gets dragged by default
+        this.setDragElId(id); 
+
+        // by default, clicked anchors will not start drag operations. 
+        // @TODO what else should be here?  Probably form fields.
+        this.invalidHandleTypes = { A: "A" };
+        this.invalidHandleIds = {};
+        this.invalidHandleClasses = [];
+
+        this.applyConfig();
+    },
+
+    /**
+     * Applies the configuration parameters that were passed into the constructor.
+     * This is supposed to happen at each level through the inheritance chain.  So
+     * a DDProxy implentation will execute apply config on DDProxy, DD, and 
+     * DragDrop in order to get all of the parameters that are available in
+     * each object.
+     * @method applyConfig
+     */
+    applyConfig: function() {
+        this.events = {
+            mouseDown: true,
+            b4MouseDown: true,
+            mouseUp: true,
+            b4StartDrag: true,
+            startDrag: true,
+            b4EndDrag: true,
+            endDrag: true,
+            drag: true,
+            b4Drag: true,
+            invalidDrop: true,
+            b4DragOut: true,
+            dragOut: true,
+            dragEnter: true,
+            b4DragOver: true,
+            dragOver: true,
+            b4DragDrop: true,
+            dragDrop: true
+        };
+        
+        if (this.config.events) {
+            for (var i in this.config.events) {
+                if (this.config.events[i] === false) {
+                    this.events[i] = false;
+                }
+            }
+        }
+
+
+        // configurable properties: 
+        //    padding, isTarget, maintainOffset, primaryButtonOnly
+        this.padding           = this.config.padding || [0, 0, 0, 0];
+        this.isTarget          = (this.config.isTarget !== false);
+        this.maintainOffset    = (this.config.maintainOffset);
+        this.primaryButtonOnly = (this.config.primaryButtonOnly !== false);
+        this.dragOnly = ((this.config.dragOnly === true) ? true : false);
+        this.useShim = ((this.config.useShim === true) ? true : false);
+    },
+
+    /**
+     * Executed when the linked element is available
+     * @method handleOnAvailable
+     * @private
+     */
+    handleOnAvailable: function() {
+        //this.logger.log("handleOnAvailable");
+        this.available = true;
+        this.resetConstraints();
+        this.onAvailable();
+    },
+
+     /**
+     * Configures the padding for the target zone in px.  Effectively expands
+     * (or reduces) the virtual object size for targeting calculations.  
+     * Supports css-style shorthand; if only one parameter is passed, all sides
+     * will have that padding, and if only two are passed, the top and bottom
+     * will have the first param, the left and right the second.
+     * @method setPadding
+     * @param {int} iTop    Top pad
+     * @param {int} iRight  Right pad
+     * @param {int} iBot    Bot pad
+     * @param {int} iLeft   Left pad
+     */
+    setPadding: function(iTop, iRight, iBot, iLeft) {
+        // this.padding = [iLeft, iRight, iTop, iBot];
+        if (!iRight && 0 !== iRight) {
+            this.padding = [iTop, iTop, iTop, iTop];
+        } else if (!iBot && 0 !== iBot) {
+            this.padding = [iTop, iRight, iTop, iRight];
+        } else {
+            this.padding = [iTop, iRight, iBot, iLeft];
+        }
+    },
+
+    /**
+     * Stores the initial placement of the linked element.
+     * @method setInitialPosition
+     * @param {int} diffX   the X offset, default 0
+     * @param {int} diffY   the Y offset, default 0
+     * @private
+     */
+    setInitPosition: function(diffX, diffY) {
+        var el = this.getEl();
+
+        if (!this.DDM.verifyEl(el)) {
+            if (el && el.style && (el.style.display == 'none')) {
+                this.logger.log(this.id + " can not get initial position, element style is display: none");
+            } else {
+                this.logger.log(this.id + " element is broken");
+            }
+            return;
+        }
+
+        var dx = diffX || 0;
+        var dy = diffY || 0;
+
+        var p = Dom.getXY( el );
+
+        this.initPageX = p[0] - dx;
+        this.initPageY = p[1] - dy;
+
+        this.lastPageX = p[0];
+        this.lastPageY = p[1];
+
+        this.logger.log(this.id + " initial position: " + this.initPageX + 
+                ", " + this.initPageY);
+
+
+        this.setStartPosition(p);
+    },
+
+    /**
+     * Sets the start position of the element.  This is set when the obj
+     * is initialized, the reset when a drag is started.
+     * @method setStartPosition
+     * @param pos current position (from previous lookup)
+     * @private
+     */
+    setStartPosition: function(pos) {
+        var p = pos || Dom.getXY(this.getEl());
+
+        this.deltaSetXY = null;
+
+        this.startPageX = p[0];
+        this.startPageY = p[1];
+    },
+
+    /**
+     * Add this instance to a group of related drag/drop objects.  All 
+     * instances belong to at least one group, and can belong to as many 
+     * groups as needed.
+     * @method addToGroup
+     * @param sGroup {string} the name of the group
+     */
+    addToGroup: function(sGroup) {
+        this.groups[sGroup] = true;
+        this.DDM.regDragDrop(this, sGroup);
+    },
+
+    /**
+     * Remove's this instance from the supplied interaction group
+     * @method removeFromGroup
+     * @param {string}  sGroup  The group to drop
+     */
+    removeFromGroup: function(sGroup) {
+        this.logger.log("Removing from group: " + sGroup);
+        if (this.groups[sGroup]) {
+            delete this.groups[sGroup];
+        }
+
+        this.DDM.removeDDFromGroup(this, sGroup);
+    },
+
+    /**
+     * Allows you to specify that an element other than the linked element 
+     * will be moved with the cursor during a drag
+     * @method setDragElId
+     * @param id {string} the id of the element that will be used to initiate the drag
+     */
+    setDragElId: function(id) {
+        this.dragElId = id;
+    },
+
+    /**
+     * Allows you to specify a child of the linked element that should be 
+     * used to initiate the drag operation.  An example of this would be if 
+     * you have a content div with text and links.  Clicking anywhere in the 
+     * content area would normally start the drag operation.  Use this method
+     * to specify that an element inside of the content div is the element 
+     * that starts the drag operation.
+     * @method setHandleElId
+     * @param id {string} the id of the element that will be used to 
+     * initiate the drag.
+     */
+    setHandleElId: function(id) {
+        if (typeof id !== "string") {
+            YAHOO.log("id is not a string, assuming it is an HTMLElement");
+            id = Dom.generateId(id);
+        }
+        this.handleElId = id;
+        this.DDM.regHandle(this.id, id);
+    },
+
+    /**
+     * Allows you to set an element outside of the linked element as a drag 
+     * handle
+     * @method setOuterHandleElId
+     * @param id the id of the element that will be used to initiate the drag
+     */
+    setOuterHandleElId: function(id) {
+        if (typeof id !== "string") {
+            YAHOO.log("id is not a string, assuming it is an HTMLElement");
+            id = Dom.generateId(id);
+        }
+        this.logger.log("Adding outer handle event: " + id);
+        Event.on(id, "mousedown", 
+                this.handleMouseDown, this, true);
+        this.setHandleElId(id);
+
+        this.hasOuterHandles = true;
+    },
+
+    /**
+     * Remove all drag and drop hooks for this element
+     * @method unreg
+     */
+    unreg: function() {
+        this.logger.log("DragDrop obj cleanup " + this.id);
+        Event.removeListener(this.id, "mousedown", 
+                this.handleMouseDown);
+        this._domRef = null;
+        this.DDM._remove(this);
+    },
+
+    /**
+     * Returns true if this instance is locked, or the drag drop mgr is locked
+     * (meaning that all drag/drop is disabled on the page.)
+     * @method isLocked
+     * @return {boolean} true if this obj or all drag/drop is locked, else 
+     * false
+     */
+    isLocked: function() {
+        return (this.DDM.isLocked() || this.locked);
+    },
+
+    /**
+     * Fired when this object is clicked
+     * @method handleMouseDown
+     * @param {Event} e 
+     * @param {YAHOO.util.DragDrop} oDD the clicked dd object (this dd obj)
+     * @private
+     */
+    handleMouseDown: function(e, oDD) {
+
+        var button = e.which || e.button;
+        this.logger.log("button: " + button);
+
+        if (this.primaryButtonOnly && button > 1) {
+            this.logger.log("Mousedown was not produced by the primary button");
+            return;
+        }
+
+        if (this.isLocked()) {
+            this.logger.log("Drag and drop is disabled, aborting");
+            return;
+        }
+
+        this.logger.log("mousedown " + this.id);
+
+        this.logger.log("firing onMouseDown events");
+
+        // firing the mousedown events prior to calculating positions
+        var b4Return = this.b4MouseDown(e),
+        b4Return2 = true;
+
+        if (this.events.b4MouseDown) {
+            b4Return2 = this.fireEvent('b4MouseDownEvent', e);
+        }
+        var mDownReturn = this.onMouseDown(e),
+            mDownReturn2 = true;
+        if (this.events.mouseDown) {
+            mDownReturn2 = this.fireEvent('mouseDownEvent', e);
+        }
+
+        if ((b4Return === false) || (mDownReturn === false) || (b4Return2 === false) || (mDownReturn2 === false)) {
+            this.logger.log('b4MouseDown or onMouseDown returned false, exiting drag');
+            return;
+        }
+
+        this.DDM.refreshCache(this.groups);
+        // var self = this;
+        // setTimeout( function() { self.DDM.refreshCache(self.groups); }, 0);
+
+        // Only process the event if we really clicked within the linked 
+        // element.  The reason we make this check is that in the case that 
+        // another element was moved between the clicked element and the 
+        // cursor in the time between the mousedown and mouseup events. When 
+        // this happens, the element gets the next mousedown event 
+        // regardless of where on the screen it happened.  
+        var pt = new YAHOO.util.Point(Event.getPageX(e), Event.getPageY(e));
+        if (!this.hasOuterHandles && !this.DDM.isOverTarget(pt, this) )  {
+                this.logger.log("Click was not over the element: " + this.id);
+        } else {
+            if (this.clickValidator(e)) {
+
+                this.logger.log("click was a valid handle");
+
+                // set the initial element position
+                this.setStartPosition();
+
+                // start tracking mousemove distance and mousedown time to
+                // determine when to start the actual drag
+                this.DDM.handleMouseDown(e, this);
+
+                // this mousedown is mine
+                this.DDM.stopEvent(e);
+            } else {
+
+this.logger.log("clickValidator returned false, drag not initiated");
+
+            }
+        }
+    },
+
+    /**
+     * @method clickValidator
+     * @description Method validates that the clicked element
+     * was indeed the handle or a valid child of the handle
+     * @param {Event} e 
+     */
+    clickValidator: function(e) {
+        var target = YAHOO.util.Event.getTarget(e);
+        return ( this.isValidHandleChild(target) &&
+                    (this.id == this.handleElId || 
+                        this.DDM.handleWasClicked(target, this.id)) );
+    },
+
+    /**
+     * Finds the location the element should be placed if we want to move
+     * it to where the mouse location less the click offset would place us.
+     * @method getTargetCoord
+     * @param {int} iPageX the X coordinate of the click
+     * @param {int} iPageY the Y coordinate of the click
+     * @return an object that contains the coordinates (Object.x and Object.y)
+     * @private
+     */
+    getTargetCoord: function(iPageX, iPageY) {
+
+        // this.logger.log("getTargetCoord: " + iPageX + ", " + iPageY);
+
+        var x = iPageX - this.deltaX;
+        var y = iPageY - this.deltaY;
+
+        if (this.constrainX) {
+            if (x < this.minX) { x = this.minX; }
+            if (x > this.maxX) { x = this.maxX; }
+        }
+
+        if (this.constrainY) {
+            if (y < this.minY) { y = this.minY; }
+            if (y > this.maxY) { y = this.maxY; }
+        }
+
+        x = this.getTick(x, this.xTicks);
+        y = this.getTick(y, this.yTicks);
+
+        // this.logger.log("getTargetCoord " + 
+                // " iPageX: " + iPageX +
+                // " iPageY: " + iPageY +
+                // " x: " + x + ", y: " + y);
+
+        return {x:x, y:y};
+    },
+
+    /**
+     * Allows you to specify a tag name that should not start a drag operation
+     * when clicked.  This is designed to facilitate embedding links within a
+     * drag handle that do something other than start the drag.
+     * @method addInvalidHandleType
+     * @param {string} tagName the type of element to exclude
+     */
+    addInvalidHandleType: function(tagName) {
+        var type = tagName.toUpperCase();
+        this.invalidHandleTypes[type] = type;
+    },
+
+    /**
+     * Lets you to specify an element id for a child of a drag handle
+     * that should not initiate a drag
+     * @method addInvalidHandleId
+     * @param {string} id the element id of the element you wish to ignore
+     */
+    addInvalidHandleId: function(id) {
+        if (typeof id !== "string") {
+            YAHOO.log("id is not a string, assuming it is an HTMLElement");
+            id = Dom.generateId(id);
+        }
+        this.invalidHandleIds[id] = id;
+    },
+
+
+    /**
+     * Lets you specify a css class of elements that will not initiate a drag
+     * @method addInvalidHandleClass
+     * @param {string} cssClass the class of the elements you wish to ignore
+     */
+    addInvalidHandleClass: function(cssClass) {
+        this.invalidHandleClasses.push(cssClass);
+    },
+
+    /**
+     * Unsets an excluded tag name set by addInvalidHandleType
+     * @method removeInvalidHandleType
+     * @param {string} tagName the type of element to unexclude
+     */
+    removeInvalidHandleType: function(tagName) {
+        var type = tagName.toUpperCase();
+        // this.invalidHandleTypes[type] = null;
+        delete this.invalidHandleTypes[type];
+    },
+    
+    /**
+     * Unsets an invalid handle id
+     * @method removeInvalidHandleId
+     * @param {string} id the id of the element to re-enable
+     */
+    removeInvalidHandleId: function(id) {
+        if (typeof id !== "string") {
+            YAHOO.log("id is not a string, assuming it is an HTMLElement");
+            id = Dom.generateId(id);
+        }
+        delete this.invalidHandleIds[id];
+    },
+
+    /**
+     * Unsets an invalid css class
+     * @method removeInvalidHandleClass
+     * @param {string} cssClass the class of the element(s) you wish to 
+     * re-enable
+     */
+    removeInvalidHandleClass: function(cssClass) {
+        for (var i=0, len=this.invalidHandleClasses.length; i<len; ++i) {
+            if (this.invalidHandleClasses[i] == cssClass) {
+                delete this.invalidHandleClasses[i];
+            }
+        }
+    },
+
+    /**
+     * Checks the tag exclusion list to see if this click should be ignored
+     * @method isValidHandleChild
+     * @param {HTMLElement} node the HTMLElement to evaluate
+     * @return {boolean} true if this is a valid tag type, false if not
+     */
+    isValidHandleChild: function(node) {
+
+        var valid = true;
+        // var n = (node.nodeName == "#text") ? node.parentNode : node;
+        var nodeName;
+        try {
+            nodeName = node.nodeName.toUpperCase();
+        } catch(e) {
+            nodeName = node.nodeName;
+        }
+        valid = valid && !this.invalidHandleTypes[nodeName];
+        valid = valid && !this.invalidHandleIds[node.id];
+
+        for (var i=0, len=this.invalidHandleClasses.length; valid && i<len; ++i) {
+            valid = !Dom.hasClass(node, this.invalidHandleClasses[i]);
+        }
+
+        this.logger.log("Valid handle? ... " + valid);
+
+        return valid;
+
+    },
+
+    /**
+     * Create the array of horizontal tick marks if an interval was specified
+     * in setXConstraint().
+     * @method setXTicks
+     * @private
+     */
+    setXTicks: function(iStartX, iTickSize) {
+        this.xTicks = [];
+        this.xTickSize = iTickSize;
+        
+        var tickMap = {};
+
+        for (var i = this.initPageX; i >= this.minX; i = i - iTickSize) {
+            if (!tickMap[i]) {
+                this.xTicks[this.xTicks.length] = i;
+                tickMap[i] = true;
+            }
+        }
+
+        for (i = this.initPageX; i <= this.maxX; i = i + iTickSize) {
+            if (!tickMap[i]) {
+                this.xTicks[this.xTicks.length] = i;
+                tickMap[i] = true;
+            }
+        }
+
+        this.xTicks.sort(this.DDM.numericSort) ;
+        this.logger.log("xTicks: " + this.xTicks.join());
+    },
+
+    /**
+     * Create the array of vertical tick marks if an interval was specified in 
+     * setYConstraint().
+     * @method setYTicks
+     * @private
+     */
+    setYTicks: function(iStartY, iTickSize) {
+        // this.logger.log("setYTicks: " + iStartY + ", " + iTickSize
+               // + ", " + this.initPageY + ", " + this.minY + ", " + this.maxY );
+        this.yTicks = [];
+        this.yTickSize = iTickSize;
+
+        var tickMap = {};
+
+        for (var i = this.initPageY; i >= this.minY; i = i - iTickSize) {
+            if (!tickMap[i]) {
+                this.yTicks[this.yTicks.length] = i;
+                tickMap[i] = true;
+            }
+        }
+
+        for (i = this.initPageY; i <= this.maxY; i = i + iTickSize) {
+            if (!tickMap[i]) {
+                this.yTicks[this.yTicks.length] = i;
+                tickMap[i] = true;
+            }
+        }
+
+        this.yTicks.sort(this.DDM.numericSort) ;
+        this.logger.log("yTicks: " + this.yTicks.join());
+    },
+
+    /**
+     * By default, the element can be dragged any place on the screen.  Use 
+     * this method to limit the horizontal travel of the element.  Pass in 
+     * 0,0 for the parameters if you want to lock the drag to the y axis.
+     * @method setXConstraint
+     * @param {int} iLeft the number of pixels the element can move to the left
+     * @param {int} iRight the number of pixels the element can move to the 
+     * right
+     * @param {int} iTickSize optional parameter for specifying that the 
+     * element
+     * should move iTickSize pixels at a time.
+     */
+    setXConstraint: function(iLeft, iRight, iTickSize) {
+        this.leftConstraint = parseInt(iLeft, 10);
+        this.rightConstraint = parseInt(iRight, 10);
+
+        this.minX = this.initPageX - this.leftConstraint;
+        this.maxX = this.initPageX + this.rightConstraint;
+        if (iTickSize) { this.setXTicks(this.initPageX, iTickSize); }
+
+        this.constrainX = true;
+        this.logger.log("initPageX:" + this.initPageX + " minX:" + this.minX + 
+                " maxX:" + this.maxX);
+    },
+
+    /**
+     * Clears any constraints applied to this instance.  Also clears ticks
+     * since they can't exist independent of a constraint at this time.
+     * @method clearConstraints
+     */
+    clearConstraints: function() {
+        this.logger.log("Clearing constraints");
+        this.constrainX = false;
+        this.constrainY = false;
+        this.clearTicks();
+    },
+
+    /**
+     * Clears any tick interval defined for this instance
+     * @method clearTicks
+     */
+    clearTicks: function() {
+        this.logger.log("Clearing ticks");
+        this.xTicks = null;
+        this.yTicks = null;
+        this.xTickSize = 0;
+        this.yTickSize = 0;
+    },
+
+    /**
+     * By default, the element can be dragged any place on the screen.  Set 
+     * this to limit the vertical travel of the element.  Pass in 0,0 for the
+     * parameters if you want to lock the drag to the x axis.
+     * @method setYConstraint
+     * @param {int} iUp the number of pixels the element can move up
+     * @param {int} iDown the number of pixels the element can move down
+     * @param {int} iTickSize optional parameter for specifying that the 
+     * element should move iTickSize pixels at a time.
+     */
+    setYConstraint: function(iUp, iDown, iTickSize) {
+        this.logger.log("setYConstraint: " + iUp + "," + iDown + "," + iTickSize);
+        this.topConstraint = parseInt(iUp, 10);
+        this.bottomConstraint = parseInt(iDown, 10);
+
+        this.minY = this.initPageY - this.topConstraint;
+        this.maxY = this.initPageY + this.bottomConstraint;
+        if (iTickSize) { this.setYTicks(this.initPageY, iTickSize); }
+
+        this.constrainY = true;
+        
+        this.logger.log("initPageY:" + this.initPageY + " minY:" + this.minY + 
+                " maxY:" + this.maxY);
+    },
+
+    /**
+     * resetConstraints must be called if you manually reposition a dd element.
+     * @method resetConstraints
+     */
+    resetConstraints: function() {
+
+        //this.logger.log("resetConstraints");
+
+        // Maintain offsets if necessary
+        if (this.initPageX || this.initPageX === 0) {
+            //this.logger.log("init pagexy: " + this.initPageX + ", " + 
+                               //this.initPageY);
+            //this.logger.log("last pagexy: " + this.lastPageX + ", " + 
+                               //this.lastPageY);
+            // figure out how much this thing has moved
+            var dx = (this.maintainOffset) ? this.lastPageX - this.initPageX : 0;
+            var dy = (this.maintainOffset) ? this.lastPageY - this.initPageY : 0;
+
+            this.setInitPosition(dx, dy);
+
+        // This is the first time we have detected the element's position
+        } else {
+            this.setInitPosition();
+        }
+
+        if (this.constrainX) {
+            this.setXConstraint( this.leftConstraint, 
+                                 this.rightConstraint, 
+                                 this.xTickSize        );
+        }
+
+        if (this.constrainY) {
+            this.setYConstraint( this.topConstraint, 
+                                 this.bottomConstraint, 
+                                 this.yTickSize         );
+        }
+    },
+
+    /**
+     * Normally the drag element is moved pixel by pixel, but we can specify 
+     * that it move a number of pixels at a time.  This method resolves the 
+     * location when we have it set up like this.
+     * @method getTick
+     * @param {int} val where we want to place the object
+     * @param {int[]} tickArray sorted array of valid points
+     * @return {int} the closest tick
+     * @private
+     */
+    getTick: function(val, tickArray) {
+
+        if (!tickArray) {
+            // If tick interval is not defined, it is effectively 1 pixel, 
+            // so we return the value passed to us.
+            return val; 
+        } else if (tickArray[0] >= val) {
+            // The value is lower than the first tick, so we return the first
+            // tick.
+            return tickArray[0];
+        } else {
+            for (var i=0, len=tickArray.length; i<len; ++i) {
+                var next = i + 1;
+                if (tickArray[next] && tickArray[next] >= val) {
+                    var diff1 = val - tickArray[i];
+                    var diff2 = tickArray[next] - val;
+                    return (diff2 > diff1) ? tickArray[i] : tickArray[next];
+                }
+            }
+
+            // The value is larger than the last tick, so we return the last
+            // tick.
+            return tickArray[tickArray.length - 1];
+        }
+    },
+
+    /**
+     * toString method
+     * @method toString
+     * @return {string} string representation of the dd obj
+     */
+    toString: function() {
+        return ("DragDrop " + this.id);
+    }
+
+};
+YAHOO.augment(YAHOO.util.DragDrop, YAHOO.util.EventProvider);
+
+/**
+* @event mouseDownEvent
+* @description Provides access to the mousedown event. The mousedown does not always result in a drag operation.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event b4MouseDownEvent
+* @description Provides access to the mousedown event, before the mouseDownEvent gets fired. Returning false will cancel the drag.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event mouseUpEvent
+* @description Fired from inside DragDropMgr when the drag operation is finished.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event b4StartDragEvent
+* @description Fires before the startDragEvent, returning false will cancel the startDrag Event.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event startDragEvent
+* @description Occurs after a mouse down and the drag threshold has been met. The drag threshold default is either 3 pixels of mouse movement or 1 full second of holding the mousedown. 
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event b4EndDragEvent
+* @description Fires before the endDragEvent. Returning false will cancel.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event endDragEvent
+* @description Fires on the mouseup event after a drag has been initiated (startDrag fired).
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event dragEvent
+* @description Occurs every mousemove event while dragging.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event b4DragEvent
+* @description Fires before the dragEvent.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event invalidDropEvent
+* @description Fires when the dragged objects is dropped in a location that contains no drop targets.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event b4DragOutEvent
+* @description Fires before the dragOutEvent
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event dragOutEvent
+* @description Fires when a dragged object is no longer over an object that had the onDragEnter fire. 
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event dragEnterEvent
+* @description Occurs when the dragged object first interacts with another targettable drag and drop object.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event b4DragOverEvent
+* @description Fires before the dragOverEvent.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event dragOverEvent
+* @description Fires every mousemove event while over a drag and drop object.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event b4DragDropEvent 
+* @description Fires before the dragDropEvent
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event dragDropEvent
+* @description Fires when the dragged objects is dropped on another.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+})();
+/**
+ * A DragDrop implementation where the linked element follows the 
+ * mouse cursor during a drag.
+ * @class DD
+ * @extends YAHOO.util.DragDrop
+ * @constructor
+ * @param {String} id the id of the linked element 
+ * @param {String} sGroup the group of related DragDrop items
+ * @param {object} config an object containing configurable attributes
+ *                Valid properties for DD: 
+ *                    scroll
+ */
+YAHOO.util.DD = function(id, sGroup, config) {
+    if (id) {
+        this.init(id, sGroup, config);
+    }
+};
+
+YAHOO.extend(YAHOO.util.DD, YAHOO.util.DragDrop, {
+
+    /**
+     * When set to true, the utility automatically tries to scroll the browser
+     * window when a drag and drop element is dragged near the viewport boundary.
+     * Defaults to true.
+     * @property scroll
+     * @type boolean
+     */
+    scroll: true, 
+
+    /**
+     * Sets the pointer offset to the distance between the linked element's top 
+     * left corner and the location the element was clicked
+     * @method autoOffset
+     * @param {int} iPageX the X coordinate of the click
+     * @param {int} iPageY the Y coordinate of the click
+     */
+    autoOffset: function(iPageX, iPageY) {
+        var x = iPageX - this.startPageX;
+        var y = iPageY - this.startPageY;
+        this.setDelta(x, y);
+        // this.logger.log("autoOffset el pos: " + aCoord + ", delta: " + x + "," + y);
+    },
+
+    /** 
+     * Sets the pointer offset.  You can call this directly to force the 
+     * offset to be in a particular location (e.g., pass in 0,0 to set it 
+     * to the center of the object, as done in YAHOO.widget.Slider)
+     * @method setDelta
+     * @param {int} iDeltaX the distance from the left
+     * @param {int} iDeltaY the distance from the top
+     */
+    setDelta: function(iDeltaX, iDeltaY) {
+        this.deltaX = iDeltaX;
+        this.deltaY = iDeltaY;
+        this.logger.log("deltaX:" + this.deltaX + ", deltaY:" + this.deltaY);
+    },
+
+    /**
+     * Sets the drag element to the location of the mousedown or click event, 
+     * maintaining the cursor location relative to the location on the element 
+     * that was clicked.  Override this if you want to place the element in a 
+     * location other than where the cursor is.
+     * @method setDragElPos
+     * @param {int} iPageX the X coordinate of the mousedown or drag event
+     * @param {int} iPageY the Y coordinate of the mousedown or drag event
+     */
+    setDragElPos: function(iPageX, iPageY) {
+        // the first time we do this, we are going to check to make sure
+        // the element has css positioning
+
+        var el = this.getDragEl();
+        this.alignElWithMouse(el, iPageX, iPageY);
+    },
+
+    /**
+     * Sets the element to the location of the mousedown or click event, 
+     * maintaining the cursor location relative to the location on the element 
+     * that was clicked.  Override this if you want to place the element in a 
+     * location other than where the cursor is.
+     * @method alignElWithMouse
+     * @param {HTMLElement} el the element to move
+     * @param {int} iPageX the X coordinate of the mousedown or drag event
+     * @param {int} iPageY the Y coordinate of the mousedown or drag event
+     */
+    alignElWithMouse: function(el, iPageX, iPageY) {
+        var oCoord = this.getTargetCoord(iPageX, iPageY);
+        // this.logger.log("****alignElWithMouse : " + el.id + ", " + aCoord + ", " + el.style.display);
+
+        if (!this.deltaSetXY) {
+            var aCoord = [oCoord.x, oCoord.y];
+            YAHOO.util.Dom.setXY(el, aCoord);
+
+            var newLeft = parseInt( YAHOO.util.Dom.getStyle(el, "left"), 10 );
+            var newTop  = parseInt( YAHOO.util.Dom.getStyle(el, "top" ), 10 );
+
+            this.deltaSetXY = [ newLeft - oCoord.x, newTop - oCoord.y ];
+        } else {
+            YAHOO.util.Dom.setStyle(el, "left", (oCoord.x + this.deltaSetXY[0]) + "px");
+            YAHOO.util.Dom.setStyle(el, "top",  (oCoord.y + this.deltaSetXY[1]) + "px");
+        }
+        
+        this.cachePosition(oCoord.x, oCoord.y);
+        var self = this;
+        setTimeout(function() {
+            self.autoScroll.call(self, oCoord.x, oCoord.y, el.offsetHeight, el.offsetWidth);
+        }, 0);
+    },
+
+    /**
+     * Saves the most recent position so that we can reset the constraints and
+     * tick marks on-demand.  We need to know this so that we can calculate the
+     * number of pixels the element is offset from its original position.
+     * @method cachePosition
+     * @param iPageX the current x position (optional, this just makes it so we
+     * don't have to look it up again)
+     * @param iPageY the current y position (optional, this just makes it so we
+     * don't have to look it up again)
+     */
+    cachePosition: function(iPageX, iPageY) {
+        if (iPageX) {
+            this.lastPageX = iPageX;
+            this.lastPageY = iPageY;
+        } else {
+            var aCoord = YAHOO.util.Dom.getXY(this.getEl());
+            this.lastPageX = aCoord[0];
+            this.lastPageY = aCoord[1];
+        }
+    },
+
+    /**
+     * Auto-scroll the window if the dragged object has been moved beyond the 
+     * visible window boundary.
+     * @method autoScroll
+     * @param {int} x the drag element's x position
+     * @param {int} y the drag element's y position
+     * @param {int} h the height of the drag element
+     * @param {int} w the width of the drag element
+     * @private
+     */
+    autoScroll: function(x, y, h, w) {
+
+        if (this.scroll) {
+            // The client height
+            var clientH = this.DDM.getClientHeight();
+
+            // The client width
+            var clientW = this.DDM.getClientWidth();
+
+            // The amt scrolled down
+            var st = this.DDM.getScrollTop();
+
+            // The amt scrolled right
+            var sl = this.DDM.getScrollLeft();
+
+            // Location of the bottom of the element
+            var bot = h + y;
+
+            // Location of the right of the element
+            var right = w + x;
+
+            // The distance from the cursor to the bottom of the visible area, 
+            // adjusted so that we don't scroll if the cursor is beyond the
+            // element drag constraints
+            var toBot = (clientH + st - y - this.deltaY);
+
+            // The distance from the cursor to the right of the visible area
+            var toRight = (clientW + sl - x - this.deltaX);
+
+            // this.logger.log( " x: " + x + " y: " + y + " h: " + h + 
+            // " clientH: " + clientH + " clientW: " + clientW + 
+            // " st: " + st + " sl: " + sl + " bot: " + bot + 
+            // " right: " + right + " toBot: " + toBot + " toRight: " + toRight);
+
+            // How close to the edge the cursor must be before we scroll
+            // var thresh = (document.all) ? 100 : 40;
+            var thresh = 40;
+
+            // How many pixels to scroll per autoscroll op.  This helps to reduce 
+            // clunky scrolling. IE is more sensitive about this ... it needs this 
+            // value to be higher.
+            var scrAmt = (document.all) ? 80 : 30;
+
+            // Scroll down if we are near the bottom of the visible page and the 
+            // obj extends below the crease
+            if ( bot > clientH && toBot < thresh ) { 
+                window.scrollTo(sl, st + scrAmt); 
+            }
+
+            // Scroll up if the window is scrolled down and the top of the object
+            // goes above the top border
+            if ( y < st && st > 0 && y - st < thresh ) { 
+                window.scrollTo(sl, st - scrAmt); 
+            }
+
+            // Scroll right if the obj is beyond the right border and the cursor is
+            // near the border.
+            if ( right > clientW && toRight < thresh ) { 
+                window.scrollTo(sl + scrAmt, st); 
+            }
+
+            // Scroll left if the window has been scrolled to the right and the obj
+            // extends past the left border
+            if ( x < sl && sl > 0 && x - sl < thresh ) { 
+                window.scrollTo(sl - scrAmt, st);
+            }
+        }
+    },
+
+    /*
+     * Sets up config options specific to this class. Overrides
+     * YAHOO.util.DragDrop, but all versions of this method through the 
+     * inheritance chain are called
+     */
+    applyConfig: function() {
+        YAHOO.util.DD.superclass.applyConfig.call(this);
+        this.scroll = (this.config.scroll !== false);
+    },
+
+    /*
+     * Event that fires prior to the onMouseDown event.  Overrides 
+     * YAHOO.util.DragDrop.
+     */
+    b4MouseDown: function(e) {
+        this.setStartPosition();
+        // this.resetConstraints();
+        this.autoOffset(YAHOO.util.Event.getPageX(e), 
+                            YAHOO.util.Event.getPageY(e));
+    },
+
+    /*
+     * Event that fires prior to the onDrag event.  Overrides 
+     * YAHOO.util.DragDrop.
+     */
+    b4Drag: function(e) {
+        this.setDragElPos(YAHOO.util.Event.getPageX(e), 
+                            YAHOO.util.Event.getPageY(e));
+    },
+
+    toString: function() {
+        return ("DD " + this.id);
+    }
+
+    //////////////////////////////////////////////////////////////////////////
+    // Debugging ygDragDrop events that can be overridden
+    //////////////////////////////////////////////////////////////////////////
+    /*
+    startDrag: function(x, y) {
+        this.logger.log(this.id.toString()  + " startDrag");
+    },
+
+    onDrag: function(e) {
+        this.logger.log(this.id.toString() + " onDrag");
+    },
+
+    onDragEnter: function(e, id) {
+        this.logger.log(this.id.toString() + " onDragEnter: " + id);
+    },
+
+    onDragOver: function(e, id) {
+        this.logger.log(this.id.toString() + " onDragOver: " + id);
+    },
+
+    onDragOut: function(e, id) {
+        this.logger.log(this.id.toString() + " onDragOut: " + id);
+    },
+
+    onDragDrop: function(e, id) {
+        this.logger.log(this.id.toString() + " onDragDrop: " + id);
+    },
+
+    endDrag: function(e) {
+        this.logger.log(this.id.toString() + " endDrag");
+    }
+
+    */
+
+/**
+* @event mouseDownEvent
+* @description Provides access to the mousedown event. The mousedown does not always result in a drag operation.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event b4MouseDownEvent
+* @description Provides access to the mousedown event, before the mouseDownEvent gets fired. Returning false will cancel the drag.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event mouseUpEvent
+* @description Fired from inside DragDropMgr when the drag operation is finished.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event b4StartDragEvent
+* @description Fires before the startDragEvent, returning false will cancel the startDrag Event.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event startDragEvent
+* @description Occurs after a mouse down and the drag threshold has been met. The drag threshold default is either 3 pixels of mouse movement or 1 full second of holding the mousedown. 
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event b4EndDragEvent
+* @description Fires before the endDragEvent. Returning false will cancel.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event endDragEvent
+* @description Fires on the mouseup event after a drag has been initiated (startDrag fired).
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event dragEvent
+* @description Occurs every mousemove event while dragging.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event b4DragEvent
+* @description Fires before the dragEvent.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event invalidDropEvent
+* @description Fires when the dragged objects is dropped in a location that contains no drop targets.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event b4DragOutEvent
+* @description Fires before the dragOutEvent
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event dragOutEvent
+* @description Fires when a dragged object is no longer over an object that had the onDragEnter fire. 
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event dragEnterEvent
+* @description Occurs when the dragged object first interacts with another targettable drag and drop object.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event b4DragOverEvent
+* @description Fires before the dragOverEvent.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event dragOverEvent
+* @description Fires every mousemove event while over a drag and drop object.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event b4DragDropEvent 
+* @description Fires before the dragDropEvent
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event dragDropEvent
+* @description Fires when the dragged objects is dropped on another.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+});
+/**
+ * A DragDrop implementation that inserts an empty, bordered div into
+ * the document that follows the cursor during drag operations.  At the time of
+ * the click, the frame div is resized to the dimensions of the linked html
+ * element, and moved to the exact location of the linked element.
+ *
+ * References to the "frame" element refer to the single proxy element that
+ * was created to be dragged in place of all DDProxy elements on the
+ * page.
+ *
+ * @class DDProxy
+ * @extends YAHOO.util.DD
+ * @constructor
+ * @param {String} id the id of the linked html element
+ * @param {String} sGroup the group of related DragDrop objects
+ * @param {object} config an object containing configurable attributes
+ *                Valid properties for DDProxy in addition to those in DragDrop: 
+ *                   resizeFrame, centerFrame, dragElId
+ */
+YAHOO.util.DDProxy = function(id, sGroup, config) {
+    if (id) {
+        this.init(id, sGroup, config);
+        this.initFrame(); 
+    }
+};
+
+/**
+ * The default drag frame div id
+ * @property YAHOO.util.DDProxy.dragElId
+ * @type String
+ * @static
+ */
+YAHOO.util.DDProxy.dragElId = "ygddfdiv";
+
+YAHOO.extend(YAHOO.util.DDProxy, YAHOO.util.DD, {
+
+    /**
+     * By default we resize the drag frame to be the same size as the element
+     * we want to drag (this is to get the frame effect).  We can turn it off
+     * if we want a different behavior.
+     * @property resizeFrame
+     * @type boolean
+     */
+    resizeFrame: true,
+
+    /**
+     * By default the frame is positioned exactly where the drag element is, so
+     * we use the cursor offset provided by YAHOO.util.DD.  Another option that works only if
+     * you do not have constraints on the obj is to have the drag frame centered
+     * around the cursor.  Set centerFrame to true for this effect.
+     * @property centerFrame
+     * @type boolean
+     */
+    centerFrame: false,
+
+    /**
+     * Creates the proxy element if it does not yet exist
+     * @method createFrame
+     */
+    createFrame: function() {
+        var self=this, body=document.body;
+
+        if (!body || !body.firstChild) {
+            setTimeout( function() { self.createFrame(); }, 50 );
+            return;
+        }
+
+        var div=this.getDragEl(), Dom=YAHOO.util.Dom;
+
+        if (!div) {
+            div    = document.createElement("div");
+            div.id = this.dragElId;
+            var s  = div.style;
+
+            s.position   = "absolute";
+            s.visibility = "hidden";
+            s.cursor     = "move";
+            s.border     = "2px solid #aaa";
+            s.zIndex     = 999;
+            s.height     = "25px";
+            s.width      = "25px";
+
+            var _data = document.createElement('div');
+            Dom.setStyle(_data, 'height', '100%');
+            Dom.setStyle(_data, 'width', '100%');
+            /**
+            * If the proxy element has no background-color, then it is considered to the "transparent" by Internet Explorer.
+            * Since it is "transparent" then the events pass through it to the iframe below.
+            * So creating a "fake" div inside the proxy element and giving it a background-color, then setting it to an
+            * opacity of 0, it appears to not be there, however IE still thinks that it is so the events never pass through.
+            */
+            Dom.setStyle(_data, 'background-color', '#ccc');
+            Dom.setStyle(_data, 'opacity', '0');
+            div.appendChild(_data);
+
+            // appendChild can blow up IE if invoked prior to the window load event
+            // while rendering a table.  It is possible there are other scenarios 
+            // that would cause this to happen as well.
+            body.insertBefore(div, body.firstChild);
+        }
+    },
+
+    /**
+     * Initialization for the drag frame element.  Must be called in the
+     * constructor of all subclasses
+     * @method initFrame
+     */
+    initFrame: function() {
+        this.createFrame();
+    },
+
+    applyConfig: function() {
+        //this.logger.log("DDProxy applyConfig");
+        YAHOO.util.DDProxy.superclass.applyConfig.call(this);
+
+        this.resizeFrame = (this.config.resizeFrame !== false);
+        this.centerFrame = (this.config.centerFrame);
+        this.setDragElId(this.config.dragElId || YAHOO.util.DDProxy.dragElId);
+    },
+
+    /**
+     * Resizes the drag frame to the dimensions of the clicked object, positions 
+     * it over the object, and finally displays it
+     * @method showFrame
+     * @param {int} iPageX X click position
+     * @param {int} iPageY Y click position
+     * @private
+     */
+    showFrame: function(iPageX, iPageY) {
+        var el = this.getEl();
+        var dragEl = this.getDragEl();
+        var s = dragEl.style;
+
+        this._resizeProxy();
+
+        if (this.centerFrame) {
+            this.setDelta( Math.round(parseInt(s.width,  10)/2), 
+                           Math.round(parseInt(s.height, 10)/2) );
+        }
+
+        this.setDragElPos(iPageX, iPageY);
+
+        YAHOO.util.Dom.setStyle(dragEl, "visibility", "visible"); 
+    },
+
+    /**
+     * The proxy is automatically resized to the dimensions of the linked
+     * element when a drag is initiated, unless resizeFrame is set to false
+     * @method _resizeProxy
+     * @private
+     */
+    _resizeProxy: function() {
+        if (this.resizeFrame) {
+            var DOM    = YAHOO.util.Dom;
+            var el     = this.getEl();
+            var dragEl = this.getDragEl();
+
+            var bt = parseInt( DOM.getStyle(dragEl, "borderTopWidth"    ), 10);
+            var br = parseInt( DOM.getStyle(dragEl, "borderRightWidth"  ), 10);
+            var bb = parseInt( DOM.getStyle(dragEl, "borderBottomWidth" ), 10);
+            var bl = parseInt( DOM.getStyle(dragEl, "borderLeftWidth"   ), 10);
+
+            if (isNaN(bt)) { bt = 0; }
+            if (isNaN(br)) { br = 0; }
+            if (isNaN(bb)) { bb = 0; }
+            if (isNaN(bl)) { bl = 0; }
+
+            this.logger.log("proxy size: " + bt + "  " + br + " " + bb + " " + bl);
+
+            var newWidth  = Math.max(0, el.offsetWidth  - br - bl);                                                                                           
+            var newHeight = Math.max(0, el.offsetHeight - bt - bb);
+
+            this.logger.log("Resizing proxy element");
+
+            DOM.setStyle( dragEl, "width",  newWidth  + "px" );
+            DOM.setStyle( dragEl, "height", newHeight + "px" );
+        }
+    },
+
+    // overrides YAHOO.util.DragDrop
+    b4MouseDown: function(e) {
+        this.setStartPosition();
+        var x = YAHOO.util.Event.getPageX(e);
+        var y = YAHOO.util.Event.getPageY(e);
+        this.autoOffset(x, y);
+
+        // This causes the autoscroll code to kick off, which means autoscroll can
+        // happen prior to the check for a valid drag handle.
+        // this.setDragElPos(x, y);
+    },
+
+    // overrides YAHOO.util.DragDrop
+    b4StartDrag: function(x, y) {
+        // show the drag frame
+        this.logger.log("start drag show frame, x: " + x + ", y: " + y);
+        this.showFrame(x, y);
+    },
+
+    // overrides YAHOO.util.DragDrop
+    b4EndDrag: function(e) {
+        this.logger.log(this.id + " b4EndDrag");
+        YAHOO.util.Dom.setStyle(this.getDragEl(), "visibility", "hidden"); 
+    },
+
+    // overrides YAHOO.util.DragDrop
+    // By default we try to move the element to the last location of the frame.  
+    // This is so that the default behavior mirrors that of YAHOO.util.DD.  
+    endDrag: function(e) {
+        var DOM = YAHOO.util.Dom;
+        this.logger.log(this.id + " endDrag");
+        var lel = this.getEl();
+        var del = this.getDragEl();
+
+        // Show the drag frame briefly so we can get its position
+        // del.style.visibility = "";
+        DOM.setStyle(del, "visibility", ""); 
+
+        // Hide the linked element before the move to get around a Safari 
+        // rendering bug.
+        //lel.style.visibility = "hidden";
+        DOM.setStyle(lel, "visibility", "hidden"); 
+        YAHOO.util.DDM.moveToEl(lel, del);
+        //del.style.visibility = "hidden";
+        DOM.setStyle(del, "visibility", "hidden"); 
+        //lel.style.visibility = "";
+        DOM.setStyle(lel, "visibility", ""); 
+    },
+
+    toString: function() {
+        return ("DDProxy " + this.id);
+    }
+/**
+* @event mouseDownEvent
+* @description Provides access to the mousedown event. The mousedown does not always result in a drag operation.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event b4MouseDownEvent
+* @description Provides access to the mousedown event, before the mouseDownEvent gets fired. Returning false will cancel the drag.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event mouseUpEvent
+* @description Fired from inside DragDropMgr when the drag operation is finished.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event b4StartDragEvent
+* @description Fires before the startDragEvent, returning false will cancel the startDrag Event.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event startDragEvent
+* @description Occurs after a mouse down and the drag threshold has been met. The drag threshold default is either 3 pixels of mouse movement or 1 full second of holding the mousedown. 
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event b4EndDragEvent
+* @description Fires before the endDragEvent. Returning false will cancel.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event endDragEvent
+* @description Fires on the mouseup event after a drag has been initiated (startDrag fired).
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event dragEvent
+* @description Occurs every mousemove event while dragging.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event b4DragEvent
+* @description Fires before the dragEvent.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event invalidDropEvent
+* @description Fires when the dragged objects is dropped in a location that contains no drop targets.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event b4DragOutEvent
+* @description Fires before the dragOutEvent
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event dragOutEvent
+* @description Fires when a dragged object is no longer over an object that had the onDragEnter fire. 
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event dragEnterEvent
+* @description Occurs when the dragged object first interacts with another targettable drag and drop object.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event b4DragOverEvent
+* @description Fires before the dragOverEvent.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event dragOverEvent
+* @description Fires every mousemove event while over a drag and drop object.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event b4DragDropEvent 
+* @description Fires before the dragDropEvent
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event dragDropEvent
+* @description Fires when the dragged objects is dropped on another.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+});
+/**
+ * A DragDrop implementation that does not move, but can be a drop 
+ * target.  You would get the same result by simply omitting implementation 
+ * for the event callbacks, but this way we reduce the processing cost of the 
+ * event listener and the callbacks.
+ * @class DDTarget
+ * @extends YAHOO.util.DragDrop 
+ * @constructor
+ * @param {String} id the id of the element that is a drop target
+ * @param {String} sGroup the group of related DragDrop objects
+ * @param {object} config an object containing configurable attributes
+ *                 Valid properties for DDTarget in addition to those in 
+ *                 DragDrop: 
+ *                    none
+ */
+YAHOO.util.DDTarget = function(id, sGroup, config) {
+    if (id) {
+        this.initTarget(id, sGroup, config);
+    }
+};
+
+// YAHOO.util.DDTarget.prototype = new YAHOO.util.DragDrop();
+YAHOO.extend(YAHOO.util.DDTarget, YAHOO.util.DragDrop, {
+    toString: function() {
+        return ("DDTarget " + this.id);
+    }
+});
+YAHOO.register("dragdrop", YAHOO.util.DragDropMgr, {version: "2.8.0r4", build: "2449"});

Property changes on: tags/2.8.2/wb/include/yui/dragdrop/dragdrop-debug.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/yui/dragdrop/dragdrop.js
===================================================================
--- tags/2.8.2/wb/include/yui/dragdrop/dragdrop.js	(nonexistent)
+++ tags/2.8.2/wb/include/yui/dragdrop/dragdrop.js	(revision 1481)
@@ -0,0 +1,3601 @@
+/*
+Copyright (c) 2009, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.8.0r4
+*/
+/**
+ * The drag and drop utility provides a framework for building drag and drop
+ * applications.  In addition to enabling drag and drop for specific elements,
+ * the drag and drop elements are tracked by the manager class, and the
+ * interactions between the various elements are tracked during the drag and
+ * the implementing code is notified about these important moments.
+ * @module dragdrop
+ * @title Drag and Drop
+ * @requires yahoo,dom,event
+ * @namespace YAHOO.util
+ */
+
+// Only load the library once.  Rewriting the manager class would orphan 
+// existing drag and drop instances.
+if (!YAHOO.util.DragDropMgr) {
+
+/**
+ * DragDropMgr is a singleton that tracks the element interaction for 
+ * all DragDrop items in the window.  Generally, you will not call 
+ * this class directly, but it does have helper methods that could 
+ * be useful in your DragDrop implementations.
+ * @class DragDropMgr
+ * @static
+ */
+YAHOO.util.DragDropMgr = function() {
+
+    var Event = YAHOO.util.Event,
+        Dom = YAHOO.util.Dom;
+
+    return {
+        /**
+        * This property is used to turn on global use of the shim element on all DragDrop instances, defaults to false for backcompat. (Use: YAHOO.util.DDM.useShim = true)
+        * @property useShim
+        * @type Boolean
+        * @static
+        */
+        useShim: false,
+        /**
+        * This property is used to determine if the shim is active over the screen, default false.
+        * @private
+        * @property _shimActive
+        * @type Boolean
+        * @static
+        */
+        _shimActive: false,
+        /**
+        * This property is used when useShim is set on a DragDrop object to store the current state of DDM.useShim so it can be reset when a drag operation is done.
+        * @private
+        * @property _shimState
+        * @type Boolean
+        * @static
+        */
+        _shimState: false,
+        /**
+        * This property is used when useShim is set to true, it will set the opacity on the shim to .5 for debugging. Use: (YAHOO.util.DDM._debugShim = true;)
+        * @private
+        * @property _debugShim
+        * @type Boolean
+        * @static
+        */
+        _debugShim: false,
+        /**
+        * This method will create a shim element (giving it the id of yui-ddm-shim), it also attaches the mousemove and mouseup listeners to it and attaches a scroll listener on the window
+        * @private
+        * @method _sizeShim
+        * @static
+        */
+        _createShim: function() {
+            var s = document.createElement('div');
+            s.id = 'yui-ddm-shim';
+            if (document.body.firstChild) {
+                document.body.insertBefore(s, document.body.firstChild);
+            } else {
+                document.body.appendChild(s);
+            }
+            s.style.display = 'none';
+            s.style.backgroundColor = 'red';
+            s.style.position = 'absolute';
+            s.style.zIndex = '99999';
+            Dom.setStyle(s, 'opacity', '0');
+            this._shim = s;
+            Event.on(s, "mouseup",   this.handleMouseUp, this, true);
+            Event.on(s, "mousemove", this.handleMouseMove, this, true);
+            Event.on(window, 'scroll', this._sizeShim, this, true);
+        },
+        /**
+        * This method will size the shim, called from activate and on window scroll event
+        * @private
+        * @method _sizeShim
+        * @static
+        */
+        _sizeShim: function() {
+            if (this._shimActive) {
+                var s = this._shim;
+                s.style.height = Dom.getDocumentHeight() + 'px';
+                s.style.width = Dom.getDocumentWidth() + 'px';
+                s.style.top = '0';
+                s.style.left = '0';
+            }
+        },
+        /**
+        * This method will create the shim element if needed, then show the shim element, size the element and set the _shimActive property to true
+        * @private
+        * @method _activateShim
+        * @static
+        */
+        _activateShim: function() {
+            if (this.useShim) {
+                if (!this._shim) {
+                    this._createShim();
+                }
+                this._shimActive = true;
+                var s = this._shim,
+                    o = '0';
+                if (this._debugShim) {
+                    o = '.5';
+                }
+                Dom.setStyle(s, 'opacity', o);
+                this._sizeShim();
+                s.style.display = 'block';
+            }
+        },
+        /**
+        * This method will hide the shim element and set the _shimActive property to false
+        * @private
+        * @method _deactivateShim
+        * @static
+        */
+        _deactivateShim: function() {
+            this._shim.style.display = 'none';
+            this._shimActive = false;
+        },
+        /**
+        * The HTML element created to use as a shim over the document to track mouse movements
+        * @private
+        * @property _shim
+        * @type HTMLElement
+        * @static
+        */
+        _shim: null,
+        /**
+         * Two dimensional Array of registered DragDrop objects.  The first 
+         * dimension is the DragDrop item group, the second the DragDrop 
+         * object.
+         * @property ids
+         * @type {string: string}
+         * @private
+         * @static
+         */
+        ids: {},
+
+        /**
+         * Array of element ids defined as drag handles.  Used to determine 
+         * if the element that generated the mousedown event is actually the 
+         * handle and not the html element itself.
+         * @property handleIds
+         * @type {string: string}
+         * @private
+         * @static
+         */
+        handleIds: {},
+
+        /**
+         * the DragDrop object that is currently being dragged
+         * @property dragCurrent
+         * @type DragDrop
+         * @private
+         * @static
+         **/
+        dragCurrent: null,
+
+        /**
+         * the DragDrop object(s) that are being hovered over
+         * @property dragOvers
+         * @type Array
+         * @private
+         * @static
+         */
+        dragOvers: {},
+
+        /**
+         * the X distance between the cursor and the object being dragged
+         * @property deltaX
+         * @type int
+         * @private
+         * @static
+         */
+        deltaX: 0,
+
+        /**
+         * the Y distance between the cursor and the object being dragged
+         * @property deltaY
+         * @type int
+         * @private
+         * @static
+         */
+        deltaY: 0,
+
+        /**
+         * Flag to determine if we should prevent the default behavior of the
+         * events we define. By default this is true, but this can be set to 
+         * false if you need the default behavior (not recommended)
+         * @property preventDefault
+         * @type boolean
+         * @static
+         */
+        preventDefault: true,
+
+        /**
+         * Flag to determine if we should stop the propagation of the events 
+         * we generate. This is true by default but you may want to set it to
+         * false if the html element contains other features that require the
+         * mouse click.
+         * @property stopPropagation
+         * @type boolean
+         * @static
+         */
+        stopPropagation: true,
+
+        /**
+         * Internal flag that is set to true when drag and drop has been
+         * initialized
+         * @property initialized
+         * @private
+         * @static
+         */
+        initialized: false,
+
+        /**
+         * All drag and drop can be disabled.
+         * @property locked
+         * @private
+         * @static
+         */
+        locked: false,
+
+        /**
+         * Provides additional information about the the current set of
+         * interactions.  Can be accessed from the event handlers. It
+         * contains the following properties:
+         *
+         *       out:       onDragOut interactions
+         *       enter:     onDragEnter interactions
+         *       over:      onDragOver interactions
+         *       drop:      onDragDrop interactions
+         *       point:     The location of the cursor
+         *       draggedRegion: The location of dragged element at the time
+         *                      of the interaction
+         *       sourceRegion: The location of the source elemtn at the time
+         *                     of the interaction
+         *       validDrop: boolean
+         * @property interactionInfo
+         * @type object
+         * @static
+         */
+        interactionInfo: null,
+
+        /**
+         * Called the first time an element is registered.
+         * @method init
+         * @private
+         * @static
+         */
+        init: function() {
+            this.initialized = true;
+        },
+
+        /**
+         * In point mode, drag and drop interaction is defined by the 
+         * location of the cursor during the drag/drop
+         * @property POINT
+         * @type int
+         * @static
+         * @final
+         */
+        POINT: 0,
+
+        /**
+         * In intersect mode, drag and drop interaction is defined by the 
+         * cursor position or the amount of overlap of two or more drag and 
+         * drop objects.
+         * @property INTERSECT
+         * @type int
+         * @static
+         * @final
+         */
+        INTERSECT: 1,
+
+        /**
+         * In intersect mode, drag and drop interaction is defined only by the 
+         * overlap of two or more drag and drop objects.
+         * @property STRICT_INTERSECT
+         * @type int
+         * @static
+         * @final
+         */
+        STRICT_INTERSECT: 2,
+
+        /**
+         * The current drag and drop mode.  Default: POINT
+         * @property mode
+         * @type int
+         * @static
+         */
+        mode: 0,
+
+        /**
+         * Runs method on all drag and drop objects
+         * @method _execOnAll
+         * @private
+         * @static
+         */
+        _execOnAll: function(sMethod, args) {
+            for (var i in this.ids) {
+                for (var j in this.ids[i]) {
+                    var oDD = this.ids[i][j];
+                    if (! this.isTypeOfDD(oDD)) {
+                        continue;
+                    }
+                    oDD[sMethod].apply(oDD, args);
+                }
+            }
+        },
+
+        /**
+         * Drag and drop initialization.  Sets up the global event handlers
+         * @method _onLoad
+         * @private
+         * @static
+         */
+        _onLoad: function() {
+
+            this.init();
+
+            Event.on(document, "mouseup",   this.handleMouseUp, this, true);
+            Event.on(document, "mousemove", this.handleMouseMove, this, true);
+            Event.on(window,   "unload",    this._onUnload, this, true);
+            Event.on(window,   "resize",    this._onResize, this, true);
+            // Event.on(window,   "mouseout",    this._test);
+
+        },
+
+        /**
+         * Reset constraints on all drag and drop objs
+         * @method _onResize
+         * @private
+         * @static
+         */
+        _onResize: function(e) {
+            this._execOnAll("resetConstraints", []);
+        },
+
+        /**
+         * Lock all drag and drop functionality
+         * @method lock
+         * @static
+         */
+        lock: function() { this.locked = true; },
+
+        /**
+         * Unlock all drag and drop functionality
+         * @method unlock
+         * @static
+         */
+        unlock: function() { this.locked = false; },
+
+        /**
+         * Is drag and drop locked?
+         * @method isLocked
+         * @return {boolean} True if drag and drop is locked, false otherwise.
+         * @static
+         */
+        isLocked: function() { return this.locked; },
+
+        /**
+         * Location cache that is set for all drag drop objects when a drag is
+         * initiated, cleared when the drag is finished.
+         * @property locationCache
+         * @private
+         * @static
+         */
+        locationCache: {},
+
+        /**
+         * Set useCache to false if you want to force object the lookup of each
+         * drag and drop linked element constantly during a drag.
+         * @property useCache
+         * @type boolean
+         * @static
+         */
+        useCache: true,
+
+        /**
+         * The number of pixels that the mouse needs to move after the 
+         * mousedown before the drag is initiated.  Default=3;
+         * @property clickPixelThresh
+         * @type int
+         * @static
+         */
+        clickPixelThresh: 3,
+
+        /**
+         * The number of milliseconds after the mousedown event to initiate the
+         * drag if we don't get a mouseup event. Default=1000
+         * @property clickTimeThresh
+         * @type int
+         * @static
+         */
+        clickTimeThresh: 1000,
+
+        /**
+         * Flag that indicates that either the drag pixel threshold or the 
+         * mousdown time threshold has been met
+         * @property dragThreshMet
+         * @type boolean
+         * @private
+         * @static
+         */
+        dragThreshMet: false,
+
+        /**
+         * Timeout used for the click time threshold
+         * @property clickTimeout
+         * @type Object
+         * @private
+         * @static
+         */
+        clickTimeout: null,
+
+        /**
+         * The X position of the mousedown event stored for later use when a 
+         * drag threshold is met.
+         * @property startX
+         * @type int
+         * @private
+         * @static
+         */
+        startX: 0,
+
+        /**
+         * The Y position of the mousedown event stored for later use when a 
+         * drag threshold is met.
+         * @property startY
+         * @type int
+         * @private
+         * @static
+         */
+        startY: 0,
+
+        /**
+         * Flag to determine if the drag event was fired from the click timeout and
+         * not the mouse move threshold.
+         * @property fromTimeout
+         * @type boolean
+         * @private
+         * @static
+         */
+        fromTimeout: false,
+
+        /**
+         * Each DragDrop instance must be registered with the DragDropMgr.  
+         * This is executed in DragDrop.init()
+         * @method regDragDrop
+         * @param {DragDrop} oDD the DragDrop object to register
+         * @param {String} sGroup the name of the group this element belongs to
+         * @static
+         */
+        regDragDrop: function(oDD, sGroup) {
+            if (!this.initialized) { this.init(); }
+            
+            if (!this.ids[sGroup]) {
+                this.ids[sGroup] = {};
+            }
+            this.ids[sGroup][oDD.id] = oDD;
+        },
+
+        /**
+         * Removes the supplied dd instance from the supplied group. Executed
+         * by DragDrop.removeFromGroup, so don't call this function directly.
+         * @method removeDDFromGroup
+         * @private
+         * @static
+         */
+        removeDDFromGroup: function(oDD, sGroup) {
+            if (!this.ids[sGroup]) {
+                this.ids[sGroup] = {};
+            }
+
+            var obj = this.ids[sGroup];
+            if (obj && obj[oDD.id]) {
+                delete obj[oDD.id];
+            }
+        },
+
+        /**
+         * Unregisters a drag and drop item.  This is executed in 
+         * DragDrop.unreg, use that method instead of calling this directly.
+         * @method _remove
+         * @private
+         * @static
+         */
+        _remove: function(oDD) {
+            for (var g in oDD.groups) {
+                if (g) {
+                    var item = this.ids[g];
+                    if (item && item[oDD.id]) {
+                        delete item[oDD.id];
+                    }
+                }
+                
+            }
+            delete this.handleIds[oDD.id];
+        },
+
+        /**
+         * Each DragDrop handle element must be registered.  This is done
+         * automatically when executing DragDrop.setHandleElId()
+         * @method regHandle
+         * @param {String} sDDId the DragDrop id this element is a handle for
+         * @param {String} sHandleId the id of the element that is the drag 
+         * handle
+         * @static
+         */
+        regHandle: function(sDDId, sHandleId) {
+            if (!this.handleIds[sDDId]) {
+                this.handleIds[sDDId] = {};
+            }
+            this.handleIds[sDDId][sHandleId] = sHandleId;
+        },
+
+        /**
+         * Utility function to determine if a given element has been 
+         * registered as a drag drop item.
+         * @method isDragDrop
+         * @param {String} id the element id to check
+         * @return {boolean} true if this element is a DragDrop item, 
+         * false otherwise
+         * @static
+         */
+        isDragDrop: function(id) {
+            return ( this.getDDById(id) ) ? true : false;
+        },
+
+        /**
+         * Returns the drag and drop instances that are in all groups the
+         * passed in instance belongs to.
+         * @method getRelated
+         * @param {DragDrop} p_oDD the obj to get related data for
+         * @param {boolean} bTargetsOnly if true, only return targetable objs
+         * @return {DragDrop[]} the related instances
+         * @static
+         */
+        getRelated: function(p_oDD, bTargetsOnly) {
+            var oDDs = [];
+            for (var i in p_oDD.groups) {
+                for (var j in this.ids[i]) {
+                    var dd = this.ids[i][j];
+                    if (! this.isTypeOfDD(dd)) {
+                        continue;
+                    }
+                    if (!bTargetsOnly || dd.isTarget) {
+                        oDDs[oDDs.length] = dd;
+                    }
+                }
+            }
+
+            return oDDs;
+        },
+
+        /**
+         * Returns true if the specified dd target is a legal target for 
+         * the specifice drag obj
+         * @method isLegalTarget
+         * @param {DragDrop} the drag obj
+         * @param {DragDrop} the target
+         * @return {boolean} true if the target is a legal target for the 
+         * dd obj
+         * @static
+         */
+        isLegalTarget: function (oDD, oTargetDD) {
+            var targets = this.getRelated(oDD, true);
+            for (var i=0, len=targets.length;i<len;++i) {
+                if (targets[i].id == oTargetDD.id) {
+                    return true;
+                }
+            }
+
+            return false;
+        },
+
+        /**
+         * My goal is to be able to transparently determine if an object is
+         * typeof DragDrop, and the exact subclass of DragDrop.  typeof 
+         * returns "object", oDD.constructor.toString() always returns
+         * "DragDrop" and not the name of the subclass.  So for now it just
+         * evaluates a well-known variable in DragDrop.
+         * @method isTypeOfDD
+         * @param {Object} the object to evaluate
+         * @return {boolean} true if typeof oDD = DragDrop
+         * @static
+         */
+        isTypeOfDD: function (oDD) {
+            return (oDD && oDD.__ygDragDrop);
+        },
+
+        /**
+         * Utility function to determine if a given element has been 
+         * registered as a drag drop handle for the given Drag Drop object.
+         * @method isHandle
+         * @param {String} id the element id to check
+         * @return {boolean} true if this element is a DragDrop handle, false 
+         * otherwise
+         * @static
+         */
+        isHandle: function(sDDId, sHandleId) {
+            return ( this.handleIds[sDDId] && 
+                            this.handleIds[sDDId][sHandleId] );
+        },
+
+        /**
+         * Returns the DragDrop instance for a given id
+         * @method getDDById
+         * @param {String} id the id of the DragDrop object
+         * @return {DragDrop} the drag drop object, null if it is not found
+         * @static
+         */
+        getDDById: function(id) {
+            for (var i in this.ids) {
+                if (this.ids[i][id]) {
+                    return this.ids[i][id];
+                }
+            }
+            return null;
+        },
+
+        /**
+         * Fired after a registered DragDrop object gets the mousedown event.
+         * Sets up the events required to track the object being dragged
+         * @method handleMouseDown
+         * @param {Event} e the event
+         * @param oDD the DragDrop object being dragged
+         * @private
+         * @static
+         */
+        handleMouseDown: function(e, oDD) {
+            //this._activateShim();
+
+            this.currentTarget = YAHOO.util.Event.getTarget(e);
+
+            this.dragCurrent = oDD;
+
+            var el = oDD.getEl();
+
+            // track start position
+            this.startX = YAHOO.util.Event.getPageX(e);
+            this.startY = YAHOO.util.Event.getPageY(e);
+
+            this.deltaX = this.startX - el.offsetLeft;
+            this.deltaY = this.startY - el.offsetTop;
+
+            this.dragThreshMet = false;
+
+            this.clickTimeout = setTimeout( 
+                    function() { 
+                        var DDM = YAHOO.util.DDM;
+                        DDM.startDrag(DDM.startX, DDM.startY);
+                        DDM.fromTimeout = true;
+                    }, 
+                    this.clickTimeThresh );
+        },
+
+        /**
+         * Fired when either the drag pixel threshold or the mousedown hold 
+         * time threshold has been met.
+         * @method startDrag
+         * @param x {int} the X position of the original mousedown
+         * @param y {int} the Y position of the original mousedown
+         * @static
+         */
+        startDrag: function(x, y) {
+            if (this.dragCurrent && this.dragCurrent.useShim) {
+                this._shimState = this.useShim;
+                this.useShim = true;
+            }
+            this._activateShim();
+            clearTimeout(this.clickTimeout);
+            var dc = this.dragCurrent;
+            if (dc && dc.events.b4StartDrag) {
+                dc.b4StartDrag(x, y);
+                dc.fireEvent('b4StartDragEvent', { x: x, y: y });
+            }
+            if (dc && dc.events.startDrag) {
+                dc.startDrag(x, y);
+                dc.fireEvent('startDragEvent', { x: x, y: y });
+            }
+            this.dragThreshMet = true;
+        },
+
+        /**
+         * Internal function to handle the mouseup event.  Will be invoked 
+         * from the context of the document.
+         * @method handleMouseUp
+         * @param {Event} e the event
+         * @private
+         * @static
+         */
+        handleMouseUp: function(e) {
+            if (this.dragCurrent) {
+                clearTimeout(this.clickTimeout);
+
+                if (this.dragThreshMet) {
+                    if (this.fromTimeout) {
+                        this.fromTimeout = false;
+                        this.handleMouseMove(e);
+                    }
+                    this.fromTimeout = false;
+                    this.fireEvents(e, true);
+                } else {
+                }
+
+                this.stopDrag(e);
+
+                this.stopEvent(e);
+            }
+        },
+
+        /**
+         * Utility to stop event propagation and event default, if these 
+         * features are turned on.
+         * @method stopEvent
+         * @param {Event} e the event as returned by this.getEvent()
+         * @static
+         */
+        stopEvent: function(e) {
+            if (this.stopPropagation) {
+                YAHOO.util.Event.stopPropagation(e);
+            }
+
+            if (this.preventDefault) {
+                YAHOO.util.Event.preventDefault(e);
+            }
+        },
+
+        /** 
+         * Ends the current drag, cleans up the state, and fires the endDrag
+         * and mouseUp events.  Called internally when a mouseup is detected
+         * during the drag.  Can be fired manually during the drag by passing
+         * either another event (such as the mousemove event received in onDrag)
+         * or a fake event with pageX and pageY defined (so that endDrag and
+         * onMouseUp have usable position data.).  Alternatively, pass true
+         * for the silent parameter so that the endDrag and onMouseUp events
+         * are skipped (so no event data is needed.)
+         *
+         * @method stopDrag
+         * @param {Event} e the mouseup event, another event (or a fake event) 
+         *                  with pageX and pageY defined, or nothing if the 
+         *                  silent parameter is true
+         * @param {boolean} silent skips the enddrag and mouseup events if true
+         * @static
+         */
+        stopDrag: function(e, silent) {
+            var dc = this.dragCurrent;
+            // Fire the drag end event for the item that was dragged
+            if (dc && !silent) {
+                if (this.dragThreshMet) {
+                    if (dc.events.b4EndDrag) {
+                        dc.b4EndDrag(e);
+                        dc.fireEvent('b4EndDragEvent', { e: e });
+                    }
+                    if (dc.events.endDrag) {
+                        dc.endDrag(e);
+                        dc.fireEvent('endDragEvent', { e: e });
+                    }
+                }
+                if (dc.events.mouseUp) {
+                    dc.onMouseUp(e);
+                    dc.fireEvent('mouseUpEvent', { e: e });
+                }
+            }
+
+            if (this._shimActive) {
+                this._deactivateShim();
+                if (this.dragCurrent && this.dragCurrent.useShim) {
+                    this.useShim = this._shimState;
+                    this._shimState = false;
+                }
+            }
+
+            this.dragCurrent = null;
+            this.dragOvers = {};
+        },
+
+        /** 
+         * Internal function to handle the mousemove event.  Will be invoked 
+         * from the context of the html element.
+         *
+         * @TODO figure out what we can do about mouse events lost when the 
+         * user drags objects beyond the window boundary.  Currently we can 
+         * detect this in internet explorer by verifying that the mouse is 
+         * down during the mousemove event.  Firefox doesn't give us the 
+         * button state on the mousemove event.
+         * @method handleMouseMove
+         * @param {Event} e the event
+         * @private
+         * @static
+         */
+        handleMouseMove: function(e) {
+
+            var dc = this.dragCurrent;
+            if (dc) {
+
+                // var button = e.which || e.button;
+
+                // check for IE mouseup outside of page boundary
+                if (YAHOO.util.Event.isIE && !e.button) {
+                    this.stopEvent(e);
+                    return this.handleMouseUp(e);
+                } else {
+                    if (e.clientX < 0 || e.clientY < 0) {
+                        //This will stop the element from leaving the viewport in FF, Opera & Safari
+                        //Not turned on yet
+                        //this.stopEvent(e);
+                        //return false;
+                    }
+                }
+
+                if (!this.dragThreshMet) {
+                    var diffX = Math.abs(this.startX - YAHOO.util.Event.getPageX(e));
+                    var diffY = Math.abs(this.startY - YAHOO.util.Event.getPageY(e));
+                    if (diffX > this.clickPixelThresh || 
+                                diffY > this.clickPixelThresh) {
+                        this.startDrag(this.startX, this.startY);
+                    }
+                }
+
+                if (this.dragThreshMet) {
+                    if (dc && dc.events.b4Drag) {
+                        dc.b4Drag(e);
+                        dc.fireEvent('b4DragEvent', { e: e});
+                    }
+                    if (dc && dc.events.drag) {
+                        dc.onDrag(e);
+                        dc.fireEvent('dragEvent', { e: e});
+                    }
+                    if (dc) {
+                        this.fireEvents(e, false);
+                    }
+                }
+
+                this.stopEvent(e);
+            }
+        },
+        
+        /**
+         * Iterates over all of the DragDrop elements to find ones we are 
+         * hovering over or dropping on
+         * @method fireEvents
+         * @param {Event} e the event
+         * @param {boolean} isDrop is this a drop op or a mouseover op?
+         * @private
+         * @static
+         */
+        fireEvents: function(e, isDrop) {
+            var dc = this.dragCurrent;
+
+            // If the user did the mouse up outside of the window, we could 
+            // get here even though we have ended the drag.
+            // If the config option dragOnly is true, bail out and don't fire the events
+            if (!dc || dc.isLocked() || dc.dragOnly) {
+                return;
+            }
+
+            var x = YAHOO.util.Event.getPageX(e),
+                y = YAHOO.util.Event.getPageY(e),
+                pt = new YAHOO.util.Point(x,y),
+                pos = dc.getTargetCoord(pt.x, pt.y),
+                el = dc.getDragEl(),
+                events = ['out', 'over', 'drop', 'enter'],
+                curRegion = new YAHOO.util.Region( pos.y, 
+                                               pos.x + el.offsetWidth,
+                                               pos.y + el.offsetHeight, 
+                                               pos.x ),
+            
+                oldOvers = [], // cache the previous dragOver array
+                inGroupsObj  = {},
+                inGroups  = [],
+                data = {
+                    outEvts: [],
+                    overEvts: [],
+                    dropEvts: [],
+                    enterEvts: []
+                };
+
+
+            // Check to see if the object(s) we were hovering over is no longer 
+            // being hovered over so we can fire the onDragOut event
+            for (var i in this.dragOvers) {
+
+                var ddo = this.dragOvers[i];
+
+                if (! this.isTypeOfDD(ddo)) {
+                    continue;
+                }
+                if (! this.isOverTarget(pt, ddo, this.mode, curRegion)) {
+                    data.outEvts.push( ddo );
+                }
+
+                oldOvers[i] = true;
+                delete this.dragOvers[i];
+            }
+
+            for (var sGroup in dc.groups) {
+                
+                if ("string" != typeof sGroup) {
+                    continue;
+                }
+
+                for (i in this.ids[sGroup]) {
+                    var oDD = this.ids[sGroup][i];
+                    if (! this.isTypeOfDD(oDD)) {
+                        continue;
+                    }
+
+                    if (oDD.isTarget && !oDD.isLocked() && oDD != dc) {
+                        if (this.isOverTarget(pt, oDD, this.mode, curRegion)) {
+                            inGroupsObj[sGroup] = true;
+                            // look for drop interactions
+                            if (isDrop) {
+                                data.dropEvts.push( oDD );
+                            // look for drag enter and drag over interactions
+                            } else {
+
+                                // initial drag over: dragEnter fires
+                                if (!oldOvers[oDD.id]) {
+                                    data.enterEvts.push( oDD );
+                                // subsequent drag overs: dragOver fires
+                                } else {
+                                    data.overEvts.push( oDD );
+                                }
+
+                                this.dragOvers[oDD.id] = oDD;
+                            }
+                        }
+                    }
+                }
+            }
+
+            this.interactionInfo = {
+                out:       data.outEvts,
+                enter:     data.enterEvts,
+                over:      data.overEvts,
+                drop:      data.dropEvts,
+                point:     pt,
+                draggedRegion:    curRegion,
+                sourceRegion: this.locationCache[dc.id],
+                validDrop: isDrop
+            };
+
+            
+            for (var inG in inGroupsObj) {
+                inGroups.push(inG);
+            }
+
+            // notify about a drop that did not find a target
+            if (isDrop && !data.dropEvts.length) {
+                this.interactionInfo.validDrop = false;
+                if (dc.events.invalidDrop) {
+                    dc.onInvalidDrop(e);
+                    dc.fireEvent('invalidDropEvent', { e: e });
+                }
+            }
+            for (i = 0; i < events.length; i++) {
+                var tmp = null;
+                if (data[events[i] + 'Evts']) {
+                    tmp = data[events[i] + 'Evts'];
+                }
+                if (tmp && tmp.length) {
+                    var type = events[i].charAt(0).toUpperCase() + events[i].substr(1),
+                        ev = 'onDrag' + type,
+                        b4 = 'b4Drag' + type,
+                        cev = 'drag' + type + 'Event',
+                        check = 'drag' + type;
+                    if (this.mode) {
+                        if (dc.events[b4]) {
+                            dc[b4](e, tmp, inGroups);
+                            dc.fireEvent(b4 + 'Event', { event: e, info: tmp, group: inGroups });
+                            
+                        }
+                        if (dc.events[check]) {
+                            dc[ev](e, tmp, inGroups);
+                            dc.fireEvent(cev, { event: e, info: tmp, group: inGroups });
+                        }
+                    } else {
+                        for (var b = 0, len = tmp.length; b < len; ++b) {
+                            if (dc.events[b4]) {
+                                dc[b4](e, tmp[b].id, inGroups[0]);
+                                dc.fireEvent(b4 + 'Event', { event: e, info: tmp[b].id, group: inGroups[0] });
+                            }
+                            if (dc.events[check]) {
+                                dc[ev](e, tmp[b].id, inGroups[0]);
+                                dc.fireEvent(cev, { event: e, info: tmp[b].id, group: inGroups[0] });
+                            }
+                        }
+                    }
+                }
+            }
+        },
+
+        /**
+         * Helper function for getting the best match from the list of drag 
+         * and drop objects returned by the drag and drop events when we are 
+         * in INTERSECT mode.  It returns either the first object that the 
+         * cursor is over, or the object that has the greatest overlap with 
+         * the dragged element.
+         * @method getBestMatch
+         * @param  {DragDrop[]} dds The array of drag and drop objects 
+         * targeted
+         * @return {DragDrop}       The best single match
+         * @static
+         */
+        getBestMatch: function(dds) {
+            var winner = null;
+
+            var len = dds.length;
+
+            if (len == 1) {
+                winner = dds[0];
+            } else {
+                // Loop through the targeted items
+                for (var i=0; i<len; ++i) {
+                    var dd = dds[i];
+                    // If the cursor is over the object, it wins.  If the 
+                    // cursor is over multiple matches, the first one we come
+                    // to wins.
+                    if (this.mode == this.INTERSECT && dd.cursorIsOver) {
+                        winner = dd;
+                        break;
+                    // Otherwise the object with the most overlap wins
+                    } else {
+                        if (!winner || !winner.overlap || (dd.overlap &&
+                            winner.overlap.getArea() < dd.overlap.getArea())) {
+                            winner = dd;
+                        }
+                    }
+                }
+            }
+
+            return winner;
+        },
+
+        /**
+         * Refreshes the cache of the top-left and bottom-right points of the 
+         * drag and drop objects in the specified group(s).  This is in the
+         * format that is stored in the drag and drop instance, so typical 
+         * usage is:
+         * <code>
+         * YAHOO.util.DragDropMgr.refreshCache(ddinstance.groups);
+         * </code>
+         * Alternatively:
+         * <code>
+         * YAHOO.util.DragDropMgr.refreshCache({group1:true, group2:true});
+         * </code>
+         * @TODO this really should be an indexed array.  Alternatively this
+         * method could accept both.
+         * @method refreshCache
+         * @param {Object} groups an associative array of groups to refresh
+         * @static
+         */
+        refreshCache: function(groups) {
+
+            // refresh everything if group array is not provided
+            var g = groups || this.ids;
+
+            for (var sGroup in g) {
+                if ("string" != typeof sGroup) {
+                    continue;
+                }
+                for (var i in this.ids[sGroup]) {
+                    var oDD = this.ids[sGroup][i];
+
+                    if (this.isTypeOfDD(oDD)) {
+                        var loc = this.getLocation(oDD);
+                        if (loc) {
+                            this.locationCache[oDD.id] = loc;
+                        } else {
+                            delete this.locationCache[oDD.id];
+                        }
+                    }
+                }
+            }
+        },
+
+        /**
+         * This checks to make sure an element exists and is in the DOM.  The
+         * main purpose is to handle cases where innerHTML is used to remove
+         * drag and drop objects from the DOM.  IE provides an 'unspecified
+         * error' when trying to access the offsetParent of such an element
+         * @method verifyEl
+         * @param {HTMLElement} el the element to check
+         * @return {boolean} true if the element looks usable
+         * @static
+         */
+        verifyEl: function(el) {
+            try {
+                if (el) {
+                    var parent = el.offsetParent;
+                    if (parent) {
+                        return true;
+                    }
+                }
+            } catch(e) {
+            }
+
+            return false;
+        },
+        
+        /**
+         * Returns a Region object containing the drag and drop element's position
+         * and size, including the padding configured for it
+         * @method getLocation
+         * @param {DragDrop} oDD the drag and drop object to get the 
+         *                       location for
+         * @return {YAHOO.util.Region} a Region object representing the total area
+         *                             the element occupies, including any padding
+         *                             the instance is configured for.
+         * @static
+         */
+        getLocation: function(oDD) {
+            if (! this.isTypeOfDD(oDD)) {
+                return null;
+            }
+
+            var el = oDD.getEl(), pos, x1, x2, y1, y2, t, r, b, l;
+
+            try {
+                pos= YAHOO.util.Dom.getXY(el);
+            } catch (e) { }
+
+            if (!pos) {
+                return null;
+            }
+
+            x1 = pos[0];
+            x2 = x1 + el.offsetWidth;
+            y1 = pos[1];
+            y2 = y1 + el.offsetHeight;
+
+            t = y1 - oDD.padding[0];
+            r = x2 + oDD.padding[1];
+            b = y2 + oDD.padding[2];
+            l = x1 - oDD.padding[3];
+
+            return new YAHOO.util.Region( t, r, b, l );
+        },
+
+        /**
+         * Checks the cursor location to see if it over the target
+         * @method isOverTarget
+         * @param {YAHOO.util.Point} pt The point to evaluate
+         * @param {DragDrop} oTarget the DragDrop object we are inspecting
+         * @param {boolean} intersect true if we are in intersect mode
+         * @param {YAHOO.util.Region} pre-cached location of the dragged element
+         * @return {boolean} true if the mouse is over the target
+         * @private
+         * @static
+         */
+        isOverTarget: function(pt, oTarget, intersect, curRegion) {
+            // use cache if available
+            var loc = this.locationCache[oTarget.id];
+            if (!loc || !this.useCache) {
+                loc = this.getLocation(oTarget);
+                this.locationCache[oTarget.id] = loc;
+
+            }
+
+            if (!loc) {
+                return false;
+            }
+
+            oTarget.cursorIsOver = loc.contains( pt );
+
+            // DragDrop is using this as a sanity check for the initial mousedown
+            // in this case we are done.  In POINT mode, if the drag obj has no
+            // contraints, we are done. Otherwise we need to evaluate the 
+            // region the target as occupies to determine if the dragged element
+            // overlaps with it.
+            
+            var dc = this.dragCurrent;
+            if (!dc || (!intersect && !dc.constrainX && !dc.constrainY)) {
+
+                //if (oTarget.cursorIsOver) {
+                //}
+                return oTarget.cursorIsOver;
+            }
+
+            oTarget.overlap = null;
+
+
+            // Get the current location of the drag element, this is the
+            // location of the mouse event less the delta that represents
+            // where the original mousedown happened on the element.  We
+            // need to consider constraints and ticks as well.
+
+            if (!curRegion) {
+                var pos = dc.getTargetCoord(pt.x, pt.y);
+                var el = dc.getDragEl();
+                curRegion = new YAHOO.util.Region( pos.y, 
+                                                   pos.x + el.offsetWidth,
+                                                   pos.y + el.offsetHeight, 
+                                                   pos.x );
+            }
+
+            var overlap = curRegion.intersect(loc);
+
+            if (overlap) {
+                oTarget.overlap = overlap;
+                return (intersect) ? true : oTarget.cursorIsOver;
+            } else {
+                return false;
+            }
+        },
+
+        /**
+         * unload event handler
+         * @method _onUnload
+         * @private
+         * @static
+         */
+        _onUnload: function(e, me) {
+            this.unregAll();
+        },
+
+        /**
+         * Cleans up the drag and drop events and objects.
+         * @method unregAll
+         * @private
+         * @static
+         */
+        unregAll: function() {
+
+            if (this.dragCurrent) {
+                this.stopDrag();
+                this.dragCurrent = null;
+            }
+
+            this._execOnAll("unreg", []);
+
+            //for (var i in this.elementCache) {
+                //delete this.elementCache[i];
+            //}
+            //this.elementCache = {};
+
+            this.ids = {};
+        },
+
+        /**
+         * A cache of DOM elements
+         * @property elementCache
+         * @private
+         * @static
+         * @deprecated elements are not cached now
+         */
+        elementCache: {},
+        
+        /**
+         * Get the wrapper for the DOM element specified
+         * @method getElWrapper
+         * @param {String} id the id of the element to get
+         * @return {YAHOO.util.DDM.ElementWrapper} the wrapped element
+         * @private
+         * @deprecated This wrapper isn't that useful
+         * @static
+         */
+        getElWrapper: function(id) {
+            var oWrapper = this.elementCache[id];
+            if (!oWrapper || !oWrapper.el) {
+                oWrapper = this.elementCache[id] = 
+                    new this.ElementWrapper(YAHOO.util.Dom.get(id));
+            }
+            return oWrapper;
+        },
+
+        /**
+         * Returns the actual DOM element
+         * @method getElement
+         * @param {String} id the id of the elment to get
+         * @return {Object} The element
+         * @deprecated use YAHOO.util.Dom.get instead
+         * @static
+         */
+        getElement: function(id) {
+            return YAHOO.util.Dom.get(id);
+        },
+        
+        /**
+         * Returns the style property for the DOM element (i.e., 
+         * document.getElById(id).style)
+         * @method getCss
+         * @param {String} id the id of the elment to get
+         * @return {Object} The style property of the element
+         * @deprecated use YAHOO.util.Dom instead
+         * @static
+         */
+        getCss: function(id) {
+            var el = YAHOO.util.Dom.get(id);
+            return (el) ? el.style : null;
+        },
+
+        /**
+         * Inner class for cached elements
+         * @class DragDropMgr.ElementWrapper
+         * @for DragDropMgr
+         * @private
+         * @deprecated
+         */
+        ElementWrapper: function(el) {
+                /**
+                 * The element
+                 * @property el
+                 */
+                this.el = el || null;
+                /**
+                 * The element id
+                 * @property id
+                 */
+                this.id = this.el && el.id;
+                /**
+                 * A reference to the style property
+                 * @property css
+                 */
+                this.css = this.el && el.style;
+            },
+
+        /**
+         * Returns the X position of an html element
+         * @method getPosX
+         * @param el the element for which to get the position
+         * @return {int} the X coordinate
+         * @for DragDropMgr
+         * @deprecated use YAHOO.util.Dom.getX instead
+         * @static
+         */
+        getPosX: function(el) {
+            return YAHOO.util.Dom.getX(el);
+        },
+
+        /**
+         * Returns the Y position of an html element
+         * @method getPosY
+         * @param el the element for which to get the position
+         * @return {int} the Y coordinate
+         * @deprecated use YAHOO.util.Dom.getY instead
+         * @static
+         */
+        getPosY: function(el) {
+            return YAHOO.util.Dom.getY(el); 
+        },
+
+        /**
+         * Swap two nodes.  In IE, we use the native method, for others we 
+         * emulate the IE behavior
+         * @method swapNode
+         * @param n1 the first node to swap
+         * @param n2 the other node to swap
+         * @static
+         */
+        swapNode: function(n1, n2) {
+            if (n1.swapNode) {
+                n1.swapNode(n2);
+            } else {
+                var p = n2.parentNode;
+                var s = n2.nextSibling;
+
+                if (s == n1) {
+                    p.insertBefore(n1, n2);
+                } else if (n2 == n1.nextSibling) {
+                    p.insertBefore(n2, n1);
+                } else {
+                    n1.parentNode.replaceChild(n2, n1);
+                    p.insertBefore(n1, s);
+                }
+            }
+        },
+
+        /**
+         * Returns the current scroll position
+         * @method getScroll
+         * @private
+         * @static
+         */
+        getScroll: function () {
+            var t, l, dde=document.documentElement, db=document.body;
+            if (dde && (dde.scrollTop || dde.scrollLeft)) {
+                t = dde.scrollTop;
+                l = dde.scrollLeft;
+            } else if (db) {
+                t = db.scrollTop;
+                l = db.scrollLeft;
+            } else {
+            }
+            return { top: t, left: l };
+        },
+
+        /**
+         * Returns the specified element style property
+         * @method getStyle
+         * @param {HTMLElement} el          the element
+         * @param {string}      styleProp   the style property
+         * @return {string} The value of the style property
+         * @deprecated use YAHOO.util.Dom.getStyle
+         * @static
+         */
+        getStyle: function(el, styleProp) {
+            return YAHOO.util.Dom.getStyle(el, styleProp);
+        },
+
+        /**
+         * Gets the scrollTop
+         * @method getScrollTop
+         * @return {int} the document's scrollTop
+         * @static
+         */
+        getScrollTop: function () { return this.getScroll().top; },
+
+        /**
+         * Gets the scrollLeft
+         * @method getScrollLeft
+         * @return {int} the document's scrollTop
+         * @static
+         */
+        getScrollLeft: function () { return this.getScroll().left; },
+
+        /**
+         * Sets the x/y position of an element to the location of the
+         * target element.
+         * @method moveToEl
+         * @param {HTMLElement} moveEl      The element to move
+         * @param {HTMLElement} targetEl    The position reference element
+         * @static
+         */
+        moveToEl: function (moveEl, targetEl) {
+            var aCoord = YAHOO.util.Dom.getXY(targetEl);
+            YAHOO.util.Dom.setXY(moveEl, aCoord);
+        },
+
+        /**
+         * Gets the client height
+         * @method getClientHeight
+         * @return {int} client height in px
+         * @deprecated use YAHOO.util.Dom.getViewportHeight instead
+         * @static
+         */
+        getClientHeight: function() {
+            return YAHOO.util.Dom.getViewportHeight();
+        },
+
+        /**
+         * Gets the client width
+         * @method getClientWidth
+         * @return {int} client width in px
+         * @deprecated use YAHOO.util.Dom.getViewportWidth instead
+         * @static
+         */
+        getClientWidth: function() {
+            return YAHOO.util.Dom.getViewportWidth();
+        },
+
+        /**
+         * Numeric array sort function
+         * @method numericSort
+         * @static
+         */
+        numericSort: function(a, b) { return (a - b); },
+
+        /**
+         * Internal counter
+         * @property _timeoutCount
+         * @private
+         * @static
+         */
+        _timeoutCount: 0,
+
+        /**
+         * Trying to make the load order less important.  Without this we get
+         * an error if this file is loaded before the Event Utility.
+         * @method _addListeners
+         * @private
+         * @static
+         */
+        _addListeners: function() {
+            var DDM = YAHOO.util.DDM;
+            if ( YAHOO.util.Event && document ) {
+                DDM._onLoad();
+            } else {
+                if (DDM._timeoutCount > 2000) {
+                } else {
+                    setTimeout(DDM._addListeners, 10);
+                    if (document && document.body) {
+                        DDM._timeoutCount += 1;
+                    }
+                }
+            }
+        },
+
+        /**
+         * Recursively searches the immediate parent and all child nodes for 
+         * the handle element in order to determine wheter or not it was 
+         * clicked.
+         * @method handleWasClicked
+         * @param node the html element to inspect
+         * @static
+         */
+        handleWasClicked: function(node, id) {
+            if (this.isHandle(id, node.id)) {
+                return true;
+            } else {
+                // check to see if this is a text node child of the one we want
+                var p = node.parentNode;
+
+                while (p) {
+                    if (this.isHandle(id, p.id)) {
+                        return true;
+                    } else {
+                        p = p.parentNode;
+                    }
+                }
+            }
+
+            return false;
+        }
+
+    };
+
+}();
+
+// shorter alias, save a few bytes
+YAHOO.util.DDM = YAHOO.util.DragDropMgr;
+YAHOO.util.DDM._addListeners();
+
+}
+
+(function() {
+
+var Event=YAHOO.util.Event; 
+var Dom=YAHOO.util.Dom;
+
+/**
+ * Defines the interface and base operation of items that that can be 
+ * dragged or can be drop targets.  It was designed to be extended, overriding
+ * the event handlers for startDrag, onDrag, onDragOver, onDragOut.
+ * Up to three html elements can be associated with a DragDrop instance:
+ * <ul>
+ * <li>linked element: the element that is passed into the constructor.
+ * This is the element which defines the boundaries for interaction with 
+ * other DragDrop objects.</li>
+ * <li>handle element(s): The drag operation only occurs if the element that 
+ * was clicked matches a handle element.  By default this is the linked 
+ * element, but there are times that you will want only a portion of the 
+ * linked element to initiate the drag operation, and the setHandleElId() 
+ * method provides a way to define this.</li>
+ * <li>drag element: this represents an the element that would be moved along
+ * with the cursor during a drag operation.  By default, this is the linked
+ * element itself as in {@link YAHOO.util.DD}.  setDragElId() lets you define
+ * a separate element that would be moved, as in {@link YAHOO.util.DDProxy}
+ * </li>
+ * </ul>
+ * This class should not be instantiated until the onload event to ensure that
+ * the associated elements are available.
+ * The following would define a DragDrop obj that would interact with any 
+ * other DragDrop obj in the "group1" group:
+ * <pre>
+ *  dd = new YAHOO.util.DragDrop("div1", "group1");
+ * </pre>
+ * Since none of the event handlers have been implemented, nothing would 
+ * actually happen if you were to run the code above.  Normally you would 
+ * override this class or one of the default implementations, but you can 
+ * also override the methods you want on an instance of the class...
+ * <pre>
+ *  dd.onDragDrop = function(e, id) {
+ *  &nbsp;&nbsp;alert("dd was dropped on " + id);
+ *  }
+ * </pre>
+ * @namespace YAHOO.util
+ * @class DragDrop
+ * @constructor
+ * @param {String} id of the element that is linked to this instance
+ * @param {String} sGroup the group of related DragDrop objects
+ * @param {object} config an object containing configurable attributes
+ *                Valid properties for DragDrop: 
+ *                    padding, isTarget, maintainOffset, primaryButtonOnly,
+ */
+YAHOO.util.DragDrop = function(id, sGroup, config) {
+    if (id) {
+        this.init(id, sGroup, config); 
+    }
+};
+
+YAHOO.util.DragDrop.prototype = {
+    /**
+     * An Object Literal containing the events that we will be using: mouseDown, b4MouseDown, mouseUp, b4StartDrag, startDrag, b4EndDrag, endDrag, mouseUp, drag, b4Drag, invalidDrop, b4DragOut, dragOut, dragEnter, b4DragOver, dragOver, b4DragDrop, dragDrop
+     * By setting any of these to false, then event will not be fired.
+     * @property events
+     * @type object
+     */
+    events: null,
+    /**
+    * @method on
+    * @description Shortcut for EventProvider.subscribe, see <a href="YAHOO.util.EventProvider.html#subscribe">YAHOO.util.EventProvider.subscribe</a>
+    */
+    on: function() {
+        this.subscribe.apply(this, arguments);
+    },
+    /**
+     * The id of the element associated with this object.  This is what we 
+     * refer to as the "linked element" because the size and position of 
+     * this element is used to determine when the drag and drop objects have 
+     * interacted.
+     * @property id
+     * @type String
+     */
+    id: null,
+
+    /**
+     * Configuration attributes passed into the constructor
+     * @property config
+     * @type object
+     */
+    config: null,
+
+    /**
+     * The id of the element that will be dragged.  By default this is same 
+     * as the linked element , but could be changed to another element. Ex: 
+     * YAHOO.util.DDProxy
+     * @property dragElId
+     * @type String
+     * @private
+     */
+    dragElId: null, 
+
+    /**
+     * the id of the element that initiates the drag operation.  By default 
+     * this is the linked element, but could be changed to be a child of this
+     * element.  This lets us do things like only starting the drag when the 
+     * header element within the linked html element is clicked.
+     * @property handleElId
+     * @type String
+     * @private
+     */
+    handleElId: null, 
+
+    /**
+     * An associative array of HTML tags that will be ignored if clicked.
+     * @property invalidHandleTypes
+     * @type {string: string}
+     */
+    invalidHandleTypes: null, 
+
+    /**
+     * An associative array of ids for elements that will be ignored if clicked
+     * @property invalidHandleIds
+     * @type {string: string}
+     */
+    invalidHandleIds: null, 
+
+    /**
+     * An indexted array of css class names for elements that will be ignored
+     * if clicked.
+     * @property invalidHandleClasses
+     * @type string[]
+     */
+    invalidHandleClasses: null, 
+
+    /**
+     * The linked element's absolute X position at the time the drag was 
+     * started
+     * @property startPageX
+     * @type int
+     * @private
+     */
+    startPageX: 0,
+
+    /**
+     * The linked element's absolute X position at the time the drag was 
+     * started
+     * @property startPageY
+     * @type int
+     * @private
+     */
+    startPageY: 0,
+
+    /**
+     * The group defines a logical collection of DragDrop objects that are 
+     * related.  Instances only get events when interacting with other 
+     * DragDrop object in the same group.  This lets us define multiple 
+     * groups using a single DragDrop subclass if we want.
+     * @property groups
+     * @type {string: string}
+     */
+    groups: null,
+
+    /**
+     * Individual drag/drop instances can be locked.  This will prevent 
+     * onmousedown start drag.
+     * @property locked
+     * @type boolean
+     * @private
+     */
+    locked: false,
+
+    /**
+     * Lock this instance
+     * @method lock
+     */
+    lock: function() { this.locked = true; },
+
+    /**
+     * Unlock this instace
+     * @method unlock
+     */
+    unlock: function() { this.locked = false; },
+
+    /**
+     * By default, all instances can be a drop target.  This can be disabled by
+     * setting isTarget to false.
+     * @property isTarget
+     * @type boolean
+     */
+    isTarget: true,
+
+    /**
+     * The padding configured for this drag and drop object for calculating
+     * the drop zone intersection with this object.
+     * @property padding
+     * @type int[]
+     */
+    padding: null,
+    /**
+     * If this flag is true, do not fire drop events. The element is a drag only element (for movement not dropping)
+     * @property dragOnly
+     * @type Boolean
+     */
+    dragOnly: false,
+
+    /**
+     * If this flag is true, a shim will be placed over the screen/viewable area to track mouse events. Should help with dragging elements over iframes and other controls.
+     * @property useShim
+     * @type Boolean
+     */
+    useShim: false,
+
+    /**
+     * Cached reference to the linked element
+     * @property _domRef
+     * @private
+     */
+    _domRef: null,
+
+    /**
+     * Internal typeof flag
+     * @property __ygDragDrop
+     * @private
+     */
+    __ygDragDrop: true,
+
+    /**
+     * Set to true when horizontal contraints are applied
+     * @property constrainX
+     * @type boolean
+     * @private
+     */
+    constrainX: false,
+
+    /**
+     * Set to true when vertical contraints are applied
+     * @property constrainY
+     * @type boolean
+     * @private
+     */
+    constrainY: false,
+
+    /**
+     * The left constraint
+     * @property minX
+     * @type int
+     * @private
+     */
+    minX: 0,
+
+    /**
+     * The right constraint
+     * @property maxX
+     * @type int
+     * @private
+     */
+    maxX: 0,
+
+    /**
+     * The up constraint 
+     * @property minY
+     * @type int
+     * @type int
+     * @private
+     */
+    minY: 0,
+
+    /**
+     * The down constraint 
+     * @property maxY
+     * @type int
+     * @private
+     */
+    maxY: 0,
+
+    /**
+     * The difference between the click position and the source element's location
+     * @property deltaX
+     * @type int
+     * @private
+     */
+    deltaX: 0,
+
+    /**
+     * The difference between the click position and the source element's location
+     * @property deltaY
+     * @type int
+     * @private
+     */
+    deltaY: 0,
+
+    /**
+     * Maintain offsets when we resetconstraints.  Set to true when you want
+     * the position of the element relative to its parent to stay the same
+     * when the page changes
+     *
+     * @property maintainOffset
+     * @type boolean
+     */
+    maintainOffset: false,
+
+    /**
+     * Array of pixel locations the element will snap to if we specified a 
+     * horizontal graduation/interval.  This array is generated automatically
+     * when you define a tick interval.
+     * @property xTicks
+     * @type int[]
+     */
+    xTicks: null,
+
+    /**
+     * Array of pixel locations the element will snap to if we specified a 
+     * vertical graduation/interval.  This array is generated automatically 
+     * when you define a tick interval.
+     * @property yTicks
+     * @type int[]
+     */
+    yTicks: null,
+
+    /**
+     * By default the drag and drop instance will only respond to the primary
+     * button click (left button for a right-handed mouse).  Set to true to
+     * allow drag and drop to start with any mouse click that is propogated
+     * by the browser
+     * @property primaryButtonOnly
+     * @type boolean
+     */
+    primaryButtonOnly: true,
+
+    /**
+     * The availabe property is false until the linked dom element is accessible.
+     * @property available
+     * @type boolean
+     */
+    available: false,
+
+    /**
+     * By default, drags can only be initiated if the mousedown occurs in the
+     * region the linked element is.  This is done in part to work around a
+     * bug in some browsers that mis-report the mousedown if the previous
+     * mouseup happened outside of the window.  This property is set to true
+     * if outer handles are defined.
+     *
+     * @property hasOuterHandles
+     * @type boolean
+     * @default false
+     */
+    hasOuterHandles: false,
+
+    /**
+     * Property that is assigned to a drag and drop object when testing to
+     * see if it is being targeted by another dd object.  This property
+     * can be used in intersect mode to help determine the focus of
+     * the mouse interaction.  DDM.getBestMatch uses this property first to
+     * determine the closest match in INTERSECT mode when multiple targets
+     * are part of the same interaction.
+     * @property cursorIsOver
+     * @type boolean
+     */
+    cursorIsOver: false,
+
+    /**
+     * Property that is assigned to a drag and drop object when testing to
+     * see if it is being targeted by another dd object.  This is a region
+     * that represents the area the draggable element overlaps this target.
+     * DDM.getBestMatch uses this property to compare the size of the overlap
+     * to that of other targets in order to determine the closest match in
+     * INTERSECT mode when multiple targets are part of the same interaction.
+     * @property overlap 
+     * @type YAHOO.util.Region
+     */
+    overlap: null,
+
+    /**
+     * Code that executes immediately before the startDrag event
+     * @method b4StartDrag
+     * @private
+     */
+    b4StartDrag: function(x, y) { },
+
+    /**
+     * Abstract method called after a drag/drop object is clicked
+     * and the drag or mousedown time thresholds have beeen met.
+     * @method startDrag
+     * @param {int} X click location
+     * @param {int} Y click location
+     */
+    startDrag: function(x, y) { /* override this */ },
+
+    /**
+     * Code that executes immediately before the onDrag event
+     * @method b4Drag
+     * @private
+     */
+    b4Drag: function(e) { },
+
+    /**
+     * Abstract method called during the onMouseMove event while dragging an 
+     * object.
+     * @method onDrag
+     * @param {Event} e the mousemove event
+     */
+    onDrag: function(e) { /* override this */ },
+
+    /**
+     * Abstract method called when this element fist begins hovering over 
+     * another DragDrop obj
+     * @method onDragEnter
+     * @param {Event} e the mousemove event
+     * @param {String|DragDrop[]} id In POINT mode, the element
+     * id this is hovering over.  In INTERSECT mode, an array of one or more 
+     * dragdrop items being hovered over.
+     */
+    onDragEnter: function(e, id) { /* override this */ },
+
+    /**
+     * Code that executes immediately before the onDragOver event
+     * @method b4DragOver
+     * @private
+     */
+    b4DragOver: function(e) { },
+
+    /**
+     * Abstract method called when this element is hovering over another 
+     * DragDrop obj
+     * @method onDragOver
+     * @param {Event} e the mousemove event
+     * @param {String|DragDrop[]} id In POINT mode, the element
+     * id this is hovering over.  In INTERSECT mode, an array of dd items 
+     * being hovered over.
+     */
+    onDragOver: function(e, id) { /* override this */ },
+
+    /**
+     * Code that executes immediately before the onDragOut event
+     * @method b4DragOut
+     * @private
+     */
+    b4DragOut: function(e) { },
+
+    /**
+     * Abstract method called when we are no longer hovering over an element
+     * @method onDragOut
+     * @param {Event} e the mousemove event
+     * @param {String|DragDrop[]} id In POINT mode, the element
+     * id this was hovering over.  In INTERSECT mode, an array of dd items 
+     * that the mouse is no longer over.
+     */
+    onDragOut: function(e, id) { /* override this */ },
+
+    /**
+     * Code that executes immediately before the onDragDrop event
+     * @method b4DragDrop
+     * @private
+     */
+    b4DragDrop: function(e) { },
+
+    /**
+     * Abstract method called when this item is dropped on another DragDrop 
+     * obj
+     * @method onDragDrop
+     * @param {Event} e the mouseup event
+     * @param {String|DragDrop[]} id In POINT mode, the element
+     * id this was dropped on.  In INTERSECT mode, an array of dd items this 
+     * was dropped on.
+     */
+    onDragDrop: function(e, id) { /* override this */ },
+
+    /**
+     * Abstract method called when this item is dropped on an area with no
+     * drop target
+     * @method onInvalidDrop
+     * @param {Event} e the mouseup event
+     */
+    onInvalidDrop: function(e) { /* override this */ },
+
+    /**
+     * Code that executes immediately before the endDrag event
+     * @method b4EndDrag
+     * @private
+     */
+    b4EndDrag: function(e) { },
+
+    /**
+     * Fired when we are done dragging the object
+     * @method endDrag
+     * @param {Event} e the mouseup event
+     */
+    endDrag: function(e) { /* override this */ },
+
+    /**
+     * Code executed immediately before the onMouseDown event
+     * @method b4MouseDown
+     * @param {Event} e the mousedown event
+     * @private
+     */
+    b4MouseDown: function(e) {  },
+
+    /**
+     * Event handler that fires when a drag/drop obj gets a mousedown
+     * @method onMouseDown
+     * @param {Event} e the mousedown event
+     */
+    onMouseDown: function(e) { /* override this */ },
+
+    /**
+     * Event handler that fires when a drag/drop obj gets a mouseup
+     * @method onMouseUp
+     * @param {Event} e the mouseup event
+     */
+    onMouseUp: function(e) { /* override this */ },
+   
+    /**
+     * Override the onAvailable method to do what is needed after the initial
+     * position was determined.
+     * @method onAvailable
+     */
+    onAvailable: function () { 
+    },
+
+    /**
+     * Returns a reference to the linked element
+     * @method getEl
+     * @return {HTMLElement} the html element 
+     */
+    getEl: function() { 
+        if (!this._domRef) {
+            this._domRef = Dom.get(this.id); 
+        }
+
+        return this._domRef;
+    },
+
+    /**
+     * Returns a reference to the actual element to drag.  By default this is
+     * the same as the html element, but it can be assigned to another 
+     * element. An example of this can be found in YAHOO.util.DDProxy
+     * @method getDragEl
+     * @return {HTMLElement} the html element 
+     */
+    getDragEl: function() {
+        return Dom.get(this.dragElId);
+    },
+
+    /**
+     * Sets up the DragDrop object.  Must be called in the constructor of any
+     * YAHOO.util.DragDrop subclass
+     * @method init
+     * @param id the id of the linked element
+     * @param {String} sGroup the group of related items
+     * @param {object} config configuration attributes
+     */
+    init: function(id, sGroup, config) {
+        this.initTarget(id, sGroup, config);
+        Event.on(this._domRef || this.id, "mousedown", 
+                        this.handleMouseDown, this, true);
+
+        // Event.on(this.id, "selectstart", Event.preventDefault);
+        for (var i in this.events) {
+            this.createEvent(i + 'Event');
+        }
+        
+    },
+
+    /**
+     * Initializes Targeting functionality only... the object does not
+     * get a mousedown handler.
+     * @method initTarget
+     * @param id the id of the linked element
+     * @param {String} sGroup the group of related items
+     * @param {object} config configuration attributes
+     */
+    initTarget: function(id, sGroup, config) {
+
+        // configuration attributes 
+        this.config = config || {};
+
+        this.events = {};
+
+        // create a local reference to the drag and drop manager
+        this.DDM = YAHOO.util.DDM;
+
+        // initialize the groups object
+        this.groups = {};
+
+        // assume that we have an element reference instead of an id if the
+        // parameter is not a string
+        if (typeof id !== "string") {
+            this._domRef = id;
+            id = Dom.generateId(id);
+        }
+
+        // set the id
+        this.id = id;
+
+        // add to an interaction group
+        this.addToGroup((sGroup) ? sGroup : "default");
+
+        // We don't want to register this as the handle with the manager
+        // so we just set the id rather than calling the setter.
+        this.handleElId = id;
+
+        Event.onAvailable(id, this.handleOnAvailable, this, true);
+
+
+        // the linked element is the element that gets dragged by default
+        this.setDragElId(id); 
+
+        // by default, clicked anchors will not start drag operations. 
+        // @TODO what else should be here?  Probably form fields.
+        this.invalidHandleTypes = { A: "A" };
+        this.invalidHandleIds = {};
+        this.invalidHandleClasses = [];
+
+        this.applyConfig();
+    },
+
+    /**
+     * Applies the configuration parameters that were passed into the constructor.
+     * This is supposed to happen at each level through the inheritance chain.  So
+     * a DDProxy implentation will execute apply config on DDProxy, DD, and 
+     * DragDrop in order to get all of the parameters that are available in
+     * each object.
+     * @method applyConfig
+     */
+    applyConfig: function() {
+        this.events = {
+            mouseDown: true,
+            b4MouseDown: true,
+            mouseUp: true,
+            b4StartDrag: true,
+            startDrag: true,
+            b4EndDrag: true,
+            endDrag: true,
+            drag: true,
+            b4Drag: true,
+            invalidDrop: true,
+            b4DragOut: true,
+            dragOut: true,
+            dragEnter: true,
+            b4DragOver: true,
+            dragOver: true,
+            b4DragDrop: true,
+            dragDrop: true
+        };
+        
+        if (this.config.events) {
+            for (var i in this.config.events) {
+                if (this.config.events[i] === false) {
+                    this.events[i] = false;
+                }
+            }
+        }
+
+
+        // configurable properties: 
+        //    padding, isTarget, maintainOffset, primaryButtonOnly
+        this.padding           = this.config.padding || [0, 0, 0, 0];
+        this.isTarget          = (this.config.isTarget !== false);
+        this.maintainOffset    = (this.config.maintainOffset);
+        this.primaryButtonOnly = (this.config.primaryButtonOnly !== false);
+        this.dragOnly = ((this.config.dragOnly === true) ? true : false);
+        this.useShim = ((this.config.useShim === true) ? true : false);
+    },
+
+    /**
+     * Executed when the linked element is available
+     * @method handleOnAvailable
+     * @private
+     */
+    handleOnAvailable: function() {
+        this.available = true;
+        this.resetConstraints();
+        this.onAvailable();
+    },
+
+     /**
+     * Configures the padding for the target zone in px.  Effectively expands
+     * (or reduces) the virtual object size for targeting calculations.  
+     * Supports css-style shorthand; if only one parameter is passed, all sides
+     * will have that padding, and if only two are passed, the top and bottom
+     * will have the first param, the left and right the second.
+     * @method setPadding
+     * @param {int} iTop    Top pad
+     * @param {int} iRight  Right pad
+     * @param {int} iBot    Bot pad
+     * @param {int} iLeft   Left pad
+     */
+    setPadding: function(iTop, iRight, iBot, iLeft) {
+        // this.padding = [iLeft, iRight, iTop, iBot];
+        if (!iRight && 0 !== iRight) {
+            this.padding = [iTop, iTop, iTop, iTop];
+        } else if (!iBot && 0 !== iBot) {
+            this.padding = [iTop, iRight, iTop, iRight];
+        } else {
+            this.padding = [iTop, iRight, iBot, iLeft];
+        }
+    },
+
+    /**
+     * Stores the initial placement of the linked element.
+     * @method setInitialPosition
+     * @param {int} diffX   the X offset, default 0
+     * @param {int} diffY   the Y offset, default 0
+     * @private
+     */
+    setInitPosition: function(diffX, diffY) {
+        var el = this.getEl();
+
+        if (!this.DDM.verifyEl(el)) {
+            if (el && el.style && (el.style.display == 'none')) {
+            } else {
+            }
+            return;
+        }
+
+        var dx = diffX || 0;
+        var dy = diffY || 0;
+
+        var p = Dom.getXY( el );
+
+        this.initPageX = p[0] - dx;
+        this.initPageY = p[1] - dy;
+
+        this.lastPageX = p[0];
+        this.lastPageY = p[1];
+
+
+
+        this.setStartPosition(p);
+    },
+
+    /**
+     * Sets the start position of the element.  This is set when the obj
+     * is initialized, the reset when a drag is started.
+     * @method setStartPosition
+     * @param pos current position (from previous lookup)
+     * @private
+     */
+    setStartPosition: function(pos) {
+        var p = pos || Dom.getXY(this.getEl());
+
+        this.deltaSetXY = null;
+
+        this.startPageX = p[0];
+        this.startPageY = p[1];
+    },
+
+    /**
+     * Add this instance to a group of related drag/drop objects.  All 
+     * instances belong to at least one group, and can belong to as many 
+     * groups as needed.
+     * @method addToGroup
+     * @param sGroup {string} the name of the group
+     */
+    addToGroup: function(sGroup) {
+        this.groups[sGroup] = true;
+        this.DDM.regDragDrop(this, sGroup);
+    },
+
+    /**
+     * Remove's this instance from the supplied interaction group
+     * @method removeFromGroup
+     * @param {string}  sGroup  The group to drop
+     */
+    removeFromGroup: function(sGroup) {
+        if (this.groups[sGroup]) {
+            delete this.groups[sGroup];
+        }
+
+        this.DDM.removeDDFromGroup(this, sGroup);
+    },
+
+    /**
+     * Allows you to specify that an element other than the linked element 
+     * will be moved with the cursor during a drag
+     * @method setDragElId
+     * @param id {string} the id of the element that will be used to initiate the drag
+     */
+    setDragElId: function(id) {
+        this.dragElId = id;
+    },
+
+    /**
+     * Allows you to specify a child of the linked element that should be 
+     * used to initiate the drag operation.  An example of this would be if 
+     * you have a content div with text and links.  Clicking anywhere in the 
+     * content area would normally start the drag operation.  Use this method
+     * to specify that an element inside of the content div is the element 
+     * that starts the drag operation.
+     * @method setHandleElId
+     * @param id {string} the id of the element that will be used to 
+     * initiate the drag.
+     */
+    setHandleElId: function(id) {
+        if (typeof id !== "string") {
+            id = Dom.generateId(id);
+        }
+        this.handleElId = id;
+        this.DDM.regHandle(this.id, id);
+    },
+
+    /**
+     * Allows you to set an element outside of the linked element as a drag 
+     * handle
+     * @method setOuterHandleElId
+     * @param id the id of the element that will be used to initiate the drag
+     */
+    setOuterHandleElId: function(id) {
+        if (typeof id !== "string") {
+            id = Dom.generateId(id);
+        }
+        Event.on(id, "mousedown", 
+                this.handleMouseDown, this, true);
+        this.setHandleElId(id);
+
+        this.hasOuterHandles = true;
+    },
+
+    /**
+     * Remove all drag and drop hooks for this element
+     * @method unreg
+     */
+    unreg: function() {
+        Event.removeListener(this.id, "mousedown", 
+                this.handleMouseDown);
+        this._domRef = null;
+        this.DDM._remove(this);
+    },
+
+    /**
+     * Returns true if this instance is locked, or the drag drop mgr is locked
+     * (meaning that all drag/drop is disabled on the page.)
+     * @method isLocked
+     * @return {boolean} true if this obj or all drag/drop is locked, else 
+     * false
+     */
+    isLocked: function() {
+        return (this.DDM.isLocked() || this.locked);
+    },
+
+    /**
+     * Fired when this object is clicked
+     * @method handleMouseDown
+     * @param {Event} e 
+     * @param {YAHOO.util.DragDrop} oDD the clicked dd object (this dd obj)
+     * @private
+     */
+    handleMouseDown: function(e, oDD) {
+
+        var button = e.which || e.button;
+
+        if (this.primaryButtonOnly && button > 1) {
+            return;
+        }
+
+        if (this.isLocked()) {
+            return;
+        }
+
+
+
+        // firing the mousedown events prior to calculating positions
+        var b4Return = this.b4MouseDown(e),
+        b4Return2 = true;
+
+        if (this.events.b4MouseDown) {
+            b4Return2 = this.fireEvent('b4MouseDownEvent', e);
+        }
+        var mDownReturn = this.onMouseDown(e),
+            mDownReturn2 = true;
+        if (this.events.mouseDown) {
+            mDownReturn2 = this.fireEvent('mouseDownEvent', e);
+        }
+
+        if ((b4Return === false) || (mDownReturn === false) || (b4Return2 === false) || (mDownReturn2 === false)) {
+            return;
+        }
+
+        this.DDM.refreshCache(this.groups);
+        // var self = this;
+        // setTimeout( function() { self.DDM.refreshCache(self.groups); }, 0);
+
+        // Only process the event if we really clicked within the linked 
+        // element.  The reason we make this check is that in the case that 
+        // another element was moved between the clicked element and the 
+        // cursor in the time between the mousedown and mouseup events. When 
+        // this happens, the element gets the next mousedown event 
+        // regardless of where on the screen it happened.  
+        var pt = new YAHOO.util.Point(Event.getPageX(e), Event.getPageY(e));
+        if (!this.hasOuterHandles && !this.DDM.isOverTarget(pt, this) )  {
+        } else {
+            if (this.clickValidator(e)) {
+
+
+                // set the initial element position
+                this.setStartPosition();
+
+                // start tracking mousemove distance and mousedown time to
+                // determine when to start the actual drag
+                this.DDM.handleMouseDown(e, this);
+
+                // this mousedown is mine
+                this.DDM.stopEvent(e);
+            } else {
+
+
+            }
+        }
+    },
+
+    /**
+     * @method clickValidator
+     * @description Method validates that the clicked element
+     * was indeed the handle or a valid child of the handle
+     * @param {Event} e 
+     */
+    clickValidator: function(e) {
+        var target = YAHOO.util.Event.getTarget(e);
+        return ( this.isValidHandleChild(target) &&
+                    (this.id == this.handleElId || 
+                        this.DDM.handleWasClicked(target, this.id)) );
+    },
+
+    /**
+     * Finds the location the element should be placed if we want to move
+     * it to where the mouse location less the click offset would place us.
+     * @method getTargetCoord
+     * @param {int} iPageX the X coordinate of the click
+     * @param {int} iPageY the Y coordinate of the click
+     * @return an object that contains the coordinates (Object.x and Object.y)
+     * @private
+     */
+    getTargetCoord: function(iPageX, iPageY) {
+
+
+        var x = iPageX - this.deltaX;
+        var y = iPageY - this.deltaY;
+
+        if (this.constrainX) {
+            if (x < this.minX) { x = this.minX; }
+            if (x > this.maxX) { x = this.maxX; }
+        }
+
+        if (this.constrainY) {
+            if (y < this.minY) { y = this.minY; }
+            if (y > this.maxY) { y = this.maxY; }
+        }
+
+        x = this.getTick(x, this.xTicks);
+        y = this.getTick(y, this.yTicks);
+
+
+        return {x:x, y:y};
+    },
+
+    /**
+     * Allows you to specify a tag name that should not start a drag operation
+     * when clicked.  This is designed to facilitate embedding links within a
+     * drag handle that do something other than start the drag.
+     * @method addInvalidHandleType
+     * @param {string} tagName the type of element to exclude
+     */
+    addInvalidHandleType: function(tagName) {
+        var type = tagName.toUpperCase();
+        this.invalidHandleTypes[type] = type;
+    },
+
+    /**
+     * Lets you to specify an element id for a child of a drag handle
+     * that should not initiate a drag
+     * @method addInvalidHandleId
+     * @param {string} id the element id of the element you wish to ignore
+     */
+    addInvalidHandleId: function(id) {
+        if (typeof id !== "string") {
+            id = Dom.generateId(id);
+        }
+        this.invalidHandleIds[id] = id;
+    },
+
+
+    /**
+     * Lets you specify a css class of elements that will not initiate a drag
+     * @method addInvalidHandleClass
+     * @param {string} cssClass the class of the elements you wish to ignore
+     */
+    addInvalidHandleClass: function(cssClass) {
+        this.invalidHandleClasses.push(cssClass);
+    },
+
+    /**
+     * Unsets an excluded tag name set by addInvalidHandleType
+     * @method removeInvalidHandleType
+     * @param {string} tagName the type of element to unexclude
+     */
+    removeInvalidHandleType: function(tagName) {
+        var type = tagName.toUpperCase();
+        // this.invalidHandleTypes[type] = null;
+        delete this.invalidHandleTypes[type];
+    },
+    
+    /**
+     * Unsets an invalid handle id
+     * @method removeInvalidHandleId
+     * @param {string} id the id of the element to re-enable
+     */
+    removeInvalidHandleId: function(id) {
+        if (typeof id !== "string") {
+            id = Dom.generateId(id);
+        }
+        delete this.invalidHandleIds[id];
+    },
+
+    /**
+     * Unsets an invalid css class
+     * @method removeInvalidHandleClass
+     * @param {string} cssClass the class of the element(s) you wish to 
+     * re-enable
+     */
+    removeInvalidHandleClass: function(cssClass) {
+        for (var i=0, len=this.invalidHandleClasses.length; i<len; ++i) {
+            if (this.invalidHandleClasses[i] == cssClass) {
+                delete this.invalidHandleClasses[i];
+            }
+        }
+    },
+
+    /**
+     * Checks the tag exclusion list to see if this click should be ignored
+     * @method isValidHandleChild
+     * @param {HTMLElement} node the HTMLElement to evaluate
+     * @return {boolean} true if this is a valid tag type, false if not
+     */
+    isValidHandleChild: function(node) {
+
+        var valid = true;
+        // var n = (node.nodeName == "#text") ? node.parentNode : node;
+        var nodeName;
+        try {
+            nodeName = node.nodeName.toUpperCase();
+        } catch(e) {
+            nodeName = node.nodeName;
+        }
+        valid = valid && !this.invalidHandleTypes[nodeName];
+        valid = valid && !this.invalidHandleIds[node.id];
+
+        for (var i=0, len=this.invalidHandleClasses.length; valid && i<len; ++i) {
+            valid = !Dom.hasClass(node, this.invalidHandleClasses[i]);
+        }
+
+
+        return valid;
+
+    },
+
+    /**
+     * Create the array of horizontal tick marks if an interval was specified
+     * in setXConstraint().
+     * @method setXTicks
+     * @private
+     */
+    setXTicks: function(iStartX, iTickSize) {
+        this.xTicks = [];
+        this.xTickSize = iTickSize;
+        
+        var tickMap = {};
+
+        for (var i = this.initPageX; i >= this.minX; i = i - iTickSize) {
+            if (!tickMap[i]) {
+                this.xTicks[this.xTicks.length] = i;
+                tickMap[i] = true;
+            }
+        }
+
+        for (i = this.initPageX; i <= this.maxX; i = i + iTickSize) {
+            if (!tickMap[i]) {
+                this.xTicks[this.xTicks.length] = i;
+                tickMap[i] = true;
+            }
+        }
+
+        this.xTicks.sort(this.DDM.numericSort) ;
+    },
+
+    /**
+     * Create the array of vertical tick marks if an interval was specified in 
+     * setYConstraint().
+     * @method setYTicks
+     * @private
+     */
+    setYTicks: function(iStartY, iTickSize) {
+        this.yTicks = [];
+        this.yTickSize = iTickSize;
+
+        var tickMap = {};
+
+        for (var i = this.initPageY; i >= this.minY; i = i - iTickSize) {
+            if (!tickMap[i]) {
+                this.yTicks[this.yTicks.length] = i;
+                tickMap[i] = true;
+            }
+        }
+
+        for (i = this.initPageY; i <= this.maxY; i = i + iTickSize) {
+            if (!tickMap[i]) {
+                this.yTicks[this.yTicks.length] = i;
+                tickMap[i] = true;
+            }
+        }
+
+        this.yTicks.sort(this.DDM.numericSort) ;
+    },
+
+    /**
+     * By default, the element can be dragged any place on the screen.  Use 
+     * this method to limit the horizontal travel of the element.  Pass in 
+     * 0,0 for the parameters if you want to lock the drag to the y axis.
+     * @method setXConstraint
+     * @param {int} iLeft the number of pixels the element can move to the left
+     * @param {int} iRight the number of pixels the element can move to the 
+     * right
+     * @param {int} iTickSize optional parameter for specifying that the 
+     * element
+     * should move iTickSize pixels at a time.
+     */
+    setXConstraint: function(iLeft, iRight, iTickSize) {
+        this.leftConstraint = parseInt(iLeft, 10);
+        this.rightConstraint = parseInt(iRight, 10);
+
+        this.minX = this.initPageX - this.leftConstraint;
+        this.maxX = this.initPageX + this.rightConstraint;
+        if (iTickSize) { this.setXTicks(this.initPageX, iTickSize); }
+
+        this.constrainX = true;
+    },
+
+    /**
+     * Clears any constraints applied to this instance.  Also clears ticks
+     * since they can't exist independent of a constraint at this time.
+     * @method clearConstraints
+     */
+    clearConstraints: function() {
+        this.constrainX = false;
+        this.constrainY = false;
+        this.clearTicks();
+    },
+
+    /**
+     * Clears any tick interval defined for this instance
+     * @method clearTicks
+     */
+    clearTicks: function() {
+        this.xTicks = null;
+        this.yTicks = null;
+        this.xTickSize = 0;
+        this.yTickSize = 0;
+    },
+
+    /**
+     * By default, the element can be dragged any place on the screen.  Set 
+     * this to limit the vertical travel of the element.  Pass in 0,0 for the
+     * parameters if you want to lock the drag to the x axis.
+     * @method setYConstraint
+     * @param {int} iUp the number of pixels the element can move up
+     * @param {int} iDown the number of pixels the element can move down
+     * @param {int} iTickSize optional parameter for specifying that the 
+     * element should move iTickSize pixels at a time.
+     */
+    setYConstraint: function(iUp, iDown, iTickSize) {
+        this.topConstraint = parseInt(iUp, 10);
+        this.bottomConstraint = parseInt(iDown, 10);
+
+        this.minY = this.initPageY - this.topConstraint;
+        this.maxY = this.initPageY + this.bottomConstraint;
+        if (iTickSize) { this.setYTicks(this.initPageY, iTickSize); }
+
+        this.constrainY = true;
+        
+    },
+
+    /**
+     * resetConstraints must be called if you manually reposition a dd element.
+     * @method resetConstraints
+     */
+    resetConstraints: function() {
+
+
+        // Maintain offsets if necessary
+        if (this.initPageX || this.initPageX === 0) {
+            // figure out how much this thing has moved
+            var dx = (this.maintainOffset) ? this.lastPageX - this.initPageX : 0;
+            var dy = (this.maintainOffset) ? this.lastPageY - this.initPageY : 0;
+
+            this.setInitPosition(dx, dy);
+
+        // This is the first time we have detected the element's position
+        } else {
+            this.setInitPosition();
+        }
+
+        if (this.constrainX) {
+            this.setXConstraint( this.leftConstraint, 
+                                 this.rightConstraint, 
+                                 this.xTickSize        );
+        }
+
+        if (this.constrainY) {
+            this.setYConstraint( this.topConstraint, 
+                                 this.bottomConstraint, 
+                                 this.yTickSize         );
+        }
+    },
+
+    /**
+     * Normally the drag element is moved pixel by pixel, but we can specify 
+     * that it move a number of pixels at a time.  This method resolves the 
+     * location when we have it set up like this.
+     * @method getTick
+     * @param {int} val where we want to place the object
+     * @param {int[]} tickArray sorted array of valid points
+     * @return {int} the closest tick
+     * @private
+     */
+    getTick: function(val, tickArray) {
+
+        if (!tickArray) {
+            // If tick interval is not defined, it is effectively 1 pixel, 
+            // so we return the value passed to us.
+            return val; 
+        } else if (tickArray[0] >= val) {
+            // The value is lower than the first tick, so we return the first
+            // tick.
+            return tickArray[0];
+        } else {
+            for (var i=0, len=tickArray.length; i<len; ++i) {
+                var next = i + 1;
+                if (tickArray[next] && tickArray[next] >= val) {
+                    var diff1 = val - tickArray[i];
+                    var diff2 = tickArray[next] - val;
+                    return (diff2 > diff1) ? tickArray[i] : tickArray[next];
+                }
+            }
+
+            // The value is larger than the last tick, so we return the last
+            // tick.
+            return tickArray[tickArray.length - 1];
+        }
+    },
+
+    /**
+     * toString method
+     * @method toString
+     * @return {string} string representation of the dd obj
+     */
+    toString: function() {
+        return ("DragDrop " + this.id);
+    }
+
+};
+YAHOO.augment(YAHOO.util.DragDrop, YAHOO.util.EventProvider);
+
+/**
+* @event mouseDownEvent
+* @description Provides access to the mousedown event. The mousedown does not always result in a drag operation.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event b4MouseDownEvent
+* @description Provides access to the mousedown event, before the mouseDownEvent gets fired. Returning false will cancel the drag.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event mouseUpEvent
+* @description Fired from inside DragDropMgr when the drag operation is finished.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event b4StartDragEvent
+* @description Fires before the startDragEvent, returning false will cancel the startDrag Event.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event startDragEvent
+* @description Occurs after a mouse down and the drag threshold has been met. The drag threshold default is either 3 pixels of mouse movement or 1 full second of holding the mousedown. 
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event b4EndDragEvent
+* @description Fires before the endDragEvent. Returning false will cancel.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event endDragEvent
+* @description Fires on the mouseup event after a drag has been initiated (startDrag fired).
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event dragEvent
+* @description Occurs every mousemove event while dragging.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event b4DragEvent
+* @description Fires before the dragEvent.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event invalidDropEvent
+* @description Fires when the dragged objects is dropped in a location that contains no drop targets.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event b4DragOutEvent
+* @description Fires before the dragOutEvent
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event dragOutEvent
+* @description Fires when a dragged object is no longer over an object that had the onDragEnter fire. 
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event dragEnterEvent
+* @description Occurs when the dragged object first interacts with another targettable drag and drop object.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event b4DragOverEvent
+* @description Fires before the dragOverEvent.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event dragOverEvent
+* @description Fires every mousemove event while over a drag and drop object.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event b4DragDropEvent 
+* @description Fires before the dragDropEvent
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event dragDropEvent
+* @description Fires when the dragged objects is dropped on another.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+})();
+/**
+ * A DragDrop implementation where the linked element follows the 
+ * mouse cursor during a drag.
+ * @class DD
+ * @extends YAHOO.util.DragDrop
+ * @constructor
+ * @param {String} id the id of the linked element 
+ * @param {String} sGroup the group of related DragDrop items
+ * @param {object} config an object containing configurable attributes
+ *                Valid properties for DD: 
+ *                    scroll
+ */
+YAHOO.util.DD = function(id, sGroup, config) {
+    if (id) {
+        this.init(id, sGroup, config);
+    }
+};
+
+YAHOO.extend(YAHOO.util.DD, YAHOO.util.DragDrop, {
+
+    /**
+     * When set to true, the utility automatically tries to scroll the browser
+     * window when a drag and drop element is dragged near the viewport boundary.
+     * Defaults to true.
+     * @property scroll
+     * @type boolean
+     */
+    scroll: true, 
+
+    /**
+     * Sets the pointer offset to the distance between the linked element's top 
+     * left corner and the location the element was clicked
+     * @method autoOffset
+     * @param {int} iPageX the X coordinate of the click
+     * @param {int} iPageY the Y coordinate of the click
+     */
+    autoOffset: function(iPageX, iPageY) {
+        var x = iPageX - this.startPageX;
+        var y = iPageY - this.startPageY;
+        this.setDelta(x, y);
+    },
+
+    /** 
+     * Sets the pointer offset.  You can call this directly to force the 
+     * offset to be in a particular location (e.g., pass in 0,0 to set it 
+     * to the center of the object, as done in YAHOO.widget.Slider)
+     * @method setDelta
+     * @param {int} iDeltaX the distance from the left
+     * @param {int} iDeltaY the distance from the top
+     */
+    setDelta: function(iDeltaX, iDeltaY) {
+        this.deltaX = iDeltaX;
+        this.deltaY = iDeltaY;
+    },
+
+    /**
+     * Sets the drag element to the location of the mousedown or click event, 
+     * maintaining the cursor location relative to the location on the element 
+     * that was clicked.  Override this if you want to place the element in a 
+     * location other than where the cursor is.
+     * @method setDragElPos
+     * @param {int} iPageX the X coordinate of the mousedown or drag event
+     * @param {int} iPageY the Y coordinate of the mousedown or drag event
+     */
+    setDragElPos: function(iPageX, iPageY) {
+        // the first time we do this, we are going to check to make sure
+        // the element has css positioning
+
+        var el = this.getDragEl();
+        this.alignElWithMouse(el, iPageX, iPageY);
+    },
+
+    /**
+     * Sets the element to the location of the mousedown or click event, 
+     * maintaining the cursor location relative to the location on the element 
+     * that was clicked.  Override this if you want to place the element in a 
+     * location other than where the cursor is.
+     * @method alignElWithMouse
+     * @param {HTMLElement} el the element to move
+     * @param {int} iPageX the X coordinate of the mousedown or drag event
+     * @param {int} iPageY the Y coordinate of the mousedown or drag event
+     */
+    alignElWithMouse: function(el, iPageX, iPageY) {
+        var oCoord = this.getTargetCoord(iPageX, iPageY);
+
+        if (!this.deltaSetXY) {
+            var aCoord = [oCoord.x, oCoord.y];
+            YAHOO.util.Dom.setXY(el, aCoord);
+
+            var newLeft = parseInt( YAHOO.util.Dom.getStyle(el, "left"), 10 );
+            var newTop  = parseInt( YAHOO.util.Dom.getStyle(el, "top" ), 10 );
+
+            this.deltaSetXY = [ newLeft - oCoord.x, newTop - oCoord.y ];
+        } else {
+            YAHOO.util.Dom.setStyle(el, "left", (oCoord.x + this.deltaSetXY[0]) + "px");
+            YAHOO.util.Dom.setStyle(el, "top",  (oCoord.y + this.deltaSetXY[1]) + "px");
+        }
+        
+        this.cachePosition(oCoord.x, oCoord.y);
+        var self = this;
+        setTimeout(function() {
+            self.autoScroll.call(self, oCoord.x, oCoord.y, el.offsetHeight, el.offsetWidth);
+        }, 0);
+    },
+
+    /**
+     * Saves the most recent position so that we can reset the constraints and
+     * tick marks on-demand.  We need to know this so that we can calculate the
+     * number of pixels the element is offset from its original position.
+     * @method cachePosition
+     * @param iPageX the current x position (optional, this just makes it so we
+     * don't have to look it up again)
+     * @param iPageY the current y position (optional, this just makes it so we
+     * don't have to look it up again)
+     */
+    cachePosition: function(iPageX, iPageY) {
+        if (iPageX) {
+            this.lastPageX = iPageX;
+            this.lastPageY = iPageY;
+        } else {
+            var aCoord = YAHOO.util.Dom.getXY(this.getEl());
+            this.lastPageX = aCoord[0];
+            this.lastPageY = aCoord[1];
+        }
+    },
+
+    /**
+     * Auto-scroll the window if the dragged object has been moved beyond the 
+     * visible window boundary.
+     * @method autoScroll
+     * @param {int} x the drag element's x position
+     * @param {int} y the drag element's y position
+     * @param {int} h the height of the drag element
+     * @param {int} w the width of the drag element
+     * @private
+     */
+    autoScroll: function(x, y, h, w) {
+
+        if (this.scroll) {
+            // The client height
+            var clientH = this.DDM.getClientHeight();
+
+            // The client width
+            var clientW = this.DDM.getClientWidth();
+
+            // The amt scrolled down
+            var st = this.DDM.getScrollTop();
+
+            // The amt scrolled right
+            var sl = this.DDM.getScrollLeft();
+
+            // Location of the bottom of the element
+            var bot = h + y;
+
+            // Location of the right of the element
+            var right = w + x;
+
+            // The distance from the cursor to the bottom of the visible area, 
+            // adjusted so that we don't scroll if the cursor is beyond the
+            // element drag constraints
+            var toBot = (clientH + st - y - this.deltaY);
+
+            // The distance from the cursor to the right of the visible area
+            var toRight = (clientW + sl - x - this.deltaX);
+
+
+            // How close to the edge the cursor must be before we scroll
+            // var thresh = (document.all) ? 100 : 40;
+            var thresh = 40;
+
+            // How many pixels to scroll per autoscroll op.  This helps to reduce 
+            // clunky scrolling. IE is more sensitive about this ... it needs this 
+            // value to be higher.
+            var scrAmt = (document.all) ? 80 : 30;
+
+            // Scroll down if we are near the bottom of the visible page and the 
+            // obj extends below the crease
+            if ( bot > clientH && toBot < thresh ) { 
+                window.scrollTo(sl, st + scrAmt); 
+            }
+
+            // Scroll up if the window is scrolled down and the top of the object
+            // goes above the top border
+            if ( y < st && st > 0 && y - st < thresh ) { 
+                window.scrollTo(sl, st - scrAmt); 
+            }
+
+            // Scroll right if the obj is beyond the right border and the cursor is
+            // near the border.
+            if ( right > clientW && toRight < thresh ) { 
+                window.scrollTo(sl + scrAmt, st); 
+            }
+
+            // Scroll left if the window has been scrolled to the right and the obj
+            // extends past the left border
+            if ( x < sl && sl > 0 && x - sl < thresh ) { 
+                window.scrollTo(sl - scrAmt, st);
+            }
+        }
+    },
+
+    /*
+     * Sets up config options specific to this class. Overrides
+     * YAHOO.util.DragDrop, but all versions of this method through the 
+     * inheritance chain are called
+     */
+    applyConfig: function() {
+        YAHOO.util.DD.superclass.applyConfig.call(this);
+        this.scroll = (this.config.scroll !== false);
+    },
+
+    /*
+     * Event that fires prior to the onMouseDown event.  Overrides 
+     * YAHOO.util.DragDrop.
+     */
+    b4MouseDown: function(e) {
+        this.setStartPosition();
+        // this.resetConstraints();
+        this.autoOffset(YAHOO.util.Event.getPageX(e), 
+                            YAHOO.util.Event.getPageY(e));
+    },
+
+    /*
+     * Event that fires prior to the onDrag event.  Overrides 
+     * YAHOO.util.DragDrop.
+     */
+    b4Drag: function(e) {
+        this.setDragElPos(YAHOO.util.Event.getPageX(e), 
+                            YAHOO.util.Event.getPageY(e));
+    },
+
+    toString: function() {
+        return ("DD " + this.id);
+    }
+
+    //////////////////////////////////////////////////////////////////////////
+    // Debugging ygDragDrop events that can be overridden
+    //////////////////////////////////////////////////////////////////////////
+    /*
+    startDrag: function(x, y) {
+    },
+
+    onDrag: function(e) {
+    },
+
+    onDragEnter: function(e, id) {
+    },
+
+    onDragOver: function(e, id) {
+    },
+
+    onDragOut: function(e, id) {
+    },
+
+    onDragDrop: function(e, id) {
+    },
+
+    endDrag: function(e) {
+    }
+
+    */
+
+/**
+* @event mouseDownEvent
+* @description Provides access to the mousedown event. The mousedown does not always result in a drag operation.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event b4MouseDownEvent
+* @description Provides access to the mousedown event, before the mouseDownEvent gets fired. Returning false will cancel the drag.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event mouseUpEvent
+* @description Fired from inside DragDropMgr when the drag operation is finished.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event b4StartDragEvent
+* @description Fires before the startDragEvent, returning false will cancel the startDrag Event.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event startDragEvent
+* @description Occurs after a mouse down and the drag threshold has been met. The drag threshold default is either 3 pixels of mouse movement or 1 full second of holding the mousedown. 
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event b4EndDragEvent
+* @description Fires before the endDragEvent. Returning false will cancel.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event endDragEvent
+* @description Fires on the mouseup event after a drag has been initiated (startDrag fired).
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event dragEvent
+* @description Occurs every mousemove event while dragging.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event b4DragEvent
+* @description Fires before the dragEvent.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event invalidDropEvent
+* @description Fires when the dragged objects is dropped in a location that contains no drop targets.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event b4DragOutEvent
+* @description Fires before the dragOutEvent
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event dragOutEvent
+* @description Fires when a dragged object is no longer over an object that had the onDragEnter fire. 
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event dragEnterEvent
+* @description Occurs when the dragged object first interacts with another targettable drag and drop object.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event b4DragOverEvent
+* @description Fires before the dragOverEvent.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event dragOverEvent
+* @description Fires every mousemove event while over a drag and drop object.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event b4DragDropEvent 
+* @description Fires before the dragDropEvent
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event dragDropEvent
+* @description Fires when the dragged objects is dropped on another.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+});
+/**
+ * A DragDrop implementation that inserts an empty, bordered div into
+ * the document that follows the cursor during drag operations.  At the time of
+ * the click, the frame div is resized to the dimensions of the linked html
+ * element, and moved to the exact location of the linked element.
+ *
+ * References to the "frame" element refer to the single proxy element that
+ * was created to be dragged in place of all DDProxy elements on the
+ * page.
+ *
+ * @class DDProxy
+ * @extends YAHOO.util.DD
+ * @constructor
+ * @param {String} id the id of the linked html element
+ * @param {String} sGroup the group of related DragDrop objects
+ * @param {object} config an object containing configurable attributes
+ *                Valid properties for DDProxy in addition to those in DragDrop: 
+ *                   resizeFrame, centerFrame, dragElId
+ */
+YAHOO.util.DDProxy = function(id, sGroup, config) {
+    if (id) {
+        this.init(id, sGroup, config);
+        this.initFrame(); 
+    }
+};
+
+/**
+ * The default drag frame div id
+ * @property YAHOO.util.DDProxy.dragElId
+ * @type String
+ * @static
+ */
+YAHOO.util.DDProxy.dragElId = "ygddfdiv";
+
+YAHOO.extend(YAHOO.util.DDProxy, YAHOO.util.DD, {
+
+    /**
+     * By default we resize the drag frame to be the same size as the element
+     * we want to drag (this is to get the frame effect).  We can turn it off
+     * if we want a different behavior.
+     * @property resizeFrame
+     * @type boolean
+     */
+    resizeFrame: true,
+
+    /**
+     * By default the frame is positioned exactly where the drag element is, so
+     * we use the cursor offset provided by YAHOO.util.DD.  Another option that works only if
+     * you do not have constraints on the obj is to have the drag frame centered
+     * around the cursor.  Set centerFrame to true for this effect.
+     * @property centerFrame
+     * @type boolean
+     */
+    centerFrame: false,
+
+    /**
+     * Creates the proxy element if it does not yet exist
+     * @method createFrame
+     */
+    createFrame: function() {
+        var self=this, body=document.body;
+
+        if (!body || !body.firstChild) {
+            setTimeout( function() { self.createFrame(); }, 50 );
+            return;
+        }
+
+        var div=this.getDragEl(), Dom=YAHOO.util.Dom;
+
+        if (!div) {
+            div    = document.createElement("div");
+            div.id = this.dragElId;
+            var s  = div.style;
+
+            s.position   = "absolute";
+            s.visibility = "hidden";
+            s.cursor     = "move";
+            s.border     = "2px solid #aaa";
+            s.zIndex     = 999;
+            s.height     = "25px";
+            s.width      = "25px";
+
+            var _data = document.createElement('div');
+            Dom.setStyle(_data, 'height', '100%');
+            Dom.setStyle(_data, 'width', '100%');
+            /**
+            * If the proxy element has no background-color, then it is considered to the "transparent" by Internet Explorer.
+            * Since it is "transparent" then the events pass through it to the iframe below.
+            * So creating a "fake" div inside the proxy element and giving it a background-color, then setting it to an
+            * opacity of 0, it appears to not be there, however IE still thinks that it is so the events never pass through.
+            */
+            Dom.setStyle(_data, 'background-color', '#ccc');
+            Dom.setStyle(_data, 'opacity', '0');
+            div.appendChild(_data);
+
+            // appendChild can blow up IE if invoked prior to the window load event
+            // while rendering a table.  It is possible there are other scenarios 
+            // that would cause this to happen as well.
+            body.insertBefore(div, body.firstChild);
+        }
+    },
+
+    /**
+     * Initialization for the drag frame element.  Must be called in the
+     * constructor of all subclasses
+     * @method initFrame
+     */
+    initFrame: function() {
+        this.createFrame();
+    },
+
+    applyConfig: function() {
+        YAHOO.util.DDProxy.superclass.applyConfig.call(this);
+
+        this.resizeFrame = (this.config.resizeFrame !== false);
+        this.centerFrame = (this.config.centerFrame);
+        this.setDragElId(this.config.dragElId || YAHOO.util.DDProxy.dragElId);
+    },
+
+    /**
+     * Resizes the drag frame to the dimensions of the clicked object, positions 
+     * it over the object, and finally displays it
+     * @method showFrame
+     * @param {int} iPageX X click position
+     * @param {int} iPageY Y click position
+     * @private
+     */
+    showFrame: function(iPageX, iPageY) {
+        var el = this.getEl();
+        var dragEl = this.getDragEl();
+        var s = dragEl.style;
+
+        this._resizeProxy();
+
+        if (this.centerFrame) {
+            this.setDelta( Math.round(parseInt(s.width,  10)/2), 
+                           Math.round(parseInt(s.height, 10)/2) );
+        }
+
+        this.setDragElPos(iPageX, iPageY);
+
+        YAHOO.util.Dom.setStyle(dragEl, "visibility", "visible"); 
+    },
+
+    /**
+     * The proxy is automatically resized to the dimensions of the linked
+     * element when a drag is initiated, unless resizeFrame is set to false
+     * @method _resizeProxy
+     * @private
+     */
+    _resizeProxy: function() {
+        if (this.resizeFrame) {
+            var DOM    = YAHOO.util.Dom;
+            var el     = this.getEl();
+            var dragEl = this.getDragEl();
+
+            var bt = parseInt( DOM.getStyle(dragEl, "borderTopWidth"    ), 10);
+            var br = parseInt( DOM.getStyle(dragEl, "borderRightWidth"  ), 10);
+            var bb = parseInt( DOM.getStyle(dragEl, "borderBottomWidth" ), 10);
+            var bl = parseInt( DOM.getStyle(dragEl, "borderLeftWidth"   ), 10);
+
+            if (isNaN(bt)) { bt = 0; }
+            if (isNaN(br)) { br = 0; }
+            if (isNaN(bb)) { bb = 0; }
+            if (isNaN(bl)) { bl = 0; }
+
+
+            var newWidth  = Math.max(0, el.offsetWidth  - br - bl);                                                                                           
+            var newHeight = Math.max(0, el.offsetHeight - bt - bb);
+
+
+            DOM.setStyle( dragEl, "width",  newWidth  + "px" );
+            DOM.setStyle( dragEl, "height", newHeight + "px" );
+        }
+    },
+
+    // overrides YAHOO.util.DragDrop
+    b4MouseDown: function(e) {
+        this.setStartPosition();
+        var x = YAHOO.util.Event.getPageX(e);
+        var y = YAHOO.util.Event.getPageY(e);
+        this.autoOffset(x, y);
+
+        // This causes the autoscroll code to kick off, which means autoscroll can
+        // happen prior to the check for a valid drag handle.
+        // this.setDragElPos(x, y);
+    },
+
+    // overrides YAHOO.util.DragDrop
+    b4StartDrag: function(x, y) {
+        // show the drag frame
+        this.showFrame(x, y);
+    },
+
+    // overrides YAHOO.util.DragDrop
+    b4EndDrag: function(e) {
+        YAHOO.util.Dom.setStyle(this.getDragEl(), "visibility", "hidden"); 
+    },
+
+    // overrides YAHOO.util.DragDrop
+    // By default we try to move the element to the last location of the frame.  
+    // This is so that the default behavior mirrors that of YAHOO.util.DD.  
+    endDrag: function(e) {
+        var DOM = YAHOO.util.Dom;
+        var lel = this.getEl();
+        var del = this.getDragEl();
+
+        // Show the drag frame briefly so we can get its position
+        // del.style.visibility = "";
+        DOM.setStyle(del, "visibility", ""); 
+
+        // Hide the linked element before the move to get around a Safari 
+        // rendering bug.
+        //lel.style.visibility = "hidden";
+        DOM.setStyle(lel, "visibility", "hidden"); 
+        YAHOO.util.DDM.moveToEl(lel, del);
+        //del.style.visibility = "hidden";
+        DOM.setStyle(del, "visibility", "hidden"); 
+        //lel.style.visibility = "";
+        DOM.setStyle(lel, "visibility", ""); 
+    },
+
+    toString: function() {
+        return ("DDProxy " + this.id);
+    }
+/**
+* @event mouseDownEvent
+* @description Provides access to the mousedown event. The mousedown does not always result in a drag operation.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event b4MouseDownEvent
+* @description Provides access to the mousedown event, before the mouseDownEvent gets fired. Returning false will cancel the drag.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event mouseUpEvent
+* @description Fired from inside DragDropMgr when the drag operation is finished.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event b4StartDragEvent
+* @description Fires before the startDragEvent, returning false will cancel the startDrag Event.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event startDragEvent
+* @description Occurs after a mouse down and the drag threshold has been met. The drag threshold default is either 3 pixels of mouse movement or 1 full second of holding the mousedown. 
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event b4EndDragEvent
+* @description Fires before the endDragEvent. Returning false will cancel.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event endDragEvent
+* @description Fires on the mouseup event after a drag has been initiated (startDrag fired).
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+/**
+* @event dragEvent
+* @description Occurs every mousemove event while dragging.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event b4DragEvent
+* @description Fires before the dragEvent.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event invalidDropEvent
+* @description Fires when the dragged objects is dropped in a location that contains no drop targets.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event b4DragOutEvent
+* @description Fires before the dragOutEvent
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event dragOutEvent
+* @description Fires when a dragged object is no longer over an object that had the onDragEnter fire. 
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event dragEnterEvent
+* @description Occurs when the dragged object first interacts with another targettable drag and drop object.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event b4DragOverEvent
+* @description Fires before the dragOverEvent.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event dragOverEvent
+* @description Fires every mousemove event while over a drag and drop object.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event b4DragDropEvent 
+* @description Fires before the dragDropEvent
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+/**
+* @event dragDropEvent
+* @description Fires when the dragged objects is dropped on another.
+* @type YAHOO.util.CustomEvent See <a href="YAHOO.util.Element.html#addListener">Element.addListener</a> for more information on listening for this event.
+*/
+
+});
+/**
+ * A DragDrop implementation that does not move, but can be a drop 
+ * target.  You would get the same result by simply omitting implementation 
+ * for the event callbacks, but this way we reduce the processing cost of the 
+ * event listener and the callbacks.
+ * @class DDTarget
+ * @extends YAHOO.util.DragDrop 
+ * @constructor
+ * @param {String} id the id of the element that is a drop target
+ * @param {String} sGroup the group of related DragDrop objects
+ * @param {object} config an object containing configurable attributes
+ *                 Valid properties for DDTarget in addition to those in 
+ *                 DragDrop: 
+ *                    none
+ */
+YAHOO.util.DDTarget = function(id, sGroup, config) {
+    if (id) {
+        this.initTarget(id, sGroup, config);
+    }
+};
+
+// YAHOO.util.DDTarget.prototype = new YAHOO.util.DragDrop();
+YAHOO.extend(YAHOO.util.DDTarget, YAHOO.util.DragDrop, {
+    toString: function() {
+        return ("DDTarget " + this.id);
+    }
+});
+YAHOO.register("dragdrop", YAHOO.util.DragDropMgr, {version: "2.8.0r4", build: "2449"});

Property changes on: tags/2.8.2/wb/include/yui/dragdrop/dragdrop.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/yui/dragdrop/index.php
===================================================================
--- tags/2.8.2/wb/include/yui/dragdrop/index.php	(nonexistent)
+++ tags/2.8.2/wb/include/yui/dragdrop/index.php	(revision 1481)
@@ -0,0 +1,22 @@
+<?php
+
+/**
+ *
+ * @category        framework
+ * @package         yui
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+header("Location: ../../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/yui/dragdrop/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/yui/dragdrop/dragdrop-min.js
===================================================================
--- tags/2.8.2/wb/include/yui/dragdrop/dragdrop-min.js	(nonexistent)
+++ tags/2.8.2/wb/include/yui/dragdrop/dragdrop-min.js	(revision 1481)
@@ -0,0 +1,10 @@
+/*
+Copyright (c) 2009, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.8.0r4
+*/
+if(!YAHOO.util.DragDropMgr){YAHOO.util.DragDropMgr=function(){var A=YAHOO.util.Event,B=YAHOO.util.Dom;return{useShim:false,_shimActive:false,_shimState:false,_debugShim:false,_createShim:function(){var C=document.createElement("div");C.id="yui-ddm-shim";if(document.body.firstChild){document.body.insertBefore(C,document.body.firstChild);}else{document.body.appendChild(C);}C.style.display="none";C.style.backgroundColor="red";C.style.position="absolute";C.style.zIndex="99999";B.setStyle(C,"opacity","0");this._shim=C;A.on(C,"mouseup",this.handleMouseUp,this,true);A.on(C,"mousemove",this.handleMouseMove,this,true);A.on(window,"scroll",this._sizeShim,this,true);},_sizeShim:function(){if(this._shimActive){var C=this._shim;C.style.height=B.getDocumentHeight()+"px";C.style.width=B.getDocumentWidth()+"px";C.style.top="0";C.style.left="0";}},_activateShim:function(){if(this.useShim){if(!this._shim){this._createShim();}this._shimActive=true;var C=this._shim,D="0";if(this._debugShim){D=".5";}B.setStyle(C,"opacity",D);this._sizeShim();C.style.display="block";}},_deactivateShim:function(){this._shim.style.display="none";this._shimActive=false;},_shim:null,ids:{},handleIds:{},dragCurrent:null,dragOvers:{},deltaX:0,deltaY:0,preventDefault:true,stopPropagation:true,initialized:false,locked:false,interactionInfo:null,init:function(){this.initialized=true;},POINT:0,INTERSECT:1,STRICT_INTERSECT:2,mode:0,_execOnAll:function(E,D){for(var F in this.ids){for(var C in this.ids[F]){var G=this.ids[F][C];if(!this.isTypeOfDD(G)){continue;}G[E].apply(G,D);}}},_onLoad:function(){this.init();A.on(document,"mouseup",this.handleMouseUp,this,true);A.on(document,"mousemove",this.handleMouseMove,this,true);A.on(window,"unload",this._onUnload,this,true);A.on(window,"resize",this._onResize,this,true);},_onResize:function(C){this._execOnAll("resetConstraints",[]);},lock:function(){this.locked=true;},unlock:function(){this.locked=false;},isLocked:function(){return this.locked;},locationCache:{},useCache:true,clickPixelThresh:3,clickTimeThresh:1000,dragThreshMet:false,clickTimeout:null,startX:0,startY:0,fromTimeout:false,regDragDrop:function(D,C){if(!this.initialized){this.init();}if(!this.ids[C]){this.ids[C]={};}this.ids[C][D.id]=D;},removeDDFromGroup:function(E,C){if(!this.ids[C]){this.ids[C]={};}var D=this.ids[C];if(D&&D[E.id]){delete D[E.id];}},_remove:function(E){for(var D in E.groups){if(D){var C=this.ids[D];if(C&&C[E.id]){delete C[E.id];}}}delete this.handleIds[E.id];},regHandle:function(D,C){if(!this.handleIds[D]){this.handleIds[D]={};}this.handleIds[D][C]=C;},isDragDrop:function(C){return(this.getDDById(C))?true:false;},getRelated:function(H,D){var G=[];for(var F in H.groups){for(var E in this.ids[F]){var C=this.ids[F][E];if(!this.isTypeOfDD(C)){continue;}if(!D||C.isTarget){G[G.length]=C;}}}return G;},isLegalTarget:function(G,F){var D=this.getRelated(G,true);for(var E=0,C=D.length;E<C;++E){if(D[E].id==F.id){return true;}}return false;},isTypeOfDD:function(C){return(C&&C.__ygDragDrop);},isHandle:function(D,C){return(this.handleIds[D]&&this.handleIds[D][C]);},getDDById:function(D){for(var C in this.ids){if(this.ids[C][D]){return this.ids[C][D];}}return null;},handleMouseDown:function(E,D){this.currentTarget=YAHOO.util.Event.getTarget(E);this.dragCurrent=D;var C=D.getEl();this.startX=YAHOO.util.Event.getPageX(E);this.startY=YAHOO.util.Event.getPageY(E);this.deltaX=this.startX-C.offsetLeft;this.deltaY=this.startY-C.offsetTop;this.dragThreshMet=false;this.clickTimeout=setTimeout(function(){var F=YAHOO.util.DDM;F.startDrag(F.startX,F.startY);F.fromTimeout=true;},this.clickTimeThresh);},startDrag:function(C,E){if(this.dragCurrent&&this.dragCurrent.useShim){this._shimState=this.useShim;this.useShim=true;}this._activateShim();clearTimeout(this.clickTimeout);var D=this.dragCurrent;if(D&&D.events.b4StartDrag){D.b4StartDrag(C,E);D.fireEvent("b4StartDragEvent",{x:C,y:E});}if(D&&D.events.startDrag){D.startDrag(C,E);D.fireEvent("startDragEvent",{x:C,y:E});}this.dragThreshMet=true;},handleMouseUp:function(C){if(this.dragCurrent){clearTimeout(this.clickTimeout);if(this.dragThreshMet){if(this.fromTimeout){this.fromTimeout=false;this.handleMouseMove(C);}this.fromTimeout=false;this.fireEvents(C,true);}else{}this.stopDrag(C);this.stopEvent(C);}},stopEvent:function(C){if(this.stopPropagation){YAHOO.util.Event.stopPropagation(C);}if(this.preventDefault){YAHOO.util.Event.preventDefault(C);}},stopDrag:function(E,D){var C=this.dragCurrent;if(C&&!D){if(this.dragThreshMet){if(C.events.b4EndDrag){C.b4EndDrag(E);C.fireEvent("b4EndDragEvent",{e:E});}if(C.events.endDrag){C.endDrag(E);C.fireEvent("endDragEvent",{e:E});}}if(C.events.mouseUp){C.onMouseUp(E);C.fireEvent("mouseUpEvent",{e:E});}}if(this._shimActive){this._deactivateShim();if(this.dragCurrent&&this.dragCurrent.useShim){this.useShim=this._shimState;this._shimState=false;}}this.dragCurrent=null;this.dragOvers={};},handleMouseMove:function(F){var C=this.dragCurrent;if(C){if(YAHOO.util.Event.isIE&&!F.button){this.stopEvent(F);return this.handleMouseUp(F);}else{if(F.clientX<0||F.clientY<0){}}if(!this.dragThreshMet){var E=Math.abs(this.startX-YAHOO.util.Event.getPageX(F));var D=Math.abs(this.startY-YAHOO.util.Event.getPageY(F));if(E>this.clickPixelThresh||D>this.clickPixelThresh){this.startDrag(this.startX,this.startY);}}if(this.dragThreshMet){if(C&&C.events.b4Drag){C.b4Drag(F);C.fireEvent("b4DragEvent",{e:F});}if(C&&C.events.drag){C.onDrag(F);C.fireEvent("dragEvent",{e:F});}if(C){this.fireEvents(F,false);}}this.stopEvent(F);}},fireEvents:function(V,L){var a=this.dragCurrent;if(!a||a.isLocked()||a.dragOnly){return;}var N=YAHOO.util.Event.getPageX(V),M=YAHOO.util.Event.getPageY(V),P=new YAHOO.util.Point(N,M),K=a.getTargetCoord(P.x,P.y),F=a.getDragEl(),E=["out","over","drop","enter"],U=new YAHOO.util.Region(K.y,K.x+F.offsetWidth,K.y+F.offsetHeight,K.x),I=[],D={},Q=[],c={outEvts:[],overEvts:[],dropEvts:[],enterEvts:[]};for(var S in this.dragOvers){var d=this.dragOvers[S];if(!this.isTypeOfDD(d)){continue;
+}if(!this.isOverTarget(P,d,this.mode,U)){c.outEvts.push(d);}I[S]=true;delete this.dragOvers[S];}for(var R in a.groups){if("string"!=typeof R){continue;}for(S in this.ids[R]){var G=this.ids[R][S];if(!this.isTypeOfDD(G)){continue;}if(G.isTarget&&!G.isLocked()&&G!=a){if(this.isOverTarget(P,G,this.mode,U)){D[R]=true;if(L){c.dropEvts.push(G);}else{if(!I[G.id]){c.enterEvts.push(G);}else{c.overEvts.push(G);}this.dragOvers[G.id]=G;}}}}}this.interactionInfo={out:c.outEvts,enter:c.enterEvts,over:c.overEvts,drop:c.dropEvts,point:P,draggedRegion:U,sourceRegion:this.locationCache[a.id],validDrop:L};for(var C in D){Q.push(C);}if(L&&!c.dropEvts.length){this.interactionInfo.validDrop=false;if(a.events.invalidDrop){a.onInvalidDrop(V);a.fireEvent("invalidDropEvent",{e:V});}}for(S=0;S<E.length;S++){var Y=null;if(c[E[S]+"Evts"]){Y=c[E[S]+"Evts"];}if(Y&&Y.length){var H=E[S].charAt(0).toUpperCase()+E[S].substr(1),X="onDrag"+H,J="b4Drag"+H,O="drag"+H+"Event",W="drag"+H;if(this.mode){if(a.events[J]){a[J](V,Y,Q);a.fireEvent(J+"Event",{event:V,info:Y,group:Q});}if(a.events[W]){a[X](V,Y,Q);a.fireEvent(O,{event:V,info:Y,group:Q});}}else{for(var Z=0,T=Y.length;Z<T;++Z){if(a.events[J]){a[J](V,Y[Z].id,Q[0]);a.fireEvent(J+"Event",{event:V,info:Y[Z].id,group:Q[0]});}if(a.events[W]){a[X](V,Y[Z].id,Q[0]);a.fireEvent(O,{event:V,info:Y[Z].id,group:Q[0]});}}}}}},getBestMatch:function(E){var G=null;var D=E.length;if(D==1){G=E[0];}else{for(var F=0;F<D;++F){var C=E[F];if(this.mode==this.INTERSECT&&C.cursorIsOver){G=C;break;}else{if(!G||!G.overlap||(C.overlap&&G.overlap.getArea()<C.overlap.getArea())){G=C;}}}}return G;},refreshCache:function(D){var F=D||this.ids;for(var C in F){if("string"!=typeof C){continue;}for(var E in this.ids[C]){var G=this.ids[C][E];if(this.isTypeOfDD(G)){var H=this.getLocation(G);if(H){this.locationCache[G.id]=H;}else{delete this.locationCache[G.id];}}}}},verifyEl:function(D){try{if(D){var C=D.offsetParent;if(C){return true;}}}catch(E){}return false;},getLocation:function(H){if(!this.isTypeOfDD(H)){return null;}var F=H.getEl(),K,E,D,M,L,N,C,J,G;try{K=YAHOO.util.Dom.getXY(F);}catch(I){}if(!K){return null;}E=K[0];D=E+F.offsetWidth;M=K[1];L=M+F.offsetHeight;N=M-H.padding[0];C=D+H.padding[1];J=L+H.padding[2];G=E-H.padding[3];return new YAHOO.util.Region(N,C,J,G);},isOverTarget:function(K,C,E,F){var G=this.locationCache[C.id];if(!G||!this.useCache){G=this.getLocation(C);this.locationCache[C.id]=G;}if(!G){return false;}C.cursorIsOver=G.contains(K);var J=this.dragCurrent;if(!J||(!E&&!J.constrainX&&!J.constrainY)){return C.cursorIsOver;}C.overlap=null;if(!F){var H=J.getTargetCoord(K.x,K.y);var D=J.getDragEl();F=new YAHOO.util.Region(H.y,H.x+D.offsetWidth,H.y+D.offsetHeight,H.x);}var I=F.intersect(G);if(I){C.overlap=I;return(E)?true:C.cursorIsOver;}else{return false;}},_onUnload:function(D,C){this.unregAll();},unregAll:function(){if(this.dragCurrent){this.stopDrag();this.dragCurrent=null;}this._execOnAll("unreg",[]);this.ids={};},elementCache:{},getElWrapper:function(D){var C=this.elementCache[D];if(!C||!C.el){C=this.elementCache[D]=new this.ElementWrapper(YAHOO.util.Dom.get(D));}return C;},getElement:function(C){return YAHOO.util.Dom.get(C);},getCss:function(D){var C=YAHOO.util.Dom.get(D);return(C)?C.style:null;},ElementWrapper:function(C){this.el=C||null;this.id=this.el&&C.id;this.css=this.el&&C.style;},getPosX:function(C){return YAHOO.util.Dom.getX(C);},getPosY:function(C){return YAHOO.util.Dom.getY(C);},swapNode:function(E,C){if(E.swapNode){E.swapNode(C);}else{var F=C.parentNode;var D=C.nextSibling;if(D==E){F.insertBefore(E,C);}else{if(C==E.nextSibling){F.insertBefore(C,E);}else{E.parentNode.replaceChild(C,E);F.insertBefore(E,D);}}}},getScroll:function(){var E,C,F=document.documentElement,D=document.body;if(F&&(F.scrollTop||F.scrollLeft)){E=F.scrollTop;C=F.scrollLeft;}else{if(D){E=D.scrollTop;C=D.scrollLeft;}else{}}return{top:E,left:C};},getStyle:function(D,C){return YAHOO.util.Dom.getStyle(D,C);},getScrollTop:function(){return this.getScroll().top;},getScrollLeft:function(){return this.getScroll().left;},moveToEl:function(C,E){var D=YAHOO.util.Dom.getXY(E);YAHOO.util.Dom.setXY(C,D);},getClientHeight:function(){return YAHOO.util.Dom.getViewportHeight();},getClientWidth:function(){return YAHOO.util.Dom.getViewportWidth();},numericSort:function(D,C){return(D-C);},_timeoutCount:0,_addListeners:function(){var C=YAHOO.util.DDM;if(YAHOO.util.Event&&document){C._onLoad();}else{if(C._timeoutCount>2000){}else{setTimeout(C._addListeners,10);if(document&&document.body){C._timeoutCount+=1;}}}},handleWasClicked:function(C,E){if(this.isHandle(E,C.id)){return true;}else{var D=C.parentNode;while(D){if(this.isHandle(E,D.id)){return true;}else{D=D.parentNode;}}}return false;}};}();YAHOO.util.DDM=YAHOO.util.DragDropMgr;YAHOO.util.DDM._addListeners();}(function(){var A=YAHOO.util.Event;var B=YAHOO.util.Dom;YAHOO.util.DragDrop=function(E,C,D){if(E){this.init(E,C,D);}};YAHOO.util.DragDrop.prototype={events:null,on:function(){this.subscribe.apply(this,arguments);},id:null,config:null,dragElId:null,handleElId:null,invalidHandleTypes:null,invalidHandleIds:null,invalidHandleClasses:null,startPageX:0,startPageY:0,groups:null,locked:false,lock:function(){this.locked=true;},unlock:function(){this.locked=false;},isTarget:true,padding:null,dragOnly:false,useShim:false,_domRef:null,__ygDragDrop:true,constrainX:false,constrainY:false,minX:0,maxX:0,minY:0,maxY:0,deltaX:0,deltaY:0,maintainOffset:false,xTicks:null,yTicks:null,primaryButtonOnly:true,available:false,hasOuterHandles:false,cursorIsOver:false,overlap:null,b4StartDrag:function(C,D){},startDrag:function(C,D){},b4Drag:function(C){},onDrag:function(C){},onDragEnter:function(C,D){},b4DragOver:function(C){},onDragOver:function(C,D){},b4DragOut:function(C){},onDragOut:function(C,D){},b4DragDrop:function(C){},onDragDrop:function(C,D){},onInvalidDrop:function(C){},b4EndDrag:function(C){},endDrag:function(C){},b4MouseDown:function(C){},onMouseDown:function(C){},onMouseUp:function(C){},onAvailable:function(){},getEl:function(){if(!this._domRef){this._domRef=B.get(this.id);
+}return this._domRef;},getDragEl:function(){return B.get(this.dragElId);},init:function(F,C,D){this.initTarget(F,C,D);A.on(this._domRef||this.id,"mousedown",this.handleMouseDown,this,true);for(var E in this.events){this.createEvent(E+"Event");}},initTarget:function(E,C,D){this.config=D||{};this.events={};this.DDM=YAHOO.util.DDM;this.groups={};if(typeof E!=="string"){this._domRef=E;E=B.generateId(E);}this.id=E;this.addToGroup((C)?C:"default");this.handleElId=E;A.onAvailable(E,this.handleOnAvailable,this,true);this.setDragElId(E);this.invalidHandleTypes={A:"A"};this.invalidHandleIds={};this.invalidHandleClasses=[];this.applyConfig();},applyConfig:function(){this.events={mouseDown:true,b4MouseDown:true,mouseUp:true,b4StartDrag:true,startDrag:true,b4EndDrag:true,endDrag:true,drag:true,b4Drag:true,invalidDrop:true,b4DragOut:true,dragOut:true,dragEnter:true,b4DragOver:true,dragOver:true,b4DragDrop:true,dragDrop:true};if(this.config.events){for(var C in this.config.events){if(this.config.events[C]===false){this.events[C]=false;}}}this.padding=this.config.padding||[0,0,0,0];this.isTarget=(this.config.isTarget!==false);this.maintainOffset=(this.config.maintainOffset);this.primaryButtonOnly=(this.config.primaryButtonOnly!==false);this.dragOnly=((this.config.dragOnly===true)?true:false);this.useShim=((this.config.useShim===true)?true:false);},handleOnAvailable:function(){this.available=true;this.resetConstraints();this.onAvailable();},setPadding:function(E,C,F,D){if(!C&&0!==C){this.padding=[E,E,E,E];}else{if(!F&&0!==F){this.padding=[E,C,E,C];}else{this.padding=[E,C,F,D];}}},setInitPosition:function(F,E){var G=this.getEl();if(!this.DDM.verifyEl(G)){if(G&&G.style&&(G.style.display=="none")){}else{}return;}var D=F||0;var C=E||0;var H=B.getXY(G);this.initPageX=H[0]-D;this.initPageY=H[1]-C;this.lastPageX=H[0];this.lastPageY=H[1];this.setStartPosition(H);},setStartPosition:function(D){var C=D||B.getXY(this.getEl());this.deltaSetXY=null;this.startPageX=C[0];this.startPageY=C[1];},addToGroup:function(C){this.groups[C]=true;this.DDM.regDragDrop(this,C);},removeFromGroup:function(C){if(this.groups[C]){delete this.groups[C];}this.DDM.removeDDFromGroup(this,C);},setDragElId:function(C){this.dragElId=C;},setHandleElId:function(C){if(typeof C!=="string"){C=B.generateId(C);}this.handleElId=C;this.DDM.regHandle(this.id,C);},setOuterHandleElId:function(C){if(typeof C!=="string"){C=B.generateId(C);}A.on(C,"mousedown",this.handleMouseDown,this,true);this.setHandleElId(C);this.hasOuterHandles=true;},unreg:function(){A.removeListener(this.id,"mousedown",this.handleMouseDown);this._domRef=null;this.DDM._remove(this);},isLocked:function(){return(this.DDM.isLocked()||this.locked);},handleMouseDown:function(J,I){var D=J.which||J.button;if(this.primaryButtonOnly&&D>1){return;}if(this.isLocked()){return;}var C=this.b4MouseDown(J),F=true;if(this.events.b4MouseDown){F=this.fireEvent("b4MouseDownEvent",J);}var E=this.onMouseDown(J),H=true;if(this.events.mouseDown){H=this.fireEvent("mouseDownEvent",J);}if((C===false)||(E===false)||(F===false)||(H===false)){return;}this.DDM.refreshCache(this.groups);var G=new YAHOO.util.Point(A.getPageX(J),A.getPageY(J));if(!this.hasOuterHandles&&!this.DDM.isOverTarget(G,this)){}else{if(this.clickValidator(J)){this.setStartPosition();this.DDM.handleMouseDown(J,this);this.DDM.stopEvent(J);}else{}}},clickValidator:function(D){var C=YAHOO.util.Event.getTarget(D);return(this.isValidHandleChild(C)&&(this.id==this.handleElId||this.DDM.handleWasClicked(C,this.id)));},getTargetCoord:function(E,D){var C=E-this.deltaX;var F=D-this.deltaY;if(this.constrainX){if(C<this.minX){C=this.minX;}if(C>this.maxX){C=this.maxX;}}if(this.constrainY){if(F<this.minY){F=this.minY;}if(F>this.maxY){F=this.maxY;}}C=this.getTick(C,this.xTicks);F=this.getTick(F,this.yTicks);return{x:C,y:F};},addInvalidHandleType:function(C){var D=C.toUpperCase();this.invalidHandleTypes[D]=D;},addInvalidHandleId:function(C){if(typeof C!=="string"){C=B.generateId(C);}this.invalidHandleIds[C]=C;},addInvalidHandleClass:function(C){this.invalidHandleClasses.push(C);},removeInvalidHandleType:function(C){var D=C.toUpperCase();delete this.invalidHandleTypes[D];},removeInvalidHandleId:function(C){if(typeof C!=="string"){C=B.generateId(C);}delete this.invalidHandleIds[C];},removeInvalidHandleClass:function(D){for(var E=0,C=this.invalidHandleClasses.length;E<C;++E){if(this.invalidHandleClasses[E]==D){delete this.invalidHandleClasses[E];}}},isValidHandleChild:function(F){var E=true;var H;try{H=F.nodeName.toUpperCase();}catch(G){H=F.nodeName;}E=E&&!this.invalidHandleTypes[H];E=E&&!this.invalidHandleIds[F.id];for(var D=0,C=this.invalidHandleClasses.length;E&&D<C;++D){E=!B.hasClass(F,this.invalidHandleClasses[D]);}return E;},setXTicks:function(F,C){this.xTicks=[];this.xTickSize=C;var E={};for(var D=this.initPageX;D>=this.minX;D=D-C){if(!E[D]){this.xTicks[this.xTicks.length]=D;E[D]=true;}}for(D=this.initPageX;D<=this.maxX;D=D+C){if(!E[D]){this.xTicks[this.xTicks.length]=D;E[D]=true;}}this.xTicks.sort(this.DDM.numericSort);},setYTicks:function(F,C){this.yTicks=[];this.yTickSize=C;var E={};for(var D=this.initPageY;D>=this.minY;D=D-C){if(!E[D]){this.yTicks[this.yTicks.length]=D;E[D]=true;}}for(D=this.initPageY;D<=this.maxY;D=D+C){if(!E[D]){this.yTicks[this.yTicks.length]=D;E[D]=true;}}this.yTicks.sort(this.DDM.numericSort);},setXConstraint:function(E,D,C){this.leftConstraint=parseInt(E,10);this.rightConstraint=parseInt(D,10);this.minX=this.initPageX-this.leftConstraint;this.maxX=this.initPageX+this.rightConstraint;if(C){this.setXTicks(this.initPageX,C);}this.constrainX=true;},clearConstraints:function(){this.constrainX=false;this.constrainY=false;this.clearTicks();},clearTicks:function(){this.xTicks=null;this.yTicks=null;this.xTickSize=0;this.yTickSize=0;},setYConstraint:function(C,E,D){this.topConstraint=parseInt(C,10);this.bottomConstraint=parseInt(E,10);this.minY=this.initPageY-this.topConstraint;this.maxY=this.initPageY+this.bottomConstraint;if(D){this.setYTicks(this.initPageY,D);
+}this.constrainY=true;},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var D=(this.maintainOffset)?this.lastPageX-this.initPageX:0;var C=(this.maintainOffset)?this.lastPageY-this.initPageY:0;this.setInitPosition(D,C);}else{this.setInitPosition();}if(this.constrainX){this.setXConstraint(this.leftConstraint,this.rightConstraint,this.xTickSize);}if(this.constrainY){this.setYConstraint(this.topConstraint,this.bottomConstraint,this.yTickSize);}},getTick:function(I,F){if(!F){return I;}else{if(F[0]>=I){return F[0];}else{for(var D=0,C=F.length;D<C;++D){var E=D+1;if(F[E]&&F[E]>=I){var H=I-F[D];var G=F[E]-I;return(G>H)?F[D]:F[E];}}return F[F.length-1];}}},toString:function(){return("DragDrop "+this.id);}};YAHOO.augment(YAHOO.util.DragDrop,YAHOO.util.EventProvider);})();YAHOO.util.DD=function(C,A,B){if(C){this.init(C,A,B);}};YAHOO.extend(YAHOO.util.DD,YAHOO.util.DragDrop,{scroll:true,autoOffset:function(C,B){var A=C-this.startPageX;var D=B-this.startPageY;this.setDelta(A,D);},setDelta:function(B,A){this.deltaX=B;this.deltaY=A;},setDragElPos:function(C,B){var A=this.getDragEl();this.alignElWithMouse(A,C,B);},alignElWithMouse:function(C,G,F){var E=this.getTargetCoord(G,F);if(!this.deltaSetXY){var H=[E.x,E.y];YAHOO.util.Dom.setXY(C,H);var D=parseInt(YAHOO.util.Dom.getStyle(C,"left"),10);var B=parseInt(YAHOO.util.Dom.getStyle(C,"top"),10);this.deltaSetXY=[D-E.x,B-E.y];}else{YAHOO.util.Dom.setStyle(C,"left",(E.x+this.deltaSetXY[0])+"px");YAHOO.util.Dom.setStyle(C,"top",(E.y+this.deltaSetXY[1])+"px");}this.cachePosition(E.x,E.y);var A=this;setTimeout(function(){A.autoScroll.call(A,E.x,E.y,C.offsetHeight,C.offsetWidth);},0);},cachePosition:function(B,A){if(B){this.lastPageX=B;this.lastPageY=A;}else{var C=YAHOO.util.Dom.getXY(this.getEl());this.lastPageX=C[0];this.lastPageY=C[1];}},autoScroll:function(J,I,E,K){if(this.scroll){var L=this.DDM.getClientHeight();var B=this.DDM.getClientWidth();var N=this.DDM.getScrollTop();var D=this.DDM.getScrollLeft();var H=E+I;var M=K+J;var G=(L+N-I-this.deltaY);var F=(B+D-J-this.deltaX);var C=40;var A=(document.all)?80:30;if(H>L&&G<C){window.scrollTo(D,N+A);}if(I<N&&N>0&&I-N<C){window.scrollTo(D,N-A);}if(M>B&&F<C){window.scrollTo(D+A,N);}if(J<D&&D>0&&J-D<C){window.scrollTo(D-A,N);}}},applyConfig:function(){YAHOO.util.DD.superclass.applyConfig.call(this);this.scroll=(this.config.scroll!==false);},b4MouseDown:function(A){this.setStartPosition();this.autoOffset(YAHOO.util.Event.getPageX(A),YAHOO.util.Event.getPageY(A));},b4Drag:function(A){this.setDragElPos(YAHOO.util.Event.getPageX(A),YAHOO.util.Event.getPageY(A));},toString:function(){return("DD "+this.id);}});YAHOO.util.DDProxy=function(C,A,B){if(C){this.init(C,A,B);this.initFrame();}};YAHOO.util.DDProxy.dragElId="ygddfdiv";YAHOO.extend(YAHOO.util.DDProxy,YAHOO.util.DD,{resizeFrame:true,centerFrame:false,createFrame:function(){var B=this,A=document.body;if(!A||!A.firstChild){setTimeout(function(){B.createFrame();},50);return;}var F=this.getDragEl(),E=YAHOO.util.Dom;if(!F){F=document.createElement("div");F.id=this.dragElId;var D=F.style;D.position="absolute";D.visibility="hidden";D.cursor="move";D.border="2px solid #aaa";D.zIndex=999;D.height="25px";D.width="25px";var C=document.createElement("div");E.setStyle(C,"height","100%");E.setStyle(C,"width","100%");E.setStyle(C,"background-color","#ccc");E.setStyle(C,"opacity","0");F.appendChild(C);A.insertBefore(F,A.firstChild);}},initFrame:function(){this.createFrame();},applyConfig:function(){YAHOO.util.DDProxy.superclass.applyConfig.call(this);this.resizeFrame=(this.config.resizeFrame!==false);this.centerFrame=(this.config.centerFrame);this.setDragElId(this.config.dragElId||YAHOO.util.DDProxy.dragElId);},showFrame:function(E,D){var C=this.getEl();var A=this.getDragEl();var B=A.style;this._resizeProxy();if(this.centerFrame){this.setDelta(Math.round(parseInt(B.width,10)/2),Math.round(parseInt(B.height,10)/2));}this.setDragElPos(E,D);YAHOO.util.Dom.setStyle(A,"visibility","visible");},_resizeProxy:function(){if(this.resizeFrame){var H=YAHOO.util.Dom;var B=this.getEl();var C=this.getDragEl();var G=parseInt(H.getStyle(C,"borderTopWidth"),10);var I=parseInt(H.getStyle(C,"borderRightWidth"),10);var F=parseInt(H.getStyle(C,"borderBottomWidth"),10);var D=parseInt(H.getStyle(C,"borderLeftWidth"),10);if(isNaN(G)){G=0;}if(isNaN(I)){I=0;}if(isNaN(F)){F=0;}if(isNaN(D)){D=0;}var E=Math.max(0,B.offsetWidth-I-D);var A=Math.max(0,B.offsetHeight-G-F);H.setStyle(C,"width",E+"px");H.setStyle(C,"height",A+"px");}},b4MouseDown:function(B){this.setStartPosition();var A=YAHOO.util.Event.getPageX(B);var C=YAHOO.util.Event.getPageY(B);this.autoOffset(A,C);},b4StartDrag:function(A,B){this.showFrame(A,B);},b4EndDrag:function(A){YAHOO.util.Dom.setStyle(this.getDragEl(),"visibility","hidden");},endDrag:function(D){var C=YAHOO.util.Dom;var B=this.getEl();var A=this.getDragEl();C.setStyle(A,"visibility","");C.setStyle(B,"visibility","hidden");YAHOO.util.DDM.moveToEl(B,A);C.setStyle(A,"visibility","hidden");C.setStyle(B,"visibility","");},toString:function(){return("DDProxy "+this.id);}});YAHOO.util.DDTarget=function(C,A,B){if(C){this.initTarget(C,A,B);}};YAHOO.extend(YAHOO.util.DDTarget,YAHOO.util.DragDrop,{toString:function(){return("DDTarget "+this.id);}});YAHOO.register("dragdrop",YAHOO.util.DragDropMgr,{version:"2.8.0r4",build:"2449"});
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/yui/dragdrop/dragdrop-min.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/yui/dragdrop/README
===================================================================
--- tags/2.8.2/wb/include/yui/dragdrop/README	(nonexistent)
+++ tags/2.8.2/wb/include/yui/dragdrop/README	(revision 1481)
@@ -0,0 +1,162 @@
+Drag and Drop Release Notes
+
+2.4.1
+No change
+
+2.4.0
+  * Added configuration option called "dragOnly". If dragOnly is set to true,
+    all event in the fireEvents method will not fire. These events are:
+        onInvalidDrop
+        b4DragOut & onDragOut
+        onDragEnter
+        b4DragOver & onDragOver
+        b4DragDrop & onDragDrop
+    This config option should be used to drag elements that have no need for
+        drop interaction. They are elements that just need to move.
+
+2.3.1
+  * No change
+
+2.3.0
+  * YAHOO.util.DragDropMgr.stopDrag is now public, and can be used to cancel
+    a drag in progress.  An optional "silent" flag was added to skip the
+    onMouseUp and endDrag functions when needed (eliminating the need to
+    supply mouseup page coordinates to these functions).
+  * DDProxy: the position of the proxy is not set before the drag is confirmed,
+    preventing auto-scroll from distrupting the user experience.
+  * Modified the default proxy so that IE properly registers the proxy as
+    the event target during the drag.
+  * If a dd instance is created using a dom reference rather than an id, that
+    reference is stored and used throughout making it possible to control
+    instances outside the current window.
+  * The document mousemove listener no longer returns true.
+
+2.2.2
+  * No change
+
+2.2.1
+
+  * Added YAHOO.util.DragDropMgr.interactionInfo, which is
+    a repository of interaction information accumulated during
+    the current event loop result, and accessible from the
+    handlers for the events.
+  * The region for the dragged element is now cached while
+    processing the drag and drop events
+  * List example supports moving an item to an empty list
+  * Fixed missing html tags in the examples
+  * The debug version now works when included before the logger is included.
+
+2.2.0
+
+  * onMouseDown event is executed before element positions are calculated
+  * refreshCache refreshes everything if groups array is not provided
+  * setX/setYConstraint doesn't fail when presented ints cast as strings
+
+0.12.2
+
+  * No change
+
+0.12.1
+
+  * Added a STRICT_INTERSECT drag and drop interaction mode.  This alters the
+    behavior of DDM::getBestMatch.  INTERSECT mode first tests the cursor
+    location, and if it is over the target that target wins, otherwise it
+    tests the overlap of the elements.  STRICT_INTERSECT mode tests only 
+    the overlap, the largest overlap wins.
+
+  * getBestMatch will work for targeted elements that have no overlap.
+
+0.12.0
+
+   * The logic to determine if a drag should be initiated has been isolated
+     to the clickValidator method.  This method can be overridden to provide
+     custom valdiation logic.  For example, it is possible to specify hotspots
+     of any dimension or shape.  The provided example shows how to make only
+     a circular region in the middle of the element initiate a drag.
+
+   * Added a new drag and drop event: onInvalidDrop.  This is executed when
+     the dragged element in dropped in a location without a target.  Previously
+     this condition could only detected by implementing handlers for three 
+     other events.
+
+   * Now accepts an element reference in lieu of an id.  Ids will
+     be generated if the element does not have one.
+
+   * Fixed horizontal autoscroll when scrollTop is zero.
+
+   * Added hasOuterHandles property to bypass the isOverTarget check in the
+     mousedown validation routine.  Fixes setOuterHandleElId.
+
+0.11.4
+
+   * YAHOO.util.DragDropMgr.swapNode now handles adjacent nodes properly
+   
+   * Fixed missing variable declarations
+
+0.11.3
+ 
+   * Fixed a JavaScript error that would be generated when trying to implement
+     DDProxy using the default settings and a tiny element.
+
+   * Fixed an error that resulted when constraints were applied to DragDrop 
+     instances.
+
+0.11.2
+
+   * Drag and drop will no longer interfere with selecting text on elements
+     that are not involved in drag and drop.
+
+   * The shared drag and drop proxy element now resizes correctly when autoResize
+     is enabled.
+
+0.11.1
+
+   * Fixes an issue where the setXY cache could get out of sync if the element's
+     offsetParent is changed during onDragDrop.
+
+0.11.0
+
+   * The Dom.util.setXY calculation for the initial placement of the dragged
+     element is cached during the drag, enhancing the drag performance.
+
+   * DDProxy no longer enforces having a single proxy element for all instances.
+     dragElId can be set in the config object in the constructor.  If the
+     element already exists it will use that element, otherwise a new one will
+     be created with that id.
+
+   * DDProxy->borderWidth has been removed. The value is calculated on the fly
+     instead.
+
+   * Added DragDrop->clearTicks and DragDrop->clearConstraints
+
+   * All drag and drop constructors now have an additional, optional parameter
+     call "config".  It is an object that can contain properties for a
+     number of configuration settings.
+
+   * Drag and drop will not be disabled for elements that cannot have their
+     location determined.
+
+   * isLegalTarget won't return dd objects that are not targetable.
+
+   * Added DragDrop->removeFromGroup.
+
+   * Constraints are now applied properly when determining which drag and drop
+     events should fire.
+
+
+0.10.0
+
+   * Improved the performance when in intersect mode
+
+   * It was possible for the drag and drop initialization to be skipped
+     for very slow loading pages.  This was fixed.
+
+   * New methods to exclude regions within your drag and drop element: 
+     addInvalidHandleId(), addInvalidHandleClass()
+
+   * Added an onAvailable handler that is executed after the initial state is set.
+
+   * Drag and drop is more forgiving when the implementer attempts to create the
+     instance prior to the element being in the document, but after the window
+     load event has fired.
+

Property changes on: tags/2.8.2/wb/include/yui/dragdrop/README
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/yui/index.php
===================================================================
--- tags/2.8.2/wb/include/yui/index.php	(nonexistent)
+++ tags/2.8.2/wb/include/yui/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/yui/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/include/yui/License.txt
===================================================================
--- tags/2.8.2/wb/include/yui/License.txt	(nonexistent)
+++ tags/2.8.2/wb/include/yui/License.txt	(revision 1481)
@@ -0,0 +1,22 @@
+The actual License of Yahoo YUI
+are here :
+http://developer.yahoo.com/yui/license.html
+
+Software License Agreement (BSD License)
+Copyright (c) 2008, Yahoo! Inc.
+All rights reserved.
+Redistribution and use of this software in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+Redistributions of source code must retain the above copyright notice, this list of conditions and the
+following disclaimer.
+Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+Neither the name of Yahoo! Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission of Yahoo! Inc.
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Sources of Intellectual Property Included in the YUI Library
+Where not otherwise indicated, all YUI content is authored by Yahoo! engineers and consists of Yahoo!-owned intellectual property. YUI is issued by Yahoo! under the BSD license above. In some specific instances, YUI will incorporate work done by developers outside of Yahoo! with their express permission. In these instances, copyright is retained by the author; however, in the context of the YUI library it is issued under the BSD license.
+
+Below is the explicit list of external (non-Yahoo) sources of intellectual property in YUI:
+
+Douglas Crockford's JSON parsing and stringifying methods: In the JSON Utility, Douglas Crockford's JSON parsing and stringifying methods are adapted from work published at JSON.org. The adapted work is in the public domain.
+Robert Penner's animation-easing algorithms: In the Animation Utility, YUI makes use of Robert Penner's algorithms for easing.

Property changes on: tags/2.8.2/wb/include/yui/License.txt
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/yui/README
===================================================================
--- tags/2.8.2/wb/include/yui/README	(nonexistent)
+++ tags/2.8.2/wb/include/yui/README	(revision 1481)
@@ -0,0 +1,257 @@
+YUI Library Release Notes
+
+*** version 2.4.1 ***
+
+This release fixes a IE memory leak when attaching listeners
+to iframes/windows, as well as a few example updates.  Of the 
+YUI components, only event has changed since 2.4.0.
+
+*** version 2.4.0 ***
+
+This release introduces five new components into YUI:
+
+   * Selector
+   * Charts Widget
+   * Get Utility
+   * Profiler
+   * JSON Utility
+   
+These new components are introduced as "beta", with the exception of the Charts
+Widget which is released as an experimental component.  Please see the YUI FAQ
+on the definition of beta and experimental at:
+http://developer.yahoo.com/yui/articles/faq/#beta
+
+In addition to new components, you'll find updates and bug fixes throughout the
+library.
+
+*** version 2.3.1 ***
+
+This update contains general fixes to the YUI library.  Please see the README
+file for each component in the build directory for specific updates since
+version 2.3.0.
+
+*** version 2.3.0 ***
+
+This release introduces six new components into YUI:
+
+   * Base CSS
+   * Color Picker Control
+   * ImageLoader Utility
+   * Rich Text Editor
+   * YUI Loader Utility
+   * YUI Test Utility
+   
+These new components are introduced as "beta", with the exception of ImageLoader
+Utility which is released as an experimental component.  Please see the YUI 
+FAQ on the definition of beta and experimental at:
+http://developer.yahoo.com/yui/articles/faq/#beta
+
+In addition to new components, you'll find updates and bug fixes throughout the
+library.
+
+*** version 2.2.2 ***
+
+This update contains general fixes to the YUI library.  Please see the
+README file for each component in the build directory for specific updates since
+version 2.2.1.
+
+*** version 2.2.1 ***
+
+This update contains general fixes to the YUI library.  Please see the
+README file for each component in the build directory for specific updates since
+version 2.2.0.
+
+*** version 2.2.0 ***
+
+This release synchronizes the SourceForge version with Yahoo!'s version of YUI
+-- version number 2.2.0.  Please see the following blog article for information
+on this specific version increment at:
+http://www.yuiblog.com/blog/2007/02/20/yui-220-released
+
+The following new components are introduced with this release:
+
+   * Button
+   * DataTable
+   * Browser History Manager
+
+   The following components are now available as utilities:
+
+   * Element
+   * DataSource
+
+These new components are introduced as "beta", with the exception of Browser
+History Manager as an experimental component.  Please see the YUI FAQ on the
+definition of beta and experimental at:
+http://developer.yahoo.com/yui/articles/faq/#beta
+
+* CSS customizations *
+Calendar, Container, and Menu have been revised to allow image customizations
+through their respective CSS files.  Please refer to each component's README to
+see the full details on affected properties.
+
+Additional details for fixes and updates can be found in the README files for
+each updated component.  All YUI API cheatsheets have been updated for the
+current version and can be found at: yui/docs/assets/cheatsheets.zip.
+
+*** version 0.12.2 ***
+
+This update contains general fixes to the YUI library.  Please see the
+README file for each component in the build directory for specific updates since
+version 0.12.1.  As part of the 0.12.2 update, a number of corrections have been
+made to functional examples that were configured incorrectly in 0.12.1.
+
+*** version 0.12.1 ***
+
+This update contains general fixes to the YUI library.  Please see the
+README file for each component in the build directory for specific updates since
+version 0.12.0.
+
+Beginning with this release, all YUI minification will be performed with JSMin(
+http://www.crockford.com/javascript/jsmin.html).  Line breaks will be preserved.
+
+*** version 0.12.0 ***
+
+This version introduces the Tabview widget as well as general fixes to the YUI
+library.  Additional details can be found in the README files for each updated
+component.  All YUI API cheatsheets have been updated for the current version
+and can be found at: yui/docs/assets/cheatsheets.zip.
+
+* documentation *
+The YUI API documentation format is revised with this release.  This new
+format -- now a flat file structure under yui/docs/ -- implements the YUI
+AutoComplete widget on the main landing page to allow keyword searching of YUI.
+It also contains the full API documentation for all YUI components along with
+the following categories of data for each component(if applicable):
+
+* Inheritance hierarchy for extensions and subclasses.
+* YUI dependencies
+* Properties and methods
+* Events
+* Configuration attributes.
+
+* concatenated files *
+For convenience, three additional, minified variations of YUI are now available
+for your use:
+
+* reset-fonts-grids.css
+* yahoo-dom-event.js
+* utilities.js
+
+* API changes *
+There are interface changes to the Calendar widget.  Please see the 0.12.0
+Calendar upgrade guide at http:// developer.yahoo.com/yui/calendar/upgrade.html
+to see if this update affects your Calendar implementation and instructions on
+upgrading to version 0.12.0.
+
+
+*** version 0.11.4 ***
+
+This update contains some priority bug fixes to the following components:
+
+* Yahoo
+* Container
+* Drag and Drop
+* Event
+
+Additional details can be found in the README files for each updated component.
+
+*** version 0.11.3 ***
+
+This update contains general fixes to the YUI library.  Please see the
+README file for each component in the build directory for updates and fixes
+since version 0.11.2.
+
+*** version 0.11.2 ***
+
+This update contains a high-priority fix to Drag and Drop that prevents text
+selection.  Additional details can be found in the README file for:
+
+* Drag and Drop
+
+*** version 0.11.1 ***
+
+Release 0.11.1 addresses some high-priority bugs reported in the recently
+released version 0.11.0. Additional details can be found in the README files for
+each updated component:
+
+* Animation
+* Dom
+* Drag and Drop
+* Connection Manager
+* Container
+
+*** version 0.11.0 ***
+
+This version introduces the Logger widget.  The YUI cheatsheets for version
+0.11.0 and 0.10.0 are also included in this distribution under docs/assets.
+
+Please see the README file for each component in the build directory for
+updates and fixes since version 0.10.0.
+
+*** version 0.10.0 ***
+
+In this release, the directory structure has been modified to provide more
+component organization.  This is the new format:
+
+yui/
+  |
+  -- build/
+  | |
+  | -- dom/
+  | |
+  | | -- assets/
+  | |
+  | | -- dom.js
+  | |
+  -- docs/
+  | |
+  | -- dom/
+  | |
+  -- examples/
+  | |
+  | -- dom/
+  | |
+  | | -- img/
+
+Notice there are three immediate directories under the
+root YUI.  They are:
+
+*build/*
+This directory contains the source files for each YUI component, and each
+component is presented as a sub-directory under build/.  Notice that there are
+generally two source files: component.js and component-min.js.  The "component"
+source is the raw, commented build and "component-min" is the minified version
+of the same file with comments and whitespace removed.  With some components,
+there is an assets sub-directory.  CSS and image dependencies for each
+component are stored in its assets sub-directory.
+
+Note: If a component makes use of images, the image source path in the
+component's CSS file will point to Akamai.  The physical images are also
+available in the assets/ directory for local availability.  Please modify the
+CSS image references if you wish to use your own image assets.
+
+*docs/*
+This directory contains the jsdoc-generated API reference for every YUI
+component.  Each component is presented as a sub-directory under docs/.
+
+*examples/*
+This directory contains functional examples for each component in the YUI
+Library.  The examples are not part of the formal distribution; rather,
+they provide demonstrations of each component in use.  Each example uses YUI
+Library source files from the build/ directory, while all example-specific
+dependencies are stored in sub-directories (e.g. examples/dom/img).
+Some components, including the AutoComplete Control and Connection Manager,
+make use of PHP to implement certain examples.
+
+For example:
+In yui/examples/dom, the dom.js source file and all YUI .js dependencies
+are drawn from yui/build/ directories.  All other example-specific sources are
+stored as sub-directories: yui/examples/dom/css and yui/examples/dom/img.
+
+Each functional example is also available and functional on
+developer.yahoo.com/yui/.  They reproduced here as part of the distribution
+for your convenience.
+
+
+
+

Property changes on: tags/2.8.2/wb/include/yui/README
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/reg_syntax/html.js
===================================================================
--- tags/2.8.2/wb/include/editarea/reg_syntax/html.js	(nonexistent)
+++ tags/2.8.2/wb/include/editarea/reg_syntax/html.js	(revision 1481)
@@ -0,0 +1,51 @@
+/*
+* last update: 2006-08-24
+*/
+
+editAreaLoader.load_syntax["html"] = {
+	'DISPLAY_NAME' : 'HTML'
+	,'COMMENT_SINGLE' : {}
+	,'COMMENT_MULTI' : {'<!--' : '-->'}
+	,'QUOTEMARKS' : {1: "'", 2: '"'}
+	,'KEYWORD_CASE_SENSITIVE' : false
+	,'KEYWORDS' : {
+	}
+	,'OPERATORS' :[
+	]
+	,'DELIMITERS' :[
+	]
+	,'REGEXPS' : {
+		'doctype' : {
+			'search' : '()(<!DOCTYPE[^>]*>)()'
+			,'class' : 'doctype'
+			,'modifiers' : ''
+			,'execute' : 'before' // before or after
+		}
+		,'tags' : {
+			'search' : '(<)(/?[a-z][^ \r\n\t>]*)([^>]*>)'
+			,'class' : 'tags'
+			,'modifiers' : 'gi'
+			,'execute' : 'before' // before or after
+		}
+		,'attributes' : {
+			'search' : '( |\n|\r|\t)([^ \r\n\t=]+)(=)'
+			,'class' : 'attributes'
+			,'modifiers' : 'g'
+			,'execute' : 'before' // before or after
+		}
+	}
+	,'STYLES' : {
+		'COMMENTS': 'color: #AAAAAA;'
+		,'QUOTESMARKS': 'color: #6381F8;'
+		,'KEYWORDS' : {
+			}
+		,'OPERATORS' : 'color: #E775F0;'
+		,'DELIMITERS' : ''
+		,'REGEXPS' : {
+			'attributes': 'color: #B1AC41;'
+			,'tags': 'color: #E62253;'
+			,'doctype': 'color: #8DCFB5;'
+			,'test': 'color: #00FF00;'
+		}	
+	}		
+};

Property changes on: tags/2.8.2/wb/include/editarea/reg_syntax/html.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/reg_syntax/php.js
===================================================================
--- tags/2.8.2/wb/include/editarea/reg_syntax/php.js	(nonexistent)
+++ tags/2.8.2/wb/include/editarea/reg_syntax/php.js	(revision 1481)
@@ -0,0 +1,157 @@
+editAreaLoader.load_syntax["php"] = {
+	'DISPLAY_NAME' : 'Php'
+	,'COMMENT_SINGLE' : {1 : '//', 2 : '#'}
+	,'COMMENT_MULTI' : {'/*' : '*/'}
+	,'QUOTEMARKS' : {1: "'", 2: '"'}
+	,'KEYWORD_CASE_SENSITIVE' : false
+	,'KEYWORDS' : {
+		'statements' : [
+			'include', 'require', 'include_once', 'require_once',
+			'for', 'foreach', 'as', 'if', 'elseif', 'else', 'while', 'do', 'endwhile',
+            'endif', 'switch', 'case', 'endswitch',
+			'return', 'break', 'continue'
+		]
+		,'reserved' : [
+			'_GET', '_POST', '_SESSION', '_SERVER', '_FILES', '_ENV', '_COOKIE', '_REQUEST',
+			'null', '__LINE__', '__FILE__',
+			'false', '&lt;?php', '?&gt;', '&lt;?',
+			'&lt;script language', '&lt;/script&gt;',
+			'true', 'var', 'default',
+			'function', 'class', 'new', '&amp;new', 'this',
+			'__FUNCTION__', '__CLASS__', '__METHOD__', 'PHP_VERSION',
+			'PHP_OS', 'DEFAULT_INCLUDE_PATH', 'PEAR_INSTALL_DIR', 'PEAR_EXTENSION_DIR',
+			'PHP_EXTENSION_DIR', 'PHP_BINDIR', 'PHP_LIBDIR', 'PHP_DATADIR', 'PHP_SYSCONFDIR',
+			'PHP_LOCALSTATEDIR', 'PHP_CONFIG_FILE_PATH', 'PHP_OUTPUT_HANDLER_START', 'PHP_OUTPUT_HANDLER_CONT',
+			'PHP_OUTPUT_HANDLER_END', 'E_ERROR', 'E_WARNING', 'E_PARSE', 'E_NOTICE',
+			'E_CORE_ERROR', 'E_CORE_WARNING', 'E_COMPILE_ERROR', 'E_COMPILE_WARNING', 'E_USER_ERROR',
+			'E_USER_WARNING', 'E_USER_NOTICE', 'E_ALL'
+			
+		]
+		,'functions' : [
+			'func_num_args', 'func_get_arg', 'func_get_args', 'strlen', 'strcmp', 'strncmp', 'strcasecmp', 'strncasecmp', 'each', 'error_reporting', 'define', 'defined',
+			'trigger_error', 'user_error', 'set_error_handler', 'restore_error_handler', 'get_declared_classes', 'get_loaded_extensions',
+			'extension_loaded', 'get_extension_funcs', 'debug_backtrace',
+			'constant', 'bin2hex', 'sleep', 'usleep', 'time', 'mktime', 'gmmktime', 'strftime', 'gmstrftime', 'strtotime', 'date', 'gmdate', 'getdate', 'localtime', 'checkdate', 'flush', 'wordwrap', 'htmlspecialchars', 'htmlentities', 'html_entity_decode', 'md5', 'md5_file', 'crc32', 'getimagesize', 'image_type_to_mime_type', 'phpinfo', 'phpversion', 'phpcredits', 'strnatcmp', 'strnatcasecmp', 'substr_count', 'strspn', 'strcspn', 'strtok', 'strtoupper', 'strtolower', 'strpos', 'strrpos', 'strrev', 'hebrev', 'hebrevc', 'nl2br', 'basename', 'dirname', 'pathinfo', 'stripslashes', 'stripcslashes', 'strstr', 'stristr', 'strrchr', 'str_shuffle', 'str_word_count', 'strcoll', 'substr', 'substr_replace', 'quotemeta', 'ucfirst', 'ucwords', 'strtr', 'addslashes', 'addcslashes', 'rtrim', 'str_replace', 'str_repeat', 'count_chars', 'chunk_split', 'trim', 'ltrim', 'strip_tags', 'similar_text', 'explode', 'implode', 'setlocale', 'localeconv',
+			'parse_str', 'str_pad', 'chop', 'strchr', 'sprintf', 'printf', 'vprintf', 'vsprintf', 'sscanf', 'fscanf', 'parse_url', 'urlencode', 'urldecode', 'rawurlencode', 'rawurldecode', 'readlink', 'linkinfo', 'link', 'unlink', 'exec', 'system', 'escapeshellcmd', 'escapeshellarg', 'passthru', 'shell_exec', 'proc_open', 'proc_close', 'rand', 'srand', 'getrandmax', 'mt_rand', 'mt_srand', 'mt_getrandmax', 'base64_decode', 'base64_encode', 'abs', 'ceil', 'floor', 'round', 'is_finite', 'is_nan', 'is_infinite', 'bindec', 'hexdec', 'octdec', 'decbin', 'decoct', 'dechex', 'base_convert', 'number_format', 'fmod', 'ip2long', 'long2ip', 'getenv', 'putenv', 'getopt', 'microtime', 'gettimeofday', 'getrusage', 'uniqid', 'quoted_printable_decode', 'set_time_limit', 'get_cfg_var', 'magic_quotes_runtime', 'set_magic_quotes_runtime', 'get_magic_quotes_gpc', 'get_magic_quotes_runtime',
+			'import_request_variables', 'error_log', 'serialize', 'unserialize', 'memory_get_usage', 'var_dump', 'var_export', 'debug_zval_dump', 'print_r','highlight_file', 'show_source', 'highlight_string', 'ini_get', 'ini_get_all', 'ini_set', 'ini_alter', 'ini_restore', 'get_include_path', 'set_include_path', 'restore_include_path', 'setcookie', 'header', 'headers_sent', 'connection_aborted', 'connection_status', 'ignore_user_abort', 'parse_ini_file', 'is_uploaded_file', 'move_uploaded_file', 'intval', 'floatval', 'doubleval', 'strval', 'gettype', 'settype', 'is_null', 'is_resource', 'is_bool', 'is_long', 'is_float', 'is_int', 'is_integer', 'is_double', 'is_real', 'is_numeric', 'is_string', 'is_array', 'is_object', 'is_scalar',
+			'ereg', 'ereg_replace', 'eregi', 'eregi_replace', 'split', 'spliti', 'join', 'sql_regcase', 'dl', 'pclose', 'popen', 'readfile', 'rewind', 'rmdir', 'umask', 'fclose', 'feof', 'fgetc', 'fgets', 'fgetss', 'fread', 'fopen', 'fpassthru', 'ftruncate', 'fstat', 'fseek', 'ftell', 'fflush', 'fwrite', 'fputs', 'mkdir', 'rename', 'copy', 'tempnam', 'tmpfile', 'file', 'file_get_contents', 'stream_select', 'stream_context_create', 'stream_context_set_params', 'stream_context_set_option', 'stream_context_get_options', 'stream_filter_prepend', 'stream_filter_append', 'fgetcsv', 'flock', 'get_meta_tags', 'stream_set_write_buffer', 'set_file_buffer', 'set_socket_blocking', 'stream_set_blocking', 'socket_set_blocking', 'stream_get_meta_data', 'stream_register_wrapper', 'stream_wrapper_register', 'stream_set_timeout', 'socket_set_timeout', 'socket_get_status', 'realpath', 'fnmatch', 'fsockopen', 'pfsockopen', 'pack', 'unpack', 'get_browser', 'crypt', 'opendir', 'closedir', 'chdir', 'getcwd', 'rewinddir', 'readdir', 'dir', 'glob', 'fileatime', 'filectime', 'filegroup', 'fileinode', 'filemtime', 'fileowner', 'fileperms', 'filesize', 'filetype', 'file_exists', 'is_writable', 'is_writeable', 'is_readable', 'is_executable', 'is_file', 'is_dir', 'is_link', 'stat', 'lstat', 'chown',
+			'touch', 'clearstatcache', 'mail', 'ob_start', 'ob_flush', 'ob_clean', 'ob_end_flush', 'ob_end_clean', 'ob_get_flush', 'ob_get_clean', 'ob_get_length', 'ob_get_level', 'ob_get_status', 'ob_get_contents', 'ob_implicit_flush', 'ob_list_handlers', 'ksort', 'krsort', 'natsort', 'natcasesort', 'asort', 'arsort', 'sort', 'rsort', 'usort', 'uasort', 'uksort', 'shuffle', 'array_walk', 'count', 'end', 'prev', 'next', 'reset', 'current', 'key', 'min', 'max', 'in_array', 'array_search', 'extract', 'compact', 'array_fill', 'range', 'array_multisort', 'array_push', 'array_pop', 'array_shift', 'array_unshift', 'array_splice', 'array_slice', 'array_merge', 'array_merge_recursive', 'array_keys', 'array_values', 'array_count_values', 'array_reverse', 'array_reduce', 'array_pad', 'array_flip', 'array_change_key_case', 'array_rand', 'array_unique', 'array_intersect', 'array_intersect_assoc', 'array_diff', 'array_diff_assoc', 'array_sum', 'array_filter', 'array_map', 'array_chunk', 'array_key_exists', 'pos', 'sizeof', 'key_exists', 'assert', 'assert_options', 'version_compare', 'ftok', 'str_rot13', 'aggregate',
+			'session_name', 'session_module_name', 'session_save_path', 'session_id', 'session_regenerate_id', 'session_decode', 'session_register', 'session_unregister', 'session_is_registered', 'session_encode',
+			'session_start', 'session_destroy', 'session_unset', 'session_set_save_handler', 'session_cache_limiter', 'session_cache_expire', 'session_set_cookie_params', 'session_get_cookie_params', 'session_write_close', 'preg_match', 'preg_match_all', 'preg_replace', 'preg_replace_callback', 'preg_split', 'preg_quote', 'preg_grep', 'overload', 'ctype_alnum', 'ctype_alpha', 'ctype_cntrl', 'ctype_digit', 'ctype_lower', 'ctype_graph', 'ctype_print', 'ctype_punct', 'ctype_space', 'ctype_upper', 'ctype_xdigit', 'virtual', 'apache_request_headers', 'apache_note', 'apache_lookup_uri', 'apache_child_terminate', 'apache_setenv', 'apache_response_headers', 'apache_get_version', 'getallheaders', 'mysql_connect', 'mysql_pconnect', 'mysql_close', 'mysql_select_db', 'mysql_create_db', 'mysql_drop_db', 'mysql_query', 'mysql_unbuffered_query', 'mysql_db_query', 'mysql_list_dbs', 'mysql_list_tables', 'mysql_list_fields', 'mysql_list_processes', 'mysql_error', 'mysql_errno', 'mysql_affected_rows', 'mysql_insert_id', 'mysql_result', 'mysql_num_rows', 'mysql_num_fields', 'mysql_fetch_row', 'mysql_fetch_array', 'mysql_fetch_assoc', 'mysql_fetch_object', 'mysql_data_seek', 'mysql_fetch_lengths', 'mysql_fetch_field', 'mysql_field_seek', 'mysql_free_result', 'mysql_field_name', 'mysql_field_table', 'mysql_field_len', 'mysql_field_type', 'mysql_field_flags', 'mysql_escape_string', 'mysql_real_escape_string', 'mysql_stat',
+			'mysql_thread_id', 'mysql_client_encoding', 'mysql_get_client_info', 'mysql_get_host_info', 'mysql_get_proto_info', 'mysql_get_server_info', 'mysql_info', 'mysql', 'mysql_fieldname', 'mysql_fieldtable', 'mysql_fieldlen', 'mysql_fieldtype', 'mysql_fieldflags', 'mysql_selectdb', 'mysql_createdb', 'mysql_dropdb', 'mysql_freeresult', 'mysql_numfields', 'mysql_numrows', 'mysql_listdbs', 'mysql_listtables', 'mysql_listfields', 'mysql_db_name', 'mysql_dbname', 'mysql_tablename', 'mysql_table_name', 'pg_connect', 'pg_pconnect', 'pg_close', 'pg_connection_status', 'pg_connection_busy', 'pg_connection_reset', 'pg_host', 'pg_dbname', 'pg_port', 'pg_tty', 'pg_options', 'pg_ping', 'pg_query', 'pg_send_query', 'pg_cancel_query', 'pg_fetch_result', 'pg_fetch_row', 'pg_fetch_assoc', 'pg_fetch_array', 'pg_fetch_object', 'pg_fetch_all', 'pg_affected_rows', 'pg_get_result', 'pg_result_seek', 'pg_result_status', 'pg_free_result', 'pg_last_oid', 'pg_num_rows', 'pg_num_fields', 'pg_field_name', 'pg_field_num', 'pg_field_size', 'pg_field_type', 'pg_field_prtlen', 'pg_field_is_null', 'pg_get_notify', 'pg_get_pid', 'pg_result_error', 'pg_last_error', 'pg_last_notice', 'pg_put_line', 'pg_end_copy', 'pg_copy_to', 'pg_copy_from',
+			'pg_trace', 'pg_untrace', 'pg_lo_create', 'pg_lo_unlink', 'pg_lo_open', 'pg_lo_close', 'pg_lo_read', 'pg_lo_write', 'pg_lo_read_all', 'pg_lo_import', 'pg_lo_export', 'pg_lo_seek', 'pg_lo_tell', 'pg_escape_string', 'pg_escape_bytea', 'pg_unescape_bytea', 'pg_client_encoding', 'pg_set_client_encoding', 'pg_meta_data', 'pg_convert', 'pg_insert', 'pg_update', 'pg_delete', 'pg_select', 'pg_exec', 'pg_getlastoid', 'pg_cmdtuples', 'pg_errormessage', 'pg_numrows', 'pg_numfields', 'pg_fieldname', 'pg_fieldsize', 'pg_fieldtype', 'pg_fieldnum', 'pg_fieldprtlen', 'pg_fieldisnull', 'pg_freeresult', 'pg_result', 'pg_loreadall', 'pg_locreate', 'pg_lounlink', 'pg_loopen', 'pg_loclose', 'pg_loread', 'pg_lowrite', 'pg_loimport', 'pg_loexport',
+			'echo', 'print', 'global', 'static', 'exit', 'array', 'empty', 'eval', 'isset', 'unset', 'die'
+
+		]
+	}
+	,'OPERATORS' :[
+		'+', '-', '/', '*', '=', '<', '>', '%', '!', '&&', '||'
+	]
+	,'DELIMITERS' :[
+		'(', ')', '[', ']', '{', '}'
+	]
+	,'REGEXPS' : {
+		// highlight all variables ($...)
+		'variables' : {
+			'search' : '()(\\$\\w+)()'
+			,'class' : 'variables'
+			,'modifiers' : 'g'
+			,'execute' : 'before' // before or after
+		}
+	}
+	,'STYLES' : {
+		'COMMENTS': 'color: #AAAAAA;'
+		,'QUOTESMARKS': 'color: #879EFA;'
+		,'KEYWORDS' : {
+			'reserved' : 'color: #48BDDF;'
+			,'functions' : 'color: #0040FD;'
+			,'statements' : 'color: #60CA00;'
+			}
+		,'OPERATORS' : 'color: #FF00FF;'
+		,'DELIMITERS' : 'color: #2B60FF;'
+		,'REGEXPS' : {
+			'variables' : 'color: #E0BD54;'
+		}		
+	}
+	,'AUTO_COMPLETION' :  {
+		"default": {	// the name of this definition group. It's posisble to have different rules inside the same definition file
+			"REGEXP": { "before_word": "[^a-zA-Z0-9_]|^"	// \\s|\\.|
+						,"possible_words_letters": "[a-zA-Z0-9_\$]+"
+						,"letter_after_word_must_match": "[^a-zA-Z0-9_]|$"
+						,"prefix_separator": "\\-\\>|\\:\\:"
+					}
+			,"CASE_SENSITIVE": true
+			,"MAX_TEXT_LENGTH": 100		// the maximum length of the text being analyzed before the cursor position
+			,"KEYWORDS": {
+					'': [	// the prefix of thoses items
+						/**
+						 * 0 : the keyword the user is typing
+						 * 1 : (optionnal) the string inserted in code ("{@}" being the new position of the cursor, "Â§" beeing the equivalent to the value the typed string indicated if the previous )
+						 * 		If empty the keyword will be displayed
+						 * 2 : (optionnal) the text that appear in the suggestion box (if empty, the string to insert will be displayed)
+						 */
+						 ['$_POST']
+			    		,['$_GET']
+			    		,['$_SESSION']
+			    		,['$_SERVER']
+			    		,['$_FILES']
+			    		,['$_ENV']
+			    		,['$_COOKIE']
+			    		,['$_REQUEST']
+			    		// magic methods
+			    		,['__construct', 'Â§( {@} )']
+			    		,['__destruct', 'Â§( {@} )']
+			    		,['__sleep', 'Â§( {@} )']
+			    		,['__wakeup', 'Â§( {@} )']
+			    		,['__toString', 'Â§( {@} )']
+			    		// include
+			    		,['include', 'Â§ "{@}";']
+			    		,['include_once', 'Â§ "{@}";']
+			    		,['require', 'Â§ "{@}";']
+			    		,['require_once', 'Â§ "{@}";']
+			    		// statements
+			    		,['for', 'Â§( {@} )']
+			    		,['foreach', 'Â§( {@} )']
+			    		,['if', 'Â§( {@} )']
+			    		,['elseif', 'Â§( {@} )']
+			    		,['while', 'Â§( {@} )']
+			    		,['switch', 'Â§( {@} )']
+			    		,['break']
+			    		,['case']
+			    		,['continue']
+			    		,['do']
+			    		,['else']
+			    		,['endif']
+			    		,['endswitch']
+			    		,['endwhile']
+			    		,['return']
+			    		// function
+			    		,['unset', 'Â§( {@} )']
+					]
+				}
+			}
+		,"live": {	
+			
+			// class NAME: /class\W+([a-z]+)\W+/gi
+			// method: /^(public|private|protected)?\s*function\s+([a-z][a-z0-9\_]*)\s*(\([^\{]*\))/gmi
+			// static: /^(public|private|protected)?\s+static\s+(public|private|protected)?\s*function\s+([a-z][a-z0-9\_]*)\s*(\([^\{]*\))/gmi 
+			// attributes: /(\$this\-\>|(?:var|public|protected|private)\W+\$)([a-z0-9\_]+)(?!\()\b/gi 
+			// 		v1 : /(\$this\-\>|var\W+|public\W+|protected\W+|private\W+)([a-z0-9\_]+)\W*(=|;)/gi 
+			// var type: /(\$(this\-\>)?[a-z0-9\_]+)\s*\=\s*new\s+([a-z0-9\_])+/gi 
+			
+			
+			"REGEXP": { "before_word": "[^a-zA-Z0-9_]|^"	// \\s|\\.|
+						,"possible_words_letters": "[a-zA-Z0-9_\$]+"
+						,"letter_after_word_must_match": "[^a-zA-Z0-9_]|$"
+						,"prefix_separator": "\\-\\>"
+					}
+			,"CASE_SENSITIVE": true
+			,"MAX_TEXT_LENGTH": 100		// the maximum length of the text being analyzed before the cursor position
+			,"KEYWORDS": {
+					'$this': [	// the prefix of thoses items
+						['test']
+					]
+				}
+			}
+	}
+};

Property changes on: tags/2.8.2/wb/include/editarea/reg_syntax/php.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/reg_syntax/css.js
===================================================================
--- tags/2.8.2/wb/include/editarea/reg_syntax/css.js	(nonexistent)
+++ tags/2.8.2/wb/include/editarea/reg_syntax/css.js	(revision 1481)
@@ -0,0 +1,85 @@
+editAreaLoader.load_syntax["css"] = {
+	'DISPLAY_NAME' : 'CSS'
+	,'COMMENT_SINGLE' : {1 : '@'}
+	,'COMMENT_MULTI' : {'/*' : '*/'}
+	,'QUOTEMARKS' : ['"', "'"]
+	,'KEYWORD_CASE_SENSITIVE' : false
+	,'KEYWORDS' : {
+		'attributes' : [
+			'aqua', 'azimuth', 'background-attachment', 'background-color',
+			'background-image', 'background-position', 'background-repeat',
+			'background', 'border-bottom-color', 'border-bottom-style',
+			'border-bottom-width', 'border-left-color', 'border-left-style',
+			'border-left-width', 'border-right', 'border-right-color',
+			'border-right-style', 'border-right-width', 'border-top-color',
+			'border-top-style', 'border-top-width','border-bottom', 'border-collapse',
+			'border-left', 'border-width', 'border-color', 'border-spacing',
+			'border-style', 'border-top', 'border',  'caption-side',
+			'clear', 'clip', 'color', 'content', 'counter-increment', 'counter-reset',
+			'cue-after', 'cue-before', 'cue', 'cursor', 'direction', 'display',
+			'elevation', 'empty-cells', 'float', 'font-family', 'font-size',
+			'font-size-adjust', 'font-stretch', 'font-style', 'font-variant',
+			'font-weight', 'font', 'height', 'letter-spacing', 'line-height',
+			'list-style', 'list-style-image', 'list-style-position', 'list-style-type',
+			'margin-bottom', 'margin-left', 'margin-right', 'margin-top', 'margin',
+			'marker-offset', 'marks', 'max-height', 'max-width', 'min-height',
+			'min-width', 'opacity', 'orphans', 'outline', 'outline-color', 'outline-style',
+			'outline-width', 'overflow', 'padding-bottom', 'padding-left',
+			'padding-right', 'padding-top', 'padding', 'page', 'page-break-after',
+			'page-break-before', 'page-break-inside', 'pause-after', 'pause-before',
+			'pause', 'pitch', 'pitch-range',  'play-during', 'position', 'quotes',
+			'richness', 'right', 'size', 'speak-header', 'speak-numeral', 'speak-punctuation',
+			'speak', 'speech-rate', 'stress', 'table-layout', 'text-align', 'text-decoration',
+			'text-indent', 'text-shadow', 'text-transform', 'top', 'unicode-bidi',
+			'vertical-align', 'visibility', 'voice-family', 'volume', 'white-space', 'widows',
+			'width', 'word-spacing', 'z-index', 'bottom', 'left'
+		]
+		,'values' : [
+			'above', 'absolute', 'always', 'armenian', 'aural', 'auto', 'avoid',
+			'baseline', 'behind', 'below', 'bidi-override', 'black', 'blue', 'blink', 'block', 'bold', 'bolder', 'both',
+			'capitalize', 'center-left', 'center-right', 'center', 'circle', 'cjk-ideographic', 
+            'close-quote', 'collapse', 'condensed', 'continuous', 'crop', 'crosshair', 'cross', 'cursive',
+			'dashed', 'decimal-leading-zero', 'decimal', 'default', 'digits', 'disc', 'dotted', 'double',
+			'e-resize', 'embed', 'extra-condensed', 'extra-expanded', 'expanded',
+			'fantasy', 'far-left', 'far-right', 'faster', 'fast', 'fixed', 'fuchsia',
+			'georgian', 'gray', 'green', 'groove', 'hebrew', 'help', 'hidden', 'hide', 'higher',
+			'high', 'hiragana-iroha', 'hiragana', 'icon', 'inherit', 'inline-table', 'inline',
+			'inset', 'inside', 'invert', 'italic', 'justify', 'katakana-iroha', 'katakana',
+			'landscape', 'larger', 'large', 'left-side', 'leftwards', 'level', 'lighter', 'lime', 'line-through', 'list-item', 'loud', 'lower-alpha', 'lower-greek', 'lower-roman', 'lowercase', 'ltr', 'lower', 'low',
+			'maroon', 'medium', 'message-box', 'middle', 'mix', 'monospace',
+			'n-resize', 'narrower', 'navy', 'ne-resize', 'no-close-quote', 'no-open-quote', 'no-repeat', 'none', 'normal', 'nowrap', 'nw-resize',
+			'oblique', 'olive', 'once', 'open-quote', 'outset', 'outside', 'overline',
+			'pointer', 'portrait', 'purple', 'px',
+			'red', 'relative', 'repeat-x', 'repeat-y', 'repeat', 'rgb', 'ridge', 'right-side', 'rightwards',
+			's-resize', 'sans-serif', 'scroll', 'se-resize', 'semi-condensed', 'semi-expanded', 'separate', 'serif', 'show', 'silent', 'silver', 'slow', 'slower', 'small-caps', 'small-caption', 'smaller', 'soft', 'solid', 'spell-out', 'square',
+			'static', 'status-bar', 'super', 'sw-resize',
+			'table-caption', 'table-cell', 'table-column', 'table-column-group', 'table-footer-group', 'table-header-group', 'table-row', 'table-row-group', 'teal', 'text', 'text-bottom', 'text-top', 'thick', 'thin', 'transparent',
+			'ultra-condensed', 'ultra-expanded', 'underline', 'upper-alpha', 'upper-latin', 'upper-roman', 'uppercase', 'url',
+			'visible',
+			'w-resize', 'wait', 'white', 'wider',
+			'x-fast', 'x-high', 'x-large', 'x-loud', 'x-low', 'x-small', 'x-soft', 'xx-large', 'xx-small',
+			'yellow', 'yes'
+		]
+		,'specials' : [
+			'important'
+		]
+	}
+	,'OPERATORS' :[
+		':', ';', '!', '.', '#'
+	]
+	,'DELIMITERS' :[
+		'{', '}'
+	]
+	,'STYLES' : {
+		'COMMENTS': 'color: #AAAAAA;'
+		,'QUOTESMARKS': 'color: #6381F8;'
+		,'KEYWORDS' : {
+			'attributes' : 'color: #48BDDF;'
+			,'values' : 'color: #2B60FF;'
+			,'specials' : 'color: #FF0000;'
+			}
+		,'OPERATORS' : 'color: #FF00FF;'
+		,'DELIMITERS' : 'color: #60CA00;'
+				
+	}
+};

Property changes on: tags/2.8.2/wb/include/editarea/reg_syntax/css.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/reg_syntax/js.js
===================================================================
--- tags/2.8.2/wb/include/editarea/reg_syntax/js.js	(nonexistent)
+++ tags/2.8.2/wb/include/editarea/reg_syntax/js.js	(revision 1481)
@@ -0,0 +1,94 @@
+editAreaLoader.load_syntax["js"] = {
+	'DISPLAY_NAME' : 'Javascript'
+	,'COMMENT_SINGLE' : {1 : '//'}
+	,'COMMENT_MULTI' : {'/*' : '*/'}
+	,'QUOTEMARKS' : {1: "'", 2: '"'}
+	,'KEYWORD_CASE_SENSITIVE' : false
+	,'KEYWORDS' : {
+		'statements' : [
+			'as', 'break', 'case', 'catch', 'continue', 'decodeURI', 'delete', 'do',
+			'else', 'encodeURI', 'eval', 'finally', 'for', 'if', 'in', 'is', 'item',
+			'instanceof', 'return', 'switch', 'this', 'throw', 'try', 'typeof', 'void',
+			'while', 'write', 'with'
+		]
+ 		,'keywords' : [
+			'class', 'const', 'default', 'debugger', 'export', 'extends', 'false',
+			'function', 'import', 'namespace', 'new', 'null', 'package', 'private',
+			'protected', 'public', 'super', 'true', 'use', 'var', 'window', 'document',		
+			// the list below must be sorted and checked (if it is a keywords or a function and if it is not present twice
+			'Link ', 'outerHeight ', 'Anchor', 'FileUpload', 
+			'location', 'outerWidth', 'Select', 'Area', 'find', 'Location', 'Packages', 'self', 
+			'arguments', 'locationbar', 'pageXoffset', 'Form', 
+			'Math', 'pageYoffset', 'setTimeout', 'assign', 'Frame', 'menubar', 'parent', 'status', 
+			'blur', 'frames', 'MimeType', 'parseFloat', 'statusbar', 'Boolean', 'Function', 'moveBy', 
+			'parseInt', 'stop', 'Button', 'getClass', 'moveTo', 'Password', 'String', 'callee', 'Hidden', 
+			'name', 'personalbar', 'Submit', 'caller', 'history', 'NaN', 'Plugin', 'sun', 'captureEvents', 
+			'History', 'navigate', 'print', 'taint', 'Checkbox', 'home', 'navigator', 'prompt', 'Text', 
+			'Image', 'Navigator', 'prototype', 'Textarea', 'clearTimeout', 'Infinity', 
+			'netscape', 'Radio', 'toolbar', 'close', 'innerHeight', 'Number', 'ref', 'top', 'closed', 
+			'innerWidth', 'Object', 'RegExp', 'toString', 'confirm', 'isFinite', 'onBlur', 'releaseEvents', 
+			'unescape', 'constructor', 'isNan', 'onError', 'Reset', 'untaint', 'Date', 'java', 'onFocus', 
+			'resizeBy', 'unwatch', 'defaultStatus', 'JavaArray', 'onLoad', 'resizeTo', 'valueOf', 'document', 
+			'JavaClass', 'onUnload', 'routeEvent', 'watch', 'Document', 'JavaObject', 'open', 'scroll', 'window', 
+			'Element', 'JavaPackage', 'opener', 'scrollbars', 'Window', 'escape', 'length', 'Option', 'scrollBy'			
+		]
+    	,'functions' : [
+			// common functions for Window object
+			'alert', 'Array', 'back', 'blur', 'clearInterval', 'close', 'confirm', 'eval ', 'focus', 'forward', 'home',
+			'name', 'navigate', 'onblur', 'onerror', 'onfocus', 'onload', 'onmove',
+			'onresize', 'onunload', 'open', 'print', 'prompt', 'scroll', 'scrollTo', 'setInterval', 'status',
+			'stop' 
+		]
+	}
+	,'OPERATORS' :[
+		'+', '-', '/', '*', '=', '<', '>', '%', '!'
+	]
+	,'DELIMITERS' :[
+		'(', ')', '[', ']', '{', '}'
+	]
+	,'STYLES' : {
+		'COMMENTS': 'color: #AAAAAA;'
+		,'QUOTESMARKS': 'color: #6381F8;'
+		,'KEYWORDS' : {
+			'statements' : 'color: #60CA00;'
+			,'keywords' : 'color: #48BDDF;'
+			,'functions' : 'color: #2B60FF;'
+		}
+		,'OPERATORS' : 'color: #FF00FF;'
+		,'DELIMITERS' : 'color: #0038E1;'
+				
+	}
+	,'AUTO_COMPLETION' :  {
+		"default": {	// the name of this definition group. It's posisble to have different rules inside the same definition file
+			"REGEXP": { "before_word": "[^a-zA-Z0-9_]|^"	// \\s|\\.|
+						,"possible_words_letters": "[a-zA-Z0-9_]+"
+						,"letter_after_word_must_match": "[^a-zA-Z0-9_]|$"
+						,"prefix_separator": "\\."
+					}
+			,"CASE_SENSITIVE": true
+			,"MAX_TEXT_LENGTH": 100		// the maximum length of the text being analyzed before the cursor position
+			,"KEYWORDS": {
+				'': [	// the prefix of thoses items
+						/**
+						 * 0 : the keyword the user is typing
+						 * 1 : (optionnal) the string inserted in code ("{@}" being the new position of the cursor, "Â§" beeing the equivalent to the value the typed string indicated if the previous )
+						 * 		If empty the keyword will be displayed
+						 * 2 : (optionnal) the text that appear in the suggestion box (if empty, the string to insert will be displayed)
+						 */
+						 ['Array', 'Â§()', '']
+			    		,['alert', 'Â§({@})', 'alert(String message)']
+			    		,['document']
+			    		,['window']
+			    	]
+		    	,'window' : [
+			    		 ['location']
+			    		,['document']
+			    		,['scrollTo', 'scrollTo({@})', 'scrollTo(Int x,Int y)']
+					]
+		    	,'location' : [
+			    		 ['href']
+					]
+			}
+		}
+	}
+};

Property changes on: tags/2.8.2/wb/include/editarea/reg_syntax/js.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/reg_syntax/xml.js
===================================================================
--- tags/2.8.2/wb/include/editarea/reg_syntax/xml.js	(nonexistent)
+++ tags/2.8.2/wb/include/editarea/reg_syntax/xml.js	(revision 1481)
@@ -0,0 +1,57 @@
+/*
+* last update: 2006-08-24
+*/
+
+editAreaLoader.load_syntax["xml"] = {
+	'DISPLAY_NAME' : 'XML'
+	,'COMMENT_SINGLE' : {}
+	,'COMMENT_MULTI' : {'<!--' : '-->'}
+	,'QUOTEMARKS' : {1: "'", 2: '"'}
+	,'KEYWORD_CASE_SENSITIVE' : false
+	,'KEYWORDS' : {
+	}
+	,'OPERATORS' :[
+	]
+	,'DELIMITERS' :[
+	]
+	,'REGEXPS' : {
+		'xml' : {
+			'search' : '()(<\\?[^>]*?\\?>)()'
+			,'class' : 'xml'
+			,'modifiers' : 'g'
+			,'execute' : 'before' // before or after
+		}
+		,'cdatas' : {
+			'search' : '()(<!\\[CDATA\\[.*?\\]\\]>)()'
+			,'class' : 'cdata'
+			,'modifiers' : 'g'
+			,'execute' : 'before' // before or after
+		}
+		,'tags' : {
+			'search' : '(<)(/?[a-z][^ \r\n\t>]*)([^>]*>)'
+			,'class' : 'tags'
+			,'modifiers' : 'gi'
+			,'execute' : 'before' // before or after
+		}
+		,'attributes' : {
+			'search' : '( |\n|\r|\t)([^ \r\n\t=]+)(=)'
+			,'class' : 'attributes'
+			,'modifiers' : 'g'
+			,'execute' : 'before' // before or after
+		}
+	}
+	,'STYLES' : {
+		'COMMENTS': 'color: #AAAAAA;'
+		,'QUOTESMARKS': 'color: #6381F8;'
+		,'KEYWORDS' : {
+			}
+		,'OPERATORS' : 'color: #E775F0;'
+		,'DELIMITERS' : ''
+		,'REGEXPS' : {
+			'attributes': 'color: #B1AC41;'
+			,'tags': 'color: #E62253;'
+			,'xml': 'color: #8DCFB5;'
+			,'cdata': 'color: #50B020;'
+		}	
+	}		
+};

Property changes on: tags/2.8.2/wb/include/editarea/reg_syntax/xml.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/reg_syntax/index.php
===================================================================
--- tags/2.8.2/wb/include/editarea/reg_syntax/index.php	(nonexistent)
+++ tags/2.8.2/wb/include/editarea/reg_syntax/index.php	(revision 1481)
@@ -0,0 +1,23 @@
+<?php
+/**
+ *
+ * @category        framework
+ * @package         include
+ * @author		    Christophe Dolivet (EditArea), Christian Sommer (WB wrapper)
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// prevent directory listing
+header('Location: ../../../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/editarea/reg_syntax/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/edit_area.css
===================================================================
--- tags/2.8.2/wb/include/editarea/edit_area.css	(nonexistent)
+++ tags/2.8.2/wb/include/editarea/edit_area.css	(revision 1481)
@@ -0,0 +1,530 @@
+body, html{
+	margin: 0; 
+	padding: 0;
+	height: 100%;
+	border: none;
+	overflow: hidden;
+	background-color: #FFF;
+}
+
+body, html, table, form, textarea{
+	font: 12px monospace, sans-serif;
+}
+
+#editor{
+	border: solid #888 1px;
+	overflow: hidden;
+}
+
+#result{
+	z-index: 4; 
+	overflow-x: auto;
+	overflow-y: scroll;
+	border-top: solid #888 1px;
+	border-bottom: solid #888 1px;
+	position: relative;
+	clear: both;
+}
+
+#result.empty{
+	overflow: hidden;
+}
+
+#container{
+	overflow: hidden;
+	border: solid blue 0;
+	position: relative; 
+	z-index: 10;
+	padding: 0 5px 0 45px;
+	/*padding-right: 5px;*/ 
+}
+
+#textarea{
+	position: relative; 
+	top: 0; 
+	left: 0;
+	margin: 0;
+	padding: 0;
+	width: 100%;
+	height: 100%; 
+	overflow: hidden;  
+	z-index: 7; 
+	border-width: 0;
+	background-color: transparent;
+	resize: none;
+}
+
+#textarea, #textarea:hover{
+	outline: none;	/* safari outline fix */
+}
+
+#content_highlight{
+	white-space: pre;
+	margin: 0;
+	padding: 0;
+	position : absolute; 
+	z-index: 4; 
+	overflow: visible;
+}
+
+
+#selection_field, #selection_field_text{
+	margin: 0; 
+	background-color: #E1F2F9; 
+/*	height: 1px; */  
+	position: absolute;
+	z-index: 5;
+	top: -100px;
+	padding: 0;
+	white-space: pre;
+	overflow: hidden;
+}
+
+#selection_field.show_colors {
+	z-index: 3;
+	background-color:#EDF9FC;
+	
+}
+
+#selection_field strong{
+	font-weight:normal;
+}
+
+#selection_field.show_colors *, #selection_field_text * {
+	visibility: hidden;
+}
+
+#selection_field_text{
+	background-color:transparent;
+}
+
+#selection_field_text strong{
+	font-weight:normal;
+	background-color:#3399FE;
+	color: #FFF;
+	visibility:visible;
+}
+
+#container.word_wrap #content_highlight,
+#container.word_wrap #selection_field,
+#container.word_wrap #selection_field_text,
+#container.word_wrap #test_font_size{
+	white-space: pre-wrap;       /* css-3 */
+	white-space: -moz-pre-wrap !important;  /* Mozilla, since 1999 */
+	white-space: -pre-wrap;      /* Opera 4-6 */
+	white-space: -o-pre-wrap;    /* Opera 7 */
+	word-wrap: break-word;       /* Internet Explorer 5.5+ */
+	width: 99%;
+}
+
+#line_number{
+	position: absolute;
+	overflow: hidden;
+	border-right: solid black 1px;
+	z-index:8;
+	width: 38px;
+	padding: 0 5px 0 0;
+	margin: 0 0 0 -45px;
+	text-align: right;
+	color: #AAAAAA;
+}
+
+#test_font_size{
+	padding: 0; 
+	margin: 0; 
+	visibility: hidden;
+	position: absolute;
+	white-space: pre;
+}
+
+pre{
+	margin: 0;
+	padding: 0;
+}
+
+.hidden{
+	opacity: 0.2; 
+	filter:alpha(opacity=20);
+}
+
+#result .edit_area_cursor{
+	position: absolute; 
+	z-index:6; 
+	background-color: #FF6633;
+	top: -100px;
+	margin: 0;
+}
+
+#result .edit_area_selection_field .overline{
+	background-color: #996600;
+}
+
+
+/* area popup */
+.editarea_popup{
+	border: solid 1px #888888;
+	background-color: #ECE9D8; 
+	width: 250px; 
+	padding: 4px; 
+	position: absolute;
+	visibility: hidden; 
+	z-index: 15;
+	top: -500px;
+}
+
+.editarea_popup, .editarea_popup table{
+	font-family: sans-serif;
+	font-size: 10pt;
+}
+
+.editarea_popup img{
+	border: 0;
+}
+
+.editarea_popup .close_popup{
+	float: right; 
+	line-height: 16px; 
+	border: 0; 
+	padding: 0;
+}
+
+.editarea_popup h1,.editarea_popup h2,.editarea_popup h3,.editarea_popup h4,.editarea_popup h5,.editarea_popup h6{
+	margin: 0;
+	padding: 0;
+}
+
+.editarea_popup .copyright{
+	text-align: right;
+}	
+
+/* Area_search */
+div#area_search_replace{
+	/*width: 250px;*/
+}
+
+div#area_search_replace img{
+	border: 0;
+}
+
+div#area_search_replace div.button{
+	text-align: center;
+	line-height: 1.7em;
+}
+
+div#area_search_replace .button a{
+	cursor: pointer;
+	border: solid 1px #888888;
+	background-color: #DEDEDE;
+	text-decoration: none;
+	padding: 0 2px;
+	color: #000000;	
+	white-space: nowrap;
+}
+
+div#area_search_replace a:hover{	
+	/*border: solid 1px #888888;*/
+	background-color: #EDEDED;
+}
+
+div#area_search_replace  #move_area_search_replace{
+	cursor: move; 
+	border: solid 1px #888;
+}
+
+div#area_search_replace  #close_area_search_replace{
+	text-align: right; 
+	vertical-align: top; 
+	white-space: nowrap;
+}
+
+div#area_search_replace  #area_search_msg{
+	height: 18px; 
+	overflow: hidden; 
+	border-top: solid 1px #888; 
+	margin-top: 3px;
+}
+
+/* area help */
+#edit_area_help{
+	width: 350px;
+}
+
+#edit_area_help div.close_popup{
+	float: right;
+}
+
+/* area_toolbar */
+.area_toolbar{
+	/*font: 11px sans-serif;*/
+	width: 100%; 
+	/*height: 21px; */
+	margin: 0; 
+	padding: 0;
+	background-color: #ECE9D8;
+	text-align: center;
+}
+
+.area_toolbar, .area_toolbar table{
+	font: 11px sans-serif;
+}
+
+.area_toolbar img{
+	border: 0;
+	vertical-align: middle;
+}
+
+.area_toolbar input{
+	margin: 0;
+	padding: 0;
+}
+
+.area_toolbar select{
+    font-family: 'MS Sans Serif',sans-serif,Verdana,Arial;
+    font-size: 7pt;
+    font-weight: normal;
+    margin: 2px 0 0 0 ;
+    padding: 0;
+    vertical-align: top;
+    background-color: #F0F0EE;
+}
+
+table.statusbar{
+	width: 100%;
+}
+
+.area_toolbar td.infos{
+	text-align: center;
+	width: 130px;
+	border-right: solid 1px #888;
+	border-width: 0 1px 0 0;
+	padding: 0;
+}
+
+.area_toolbar td.total{
+	text-align: right;
+	width: 50px;
+	padding: 0;
+}
+
+.area_toolbar td.resize{
+	text-align: right;
+}
+/*
+.area_toolbar span{
+	line-height: 1px;
+	padding: 0;
+	margin: 0;
+}*/
+
+.area_toolbar span#resize_area{
+	cursor: nw-resize;
+	visibility: hidden;
+}
+
+/* toolbar buttons */
+.editAreaButtonNormal, .editAreaButtonOver, .editAreaButtonDown, .editAreaSeparator, .editAreaSeparatorLine, .editAreaButtonDisabled, .editAreaButtonSelected {
+	border: 0; margin: 0; padding: 0; background: transparent;
+	margin-top: 0;
+	margin-left: 1px;
+	padding: 0;
+}
+
+.editAreaButtonNormal {
+	border: 1px solid #ECE9D8 !important;
+	cursor: pointer;
+}
+
+.editAreaButtonOver {
+	border: 1px solid #0A246A !important;
+	cursor: pointer;
+	background-color: #B6BDD2;
+}
+
+.editAreaButtonDown {
+	cursor: pointer;
+	border: 1px solid #0A246A !important;
+	background-color: #8592B5;
+}
+
+.editAreaButtonSelected {
+	border: 1px solid #C0C0BB !important;
+	cursor: pointer;
+	background-color: #F4F2E8;
+}
+
+.editAreaButtonDisabled {
+	filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);
+	-moz-opacity:0.3;
+	opacity: 0.3;
+	border: 1px solid #F0F0EE !important;
+	cursor: pointer;
+}
+
+.editAreaSeparatorLine {
+	margin: 1px 2px;
+	background-color: #C0C0BB;
+	width: 2px;
+	height: 18px;
+}
+
+/* waiting screen */
+#processing{
+	display: none; 
+	background-color:#ECE9D8; 
+	border: solid #888 1px;
+	position: absolute; 
+	top: 0; 
+	left: 0;
+	width: 100%; 
+	height: 100%; 
+	z-index: 100; 
+	text-align: center;
+}
+
+#processing_text{
+	position:absolute;
+	left: 50%;
+	top: 50%;
+	width: 200px;
+	height: 20px; 
+	margin-left: -100px;
+	margin-top: -10px;
+	text-align: center;
+}
+/* end */
+
+
+/**** tab browsing area ****/
+#tab_browsing_area{
+	display: none;
+	background-color: #CCC9A8;
+	border-top: 1px solid #888;
+	text-align: left;
+	margin: 0;
+}
+
+#tab_browsing_list {
+	padding: 0; 
+	margin: 0; 
+	list-style-type: none;
+	white-space: nowrap;
+}
+#tab_browsing_list li {
+	float: left;
+	margin: -1px;
+}
+#tab_browsing_list a {
+	position: relative;
+	display: block; 
+	text-decoration: none; 
+	float: left; 
+	cursor: pointer;
+	line-height:14px;
+}
+
+#tab_browsing_list a span {
+	display: block; 
+	color: #000; 
+	background: #ECE9D8; 
+	border:	1px solid #888; 
+	border-width: 1px 1px 0; 
+	text-align: center; 
+	padding: 2px 2px 1px 4px; 
+	position: relative;	/*IE 6 hack */
+}
+
+#tab_browsing_list a b {
+	display: block; 
+	border-bottom: 2px solid #617994;
+}
+
+#tab_browsing_list a .edited {
+	display: none;
+}
+
+#tab_browsing_list a.edited .edited {
+	display: inline;
+}
+
+#tab_browsing_list a img{
+	margin-left: 7px;
+}
+
+#tab_browsing_list a.edited img{
+	margin-left: 3px;
+}
+
+#tab_browsing_list a:hover span {
+	background: #F4F2E8;
+	border-color: #0A246A;
+}
+
+#tab_browsing_list .selected a span{
+	background: #046380;
+	color: #FFF;
+}
+
+
+#no_file_selected{
+	height: 100%;
+	width: 150%; /* Opera need more than 100% */
+	background: #CCC;
+	display: none;
+	z-index: 20;
+	position: absolute;
+}
+
+
+/*** Non-editable mode ***/
+.non_editable #editor
+{
+	border-width: 0 1px;
+}
+
+.non_editable .area_toolbar
+{
+	display: none;
+}
+
+/*** Auto completion ***/
+#auto_completion_area
+{
+	background:	#FFF;
+	border:		solid 1px #888;
+	position:	absolute;
+	z-index:	15;
+	width:	280px;
+	height:	180px;
+	overflow: auto;
+	display:none;
+}
+
+#auto_completion_area a, #auto_completion_area a:visited
+{
+	display:	block;
+	padding:	0 2px 1px;
+	color:		#000;
+	text-decoration:none;
+}
+
+#auto_completion_area a:hover, #auto_completion_area a:focus, #auto_completion_area a.focus
+{
+	background:	#D6E1FE;
+	text-decoration:none;
+}
+
+#auto_completion_area ul
+{
+	margin:	0;
+	padding: 0;
+	list-style: none inside;
+}
+#auto_completion_area li
+{
+	padding:	0;
+}
+#auto_completion_area .prefix
+{
+	font-style: italic;
+	padding: 0 3px;
+}
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/editarea/edit_area.css
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/langs/cs.js
===================================================================
--- tags/2.8.2/wb/include/editarea/langs/cs.js	(nonexistent)
+++ tags/2.8.2/wb/include/editarea/langs/cs.js	(revision 1481)
@@ -0,0 +1,48 @@
+editAreaLoader.lang["cs"]={
+new_document: "NovÃ½ dokument",
+search_button: "Najdi a nahraÄ",
+search_command: "Hledej dalÅ¡Ã­ / otevÅ™i vyhledÃ¡vacÃ­ pole",
+search: "Hledej",
+replace: "NahraÄ",
+replace_command: "NahraÄ / otevÅ™i vyhledÃ¡vacÃ­ pole",
+find_next: "Najdi dalÅ¡Ã­",
+replace_all: "NahraÄ vÅ¡e",
+reg_exp: "platnÃ© vÃ½razy",
+match_case: "vyhodnocenÃ© vÃ½razy",
+not_found: "nenalezenÃ©.",
+occurrence_replaced: "vÃ½skyty nahrazenÃ©.",
+search_field_empty: "Pole vyhledÃ¡vÃ¡nÃ­ je prÃ¡zdnÃ©",
+restart_search_at_begin: "DosaÅ¾en konec souboru, zaÄÃ­nÃ¡m od zaÄÃ¡tku.",
+move_popup: "PÅ™esuÅˆ vyhledÃ¡vacÃ­ okno",
+font_size: "--Velikost textu--",
+go_to_line: "PÅ™ejdi na Å™Ã¡dek",
+go_to_line_prompt: "PÅ™ejdi na Å™Ã¡dek:",
+undo: "krok zpÄ›t",
+redo: "znovu",
+change_smooth_selection: "Povolit nebo zakÃ¡zat nÄ›kterÃ© ze zobrazenÃ½ch funkcÃ­ (ÃºÄelnÄ›jÅ¡Ã­ zobrazenÃ­ poÅ¾aduje vÄ›tÅ¡Ã­ zatÃ­Å¾enÃ­ procesoru)",
+highlight: "ZvÃ½razÅˆovÃ¡nÃ­ syntaxe zap./vyp.",
+reset_highlight: "Obnovit zvÃ½raznÄ›nÃ­ (v pÅ™Ã­padÄ› nesrovnalostÃ­)",
+word_wrap: "toggle word wrapping mode",
+help: "O programu",
+save: "UloÅ¾it",
+load: "OtevÅ™Ã­t",
+line_abbr: "Å˜.",
+char_abbr: "S.",
+position: "Pozice",
+total: "Celkem",
+close_popup: "ZavÅ™Ã­t okno",
+shortcuts: "Zkratky",
+add_tab: "PÅ™idat tabulovÃ¡nÃ­ textu",
+remove_tab: "Odtsranit tabulovÃ¡nÃ­ textu",
+about_notice: "UpozornÄ›nÃ­! Funkce zvÃ½razÅˆovÃ¡nÃ­ textu je k dispozici pouze pro malÃ½ text",
+toggle: "PÅ™epnout editor",
+accesskey: "PÅ™Ã­stupovÃ¡ klÃ¡vesa",
+tab: "ZÃ¡loÅ¾ka",
+shift: "Shift",
+ctrl: "Ctrl",
+esc: "Esc",
+processing: "ZpracovÃ¡vÃ¡m ...",
+fullscreen: "CelÃ¡ obrazovka",
+syntax_selection: "--vyber zvÃ½razÅˆovaÄ--",
+close_tab: "Close file"
+};

Property changes on: tags/2.8.2/wb/include/editarea/langs/cs.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/langs/es.js
===================================================================
--- tags/2.8.2/wb/include/editarea/langs/es.js	(nonexistent)
+++ tags/2.8.2/wb/include/editarea/langs/es.js	(revision 1481)
@@ -0,0 +1,48 @@
+editAreaLoader.lang["es"]={
+new_document: "nuevo documento vacÃ­o",
+search_button: "buscar y reemplazar",
+search_command: "buscar siguiente / abrir Ã¡rea de bÃºsqueda",
+search: "buscar",
+replace: "reemplazar",
+replace_command: "reemplazar / abrir Ã¡rea de bÃºsqueda",
+find_next: "encontrar siguiente",
+replace_all: "reemplazar todos",
+reg_exp: "expresiones regulares",
+match_case: "coincidir capitalizaciÃ³n",
+not_found: "no encontrado.",
+occurrence_replaced: "ocurrencias reemplazadas.",
+search_field_empty: "Campo de bÃºsqueda vacÃ­o",
+restart_search_at_begin: "Se ha llegado al final del Ã¡rea. Se va a seguir desde el principio.",
+move_popup: "mover la ventana de bÃºsqueda",
+font_size: "--TamaÃ±o de la fuente--",
+go_to_line: "ir a la lÃ­nea",
+go_to_line_prompt: "ir a la lÃ­nea nÃºmero:",
+undo: "deshacer",
+redo: "rehacer",
+change_smooth_selection: "activar/desactivar algunas caracterÃ­sticas de visualizaciÃ³n (visualizaciÃ³n mÃ¡s inteligente pero mÃ¡s carga de CPU)",
+highlight: "intercambiar resaltado de sintaxis",
+reset_highlight: "reinicializar resaltado (si no esta sincronizado con el texto)",
+word_wrap: "toggle word wrapping mode",
+help: "acerca",
+save: "guardar",
+load: "cargar",
+line_abbr: "Ln",
+char_abbr: "Ch",
+position: "PosiciÃ³n",
+total: "Total",
+close_popup: "recuadro de cierre",
+shortcuts: "Atajos",
+add_tab: "aÃ±adir tabulado al texto",
+remove_tab: "borrar tabulado del texto",
+about_notice: "Aviso: el resaltado de sintaxis sÃ³lo funciona para texto pequeÃ±o",
+toggle: "Cambiar editor",
+accesskey: "Tecla de acceso",
+tab: "Tab",
+shift: "MayÃºsc",
+ctrl: "Ctrl",
+esc: "Esc",
+processing: "Procesando...",
+fullscreen: "pantalla completa",
+syntax_selection: "--Syntax--",
+close_tab: "Close file"
+};

Property changes on: tags/2.8.2/wb/include/editarea/langs/es.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/langs/fr.js
===================================================================
--- tags/2.8.2/wb/include/editarea/langs/fr.js	(nonexistent)
+++ tags/2.8.2/wb/include/editarea/langs/fr.js	(revision 1481)
@@ -0,0 +1,48 @@
+editAreaLoader.lang["fr"]={
+new_document: "nouveau document (efface le contenu)",
+search_button: "rechercher / remplacer",
+search_command: "rechercher suivant / ouvrir la fen&ecirc;tre de recherche",
+search: "rechercher",
+replace: "remplacer",
+replace_command: "remplacer / ouvrir la fen&ecirc;tre de recherche",
+find_next: "rechercher",
+replace_all: "tout remplacer",
+reg_exp: "expr. r&eacute;guli&egrave;re",
+match_case: "respecter la casse",
+not_found: "pas trouv&eacute;.",
+occurrence_replaced: "remplacements &eacute;ffectu&eacute;s.",
+search_field_empty: "Le champ de recherche est vide.",
+restart_search_at_begin: "Fin du texte atteint, poursuite au d&eacute;but.",
+move_popup: "d&eacute;placer la fen&ecirc;tre de recherche",
+font_size: "--Taille police--",
+go_to_line: "aller &agrave; la ligne",
+go_to_line_prompt: "aller a la ligne numero:",
+undo: "annuler",
+redo: "refaire",
+change_smooth_selection: "activer/d&eacute;sactiver des fonctions d'affichage (meilleur affichage mais plus de charge processeur)",
+highlight: "activer/d&eacute;sactiver la coloration syntaxique",
+reset_highlight: "r&eacute;initialiser la coloration syntaxique (si d&eacute;syncronis&eacute;e du texte)",
+word_wrap: "activer/d&eacute;sactiver les retours &agrave; la ligne automatiques",
+help: "&agrave; propos",
+save: "sauvegarder",
+load: "charger",
+line_abbr: "Ln",
+char_abbr: "Ch",
+position: "Position",
+total: "Total",
+close_popup: "fermer le popup",
+shortcuts: "Racourcis clavier",
+add_tab: "ajouter une tabulation dans le texte",
+remove_tab: "retirer une tabulation dans le texte",
+about_notice: "Note: la coloration syntaxique n'est pr&eacute;vue que pour de courts textes.",
+toggle: "basculer l'&eacute;diteur",
+accesskey: "Accesskey",
+tab: "Tab",
+shift: "Maj",
+ctrl: "Ctrl",
+esc: "Esc",
+processing: "chargement...",
+fullscreen: "plein &eacute;cran",
+syntax_selection: "--Syntaxe--",
+close_tab: "Fermer le fichier"
+};

Property changes on: tags/2.8.2/wb/include/editarea/langs/fr.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/langs/mk.js
===================================================================
--- tags/2.8.2/wb/include/editarea/langs/mk.js	(nonexistent)
+++ tags/2.8.2/wb/include/editarea/langs/mk.js	(revision 1481)
@@ -0,0 +1,48 @@
+editAreaLoader.lang["mk"]={
+new_document: "ĞĞ¾Ğ² Ğ´Ğ¾ĞºÑƒĞ¼ĞµĞ½Ñ‚",
+search_button: "ĞĞ°Ñ˜Ğ´Ğ¸ Ğ¸ Ğ·Ğ°Ğ¼ĞµĞ½Ğ¸",
+search_command: "Ğ‘Ğ°Ñ€Ğ°Ñ˜ ÑĞ»ĞµĞ´Ğ½Ğ¾ / ĞÑ‚Ğ²Ğ¾Ñ€Ğ¸ Ğ½Ğ¾Ğ² Ğ¿Ñ€Ğ¾Ğ·Ğ¾Ñ€ĞµÑ† Ğ·Ğ° Ğ¿Ñ€ĞµĞ±Ğ°Ñ€ÑƒĞ²Ğ°ÑšĞµ",
+search: "Ğ‘Ğ°Ñ€Ğ°Ñ˜",
+replace: "Ğ—Ğ°Ğ¼ĞµĞ½Ğ¸",
+replace_command: "Ğ—Ğ°Ğ¼ĞµĞ½Ğ¸ / ĞÑ‚Ğ²Ğ¾Ñ€Ğ¸ Ğ¿Ñ€Ğ¾Ğ·Ğ¾Ñ€ĞµÑ† Ğ·Ğ° Ğ¿Ñ€ĞµĞ±Ğ°Ñ€ÑƒĞ²Ğ°ÑšĞµ",
+find_next: "Ğ½Ğ°Ñ˜Ğ´Ğ¸ ÑĞ»ĞµĞ´Ğ½Ğ¾",
+replace_all: "Ğ—Ğ°Ğ¼ĞµĞ½Ğ¸ Ğ³Ğ¸ ÑĞ¸Ñ‚Ğµ",
+reg_exp: "Ğ ĞµĞ³ÑƒĞ»Ğ°Ñ€Ğ½Ğ¸ Ğ¸Ğ·Ñ€Ğ°Ğ·Ğ¸",
+match_case: "Ğ‘Ğ¸Ñ‚Ğ½Ğ° Ğµ Ğ³Ğ¾Ğ»ĞµĞ¼Ğ¸Ğ½Ğ°Ñ‚Ğ° Ğ½Ğ° Ğ±ÑƒĞºĞ²Ğ¸Ñ‚Ğµ",
+not_found: "Ğ½Ğµ Ğµ Ğ¿Ñ€Ğ¾Ğ½Ğ°Ñ˜Ğ´ĞµĞ½Ğ¾.",
+occurrence_replaced: "Ğ·Ğ°Ğ¼ĞµĞ½Ğ¸.",
+search_field_empty: "ĞŸĞ¾Ğ»ĞµÑ‚Ğ¾ Ğ·Ğ° Ğ¿Ñ€ĞµĞ±Ğ°Ñ€ÑƒĞ²Ğ°ÑšĞµ Ğµ Ğ¿Ñ€Ğ°Ğ·Ğ½Ğ¾",
+restart_search_at_begin: "ĞšÑ€Ğ°Ñ˜ Ğ½Ğ° Ğ¾Ğ±Ğ»Ğ°ÑÑ‚Ğ°. Ğ¡Ñ‚Ğ°Ñ€Ñ‚ÑƒĞ²Ğ°Ñ˜ Ğ¾Ğ´ Ğ¿Ğ¾Ñ‡ĞµÑ‚Ğ¾Ğº.",
+move_popup: "ĞŸĞ¾Ğ¼ĞµÑÑ‚Ğ¸ Ğ³Ğ¾ Ğ¿Ñ€Ğ¾Ğ·Ğ¾Ñ€ĞµÑ†Ğ¾Ñ‚",
+font_size: "--Ğ“Ğ¾Ğ»ĞµĞ¼Ğ¸Ğ½Ğ° Ğ½Ğ° Ñ‚ĞµĞºÑÑ‚Ğ¾Ñ‚--",
+go_to_line: "ĞĞ´Ğ¸ Ğ½Ğ° Ğ»Ğ¸Ğ½Ğ¸Ñ˜Ğ°",
+go_to_line_prompt: "ĞĞ´Ğ¸ Ğ½Ğ° Ğ»Ğ¸Ğ½Ğ¸Ñ˜Ğ° ÑĞ¾ Ğ±Ñ€Ğ¾Ñ˜:",
+undo: "Ğ’Ñ€Ğ°Ñ‚Ğ¸",
+redo: "ĞŸĞ¾Ğ²Ñ‚Ğ¾Ñ€Ğ¸",
+change_smooth_selection: "Ğ’ĞºĞ»ÑƒÑ‡Ğ¸/Ğ¸ÑĞºĞ»ÑƒÑ‡Ğ¸ Ğ½ĞµĞºĞ¾Ğ¸ ĞºĞ°Ñ€Ğ°ĞºÑ‚ĞµÑ€Ğ¸ÑÑ‚Ğ¸ĞºĞ¸ Ğ·Ğ° Ğ¿Ñ€Ğ¸ĞºĞ°Ğ· (Ğ¿Ğ¾Ğ¿Ğ°Ğ¼ĞµÑ‚ĞµĞ½ Ğ¿Ñ€Ğ¸ĞºĞ°Ğ·, Ğ½Ğ¾ Ğ¿Ğ¾Ğ³Ğ¾Ğ»ĞµĞ¼Ğ¾ Ğ¾Ğ¿Ñ‚ĞµÑ€ĞµÑ‚ÑƒĞ²Ğ°ÑšĞµ Ğ·Ğ° Ğ¿Ñ€Ğ¾Ñ†ĞµÑĞ¾Ñ€Ğ¾Ñ‚)",
+highlight: "Ğ’ĞºĞ»ÑƒÑ‡Ğ¸/Ğ¸ÑĞºĞ»ÑƒÑ‡Ğ¸ Ğ¾ÑĞ²ĞµÑ‚Ğ»ÑƒĞ²Ğ°ÑšĞµ Ğ½Ğ° ÑĞ¸Ğ½Ñ‚Ğ°ĞºÑĞ°",
+reset_highlight: "Ğ ĞµÑĞµÑ‚Ğ¸Ñ€Ğ°Ñ˜ Ğ³Ğ¾ Ğ¾ÑĞ²ĞµÑ‚Ğ»ÑƒĞ²Ğ°ÑšĞµÑ‚Ğ¾ Ğ½Ğ° ÑĞ¸Ğ½Ñ‚Ğ°ĞºÑĞ° (Ğ´Ğ¾ĞºĞ¾Ğ»ĞºÑƒ Ğµ Ğ´ĞµÑĞ¸Ğ½Ñ…Ñ€Ğ¾Ğ½Ğ¸Ğ·Ğ¸Ñ€Ğ°Ğ½o ÑĞ¾ Ñ‚ĞµĞºÑÑ‚Ğ¾Ñ‚)",
+word_wrap: "toggle word wrapping mode",
+help: "Ğ—Ğ°",
+save: "Ğ—Ğ°Ñ‡ÑƒĞ²Ğ°Ñ˜",
+load: "Ğ’Ñ‡Ğ¸Ñ‚Ğ°Ñ˜",
+line_abbr: "Ğ›Ğ½",
+char_abbr: "Ğ—Ğ½",
+position: "ĞŸĞ¾Ğ·Ğ¸Ñ†Ğ¸Ñ˜Ğ°",
+total: "Ğ’ĞºÑƒĞ¿Ğ½Ğ¾",
+close_popup: "Ğ—Ğ°Ñ‚Ğ²Ğ¾Ñ€Ğ¸ Ğ³Ğ¾ Ğ¿Ñ€Ğ¾Ğ·Ğ¾Ñ€ĞµÑ†Ğ¾Ñ‚",
+shortcuts: "ĞšÑ€Ğ°Ñ‚ĞµĞ½ĞºĞ¸",
+add_tab: "Ğ”Ğ¾Ğ´Ğ°Ñ˜ Ñ‚Ğ°Ğ±ÑƒĞ»Ğ°Ñ†Ğ¸Ñ˜Ğ° Ğ½Ğ° Ñ‚ĞµĞºÑÑ‚Ğ¾Ñ‚",
+remove_tab: "ĞÑ‚ÑÑ‚Ñ€Ğ°Ğ½Ğ¸ Ñ˜Ğ° Ñ‚Ğ°Ğ±ÑƒĞ»Ğ°Ñ†Ğ¸Ñ˜Ğ°Ñ‚Ğ°",
+about_notice: "ĞĞ°Ğ¿Ğ¾Ğ¼ĞµĞ½Ğ°: ĞÑĞ²ĞµÑ‚Ğ»ÑƒĞ²Ğ°ÑšĞµÑ‚Ğ¾ Ğ½Ğ° ÑĞ¸Ğ½Ñ‚Ğ°Ğ½ÑĞ° Ğµ ÑĞ°Ğ¼Ğ¾ Ğ·Ğ° ĞºÑ€Ğ°Ñ‚Ğ¾Ğº Ñ‚ĞµĞºÑÑ‚",
+toggle: "Ğ¡Ğ¼ĞµĞ½Ğ¸ Ğ½Ğ°Ñ‡Ğ¸Ğ½ Ğ½Ğ° ÑƒÑ€ĞµĞ´ÑƒĞ²Ğ°ÑšĞµ",
+accesskey: "Accesskey",
+tab: "Tab",
+shift: "Shift",
+ctrl: "Ctrl",
+esc: "Esc",
+processing: "ĞĞ±Ñ€Ğ°Ğ±Ğ¾Ñ‚ÑƒĞ²Ğ°Ğ¼...",
+fullscreen: "Ğ¦ĞµĞ» Ğ¿Ñ€Ğ¾Ğ·Ğ¾Ñ€ĞµÑ†",
+syntax_selection: "--Ğ¡Ğ¸Ğ½Ñ‚Ğ°ĞºÑĞ°--",
+close_tab: "Ğ˜Ğ·Ğ±ĞµÑ€Ğ¸ Ğ´Ğ°Ñ‚Ğ¾Ñ‚ĞµĞºĞ°"
+};

Property changes on: tags/2.8.2/wb/include/editarea/langs/mk.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/langs/hr.js
===================================================================
--- tags/2.8.2/wb/include/editarea/langs/hr.js	(nonexistent)
+++ tags/2.8.2/wb/include/editarea/langs/hr.js	(revision 1481)
@@ -0,0 +1,48 @@
+editAreaLoader.lang["hr"]={
+new_document: "Novi dokument",
+search_button: "TraÅ¾i i izmijeni",
+search_command: "TraÅ¾i dalje / Otvori prozor za traÅ¾enje",
+search: "TraÅ¾i",
+replace: "Izmijeni",
+replace_command: "Izmijeni / Otvori prozor za traÅ¾enje",
+find_next: "TraÅ¾i dalje",
+replace_all: "Izmjeni sve",
+reg_exp: "Regularni izrazi",
+match_case: "Bitna vel. slova",
+not_found: "nije naÃ°eno.",
+occurrence_replaced: "izmjenjenih.",
+search_field_empty: "Prazno polje za traÅ¾enje!",
+restart_search_at_begin: "DoÅ¡ao do kraja. PoÃ¨eo od poÃ¨etka.",
+move_popup: "Pomakni prozor",
+font_size: "--VeliÃ¨ina teksta--",
+go_to_line: "Odi na redak",
+go_to_line_prompt: "Odi na redak:",
+undo: "Vrati natrag",
+redo: "Napravi ponovo",
+change_smooth_selection: "UkljuÃ¨i/iskljuÃ¨i neke moguÃ¦nosti prikaza (pametniji prikaz, ali zaguÅ¡eniji CPU)",
+highlight: "UkljuÃ¨i/iskljuÃ¨i bojanje sintakse",
+reset_highlight: "Ponovi kolorizaciju (ako je nesinkronizirana s tekstom)",
+word_wrap: "toggle word wrapping mode",
+help: "O edit_area",
+save: "Spremi",
+load: "UÃ¨itaj",
+line_abbr: "Ln",
+char_abbr: "Zn",
+position: "Pozicija",
+total: "Ukupno",
+close_popup: "Zatvori prozor",
+shortcuts: "Kratice",
+add_tab: "Dodaj tabulaciju",
+remove_tab: "Makni tabulaciju",
+about_notice: "Napomena: koloriziranje sintakse je samo za kratke kodove",
+toggle: "Prebaci naÃ¨in ureÃ°ivanja",
+accesskey: "Accesskey",
+tab: "Tab",
+shift: "Shift",
+ctrl: "Ctrl",
+esc: "Esc",
+processing: "Procesiram...",
+fullscreen: "Cijeli prozor",
+syntax_selection: "--Syntax--",
+close_tab: "Close file"
+};

Property changes on: tags/2.8.2/wb/include/editarea/langs/hr.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/langs/nl.js
===================================================================
--- tags/2.8.2/wb/include/editarea/langs/nl.js	(nonexistent)
+++ tags/2.8.2/wb/include/editarea/langs/nl.js	(revision 1481)
@@ -0,0 +1,48 @@
+editAreaLoader.lang["nl"]={
+new_document: "nieuw leeg document",
+search_button: "zoek en vervang",
+search_command: "zoek volgende / zoekscherm openen",
+search: "zoek",
+replace: "vervang",
+replace_command: "vervang / zoekscherm openen",
+find_next: "volgende vinden",
+replace_all: "alles vervangen",
+reg_exp: "reguliere expressies",
+match_case: "hoofdletter gevoelig",
+not_found: "niet gevonden.",
+occurrence_replaced: "object vervangen.",
+search_field_empty: "Zoek veld leeg",
+restart_search_at_begin: "Niet meer instanties gevonden, begin opnieuw",
+move_popup: "versleep zoek scherm",
+font_size: "--Letter grootte--",
+go_to_line: "Ga naar regel",
+go_to_line_prompt: "Ga naar regel nummer:",
+undo: "Ongedaan maken",
+redo: "Opnieuw doen",
+change_smooth_selection: "zet wat schermopties aan/uit (kan langzamer zijn)",
+highlight: "zet syntax highlight aan/uit",
+reset_highlight: "reset highlight (indien gedesynchronizeerd)",
+word_wrap: "toggle word wrapping mode",
+help: "informatie",
+save: "opslaan",
+load: "laden",
+line_abbr: "Ln",
+char_abbr: "Ch",
+position: "Positie",
+total: "Totaal",
+close_popup: "Popup sluiten",
+shortcuts: "Snelkoppelingen",
+add_tab: "voeg tabs toe in tekst",
+remove_tab: "verwijder tabs uit tekst",
+about_notice: "Notitie: syntax highlight functie is alleen voor kleine tekst",
+toggle: "geavanceerde bewerkingsopties",
+accesskey: "Accessknop",
+tab: "Tab",
+shift: "Shift",
+ctrl: "Ctrl",
+esc: "Esc",
+processing: "Verwerken...",
+fullscreen: "fullscreen",
+syntax_selection: "--Syntax--",
+close_tab: "Close file"
+};

Property changes on: tags/2.8.2/wb/include/editarea/langs/nl.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/langs/pl.js
===================================================================
--- tags/2.8.2/wb/include/editarea/langs/pl.js	(nonexistent)
+++ tags/2.8.2/wb/include/editarea/langs/pl.js	(revision 1481)
@@ -0,0 +1,48 @@
+editAreaLoader.lang["pl"]={
+new_document: "nowy dokument",
+search_button: "znajdÅº i zamieÅ„",
+search_command: "znajdÅº nastÄ™pny",
+search: "znajdÅº",
+replace: "zamieÅ„",
+replace_command: "zamieÅ„",
+find_next: "nastÄ™pny",
+replace_all: "zamieÅ„ wszystko",
+reg_exp: "wyraÅ¼enie regularne",
+match_case: "uwzglÄ™dnij wielkoÅ›Ä‡ liter<br />",
+not_found: "nie znaleziono.",
+occurrence_replaced: "wystÄ…pieÅ„ zamieniono.",
+search_field_empty: "Nie wprowadzono tekstu",
+restart_search_at_begin: "Koniec dokumentu. Wyszukiwanie od poczÄ…tku.",
+move_popup: "przesuÅ„ okienko wyszukiwania",
+font_size: "Rozmiar",
+go_to_line: "idÅº do linii",
+go_to_line_prompt: "numer linii:",
+undo: "cofnij",
+redo: "przywrÃ³Ä‡",
+change_smooth_selection: "wÅ‚Ä…cz/wyÅ‚Ä…cz niektÃ³re opcje wyglÄ…du (zaawansowane opcje wyglÄ…du obciÄ…Å¼ajÄ… procesor)",
+highlight: "wÅ‚Ä…cz/wyÅ‚Ä…cz podÅ›wietlanie skÅ‚adni",
+reset_highlight: "odÅ›wieÅ¼ podÅ›wietlanie skÅ‚adni (jeÅ›li rozsynchronizowaÅ‚o siÄ™ z tekstem)",
+word_wrap: "toggle word wrapping mode",
+help: "o programie",
+save: "zapisz",
+load: "otwÃ³rz",
+line_abbr: "Ln",
+char_abbr: "Zn",
+position: "Pozycja",
+total: "W sumie",
+close_popup: "zamknij okienko",
+shortcuts: "SkrÃ³ty klawiaturowe",
+add_tab: "dodaj wciÄ™cie do zaznaczonego tekstu",
+remove_tab: "usuÅ„ wciÄ™cie",
+about_notice: "Uwaga: podÅ›wietlanie skÅ‚adni nie jest zalecane dla dÅ‚ugich tekstÃ³w",
+toggle: "WÅ‚Ä…cz/wyÅ‚Ä…cz edytor",
+accesskey: "Alt+",
+tab: "Tab",
+shift: "Shift",
+ctrl: "Ctrl",
+esc: "Esc",
+processing: "Przetwarzanie...",
+fullscreen: "fullscreen",
+syntax_selection: "--Syntax--",
+close_tab: "Close file"
+};

Property changes on: tags/2.8.2/wb/include/editarea/langs/pl.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/langs/it.js
===================================================================
--- tags/2.8.2/wb/include/editarea/langs/it.js	(nonexistent)
+++ tags/2.8.2/wb/include/editarea/langs/it.js	(revision 1481)
@@ -0,0 +1,48 @@
+editAreaLoader.lang["it"]={
+new_document: "nuovo documento vuoto",
+search_button: "cerca e sostituisci",
+search_command: "trova successivo / apri finestra di ricerca",
+search: "cerca",
+replace: "sostituisci",
+replace_command: "sostituisci / apri finestra di ricerca",
+find_next: "trova successivo",
+replace_all: "sostituisci tutti",
+reg_exp: "espressioni regolari",
+match_case: "confronta maiuscole/minuscole<br />",
+not_found: "non trovato.",
+occurrence_replaced: "occorrenze sostituite.",
+search_field_empty: "Campo ricerca vuoto",
+restart_search_at_begin: "Fine del testo raggiunta. Ricomincio dall'inizio.",
+move_popup: "sposta popup di ricerca",
+font_size: "-- Dimensione --",
+go_to_line: "vai alla linea",
+go_to_line_prompt: "vai alla linea numero:",
+undo: "annulla",
+redo: "ripeti",
+change_smooth_selection: "abilita/disabilita alcune caratteristiche della visualizzazione",
+highlight: "abilita/disabilita colorazione della sintassi",
+reset_highlight: "aggiorna colorazione (se non sincronizzata)",
+word_wrap: "toggle word wrapping mode",
+help: "informazioni su...",
+save: "salva",
+load: "carica",
+line_abbr: "Ln",
+char_abbr: "Ch",
+position: "Posizione",
+total: "Totale",
+close_popup: "chiudi popup",
+shortcuts: "Scorciatoie",
+add_tab: "aggiungi tabulazione",
+remove_tab: "rimuovi tabulazione",
+about_notice: "Avviso: la colorazione della sintassi vale solo con testo piccolo",
+toggle: "Abilita/disabilita editor",
+accesskey: "Accesskey",
+tab: "Tab",
+shift: "Shift",
+ctrl: "Ctrl",
+esc: "Esc",
+processing: "In corso...",
+fullscreen: "fullscreen",
+syntax_selection: "--Syntax--",
+close_tab: "Close file"
+};

Property changes on: tags/2.8.2/wb/include/editarea/langs/it.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/langs/sk.js
===================================================================
--- tags/2.8.2/wb/include/editarea/langs/sk.js	(nonexistent)
+++ tags/2.8.2/wb/include/editarea/langs/sk.js	(revision 1481)
@@ -0,0 +1,48 @@
+editAreaLoader.lang["sk"]={
+new_document: "novÃ½ prÃ¡zdy dokument",
+search_button: "vyhÄ¾adaj a nahraÄ",
+search_command: "hÄ¾adaj ÄalsÅ¡ie / otvor vyhÄ¾adÃ¡vacie pole",
+search: "hÄ¾adaj",
+replace: "nahraÄ",
+replace_command: "nahraÄ / otvor vyhÄ¾adÃ¡vacie pole",
+find_next: "nÃ¡jdi ÄalÅ¡ie",
+replace_all: "nahraÄ vÅ¡etko",
+reg_exp: "platnÃ© vÃ½razy",
+match_case: "zhodujÃºce sa vÃ½razy",
+not_found: "nenÃ¡jdenÃ©.",
+occurrence_replaced: "vÃ½skyty nahradenÃ©.",
+search_field_empty: "Pole vyhÄ¾adÃ¡vanie je prÃ¡dzne",
+restart_search_at_begin: "End of area reached. Restart at begin.",
+move_popup: "presuÅˆ vyhÄ¾adÃ¡vacie okno",
+font_size: "--VeÄ¾kosÅ¥ textu--",
+go_to_line: "prejdi na riadok",
+go_to_line_prompt: "prejdi na riadok:",
+undo: "krok spÃ¤Å¥",
+redo: "prepracovaÅ¥",
+change_smooth_selection: "povoliÅ¥/zamietnÃºÅ¥ niektorÃ© zo zobrazenÃ½ch funkciÃ­ (ÃºÄelnejÅ¡ie zobrazenie vyÅ¾aduje  vÃ¤ÄÅ¡ie zaÅ¥aÅ¾enie procesora CPU)",
+highlight: "prepnÃºÅ¥ zvÃ½razÅˆovanie syntaxe zap/vyp",
+reset_highlight: "zruÅ¡iÅ¥ zvÃ½razÅˆovanie (ak je nesynchronizovanÃ© s textom)",
+word_wrap: "toggle word wrapping mode",
+help: "o programe",
+save: "uloÅ¾iÅ¥",
+load: "naÄÃ­taÅ¥",
+line_abbr: "Ln",
+char_abbr: "Ch",
+position: "PozÃ­cia",
+total: "Spolu",
+close_popup: "zavrieÅ¥ okno",
+shortcuts: "Skratky",
+add_tab: "pridaÅ¥ tabulovanie textu",
+remove_tab: "odstrÃ¡niÅ¥ tabulovanie textu",
+about_notice: "Upozornenie: funkcia zvÃ½razÅˆovania syntaxe je dostupnÃ¡ iba pre malÃ½ text",
+toggle: "PrepnÃºÅ¥ editor",
+accesskey: "Accesskey",
+tab: "ZÃ¡loÅ¾ka",
+shift: "Shift",
+ctrl: "Ctrl",
+esc: "Esc",
+processing: "SpracÃºvam...",
+fullscreen: "cel=a obrazovka",
+syntax_selection: "--Vyber Syntax--",
+close_tab: "Close file"
+};

Property changes on: tags/2.8.2/wb/include/editarea/langs/sk.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/langs/zh.js
===================================================================
--- tags/2.8.2/wb/include/editarea/langs/zh.js	(nonexistent)
+++ tags/2.8.2/wb/include/editarea/langs/zh.js	(revision 1481)
@@ -0,0 +1,48 @@
+editAreaLoader.lang["zh"]={
+new_document: "æ–°å»ºç©ºç™½æ–‡æ¡£",
+search_button: "æŸ¥æ‰¾ä¸æ›¿æ¢",
+search_command: "æŸ¥æ‰¾ä¸‹ä¸€ä¸ª / æ‰“å¼€æŸ¥æ‰¾æ¡†",
+search: "æŸ¥æ‰¾",
+replace: "æ›¿æ¢",
+replace_command: "æ›¿æ¢ / æ‰“å¼€æŸ¥æ‰¾æ¡†",
+find_next: "æŸ¥æ‰¾ä¸‹ä¸€ä¸ª",
+replace_all: "å…¨éƒ¨æ›¿æ¢",
+reg_exp: "æ­£åˆ™è¡¨è¾¾å¼",
+match_case: "åŒ¹é…å¤§å°å†™",
+not_found: "æœªæ‰¾åˆ°.",
+occurrence_replaced: "å¤„è¢«æ›¿æ¢.",
+search_field_empty: "æŸ¥æ‰¾æ¡†æ²¡æœ‰å†…å®¹",
+restart_search_at_begin: "å·²åˆ°åˆ°æ–‡æ¡£æœ«å°¾. ä»å¤´é‡æ–°æŸ¥æ‰¾.",
+move_popup: "ç§»åŠ¨æŸ¥æ‰¾å¯¹è¯æ¡†",
+font_size: "--å­—ä½“å¤§å°--",
+go_to_line: "è½¬åˆ°è¡Œ",
+go_to_line_prompt: "è½¬åˆ°è¡Œ:",
+undo: "æ¢å¤",
+redo: "é‡åš",
+change_smooth_selection: "å¯ç”¨/ç¦æ­¢ä¸€äº›æ˜¾ç¤ºç‰¹æ€§(æ›´å¥½çœ‹ä½†æ›´è€—è´¹èµ„æº)",
+highlight: "å¯ç”¨/ç¦æ­¢è¯­æ³•é«˜äº®",
+reset_highlight: "é‡ç½®è¯­æ³•é«˜äº®(å½“æ–‡æœ¬æ˜¾ç¤ºä¸åŒæ­¥æ—¶)",
+word_wrap: "toggle word wrapping mode",
+help: "å…³äº",
+save: "ä¿å­˜",
+load: "åŠ è½½",
+line_abbr: "è¡Œ",
+char_abbr: "å­—ç¬¦",
+position: "ä½ç½®",
+total: "æ€»è®¡",
+close_popup: "å…³é—­å¯¹è¯æ¡†",
+shortcuts: "å¿«æ·é”®",
+add_tab: "æ·»åŠ åˆ¶è¡¨ç¬¦(Tab)",
+remove_tab: "ç§»é™¤åˆ¶è¡¨ç¬¦(Tab)",
+about_notice: "æ³¨æ„ï¼šè¯­æ³•é«˜äº®åŠŸèƒ½ä»…ç”¨äºè¾ƒå°‘å†…å®¹çš„æ–‡æœ¬(æ–‡ä»¶å†…å®¹å¤ªå¤§ä¼šå¯¼è‡´æµè§ˆå™¨ååº”æ…¢)",
+toggle: "åˆ‡æ¢ç¼–è¾‘å™¨",
+accesskey: "å¿«æ·é”®",
+tab: "Tab",
+shift: "Shift",
+ctrl: "Ctrl",
+esc: "Esc",
+processing: "æ­£åœ¨å¤„ç†ä¸­...",
+fullscreen: "å…¨å±ç¼–è¾‘",
+syntax_selection: "--è¯­æ³•--",
+close_tab: "å…³é—­æ–‡ä»¶"
+};

Property changes on: tags/2.8.2/wb/include/editarea/langs/zh.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/langs/index.php
===================================================================
--- tags/2.8.2/wb/include/editarea/langs/index.php	(nonexistent)
+++ tags/2.8.2/wb/include/editarea/langs/index.php	(revision 1481)
@@ -0,0 +1,23 @@
+<?php
+/**
+ *
+ * @category        framework
+ * @package         include
+ * @author		    Christophe Dolivet (EditArea), Christian Sommer (WB wrapper)
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// prevent directory listing
+header('Location: ../../../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/editarea/langs/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/langs/pt.js
===================================================================
--- tags/2.8.2/wb/include/editarea/langs/pt.js	(nonexistent)
+++ tags/2.8.2/wb/include/editarea/langs/pt.js	(revision 1481)
@@ -0,0 +1,48 @@
+editAreaLoader.lang["pt"]={
+new_document: "Novo documento",
+search_button: "Localizar e substituir",
+search_command: "Localizar prÃ³ximo",
+search: "Localizar",
+replace: "Substituir",
+replace_command: "Substituir",
+find_next: "Localizar",
+replace_all: "Subst. tudo",
+reg_exp: "ExpressÃµes regulares",
+match_case: "Diferenciar maiÃºsculas e minÃºsculas",
+not_found: "NÃ£o encontrado.",
+occurrence_replaced: "OcorrÃªncias substituidas",
+search_field_empty: "Campo localizar vazio.",
+restart_search_at_begin: "Fim das ocorrÃªncias. RecomeÃ§ar do inicio.",
+move_popup: "Mover janela",
+font_size: "--Tamanho da fonte--",
+go_to_line: "Ir para linha",
+go_to_line_prompt: "Ir para a linha:",
+undo: "Desfazer",
+redo: "Refazer",
+change_smooth_selection: "OpÃ§Ãµes visuais",
+highlight: "Cores de sintaxe",
+reset_highlight: "Resetar cores (se nÃ£o sincronizado)",
+word_wrap: "toggle word wrapping mode",
+help: "Sobre",
+save: "Salvar",
+load: "Carregar",
+line_abbr: "Ln",
+char_abbr: "Ch",
+position: "PosiÃ§Ã£o",
+total: "Total",
+close_popup: "Fechar",
+shortcuts: "Shortcuts",
+add_tab: "Adicionar tabulaÃ§Ã£o",
+remove_tab: "Remover tabulaÃ§Ã£o",
+about_notice: "AtenÃ§Ã£o: Cores de sintaxe sÃ£o indicados somente para textos pequenos",
+toggle: "Exibir editor",
+accesskey: "Accesskey",
+tab: "Tab",
+shift: "Shift",
+ctrl: "Ctrl",
+esc: "Esc",
+processing: "Processando...",
+fullscreen: "fullscreen",
+syntax_selection: "--Syntax--",
+close_tab: "Close file"
+};

Property changes on: tags/2.8.2/wb/include/editarea/langs/pt.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/langs/ru.js
===================================================================
--- tags/2.8.2/wb/include/editarea/langs/ru.js	(nonexistent)
+++ tags/2.8.2/wb/include/editarea/langs/ru.js	(revision 1481)
@@ -0,0 +1,48 @@
+editAreaLoader.lang["ru"]={
+new_document: "Ğ½Ğ¾Ğ²Ñ‹Ğ¹ Ğ¿ÑƒÑÑ‚Ğ¾Ğ¹ Ğ´Ğ¾ĞºÑƒĞ¼ĞµĞ½Ñ‚",
+search_button: "Ğ¿Ğ¾Ğ¸ÑĞº Ğ¸ Ğ·Ğ°Ğ¼ĞµĞ½Ğ°",
+search_command: "Ğ¸ÑĞºĞ°Ñ‚ÑŒ ÑĞ»ĞµĞ´ÑƒÑÑ‰Ğ¸Ğ¹ / Ğ¾Ñ‚ĞºÑ€Ñ‹Ñ‚ÑŒ Ğ¿Ğ°Ğ½ĞµĞ»ÑŒ Ğ¿Ğ¾Ğ¸ÑĞºĞ°",
+search: "Ğ¿Ğ¾Ğ¸ÑĞº",
+replace: "Ğ·Ğ°Ğ¼ĞµĞ½Ğ°",
+replace_command: "Ğ·Ğ°Ğ¼ĞµĞ½Ğ¸Ñ‚ÑŒ / Ğ¾Ñ‚ĞºÑ€Ñ‹Ñ‚ÑŒ Ğ¿Ğ°Ğ½ĞµĞ»ÑŒ Ğ¿Ğ¾Ğ¸ÑĞºĞ°",
+find_next: "Ğ½Ğ°Ğ¹Ñ‚Ğ¸ ÑĞ»ĞµĞ´ÑƒÑÑ‰ĞµĞµ",
+replace_all: "Ğ·Ğ°Ğ¼ĞµĞ½Ğ¸Ñ‚ÑŒ Ğ²ÑĞµ",
+reg_exp: "Ñ€ĞµĞ³ÑƒĞ»ÑÑ€Ğ½Ğ¾Ğµ Ğ²Ñ‹Ñ€Ğ°Ğ¶ĞµĞ½Ğ¸Ğµ",
+match_case: "ÑƒÑ‡Ğ¸Ñ‚Ñ‹Ğ²Ğ°Ñ‚ÑŒ Ñ€ĞµĞ³Ğ¸ÑÑ‚Ñ€",
+not_found: "Ğ½Ğµ Ğ½Ğ°Ğ¹Ğ´ĞµĞ½Ğ¾.",
+occurrence_replaced: "Ğ²Ñ…Ğ¾Ğ¶Ğ´ĞµĞ½Ğ¸Ğµ Ğ·Ğ°Ğ¼ĞµĞ½ĞµĞ½Ğ¾.",
+search_field_empty: "ĞŸĞ¾Ğ»Ğµ Ğ¿Ğ¾Ğ¸ÑĞºĞ° Ğ¿ÑƒÑÑ‚Ğ¾Ğµ",
+restart_search_at_begin: "Ğ”Ğ¾ÑÑ‚Ğ¸Ğ³Ğ½ÑƒÑ‚ ĞºĞ¾Ğ½ĞµÑ† Ğ´Ğ¾ĞºÑƒĞ¼ĞµĞ½Ñ‚Ğ°. ĞĞ°Ñ‡Ğ¸Ğ½Ğ°Ñ Ñ Ğ½Ğ°Ñ‡Ğ°Ğ»Ğ°.",
+move_popup: "Ğ¿ĞµÑ€ĞµĞ¼ĞµÑÑ‚Ğ¸Ñ‚ÑŒ Ğ¾ĞºĞ½Ğ¾ Ğ¿Ğ¾Ğ¸ÑĞºĞ°",
+font_size: "--Ğ Ğ°Ğ·Ğ¼ĞµÑ€ ÑˆÑ€Ğ¸Ñ„Ñ‚Ğ°--",
+go_to_line: "Ğ¿ĞµÑ€ĞµĞ¹Ñ‚Ğ¸ Ğº ÑÑ‚Ñ€Ğ¾ĞºĞµ",
+go_to_line_prompt: "Ğ¿ĞµÑ€ĞµĞ¹Ñ‚Ğ¸ Ğº ÑÑ‚Ñ€Ğ¾ĞºĞµ Ğ½Ğ¾Ğ¼ĞµÑ€:",
+undo: "Ğ¾Ñ‚Ğ¼ĞµĞ½Ğ¸Ñ‚ÑŒ",
+redo: "Ğ²ĞµÑ€Ğ½ÑƒÑ‚ÑŒ",
+change_smooth_selection: "Ğ²ĞºĞ»ÑÑ‡Ğ¸Ñ‚ÑŒ/Ğ¾Ñ‚ĞºĞ»ÑÑ‡Ğ¸Ñ‚ÑŒ Ğ½ĞµĞºĞ¾Ñ‚Ğ¾Ñ€Ñ‹Ğµ Ñ„ÑƒĞ½ĞºÑ†Ğ¸Ğ¸ Ğ¿Ñ€Ğ¾ÑĞ¼Ğ¾Ñ‚Ñ€Ğ° (Ğ±Ğ¾Ğ»ĞµĞµ ĞºÑ€Ğ°ÑĞ¸Ğ²Ğ¾, Ğ½Ğ¾ Ğ±Ğ¾Ğ»ÑŒÑˆĞµ Ğ¸ÑĞ¿Ğ¾Ğ»ÑŒĞ·ÑƒĞµÑ‚ Ğ¿Ñ€Ğ¾Ñ†ĞµÑÑĞ¾Ñ€)",
+highlight: "Ğ¿ĞµÑ€ĞµĞºĞ»ÑÑ‡Ğ¸Ñ‚ÑŒ Ğ¿Ğ¾Ğ´ÑĞ²ĞµÑ‚ĞºÑƒ ÑĞ¸Ğ½Ñ‚Ğ°ĞºÑĞ¸ÑĞ° Ğ²ĞºĞ»ÑÑ‡ĞµĞ½Ğ°/Ğ²Ñ‹ĞºĞ»ÑÑ‡ĞµĞ½Ğ°",
+reset_highlight: "Ğ²Ğ¾ÑÑÑ‚Ğ°Ğ½Ğ¾Ğ²Ğ¸Ñ‚ÑŒ Ğ¿Ğ¾Ğ´ÑĞ²ĞµÑ‚ĞºÑƒ (ĞµÑĞ»Ğ¸ Ñ€Ğ°Ğ·ÑĞ¸Ğ½Ñ…Ñ€Ğ¾Ğ½Ğ¸Ğ·Ğ¸Ñ€Ğ¾Ğ²Ğ°Ğ½Ğ° Ğ¾Ñ‚ Ñ‚ĞµĞºÑÑ‚Ğ°)",
+word_wrap: "toggle word wrapping mode",
+help: "Ğ¾ Ğ¿Ñ€Ğ¾Ğ³Ñ€Ğ°Ğ¼Ğ¼Ğµ",
+save: "ÑĞ¾Ñ…Ñ€Ğ°Ğ½Ğ¸Ñ‚ÑŒ",
+load: "Ğ·Ğ°Ğ³Ñ€ÑƒĞ·Ğ¸Ñ‚ÑŒ",
+line_abbr: "Ğ¡Ñ‚Ñ€",
+char_abbr: "Ğ¡Ñ‚Ğ»Ğ±",
+position: "ĞŸĞ¾Ğ·Ğ¸Ñ†Ğ¸Ñ",
+total: "Ğ’ÑĞµĞ³Ğ¾",
+close_popup: "Ğ·Ğ°ĞºÑ€Ñ‹Ñ‚ÑŒ Ğ²ÑĞ¿Ğ»Ñ‹Ğ²Ğ°ÑÑ‰ĞµĞµ Ğ¾ĞºĞ½Ğ¾",
+shortcuts: "Ğ“Ğ¾Ñ€ÑÑ‡Ğ¸Ğµ ĞºĞ»Ğ°Ğ²Ğ¸ÑˆĞ¸",
+add_tab: "Ğ´Ğ¾Ğ±Ğ°Ğ²Ğ¸Ñ‚ÑŒ Ñ‚Ğ°Ğ±ÑƒĞ»ÑÑ†Ğ¸Ñ Ğ² Ñ‚ĞµĞºÑÑ‚",
+remove_tab: "ÑƒĞ±Ñ€Ğ°Ñ‚ÑŒ Ñ‚Ğ°Ğ±ÑƒĞ»ÑÑ†Ğ¸Ñ Ğ¸Ğ· Ñ‚ĞµĞºÑÑ‚Ğ°",
+about_notice: "Ğ’Ğ½Ğ¸Ğ¼Ğ°Ğ½Ğ¸Ğµ: Ñ„ÑƒĞ½ĞºÑ†Ğ¸Ñ Ğ¿Ğ¾Ğ´ÑĞ²ĞµÑ‚ĞºĞ¸ ÑĞ¸Ğ½Ñ‚Ğ°ĞºÑĞ¸ÑĞ° Ñ‚Ğ¾Ğ»ÑŒĞºĞ¾ Ğ´Ğ»Ñ Ğ½ĞµĞ±Ğ¾Ğ»ÑŒÑˆĞ¸Ñ… Ñ‚ĞµĞºÑÑ‚Ğ¾Ğ²",
+toggle: "ĞŸĞµÑ€ĞµĞºĞ»ÑÑ‡Ğ¸Ñ‚ÑŒ Ñ€ĞµĞ´Ğ°ĞºÑ‚Ğ¾Ñ€",
+accesskey: "Ğ“Ğ¾Ñ€ÑÑ‡Ğ°Ñ ĞºĞ»Ğ°Ğ²Ğ¸ÑˆĞ°",
+tab: "Tab",
+shift: "Shift",
+ctrl: "Ctrl",
+esc: "Esc",
+processing: "ĞĞ±Ñ€Ğ°Ğ±Ğ¾Ñ‚ĞºĞ°...",
+fullscreen: "Ğ¿Ğ¾Ğ»Ğ½Ñ‹Ğ¹ ÑĞºÑ€Ğ°Ğ½",
+syntax_selection: "--Ğ¡Ğ¸Ğ½Ñ‚Ğ°ĞºÑ--",
+close_tab: "Ğ—Ğ°ĞºÑ€Ñ‹Ñ‚ÑŒ Ñ„Ğ°Ğ¹Ğ»"
+};

Property changes on: tags/2.8.2/wb/include/editarea/langs/ru.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/langs/bg.js
===================================================================
--- tags/2.8.2/wb/include/editarea/langs/bg.js	(nonexistent)
+++ tags/2.8.2/wb/include/editarea/langs/bg.js	(revision 1481)
@@ -0,0 +1,54 @@
+/*
+ *	Bulgarian translation
+ *	Author:		Valentin Hristov
+ *	Company:	SOFTKIT Bulgarian
+ *	Site:		http://www.softkit-bg.com
+ */
+editAreaLoader.lang["bg"]={
+new_document: "Ğ½Ğ¾Ğ² Ğ´Ğ¾ĞºÑƒĞ¼ĞµĞ½Ñ‚",
+search_button: "Ñ‚ÑŠÑ€ÑĞµĞ½Ğµ Ğ¸ Ğ·Ğ°Ğ¼ÑĞ½Ğ°",
+search_command: "Ñ‚ÑŠÑ€ÑĞ¸ ÑĞ»ĞµĞ´Ğ²Ğ°Ñ‰Ğ¸Ñ / Ğ¾Ñ‚Ğ²Ğ¾Ñ€Ğ¸ Ğ¿Ñ€Ğ¾Ğ·Ğ¾Ñ€ĞµÑ† Ñ Ñ‚ÑŠÑ€ÑĞ°Ñ‡ĞºĞ°",
+search: "Ñ‚ÑŠÑ€ÑĞµĞ½Ğµ",
+replace: "Ğ·Ğ°Ğ¼ÑĞ½Ğ°",
+replace_command: "Ğ·Ğ°Ğ¼ÑĞ½Ğ° / Ğ¾Ñ‚Ğ²Ğ¾Ñ€Ğ¸ Ğ¿Ñ€Ğ¾Ğ·Ğ¾Ñ€ĞµÑ† Ñ Ñ‚ÑŠÑ€ÑĞ°Ñ‡ĞºĞ°",
+find_next: "Ğ½Ğ°Ğ¼ĞµÑ€Ğ¸ ÑĞ»ĞµĞ´Ğ²Ğ°Ñ‰Ğ¸Ñ",
+replace_all: "Ğ·Ğ°Ğ¼ĞµĞ½Ğ¸ Ğ²ÑĞ¸Ñ‡ĞºĞ¸",
+reg_exp: "Ñ€ĞµĞ³Ğ¾Ğ»ÑÑ€Ğ½Ğ¸ Ğ¸Ğ·Ñ€Ğ°Ğ·Ğ¸",
+match_case: "Ñ‡ÑƒÑÑ‚Ğ²Ğ¸Ñ‚ĞµĞ»ĞµĞ½ ĞºÑŠĞ¼ Ñ€ĞµĞ³Ğ¸ÑÑ‚ÑŠÑ€Ğ°",
+not_found: "Ğ½ÑĞ¼Ğ° Ñ€ĞµĞ·ÑƒĞ»Ñ‚Ğ°Ñ‚.",
+occurrence_replaced: "Ğ·Ğ°Ğ¼ÑĞ½Ğ°Ñ‚Ğ° Ğµ Ğ¾ÑÑŠÑ‰ĞµÑÑ‚Ğ²ĞµĞ½Ğ°.",
+search_field_empty: "ĞŸĞ¾Ğ»ĞµÑ‚Ğ¾ Ğ·Ğ° Ñ‚ÑŠÑ€ÑĞµĞ½Ğµ Ğµ Ğ¿Ñ€Ğ°Ğ·Ğ½Ğ¾",
+restart_search_at_begin: "Ğ”Ğ¾ ĞºÑ€Ğ°Ñ Ğ½Ğ° Ğ´Ğ¾ĞºÑƒĞ¼ĞµĞ½Ñ‚Ğ°. ĞŸĞ¾Ñ‡Ğ½Ğ¸ Ñ Ğ½Ğ°Ñ‡Ğ°Ğ»Ğ¾Ñ‚Ğ¾.",
+move_popup: "Ğ¿Ñ€ĞµĞ¼ĞµÑÑ‚Ğ¸ Ğ¿Ñ€Ğ¾Ğ·Ğ¾Ñ€ĞµÑ†Ğ° Ñ Ñ‚ÑŠÑ€ÑĞ°Ñ‡ĞºĞ°Ñ‚Ğ°",
+font_size: "--Ğ Ğ°Ğ·Ğ¼ĞµÑ€ Ğ½Ğ° ÑˆÑ€Ğ¸Ñ„Ñ‚Ğ°--",
+go_to_line: "Ğ¿Ñ€ĞµĞ¼ĞµĞ½Ğ¸ ĞºÑŠĞ¼ Ñ€ĞµĞ´Ğ°",
+go_to_line_prompt: "Ğ¿Ñ€ĞµĞ¼ĞµĞ½Ğ¸ ĞºÑŠĞ¼ Ğ½Ğ¾Ğ¼ĞµÑ€Ğ° Ğ½Ğ° Ñ€ĞµĞ´Ğ°:",
+undo: "Ğ¾Ñ‚Ğ¼ĞµĞ½Ğ¸",
+redo: "Ğ²ÑŠÑ€Ğ½Ğ¸",
+change_smooth_selection: "Ğ²ĞºĞ»ÑÑ‡Ğ¸/Ğ¸Ğ·ĞºĞ»ÑÑ‡Ğ¸ Ğ½ÑĞºĞ¾Ğ¹ Ğ¾Ñ‚ Ñ„ÑƒĞ½ĞºÑ†Ğ¸Ğ¸Ñ‚Ğµ Ğ·Ğ° Ğ¿Ñ€ĞµĞ³Ğ»ĞµĞ´ (Ğ¿Ğ¾ ĞºÑ€Ğ°ÑĞ¸Ğ²Ğ¾, Ğ½Ğ¾ Ğ¿Ğ¾Ğ²ĞµÑ‡Ğµ Ğ½Ğ°Ñ‚Ğ¾Ğ²Ğ°Ñ€Ğ²Ğ°)",
+highlight: "Ğ¿Ñ€ĞµĞ²ĞºĞ»ÑÑ‡Ğ²Ğ°Ğ½Ğµ Ğ½Ğ° Ğ¾Ñ†Ğ²ĞµÑ‚ÑĞ²Ğ°Ğ½Ğµ Ğ½Ğ° ÑĞ¸Ğ½Ñ‚Ğ°ĞºÑĞ¸ÑĞ° Ğ²ĞºĞ»ÑÑ‡ĞµĞ½Ğ°/Ğ¸Ğ·ĞºĞ»ÑÑ‡ĞµĞ½Ğ°",
+reset_highlight: "Ğ²ÑŠÑÑ‚Ğ°Ğ½Ğ¾Ğ²Ğ¸ Ğ¾Ñ†Ğ²ĞµÑ‚ÑĞ²Ğ°Ğ½Ğµ Ğ½Ğ° ÑĞ¸Ğ½Ñ‚Ğ°ĞºÑĞ¸ÑĞ° (Ğ°ĞºĞ¾ Ğ½Ğµ Ğµ ÑĞ¸Ğ½Ñ…Ñ€Ğ¾Ğ½Ğ¸Ğ·Ğ¸Ñ€Ğ°Ğ½ Ñ Ñ‚ĞµĞºÑÑ‚Ğ°)",
+word_wrap: "Ñ€ĞµĞ¶Ğ¸Ğ¼ Ğ½Ğ° Ğ¿Ñ€ĞµĞ½Ğ°ÑÑĞ½Ğµ Ğ½Ğ° Ğ´ÑŠĞ»Ğ³Ğ¸ Ñ€ĞµĞ´Ğ¾Ğ²Ğµ",
+help: "Ğ·Ğ° Ğ¿Ñ€Ğ¾Ğ³Ñ€Ğ°Ğ¼Ğ°Ñ‚Ğ°",
+save: "ÑÑŠÑ…Ñ€Ğ°Ğ½Ğ¸",
+load: "Ğ·Ğ°Ñ€ĞµĞ´Ğ¸",
+line_abbr: "Ğ¡Ñ‚Ñ€",
+char_abbr: "Ğ¡Ñ‚Ğ»Ğ±",
+position: "ĞŸĞ¾Ğ·Ğ¸Ñ†Ğ¸Ñ",
+total: "Ğ’ÑĞ¸Ñ‡ĞºĞ¾",
+close_popup: "Ğ·Ğ°Ñ‚Ğ²Ğ¾Ñ€Ğ¸ Ğ¿Ñ€Ğ¾Ğ·Ğ¾Ñ€ĞµÑ†Ğ°",
+shortcuts: "Ğ‘ÑŠÑ€Ğ·Ğ¸ ĞºĞ»Ğ°Ğ²Ğ¸ÑˆĞ¸",
+add_tab: "Ğ´Ğ¾Ğ±Ğ°Ğ²Ğ¸ Ñ‚Ğ°Ğ±ÑƒĞ»Ğ°Ñ†Ğ¸Ñ Ğ² Ñ‚ĞµĞºÑÑ‚Ğ°",
+remove_tab: "Ğ¿Ñ€ĞµĞ¼Ğ°Ñ…Ğ½Ğ¸ Ñ‚Ğ°Ğ±ÑƒĞ»Ğ°Ñ†Ğ¸ÑÑ‚Ğ° Ğ² Ñ‚ĞµĞºÑÑ‚Ğ°",
+about_notice: "Ğ’Ğ½Ğ¸Ğ¼Ğ°Ğ½Ğ¸Ğµ: Ğ¸Ğ·Ğ¿Ğ¾Ğ»Ğ·Ğ²Ğ°Ğ¹Ñ‚Ğµ Ñ„ÑƒĞ½ĞºÑ†Ğ¸ÑÑ‚Ğ° Ğ¾Ñ†Ğ²ĞµÑ‚ÑĞ²Ğ°Ğ½Ğµ Ğ½Ğ° ÑĞ¸Ğ½Ñ‚Ğ°ĞºÑĞ¸ÑĞ° ÑĞ°Ğ¼Ğ¾ Ğ·Ğ° Ğ¼Ğ°Ğ»ĞºĞ¸ Ñ‚ĞµĞºÑÑ‚Ğ¾Ğ²Ğµ",
+toggle: "ĞŸÑ€ĞµĞ²ĞºĞ»ÑÑ‡Ğ¸ Ñ€ĞµĞ´Ğ°ĞºÑ‚Ğ¾Ñ€",
+accesskey: "Ğ‘ÑŠÑ€Ğ· ĞºĞ»Ğ°Ğ²Ğ¸Ñˆ",
+tab: "Tab",
+shift: "Shift",
+ctrl: "Ctrl",
+esc: "Esc",
+processing: "Ğ—Ğ°Ñ€ĞµĞ¶Ğ´Ğ°Ğ½Ğµ...",
+fullscreen: "Ğ½Ğ° Ñ†ÑĞ» ĞµĞºÑ€Ğ°Ğ½",
+syntax_selection: "--Ğ¡Ğ¸Ğ½Ñ‚Ğ°ĞºÑĞ¸Ñ--",
+close_tab: "Ğ—Ğ°Ñ‚Ğ²Ğ¾Ñ€Ğ¸ Ñ„Ğ°Ğ¹Ğ»Ğ°"
+};

Property changes on: tags/2.8.2/wb/include/editarea/langs/bg.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/langs/de.js
===================================================================
--- tags/2.8.2/wb/include/editarea/langs/de.js	(nonexistent)
+++ tags/2.8.2/wb/include/editarea/langs/de.js	(revision 1481)
@@ -0,0 +1,48 @@
+editAreaLoader.lang["de"]={
+new_document: "Neues Dokument",
+search_button: "Suchen und Ersetzen",
+search_command: "Weitersuchen / &ouml;ffne Suchfeld",
+search: "Suchen",
+replace: "Ersetzen",
+replace_command: "Ersetzen / &ouml;ffne Suchfeld",
+find_next: "Weitersuchen",
+replace_all: "Ersetze alle Treffer",
+reg_exp: "regul&auml;re Ausdr&uuml;cke",
+match_case: "passt auf den Begriff<br />",
+not_found: "Nicht gefunden.",
+occurrence_replaced: "Die Vorkommen wurden ersetzt.",
+search_field_empty: "Leeres Suchfeld",
+restart_search_at_begin: "Ende des zu durchsuchenden Bereiches erreicht. Es wird die Suche von Anfang an fortgesetzt.", //find a shorter translation
+move_popup: "Suchfenster bewegen",
+font_size: "--Schriftgr&ouml;&szlig;e--",
+go_to_line: "Gehe zu Zeile",
+go_to_line_prompt: "Gehe zu Zeilennummmer:",
+undo: "R&uuml;ckg&auml;ngig",
+redo: "Wiederherstellen",
+change_smooth_selection: "Aktiviere/Deaktiviere einige Features (weniger Bildschirmnutzung aber mehr CPU-Belastung)",
+highlight: "Syntax Highlighting an- und ausschalten",
+reset_highlight: "Highlighting zur&uuml;cksetzen (falls mit Text nicht konform)",
+word_wrap: "Toggle word wrapping mode",
+help: "Info",
+save: "Speichern",
+load: "&Ouml;ffnen",
+line_abbr: "Ln",
+char_abbr: "Ch",
+position: "Position",
+total: "Gesamt",
+close_popup: "Popup schlie&szlig;en",
+shortcuts: "Shortcuts",
+add_tab: "Tab zum Text hinzuf&uuml;gen",
+remove_tab: "Tab aus Text entfernen",
+about_notice: "Bemerkung: Syntax Highlighting ist nur f&uuml;r kurze Texte",
+toggle: "Editor an- und ausschalten",
+accesskey: "Accesskey",
+tab: "Tab",
+shift: "Shift",
+ctrl: "Ctrl",
+esc: "Esc",
+processing: "In Bearbeitung...",
+fullscreen: "Full-Screen",
+syntax_selection: "--Syntax--",
+close_tab: "Close file"
+};

Property changes on: tags/2.8.2/wb/include/editarea/langs/de.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/langs/ja.js
===================================================================
--- tags/2.8.2/wb/include/editarea/langs/ja.js	(nonexistent)
+++ tags/2.8.2/wb/include/editarea/langs/ja.js	(revision 1481)
@@ -0,0 +1,48 @@
+editAreaLoader.lang["ja"]={
+new_document: "æ–°è¦ä½œæˆ",
+search_button: "æ¤œç´¢ãƒ»ç½®æ›",
+search_command: "æ¬¡ã‚’æ¤œç´¢ / æ¤œç´¢çª“ã‚’è¡¨ç¤º",
+search: "æ¤œç´¢",
+replace: "ç½®æ›",
+replace_command: "ç½®æ› / ç½®æ›çª“ã‚’è¡¨ç¤º",
+find_next: "æ¬¡ã‚’æ¤œç´¢",
+replace_all: "å…¨ç½®æ›",
+reg_exp: "æ­£è¦è¡¨ç¾",
+match_case: "å¤§æ–‡å­—å°æ–‡å­—ã®åŒºåˆ¥",
+not_found: "è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã€‚",
+occurrence_replaced: "ç½®æ›ã—ã¾ã—ãŸã€‚",
+search_field_empty: "æ¤œç´¢å¯¾è±¡æ–‡å­—åˆ—ãŒç©ºã§ã™ã€‚",
+restart_search_at_begin: "çµ‚ç«¯ã«é”ã—ã¾ã—ãŸã€å§‹ã‚ã«æˆ»ã‚Šã¾ã™",
+move_popup: "æ¤œç´¢çª“ã‚’ç§»å‹•",
+font_size: "--ãƒ•ã‚©ãƒ³ãƒˆã‚µã‚¤ã‚º--",
+go_to_line: "æŒ‡å®šè¡Œã¸ç§»å‹•",
+go_to_line_prompt: "æŒ‡å®šè¡Œã¸ç§»å‹•ã—ã¾ã™:",
+undo: "å…ƒã«æˆ»ã™",
+redo: "ã‚„ã‚Šç›´ã—",
+change_smooth_selection: "ã‚¹ãƒ ãƒ¼ã‚¹è¡¨ç¤ºã®åˆ‡ã‚Šæ›¿ãˆï¼ˆCPUã‚’ä½¿ã„ã¾ã™ï¼‰",
+highlight: "æ§‹æ–‡å¼·èª¿è¡¨ç¤ºã®åˆ‡ã‚Šæ›¿ãˆ",
+reset_highlight: "æ§‹æ–‡å¼·èª¿è¡¨ç¤ºã®ãƒªã‚»ãƒƒãƒˆ",
+word_wrap: "toggle word wrapping mode",
+help: "ãƒ˜ãƒ«ãƒ—ã‚’è¡¨ç¤º",
+save: "ä¿å­˜",
+load: "èª­ã¿è¾¼ã¿",
+line_abbr: "è¡Œ",
+char_abbr: "æ–‡å­—",
+position: "ä½ç½®",
+total: "åˆè¨ˆ",
+close_popup: "ãƒãƒƒãƒ—ã‚¢ãƒƒãƒ—ã‚’é–‰ã˜ã‚‹",
+shortcuts: "ã‚·ãƒ§ãƒ¼ãƒˆã‚«ãƒƒãƒˆ",
+add_tab: "ã‚¿ãƒ–ã‚’æŒ¿å…¥ã™ã‚‹",
+remove_tab: "ã‚¿ãƒ–ã‚’å‰Šé™¤ã™ã‚‹",
+about_notice: "æ³¨æ„ï¼šæ§‹æ–‡å¼·èª¿è¡¨ç¤ºã¯çŸ­ã„ãƒ†ã‚­ã‚¹ãƒˆã§ã—ã‹æœ‰åŠ¹ã«æ©Ÿèƒ½ã—ã¾ã›ã‚“ã€‚",
+toggle: "ãƒ†ã‚­ã‚¹ãƒˆã‚¨ãƒªã‚¢ã¨editAreaã®åˆ‡ã‚Šæ›¿ãˆ",
+accesskey: "ã‚¢ã‚¯ã‚»ã‚¹ã‚­ãƒ¼",
+tab: "Tab",
+shift: "Shift",
+ctrl: "Ctrl",
+esc: "Esc",
+processing: "å‡¦ç†ä¸­ã§ã™...",
+fullscreen: "fullscreen",
+syntax_selection: "--Syntax--",
+close_tab: "Close file"
+};

Property changes on: tags/2.8.2/wb/include/editarea/langs/ja.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/langs/fi.js
===================================================================
--- tags/2.8.2/wb/include/editarea/langs/fi.js	(nonexistent)
+++ tags/2.8.2/wb/include/editarea/langs/fi.js	(revision 1481)
@@ -0,0 +1,48 @@
+editAreaLoader.lang["fi"]={
+new_document: "uusi tyhjÃ¤ dokumentti",
+search_button: "etsi ja korvaa",
+search_command: "etsi seuraava / avaa etsintÃ¤valikko",
+search: "etsi",
+replace: "korvaa",
+replace_command: "korvaa / avaa etsintÃ¤valikko",
+find_next: "etsi seuraava",
+replace_all: "korvaa kaikki",
+reg_exp: "sÃ¤Ã¤nnÃ¶lliset lausekkeet",
+match_case: "tÃ¤smÃ¤Ã¤ kirjainkokoon",
+not_found: "ei lÃ¶ytynyt.",
+occurrence_replaced: "esiintymÃ¤Ã¤ korvattu.",
+search_field_empty: "Haettava merkkijono on tyhjÃ¤",
+restart_search_at_begin: "Alueen loppu saavutettiin. Aloitetaan alusta.",
+move_popup: "siirrÃ¤ etsintÃ¤valikkoa",
+font_size: "--Fontin koko--",
+go_to_line: "siirry riville",
+go_to_line_prompt: "mene riville:",
+undo: "peruuta",
+redo: "tee uudelleen",
+change_smooth_selection: "kytke/sammuta joitakin nÃ¤yttÃ¶toimintoja (Ã„lykkÃ¤Ã¤mpi toiminta, mutta suurempi CPU kuormitus)",
+highlight: "kytke syntaksikorostus pÃ¤Ã¤lle/pois",
+reset_highlight: "resetoi syntaksikorostus (jos teksti ei ole synkassa korostuksen kanssa)",
+word_wrap: "toggle word wrapping mode",
+help: "tietoja",
+save: "tallenna",
+load: "lataa",
+line_abbr: "Rv",
+char_abbr: "Pos",
+position: "Paikka",
+total: "YhteensÃ¤",
+close_popup: "sulje valikko",
+shortcuts: "Pikatoiminnot",
+add_tab: "lisÃ¤Ã¤ sisennys tekstiin",
+remove_tab: "poista sisennys tekstistÃ¤",
+about_notice: "Huomautus: syntaksinkorostus toimii vain pienelle tekstille",
+toggle: "Kytke editori",
+accesskey: "PikanÃ¤ppÃ¤in",
+tab: "Tab",
+shift: "Shift",
+ctrl: "Ctrl",
+esc: "Esc",
+processing: "Odota...",
+fullscreen: "koko ruutu",
+syntax_selection: "--Syntaksi--",
+close_tab: "Sulje tiedosto"
+};
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/editarea/langs/fi.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/langs/dk.js
===================================================================
--- tags/2.8.2/wb/include/editarea/langs/dk.js	(nonexistent)
+++ tags/2.8.2/wb/include/editarea/langs/dk.js	(revision 1481)
@@ -0,0 +1,48 @@
+editAreaLoader.lang["dk"]={
+new_document: "nyt tomt dokument",
+search_button: "s&oslash;g og erstat",
+search_command: "find n&aelig;ste / &aring;ben s&oslash;gefelt",
+search: "s&oslash;g",
+replace: "erstat",
+replace_command: "erstat / &aring;ben s&oslash;gefelt",
+find_next: "find n&aelig;ste",
+replace_all: "erstat alle",
+reg_exp: "regular expressions",
+match_case: "forskel pÃ¥ store/sm&aring; bogstaver<br />",
+not_found: "not found.",
+occurrence_replaced: "occurences replaced.",
+search_field_empty: "Search field empty",
+restart_search_at_begin: "End of area reached. Restart at begin.",
+move_popup: "flyt sÃ¸gepopup",
+font_size: "--SkriftstÃ¸rrelse--",
+go_to_line: "g&aring; til linie",
+go_to_line_prompt: "gÃ¥ til linienummer:",
+undo: "fortryd",
+redo: "gentag",
+change_smooth_selection: "sl&aring; display funktioner til/fra (smartere display men mere CPU kr&aelig;vende)",
+highlight: "sl&aring; syntax highlight til/fra",
+reset_highlight: "nulstil highlight (hvis den er desynkroniseret fra teksten)",
+word_wrap: "toggle word wrapping mode",
+help: "om",
+save: "gem",
+load: "hent",
+line_abbr: "Ln",
+char_abbr: "Ch",
+position: "Position",
+total: "Total",
+close_popup: "luk popup",
+shortcuts: "Genveje",
+add_tab: "tilf&oslash;j tabulation til tekst",
+remove_tab: "fjern tabulation fra tekst",
+about_notice: "Husk: syntax highlight funktionen b&oslash;r kun bruge til sm&aring; tekster",
+toggle: "Sl&aring; editor til / fra",
+accesskey: "Accesskey",
+tab: "Tab",
+shift: "Skift",
+ctrl: "Ctrl",
+esc: "Esc",
+processing: "Processing...",
+fullscreen: "fullscreen",
+syntax_selection: "--Syntax--",
+close_tab: "Close file"
+};

Property changes on: tags/2.8.2/wb/include/editarea/langs/dk.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/langs/en.js
===================================================================
--- tags/2.8.2/wb/include/editarea/langs/en.js	(nonexistent)
+++ tags/2.8.2/wb/include/editarea/langs/en.js	(revision 1481)
@@ -0,0 +1,48 @@
+editAreaLoader.lang["en"]={
+new_document: "new empty document",
+search_button: "search and replace",
+search_command: "search next / open search area",
+search: "search",
+replace: "replace",
+replace_command: "replace / open search area",
+find_next: "find next",
+replace_all: "replace all",
+reg_exp: "regular expressions",
+match_case: "match case",
+not_found: "not found.",
+occurrence_replaced: "occurences replaced.",
+search_field_empty: "Search field empty",
+restart_search_at_begin: "End of area reached. Restart at begin.",
+move_popup: "move search popup",
+font_size: "--Font size--",
+go_to_line: "go to line",
+go_to_line_prompt: "go to line number:",
+undo: "undo",
+redo: "redo",
+change_smooth_selection: "enable/disable some display features (smarter display but more CPU charge)",
+highlight: "toggle syntax highlight on/off",
+reset_highlight: "reset highlight (if desyncronized from text)",
+word_wrap: "toggle word wrapping mode",
+help: "about",
+save: "save",
+load: "load",
+line_abbr: "Ln",
+char_abbr: "Ch",
+position: "Position",
+total: "Total",
+close_popup: "close popup",
+shortcuts: "Shortcuts",
+add_tab: "add tabulation to text",
+remove_tab: "remove tabulation to text",
+about_notice: "Notice: syntax highlight function is only for small text",
+toggle: "Toggle editor",
+accesskey: "Accesskey",
+tab: "Tab",
+shift: "Shift",
+ctrl: "Ctrl",
+esc: "Esc",
+processing: "Processing...",
+fullscreen: "fullscreen",
+syntax_selection: "--Syntax--",
+close_tab: "Close file"
+};

Property changes on: tags/2.8.2/wb/include/editarea/langs/en.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/langs/eo.js
===================================================================
--- tags/2.8.2/wb/include/editarea/langs/eo.js	(nonexistent)
+++ tags/2.8.2/wb/include/editarea/langs/eo.js	(revision 1481)
@@ -0,0 +1,48 @@
+editAreaLoader.lang["eo"]={
+new_document: "nova dokumento (vakigas la enhavon)",
+search_button: "ser&#265;i / anstata&#365;igi",
+search_command: "pluser&#265;i / malfermi la ser&#265;o-fenestron",
+search: "ser&#265;i",
+replace: "anstata&#365;igi",
+replace_command: "anstata&#365;igi / malfermi la ser&#265;o-fenestron",
+find_next: "ser&#265;i",
+replace_all: "anstata&#365;igi &#265;ion",
+reg_exp: "regula esprimo",
+match_case: "respekti la usklecon",
+not_found: "ne trovita.",
+occurrence_replaced: "anstata&#365;igoj plenumitaj.",
+search_field_empty: "La kampo estas malplena.",
+restart_search_at_begin: "Fino de teksto &#285;isrirata, &#265;u da&#365;rigi el la komenco?",
+move_popup: "movi la ser&#265;o-fenestron",
+font_size: "--Tipara grando--",
+go_to_line: "iri al la linio",
+go_to_line_prompt: "iri al la linio numero:",
+undo: "rezigni",
+redo: "refari",
+change_smooth_selection: "ebligi/malebligi la funkcioj de vidigo (pli bona vidigo, sed pli da &#349;ar&#285;o de la &#265;eforgano)",
+highlight: "ebligi/malebligi la sintaksan kolorigon",
+reset_highlight: "repravalorizi la sintaksan kolorigon (se malsinkronigon de la teksto)",
+word_wrap: "toggle word wrapping mode",
+help: "pri",
+save: "registri",
+load: "&#349;ar&#285;i",
+line_abbr: "Ln",
+char_abbr: "Sg",
+position: "Pozicio",
+total: "Sumo",
+close_popup: "fermi la &#349;prucfenestron",
+shortcuts: "Fulmoklavo",
+add_tab: "aldoni tabon en la tekston",
+remove_tab: "forigi tablon el la teksto",
+about_notice: "Noto: la sintaksa kolorigo estas nur prikalkulita por mallongaj tekstoj.",
+toggle: "baskuligi la redaktilon",
+accesskey: "Fulmoklavo",
+tab: "Tab",
+shift: "Maj",
+ctrl: "Ktrl",
+esc: "Esk",
+processing: "&#349;argante...",
+fullscreen: "plenekrane",
+syntax_selection: "--Sintakso--",
+close_tab: "Fermi la dosieron"
+};
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/editarea/langs/eo.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/langs/no.js
===================================================================
--- tags/2.8.2/wb/include/editarea/langs/no.js	(nonexistent)
+++ tags/2.8.2/wb/include/editarea/langs/no.js	(revision 1481)
@@ -0,0 +1,65 @@
+editAreaLoader.lang["no"]={
+new_document: "nytt tomt dokument",
+search_button: "s&oslash;k og erstatt",
+search_command: "s&oslash;k etter neste/ &aring;pne s&oslash;ke omr&aring;det",
+search: "s&oslash;k",
+replace: "erstatt",
+replace_command: "erstatt / aring;pne s&oslash;ke omr&aring;det",
+find_next: "finn neste",
+replace_all: "erstatt alle",
+reg_exp: "standard uttrykk",
+match_case: "skill mellom store/ sm&aring; bokstaver",
+not_found: "ikke funnetnot found.",
+occurrence_replaced: "alle forekomstene ble endret.",
+search_field_empty: "Tomt s&oslash;kefelt",
+restart_search_at_begin: "Du er kommet til slutten av s&oslash;keomr&aring;ede. Vil du starte fra begynnelsen.",
+move_popup: "flytt s&oslash;ke vinuet",
+font_size: "--Skrift s&oslash;rrelse--",
+go_to_line: "g&aring; til linje",
+go_to_line_prompt: "g&aring; til linje nummer:",
+undo: "angre",
+redo: "gj&oslash;re igjen",
+change_smooth_selection: "aktivere/ deaktivere visnings alternativer(gj&oslash;r skjermvisningen smartere, men gir h&oslash;yere prosessor belastning)",
+highlight: "skru merking av s&oslash;keord av/ p&aring;",
+reset_highlight: "starte markeringen p&aring; nytt(hvis den er usynkron med deksten)",
+help: "om",
+save: "lagre",
+load: "laste",
+line_abbr: "Ln",
+char_abbr: "Ch",
+position: "Posisjon",
+total: "Total",
+close_popup: "lukk vindu",
+shortcuts: "Snarveier",
+add_tab: "legg til tabulering i teksten",
+remove_tab: "fj&aelig;rn tabulering i teksten",
+about_notice: "OBS!: markering av s&oslash;ketekst er kun for tekst med sm&aring; bokstaver",
+toggle: "skru redigeringsverkt&oslash;yet av/ p&aring;",
+accesskey: "Tillgangsn&oslash;kkel",
+tab: "Tab",
+shift: "Shift",
+ctrl: "Ctrl",
+esc: "Esc",
+processing: "Behandler...",
+fullscreen: "full skjerm",
+syntax_selection: "--Språk--",
+syntax_css: "CSS",
+syntax_html: "HTML",
+syntax_js: "Javascript",
+syntax_php: "Php",
+syntax_python: "Python",
+syntax_vb: "Visual Basic",
+syntax_xml: "Xml",
+syntax_c: "C",
+syntax_cpp: "CPP",
+syntax_basic: "Basic",
+syntax_pas: "Pascal",
+syntax_brainfuck: "Brainfuck",
+syntax_sql: "SQL",
+syntax_ruby: "Ruby",
+syntax_robotstxt: "Robots txt",
+syntax_tsql: "T-SQL",
+syntax_perl: "Perl",
+syntax_coldfusion: "Coldfusion",
+close_tab: "Lukk filen"
+};
Index: tags/2.8.2/wb/include/editarea/images/index.php
===================================================================
--- tags/2.8.2/wb/include/editarea/images/index.php	(nonexistent)
+++ tags/2.8.2/wb/include/editarea/images/index.php	(revision 1481)
@@ -0,0 +1,23 @@
+<?php
+/**
+ *
+ * @category        framework
+ * @package         include
+ * @author		    Christophe Dolivet (EditArea), Christian Sommer (WB wrapper)
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// prevent directory listing
+header('Location: ../../../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/editarea/images/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/images/word_wrap.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/editarea/images/word_wrap.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/images/processing.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/editarea/images/processing.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/images/spacer.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/editarea/images/spacer.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/images/smooth_selection.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/editarea/images/smooth_selection.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/images/go_to_line.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/editarea/images/go_to_line.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/images/load.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/editarea/images/load.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/images/opacity.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/editarea/images/opacity.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/images/help.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/editarea/images/help.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/images/newdocument.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/editarea/images/newdocument.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/images/statusbar_resize.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/editarea/images/statusbar_resize.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/images/redo.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/editarea/images/redo.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/images/save.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/editarea/images/save.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/images/autocompletion.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/editarea/images/autocompletion.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/images/fullscreen.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/editarea/images/fullscreen.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/images/close.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/editarea/images/close.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/images/search.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/editarea/images/search.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/images/undo.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/editarea/images/undo.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/images/move.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/editarea/images/move.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/images/highlight.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/editarea/images/highlight.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/images/reset_highlight.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/editarea/images/reset_highlight.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/edit_area_full.js
===================================================================
--- tags/2.8.2/wb/include/editarea/edit_area_full.js	(nonexistent)
+++ tags/2.8.2/wb/include/editarea/edit_area_full.js	(revision 1481)
@@ -0,0 +1,38 @@
+ function EAL(){var t=this;t.version="0.8.2";date=new Date();t.start_time=date.getTime();t.win="loading";t.error=false;t.baseURL="";t.template="";t.lang={};t.load_syntax={};t.syntax={};t.loadedFiles=[];t.waiting_loading={};t.scripts_to_load=[];t.sub_scripts_to_load=[];t.syntax_display_name={'basic':'Basic','brainfuck':'Brainfuck','c':'C','coldfusion':'Coldfusion','cpp':'CPP','css':'CSS','html':'HTML','java':'Java','js':'Javascript','pas':'Pascal','perl':'Perl','php':'Php','python':'Python','robotstxt':'Robots txt','ruby':'Ruby','sql':'SQL','tsql':'T-SQL','vb':'Visual Basic','xml':'XML'};t.resize=[];t.hidden={};t.default_settings={debug:false,smooth_selection:true,font_size:"10",font_family:"monospace",start_highlight:false,toolbar:"search,go_to_line,fullscreen,|,undo,redo,|,select_font,|,change_smooth_selection,highlight,reset_highlight,word_wrap,|,help",begin_toolbar:"",end_toolbar:"",is_multi_files:false,allow_resize:"both",show_line_colors:false,min_width:400,min_height:125,replace_tab_by_spaces:false,allow_toggle:true,language:"en",syntax:"",syntax_selection_allow:"css,html,js,php,xml",display:"onload",max_undo:30,browsers:"known",plugins:"",gecko_spellcheck:false,fullscreen:false,is_editable:true,cursor_position:"begin",word_wrap:false,autocompletion:false,load_callback:"",save_callback:"",change_callback:"",submit_callback:"",EA_init_callback:"",EA_delete_callback:"",EA_load_callback:"",EA_unload_callback:"",EA_toggle_on_callback:"",EA_toggle_off_callback:"",EA_file_switch_on_callback:"",EA_file_switch_off_callback:"",EA_file_close_callback:""};t.advanced_buttons=[ ['new_document','newdocument.gif','new_document',false],['search','search.gif','show_search',false],['go_to_line','go_to_line.gif','go_to_line',false],['undo','undo.gif','undo',true],['redo','redo.gif','redo',true],['change_smooth_selection','smooth_selection.gif','change_smooth_selection_mode',true],['reset_highlight','reset_highlight.gif','resync_highlight',true],['highlight','highlight.gif','change_highlight',true],['help','help.gif','show_help',false],['save','save.gif','save',false],['load','load.gif','load',false],['fullscreen','fullscreen.gif','toggle_full_screen',false],['word_wrap','word_wrap.gif','toggle_word_wrap',true],['autocompletion','autocompletion.gif','toggle_autocompletion',true] ];t.set_browser_infos(t);if(t.isIE>=6||t.isGecko||(t.isWebKit&&!t.isSafari<3)||t.isOpera>=9||t.isCamino)t.isValidBrowser=true;
+else t.isValidBrowser=false;t.set_base_url();for(var i=0;i<t.scripts_to_load.length;i++){setTimeout("eAL.load_script('"+t.baseURL+t.scripts_to_load[i]+".js');",1);t.waiting_loading[t.scripts_to_load[i]+".js"]=false;}t.add_event(window,"load",EAL.prototype.window_loaded);};EAL.prototype={has_error:function(){this.error=true;for(var i in EAL.prototype){EAL.prototype[i]=function(){};}},set_browser_infos:function(o){ua=navigator.userAgent;o.isWebKit=/WebKit/.test(ua);o.isGecko=!o.isWebKit&&/Gecko/.test(ua);o.isMac=/Mac/.test(ua);o.isIE=(navigator.appName=="Microsoft Internet Explorer");if(o.isIE){o.isIE=ua.replace(/^.*?MSIE\s+([0-9\.]+).*$/,"$1");if(o.isIE<6)o.has_error();}if(o.isOpera=(ua.indexOf('Opera')!=-1)){o.isOpera=ua.replace(/^.*?Opera.*?([0-9\.]+).*$/i,"$1");if(o.isOpera<9)o.has_error();o.isIE=false;}if(o.isFirefox=(ua.indexOf('Firefox')!=-1))o.isFirefox=ua.replace(/^.*?Firefox.*?([0-9\.]+).*$/i,"$1");if(ua.indexOf('Iceweasel')!=-1)o.isFirefox=ua.replace(/^.*?Iceweasel.*?([0-9\.]+).*$/i,"$1");if(ua.indexOf('GranParadiso')!=-1)o.isFirefox=ua.replace(/^.*?GranParadiso.*?([0-9\.]+).*$/i,"$1");if(ua.indexOf('BonEcho')!=-1)o.isFirefox=ua.replace(/^.*?BonEcho.*?([0-9\.]+).*$/i,"$1");if(ua.indexOf('SeaMonkey')!=-1)o.isFirefox=(ua.replace(/^.*?SeaMonkey.*?([0-9\.]+).*$/i,"$1"))+1;if(o.isCamino=(ua.indexOf('Camino')!=-1))o.isCamino=ua.replace(/^.*?Camino.*?([0-9\.]+).*$/i,"$1");if(o.isSafari=(ua.indexOf('Safari')!=-1))o.isSafari=ua.replace(/^.*?Version\/([0-9]+\.[0-9]+).*$/i,"$1");if(o.isChrome=(ua.indexOf('Chrome')!=-1)){o.isChrome=ua.replace(/^.*?Chrome.*?([0-9\.]+).*$/i,"$1");o.isSafari=false;}},window_loaded:function(){eAL.win="loaded";if(document.forms){for(var i=0;i<document.forms.length;i++){var form=document.forms[i];form.edit_area_replaced_submit=null;try{form.edit_area_replaced_submit=form.onsubmit;form.onsubmit="";}catch(e){}eAL.add_event(form,"submit",EAL.prototype.submit);eAL.add_event(form,"reset",EAL.prototype.reset);}}eAL.add_event(window,"unload",function(){for(var i in eAs){eAL.delete_instance(i);}});},init_ie_textarea:function(id){var a=document.getElementById(id);try{if(a&&typeof(a.focused)=="undefined"){a.focus();a.focused=true;a.selectionStart=a.selectionEnd=0;get_IE_selection(a);eAL.add_event(a,"focus",IE_textarea_focus);eAL.add_event(a,"blur",IE_textarea_blur);}}catch(ex){}},init:function(settings){var t=this,s=settings,i;if(!s["id"])t.has_error();if(t.error)return;if(eAs[s["id"]])t.delete_instance(s["id"]);for(i in t.default_settings){if(typeof(s[i])=="undefined")s[i]=t.default_settings[i];}if(s["browsers"]=="known"&&t.isValidBrowser==false){return;}if(s["begin_toolbar"].length>0)s["toolbar"]=s["begin_toolbar"]+","+s["toolbar"];if(s["end_toolbar"].length>0)s["toolbar"]=s["toolbar"]+","+s["end_toolbar"];s["tab_toolbar"]=s["toolbar"].replace(/ /g,"").split(",");s["plugins"]=s["plugins"].replace(/ /g,"").split(",");for(i=0;i<s["plugins"].length;i++){if(s["plugins"][i].length==0)s["plugins"].splice(i,1);}t.get_template();t.load_script(t.baseURL+"langs/"+s["language"]+".js");if(s["syntax"].length>0){s["syntax"]=s["syntax"].toLowerCase();t.load_script(t.baseURL+"reg_syntax/"+s["syntax"]+".js");}eAs[s["id"]]={"settings":s};eAs[s["id"]]["displayed"]=false;eAs[s["id"]]["hidden"]=false;t.start(s["id"]);},delete_instance:function(id){var d=document,fs=window.frames,span,iframe;eAL.execCommand(id,"EA_delete");if(fs["frame_"+id]&&fs["frame_"+id].editArea){if(eAs[id]["displayed"])eAL.toggle(id,"off");fs["frame_"+id].editArea.execCommand("EA_unload");}span=d.getElementById("EditAreaArroundInfos_"+id);if(span)span.parentNode.removeChild(span);iframe=d.getElementById("frame_"+id);if(iframe){iframe.parentNode.removeChild(iframe);try{delete fs["frame_"+id];}catch(e){}}delete eAs[id];},start:function(id){var t=this,d=document,f,span,father,next,html='',html_toolbar_content='',template,content,i;if(t.win!="loaded"){setTimeout("eAL.start('"+id+"');",50);return;}for(i in t.waiting_loading){if(t.waiting_loading[i]!="loaded"&&typeof(t.waiting_loading[i])!="function"){setTimeout("eAL.start('"+id+"');",50);return;}}if(!t.lang[eAs[id]["settings"]["language"]]||(eAs[id]["settings"]["syntax"].length>0&&!t.load_syntax[eAs[id]["settings"]["syntax"]])){setTimeout("eAL.start('"+id+"');",50);return;}if(eAs[id]["settings"]["syntax"].length>0)t.init_syntax_regexp();if(!d.getElementById("EditAreaArroundInfos_"+id)&&(eAs[id]["settings"]["debug"]||eAs[id]["settings"]["allow_toggle"])){span=d.createElement("span");span.id="EditAreaArroundInfos_"+id;if(eAs[id]["settings"]["allow_toggle"]){checked=(eAs[id]["settings"]["display"]=="onload")?"checked='checked'":"";html+="<div id='edit_area_toggle_"+i+"'>";html+="<input id='edit_area_toggle_checkbox_"+id+"' class='toggle_"+id+"' type='checkbox' onclick='eAL.toggle(\""+id+"\");' accesskey='e' "+checked+" />";html+="<label for='edit_area_toggle_checkbox_"+id+"'>{$toggle}</label></div>";}if(eAs[id]["settings"]["debug"])html+="<textarea id='edit_area_debug_"+id+"' spellcheck='off' style='z-index:20;width:100%;height:120px;overflow:auto;border:solid black 1px;'></textarea><br />";html=t.translate(html,eAs[id]["settings"]["language"]);span.innerHTML=html;father=d.getElementById(id).parentNode;next=d.getElementById(id).nextSibling;if(next==null)father.appendChild(span);
+else father.insertBefore(span,next);}if(!eAs[id]["initialized"]){t.execCommand(id,"EA_init");if(eAs[id]["settings"]["display"]=="later"){eAs[id]["initialized"]=true;return;}}if(t.isIE){t.init_ie_textarea(id);}var area=eAs[id];for(i=0;i<area["settings"]["tab_toolbar"].length;i++){html_toolbar_content+=t.get_control_html(area["settings"]["tab_toolbar"][i],area["settings"]["language"]);}html_toolbar_content=t.translate(html_toolbar_content,area["settings"]["language"],"template");if(!t.iframe_script){t.iframe_script="";for(i=0;i<t.sub_scripts_to_load.length;i++)t.iframe_script+='<script language="javascript" type="text/javascript" src="'+t.baseURL+t.sub_scripts_to_load[i]+'.js"></script>';}for(i=0;i<area["settings"]["plugins"].length;i++){if(!t.all_plugins_loaded)t.iframe_script+='<script language="javascript" type="text/javascript" src="'+t.baseURL+'plugins/'+area["settings"]["plugins"][i]+'/'+area["settings"]["plugins"][i]+'.js"></script>';t.iframe_script+='<script language="javascript" type="text/javascript" src="'+t.baseURL+'plugins/'+area["settings"]["plugins"][i]+'/langs/'+area["settings"]["language"]+'.js"></script>';}if(!t.iframe_css){t.iframe_css="<link href='"+t.baseURL+"edit_area.css' rel='stylesheet' type='text/css' />";}template=t.template.replace(/\[__BASEURL__\]/g,t.baseURL);template=template.replace("[__TOOLBAR__]",html_toolbar_content);template=t.translate(template,area["settings"]["language"],"template");template=template.replace("[__CSSRULES__]",t.iframe_css);template=template.replace("[__JSCODE__]",t.iframe_script);template=template.replace("[__EA_VERSION__]",t.version);area.textarea=d.getElementById(area["settings"]["id"]);eAs[area["settings"]["id"]]["textarea"]=area.textarea;if(typeof(window.frames["frame_"+area["settings"]["id"]])!='undefined')delete window.frames["frame_"+area["settings"]["id"]];father=area.textarea.parentNode;content=d.createElement("iframe");content.name="frame_"+area["settings"]["id"];content.id="frame_"+area["settings"]["id"];content.style.borderWidth="0px";setAttribute(content,"frameBorder","0");content.style.overflow="hidden";content.style.display="none";next=area.textarea.nextSibling;if(next==null)father.appendChild(content);
+else father.insertBefore(content,next);f=window.frames["frame_"+area["settings"]["id"]];f.document.open();f.eAs=eAs;f.area_id=area["settings"]["id"];f.document.area_id=area["settings"]["id"];f.document.write(template);f.document.close();},toggle:function(id,toggle_to){if(!toggle_to)toggle_to=(eAs[id]["displayed"]==true)?"off":"on";if(eAs[id]["displayed"]==true&&toggle_to=="off"){this.toggle_off(id);}
+else if(eAs[id]["displayed"]==false&&toggle_to=="on"){this.toggle_on(id);}return false;},toggle_off:function(id){var fs=window.frames,f,t,parNod,nxtSib,selStart,selEnd,scrollTop,scrollLeft;if(fs["frame_"+id]){f=fs["frame_"+id];t=eAs[id]["textarea"];if(f.editArea.fullscreen['isFull'])f.editArea.toggle_full_screen(false);eAs[id]["displayed"]=false;t.wrap="off";setAttribute(t,"wrap","off");parNod=t.parentNode;nxtSib=t.nextSibling;parNod.removeChild(t);parNod.insertBefore(t,nxtSib);t.value=f.editArea.textarea.value;selStart=f.editArea.last_selection["selectionStart"];selEnd=f.editArea.last_selection["selectionEnd"];scrollTop=f.document.getElementById("result").scrollTop;scrollLeft=f.document.getElementById("result").scrollLeft;document.getElementById("frame_"+id).style.display='none';t.style.display="inline";try{t.focus();}catch(e){};if(this.isIE){t.selectionStart=selStart;t.selectionEnd=selEnd;t.focused=true;set_IE_selection(t);}
+else{if(this.isOpera&&this.isOpera < 9.6){t.setSelectionRange(0,0);}try{t.setSelectionRange(selStart,selEnd);}catch(e){};}t.scrollTop=scrollTop;t.scrollLeft=scrollLeft;f.editArea.execCommand("toggle_off");}},toggle_on:function(id){var fs=window.frames,f,t,selStart=0,selEnd=0,scrollTop=0,scrollLeft=0,curPos,elem;if(fs["frame_"+id]){f=fs["frame_"+id];t=eAs[id]["textarea"];area=f.editArea;area.textarea.value=t.value;curPos=eAs[id]["settings"]["cursor_position"];if(t.use_last==true){selStart=t.last_selectionStart;selEnd=t.last_selectionEnd;scrollTop=t.last_scrollTop;scrollLeft=t.last_scrollLeft;t.use_last=false;}
+else if(curPos=="auto"){try{selStart=t.selectionStart;selEnd=t.selectionEnd;scrollTop=t.scrollTop;scrollLeft=t.scrollLeft;}catch(ex){}}this.set_editarea_size_from_textarea(id,document.getElementById("frame_"+id));t.style.display="none";document.getElementById("frame_"+id).style.display="inline";area.execCommand("focus");eAs[id]["displayed"]=true;area.execCommand("update_size");f.document.getElementById("result").scrollTop=scrollTop;f.document.getElementById("result").scrollLeft=scrollLeft;area.area_select(selStart,selEnd-selStart);area.execCommand("toggle_on");}
+else{elem=document.getElementById(id);elem.last_selectionStart=elem.selectionStart;elem.last_selectionEnd=elem.selectionEnd;elem.last_scrollTop=elem.scrollTop;elem.last_scrollLeft=elem.scrollLeft;elem.use_last=true;eAL.start(id);}},set_editarea_size_from_textarea:function(id,frame){var elem,width,height;elem=document.getElementById(id);width=Math.max(eAs[id]["settings"]["min_width"],elem.offsetWidth)+"px";height=Math.max(eAs[id]["settings"]["min_height"],elem.offsetHeight)+"px";if(elem.style.width.indexOf("%")!=-1)width=elem.style.width;if(elem.style.height.indexOf("%")!=-1)height=elem.style.height;frame.style.width=width;frame.style.height=height;},set_base_url:function(){var t=this,elems,i,docBasePath;if(!this.baseURL){elems=document.getElementsByTagName('script');for(i=0;i<elems.length;i++){if(elems[i].src&&elems[i].src.match(/edit_area_[^\\\/]*$/i)){var src=unescape(elems[i].src);src=src.substring(0,src.lastIndexOf('/'));this.baseURL=src;this.file_name=elems[i].src.substr(elems[i].src.lastIndexOf("/")+1);break;}}}docBasePath=document.location.href;if(docBasePath.indexOf('?')!=-1)docBasePath=docBasePath.substring(0,docBasePath.indexOf('?'));docBasePath=docBasePath.substring(0,docBasePath.lastIndexOf('/'));if(t.baseURL.indexOf('://')==-1&&t.baseURL.charAt(0)!='/'){t.baseURL=docBasePath+"/"+t.baseURL;}t.baseURL+="/";},get_button_html:function(id,img,exec,isFileSpecific,baseURL){var cmd,html;if(!baseURL)baseURL=this.baseURL;cmd='editArea.execCommand(\''+exec+'\')';html='<a id="a_'+id+'" href="javascript:'+cmd+'" onclick="'+cmd+';return false;" onmousedown="return false;" target="_self" fileSpecific="'+(isFileSpecific?'yes':'no')+'">';html+='<img id="'+id+'" src="'+baseURL+'images/'+img+'" title="{$'+id+'}" width="20" height="20" class="editAreaButtonNormal" onmouseover="editArea.switchClass(this,\'editAreaButtonOver\');" onmouseout="editArea.restoreClass(this);" onmousedown="editArea.restoreAndSwitchClass(this,\'editAreaButtonDown\');" /></a>';return html;},get_control_html:function(button_name,lang){var t=this,i,but,html,si;for(i=0;i<t.advanced_buttons.length;i++){but=t.advanced_buttons[i];if(but[0]==button_name){return t.get_button_html(but[0],but[1],but[2],but[3]);}}switch(button_name){case "*":case "return":return "<br />";case "|":case "separator":return '<img src="'+t.baseURL+'images/spacer.gif" width="1" height="15" class="editAreaSeparatorLine">';case "select_font":html="<select id='area_font_size' onchange='javascript:editArea.execCommand(\"change_font_size\")' fileSpecific='yes'>";html+="<option value='-1'>{$font_size}</option>";si=[8,9,10,11,12,14];for(i=0;i<si.length;i++){html+="<option value='"+si[i]+"'>"+si[i]+" pt</option>";}html+="</select>";return html;case "syntax_selection":html="<select id='syntax_selection' onchange='javascript:editArea.execCommand(\"change_syntax\",this.value)' fileSpecific='yes'>";html+="<option value='-1'>{$syntax_selection}</option>";html+="</select>";return html;}return "<span id='tmp_tool_"+button_name+"'>["+button_name+"]</span>";},get_template:function(){if(this.template==""){var xhr_object=null;if(window.XMLHttpRequest)xhr_object=new XMLHttpRequest();
+else if(window.ActiveXObject)xhr_object=new ActiveXObject("Microsoft.XMLHTTP");
+else{alert("XMLHTTPRequest not supported. EditArea not loaded");return;}xhr_object.open("GET",this.baseURL+"template.html",false);xhr_object.send(null);if(xhr_object.readyState==4)this.template=xhr_object.responseText;
+else this.has_error();}},translate:function(text,lang,mode){if(mode=="word")text=eAL.get_word_translation(text,lang);
+else if(mode="template"){eAL.current_language=lang;text=text.replace(/\{\$([^\}]+)\}/gm,eAL.translate_template);}return text;},translate_template:function(){return eAL.get_word_translation(EAL.prototype.translate_template.arguments[1],eAL.current_language);},get_word_translation:function(val,lang){var i;for(i in eAL.lang[lang]){if(i==val)return eAL.lang[lang][i];}return "_"+val;},load_script:function(url){var t=this,d=document,script,head;if(t.loadedFiles[url])return;try{script=d.createElement("script");script.type="text/javascript";script.src=url;script.charset="UTF-8";d.getElementsByTagName("head")[0].appendChild(script);}catch(e){d.write('<sc'+'ript language="javascript" type="text/javascript" src="'+url+'" charset="UTF-8"></sc'+'ript>');}t.loadedFiles[url]=true;},add_event:function(obj,name,handler){try{if(obj.attachEvent){obj.attachEvent("on"+name,handler);}
+else{obj.addEventListener(name,handler,false);}}catch(e){}},remove_event:function(obj,name,handler){try{if(obj.detachEvent)obj.detachEvent("on"+name,handler);
+else obj.removeEventListener(name,handler,false);}catch(e){}},reset:function(e){var formObj,is_child,i,x;formObj=eAL.isIE ? window.event.srcElement:e.target;if(formObj.tagName!='FORM')formObj=formObj.form;for(i in eAs){is_child=false;for(x=0;x<formObj.elements.length;x++){if(formObj.elements[x].id==i)is_child=true;}if(window.frames["frame_"+i]&&is_child&&eAs[i]["displayed"]==true){var exec='window.frames["frame_'+i+'"].editArea.textarea.value=document.getElementById("'+i+'").value;';exec+='window.frames["frame_'+i+'"].editArea.execCommand("focus");';exec+='window.frames["frame_'+i+'"].editArea.check_line_selection();';exec+='window.frames["frame_'+i+'"].editArea.execCommand("reset");';window.setTimeout(exec,10);}}return;},submit:function(e){var formObj,is_child,fs=window.frames,i,x;formObj=eAL.isIE ? window.event.srcElement:e.target;if(formObj.tagName!='FORM')formObj=formObj.form;for(i in eAs){is_child=false;for(x=0;x<formObj.elements.length;x++){if(formObj.elements[x].id==i)is_child=true;}if(is_child){if(fs["frame_"+i]&&eAs[i]["displayed"]==true)document.getElementById(i).value=fs["frame_"+i].editArea.textarea.value;eAL.execCommand(i,"EA_submit");}}if(typeof(formObj.edit_area_replaced_submit)=="function"){res=formObj.edit_area_replaced_submit();if(res==false){if(eAL.isIE)return false;
+else e.preventDefault();}}return;},getValue:function(id){if(window.frames["frame_"+id]&&eAs[id]["displayed"]==true){return window.frames["frame_"+id].editArea.textarea.value;}
+else if(elem=document.getElementById(id)){return elem.value;}return false;},setValue:function(id,new_val){var fs=window.frames;if((f=fs["frame_"+id])&&eAs[id]["displayed"]==true){f.editArea.textarea.value=new_val;f.editArea.execCommand("focus");f.editArea.check_line_selection(false);f.editArea.execCommand("onchange");}
+else if(elem=document.getElementById(id)){elem.value=new_val;}},getSelectionRange:function(id){var sel,eA,fs=window.frames;sel={"start":0,"end":0};if(fs["frame_"+id]&&eAs[id]["displayed"]==true){eA=fs["frame_"+id].editArea;sel["start"]=eA.textarea.selectionStart;sel["end"]=eA.textarea.selectionEnd;}
+else if(elem=document.getElementById(id)){sel=getSelectionRange(elem);}return sel;},setSelectionRange:function(id,new_start,new_end){var fs=window.frames;if(fs["frame_"+id]&&eAs[id]["displayed"]==true){fs["frame_"+id].editArea.area_select(new_start,new_end-new_start);if(!this.isIE){fs["frame_"+id].editArea.check_line_selection(false);fs["frame_"+id].editArea.scroll_to_view();}}
+else if(elem=document.getElementById(id)){setSelectionRange(elem,new_start,new_end);}},getSelectedText:function(id){var sel=this.getSelectionRange(id);return this.getValue(id).substring(sel["start"],sel["end"]);},setSelectedText:function(id,new_val){var fs=window.frames,d=document,sel,text,scrollTop,scrollLeft,new_sel_end;new_val=new_val.replace(/\r/g,"");sel=this.getSelectionRange(id);text=this.getValue(id);if(fs["frame_"+id]&&eAs[id]["displayed"]==true){scrollTop=fs["frame_"+id].document.getElementById("result").scrollTop;scrollLeft=fs["frame_"+id].document.getElementById("result").scrollLeft;}
+else{scrollTop=d.getElementById(id).scrollTop;scrollLeft=d.getElementById(id).scrollLeft;}text=text.substring(0,sel["start"])+new_val+text.substring(sel["end"]);this.setValue(id,text);new_sel_end=sel["start"]+new_val.length;this.setSelectionRange(id,sel["start"],new_sel_end);if(new_val !=this.getSelectedText(id).replace(/\r/g,"")){this.setSelectionRange(id,sel["start"],new_sel_end+new_val.split("\n").length-1);}if(fs["frame_"+id]&&eAs[id]["displayed"]==true){fs["frame_"+id].document.getElementById("result").scrollTop=scrollTop;fs["frame_"+id].document.getElementById("result").scrollLeft=scrollLeft;fs["frame_"+id].editArea.execCommand("onchange");}
+else{d.getElementById(id).scrollTop=scrollTop;d.getElementById(id).scrollLeft=scrollLeft;}},insertTags:function(id,open_tag,close_tag){var old_sel,new_sel;old_sel=this.getSelectionRange(id);text=open_tag+this.getSelectedText(id)+close_tag;eAL.setSelectedText(id,text);new_sel=this.getSelectionRange(id);if(old_sel["end"] > old_sel["start"])this.setSelectionRange(id,new_sel["end"],new_sel["end"]);
+else this.setSelectionRange(id,old_sel["start"]+open_tag.length,old_sel["start"]+open_tag.length);},hide:function(id){var fs=window.frames,d=document,t=this,scrollTop,scrollLeft,span;if(d.getElementById(id)&&!t.hidden[id]){t.hidden[id]={};t.hidden[id]["selectionRange"]=t.getSelectionRange(id);if(d.getElementById(id).style.display!="none"){t.hidden[id]["scrollTop"]=d.getElementById(id).scrollTop;t.hidden[id]["scrollLeft"]=d.getElementById(id).scrollLeft;}if(fs["frame_"+id]){t.hidden[id]["toggle"]=eAs[id]["displayed"];if(fs["frame_"+id]&&eAs[id]["displayed"]==true){scrollTop=fs["frame_"+id].document.getElementById("result").scrollTop;scrollLeft=fs["frame_"+id].document.getElementById("result").scrollLeft;}
+else{scrollTop=d.getElementById(id).scrollTop;scrollLeft=d.getElementById(id).scrollLeft;}t.hidden[id]["scrollTop"]=scrollTop;t.hidden[id]["scrollLeft"]=scrollLeft;if(eAs[id]["displayed"]==true)eAL.toggle_off(id);}span=d.getElementById("EditAreaArroundInfos_"+id);if(span){span.style.display='none';}d.getElementById(id).style.display="none";}},show:function(id){var fs=window.frames,d=document,t=this,span;if((elem=d.getElementById(id))&&t.hidden[id]){elem.style.display="inline";elem.scrollTop=t.hidden[id]["scrollTop"];elem.scrollLeft=t.hidden[id]["scrollLeft"];span=d.getElementById("EditAreaArroundInfos_"+id);if(span){span.style.display='inline';}if(fs["frame_"+id]){elem.style.display="inline";if(t.hidden[id]["toggle"]==true)eAL.toggle_on(id);scrollTop=t.hidden[id]["scrollTop"];scrollLeft=t.hidden[id]["scrollLeft"];if(fs["frame_"+id]&&eAs[id]["displayed"]==true){fs["frame_"+id].document.getElementById("result").scrollTop=scrollTop;fs["frame_"+id].document.getElementById("result").scrollLeft=scrollLeft;}
+else{elem.scrollTop=scrollTop;elem.scrollLeft=scrollLeft;}}sel=t.hidden[id]["selectionRange"];t.setSelectionRange(id,sel["start"],sel["end"]);delete t.hidden[id];}},getCurrentFile:function(id){return this.execCommand(id,'get_file',this.execCommand(id,'curr_file'));},getFile:function(id,file_id){return this.execCommand(id,'get_file',file_id);},getAllFiles:function(id){return this.execCommand(id,'get_all_files()');},openFile:function(id,file_infos){return this.execCommand(id,'open_file',file_infos);},closeFile:function(id,file_id){return this.execCommand(id,'close_file',file_id);},setFileEditedMode:function(id,file_id,to){var reg1,reg2;reg1=new RegExp('\\\\','g');reg2=new RegExp('"','g');return this.execCommand(id,'set_file_edited_mode("'+file_id.replace(reg1,'\\\\').replace(reg2,'\\"')+'",'+to+')');},execCommand:function(id,cmd,fct_param){switch(cmd){case "EA_init":if(eAs[id]['settings']["EA_init_callback"].length>0)eval(eAs[id]['settings']["EA_init_callback"]+"('"+id+"');");break;case "EA_delete":if(eAs[id]['settings']["EA_delete_callback"].length>0)eval(eAs[id]['settings']["EA_delete_callback"]+"('"+id+"');");break;case "EA_submit":if(eAs[id]['settings']["submit_callback"].length>0)eval(eAs[id]['settings']["submit_callback"]+"('"+id+"');");break;}if(window.frames["frame_"+id]&&window.frames["frame_"+id].editArea){if(fct_param!=undefined)return eval('window.frames["frame_'+id+'"].editArea.'+cmd+'(fct_param);');
+else return eval('window.frames["frame_'+id+'"].editArea.'+cmd+';');}return false;}};var eAL=new EAL();var eAs={}; function getAttribute(elm,aName){var aValue,taName,i;try{aValue=elm.getAttribute(aName);}catch(exept){}if(! aValue){for(i=0;i < elm.attributes.length;i++){taName=elm.attributes[i] .name.toLowerCase();if(taName==aName){aValue=elm.attributes[i] .value;return aValue;}}}return aValue;};function setAttribute(elm,attr,val){if(attr=="class"){elm.setAttribute("className",val);elm.setAttribute("class",val);}
+else{elm.setAttribute(attr,val);}};function getChildren(elem,elem_type,elem_attribute,elem_attribute_match,option,depth){if(!option)var option="single";if(!depth)var depth=-1;if(elem){var children=elem.childNodes;var result=null;var results=[];for(var x=0;x<children.length;x++){strTagName=new String(children[x].tagName);children_class="?";if(strTagName!="undefined"){child_attribute=getAttribute(children[x],elem_attribute);if((strTagName.toLowerCase()==elem_type.toLowerCase()||elem_type=="")&&(elem_attribute==""||child_attribute==elem_attribute_match)){if(option=="all"){results.push(children[x]);}
+else{return children[x];}}if(depth!=0){result=getChildren(children[x],elem_type,elem_attribute,elem_attribute_match,option,depth-1);if(option=="all"){if(result.length>0){results=results.concat(result);}}
+else if(result!=null){return result;}}}}if(option=="all")return results;}return null;};function isChildOf(elem,parent){if(elem){if(elem==parent)return true;while(elem.parentNode !='undefined'){return isChildOf(elem.parentNode,parent);}}return false;};function getMouseX(e){if(e!=null&&typeof(e.pageX)!="undefined"){return e.pageX;}
+else{return(e!=null?e.x:event.x)+document.documentElement.scrollLeft;}};function getMouseY(e){if(e!=null&&typeof(e.pageY)!="undefined"){return e.pageY;}
+else{return(e!=null?e.y:event.y)+document.documentElement.scrollTop;}};function calculeOffsetLeft(r){return calculeOffset(r,"offsetLeft")};function calculeOffsetTop(r){return calculeOffset(r,"offsetTop")};function calculeOffset(element,attr){var offset=0;while(element){offset+=element[attr];element=element.offsetParent}return offset;};function get_css_property(elem,prop){if(document.defaultView){return document.defaultView.getComputedStyle(elem,null).getPropertyValue(prop);}
+else if(elem.currentStyle){var prop=prop.replace(/-\D/gi,function(sMatch){return sMatch.charAt(sMatch.length-1).toUpperCase();});return elem.currentStyle[prop];}
+else return null;}var _mCE;function start_move_element(e,id,frame){var elem_id=(e.target||e.srcElement).id;if(id)elem_id=id;if(!frame)frame=window;if(frame.event)e=frame.event;_mCE=frame.document.getElementById(elem_id);_mCE.frame=frame;frame.document.onmousemove=move_element;frame.document.onmouseup=end_move_element;mouse_x=getMouseX(e);mouse_y=getMouseY(e);_mCE.start_pos_x=mouse_x-(_mCE.style.left.replace("px","")||calculeOffsetLeft(_mCE));_mCE.start_pos_y=mouse_y-(_mCE.style.top.replace("px","")||calculeOffsetTop(_mCE));return false;};function end_move_element(e){_mCE.frame.document.onmousemove="";_mCE.frame.document.onmouseup="";_mCE=null;};function move_element(e){var newTop,newLeft,maxLeft;if(_mCE.frame&&_mCE.frame.event)e=_mCE.frame.event;newTop=getMouseY(e)-_mCE.start_pos_y;newLeft=getMouseX(e)-_mCE.start_pos_x;maxLeft=_mCE.frame.document.body.offsetWidth-_mCE.offsetWidth;max_top=_mCE.frame.document.body.offsetHeight-_mCE.offsetHeight;newTop=Math.min(Math.max(0,newTop),max_top);newLeft=Math.min(Math.max(0,newLeft),maxLeft);_mCE.style.top=newTop+"px";_mCE.style.left=newLeft+"px";return false;};var nav=eAL.nav;function getSelectionRange(textarea){return{"start":textarea.selectionStart,"end":textarea.selectionEnd};};function setSelectionRange(t,start,end){t.focus();start=Math.max(0,Math.min(t.value.length,start));end=Math.max(start,Math.min(t.value.length,end));if(nav.isOpera&&nav.isOpera < 9.6){t.selectionEnd=1;t.selectionStart=0;t.selectionEnd=1;t.selectionStart=0;}t.selectionStart=start;t.selectionEnd=end;if(nav.isIE)set_IE_selection(t);};function get_IE_selection(t){var d=document,div,range,stored_range,elem,scrollTop,relative_top,line_start,line_nb,range_start,range_end,tab;if(t&&t.focused){if(!t.ea_line_height){div=d.createElement("div");div.style.fontFamily=get_css_property(t,"font-family");div.style.fontSize=get_css_property(t,"font-size");div.style.visibility="hidden";div.innerHTML="0";d.body.appendChild(div);t.ea_line_height=div.offsetHeight;d.body.removeChild(div);}range=d.selection.createRange();try{stored_range=range.duplicate();stored_range.moveToElementText(t);stored_range.setEndPoint('EndToEnd',range);if(stored_range.parentElement()==t){elem=t;scrollTop=0;while(elem.parentNode){scrollTop+=elem.scrollTop;elem=elem.parentNode;}relative_top=range.offsetTop-calculeOffsetTop(t)+scrollTop;line_start=Math.round((relative_top / t.ea_line_height)+1);line_nb=Math.round(range.boundingHeight / t.ea_line_height);range_start=stored_range.text.length-range.text.length;tab=t.value.substr(0,range_start).split("\n");range_start+=(line_start-tab.length)*2;t.selectionStart=range_start;range_end=t.selectionStart+range.text.length;tab=t.value.substr(0,range_start+range.text.length).split("\n");range_end+=(line_start+line_nb-1-tab.length)*2;t.selectionEnd=range_end;}}catch(e){}}if(t&&t.id){setTimeout("get_IE_selection(document.getElementById('"+t.id+"'));",50);}};function IE_textarea_focus(){event.srcElement.focused=true;}function IE_textarea_blur(){event.srcElement.focused=false;}function set_IE_selection(t){var nbLineStart,nbLineStart,nbLineEnd,range;if(!window.closed){nbLineStart=t.value.substr(0,t.selectionStart).split("\n").length-1;nbLineEnd=t.value.substr(0,t.selectionEnd).split("\n").length-1;try{range=document.selection.createRange();range.moveToElementText(t);range.setEndPoint('EndToStart',range);range.moveStart('character',t.selectionStart-nbLineStart);range.moveEnd('character',t.selectionEnd-nbLineEnd-(t.selectionStart-nbLineStart));range.select();}catch(e){}}};eAL.waiting_loading["elements_functions.js"]="loaded";
+ EAL.prototype.start_resize_area=function(){var d=document,a,div,width,height,father;d.onmouseup=eAL.end_resize_area;d.onmousemove=eAL.resize_area;eAL.toggle(eAL.resize["id"]);a=eAs[eAL.resize["id"]]["textarea"];div=d.getElementById("edit_area_resize");if(!div){div=d.createElement("div");div.id="edit_area_resize";div.style.border="dashed #888888 1px";}width=a.offsetWidth-2;height=a.offsetHeight-2;div.style.display="block";div.style.width=width+"px";div.style.height=height+"px";father=a.parentNode;father.insertBefore(div,a);a.style.display="none";eAL.resize["start_top"]=calculeOffsetTop(div);eAL.resize["start_left"]=calculeOffsetLeft(div);};EAL.prototype.end_resize_area=function(e){var d=document,div,a,width,height;d.onmouseup="";d.onmousemove="";div=d.getElementById("edit_area_resize");a=eAs[eAL.resize["id"]]["textarea"];width=Math.max(eAs[eAL.resize["id"]]["settings"]["min_width"],div.offsetWidth-4);height=Math.max(eAs[eAL.resize["id"]]["settings"]["min_height"],div.offsetHeight-4);if(eAL.isIE==6){width-=2;height-=2;}a.style.width=width+"px";a.style.height=height+"px";div.style.display="none";a.style.display="inline";a.selectionStart=eAL.resize["selectionStart"];a.selectionEnd=eAL.resize["selectionEnd"];eAL.toggle(eAL.resize["id"]);return false;};EAL.prototype.resize_area=function(e){var allow,newHeight,newWidth;allow=eAs[eAL.resize["id"]]["settings"]["allow_resize"];if(allow=="both"||allow=="y"){newHeight=Math.max(20,getMouseY(e)-eAL.resize["start_top"]);document.getElementById("edit_area_resize").style.height=newHeight+"px";}if(allow=="both"||allow=="x"){newWidth=Math.max(20,getMouseX(e)-eAL.resize["start_left"]);document.getElementById("edit_area_resize").style.width=newWidth+"px";}return false;};eAL.waiting_loading["resize_area.js"]="loaded";
+	EAL.prototype.get_regexp=function(text_array){res="(\\b)(";for(i=0;i<text_array.length;i++){if(i>0)res+="|";res+=this.get_escaped_regexp(text_array[i]);}res+=")(\\b)";reg=new RegExp(res);return res;};EAL.prototype.get_escaped_regexp=function(str){return str.toString().replace(/(\.|\?|\*|\+|\\|\(|\)|\[|\]|\}|\{|\$|\^|\|)/g,"\\$1");};EAL.prototype.init_syntax_regexp=function(){var lang_style={};for(var lang in this.load_syntax){if(!this.syntax[lang]){this.syntax[lang]={};this.syntax[lang]["keywords_reg_exp"]={};this.keywords_reg_exp_nb=0;if(this.load_syntax[lang]['KEYWORDS']){param="g";if(this.load_syntax[lang]['KEYWORD_CASE_SENSITIVE']===false)param+="i";for(var i in this.load_syntax[lang]['KEYWORDS']){if(typeof(this.load_syntax[lang]['KEYWORDS'][i])=="function")continue;this.syntax[lang]["keywords_reg_exp"][i]=new RegExp(this.get_regexp(this.load_syntax[lang]['KEYWORDS'][i]),param);this.keywords_reg_exp_nb++;}}if(this.load_syntax[lang]['OPERATORS']){var str="";var nb=0;for(var i in this.load_syntax[lang]['OPERATORS']){if(typeof(this.load_syntax[lang]['OPERATORS'][i])=="function")continue;if(nb>0)str+="|";str+=this.get_escaped_regexp(this.load_syntax[lang]['OPERATORS'][i]);nb++;}if(str.length>0)this.syntax[lang]["operators_reg_exp"]=new RegExp("("+str+")","g");}if(this.load_syntax[lang]['DELIMITERS']){var str="";var nb=0;for(var i in this.load_syntax[lang]['DELIMITERS']){if(typeof(this.load_syntax[lang]['DELIMITERS'][i])=="function")continue;if(nb>0)str+="|";str+=this.get_escaped_regexp(this.load_syntax[lang]['DELIMITERS'][i]);nb++;}if(str.length>0)this.syntax[lang]["delimiters_reg_exp"]=new RegExp("("+str+")","g");}var syntax_trace=[];this.syntax[lang]["quotes"]={};var quote_tab=[];if(this.load_syntax[lang]['QUOTEMARKS']){for(var i in this.load_syntax[lang]['QUOTEMARKS']){if(typeof(this.load_syntax[lang]['QUOTEMARKS'][i])=="function")continue;var x=this.get_escaped_regexp(this.load_syntax[lang]['QUOTEMARKS'][i]);this.syntax[lang]["quotes"][x]=x;quote_tab[quote_tab.length]="("+x+"(\\\\.|[^"+x+"])*(?:"+x+"|$))";syntax_trace.push(x);}}this.syntax[lang]["comments"]={};if(this.load_syntax[lang]['COMMENT_SINGLE']){for(var i in this.load_syntax[lang]['COMMENT_SINGLE']){if(typeof(this.load_syntax[lang]['COMMENT_SINGLE'][i])=="function")continue;var x=this.get_escaped_regexp(this.load_syntax[lang]['COMMENT_SINGLE'][i]);quote_tab[quote_tab.length]="("+x+"(.|\\r|\\t)*(\\n|$))";syntax_trace.push(x);this.syntax[lang]["comments"][x]="\n";}}if(this.load_syntax[lang]['COMMENT_MULTI']){for(var i in this.load_syntax[lang]['COMMENT_MULTI']){if(typeof(this.load_syntax[lang]['COMMENT_MULTI'][i])=="function")continue;var start=this.get_escaped_regexp(i);var end=this.get_escaped_regexp(this.load_syntax[lang]['COMMENT_MULTI'][i]);quote_tab[quote_tab.length]="("+start+"(.|\\n|\\r)*?("+end+"|$))";syntax_trace.push(start);syntax_trace.push(end);this.syntax[lang]["comments"][i]=this.load_syntax[lang]['COMMENT_MULTI'][i];}}if(quote_tab.length>0)this.syntax[lang]["comment_or_quote_reg_exp"]=new RegExp("("+quote_tab.join("|")+")","gi");if(syntax_trace.length>0)this.syntax[lang]["syntax_trace_regexp"]=new RegExp("((.|\n)*?)(\\\\*("+syntax_trace.join("|")+"|$))","gmi");if(this.load_syntax[lang]['SCRIPT_DELIMITERS']){this.syntax[lang]["script_delimiters"]={};for(var i in this.load_syntax[lang]['SCRIPT_DELIMITERS']){if(typeof(this.load_syntax[lang]['SCRIPT_DELIMITERS'][i])=="function")continue;this.syntax[lang]["script_delimiters"][i]=this.load_syntax[lang]['SCRIPT_DELIMITERS'];}}this.syntax[lang]["custom_regexp"]={};if(this.load_syntax[lang]['REGEXPS']){for(var i in this.load_syntax[lang]['REGEXPS']){if(typeof(this.load_syntax[lang]['REGEXPS'][i])=="function")continue;var val=this.load_syntax[lang]['REGEXPS'][i];if(!this.syntax[lang]["custom_regexp"][val['execute']])this.syntax[lang]["custom_regexp"][val['execute']]={};this.syntax[lang]["custom_regexp"][val['execute']][i]={'regexp':new RegExp(val['search'],val['modifiers']),'class':val['class']};}}if(this.load_syntax[lang]['STYLES']){lang_style[lang]={};for(var i in this.load_syntax[lang]['STYLES']){if(typeof(this.load_syntax[lang]['STYLES'][i])=="function")continue;if(typeof(this.load_syntax[lang]['STYLES'][i])!="string"){for(var j in this.load_syntax[lang]['STYLES'][i]){lang_style[lang][j]=this.load_syntax[lang]['STYLES'][i][j];}}
+else{lang_style[lang][i]=this.load_syntax[lang]['STYLES'][i];}}}var style="";for(var i in lang_style[lang]){if(lang_style[lang][i].length>0){style+="."+lang+" ."+i.toLowerCase()+" span{"+lang_style[lang][i]+"}\n";style+="."+lang+" ."+i.toLowerCase()+"{"+lang_style[lang][i]+"}\n";}}this.syntax[lang]["styles"]=style;}}};eAL.waiting_loading["reg_syntax.js"]="loaded";
+var editAreaLoader= eAL;var editAreas=eAs;EditAreaLoader=EAL;editAreaLoader.iframe_script= "<script type='text/javascript'> Ãƒ EA(){var t=Ã;t.error=ÃŒ;t.inlinePopup=[{popup_id:\"area_search_replace\",icon_id:\"search\"},{popup_id:\"edit_area_help\",icon_id:\"help\"}];t.plugins={};t.line_number=0;Ãˆ.eAL.set_browser_infos(t);if(t.isIE >=8)t.isIE=7;t.Ã‰={};t.last_text_to_highlight=\"\";t.last_hightlighted_text=\"\";t.syntax_list=[];t.allready_used_syntax={};t.check_line_selection_timer=50;t.Ã‚Focused=ÃŒ;t.highlight_selection_line=null;t.previous=[];t.next=[];t.last_undo=\"\";t.files={};t.filesIdAssoc={};t.curr_file='';t.assocBracket={};t.revertAssocBracket={};t.assocBracket[\"(\"]=\")\";t.assocBracket[\"{\"]=\"}\";t.assocBracket[\"[\"]=\"]\";for(var index in t.assocBracket){t.revertAssocBracket[t.assocBracket[index]]=index;}t.is_editable=Ã‹;t.lineHeight=16;t.tab_nb_char=8;if(t.isOpera)t.tab_nb_char=6;t.is_tabbing=ÃŒ;t.fullscreen={'isFull':ÃŒ};t.isResizing=ÃŒ;t.id=area_id;t.Ã…=eAs[t.id][\"Ã…\"];if((\"\"+t.Ã…['replace_tab_by_spaces']).match(/^[0-9]+$/)){t.tab_nb_char=t.Ã…['replace_tab_by_spaces'];t.tabulation=\"\";for(var i=0;i<t.tab_nb_char;i++)t.tabulation+=\" \";}\nelse{t.tabulation=\"\t\";}if(t.Ã…[\"syntax_selection_allow\"]&&t.Ã…[\"syntax_selection_allow\"].Ã†>0)t.syntax_list=t.Ã…[\"syntax_selection_allow\"].replace(/ /g,\"\").split(\",\");if(t.Ã…['syntax'])t.allready_used_syntax[t.Ã…['syntax']]=Ã‹;};EA.Ã„.init=Ãƒ(){var t=Ã,a,s=t.Ã…;t.Ã‚=_$(\"Ã‚\");t.container=_$(\"container\");t.result=_$(\"result\");t.content_highlight=_$(\"content_highlight\");t.selection_field=_$(\"selection_field\");t.selection_field_text=_$(\"selection_field_text\");t.processing_screen=_$(\"processing\");t.editor_area=_$(\"editor\");t.tab_browsing_area=_$(\"tab_browsing_area\");t.test_font_size=_$(\"test_font_size\");a=t.Ã‚;if(!s['is_editable'])t.set_editable(ÃŒ);t.set_show_line_colors(s['show_line_colors']);if(syntax_selec=_$(\"syntax_selection\")){for(var i=0;i<t.syntax_list.Ã†;i++){var syntax=t.syntax_list[i];var option=document.createElement(\"option\");option.ÃŠ=syntax;if(syntax==s['syntax'])option.selected=\"selected\";dispSyntax=Ãˆ.eAL.syntax_display_name[ syntax ];option.innerHTML=typeof(dispSyntax)=='undefined' ? syntax.substring(0,1).toUpperCase()+syntax.substring(1):dispSyntax;syntax_selec.appendChild(option);}}spans=Ãˆ.getChildren(_$(\"toolbar_1\"),\"span\",\"\",\"\",\"all\",-1);for(var i=0;i<spans.Ã†;i++){id=spans[i].id.replace(/tmp_tool_(.*)/,\"$1\");if(id!=spans[i].id){for(var j in t.plugins){if(typeof(t.plugins[j].get_control_html)==\"Ãƒ\"){html=t.plugins[j].get_control_html(id);if(html!=ÃŒ){html=t.get_translation(html,\"template\");var new_span=document.createElement(\"span\");new_span.innerHTML=html;var father=spans[i].ÃˆNode;spans[i].ÃˆNode.replaceChild(new_span,spans[i]);break;}}}}}if(s[\"debug\"]){t.debug=Ãˆ.document.getElementById(\"edit_area_debug_\"+t.id);}if(_$(\"redo\")!=null)t.switchClassSticky(_$(\"redo\"),'editAreaButtonDisabled',Ã‹);if(typeof(Ãˆ.eAL.syntax[s[\"syntax\"]])!=\"undefined\"){for(var i in Ãˆ.eAL.syntax){if(typeof(Ãˆ.eAL.syntax[i][\"Ã‡s\"])!=\"undefined\"){t.add_Ã‡(Ãˆ.eAL.syntax[i][\"Ã‡s\"]);}}}if(t.isOpera)_$(\"editor\").onkeypress=keyDown;\nelse _$(\"editor\").onkeydown=keyDown;for(var i=0;i<t.inlinePopup.Ã†;i++){if(t.isOpera)_$(t.inlinePopup[i][\"popup_id\"]).onkeypress=keyDown;\nelse _$(t.inlinePopup[i][\"popup_id\"]).onkeydown=keyDown;}if(s[\"allow_resize\"]==\"both\"||s[\"allow_resize\"]==\"x\"||s[\"allow_resize\"]==\"y\")t.allow_resize(Ã‹);Ãˆ.eAL.toggle(t.id,\"on\");t.change_smooth_selection_mode(eA.smooth_selection);t.execCommand(\"change_highlight\",s[\"start_highlight\"]);t.set_font(eA.Ã…[\"font_family\"],eA.Ã…[\"font_size\"]);children=Ãˆ.getChildren(document.body,\"\",\"selec\",\"none\",\"all\",-1);for(var i=0;i<children.Ã†;i++){if(t.isIE)children[i].unselectable=Ã‹;\nelse children[i].onmousedown=Ãƒ(){return ÃŒ};}a.spellcheck=s[\"gecko_spellcheck\"];if(t.isFirefox >='3'){t.content_highlight.Ã‡.paddingLeft=\"1px\";t.selection_field.Ã‡.paddingLeft=\"1px\";t.selection_field_text.Ã‡.paddingLeft=\"1px\";}if(t.isIE&&t.isIE < 8){a.Ã‡.marginTop=\"-1px\";}if(t.isSafari){t.editor_area.Ã‡.position=\"absolute\";a.Ã‡.marginLeft=\"-3px\";if(t.isSafari < 3.2)a.Ã‡.marginTop=\"1px\";}Ãˆ.eAL.add_event(t.result,\"click\",Ãƒ(e){if((e.target||e.srcElement)==eA.result){eA.area_select(eA.Ã‚.ÃŠ.Ã†,0);}});if(s['is_multi_files']!=ÃŒ)t.open_file({'id':t.curr_file,'text':''});t.set_word_wrap(s['word_wrap']);setTimeout(\"eA.focus();eA.manage_size();eA.execCommand('EA_load');\",10);t.check_undo();t.check_line_selection(Ã‹);t.scroll_to_view();for(var i in t.plugins){if(typeof(t.plugins[i].onload)==\"Ãƒ\")t.plugins[i].onload();}if(s['fullscreen']==Ã‹)t.toggle_full_screen(Ã‹);Ãˆ.eAL.add_event(window,\"resize\",eA.update_size);Ãˆ.eAL.add_event(Ãˆ.window,\"resize\",eA.update_size);Ãˆ.eAL.add_event(top.window,\"resize\",eA.update_size);Ãˆ.eAL.add_event(window,\"unload\",Ãƒ(){if(Ãˆ.eAL){Ãˆ.eAL.remove_event(Ãˆ.window,\"resize\",eA.update_size);Ãˆ.eAL.remove_event(top.window,\"resize\",eA.update_size);}if(eAs[eA.id]&&eAs[eA.id][\"displayed\"]){eA.execCommand(\"EA_unload\");}});};EA.Ã„.update_size=Ãƒ(){var d=document,pd=Ãˆ.document,height,width,popup,maxLeft,maxTop;if(typeof eAs !='undefined'&&eAs[eA.id]&&eAs[eA.id][\"displayed\"]==Ã‹){if(eA.fullscreen['isFull']){pd.getElementById(\"frame_\"+eA.id).Ã‡.width=pd.getElementsByTagName(\"html\")[0].clientWidth+\"px\";pd.getElementById(\"frame_\"+eA.id).Ã‡.height=pd.getElementsByTagName(\"html\")[0].clientHeight+\"px\";}if(eA.tab_browsing_area.Ã‡.display=='block'&&(!eA.isIE||eA.isIE >=8)){eA.tab_browsing_area.Ã‡.height=\"0px\";eA.tab_browsing_area.Ã‡.height=(eA.result.offsetTop-eA.tab_browsing_area.offsetTop-1)+\"px\";}height=d.body.offsetHeight-eA.get_all_toolbar_height()-4;eA.result.Ã‡.height=height+\"px\";width=d.body.offsetWidth-2;eA.result.Ã‡.width=width+\"px\";for(i=0;i < eA.inlinePopup.Ã†;i++){popup=_$(eA.inlinePopup[i][\"popup_id\"]);maxLeft=d.body.offsetWidth-popup.offsetWidth;maxTop=d.body.offsetHeight-popup.offsetHeight;if(popup.offsetTop > maxTop)popup.Ã‡.top=maxTop+\"px\";if(popup.offsetLeft > maxLeft)popup.Ã‡.left=maxLeft+\"px\";}eA.manage_size(Ã‹);eA.fixLinesHeight(eA.Ã‚.ÃŠ,0,-1);}};EA.Ã„.manage_size=Ãƒ(onlyOneTime){if(!eAs[Ã.id])return ÃŒ;if(eAs[Ã.id][\"displayed\"]==Ã‹&&Ã.Ã‚Focused){var area_height,resized=ÃŒ;if(!Ã.Ã…['word_wrap']){var area_width=Ã.Ã‚.scrollWidth;area_height=Ã.Ã‚.scrollHeight;if(Ã.isOpera&&Ã.isOpera < 9.6){area_width=10000;}if(Ã.Ã‚.previous_scrollWidth!=area_width){Ã.container.Ã‡.width=area_width+\"px\";Ã.Ã‚.Ã‡.width=area_width+\"px\";Ã.content_highlight.Ã‡.width=area_width+\"px\";Ã.Ã‚.previous_scrollWidth=area_width;resized=Ã‹;}}if(Ã.Ã…['word_wrap']){newW=Ã.Ã‚.offsetWidth;if(Ã.isFirefox||Ã.isIE)newW-=2;if(Ã.isSafari)newW-=6;Ã.content_highlight.Ã‡.width=Ã.selection_field_text.Ã‡.width=Ã.selection_field.Ã‡.width=Ã.test_font_size.Ã‡.width=newW+\"px\";}if(Ã.isOpera||Ã.isFirefox||Ã.isSafari){area_height=Ã.getLinePosTop(Ã.Ã‰[\"nb_line\"]+1);}\nelse{area_height=Ã.Ã‚.scrollHeight;}if(Ã.Ã‚.previous_scrollHeight!=area_height){Ã.container.Ã‡.height=(area_height+2)+\"px\";Ã.Ã‚.Ã‡.height=area_height+\"px\";Ã.content_highlight.Ã‡.height=area_height+\"px\";Ã.Ã‚.previous_scrollHeight=area_height;resized=Ã‹;}if(Ã.Ã‰[\"nb_line\"] >=Ã.line_number){var newLines='',destDiv=_$(\"line_number\"),start=Ã.line_number,end=Ã.Ã‰[\"nb_line\"]+100;for(i=start+1;i < end;i++){newLines+='<div id=\"line_'+i+'\">'+i+\"</div>\";Ã.line_number++;}destDiv.innerHTML=destDiv.innerHTML+newLines;if(Ã.Ã…['word_wrap']){Ã.fixLinesHeight(Ã.Ã‚.ÃŠ,start,-1);}}Ã.Ã‚.scrollTop=\"0px\";Ã.Ã‚.scrollLeft=\"0px\";if(resized==Ã‹){Ã.scroll_to_view();}}if(!onlyOneTime)setTimeout(\"eA.manage_size();\",100);};EA.Ã„.execCommand=Ãƒ(cmd,param){for(var i in Ã.plugins){if(typeof(Ã.plugins[i].execCommand)==\"Ãƒ\"){if(!Ã.plugins[i].execCommand(cmd,param))return;}}switch(cmd){case \"save\":if(Ã.Ã…[\"save_callback\"].Ã†>0)eval(\"Ãˆ.\"+Ã.Ã…[\"save_callback\"]+\"('\"+Ã.id+\"',eA.Ã‚.ÃŠ);\");break;case \"load\":if(Ã.Ã…[\"load_callback\"].Ã†>0)eval(\"Ãˆ.\"+Ã.Ã…[\"load_callback\"]+\"('\"+Ã.id+\"');\");break;case \"onchange\":if(Ã.Ã…[\"change_callback\"].Ã†>0)eval(\"Ãˆ.\"+Ã.Ã…[\"change_callback\"]+\"('\"+Ã.id+\"');\");break;case \"EA_load\":if(Ã.Ã…[\"EA_load_callback\"].Ã†>0)eval(\"Ãˆ.\"+Ã.Ã…[\"EA_load_callback\"]+\"('\"+Ã.id+\"');\");break;case \"EA_unload\":if(Ã.Ã…[\"EA_unload_callback\"].Ã†>0)eval(\"Ãˆ.\"+Ã.Ã…[\"EA_unload_callback\"]+\"('\"+Ã.id+\"');\");break;case \"toggle_on\":if(Ã.Ã…[\"EA_toggle_on_callback\"].Ã†>0)eval(\"Ãˆ.\"+Ã.Ã…[\"EA_toggle_on_callback\"]+\"('\"+Ã.id+\"');\");break;case \"toggle_off\":if(Ã.Ã…[\"EA_toggle_off_callback\"].Ã†>0)eval(\"Ãˆ.\"+Ã.Ã…[\"EA_toggle_off_callback\"]+\"('\"+Ã.id+\"');\");break;case \"re_sync\":if(!Ã.do_highlight)break;case \"file_switch_on\":if(Ã.Ã…[\"EA_file_switch_on_callback\"].Ã†>0)eval(\"Ãˆ.\"+Ã.Ã…[\"EA_file_switch_on_callback\"]+\"(param);\");break;case \"file_switch_off\":if(Ã.Ã…[\"EA_file_switch_off_callback\"].Ã†>0)eval(\"Ãˆ.\"+Ã.Ã…[\"EA_file_switch_off_callback\"]+\"(param);\");break;case \"file_close\":if(Ã.Ã…[\"EA_file_close_callback\"].Ã†>0)return eval(\"Ãˆ.\"+Ã.Ã…[\"EA_file_close_callback\"]+\"(param);\");break;default:if(typeof(eval(\"eA.\"+cmd))==\"Ãƒ\"){if(Ã.Ã…[\"debug\"])eval(\"eA.\"+cmd+\"(param);\");\nelse try{eval(\"eA.\"+cmd+\"(param);\");}catch(e){};}}};EA.Ã„.get_translation=Ãƒ(word,mode){if(mode==\"template\")return Ãˆ.eAL.translate(word,Ã.Ã…[\"language\"],mode);\nelse return Ãˆ.eAL.get_word_translation(word,Ã.Ã…[\"language\"]);};EA.Ã„.add_plugin=Ãƒ(plug_name,plug_obj){for(var i=0;i<Ã.Ã…[\"plugins\"].Ã†;i++){if(Ã.Ã…[\"plugins\"][i]==plug_name){Ã.plugins[plug_name]=plug_obj;plug_obj.baseURL=Ãˆ.eAL.baseURL+\"plugins/\"+plug_name+\"/\";if(typeof(plug_obj.init)==\"Ãƒ\")plug_obj.init();}}};EA.Ã„.load_css=Ãƒ(url){try{link=document.createElement(\"link\");link.type=\"text/css\";link.rel=\"Ã‡sheet\";link.media=\"all\";link.href=url;head=document.getElementsByTagName(\"head\");head[0].appendChild(link);}catch(e){document.write(\"<link href='\"+url+\"' rel='Ã‡sheet' type='text/css' />\");}};EA.Ã„.load_script=Ãƒ(url){try{script=document.createElement(\"script\");script.type=\"text/javascript\";script.src=url;script.charset=\"UTF-8\";head=document.getElementsByTagName(\"head\");head[0].appendChild(script);}catch(e){document.write(\"<script type='text/javascript' src='\"+url+\"' charset=\\\"UTF-8\\\"><\"+\"/script>\");}};EA.Ã„.add_lang=Ãƒ(language,ÃŠs){if(!Ãˆ.eAL.lang[language])Ãˆ.eAL.lang[language]={};for(var i in ÃŠs)Ãˆ.eAL.lang[language][i]=ÃŠs[i];};Ãƒ _$(id){return document.getElementById(id);};var eA=new EA();Ãˆ.eAL.add_event(window,\"load\",init);Ãƒ init(){setTimeout(\"eA.init();\",10);};	EA.Ã„.focus=Ãƒ(){Ã.Ã‚.focus();Ã.Ã‚Focused=Ã‹;};EA.Ã„.check_line_selection=Ãƒ(timer_checkup){var changes,infos,new_top,new_width,i;var t1=t2=t2_1=t3=tLines=tend=new Date().getTime();if(!eAs[Ã.id])return ÃŒ;if(!Ã.smooth_selection&&!Ã.do_highlight){}\nelse if(Ã.Ã‚Focused&&eAs[Ã.id][\"displayed\"]==Ã‹&&Ã.isResizing==ÃŒ){infos=Ã.get_selection_infos();changes=Ã.checkTextEvolution(typeof(Ã.Ã‰['full_text'])=='undefined' ? '':Ã.Ã‰['full_text'],infos['full_text']);t2=new Date().getTime();if(Ã.Ã‰[\"line_start\"] !=infos[\"line_start\"]||Ã.Ã‰[\"line_nb\"] !=infos[\"line_nb\"]||infos[\"full_text\"] !=Ã.Ã‰[\"full_text\"]||Ã.reload_highlight||Ã.Ã‰[\"selectionStart\"] !=infos[\"selectionStart\"]||Ã.Ã‰[\"selectionEnd\"] !=infos[\"selectionEnd\"]||!timer_checkup){new_top=Ã.getLinePosTop(infos[\"line_start\"]);new_width=Math.max(Ã.Ã‚.scrollWidth,Ã.container.clientWidth-50);Ã.selection_field.Ã‡.top=Ã.selection_field_text.Ã‡.top=new_top+\"px\";if(!Ã.Ã…['word_wrap']){Ã.selection_field.Ã‡.width=Ã.selection_field_text.Ã‡.width=Ã.test_font_size.Ã‡.width=new_width+\"px\";}if(Ã.do_highlight==Ã‹){var curr_text=infos[\"full_text\"].split(\"\\n\");var content=\"\";var start=Math.max(0,infos[\"line_start\"]-1);var end=Math.min(curr_text.Ã†,infos[\"line_start\"]+infos[\"line_nb\"]-1);for(i=start;i< end;i++){content+=curr_text[i]+\"\\n\";}selLength=infos['selectionEnd']-infos['selectionStart'];content=content.substr(0,infos[\"curr_pos\"]-1)+\"\\r\\r\"+content.substr(infos[\"curr_pos\"]-1,selLength)+\"\\r\\r\"+content.substr(infos[\"curr_pos\"]-1+selLength);content='<span>'+content.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(\"\\r\\r\",'</span><strong>').replace(\"\\r\\r\",'</strong><span>')+'</span>';if(Ã.isIE||(Ã.isOpera&&Ã.isOpera < 9.6)){Ã.selection_field.innerHTML=\"<pre>\"+content.replace(/^\\r?\\n/,\"<br>\")+\"</pre>\";}\nelse{Ã.selection_field.innerHTML=content;}Ã.selection_field_text.innerHTML=Ã.selection_field.innerHTML;t2_1=new Date().getTime();if(Ã.reload_highlight||(infos[\"full_text\"] !=Ã.last_text_to_highlight&&(Ã.Ã‰[\"line_start\"]!=infos[\"line_start\"]||Ã.show_line_colors||Ã.Ã…['word_wrap']||Ã.Ã‰[\"line_nb\"]!=infos[\"line_nb\"]||Ã.Ã‰[\"nb_line\"]!=infos[\"nb_line\"]))){Ã.maj_highlight(infos);}}}t3=new Date().getTime();if(Ã.Ã…['word_wrap']&&infos[\"full_text\"] !=Ã.Ã‰[\"full_text\"]){if(changes.newText.split(\"\\n\").Ã†==1&&Ã.Ã‰['nb_line']&&infos['nb_line']==Ã.Ã‰['nb_line']){Ã.fixLinesHeight(infos['full_text'],changes.lineStart,changes.lineStart);}\nelse{Ã.fixLinesHeight(infos['full_text'],changes.lineStart,-1);}}tLines=new Date().getTime();if(infos[\"line_start\"] !=Ã.Ã‰[\"line_start\"]||infos[\"curr_pos\"] !=Ã.Ã‰[\"curr_pos\"]||infos[\"full_text\"].Ã†!=Ã.Ã‰[\"full_text\"].Ã†||Ã.reload_highlight||!timer_checkup){var selec_char=infos[\"curr_line\"].charAt(infos[\"curr_pos\"]-1);var no_real_move=Ã‹;if(infos[\"line_nb\"]==1&&(Ã.assocBracket[selec_char]||Ã.revertAssocBracket[selec_char])){no_real_move=ÃŒ;if(Ã.findEndBracket(infos,selec_char)===Ã‹){_$(\"end_bracket\").Ã‡.visibility=\"visible\";_$(\"cursor_pos\").Ã‡.visibility=\"visible\";_$(\"cursor_pos\").innerHTML=selec_char;_$(\"end_bracket\").innerHTML=(Ã.assocBracket[selec_char]||Ã.revertAssocBracket[selec_char]);}\nelse{_$(\"end_bracket\").Ã‡.visibility=\"hidden\";_$(\"cursor_pos\").Ã‡.visibility=\"hidden\";}}\nelse{_$(\"cursor_pos\").Ã‡.visibility=\"hidden\";_$(\"end_bracket\").Ã‡.visibility=\"hidden\";}Ã.displayToCursorPosition(\"cursor_pos\",infos[\"line_start\"],infos[\"curr_pos\"]-1,infos[\"curr_line\"],no_real_move);if(infos[\"line_nb\"]==1&&infos[\"line_start\"]!=Ã.Ã‰[\"line_start\"])Ã.scroll_to_view();}Ã.Ã‰=infos;}tend=new Date().getTime();if(timer_checkup){setTimeout(\"eA.check_line_selection(Ã‹)\",Ã.check_line_selection_timer);}};EA.Ã„.get_selection_infos=Ãƒ(){var sel={},start,end,len,str;Ã.getIESelection();start=Ã.Ã‚.selectionStart;end=Ã.Ã‚.selectionEnd;if(Ã.Ã‰[\"selectionStart\"]==start&&Ã.Ã‰[\"selectionEnd\"]==end&&Ã.Ã‰[\"full_text\"]==Ã.Ã‚.ÃŠ){return Ã.Ã‰;}if(Ã.tabulation!=\"\t\"&&Ã.Ã‚.ÃŠ.indexOf(\"\t\")!=-1){len=Ã.Ã‚.ÃŠ.Ã†;Ã.Ã‚.ÃŠ=Ã.replace_tab(Ã.Ã‚.ÃŠ);start=end=start+(Ã.Ã‚.ÃŠ.Ã†-len);Ã.area_select(start,0);}sel[\"selectionStart\"]=start;sel[\"selectionEnd\"]=end;sel[\"full_text\"]=Ã.Ã‚.ÃŠ;sel[\"line_start\"]=1;sel[\"line_nb\"]=1;sel[\"curr_pos\"]=0;sel[\"curr_line\"]=\"\";sel[\"indexOfCursor\"]=0;sel[\"selec_direction\"]=Ã.Ã‰[\"selec_direction\"];var splitTab=sel[\"full_text\"].split(\"\\n\");var nbLine=Math.max(0,splitTab.Ã†);var nbChar=Math.max(0,sel[\"full_text\"].Ã†-(nbLine-1));if(sel[\"full_text\"].indexOf(\"\\r\")!=-1)nbChar=nbChar-(nbLine-1);sel[\"nb_line\"]=nbLine;sel[\"nb_char\"]=nbChar;if(start>0){str=sel[\"full_text\"].substr(0,start);sel[\"curr_pos\"]=start-str.lastIndexOf(\"\\n\");sel[\"line_start\"]=Math.max(1,str.split(\"\\n\").Ã†);}\nelse{sel[\"curr_pos\"]=1;}if(end>start){sel[\"line_nb\"]=sel[\"full_text\"].substring(start,end).split(\"\\n\").Ã†;}sel[\"indexOfCursor\"]=start;sel[\"curr_line\"]=splitTab[Math.max(0,sel[\"line_start\"]-1)];if(sel[\"selectionStart\"]==Ã.Ã‰[\"selectionStart\"]){if(sel[\"selectionEnd\"]>Ã.Ã‰[\"selectionEnd\"])sel[\"selec_direction\"]=\"down\";\nelse if(sel[\"selectionEnd\"]==Ã.Ã‰[\"selectionStart\"])sel[\"selec_direction\"]=Ã.Ã‰[\"selec_direction\"];}\nelse if(sel[\"selectionStart\"]==Ã.Ã‰[\"selectionEnd\"]&&sel[\"selectionEnd\"]>Ã.Ã‰[\"selectionEnd\"]){sel[\"selec_direction\"]=\"down\";}\nelse{sel[\"selec_direction\"]=\"up\";}_$(\"nbLine\").innerHTML=nbLine;_$(\"nbChar\").innerHTML=nbChar;_$(\"linePos\").innerHTML=sel[\"line_start\"];_$(\"currPos\").innerHTML=sel[\"curr_pos\"];return sel;};EA.Ã„.getIESelection=Ãƒ(){var selectionStart,selectionEnd,range,stored_range;if(!Ã.isIE)return ÃŒ;if(Ã.Ã…['word_wrap'])Ã.Ã‚.wrap='off';try{range=document.selection.createRange();stored_range=range.duplicate();stored_range.moveToElementText(Ã.Ã‚);stored_range.setEndPoint('EndToEnd',range);if(stored_range.ÃˆElement()!=Ã.Ã‚)throw \"invalid focus\";var scrollTop=Ã.result.scrollTop+document.body.scrollTop;var relative_top=range.offsetTop-Ãˆ.calculeOffsetTop(Ã.Ã‚)+scrollTop;var line_start=Math.round((relative_top / Ã.lineHeight)+1);var line_nb=Math.round(range.boundingHeight / Ã.lineHeight);selectionStart=stored_range.text.Ã†-range.text.Ã†;selectionStart+=(line_start-Ã.Ã‚.ÃŠ.substr(0,selectionStart).split(\"\\n\").Ã†)*2;selectionStart-=(line_start-Ã.Ã‚.ÃŠ.substr(0,selectionStart).split(\"\\n\").Ã†)* 2;selectionEnd=selectionStart+range.text.Ã†;selectionEnd+=(line_start+line_nb-1-Ã.Ã‚.ÃŠ.substr(0,selectionEnd).split(\"\\n\").Ã†)*2;Ã.Ã‚.selectionStart=selectionStart;Ã.Ã‚.selectionEnd=selectionEnd;}catch(e){}if(Ã.Ã…['word_wrap'])Ã.Ã‚.wrap='soft';};EA.Ã„.setIESelection=Ãƒ(){var a=Ã.Ã‚,nbLineStart,nbLineEnd,range;if(!Ã.isIE)return ÃŒ;nbLineStart=a.ÃŠ.substr(0,a.selectionStart).split(\"\\n\").Ã†-1;nbLineEnd=a.ÃŠ.substr(0,a.selectionEnd).split(\"\\n\").Ã†-1;range=document.selection.createRange();range.moveToElementText(a);range.setEndPoint('EndToStart',range);range.moveStart('character',a.selectionStart-nbLineStart);range.moveEnd('character',a.selectionEnd-nbLineEnd-(a.selectionStart-nbLineStart));range.select();};EA.Ã„.checkTextEvolution=Ãƒ(lastText,newText){var ch={},baseStep=200,cpt=0,end,step,tStart=new Date().getTime();end=Math.min(newText.Ã†,lastText.Ã†);step=baseStep;while(cpt<end&&step>=1){if(lastText.substr(cpt,step)==newText.substr(cpt,step)){cpt+=step;}\nelse{step=Math.floor(step/2);}}ch.posStart=cpt;ch.lineStart=newText.substr(0,ch.posStart).split(\"\\n\").Ã†-1;cpt_last=lastText.Ã†;cpt=newText.Ã†;step=baseStep;while(cpt>=0&&cpt_last>=0&&step>=1){if(lastText.substr(cpt_last-step,step)==newText.substr(cpt-step,step)){cpt-=step;cpt_last-=step;}\nelse{step=Math.floor(step/2);}}ch.posNewEnd=cpt;ch.posLastEnd=cpt_last;if(ch.posNewEnd<=ch.posStart){if(lastText.Ã† < newText.Ã†){ch.posNewEnd=ch.posStart+newText.Ã†-lastText.Ã†;ch.posLastEnd=ch.posStart;}\nelse{ch.posLastEnd=ch.posStart+lastText.Ã†-newText.Ã†;ch.posNewEnd=ch.posStart;}}ch.newText=newText.substring(ch.posStart,ch.posNewEnd);ch.lastText=lastText.substring(ch.posStart,ch.posLastEnd);ch.lineNewEnd=newText.substr(0,ch.posNewEnd).split(\"\\n\").Ã†-1;ch.lineLastEnd=lastText.substr(0,ch.posLastEnd).split(\"\\n\").Ã†-1;ch.newTextLine=newText.split(\"\\n\").slice(ch.lineStart,ch.lineNewEnd+1).join(\"\\n\");ch.lastTextLine=lastText.split(\"\\n\").slice(ch.lineStart,ch.lineLastEnd+1).join(\"\\n\");return ch;};EA.Ã„.tab_selection=Ãƒ(){if(Ã.is_tabbing)return;Ã.is_tabbing=Ã‹;Ã.getIESelection();var start=Ã.Ã‚.selectionStart;var end=Ã.Ã‚.selectionEnd;var insText=Ã.Ã‚.ÃŠ.substring(start,end);var pos_start=start;var pos_end=end;if(insText.Ã†==0){Ã.Ã‚.ÃŠ=Ã.Ã‚.ÃŠ.substr(0,start)+Ã.tabulation+Ã.Ã‚.ÃŠ.substr(end);pos_start=start+Ã.tabulation.Ã†;pos_end=pos_start;}\nelse{start=Math.max(0,Ã.Ã‚.ÃŠ.substr(0,start).lastIndexOf(\"\\n\")+1);endText=Ã.Ã‚.ÃŠ.substr(end);startText=Ã.Ã‚.ÃŠ.substr(0,start);tmp=Ã.Ã‚.ÃŠ.substring(start,end).split(\"\\n\");insText=Ã.tabulation+tmp.join(\"\\n\"+Ã.tabulation);Ã.Ã‚.ÃŠ=startText+insText+endText;pos_start=start;pos_end=Ã.Ã‚.ÃŠ.indexOf(\"\\n\",startText.Ã†+insText.Ã†);if(pos_end==-1)pos_end=Ã.Ã‚.ÃŠ.Ã†;}Ã.Ã‚.selectionStart=pos_start;Ã.Ã‚.selectionEnd=pos_end;if(Ã.isIE){Ã.setIESelection();setTimeout(\"eA.is_tabbing=ÃŒ;\",100);}\nelse{Ã.is_tabbing=ÃŒ;}};EA.Ã„.invert_tab_selection=Ãƒ(){var t=Ã,a=Ã.Ã‚;if(t.is_tabbing)return;t.is_tabbing=Ã‹;t.getIESelection();var start=a.selectionStart;var end=a.selectionEnd;var insText=a.ÃŠ.substring(start,end);var pos_start=start;var pos_end=end;if(insText.Ã†==0){if(a.ÃŠ.substring(start-t.tabulation.Ã†,start)==t.tabulation){a.ÃŠ=a.ÃŠ.substr(0,start-t.tabulation.Ã†)+a.ÃŠ.substr(end);pos_start=Math.max(0,start-t.tabulation.Ã†);pos_end=pos_start;}}\nelse{start=a.ÃŠ.substr(0,start).lastIndexOf(\"\\n\")+1;endText=a.ÃŠ.substr(end);startText=a.ÃŠ.substr(0,start);tmp=a.ÃŠ.substring(start,end).split(\"\\n\");insText=\"\";for(i=0;i<tmp.Ã†;i++){for(j=0;j<t.tab_nb_char;j++){if(tmp[i].charAt(0)==\"\t\"){tmp[i]=tmp[i].substr(1);j=t.tab_nb_char;}\nelse if(tmp[i].charAt(0)==\" \")tmp[i]=tmp[i].substr(1);}insText+=tmp[i];if(i<tmp.Ã†-1)insText+=\"\\n\";}a.ÃŠ=startText+insText+endText;pos_start=start;pos_end=a.ÃŠ.indexOf(\"\\n\",startText.Ã†+insText.Ã†);if(pos_end==-1)pos_end=a.ÃŠ.Ã†;}a.selectionStart=pos_start;a.selectionEnd=pos_end;if(t.isIE){t.setIESelection();setTimeout(\"eA.is_tabbing=ÃŒ;\",100);}\nelse t.is_tabbing=ÃŒ;};EA.Ã„.press_enter=Ãƒ(){if(!Ã.smooth_selection)return ÃŒ;Ã.getIESelection();var scrollTop=Ã.result.scrollTop;var scrollLeft=Ã.result.scrollLeft;var start=Ã.Ã‚.selectionStart;var end=Ã.Ã‚.selectionEnd;var start_last_line=Math.max(0,Ã.Ã‚.ÃŠ.substring(0,start).lastIndexOf(\"\\n\")+1);var begin_line=Ã.Ã‚.ÃŠ.substring(start_last_line,start).replace(/^([ \t]*).*/gm,\"$1\");var lineStart=Ã.Ã‚.ÃŠ.substring(0,start).split(\"\\n\").Ã†;if(begin_line==\"\\n\"||begin_line==\"\\r\"||begin_line.Ã†==0){return ÃŒ;}if(Ã.isIE||(Ã.isOpera&&Ã.isOpera < 9.6)){begin_line=\"\\r\\n\"+begin_line;}\nelse{begin_line=\"\\n\"+begin_line;}Ã.Ã‚.ÃŠ=Ã.Ã‚.ÃŠ.substring(0,start)+begin_line+Ã.Ã‚.ÃŠ.substring(end);Ã.area_select(start+begin_line.Ã†,0);if(Ã.isIE){Ã.result.scrollTop=scrollTop;Ã.result.scrollLeft=scrollLeft;}return Ã‹;};EA.Ã„.findEndBracket=Ãƒ(infos,bracket){var start=infos[\"indexOfCursor\"];var normal_order=Ã‹;if(Ã.assocBracket[bracket])endBracket=Ã.assocBracket[bracket];\nelse if(Ã.revertAssocBracket[bracket]){endBracket=Ã.revertAssocBracket[bracket];normal_order=ÃŒ;}var end=-1;var nbBracketOpen=0;for(var i=start;i<infos[\"full_text\"].Ã†&&i>=0;){if(infos[\"full_text\"].charAt(i)==endBracket){nbBracketOpen--;if(nbBracketOpen<=0){end=i;break;}}\nelse if(infos[\"full_text\"].charAt(i)==bracket)nbBracketOpen++;if(normal_order)i++;\nelse i--;}if(end==-1)return ÃŒ;var endLastLine=infos[\"full_text\"].substr(0,end).lastIndexOf(\"\\n\");if(endLastLine==-1)line=1;\nelse line=infos[\"full_text\"].substr(0,endLastLine).split(\"\\n\").Ã†+1;var curPos=end-endLastLine-1;var endLineLength=infos[\"full_text\"].substring(end).split(\"\\n\")[0].Ã†;Ã.displayToCursorPosition(\"end_bracket\",line,curPos,infos[\"full_text\"].substring(endLastLine+1,end+endLineLength));return Ã‹;};EA.Ã„.displayToCursorPosition=Ãƒ(id,start_line,cur_pos,lineContent,no_real_move){var elem,dest,content,posLeft=0,posTop,fixPadding,topOffset,endElem;elem=Ã.test_font_size;dest=_$(id);content=\"<span id='test_font_size_inner'>\"+lineContent.substr(0,cur_pos).replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\")+\"</span><span id='endTestFont'>\"+lineContent.substr(cur_pos).replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\")+\"</span>\";if(Ã.isIE||(Ã.isOpera&&Ã.isOpera < 9.6)){elem.innerHTML=\"<pre>\"+content.replace(/^\\r?\\n/,\"<br>\")+\"</pre>\";}\nelse{elem.innerHTML=content;}endElem=_$('endTestFont');topOffset=endElem.offsetTop;fixPadding=parseInt(Ã.content_highlight.Ã‡.paddingLeft.replace(\"px\",\"\"));posLeft=45+endElem.offsetLeft+(!isNaN(fixPadding)&&topOffset > 0 ? fixPadding:0);posTop=Ã.getLinePosTop(start_line)+topOffset;if(Ã.isIE&&cur_pos > 0&&endElem.offsetLeft==0){posTop+=Ã.lineHeight;}if(no_real_move!=Ã‹){dest.Ã‡.top=posTop+\"px\";dest.Ã‡.left=posLeft+\"px\";}dest.cursor_top=posTop;dest.cursor_left=posLeft;};EA.Ã„.getLinePosTop=Ãƒ(start_line){var elem=_$('line_'+start_line),posTop=0;if(elem)posTop=elem.offsetTop;\nelse posTop=Ã.lineHeight *(start_line-1);return posTop;};EA.Ã„.getTextHeight=Ãƒ(text){var t=Ã,elem,height;elem=t.test_font_size;content=text.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\");if(t.isIE||(Ã.isOpera&&Ã.isOpera < 9.6)){elem.innerHTML=\"<pre>\"+content.replace(/^\\r?\\n/,\"<br>\")+\"</pre>\";}\nelse{elem.innerHTML=content;}height=elem.offsetHeight;height=Math.max(1,Math.floor(elem.offsetHeight / Ã.lineHeight))* Ã.lineHeight;return height;};EA.Ã„.fixLinesHeight=Ãƒ(textValue,lineStart,lineEnd){var aText=textValue.split(\"\\n\");if(lineEnd==-1)lineEnd=aText.Ã†-1;for(var i=Math.max(0,lineStart);i <=lineEnd;i++){if(elem=_$('line_'+(i+1))){elem.Ã‡.height=typeof(aText[i])!=\"undefined\" ? Ã.getTextHeight(aText[i])+\"px\":Ã.lineHeight;}}};EA.Ã„.area_select=Ãƒ(start,Ã†){Ã.Ã‚.focus();start=Math.max(0,Math.min(Ã.Ã‚.ÃŠ.Ã†,start));end=Math.max(start,Math.min(Ã.Ã‚.ÃŠ.Ã†,start+Ã†));if(Ã.isIE){Ã.Ã‚.selectionStart=start;Ã.Ã‚.selectionEnd=end;Ã.setIESelection();}\nelse{if(Ã.isOpera&&Ã.isOpera < 9.6){Ã.Ã‚.setSelectionRange(0,0);}Ã.Ã‚.setSelectionRange(start,end);}Ã.check_line_selection();};EA.Ã„.area_get_selection=Ãƒ(){var text=\"\";if(document.selection){var range=document.selection.createRange();text=range.text;}\nelse{text=Ã.Ã‚.ÃŠ.substring(Ã.Ã‚.selectionStart,Ã.Ã‚.selectionEnd);}return text;}; EA.Ã„.replace_tab=Ãƒ(text){return text.replace(/((\\n?)([^\t\\n]*)\t)/gi,eA.smartTab);};EA.Ã„.smartTab=Ãƒ(){val=\"                   \";return EA.Ã„.smartTab.arguments[2]+EA.Ã„.smartTab.arguments[3]+val.substr(0,eA.tab_nb_char-(EA.Ã„.smartTab.arguments[3].Ã†)%eA.tab_nb_char);};EA.Ã„.show_waiting_screen=Ãƒ(){width=Ã.editor_area.offsetWidth;height=Ã.editor_area.offsetHeight;if(!(Ã.isIE&&Ã.isIE<6)){width-=2;height-=2;}Ã.processing_screen.Ã‡.display=\"block\";Ã.processing_screen.Ã‡.width=width+\"px\";Ã.processing_screen.Ã‡.height=height+\"px\";Ã.waiting_screen_displayed=Ã‹;};EA.Ã„.hide_waiting_screen=Ãƒ(){Ã.processing_screen.Ã‡.display=\"none\";Ã.waiting_screen_displayed=ÃŒ;};EA.Ã„.add_Ã‡=Ãƒ(Ã‡s){if(Ã‡s.Ã†>0){newcss=document.createElement(\"Ã‡\");newcss.type=\"text/css\";newcss.media=\"all\";if(newcss.Ã‡Sheet){newcss.Ã‡Sheet.cssText=Ã‡s;}\nelse{newcss.appendChild(document.createTextNode(Ã‡s));}document.getElementsByTagName(\"head\")[0].appendChild(newcss);}};EA.Ã„.set_font=Ãƒ(family,size){var t=Ã,a=Ã.Ã‚,s=Ã.Ã…,elem_font,i,elem;var elems=[\"Ã‚\",\"content_highlight\",\"cursor_pos\",\"end_bracket\",\"selection_field\",\"selection_field_text\",\"line_number\"];if(family&&family!=\"\")s[\"font_family\"]=family;if(size&&size>0)s[\"font_size\"]=size;if(t.isOpera&&t.isOpera < 9.6)s['font_family']=\"monospace\";if(elem_font=_$(\"area_font_size\")){for(i=0;i < elem_font.Ã†;i++){if(elem_font.options[i].ÃŠ&&elem_font.options[i].ÃŠ==s[\"font_size\"])elem_font.options[i].selected=Ã‹;}}if(t.isFirefox){var nbTry=3;do{var div1=document.createElement('div'),text1=document.createElement('Ã‚');var Ã‡s={width:'40px',overflow:'scroll',zIndex:50,visibility:'hidden',fontFamily:s[\"font_family\"],fontSize:s[\"font_size\"]+\"pt\",lineHeight:t.lineHeight+\"px\",padding:'0',margin:'0',border:'none',whiteSpace:'nowrap'};var diff,changed=ÃŒ;for(i in Ã‡s){div1.Ã‡[ i ]=Ã‡s[i];text1.Ã‡[ i ]=Ã‡s[i];}text1.wrap='off';text1.setAttribute('wrap','off');t.container.appendChild(div1);t.container.appendChild(text1);div1.innerHTML=text1.ÃŠ='azertyuiopqsdfghjklm';div1.innerHTML=text1.ÃŠ=text1.ÃŠ+'wxcvbn^p*Ã¹$!:;,,';diff=text1.scrollWidth-div1.scrollWidth;if(Math.abs(diff)>=2){s[\"font_size\"]++;changed=Ã‹;}t.container.removeChild(div1);t.container.removeChild(text1);nbTry--;}while(changed&&nbTry > 0);}elem=t.test_font_size;elem.Ã‡.fontFamily=\"\"+s[\"font_family\"];elem.Ã‡.fontSize=s[\"font_size\"]+\"pt\";elem.innerHTML=\"0\";t.lineHeight=elem.offsetHeight;for(i=0;i<elems.Ã†;i++){elem=_$(elems[i]);elem.Ã‡.fontFamily=s[\"font_family\"];elem.Ã‡.fontSize=s[\"font_size\"]+\"pt\";elem.Ã‡.lineHeight=t.lineHeight+\"px\";}t.add_Ã‡(\"pre{font-family:\"+s[\"font_family\"]+\"}\");if((t.isOpera&&t.isOpera < 9.6)||t.isIE >=8){var parNod=a.ÃˆNode,nxtSib=a.nextSibling,start=a.selectionStart,end=a.selectionEnd;parNod.removeChild(a);parNod.insertBefore(a,nxtSib);t.area_select(start,end-start);}Ã.focus();Ã.update_size();Ã.check_line_selection();};EA.Ã„.change_font_size=Ãƒ(){var size=_$(\"area_font_size\").ÃŠ;if(size>0)Ã.set_font(\"\",size);};EA.Ã„.open_inline_popup=Ãƒ(popup_id){Ã.close_all_inline_popup();var popup=_$(popup_id);var editor=_$(\"editor\");for(var i=0;i<Ã.inlinePopup.Ã†;i++){if(Ã.inlinePopup[i][\"popup_id\"]==popup_id){var icon=_$(Ã.inlinePopup[i][\"icon_id\"]);if(icon){Ã.switchClassSticky(icon,'editAreaButtonSelected',Ã‹);break;}}}popup.Ã‡.height=\"auto\";popup.Ã‡.overflow=\"visible\";if(document.body.offsetHeight< popup.offsetHeight){popup.Ã‡.height=(document.body.offsetHeight-10)+\"px\";popup.Ã‡.overflow=\"auto\";}if(!popup.positionned){var new_left=editor.offsetWidth /2-popup.offsetWidth /2;var new_top=editor.offsetHeight /2-popup.offsetHeight /2;popup.Ã‡.left=new_left+\"px\";popup.Ã‡.top=new_top+\"px\";popup.positionned=Ã‹;}popup.Ã‡.visibility=\"visible\";};EA.Ã„.close_inline_popup=Ãƒ(popup_id){var popup=_$(popup_id);for(var i=0;i<Ã.inlinePopup.Ã†;i++){if(Ã.inlinePopup[i][\"popup_id\"]==popup_id){var icon=_$(Ã.inlinePopup[i][\"icon_id\"]);if(icon){Ã.switchClassSticky(icon,'editAreaButtonNormal',ÃŒ);break;}}}popup.Ã‡.visibility=\"hidden\";};EA.Ã„.close_all_inline_popup=Ãƒ(e){for(var i=0;i<Ã.inlinePopup.Ã†;i++){Ã.close_inline_popup(Ã.inlinePopup[i][\"popup_id\"]);}Ã.Ã‚.focus();};EA.Ã„.show_help=Ãƒ(){Ã.open_inline_popup(\"edit_area_help\");};EA.Ã„.new_document=Ãƒ(){Ã.Ã‚.ÃŠ=\"\";Ã.area_select(0,0);};EA.Ã„.get_all_toolbar_height=Ãƒ(){var area=_$(\"editor\");var results=Ãˆ.getChildren(area,\"div\",\"class\",\"area_toolbar\",\"all\",\"0\");var height=0;for(var i=0;i<results.Ã†;i++){height+=results[i].offsetHeight;}return height;};EA.Ã„.go_to_line=Ãƒ(line){if(!line){var icon=_$(\"go_to_line\");if(icon !=null){Ã.restoreClass(icon);Ã.switchClassSticky(icon,'editAreaButtonSelected',Ã‹);}line=prompt(Ã.get_translation(\"go_to_line_prompt\"));if(icon !=null)Ã.switchClassSticky(icon,'editAreaButtonNormal',ÃŒ);}if(line&&line!=null&&line.search(/^[0-9]+$/)!=-1){var start=0;var lines=Ã.Ã‚.ÃŠ.split(\"\\n\");if(line > lines.Ã†)start=Ã.Ã‚.ÃŠ.Ã†;\nelse{for(var i=0;i<Math.min(line-1,lines.Ã†);i++)start+=lines[i].Ã†+1;}Ã.area_select(start,0);}};EA.Ã„.change_smooth_selection_mode=Ãƒ(setTo){if(Ã.do_highlight)return;if(setTo !=null){if(setTo===ÃŒ)Ã.smooth_selection=Ã‹;\nelse Ã.smooth_selection=ÃŒ;}var icon=_$(\"change_smooth_selection\");Ã.Ã‚.focus();if(Ã.smooth_selection===Ã‹){Ã.switchClassSticky(icon,'editAreaButtonNormal',ÃŒ);Ã.smooth_selection=ÃŒ;Ã.selection_field.Ã‡.display=\"none\";_$(\"cursor_pos\").Ã‡.display=\"none\";_$(\"end_bracket\").Ã‡.display=\"none\";}\nelse{Ã.switchClassSticky(icon,'editAreaButtonSelected',ÃŒ);Ã.smooth_selection=Ã‹;Ã.selection_field.Ã‡.display=\"block\";_$(\"cursor_pos\").Ã‡.display=\"block\";_$(\"end_bracket\").Ã‡.display=\"block\";}};EA.Ã„.scroll_to_view=Ãƒ(show){var zone,lineElem;if(!Ã.smooth_selection)return;zone=_$(\"result\");var cursor_pos_top=_$(\"cursor_pos\").cursor_top;if(show==\"bottom\"){cursor_pos_top+=Ã.getLinePosTop(Ã.Ã‰['line_start']+Ã.Ã‰['line_nb']-1);}var max_height_visible=zone.clientHeight+zone.scrollTop;var miss_top=cursor_pos_top+Ã.lineHeight-max_height_visible;if(miss_top>0){zone.scrollTop=zone.scrollTop+miss_top;}\nelse if(zone.scrollTop > cursor_pos_top){zone.scrollTop=cursor_pos_top;}var cursor_pos_left=_$(\"cursor_pos\").cursor_left;var max_width_visible=zone.clientWidth+zone.scrollLeft;var miss_left=cursor_pos_left+10-max_width_visible;if(miss_left>0){zone.scrollLeft=zone.scrollLeft+miss_left+50;}\nelse if(zone.scrollLeft > cursor_pos_left){zone.scrollLeft=cursor_pos_left;}\nelse if(zone.scrollLeft==45){zone.scrollLeft=0;}};EA.Ã„.check_undo=Ãƒ(only_once){if(!eAs[Ã.id])return ÃŒ;if(Ã.Ã‚Focused&&eAs[Ã.id][\"displayed\"]==Ã‹){var text=Ã.Ã‚.ÃŠ;if(Ã.previous.Ã†<=1)Ã.switchClassSticky(_$(\"undo\"),'editAreaButtonDisabled',Ã‹);if(!Ã.previous[Ã.previous.Ã†-1]||Ã.previous[Ã.previous.Ã†-1][\"text\"] !=text){Ã.previous.push({\"text\":text,\"selStart\":Ã.Ã‚.selectionStart,\"selEnd\":Ã.Ã‚.selectionEnd});if(Ã.previous.Ã† > Ã.Ã…[\"max_undo\"]+1)Ã.previous.shift();}if(Ã.previous.Ã† >=2)Ã.switchClassSticky(_$(\"undo\"),'editAreaButtonNormal',ÃŒ);}if(!only_once)setTimeout(\"eA.check_undo()\",3000);};EA.Ã„.undo=Ãƒ(){if(Ã.previous.Ã† > 0){Ã.getIESelection();Ã.next.push({\"text\":Ã.Ã‚.ÃŠ,\"selStart\":Ã.Ã‚.selectionStart,\"selEnd\":Ã.Ã‚.selectionEnd});var prev=Ã.previous.pop();if(prev[\"text\"]==Ã.Ã‚.ÃŠ&&Ã.previous.Ã† > 0)prev=Ã.previous.pop();Ã.Ã‚.ÃŠ=prev[\"text\"];Ã.last_undo=prev[\"text\"];Ã.area_select(prev[\"selStart\"],prev[\"selEnd\"]-prev[\"selStart\"]);Ã.switchClassSticky(_$(\"redo\"),'editAreaButtonNormal',ÃŒ);Ã.resync_highlight(Ã‹);Ã.check_file_changes();}};EA.Ã„.redo=Ãƒ(){if(Ã.next.Ã† > 0){var next=Ã.next.pop();Ã.previous.push(next);Ã.Ã‚.ÃŠ=next[\"text\"];Ã.last_undo=next[\"text\"];Ã.area_select(next[\"selStart\"],next[\"selEnd\"]-next[\"selStart\"]);Ã.switchClassSticky(_$(\"undo\"),'editAreaButtonNormal',ÃŒ);Ã.resync_highlight(Ã‹);Ã.check_file_changes();}if(Ã.next.Ã†==0)Ã.switchClassSticky(_$(\"redo\"),'editAreaButtonDisabled',Ã‹);};EA.Ã„.check_redo=Ãƒ(){if(eA.next.Ã†==0||eA.Ã‚.ÃŠ!=eA.last_undo){eA.next=[];eA.switchClassSticky(_$(\"redo\"),'editAreaButtonDisabled',Ã‹);}\nelse{Ã.switchClassSticky(_$(\"redo\"),'editAreaButtonNormal',ÃŒ);}};EA.Ã„.switchClass=Ãƒ(element,class_name,lock_state){var lockChanged=ÃŒ;if(typeof(lock_state)!=\"undefined\"&&element !=null){element.classLock=lock_state;lockChanged=Ã‹;}if(element !=null&&(lockChanged||!element.classLock)){element.oldClassName=element.className;element.className=class_name;}};EA.Ã„.restoreAndSwitchClass=Ãƒ(element,class_name){if(element !=null&&!element.classLock){Ã.restoreClass(element);Ã.switchClass(element,class_name);}};EA.Ã„.restoreClass=Ãƒ(element){if(element !=null&&element.oldClassName&&!element.classLock){element.className=element.oldClassName;element.oldClassName=null;}};EA.Ã„.setClassLock=Ãƒ(element,lock_state){if(element !=null)element.classLock=lock_state;};EA.Ã„.switchClassSticky=Ãƒ(element,class_name,lock_state){var lockChanged=ÃŒ;if(typeof(lock_state)!=\"undefined\"&&element !=null){element.classLock=lock_state;lockChanged=Ã‹;}if(element !=null&&(lockChanged||!element.classLock)){element.className=class_name;element.oldClassName=class_name;}};EA.Ã„.scroll_page=Ãƒ(params){var dir=params[\"dir\"],shift_pressed=params[\"shift\"];var lines=Ã.Ã‚.ÃŠ.split(\"\\n\");var new_pos=0,Ã†=0,char_left=0,line_nb=0,curLine=0;var toScrollAmount=_$(\"result\").clientHeight-30;var nbLineToScroll=0,diff=0;if(dir==\"up\"){nbLineToScroll=Math.ceil(toScrollAmount / Ã.lineHeight);for(i=Ã.Ã‰[\"line_start\"];i-diff > Ã.Ã‰[\"line_start\"]-nbLineToScroll;i--){if(elem=_$('line_'+i)){diff+=Math.floor((elem.offsetHeight-1)/ Ã.lineHeight);}}nbLineToScroll-=diff;if(Ã.Ã‰[\"selec_direction\"]==\"up\"){for(line_nb=0;line_nb< Math.min(Ã.Ã‰[\"line_start\"]-nbLineToScroll,lines.Ã†);line_nb++){new_pos+=lines[line_nb].Ã†+1;}char_left=Math.min(lines[Math.min(lines.Ã†-1,line_nb)].Ã†,Ã.Ã‰[\"curr_pos\"]-1);if(shift_pressed)Ã†=Ã.Ã‰[\"selectionEnd\"]-new_pos-char_left;Ã.area_select(new_pos+char_left,Ã†);view=\"top\";}\nelse{view=\"bottom\";for(line_nb=0;line_nb< Math.min(Ã.Ã‰[\"line_start\"]+Ã.Ã‰[\"line_nb\"]-1-nbLineToScroll,lines.Ã†);line_nb++){new_pos+=lines[line_nb].Ã†+1;}char_left=Math.min(lines[Math.min(lines.Ã†-1,line_nb)].Ã†,Ã.Ã‰[\"curr_pos\"]-1);if(shift_pressed){start=Math.min(Ã.Ã‰[\"selectionStart\"],new_pos+char_left);Ã†=Math.max(new_pos+char_left,Ã.Ã‰[\"selectionStart\"])-start;if(new_pos+char_left < Ã.Ã‰[\"selectionStart\"])view=\"top\";}\nelse start=new_pos+char_left;Ã.area_select(start,Ã†);}}\nelse{var nbLineToScroll=Math.floor(toScrollAmount / Ã.lineHeight);for(i=Ã.Ã‰[\"line_start\"];i+diff < Ã.Ã‰[\"line_start\"]+nbLineToScroll;i++){if(elem=_$('line_'+i)){diff+=Math.floor((elem.offsetHeight-1)/ Ã.lineHeight);}}nbLineToScroll-=diff;if(Ã.Ã‰[\"selec_direction\"]==\"down\"){view=\"bottom\";for(line_nb=0;line_nb< Math.min(Ã.Ã‰[\"line_start\"]+Ã.Ã‰[\"line_nb\"]-2+nbLineToScroll,lines.Ã†);line_nb++){if(line_nb==Ã.Ã‰[\"line_start\"]-1)char_left=Ã.Ã‰[\"selectionStart\"]-new_pos;new_pos+=lines[line_nb].Ã†+1;}if(shift_pressed){Ã†=Math.abs(Ã.Ã‰[\"selectionStart\"]-new_pos);Ã†+=Math.min(lines[Math.min(lines.Ã†-1,line_nb)].Ã†,Ã.Ã‰[\"curr_pos\"]);Ã.area_select(Math.min(Ã.Ã‰[\"selectionStart\"],new_pos),Ã†);}\nelse{Ã.area_select(new_pos+char_left,0);}}\nelse{view=\"top\";for(line_nb=0;line_nb< Math.min(Ã.Ã‰[\"line_start\"]+nbLineToScroll-1,lines.Ã†,lines.Ã†);line_nb++){if(line_nb==Ã.Ã‰[\"line_start\"]-1)char_left=Ã.Ã‰[\"selectionStart\"]-new_pos;new_pos+=lines[line_nb].Ã†+1;}if(shift_pressed){Ã†=Math.abs(Ã.Ã‰[\"selectionEnd\"]-new_pos-char_left);Ã†+=Math.min(lines[Math.min(lines.Ã†-1,line_nb)].Ã†,Ã.Ã‰[\"curr_pos\"])-char_left-1;Ã.area_select(Math.min(Ã.Ã‰[\"selectionEnd\"],new_pos+char_left),Ã†);if(new_pos+char_left > Ã.Ã‰[\"selectionEnd\"])view=\"bottom\";}\nelse{Ã.area_select(new_pos+char_left,0);}}}Ã.check_line_selection();Ã.scroll_to_view(view);};EA.Ã„.start_resize=Ãƒ(e){Ãˆ.eAL.resize[\"id\"]=eA.id;Ãˆ.eAL.resize[\"start_x\"]=(e)? e.pageX:event.x+document.body.scrollLeft;Ãˆ.eAL.resize[\"start_y\"]=(e)? e.pageY:event.y+document.body.scrollTop;if(eA.isIE){eA.Ã‚.focus();eA.getIESelection();}Ãˆ.eAL.resize[\"selectionStart\"]=eA.Ã‚.selectionStart;Ãˆ.eAL.resize[\"selectionEnd\"]=eA.Ã‚.selectionEnd;Ãˆ.eAL.start_resize_area();};EA.Ã„.toggle_full_screen=Ãƒ(to){var t=Ã,p=Ãˆ,a=t.Ã‚,html,frame,selStart,selEnd,old,icon;if(typeof(to)==\"undefined\")to=!t.fullscreen['isFull'];old=t.fullscreen['isFull'];t.fullscreen['isFull']=to;icon=_$(\"fullscreen\");selStart=t.Ã‚.selectionStart;selEnd=t.Ã‚.selectionEnd;html=p.document.getElementsByTagName(\"html\")[0];frame=p.document.getElementById(\"frame_\"+t.id);if(to&&to!=old){t.fullscreen['old_overflow']=p.get_css_property(html,\"overflow\");t.fullscreen['old_height']=p.get_css_property(html,\"height\");t.fullscreen['old_width']=p.get_css_property(html,\"width\");t.fullscreen['old_scrollTop']=html.scrollTop;t.fullscreen['old_scrollLeft']=html.scrollLeft;t.fullscreen['old_zIndex']=p.get_css_property(frame,\"z-index\");if(t.isOpera){html.Ã‡.height=\"100%\";html.Ã‡.width=\"100%\";}html.Ã‡.overflow=\"hidden\";html.scrollTop=0;html.scrollLeft=0;frame.Ã‡.position=\"absolute\";frame.Ã‡.width=html.clientWidth+\"px\";frame.Ã‡.height=html.clientHeight+\"px\";frame.Ã‡.display=\"block\";frame.Ã‡.zIndex=\"999999\";frame.Ã‡.top=\"0px\";frame.Ã‡.left=\"0px\";frame.Ã‡.top=\"-\"+p.calculeOffsetTop(frame)+\"px\";frame.Ã‡.left=\"-\"+p.calculeOffsetLeft(frame)+\"px\";t.switchClassSticky(icon,'editAreaButtonSelected',ÃŒ);t.fullscreen['allow_resize']=t.resize_allowed;t.allow_resize(ÃŒ);if(t.isFirefox){p.eAL.execCommand(t.id,\"update_size();\");t.area_select(selStart,selEnd-selStart);t.scroll_to_view();t.focus();}\nelse{setTimeout(\"Ãˆ.eAL.execCommand('\"+t.id+\"','update_size();');eA.focus();\",10);}}\nelse if(to!=old){frame.Ã‡.position=\"static\";frame.Ã‡.zIndex=t.fullscreen['old_zIndex'];if(t.isOpera){html.Ã‡.height=\"auto\";html.Ã‡.width=\"auto\";html.Ã‡.overflow=\"auto\";}\nelse if(t.isIE&&p!=top){html.Ã‡.overflow=\"auto\";}\nelse{html.Ã‡.overflow=t.fullscreen['old_overflow'];}html.scrollTop=t.fullscreen['old_scrollTop'];html.scrollLeft=t.fullscreen['old_scrollLeft'];p.eAL.hide(t.id);p.eAL.show(t.id);t.switchClassSticky(icon,'editAreaButtonNormal',ÃŒ);if(t.fullscreen['allow_resize'])t.allow_resize(t.fullscreen['allow_resize']);if(t.isFirefox){t.area_select(selStart,selEnd-selStart);setTimeout(\"eA.scroll_to_view();\",10);}}};EA.Ã„.allow_resize=Ãƒ(allow){var resize=_$(\"resize_area\");if(allow){resize.Ã‡.visibility=\"visible\";Ãˆ.eAL.add_event(resize,\"mouseup\",eA.start_resize);}\nelse{resize.Ã‡.visibility=\"hidden\";Ãˆ.eAL.remove_event(resize,\"mouseup\",eA.start_resize);}Ã.resize_allowed=allow;};EA.Ã„.change_syntax=Ãƒ(new_syntax,is_waiting){if(new_syntax==Ã.Ã…['syntax'])return Ã‹;var founded=ÃŒ;for(var i=0;i<Ã.syntax_list.Ã†;i++){if(Ã.syntax_list[i]==new_syntax)founded=Ã‹;}if(founded==Ã‹){if(!Ãˆ.eAL.load_syntax[new_syntax]){if(!is_waiting)Ãˆ.eAL.load_script(Ãˆ.eAL.baseURL+\"reg_syntax/\"+new_syntax+\".js\");setTimeout(\"eA.change_syntax('\"+new_syntax+\"',Ã‹);\",100);Ã.show_waiting_screen();}\nelse{if(!Ã.allready_used_syntax[new_syntax]){Ãˆ.eAL.init_syntax_regexp();Ã.add_Ã‡(Ãˆ.eAL.syntax[new_syntax][\"Ã‡s\"]);Ã.allready_used_syntax[new_syntax]=Ã‹;}var sel=_$(\"syntax_selection\");if(sel&&sel.ÃŠ!=new_syntax){for(var i=0;i<sel.Ã†;i++){if(sel.options[i].ÃŠ&&sel.options[i].ÃŠ==new_syntax)sel.options[i].selected=Ã‹;}}Ã.Ã…['syntax']=new_syntax;Ã.resync_highlight(Ã‹);Ã.hide_waiting_screen();return Ã‹;}}return ÃŒ;};EA.Ã„.set_editable=Ãƒ(is_editable){if(is_editable){document.body.className=\"\";Ã.Ã‚.readOnly=ÃŒ;Ã.is_editable=Ã‹;}\nelse{document.body.className=\"non_editable\";Ã.Ã‚.readOnly=Ã‹;Ã.is_editable=ÃŒ;}if(eAs[Ã.id][\"displayed\"]==Ã‹)Ã.update_size();};EA.Ã„.toggle_word_wrap=Ãƒ(){Ã.set_word_wrap(!Ã.Ã…['word_wrap']);};EA.Ã„.set_word_wrap=Ãƒ(to){var t=Ã,a=t.Ã‚;if(t.isOpera&&t.isOpera < 9.8){Ã.Ã…['word_wrap']=ÃŒ;t.switchClassSticky(_$(\"word_wrap\"),'editAreaButtonDisabled',Ã‹);return ÃŒ;}if(to){wrap_mode='soft';Ã.container.className+=' word_wrap';Ã.container.Ã‡.width=\"\";Ã.content_highlight.Ã‡.width=\"\";a.Ã‡.width=\"100%\";if(t.isIE&&t.isIE < 7){a.Ã‡.width=(a.offsetWidth-5)+\"px\";}t.switchClassSticky(_$(\"word_wrap\"),'editAreaButtonSelected',ÃŒ);}\nelse{wrap_mode='off';Ã.container.className=Ã.container.className.replace(/word_wrap/g,'');t.switchClassSticky(_$(\"word_wrap\"),'editAreaButtonNormal',Ã‹);}Ã.Ã‚.previous_scrollWidth='';Ã.Ã‚.previous_scrollHeight='';a.wrap=wrap_mode;a.setAttribute('wrap',wrap_mode);if(!Ã.isIE){var start=a.selectionStart,end=a.selectionEnd;var parNod=a.ÃˆNode,nxtSib=a.nextSibling;parNod.removeChild(a);parNod.insertBefore(a,nxtSib);Ã.area_select(start,end-start);}Ã.Ã…['word_wrap']=to;Ã.focus();Ã.update_size();Ã.check_line_selection();};EA.Ã„.open_file=Ãƒ(Ã…){if(Ã…['id']!=\"undefined\"){var id=Ã…['id'];var new_file={};new_file['id']=id;new_file['title']=id;new_file['text']=\"\";new_file['Ã‰']=\"\";new_file['last_text_to_highlight']=\"\";new_file['last_hightlighted_text']=\"\";new_file['previous']=[];new_file['next']=[];new_file['last_undo']=\"\";new_file['smooth_selection']=Ã.Ã…['smooth_selection'];new_file['do_highlight']=Ã.Ã…['start_highlight'];new_file['syntax']=Ã.Ã…['syntax'];new_file['scroll_top']=0;new_file['scroll_left']=0;new_file['selection_start']=0;new_file['selection_end']=0;new_file['edited']=ÃŒ;new_file['font_size']=Ã.Ã…[\"font_size\"];new_file['font_family']=Ã.Ã…[\"font_family\"];new_file['word_wrap']=Ã.Ã…[\"word_wrap\"];new_file['toolbar']={'links':{},'selects':{}};new_file['compare_edited_text']=new_file['text'];Ã.files[id]=new_file;Ã.update_file(id,Ã…);Ã.files[id]['compare_edited_text']=Ã.files[id]['text'];var html_id='tab_file_'+encodeURIComponent(id);Ã.filesIdAssoc[html_id]=id;Ã.files[id]['html_id']=html_id;if(!_$(Ã.files[id]['html_id'])&&id!=\"\"){Ã.tab_browsing_area.Ã‡.display=\"block\";var elem=document.createElement('li');elem.id=Ã.files[id]['html_id'];var close=\"<img src=\\\"\"+Ãˆ.eAL.baseURL+\"images/close.gif\\\" title=\\\"\"+Ã.get_translation('close_tab','word')+\"\\\" onclick=\\\"eA.execCommand('close_file',eA.filesIdAssoc['\"+html_id+\"']);return ÃŒ;\\\" class=\\\"hidden\\\" onmouseover=\\\"Ã.className=''\\\" onmouseout=\\\"Ã.className='hidden'\\\" />\";elem.innerHTML=\"<a onclick=\\\"javascript:eA.execCommand('switch_to_file',eA.filesIdAssoc['\"+html_id+\"']);\\\" selec=\\\"none\\\"><b><span><strong class=\\\"edited\\\">*</strong>\"+Ã.files[id]['title']+close+\"</span></b></a>\";_$('tab_browsing_list').appendChild(elem);var elem=document.createElement('text');Ã.update_size();}if(id!=\"\")Ã.execCommand('file_open',Ã.files[id]);Ã.switch_to_file(id,Ã‹);return Ã‹;}\nelse return ÃŒ;};EA.Ã„.close_file=Ãƒ(id){if(Ã.files[id]){Ã.save_file(id);if(Ã.execCommand('file_close',Ã.files[id])!==ÃŒ){var li=_$(Ã.files[id]['html_id']);li.ÃˆNode.removeChild(li);if(id==Ã.curr_file){var next_file=\"\";var is_next=ÃŒ;for(var i in Ã.files){if(is_next){next_file=i;break;}\nelse if(i==id)is_next=Ã‹;\nelse next_file=i;}Ã.switch_to_file(next_file);}delete(Ã.files[id]);Ã.update_size();}}};EA.Ã„.save_file=Ãƒ(id){var t=Ã,save,a_links,a_selects,save_butt,img,i;if(t.files[id]){var save=t.files[id];save['Ã‰']=t.Ã‰;save['last_text_to_highlight']=t.last_text_to_highlight;save['last_hightlighted_text']=t.last_hightlighted_text;save['previous']=t.previous;save['next']=t.next;save['last_undo']=t.last_undo;save['smooth_selection']=t.smooth_selection;save['do_highlight']=t.do_highlight;save['syntax']=t.Ã…['syntax'];save['text']=t.Ã‚.ÃŠ;save['scroll_top']=t.result.scrollTop;save['scroll_left']=t.result.scrollLeft;save['selection_start']=t.Ã‰[\"selectionStart\"];save['selection_end']=t.Ã‰[\"selectionEnd\"];save['font_size']=t.Ã…[\"font_size\"];save['font_family']=t.Ã…[\"font_family\"];save['word_wrap']=t.Ã…[\"word_wrap\"];save['toolbar']={'links':{},'selects':{}};a_links=_$(\"toolbar_1\").getElementsByTagName(\"a\");for(i=0;i<a_links.Ã†;i++){if(a_links[i].getAttribute('fileSpecific')=='yes'){save_butt={};img=a_links[i].getElementsByTagName('img')[0];save_butt['classLock']=img.classLock;save_butt['className']=img.className;save_butt['oldClassName']=img.oldClassName;save['toolbar']['links'][a_links[i].id]=save_butt;}}a_selects=_$(\"toolbar_1\").getElementsByTagName(\"select\");for(i=0;i<a_selects.Ã†;i++){if(a_selects[i].getAttribute('fileSpecific')=='yes'){save['toolbar']['selects'][a_selects[i].id]=a_selects[i].ÃŠ;}}t.files[id]=save;return save;}return ÃŒ;};EA.Ã„.update_file=Ãƒ(id,new_ÃŠs){for(var i in new_ÃŠs){Ã.files[id][i]=new_ÃŠs[i];}};EA.Ã„.display_file=Ãƒ(id){var t=Ã,a=t.Ã‚,new_file,a_lis,a_selects,a_links,a_options,i,j;if(id==''){a.readOnly=Ã‹;t.tab_browsing_area.Ã‡.display=\"none\";_$(\"no_file_selected\").Ã‡.display=\"block\";t.result.className=\"empty\";if(!t.files['']){t.open_file({id:''});}}\nelse if(typeof(t.files[id])=='undefined'){return ÃŒ;}\nelse{t.result.className=\"\";a.readOnly=!t.is_editable;_$(\"no_file_selected\").Ã‡.display=\"none\";t.tab_browsing_area.Ã‡.display=\"block\";}t.check_redo(Ã‹);t.check_undo(Ã‹);t.curr_file=id;a_lis=t.tab_browsing_area.getElementsByTagName('li');for(i=0;i<a_lis.Ã†;i++){if(a_lis[i].id==t.files[id]['html_id'])a_lis[i].className='selected';\nelse a_lis[i].className='';}new_file=t.files[id];a.ÃŠ=new_file['text'];t.set_font(new_file['font_family'],new_file['font_size']);t.area_select(new_file['selection_start'],new_file['selection_end']-new_file['selection_start']);t.manage_size(Ã‹);t.result.scrollTop=new_file['scroll_top'];t.result.scrollLeft=new_file['scroll_left'];t.previous=new_file['previous'];t.next=new_file['next'];t.last_undo=new_file['last_undo'];t.check_redo(Ã‹);t.check_undo(Ã‹);t.execCommand(\"change_highlight\",new_file['do_highlight']);t.execCommand(\"change_syntax\",new_file['syntax']);t.execCommand(\"change_smooth_selection_mode\",new_file['smooth_selection']);t.execCommand(\"set_word_wrap\",new_file['word_wrap']);a_links=new_file['toolbar']['links'];for(i in a_links){if(img=_$(i).getElementsByTagName('img')[0]){img.classLock=a_links[i]['classLock'];img.className=a_links[i]['className'];img.oldClassName=a_links[i]['oldClassName'];}}a_selects=new_file['toolbar']['selects'];for(i in a_selects){a_options=_$(i).options;for(j=0;j<a_options.Ã†;j++){if(a_options[j].ÃŠ==a_selects[i])_$(i).options[j].selected=Ã‹;}}};EA.Ã„.switch_to_file=Ãƒ(file_to_show,force_refresh){if(file_to_show!=Ã.curr_file||force_refresh){Ã.save_file(Ã.curr_file);if(Ã.curr_file!='')Ã.execCommand('file_switch_off',Ã.files[Ã.curr_file]);Ã.display_file(file_to_show);if(file_to_show!='')Ã.execCommand('file_switch_on',Ã.files[file_to_show]);}};EA.Ã„.get_file=Ãƒ(id){if(id==Ã.curr_file)Ã.save_file(id);return Ã.files[id];};EA.Ã„.get_all_files=Ãƒ(){tmp_files=Ã.files;Ã.save_file(Ã.curr_file);if(tmp_files[''])delete(Ã.files['']);return tmp_files;};EA.Ã„.check_file_changes=Ãƒ(){var id=Ã.curr_file;if(Ã.files[id]&&Ã.files[id]['compare_edited_text']!=undefined){if(Ã.files[id]['compare_edited_text'].Ã†==Ã.Ã‚.ÃŠ.Ã†&&Ã.files[id]['compare_edited_text']==Ã.Ã‚.ÃŠ){if(Ã.files[id]['edited']!=ÃŒ)Ã.set_file_edited_mode(id,ÃŒ);}\nelse{if(Ã.files[id]['edited']!=Ã‹)Ã.set_file_edited_mode(id,Ã‹);}}};EA.Ã„.set_file_edited_mode=Ãƒ(id,to){if(Ã.files[id]&&_$(Ã.files[id]['html_id'])){var link=_$(Ã.files[id]['html_id']).getElementsByTagName('a')[0];if(to==Ã‹){link.className='edited';}\nelse{link.className='';if(id==Ã.curr_file)text=Ã.Ã‚.ÃŠ;\nelse text=Ã.files[id]['text'];Ã.files[id]['compare_edited_text']=text;}Ã.files[id]['edited']=to;}};EA.Ã„.set_show_line_colors=Ãƒ(new_ÃŠ){Ã.show_line_colors=new_ÃŠ;if(new_ÃŠ)Ã.selection_field.className+=' show_colors';\nelse Ã.selection_field.className=Ã.selection_field.className.replace(/ show_colors/g,'');};var EA_keys={8:\"Retour arriere\",9:\"Tabulation\",12:\"Milieu(pave numerique)\",13:\"Entrer\",16:\"Shift\",17:\"Ctrl\",18:\"Alt\",19:\"Pause\",20:\"Verr Maj\",27:\"Esc\",32:\"Space\",33:\"Page up\",34:\"Page down\",35:\"End\",36:\"Begin\",37:\"Left\",38:\"Up\",39:\"Right\",40:\"Down\",44:\"Impr ecran\",45:\"Inser\",46:\"Suppr\",91:\"Menu Demarrer Windows / touche pomme Mac\",92:\"Menu Demarrer Windows\",93:\"Menu contextuel Windows\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"Verr Num\",145:\"Arret defil\"};Ãƒ keyDown(e){if(!e){e=event;}for(var i in eA.plugins){if(typeof(eA.plugins[i].onkeydown)==\"Ãƒ\"){if(eA.plugins[i].onkeydown(e)===ÃŒ){if(eA.isIE)e.keyCode=0;return ÃŒ;}}}var target_id=(e.target||e.srcElement).id;var use=ÃŒ;if(EA_keys[e.keyCode])letter=EA_keys[e.keyCode];\nelse letter=String.fromCharCode(e.keyCode);var low_letter=letter.toLowerCase();if(letter==\"Page up\"&&!AltPressed(e)&&!eA.isOpera){eA.execCommand(\"scroll_page\",{\"dir\":\"up\",\"shift\":ShiftPressed(e)});use=Ã‹;}\nelse if(letter==\"Page down\"&&!AltPressed(e)&&!eA.isOpera){eA.execCommand(\"scroll_page\",{\"dir\":\"down\",\"shift\":ShiftPressed(e)});use=Ã‹;}\nelse if(eA.is_editable==ÃŒ){return Ã‹;}\nelse if(letter==\"Tabulation\"&&target_id==\"Ã‚\"&&!CtrlPressed(e)&&!AltPressed(e)){if(ShiftPressed(e))eA.execCommand(\"invert_tab_selection\");\nelse eA.execCommand(\"tab_selection\");use=Ã‹;if(eA.isOpera||(eA.isFirefox&&eA.isMac))setTimeout(\"eA.execCommand('focus');\",1);}\nelse if(letter==\"Entrer\"&&target_id==\"Ã‚\"){if(eA.press_enter())use=Ã‹;}\nelse if(letter==\"Entrer\"&&target_id==\"area_search\"){eA.execCommand(\"area_search\");use=Ã‹;}\nelse  if(letter==\"Esc\"){eA.execCommand(\"close_all_inline_popup\",e);use=Ã‹;}\nelse if(CtrlPressed(e)&&!AltPressed(e)&&!ShiftPressed(e)){switch(low_letter){case \"f\":eA.execCommand(\"area_search\");use=Ã‹;break;case \"r\":eA.execCommand(\"area_replace\");use=Ã‹;break;case \"q\":eA.execCommand(\"close_all_inline_popup\",e);use=Ã‹;break;case \"h\":eA.execCommand(\"change_highlight\");use=Ã‹;break;case \"g\":setTimeout(\"eA.execCommand('go_to_line');\",5);use=Ã‹;break;case \"e\":eA.execCommand(\"show_help\");use=Ã‹;break;case \"z\":use=Ã‹;eA.execCommand(\"undo\");break;case \"y\":use=Ã‹;eA.execCommand(\"redo\");break;default:break;}}if(eA.next.Ã† > 0){setTimeout(\"eA.check_redo();\",10);}setTimeout(\"eA.check_file_changes();\",10);if(use){if(eA.isIE)e.keyCode=0;return ÃŒ;}return Ã‹;};Ãƒ AltPressed(e){if(window.event){return(window.event.altKey);}\nelse{if(e.modifiers)return(e.altKey||(e.modifiers % 2));\nelse return e.altKey;}};Ãƒ CtrlPressed(e){if(window.event){return(window.event.ctrlKey);}\nelse{return(e.ctrlKey||(e.modifiers==2)||(e.modifiers==3)||(e.modifiers>5));}};Ãƒ ShiftPressed(e){if(window.event){return(window.event.shiftKey);}\nelse{return(e.shiftKey||(e.modifiers>3));}};	EA.Ã„.show_search=Ãƒ(){if(_$(\"area_search_replace\").Ã‡.visibility==\"visible\"){Ã.hidden_search();}\nelse{Ã.open_inline_popup(\"area_search_replace\");var text=Ã.area_get_selection();var search=text.split(\"\\n\")[0];_$(\"area_search\").ÃŠ=search;_$(\"area_search\").focus();}};EA.Ã„.hidden_search=Ãƒ(){Ã.close_inline_popup(\"area_search_replace\");};EA.Ã„.area_search=Ãƒ(mode){if(!mode)mode=\"search\";_$(\"area_search_msg\").innerHTML=\"\";var search=_$(\"area_search\").ÃŠ;Ã.Ã‚.focus();Ã.Ã‚.Ã‚Focused=Ã‹;var infos=Ã.get_selection_infos();var start=infos[\"selectionStart\"];var pos=-1;var pos_begin=-1;var Ã†=search.Ã†;if(_$(\"area_search_replace\").Ã‡.visibility!=\"visible\"){Ã.show_search();return;}if(search.Ã†==0){_$(\"area_search_msg\").innerHTML=Ã.get_translation(\"search_field_empty\");return;}if(mode!=\"replace\"){if(_$(\"area_search_reg_exp\").checked)start++;\nelse start+=search.Ã†;}if(_$(\"area_search_reg_exp\").checked){var opt=\"m\";if(!_$(\"area_search_match_case\").checked)opt+=\"i\";var reg=new RegExp(search,opt);pos=infos[\"full_text\"].substr(start).search(reg);pos_begin=infos[\"full_text\"].search(reg);if(pos!=-1){pos+=start;Ã†=infos[\"full_text\"].substr(start).match(reg)[0].Ã†;}\nelse if(pos_begin!=-1){Ã†=infos[\"full_text\"].match(reg)[0].Ã†;}}\nelse{if(_$(\"area_search_match_case\").checked){pos=infos[\"full_text\"].indexOf(search,start);pos_begin=infos[\"full_text\"].indexOf(search);}\nelse{pos=infos[\"full_text\"].toLowerCase().indexOf(search.toLowerCase(),start);pos_begin=infos[\"full_text\"].toLowerCase().indexOf(search.toLowerCase());}}if(pos==-1&&pos_begin==-1){_$(\"area_search_msg\").innerHTML=\"<strong>\"+search+\"</strong> \"+Ã.get_translation(\"not_found\");return;}\nelse if(pos==-1&&pos_begin !=-1){begin=pos_begin;_$(\"area_search_msg\").innerHTML=Ã.get_translation(\"restart_search_at_begin\");}\nelse begin=pos;if(mode==\"replace\"&&pos==infos[\"indexOfCursor\"]){var replace=_$(\"area_replace\").ÃŠ;var new_text=\"\";if(_$(\"area_search_reg_exp\").checked){var opt=\"m\";if(!_$(\"area_search_match_case\").checked)opt+=\"i\";var reg=new RegExp(search,opt);new_text=infos[\"full_text\"].substr(0,begin)+infos[\"full_text\"].substr(start).replace(reg,replace);}\nelse{new_text=infos[\"full_text\"].substr(0,begin)+replace+infos[\"full_text\"].substr(begin+Ã†);}Ã.Ã‚.ÃŠ=new_text;Ã.area_select(begin,Ã†);Ã.area_search();}\nelse Ã.area_select(begin,Ã†);};EA.Ã„.area_replace=Ãƒ(){Ã.area_search(\"replace\");};EA.Ã„.area_replace_all=Ãƒ(){var base_text=Ã.Ã‚.ÃŠ;var search=_$(\"area_search\").ÃŠ;var replace=_$(\"area_replace\").ÃŠ;if(search.Ã†==0){_$(\"area_search_msg\").innerHTML=Ã.get_translation(\"search_field_empty\");return;}var new_text=\"\";var nb_change=0;if(_$(\"area_search_reg_exp\").checked){var opt=\"mg\";if(!_$(\"area_search_match_case\").checked)opt+=\"i\";var reg=new RegExp(search,opt);nb_change=infos[\"full_text\"].match(reg).Ã†;new_text=infos[\"full_text\"].replace(reg,replace);}\nelse{if(_$(\"area_search_match_case\").checked){var tmp_tab=base_text.split(search);nb_change=tmp_tab.Ã†-1;new_text=tmp_tab.join(replace);}\nelse{var lower_ÃŠ=base_text.toLowerCase();var lower_search=search.toLowerCase();var start=0;var pos=lower_ÃŠ.indexOf(lower_search);while(pos!=-1){nb_change++;new_text+=Ã.Ã‚.ÃŠ.substring(start,pos)+replace;start=pos+search.Ã†;pos=lower_ÃŠ.indexOf(lower_search,pos+1);}new_text+=Ã.Ã‚.ÃŠ.substring(start);}}if(new_text==base_text){_$(\"area_search_msg\").innerHTML=\"<strong>\"+search+\"</strong> \"+Ã.get_translation(\"not_found\");}\nelse{Ã.Ã‚.ÃŠ=new_text;_$(\"area_search_msg\").innerHTML=\"<strong>\"+nb_change+\"</strong> \"+Ã.get_translation(\"occurrence_replaced\");setTimeout(\"eA.Ã‚.focus();eA.Ã‚.Ã‚Focused=Ã‹;\",100);}}; EA.Ã„.change_highlight=Ãƒ(change_to){if(Ã.Ã…[\"syntax\"].Ã†==0&&change_to==ÃŒ){Ã.switchClassSticky(_$(\"highlight\"),'editAreaButtonDisabled',Ã‹);Ã.switchClassSticky(_$(\"reset_highlight\"),'editAreaButtonDisabled',Ã‹);return ÃŒ;}if(Ã.do_highlight==change_to)return ÃŒ;Ã.getIESelection();var pos_start=Ã.Ã‚.selectionStart;var pos_end=Ã.Ã‚.selectionEnd;if(Ã.do_highlight===Ã‹||change_to==ÃŒ)Ã.disable_highlight();\nelse Ã.enable_highlight();Ã.Ã‚.focus();Ã.Ã‚.selectionStart=pos_start;Ã.Ã‚.selectionEnd=pos_end;Ã.setIESelection();};EA.Ã„.disable_highlight=Ãƒ(displayOnly){var t=Ã,a=t.Ã‚,new_Obj,old_class,new_class;t.selection_field.innerHTML=\"\";t.selection_field_text.innerHTML=\"\";t.content_highlight.Ã‡.visibility=\"hidden\";new_Obj=t.content_highlight.cloneNode(ÃŒ);new_Obj.innerHTML=\"\";t.content_highlight.ÃˆNode.insertBefore(new_Obj,t.content_highlight);t.content_highlight.ÃˆNode.removeChild(t.content_highlight);t.content_highlight=new_Obj;old_class=Ãˆ.getAttribute(a,\"class\");if(old_class){new_class=old_class.replace(\"hidden\",\"\");Ãˆ.setAttribute(a,\"class\",new_class);}a.Ã‡.backgroundColor=\"transÃˆ\";t.switchClassSticky(_$(\"highlight\"),'editAreaButtonNormal',Ã‹);t.switchClassSticky(_$(\"reset_highlight\"),'editAreaButtonDisabled',Ã‹);t.do_highlight=ÃŒ;t.switchClassSticky(_$(\"change_smooth_selection\"),'editAreaButtonSelected',Ã‹);if(typeof(t.smooth_selection_before_highlight)!=\"undefined\"&&t.smooth_selection_before_highlight===ÃŒ){t.change_smooth_selection_mode(ÃŒ);}};EA.Ã„.enable_highlight=Ãƒ(){var t=Ã,a=t.Ã‚,new_class;t.show_waiting_screen();t.content_highlight.Ã‡.visibility=\"visible\";new_class=Ãˆ.getAttribute(a,\"class\")+\" hidden\";Ãˆ.setAttribute(a,\"class\",new_class);if(t.isIE)a.Ã‡.backgroundColor=\"#FFFFFF\";t.switchClassSticky(_$(\"highlight\"),'editAreaButtonSelected',ÃŒ);t.switchClassSticky(_$(\"reset_highlight\"),'editAreaButtonNormal',ÃŒ);t.smooth_selection_before_highlight=t.smooth_selection;if(!t.smooth_selection)t.change_smooth_selection_mode(Ã‹);t.switchClassSticky(_$(\"change_smooth_selection\"),'editAreaButtonDisabled',Ã‹);t.do_highlight=Ã‹;t.resync_highlight();t.hide_waiting_screen();};EA.Ã„.maj_highlight=Ãƒ(infos){var debug_opti=\"\",tps_start=new Date().getTime(),tps_middle_opti=new Date().getTime();var t=Ã,hightlighted_text,updated_highlight;var textToHighlight=infos[\"full_text\"],doSyntaxOpti=ÃŒ,doHtmlOpti=ÃŒ,stay_begin=\"\",stay_end=\"\",trace_new,trace_last;if(t.last_text_to_highlight==infos[\"full_text\"]&&t.resync_highlight!==Ã‹)return;if(t.reload_highlight===Ã‹){t.reload_highlight=ÃŒ;}\nelse if(textToHighlight.Ã†==0){textToHighlight=\"\\n \";}\nelse{changes=t.checkTextEvolution(t.last_text_to_highlight,textToHighlight);trace_new=t.get_syntax_trace(changes.newTextLine).replace(/\\r/g,'');trace_last=t.get_syntax_trace(changes.lastTextLine).replace(/\\r/g,'');doSyntaxOpti=(trace_new==trace_last);if(!doSyntaxOpti&&trace_new==\"\\n\"+trace_last&&/^[ \t\s]*\\n[ \t\s]*$/.test(changes.newText.replace(/\\r/g,''))&&changes.lastText==\"\"){doSyntaxOpti=Ã‹;}if(doSyntaxOpti){tps_middle_opti=new Date().getTime();stay_begin=t.last_hightlighted_text.split(\"\\n\").slice(0,changes.lineStart).join(\"\\n\");if(changes.lineStart>0)stay_begin+=\"\\n\";stay_end=t.last_hightlighted_text.split(\"\\n\").slice(changes.lineLastEnd+1).join(\"\\n\");if(stay_end.Ã†>0)stay_end=\"\\n\"+stay_end;if(stay_begin.split('<span').Ã† !=stay_begin.split('</span').Ã†||stay_end.split('<span').Ã† !=stay_end.split('</span').Ã†){doSyntaxOpti=ÃŒ;stay_end='';stay_begin='';}\nelse{if(stay_begin.Ã†==0&&changes.posLastEnd==-1)changes.newTextLine+=\"\\n\";textToHighlight=changes.newTextLine;}}if(t.Ã…[\"debug\"]){var ch=changes;debug_opti=(doSyntaxOpti?\"Optimisation\":\"No optimisation\")+\" start:\"+ch.posStart+\"(\"+ch.lineStart+\")\"+\" end_new:\"+ch.posNewEnd+\"(\"+ch.lineNewEnd+\")\"+\" end_last:\"+ch.posLastEnd+\"(\"+ch.lineLastEnd+\")\"+\"\\nchanged_text:\"+ch.newText+\"=> trace:\"+trace_new+\"\\nchanged_last_text:\"+ch.lastText+\"=> trace:\"+trace_last+\"\\nchanged_line:\"+ch.newTextLine+\"\\nlast_changed_line:\"+ch.lastTextLine+\"\\nstay_begin:\"+stay_begin.slice(-100)+\"\\nstay_end:\"+stay_end.substr(0,100);+\"\\n\";}}tps_end_opti=new Date().getTime();updated_highlight=t.colorize_text(textToHighlight);tpsAfterReg=new Date().getTime();doSyntaxOpti=doHtmlOpti=ÃŒ;if(doSyntaxOpti){try{var replacedBloc,i,nbStart='',nbEnd='',newHtml,Ã†Old,Ã†New;replacedBloc=t.last_hightlighted_text.substring(stay_begin.Ã†,t.last_hightlighted_text.Ã†-stay_end.Ã†);Ã†Old=replacedBloc.Ã†;Ã†New=updated_highlight.Ã†;for(i=0;i < Ã†Old&&i < Ã†New&&replacedBloc.charAt(i)==updated_highlight.charAt(i);i++){}nbStart=i;for(i=0;i+nbStart < Ã†Old&&i+nbStart < Ã†New&&replacedBloc.charAt(Ã†Old-i-1)==updated_highlight.charAt(Ã†New-i-1);i++){}nbEnd=i;lastHtml=replacedBloc.substring(nbStart,Ã†Old-nbEnd);newHtml=updated_highlight.substring(nbStart,Ã†New-nbEnd);if(newHtml.indexOf('<span')==-1&&newHtml.indexOf('</span')==-1&&lastHtml.indexOf('<span')==-1&&lastHtml.indexOf('</span')==-1){var beginStr,nbOpendedSpan,nbClosedSpan,nbUnchangedChars,span,textNode;doHtmlOpti=Ã‹;beginStr=t.last_hightlighted_text.substr(0,stay_begin.Ã†+nbStart);newHtml=newHtml.replace(/&lt;/g,'<').replace(/&gt;/g,'>').replace(/&amp;/g,'&');nbOpendedSpan=beginStr.split('<span').Ã†-1;nbClosedSpan=beginStr.split('</span').Ã†-1;span=t.content_highlight.getElementsByTagName('span')[ nbOpendedSpan ];ÃˆSpan=span;maxStartOffset=maxEndOffset=0;if(nbOpendedSpan==nbClosedSpan){while(ÃˆSpan.ÃˆNode !=t.content_highlight&&ÃˆSpan.ÃˆNode.tagName !='PRE'){ÃˆSpan=ÃˆSpan.ÃˆNode;}}\nelse{maxStartOffset=maxEndOffset=beginStr.Ã†+1;nbClosed=beginStr.substr(Math.max(0,beginStr.lastIndexOf('<span',maxStartOffset-1))).split('</span').Ã†-1;while(nbClosed > 0){nbClosed--;ÃˆSpan=ÃˆSpan.ÃˆNode;}while(ÃˆSpan.ÃˆNode !=t.content_highlight&&ÃˆSpan.ÃˆNode.tagName !='PRE'&&(tmpMaxStartOffset=Math.max(0,beginStr.lastIndexOf('<span',maxStartOffset-1)))<(tmpMaxEndOffset=Math.max(0,beginStr.lastIndexOf('</span',maxEndOffset-1)))){maxStartOffset=tmpMaxStartOffset;maxEndOffset=tmpMaxEndOffset;}}if(ÃˆSpan.ÃˆNode==t.content_highlight||ÃˆSpan.ÃˆNode.tagName=='PRE'){maxStartOffset=Math.max(0,beginStr.indexOf('<span'));}if(maxStartOffset==beginStr.Ã†){nbSubSpanBefore=0;}\nelse{lastEndPos=Math.max(0,beginStr.lastIndexOf('>',maxStartOffset));nbSubSpanBefore=beginStr.substr(lastEndPos).split('<span').Ã†-1;}if(nbSubSpanBefore==0){textNode=ÃˆSpan.firstChild;}\nelse{lastSubSpan=ÃˆSpan.getElementsByTagName('span')[ nbSubSpanBefore-1 ];while(lastSubSpan.ÃˆNode !=ÃˆSpan){lastSubSpan=lastSubSpan.ÃˆNode;}if(lastSubSpan.nextSibling==null||lastSubSpan.nextSibling.nodeType !=3){textNode=document.createTextNode('');lastSubSpan.ÃˆNode.insertBefore(textNode,lastSubSpan.nextSibling);}\nelse{textNode=lastSubSpan.nextSibling;}}if((lastIndex=beginStr.lastIndexOf('>'))==-1){nbUnchangedChars=beginStr.Ã†;}\nelse{nbUnchangedChars=beginStr.substr(lastIndex+1).replace(/&lt;/g,'<').replace(/&gt;/g,'>').replace(/&amp;/g,'&').Ã†;}if(t.isIE){nbUnchangedChars-=(beginStr.substr(beginStr.Ã†-nbUnchangedChars).split(\"\\n\").Ã†-1);textNode.replaceData(nbUnchangedChars,lastHtml.replace(/\\n/g,'').Ã†,newHtml.replace(/\\n/g,''));}\nelse{textNode.replaceData(nbUnchangedChars,lastHtml.Ã†,newHtml);}}}catch(e){doHtmlOpti=ÃŒ;}}tpsAfterOpti2=new Date().getTime();hightlighted_text=stay_begin+updated_highlight+stay_end;if(!doHtmlOpti){var new_Obj=t.content_highlight.cloneNode(ÃŒ);if((t.isIE&&t.isIE < 8)||(t.isOpera&&t.isOpera < 9.6))new_Obj.innerHTML=\"<pre><span class='\"+t.Ã…[\"syntax\"]+\"'>\"+hightlighted_text+\"</span></pre>\";\nelse new_Obj.innerHTML=\"<span class='\"+t.Ã…[\"syntax\"]+\"'>\"+hightlighted_text+\"</span>\";t.content_highlight.ÃˆNode.replaceChild(new_Obj,t.content_highlight);t.content_highlight=new_Obj;}t.last_text_to_highlight=infos[\"full_text\"];t.last_hightlighted_text=hightlighted_text;tps3=new Date().getTime();if(t.Ã…[\"debug\"]){t.debug.ÃŠ=\"Tps optimisation \"+(tps_end_opti-tps_start)+\" | tps reg exp:\"+(tpsAfterReg-tps_end_opti)+\" | tps opti HTML:\"+(tpsAfterOpti2-tpsAfterReg)+' '+(doHtmlOpti ? 'yes':'no')+\" | tps update highlight content:\"+(tps3-tpsAfterOpti2)+\" | tpsTotal:\"+(tps3-tps_start)+\"(\"+tps3+\")\\n\"+debug_opti;}};EA.Ã„.resync_highlight=Ãƒ(reload_now){Ã.reload_highlight=Ã‹;Ã.last_text_to_highlight=\"\";Ã.focus();if(reload_now)Ã.check_line_selection(ÃŒ);}; EA.Ã„.comment_or_quote=Ãƒ(){var new_class=\"\",close_tag=\"\",sy,arg,i;sy=Ãˆ.eAL.syntax[eA.current_code_lang];arg=EA.Ã„.comment_or_quote.arguments[0];for(i in sy[\"quotes\"]){if(arg.indexOf(i)==0){new_class=\"quotesmarks\";close_tag=sy[\"quotes\"][i];}}if(new_class.Ã†==0){for(var i in sy[\"comments\"]){if(arg.indexOf(i)==0){new_class=\"comments\";close_tag=sy[\"comments\"][i];}}}if(close_tag==\"\\n\"){return \"Âµ__\"+new_class+\"__Âµ\"+arg.replace(/(\\r?\\n)?$/m,\"Âµ_END_Âµ$1\");}\nelse{reg=new RegExp(Ãˆ.eAL.get_escaped_regexp(close_tag)+\"$\",\"m\");if(arg.search(reg)!=-1)return \"Âµ__\"+new_class+\"__Âµ\"+arg+\"Âµ_END_Âµ\";\nelse return \"Âµ__\"+new_class+\"__Âµ\"+arg;}};EA.Ã„.get_syntax_trace=Ãƒ(text){if(Ã.Ã…[\"syntax\"].Ã†>0&&Ãˆ.eAL.syntax[Ã.Ã…[\"syntax\"]][\"syntax_trace_regexp\"])return text.replace(Ãˆ.eAL.syntax[Ã.Ã…[\"syntax\"]][\"syntax_trace_regexp\"],\"$3\");};EA.Ã„.colorize_text=Ãƒ(text){text=\" \"+text;if(Ã.Ã…[\"syntax\"].Ã†>0)text=Ã.apply_syntax(text,Ã.Ã…[\"syntax\"]);return text.substr(1).replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/Âµ_END_Âµ/g,\"</span>\").replace(/Âµ__([a-zA-Z0-9]+)__Âµ/g,\"<span class='$1'>\");};EA.Ã„.apply_syntax=Ãƒ(text,lang){var sy;Ã.current_code_lang=lang;if(!Ãˆ.eAL.syntax[lang])return text;sy=Ãˆ.eAL.syntax[lang];if(sy[\"custom_regexp\"]['before']){for(var i in sy[\"custom_regexp\"]['before']){var convert=\"$1Âµ__\"+sy[\"custom_regexp\"]['before'][i]['class']+\"__Âµ$2Âµ_END_Âµ$3\";text=text.replace(sy[\"custom_regexp\"]['before'][i]['regexp'],convert);}}if(sy[\"comment_or_quote_reg_exp\"]){text=text.replace(sy[\"comment_or_quote_reg_exp\"],Ã.comment_or_quote);}if(sy[\"keywords_reg_exp\"]){for(var i in sy[\"keywords_reg_exp\"]){text=text.replace(sy[\"keywords_reg_exp\"][i],'Âµ__'+i+'__Âµ$2Âµ_END_Âµ');}}if(sy[\"delimiters_reg_exp\"]){text=text.replace(sy[\"delimiters_reg_exp\"],'Âµ__delimiters__Âµ$1Âµ_END_Âµ');}if(sy[\"operators_reg_exp\"]){text=text.replace(sy[\"operators_reg_exp\"],'Âµ__operators__Âµ$1Âµ_END_Âµ');}if(sy[\"custom_regexp\"]['after']){for(var i in sy[\"custom_regexp\"]['after']){var convert=\"$1Âµ__\"+sy[\"custom_regexp\"]['after'][i]['class']+\"__Âµ$2Âµ_END_Âµ$3\";text=text.replace(sy[\"custom_regexp\"]['after'][i]['regexp'],convert);}}return text;};var editArea= eA;EditArea=EA;</script>".replace(/Ã/g,'this').replace(/Ã‚/g,'textarea').replace(/Ãƒ/g,'function').replace(/Ã„/g,'prototype').replace(/Ã…/g,'settings').replace(/Ã†/g,'length').replace(/Ã‡/g,'style').replace(/Ãˆ/g,'parent').replace(/Ã‰/g,'last_selection').replace(/ÃŠ/g,'value').replace(/Ã‹/g,'true').replace(/ÃŒ/g,'false');
+editAreaLoader.template= "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\"> <html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" > <head> <title>EditArea</title> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" /> <meta http-equiv=\"X-UA-Compatible\" content=\"IE=EmulateIE7\"/> [__CSSRULES__] [__JSCODE__] </head> <body> <div id='editor'> <div class='area_toolbar' id='toolbar_1'>[__TOOLBAR__]</div> <div class='area_toolbar' id='tab_browsing_area'><ul id='tab_browsing_list' class='menu'> <li> </li> </ul></div> <div id='result'> <div id='no_file_selected'></div> <div id='container'> <div id='cursor_pos' class='edit_area_cursor'>&nbsp;</div> <div id='end_bracket' class='edit_area_cursor'>&nbsp;</div> <div id='selection_field'></div> <div id='line_number' selec='none'></div> <div id='content_highlight'></div> <div id='test_font_size'></div> <div id='selection_field_text'></div> <textarea id='textarea' wrap='off' onchange='editArea.execCommand(\"onchange\");' onfocus='javascript:editArea.textareaFocused=true;' onblur='javascript:editArea.textareaFocused=false;'> </textarea> </div> </div> <div class='area_toolbar' id='toolbar_2'> <table class='statusbar' cellspacing='0' cellpadding='0'> <tr> <td class='total' selec='none'>{$position}:</td> <td class='infos' selec='none'> {$line_abbr} <span  id='linePos'>0</span>, {$char_abbr} <span id='currPos'>0</span> </td> <td class='total' selec='none'>{$total}:</td> <td class='infos' selec='none'> {$line_abbr} <span id='nbLine'>0</span>, {$char_abbr} <span id='nbChar'>0</span> </td> <td class='resize'> <span id='resize_area'><img src='[__BASEURL__]images/statusbar_resize.gif' alt='resize' selec='none'></span> </td> </tr> </table> </div> </div> <div id='processing'> <div id='processing_text'> {$processing} </div> </div> <div id='area_search_replace' class='editarea_popup'> <table cellspacing='2' cellpadding='0' style='width: 100%'> <tr> <td selec='none'>{$search}</td> <td><input type='text' id='area_search' /></td> <td id='close_area_search_replace'> <a onclick='Javascript:editArea.execCommand(\"hidden_search\")'><img selec='none' src='[__BASEURL__]images/close.gif' alt='{$close_popup}' title='{$close_popup}' /></a><br /> </tr><tr> <td selec='none'>{$replace}</td> <td><input type='text' id='area_replace' /></td> <td><img id='move_area_search_replace' onmousedown='return parent.start_move_element(event,\"area_search_replace\", parent.frames[\"frame_\"+editArea.id]);'  src='[__BASEURL__]images/move.gif' alt='{$move_popup}' title='{$move_popup}' /></td> </tr> </table> <div class='button'> <input type='checkbox' id='area_search_match_case' /><label for='area_search_match_case' selec='none'>{$match_case}</label> <input type='checkbox' id='area_search_reg_exp' /><label for='area_search_reg_exp' selec='none'>{$reg_exp}</label> <br /> <a onclick='Javascript:editArea.execCommand(\"area_search\")' selec='none'>{$find_next}</a> <a onclick='Javascript:editArea.execCommand(\"area_replace\")' selec='none'>{$replace}</a> <a onclick='Javascript:editArea.execCommand(\"area_replace_all\")' selec='none'>{$replace_all}</a><br /> </div> <div id='area_search_msg' selec='none'></div> </div> <div id='edit_area_help' class='editarea_popup'> <div class='close_popup'> <a onclick='Javascript:editArea.execCommand(\"close_all_inline_popup\")'><img src='[__BASEURL__]images/close.gif' alt='{$close_popup}' title='{$close_popup}' /></a> </div> <div><h2>Editarea [__EA_VERSION__]</h2><br /> <h3>{$shortcuts}:</h3> {$tab}: {$add_tab}<br /> {$shift}+{$tab}: {$remove_tab}<br /> {$ctrl}+f: {$search_command}<br /> {$ctrl}+r: {$replace_command}<br /> {$ctrl}+h: {$highlight}<br /> {$ctrl}+g: {$go_to_line}<br /> {$ctrl}+z: {$undo}<br /> {$ctrl}+y: {$redo}<br /> {$ctrl}+e: {$help}<br /> {$ctrl}+q, {$esc}: {$close_popup}<br /> {$accesskey} E: {$toggle}<br /> <br /> <em>{$about_notice}</em> <br /><div class='copyright'>&copy; Christophe Dolivet 2007-2010</div> </div> </div> </body> </html> ";
+editAreaLoader.iframe_css= "<style>body,html{margin:0;padding:0;height:100%;border:none;overflow:hidden;background-color:#FFF;}body,html,table,form,textarea{font:12px monospace,sans-serif;}#editor{border:solid #888 1px;overflow:hidden;}#result{z-index:4;overflow-x:auto;overflow-y:scroll;border-top:solid #888 1px;border-bottom:solid #888 1px;position:relative;clear:both;}#result.empty{overflow:hidden;}#container{overflow:hidden;border:solid blue 0;position:relative;z-index:10;padding:0 5px 0 45px;}#textarea{position:relative;top:0;left:0;margin:0;padding:0;width:100%;height:100%;overflow:hidden;z-index:7;border-width:0;background-color:transparent;resize:none;}#textarea,#textarea:hover{outline:none;}#content_highlight{white-space:pre;margin:0;padding:0;position:absolute;z-index:4;overflow:visible;}#selection_field,#selection_field_text{margin:0;background-color:#E1F2F9;position:absolute;z-index:5;top:-100px;padding:0;white-space:pre;overflow:hidden;}#selection_field.show_colors {z-index:3;background-color:#EDF9FC;}#selection_field strong{font-weight:normal;}#selection_field.show_colors *,#selection_field_text * {visibility:hidden;}#selection_field_text{background-color:transparent;}#selection_field_text strong{font-weight:normal;background-color:#3399FE;color:#FFF;visibility:visible;}#container.word_wrap #content_highlight,#container.word_wrap #selection_field,#container.word_wrap #selection_field_text,#container.word_wrap #test_font_size{white-space:pre-wrap;white-space:-moz-pre-wrap !important;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word;width:99%;}#line_number{position:absolute;overflow:hidden;border-right:solid black 1px;z-index:8;width:38px;padding:0 5px 0 0;margin:0 0 0 -45px;text-align:right;color:#AAAAAA;}#test_font_size{padding:0;margin:0;visibility:hidden;position:absolute;white-space:pre;}pre{margin:0;padding:0;}.hidden{opacity:0.2;filter:alpha(opacity=20);}#result .edit_area_cursor{position:absolute;z-index:6;background-color:#FF6633;top:-100px;margin:0;}#result .edit_area_selection_field .overline{background-color:#996600;}.editarea_popup{border:solid 1px #888888;background-color:#ECE9D8;width:250px;padding:4px;position:absolute;visibility:hidden;z-index:15;top:-500px;}.editarea_popup,.editarea_popup table{font-family:sans-serif;font-size:10pt;}.editarea_popup img{border:0;}.editarea_popup .close_popup{float:right;line-height:16px;border:0;padding:0;}.editarea_popup h1,.editarea_popup h2,.editarea_popup h3,.editarea_popup h4,.editarea_popup h5,.editarea_popup h6{margin:0;padding:0;}.editarea_popup .copyright{text-align:right;}div#area_search_replace{}div#area_search_replace img{border:0;}div#area_search_replace div.button{text-align:center;line-height:1.7em;}div#area_search_replace .button a{cursor:pointer;border:solid 1px #888888;background-color:#DEDEDE;text-decoration:none;padding:0 2px;color:#000000;white-space:nowrap;}div#area_search_replace a:hover{background-color:#EDEDED;}div#area_search_replace  #move_area_search_replace{cursor:move;border:solid 1px #888;}div#area_search_replace  #close_area_search_replace{text-align:right;vertical-align:top;white-space:nowrap;}div#area_search_replace  #area_search_msg{height:18px;overflow:hidden;border-top:solid 1px #888;margin-top:3px;}#edit_area_help{width:350px;}#edit_area_help div.close_popup{float:right;}.area_toolbar{width:100%;margin:0;padding:0;background-color:#ECE9D8;text-align:center;}.area_toolbar,.area_toolbar table{font:11px sans-serif;}.area_toolbar img{border:0;vertical-align:middle;}.area_toolbar input{margin:0;padding:0;}.area_toolbar select{font-family:'MS Sans Serif',sans-serif,Verdana,Arial;font-size:7pt;font-weight:normal;margin:2px 0 0 0 ;padding:0;vertical-align:top;background-color:#F0F0EE;}table.statusbar{width:100%;}.area_toolbar td.infos{text-align:center;width:130px;border-right:solid 1px #888;border-width:0 1px 0 0;padding:0;}.area_toolbar td.total{text-align:right;width:50px;padding:0;}.area_toolbar td.resize{text-align:right;}.area_toolbar span#resize_area{cursor:nw-resize;visibility:hidden;}.editAreaButtonNormal,.editAreaButtonOver,.editAreaButtonDown,.editAreaSeparator,.editAreaSeparatorLine,.editAreaButtonDisabled,.editAreaButtonSelected {border:0; margin:0; padding:0; background:transparent;margin-top:0;margin-left:1px;padding:0;}.editAreaButtonNormal {border:1px solid #ECE9D8 !important;cursor:pointer;}.editAreaButtonOver {border:1px solid #0A246A !important;cursor:pointer;background-color:#B6BDD2;}.editAreaButtonDown {cursor:pointer;border:1px solid #0A246A !important;background-color:#8592B5;}.editAreaButtonSelected {border:1px solid #C0C0BB !important;cursor:pointer;background-color:#F4F2E8;}.editAreaButtonDisabled {filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);-moz-opacity:0.3;opacity:0.3;border:1px solid #F0F0EE !important;cursor:pointer;}.editAreaSeparatorLine {margin:1px 2px;background-color:#C0C0BB;width:2px;height:18px;}#processing{display:none;background-color:#ECE9D8;border:solid #888 1px;position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;text-align:center;}#processing_text{position:absolute;left:50%;top:50%;width:200px;height:20px;margin-left:-100px;margin-top:-10px;text-align:center;}#tab_browsing_area{display:none;background-color:#CCC9A8;border-top:1px solid #888;text-align:left;margin:0;}#tab_browsing_list {padding:0;margin:0;list-style-type:none;white-space:nowrap;}#tab_browsing_list li {float:left;margin:-1px;}#tab_browsing_list a {position:relative;display:block;text-decoration:none;float:left;cursor:pointer;line-height:14px;}#tab_browsing_list a span {display:block;color:#000;background:#ECE9D8;border:1px solid #888;border-width:1px 1px 0;text-align:center;padding:2px 2px 1px 4px;position:relative;}#tab_browsing_list a b {display:block;border-bottom:2px solid #617994;}#tab_browsing_list a .edited {display:none;}#tab_browsing_list a.edited .edited {display:inline;}#tab_browsing_list a img{margin-left:7px;}#tab_browsing_list a.edited img{margin-left:3px;}#tab_browsing_list a:hover span {background:#F4F2E8;border-color:#0A246A;}#tab_browsing_list .selected a span{background:#046380;color:#FFF;}#no_file_selected{height:100%;width:150%;background:#CCC;display:none;z-index:20;position:absolute;}.non_editable #editor{border-width:0 1px;}.non_editable .area_toolbar{display:none;}#auto_completion_area{background:#FFF;border:solid 1px #888;position:absolute;z-index:15;width:280px;height:180px;overflow:auto;display:none;}#auto_completion_area a,#auto_completion_area a:visited{display:block;padding:0 2px 1px;color:#000;text-decoration:none;}#auto_completion_area a:hover,#auto_completion_area a:focus,#auto_completion_area a.focus{background:#D6E1FE;text-decoration:none;}#auto_completion_area ul{margin:0;padding:0;list-style:none inside;}#auto_completion_area li{padding:0;}#auto_completion_area .prefix{font-style:italic;padding:0 3px;}</style>";

Property changes on: tags/2.8.2/wb/include/editarea/edit_area_full.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/wb_wrapper_edit_area.php
===================================================================
--- tags/2.8.2/wb/include/editarea/wb_wrapper_edit_area.php	(nonexistent)
+++ tags/2.8.2/wb/include/editarea/wb_wrapper_edit_area.php	(revision 1481)
@@ -0,0 +1,126 @@
+<?php
+/**
+ *
+ * @category        framework
+ * @package         include
+ * @author		    Christophe Dolivet (EditArea), Christian Sommer (WB wrapper)
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+function loader_help()
+{
+?>
+   <script type="text/javascript">
+      var head= document.getElementsByTagName('head')[0];
+      var script= document.createElement('script');
+      script.type= 'text/javascript';
+      script.src= '<?php print WB_URL; ?>/include/editarea/edit_area_full.js';
+      head.appendChild(script);
+   </script>
+<?php
+
+}
+
+if (!function_exists('registerEditArea')) {
+	function registerEditArea(
+                $id = 'code_area',
+                $syntax = 'php',
+                $syntax_selection = true,
+                $allow_resize = 'both',
+                $allow_toggle = true,
+                $start_highlight = true,
+                $min_width = 600,
+                $min_height = 300,
+                $toolbar = 'default'
+            )
+	{
+
+		// set default toolbar if no user defined was specified
+		if ($toolbar == 'default') {
+			$toolbar = 'search, fullscreen, |, undo, redo, |, select_font, syntax_selection, |, highlight, reset_highlight, |, help';
+			$toolbar = (!$syntax_selection) ? str_replace('syntax_selection,', '', $toolbar) : $toolbar;
+		}
+
+		// check if used Website Baker backend language is supported by EditArea
+		$language = 'en';
+		if (defined('LANGUAGE') && file_exists(dirname(__FILE__) . '/langs/' . strtolower(LANGUAGE) . '.js'))
+        {
+			$language = strtolower(LANGUAGE);
+		}
+
+		// check if highlight syntax is supported by edit_area
+		$syntax = in_array($syntax, array('css', 'html', 'js', 'php', 'xml')) ? $syntax : 'php';
+
+		// check if resize option is supported by edit_area
+		$allow_resize = in_array($allow_resize, array('no', 'both', 'x', 'y')) ? $allow_resize : 'no';
+
+		// return the Javascript code
+		$result = <<< EOT
+		<script type="text/javascript">
+			editAreaLoader.init({
+				id: 				'$id',
+				start_highlight:	$start_highlight,
+				syntax:			    '$syntax',
+				min_width:			$min_width,
+				min_height:		    $min_height,
+				allow_resize: 		'$allow_resize',
+				allow_toggle: 		$allow_toggle,
+				toolbar: 			'$toolbar',
+				language:			'$language'
+			});
+		</script>
+EOT;
+		return $result;	
+	}
+}
+
+if (!function_exists('getEditAreaSyntax')) {
+	function getEditAreaSyntax($file) 
+	{
+		// returns the highlight scheme for edit_area
+		$syntax = 'php';
+		if (is_readable($file)) {
+			// extract file extension
+			$file_info = pathinfo($file);
+		
+			switch ($file_info['extension']) {
+				case 'htm': case 'html': case 'htt':
+					$syntax = 'html';
+	  				break;
+
+	 			case 'css':
+					$syntax = 'css';
+	  				break;
+
+				case 'js':
+					$syntax = 'js';
+					break;
+
+				case 'xml':
+					$syntax = 'xml';
+					break;
+
+	 			case 'php': case 'php3': case 'php4': case 'php5':
+					$syntax = 'php';
+	  				break;
+
+				default:
+					$syntax = 'php';
+					break;
+			}
+		}
+		return $syntax ;
+	}
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/editarea/wb_wrapper_edit_area.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/index.php
===================================================================
--- tags/2.8.2/wb/include/editarea/index.php	(nonexistent)
+++ tags/2.8.2/wb/include/editarea/index.php	(revision 1481)
@@ -0,0 +1,23 @@
+<?php
+/**
+ *
+ * @category        framework
+ * @package         include
+ * @author		    Christophe Dolivet (EditArea), Christian Sommer (WB wrapper)
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// prevent directory listing
+header('Location: ../../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/editarea/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/editarea/license_lgpl.txt
===================================================================
--- tags/2.8.2/wb/include/editarea/license_lgpl.txt	(nonexistent)
+++ tags/2.8.2/wb/include/editarea/license_lgpl.txt	(revision 1481)
@@ -0,0 +1,458 @@
+		  GNU LESSER GENERAL PUBLIC LICENSE
+		       Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+		  GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+  
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+			    NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+		     END OF TERMS AND CONDITIONS

Property changes on: tags/2.8.2/wb/include/editarea/license_lgpl.txt
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/include/phplib/template.inc
===================================================================
--- tags/2.8.2/wb/include/phplib/template.inc	(nonexistent)
+++ tags/2.8.2/wb/include/phplib/template.inc	(revision 1481)
@@ -0,0 +1,1028 @@
+<?php
+
+// $Id$
+
+/*
+ * Session Management for PHP3
+ *
+ * (C) Copyright 1999-2000 NetUSE GmbH
+ *                    Kristian Koehntopp
+ *
+ * $Id$
+ *
+ */
+
+/*
+ * Change log since version 7.2c
+ *
+ * Bug fixes to version 7.2c compiled by Richard Archer <rha@juggernaut.com.au>:
+ * (credits given to first person to post a diff to phplib mailing list)
+ *
+ * Normalised all comments and whitespace (rha)
+ * replaced "$handle" with "$varname" and "$h" with "$v" throughout (from phplib-devel)
+ * added braces around all one-line if statements in: get_undefined, loadfile and halt (rha)
+ * set_var was missing two sets of braces (rha)
+ * added a couple of "return true" statements (rha)
+ * set_unknowns had "keep" as default instead of "remove" (from phplib-devel)
+ * set_file failed to check for empty strings if passed an array of filenames (phplib-devel)
+ * remove @ from call to preg_replace in subst -- report errors if there are any (NickM)
+ * set_block unnecessarily required a newline in the template file (Marc Tardif)
+ * pparse now calls this->finish to replace undefined vars (Layne Weathers)
+ * get_var now checks for unset varnames (NickM & rha)
+ * get_var when passed an array used the array key instead of the value (rha)
+ * get_vars now uses a call to get_var rather than this->varvals to prevent undefined var warning (rha)
+ * in finish, the replacement string referenced an unset variable (rha)
+ * loadfile would try to load a file if the varval had been set to "" (rha)
+ * in get_undefined, only match non-whitespace in variable tags as in finish (Layne Weathers & rha)
+ * more elegant fix to the problem of subst stripping '$n', '\n' and '\\' strings (rha)
+ * parse uses get_var to obtain return value (Jordi via SF)
+ * set_block reports an error if the block could not be extracted (rha)
+ * filename is now windows-pathname aware (krabu @ SF)
+ *
+ *
+ * Changes in functionality which go beyond bug fixes:
+ *
+ * added ability for filename comments to be output (from phplib-users layne)
+ * changed debug handling so set, get and internals can be tracked separately (rha)
+ * added debug statements throughout to track most function calls (rha)
+ * debug output contained raw HTML -- is now escaped with htmlentities (rha)
+ * Alter regex in set_block to remove more whitespace around BEGIN/END tags to improve HTML layout (rha)
+ * Add "append" option to set_var, works just like append in parse (dale at linuxwebpro.com, rha)
+ * Altered parse so that append is honored if passed an array (Brian)
+ * Converted comments and documentation to phpdoc style (rha)
+ * Added clear_var to set the value of variables to "" (rha)
+ * Added unset_var to usset variables (rha)
+ *
+ */
+
+/**
+ * The template class allows you to keep your HTML code in some external files
+ * which are completely free of PHP code, but contain replacement fields.
+ * The class provides you with functions which can fill in the replacement fields
+ * with arbitrary strings. These strings can become very large, e.g. entire tables.
+ *
+ * Note: If you think that this is like FastTemplates, read carefully. It isn't.
+ *
+ * Fixes
+ * Ticket #812 depricated Fix 2009/11/25
+ */
+
+class Template
+{
+ /**
+  * Serialization helper, the name of this class.
+  *
+  * @var       string
+  * @access    public
+  */
+  var $classname = "Template";
+
+ /**
+  * Determines how much debugging output Template will produce.
+  * This is a bitwise mask of available debug levels:
+  * 0 = no debugging
+  * 1 = debug variable assignments
+  * 2 = debug calls to get variable
+  * 4 = debug internals (outputs all function calls with parameters).
+  *
+  * Note: setting $this->debug = true will enable debugging of variable
+  * assignments only which is the same behaviour as versions up to release 7.2d.
+  *
+  * @var       int
+  * @access    public
+  */
+  var $debug    = false;
+
+ /**
+  * Determines whether Template outputs filename comments.
+  * false = no filename outputs
+  * true = HTML comments (e.g. <!-- START FILE $filename -->) placed in output
+  *
+  * @var       int
+  * @access    public
+  */
+  var $filename_comments = false;
+
+ /**
+  * Determines the regular expression used to find unknown variable tags.
+  * "loose"  = traditional match all curly braces with no whitespace between
+  * "strict" = adopts PHP's variable naming rules
+  *              ("loose" has a nasty habit of deleting JavaScript RegEx components)
+  *              (should future major version releases of PHPLib default this "strict"?)
+  *
+  * @var       string
+  * @access    public
+  */
+  var $unknown_regexp = "loose";
+
+ /**
+  * The base directory from which template files are loaded.
+  *
+  * @var       string
+  * @access    private
+  * @see       set_root
+  */
+  var $root     = ".";
+
+ /**
+  * A hash of strings forming a translation table which translates variable names
+  * into names of files containing the variable content.
+  * $file[varname] = "filename";
+  *
+  * @var       array
+  * @access    private
+  * @see       set_file
+  */
+  var $file     = array();
+
+ /**
+  * A hash of strings forming a translation table which translates variable names
+  * into regular expressions for themselves.
+  * $varkeys[varname] = "/varname/"
+  *
+  * @var       array
+  * @access    private
+  * @see       set_var
+  */
+  var $varkeys  = array();
+
+ /**
+  * A hash of strings forming a translation table which translates variable names
+  * into values for their respective varkeys.
+  * $varvals[varname] = "value"
+  *
+  * @var       array
+  * @access    private
+  * @see       set_var
+  */
+  var $varvals  = array();
+
+ /**
+  * Determines how to output variable tags with no assigned value in templates.
+  *
+  * @var       string
+  * @access    private
+  * @see       set_unknowns
+  */
+  var $unknowns = "remove";
+
+ /**
+  * Determines how Template handles error conditions.
+  * "yes"      = the error is reported, then execution is halted
+  * "report"   = the error is reported, then execution continues by returning "false"
+  * "no"       = errors are silently ignored, and execution resumes reporting "false"
+  *
+  * @var       string
+  * @access    public
+  * @see       halt
+  */
+  var $halt_on_error  = "yes";
+
+ /**
+  * The last error message is retained in this variable.
+  *
+  * @var       string
+  * @access    public
+  * @see       halt
+  */
+  var $last_error     = "";
+
+ /******************************************************************************
+  * Class constructor. May be called with two optional parameters.
+  * The first parameter sets the template directory the second parameter
+  * sets the policy regarding handling of unknown variables.
+  *
+  * usage: Template([string $root = "."], [string $unknowns = "remove"])
+  *
+  * @param     $root        path to template directory
+  * @param     $string      what to do with undefined variables
+  * @see       set_root
+  * @see       set_unknowns
+  * @access    public
+  * @return    void
+  */
+  function Template($root = ".", $unknowns = "remove") {
+    if ($this->debug & 4) {
+      echo "<p><b>Template:</b> root = $root, unknowns = $unknowns</p>\n";
+    }
+    $this->set_root($root);
+    $this->set_unknowns($unknowns);
+  }
+
+
+ /******************************************************************************
+  * Checks that $root is a valid directory and if so sets this directory as the
+  * base directory from which templates are loaded by storing the value in
+  * $this->root. Relative filenames are prepended with the path in $this->root.
+  *
+  * Returns true on success, false on error.
+  *
+  * usage: set_root(string $root)
+  *
+  * @param     $root         string containing new template directory
+  * @see       root
+  * @access    public
+  * @return    boolean
+  */
+  function set_root($root) {
+    if(preg_match ('/\/$/', $root)) {
+      $root = substr($root, 0, -1);
+    }
+    if ($this->debug & 4) {
+      echo "<p><b>set_root:</b> root = $root</p>\n";
+    }
+    if (!is_dir($root)) {
+      $this->halt("set_root: $root is not a directory.");
+      return false;
+    }
+
+    $this->root = $root;
+    return true;
+  }
+
+
+ /******************************************************************************
+  * Sets the policy for dealing with unresolved variable names.
+  *
+  * unknowns defines what to do with undefined template variables
+  * "remove"   = remove undefined variables
+  * "comment"  = replace undefined variables with comments
+  * "keep"     = keep undefined variables
+  *
+  * Note: "comment" can cause unexpected results when the variable tag is embedded
+  * inside an HTML tag, for example a tag which is expected to be replaced with a URL.
+  *
+  * usage: set_unknowns(string $unknowns)
+  *
+  * @param     $unknowns         new value for unknowns
+  * @see       unknowns
+  * @access    public
+  * @return    void
+  */
+  function set_unknowns($unknowns = "remove") {
+    if ($this->debug & 4) {
+      echo "<p><b>unknowns:</b> unknowns = $unknowns</p>\n";
+    }
+    $this->unknowns = $unknowns;
+  }
+
+
+ /******************************************************************************
+  * Defines a filename for the initial value of a variable.
+  *
+  * It may be passed either a varname and a file name as two strings or
+  * a hash of strings with the key being the varname and the value
+  * being the file name.
+  *
+  * The new mappings are stored in the array $this->file.
+  * The files are not loaded yet, but only when needed.
+  *
+  * Returns true on success, false on error.
+  *
+  * usage: set_file(array $filelist = (string $varname => string $filename))
+  * or
+  * usage: set_file(string $varname, string $filename)
+  *
+  * @param     $varname      either a string containing a varname or a hash of varname/file name pairs.
+  * @param     $filename     if varname is a string this is the filename otherwise filename is not required
+  * @access    public
+  * @return    boolean
+  */
+  function set_file($varname, $filename = "") {
+    if (!is_array($varname)) {
+      if ($this->debug & 4) {
+        echo "<p><b>set_file:</b> (with scalar) varname = $varname, filename = $filename</p>\n";
+      }
+      if ($filename == "") {
+        $this->halt("set_file: For varname $varname filename is empty.");
+        return false;
+      }
+      $this->file[$varname] = $this->filename($filename);
+    } else {
+      reset($varname);
+      while (list($v, $f) = each($varname)) {
+        if ($this->debug & 4) {
+          echo "<p><b>set_file:</b> (with array) varname = $v, filename = $f</p>\n";
+        }
+        if ($f == "") {
+          $this->halt("set_file: For varname $v filename is empty.");
+          return false;
+        }
+        $this->file[$v] = $this->filename($f);
+      }
+    }
+    return true;
+  }
+
+
+ /******************************************************************************
+  * A variable $parent may contain a variable block defined by:
+  * &lt;!-- BEGIN $varname --&gt; content &lt;!-- END $varname --&gt;. This function removes
+  * that block from $parent and replaces it with a variable reference named $name.
+  * The block is inserted into the varkeys and varvals hashes. If $name is
+  * omitted, it is assumed to be the same as $varname.
+  *
+  * Blocks may be nested but care must be taken to extract the blocks in order
+  * from the innermost block to the outermost block.
+  *
+  * Returns true on success, false on error.
+  *
+  * usage: set_block(string $parent, string $varname, [string $name = ""])
+  *
+  * @param     $parent       a string containing the name of the parent variable
+  * @param     $varname      a string containing the name of the block to be extracted
+  * @param     $name         the name of the variable in which to store the block
+  * @access    public
+  * @return    boolean
+  */
+  function set_block($parent, $varname, $name = "") {
+    if ($this->debug & 4) {
+      echo "<p><b>set_block:</b> parent = $parent, varname = $varname, name = $name</p>\n";
+    }
+    if (!$this->loadfile($parent)) {
+      $this->halt("set_block: unable to load $parent.");
+      return false;
+    }
+    if ($name == "") {
+      $name = $varname;
+    }
+
+    $str = $this->get_var($parent);
+    $reg = "/[ \t]*<!--\s+BEGIN $varname\s+-->\s*?\n?(\s*.*?\n?)\s*<!--\s+END $varname\s+-->\s*?\n?/sm";
+    preg_match_all($reg, $str, $m);
+/* workaround to avoid problems with some WB files/modules (e.g. massmail)
+    if (!isset($m[1][0])) {
+      $this->halt("set_block: unable to set block $varname.");
+      return false;
+    }
+*/
+    $str = preg_replace($reg, "{" . $name . "}", $str);
+    @$this->set_var($varname, $m[1][0]);
+    $this->set_var($parent, $str);
+    return true;
+  }
+
+
+ /******************************************************************************
+  * This functions sets the value of a variable.
+  *
+  * It may be called with either a varname and a value as two strings or an
+  * an associative array with the key being the varname and the value being
+  * the new variable value.
+  *
+  * The function inserts the new value of the variable into the $varkeys and
+  * $varvals hashes. It is not necessary for a variable to exist in these hashes
+  * before calling this function.
+  *
+  * An optional third parameter allows the value for each varname to be appended
+  * to the existing variable instead of replacing it. The default is to replace.
+  * This feature was introduced after the 7.2d release.
+  *
+  *
+  * usage: set_var(string $varname, [string $value = ""], [boolean $append = false])
+  * or
+  * usage: set_var(array $varname = (string $varname => string $value), [mixed $dummy_var], [boolean $append = false])
+  *
+  * @param     $varname      either a string containing a varname or a hash of varname/value pairs.
+  * @param     $value        if $varname is a string this contains the new value for the variable otherwise this parameter is ignored
+  * @param     $append       if true, the value is appended to the variable's existing value
+  * @access    public
+  * @return    void
+  */
+  function set_var($varname, $value = "", $append = false) {
+    if (!is_array($varname)) {
+      if (!empty($varname)) {
+        if ($this->debug & 1) {
+          printf("<b>set_var:</b> (with scalar) <b>%s</b> = '%s'<br>\n", $varname, htmlentities($value));
+        }
+        $this->varkeys[$varname] = "/".$this->varname($varname)."/";
+        if ($append && isset($this->varvals[$varname])) {
+          $this->varvals[$varname] .= $value;
+        } else {
+          $this->varvals[$varname] = $value;
+        }
+      }
+    } else {
+      reset($varname);
+      while (list($k, $v) = each($varname)) {
+        if (!empty($k)) {
+          if ($this->debug & 1) {
+            printf("<b>set_var:</b> (with array) <b>%s</b> = '%s'<br>\n", $k, htmlentities($v));
+          }
+          $this->varkeys[$k] = "/".$this->varname($k)."/";
+          if ($append && isset($this->varvals[$k])) {
+            $this->varvals[$k] .= $v;
+          } else {
+            $this->varvals[$k] = $v;
+          }
+        }
+      }
+    }
+  }
+
+
+ /******************************************************************************
+  * This functions clears the value of a variable.
+  *
+  * It may be called with either a varname as a string or an array with the 
+  * values being the varnames to be cleared.
+  *
+  * The function sets the value of the variable in the $varkeys and $varvals 
+  * hashes to "". It is not necessary for a variable to exist in these hashes
+  * before calling this function.
+  *
+  *
+  * usage: clear_var(string $varname)
+  * or
+  * usage: clear_var(array $varname = (string $varname))
+  *
+  * @param     $varname      either a string containing a varname or an array of varnames.
+  * @access    public
+  * @return    void
+  */
+  function clear_var($varname) {
+    if (!is_array($varname)) {
+      if (!empty($varname)) {
+        if ($this->debug & 1) {
+          printf("<b>clear_var:</b> (with scalar) <b>%s</b><br>\n", $varname);
+        }
+        $this->set_var($varname, "");
+      }
+    } else {
+      reset($varname);
+      while (list($k, $v) = each($varname)) {
+        if (!empty($v)) {
+          if ($this->debug & 1) {
+            printf("<b>clear_var:</b> (with array) <b>%s</b><br>\n", $v);
+          }
+          $this->set_var($v, "");
+        }
+      }
+    }
+  }
+
+
+ /******************************************************************************
+  * This functions unsets a variable completely.
+  *
+  * It may be called with either a varname as a string or an array with the 
+  * values being the varnames to be cleared.
+  *
+  * The function removes the variable from the $varkeys and $varvals hashes.
+  * It is not necessary for a variable to exist in these hashes before calling
+  * this function.
+  *
+  *
+  * usage: unset_var(string $varname)
+  * or
+  * usage: unset_var(array $varname = (string $varname))
+  *
+  * @param     $varname      either a string containing a varname or an array of varnames.
+  * @access    public
+  * @return    void
+  */
+  function unset_var($varname) {
+    if (!is_array($varname)) {
+      if (!empty($varname)) {
+        if ($this->debug & 1) {
+          printf("<b>unset_var:</b> (with scalar) <b>%s</b><br>\n", $varname);
+        }
+        unset($this->varkeys[$varname]);
+        unset($this->varvals[$varname]);
+      }
+    } else {
+      reset($varname);
+      while (list($k, $v) = each($varname)) {
+        if (!empty($v)) {
+          if ($this->debug & 1) {
+            printf("<b>unset_var:</b> (with array) <b>%s</b><br>\n", $v);
+          }
+          unset($this->varkeys[$v]);
+          unset($this->varvals[$v]);
+        }
+      }
+    }
+  }
+
+
+ /******************************************************************************
+  * This function fills in all the variables contained within the variable named
+  * $varname. The resulting value is returned as the function result and the
+  * original value of the variable varname is not changed. The resulting string
+  * is not "finished", that is, the unresolved variable name policy has not been
+  * applied yet.
+  *
+  * Returns: the value of the variable $varname with all variables substituted.
+  *
+  * usage: subst(string $varname)
+  *
+  * @param     $varname      the name of the variable within which variables are to be substituted
+  * @access    public
+  * @return    string
+  */
+  function subst($varname) {
+    $varvals_quoted = array();
+    if ($this->debug & 4) {
+      echo "<p><b>subst:</b> varname = $varname</p>\n";
+    }
+    if (!$this->loadfile($varname)) {
+      $this->halt("subst: unable to load $varname.");
+      return false;
+    }
+
+    // quote the replacement strings to prevent bogus stripping of special chars
+    reset($this->varvals);
+    while (list($k, $v) = each($this->varvals)) {
+      $varvals_quoted[$k] = preg_replace(array('/\\\\/', '/\$/'), array('\\\\\\\\', '\\\\$'), $v);
+    }
+
+    $str = $this->get_var($varname);
+    $str = preg_replace($this->varkeys, $varvals_quoted, $str);
+    return $str;
+  }
+
+
+ /******************************************************************************
+  * This is shorthand for print $this->subst($varname). See subst for further
+  * details.
+  *
+  * Returns: always returns false.
+  *
+  * usage: psubst(string $varname)
+  *
+  * @param     $varname      the name of the variable within which variables are to be substituted
+  * @access    public
+  * @return    false
+  * @see       subst
+  */
+  function psubst($varname) {
+    if ($this->debug & 4) {
+      echo "<p><b>psubst:</b> varname = $varname</p>\n";
+    }
+    print $this->subst($varname);
+
+    return false;
+  }
+
+
+ /******************************************************************************
+  * The function substitutes the values of all defined variables in the variable
+  * named $varname and stores or appends the result in the variable named $target.
+  *
+  * It may be called with either a target and a varname as two strings or a
+  * target as a string and an array of variable names in varname.
+  *
+  * The function inserts the new value of the variable into the $varkeys and
+  * $varvals hashes. It is not necessary for a variable to exist in these hashes
+  * before calling this function.
+  *
+  * An optional third parameter allows the value for each varname to be appended
+  * to the existing target variable instead of replacing it. The default is to
+  * replace.
+  *
+  * If $target and $varname are both strings, the substituted value of the
+  * variable $varname is inserted into or appended to $target.
+  *
+  * If $handle is an array of variable names the variables named by $handle are
+  * sequentially substituted and the result of each substitution step is
+  * inserted into or appended to in $target. The resulting substitution is
+  * available in the variable named by $target, as is each intermediate step
+  * for the next $varname in sequence. Note that while it is possible, it
+  * is only rarely desirable to call this function with an array of varnames
+  * and with $append = true. This append feature was introduced after the 7.2d
+  * release.
+  *
+  * Returns: the last value assigned to $target.
+  *
+  * usage: parse(string $target, string $varname, [boolean $append])
+  * or
+  * usage: parse(string $target, array $varname = (string $varname), [boolean $append])
+  *
+  * @param     $target      a string containing the name of the variable into which substituted $varnames are to be stored
+  * @param     $varname     if a string, the name the name of the variable to substitute or if an array a list of variables to be substituted
+  * @param     $append      if true, the substituted variables are appended to $target otherwise the existing value of $target is replaced
+  * @access    public
+  * @return    string
+  * @see       subst
+  */
+  function parse($target, $varname, $append = false) {
+    if (!is_array($varname)) {
+      if ($this->debug & 4) {
+        echo "<p><b>parse:</b> (with scalar) target = $target, varname = $varname, append = $append</p>\n";
+      }
+      $str = $this->subst($varname);
+      if ($append) {
+        $this->set_var($target, $this->get_var($target) . $str);
+      } else {
+        $this->set_var($target, $str);
+      }
+    } else {
+      reset($varname);
+      while (list($i, $v) = each($varname)) {
+        if ($this->debug & 4) {
+          echo "<p><b>parse:</b> (with array) target = $target, i = $i, varname = $v, append = $append</p>\n";
+        }
+        $str = $this->subst($v);
+        if ($append) {
+          $this->set_var($target, $this->get_var($target) . $str);
+        } else {
+          $this->set_var($target, $str);
+        }
+      }
+    }
+
+    if ($this->debug & 4) {
+      echo "<p><b>parse:</b> completed</p>\n";
+    }
+    return $this->get_var($target);
+  }
+
+
+ /******************************************************************************
+  * This is shorthand for print $this->parse(...) and is functionally identical.
+  * See parse for further details.
+  *
+  * Returns: always returns false.
+  *
+  * usage: pparse(string $target, string $varname, [boolean $append])
+  * or
+  * usage: pparse(string $target, array $varname = (string $varname), [boolean $append])
+  *
+  * @param     $target      a string containing the name of the variable into which substituted $varnames are to be stored
+  * @param     $varname     if a string, the name the name of the variable to substitute or if an array a list of variables to be substituted
+  * @param     $append      if true, the substituted variables are appended to $target otherwise the existing value of $target is replaced
+  * @access    public
+  * @return    false
+  * @see       parse
+  */
+  function pparse($target, $varname, $append = false, $clear = true) { // added $clear: whether to delete undefined vars or not (needed for wb-module code) - thorn
+    if ($this->debug & 4) {
+      echo "<p><b>pparse:</b> passing parameters to parse...</p>\n";
+    }
+		if(!$clear) {
+			$unknowns = $this->unknowns;
+			$this->set_unknowns('keep');
+			print $this->finish($this->parse($target, $varname, $append));
+			$this->set_unknowns($unknowns);
+		} else {
+			print $this->finish($this->parse($target, $varname, $append));
+		}
+		return false;
+  }
+
+
+ /******************************************************************************
+  * This function returns an associative array of all defined variables with the
+  * name as the key and the value of the variable as the value.
+  *
+  * This is mostly useful for debugging. Also note that $this->debug can be used
+  * to echo all variable assignments as they occur and to trace execution.
+  *
+  * Returns: a hash of all defined variable values keyed by their names.
+  *
+  * usage: get_vars()
+  *
+  * @access    public
+  * @return    array
+  * @see       $debug
+  */
+  function get_vars() {
+    if ($this->debug & 4) {
+      echo "<p><b>get_vars:</b> constructing array of vars...</p>\n";
+    }
+    reset($this->varkeys);
+    while (list($k, $v) = each($this->varkeys)) {
+      $result[$k] = $this->get_var($k);
+    }
+    return $result;
+  }
+
+
+ /******************************************************************************
+  * This function returns the value of the variable named by $varname.
+  * If $varname references a file and that file has not been loaded yet, the
+  * variable will be reported as empty.
+  *
+  * When called with an array of variable names this function will return a a
+  * hash of variable values keyed by their names.
+  *
+  * Returns: a string or an array containing the value of $varname.
+  *
+  * usage: get_var(string $varname)
+  * or
+  * usage: get_var(array $varname)
+  *
+  * @param     $varname     if a string, the name the name of the variable to get the value of, or if an array a list of variables to return the value of
+  * @access    public
+  * @return    string or array
+  */
+  function get_var($varname) {
+    if (!is_array($varname)) {
+      if (isset($this->varvals[$varname])) {
+        $str = $this->varvals[$varname];
+      } else {
+        $str = "";
+      }
+      if ($this->debug & 2) {
+        printf ("<b>get_var</b> (with scalar) <b>%s</b> = '%s'<br>\n", $varname, htmlentities($str));
+      }
+      return $str;
+    } else {
+      reset($varname);
+      while (list($k, $v) = each($varname)) {
+        if (isset($this->varvals[$v])) {
+          $str = $this->varvals[$v];
+        } else {
+          $str = "";
+        }
+        if ($this->debug & 2) {
+          printf ("<b>get_var:</b> (with array) <b>%s</b> = '%s'<br>\n", $v, htmlentities($str));
+        }
+        $result[$v] = $str;
+      }
+      return $result;
+    }
+  }
+
+
+ /******************************************************************************
+  * This function returns a hash of unresolved variable names in $varname, keyed
+  * by their names (that is, the hash has the form $a[$name] = $name).
+  *
+  * Returns: a hash of varname/varname pairs or false on error.
+  *
+  * usage: get_undefined(string $varname)
+  *
+  * @param     $varname     a string containing the name the name of the variable to scan for unresolved variables
+  * @access    public
+  * @return    array
+  */
+  function get_undefined($varname) {
+    if ($this->debug & 4) {
+      echo "<p><b>get_undefined:</b> varname = $varname</p>\n";
+    }
+    if (!$this->loadfile($varname)) {
+      $this->halt("get_undefined: unable to load $varname.");
+      return false;
+    }
+
+    preg_match_all(
+        (("loose" == $this->unknown_regexp) ? "/{([^ \t\r\n}]+)}/" : "/{([_a-zA-Z]\\w+)}/"),
+        $this->get_var($varname),
+        $m);
+    $m = $m[1];
+    if (!is_array($m)) {
+      return false;
+    }
+
+    reset($m);
+    while (list($k, $v) = each($m)) {
+      if (!isset($this->varkeys[$v])) {
+        if ($this->debug & 4) {
+         echo "<p><b>get_undefined:</b> undefined: $v</p>\n";
+        }
+        $result[$v] = $v;
+      }
+    }
+
+    if (count($result)) {
+      return $result;
+    } else {
+      return false;
+    }
+  }
+
+
+ /******************************************************************************
+  * This function returns the finished version of $str. That is, the policy
+  * regarding unresolved variable names will be applied to $str.
+  *
+  * Returns: a finished string derived from $str and $this->unknowns.
+  *
+  * usage: finish(string $str)
+  *
+  * @param     $str         a string to which to apply the unresolved variable policy
+  * @access    public
+  * @return    string
+  * @see       set_unknowns
+  */
+  function finish($str) {
+    switch ($this->unknowns) {
+      case "keep":
+      break;
+
+      case "remove":
+        $str = preg_replace(
+            (("loose" == $this->unknown_regexp) ? "/{([^ \t\r\n}]+)}/" : "/{([_a-zA-Z]\\w+)}/"),
+            "",
+            $str);
+      break;
+
+      case "comment":
+        $str = preg_replace(
+             (("loose" == $this->unknown_regexp) ? "/{([^ \t\r\n}]+)}/" : "/{([_a-zA-Z]\\w+)}/"),
+            "<!-- Template variable \\1 undefined -->",
+            $str);
+      break;
+    }
+
+    return $str;
+  }
+
+
+ /******************************************************************************
+  * This function prints the finished version of the value of the variable named
+  * by $varname. That is, the policy regarding unresolved variable names will be
+  * applied to the variable $varname then it will be printed.
+  *
+  * usage: p(string $varname)
+  *
+  * @param     $varname     a string containing the name of the variable to finish and print
+  * @access    public
+  * @return    void
+  * @see       set_unknowns
+  * @see       finish
+  */
+  function p($varname) {
+    print $this->finish($this->get_var($varname));
+  }
+
+
+ /******************************************************************************
+  * This function returns the finished version of the value of the variable named
+  * by $varname. That is, the policy regarding unresolved variable names will be
+  * applied to the variable $varname and the result returned.
+  *
+  * Returns: a finished string derived from the variable $varname.
+  *
+  * usage: get(string $varname)
+  *
+  * @param     $varname     a string containing the name of the variable to finish
+  * @access    public
+  * @return    void
+  * @see       set_unknowns
+  * @see       finish
+  */
+  function get($varname) {
+    return $this->finish($this->get_var($varname));
+  }
+
+
+ /******************************************************************************
+  * When called with a relative pathname, this function will return the pathname
+  * with $this->root prepended. Absolute pathnames are returned unchanged.
+  *
+  * Returns: a string containing an absolute pathname.
+  *
+  * usage: filename(string $filename)
+  *
+  * @param     $filename    a string containing a filename
+  * @access    private
+  * @return    string
+  * @see       set_root
+  */
+  function filename($filename) {
+    if ($this->debug & 4) {
+      echo "<p><b>filename:</b> filename = $filename</p>\n";
+    }
+    if (substr($filename, 0, 1) != "/" 
+       && substr($filename, 0, 1) != "\\"
+       && substr($filename, 1, 2) != ":\\"
+       && substr($filename, 1, 2) != ":/"
+    ) {
+      $filename = $this->root."/".$filename;
+    }
+
+    if (!file_exists($filename)) {
+      $this->halt("filename: file $filename does not exist.");
+    }
+    return $filename;
+  }
+
+
+ /******************************************************************************
+  * This function will construct a regexp for a given variable name with any
+  * special chars quoted.
+  *
+  * Returns: a string containing an escaped variable name.
+  *
+  * usage: varname(string $varname)
+  *
+  * @param     $varname    a string containing a variable name
+  * @access    private
+  * @return    string
+  */
+  function varname($varname) {
+    return preg_quote("{" . $varname . "}");
+  }
+
+
+ /******************************************************************************
+  * If a variable's value is undefined and the variable has a filename stored in
+  * $this->file[$varname] then the backing file will be loaded and the file's
+  * contents will be assigned as the variable's value.
+  *
+  * Note that the behaviour of this function changed slightly after the 7.2d
+  * release. Where previously a variable was reloaded from file if the value
+  * was empty, now this is not done. This allows a variable to be loaded then
+  * set to "", and also prevents attempts to load empty variables. Files are
+  * now only loaded if $this->varvals[$varname] is unset.
+  *
+  * Returns: true on success, false on error.
+  *
+  * usage: loadfile(string $varname)
+  *
+  * @param     $varname    a string containing the name of a variable to load
+  * @access    private
+  * @return    boolean
+  * @see       set_file
+  */
+  function loadfile($varname) {
+    if ($this->debug & 4) {
+      echo "<p><b>loadfile:</b> varname = $varname</p>\n";
+    }
+
+    if (!isset($this->file[$varname])) {
+      // $varname does not reference a file so return
+      if ($this->debug & 4) {
+        echo "<p><b>loadfile:</b> varname $varname does not reference a file</p>\n";
+      }
+      return true;
+    }
+
+    if (isset($this->varvals[$varname])) {
+      // will only be unset if varname was created with set_file and has never been loaded
+      // $varname has already been loaded so return
+      if ($this->debug & 4) {
+        echo "<p><b>loadfile:</b> varname $varname is already loaded</p>\n";
+      }
+      return true;
+    }
+    $filename = $this->file[$varname];
+
+    /* use @file here to avoid leaking filesystem information if there is an error */
+    $str = implode("", @file($filename));
+    if (empty($str)) {
+      $this->halt("loadfile: While loading $varname, $filename does not exist or is empty.");
+      return false;
+    }
+
+    if ($this->filename_comments) {
+      $str = "<!-- START FILE $filename -->\n$str<!-- END FILE $filename -->\n";
+    }
+    if ($this->debug & 4) {
+      printf("<b>loadfile:</b> loaded $filename into $varname<br>\n");
+    }
+    $this->set_var($varname, $str);
+
+    return true;
+  }
+
+
+ /******************************************************************************
+  * This function is called whenever an error occurs and will handle the error
+  * according to the policy defined in $this->halt_on_error. Additionally the
+  * error message will be saved in $this->last_error.
+  *
+  * Returns: always returns false.
+  *
+  * usage: halt(string $msg)
+  *
+  * @param     $msg         a string containing an error message
+  * @access    private
+  * @return    void
+  * @see       $halt_on_error
+  */
+  function halt($msg) {
+    $this->last_error = $msg;
+
+    if ($this->halt_on_error != "no") {
+      $this->haltmsg($msg);
+    }
+
+    if ($this->halt_on_error == "yes") {
+      die("<b>Halted.</b>");
+    }
+
+    return false;
+  }
+
+
+ /******************************************************************************
+  * This function prints an error message.
+  * It can be overridden by your subclass of Template. It will be called with an
+  * error message to display.
+  *
+  * usage: haltmsg(string $msg)
+  *
+  * @param     $msg         a string containing the error message to display
+  * @access    public
+  * @return    void
+  * @see       halt
+  */
+  function haltmsg($msg) {
+    printf("<b>Template Error:</b> %s<br>\n", $msg);
+  }
+
+}
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/phplib/template.inc
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/include/phplib/index.php
===================================================================
--- tags/2.8.2/wb/include/phplib/index.php	(nonexistent)
+++ tags/2.8.2/wb/include/phplib/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/phplib/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/calendar-system.css
===================================================================
--- tags/2.8.2/wb/include/jscalendar/calendar-system.css	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/calendar-system.css	(revision 1481)
@@ -0,0 +1,251 @@
+/* The main calendar widget.  DIV containing a table. */
+
+.calendar {
+  position: relative;
+  display: none;
+  border: 1px solid;
+  border-color: #fff #000 #000 #fff;
+  font-size: 11px;
+  cursor: default;
+  background: Window;
+  color: WindowText;
+  font-family: tahoma,verdana,sans-serif;
+}
+
+.calendar table {
+  border: 1px solid;
+  border-color: #fff #000 #000 #fff;
+  font-size: 11px;
+  cursor: default;
+  background: Window;
+  color: WindowText;
+  font-family: tahoma,verdana,sans-serif;
+}
+
+/* Header part -- contains navigation buttons and day names. */
+
+.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
+  text-align: center;
+  padding: 1px;
+  border: 1px solid;
+  border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;
+  background: ButtonFace;
+}
+
+.calendar .nav {
+  background: #DDDDDD url(menuarrow.gif) no-repeat 100% 100%;
+}
+
+.calendar thead .title { /* This holds the current "month, year" */
+  font-weight: bold;
+  padding: 1px;
+  border: 1px solid #000;
+  background: ActiveCaption;
+  color: CaptionText;
+  text-align: center;
+}
+
+.calendar thead .headrow { /* Row <TR> containing navigation buttons */
+}
+
+.calendar thead .daynames { /* Row <TR> containing the day names */
+}
+
+.calendar thead .name { /* Cells <TD> containing the day names */
+  border-bottom: 1px solid ButtonShadow;
+  padding: 2px;
+  text-align: center;
+  background: ButtonFace;
+  color: ButtonText;
+}
+
+.calendar thead .weekend { /* How a weekend day name shows in header */
+  color: #f00;
+}
+
+.calendar thead .hilite { /* How do the buttons in header appear when hover */
+  border: 2px solid;
+  padding: 0px;
+  border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;
+}
+
+.calendar thead .active { /* Active (pressed) buttons in header */
+  border-width: 1px;
+  padding: 2px 0px 0px 2px;
+  border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;
+}
+
+/* The body part -- contains all the days in month. */
+
+.calendar tbody .day { /* Cells <TD> containing month days dates */
+  width: 2em;
+  text-align: right;
+  padding: 2px 4px 2px 2px;
+}
+.calendar tbody .day.othermonth {
+  font-size: 80%;
+  color: #aaa;
+}
+.calendar tbody .day.othermonth.oweekend {
+  color: #faa;
+}
+
+.calendar table .wn {
+  padding: 2px 3px 2px 2px;
+  border-right: 1px solid ButtonShadow;
+  background: ButtonFace;
+  color: ButtonText;
+}
+
+.calendar tbody .rowhilite td {
+  background: Highlight;
+  color: HighlightText;
+}
+
+.calendar tbody td.hilite { /* Hovered cells <TD> */
+  padding: 1px 3px 1px 1px;
+  border-top: 1px solid #fff;
+  border-right: 1px solid #000;
+  border-bottom: 1px solid #000;
+  border-left: 1px solid #fff;
+}
+
+.calendar tbody td.active { /* Active (pressed) cells <TD> */
+  padding: 2px 2px 0px 2px;
+  border: 1px solid;
+  border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;
+}
+
+.calendar tbody td.selected { /* Cell showing selected date */
+  font-weight: bold;
+  border: 1px solid;
+  border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;
+  padding: 2px 2px 0px 2px;
+  background: ButtonFace;
+  color: ButtonText;
+}
+
+.calendar tbody td.weekend { /* Cells showing weekend days */
+  color: #f00;
+}
+
+.calendar tbody td.today { /* Cell showing today date */
+  font-weight: bold;
+  color: #00f;
+}
+
+.calendar tbody td.disabled { color: GrayText; }
+
+.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
+  visibility: hidden;
+}
+
+.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
+  display: none;
+}
+
+/* The footer part -- status bar and "Close" button */
+
+.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
+}
+
+.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
+  background: ButtonFace;
+  padding: 1px;
+  border: 1px solid;
+  border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;
+  color: ButtonText;
+  text-align: center;
+}
+
+.calendar tfoot .hilite { /* Hover style for buttons in footer */
+  border-top: 1px solid #fff;
+  border-right: 1px solid #000;
+  border-bottom: 1px solid #000;
+  border-left: 1px solid #fff;
+  padding: 1px;
+  background: #e4e0d8;
+}
+
+.calendar tfoot .active { /* Active (pressed) style for buttons in footer */
+  padding: 2px 0px 0px 2px;
+  border-top: 1px solid #000;
+  border-right: 1px solid #fff;
+  border-bottom: 1px solid #fff;
+  border-left: 1px solid #000;
+}
+
+/* Combo boxes (menus that display months/years for direct selection) */
+
+.calendar .combo {
+  position: absolute;
+  display: none;
+  width: 4em;
+  top: 0px;
+  left: 0px;
+  cursor: default;
+  border: 1px solid;
+  border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;
+  background: Menu;
+  color: MenuText;
+  font-size: 90%;
+  padding: 1px;
+  z-index: 100;
+}
+
+.calendar .combo .label,
+.calendar .combo .label-IEfix {
+  text-align: center;
+  padding: 1px;
+}
+
+.calendar .combo .label-IEfix {
+  width: 4em;
+}
+
+.calendar .combo .active {
+  padding: 0px;
+  border: 1px solid #000;
+}
+
+.calendar .combo .hilite {
+  background: Highlight;
+  color: HighlightText;
+}
+
+.calendar td.time {
+  border-top: 1px solid ButtonShadow;
+  padding: 1px 0px;
+  text-align: center;
+  background-color: ButtonFace;
+}
+
+.calendar td.time .hour,
+.calendar td.time .minute,
+.calendar td.time .ampm {
+  padding: 0px 3px 0px 4px;
+  border: 1px solid #889;
+  font-weight: bold;
+  background-color: Menu;
+}
+
+.calendar td.time .ampm {
+  text-align: center;
+}
+
+.calendar td.time .colon {
+  padding: 0px 2px 0px 3px;
+  font-weight: bold;
+}
+
+.calendar td.time span.hilite {
+  border-color: #000;
+  background-color: Highlight;
+  color: HighlightText;
+}
+
+.calendar td.time span.active {
+  border-color: #f00;
+  background-color: #000;
+  color: #0f0;
+}

Property changes on: tags/2.8.2/wb/include/jscalendar/calendar-system.css
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/wb-setup.php
===================================================================
--- tags/2.8.2/wb/include/jscalendar/wb-setup.php	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/wb-setup.php	(revision 1481)
@@ -0,0 +1,87 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+/*
+	import jscalendar css and scripts
+*/
+
+if(!defined('WB_URL')) {
+	header('Location: ../index.php');
+	exit(0);
+}
+
+?>
+<!--<style type="text/css">-->
+<?php
+// require_once(WB_PATH.'/include/jscalendar/calendar-system.css');
+?>
+<!--</style>  -->
+<script type="text/javascript" src="<?php echo WB_URL ?>/include/jscalendar/calendar.js"></script>
+<?php // some stuff for jscalendar
+	// language
+	$jscal_lang = defined('LANGUAGE')?strtolower(LANGUAGE):'en';
+	$jscal_lang = $jscal_lang!=''?$jscal_lang:'en';
+	if(!file_exists(WB_PATH."/include/jscalendar/lang/calendar-$jscal_lang.js")) {
+		$jscal_lang = 'en';
+	}
+	// today
+	$jscal_today = gmdate('Y/m/d');
+	// first-day-of-week
+	$jscal_firstday = '1'; // monday
+	if(LANGUAGE=='EN')
+		$jscal_firstday = '0'; // sunday
+	// date and time format for the text-field and for jscal's "ifFormat". We offer dd.mm.yyyy or yyyy-mm-dd or mm/dd/yyyy
+	// ATTN: strtotime() fails with "dd.mm.yyyy" and PHP4. So the string has to be converted to e.g. "yyyy-mm-dd", which will work.
+	switch(DATE_FORMAT) {
+		case 'd.m.Y':
+		case 'd M Y':
+		case 'l, jS F, Y':
+		case 'jS F, Y':
+		case 'D M d, Y':
+		case 'd-m-Y':
+		case 'd/m/Y':
+			$jscal_format = 'd.m.Y'; // dd.mm.yyyy hh:mm
+			$jscal_ifformat = '%d.%m.%Y';
+			break;
+		case 'm/d/Y':
+		case 'm-d-Y':
+		case 'M d Y':
+		case 'm.d.Y':
+			$jscal_format = 'm/d/Y'; // mm/dd/yyyy hh:mm
+			$jscal_ifformat = '%m/%d/%Y';
+			break;
+		default:
+			$jscal_format = 'Y-m-d'; // yyyy-mm-dd hh:mm
+			$jscal_ifformat = '%Y-%m-%d';
+			break;
+	}
+	if(isset($jscal_use_time) && $jscal_use_time==TRUE) {
+		$jscal_format .= ' H:i';
+		$jscal_ifformat .= ' %H:%M';
+	}
+	// load scripts for jscalendar
+?>
+<script type="text/javascript" src="<?php echo WB_URL ?>/include/jscalendar/lang/calendar-<?php echo $jscal_lang ?>.js"></script>
+<script type="text/javascript" src="<?php echo WB_URL ?>/include/jscalendar/calendar-setup.js"></script>

Property changes on: tags/2.8.2/wb/include/jscalendar/wb-setup.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/lang/calendar-de.js
===================================================================
--- tags/2.8.2/wb/include/jscalendar/lang/calendar-de.js	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/lang/calendar-de.js	(revision 1481)
@@ -0,0 +1,124 @@
+// ** I18N
+
+// Calendar DE language
+// Author: Jack (tR), <jack@jtr.de>
+// Encoding: any
+// Distributed under the same terms as the calendar itself.
+
+// For translators: please use UTF-8 if possible.  We strongly believe that
+// Unicode is the answer to a real internationalized world.  Also please
+// include your contact information in the header, as can be seen above.
+
+// full day names
+Calendar._DN = new Array
+("Sonntag",
+ "Montag",
+ "Dienstag",
+ "Mittwoch",
+ "Donnerstag",
+ "Freitag",
+ "Samstag",
+ "Sonntag");
+
+// Please note that the following array of short day names (and the same goes
+// for short month names, _SMN) isn't absolutely necessary.  We give it here
+// for exemplification on how one can customize the short day names, but if
+// they are simply the first N letters of the full name you can simply say:
+//
+//   Calendar._SDN_len = N; // short day name length
+//   Calendar._SMN_len = N; // short month name length
+//
+// If N = 3 then this is not needed either since we assume a value of 3 if not
+// present, to be compatible with translation files that were written before
+// this feature.
+
+// short day names
+Calendar._SDN = new Array
+("So",
+ "Mo",
+ "Di",
+ "Mi",
+ "Do",
+ "Fr",
+ "Sa",
+ "So");
+
+// full month names
+Calendar._MN = new Array
+("Januar",
+ "Februar",
+ "M\u00e4rz",
+ "April",
+ "Mai",
+ "Juni",
+ "Juli",
+ "August",
+ "September",
+ "Oktober",
+ "November",
+ "Dezember");
+
+// short month names
+Calendar._SMN = new Array
+("Jan",
+ "Feb",
+ "M\u00e4r",
+ "Apr",
+ "Mai",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Okt",
+ "Nov",
+ "Dez");
+
+// tooltips
+Calendar._TT = {};
+Calendar._TT["INFO"] = "\u00DCber dieses Kalendarmodul";
+
+Calendar._TT["ABOUT"] =
+"DHTML Date/Time Selector\n" +
+"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this ;-)
+"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
+"Distributed under GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details." +
+"\n\n" +
+"Datum ausw\u00e4hlen:\n" +
+"- Benutzen Sie die \xab, \xbb Buttons um das Jahr zu w\u00e4hlen\n" +
+"- Benutzen Sie die " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " Buttons um den Monat zu w\u00e4hlen\n" +
+"- F\u00fcr eine Schnellauswahl halten Sie die Maustaste \u00fcber diesen Buttons fest.";
+Calendar._TT["ABOUT_TIME"] = "\n\n" +
+"Zeit ausw\u00e4hlen:\n" +
+"- Klicken Sie auf die Teile der Uhrzeit, um diese zu erh\u00F6hen\n" +
+"- oder klicken Sie mit festgehaltener Shift-Taste um diese zu verringern\n" +
+"- oder klicken und festhalten f\u00fcr Schnellauswahl.";
+
+Calendar._TT["TOGGLE"] = "Ersten Tag der Woche w\u00e4hlen";
+Calendar._TT["PREV_YEAR"] = "Voriges Jahr (Festhalten f\u00fcr Schnellauswahl)";
+Calendar._TT["PREV_MONTH"] = "Voriger Monat (Festhalten f\u00fcr Schnellauswahl)";
+Calendar._TT["GO_TODAY"] = "Heute ausw\u00e4hlen";
+Calendar._TT["NEXT_MONTH"] = "N\u00e4chst. Monat (Festhalten f\u00fcr Schnellauswahl)";
+Calendar._TT["NEXT_YEAR"] = "N\u00e4chst. Jahr (Festhalten f\u00fcr Schnellauswahl)";
+Calendar._TT["SEL_DATE"] = "Datum ausw\u00e4hlen";
+Calendar._TT["DRAG_TO_MOVE"] = "Zum Bewegen festhalten";
+Calendar._TT["PART_TODAY"] = " (Heute)";
+
+// the following is to inform that "%s" is to be the first day of week
+// %s will be replaced with the day name.
+Calendar._TT["DAY_FIRST"] = "Woche beginnt mit %s ";
+
+// This may be locale-dependent.  It specifies the week-end days, as an array
+// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
+// means Monday, etc.
+Calendar._TT["WEEKEND"] = "0,6";
+
+Calendar._TT["CLOSE"] = "Schlie\u00dfen";
+Calendar._TT["TODAY"] = "Heute";
+Calendar._TT["TIME_PART"] = "(Shift-)Klick oder Festhalten und Ziehen um den Wert zu \u00e4ndern";
+
+// date formats
+Calendar._TT["DEF_DATE_FORMAT"] = "%d.%m.%Y";
+Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
+
+Calendar._TT["WK"] = "wk";
+Calendar._TT["TIME"] = "Zeit:";

Property changes on: tags/2.8.2/wb/include/jscalendar/lang/calendar-de.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/lang/index.php
===================================================================
--- tags/2.8.2/wb/include/jscalendar/lang/index.php	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/lang/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/jscalendar/lang/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/lang/calendar-pl.js
===================================================================
--- tags/2.8.2/wb/include/jscalendar/lang/calendar-pl.js	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/lang/calendar-pl.js	(revision 1481)
@@ -0,0 +1,98 @@
+// ** I18N
+
+// Calendar PL language
+// Author: Dariusz Pietrzak, <eyck@ghost.anime.pl>
+// Author: Janusz Piwowarski, <jpiw@go2.pl>
+// Encoding: utf-8
+// Distributed under the same terms as the calendar itself.
+
+Calendar._DN = new Array
+("Niedziela",
+ "Poniedzia\u0142ek",
+ "Wtorek",
+ "\u015aroda",
+ "Czwartek",
+ "Pi\u0105tek",
+ "Sobota",
+ "Niedziela");
+Calendar._SDN = new Array
+("Nie",
+ "Pn",
+ "Wt",
+ "\u015ar",
+ "Cz",
+ "Pt",
+ "So",
+ "Nie");
+Calendar._MN = new Array
+("Stycze\u0144",
+ "Luty",
+ "Marzec",
+ "Kwiecie\u0144",
+ "Maj",
+ "Czerwiec",
+ "Lipiec",
+ "Sierpie\u0144",
+ "Wrzesie\u0144",
+ "Pa\u017adziernik",
+ "Listopad",
+ "Grudzie\u0144");
+Calendar._SMN = new Array
+("Sty",
+ "Lut",
+ "Mar",
+ "Kwi",
+ "Maj",
+ "Cze",
+ "Lip",
+ "Sie",
+ "Wrz",
+ "Pa\u017a",
+ "Lis",
+ "Gru");
+
+// tooltips
+Calendar._TT = {};
+Calendar._TT["INFO"] = "O kalendarzu";
+
+Calendar._TT["ABOUT"] =
+"DHTML Date/Time Selector\n" +
+"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
+"Aby pobra\u0107 najnowsz\u0105 wersj\u0119, odwied\u017a: http://www.dynarch.com/projects/calendar/\n" +
+"Dost\u0119pny na licencji GNU LGPL. Zobacz szczeg\u00f3\u0142y na http://gnu.org/licenses/lgpl.html." +
+"\n\n" +
+"Wyb\u00f3r daty:\n" +
+"- U\u017cyj przycisk\u00f3w \xab, \xbb by wybra\u0107 rok\n" +
+"- U\u017cyj przycisk\u00f3w " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " by wybra\u0107 miesi\u0105c\n" +
+"- Przytrzymaj klawisz myszy nad jednym z powy\u017cszych przycisk\u00f3w dla szybszego wyboru.";
+Calendar._TT["ABOUT_TIME"] = "\n\n" +
+"Wyb\u00f3r czasu:\n" +
+"- Kliknij na jednym z p\u00f3l czasu by zwi\u0119kszy\u0107 jego warto\u015b\u0107\n" +
+"- lub kliknij trzymaj\u0105c Shift by zmiejszy\u0107 jego warto\u015b\u0107\n" +
+"- lub kliknij i przeci\u0105gnij dla szybszego wyboru.";
+
+//Calendar._TT["TOGGLE"] = "Zmie\u0144 pierwszy dzie\u0144 tygodnia";
+Calendar._TT["PREV_YEAR"] = "Poprzedni rok (przytrzymaj dla menu)";
+Calendar._TT["PREV_MONTH"] = "Poprzedni miesi\u0105c (przytrzymaj dla menu)";
+Calendar._TT["GO_TODAY"] = "Id\u017a do dzisiaj";
+Calendar._TT["NEXT_MONTH"] = "Nast\u0119pny miesi\u0105c (przytrzymaj dla menu)";
+Calendar._TT["NEXT_YEAR"] = "Nast\u0119pny rok (przytrzymaj dla menu)";
+Calendar._TT["SEL_DATE"] = "Wybierz dat\u0119";
+Calendar._TT["DRAG_TO_MOVE"] = "Przeci\u0105gnij by przesun\u0105\u0107";
+Calendar._TT["PART_TODAY"] = " (dzisiaj)";
+Calendar._TT["MON_FIRST"] = "Wy\u015bwietl poniedzia\u0142ek jako pierwszy";
+Calendar._TT["SUN_FIRST"] = "Wy\u015bwietl niedziel\u0119 jako pierwsz\u0105";
+Calendar._TT["CLOSE"] = "Zamknij";
+Calendar._TT["TODAY"] = "Dzisiaj";
+Calendar._TT["TIME_PART"] = "(Shift-)Kliknij lub przeci\u0105gnij by zmieni\u0107 warto\u015b\u0107";
+
+// date formats
+Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
+Calendar._TT["TT_DATE_FORMAT"] = "%e %B, %A";
+
+Calendar._TT["WK"] = "ty";
+
+Calendar._TT["DAY_FIRST"] = "Display %s first";
+Calendar._TT["WEEKEND"] = "0,6";
+Calendar._TT["TIME"] = "Time:";
+

Property changes on: tags/2.8.2/wb/include/jscalendar/lang/calendar-pl.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/lang/calendar-fi.js
===================================================================
--- tags/2.8.2/wb/include/jscalendar/lang/calendar-fi.js	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/lang/calendar-fi.js	(revision 1481)
@@ -0,0 +1,102 @@
+// ** I18N
+
+// Calendar FI language (Finnish, Suomi)
+// Author: Jarno K\u00e4yhk\u00f6, <gambler@phnet.fi>
+// Encoding: UTF-8
+// Distributed under the same terms as the calendar itself.
+
+// full day names
+Calendar._DN = new Array
+("Sunnuntai",
+ "Maanantai",
+ "Tiistai",
+ "Keskiviikko",
+ "Torstai",
+ "Perjantai",
+ "Lauantai",
+ "Sunnuntai");
+
+// short day names
+Calendar._SDN = new Array
+("Su",
+ "Ma",
+ "Ti",
+ "Ke",
+ "To",
+ "Pe",
+ "La",
+ "Su");
+
+// full month names
+Calendar._MN = new Array
+("Tammikuu",
+ "Helmikuu",
+ "Maaliskuu",
+ "Huhtikuu",
+ "Toukokuu",
+ "Kes\u00e4kuu",
+ "Hein\u00e4kuu",
+ "Elokuu",
+ "Syyskuu",
+ "Lokakuu",
+ "Marraskuu",
+ "Joulukuu");
+
+// short month names
+Calendar._SMN = new Array
+("Tam",
+ "Hel",
+ "Maa",
+ "Huh",
+ "Tou",
+ "Kes",
+ "Hei",
+ "Elo",
+ "Syy",
+ "Lok",
+ "Mar",
+ "Jou");
+
+// tooltips
+Calendar._TT = {};
+Calendar._TT["INFO"] = "Tietoja kalenterista";
+
+Calendar._TT["ABOUT"] =
+"DHTML Date/Time Selector\n" +
+"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
+"Uusin versio osoitteessa: http://www.dynarch.com/projects/calendar/\n" +
+"Julkaistu GNU LGPL lisenssin alaisuudessa. Lis\u00e4tietoja osoitteessa http://gnu.org/licenses/lgpl.html" +
+"\n\n" +
+"P\u00e4iv\u00e4m\u00e4\u00e4r\u00e4 valinta:\n" +
+"- K\u00e4yt\u00e4 \xab, \xbb painikkeita valitaksesi vuosi\n" +
+"- K\u00e4yt\u00e4 " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " painikkeita valitaksesi kuukausi\n" +
+"- Pit\u00e4m\u00e4ll\u00e4 hiiren painiketta mink\u00e4 tahansa yll\u00e4 olevan painikkeen kohdalla, saat n\u00e4kyviin valikon nopeampaan siirtymiseen.";
+Calendar._TT["ABOUT_TIME"] = "\n\n" +
+"Ajan valinta:\n" +
+"- Klikkaa kellonajan numeroita lis\u00e4t\u00e4ksesi aikaa\n" +
+"- tai pit\u00e4m\u00e4ll\u00e4 Shift-n\u00e4pp\u00e4int\u00e4 pohjassa saat aikaa taaksep\u00e4in\n" +
+"- tai klikkaa ja pid\u00e4 hiiren painike pohjassa sek\u00e4 liikuta hiirt\u00e4 muuttaaksesi aikaa nopeasti eteen- ja taaksep\u00e4in.";
+
+Calendar._TT["PREV_YEAR"] = "Edell. vuosi (paina hetki, n\u00e4et valikon)";
+Calendar._TT["PREV_MONTH"] = "Edell. kuukausi (paina hetki, n\u00e4et valikon)";
+Calendar._TT["GO_TODAY"] = "Siirry t\u00e4h\u00e4n p\u00e4iv\u00e4\u00e4n";
+Calendar._TT["NEXT_MONTH"] = "Seur. kuukausi (paina hetki, n\u00e4et valikon)";
+Calendar._TT["NEXT_YEAR"] = "Seur. vuosi (paina hetki, n\u00e4et valikon)";
+Calendar._TT["SEL_DATE"] = "Valitse p\u00e4iv\u00e4m\u00e4\u00e4r\u00e4";
+Calendar._TT["DRAG_TO_MOVE"] = "Siirr\u00e4 kalenterin paikkaa";
+Calendar._TT["PART_TODAY"] = " (t\u00e4n\u00e4\u00e4n)";
+Calendar._TT["MON_FIRST"] = "N\u00e4yt\u00e4 maanantai ensimm\u00e4isen\u00e4";
+Calendar._TT["SUN_FIRST"] = "N\u00e4yt\u00e4 sunnuntai ensimm\u00e4isen\u00e4";
+Calendar._TT["CLOSE"] = "Sulje";
+Calendar._TT["TODAY"] = "T\u00e4n\u00e4\u00e4n";
+Calendar._TT["TIME_PART"] = "(Shift-) Klikkaa tai liikuta muuttaaksesi aikaa";
+
+// date formats
+Calendar._TT["DEF_DATE_FORMAT"] = "%d.%m.%Y";
+Calendar._TT["TT_DATE_FORMAT"] = "%d.%m.%Y";
+
+Calendar._TT["WK"] = "Vko";
+
+Calendar._TT["DAY_FIRST"] = "Display %s first";
+Calendar._TT["WEEKEND"] = "0,6";
+Calendar._TT["TIME"] = "Time:";

Property changes on: tags/2.8.2/wb/include/jscalendar/lang/calendar-fi.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/lang/calendar-el.js
===================================================================
--- tags/2.8.2/wb/include/jscalendar/lang/calendar-el.js	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/lang/calendar-el.js	(revision 1481)
@@ -0,0 +1,93 @@
+\ufeff// ** I18N
+Calendar._DN = new Array
+("\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae",
+ "\u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1",
+ "\u03a4\u03c1\u03af\u03c4\u03b7",
+ "\u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7",
+ "\u03a0\u03ad\u03bc\u03c0\u03c4\u03b7",
+ "\u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae",
+ "\u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf",
+ "\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae");
+
+Calendar._SDN = new Array
+("\u039a\u03c5",
+ "\u0394\u03b5",
+ "T\u03c1",
+ "\u03a4\u03b5",
+ "\u03a0\u03b5",
+ "\u03a0\u03b1",
+ "\u03a3\u03b1",
+ "\u039a\u03c5");
+
+Calendar._MN = new Array
+("\u0399\u03b1\u03bd\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2",
+ "\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2",
+ "\u039c\u03ac\u03c1\u03c4\u03b9\u03bf\u03c2",
+ "\u0391\u03c0\u03c1\u03af\u03bb\u03b9\u03bf\u03c2",
+ "\u039c\u03ac\u03ca\u03bf\u03c2",
+ "\u0399\u03bf\u03cd\u03bd\u03b9\u03bf\u03c2",
+ "\u0399\u03bf\u03cd\u03bb\u03b9\u03bf\u03c2",
+ "\u0391\u03cd\u03b3\u03bf\u03c5\u03c3\u03c4\u03bf\u03c2",
+ "\u03a3\u03b5\u03c0\u03c4\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2",
+ "\u039f\u03ba\u03c4\u03ce\u03b2\u03c1\u03b9\u03bf\u03c2",
+ "\u039d\u03bf\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2",
+ "\u0394\u03b5\u03ba\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2");
+
+Calendar._SMN = new Array
+("\u0399\u03b1\u03bd",
+ "\u03a6\u03b5\u03b2",
+ "\u039c\u03b1\u03c1",
+ "\u0391\u03c0\u03c1",
+ "\u039c\u03b1\u03b9",
+ "\u0399\u03bf\u03c5\u03bd",
+ "\u0399\u03bf\u03c5\u03bb",
+ "\u0391\u03c5\u03b3",
+ "\u03a3\u03b5\u03c0",
+ "\u039f\u03ba\u03c4",
+ "\u039d\u03bf\u03b5",
+ "\u0394\u03b5\u03ba");
+
+// tooltips
+Calendar._TT = {};
+Calendar._TT["INFO"] = "\u0393\u03b9\u03b1 \u03c4\u03bf \u03b7\u03bc\u03b5\u03c1\u03bf\u03bb\u03cc\u03b3\u03b9\u03bf";
+
+Calendar._TT["ABOUT"] =
+"\u0395\u03c0\u03b9\u03bb\u03bf\u03b3\u03ad\u03b1\u03c2 \u03b7\u03bc\u03b5\u03c1\u03bf\u03bc\u03b7\u03bd\u03af\u03b1\u03c2/\u03ce\u03c1\u03b1\u03c2 \u03c3\u03b5 DHTML\n" +
+"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
+"\u0393\u03b9\u03b1 \u03c4\u03b5\u03bb\u03b5\u03c5\u03c4\u03b1\u03af\u03b1 \u03ad\u03ba\u03b4\u03bf\u03c3\u03b7: http://www.dynarch.com/projects/calendar/\n" +
+"Distributed under GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details." +
+"\n\n" +
+"\u0395\u03c0\u03b9\u03bb\u03bf\u03b3\u03ae \u03b7\u03bc\u03b5\u03c1\u03bf\u03bc\u03b7\u03bd\u03af\u03b1\u03c2:\n" +
+"- \u03a7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03b9\u03b5\u03af\u03c3\u03c4\u03b5 \u03c4\u03b1 \u03ba\u03bf\u03c5\u03bc\u03c0\u03b9\u03ac \xab, \xbb \u03b3\u03b9\u03b1 \u03b5\u03c0\u03b9\u03bb\u03bf\u03b3\u03ae \u03ad\u03c4\u03bf\u03c5\u03c2\n" +
+"- \u03a7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03b9\u03b5\u03af\u03c3\u03c4\u03b5 \u03c4\u03b1 \u03ba\u03bf\u03c5\u03bc\u03c0\u03b9\u03ac " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " \u03b3\u03b9\u03b1 \u03b5\u03c0\u03b9\u03bb\u03bf\u03b3\u03ae \u03bc\u03ae\u03bd\u03b1\n" +
+"- \u039a\u03c1\u03b1\u03c4\u03ae\u03c3\u03c4\u03b5 \u03ba\u03bf\u03c5\u03bc\u03c0\u03af \u03c0\u03bf\u03bd\u03c4\u03b9\u03ba\u03bf\u03cd \u03c0\u03b1\u03c4\u03b7\u03bc\u03ad\u03bd\u03bf \u03c3\u03c4\u03b1 \u03c0\u03b1\u03c1\u03b1\u03c0\u03ac\u03bd\u03c9 \u03ba\u03bf\u03c5\u03bc\u03c0\u03b9\u03ac \u03b3\u03b9\u03b1 \u03c0\u03b9\u03bf \u03b3\u03c1\u03ae\u03b3\u03bf\u03c1\u03b7 \u03b5\u03c0\u03b9\u03bb\u03bf\u03b3\u03ae.";
+Calendar._TT["ABOUT_TIME"] = "\n\n" +
+"\u0395\u03c0\u03b9\u03bb\u03bf\u03b3\u03ae \u03ce\u03c1\u03b1\u03c2:\n" +
+"- \u039a\u03ac\u03bd\u03c4\u03b5 \u03ba\u03bb\u03b9\u03ba \u03c3\u03b5 \u03ad\u03bd\u03b1 \u03b1\u03c0\u03cc \u03c4\u03b1 \u03bc\u03ad\u03c1\u03b7 \u03c4\u03b7\u03c2 \u03ce\u03c1\u03b1\u03c2 \u03b3\u03b9\u03b1 \u03b1\u03cd\u03be\u03b7\u03c3\u03b7\n" +
+"- \u03ae Shift-\u03ba\u03bb\u03b9\u03ba \u03b3\u03b9\u03b1 \u03bc\u03b5\u03af\u03c9\u03c3\u03b7\n" +
+"- \u03ae \u03ba\u03bb\u03b9\u03ba \u03ba\u03b1\u03b9 \u03bc\u03b5\u03c4\u03b1\u03ba\u03af\u03bd\u03b7\u03c3\u03b7 \u03b3\u03b9\u03b1 \u03c0\u03b9\u03bf \u03b3\u03c1\u03ae\u03b3\u03bf\u03c1\u03b7 \u03b5\u03c0\u03b9\u03bb\u03bf\u03b3\u03ae.";
+Calendar._TT["TOGGLE"] = "\u039c\u03c0\u03ac\u03c1\u03b1 \u03c0\u03c1\u03ce\u03c4\u03b7\u03c2 \u03b7\u03bc\u03ad\u03c1\u03b1\u03c2 \u03c4\u03b7\u03c2 \u03b5\u03b2\u03b4\u03bf\u03bc\u03ac\u03b4\u03b1\u03c2";
+Calendar._TT["PREV_YEAR"] = "\u03a0\u03c1\u03bf\u03b7\u03b3. \u03ad\u03c4\u03bf\u03c2 (\u03ba\u03c1\u03b1\u03c4\u03ae\u03c3\u03c4\u03b5 \u03b3\u03b9\u03b1 \u03c4\u03bf \u03bc\u03b5\u03bd\u03bf\u03cd)";
+Calendar._TT["PREV_MONTH"] = "\u03a0\u03c1\u03bf\u03b7\u03b3. \u03bc\u03ae\u03bd\u03b1\u03c2 (\u03ba\u03c1\u03b1\u03c4\u03ae\u03c3\u03c4\u03b5 \u03b3\u03b9\u03b1 \u03c4\u03bf \u03bc\u03b5\u03bd\u03bf\u03cd)";
+Calendar._TT["GO_TODAY"] = "\u03a3\u03ae\u03bc\u03b5\u03c1\u03b1";
+Calendar._TT["NEXT_MONTH"] = "\u0395\u03c0\u03cc\u03bc\u03b5\u03bd\u03bf\u03c2 \u03bc\u03ae\u03bd\u03b1\u03c2 (\u03ba\u03c1\u03b1\u03c4\u03ae\u03c3\u03c4\u03b5 \u03b3\u03b9\u03b1 \u03c4\u03bf \u03bc\u03b5\u03bd\u03bf\u03cd)";
+Calendar._TT["NEXT_YEAR"] = "\u0395\u03c0\u03cc\u03bc\u03b5\u03bd\u03bf \u03ad\u03c4\u03bf\u03c2 (\u03ba\u03c1\u03b1\u03c4\u03ae\u03c3\u03c4\u03b5 \u03b3\u03b9\u03b1 \u03c4\u03bf \u03bc\u03b5\u03bd\u03bf\u03cd)";
+Calendar._TT["SEL_DATE"] = "\u0395\u03c0\u03b9\u03bb\u03ad\u03be\u03c4\u03b5 \u03b7\u03bc\u03b5\u03c1\u03bf\u03bc\u03b7\u03bd\u03af\u03b1";
+Calendar._TT["DRAG_TO_MOVE"] = "\u03a3\u03cd\u03c1\u03c4\u03b5 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03bc\u03b5\u03c4\u03b1\u03ba\u03b9\u03bd\u03ae\u03c3\u03b5\u03c4\u03b5";
+Calendar._TT["PART_TODAY"] = " (\u03c3\u03ae\u03bc\u03b5\u03c1\u03b1)";
+Calendar._TT["MON_FIRST"] = "\u0395\u03bc\u03c6\u03ac\u03bd\u03b9\u03c3\u03b7 \u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1\u03c2 \u03c0\u03c1\u03ce\u03c4\u03b1";
+Calendar._TT["SUN_FIRST"] = "\u0395\u03bc\u03c6\u03ac\u03bd\u03b9\u03c3\u03b7 \u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae\u03c2 \u03c0\u03c1\u03ce\u03c4\u03b1";
+Calendar._TT["CLOSE"] = "\u039a\u03bb\u03b5\u03af\u03c3\u03b9\u03bc\u03bf";
+Calendar._TT["TODAY"] = "\u03a3\u03ae\u03bc\u03b5\u03c1\u03b1";
+Calendar._TT["TIME_PART"] = "(Shift-)\u03ba\u03bb\u03b9\u03ba \u03ae \u03bc\u03b5\u03c4\u03b1\u03ba\u03af\u03bd\u03b7\u03c3\u03b7 \u03b3\u03b9\u03b1 \u03b1\u03bb\u03bb\u03b1\u03b3\u03ae";
+
+// date formats
+Calendar._TT["DEF_DATE_FORMAT"] = "dd-mm-y";
+Calendar._TT["TT_DATE_FORMAT"] = "D, d M";
+
+Calendar._TT["WK"] = "\u03b5\u03b2\u03b4";
+
+Calendar._TT["DAY_FIRST"] = "Display %s first";
+Calendar._TT["WEEKEND"] = "0,6";
+Calendar._TT["TIME_PART"] = "(Shift-)Click or drag to change value";
+Calendar._TT["TIME"] = "Time:";

Property changes on: tags/2.8.2/wb/include/jscalendar/lang/calendar-el.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/lang/calendar-br.js
===================================================================
--- tags/2.8.2/wb/include/jscalendar/lang/calendar-br.js	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/lang/calendar-br.js	(revision 1481)
@@ -0,0 +1,107 @@
+\ufeff// ** I18N
+
+// Calendar pt-BR language
+// Author: Fernando Dourado, <fernando.dourado@ig.com.br>
+// Encoding: any
+// Distributed under the same terms as the calendar itself.
+
+// For translators: please use UTF-8 if possible.  We strongly believe that
+// Unicode is the answer to a real internationalized world.  Also please
+// include your contact information in the header, as can be seen above.
+
+// full day names
+Calendar._DN = new Array
+("Domingo",
+ "Segunda",
+ "Ter\u00e7a",
+ "Quarta",
+ "Quinta",
+ "Sexta",
+ "Sab\u00e1do",
+ "Domingo");
+
+// Please note that the following array of short day names (and the same goes
+// for short month names, _SMN) isn't absolutely necessary.  We give it here
+// for exemplification on how one can customize the short day names, but if
+// they are simply the first N letters of the full name you can simply say:
+//
+//   Calendar._SDN_len = N; // short day name length
+//   Calendar._SMN_len = N; // short month name length
+//
+// If N = 3 then this is not needed either since we assume a value of 3 if not
+// present, to be compatible with translation files that were written before
+// this feature.
+
+// short day names
+// [No changes using default values]
+
+// full month names
+Calendar._MN = new Array
+("Janeiro",
+ "Fevereiro",
+ "Mar\u00e7o",
+ "Abril",
+ "Maio",
+ "Junho",
+ "Julho",
+ "Agosto",
+ "Setembro",
+ "Outubro",
+ "Novembro",
+ "Dezembro");
+
+// short month names
+// [No changes using default values]
+
+// tooltips
+Calendar._TT = {};
+Calendar._TT["INFO"] = "Sobre o calend\u00e1rio";
+
+Calendar._TT["ABOUT"] =
+"DHTML Date/Time Selector\n" +
+"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
+"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
+"Distributed under GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details." +
+"\n\n" +
+"Translate to portuguese Brazil (pt-BR) by Fernando Dourado (fernando.dourado@ig.com.br)\n" +
+"Tradu\u00e7\u00e3o para o portugu\u00eas Brasil (pt-BR) por Fernando Dourado (fernando.dourado@ig.com.br)" +
+"\n\n" +
+"Selecionar data:\n" +
+"- Use as teclas \xab, \xbb para selecionar o ano\n" +
+"- Use as teclas " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " para selecionar o m\u00eas\n" +
+"- Clique e segure com o mouse em qualquer bot\u00e3o para selecionar rapidamente.";
+
+Calendar._TT["ABOUT_TIME"] = "\n\n" +
+"Selecionar hora:\n" +
+"- Clique em qualquer uma das partes da hora para aumentar\n" +
+"- ou Shift-clique para diminuir\n" +
+"- ou clique e arraste para selecionar rapidamente.";
+
+Calendar._TT["PREV_YEAR"] = "Ano anterior (clique e segure para menu)";
+Calendar._TT["PREV_MONTH"] = "M\u00eas anterior (clique e segure para menu)";
+Calendar._TT["GO_TODAY"] = "Ir para a data atual";
+Calendar._TT["NEXT_MONTH"] = "Pr\u00f3ximo m\u00eas (clique e segure para menu)";
+Calendar._TT["NEXT_YEAR"] = "Pr\u00f3ximo ano (clique e segure para menu)";
+Calendar._TT["SEL_DATE"] = "Selecione uma data";
+Calendar._TT["DRAG_TO_MOVE"] = "Clique e segure para mover";
+Calendar._TT["PART_TODAY"] = " (hoje)";
+
+// the following is to inform that "%s" is to be the first day of week
+// %s will be replaced with the day name.
+Calendar._TT["DAY_FIRST"] = "Exibir %s primeiro";
+
+// This may be locale-dependent.  It specifies the week-end days, as an array
+// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
+// means Monday, etc.
+Calendar._TT["WEEKEND"] = "0,6";
+
+Calendar._TT["CLOSE"] = "Fechar";
+Calendar._TT["TODAY"] = "Hoje";
+Calendar._TT["TIME_PART"] = "(Shift-)Clique ou arraste para mudar o valor";
+
+// date formats
+Calendar._TT["DEF_DATE_FORMAT"] = "%d/%m/%Y";
+Calendar._TT["TT_DATE_FORMAT"] = "%d de %B de %Y";
+
+Calendar._TT["WK"] = "sem";
+Calendar._TT["TIME"] = "Hora:";

Property changes on: tags/2.8.2/wb/include/jscalendar/lang/calendar-br.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/lang/calendar-cs.js
===================================================================
--- tags/2.8.2/wb/include/jscalendar/lang/calendar-cs.js	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/lang/calendar-cs.js	(revision 1481)
@@ -0,0 +1,65 @@
+/* 
+	calendar-cs-win.js
+	language: Czech
+	encoding: windows-1250
+	author: Lubos Jerabek (xnet@seznam.cz)
+	        Jan Uhlir (espinosa@centrum.cz)
+*/
+
+// ** I18N
+Calendar._DN  = new Array('Ned\u011ble','Pond\u011bl\u00ed','\u00dater\u00fd','St\u0159eda','\u010ctvrtek','P\u00e1tek','Sobota','Ned\u011ble');
+Calendar._SDN = new Array('Ne','Po','\u00dat','St','\u010ct','P\u00e1','So','Ne');
+Calendar._MN  = new Array('Leden','\u00danor','B\u0159ezen','Duben','Kv\u011bten','\u010cerven','\u010cervenec','Srpen','Z\u00e1\u0159\u00ed','\u0158\u00edjen','Listopad','Prosinec');
+Calendar._SMN = new Array('Led','\u00dano','B\u0159e','Dub','Kv\u011b','\u010crv','\u010cvc','Srp','Z\u00e1\u0159','\u0158\u00edj','Lis','Pro');
+
+// tooltips
+Calendar._TT = {};
+Calendar._TT["INFO"] = "O komponent\u011b kalend\u00e1\u0159";
+Calendar._TT["TOGGLE"] = "Zm\u011bna prvn\u00edho dne v t\u00fddnu";
+Calendar._TT["PREV_YEAR"] = "P\u0159edchoz\u00ed rok (p\u0159idr\u017e pro menu)";
+Calendar._TT["PREV_MONTH"] = "P\u0159edchoz\u00ed m\u011bs\u00edc (p\u0159idr\u017e pro menu)";
+Calendar._TT["GO_TODAY"] = "Dne\u0161n\u00ed datum";
+Calendar._TT["NEXT_MONTH"] = "Dal\u0161\u00ed m\u011bs\u00edc (p\u0159idr\u017e pro menu)";
+Calendar._TT["NEXT_YEAR"] = "Dal\u0161\u00ed rok (p\u0159idr\u017e pro menu)";
+Calendar._TT["SEL_DATE"] = "Vyber datum";
+Calendar._TT["DRAG_TO_MOVE"] = "Chy\u0165 a t\u00e1hni, pro p\u0159esun";
+Calendar._TT["PART_TODAY"] = " (dnes)";
+Calendar._TT["MON_FIRST"] = "Uka\u017e jako prvn\u00ed Pond\u011bl\u00ed";
+//Calendar._TT["SUN_FIRST"] = "Uka\u017e jako prvn\u00ed Ned\u011bli";
+
+Calendar._TT["ABOUT"] =
+"DHTML Date/Time Selector\n" +
+"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
+"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
+"Distributed under GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details." +
+"\n\n" +
+"V\u00fdb\u011br datumu:\n" +
+"- Use the \xab, \xbb buttons to select year\n" +
+"- Pou\u017eijte tla\u010d\u00edtka " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " k v\u00fdb\u011bru m\u011bs\u00edce\n" +
+"- Podr\u017ete tla\u010d\u00edtko my\u0161i na jak\u00e9mkoliv z t\u011bch tla\u010d\u00edtek pro rychlej\u0161\u00ed v\u00fdb\u011br.";
+
+Calendar._TT["ABOUT_TIME"] = "\n\n" +
+"V\u00fdb\u011br \u010dasu:\n" +
+"- Klikn\u011bte na jakoukoliv z \u010d\u00e1st\u00ed v\u00fdb\u011bru \u010dasu pro zv\u00fd\u0161en\u00ed.\n" +
+"- nebo Shift-click pro sn\u00ed\u017een\u00ed\n" +
+"- nebo klikn\u011bte a t\u00e1hn\u011bte pro rychlej\u0161\u00ed v\u00fdb\u011br.";
+
+// the following is to inform that "%s" is to be the first day of week
+// %s will be replaced with the day name.
+Calendar._TT["DAY_FIRST"] = "Zobraz %s prvn\u00ed";
+
+// This may be locale-dependent.  It specifies the week-end days, as an array
+// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
+// means Monday, etc.
+Calendar._TT["WEEKEND"] = "0,6";
+
+Calendar._TT["CLOSE"] = "Zav\u0159\u00edt";
+Calendar._TT["TODAY"] = "Dnes";
+Calendar._TT["TIME_PART"] = "(Shift-)Klikni nebo t\u00e1hni pro zm\u011bnu hodnoty";
+
+// date formats
+Calendar._TT["DEF_DATE_FORMAT"] = "d.m.yy";
+Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
+
+Calendar._TT["WK"] = "wk";
+Calendar._TT["TIME"] = "\u010cas:";

Property changes on: tags/2.8.2/wb/include/jscalendar/lang/calendar-cs.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/lang/calendar-fr.js
===================================================================
--- tags/2.8.2/wb/include/jscalendar/lang/calendar-fr.js	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/lang/calendar-fr.js	(revision 1481)
@@ -0,0 +1,125 @@
+// ** I18N
+
+// Calendar EN language
+// Author: Mihai Bazon, <mihai_bazon@yahoo.com>
+// Encoding: any
+// Distributed under the same terms as the calendar itself.
+
+// For translators: please use UTF-8 if possible.  We strongly believe that
+// Unicode is the answer to a real internationalized world.  Also please
+// include your contact information in the header, as can be seen above.
+
+// Translator: David Duret, <pilgrim@mala-template.net> from previous french version
+
+// full day names
+Calendar._DN = new Array
+("Dimanche",
+ "Lundi",
+ "Mardi",
+ "Mercredi",
+ "Jeudi",
+ "Vendredi",
+ "Samedi",
+ "Dimanche");
+
+// Please note that the following array of short day names (and the same goes
+// for short month names, _SMN) isn't absolutely necessary.  We give it here
+// for exemplification on how one can customize the short day names, but if
+// they are simply the first N letters of the full name you can simply say:
+//
+//   Calendar._SDN_len = N; // short day name length
+//   Calendar._SMN_len = N; // short month name length
+//
+// If N = 3 then this is not needed either since we assume a value of 3 if not
+// present, to be compatible with translation files that were written before
+// this feature.
+
+// short day names
+Calendar._SDN = new Array
+("Dim",
+ "Lun",
+ "Mar",
+ "Mar",
+ "Jeu",
+ "Ven",
+ "Sam",
+ "Dim");
+
+// full month names
+Calendar._MN = new Array
+("Janvier",
+ "F\u00e9vrier",
+ "Mars",
+ "Avril",
+ "Mai",
+ "Juin",
+ "Juillet",
+ "Ao\u00fbt",
+ "Septembre",
+ "Octobre",
+ "Novembre",
+ "D\u00e9cembre");
+
+// short month names
+Calendar._SMN = new Array
+("Jan",
+ "Fev",
+ "Mar",
+ "Avr",
+ "Mai",
+ "Juin",
+ "Juil",
+ "Aout",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec");
+
+// tooltips
+Calendar._TT = {};
+Calendar._TT["INFO"] = "A propos du calendrier";
+
+Calendar._TT["ABOUT"] =
+"DHTML Date/Heure Selecteur\n" +
+"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
+"Pour la derniere version visitez : http://www.dynarch.com/projects/calendar/\n" +
+"Distribu\u00e9 par GNU LGPL.  Voir http://gnu.org/licenses/lgpl.html pour les details." +
+"\n\n" +
+"Selection de la date :\n" +
+"- Utiliser les bouttons \xab, \xbb  pour selectionner l\'annee\n" +
+"- Utiliser les bouttons " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " pour selectionner les mois\n" +
+"- Garder la souris sur n'importe quels boutons pour une selection plus rapide";
+Calendar._TT["ABOUT_TIME"] = "\n\n" +
+"Selection de l\'heure :\n" +
+"- Cliquer sur heures ou minutes pour incrementer\n" +
+"- ou Maj-clic pour decrementer\n" +
+"- ou clic et glisser-deplacer pour une selection plus rapide";
+
+Calendar._TT["PREV_YEAR"] = "Ann\u00e9e pr\u00e9c. (maintenir pour menu)";
+Calendar._TT["PREV_MONTH"] = "Mois pr\u00e9c. (maintenir pour menu)";
+Calendar._TT["GO_TODAY"] = "Atteindre la date du jour";
+Calendar._TT["NEXT_MONTH"] = "Mois suiv. (maintenir pour menu)";
+Calendar._TT["NEXT_YEAR"] = "Ann\u00e9e suiv. (maintenir pour menu)";
+Calendar._TT["SEL_DATE"] = "S\u00e9lectionner une date";
+Calendar._TT["DRAG_TO_MOVE"] = "D\u00e9placer";
+Calendar._TT["PART_TODAY"] = " (Aujourd'hui)";
+
+// the following is to inform that "%s" is to be the first day of week
+// %s will be replaced with the day name.
+Calendar._TT["DAY_FIRST"] = "Afficher %s en premier";
+
+// This may be locale-dependent.  It specifies the week-end days, as an array
+// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
+// means Monday, etc.
+Calendar._TT["WEEKEND"] = "0,6";
+
+Calendar._TT["CLOSE"] = "Fermer";
+Calendar._TT["TODAY"] = "Aujourd'hui";
+Calendar._TT["TIME_PART"] = "(Maj-)Clic ou glisser pour modifier la valeur";
+
+// date formats
+Calendar._TT["DEF_DATE_FORMAT"] = "%d/%m/%Y";
+Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
+
+Calendar._TT["WK"] = "Sem.";
+Calendar._TT["TIME"] = "Heure :";

Property changes on: tags/2.8.2/wb/include/jscalendar/lang/calendar-fr.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/lang/calendar-es.js
===================================================================
--- tags/2.8.2/wb/include/jscalendar/lang/calendar-es.js	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/lang/calendar-es.js	(revision 1481)
@@ -0,0 +1,129 @@
+// ** I18N
+
+// Calendar ES (spanish) language
+// Author: Mihai Bazon, <mihai_bazon@yahoo.com>
+// Updater: Servilio Afre Puentes <servilios@yahoo.com>
+// Updated: 2004-06-03
+// Encoding: utf-8
+// Distributed under the same terms as the calendar itself.
+
+// For translators: please use UTF-8 if possible.  We strongly believe that
+// Unicode is the answer to a real internationalized world.  Also please
+// include your contact information in the header, as can be seen above.
+
+// full day names
+Calendar._DN = new Array
+("Domingo",
+ "Lunes",
+ "Martes",
+ "Mi\u00e9rcoles",
+ "Jueves",
+ "Viernes",
+ "S\u00e1bado",
+ "Domingo");
+
+// Please note that the following array of short day names (and the same goes
+// for short month names, _SMN) isn't absolutely necessary.  We give it here
+// for exemplification on how one can customize the short day names, but if
+// they are simply the first N letters of the full name you can simply say:
+//
+//   Calendar._SDN_len = N; // short day name length
+//   Calendar._SMN_len = N; // short month name length
+//
+// If N = 3 then this is not needed either since we assume a value of 3 if not
+// present, to be compatible with translation files that were written before
+// this feature.
+
+// short day names
+Calendar._SDN = new Array
+("Dom",
+ "Lun",
+ "Mar",
+ "Mi\u00e9",
+ "Jue",
+ "Vie",
+ "S\u00e1b",
+ "Dom");
+
+// First day of the week. "0" means display Sunday first, "1" means display
+// Monday first, etc.
+Calendar._FD = 1;
+
+// full month names
+Calendar._MN = new Array
+("Enero",
+ "Febrero",
+ "Marzo",
+ "Abril",
+ "Mayo",
+ "Junio",
+ "Julio",
+ "Agosto",
+ "Septiembre",
+ "Octubre",
+ "Noviembre",
+ "Diciembre");
+
+// short month names
+Calendar._SMN = new Array
+("Ene",
+ "Feb",
+ "Mar",
+ "Abr",
+ "May",
+ "Jun",
+ "Jul",
+ "Ago",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dic");
+
+// tooltips
+Calendar._TT = {};
+Calendar._TT["INFO"] = "Acerca del calendario";
+
+Calendar._TT["ABOUT"] =
+"Selector DHTML de Fecha/Hora\n" +
+"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
+"Para conseguir la \u00faltima versi\u00f3n visite: http://www.dynarch.com/projects/calendar/\n" +
+"Distribuido bajo licencia GNU LGPL. Visite http://gnu.org/licenses/lgpl.html para m\u00e1s detalles." +
+"\n\n" +
+"Selecci\u00f3n de fecha:\n" +
+"- Use los botones \xab, \xbb para seleccionar el a\u00f1o\n" +
+"- Use los botones " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " para seleccionar el mes\n" +
+"- Mantenga pulsado el rat\u00f3n en cualquiera de estos botones para una selecci\u00f3n r\u00e1pida.";
+Calendar._TT["ABOUT_TIME"] = "\n\n" +
+"Selecci\u00f3n de hora:\n" +
+"- Pulse en cualquiera de las partes de la hora para incrementarla\n" +
+"- o pulse las may\u00fasculas mientras hace clic para decrementarla\n" +
+"- o haga clic y arrastre el rat\u00f3n para una selecci\u00f3n m\u00e1s r\u00e1pida.";
+
+Calendar._TT["PREV_YEAR"] = "A\u00f1o anterior (mantener para men\u00fa)";
+Calendar._TT["PREV_MONTH"] = "Mes anterior (mantener para men\u00fa)";
+Calendar._TT["GO_TODAY"] = "Ir a hoy";
+Calendar._TT["NEXT_MONTH"] = "Mes siguiente (mantener para men\u00fa)";
+Calendar._TT["NEXT_YEAR"] = "A\u00f1o siguiente (mantener para men\u00fa)";
+Calendar._TT["SEL_DATE"] = "Seleccionar fecha";
+Calendar._TT["DRAG_TO_MOVE"] = "Arrastrar para mover";
+Calendar._TT["PART_TODAY"] = " (hoy)";
+
+// the following is to inform that "%s" is to be the first day of week
+// %s will be replaced with the day name.
+Calendar._TT["DAY_FIRST"] = "Hacer %s primer d\u00eda de la semana";
+
+// This may be locale-dependent.  It specifies the week-end days, as an array
+// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
+// means Monday, etc.
+Calendar._TT["WEEKEND"] = "0,6";
+
+Calendar._TT["CLOSE"] = "Cerrar";
+Calendar._TT["TODAY"] = "Hoy";
+Calendar._TT["TIME_PART"] = "(May\u00fascula-)Clic o arrastre para cambiar valor";
+
+// date formats
+Calendar._TT["DEF_DATE_FORMAT"] = "%d/%m/%Y";
+Calendar._TT["TT_DATE_FORMAT"] = "%A, %e de %B de %Y";
+
+Calendar._TT["WK"] = "sem";
+Calendar._TT["TIME"] = "Hora:";

Property changes on: tags/2.8.2/wb/include/jscalendar/lang/calendar-es.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/lang/calendar-du.js
===================================================================
--- tags/2.8.2/wb/include/jscalendar/lang/calendar-du.js	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/lang/calendar-du.js	(revision 1481)
@@ -0,0 +1,51 @@
+// ** I18N
+Calendar._DN = new Array
+("Zondag",
+ "Maandag",
+ "Dinsdag",
+ "Woensdag",
+ "Donderdag",
+ "Vrijdag",
+ "Zaterdag",
+ "Zondag");
+Calendar._MN = new Array
+("Januari",
+ "Februari",
+ "Maart",
+ "April",
+ "Mei",
+ "Juni",
+ "Juli",
+ "Augustus",
+ "September",
+ "Oktober",
+ "November",
+ "December");
+
+// tooltips
+Calendar._TT = {};
+Calendar._TT["TOGGLE"] = "Toggle startdag van de week";
+Calendar._TT["PREV_YEAR"] = "Vorig jaar (indrukken voor menu)";
+Calendar._TT["PREV_MONTH"] = "Vorige month (indrukken voor menu)";
+Calendar._TT["GO_TODAY"] = "Naar Vandaag";
+Calendar._TT["NEXT_MONTH"] = "Volgende Maand (indrukken voor menu)";
+Calendar._TT["NEXT_YEAR"] = "Volgend jaar (indrukken voor menu)";
+Calendar._TT["SEL_DATE"] = "Selecteer datum";
+Calendar._TT["DRAG_TO_MOVE"] = "Sleep om te verplaatsen";
+Calendar._TT["PART_TODAY"] = " (vandaag)";
+Calendar._TT["MON_FIRST"] = "Toon Maandag eerst";
+Calendar._TT["SUN_FIRST"] = "Toon Zondag eerst";
+Calendar._TT["CLOSE"] = "Sluiten";
+Calendar._TT["TODAY"] = "Vandaag";
+
+// date formats
+Calendar._TT["DEF_DATE_FORMAT"] = "y-mm-dd";
+Calendar._TT["TT_DATE_FORMAT"] = "D, M d";
+
+Calendar._TT["WK"] = "wk";
+
+
+Calendar._TT["DAY_FIRST"] = "Display %s first";
+Calendar._TT["WEEKEND"] = "0,6";
+Calendar._TT["TIME_PART"] = "(Shift-)Click or drag to change value";
+Calendar._TT["TIME"] = "Time:";

Property changes on: tags/2.8.2/wb/include/jscalendar/lang/calendar-du.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/lang/calendar-hr.js
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/jscalendar/lang/calendar-hr.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/lang/calendar-si.js
===================================================================
--- tags/2.8.2/wb/include/jscalendar/lang/calendar-si.js	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/lang/calendar-si.js	(revision 1481)
@@ -0,0 +1,99 @@
+/* Slovenian language file for the DHTML Calendar version 0.9.2 
+* Author David Milost <mercy@volja.net>, January 2004.
+* Feel free to use this script under the terms of the GNU Lesser General
+* Public License, as long as you do not remove or alter this notice.
+*/
+ // full day names
+Calendar._DN = new Array
+("Nedelja",
+ "Ponedeljek",
+ "Torek",
+ "Sreda",
+ "\u010cetrtek",
+ "Petek",
+ "Sobota",
+ "Nedelja");
+ // short day names
+ Calendar._SDN = new Array
+("Ned",
+ "Pon",
+ "Tor",
+ "Sre",
+ "\u010cet",
+ "Pet",
+ "Sob",
+ "Ned");
+// short month names
+Calendar._SMN = new Array
+("Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "Maj",
+ "Jun",
+ "Jul",
+ "Avg",
+ "Sep",
+ "Okt",
+ "Nov",
+ "Dec");
+  // full month names
+Calendar._MN = new Array
+("Januar",
+ "Februar",
+ "Marec",
+ "April",
+ "Maj",
+ "Junij",
+ "Julij",
+ "Avgust",
+ "September",
+ "Oktober",
+ "November",
+ "December");
+
+// tooltips
+// tooltips
+Calendar._TT = {};
+Calendar._TT["INFO"] = "O koledarju";
+
+Calendar._TT["ABOUT"] =
+"DHTML Date/Time Selector\n" +
+"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
+"Za zadnjo verzijo pojdine na naslov: http://www.dynarch.com/projects/calendar/\n" +
+"Distribuirano pod GNU LGPL.  Poglejte http://gnu.org/licenses/lgpl.html za podrobnosti." +
+"\n\n" +
+"Izbor datuma:\n" +
+"- Uporabite \xab, \xbb gumbe za izbor leta\n" +
+"- Uporabite " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " gumbe za izbor meseca\n" +
+"- Zadr\u017eite klik na kateremkoli od zgornjih gumbov za hiter izbor.";
+Calendar._TT["ABOUT_TIME"] = "\n\n" +
+"Izbor \u0107asa:\n" +
+"- Kliknite na katerikoli del \u0107asa za pove\u0107. le-tega\n" +
+"- ali Shift-click za zmanj. le-tega\n" +
+"- ali kliknite in povlecite za hiter izbor.";
+
+Calendar._TT["TOGGLE"] = "Spremeni dan s katerim se pri\u0107ne teden";
+Calendar._TT["PREV_YEAR"] = "Predhodnje leto (dolg klik za meni)";
+Calendar._TT["PREV_MONTH"] = "Predhodnji mesec (dolg klik za meni)";
+Calendar._TT["GO_TODAY"] = "Pojdi na teko\u0107i dan";
+Calendar._TT["NEXT_MONTH"] = "Naslednji mesec (dolg klik za meni)";
+Calendar._TT["NEXT_YEAR"] = "Naslednje leto (dolg klik za meni)";
+Calendar._TT["SEL_DATE"] = "Izberite datum";
+Calendar._TT["DRAG_TO_MOVE"] = "Pritisni in povleci za spremembo pozicije";
+Calendar._TT["PART_TODAY"] = " (danes)";
+Calendar._TT["MON_FIRST"] = "Prika\u017ei ponedeljek kot prvi dan";
+Calendar._TT["SUN_FIRST"] = "Prika\u017ei nedeljo kot prvi dan";
+Calendar._TT["CLOSE"] = "Zapri";
+Calendar._TT["TODAY"] = "Danes";
+
+// date formats
+Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
+Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
+
+Calendar._TT["WK"] = "Ted";
+
+Calendar._TT["DAY_FIRST"] = "Display %s first";
+Calendar._TT["WEEKEND"] = "0,6";
+Calendar._TT["TIME_PART"] = "(Shift-)Click or drag to change value";
+Calendar._TT["TIME"] = "Time:";

Property changes on: tags/2.8.2/wb/include/jscalendar/lang/calendar-si.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/lang/calendar-hu.js
===================================================================
--- tags/2.8.2/wb/include/jscalendar/lang/calendar-hu.js	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/lang/calendar-hu.js	(revision 1481)
@@ -0,0 +1,124 @@
+// ** I18N
+
+// Calendar HU language
+// Author: ???
+// Modifier: KARASZI Istvan, <jscalendar@spam.raszi.hu>
+// Encoding: any
+// Distributed under the same terms as the calendar itself.
+
+// For translators: please use UTF-8 if possible.  We strongly believe that
+// Unicode is the answer to a real internationalized world.  Also please
+// include your contact information in the header, as can be seen above.
+
+// full day names
+Calendar._DN = new Array
+("Vas\u00e1rnap",
+ "H\u00e9tf\u0151",
+ "Kedd",
+ "Szerda",
+ "Cs\u00fct\u00f6rt\u00f6k",
+ "P\u00e9ntek",
+ "Szombat",
+ "Vas\u00e1rnap");
+
+// Please note that the following array of short day names (and the same goes
+// for short month names, _SMN) isn't absolutely necessary.  We give it here
+// for exemplification on how one can customize the short day names, but if
+// they are simply the first N letters of the full name you can simply say:
+//
+//   Calendar._SDN_len = N; // short day name length
+//   Calendar._SMN_len = N; // short month name length
+//
+// If N = 3 then this is not needed either since we assume a value of 3 if not
+// present, to be compatible with translation files that were written before
+// this feature.
+
+// short day names
+Calendar._SDN = new Array
+("v",
+ "h",
+ "k",
+ "sze",
+ "cs",
+ "p",
+ "szo",
+ "v");
+
+// full month names
+Calendar._MN = new Array
+("janu\u00e1r",
+ "febru\u00e1r",
+ "m\u00e1rcius",
+ "\u00e1prilis",
+ "m\u00e1jus",
+ "j\u00fanius",
+ "j\u00falius",
+ "augusztus",
+ "szeptember",
+ "okt\u00f3ber",
+ "november",
+ "december");
+
+// short month names
+Calendar._SMN = new Array
+("jan",
+ "feb",
+ "m\u00e1r",
+ "\u00e1pr",
+ "m\u00e1j",
+ "j\u00fan",
+ "j\u00fal",
+ "aug",
+ "sze",
+ "okt",
+ "nov",
+ "dec");
+
+// tooltips
+Calendar._TT = {};
+Calendar._TT["INFO"] = "A kalend\u00e1riumr\u00f3l";
+
+Calendar._TT["ABOUT"] =
+"DHTML d\u00e1tum/id\u0151 kiv\u00e1laszt\u00f3\n" +
+"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
+"a legfrissebb verzi\u00f3 megtal\u00e1lhat\u00f3: http://www.dynarch.com/projects/calendar/\n" +
+"GNU LGPL alatt terjesztve.  L\u00e1sd a http://gnu.org/licenses/lgpl.html oldalt a r\u00e9szletekhez." +
+"\n\n" +
+"D\u00e1tum v\u00e1laszt\u00e1s:\n" +
+"- haszn\u00e1lja a \xab, \xbb gombokat az \u00e9v kiv\u00e1laszt\u00e1s\u00e1hoz\n" +
+"- haszn\u00e1lja a " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " gombokat a h\u00f3nap kiv\u00e1laszt\u00e1s\u00e1hoz\n" +
+"- tartsa lenyomva az eg\u00e9rgombot a gyors v\u00e1laszt\u00e1shoz.";
+Calendar._TT["ABOUT_TIME"] = "\n\n" +
+"Id\u0151 v\u00e1laszt\u00e1s:\n" +
+"- kattintva n\u00f6velheti az id\u0151t\n" +
+"- shift-tel kattintva cs\u00f6kkentheti\n" +
+"- lenyomva tartva \u00e9s h\u00fazva gyorsabban kiv\u00e1laszthatja.";
+
+Calendar._TT["PREV_YEAR"] = "El\u0151z\u0151 \u00e9v (tartsa nyomva a men\u00fch\u00f6z)";
+Calendar._TT["PREV_MONTH"] = "El\u0151z\u0151 h\u00f3nap (tartsa nyomva a men\u00fch\u00f6z)";
+Calendar._TT["GO_TODAY"] = "Mai napra ugr\u00e1s";
+Calendar._TT["NEXT_MONTH"] = "K\u00f6v. h\u00f3nap (tartsa nyomva a men\u00fch\u00f6z)";
+Calendar._TT["NEXT_YEAR"] = "K\u00f6v. \u00e9v (tartsa nyomva a men\u00fch\u00f6z)";
+Calendar._TT["SEL_DATE"] = "V\u00e1lasszon d\u00e1tumot";
+Calendar._TT["DRAG_TO_MOVE"] = "H\u00fazza a mozgat\u00e1shoz";
+Calendar._TT["PART_TODAY"] = " (ma)";
+
+// the following is to inform that "%s" is to be the first day of week
+// %s will be replaced with the day name.
+Calendar._TT["DAY_FIRST"] = "%s legyen a h\u00e9t els\u0151 napja";
+
+// This may be locale-dependent.  It specifies the week-end days, as an array
+// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
+// means Monday, etc.
+Calendar._TT["WEEKEND"] = "0,6";
+
+Calendar._TT["CLOSE"] = "Bez\u00e1r";
+Calendar._TT["TODAY"] = "Ma";
+Calendar._TT["TIME_PART"] = "(Shift-)Klikk vagy h\u00faz\u00e1s az \u00e9rt\u00e9k v\u00e1ltoztat\u00e1s\u00e1hoz";
+
+// date formats
+Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
+Calendar._TT["TT_DATE_FORMAT"] = "%b %e, %a";
+
+Calendar._TT["WK"] = "h\u00e9t";
+Calendar._TT["TIME"] = "id\u0151:";

Property changes on: tags/2.8.2/wb/include/jscalendar/lang/calendar-hu.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/lang/calendar-no.js
===================================================================
--- tags/2.8.2/wb/include/jscalendar/lang/calendar-no.js	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/lang/calendar-no.js	(revision 1481)
@@ -0,0 +1,119 @@
+// ** I18N
+
+// Calendar NO language
+// Author: Daniel Holmen, <daniel.holmen@ciber.no>
+// Encoding: UTF-8
+// Distributed under the same terms as the calendar itself.
+
+// For translators: please use UTF-8 if possible.  We strongly believe that
+// Unicode is the answer to a real internationalized world.  Also please
+// include your contact information in the header, as can be seen above.
+
+// full day names
+Calendar._DN = new Array
+("S\u00f8ndag",
+ "Mandag",
+ "Tirsdag",
+ "Onsdag",
+ "Torsdag",
+ "Fredag",
+ "L\u00f8rdag",
+ "S\u00f8ndag");
+
+// Please note that the following array of short day names (and the same goes
+// for short month names, _SMN) isn't absolutely necessary.  We give it here
+// for exemplification on how one can customize the short day names, but if
+// they are simply the first N letters of the full name you can simply say:
+//
+//   Calendar._SDN_len = N; // short day name length
+//   Calendar._SMN_len = N; // short month name length
+//
+// If N = 3 then this is not needed either since we assume a value of 3 if not
+// present, to be compatible with translation files that were written before
+// this feature.
+
+// short day names
+Calendar._SDN = new Array
+("S\u00f8n",
+ "Man",
+ "Tir",
+ "Ons",
+ "Tor",
+ "Fre",
+ "L\u00f8r",
+ "S\u00f8n");
+
+// full month names
+Calendar._MN = new Array
+("Januar",
+ "Februar",
+ "Mars",
+ "April",
+ "Mai",
+ "Juni",
+ "Juli",
+ "August",
+ "September",
+ "Oktober",
+ "November",
+ "Desember");
+
+// short month names
+Calendar._SMN = new Array
+("Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "Mai",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Okt",
+ "Nov",
+ "Des");
+
+// tooltips
+Calendar._TT = {};
+Calendar._TT["INFO"] = "Om kalenderen";
+
+Calendar._TT["ABOUT"] =
+"DHTML Dato-/Tidsvelger\n" +
+"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
+"For nyeste versjon, g\u00e5 til: http://www.dynarch.com/projects/calendar/\n" +
+"Distribuert under GNU LGPL.  Se http://gnu.org/licenses/lgpl.html for detaljer." +
+"\n\n" +
+"Datovalg:\n" +
+"- Bruk knappene \xab og \xbb for \u00e5 velge \u00e5r\n" +
+"- Bruk knappene " + String.fromCharCode(0x2039) + " og " + String.fromCharCode(0x203a) + " for \u00e5 velge m\u00e5ned\n" +
+"- Hold inne musknappen eller knappene over for raskere valg.";
+Calendar._TT["ABOUT_TIME"] = "\n\n" +
+"Tidsvalg:\n" +
+"- Klikk p\u00e5 en av tidsdelene for \u00e5 \u00f8ke den\n" +
+"- eller Shift-klikk for \u00e5 senke verdien\n" +
+"- eller klikk-og-dra for raskere valg..";
+
+Calendar._TT["PREV_YEAR"] = "Forrige. \u00e5r (hold for meny)";
+Calendar._TT["PREV_MONTH"] = "Forrige. m\u00e5ned (hold for meny)";
+Calendar._TT["GO_TODAY"] = "G\u00e5 til idag";
+Calendar._TT["NEXT_MONTH"] = "Neste m\u00e5ned (hold for meny)";
+Calendar._TT["NEXT_YEAR"] = "Neste \u00e5r (hold for meny)";
+Calendar._TT["SEL_DATE"] = "Velg dato";
+Calendar._TT["DRAG_TO_MOVE"] = "Dra for \u00e5 flytte";
+Calendar._TT["PART_TODAY"] = " (idag)";
+Calendar._TT["MON_FIRST"] = "Vis mandag f\u00f8rst";
+Calendar._TT["SUN_FIRST"] = "Vis s\u00f8ndag f\u00f8rst";
+Calendar._TT["CLOSE"] = "Lukk";
+Calendar._TT["TODAY"] = "Idag";
+Calendar._TT["TIME_PART"] = "(Shift-)Klikk eller dra for \u00e5 endre verdi";
+
+// date formats
+Calendar._TT["DEF_DATE_FORMAT"] = "%d.%m.%Y";
+Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
+
+Calendar._TT["WK"] = "uke";
+
+
+Calendar._TT["DAY_FIRST"] = "Display %s first";
+Calendar._TT["WEEKEND"] = "0,6";
+Calendar._TT["TIME"] = "Time:";

Property changes on: tags/2.8.2/wb/include/jscalendar/lang/calendar-no.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/lang/calendar-it.js
===================================================================
--- tags/2.8.2/wb/include/jscalendar/lang/calendar-it.js	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/lang/calendar-it.js	(revision 1481)
@@ -0,0 +1,124 @@
+// ** I18N
+
+// Calendar EN language
+// Author: Mihai Bazon, <mihai_bazon@yahoo.com>
+// Translator: Fabio Di Bernardini, <altraqua@email.it>
+// Encoding: any
+// Distributed under the same terms as the calendar itself.
+
+// For translators: please use UTF-8 if possible.  We strongly believe that
+// Unicode is the answer to a real internationalized world.  Also please
+// include your contact information in the header, as can be seen above.
+
+// full day names
+Calendar._DN = new Array
+("Domenica",
+ "Luned\u00ec",
+ "Marted\u00ec",
+ "Mercoled\u00ec",
+ "Gioved\u00ec",
+ "Venerd\u00ec",
+ "Sabato",
+ "Domenica");
+
+// Please note that the following array of short day names (and the same goes
+// for short month names, _SMN) isn't absolutely necessary.  We give it here
+// for exemplification on how one can customize the short day names, but if
+// they are simply the first N letters of the full name you can simply say:
+//
+//   Calendar._SDN_len = N; // short day name length
+//   Calendar._SMN_len = N; // short month name length
+//
+// If N = 3 then this is not needed either since we assume a value of 3 if not
+// present, to be compatible with translation files that were written before
+// this feature.
+
+// short day names
+Calendar._SDN = new Array
+("Dom",
+ "Lun",
+ "Mar",
+ "Mer",
+ "Gio",
+ "Ven",
+ "Sab",
+ "Dom");
+
+// full month names
+Calendar._MN = new Array
+("Gennaio",
+ "Febbraio",
+ "Marzo",
+ "Aprile",
+ "Maggio",
+ "Giugno",
+ "Luglio",
+ "Augosto",
+ "Settembre",
+ "Ottobre",
+ "Novembre",
+ "Dicembre");
+
+// short month names
+Calendar._SMN = new Array
+("Gen",
+ "Feb",
+ "Mar",
+ "Apr",
+ "Mag",
+ "Giu",
+ "Lug",
+ "Ago",
+ "Set",
+ "Ott",
+ "Nov",
+ "Dic");
+
+// tooltips
+Calendar._TT = {};
+Calendar._TT["INFO"] = "Informazioni sul calendario";
+
+Calendar._TT["ABOUT"] =
+"DHTML Date/Time Selector\n" +
+"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
+"Per gli aggiornamenti: http://www.dynarch.com/projects/calendar/\n" +
+"Distribuito sotto licenza GNU LGPL.  Vedi http://gnu.org/licenses/lgpl.html per i dettagli." +
+"\n\n" +
+"Selezione data:\n" +
+"- Usa \xab, \xbb per selezionare l'anno\n" +
+"- Usa  " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " per i mesi\n" +
+"- Tieni premuto a lungo il mouse per accedere alle funzioni di selezione veloce.";
+Calendar._TT["ABOUT_TIME"] = "\n\n" +
+"Selezione orario:\n" +
+"- Clicca sul numero per incrementarlo\n" +
+"- o Shift+click per decrementarlo\n" +
+"- o click e sinistra o destra per variarlo.";
+
+Calendar._TT["PREV_YEAR"] = "Anno prec.(clicca a lungo per il men\u00f9)";
+Calendar._TT["PREV_MONTH"] = "Mese prec. (clicca a lungo per il men\u00f9)";
+Calendar._TT["GO_TODAY"] = "Oggi";
+Calendar._TT["NEXT_MONTH"] = "Pross. mese (clicca a lungo per il men\u00f9)";
+Calendar._TT["NEXT_YEAR"] = "Pross. anno (clicca a lungo per il men\u00f9)";
+Calendar._TT["SEL_DATE"] = "Seleziona data";
+Calendar._TT["DRAG_TO_MOVE"] = "Trascina per spostarlo";
+Calendar._TT["PART_TODAY"] = " (oggi)";
+
+// the following is to inform that "%s" is to be the first day of week
+// %s will be replaced with the day name.
+Calendar._TT["DAY_FIRST"] = "Mostra prima %s";
+
+// This may be locale-dependent.  It specifies the week-end days, as an array
+// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
+// means Monday, etc.
+Calendar._TT["WEEKEND"] = "0,6";
+
+Calendar._TT["CLOSE"] = "Chiudi";
+Calendar._TT["TODAY"] = "Oggi";
+Calendar._TT["TIME_PART"] = "(Shift-)Click o trascina per cambiare il valore";
+
+// date formats
+Calendar._TT["DEF_DATE_FORMAT"] = "%d-%m-%Y";
+Calendar._TT["TT_DATE_FORMAT"] = "%a:%b:%e";
+
+Calendar._TT["WK"] = "set";
+Calendar._TT["TIME"] = "Ora:";

Property changes on: tags/2.8.2/wb/include/jscalendar/lang/calendar-it.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/lang/calendar-sk.js
===================================================================
--- tags/2.8.2/wb/include/jscalendar/lang/calendar-sk.js	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/lang/calendar-sk.js	(revision 1481)
@@ -0,0 +1,104 @@
+// ** I18N
+
+// Calendar SK language
+// Author: Peter Valach (pvalach@gmx.net)
+// Encoding: utf-8
+// Last update: 2003/10/29
+// Distributed under the same terms as the calendar itself.
+
+// full day names
+Calendar._DN = new Array
+("Nede\u00c4\u013ea",
+ "Pondelok",
+ "Utorok",
+ "Streda",
+ "\u0139\u00a0tvrtok",
+ "Piatok",
+ "Sobota",
+ "Nede\u00c4\u013ea");
+
+// short day names
+Calendar._SDN = new Array
+("Ned",
+ "Pon",
+ "Uto",
+ "Str",
+ "\u0139\u00a0tv",
+ "Pia",
+ "Sob",
+ "Ned");
+
+// full month names
+Calendar._MN = new Array
+("Janu\u0102\u02c7r",
+ "Febru\u0102\u02c7r",
+ "Marec",
+ "Apr\u0102\u00adl",
+ "M\u0102\u02c7j",
+ "J\u0102\u015fn",
+ "J\u0102\u015fl",
+ "August",
+ "September",
+ "Okt\u0102\u0142ber",
+ "November",
+ "December");
+
+// short month names
+Calendar._SMN = new Array
+("Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "M\u0102\u02c7j",
+ "J\u0102\u015fn",
+ "J\u0102\u015fl",
+ "Aug",
+ "Sep",
+ "Okt",
+ "Nov",
+ "Dec");
+
+// tooltips
+Calendar._TT = {};
+Calendar._TT["INFO"] = "O kalend\u0102\u02c7ri";
+
+Calendar._TT["ABOUT"] =
+"DHTML Date/Time Selector\n" +
+"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" +
+"Posledn\u0102\u015f verziu n\u0102\u02c7jdete na: http://www.dynarch.com/projects/calendar/\n" +
+"Distribuovan\u0102\u00a9 pod GNU LGPL.  Vi\u00c4\u0179 http://gnu.org/licenses/lgpl.html pre detaily." +
+"\n\n" +
+"V\u0102\u02ddber d\u0102\u02c7tumu:\n" +
+"- Pou\u0139\u013eite tla\u00c4\u0164idl\u0102\u02c7 \xab, \xbb pre v\u0102\u02ddber roku\n" +
+"- Pou\u0139\u013eite tla\u00c4\u0164idl\u0102\u02c7 " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " pre v\u0102\u02ddber mesiaca\n" +
+"- Ak ktor\u0102\u00a9ko\u00c4\u013evek z t\u0102\u02ddchto tla\u00c4\u0164idiel podr\u0139\u013e\u0102\u00adte dlh\u0139\u02c7ie, zobraz\u0102\u00ad sa r\u0102\u02ddchly v\u0102\u02ddber.";
+Calendar._TT["ABOUT_TIME"] = "\n\n" +
+"V\u0102\u02ddber \u00c4\u0164asu:\n" +
+"- Kliknutie na niektor\u0102\u015f polo\u0139\u013eku \u00c4\u0164asu ju zv\u0102\u02dd\u0139\u02c7i\n" +
+"- Shift-klik ju zn\u0102\u00ad\u0139\u013ei\n" +
+"- Ak podr\u0139\u013e\u0102\u00adte tla\u00c4\u0164\u0102\u00adtko stla\u00c4\u0164en\u0102\u00a9, pos\u0102\u015fvan\u0102\u00adm men\u0102\u00adte hodnotu.";
+
+Calendar._TT["PREV_YEAR"] = "Predo\u0139\u02c7l\u0102\u02dd rok (podr\u0139\u013ete pre menu)";
+Calendar._TT["PREV_MONTH"] = "Predo\u0139\u02c7l\u0102\u02dd mesiac (podr\u0139\u013ete pre menu)";
+Calendar._TT["GO_TODAY"] = "Prejs\u0139\u0104 na dne\u0139\u02c7ok";
+Calendar._TT["NEXT_MONTH"] = "Nasl. mesiac (podr\u0139\u013ete pre menu)";
+Calendar._TT["NEXT_YEAR"] = "Nasl. rok (podr\u0139\u013ete pre menu)";
+Calendar._TT["SEL_DATE"] = "Zvo\u00c4\u013ete d\u0102\u02c7tum";
+Calendar._TT["DRAG_TO_MOVE"] = "Podr\u0139\u013ean\u0102\u00adm tla\u00c4\u0164\u0102\u00adtka zmen\u0102\u00adte polohu";
+Calendar._TT["PART_TODAY"] = " (dnes)";
+Calendar._TT["MON_FIRST"] = "Zobrazi\u0139\u0104 pondelok ako prv\u0102\u02dd";
+Calendar._TT["SUN_FIRST"] = "Zobrazi\u0139\u0104 nede\u00c4\u013eu ako prv\u0102\u015f";
+Calendar._TT["CLOSE"] = "Zavrie\u0139\u0104";
+Calendar._TT["TODAY"] = "Dnes";
+Calendar._TT["TIME_PART"] = "(Shift-)klik/\u0139\u0104ahanie zmen\u0102\u00ad hodnotu";
+
+// date formats
+Calendar._TT["DEF_DATE_FORMAT"] = "$d. %m. %Y";
+Calendar._TT["TT_DATE_FORMAT"] = "%a, %e. %b";
+
+Calendar._TT["WK"] = "t\u0102\u02dd\u0139\u013e";
+
+Calendar._TT["DAY_FIRST"] = "Display %s first";
+Calendar._TT["WEEKEND"] = "0,6";
+Calendar._TT["TIME"] = "Time:";
+

Property changes on: tags/2.8.2/wb/include/jscalendar/lang/calendar-sk.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/lang/calendar-lt.js
===================================================================
--- tags/2.8.2/wb/include/jscalendar/lang/calendar-lt.js	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/lang/calendar-lt.js	(revision 1481)
@@ -0,0 +1,119 @@
+// ** I18N
+
+// Calendar LT language
+// Author: Martynas Majeris, <martynas@solmetra.lt>
+// Encoding: UTF-8
+// Distributed under the same terms as the calendar itself.
+
+// For translators: please use UTF-8 if possible.  We strongly believe that
+// Unicode is the answer to a real internationalized world.  Also please
+// include your contact information in the header, as can be seen above.
+
+// full day names
+Calendar._DN = new Array
+("Sekmadienis",
+ "Pirmadienis",
+ "Antradienis",
+ "Tre\u010diadienis",
+ "Ketvirtadienis",
+ "Pentadienis",
+ "\u0160e\u0161tadienis",
+ "Sekmadienis");
+
+// Please note that the following array of short day names (and the same goes
+// for short month names, _SMN) isn't absolutely necessary.  We give it here
+// for exemplification on how one can customize the short day names, but if
+// they are simply the first N letters of the full name you can simply say:
+//
+//   Calendar._SDN_len = N; // short day name length
+//   Calendar._SMN_len = N; // short month name length
+//
+// If N = 3 then this is not needed either since we assume a value of 3 if not
+// present, to be compatible with translation files that were written before
+// this feature.
+
+// short day names
+Calendar._SDN = new Array
+("Sek",
+ "Pir",
+ "Ant",
+ "Tre",
+ "Ket",
+ "Pen",
+ "\u0160e\u0161",
+ "Sek");
+
+// full month names
+Calendar._MN = new Array
+("Sausis",
+ "Vasaris",
+ "Kovas",
+ "Balandis",
+ "Gegu\u017e\u0117",
+ "Bir\u017eelis",
+ "Liepa",
+ "Rugpj\u016btis",
+ "Rugs\u0117jis",
+ "Spalis",
+ "Lapkritis",
+ "Gruodis");
+
+// short month names
+Calendar._SMN = new Array
+("Sau",
+ "Vas",
+ "Kov",
+ "Bal",
+ "Geg",
+ "Bir",
+ "Lie",
+ "Rgp",
+ "Rgs",
+ "Spa",
+ "Lap",
+ "Gru");
+
+// tooltips
+Calendar._TT = {};
+Calendar._TT["INFO"] = "Apie kalendori\u0173";
+
+Calendar._TT["ABOUT"] =
+"DHTML Date/Time Selector\n" +
+"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
+"Naujausi\u0105 versij\u0105 rasite: http://www.dynarch.com/projects/calendar/\n" +
+"Platinamas pagal GNU LGPL licencij\u0105. Aplankykite http://gnu.org/licenses/lgpl.html" +
+"\n\n" +
+"Datos pasirinkimas:\n" +
+"- Met\u0173 pasirinkimas: \xab, \xbb\n" +
+"- M\u0117nesio pasirinkimas: " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + "\n" +
+"- Nuspauskite ir laikykite pel\u0117s klavi\u0161\u0105 greitesniam pasirinkimui.";
+Calendar._TT["ABOUT_TIME"] = "\n\n" +
+"Laiko pasirinkimas:\n" +
+"- Spustelkite ant valand\u0173 arba minu\u010di\u0173 - skai\u010dius padid\u0117s vienetu.\n" +
+"- Jei spausite kartu su Shift, skai\u010dius suma\u017e\u0117s.\n" +
+"- Greitam pasirinkimui spustelkite ir pajudinkite pel\u0119.";
+
+Calendar._TT["PREV_YEAR"] = "Ankstesni metai (laikykite, jei norite meniu)";
+Calendar._TT["PREV_MONTH"] = "Ankstesnis m\u0117nuo (laikykite, jei norite meniu)";
+Calendar._TT["GO_TODAY"] = "Pasirinkti \u0161iandien\u0105";
+Calendar._TT["NEXT_MONTH"] = "Kitas m\u0117nuo (laikykite, jei norite meniu)";
+Calendar._TT["NEXT_YEAR"] = "Kiti metai (laikykite, jei norite meniu)";
+Calendar._TT["SEL_DATE"] = "Pasirinkite dat\u0105";
+Calendar._TT["DRAG_TO_MOVE"] = "Tempkite";
+Calendar._TT["PART_TODAY"] = " (\u0161iandien)";
+Calendar._TT["MON_FIRST"] = "Pirma savait\u0117s diena - pirmadienis";
+Calendar._TT["SUN_FIRST"] = "Pirma savait\u0117s diena - sekmadienis";
+Calendar._TT["CLOSE"] = "U\u017edaryti";
+Calendar._TT["TODAY"] = "\u0160iandien";
+Calendar._TT["TIME_PART"] = "Spustelkite arba tempkite jei norite pakeisti";
+
+// date formats
+Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
+Calendar._TT["TT_DATE_FORMAT"] = "%A, %Y-%m-%d";
+
+Calendar._TT["WK"] = "sav";
+
+Calendar._TT["DAY_FIRST"] = "Display %s first";
+Calendar._TT["WEEKEND"] = "0,6";
+Calendar._TT["TIME"] = "Time:";
+

Property changes on: tags/2.8.2/wb/include/jscalendar/lang/calendar-lt.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/lang/calendar-ro.js
===================================================================
--- tags/2.8.2/wb/include/jscalendar/lang/calendar-ro.js	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/lang/calendar-ro.js	(revision 1481)
@@ -0,0 +1,66 @@
+// ** I18N
+Calendar._DN = new Array
+("Duminic\u0103",
+ "Luni",
+ "Mar\u0163i",
+ "Miercuri",
+ "Joi",
+ "Vineri",
+ "S\u00e2mb\u0103t\u0103",
+ "Duminic\u0103");
+Calendar._SDN_len = 2;
+Calendar._MN = new Array
+("Ianuarie",
+ "Februarie",
+ "Martie",
+ "Aprilie",
+ "Mai",
+ "Iunie",
+ "Iulie",
+ "August",
+ "Septembrie",
+ "Octombrie",
+ "Noiembrie",
+ "Decembrie");
+
+// tooltips
+Calendar._TT = {};
+
+Calendar._TT["INFO"] = "Despre calendar";
+
+Calendar._TT["ABOUT"] =
+"DHTML Date/Time Selector\n" +
+"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
+"Pentru ultima versiune vizita\u0163i: http://www.dynarch.com/projects/calendar/\n" +
+"Distribuit sub GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details." +
+"\n\n" +
+"Selec\u0163ia datei:\n" +
+"- Folosi\u0163i butoanele \xab, \xbb pentru a selecta anul\n" +
+"- Folosi\u0163i butoanele " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " pentru a selecta luna\n" +
+"- Tine\u0163i butonul mouse-ului ap\u0103sat pentru selec\u0163ie mai rapid\u0103.";
+Calendar._TT["ABOUT_TIME"] = "\n\n" +
+"Selec\u0163ia orei:\n" +
+"- Click pe ora sau minut pentru a m\u0103ri valoarea cu 1\n" +
+"- Sau Shift-Click pentru a mic\u015fora valoarea cu 1\n" +
+"- Sau Click \u015fi drag pentru a selecta mai repede.";
+
+Calendar._TT["PREV_YEAR"] = "Anul precedent (lung pt menu)";
+Calendar._TT["PREV_MONTH"] = "Luna precedent\u0103 (lung pt menu)";
+Calendar._TT["GO_TODAY"] = "Data de azi";
+Calendar._TT["NEXT_MONTH"] = "Luna urm\u0103toare (lung pt menu)";
+Calendar._TT["NEXT_YEAR"] = "Anul urm\u0103tor (lung pt menu)";
+Calendar._TT["SEL_DATE"] = "Selecteaz\u0103 data";
+Calendar._TT["DRAG_TO_MOVE"] = "Trage pentru a mi\u015fca";
+Calendar._TT["PART_TODAY"] = " (ast\u0103zi)";
+Calendar._TT["DAY_FIRST"] = "Afi\u015feaz\u0103 %s prima zi";
+Calendar._TT["WEEKEND"] = "0,6";
+Calendar._TT["CLOSE"] = "\u00cenchide";
+Calendar._TT["TODAY"] = "Ast\u0103zi";
+Calendar._TT["TIME_PART"] = "(Shift-)Click sau drag pentru a selecta";
+
+// date formats
+Calendar._TT["DEF_DATE_FORMAT"] = "%d-%m-%Y";
+Calendar._TT["TT_DATE_FORMAT"] = "%A, %d %B";
+
+Calendar._TT["WK"] = "spt";
+Calendar._TT["TIME"] = "Ora:";

Property changes on: tags/2.8.2/wb/include/jscalendar/lang/calendar-ro.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/lang/calendar-lv.js
===================================================================
--- tags/2.8.2/wb/include/jscalendar/lang/calendar-lv.js	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/lang/calendar-lv.js	(revision 1481)
@@ -0,0 +1,123 @@
+// ** I18N
+
+// Calendar LV language
+// Author: Juris Valdovskis, <juris@dc.lv>
+// Encoding: cp1257
+// Distributed under the same terms as the calendar itself.
+
+// For translators: please use UTF-8 if possible.  We strongly believe that
+// Unicode is the answer to a real internationalized world.  Also please
+// include your contact information in the header, as can be seen above.
+
+// full day names
+Calendar._DN = new Array
+("Sv\u0113tdiena",
+ "Pirmdiena",
+ "Otrdiena",
+ "Tre\u0161diena",
+ "Ceturdiena",
+ "Piektdiena",
+ "Sestdiena",
+ "Sv\u0113tdiena");
+
+// Please note that the following array of short day names (and the same goes
+// for short month names, _SMN) isn't absolutely necessary.  We give it here
+// for exemplification on how one can customize the short day names, but if
+// they are simply the first N letters of the full name you can simply say:
+//
+//   Calendar._SDN_len = N; // short day name length
+//   Calendar._SMN_len = N; // short month name length
+//
+// If N = 3 then this is not needed either since we assume a value of 3 if not
+// present, to be compatible with translation files that were written before
+// this feature.
+
+// short day names
+Calendar._SDN = new Array
+("Sv",
+ "Pr",
+ "Ot",
+ "Tr",
+ "Ce",
+ "Pk",
+ "Se",
+ "Sv");
+
+// full month names
+Calendar._MN = new Array
+("Janv\u0101ris",
+ "Febru\u0101ris",
+ "Marts",
+ "Apr\u012blis",
+ "Maijs",
+ "J\u016bnijs",
+ "J\u016blijs",
+ "Augusts",
+ "Septembris",
+ "Oktobris",
+ "Novembris",
+ "Decembris");
+
+// short month names
+Calendar._SMN = new Array
+("Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "Mai",
+ "J\u016bn",
+ "J\u016bl",
+ "Aug",
+ "Sep",
+ "Okt",
+ "Nov",
+ "Dec");
+
+// tooltips
+Calendar._TT = {};
+Calendar._TT["INFO"] = "Par kalend\u0101ru";
+
+Calendar._TT["ABOUT"] =
+"DHTML Date/Time Selector\n" +
+"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
+"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
+"Distributed under GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details." +
+"\n\n" +
+"Datuma izv\u0113le:\n" +
+"- Izmanto \xab, \xbb pogas, lai izv\u0113l\u0113tos gadu\n" +
+"- Izmanto " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + "pogas, lai izv\u0113l\u0113tos m\u0113nesi\n" +
+"- Turi nospiestu peles pogu uz jebkuru no augst\u0101k min\u0113taj\u0101m pog\u0101m, lai pa\u0101trin\u0101tu izv\u0113li.";
+Calendar._TT["ABOUT_TIME"] = "\n\n" +
+"Laika izv\u0113le:\n" +
+"- Uzklik\u0161\u0137ini uz jebkuru no laika da\u013c\u0101m, lai palielin\u0101tu to\n" +
+"- vai Shift-klik\u0161\u0137is, lai samazin\u0101tu to\n" +
+"- vai noklik\u0161\u0137ini un velc uz attiec\u012bgo virzienu lai main\u012btu \u0101tr\u0101k.";
+
+Calendar._TT["PREV_YEAR"] = "Iepr. gads (turi izv\u0113lnei)";
+Calendar._TT["PREV_MONTH"] = "Iepr. m\u0113nesis (turi izv\u0113lnei)";
+Calendar._TT["GO_TODAY"] = "\u0160odien";
+Calendar._TT["NEXT_MONTH"] = "N\u0101ko\u0161ais m\u0113nesis (turi izv\u0113lnei)";
+Calendar._TT["NEXT_YEAR"] = "N\u0101ko\u0161ais gads (turi izv\u0113lnei)";
+Calendar._TT["SEL_DATE"] = "Izv\u0113lies datumu";
+Calendar._TT["DRAG_TO_MOVE"] = "Velc, lai p\u0101rvietotu";
+Calendar._TT["PART_TODAY"] = " (\u0161odien)";
+
+// the following is to inform that "%s" is to be the first day of week
+// %s will be replaced with the day name.
+Calendar._TT["DAY_FIRST"] = "Att\u0113lot %s k\u0101 pirmo";
+
+// This may be locale-dependent.  It specifies the week-end days, as an array
+// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
+// means Monday, etc.
+Calendar._TT["WEEKEND"] = "1,7";
+
+Calendar._TT["CLOSE"] = "Aizv\u0113rt";
+Calendar._TT["TODAY"] = "\u0160odien";
+Calendar._TT["TIME_PART"] = "(Shift-)Klik\u0161\u0137is vai p\u0101rvieto, lai main\u012btu";
+
+// date formats
+Calendar._TT["DEF_DATE_FORMAT"] = "%d-%m-%Y";
+Calendar._TT["TT_DATE_FORMAT"] = "%a, %e %b";
+
+Calendar._TT["WK"] = "wk";
+Calendar._TT["TIME"] = "Laiks:";

Property changes on: tags/2.8.2/wb/include/jscalendar/lang/calendar-lv.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/lang/calendar-ca.js
===================================================================
--- tags/2.8.2/wb/include/jscalendar/lang/calendar-ca.js	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/lang/calendar-ca.js	(revision 1481)
@@ -0,0 +1,123 @@
+// ** I18N
+
+// Calendar CA language
+// Author: Mihai Bazon, <mihai_bazon@yahoo.com>
+// Encoding: any
+// Distributed under the same terms as the calendar itself.
+
+// For translators: please use UTF-8 if possible.  We strongly believe that
+// Unicode is the answer to a real internationalized world.  Also please
+// include your contact information in the header, as can be seen above.
+
+// full day names
+Calendar._DN = new Array
+("Diumenge",
+ "Dilluns",
+ "Dimarts",
+ "Dimecres",
+ "Dijous",
+ "Divendres",
+ "Dissabte",
+ "Diumenge");
+
+// Please note that the following array of short day names (and the same goes
+// for short month names, _SMN) isn't absolutely necessary.  We give it here
+// for exemplification on how one can customize the short day names, but if
+// they are simply the first N letters of the full name you can simply say:
+//
+//   Calendar._SDN_len = N; // short day name length
+//   Calendar._SMN_len = N; // short month name length
+//
+// If N = 3 then this is not needed either since we assume a value of 3 if not
+// present, to be compatible with translation files that were written before
+// this feature.
+
+// short day names
+Calendar._SDN = new Array
+("Diu",
+ "Dil",
+ "Dmt",
+ "Dmc",
+ "Dij",
+ "Div",
+ "Dis",
+ "Diu");
+
+// full month names
+Calendar._MN = new Array
+("Gener",
+ "Febrer",
+ "Mar\u00e7",
+ "Abril",
+ "Maig",
+ "Juny",
+ "Juliol",
+ "Agost",
+ "Setembre",
+ "Octubre",
+ "Novembre",
+ "Desembre");
+
+// short month names
+Calendar._SMN = new Array
+("Gen",
+ "Feb",
+ "Mar",
+ "Abr",
+ "Mai",
+ "Jun",
+ "Jul",
+ "Ago",
+ "Set",
+ "Oct",
+ "Nov",
+ "Des");
+
+// tooltips
+Calendar._TT = {};
+Calendar._TT["INFO"] = "Sobre el calendari";
+
+Calendar._TT["ABOUT"] =
+"DHTML Selector de Data/Hora\n" +
+"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
+"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
+"Distributed under GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details." +
+"\n\n" +
+"Sel.lecci\u00f3 de Dates:\n" +
+"- Fes servir els botons \xab, \xbb per sel.leccionar l'any\n" +
+"- Fes servir els botons " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " per se.lecciconar el mes\n" +
+"- Mant\u00e9 el ratol\u00ed apretat en qualsevol dels anteriors per sel.lecci\u00f3 r\u00e0pida.";
+Calendar._TT["ABOUT_TIME"] = "\n\n" +
+"Time selection:\n" +
+"- claca en qualsevol de les parts de la hora per augmentar-les\n" +
+"- o Shift-click per decrementar-la\n" +
+"- or click and arrastra per sel.lecci\u00f3 r\u00e0pida.";
+
+Calendar._TT["PREV_YEAR"] = "Any anterior (Mantenir per menu)";
+Calendar._TT["PREV_MONTH"] = "Mes anterior (Mantenir per menu)";
+Calendar._TT["GO_TODAY"] = "Anar a avui";
+Calendar._TT["NEXT_MONTH"] = "Mes seg\u00fcent (Mantenir per menu)";
+Calendar._TT["NEXT_YEAR"] = "Any seg\u00fcent (Mantenir per menu)";
+Calendar._TT["SEL_DATE"] = "Sel.leccionar data";
+Calendar._TT["DRAG_TO_MOVE"] = "Arrastrar per moure";
+Calendar._TT["PART_TODAY"] = " (avui)";
+
+// the following is to inform that "%s" is to be the first day of week
+// %s will be replaced with the day name.
+Calendar._TT["DAY_FIRST"] = "Mostra %s primer";
+
+// This may be locale-dependent.  It specifies the week-end days, as an array
+// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
+// means Monday, etc.
+Calendar._TT["WEEKEND"] = "0,6";
+
+Calendar._TT["CLOSE"] = "Tanca";
+Calendar._TT["TODAY"] = "Avui";
+Calendar._TT["TIME_PART"] = "(Shift-)Click a arrastra per canviar el valor";
+
+// date formats
+Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
+Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
+
+Calendar._TT["WK"] = "st";
+Calendar._TT["TIME"] = "Hora:";

Property changes on: tags/2.8.2/wb/include/jscalendar/lang/calendar-ca.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/lang/calendar-da.js
===================================================================
--- tags/2.8.2/wb/include/jscalendar/lang/calendar-da.js	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/lang/calendar-da.js	(revision 1481)
@@ -0,0 +1,123 @@
+// ** I18N
+
+// Calendar DA language
+// Author: Michael Thingmand Henriksen, <michael (a) thingmand dot dk>
+// Encoding: any
+// Distributed under the same terms as the calendar itself.
+
+// For translators: please use UTF-8 if possible. We strongly believe that
+// Unicode is the answer to a real internationalized world. Also please
+// include your contact information in the header, as can be seen above.
+
+// full day names
+Calendar._DN = new Array
+("S\u00f8ndag",
+"Mandag",
+"Tirsdag",
+"Onsdag",
+"Torsdag",
+"Fredag",
+"L\u00f8rdag",
+"S\u00f8ndag");
+
+// Please note that the following array of short day names (and the same goes
+// for short month names, _SMN) isn't absolutely necessary. We give it here
+// for exemplification on how one can customize the short day names, but if
+// they are simply the first N letters of the full name you can simply say:
+//
+// Calendar._SDN_len = N; // short day name length
+// Calendar._SMN_len = N; // short month name length
+//
+// If N = 3 then this is not needed either since we assume a value of 3 if not
+// present, to be compatible with translation files that were written before
+// this feature.
+
+// short day names
+Calendar._SDN = new Array
+("S\u00f8n",
+"Man",
+"Tir",
+"Ons",
+"Tor",
+"Fre",
+"L\u00f8r",
+"S\u00f8n");
+
+// full month names
+Calendar._MN = new Array
+("Januar",
+"Februar",
+"Marts",
+"April",
+"Maj",
+"Juni",
+"Juli",
+"August",
+"September",
+"Oktober",
+"November",
+"December");
+
+// short month names
+Calendar._SMN = new Array
+("Jan",
+"Feb",
+"Mar",
+"Apr",
+"Maj",
+"Jun",
+"Jul",
+"Aug",
+"Sep",
+"Okt",
+"Nov",
+"Dec");
+
+// tooltips
+Calendar._TT = {};
+Calendar._TT["INFO"] = "Om Kalenderen";
+
+Calendar._TT["ABOUT"] =
+"DHTML Date/Time Selector\n" +
+"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
+"For den seneste version bes\u00f8g: http://www.dynarch.com/projects/calendar/\n"; +
+"Distribueret under GNU LGPL. Se http://gnu.org/licenses/lgpl.html for detajler." +
+"\n\n" +
+"Valg af dato:\n" +
+"- Brug \xab, \xbb knapperne for at v\u00e6lge \u00e5r\n" +
+"- Brug " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " knapperne for at v\u00e6lge m\u00e5ned\n" +
+"- Hold knappen p\u00e5 musen nede p\u00e5 knapperne ovenfor for hurtigere valg.";
+Calendar._TT["ABOUT_TIME"] = "\n\n" +
+"Valg af tid:\n" +
+"- Klik p\u00e5 en vilk\u00e5rlig del for st\u00f8rre v\u00e6rdi\n" +
+"- eller Shift-klik for for mindre v\u00e6rdi\n" +
+"- eller klik og tr\u00e6k for hurtigere valg.";
+
+Calendar._TT["PREV_YEAR"] = "\u00c9t \u00e5r tilbage (hold for menu)";
+Calendar._TT["PREV_MONTH"] = "\u00c9n m\u00e5ned tilbage (hold for menu)";
+Calendar._TT["GO_TODAY"] = "G\u00e5 til i dag";
+Calendar._TT["NEXT_MONTH"] = "\u00c9n m\u00e5ned frem (hold for menu)";
+Calendar._TT["NEXT_YEAR"] = "\u00c9t \u00e5r frem (hold for menu)";
+Calendar._TT["SEL_DATE"] = "V\u00e6lg dag";
+Calendar._TT["DRAG_TO_MOVE"] = "Tr\u00e6k vinduet";
+Calendar._TT["PART_TODAY"] = " (i dag)";
+
+// the following is to inform that "%s" is to be the first day of week
+// %s will be replaced with the day name.
+Calendar._TT["DAY_FIRST"] = "Vis %s f\u00f8rst";
+
+// This may be locale-dependent. It specifies the week-end days, as an array
+// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1
+// means Monday, etc.
+Calendar._TT["WEEKEND"] = "0,6";
+
+Calendar._TT["CLOSE"] = "Luk";
+Calendar._TT["TODAY"] = "I dag";
+Calendar._TT["TIME_PART"] = "(Shift-)klik eller tr\u00e6k for at \u00e6ndre v\u00e6rdi";
+
+// date formats
+Calendar._TT["DEF_DATE_FORMAT"] = "%d-%m-%Y";
+Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
+
+Calendar._TT["WK"] = "Uge";
+Calendar._TT["TIME"] = "Tid:";

Property changes on: tags/2.8.2/wb/include/jscalendar/lang/calendar-da.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/lang/calendar-tr.js
===================================================================
--- tags/2.8.2/wb/include/jscalendar/lang/calendar-tr.js	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/lang/calendar-tr.js	(revision 1481)
@@ -0,0 +1,61 @@
+//////////////////////////////////////////////////////////////////////////////////////////////
+//	Turkish Translation by Nuri AKMAN
+//	Location: Ankara/TURKEY
+//	e-mail	: nuriakman@hotmail.com
+//	Date	: April, 9 2003
+//
+//	Note: if Turkish Characters does not shown on you screen
+//		  please include falowing line your html code:
+//
+//		  <meta http-equiv="Content-Type" content="text/html; charset=windows-1254">
+//
+//////////////////////////////////////////////////////////////////////////////////////////////
+
+// ** I18N
+Calendar._DN = new Array
+("Pazar",
+ "Pazartesi",
+ "Sal\u0131",
+ "\u00c7ar\u015famba",
+ "Per\u015fembe",
+ "Cuma",
+ "Cumartesi",
+ "Pazar");
+Calendar._MN = new Array
+("Ocak",
+ "\u015eubat",
+ "Mart",
+ "Nisan",
+ "May\u0131s",
+ "Haziran",
+ "Temmuz",
+ "A\u011fustos",
+ "Eyl\u00fcl",
+ "Ekim",
+ "Kas\u0131m",
+ "Aral\u0131k");
+
+// tooltips
+Calendar._TT = {};
+Calendar._TT["TOGGLE"] = "Haftan\u0131n ilk g\u00fcn\u00fcn\u00fc kayd\u0131r";
+Calendar._TT["PREV_YEAR"] = "\u00d6nceki Y\u0131l (Men\u00fc i\u00e7in bas\u0131l\u0131 tutunuz)";
+Calendar._TT["PREV_MONTH"] = "\u00d6nceki Ay (Men\u00fc i\u00e7in bas\u0131l\u0131 tutunuz)";
+Calendar._TT["GO_TODAY"] = "Bug\u00fcn'e git";
+Calendar._TT["NEXT_MONTH"] = "Sonraki Ay (Men\u00fc i\u00e7in bas\u0131l\u0131 tutunuz)";
+Calendar._TT["NEXT_YEAR"] = "Sonraki Y\u0131l (Men\u00fc i\u00e7in bas\u0131l\u0131 tutunuz)";
+Calendar._TT["SEL_DATE"] = "Tarih se\u00e7iniz";
+Calendar._TT["DRAG_TO_MOVE"] = "Ta\u015f\u0131mak i\u00e7in s\u00fcr\u00fckleyiniz";
+Calendar._TT["PART_TODAY"] = " (bug\u00fcn)";
+Calendar._TT["MON_FIRST"] = "Takvim Pazartesi g\u00fcn\u00fcnden ba\u015flas\u0131n";
+Calendar._TT["SUN_FIRST"] = "Takvim Pazar g\u00fcn\u00fcnden ba\u015flas\u0131n";
+Calendar._TT["CLOSE"] = "Kapat";
+Calendar._TT["TODAY"] = "Bug\u00fcn";
+Calendar._TT["DEF_DATE_FORMAT"] = "dd-mm-y";
+Calendar._TT["TT_DATE_FORMAT"] = "d MM y, DD";
+Calendar._TT["WK"] = "Hafta";
+
+Calendar._TT["DAY_FIRST"] = "Display %s first";
+Calendar._TT["WEEKEND"] = "0,6";
+Calendar._TT["TIME_PART"] = "(Shift-)Click or drag to change value";
+Calendar._TT["TIME"] = "Time:";
+

Property changes on: tags/2.8.2/wb/include/jscalendar/lang/calendar-tr.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/lang/calendar-ru.js
===================================================================
--- tags/2.8.2/wb/include/jscalendar/lang/calendar-ru.js	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/lang/calendar-ru.js	(revision 1481)
@@ -0,0 +1,123 @@
+// ** I18N
+
+// Calendar RU language
+// Translation: Sly Golovanov, http://golovanov.net, <sly@golovanov.net>
+// Encoding: any
+// Distributed under the same terms as the calendar itself.
+
+// For translators: please use UTF-8 if possible.  We strongly believe that
+// Unicode is the answer to a real internationalized world.  Also please
+// include your contact information in the header, as can be seen above.
+
+// full day names
+Calendar._DN = new Array
+("\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435",
+ "\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a",
+ "\u0432\u0442\u043e\u0440\u043d\u0438\u043a",
+ "\u0441\u0440\u0435\u0434\u0430",
+ "\u0447\u0435\u0442\u0432\u0435\u0440\u0433",
+ "\u043f\u044f\u0442\u043d\u0438\u0446\u0430",
+ "\u0441\u0443\u0431\u0431\u043e\u0442\u0430",
+ "\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435");
+
+// Please note that the following array of short day names (and the same goes
+// for short month names, _SMN) isn't absolutely necessary.  We give it here
+// for exemplification on how one can customize the short day names, but if
+// they are simply the first N letters of the full name you can simply say:
+//
+//   Calendar._SDN_len = N; // short day name length
+//   Calendar._SMN_len = N; // short month name length
+//
+// If N = 3 then this is not needed either since we assume a value of 3 if not
+// present, to be compatible with translation files that were written before
+// this feature.
+
+// short day names
+Calendar._SDN = new Array
+("\u0432\u0441\u043a",
+ "\u043f\u043e\u043d",
+ "\u0432\u0442\u0440",
+ "\u0441\u0440\u0434",
+ "\u0447\u0435\u0442",
+ "\u043f\u044f\u0442",
+ "\u0441\u0443\u0431",
+ "\u0432\u0441\u043a");
+
+// full month names
+Calendar._MN = new Array
+("\u044f\u043d\u0432\u0430\u0440\u044c",
+ "\u0444\u0435\u0432\u0440\u0430\u043b\u044c",
+ "\u043c\u0430\u0440\u0442",
+ "\u0430\u043f\u0440\u0435\u043b\u044c",
+ "\u043c\u0430\u0439",
+ "\u0438\u044e\u043d\u044c",
+ "\u0438\u044e\u043b\u044c",
+ "\u0430\u0432\u0433\u0443\u0441\u0442",
+ "\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c",
+ "\u043e\u043a\u0442\u044f\u0431\u0440\u044c",
+ "\u043d\u043e\u044f\u0431\u0440\u044c",
+ "\u0434\u0435\u043a\u0430\u0431\u0440\u044c");
+
+// short month names
+Calendar._SMN = new Array
+("\u044f\u043d\u0432",
+ "\u0444\u0435\u0432",
+ "\u043c\u0430\u0440",
+ "\u0430\u043f\u0440",
+ "\u043c\u0430\u0439",
+ "\u0438\u044e\u043d",
+ "\u0438\u044e\u043b",
+ "\u0430\u0432\u0433",
+ "\u0441\u0435\u043d",
+ "\u043e\u043a\u0442",
+ "\u043d\u043e\u044f",
+ "\u0434\u0435\u043a");
+
+// tooltips
+Calendar._TT = {};
+Calendar._TT["INFO"] = "\u041e \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u0435...";
+
+Calendar._TT["ABOUT"] =
+"DHTML Date/Time Selector\n" +
+"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
+"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
+"Distributed under GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details." +
+"\n\n" +
+"\u041a\u0430\u043a \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0434\u0430\u0442\u0443:\n" +
+"- \u041f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043a\u043d\u043e\u043f\u043e\u043a \xab, \xbb \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0433\u043e\u0434\n" +
+"- \u041f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043a\u043d\u043e\u043f\u043e\u043a " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043c\u0435\u0441\u044f\u0446\n" +
+"- \u041f\u043e\u0434\u0435\u0440\u0436\u0438\u0442\u0435 \u044d\u0442\u0438 \u043a\u043d\u043e\u043f\u043a\u0438 \u043d\u0430\u0436\u0430\u0442\u044b\u043c\u0438, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u043c\u0435\u043d\u044e \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u0432\u044b\u0431\u043e\u0440\u0430.";
+Calendar._TT["ABOUT_TIME"] = "\n\n" +
+"\u041a\u0430\u043a \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0432\u0440\u0435\u043c\u044f:\n" +
+"- \u041f\u0440\u0438 \u043a\u043b\u0438\u043a\u0435 \u043d\u0430 \u0447\u0430\u0441\u0430\u0445 \u0438\u043b\u0438 \u043c\u0438\u043d\u0443\u0442\u0430\u0445 \u043e\u043d\u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u044e\u0442\u0441\u044f\n" +
+"- \u043f\u0440\u0438 \u043a\u043b\u0438\u043a\u0435 \u0441 \u043d\u0430\u0436\u0430\u0442\u043e\u0439 \u043a\u043b\u0430\u0432\u0438\u0448\u0435\u0439 Shift \u043e\u043d\u0438 \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u044e\u0442\u0441\u044f\n" +
+"- \u0435\u0441\u043b\u0438 \u043d\u0430\u0436\u0430\u0442\u044c \u0438 \u0434\u0432\u0438\u0433\u0430\u0442\u044c \u043c\u044b\u0448\u043a\u043e\u0439 \u0432\u043b\u0435\u0432\u043e/\u0432\u043f\u0440\u0430\u0432\u043e, \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f \u0431\u044b\u0441\u0442\u0440\u0435\u0435.";
+
+Calendar._TT["PREV_YEAR"] = "\u041d\u0430 \u0433\u043e\u0434 \u043d\u0430\u0437\u0430\u0434 (\u0443\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u043c\u0435\u043d\u044e)";
+Calendar._TT["PREV_MONTH"] = "\u041d\u0430 \u043c\u0435\u0441\u044f\u0446 \u043d\u0430\u0437\u0430\u0434 (\u0443\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u043c\u0435\u043d\u044e)";
+Calendar._TT["GO_TODAY"] = "\u0421\u0435\u0433\u043e\u0434\u043d\u044f";
+Calendar._TT["NEXT_MONTH"] = "\u041d\u0430 \u043c\u0435\u0441\u044f\u0446 \u0432\u043f\u0435\u0440\u0435\u0434 (\u0443\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u043c\u0435\u043d\u044e)";
+Calendar._TT["NEXT_YEAR"] = "\u041d\u0430 \u0433\u043e\u0434 \u0432\u043f\u0435\u0440\u0435\u0434 (\u0443\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u043c\u0435\u043d\u044e)";
+Calendar._TT["SEL_DATE"] = "\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0434\u0430\u0442\u0443";
+Calendar._TT["DRAG_TO_MOVE"] = "\u041f\u0435\u0440\u0435\u0442\u0430\u0441\u043a\u0438\u0432\u0430\u0439\u0442\u0435 \u043c\u044b\u0448\u043a\u043e\u0439";
+Calendar._TT["PART_TODAY"] = " (\u0441\u0435\u0433\u043e\u0434\u043d\u044f)";
+
+// the following is to inform that "%s" is to be the first day of week
+// %s will be replaced with the day name.
+Calendar._TT["DAY_FIRST"] = "\u041f\u0435\u0440\u0432\u044b\u0439 \u0434\u0435\u043d\u044c \u043d\u0435\u0434\u0435\u043b\u0438 \u0431\u0443\u0434\u0435\u0442 %s";
+
+// This may be locale-dependent.  It specifies the week-end days, as an array
+// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
+// means Monday, etc.
+Calendar._TT["WEEKEND"] = "0,6";
+
+Calendar._TT["CLOSE"] = "\u0417\u0430\u043a\u0440\u044b\u0442\u044c";
+Calendar._TT["TODAY"] = "\u0421\u0435\u0433\u043e\u0434\u043d\u044f";
+Calendar._TT["TIME_PART"] = "(Shift-)\u043a\u043b\u0438\u043a \u0438\u043b\u0438 \u043d\u0430\u0436\u0430\u0442\u044c \u0438 \u0434\u0432\u0438\u0433\u0430\u0442\u044c";
+
+// date formats
+Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
+Calendar._TT["TT_DATE_FORMAT"] = "%e %b, %a";
+
+Calendar._TT["WK"] = "\u043d\u0435\u0434";
+Calendar._TT["TIME"] = "\u0412\u0440\u0435\u043c\u044f:";

Property changes on: tags/2.8.2/wb/include/jscalendar/lang/calendar-ru.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/lang/calendar-af.js
===================================================================
--- tags/2.8.2/wb/include/jscalendar/lang/calendar-af.js	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/lang/calendar-af.js	(revision 1481)
@@ -0,0 +1,48 @@
+// ** I18N Afrikaans
+Calendar._DN = new Array
+("Sondag",
+ "Maandag",
+ "Dinsdag",
+ "Woensdag",
+ "Donderdag",
+ "Vrydag",
+ "Saterdag",
+ "Sondag");
+Calendar._MN = new Array
+("Januarie",
+ "Februarie",
+ "Maart",
+ "April",
+ "Mei",
+ "Junie",
+ "Julie",
+ "Augustus",
+ "September",
+ "Oktober",
+ "November",
+ "Desember");
+
+// tooltips
+Calendar._TT = {};
+Calendar._TT["TOGGLE"] = "Verander eerste dag van die week";
+Calendar._TT["PREV_YEAR"] = "Vorige jaar (hou vir keuselys)";
+Calendar._TT["PREV_MONTH"] = "Vorige maand (hou vir keuselys)";
+Calendar._TT["GO_TODAY"] = "Gaan na vandag";
+Calendar._TT["NEXT_MONTH"] = "Volgende maand (hou vir keuselys)";
+Calendar._TT["NEXT_YEAR"] = "Volgende jaar (hou vir keuselys)";
+Calendar._TT["SEL_DATE"] = "Kies datum";
+Calendar._TT["DRAG_TO_MOVE"] = "Sleep om te skuif";
+Calendar._TT["PART_TODAY"] = " (vandag)";
+Calendar._TT["MON_FIRST"] = "Vertoon Maandag eerste";
+Calendar._TT["SUN_FIRST"] = "Display Sunday first";
+Calendar._TT["CLOSE"] = "Close";
+Calendar._TT["TODAY"] = "Today";
+
+
+Calendar._TT["DAY_FIRST"] = "Display %s first";
+Calendar._TT["WEEKEND"] = "0,6";
+Calendar._TT["TIME_PART"] = "(Shift-)Click or drag to change value";
+Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
+Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
+Calendar._TT["WK"] = "wk";
+Calendar._TT["TIME"] = "Time:";

Property changes on: tags/2.8.2/wb/include/jscalendar/lang/calendar-af.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/lang/calendar-bg.js
===================================================================
--- tags/2.8.2/wb/include/jscalendar/lang/calendar-bg.js	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/lang/calendar-bg.js	(revision 1481)
@@ -0,0 +1,125 @@
+// ** I18N
+
+// Calendar BG language
+// Author: Mihai Bazon, <mihai_bazon@yahoo.com>
+// Translator: Valentin Sheiretsky, <valio@valio.eu.org>
+// Encoding: Windows-1251
+// Distributed under the same terms as the calendar itself.
+
+// For translators: please use UTF-8 if possible.  We strongly believe that
+// Unicode is the answer to a real internationalized world.  Also please
+// include your contact information in the header, as can be seen above.
+
+// full day names
+Calendar._DN = new Array
+("\u041d\u0435\u0434\u0435\u043b\u044f",
+ "\u041f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a",
+ "\u0412\u0442\u043e\u0440\u043d\u0438\u043a",
+ "\u0421\u0440\u044f\u0434\u0430",
+ "\u0427\u0435\u0442\u0432\u044a\u0440\u0442\u044a\u043a",
+ "\u041f\u0435\u0442\u044a\u043a",
+ "\u0421\u044a\u0431\u043e\u0442\u0430",
+ "\u041d\u0435\u0434\u0435\u043b\u044f");
+
+// Please note that the following array of short day names (and the same goes
+// for short month names, _SMN) isn't absolutely necessary.  We give it here
+// for exemplification on how one can customize the short day names, but if
+// they are simply the first N letters of the full name you can simply say:
+//
+//   Calendar._SDN_len = N; // short day name length
+//   Calendar._SMN_len = N; // short month name length
+//
+// If N = 3 then this is not needed either since we assume a value of 3 if not
+// present, to be compatible with translation files that were written before
+// this feature.
+
+// short day names
+Calendar._SDN = new Array
+("\u041d\u0435\u0434",
+ "\u041f\u043e\u043d",
+ "\u0412\u0442\u043e",
+ "\u0421\u0440\u044f",
+ "\u0427\u0435\u0442",
+ "\u041f\u0435\u0442",
+ "\u0421\u044a\u0431",
+ "\u041d\u0435\u0434");
+
+// full month names
+Calendar._MN = new Array
+("\u042f\u043d\u0443\u0430\u0440\u0438",
+ "\u0424\u0435\u0432\u0440\u0443\u0430\u0440\u0438",
+ "\u041c\u0430\u0440\u0442",
+ "\u0410\u043f\u0440\u0438\u043b",
+ "\u041c\u0430\u0439",
+ "\u042e\u043d\u0438",
+ "\u042e\u043b\u0438",
+ "\u0410\u0432\u0433\u0443\u0441\u0442",
+ "\u0421\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438",
+ "\u041e\u043a\u0442\u043e\u043c\u0432\u0440\u0438",
+ "\u041d\u043e\u0435\u043c\u0432\u0440\u0438",
+ "\u0414\u0435\u043a\u0435\u043c\u0432\u0440\u0438");
+
+// short month names
+Calendar._SMN = new Array
+("\u042f\u043d\u0443",
+ "\u0424\u0435\u0432",
+ "\u041c\u0430\u0440",
+ "\u0410\u043f\u0440",
+ "\u041c\u0430\u0439",
+ "\u042e\u043d\u0438",
+ "\u042e\u043b\u0438",
+ "\u0410\u0432\u0433",
+ "\u0421\u0435\u043f",
+ "\u041e\u043a\u0442",
+ "\u041d\u043e\u0435",
+ "\u0414\u0435\u043a");
+
+// tooltips
+Calendar._TT = {};
+Calendar._TT["INFO"] = "\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0437\u0430 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u0430";
+
+Calendar._TT["ABOUT"] =
+"DHTML Date/Time Selector\n" +
+"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
+"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
+"Distributed under GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details." +
+"\n\n" +
+"Date selection:\n" +
+"- Use the \xab, \xbb buttons to select year\n" +
+"- Use the " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " buttons to select month\n" +
+"- Hold mouse button on any of the above buttons for faster selection.";
+Calendar._TT["ABOUT_TIME"] = "\n\n" +
+"Time selection:\n" +
+"- Click on any of the time parts to increase it\n" +
+"- or Shift-click to decrease it\n" +
+"- or click and drag for faster selection.";
+
+Calendar._TT["PREV_YEAR"] = "\u041f\u0440\u0435\u0434\u043d\u0430 \u0433\u043e\u0434\u0438\u043d\u0430 (\u0437\u0430\u0434\u0440\u044a\u0436\u0442\u0435 \u0437\u0430 \u043c\u0435\u043d\u044e)";
+Calendar._TT["PREV_MONTH"] = "\u041f\u0440\u0435\u0434\u0435\u043d \u043c\u0435\u0441\u0435\u0446 (\u0437\u0430\u0434\u0440\u044a\u0436\u0442\u0435 \u0437\u0430 \u043c\u0435\u043d\u044e)";
+Calendar._TT["GO_TODAY"] = "\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u0434\u043d\u0435\u0441";
+Calendar._TT["NEXT_MONTH"] = "\u0421\u043b\u0435\u0434\u0432\u0430\u0449 \u043c\u0435\u0441\u0435\u0446 (\u0437\u0430\u0434\u0440\u044a\u0436\u0442\u0435 \u0437\u0430 \u043c\u0435\u043d\u044e)";
+Calendar._TT["NEXT_YEAR"] = "\u0421\u043b\u0435\u0434\u0432\u0430\u0449\u0430 \u0433\u043e\u0434\u0438\u043d\u0430 (\u0437\u0430\u0434\u0440\u044a\u0436\u0442\u0435 \u0437\u0430 \u043c\u0435\u043d\u044e)";
+Calendar._TT["SEL_DATE"] = "\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u0434\u0430\u0442\u0430";
+Calendar._TT["DRAG_TO_MOVE"] = "\u041f\u0440\u0435\u043c\u0435\u0441\u0442\u0432\u0430\u043d\u0435";
+Calendar._TT["PART_TODAY"] = " (\u0434\u043d\u0435\u0441)";
+
+// the following is to inform that "%s" is to be the first day of week
+// %s will be replaced with the day name.
+Calendar._TT["DAY_FIRST"] = "%s \u043a\u0430\u0442\u043e \u043f\u044a\u0440\u0432\u0438 \u0434\u0435\u043d";
+
+// This may be locale-dependent.  It specifies the week-end days, as an array
+// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
+// means Monday, etc.
+Calendar._TT["WEEKEND"] = "0,6";
+
+Calendar._TT["CLOSE"] = "\u0417\u0430\u0442\u0432\u043e\u0440\u0435\u0442\u0435";
+Calendar._TT["TODAY"] = "\u0414\u043d\u0435\u0441";
+Calendar._TT["TIME_PART"] = "(Shift-)Click \u0438\u043b\u0438 drag \u0437\u0430 \u0434\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u0438\u0442\u0435 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0442\u0430";
+
+// date formats
+Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
+Calendar._TT["TT_DATE_FORMAT"] = "%A - %e %B %Y";
+
+Calendar._TT["WK"] = "\u0421\u0435\u0434\u043c";
+Calendar._TT["TIME"] = "\u0427\u0430\u0441:";
+

Property changes on: tags/2.8.2/wb/include/jscalendar/lang/calendar-bg.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/lang/calendar-sv.js
===================================================================
--- tags/2.8.2/wb/include/jscalendar/lang/calendar-sv.js	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/lang/calendar-sv.js	(revision 1481)
@@ -0,0 +1,97 @@
+// ** I18N
+
+// Calendar SV language (Swedish, svenska)
+// Author: Mihai Bazon, <mihai_bazon@yahoo.com>
+// Translation team: <sv@li.org>
+// Translator: Leonard Norrg\u00e5rd <leonard.norrgard@refactor.fi>
+// Last translator: Leonard Norrg\u00e5rd <leonard.norrgard@refactor.fi>
+// Encoding: iso-latin-1
+// Distributed under the same terms as the calendar itself.
+
+// For translators: please use UTF-8 if possible.  We strongly believe that
+// Unicode is the answer to a real internationalized world.  Also please
+// include your contact information in the header, as can be seen above.
+
+// full day names
+Calendar._DN = new Array
+("s\u00f6ndag",
+ "m\u00e5ndag",
+ "tisdag",
+ "onsdag",
+ "torsdag",
+ "fredag",
+ "l\u00f6rdag",
+ "s\u00f6ndag");
+
+// Please note that the following array of short day names (and the same goes
+// for short month names, _SMN) isn't absolutely necessary.  We give it here
+// for exemplification on how one can customize the short day names, but if
+// they are simply the first N letters of the full name you can simply say:
+//
+//   Calendar._SDN_len = N; // short day name length
+//   Calendar._SMN_len = N; // short month name length
+//
+// If N = 3 then this is not needed either since we assume a value of 3 if not
+// present, to be compatible with translation files that were written before
+// this feature.
+Calendar._SDN_len = 2;
+Calendar._SMN_len = 3;
+
+// full month names
+Calendar._MN = new Array
+("januari",
+ "februari",
+ "mars",
+ "april",
+ "maj",
+ "juni",
+ "juli",
+ "augusti",
+ "september",
+ "oktober",
+ "november",
+ "december");
+
+// tooltips
+Calendar._TT = {};
+Calendar._TT["INFO"] = "Om kalendern";
+
+Calendar._TT["ABOUT"] =
+"DHTML Datum/tid-v\u00e4ljare\n" +
+"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
+"F\u00f6r senaste version g\u00e5 till: http://www.dynarch.com/projects/calendar/\n" +
+"Distribueras under GNU LGPL.  Se http://gnu.org/licenses/lgpl.html f\u00f6r detaljer." +
+"\n\n" +
+"Val av datum:\n" +
+"- Anv\u00e4nd knapparna \xab, \xbb f\u00f6r att v\u00e4lja \u00e5r\n" +
+"- Anv\u00e4nd knapparna " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " f\u00f6r att v\u00e4lja m\u00e5nad\n" +
+"- H\u00e5ll musknappen nedtryckt p\u00e5 n\u00e5gon av ovanst\u00e5ende knappar f\u00f6r snabbare val.";
+Calendar._TT["ABOUT_TIME"] = "\n\n" +
+"Val av tid:\n" +
+"- Klicka p\u00e5 en del av tiden f\u00f6r att \u00f6ka den delen\n" +
+"- eller skift-klicka f\u00f6r att minska den\n" +
+"- eller klicka och drag f\u00f6r snabbare val.";
+
+Calendar._TT["PREV_YEAR"] = "F\u00f6reg\u00e5ende \u00e5r (h\u00e5ll f\u00f6r menu)";
+Calendar._TT["PREV_MONTH"] = "F\u00f6reg\u00e5ende m\u00e5nad (h\u00e5ll f\u00f6r menu)";
+Calendar._TT["GO_TODAY"] = "G\u00e5 till dagens datum";
+Calendar._TT["NEXT_MONTH"] = "F\u00f6ljande m\u00e5nad (h\u00e5ll f\u00f6r menu)";
+Calendar._TT["NEXT_YEAR"] = "F\u00f6ljande \u00e5r (h\u00e5ll f\u00f6r menu)";
+Calendar._TT["SEL_DATE"] = "V\u00e4lj datum";
+Calendar._TT["DRAG_TO_MOVE"] = "Drag f\u00f6r att flytta";
+Calendar._TT["PART_TODAY"] = " (idag)";
+Calendar._TT["MON_FIRST"] = "Visa m\u00e5ndag f\u00f6rst";
+Calendar._TT["SUN_FIRST"] = "Visa s\u00f6ndag f\u00f6rst";
+Calendar._TT["CLOSE"] = "St\u00e4ng";
+Calendar._TT["TODAY"] = "Idag";
+Calendar._TT["TIME_PART"] = "(Skift-)klicka eller drag f\u00f6r att \u00e4ndra tid";
+
+Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
+Calendar._TT["TT_DATE_FORMAT"] = "%A %d %b %Y";
+
+Calendar._TT["WK"] = "vecka";
+
+Calendar._TT["DAY_FIRST"] = "Display %s first";
+Calendar._TT["WEEKEND"] = "0,6";
+Calendar._TT["TIME"] = "Time:";
+

Property changes on: tags/2.8.2/wb/include/jscalendar/lang/calendar-sv.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/lang/calendar-he.js
===================================================================
--- tags/2.8.2/wb/include/jscalendar/lang/calendar-he.js	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/lang/calendar-he.js	(revision 1481)
@@ -0,0 +1,123 @@
+// ** I18N
+
+// Calendar EN language
+// Author: Idan Sofer, <idan@idanso.dyndns.org>
+// Encoding: UTF-8
+// Distributed under the same terms as the calendar itself.
+
+// For translators: please use UTF-8 if possible.  We strongly believe that
+// Unicode is the answer to a real internationalized world.  Also please
+// include your contact information in the header, as can be seen above.
+
+// full day names
+Calendar._DN = new Array
+("\u05e8\u05d0\u05e9\u05d5\u05df",
+ "\u05e9\u05e0\u05d9",
+ "\u05e9\u05dc\u05d9\u05e9\u05d9",
+ "\u05e8\u05d1\u05d9\u05e2\u05d9",
+ "\u05d7\u05de\u05d9\u05e9\u05d9",
+ "\u05e9\u05d9\u05e9\u05d9",
+ "\u05e9\u05d1\u05ea",
+ "\u05e8\u05d0\u05e9\u05d5\u05df");
+
+// Please note that the following array of short day names (and the same goes
+// for short month names, _SMN) isn't absolutely necessary.  We give it here
+// for exemplification on how one can customize the short day names, but if
+// they are simply the first N letters of the full name you can simply say:
+//
+//   Calendar._SDN_len = N; // short day name length
+//   Calendar._SMN_len = N; // short month name length
+//
+// If N = 3 then this is not needed either since we assume a value of 3 if not
+// present, to be compatible with translation files that were written before
+// this feature.
+
+// short day names
+Calendar._SDN = new Array
+("\u05d0",
+ "\u05d1",
+ "\u05d2",
+ "\u05d3",
+ "\u05d4",
+ "\u05d5",
+ "\u05e9",
+ "\u05d0");
+
+// full month names
+Calendar._MN = new Array
+("\u05d9\u05e0\u05d5\u05d0\u05e8",
+ "\u05e4\u05d1\u05e8\u05d5\u05d0\u05e8",
+ "\u05de\u05e8\u05e5",
+ "\u05d0\u05e4\u05e8\u05d9\u05dc",
+ "\u05de\u05d0\u05d9",
+ "\u05d9\u05d5\u05e0\u05d9",
+ "\u05d9\u05d5\u05dc\u05d9",
+ "\u05d0\u05d5\u05d2\u05d5\u05e1\u05d8",
+ "\u05e1\u05e4\u05d8\u05de\u05d1\u05e8",
+ "\u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8",
+ "\u05e0\u05d5\u05d1\u05de\u05d1\u05e8",
+ "\u05d3\u05e6\u05de\u05d1\u05e8");
+
+// short month names
+Calendar._SMN = new Array
+("\u05d9\u05e0\u05d0",
+ "\u05e4\u05d1\u05e8",
+ "\u05de\u05e8\u05e5",
+ "\u05d0\u05e4\u05e8",
+ "\u05de\u05d0\u05d9",
+ "\u05d9\u05d5\u05e0",
+ "\u05d9\u05d5\u05dc",
+ "\u05d0\u05d5\u05d2",
+ "\u05e1\u05e4\u05d8",
+ "\u05d0\u05d5\u05e7",
+ "\u05e0\u05d5\u05d1",
+ "\u05d3\u05e6\u05de");
+
+// tooltips
+Calendar._TT = {};
+Calendar._TT["INFO"] = "\u05d0\u05d5\u05d3\u05d5\u05ea \u05d4\u05e9\u05e0\u05ea\u05d5\u05df";
+
+Calendar._TT["ABOUT"] =
+"\u05d1\u05d7\u05e8\u05df \u05ea\u05d0\u05e8\u05d9\u05da/\u05e9\u05e2\u05d4 DHTML\n" +
+"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
+"\u05d4\u05d2\u05d9\u05e8\u05e1\u05d0 \u05d4\u05d0\u05d7\u05e8\u05d5\u05e0\u05d4 \u05d6\u05de\u05d9\u05e0\u05d4 \u05d1: http://www.dynarch.com/projects/calendar/\n" +
+"\u05de\u05d5\u05e4\u05e5 \u05ea\u05d7\u05ea \u05d6\u05d9\u05db\u05d9\u05d5\u05df \u05d4 GNU LGPL.  \u05e2\u05d9\u05d9\u05df \u05d1 http://gnu.org/licenses/lgpl.html \u05dc\u05e4\u05e8\u05d8\u05d9\u05dd \u05e0\u05d5\u05e1\u05e4\u05d9\u05dd." +
+"\n\n" +
+\u05d1\u05d7\u05d9\u05e8\u05ea \u05ea\u05d0\u05e8\u05d9\u05da:\n" +
+"- \u05d4\u05e9\u05ea\u05de\u05e9 \u05d1\u05db\u05e4\u05ea\u05d5\u05e8\u05d9\u05dd \xab, \xbb \u05dc\u05d1\u05d7\u05d9\u05e8\u05ea \u05e9\u05e0\u05d4\n" +
+"- \u05d4\u05e9\u05ea\u05de\u05e9 \u05d1\u05db\u05e4\u05ea\u05d5\u05e8\u05d9\u05dd " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " \u05dc\u05d1\u05d7\u05d9\u05e8\u05ea \u05d7\u05d5\u05d3\u05e9\n" +
+"- \u05d4\u05d7\u05d6\u05e7 \u05d4\u05e2\u05db\u05d1\u05e8 \u05dc\u05d7\u05d5\u05e5 \u05de\u05e2\u05dc \u05d4\u05db\u05e4\u05ea\u05d5\u05e8\u05d9\u05dd \u05d4\u05de\u05d5\u05d6\u05db\u05e8\u05d9\u05dd \u05dc\u05e2\u05d9\u05dc \u05dc\u05d1\u05d7\u05d9\u05e8\u05d4 \u05de\u05d4\u05d9\u05e8\u05d4 \u05d9\u05d5\u05ea\u05e8.";
+Calendar._TT["ABOUT_TIME"] = "\n\n" +
+"\u05d1\u05d7\u05d9\u05e8\u05ea \u05d6\u05de\u05df:\n" +
+"- \u05dc\u05d7\u05e5 \u05e2\u05dc \u05db\u05dc \u05d0\u05d7\u05d3 \u05de\u05d7\u05dc\u05e7\u05d9 \u05d4\u05d6\u05de\u05df \u05db\u05d3\u05d9 \u05dc\u05d4\u05d5\u05e1\u05d9\u05e3\n" +
+"- \u05d0\u05d5 shift \u05d1\u05e9\u05d9\u05dc\u05d5\u05d1 \u05e2\u05dd \u05dc\u05d7\u05d9\u05e6\u05d4 \u05db\u05d3\u05d9 \u05dc\u05d4\u05d7\u05e1\u05d9\u05e8\n" +
+"- \u05d0\u05d5 \u05dc\u05d7\u05e5 \u05d5\u05d2\u05e8\u05d5\u05e8 \u05dc\u05e4\u05e2\u05d5\u05dc\u05d4 \u05de\u05d4\u05d9\u05e8\u05d4 \u05d9\u05d5\u05ea\u05e8.";
+
+Calendar._TT["PREV_YEAR"] = "\u05e9\u05e0\u05d4 \u05e7\u05d5\u05d3\u05de\u05ea - \u05d4\u05d7\u05d6\u05e7 \u05dc\u05e7\u05d1\u05dc\u05ea \u05ea\u05e4\u05e8\u05d9\u05d8";
+Calendar._TT["PREV_MONTH"] = "\u05d7\u05d5\u05d3\u05e9 \u05e7\u05d5\u05d3\u05dd - \u05d4\u05d7\u05d6\u05e7 \u05dc\u05e7\u05d1\u05dc\u05ea \u05ea\u05e4\u05e8\u05d9\u05d8";
+Calendar._TT["GO_TODAY"] = "\u05e2\u05d1\u05d5\u05e8 \u05dc\u05d4\u05d9\u05d5\u05dd";
+Calendar._TT["NEXT_MONTH"] = "\u05d7\u05d5\u05d3\u05e9 \u05d4\u05d1\u05d0 - \u05d4\u05d7\u05d6\u05e7 \u05dc\u05ea\u05e4\u05e8\u05d9\u05d8";
+Calendar._TT["NEXT_YEAR"] = "\u05e9\u05e0\u05d4 \u05d4\u05d1\u05d0\u05d4 - \u05d4\u05d7\u05d6\u05e7 \u05dc\u05ea\u05e4\u05e8\u05d9\u05d8";
+Calendar._TT["SEL_DATE"] = "\u05d1\u05d7\u05e8 \u05ea\u05d0\u05e8\u05d9\u05da";
+Calendar._TT["DRAG_TO_MOVE"] = "\u05d2\u05e8\u05d5\u05e8 \u05dc\u05d4\u05d6\u05d6\u05d4";
+Calendar._TT["PART_TODAY"] = " )\u05d4\u05d9\u05d5\u05dd(";
+
+// the following is to inform that "%s" is to be the first day of week
+// %s will be replaced with the day name.
+Calendar._TT["DAY_FIRST"] = "\u05d4\u05e6\u05d2 %s \u05e7\u05d5\u05d3\u05dd";
+
+// This may be locale-dependent.  It specifies the week-end days, as an array
+// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
+// means Monday, etc.
+Calendar._TT["WEEKEND"] = "6";
+
+Calendar._TT["CLOSE"] = "\u05e1\u05d2\u05d5\u05e8";
+Calendar._TT["TODAY"] = "\u05d4\u05d9\u05d5\u05dd";
+Calendar._TT["TIME_PART"] = "(\u05e9\u05d9\u05e4\u05d8-)\u05dc\u05d7\u05e5 \u05d5\u05d2\u05e8\u05d5\u05e8 \u05db\u05d3\u05d9 \u05dc\u05e9\u05e0\u05d5\u05ea \u05e2\u05e8\u05da";
+
+// date formats
+Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
+Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
+
+Calendar._TT["WK"] = "wk";
+Calendar._TT["TIME"] = "\u05e9\u05e2\u05d4::";

Property changes on: tags/2.8.2/wb/include/jscalendar/lang/calendar-he.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/lang/calendar-al.js
===================================================================
--- tags/2.8.2/wb/include/jscalendar/lang/calendar-al.js	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/lang/calendar-al.js	(revision 1481)
@@ -0,0 +1,101 @@
+// Calendar ALBANIAN language
+//author Rigels Gordani rige@hotmail.com
+
+// ditet
+Calendar._DN = new Array
+("E Diele",
+"E Hene",
+"E Marte",
+"E Merkure",
+"E Enjte",
+"E Premte",
+"E Shtune",
+"E Diele");
+
+//ditet shkurt
+Calendar._SDN = new Array
+("Die",
+"Hen",
+"Mar",
+"Mer",
+"Enj",
+"Pre",
+"Sht",
+"Die");
+
+// muajt
+Calendar._MN = new Array
+("Janar",
+"Shkurt",
+"Mars",
+"Prill",
+"Maj",
+"Qeshor",
+"Korrik",
+"Gusht",
+"Shtator",
+"Tetor",
+"Nentor",
+"Dhjetor");
+
+// muajte shkurt
+Calendar._SMN = new Array
+("Jan",
+"Shk",
+"Mar",
+"Pri",
+"Maj",
+"Qes",
+"Kor",
+"Gus",
+"Sht",
+"Tet",
+"Nen",
+"Dhj");
+
+// ndihmesa
+Calendar._TT = {};
+Calendar._TT["INFO"] = "Per kalendarin";
+
+Calendar._TT["ABOUT"] =
+"Zgjedhes i ores/dates ne DHTML \n" +
+"\n\n" +"Zgjedhja e Dates:\n" +
+"- Perdor butonat \xab, \xbb per te zgjedhur vitin\n" +
+"- Perdor  butonat" + String.fromCharCode(0x2039) + ", " + 
+String.fromCharCode(0x203a) +
+" per te  zgjedhur muajin\n" +
+"- Mbani shtypur butonin e mousit per nje zgjedje me te shpejte.";
+Calendar._TT["ABOUT_TIME"] = "\n\n" +
+"Zgjedhja e kohes:\n" +
+"- Kliko tek ndonje nga pjeset e ores per ta rritur ate\n" +
+"- ose kliko me Shift per ta zvogeluar ate\n" +
+"- ose cliko dhe terhiq per zgjedhje me te shpejte.";
+
+Calendar._TT["PREV_YEAR"] = "Viti i shkuar (prit per menune)";
+Calendar._TT["PREV_MONTH"] = "Muaji i shkuar (prit per menune)";
+Calendar._TT["GO_TODAY"] = "Sot";
+Calendar._TT["NEXT_MONTH"] = "Muaji i ardhshem (prit per menune)";
+Calendar._TT["NEXT_YEAR"] = "Viti i ardhshem (prit per menune)";
+Calendar._TT["SEL_DATE"] = "Zgjidh daten";
+Calendar._TT["DRAG_TO_MOVE"] = "Terhiqe per te levizur";
+Calendar._TT["PART_TODAY"] = " (sot)";
+
+// "%s" eshte dita e pare e javes
+// %s do te zevendesohet me emrin e dite
+Calendar._TT["DAY_FIRST"] = "Trego te %s te paren";
+
+
+Calendar._TT["WEEKEND"] = "0,6";
+
+Calendar._TT["CLOSE"] = "Mbyll";
+Calendar._TT["TODAY"] = "Sot";
+Calendar._TT["TIME_PART"] = "Kliko me (Shift-)ose terhiqe per te ndryshuar 
+vleren";
+
+// date formats
+Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
+Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
+
+Calendar._TT["WK"] = "Java";
+Calendar._TT["TIME"] = "Koha:";
+

Property changes on: tags/2.8.2/wb/include/jscalendar/lang/calendar-al.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/lang/calendar-en.js
===================================================================
--- tags/2.8.2/wb/include/jscalendar/lang/calendar-en.js	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/lang/calendar-en.js	(revision 1481)
@@ -0,0 +1,127 @@
+// ** I18N
+
+// Calendar EN language
+// Author: Mihai Bazon, <mihai_bazon@yahoo.com>
+// Encoding: any
+// Distributed under the same terms as the calendar itself.
+
+// For translators: please use UTF-8 if possible.  We strongly believe that
+// Unicode is the answer to a real internationalized world.  Also please
+// include your contact information in the header, as can be seen above.
+
+// full day names
+Calendar._DN = new Array
+("Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday",
+ "Sunday");
+
+// Please note that the following array of short day names (and the same goes
+// for short month names, _SMN) isn't absolutely necessary.  We give it here
+// for exemplification on how one can customize the short day names, but if
+// they are simply the first N letters of the full name you can simply say:
+//
+//   Calendar._SDN_len = N; // short day name length
+//   Calendar._SMN_len = N; // short month name length
+//
+// If N = 3 then this is not needed either since we assume a value of 3 if not
+// present, to be compatible with translation files that were written before
+// this feature.
+
+// short day names
+Calendar._SDN = new Array
+("Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat",
+ "Sun");
+
+// First day of the week. "0" means display Sunday first, "1" means display
+// Monday first, etc.
+Calendar._FD = 0;
+
+// full month names
+Calendar._MN = new Array
+("January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December");
+
+// short month names
+Calendar._SMN = new Array
+("Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec");
+
+// tooltips
+Calendar._TT = {};
+Calendar._TT["INFO"] = "About the calendar";
+
+Calendar._TT["ABOUT"] =
+"DHTML Date/Time Selector\n" +
+"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
+"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
+"Distributed under GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details." +
+"\n\n" +
+"Date selection:\n" +
+"- Use the \xab, \xbb buttons to select year\n" +
+"- Use the " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " buttons to select month\n" +
+"- Hold mouse button on any of the above buttons for faster selection.";
+Calendar._TT["ABOUT_TIME"] = "\n\n" +
+"Time selection:\n" +
+"- Click on any of the time parts to increase it\n" +
+"- or Shift-click to decrease it\n" +
+"- or click and drag for faster selection.";
+
+Calendar._TT["PREV_YEAR"] = "Prev. year (hold for menu)";
+Calendar._TT["PREV_MONTH"] = "Prev. month (hold for menu)";
+Calendar._TT["GO_TODAY"] = "Go Today";
+Calendar._TT["NEXT_MONTH"] = "Next month (hold for menu)";
+Calendar._TT["NEXT_YEAR"] = "Next year (hold for menu)";
+Calendar._TT["SEL_DATE"] = "Select date";
+Calendar._TT["DRAG_TO_MOVE"] = "Drag to move";
+Calendar._TT["PART_TODAY"] = " (today)";
+
+// the following is to inform that "%s" is to be the first day of week
+// %s will be replaced with the day name.
+Calendar._TT["DAY_FIRST"] = "Display %s first";
+
+// This may be locale-dependent.  It specifies the week-end days, as an array
+// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
+// means Monday, etc.
+Calendar._TT["WEEKEND"] = "0,6";
+
+Calendar._TT["CLOSE"] = "Close";
+Calendar._TT["TODAY"] = "Today";
+Calendar._TT["TIME_PART"] = "(Shift-)Click or drag to change value";
+
+// date formats
+Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
+Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
+
+Calendar._TT["WK"] = "wk";
+Calendar._TT["TIME"] = "Time:";

Property changes on: tags/2.8.2/wb/include/jscalendar/lang/calendar-en.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/lang/calendar-nl.js
===================================================================
--- tags/2.8.2/wb/include/jscalendar/lang/calendar-nl.js	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/lang/calendar-nl.js	(revision 1481)
@@ -0,0 +1,73 @@
+// ** I18N
+Calendar._DN = new Array
+("Zondag",
+ "Maandag",
+ "Dinsdag",
+ "Woensdag",
+ "Donderdag",
+ "Vrijdag",
+ "Zaterdag",
+ "Zondag");
+
+Calendar._SDN_len = 2;
+
+Calendar._MN = new Array
+("Januari",
+ "Februari",
+ "Maart",
+ "April",
+ "Mei",
+ "Juni",
+ "Juli",
+ "Augustus",
+ "September",
+ "Oktober",
+ "November",
+ "December");
+
+// tooltips
+Calendar._TT = {};
+Calendar._TT["INFO"] = "Info";
+
+Calendar._TT["ABOUT"] =
+"DHTML Datum/Tijd Selector\n" +
+"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" +
+"Ga voor de meest recente versie naar: http://www.dynarch.com/projects/calendar/\n" +
+"Verspreid onder de GNU LGPL. Zie http://gnu.org/licenses/lgpl.html voor details." +
+"\n\n" +
+"Datum selectie:\n" +
+"- Gebruik de \xab \xbb knoppen om een jaar te selecteren\n" +
+"- Gebruik de " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " knoppen om een maand te selecteren\n" +
+"- Houd de muis ingedrukt op de genoemde knoppen voor een snellere selectie.";
+Calendar._TT["ABOUT_TIME"] = "\n\n" +
+"Tijd selectie:\n" +
+"- Klik op een willekeurig onderdeel van het tijd gedeelte om het te verhogen\n" +
+"- of Shift-klik om het te verlagen\n" +
+"- of klik en sleep voor een snellere selectie.";
+
+//Calendar._TT["TOGGLE"] = "Selecteer de eerste week-dag";
+Calendar._TT["PREV_YEAR"] = "Vorig jaar (ingedrukt voor menu)";
+Calendar._TT["PREV_MONTH"] = "Vorige maand (ingedrukt voor menu)";
+Calendar._TT["GO_TODAY"] = "Ga naar Vandaag";
+Calendar._TT["NEXT_MONTH"] = "Volgende maand (ingedrukt voor menu)";
+Calendar._TT["NEXT_YEAR"] = "Volgend jaar (ingedrukt voor menu)";
+Calendar._TT["SEL_DATE"] = "Selecteer datum";
+Calendar._TT["DRAG_TO_MOVE"] = "Klik en sleep om te verplaatsen";
+Calendar._TT["PART_TODAY"] = " (vandaag)";
+//Calendar._TT["MON_FIRST"] = "Toon Maandag eerst";
+//Calendar._TT["SUN_FIRST"] = "Toon Zondag eerst";
+
+Calendar._TT["DAY_FIRST"] = "Toon %s eerst";
+
+Calendar._TT["WEEKEND"] = "0,6";
+
+Calendar._TT["CLOSE"] = "Sluiten";
+Calendar._TT["TODAY"] = "(vandaag)";
+Calendar._TT["TIME_PART"] = "(Shift-)Klik of sleep om de waarde te veranderen";
+
+// date formats
+Calendar._TT["DEF_DATE_FORMAT"] = "%d-%m-%Y";
+Calendar._TT["TT_DATE_FORMAT"] = "%a, %e %b %Y";
+
+Calendar._TT["WK"] = "wk";
+Calendar._TT["TIME"] = "Tijd:";
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/jscalendar/lang/calendar-nl.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/lang/calendar-pt.js
===================================================================
--- tags/2.8.2/wb/include/jscalendar/lang/calendar-pt.js	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/lang/calendar-pt.js	(revision 1481)
@@ -0,0 +1,123 @@
+// ** I18N
+
+// Calendar pt_BR language
+// Author: Adalberto Machado, <betosm@terra.com.br>
+// Encoding: any
+// Distributed under the same terms as the calendar itself.
+
+// For translators: please use UTF-8 if possible.  We strongly believe that
+// Unicode is the answer to a real internationalized world.  Also please
+// include your contact information in the header, as can be seen above.
+
+// full day names
+Calendar._DN = new Array
+("Domingo",
+ "Segunda",
+ "Terca",
+ "Quarta",
+ "Quinta",
+ "Sexta",
+ "Sabado",
+ "Domingo");
+
+// Please note that the following array of short day names (and the same goes
+// for short month names, _SMN) isn't absolutely necessary.  We give it here
+// for exemplification on how one can customize the short day names, but if
+// they are simply the first N letters of the full name you can simply say:
+//
+//   Calendar._SDN_len = N; // short day name length
+//   Calendar._SMN_len = N; // short month name length
+//
+// If N = 3 then this is not needed either since we assume a value of 3 if not
+// present, to be compatible with translation files that were written before
+// this feature.
+
+// short day names
+Calendar._SDN = new Array
+("Dom",
+ "Seg",
+ "Ter",
+ "Qua",
+ "Qui",
+ "Sex",
+ "Sab",
+ "Dom");
+
+// full month names
+Calendar._MN = new Array
+("Janeiro",
+ "Fevereiro",
+ "Marco",
+ "Abril",
+ "Maio",
+ "Junho",
+ "Julho",
+ "Agosto",
+ "Setembro",
+ "Outubro",
+ "Novembro",
+ "Dezembro");
+
+// short month names
+Calendar._SMN = new Array
+("Jan",
+ "Fev",
+ "Mar",
+ "Abr",
+ "Mai",
+ "Jun",
+ "Jul",
+ "Ago",
+ "Set",
+ "Out",
+ "Nov",
+ "Dez");
+
+// tooltips
+Calendar._TT = {};
+Calendar._TT["INFO"] = "Sobre o calendario";
+
+Calendar._TT["ABOUT"] =
+"DHTML Date/Time Selector\n" +
+"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
+"Ultima versao visite: http://www.dynarch.com/projects/calendar/\n" +
+"Distribuido sobre GNU LGPL.  Veja http://gnu.org/licenses/lgpl.html para detalhes." +
+"\n\n" +
+"Selecao de data:\n" +
+"- Use os botoes \xab, \xbb para selecionar o ano\n" +
+"- Use os botoes " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " para selecionar o mes\n" +
+"- Segure o botao do mouse em qualquer um desses botoes para selecao rapida.";
+Calendar._TT["ABOUT_TIME"] = "\n\n" +
+"Selecao de hora:\n" +
+"- Clique em qualquer parte da hora para incrementar\n" +
+"- ou Shift-click para decrementar\n" +
+"- ou clique e segure para selecao rapida.";
+
+Calendar._TT["PREV_YEAR"] = "Ant. ano (segure para menu)";
+Calendar._TT["PREV_MONTH"] = "Ant. mes (segure para menu)";
+Calendar._TT["GO_TODAY"] = "Hoje";
+Calendar._TT["NEXT_MONTH"] = "Prox. mes (segure para menu)";
+Calendar._TT["NEXT_YEAR"] = "Prox. ano (segure para menu)";
+Calendar._TT["SEL_DATE"] = "Selecione a data";
+Calendar._TT["DRAG_TO_MOVE"] = "Arraste para mover";
+Calendar._TT["PART_TODAY"] = " (hoje)";
+
+// the following is to inform that "%s" is to be the first day of week
+// %s will be replaced with the day name.
+Calendar._TT["DAY_FIRST"] = "Mostre %s primeiro";
+
+// This may be locale-dependent.  It specifies the week-end days, as an array
+// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
+// means Monday, etc.
+Calendar._TT["WEEKEND"] = "0,6";
+
+Calendar._TT["CLOSE"] = "Fechar";
+Calendar._TT["TODAY"] = "Hoje";
+Calendar._TT["TIME_PART"] = "(Shift-)Click ou arraste para mudar valor";
+
+// date formats
+Calendar._TT["DEF_DATE_FORMAT"] = "%d/%m/%Y";
+Calendar._TT["TT_DATE_FORMAT"] = "%a, %e %b";
+
+Calendar._TT["WK"] = "sm";
+Calendar._TT["TIME"] = "Hora:";

Property changes on: tags/2.8.2/wb/include/jscalendar/lang/calendar-pt.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/jscalendar-functions.php
===================================================================
--- tags/2.8.2/wb/include/jscalendar/jscalendar-functions.php	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/jscalendar-functions.php	(revision 1481)
@@ -0,0 +1,53 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+if(!defined('WB_URL')) { exit(header('Location: ../index.php')); }
+
+// convert string from jscalendar to timestamp.
+// converts dd.mm.yyyy and mm/dd/yyyy, with or without time.
+// strtotime() may fails with e.g. "dd.mm.yyyy" and PHP4
+function jscalendar_to_timestamp($str, $offset='') {
+	$str = trim($str);
+	if($str == '0' || $str == '')
+		return('0');
+	if($offset == '0')
+		$offset = '';
+	// convert to yyyy-mm-dd
+	// "dd.mm.yyyy"?
+	if(preg_match('/^\d{1,2}\.\d{1,2}\.\d{2}(\d{2})?/', $str)) {
+		$str = preg_replace('/^(\d{1,2})\.(\d{1,2})\.(\d{2}(\d{2})?)/', '$3-$2-$1', $str);
+	}
+	// "mm/dd/yyyy"?
+	if(preg_match('#^\d{1,2}/\d{1,2}/(\d{2}(\d{2})?)#', $str)) {
+		$str = preg_replace('#^(\d{1,2})/(\d{1,2})/(\d{2}(\d{2})?)#', '$3-$1-$2', $str);
+	}
+	// use strtotime()
+	if($offset!='')
+		return(strtotime($str, $offset));
+	else
+	return(strtotime($str));
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/jscalendar/jscalendar-functions.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/index.php
===================================================================
--- tags/2.8.2/wb/include/jscalendar/index.php	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/jscalendar/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/README
===================================================================
--- tags/2.8.2/wb/include/jscalendar/README	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/README	(revision 1481)
@@ -0,0 +1,84 @@
+The DHTML Calendar
+-------------------
+
+  Author: Mihai Bazon, <mihai_bazon@yahoo.com>
+          http://dynarch.com/mishoo/
+
+  This program is free software published under the
+  terms of the GNU Lesser General Public License.
+
+  For the entire license text please refer to
+  http://www.gnu.org/licenses/lgpl.html
+
+Contents
+---------
+
+  calendar.js     -- the main program file
+  lang/*.js       -- internalization files
+  *.css           -- color themes
+  cal.html        -- example usage file
+  doc/            -- documentation, in PDF and HTML
+  simple-1.html   -- quick setup examples [popup calendars]
+  simple-2.html   -- quick setup example for flat calendar
+  calendar.php    -- PHP wrapper
+  test.php        -- test file for the PHP wrapper
+
+Homepage
+---------
+
+  For details and latest versions please refer to calendar
+  homepage, located on my website:
+
+    http://dynarch.com/mishoo/calendar.epl
+
+
+How to use
+-----------
+
+1. enter this code somewhere _above_ the form
+	you can overwrite some vars as descripted below
+--cut-PHP----------------------------------------------------
+	// include jscalendar-setup
+	$jscal_use_time = false; // whether to use a clock, too
+	require_once(WB_PATH."/include/jscalendar/wb-setup.php");
+	// override some vars: (normally, there is no need to change this)
+	//$jscal_lang = "en"; //- calendar-language (default: wb-backend-language)
+	//$jscal_today = ""; // - date the calendar offers if the text-field is empty (default: today)
+	//$jscal_firstday = "0"; // - first-day-of-week (0-sunday, 1-monday, ...) (default: 0(EN) or 1(everything else))
+	//$jscal_format = "Y-m-d"; // - initial-format used for the text-field (default: from wb-backend-date-format)
+	//$jscal_ifformat = "%Y-%m-%d"; // - format for jscalendar (default: from wb-backend-date-format)
+----------------------------------------------------------
+
+
+2. enter this code within your form
+	$date holds the entered date as timestamp
+	the field is called "my_date_field"
+	the calender-trigger is called "my_date_trigger"
+--cut-HTML---------------------------------------------------
+	<input type="text" id="my_date_field" name="my_date_field" value="<?php if($date==0) print ""; else print date($jscal_format, $date)?>" style="width: 120px;" />
+	<img src="<?php echo WB_URL ?>/include/jscalendar/img.gif" id="my_date_trigger" style="cursor: pointer; border: 1px solid red;" title="Calendar" onmouseover="this.style.background='red';" onmouseout="this.style.background=''" />
+----------------------------------------------------------
+
+
+3. enter this code _below_ the form
+	to store the result as timestamp, you have to use  range : [1970, 2037],
+--cut-HTML---------------------------------------------------
+	<script type="text/javascript">
+		Calendar.setup(
+			{
+				inputField  : "my_date_field",
+				ifFormat    : "<?php echo $jscal_ifformat ?>",
+				button      : "my_date_trigger",
+				firstDay    : <?php echo $jscal_firstday ?>,
+				<?php if(isset($jscal_use_time) && $jscal_use_time==TRUE) { ?>
+					showsTime   : "true",
+					timeFormat  : "24",
+				<?php } ?>
+				date        : "<?php echo $jscal_today ?>",
+				range       : [1970, 2037],
+				step        : 1
+			}
+		);
+	</script>
+----------------------------------------------------------
+

Property changes on: tags/2.8.2/wb/include/jscalendar/README
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/img.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/jscalendar/img.gif
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/calendar-setup.js
===================================================================
--- tags/2.8.2/wb/include/jscalendar/calendar-setup.js	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/calendar-setup.js	(revision 1481)
@@ -0,0 +1,203 @@
+/*  Copyright Mihai Bazon, 2002, 2003  |  http://dynarch.com/mishoo/
+ * ---------------------------------------------------------------------------
+ *
+ * The DHTML Calendar
+ *
+ * Details and latest version at:
+ * http://dynarch.com/mishoo/calendar.epl
+ *
+ * This script is distributed under the GNU Lesser General Public License.
+ * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html
+ *
+ * This file defines helper functions for setting up the calendar.  They are
+ * intended to help non-programmers get a working calendar on their site
+ * quickly.  This script should not be seen as part of the calendar.  It just
+ * shows you what one can do with the calendar, while in the same time
+ * providing a quick and simple method for setting it up.  If you need
+ * exhaustive customization of the calendar creation process feel free to
+ * modify this code to suit your needs (this is recommended and much better
+ * than modifying calendar.js itself).
+ */
+
+// $Id: calendar-setup.js,v 1.25 2005/03/07 09:51:33 mishoo Exp $
+
+/**
+ *  This function "patches" an input field (or other element) to use a calendar
+ *  widget for date selection.
+ *
+ *  The "params" is a single object that can have the following properties:
+ *
+ *    prop. name   | description
+ *  -------------------------------------------------------------------------------------------------
+ *   inputField    | the ID of an input field to store the date
+ *   displayArea   | the ID of a DIV or other element to show the date
+ *   button        | ID of a button or other element that will trigger the calendar
+ *   eventName     | event that will trigger the calendar, without the "on" prefix (default: "click")
+ *   ifFormat      | date format that will be stored in the input field
+ *   daFormat      | the date format that will be used to display the date in displayArea
+ *   singleClick   | (true/false) wether the calendar is in single click mode or not (default: true)
+ *   firstDay      | numeric: 0 to 6.  "0" means display Sunday first, "1" means display Monday first, etc.
+ *   align         | alignment (default: "Br"); if you don't know what's this see the calendar documentation
+ *   range         | array with 2 elements.  Default: [1900, 2999] -- the range of years available
+ *   weekNumbers   | (true/false) if it's true (default) the calendar will display week numbers
+ *   flat          | null or element ID; if not null the calendar will be a flat calendar having the parent with the given ID
+ *   flatCallback  | function that receives a JS Date object and returns an URL to point the browser to (for flat calendar)
+ *   disableFunc   | function that receives a JS Date object and should return true if that date has to be disabled in the calendar
+ *   onSelect      | function that gets called when a date is selected.  You don't _have_ to supply this (the default is generally okay)
+ *   onClose       | function that gets called when the calendar is closed.  [default]
+ *   onUpdate      | function that gets called after the date is updated in the input field.  Receives a reference to the calendar.
+ *   date          | the date that the calendar will be initially displayed to
+ *   showsTime     | default: false; if true the calendar will include a time selector
+ *   timeFormat    | the time format; can be "12" or "24", default is "12"
+ *   electric      | if true (default) then given fields/date areas are updated for each move; otherwise they're updated only on close
+ *   step          | configures the step of the years in drop-down boxes; default: 2
+ *   position      | configures the calendar absolute position; default: null
+ *   cache         | if "true" (but default: "false") it will reuse the same calendar object, where possible
+ *   showOthers    | if "true" (but default: "false") it will show days from other months too
+ *
+ *  None of them is required, they all have default values.  However, if you
+ *  pass none of "inputField", "displayArea" or "button" you'll get a warning
+ *  saying "nothing to setup".
+ */
+Calendar.setup = function (params) {
+	function param_default(pname, def) { if (typeof params[pname] == "undefined") { params[pname] = def; } };
+
+	param_default("inputField",     null);
+	param_default("displayArea",    null);
+	param_default("button",         null);
+	param_default("eventName",      "click");
+	param_default("ifFormat",       "%Y/%m/%d");
+	param_default("daFormat",       "%Y/%m/%d");
+	param_default("singleClick",    true);
+	param_default("disableFunc",    null);
+	param_default("dateStatusFunc", params["disableFunc"]);	// takes precedence if both are defined
+	param_default("dateText",       null);
+	param_default("firstDay",       null);
+	param_default("align",          "Br");
+	param_default("range",          [1900, 2999]);
+	param_default("weekNumbers",    true);
+	param_default("flat",           null);
+	param_default("flatCallback",   null);
+	param_default("onSelect",       null);
+	param_default("onClose",        null);
+	param_default("onUpdate",       null);
+	param_default("date",           null);
+	param_default("showsTime",      false);
+	param_default("timeFormat",     "24");
+	param_default("electric",       true);
+	param_default("step",           2);
+	param_default("position",       null);
+	param_default("cache",          false);
+	param_default("showOthers",     false);
+	param_default("multiple",       null);
+
+	var tmp = ["inputField", "displayArea", "button"];
+	for (var i in tmp) {
+		if (typeof params[tmp[i]] == "string") {
+			params[tmp[i]] = document.getElementById(params[tmp[i]]);
+		}
+	}
+	if (!(params.flat || params.multiple || params.inputField || params.displayArea || params.button)) {
+		alert("Calendar.setup:\n  Nothing to setup (no fields found).  Please check your code");
+		return false;
+	}
+
+	function onSelect(cal) {
+		var p = cal.params;
+		var update = (cal.dateClicked || p.electric);
+		if (update && p.inputField) {
+			p.inputField.value = cal.date.print(p.ifFormat);
+			if (typeof p.inputField.onchange == "function")
+				p.inputField.onchange();
+		}
+		if (update && p.displayArea)
+			p.displayArea.innerHTML = cal.date.print(p.daFormat);
+		if (update && typeof p.onUpdate == "function")
+			p.onUpdate(cal);
+		if (update && p.flat) {
+			if (typeof p.flatCallback == "function")
+				p.flatCallback(cal);
+		}
+		if (update && p.singleClick && cal.dateClicked)
+			cal.callCloseHandler();
+	};
+
+	if (params.flat != null) {
+		if (typeof params.flat == "string")
+			params.flat = document.getElementById(params.flat);
+		if (!params.flat) {
+			alert("Calendar.setup:\n  Flat specified but can't find parent.");
+			return false;
+		}
+		var cal = new Calendar(params.firstDay, params.date, params.onSelect || onSelect);
+		cal.showsOtherMonths = params.showOthers;
+		cal.showsTime = params.showsTime;
+		cal.time24 = (params.timeFormat == "24");
+		cal.params = params;
+		cal.weekNumbers = params.weekNumbers;
+		cal.setRange(params.range[0], params.range[1]);
+		cal.setDateStatusHandler(params.dateStatusFunc);
+		cal.getDateText = params.dateText;
+		if (params.ifFormat) {
+			cal.setDateFormat(params.ifFormat);
+		}
+		if (params.inputField && typeof params.inputField.value == "string") {
+			cal.parseDate(params.inputField.value);
+		}
+		cal.create(params.flat);
+		cal.show();
+		return false;
+	}
+
+	var triggerEl = params.button || params.displayArea || params.inputField;
+	triggerEl["on" + params.eventName] = function() {
+		var dateEl = params.inputField || params.displayArea;
+		var dateFmt = params.inputField ? params.ifFormat : params.daFormat;
+		var mustCreate = false;
+		var cal = window.calendar;
+//		if (dateEl)
+//			params.date = Date.parseDate(dateEl.value || dateEl.innerHTML, dateFmt);
+//by nib: checks wether inputfield is empty or not. orig code only checked wether inputfield exists, so param.date was never read!
+if (dateEl.value.replace(/^\s+|\s+$/g,"").length != 0 || dateEl.innerHTML.replace(/^\s+|\s+$/g,"").length != 0)
+params.date = Date.parseDate(dateEl.value || dateEl.innerHTML, dateFmt);
+		if (!(cal && params.cache)) {
+			window.calendar = cal = new Calendar(params.firstDay,
+							     params.date,
+							     params.onSelect || onSelect,
+							     params.onClose || function(cal) { cal.hide(); });
+			cal.showsTime = params.showsTime;
+			cal.time24 = (params.timeFormat == "24");
+			cal.weekNumbers = params.weekNumbers;
+			mustCreate = true;
+		} else {
+			if (params.date)
+				cal.setDate(params.date);
+			cal.hide();
+		}
+		if (params.multiple) {
+			cal.multiple = {};
+			for (var i = params.multiple.length; --i >= 0;) {
+				var d = params.multiple[i];
+				var ds = d.print("%Y%m%d");
+				cal.multiple[ds] = d;
+			}
+		}
+		cal.showsOtherMonths = params.showOthers;
+		cal.yearStep = params.step;
+		cal.setRange(params.range[0], params.range[1]);
+		cal.params = params;
+		cal.setDateStatusHandler(params.dateStatusFunc);
+		cal.getDateText = params.dateText;
+		cal.setDateFormat(dateFmt);
+		if (mustCreate)
+			cal.create();
+		cal.refresh();
+		if (!params.position)
+			cal.showAtElement(params.button || params.displayArea || params.inputField, params.align);
+		else
+			cal.showAt(params.position[0], params.position[1]);
+		return false;
+	};
+
+	return cal;
+};

Property changes on: tags/2.8.2/wb/include/jscalendar/calendar-setup.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/menuarrow.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/jscalendar/menuarrow.gif
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/calendar.js
===================================================================
--- tags/2.8.2/wb/include/jscalendar/calendar.js	(nonexistent)
+++ tags/2.8.2/wb/include/jscalendar/calendar.js	(revision 1481)
@@ -0,0 +1,1806 @@
+/*  Copyright Mihai Bazon, 2002-2005  |  www.bazon.net/mishoo
+ * -----------------------------------------------------------
+ *
+ * The DHTML Calendar, version 1.0 "It is happening again"
+ *
+ * Details and latest version at:
+ * www.dynarch.com/projects/calendar
+ *
+ * This script is developed by Dynarch.com.  Visit us at www.dynarch.com.
+ *
+ * This script is distributed under the GNU Lesser General Public License.
+ * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html
+ */
+
+// $Id: calendar.js,v 1.51 2005/03/07 16:44:31 mishoo Exp $
+
+/** The Calendar object constructor. */
+Calendar = function (firstDayOfWeek, dateStr, onSelected, onClose) {
+	// member variables
+	this.activeDiv = null;
+	this.currentDateEl = null;
+	this.getDateStatus = null;
+	this.getDateToolTip = null;
+	this.getDateText = null;
+	this.timeout = null;
+	this.onSelected = onSelected || null;
+	this.onClose = onClose || null;
+	this.dragging = false;
+	this.hidden = false;
+	this.minYear = 1970;
+	this.maxYear = 2050;
+	this.dateFormat = Calendar._TT["DEF_DATE_FORMAT"];
+	this.ttDateFormat = Calendar._TT["TT_DATE_FORMAT"];
+	this.isPopup = true;
+	this.weekNumbers = true;
+	this.firstDayOfWeek = typeof firstDayOfWeek == "number" ? firstDayOfWeek : Calendar._FD; // 0 for Sunday, 1 for Monday, etc.
+	this.showsOtherMonths = false;
+	this.dateStr = dateStr;
+	this.ar_days = null;
+	this.showsTime = false;
+	this.time24 = true;
+	this.yearStep = 2;
+	this.hiliteToday = true;
+	this.multiple = null;
+	// HTML elements
+	this.table = null;
+	this.element = null;
+	this.tbody = null;
+	this.firstdayname = null;
+	// Combo boxes
+	this.monthsCombo = null;
+	this.yearsCombo = null;
+	this.hilitedMonth = null;
+	this.activeMonth = null;
+	this.hilitedYear = null;
+	this.activeYear = null;
+	// Information
+	this.dateClicked = false;
+
+	// one-time initializations
+	if (typeof Calendar._SDN == "undefined") {
+		// table of short day names
+		if (typeof Calendar._SDN_len == "undefined")
+			Calendar._SDN_len = 3;
+		var ar = new Array();
+		for (var i = 8; i > 0;) {
+			ar[--i] = Calendar._DN[i].substr(0, Calendar._SDN_len);
+		}
+		Calendar._SDN = ar;
+		// table of short month names
+		if (typeof Calendar._SMN_len == "undefined")
+			Calendar._SMN_len = 3;
+		ar = new Array();
+		for (var i = 12; i > 0;) {
+			ar[--i] = Calendar._MN[i].substr(0, Calendar._SMN_len);
+		}
+		Calendar._SMN = ar;
+	}
+};
+
+// ** constants
+
+/// "static", needed for event handlers.
+Calendar._C = null;
+
+/// detect a special case of "web browser"
+Calendar.is_ie = ( /msie/i.test(navigator.userAgent) &&
+		   !/opera/i.test(navigator.userAgent) );
+
+Calendar.is_ie5 = ( Calendar.is_ie && /msie 5\.0/i.test(navigator.userAgent) );
+
+/// detect Opera browser
+Calendar.is_opera = /opera/i.test(navigator.userAgent);
+
+/// detect KHTML-based browsers
+Calendar.is_khtml = /Konqueror|Safari|KHTML/i.test(navigator.userAgent);
+
+// BEGIN: UTILITY FUNCTIONS; beware that these might be moved into a separate
+//        library, at some point.
+
+Calendar.getAbsolutePos = function(el) {
+	var SL = 0, ST = 0;
+	var is_div = /^div$/i.test(el.tagName);
+	if (is_div && el.scrollLeft)
+		SL = el.scrollLeft;
+	if (is_div && el.scrollTop)
+		ST = el.scrollTop;
+	var r = { x: el.offsetLeft - SL, y: el.offsetTop - ST };
+	if (el.offsetParent) {
+		var tmp = this.getAbsolutePos(el.offsetParent);
+		r.x += tmp.x;
+		r.y += tmp.y;
+	}
+	return r;
+};
+
+Calendar.isRelated = function (el, evt) {
+	var related = evt.relatedTarget;
+	if (!related) {
+		var type = evt.type;
+		if (type == "mouseover") {
+			related = evt.fromElement;
+		} else if (type == "mouseout") {
+			related = evt.toElement;
+		}
+	}
+	while (related) {
+		if (related == el) {
+			return true;
+		}
+		related = related.parentNode;
+	}
+	return false;
+};
+
+Calendar.removeClass = function(el, className) {
+	if (!(el && el.className)) {
+		return;
+	}
+	var cls = el.className.split(" ");
+	var ar = new Array();
+	for (var i = cls.length; i > 0;) {
+		if (cls[--i] != className) {
+			ar[ar.length] = cls[i];
+		}
+	}
+	el.className = ar.join(" ");
+};
+
+Calendar.addClass = function(el, className) {
+	Calendar.removeClass(el, className);
+	el.className += " " + className;
+};
+
+// FIXME: the following 2 functions totally suck, are useless and should be replaced immediately.
+Calendar.getElement = function(ev) {
+	var f = Calendar.is_ie ? window.event.srcElement : ev.currentTarget;
+	while (f.nodeType != 1 || /^div$/i.test(f.tagName))
+		f = f.parentNode;
+	return f;
+};
+
+Calendar.getTargetElement = function(ev) {
+	var f = Calendar.is_ie ? window.event.srcElement : ev.target;
+	while (f.nodeType != 1)
+		f = f.parentNode;
+	return f;
+};
+
+Calendar.stopEvent = function(ev) {
+	ev || (ev = window.event);
+	if (Calendar.is_ie) {
+		ev.cancelBubble = true;
+		ev.returnValue = false;
+	} else {
+		ev.preventDefault();
+		ev.stopPropagation();
+	}
+	return false;
+};
+
+Calendar.addEvent = function(el, evname, func) {
+	if (el.attachEvent) { // IE
+		el.attachEvent("on" + evname, func);
+	} else if (el.addEventListener) { // Gecko / W3C
+		el.addEventListener(evname, func, true);
+	} else {
+		el["on" + evname] = func;
+	}
+};
+
+Calendar.removeEvent = function(el, evname, func) {
+	if (el.detachEvent) { // IE
+		el.detachEvent("on" + evname, func);
+	} else if (el.removeEventListener) { // Gecko / W3C
+		el.removeEventListener(evname, func, true);
+	} else {
+		el["on" + evname] = null;
+	}
+};
+
+Calendar.createElement = function(type, parent) {
+	var el = null;
+	if (document.createElementNS) {
+		// use the XHTML namespace; IE won't normally get here unless
+		// _they_ "fix" the DOM2 implementation.
+		el = document.createElementNS("http://www.w3.org/1999/xhtml", type);
+	} else {
+		el = document.createElement(type);
+	}
+	if (typeof parent != "undefined") {
+		parent.appendChild(el);
+	}
+	return el;
+};
+
+// END: UTILITY FUNCTIONS
+
+// BEGIN: CALENDAR STATIC FUNCTIONS
+
+/** Internal -- adds a set of events to make some element behave like a button. */
+Calendar._add_evs = function(el) {
+	with (Calendar) {
+		addEvent(el, "mouseover", dayMouseOver);
+		addEvent(el, "mousedown", dayMouseDown);
+		addEvent(el, "mouseout", dayMouseOut);
+		if (is_ie) {
+			addEvent(el, "dblclick", dayMouseDblClick);
+			el.setAttribute("unselectable", true);
+		}
+	}
+};
+
+Calendar.findMonth = function(el) {
+	if (typeof el.month != "undefined") {
+		return el;
+	} else if (typeof el.parentNode.month != "undefined") {
+		return el.parentNode;
+	}
+	return null;
+};
+
+Calendar.findYear = function(el) {
+	if (typeof el.year != "undefined") {
+		return el;
+	} else if (typeof el.parentNode.year != "undefined") {
+		return el.parentNode;
+	}
+	return null;
+};
+
+Calendar.showMonthsCombo = function () {
+	var cal = Calendar._C;
+	if (!cal) {
+		return false;
+	}
+	var cal = cal;
+	var cd = cal.activeDiv;
+	var mc = cal.monthsCombo;
+	if (cal.hilitedMonth) {
+		Calendar.removeClass(cal.hilitedMonth, "hilite");
+	}
+	if (cal.activeMonth) {
+		Calendar.removeClass(cal.activeMonth, "active");
+	}
+	var mon = cal.monthsCombo.getElementsByTagName("div")[cal.date.getMonth()];
+	Calendar.addClass(mon, "active");
+	cal.activeMonth = mon;
+	var s = mc.style;
+	s.display = "block";
+	if (cd.navtype < 0)
+		s.left = cd.offsetLeft + "px";
+	else {
+		var mcw = mc.offsetWidth;
+		if (typeof mcw == "undefined")
+			// Konqueror brain-dead techniques
+			mcw = 50;
+		s.left = (cd.offsetLeft + cd.offsetWidth - mcw) + "px";
+	}
+	s.top = (cd.offsetTop + cd.offsetHeight) + "px";
+};
+
+Calendar.showYearsCombo = function (fwd) {
+	var cal = Calendar._C;
+	if (!cal) {
+		return false;
+	}
+	var cal = cal;
+	var cd = cal.activeDiv;
+	var yc = cal.yearsCombo;
+	if (cal.hilitedYear) {
+		Calendar.removeClass(cal.hilitedYear, "hilite");
+	}
+	if (cal.activeYear) {
+		Calendar.removeClass(cal.activeYear, "active");
+	}
+	cal.activeYear = null;
+	var Y = cal.date.getFullYear() + (fwd ? 1 : -1);
+	var yr = yc.firstChild;
+	var show = false;
+	for (var i = 12; i > 0; --i) {
+		if (Y >= cal.minYear && Y <= cal.maxYear) {
+			yr.innerHTML = Y;
+			yr.year = Y;
+			yr.style.display = "block";
+			show = true;
+		} else {
+			yr.style.display = "none";
+		}
+		yr = yr.nextSibling;
+		Y += fwd ? cal.yearStep : -cal.yearStep;
+	}
+	if (show) {
+		var s = yc.style;
+		s.display = "block";
+		if (cd.navtype < 0)
+			s.left = cd.offsetLeft + "px";
+		else {
+			var ycw = yc.offsetWidth;
+			if (typeof ycw == "undefined")
+				// Konqueror brain-dead techniques
+				ycw = 50;
+			s.left = (cd.offsetLeft + cd.offsetWidth - ycw) + "px";
+		}
+		s.top = (cd.offsetTop + cd.offsetHeight) + "px";
+	}
+};
+
+// event handlers
+
+Calendar.tableMouseUp = function(ev) {
+	var cal = Calendar._C;
+	if (!cal) {
+		return false;
+	}
+	if (cal.timeout) {
+		clearTimeout(cal.timeout);
+	}
+	var el = cal.activeDiv;
+	if (!el) {
+		return false;
+	}
+	var target = Calendar.getTargetElement(ev);
+	ev || (ev = window.event);
+	Calendar.removeClass(el, "active");
+	if (target == el || target.parentNode == el) {
+		Calendar.cellClick(el, ev);
+	}
+	var mon = Calendar.findMonth(target);
+	var date = null;
+	if (mon) {
+		date = new Date(cal.date);
+		if (mon.month != date.getMonth()) {
+			date.setMonth(mon.month);
+			cal.setDate(date);
+			cal.dateClicked = false;
+			cal.callHandler();
+		}
+	} else {
+		var year = Calendar.findYear(target);
+		if (year) {
+			date = new Date(cal.date);
+			if (year.year != date.getFullYear()) {
+				date.setFullYear(year.year);
+				cal.setDate(date);
+				cal.dateClicked = false;
+				cal.callHandler();
+			}
+		}
+	}
+	with (Calendar) {
+		removeEvent(document, "mouseup", tableMouseUp);
+		removeEvent(document, "mouseover", tableMouseOver);
+		removeEvent(document, "mousemove", tableMouseOver);
+		cal._hideCombos();
+		_C = null;
+		return stopEvent(ev);
+	}
+};
+
+Calendar.tableMouseOver = function (ev) {
+	var cal = Calendar._C;
+	if (!cal) {
+		return;
+	}
+	var el = cal.activeDiv;
+	var target = Calendar.getTargetElement(ev);
+	if (target == el || target.parentNode == el) {
+		Calendar.addClass(el, "hilite active");
+		Calendar.addClass(el.parentNode, "rowhilite");
+	} else {
+		if (typeof el.navtype == "undefined" || (el.navtype != 50 && (el.navtype == 0 || Math.abs(el.navtype) > 2)))
+			Calendar.removeClass(el, "active");
+		Calendar.removeClass(el, "hilite");
+		Calendar.removeClass(el.parentNode, "rowhilite");
+	}
+	ev || (ev = window.event);
+	if (el.navtype == 50 && target != el) {
+		var pos = Calendar.getAbsolutePos(el);
+		var w = el.offsetWidth;
+		var x = ev.clientX;
+		var dx;
+		var decrease = true;
+		if (x > pos.x + w) {
+			dx = x - pos.x - w;
+			decrease = false;
+		} else
+			dx = pos.x - x;
+
+		if (dx < 0) dx = 0;
+		var range = el._range;
+		var current = el._current;
+		var count = Math.floor(dx / 10) % range.length;
+		for (var i = range.length; --i >= 0;)
+			if (range[i] == current)
+				break;
+		while (count-- > 0)
+			if (decrease) {
+				if (--i < 0)
+					i = range.length - 1;
+			} else if ( ++i >= range.length )
+				i = 0;
+		var newval = range[i];
+		el.innerHTML = newval;
+
+		cal.onUpdateTime();
+	}
+	var mon = Calendar.findMonth(target);
+	if (mon) {
+		if (mon.month != cal.date.getMonth()) {
+			if (cal.hilitedMonth) {
+				Calendar.removeClass(cal.hilitedMonth, "hilite");
+			}
+			Calendar.addClass(mon, "hilite");
+			cal.hilitedMonth = mon;
+		} else if (cal.hilitedMonth) {
+			Calendar.removeClass(cal.hilitedMonth, "hilite");
+		}
+	} else {
+		if (cal.hilitedMonth) {
+			Calendar.removeClass(cal.hilitedMonth, "hilite");
+		}
+		var year = Calendar.findYear(target);
+		if (year) {
+			if (year.year != cal.date.getFullYear()) {
+				if (cal.hilitedYear) {
+					Calendar.removeClass(cal.hilitedYear, "hilite");
+				}
+				Calendar.addClass(year, "hilite");
+				cal.hilitedYear = year;
+			} else if (cal.hilitedYear) {
+				Calendar.removeClass(cal.hilitedYear, "hilite");
+			}
+		} else if (cal.hilitedYear) {
+			Calendar.removeClass(cal.hilitedYear, "hilite");
+		}
+	}
+	return Calendar.stopEvent(ev);
+};
+
+Calendar.tableMouseDown = function (ev) {
+	if (Calendar.getTargetElement(ev) == Calendar.getElement(ev)) {
+		return Calendar.stopEvent(ev);
+	}
+};
+
+Calendar.calDragIt = function (ev) {
+	var cal = Calendar._C;
+	if (!(cal && cal.dragging)) {
+		return false;
+	}
+	var posX;
+	var posY;
+	if (Calendar.is_ie) {
+		posY = window.event.clientY + document.body.scrollTop;
+		posX = window.event.clientX + document.body.scrollLeft;
+	} else {
+		posX = ev.pageX;
+		posY = ev.pageY;
+	}
+	cal.hideShowCovered();
+	var st = cal.element.style;
+	st.left = (posX - cal.xOffs) + "px";
+	st.top = (posY - cal.yOffs) + "px";
+	return Calendar.stopEvent(ev);
+};
+
+Calendar.calDragEnd = function (ev) {
+	var cal = Calendar._C;
+	if (!cal) {
+		return false;
+	}
+	cal.dragging = false;
+	with (Calendar) {
+		removeEvent(document, "mousemove", calDragIt);
+		removeEvent(document, "mouseup", calDragEnd);
+		tableMouseUp(ev);
+	}
+	cal.hideShowCovered();
+};
+
+Calendar.dayMouseDown = function(ev) {
+	var el = Calendar.getElement(ev);
+	if (el.disabled) {
+		return false;
+	}
+	var cal = el.calendar;
+	cal.activeDiv = el;
+	Calendar._C = cal;
+	if (el.navtype != 300) with (Calendar) {
+		if (el.navtype == 50) {
+			el._current = el.innerHTML;
+			addEvent(document, "mousemove", tableMouseOver);
+		} else
+			addEvent(document, Calendar.is_ie5 ? "mousemove" : "mouseover", tableMouseOver);
+		addClass(el, "hilite active");
+		addEvent(document, "mouseup", tableMouseUp);
+	} else if (cal.isPopup) {
+		cal._dragStart(ev);
+	}
+	if (el.navtype == -1 || el.navtype == 1) {
+		if (cal.timeout) clearTimeout(cal.timeout);
+		cal.timeout = setTimeout("Calendar.showMonthsCombo()", 250);
+	} else if (el.navtype == -2 || el.navtype == 2) {
+		if (cal.timeout) clearTimeout(cal.timeout);
+		cal.timeout = setTimeout((el.navtype > 0) ? "Calendar.showYearsCombo(true)" : "Calendar.showYearsCombo(false)", 250);
+	} else {
+		cal.timeout = null;
+	}
+	return Calendar.stopEvent(ev);
+};
+
+Calendar.dayMouseDblClick = function(ev) {
+	Calendar.cellClick(Calendar.getElement(ev), ev || window.event);
+	if (Calendar.is_ie) {
+		document.selection.empty();
+	}
+};
+
+Calendar.dayMouseOver = function(ev) {
+	var el = Calendar.getElement(ev);
+	if (Calendar.isRelated(el, ev) || Calendar._C || el.disabled) {
+		return false;
+	}
+	if (el.ttip) {
+		if (el.ttip.substr(0, 1) == "_") {
+			el.ttip = el.caldate.print(el.calendar.ttDateFormat) + el.ttip.substr(1);
+		}
+		el.calendar.tooltips.innerHTML = el.ttip;
+	}
+	if (el.navtype != 300) {
+		Calendar.addClass(el, "hilite");
+		if (el.caldate) {
+			Calendar.addClass(el.parentNode, "rowhilite");
+		}
+	}
+	return Calendar.stopEvent(ev);
+};
+
+Calendar.dayMouseOut = function(ev) {
+	with (Calendar) {
+		var el = getElement(ev);
+		if (isRelated(el, ev) || _C || el.disabled)
+			return false;
+		removeClass(el, "hilite");
+		if (el.caldate)
+			removeClass(el.parentNode, "rowhilite");
+		if (el.calendar)
+			el.calendar.tooltips.innerHTML = _TT["SEL_DATE"];
+		return stopEvent(ev);
+	}
+};
+
+/**
+ *  A generic "click" handler :) handles all types of buttons defined in this
+ *  calendar.
+ */
+Calendar.cellClick = function(el, ev) {
+	var cal = el.calendar;
+	var closing = false;
+	var newdate = false;
+	var date = null;
+	if (typeof el.navtype == "undefined") {
+		if (cal.currentDateEl) {
+			Calendar.removeClass(cal.currentDateEl, "selected");
+			Calendar.addClass(el, "selected");
+			closing = (cal.currentDateEl == el);
+			if (!closing) {
+				cal.currentDateEl = el;
+			}
+		}
+		cal.date.setDateOnly(el.caldate);
+		date = cal.date;
+		var other_month = !(cal.dateClicked = !el.otherMonth);
+		if (!other_month && !cal.currentDateEl)
+			cal._toggleMultipleDate(new Date(date));
+		else
+			newdate = !el.disabled;
+		// a date was clicked
+		if (other_month)
+			cal._init(cal.firstDayOfWeek, date);
+	} else {
+		if (el.navtype == 200) {
+			Calendar.removeClass(el, "hilite");
+			cal.callCloseHandler();
+			return;
+		}
+		date = new Date(cal.date);
+		if (el.navtype == 0)
+			date.setDateOnly(new Date()); // TODAY
+		// unless "today" was clicked, we assume no date was clicked so
+		// the selected handler will know not to close the calenar when
+		// in single-click mode.
+		// cal.dateClicked = (el.navtype == 0);
+		cal.dateClicked = false;
+		var year = date.getFullYear();
+		var mon = date.getMonth();
+		function setMonth(m) {
+			var day = date.getDate();
+			var max = date.getMonthDays(m);
+			if (day > max) {
+				date.setDate(max);
+			}
+			date.setMonth(m);
+		};
+		switch (el.navtype) {
+		    case 400:
+			Calendar.removeClass(el, "hilite");
+			var text = Calendar._TT["ABOUT"];
+			if (typeof text != "undefined") {
+				text += cal.showsTime ? Calendar._TT["ABOUT_TIME"] : "";
+			} else {
+				// FIXME: this should be removed as soon as lang files get updated!
+				text = "Help and about box text is not translated into this language.\n" +
+					"If you know this language and you feel generous please update\n" +
+					"the corresponding file in \"lang\" subdir to match calendar-en.js\n" +
+					"and send it back to <mihai_bazon@yahoo.com> to get it into the distribution  ;-)\n\n" +
+					"Thank you!\n" +
+					"http://dynarch.com/mishoo/calendar.epl\n";
+			}
+			alert(text);
+			return;
+		    case -2:
+			if (year > cal.minYear) {
+				date.setFullYear(year - 1);
+			}
+			break;
+		    case -1:
+			if (mon > 0) {
+				setMonth(mon - 1);
+			} else if (year-- > cal.minYear) {
+				date.setFullYear(year);
+				setMonth(11);
+			}
+			break;
+		    case 1:
+			if (mon < 11) {
+				setMonth(mon + 1);
+			} else if (year < cal.maxYear) {
+				date.setFullYear(year + 1);
+				setMonth(0);
+			}
+			break;
+		    case 2:
+			if (year < cal.maxYear) {
+				date.setFullYear(year + 1);
+			}
+			break;
+		    case 100:
+			cal.setFirstDayOfWeek(el.fdow);
+			return;
+		    case 50:
+			var range = el._range;
+			var current = el.innerHTML;
+			for (var i = range.length; --i >= 0;)
+				if (range[i] == current)
+					break;
+			if (ev && ev.shiftKey) {
+				if (--i < 0)
+					i = range.length - 1;
+			} else if ( ++i >= range.length )
+				i = 0;
+			var newval = range[i];
+			el.innerHTML = newval;
+			cal.onUpdateTime();
+			return;
+		    case 0:
+			// TODAY will bring us here
+			if ((typeof cal.getDateStatus == "function") &&
+			    cal.getDateStatus(date, date.getFullYear(), date.getMonth(), date.getDate())) {
+				return false;
+			}
+			break;
+		}
+		if (!date.equalsTo(cal.date)) {
+			cal.setDate(date);
+			newdate = true;
+		} else if (el.navtype == 0)
+			newdate = closing = true;
+	}
+	if (newdate) {
+		ev && cal.callHandler();
+	}
+	if (closing) {
+		Calendar.removeClass(el, "hilite");
+		ev && cal.callCloseHandler();
+	}
+};
+
+// END: CALENDAR STATIC FUNCTIONS
+
+// BEGIN: CALENDAR OBJECT FUNCTIONS
+
+/**
+ *  This function creates the calendar inside the given parent.  If _par is
+ *  null than it creates a popup calendar inside the BODY element.  If _par is
+ *  an element, be it BODY, then it creates a non-popup calendar (still
+ *  hidden).  Some properties need to be set before calling this function.
+ */
+Calendar.prototype.create = function (_par) {
+	var parent = null;
+	if (! _par) {
+		// default parent is the document body, in which case we create
+		// a popup calendar.
+		parent = document.getElementsByTagName("body")[0];
+		this.isPopup = true;
+	} else {
+		parent = _par;
+		this.isPopup = false;
+	}
+	this.date = this.dateStr ? new Date(this.dateStr) : new Date();
+
+	var table = Calendar.createElement("table");
+	this.table = table;
+	table.cellSpacing = 0;
+	table.cellPadding = 0;
+	table.calendar = this;
+	Calendar.addEvent(table, "mousedown", Calendar.tableMouseDown);
+
+	var div = Calendar.createElement("div");
+	this.element = div;
+	div.className = "calendar";
+	if (this.isPopup) {
+		div.style.position = "absolute";
+		div.style.display = "none";
+	}
+	div.appendChild(table);
+
+	var thead = Calendar.createElement("thead", table);
+	var cell = null;
+	var row = null;
+
+	var cal = this;
+	var hh = function (text, cs, navtype) {
+		cell = Calendar.createElement("td", row);
+		cell.colSpan = cs;
+		cell.className = "button";
+		if (navtype != 0 && Math.abs(navtype) <= 2)
+			cell.className += " nav";
+		Calendar._add_evs(cell);
+		cell.calendar = cal;
+		cell.navtype = navtype;
+		cell.innerHTML = "<div unselectable='on'>" + text + "</div>";
+		return cell;
+	};
+
+	row = Calendar.createElement("tr", thead);
+	var title_length = 6;
+	(this.isPopup) && --title_length;
+	(this.weekNumbers) && ++title_length;
+
+	hh("?", 1, 400).ttip = Calendar._TT["INFO"];
+	this.title = hh("", title_length, 300);
+	this.title.className = "title";
+	if (this.isPopup) {
+		this.title.ttip = Calendar._TT["DRAG_TO_MOVE"];
+		this.title.style.cursor = "move";
+		hh("&#x00d7;", 1, 200).ttip = Calendar._TT["CLOSE"];
+	}
+
+	row = Calendar.createElement("tr", thead);
+	row.className = "headrow";
+
+	this._nav_py = hh("&#x00ab;", 1, -2);
+	this._nav_py.ttip = Calendar._TT["PREV_YEAR"];
+
+	this._nav_pm = hh("&#x2039;", 1, -1);
+	this._nav_pm.ttip = Calendar._TT["PREV_MONTH"];
+
+	this._nav_now = hh(Calendar._TT["TODAY"], this.weekNumbers ? 4 : 3, 0);
+	this._nav_now.ttip = Calendar._TT["GO_TODAY"];
+
+	this._nav_nm = hh("&#x203a;", 1, 1);
+	this._nav_nm.ttip = Calendar._TT["NEXT_MONTH"];
+
+	this._nav_ny = hh("&#x00bb;", 1, 2);
+	this._nav_ny.ttip = Calendar._TT["NEXT_YEAR"];
+
+	// day names
+	row = Calendar.createElement("tr", thead);
+	row.className = "daynames";
+	if (this.weekNumbers) {
+		cell = Calendar.createElement("td", row);
+		cell.className = "name wn";
+		cell.innerHTML = Calendar._TT["WK"];
+	}
+	for (var i = 7; i > 0; --i) {
+		cell = Calendar.createElement("td", row);
+		if (!i) {
+			cell.navtype = 100;
+			cell.calendar = this;
+			Calendar._add_evs(cell);
+		}
+	}
+	this.firstdayname = (this.weekNumbers) ? row.firstChild.nextSibling : row.firstChild;
+	this._displayWeekdays();
+
+	var tbody = Calendar.createElement("tbody", table);
+	this.tbody = tbody;
+
+	for (i = 6; i > 0; --i) {
+		row = Calendar.createElement("tr", tbody);
+		if (this.weekNumbers) {
+			cell = Calendar.createElement("td", row);
+		}
+		for (var j = 7; j > 0; --j) {
+			cell = Calendar.createElement("td", row);
+			cell.calendar = this;
+			Calendar._add_evs(cell);
+		}
+	}
+
+	if (this.showsTime) {
+		row = Calendar.createElement("tr", tbody);
+		row.className = "time";
+
+		cell = Calendar.createElement("td", row);
+		cell.className = "time";
+		cell.colSpan = 2;
+		cell.innerHTML = Calendar._TT["TIME"] || "&nbsp;";
+
+		cell = Calendar.createElement("td", row);
+		cell.className = "time";
+		cell.colSpan = this.weekNumbers ? 4 : 3;
+
+		(function(){
+			function makeTimePart(className, init, range_start, range_end) {
+				var part = Calendar.createElement("span", cell);
+				part.className = className;
+				part.innerHTML = init;
+				part.calendar = cal;
+				part.ttip = Calendar._TT["TIME_PART"];
+				part.navtype = 50;
+				part._range = [];
+				if (typeof range_start != "number")
+					part._range = range_start;
+				else {
+					for (var i = range_start; i <= range_end; ++i) {
+						var txt;
+						if (i < 10 && range_end >= 10) txt = '0' + i;
+						else txt = '' + i;
+						part._range[part._range.length] = txt;
+					}
+				}
+				Calendar._add_evs(part);
+				return part;
+			};
+			var hrs = cal.date.getHours();
+			var mins = cal.date.getMinutes();
+			var t12 = !cal.time24;
+			var pm = (hrs > 12);
+			if (t12 && pm) hrs -= 12;
+			var H = makeTimePart("hour", hrs, t12 ? 1 : 0, t12 ? 12 : 23);
+			var span = Calendar.createElement("span", cell);
+			span.innerHTML = ":";
+			span.className = "colon";
+			var M = makeTimePart("minute", mins, 0, 59);
+			var AP = null;
+			cell = Calendar.createElement("td", row);
+			cell.className = "time";
+			cell.colSpan = 2;
+			if (t12)
+				AP = makeTimePart("ampm", pm ? "pm" : "am", ["am", "pm"]);
+			else
+				cell.innerHTML = "&nbsp;";
+
+			cal.onSetTime = function() {
+				var pm, hrs = this.date.getHours(),
+					mins = this.date.getMinutes();
+				if (t12) {
+					pm = (hrs >= 12);
+					if (pm) hrs -= 12;
+					if (hrs == 0) hrs = 12;
+					AP.innerHTML = pm ? "pm" : "am";
+				}
+				H.innerHTML = (hrs < 10) ? ("0" + hrs) : hrs;
+				M.innerHTML = (mins < 10) ? ("0" + mins) : mins;
+			};
+
+			cal.onUpdateTime = function() {
+				var date = this.date;
+				var h = parseInt(H.innerHTML, 10);
+				if (t12) {
+					if (/pm/i.test(AP.innerHTML) && h < 12)
+						h += 12;
+					else if (/am/i.test(AP.innerHTML) && h == 12)
+						h = 0;
+				}
+				var d = date.getDate();
+				var m = date.getMonth();
+				var y = date.getFullYear();
+				date.setHours(h);
+				date.setMinutes(parseInt(M.innerHTML, 10));
+				date.setFullYear(y);
+				date.setMonth(m);
+				date.setDate(d);
+				this.dateClicked = false;
+				this.callHandler();
+			};
+		})();
+	} else {
+		this.onSetTime = this.onUpdateTime = function() {};
+	}
+
+	var tfoot = Calendar.createElement("tfoot", table);
+
+	row = Calendar.createElement("tr", tfoot);
+	row.className = "footrow";
+
+	cell = hh(Calendar._TT["SEL_DATE"], this.weekNumbers ? 8 : 7, 300);
+	cell.className = "ttip";
+	if (this.isPopup) {
+		cell.ttip = Calendar._TT["DRAG_TO_MOVE"];
+		cell.style.cursor = "move";
+	}
+	this.tooltips = cell;
+
+	div = Calendar.createElement("div", this.element);
+	this.monthsCombo = div;
+	div.className = "combo";
+	for (i = 0; i < Calendar._MN.length; ++i) {
+		var mn = Calendar.createElement("div");
+		mn.className = Calendar.is_ie ? "label-IEfix" : "label";
+		mn.month = i;
+		mn.innerHTML = Calendar._SMN[i];
+		div.appendChild(mn);
+	}
+
+	div = Calendar.createElement("div", this.element);
+	this.yearsCombo = div;
+	div.className = "combo";
+	for (i = 12; i > 0; --i) {
+		var yr = Calendar.createElement("div");
+		yr.className = Calendar.is_ie ? "label-IEfix" : "label";
+		div.appendChild(yr);
+	}
+
+	this._init(this.firstDayOfWeek, this.date);
+	parent.appendChild(this.element);
+};
+
+/** keyboard navigation, only for popup calendars */
+Calendar._keyEvent = function(ev) {
+	var cal = window._dynarch_popupCalendar;
+	if (!cal || cal.multiple)
+		return false;
+	(Calendar.is_ie) && (ev = window.event);
+	var act = (Calendar.is_ie || ev.type == "keypress"),
+		K = ev.keyCode;
+	if (ev.ctrlKey) {
+		switch (K) {
+		    case 37: // KEY left
+			act && Calendar.cellClick(cal._nav_pm);
+			break;
+		    case 38: // KEY up
+			act && Calendar.cellClick(cal._nav_py);
+			break;
+		    case 39: // KEY right
+			act && Calendar.cellClick(cal._nav_nm);
+			break;
+		    case 40: // KEY down
+			act && Calendar.cellClick(cal._nav_ny);
+			break;
+		    default:
+			return false;
+		}
+	} else switch (K) {
+	    case 32: // KEY space (now)
+		Calendar.cellClick(cal._nav_now);
+		break;
+	    case 27: // KEY esc
+		act && cal.callCloseHandler();
+		break;
+	    case 37: // KEY left
+	    case 38: // KEY up
+	    case 39: // KEY right
+	    case 40: // KEY down
+		if (act) {
+			var prev, x, y, ne, el, step;
+			prev = K == 37 || K == 38;
+			step = (K == 37 || K == 39) ? 1 : 7;
+			function setVars() {
+				el = cal.currentDateEl;
+				var p = el.pos;
+				x = p & 15;
+				y = p >> 4;
+				ne = cal.ar_days[y][x];
+			};setVars();
+			function prevMonth() {
+				var date = new Date(cal.date);
+				date.setDate(date.getDate() - step);
+				cal.setDate(date);
+			};
+			function nextMonth() {
+				var date = new Date(cal.date);
+				date.setDate(date.getDate() + step);
+				cal.setDate(date);
+			};
+			while (1) {
+				switch (K) {
+				    case 37: // KEY left
+					if (--x >= 0)
+						ne = cal.ar_days[y][x];
+					else {
+						x = 6;
+						K = 38;
+						continue;
+					}
+					break;
+				    case 38: // KEY up
+					if (--y >= 0)
+						ne = cal.ar_days[y][x];
+					else {
+						prevMonth();
+						setVars();
+					}
+					break;
+				    case 39: // KEY right
+					if (++x < 7)
+						ne = cal.ar_days[y][x];
+					else {
+						x = 0;
+						K = 40;
+						continue;
+					}
+					break;
+				    case 40: // KEY down
+					if (++y < cal.ar_days.length)
+						ne = cal.ar_days[y][x];
+					else {
+						nextMonth();
+						setVars();
+					}
+					break;
+				}
+				break;
+			}
+			if (ne) {
+				if (!ne.disabled)
+					Calendar.cellClick(ne);
+				else if (prev)
+					prevMonth();
+				else
+					nextMonth();
+			}
+		}
+		break;
+	    case 13: // KEY enter
+		if (act)
+			Calendar.cellClick(cal.currentDateEl, ev);
+		break;
+	    default:
+		return false;
+	}
+	return Calendar.stopEvent(ev);
+};
+
+/**
+ *  (RE)Initializes the calendar to the given date and firstDayOfWeek
+ */
+Calendar.prototype._init = function (firstDayOfWeek, date) {
+	var today = new Date(),
+		TY = today.getFullYear(),
+		TM = today.getMonth(),
+		TD = today.getDate();
+	this.table.style.visibility = "hidden";
+	var year = date.getFullYear();
+	if (year < this.minYear) {
+		year = this.minYear;
+		date.setFullYear(year);
+	} else if (year > this.maxYear) {
+		year = this.maxYear;
+		date.setFullYear(year);
+	}
+	this.firstDayOfWeek = firstDayOfWeek;
+	this.date = new Date(date);
+	var month = date.getMonth();
+	var mday = date.getDate();
+	var no_days = date.getMonthDays();
+
+	// calendar voodoo for computing the first day that would actually be
+	// displayed in the calendar, even if it's from the previous month.
+	// WARNING: this is magic. ;-)
+	date.setDate(1);
+	var day1 = (date.getDay() - this.firstDayOfWeek) % 7;
+	if (day1 < 0)
+		day1 += 7;
+	date.setDate(-day1);
+	date.setDate(date.getDate() + 1);
+
+	var row = this.tbody.firstChild;
+	var MN = Calendar._SMN[month];
+	var ar_days = this.ar_days = new Array();
+	var weekend = Calendar._TT["WEEKEND"];
+	var dates = this.multiple ? (this.datesCells = {}) : null;
+	for (var i = 0; i < 6; ++i, row = row.nextSibling) {
+		var cell = row.firstChild;
+		if (this.weekNumbers) {
+			cell.className = "day wn";
+			cell.innerHTML = date.getWeekNumber();
+			cell = cell.nextSibling;
+		}
+		row.className = "daysrow";
+		var hasdays = false, iday, dpos = ar_days[i] = [];
+		for (var j = 0; j < 7; ++j, cell = cell.nextSibling, date.setDate(iday + 1)) {
+			iday = date.getDate();
+			var wday = date.getDay();
+			cell.className = "day";
+			cell.pos = i << 4 | j;
+			dpos[j] = cell;
+			var current_month = (date.getMonth() == month);
+			if (!current_month) {
+				if (this.showsOtherMonths) {
+					cell.className += " othermonth";
+					cell.otherMonth = true;
+				} else {
+					cell.className = "emptycell";
+					cell.innerHTML = "&nbsp;";
+					cell.disabled = true;
+					continue;
+				}
+			} else {
+				cell.otherMonth = false;
+				hasdays = true;
+			}
+			cell.disabled = false;
+			cell.innerHTML = this.getDateText ? this.getDateText(date, iday) : iday;
+			if (dates)
+				dates[date.print("%Y%m%d")] = cell;
+			if (this.getDateStatus) {
+				var status = this.getDateStatus(date, year, month, iday);
+				if (this.getDateToolTip) {
+					var toolTip = this.getDateToolTip(date, year, month, iday);
+					if (toolTip)
+						cell.title = toolTip;
+				}
+				if (status === true) {
+					cell.className += " disabled";
+					cell.disabled = true;
+				} else {
+					if (/disabled/i.test(status))
+						cell.disabled = true;
+					cell.className += " " + status;
+				}
+			}
+			if (!cell.disabled) {
+				cell.caldate = new Date(date);
+				cell.ttip = "_";
+				if (!this.multiple && current_month
+				    && iday == mday && this.hiliteToday) {
+					cell.className += " selected";
+					this.currentDateEl = cell;
+				}
+				if (date.getFullYear() == TY &&
+				    date.getMonth() == TM &&
+				    iday == TD) {
+					cell.className += " today";
+					cell.ttip += Calendar._TT["PART_TODAY"];
+				}
+				if (weekend.indexOf(wday.toString()) != -1)
+					cell.className += cell.otherMonth ? " oweekend" : " weekend";
+			}
+		}
+		if (!(hasdays || this.showsOtherMonths))
+			row.className = "emptyrow";
+	}
+	this.title.innerHTML = Calendar._MN[month] + ", " + year;
+	this.onSetTime();
+	this.table.style.visibility = "visible";
+	this._initMultipleDates();
+	// PROFILE
+	// this.tooltips.innerHTML = "Generated in " + ((new Date()) - today) + " ms";
+};
+
+Calendar.prototype._initMultipleDates = function() {
+	if (this.multiple) {
+		for (var i in this.multiple) {
+			var cell = this.datesCells[i];
+			var d = this.multiple[i];
+			if (!d)
+				continue;
+			if (cell)
+				cell.className += " selected";
+		}
+	}
+};
+
+Calendar.prototype._toggleMultipleDate = function(date) {
+	if (this.multiple) {
+		var ds = date.print("%Y%m%d");
+		var cell = this.datesCells[ds];
+		if (cell) {
+			var d = this.multiple[ds];
+			if (!d) {
+				Calendar.addClass(cell, "selected");
+				this.multiple[ds] = date;
+			} else {
+				Calendar.removeClass(cell, "selected");
+				delete this.multiple[ds];
+			}
+		}
+	}
+};
+
+Calendar.prototype.setDateToolTipHandler = function (unaryFunction) {
+	this.getDateToolTip = unaryFunction;
+};
+
+/**
+ *  Calls _init function above for going to a certain date (but only if the
+ *  date is different than the currently selected one).
+ */
+Calendar.prototype.setDate = function (date) {
+	if (!date.equalsTo(this.date)) {
+		this._init(this.firstDayOfWeek, date);
+	}
+};
+
+/**
+ *  Refreshes the calendar.  Useful if the "disabledHandler" function is
+ *  dynamic, meaning that the list of disabled date can change at runtime.
+ *  Just * call this function if you think that the list of disabled dates
+ *  should * change.
+ */
+Calendar.prototype.refresh = function () {
+	this._init(this.firstDayOfWeek, this.date);
+};
+
+/** Modifies the "firstDayOfWeek" parameter (pass 0 for Synday, 1 for Monday, etc.). */
+Calendar.prototype.setFirstDayOfWeek = function (firstDayOfWeek) {
+	this._init(firstDayOfWeek, this.date);
+	this._displayWeekdays();
+};
+
+/**
+ *  Allows customization of what dates are enabled.  The "unaryFunction"
+ *  parameter must be a function object that receives the date (as a JS Date
+ *  object) and returns a boolean value.  If the returned value is true then
+ *  the passed date will be marked as disabled.
+ */
+Calendar.prototype.setDateStatusHandler = Calendar.prototype.setDisabledHandler = function (unaryFunction) {
+	this.getDateStatus = unaryFunction;
+};
+
+/** Customization of allowed year range for the calendar. */
+Calendar.prototype.setRange = function (a, z) {
+	this.minYear = a;
+	this.maxYear = z;
+};
+
+/** Calls the first user handler (selectedHandler). */
+Calendar.prototype.callHandler = function () {
+	if (this.onSelected) {
+		this.onSelected(this, this.date.print(this.dateFormat));
+	}
+};
+
+/** Calls the second user handler (closeHandler). */
+Calendar.prototype.callCloseHandler = function () {
+	if (this.onClose) {
+		this.onClose(this);
+	}
+	this.hideShowCovered();
+};
+
+/** Removes the calendar object from the DOM tree and destroys it. */
+Calendar.prototype.destroy = function () {
+	var el = this.element.parentNode;
+	el.removeChild(this.element);
+	Calendar._C = null;
+	window._dynarch_popupCalendar = null;
+};
+
+/**
+ *  Moves the calendar element to a different section in the DOM tree (changes
+ *  its parent).
+ */
+Calendar.prototype.reparent = function (new_parent) {
+	var el = this.element;
+	el.parentNode.removeChild(el);
+	new_parent.appendChild(el);
+};
+
+// This gets called when the user presses a mouse button anywhere in the
+// document, if the calendar is shown.  If the click was outside the open
+// calendar this function closes it.
+Calendar._checkCalendar = function(ev) {
+	var calendar = window._dynarch_popupCalendar;
+	if (!calendar) {
+		return false;
+	}
+	var el = Calendar.is_ie ? Calendar.getElement(ev) : Calendar.getTargetElement(ev);
+	for (; el != null && el != calendar.element; el = el.parentNode);
+	if (el == null) {
+		// calls closeHandler which should hide the calendar.
+		window._dynarch_popupCalendar.callCloseHandler();
+		return Calendar.stopEvent(ev);
+	}
+};
+
+/** Shows the calendar. */
+Calendar.prototype.show = function () {
+	var rows = this.table.getElementsByTagName("tr");
+	for (var i = rows.length; i > 0;) {
+		var row = rows[--i];
+		Calendar.removeClass(row, "rowhilite");
+		var cells = row.getElementsByTagName("td");
+		for (var j = cells.length; j > 0;) {
+			var cell = cells[--j];
+			Calendar.removeClass(cell, "hilite");
+			Calendar.removeClass(cell, "active");
+		}
+	}
+	this.element.style.display = "block";
+	this.hidden = false;
+	if (this.isPopup) {
+		window._dynarch_popupCalendar = this;
+		Calendar.addEvent(document, "keydown", Calendar._keyEvent);
+		Calendar.addEvent(document, "keypress", Calendar._keyEvent);
+		Calendar.addEvent(document, "mousedown", Calendar._checkCalendar);
+	}
+	this.hideShowCovered();
+};
+
+/**
+ *  Hides the calendar.  Also removes any "hilite" from the class of any TD
+ *  element.
+ */
+Calendar.prototype.hide = function () {
+	if (this.isPopup) {
+		Calendar.removeEvent(document, "keydown", Calendar._keyEvent);
+		Calendar.removeEvent(document, "keypress", Calendar._keyEvent);
+		Calendar.removeEvent(document, "mousedown", Calendar._checkCalendar);
+	}
+	this.element.style.display = "none";
+	this.hidden = true;
+	this.hideShowCovered();
+};
+
+/**
+ *  Shows the calendar at a given absolute position (beware that, depending on
+ *  the calendar element style -- position property -- this might be relative
+ *  to the parent's containing rectangle).
+ */
+Calendar.prototype.showAt = function (x, y) {
+	var s = this.element.style;
+	s.left = x + "px";
+	s.top = y + "px";
+	this.show();
+};
+
+/** Shows the calendar near a given element. */
+Calendar.prototype.showAtElement = function (el, opts) {
+	var self = this;
+	var p = Calendar.getAbsolutePos(el);
+	if (!opts || typeof opts != "string") {
+		this.showAt(p.x, p.y + el.offsetHeight);
+		return true;
+	}
+	function fixPosition(box) {
+		if (box.x < 0)
+			box.x = 0;
+		if (box.y < 0)
+			box.y = 0;
+		var cp = document.createElement("div");
+		var s = cp.style;
+		s.position = "absolute";
+		s.right = s.bottom = s.width = s.height = "0px";
+		document.body.appendChild(cp);
+		var br = Calendar.getAbsolutePos(cp);
+		document.body.removeChild(cp);
+		if (Calendar.is_ie) {
+			br.y += document.body.scrollTop;
+			br.x += document.body.scrollLeft;
+		} else {
+			br.y += window.scrollY;
+			br.x += window.scrollX;
+		}
+		var tmp = box.x + box.width - br.x;
+		if (tmp > 0) box.x -= tmp;
+		tmp = box.y + box.height - br.y;
+		if (tmp > 0) box.y -= tmp;
+	};
+	this.element.style.display = "block";
+	Calendar.continuation_for_the_fucking_khtml_browser = function() {
+		var w = self.element.offsetWidth;
+		var h = self.element.offsetHeight;
+		self.element.style.display = "none";
+		var valign = opts.substr(0, 1);
+		var halign = "l";
+		if (opts.length > 1) {
+			halign = opts.substr(1, 1);
+		}
+		// vertical alignment
+		switch (valign) {
+		    case "T": p.y -= h; break;
+		    case "B": p.y += el.offsetHeight; break;
+		    case "C": p.y += (el.offsetHeight - h) / 2; break;
+		    case "t": p.y += el.offsetHeight - h; break;
+		    case "b": break; // already there
+		}
+		// horizontal alignment
+		switch (halign) {
+		    case "L": p.x -= w; break;
+		    case "R": p.x += el.offsetWidth; break;
+		    case "C": p.x += (el.offsetWidth - w) / 2; break;
+		    case "l": p.x += el.offsetWidth - w; break;
+		    case "r": break; // already there
+		}
+		p.width = w;
+		p.height = h + 40;
+		self.monthsCombo.style.display = "none";
+		fixPosition(p);
+		self.showAt(p.x, p.y);
+	};
+	if (Calendar.is_khtml)
+		setTimeout("Calendar.continuation_for_the_fucking_khtml_browser()", 10);
+	else
+		Calendar.continuation_for_the_fucking_khtml_browser();
+};
+
+/** Customizes the date format. */
+Calendar.prototype.setDateFormat = function (str) {
+	this.dateFormat = str;
+};
+
+/** Customizes the tooltip date format. */
+Calendar.prototype.setTtDateFormat = function (str) {
+	this.ttDateFormat = str;
+};
+
+/**
+ *  Tries to identify the date represented in a string.  If successful it also
+ *  calls this.setDate which moves the calendar to the given date.
+ */
+Calendar.prototype.parseDate = function(str, fmt) {
+	if (!fmt)
+		fmt = this.dateFormat;
+	this.setDate(Date.parseDate(str, fmt));
+};
+
+Calendar.prototype.hideShowCovered = function () {
+	if (!Calendar.is_ie && !Calendar.is_opera)
+		return;
+	function getVisib(obj){
+		var value = obj.style.visibility;
+		if (!value) {
+			if (document.defaultView && typeof (document.defaultView.getComputedStyle) == "function") { // Gecko, W3C
+				if (!Calendar.is_khtml)
+					value = document.defaultView.
+						getComputedStyle(obj, "").getPropertyValue("visibility");
+				else
+					value = '';
+			} else if (obj.currentStyle) { // IE
+				value = obj.currentStyle.visibility;
+			} else
+				value = '';
+		}
+		return value;
+	};
+
+	var tags = new Array("applet", "iframe", "select");
+	var el = this.element;
+
+	var p = Calendar.getAbsolutePos(el);
+	var EX1 = p.x;
+	var EX2 = el.offsetWidth + EX1;
+	var EY1 = p.y;
+	var EY2 = el.offsetHeight + EY1;
+
+	for (var k = tags.length; k > 0; ) {
+		var ar = document.getElementsByTagName(tags[--k]);
+		var cc = null;
+
+		for (var i = ar.length; i > 0;) {
+			cc = ar[--i];
+
+			p = Calendar.getAbsolutePos(cc);
+			var CX1 = p.x;
+			var CX2 = cc.offsetWidth + CX1;
+			var CY1 = p.y;
+			var CY2 = cc.offsetHeight + CY1;
+
+			if (this.hidden || (CX1 > EX2) || (CX2 < EX1) || (CY1 > EY2) || (CY2 < EY1)) {
+				if (!cc.__msh_save_visibility) {
+					cc.__msh_save_visibility = getVisib(cc);
+				}
+				cc.style.visibility = cc.__msh_save_visibility;
+			} else {
+				if (!cc.__msh_save_visibility) {
+					cc.__msh_save_visibility = getVisib(cc);
+				}
+				cc.style.visibility = "hidden";
+			}
+		}
+	}
+};
+
+/** Internal function; it displays the bar with the names of the weekday. */
+Calendar.prototype._displayWeekdays = function () {
+	var fdow = this.firstDayOfWeek;
+	var cell = this.firstdayname;
+	var weekend = Calendar._TT["WEEKEND"];
+	for (var i = 0; i < 7; ++i) {
+		cell.className = "day name";
+		var realday = (i + fdow) % 7;
+		if (i) {
+			cell.ttip = Calendar._TT["DAY_FIRST"].replace("%s", Calendar._DN[realday]);
+			cell.navtype = 100;
+			cell.calendar = this;
+			cell.fdow = realday;
+			Calendar._add_evs(cell);
+		}
+		if (weekend.indexOf(realday.toString()) != -1) {
+			Calendar.addClass(cell, "weekend");
+		}
+		cell.innerHTML = Calendar._SDN[(i + fdow) % 7];
+		cell = cell.nextSibling;
+	}
+};
+
+/** Internal function.  Hides all combo boxes that might be displayed. */
+Calendar.prototype._hideCombos = function () {
+	this.monthsCombo.style.display = "none";
+	this.yearsCombo.style.display = "none";
+};
+
+/** Internal function.  Starts dragging the element. */
+Calendar.prototype._dragStart = function (ev) {
+	if (this.dragging) {
+		return;
+	}
+	this.dragging = true;
+	var posX;
+	var posY;
+	if (Calendar.is_ie) {
+		posY = window.event.clientY + document.body.scrollTop;
+		posX = window.event.clientX + document.body.scrollLeft;
+	} else {
+		posY = ev.clientY + window.scrollY;
+		posX = ev.clientX + window.scrollX;
+	}
+	var st = this.element.style;
+	this.xOffs = posX - parseInt(st.left);
+	this.yOffs = posY - parseInt(st.top);
+	with (Calendar) {
+		addEvent(document, "mousemove", calDragIt);
+		addEvent(document, "mouseup", calDragEnd);
+	}
+};
+
+// BEGIN: DATE OBJECT PATCHES
+
+/** Adds the number of days array to the Date object. */
+Date._MD = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
+
+/** Constants used for time computations */
+Date.SECOND = 1000 /* milliseconds */;
+Date.MINUTE = 60 * Date.SECOND;
+Date.HOUR   = 60 * Date.MINUTE;
+Date.DAY    = 24 * Date.HOUR;
+Date.WEEK   =  7 * Date.DAY;
+
+Date.parseDate = function(str, fmt) {
+	var today = new Date();
+	var y = 0;
+	var m = -1;
+	var d = 0;
+	var a = str.split(/\W+/);
+	var b = fmt.match(/%./g);
+	var i = 0, j = 0;
+	var hr = 0;
+	var min = 0;
+	for (i = 0; i < a.length; ++i) {
+		if (!a[i])
+			continue;
+		switch (b[i]) {
+		    case "%d":
+		    case "%e":
+			d = parseInt(a[i], 10);
+			break;
+
+		    case "%m":
+			m = parseInt(a[i], 10) - 1;
+			break;
+
+		    case "%Y":
+		    case "%y":
+			y = parseInt(a[i], 10);
+			(y < 100) && (y += (y > 29) ? 1900 : 2000);
+			break;
+
+		    case "%b":
+		    case "%B":
+			for (j = 0; j < 12; ++j) {
+				if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) { m = j; break; }
+			}
+			break;
+
+		    case "%H":
+		    case "%I":
+		    case "%k":
+		    case "%l":
+			hr = parseInt(a[i], 10);
+			break;
+
+		    case "%P":
+		    case "%p":
+			if (/pm/i.test(a[i]) && hr < 12)
+				hr += 12;
+			else if (/am/i.test(a[i]) && hr >= 12)
+				hr -= 12;
+			break;
+
+		    case "%M":
+			min = parseInt(a[i], 10);
+			break;
+		}
+	}
+	if (isNaN(y)) y = today.getFullYear();
+	if (isNaN(m)) m = today.getMonth();
+	if (isNaN(d)) d = today.getDate();
+	if (isNaN(hr)) hr = today.getHours();
+	if (isNaN(min)) min = today.getMinutes();
+	if (y != 0 && m != -1 && d != 0)
+		return new Date(y, m, d, hr, min, 0);
+	y = 0; m = -1; d = 0;
+	for (i = 0; i < a.length; ++i) {
+		if (a[i].search(/[a-zA-Z]+/) != -1) {
+			var t = -1;
+			for (j = 0; j < 12; ++j) {
+				if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) { t = j; break; }
+			}
+			if (t != -1) {
+				if (m != -1) {
+					d = m+1;
+				}
+				m = t;
+			}
+		} else if (parseInt(a[i], 10) <= 12 && m == -1) {
+			m = a[i]-1;
+		} else if (parseInt(a[i], 10) > 31 && y == 0) {
+			y = parseInt(a[i], 10);
+			(y < 100) && (y += (y > 29) ? 1900 : 2000);
+		} else if (d == 0) {
+			d = a[i];
+		}
+	}
+	if (y == 0)
+		y = today.getFullYear();
+	if (m != -1 && d != 0)
+		return new Date(y, m, d, hr, min, 0);
+	return today;
+};
+
+/** Returns the number of days in the current month */
+Date.prototype.getMonthDays = function(month) {
+	var year = this.getFullYear();
+	if (typeof month == "undefined") {
+		month = this.getMonth();
+	}
+	if (((0 == (year%4)) && ( (0 != (year%100)) || (0 == (year%400)))) && month == 1) {
+		return 29;
+	} else {
+		return Date._MD[month];
+	}
+};
+
+/** Returns the number of day in the year. */
+Date.prototype.getDayOfYear = function() {
+	var now = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0);
+	var then = new Date(this.getFullYear(), 0, 0, 0, 0, 0);
+	var time = now - then;
+	return Math.floor(time / Date.DAY);
+};
+
+/** Returns the number of the week in year, as defined in ISO 8601. */
+Date.prototype.getWeekNumber = function() {
+	var d = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0);
+	var DoW = d.getDay();
+	d.setDate(d.getDate() - (DoW + 6) % 7 + 3); // Nearest Thu
+	var ms = d.valueOf(); // GMT
+	d.setMonth(0);
+	d.setDate(4); // Thu in Week 1
+	return Math.round((ms - d.valueOf()) / (7 * 864e5)) + 1;
+};
+
+/** Checks date and time equality */
+Date.prototype.equalsTo = function(date) {
+	return ((this.getFullYear() == date.getFullYear()) &&
+		(this.getMonth() == date.getMonth()) &&
+		(this.getDate() == date.getDate()) &&
+		(this.getHours() == date.getHours()) &&
+		(this.getMinutes() == date.getMinutes()));
+};
+
+/** Set only the year, month, date parts (keep existing time) */
+Date.prototype.setDateOnly = function(date) {
+	var tmp = new Date(date);
+	this.setDate(1);
+	this.setFullYear(tmp.getFullYear());
+	this.setMonth(tmp.getMonth());
+	this.setDate(tmp.getDate());
+};
+
+/** Prints the date in a string according to the given format. */
+Date.prototype.print = function (str) {
+	var m = this.getMonth();
+	var d = this.getDate();
+	var y = this.getFullYear();
+	var wn = this.getWeekNumber();
+	var w = this.getDay();
+	var s = {};
+	var hr = this.getHours();
+	var pm = (hr >= 12);
+	var ir = (pm) ? (hr - 12) : hr;
+	var dy = this.getDayOfYear();
+	if (ir == 0)
+		ir = 12;
+	var min = this.getMinutes();
+	var sec = this.getSeconds();
+	s["%a"] = Calendar._SDN[w]; // abbreviated weekday name [FIXME: I18N]
+	s["%A"] = Calendar._DN[w]; // full weekday name
+	s["%b"] = Calendar._SMN[m]; // abbreviated month name [FIXME: I18N]
+	s["%B"] = Calendar._MN[m]; // full month name
+	// FIXME: %c : preferred date and time representation for the current locale
+	s["%C"] = 1 + Math.floor(y / 100); // the century number
+	s["%d"] = (d < 10) ? ("0" + d) : d; // the day of the month (range 01 to 31)
+	s["%e"] = d; // the day of the month (range 1 to 31)
+	// FIXME: %D : american date style: %m/%d/%y
+	// FIXME: %E, %F, %G, %g, %h (man strftime)
+	s["%H"] = (hr < 10) ? ("0" + hr) : hr; // hour, range 00 to 23 (24h format)
+	s["%I"] = (ir < 10) ? ("0" + ir) : ir; // hour, range 01 to 12 (12h format)
+	s["%j"] = (dy < 100) ? ((dy < 10) ? ("00" + dy) : ("0" + dy)) : dy; // day of the year (range 001 to 366)
+	s["%k"] = hr;		// hour, range 0 to 23 (24h format)
+	s["%l"] = ir;		// hour, range 1 to 12 (12h format)
+	s["%m"] = (m < 9) ? ("0" + (1+m)) : (1+m); // month, range 01 to 12
+	s["%M"] = (min < 10) ? ("0" + min) : min; // minute, range 00 to 59
+	s["%n"] = "\n";		// a newline character
+	s["%p"] = pm ? "PM" : "AM";
+	s["%P"] = pm ? "pm" : "am";
+	// FIXME: %r : the time in am/pm notation %I:%M:%S %p
+	// FIXME: %R : the time in 24-hour notation %H:%M
+	s["%s"] = Math.floor(this.getTime() / 1000);
+	s["%S"] = (sec < 10) ? ("0" + sec) : sec; // seconds, range 00 to 59
+	s["%t"] = "\t";		// a tab character
+	// FIXME: %T : the time in 24-hour notation (%H:%M:%S)
+	s["%U"] = s["%W"] = s["%V"] = (wn < 10) ? ("0" + wn) : wn;
+	s["%u"] = w + 1;	// the day of the week (range 1 to 7, 1 = MON)
+	s["%w"] = w;		// the day of the week (range 0 to 6, 0 = SUN)
+	// FIXME: %x : preferred date representation for the current locale without the time
+	// FIXME: %X : preferred time representation for the current locale without the date
+	s["%y"] = ('' + y).substr(2, 2); // year without the century (range 00 to 99)
+	s["%Y"] = y;		// year with the century
+	s["%%"] = "%";		// a literal '%' character
+
+	var re = /%./g;
+	if (!Calendar.is_ie5 && !Calendar.is_khtml)
+		return str.replace(re, function (par) { return s[par] || par; });
+
+	var a = str.match(re);
+	for (var i = 0; i < a.length; i++) {
+		var tmp = s[a[i]];
+		if (tmp) {
+			re = new RegExp(a[i], 'g');
+			str = str.replace(re, tmp);
+		}
+	}
+
+	return str;
+};
+
+Date.prototype.__msh_oldSetFullYear = Date.prototype.setFullYear;
+Date.prototype.setFullYear = function(y) {
+	var d = new Date(this);
+	d.__msh_oldSetFullYear(y);
+	if (d.getMonth() != this.getMonth())
+		this.setDate(28);
+	this.__msh_oldSetFullYear(y);
+};
+
+// END: DATE OBJECT PATCHES
+
+
+// global object that remembers the calendar
+window._dynarch_popupCalendar = null;

Property changes on: tags/2.8.2/wb/include/jscalendar/calendar.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/include/jscalendar/menuarrow2.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/jscalendar/menuarrow2.gif
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/backgrounds/bg_14.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/captcha/backgrounds/bg_14.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/backgrounds/bg_15.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/captcha/backgrounds/bg_15.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/backgrounds/bg_10.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/captcha/backgrounds/bg_10.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/backgrounds/bg_11.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/captcha/backgrounds/bg_11.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/backgrounds/bg_12.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/captcha/backgrounds/bg_12.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/backgrounds/bg_13.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/captcha/backgrounds/bg_13.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/backgrounds/index.php
===================================================================
--- tags/2.8.2/wb/include/captcha/backgrounds/index.php	(nonexistent)
+++ tags/2.8.2/wb/include/captcha/backgrounds/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../index.php");
+
+?>

Property changes on: tags/2.8.2/wb/include/captcha/backgrounds/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/fonts/FreeSansWBCaptchaCond.ttf
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/captcha/fonts/FreeSansWBCaptchaCond.ttf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/fonts/FreeSerifItalicWBCaptchaCond.ttf
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/captcha/fonts/FreeSerifItalicWBCaptchaCond.ttf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/fonts/index.php
===================================================================
--- tags/2.8.2/wb/include/captcha/fonts/index.php	(nonexistent)
+++ tags/2.8.2/wb/include/captcha/fonts/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../index.php");
+
+?>

Property changes on: tags/2.8.2/wb/include/captcha/fonts/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/fonts/LL_Readme
===================================================================
--- tags/2.8.2/wb/include/captcha/fonts/LL_Readme	(nonexistent)
+++ tags/2.8.2/wb/include/captcha/fonts/LL_Readme	(revision 1481)
@@ -0,0 +1,31 @@
+These fonts (LLBd.ttf and LLBI.ttf, and cond-variants) are derivated from LinuxLibertine-Font for use with website baker's captcha _only_.
+All chars above pos. 127 has been removed!
+Jan. 2008 - thorn
+
+---------------------------------------------------
+
+LOFP - Libertine Open Fonts Project
+
+1. OPEN FONTS PROJECT'S AIMS
+We work on a serif font-family for practical use in documents. This project aims at creating a free alternative to the standard W*ndows Font (T*mes).
+But neveretheless Libertine is not a clone of any common font! It has been developed from scratch and it goes different ways in typography than the Times. Just the useability and the dimensions shall be similar, Libertine should be even better for typical office use! If you want a Times-clone go elsewhere! If you just need reliable and good typography give this font a chance. If you want to know more about the design of Libertine, have a look at our website.
+
+2. LICENSE AND OPENSOURCE
+We publish our fonts under the terms of the GPL (see GPL.txt) and OFL (OFL.txt) 
+-> see also LICENCE.txt!
+The OpenSource-tool Fontforge is used as font editor (see http://fontforge.sf.net).
+
+3. FONT FORMATS TTF VS. OTF
+The font files are available as TTF (TrueType) and OTF (OpenType) fonts. The TTF-Family is called "LinuxLibertine" and the OTF "LinuxLibertine O" so that both types can be installed and used parallely.
+We recommend TTF for most users. OTF is especially useful for Windows users (Hinting) and *.dfont for Mac-Users. The advanced typographic features like ligature substitution and Small Capitals, ... may be availible in the OTF only.
+
+4. HINTING
+The TrueType-hinting is a complex technique and our editor FontForge doesn't support it quite well (but alot better version by version)... Since version 2.7 also the normal TTFs are hinted. If you don't like this, send me a mail. You may also try the OpenTypes (which contain PS-Hintings which are quite good supported by fontforge).
+
+5. DOWNLOAD AND CONTACT
+We publish our fonts at http://linuxlibertine.sf.net.
+
+6. THE UNDERLINED VARIANT
+Some people liked our idea of a real underlined. The advantage of this font is that g, commas, cedillas... are not overprinted by the line anymore. For technical reasons the space is not underlined but you can use the _ instead. In this font it has the width of the space and the line is at hight of the underline. The underlined variant uses an older font outline! Please keep this in mind!
+
+

Property changes on: tags/2.8.2/wb/include/captcha/fonts/LL_Readme
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/fonts/LLBI_cond.ttf
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/captcha/fonts/LLBI_cond.ttf
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/fonts/LLBd.ttf_
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/captcha/fonts/LLBd.ttf_
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/fonts/LLBd_cond.ttf
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/captcha/fonts/LLBd_cond.ttf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/fonts/LLBI.ttf_
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/captcha/fonts/LLBI.ttf_
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/fonts/LL_OFL.txt
===================================================================
--- tags/2.8.2/wb/include/captcha/fonts/LL_OFL.txt	(nonexistent)
+++ tags/2.8.2/wb/include/captcha/fonts/LL_OFL.txt	(revision 1481)
@@ -0,0 +1,98 @@
+This Font Software is Copyright (c) 2003-2006, Philipp H. Poll (http://linuxlibertine.sf.net/).
+All Rights Reserved.
+
+"Linux Libertine" is a Reserved Font Name for this Font Software.
+
+This Font Software is licensed under the SIL Open Font License, Version 1.0.
+No modification of the license is permitted, only verbatim copy is allowed.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.0 - 22 November 2005
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of cooperative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide an open
+framework in which fonts may be shared and improved in partnership with
+others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded, 
+redistributed and sold with any software provided that the font
+names of derivative works are changed. The fonts and derivatives,
+however, cannot be released under any other type of license.
+
+DEFINITIONS
+"Font Software" refers to any and all of the following:
+	- font files
+	- data files
+	- source code
+	- build scripts
+	- documentation
+
+"Reserved Font Name" refers to the Font Software name as seen by
+users and any other names as specified after the copyright statement.
+
+"Standard Version" refers to the collection of Font Software
+components as distributed by the Copyright Holder.
+
+"Modified Version" refers to any derivative font software made by
+adding to, deleting, or substituting -- in part or in whole --
+any of the components of the Standard Version, by changing formats
+or by porting the Font Software to a new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Standard or Modified Versions, may be sold by itself.
+
+2) Standard or Modified Versions of the Font Software may be bundled,
+redistributed and sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s), in part or in whole, unless explicit written permission is
+granted by the Copyright Holder. This restriction applies to all 
+references stored in the Font Software, such as the font menu name and
+other font description fields, which are used to differentiate the
+font from others.
+
+4) The name(s) of the Copyright Holder or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed using this license, and may not be distributed
+under any other license.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.

Property changes on: tags/2.8.2/wb/include/captcha/fonts/LL_OFL.txt
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/fonts/LL_GPL.txt
===================================================================
--- tags/2.8.2/wb/include/captcha/fonts/LL_GPL.txt	(nonexistent)
+++ tags/2.8.2/wb/include/captcha/fonts/LL_GPL.txt	(revision 1481)
@@ -0,0 +1,343 @@
+		    GNU GENERAL PUBLIC LICENSE (with font exception)
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+                 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+As a special exception, if you create a document which uses this font, and embed this font or unaltered portions of this font into the document, this font does not by itself cause the resulting document to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the document might be covered by the GNU General Public License. If you modify this font, you may extend this exception to your version of the font, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+	    How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
+

Property changes on: tags/2.8.2/wb/include/captcha/fonts/LL_GPL.txt
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/fonts/LL_LICENCE.txt
===================================================================
--- tags/2.8.2/wb/include/captcha/fonts/LL_LICENCE.txt	(nonexistent)
+++ tags/2.8.2/wb/include/captcha/fonts/LL_LICENCE.txt	(revision 1481)
@@ -0,0 +1,7 @@
+- Lizenz / Licence -
+
+Unsere Schriften sind frei im Sinne der GPL, d.h. (stark vereinfacht) dass VerÃ¤nderungen an der Schriftart erlaubt sind unter der Bedingung, dass diese wieder der Ã–ffentlichkeit unter gleicher Lizenz freigegeben werden. Querdenker behaupten oft, dass bei der Verwendung einer GPL-Schrift eingebettet in beispielsweise eine PDF auch diese freigestellt werden mÃ¼sse. Deshalb gibt es die sogenannte "Font-exception" der GPL (welche diesem Lizenztext hinzugefÃ¼gt wurde). Weitere Informationen zur GPL (Lizenztext mit Font-Exzeption im Archiv).
+ZusÃ¤tzlich stehen die Schriften unter der Open Font License (siehe OFL.txt).
+
+Our fonts are free in the sense of the GPL. Changing the font is allowed as long as the derivative work is published under the same licence again. Pedantics keep claiming that the embedded use of GPL-fonts in i.e. PDFs requires the free publication of the PDF as well. This is why our GPL contains the so called "font exception". Further information about the GPL (Licence text with font exception of the archive).
+Additionally our fonts are licensed under the Open Fonts License (See OFL.txt).
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/captcha/fonts/LL_LICENCE.txt
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/captchas/ttf_image.php
===================================================================
--- tags/2.8.2/wb/include/captcha/captchas/ttf_image.php	(nonexistent)
+++ tags/2.8.2/wb/include/captcha/captchas/ttf_image.php	(revision 1481)
@@ -0,0 +1,141 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+require_once("../../../config.php");
+require_once(WB_PATH.'/include/captcha/captcha.php');
+
+if(!isset($_SESSION['captcha_time']))
+	exit;
+unset($_SESSION['captcha_time']);
+
+// get lists of fonts and backgrounds
+require_once(WB_PATH.'/framework/functions.php');
+$t_fonts = file_list(WB_PATH.'/include/captcha/fonts');
+$t_bgs = file_list(WB_PATH.'/include/captcha/backgrounds');
+$fonts = array();
+$bgs = array();
+foreach($t_fonts as $file) if(eregi('\.ttf$',$file)) $fonts[]=$file;
+foreach($t_bgs as $file) if(eregi('\.png$',$file)) $bgs[]=$file;
+
+// make random string
+if(!function_exists('randomString')) {
+	function randomString($len) {
+		list($usec, $sec) = explode(' ', microtime());
+		mt_srand((float)$sec + ((float)$usec * 100000));
+		//$possible="ABCDEFGHJKLMNPRSTUVWXYZabcdefghkmnpqrstuvwxyz23456789";
+		$possible="abdfhkrsvwxz23456789";
+		$str="";
+		while(strlen($str)<$len) {
+			$str.=substr($possible,(mt_rand()%(strlen($possible))),1);
+		}
+		return($str);
+	}
+}
+$text = randomString(5); // number of characters
+$_SESSION['captcha'] = $text; 
+
+// choose a font and background
+$font = $fonts[array_rand($fonts)];
+$bg = $bgs[array_rand($bgs)];
+// get image-dimensions
+list($width, $height, $type, $attr) = getimagesize($bg);
+
+// create reload-image
+$reload = ImageCreateFromPNG(WB_PATH.'/include/captcha/reload_140_40.png'); // reload-overlay
+
+if(mt_rand(0,2)==0) { // 1 out of 3
+
+	// draw each character individualy
+	$image = ImageCreateFromPNG($bg); // background image
+	$grey = mt_rand(0,50);
+	$color = ImageColorAllocate($image, $grey, $grey, $grey); // font-color
+	$ttf = $font;
+	$ttfsize = 25; // fontsize
+	$count = 0;
+	$image_failed = true;
+	$angle = mt_rand(-15,15);
+	$x = mt_rand(10,25);
+	$y = mt_rand($height-10,$height-2);
+	do {
+		for($i=0;$i<strlen($text);$i++) {
+			$res = imagettftext($image, $ttfsize, $angle, $x, $y, $color, $ttf, $text{$i});
+			$angle = mt_rand(-15,15);
+			$x = mt_rand($res[4],$res[4]+10);
+			$y = mt_rand($height-15,$height-5);
+		}
+		if($res[4] > $width) {
+			$image_failed = true;
+		} else {
+			$image_failed = false;
+		}
+		if(++$count > 4) // too many tries! Use the image
+			break;
+	} while($image_failed);
+	
+} else {
+	
+	// draw whole string at once
+	$image_failed = true;
+	$count=0;
+	do {
+		$image = ImageCreateFromPNG($bg); // background image
+		$grey = mt_rand(0,50);
+		$color = ImageColorAllocate($image, $grey, $grey, $grey); // font-color
+		$ttf = $font;
+		$ttfsize = 25; // fontsize
+		$angle = mt_rand(0,5);
+		$x = mt_rand(5,30);
+		$y = mt_rand($height-10,$height-2);
+		$res = imagettftext($image, $ttfsize, $angle, $x, $y, $color, $ttf, $text);
+		// check if text fits into the image
+		if(($res[0]>0 && $res[0]<$width) && ($res[1]>0 && $res[1]<$height) && 
+			 ($res[2]>0 && $res[2]<$width) && ($res[3]>0 && $res[3]<$height) && 
+			 ($res[4]>0 && $res[4]<$width) && ($res[5]>0 && $res[5]<$height) && 
+			 ($res[6]>0 && $res[6]<$width) && ($res[7]>0 && $res[7]<$height)
+		) {
+			$image_failed = false;
+		}
+		if(++$count > 4) // too many tries! Use the image
+			break;
+	} while($image_failed);
+	
+}
+
+imagealphablending($reload, TRUE);
+imagesavealpha($reload, TRUE);
+
+// overlay
+imagecopy($reload, $image, 0,0,0,0, 140,40);
+imagedestroy($image);
+$image = $reload;
+
+captcha_header();
+ob_start();
+imagepng($image);
+header("Content-Length: ".ob_get_length()); 
+ob_end_flush();
+imagedestroy($image);
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/captcha/captchas/ttf_image.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/captchas/old_image.php
===================================================================
--- tags/2.8.2/wb/include/captcha/captchas/old_image.php	(nonexistent)
+++ tags/2.8.2/wb/include/captcha/captchas/old_image.php	(revision 1481)
@@ -0,0 +1,79 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+require_once("../../../config.php");
+require_once(WB_PATH.'/include/captcha/captcha.php');
+
+if(!isset($_SESSION['captcha_time']))
+	exit;
+unset($_SESSION['captcha_time']);
+
+// Captcha
+srand((double)microtime()*100000);
+$_SESSION['captcha'] = rand(10000,99999);
+
+// create reload-image
+$reload = ImageCreateFromPNG(WB_PATH.'/include/captcha/reload_120_30.png'); // reload-overlay
+
+$w=120;
+$h=30;
+$image = imagecreate($w, $h);
+$white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
+$gray = imagecolorallocate($image, 0xC0, 0xC0, 0xC0);
+$darkgray = imagecolorallocate($image, 0x50, 0x50, 0x50);
+
+srand((double)microtime()*1000000);
+for($i = 0; $i < 30; $i++) {
+	$x1 = rand(0,$w);
+	$y1 = rand(0,$h);
+	$x2 = rand(0,$w);
+	$y2 = rand(0,$h);
+	imageline($image, $x1, $y1, $x2, $y2 , $gray);  
+}
+
+$x = 0;
+for($i = 0; $i < 5; $i++) {
+	$fnt = rand(3,5);
+	$x = $x + rand(12 , 20);
+	$y = rand(7 , 12); 
+	imagestring($image, $fnt, $x, $y, substr($_SESSION['captcha'], $i, 1), $darkgray); 
+}
+
+imagealphablending($reload, TRUE);
+imagesavealpha($reload, TRUE);
+
+// overlay
+imagecopy($reload, $image, 0,0,0,0, 120,30);
+imagedestroy($image);
+$image = $reload;
+
+captcha_header();
+ob_start();
+imagepng($image);
+header("Content-Length: ".ob_get_length()); 
+ob_end_flush();
+imagedestroy($image);
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/captcha/captchas/old_image.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/captchas/calc_ttf_image.php
===================================================================
--- tags/2.8.2/wb/include/captcha/captchas/calc_ttf_image.php	(nonexistent)
+++ tags/2.8.2/wb/include/captcha/captchas/calc_ttf_image.php	(revision 1481)
@@ -0,0 +1,150 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+require_once("../../../config.php");
+require_once(WB_PATH.'/include/captcha/captcha.php');
+
+if(!isset($_SESSION['captcha_time']))
+	exit;
+unset($_SESSION['captcha_time']);
+
+// get lists of fonts and backgrounds
+require_once(WB_PATH.'/framework/functions.php');
+$t_fonts = file_list(WB_PATH.'/include/captcha/fonts');
+$t_bgs = file_list(WB_PATH.'/include/captcha/backgrounds');
+$fonts = array();
+$bgs = array();
+foreach($t_fonts as $file) if(eregi('\.ttf$',$file)) $fonts[]=$file;
+foreach($t_bgs as $file) if(eregi('\.png$',$file)) $bgs[]=$file;
+
+// Captcha
+$_SESSION['captcha'] = '';
+mt_srand((double)microtime()*1000000);
+$n = mt_rand(1,3);
+switch ($n) {
+	case 1:
+		$x = mt_rand(1,9);
+		$y = mt_rand(1,9);
+		$_SESSION['captcha'] = $x + $y;
+		$cap = "$x+$y"; 
+		break; 
+	case 2:
+		$x = mt_rand(10,20);
+		$y = mt_rand(1,9);
+		$_SESSION['captcha'] = $x - $y; 
+		$cap = "$x-$y"; 
+		break;
+	case 3:
+		$x = mt_rand(2,10);
+		$y = mt_rand(2,5);
+		$_SESSION['captcha'] = $x * $y; 
+		$cap = "$x*$y"; 
+		break;
+}
+$text = $cap;
+
+// choose a font and background
+$font = $fonts[array_rand($fonts)];
+$bg = $bgs[array_rand($bgs)];
+// get image-dimensions
+list($width, $height, $type, $attr) = getimagesize($bg);
+
+// create reload-image
+$reload = ImageCreateFromPNG(WB_PATH.'/include/captcha/reload_140_40.png'); // reload-overlay
+
+if(mt_rand(0,2)==0) { // 1 out of 3
+
+	// draw each character individualy
+	$image = ImageCreateFromPNG($bg); // background image
+	$grey = mt_rand(0,50);
+	$color = ImageColorAllocate($image, $grey, $grey, $grey); // font-color
+	$ttf = $font;
+	$ttfsize = 25; // fontsize
+	$count = 0;
+	$image_failed = true;
+	$angle = mt_rand(-10,10);
+	$x = mt_rand(20,35);
+	$y = mt_rand($height-10,$height-2);
+	do {
+		for($i=0;$i<strlen($text);$i++) {
+			$res = imagettftext($image, $ttfsize, $angle, $x, $y, $color, $ttf, $text{$i});
+			$angle = mt_rand(-10,10);
+			$x = mt_rand($res[4],$res[4]+10);
+			$y = mt_rand($height-12,$height-7);
+		}
+		if($res[4] > $width) {
+			$image_failed = true;
+		} else {
+			$image_failed = false;
+		}
+		if(++$count > 4) // too many tries! Use the image
+			break;
+	} while($image_failed);
+	
+} else {
+	
+	// draw whole string at once
+	$image_failed = true;
+	$count=0;
+	do {
+		$image = ImageCreateFromPNG($bg); // background image
+		$grey = mt_rand(0,50);
+		$color = ImageColorAllocate($image, $grey, $grey, $grey); // font-color
+		$ttf = $font;
+		$ttfsize = 25; // fontsize
+		$angle = mt_rand(0,5);
+		$x = mt_rand(20,35);
+		$y = mt_rand($height-10,$height-2);
+		$res = imagettftext($image, $ttfsize, $angle, $x, $y, $color, $ttf, $text);
+		// check if text fits into the image
+		if(($res[0]>0 && $res[0]<$width) && ($res[1]>0 && $res[1]<$height) && 
+			 ($res[2]>0 && $res[2]<$width) && ($res[3]>0 && $res[3]<$height) && 
+			 ($res[4]>0 && $res[4]<$width) && ($res[5]>0 && $res[5]<$height) && 
+			 ($res[6]>0 && $res[6]<$width) && ($res[7]>0 && $res[7]<$height)
+		) {
+			$image_failed = false;
+		}
+		if(++$count > 4) // too many tries! Use the image
+			break;
+	} while($image_failed);
+	
+}
+
+imagealphablending($reload, TRUE);
+imagesavealpha($reload, TRUE);
+
+// overlay
+imagecopy($reload, $image, 0,0,0,0, 140,40);
+imagedestroy($image);
+$image = $reload;
+
+captcha_header();
+ob_start();
+imagepng($image);
+header("Content-Length: ".ob_get_length()); 
+ob_end_flush();
+imagedestroy($image);
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/captcha/captchas/calc_ttf_image.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/captchas/calc_image.php
===================================================================
--- tags/2.8.2/wb/include/captcha/captchas/calc_image.php	(nonexistent)
+++ tags/2.8.2/wb/include/captcha/captchas/calc_image.php	(revision 1481)
@@ -0,0 +1,96 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+require_once("../../../config.php");
+require_once(WB_PATH.'/include/captcha/captcha.php');
+
+if(!isset($_SESSION['captcha_time']))
+	exit;
+unset($_SESSION['captcha_time']);
+
+// Captcha
+$_SESSION['captcha'] = '';
+mt_srand((double)microtime()*1000000);
+$n = mt_rand(1,3);
+switch ($n) {
+	case 1:
+		$x = mt_rand(1,9);
+		$y = mt_rand(1,9);
+		$_SESSION['captcha'] = $x + $y;
+		$cap = "$x+$y"; 
+		break; 
+	case 2:
+		$x = mt_rand(10,20);
+		$y = mt_rand(1,9);
+		$_SESSION['captcha'] = $x - $y; 
+		$cap = "$x-$y"; 
+		break;
+	case 3:
+		$x = mt_rand(2,10);
+		$y = mt_rand(2,5);
+		$_SESSION['captcha'] = $x * $y; 
+		$cap = "$x*$y"; 
+		break;
+}
+
+// create reload-image
+$reload = ImageCreateFromPNG(WB_PATH.'/include/captcha/reload_120_30.png'); // reload-overlay
+
+$image = imagecreate(120, 30);
+
+$white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
+$gray = imagecolorallocate($image, 0xC0, 0xC0, 0xC0);
+$darkgray = imagecolorallocate($image, 0x30, 0x30, 0x30);
+
+for($i = 0; $i < 30; $i++) {
+	$x1 = mt_rand(0,120);
+	$y1 = mt_rand(0,30);
+	$x2 = mt_rand(0,120);
+	$y2 = mt_rand(0,30);
+	imageline($image, $x1, $y1, $x2, $y2 , $gray);  
+}
+
+$x = 10;
+$l = strlen($cap);
+for($i = 0; $i < $l; $i++) {
+	$fnt = mt_rand(3,5);
+	$x = $x + mt_rand(12 , 20);
+	$y = mt_rand(7 , 12); 
+	imagestring($image, $fnt, $x, $y, substr($cap, $i, 1), $darkgray); 
+}
+
+imagealphablending($reload, TRUE);
+imagesavealpha($reload, TRUE);
+
+// overlay
+imagecopy($reload, $image, 0,0,0,0, 120,30);
+imagedestroy($image);
+$image = $reload;
+
+captcha_header();
+imagepng($image);
+imagedestroy($image);
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/captcha/captchas/calc_image.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/captchas/text.php
===================================================================
--- tags/2.8.2/wb/include/captcha/captchas/text.php	(nonexistent)
+++ tags/2.8.2/wb/include/captcha/captchas/text.php	(revision 1481)
@@ -0,0 +1,97 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Must include code to stop this file being accessed directly
+if(defined('WB_PATH') == false) { exit("Cannot access this file directly"); }
+
+global $database;
+$name = 'text';
+$file = WB_PATH."/temp/.captcha_$name.php";
+
+srand((double)microtime()*100000);
+$_SESSION['captcha'] = rand(0,99999);
+
+// get questions and answers
+$text_qa='';
+$table = TABLE_PREFIX.'mod_captcha_control';
+if($query = $database->query("SELECT ct_text FROM $table")) {
+	$data = $query->fetchRow();
+	$text_qa = $data['ct_text'];
+}
+$content = explode("\n", $text_qa);
+
+reset($content);
+while($s = current($content)) {
+	// get question
+	$s=trim(rtrim(rtrim($s,"\n"),"\r")); // remove newline
+	if($s=='' OR $s{0}!='?') {
+		next($content);
+		continue;
+	}
+	if(isset($s{3}) && $s{3}==':') {
+		$lang=substr($s,1,2);
+		$q=substr($s,4);
+	}	else {
+		$lang='XX';
+		$q=substr($s,1);
+		if($q=='') {
+			next($content);
+			continue;
+		}
+	}
+	// get answer
+	$s=next($content);
+	$s=trim(rtrim(rtrim($s,"\n"),"\r")); // remove newline
+	if(isset($s{0}) && $s{0}=='!') {
+		$a=substr($s,1);
+		$qa[$lang][$q]=$a;
+		next($content);
+	}
+}
+if(!isset($qa) || $qa == array()) {
+	echo '<b>Error</b>: no text defined! Enter <b>0</b> to solve this captcha';
+	$_SESSION['captcha'] = '0';
+	return;
+}
+
+// choose language to use
+if(defined('LANGUAGE') && isset($qa[LANGUAGE]))
+	$lang = LANGUAGE;
+else
+	$lang = 'XX';
+if(!isset($qa[$lang])) {
+	echo '<b>Error</b>: no text defined! Enter <b>0</b> to solve this captcha';
+	$_SESSION['captcha'] = '0';
+	return;
+}
+
+// choose random question
+$k = array_rand($qa[$lang]);
+
+$_SESSION['captcha'] = $qa[$lang][$k];
+
+echo $k;
+
+?>

Property changes on: tags/2.8.2/wb/include/captcha/captchas/text.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/captchas/calc_text.php
===================================================================
--- tags/2.8.2/wb/include/captcha/captchas/calc_text.php	(nonexistent)
+++ tags/2.8.2/wb/include/captcha/captchas/calc_text.php	(revision 1481)
@@ -0,0 +1,61 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Must include code to stop this file being accessed directly
+if(defined('WB_PATH') == false) { exit("Cannot access this file directly"); }
+
+if(!file_exists(WB_PATH.'/modules/captcha_control/languages/'.LANGUAGE .'.php')) {
+	// no module language file exists for the language set by the user, include default module language file EN.php
+	require_once(WB_PATH.'/modules/captcha_control/languages/EN.php');
+} else {
+	// a module language file exists for the language defined by the user, load it
+	require_once(WB_PATH.'/modules/captcha_control/languages/'.LANGUAGE .'.php');
+}
+
+$_SESSION['captcha'] = '';
+mt_srand((double)microtime()*1000000);
+$n = mt_rand(1,3);
+switch ($n) {
+	case 1:
+		$x = mt_rand(1,9);
+		$y = mt_rand(1,9);
+		$_SESSION['captcha'] = $x + $y;
+		$cap = "$x {$MOD_CAPTCHA['ADDITION']} $y"; 
+		break; 
+	case 2:
+		$x = mt_rand(10,20);
+		$y = mt_rand(1,9);
+		$_SESSION['captcha'] = $x - $y; 
+		$cap = "$x {$MOD_CAPTCHA['SUBTRAKTION']} $y"; 
+		break;
+	case 3:
+		$x = mt_rand(2,10);
+		$y = mt_rand(2,5);
+		$_SESSION['captcha'] = $x * $y; 
+		$cap = "$x {$MOD_CAPTCHA['MULTIPLIKATION']} $y"; 
+		break;
+}
+echo $cap;
+?>

Property changes on: tags/2.8.2/wb/include/captcha/captchas/calc_text.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/captchas/index.php
===================================================================
--- tags/2.8.2/wb/include/captcha/captchas/index.php	(nonexistent)
+++ tags/2.8.2/wb/include/captcha/captchas/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/captcha/captchas/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/captchas/text.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/captcha/captchas/text.png
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/captchas/calc_ttf_image.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/captcha/captchas/calc_ttf_image.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/captchas/ttf_image.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/captcha/captchas/ttf_image.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/captchas/old_image.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/captcha/captchas/old_image.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/captchas/calc_image.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/captcha/captchas/calc_image.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/captchas/calc_text.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/captcha/captchas/calc_text.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/captcha.php
===================================================================
--- tags/2.8.2/wb/include/captcha/captcha.php	(nonexistent)
+++ tags/2.8.2/wb/include/captcha/captcha.php	(revision 1481)
@@ -0,0 +1,252 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// displays the image or text inside an <iframe>
+function display_captcha_real($kind='image') {
+	$t = time();
+	$_SESSION['captcha_time'] = $t;
+	if($kind=='image') {
+		?><a title="reload" href="<?php echo WB_URL.'/include/captcha/captcha.php?display_captcha_X986E21=2'; ?>">
+		  <img style="border: none;" src="<?php echo WB_URL.'/include/captcha/captchas/'.CAPTCHA_TYPE.".php?t=$t"; ?>" alt="Captcha" />
+			</a><?php
+	} else {
+		echo 'error';
+	}
+}
+
+// called from an <iframe>
+if(isset($_GET['display_captcha_X986E21'])) {
+	require('../../config.php');
+	switch(CAPTCHA_TYPE) {
+	case 'calc_image':
+	case 'calc_ttf_image':
+	case 'ttf_image':
+	case 'old_image':
+		display_captcha_real('image');
+		break;
+	}
+	exit(0);
+}
+
+
+// Make sure page cannot be accessed directly
+if(!defined('WB_PATH')) { exit("Cannot access this file directly"); }
+
+// check if module language file exists for the language set by the user (e.g. DE, EN)
+global $MOD_CAPTCHA;
+if(!file_exists(WB_PATH.'/modules/captcha_control/languages/'.LANGUAGE .'.php')) {
+	// no module language file exists for the language set by the user, include default module language file EN.php
+	require_once(WB_PATH.'/modules/captcha_control/languages/EN.php');
+} else {
+	// a module language file exists for the language defined by the user, load it
+	require_once(WB_PATH.'/modules/captcha_control/languages/'.LANGUAGE .'.php');
+}
+
+// output-handler for image-captchas to determine size of image
+if(!function_exists('captcha_header')) {
+	function captcha_header() {
+		header("Expires: Mon, 1 Jan 1990 05:00:00 GMT");
+		header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
+		header("Cache-Control: no-store, no-cache, must-revalidate, proxy-revalidate");
+		header("Cache-Control: post-check=0, pre-check=0", false); // MS made there own headers :-(
+		header("Pragma: no-cache");
+		header("Content-type: image/png");
+		return;
+	}
+}
+
+// get list of available CAPTCHAS for the dropdown-listbox in admin-tools
+if(extension_loaded('gd') && function_exists('imagepng') && function_exists('imagettftext')) {
+	$useable_captchas = array(
+		'calc_text'=>$MOD_CAPTCHA_CONTROL['CALC_TEXT'],
+		'calc_image'=>$MOD_CAPTCHA_CONTROL['CALC_IMAGE'],
+		'calc_ttf_image'=>$MOD_CAPTCHA_CONTROL['CALC_TTF_IMAGE'],
+		'ttf_image'=>$MOD_CAPTCHA_CONTROL['TTF_IMAGE'],
+		'old_image'=>$MOD_CAPTCHA_CONTROL['OLD_IMAGE'],
+		'text'=>$MOD_CAPTCHA_CONTROL['TEXT']
+	);
+} elseif(extension_loaded('gd') && function_exists('imagepng')) {
+	$useable_captchas = array(
+		'calc_text'=>$MOD_CAPTCHA_CONTROL['CALC_TEXT'],
+		'calc_image'=>$MOD_CAPTCHA_CONTROL['CALC_IMAGE'],
+		'old_image'=>$MOD_CAPTCHA_CONTROL['OLD_IMAGE'],
+		'text'=>$MOD_CAPTCHA_CONTROL['TEXT']
+	);
+} else {
+	$useable_captchas = array(
+		'calc_text'=>$MOD_CAPTCHA_CONTROL['CALC_TEXT'],
+		'text'=>$MOD_CAPTCHA_CONTROL['TEXT']
+	);
+}
+
+if(!function_exists('call_captcha')) {
+	function call_captcha($action='all', $style='') {
+		global $MOD_CAPTCHA;
+		$t = time();
+		$_SESSION['captcha_time'] = $t;
+
+		// get width and height of captcha image for use in <iframe>
+		switch(CAPTCHA_TYPE) {
+		case 'calc_image':
+			$captcha_width = 142;
+			$captcha_height = 30;
+			break;
+		case 'calc_ttf_image':
+			$captcha_width = 162;
+			$captcha_height = 40;
+			break;
+		case 'ttf_image':
+			$captcha_width = 162;
+			$captcha_height = 40;
+			break;
+		case 'old_image':
+			$captcha_width = 142;
+			$captcha_height = 30;
+			break;
+		default:
+			$captcha_width = 250;
+			$captcha_height = 100;
+		}
+
+		if($action=='all') {
+			switch(CAPTCHA_TYPE) {
+				case 'text': // text-captcha
+					?><table class="captcha_table"><tr>
+					<td class="text_captcha">
+						<?php include(WB_PATH.'/include/captcha/captchas/'.CAPTCHA_TYPE.'.php'); ?>
+					</td>
+					<td></td>
+					<td><input type="text" name="captcha" maxlength="50"  style="width:150px;" /></td>
+					<td class="captcha_expl"><?php echo $MOD_CAPTCHA['VERIFICATION_INFO_QUEST']; ?></td>
+					</tr></table><?php
+					break;
+				case 'calc_text': // calculation as text
+					?><table class="captcha_table"><tr>
+					<td class="text_captcha">
+						<?php include(WB_PATH.'/include/captcha/captchas/'.CAPTCHA_TYPE.'.php'); ?>
+					</td>
+					<td>&nbsp;=&nbsp;</td>
+					<td><input type="text" name="captcha" maxlength="10"  style="width:20px;" /></td>
+					<td class="captcha_expl"><?php echo $MOD_CAPTCHA['VERIFICATION_INFO_RES']; ?></td>
+					</tr></table><?php
+					break;
+				case 'calc_image': // calculation with image (old captcha)
+				case 'calc_ttf_image': // calculation with varying background and ttf-font
+				  ?><table class="captcha_table"><tr>
+					<td class="image_captcha">
+						<iframe class="captcha_iframe" width="<?php echo $captcha_width; ?>" height="<?php echo $captcha_height; ?>" scrolling="no" marginheight="0" marginwidth="0" frameborder="0" name="captcha_iframe" src="<?php echo WB_URL.'/include/captcha/captcha.php?display_captcha_X986E21=1'; ?>">
+						<img src="<?php echo WB_URL.'/include/captcha/captchas/'.CAPTCHA_TYPE.".php?t=$t"; ?>" alt="Captcha" />
+						</iframe>
+					</td>
+					<td>&nbsp;=&nbsp;</td>
+					<td><input type="text" name="captcha" maxlength="10" style="width:20px;" /></td>
+					<td class="captcha_expl"><?php echo $MOD_CAPTCHA['VERIFICATION_INFO_RES']; ?></td>
+					</tr></table><?php
+					break;
+				// normal images
+				case 'ttf_image': // captcha with varying background and ttf-font
+				case 'old_image': // old captcha
+					?><table class="captcha_table"><tr>
+					<td class="image_captcha">
+						<iframe class="captcha_iframe" width="<?php echo $captcha_width; ?>" height="<?php echo $captcha_height; ?>" scrolling="no" marginheight="0" marginwidth="0" frameborder="0" name="captcha_iframe" src="<?php echo WB_URL.'/include/captcha/captcha.php?display_captcha_X986E21=1'; ?>">
+						<img src="<?php echo WB_URL.'/include/captcha/captchas/'.CAPTCHA_TYPE.".php?t=$t"; ?>" alt="Captcha" />
+						</iframe>
+					</td>
+					<td></td>
+					<td><input type="text" name="captcha" maxlength="10" style="width:50px;" /></td>
+					<td class="captcha_expl"><?php echo $MOD_CAPTCHA['VERIFICATION_INFO_TEXT']; ?></td>
+					</tr></table><?php
+					break;
+			}
+		} elseif($action=='image') {
+			switch(CAPTCHA_TYPE) {
+				case 'text': // text-captcha
+				case 'calc_text': // calculation as text
+					echo ($style?"<span $style>":'');
+					include(WB_PATH.'/include/captcha/captchas/'.CAPTCHA_TYPE.'.php');
+					echo ($style?'</span>':'');
+					break;
+				case 'calc_image': // calculation with image (old captcha)
+				case 'calc_ttf_image': // calculation with varying background and ttf-font
+				case 'ttf_image': // captcha with varying background and ttf-font
+				case 'old_image': // old captcha
+					echo "<img $style src=\"".WB_URL.'/include/captcha/captchas/'.CAPTCHA_TYPE.".php?t=$t\" />";
+					break;
+			}
+		} elseif($action=='image_iframe') {
+			switch(CAPTCHA_TYPE) {
+				case 'text': // text-captcha
+					echo ($style?"<span $style>":'');
+					include(WB_PATH.'/include/captcha/captchas/'.CAPTCHA_TYPE.'.php');
+					echo ($style?'</span>':'');
+					break;
+				case 'calc_text': // calculation as text
+					include(WB_PATH.'/include/captcha/captchas/'.CAPTCHA_TYPE.'.php');
+					break;
+				case 'calc_image': // calculation with image (old captcha)
+				case 'calc_ttf_image': // calculation with varying background and ttf-font
+				case 'ttf_image': // captcha with varying background and ttf-font
+				case 'old_image': // old captcha
+					?><iframe class="captcha_iframe" width="<?php echo $captcha_width; ?>" height="<?php echo $captcha_height; ?>" scrolling="no" marginheight="0" marginwidth="0" frameborder="0" name="captcha_iframe" src="<?php echo WB_URL.'/include/captcha/captcha.php?display_captcha_X986E21=1'; ?>"><?php
+					echo "<img $style alt=\"Captcha\" src=\"".WB_URL.'/include/captcha/captchas/'.CAPTCHA_TYPE.".php?t=$t\" />";
+					?></iframe><?php
+					break;
+			}
+		} elseif($action=='input') {
+			switch(CAPTCHA_TYPE) {
+				case 'text': // text-captcha
+					echo '<input type="text" name="captcha" '.($style?$style:'style="width:150px;" maxlength="50"').' />';
+					break;
+				case 'calc_text': // calculation as text
+				case 'calc_image': // calculation with image (old captcha)
+				case 'calc_ttf_image': // calculation with varying background and ttf-font
+					echo '<input type="text" name="captcha" '.($style?$style:'style="width:20px;" maxlength="10"').' />';
+					break;
+				case 'ttf_image': // captcha with varying background and ttf-font
+				case 'old_image': // old captcha
+					echo '<input type="text" name="captcha" '.($style?$style:'style="width:50px;" maxlength="10"').' />';
+					break;
+			}
+		} elseif($action=='text') {
+			echo ($style?"<span $style>":'');
+			switch(CAPTCHA_TYPE) {
+				case 'text': // text-captcha
+					echo $MOD_CAPTCHA['VERIFICATION_INFO_QUEST'];
+					break;
+				case 'calc_text': // calculation as text
+				case 'calc_image': // calculation with image (old captcha)
+				case 'calc_ttf_image': // calculation with varying background and ttf-font
+					echo $MOD_CAPTCHA['VERIFICATION_INFO_RES'];
+					break;
+				case 'ttf_image': // captcha with varying background and ttf-font
+				case 'old_image': // old captcha
+					echo $MOD_CAPTCHA['VERIFICATION_INFO_TEXT'];
+					break;
+			}
+			echo ($style?'</span>':'');
+		}
+	}
+}
+

Property changes on: tags/2.8.2/wb/include/captcha/captcha.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/readme.txt
===================================================================
--- tags/2.8.2/wb/include/captcha/readme.txt	(nonexistent)
+++ tags/2.8.2/wb/include/captcha/readme.txt	(revision 1481)
@@ -0,0 +1,78 @@
+// $Id$
+
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+
+
+One can improve all CAPTCHA-types with varying fonts and backgrounds
+- by adding backgrounds (PNG-images, 140x40 pixels) to backgrounds/
+- and by adding TrueType-fonts to fonts/
+
+
+How to use:
+
+1.)
+put 
+  require_once(WB_PATH.'/include/captcha/captcha.php');
+in your file.
+
+
+2a.)
+put 
+  <?php call_captcha(); ?>
+into your form.
+This will output a table with varying columns (3 or 4) like this example:
+<table class="captcha_table"><tr>
+  <td><img src="http://www.example.org/include/captcha/captchas/ttf.php?t=64241454" alt="Captcha" /></td>
+  <td><input type="text" name="captcha" maxlength="5" style="width:50px" /></td>
+  <td class="captcha_expl">Fill in the result</td>
+</tr></table>
+
+
+2b.)
+If you want to use your own layout, use additional parameters to call_captcha():
+call_captcha('all') will output the whole table as above.
+
+call_captcha('image', $style); will output the <img>-tag for the image only (or the text for an text-style captcha):
+Examples:
+  call_captcha('image', 'style="...; title="captcha"');
+    <img style="...; title="captcha" src="http://www.example.org/include/captcha/captchas/captcha.php?t=46784246" />
+    or
+    <span style="...; title="captcha">4 add 6</span>
+	call_captcha('image');
+    <img src="http://www.example.org/include/captcha/captchas/captcha.php?t=46784246" />
+    or
+    4 add 6
+
+call_captcha('input', $style); will output the input-field:
+  call_captcha('input', 'style"...;"');
+    <input type="text" name="captcha" style="...;" />
+  call_captcha('input');
+    <input type="text" name="captcha" style="width:50px;" maxlength="10" />
+
+call_captcha('text', $style); will output a short "what to do"-text
+  call_captcha('text', 'style="...;"');
+	  <span style="...;">Fill in the result</span>
+  call_captcha('text');
+	  Fill in the result
+
+
+
+The CAPTCHA-code is allways stored in $_SESSION['captcha'] for verification with user-input.
+The user-input is in $_POST['captcha'] (or maybe $_GET['captcha']).

Property changes on: tags/2.8.2/wb/include/captcha/readme.txt
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/index.php
===================================================================
--- tags/2.8.2/wb/include/captcha/index.php	(nonexistent)
+++ tags/2.8.2/wb/include/captcha/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../index.php");
+
+?>

Property changes on: tags/2.8.2/wb/include/captcha/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/reload_140_40.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/captcha/reload_140_40.png
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha/reload_120_30.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/include/captcha/reload_120_30.png
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/include/captcha.php
===================================================================
--- tags/2.8.2/wb/include/captcha.php	(nonexistent)
+++ tags/2.8.2/wb/include/captcha.php	(revision 1481)
@@ -0,0 +1,83 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+/*
+
+Captcha generator
+
+This file generates a captcha image.
+Credits to http://php.webmaster-kit.com/ for the original code.
+
+*/
+
+require_once("../config.php");
+
+if(extension_loaded('gd') AND function_exists('imageCreateFromJpeg') AND isset($_SESSION['captcha'])) {
+	
+	$image = imagecreate(120, 30);
+	
+	$white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
+	$gray = imagecolorallocate($image, 0xC0, 0xC0, 0xC0);
+	$darkgray = imagecolorallocate($image, 0x50, 0x50, 0x50);
+	
+	srand((double)microtime()*1000000);
+	
+	for($i = 0; $i < 30; $i++) {
+		$x1 = rand(0,120);
+		$y1 = rand(0,30);
+		$x2 = rand(0,120);
+		$y2 = rand(0,30);
+		imageline($image, $x1, $y1, $x2, $y2 , $gray);  
+	}
+	
+	$x = 0;
+	for($i = 0; $i < 5; $i++) {
+		$fnt = rand(3,5);
+		$x = $x + rand(12 , 20);
+		$y = rand(7 , 12); 
+		imagestring($image, $fnt, $x, $y, substr($_SESSION['captcha'], $i, 1), $darkgray); 
+	}
+	
+	// start buffering for size determination
+	ob_start();
+	// add no cache headers
+	header("Expires: Mon, 1 Jan 1990 05:00:00 GMT");
+	header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
+	header("Cache-Control: no-store, no-cache, must-revalidate");
+	header("Cache-Control: post-check=0, pre-check=0", false);
+	header("Pragma: no-cache");
+	header("Content-type: image/png");
+	// Make image
+	imagepng($image);
+	// Fetch length
+	header("Content-Length: " . ob_get_length());
+	// send image and turn off buffering
+	ob_end_flush();
+	// clear memory
+	imagedestroy($image);
+
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/captcha.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/include/index.php
===================================================================
--- tags/2.8.2/wb/include/index.php	(nonexistent)
+++ tags/2.8.2/wb/include/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/include/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/groups/groups.php
===================================================================
--- tags/2.8.2/wb/admin/groups/groups.php	(nonexistent)
+++ tags/2.8.2/wb/admin/groups/groups.php	(revision 1481)
@@ -0,0 +1,188 @@
+<?php
+/**
+ *
+ * @category        admin
+ * @package         groups
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// Include config file and admin class file
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+
+// Create new database object
+$database = new database();
+
+if(!isset($_POST['action']) OR ($_POST['action'] != "modify" AND $_POST['action'] != "delete")) {
+	header("Location: index.php");
+	exit(0);
+}
+
+// Set parameter 'action' as alternative to javascript mechanism
+if(isset($_POST['modify']))
+	$_POST['action'] = "modify";
+if(isset($_POST['delete']))
+	$_POST['action'] = "delete";
+
+// Check if group group_id is a valid number and doesnt equal 1
+if(!isset($_POST['group_id']) OR !is_numeric($_POST['group_id']) OR $_POST['group_id'] == 1) {
+	header("Location: index.php");
+	exit(0);
+}
+
+if($_POST['action'] == 'modify') {
+	// Create new admin object
+	$admin = new admin('Access', 'groups_modify', false);
+	// Print header
+	$admin->print_header();
+	// Get existing values
+	$results = $database->query("SELECT * FROM ".TABLE_PREFIX."groups WHERE group_id = '".$_POST['group_id']."'");
+	$group = $results->fetchRow();
+	// Setup template object
+	$template = new Template(THEME_PATH.'/templates');
+	$template->set_file('page', 'groups_form.htt');
+	$template->set_block('page', 'main_block', 'main');
+	$template->set_var(	array(
+										'ACTION_URL' => ADMIN_URL.'/groups/save.php',
+										'SUBMIT_TITLE' => $TEXT['SAVE'],
+										'GROUP_ID' => $group['group_id'],
+										'GROUP_NAME' => $group['name'],
+										'ADVANCED_ACTION' => 'groups.php'
+										)
+							);
+	// Tell the browser whether or not to show advanced options
+	if( true == (isset( $_POST['advanced']) AND ( strpos( $_POST['advanced'], ">>") > 0 ) ) ) {
+		$template->set_var('DISPLAY_ADVANCED', '');
+		$template->set_var('DISPLAY_BASIC', 'display:none;');
+		$template->set_var('ADVANCED', 'yes');
+		$template->set_var('ADVANCED_BUTTON', '&lt;&lt; '.$TEXT['HIDE_ADVANCED']);
+	} else {
+		$template->set_var('DISPLAY_ADVANCED', 'display:none;');
+		$template->set_var('DISPLAY_BASIC', '');
+		$template->set_var('ADVANCED', 'no');
+		$template->set_var('ADVANCED_BUTTON', $TEXT['SHOW_ADVANCED'].'  &gt;&gt;');
+	}
+
+	// Explode system permissions
+	$system_permissions = explode(',', $group['system_permissions']);
+	// Check system permissions boxes
+	foreach($system_permissions AS $name) {
+			$template->set_var($name.'_checked', ' checked="checked"');
+	}
+	// Explode module permissions
+	$module_permissions = explode(',', $group['module_permissions']);
+	// Explode template permissions
+	$template_permissions = explode(',', $group['template_permissions']);
+	
+	// Insert values into module list
+	$template->set_block('main_block', 'module_list_block', 'module_list');
+	$result = $database->query("SELECT * FROM ".TABLE_PREFIX."addons WHERE type = 'module' AND function = 'page'");
+	if($result->numRows() > 0) {
+		while($addon = $result->fetchRow()) {
+			$template->set_var('VALUE', $addon['directory']);
+			$template->set_var('NAME', $addon['name']);
+			if(!is_numeric(array_search($addon['directory'], $module_permissions))) {
+				$template->set_var('CHECKED', ' checked="checked"');
+			} else {
+				$template->set_var('CHECKED', '');
+			}
+			$template->parse('module_list', 'module_list_block', true);
+		}
+	}
+	
+	// Insert values into template list
+	$template->set_block('main_block', 'template_list_block', 'template_list');
+	$result = $database->query("SELECT * FROM ".TABLE_PREFIX."addons WHERE type = 'template'");
+	if($result->numRows() > 0) {
+		while($addon = $result->fetchRow()) {
+			$template->set_var('VALUE', $addon['directory']);
+			$template->set_var('NAME', $addon['name']);
+			if(!is_numeric(array_search($addon['directory'], $template_permissions))) {
+				$template->set_var('CHECKED', ' checked="checked"');
+			} else {
+				$template->set_var('CHECKED', '');
+			}
+			$template->parse('template_list', 'template_list_block', true);
+		}
+	}
+		
+	// Insert language text and messages
+	$template->set_var(array(
+									'TEXT_RESET' => $TEXT['RESET'],
+									'TEXT_ACTIVE' => $TEXT['ACTIVE'],
+									'TEXT_DISABLED' => $TEXT['DISABLED'],
+									'TEXT_PLEASE_SELECT' => $TEXT['PLEASE_SELECT'],
+									'TEXT_USERNAME' => $TEXT['USERNAME'],
+									'TEXT_PASSWORD' => $TEXT['PASSWORD'],
+									'TEXT_RETYPE_PASSWORD' => $TEXT['RETYPE_PASSWORD'],
+									'TEXT_DISPLAY_NAME' => $TEXT['DISPLAY_NAME'],
+									'TEXT_EMAIL' => $TEXT['EMAIL'],
+									'TEXT_GROUP' => $TEXT['GROUP'],
+									'TEXT_SYSTEM_PERMISSIONS' => $TEXT['SYSTEM_PERMISSIONS'],
+									'TEXT_MODULE_PERMISSIONS' => $TEXT['MODULE_PERMISSIONS'],
+									'TEXT_TEMPLATE_PERMISSIONS' => $TEXT['TEMPLATE_PERMISSIONS'],
+									'TEXT_NAME' => $TEXT['NAME'],
+									'SECTION_PAGES' => $MENU['PAGES'],
+									'SECTION_MEDIA' => $MENU['MEDIA'],
+									'SECTION_MODULES' => $MENU['MODULES'],
+									'SECTION_TEMPLATES' => $MENU['TEMPLATES'],
+									'SECTION_LANGUAGES' => $MENU['LANGUAGES'],
+									'SECTION_SETTINGS' => $MENU['SETTINGS'],
+									'SECTION_USERS' => $MENU['USERS'],
+									'SECTION_GROUPS' => $MENU['GROUPS'],
+									'SECTION_ADMINTOOLS' => $MENU['ADMINTOOLS'],
+									'TEXT_VIEW' => $TEXT['VIEW'],
+									'TEXT_ADD' => $TEXT['ADD'],
+									'TEXT_LEVEL' => $TEXT['LEVEL'],
+									'TEXT_MODIFY' => $TEXT['MODIFY'],
+									'TEXT_DELETE' => $TEXT['DELETE'],
+									'TEXT_MODIFY_CONTENT' => $TEXT['MODIFY_CONTENT'],
+									'TEXT_MODIFY_SETTINGS' => $TEXT['MODIFY_SETTINGS'],
+									'HEADING_MODIFY_INTRO_PAGE' => $HEADING['MODIFY_INTRO_PAGE'],
+									'TEXT_CREATE_FOLDER' => $TEXT['CREATE_FOLDER'],
+									'TEXT_RENAME' => $TEXT['RENAME'],
+									'TEXT_UPLOAD_FILES' => $TEXT['UPLOAD_FILES'],
+									'TEXT_BASIC' => $TEXT['BASIC'],
+									'TEXT_ADVANCED' => $TEXT['ADVANCED'],
+									'CHANGING_PASSWORD' => $MESSAGE['USERS']['CHANGING_PASSWORD'],
+									'HEADING_MODIFY_GROUP' => $HEADING['MODIFY_GROUP']
+									)
+							);
+	
+	// Parse template object
+	$template->parse('main', 'main_block', false);
+	$template->pparse('output', 'page');
+} elseif($_POST['action'] == 'delete') {
+	// Create new admin object
+	$admin = new admin('Access', 'groups_delete', false);
+	// Print header
+	$admin->print_header();
+	// Delete the group
+	$database->query("DELETE FROM ".TABLE_PREFIX."groups WHERE group_id = '".$_POST['group_id']."' LIMIT 1");
+	if($database->is_error()) {
+		$admin->print_error($database->get_error());
+	} else {
+		// Delete users in the group
+		$database->query("DELETE FROM ".TABLE_PREFIX."users WHERE group_id = '".$_POST['group_id']."'");
+		if($database->is_error()) {
+			$admin->print_error($database->get_error());
+		} else {
+			$admin->print_success($MESSAGE['GROUPS']['DELETED']);
+		}
+	}
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/groups/groups.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/admin/groups/index.php
===================================================================
--- tags/2.8.2/wb/admin/groups/index.php	(nonexistent)
+++ tags/2.8.2/wb/admin/groups/index.php	(revision 1481)
@@ -0,0 +1,198 @@
+<?php
+/**
+ *
+ * @category        admin
+ * @package         groups
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+*/
+
+// Print admin header
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Access', 'groups');
+
+// Create new template object for the modify/remove menu
+$template = new Template(THEME_PATH.'/templates');
+$template->set_file('page', 'groups.htt');
+$template->set_block('page', 'main_block', 'main');
+$template->set_block('main_block', 'manage_users_block', 'users');
+// insert urls
+$template->set_var(array(
+	'ADMIN_URL' => ADMIN_URL,
+	'WB_URL' => WB_URL,
+	'WB_PATH' => WB_PATH,
+	'THEME_URL' => THEME_URL
+	)
+);
+
+// Get existing value from database
+$database = new database();
+$query = "SELECT group_id,name FROM ".TABLE_PREFIX."groups WHERE group_id != '1'";
+$results = $database->query($query);
+if($database->is_error()) {
+	$admin->print_error($database->get_error(), 'index.php');
+}
+
+// Insert values into the modify/remove menu
+$template->set_block('main_block', 'list_block', 'list');
+if($results->numRows() > 0) {
+	// Insert first value to say please select
+	$template->set_var('VALUE', '');
+	$template->set_var('NAME', $TEXT['PLEASE_SELECT'].'...');
+	$template->parse('list', 'list_block', true);
+	// Loop through groups
+	while($group = $results->fetchRow()) {
+		$template->set_var('VALUE', $group['group_id']);
+		$template->set_var('NAME', $group['name']);
+		$template->parse('list', 'list_block', true);
+	}
+} else {
+	// Insert single value to say no groups were found
+	$template->set_var('NAME', $TEXT['NONE_FOUND']);
+	$template->parse('list', 'list_block', true);
+}
+
+// Insert permissions values
+if($admin->get_permission('groups_add') != true) {
+	$template->set_var('DISPLAY_ADD', 'hide');
+}
+if($admin->get_permission('groups_modify') != true) {
+	$template->set_var('DISPLAY_MODIFY', 'hide');
+}
+if($admin->get_permission('groups_delete') != true) {
+	$template->set_var('DISPLAY_DELETE', 'hide');
+}
+
+// Insert language headings
+$template->set_var(array(
+	'HEADING_MODIFY_DELETE_GROUP' => $HEADING['MODIFY_DELETE_GROUP'],
+	'HEADING_ADD_GROUP' => $HEADING['ADD_GROUP']
+	)
+);
+// Insert language text and messages
+$template->set_var(array(
+	'TEXT_MODIFY' => $TEXT['MODIFY'],
+	'TEXT_DELETE' => $TEXT['DELETE'],
+	'TEXT_MANAGE_USERS' => ( $admin->get_permission('users') == true ) ? $TEXT['MANAGE_USERS']: "",
+	'CONFIRM_DELETE' => $MESSAGE['GROUPS']['CONFIRM_DELETE']
+	)
+);
+if ( $admin->get_permission('users') == true ) $template->parse("users", "manage_users_block", true);
+// Parse template object
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
+
+// Setup template for add group form
+$template = new Template(THEME_PATH.'/templates');
+$template->set_file('page', 'groups_form.htt');
+$template->set_block('page', 'main_block', 'main');
+$template->set_var('DISPLAY_EXTRA', 'display:none;');
+$template->set_var('ACTION_URL', ADMIN_URL.'/groups/add.php');
+$template->set_var('SUBMIT_TITLE', $TEXT['ADD']);
+$template->set_var('ADVANCED_ACTION', 'index.php');
+
+// Tell the browser whether or not to show advanced options
+if ( true == (isset( $_POST['advanced']) AND ( strpos( $_POST['advanced'], ">>") > 0 ) ) ) {
+	$template->set_var('DISPLAY_ADVANCED', '');
+	$template->set_var('DISPLAY_BASIC', 'display:none;');
+	$template->set_var('ADVANCED', 'yes');
+	$template->set_var('ADVANCED_BUTTON', '<< '.$TEXT['HIDE_ADVANCED']);
+} else {
+	$template->set_var('DISPLAY_ADVANCED', 'display:none;');
+	$template->set_var('DISPLAY_BASIC', '');
+	$template->set_var('ADVANCED', 'no');
+	$template->set_var('ADVANCED_BUTTON', $TEXT['SHOW_ADVANCED'].' >>');
+}
+
+// Insert permissions values
+if($admin->get_permission('groups_add') != true) {
+	$template->set_var('DISPLAY_ADD', 'hide');
+}
+
+// Insert values into module list
+$template->set_block('main_block', 'module_list_block', 'module_list');
+$result = $database->query("SELECT * FROM ".TABLE_PREFIX."addons WHERE type = 'module' AND function = 'page'");
+if($result->numRows() > 0) {
+	while($addon = $result->fetchRow()) {
+		$template->set_var('VALUE', $addon['directory']);
+		$template->set_var('NAME', $addon['name']);
+		$template->parse('module_list', 'module_list_block', true);
+	}
+}
+
+// Insert values into template list
+$template->set_block('main_block', 'template_list_block', 'template_list');
+$result = $database->query("SELECT * FROM ".TABLE_PREFIX."addons WHERE type = 'template'");
+if($result->numRows() > 0) {
+	while($addon = $result->fetchRow()) {
+		$template->set_var('VALUE', $addon['directory']);
+		$template->set_var('NAME', $addon['name']);
+		$template->parse('template_list', 'template_list_block', true);
+	}
+}
+
+// Insert language text and messages
+$template->set_var(array(
+								'TEXT_RESET' => $TEXT['RESET'],
+								'TEXT_ACTIVE' => $TEXT['ACTIVE'],
+								'TEXT_DISABLED' => $TEXT['DISABLED'],
+								'TEXT_PLEASE_SELECT' => $TEXT['PLEASE_SELECT'],
+								'TEXT_USERNAME' => $TEXT['USERNAME'],
+								'TEXT_PASSWORD' => $TEXT['PASSWORD'],
+								'TEXT_RETYPE_PASSWORD' => $TEXT['RETYPE_PASSWORD'],
+								'TEXT_DISPLAY_NAME' => $TEXT['DISPLAY_NAME'],
+								'TEXT_EMAIL' => $TEXT['EMAIL'],
+								'TEXT_GROUP' => $TEXT['GROUP'],
+								'TEXT_SYSTEM_PERMISSIONS' => $TEXT['SYSTEM_PERMISSIONS'],
+								'TEXT_MODULE_PERMISSIONS' => $TEXT['MODULE_PERMISSIONS'],
+								'TEXT_TEMPLATE_PERMISSIONS' => $TEXT['TEMPLATE_PERMISSIONS'],
+								'TEXT_NAME' => $TEXT['NAME'],
+								'SECTION_PAGES' => $MENU['PAGES'],
+								'SECTION_MEDIA' => $MENU['MEDIA'],
+								'SECTION_MODULES' => $MENU['MODULES'],
+								'SECTION_TEMPLATES' => $MENU['TEMPLATES'],
+								'SECTION_SETTINGS' => $MENU['SETTINGS'],
+								'SECTION_LANGUAGES' => $MENU['LANGUAGES'],
+								'SECTION_USERS' => $MENU['USERS'],
+								'SECTION_GROUPS' => $MENU['GROUPS'],
+								'SECTION_ADMINTOOLS' => $MENU['ADMINTOOLS'],
+								'TEXT_VIEW' => $TEXT['VIEW'],
+								'TEXT_ADD' => $TEXT['ADD'],
+								'TEXT_LEVEL' => $TEXT['LEVEL'],
+								'TEXT_MODIFY' => $TEXT['MODIFY'],
+								'TEXT_DELETE' => $TEXT['DELETE'],
+								'TEXT_MODIFY_CONTENT' => $TEXT['MODIFY_CONTENT'],
+								'TEXT_MODIFY_SETTINGS' => $TEXT['MODIFY_SETTINGS'],
+								'HEADING_MODIFY_INTRO_PAGE' => $HEADING['MODIFY_INTRO_PAGE'],
+								'TEXT_CREATE_FOLDER' => $TEXT['CREATE_FOLDER'],
+								'TEXT_RENAME' => $TEXT['RENAME'],
+								'TEXT_UPLOAD_FILES' => $TEXT['UPLOAD_FILES'],
+								'TEXT_BASIC' => $TEXT['BASIC'],
+								'TEXT_ADVANCED' => $TEXT['ADVANCED'],
+								'CHANGING_PASSWORD' => $MESSAGE['USERS']['CHANGING_PASSWORD'],
+								'CHECKED' => ' checked="checked"',
+								'ADMIN_URL' => ADMIN_URL,
+								'WB_URL' => WB_URL,
+								'WB_PATH' => WB_PATH,
+								'THEME_URL' => THEME_URL
+								)
+						);
+
+// Parse template for add group form
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
+
+// Print the admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/groups/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/admin/groups/get_permissions.php
===================================================================
--- tags/2.8.2/wb/admin/groups/get_permissions.php	(nonexistent)
+++ tags/2.8.2/wb/admin/groups/get_permissions.php	(revision 1481)
@@ -0,0 +1,255 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+if(!defined('WB_PATH')) { exit('Direct access to this file is not allowed'); }
+
+// Get system permissions
+if($admin->get_post('advanced') != 'yes') {
+	$system_permissions['pages'] = $admin->get_post('pages');
+		$system_permissions['pages_view'] = $system_permissions['pages'];
+		$system_permissions['pages_add'] = $system_permissions['pages'];
+		$system_permissions['pages_add_l0'] = $system_permissions['pages'];
+		$system_permissions['pages_settings'] = $system_permissions['pages'];
+		$system_permissions['pages_modify'] = $system_permissions['pages'];
+		$system_permissions['pages_intro'] = $system_permissions['pages'];
+		$system_permissions['pages_delete'] = $system_permissions['pages'];
+	$system_permissions['media'] = $admin->get_post('media');
+		$system_permissions['media_view'] = $system_permissions['media'];
+		$system_permissions['media_upload'] = $system_permissions['media'];
+		$system_permissions['media_rename'] = $system_permissions['media'];
+		$system_permissions['media_delete'] = $system_permissions['media'];
+		$system_permissions['media_create'] = $system_permissions['media'];
+	if($admin->get_post('modules') != '' OR $admin->get_post('templates') != '' OR $admin->get_post('languages') != '') {
+		$system_permissions['addons'] = 1;
+	} else {
+		$system_permissions['addons'] = 0;
+	}
+		$system_permissions['modules'] = $admin->get_post('modules');
+			$system_permissions['modules_view'] = $system_permissions['modules'];
+			$system_permissions['modules_install'] = $system_permissions['modules'];
+			$system_permissions['modules_uninstall'] = $system_permissions['modules'];
+		$system_permissions['templates'] = $admin->get_post('templates');
+			$system_permissions['templates_view'] = $system_permissions['templates'];
+			$system_permissions['templates_install'] = $system_permissions['templates'];
+			$system_permissions['templates_uninstall'] = $system_permissions['templates'];
+		$system_permissions['languages'] = $admin->get_post('languages');
+			$system_permissions['languages_view'] = $system_permissions['languages'];
+			$system_permissions['languages_install'] = $system_permissions['languages'];
+			$system_permissions['languages_uninstall'] = $system_permissions['languages'];
+	$system_permissions['settings'] = $admin->get_post('settings');
+		$system_permissions['settings_basic'] = $system_permissions['settings'];
+		$system_permissions['settings_advanced'] = $system_permissions['settings'];
+	if($admin->get_post('users') != '' OR $admin->get_post('groups') != '') {
+		$system_permissions['access'] = 1;
+	} else {
+		$system_permissions['access'] = 0;
+	}
+	$system_permissions['users'] = $admin->get_post('users');
+	$system_permissions['users_view'] = $system_permissions['users'];
+	$system_permissions['users_add'] = $system_permissions['users'];
+	$system_permissions['users_modify'] = $system_permissions['users'];
+	$system_permissions['users_delete'] = $system_permissions['users'];
+	$system_permissions['groups'] = $admin->get_post('groups');
+	$system_permissions['groups_view'] = $system_permissions['groups'];
+	$system_permissions['groups_add'] = $system_permissions['groups'];
+	$system_permissions['groups_modify'] = $system_permissions['groups'];
+	$system_permissions['groups_delete'] = $system_permissions['groups'];
+	$system_permissions['admintools'] = $admin->get_post('admintools');
+	$system_permissions['admintools_settings'] = $system_permissions['admintools'];
+} else {
+	// Pages
+	$system_permissions['pages_view'] = $admin->get_post('pages_view');
+		$system_permissions['pages_add'] = $admin->get_post('pages_add');
+	if($admin->get_post('pages_add') != 1 AND $admin->get_post('pages_add_l0') == 1) {
+		$system_permissions['pages_add'] = $admin->get_post('pages_add_l0');
+	}
+	$system_permissions['pages_add_l0'] = $admin->get_post('pages_add_l0');
+	$system_permissions['pages_settings'] = $admin->get_post('pages_settings');
+	$system_permissions['pages_modify'] = $admin->get_post('pages_modify');
+	$system_permissions['pages_intro'] = $admin->get_post('pages_intro');
+	$system_permissions['pages_delete'] = $admin->get_post('pages_delete');
+	if($system_permissions['pages_view'] == 1 OR $system_permissions['pages_add'] == 1 OR $system_permissions['pages_settings'] == 1 OR $system_permissions['pages_modify'] == 1 OR $system_permissions['pages_intro'] == 1 OR $system_permissions['pages_delete'] == 1) {
+		$system_permissions['pages'] = 1;
+	} else {
+		$system_permissions['pages'] = '';
+	}
+	// Media
+	$system_permissions['media_view'] = $admin->get_post('media_view');
+	$system_permissions['media_upload'] = $admin->get_post('media_upload');
+	$system_permissions['media_rename'] = $admin->get_post('media_rename');
+	$system_permissions['media_delete'] = $admin->get_post('media_delete');
+	$system_permissions['media_create'] = $admin->get_post('media_create');
+	if($system_permissions['media_view'] == 1 OR $system_permissions['media_upload'] == 1 OR $system_permissions['media_rename'] == 1 OR $system_permissions['media_delete'] == 1 OR $system_permissions['media_create'] == 1) {
+		$system_permissions['media'] = 1;
+	} else {
+		$system_permissions['media'] = '';
+	}
+	// Add-ons
+		// Modules
+		$system_permissions['modules_view'] = $admin->get_post('modules_view');
+		$system_permissions['modules_install'] = $admin->get_post('modules_install');
+		$system_permissions['modules_uninstall'] = $admin->get_post('modules_uninstall');
+		if($system_permissions['modules_view'] == 1 OR $system_permissions['modules_install'] == 1 OR $system_permissions['modules_uninstall'] == 1) {
+			$system_permissions['modules'] = 1;
+		} else {
+			$system_permissions['modules'] = '';
+		}
+		// Templates
+		$system_permissions['templates_view'] = $admin->get_post('templates_view');
+		$system_permissions['templates_install'] = $admin->get_post('templates_install');
+		$system_permissions['templates_uninstall'] = $admin->get_post('templates_uninstall');
+		if($system_permissions['templates_view'] == 1 OR $system_permissions['templates_install'] == 1 OR $system_permissions['templates_uninstall'] == 1) {
+			$system_permissions['templates'] = 1;
+		} else {
+			$system_permissions['templates'] = '';
+		}
+		// Languages
+		$system_permissions['languages_view'] = $admin->get_post('languages_view');
+		$system_permissions['languages_install'] = $admin->get_post('languages_install');
+		$system_permissions['languages_uninstall'] = $admin->get_post('languages_uninstall');
+		if($system_permissions['languages_install'] == 1 OR $system_permissions['languages_uninstall'] == 1) {
+			$system_permissions['languages'] = 1;
+		} else {
+			$system_permissions['languages'] = '';
+		}
+		// Admintools
+		$system_permissions['admintools_settings'] = $admin->get_post('admintools_settings');
+		if($system_permissions['admintools_settings'] == 1) {
+			$system_permissions['admintools'] = 1;
+		} else {
+			$system_permissions['admintools'] = '';
+		}
+	if($system_permissions['modules'] == 1 OR $system_permissions['templates'] == 1 OR $system_permissions['languages'] == 1) {
+		$system_permissions['addons'] = 1;
+	} else {
+		$system_permissions['addons'] = '';
+	}
+	// Settings
+	$system_permissions['settings_basic'] = $admin->get_post('settings_basic');
+	$system_permissions['settings_advanced'] = $admin->get_post('settings_advanced');
+	if($system_permissions['settings_basic'] == 1 OR $system_permissions['settings_advanced'] == 1) {
+		$system_permissions['settings'] = 1;
+	} else {
+		$system_permissions['settings'] = '';
+	}
+	// Access
+		// Users
+		$system_permissions['users_view'] = $admin->get_post('users_view');
+		$system_permissions['users_add'] = $admin->get_post('users_add');
+		$system_permissions['users_modify'] = $admin->get_post('users_modify');
+		$system_permissions['users_delete'] = $admin->get_post('users_delete');
+		if($system_permissions['users_view'] == 1 OR $system_permissions['users_add'] == 1 OR $system_permissions['users_modify'] == 1 OR $system_permissions['users_delete'] == 1) {
+			$system_permissions['users'] = 1;
+		} else {
+			$system_permissions['users'] = '';
+		}
+		// Groups
+		$system_permissions['groups_view'] = $admin->get_post('groups_view');
+		$system_permissions['groups_add'] = $admin->get_post('groups_add');
+		$system_permissions['groups_modify'] = $admin->get_post('groups_modify');
+		$system_permissions['groups_delete'] = $admin->get_post('groups_delete');
+		if($system_permissions['groups_view'] == 1 OR $system_permissions['groups_add'] == 1 OR $system_permissions['groups_modify'] == 1 OR $system_permissions['groups_delete'] == 1) {
+			$system_permissions['groups'] = 1;
+		} else {
+			$system_permissions['groups'] = '';
+		}
+	if($system_permissions['users'] == 1 OR $system_permissions['groups'] == 1) {
+		$system_permissions['access'] = 1;
+	} else {
+		$system_permissions['access'] = '';
+	}
+}
+
+// Implode system permissions
+$imploded_system_permissions = '';
+foreach($system_permissions AS $name => $value) {
+	if($value == true) {
+		if($imploded_system_permissions == '') {
+			$imploded_system_permissions = $name;
+		} else {
+			$imploded_system_permissions .= ','.$name;
+		}
+	}
+}
+
+$system_permissions = $imploded_system_permissions;
+
+// Get module permissions
+$module_permissions = '';
+if($handle = opendir(WB_PATH.'/modules/')) {
+	while (false !== ($file = readdir($handle))) {
+		if($file != "." AND $file != ".." AND $file != ".svn" AND is_dir(WB_PATH."/modules/$file") AND file_exists(WB_PATH."/modules/$file/info.php")) {
+			// Include the modules info file
+			require(WB_PATH.'/modules/'.$file.'/info.php');
+			// Check if it was selected to be used or not
+			$count = 0;
+			if(is_array($admin->get_post('module_permissions'))) {
+				foreach($admin->get_post('module_permissions') AS $selected_name) {
+					if($file == $selected_name) {
+						$count = $count+1;
+					}
+				}
+			}
+			if($count == 0) {
+				// Add unselected modules to list
+				if($module_permissions == '') {
+					$module_permissions = $file;
+				} else {
+					$module_permissions .= ','.$file;
+				}
+			}
+		}
+	}
+}
+
+// Get template permissions
+$template_permissions = '';
+if($handle = opendir(WB_PATH.'/templates/')) {
+	while (false !== ($file = readdir($handle))) {
+		if($file != "." AND $file != ".." AND $file != ".svn" AND is_dir(WB_PATH."/templates/$file") AND file_exists(WB_PATH."/templates/$file/info.php")) {
+			// Include the modules info file
+			require(WB_PATH.'/templates/'.$file.'/info.php');
+			// Check if it was selected to be used or not
+			$count = 0;
+			if(is_array($admin->get_post('template_permissions'))) {
+				foreach($admin->get_post('template_permissions') AS $selected_name) {
+					if($file == $selected_name) {
+						$count = $count+1;
+					}
+				}
+			}
+			if($count == 0) {
+				// Add unselected modules to list
+				if($template_permissions == '') {
+					$template_permissions = $file;
+				} else {
+					$template_permissions .= ','.$file;
+				}
+			}
+		}
+	}
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/groups/get_permissions.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/groups/save.php
===================================================================
--- tags/2.8.2/wb/admin/groups/save.php	(nonexistent)
+++ tags/2.8.2/wb/admin/groups/save.php	(revision 1481)
@@ -0,0 +1,69 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Print admin header
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Access', 'groups_modify');
+
+// Create new database object
+$database = new database();
+
+// Check if group group_id is a valid number and doesnt equal 1
+if(!isset($_POST['group_id']) OR !is_numeric($_POST['group_id']) OR $_POST['group_id'] == 1) {
+	header("Location: index.php");
+	exit(0);
+} else {
+	$group_id = $_POST['group_id'];
+}
+
+// Gather details entered
+$group_name = $admin->get_post_escaped('group_name');
+
+// Create a javascript back link
+$js_back = "javascript: history.go(-1);";
+
+// Check values
+if($group_name == "") {
+	$admin->print_error($MESSAGE['GROUPS']['GROUP_NAME_BLANK'], $js_back);
+}
+
+// Get system permissions
+require_once(ADMIN_PATH.'/groups/get_permissions.php');
+
+// Update the database
+$query = "UPDATE ".TABLE_PREFIX."groups SET name = '$group_name', system_permissions = '$system_permissions', module_permissions = '$module_permissions', template_permissions = '$template_permissions' WHERE group_id = '$group_id'";
+
+$database->query($query);
+if($database->is_error()) {
+	$admin->print_error($database->get_error());
+} else {
+	$admin->print_success($MESSAGE['GROUPS']['SAVED'], ADMIN_URL.'/groups/index.php');
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/groups/save.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/groups/add.php
===================================================================
--- tags/2.8.2/wb/admin/groups/add.php	(nonexistent)
+++ tags/2.8.2/wb/admin/groups/add.php	(revision 1481)
@@ -0,0 +1,65 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Print admin header
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Access', 'groups_add');
+
+// Create new database object
+$database = new database();
+
+// Gather details entered
+$group_name = $admin->get_post('group_name');
+
+// Create a javascript back link
+$js_back = "javascript: history.go(-1);";
+
+// Check values
+if($group_name == "") {
+	$admin->print_error($MESSAGE['GROUPS']['GROUP_NAME_BLANK'], $js_back);
+}
+$results = $database->query("SELECT * FROM ".TABLE_PREFIX."groups WHERE name = '$group_name'");  
+if($results->numRows()>0) {
+	$admin->print_error($MESSAGE['GROUPS']['GROUP_NAME_EXISTS'], $js_back);  
+}
+
+// Get system and module permissions
+require(ADMIN_PATH.'/groups/get_permissions.php');
+
+// Update the database
+$query = "INSERT INTO ".TABLE_PREFIX."groups (name,system_permissions,module_permissions,template_permissions) VALUES ('$group_name','$system_permissions','$module_permissions','$template_permissions')";
+
+$database->query($query);
+if($database->is_error()) {
+	$admin->print_error($database->get_error());
+} else {
+	$admin->print_success($MESSAGE['GROUPS']['ADDED'], ADMIN_URL.'/groups/index.php');
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/groups/add.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/start/index.php
===================================================================
--- tags/2.8.2/wb/admin/start/index.php	(nonexistent)
+++ tags/2.8.2/wb/admin/start/index.php	(revision 1481)
@@ -0,0 +1,139 @@
+<?php
+/**
+ *
+ * @category        admin
+ * @package         start
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+*/
+
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Start','start');
+
+// Setup template object
+$template = new Template(THEME_PATH.'/templates');
+$template->set_file('page', 'start.htt');
+$template->set_block('page', 'main_block', 'main');
+
+// Insert values into the template object
+$template->set_var(array(
+								'WELCOME_MESSAGE' => $MESSAGE['START']['WELCOME_MESSAGE'],
+								'CURRENT_USER' => $MESSAGE['START']['CURRENT_USER'],
+								'DISPLAY_NAME' => $admin->get_display_name(),
+								'ADMIN_URL' => ADMIN_URL,
+								'WB_URL' => WB_URL,
+								'THEME_URL' => THEME_URL,
+								'WB_VERSION' => WB_VERSION
+								)
+						);
+
+// Insert permission values into the template object
+if($admin->get_permission('pages') != true)
+{
+	$template->set_var('DISPLAY_PAGES', 'display:none;');
+}
+if($admin->get_permission('media') != true)
+{
+	$template->set_var('DISPLAY_MEDIA', 'display:none;');
+}
+if($admin->get_permission('addons') != true)
+{
+	$template->set_var('DISPLAY_ADDONS', 'display:none;');
+}
+if($admin->get_permission('access') != true)
+{
+	$template->set_var('DISPLAY_ACCESS', 'display:none;');
+}
+if($admin->get_permission('settings') != true)
+{
+	$template->set_var('DISPLAY_SETTINGS', 'display:none;');
+}
+if($admin->get_permission('admintools') != true)
+{
+	$template->set_var('DISPLAY_ADMINTOOLS', 'display:none;');
+}
+
+// Check if installation directory still exists
+if(file_exists(WB_PATH.'/install/')) {
+	// Check if user is part of Adminstrators group
+	if(in_array(1, $admin->get_groups_id()))
+    {
+		$template->set_var('WARNING', $MESSAGE['START']['INSTALL_DIR_EXISTS']);
+	} else {
+		$template->set_var('DISPLAY_WARNING', 'display:none;');
+	}
+} else {
+	$template->set_var('DISPLAY_WARNING', 'display:none;');
+}
+
+// Insert "Add-ons" section overview (pretty complex compared to normal)
+$addons_overview = $TEXT['MANAGE'].' ';
+$addons_count = 0;
+if($admin->get_permission('modules') == true)
+{
+	$addons_overview .= '<a href="'.ADMIN_URL.'/modules/index.php">'.$MENU['MODULES'].'</a>';
+	$addons_count = 1;
+}
+if($admin->get_permission('templates') == true)
+{
+	if($addons_count == 1) { $addons_overview .= ', '; }
+	$addons_overview .= '<a href="'.ADMIN_URL.'/templates/index.php">'.$MENU['TEMPLATES'].'</a>';
+	$addons_count = 1;
+}
+if($admin->get_permission('languages') == true)
+{
+	if($addons_count == 1) { $addons_overview .= ', '; }
+	$addons_overview .= '<a href="'.ADMIN_URL.'/languages/index.php">'.$MENU['LANGUAGES'].'</a>';
+}
+
+// Insert "Access" section overview (pretty complex compared to normal)
+$access_overview = $TEXT['MANAGE'].' ';
+$access_count = 0;
+if($admin->get_permission('users') == true) {
+	$access_overview .= '<a href="'.ADMIN_URL.'/users/index.php">'.$MENU['USERS'].'</a>';
+	$access_count = 1;
+}
+if($admin->get_permission('groups') == true) {
+	if($access_count == 1) { $access_overview .= ', '; }
+	$access_overview .= '<a href="'.ADMIN_URL.'/groups/index.php">'.$MENU['GROUPS'].'</a>';
+	$access_count = 1;
+}
+
+// Insert section names and descriptions
+$template->set_var(array(
+								'PAGES' => $MENU['PAGES'],
+								'MEDIA' => $MENU['MEDIA'],
+								'ADDONS' => $MENU['ADDONS'],
+								'ACCESS' => $MENU['ACCESS'],
+								'PREFERENCES' => $MENU['PREFERENCES'],
+								'SETTINGS' => $MENU['SETTINGS'],
+								'ADMINTOOLS' => $MENU['ADMINTOOLS'],
+								'HOME_OVERVIEW' => $OVERVIEW['START'],
+								'PAGES_OVERVIEW' => $OVERVIEW['PAGES'],
+								'MEDIA_OVERVIEW' => $OVERVIEW['MEDIA'],
+								'ADDONS_OVERVIEW' => $addons_overview,
+								'ACCESS_OVERVIEW' => $access_overview,
+								'PREFERENCES_OVERVIEW' => $OVERVIEW['PREFERENCES'],
+								'SETTINGS_OVERVIEW' => $OVERVIEW['SETTINGS'],
+								'ADMINTOOLS_OVERVIEW' => $OVERVIEW['ADMINTOOLS']
+								)
+						);
+
+// Parse template object
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/start/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/admin/templates/details.php
===================================================================
--- tags/2.8.2/wb/admin/templates/details.php	(nonexistent)
+++ tags/2.8.2/wb/admin/templates/details.php	(revision 1481)
@@ -0,0 +1,111 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Include the config file
+require('../../config.php');
+require_once(WB_PATH .'/framework/functions.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Addons', 'templates_view',false);
+
+// Get template name
+if(!isset($_POST['file']) OR $_POST['file'] == "") {
+	header("Location: index.php");
+	exit(0);
+} else {
+	$file = $admin->add_slashes($_POST['file']);
+}
+
+// Check if the template exists
+if(!file_exists(WB_PATH.'/templates/'.$file)) {
+	header("Location: index.php");
+	exit(0);
+}
+
+// Print admin header
+$admin = new admin('Addons', 'templates_view');
+
+// Setup template object
+$template = new Template(THEME_PATH.'/templates');
+$template->set_file('page', 'templates_details.htt');
+$template->set_block('page', 'main_block', 'main');
+
+// Insert values
+$result = $database->query("SELECT * FROM ".TABLE_PREFIX."addons WHERE type = 'template' AND directory = '$file'");
+if($result->numRows() > 0) {
+	$row = $result->fetchRow();
+}
+
+// check if a template description exists for the displayed backend language
+$tool_description = false;
+if(function_exists('file_get_contents') && file_exists(WB_PATH.'/templates/'.$file.'/languages/'.LANGUAGE .'.php')) {
+	// read contents of the template language file into string
+	$data = @file_get_contents(WB_PATH .'/templates/' .$file .'/languages/' .LANGUAGE .'.php');
+	// use regular expressions to fetch the content of the variable from the string
+	$tool_description = get_variable_content('template_description', $data, false, false);
+	// replace optional placeholder {WB_URL} with value stored in config.php
+	if($tool_description !== false && strlen(trim($tool_description)) != 0) {
+		$tool_description = str_replace('{WB_URL}', WB_URL, $tool_description);
+	} else {
+		$tool_description = false;
+	}
+}
+if($tool_description !== false) {
+	// Override the template-description with correct desription in users language
+	$row['description'] = $tool_description;
+}	
+
+$template->set_var(array(
+								'NAME' => $row['name'],
+								'AUTHOR' => $row['author'],
+								'DESCRIPTION' => $row['description'],
+								'VERSION' => $row['version'],
+								'DESIGNED_FOR' => $row['platform']
+								)
+						);
+
+// Insert language headings
+$template->set_var(array(
+								'HEADING_TEMPLATE_DETAILS' => $HEADING['TEMPLATE_DETAILS']
+								)
+						);
+// Insert language text and messages
+$template->set_var(array(
+								'TEXT_NAME' => $TEXT['NAME'],
+								'TEXT_AUTHOR' => $TEXT['AUTHOR'],
+								'TEXT_VERSION' => $TEXT['VERSION'],
+								'TEXT_DESIGNED_FOR' => $TEXT['DESIGNED_FOR'],
+								'TEXT_DESCRIPTION' => $TEXT['DESCRIPTION'],
+								'TEXT_BACK' => $TEXT['BACK']
+								)
+						);
+
+// Parse template object
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/templates/details.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/templates/index.php
===================================================================
--- tags/2.8.2/wb/admin/templates/index.php	(nonexistent)
+++ tags/2.8.2/wb/admin/templates/index.php	(revision 1481)
@@ -0,0 +1,88 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Print admin header
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Addons', 'templates');
+
+// Setup template object
+$template = new Template(THEME_PATH.'/templates');
+$template->set_file('page', 'templates.htt');
+$template->set_block('page', 'main_block', 'main');
+
+// Insert values into template list
+$template->set_block('main_block', 'template_list_block', 'template_list');
+$result = $database->query("SELECT * FROM ".TABLE_PREFIX."addons WHERE type = 'template' order by name");
+if($result->numRows() > 0) {
+	while($addon = $result->fetchRow()) {
+		$template->set_var('VALUE', $addon['directory']);
+		$template->set_var('NAME', $addon['name']);
+		$template->parse('template_list', 'template_list_block', true);
+	}
+}
+
+// Insert permissions values
+if($admin->get_permission('templates_install') != true) {
+	$template->set_var('DISPLAY_INSTALL', 'hide');
+}
+if($admin->get_permission('templates_uninstall') != true) {
+	$template->set_var('DISPLAY_UNINSTALL', 'hide');
+}
+if($admin->get_permission('templates_view') != true) {
+	$template->set_var('DISPLAY_LIST', 'hide');
+}
+
+// Insert language headings
+$template->set_var(array(
+								'HEADING_INSTALL_TEMPLATE' => $HEADING['INSTALL_TEMPLATE'],
+								'HEADING_UNINSTALL_TEMPLATE' => $HEADING['UNINSTALL_TEMPLATE'],
+								'HEADING_TEMPLATE_DETAILS' => $HEADING['TEMPLATE_DETAILS']
+								)
+						);
+// Insert language text and messages
+$template->set_var(array(
+	'URL_MODULES' => $admin->get_permission('modules') ? 
+		'<a href="' . ADMIN_URL . '/modules/index.php">' . $MENU['MODULES'] . '</a>' : '',
+	'URL_LANGUAGES' => $admin->get_permission('languages') ? 
+		'<a href="' . ADMIN_URL . '/languages/index.php">' . $MENU['LANGUAGES'] . '</a>' : '',
+	'URL_ADVANCED' => $admin->get_permission('admintools') ? 
+	'<a href="' . ADMIN_URL . '/modules/index.php?advanced">' . $TEXT['ADVANCED'] . '</a>' : '',
+	'TEXT_INSTALL' => $TEXT['INSTALL'],
+	'TEXT_UNINSTALL' => $TEXT['UNINSTALL'],
+	'TEXT_VIEW_DETAILS' => $TEXT['VIEW_DETAILS'],
+	'TEXT_PLEASE_SELECT' => $TEXT['PLEASE_SELECT'],
+	'CHANGE_TEMPLATE_NOTICE' => $MESSAGE['TEMPLATES']['CHANGE_TEMPLATE_NOTICE']
+	)
+);
+
+// Parse template object
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/templates/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/templates/uninstall.php
===================================================================
--- tags/2.8.2/wb/admin/templates/uninstall.php	(nonexistent)
+++ tags/2.8.2/wb/admin/templates/uninstall.php	(revision 1481)
@@ -0,0 +1,152 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Check if user selected template
+if(!isset($_POST['file']) OR $_POST['file'] == "") {
+	header("Location: index.php");
+	exit(0);
+} else {
+	$file = $_POST['file'];
+}
+
+// Extra protection
+if(trim($file) == '') {
+	header("Location: index.php");
+	exit(0);
+}
+
+// Setup admin object
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Addons', 'templates_uninstall');
+
+// Include the WB functions file
+require_once(WB_PATH.'/framework/functions.php');
+
+// Check if the template exists
+if(!is_dir(WB_PATH.'/templates/'.$file)) {
+	$admin->print_error($MESSAGE['GENERIC']['NOT_INSTALLED']);
+}
+
+if (!function_exists("replace_all")) {
+	function replace_all ($aStr = "", &$aArray ) {
+		foreach($aArray as $k=>$v) $aStr = str_replace("{{".$k."}}", $v, $aStr);
+		return $aStr;
+	}
+}
+
+/**
+*	Check if the template is the standard-template or still in use
+*/
+if (!array_key_exists('CANNOT_UNINSTALL_IS_DEFAULT_TEMPLATE', $MESSAGE['GENERIC'] ) )
+	$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IS_DEFAULT_TEMPLATE'] = "Can't uninstall this template <b>{{name}}</b> because it's the standardtemplate!";
+
+// check whether the template is used as default wb theme
+if($file == DEFAULT_THEME) {
+	$temp = array ('name' => $file );
+	$msg = replace_all( $MESSAGE['GENERIC']['CANNOT_UNINSTALL_IS_DEFAULT_TEMPLATE'], $temp );
+	$admin->print_error( $msg );
+}
+
+if ($file == DEFAULT_TEMPLATE) {
+	$temp = array ('name' => $file );
+	$msg = replace_all( $MESSAGE['GENERIC']['CANNOT_UNINSTALL_IS_DEFAULT_TEMPLATE'], $temp );
+	$admin->print_error( $msg );
+
+} else {
+	
+	/**
+	*	Check if the template is still in use by a page ...
+	*/
+	$info = $database->query("SELECT page_id, page_title FROM ".TABLE_PREFIX."pages WHERE template='".$file."' order by page_title");
+	
+	if ($info->numRows() > 0) {
+		/**
+		*	Template is still in use, so we're collecting the page-titles
+		*/
+		
+		/**
+		*	The base-message template-string for the top of the message
+		*/
+		if (!array_key_exists("CANNOT_UNINSTALL_IN_USE_TMPL", $MESSAGE['GENERIC'])) {
+			$add = $info->numRows() == 1 ? "this page" : "these pages";
+			$msg_template_str  = "<br /><br />{{type}} <b>{{type_name}}</b> could not be uninstalled because it is still in use by {{pages}}";
+			$msg_template_str .= ":<br /><i>click for editing.</i><br /><br />";
+		} else {
+			$msg_template_str = $MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL'];
+			$temp = explode(";",$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL_PAGES']);
+			$add = $info->numRows() == 1 ? $temp[0] : $temp[1];
+		}
+		/**
+		*	The template-string for displaying the Page-Titles ... in this case as a link
+		*/
+		$page_template_str = "- <b><a href='../pages/settings.php?page_id={{id}}'>{{title}}</a></b><br />";
+		
+		$values = array ('type' => 'Template', 'type_name' => $file, 'pages' => $add);
+		$msg = replace_all ( $msg_template_str,  $values );
+		
+		$page_names = "";
+		
+		while ($data = $info->fetchRow() ) {
+			
+			$page_info = array(
+				'id'	=> $data['page_id'], 
+				'title' => $data['page_title']
+			);
+			
+			$page_names .= replace_all ( $page_template_str, $page_info );
+		}
+		
+		/**
+		*	Printing out the error-message and die().
+		*/
+		$admin->print_error($MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE'].$msg.$page_names);
+	}
+}
+
+// Check if we have permissions on the directory
+if(!is_writable(WB_PATH.'/templates/'.$file)) {
+	$admin->print_error($MESSAGE['GENERIC']['CANNOT_UNINSTALL'].WB_PATH.'/templates/'.$file);
+}
+
+// Try to delete the template dir
+if(!rm_full_dir(WB_PATH.'/templates/'.$file)) {
+	$admin->print_error($MESSAGE['GENERIC']['CANNOT_UNINSTALL']);
+} else {
+	// Remove entry from DB
+	$database->query("DELETE FROM ".TABLE_PREFIX."addons WHERE directory = '".$file."' AND type = 'template'");
+}
+
+// Update pages that use this template with default template
+$database = new database();
+$database->query("UPDATE ".TABLE_PREFIX."pages SET template = '".DEFAULT_TEMPLATE."' WHERE template = '$file'");
+
+// Print success message
+$admin->print_success($MESSAGE['GENERIC']['UNINSTALLED']);
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/templates/uninstall.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/templates/install.php
===================================================================
--- tags/2.8.2/wb/admin/templates/install.php	(nonexistent)
+++ tags/2.8.2/wb/admin/templates/install.php	(revision 1481)
@@ -0,0 +1,145 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Check if user uploaded a file
+if(!isset($_FILES['userfile'])) {
+	header("Location: index.php");
+	exit(0);
+}
+
+// do not display notices and warnings during installation
+error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING);
+
+// Setup admin object
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Addons', 'templates_install');
+
+// Include the WB functions file
+require_once(WB_PATH.'/framework/functions.php');
+
+// Set temp vars
+$temp_dir = WB_PATH.'/temp/';
+$temp_file = $temp_dir . $_FILES['userfile']['name'];
+$temp_unzip = WB_PATH.'/temp/unzip/';
+
+// Try to upload the file to the temp dir
+if(!move_uploaded_file($_FILES['userfile']['tmp_name'], $temp_file)) {
+	$admin->print_error($MESSAGE['GENERIC']['CANNOT_UPLOAD']);
+}
+
+// Include the PclZip class file (thanks to 
+require_once(WB_PATH.'/include/pclzip/pclzip.lib.php');
+
+// Remove any vars with name "template_directory" and "theme_directory"
+unset($template_directory);
+unset($theme_directory);
+
+// Setup the PclZip object
+$archive = new PclZip($temp_file);
+// Unzip the files to the temp unzip folder
+$list = $archive->extract(PCLZIP_OPT_PATH, $temp_unzip);
+
+// Check if uploaded file is a valid Add-On zip file
+if (!($list && file_exists($temp_unzip . 'index.php'))) $admin->print_error($MESSAGE['GENERIC']['INVALID_ADDON_FILE']);
+
+// Include the templates info file
+require($temp_unzip.'info.php');
+
+// Perform Add-on requirement checks before proceeding
+require(WB_PATH . '/framework/addon.precheck.inc.php');
+preCheckAddon($temp_file);
+
+// Delete the temp unzip directory
+rm_full_dir($temp_unzip);
+
+// Check if the file is valid
+if(!isset($template_directory)) {
+	if(file_exists($temp_file)) { unlink($temp_file); } // Remove temp file
+	$admin->print_error($MESSAGE['GENERIC']['INVALID']);
+}
+
+// Check if this module is already installed
+// and compare versions if so
+$new_template_version=$template_version;
+if(is_dir(WB_PATH.'/templates/'.$template_directory)) {
+	if(file_exists(WB_PATH.'/templates/'.$template_directory.'/info.php')) {
+		require(WB_PATH.'/templates/'.$template_directory.'/info.php');
+		// Version to be installed is older than currently installed version
+		if (versionCompare($template_version, $new_template_version, '>=')) {
+			if(file_exists($temp_file)) { unlink($temp_file); } // Remove temp file
+			$admin->print_error($MESSAGE['GENERIC']['ALREADY_INSTALLED']);
+		}
+	} 
+	$success_message=$MESSAGE['GENERIC']['UPGRADED'];
+} else {
+	$success_message=$MESSAGE['GENERIC']['INSTALLED'];
+}
+
+// Check if template dir is writable
+if(!is_writable(WB_PATH.'/templates/')) {
+	if(file_exists($temp_file)) { unlink($temp_file); } // Remove temp file
+	$admin->print_error($MESSAGE['TEMPLATES']['BAD_PERMISSIONS']);
+}
+
+// Set template dir
+$template_dir = WB_PATH.'/templates/'.$template_directory;
+
+// Make sure the template dir exists, and chmod if needed
+if(!file_exists($template_dir)) {
+	make_dir($template_dir);
+} else {
+	change_mode($template_dir, 'dir');
+}
+
+// Unzip template to the template dir
+$list = $archive->extract(PCLZIP_OPT_PATH, $template_dir);
+if(!$list) {
+	$admin->print_error($MESSAGE['GENERIC']['CANNOT_UNZIP']);
+}
+
+// Delete the temp zip file
+if(file_exists($temp_file)) { unlink($temp_file); }
+
+// Chmod all the uploaded files
+$dir = dir($template_dir);
+while(false !== $entry = $dir->read()) {
+	// Skip pointers
+	if(substr($entry, 0, 1) != '.' AND $entry != '.svn' AND !is_dir($template_dir.'/'.$entry)) {
+		// Chmod file
+		change_mode($template_dir.'/'.$entry);
+	}
+}
+
+// Load template info into DB
+load_template($template_dir);
+
+// Print success message
+$admin->print_success($success_message);
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/templates/install.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/pages/settings.php
===================================================================
--- tags/2.8.2/wb/admin/pages/settings.php	(nonexistent)
+++ tags/2.8.2/wb/admin/pages/settings.php	(revision 1481)
@@ -0,0 +1,619 @@
+<?php
+/**
+ *
+ * @category        admin
+ * @package         pages
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// Get page id
+if(!isset($_GET['page_id']) OR !is_numeric($_GET['page_id']))
+{
+	header("Location: index.php");
+	exit(0);
+} else {
+	$page_id = $_GET['page_id'];
+}
+
+// Create new admin object
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Pages', 'pages_settings');
+
+// Include the WB functions file
+require_once(WB_PATH.'/framework/functions-utf8.php');
+
+// Get perms
+/*$database = new database(); */
+
+$sql = 'SELECT * FROM `'.TABLE_PREFIX.'pages` WHERE `page_id` = '.$page_id;
+$results = $database->query($sql);
+$results_array = $results->fetchRow();
+
+$old_admin_groups = explode(',', $results_array['admin_groups']);
+$old_admin_users = explode(',', $results_array['admin_users']);
+
+// Work-out if we should check for existing page_code
+$sql = 'DESCRIBE `'.TABLE_PREFIX.'pages` `page_code`';
+$field_sql = $database->query($sql);
+$field_set = $field_sql->numRows();
+
+$in_old_group = FALSE;
+foreach($admin->get_groups_id() as $cur_gid)
+{
+	if (in_array($cur_gid, $old_admin_groups))
+    {
+		$in_old_group = TRUE;
+	}
+}
+if((!$in_old_group) AND !is_numeric(array_search($admin->get_user_id(), $old_admin_users)))
+{
+	$admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']);
+}
+
+// Get page details
+/* $database = new database();  */
+$sql = 'SELECT * FROM `'.TABLE_PREFIX.'pages` WHERE `page_id`='.$page_id;
+$results = $database->query($sql);
+if($database->is_error()) {
+	$admin->print_header();
+	$admin->print_error($database->get_error());
+}
+if($results->numRows() == 0) {
+	$admin->print_header();
+	$admin->print_error($MESSAGE['PAGES']['NOT_FOUND']);
+}
+$results_array = $results->fetchRow();
+
+// Get display name of person who last modified the page
+$user=$admin->get_user_details($results_array['modified_by']);
+
+// Convert the unix ts for modified_when to human a readable form
+if($results_array['modified_when'] != 0)
+{
+	$modified_ts = gmdate(TIME_FORMAT.', '.DATE_FORMAT, $results_array['modified_when']+TIMEZONE);
+} else {
+	$modified_ts = 'Unknown';
+}
+
+// Setup template object, parse vars to it, then parse it
+$template = new Template(THEME_PATH.'/templates');
+$template->set_file('page', 'pages_settings.htt');
+$template->set_block('page', 'main_block', 'main');
+
+$template->set_var(array(
+				'PAGE_ID' => $results_array['page_id'],
+				'PAGE_TITLE' => ($results_array['page_title']),
+				'MENU_TITLE' => ($results_array['menu_title']),
+				'DESCRIPTION' => ($results_array['description']),
+				'KEYWORDS' => ($results_array['keywords']),
+				'MODIFIED_BY' => $user['display_name'],
+				'MODIFIED_BY_USERNAME' => $user['username'],
+				'MODIFIED_WHEN' => $modified_ts,
+				'ADMIN_URL' => ADMIN_URL,
+				'WB_URL' => WB_URL,
+				'WB_PATH' => WB_PATH,
+				'THEME_URL' => THEME_URL
+				)
+		);
+
+// Work-out if we should show the "manage sections" link
+$sql = 'SELECT `section_id` FROM `'.TABLE_PREFIX.'sections` WHERE `page_id`='.$page_id.' AND `module`="menu_link"';
+$query_sections = $database->query($sql);
+if($query_sections->numRows() > 0)
+{
+    $template->set_var('DISPLAY_MANAGE_SECTIONS', 'display:none;');
+} elseif(MANAGE_SECTIONS == 'enabled')
+{
+	$template->set_var('TEXT_MANAGE_SECTIONS', $HEADING['MANAGE_SECTIONS']);
+} else {
+	$template->set_var('DISPLAY_MANAGE_SECTIONS', 'display:none;');
+}
+
+// Visibility
+if($results_array['visibility'] == 'public') {
+	$template->set_var('PUBLIC_SELECTED', ' selected="selected"');
+} elseif($results_array['visibility'] == 'private') {
+	$template->set_var('PRIVATE_SELECTED', ' selected="selected"');
+} elseif($results_array['visibility'] == 'registered') {
+	$template->set_var('REGISTERED_SELECTED', ' selected="selected"');
+} elseif($results_array['visibility'] == 'hidden') {
+	$template->set_var('HIDDEN_SELECTED', ' selected="selected"');
+} elseif($results_array['visibility'] == 'display:none;') {
+	$template->set_var('NO_VIS_SELECTED', ' selected="selected"');
+}
+// Group list 1 (admin_groups)
+	$admin_groups = explode(',', str_replace('_', '', $results_array['admin_groups']));
+
+	$sql = 'SELECT * FROM `'.TABLE_PREFIX.'groups`';
+    $get_groups = $database->query($sql);
+
+	$template->set_block('main_block', 'group_list_block', 'group_list');
+	// Insert admin group and current group first
+	$admin_group_name = $get_groups->fetchRow();
+	$template->set_var(array(
+									'ID' => 1,
+									'TOGGLE' => '',
+									'DISABLED' => ' disabled="disabled"',
+									'LINK_COLOR' => '000000',
+									'CURSOR' => 'default',
+									'NAME' => $admin_group_name['name'],
+									'CHECKED' => ' checked="checked"'
+									)
+							);
+	$template->parse('group_list', 'group_list_block', true);
+	while($group = $get_groups->fetchRow()) {
+		// check if the user is a member of this group
+		$flag_disabled = '';
+		$flag_checked =  '';
+		$flag_cursor =   'pointer';
+		$flag_color =    '';
+		if (in_array($group["group_id"], $admin->get_groups_id())) {
+			$flag_disabled = ''; //' disabled';
+			$flag_checked =  ''; //' checked';
+			$flag_cursor =   'default';
+			$flag_color =    '000000';
+		}
+
+		// Check if the group is allowed to edit pages
+		$system_permissions = explode(',', $group['system_permissions']);
+		if(is_numeric(array_search('pages_modify', $system_permissions))) {
+			$template->set_var(array(
+											'ID' => $group['group_id'],
+											'TOGGLE' => $group['group_id'],
+											'DISABLED' => $flag_disabled,
+											'LINK_COLOR' => $flag_color,
+											'CURSOR' => $flag_cursor,
+											'NAME' => $group['name'],
+											'CHECKED' => $flag_checked
+											)
+									);
+			if(is_numeric(array_search($group['group_id'], $admin_groups))) {
+				$template->set_var('CHECKED', ' checked="checked"');
+			} else {
+				if (!$flag_checked) $template->set_var('CHECKED', '');
+			}
+			$template->parse('group_list', 'group_list_block', true);
+		}
+	}
+// Group list 2 (viewing_groups)
+	$viewing_groups = explode(',', str_replace('_', '', $results_array['viewing_groups']));
+
+    $sql = 'SELECT * FROM `'.TABLE_PREFIX.'groups`';
+    $get_groups = $database->query($sql);
+
+	$template->set_block('main_block', 'group_list_block2', 'group_list2');
+	// Insert admin group and current group first
+	$admin_group_name = $get_groups->fetchRow();
+	$template->set_var(array(
+									'ID' => 1,
+									'TOGGLE' => '',
+									'DISABLED' => ' disabled="disabled"',
+									'LINK_COLOR' => '000000',
+									'CURSOR' => 'default',
+									'NAME' => $admin_group_name['name'],
+									'CHECKED' => ' checked="checked"'
+									)
+							);
+	$template->parse('group_list2', 'group_list_block2', true);
+
+	while($group = $get_groups->fetchRow())
+    {
+		// check if the user is a member of this group
+		$flag_disabled = '';
+		$flag_checked =  '';
+		$flag_cursor =   'pointer';
+		$flag_color =    '';
+		if (in_array($group["group_id"], $admin->get_groups_id()))
+        {
+			$flag_disabled = ''; //' disabled';
+			$flag_checked =  ''; //' checked';
+			$flag_cursor =   'default';
+			$flag_color =    '000000';
+		}
+
+		$template->set_var(array(
+										'ID' => $group['group_id'],
+										'TOGGLE' => $group['group_id'],
+										'DISABLED' => $flag_disabled,
+										'LINK_COLOR' => $flag_color,
+										'CURSOR' => $flag_cursor,
+										'NAME' => $group['name'],
+										'CHECKED' => $flag_checked
+										)
+								);
+		if(is_numeric(array_search($group['group_id'], $viewing_groups)))
+        {
+			$template->set_var('CHECKED', 'checked="checked"');
+		} else {
+			if (!$flag_checked) {$template->set_var('CHECKED', '');}
+		}
+
+		$template->parse('group_list2', 'group_list_block2', true);
+
+	}
+
+// Show private viewers
+if($results_array['visibility'] == 'private' OR $results_array['visibility'] == 'registered')
+{
+	$template->set_var('DISPLAY_VIEWERS', '');
+} else {
+	$template->set_var('DISPLAY_VIEWERS', 'display:none;');
+}
+
+//-- insert page_code 20090904-->
+$template->set_var('DISPLAY_CODE_PAGE_LIST', ' id="multi_lingual" style="display:none;"');
+
+// Work-out if page languages feature is enabled
+if((defined('PAGE_LANGUAGES') && PAGE_LANGUAGES) && $field_set && file_exists(WB_PATH.'/modules/mod_multilingual/update_keys.php') )
+{
+    // workout field is set but module missing
+    $TEXT['PAGE_CODE'] = empty($TEXT['PAGE_CODE']) ? 'Pagecode' : $TEXT['PAGE_CODE'];
+	$template->set_var( array(
+            'DISPLAY_CODE_PAGE_LIST' => ' id="multi_lingual"',
+            'TEXT_PAGE_CODE' => '<a href="'.WB_URL.'/modules/mod_multilingual/update_keys.php?page_id='.$page_id.'">'.$TEXT['PAGE_CODE'].'</a>'
+        )
+    );
+
+	// Page_code list
+   /* 	$database = new database();  */
+	function page_code_list($parent)
+    {
+		global $admin, $database, $template, $results_array, $pageCode;
+		$default_language = DEFAULT_LANGUAGE;
+
+        $sql = 'SELECT * FROM `'.TABLE_PREFIX.'pages` WHERE `parent` = '.$parent.' AND `language` = "'.$default_language.'" ORDER BY `position` ASC';
+        $get_pages = $database->query($sql);
+
+		while($page = $get_pages->fetchRow())
+        {
+			if($admin->page_is_visible($page)==false)
+				continue;
+			$template->set_var('FLAG_CODE_ICON',' none ');
+			if( $page['parent'] == 0 )
+            {
+				$template->set_var('FLAG_CODE_ICON','url('.THEME_URL.'/images/flags/'.strtolower($page['language']).'.png)');
+			}
+			// If the current page cannot be parent, then its children neither
+			$list_next_level = true;
+			// Stop users from adding pages with a level of more than the set page level limit
+			if($page['level']+1 < PAGE_LEVEL_LIMIT)
+            {
+				// Get user perms
+				$admin_groups = explode(',', str_replace('_', '', $page['admin_groups']));
+				$admin_users = explode(',', str_replace('_', '', $page['admin_users']));
+
+				$in_group = FALSE;
+				foreach($admin->get_groups_id() as $cur_gid)
+                {
+					if (in_array($cur_gid, $admin_groups))
+					{
+						$in_group = TRUE;
+					}
+				}
+
+				if(($in_group) OR is_numeric(array_search($admin->get_user_id(), $admin_users)))
+                {
+					$can_modify = true;
+				} else {
+					$can_modify = false;
+				}
+
+				$title_prefix = '';
+				for($i = 1; $i <= $page['level']; $i++) { $title_prefix .= ' - - &nbsp;'; }
+                // $space = str_repeat('&nbsp;', 3);  $space.'&lt;'..'&gt;'
+				$template->set_var(array(
+										'VALUE' => $page['page_code'],
+                                        'PAGE_VALUE' => $title_prefix.$page['page_code'],
+										'PAGE_CODE' => $title_prefix.$page['menu_title']
+										)
+								);
+				if($results_array['page_code'] == $page['page_code']) {
+					$template->set_var('SELECTED', ' selected="selected"');
+				} elseif($results_array['page_code'] == $page['page_code']) {
+					$template->set_var('SELECTED', ' disabled="disabled" class="disabled"');
+					$list_next_level=false;
+				} elseif($can_modify != true) {
+					$template->set_var('SELECTED', ' disabled="disabled" class="disabled"');
+				} else {
+					$template->set_var('SELECTED', '');
+				}
+				$template->parse('page_code_list', 'page_code_list_block', true);
+			}
+			if ($list_next_level)
+				page_code_list($page['page_id']);
+		}
+	}
+
+	// Insert code_page values from page to modify
+	$template->set_block('main_block', 'page_code_list_block', 'page_code_list');
+	if($admin->get_permission('pages_add_l0') == true OR $results_array['level'] == 0) {
+		if($results_array['parent'] == 0) { $selected = ' selected'; } else { $selected = ''; }
+		$template->set_var(array(
+									'VALUE' => '',
+									'PAGE_CODE' => $TEXT['NONE'],
+                                    'PAGE_VALUE' => '',
+									'SELECTED' => $selected
+								)
+							);
+		$template->parse('page_code_list', 'page_code_list_block', true);
+	}
+	// get pagecode form this page_id
+   	page_code_list(0);
+}
+//-- page code -->
+
+// Parent page list
+/* $database = new database();  */
+function parent_list($parent)
+{
+	global $admin, $database, $template, $results_array,$field_set;
+
+    $sql = 'SELECT * FROM `'.TABLE_PREFIX.'pages` WHERE `parent` = '.$parent.' ORDER BY `position` ASC';
+    $get_pages = $database->query($sql);
+
+	while($page = $get_pages->fetchRow())
+    {
+		if($admin->page_is_visible($page)==false)
+        {
+          continue;
+        }
+
+		// if parent = 0 set flag_icon
+		$template->set_var('FLAG_ROOT_ICON',' none ');
+		if( $page['parent'] == 0  && $field_set)
+        {
+			$template->set_var('FLAG_ROOT_ICON','url('.THEME_URL.'/images/flags/'.strtolower($page['language']).'.png)');
+		}
+		// If the current page cannot be parent, then its children neither
+		$list_next_level = true;
+		// Stop users from adding pages with a level of more than the set page level limit
+		if($page['level']+1 < PAGE_LEVEL_LIMIT)
+        {
+			// Get user perms
+			$admin_groups = explode(',', str_replace('_', '', $page['admin_groups']));
+			$admin_users = explode(',', str_replace('_', '', $page['admin_users']));
+			$in_group = FALSE;
+			foreach($admin->get_groups_id() as $cur_gid)
+            {
+				if (in_array($cur_gid, $admin_groups))
+                {
+					$in_group = TRUE;
+				}
+			}
+			if(($in_group) OR is_numeric(array_search($admin->get_user_id(), $admin_users)))
+            {
+				$can_modify = true;
+			} else {
+				$can_modify = false;
+			}
+			// Title -'s prefix
+			$title_prefix = '';
+			for($i = 1; $i <= $page['level']; $i++) { $title_prefix .= ' - '; }
+			$template->set_var(array(
+											'ID' => $page['page_id'],
+											'TITLE' => ($title_prefix.$page['menu_title']),
+											'MENU-TITLE' => ($title_prefix.$page['menu_title']),
+											'PAGE-TITLE' => ($title_prefix.$page['page_title']),
+											'FLAG_ICON' => ' none ',
+											));
+
+			if($results_array['parent'] == $page['page_id'])
+            {
+				$template->set_var('SELECTED', ' selected="selected"');
+			} elseif($results_array['page_id'] == $page['page_id'])
+            {
+				$template->set_var('SELECTED', ' disabled="disabled" class="disabled"');
+				$list_next_level=false;
+			} elseif($can_modify != true)
+            {
+				$template->set_var('SELECTED', ' disabled="disabled" class="disabled"');
+			} else {
+				$template->set_var('SELECTED', '');
+			}
+			$template->parse('page_list2', 'page_list_block2', true);
+		}
+		if ($list_next_level)
+        {
+          parent_list($page['page_id']);
+        }
+
+	}
+}
+
+$template->set_block('main_block', 'page_list_block2', 'page_list2');
+if($admin->get_permission('pages_add_l0') == true OR $results_array['level'] == 0) {
+	if($results_array['parent'] == 0)
+    {
+		$selected = ' selected="selected"';
+	} else { 
+		$selected = '';
+	}
+	$template->set_var(array(
+									'ID' => '0',
+									'TITLE' => $TEXT['NONE'],
+									'SELECTED' => $selected
+									)
+							);
+	$template->parse('page_list2', 'page_list_block2', true);
+}
+parent_list(0);
+
+if($modified_ts == 'Unknown')
+{
+	$template->set_var('DISPLAY_MODIFIED', 'hide');
+} else {
+	$template->set_var('DISPLAY_MODIFIED', '');
+}
+
+// Templates list
+$template->set_block('main_block', 'template_list_block', 'template_list');
+
+$sql = 'SELECT * FROM `'.TABLE_PREFIX.'addons` WHERE `type` = "template" AND `function` = "template" order by `name`';
+$result = $database->query($sql);
+
+if($result->numRows() > 0)
+{
+	while($addon = $result->fetchRow())
+    {
+		// Check if the user has perms to use this template
+		if($addon['directory'] == $results_array['template'] OR $admin->get_permission($addon['directory'], 'template') == true)
+        {
+			$template->set_var('VALUE', $addon['directory']);
+			$template->set_var('NAME', $addon['name']);
+			if($addon['directory'] == $results_array['template'])
+            {
+				$template->set_var('SELECTED', ' selected="selected"');
+			} else {
+				$template->set_var('SELECTED', '');
+			}
+			$template->parse('template_list', 'template_list_block', true);
+		}
+	}
+}
+
+// Menu list
+if(MULTIPLE_MENUS == false)
+{
+	$template->set_var('DISPLAY_MENU_LIST', 'display:none;');
+}
+// Include template info file (if it exists)
+if($results_array['template'] != '')
+{
+	$template_location = WB_PATH.'/templates/'.$results_array['template'].'/info.php';
+} else {
+	$template_location = WB_PATH.'/templates/'.DEFAULT_TEMPLATE.'/info.php';
+}
+if(file_exists($template_location))
+{
+	require($template_location);
+}
+// Check if $menu is set
+if(!isset($menu[1]) OR $menu[1] == '')
+{
+	// Make our own menu list
+	$menu[1] = $TEXT['MAIN'];
+}
+// Add menu options to the list
+$template->set_block('main_block', 'menu_list_block', 'menu_list');
+foreach($menu AS $number => $name)
+{
+	$template->set_var('NAME', $name);
+	$template->set_var('VALUE', $number);
+	if($results_array['menu'] == $number)
+    {
+		$template->set_var('SELECTED', ' selected="selected"');
+	} else {
+		$template->set_var('SELECTED', '');
+	}
+	$template->parse('menu_list', 'menu_list_block', true);
+}
+
+// Insert language values
+$template->set_block('main_block', 'language_list_block', 'language_list');
+
+$sql = 'SELECT * FROM `'.TABLE_PREFIX.'addons` WHERE `type` = "language" ORDER BY `name`';
+$result = $database->query($sql);
+
+if($result->numRows() > 0)
+{
+	while($addon = $result->fetchRow())
+    {
+		$l_codes[$addon['name']] = $addon['directory'];
+		$l_names[$addon['name']] = entities_to_7bit($addon['name']); // sorting-problem workaround
+	}
+	asort($l_names);
+	foreach($l_names as $l_name=>$v)
+    {
+		// Insert code and name
+		$template->set_var(array(
+								'VALUE' => $l_codes[$l_name],
+								'NAME' => $l_name,
+								'FLAG_LANG_ICONS' => 'url('.THEME_URL.'/images/flags/'.strtolower($l_codes[$l_name]).'.png)',
+								));
+		// Check if it is selected
+		if($results_array['language'] == $l_codes[$l_name])
+        {
+			$template->set_var('SELECTED', ' selected="selected"');
+		} else {
+			$template->set_var('SELECTED', '');
+		}
+		$template->parse('language_list', 'language_list_block', true);
+	}
+}
+
+// Select disabled if searching is disabled
+if($results_array['searching'] == 0)
+{
+	$template->set_var('SEARCHING_DISABLED', ' selected="selected"');
+}
+// Select what the page target is
+switch ($results_array['target'])
+{
+	case '_top':
+		$template->set_var('TOP_SELECTED', ' selected="selected"');
+		break;
+	case '_self':
+		$template->set_var('SELF_SELECTED', ' selected="selected"');
+		break;
+	case '_blank':
+		$template->set_var('BLANK_SELECTED', ' selected="selected"');
+		break;
+}
+
+// Insert language text
+$template->set_var(array(
+				'HEADING_MODIFY_PAGE_SETTINGS' => $HEADING['MODIFY_PAGE_SETTINGS'],
+				'TEXT_CURRENT_PAGE' => $TEXT['CURRENT_PAGE'],
+				'TEXT_MODIFY' => $TEXT['MODIFY'],
+				'TEXT_MODIFY_PAGE' => $HEADING['MODIFY_PAGE'],
+				'LAST_MODIFIED' => $MESSAGE['PAGES']['LAST_MODIFIED'],
+				'TEXT_PAGE_TITLE' => $TEXT['PAGE_TITLE'],
+				'TEXT_MENU_TITLE' => $TEXT['MENU_TITLE'],
+				'TEXT_TYPE' => $TEXT['TYPE'],
+				'TEXT_MENU' => $TEXT['MENU'],
+				'TEXT_PARENT' => $TEXT['PARENT'],
+				'TEXT_VISIBILITY' => $TEXT['VISIBILITY'],
+				'TEXT_PUBLIC' => $TEXT['PUBLIC'],
+				'TEXT_PRIVATE' => $TEXT['PRIVATE'],
+				'TEXT_REGISTERED' => $TEXT['REGISTERED'],
+				'TEXT_NONE' => $TEXT['NONE'],
+				'TEXT_HIDDEN' => $TEXT['HIDDEN'],
+				'TEXT_TEMPLATE' => $TEXT['TEMPLATE'],
+				'TEXT_TARGET' => $TEXT['TARGET'],
+				'TEXT_SYSTEM_DEFAULT' => $TEXT['SYSTEM_DEFAULT'],
+				'TEXT_PLEASE_SELECT' => $TEXT['PLEASE_SELECT'],
+				'TEXT_NEW_WINDOW' => $TEXT['NEW_WINDOW'],
+				'TEXT_SAME_WINDOW' => $TEXT['SAME_WINDOW'],
+				'TEXT_TOP_FRAME' => $TEXT['TOP_FRAME'],
+				'TEXT_ADMINISTRATORS' => $TEXT['ADMINISTRATORS'],
+				'TEXT_ALLOWED_VIEWERS' => $TEXT['ALLOWED_VIEWERS'],
+				'TEXT_DESCRIPTION' => $TEXT['DESCRIPTION'],
+				'TEXT_KEYWORDS' => $TEXT['KEYWORDS'],
+				'TEXT_SEARCHING' => $TEXT['SEARCHING'],
+				'TEXT_LANGUAGE' => $TEXT['LANGUAGE'],
+				'TEXT_ENABLED' => $TEXT['ENABLED'],
+				'TEXT_DISABLED' => $TEXT['DISABLED'],
+				'TEXT_SAVE' => $TEXT['SAVE'],
+				'TEXT_RESET' => $TEXT['RESET'],
+				'LAST_MODIFIED' => $MESSAGE['PAGES']['LAST_MODIFIED'],
+				'HEADING_MODIFY_PAGE' => $HEADING['MODIFY_PAGE']
+			) );
+
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/pages/settings.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/admin/pages/index.php
===================================================================
--- tags/2.8.2/wb/admin/pages/index.php	(nonexistent)
+++ tags/2.8.2/wb/admin/pages/index.php	(revision 1481)
@@ -0,0 +1,609 @@
+<?php
+/**
+ *
+ * @category        admin
+ * @package         pages
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL:  $
+ * @lastmodified    $Date:  $
+ *
+ */
+
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Pages', 'pages');
+// Include the WB functions file
+require_once(WB_PATH.'/framework/functions.php');
+// eggsurplus: add child pages for a specific page
+?>
+<script type="text/javascript" src="<?php print ADMIN_URL; ?>/pages/eggsurplus.js"></script>
+<?php
+
+
+function make_list($parent, $editable_pages) {
+	// Get objects and vars from outside this function
+	global $admin, $template, $database, $TEXT, $MESSAGE, $HEADING, $page_tmp_id;
+	?>
+	<ul id="p<?php echo $parent; ?>" <?php if($parent != 0) { echo 'class="page_list" '; if(isset($_COOKIE['p'.$parent]) && $_COOKIE['p'.$parent] == '1'){ echo 'style="display:block"'; }} ?>>
+	<?php
+	// $database = new database();
+
+	// Get page list from database
+    $sql = 'SELECT * FROM `'.TABLE_PREFIX.'pages` WHERE `parent` = '.$parent;
+    $sql .= (PAGE_TRASH != 'inline') ?  ' AND `visibility` != "deleted"' : '';
+    $sql .= ' ORDER BY `position` ASC';
+	$get_pages = $database->query($sql);
+/*
+	if(PAGE_TRASH != 'inline')
+    {
+		$sql = "SELECT * FROM ".TABLE_PREFIX."pages WHERE parent = '$parent' AND visibility != 'deleted' ORDER BY position ASC";
+	} else {
+		$sql = "SELECT * FROM ".TABLE_PREFIX."pages WHERE parent = '$parent' ORDER BY position ASC";
+	}
+*/
+	// Insert values into main page list
+	if($get_pages->numRows() > 0) {
+		while($page = $get_pages->fetchRow()) {
+			// Get user perms
+			$admin_groups = explode(',', str_replace('_', '', $page['admin_groups']));
+			$admin_users = explode(',', str_replace('_', '', $page['admin_users']));
+			$in_group = FALSE;
+			foreach($admin->get_groups_id() as $cur_gid)
+            {
+				if (in_array($cur_gid, $admin_groups))
+                {
+					$in_group = TRUE;
+				}
+			}
+			if(($in_group) OR is_numeric(array_search($admin->get_user_id(), $admin_users)))
+            {
+				if($page['visibility'] == 'deleted')
+                {
+					if(PAGE_TRASH == 'inline')
+                    {
+						$can_modify = true;
+						$editable_pages = $editable_pages+1;
+					} else {
+						$can_modify = false;
+					}
+				} elseif($page['visibility'] != 'deleted')
+                {
+					$can_modify = true;
+					$editable_pages = $editable_pages+1;
+				}
+			} else {
+				if($page['visibility'] == 'private')
+                {
+					continue;
+				}
+				else {
+					$can_modify = false;
+				}
+			}
+			// Work out if we should show a plus or not
+            $sql = 'SELECT `page_id`,`admin_groups`,`admin_users` FROM `'.TABLE_PREFIX.'pages` WHERE `parent` = '.$page['page_id'];
+            $sql .= (PAGE_TRASH != 'inline') ?  ' AND `visibility` != "deleted"' : '';
+            // $sql .= ' ORDER BY `position` ASC';
+        	$get_page_subs = $database->query($sql);
+/*
+			if(PAGE_TRASH != 'inline')
+            {
+				$get_page_subs = $database->query("SELECT page_id,admin_groups,admin_users FROM ".TABLE_PREFIX."pages WHERE parent = '".$page['page_id']."' AND visibility!='deleted'");
+			} else {
+				$get_page_subs = $database->query("SELECT page_id,admin_groups,admin_users FROM ".TABLE_PREFIX."pages WHERE parent = '".$page['page_id']."'");
+			}
+*/
+			if($get_page_subs->numRows() > 0)
+            {
+				$display_plus = true;
+			} else {
+				$display_plus = false;
+			}
+			// Work out how many pages there are for this parent
+			$num_pages = $get_pages->numRows();
+			?>
+			<li class="p<?php echo $page['parent']; ?>">
+			<table class="pages_view" border="0" cellpadding="0" cellspacing="0">
+			<tr>
+				<td valign="middle" width="20" style="padding-left: <?php if($page['level'] > 0){ echo $page['level']*20; } else { echo '7'; } ?>px;">
+					<?php
+					if($display_plus == true) {
+					?>
+					<a href="javascript: toggle_visibility('p<?php echo $page['page_id']; ?>');" title="<?php echo $TEXT['EXPAND'].'/'.$TEXT['COLLAPSE']; ?>">
+						<img src="<?php echo THEME_URL; ?>/images/<?php if(isset($_COOKIE['p'.$page['page_id']]) && $_COOKIE['p'.$page['page_id']] == '1'){ echo 'minus'; } else { echo 'plus'; } ?>_16.png" onclick="toggle_plus_minus('<?php echo $page['page_id']; ?>');" name="plus_minus_<?php echo $page['page_id']; ?>" border="0" alt="+" />
+					</a>
+					<?php
+					}
+					?>
+				</td>
+				<?php if($admin->get_permission('pages_modify') == true AND $can_modify == true) { ?>
+				<td class="list_menu_title">
+					<a href="<?php echo ADMIN_URL; ?>/pages/modify.php?page_id=<?php echo $page['page_id']; ?>" title="<?php echo $TEXT['MODIFY']; ?>">
+						<?php if($page['visibility'] == 'public') { ?>
+							<img src="<?php echo THEME_URL; ?>/images/visible_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['PUBLIC']; ?>" class="page_list_rights" />
+						<?php } elseif($page['visibility'] == 'private') { ?>
+							<img src="<?php echo THEME_URL; ?>/images/private_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['PRIVATE']; ?>" class="page_list_rights" />
+						<?php } elseif($page['visibility'] == 'registered') { ?>
+							<img src="<?php echo THEME_URL; ?>/images/keys_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['REGISTERED']; ?>" class="page_list_rights" />
+						<?php } elseif($page['visibility'] == 'hidden') { ?>
+							<img src="<?php echo THEME_URL; ?>/images/hidden_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['HIDDEN']; ?>" class="page_list_rights" />
+						<?php } elseif($page['visibility'] == 'none') { ?>
+							<img src="<?php echo THEME_URL; ?>/images/none_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['NONE']; ?>" class="page_list_rights" />
+						<?php } elseif($page['visibility'] == 'deleted') { ?>
+							<img src="<?php echo THEME_URL; ?>/images/deleted_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['DELETED']; ?>" class="page_list_rights" />
+						<?php }
+						echo '<span class="modify_link">'.($page['menu_title']).'</span>'; ?>
+					</a>
+				</td>
+				<?php } else { ?>
+				<td class="list_menu_title">
+					<?php if($page['visibility'] == 'public') { ?>
+						<img src="<?php echo THEME_URL; ?>/images/visible_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['PUBLIC']; ?>" class="page_list_rights" />
+					<?php } elseif($page['visibility'] == 'private') { ?>
+						<img src="<?php echo THEME_URL; ?>/images/private_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['PRIVATE']; ?>" class="page_list_rights" />
+					<?php } elseif($page['visibility'] == 'registered') { ?>
+						<img src="<?php echo THEME_URL; ?>/images/keys_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['REGISTERED']; ?>" class="page_list_rights" />
+					<?php } elseif($page['visibility'] == 'hidden') { ?>
+						<img src="<?php echo THEME_URL; ?>/images/hidden_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['HIDDEN']; ?>" class="page_list_rights" />
+					<?php } elseif($page['visibility'] == 'none') { ?>
+						<img src="<?php echo THEME_URL; ?>/images/none_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['NONE']; ?>" class="page_list_rights" />
+					<?php } elseif($page['visibility'] == 'deleted') { ?>
+						<img src="<?php echo THEME_URL; ?>/images/deleted_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['DELETED']; ?>" class="page_list_rights" />
+					<?php } 
+					echo ($page['menu_title']); ?>
+				</td>
+				<?php } ?>
+				<td class="list_page_title">
+					<?php echo ($page['page_title']); ?>
+				</td>
+				<td class="list_page_id">
+					<?php echo $page['page_id']; ?>
+				</td>
+				<td class="list_actions">
+					<?php if($page['visibility'] != 'deleted' AND $page['visibility'] != 'none') { ?>
+					<a href="<?php echo $admin->page_link($page['link']); ?>" target="_blank" title="<?php echo $TEXT['VIEW']; ?>">
+						<img src="<?php echo THEME_URL; ?>/images/view_16.png" border="0" alt="<?php echo $TEXT['VIEW']; ?>" />
+					</a>
+					<?php } ?>
+				</td>
+				<td class="list_actions">
+					<?php if($page['visibility'] != 'deleted') { ?>
+						<?php if($admin->get_permission('pages_settings') == true AND $can_modify == true) { ?>
+						<a href="<?php echo ADMIN_URL; ?>/pages/settings.php?page_id=<?php echo $page['page_id']; ?>" title="<?php echo $TEXT['SETTINGS']; ?>">
+							<img src="<?php echo THEME_URL; ?>/images/modify_16.png" border="0" alt="<?php echo $TEXT['SETTINGS']; ?>" />
+						</a>
+						<?php } ?>
+					<?php } else { ?>
+						<a href="<?php echo ADMIN_URL; ?>/pages/restore.php?page_id=<?php echo $page['page_id']; ?>" title="<?php echo $TEXT['RESTORE']; ?>">
+							<img src="<?php echo THEME_URL; ?>/images/restore_16.png" border="0" alt="<?php echo $TEXT['RESTORE']; ?>" />
+						</a>
+					<?php } ?>
+				</td>
+				<!-- MANAGE SECTIONS AND DATES BUTTONS -->
+				<td class="list_actions">
+				<?php
+				// Work-out if we should show the "manage dates" link
+				if(MANAGE_SECTIONS == 'enabled' && $admin->get_permission('pages_modify')==true && $can_modify==true)
+                {
+
+                    $sql = 'SELECT `publ_start`, `publ_end` FROM `'.TABLE_PREFIX.'sections`';
+                    $sql .= ' WHERE `page_id` = '.$page['page_id'].' AND `module` != "menu_link"';
+                    $query_sections = $database->query($sql);
+
+					// $query_sections = $database->query("SELECT publ_start, publ_end FROM ".TABLE_PREFIX."sections WHERE page_id = '{$page['page_id']}' AND module != 'menu_link'");
+
+					if($query_sections->numRows() > 0)
+                    {
+						$mdate_display=false;
+						while($mdate_res = $query_sections->fetchRow())
+                        {
+							if($mdate_res['publ_start']!='0' || $mdate_res['publ_end']!='0')
+                            {
+								$mdate_display=true;
+								break;
+							}
+						}
+						if($mdate_display==1)
+                        {
+							$file=$admin->page_is_active($page)?"clock_16.png":"clock_red_16.png";
+							?>
+							<a href="<?php echo ADMIN_URL; ?>/pages/sections.php?page_id=<?php echo $page['page_id']; ?>" title="<?php echo $HEADING['MANAGE_SECTIONS']; ?>">
+							<img src="<?php echo THEME_URL."/images/$file"; ?>" border="0" alt="<?php echo $HEADING['MANAGE_SECTIONS']; ?>" />
+							</a>
+						<?php } else { ?>
+							<a href="<?php echo ADMIN_URL; ?>/pages/sections.php?page_id=<?php echo $page['page_id']; ?>" title="<?php echo $HEADING['MANAGE_SECTIONS']; ?>">
+							<img src="<?php echo THEME_URL; ?>/images/noclock_16.png" border="0" alt="<?php echo $HEADING['MANAGE_SECTIONS']; ?>" /></a>
+						<?php } ?>
+					<?php } ?>
+				<?php } ?>
+				</td>
+				<td class="list_actions">
+				<?php if($page['position'] != 1) { ?>
+					<?php if($page['visibility'] != 'deleted') { ?>
+						<?php if($admin->get_permission('pages_settings') == true AND $can_modify == true) { ?>
+						<a href="<?php echo ADMIN_URL; ?>/pages/move_up.php?page_id=<?php echo $page['page_id']; ?>" title="<?php echo $TEXT['MOVE_UP']; ?>">
+							<img src="<?php echo THEME_URL; ?>/images/up_16.png" border="0" alt="<?php echo $TEXT['MOVE_UP']; ?>" />
+						</a>
+						<?php } ?>
+					<?php } ?>
+				<?php } ?>
+				</td>
+				<td class="list_actions">
+				<?php if($page['position'] != $num_pages) { ?>
+					<?php if($page['visibility'] != 'deleted') { ?>
+						<?php if($admin->get_permission('pages_settings') == true AND $can_modify == true) { ?>
+						<a href="<?php echo ADMIN_URL; ?>/pages/move_down.php?page_id=<?php echo $page['page_id']; ?>" title="<?php echo $TEXT['MOVE_DOWN']; ?>">
+							<img src="<?php echo THEME_URL; ?>/images/down_16.png" border="0" alt="<?php echo $TEXT['MOVE_DOWN']; ?>" />
+						</a>
+						<?php } ?>
+					<?php } ?>
+				<?php } ?>
+				</td>
+				<td class="list_actions">
+					<?php if($admin->get_permission('pages_delete') == true AND $can_modify == true) { ?>
+					<a href="javascript: confirm_link('<?php echo $MESSAGE['PAGES']['DELETE_CONFIRM']; ?>?', '<?php echo ADMIN_URL; ?>/pages/delete.php?page_id=<?php echo $page['page_id']; ?>');" title="<?php echo $TEXT['DELETE']; ?>">
+						<img src="<?php echo THEME_URL; ?>/images/delete_16.png" border="0" alt="<?php echo $TEXT['DELETE']; ?>" />
+					</a>
+					<?php } ?>
+				</td>
+				<?php
+				// eggsurplus: Add action to add a page as a child
+				?>
+				<td class="list_actions">
+					<?php if($admin->get_permission('pages_delete') == true AND $can_modify == true) { ?>
+					<a href="javascript:add_child_page('<?php echo $page['page_id']; ?>');" title="<?php echo $TEXT['ADD']; ?>">
+						<img src="<?php echo THEME_URL; ?>/images/plus_16.png" name="addpage_<?php echo $page['page_id']; ?>" border="0" alt="Add Child Page" />
+					</a>
+					<?php } ?>
+				</td>
+				<?php
+				// end [IC] jeggers 2009/10/14: Add action to add a page as a child
+				?>
+
+			</tr>
+			</table>
+			</li>
+			<?php
+			if ( $page['parent'] = 0)
+            {
+				$page_tmp_id = $page['page_id'];
+			}
+			// Get subs
+			$editable_pages=make_list($page['page_id'], $editable_pages);
+		}
+	}
+	?>
+	</ul>
+	<?php
+	return $editable_pages;
+}
+
+// Generate pages list
+if($admin->get_permission('pages_view') == true) {
+	?>
+	<div class="jsadmin hide"></div>
+	<table cellpadding="0" cellspacing="0" width="100%" border="0">
+	<tr>
+		<td>
+			<h2><?php echo $HEADING['MODIFY_DELETE_PAGE']; ?></h2>
+		</td>
+		<td align="right">
+			<?php
+				// Check if there are any pages that are in trash, and if we should show a link to the trash page
+				if(PAGE_TRASH == 'separate') {
+					$query_trash = $database->query("SELECT page_id FROM ".TABLE_PREFIX."pages WHERE visibility = 'deleted'");
+					if($query_trash->numRows() > 0) {
+						?>
+						<a href="<?php echo ADMIN_URL; ?>/pages/trash.php">
+						<img src="<?php echo THEME_URL; ?>/images/delete_16.png" alt="<?php echo $TEXT['PAGE_TRASH']; ?>" border="0" />
+						<?php echo $TEXT['VIEW_DELETED_PAGES']; ?></a>
+						<?php
+					}
+				}
+			?>
+		</td>
+	</tr>
+	</table>
+	<div class="pages_list">
+	<table cellpadding="0" cellspacing="0" border="0">
+	<tr>
+		<td class="header_list_menu_title">
+			<?php echo $TEXT['VISIBILITY'] .' / ' .$TEXT['MENU_TITLE']; ?>:
+		</td>
+		<td class="header_list_page_title">
+			<?php echo $TEXT['PAGE_TITLE']; ?>:
+		</td>
+		<td class="header_list_page_id">
+			ID:
+		</td>		
+		<td class="header_list_actions">
+			<?php echo $TEXT['ACTIONS']; ?>:
+		</td>
+	</tr>
+	</table>
+	<?php
+    // Work-out if we should check for existing page_code
+    $field_sql = $database->query("DESCRIBE ".TABLE_PREFIX."pages page_code");
+    $field_set = $field_sql->numRows();
+
+	$page_tmp_id = 0;
+	$editable_pages = make_list(0, 0);
+	?>
+	</div>
+	<div class="empty_list">
+		<?php echo $TEXT['NONE_FOUND']; ?>
+	</div>
+	<?php
+} else {
+	$editable_pages = 0;
+}
+
+// Setup template object
+$template = new Template(THEME_PATH.'/templates');
+$template->set_file('page', 'pages.htt');
+$template->set_block('page', 'main_block', 'main');
+
+// Figure out if the no pages found message should be shown or not
+if($editable_pages == 0) {
+	?>
+	<style type="text/css">
+	.pages_list {
+		display: none;
+	}
+	</style>
+	<?php
+} else {
+	?>
+	<style type="text/css">
+	.empty_list {
+		display: none;
+	}
+	</style>
+	<?php
+}
+
+// Insert values into the add page form
+
+// Group list 1
+
+	$query = "SELECT * FROM ".TABLE_PREFIX."groups";
+	$get_groups = $database->query($query);
+	$template->set_block('main_block', 'group_list_block', 'group_list');
+	// Insert admin group and current group first
+	$admin_group_name = $get_groups->fetchRow();
+	$template->set_var(array(
+									'ID' => 1,
+									'TOGGLE' => '',
+									'DISABLED' => ' disabled="disabled"',
+									'LINK_COLOR' => '000000',
+									'CURSOR' => 'default',
+									'NAME' => $admin_group_name['name'],
+									'CHECKED' => ' checked="checked"'
+									)
+							);
+	$template->parse('group_list', 'group_list_block', true);
+
+	while($group = $get_groups->fetchRow()) {
+		// check if the user is a member of this group
+		$flag_disabled = '';
+		$flag_checked =  '';
+		$flag_cursor =   'pointer';
+		$flag_color =    '';
+		if (in_array($group["group_id"], $admin->get_groups_id())) {
+			$flag_disabled = ''; //' disabled';
+			$flag_checked =  ' checked="checked"';
+			$flag_cursor =   'default';
+			$flag_color =    '000000';
+		}
+
+		// Check if the group is allowed to edit pages
+		$system_permissions = explode(',', $group['system_permissions']);
+		if(is_numeric(array_search('pages_modify', $system_permissions))) {
+			$template->set_var(array(
+											'ID' => $group['group_id'],
+											'TOGGLE' => $group['group_id'],
+											'CHECKED' => $flag_checked,
+											'DISABLED' => $flag_disabled,
+											'LINK_COLOR' => $flag_color,
+											'CURSOR' => $flag_checked,
+											'NAME' => $group['name'],
+											)
+									);
+			$template->parse('group_list', 'group_list_block', true);
+		}
+	}
+// Group list 2
+
+	$query = "SELECT * FROM ".TABLE_PREFIX."groups";
+
+	$get_groups = $database->query($query);
+	$template->set_block('main_block', 'group_list_block2', 'group_list2');
+	// Insert admin group and current group first
+	$admin_group_name = $get_groups->fetchRow();
+	$template->set_var(array(
+									'ID' => 1,
+									'TOGGLE' => '',
+									'DISABLED' => ' disabled="disabled"',
+									'LINK_COLOR' => '000000',
+									'CURSOR' => 'default',
+									'NAME' => $admin_group_name['name'],
+									'CHECKED' => ' checked="checked"'
+									)
+							);
+	$template->parse('group_list2', 'group_list_block2', true);
+
+	while($group = $get_groups->fetchRow()) {
+		// check if the user is a member of this group
+		$flag_disabled = '';
+		$flag_checked =  '';
+		$flag_cursor =   'pointer';
+		$flag_color =    '';
+		if (in_array($group["group_id"], $admin->get_groups_id())) {
+			$flag_disabled = ''; //' disabled';
+			$flag_checked =  ' checked="checked"';
+			$flag_cursor =   'default';
+			$flag_color =    '000000';
+		}
+
+		$template->set_var(array(
+										'ID' => $group['group_id'],
+										'TOGGLE' => $group['group_id'],
+										'CHECKED' => $flag_checked,
+										'DISABLED' => $flag_disabled,
+										'LINK_COLOR' => $flag_color,
+										'CURSOR' => $flag_cursor,
+										'NAME' => $group['name'],
+										)
+								);
+		$template->parse('group_list2', 'group_list_block2', true);
+	}
+
+
+// Parent page list
+// $database = new database();
+function parent_list($parent)
+{
+	global $admin, $database, $template, $field_set;
+	$query = "SELECT * FROM ".TABLE_PREFIX."pages WHERE parent = '$parent' AND visibility!='deleted' ORDER BY position ASC";
+	$get_pages = $database->query($query);
+	while($page = $get_pages->fetchRow()) {
+		if($admin->page_is_visible($page)==false)
+			continue;
+		// if parent = 0 set flag_icon
+		$template->set_var('FLAG_ROOT_ICON',' none ');
+		if( $page['parent'] == 0 && $field_set) {
+			$template->set_var('FLAG_ROOT_ICON','url('.THEME_URL.'/images/flags/'.strtolower($page['language']).'.png)');
+		}
+		// Stop users from adding pages with a level of more than the set page level limit
+		if($page['level']+1 < PAGE_LEVEL_LIMIT) {
+			// Get user perms
+			$admin_groups = explode(',', str_replace('_', '', $page['admin_groups']));
+			$admin_users = explode(',', str_replace('_', '', $page['admin_users']));
+			
+			$in_group = FALSE;
+			foreach($admin->get_groups_id() as $cur_gid) {
+				if (in_array($cur_gid, $admin_groups)) {
+					$in_group = TRUE;
+				}
+			}
+			if(($in_group) OR is_numeric(array_search($admin->get_user_id(), $admin_users))) {
+				$can_modify = true;
+			} else {
+				$can_modify = false;
+			}
+			// Title -'s prefix
+			$title_prefix = '';
+			for($i = 1; $i <= $page['level']; $i++) { $title_prefix .= ' - '; }
+				$template->set_var(array(
+												'ID' => $page['page_id'],
+												'TITLE' => ($title_prefix.$page['menu_title']),
+												'MENU-TITLE' => ($title_prefix.$page['menu_title']),
+												'PAGE-TITLE' => ($title_prefix.$page['page_title'])
+												)
+										);
+				if($can_modify == true) {
+					$template->set_var('DISABLED', '');
+				} else {
+					$template->set_var('DISABLED', ' disabled="disabled" class="disabled"');
+				}
+				$template->parse('page_list2', 'page_list_block2', true);
+		}
+		parent_list($page['page_id']);
+	}
+}
+$template->set_block('main_block', 'page_list_block2', 'page_list2');
+if($admin->get_permission('pages_add_l0') == true) {
+	$template->set_var(array(
+									'ID' => '0',
+									'TITLE' => $TEXT['NONE'],
+									'SELECTED' => ' selected="selected"',
+									'DISABLED' => ''
+									)
+							);
+	$template->parse('page_list2', 'page_list_block2', true);
+}
+parent_list(0);
+
+// Explode module permissions
+$module_permissions = $_SESSION['MODULE_PERMISSIONS'];
+// Modules list
+$template->set_block('main_block', 'module_list_block', 'module_list');
+$result = $database->query("SELECT * FROM ".TABLE_PREFIX."addons WHERE type = 'module' AND function = 'page' order by name");
+if($result->numRows() > 0) {
+	while ($module = $result->fetchRow()) {
+		// Check if user is allowed to use this module
+		if(!is_numeric(array_search($module['directory'], $module_permissions))) {
+			$template->set_var('VALUE', $module['directory']);
+			$template->set_var('NAME', $module['name']);
+			if($module['directory'] == 'wysiwyg') {
+				$template->set_var('SELECTED', ' selected="selected"');
+			} else {
+				$template->set_var('SELECTED', '');
+			}
+			$template->parse('module_list', 'module_list_block', true);
+		}
+	}
+}
+
+// Insert urls
+$template->set_var(array(
+								'THEME_URL' => THEME_URL,
+								'WB_URL' => WB_URL,
+								'WB_PATH' => WB_PATH,
+								'ADMIN_URL' => ADMIN_URL,
+								)
+						);
+
+// Insert language headings
+$template->set_var(array(
+								'HEADING_ADD_PAGE' => $HEADING['ADD_PAGE'],
+								'HEADING_MODIFY_INTRO_PAGE' => $HEADING['MODIFY_INTRO_PAGE']
+								)
+						);
+// Insert language text and messages
+$template->set_var(array(
+								'TEXT_TITLE' => $TEXT['TITLE'],
+								'TEXT_TYPE' => $TEXT['TYPE'],
+								'TEXT_PARENT' => $TEXT['PARENT'],
+								'TEXT_VISIBILITY' => $TEXT['VISIBILITY'],
+								'TEXT_PUBLIC' => $TEXT['PUBLIC'],
+								'TEXT_PRIVATE' => $TEXT['PRIVATE'],
+								'TEXT_REGISTERED' => $TEXT['REGISTERED'],
+								'TEXT_HIDDEN' => $TEXT['HIDDEN'],
+								'TEXT_NONE' => $TEXT['NONE'],
+								'TEXT_NONE_FOUND' => $TEXT['NONE_FOUND'],
+								'TEXT_ADD' => $TEXT['ADD'],
+								'TEXT_RESET' => $TEXT['RESET'],
+								'TEXT_ADMINISTRATORS' => $TEXT['ADMINISTRATORS'],
+								'TEXT_PRIVATE_VIEWERS' => $TEXT['PRIVATE_VIEWERS'],
+								'TEXT_REGISTERED_VIEWERS' => $TEXT['REGISTERED_VIEWERS'],
+								'INTRO_LINK' => $MESSAGE['PAGES']['INTRO_LINK'],
+								)
+						);
+
+// Insert permissions values
+if($admin->get_permission('pages_add') != true) {
+	$template->set_var('DISPLAY_ADD', 'hide');
+} elseif($admin->get_permission('pages_add_l0') != true AND $editable_pages == 0) {
+	$template->set_var('DISPLAY_ADD', 'hide');
+}
+if($admin->get_permission('pages_intro') != true OR INTRO_PAGE != 'enabled') {
+	$template->set_var('DISPLAY_INTRO', 'hide');
+}
+
+
+// Parse template object
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
+
+// Print admin 
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/pages/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/pages/settings2.php
===================================================================
--- tags/2.8.2/wb/admin/pages/settings2.php	(nonexistent)
+++ tags/2.8.2/wb/admin/pages/settings2.php	(revision 1481)
@@ -0,0 +1,309 @@
+<?php
+/**
+ *
+ * @category        admin
+ * @package         pages
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// Get page id
+if(!isset($_POST['page_id']) OR !is_numeric($_POST['page_id']))
+{
+	header("Location: index.php");
+	exit(0);
+} else {
+	$page_id = $_POST['page_id'];
+}
+
+// Create new admin object and print admin header
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Pages', 'pages_settings');
+
+// Include the WB functions file
+require_once(WB_PATH.'/framework/functions.php');
+
+// Get values
+$page_title = $admin->get_post_escaped('page_title');
+$page_title = htmlspecialchars($page_title);
+$menu_title = $admin->get_post_escaped('menu_title');
+$menu_title = htmlspecialchars($menu_title);
+$page_code = $admin->get_post_escaped('page_code');
+$page_code = htmlspecialchars($page_code);
+$description = htmlspecialchars($admin->add_slashes($admin->get_post('description')));
+$keywords = htmlspecialchars($admin->add_slashes($admin->get_post('keywords')));
+$parent = $admin->get_post_escaped('parent');
+$visibility = $admin->get_post_escaped('visibility');
+$template = $admin->get_post_escaped('template');
+$target = $admin->get_post_escaped('target');
+$admin_groups = $admin->get_post_escaped('admin_groups');
+$viewing_groups = $admin->get_post_escaped('viewing_groups');
+$searching = $admin->get_post_escaped('searching');
+$language = $admin->get_post_escaped('language');
+$menu = $admin->get_post_escaped('menu');
+
+// Validate data
+if($page_title == '' || substr($page_title,0,1)=='.')
+{
+	$admin->print_error($MESSAGE['PAGES']['BLANK_PAGE_TITLE']);
+}
+if($menu_title == '' || substr($menu_title,0,1)=='.')
+{
+	$admin->print_error($MESSAGE['PAGES']['BLANK_MENU_TITLE']);
+}
+
+// Get existing perms
+// $database = new database();
+
+$sql = 'SELECT `parent`,`link`,`position`,`admin_groups`,`admin_users` FROM `'.TABLE_PREFIX.'pages` WHERE `page_id`='.$page_id;
+$results = $database->query($sql);
+
+$results_array = $results->fetchRow();
+$old_parent = $results_array['parent'];
+$old_link = $results_array['link'];
+$old_position = $results_array['position'];
+$old_admin_groups = explode(',', str_replace('_', '', $results_array['admin_groups']));
+$old_admin_users = explode(',', str_replace('_', '', $results_array['admin_users']));
+
+// Work-out if we should check for existing page_code
+$sql = 'DESCRIBE `'.TABLE_PREFIX.'pages` `page_code`';
+$field_sql = $database->query($sql);
+$field_set = $field_sql->numRows();
+
+$in_old_group = FALSE;
+foreach($admin->get_groups_id() as $cur_gid){
+    if (in_array($cur_gid, $old_admin_groups)) {
+	$in_old_group = TRUE;
+    }
+}
+if((!$in_old_group) AND !is_numeric(array_search($admin->get_user_id(), $old_admin_users)))
+{
+	$admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']);
+}
+
+// Setup admin groups
+$admin_groups[] = 1;
+//if(!in_array(1, $admin->get_groups_id())) {
+//	$admin_groups[] = implode(",",$admin->get_groups_id());
+//}
+$admin_groups = implode(',', $admin_groups);
+// Setup viewing groups
+$viewing_groups[] = 1;
+//if(!in_array(1, $admin->get_groups_id())) {
+//	$viewing_groups[] = implode(",",$admin->get_groups_id());
+//}
+$viewing_groups = implode(',', $viewing_groups);
+
+// If needed, get new order
+if($parent != $old_parent)
+{
+	// Include ordering class
+	require(WB_PATH.'/framework/class.order.php');
+	$order = new order(TABLE_PREFIX.'pages', 'position', 'page_id', 'parent');
+	// Get new order
+	$position = $order->get_new($parent);
+	// Clean new order
+	$order->clean($parent);
+} else {
+	$position = $old_position;
+}
+
+// Work out level and root parent
+if ($parent!='0')
+{
+	$level = level_count($parent)+1;
+	$root_parent = root_parent($parent);
+}
+else {
+	$level = '0';
+	$root_parent = '0';
+}
+
+// Work-out what the link should be
+if($parent == '0')
+{
+	$link = '/'.page_filename($menu_title);
+	// rename menu titles: index && intro to prevent clashes with intro page feature and WB core file /pages/index.php
+	if($link == '/index' || $link == '/intro')
+    {
+		$link .= '_' .$page_id;
+		$filename = WB_PATH.PAGES_DIRECTORY.'/'.page_filename($menu_title).'_'.$page_id .PAGE_EXTENSION;
+	} else {
+		$filename = WB_PATH.PAGES_DIRECTORY.'/'.page_filename($menu_title).PAGE_EXTENSION;
+	}
+} else {
+	$parent_section = '';
+	$parent_titles = array_reverse(get_parent_titles($parent));
+	foreach($parent_titles AS $parent_title)
+    {
+		$parent_section .= page_filename($parent_title).'/';
+	}
+	if($parent_section == '/')
+    {
+      $parent_section = '';
+    }
+	$link = '/'.$parent_section.page_filename($menu_title);
+	$filename = WB_PATH.PAGES_DIRECTORY.'/'.$parent_section.page_filename($menu_title).PAGE_EXTENSION;
+}
+
+// Check if a page with same page filename exists
+// $database = new database();
+$sql = 'SELECT `page_id`,`page_title` FROM `'.TABLE_PREFIX.'pages` WHERE `link` = "'.$link.'" AND `page_id` != '.$page_id;
+$get_same_page = $database->query($sql);
+
+if($get_same_page->numRows() > 0)
+{
+	$admin->print_error($MESSAGE['PAGES']['PAGE_EXISTS']);
+}
+
+// Update page with new order
+$sql = 'UPDATE `'.TABLE_PREFIX.'pages` SET `parent`='.$parent.', `position`='.$position.' WHERE `page_id`='.$page_id.'';
+// $database = new database();
+$database->query($sql);
+
+// Get page trail
+$page_trail = get_page_trail($page_id);
+
+// Update page settings in the pages table
+$sql  = 'UPDATE `'.TABLE_PREFIX.'pages` SET ';
+$sql .= '`parent` = '.$parent.', ';
+$sql .= '`page_title` = "'.$page_title.'", ';
+$sql .= '`menu_title` = "'.$menu_title.'", ';
+$sql .= '`menu` = '.$menu.', ';
+$sql .= '`level` = '.$level.', ';
+$sql .= '`page_trail` = "'.$page_trail.'", ';
+$sql .= '`root_parent` = '.$root_parent.', ';
+$sql .= '`link` = "'.$link.'", ';
+$sql .= '`template` = "'.$template.'", ';
+$sql .= '`target` = "'.$target.'", ';
+$sql .= '`description` = "'.$description.'", ';
+$sql .= '`keywords` = "'.$keywords.'", ';
+$sql .= '`position` = '.$position.', ';
+$sql .= '`visibility` = "'.$visibility.'", ';
+$sql .= '`searching` = '.$searching.', ';
+$sql .= '`language` = "'.$language.'", ';
+$sql .= '`admin_groups` = "'.$admin_groups.'", ';
+$sql .= '`viewing_groups` = "'.$viewing_groups.'"';
+$sql .= (defined('PAGE_LANGUAGES') && PAGE_LANGUAGES) && $field_set && (file_exists(WB_PATH.'/modules/mod_multilingual/update_keys.php')) ? ', `page_code` = "'.$page_code.'" ' : ' ';
+$sql .= 'WHERE `page_id` = '.$page_id;
+$database->query($sql);
+
+$target_url = ADMIN_URL.'/pages/settings.php?page_id='.$page_id;
+if($database->is_error())
+{
+	$admin->print_error($database->get_error(), $target_url );
+}
+// Clean old order if needed
+if($parent != $old_parent)
+{
+	$order->clean($old_parent);
+}
+
+/* BEGIN page "access file" code */
+
+// Create a new file in the /pages dir if title changed
+if(!is_writable(WB_PATH.PAGES_DIRECTORY.'/'))
+{
+	$admin->print_error($MESSAGE['PAGES']['CANNOT_CREATE_ACCESS_FILE']);
+} else {
+	// First check if we need to create a new file
+	if($old_link != $link)
+    {
+		// Delete old file
+		$old_filename = WB_PATH.PAGES_DIRECTORY.$old_link.PAGE_EXTENSION;
+		if(file_exists($old_filename))
+        {
+			unlink($old_filename);
+		}
+		// Create access file
+		create_access_file($filename,$page_id,$level);
+		// Move a directory for this page
+		if(file_exists(WB_PATH.PAGES_DIRECTORY.$old_link.'/') AND is_dir(WB_PATH.PAGES_DIRECTORY.$old_link.'/'))
+        {
+			rename(WB_PATH.PAGES_DIRECTORY.$old_link.'/', WB_PATH.PAGES_DIRECTORY.$link.'/');
+		}
+		// Update any pages that had the old link with the new one
+		$old_link_len = strlen($old_link);
+        $sql = '';
+		$query_subs = $database->query("SELECT page_id,link,level FROM ".TABLE_PREFIX."pages WHERE link LIKE '%$old_link/%' ORDER BY LEVEL ASC");
+
+		if($query_subs->numRows() > 0)
+        {
+			while($sub = $query_subs->fetchRow())
+            {
+				// Double-check to see if it contains old link
+				if(substr($sub['link'], 0, $old_link_len) == $old_link)
+                {
+					// Get new link
+					$replace_this = $old_link;
+					$old_sub_link_len =strlen($sub['link']);
+					$new_sub_link = $link.'/'.substr($sub['link'],$old_link_len+1,$old_sub_link_len);
+					// Work out level
+					$new_sub_level = level_count($sub['page_id']);
+					// Update level and link
+					$database->query("UPDATE ".TABLE_PREFIX."pages SET link = '$new_sub_link', level = '$new_sub_level' WHERE page_id = '".$sub['page_id']."' LIMIT 1");
+					// Re-write the access file for this page
+					$old_subpage_file = WB_PATH.PAGES_DIRECTORY.$new_sub_link.PAGE_EXTENSION;
+					if(file_exists($old_subpage_file))
+                    {
+						unlink($old_subpage_file);
+					}
+					create_access_file(WB_PATH.PAGES_DIRECTORY.$new_sub_link.PAGE_EXTENSION, $sub['page_id'], $new_sub_level);
+				}
+			}
+		}
+	}
+}
+
+// Function to fix page trail of subs
+function fix_page_trail($parent,$root_parent)
+{
+	// Get objects and vars from outside this function
+	global $admin, $template, $database, $TEXT, $MESSAGE;
+	// Get page list from database
+	// $database = new database();
+	$query = "SELECT page_id FROM ".TABLE_PREFIX."pages WHERE parent = '$parent'";
+	$get_pages = $database->query($query);
+	// Insert values into main page list
+	if($get_pages->numRows() > 0)
+    {
+		while($page = $get_pages->fetchRow())
+        {
+			// Fix page trail
+
+			$database->query("UPDATE ".TABLE_PREFIX."pages SET ".($root_parent != 0 ?"root_parent = '$root_parent', ":"")." page_trail = '".get_page_trail($page['page_id'])."' WHERE page_id = '".$page['page_id']."'");
+			// Run this query on subs
+			fix_page_trail($page['page_id'],$root_parent);
+		}
+	}
+}
+
+// Fix sub-pages page trail
+fix_page_trail($page_id,$root_parent);
+
+/* END page "access file" code */
+
+$pagetree_url = ADMIN_URL.'/pages/index.php';
+$target_url = ADMIN_URL.'/pages/settings.php?page_id='.$page_id;
+// Check if there is a db error, otherwise say successful
+if($database->is_error())
+{
+	$admin->print_error($database->get_error(), $target_url );
+} else {
+	$admin->print_success($MESSAGE['PAGES']['SAVED_SETTINGS'], $target_url );
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/pages/settings2.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/admin/pages/eggsurplus.js
===================================================================
--- tags/2.8.2/wb/admin/pages/eggsurplus.js	(nonexistent)
+++ tags/2.8.2/wb/admin/pages/eggsurplus.js	(revision 1481)
@@ -0,0 +1,15 @@
+	function add_child_page(page_id)
+    {
+		//find and select the page in the parent dropdown
+		var selectBox = document.add.parent;
+		for (var i = 0; i < selectBox.options.length; i++)
+		{
+			  if (selectBox.options[i].value == page_id)
+			  {
+					selectBox.selectedIndex = i;
+					break;
+			  }
+		}
+		//set focus to add form
+		document.add.title.focus();
+	}
Index: tags/2.8.2/wb/admin/pages/sections.php
===================================================================
--- tags/2.8.2/wb/admin/pages/sections.php	(nonexistent)
+++ tags/2.8.2/wb/admin/pages/sections.php	(revision 1481)
@@ -0,0 +1,391 @@
+<?php
+/**
+ *
+ * @category        admin
+ * @package         pages
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// Include config file
+require('../../config.php');
+
+// Make sure people are allowed to access this page
+if(MANAGE_SECTIONS != 'enabled') {
+	header('Location: '.ADMIN_URL.'/pages/index.php');
+	exit(0);
+}
+
+// Get page id
+if(!isset($_GET['page_id']) OR !is_numeric($_GET['page_id'])) {
+	header("Location: index.php");
+	exit(0);
+} else {
+	$page_id = $_GET['page_id'];
+}
+
+$debug = false; // to show position and section_id
+
+// Create new admin object
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Pages', 'pages_modify');
+
+// Check if we are supposed to add or delete a section
+if(isset($_GET['section_id']) AND is_numeric($_GET['section_id'])) {
+	// Get more information about this section
+	$section_id = $_GET['section_id'];
+	$query_section = $database->query("SELECT module FROM ".TABLE_PREFIX."sections WHERE section_id = '$section_id'");
+	if($query_section->numRows() == 0) {
+		$admin->print_error('Section not found');
+	}
+	$section = $query_section->fetchRow();
+	// Include the modules delete file if it exists
+	if(file_exists(WB_PATH.'/modules/'.$section['module'].'/delete.php')) {
+		require(WB_PATH.'/modules/'.$section['module'].'/delete.php');
+	}
+    $sql = '';
+	$database->query("DELETE FROM ".TABLE_PREFIX."sections WHERE section_id = '$section_id' LIMIT 1");
+	if($database->is_error()) {
+		$admin->print_error($database->get_error());
+	} else {
+		require(WB_PATH.'/framework/class.order.php');
+		$order = new order(TABLE_PREFIX.'sections', 'position', 'section_id', 'page_id');
+		$order->clean($page_id);
+		$admin->print_success($TEXT['SUCCESS'], ADMIN_URL.'/pages/sections.php?page_id='.$page_id);
+		$admin->print_footer();
+		exit();
+	}
+} elseif(isset($_POST['module']) AND $_POST['module'] != '') {
+	// Get section info
+	$module = $admin->add_slashes($_POST['module']);
+	// Include the ordering class
+	require(WB_PATH.'/framework/class.order.php');
+	// Get new order
+	$order = new order(TABLE_PREFIX.'sections', 'position', 'section_id', 'page_id');
+	$position = $order->get_new($page_id);	
+	// Insert module into DB
+	$database->query("INSERT INTO ".TABLE_PREFIX."sections (page_id,module,position,block) VALUES ('$page_id','$module','$position','1')");
+	// Get the section id
+	$section_id = $database->get_one("SELECT LAST_INSERT_ID()");	
+	// Include the selected modules add file if it exists
+	if(file_exists(WB_PATH.'/modules/'.$module.'/add.php')) {
+		require(WB_PATH.'/modules/'.$module.'/add.php');
+	}
+}
+
+// Get perms
+$database = new database();
+$results = $database->query("SELECT admin_groups,admin_users FROM ".TABLE_PREFIX."pages WHERE page_id = '$page_id'");
+$results_array = $results->fetchRow();
+$old_admin_groups = explode(',', $results_array['admin_groups']);
+$old_admin_users = explode(',', $results_array['admin_users']);
+$in_old_group = FALSE;
+foreach($admin->get_groups_id() as $cur_gid){
+	if (in_array($cur_gid, $old_admin_groups)) {
+		$in_old_group = TRUE;
+	}
+}
+if((!$in_old_group) AND !is_numeric(array_search($admin->get_user_id(), $old_admin_users))) {
+	$admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']);
+}
+
+// Get page details
+$database = new database();
+$query = "SELECT * FROM ".TABLE_PREFIX."pages WHERE page_id = '$page_id'";
+$results = $database->query($query);
+if($database->is_error()) {
+	$admin->print_header();
+	$admin->print_error($database->get_error());
+}
+if($results->numRows() == 0) {
+	$admin->print_header();
+	$admin->print_error($MESSAGE['PAGES']['NOT_FOUND']);
+}
+$results_array = $results->fetchRow();
+
+// Set module permissions
+$module_permissions = $_SESSION['MODULE_PERMISSIONS'];
+
+// Unset block var
+unset($block);
+// Include template info file (if it exists)
+if($results_array['template'] != '') {
+	$template_location = WB_PATH.'/templates/'.$results_array['template'].'/info.php';
+} else {
+	$template_location = WB_PATH.'/templates/'.DEFAULT_TEMPLATE.'/info.php';
+}
+if(file_exists($template_location)) {
+	require($template_location);
+}
+// Check if $menu is set
+if(!isset($block[1]) OR $block[1] == '') {
+	// Make our own menu list
+	$block[1] = $TEXT['MAIN'];
+}
+
+/*-- load css files with jquery --*/
+// include jscalendar-setup
+$jscal_use_time = true; // whether to use a clock, too
+require_once(WB_PATH."/include/jscalendar/wb-setup.php");
+
+// Setup template object
+$template = new Template(THEME_PATH.'/templates');
+$template->set_file('page', 'pages_sections.htt');
+$template->set_block('page', 'main_block', 'main');
+$template->set_block('main_block', 'module_block', 'module_list');
+$template->set_block('main_block', 'section_block', 'section_list');
+$template->set_block('section_block', 'block_block', 'block_list');
+$template->set_block('main_block', 'calendar_block', 'calendar_list');
+
+// set first defaults and messages
+$template->set_var(array(
+				'PAGE_ID' => $results_array['page_id'],
+				'PAGE_TITLE' => ($results_array['page_title']),
+				'MENU_TITLE' => ($results_array['menu_title']),
+				'TEXT_CURRENT_PAGE' => $TEXT['CURRENT_PAGE'],
+				'HEADING_MANAGE_SECTIONS' => $HEADING['MANAGE_SECTIONS'],
+				'HEADING_MODIFY_PAGE' => $HEADING['MODIFY_PAGE'],
+				'TEXT_CHANGE_SETTINGS' => $TEXT['CHANGE_SETTINGS'],
+				'TEXT_ADD_SECTION' => $TEXT['ADD_SECTION'],
+				'TEXT_ID' => 'ID',
+				'TEXT_TYPE' => $TEXT['TYPE'],
+				'TEXT_BLOCK' => $TEXT['BLOCK'],
+				'TEXT_PUBL_START_DATE' => $TEXT{'PUBL_START_DATE'},
+				'TEXT_PUBL_END_DATE' => $TEXT['PUBL_END_DATE'],
+				'TEXT_ACTIONS' => $TEXT['ACTIONS'],
+				'ADMIN_URL' => ADMIN_URL,
+				'WB_URL' => WB_URL,
+				'WB_PATH' => WB_PATH,
+				'THEME_URL' => THEME_URL
+				) 
+			);
+
+// Insert variables
+$template->set_var(array(
+				'VAR_PAGE_ID' => $results_array['page_id'],
+				'VAR_PAGE_TITLE' => $results_array['page_title'],
+				'SETTINGS_LINK' => ADMIN_URL.'/pages/settings.php?page_id='.$results_array['page_id'],
+				'MODIFY_LINK' => ADMIN_URL.'/pages/modify.php?page_id='.$results_array['page_id']
+				) 
+			);
+
+$query_sections = $database->query("SELECT section_id,module,position,block,publ_start,publ_end FROM ".TABLE_PREFIX."sections WHERE page_id = '$page_id' ORDER BY position ASC");
+if($query_sections->numRows() > 0) {
+	$num_sections = $query_sections->numRows();
+	while($section = $query_sections->fetchRow()) {
+		if(!is_numeric(array_search($section['module'], $module_permissions))) {
+			// Get the modules real name
+			$module_name=$database->get_one("SELECT name FROM ".TABLE_PREFIX."addons WHERE directory='".$section['module']."'");
+			$template->set_var(array(
+			) );
+			if(SECTION_BLOCKS) {
+                if(defined('EDIT_ONE_SECTION') and EDIT_ONE_SECTION)
+                {
+				    $edit_page ='<a name="'.$section['section_id'].'" href="'.ADMIN_URL.'/pages/modify.php?page_id='.$page_id.'&amp;wysiwyg='.$section['section_id'] .'">'.$module_name.'</a>';
+                }
+                else
+                {
+				    $edit_page ='<a name="'.$section['section_id'].'" href="'.ADMIN_URL.'/pages/modify.php?page_id='.$page_id.'#wb'.$section['section_id'].'">'.$module_name.'</a>';
+                }
+
+				$input_attribute = 'input_normal';
+				$template->set_var(array(
+						'STYLE_DISPLAY_SECTION_BLOCK' => ' style="visibility:visible;"',
+						'NAME_SIZE' => 180,
+						'INPUT_ATTRIBUTE' => $input_attribute,
+						'VAR_SECTION_ID' => $section['section_id'],
+						'VAR_POSITION' => $section['position'],
+						'LINK_MODIFY_URL_VAR_MODUL_NAME' => $edit_page,
+						'SELECT' => '',
+						'SET_NONE_DISPLAY_OPTION' => ''
+						) 
+					);
+				// Add block options to the section_list
+				$template->clear_var('block_list');
+				foreach($block AS $number => $name) {
+					$template->set_var('NAME', htmlentities(strip_tags($name)));
+					$template->set_var('VALUE', $number);
+					$template->set_var('SIZE', 1);
+					if($section['block'] == $number) {
+						$template->set_var('SELECTED', ' selected="selected"');
+					} else {
+						$template->set_var('SELECTED', '');
+					}
+					$template->parse('block_list', 'block_block', true);
+				}
+			} else {
+				$edit_page ='<a name="'.$section['section_id'].'" href="'.ADMIN_URL.'/pages/modify.php?page_id='.$page_id.'#'.$section['section_id'].'">'.$module_name.'</a>';
+				$input_attribute = 'input_small';
+				$template->set_var(array(
+						'STYLE_DISPLAY_SECTION_BLOCK' => ' style="display:none;"',
+						'NAME_SIZE' => 270,
+						'INPUT_ATTRIBUTE' => $input_attribute,
+						'VAR_SECTION_ID' => $section['section_id'],
+						'VAR_POSITION' => $section['position'],
+						'LINK_MODIFY_URL_VAR_MODUL_NAME' => $edit_page,
+						'NAME' => htmlentities(strip_tags($block[1])),
+						'VALUE' => 1,
+						'SET_NONE_DISPLAY_OPTION' => ''
+						) 
+					);
+			}
+			// Insert icon and images
+			$template->set_var(array(
+						'CLOCK_16_PNG' => 'clock_16.png',
+						'CLOCK_DEL_16_PNG' => 'clock_del_16.png',
+						'DELETE_16_PNG' => 'delete_16.png'
+						) 
+					);
+			// set calendar start values
+			if($section['publ_start']==0) {
+				$template->set_var('VALUE_PUBL_START', '');
+			} else {
+				$template->set_var('VALUE_PUBL_START', date($jscal_format, $section['publ_start']));
+			}
+			// set calendar start values
+			if($section['publ_end']==0) {
+				$template->set_var('VALUE_PUBL_END', '');
+			} else {
+				$template->set_var('VALUE_PUBL_END', date($jscal_format, $section['publ_end']));
+			}
+			// Insert icons up and down
+			if($section['position'] != 1 ) {
+				$template->set_var(
+							'VAR_MOVE_UP_URL',
+							'<a href="'.ADMIN_URL.'/pages/move_up.php?page_id='.$page_id.'&amp;section_id='.$section['section_id'].'">
+							<img src="'.THEME_URL.'/images/up_16.png" alt="{TEXT_MOVE_UP}" />
+							</a>' );
+			} else {
+				$template->set_var(array(
+							'VAR_MOVE_UP_URL' => ''
+							) 
+						);
+			}
+			if($section['position'] != $num_sections ) {
+				$template->set_var(
+							'VAR_MOVE_DOWN_URL',
+							'<a href="'.ADMIN_URL.'/pages/move_down.php?page_id='.$page_id.'&amp;section_id='.$section['section_id'].'">
+							<img src="'.THEME_URL.'/images/down_16.png" alt="{TEXT_MOVE_DOWN}" />
+							</a>' );
+			} else {
+				$template->set_var(array(
+							'VAR_MOVE_DOWN_URL' => ''
+							) 
+						);
+			}
+		}
+			$template->set_var(array(
+							'DISPLAY_DEBUG' => ' style="visibility="visible;"',
+							'TEXT_SID' => 'SID',
+							'DEBUG_COLSPAN_SIZE' => 9
+							) 
+						);
+		if($debug) {
+			$template->set_var(array(
+							'DISPLAY_DEBUG' => ' style="visibility="visible;"',
+							'TEXT_PID' => 'PID',
+							'TEXT_SID' => 'SID',
+							'POSITION' => $section['position']
+							) 
+						);
+		} else {
+			$template->set_var(array(
+							'DISPLAY_DEBUG' => ' style="display:none;"',
+							'TEXT_PID' => '',
+							'POSITION' => ''
+							) 
+						);
+		}
+		$template->parse('section_list', 'section_block', true);
+	}
+}
+
+// now add the calendars -- remember to to set the range to [1970, 2037] if the date is used as timestamp!
+// the loop is simply a copy from above.
+$query_sections = $database->query("SELECT section_id,module FROM ".TABLE_PREFIX."sections WHERE page_id = '$page_id' ORDER BY position ASC");
+if($query_sections->numRows() > 0) {
+	$num_sections = $query_sections->numRows();
+	while($section = $query_sections->fetchRow()) {
+		// Get the modules real name
+		$module_name=$database->get_one("SELECT name FROM ".TABLE_PREFIX."addons WHERE directory='".$section['module']."'");
+		if(!is_numeric(array_search($section['module'], $module_permissions))) {
+			$template->set_var(array(
+						'jscal_ifformat' => $jscal_ifformat,
+						'jscal_firstday' => $jscal_firstday,
+						'jscal_today' => $jscal_today,
+						'start_date' => 'start_date'.$section['section_id'],
+						'end_date' => 'end_date'.$section['section_id'],
+						'trigger_start' => 'trigger_start'.$section['section_id'],
+						'trigger_end' => 'trigger_stop'.$section['section_id']
+						) 
+					);
+			if(isset($jscal_use_time) && $jscal_use_time==TRUE) {
+				$template->set_var(array(
+						'showsTime' => "true",
+						'timeFormat' => "24"
+						) 
+					);
+			}  else {
+				$template->set_var(array(
+						'showsTime' => "false",
+						'timeFormat' => "24"
+						) 
+					);
+			}
+		}
+		$template->parse('calendar_list', 'calendar_block', true);
+	}
+}
+
+// Work-out if we should show the "Add Section" form
+$query_sections = $database->query("SELECT section_id FROM ".TABLE_PREFIX."sections WHERE page_id = '$page_id' AND module = 'menu_link'");
+if($query_sections->numRows() == 0) {
+	// Modules list
+	$result = $database->query("SELECT * FROM ".TABLE_PREFIX."addons WHERE type = 'module' AND function = 'page' AND directory != 'menu_link' order by name");
+	if($result->numRows() > 0) {
+		while ($module = $result->fetchRow()) {
+			// Check if user is allowed to use this module   echo  $module['directory'],'<br />';
+			if(!is_numeric(array_search($module['directory'], $module_permissions))) {
+				$template->set_var('VALUE', $module['directory']);
+				$template->set_var('NAME', $module['name']);
+				if($module['directory'] == 'wysiwyg') {
+					$template->set_var('SELECTED', ' selected="selected"');
+				} else {
+					$template->set_var('SELECTED', '');
+				}
+				$template->parse('module_list', 'module_block', true);
+			}
+		}
+	}
+}
+// Insert language text and messages
+$template->set_var(array(
+					'TEXT_MANAGE_SECTIONS' => $HEADING['MANAGE_SECTIONS'],
+					'TEXT_ARE_YOU_SURE' => $TEXT['ARE_YOU_SURE'],
+					'TEXT_TYPE' => $TEXT['TYPE'],
+					'TEXT_ADD' => $TEXT['ADD'],
+					'TEXT_SAVE' =>  $TEXT['SAVE'],
+					'TEXTLINK_MODIFY_PAGE' => $HEADING['MODIFY_PAGE'],
+					'TEXT_CALENDAR' => $TEXT['CALENDAR'],
+					'TEXT_DELETE_DATE' => $TEXT['DELETE_DATE'],
+					'TEXT_ADD_SECTION' => $TEXT['ADD_SECTION'],
+					'TEXT_MOVE_UP' => $TEXT['MOVE_UP'],
+					'TEXT_MOVE_DOWN' => $TEXT['MOVE_DOWN']
+					) 
+				);
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/pages/sections.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/admin/pages/modify.php
===================================================================
--- tags/2.8.2/wb/admin/pages/modify.php	(nonexistent)
+++ tags/2.8.2/wb/admin/pages/modify.php	(revision 1481)
@@ -0,0 +1,166 @@
+<?php
+/**
+ *
+ * @category        admin
+ * @package         pages
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+*/
+
+// Get page id
+if(!isset($_GET['page_id']) OR !is_numeric($_GET['page_id'])) {
+	header("Location: index.php");
+	exit(0);
+} else {
+	$page_id = $_GET['page_id'];
+}
+
+// Create new admin object
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Pages', 'pages_modify');
+
+// Get perms
+if(!$admin->get_page_permission($page_id,'admin')) {
+	$admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']);
+}
+
+$sectionId = isset($_GET['wysiwyg']) ? htmlspecialchars($admin->get_get('wysiwyg')) : NULL;
+
+// Get page details
+$results_array=$admin->get_page_details($page_id);
+
+// Get display name of person who last modified the page
+$user=$admin->get_user_details($results_array['modified_by']);
+
+// Convert the unix ts for modified_when to human a readable form
+
+$modified_ts = ($results_array['modified_when'] != 0)
+        ? $modified_ts = gmdate(TIME_FORMAT.', '.DATE_FORMAT, $results_array['modified_when']+TIMEZONE)
+        : 'Unknown';
+
+// Include page info script
+$template = new Template(THEME_PATH.'/templates');
+$template->set_file('page', 'pages_modify.htt');
+$template->set_block('page', 'main_block', 'main');
+$template->set_var(array(
+								'PAGE_ID' => $results_array['page_id'],
+								'PAGE_TITLE' => ($results_array['page_title']),
+								'MENU_TITLE' => ($results_array['menu_title']),
+								'MODIFIED_BY' => $user['display_name'],
+								'MODIFIED_BY_USERNAME' => $user['username'],
+								'MODIFIED_WHEN' => $modified_ts,
+								'ADMIN_URL' => ADMIN_URL,
+								'WB_URL' => WB_URL,
+								'WB_PATH' => WB_PATH,
+								'THEME_URL' => THEME_URL
+								)
+						);
+if($modified_ts == 'Unknown') {
+	$template->set_var('CLASS_DISPLAY_MODIFIED', 'hide');
+} else {
+	$template->set_var('CLASS_DISPLAY_MODIFIED', '');
+}
+
+// Work-out if we should show the "manage sections" link
+$query_sections = $database->query("SELECT section_id FROM ".TABLE_PREFIX."sections WHERE page_id = '$page_id' AND module = 'menu_link'");
+if($query_sections->numRows() > 0) {
+	$template->set_var('DISPLAY_MANAGE_SECTIONS', 'display:none;');
+} elseif(MANAGE_SECTIONS == 'enabled') {
+	$template->set_var('TEXT_MANAGE_SECTIONS', $HEADING['MANAGE_SECTIONS']);
+} else {
+	$template->set_var('DISPLAY_MANAGE_SECTIONS', 'display:none;');
+}
+
+// Insert language TEXT
+$template->set_var(array(
+								'TEXT_CURRENT_PAGE' => $TEXT['CURRENT_PAGE'],
+								'TEXT_CHANGE_SETTINGS' => $TEXT['CHANGE_SETTINGS'],
+								'LAST_MODIFIED' => $MESSAGE['PAGES']['LAST_MODIFIED'],
+								'HEADING_MODIFY_PAGE' => $HEADING['MODIFY_PAGE']
+								)
+						);
+
+// Parse and print header template
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
+
+// get template used for the displayed page (for displaying block details)
+if (SECTION_BLOCKS)
+{
+	$sql = "SELECT `template` from `" . TABLE_PREFIX . "pages` WHERE `page_id` = '$page_id' ";
+	$result = $database->query($sql);
+	if ($result && $result->numRows() == 1) {
+		$row = $result->fetchRow();
+		$page_template = ($row['template'] == '') ? DEFAULT_TEMPLATE : $row['template'];
+		// include template info file if exists
+		if (file_exists(WB_PATH . '/templates/' . $page_template . '/info.php')) {
+			include_once(WB_PATH . '/templates/' . $page_template . '/info.php');
+		}
+	}
+}
+
+// Get sections for this page
+$module_permissions = $_SESSION['MODULE_PERMISSIONS'];
+// workout for edit only one section for faster pageloading
+// Constant later set in wb_settings, in meantime defined in framework/initialize.php
+if(defined('EDIT_ONE_SECTION') and EDIT_ONE_SECTION and is_numeric($sectionId))
+{
+$query_sections = $database->query("SELECT section_id, module, block
+	FROM ".TABLE_PREFIX."sections WHERE section_id = '$sectionId' ORDER BY position ASC");
+}
+else
+{
+$query_sections = $database->query("SELECT section_id, module, block
+	FROM ".TABLE_PREFIX."sections WHERE page_id = '$page_id' ORDER BY position ASC");
+}
+
+if($query_sections->numRows() > 0)
+{
+	while($section = $query_sections->fetchRow())
+    {
+		$section_id = $section['section_id'];
+		$module = $section['module'];
+		//Have permission?
+		if(!is_numeric(array_search($module, $module_permissions)))
+        {
+			// Include the modules editing script if it exists
+			if(file_exists(WB_PATH.'/modules/'.$module.'/modify.php'))
+            {
+				print /* '<a name="'.$section_id.'"></a>'. */"\n";
+				// output block name if blocks are enabled
+				if (SECTION_BLOCKS) {
+					if (isset($block[$section['block']]) && trim(strip_tags(($block[$section['block']]))) != '')
+                    {
+						$block_name = htmlentities(strip_tags($block[$section['block']]));
+					} else {
+						if ($section['block'] == 1)
+                        {
+							$block_name = $TEXT['MAIN'];
+						} else {
+							$block_name = '#' . (int) $section['block'];
+						}
+					}
+					print '<div id="wb'.$section['section_id'].'"><b>' . $TEXT['BLOCK'] . ': </b>' . $block_name;
+					print '<b>  Modul: </b>' . $section['module']." ";
+					print '<b>  ID: </b>' . $section_id."</div>\n";
+				}
+				require(WB_PATH.'/modules/'.$module.'/modify.php');
+			}
+		}
+	}
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/pages/modify.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/admin/pages/intro.php
===================================================================
--- tags/2.8.2/wb/admin/pages/intro.php	(nonexistent)
+++ tags/2.8.2/wb/admin/pages/intro.php	(revision 1481)
@@ -0,0 +1,78 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Create new admin object
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Pages', 'pages_intro');
+
+// Get page content
+$filename = WB_PATH.PAGES_DIRECTORY.'/intro'.PAGE_EXTENSION;
+if(file_exists($filename)) {
+	$handle = fopen($filename, "r");
+	$content = fread($handle, filesize($filename));
+	fclose($handle);
+} else {
+	$content = '';
+}
+
+if(!isset($_GET['wysiwyg']) OR $_GET['wysiwyg'] != 'no') {
+	if (!defined('WYSIWYG_EDITOR') OR WYSIWYG_EDITOR=="none" OR !file_exists(WB_PATH.'/modules/'.WYSIWYG_EDITOR.'/include.php')) {
+		function show_wysiwyg_editor($name,$id,$content,$width,$height) {
+			echo '<textarea name="'.$name.'" id="'.$id.'" style="width: '.$width.'; height: '.$height.';">'.$content.'</textarea>';
+		}
+	} else {
+		$id_list=array('content');
+		require(WB_PATH.'/modules/'.WYSIWYG_EDITOR.'/include.php');
+	}
+}
+?>
+
+
+<form action="intro2.php" method="post">
+
+<input type="hidden" name="page_id" value="{PAGE_ID}" />
+
+<?php
+show_wysiwyg_editor('content','content',$content,'100%','500px');
+?>
+
+<table cellpadding="0" cellspacing="0" border="0" class="form_submit">
+<tr>
+	<td class="left">
+		<input type="submit" value="<?php echo $TEXT['SAVE'];?>" class="submit" />
+	</td>
+	<td class="right">
+		<input type="button" value="<?php echo $TEXT['CANCEL'];?>" onclick="javascript: window.location = 'index.php';" class="submit" />
+	</td>
+</tr>
+</table>
+
+</form>
+<?php
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/pages/intro.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/pages/save.php
===================================================================
--- tags/2.8.2/wb/admin/pages/save.php	(nonexistent)
+++ tags/2.8.2/wb/admin/pages/save.php	(revision 1481)
@@ -0,0 +1,94 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Get page & section id
+if(!isset($_POST['page_id']) OR !is_numeric($_POST['page_id'])) {
+	header("Location: index.php");
+	exit(0);
+} else {
+	$page_id = $_POST['page_id'];
+}
+if(!isset($_POST['section_id']) OR !is_numeric($_POST['section_id'])) {
+	header("Location: index.php");
+	exit(0);
+} else {
+	$section_id = $_POST['section_id'];
+}
+
+// Create new admin object
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Pages', 'pages_modify');
+
+// Get perms
+$database = new database();
+$results = $database->query("SELECT admin_groups,admin_users FROM ".TABLE_PREFIX."pages WHERE page_id = '$page_id'");
+$results_array = $results->fetchRow();
+$old_admin_groups = explode(',', str_replace('_', '', $results_array['admin_groups']));
+$old_admin_users = explode(',', str_replace('_', '', $results_array['admin_users']));
+$in_old_group = FALSE;
+foreach($admin->get_groups_id() as $cur_gid){
+    if (in_array($cur_gid, $old_admin_groups)) {
+        $in_old_group = TRUE;
+    }
+}
+if((!$in_old_group) AND !is_numeric(array_search($admin->get_user_id(), $old_admin_users))) {
+	$admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']);
+}
+
+// Get page module
+$database = new database();
+$query = "SELECT module FROM ".TABLE_PREFIX."pages WHERE page_id = '$page_id'";
+$results = $database->query($query);
+if($database->is_error()) {
+	$admin->print_error($database->get_error());
+}
+if($results->numRows() == 0) {
+	$admin->print_error($MESSAGE['PAGES']['NOT_FOUND']);
+}
+$results_array = $results->fetchRow();
+$module = $results_array['module'];
+
+// Update the pages table
+$now = time();
+$query = "UPDATE ".TABLE_PREFIX."pages SET modified_when = '$now', modified_by = '".$admin->get_user_id()."' WHERE page_id = '$page_id'";
+$database->query($query);
+
+// Include the modules saving script if it exists
+if(file_exists(WB_PATH.'/modules/'.$module.'/save.php')) {
+	require(WB_PATH.'/modules/'.$module.'/save.php');
+}
+
+// Check if there is a db error, otherwise say successful
+if($database->is_error()) {
+	$admin->print_error($database->get_error(), $js_back);
+} else {
+	$admin->print_success($MESSAGE['PAGES']['SAVED'], ADMIN_URL.'/pages/modify.php?page_id='.$page_id);
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/pages/save.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/pages/add.php
===================================================================
--- tags/2.8.2/wb/admin/pages/add.php	(nonexistent)
+++ tags/2.8.2/wb/admin/pages/add.php	(revision 1481)
@@ -0,0 +1,178 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Create new admin object and print admin header
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Pages', 'pages_add');
+
+// Include the WB functions file
+require_once(WB_PATH.'/framework/functions.php');
+
+// Get values
+$title = $admin->get_post_escaped('title');
+$title = htmlspecialchars($title);
+$module = $admin->get_post('type');
+$parent = $admin->get_post('parent');
+$visibility = $admin->get_post('visibility');
+$admin_groups = $admin->get_post('admin_groups');
+$viewing_groups = $admin->get_post('viewing_groups');
+
+// add Admin to admin and viewing-groups
+$admin_groups[] = 1;
+$viewing_groups[] = 1;
+
+if ($parent!=0) {
+	if (!$admin->get_page_permission($parent,'admin'))
+		$admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']);
+} elseif (!$admin->get_permission('pages_add_l0','system')) {
+	$admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']);
+}	
+
+// Validate data
+if($title == '' || substr($title,0,1)=='.') {
+	$admin->print_error($MESSAGE['PAGES']['BLANK_PAGE_TITLE']);
+}
+
+// Check to see if page created has needed permissions
+if(!in_array(1, $admin->get_groups_id())) {
+	$admin_perm_ok = false;
+	foreach ($admin_groups as $adm_group) {
+		if (in_array($adm_group, $admin->get_groups_id())) {
+			$admin_perm_ok = true;
+		}
+	}
+	if ($admin_perm_ok == false) {
+		$admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']);
+	}
+	$admin_perm_ok = false;
+	foreach ($viewing_groups as $view_group) {
+		if (in_array($view_group, $admin->get_groups_id())) {
+			$admin_perm_ok = true;
+		}
+	}
+	if ($admin_perm_ok == false) {
+		$admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']);
+	}
+}
+
+$admin_groups = implode(',', $admin_groups);
+$viewing_groups = implode(',', $viewing_groups);
+
+// Work-out what the link and page filename should be
+if($parent == '0') {
+	$link = '/'.page_filename($title);
+	// rename menu titles: index && intro to prevent clashes with intro page feature and WB core file /pages/index.php
+	if($link == '/index' || $link == '/intro') {
+		$link .= '_0';
+		$filename = WB_PATH .PAGES_DIRECTORY .'/' .page_filename($title) .'_0' .PAGE_EXTENSION;
+	} else {
+		$filename = WB_PATH.PAGES_DIRECTORY.'/'.page_filename($title).PAGE_EXTENSION;
+	}
+} else {
+	$parent_section = '';
+	$parent_titles = array_reverse(get_parent_titles($parent));
+	foreach($parent_titles AS $parent_title) {
+		$parent_section .= page_filename($parent_title).'/';
+	}
+	if($parent_section == '/') { $parent_section = ''; }
+	$link = '/'.$parent_section.page_filename($title);
+	$filename = WB_PATH.PAGES_DIRECTORY.'/'.$parent_section.page_filename($title).PAGE_EXTENSION;
+	make_dir(WB_PATH.PAGES_DIRECTORY.'/'.$parent_section);
+}
+
+// Check if a page with same page filename exists
+$get_same_page = $database->query("SELECT page_id FROM ".TABLE_PREFIX."pages WHERE link = '$link'");
+if($get_same_page->numRows() > 0 OR file_exists(WB_PATH.PAGES_DIRECTORY.$link.PAGE_EXTENSION) OR file_exists(WB_PATH.PAGES_DIRECTORY.$link.'/')) {
+	$admin->print_error($MESSAGE['PAGES']['PAGE_EXISTS']);
+}
+
+// Include the ordering class
+require(WB_PATH.'/framework/class.order.php');
+$order = new order(TABLE_PREFIX.'pages', 'position', 'page_id', 'parent');
+// First clean order
+$order->clean($parent);
+// Get new order
+$position = $order->get_new($parent);
+
+// Work-out if the page parent (if selected) has a seperate template or language to the default
+$query_parent = $database->query("SELECT template, language FROM ".TABLE_PREFIX."pages WHERE page_id = '$parent'");
+if($query_parent->numRows() > 0) {
+	$fetch_parent = $query_parent->fetchRow();
+	$template = $fetch_parent['template'];
+	$language = $fetch_parent['language'];
+} else {
+	$template = '';
+	$language = DEFAULT_LANGUAGE;
+}
+
+// Insert page into pages table
+$query = "INSERT INTO ".TABLE_PREFIX."pages (page_title,menu_title,parent,template,target,position,visibility,searching,menu,language,admin_groups,viewing_groups,modified_when,modified_by) VALUES ('$title','$title','$parent','$template','_top','$position','$visibility','1','1','$language','$admin_groups','$viewing_groups','".time()."','".$admin->get_user_id()."')";
+$database->query($query);
+if($database->is_error()) {
+	$admin->print_error($database->get_error());
+}
+
+// Get the page id
+$page_id = $database->get_one("SELECT LAST_INSERT_ID()");
+
+// Work out level
+$level = level_count($page_id);
+// Work out root parent
+$root_parent = root_parent($page_id);
+// Work out page trail
+$page_trail = get_page_trail($page_id);
+
+// Update page with new level and link
+$database->query("UPDATE ".TABLE_PREFIX."pages SET link = '$link', level = '$level', root_parent = '$root_parent', page_trail = '$page_trail' WHERE page_id = '$page_id'");
+
+// Create a new file in the /pages dir
+create_access_file($filename, $page_id, $level);
+
+// add position 1 to new page
+$position = 1;
+
+// Add new record into the sections table
+$database->query("INSERT INTO ".TABLE_PREFIX."sections (page_id,position,module,block) VALUES ('$page_id','$position', '$module','1')");
+
+// Get the section id
+$section_id = $database->get_one("SELECT LAST_INSERT_ID()");
+
+// Include the selected modules add file if it exists
+if(file_exists(WB_PATH.'/modules/'.$module.'/add.php')) {
+	require(WB_PATH.'/modules/'.$module.'/add.php');
+}
+
+// Check if there is a db error, otherwise say successful
+if($database->is_error()) {
+	$admin->print_error($database->get_error());
+} else {
+	$admin->print_success($MESSAGE['PAGES']['ADDED'], ADMIN_URL.'/pages/modify.php?page_id='.$page_id);
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/pages/add.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/pages/page_calendar.js
===================================================================
--- tags/2.8.2/wb/admin/pages/page_calendar.js	(nonexistent)
+++ tags/2.8.2/wb/admin/pages/page_calendar.js	(revision 1481)
@@ -0,0 +1,26 @@
+Calendar.setup(
+	{
+	inputField  : start_date,
+	ifFormat    : jscal_ifformat,
+	button      : trigger_start,
+	firstDay    : jscal_firstday,
+	showsTime   : showsTime,
+	timeFormat  : timeFormat,
+	date        : jscal_today,
+	range       : [1970, 2037],
+	step        : 1
+	}
+);
+Calendar.setup(
+	{
+	inputField  : end_date,
+	ifFormat    : jscal_ifformat,
+	button      : trigger_end,
+	firstDay    : jscal_firstday,
+	showsTime   : showsTime,
+	timeFormat  : timeFormat,
+	date        : jscal_today,
+	range       : [1970, 2037],
+	step        : 1
+	}
+);
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/pages/page_calendar.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/pages/page_trash.js
===================================================================
--- tags/2.8.2/wb/admin/pages/page_trash.js	(nonexistent)
+++ tags/2.8.2/wb/admin/pages/page_trash.js	(revision 1481)
@@ -0,0 +1,32 @@
+function toggle_viewers() {
+	if(document.add.visibility.value == 'private') {
+		document.getElementById('private_viewers').style.display = 'block';
+		document.getElementById('registered_viewers').style.display = 'none';
+	} else if(document.add.visibility.value == 'registered') {
+		document.getElementById('private_viewers').style.display = 'none';
+		document.getElementById('registered_viewers').style.display = 'block';
+	} else {
+		document.getElementById('private_viewers').style.display = 'none';
+		document.getElementById('registered_viewers').style.display = 'none';
+	}
+}
+
+function toggle_visibility(id){
+	if(document.getElementById(id).style.display == "block") {
+		document.getElementById(id).style.display = "none";
+	} else {
+		document.getElementById(id).style.display = "block";
+	}
+}
+var plus = new Image;
+plus.src = "<?php echo THEME_URL; ?>/images/plus_16.png";
+var minus = new Image;
+minus.src = "<?php echo THEME_URL; ?>/images/minus_16.png";
+function toggle_plus_minus(id) {
+	var img_src = document.images['plus_minus_' + id].src;
+	if(img_src == plus.src) {
+		document.images['plus_minus_' + id].src = minus.src;
+	} else {
+		document.images['plus_minus_' + id].src = plus.src;
+	}
+}
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/pages/page_trash.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/pages/page_settings.js
===================================================================
--- tags/2.8.2/wb/admin/pages/page_settings.js	(nonexistent)
+++ tags/2.8.2/wb/admin/pages/page_settings.js	(revision 1481)
@@ -0,0 +1,26 @@
+function toggle_viewers() {
+	if(document.settings.visibility.value == 'private' || document.settings.visibility.value == 'registered') {
+		document.getElementById('allowed_viewers').style.display = 'block';
+	} else {
+		document.getElementById('allowed_viewers').style.display = 'none';
+	}
+}
+var lastselectedindex = new Array();
+
+function disabled_hack_for_ie(sel) {
+	var sels = document.getElementsByTagName("select");
+	var i;
+	var sel_num_in_doc = 0;
+	for (i = 0; i <sels.length; i++) {
+		if (sel == sels[i]) {
+			sel_num_in_doc = i;
+		}
+	}
+	// never true for browsers that support option.disabled
+	if (sel.options[sel.selectedIndex].disabled) {
+		sel.selectedIndex = lastselectedindex[sel_num_in_doc];
+	} else {
+		lastselectedindex[sel_num_in_doc] = sel.selectedIndex;
+	}
+	return true;
+}
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/pages/page_settings.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/pages/page_index.js
===================================================================
--- tags/2.8.2/wb/admin/pages/page_index.js	(nonexistent)
+++ tags/2.8.2/wb/admin/pages/page_index.js	(revision 1481)
@@ -0,0 +1,35 @@
+/*-- Addition for remembering expanded state of pages --*/
+function writeSessionCookie (cookieName, cookieValue) {
+	document.cookie = escape(cookieName) + "=" + escape(cookieValue) + ";";
+}
+
+function toggle_viewers() {
+	if(document.add.visibility.value == 'private') {
+		document.getElementById('viewers').style.display = 'block';
+	} else if(document.add.visibility.value == 'registered') {
+		document.getElementById('viewers').style.display = 'block';
+	} else {
+		document.getElementById('viewers').style.display = 'none';
+	}
+}
+function toggle_visibility(id){
+	if(document.getElementById(id).style.display == "block") {
+		document.getElementById(id).style.display = "none";
+		writeSessionCookie (id, "0");//Addition for remembering expanded state of pages
+	} else {
+		document.getElementById(id).style.display = "block";
+		writeSessionCookie (id, "1");//Addition for remembering expanded state of pages
+	}
+}
+var plus = new Image;
+plus.src = THEME_URL+"/images/plus_16.png";
+var minus = new Image;
+minus.src = THEME_URL+"/images/minus_16.png";
+function toggle_plus_minus(id) {
+	var img_src = document.images['plus_minus_' + id].src;
+	if(img_src == plus.src) {
+		document.images['plus_minus_' + id].src = minus.src;
+	} else {
+		document.images['plus_minus_' + id].src = plus.src;
+	}
+}
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/pages/page_index.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/pages/trash.php
===================================================================
--- tags/2.8.2/wb/admin/pages/trash.php	(nonexistent)
+++ tags/2.8.2/wb/admin/pages/trash.php	(revision 1481)
@@ -0,0 +1,289 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Pages', 'pages');
+
+?>
+<script type="text/javascript" language="javascript">
+function toggle_viewers() {
+	if(document.add.visibility.value == 'private') {
+		document.getElementById('private_viewers').style.display = 'block';
+		document.getElementById('registered_viewers').style.display = 'none';
+	} else if(document.add.visibility.value == 'registered') {
+		document.getElementById('private_viewers').style.display = 'none';
+		document.getElementById('registered_viewers').style.display = 'block';
+	} else {
+		document.getElementById('private_viewers').style.display = 'none';
+		document.getElementById('registered_viewers').style.display = 'none';
+	}
+}
+function toggle_visibility(id){
+	if(document.getElementById(id).style.display == "block") {
+		document.getElementById(id).style.display = "none";
+	} else {
+		document.getElementById(id).style.display = "block";
+	}
+}
+var plus = new Image;
+plus.src = "<?php echo THEME_URL; ?>/images/plus_16.png";
+var minus = new Image;
+minus.src = "<?php echo THEME_URL; ?>/images/minus_16.png";
+function toggle_plus_minus(id) {
+	var img_src = document.images['plus_minus_' + id].src;
+	if(img_src == plus.src) {
+		document.images['plus_minus_' + id].src = minus.src;
+	} else {
+		document.images['plus_minus_' + id].src = plus.src;
+	}
+}
+</script>
+
+<?php
+
+function make_list($parent, $editable_pages) {
+	// Get objects and vars from outside this function
+	global $admin, $template, $database, $TEXT, $MESSAGE;
+	?>
+	<ul id="p<?php echo $parent; ?>" <?php if($parent != 0) { echo 'class="page_list"'; } ?>>
+	<?php	
+	// Get page list from database
+	$database = new database();
+	$query = "SELECT * FROM ".TABLE_PREFIX."pages WHERE parent = '$parent' AND visibility = 'deleted' ORDER BY position ASC";
+	$get_pages = $database->query($query);
+	
+	// Insert values into main page list
+	if($get_pages->numRows() > 0)	{
+		while($page = $get_pages->fetchRow()) {
+			// Get user perms
+			$admin_groups = explode(',', str_replace('_', '', $page['admin_groups']));
+			$admin_users = explode(',', str_replace('_', '', $page['admin_users']));
+			$in_old_group = FALSE;
+			foreach($admin->get_groups_id() as $cur_gid){
+			    if (in_array($cur_gid, $old_admin_groups)) {
+				$in_old_group = TRUE;
+			    }
+			}
+			if((!$in_old_group) OR is_numeric(array_search($admin->get_user_id(), $admin_users))) {
+				if($page['visibility'] == 'deleted') {
+					$can_modify = true;
+					$editable_pages = $editable_pages+1;
+				} else {
+					$can_modify = false;
+				}
+			} else {
+				$can_modify = false;
+			}
+						
+			// Work out if we should show a plus or not
+			$get_page_subs = $database->query("SELECT page_id,admin_groups,admin_users FROM ".TABLE_PREFIX."pages WHERE parent = '".$page['page_id']."'");
+			if($get_page_subs->numRows() > 0) {
+				$display_plus = true;
+			} else {
+				$display_plus = false;
+			}
+			
+			// Work out how many pages there are for this parent
+			$num_pages = $get_pages->numRows();
+			?>
+			
+			<li id="p<?php echo $page['parent']; ?>">
+			<table cellpadding="0" cellspacing="0" border="0">
+			<tr>
+				<td width="20" style="padding-left: <?php echo $page['level']*20; ?>px;">
+					<?php
+					if($display_plus == true) {
+					?>
+					<a href="javascript: toggle_visibility('p<?php echo $page['page_id']; ?>');" title="<?php echo $TEXT['EXPAND'].'/'.$TEXT['COLLAPSE']; ?>">
+						<img src="<?php echo THEME_URL; ?>/images/plus_16.png" onclick="toggle_plus_minus('<?php echo $page['page_id']; ?>');" name="plus_minus_<?php echo $page['page_id']; ?>" border="0" alt="+" />
+					</a>
+					<?php
+					}
+					?>
+				</td>
+				<?php if($admin->get_permission('pages_modify') == true AND $can_modify == true AND $page['visibility'] != 'heading') { ?>
+				<td>
+					<a href="<?php echo ADMIN_URL; ?>/pages/modify.php?page_id=<?php echo $page['page_id']; ?>" title="<?php echo $TEXT['MODIFY']; ?>"><?php echo ($page['page_title']); ?></a>
+				</td>
+				<?php } else { ?>
+				<td>
+					<?php
+					if($page['visibility'] != 'heading') {
+						echo ($page['page_title']);
+					} else {
+						echo '<b>'.($page['page_title']).'</b>';
+					}
+					?>
+				</td>
+				<?php } ?>
+				<td align="left" width="232">
+					<font color="#999999"><?php echo $page['menu_title']; ?></font>
+				</td>
+				<td align="right" valign="middle" width="30" class="icon_col">
+				<?php if($page['visibility'] == 'public') { ?>
+					<img src="<?php echo THEME_URL; ?>/images/visible_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['PUBLIC']; ?>" border="0" />
+				<?php } elseif($page['visibility'] == 'private') { ?>
+					<img src="<?php echo THEME_URL; ?>/images/private_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['PRIVATE']; ?>" border="0" />
+				<?php } elseif($page['visibility'] == 'registered') { ?>
+					<img src="<?php echo THEME_URL; ?>/images/keys_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['REGISTERED']; ?>" border="0" />
+				<?php } elseif($page['visibility'] == 'none') { ?>
+					<img src="<?php echo THEME_URL; ?>/images/hidden_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['NONE']; ?>" border="0" />
+				<?php } elseif($page['visibility'] == 'deleted') { ?>
+					<img src="<?php echo THEME_URL; ?>/images/deleted_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['DELETED']; ?>" border="0" />
+				<?php } ?>
+				</td>
+				<td width="20">
+					<?php if($page['visibility'] != 'deleted') { ?>
+						<?php if($admin->get_permission('pages_settings') == true AND $can_modify == true) { ?>
+						<a href="<?php echo ADMIN_URL; ?>/pages/settings.php?page_id=<?php echo $page['page_id']; ?>" title="<?php echo $TEXT['SETTINGS']; ?>">
+							<img src="<?php echo THEME_URL; ?>/images/modify_16.png" border="0" alt="<?php echo $TEXT['SETTINGS']; ?>" />
+						</a>
+						<?php } ?>
+					<?php } else { ?>
+						<a href="<?php echo ADMIN_URL; ?>/pages/restore.php?page_id=<?php echo $page['page_id']; ?>" title="<?php echo $TEXT['RESTORE']; ?>">
+							<img src="<?php echo THEME_URL; ?>/images/restore_16.png" border="0" alt="<?php echo $TEXT['RESTORE']; ?>" />
+						</a>
+					<?php } ?>
+				</td>
+				<td width="20">
+				<?php if($page['position'] != 1) { ?>
+					<?php if($page['visibility'] != 'deleted') { ?>
+						<?php if($admin->get_permission('pages_settings') == true AND $can_modify == true) { ?>
+						<a href="<?php echo ADMIN_URL; ?>/pages/move_up.php?page_id=<?php echo $page['page_id']; ?>" title="<?php echo $TEXT['MOVE_UP']; ?>">
+							<img src="<?php echo THEME_URL; ?>/images/up_16.png" border="0" alt="^" />
+						</a>
+						<?php } ?>
+					<?php } ?>
+				<?php } ?>
+				</td>
+				<td width="20">
+				<?php if($page['position'] != $num_pages) { ?>
+					<?php if($page['visibility'] != 'deleted') { ?>
+						<?php if($admin->get_permission('pages_settings') == true AND $can_modify == true) { ?>
+						<a href="<?php echo ADMIN_URL; ?>/pages/move_down.php?page_id=<?php echo $page['page_id']; ?>" title="<?php echo $TEXT['MOVE_DOWN']; ?>">
+							<img src="<?php echo THEME_URL; ?>/images/down_16.png" border="0" alt="v" />
+						</a>
+						<?php } ?>
+					<?php } ?>
+				<?php } ?>
+				</td>
+				<td width="20">
+					<?php if($admin->get_permission('pages_delete') == true AND $can_modify == true) { ?>
+					<a href="javascript: confirm_link('<?php echo $MESSAGE['PAGES']['DELETE_CONFIRM']; ?>?', '<?php echo ADMIN_URL; ?>/pages/delete.php?page_id=<?php echo $page['page_id']; ?>');" title="<?php echo $TEXT['DELETE']; ?>">
+						<img src="<?php echo THEME_URL; ?>/images/delete_16.png" border="0" alt="X" />
+					</a>
+					<?php } ?>
+				</td>
+			</tr>
+			</table>
+			</li>
+							
+			<?php
+			// Get subs
+			make_list($page['page_id'], $editable_pages);
+		}
+
+	}
+	?>
+	</ul>
+	<?php
+	return $editable_pages;
+}
+
+// Generate pages list
+if($admin->get_permission('pages_view') == true) {
+	?>
+	<table cellpadding="0" cellspacing="0" width="100%" border="0">
+	<tr>
+		<td>
+			<h2><?php echo $HEADING['DELETED_PAGES']; ?></h2>
+		</td>
+		<td align="right">
+				<a href="<?php echo ADMIN_URL; ?>/pages/empty_trash.php">
+				<img src="<?php echo THEME_URL; ?>/images/delete_16.png" alt="<?php echo $TEXT['PAGE_TRASH']; ?>" border="0" />
+				<?php echo $TEXT['EMPTY_TRASH']; ?></a>
+		</td>
+	</tr>
+	</table>
+	<div class="pages_list">
+	<table cellpadding="1" cellspacing="0" width="720" border="0">
+	<tr>
+		<td width="20">
+			&nbsp;
+		</td>
+		<td>
+			<?php echo $TEXT['PAGE_TITLE']; ?>:
+		</td>
+		<td width="198" align="left">
+			<?php echo $TEXT['MENU_TITLE']; ?>:
+		</td>
+		<td width="80" align="center">
+			<?php echo $TEXT['VISIBILITY']; ?>:
+		</td>
+		<td width="90" align="center">
+			<?php echo $TEXT['ACTIONS']; ?>:
+		</td>		
+	</tr>
+	</table>
+	<?php
+	$editable_pages = make_list(0, 0);
+	?>
+	</div>
+	<div class="empty_list">
+		<?php echo $TEXT['NONE_FOUND']; ?>
+	</div>
+	<?php
+} else {
+	$editable_pages = 0;
+}
+
+// Figure out if the no pages found message should be shown or not
+if($editable_pages == 0) {
+	?>
+	<style type="text/css">
+	.pages_list {
+		display: none;
+	}
+	</style>
+	<?php
+} else {
+	?>
+	<style type="text/css">
+	.empty_list {
+		display: none;
+	}
+	</style>
+	<?php
+}
+
+?>
+<br />< <a href="<?php echo ADMIN_URL; ?>/pages/index.php"><?php echo $MESSAGE['PAGES']['RETURN_TO_PAGES']; ?></a>
+<?php
+
+// Print admin 
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/pages/trash.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/pages/move_down.php
===================================================================
--- tags/2.8.2/wb/admin/pages/move_down.php	(nonexistent)
+++ tags/2.8.2/wb/admin/pages/move_down.php	(revision 1481)
@@ -0,0 +1,73 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+require('../../config.php');
+
+// Get id
+if(isset($_GET['page_id']) AND is_numeric($_GET['page_id'])) {
+	if(isset($_GET['section_id']) AND is_numeric($_GET['section_id'])) {
+		$page_id = $_GET['page_id'];
+		$id = $_GET['section_id'];
+		$id_field = 'section_id';
+		$common_field = 'page_id';
+		$table = TABLE_PREFIX.'sections';
+	} else {
+		$id = $_GET['page_id'];
+		$id_field = 'page_id';
+		$common_field = 'parent';
+		$table = TABLE_PREFIX.'pages';
+	}
+} else {
+	header("Location: index.php");
+	exit(0);
+}
+
+// Create new admin object and print admin header
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Pages', 'pages_settings');
+
+// Include the ordering class
+require(WB_PATH.'/framework/class.order.php');
+
+// Create new order object an reorder
+$order = new order($table, 'position', $id_field, $common_field);
+if($id_field == 'page_id') {
+	if($order->move_down($id)) {
+		$admin->print_success($MESSAGE['PAGES']['REORDERED']);
+	} else {
+		$admin->print_error($MESSAGE['PAGES']['CANNOT_REORDER']);
+	}
+} else {
+	if($order->move_down($id)) {
+		$admin->print_success($TEXT['SUCCESS'], ADMIN_URL.'/pages/sections.php?page_id='.$page_id);
+	} else {
+		$admin->print_error($TEXT['ERROR'], ADMIN_URL.'/pages/sections.php?page_id='.$page_id);
+	}
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/pages/move_down.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/pages/empty_trash.php
===================================================================
--- tags/2.8.2/wb/admin/pages/empty_trash.php	(nonexistent)
+++ tags/2.8.2/wb/admin/pages/empty_trash.php	(revision 1481)
@@ -0,0 +1,61 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Pages', 'pages');
+
+// Include the WB functions file
+require_once(WB_PATH.'/framework/functions.php');
+
+// Get page list from database
+$database = new database();
+$query = "SELECT * FROM ".TABLE_PREFIX."pages WHERE visibility = 'deleted' ORDER BY level DESC";
+$get_pages = $database->query($query);
+
+// Insert values into main page list
+if($get_pages->numRows() > 0)	{
+	while($page = $get_pages->fetchRow()) {
+		// Delete page subs
+		$sub_pages = get_subs($page['page_id'], array());
+		foreach($sub_pages AS $sub_page_id) {
+			delete_page($sub_page_id);
+		}	
+		// Delete page
+		delete_page($page['page_id']);
+	}
+}
+
+// Check if there is a db error, otherwise say successful
+if($database->is_error()) {
+	$admin->print_error($database->get_error());
+} else {
+	$admin->print_success($TEXT['TRASH_EMPTIED']);
+}
+
+// Print admin 
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/pages/empty_trash.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/pages/delete.php
===================================================================
--- tags/2.8.2/wb/admin/pages/delete.php	(nonexistent)
+++ tags/2.8.2/wb/admin/pages/delete.php	(revision 1481)
@@ -0,0 +1,107 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Get page id
+if(!isset($_GET['page_id']) OR !is_numeric($_GET['page_id'])) {
+	header("Location: index.php");
+	exit(0);
+} else {
+	$page_id = $_GET['page_id'];
+}
+
+// Create new admin object and print admin header
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Pages', 'pages_delete');
+
+// Include the WB functions file
+require_once(WB_PATH.'/framework/functions.php');
+
+// Get perms
+if (!$admin->get_page_permission($page_id,'admin')) {
+	$admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']);
+}
+
+// Find out more about the page
+$query = "SELECT * FROM ".TABLE_PREFIX."pages WHERE page_id = '$page_id'";
+$results = $database->query($query);
+if($database->is_error()) {
+	$admin->print_error($database->get_error());
+}
+if($results->numRows() == 0) {
+	$admin->print_error($MESSAGE['PAGES']['NOT_FOUND']);
+}
+
+$results_array = $results->fetchRow();
+
+$visibility = $results_array['visibility'];
+
+// Check if we should delete it or just set the visibility to 'deleted'
+if(PAGE_TRASH != 'disabled' AND $visibility != 'deleted') {
+	// Page trash is enabled and page has not yet been deleted
+	// Function to change all child pages visibility to deleted
+	function trash_subs($parent = 0) {
+		global $database;
+		// Query pages
+		$query_menu = $database->query("SELECT page_id FROM ".TABLE_PREFIX."pages WHERE parent = '$parent' ORDER BY position ASC");
+		// Check if there are any pages to show
+		if($query_menu->numRows() > 0) {
+			// Loop through pages
+			while($page = $query_menu->fetchRow()) {
+				// Update the page visibility to 'deleted'
+				$database->query("UPDATE ".TABLE_PREFIX."pages SET visibility = 'deleted' WHERE page_id = '".$page['page_id']."' LIMIT 1");
+				// Run this function again for all sub-pages
+				trash_subs($page['page_id']);
+			}
+		}
+	}
+	
+	// Update the page visibility to 'deleted'
+	$database->query("UPDATE ".TABLE_PREFIX."pages SET visibility = 'deleted' WHERE page_id = '$page_id.' LIMIT 1");
+	
+	// Run trash subs for this page
+	trash_subs($page_id);
+} else {
+	// Really dump the page
+	// Delete page subs
+	$sub_pages = get_subs($page_id, array());
+	foreach($sub_pages AS $sub_page_id) {
+		delete_page($sub_page_id);
+	}
+	// Delete page
+	delete_page($page_id);
+}	
+
+// Check if there is a db error, otherwise say successful
+if($database->is_error()) {
+	$admin->print_error($database->get_error());
+} else {
+	$admin->print_success($MESSAGE['PAGES']['DELETED']);
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/pages/delete.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/pages/sections_save.php
===================================================================
--- tags/2.8.2/wb/admin/pages/sections_save.php	(nonexistent)
+++ tags/2.8.2/wb/admin/pages/sections_save.php	(revision 1481)
@@ -0,0 +1,129 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Include config file
+require('../../config.php');
+
+// Make sure people are allowed to access this page
+if(MANAGE_SECTIONS != 'enabled') {
+	header('Location: '.ADMIN_URL.'/pages/index.php');
+	exit(0);
+}
+
+require_once(WB_PATH."/include/jscalendar/jscalendar-functions.php");
+
+// Get page id
+if(!isset($_GET['page_id']) OR !is_numeric($_GET['page_id'])) {
+	header("Location: index.php");
+	exit(0);
+} else {
+	$page_id = $_GET['page_id'];
+}
+
+// Create new admin object
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Pages', 'pages_modify');
+
+// Get perms
+$database = new database();
+$results = $database->query("SELECT admin_groups,admin_users FROM ".TABLE_PREFIX."pages WHERE page_id = '$page_id'");
+$results_array = $results->fetchRow();
+$old_admin_groups = explode(',', $results_array['admin_groups']);
+$old_admin_users = explode(',', $results_array['admin_users']);
+$in_old_group = FALSE;
+foreach($admin->get_groups_id() as $cur_gid){
+    if (in_array($cur_gid, $old_admin_groups)) {
+        $in_old_group = TRUE;
+    }
+}
+if((!$in_old_group) AND !is_numeric(array_search($admin->get_user_id(), $old_admin_users))) {
+	$admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']);
+}
+
+// Get page details
+$database = new database();
+$query = "SELECT * FROM ".TABLE_PREFIX."pages WHERE page_id = '$page_id'";
+$results = $database->query($query);
+if($database->is_error()) {
+	$admin->print_header();
+	$admin->print_error($database->get_error());
+}
+if($results->numRows() == 0) {
+	$admin->print_header();
+	$admin->print_error($MESSAGE['PAGES']['NOT_FOUND']);
+}
+$results_array = $results->fetchRow();
+
+// Set module permissions
+$module_permissions = $_SESSION['MODULE_PERMISSIONS'];
+
+// Loop through sections
+$query_sections = $database->query("SELECT section_id,module,position FROM ".TABLE_PREFIX."sections WHERE page_id = '$page_id' ORDER BY position ASC");
+if($query_sections->numRows() > 0) {
+	$num_sections = $query_sections->numRows();
+	while($section = $query_sections->fetchRow()) {
+		if(!is_numeric(array_search($section['module'], $module_permissions))) {
+			// Update the section record with properties
+			$section_id = $section['section_id'];
+			$sql = ''; $publ_start = 0; $publ_end = 0;
+			$dst = date("I")?" DST":""; // daylight saving time?
+			if(isset($_POST['block'.$section_id]) AND $_POST['block'.$section_id] != '') {
+				$sql = "block = '".$admin->add_slashes($_POST['block'.$section_id])."'";
+			}
+			// update publ_start and publ_end, trying to make use of the strtotime()-features like "next week", "+1 month", ...
+			if(isset($_POST['start_date'.$section_id]) AND isset($_POST['end_date'.$section_id])) {
+				if(trim($_POST['start_date'.$section_id]) == '0' OR trim($_POST['start_date'.$section_id]) == '') {
+					$publ_start = 0;
+				} else {
+					$publ_start = jscalendar_to_timestamp($_POST['start_date'.$section_id]);
+				}
+				if(trim($_POST['end_date'.$section_id]) == '0' OR trim($_POST['end_date'.$section_id]) == '') {
+					$publ_end = 0;
+				} else {
+					$publ_end = jscalendar_to_timestamp($_POST['end_date'.$section_id], $publ_start);
+				}
+				if($sql != '')
+					$sql .= ",";
+				$sql .= " publ_start = '".$admin->add_slashes($publ_start)."'";
+				$sql .= ", publ_end = '".$admin->add_slashes($publ_end)."'";
+			}
+			$query = "UPDATE ".TABLE_PREFIX."sections SET $sql WHERE section_id = '$section_id' LIMIT 1";
+			if($sql != '') {
+				$database->query($query);
+			}
+		}
+	}
+}
+// Check for error or print success message
+if($database->is_error()) {
+	$admin->print_error($database->get_error(), ADMIN_URL.'/pages/sections.php?page_id='.$page_id);
+} else {
+	$admin->print_success($MESSAGE['PAGES']['SECTIONS_PROPERTIES_SAVED'], ADMIN_URL.'/pages/sections.php?page_id='.$page_id);
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>

Property changes on: tags/2.8.2/wb/admin/pages/sections_save.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/pages/move_up.php
===================================================================
--- tags/2.8.2/wb/admin/pages/move_up.php	(nonexistent)
+++ tags/2.8.2/wb/admin/pages/move_up.php	(revision 1481)
@@ -0,0 +1,73 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+require('../../config.php');
+
+// Get id
+if(isset($_GET['page_id']) AND is_numeric($_GET['page_id'])) {
+	if(isset($_GET['section_id']) AND is_numeric($_GET['section_id'])) {
+		$page_id = $_GET['page_id'];
+		$id = $_GET['section_id'];
+		$id_field = 'section_id';
+		$common_field = 'page_id';
+		$table = TABLE_PREFIX.'sections';
+	} else {
+		$id = $_GET['page_id'];
+		$id_field = 'page_id';
+		$common_field = 'parent';
+		$table = TABLE_PREFIX.'pages';
+	}
+} else {
+	header("Location: index.php");
+	exit(0);
+}
+
+// Create new admin object and print admin header
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Pages', 'pages_settings');
+
+// Include the ordering class
+require(WB_PATH.'/framework/class.order.php');
+
+// Create new order object an reorder
+$order = new order($table, 'position', $id_field, $common_field);
+if($id_field == 'page_id') {
+	if($order->move_up($id)) {
+		$admin->print_success($MESSAGE['PAGES']['REORDERED']);
+	} else {
+		$admin->print_error($MESSAGE['PAGES']['CANNOT_REORDER']);
+	}
+} else {
+	if($order->move_up($id)) {
+		$admin->print_success($TEXT['SUCCESS'], ADMIN_URL.'/pages/sections.php?page_id='.$page_id);
+	} else {
+		$admin->print_error($TEXT['ERROR'], ADMIN_URL.'/pages/sections.php?page_id='.$page_id);
+	}
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/pages/move_up.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/pages/intro2.php
===================================================================
--- tags/2.8.2/wb/admin/pages/intro2.php	(nonexistent)
+++ tags/2.8.2/wb/admin/pages/intro2.php	(revision 1481)
@@ -0,0 +1,63 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Get posted content
+if(!isset($_POST['content'])) {
+	header("Location: intro".PAGE_EXTENSION."");
+	exit(0);
+} else {
+	$content = $_POST['content'];
+}
+
+// Create new admin object
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Pages', 'pages_intro');
+
+$content=$admin->strip_slashes($content);
+
+// Include the WB functions file
+require_once(WB_PATH.'/framework/functions.php');
+
+// Write new content
+$filename = WB_PATH.PAGES_DIRECTORY.'/intro'.PAGE_EXTENSION;
+$handle = fopen($filename, 'w');
+if(is_writable($filename)) {
+	if(fwrite($handle, $content)) {
+		fclose($handle);
+		change_mode($filename, 'file');
+		$admin->print_success($MESSAGE['PAGES']['INTRO_SAVED']);
+	} else {
+		fclose($handle);
+		$admin->print_error($MESSAGE['PAGES']['INTRO_NOT_WRITABLE']);
+	}
+} else {
+	$admin->print_error($MESSAGE['PAGES']['INTRO_NOT_WRITABLE']);
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/pages/intro2.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/pages/restore.php
===================================================================
--- tags/2.8.2/wb/admin/pages/restore.php	(nonexistent)
+++ tags/2.8.2/wb/admin/pages/restore.php	(revision 1481)
@@ -0,0 +1,109 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Get page id
+if(!isset($_GET['page_id']) OR !is_numeric($_GET['page_id'])) {
+	header("Location: index.php");
+	exit(0);
+} else {
+	$page_id = $_GET['page_id'];
+}
+
+// Create new admin object and print admin header
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Pages', 'pages_delete');
+
+// Include the WB functions file
+require_once(WB_PATH.'/framework/functions.php');
+
+// Get perms
+$results = $database->query("SELECT admin_groups,admin_users FROM ".TABLE_PREFIX."pages WHERE page_id = '$page_id'");
+$results_array = $results->fetchRow();
+
+// Find out more about the page
+$query = "SELECT * FROM ".TABLE_PREFIX."pages WHERE page_id = '$page_id'";
+$results = $database->query($query);
+if($database->is_error()) {
+	$admin->print_error($database->get_error());
+}
+if($results->numRows() == 0) {
+	$admin->print_error($MESSAGE['PAGES']['NOT_FOUND']);
+}
+$results_array = $results->fetchRow();
+$old_admin_groups = explode(',', str_replace('_', '', $results_array['admin_groups']));
+$old_admin_users = explode(',', str_replace('_', '', $results_array['admin_users']));
+
+$in_old_group = FALSE;
+foreach($admin->get_groups_id() as $cur_gid){
+    if (in_array($cur_gid, $old_admin_groups)) {
+	$in_old_group = TRUE;
+    }
+}
+if((!$in_old_group) AND !is_numeric(array_search($admin->get_user_id(), $old_admin_users))) {
+	$admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']);
+}
+
+$visibility = $results_array['visibility'];
+
+if(PAGE_TRASH) {
+	if($visibility == 'deleted') {	
+		// Function to change all child pages visibility to deleted
+		function restore_subs($parent = 0) {
+			global $database;
+			// Query pages
+			$query_menu = $database->query("SELECT page_id FROM ".TABLE_PREFIX."pages WHERE parent = '$parent' ORDER BY position ASC");
+			// Check if there are any pages to show
+			if($query_menu->numRows() > 0) {
+				// Loop through pages
+				while($page = $query_menu->fetchRow()) {
+					// Update the page visibility to 'deleted'
+					$database->query("UPDATE ".TABLE_PREFIX."pages SET visibility = 'public' WHERE page_id = '".$page['page_id']."' LIMIT 1");
+					// Run this function again for all sub-pages
+					restore_subs($page['page_id']);
+				}
+			}
+		}
+		
+		// Update the page visibility to 'deleted'
+		$database->query("UPDATE ".TABLE_PREFIX."pages SET visibility = 'public' WHERE page_id = '$page_id.' LIMIT 1");
+		
+		// Run trash subs for this page
+		restore_subs($page_id);
+		
+	}
+}
+
+// Check if there is a db error, otherwise say successful
+if($database->is_error()) {
+	$admin->print_error($database->get_error());
+} else {
+	$admin->print_success($MESSAGE['PAGES']['RESTORED']);
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/pages/restore.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/interface/version.php
===================================================================
--- tags/2.8.2/wb/admin/interface/version.php	(nonexistent)
+++ tags/2.8.2/wb/admin/interface/version.php	(revision 1481)
@@ -0,0 +1,57 @@
+<?php
+/*
+ * 						About WebsiteBaker
+ *
+ * Website Baker is a PHP-based Content Management System (CMS)
+ * designed with one goal in mind: to enable its users to produce websites
+ * with ease.
+ *
+ * 						LICENSE INFORMATION
+ *
+ * WebsiteBaker is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * WebsiteBaker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ *
+ * 				WebsiteBaker Extra Information
+ *
+ * This file is where the WB release version is stored.
+ *
+ */
+/**
+ *
+ * @category     	admin
+ * @package      	interface
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @revision     	$Revision$
+ * @version      	$Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ * 
+ */
+
+if(!defined('WB_URL')) {
+	header('Location: ../index.php');
+	exit(0);
+}
+
+// check if defined to avoid errors during installation (redirect to admin panel fails if PHP error/warnings are enabled)
+if(!defined('VERSION')) define('VERSION', '2.8.1');
+if(!defined('REVISION')) define('REVISION', '1287');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/interface/version.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/admin/interface/time_formats.php
===================================================================
--- tags/2.8.2/wb/admin/interface/time_formats.php	(nonexistent)
+++ tags/2.8.2/wb/admin/interface/time_formats.php	(revision 1481)
@@ -0,0 +1,68 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+/*
+
+Time format list file
+
+This file is used to generate a list of time formats for the user to select
+
+*/
+
+if(!defined('WB_URL')) {
+	header('Location: ../../../index.php');
+	exit(0);
+}
+
+// Define that this file is loaded
+if(!defined('TIME_FORMATS_LOADED')) {
+	define('TIME_FORMATS_LOADED', true);
+}
+
+// Create array
+$TIME_FORMATS = array();
+
+// Get the current time (in the users timezone if required)
+$actual_time = time()+ ((isset($user_time) AND $user_time == true) ? TIMEZONE : DEFAULT_TIMEZONE);
+
+// Add values to list
+$TIME_FORMATS['g:i|A'] = gmdate('g:i A', $actual_time);
+$TIME_FORMATS['g:i|a'] = gmdate('g:i a', $actual_time);
+$TIME_FORMATS['H:i:s'] = gmdate('H:i:s', $actual_time);
+$TIME_FORMATS['H:i'] = gmdate('H:i', $actual_time);
+
+// Add "System Default" to list (if we need to)
+if(isset($user_time) AND $user_time == true) {
+	if(isset($TEXT['SYSTEM_DEFAULT'])) {
+		$TIME_FORMATS['system_default'] = gmdate(DEFAULT_TIME_FORMAT, $actual_time).' ('.$TEXT['SYSTEM_DEFAULT'].')';
+	} else {
+		$TIME_FORMATS['system_default'] = gmdate(DEFAULT_TIME_FORMAT, $actual_time).' (System Default)';
+	}
+}
+
+// Reverse array so "System Default" is at the top
+$TIME_FORMATS = array_reverse($TIME_FORMATS, true);
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/interface/time_formats.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/interface/date_formats.php
===================================================================
--- tags/2.8.2/wb/admin/interface/date_formats.php	(nonexistent)
+++ tags/2.8.2/wb/admin/interface/date_formats.php	(revision 1481)
@@ -0,0 +1,75 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+/*
+
+Date format list file
+
+This file is used to generate a list of date formats for the user to select
+
+*/
+
+if(!defined('WB_URL')) {
+	header('Location: ../../../index.php');
+	exit(0);
+}
+
+// Define that this file is loaded
+if(!defined('DATE_FORMATS_LOADED')) {
+	define('DATE_FORMATS_LOADED', true);
+}
+
+// Create array
+$DATE_FORMATS = array();
+
+// Get the current time (in the users timezone if required)
+$actual_time = time()+ ((isset($user_time) AND $user_time == true) ? TIMEZONE : DEFAULT_TIMEZONE);
+
+// Add values to list
+$DATE_FORMATS['l,|jS|F,|Y'] = gmdate('l, jS F, Y', $actual_time);
+$DATE_FORMATS['jS|F,|Y'] = gmdate('jS F, Y', $actual_time);
+$DATE_FORMATS['d|M|Y'] = gmdate('d M Y', $actual_time);
+$DATE_FORMATS['M|d|Y'] = gmdate('M d Y', $actual_time);
+$DATE_FORMATS['D|M|d,|Y'] = gmdate('D M d, Y', $actual_time);
+$DATE_FORMATS['d-m-Y'] = gmdate('d-m-Y', $actual_time).' (D-M-Y)';
+$DATE_FORMATS['m-d-Y'] = gmdate('m-d-Y', $actual_time).' (M-D-Y)';
+$DATE_FORMATS['d.m.Y'] = gmdate('d.m.Y', $actual_time).' (D.M.Y)';
+$DATE_FORMATS['m.d.Y'] = gmdate('m.d.Y', $actual_time).' (M.D.Y)';
+$DATE_FORMATS['d/m/Y'] = gmdate('d/m/Y', $actual_time).' (D/M/Y)';
+$DATE_FORMATS['m/d/Y'] = gmdate('m/d/Y', $actual_time).' (M/D/Y)';
+
+// Add "System Default" to list (if we need to)
+if(isset($user_time) AND $user_time == true) {
+	if(isset($TEXT['SYSTEM_DEFAULT'])) {
+		$DATE_FORMATS['system_default'] = gmdate(DEFAULT_DATE_FORMAT, $actual_time).' ('.$TEXT['SYSTEM_DEFAULT'].')';
+	} else {
+		$DATE_FORMATS['system_default'] = gmdate(DEFAULT_DATE_FORMAT, $actual_time).' (System Default)';
+	}
+}
+
+// Reverse array so "System Default" is at the top
+$DATE_FORMATS = array_reverse($DATE_FORMATS, true);
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/interface/date_formats.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/interface/er_levels.php
===================================================================
--- tags/2.8.2/wb/admin/interface/er_levels.php	(nonexistent)
+++ tags/2.8.2/wb/admin/interface/er_levels.php	(revision 1481)
@@ -0,0 +1,59 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+/*
+
+Error Reporting Level's list file
+
+This file is used to generate a list of PHP
+Error Reporting Level's for the user to select
+
+*/
+
+if(!defined('WB_URL')) {
+	header('Location: ../index.php');
+	exit(0);
+}
+
+// Define that this file is loaded
+if(!defined('ERROR_REPORTING_LEVELS_LOADED')) {
+	define('ERROR_REPORTING_LEVELS_LOADED', true);
+}
+
+// Create array
+$ER_LEVELS = array();
+
+// Add values to list
+if(isset($TEXT['SYSTEM_DEFAULT'])) {
+	$ER_LEVELS[''] = $TEXT['SYSTEM_DEFAULT'];
+} else {
+	$ER_LEVELS[''] = 'System Default';
+}
+$ER_LEVELS['6135'] = 'E_ALL^E_NOTICE'; // standard: E_ALL without E_NOTICE
+$ER_LEVELS['0'] = 'E_NONE';
+$ER_LEVELS['6143'] = 'E_ALL';
+$ER_LEVELS['8191'] = htmlentities('E_ALL&E_STRICT'); // for programmers
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/interface/er_levels.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/interface/index.php
===================================================================
--- tags/2.8.2/wb/admin/interface/index.php	(nonexistent)
+++ tags/2.8.2/wb/admin/interface/index.php	(revision 1481)
@@ -0,0 +1,29 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+require('../../config.php');
+header('Location: '.ADMIN_URL.'/start/index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/interface/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/interface/charsets.php
===================================================================
--- tags/2.8.2/wb/admin/interface/charsets.php	(nonexistent)
+++ tags/2.8.2/wb/admin/interface/charsets.php	(revision 1481)
@@ -0,0 +1,58 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+/*
+
+Charset list file
+
+This file is used to generate a list of charsets for the user to select
+
+*/
+
+if(!defined('WB_URL')) {
+	header('Location: ../index.php');
+	exit(0);
+}
+
+// Create array
+$CHARSETS = array();
+$CHARSETS['utf-8'] = 'Unicode (utf-8)';
+$CHARSETS['iso-8859-1'] = 'Latin-1 Western European (iso-8859-1)';
+$CHARSETS['iso-8859-2'] = 'Latin-2 Central European (iso-8859-2)';
+$CHARSETS['iso-8859-3'] = 'Latin-3 Southern European (iso-8859-3)';
+$CHARSETS['iso-8859-4'] = 'Latin-4 Baltic (iso-8859-4)';
+$CHARSETS['iso-8859-5'] = 'Cyrillic (iso-8859-5)';
+$CHARSETS['iso-8859-6'] = 'Arabic (iso-8859-6)';
+$CHARSETS['iso-8859-7'] = 'Greek (iso-8859-7)';
+$CHARSETS['iso-8859-8'] = 'Hebrew (iso-8859-8)';
+$CHARSETS['iso-8859-9'] = 'Latin-5 Turkish (iso-8859-9)';
+$CHARSETS['iso-8859-10'] = 'Latin-6 Nordic (iso-8859-10)';
+$CHARSETS['iso-8859-11'] = 'Thai (iso-8859-11)';
+$CHARSETS['gb2312'] = 'Chinese Simplified (gb2312)';
+$CHARSETS['big5'] = 'Chinese Traditional (big5)';
+$CHARSETS['iso-2022-jp'] = 'Japanese (iso-2022-jp)';
+$CHARSETS['iso-2022-kr'] = 'Korean (iso-2022-kr)';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/interface/charsets.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/interface/timezones.php
===================================================================
--- tags/2.8.2/wb/admin/interface/timezones.php	(nonexistent)
+++ tags/2.8.2/wb/admin/interface/timezones.php	(revision 1481)
@@ -0,0 +1,82 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+/*
+
+Timezone list file
+
+This file is used to generate a list of timezones for the user to select
+
+*/
+
+if(!defined('WB_URL')) {
+	header('Location: ../index.php');
+	exit(0);
+}
+
+// Create array
+$TIMEZONES = array();
+
+// Add "System Default" to top of list
+if(isset($TEXT['SYSTEM_DEFAULT'])) {
+	$TIMEZONES['-20'] = $TEXT['SYSTEM_DEFAULT'];
+} else {
+	$TIMEZONES['-20'] = 'System Default';
+}
+
+$TIMEZONES['-12'] = 'GMT - 12 Hours';
+$TIMEZONES['-11'] = 'GMT -11 Hours';
+$TIMEZONES['-10'] = 'GMT -10 Hours';
+$TIMEZONES['-9'] = 'GMT -9 Hours';
+$TIMEZONES['-8'] = 'GMT -8 Hours';
+$TIMEZONES['-7'] = 'GMT -7 Hours';
+$TIMEZONES['-6'] = 'GMT -6 Hours';
+$TIMEZONES['-5'] = 'GMT -5 Hours';
+$TIMEZONES['-4'] = 'GMT -4 Hours';
+$TIMEZONES['-3.5'] = 'GMT -3.5 Hours';
+$TIMEZONES['-3'] = 'GMT -3 Hours';
+$TIMEZONES['-2'] = 'GMT -2 Hours';
+$TIMEZONES['-1'] = 'GMT -1 Hour';
+$TIMEZONES['0'] = 'GMT';
+$TIMEZONES['1'] = 'GMT +1 Hour';
+$TIMEZONES['2'] = 'GMT +2 Hours';
+$TIMEZONES['3'] = 'GMT +3 Hours';
+$TIMEZONES['3.5'] = 'GMT +3.5 Hours';
+$TIMEZONES['4'] = 'GMT +4 Hours';
+$TIMEZONES['4.5'] = 'GMT +4.5 Hours';
+$TIMEZONES['5'] = 'GMT +5 Hours';
+$TIMEZONES['5.5'] = 'GMT +5.5 Hours';
+$TIMEZONES['6'] = 'GMT +6 Hours';
+$TIMEZONES['6.5'] = 'GMT +6.5 Hours';
+$TIMEZONES['7'] = 'GMT +7 Hours';
+$TIMEZONES['8'] = 'GMT +8 Hours';
+$TIMEZONES['9'] = 'GMT +9 Hours';
+$TIMEZONES['9.5'] = 'GMT +9.5 Hours';
+$TIMEZONES['10'] = 'GMT +10 Hours';
+$TIMEZONES['11'] = 'GMT +11 Hours';
+$TIMEZONES['12'] = 'GMT +12 Hours';
+$TIMEZONES['13'] = 'GMT +13 Hours';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/interface/timezones.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/settings/save.php
===================================================================
--- tags/2.8.2/wb/admin/settings/save.php	(nonexistent)
+++ tags/2.8.2/wb/admin/settings/save.php	(revision 1481)
@@ -0,0 +1,188 @@
+<?php
+/**
+ *
+ * @category        admin
+ * @package         settings
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// prevent this file from being accessed directly in the browser (would set all entries in DB settings table to '')
+if(!isset($_POST['default_language']) || $_POST['default_language'] == '') die(header('Location: index.php'));
+
+// Find out if the user was view advanced options or not
+if($_POST['advanced'] == 'yes' ? $advanced = '?advanced=yes' : $advanced = '');
+
+// Print admin header
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+if($advanced == '') {
+	$admin = new admin('Settings', 'settings_basic');
+	$_POST['database_password'] = DB_PASSWORD;
+} else {
+	$admin = new admin('Settings', 'settings_advanced');
+}
+
+// Create a javascript back link
+$js_back = "javascript: history.go(-1);";
+
+// Ensure that the specified default email is formally valid
+if(isset($_POST['server_email']))
+{
+	$_POST['server_email'] = strip_tags($_POST['server_email']);
+	if(!eregi("^([0-9a-zA-Z]+[-._+&])*[0-9a-zA-Z]+@([-0-9a-zA-Z]+[.])+[a-zA-Z]{2,6}$", $_POST['server_email'])) {
+		$admin->print_error($MESSAGE['USERS']['INVALID_EMAIL'].
+			'<br /><strong>Email: '.htmlentities($_POST['server_email']).'</strong>', $js_back);
+	}
+}
+
+// Work-out file mode
+if($advanced == '')
+{
+	// Check if should be set to 777 or left alone
+	if(isset($_POST['world_writeable']) AND $_POST['world_writeable'] == 'true')
+    {
+		$file_mode = '0777';
+		$dir_mode = '0777';
+	} else {
+		$file_mode = STRING_FILE_MODE;
+		$dir_mode = STRING_DIR_MODE;
+	}
+} else {
+	// Work-out the octal value for file mode
+	$u = 0;
+	if(isset($_POST['file_u_r']) AND $_POST['file_u_r'] == 'true') {
+		$u = $u+4;
+	}
+	if(isset($_POST['file_u_w']) AND $_POST['file_u_w'] == 'true') {
+		$u = $u+2;
+	}
+	if(isset($_POST['file_u_e']) AND $_POST['file_u_e'] == 'true') {
+		$u = $u+1;
+	}
+	$g = 0;
+	if(isset($_POST['file_g_r']) AND $_POST['file_g_r'] == 'true') {
+		$g = $g+4;
+	}
+	if(isset($_POST['file_g_w']) AND $_POST['file_g_w'] == 'true') {
+		$g = $g+2;
+	}
+	if(isset($_POST['file_g_e']) AND $_POST['file_g_e'] == 'true') {
+		$g = $g+1;
+	}
+	$o = 0;
+	if(isset($_POST['file_o_r']) AND $_POST['file_o_r'] == 'true') {
+		$o = $o+4;
+	}
+	if(isset($_POST['file_o_w']) AND $_POST['file_o_w'] == 'true') {
+		$o = $o+2;
+	}
+	if(isset($_POST['file_o_e']) AND $_POST['file_o_e'] == 'true') {
+		$o = $o+1;
+	}
+	$file_mode = "0".$u.$g.$o;
+	// Work-out the octal value for dir mode
+	$u = 0;
+	if(isset($_POST['dir_u_r']) AND $_POST['dir_u_r'] == 'true') {
+		$u = $u+4;
+	}
+	if(isset($_POST['dir_u_w']) AND $_POST['dir_u_w'] == 'true') {
+		$u = $u+2;
+	}
+	if(isset($_POST['dir_u_e']) AND $_POST['dir_u_e'] == 'true') {
+		$u = $u+1;
+	}
+	$g = 0;
+	if(isset($_POST['dir_g_r']) AND $_POST['dir_g_r'] == 'true') {
+		$g = $g+4;
+	}
+	if(isset($_POST['dir_g_w']) AND $_POST['dir_g_w'] == 'true') {
+		$g = $g+2;
+	}
+	if(isset($_POST['dir_g_e']) AND $_POST['dir_g_e'] == 'true') {
+		$g = $g+1;
+	}
+	$o = 0;
+	if(isset($_POST['dir_o_r']) AND $_POST['dir_o_r'] == 'true') {
+		$o = $o+4;
+	}
+	if(isset($_POST['dir_o_w']) AND $_POST['dir_o_w'] == 'true') {
+		$o = $o+2;
+	}
+	if(isset($_POST['dir_o_e']) AND $_POST['dir_o_e'] == 'true') {
+		$o = $o+1;
+	}
+	$dir_mode = "0".$u.$g.$o;
+}
+
+// Create new database object
+/*$database = new database(); */
+
+// Query current settings in the db, then loop through them and update the db with the new value
+$query = "SELECT name FROM ".TABLE_PREFIX."settings";
+$results = $database->query($query);
+while($setting = $results->fetchRow())
+{
+	$setting_name = $setting['name'];
+	$value = $admin->get_post($setting_name);
+	if ($setting_name!='wb_version')
+    {
+		$allow_tags_in_fields = array('website_header', 'website_footer','wbmailer_smtp_password');
+		if(!in_array($setting_name, $allow_tags_in_fields)) {
+			$value = strip_tags($value);
+		}
+		switch ($setting_name) {
+			case 'default_timezone':
+				$value=$value*60*60;
+				break;
+			case 'string_dir_mode':
+				$value=$dir_mode;
+				break;
+			case 'string_file_mode':
+				$value=$file_mode;
+				break;
+			case 'pages_directory':
+				if(trim($value)=='/') $value='';
+				break;
+		}
+		$value = $admin->add_slashes($value);
+		$database->query("UPDATE ".TABLE_PREFIX."settings SET value = '$value' WHERE name = '$setting_name'");
+	}
+}
+
+// Query current search settings in the db, then loop through them and update the db with the new value
+$query = "SELECT name, value FROM ".TABLE_PREFIX."search WHERE extra = ''";
+$results = $database->query($query);
+while($search_setting = $results->fetchRow())
+{
+	$old_value = $search_setting['value'];
+	$setting_name = $search_setting['name'];
+	$post_name = 'search_'.$search_setting['name'];
+    // hold old value if post is empty
+    // check search template
+    $value = ( ($admin->get_post($post_name) == '') AND ($setting_name != 'template') ) ? $old_value : $admin->get_post($post_name);
+
+	$value = $admin->add_slashes($value);
+	$database->query("UPDATE ".TABLE_PREFIX."search SET value = '$value' WHERE name = '$setting_name'");
+}
+
+// Check if there was an error updating the db
+if($database->is_error()) {
+	$admin->print_error($database->get_error, ADMIN_URL.'/settings/index.php'.$advanced);
+	$admin->print_footer();
+	exit();
+}
+
+$admin->print_success($MESSAGE['SETTINGS']['SAVED'], ADMIN_URL.'/settings/index.php'.$advanced);
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/settings/save.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/admin/settings/index.php
===================================================================
--- tags/2.8.2/wb/admin/settings/index.php	(nonexistent)
+++ tags/2.8.2/wb/admin/settings/index.php	(revision 1481)
@@ -0,0 +1,704 @@
+<?php
+/**
+ *
+ * @category        admin
+ * @package         settings
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+if(isset($_GET['advanced']) AND $_GET['advanced'] == 'yes') {
+	$admin = new admin('Settings', 'settings_advanced');
+} else {
+	$admin = new admin('Settings', 'settings_basic');
+}
+
+// Include the WB functions file
+require_once(WB_PATH.'/framework/functions.php');
+require_once(WB_PATH.'/framework/functions-utf8.php');
+
+// Create new template object
+$template = new Template(THEME_PATH.'/templates');
+$template->set_file('page', 'settings.htt');
+$template->set_block('page', 'main_block', 'main');
+
+// Query current settings in the db, then loop through them and print them
+$query = "SELECT * FROM ".TABLE_PREFIX."settings";
+$results = $database->query($query);
+while($setting = $results->fetchRow())
+{
+	$setting_name = $setting['name'];
+	$setting_value = ( $setting_name != 'wbmailer_smtp_password' ) ? htmlspecialchars($setting['value']) : $setting['value'];
+	$template->set_var(strtoupper($setting_name),$setting_value);
+}
+
+// Query current settings in the db, then loop through them and print them
+$query = "SELECT * FROM ".TABLE_PREFIX."search WHERE extra = ''";
+$results = $database->query($query);
+while($setting = $results->fetchRow()) {
+	$setting_name = $setting['name'];
+	$setting_value = htmlspecialchars(($setting['value']));
+	switch($setting_name) {
+		// Search header
+		case 'header':
+			$template->set_var('SEARCH_HEADER', $setting_value);
+		break;
+		// Search results header
+		case 'results_header':
+			$template->set_var('SEARCH_RESULTS_HEADER', $setting_value);
+		break;
+		// Search results loop
+		case 'results_loop':
+			$template->set_var('SEARCH_RESULTS_LOOP', $setting_value);
+		break;
+		// Search results footer
+		case 'results_footer':
+			$template->set_var('SEARCH_RESULTS_FOOTER', $setting_value);
+		break;
+		// Search no results
+		case 'no_results':
+			$template->set_var('SEARCH_NO_RESULTS', $setting_value);
+		break;
+		// Search footer
+		case 'footer':
+			$template->set_var('SEARCH_FOOTER', $setting_value);
+		break;
+		// Search module-order
+		case 'module_order':
+			$template->set_var('SEARCH_MODULE_ORDER', $setting_value);
+		break;
+		// Search max lines of excerpt
+		case 'max_excerpt':
+			$template->set_var('SEARCH_MAX_EXCERPT', $setting_value);
+		break;
+		// time-limit
+		case 'time_limit':
+			$template->set_var('SEARCH_TIME_LIMIT', $setting_value);
+		break;
+		// Search template
+		case 'template':
+			$search_template = $setting_value;
+		break;
+	}
+}
+
+// Do the same for settings stored in config file as with ones in db
+$database_type = '';
+
+// Tell the browser whether or not to show advanced options
+if(isset($_GET['advanced']) AND $_GET['advanced'] == 'yes') {
+	$template->set_var('DISPLAY_ADVANCED', '');
+	$template->set_var('ADVANCED', 'yes');
+	$template->set_var('ADVANCED_BUTTON', '&lt;&lt; '.$TEXT['HIDE_ADVANCED']);
+	$template->set_var('ADVANCED_LINK', 'index.php?advanced=no');
+	$template->set_var('BASIC_FILE_PERMS_ID', 'hide');
+	$template->set_var('ADVANCED_FILE_PERMS_ID', 'file_perms_box');
+} else {
+	$template->set_var('DISPLAY_ADVANCED', ' style="display: none;"');
+	$template->set_var('ADVANCED', 'no');
+	$template->set_var('ADVANCED_BUTTON', $TEXT['SHOW_ADVANCED'].' &gt;&gt;');
+	$template->set_var('ADVANCED_LINK', 'index.php?advanced=yes');
+	$template->set_var('BASIC_FILE_PERMS_ID', 'file_perms_box');
+	$template->set_var('ADVANCED_FILE_PERMS_ID', 'hide');
+}
+
+$template->set_var(array(	
+									'PAGES_DIRECTORY' => PAGES_DIRECTORY,
+									'MEDIA_DIRECTORY' => MEDIA_DIRECTORY,
+									'PAGE_EXTENSION' => PAGE_EXTENSION,
+									'PAGE_SPACER' => PAGE_SPACER,
+									'WB_PATH' => WB_PATH,
+									'WB_URL' => WB_URL,
+									'THEME_URL' => THEME_URL,
+									'ADMIN_PATH' => ADMIN_PATH,
+									'ADMIN_URL' => ADMIN_URL,
+									'DATABASE_TYPE' => DB_TYPE,
+									'DATABASE_HOST' => DB_HOST,
+									'DATABASE_USERNAME' => DB_USERNAME,
+									'DATABASE_NAME' => DB_NAME,
+									'TABLE_PREFIX' => TABLE_PREFIX
+								 )
+						 );
+
+// Insert language values
+$template->set_block('main_block', 'language_list_block', 'language_list');
+$result = $database->query("SELECT * FROM ".TABLE_PREFIX."addons WHERE type = 'language' order by name");
+if($result->numRows() > 0) {
+	while($addon = $result->fetchRow()) {
+		$l_codes[$addon['name']] = $addon['directory'];
+		$l_names[$addon['name']] = entities_to_7bit($addon['name']); // sorting-problem workaround
+	}
+	asort($l_names);
+	foreach($l_names as $l_name=>$v) {
+		// Insert code and name
+		$template->set_var(array(
+								'CODE' => $l_codes[$l_name],
+								'NAME' => $l_name,
+								'FLAG' => THEME_URL.'/images/flags/'.strtolower($l_codes[$l_name]),
+								));
+		// Check if it is selected
+		if(DEFAULT_LANGUAGE == $l_codes[$l_name]) {
+			$template->set_var('SELECTED', ' selected="selected"');
+		} else {
+			$template->set_var('SELECTED', '');
+		}
+		$template->parse('language_list', 'language_list_block', true);
+	}
+}
+
+// Insert default timezone values
+require(ADMIN_PATH.'/interface/timezones.php');
+$template->set_block('main_block', 'timezone_list_block', 'timezone_list');
+foreach($TIMEZONES AS $hour_offset => $title) {
+	// Make sure we dont list "System Default" as we are setting this value!
+	if($hour_offset != '-20') {
+		$template->set_var('VALUE', $hour_offset);
+		$template->set_var('NAME', $title);
+		if(DEFAULT_TIMEZONE == $hour_offset*60*60) {
+			$template->set_var('SELECTED', ' selected="selected"');
+		} else {
+			$template->set_var('SELECTED', '');
+		}
+		$template->parse('timezone_list', 'timezone_list_block', true);
+	}
+}
+
+// Insert default charset values
+require(ADMIN_PATH.'/interface/charsets.php');
+$template->set_block('main_block', 'charset_list_block', 'charset_list');
+foreach($CHARSETS AS $code => $title) {
+	$template->set_var('VALUE', $code);
+	$template->set_var('NAME', $title);
+	if(DEFAULT_CHARSET == $code) {
+		$template->set_var('SELECTED', ' selected="selected"');
+	} else {
+		$template->set_var('SELECTED', '');
+	}
+	$template->parse('charset_list', 'charset_list_block', true);
+}
+
+// Insert date format list
+require(ADMIN_PATH.'/interface/date_formats.php');
+$template->set_block('main_block', 'date_format_list_block', 'date_format_list');
+foreach($DATE_FORMATS AS $format => $title) {
+	$format = str_replace('|', ' ', $format); // Add's white-spaces (not able to be stored in array key)
+	if($format != 'system_default') {
+		$template->set_var('VALUE', $format);
+	} else {
+		$template->set_var('VALUE', '');
+	}
+	$template->set_var('NAME', $title);
+	if(DEFAULT_DATE_FORMAT == $format) {
+		$template->set_var('SELECTED', ' selected="selected"');
+	} else {
+		$template->set_var('SELECTED', '');
+	}
+	$template->parse('date_format_list', 'date_format_list_block', true);
+}
+
+// Insert time format list
+require(ADMIN_PATH.'/interface/time_formats.php');
+$template->set_block('main_block', 'time_format_list_block', 'time_format_list');
+foreach($TIME_FORMATS AS $format => $title) {
+	$format = str_replace('|', ' ', $format); // Add's white-spaces (not able to be stored in array key)
+	if($format != 'system_default') {
+		$template->set_var('VALUE', $format);
+	} else {
+		$template->set_var('VALUE', '');
+	}
+	$template->set_var('NAME', $title);
+	if(DEFAULT_TIME_FORMAT == $format) {
+		$template->set_var('SELECTED', ' selected="selected"');
+	} else {
+		$template->set_var('SELECTED', '');
+	}
+	$template->parse('time_format_list', 'time_format_list_block', true);
+}
+
+// Insert templates
+$template->set_block('main_block', 'template_list_block', 'template_list');
+$result = $database->query("SELECT * FROM ".TABLE_PREFIX."addons WHERE type = 'template' AND function != 'theme' order by name");
+if($result->numRows() > 0) {
+	while($addon = $result->fetchRow()) {
+		$template->set_var('FILE', $addon['directory']);
+		$template->set_var('NAME', $addon['name']);
+		if(($addon['directory'] == DEFAULT_TEMPLATE) ? $selected = ' selected="selected"' : $selected = '');
+		$template->set_var('SELECTED', $selected);
+		$template->parse('template_list', 'template_list_block', true);
+	}
+}
+
+// Insert backend theme
+$template->set_block('main_block', 'theme_list_block', 'theme_list');
+$result = $database->query("SELECT * FROM ".TABLE_PREFIX."addons WHERE type = 'template' AND function = 'theme' order by name");
+if($result->numRows() > 0) {
+	while($addon = $result->fetchRow()) {
+		$template->set_var('FILE', $addon['directory']);
+		$template->set_var('NAME', $addon['name']);
+		if(($addon['directory'] == DEFAULT_THEME) ? $selected = ' selected="selected"' : $selected = '');
+		$template->set_var('SELECTED', $selected);
+		$template->parse('theme_list', 'theme_list_block', true);
+	}
+}
+
+// Insert WYSIWYG modules
+$template->set_block('main_block', 'editor_list_block', 'editor_list');
+$file='none';
+$module_name=$TEXT['NONE'];  
+$template->set_var('FILE', $file);  
+$template->set_var('NAME', $module_name);  
+if((!defined('WYSIWYG_EDITOR') OR $file == WYSIWYG_EDITOR) ? $selected = ' selected="selected"' : $selected = '');
+$template->set_var('SELECTED', $selected);
+$template->parse('editor_list', 'editor_list_block', true);  
+$result = $database->query("SELECT * FROM ".TABLE_PREFIX."addons WHERE type = 'module' AND function = 'wysiwyg'");
+if($result->numRows() > 0)
+{
+	while($addon = $result->fetchRow())
+    {
+		$template->set_var('FILE', $addon['directory']);
+		$template->set_var('NAME', $addon['name']);
+		if((defined('WYSIWYG_EDITOR') AND $addon['directory'] == WYSIWYG_EDITOR) ? $selected = ' selected="selected"' : $selected = '');
+		$template->set_var('SELECTED', $selected);
+		$template->parse('editor_list', 'editor_list_block', true);
+	}
+}
+
+// Insert templates for search settings
+$template->set_block('main_block', 'search_template_list_block', 'search_template_list');
+
+$search_template = ( ($search_template == DEFAULT_TEMPLATE) OR ($search_template == '') ) ? '' : $search_template;
+
+$selected = ( ($search_template != DEFAULT_TEMPLATE) ) ?  ' selected="selected"' : $selected = '';
+
+$template->set_var(array(
+        'FILE' => '',
+        'NAME' => $TEXT['SYSTEM_DEFAULT'],
+        'SELECTED' => $selected
+    ));
+
+$template->parse('search_template_list', 'search_template_list_block', true);
+$result = $database->query("SELECT * FROM ".TABLE_PREFIX."addons WHERE type = 'template' AND function = 'template' order by name");
+
+if($result->numRows() > 0)
+{
+	while($addon = $result->fetchRow())
+    {
+		$template->set_var('FILE', $addon['directory']);
+		$template->set_var('NAME', $addon['name']);
+        $selected = ($addon['directory'] == $search_template) ? ' selected="selected"' :  $selected = '';
+		$template->set_var('SELECTED', $selected);
+
+		$template->parse('search_template_list', 'search_template_list_block', true);
+	}
+}
+
+// Insert default error reporting values
+require(ADMIN_PATH.'/interface/er_levels.php');
+$template->set_block('main_block', 'error_reporting_list_block', 'error_reporting_list');
+foreach($ER_LEVELS AS $value => $title)
+{
+	$template->set_var('VALUE', $value);
+	$template->set_var('NAME', $title);
+    $selected = (ER_LEVEL == $value) ? ' selected="selected"' : '';
+    $template->set_var('SELECTED', $selected);
+
+	$template->parse('error_reporting_list', 'error_reporting_list_block', true);
+}
+
+// Insert permissions values
+if($admin->get_permission('settings_advanced') != true)
+{
+	$template->set_var('DISPLAY_ADVANCED_BUTTON', 'hide');
+}
+
+// Insert page level limits
+$template->set_block('main_block', 'page_level_limit_list_block', 'page_level_limit_list');
+for($i = 1; $i <= 10; $i++)
+{
+	$template->set_var('NUMBER', $i);
+	if(PAGE_LEVEL_LIMIT == $i)
+    {
+		$template->set_var('SELECTED', ' selected="selected"');
+	} else {
+		$template->set_var('SELECTED', '');
+	}
+	$template->parse('page_level_limit_list', 'page_level_limit_list_block', true);
+}
+
+// Work-out if multiple menus feature is enabled
+if(defined('MULTIPLE_MENUS') AND MULTIPLE_MENUS == true)
+{
+	$template->set_var('MULTIPLE_MENUS_ENABLED', ' checked="checked"');
+} else {
+	$template->set_var('MULTIPLE_MENUS_DISABLED', ' checked="checked"');
+}
+
+// Work-out if page languages feature is enabled
+if(defined('PAGE_LANGUAGES') AND PAGE_LANGUAGES == true)
+{
+        $template->set_var('PAGE_LANGUAGES_ENABLED', ' checked="checked"');
+} else {
+        $template->set_var('PAGE_LANGUAGES_DISABLED', ' checked="checked"');
+}
+
+// Work-out if smart login feature is enabled
+if(defined('SMART_LOGIN') AND SMART_LOGIN == true)
+{
+	$template->set_var('SMART_LOGIN_ENABLED', ' checked="checked"');
+} else {
+	$template->set_var('SMART_LOGIN_DISABLED', ' checked="checked"');
+}
+
+/* Make's sure GD library is installed */
+if(extension_loaded('gd') AND function_exists('imageCreateFromJpeg'))
+{
+	$template->set_var('GD_EXTENSION_ENABLED', '');
+} else {
+	$template->set_var('GD_EXTENSION_ENABLED', ' style="display: none;"');
+}
+
+// Work-out if section blocks feature is enabled
+if(defined('SECTION_BLOCKS') AND SECTION_BLOCKS == true)
+{
+	$template->set_var('SECTION_BLOCKS_ENABLED', ' checked="checked"');
+} else {
+	$template->set_var('SECTION_BLOCKS_DISABLED', ' checked="checked"');
+}
+
+// Work-out if homepage redirection feature is enabled
+if(defined('HOMEPAGE_REDIRECTION') AND HOMEPAGE_REDIRECTION == true)
+{
+	$template->set_var('HOMEPAGE_REDIRECTION_ENABLED', ' checked="checked"');
+} else {
+	$template->set_var('HOMEPAGE_REDIRECTION_DISABLED', ' checked="checked"');
+}
+
+// Work-out which server os should be checked
+if(OPERATING_SYSTEM == 'linux')
+{
+	$template->set_var('LINUX_SELECTED', ' checked="checked"');
+} elseif(OPERATING_SYSTEM == 'windows') {
+	$template->set_var('WINDOWS_SELECTED', ' checked="checked"');
+}
+
+// Work-out if manage sections feature is enabled
+if(MANAGE_SECTIONS)
+{
+	$template->set_var('MANAGE_SECTIONS_ENABLED', ' checked="checked"');
+} else {
+	$template->set_var('MANAGE_SECTIONS_DISABLED', ' checked="checked"');
+}
+
+// Work-out which wbmailer routine should be checked
+if(WBMAILER_ROUTINE == 'phpmail')
+{
+	$template->set_var('PHPMAIL_SELECTED', ' checked="checked"');
+	$template->set_var('SMTP_VISIBILITY', ' style="display: none;"');
+	$template->set_var('SMTP_VISIBILITY_AUTH', ' style="display: none;"');
+} elseif(WBMAILER_ROUTINE == 'smtp')
+{
+	$template->set_var('SMTPMAIL_SELECTED', ' checked="checked"');
+	$template->set_var('SMTP_VISIBILITY', '');
+}
+
+// Work-out if SMTP authentification should be checked
+if(WBMAILER_SMTP_AUTH)
+{
+	$template->set_var('SMTP_AUTH_SELECTED', ' checked="checked"');
+	if(WBMAILER_ROUTINE == 'smtp')
+    {
+		$template->set_var('SMTP_VISIBILITY_AUTH', '');
+	} else {
+		$template->set_var('SMTP_VISIBILITY_AUTH', ' style="display: none;"');
+	}
+} else {
+	$template->set_var('SMTP_VISIBILITY_AUTH', ' style="display: none;"');
+}
+
+// Work-out if intro feature is enabled
+if(INTRO_PAGE)
+{
+	$template->set_var('INTRO_PAGE_ENABLED', ' checked="checked"');
+} else {
+	$template->set_var('INTRO_PAGE_DISABLED', ' checked="checked"');
+}
+
+// Work-out if frontend login feature is enabled
+if(FRONTEND_LOGIN)
+{
+	$template->set_var('PRIVATE_ENABLED', ' checked="checked"');
+} else {
+	$template->set_var('PRIVATE_DISABLED', ' checked="checked"');
+}
+
+// Work-out if page trash feature is disabled, in-line, or separate
+if(PAGE_TRASH == 'disabled')
+{
+	$template->set_var('PAGE_TRASH_DISABLED', ' checked="checked"');
+	$template->set_var('DISPLAY_PAGE_TRASH_SEPARATE', 'display: none;');
+} elseif(PAGE_TRASH == 'inline')
+{
+	$template->set_var('PAGE_TRASH_INLINE', ' checked="checked"');
+	$template->set_var('DISPLAY_PAGE_TRASH_SEPARATE', 'display: none;');
+} elseif(PAGE_TRASH == 'separate')
+{
+	$template->set_var('PAGE_TRASH_SEPARATE', ' checked="checked"');
+	$template->set_var('DISPLAY_PAGE_TRASH_SEPARATE', 'display: inline;');
+}
+
+// Work-out if media home folde feature is enabled
+if(HOME_FOLDERS)
+{
+	$template->set_var('HOME_FOLDERS_ENABLED', ' checked="checked"');
+} else {
+	$template->set_var('HOME_FOLDERS_DISABLED', ' checked="checked"');
+}
+
+// Insert search select
+if(SEARCH == 'private')
+{
+	$template->set_var('PRIVATE_SEARCH', ' selected="selected"');
+} elseif(SEARCH == 'registered') {
+	$template->set_var('REGISTERED_SEARCH', ' selected="selected"');
+} elseif(SEARCH == 'none') {
+	$template->set_var('NONE_SEARCH', ' selected="selected"');
+}
+
+// Work-out if 777 permissions are set
+if(STRING_FILE_MODE == '0777' AND STRING_DIR_MODE == '0777')
+{
+	$template->set_var('WORLD_WRITEABLE_SELECTED', ' checked="checked"');
+}
+
+// Work-out which file mode boxes are checked
+if(extract_permission(STRING_FILE_MODE, 'u', 'r'))
+{
+	$template->set_var('FILE_U_R_CHECKED', ' checked="checked"');
+}
+if(extract_permission(STRING_FILE_MODE, 'u', 'w'))
+{
+	$template->set_var('FILE_U_W_CHECKED', ' checked="checked"');
+}
+if(extract_permission(STRING_FILE_MODE, 'u', 'e'))
+{
+	$template->set_var('FILE_U_E_CHECKED', ' checked="checked"');
+}
+if(extract_permission(STRING_FILE_MODE, 'g', 'r'))
+{
+	$template->set_var('FILE_G_R_CHECKED', ' checked="checked"');
+}
+if(extract_permission(STRING_FILE_MODE, 'g', 'w'))
+{
+	$template->set_var('FILE_G_W_CHECKED', ' checked="checked"');
+}
+if(extract_permission(STRING_FILE_MODE, 'g', 'e'))
+{
+	$template->set_var('FILE_G_E_CHECKED', ' checked="checked"');
+}
+if(extract_permission(STRING_FILE_MODE, 'o', 'r'))
+{
+	$template->set_var('FILE_O_R_CHECKED', ' checked="checked"');
+}
+if(extract_permission(STRING_FILE_MODE, 'o', 'w'))
+{
+	$template->set_var('FILE_O_W_CHECKED', ' checked="checked"');
+}
+if(extract_permission(STRING_FILE_MODE, 'o', 'e'))
+{
+	$template->set_var('FILE_O_E_CHECKED', ' checked="checked"');
+}
+// Work-out which dir mode boxes are checked
+if(extract_permission(STRING_DIR_MODE, 'u', 'r'))
+{
+	$template->set_var('DIR_U_R_CHECKED', ' checked="checked"');
+}
+if(extract_permission(STRING_DIR_MODE, 'u', 'w'))
+{
+	$template->set_var('DIR_U_W_CHECKED', ' checked="checked"');
+}
+if(extract_permission(STRING_DIR_MODE, 'u', 'e'))
+{
+	$template->set_var('DIR_U_E_CHECKED', ' checked="checked"');
+}
+if(extract_permission(STRING_DIR_MODE, 'g', 'r'))
+{
+	$template->set_var('DIR_G_R_CHECKED', ' checked="checked"');
+}
+if(extract_permission(STRING_DIR_MODE, 'g', 'w'))
+{
+	$template->set_var('DIR_G_W_CHECKED', ' checked="checked"');
+}
+if(extract_permission(STRING_DIR_MODE, 'g', 'e'))
+{
+	$template->set_var('DIR_G_E_CHECKED', ' checked="checked"');
+}
+if(extract_permission(STRING_DIR_MODE, 'o', 'r'))
+{
+	$template->set_var('DIR_O_R_CHECKED', ' checked="checked"');
+}
+if(extract_permission(STRING_DIR_MODE, 'o', 'w'))
+{
+	$template->set_var('DIR_O_W_CHECKED', ' checked="checked"');
+}
+if(extract_permission(STRING_DIR_MODE, 'o', 'e'))
+{
+	$template->set_var('DIR_O_E_CHECKED', ' checked="checked"');
+}
+
+// Insert Server Email value into template
+$template->set_var('SERVER_EMAIL', SERVER_EMAIL);
+
+// Insert groups into signup list
+$template->set_block('main_block', 'group_list_block', 'group_list');
+$results = $database->query("SELECT group_id, name FROM ".TABLE_PREFIX."groups WHERE group_id != '1'");
+if($results->numRows() > 0)
+{
+	while($group = $results->fetchRow())
+    {
+		$template->set_var('ID', $group['group_id']);
+		$template->set_var('NAME', $group['name']);
+		if(FRONTEND_SIGNUP == $group['group_id'])
+        {
+			$template->set_var('SELECTED', ' selected="selected"');
+		} else {
+			$template->set_var('SELECTED', '');
+		}
+		$template->parse('group_list', 'group_list_block', true);
+	}
+} else {
+	$template->set_var('ID', 'disabled');
+	$template->set_var('NAME', $MESSAGE['GROUPS']['NO_GROUPS_FOUND']);
+	$template->parse('group_list', 'group_list_block', true);
+}
+
+// Insert language headings
+$template->set_var(array(
+								'HEADING_GENERAL_SETTINGS' => $HEADING['GENERAL_SETTINGS'],
+								'HEADING_DEFAULT_SETTINGS' => $HEADING['DEFAULT_SETTINGS'],
+								'HEADING_SEARCH_SETTINGS' => $HEADING['SEARCH_SETTINGS'],
+								'HEADING_SERVER_SETTINGS' => $HEADING['SERVER_SETTINGS'],
+								'HEADING_WBMAILER_SETTINGS' => $HEADING['WBMAILER_SETTINGS'],
+								'HEADING_ADMINISTRATION_TOOLS' => $HEADING['ADMINISTRATION_TOOLS']
+								)
+						);
+// Insert language text and messages
+$template->set_var(array(
+								'TEXT_WEBSITE_TITLE' => $TEXT['WEBSITE_TITLE'],
+								'TEXT_WEBSITE_DESCRIPTION' => $TEXT['WEBSITE_DESCRIPTION'],
+								'TEXT_WEBSITE_KEYWORDS' => $TEXT['WEBSITE_KEYWORDS'],
+								'TEXT_WEBSITE_HEADER' => $TEXT['WEBSITE_HEADER'],
+								'TEXT_WEBSITE_FOOTER' => $TEXT['WEBSITE_FOOTER'],
+								'TEXT_HEADER' => $TEXT['HEADER'],
+								'TEXT_FOOTER' => $TEXT['FOOTER'],
+								'TEXT_VISIBILITY' => $TEXT['VISIBILITY'],
+								'TEXT_RESULTS_HEADER' => $TEXT['RESULTS_HEADER'],
+								'TEXT_RESULTS_LOOP' => $TEXT['RESULTS_LOOP'],
+								'TEXT_RESULTS_FOOTER' => $TEXT['RESULTS_FOOTER'],
+								'TEXT_NO_RESULTS' => $TEXT['NO_RESULTS'],
+								'TEXT_TEXT' => $TEXT['TEXT'],
+								'TEXT_DEFAULT' => $TEXT['DEFAULT'],
+								'TEXT_LANGUAGE' => $TEXT['LANGUAGE'],
+								'TEXT_TIMEZONE' => $TEXT['TIMEZONE'],
+								'TEXT_CHARSET' => $TEXT['CHARSET'],
+								'TEXT_DATE_FORMAT' => $TEXT['DATE_FORMAT'],
+								'TEXT_TIME_FORMAT' => $TEXT['TIME_FORMAT'],
+								'TEXT_TEMPLATE' => $TEXT['TEMPLATE'],
+								'TEXT_THEME' => $TEXT['THEME'],
+								'TEXT_WYSIWYG_EDITOR' => $TEXT['WYSIWYG_EDITOR'],
+								'TEXT_PAGE_LEVEL_LIMIT' => $TEXT['PAGE_LEVEL_LIMIT'],
+								'TEXT_INTRO_PAGE' => $TEXT['INTRO_PAGE'],
+								'TEXT_FRONTEND' => $TEXT['FRONTEND'],
+								'TEXT_LOGIN' => $TEXT['LOGIN'],
+								'TEXT_REDIRECT_AFTER' => $TEXT['REDIRECT_AFTER'],
+								'TEXT_SIGNUP' => $TEXT['SIGNUP'],
+								'TEXT_PHP_ERROR_LEVEL' => $TEXT['PHP_ERROR_LEVEL'],
+								'TEXT_PAGES_DIRECTORY' => $TEXT['PAGES_DIRECTORY'],
+								'TEXT_MEDIA_DIRECTORY' => $TEXT['MEDIA_DIRECTORY'],
+								'TEXT_PAGE_EXTENSION' => $TEXT['PAGE_EXTENSION'],
+								'TEXT_PAGE_SPACER' => $TEXT['PAGE_SPACER'],
+								'TEXT_RENAME_FILES_ON_UPLOAD' => $TEXT['RENAME_FILES_ON_UPLOAD'],
+								'TEXT_APP_NAME' => $TEXT['APP_NAME'],
+								'TEXT_SESSION_IDENTIFIER' => $TEXT['SESSION_IDENTIFIER'],
+								'TEXT_SEC_ANCHOR' => $TEXT['SEC_ANCHOR'],
+								'TEXT_SERVER_OPERATING_SYSTEM' => $TEXT['SERVER_OPERATING_SYSTEM'],
+								'TEXT_LINUX_UNIX_BASED' => $TEXT['LINUX_UNIX_BASED'],
+								'TEXT_WINDOWS' => $TEXT['WINDOWS'],
+								'TEXT_ADMIN' => $TEXT['ADMIN'],
+								'TEXT_TYPE' => $TEXT['TYPE'],
+								'TEXT_DATABASE' => $TEXT['DATABASE'],
+								'TEXT_HOST' => $TEXT['HOST'],
+								'TEXT_USERNAME' => $TEXT['USERNAME'],
+								'TEXT_PASSWORD' => $TEXT['PASSWORD'],
+								'TEXT_NAME' => $TEXT['NAME'],
+								'TEXT_TABLE_PREFIX' => $TEXT['TABLE_PREFIX'],
+								'TEXT_SAVE' => $TEXT['SAVE'],
+								'TEXT_RESET' => $TEXT['RESET'],
+								'TEXT_CHANGES' => $TEXT['CHANGES'],
+								'TEXT_ENABLED' => $TEXT['ENABLED'],
+								'TEXT_DISABLED' => $TEXT['DISABLED'],
+								'TEXT_MANAGE_SECTIONS' => $HEADING['MANAGE_SECTIONS'],
+								'TEXT_MANAGE' => $TEXT['MANAGE'],
+								'TEXT_SEARCH' => $TEXT['SEARCH'],
+								'TEXT_PUBLIC' => $TEXT['PUBLIC'],
+								'TEXT_PRIVATE' => $TEXT['PRIVATE'],
+								'TEXT_REGISTERED' => $TEXT['REGISTERED'],
+								'TEXT_NONE' => $TEXT['NONE'],
+								'TEXT_FILES' => strtoupper(substr($TEXT['FILES'], 0, 1)).substr($TEXT['FILES'], 1),
+								'TEXT_DIRECTORIES' => $TEXT['DIRECTORIES'],
+								'TEXT_FILESYSTEM_PERMISSIONS' => $TEXT['FILESYSTEM_PERMISSIONS'],
+								'TEXT_USER' => $TEXT['USER'],
+								'TEXT_GROUP' => $TEXT['GROUP'],
+								'TEXT_OTHERS' => $TEXT['OTHERS'],
+								'TEXT_READ' => $TEXT['READ'],
+								'TEXT_WRITE' => $TEXT['WRITE'],
+								'TEXT_EXECUTE' => $TEXT['EXECUTE'],
+								'TEXT_SMART_LOGIN' => $TEXT['SMART_LOGIN'],
+								'TEXT_MULTIPLE_MENUS' => $TEXT['MULTIPLE_MENUS'],
+								'TEXT_HOMEPAGE_REDIRECTION' => $TEXT['HOMEPAGE_REDIRECTION'],
+								'TEXT_SECTION_BLOCKS' => $TEXT['SECTION_BLOCKS'],
+								'TEXT_PLEASE_SELECT' => $TEXT['PLEASE_SELECT'],
+								'TEXT_PAGE_TRASH' => $TEXT['PAGE_TRASH'],
+								'TEXT_PAGE_LANGUAGES' => $TEXT['PAGE_LANGUAGES'],
+								'TEXT_INLINE' => $TEXT['INLINE'],
+								'TEXT_SEPARATE' => $TEXT['SEPARATE'],
+								'TEXT_HOME_FOLDERS' => $TEXT['HOME_FOLDERS'],
+								'TEXT_WYSIWYG_STYLE' => $TEXT['WYSIWYG_STYLE'],
+								'TEXT_WORLD_WRITEABLE_FILE_PERMISSIONS' => $TEXT['WORLD_WRITEABLE_FILE_PERMISSIONS'],
+								'TEXT_WBMAILER_DEFAULT_SETTINGS_NOTICE' => $TEXT['WBMAILER_DEFAULT_SETTINGS_NOTICE'],
+								'TEXT_WBMAILER_DEFAULT_SENDER_MAIL' => $TEXT['WBMAILER_DEFAULT_SENDER_MAIL'],
+								'TEXT_WBMAILER_DEFAULT_SENDER_NAME' => $TEXT['WBMAILER_DEFAULT_SENDER_NAME'],
+								'TEXT_WBMAILER_NOTICE' => $TEXT['WBMAILER_NOTICE'],
+								'TEXT_WBMAILER_FUNCTION' => $TEXT['WBMAILER_FUNCTION'],
+								'TEXT_WBMAILER_SMTP_HOST' => $TEXT['WBMAILER_SMTP_HOST'],
+								'TEXT_WBMAILER_PHP' => $TEXT['WBMAILER_PHP'],
+								'TEXT_WBMAILER_SMTP' => $TEXT['WBMAILER_SMTP'],
+								'TEXT_WBMAILER_SMTP_AUTH' => $TEXT['WBMAILER_SMTP_AUTH'],
+								'TEXT_WBMAILER_SMTP_AUTH_NOTICE' => $TEXT['WBMAILER_SMTP_AUTH_NOTICE'],
+								'TEXT_WBMAILER_SMTP_USERNAME' => $TEXT['WBMAILER_SMTP_USERNAME'],
+								'TEXT_WBMAILER_SMTP_PASSWORD' => $TEXT['WBMAILER_SMTP_PASSWORD'],
+								'MODE_SWITCH_WARNING' => $MESSAGE['SETTINGS']['MODE_SWITCH_WARNING'],
+								'WORLD_WRITEABLE_WARNING' => $MESSAGE['SETTINGS']['WORLD_WRITEABLE_WARNING'],
+								'TEXT_MODULE_ORDER' => $TEXT['MODULE_ORDER'],
+								'TEXT_MAX_EXCERPT' => $TEXT['MAX_EXCERPT'],
+								'TEXT_TIME_LIMIT' => $TEXT['TIME_LIMIT']
+								)
+						);
+
+// Parse template objects output
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
+
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/settings/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/admin/settings/setting.js
===================================================================
--- tags/2.8.2/wb/admin/settings/setting.js	(nonexistent)
+++ tags/2.8.2/wb/admin/settings/setting.js	(revision 1481)
@@ -0,0 +1,44 @@
+function change_os(type) {
+	if(type == 'linux') {
+		document.getElementById('file_perms_box1').style.display = 'block';
+		document.getElementById('file_perms_box2').style.display = 'block';
+		document.getElementById('file_perms_box3').style.display = 'block';
+	} else if(type == 'windows') {
+		document.getElementById('file_perms_box1').style.display = 'none';
+		document.getElementById('file_perms_box2').style.display = 'none';
+		document.getElementById('file_perms_box3').style.display = 'none';
+	}
+}
+
+function change_wbmailer(type) {
+	if(type == 'smtp') {
+		document.getElementById('row_wbmailer_smtp_settings').style.display = '';
+		document.getElementById('row_wbmailer_smtp_host').style.display = '';
+		document.getElementById('row_wbmailer_smtp_auth_mode').style.display = '';
+		document.getElementById('row_wbmailer_smtp_username').style.display = '';
+		document.getElementById('row_wbmailer_smtp_password').style.display = '';
+		if( document.settings.wbmailer_smtp_auth.checked == true ) {
+			document.getElementById('row_wbmailer_smtp_username').style.display = '';
+			document.getElementById('row_wbmailer_smtp_password').style.display = '';
+		} else {
+			document.getElementById('row_wbmailer_smtp_username').style.display = 'none';
+			document.getElementById('row_wbmailer_smtp_password').style.display = 'none';
+		}
+	} else if(type == 'phpmail') {
+		document.getElementById('row_wbmailer_smtp_settings').style.display = 'none';
+		document.getElementById('row_wbmailer_smtp_host').style.display = 'none';
+		document.getElementById('row_wbmailer_smtp_auth_mode').style.display = 'none';
+		document.getElementById('row_wbmailer_smtp_username').style.display = 'none';
+		document.getElementById('row_wbmailer_smtp_password').style.display = 'none';
+	}
+}
+
+function toggle_wbmailer_auth() {
+	if( document.settings.wbmailer_smtp_auth.checked == true ) {
+		document.getElementById('row_wbmailer_smtp_username').style.display = '';
+		document.getElementById('row_wbmailer_smtp_password').style.display = '';
+	} else {
+		document.getElementById('row_wbmailer_smtp_username').style.display = 'none';
+		document.getElementById('row_wbmailer_smtp_password').style.display = 'none';
+	}
+}
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/settings/setting.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/admin/users/users.php
===================================================================
--- tags/2.8.2/wb/admin/users/users.php	(nonexistent)
+++ tags/2.8.2/wb/admin/users/users.php	(revision 1481)
@@ -0,0 +1,191 @@
+<?php
+/**
+ *
+ * @category        admin
+ * @package         users
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+*/
+
+ // Include config file and admin class file
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+
+// Create new database object
+$database = new database();
+
+if(!isset($_POST['action']) OR ($_POST['action'] != "modify" AND $_POST['action'] != "delete")) {
+	header("Location: index.php");
+	exit(0);
+}
+
+// Set parameter 'action' as alternative to javascript mechanism
+if(isset($_POST['modify']))
+	$_POST['action'] = "modify";
+if(isset($_POST['delete']))
+	$_POST['action'] = "delete";
+
+// Check if user id is a valid number and doesnt equal 1
+if(!isset($_POST['user_id']) OR !is_numeric($_POST['user_id']) OR $_POST['user_id'] == 1) {
+	header("Location: index.php");
+	exit(0);
+}
+
+if($_POST['action'] == 'modify') {
+	// Print header
+	$admin = new admin('Access', 'users_modify');
+	// Get existing values
+	$results = $database->query("SELECT * FROM ".TABLE_PREFIX."users WHERE user_id = '".$_POST['user_id']."'");
+	$user = $results->fetchRow();
+	
+	// Setup template object
+	$template = new Template(THEME_PATH.'/templates');
+	$template->set_file('page', 'users_form.htt');
+	$template->set_block('page', 'main_block', 'main');
+	$template->set_var(	array(
+										'ACTION_URL' => ADMIN_URL.'/users/save.php',
+										'SUBMIT_TITLE' => $TEXT['SAVE'],
+										'USER_ID' => $user['user_id'],
+										'USERNAME' => $user['username'],
+										'DISPLAY_NAME' => $user['display_name'],
+										'EMAIL' => $user['email'],
+										'ADMIN_URL' => ADMIN_URL,
+										'WB_URL' => WB_URL,
+										'WB_PATH' => WB_PATH,
+										'THEME_URL' => THEME_URL
+										)
+								);
+	if($user['active'] == 1) {
+		$template->set_var('ACTIVE_CHECKED', ' checked="checked"');
+	} else {
+		$template->set_var('DISABLED_CHECKED', ' checked="checked"');
+	}
+	// Add groups to list
+	$template->set_block('main_block', 'group_list_block', 'group_list');
+	$results = $database->query("SELECT group_id, name FROM ".TABLE_PREFIX."groups WHERE group_id != '1'");
+	if($results->numRows() > 0) {
+		$template->set_var('ID', '');
+		$template->set_var('NAME', $TEXT['PLEASE_SELECT'].'...');
+		$template->set_var('SELECTED', '');
+		$template->parse('group_list', 'group_list_block', true);
+		while($group = $results->fetchRow()) {
+			$template->set_var('ID', $group['group_id']);
+			$template->set_var('NAME', $group['name']);
+			if(in_array($group['group_id'], explode(",",$user['groups_id']))) {
+				$template->set_var('SELECTED', ' selected="selected"');
+			} else {
+				$template->set_var('SELECTED', '');
+			}
+			$template->parse('group_list', 'group_list_block', true);
+		}
+	}
+	// Only allow the user to add a user to the Administrators group if they belong to it
+	if(in_array(1, $admin->get_groups_id())) {
+		$template->set_var('ID', '1');
+		$users_groups = $admin->get_groups_name();
+		$template->set_var('NAME', $users_groups[1]);
+		
+		$in_group = FALSE;
+		foreach($admin->get_groups_id() as $cur_gid){
+		    if (in_array($cur_gid, explode(",", $user['groups_id']))) {
+		        $in_group = TRUE;
+		    }
+		}
+
+		if($in_group) {
+			$template->set_var('SELECTED', ' selected="selected"');
+		} else {
+			$template->set_var('SELECTED', '');
+		}
+		$template->parse('group_list', 'group_list_block', true);
+	} else {
+		if($results->numRows() == 0) {
+			$template->set_var('ID', '');
+			$template->set_var('NAME', $TEXT['NONE_FOUND']);
+			$template->set_var('SELECTED', ' selected="selected"');
+			$template->parse('group_list', 'group_list_block', true);
+		}
+	}
+	
+	// Generate username field name
+	$username_fieldname = 'username_';
+	$salt = "abchefghjkmnpqrstuvwxyz0123456789";
+	srand((double)microtime()*1000000);
+	$i = 0;
+	while ($i <= 7) {
+		$num = rand() % 33;
+		$tmp = substr($salt, $num, 1);
+		$username_fieldname = $username_fieldname . $tmp;
+		$i++;
+	}
+	
+	// Work-out if home folder should be shown
+	if(!HOME_FOLDERS) {
+		$template->set_var('DISPLAY_HOME_FOLDERS', 'display:none;');
+	}
+	
+	// Include the WB functions file
+	require_once(WB_PATH.'/framework/functions.php');
+	
+	// Add media folders to home folder list
+	$template->set_block('main_block', 'folder_list_block', 'folder_list');
+	foreach(directory_list(WB_PATH.MEDIA_DIRECTORY) AS $name)
+    {
+		$template->set_var('NAME', str_replace(WB_PATH, '', $name));
+		$template->set_var('FOLDER', str_replace(WB_PATH.MEDIA_DIRECTORY, '', $name));
+		if($user['home_folder'] == str_replace(WB_PATH.MEDIA_DIRECTORY, '', $name)) {
+			$template->set_var('SELECTED', ' selected="selected"');
+		} else {
+			$template->set_var('SELECTED', ' ');
+		}
+		$template->parse('folder_list', 'folder_list_block', true);
+	}
+	
+	// Insert language text and messages
+	$template->set_var(array(
+									'TEXT_RESET' => $TEXT['RESET'],
+									'TEXT_ACTIVE' => $TEXT['ACTIVE'],
+									'TEXT_DISABLED' => $TEXT['DISABLED'],
+									'TEXT_PLEASE_SELECT' => $TEXT['PLEASE_SELECT'],
+									'TEXT_USERNAME' => $TEXT['USERNAME'],
+									'TEXT_PASSWORD' => $TEXT['PASSWORD'],
+									'TEXT_RETYPE_PASSWORD' => $TEXT['RETYPE_PASSWORD'],
+									'TEXT_DISPLAY_NAME' => $TEXT['DISPLAY_NAME'],
+									'TEXT_EMAIL' => $TEXT['EMAIL'],
+									'TEXT_GROUP' => $TEXT['GROUP'],
+									'TEXT_NONE' => $TEXT['NONE'],
+									'TEXT_HOME_FOLDER' => $TEXT['HOME_FOLDER'],
+									'USERNAME_FIELDNAME' => $username_fieldname,
+									'CHANGING_PASSWORD' => $MESSAGE['USERS']['CHANGING_PASSWORD'],
+									'HEADING_MODIFY_USER' => $HEADING['MODIFY_USER']
+									)
+							);
+	
+	// Parse template object
+	$template->parse('main', 'main_block', false);
+	$template->pparse('output', 'page');
+} elseif($_POST['action'] == 'delete') {
+	// Print header
+	$admin = new admin('Access', 'users_delete');
+	// Delete the user
+	$database->query("DELETE FROM ".TABLE_PREFIX."users WHERE user_id = '".$_POST['user_id']."' LIMIT 1");
+	if($database->is_error()) {
+		$admin->print_error($database->get_error());
+	} else {
+		$admin->print_success($MESSAGE['USERS']['DELETED']);
+	}
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/users/users.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/admin/users/index.php
===================================================================
--- tags/2.8.2/wb/admin/users/index.php	(nonexistent)
+++ tags/2.8.2/wb/admin/users/index.php	(revision 1481)
@@ -0,0 +1,202 @@
+<?php
+/**
+ *
+ * @category        admin
+ * @package         users
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+*/
+
+
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Access', 'users');
+
+// Create new template object for the modify/remove menu
+$template = new Template(THEME_PATH.'/templates');
+$template->set_file('page', 'users.htt');
+$template->set_block('page', 'main_block', 'main');
+$template->set_block("main_block", "manage_groups_block", "groups");
+$template->set_var('ADMIN_URL', ADMIN_URL);
+
+// Get existing value from database
+$database = new database();
+$query = "SELECT user_id, username, display_name FROM ".TABLE_PREFIX."users WHERE user_id != '1' ORDER BY username";
+$results = $database->query($query);
+if($database->is_error()) {
+	$admin->print_error($database->get_error(), 'index.php');
+}
+
+// Insert values into the modify/remove menu
+$template->set_block('main_block', 'list_block', 'list');
+if($results->numRows() > 0) {
+	// Insert first value to say please select
+	$template->set_var('VALUE', '');
+	$template->set_var('NAME', $TEXT['PLEASE_SELECT'].'...');
+	$template->parse('list', 'list_block', true);
+	// Loop through users
+	while($user = $results->fetchRow()) {
+		$template->set_var('VALUE', $user['user_id']);
+		$template->set_var('NAME', $user['display_name'].' ('.$user['username'].')');
+		$template->parse('list', 'list_block', true);
+	}
+} else {
+	// Insert single value to say no users were found
+	$template->set_var('NAME', $TEXT['NONE_FOUND']);
+	$template->parse('list', 'list_block', true);
+}
+
+// Insert permissions values
+if($admin->get_permission('users_add') != true) {
+	$template->set_var('DISPLAY_ADD', 'hide');
+}
+if($admin->get_permission('users_modify') != true) {
+	$template->set_var('DISPLAY_MODIFY', 'hide');
+}
+if($admin->get_permission('users_delete') != true) {
+	$template->set_var('DISPLAY_DELETE', 'hide');
+}
+
+// Insert language headings
+$template->set_var(array(
+		'HEADING_MODIFY_DELETE_USER' => $HEADING['MODIFY_DELETE_USER'],
+		'HEADING_ADD_USER' => $HEADING['ADD_USER']
+		)
+);
+// insert urls
+$template->set_var(array(
+		'ADMIN_URL' => ADMIN_URL,
+		'WB_URL' => WB_URL,
+		'WB_PATH' => WB_PATH,
+		'THEME_URL' => THEME_URL
+		)
+);
+// Insert language text and messages
+$template->set_var(array(
+		'TEXT_MODIFY' => $TEXT['MODIFY'],
+		'TEXT_DELETE' => $TEXT['DELETE'],
+		'TEXT_MANAGE_GROUPS' => ( $admin->get_permission('groups') == true ) ? $TEXT['MANAGE_GROUPS'] : "**",
+		'CONFIRM_DELETE' => $MESSAGE['USERS']['CONFIRM_DELETE']
+		)
+);
+if ( $admin->get_permission('groups') == true ) $template->parse("groups", "manage_groups_block", true);
+// Parse template object
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
+
+// Setup template for add user form
+$template = new Template(THEME_PATH.'/templates');
+$template->set_file('page', 'users_form.htt');
+$template->set_block('page', 'main_block', 'main');
+$template->set_var('DISPLAY_EXTRA', 'display:none;');
+$template->set_var('ACTIVE_CHECKED', ' checked="checked"');
+$template->set_var('ACTION_URL', ADMIN_URL.'/users/add.php');
+$template->set_var('SUBMIT_TITLE', $TEXT['ADD']);
+// insert urls
+$template->set_var(array(
+		'ADMIN_URL' => ADMIN_URL,
+		'WB_URL' => WB_URL,
+		'WB_PATH' => WB_PATH,
+		'THEME_URL' => THEME_URL
+		)
+);
+
+// Add groups to list
+$template->set_block('main_block', 'group_list_block', 'group_list');
+$results = $database->query("SELECT group_id, name FROM ".TABLE_PREFIX."groups WHERE group_id != '1'");
+if($results->numRows() > 0) {
+	$template->set_var('ID', '');
+	$template->set_var('NAME', $TEXT['PLEASE_SELECT'].'...');
+	$template->set_var('SELECTED', ' selected="selected"');
+	$template->parse('group_list', 'group_list_block', true);
+	while($group = $results->fetchRow()) {
+		$template->set_var('ID', $group['group_id']);
+		$template->set_var('NAME', $group['name']);
+		$template->set_var('SELECTED', '');
+		$template->parse('group_list', 'group_list_block', true);
+	}
+}
+// Only allow the user to add a user to the Administrators group if they belong to it
+if(in_array(1, $admin->get_groups_id())) {
+	$users_groups = $admin->get_groups_name();
+	$template->set_var('ID', '1');
+	$template->set_var('NAME', $users_groups[1]);
+	$template->set_var('SELECTED', '');
+	$template->parse('group_list', 'group_list_block', true);
+} else {
+	if($results->numRows() == 0) {
+		$template->set_var('ID', '');
+		$template->set_var('NAME', $TEXT['NONE_FOUND']);
+		$template->parse('group_list', 'group_list_block', true);
+	}
+}
+
+// Insert permissions values
+if($admin->get_permission('users_add') != true) {
+	$template->set_var('DISPLAY_ADD', 'hide');
+}
+
+// Generate username field name
+$username_fieldname = 'username_';
+$salt = "abchefghjkmnpqrstuvwxyz0123456789";
+srand((double)microtime()*1000000);
+$i = 0;
+while ($i <= 7) {
+	$num = rand() % 33;
+	$tmp = substr($salt, $num, 1);
+	$username_fieldname = $username_fieldname . $tmp;
+	$i++;
+}
+
+// Work-out if home folder should be shown
+if(!HOME_FOLDERS) {
+	$template->set_var('DISPLAY_HOME_FOLDERS', 'display:none;');
+}
+
+// Include the WB functions file
+require_once(WB_PATH.'/framework/functions.php');
+
+// Add media folders to home folder list
+$template->set_block('main_block', 'folder_list_block', 'folder_list');
+foreach(directory_list(WB_PATH.MEDIA_DIRECTORY) AS $name) {
+	$template->set_var('NAME', str_replace(WB_PATH, '', $name));
+	$template->set_var('FOLDER', str_replace(WB_PATH.MEDIA_DIRECTORY, '', $name));
+	$template->set_var('SELECTED', ' ');
+	$template->parse('folder_list', 'folder_list_block', true);
+}
+
+// Insert language text and messages
+$template->set_var(array(
+			'TEXT_RESET' => $TEXT['RESET'],
+			'TEXT_ACTIVE' => $TEXT['ACTIVE'],
+			'TEXT_DISABLED' => $TEXT['DISABLED'],
+			'TEXT_PLEASE_SELECT' => $TEXT['PLEASE_SELECT'],
+			'TEXT_USERNAME' => $TEXT['USERNAME'],
+			'TEXT_PASSWORD' => $TEXT['PASSWORD'],
+			'TEXT_RETYPE_PASSWORD' => $TEXT['RETYPE_PASSWORD'],
+			'TEXT_DISPLAY_NAME' => $TEXT['DISPLAY_NAME'],
+			'TEXT_EMAIL' => $TEXT['EMAIL'],
+			'TEXT_GROUP' => $TEXT['GROUP'],
+			'TEXT_NONE' => $TEXT['NONE'],
+			'TEXT_HOME_FOLDER' => $TEXT['HOME_FOLDER'],
+			'USERNAME_FIELDNAME' => $username_fieldname,
+			'CHANGING_PASSWORD' => $MESSAGE['USERS']['CHANGING_PASSWORD']
+			)
+	);
+
+// Parse template for add user form
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
+
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/users/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/admin/users/save.php
===================================================================
--- tags/2.8.2/wb/admin/users/save.php	(nonexistent)
+++ tags/2.8.2/wb/admin/users/save.php	(revision 1481)
@@ -0,0 +1,102 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Print admin header
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Access', 'users_modify');
+
+// Create new database object
+$database = new database();
+
+// Check if user id is a valid number and doesnt equal 1
+if(!isset($_POST['user_id']) OR !is_numeric($_POST['user_id']) OR $_POST['user_id'] == 1) {
+	header("Location: index.php");
+	exit(0);
+} else {
+	$user_id = $_POST['user_id'];
+}
+
+// Gather details entered
+$groups_id = (isset($_POST['groups'])) ? implode(",", $admin->add_slashes($_POST['groups'])) : '';
+$active = $admin->add_slashes($_POST['active'][0]);
+$username_fieldname = $admin->get_post_escaped('username_fieldname');
+$username = strtolower($admin->get_post_escaped($username_fieldname));
+$password = $admin->get_post('password');
+$password2 = $admin->get_post('password2');
+$display_name = $admin->get_post_escaped('display_name');
+$email = $admin->get_post_escaped('email');
+$home_folder = $admin->get_post_escaped('home_folder');
+
+// Create a javascript back link
+$js_back = "javascript: history.go(-1);";
+
+// Check values
+if($groups_id == "") {
+	$admin->print_error($MESSAGE['USERS']['NO_GROUP'], $js_back);
+}
+if(strlen($username) < 2) {
+	$admin->print_error($MESSAGE['USERS']['USERNAME_TOO_SHORT'], $js_back);
+}
+if($password != "") {
+	if(strlen($password) < 2) {
+		$admin->print_error($MESSAGE['USERS']['PASSWORD_TOO_SHORT'], $js_back);
+	}
+	if($password != $password2) {
+		$admin->print_error($MESSAGE['USERS']['PASSWORD_MISMATCH'], $js_back);
+	}
+}
+if($email != "") {
+	if($admin->validate_email($email) == false) {
+		$admin->print_error($MESSAGE['USERS']['INVALID_EMAIL'], $js_back);
+	}
+}
+
+// Prevent from renaming user to "admin"
+if($username != 'admin') {
+	$username_code = ", username = '$username'";
+} else {
+	$username_code = '';
+}
+
+// Update the database
+if($password == "") {
+	$query = "UPDATE ".TABLE_PREFIX."users SET groups_id = '$groups_id', active = '$active'$username_code, display_name = '$display_name', home_folder = '$home_folder', email = '$email' WHERE user_id = '$user_id'";
+} else {
+	// MD5 supplied password
+	$md5_password = md5($password);
+	$query = "UPDATE ".TABLE_PREFIX."users SET groups_id = '$groups_id', active = '$active'$username_code, display_name = '$display_name', home_folder = '$home_folder', email = '$email', password = '$md5_password' WHERE user_id = '$user_id'";
+}
+$database->query($query);
+if($database->is_error()) {
+	$admin->print_error($database->get_error());
+} else {
+	$admin->print_success($MESSAGE['USERS']['SAVED']);
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/users/save.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/users/add.php
===================================================================
--- tags/2.8.2/wb/admin/users/add.php	(nonexistent)
+++ tags/2.8.2/wb/admin/users/add.php	(revision 1481)
@@ -0,0 +1,106 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Print admin header
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Access', 'users_add');
+
+// Create new database object
+$database = new database();
+
+// Get details entered
+$groups_id = implode(",", $admin->add_slashes($_POST['groups'])); //should check permissions
+$groups_id = trim($groups_id, ','); // there will be an additional ',' when "Please Choose" was selected, too
+$active = $admin->add_slashes($_POST['active'][0]);
+$username_fieldname = $admin->get_post_escaped('username_fieldname');
+$username = strtolower($admin->get_post_escaped($username_fieldname));
+$password = $admin->get_post('password');
+$password2 = $admin->get_post('password2');
+$display_name = $admin->get_post_escaped('display_name');
+$email = $admin->get_post_escaped('email');
+$home_folder = $admin->get_post_escaped('home_folder');
+$default_language = DEFAULT_LANGUAGE;
+
+// Create a javascript back link
+$js_back = 'javascript: history.go(-1);';
+
+// Check values
+if($groups_id == '') {
+	$admin->print_error($MESSAGE['USERS']['NO_GROUP'], $js_back);
+}
+if(strlen($username) < 2) {
+	$admin->print_error($MESSAGE['USERS']['USERNAME_TOO_SHORT'], $js_back);
+}
+if(strlen($password) < 2) {
+	$admin->print_error($MESSAGE['USERS']['PASSWORD_TOO_SHORT'], $js_back);
+}
+if($password != $password2) {
+	$admin->print_error($MESSAGE['USERS']['PASSWORD_MISMATCH'], $js_back);
+}
+if($email != '') {
+	if($admin->validate_email($email) == false) {
+		$admin->print_error($MESSAGE['USERS']['INVALID_EMAIL'], $js_back);
+	}
+}
+
+// choose group_id from groups_id - workaround for still remaining calls to group_id (to be cleaned-up)
+$gid_tmp = explode(',', $groups_id);
+if(in_array('1', $gid_tmp)) $group_id = '1'; // if user is in administrator-group, get this group
+else $group_id = $gid_tmp[0]; // else just get the first one
+unset($gid_tmp);
+
+// Check if username already exists
+$results = $database->query("SELECT user_id FROM ".TABLE_PREFIX."users WHERE username = '$username'");
+if($results->numRows() > 0) {
+	$admin->print_error($MESSAGE['USERS']['USERNAME_TAKEN'], $js_back);
+}
+
+// Check if the email already exists
+$results = $database->query("SELECT user_id FROM ".TABLE_PREFIX."users WHERE email = '".$admin->add_slashes($_POST['email'])."'");
+if($results->numRows() > 0) {
+	if(isset($MESSAGE['USERS']['EMAIL_TAKEN'])) {
+		$admin->print_error($MESSAGE['USERS']['EMAIL_TAKEN'], $js_back);
+	} else {
+		$admin->print_error($MESSAGE['USERS']['INVALID_EMAIL'], $js_back);
+	}
+}
+
+// MD5 supplied password
+$md5_password = md5($password);
+
+// Inser the user into the database
+$query = "INSERT INTO ".TABLE_PREFIX."users (group_id,groups_id,active,username,password,display_name,home_folder,email,timezone, language) VALUES ('$group_id', '$groups_id', '$active', '$username','$md5_password','$display_name','$home_folder','$email','-72000', '$default_language')";
+$database->query($query);
+if($database->is_error()) {
+	$admin->print_error($database->get_error());
+} else {
+	$admin->print_success($MESSAGE['USERS']['ADDED']);
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/users/add.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/access/index.php
===================================================================
--- tags/2.8.2/wb/admin/access/index.php	(nonexistent)
+++ tags/2.8.2/wb/admin/access/index.php	(revision 1481)
@@ -0,0 +1,68 @@
+<?php
+/**
+ *
+ * @category        admin
+ * @package         access
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL:  $
+ * @lastmodified    $Date:  $
+ *
+ *
+ */
+ 
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Access', 'access');
+
+// Setup template object
+$template = new Template(THEME_PATH.'/templates');
+$template->set_file('page', 'access.htt');
+
+$template->set_block('page', 'main_block', 'main');
+$template->set_block('main_block', 'users_block', 'user');
+$template->set_block('main_block', 'groups_block', 'group');
+
+// Insert values into the template object
+$template->set_var(array(
+		'ADMIN_URL' => ADMIN_URL,
+		'THEME_URL' => THEME_URL,
+		'WB_URL' => WB_URL
+	)
+);
+
+/**
+ *	Insert permission values into the template object
+ *	Deprecated - as we are using blocks.
+ */
+$display_none = "style=\"display: none;\"";
+if($admin->get_permission('users') != true)	$template->set_var('DISPLAY_USERS', $display_none);
+if($admin->get_permission('groups') != true) $template->set_var('DISPLAY_GROUPS', $display_none);
+
+// Insert section names and descriptions
+$template->set_var(array(
+		'USERS' => $MENU['USERS'],
+		'GROUPS' => $MENU['GROUPS'],
+		'ACCESS' => $MENU['ACCESS'],
+		'USERS_OVERVIEW' => $OVERVIEW['USERS'],
+		'GROUPS_OVERVIEW' => $OVERVIEW['GROUPS'],
+	)
+);
+
+if ( $admin->get_permission('users') == true )	$template->parse('main_block', "users_block", true);
+if ( $admin->get_permission('groups') == true )	$template->parse('main_block', "groups_block", true);
+
+// Parse template object
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/access/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/preferences/details.php
===================================================================
--- tags/2.8.2/wb/admin/preferences/details.php	(nonexistent)
+++ tags/2.8.2/wb/admin/preferences/details.php	(revision 1481)
@@ -0,0 +1,103 @@
+<?php
+
+/****************************************************************************
+* SVN Version information:
+*
+* $Id$
+*
+*****************************************************************************
+*
+*****************************************************************************
+*                          WebsiteBaker
+*
+* WebsiteBaker Project <http://www.websitebaker2.org/>
+* Copyright (C) 2009, Website Baker Org. e.V.
+*         http://start.websitebaker2.org/impressum-datenschutz.php
+* Copyright (C) 2004-2009, Ryan Djurovich
+*
+*                        About WebsiteBaker
+*
+* Website Baker is a PHP-based Content Management System (CMS)
+* designed with one goal in mind: to enable its users to produce websites
+* with ease.
+*
+*****************************************************************************
+*
+*****************************************************************************
+*                   WebsiteBaker Extra Information (where needed)
+*
+* @author       : Ryan Djurovich, stefan, Matthias Gallas, Manuel Lang
+* @platform     : WebsiteBaker 2.8
+*
+*****************************************************************************
+*
+*****************************************************************************
+*                        LICENSE INFORMATION
+*
+* WebsiteBaker is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* WebsiteBaker is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+* See the GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+*****************************************************************************/
+
+// Print admin header
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Preferences');
+
+// Get entered values
+$display_name = $admin->add_slashes(strip_tags($admin->get_post('display_name')));
+$language = $admin->get_post('language');
+$timezone = $admin->get_post('timezone')*60*60;
+$date_format = $admin->get_post('date_format');
+$time_format = $admin->get_post('time_format');
+
+// Update the database
+$database = new database();
+$query = "UPDATE ".TABLE_PREFIX."users SET display_name = '$display_name', language = '$language', timezone = '$timezone', date_format = '$date_format', time_format = '$time_format' WHERE user_id = '".$admin->get_user_id()."'";
+$database->query($query);
+if($database->is_error()) {
+	$admin->print_error($database->get_error());
+} else {
+	$admin->print_success($MESSAGE['PREFERENCES']['DETAILS_SAVED']);
+	$_SESSION['DISPLAY_NAME'] = $display_name;
+	$_SESSION['LANGUAGE'] = $language;
+	// Update date format
+	if($date_format != '') {
+		$_SESSION['DATE_FORMAT'] = $date_format;
+		if(isset($_SESSION['USE_DEFAULT_DATE_FORMAT'])) { unset($_SESSION['USE_DEFAULT_DATE_FORMAT']); }
+	} else {
+		$_SESSION['USE_DEFAULT_DATE_FORMAT'] = true;
+		if(isset($_SESSION['DATE_FORMAT'])) { unset($_SESSION['DATE_FORMAT']); }
+	}
+	// Update time format
+	if($time_format != '') {
+		$_SESSION['TIME_FORMAT'] = $time_format;
+		if(isset($_SESSION['USE_DEFAULT_TIME_FORMAT'])) { unset($_SESSION['USE_DEFAULT_TIME_FORMAT']); }
+	} else {
+		$_SESSION['USE_DEFAULT_TIME_FORMAT'] = true;
+		if(isset($_SESSION['TIME_FORMAT'])) { unset($_SESSION['TIME_FORMAT']); }
+	}
+	// Update timezone
+	if($timezone != '-72000') {
+		$_SESSION['TIMEZONE'] = $timezone;
+		if(isset($_SESSION['USE_DEFAULT_TIMEZONE'])) { unset($_SESSION['USE_DEFAULT_TIMEZONE']); }
+	} else {
+		$_SESSION['USE_DEFAULT_TIMEZONE'] = true;
+		if(isset($_SESSION['TIMEZONE'])) { unset($_SESSION['TIMEZONE']); }
+	}
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/preferences/details.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/preferences/index.php
===================================================================
--- tags/2.8.2/wb/admin/preferences/index.php	(nonexistent)
+++ tags/2.8.2/wb/admin/preferences/index.php	(revision 1481)
@@ -0,0 +1,197 @@
+<?php
+
+/****************************************************************************
+* SVN Version information:
+*
+* $Id$
+*
+*****************************************************************************
+*
+*****************************************************************************
+*                          WebsiteBaker
+*
+* WebsiteBaker Project <http://www.websitebaker2.org/>
+* Copyright (C) 2009, Website Baker Org. e.V.
+*         http://start.websitebaker2.org/impressum-datenschutz.php
+* Copyright (C) 2004-2009, Ryan Djurovich
+*
+*                        About WebsiteBaker
+*
+* Website Baker is a PHP-based Content Management System (CMS)
+* designed with one goal in mind: to enable its users to produce websites
+* with ease.
+*
+*****************************************************************************
+*
+*****************************************************************************
+*                   WebsiteBaker Extra Information
+*
+* @author       : Ryan Djurovich, stefan, Matthias Gallas, thorn, Manuel Lang
+* @platform     : WebsiteBaker 2.8
+*
+*****************************************************************************
+*
+*****************************************************************************
+*                        LICENSE INFORMATION
+*
+* WebsiteBaker is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* WebsiteBaker is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+* See the GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+*****************************************************************************/
+
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Preferences');
+
+require_once(WB_PATH.'/framework/functions-utf8.php');
+
+// Create new template object for the preferences form
+$template = new Template(THEME_PATH.'/templates');
+$template->set_file('page', 'preferences.htt');
+$template->set_block('page', 'main_block', 'main');
+
+// Get existing value from database
+$database = new database();
+$query = "SELECT display_name,email FROM ".TABLE_PREFIX."users WHERE user_id = '".$admin->get_user_id()."'";
+$results = $database->query($query);
+if($database->is_error()) {
+	$admin->print_error($database->get_error(), 'index.php');
+}
+$details = $results->fetchRow();
+
+// Insert values into form
+$template->set_var('DISPLAY_NAME', $details['display_name']);
+$template->set_var('EMAIL', $details['email']);
+
+// Insert language values
+$template->set_block('main_block', 'language_list_block', 'language_list');
+$result = $database->query("SELECT * FROM ".TABLE_PREFIX."addons WHERE type = 'language' order by name");
+if($result->numRows() > 0) {
+	while($addon = $result->fetchRow()) {
+		$l_codes[$addon['name']] = $addon['directory'];
+		$l_names[$addon['name']] = entities_to_7bit($addon['name']); // sorting-problem workaround
+	}
+	asort($l_names);
+	foreach($l_names as $l_name=>$v) {
+		// Insert code and name
+		$template->set_var(array(
+								'CODE' => $l_codes[$l_name],
+								'NAME' => $l_name,
+								'FLAG' => THEME_URL.'/images/flags/'.strtolower($l_codes[$l_name]),
+								));
+		// Check if it is selected
+		if(LANGUAGE == $l_codes[$l_name]) {
+			$template->set_var('SELECTED', ' selected="selected"');
+		} else {
+			$template->set_var('SELECTED', '');
+		}
+		$template->parse('language_list', 'language_list_block', true);
+	}
+}
+
+// Insert default timezone values
+require(ADMIN_PATH.'/interface/timezones.php');
+$template->set_block('main_block', 'timezone_list_block', 'timezone_list');
+foreach($TIMEZONES AS $hour_offset => $title) {
+	$template->set_var('VALUE', $hour_offset);
+	$template->set_var('NAME', $title);
+	if($admin->get_timezone() == $hour_offset*60*60) {
+		$template->set_var('SELECTED', ' selected="selected"');
+	} else {
+		$template->set_var('SELECTED', '');
+	}
+	$template->parse('timezone_list', 'timezone_list_block', true);
+}
+
+// Insert date format list
+$user_time = true;
+require(ADMIN_PATH.'/interface/date_formats.php');
+$template->set_block('main_block', 'date_format_list_block', 'date_format_list');
+foreach($DATE_FORMATS AS $format => $title) {
+	$format = str_replace('|', ' ', $format); // Add's white-spaces (not able to be stored in array key)
+	if($format != 'system_default') {
+		$template->set_var('VALUE', $format);
+	} else {
+		$template->set_var('VALUE', '');
+	}
+	$template->set_var('NAME', $title);
+	if(DATE_FORMAT == $format AND !isset($_SESSION['USE_DEFAULT_DATE_FORMAT'])) {
+		$template->set_var('SELECTED', ' selected="selected"');
+	} elseif($format == 'system_default' AND isset($_SESSION['USE_DEFAULT_DATE_FORMAT'])) {
+		$template->set_var('SELECTED', ' selected="selected"');
+	} else {
+		$template->set_var('SELECTED', '');
+	}
+	$template->parse('date_format_list', 'date_format_list_block', true);
+}
+
+// Insert time format list
+require(ADMIN_PATH.'/interface/time_formats.php');
+$template->set_block('main_block', 'time_format_list_block', 'time_format_list');
+foreach($TIME_FORMATS AS $format => $title) {
+	$format = str_replace('|', ' ', $format); // Add's white-spaces (not able to be stored in array key)
+	if($format != 'system_default') {
+		$template->set_var('VALUE', $format);
+	} else {
+		$template->set_var('VALUE', '');
+	}
+	$template->set_var('NAME', $title);
+	if(TIME_FORMAT == $format AND !isset($_SESSION['USE_DEFAULT_TIME_FORMAT'])) {
+		$template->set_var('SELECTED', ' selected="selected"');
+	} elseif($format == 'system_default' AND isset($_SESSION['USE_DEFAULT_TIME_FORMAT'])) {
+		$template->set_var('SELECTED', ' selected="selected"');
+	} else {
+		$template->set_var('SELECTED', '');
+	}
+	$template->parse('time_format_list', 'time_format_list_block', true);
+}
+
+// Insert language headings
+$template->set_var(array(
+								'HEADING_MY_SETTINGS' => $HEADING['MY_SETTINGS'],
+								'HEADING_MY_EMAIL' => $HEADING['MY_EMAIL'],
+								'HEADING_MY_PASSWORD' => $HEADING['MY_PASSWORD']
+								)
+						);
+// insert urls
+$template->set_var(array(
+								'ADMIN_URL' => ADMIN_URL,
+								'WB_URL' => WB_URL,
+								'WB_PATH' => WB_PATH,
+								'THEME_URL' => THEME_URL
+								)
+						);
+// Insert language text and messages
+$template->set_var(array(
+								'TEXT_SAVE' => $TEXT['SAVE'],
+								'TEXT_RESET' => $TEXT['RESET'],
+								'TEXT_DISPLAY_NAME' => $TEXT['DISPLAY_NAME'],
+								'TEXT_EMAIL' => $TEXT['EMAIL'],
+								'TEXT_LANGUAGE' => $TEXT['LANGUAGE'],
+								'TEXT_TIMEZONE' => $TEXT['TIMEZONE'],
+								'TEXT_DATE_FORMAT' => $TEXT['DATE_FORMAT'],
+								'TEXT_TIME_FORMAT' => $TEXT['TIME_FORMAT'],
+								'TEXT_CURRENT_PASSWORD' => $TEXT['CURRENT_PASSWORD'],
+								'TEXT_NEW_PASSWORD' => $TEXT['NEW_PASSWORD'],
+								'TEXT_RETYPE_NEW_PASSWORD' => $TEXT['RETYPE_NEW_PASSWORD'],
+								'TEXT_PLEASE_SELECT' => $TEXT['PLEASE_SELECT']
+								)
+						);
+
+// Parse template for preferences form
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
+
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/preferences/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/preferences/password.php
===================================================================
--- tags/2.8.2/wb/admin/preferences/password.php	(nonexistent)
+++ tags/2.8.2/wb/admin/preferences/password.php	(revision 1481)
@@ -0,0 +1,71 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Print admin header
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Preferences');
+
+// Get entered values
+$current_password = $admin->get_post('current_password');
+$new_password = $admin->get_post('new_password');
+$new_password2 = $admin->get_post('new_password2');
+
+// Create a javascript back link
+$js_back = "javascript: history.go(-1);";
+
+// Get existing password
+$database = new database();
+$query = "SELECT user_id FROM ".TABLE_PREFIX."users WHERE user_id = '".$admin->get_user_id()."' AND password = '".md5($current_password)."'";
+$results = $database->query($query);
+
+// Validate values
+if($results->numRows() == 0) {
+	$admin->print_error($MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT']);
+}
+if(strlen($new_password) < 3) {
+	$admin->print_error($MESSAGE['USERS']['PASSWORD_TOO_SHORT'], $js_back);
+}
+if($new_password != $new_password2) {
+	$admin->print_error($MESSAGE['USERS']['PASSWORD_MISMATCH'], $js_back);
+}
+
+// MD5 the password
+$md5_password = md5($new_password);
+
+// Update the database
+$database = new database();
+$query = "UPDATE ".TABLE_PREFIX."users SET password = '$md5_password' WHERE user_id = '".$admin->get_user_id()."'";
+$database->query($query);
+if($database->is_error()) {
+	$admin->print_error($database->get_error);
+} else {
+	$admin->print_success($MESSAGE['PREFERENCES']['PASSWORD_CHANGED']);
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/preferences/password.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/preferences/email.php
===================================================================
--- tags/2.8.2/wb/admin/preferences/email.php	(nonexistent)
+++ tags/2.8.2/wb/admin/preferences/email.php	(revision 1481)
@@ -0,0 +1,67 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Print admin header
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Preferences');
+
+// Get entered values
+$password = $admin->get_post('current_password');
+$email = $admin->get_post('email');
+
+// Create a javascript back link
+$js_back = "javascript: history.go(-1);";
+
+// Get password
+$database = new database();
+$query = "SELECT user_id FROM ".TABLE_PREFIX."users WHERE user_id = '".$admin->get_user_id()."' AND password = '".md5($password)."'";
+$results = $database->query($query);
+
+// Validate values
+if($results->numRows() == 0) {
+	$admin->print_error($MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT']);
+}
+if(!$admin->validate_email($email)) {
+	$admin->print_error($MESSAGE['USERS']['INVALID_EMAIL']);
+}
+
+$email = $admin->add_slashes($email);
+
+// Update the database
+$database = new database();
+$query = "UPDATE ".TABLE_PREFIX."users SET email = '$email' WHERE user_id = '".$admin->get_user_id()."'";
+$database->query($query);
+if($database->is_error()) {
+	$admin->print_error($database->get_error);
+} else {
+	$admin->print_success($MESSAGE['PREFERENCES']['EMAIL_UPDATED']);
+	$_SESSION['EMAIL'] = $email;
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/preferences/email.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/addons/reload.php
===================================================================
--- tags/2.8.2/wb/admin/addons/reload.php	(nonexistent)
+++ tags/2.8.2/wb/admin/addons/reload.php	(revision 1481)
@@ -0,0 +1,138 @@
+<?php
+/**
+ *
+ * @category        admin
+ * @package         addons
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL:  $
+ * @lastmodified    $Date:  $
+ *
+ */
+
+/**
+ * check if there is anything to do
+ */
+$post_check = array('reload_modules', 'reload_templates', 'reload_languages');
+foreach ($post_check as $index => $key) {
+	if (!isset($_POST[$key])) unset($post_check[$index]);
+}
+if (count($post_check) == 0) die(header('Location: index.php?advanced'));
+
+/**
+ * check if user has permissions to access this file
+ */
+// include WB configuration file and WB admin class
+require_once('../../config.php');
+require_once('../../framework/class.admin.php');
+
+// check user permissions for admintools (redirect users with wrong permissions)
+$admin = new admin('Admintools', 'admintools', false, false);
+if ($admin->get_permission('admintools') == false) die(header('Location: ../../index.php'));
+
+// check if the referer URL if available
+$referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 
+	(isset($HTTP_SERVER_VARS['HTTP_REFERER']) ? $HTTP_SERVER_VARS['HTTP_REFERER'] : '');
+
+// if referer is set, check if script was invoked from "admin/modules/index.php"
+$required_url = ADMIN_URL . '/addons/index.php';
+if ($referer != '' && (!(strpos($referer, $required_url) !== false || strpos($referer, $required_url) !== false))) 
+	die(header('Location: ../../index.php'));
+
+// include WB functions file
+require_once(WB_PATH . '/framework/functions.php');
+
+// load WB language file
+require_once(WB_PATH . '/languages/' . LANGUAGE .'.php');
+
+// create Admin object with admin header
+$admin = new admin('Addons', '', true, false);
+$js_back = ADMIN_URL . '/addons/index.php?advanced';
+
+/**
+ * Reload all specified Addons
+ */
+$msg = array();
+$table = TABLE_PREFIX . 'addons';
+
+foreach ($post_check as $key) {
+	switch ($key) {
+		case 'reload_modules':
+			if ($handle = opendir(WB_PATH . '/modules')) {
+				// delete modules from database
+				$sql = "DELETE FROM `$table` WHERE `type` = 'module'";
+				$database->query($sql);
+
+				// loop over all modules
+				while(false !== ($file = readdir($handle))) {
+					if ($file != '' && substr($file, 0, 1) != '.' && $file != 'admin.php' && $file != 'index.php') {
+						load_module(WB_PATH . '/modules/' . $file);
+					}
+				}
+				closedir($handle);
+				// add success message
+				$msg[] = $MESSAGE['ADDON']['MODULES_RELOADED'];
+
+			} else {
+				// provide error message and stop
+				$admin->print_error($MESSAGE['ADDON']['ERROR_RELOAD'], $js_back);
+			}
+			break;
+			
+		case 'reload_templates':
+			if ($handle = opendir(WB_PATH . '/templates')) {
+				// delete templates from database
+				$sql = "DELETE FROM `$table` WHERE `type` = 'template'";
+				$database->query($sql);
+
+				// loop over all templates
+				while(false !== ($file = readdir($handle))) {
+					if($file != '' AND substr($file, 0, 1) != '.' AND $file != 'index.php') {
+						load_template(WB_PATH . '/templates/' . $file);
+					}
+				}
+				closedir($handle);
+				// add success message
+				$msg[] = $MESSAGE['ADDON']['TEMPLATES_RELOADED'];
+
+			} else {
+				// provide error message and stop
+				$admin->print_error($MESSAGE['ADDON']['ERROR_RELOAD'], $js_back);
+			}
+			break;
+
+		case 'reload_languages':
+			if ($handle = opendir(WB_PATH . '/languages/')) {
+				// delete languages from database
+				$sql = "DELETE FROM `$table` WHERE `type` = 'language'";
+				$database->query($sql);
+			
+				// loop over all languages
+				while(false !== ($file = readdir($handle))) {
+					if ($file != '' && substr($file, 0, 1) != '.' && $file != 'index.php') {
+						load_language(WB_PATH . '/languages/' . $file);
+					}
+				}
+				closedir($handle);
+				// add success message
+				$msg[] = $MESSAGE['ADDON']['LANGUAGES_RELOADED'];
+				
+			} else {
+				// provide error message and stop
+				$admin->print_error($MESSAGE['ADDON']['ERROR_RELOAD'], $js_back);
+			}
+			break;
+	}
+}
+
+// output success message
+$admin->print_success(implode($msg, '<br />'), $js_back);
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/addons/reload.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/addons/index.php
===================================================================
--- tags/2.8.2/wb/admin/addons/index.php	(nonexistent)
+++ tags/2.8.2/wb/admin/addons/index.php	(revision 1481)
@@ -0,0 +1,99 @@
+<?php
+/**
+ *
+ * @category        admin
+ * @package         addons
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL:  $
+ * @lastmodified    $Date:  $
+ *
+ */
+
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Addons', 'addons');
+
+// Setup template object
+$template = new Template(THEME_PATH.'/templates');
+$template->set_file('page', 'addons.htt');
+$template->set_block('page', 'main_block', 'main');
+
+// Insert values into the template object
+$template->set_var(array(
+		'ADMIN_URL' => ADMIN_URL,
+		'THEME_URL' => THEME_URL,
+		'WB_URL' => WB_URL
+	)
+);
+
+/**
+ *	Setting up the blocks
+ */
+$template->set_block('main_block', "modules_block", "modules");
+$template->set_block('main_block', "templates_block", "templates");
+$template->set_block('main_block', "languages_block", "languages");
+$template->set_block('main_block', "reload_block", "reload");
+
+/**
+ *	Insert permission values into the template object
+ *	Obsolete as we are using blocks ... see "parsing the blocks" section
+ */
+$display_none = "style=\"display: none;\"";
+if($admin->get_permission('modules') != true) 	$template->set_var('DISPLAY_MODULES', $display_none);	
+if($admin->get_permission('templates') != true)	$template->set_var('DISPLAY_TEMPLATES', $display_none);
+if($admin->get_permission('languages') != true)	$template->set_var('DISPLAY_LANGUAGES', $display_none);
+if($admin->get_permission('admintools') != true)	$template->set_var('DISPLAY_ADVANCED', $display_none);
+
+if(!isset($_GET['advanced']) || $admin->get_permission('admintools') != true)
+	$template->set_var('DISPLAY_RELOAD', $display_none);
+
+/**
+ *	Insert section names and descriptions
+ */
+$template->set_var(array(
+	'ADDONS_OVERVIEW' => $MENU['ADDONS'],
+	'MODULES' => $MENU['MODULES'],
+	'TEMPLATES' => $MENU['TEMPLATES'],
+	'LANGUAGES' => $MENU['LANGUAGES'],
+	'MODULES_OVERVIEW' => $OVERVIEW['MODULES'],
+	'TEMPLATES_OVERVIEW' => $OVERVIEW['TEMPLATES'],
+	'LANGUAGES_OVERVIEW' => $OVERVIEW['LANGUAGES'],
+	'TXT_ADMIN_SETTINGS' => $TEXT['ADMIN'] . ' ' . $TEXT['SETTINGS'],
+	'MESSAGE_RELOAD_ADDONS' => $MESSAGE['ADDON']['RELOAD'],
+	'TEXT_RELOAD' => $TEXT['RELOAD'],
+	'RELOAD_URL' => ADMIN_URL . '/addons/reload.php',
+	'URL_ADVANCED' => $admin->get_permission('admintools')
+                ? '<a href="' . ADMIN_URL . '/addons/index.php?advanced">' . $TEXT['ADVANCED'] . '</a>' : '',
+	'ADVANCED_URL' => $admin->get_permission('admintools') ? ADMIN_URL . '/addons/index.php' : '',
+    'TEXT_ADVANCED' => $TEXT['ADVANCED'],
+
+	)
+);
+
+/**
+ *	Parsing the blocks ...
+ */
+if ( $admin->get_permission('modules') == true) $template->parse('main_block', "modules_block", true);
+if ( $admin->get_permission('templates') == true) $template->parse('main_block', "templates_block", true);
+if ( $admin->get_permission('languages') == true) $template->parse('main_block', "languages_block", true);
+if ( isset($_GET['advanced']) AND $admin->get_permission('admintools') == true) $template->parse('main_block', "reload_block", true);
+
+/**
+ *	Parse template object
+ */
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
+
+/**
+ *	Print admin footer
+ */
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/addons/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/login/forgot/index.php
===================================================================
--- tags/2.8.2/wb/admin/login/forgot/index.php	(nonexistent)
+++ tags/2.8.2/wb/admin/login/forgot/index.php	(revision 1481)
@@ -0,0 +1,164 @@
+<?php
+/**
+ *
+ * @category        admin
+ * @package         login
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+*/
+
+// Include the configuration file
+require('../../../config.php');
+// Include the language file
+require(WB_PATH.'/languages/'.DEFAULT_LANGUAGE.'.php');
+// Include the database class file and initiate an object
+require(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Start', 'start', false, false);
+$database = new database();
+
+// Get the website title
+$results = $database->query("SELECT value FROM ".TABLE_PREFIX."settings WHERE name = 'title'");
+$results = $results->fetchRow();
+$website_title = $results['value'];
+
+// Check if the user has already submitted the form, otherwise show it
+if(isset($_POST['email']) AND $_POST['email'] != "") {
+	
+	$email = htmlspecialchars($_POST['email'],ENT_QUOTES);
+	
+	// Check if the email exists in the database
+	$query = "SELECT user_id,username,display_name,email,last_reset,password FROM ".TABLE_PREFIX."users WHERE email = '".$admin->add_slashes($_POST['email'])."'";
+	$results = $database->query($query);
+	if($results->numRows() > 0) {
+
+		// Get the id, username, email, and last_reset from the above db query
+		$results_array = $results->fetchRow();
+		
+		// Check if the password has been reset in the last 2 hours
+		$last_reset = $results_array['last_reset'];
+		$time_diff = time()-$last_reset; // Time since last reset in seconds
+		$time_diff = $time_diff/60/60; // Time since last reset in hours
+		if($time_diff < 2) {
+			
+			// Tell the user that their password cannot be reset more than once per hour
+			$message = $MESSAGE['FORGOT_PASS']['ALREADY_RESET'];
+			
+		} else {
+			
+			$old_pass = $results_array['password'];
+			
+			// Generate a random password then update the database with it
+			$new_pass = '';
+			$salt = "abchefghjkmnpqrstuvwxyz0123456789";
+			srand((double)microtime()*1000000);
+			$i = 0;
+			while ($i <= 7) {
+				$num = rand() % 33;
+				$tmp = substr($salt, $num, 1);
+				$new_pass = $new_pass . $tmp;
+				$i++;
+			}
+			
+			$database->query("UPDATE ".TABLE_PREFIX."users SET password = '".md5($new_pass)."', last_reset = '".time()."' WHERE user_id = '".$results_array['user_id']."'");
+			
+			if($database->is_error()) {
+				// Error updating database
+				$message = $database->get_error();
+			} else {
+				// Setup email to send
+				$mail_to = $email;
+				$mail_subject = $MESSAGE['SIGNUP2']['SUBJECT_LOGIN_INFO'];
+
+				// Replace placeholders from language variable with values
+				$search = array('{LOGIN_DISPLAY_NAME}', '{LOGIN_WEBSITE_TITLE}', '{LOGIN_NAME}', '{LOGIN_PASSWORD}');
+				$replace = array($results_array['display_name'], WEBSITE_TITLE, $results_array['username'], $new_pass); 
+				$mail_message = str_replace($search, $replace, $MESSAGE['SIGNUP2']['BODY_LOGIN_INFO']);
+
+				// Try sending the email
+				if($admin->mail(SERVER_EMAIL,$mail_to,$mail_subject,$mail_message)) { 
+					$message = $MESSAGE['FORGOT_PASS']['PASSWORD_RESET'];
+					$display_form = false;
+				} else {
+					$database->query("UPDATE ".TABLE_PREFIX."users SET password = '".$old_pass."' WHERE user_id = '".$results_array['user_id']."'");
+					$message = $MESSAGE['FORGOT_PASS']['CANNOT_EMAIL'];
+				}
+			}
+		
+		}
+		
+	} else {
+		// Email doesn't exist, so tell the user
+		$message = $MESSAGE['FORGOT_PASS']['EMAIL_NOT_FOUND'];
+		// and delete the wrong Email
+		$email = '';
+	}
+	
+} else {
+	$email = '';
+}
+
+if(!isset($message)) {
+	$message = $MESSAGE['FORGOT_PASS']['NO_DATA'];
+	$message_color = '000000';
+} else {
+	$message_color = 'FF0000';
+}
+	
+// Setup the template
+$template = new Template(THEME_PATH.'/templates');
+$template->set_file('page', 'login_forgot.htt');
+$template->set_block('page', 'main_block', 'main');
+if(defined('FRONTEND')) {
+	$template->set_var('ACTION_URL', 'forgot.php');
+} else {
+	$template->set_var('ACTION_URL', 'index.php');
+}
+$template->set_var('EMAIL', $email);
+
+if(isset($display_form)) {
+	$template->set_var('DISPLAY_FORM', 'display:none;');
+}
+
+$template->set_var(array(
+								'SECTION_FORGOT' => $MENU['FORGOT'],
+								'MESSAGE_COLOR' => $message_color,
+								'MESSAGE' => $message,
+								'WB_URL' => WB_URL,
+								'ADMIN_URL' => ADMIN_URL,
+								'THEME_URL' => THEME_URL,
+								'LANGUAGE' => strtolower(LANGUAGE),
+								'TEXT_EMAIL' => $TEXT['EMAIL'],
+								'TEXT_SEND_DETAILS' => $TEXT['SEND_DETAILS'],
+								'TEXT_HOME' => $TEXT['HOME'],
+								'TEXT_NEED_TO_LOGIN' => $TEXT['NEED_TO_LOGIN']
+								)
+						);
+
+if(defined('FRONTEND')) {
+	$template->set_var('LOGIN_URL', WB_URL.'/account/login.php');
+} else {
+	$template->set_var('LOGIN_URL', ADMIN_URL);
+}
+$template->set_var('INTERFACE_URL', ADMIN_URL.'/interface');	
+
+if(defined('DEFAULT_CHARSET')) {
+	$charset=DEFAULT_CHARSET;
+} else {
+	$charset='utf-8';
+}
+
+$template->set_var('CHARSET', $charset);	
+
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/login/forgot/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/admin/login/index.php
===================================================================
--- tags/2.8.2/wb/admin/login/index.php	(nonexistent)
+++ tags/2.8.2/wb/admin/login/index.php	(revision 1481)
@@ -0,0 +1,63 @@
+<?php
+/**
+ *
+ * @category        admin
+ * @package         login
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+*/
+
+require_once("../../config.php");
+require_once(WB_PATH."/framework/class.login.php");
+
+if(defined('SMART_LOGIN') AND SMART_LOGIN == 'enabled') {
+	// Generate username field name
+	$username_fieldname = 'username_';
+	$password_fieldname = 'password_';
+	$salt = "abchefghjkmnpqrstuvwxyz0123456789";
+	srand((double)microtime()*1000000);
+	$i = 0;
+	while ($i <= 7) {
+		$num = rand() % 33;
+		$tmp = substr($salt, $num, 1);
+		$username_fieldname = $username_fieldname . $tmp;
+		$password_fieldname = $password_fieldname . $tmp;
+		$i++;
+	}
+} else {
+	$username_fieldname = 'username';
+	$password_fieldname = 'password';
+}
+
+$thisApp = new Login(
+							array(
+									'MAX_ATTEMPS' => "3",
+									'WARNING_URL' => THEME_URL."/templates/warning.html",
+									'USERNAME_FIELDNAME' => $username_fieldname,
+									'PASSWORD_FIELDNAME' => $password_fieldname,
+									'REMEMBER_ME_OPTION' => SMART_LOGIN,
+									'MIN_USERNAME_LEN' => "2",
+									'MIN_PASSWORD_LEN' => "2",
+									'MAX_USERNAME_LEN' => "30",
+									'MAX_PASSWORD_LEN' => "30",
+									'LOGIN_URL' => ADMIN_URL."/login/index.php",
+									'DEFAULT_URL' => ADMIN_URL."/start/index.php",
+									'TEMPLATE_DIR' => THEME_PATH."/templates",
+									'TEMPLATE_FILE' => "login.htt",
+									'FRONTEND' => false,
+									'FORGOTTEN_DETAILS_APP' => ADMIN_URL."/login/forgot/index.php",
+									'USERS_TABLE' => TABLE_PREFIX."users",
+									'GROUPS_TABLE' => TABLE_PREFIX."groups",
+							)
+					);
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/login/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/admin/modules/details.php
===================================================================
--- tags/2.8.2/wb/admin/modules/details.php	(nonexistent)
+++ tags/2.8.2/wb/admin/modules/details.php	(revision 1481)
@@ -0,0 +1,147 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Include the config file
+require('../../config.php');
+require_once(WB_PATH .'/framework/functions.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+// No print admin header
+$admin = new admin('Addons', 'modules_view', false);
+
+// Get module name
+if(!isset($_POST['file']) OR $_POST['file'] == "")
+{
+	header("Location: index.php");
+	exit(0);
+}
+else
+{
+	$file = $admin->add_slashes($_POST['file']);
+}
+
+// Check if the module exists
+if(!file_exists(WB_PATH.'/modules/'.$file)) {
+	header("Location: index.php");
+	exit(0);
+}
+
+// Print admin header
+$admin = new admin('Addons', 'modules_view');
+
+// Setup module object
+$template = new Template(THEME_PATH.'/templates');
+$template->set_file('page', 'modules_details.htt');
+$template->set_block('page', 'main_block', 'main');
+
+// Insert values
+$result = $database->query("SELECT * FROM ".TABLE_PREFIX."addons WHERE type = 'module' AND directory = '$file'");
+if($result->numRows() > 0) {
+	$module = $result->fetchRow();
+}
+
+// check if a module description exists for the displayed backend language
+$tool_description = false;
+if(function_exists('file_get_contents') && file_exists(WB_PATH.'/modules/'.$file.'/languages/'.LANGUAGE .'.php')) {
+	// read contents of the module language file into string
+	$data = @file_get_contents(WB_PATH .'/modules/' .$file .'/languages/' .LANGUAGE .'.php');
+	// use regular expressions to fetch the content of the variable from the string
+	$tool_description = get_variable_content('module_description', $data, false, false);
+	// replace optional placeholder {WB_URL} with value stored in config.php
+	if($tool_description !== false && strlen(trim($tool_description)) != 0) {
+		$tool_description = str_replace('{WB_URL}', WB_URL, $tool_description);
+	} else {
+		$tool_description = false;
+	}
+}		
+if($tool_description !== false) {
+	// Override the module-description with correct desription in users language
+	$module['description'] = $tool_description;
+}
+
+$template->set_var(array(
+								'NAME' => $module['name'],
+								'AUTHOR' => $module['author'],
+								'DESCRIPTION' => $module['description'],
+								'VERSION' => $module['version'],
+								'DESIGNED_FOR' => $module['platform'],
+								'ADMIN_URL' => ADMIN_URL,
+								'WB_URL' => WB_URL,
+								'WB_PATH' => WB_PATH,
+								'THEME_URL' => THEME_URL
+								)
+						);
+						
+switch ($module['function']) {
+	case NULL:
+		$type_name = $TEXT['UNKNOWN'];
+		break;
+	case 'page':
+		$type_name = $TEXT['PAGE'];
+		break;
+	case 'wysiwyg':
+		$type_name = $TEXT['WYSIWYG_EDITOR'];
+		break;
+	case 'tool':
+		$type_name = $TEXT['ADMINISTRATION_TOOL'];
+		break;
+	case 'admin':
+		$type_name = $TEXT['ADMIN'];
+		break;
+	case 'administration':
+		$type_name = $TEXT['ADMINISTRATION'];
+		break;
+	case 'snippet':
+		$type_name = $TEXT['CODE_SNIPPET'];
+		break;
+	default:
+		$type_name = $TEXT['UNKNOWN'];
+}
+$template->set_var('TYPE', $type_name);
+
+// Insert language headings
+$template->set_var(array(
+								'HEADING_MODULE_DETAILS' => $HEADING['MODULE_DETAILS']
+								)
+						);
+// Insert language text and messages
+$template->set_var(array(
+								'TEXT_NAME' => $TEXT['NAME'],
+								'TEXT_TYPE' => $TEXT['TYPE'],
+								'TEXT_AUTHOR' => $TEXT['AUTHOR'],
+								'TEXT_VERSION' => $TEXT['VERSION'],
+								'TEXT_DESIGNED_FOR' => $TEXT['DESIGNED_FOR'],
+								'TEXT_DESCRIPTION' => $TEXT['DESCRIPTION'],
+								'TEXT_BACK' => $TEXT['BACK']
+								)
+						);
+
+// Parse module object
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/modules/details.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/modules/index.php
===================================================================
--- tags/2.8.2/wb/admin/modules/index.php	(nonexistent)
+++ tags/2.8.2/wb/admin/modules/index.php	(revision 1481)
@@ -0,0 +1,143 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Print admin header
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Addons', 'modules');
+
+// Setup template object
+$template = new Template(THEME_PATH.'/templates');
+$template->set_file('page', 'modules.htt');
+$template->set_block('page', 'main_block', 'main');
+
+// Insert values into module list
+$template->set_block('main_block', 'module_list_block', 'module_list');
+$result = $database->query("SELECT * FROM ".TABLE_PREFIX."addons WHERE type = 'module' order by name");
+if($result->numRows() > 0) {
+	while ($addon = $result->fetchRow()) {
+		$template->set_var('VALUE', $addon['directory']);
+		$template->set_var('NAME', $addon['name']);
+		$template->parse('module_list', 'module_list_block', true);
+	}
+}
+
+// Insert modules which includes a install.php file to install list
+$module_files = glob(WB_PATH . '/modules/*');
+$template->set_block('main_block', 'install_list_block', 'install_list');
+$template->set_block('main_block', 'upgrade_list_block', 'upgrade_list');
+$template->set_block('main_block', 'uninstall_list_block', 'uninstall_list');
+$template->set_var(array('INSTALL_VISIBLE' => 'hide', 'UPGRADE_VISIBLE' => 'hide', 'UNINSTALL_VISIBLE' => 'hide'));
+
+$show_block = false;
+foreach ($module_files as $index => $path) {
+	if (is_dir($path)) {
+		if (file_exists($path . '/install.php')) {
+			$show_block = true;
+			$template->set_var('INSTALL_VISIBLE', '');
+			$template->set_var('VALUE', basename($path));
+			$template->set_var('NAME', basename($path));
+			$template->parse('install_list', 'install_list_block', true);
+		}
+
+		if (file_exists($path . '/upgrade.php')) {
+			$show_block = true;
+			$template->set_var('UPGRADE_VISIBLE', '');
+			$template->set_var('VALUE', basename($path));
+			$template->set_var('NAME', basename($path));
+			$template->parse('upgrade_list', 'upgrade_list_block', true);
+		} 
+		
+		if (file_exists($path . '/uninstall.php')) {
+			$show_block = true;
+			$template->set_var('UNINSTALL_VISIBLE', '');
+			$template->set_var('VALUE', basename($path));
+			$template->set_var('NAME', basename($path));
+			$template->parse('uninstall_list', 'uninstall_list_block', true);
+		}
+
+	} else {
+		unset($module_files[$index]);
+	}
+}
+
+// Insert permissions values
+if($admin->get_permission('modules_install') != true) {
+	$template->set_var('DISPLAY_INSTALL', 'hide');
+}
+if($admin->get_permission('modules_uninstall') != true) {
+	$template->set_var('DISPLAY_UNINSTALL', 'hide');
+}
+if($admin->get_permission('modules_view') != true) {
+	$template->set_var('DISPLAY_LIST', 'hide');
+}
+// only show block if there is something to show
+if(!$show_block || count($module_files) == 0 || !isset($_GET['advanced']) || $admin->get_permission('admintools') != true) {
+	$template->set_var('DISPLAY_MANUAL_INSTALL', 'hide');
+}
+
+// Insert language headings
+$template->set_var(array(
+								'HEADING_INSTALL_MODULE' => $HEADING['INSTALL_MODULE'],
+								'HEADING_UNINSTALL_MODULE' => $HEADING['UNINSTALL_MODULE'],
+								'HEADING_MODULE_DETAILS' => $HEADING['MODULE_DETAILS'],
+								'HEADING_INVOKE_MODULE_FILES' => $HEADING['INVOKE_MODULE_FILES']
+								)
+						);
+// insert urls
+$template->set_var(array(
+								'ADMIN_URL' => ADMIN_URL,
+								'WB_URL' => WB_URL,
+								'WB_PATH' => WB_PATH,
+								'THEME_URL' => THEME_URL
+								)
+						);
+// Insert language text and messages
+$template->set_var(array(
+	'URL_TEMPLATES' => $admin->get_permission('templates') ? 
+		'<a href="' . ADMIN_URL . '/templates/index.php">' . $MENU['TEMPLATES'] . '</a>' : '',
+	'URL_LANGUAGES' => $admin->get_permission('languages') ? 
+		'<a href="' . ADMIN_URL . '/languages/index.php">' . $MENU['LANGUAGES'] . '</a>' : '',
+	'URL_ADVANCED' => $admin->get_permission('admintools') ? 
+		'<a href="' . ADMIN_URL . '/modules/index.php?advanced">' . $TEXT['ADVANCED'] . '</a>' : '',
+	'TEXT_INSTALL' => $TEXT['INSTALL'],
+	'TEXT_UNINSTALL' => $TEXT['UNINSTALL'],
+	'TEXT_VIEW_DETAILS' => $TEXT['VIEW_DETAILS'],
+	'TEXT_PLEASE_SELECT' => $TEXT['PLEASE_SELECT'],
+	'TEXT_MANUAL_INSTALLATION' => $MESSAGE['ADDON']['MANUAL_INSTALLATION'],
+	'TEXT_MANUAL_INSTALLATION_WARNING' => $MESSAGE['ADDON']['MANUAL_INSTALLATION_WARNING'],
+	'TEXT_EXECUTE' => $TEXT['EXECUTE'],
+	'TEXT_FILE' => $TEXT['FILE']
+	)
+);
+
+// Parse template object
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/modules/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/modules/uninstall.php
===================================================================
--- tags/2.8.2/wb/admin/modules/uninstall.php	(nonexistent)
+++ tags/2.8.2/wb/admin/modules/uninstall.php	(revision 1481)
@@ -0,0 +1,129 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Setup admin object
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Addons', 'modules_uninstall');
+
+// Check if user selected module
+if(!isset($_POST['file']) OR $_POST['file'] == "") {
+	header("Location: index.php");
+	exit(0);
+} else {
+	$file = $admin->add_slashes($_POST['file']);
+}
+
+// Extra protection
+if(trim($file) == '') {
+	header("Location: index.php");
+	exit(0);
+}
+
+// Include the WB functions file
+require_once(WB_PATH.'/framework/functions.php');
+
+// Check if the module exists
+if(!is_dir(WB_PATH.'/modules/'.$file)) {
+	$admin->print_error($MESSAGE['GENERIC']['NOT_INSTALLED']);
+}
+
+if (!function_exists("replace_all")) {
+	function replace_all ($aStr = "", &$aArray ) {
+		foreach($aArray as $k=>$v) $aStr = str_replace("{{".$k."}}", $v, $aStr);
+		return $aStr;
+	}
+}
+
+$info = $database->query("SELECT section_id, page_id FROM ".TABLE_PREFIX."sections WHERE module='".$_POST['file']."'" );
+
+if ( $info->numRows() > 0) {
+	
+	/**
+	*	Modul is in use, so we have to warn the user
+	*/
+	if (!array_key_exists("CANNOT_UNINSTALL_IN_USE_TMPL", $MESSAGE['GENERIC'])) {
+		$add = $info->numRows() == 1 ? "this page" : "these pages";
+		$msg_template_str  = "<br /><br />{{type}} <b>{{type_name}}</b> could not be uninstalled because it is still in use on {{pages}}";
+		$msg_template_str .= ":<br /><i>click for editing.</i><br /><br />";
+	} else {
+		$msg_template_str = $MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL'];
+		$temp = explode(";",$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL_PAGES']);
+		$add = $info->numRows() == 1 ? $temp[0] : $temp[1];
+	}
+	/**
+	*	The template-string for displaying the Page-Titles ... in this case as a link
+	*/
+	$page_template_str = "- <b><a href='../pages/sections.php?page_id={{id}}'>{{title}}</a></b><br />";
+	
+	$values = array ('type' => 'Modul', 'type_name' => $file, 'pages' => $add );
+	$msg = replace_all ( $msg_template_str,  $values );
+		
+	$page_names = "";
+	
+	while ($data = $info->fetchRow() ) {
+	
+		$temp = $database->query("SELECT page_title from ".TABLE_PREFIX."pages where page_id=".$data['page_id']);
+		$temp_title = $temp->fetchRow();
+		
+		$page_info = array(
+			'id'	=> $data['page_id'], 
+			'title' => $temp_title['page_title']
+		);
+			
+		$page_names .= replace_all ( $page_template_str, $page_info );
+	}
+	
+	/**
+	*	Printing out the error-message and die().
+	*/
+	$admin->print_error(str_replace ($TEXT['FILE'], "Modul", $MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE']).$msg.$page_names);
+}
+
+// Check if we have permissions on the directory
+if(!is_writable(WB_PATH.'/modules/'.$file)) {
+	$admin->print_error($MESSAGE['GENERIC']['CANNOT_UNINSTALL']);
+}
+
+// Run the modules uninstall script if there is one
+if(file_exists(WB_PATH.'/modules/'.$file.'/uninstall.php')) {
+	require(WB_PATH.'/modules/'.$file.'/uninstall.php');
+}
+
+// Try to delete the module dir
+if(!rm_full_dir(WB_PATH.'/modules/'.$file)) {
+	$admin->print_error($MESSAGE['GENERIC']['CANNOT_UNINSTALL']);
+} else {
+	// Remove entry from DB
+	$database->query("DELETE FROM ".TABLE_PREFIX."addons WHERE directory = '".$file."' AND type = 'module'");
+}
+
+// Print success message
+$admin->print_success($MESSAGE['GENERIC']['UNINSTALLED']);
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/modules/uninstall.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/modules/manual_install.php
===================================================================
--- tags/2.8.2/wb/admin/modules/manual_install.php	(nonexistent)
+++ tags/2.8.2/wb/admin/modules/manual_install.php	(revision 1481)
@@ -0,0 +1,100 @@
+<?php
+/**
+ * $Id$
+ * Website Baker Manual module installation
+ *
+ * This file contains the function to invoke the module install or upgrade
+ * scripts update the Add-on information from the
+ * database with the ones stored in the Add-on files (e.g. info.php or EN.php)
+ *
+ * LICENSE: GNU Lesser General Public License 3.0
+ * 
+ * @author		Christian Sommer
+ * @copyright	(c) 2009
+ * @license		http://www.gnu.org/copyleft/lesser.html
+ * @version		0.2.0
+ * @platform	Website Baker 2.7
+ *
+ * Website Baker Project <http://www.websitebaker.org/>
+ * Copyright (C) 2004-2009, Ryan Djurovich
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Website Baker; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+
+/**
+ * check if there is anything to do
+ */
+if (!(isset($_POST['action']) && in_array($_POST['action'], array('install', 'upgrade', 'uninstall')))) die(header('Location: index.php?advanced'));
+if (!(isset($_POST['file']) && $_POST['file'] != '' && (strpos($_POST['file'], '..') === false))) die(header('Location: index.php?advanced'));
+
+/**
+ * check if user has permissions to access this file
+ */
+// include WB configuration file and WB admin class
+require_once('../../config.php');
+require_once('../../framework/class.admin.php');
+
+// check user permissions for admintools (redirect users with wrong permissions)
+$admin = new admin('Admintools', 'admintools', false, false);
+if ($admin->get_permission('admintools') == false) die(header('Location: ../../index.php'));
+
+// check if the referer URL if available
+$referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 
+	(isset($HTTP_SERVER_VARS['HTTP_REFERER']) ? $HTTP_SERVER_VARS['HTTP_REFERER'] : '');
+
+// if referer is set, check if script was invoked from "admin/modules/index.php"
+$required_url = ADMIN_URL . '/modules/index.php';
+if ($referer != '' && (!(strpos($referer, $required_url) !== false || strpos($referer, $required_url) !== false))) 
+	die(header('Location: ../../index.php'));
+
+// include WB functions file
+require_once(WB_PATH . '/framework/functions.php');
+
+// load WB language file
+require_once(WB_PATH . '/languages/' . LANGUAGE .'.php');
+
+// create Admin object with admin header
+$admin = new admin('Addons', '', true, false);
+$js_back = ADMIN_URL . '/modules/index.php?advanced';
+
+/**
+ * Manually execute the specified module file (install.php, upgrade.php or uninstall.php)
+ */
+// check if specified module folder exists
+$mod_path = WB_PATH . '/modules/' . basename(WB_PATH . '/' . $_POST['file']);
+if (!file_exists($mod_path . '/' . $_POST['action'] . '.php')) $admin->print_error($TEXT['NOT_FOUND'] . ': <tt>"' . htmlentities(basename($mod_path)) . '/' . $_POST['action'] . '.php"</tt> ', $js_back);
+
+// include modules install.php script
+require($mod_path . '/' . $_POST['action'] . '.php');
+
+// load module info into database and output status message
+load_module($mod_path, false);
+$msg = $TEXT['EXECUTE'] . ': <tt>"' . htmlentities(basename($mod_path)) . '/' . $_POST['action'] . '.php"</tt>';
+
+switch ($_POST['action']) {
+	case 'install':
+		$admin->print_success($msg, $js_back);
+		break;
+
+	case 'upgrade':
+		$admin->print_success($msg, $js_back);
+		break;
+	
+	case 'uninstall':
+		$admin->print_success($msg, $js_back);
+		break;
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/modules/manual_install.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/modules/install.php
===================================================================
--- tags/2.8.2/wb/admin/modules/install.php	(nonexistent)
+++ tags/2.8.2/wb/admin/modules/install.php	(revision 1481)
@@ -0,0 +1,148 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Check if user uploaded a file
+if(!isset($_FILES['userfile'])) {
+	header("Location: index.php");
+	exit(0);
+}
+
+// do not display notices and warnings during installation
+error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING);
+
+// Setup admin object
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Addons', 'modules_install');
+
+// Include the WB functions file
+require_once(WB_PATH.'/framework/functions.php');
+
+// Set temp vars
+$temp_dir = WB_PATH.'/temp/';
+$temp_file = $temp_dir . $_FILES['userfile']['name'];
+$temp_unzip = WB_PATH.'/temp/unzip/';
+
+// Try to upload the file to the temp dir
+if(!move_uploaded_file($_FILES['userfile']['tmp_name'], $temp_file)) {
+	$admin->print_error($MESSAGE['GENERIC']['CANNOT_UPLOAD']);
+}
+
+// Include the PclZip class file (thanks to 
+require_once(WB_PATH.'/include/pclzip/pclzip.lib.php');
+
+// Remove any vars with name "module_directory"
+unset($module_directory);
+
+// Setup the PclZip object
+$archive = new PclZip($temp_file);
+// Unzip the files to the temp unzip folder
+$list = $archive->extract(PCLZIP_OPT_PATH, $temp_unzip);
+
+// Check if uploaded file is a valid Add-On zip file
+if (!($list && file_exists($temp_unzip . 'index.php'))) $admin->print_error($MESSAGE['GENERIC']['INVALID_ADDON_FILE']);
+
+// Include the modules info file
+require($temp_unzip.'info.php');
+
+// Perform Add-on requirement checks before proceeding
+require(WB_PATH . '/framework/addon.precheck.inc.php');
+preCheckAddon($temp_file);
+
+// Delete the temp unzip directory
+rm_full_dir($temp_unzip);
+
+// Check if the file is valid
+if(!isset($module_directory)) {
+	if(file_exists($temp_file)) { unlink($temp_file); } // Remove temp file
+	$admin->print_error($MESSAGE['GENERIC']['INVALID']);
+}
+
+// Check if this module is already installed
+// and compare versions if so
+$new_module_version=$module_version;
+$action="install";
+if(is_dir(WB_PATH.'/modules/'.$module_directory)) {
+	if(file_exists(WB_PATH.'/modules/'.$module_directory.'/info.php')) {
+		require(WB_PATH.'/modules/'.$module_directory.'/info.php');
+		// Version to be installed is older than currently installed version
+		if (versionCompare($module_version, $new_module_version, '>=')) {
+			if(file_exists($temp_file)) { unlink($temp_file); } // Remove temp file
+			$admin->print_error($MESSAGE['GENERIC']['ALREADY_INSTALLED']);
+		}
+		$action="upgrade";
+	}
+}
+
+// Check if module dir is writable
+if(!is_writable(WB_PATH.'/modules/')) {
+	if(file_exists($temp_file)) { unlink($temp_file); } // Remove temp file
+	$admin->print_error($MESSAGE['GENERIC']['BAD_PERMISSIONS']);
+}
+
+// Set module directory
+$module_dir = WB_PATH.'/modules/'.$module_directory;
+
+// Make sure the module dir exists, and chmod if needed
+make_dir($module_dir);
+
+// Unzip module to the module dir
+$list = $archive->extract(PCLZIP_OPT_PATH, $module_dir);
+if(!$list) {
+	$admin->print_error($MESSAGE['GENERIC']['CANNOT_UNZIP']);
+}
+
+// Delete the temp zip file
+if(file_exists($temp_file)) { unlink($temp_file); }
+
+// Chmod all the uploaded files
+$dir = dir($module_dir);
+while (false !== $entry = $dir->read()) {
+	// Skip pointers
+	if(substr($entry, 0, 1) != '.' AND $entry != '.svn' AND !is_dir($module_dir.'/'.$entry)) {
+		// Chmod file
+		change_mode($module_dir.'/'.$entry, 'file');
+	}
+}
+
+// Run the modules install // upgrade script if there is one
+if(file_exists(WB_PATH.'/modules/'.$module_directory.'/'.$action.'.php')) {
+	require(WB_PATH.'/modules/'.$module_directory.'/'.$action.'.php');
+}
+
+// Print success message
+if ($action=="install") {
+	// Load module info into DB
+	load_module(WB_PATH.'/modules/'.$module_directory, false);
+	$admin->print_success($MESSAGE['GENERIC']['INSTALLED']);
+} else if ($action=="upgrade") {
+	upgrade_module($module_directory, false);
+	$admin->print_success($MESSAGE['GENERIC']['UPGRADED']);
+}	
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/modules/install.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/media/index.php
===================================================================
--- tags/2.8.2/wb/admin/media/index.php	(nonexistent)
+++ tags/2.8.2/wb/admin/media/index.php	(revision 1481)
@@ -0,0 +1,122 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Print admin header
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Media', 'media');
+include ('parameters.php');
+
+// Setup template object
+$template = new Template(THEME_PATH.'/templates');
+$template->set_file('page', 'media.htt');
+$template->set_block('page', 'main_block', 'main');
+
+// Include the WB functions file
+require_once(WB_PATH.'/framework/functions.php');
+
+// Get home folder not to show
+$home_folders = get_home_folders();
+
+// Insert values
+$template->set_block('main_block', 'dir_list_block', 'dir_list');
+$dirs = directory_list(WB_PATH.MEDIA_DIRECTORY);
+$currentHome = $admin->get_home_folder();
+
+if ($currentHome){
+	$dirs = directory_list(WB_PATH.MEDIA_DIRECTORY.$currentHome);
+}
+else
+{
+	$dirs = directory_list(WB_PATH.MEDIA_DIRECTORY);
+}
+$array_lowercase = array_map('strtolower', $dirs);
+array_multisort($array_lowercase, SORT_ASC, SORT_STRING, $dirs);
+foreach($dirs AS $name) {
+	if(!isset($home_folders[str_replace(WB_PATH.MEDIA_DIRECTORY, '', $name)])) {
+		$template->set_var('NAME', str_replace(WB_PATH, '', $name));
+		$template->parse('dir_list', 'dir_list_block', true);
+	}
+}
+
+// Insert permissions values
+if($admin->get_permission('media_create') != true) {
+	$template->set_var('DISPLAY_CREATE', 'hide');
+}
+if($admin->get_permission('media_upload') != true) {
+	$template->set_var('DISPLAY_UPLOAD', 'hide');
+}
+if ($_SESSION['GROUP_ID'] != 1 && $pathsettings['global']['admin_only']) { // Only show admin the settings link
+	$template->set_var('DISPLAY_SETTINGS', 'hide');
+}
+// Workout if the up arrow should be shown
+if(($dirs == '') or ($dirs==$currentHome) or (!array_key_exists('dir', $_GET))) {
+	$display_up_arrow = 'hide';
+} else {
+	$display_up_arrow = '';
+}
+
+// Insert language headings
+$template->set_var(array(
+								'HEADING_BROWSE_MEDIA' => $HEADING['BROWSE_MEDIA'],
+								'HOME_DIRECTORY' => $currentHome,
+								'DISPLAY_UP_ARROW' => $display_up_arrow, // **!
+								'HEADING_CREATE_FOLDER' => $HEADING['CREATE_FOLDER'],
+								'HEADING_UPLOAD_FILES' => $HEADING['UPLOAD_FILES']
+								)
+						);
+// insert urls
+$template->set_var(array(
+								'ADMIN_URL' => ADMIN_URL,
+								'WB_URL' => WB_URL,
+								'WB_PATH' => WB_PATH,
+								'THEME_URL' => THEME_URL
+								)
+						);
+// Insert language text and messages
+$template->set_var(array(
+								'MEDIA_DIRECTORY' => MEDIA_DIRECTORY,
+								'TEXT_NAME' => $TEXT['TITLE'],
+								'TEXT_RELOAD' => $TEXT['RELOAD'],
+								'TEXT_TARGET_FOLDER' => $TEXT['TARGET_FOLDER'],
+								'TEXT_OVERWRITE_EXISTING' => $TEXT['OVERWRITE_EXISTING'],
+								'TEXT_FILES' => $TEXT['FILES'],
+								'TEXT_CREATE_FOLDER' => $TEXT['CREATE_FOLDER'],
+								'TEXT_UPLOAD_FILES' => $TEXT['UPLOAD_FILES'],
+								'CHANGE_SETTINGS' => $TEXT['MODIFY_SETTINGS'],
+								'OPTIONS' => $TEXT['OPTION'],
+								'TEXT_UNZIP_FILE' => $TEXT['UNZIP_FILE'],
+								'TEXT_DELETE_ZIP' => $TEXT['DELETE_ZIP']
+								)
+						);
+
+// Parse template object
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
+
+// Print admin 
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/media/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/media/setparameter.php
===================================================================
--- tags/2.8.2/wb/admin/media/setparameter.php	(nonexistent)
+++ tags/2.8.2/wb/admin/media/setparameter.php	(revision 1481)
@@ -0,0 +1,131 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Media', 'media', false);
+// Include the WB functions file
+require_once(WB_PATH.'/framework/functions.php');
+
+// check if theme language file exists for the language set by the user (e.g. DE, EN)
+if(!file_exists(THEME_PATH .'/languages/'.LANGUAGE .'.php')) {
+	// no theme language file exists for the language set by the user, include default theme language file EN.php
+	require_once(THEME_PATH .'/languages/EN.php');
+} else {
+	// a theme language file exists for the language defined by the user, load it
+	require_once(THEME_PATH .'/languages/'.LANGUAGE .'.php');
+}
+
+//Save post vars to the parameters file
+if ( !is_null($admin->get_post_escaped("save"))) {
+	//Check for existing settings entry, if not existing, create a record first!
+	if (!$database->query ( "SELECT * FROM ".TABLE_PREFIX."settings where `name`='mediasettings'" )) {
+		$database->query ( "INSERT INTO ".TABLE_PREFIX."settings (`name`,`value`) VALUES ('mediasettings','')" );
+	}
+	$dirs = directory_list(WB_PATH.MEDIA_DIRECTORY);
+	$dirs[] = WB_PATH.MEDIA_DIRECTORY;
+	foreach($dirs AS $name) {
+		$r = str_replace(WB_PATH, '', $name);
+		$r = str_replace(array('/',' '),'_',$r);
+		$w = (int)$admin->get_post_escaped($r.'-w');
+		$h = (int)$admin->get_post_escaped($r.'-h');
+		$pathsettings[$r]['width']=$w; 
+		$pathsettings[$r]['height']=$h;
+	}
+	$pathsettings['global']['admin_only'] = ($admin->get_post_escaped('admin_only')!=''?'checked':'');
+	$pathsettings['global']['show_thumbs'] = ($admin->get_post_escaped('show_thumbs')!=''?'checked':'');
+	$fieldSerialized = serialize($pathsettings);
+	$database->query ( "UPDATE ".TABLE_PREFIX."settings SET `value` = '$fieldSerialized' WHERE `name`='mediasettings'" );
+	header ("Location: browse.php");
+}
+
+include ('parameters.php');
+if ($_SESSION['GROUP_ID'] != 1 && $pathsettings['global']['admin_only']) {
+	echo "Sorry, settings not available";
+	exit();
+}
+
+// Read data to display
+$caller = "setparameter";
+
+$template = new Template(THEME_PATH.'/templates');
+$template->set_file('page', 'setparameter.htt');
+$template->set_block('page', 'main_block', 'main');
+if ($_SESSION['GROUP_ID'] != 1) {
+	$template->set_var('DISPLAY_ADMIN', 'hide');
+}
+$template->set_var(array( 
+					'TEXT_HEADER' => $TEXT['TEXT_HEADER'],
+					'SAVE_TEXT' => $TEXT['SAVE'],
+					'BACK' => $TEXT['BACK']
+				)
+			);
+
+
+$template->set_block('main_block', 'list_block', 'list');
+$row_bg_color = '';
+$dirs = directory_list(WB_PATH.MEDIA_DIRECTORY);
+$dirs[] = WB_PATH.MEDIA_DIRECTORY;
+
+$array_lowercase = array_map('strtolower', $dirs);
+array_multisort($array_lowercase, SORT_ASC, SORT_STRING, $dirs);
+
+foreach($dirs AS $name) {
+	$relative = str_replace(WB_PATH, '', $name);
+	$safepath = str_replace(array('/',' '),'_',$relative);
+	$cur_width = $cur_height = '';
+	if (isset($pathsettings[$safepath]['width'])) $cur_width = $pathsettings[$safepath]['width'];
+	if (isset($pathsettings[$safepath]['height'])) $cur_height = $pathsettings[$safepath]['height'];
+	$cur_width = ($cur_width ? (int)$cur_width : '-');
+	$cur_height = ($cur_height ? (int)$cur_height : '-');
+
+	if($row_bg_color == 'DEDEDE') $row_bg_color = 'EEEEEE';
+	else $row_bg_color = 'DEDEDE';
+
+	$template->set_var(array( 
+								'ADMIN_URL' => ADMIN_URL,
+								'PATH_NAME' => $relative,
+								'WIDTH' => $TEXT['WIDTH'],
+								'HEIGHT' => $TEXT['HEIGHT'],
+								'FIELD_NAME_W' => $safepath.'-w',
+								'FIELD_NAME_H' => $safepath.'-h',
+								'CUR_WIDTH' => $cur_width,
+								'CUR_HEIGHT' => $cur_height,
+								'SETTINGS' => $TEXT['SETTINGS'],
+								'ADMIN_ONLY' => $TEXT['ADMIN_ONLY'],
+								'ADMIN_ONLY_SELECTED' => $pathsettings['global']['admin_only'],
+								'NO_SHOW_THUMBS' => $TEXT['NO_SHOW_THUMBS'],
+								'NO_SHOW_THUMBS_SELECTED' => $pathsettings['global']['show_thumbs'],
+								'ROW_BG_COLOR' => $row_bg_color
+							)
+					);
+	$template->parse('list', 'list_block', true);
+}
+
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
+
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/media/setparameter.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/media/upload.php
===================================================================
--- tags/2.8.2/wb/admin/media/upload.php	(nonexistent)
+++ tags/2.8.2/wb/admin/media/upload.php	(revision 1481)
@@ -0,0 +1,141 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Target location
+if(!isset($_POST['target']) OR $_POST['target'] == '') {
+	header("Location: index.php");
+	exit(0);
+} else {
+	$target = $_POST['target'];
+}
+
+// Print admin header
+require('../../config.php');
+include_once('resize_img.php');
+include_once('parameters.php');
+
+require_once(WB_PATH.'/framework/class.admin.php');
+require_once(WB_PATH.'/include/pclzip/pclzip.lib.php');	// Required to unzip file.
+$admin = new admin('Media', 'media_upload');
+
+// Include the WB functions file
+require_once(WB_PATH.'/framework/functions.php');
+
+// Check to see if target contains ../
+if(strstr($target, '../')) {
+	$admin->print_error($MESSAGE['MEDIA']['TARGET_DOT_DOT_SLASH']);
+}
+
+// Create relative path of the target location for the file
+$relative = WB_PATH.$target.'/';
+$resizepath = str_replace(array('/',' '),'_',$target);
+
+// Find out whether we should replace files or give an error
+if($admin->get_post('overwrite') != '') {
+	$overwrite = true;
+} else {
+	$overwrite = false;
+}
+
+// Get list of file types to which we're supposed to append 'txt'
+$get_result=$database->query("SELECT value FROM ".TABLE_PREFIX."settings WHERE name='rename_files_on_upload' LIMIT 1");
+$file_extension_string='';
+if ($get_result->numRows()>0) {
+	$fetch_result=$get_result->fetchRow();
+	$file_extension_string=$fetch_result['value'];
+}
+$file_extensions=explode(",",$file_extension_string);
+
+
+// Loop through the files
+$good_uploads = 0;
+for($count = 1; $count <= 10; $count++) {
+	// If file was upload to tmp
+	if(isset($_FILES["file$count"]['name'])) {
+		// Remove bad characters
+		$filename = media_filename($_FILES["file$count"]['name']);
+		// Check if there is still a filename left
+		if($filename != '') {
+			// Check for potentially malicious files and append 'txt' to their name
+			foreach($file_extensions as $file_ext) {
+				$file_ext_len=strlen($file_ext);
+				if (substr($filename,-$file_ext_len)==$file_ext) {
+					$filename.='.txt';
+				}
+			}		
+			// Move to relative path (in media folder)
+			if(file_exists($relative.$filename) AND $overwrite == true) {			
+				if(move_uploaded_file($_FILES["file$count"]['tmp_name'], $relative.$filename)) {
+					$good_uploads++;
+					// Chmod the uploaded file
+					change_mode($relative.$filename, 'file');
+				}
+			} elseif(!file_exists($relative.$filename)) {
+				if(move_uploaded_file($_FILES["file$count"]['tmp_name'], $relative.$filename)) {
+					$good_uploads++;
+					// Chmod the uploaded file
+					change_mode($relative.$filename);
+				}
+			}
+			
+			if(file_exists($relative.$filename)) {
+				if ($pathsettings[$resizepath]['width'] || $pathsettings[$resizepath]['height'] ) {
+					$rimg=new RESIZEIMAGE($relative.$filename);
+					$rimg->resize_limitwh($pathsettings[$resizepath]['width'],$pathsettings[$resizepath]['height'],$relative.$filename);
+					$rimg->close();
+				}
+			}
+				
+			// store file name of first file for possible unzip action
+			if ($count == 1) {
+				$filename1 = $relative . $filename;
+			}
+		}
+	}
+}
+
+// If the user chose to unzip the first file, unzip into the current folder
+if (isset($_POST['unzip']) && isset($filename1) && file_exists($filename1) ) {
+	$archive = new PclZip($filename1);
+	$list = $archive->extract(PCLZIP_OPT_PATH, $relative);
+	if($list == 0) {
+		// error while trying to extract the archive (most likely wrong format)
+		$admin->print_error('UNABLE TO UNZIP FILE' . $archive -> errorInfo(true));
+	}
+}
+
+if($good_uploads == 1) {
+	$admin->print_success($good_uploads.' '.$MESSAGE['MEDIA']['SINGLE_UPLOADED']);
+	if (isset($_POST['delzip'])) {
+		unlink($filename1);
+	}
+} else {
+	$admin->print_success($good_uploads.' '.$MESSAGE['MEDIA']['UPLOADED']);
+}
+
+// Print admin 
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/media/upload.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/media/browse.php
===================================================================
--- tags/2.8.2/wb/admin/media/browse.php	(nonexistent)
+++ tags/2.8.2/wb/admin/media/browse.php	(revision 1481)
@@ -0,0 +1,290 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Create admin object
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Media', 'media', false);
+
+// Include the WB functions file
+require_once(WB_PATH.'/framework/functions.php');
+include ('parameters.php');
+
+// check if theme language file exists for the language set by the user (e.g. DE, EN)
+if(!file_exists(THEME_PATH .'/languages/'.LANGUAGE .'.php')) {
+	// no theme language file exists for the language set by the user, include default theme language file EN.php
+	require_once(THEME_PATH .'/languages/EN.php');
+} else {
+	// a theme language file exists for the language defined by the user, load it
+	require_once(THEME_PATH .'/languages/'.LANGUAGE .'.php');
+}
+
+// Byte convert for filesize
+function byte_convert($bytes) {
+	$symbol = array(' bytes', ' KB', ' MB', ' GB', ' TB');
+	$exp = 0;
+	$converted_value = 0;
+	if( $bytes > 0 ) {
+		$exp = floor( log($bytes)/log(1024) );
+		$converted_value = ( $bytes/pow(1024,floor($exp)) );
+	}
+	return sprintf( '%.2f '.$symbol[$exp], $converted_value );
+}
+
+// Get file extension
+function get_filetype($fname) {
+	$pathinfo = pathinfo($fname);
+	$extension = strtolower($pathinfo['extension']);
+	return $extension;
+}
+
+// Get file extension for icons
+function get_filetype_icon($fname) {
+	$pathinfo = pathinfo($fname);
+	$extension = strtolower($pathinfo['extension']);
+	if (file_exists(THEME_PATH.'/images/files/'.$extension.'.png')) {
+		return $extension;
+	} else {
+		return 'unknown';
+	}
+}
+
+// Setup template object
+$template = new Template(THEME_PATH.'/templates');
+$template->set_file('page', 'media_browse.htt');
+$template->set_block('page', 'main_block', 'main');
+
+// Get the current dir
+$currentHome = $admin->get_home_folder();
+$directory =	(($currentHome) AND (!array_key_exists('dir',$_GET)))
+				? 
+				$currentHome
+				:
+				$admin->strip_slashes($admin->get_get('dir')) ;
+if($directory == '/' OR $directory == '\\') {
+	$directory = '';
+}
+
+// Check to see if it contains ../
+if(strstr($directory, '../')) {
+	$admin->print_header();
+	$admin->print_error($MESSAGE['MEDIA']['DIR_DOT_DOT_SLASH']);
+}
+
+if(!file_exists(WB_PATH.MEDIA_DIRECTORY.$directory)) {
+	$admin->print_header();
+	$admin->print_error($MESSAGE['MEDIA']['DIR_DOES_NOT_EXIST']);
+}
+
+// Check to see if the user wanted to go up a directory into the parent folder
+if($admin->get_get('up') == 1) {
+	$parent_directory = dirname($directory);
+	header("Location: browse.php?dir=$parent_directory");	
+	exit(0);
+}
+
+if ($_SESSION['GROUP_ID'] != 1 && $pathsettings['global']['admin_only']) { // Only show admin the settings link
+	$template->set_var('DISPLAY_SETTINGS', 'hide');
+}
+
+// Workout the parent dir link
+$parent_dir_link = ADMIN_URL.'/media/browse.php?dir='.$directory.'&up=1';
+// Workout if the up arrow should be shown
+if(($directory == '') or ($directory==$currentHome)) {
+	$display_up_arrow = 'hide';
+} else {
+	$display_up_arrow = '';
+}
+
+// Insert values
+$template->set_var(array(
+								'THEME_URL' => THEME_URL,
+								'CURRENT_DIR' => $directory,
+								'PARENT_DIR_LINK' => $parent_dir_link,
+								'DISPLAY_UP_ARROW' => $display_up_arrow,
+								'INCLUDE_PATH' => WB_URL.'/include'
+								)
+						);
+
+// Get home folder not to show
+$home_folders = get_home_folders();
+
+// Generate list
+$template->set_block('main_block', 'list_block', 'list');
+if($handle = opendir(WB_PATH.MEDIA_DIRECTORY.'/'.$directory)) {
+	// Loop through the files and dirs an add to list
+	while(false !== ($file = readdir($handle))) {
+		if(substr($file, 0, 1) != '.' AND $file != '.svn' AND $file != 'index.php') {
+			if(is_dir(WB_PATH.MEDIA_DIRECTORY.$directory.'/'.$file)) {
+				if(!isset($home_folders[$directory.'/'.$file])) {
+					$DIR[] = $file;
+				}
+			} else {
+				$FILE[] = $file;
+			}
+		}
+	}
+	// Now parse these values to the template
+	$temp_id = 0;
+	$row_bg_color = 'FFF';
+	if(isset($DIR)) {
+		sort($DIR);
+		foreach($DIR AS $name) {
+			$link_name = str_replace(' ', '%20', $name);
+			$temp_id++;
+			$template->set_var(array(
+											'NAME' => $name,
+											'NAME_SLASHED' => addslashes($name),
+											'TEMP_ID' => $temp_id,
+											'LINK' => "browse.php?dir=$directory/$link_name",
+											'LINK_TARGET' => '',
+											'ROW_BG_COLOR' => $row_bg_color,
+											'FT_ICON' => THEME_URL.'/images/folder_16.png',
+											'FILETYPE_ICON' => THEME_URL.'/images/folder_16.png',
+											'MOUSEOVER' => '',
+											'IMAGEDETAIL' => '',
+											'SIZE' => '',
+											'DATE' => '',
+											'PREVIEW' => ''
+											)
+									);
+			$template->parse('list', 'list_block', true);
+			// Code to alternate row colors
+			if($row_bg_color == 'FFF') {
+				$row_bg_color = 'ECF1F3';
+			} else {
+				$row_bg_color = 'FFF';
+			}
+		}
+	}
+	if(isset($FILE)) {
+		sort($FILE);
+		$filepreview = array('jpg','gif','tif','tiff','png','txt','css','js','cfg','conf');
+		foreach($FILE AS $name) {
+			$size = filesize('../../'.MEDIA_DIRECTORY.$directory.'/'.$name);
+			$bytes = byte_convert($size);
+			$fdate = filemtime('../../'.MEDIA_DIRECTORY.$directory.'/'.$name);
+			$date = gmdate(DATE_FORMAT.' '.TIME_FORMAT, $fdate);
+			$filetypeicon = get_filetype_icon(WB_URL.MEDIA_DIRECTORY.$directory.'/'.$name);
+			$filetype = get_filetype(WB_URL.MEDIA_DIRECTORY.$directory.'/'.$name);
+				
+			if (in_array($filetype, $filepreview)) {
+				$preview = 'preview';
+			} else {
+				$preview = '';
+			}
+			$temp_id++;
+			$imgdetail = '';
+			$icon = THEME_URL.'/images/blank.gif';
+			$tooltip = '';
+			
+			
+			if (!$pathsettings['global']['show_thumbs']) {
+				$info = getimagesize(WB_PATH.MEDIA_DIRECTORY.$directory.'/'.$name);
+				if ($info[0]) {
+					$imgdetail = fsize(filesize(WB_PATH.MEDIA_DIRECTORY.$directory.'/'.$name)).'<br /> '.$info[0].' x '.$info[1].' px';
+					$icon = 'thumb.php?t=1&img='.$directory.'/'.$name;
+					$tooltip = ShowTip('thumb.php?t=2&img='.$directory.'/'.$name);
+				}
+			}
+			$template->set_var(array(
+											'NAME' => $name,
+											'NAME_SLASHED' => addslashes($name),
+											'TEMP_ID' => $temp_id,
+											'LINK' => WB_URL.MEDIA_DIRECTORY.$directory.'/'.$name,
+											'LINK_TARGET' => '_blank',
+											'ROW_BG_COLOR' => $row_bg_color,
+											'FT_ICON' => $icon,
+											'FILETYPE_ICON' => THEME_URL.'/images/files/'.$filetypeicon.'.png',
+											'MOUSEOVER' => $tooltip, 
+											'IMAGEDETAIL' => $imgdetail,
+											'SIZE' => $bytes,
+											'DATE' => $date,
+											'PREVIEW' => $preview
+											)
+									);
+			$template->parse('list', 'list_block', true);
+			// Code to alternate row colors
+			if($row_bg_color == 'FFF') {
+				$row_bg_color = 'ECF1F3';
+			} else {
+				$row_bg_color = 'FFF';
+			}
+		}
+	}
+}
+
+// If no files are in the media folder say so
+if($temp_id == 0) {
+	$template->set_var('DISPLAY_LIST_TABLE', 'hide');
+} else {
+	$template->set_var('DISPLAY_NONE_FOUND', 'hide');
+}
+
+// Insert permissions values
+if($admin->get_permission('media_rename') != true) {
+	$template->set_var('DISPLAY_RENAME', 'hide');
+}
+if($admin->get_permission('media_delete') != true) {
+	$template->set_var('DISPLAY_DELETE', 'hide');
+}
+
+// Insert language text and messages
+$template->set_var(array(
+								'MEDIA_DIRECTORY' => MEDIA_DIRECTORY,
+								'TEXT_CURRENT_FOLDER' => $TEXT['CURRENT_FOLDER'],
+								'TEXT_RELOAD' => $TEXT['RELOAD'],
+								'TEXT_RENAME' => $TEXT['RENAME'],
+								'TEXT_DELETE' => $TEXT['DELETE'],
+								'TEXT_SIZE' => $TEXT['SIZE'],
+								'TEXT_DATE' => $TEXT['DATE'],
+								'TEXT_NAME' => $TEXT['NAME'],
+								'TEXT_TYPE' => $TEXT['TYPE'],
+								'TEXT_UP' => $TEXT['UP'],
+								'NONE_FOUND' => $MESSAGE['MEDIA']['NONE_FOUND'],
+								'CHANGE_SETTINGS' => $TEXT['MODIFY_SETTINGS'],
+								'CONFIRM_DELETE' => $MESSAGE['MEDIA']['CONFIRM_DELETE']
+								)
+						);
+
+// Parse template object
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
+
+function ShowTip($name,$detail='') {
+$parts = explode(".", $name);
+$ext = strtolower(end($parts));
+if (strpos('.gif.jpg.jpeg.png.bmp.',$ext) )
+	return 'onmouseover="overlib(\'<img src=\\\''.$name.'\\\' maxwidth=\\\'200\\\' maxheight=\\\'200\\\'>\',VAUTO, WIDTH)" onmouseout="nd()" ' ;
+else
+	return '';
+}
+
+function fsize($size) {
+   if($size == 0) return("0 Bytes");
+   $filesizename = array(" bytes", " kB", " MB", " GB", " TB");
+   return round($size/pow(1024, ($i = floor(log($size, 1024)))), 1) . $filesizename[$i];
+}
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/media/browse.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/media/overlib.js
===================================================================
--- tags/2.8.2/wb/admin/media/overlib.js	(nonexistent)
+++ tags/2.8.2/wb/admin/media/overlib.js	(revision 1481)
@@ -0,0 +1,1491 @@
+//\/////
+//\  overLIB 4.21 - You may not remove or change this notice.
+//\  Copyright Erik Bosrup 1998-2004. All rights reserved.
+//\
+//\  Contributors are listed on the homepage.
+//\  This file might be old, always check for the latest version at:
+//\  http://www.bosrup.com/web/overlib/
+//\
+//\  Please read the license agreement (available through the link above)
+//\  before using overLIB. Direct any licensing questions to erik@bosrup.com.
+//\
+//\  Do not sell this as your own work or remove this copyright notice. 
+//\  For full details on copying or changing this script please read the
+//\  license agreement at the link above. Please give credit on sites that
+//\  use overLIB and submit changes of the script so other people can use
+//\  them as well.
+//   $Revision: 1.119 $                $Date: 2005/07/02 23:41:44 $
+//\/////
+//\mini
+
+////////
+// PRE-INIT
+// Ignore these lines, configuration is below.
+////////
+var olLoaded = 0;var pmStart = 10000000; var pmUpper = 10001000; var pmCount = pmStart+1; var pmt=''; var pms = new Array(); var olInfo = new Info('4.21', 1);
+var FREPLACE = 0; var FBEFORE = 1; var FAFTER = 2; var FALTERNATE = 3; var FCHAIN=4;
+var olHideForm=0;  // parameter for hiding SELECT and ActiveX elements in IE5.5+ 
+var olHautoFlag = 0;  // flags for over-riding VAUTO and HAUTO if corresponding
+var olVautoFlag = 0;  // positioning commands are used on the command line
+var hookPts = new Array(), postParse = new Array(), cmdLine = new Array(), runTime = new Array();
+// for plugins
+registerCommands('donothing,inarray,caparray,sticky,background,noclose,caption,left,right,center,offsetx,offsety,fgcolor,bgcolor,textcolor,capcolor,closecolor,width,border,cellpad,status,autostatus,autostatuscap,height,closetext,snapx,snapy,fixx,fixy,relx,rely,fgbackground,bgbackground,padx,pady,fullhtml,above,below,capicon,textfont,captionfont,closefont,textsize,captionsize,closesize,timeout,function,delay,hauto,vauto,closeclick,wrap,followmouse,mouseoff,closetitle,cssoff,compatmode,cssclass,fgclass,bgclass,textfontclass,captionfontclass,closefontclass');
+
+////////
+// DEFAULT CONFIGURATION
+// Settings you want everywhere are set here. All of this can also be
+// changed on your html page or through an overLIB call.
+////////
+if (typeof ol_fgcolor=='undefined') var ol_fgcolor="#ffffff";
+if (typeof ol_bgcolor=='undefined') var ol_bgcolor="#cccccc";
+if (typeof ol_textcolor=='undefined') var ol_textcolor="#000000";
+if (typeof ol_capcolor=='undefined') var ol_capcolor="#000000";
+if (typeof ol_closecolor=='undefined') var ol_closecolor="#9999FF";
+if (typeof ol_textfont=='undefined') var ol_textfont="Verdana,Arial,Helvetica";
+if (typeof ol_captionfont=='undefined') var ol_captionfont="Verdana,Arial,Helvetica";
+if (typeof ol_closefont=='undefined') var ol_closefont="Verdana,Arial,Helvetica";
+if (typeof ol_textsize=='undefined') var ol_textsize="1";
+if (typeof ol_captionsize=='undefined') var ol_captionsize="1";
+if (typeof ol_closesize=='undefined') var ol_closesize="1";
+if (typeof ol_width=='undefined') var ol_width="200";
+if (typeof ol_border=='undefined') var ol_border="1";
+if (typeof ol_cellpad=='undefined') var ol_cellpad=7;
+if (typeof ol_offsetx=='undefined') var ol_offsetx=10;
+if (typeof ol_offsety=='undefined') var ol_offsety=10;
+if (typeof ol_text=='undefined') var ol_text="";
+if (typeof ol_cap=='undefined') var ol_cap="";
+if (typeof ol_sticky=='undefined') var ol_sticky=0;
+if (typeof ol_background=='undefined') var ol_background="";
+if (typeof ol_close=='undefined') var ol_close="Close";
+if (typeof ol_hpos=='undefined') var ol_hpos=RIGHT;
+if (typeof ol_status=='undefined') var ol_status="";
+if (typeof ol_autostatus=='undefined') var ol_autostatus=0;
+if (typeof ol_height=='undefined') var ol_height=-1;
+if (typeof ol_snapx=='undefined') var ol_snapx=0;
+if (typeof ol_snapy=='undefined') var ol_snapy=0;
+if (typeof ol_fixx=='undefined') var ol_fixx=-1;
+if (typeof ol_fixy=='undefined') var ol_fixy=-1;
+if (typeof ol_relx=='undefined') var ol_relx=null;
+if (typeof ol_rely=='undefined') var ol_rely=null;
+if (typeof ol_fgbackground=='undefined') var ol_fgbackground="";
+if (typeof ol_bgbackground=='undefined') var ol_bgbackground="";
+if (typeof ol_padxl=='undefined') var ol_padxl=1;
+if (typeof ol_padxr=='undefined') var ol_padxr=1;
+if (typeof ol_padyt=='undefined') var ol_padyt=1;
+if (typeof ol_padyb=='undefined') var ol_padyb=1;
+if (typeof ol_fullhtml=='undefined') var ol_fullhtml=0;
+if (typeof ol_vpos=='undefined') var ol_vpos=BELOW;
+if (typeof ol_aboveheight=='undefined') var ol_aboveheight=0;
+if (typeof ol_capicon=='undefined') var ol_capicon="";
+if (typeof ol_frame=='undefined') var ol_frame=self;
+if (typeof ol_timeout=='undefined') var ol_timeout=0;
+if (typeof ol_function=='undefined') var ol_function=null;
+if (typeof ol_delay=='undefined') var ol_delay=0;
+if (typeof ol_hauto=='undefined') var ol_hauto=0;
+if (typeof ol_vauto=='undefined') var ol_vauto=0;
+if (typeof ol_closeclick=='undefined') var ol_closeclick=0;
+if (typeof ol_wrap=='undefined') var ol_wrap=0;
+if (typeof ol_followmouse=='undefined') var ol_followmouse=1;
+if (typeof ol_mouseoff=='undefined') var ol_mouseoff=0;
+if (typeof ol_closetitle=='undefined') var ol_closetitle='Close';
+if (typeof ol_compatmode=='undefined') var ol_compatmode=0;
+if (typeof ol_css=='undefined') var ol_css=CSSOFF;
+if (typeof ol_fgclass=='undefined') var ol_fgclass="";
+if (typeof ol_bgclass=='undefined') var ol_bgclass="";
+if (typeof ol_textfontclass=='undefined') var ol_textfontclass="";
+if (typeof ol_captionfontclass=='undefined') var ol_captionfontclass="";
+if (typeof ol_closefontclass=='undefined') var ol_closefontclass="";
+
+////////
+// ARRAY CONFIGURATION
+////////
+
+// You can use these arrays to store popup text here instead of in the html.
+if (typeof ol_texts=='undefined') var ol_texts = new Array("Text 0", "Text 1");
+if (typeof ol_caps=='undefined') var ol_caps = new Array("Caption 0", "Caption 1");
+
+////////
+// END OF CONFIGURATION
+// Don't change anything below this line, all configuration is above.
+////////
+
+
+
+
+
+////////
+// INIT
+////////
+// Runtime variables init. Don't change for config!
+var o3_text="";
+var o3_cap="";
+var o3_sticky=0;
+var o3_background="";
+var o3_close="Close";
+var o3_hpos=RIGHT;
+var o3_offsetx=2;
+var o3_offsety=2;
+var o3_fgcolor="";
+var o3_bgcolor="";
+var o3_textcolor="";
+var o3_capcolor="";
+var o3_closecolor="";
+var o3_width=100;
+var o3_border=1;
+var o3_cellpad=2;
+var o3_status="";
+var o3_autostatus=0;
+var o3_height=-1;
+var o3_snapx=0;
+var o3_snapy=0;
+var o3_fixx=-1;
+var o3_fixy=-1;
+var o3_relx=null;
+var o3_rely=null;
+var o3_fgbackground="";
+var o3_bgbackground="";
+var o3_padxl=0;
+var o3_padxr=0;
+var o3_padyt=0;
+var o3_padyb=0;
+var o3_fullhtml=0;
+var o3_vpos=BELOW;
+var o3_aboveheight=0;
+var o3_capicon="";
+var o3_textfont="Verdana,Arial,Helvetica";
+var o3_captionfont="Verdana,Arial,Helvetica";
+var o3_closefont="Verdana,Arial,Helvetica";
+var o3_textsize="1";
+var o3_captionsize="1";
+var o3_closesize="1";
+var o3_frame=self;
+var o3_timeout=0;
+var o3_timerid=0;
+var o3_allowmove=0;
+var o3_function=null; 
+var o3_delay=0;
+var o3_delayid=0;
+var o3_hauto=0;
+var o3_vauto=0;
+var o3_closeclick=0;
+var o3_wrap=0;
+var o3_followmouse=1;
+var o3_mouseoff=0;
+var o3_closetitle='';
+var o3_compatmode=0;
+var o3_css=CSSOFF;
+var o3_fgclass="";
+var o3_bgclass="";
+var o3_textfontclass="";
+var o3_captionfontclass="";
+var o3_closefontclass="";
+
+// Display state variables
+var o3_x = 0;
+var o3_y = 0;
+var o3_showingsticky = 0;
+var o3_removecounter = 0;
+
+// Our layer
+var over = null;
+var fnRef, hoveringSwitch = false;
+var olHideDelay;
+
+// Decide browser version
+var isMac = (navigator.userAgent.indexOf("Mac") != -1);
+var olOp = (navigator.userAgent.toLowerCase().indexOf('opera') > -1 && document.createTextNode);  // Opera 7
+var olNs4 = (navigator.appName=='Netscape' && parseInt(navigator.appVersion) == 4);
+var olNs6 = (document.getElementById) ? true : false;
+var olKq = (olNs6 && /konqueror/i.test(navigator.userAgent));
+var olIe4 = (document.all) ? true : false;
+var olIe5 = false; 
+var olIe55 = false; // Added additional variable to identify IE5.5+
+var docRoot = 'document.body';
+
+// Resize fix for NS4.x to keep track of layer
+if (olNs4) {
+	var oW = window.innerWidth;
+	var oH = window.innerHeight;
+	window.onresize = function() { if (oW != window.innerWidth || oH != window.innerHeight) location.reload(); }
+}
+
+// Microsoft Stupidity Check(tm).
+if (olIe4) {
+	var agent = navigator.userAgent;
+	if (/MSIE/.test(agent)) {
+		var versNum = parseFloat(agent.match(/MSIE[ ](\d\.\d+)\.*/i)[1]);
+		if (versNum >= 5){
+			olIe5=true;
+			olIe55=(versNum>=5.5&&!olOp) ? true : false;
+			if (olNs6) olNs6=false;
+		}
+	}
+	if (olNs6) olIe4 = false;
+}
+
+// Check for compatability mode.
+if (document.compatMode && document.compatMode == 'CSS1Compat') {
+	docRoot= ((olIe4 && !olOp) ? 'document.documentElement' : docRoot);
+}
+
+// Add window onload handlers to indicate when all modules have been loaded
+// For Netscape 6+ and Mozilla, uses addEventListener method on the window object
+// For IE it uses the attachEvent method of the window object and for Netscape 4.x
+// it sets the window.onload handler to the OLonload_handler function for Bubbling
+if(window.addEventListener) window.addEventListener("load",OLonLoad_handler,false);
+else if (window.attachEvent) window.attachEvent("onload",OLonLoad_handler);
+
+var capExtent;
+
+////////
+// PUBLIC FUNCTIONS
+////////
+
+// overlib(arg0,...,argN)
+// Loads parameters into global runtime variables.
+function overlib() {
+	if (!olLoaded || isExclusive(overlib.arguments)) return true;
+	if (olCheckMouseCapture) olMouseCapture();
+	if (over) {
+		over = (typeof over.id != 'string') ? o3_frame.document.all['overDiv'] : over;
+		cClick();
+	}
+
+	// Load defaults to runtime.
+  olHideDelay=0;
+	o3_text=ol_text;
+	o3_cap=ol_cap;
+	o3_sticky=ol_sticky;
+	o3_background=ol_background;
+	o3_close=ol_close;
+	o3_hpos=ol_hpos;
+	o3_offsetx=ol_offsetx;
+	o3_offsety=ol_offsety;
+	o3_fgcolor=ol_fgcolor;
+	o3_bgcolor=ol_bgcolor;
+	o3_textcolor=ol_textcolor;
+	o3_capcolor=ol_capcolor;
+	o3_closecolor=ol_closecolor;
+	o3_width=ol_width;
+	o3_border=ol_border;
+	o3_cellpad=ol_cellpad;
+	o3_status=ol_status;
+	o3_autostatus=ol_autostatus;
+	o3_height=ol_height;
+	o3_snapx=ol_snapx;
+	o3_snapy=ol_snapy;
+	o3_fixx=ol_fixx;
+	o3_fixy=ol_fixy;
+	o3_relx=ol_relx;
+	o3_rely=ol_rely;
+	o3_fgbackground=ol_fgbackground;
+	o3_bgbackground=ol_bgbackground;
+	o3_padxl=ol_padxl;
+	o3_padxr=ol_padxr;
+	o3_padyt=ol_padyt;
+	o3_padyb=ol_padyb;
+	o3_fullhtml=ol_fullhtml;
+	o3_vpos=ol_vpos;
+	o3_aboveheight=ol_aboveheight;
+	o3_capicon=ol_capicon;
+	o3_textfont=ol_textfont;
+	o3_captionfont=ol_captionfont;
+	o3_closefont=ol_closefont;
+	o3_textsize=ol_textsize;
+	o3_captionsize=ol_captionsize;
+	o3_closesize=ol_closesize;
+	o3_timeout=ol_timeout;
+	o3_function=ol_function;
+	o3_delay=ol_delay;
+	o3_hauto=ol_hauto;
+	o3_vauto=ol_vauto;
+	o3_closeclick=ol_closeclick;
+	o3_wrap=ol_wrap;	
+	o3_followmouse=ol_followmouse;
+	o3_mouseoff=ol_mouseoff;
+	o3_closetitle=ol_closetitle;
+	o3_css=ol_css;
+	o3_compatmode=ol_compatmode;
+	o3_fgclass=ol_fgclass;
+	o3_bgclass=ol_bgclass;
+	o3_textfontclass=ol_textfontclass;
+	o3_captionfontclass=ol_captionfontclass;
+	o3_closefontclass=ol_closefontclass;
+	
+	setRunTimeVariables();
+	
+	fnRef = '';
+	
+	// Special for frame support, over must be reset...
+	o3_frame = ol_frame;
+	
+	if(!(over=createDivContainer())) return false;
+
+	parseTokens('o3_', overlib.arguments);
+	if (!postParseChecks()) return false;
+
+	if (o3_delay == 0) {
+		return runHook("olMain", FREPLACE);
+ 	} else {
+		o3_delayid = setTimeout("runHook('olMain', FREPLACE)", o3_delay);
+		return false;
+	}
+}
+
+// Clears popups if appropriate
+function nd(time) {
+	if (olLoaded && !isExclusive()) {
+		hideDelay(time);  // delay popup close if time specified
+
+		if (o3_removecounter >= 1) { o3_showingsticky = 0 };
+		
+		if (o3_showingsticky == 0) {
+			o3_allowmove = 0;
+			if (over != null && o3_timerid == 0) runHook("hideObject", FREPLACE, over);
+		} else {
+			o3_removecounter++;
+		}
+	}
+	
+	return true;
+}
+
+// The Close onMouseOver function for stickies
+function cClick() {
+	if (olLoaded) {
+		runHook("hideObject", FREPLACE, over);
+		o3_showingsticky = 0;	
+	}	
+	return false;
+}
+
+// Method for setting page specific defaults.
+function overlib_pagedefaults() {
+	parseTokens('ol_', overlib_pagedefaults.arguments);
+}
+
+
+////////
+// OVERLIB MAIN FUNCTION
+////////
+
+// This function decides what it is we want to display and how we want it done.
+function olMain() {
+	var layerhtml, styleType;
+ 	runHook("olMain", FBEFORE);
+ 	
+	if (o3_background!="" || o3_fullhtml) {
+		// Use background instead of box.
+		layerhtml = runHook('ol_content_background', FALTERNATE, o3_css, o3_text, o3_background, o3_fullhtml);
+	} else {
+		// They want a popup box.
+		styleType = (pms[o3_css-1-pmStart] == "cssoff" || pms[o3_css-1-pmStart] == "cssclass");
+
+		// Prepare popup background
+		if (o3_fgbackground != "") o3_fgbackground = "background=\""+o3_fgbackground+"\"";
+		if (o3_bgbackground != "") o3_bgbackground = (styleType ? "background=\""+o3_bgbackground+"\"" : o3_bgbackground);
+
+		// Prepare popup colors
+		if (o3_fgcolor != "") o3_fgcolor = (styleType ? "bgcolor=\""+o3_fgcolor+"\"" : o3_fgcolor);
+		if (o3_bgcolor != "") o3_bgcolor = (styleType ? "bgcolor=\""+o3_bgcolor+"\"" : o3_bgcolor);
+
+		// Prepare popup height
+		if (o3_height > 0) o3_height = (styleType ? "height=\""+o3_height+"\"" : o3_height);
+		else o3_height = "";
+
+		// Decide which kinda box.
+		if (o3_cap=="") {
+			// Plain
+			layerhtml = runHook('ol_content_simple', FALTERNATE, o3_css, o3_text);
+		} else {
+			// With caption
+			if (o3_sticky) {
+				// Show close text
+				layerhtml = runHook('ol_content_caption', FALTERNATE, o3_css, o3_text, o3_cap, o3_close);
+			} else {
+				// No close text
+				layerhtml = runHook('ol_content_caption', FALTERNATE, o3_css, o3_text, o3_cap, "");
+			}
+		}
+	}	
+
+	// We want it to stick!
+	if (o3_sticky) {
+		if (o3_timerid > 0) {
+			clearTimeout(o3_timerid);
+			o3_timerid = 0;
+		}
+		o3_showingsticky = 1;
+		o3_removecounter = 0;
+	}
+
+	// Created a separate routine to generate the popup to make it easier
+	// to implement a plugin capability
+	if (!runHook("createPopup", FREPLACE, layerhtml)) return false;
+
+	// Prepare status bar
+	if (o3_autostatus > 0) {
+		o3_status = o3_text;
+		if (o3_autostatus > 1) o3_status = o3_cap;
+	}
+
+	// When placing the layer the first time, even stickies may be moved.
+	o3_allowmove = 0;
+
+	// Initiate a timer for timeout
+	if (o3_timeout > 0) {          
+		if (o3_timerid > 0) clearTimeout(o3_timerid);
+		o3_timerid = setTimeout("cClick()", o3_timeout);
+	}
+
+	// Show layer
+	runHook("disp", FREPLACE, o3_status);
+	runHook("olMain", FAFTER);
+
+	return (olOp && event && event.type == 'mouseover' && !o3_status) ? '' : (o3_status != '');
+}
+
+////////
+// LAYER GENERATION FUNCTIONS
+////////
+// These functions just handle popup content with tags that should adhere to the W3C standards specification.
+
+// Makes simple table without caption
+function ol_content_simple(text) {
+	var cpIsMultiple = /,/.test(o3_cellpad);
+	var txt = '<table width="'+o3_width+ '" border="0" cellpadding="'+o3_border+'" cellspacing="0" '+(o3_bgclass ? 'class="'+o3_bgclass+'"' : o3_bgcolor+' '+o3_height)+'><tr><td><table width="100%" border="0" '+((olNs4||!cpIsMultiple) ? 'cellpadding="'+o3_cellpad+'" ' : '')+'cellspacing="0" '+(o3_fgclass ? 'class="'+o3_fgclass+'"' : o3_fgcolor+' '+o3_fgbackground+' '+o3_height)+'><tr><td valign="TOP"'+(o3_textfontclass ? ' class="'+o3_textfontclass+'">' : ((!olNs4&&cpIsMultiple) ? ' style="'+setCellPadStr(o3_cellpad)+'">' : '>'))+(o3_textfontclass ? '' : wrapStr(0,o3_textsize,'text'))+text+(o3_textfontclass ? '' : wrapStr(1,o3_textsize))+'</td></tr></table></td></tr></table>';
+
+	set_background("");
+	return txt;
+}
+
+// Makes table with caption and optional close link
+function ol_content_caption(text,title,close) {
+	var nameId, txt, cpIsMultiple = /,/.test(o3_cellpad);
+	var closing, closeevent;
+
+	closing = "";
+	closeevent = "onmouseover";
+	if (o3_closeclick == 1) closeevent = (o3_closetitle ? "title='" + o3_closetitle +"'" : "") + " onclick";
+	if (o3_capicon != "") {
+	  nameId = ' hspace = \"5\"'+' align = \"middle\" alt = \"\"';
+	  if (typeof o3_dragimg != 'undefined' && o3_dragimg) nameId =' hspace=\"5\"'+' name=\"'+o3_dragimg+'\" id=\"'+o3_dragimg+'\" align=\"middle\" alt=\"Drag Enabled\" title=\"Drag Enabled\"';
+	  o3_capicon = '<img src=\"'+o3_capicon+'\"'+nameId+' />';
+	}
+
+	if (close != "")
+		closing = '<td '+(!o3_compatmode && o3_closefontclass ? 'class="'+o3_closefontclass : 'align="RIGHT')+'"><a href="javascript:return '+fnRef+'cClick();"'+((o3_compatmode && o3_closefontclass) ? ' class="' + o3_closefontclass + '" ' : ' ')+closeevent+'="return '+fnRef+'cClick();">'+(o3_closefontclass ? '' : wrapStr(0,o3_closesize,'close'))+close+(o3_closefontclass ? '' : wrapStr(1,o3_closesize,'close'))+'</a></td>';
+	txt = '<table width="'+o3_width+ '" border="0" cellpadding="'+o3_border+'" cellspacing="0" '+(o3_bgclass ? 'class="'+o3_bgclass+'"' : o3_bgcolor+' '+o3_bgbackground+' '+o3_height)+'><tr><td><table width="100%" border="0" cellpadding="2" cellspacing="0"><tr><td'+(o3_captionfontclass ? ' class="'+o3_captionfontclass+'">' : '>')+(o3_captionfontclass ? '' : '<b>'+wrapStr(0,o3_captionsize,'caption'))+o3_capicon+title+(o3_captionfontclass ? '' : wrapStr(1,o3_captionsize)+'</b>')+'</td>'+closing+'</tr></table><table width="100%" border="0" '+((olNs4||!cpIsMultiple) ? 'cellpadding="'+o3_cellpad+'" ' : '')+'cellspacing="0" '+(o3_fgclass ? 'class="'+o3_fgclass+'"' : o3_fgcolor+' '+o3_fgbackground+' '+o3_height)+'><tr><td valign="TOP"'+(o3_textfontclass ? ' class="'+o3_textfontclass+'">' :((!olNs4&&cpIsMultiple) ? ' style="'+setCellPadStr(o3_cellpad)+'">' : '>'))+(o3_textfontclass ? '' : wrapStr(0,o3_textsize,'text'))+text+(o3_textfontclass ? '' : wrapStr(1,o3_textsize)) + '</td></tr></table></td></tr></table>';
+
+	set_background("");
+	return txt;
+}
+
+// Sets the background picture,padding and lots more. :)
+function ol_content_background(text,picture,hasfullhtml) {
+	if (hasfullhtml) {
+		txt=text;
+	} else {
+		txt='<table width="'+o3_width+'" border="0" cellpadding="0" cellspacing="0" height="'+o3_height+'"><tr><td colspan="3" height="'+o3_padyt+'"></td></tr><tr><td width="'+o3_padxl+'"></td><td valign="TOP" width="'+(o3_width-o3_padxl-o3_padxr)+(o3_textfontclass ? '" class="'+o3_textfontclass : '')+'">'+(o3_textfontclass ? '' : wrapStr(0,o3_textsize,'text'))+text+(o3_textfontclass ? '' : wrapStr(1,o3_textsize))+'</td><td width="'+o3_padxr+'"></td></tr><tr><td colspan="3" height="'+o3_padyb+'"></td></tr></table>';
+	}
+
+	set_background(picture);
+	return txt;
+}
+
+// Loads a picture into the div.
+function set_background(pic) {
+	if (pic == "") {
+		if (olNs4) {
+			over.background.src = null; 
+		} else if (over.style) {
+			over.style.backgroundImage = "none";
+		}
+	} else {
+		if (olNs4) {
+			over.background.src = pic;
+		} else if (over.style) {
+			over.style.width=o3_width + 'px';
+			over.style.backgroundImage = "url("+pic+")";
+		}
+	}
+}
+
+////////
+// HANDLING FUNCTIONS
+////////
+var olShowId=-1;
+
+// Displays the popup
+function disp(statustext) {
+	runHook("disp", FBEFORE);
+	
+	if (o3_allowmove == 0) {
+		runHook("placeLayer", FREPLACE);
+		(olNs6&&olShowId<0) ? olShowId=setTimeout("runHook('showObject', FREPLACE, over)", 1) : runHook("showObject", FREPLACE, over);
+		o3_allowmove = (o3_sticky || o3_followmouse==0) ? 0 : 1;
+	}
+	
+	runHook("disp", FAFTER);
+
+	if (statustext != "") self.status = statustext;
+}
+
+// Creates the actual popup structure
+function createPopup(lyrContent){
+	runHook("createPopup", FBEFORE);
+	
+	if (o3_wrap) {
+		var wd,ww,theObj = (olNs4 ? over : over.style);
+		theObj.top = theObj.left = ((olIe4&&!olOp) ? 0 : -10000) + (!olNs4 ? 'px' : 0);
+		layerWrite(lyrContent);
+		wd = (olNs4 ? over.clip.width : over.offsetWidth);
+		if (wd > (ww=windowWidth())) {
+			lyrContent=lyrContent.replace(/\&nbsp;/g, ' ');
+			o3_width=ww;
+			o3_wrap=0;
+		} 
+	}
+
+	layerWrite(lyrContent);
+	
+	// Have to set o3_width for placeLayer() routine if o3_wrap is turned on
+	if (o3_wrap) o3_width=(olNs4 ? over.clip.width : over.offsetWidth);
+	
+	runHook("createPopup", FAFTER, lyrContent);
+
+	return true;
+}
+
+// Decides where we want the popup.
+function placeLayer() {
+	var placeX, placeY, widthFix = 0;
+	
+	// HORIZONTAL PLACEMENT, re-arranged to work in Safari
+	if (o3_frame.innerWidth) widthFix=18; 
+	iwidth = windowWidth();
+
+	// Horizontal scroll offset
+	winoffset=(olIe4) ? eval('o3_frame.'+docRoot+'.scrollLeft') : o3_frame.pageXOffset;
+
+	placeX = runHook('horizontalPlacement',FCHAIN,iwidth,winoffset,widthFix);
+
+	// VERTICAL PLACEMENT, re-arranged to work in Safari
+	if (o3_frame.innerHeight) {
+		iheight=o3_frame.innerHeight;
+	} else if (eval('o3_frame.'+docRoot)&&eval("typeof o3_frame."+docRoot+".clientHeight=='number'")&&eval('o3_frame.'+docRoot+'.clientHeight')) { 
+		iheight=eval('o3_frame.'+docRoot+'.clientHeight');
+	}			
+
+	// Vertical scroll offset
+	scrolloffset=(olIe4) ? eval('o3_frame.'+docRoot+'.scrollTop') : o3_frame.pageYOffset;
+	placeY = runHook('verticalPlacement',FCHAIN,iheight,scrolloffset);
+
+	// Actually move the object.
+	repositionTo(over, placeX, placeY);
+}
+
+// Moves the layer
+function olMouseMove(e) {
+	var e = (e) ? e : event;
+
+	if (e.pageX) {
+		o3_x = e.pageX;
+		o3_y = e.pageY;
+	} else if (e.clientX) {
+		o3_x = eval('e.clientX+o3_frame.'+docRoot+'.scrollLeft');
+		o3_y = eval('e.clientY+o3_frame.'+docRoot+'.scrollTop');
+	}
+	
+	if (o3_allowmove == 1) runHook("placeLayer", FREPLACE);
+
+	// MouseOut handler
+	if (hoveringSwitch && !olNs4 && runHook("cursorOff", FREPLACE)) {
+		(olHideDelay ? hideDelay(olHideDelay) : cClick());
+		hoveringSwitch = !hoveringSwitch;
+	}
+}
+
+// Fake function for 3.0 users.
+function no_overlib() { return ver3fix; }
+
+// Capture the mouse and chain other scripts.
+function olMouseCapture() {
+	capExtent = document;
+	var fN, str = '', l, k, f, wMv, sS, mseHandler = olMouseMove;
+	var re = /function[ ]*(\w*)\(/;
+	
+	wMv = (!olIe4 && window.onmousemove);
+	if (document.onmousemove || wMv) {
+		if (wMv) capExtent = window;
+		f = capExtent.onmousemove.toString();
+		fN = f.match(re);
+		if (fN == null) {
+			str = f+'(e); ';
+		} else if (fN[1] == 'anonymous' || fN[1] == 'olMouseMove' || (wMv && fN[1] == 'onmousemove')) {
+			if (!olOp && wMv) {
+				l = f.indexOf('{')+1;
+				k = f.lastIndexOf('}');
+				sS = f.substring(l,k);
+				if ((l = sS.indexOf('(')) != -1) {
+					sS = sS.substring(0,l).replace(/^\s+/,'').replace(/\s+$/,'');
+					if (eval("typeof " + sS + " == 'undefined'")) window.onmousemove = null;
+					else str = sS + '(e);';
+				}
+			}
+			if (!str) {
+				olCheckMouseCapture = false;
+				return;
+			}
+		} else {
+			if (fN[1]) str = fN[1]+'(e); ';
+			else {
+				l = f.indexOf('{')+1;
+				k = f.lastIndexOf('}');
+				str = f.substring(l,k) + '\n';
+			}
+		}
+		str += 'olMouseMove(e); ';
+		mseHandler = new Function('e', str);
+	}
+
+	capExtent.onmousemove = mseHandler;
+	if (olNs4) capExtent.captureEvents(Event.MOUSEMOVE);
+}
+
+////////
+// PARSING FUNCTIONS
+////////
+
+// Does the actual command parsing.
+function parseTokens(pf, ar) {
+	// What the next argument is expected to be.
+	var v, i, mode=-1, par = (pf != 'ol_');	
+	var fnMark = (par && !ar.length ? 1 : 0);
+
+	for (i = 0; i < ar.length; i++) {
+		if (mode < 0) {
+			// Arg is maintext,unless its a number between pmStart and pmUpper
+			// then its a command.
+			if (typeof ar[i] == 'number' && ar[i] > pmStart && ar[i] < pmUpper) {
+				fnMark = (par ? 1 : 0);
+				i--;   // backup one so that the next block can parse it
+			} else {
+				switch(pf) {
+					case 'ol_':
+						ol_text = ar[i].toString();
+						break;
+					default:
+						o3_text=ar[i].toString();  
+				}
+			}
+			mode = 0;
+		} else {
+			// Note: NS4 doesn't like switch cases with vars.
+			if (ar[i] >= pmCount || ar[i]==DONOTHING) { continue; }
+			if (ar[i]==INARRAY) { fnMark = 0; eval(pf+'text=ol_texts['+ar[++i]+'].toString()'); continue; }
+			if (ar[i]==CAPARRAY) { eval(pf+'cap=ol_caps['+ar[++i]+'].toString()'); continue; }
+			if (ar[i]==STICKY) { if (pf!='ol_') eval(pf+'sticky=1'); continue; }
+			if (ar[i]==BACKGROUND) { eval(pf+'background="'+ar[++i]+'"'); continue; }
+			if (ar[i]==NOCLOSE) { if (pf!='ol_') opt_NOCLOSE(); continue; }
+			if (ar[i]==CAPTION) { eval(pf+"cap='"+escSglQuote(ar[++i])+"'"); continue; }
+			if (ar[i]==CENTER || ar[i]==LEFT || ar[i]==RIGHT) { eval(pf+'hpos='+ar[i]); if(pf!='ol_') olHautoFlag=1; continue; }
+			if (ar[i]==OFFSETX) { eval(pf+'offsetx='+ar[++i]); continue; }
+			if (ar[i]==OFFSETY) { eval(pf+'offsety='+ar[++i]); continue; }
+			if (ar[i]==FGCOLOR) { eval(pf+'fgcolor="'+ar[++i]+'"'); continue; }
+			if (ar[i]==BGCOLOR) { eval(pf+'bgcolor="'+ar[++i]+'"'); continue; }
+			if (ar[i]==TEXTCOLOR) { eval(pf+'textcolor="'+ar[++i]+'"'); continue; }
+			if (ar[i]==CAPCOLOR) { eval(pf+'capcolor="'+ar[++i]+'"'); continue; }
+			if (ar[i]==CLOSECOLOR) { eval(pf+'closecolor="'+ar[++i]+'"'); continue; }
+			if (ar[i]==WIDTH) { eval(pf+'width='+ar[++i]); continue; }
+			if (ar[i]==BORDER) { eval(pf+'border='+ar[++i]); continue; }
+			if (ar[i]==CELLPAD) { i=opt_MULTIPLEARGS(++i,ar,(pf+'cellpad')); continue; }
+			if (ar[i]==STATUS) { eval(pf+"status='"+escSglQuote(ar[++i])+"'"); continue; }
+			if (ar[i]==AUTOSTATUS) { eval(pf +'autostatus=('+pf+'autostatus == 1) ? 0 : 1'); continue; }
+			if (ar[i]==AUTOSTATUSCAP) { eval(pf +'autostatus=('+pf+'autostatus == 2) ? 0 : 2'); continue; }
+			if (ar[i]==HEIGHT) { eval(pf+'height='+pf+'aboveheight='+ar[++i]); continue; } // Same param again.
+			if (ar[i]==CLOSETEXT) { eval(pf+"close='"+escSglQuote(ar[++i])+"'"); continue; }
+			if (ar[i]==SNAPX) { eval(pf+'snapx='+ar[++i]); continue; }
+			if (ar[i]==SNAPY) { eval(pf+'snapy='+ar[++i]); continue; }
+			if (ar[i]==FIXX) { eval(pf+'fixx='+ar[++i]); continue; }
+			if (ar[i]==FIXY) { eval(pf+'fixy='+ar[++i]); continue; }
+			if (ar[i]==RELX) { eval(pf+'relx='+ar[++i]); continue; }
+			if (ar[i]==RELY) { eval(pf+'rely='+ar[++i]); continue; }
+			if (ar[i]==FGBACKGROUND) { eval(pf+'fgbackground="'+ar[++i]+'"'); continue; }
+			if (ar[i]==BGBACKGROUND) { eval(pf+'bgbackground="'+ar[++i]+'"'); continue; }
+			if (ar[i]==PADX) { eval(pf+'padxl='+ar[++i]); eval(pf+'padxr='+ar[++i]); continue; }
+			if (ar[i]==PADY) { eval(pf+'padyt='+ar[++i]); eval(pf+'padyb='+ar[++i]); continue; }
+			if (ar[i]==FULLHTML) { if (pf!='ol_') eval(pf+'fullhtml=1'); continue; }
+			if (ar[i]==BELOW || ar[i]==ABOVE) { eval(pf+'vpos='+ar[i]); if (pf!='ol_') olVautoFlag=1; continue; }
+			if (ar[i]==CAPICON) { eval(pf+'capicon="'+ar[++i]+'"'); continue; }
+			if (ar[i]==TEXTFONT) { eval(pf+"textfont='"+escSglQuote(ar[++i])+"'"); continue; }
+			if (ar[i]==CAPTIONFONT) { eval(pf+"captionfont='"+escSglQuote(ar[++i])+"'"); continue; }
+			if (ar[i]==CLOSEFONT) { eval(pf+"closefont='"+escSglQuote(ar[++i])+"'"); continue; }
+			if (ar[i]==TEXTSIZE) { eval(pf+'textsize="'+ar[++i]+'"'); continue; }
+			if (ar[i]==CAPTIONSIZE) { eval(pf+'captionsize="'+ar[++i]+'"'); continue; }
+			if (ar[i]==CLOSESIZE) { eval(pf+'closesize="'+ar[++i]+'"'); continue; }
+			if (ar[i]==TIMEOUT) { eval(pf+'timeout='+ar[++i]); continue; }
+			if (ar[i]==FUNCTION) { if (pf=='ol_') { if (typeof ar[i+1]!='number') { v=ar[++i]; ol_function=(typeof v=='function' ? v : null); }} else {fnMark = 0; v = null; if (typeof ar[i+1]!='number') v = ar[++i];  opt_FUNCTION(v); } continue; }
+			if (ar[i]==DELAY) { eval(pf+'delay='+ar[++i]); continue; }
+			if (ar[i]==HAUTO) { eval(pf+'hauto=('+pf+'hauto == 0) ? 1 : 0'); continue; }
+			if (ar[i]==VAUTO) { eval(pf+'vauto=('+pf+'vauto == 0) ? 1 : 0'); continue; }
+			if (ar[i]==CLOSECLICK) { eval(pf +'closeclick=('+pf+'closeclick == 0) ? 1 : 0'); continue; }
+			if (ar[i]==WRAP) { eval(pf +'wrap=('+pf+'wrap == 0) ? 1 : 0'); continue; }
+			if (ar[i]==FOLLOWMOUSE) { eval(pf +'followmouse=('+pf+'followmouse == 1) ? 0 : 1'); continue; }
+			if (ar[i]==MOUSEOFF) { eval(pf +'mouseoff=('+pf+'mouseoff==0) ? 1 : 0'); v=ar[i+1]; if (pf != 'ol_' && eval(pf+'mouseoff') && typeof v == 'number' && (v < pmStart || v > pmUpper)) olHideDelay=ar[++i]; continue; }
+			if (ar[i]==CLOSETITLE) { eval(pf+"closetitle='"+escSglQuote(ar[++i])+"'"); continue; }
+			if (ar[i]==CSSOFF||ar[i]==CSSCLASS) { eval(pf+'css='+ar[i]); continue; }
+			if (ar[i]==COMPATMODE) { eval(pf+'compatmode=('+pf+'compatmode==0) ? 1 : 0'); continue; }
+			if (ar[i]==FGCLASS) { eval(pf+'fgclass="'+ar[++i]+'"'); continue; }
+			if (ar[i]==BGCLASS) { eval(pf+'bgclass="'+ar[++i]+'"'); continue; }
+			if (ar[i]==TEXTFONTCLASS) { eval(pf+'textfontclass="'+ar[++i]+'"'); continue; }
+			if (ar[i]==CAPTIONFONTCLASS) { eval(pf+'captionfontclass="'+ar[++i]+'"'); continue; }
+			if (ar[i]==CLOSEFONTCLASS) { eval(pf+'closefontclass="'+ar[++i]+'"'); continue; }
+			i = parseCmdLine(pf, i, ar);
+		}
+	}
+
+	if (fnMark && o3_function) o3_text = o3_function();
+	
+	if ((pf == 'o3_') && o3_wrap) {
+		o3_width = 0;
+		
+		var tReg=/<.*\n*>/ig;
+		if (!tReg.test(o3_text)) o3_text = o3_text.replace(/[ ]+/g, '&nbsp;');
+		if (!tReg.test(o3_cap))o3_cap = o3_cap.replace(/[ ]+/g, '&nbsp;');
+	}
+	if ((pf == 'o3_') && o3_sticky) {
+		if (!o3_close && (o3_frame != ol_frame)) o3_close = ol_close;
+		if (o3_mouseoff && (o3_frame == ol_frame)) opt_NOCLOSE(' ');
+	}
+}
+
+
+////////
+// LAYER FUNCTIONS
+////////
+
+// Writes to a layer
+function layerWrite(txt) {
+	txt += "\n";
+	if (olNs4) {
+		var lyr = o3_frame.document.layers['overDiv'].document
+		lyr.write(txt)
+		lyr.close()
+	} else if (typeof over.innerHTML != 'undefined') {
+		if (olIe5 && isMac) over.innerHTML = '';
+		over.innerHTML = txt;
+	} else {
+		range = o3_frame.document.createRange();
+		range.setStartAfter(over);
+		domfrag = range.createContextualFragment(txt);
+		
+		while (over.hasChildNodes()) {
+			over.removeChild(over.lastChild);
+		}
+		
+		over.appendChild(domfrag);
+	}
+}
+
+// Make an object visible
+function showObject(obj) {
+	runHook("showObject", FBEFORE);
+
+	var theObj=(olNs4 ? obj : obj.style);
+	theObj.visibility = 'visible';
+
+	runHook("showObject", FAFTER);
+}
+
+// Hides an object
+function hideObject(obj) {
+	runHook("hideObject", FBEFORE);
+
+	var theObj=(olNs4 ? obj : obj.style);
+	if (olNs6 && olShowId>0) { clearTimeout(olShowId); olShowId=0; }
+	theObj.visibility = 'hidden';
+	theObj.top = theObj.left = ((olIe4&&!olOp) ? 0 : -10000) + (!olNs4 ? 'px' : 0);
+
+	if (o3_timerid > 0) clearTimeout(o3_timerid);
+	if (o3_delayid > 0) clearTimeout(o3_delayid);
+
+	o3_timerid = 0;
+	o3_delayid = 0;
+	self.status = "";
+
+	if (obj.onmouseout||obj.onmouseover) {
+		if (olNs4) obj.releaseEvents(Event.MOUSEOUT || Event.MOUSEOVER);
+		obj.onmouseout = obj.onmouseover = null;
+	}
+
+	runHook("hideObject", FAFTER);
+}
+
+// Move a layer
+function repositionTo(obj, xL, yL) {
+	var theObj=(olNs4 ? obj : obj.style);
+	theObj.left = xL + (!olNs4 ? 'px' : 0);
+	theObj.top = yL + (!olNs4 ? 'px' : 0);
+}
+
+// Check position of cursor relative to overDiv DIVision; mouseOut function
+function cursorOff() {
+	var left = parseInt(over.style.left);
+	var top = parseInt(over.style.top);
+	var right = left + (over.offsetWidth >= parseInt(o3_width) ? over.offsetWidth : parseInt(o3_width));
+	var bottom = top + (over.offsetHeight >= o3_aboveheight ? over.offsetHeight : o3_aboveheight);
+
+	if (o3_x < left || o3_x > right || o3_y < top || o3_y > bottom) return true;
+
+	return false;
+}
+
+
+////////
+// COMMAND FUNCTIONS
+////////
+
+// Calls callme or the default function.
+function opt_FUNCTION(callme) {
+	o3_text = (callme ? (typeof callme=='string' ? (/.+\(.*\)/.test(callme) ? eval(callme) : callme) : callme()) : (o3_function ? o3_function() : 'No Function'));
+
+	return 0;
+}
+
+// Handle hovering
+function opt_NOCLOSE(unused) {
+	if (!unused) o3_close = "";
+
+	if (olNs4) {
+		over.captureEvents(Event.MOUSEOUT || Event.MOUSEOVER);
+		over.onmouseover = function () { if (o3_timerid > 0) { clearTimeout(o3_timerid); o3_timerid = 0; } }
+		over.onmouseout = function (e) { if (olHideDelay) hideDelay(olHideDelay); else cClick(e); }
+	} else {
+		over.onmouseover = function () {hoveringSwitch = true; if (o3_timerid > 0) { clearTimeout(o3_timerid); o3_timerid =0; } }
+	}
+
+	return 0;
+}
+
+// Function to scan command line arguments for multiples
+function opt_MULTIPLEARGS(i, args, parameter) {
+  var k=i, re, pV, str='';
+
+  for(k=i; k<args.length; k++) {
+		if(typeof args[k] == 'number' && args[k]>pmStart) break;
+		str += args[k] + ',';
+	}
+	if (str) str = str.substring(0,--str.length);
+
+	k--;  // reduce by one so the for loop this is in works correctly
+	pV=(olNs4 && /cellpad/i.test(parameter)) ? str.split(',')[0] : str;
+	eval(parameter + '="' + pV + '"');
+
+	return k;
+}
+
+// Remove &nbsp; in texts when done.
+function nbspCleanup() {
+	if (o3_wrap) {
+		o3_text = o3_text.replace(/\&nbsp;/g, ' ');
+		o3_cap = o3_cap.replace(/\&nbsp;/g, ' ');
+	}
+}
+
+// Escape embedded single quotes in text strings
+function escSglQuote(str) {
+  return str.toString().replace(/'/g,"\\'");
+}
+
+// Onload handler for window onload event
+function OLonLoad_handler(e) {
+	var re = /\w+\(.*\)[;\s]+/g, olre = /overlib\(|nd\(|cClick\(/, fn, l, i;
+
+	if(!olLoaded) olLoaded=1;
+
+  // Remove it for Gecko based browsers
+	if(window.removeEventListener && e.eventPhase == 3) window.removeEventListener("load",OLonLoad_handler,false);
+	else if(window.detachEvent) { // and for IE and Opera 4.x but execute calls to overlib, nd, or cClick()
+		window.detachEvent("onload",OLonLoad_handler);
+		var fN = document.body.getAttribute('onload');
+		if (fN) {
+			fN=fN.toString().match(re);
+			if (fN && fN.length) {
+				for (i=0; i<fN.length; i++) {
+					if (/anonymous/.test(fN[i])) continue;
+					while((l=fN[i].search(/\)[;\s]+/)) != -1) {
+						fn=fN[i].substring(0,l+1);
+						fN[i] = fN[i].substring(l+2);
+						if (olre.test(fn)) eval(fn);
+					}
+				}
+			}
+		}
+	}
+}
+
+// Wraps strings in Layer Generation Functions with the correct tags
+//    endWrap true(if end tag) or false if start tag
+//    fontSizeStr - font size string such as '1' or '10px'
+//    whichString is being wrapped -- 'text', 'caption', or 'close'
+function wrapStr(endWrap,fontSizeStr,whichString) {
+	var fontStr, fontColor, isClose=((whichString=='close') ? 1 : 0), hasDims=/[%\-a-z]+$/.test(fontSizeStr);
+	fontSizeStr = (olNs4) ? (!hasDims ? fontSizeStr : '1') : fontSizeStr;
+	if (endWrap) return (hasDims&&!olNs4) ? (isClose ? '</span>' : '</div>') : '</font>';
+	else {
+		fontStr='o3_'+whichString+'font';
+		fontColor='o3_'+((whichString=='caption')? 'cap' : whichString)+'color';
+		return (hasDims&&!olNs4) ? (isClose ? '<span style="font-family: '+quoteMultiNameFonts(eval(fontStr))+'; color: '+eval(fontColor)+'; font-size: '+fontSizeStr+';">' : '<div style="font-family: '+quoteMultiNameFonts(eval(fontStr))+'; color: '+eval(fontColor)+'; font-size: '+fontSizeStr+';">') : '<font face="'+eval(fontStr)+'" color="'+eval(fontColor)+'" size="'+(parseInt(fontSizeStr)>7 ? '7' : fontSizeStr)+'">';
+	}
+}
+
+// Quotes Multi word font names; needed for CSS Standards adherence in font-family
+function quoteMultiNameFonts(theFont) {
+	var v, pM=theFont.split(',');
+	for (var i=0; i<pM.length; i++) {
+		v=pM[i];
+		v=v.replace(/^\s+/,'').replace(/\s+$/,'');
+		if(/\s/.test(v) && !/['"]/.test(v)) {
+			v="\'"+v+"\'";
+			pM[i]=v;
+		}
+	}
+	return pM.join();
+}
+
+// dummy function which will be overridden 
+function isExclusive(args) {
+	return false;
+}
+
+// Sets cellpadding style string value
+function setCellPadStr(parameter) {
+	var Str='', j=0, ary = new Array(), top, bottom, left, right;
+
+	Str+='padding: ';
+	ary=parameter.replace(/\s+/g,'').split(',');
+
+	switch(ary.length) {
+		case 2:
+			top=bottom=ary[j];
+			left=right=ary[++j];
+			break;
+		case 3:
+			top=ary[j];
+			left=right=ary[++j];
+			bottom=ary[++j];
+			break;
+		case 4:
+			top=ary[j];
+			right=ary[++j];
+			bottom=ary[++j];
+			left=ary[++j];
+			break;
+	}
+
+	Str+= ((ary.length==1) ? ary[0] + 'px;' : top + 'px ' + right + 'px ' + bottom + 'px ' + left + 'px;');
+
+	return Str;
+}
+
+// function will delay close by time milliseconds
+function hideDelay(time) {
+	if (time&&!o3_delay) {
+		if (o3_timerid > 0) clearTimeout(o3_timerid);
+
+		o3_timerid=setTimeout("cClick()",(o3_timeout=time));
+	}
+}
+
+// Was originally in the placeLayer() routine; separated out for future ease
+function horizontalPlacement(browserWidth, horizontalScrollAmount, widthFix) {
+	var placeX, iwidth=browserWidth, winoffset=horizontalScrollAmount;
+	var parsedWidth = parseInt(o3_width);
+
+	if (o3_fixx > -1 || o3_relx != null) {
+		// Fixed position
+		placeX=(o3_relx != null ? ( o3_relx < 0 ? winoffset +o3_relx+ iwidth - parsedWidth - widthFix : winoffset+o3_relx) : o3_fixx);
+	} else {  
+		// If HAUTO, decide what to use.
+		if (o3_hauto == 1) {
+			if ((o3_x - winoffset) > (iwidth / 2)) {
+				o3_hpos = LEFT;
+			} else {
+				o3_hpos = RIGHT;
+			}
+		}  		
+
+		// From mouse
+		if (o3_hpos == CENTER) { // Center
+			placeX = o3_x+o3_offsetx-(parsedWidth/2);
+
+			if (placeX < winoffset) placeX = winoffset;
+		}
+
+		if (o3_hpos == RIGHT) { // Right
+			placeX = o3_x+o3_offsetx;
+
+			if ((placeX+parsedWidth) > (winoffset+iwidth - widthFix)) {
+				placeX = iwidth+winoffset - parsedWidth - widthFix;
+				if (placeX < 0) placeX = 0;
+			}
+		}
+		if (o3_hpos == LEFT) { // Left
+			placeX = o3_x-o3_offsetx-parsedWidth;
+			if (placeX < winoffset) placeX = winoffset;
+		}  	
+
+		// Snapping!
+		if (o3_snapx > 1) {
+			var snapping = placeX % o3_snapx;
+
+			if (o3_hpos == LEFT) {
+				placeX = placeX - (o3_snapx+snapping);
+			} else {
+				// CENTER and RIGHT
+				placeX = placeX+(o3_snapx - snapping);
+			}
+
+			if (placeX < winoffset) placeX = winoffset;
+		}
+	}	
+
+	return placeX;
+}
+
+// was originally in the placeLayer() routine; separated out for future ease
+function verticalPlacement(browserHeight,verticalScrollAmount) {
+	var placeY, iheight=browserHeight, scrolloffset=verticalScrollAmount;
+	var parsedHeight=(o3_aboveheight ? parseInt(o3_aboveheight) : (olNs4 ? over.clip.height : over.offsetHeight));
+
+	if (o3_fixy > -1 || o3_rely != null) {
+		// Fixed position
+		placeY=(o3_rely != null ? (o3_rely < 0 ? scrolloffset+o3_rely+iheight - parsedHeight : scrolloffset+o3_rely) : o3_fixy);
+	} else {
+		// If VAUTO, decide what to use.
+		if (o3_vauto == 1) {
+			if ((o3_y - scrolloffset) > (iheight / 2) && o3_vpos == BELOW && (o3_y + parsedHeight + o3_offsety - (scrolloffset + iheight) > 0)) {
+				o3_vpos = ABOVE;
+			} else if (o3_vpos == ABOVE && (o3_y - (parsedHeight + o3_offsety) - scrolloffset < 0)) {
+				o3_vpos = BELOW;
+			}
+		}
+
+		// From mouse
+		if (o3_vpos == ABOVE) {
+			if (o3_aboveheight == 0) o3_aboveheight = parsedHeight; 
+
+			placeY = o3_y - (o3_aboveheight+o3_offsety);
+			if (placeY < scrolloffset) placeY = scrolloffset;
+		} else {
+			// BELOW
+			placeY = o3_y+o3_offsety;
+		} 
+
+		// Snapping!
+		if (o3_snapy > 1) {
+			var snapping = placeY % o3_snapy;  			
+
+			if (o3_aboveheight > 0 && o3_vpos == ABOVE) {
+				placeY = placeY - (o3_snapy+snapping);
+			} else {
+				placeY = placeY+(o3_snapy - snapping);
+			} 			
+
+			if (placeY < scrolloffset) placeY = scrolloffset;
+		}
+	}
+
+	return placeY;
+}
+
+// checks positioning flags
+function checkPositionFlags() {
+	if (olHautoFlag) olHautoFlag = o3_hauto=0;
+	if (olVautoFlag) olVautoFlag = o3_vauto=0;
+	return true;
+}
+
+// get Browser window width
+function windowWidth() {
+	var w;
+	if (o3_frame.innerWidth) w=o3_frame.innerWidth;
+	else if (eval('o3_frame.'+docRoot)&&eval("typeof o3_frame."+docRoot+".clientWidth=='number'")&&eval('o3_frame.'+docRoot+'.clientWidth')) 
+		w=eval('o3_frame.'+docRoot+'.clientWidth');
+	return w;			
+}
+
+// create the div container for popup content if it doesn't exist
+function createDivContainer(id,frm,zValue) {
+	id = (id || 'overDiv'), frm = (frm || o3_frame), zValue = (zValue || 1000);
+	var objRef, divContainer = layerReference(id);
+
+	if (divContainer == null) {
+		if (olNs4) {
+			divContainer = frm.document.layers[id] = new Layer(window.innerWidth, frm);
+			objRef = divContainer;
+		} else {
+			var body = (olIe4 ? frm.document.all.tags('BODY')[0] : frm.document.getElementsByTagName("BODY")[0]);
+			if (olIe4&&!document.getElementById) {
+				body.insertAdjacentHTML("beforeEnd",'<div id="'+id+'"></div>');
+				divContainer=layerReference(id);
+			} else {
+				divContainer = frm.document.createElement("DIV");
+				divContainer.id = id;
+				body.appendChild(divContainer);
+			}
+			objRef = divContainer.style;
+		}
+
+		objRef.position = 'absolute';
+		objRef.visibility = 'hidden';
+		objRef.zIndex = zValue;
+		if (olIe4&&!olOp) objRef.left = objRef.top = '0px';
+		else objRef.left = objRef.top =  -10000 + (!olNs4 ? 'px' : 0);
+	}
+
+	return divContainer;
+}
+
+// get reference to a layer with ID=id
+function layerReference(id) {
+	return (olNs4 ? o3_frame.document.layers[id] : (document.all ? o3_frame.document.all[id] : o3_frame.document.getElementById(id)));
+}
+////////
+//  UTILITY FUNCTIONS
+////////
+
+// Checks if something is a function.
+function isFunction(fnRef) {
+	var rtn = true;
+
+	if (typeof fnRef == 'object') {
+		for (var i = 0; i < fnRef.length; i++) {
+			if (typeof fnRef[i]=='function') continue;
+			rtn = false;
+			break;
+		}
+	} else if (typeof fnRef != 'function') {
+		rtn = false;
+	}
+	
+	return rtn;
+}
+
+// Converts an array into an argument string for use in eval.
+function argToString(array, strtInd, argName) {
+	var jS = strtInd, aS = '', ar = array;
+	argName=(argName ? argName : 'ar');
+	
+	if (ar.length > jS) {
+		for (var k = jS; k < ar.length; k++) aS += argName+'['+k+'], ';
+		aS = aS.substring(0, aS.length-2);
+	}
+	
+	return aS;
+}
+
+// Places a hook in the correct position in a hook point.
+function reOrder(hookPt, fnRef, order) {
+	var newPt = new Array(), match, i, j;
+
+	if (!order || typeof order == 'undefined' || typeof order == 'number') return hookPt;
+	
+	if (typeof order=='function') {
+		if (typeof fnRef=='object') {
+			newPt = newPt.concat(fnRef);
+		} else {
+			newPt[newPt.length++]=fnRef;
+		}
+		
+		for (i = 0; i < hookPt.length; i++) {
+			match = false;
+			if (typeof fnRef == 'function' && hookPt[i] == fnRef) {
+				continue;
+			} else {
+				for(j = 0; j < fnRef.length; j++) if (hookPt[i] == fnRef[j]) {
+					match = true;
+					break;
+				}
+			}
+			if (!match) newPt[newPt.length++] = hookPt[i];
+		}
+
+		newPt[newPt.length++] = order;
+
+	} else if (typeof order == 'object') {
+		if (typeof fnRef == 'object') {
+			newPt = newPt.concat(fnRef);
+		} else {
+			newPt[newPt.length++] = fnRef;
+		}
+		
+		for (j = 0; j < hookPt.length; j++) {
+			match = false;
+			if (typeof fnRef == 'function' && hookPt[j] == fnRef) {
+				continue;
+			} else {
+				for (i = 0; i < fnRef.length; i++) if (hookPt[j] == fnRef[i]) {
+					match = true;
+					break;
+				}
+			}
+			if (!match) newPt[newPt.length++]=hookPt[j];
+		}
+
+		for (i = 0; i < newPt.length; i++) hookPt[i] = newPt[i];
+		newPt.length = 0;
+		
+		for (j = 0; j < hookPt.length; j++) {
+			match = false;
+			for (i = 0; i < order.length; i++) {
+				if (hookPt[j] == order[i]) {
+					match = true;
+					break;
+				}
+			}
+			if (!match) newPt[newPt.length++] = hookPt[j];
+		}
+		newPt = newPt.concat(order);
+	}
+
+	hookPt = newPt;
+
+	return hookPt;
+}
+
+////////
+//  PLUGIN ACTIVATION FUNCTIONS
+////////
+
+// Runs plugin functions to set runtime variables.
+function setRunTimeVariables(){
+	if (typeof runTime != 'undefined' && runTime.length) {
+		for (var k = 0; k < runTime.length; k++) {
+			runTime[k]();
+		}
+	}
+}
+
+// Runs plugin functions to parse commands.
+function parseCmdLine(pf, i, args) {
+	if (typeof cmdLine != 'undefined' && cmdLine.length) { 
+		for (var k = 0; k < cmdLine.length; k++) { 
+			var j = cmdLine[k](pf, i, args);
+			if (j >- 1) {
+				i = j;
+				break;
+			}
+		}
+	}
+
+	return i;
+}
+
+// Runs plugin functions to do things after parse.
+function postParseChecks(pf,args){
+	if (typeof postParse != 'undefined' && postParse.length) {
+		for (var k = 0; k < postParse.length; k++) {
+			if (postParse[k](pf,args)) continue;
+			return false;  // end now since have an error
+		}
+	}
+	return true;
+}
+
+
+////////
+//  PLUGIN REGISTRATION FUNCTIONS
+////////
+
+// Registers commands and creates constants.
+function registerCommands(cmdStr) {
+	if (typeof cmdStr!='string') return;
+
+	var pM = cmdStr.split(',');
+	pms = pms.concat(pM);
+
+	for (var i = 0; i< pM.length; i++) {
+		eval(pM[i].toUpperCase()+'='+pmCount++);
+	}
+}
+
+// Registers no-parameter commands
+function registerNoParameterCommands(cmdStr) {
+	if (!cmdStr && typeof cmdStr != 'string') return;
+	pmt=(!pmt) ? cmdStr : pmt + ',' + cmdStr;
+}
+
+// Register a function to hook at a certain point.
+function registerHook(fnHookTo, fnRef, hookType, optPm) {
+	var hookPt, last = typeof optPm;
+	
+	if (fnHookTo == 'plgIn'||fnHookTo == 'postParse') return;
+	if (typeof hookPts[fnHookTo] == 'undefined') hookPts[fnHookTo] = new FunctionReference();
+
+	hookPt = hookPts[fnHookTo];
+
+	if (hookType != null) {
+		if (hookType == FREPLACE) {
+			hookPt.ovload = fnRef;  // replace normal overlib routine
+			if (fnHookTo.indexOf('ol_content_') > -1) hookPt.alt[pms[CSSOFF-1-pmStart]]=fnRef; 
+
+		} else if (hookType == FBEFORE || hookType == FAFTER) {
+			var hookPt=(hookType == 1 ? hookPt.before : hookPt.after);
+
+			if (typeof fnRef == 'object') {
+				hookPt = hookPt.concat(fnRef);
+			} else {
+				hookPt[hookPt.length++] = fnRef;
+			}
+
+			if (optPm) hookPt = reOrder(hookPt, fnRef, optPm);
+
+		} else if (hookType == FALTERNATE) {
+			if (last=='number') hookPt.alt[pms[optPm-1-pmStart]] = fnRef;
+		} else if (hookType == FCHAIN) {
+			hookPt = hookPt.chain; 
+			if (typeof fnRef=='object') hookPt=hookPt.concat(fnRef); // add other functions 
+			else hookPt[hookPt.length++]=fnRef;
+		}
+
+		return;
+	}
+}
+
+// Register a function that will set runtime variables.
+function registerRunTimeFunction(fn) {
+	if (isFunction(fn)) {
+		if (typeof fn == 'object') {
+			runTime = runTime.concat(fn);
+		} else {
+			runTime[runTime.length++] = fn;
+		}
+	}
+}
+
+// Register a function that will handle command parsing.
+function registerCmdLineFunction(fn){
+	if (isFunction(fn)) {
+		if (typeof fn == 'object') {
+			cmdLine = cmdLine.concat(fn);
+		} else {
+			cmdLine[cmdLine.length++] = fn;
+		}
+	}
+}
+
+// Register a function that does things after command parsing. 
+function registerPostParseFunction(fn){
+	if (isFunction(fn)) {
+		if (typeof fn == 'object') {
+			postParse = postParse.concat(fn);
+		} else {
+			postParse[postParse.length++] = fn;
+		}
+	}
+}
+
+////////
+//  PLUGIN REGISTRATION FUNCTIONS
+////////
+
+// Runs any hooks registered.
+function runHook(fnHookTo, hookType) {
+	var l = hookPts[fnHookTo], k, rtnVal = null, optPm, arS, ar = runHook.arguments;
+
+	if (hookType == FREPLACE) {
+		arS = argToString(ar, 2);
+
+		if (typeof l == 'undefined' || !(l = l.ovload)) rtnVal = eval(fnHookTo+'('+arS+')');
+		else rtnVal = eval('l('+arS+')');
+
+	} else if (hookType == FBEFORE || hookType == FAFTER) {
+		if (typeof l != 'undefined') {
+			l=(hookType == 1 ? l.before : l.after);
+	
+			if (l.length) {
+				arS = argToString(ar, 2);
+				for (var k = 0; k < l.length; k++) eval('l[k]('+arS+')');
+			}
+		}
+	} else if (hookType == FALTERNATE) {
+		optPm = ar[2];
+		arS = argToString(ar, 3);
+
+		if (typeof l == 'undefined' || (l = l.alt[pms[optPm-1-pmStart]]) == 'undefined') {
+			rtnVal = eval(fnHookTo+'('+arS+')');
+		} else {
+			rtnVal = eval('l('+arS+')');
+		}
+	} else if (hookType == FCHAIN) {
+		arS=argToString(ar,2);
+		l=l.chain;
+
+		for (k=l.length; k > 0; k--) if((rtnVal=eval('l[k-1]('+arS+')'))!=void(0)) break;
+	}
+
+	return rtnVal;
+}
+
+////////
+// OBJECT CONSTRUCTORS
+////////
+
+// Object for handling hooks.
+function FunctionReference() {
+	this.ovload = null;
+	this.before = new Array();
+	this.after = new Array();
+	this.alt = new Array();
+	this.chain = new Array();
+}
+
+// Object for simple access to the overLIB version used.
+// Examples: simpleversion:351 major:3 minor:5 revision:1
+function Info(version, prerelease) {
+	this.version = version;
+	this.prerelease = prerelease;
+
+	this.simpleversion = Math.round(this.version*100);
+	this.major = parseInt(this.simpleversion / 100);
+	this.minor = parseInt(this.simpleversion / 10) - this.major * 10;
+	this.revision = parseInt(this.simpleversion) - this.major * 100 - this.minor * 10;
+	this.meets = meets;
+}
+
+// checks for Core Version required
+function meets(reqdVersion) {
+	return (!reqdVersion) ? false : this.simpleversion >= Math.round(100*parseFloat(reqdVersion));
+}
+
+
+////////
+// STANDARD REGISTRATIONS
+////////
+registerHook("ol_content_simple", ol_content_simple, FALTERNATE, CSSOFF);
+registerHook("ol_content_caption", ol_content_caption, FALTERNATE, CSSOFF);
+registerHook("ol_content_background", ol_content_background, FALTERNATE, CSSOFF);
+registerHook("ol_content_simple", ol_content_simple, FALTERNATE, CSSCLASS);
+registerHook("ol_content_caption", ol_content_caption, FALTERNATE, CSSCLASS);
+registerHook("ol_content_background", ol_content_background, FALTERNATE, CSSCLASS);
+registerPostParseFunction(checkPositionFlags);
+registerHook("hideObject", nbspCleanup, FAFTER);
+registerHook("horizontalPlacement", horizontalPlacement, FCHAIN);
+registerHook("verticalPlacement", verticalPlacement, FCHAIN);
+if (olNs4||(olIe5&&isMac)||olKq) olLoaded=1;
+registerNoParameterCommands('sticky,autostatus,autostatuscap,fullhtml,hauto,vauto,closeclick,wrap,followmouse,mouseoff,compatmode');
+///////
+// ESTABLISH MOUSECAPTURING
+///////
+
+// Capture events, alt. diffuses the overlib function.
+var olCheckMouseCapture=true;
+if ((olNs4 || olNs6 || olIe4)) {
+	olMouseCapture();
+} else {
+	overlib = no_overlib;
+	nd = no_overlib;
+	ver3fix = true;
+}

Property changes on: tags/2.8.2/wb/admin/media/overlib.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/admin/media/resize_img.php
===================================================================
--- tags/2.8.2/wb/admin/media/resize_img.php	(nonexistent)
+++ tags/2.8.2/wb/admin/media/resize_img.php	(revision 1481)
@@ -0,0 +1,293 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+	/**
+	 * Image Resizer. 
+	 * @author : Harish Chauhan
+	 * @copyright : Freeware
+	 * About :This PHP script will resize the given image and can show on the fly or save as image file.
+	 *
+	 */
+	
+
+	define("HAR_AUTO_NAME",1);	
+	Class RESIZEIMAGE
+	{
+		var $imgFile="";
+		var $imgWidth=0;
+		var $imgHeight=0;
+		var $imgType="";
+		var $imgAttr="";
+		var $type=NULL;
+		var $_img=NULL;
+		var $_error="";
+		
+		/**
+		 * Constructor
+		 *
+		 * @param [String $imgFile] Image File Name
+		 * @return RESIZEIMAGE (Class Object)
+		 */
+		
+		function RESIZEIMAGE($imgFile="")
+		{
+			if (!function_exists("imagecreate"))
+			{
+				$this->_error="Error: GD Library is not available.";
+				return false;
+			}
+
+			$this->type=Array(1 => 'GIF', 2 => 'JPG', 3 => 'PNG', 4 => 'SWF', 5 => 'PSD', 6 => 'BMP', 7 => 'TIFF', 8 => 'TIFF', 9 => 'JPC', 10 => 'JP2', 11 => 'JPX', 12 => 'JB2', 13 => 'SWC', 14 => 'IFF', 15 => 'WBMP', 16 => 'XBM');
+			if(!empty($imgFile))
+				$this->setImage($imgFile);
+		}
+		/**
+		 * Error occured while resizing the image.
+		 *
+		 * @return String 
+		 */
+		function error()
+		{
+			return $this->_error;
+		}
+		
+		/**
+		 * Set image file name
+		 *
+		 * @param String $imgFile
+		 * @return void
+		 */
+		function setImage($imgFile)
+		{
+			$this->imgFile=$imgFile;
+			return $this->_createImage();
+		}
+		/**
+		 * 
+		 * @return void
+		 */
+		function close()
+		{
+			return @imagedestroy($this->_img);
+		}
+		/**
+		 * Resize a image to given width and height and keep it's current width and height ratio
+		 * 
+		 * @param Number $imgwidth
+		 * @param Numnber $imgheight
+		 * @param String $newfile
+		 */
+		function resize_limitwh($imgwidth,$imgheight,$newfile=NULL)
+		{
+			$image_per = 100;
+			list($width, $height, $type, $attr) = @getimagesize($this->imgFile);
+			if($width > $imgwidth && $imgwidth > 0)
+				$image_per = (double)(($imgwidth * 100) / $width);
+
+			if(floor(($height * $image_per)/100)>$imgheight && $imgheight > 0)
+				$image_per = (double)(($imgheight * 100) / $height);
+
+			$this->resize_percentage($image_per,$newfile);
+
+		}
+		/**
+		 * Resize an image to given percentage.
+		 *
+		 * @param Number $percent
+		 * @param String $newfile
+		 * @return Boolean
+		 */
+		function resize_percentage($percent=100,$newfile=NULL)
+		{
+			$newWidth=($this->imgWidth*$percent)/100;
+			$newHeight=($this->imgHeight*$percent)/100;
+			return $this->resize($newWidth,$newHeight,$newfile);
+		}
+		/**
+		 * Resize an image to given X and Y percentage.
+		 *
+		 * @param Number $xpercent
+		 * @param Number $ypercent
+		 * @param String $newfile
+		 * @return Boolean
+		 */
+		function resize_xypercentage($xpercent=100,$ypercent=100,$newfile=NULL)
+		{
+			$newWidth=($this->imgWidth*$xpercent)/100;
+			$newHeight=($this->imgHeight*$ypercent)/100;
+			return $this->resize($newWidth,$newHeight,$newfile);
+		}
+		
+		/**
+		 * Resize an image to given width and height
+		 *
+		 * @param Number $width
+		 * @param Number $height
+		 * @param String $newfile
+		 * @return Boolean
+		 */
+		function resize($width,$height,$newfile=NULL)
+		{
+			if(empty($this->imgFile))
+			{
+				$this->_error="File name is not initialised.";
+				return false;
+			}
+			if($this->imgWidth<=0 || $this->imgHeight<=0)
+			{
+				$this->_error="Could not resize given image";
+				return false;
+			}
+			if($width<=0)
+				$width=$this->imgWidth;
+			if($height<=0)
+				$height=$this->imgHeight;
+				
+			return $this->_resize($width,$height,$newfile);
+		}
+		
+		/**
+		 * Get the image attributes
+		 * @access Private
+		 * 		
+		 */
+		function _getImageInfo()
+		{
+			@list($this->imgWidth,$this->imgHeight,$type,$this->imgAttr)=@getimagesize($this->imgFile);
+			$this->imgType=$this->type[$type];
+		}
+		
+		/**
+		 * Create the image resource 
+		 * @access Private
+		 * @return Boolean
+		 */
+		function _createImage()
+		{
+			$this->_getImageInfo($this->imgFile);
+			if($this->imgType=='GIF')
+			{
+				$this->_img=@imagecreatefromgif($this->imgFile);
+			}
+			elseif($this->imgType=='JPG')
+			{
+				$this->_img=@imagecreatefromjpeg($this->imgFile);
+			}
+			elseif($this->imgType=='PNG')
+			{
+				$this->_img=@imagecreatefrompng($this->imgFile);
+			}			
+			if(!$this->_img || !@is_resource($this->_img))
+			{
+				$this->_error="Error loading ".$this->imgFile;
+				return false;
+			}
+			return true;
+		}
+		
+		/**
+		 * Function is used to resize the image
+		 * 
+		 * @access Private
+		 * @param Number $width
+		 * @param Number $height
+		 * @param String $newfile
+		 * @return Boolean
+		 */
+		function _resize($width,$height,$newfile=NULL)
+		{
+			if (!function_exists("imagecreate"))
+			{
+				$this->_error="Error: GD Library is not available.";
+				return false;
+			}
+
+			$newimg=@imagecreatetruecolor($width,$height);
+			//imagecolortransparent( $newimg, imagecolorat( $newimg, 0, 0 ) );
+			
+			if($this->imgType=='GIF' || $this->imgType=='PNG')
+			{
+				/** Code to keep transparency of image **/
+				$colorcount = imagecolorstotal($this->_img);
+				if ($colorcount == 0) $colorcount = 256;
+				imagetruecolortopalette($newimg,true,$colorcount);
+				imagepalettecopy($newimg,$this->_img);
+				$transparentcolor = imagecolortransparent($this->_img);
+				imagefill($newimg,0,0,$transparentcolor);
+				imagecolortransparent($newimg,$transparentcolor); 
+			}
+
+			@imagecopyresampled ( $newimg, $this->_img, 0,0,0,0, $width, $height, $this->imgWidth,$this->imgHeight);
+			
+
+
+			if($newfile===HAR_AUTO_NAME)
+			{
+				if(@preg_match("/\..*+$/",@basename($this->imgFile),$matches))
+			   		$newfile=@substr_replace($this->imgFile,"_har",-@strlen($matches[0]),0);			
+			}
+			elseif(!empty($newfile))
+			{
+				if(!@preg_match("/\..*+$/",@basename($newfile)))
+				{
+					if(@preg_match("/\..*+$/",@basename($this->imgFile),$matches))
+					   $newfile=$newfile.$matches[0];
+				}
+			}
+
+			if($this->imgType=='GIF')
+			{
+				if(!empty($newfile))
+					@imagegif($newimg,$newfile);
+				else
+				{
+					@header("Content-type: image/gif");
+					@imagegif($newimg);
+				}
+			}
+			elseif($this->imgType=='JPG')
+			{
+				if(!empty($newfile))
+					@imagejpeg($newimg,$newfile,85);
+				else
+				{
+					@header("Content-type: image/jpeg");
+					@imagejpeg($newimg);
+				}
+			}
+			elseif($this->imgType=='PNG')
+			{
+				if(!empty($newfile))
+					@imagepng($newimg,$newfile);
+				else
+				{
+					@header("Content-type: image/png");
+					@imagepng($newimg);
+				}
+			}
+			@imagedestroy($newimg);
+		}
+	}
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/media/resize_img.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/media/thumb.php
===================================================================
--- tags/2.8.2/wb/admin/media/thumb.php	(nonexistent)
+++ tags/2.8.2/wb/admin/media/thumb.php	(revision 1481)
@@ -0,0 +1,45 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+require('../../config.php');
+include_once('resize_img.php');
+if (isset($_GET['img']) && isset($_GET['t'])) {
+	$image = addslashes($_GET['img']);
+	$type = addslashes($_GET['t']);
+	$media = WB_PATH.MEDIA_DIRECTORY;
+	$img=new RESIZEIMAGE($media.$image);
+	if ($img->imgWidth) {
+		if ($type == 1) {
+			$img->resize_limitwh(50,50);
+		} else if ($type == 2) {
+			$img->resize_limitwh(200,200);
+		} 
+		$img->close();
+	} else {
+		header ("Content-type: image/jpeg");
+		readfile ( "nopreview.jpg" );
+	}
+}
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/media/thumb.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/media/parameters.php
===================================================================
--- tags/2.8.2/wb/admin/media/parameters.php	(nonexistent)
+++ tags/2.8.2/wb/admin/media/parameters.php	(revision 1481)
@@ -0,0 +1,39 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+function __unserialize($sObject) {  // found in php manual :-)
+	$__ret =preg_replace('!s:(\d+):"(.*?)";!e', "'s:'.strlen('$2').':\"$2\";'", $sObject );
+	return unserialize($__ret);
+}
+$pathsettings = array();
+$query = $database->query ( "SELECT * FROM ".TABLE_PREFIX."settings where `name`='mediasettings'" );
+if ($query && $query->numRows() > 0) {
+	$settings = $query->fetchRow();
+	$pathsettings = __unserialize($settings['value']);
+} else {
+	$database->query ( "INSERT INTO ".TABLE_PREFIX."settings (`name`,`value`) VALUES ('mediasettings','')" );
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/media/parameters.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/media/rename2.php
===================================================================
--- tags/2.8.2/wb/admin/media/rename2.php	(nonexistent)
+++ tags/2.8.2/wb/admin/media/rename2.php	(revision 1481)
@@ -0,0 +1,168 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Create admin object
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Media', 'media_rename', false);
+
+// Include the WB functions file
+require_once(WB_PATH.'/framework/functions.php');
+
+// Get list of file types to which we're supposed to append 'txt'
+$get_result=$database->query("SELECT value FROM ".TABLE_PREFIX."settings WHERE name='rename_files_on_upload' LIMIT 1");
+$file_extension_string='';
+if ($get_result->numRows()>0) {
+	$fetch_result=$get_result->fetchRow();
+	$file_extension_string=$fetch_result['value'];
+}
+$file_extensions=explode(",",$file_extension_string);
+
+
+// Get the current dir
+$directory = $admin->get_post('dir');
+if($directory == '/') {
+	$directory = '';
+}
+// Check to see if it contains ../
+if(strstr($directory, '../')) {
+	$admin->print_header();
+	$admin->print_error($MESSAGE['MEDIA']['DIR_DOT_DOT_SLASH']);
+}
+
+// Get the temp id
+if(!is_numeric($admin->get_post('id'))) {
+	header("Location: browse.php?dir=$directory");
+	exit(0);
+} else {
+	$file_id = $admin->get_post('id');
+}
+
+// Get home folder not to show
+$home_folders = get_home_folders();
+
+// Figure out what folder name the temp id is
+if($handle = opendir(WB_PATH.MEDIA_DIRECTORY.'/'.$directory)) {
+	// Loop through the files and dirs an add to list
+   while (false !== ($file = readdir($handle))) {
+		if(substr($file, 0, 1) != '.' AND $file != '.svn' AND $file != 'index.php') {
+			if(is_dir(WB_PATH.MEDIA_DIRECTORY.$directory.'/'.$file)) {
+				if(!isset($home_folders[$directory.'/'.$file])) {
+					$DIR[] = $file;
+				}
+			} else {
+				$FILE[] = $file;
+			}
+		}
+	}
+	$temp_id = 0;
+	if(isset($DIR)) {
+		sort($DIR);
+		foreach($DIR AS $name) {
+			$temp_id++;
+			if($file_id == $temp_id) {
+				$rename_file = $name;
+				$type = 'folder';
+			}
+		}
+	}
+	if(isset($FILE)) {
+		sort($FILE);
+		foreach($FILE AS $name) {
+			$temp_id++;
+			if($file_id == $temp_id) {
+				$rename_file = $name;
+				$type = 'file';
+			}
+		}
+	}
+}
+
+if(!isset($rename_file)) {
+	$admin->print_error($MESSAGE['MEDIA']['FILE_NOT_FOUND'], "browse.php?dir=$directory", false);
+}
+
+// Check if they entered a new name
+if(media_filename($admin->get_post('name')) == "") {
+	$admin->print_error($MESSAGE['MEDIA']['BLANK_NAME'], "rename.php?dir=$directory&id=$file_id", false);
+} else {
+	$old_name = $admin->get_post('old_name');
+	$new_name =  media_filename($admin->get_post('name'));
+}
+
+// Check if they entered an extension
+if($type == 'file') {
+	if(media_filename($admin->get_post('extension')) == "") {
+		$admin->print_error($MESSAGE['MEDIA']['BLANK_EXTENSION'], "rename.php?dir=$directory&id=$file_id", false);
+	} else {
+		$extension = media_filename($admin->get_post('extension'));
+	}
+} else {
+	$extension = '';
+}
+
+// Join new name and extension
+$name = $new_name.$extension;
+
+// Check if the name contains ..
+if(strstr($name, '..')) {
+	$admin->print_error($MESSAGE['MEDIA']['NAME_DOT_DOT_SLASH'], "rename.php?dir=$directory&id=$file_id", false);
+}
+
+// Check if the name is index.php
+if($name == 'index.php') {
+	$admin->print_error($MESSAGE['MEDIA']['NAME_INDEX_PHP'], "rename.php?dir=$directory&id=$file_id", false);
+}
+
+// Check that the name still has a value
+if($name == '') {
+	$admin->print_error($MESSAGE['MEDIA']['BLANK_NAME'], "rename.php?dir=$directory&id=$file_id", false);
+}
+
+// Check for potentially malicious files and append 'txt' to their name
+foreach($file_extensions as $file_ext) {
+	$file_ext_len=strlen($file_ext);
+	if (substr($name,-$file_ext_len)==$file_ext) {
+		$name.='.txt';
+	}
+}		
+
+
+// Check if we should overwrite or not
+if($admin->get_post('overwrite') != 'yes' AND file_exists(WB_PATH.MEDIA_DIRECTORY.$directory.'/'.$name) == true) {
+	if($type == 'folder') {
+		$admin->print_error($MESSAGE['MEDIA']['DIR_EXISTS'], "rename.php?dir=$directory&id=$file_id", false);
+	} else {
+		$admin->print_error($MESSAGE['MEDIA']['FILE_EXISTS'], "rename.php?dir=$directory&id=$file_id", false);
+	}
+}
+
+// Try and rename the file/folder
+if(rename(WB_PATH.MEDIA_DIRECTORY.$directory.'/'.$rename_file, WB_PATH.MEDIA_DIRECTORY.$directory.'/'.$name)) {
+	$admin->print_success($MESSAGE['MEDIA']['RENAMED'], "browse.php?dir=$directory");
+} else {
+	$admin->print_error($MESSAGE['MEDIA']['CANNOT_RENAME'], "rename.php?dir=$directory&id=$file_id", false);
+}
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/media/rename2.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/media/delete.php
===================================================================
--- tags/2.8.2/wb/admin/media/delete.php	(nonexistent)
+++ tags/2.8.2/wb/admin/media/delete.php	(revision 1481)
@@ -0,0 +1,120 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Create admin object
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Media', 'media_delete', false);
+
+// Include the WB functions file
+require_once(WB_PATH.'/framework/functions.php');
+
+// Get the current dir
+$directory = $admin->get_get('dir');
+if($directory == '/') {
+	$directory = '';
+}
+// Check to see if it contains ../
+if(strstr($directory, '../')) {
+	$admin->print_header();
+	$admin->print_error($MESSAGE['MEDIA']['DOT_DOT_SLASH']);
+}
+
+// Get the temp id
+if(!is_numeric($admin->get_get('id'))) {
+	header("Location: browse.php?dir=$directory");
+	exit(0);
+} else {
+	$file_id = $admin->get_get('id');
+}
+
+// Get home folder not to show
+$home_folders = get_home_folders();
+
+// Figure out what folder name the temp id is
+if($handle = opendir(WB_PATH.MEDIA_DIRECTORY.'/'.$directory)) {
+	// Loop through the files and dirs an add to list
+   while (false !== ($file = readdir($handle))) {
+		if(substr($file, 0, 1) != '.' AND $file != '.svn' AND $file != 'index.php') {
+			if(is_dir(WB_PATH.MEDIA_DIRECTORY.$directory.'/'.$file)) {
+				if(!isset($home_folders[$directory.'/'.$file])) {
+					$DIR[] = $file;
+				}
+			} else {
+				$FILE[] = $file;
+			}
+		}
+	}
+	$temp_id = 0;
+	if(isset($DIR)) {
+		sort($DIR);
+		foreach($DIR AS $name) {
+			$temp_id++;
+			if(!isset($delete_file) AND $file_id == $temp_id) {
+				$delete_file = $name;
+				$type = 'folder';
+			}
+		}
+	}
+	if(isset($FILE)) {
+		sort($FILE);
+		foreach($FILE AS $name) {
+			$temp_id++;
+			if(!isset($delete_file) AND $file_id == $temp_id) {
+				$delete_file = $name;
+				$type = 'file';
+			}
+		}
+	}
+}
+
+// Check to see if we could find an id to match
+if(!isset($delete_file)) {
+	$admin->print_error($MESSAGE['MEDIA']['FILE_NOT_FOUND'], "browse.php?dir=$directory", false);
+}
+$relative_path = WB_PATH.MEDIA_DIRECTORY.'/'.$directory.'/'.$delete_file;
+// Check if the file/folder exists
+if(!file_exists($relative_path)) {
+	$admin->print_error($MESSAGE['MEDIA']['FILE_NOT_FOUND'], "browse.php?dir=$directory", false);	
+}
+
+// Find out whether its a file or folder
+if($type == 'folder') {
+	// Try and delete the directory
+	if(rm_full_dir($relative_path)) {
+		$admin->print_success($MESSAGE['MEDIA']['DELETED_DIR'], "browse.php?dir=$directory");
+	} else {
+		$admin->print_error($MESSAGE['MEDIA']['CANNOT_DELETE_DIR'], "browse.php?dir=$directory", false);
+	}
+} else {
+	// Try and delete the file
+	if(unlink($relative_path)) {
+		$admin->print_success($MESSAGE['MEDIA']['DELETED_FILE'], "browse.php?dir=$directory");
+	} else {
+		$admin->print_error($MESSAGE['MEDIA']['CANNOT_DELETE_FILE'], "browse.php?dir=$directory", false);
+	}
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/media/delete.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/media/rename.php
===================================================================
--- tags/2.8.2/wb/admin/media/rename.php	(nonexistent)
+++ tags/2.8.2/wb/admin/media/rename.php	(revision 1481)
@@ -0,0 +1,140 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Create admin object
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Media', 'media_rename', false);
+
+// Include the WB functions file
+require_once(WB_PATH.'/framework/functions.php');
+
+// Get the current dir
+$directory = $admin->get_get('dir');
+if($directory == '/') {
+	$directory = '';
+}
+// Check to see if it contains ../
+if(strstr($directory, '../')) {
+	$admin->print_error($MESSAGE['MEDIA']['DIR_DOT_DOT_SLASH'], "rename.php?dir=$directory&id=$file_id", false);
+}
+
+// Get the temp id
+if(!is_numeric($admin->get_get('id'))) {
+	header("Location: browse.php?dir=$directory");
+	exit(0);
+} else {
+	$file_id = $admin->get_get('id');
+}
+
+// Get home folder not to show
+$home_folders = get_home_folders();
+
+// Figure out what folder name the temp id is
+if($handle = opendir(WB_PATH.MEDIA_DIRECTORY.'/'.$directory)) {
+	// Loop through the files and dirs an add to list
+   while (false !== ($file = readdir($handle))) {
+		if(substr($file, 0, 1) != '.' AND $file != '.svn' AND $file != 'index.php') {
+			if(is_dir(WB_PATH.MEDIA_DIRECTORY.$directory.'/'.$file)) {
+				if(!isset($home_folders[$directory.'/'.$file])) {
+					$DIR[] = $file;
+				}
+			} else {
+				$FILE[] = $file;
+			}
+		}
+	}
+	$temp_id = 0;
+	if(isset($DIR)) {
+		sort($DIR);
+		foreach($DIR AS $name) {
+			$temp_id++;
+			if($file_id == $temp_id) {
+				$rename_file = $name;
+				$type = 'folder';
+			}
+		}
+	}
+	if(isset($FILE)) {
+		sort($FILE);
+		foreach($FILE AS $name) {
+			$temp_id++;
+			if($file_id == $temp_id) {
+				$rename_file = $name;
+				$type = 'file';
+			}
+		}
+	}
+}
+
+if(!isset($rename_file)) {
+	$admin->print_error($MESSAGE['MEDIA']['FILE_NOT_FOUND'], "browse.php?dir=$directory", false);
+}
+
+// Setup template object
+$template = new Template(THEME_PATH.'/templates');
+$template->set_file('page', 'media_rename.htt');
+$template->set_block('page', 'main_block', 'main');
+//echo WB_PATH.'/media/'.$directory.'/'.$rename_file;
+if($type == 'folder') {
+	$template->set_var('DISPlAY_EXTENSION', 'hide');
+	$extension = '';
+} else {
+	$template->set_var('DISPlAY_EXTENSION', '');
+	$extension = strstr($rename_file, '.');
+}
+
+if($type == 'folder') {
+	$type = $TEXT['FOLDER'];
+} else {
+	$type = $TEXT['FILE'];
+}
+
+$template->set_var(array(
+								'THEME_URL' => THEME_URL,
+								'FILENAME' => $rename_file,
+								'DIR' => $directory,
+								'FILE_ID' => $file_id,
+								'TYPE' => $type,
+								'EXTENSION' => $extension
+								)
+						);
+
+
+// Insert language text and messages
+$template->set_var(array(
+								'TEXT_TO' => $TEXT['TO'],
+								'TEXT_RENAME' => $TEXT['RENAME'],
+								'TEXT_CANCEL' => $TEXT['CANCEL'],
+								'TEXT_UP' => $TEXT['UP'],
+								'TEXT_OVERWRITE_EXISTING' => $TEXT['OVERWRITE_EXISTING']
+								)
+						);
+
+// Parse template object
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/media/rename.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/media/create.php
===================================================================
--- tags/2.8.2/wb/admin/media/create.php	(nonexistent)
+++ tags/2.8.2/wb/admin/media/create.php	(revision 1481)
@@ -0,0 +1,88 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Get dir name and target location
+if(!isset($_POST['name']) OR $_POST['name'] == '') {
+	header("Location: index.php");
+	exit(0);
+} else {
+	$name = $_POST['name'];
+}
+if(!isset($_POST['target']) OR $_POST['target'] == '') {
+	header("Location: index.php");
+	exit(0);
+} else {
+	$target = $_POST['target'];
+}
+
+// Print admin header
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Media', 'media_create');
+
+// Include the WB functions file
+require_once(WB_PATH.'/framework/functions.php');
+
+// Check to see if name or target contains ../
+if(strstr($name, '../')) {
+	$admin->print_error($MESSAGE['MEDIA']['NAME_DOT_DOT_SLASH']);
+}
+if(strstr($target, '../')) {
+	$admin->print_error($MESSAGE['MEDIA']['TARGET_DOT_DOT_SLASH']);
+}
+
+// Remove bad characters
+$name = media_filename($name);
+  
+// Create relative path of the new dir name
+$relative = WB_PATH.$target.'/'.$name;
+
+// Check to see if the folder already exists
+if(file_exists($relative)) {
+	$admin->print_error($MESSAGE['MEDIA']['DIR_EXISTS']);
+}
+
+// Try and make the dir
+if(make_dir($relative)) {
+	// Create index.php file
+	$content = ''.
+"<?php
+
+header('Location: ../');
+
+?>";
+	$handle = fopen($relative.'/index.php', 'w');
+	fwrite($handle, $content);
+	fclose($handle);
+	change_mode($relative.'/index.php', 'file');
+	$admin->print_success($MESSAGE['MEDIA']['DIR_MADE']);
+} else {
+	$admin->print_error($MESSAGE['MEDIA']['DIR_NOT_MADE']);
+}
+
+// Print admin 
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/media/create.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/languages/details.php
===================================================================
--- tags/2.8.2/wb/admin/languages/details.php	(nonexistent)
+++ tags/2.8.2/wb/admin/languages/details.php	(revision 1481)
@@ -0,0 +1,94 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Include the config code
+require('../../config.php');
+
+// Get language name
+if(!isset($_POST['code']) OR $_POST['code'] == "") {
+	header("Location: index.php");
+	exit(0);
+} else {
+	$code = $_POST['code'];
+}
+
+// Check if the language exists
+if(!file_exists(WB_PATH.'/languages/'.$code.'.php')) {
+	header("Location: index.php");
+	exit(0);
+}
+
+// Print admin header
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Addons', 'languages_view');
+
+// Setup language object
+$template = new Template(THEME_PATH.'/templates');
+$template->set_file('page', 'languages_details.htt');
+$template->set_block('page', 'main_block', 'main');
+
+// Insert values
+require(WB_PATH.'/languages/'.$code.'.php');
+$template->set_var(array(
+								'CODE' => $language_code,
+								'NAME' => $language_name,
+								'AUTHOR' => $language_author,
+								'VERSION' => $language_version,
+								'DESIGNED_FOR' => $language_platform,
+								'ADMIN_URL' => ADMIN_URL,
+								'WB_URL' => WB_URL,
+								'WB_PATH' => WB_PATH,
+								'THEME_URL' => THEME_URL
+								)
+						);
+
+// Restore language to original code
+require(WB_PATH.'/languages/'.LANGUAGE.'.php');
+
+// Insert language headings
+$template->set_var(array(
+								'HEADING_LANGUAGE_DETAILS' => $HEADING['LANGUAGE_DETAILS']
+								)
+						);
+// Insert language text and messages
+$template->set_var(array(
+								'TEXT_CODE' => $TEXT['CODE'],
+								'TEXT_NAME' => $TEXT['NAME'],
+								'TEXT_TYPE' => $TEXT['TYPE'],
+								'TEXT_AUTHOR' => $TEXT['AUTHOR'],
+								'TEXT_VERSION' => $TEXT['VERSION'],
+								'TEXT_DESIGNED_FOR' => $TEXT['DESIGNED_FOR'],
+								'TEXT_BACK' => $TEXT['BACK']
+								)
+						);
+
+// Parse language object
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/languages/details.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/languages/index.php
===================================================================
--- tags/2.8.2/wb/admin/languages/index.php	(nonexistent)
+++ tags/2.8.2/wb/admin/languages/index.php	(revision 1481)
@@ -0,0 +1,95 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Print admin header
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Addons', 'languages');
+
+// Setup template object
+$template = new Template(THEME_PATH.'/templates');
+$template->set_file('page', 'languages.htt');
+$template->set_block('page', 'main_block', 'main');
+
+// Insert values into language list
+$template->set_block('main_block', 'language_list_block', 'language_list');
+$result = $database->query("SELECT * FROM ".TABLE_PREFIX."addons WHERE type = 'language' order by name");
+if($result->numRows() > 0) {
+	while($addon = $result->fetchRow()) {
+		$template->set_var('VALUE', $addon['directory']);
+		$template->set_var('NAME', $addon['name'].' ('.$addon['directory'].')');
+		$template->parse('language_list', 'language_list_block', true);
+	}
+}
+
+// Insert permissions values
+if($admin->get_permission('languages_install') != true) {
+	$template->set_var('DISPLAY_INSTALL', 'hide');
+}
+if($admin->get_permission('languages_uninstall') != true) {
+	$template->set_var('DISPLAY_UNINSTALL', 'hide');
+}
+if($admin->get_permission('languages_view') != true) {
+	$template->set_var('DISPLAY_LIST', 'hide');
+}
+
+// Insert language headings
+$template->set_var(array(
+								'HEADING_INSTALL_LANGUAGE' => $HEADING['INSTALL_LANGUAGE'],
+								'HEADING_UNINSTALL_LANGUAGE' => $HEADING['UNINSTALL_LANGUAGE'],
+								'HEADING_LANGUAGE_DETAILS' => $HEADING['LANGUAGE_DETAILS']
+								)
+						);
+// insert urls
+$template->set_var(array(
+								'ADMIN_URL' => ADMIN_URL,
+								'WB_URL' => WB_URL,
+								'WB_PATH' => WB_PATH,
+								'THEME_URL' => THEME_URL
+								)
+						);
+// Insert language text and messages
+$template->set_var(array(
+	'URL_MODULES' => $admin->get_permission('modules') ? 
+		'<a href="' . ADMIN_URL . '/modules/index.php">' . $MENU['MODULES'] . '</a>' : '',
+	'URL_ADVANCED' => $admin->get_permission('admintools') ? 
+		'<a href="' . ADMIN_URL . '/modules/index.php?advanced">' . $TEXT['ADVANCED'] . '</a>' : '',		
+	'URL_TEMPLATES' => $admin->get_permission('templates') ? 
+		'<a href="' . ADMIN_URL . '/templates/index.php">' . $MENU['TEMPLATES'] . '</a>' : '',
+	'TEXT_INSTALL' => $TEXT['INSTALL'],
+	'TEXT_UNINSTALL' => $TEXT['UNINSTALL'],
+	'TEXT_VIEW_DETAILS' => $TEXT['VIEW_DETAILS'],
+	'TEXT_PLEASE_SELECT' => $TEXT['PLEASE_SELECT']
+	)
+);
+
+// Parse template object
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/languages/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/languages/install.php
===================================================================
--- tags/2.8.2/wb/admin/languages/install.php	(nonexistent)
+++ tags/2.8.2/wb/admin/languages/install.php	(revision 1481)
@@ -0,0 +1,130 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Check if user uploaded a file
+if(!isset($_FILES['userfile'])) {
+	header("Location: index.php");
+	exit(0);
+}
+
+// do not display notices and warnings during installation
+error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING);
+
+// Setup admin object
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Addons', 'languages_install');
+
+// Include the WB functions file
+require_once(WB_PATH.'/framework/functions.php');
+
+// Create temp string
+$temp_string = '';
+$salt = "abchefghjkmnpqrstuvwxyz0123456789";
+srand((double)microtime()*1000000);
+$i = 0;
+while ($i <= 7) {
+	$num = rand() % 33;
+	$tmp = substr($salt, $num, 1);
+	$temp_string = $temp_string . $tmp;
+	$i++;
+}
+
+// Set temp vars
+$temp_dir = WB_PATH.'/temp/';
+$temp_file = $temp_dir . 'language'.$temp_string;
+
+// Check if language dir is writable
+if(!is_writable(WB_PATH.'/languages/')) {
+	if(file_exists($temp_file)) { unlink($temp_file); } // Remove temp file
+	$admin->print_error($MESSAGE['GENERIC']['BAD_PERMISSIONS']);
+}
+
+// Try to upload the file to the temp dir
+if(!move_uploaded_file($_FILES['userfile']['tmp_name'], $temp_file)) {
+	if(file_exists($temp_file)) { unlink($temp_file); } // Remove temp file
+	$admin->print_error($MESSAGE['GENERIC']['CANNOT_UPLOAD']);
+}
+
+// Check if uploaded file is a valid language file (no binary file etc.)
+$content = file_get_contents($temp_file);
+if (strpos($content, '<?php') === false) $admin->print_error($MESSAGE['GENERIC']['INVALID_LANGUAGE_FILE']);
+
+// Remove any vars with name "language_code"
+unset($language_code);
+
+// Include precheck files for versionCompare routine
+require(WB_PATH . '/framework/addon.precheck.inc.php');
+
+// Read the temp file and look for a language code
+require($temp_file);
+$new_language_version=$language_version;
+
+// Check if the file is valid
+if(!isset($language_code)) {
+	if(file_exists($temp_file)) { unlink($temp_file); } // Remove temp file
+	// Restore to correct language
+	require(WB_PATH.'/languages/'.LANGUAGE.'.php');
+	$admin->print_error($MESSAGE['GENERIC']['INVALID_LANGUAGE_FILE']);
+}
+
+// Set destination for language file
+$language_file = WB_PATH.'/languages/'.$language_code.'.php';
+$action="install";
+
+// Move to new location
+if (file_exists($language_file)) {
+	require($language_file);
+	if (versionCompare($language_version, $new_language_version, '>=')) {
+		// Restore to correct language
+		require(WB_PATH . '/languages/' . LANGUAGE . '.php');
+		$admin->print_error($MESSAGE['GENERIC']['ALREADY_INSTALLED']);
+	}
+	$action="upgrade";
+	unlink($language_file);
+}
+
+rename($temp_file, $language_file);
+
+// Chmod the file
+change_mode($language_file, 'file');
+
+// Load language info into DB
+load_language($language_file);
+
+// Restore to correct language
+require(WB_PATH.'/languages/'.LANGUAGE.'.php');
+
+// Print success message
+if ($action=="install") {
+	$admin->print_success($MESSAGE['GENERIC']['INSTALLED']);
+} else {
+	$admin->print_success($MESSAGE['GENERIC']['UPGRADED']);
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/languages/install.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/languages/uninstall.php
===================================================================
--- tags/2.8.2/wb/admin/languages/uninstall.php	(nonexistent)
+++ tags/2.8.2/wb/admin/languages/uninstall.php	(revision 1481)
@@ -0,0 +1,75 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Check if user selected language
+if(!isset($_POST['code']) OR $_POST['code'] == "") {
+	header("Location: index.php");
+	exit(0);
+}
+
+// Extra protection
+if(trim($_POST['code']) == '') {
+	header("Location: index.php");
+	exit(0);
+}
+
+// Setup admin object
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Addons', 'languages_uninstall');
+
+// Include the WB functions file
+require_once(WB_PATH.'/framework/functions.php');
+
+// Check if the language exists
+if(!file_exists(WB_PATH.'/languages/'.$_POST['code'].'.php')) {
+	$admin->print_error($MESSAGE['GENERIC']['NOT_INSTALLED']);
+}
+
+// Check if the language is in use
+if($_POST['code'] == DEFAULT_LANGUAGE OR $_POST['code'] == LANGUAGE) {
+	$admin->print_error($MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE']);
+} else {
+	$query_users = $database->query("SELECT user_id FROM ".TABLE_PREFIX."users WHERE language = '".$admin->add_slashes($_POST['code'])."' LIMIT 1");
+	if($query_users->numRows() > 0) {
+		$admin->print_error($MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE']);
+	}
+}
+
+// Try to delete the language code
+if(!unlink(WB_PATH.'/languages/'.$_POST['code'].'.php')) {
+	$admin->print_error($MESSAGE['GENERIC']['CANNOT_UNINSTALL']);
+} else {
+	// Remove entry from DB
+	$database->query("DELETE FROM ".TABLE_PREFIX."addons WHERE directory = '".$_POST['code']."' AND type = 'language'");
+}
+
+// Print success message
+$admin->print_success($MESSAGE['GENERIC']['UNINSTALLED']);
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/languages/uninstall.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/images/modify_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/admin/images/modify_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/admin/images/noclock_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/admin/images/noclock_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/admin/images/clock_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/admin/images/clock_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/admin/images/hidden_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/admin/images/hidden_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/admin/images/minus_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/admin/images/minus_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/admin/images/visible_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/admin/images/visible_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/admin/images/none_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/admin/images/none_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/admin/images/blank.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/admin/images/blank.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/admin/images/delete_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/admin/images/delete_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/admin/images/index.php
===================================================================
--- tags/2.8.2/wb/admin/images/index.php	(nonexistent)
+++ tags/2.8.2/wb/admin/images/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2008, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/images/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/images/reload_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/admin/images/reload_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/admin/images/deleted_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/admin/images/deleted_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/admin/images/down_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/admin/images/down_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/admin/images/view_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/admin/images/view_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/admin/images/private_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/admin/images/private_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/admin/images/keys_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/admin/images/keys_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/admin/images/folder_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/admin/images/folder_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/admin/images/clock_del_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/admin/images/clock_del_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/admin/images/up_folder_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/admin/images/up_folder_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/admin/images/README.txt
===================================================================
--- tags/2.8.2/wb/admin/images/README.txt	(nonexistent)
+++ tags/2.8.2/wb/admin/images/README.txt	(revision 1481)
@@ -0,0 +1,10 @@
+The folder admin/images isn't needed for WB 2.8. anymore.
+
+It remains only to keep backward compatibility to old modules
+wich make use of the images from this folder.
+
+Modules should be adapted as soon as possible to use images
+from the backend themes instead.
+
+If you are shure you have only Modules wich uses images from
+backend themes, this folder can be deleted.
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/images/README.txt
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/images/plus_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/admin/images/plus_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/admin/images/restore_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/admin/images/restore_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/admin/images/up_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/admin/images/up_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/admin/images/clock_red_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/admin/images/clock_red_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/admin/admintools/tool.php
===================================================================
--- tags/2.8.2/wb/admin/admintools/tool.php	(nonexistent)
+++ tags/2.8.2/wb/admin/admintools/tool.php	(revision 1481)
@@ -0,0 +1,56 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+require_once(WB_PATH.'/framework/functions.php');
+
+$admin = new admin('admintools', 'admintools');
+
+if(!isset($_GET['tool'])) {
+	header("Location: index.php");
+	exit(0);
+}
+
+// Check if tool is installed
+$result = $database->query("SELECT * FROM ".TABLE_PREFIX."addons WHERE type = 'module' AND function = 'tool' AND directory = '".$admin->add_slashes($_GET['tool'])."'");
+if($result->numRows() == 0) {
+	header("Location: index.php");
+	exit(0);
+}
+$tool = $result->fetchRow();
+
+?>
+<h4>
+	<a href="<?php echo ADMIN_URL; ?>/admintools/index.php"><?php echo $HEADING['ADMINISTRATION_TOOLS']; ?></a>
+	&raquo;
+	<?php echo $tool['name']; ?>
+</h4>
+<?php
+require(WB_PATH.'/modules/'.$tool['directory'].'/tool.php');
+
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/admintools/tool.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/admintools/index.php
===================================================================
--- tags/2.8.2/wb/admin/admintools/index.php	(nonexistent)
+++ tags/2.8.2/wb/admin/admintools/index.php	(revision 1481)
@@ -0,0 +1,70 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('admintools', 'admintools');
+
+// Include the WB functions file
+require_once(WB_PATH.'/framework/functions.php');
+
+// Create new template object
+$template = new Template(THEME_PATH.'/templates');
+$template->set_file('page', 'admintools.htt');
+$template->set_block('page', 'main_block', 'main');
+
+// Insert required template variables
+$template->set_var('ADMIN_URL', ADMIN_URL);
+$template->set_var('THEME_URL', THEME_URL);
+$template->set_var('HEADING_ADMINISTRATION_TOOLS', $HEADING['ADMINISTRATION_TOOLS']);
+
+// Insert tools into tool list
+$template->set_block('main_block', 'tool_list_block', 'tool_list');
+$results = $database->query("SELECT * FROM ".TABLE_PREFIX."addons WHERE type = 'module' AND function = 'tool' order by name");
+if($results->numRows() > 0) {
+	while($tool = $results->fetchRow()) {
+		$template->set_var('TOOL_NAME', $tool['name']);
+		$template->set_var('TOOL_DIR', $tool['directory']);
+		// check if a module description exists for the displayed backend language
+		$tool_description = false;
+		if(function_exists('file_get_contents') && file_exists(WB_PATH.'/modules/'.$tool['directory'].'/languages/'.LANGUAGE .'.php')) {
+			// read contents of the module language file into string
+			$data = @file_get_contents(WB_PATH .'/modules/' .$tool['directory'] .'/languages/' .LANGUAGE .'.php');
+			$tool_description = get_variable_content('module_description', $data, true, false);
+		}		
+		$template->set_var('TOOL_DESCRIPTION', ($tool_description === False)? $tool['description'] :$tool_description);
+		$template->parse('tool_list', 'tool_list_block', true);
+	}
+} else {
+	$template->set_var('TOOL_LIST', $TEXT['NONE_FOUND']);	
+}
+
+// Parse template objects output
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
+
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/admintools/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/logout/index.php
===================================================================
--- tags/2.8.2/wb/admin/logout/index.php	(nonexistent)
+++ tags/2.8.2/wb/admin/logout/index.php	(revision 1481)
@@ -0,0 +1,62 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+require('../../config.php');
+
+// delete remember key of current user from database
+if (isset($_SESSION['USER_ID']) && isset($database)) {
+	$table = TABLE_PREFIX . 'users';
+	$sql = "UPDATE `$table` SET `remember_key` = '' WHERE `user_id` = '" . (int) $_SESSION['USER_ID'] . "'";
+	$database->query($sql);
+}
+
+// delete remember key cookie if set
+if (isset($_COOKIE['REMEMBER_KEY'])) {
+	setcookie('REMEMBER_KEY', '', time() - 3600, '/');
+}
+
+// delete most critical session variables manually
+$_SESSION['USER_ID'] = null;
+$_SESSION['GROUP_ID'] = null;
+$_SESSION['GROUPS_ID'] = null;
+$_SESSION['USERNAME'] = null;
+$_SESSION['PAGE_PERMISSIONS'] = null;
+$_SESSION['SYSTEM_PERMISSIONS'] = null;
+
+// overwrite session array
+$_SESSION = array();
+
+// delete session cookie if set
+if (isset($_COOKIE[session_name()])) {
+    setcookie(session_name(), '', time() - 42000, '/');
+}
+
+// delete the session itself
+session_destroy();
+
+// redirect to admin login
+die(header('Location: ' . ADMIN_URL . '/login/index.php'));
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/logout/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/admin/index.php
===================================================================
--- tags/2.8.2/wb/admin/index.php	(nonexistent)
+++ tags/2.8.2/wb/admin/index.php	(revision 1481)
@@ -0,0 +1,38 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Include config file
+if(!defined('WB_URL')) {
+	require('../config.php');
+}
+
+// Check if the config file has been set-up
+if(!defined('WB_PATH')) {
+	header("Location: ../install/index.php");
+} else {
+	header('Location: '.ADMIN_URL.'/start/index.php');
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/admin/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/account/logout.php
===================================================================
--- tags/2.8.2/wb/account/logout.php	(nonexistent)
+++ tags/2.8.2/wb/account/logout.php	(revision 1481)
@@ -0,0 +1,42 @@
+<?php
+/**
+ *
+ * @category        frontend
+ * @package         account
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+require("../config.php");
+
+if(isset($_COOKIE['REMEMBER_KEY'])) {
+	setcookie('REMEMBER_KEY', '', time()-3600, '/');
+}
+
+$_SESSION['USER_ID'] = null;
+$_SESSION['GROUP_ID'] = null;
+$_SESSION['GROUPS_ID'] = null;
+$_SESSION['USERNAME'] = null;
+$_SESSION['PAGE_PERMISSIONS'] = null;
+$_SESSION['SYSTEM_PERMISSIONS'] = null;
+$_SESSION = array();
+session_unset();
+unset($_COOKIE[session_name()]);
+session_destroy();
+
+if(INTRO_PAGE) {
+	header('Location: '.WB_URL.PAGES_DIRECTORY.'/index.php');
+} else {
+	header('Location: '.WB_URL.'/index.php');
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/account/logout.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/account/login_form.php
===================================================================
--- tags/2.8.2/wb/account/login_form.php	(nonexistent)
+++ tags/2.8.2/wb/account/login_form.php	(revision 1481)
@@ -0,0 +1,87 @@
+<?php
+/**
+ *
+ * @category        frontend
+ * @package         account
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+if(!defined('WB_URL')) die(header('Location: ../../index.php'));
+
+$username_fieldname = 'username';
+$password_fieldname = 'password';
+	
+if(defined('SMART_LOGIN') AND SMART_LOGIN == 'enabled') {
+	// Generate username field name
+	$username_fieldname = 'username_';
+	$password_fieldname = 'password_';
+
+	$temp = array_merge(range('a','z'), range(0,9));
+	shuffle($temp);
+	for($i=0;$i<=7;$i++) {
+		$username_fieldname .= $temp[$i];
+		$password_fieldname .= $temp[$i];
+	}
+}
+?>
+<h1>&nbsp;Login</h1>
+&nbsp;<?php echo $thisApp->message; ?>
+<br />
+<br />
+
+<form action="<?php echo WB_URL.'/account/login.php'; ?>" method="post">
+<p style="display:none;"><input type="hidden" name="username_fieldname" value="<?php echo $username_fieldname; ?>" /></p>
+<p style="display:none;"><input type="hidden" name="password_fieldname" value="<?php echo $password_fieldname; ?>" /></p>
+<p style="display:none;"><input type="hidden" name="redirect" value="<?php echo $thisApp->redirect_url;?>" /></p>
+
+<table cellpadding="5" cellspacing="0" border="0" width="90%">
+<tr>
+	<td style="width:100px"><?php echo $TEXT['USERNAME']; ?>:</td>
+	<td class="value_input">
+		<input type="text" name="<?php echo $username_fieldname; ?>" maxlength="30" style="width:220px;"/>
+    	<script type="text/javascript">
+    	// document.login.<?php echo $username_fieldname; ?>.focus();
+    	var ref= document.getElementById("<?php echo $username_fieldname; ?>");
+    	if (ref) ref.focus();
+    	</script>
+	</td>
+</tr>
+<tr>
+	<td style="width:100px"><?php echo $TEXT['PASSWORD']; ?>:</td>
+	<td class="value_input">
+		<input type="password" name="<?php echo $password_fieldname; ?>" maxlength="30" style="width:220px;"/>
+	</td>
+</tr>
+<?php if($username_fieldname != 'username') { ?>
+<tr>
+	<td>&nbsp;</td>
+	<td>
+		<input type="checkbox" name="remember" id="remember" value="true"/>
+		<label for="remember"><?php echo $TEXT['REMEMBER_ME']; ?></label>
+	</td>
+</tr>
+<?php } ?>
+<tr>
+	<td>&nbsp;</td>
+	<td>
+		<input type="submit" name="submit" value="<?php echo $TEXT['LOGIN']; ?>"  />
+		<input type="reset" name="reset" value="<?php echo $TEXT['RESET']; ?>"  />
+	</td>
+</tr>
+</table>
+
+</form>
+
+<br />
+
+<a href="<?php echo WB_URL; ?>/account/forgot.php"><?php echo $TEXT['FORGOTTEN_DETAILS']; ?></a>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/account/login_form.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/account/forgot.php
===================================================================
--- tags/2.8.2/wb/account/forgot.php	(nonexistent)
+++ tags/2.8.2/wb/account/forgot.php	(revision 1481)
@@ -0,0 +1,52 @@
+<?php
+/**
+ *
+ * @category        frontend
+ * @package         account
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+require_once('../config.php');
+
+// Required page details
+$page_id = 0;
+$page_description = '';
+$page_keywords = '';
+define('PAGE_ID', 0);
+define('ROOT_PARENT', 0);
+define('PARENT', 0);
+define('LEVEL', 0);
+define('PAGE_TITLE', $MENU['FORGOT']);
+define('MENU_TITLE', $MENU['FORGOT']);
+define('VISIBILITY', 'public');
+
+if(!FRONTEND_LOGIN) {
+	if(INTRO_PAGE) {
+		header('Location: '.WB_URL.PAGES_DIRECTORY.'/index.php');
+		exit(0);
+	} else {
+		header('Location: '.WB_URL.'/index.php');
+		exit(0);
+	}
+}
+
+// Set the page content include file
+define('PAGE_CONTENT', WB_PATH.'/account/forgot_form.php');
+
+// Set auto authentication to false
+$auto_auth = false;
+
+// Include the index (wrapper) file
+require(WB_PATH.'/index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/account/forgot.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/account/preferences.php
===================================================================
--- tags/2.8.2/wb/account/preferences.php	(nonexistent)
+++ tags/2.8.2/wb/account/preferences.php	(revision 1481)
@@ -0,0 +1,65 @@
+<?php
+/**
+ *
+ * @category        frontend
+ * @package         account
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+require_once('../config.php');
+
+if(!FRONTEND_LOGIN) {
+	if(INTRO_PAGE) {
+		header('Location: '.WB_URL.PAGES_DIRECTORY.'/index.php');
+		exit(0);
+	} else {
+		header('Location: '.WB_URL.'/index.php');
+		exit(0);
+	}
+}
+
+require_once(WB_PATH.'/framework/class.wb.php');
+$wb_inst = new wb();
+if ($wb_inst->is_authenticated()==false) {
+	header('Location: '.WB_URL.'/account/login.php');
+	exit(0);
+}
+
+// Required page details
+$page_id = 0;
+$page_description = '';
+$page_keywords = '';
+define('PAGE_ID', 0);
+define('ROOT_PARENT', 0);
+define('PARENT', 0);
+define('LEVEL', 0);
+define('PAGE_TITLE', $MENU['PREFERENCES']);
+define('MENU_TITLE', $MENU['PREFERENCES']);
+define('MODULE', '');
+define('VISIBILITY', 'public');
+
+// Set the page content include file
+if(isset($_POST['current_password']) AND isset($_POST['new_password'])) {
+	define('PAGE_CONTENT', WB_PATH.'/account/password.php');
+} elseif(isset($_POST['current_password']) AND isset($_POST['email'])) {
+	define('PAGE_CONTENT', WB_PATH.'/account/email.php');
+} elseif(isset($_POST['display_name'])) {
+	define('PAGE_CONTENT', WB_PATH.'/account/details.php');
+} else {
+	define('PAGE_CONTENT', WB_PATH.'/account/preferences_form.php');
+}
+
+// Include the index (wrapper) file
+require(WB_PATH.'/index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/account/preferences.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/account/password.php
===================================================================
--- tags/2.8.2/wb/account/password.php	(nonexistent)
+++ tags/2.8.2/wb/account/password.php	(revision 1481)
@@ -0,0 +1,62 @@
+<?php
+/**
+ *
+ * @category        frontend
+ * @package         account
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+if(!defined('WB_URL')) {
+	header('Location: ../index.php');
+	exit(0);
+}
+
+// Get the values entered
+$current_password = $_POST['current_password'];
+$new_password = $_POST['new_password'];
+$new_password2 = $_POST['new_password2'];
+
+// Create a javascript back link
+$js_back = "javascript: history.go(-1);";
+
+// Get existing password
+$database = new database();
+$query = "SELECT user_id FROM ".TABLE_PREFIX."users WHERE user_id = '".$wb->get_user_id()."' AND password = '".md5($current_password)."'";
+$results = $database->query($query);
+
+// Validate values
+if($results->numRows() == 0) {
+	$wb->print_error($MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT'], $js_back, false);
+}
+if(strlen($new_password) < 3) {
+	$wb->print_error($MESSAGE['USERS']['PASSWORD_TOO_SHORT'], $js_back, false);
+}
+if($new_password != $new_password2) {
+	$wb->print_error($MESSAGE['USERS']['PASSWORD_MISMATCH'], $js_back, false);
+}
+
+// MD5 the password
+$md5_password = md5($new_password);
+
+// Update the database
+$database = new database();
+$query = "UPDATE ".TABLE_PREFIX."users SET password = '$md5_password' WHERE user_id = '".$wb->get_user_id()."'";
+$database->query($query);
+if($database->is_error()) {
+	$wb->print_error($database->get_error, 'index.php', false);
+} else {
+	$wb->print_success($MESSAGE['PREFERENCES']['PASSWORD_CHANGED'], WB_URL.'/account/preferences.php');
+}
+
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/account/password.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/account/forgot_form.php
===================================================================
--- tags/2.8.2/wb/account/forgot_form.php	(nonexistent)
+++ tags/2.8.2/wb/account/forgot_form.php	(revision 1481)
@@ -0,0 +1,137 @@
+<?php
+/**
+ *
+ * @category        frontend
+ * @package         account
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+if(!defined('WB_URL')) {
+	header('Location: ../pages/index.php');
+	exit(0);
+}
+
+// Create new database object
+$database = new database();
+
+// Check if the user has already submitted the form, otherwise show it
+if(isset($_POST['email']) && $_POST['email'] != "" &&
+    preg_match("/([0-9a-zA-Z]+[-._+&])*[0-9a-zA-Z]+@([-0-9a-zA-Z]+[.])+[a-zA-Z]{2,6}/i", $_POST['email'])) {
+	$email = strip_tags($_POST['email']);
+	
+	// Check if the email exists in the database
+	$query = "SELECT user_id,username,display_name,email,last_reset,password FROM ".TABLE_PREFIX."users WHERE email = '".$wb->add_slashes($_POST['email'])."'";
+	$results = $database->query($query);
+	if($results->numRows() > 0) {
+	
+		// Get the id, username, email, and last_reset from the above db query
+		$results_array = $results->fetchRow();
+		
+		// Check if the password has been reset in the last 2 hours
+		$last_reset = $results_array['last_reset'];
+		$time_diff = time()-$last_reset; // Time since last reset in seconds
+		$time_diff = $time_diff/60/60; // Time since last reset in hours
+		if($time_diff < 2) {
+			
+			// Tell the user that their password cannot be reset more than once per hour
+			$message = $MESSAGE['FORGOT_PASS']['ALREADY_RESET'];
+			
+		} else {
+		
+			$old_pass = $results_array['password'];
+
+			// Generate a random password then update the database with it
+			$new_pass = '';
+			$salt = "abchefghjkmnpqrstuvwxyz0123456789";
+			srand((double)microtime()*1000000);
+			$i = 0;
+			while ($i <= 7) {
+				$num = rand() % 33;
+				$tmp = substr($salt, $num, 1);
+				$new_pass = $new_pass . $tmp;
+				$i++;
+			}
+			$database->query("UPDATE ".TABLE_PREFIX."users SET password = '".md5($new_pass)."', last_reset = '".time()."' WHERE user_id = '".$results_array['user_id']."'");
+			
+			if($database->is_error()) {
+				// Error updating database
+				$message = $database->get_error();
+			} else {
+				// Setup email to send
+				$mail_to = $email;
+				$mail_subject = $MESSAGE['SIGNUP2']['SUBJECT_LOGIN_INFO'];
+
+				// Replace placeholders from language variable with values
+				$search = array('{LOGIN_DISPLAY_NAME}', '{LOGIN_WEBSITE_TITLE}', '{LOGIN_NAME}', '{LOGIN_PASSWORD}');
+				$replace = array($results_array['display_name'], WEBSITE_TITLE, $results_array['username'], $new_pass); 
+				$mail_message = str_replace($search, $replace, $MESSAGE['SIGNUP2']['BODY_LOGIN_INFO']);
+
+				// Try sending the email
+				if($wb->mail(SERVER_EMAIL,$mail_to,$mail_subject,$mail_message)) { 
+					$message = $MESSAGE['FORGOT_PASS']['PASSWORD_RESET'];
+					$display_form = false;
+				} else {
+					$database->query("UPDATE ".TABLE_PREFIX."users SET password = '".$old_pass."' WHERE user_id = '".$results_array['user_id']."'");
+					$message = $MESSAGE['FORGOT_PASS']['CANNOT_EMAIL'];
+				}
+			}
+		
+		}
+
+	} else {
+		// Email doesn't exist, so tell the user
+		$message = $MESSAGE['FORGOT_PASS']['EMAIL_NOT_FOUND'];
+	}
+	
+} else {
+	$email = '';
+}
+
+if(!isset($message)) {
+	$message = $MESSAGE['FORGOT_PASS']['NO_DATA'];
+	$message_color = '000000';
+} else {
+	$message_color = 'FF0000';
+}
+	
+?>
+<h1 style="text-align: center;"><?php echo $MENU['FORGOT']; ?></h1>
+
+<form name="forgot_pass" action="<?php echo WB_URL.'/account/forgot.php'; ?>" method="post">
+	<input type="hidden" name="url" value="{URL}" />
+		<table cellpadding="5" cellspacing="0" border="0" align="center" width="500">
+		<tr>
+			<td height="40" align="center" style="color: #<?php echo $message_color; ?>;" colspan="2">
+			<?php echo $message; ?>
+			</td>
+		</tr>
+		<?php if(!isset($display_form) OR $display_form != false) { ?>
+		<tr>
+			<td height="10" colspan="2"></td>
+		</tr>
+		<tr>
+			<td width="165" height="30" align="right"><?php echo $TEXT['EMAIL']; ?>:</td>
+			<td><input type="text" maxlength="255" name="email" value="<?php echo $email; ?>" style="width: 180px;" /></td>
+			<td><input type="submit" name="submit" value="<?php echo $TEXT['SEND_DETAILS']; ?>" style="width: 180px; font-size: 10px; color: #003366; border: 1px solid #336699; background-color: #DDDDDD; padding: 3px; text-transform: uppercase;" /></td>
+		</tr>
+<!--
+		<tr>
+			<td>&nbsp;</td>
+		</tr>
+		<tr style="display: {DISPLAY_FORM}">
+			<td height="10" colspan="2"></td>
+		</tr>
+-->
+		<?php } ?>
+		</table>
+</form>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/account/forgot_form.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/account/preferences_form.php
===================================================================
--- tags/2.8.2/wb/account/preferences_form.php	(nonexistent)
+++ tags/2.8.2/wb/account/preferences_form.php	(revision 1481)
@@ -0,0 +1,208 @@
+<?php
+/**
+ *
+ * @category        frontend
+ * @package         account
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+if(!defined('WB_URL')) die(header('Location: ../../index.php'));
+
+?>
+
+<h2>&nbsp;<?php print $HEADING['MY_SETTINGS']; ?></h2>
+
+<form name="user" action="<?php print WB_URL.'/account/preferences.php'; ?>" method="post" style="margin-bottom: 5px;">
+<input type="hidden" name="user_id" value="{USER_ID}" />
+
+<table cellpadding="5" cellspacing="0" border="0" width="97%">
+<tr>
+	<td width="140"><?php print $TEXT['DISPLAY_NAME']; ?>:</td>
+	<td class="value_input">
+		<input type="text" name="display_name" style="width: 380px;" maxlength="255" value="<?php print $wb->get_display_name(); ?>" />
+	</td>
+</tr>
+<tr>
+	<td><?php print $TEXT['LANGUAGE']; ?>:</td>
+	<td>
+		<select name="language" style="width: 380px;">
+		<?php
+		/**
+		 *
+		 *	Getting the languages from the database. (addons)
+		 *	It's a little bit corious, but the language-shortform is
+		 *	storred in the field "directory" ...
+		 *
+		 */
+		$query = "SELECT directory, name from ".TABLE_PREFIX."addons where type='language' order by 'name'";
+		$result = $database->query($query);
+		if ($result) {
+			$options_html = "";
+			while($data = $result->fetchRow()) {
+				$sel = ($data['directory'] == LANGUAGE) ? " selected=\"selected\" " : "";
+				$options_html .= "<option value=\"".$data['directory']."\" ".$sel.">".$data['name']." (".$data['directory'].")</option>\n";
+			}
+			echo $options_html;
+		}
+		?>
+		</select>
+	</td>
+</tr>
+<tr>
+	<td><?php print $TEXT['TIMEZONE']; ?>:</td>
+	<td>
+		<select name="timezone" style="width: 380px;">
+			<option value="-20"><?php print $TEXT['PLEASE_SELECT']; ?>...</option>
+			<?php
+				// Insert default timezone values
+				require_once(ADMIN_PATH.'/interface/timezones.php');
+				$test_time = $wb->get_timezone();
+				$options_html = "";
+				foreach($TIMEZONES as $hour_offset => $title) {
+					$sel = ($test_time == $hour_offset*60*60) ? " selected=\"selected\" " : ""; 
+					$options_html .= "<option value=\"".$hour_offset."\" ".$sel.">".$title."</option>\n";
+				}
+				print $options_html;
+?>
+
+		</select>
+	</td>
+</tr>
+<tr>
+	<td><?php print $TEXT['DATE_FORMAT']; ?>:</td>
+	<td>
+		<select name="date_format" style="width: 98%;">
+			<option value=""><?php print $TEXT['PLEASE_SELECT']; ?>...</option>
+			<?php
+			// Insert date format list
+			$user_time = true;
+			require_once(ADMIN_PATH.'/interface/date_formats.php');
+			foreach($DATE_FORMATS AS $format => $title) {
+				$format = str_replace('|', ' ', $format); // Add's white-spaces (not able to be stored in array key)
+				if($format != 'system_default') {
+					$value = $format;
+				} else {
+					$value = '';
+				}
+				if(DATE_FORMAT == $format AND !isset($_SESSION['USE_DEFAULT_DATE_FORMAT'])) {
+					$selected = ' selected="selected"';
+				} elseif($format == 'system_default' AND isset($_SESSION['USE_DEFAULT_DATE_FORMAT'])) {
+					$selected = ' selected="selected"';
+				} else {
+					$selected = '';
+				}
+				print '<option value="'.$value.'"'.$selected.'>'.$title.'</option>'."\n";
+			}
+			?>
+		</select>
+	</td>
+</tr>
+<tr>
+	<td><?php print $TEXT['TIME_FORMAT']; ?>:</td>
+	<td>
+		<select name="time_format" style="width: 98%;">
+			<option value=""><?php print $TEXT['PLEASE_SELECT']; ?>...</option>
+			<?php
+			// Insert time format list
+			$user_time = true;
+			require_once(ADMIN_PATH.'/interface/time_formats.php');
+			foreach($TIME_FORMATS AS $format => $title)
+            {
+				$format = str_replace('|', ' ', $format); // Add's white-spaces (not able to be stored in array key)
+                $value = ($format != 'system_default') ? $format : '';
+
+                $selected = ((TIME_FORMAT == $format AND ! isset($_SESSION['USE_DEFAULT_TIME_FORMAT']))
+                    OR ($format == 'system_default' AND isset($_SESSION['USE_DEFAULT_TIME_FORMAT'])))
+                	? ' selected="selected"' : '';
+
+				print '<option value="'.$value.'"'.$selected.'>'.$title.'</option>';
+			}
+			?>
+		</select>
+	</td>
+</tr>
+<tr>
+	<td>&nbsp;</td>
+	<td>
+		<input type="submit" name="submit" value="<?php print $TEXT['SAVE']; ?>" />
+		<input type="reset" name="reset" value="<?php print $TEXT['RESET']; ?>" />
+	</td>
+</tr>
+</table>
+
+</form>
+
+<h2>&nbsp;<?php print $HEADING['MY_EMAIL']; ?></h2>
+
+<form name="email" action="<?php print WB_URL.'/account/preferences.php'; ?>" method="post" style="margin-bottom: 5px;">
+<input type="hidden" name="user_id" value="{USER_ID}" />
+
+<table cellpadding="5" cellspacing="0" border="0" width="97%">
+<tr>
+	<td width="140"><?php print $TEXT['CURRENT_PASSWORD']; ?>:</td>
+	<td>
+		<input type="password" name="current_password" style="width: 380px;" />
+	</td>
+</tr>
+<tr>
+	<td><?php print $TEXT['EMAIL']; ?>:</td>
+	<td class="value_input">
+		<input type="text" name="email" style="width: 380px;" maxlength="255" value="<?php print $wb->get_email(); ?>" />
+	</td>
+</tr>
+<tr>
+	<td>&nbsp;</td>
+	<td>
+		<input type="submit" name="submit" value="<?php print $TEXT['SAVE']; ?>" />
+		<input type="reset" name="reset" value="<?php print $TEXT['RESET']; ?>" />
+	</td>
+</tr>
+</table>
+
+</form>
+
+
+<h2>&nbsp;<?php print $HEADING['MY_PASSWORD']; ?></h2>
+
+<form name="user" action="<?php print WB_URL.'/account/preferences.php'; ?>" method="post">
+<input type="hidden" name="user_id" value="{USER_ID}" />
+
+<table cellpadding="5" cellspacing="0" border="0" width="97%">
+<tr>
+	<td width="140"><?php print $TEXT['CURRENT_PASSWORD']; ?>:</td>
+	<td>
+		<input type="password" name="current_password" style="width: 380px;" />
+	</td>
+</tr>
+<tr>
+	<td><?php print $TEXT['NEW_PASSWORD']; ?>:</td>
+	<td>
+		<input type="password" name="new_password" style="width: 380px;" />
+	</td>
+</tr>
+<tr>
+	<td><?php print $TEXT['RETYPE_NEW_PASSWORD']; ?>:</td>
+	<td>
+		<input type="password" name="new_password2" style="width: 380px;" />
+	</td>
+</tr>
+<tr>
+	<td>&nbsp;</td>
+	<td>
+		<input type="submit" name="submit" value="<?php print $TEXT['SAVE']; ?>" />
+		<input type="reset" name="reset" value="<?php print $TEXT['RESET']; ?>" />
+	</td>
+</tr>
+</table>
+
+</form>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/account/preferences_form.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/account/details.php
===================================================================
--- tags/2.8.2/wb/account/details.php	(nonexistent)
+++ tags/2.8.2/wb/account/details.php	(revision 1481)
@@ -0,0 +1,70 @@
+<?php
+/**
+ *
+ * @category        frontend
+ * @package         account
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+if(!defined('WB_URL')) {
+	header('Location: ../pages/index.php');
+	exit(0);
+}
+
+// Get entered values
+$display_name = $wb->add_slashes(strip_tags($wb->get_post('display_name')));
+$language = $wb->get_post_escaped('language');
+$timezone = $wb->get_post_escaped('timezone')*60*60;
+$date_format = $wb->get_post_escaped('date_format');
+$time_format = $wb->get_post_escaped('time_format');
+
+// Create a javascript back link
+$js_back = "javascript: history.go(-1);";
+
+// Update the database
+$database = new database();
+$query = "UPDATE ".TABLE_PREFIX."users SET display_name = '$display_name', language = '$language', timezone = '$timezone', date_format = '$date_format', time_format = '$time_format' WHERE user_id = '".$wb->get_user_id()."'";
+$database->query($query);
+if($database->is_error()) {
+	$wb->print_error($database->get_error,'index.php',false);
+} else {
+	$wb->print_success($MESSAGE['PREFERENCES']['DETAILS_SAVED'], WB_URL.'/account/preferences.php');
+	$_SESSION['DISPLAY_NAME'] = $display_name;
+	$_SESSION['LANGUAGE'] = $language;
+	// Update date format
+	if($date_format != '') {
+		$_SESSION['DATE_FORMAT'] = $date_format;
+		if(isset($_SESSION['USE_DEFAULT_DATE_FORMAT'])) { unset($_SESSION['USE_DEFAULT_DATE_FORMAT']); }
+	} else {
+		$_SESSION['USE_DEFAULT_DATE_FORMAT'] = true;
+		if(isset($_SESSION['DATE_FORMAT'])) { unset($_SESSION['DATE_FORMAT']); }
+	}
+	// Update time format
+	if($time_format != '') {
+		$_SESSION['TIME_FORMAT'] = $time_format;
+		if(isset($_SESSION['USE_DEFAULT_TIME_FORMAT'])) { unset($_SESSION['USE_DEFAULT_TIME_FORMAT']); }
+	} else {
+		$_SESSION['USE_DEFAULT_TIME_FORMAT'] = true;
+		if(isset($_SESSION['TIME_FORMAT'])) { unset($_SESSION['TIME_FORMAT']); }
+	}
+	// Update timezone
+	if($timezone != '-72000') {
+		$_SESSION['TIMEZONE'] = $timezone;
+		if(isset($_SESSION['USE_DEFAULT_TIMEZONE'])) { unset($_SESSION['USE_DEFAULT_TIMEZONE']); }
+	} else {
+		$_SESSION['USE_DEFAULT_TIMEZONE'] = true;
+		if(isset($_SESSION['TIMEZONE'])) { unset($_SESSION['TIMEZONE']); }
+	}
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/account/details.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/account/signup.php
===================================================================
--- tags/2.8.2/wb/account/signup.php	(nonexistent)
+++ tags/2.8.2/wb/account/signup.php	(revision 1481)
@@ -0,0 +1,76 @@
+<?php
+/**
+ *
+ * @category        frontend
+ * @package         account
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+require_once('../config.php');
+
+if(!is_numeric(FRONTEND_SIGNUP)) {
+	if(INTRO_PAGE) {
+		header('Location: '.WB_URL.PAGES_DIRECTORY.'/index.php');
+		exit(0);
+	} else {
+		header('Location: '.WB_URL.'/index.php');
+		exit(0);
+	}
+}
+
+if(ENABLED_ASP && isset($_POST['username']) && ( // form faked? Check the honeypot-fields.
+	(!isset($_POST['submitted_when']) OR !isset($_SESSION['submitted_when'])) OR 
+	($_POST['submitted_when'] != $_SESSION['submitted_when']) OR
+	(!isset($_POST['email-address']) OR $_POST['email-address']) OR
+	(!isset($_POST['name']) OR $_POST['name']) OR
+	(!isset($_POST['full_name']) OR $_POST['full_name'])
+)) {
+	exit(header("Location: ".WB_URL.PAGES_DIRECTORY.""));
+}
+
+// Load the language file
+if(!file_exists(WB_PATH.'/languages/'.DEFAULT_LANGUAGE.'.php')) {
+	exit('Error loading language file '.DEFAULT_LANGUAGE.', please check configuration');
+} else {
+	require_once(WB_PATH.'/languages/'.DEFAULT_LANGUAGE.'.php');
+	$load_language = false;
+}
+
+
+// Required page details
+$page_id = 0;
+$page_description = '';
+$page_keywords = '';
+define('PAGE_ID', 0);
+define('ROOT_PARENT', 0);
+define('PARENT', 0);
+define('LEVEL', 0);
+define('PAGE_TITLE', $TEXT['SIGNUP']);
+define('MENU_TITLE', $TEXT['SIGNUP']);
+define('MODULE', '');
+define('VISIBILITY', 'public');
+
+// Set the page content include file
+if(isset($_POST['username'])) {
+	define('PAGE_CONTENT', WB_PATH.'/account/signup2.php');
+} else {
+	define('PAGE_CONTENT', WB_PATH.'/account/signup_form.php');
+}
+
+// Set auto authentication to false
+$auto_auth = false;
+
+// Include the index (wrapper) file
+require(WB_PATH.'/index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/account/signup.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/account/email.php
===================================================================
--- tags/2.8.2/wb/account/email.php	(nonexistent)
+++ tags/2.8.2/wb/account/email.php	(revision 1481)
@@ -0,0 +1,58 @@
+<?php
+/**
+ *
+ * @category        frontend
+ * @package         account
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+if(!defined('WB_URL')) {
+	header('Location: ../index.php');
+	exit(0);
+}
+
+// Get the values entered
+$current_password = $wb->get_post('current_password');
+$email = $wb->get_post('email');
+
+// Create a javascript back link
+$js_back = "javascript: history.go(-1);";
+
+// Get existing password
+$database = new database();
+$query = "SELECT user_id FROM ".TABLE_PREFIX."users WHERE user_id = '".$wb->get_user_id()."' AND password = '".md5($current_password)."'";
+$results = $database->query($query);
+
+// Validate values
+if($results->numRows() == 0) {
+	$wb->print_error($MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT'], $js_back, false);
+}
+// Validate values
+if(!$wb->validate_email($email)) {
+	$wb->print_error($MESSAGE['USERS']['INVALID_EMAIL'], $js_back, false);
+}
+
+$email = $wb->add_slashes($email);
+
+// Update the database
+$database = new database();
+$query = "UPDATE ".TABLE_PREFIX."users SET email = '$email' WHERE user_id = '".$wb->get_user_id()."' AND password = '".md5($current_password)."'";
+$database->query($query);
+if($database->is_error()) {
+	$wb->print_error($database->get_error,'index.php', false);
+} else {
+	$wb->print_success($MESSAGE['PREFERENCES']['EMAIL_UPDATED'], WB_URL.'/account/preferences.php');
+	$_SESSION['EMAIL'] = $email;
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/account/email.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/account/index.php
===================================================================
--- tags/2.8.2/wb/account/index.php	(nonexistent)
+++ tags/2.8.2/wb/account/index.php	(revision 1481)
@@ -0,0 +1,21 @@
+<?php
+/**
+ *
+ * @category        frontend
+ * @package         account
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+header("Location: ../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/account/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/account/signup2.php
===================================================================
--- tags/2.8.2/wb/account/signup2.php	(nonexistent)
+++ tags/2.8.2/wb/account/signup2.php	(revision 1481)
@@ -0,0 +1,129 @@
+<?php
+/**
+ *
+ * @category        frontend
+ * @package         account
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+if(!defined('WB_URL')) {
+	header('Location: ../pages/index.php');
+	exit(0);
+}
+
+require_once(WB_PATH.'/framework/class.wb.php');
+$wb = new wb('Start', 'start', false, false);
+
+// Create new database object
+$database = new database();
+
+// Get details entered
+$groups_id = FRONTEND_SIGNUP;
+$active = 1;
+$username = strtolower(strip_tags($wb->get_post_escaped('username')));
+$display_name = strip_tags($wb->get_post_escaped('display_name'));
+$email = $wb->get_post('email');
+
+// Create a javascript back link
+$js_back = "javascript: history.go(-1);";
+
+// Check values
+if($groups_id == "") {
+	$wb->print_error($MESSAGE['USERS']['NO_GROUP'], $js_back, false);
+}
+if(strlen($username) < 3) {
+	$wb->print_error($MESSAGE['USERS']['USERNAME_TOO_SHORT'], $js_back, false);
+}
+if($email != "") {
+	if($wb->validate_email($email) == false) {
+		$wb->print_error($MESSAGE['USERS']['INVALID_EMAIL'], $js_back, false);
+	}
+} else {
+	$wb->print_error($MESSAGE['SIGNUP']['NO_EMAIL'], $js_back, false);
+}
+
+$email = $wb->add_slashes($email);
+
+// Captcha
+if(ENABLED_CAPTCHA) {
+	if(isset($_POST['captcha']) AND $_POST['captcha'] != ''){
+		// Check for a mismatch
+		if(!isset($_POST['captcha']) OR !isset($_SESSION['captcha']) OR $_POST['captcha'] != $_SESSION['captcha']) {
+			$wb->print_error($MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA'], $js_back, false);
+		}
+	} else {
+		$wb->print_error($MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA'], $js_back, false);
+	}
+}
+if(isset($_SESSION['captcha'])) { unset($_SESSION['captcha']); }
+
+// Generate a random password then update the database with it
+$new_pass = '';
+$salt = "abchefghjkmnpqrstuvwxyz0123456789";
+srand((double)microtime()*1000000);
+$i = 0;
+while ($i <= 7) {
+	$num = rand() % 33;
+	$tmp = substr($salt, $num, 1);
+	$new_pass = $new_pass . $tmp;
+	$i++;
+}
+$md5_password = md5($new_pass);
+
+// Check if username already exists
+$results = $database->query("SELECT user_id FROM ".TABLE_PREFIX."users WHERE username = '$username'");
+if($results->numRows() > 0) {
+	$wb->print_error($MESSAGE['USERS']['USERNAME_TAKEN'], $js_back, false);
+}
+
+// Check if the email already exists
+$results = $database->query("SELECT user_id FROM ".TABLE_PREFIX."users WHERE email = '".$wb->add_slashes($email)."'");
+if($results->numRows() > 0) {
+	if(isset($MESSAGE['USERS']['EMAIL_TAKEN'])) {
+		$wb->print_error($MESSAGE['USERS']['EMAIL_TAKEN'], $js_back, false);
+	} else {
+		$wb->print_error($MESSAGE['USERS']['INVALID_EMAIL'], $js_back, false);
+	}
+}
+
+// MD5 supplied password
+$md5_password = md5($new_pass);
+
+// Inser the user into the database
+$query = "INSERT INTO ".TABLE_PREFIX."users (group_id,groups_id,active,username,password,display_name,email) VALUES ('$groups_id', '$groups_id', '$active', '$username','$md5_password','$display_name','$email')";
+$database->query($query);
+
+if($database->is_error()) {
+	// Error updating database
+	$message = $database->get_error();
+} else {
+	// Setup email to send
+	$mail_to = $email;
+	$mail_subject = $MESSAGE['SIGNUP2']['SUBJECT_LOGIN_INFO'];
+
+	// Replace placeholders from language variable with values
+	$search = array('{LOGIN_DISPLAY_NAME}', '{LOGIN_WEBSITE_TITLE}', '{LOGIN_NAME}', '{LOGIN_PASSWORD}');
+	$replace = array($display_name, WEBSITE_TITLE, $username, $new_pass); 
+	$mail_message = str_replace($search, $replace, $MESSAGE['SIGNUP2']['BODY_LOGIN_INFO']);
+
+	// Try sending the email
+	if($wb->mail(SERVER_EMAIL,$mail_to,$mail_subject,$mail_message)) { 
+		$display_form = false;
+		$wb->print_success($MESSAGE['FORGOT_PASS']['PASSWORD_RESET'], WB_URL.'/account/login.php');
+	} else {
+		$database->query("DELETE FROM ".TABLE_PREFIX."users WHERE username = '$username'");
+		$wb->print_error($MESSAGE['FORGOT_PASS']['CANNOT_EMAIL'], $js_back, false);
+	}
+}
+
+?>

Property changes on: tags/2.8.2/wb/account/signup2.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/account/login.php
===================================================================
--- tags/2.8.2/wb/account/login.php	(nonexistent)
+++ tags/2.8.2/wb/account/login.php	(revision 1481)
@@ -0,0 +1,80 @@
+<?php
+/**
+ *
+ * @category        frontend
+ * @package         account
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+require_once("../config.php");
+
+// Make sure the login is enabled
+if(!FRONTEND_LOGIN) {
+	if(INTRO_PAGE) {
+		header('Location: '.WB_URL.PAGES_DIRECTORY.'/index.php');
+		exit(0);
+	} else {
+		header('Location: '.WB_URL.'/index.php');
+		exit(0);
+	}
+}
+
+// Required page details
+$page_id = 0;
+$page_description = '';
+$page_keywords = '';
+define('PAGE_ID', 0);
+define('ROOT_PARENT', 0);
+define('PARENT', 0);
+define('LEVEL', 0);
+define('PAGE_TITLE', $TEXT['PLEASE_LOGIN']);
+define('MENU_TITLE', $TEXT['PLEASE_LOGIN']);
+define('VISIBILITY', 'public');
+// Set the page content include file
+define('PAGE_CONTENT', WB_PATH.'/account/login_form.php');
+
+require_once(WB_PATH.'/framework/class.login.php');
+
+// Create new login app
+$redirect = strip_tags((isset($_REQUEST['redirect'])) ? $_REQUEST['redirect'] : '');
+$thisApp = new Login(
+							array(
+									"MAX_ATTEMPS" => "3",
+									"WARNING_URL" => THEME_URL."/templates/warning.html",
+									"USERNAME_FIELDNAME" => 'username',
+									"PASSWORD_FIELDNAME" => 'password',
+									"REMEMBER_ME_OPTION" => SMART_LOGIN,
+									"MIN_USERNAME_LEN" => "2",
+									"MIN_PASSWORD_LEN" => "2",
+									"MAX_USERNAME_LEN" => "30",
+									"MAX_PASSWORD_LEN" => "30",
+									"LOGIN_URL" => WB_URL."/account/login.php?redirect=" .$redirect,
+									"DEFAULT_URL" => WB_URL.PAGES_DIRECTORY."/index.php",
+									"TEMPLATE_DIR" => THEME_PATH."/templates",
+									"TEMPLATE_FILE" => "login.htt",
+									"FRONTEND" => true,
+									"FORGOTTEN_DETAILS_APP" => WB_URL."/account/forgot.php",
+									"USERS_TABLE" => TABLE_PREFIX."users",
+									"GROUPS_TABLE" => TABLE_PREFIX."groups",
+									"REDIRECT_URL" => $redirect
+							)
+					);
+
+// Set extra outsider var
+$globals[] = 'thisApp';
+
+// Include the index (wrapper) file
+require(WB_PATH.'/index.php');
+
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/account/login.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/account/signup_form.php
===================================================================
--- tags/2.8.2/wb/account/signup_form.php	(nonexistent)
+++ tags/2.8.2/wb/account/signup_form.php	(revision 1481)
@@ -0,0 +1,90 @@
+<?php
+/**
+ *
+ * @category        frontend
+ * @package         account
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+if(!defined('WB_URL')) {
+	header('Location: ../index.php');
+	exit(0);
+}
+require_once(WB_PATH.'/include/captcha/captcha.php');
+
+?>
+
+<h1>&nbsp;<?php echo $TEXT['SIGNUP']; ?></h1>
+
+<form name="user" action="<?php echo WB_URL.'/account/signup.php'; ?>" method="post">
+
+	<?php if(ENABLED_ASP) { // add some honeypot-fields
+	?>
+    <div style="display:none;">
+	<input type="hidden" name="submitted_when" value="<?php $t=time(); echo $t; $_SESSION['submitted_when']=$t; ?>" />
+	<p class="nixhier">
+	email-address:
+	<label for="email-address">Leave this field email-address blank:</label>
+	<input id="email-address" name="email-address" size="60" value="" /><br />
+	username (id):
+	<label for="name">Leave this field name blank:</label>
+	<input id="name" name="name" size="60" value="" /><br />
+	Full Name:
+	<label for="full_name">Leave this field full_name blank:</label>
+	<input id="full_name" name="full_name" size="60" value="" /><br />
+	</p>
+	<?php }
+	?>
+    </div>
+<table cellpadding="5" cellspacing="0" border="0" width="90%">
+<tr>
+	<td width="180"><?php echo $TEXT['USERNAME']; ?>:</td>
+	<td class="value_input">
+		<input type="text" name="username" maxlength="30" style="width:300px;"/>
+	</td>
+</tr>
+<tr>
+	<td><?php echo $TEXT['DISPLAY_NAME']; ?> (<?php echo $TEXT['FULL_NAME']; ?>):</td>
+	<td class="value_input">
+		<input type="text" name="display_name" maxlength="255" style="width:300px;" />
+	</td>
+</tr>
+<tr>
+	<td><?php echo $TEXT['EMAIL']; ?>:</td>
+	<td class="value_input">
+		<input type="text" name="email" maxlength="255" style="width:300px;"/>
+	</td>
+</tr>
+<?php
+// Captcha
+if(ENABLED_CAPTCHA) {
+	?><tr>
+		<td class="field_title"><?php echo $TEXT['VERIFICATION']; ?>:</td>
+		<td><?php call_captcha(); ?></td>
+		</tr>
+	<?php
+}
+?>
+<tr>
+	<td>&nbsp;</td>
+	<td>
+		<input type="submit" name="submit" value="<?php echo $TEXT['SIGNUP']; ?>" />
+		<input type="reset" name="reset" value="<?php echo $TEXT['RESET']; ?>" />
+	</td>
+</tr>
+</table>
+
+</form>
+
+<br />
+&nbsp; 

Property changes on: tags/2.8.2/wb/account/signup_form.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/framework/class.admin.php
===================================================================
--- tags/2.8.2/wb/framework/class.admin.php	(nonexistent)
+++ tags/2.8.2/wb/framework/class.admin.php	(revision 1481)
@@ -0,0 +1,435 @@
+<?php
+/**
+ *
+ * @category        frontend
+ * @package         account
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+if(!defined('WB_URL')) {
+	header('Location: ../index.php');
+	exit(0);
+}
+
+require_once(WB_PATH.'/framework/class.wb.php');
+
+// Include PHPLIB template class
+require_once(WB_PATH."/include/phplib/template.inc");
+
+// Get WB version
+require_once(ADMIN_PATH.'/interface/version.php');
+
+// Include EditArea wrapper functions
+require_once(WB_PATH . '/include/editarea/wb_wrapper_edit_area.php');
+
+/*
+Begin user changeable settings
+*/
+
+
+class admin extends wb {
+	// Authenticate user then auto print the header
+	function admin($section_name, $section_permission = 'start', $auto_header = true, $auto_auth = true) {
+		$this->wb();
+		global $MESSAGE;
+		// Specify the current applications name
+		$this->section_name = $section_name;
+		$this->section_permission = $section_permission;
+		// Authenticate the user for this application
+		if($auto_auth == true) {
+			// First check if the user is logged-in
+			if($this->is_authenticated() == false) {
+				header('Location: '.ADMIN_URL.'/login/index.php');
+				exit(0);
+			}
+			// Now check if they are allowed in this section
+			if($this->get_permission($section_permission) == false) {
+				die($MESSAGE['ADMIN']['INSUFFICIENT_PRIVELLIGES']);
+			}
+		}
+		
+		// Check if the backend language is also the selected language. If not, send headers again.
+		global $database;
+		$get_user_language = @$database->query("SELECT language FROM ".TABLE_PREFIX.
+			"users WHERE user_id = '" .(int) $this->get_user_id() ."'");
+		$user_language = ($get_user_language) ? $get_user_language->fetchRow() : '';
+		// prevent infinite loop if language file is not XX.php (e.g. DE_du.php)
+		$user_language = substr($user_language[0],0,2);
+		// obtain the admin folder (e.g. /admin)
+		$admin_folder = str_replace(WB_PATH, '', ADMIN_PATH);
+		if((LANGUAGE != $user_language) && file_exists(WB_PATH .'/languages/' .$user_language .'.php')
+			&& strpos($_SERVER['PHP_SELF'],$admin_folder.'/') !== false) {
+			// check if page_id is set
+			$page_id_url = (isset($_GET['page_id'])) ? '&page_id=' .(int) $_GET['page_id'] : '';
+			$section_id_url = (isset($_GET['section_id'])) ? '&section_id=' .(int) $_GET['section_id'] : '';
+			if(isset($_SERVER['QUERY_STRING']) && $_SERVER['QUERY_STRING'] != '') { // check if there is an query-string
+				header('Location: '.$_SERVER['PHP_SELF'] .'?lang='.$user_language .$page_id_url .$section_id_url.'&'.$_SERVER['QUERY_STRING']);
+			} else {
+				header('Location: '.$_SERVER['PHP_SELF'] .'?lang='.$user_language .$page_id_url .$section_id_url);
+			}
+			exit();
+		}
+
+		// Auto header code
+		if($auto_header == true) {
+			$this->print_header();
+		}
+	}
+	
+	// Print the admin header
+	function print_header($body_tags = '') {
+		// Get vars from the language file
+		global $MENU;
+		global $MESSAGE;
+		global $TEXT;
+		// Connect to database and get website title
+		global $database;
+		$get_title = $database->query("SELECT value FROM ".TABLE_PREFIX."settings WHERE name = 'website_title'");
+		$title = $get_title->fetchRow();
+		$header_template = new Template(THEME_PATH.'/templates');
+		$header_template->set_file('page', 'header.htt');
+		$header_template->set_block('page', 'header_block', 'header');
+		if(defined('DEFAULT_CHARSET')) {
+			$charset=DEFAULT_CHARSET;
+		} else {
+			$charset='utf-8';
+		}
+
+		// work out the URL for the 'View menu' link in the WB backend
+		// if the page_id is set, show this page otherwise show the root directory of WB
+		$view_url = WB_URL;
+		if(isset($_GET['page_id'])) {
+			// extract page link from the database
+			$result = @$database->query("SELECT link FROM " .TABLE_PREFIX ."pages WHERE page_id = '" .(int) addslashes($_GET['page_id']) ."'");
+			$row = @$result->fetchRow();
+			if($row) $view_url .= PAGES_DIRECTORY .$row['link']. PAGE_EXTENSION;
+		}
+
+		$header_template->set_var(	array(
+													'SECTION_NAME' => $MENU[strtoupper($this->section_name)],
+													'BODY_TAGS' => $body_tags,
+													'WEBSITE_TITLE' => ($title['value']),
+													'TEXT_ADMINISTRATION' => $TEXT['ADMINISTRATION'],
+													'CURRENT_USER' => $MESSAGE['START']['CURRENT_USER'],
+													'DISPLAY_NAME' => $this->get_display_name(),
+													'CHARSET' => $charset,
+													'LANGUAGE' => strtolower(LANGUAGE),
+													'VERSION' => VERSION,
+													'REVISION' => REVISION,
+													'WB_URL' => WB_URL,
+													'ADMIN_URL' => ADMIN_URL,
+													'THEME_URL' => THEME_URL,
+													'TITLE_START' => $MENU['START'],
+													'TITLE_VIEW' => $MENU['VIEW'],
+													'TITLE_HELP' => $MENU['HELP'],
+													'TITLE_LOGOUT' =>  $MENU['LOGOUT'],
+													'URL_VIEW' => $view_url,
+													'URL_HELP' => 'http://www.websitebaker.org/',
+													'BACKEND_MODULE_CSS' => $this->register_backend_modfiles('css'),	// adds backend.css
+													'BACKEND_MODULE_JS'  => $this->register_backend_modfiles('js')		// adds backend.js
+													)
+											);
+
+		// Create the menu
+		$menu = array(
+					array(ADMIN_URL.'/pages/index.php', '', $MENU['PAGES'], 'pages', 1),
+					array(ADMIN_URL.'/media/index.php', '', $MENU['MEDIA'], 'media', 1),
+					array(ADMIN_URL.'/addons/index.php', '', $MENU['ADDONS'], 'addons', 1),
+					array(ADMIN_URL.'/preferences/index.php', '', $MENU['PREFERENCES'], 'preferences', 0),
+					array(ADMIN_URL.'/settings/index.php', '', $MENU['SETTINGS'], 'settings', 1),
+					array(ADMIN_URL.'/admintools/index.php', '', $MENU['ADMINTOOLS'], 'admintools', 1),
+					array(ADMIN_URL.'/access/index.php', '', $MENU['ACCESS'], 'access', 1)
+					);
+		$header_template->set_block('header_block', 'linkBlock', 'link');
+		foreach($menu AS $menu_item) {
+			$link = $menu_item[0];
+			$target = ($menu_item[1] == '') ? '_self' : $menu_item[1];
+			$title = $menu_item[2];
+			$permission_title = $menu_item[3];
+			$required = $menu_item[4];
+			$replace_old = array(ADMIN_URL, WB_URL, '/', 'index.php');
+			if($required == false OR $this->get_link_permission($permission_title)) {
+				$header_template->set_var('LINK', $link);
+				$header_template->set_var('TARGET', $target);
+				// If link is the current section apply a class name
+				if($permission_title == strtolower($this->section_name)) {
+					$header_template->set_var('CLASS', $menu_item[3] . ' current');
+				} else {
+					$header_template->set_var('CLASS', $menu_item[3]);
+				}
+				$header_template->set_var('TITLE', $title);
+				// Print link
+				$header_template->parse('link', 'linkBlock', true);
+			}
+		}
+		$header_template->parse('header', 'header_block', false);
+		$header_template->pparse('output', 'page');
+	}
+	
+	// Print the admin footer
+	function print_footer() {
+		// include the required file for Javascript admin
+		if(file_exists(WB_PATH.'/modules/jsadmin/jsadmin_backend_include.php')){
+		@include(WB_PATH.'/modules/jsadmin/jsadmin_backend_include.php');
+		}
+		$footer_template = new Template(THEME_PATH.'/templates');
+		$footer_template->set_file('page', 'footer.htt');
+		$footer_template->set_block('page', 'footer_block', 'header');
+		$footer_template->set_var(array(
+						'BACKEND_BODY_MODULE_JS' => $this->register_backend_modfiles_body('js'),
+						'WB_URL' => WB_URL,
+						'WB_PATH' => WB_PATH,
+						'ADMIN_URL' => ADMIN_URL,
+						'THEME_URL' => THEME_URL,
+			 ) );
+		$footer_template->parse('header', 'footer_block', false);
+		$footer_template->pparse('output', 'page');
+	}
+	
+	// Return a system permission
+	function get_permission($name, $type = 'system') {
+		// Append to permission type
+		$type .= '_permissions';
+		// Check if we have a section to check for
+		if($name == 'start') {
+			return true;
+		} else {
+			// Set system permissions var
+			$system_permissions = $this->get_session('SYSTEM_PERMISSIONS');
+			// Set module permissions var
+			$module_permissions = $this->get_session('MODULE_PERMISSIONS');
+			// Set template permissions var
+			$template_permissions = $this->get_session('TEMPLATE_PERMISSIONS');
+			// Return true if system perm = 1
+			if (isset($$type) && is_array($$type) && is_numeric(array_search($name, $$type))) {
+				if($type == 'system_permissions') {
+					return true;
+				} else {
+					return false;
+				}
+			} else {
+				if($type == 'system_permissions') {
+					return false;
+				} else {
+					return true;
+				}
+			}
+		}
+	}
+		
+	function get_user_details($user_id) {
+		global $database;
+		$query_user = "SELECT username,display_name FROM ".TABLE_PREFIX."users WHERE user_id = '$user_id'";
+		$get_user = $database->query($query_user);
+		if($get_user->numRows() != 0) {
+			$user = $get_user->fetchRow();
+		} else {
+			$user['display_name'] = 'Unknown';
+			$user['username'] = 'unknown';
+		}
+		return $user;
+	}	
+	
+	function get_page_details($page_id) {
+		global $database;
+		$query = "SELECT page_id,page_title,menu_title,modified_by,modified_when FROM ".TABLE_PREFIX."pages WHERE page_id = '$page_id'";
+		$results = $database->query($query);
+		if($database->is_error()) {
+			$this->print_header();
+			$this->print_error($database->get_error());
+		}
+		if($results->numRows() == 0) {
+			$this->print_header();
+			$this->print_error($MESSAGE['PAGES']['NOT_FOUND']);
+		}
+		$results_array = $results->fetchRow();
+		return $results_array;
+	}	
+	
+	/** Function get_page_permission takes either a numerical page_id,
+	 * upon which it looks up the permissions in the database,
+	 * or an array with keys admin_groups and admin_users  
+	 */
+	function get_page_permission($page,$action='admin') {
+		if ($action!='viewing') $action='admin';
+		$action_groups=$action.'_groups';
+		$action_users=$action.'_users';
+		if (is_array($page)) {
+				$groups=$page[$action_groups];
+				$users=$page[$action_users];
+		} else {				
+			global $database;
+			$results = $database->query("SELECT $action_groups,$action_users FROM ".TABLE_PREFIX."pages WHERE page_id = '$page'");
+			$result = $results->fetchRow();
+			$groups = explode(',', str_replace('_', '', $result[$action_groups]));
+			$users = explode(',', str_replace('_', '', $result[$action_users]));
+		}
+
+		$in_group = FALSE;
+		foreach($this->get_groups_id() as $cur_gid){
+		    if (in_array($cur_gid, $groups)) {
+		        $in_group = TRUE;
+		    }
+		}
+		if((!$in_group) AND !is_numeric(array_search($this->get_user_id(), $users))) {
+			return false;
+		}
+		return true;
+	}
+		
+
+	// Returns a system permission for a menu link
+	function get_link_permission($title) {
+		$title = str_replace('_blank', '', $title);
+		$title = strtolower($title);
+		// Set system permissions var
+		$system_permissions = $this->get_session('SYSTEM_PERMISSIONS');
+		// Set module permissions var
+		$module_permissions = $this->get_session('MODULE_PERMISSIONS');
+		if($title == 'start') {
+			return true;
+		} else {
+			// Return true if system perm = 1
+			if(is_numeric(array_search($title, $system_permissions))) {
+				return true;
+			} else {
+				return false;
+			}
+		}
+	}
+
+	// Function to add optional module Javascript or CSS stylesheets into the <body> section of the backend
+	function register_backend_modfiles_body($file_id="js")
+		{
+		// sanity check of parameter passed to the function
+		$file_id = strtolower($file_id);
+		if($file_id !== "javascript" && $file_id !== "js")
+		{
+			return;
+		}
+		global $database;
+        $body_links = "";
+		// define default baselink and filename for optional module javascript and stylesheet files
+		if($file_id == "js") {
+			$base_link = '<script type="text/javascript" src="'.WB_URL.'/modules/{MODULE_DIRECTORY}/backend_body.js"></script>';
+			$base_file = "backend_body.js";
+		}
+		// check if backend_body.js files needs to be included to the <body></body> section of the backend
+		if(isset($_GET['tool']))
+			{
+			// check if displayed page contains a installed admin tool
+			$result = $database->query("SELECT * FROM " .TABLE_PREFIX ."addons
+				WHERE type = 'module' AND function = 'tool' AND directory = '".addslashes($_GET['tool'])."'");
+			if($result->numRows())
+				{
+				// check if admin tool directory contains a backend_body.js file to include
+				$tool = $result->fetchRow();
+				if(file_exists(WB_PATH ."/modules/" .$tool['directory'] ."/$base_file"))
+				{
+					// return link to the backend_body.js file
+					return str_replace("{MODULE_DIRECTORY}", $tool['directory'], $base_link);
+				}
+			}
+		} elseif(isset($_GET['page_id']) or isset($_POST['page_id']))
+		{
+			// check if displayed page in the backend contains a page module
+			if (isset($_GET['page_id']))
+			{
+				$page_id = (int) addslashes($_GET['page_id']);
+			} else {
+				$page_id = (int) addslashes($_POST['page_id']);
+			}
+			// gather information for all models embedded on actual page
+			$query_modules = $database->query("SELECT module FROM " .TABLE_PREFIX ."sections
+				WHERE page_id=$page_id");
+			while($row = $query_modules->fetchRow()) {
+				// check if page module directory contains a backend_body.js file
+				if(file_exists(WB_PATH ."/modules/" .$row['module'] ."/$base_file")) {
+					// create link with backend_body.js source for the current module
+					$tmp_link = str_replace("{MODULE_DIRECTORY}", $row['module'], $base_link);
+					// ensure that backend_body.js is only added once per module type
+					if(strpos($body_links, $tmp_link) === false) {
+						$body_links .= $tmp_link ."\n";
+					}
+				}
+			}
+			// write out links with all external module javascript/CSS files, remove last line feed
+			return rtrim($body_links);
+		}
+	}
+
+
+	// Function to add optional module Javascript or CSS stylesheets into the <head> section of the backend
+	function register_backend_modfiles($file_id="css") {
+		// sanity check of parameter passed to the function
+		$file_id = strtolower($file_id);
+		if($file_id !== "css" && $file_id !== "javascript" && $file_id !== "js") {
+			return;
+		}
+
+		global $database;
+		// define default baselink and filename for optional module javascript and stylesheet files
+		$head_links = "";
+		if($file_id == "css") {
+      	$base_link = '<link href="'.WB_URL.'/modules/{MODULE_DIRECTORY}/backend.css"';
+			$base_link.= ' rel="stylesheet" type="text/css" media="screen" />';
+			$base_file = "backend.css";
+		} else {
+			$base_link = '<script type="text/javascript" src="'.WB_URL.'/modules/{MODULE_DIRECTORY}/backend.js"></script>';
+			$base_file = "backend.js";
+		}
+
+		// check if backend.js or backend.css files needs to be included to the <head></head> section of the backend
+		if(isset($_GET['tool'])) {
+			// check if displayed page contains a installed admin tool
+			$result = $database->query("SELECT * FROM " .TABLE_PREFIX ."addons
+				WHERE type = 'module' AND function = 'tool' AND directory = '".addslashes($_GET['tool'])."'");
+
+			if($result->numRows()) {
+				// check if admin tool directory contains a backend.js or backend.css file to include
+				$tool = $result->fetchRow();
+				if(file_exists(WB_PATH ."/modules/" .$tool['directory'] ."/$base_file")) {
+        			// return link to the backend.js or backend.css file
+					return str_replace("{MODULE_DIRECTORY}", $tool['directory'], $base_link);
+				}
+			}
+		} elseif(isset($_GET['page_id']) or isset($_POST['page_id'])) {
+			// check if displayed page in the backend contains a page module
+			if (isset($_GET['page_id'])) {
+				$page_id = (int) addslashes($_GET['page_id']);
+			} else {
+				$page_id = (int) addslashes($_POST['page_id']);
+			}
+
+    		// gather information for all models embedded on actual page
+			$query_modules = $database->query("SELECT module FROM " .TABLE_PREFIX ."sections
+				WHERE page_id=$page_id");
+
+    		while($row = $query_modules->fetchRow()) {
+				// check if page module directory contains a backend.js or backend.css file
+      		if(file_exists(WB_PATH ."/modules/" .$row['module'] ."/$base_file")) {
+					// create link with backend.js or backend.css source for the current module
+					$tmp_link = str_replace("{MODULE_DIRECTORY}", $row['module'], $base_link);
+        			// ensure that backend.js or backend.css is only added once per module type
+        			if(strpos($head_links, $tmp_link) === false) {
+						$head_links .= $tmp_link ."\n";
+					}
+				}
+    		}
+    		// write out links with all external module javascript/CSS files, remove last line feed
+			return rtrim($head_links);
+		}
+	}
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/framework/class.admin.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/framework/class.login.php
===================================================================
--- tags/2.8.2/wb/framework/class.login.php	(nonexistent)
+++ tags/2.8.2/wb/framework/class.login.php	(revision 1481)
@@ -0,0 +1,421 @@
+<?php
+/**
+ *
+ * @category        backend
+ * @package         login
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// Stop this file from being accessed directly
+if(!defined('WB_URL')) {
+	header('Location: ../index.php');
+	exit(0);
+}
+
+define('LOGIN_CLASS_LOADED', true);
+
+// Load the other required class files if they are not already loaded
+require_once(WB_PATH."/framework/class.admin.php");
+// Get WB version
+require_once(ADMIN_PATH.'/interface/version.php');
+
+class login extends admin {
+	function login($config_array) {
+		// Get language vars
+		global $MESSAGE;
+		$this->wb();
+		// Get configuration values
+		$this->USERS_TABLE = $config_array['USERS_TABLE'];
+		$this->GROUPS_TABLE = $config_array['GROUPS_TABLE'];
+		$this->username_fieldname = $config_array['USERNAME_FIELDNAME'];
+		$this->password_fieldname = $config_array['PASSWORD_FIELDNAME'];
+		$this->remember_me_option = $config_array['REMEMBER_ME_OPTION'];
+		$this->max_attemps = $config_array['MAX_ATTEMPS'];
+		$this->warning_url = $config_array['WARNING_URL'];
+		$this->login_url = $config_array['LOGIN_URL'];
+		$this->template_dir = $config_array['TEMPLATE_DIR'];
+		$this->template_file = $config_array['TEMPLATE_FILE'];
+		$this->frontend = $config_array['FRONTEND'];
+		$this->forgotten_details_app = $config_array['FORGOTTEN_DETAILS_APP'];
+		$this->max_username_len = $config_array['MAX_USERNAME_LEN'];
+		$this->max_password_len = $config_array['MAX_PASSWORD_LEN'];
+		if (array_key_exists('REDIRECT_URL',$config_array))
+			$this->redirect_url = $config_array['REDIRECT_URL'];
+		else
+			$this->redirect_url = '';
+		// Get the supplied username and password
+		if ($this->get_post('username_fieldname') != ''){
+			$username_fieldname = $this->get_post('username_fieldname');
+			$password_fieldname = $this->get_post('password_fieldname');
+		} else {
+			$username_fieldname = 'username';
+			$password_fieldname = 'password';
+		}
+		$this->username = $this->add_slashes(strtolower($this->get_post($username_fieldname)));
+		$this->password = $this->get_post($password_fieldname);
+		// Figure out if the "remember me" option has been checked
+		if($this->get_post('remember') == 'true') {
+			$this->remember = $this->get_post('remember');
+		} else {
+			$this->remember = false;
+		}
+		// Get the length of the supplied username and password
+		if($this->get_post($username_fieldname) != '') {
+			$this->username_len = strlen($this->username);
+			$this->password_len = strlen($this->password);
+		}
+		// If the url is blank, set it to the default url
+		$this->url = $this->get_post('url');
+		if ($this->redirect_url!='') {
+			$this->url = $this->redirect_url;
+		}		
+		if(strlen($this->url) < 2) {
+			$this->url = $config_array['DEFAULT_URL'];
+		}
+		if($this->is_authenticated() == true) {
+			// User already logged-in, so redirect to default url
+			header('Location: '.$this->url);
+			exit();
+		} elseif($this->is_remembered() == true) {
+			// User has been "remembered"
+			// Get the users password
+			$database = new database();
+			$query_details = $database->query("SELECT * FROM ".$this->USERS_TABLE." WHERE user_id = '".$this->get_safe_remember_key()."' LIMIT 1");
+			$fetch_details = $query_details->fetchRow();
+			$this->username = $fetch_details['username'];
+			$this->password = $fetch_details['password'];
+			// Check if the user exists (authenticate them)
+			if($this->authenticate()) {
+				// Authentication successful
+				header("Location: ".$this->url);
+				exit(0);
+			} else {
+				$this->message = $MESSAGE['LOGIN']['AUTHENTICATION_FAILED'];
+				$this->increase_attemps();
+			}
+		} elseif($this->username == '' AND $this->password == '') {
+			$this->message = $MESSAGE['LOGIN']['BOTH_BLANK'];
+			$this->increase_attemps();
+		} elseif($this->username == '') {
+			$this->message = $MESSAGE['LOGIN']['USERNAME_BLANK'];
+			$this->increase_attemps();
+		} elseif($this->password == '') {
+			$this->message = $MESSAGE['LOGIN']['PASSWORD_BLANK'];
+			$this->increase_attemps();
+		} elseif($this->username_len < $config_array['MIN_USERNAME_LEN']) {
+			$this->message = $MESSAGE['LOGIN']['USERNAME_TOO_SHORT'];
+			$this->increase_attemps();
+		} elseif($this->password_len < $config_array['MIN_PASSWORD_LEN']) {
+			$this->message = $MESSAGE['LOGIN']['PASSWORD_TOO_SHORT'];
+			$this->increase_attemps();
+		} elseif($this->username_len > $config_array['MAX_USERNAME_LEN']) {
+			$this->message = $MESSAGE['LOGIN']['USERNAME_TOO_LONG'];
+			$this->increase_attemps();
+		} elseif($this->password_len > $config_array['MAX_PASSWORD_LEN']) {
+			$this->message = $MESSAGE['LOGIN']['PASSWORD_TOO_LONG'];
+			$this->increase_attemps();
+		} else {
+			// Check if the user exists (authenticate them)
+			$this->password = md5($this->password);
+			if($this->authenticate()) {
+				// Authentication successful
+				//echo $this->url;exit();
+				header("Location: ".$this->url);
+				exit(0);
+			} else {
+				$this->message = $MESSAGE['LOGIN']['AUTHENTICATION_FAILED'];
+				$this->increase_attemps();
+			}
+		}
+	}
+	
+	// Authenticate the user (check if they exist in the database)
+	function authenticate() {
+		// Get user information
+		$database = new database();
+		$query = "SELECT * FROM ".$this->USERS_TABLE." WHERE username = '".$this->username."' AND password = '".$this->password."' AND active = '1'";
+		$results = $database->query($query);
+		$results_array = $results->fetchRow();
+		$num_rows = $results->numRows();
+		if($num_rows) {
+			$user_id = $results_array['user_id'];
+			$this->user_id = $user_id;
+			$_SESSION['USER_ID'] = $user_id;
+			$_SESSION['GROUP_ID'] = $results_array['group_id'];
+			$_SESSION['GROUPS_ID'] = $results_array['groups_id'];
+			$_SESSION['USERNAME'] = $results_array['username'];
+			$_SESSION['DISPLAY_NAME'] = $results_array['display_name'];
+			$_SESSION['EMAIL'] = $results_array['email'];
+			$_SESSION['HOME_FOLDER'] = $results_array['home_folder'];
+			// Run remember function if needed
+			if($this->remember == true) {
+				$this->remember($this->user_id);
+			}
+			// Set language
+			if($results_array['language'] != '') {
+				$_SESSION['LANGUAGE'] = $results_array['language'];
+			}
+			// Set timezone
+			if($results_array['timezone'] != '-72000') {
+				$_SESSION['TIMEZONE'] = $results_array['timezone'];
+			} else {
+				// Set a session var so apps can tell user is using default tz
+				$_SESSION['USE_DEFAULT_TIMEZONE'] = true;
+			}
+			// Set date format
+			if($results_array['date_format'] != '') {
+				$_SESSION['DATE_FORMAT'] = $results_array['date_format'];
+			} else {
+				// Set a session var so apps can tell user is using default date format
+				$_SESSION['USE_DEFAULT_DATE_FORMAT'] = true;
+			}
+			// Set time format
+			if($results_array['time_format'] != '') {
+				$_SESSION['TIME_FORMAT'] = $results_array['time_format'];
+			} else {
+				// Set a session var so apps can tell user is using default time format
+				$_SESSION['USE_DEFAULT_TIME_FORMAT'] = true;
+			}
+			// Get group information
+//			$query = "SELECT * FROM ".$this->GROUPS_TABLE." WHERE group_id = '".$this->get_session('GROUP_ID')."'";
+//			$results = $database->query($query);
+//			$results_array = $results->fetchRow();
+//			$_SESSION['GROUP_NAME'] = $results_array['name'];
+//			// Set system permissions
+//			if($results_array['system_permissions'] != '') {
+//				$_SESSION['SYSTEM_PERMISSIONS'] = explode(',', $results_array['system_permissions']);
+//			} else {
+//				$_SESSION['SYSTEM_PERMISSIONS'] = array();
+//			}
+//			// Set module permissions
+//			if($results_array['module_permissions'] != '') {
+//				$_SESSION['MODULE_PERMISSIONS'] = explode(',', $results_array['module_permissions']);
+//			} else {
+//				$_SESSION['MODULE_PERMISSIONS'] = array();
+//			}
+//			// Set template permissions
+//			if($results_array['template_permissions'] != '') {
+//				$_SESSION['TEMPLATE_PERMISSIONS'] = explode(',', $results_array['template_permissions']);
+//			} else {
+//				$_SESSION['TEMPLATE_PERMISSIONS'] = array();
+//			}
+
+			$_SESSION['SYSTEM_PERMISSIONS'] = array();
+			$_SESSION['MODULE_PERMISSIONS'] = array();
+			$_SESSION['TEMPLATE_PERMISSIONS'] = array();
+			$_SESSION['GROUP_NAME'] = array();
+
+			$first_group = true;
+			foreach (explode(",", $this->get_session('GROUPS_ID')) as $cur_group_id)
+            {
+				$query = "SELECT * FROM ".$this->GROUPS_TABLE." WHERE group_id = '".$cur_group_id."'";
+				$results = $database->query($query);
+				$results_array = $results->fetchRow();
+				$_SESSION['GROUP_NAME'][$cur_group_id] = $results_array['name'];
+				// Set system permissions
+				if($results_array['system_permissions'] != '') {
+					$_SESSION['SYSTEM_PERMISSIONS'] = array_merge($_SESSION['SYSTEM_PERMISSIONS'], explode(',', $results_array['system_permissions']));
+				}
+				// Set module permissions
+				if($results_array['module_permissions'] != '') {
+					if ($first_group) {
+          	$_SESSION['MODULE_PERMISSIONS'] = explode(',', $results_array['module_permissions']);
+          } else {
+          	$_SESSION['MODULE_PERMISSIONS'] = array_intersect($_SESSION['MODULE_PERMISSIONS'], explode(',', $results_array['module_permissions']));
+					}
+				}
+				// Set template permissions
+				if($results_array['template_permissions'] != '') {
+					if ($first_group) {
+          	$_SESSION['TEMPLATE_PERMISSIONS'] = explode(',', $results_array['template_permissions']);
+          } else {
+          	$_SESSION['TEMPLATE_PERMISSIONS'] = array_intersect($_SESSION['TEMPLATE_PERMISSIONS'], explode(',', $results_array['template_permissions']));
+					}
+				}
+				$first_group = false;
+			}	
+
+			// Update the users table with current ip and timestamp
+			$get_ts = time();
+			$get_ip = $_SERVER['REMOTE_ADDR'];
+			$query = "UPDATE ".$this->USERS_TABLE." SET login_when = '$get_ts', login_ip = '$get_ip' WHERE user_id = '$user_id'";
+			$database->query($query);
+		}
+		// Return if the user exists or not
+		return $num_rows;
+	}
+	
+	// Increase the count for login attemps
+	function increase_attemps() {
+		if(!isset($_SESSION['ATTEMPS'])) {
+			$_SESSION['ATTEMPS'] = 0;
+		} else {
+			$_SESSION['ATTEMPS'] = $this->get_session('ATTEMPS')+1;
+		}
+		$this->display_login();
+	}
+	
+	// Function to set a "remembering" cookie for the user
+	function remember($user_id) {
+		$remember_key = '';
+		// Generate user id to append to the remember key
+		$length = 11-strlen($user_id);
+		if($length > 0) {
+			for($i = 1; $i <= $length; $i++) {
+				$remember_key .= '0';
+			}
+		}
+		// Generate remember key
+		$remember_key .= $user_id.'_';
+		$salt = "abchefghjkmnpqrstuvwxyz0123456789";
+		srand((double)microtime()*1000000);
+		$i = 0;
+		while ($i <= 10) {
+			$num = rand() % 33;
+			$tmp = substr($salt, $num, 1);
+			$remember_key = $remember_key . $tmp;
+			$i++;
+		}
+		$remember_key = $remember_key;
+		// Update the remember key in the db
+		$database = new database();
+		$database->query("UPDATE ".$this->USERS_TABLE." SET remember_key = '$remember_key' WHERE user_id = '$user_id' LIMIT 1");
+		if($database->is_error()) {
+			return false;
+		} else {
+			// Workout options for the cookie
+			$cookie_name = 'REMEMBER_KEY';
+			$cookie_value = $remember_key;
+			$cookie_expire = time()+60*60*24*30;
+			// Set the cookie
+			if(setcookie($cookie_name, $cookie_value, $cookie_expire, '/')) {
+				return true;
+			} else {
+				return false;
+			}
+		}
+	}
+	
+	// Function to check if a user has been remembered
+	function is_remembered() {
+		if(isset($_COOKIE['REMEMBER_KEY']) AND $_COOKIE['REMEMBER_KEY'] != '') {
+			// Check if the remember key is correct
+			$database = new database();
+			$sql = "SELECT `user_id` FROM `" . $this->USERS_TABLE . "` WHERE `remember_key` = '";
+			$sql .= $this->get_safe_remember_key() . "' LIMIT 1";
+			$check_query = $database->query($sql);
+
+			if($check_query->numRows() > 0) {
+				$check_fetch = $check_query->fetchRow();
+				$user_id = $check_fetch['user_id'];
+				// Check the remember key prefix
+				$remember_key_prefix = '';
+				$length = 11-strlen($user_id);
+				if($length > 0) {
+					for($i = 1; $i <= $length; $i++) {
+						$remember_key_prefix .= '0';
+					}
+				}
+				$remember_key_prefix .= $user_id.'_';
+				$length = strlen($remember_key_prefix);
+				if(substr($_COOKIE['REMEMBER_KEY'], 0, $length) == $remember_key_prefix) {
+					return true;
+				} else {
+					return false;
+				}
+			} else {
+				return false;
+			}
+		} else {
+			return false;
+		}
+	}
+	
+	// Display the login screen
+	function display_login() {
+		// Get language vars
+		global $MESSAGE;
+		global $MENU;
+		global $TEXT;
+		// If attemps more than allowed, warn the user
+		if($this->get_session('ATTEMPS') > $this->max_attemps) {
+			$this->warn();
+		}
+		// Show the login form
+		if($this->frontend != true) {
+			require_once(WB_PATH.'/include/phplib/template.inc');
+			$template = new Template($this->template_dir);
+			$template->set_file('page', $this->template_file);
+			$template->set_block('page', 'mainBlock', 'main');
+			if($this->remember_me_option != true) {
+				$template->set_var('DISPLAY_REMEMBER_ME', 'display: none;');
+			} else {
+				$template->set_var('DISPLAY_REMEMBER_ME', '');
+			}
+			$template->set_var(array(
+											'ACTION_URL' => $this->login_url,
+											'ATTEMPS' => $this->get_session('ATTEMPS'),
+											'USERNAME' => $this->username,
+											'USERNAME_FIELDNAME' => $this->username_fieldname,
+											'PASSWORD_FIELDNAME' => $this->password_fieldname,
+											'MESSAGE' => $this->message,
+											'INTERFACE_DIR_URL' =>  ADMIN_URL.'/interface',
+											'MAX_USERNAME_LEN' => $this->max_username_len,
+											'MAX_PASSWORD_LEN' => $this->max_password_len,
+											'WB_URL' => WB_URL,
+											'THEME_URL' => THEME_URL,
+                                            'VERSION' => VERSION,
+                                            'REVISION' => REVISION,
+											'LANGUAGE' => strtolower(LANGUAGE),
+											'FORGOTTEN_DETAILS_APP' => $this->forgotten_details_app,
+											'TEXT_FORGOTTEN_DETAILS' => $TEXT['FORGOTTEN_DETAILS'],
+											'TEXT_USERNAME' => $TEXT['USERNAME'],
+											'TEXT_PASSWORD' => $TEXT['PASSWORD'],
+											'TEXT_REMEMBER_ME' => $TEXT['REMEMBER_ME'],
+											'TEXT_LOGIN' => $TEXT['LOGIN'],
+											'TEXT_HOME' => $TEXT['HOME'],
+											'PAGES_DIRECTORY' => PAGES_DIRECTORY,
+											'SECTION_LOGIN' => $MENU['LOGIN']
+											)
+									);
+			if(defined('DEFAULT_CHARSET')) {
+				$charset=DEFAULT_CHARSET;
+			} else {
+				$charset='utf-8';
+			}
+			
+			$template->set_var('CHARSET', $charset);	
+									
+									
+			$template->parse('main', 'mainBlock', false);
+			$template->pparse('output', 'page');
+		}
+	}
+
+	// sanities the REMEMBER_KEY cookie to avoid SQL injection
+	function get_safe_remember_key() {
+		if (!((strlen($_COOKIE['REMEMBER_KEY']) == 23) && (substr($_COOKIE['REMEMBER_KEY'], 11, 1) == '_'))) return '';
+		// create a clean cookie (XXXXXXXXXXX_YYYYYYYYYYY) where X:= numeric, Y:= hash
+		$clean_cookie = sprintf('%011d', (int) substr($_COOKIE['REMEMBER_KEY'], 0, 11)) . substr($_COOKIE['REMEMBER_KEY'], 11);
+		return ($clean_cookie == $_COOKIE['REMEMBER_KEY']) ? $this->add_slashes($clean_cookie) : '';
+	}
+	
+	// Warn user that they have had to many login attemps
+	function warn() {
+		header('Location: '.$this->warning_url);
+		exit(0);
+	}
+	
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/framework/class.login.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/framework/class.wb.php
===================================================================
--- tags/2.8.2/wb/framework/class.wb.php	(nonexistent)
+++ tags/2.8.2/wb/framework/class.wb.php	(revision 1481)
@@ -0,0 +1,355 @@
+<?php
+/**
+ *
+ * @category        frontend
+ * @package         framework
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL: $
+ * @lastmodified    $Date:  $
+ *
+ */
+
+// Include PHPLIB template class
+require_once(WB_PATH."/include/phplib/template.inc");
+
+require_once(WB_PATH.'/framework/class.database.php');
+
+// Include new wbmailer class (subclass of PHPmailer)
+require_once(WB_PATH."/framework/class.wbmailer.php");
+
+class wb
+{
+	// General initialization function 
+	// performed when frontend or backend is loaded.
+	function wb() {
+	}
+
+	// Check whether a page is visible or not.
+	// This will check page-visibility and user- and group-rights.
+	/* page_is_visible() returns
+		false: if page-visibility is 'none' or 'deleted', or page-vis. is 'registered' or 'private' and user isn't allowed to see the page.
+		true: if page-visibility is 'public' or 'hidden', or page-vis. is 'registered' or 'private' and user _is_ allowed to see the page.
+	*/
+	function page_is_visible($page)
+    {
+		$show_it = false; // shall we show the page?
+		$page_id = $page['page_id'];
+		$visibility = $page['visibility'];
+		$viewing_groups = $page['viewing_groups'];
+		$viewing_users = $page['viewing_users'];
+
+		// First check if visibility is 'none', 'deleted'
+		if($visibility == 'none')
+        {
+			return(false);
+		} elseif($visibility == 'deleted')
+        {
+			return(false);
+		}
+
+		// Now check if visibility is 'hidden', 'private' or 'registered'
+		if($visibility == 'hidden') { // hidden: hide the menu-link, but show the page
+			$show_it = true;
+		} elseif($visibility == 'private' || $visibility == 'registered')
+        {
+			// Check if the user is logged in
+			if($this->is_authenticated() == true)
+            {
+				// Now check if the user has perms to view the page
+				$in_group = false;
+				foreach($this->get_groups_id() as $cur_gid)
+                {
+				    if(in_array($cur_gid, explode(',', $viewing_groups)))
+                    {
+				        $in_group = true;
+				    }
+				}
+				if($in_group || in_array($this->get_user_id(), explode(',', $viewing_users))) {
+					$show_it = true;
+				} else {
+					$show_it = false;
+				}
+			} else {
+				$show_it = false;
+			}
+		} elseif($visibility == 'public') {
+			$show_it = true;
+		} else {
+			$show_it = false;
+		}
+		return($show_it);
+	}
+	// Check if there is at least one active section on this page
+	function page_is_active($page)
+    {
+		global $database;
+		$has_active_sections = false;
+		$page_id = $page['page_id'];
+		$now = time();
+		$query_sections = $database->query("SELECT publ_start,publ_end FROM ".TABLE_PREFIX."sections WHERE page_id = '$page_id'");
+		if($query_sections->numRows() != 0)
+        {
+			while($section = $query_sections->fetchRow())
+            {
+				if($now<$section['publ_end'] && ($now>$section['publ_start'] || $section['publ_start']==0) || $now>$section['publ_start'] && $section['publ_end']==0)
+                {
+					$has_active_sections = true;
+					break;
+				}
+			}
+		}
+		return($has_active_sections);
+	}
+
+	// Check whether we should show a page or not (for front-end)
+	function show_page($page)
+    {
+		if($this->page_is_visible($page) && $this->page_is_active($page))
+        {
+			return true;
+		} else {
+			return false;
+		}
+	}
+
+	// Check if the user is already authenticated or not
+	function is_authenticated() {
+		if(isset($_SESSION['USER_ID']) AND $_SESSION['USER_ID'] != "" AND is_numeric($_SESSION['USER_ID']))
+        {
+			return true;
+		} else {
+			return false;
+		}
+	}
+
+	// Modified addslashes function which takes into account magic_quotes
+	function add_slashes($input) {
+		if ( get_magic_quotes_gpc() || ( !is_string($input) ) ) {
+			return $input;
+		}
+		$output = addslashes($input);
+		return $output;
+	}
+
+	// Ditto for stripslashes
+	// Attn: this is _not_ the counterpart to $this->add_slashes() !
+	// Use stripslashes() to undo a preliminarily done $this->add_slashes()
+	// The purpose of $this->strip_slashes() is to undo the effects of magic_quotes_gpc==On
+	function strip_slashes($input) {
+		if ( !get_magic_quotes_gpc() || ( !is_string($input) ) ) {
+			return $input;
+		}
+		$output = stripslashes($input);
+		return $output;
+	}
+
+	// Escape backslashes for use with mySQL LIKE strings
+	function escape_backslashes($input) {
+		return str_replace("\\","\\\\",$input);
+	}
+
+	function page_link($link){
+		// Check for :// in the link (used in URL's) as well as mailto:
+		if(strstr($link, '://') == '' AND substr($link, 0, 7) != 'mailto:') {
+			return WB_URL.PAGES_DIRECTORY.$link.PAGE_EXTENSION;
+		} else {
+			return $link;
+		}
+	}
+	
+	// Get POST data
+	function get_post($field) {
+		if(isset($_POST[$field])) {
+			return $_POST[$field];
+		} else {
+			return null;
+		}
+	}
+
+	// Get POST data and escape it
+	function get_post_escaped($field) {
+		$result = $this->get_post($field);
+		return (is_null($result)) ? null : $this->add_slashes($result);
+	}
+	
+	// Get GET data
+	function get_get($field) {
+		if(isset($_GET[$field])) {
+			return $_GET[$field];
+		} else {
+			return null;
+		}
+	}
+
+	// Get SESSION data
+	function get_session($field) {
+		if(isset($_SESSION[$field])) {
+			return $_SESSION[$field];
+		} else {
+			return null;
+		}
+	}
+
+	// Get SERVER data
+	function get_server($field) {
+		if(isset($_SERVER[$field])) {
+			return $_SERVER[$field];
+		} else {
+			return null;
+		}
+	}
+
+	// Get the current users id
+	function get_user_id() {
+		return $_SESSION['USER_ID'];
+	}
+
+	// Get the current users group id
+	function get_group_id() {
+		return $_SESSION['GROUP_ID'];
+	}
+
+	// Get the current users group ids
+	function get_groups_id() {
+		return explode(",", $_SESSION['GROUPS_ID']);
+	}
+
+	// Get the current users group name
+	function get_group_name() {
+		return implode(",", $_SESSION['GROUP_NAME']);
+	}
+
+	// Get the current users group name
+	function get_groups_name() {
+		return $_SESSION['GROUP_NAME'];
+	}
+
+	// Get the current users username
+	function get_username() {
+		return $_SESSION['USERNAME'];
+	}
+
+	// Get the current users display name
+	function get_display_name() {
+		return ($_SESSION['DISPLAY_NAME']);
+	}
+
+	// Get the current users email address
+	function get_email() {
+		return $_SESSION['EMAIL'];
+	}
+
+	// Get the current users home folder
+	function get_home_folder() {
+		return $_SESSION['HOME_FOLDER'];
+	}
+
+	// Get the current users timezone
+	function get_timezone() {
+		if(!isset($_SESSION['USE_DEFAULT_TIMEZONE'])) {
+			return $_SESSION['TIMEZONE'];
+		} else {
+			return '-72000';
+		}
+	}
+
+	// Validate supplied email address
+	function validate_email($email) {
+		if(preg_match('/^([0-9a-zA-Z]+[-._+&])*[0-9a-zA-Z]+@([-0-9a-zA-Z]+[.])+[a-zA-Z]{2,6}$/', $email)) {
+		return true;
+		} else {
+			return false;
+		}
+	}
+
+	// Print a success message which then automatically redirects the user to another page
+	function print_success($message, $redirect = 'index.php') {
+		global $TEXT, $database;
+		
+		// fetch redirect timer for sucess messages from settings table
+		$table = TABLE_PREFIX . 'settings';
+		$results = @$database->get_one("SELECT `value` FROM `$table` WHERE `name` = 'redirect_timer'");
+		$redirect_timer = ($results) ? $results : '1500';
+
+		// add template variables
+		$success_template = new Template(THEME_PATH.'/templates');
+		$success_template->set_file('page', 'success.htt');
+		$success_template->set_block('page', 'main_block', 'main');
+		$success_template->set_var('MESSAGE', $message);
+		$success_template->set_var('REDIRECT', $redirect);
+		$success_template->set_var('REDIRECT_TIMER', $redirect_timer);
+		$success_template->set_var('NEXT', $TEXT['NEXT']);
+		$success_template->parse('main', 'main_block', false);
+		$success_template->pparse('output', 'page');
+	}
+	
+	// Print an error message
+	function print_error($message, $link = 'index.php', $auto_footer = true) {
+		global $TEXT;
+		$success_template = new Template(THEME_PATH.'/templates');
+		$success_template->set_file('page', 'error.htt');
+		$success_template->set_block('page', 'main_block', 'main');
+		$success_template->set_var('MESSAGE', $message);
+		$success_template->set_var('LINK', $link);
+		$success_template->set_var('BACK', $TEXT['BACK']);
+		$success_template->parse('main', 'main_block', false);
+		$success_template->pparse('output', 'page');
+		if ( $auto_footer == true ) {
+			if ( method_exists($this, "print_footer") ) {
+				$this->print_footer();
+			}
+		}
+		exit();
+	}
+
+	// Validate send email
+	function mail($fromaddress, $toaddress, $subject, $message, $fromname='') {
+		/* 
+			INTEGRATED OPEN SOURCE PHPMAILER CLASS FOR SMTP SUPPORT AND MORE
+			SOME SERVICE PROVIDERS DO NOT SUPPORT SENDING MAIL VIA PHP AS IT DOES NOT PROVIDE SMTP AUTHENTICATION
+			NEW WBMAILER CLASS IS ABLE TO SEND OUT MESSAGES USING SMTP WHICH RESOLVE THESE ISSUE (C. Sommer)
+
+			NOTE:
+			To use SMTP for sending out mails, you have to specify the SMTP host of your domain
+			via the Settings panel in the backend of Website Baker
+		*/ 
+
+		$fromaddress = preg_replace('/[\r\n]/', '', $fromaddress);
+		$toaddress = preg_replace('/[\r\n]/', '', $toaddress);
+		$subject = preg_replace('/[\r\n]/', '', $subject);
+		$message_alt = $message;
+		$message = preg_replace('/[\r\n]/', '<br \>', $message);
+		
+		// create PHPMailer object and define default settings
+		$myMail = new wbmailer();
+
+		// set user defined from address
+		if ($fromaddress!='') {
+			if($fromname!='') $myMail->FromName = $fromname;         // FROM-NAME
+			$myMail->From = $fromaddress;                            // FROM:
+			$myMail->AddReplyTo($fromaddress);                       // REPLY TO:
+		}
+		
+		// define recepient and information to send out
+		$myMail->AddAddress($toaddress);                            // TO:
+		$myMail->Subject = $subject;                                // SUBJECT
+		$myMail->Body = $message;                                   // CONTENT (HTML)
+		$myMail->AltBody = strip_tags($message_alt);				// CONTENT (TEXT)
+		
+		// check if there are any send mail errors, otherwise say successful
+		if (!$myMail->Send()) {
+			return false;
+		} else {
+			return true;
+		}
+	}
+
+}
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/framework/class.wb.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/framework/addon.precheck.inc.php
===================================================================
--- tags/2.8.2/wb/framework/addon.precheck.inc.php	(nonexistent)
+++ tags/2.8.2/wb/framework/addon.precheck.inc.php	(revision 1481)
@@ -0,0 +1,344 @@
+<?php
+/**
+ * $Id$
+ * Website Baker Add-On precheck functions
+ *
+ * This file contains the functions of the pretest performed upfront
+ * of the Add-On installation process. The functions allows developers
+ * to specify requirements for their Add-On.
+ *
+ * LICENSE: GNU Lesser General Public License 3.0
+ * 
+ * @author		Christian Sommer
+ * @copyright	(c) 2009
+ * @license		http://www.gnu.org/copyleft/lesser.html
+ * @version		0.2.3
+ * @platform	Website Baker 2.7
+ *
+ * Website Baker Project <http://www.websitebaker.org/>
+ * Copyright (C) 2004-2009, Ryan Djurovich
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Website Baker; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+
+// prevent this file from being accessed directly
+if (!defined('WB_PATH')) die(header('Location: ../index.php'));
+
+function getVersion($version, $strip_suffix = true)
+{
+	/**
+	 * This funtion creates a version string following the major.minor.revision convention
+	 * The minor and revision part of the version may not exceed 999 (three digits)
+	 * An optional suffix part can be added after revision (requires $strip_suffix = false)
+	 *
+	 * EXAMPLES: input --> output
+	 *	5 --> 5.000000; 5.0 --> 5.000000; 5.0.0 --> 5.000000
+	 * 	5.2 --> 5.002000; 5.20 --> 5.002000; 5.2.0 --> 5.002000
+	 * 	5.21 --> 5.002001; 5.2.1 --> 5.002001;
+	 * 	5.27.1 --> 5.027001; 5.2.71 --> 5.002071;
+	 * 	5.27.1 rc1 --> 5.027001_RC1 ($strip_suffix:= false)
+	 */
+	// replace comma by decimal point
+	$version = str_replace(',', '.', $version);
+
+	// convert version into major.minor.revision numbering system
+	list($major, $minor, $revision) = explode('.', $version, 3);
+
+	// convert versioning style 5.21 into 5.2.1
+	if ($revision == '' && strlen(intval($minor)) == 2) {
+		$revision = substr($minor, -1);
+		$minor = substr($minor, 0, 1);
+	}
+	
+	// extract possible non numerical suffix from revision part (e.g. Alpha, Beta, RC1)
+	$suffix = strtoupper(trim(substr($revision, strlen(intval($revision)))));
+
+	// return standard version number (minor and revision numbers may not exceed 999)
+	return (int) $major . '.' . sprintf('%03d', (int) $minor) . sprintf('%03d', (int) $revision) . 
+		(($strip_suffix == false && $suffix != '') ? '_' . $suffix : '');
+}
+
+/**
+ *	As "version_compare" it self seems only got trouble 
+ *	within words like "Alpha", "Beta" a.s.o. this function
+ *	only modify the version-string in the way that these words are replaced by values/numbers.
+ *
+ *	E.g:	"1.2.3 Beta2" => "1.2.322"
+ *			"0.1.1 ALPHA" => "0.1.11"
+ *
+ *	Notice:	Please keep in mind, that this will not correct the way "version_control" 
+ *			handel "1 < 1.0 < 1.0.0 < 1.0.0.0" and will not correct missformed version-strings
+ *			below 2.7, e.g. "1.002 released candidate 2.3"
+ *			
+ *	@since	2.8.0 RC2
+ *
+ *	@param	string	A versionstring
+ *	@return	string	The modificated versionstring
+ *
+ */
+function getVersion2 ($version="") {
+	
+	$states = array (
+		'1' => "alpha",
+		'2' => "beta",
+		'4' => "rc",
+		'8' => "final"	
+	);
+
+	$version = strtolower($version);
+	
+	foreach($states as $value=>$keys) $version = str_replace($keys, $value, $version);
+
+	$version = str_replace(" ", "", $version);
+
+	return $version;
+}
+
+function versionCompare($version1, $version2, $operator = '>=')
+{
+	/**
+	 * This funtion performs a comparison of two provided version strings
+	 * The versions are first converted into a string following the major.minor.revision 
+	 * convention and performs a version_compare afterwards.
+	 */
+	// return version_compare(getVersion($version1), getVersion($version2), $operator);
+	return version_compare(getVersion2($version1), getVersion2($version2), $operator);
+}
+
+function sortPreCheckArray($precheck_array)
+{
+	/**
+	 * This funtion sorts the precheck array to a common format
+	 */
+	// define desired precheck order
+	$key_order = array('WB_VERSION', 'WB_ADDONS', 'PHP_VERSION', 'PHP_EXTENSIONS', 'PHP_SETTINGS', 'CUSTOM_CHECKS');
+
+	$temp_array = array();
+	foreach($key_order as $key) {
+		if (!isset($precheck_array[$key])) continue;
+		$temp_array[$key] = $precheck_array[$key];
+	}
+	return $temp_array;
+}
+
+function preCheckAddon($temp_addon_file)
+{
+	/**
+	 * This funtion performs pretest upfront of the Add-On installation process.
+	 * The requirements can be specified via the array $PRECHECK which needs to
+	 * be defined in the optional Add-on file precheck.php.
+	 */
+	global $database, $admin, $TEXT, $HEADING, $MESSAGE;
+	
+	// path to the temporary Add-on folder
+	$temp_path = WB_PATH . '/temp/unzip';
+	
+	// check if file precheck.php exists for the Add-On uploaded via WB installation routine
+	if (!file_exists($temp_path . '/precheck.php')) return;
+	
+	// unset any previous declared PRECHECK array
+	unset($PRECHECK);
+
+	// include Add-On precheck.php file
+	include($temp_path . '/precheck.php');
+	
+	// check if there are any Add-On requirements to check for
+	if (!(isset($PRECHECK) && count($PRECHECK) > 0)) return;
+	
+	// sort precheck array
+	$PRECHECK = sortPreCheckArray($PRECHECK);
+	
+	$failed_checks = 0;
+	$msg = array();
+	// check if specified addon requirements are fullfilled
+	foreach ($PRECHECK as $key => $value) {
+		switch ($key) {
+			case 'WB_VERSION':
+				if (isset($value['VERSION'])) {
+					// obtain operator for string comparison if exist
+					$operator = (isset($value['OPERATOR']) &&  trim($value['OPERATOR']) != '') ? $value['OPERATOR'] : '>=';
+				
+					// compare versions and extract actual status
+					$status = versionCompare(WB_VERSION, $value['VERSION'], $operator);
+					$msg[] = array(
+						'check'		=> 'WB-' . $TEXT['VERSION'] .': ',
+						'required'	=> htmlentities($operator) . $value['VERSION'],
+						'actual'	=> WB_VERSION,
+						'status'	=> $status
+					);
+
+					// increase counter if required
+					if (!$status) $failed_checks++;
+				}
+				break;
+
+			case 'WB_ADDONS':
+				if (is_array($PRECHECK['WB_ADDONS'])) {
+					foreach($PRECHECK['WB_ADDONS'] as $addon => $values) {
+						if (is_array($values)) {
+							// extract module version and operator
+							$version = (isset($values['VERSION']) &&  trim($values['VERSION']) != '') ? $values['VERSION'] : '';
+							$operator = (isset($values['OPERATOR']) &&  trim($values['OPERATOR']) != '') ? $values['OPERATOR'] : '>=';
+						} else {
+							// no version and operator specified (only check if addon exists)
+							$addon = strip_tags($values);
+							$version = ''; $operator = '';
+						}
+					
+						// check if addon is listed in WB database
+						$table = TABLE_PREFIX . 'addons';
+						$sql = "SELECT * FROM `$table` WHERE `directory` = '" . addslashes($addon) . "'";
+						$results = $database->query($sql);
+					
+						$status = false; $addon_status = $TEXT['NOT_INSTALLED'];
+						if ($results && $row = $results->fetchRow()) {
+							$status = true; 
+							$addon_status = $TEXT['INSTALLED'];
+						
+							// compare version if required
+							if ($version != '') {
+								$status = versionCompare($row['version'], $version, $operator);
+								$addon_status = $row['version'];
+							}
+						}
+					
+						// provide addon status
+						$msg[] = array(
+							'check'		=> '&nbsp; ' . $TEXT['ADDON'] . ': ' . htmlentities($addon),
+							'required'	=> ($version != '') ? $operator . '&nbsp;' . $version : $TEXT['INSTALLED'],
+							'actual'	=> $addon_status,
+							'status'	=> $status
+						);
+						
+						// increase counter if required
+						if (!$status) $failed_checks++;
+					}
+				}
+				break;
+
+			case 'PHP_VERSION':
+				if (isset($value['VERSION'])) {
+					// obtain operator for string comparison if exist
+					$operator = (isset($value['OPERATOR']) &&  trim($value['OPERATOR']) != '') ? $value['OPERATOR'] : '>=';
+				
+					// compare versions and extract actual status
+					$status = versionCompare(PHP_VERSION, $value['VERSION'], $operator);
+					$msg[] = array(
+						'check'		=> 'PHP-' . $TEXT['VERSION'] .': ',
+						'required'	=> htmlentities($operator) . '&nbsp;' . $value['VERSION'],
+						'actual'	=> PHP_VERSION,
+						'status'	=> $status
+					);
+
+					// increase counter if required
+					if (!$status) $failed_checks++;
+
+				}
+				break;
+
+			case 'PHP_EXTENSIONS':
+				if (is_array($PRECHECK['PHP_EXTENSIONS'])) {
+					foreach($PRECHECK['PHP_EXTENSIONS'] as $extension) {
+						$status = extension_loaded(strtolower($extension));
+						$msg[] = array(
+							'check'		=> '&nbsp; ' . $TEXT['EXTENSION'] . ': ' . htmlentities($extension),
+							'required'	=> $TEXT['INSTALLED'],
+							'actual'	=> ($status) ? $TEXT['INSTALLED'] : $TEXT['NOT_INSTALLED'],
+							'status'	=> $status
+						);
+
+						// increase counter if required
+						if (!$status) $failed_checks++;
+					}
+				}
+				break;
+
+			case 'PHP_SETTINGS':
+				if (is_array($PRECHECK['PHP_SETTINGS'])) {
+					foreach($PRECHECK['PHP_SETTINGS'] as $setting => $value) {
+						$actual_setting = ($temp = ini_get($setting)) ? $temp : 0;
+						$status = ($actual_setting == $value);
+					
+						$msg[] = array(
+							'check'		=> '&nbsp; '. ($setting),
+							'required'	=> $value,
+							'actual'	=> $actual_setting,
+							'status'	=> $status
+						);
+
+						// increase counter if required
+						if (!$status) $failed_checks++;
+					}
+				}
+				break;
+
+			case 'CUSTOM_CHECKS':
+				if (is_array($PRECHECK['CUSTOM_CHECKS'])) {
+					foreach($PRECHECK['CUSTOM_CHECKS'] as $key => $values) {
+						$status = (true === array_key_exists('STATUS', $values )) ? $values['STATUS'] : false;
+						$msg[] = array(
+							'check'		=> $key,
+							'required'	=> $values['REQUIRED'],
+							'actual'	=> $values['ACTUAL'],
+							'status'	=> $status
+						);
+					}
+
+					// increase counter if required
+					if (!$status) $failed_checks++;
+				}
+				break;
+		}
+	}
+
+	// leave if all requirements are fullfilled
+	if ($failed_checks == 0) return;
+	
+	// output summary table with requirements not fullfilled
+	echo <<< EOT
+	<h2>{$HEADING['ADDON_PRECHECK_FAILED']}</h2>
+	<p>{$MESSAGE['ADDON']['PRECHECK_FAILED']}</p> 
+
+	<table width="700px" cellpadding="4" border="0" style="margin: 0.5em; border-collapse: collapse; border: 1px solid silver;">
+	<tr>
+		<th>{$TEXT['REQUIREMENT']}:</th>
+		<th>{$TEXT['REQUIRED']}:</th>
+		<th>{$TEXT['CURRENT']}:</th>
+	</tr>
+EOT;
+
+	foreach($msg as $check) {
+		echo '<tr>';
+		$style = $check['status'] ? 'color: #46882B;' : 'color: #C00;';
+		foreach($check as $key => $value) {
+			if ($key == 'status') continue;
+			
+			echo '<td style="' . $style . '">' . $value . '</td>';
+		}
+		echo '</tr>';
+	}
+	echo '</table>';
+
+	// delete the temp unzip directory
+	rm_full_dir($temp_path);	
+
+	// delete the temporary zip file of the Add-on
+	if(file_exists($temp_addon_file)) { unlink($temp_addon_file); }	
+	
+	// output status message and die
+	$admin->print_error('');
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/framework/addon.precheck.inc.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/framework/initialize.php
===================================================================
--- tags/2.8.2/wb/framework/initialize.php	(nonexistent)
+++ tags/2.8.2/wb/framework/initialize.php	(revision 1481)
@@ -0,0 +1,138 @@
+<?php
+/**
+ *
+ * @category        framework
+ * @package         initialize
+ * @author          Ryan Djurovich
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @filesource		$HeadURL$
+ * @author          Ryan Djurovich
+ * @copyright       2004-2009, Ryan Djurovich
+ *
+ * @author          WebsiteBaker Project
+ * @link			http://www.websitebaker2.org/
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://start.websitebaker2.org/impressum-datenschutz.php
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @version         $Id$
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @lastmodified    $Date$
+ *
+ */
+
+//set_include_path(get_include_path() . PATH_SEPARATOR . WB_PATH);
+
+if (file_exists(WB_PATH.'/framework/class.database.php')) {
+
+	require_once(WB_PATH.'/framework/class.database.php');
+
+	// Create database class
+	$database = new database();
+
+    if(version_compare(PHP_VERSION, '5.3.0', '<'))
+    {
+        set_magic_quotes_runtime(0); // Disable magic_quotes_runtime
+    }
+	// Get website settings (title, keywords, description, header, and footer)
+	$query_settings = "SELECT name,value FROM ".TABLE_PREFIX."settings";
+	$get_settings = $database->query($query_settings);
+	if($database->is_error()) { die($database->get_error()); }
+	if($get_settings->numRows() == 0) { die("Settings not found"); }
+	while($setting = $get_settings->fetchRow()) {
+		$setting_name=strtoupper($setting['name']);
+		$setting_value=$setting['value'];
+		if ($setting_value=='false')
+			$setting_value=false;
+		if ($setting_value=='true')
+			$setting_value=true;
+		@define($setting_name,$setting_value);
+	}
+	$string_file_mode = STRING_FILE_MODE;
+	define('OCTAL_FILE_MODE',(int) octdec($string_file_mode));
+	$string_dir_mode = STRING_DIR_MODE;
+	define('OCTAL_DIR_MODE',(int) octdec($string_dir_mode));
+	
+	if (!defined("WB_INSTALL_PROCESS")) {
+		// get CAPTCHA and ASP settings
+		$table = TABLE_PREFIX.'mod_captcha_control';
+		if($get_settings = $database->query("SELECT * FROM $table LIMIT 1")) {
+			if($get_settings->numRows() == 0) { die("CAPTCHA-Settings not found"); }
+			$setting = $get_settings->fetchRow();
+			if($setting['enabled_captcha'] == '1') define('ENABLED_CAPTCHA', true);
+			else define('ENABLED_CAPTCHA', false);
+			if($setting['enabled_asp'] == '1') define('ENABLED_ASP', true);
+			else define('ENABLED_ASP', false);
+			define('CAPTCHA_TYPE', $setting['captcha_type']);
+			define('ASP_SESSION_MIN_AGE', (int)$setting['asp_session_min_age']);
+			define('ASP_VIEW_MIN_AGE', (int)$setting['asp_view_min_age']);
+			define('ASP_INPUT_MIN_AGE', (int)$setting['asp_input_min_age']);
+		}
+	}
+	// set error-reporting
+	if(is_numeric(ER_LEVEL)) {
+		error_reporting(ER_LEVEL);
+	}
+
+	// Start a session
+	if(!defined('SESSION_STARTED')) {
+		session_name(APP_NAME.'_session_id');
+		@session_start();
+		define('SESSION_STARTED', true);
+	}
+	if(defined('ENABLED_ASP') && ENABLED_ASP && !isset($_SESSION['session_started']))
+		$_SESSION['session_started'] = time();
+
+	// Get users language
+	if(isset($_GET['lang']) AND $_GET['lang'] != '' AND !is_numeric($_GET['lang']) AND strlen($_GET['lang']) == 2) {
+	  	define('LANGUAGE', strtoupper($_GET['lang']));
+		$_SESSION['LANGUAGE']=LANGUAGE;
+	} else {
+		if(isset($_SESSION['LANGUAGE']) AND $_SESSION['LANGUAGE'] != '') {
+			define('LANGUAGE', $_SESSION['LANGUAGE']);
+		} else {
+			define('LANGUAGE', DEFAULT_LANGUAGE);
+		}
+	}
+	
+	// Load Language file
+	if(!defined('LANGUAGE_LOADED')) {
+		if(!file_exists(WB_PATH.'/languages/'.LANGUAGE.'.php')) {
+			exit('Error loading language file '.LANGUAGE.', please check configuration');
+		} else {
+			require_once(WB_PATH.'/languages/'.LANGUAGE.'.php');
+		}
+	}
+	
+	// Get users timezone
+	if(isset($_SESSION['TIMEZONE'])) {
+		define('TIMEZONE', $_SESSION['TIMEZONE']);
+	} else {
+		define('TIMEZONE', DEFAULT_TIMEZONE);
+	}
+	// Get users date format
+	if(isset($_SESSION['DATE_FORMAT'])) {
+		define('DATE_FORMAT', $_SESSION['DATE_FORMAT']);
+	} else {
+		define('DATE_FORMAT', DEFAULT_DATE_FORMAT);
+	}
+	// Get users time format
+	if(isset($_SESSION['TIME_FORMAT'])) {
+		define('TIME_FORMAT', $_SESSION['TIME_FORMAT']);
+	} else {
+		define('TIME_FORMAT', DEFAULT_TIME_FORMAT);
+	}
+
+	// Set Theme dir
+	define('THEME_URL', WB_URL.'/templates/'.DEFAULT_THEME);
+	define('THEME_PATH', WB_PATH.'/templates/'.DEFAULT_THEME);
+
+    // extended wb_settings
+	define('EDIT_ONE_SECTION', true);
+
+	define('EDITOR_WIDTH', 0);
+
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/framework/initialize.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/framework/class.frontend.php
===================================================================
--- tags/2.8.2/wb/framework/class.frontend.php	(nonexistent)
+++ tags/2.8.2/wb/framework/class.frontend.php	(revision 1481)
@@ -0,0 +1,403 @@
+<?php
+/**
+ *
+ * @category        frontend
+ * @package         framework
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+*/
+
+if(!defined('WB_PATH')) {
+	header('Location: ../index.php');
+	exit(0);
+}
+
+
+require_once(WB_PATH.'/framework/class.wb.php');
+
+class frontend extends wb {
+	// defaults
+	var $default_link,$default_page_id;
+	// when multiple blocks are used, show home page blocks on 
+	// pages where no content is defined (search, login, ...)
+	var $default_block_content=true;
+
+	// page details
+	// page database row
+	var $page;
+	var $page_id,$page_title,$menu_title,$parent,$root_parent,$level,$visibility;
+	var $page_description,$page_keywords,$page_link;
+	var $page_trail=array();
+	
+	var $page_access_denied;
+	var $page_no_active_sections;
+	
+	// website settings
+	var $website_title,$website_description,$website_keywords,$website_header,$website_footer;
+
+	// ugly database stuff
+	var $extra_where_sql, $sql_where_language;
+
+	function page_select() {
+		global $page_id,$no_intro;
+		global $database;
+		// We have no page id and are supposed to show the intro page
+		if((INTRO_PAGE AND !isset($no_intro)) AND (!isset($page_id) OR !is_numeric($page_id))) {
+			// Since we have no page id check if we should go to intro page or default page
+			// Get intro page content
+			$filename = WB_PATH.PAGES_DIRECTORY.'/intro'.PAGE_EXTENSION;
+			if(file_exists($filename)) {
+				$handle = @fopen($filename, "r");
+				$content = @fread($handle, filesize($filename));
+				@fclose($handle);
+				$this->preprocess($content);
+				header("Location: ".WB_URL.PAGES_DIRECTORY."/intro".PAGE_EXTENSION."");   // send intro.php as header to allow parsing of php statements
+				echo ($content);
+				return false;
+			}
+		}
+		// Check if we should add page language sql code
+		if(PAGE_LANGUAGES) {
+			$this->sql_where_language = " AND language = '".LANGUAGE."'";
+		}
+		// Get default page
+		// Check for a page id
+		$table_p = TABLE_PREFIX.'pages';
+		$table_s = TABLE_PREFIX.'sections';
+		$now = time();
+		$query_default = "
+			SELECT `p`.`page_id`, `link`
+			FROM `$table_p` AS `p` INNER JOIN `$table_s` USING(`page_id`)
+			WHERE `parent` = '0' AND `visibility` = 'public'
+			AND (($now>=`publ_start` OR `publ_start`=0) AND ($now<=`publ_end` OR `publ_end`=0))
+			$this->sql_where_language
+			ORDER BY `p`.`position` ASC LIMIT 1";
+		$get_default = $database->query($query_default);
+		$default_num_rows = $get_default->numRows();
+		if(!isset($page_id) OR !is_numeric($page_id)){
+			// Go to or show default page
+			if($default_num_rows > 0) {
+				$fetch_default = $get_default->fetchRow();
+				$this->default_link = $fetch_default['link'];
+				$this->default_page_id = $fetch_default['page_id'];
+				// Check if we should redirect or include page inline
+				if(HOMEPAGE_REDIRECTION) {
+					// Redirect to page
+					header("Location: ".$this->page_link($this->default_link));
+					exit();
+				} else {
+					// Include page inline
+					$this->page_id = $this->default_page_id;
+				}
+			} else {
+		   		// No pages have been added, so print under construction page
+				$this->print_under_construction();
+				exit();
+			}
+		} else {
+			$this->page_id=$page_id;
+		}
+		// Get default page link
+		if(!isset($fetch_default)) {
+		  	$fetch_default = $get_default->fetchRow();
+	 		$this->default_link = $fetch_default['link'];
+			$this->default_page_id = $fetch_default['page_id'];
+		}
+		return true;
+	}
+
+	function get_page_details() {
+		global $database;
+	    if($this->page_id != 0) {
+			// Query page details
+			$query_page = "SELECT * FROM ".TABLE_PREFIX."pages WHERE page_id = '{$this->page_id}'";
+			$get_page = $database->query($query_page);
+			// Make sure page was found in database
+			if($get_page->numRows() == 0) {
+				// Print page not found message
+				exit("Page not found");
+			}
+			// Fetch page details
+			$this->page = $get_page->fetchRow();
+			// Check if the page language is also the selected language. If not, send headers again.
+			if ($this->page['language']!=LANGUAGE) {
+				if(isset($_SERVER['QUERY_STRING']) && $_SERVER['QUERY_STRING'] != '') { // check if there is an query-string
+					header('Location: '.$this->page_link($this->page['link']).'?'.$_SERVER['QUERY_STRING'].'&lang='.$this->page['language']);
+				} else {
+					header('Location: '.$this->page_link($this->page['link']).'?lang='.$this->page['language']);
+				}
+				exit();
+			}
+			// Begin code to set details as either variables of constants
+			// Page ID
+			if(!defined('PAGE_ID')) {define('PAGE_ID', $this->page['page_id']);}
+			// Page Title
+			if(!defined('PAGE_TITLE')) {define('PAGE_TITLE', $this->page['page_title']);}
+			$this->page_title=PAGE_TITLE;
+			// Menu Title
+			$menu_title = $this->page['menu_title'];
+			if($menu_title != '') {
+				if(!defined('MENU_TITLE')) {define('MENU_TITLE', $menu_title);}
+			} else {
+				if(!defined('MENU_TITLE')) {define('MENU_TITLE', PAGE_TITLE);}
+			}
+			$this->menu_title = MENU_TITLE;
+			// Page parent
+			if(!defined('PARENT')) {define('PARENT', $this->page['parent']);}
+			$this->parent=$this->page['parent'];
+			// Page root parent
+			if(!defined('ROOT_PARENT')) {define('ROOT_PARENT', $this->page['root_parent']);}
+			$this->root_parent=$this->page['root_parent'];
+			// Page level
+			if(!defined('LEVEL')) {define('LEVEL', $this->page['level']);}
+			$this->level=$this->page['level'];
+			// Page visibility
+			if(!defined('VISIBILITY')) {define('VISIBILITY', $this->page['visibility']);}
+			$this->visibility=$this->page['visibility'];
+			// Page trail
+			foreach(explode(',', $this->page['page_trail']) AS $pid) {
+				$this->page_trail[$pid]=$pid;
+			}
+			// Page description
+			$this->page_description=$this->page['description'];
+			if($this->page_description != '') {
+				define('PAGE_DESCRIPTION', $this->page_description);
+			} else {
+				define('PAGE_DESCRIPTION', WEBSITE_DESCRIPTION);
+			}
+			// Page keywords
+			$this->page_keywords=$this->page['keywords'];
+			// Page link
+			$this->link=$this->page_link($this->page['link']);
+
+		// End code to set details as either variables of constants
+		}
+
+		// Figure out what template to use
+		if(!defined('TEMPLATE')) {
+			if(isset($this->page['template']) AND $this->page['template'] != '') {
+				if(file_exists(WB_PATH.'/templates/'.$this->page['template'].'/index.php')) {
+					define('TEMPLATE', $this->page['template']);
+				} else {
+					define('TEMPLATE', DEFAULT_TEMPLATE);
+				}
+			} else {
+				define('TEMPLATE', DEFAULT_TEMPLATE);
+			}
+		}
+		// Set the template dir
+		define('TEMPLATE_DIR', WB_URL.'/templates/'.TEMPLATE);
+
+		// Check if user is allowed to view this page
+		if($this->page && $this->page_is_visible($this->page) == false) {
+			if(VISIBILITY == 'deleted' OR VISIBILITY == 'none') {
+				// User isnt allowed on this page so tell them
+				$this->page_access_denied=true;
+			} elseif(VISIBILITY == 'private' OR VISIBILITY == 'registered') {
+				// Check if the user is authenticated
+				if($this->is_authenticated() == false) {
+					// User needs to login first
+					header("Location: ".WB_URL."/account/login.php?redirect=".$this->link);
+					exit(0);
+				} else {
+					// User isnt allowed on this page so tell them
+					$this->page_access_denied=true;
+				}
+				
+			}
+		}
+		// check if there is at least one active section
+		if($this->page && $this->page_is_active($this->page) == false) {
+			$this->page_no_active_sections=true;
+		}
+	}
+
+	function get_website_settings() {
+		global $database;
+
+		// set visibility SQL code
+		// never show no-vis, hidden or deleted pages
+		$this->extra_where_sql = "visibility != 'none' AND visibility != 'hidden' AND visibility != 'deleted'";
+		// Set extra private sql code
+		if($this->is_authenticated()==false) {
+			// if user is not authenticated, don't show private pages either
+			$this->extra_where_sql .= " AND visibility != 'private'";
+			// and 'registered' without frontend login doesn't make much sense!
+			if (FRONTEND_LOGIN==false) {
+				$this->extra_where_sql .= " AND visibility != 'registered'";
+			}
+		}
+		$this->extra_where_sql .= $this->sql_where_language;
+
+		// Work-out if any possible in-line search boxes should be shown
+		if(SEARCH == 'public') {
+			define('SHOW_SEARCH', true);
+		} elseif(SEARCH == 'private' AND VISIBILITY == 'private') {
+			define('SHOW_SEARCH', true);
+		} elseif(SEARCH == 'private' AND $this->is_authenticated() == true) {
+			define('SHOW_SEARCH', true);
+		} elseif(SEARCH == 'registered' AND $this->is_authenticated() == true) {
+			define('SHOW_SEARCH', true);	
+		} else {
+			define('SHOW_SEARCH', false);
+		}
+		// Work-out if menu should be shown
+		if(!defined('SHOW_MENU')) {
+			define('SHOW_MENU', true);
+		}
+		// Work-out if login menu constants should be set
+		if(FRONTEND_LOGIN) {
+			// Set login menu constants
+			define('LOGIN_URL', WB_URL.'/account/login.php');
+			define('LOGOUT_URL', WB_URL.'/account/logout.php');
+			define('FORGOT_URL', WB_URL.'/account/forgot.php');
+			define('PREFERENCES_URL', WB_URL.'/account/preferences.php');
+			define('SIGNUP_URL', WB_URL.'/account/signup.php');
+		}
+	}
+	
+	function preprocess(&$content) {
+		global $database;
+		// Replace [wblink--PAGE_ID--] with real link
+		$pattern = '/\[wblink(.+?)\]/s';
+		preg_match_all($pattern,$content,$ids);
+		foreach($ids[1] AS $page_id) {
+			$pattern = '/\[wblink'.$page_id.'\]/s';
+			// Get page link
+			$get_link = $database->query("SELECT link FROM ".TABLE_PREFIX."pages WHERE page_id = '$page_id' LIMIT 1");
+			$fetch_link = $get_link->fetchRow();
+			$link = $this->page_link($fetch_link['link']);
+			$content = preg_replace($pattern,$link,$content);
+		}
+	}
+	
+	function menu() {
+		global $wb;
+	   if (!isset($wb->menu_number)) {
+	   	$wb->menu_number = 1;
+	   }
+	   if (!isset($wb->menu_start_level)) {
+	   	$wb->menu_start_level = 0;
+	   }
+	   if (!isset($wb->menu_recurse)) {
+	   	$wb->menu_recurse = -1;
+	   }
+	   if (!isset($wb->menu_collapse)) {
+	   	$wb->menu_collapse = true;
+	   }
+	   if (!isset($wb->menu_item_template)) {
+	   	$wb->menu_item_template = '<li><span[class]>[a] [menu_title] [/a]</span>';
+	   }
+	   if (!isset($wb->menu_item_footer)) {
+	   	$wb->menu_item_footer = '</li>';
+	   }
+	   if (!isset($wb->menu_header)) {
+	   	$wb->menu_header = '<ul>';
+	   }
+	   if (!isset($wb->menu_footer)) {
+	   	$wb->menu_footer = '</ul>';
+	   }
+	   if (!isset($wb->menu_default_class)) {
+	   	$wb->menu_default_class = ' class="menu_default"';
+	   }
+	   if (!isset($wb->menu_current_class)) {
+	   	$wb->menu_current_class = ' class="menu_current"';
+	   }
+	   if (!isset($wb->menu_parent)) {
+	   	$wb->menu_parent = 0;
+	   }
+	   $wb->show_menu();
+	}
+	
+	function show_menu() {
+		global $database;
+		if ($this->menu_start_level>0) {
+			$key_array=array_keys($this->page_trail);
+			if (isset($key_array[$this->menu_start_level-1])) {
+				$real_start=$key_array[$this->menu_start_level-1];
+				$this->menu_parent=$real_start;
+				$this->menu_start_level=0;
+			} else {
+				return;
+			}
+		}
+		if ($this->menu_recurse==0)
+	       return;
+		// Check if we should add menu number check to query
+		if($this->menu_parent == 0) {
+			$menu_number = "menu = '$this->menu_number'";
+		} else {
+			$menu_number = '1';
+		}
+		// Query pages
+		$query_menu = $database->query("SELECT page_id,menu_title,page_title,link,target,level,visibility,viewing_groups,viewing_users FROM ".TABLE_PREFIX."pages WHERE parent = '$this->menu_parent' AND $menu_number AND $this->extra_where_sql ORDER BY position ASC");
+		// Check if there are any pages to show
+		if($query_menu->numRows() > 0) {
+			// Print menu header
+			echo "\n".$this->menu_header;
+			// Loop through pages
+			while($page = $query_menu->fetchRow()) {
+				// check whether to show this menu-link
+				if($this->page_is_active($page)==false && $page['link']!=$this->default_link && !INTRO_PAGE) {
+					continue; // no active sections
+				}
+				if($this->page_is_visible($page)==false) {
+					if($page['visibility'] != 'registered') // special case: page_to_visible() check wheter to show the page contents, but the menu should be visible allways
+						continue;
+				}
+				// Create vars
+				$vars = array('[class]','[a]', '[/a]', '[menu_title]', '[page_title]');
+				// Work-out class
+				if($page['page_id'] == PAGE_ID) {
+					$class = $this->menu_current_class;
+				} else {
+					$class = $this->menu_default_class;
+				}
+				// Check if link is same as first page link, and if so change to WB URL
+				if($page['link'] == $this->default_link AND !INTRO_PAGE) {
+					$link = WB_URL;
+				} else {
+					$link = $this->page_link($page['link']);
+				}
+				// Create values
+				$values = array($class,'<a href="'.$link.'" target="'.$page['target'].'" '.$class.'>', '</a>', $page['menu_title'], $page['page_title']);
+				// Replace vars with value and print
+				echo "\n".str_replace($vars, $values, $this->menu_item_template);
+				// Generate sub-menu
+				if($this->menu_collapse==false OR ($this->menu_collapse==true AND isset($this->page_trail[$page['page_id']]))) {
+					$this->menu_recurse--;
+					$this->menu_parent=$page['page_id'];
+					$this->show_menu();
+				}
+				echo "\n".$this->menu_item_footer;
+			}
+			// Print menu footer
+			echo "\n".$this->menu_footer;
+		}
+	}
+
+
+	// Function to show the "Under Construction" page
+	function print_under_construction() {
+		global $MESSAGE;
+		require_once(WB_PATH.'/languages/'.DEFAULT_LANGUAGE.'.php');
+		echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+		<head><title>'.$MESSAGE['GENERIC']['WEBSITE_UNDER_CONSTRUCTION'].'</title>
+		<style type="text/css"><!-- body{ font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 12px; background-image: url("'.ADMIN_URL.'/interface/background.png");background-repeat: repeat-x; background-color: #A8BCCB; text-align: center; }
+		h1 { margin: 0; padding: 0; font-size: 18px; color: #000; text-transform: uppercase;
+}--></style></head><body>
+		<br /><h1>'.$MESSAGE['GENERIC']['WEBSITE_UNDER_CONSTRUCTION'].'</h1><br />
+		'.$MESSAGE['GENERIC']['PLEASE_CHECK_BACK_SOON'].'</body></html>';
+	}
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/framework/class.frontend.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/framework/frontend.functions.php
===================================================================
--- tags/2.8.2/wb/framework/frontend.functions.php	(nonexistent)
+++ tags/2.8.2/wb/framework/frontend.functions.php	(revision 1481)
@@ -0,0 +1,595 @@
+<?php
+/**
+ *
+ * @category        frontend
+ * @package         functions
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+*/
+
+if(!defined('WB_URL')) {
+	header('Location: ../index.php');
+	exit(0);
+}
+
+// references to objects and variables that changed their names
+
+$admin = &$wb;
+
+$default_link=&$wb->default_link;
+
+$page_trail=&$wb->page_trail;
+$page_description=&$wb->page_description;
+$page_keywords=&$wb->page_keywords;
+$page_link=&$wb->link;
+
+// extra_sql is not used anymore - this is basically a register_globals exploit prevention...
+$extra_sql=&$wb->extra_sql;
+$extra_where_sql=&$wb->extra_where_sql;
+
+$include_head_link_css = '';
+$include_body_links = '';
+$include_head_links = '';
+// workout to included frontend.css, fronten.js and frontend_body.js in snippets
+$query="SELECT directory FROM ".TABLE_PREFIX."addons WHERE type = 'module' AND function = 'snippet'";
+$query_result=$database->query($query);
+if ($query_result->numRows()>0) {
+	while ($row = $query_result->fetchRow()) {
+		$module_dir = $row['directory'];
+		if (file_exists(WB_PATH.'/modules/'.$module_dir.'/include.php')) {
+			include(WB_PATH.'/modules/'.$module_dir.'/include.php');
+			/* check if frontend.css file needs to be included into the <head></head> of index.php
+			*/
+			if( file_exists(WB_PATH .'/modules/'.$module_dir.'/frontend.css')) {
+				$include_head_link_css .= '<link href="'.WB_URL.'/modules/'.$module_dir.'/frontend.css"';
+				$include_head_link_css .= ' rel="stylesheet" type="text/css" media="screen" />'."\n";
+				$include_head_file = 'frontend.css';
+			}
+			// check if frontend.js file needs to be included into the <body></body> of index.php
+			if(file_exists(WB_PATH .'/modules/'.$module_dir.'/frontend.js')) {
+				$include_head_links .= '<script src="'.WB_URL.'/modules/'.$module_dir.'/frontend.js" type="text/javascript"></script>'."\n";
+				$include_head_file = 'frontend.js';
+			}
+			// check if frontend_body.js file needs to be included into the <body></body> of index.php
+			if(file_exists(WB_PATH .'/modules/'.$module_dir.'/frontend_body.js')) {
+				$include_body_links .= '<script src="'.WB_URL.'/modules/'.$module_dir.'/frontend_body.js" type="text/javascript"></script>'."\n";
+				$include_body_file = 'frontend_body.js';
+			}
+		}
+	}
+}
+
+// Frontend functions
+if (!function_exists('page_link')) {
+	function page_link($link) {
+		global $wb;
+		return $wb->page_link($link);
+	}
+}
+
+//function to highlight search results
+if(!function_exists('search_highlight')) {
+function search_highlight($foo='', $arr_string=array()) {
+	require_once(WB_PATH.'/framework/functions.php');
+	static $string_ul_umlaut = FALSE;
+	static $string_ul_regex = FALSE;
+	if($string_ul_umlaut===FALSE || $string_ul_regex===FALSE)
+		require(WB_PATH.'/search/search_convert.php');
+	$foo = entities_to_umlauts($foo, 'UTF-8');
+	array_walk($arr_string, create_function('&$v,$k','$v = preg_quote($v, \'~\');'));
+	$search_string = implode("|", $arr_string);
+	$string = str_replace($string_ul_umlaut, $string_ul_regex, $search_string);
+	// the highlighting
+	// match $string, but not inside <style>...</style>, <script>...</script>, <!--...--> or HTML-Tags
+	// Also droplet tags are now excluded from highlighting.
+	// split $string into pieces - "cut away" styles, scripts, comments, HTML-tags and eMail-addresses
+	// we have to cut <pre> and <code> as well.
+	// for HTML-Tags use <(?:[^<]|<.*>)*> which will match strings like <input ... value="<b>value</b>" >
+	$matches = preg_split("~(\[\[.*\]\]|<style.*</style>|<script.*</script>|<pre.*</pre>|<code.*</code>|<!--.*-->|<(?:[^<]|<.*>)*>|\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,8}\b)~iUs",$foo,-1,(PREG_SPLIT_DELIM_CAPTURE|PREG_SPLIT_NO_EMPTY));
+	if(is_array($matches) && $matches != array()) {
+		$foo = "";
+		foreach($matches as $match) {
+			if($match{0}!="<" && !preg_match('/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,8}$/i', $match) && !preg_match('~\[\[.*\]\]~', $match)) {
+				$match = str_replace(array('&lt;', '&gt;', '&amp;', '&quot;', '&#039;', '&nbsp;'), array('<', '>', '&', '"', '\'', "\xC2\xA0"), $match);
+				$match = preg_replace('~('.$string.')~ui', '_span class=_highlight__$1_/span_',$match);
+				$match = str_replace(array('&', '<', '>', '"', '\'', "\xC2\xA0"), array('&amp;', '&lt;', '&gt;', '&quot;', '&#039;', '&nbsp;'), $match);
+				$match = str_replace(array('_span class=_highlight__', '_/span_'), array('<span class="highlight">', '</span>'), $match);
+			}
+			$foo .= $match;
+		}
+	}
+	
+	if(DEFAULT_CHARSET != 'utf-8') {
+		$foo = umlauts_to_entities($foo, 'UTF-8');
+	}
+	return $foo;
+}
+}
+
+// Old menu call invokes new menu function
+if (!function_exists('page_menu')) {
+	function page_menu($parent = 0, $menu_number = 1, $item_template = '<li[class]>[a] [menu_title] [/a]</li>', $menu_header = '<ul>', $menu_footer = '</ul>', $default_class = ' class="menu_default"', $current_class = ' class="menu_current"', $recurse = LEVEL) {
+		global $wb;
+		$wb->menu_number=$menu_number;
+		$wb->menu_item_template=$item_template;
+		$wb->menu_item_footer='';
+		$wb->menu_parent = $parent;
+		$wb->menu_header = $menu_header; 
+		$wb->menu_footer = $menu_footer;
+		$wb->menu_default_class = $default_class;
+		$wb->menu_current_class = $current_class;
+		$wb->menu_recurse = $recurse+2; 	
+		$wb->menu();
+		unset($wb->menu_parent);
+		unset($wb->menu_number);
+		unset($wb->menu_item_template);
+		unset($wb->menu_item_footer);
+		unset($wb->menu_header);
+		unset($wb->menu_footer);
+		unset($wb->menu_default_class);
+		unset($wb->menu_current_class);
+		unset($wb->menu_start_level);
+		unset($wb->menu_collapse);
+		unset($wb->menu_recurse);
+	}
+}
+
+if (!function_exists('show_menu')) {
+	function show_menu($menu_number = NULL, $start_level=NULL, $recurse = NULL, $collapse = NULL, $item_template = NULL, $item_footer = NULL, $menu_header = NULL, $menu_footer = NULL, $default_class = NULL, $current_class = NULL, $parent = NULL) {
+		global $wb;
+		if (isset($menu_number))
+			$wb->menu_number=$menu_number;
+		if (isset($start_level))
+			$wb->menu_start_level=$start_level;
+		if (isset($recurse))
+			$wb->menu_recurse=$recurse;
+		if (isset($collapse))
+			$wb->menu_collapse=$collapse;
+		if (isset($item_template))
+			$wb->menu_item_template=$item_template;
+		if (isset($item_footer))
+			$wb->menu_item_footer=$item_footer;
+		if (isset($menu_header))
+			$wb->menu_header=$menu_header;
+		if (isset($menu_footer))
+			$wb->menu_footer=$menu_footer;
+		if (isset($default_class))
+			$wb->menu_default_class=$default_class;
+		if (isset($current_class))
+			$wb->menu_current_class=$current_class;
+		if (isset($parent))
+			$wb->menu_parent=$parent;
+		$wb->menu();
+		unset($wb->menu_recurse);
+		unset($wb->menu_parent);
+		unset($wb->menu_start_level);
+	}
+}
+
+if (!function_exists('page_content')) {
+	function page_content($block = 1) {
+		// Get outside objects
+		global $TEXT,$MENU,$HEADING,$MESSAGE;
+		global $globals;
+		global $database;
+		global $wb;
+		$admin = & $wb;
+		if ($wb->page_access_denied==true)
+        {
+	        echo $MESSAGE['FRONTEND']['SORRY_NO_VIEWING_PERMISSIONS'];
+			return;
+		}
+		if ($wb->page_no_active_sections==true)
+        {
+	        echo $MESSAGE['FRONTEND']['SORRY_NO_ACTIVE_SECTIONS'];
+			return;
+		}
+		if(isset($globals) AND is_array($globals))
+        {
+            foreach($globals AS $global_name)
+            {
+                global $$global_name;
+                }
+        }
+		// Make sure block is numeric
+		if(!is_numeric($block)) { $block = 1; }
+		// Include page content
+		if(!defined('PAGE_CONTENT') OR $block!=1)
+        {
+			$page_id=$wb->page_id;
+            // set session variable to save page_id only if PAGE_CONTENT is empty
+            $_SESSION['PAGE_ID'] = !isset($_SESSION['PAGE_ID']) ? $page_id : $_SESSION['PAGE_ID'];
+            // set to new value if page_id changed and not 0
+            if(($page_id != 0) AND ($_SESSION['PAGE_ID'] <> $page_id))
+            {
+            $_SESSION['PAGE_ID'] = $page_id;
+            }
+
+			// First get all sections for this page
+			$query_sections = $database->query("SELECT section_id,module,publ_start,publ_end FROM ".TABLE_PREFIX."sections WHERE page_id = '".$page_id."' AND block = '$block' ORDER BY position");
+			// If none were found, check if default content is supposed to be shown
+			if($query_sections->numRows() == 0) {
+				if ($wb->default_block_content=='none') {
+					return;
+				}
+				if (is_numeric($wb->default_block_content)) {
+					$page_id=$wb->default_block_content;
+				} else {
+					$page_id=$wb->default_page_id;
+				}				
+				$query_sections = $database->query("SELECT section_id,module,publ_start,publ_end FROM ".TABLE_PREFIX."sections WHERE page_id = '".$page_id."' AND block = '$block' ORDER BY position");
+				// Still no cotent found? Give it up, there's just nothing to show!
+				if($query_sections->numRows() == 0) {
+					return;
+				}
+			}
+			// Loop through them and include their module file
+			while($section = $query_sections->fetchRow()) {
+				// skip this section if it is out of publication-date
+				$now = time();
+				if( !(($now<=$section['publ_end'] || $section['publ_end']==0) && ($now>=$section['publ_start'] || $section['publ_start']==0)) ) {
+					continue;
+				}
+				$section_id = $section['section_id'];
+				$module = $section['module'];
+				// make a anchor for every section.
+				if(defined('SEC_ANCHOR') && SEC_ANCHOR!='') {
+					echo '<a class="section_anchor" id="'.SEC_ANCHOR.$section_id.'" name="'.SEC_ANCHOR.$section_id.'"></a>';
+				}
+
+				// fetch content -- this is where to place possible output-filters (before highlighting)
+				ob_start(); // fetch original content
+				require(WB_PATH.'/modules/'.$module.'/view.php');
+				$content = ob_get_contents();
+				ob_end_clean();
+
+				// highlights searchresults
+				if(isset($_GET['searchresult']) && is_numeric($_GET['searchresult']) && !isset($_GET['nohighlight']) && isset($_GET['sstring']) && !empty($_GET['sstring'])) {
+					$arr_string = explode(" ", $_GET['sstring']);
+					if($_GET['searchresult']==2) { // exact match
+						$arr_string[0] = str_replace("_", " ", $arr_string[0]);
+					}
+					echo search_highlight($content, $arr_string);
+				} else {
+					echo $content;
+				}
+			}
+		}
+        else
+        {
+
+			require(PAGE_CONTENT);
+		}
+	}
+}
+
+if (!function_exists('show_content')) {
+	function show_content($block=1) {
+		page_content($block);
+	}
+}
+
+if (!function_exists('show_breadcrumbs'))
+{
+	function show_breadcrumbs($sep = ' &raquo; ',$level = 0, $links = true, $depth = -1, $title = 'You are here: ')
+    {
+		global $wb;
+		$page_id = $wb->page_id;
+
+		if ($page_id != 0)
+		{
+	 		global $database;
+			$counter = 0;
+            // get links as array
+            $bread_crumbs = $wb->page_trail;
+            $count = sizeof($bread_crumbs);
+            // level can't be greater than sum of links
+            $level = ($count <= $level ) ? $count-1 : $level;
+            // set level from which to show, delete indexes in array
+			$crumbs = array_slice($bread_crumbs, $level );
+            $depth = ($depth <= 0) ? sizeof($crumbs) : $depth;
+            // if empty array, set orginal links
+            $crumbs = (!empty($crumbs)) ?  $crumbs : $wb->page_trail;
+            $total_crumbs = ( ($depth <= 0) OR ($depth > sizeof($crumbs)) ) ? sizeof($crumbs) : $depth;
+            print '<div class="breadcrumb"><span class="title">'.$title.'</span>';
+          //  print_r($crumbs);
+			foreach ($crumbs as $temp)
+            {
+                if($counter == $depth) { break; }
+                    // set links and separator
+					$query_menu = $database->query("SELECT * FROM ".TABLE_PREFIX."pages WHERE page_id = $temp");
+					$page = $query_menu->fetchRow();
+
+                    $show_crumb = (($links == true) AND ($temp != $page_id))
+                            ? '<a href="'.page_link($page['link']).'" class="link">'.$page['menu_title'].'</a>'
+                            : '<span class="crumb">'.MENU_TITLE.'</span>';
+
+                    // Permission
+                    switch ($page['visibility'])
+                    {
+                        case 'none' :
+                        case 'hidden' :
+                        // if show, you know there is an error in a hidden page
+                            print $show_crumb.'&nbsp;';
+                        break;
+                        default :
+                            print $show_crumb;
+                        break;
+                    }
+
+                    if ( ( $counter <> $total_crumbs-1 ) )
+                    {
+                        print '<span class="separator">'.$sep.'</span>';
+                    }
+	            $counter++;
+            }
+            print "</div>\n";
+		}
+	}
+}
+
+// Function for page title
+if (!function_exists('page_title')) {
+	function page_title($spacer = ' - ', $template = '[WEBSITE_TITLE][SPACER][PAGE_TITLE]') {
+		$vars = array('[WEBSITE_TITLE]', '[PAGE_TITLE]', '[MENU_TITLE]', '[SPACER]');
+		$values = array(WEBSITE_TITLE, PAGE_TITLE, MENU_TITLE, $spacer);
+		echo str_replace($vars, $values, $template);
+	}
+}
+
+// Function for page description
+if (!function_exists('page_description')) {
+	function page_description() {
+		global $wb;
+		if ($wb->page_description!='') {
+			echo $wb->page_description;
+		} else {
+			echo WEBSITE_DESCRIPTION;
+		}
+	}
+}
+
+// Function for page keywords
+if (!function_exists('page_keywords')) {
+	function page_keywords() {
+		global $wb;
+		if ($wb->page_keywords!='') {
+			echo $wb->page_keywords;
+		} else {
+			echo WEBSITE_KEYWORDS;
+		}
+	}
+}
+
+// Function for page header
+if (!function_exists('page_header')) {
+	function page_header($date_format = 'Y') {
+		echo WEBSITE_HEADER;
+	}
+}
+
+// Function for page footer
+if (!function_exists('page_footer')) {
+	function page_footer($date_format = 'Y') {
+		global $starttime;
+		$vars = array('[YEAR]', '[PROCESS_TIME]');
+		$processtime=array_sum(explode(" ",microtime()))-$starttime;
+		$values = array(gmdate($date_format),$processtime);
+		echo str_replace($vars, $values, WEBSITE_FOOTER);
+	}
+}
+
+function bind_jquery ($file_id='jquery')
+{
+        $jquery_links = '';
+		/* include the Javascript jquery api  */
+		if( $file_id == 'jquery' AND file_exists(WB_PATH .'/include/jquery/jquery-min.js'))
+        {
+            $wbpath = str_replace('\\','/',WB_PATH);  // fixed localhost problem with ie
+			$jquery_links .= "<script type=\"text/javascript\">\n"
+                ."var URL = '".WB_URL."';\n"
+               /* ."var WB_PATH = '".$wbpath."';\n" */
+                ."var WB_URL = '".WB_URL."';\n"
+                ."var TEMPLATE_DIR = '".TEMPLATE_DIR."';\n"
+                ."</script>\n";
+
+			$jquery_links .= '<script src="'.WB_URL.'/include/jquery/jquery-min.js" type="text/javascript"></script>'."\n";
+			$jquery_links .= '<script src="'.WB_URL.'/include/jquery/jquery-ui-min.js" type="text/javascript"></script>'."\n";
+			$jquery_links .= '<script src="'.WB_URL.'/include/jquery/jquery-insert.js" type="text/javascript"></script>'."\n";
+            /* workout to insert ui.css and theme */
+            $jquery_theme =  WB_PATH.'/modules/jquery/jquery_theme.js';
+			$jquery_links .=  file_exists($jquery_theme)
+                ? '<script src="'.WB_URL.'/modules/jquery/jquery_theme.js" type="text/javascript"></script>'."\n"
+                : '<script src="'.WB_URL.'/include/jquery/jquery_theme.js" type="text/javascript"></script>'."\n";
+            /* workout to insert plugins functions, set in templatedir */
+            $jquery_frontend_file = TEMPLATE_DIR.'/jquery_frontend.js';
+			$jquery_links .= file_exists(str_replace( WB_URL, WB_PATH, $jquery_frontend_file))
+                ? '<script src="'.$jquery_frontend_file.'" type="text/javascript"></script>'."\n"
+                : '';
+		}
+    return $jquery_links;
+}
+
+
+// Function to add optional module Javascript into the <body> section of the frontend
+if(!function_exists('register_frontend_modfiles_body'))
+{
+	function register_frontend_modfiles_body($file_id="js")
+    {
+		// sanity check of parameter passed to the function
+		$file_id = strtolower($file_id);
+		if($file_id !== "css" && $file_id !== "javascript" && $file_id !== "js" && $file_id !== "jquery")
+        {
+			return;
+		}
+
+       // define constant indicating that the register_frontent_files was invoked
+       if(!defined('MOD_FRONTEND_BODY_JAVASCRIPT_REGISTERED')) define('MOD_FRONTEND_BODY_JAVASCRIPT_REGISTERED', true);
+		global $wb, $database, $include_body_links;
+		// define default baselink and filename for optional module javascript files
+		$body_links = "";
+
+		/* include the Javascript jquery api  */
+        $body_links .= bind_jquery($file_id);
+
+		if($file_id !== "css" && $file_id == "js" && $file_id !== "jquery")
+        {
+    		$base_link = '<script src="'.WB_URL.'/modules/{MODULE_DIRECTORY}/frontend_body.js" type="text/javascript"></script>';
+    		$base_file = "frontend_body.js";
+
+			// ensure that frontend_body.js is only added once per module type
+    		if(!empty($include_body_links))
+            {
+    			if(strpos($body_links, $include_body_links) === false)
+                {
+    				$body_links .= $include_body_links;
+    			}
+    			$include_body_links = '';
+    		}
+
+    		// gather information for all models embedded on actual page
+    		$page_id = $wb->page_id;
+    		$query_modules = $database->query("SELECT module FROM " .TABLE_PREFIX ."sections
+    				WHERE page_id=$page_id AND module<>'wysiwyg'");
+
+    		while($row = $query_modules->fetchRow())
+            {
+    			// check if page module directory contains a frontend_body.js file
+    			if(file_exists(WB_PATH ."/modules/" .$row['module'] ."/$base_file"))
+                {
+    			// create link with frontend_body.js source for the current module
+    				$tmp_link = str_replace("{MODULE_DIRECTORY}", $row['module'], $base_link);
+
+    				// define constant indicating that the register_frontent_files_body was invoked
+    					if(!defined('MOD_FRONTEND_BODY_JAVASCRIPT_REGISTERED')) { define('MOD_FRONTEND_BODY_JAVASCRIPT_REGISTERED', true);}
+
+    				// ensure that frontend_body.js is only added once per module type
+    				if(strpos($body_links, $tmp_link) === false)
+                    {
+    					$body_links .= $tmp_link;
+    				}
+    			}
+    		}
+        }
+
+		print $body_links."\n"; ;
+	}
+}
+
+
+// Function to add optional module Javascript or CSS stylesheets into the <head> section of the frontend
+if(!function_exists('register_frontend_modfiles'))
+{
+	function register_frontend_modfiles($file_id="css")
+    {
+		// sanity check of parameter passed to the function
+		$file_id = strtolower($file_id);
+		if($file_id !== "css" && $file_id !== "javascript" && $file_id !== "js" && $file_id !== "jquery")
+        {
+			return;
+		}
+
+		global $wb, $database, $include_head_link_css, $include_head_links;
+		// define default baselink and filename for optional module javascript and stylesheet files
+		$head_links = "";
+
+        switch ($file_id)
+        {
+            case 'css':
+			$base_link = '<link href="'.WB_URL.'/modules/{MODULE_DIRECTORY}/frontend.css"';
+			$base_link.= ' rel="stylesheet" type="text/css" media="screen" />';
+			$base_file = "frontend.css";
+    		if(!empty($include_head_link_css))
+            {
+              $head_links .=  !strpos($head_links, $include_head_link_css) ? $include_head_link_css : '';
+              $include_head_link_css = '';
+            }
+            break;
+            case 'jquery':
+            $head_links .= bind_jquery($file_id);
+            break;
+            case 'js':
+			$base_link = '<script src="'.WB_URL.'/modules/{MODULE_DIRECTORY}/frontend.js" type="text/javascript"></script>';
+			$base_file = "frontend.js";
+    		if(!empty($include_head_links))
+            {
+              $head_links .= !strpos($head_links, $include_head_links) ? $include_head_links : '';
+              $include_head_links = '';
+            }
+            break;
+            default:
+            break;
+		}
+
+        if( $file_id != 'jquery')
+        {
+    		// gather information for all models embedded on actual page
+    		$page_id = $wb->page_id;
+    		$query_modules = $database->query("SELECT module FROM " .TABLE_PREFIX ."sections
+    				WHERE page_id=$page_id AND module<>'wysiwyg'");
+
+    		while($row = $query_modules->fetchRow())
+            {
+    			// check if page module directory contains a frontend.js or frontend.css file
+    			if(file_exists(WB_PATH ."/modules/" .$row['module'] ."/$base_file"))
+                {
+    			// create link with frontend.js or frontend.css source for the current module
+    				$tmp_link = str_replace("{MODULE_DIRECTORY}", $row['module'], $base_link);
+
+    				// define constant indicating that the register_frontent_files was invoked
+    				if($file_id == 'css')
+                    {
+    					if(!defined('MOD_FRONTEND_CSS_REGISTERED')) define('MOD_FRONTEND_CSS_REGISTERED', true);
+    				} else
+                    {
+    					if(!defined('MOD_FRONTEND_JAVASCRIPT_REGISTERED')) define('MOD_FRONTEND_JAVASCRIPT_REGISTERED', true);
+    				}
+    				// ensure that frontend.js or frontend.css is only added once per module type
+    				if(strpos($head_links, $tmp_link) === false)
+                    {
+    					$head_links .= $tmp_link."\n";
+    				}
+    			};
+    		}
+        		// include the Javascript email protection function
+        		if( $file_id != 'css' && file_exists(WB_PATH .'/modules/droplets/js/mdcr.js'))
+                {
+        			$head_links .= '<script src="'.WB_URL.'/modules/droplets/js/mdcr.js" type="text/javascript"></script>'."\n";
+        		}
+                elseif( $file_id != 'css' && file_exists(WB_PATH .'/modules/output_filter/js/mdcr.js'))
+                {
+        			$head_links .= '<script src="'.WB_URL.'/modules/output_filter/js/mdcr.js" type="text/javascript"></script>'."\n";
+        		}
+        }
+        print $head_links;
+    }
+}
+
+// Begin WB < 2.4.x template compatibility code
+	// Make extra_sql accessable through private_sql
+	$private_sql = $extra_sql;
+	$private_where_sql = $extra_where_sql;
+	// Query pages for menu
+	$menu1 = $database->query("SELECT page_id,menu_title,page_title,link,target,visibility$extra_sql FROM ".TABLE_PREFIX."pages WHERE parent = '0' AND $extra_where_sql ORDER BY position ASC");
+	// Check if current pages is a parent page and if we need its submenu
+	if(PARENT == 0) {
+		// Get the pages submenu
+		$menu2 = $database->query("SELECT page_id,menu_title,page_title,link,target,visibility$extra_sql FROM ".TABLE_PREFIX."pages WHERE parent = '".PAGE_ID."' AND $extra_where_sql ORDER BY position ASC");
+	} else {
+		// Get the pages submenu
+		$menu2 = $database->query("SELECT page_id,menu_title,page_title,link,target,visibility$extra_sql FROM ".TABLE_PREFIX."pages WHERE parent = '".PARENT."' AND $extra_where_sql ORDER BY position ASC");
+	}
+// End WB < 2.4.x template compatibility code
+// Include template file
+
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/framework/frontend.functions.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/framework/functions.php
===================================================================
--- tags/2.8.2/wb/framework/functions.php	(nonexistent)
+++ tags/2.8.2/wb/framework/functions.php	(revision 1481)
@@ -0,0 +1,926 @@
+<?php
+/**
+ *
+ * @category        frontend
+ * @package         framework
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+*/
+
+// Stop this file from being accessed directly
+if(!defined('WB_URL')) {
+	header('Location: ../index.php');
+	exit(0);
+}
+
+// Define that this file has been loaded
+define('FUNCTIONS_FILE_LOADED', true);
+
+// Function to remove a non-empty directory
+function rm_full_dir($directory)
+{
+    // If suplied dirname is a file then unlink it
+    if (is_file($directory)) {
+        return unlink($directory);
+    }
+
+    // Empty the folder
+	if (is_dir($directory))
+    {
+        $dir = dir($directory);
+        while (false !== $entry = $dir->read())
+        {
+            // Skip pointers
+            if ($entry == '.' || $entry == '..') {
+                continue;
+            }
+
+            // Deep delete directories
+            if (is_dir("$directory/$entry")) {
+                rm_full_dir("$directory/$entry");
+            }
+            else
+            {
+                unlink("$directory/$entry");
+            }
+        }
+
+        // Now delete the folder
+        $dir->close();
+        return rmdir($directory);
+	}
+}
+
+// Function to open a directory and add to a dir list
+function directory_list($directory)
+{
+	$list = array();
+
+	if (is_dir($directory))
+    {
+    	// Open the directory then loop through its contents
+    	$dir = dir($directory);
+    	while (false !== $entry = $dir->read()) {
+    		// Skip pointers
+    		if(substr($entry, 0, 1) == '.' || $entry == '.svn') {
+    			continue;
+    		}
+    		// Add dir and contents to list
+    		if (is_dir("$directory/$entry")) {
+    			$list = array_merge($list, directory_list("$directory/$entry"));
+    			$list[] = "$directory/$entry";
+    		}
+    	}
+
+        $dir->close();
+    }
+    // Now return the list
+	return $list;
+}
+
+// Function to open a directory and add to a dir list
+function chmod_directory_contents($directory, $file_mode)
+{
+	if (is_dir($directory))
+    {
+    	// Set the umask to 0
+    	$umask = umask(0);
+
+    	// Open the directory then loop through its contents
+    	$dir = dir($directory);
+    	while (false !== $entry = $dir->read()) {
+    		// Skip pointers
+    		if(substr($entry, 0, 1) == '.' || $entry == '.svn') {
+    			continue;
+    		}
+    		// Chmod the sub-dirs contents
+    		if(is_dir("$directory/$entry")) {
+    			chmod_directory_contents("$directory/$entry", $file_mode);
+    		}
+    		change_mode($directory.'/'.$entry);
+    	}
+        $dir->close();
+    	// Restore the umask
+    	umask($umask);
+    }
+}
+
+// Function to open a directory and add to a file list
+function file_list($directory, $skip = array()) {
+	
+	$list = array();
+	$skip_file = false;
+	
+	if (is_dir($directory))
+    {
+    	// Open the directory then loop through its contents
+    	$dir = dir($directory);
+    }
+	while (false !== $entry = $dir->read())
+    {
+		// Skip pointers
+		if($entry == '.' || $entry == '..')
+        {
+			$skip_file = true;
+		}
+		// Check if we to skip anything else
+		if($skip != array()) {
+			foreach($skip AS $skip_name)
+            {
+				if($entry == $skip_name)
+                {
+					$skip_file = true;
+				}
+			}
+		}
+		// Add dir and contents to list
+		if($skip_file != true AND is_file("$directory/$entry"))
+        {
+			$list[] = "$directory/$entry";
+		}
+		
+		// Reset the skip file var
+		$skip_file = false;
+	}
+    $dir->close();
+	// Now delete the folder
+	return $list;
+}
+
+// Function to get a list of home folders not to show
+function get_home_folders() {
+	global $database, $admin;
+	$home_folders = array();
+	// Only return home folders is this feature is enabled
+	// and user is not admin
+//	if(HOME_FOLDERS AND ($_SESSION['GROUP_ID']!='1')) {
+	if(HOME_FOLDERS AND (!in_array('1',explode(",", $_SESSION['GROUPS_ID'])))) {
+
+		$query_home_folders = $database->query("SELECT home_folder FROM ".TABLE_PREFIX."users WHERE home_folder != '".$admin->get_home_folder()."'");
+		if($query_home_folders->numRows() > 0) {
+			while($folder = $query_home_folders->fetchRow()) {
+				$home_folders[$folder['home_folder']] = $folder['home_folder'];
+			}
+		}
+		function remove_home_subs($directory = '/', $home_folders) {
+			if($handle = opendir(WB_PATH.MEDIA_DIRECTORY.$directory)) {
+				// Loop through the dirs to check the home folders sub-dirs are not shown
+			   while(false !== ($file = readdir($handle))) {
+					if(substr($file, 0, 1) != '.' AND $file != '.svn' AND $file != 'index.php') {
+						if(is_dir(WB_PATH.MEDIA_DIRECTORY.$directory.'/'.$file)) {
+							if($directory != '/') { $file = $directory.'/'.$file; } else { $file = '/'.$file; }
+							foreach($home_folders AS $hf) {
+								$hf_length = strlen($hf);
+								if($hf_length > 0) {
+									if(substr($file, 0, $hf_length+1) == $hf) {
+										$home_folders[$file] = $file;
+									}
+								}
+							}
+							$home_folders = remove_home_subs($file, $home_folders);
+						}
+					}
+				}
+			}
+			return $home_folders;
+		}
+		$home_folders = remove_home_subs('/', $home_folders);
+	}
+	return $home_folders;
+}
+
+// Function to create directories
+function make_dir($dir_name, $dir_mode = OCTAL_DIR_MODE)
+{
+	if(!is_dir($dir_name))
+    {
+		$umask = umask(0);
+		mkdir($dir_name, $dir_mode);
+		umask($umask);
+		return true;
+	} else {
+		return false;	
+	}
+}
+
+// Function to chmod files and directories
+function change_mode($name) {
+	if(OPERATING_SYSTEM != 'windows')
+    {
+		// Only chmod if os is not windows
+		if(is_dir($name))
+        {
+			$mode = OCTAL_DIR_MODE;
+		}
+        else
+        {
+			$mode = OCTAL_FILE_MODE;
+		}
+
+		if(file_exists($name))
+        {
+			$umask = umask(0);
+			chmod($name, $mode);
+			umask($umask);
+			return true;
+		}
+        else
+        {
+			return false;	
+		}
+	}
+    else
+    {
+		return true;
+	}
+}
+
+// Function to figure out if a parent exists
+function is_parent($page_id) {
+	global $database;
+	// Get parent
+	$query = $database->query("SELECT parent FROM ".TABLE_PREFIX."pages WHERE page_id = '$page_id'");
+	$fetch = $query->fetchRow();
+	// If parent isnt 0 return its ID
+	if($fetch['parent'] == '0') {
+		return false;
+	} else {
+		return $fetch['parent'];
+	}
+}
+
+// Function to work out level
+function level_count($page_id) {
+	global $database;
+	// Get page parent
+	$query_page = $database->query("SELECT parent FROM ".TABLE_PREFIX."pages WHERE page_id = '$page_id' LIMIT 1");
+	$fetch_page = $query_page->fetchRow();
+	$parent = $fetch_page['parent'];
+	if($parent > 0) {
+		// Get the level of the parent
+		$query_parent = $database->query("SELECT level FROM ".TABLE_PREFIX."pages WHERE page_id = '$parent' LIMIT 1");
+		$fetch_parent = $query_parent->fetchRow();
+		$level = $fetch_parent['level'];
+		return $level+1;
+	} else {
+		return 0;
+	}
+}
+
+// Function to work out root parent
+function root_parent($page_id) {
+	global $database;
+	// Get page details
+	$query_page = $database->query("SELECT parent,level FROM ".TABLE_PREFIX."pages WHERE page_id = '$page_id' LIMIT 1");
+	$fetch_page = $query_page->fetchRow();
+	$parent = $fetch_page['parent'];
+	$level = $fetch_page['level'];	
+	if($level == 1) {
+		return $parent;
+	} elseif($parent == 0) {
+		return $page_id;
+	} else {
+		// Figure out what the root parents id is
+		$parent_ids = array_reverse(get_parent_ids($page_id));
+		return $parent_ids[0];
+	}
+}
+
+// Function to get page title
+function get_page_title($id) {
+	global $database;
+	// Get title
+	$query = $database->query("SELECT page_title FROM ".TABLE_PREFIX."pages WHERE page_id = '$id'");
+	$fetch = $query->fetchRow();
+	// Return title
+	return $fetch['page_title'];
+}
+
+// Function to get a pages menu title
+function get_menu_title($id) {
+	// Connect to the database
+	$database = new database();
+	// Get title
+	$query = $database->query("SELECT menu_title FROM ".TABLE_PREFIX."pages WHERE page_id = '$id'");
+	$fetch = $query->fetchRow();
+	// Return title
+	return $fetch['menu_title'];
+}
+
+// Function to get all parent page titles
+function get_parent_titles($parent_id) {
+	$titles[] = get_menu_title($parent_id);
+	if(is_parent($parent_id) != false) {
+		$parent_titles = get_parent_titles(is_parent($parent_id));
+		$titles = array_merge($titles, $parent_titles);
+	}
+	return $titles;
+}
+
+// Function to get all parent page id's
+function get_parent_ids($parent_id) {
+	$ids[] = $parent_id;
+	if(is_parent($parent_id) != false) {
+		$parent_ids = get_parent_ids(is_parent($parent_id));
+		$ids = array_merge($ids, $parent_ids);
+	}
+	return $ids;
+}
+
+// Function to genereate page trail
+function get_page_trail($page_id) {
+	return implode(',', array_reverse(get_parent_ids($page_id)));
+}
+
+// Function to get all sub pages id's
+function get_subs($parent, $subs) {
+	// Connect to the database
+	$database = new database();
+	// Get id's
+	$query = $database->query("SELECT page_id FROM ".TABLE_PREFIX."pages WHERE parent = '$parent'");
+	if($query->numRows() > 0) {
+		while($fetch = $query->fetchRow()) {
+			$subs[] = $fetch['page_id'];
+			// Get subs of this sub
+			$subs = get_subs($fetch['page_id'], $subs);
+		}
+	}
+	// Return subs array
+	return $subs;
+}
+
+// Function as replacement for php's htmlspecialchars()
+// Will not mangle HTML-entities
+function my_htmlspecialchars($string) {
+	$string = preg_replace('/&(?=[#a-z0-9]+;)/i', '__amp;_', $string);
+	$string = strtr($string, array('<'=>'&lt;', '>'=>'&gt;', '&'=>'&amp;', '"'=>'&quot;', '\''=>'&#39;'));
+	$string = preg_replace('/__amp;_(?=[#a-z0-9]+;)/i', '&', $string);
+	return($string);
+}
+
+// Convert a string from mixed html-entities/umlauts to pure $charset_out-umlauts
+// Will replace all numeric and named entities except &gt; &lt; &apos; &quot; &#039; &nbsp;
+// In case of error the returned string is unchanged, and a message is emitted.
+function entities_to_umlauts($string, $charset_out=DEFAULT_CHARSET) {
+	require_once(WB_PATH.'/framework/functions-utf8.php');
+	return entities_to_umlauts2($string, $charset_out);
+}
+
+// Will convert a string in $charset_in encoding to a pure ASCII string with HTML-entities.
+// In case of error the returned string is unchanged, and a message is emitted.
+function umlauts_to_entities($string, $charset_in=DEFAULT_CHARSET) {
+	require_once(WB_PATH.'/framework/functions-utf8.php');
+	return umlauts_to_entities2($string, $charset_in);
+}
+
+// Function to convert a page title to a page filename
+function page_filename($string) {
+	require_once(WB_PATH.'/framework/functions-utf8.php');
+	$string = entities_to_7bit($string);
+	// Now remove all bad characters
+	$bad = array(
+	'\'', /* /  */ '"', /* " */	'<', /* < */	'>', /* > */
+	'{', /* { */	'}', /* } */	'[', /* [ */	']', /* ] */	'`', /* ` */
+	'!', /* ! */	'@', /* @ */	'#', /* # */	'$', /* $ */	'%', /* % */
+	'^', /* ^ */	'&', /* & */	'*', /* * */	'(', /* ( */	')', /* ) */
+	'=', /* = */	'+', /* + */	'|', /* | */	'/', /* / */	'\\', /* \ */
+	';', /* ; */	':', /* : */	',', /* , */	'?' /* ? */
+	);
+	$string = str_replace($bad, '', $string);
+	// replace multiple dots in filename to single dot and (multiple) dots at the end of the filename to nothing
+	$string = preg_replace(array('/\.+/', '/\.+$/'), array('.', ''), $string);
+	// Now replace spaces with page spcacer
+	$string = trim($string);
+	$string = preg_replace('/(\s)+/', PAGE_SPACER, $string);
+	// Now convert to lower-case
+	$string = strtolower($string);
+	// If there are any weird language characters, this will protect us against possible problems they could cause
+	$string = str_replace(array('%2F', '%'), array('/', ''), urlencode($string));
+	// Finally, return the cleaned string
+	return $string;
+}
+
+// Function to convert a desired media filename to a clean filename
+function media_filename($string) {
+	require_once(WB_PATH.'/framework/functions-utf8.php');
+	$string = entities_to_7bit($string);
+	// Now remove all bad characters
+	$bad = array(
+	'\'', // '
+	'"', // "
+	'`', // `
+	'!', // !
+	'@', // @
+	'#', // #
+	'$', // $
+	'%', // %
+	'^', // ^
+	'&', // &
+	'*', // *
+	'=', // =
+	'+', // +
+	'|', // |
+	'/', // /
+	'\\', // \
+	';', // ;
+	':', // :
+	',', // ,
+	'?' // ?
+	);
+	$string = str_replace($bad, '', $string);
+	// replace multiple dots in filename to single dot and (multiple) dots at the end of the filename to nothing
+	$string = preg_replace(array('/\.+/', '/\.+$/'), array('.', ''), $string);
+	// Clean any page spacers at the end of string
+	$string = trim($string);
+	// Finally, return the cleaned string
+	return $string;
+}
+
+// Function to work out a page link
+if(!function_exists('page_link')) {
+	function page_link($link) {
+		global $admin;
+		return $admin->page_link($link);
+	}
+}
+
+// Create a new file in the pages directory
+function create_access_file($filename,$page_id,$level) {
+	global $admin, $MESSAGE;
+	if(!is_writable(WB_PATH.PAGES_DIRECTORY.'/')) {
+		$admin->print_error($MESSAGE['PAGES']['CANNOT_CREATE_ACCESS_FILE']);
+	} else {
+		// First make sure parent folder exists
+		$parent_folders = explode('/',str_replace(WB_PATH.PAGES_DIRECTORY, '', dirname($filename)));
+		$parents = '';
+		foreach($parent_folders AS $parent_folder) {
+			if($parent_folder != '/' AND $parent_folder != '') {
+				$parents .= '/'.$parent_folder;
+				if(!file_exists(WB_PATH.PAGES_DIRECTORY.$parents)) {
+					make_dir(WB_PATH.PAGES_DIRECTORY.$parents);
+				}
+			}	
+		}
+		// The depth of the page directory in the directory hierarchy
+		// '/pages' is at depth 1
+		$pages_dir_depth=count(explode('/',PAGES_DIRECTORY))-1;
+		// Work-out how many ../'s we need to get to the index page
+		$index_location = '';
+		for($i = 0; $i < $level + $pages_dir_depth; $i++) {
+			$index_location .= '../';
+		}
+		$content = ''.
+'<?php
+$page_id = '.$page_id.';
+require("'.$index_location.'config.php");
+require(WB_PATH."/index.php");
+?>';
+		$handle = fopen($filename, 'w');
+		fwrite($handle, $content);
+		fclose($handle);
+		// Chmod the file
+		change_mode($filename);
+	}
+}
+
+// Function for working out a file mime type (if the in-built PHP one is not enabled)
+if(!function_exists('mime_content_type')) {
+    function mime_content_type($filename) {
+
+    $mime_types = array(
+            'txt'	=> 'text/plain',
+            'htm'	=> 'text/html',
+            'html'	=> 'text/html',
+            'php'	=> 'text/html',
+            'css'	=> 'text/css',
+            'js'	=> 'application/javascript',
+            'json'	=> 'application/json',
+            'xml'	=> 'application/xml',
+            'swf'	=> 'application/x-shockwave-flash',
+            'flv'	=> 'video/x-flv',
+
+            // images
+            'png'	=> 'image/png',
+            'jpe'	=> 'image/jpeg',
+            'jpeg'	=> 'image/jpeg',
+            'jpg'	=> 'image/jpeg',
+            'gif'	=> 'image/gif',
+            'bmp'	=> 'image/bmp',
+            'ico'	=> 'image/vnd.microsoft.icon',
+            'tiff'	=> 'image/tiff',
+            'tif'	=> 'image/tiff',
+            'svg'	=> 'image/svg+xml',
+            'svgz'	=> 'image/svg+xml',
+
+            // archives
+            'zip'	=> 'application/zip',
+            'rar'	=> 'application/x-rar-compressed',
+            'exe'	=> 'application/x-msdownload',
+            'msi'	=> 'application/x-msdownload',
+            'cab'	=> 'application/vnd.ms-cab-compressed',
+
+            // audio/video
+            'mp3'	=> 'audio/mpeg',
+            'mp4'	=> 'audio/mpeg',
+            'qt'	=> 'video/quicktime',
+            'mov'	=> 'video/quicktime',
+
+            // adobe
+            'pdf'	=> 'application/pdf',
+            'psd'	=> 'image/vnd.adobe.photoshop',
+            'ai'	=> 'application/postscript',
+            'eps'	=> 'application/postscript',
+            'ps'	=> 'application/postscript',
+
+            // ms office
+            'doc'	=> 'application/msword',
+            'rtf'	=> 'application/rtf',
+            'xls'	=> 'application/vnd.ms-excel',
+            'ppt'	=> 'application/vnd.ms-powerpoint',
+
+            // open office
+            'odt'	=> 'application/vnd.oasis.opendocument.text',
+            'ods'	=> 'application/vnd.oasis.opendocument.spreadsheet',
+        );
+
+        $temp = explode('.',$filename);
+        $ext = strtolower(array_pop($temp));
+
+        if (array_key_exists($ext, $mime_types)) {
+            return $mime_types[$ext];
+        }
+        elseif (function_exists('finfo_open')) {
+            $finfo = finfo_open(FILEINFO_MIME);
+            $mimetype = finfo_file($finfo, $filename);
+            finfo_close($finfo);
+            return $mimetype;
+        }
+        else {
+            return 'application/octet-stream';
+        }
+    }
+}
+
+// Generate a thumbnail from an image
+function make_thumb($source, $destination, $size) {
+	// Check if GD is installed
+	if(extension_loaded('gd') AND function_exists('imageCreateFromJpeg')) {
+		// First figure out the size of the thumbnail
+		list($original_x, $original_y) = getimagesize($source);
+		if ($original_x > $original_y) {
+			$thumb_w = $size;
+			$thumb_h = $original_y*($size/$original_x);
+		}
+		if ($original_x < $original_y) {
+			$thumb_w = $original_x*($size/$original_y);
+			$thumb_h = $size;
+		}
+		if ($original_x == $original_y) {
+			$thumb_w = $size;
+			$thumb_h = $size;	
+		}
+		// Now make the thumbnail
+		$source = imageCreateFromJpeg($source);
+		$dst_img = ImageCreateTrueColor($thumb_w, $thumb_h);
+		imagecopyresampled($dst_img,$source,0,0,0,0,$thumb_w,$thumb_h,$original_x,$original_y);
+		imagejpeg($dst_img, $destination);
+		// Clear memory
+		imagedestroy($dst_img);
+	   imagedestroy($source);
+	   // Return true
+	   return true;
+   } else {
+   	return false;
+   }
+}
+
+// Function to work-out a single part of an octal permission value
+function extract_permission($octal_value, $who, $action) {
+	// Make sure the octal value is 4 chars long
+	if(strlen($octal_value) == 0) {
+		$octal_value = '0000';
+	} elseif(strlen($octal_value) == 1) {
+		$octal_value = '000'.$octal_value;
+	} elseif(strlen($octal_value) == 2) {
+		$octal_value = '00'.$octal_value;
+	} elseif(strlen($octal_value) == 3) {
+		$octal_value = '0'.$octal_value;
+	} elseif(strlen($octal_value) == 4) {
+		$octal_value = ''.$octal_value;
+	} else {
+		$octal_value = '0000';
+	}
+	// Work-out what position of the octal value to look at
+	switch($who) {
+	case 'u':
+		$position = '1';
+		break;
+	case 'user':
+		$position = '1';
+		break;
+	case 'g':
+		$position = '2';
+		break;
+	case 'group':
+		$position = '2';
+		break;
+	case 'o':
+		$position = '3';
+		break;
+	case 'others':
+		$position = '3';
+		break;
+	}
+	// Work-out how long the octal value is and ajust acording
+	if(strlen($octal_value) == 4) {
+		$position = $position+1;
+	} elseif(strlen($octal_value) != 3) {
+		exit('Error');
+	}
+	// Now work-out what action the script is trying to look-up
+	switch($action) {
+	case 'r':
+		$action = 'r';
+		break;
+	case 'read':
+		$action = 'r';
+		break;
+	case 'w':
+		$action = 'w';
+		break;
+	case 'write':
+		$action = 'w';
+		break;
+	case 'e':
+		$action = 'e';
+		break;
+	case 'execute':
+		$action = 'e';
+		break;
+	}
+	// Get the value for "who"
+	$value = substr($octal_value, $position-1, 1);
+	// Now work-out the details of the value
+	switch($value) {
+	case '0':
+		$r = false;
+		$w = false;
+		$e = false;
+		break;
+	case '1':
+		$r = false;
+		$w = false;
+		$e = true;
+		break;
+	case '2':
+		$r = false;
+		$w = true;
+		$e = false;
+		break;
+	case '3':
+		$r = false;
+		$w = true;
+		$e = true;
+		break;
+	case '4':
+		$r = true;
+		$w = false;
+		$e = false;
+		break;
+	case '5':
+		$r = true;
+		$w = false;
+		$e = true;
+		break;
+	case '6':
+		$r = true;
+		$w = true;
+		$e = false;
+		break;
+	case '7':
+		$r = true;
+		$w = true;
+		$e = true;
+		break;
+	default:
+		$r = false;
+		$w = false;
+		$e = false;
+	}
+	// And finally, return either true or false
+	return $$action;
+}
+
+// Function to delete a page
+function delete_page($page_id) {
+	
+	global $admin, $database, $MESSAGE;
+	
+	// Find out more about the page
+	$database = new database();
+	$query = "SELECT page_id,menu_title,page_title,level,link,parent,modified_by,modified_when FROM ".TABLE_PREFIX."pages WHERE page_id = '$page_id'";
+	$results = $database->query($query);
+	if($database->is_error()) {
+		$admin->print_error($database->get_error());
+	}
+	if($results->numRows() == 0) {
+		$admin->print_error($MESSAGE['PAGES']['NOT_FOUND']);
+	}
+	$results_array = $results->fetchRow();
+	$parent = $results_array['parent'];
+	$level = $results_array['level'];
+	$link = $results_array['link'];
+	$page_title = ($results_array['page_title']);
+	$menu_title = ($results_array['menu_title']);
+	
+	// Get the sections that belong to the page
+	$query_sections = $database->query("SELECT section_id,module FROM ".TABLE_PREFIX."sections WHERE page_id = '$page_id'");
+	if($query_sections->numRows() > 0) {
+		while($section = $query_sections->fetchRow()) {
+			// Set section id
+			$section_id = $section['section_id'];
+			// Include the modules delete file if it exists
+			if(file_exists(WB_PATH.'/modules/'.$section['module'].'/delete.php')) {
+				require(WB_PATH.'/modules/'.$section['module'].'/delete.php');
+			}
+		}
+	}
+	
+	// Update the pages table
+	$query = "DELETE FROM ".TABLE_PREFIX."pages WHERE page_id = '$page_id'";
+	$database->query($query);
+	if($database->is_error()) {
+		$admin->print_error($database->get_error());
+	}
+	
+	// Update the sections table
+	$query = "DELETE FROM ".TABLE_PREFIX."sections WHERE page_id = '$page_id'";
+	$database->query($query);
+	if($database->is_error()) {
+		$admin->print_error($database->get_error());
+	}
+	
+	// Include the ordering class or clean-up ordering
+	require_once(WB_PATH.'/framework/class.order.php');
+	$order = new order(TABLE_PREFIX.'pages', 'position', 'page_id', 'parent');
+	$order->clean($parent);
+	
+	// Unlink the page access file and directory
+	$directory = WB_PATH.PAGES_DIRECTORY.$link;
+	$filename = $directory.PAGE_EXTENSION;
+	$directory .= '/';
+	if(file_exists($filename)) {
+		if(!is_writable(WB_PATH.PAGES_DIRECTORY.'/')) {
+			$admin->print_error($MESSAGE['PAGES']['CANNOT_DELETE_ACCESS_FILE']);
+		} else {
+			unlink($filename);
+			if(file_exists($directory) && rtrim($directory,'/')!=WB_PATH.PAGES_DIRECTORY && substr($link, 0, 1) != '.') {
+				rm_full_dir($directory);
+			}
+		}
+	}
+	
+}
+
+// Load module into DB
+function load_module($directory, $install = false) {
+	global $database,$admin,$MESSAGE;
+	if(is_dir($directory) AND file_exists($directory.'/info.php'))
+	{
+		require($directory.'/info.php');
+		if(isset($module_name))
+	{
+			if(!isset($module_license)) { $module_license = 'GNU General Public License'; }
+			if(!isset($module_platform) AND isset($module_designed_for)) { $module_platform = $module_designed_for; }
+			if(!isset($module_function) AND isset($module_type)) { $module_function = $module_type; }
+			$module_function = strtolower($module_function);
+			// Check that it doesn't already exist
+			$result = $database->query("SELECT addon_id FROM ".TABLE_PREFIX."addons WHERE type = 'module' AND directory = '".$module_directory."' LIMIT 0,1");
+			if($result->numRows() == 0)
+			{
+				// Load into DB
+				$query = "INSERT INTO ".TABLE_PREFIX."addons ".
+				"(directory,name,description,type,function,version,platform,author,license) ".
+				"VALUES ('$module_directory','$module_name','".addslashes($module_description)."','module',".
+				"'$module_function','$module_version','$module_platform','$module_author','$module_license')";
+				$database->query($query);
+				// Run installation script
+				if($install == true)
+				{
+					if(file_exists($directory.'/install.php')) {
+						require($directory.'/install.php');
+					}
+				}
+			}
+		}
+	}
+}
+
+// Load template into DB
+function load_template($directory) {
+	global $database;
+	if(is_dir($directory) AND file_exists($directory.'/info.php')) {
+		require($directory.'/info.php');
+		if(isset($template_name)) {
+			if(!isset($template_license)) { $template_license = 'GNU General Public License'; }
+			if(!isset($template_platform) AND isset($template_designed_for)) { $template_platform = $template_designed_for; }
+			if(!isset($template_function)) { $template_function = 'template'; }
+			// Check that it doesn't already exist
+			$result = $database->query("SELECT addon_id FROM ".TABLE_PREFIX."addons WHERE type = 'template' AND directory = '".$template_directory."' LIMIT 0,1");
+			if($result->numRows() == 0) {
+				// Load into DB
+				$query = "INSERT INTO ".TABLE_PREFIX."addons ".
+				"(directory,name,description,type,function,version,platform,author,license) ".
+				"VALUES ('$template_directory','$template_name','".addslashes($template_description)."','template',".
+				"'$template_function','$template_version','$template_platform','$template_author','$template_license')";
+				$database->query($query);
+			}
+		}
+	}
+}
+
+// Load language into DB
+function load_language($file) {
+	global $database;
+	if (file_exists($file) && preg_match('#^([A-Z]{2}.php)#', basename($file))) {
+		require($file);
+		if(isset($language_name)) {
+			if(!isset($language_license)) { $language_license = 'GNU General Public License'; }
+			if(!isset($language_platform) AND isset($language_designed_for)) { $language_platform = $language_designed_for; }
+			// Check that it doesn't already exist
+			$result = $database->query("SELECT addon_id FROM ".TABLE_PREFIX."addons WHERE type = 'language' AND directory = '".$language_code."' LIMIT 0,1");
+			if($result->numRows() == 0) {
+				// Load into DB
+				$query = "INSERT INTO ".TABLE_PREFIX."addons ".
+				"(directory,name,type,version,platform,author,license) ".
+				"VALUES ('$language_code','$language_name','language',".
+				"'$language_version','$language_platform','$language_author','$language_license')";
+	 		$database->query($query);
+			}
+		}
+	}
+}
+
+// Upgrade module info in DB, optionally start upgrade script
+function upgrade_module($directory, $upgrade = false) {
+	global $database, $admin, $MESSAGE;
+	$directory = WB_PATH . "/modules/$directory";
+	if(file_exists($directory.'/info.php')) {
+		require($directory.'/info.php');
+		if(isset($module_name)) {
+			if(!isset($module_license)) { $module_license = 'GNU General Public License'; }
+			if(!isset($module_platform) AND isset($module_designed_for)) { $module_platform = $module_designed_for; }
+			if(!isset($module_function) AND isset($module_type)) { $module_function = $module_type; }
+			$module_function = strtolower($module_function);
+			// Check that it does already exist
+			$result = $database->query("SELECT addon_id FROM ".TABLE_PREFIX."addons WHERE directory = '".$module_directory."' LIMIT 0,1");
+			if($result->numRows() > 0) {
+				// Update in DB
+				$query = "UPDATE " . TABLE_PREFIX . "addons SET " .
+					"version = '$module_version', " .
+					"description = '" . addslashes($module_description) . "', " .
+					"platform = '$module_platform', " .
+					"author = '$module_author', " .
+					"license = '$module_license'" .
+					"WHERE directory = '$module_directory'";
+				$database->query($query);
+				// Run upgrade script
+				if($upgrade == true) {
+					if(file_exists($directory.'/upgrade.php')) {
+						require($directory.'/upgrade.php');
+					}
+				}
+			}
+		}
+	}
+}
+
+// extracts the content of a string variable from a string (save alternative to including files)
+if(!function_exists('get_variable_content')) {
+	function get_variable_content($search, $data, $striptags=true, $convert_to_entities=true) {
+		$match = '';
+		// search for $variable followed by 0-n whitespace then by = then by 0-n whitespace
+		// then either " or ' then 0-n characters then either " or ' followed by 0-n whitespace and ;
+		// the variable name is returned in $match[1], the content in $match[3]
+		if (preg_match('/(\$' .$search .')\s*=\s*("|\')(.*)\2\s*;/', $data, $match)) {
+			if(strip_tags(trim($match[1])) == '$' .$search) {
+				// variable name matches, return it's value
+				$match[3] = ($striptags == true) ? strip_tags($match[3]) : $match[3];
+				$match[3] = ($convert_to_entities == true) ? htmlentities($match[3]) : $match[3];
+				return $match[3];
+			}
+		}
+		return false;
+	}
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/framework/functions.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/framework/module.functions.php
===================================================================
--- tags/2.8.2/wb/framework/module.functions.php	(nonexistent)
+++ tags/2.8.2/wb/framework/module.functions.php	(revision 1481)
@@ -0,0 +1,258 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+/**
+	This file contains routines to edit the optional module files: frontend.css and backend.css
+	Mechanism was introduced with WB 2.7 to provide a global solution for all modules
+	To use this function, include this file from your module (e.g. from modify.php)
+	Then simply call the function edit_css('your_module_directory') - that´s it
+	NOTE: Some functions were added for module developers to make the creation of own module easier
+*/
+
+// prevent this file from being accessed directly
+if(!defined('WB_PATH')) die(header('Location: index.php'));  
+
+/*
+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+ FUNCTIONS REQUIRED TO EDIT THE OPTIONAL MODULE CSS FILES
+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+*/ 
+
+// this function checks the validity of the specified module directory
+if(!function_exists('check_module_dir')) {
+	function check_module_dir($mod_dir) {
+		// check if module directory is formal correct (only characters: "a-z,0-9,_,-")
+		if(!preg_match('/^[a-z0-9_-]+$/iD', $mod_dir)) return '';
+		// check if the module folder contains the required info.php file
+		return (file_exists(WB_PATH .'/modules/' .$mod_dir .'/info.php')) ? $mod_dir : '';
+	}
+}
+
+// this function checks if the specified optional module file exists
+if (!function_exists('mod_file_exists')) {
+	function mod_file_exists($mod_dir, $mod_file='frontend.css') {
+  	// check if the module file exists
+		return file_exists(WB_PATH .'/modules/' .$mod_dir .'/' .$mod_file);
+	}
+}
+
+// this function displays the "Edit CSS" button in modify.php 
+if (!function_exists('edit_module_css')) {
+	function edit_module_css($mod_dir) {
+		global $page_id, $section_id;
+				
+		// check if the required edit_module_css.php file exists
+		if(!file_exists(WB_PATH .'/modules/edit_module_files.php')) return;
+		
+		// check if specified module directory is valid
+		if(check_module_dir($mod_dir) == '') return;
+		
+		// check if frontend.css or backend.css exist
+		$frontend_css = mod_file_exists($mod_dir, 'frontend.css');
+		$backend_css = mod_file_exists($mod_dir, 'backend.css');
+		
+		// output the edit CSS submtin button if required
+		if($frontend_css || $backend_css) {
+			// default text used for the edit CSS routines if not defined in the WB core language files
+			$edit_css_caption = (isset($GLOBALS['TEXT']['CAP_EDIT_CSS'])) ?$GLOBALS['TEXT']['CAP_EDIT_CSS'] :'Edit CSS';
+			?>
+			<form name="edit_module_file" action="<?php echo WB_URL .'/modules/edit_module_files.php?page_id='.$page_id;?>" 
+				method="post" style="margin: 0; align:right;">
+				<input type="hidden" name="page_id" value="<?php echo $page_id; ?>" />
+				<input type="hidden" name="section_id" value="<?php echo $section_id; ?>" />
+				<input type="hidden" name="mod_dir" value="<?php echo $mod_dir; ?>" />
+				<input type="hidden" name="edit_file" value="<?php echo ($frontend_css) ?'frontend.css' : 'backend.css';?>" />
+				<input type="hidden" name="action" value="edit" />
+				<input type="submit" value="<?php echo $edit_css_caption;?>" class="mod_<?php echo $mod_dir;?>_edit_css" />
+			</form>
+			<?php
+    }
+  }
+}
+
+// this function displays a button to toggle between CSS files (invoked from edit_css.php)
+if (!function_exists('toggle_css_file')) {
+	function toggle_css_file($mod_dir, $base_css_file = 'frontend.css') {
+		global $page_id, $section_id;
+		// check if the required edit_module_css.php file exists
+		if(!file_exists(WB_PATH .'/modules/edit_module_files.php')) return;
+
+		// check if specified module directory is valid
+		if(check_module_dir($mod_dir) == '') return;
+
+		// do sanity check of specified css file
+		if(!in_array($base_css_file, array('frontend.css', 'backend.css'))) return;
+		
+		// display button to toggle between the two CSS files: frontend.css, backend.css
+		$toggle_file = ($base_css_file == 'frontend.css') ? 'backend.css' : 'frontend.css';
+		if(mod_file_exists($mod_dir, $toggle_file)) {
+			?>
+			<form name="toggle_module_file" action="<?php echo WB_URL .'/modules/edit_module_files.php?page_id='.$page_id;?>" method="post" style="margin: 0; align:right;">
+				<input type="hidden" name="page_id" value="<?php echo $page_id; ?>" />
+				<input type="hidden" name="section_id" value="<?php echo $section_id; ?>" />
+				<input type="hidden" name="mod_dir" value="<?php echo $mod_dir; ?>" />
+				<input type="hidden" name="edit_file" value="<?php echo $toggle_file; ?>" />
+				<input type="hidden" name="action" value="edit" />
+				<input type="submit" value="<?php echo ucwords($toggle_file);?>" class="mod_<?php echo $mod_dir;?>_edit_css" />
+			</form>
+			<?php
+		}
+  }
+}
+
+/*
+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+ FUNCTIONS WHICH CAN BE USED BY MODULE DEVELOPERS FOR OWN MODULES (E.G. VIEW.PHP, MODIFY.PHP)
+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+*/ 
+
+// function to obtain the module language file depending on the backend language of the current user
+if (!function_exists('get_module_language_file')) {
+	function get_module_language_file($mymod_dir) {
+		$mymod_dir = strip_tags($mymod_dir);
+		if(file_exists(WB_PATH .'/modules/' .$mymod_dir .'/languages/' .LANGUAGE .'.php')) {
+			// a module language file exists for the users backend language
+			return (WB_PATH .'/modules/' .$mymod_dir .'/languages/' .LANGUAGE .'.php');
+		} else {
+			// an English module language file must exist in all multi-lingual modules
+			if(file_exists(WB_PATH .'/modules/' .$mymod_dir .'/languages/EN.php')) {
+				return (WB_PATH .'/modules/' .$mymod_dir .'/languages/EN.php');
+			} else {
+				echo '<p><strong>Error: </strong>';
+				echo 'Default language file (EN.php) of module "' .htmlentities($mymod_dir) .'" does not exist.</p><br />';
+				return false;
+			}
+		}
+	}
+}
+
+// function to include module CSS files in <body> (only if WB < 2.6.7 or register_frontend_modfiles('css') not invoked in template)
+if (!function_exists('include_module_css')) {
+	function include_module_css($mymod_dir, $css_file) {
+		if(!in_array(strtolower($css_file), array('frontend.css', 'backend.css'))) return;
+		
+		if($css_file == 'frontend.css') {
+			// check if frontend.css needs to be included into the <body> section
+			if(!((!function_exists('register_frontend_modfiles') || !defined('MOD_FRONTEND_CSS_REGISTERED')) &&
+					file_exists(WB_PATH .'/modules/' .$mymod_dir .'/frontend.css'))) {
+				return false;
+			} 
+		} else {
+			// check if backend.css needs to be included into the <body> section
+			global $admin;
+			if(!(!method_exists($admin, 'register_backend_modfiles') && file_exists(WB_PATH .'/modules/' .$mymod_dir .'/backend.css'))) {
+				return false;
+			}
+		}
+		// include frontend.css or backend.css into the <body> section
+		echo "\n".'<style type="text/css">'."\n";
+  	include(WB_PATH .'/modules/' .$mymod_dir .'/' .$css_file);
+  	echo "\n</style>\n";
+		return true;
+	}
+}
+
+// function to check if the optional module Javascript files are loaded into the <head> section
+if (!function_exists('requires_module_js')) {
+	function requires_module_js($mymod_dir, $js_file) {
+		if(!in_array(strtolower($js_file), array('frontend.js', 'backend.js'))) {
+			echo '<strong>Note: </strong>Javascript file "' .htmlentities($js_file) .'"
+			specified in module "' .htmlentities($mymod_dir) .'" not valid.';
+			return false;
+		}
+
+		if($js_file == 'frontend.js') {
+			// check if frontend.js is included to the <head> section
+			if(!defined('MOD_FRONTEND_JAVASCRIPT_REGISTERED')) {
+				echo '<p><strong>Note:</strong> The module: "' .htmlentities($mymod_dir) .'" requires WB 2.6.7 or higher</p>
+				<p>This module uses Javascript functions contained in frontend.js of the module.<br />
+				Add the code below to the &lt;head&gt; section in the index.php of your template
+				to ensure that module frontend.js files are automatically loaded if required.</p>
+				<code style="color: #800000;">&lt;?php<br />if(function_exists(\'register_frontend_modfiles\')) { <br />
+				&nbsp;&nbsp;register_frontend_modfiles(\'js\');<br />?&gt;</code><br />
+				<p><strong>Tip:</strong> For WB 2.6.7 copy the code above to the index.php of your template.
+				Then open the view.php of the "' .htmlentities($mymod_dir) .'" module and set the variable
+				<code>$requires_frontend_js</code> to false. This may do the trick.</p><p>All WB versions below 2.6.7 needs
+				to be upgraded to work with this module.</p>
+				';
+				return false;
+			}
+		} else {
+			// check if backend.js is included to the <head> section
+			global $admin;
+				if(!method_exists($admin, 'register_backend_modfiles') && file_exists(WB_PATH .'/modules/' .$mymod_dir .'/backend.js')) {
+				echo '<p><strong>Note:</strong> The module: "' .htmlentities($mymod_dir) .'" requires WB 2.6.7 or higher</p>
+				<p>This module uses Javascript functions contained in backend.js of the module.<br />
+				You need WB 2.6.7 or higher to ensure that module backend.js files are automatically loaded if required.</p>
+				<p>Sorry, you can not use this tool with your WB installation, please upgrade to the latest WB version available.</p><br />
+				';
+				return false;
+			}
+		}
+		return true;
+	}
+}
+// function to check if the optional module Javascript files are loaded into the <body> section
+if (!function_exists('requires_module_body_js')) {
+	function requires_module_body_js($mymod_dir, $js_file) {
+		if(!in_array(strtolower($js_file), array('frontend_body.js', 'backend_body.js'))) {
+			echo '<strong>Note: </strong>Javascript file "' .htmlentities($js_file) .'"
+			specified in module "' .htmlentities($mymod_dir) .'" not valid.';
+			return false;
+		}
+
+		if($js_file == 'frontend_body.js') {
+			// check if frontend_body.js is included to the <body> section
+			if(!defined('MOD_FRONTEND_BODY_JAVASCRIPT_REGISTERED')) {
+				echo '<p><strong>Note:</strong> The module: "' .htmlentities($mymod_dir) .'" requires WB 2.6.7 or higher</p>
+				<p>This module uses Javascript functions contained in frontend_body.js of the module.<br />
+				Add the code below before to the &lt;/body&gt; section in the index.php of your template
+				to ensure that module frontend_body.js files are automatically loaded if required.</p>
+				<code style="color: #800000;">&lt;?php<br />if(function_exists(\'register_frontend_modfiles_body\')) { <br />
+				&nbsp;&nbsp;register_frontend_modfiles_body(\'js\');<br />?&gt;</code><br />
+				<p><strong>Tip:</strong> For WB 2.6.7 copy the code above to the index.php of your template.
+				Then open the view.php of the "' .htmlentities($mymod_dir) .'" module and set the variable
+				<code>$requires_frontend_body_js</code> to false. This may do the trick.</p><p>All WB versions below 2.6.7 needs
+				to be upgraded to work with this module.</p>
+				';
+				return false;
+			}
+		} else {
+			// check if backend_body.js is included to the <body> section
+			global $admin;
+				if(!method_exists($admin, 'register_backend_modfiles_body') && file_exists(WB_PATH .'/modules/' .$mymod_dir .'/backend_body.js')) {
+				echo '<p><strong>Note:</strong> The module: "' .htmlentities($mymod_dir) .'" requires WB 2.6.7 or higher</p>
+				<p>This module uses Javascript functions contained in backend_body.js of the module.<br />
+				You need WB 2.6.7 or higher to ensure that module backend_body.js files are automatically loaded if required.</p>
+				<p>Sorry, you can not use this tool with your WB installation, please upgrade to the latest WB version available.</p><br />
+				';
+				return false;
+			}
+		}
+		return true;
+	}
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/framework/module.functions.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/framework/class.database.php
===================================================================
--- tags/2.8.2/wb/framework/class.database.php	(nonexistent)
+++ tags/2.8.2/wb/framework/class.database.php	(revision 1481)
@@ -0,0 +1,163 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+/*
+
+Database class
+
+This class will be used to interface between the database
+and the Website Baker code
+
+*/
+
+// Stop this file from being accessed directly
+if(!defined('WB_URL')) {
+	header('Location: ../index.php');
+	exit(0);
+}
+
+if(!defined('DB_URL')) {
+	//define('DB_URL', DB_TYPE.'://'.DB_USERNAME.':'.DB_PASSWORD.'@'.DB_HOST.'/'.DB_NAME);
+}
+
+define('DATABASE_CLASS_LOADED', true);
+
+class database {
+	
+	// Set DB_URL
+	function database($url = '') {
+		// Connect to database
+		$this->connect();
+		// Check for database connection error
+		if($this->is_error()) {
+			die($this->get_error());
+		}
+	}
+	
+	// Connect to the database
+	function connect() {
+		$status = $this->db_handle = mysql_connect(DB_HOST, DB_USERNAME, DB_PASSWORD);
+		if(mysql_error()) {
+			$this->connected = false;
+			$this->error = mysql_error();
+		} else {
+			if(!mysql_select_db(DB_NAME)) {
+				$this->connected = false;
+				$this->error = mysql_error();
+			} else {
+				$this->connected = true;
+			}
+		}
+		return $this->connected;
+	}
+	
+	// Disconnect from the database
+	function disconnect() {
+		if($this->connected==true) {
+			mysql_close();
+			return true;
+		} else {
+			return false;
+		}
+	}
+	
+	// Run a query
+	function query($statement) {
+		$mysql = new mysql();
+		$mysql->query($statement);
+		$this->set_error($mysql->error());
+		if($mysql->error()) {
+			return null;
+		} else {
+			return $mysql;
+		}
+	}
+	
+	// Gets the first column of the first row
+	function get_one($statement) {
+		$fetch_row = mysql_fetch_row(mysql_query($statement));
+		$result = $fetch_row[0];
+		$this->set_error(mysql_error());
+		if(mysql_error()) {
+			return null;
+		} else {
+			return $result;
+		}
+	}
+	
+	// Set the DB error
+	function set_error($message = null) {
+		global $TABLE_DOES_NOT_EXIST, $TABLE_UNKNOWN;
+		$this->error = $message;
+		if(strpos($message, 'no such table')) {
+			$this->error_type = $TABLE_DOES_NOT_EXIST;
+		} else {
+			$this->error_type = $TABLE_UNKNOWN;
+		}
+	}
+	
+	// Return true if there was an error
+	function is_error() {
+		return (!empty($this->error)) ? true : false;
+	}
+	
+	// Return the error
+	function get_error() {
+		return $this->error;
+	}
+	
+}
+
+class mysql {
+
+	// Run a query
+	function query($statement) {
+		$this->result = mysql_query($statement);
+		$this->error = mysql_error();
+		return $this->result;
+	}
+	
+	// Fetch num rows
+	function numRows() {
+		return mysql_num_rows($this->result);
+	}
+
+	// Fetch row  $typ = MYSQL_ASSOC, MYSQL_NUM, MYSQL_BOTH
+	function fetchRow($typ = MYSQL_BOTH) {
+		return mysql_fetch_array($this->result, $typ);
+	}
+
+	// Get error
+	function error() {
+		if(isset($this->error)) {
+			return $this->error;
+		} else {
+			return null;
+		}
+	}
+
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/framework/class.database.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/framework/functions-utf8.php
===================================================================
--- tags/2.8.2/wb/framework/functions-utf8.php	(nonexistent)
+++ tags/2.8.2/wb/framework/functions-utf8.php	(revision 1481)
@@ -0,0 +1,443 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+/*
+ * A part of this file is based on 'utf8.php' from the DokuWiki-project.
+ * (http://www.splitbrain.org/projects/dokuwiki):
+ **
+ * UTF8 helper functions
+ * @license    LGPL (http://www.gnu.org/copyleft/lesser.html)
+ * @author     Andreas Gohr <andi@splitbrain.org>
+ **
+ * modified for use with Website Baker
+ * from thorn, Jan. 2008
+ *
+ * most of the original functions appeared to be to slow with large strings, so i replaced them with my own ones
+ * thorn, Mar. 2008
+ */
+
+// Functions we use in Website Baker:
+//   entities_to_7bit()
+//   entities_to_umlauts2()
+//   umlauts_to_entities2()
+
+if(!defined('WB_URL')) {
+	header('Location: ../index.php');
+	exit(0);
+}
+
+/*
+ * check for mb_string support
+ */
+//define('UTF8_NOMBSTRING',1); // uncomment this to forbid use of mb_string-functions
+if(!defined('UTF8_MBSTRING')){
+  if(function_exists('mb_substr') && !defined('UTF8_NOMBSTRING')){
+    define('UTF8_MBSTRING',1);
+  }else{
+    define('UTF8_MBSTRING',0);
+  }
+}
+
+if(UTF8_MBSTRING){ mb_internal_encoding('UTF-8'); }
+
+require_once(WB_PATH.'/framework/charsets_table.php');
+
+/*
+ * Checks if a string contains 7bit ASCII only
+ *
+ * @author thorn
+ */
+function utf8_isASCII($str){
+	if(preg_match('/[\x80-\xFF]/', $str))
+		return false;
+	else
+		return true;
+}
+
+/*
+ * Tries to detect if a string is in Unicode encoding
+ *
+ * @author <bmorel@ssi.fr>
+ * @link   http://www.php.net/manual/en/function.utf8-encode.php
+ */
+function utf8_check($Str) {
+ for ($i=0; $i<strlen($Str); $i++) {
+  $b = ord($Str[$i]);
+  if ($b < 0x80) continue; # 0bbbbbbb
+  elseif (($b & 0xE0) == 0xC0) $n=1; # 110bbbbb
+  elseif (($b & 0xF0) == 0xE0) $n=2; # 1110bbbb
+  elseif (($b & 0xF8) == 0xF0) $n=3; # 11110bbb
+  elseif (($b & 0xFC) == 0xF8) $n=4; # 111110bb
+  elseif (($b & 0xFE) == 0xFC) $n=5; # 1111110b
+  else return false; # Does not match any model
+  for ($j=0; $j<$n; $j++) { # n bytes matching 10bbbbbb follow ?
+   if ((++$i == strlen($Str)) || ((ord($Str[$i]) & 0xC0) != 0x80))
+   return false;
+  }
+ }
+ return true;
+}
+
+/*
+ * Romanize a non-latin string
+ *
+ * @author Andreas Gohr <andi@splitbrain.org>
+ */
+function utf8_romanize($string){
+  if(utf8_isASCII($string)) return $string; //nothing to do
+
+  global $UTF8_ROMANIZATION;
+  return strtr($string,$UTF8_ROMANIZATION);
+}
+
+/*
+ * Removes special characters (nonalphanumeric) from a UTF-8 string
+ *
+ * This function adds the controlchars 0x00 to 0x19 to the array of
+ * stripped chars (they are not included in $UTF8_SPECIAL_CHARS2)
+ *
+ * @author Andreas Gohr <andi@splitbrain.org>
+ * @param  string $string     The UTF8 string to strip of special chars
+ * @param  string $repl       Replace special with this string
+ * @param  string $additional Additional chars to strip (used in regexp char class)
+ */
+function utf8_stripspecials($string,$repl='',$additional=''){
+  global $UTF8_SPECIAL_CHARS2;
+
+  static $specials = null;
+  if(is_null($specials)){
+    $specials = preg_quote($UTF8_SPECIAL_CHARS2, '/');
+  }
+
+  return preg_replace('/['.$additional.'\x00-\x19'.$specials.']/u',$repl,$string);
+}
+
+/*
+ * added functions - thorn
+ */
+
+/*
+ * faster replacement for utf8_entities_to_umlauts()
+ * not all features of utf8_entities_to_umlauts() --> utf8_unhtml() are supported!
+ * @author thorn
+ */
+function utf8_fast_entities_to_umlauts($str) {
+	if(UTF8_MBSTRING) {
+		// we need this for use with mb_convert_encoding
+		$str = str_replace(array('&amp;','&gt;','&lt;','&quot;','&#039;','&nbsp;'), array('&amp;amp;','&amp;gt;','&amp;lt;','&amp;quot;','&amp;#39;','&amp;nbsp;'), $str);
+		// we need two mb_convert_encoding()-calls - is this a bug?
+		// mb_convert_encoding("Ã¶&ouml;", 'UTF-8', 'HTML-ENTITIES'); // with string in utf-8-encoding doesn't work. Result: "ÃƒÂ¶Ã¶"
+		// Work-around: convert all umlauts to entities first ("Ã¶&ouml;"->"&ouml;&ouml;"), then all entities to umlauts ("&ouml;&ouml;"->"Ã¶Ã¶")
+		return(mb_convert_encoding(mb_convert_encoding($str, 'HTML-ENTITIES', 'UTF-8'),'UTF-8', 'HTML-ENTITIES'));
+	} else {
+		global $named_entities;global $numbered_entities;
+		$str = str_replace($named_entities, $numbered_entities, $str);
+		$str = preg_replace("/&#([0-9]+);/e", "code_to_utf8($1)", $str);
+	}
+	return($str);
+}
+// support-function for utf8_fast_entities_to_umlauts()
+function code_to_utf8($num) {
+	if ($num <= 0x7F) {
+		return chr($num);
+	} elseif ($num <= 0x7FF) {
+		return chr(($num >> 6) + 192) . chr(($num & 63) + 128);
+	} elseif ($num <= 0xFFFF) {
+		 return chr(($num >> 12) + 224) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
+	} elseif ($num <= 0x1FFFFF) {
+		return chr(($num >> 18) + 240) . chr((($num >> 12) & 63) + 128) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
+	}
+	return "?";
+}
+
+/*
+ * faster replacement for utf8_umlauts_to_entities()
+ * not all features of utf8_umlauts_to_entities() --> utf8_tohtml() are supported!
+ * @author thorn
+ */
+function utf8_fast_umlauts_to_entities($string, $named_entities=true) {
+	if(UTF8_MBSTRING)
+		return(mb_convert_encoding($string, 'HTML-ENTITIES', 'UTF-8'));
+	else {
+		global $named_entities;global $numbered_entities;
+		$new = "";
+		$i=0;
+		$len=strlen($string);
+		if($len==0) return $string;
+		do {
+			if(ord($string{$i}) <= 127) $ud = $string{$i++};
+			elseif(ord($string{$i}) <= 223) $ud = (ord($string{$i++})-192)*64 + (ord($string{$i++})-128);
+			elseif(ord($string{$i}) <= 239) $ud = (ord($string{$i++})-224)*4096 + (ord($string{$i++})-128)*64 + (ord($string{$i++})-128);
+			elseif(ord($string{$i}) <= 247) $ud = (ord($string{$i++})-240)*262144 + (ord($string{$i++})-128)*4096 + (ord($string{$i++})-128)*64 + (ord($string{$i++})-128);
+			else $ud = ord($string{$i++}); // error!
+			if($ud > 127) {
+				$new .= "&#$ud;";
+			} else {
+				$new .= $ud;
+			}
+		} while($i < $len);
+		$string = $new;
+		if($named_entities)
+			$string = str_replace($numbered_entities, $named_entities, $string);
+	}
+	return($string);
+}
+
+/*
+ * Converts from various charsets to UTF-8
+ *
+ * Will convert a string from various charsets to UTF-8.
+ * HTML-entities may be converted, too.
+ * In case of error the returned string is unchanged, and a message is emitted.
+ * Supported charsets are:
+ * direct: iso_8859_1 iso_8859_2 iso_8859_3 iso_8859_4 iso_8859_5
+ *         iso_8859_6 iso_8859_7 iso_8859_8 iso_8859_9 iso_8859_10 iso_8859_11
+ * mb_convert_encoding: all wb charsets (except those from 'direct'); but not GB2312
+ * iconv:  all wb charsets (except those from 'direct')
+ *
+ * @param  string  A string in supported encoding
+ * @param  string  The charset to convert from, defaults to DEFAULT_CHARSET
+ * @return string  A string in UTF-8-encoding, with all entities decoded, too.
+ *                 String is unchanged in case of error.
+ * @author thorn
+ */
+function charset_to_utf8($str, $charset_in=DEFAULT_CHARSET, $decode_entities=true) {
+	global $iso_8859_2_to_utf8, $iso_8859_3_to_utf8, $iso_8859_4_to_utf8, $iso_8859_5_to_utf8, $iso_8859_6_to_utf8, $iso_8859_7_to_utf8, $iso_8859_8_to_utf8, $iso_8859_9_to_utf8, $iso_8859_10_to_utf8, $iso_8859_11_to_utf8;
+	$charset_in = strtoupper($charset_in);
+	if ($charset_in == "") { $charset_in = 'UTF-8'; }
+	$wrong_ISO8859 = false;
+	$converted = false;
+
+	if((!function_exists('iconv') && !UTF8_MBSTRING && ($charset_in=='BIG5' || $charset_in=='ISO-2022-JP' || $charset_in=='ISO-2022-KR')) || (!function_exists('iconv') && $charset_in=='GB2312')) {
+		// Nothing we can do here :-(
+		// Charset is one of those obscure ISO-2022... or BIG5, GB2312 or something
+		// and we can't use mb_convert_encoding() or iconv();
+		// Emit an error-message.
+		trigger_error("Can't convert from $charset_in without mb_convert_encoding() or iconv(). Use UTF-8 instead.", E_USER_WARNING);
+		return($str);
+	}
+
+	// check if we have UTF-8 or a plain ASCII string
+	if($charset_in == 'UTF-8' || utf8_isASCII($str)) {
+		// we have utf-8. Just replace HTML-entities and return
+		if($decode_entities && preg_match('/&[#0-9a-zA-Z]+;/',$str))
+			return(utf8_fast_entities_to_umlauts($str));
+		else // nothing to do
+			return($str);
+	}
+	
+	// Convert $str to utf8
+	if(substr($charset_in,0,8) == 'ISO-8859') {
+		switch($charset_in) {
+			case 'ISO-8859-1': $str=utf8_encode($str); break;
+			case 'ISO-8859-2': $str=strtr($str, $iso_8859_2_to_utf8); break;
+			case 'ISO-8859-3': $str=strtr($str, $iso_8859_3_to_utf8); break;
+			case 'ISO-8859-4': $str=strtr($str, $iso_8859_4_to_utf8); break;
+			case 'ISO-8859-5': $str=strtr($str, $iso_8859_5_to_utf8); break;
+			case 'ISO-8859-6': $str=strtr($str, $iso_8859_6_to_utf8); break;
+			case 'ISO-8859-7': $str=strtr($str, $iso_8859_7_to_utf8); break;
+			case 'ISO-8859-8': $str=strtr($str, $iso_8859_8_to_utf8); break;
+			case 'ISO-8859-9': $str=strtr($str, $iso_8859_9_to_utf8); break;
+			case 'ISO-8859-10': $str=strtr($str, $iso_8859_10_to_utf8); break;
+			case 'ISO-8859-11': $str=strtr($str, $iso_8859_11_to_utf8); break;
+			default: $wrong_ISO8859 = true;
+		}
+		if(!$wrong_ISO8859)
+			$converted = true;
+	}
+	if(!$converted && UTF8_MBSTRING && $charset_in != 'GB2312') {
+		// $charset is neither UTF-8 nor a known ISO-8859...
+		// Try mb_convert_encoding() - but there's no GB2312 encoding in php's mb_* functions
+		$str = mb_convert_encoding($str, 'UTF-8', $charset_in);
+		$converted = true;
+	} elseif(!$converted) { // Try iconv
+		if(function_exists('iconv')) {
+			$str = iconv($charset_in, 'UTF-8', $str);
+			$converted = true;
+		}
+	}
+	if($converted) {
+		// we have utf-8, now replace HTML-entities and return
+		if($decode_entities && preg_match('/&[#0-9a-zA-Z]+;/',$str))
+			$str = utf8_fast_entities_to_umlauts($str);
+		return($str);
+	}
+	
+	// Nothing we can do here :-(
+	// Charset is one of those obscure ISO-2022... or BIG5, GB2312 or something
+	// and we can't use mb_convert_encoding() or iconv();
+	// Emit an error-message.
+	trigger_error("Can't convert from $charset_in without mb_convert_encoding() or iconv(). Use UTF-8 instead.", E_USER_WARNING);
+	
+	return $str;
+}
+
+/*
+ * Converts from UTF-8 to various charsets
+ *
+ * Will convert a string from UTF-8 to various charsets.
+ * HTML-entities will not! be converted.
+ * In case of error the returned string is unchanged, and a message is emitted.
+ * Supported charsets are:
+ * direct: iso_8859_1 iso_8859_2 iso_8859_3 iso_8859_4 iso_8859_5
+ *         iso_8859_6 iso_8859_7 iso_8859_8 iso_8859_9 iso_8859_10 iso_8859_11
+ * mb_convert_encoding: all wb charsets (except those from 'direct'); but not GB2312
+ * iconv:  all wb charsets (except those from 'direct')
+ *
+ * @param  string  An UTF-8 encoded string
+ * @param  string  The charset to convert to, defaults to DEFAULT_CHARSET
+ * @return string  A string in a supported encoding, with all entities decoded, too.
+ *                 String is unchanged in case of error.
+ * @author thorn
+ */
+function utf8_to_charset($str, $charset_out=DEFAULT_CHARSET) {
+	global $utf8_to_iso_8859_2, $utf8_to_iso_8859_3, $utf8_to_iso_8859_4, $utf8_to_iso_8859_5, $utf8_to_iso_8859_6, $utf8_to_iso_8859_7, $utf8_to_iso_8859_8, $utf8_to_iso_8859_9, $utf8_to_iso_8859_10, $utf8_to_iso_8859_11;
+	$charset_out = strtoupper($charset_out);
+	$wrong_ISO8859 = false;
+	$converted = false;
+
+	if((!function_exists('iconv') && !UTF8_MBSTRING && ($charset_out=='BIG5' || $charset_out=='ISO-2022-JP' || $charset_out=='ISO-2022-KR')) || (!function_exists('iconv') && $charset_out=='GB2312')) {
+		// Nothing we can do here :-(
+		// Charset is one of those obscure ISO-2022... or BIG5, GB2312 or something
+		// and we can't use mb_convert_encoding() or iconv();
+		// Emit an error-message.
+		trigger_error("Can't convert into $charset_out without mb_convert_encoding() or iconv(). Use UTF-8 instead.", E_USER_WARNING);
+		return($str);
+	}
+	
+	// the string comes from charset_to_utf8(), so we can skip this
+	// replace HTML-entities first
+	//if(preg_match('/&[#0-9a-zA-Z]+;/',$str))
+	//	$str = utf8_entities_to_umlauts($str);
+	
+	// check if we need to convert
+	if($charset_out == 'UTF-8' || utf8_isASCII($str)) {
+		// Nothing to do. Just return
+			return($str);
+	}
+	
+	// Convert $str to $charset_out
+	if(substr($charset_out,0,8) == 'ISO-8859') {
+		switch($charset_out) {
+			case 'ISO-8859-1': $str=utf8_decode($str); break;
+			case 'ISO-8859-2': $str=strtr($str, $utf8_to_iso_8859_2); break;
+			case 'ISO-8859-3': $str=strtr($str, $utf8_to_iso_8859_3); break;
+			case 'ISO-8859-4': $str=strtr($str, $utf8_to_iso_8859_4); break;
+			case 'ISO-8859-5': $str=strtr($str, $utf8_to_iso_8859_5); break;
+			case 'ISO-8859-6': $str=strtr($str, $utf8_to_iso_8859_6); break;
+			case 'ISO-8859-7': $str=strtr($str, $utf8_to_iso_8859_7); break;
+			case 'ISO-8859-8': $str=strtr($str, $utf8_to_iso_8859_8); break;
+			case 'ISO-8859-9': $str=strtr($str, $utf8_to_iso_8859_9); break;
+			case 'ISO-8859-10': $str=strtr($str, $utf8_to_iso_8859_10); break;
+			case 'ISO-8859-11': $str=strtr($str, $utf8_to_iso_8859_11); break;
+			default: $wrong_ISO8859 = true;
+		}
+		if(!$wrong_ISO8859)
+			$converted = true;
+	}
+	if(!$converted && UTF8_MBSTRING && $charset_out != 'GB2312') {
+		// $charset is neither UTF-8 nor a known ISO-8859...
+		// Try mb_convert_encoding() - but there's no GB2312 encoding in php's mb_* functions
+		$str = mb_convert_encoding($str, $charset_out, 'UTF-8');
+		$converted = true;
+	} elseif(!$converted) { // Try iconv
+		if(function_exists('iconv')) {
+			$str = iconv('UTF-8', $charset_out, $str);
+			$converted = true;
+		}
+	}
+	if($converted) {
+		return($str);
+	}
+	
+	// Nothing we can do here :-(
+	// Charset is one of those obscure ISO-2022... or BIG5, GB2312 or something
+	// and we can't use mb_convert_encoding() or iconv();
+	// Emit an error-message.
+	trigger_error("Can't convert into $charset_out without mb_convert_encoding() or iconv(). Use UTF-8 instead.", E_USER_WARNING);
+	
+	return $str;
+}
+
+/*
+ * convert Filenames to ASCII
+ *
+ * Convert all non-ASCII characters and all HTML-entities to their plain 7bit equivalents
+ * Characters without an equivalent will be converted to hex-values.
+ * The name entities_to_7bit() is somewhat misleading, but kept for compatibility-reasons.
+ *
+ * @param  string  Filename to convert (all encodings from charset_to_utf8() are allowed)
+ * @return string  ASCII encoded string, to use as filename in wb's page_filename() and media_filename
+ * @author thorn
+ */
+function entities_to_7bit($str) {
+	// convert to UTF-8
+	$str = charset_to_utf8($str);
+	if(!utf8_check($str))
+		return($str);
+	// replace some specials
+	$str = utf8_stripspecials($str, '_');
+	// translate non-ASCII characters to ASCII
+	$str = utf8_romanize($str);
+	// missed some? - Many UTF-8-chars can't be romanized
+	// convert to HTML-entities, and replace entites by hex-numbers
+	$str = utf8_fast_umlauts_to_entities($str, false);
+	$str = str_replace('&#039;', '&apos;', $str);
+	$str = preg_replace('/&#([0-9]+);/e', "dechex('$1')",  $str);
+	// maybe there are some &gt; &lt; &apos; &quot; &amp; &nbsp; left, replace them too
+	$str = str_replace(array('&gt;', '&lt;', '&apos;', '\'', '&quot;', '&amp;'), '', $str);
+	$str = str_replace('&amp;', '', $str);
+	
+	return($str);
+}
+
+/*
+ * Convert a string from mixed html-entities/umlauts to pure $charset_out-umlauts
+ * 
+ * Will replace all numeric and named entities except
+ * &gt; &lt; &apos; &quot; &#039; &nbsp;
+ * @author thorn
+ */
+function entities_to_umlauts2($string, $charset_out=DEFAULT_CHARSET) {
+	$string = charset_to_utf8($string, DEFAULT_CHARSET, true);
+	//if(utf8_check($string)) // this check is to much time-consuming (this may fail only if AddDefaultCharset is set)
+		$string = utf8_to_charset($string, $charset_out);
+	return ($string);
+}
+
+/*
+ * Convert a string from mixed html-entities/umlauts to pure ASCII with HTML-entities
+ * 
+ * Will convert a string in $charset_in encoding to a pure ASCII string with HTML-entities.
+ * @author thorn
+ */
+function umlauts_to_entities2($string, $charset_in=DEFAULT_CHARSET) {
+	$string = charset_to_utf8($string, $charset_in, false);
+	//if(utf8_check($string)) // this check is to much time-consuming (this may fail only if AddDefaultCharset is set)
+		$string = utf8_fast_umlauts_to_entities($string, false);
+	return($string);
+}
+
+?>

Property changes on: tags/2.8.2/wb/framework/functions-utf8.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/framework/class.order.php
===================================================================
--- tags/2.8.2/wb/framework/class.order.php	(nonexistent)
+++ tags/2.8.2/wb/framework/class.order.php	(revision 1481)
@@ -0,0 +1,156 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+/*
+
+Ordering class
+
+This class will be used to change the order of an item in a table
+which contains a special order field (type must be integer)
+
+*/
+
+// Stop this file from being accessed directly
+if(!defined('WB_URL')) {
+	header('Location: ../index.php');
+	exit(0);
+}
+
+define('ORDERING_CLASS_LOADED', true);
+
+// Load the other required class files if they are not already loaded
+require_once(WB_PATH."/framework/class.database.php");
+
+class order {
+	
+	// Get the db values
+	function order($table, $order_field, $id_field = 'id', $common_field) {
+		$this->table = $table;
+		$this->order_field = $order_field;
+		$this->id_field = $id_field;
+		$this->common_field = $common_field;
+	}
+	
+	// Move a row up
+	function move_up($id) {
+		global $database;
+		// Get current order
+		$query_order = "SELECT ".$this->order_field.",".$this->common_field." FROM ".$this->table." WHERE ".$this->id_field." = '$id'";
+		$get_order = $database->query($query_order);
+		$fetch_order = $get_order->fetchRow();
+		$order = $fetch_order[$this->order_field];
+		$parent = $fetch_order[$this->common_field];
+		// Find out what row is before current one
+		$query_previous = "SELECT ".$this->id_field.",".$this->order_field." FROM ".$this->table." WHERE ".$this->order_field." < '$order' AND ".$this->common_field." = '$parent' ORDER BY ".$this->order_field." DESC LIMIT 1";
+		$get_previous = $database->query($query_previous);
+		if($get_previous->numRows() > 0) {
+			// Change the previous row to the current order
+			$fetch_previous = $get_previous->fetchRow();
+			$previous_id = $fetch_previous[$this->id_field];
+			$decremented_order = $fetch_previous[$this->order_field];
+			$query = "UPDATE ".$this->table." SET ".$this->order_field." = '$order' WHERE ".$this->id_field." = '$previous_id' LIMIT 1";
+			$database->query($query);
+			// Change the row we want to the decremented order
+			$query = "UPDATE ".$this->table." SET ".$this->order_field." = '$decremented_order' WHERE ".$this->id_field." = '$id' LIMIT 1";
+			$database->query($query);
+			
+			if($database->is_error()) {
+				return false;
+			} else {
+				return true;
+			}
+		} else {
+			return false;
+		}
+	}
+	// Move a row up
+	function move_down($id) {
+		global $database;
+		// Get current order
+		$query_order = "SELECT ".$this->order_field.",".$this->common_field." FROM ".$this->table." WHERE ".$this->id_field." = '$id'";
+		$get_order = $database->query($query_order);
+		$fetch_order = $get_order->fetchRow();
+		$order = $fetch_order[$this->order_field];
+		$parent = $fetch_order[$this->common_field];
+		// Find out what row is before current one
+		$query_next = "SELECT $this->id_field,".$this->order_field." FROM ".$this->table." WHERE ".$this->order_field." > '$order' AND ".$this->common_field." = '$parent' ORDER BY ".$this->order_field." ASC LIMIT 1";
+		$get_next = $database->query($query_next);
+		if($get_next->numRows() > 0) {
+			// Change the previous row to the current order
+			$fetch_next = $get_next->fetchRow();
+			$next_id = $fetch_next[$this->id_field];
+			$incremented_order = $fetch_next[$this->order_field];
+			$query = "UPDATE ".$this->table." SET ".$this->order_field." = '$order' WHERE ".$this->id_field." = '$next_id' LIMIT 1";
+			$database->query($query);
+			// Change the row we want to the decremented order
+			$query = "UPDATE ".$this->table." SET ".$this->order_field." = '$incremented_order' WHERE ".$this->id_field." = '$id' LIMIT 1";
+			$database->query($query);
+			if($database->is_error()) {
+				return false;
+			} else {
+				return true;
+			}
+		} else {
+			return false;
+		}
+	}
+	
+	// Get new number for order
+	function get_new($cf_value) {
+		global $database;
+		$database = new database();
+		// Get last order
+		$query_last = "SELECT ".$this->order_field." FROM ".$this->table." WHERE ".$this->common_field." = '$cf_value' ORDER BY ".$this->order_field." DESC LIMIT 1";
+		$get_last = $database->query($query_last);
+		if($get_last->numRows() > 0) {
+			$fetch_last = $get_last->fetchRow();
+			$last_order = $fetch_last[$this->order_field];
+			return $last_order+1;
+		} else {
+			return 1;
+		}
+	}
+	
+	// Clean ordering (should be called if a row in the middle has been deleted)
+	function clean($cf_value) {
+		global $database;
+		// Loop through all records and give new order
+		$query_all = "SELECT * FROM ".$this->table." WHERE ".$this->common_field." = '$cf_value' ORDER BY ".$this->order_field." ASC";
+		$get_all = $database->query($query_all);
+		if($get_all->numRows() > 0) {
+			$count = 1;
+			while($row = $get_all->fetchRow()) {
+				// Update row with new order
+				$database->query("UPDATE ".$this->table." SET ".$this->order_field." = '$count' WHERE ".$this->id_field." = '".$row[$this->id_field]."'");
+				$count = $count+1;
+			}
+		} else {
+			 return true;
+		}
+	}
+	
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/framework/class.order.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/framework/charsets_table.php
===================================================================
--- tags/2.8.2/wb/framework/charsets_table.php	(nonexistent)
+++ tags/2.8.2/wb/framework/charsets_table.php	(revision 1481)
@@ -0,0 +1,1023 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+if(!defined('WB_URL')) {
+	header('Location: ../index.php');
+	exit(0);
+}
+
+global $iso_8859_2_to_utf8;
+$iso_8859_2_to_utf8 = array(
+	"\x80"=>"\xc2\x80","\x81"=>"\xc2\x81","\x82"=>"\xc2\x82","\x83"=>"\xc2\x83","\x84"=>"\xc2\x84","\x85"=>"\xc2\x85","\x86"=>"\xc2\x86","\x87"=>"\xc2\x87",
+	"\x88"=>"\xc2\x88","\x89"=>"\xc2\x89","\x8a"=>"\xc2\x8a","\x8b"=>"\xc2\x8b","\x8c"=>"\xc2\x8c","\x8d"=>"\xc2\x8d","\x8e"=>"\xc2\x8e","\x8f"=>"\xc2\x8f",
+	"\x90"=>"\xc2\x90","\x91"=>"\xc2\x91","\x92"=>"\xc2\x92","\x93"=>"\xc2\x93","\x94"=>"\xc2\x94","\x95"=>"\xc2\x95","\x96"=>"\xc2\x96","\x97"=>"\xc2\x97",
+	"\x98"=>"\xc2\x98","\x99"=>"\xc2\x99","\x9a"=>"\xc2\x9a","\x9b"=>"\xc2\x9b","\x9c"=>"\xc2\x9c","\x9d"=>"\xc2\x9d","\x9e"=>"\xc2\x9e","\x9f"=>"\xc2\x9f",
+	"\xa0"=>"\xc2\xa0","\xa1"=>"\xc4\x84","\xa2"=>"\xcb\x98","\xa3"=>"\xc5\x81","\xa4"=>"\xc2\xa4","\xa5"=>"\xc4\xbd","\xa6"=>"\xc5\x9a","\xa7"=>"\xc2\xa7",
+	"\xa8"=>"\xc2\xa8","\xa9"=>"\xc5\xa0","\xaa"=>"\xc5\x9e","\xab"=>"\xc5\xa4","\xac"=>"\xc5\xb9","\xad"=>"\xc2\xad","\xae"=>"\xc5\xbd","\xaf"=>"\xc5\xbb",
+	"\xb0"=>"\xc2\xb0","\xb1"=>"\xc4\x85","\xb2"=>"\xcb\x9b","\xb3"=>"\xc5\x82","\xb4"=>"\xc2\xb4","\xb5"=>"\xc4\xbe","\xb6"=>"\xc5\x9b","\xb7"=>"\xcb\x87",
+	"\xb8"=>"\xc2\xb8","\xb9"=>"\xc5\xa1","\xba"=>"\xc5\x9f","\xbb"=>"\xc5\xa5","\xbc"=>"\xc5\xba","\xbd"=>"\xcb\x9d","\xbe"=>"\xc5\xbe","\xbf"=>"\xc5\xbc",
+	"\xc0"=>"\xc5\x94","\xc1"=>"\xc3\x81","\xc2"=>"\xc3\x82","\xc3"=>"\xc4\x82","\xc4"=>"\xc3\x84","\xc5"=>"\xc4\xb9","\xc6"=>"\xc4\x86","\xc7"=>"\xc3\x87",
+	"\xc8"=>"\xc4\x8c","\xc9"=>"\xc3\x89","\xca"=>"\xc4\x98","\xcb"=>"\xc3\x8b","\xcc"=>"\xc4\x9a","\xcd"=>"\xc3\x8d","\xce"=>"\xc3\x8e","\xcf"=>"\xc4\x8e",
+	"\xd0"=>"\xc4\x90","\xd1"=>"\xc5\x83","\xd2"=>"\xc5\x87","\xd3"=>"\xc3\x93","\xd4"=>"\xc3\x94","\xd5"=>"\xc5\x90","\xd6"=>"\xc3\x96","\xd7"=>"\xc3\x97",
+	"\xd8"=>"\xc5\x98","\xd9"=>"\xc5\xae","\xda"=>"\xc3\x9a","\xdb"=>"\xc5\xb0","\xdc"=>"\xc3\x9c","\xdd"=>"\xc3\x9d","\xde"=>"\xc5\xa2","\xdf"=>"\xc3\x9f",
+	"\xe0"=>"\xc5\x95","\xe1"=>"\xc3\xa1","\xe2"=>"\xc3\xa2","\xe3"=>"\xc4\x83","\xe4"=>"\xc3\xa4","\xe5"=>"\xc4\xba","\xe6"=>"\xc4\x87","\xe7"=>"\xc3\xa7",
+	"\xe8"=>"\xc4\x8d","\xe9"=>"\xc3\xa9","\xea"=>"\xc4\x99","\xeb"=>"\xc3\xab","\xec"=>"\xc4\x9b","\xed"=>"\xc3\xad","\xee"=>"\xc3\xae","\xef"=>"\xc4\x8f",
+	"\xf0"=>"\xc4\x91","\xf1"=>"\xc5\x84","\xf2"=>"\xc5\x88","\xf3"=>"\xc3\xb3","\xf4"=>"\xc3\xb4","\xf5"=>"\xc5\x91","\xf6"=>"\xc3\xb6","\xf7"=>"\xc3\xb7",
+	"\xf8"=>"\xc5\x99","\xf9"=>"\xc5\xaf","\xfa"=>"\xc3\xba","\xfb"=>"\xc5\xb1","\xfc"=>"\xc3\xbc","\xfd"=>"\xc3\xbd","\xfe"=>"\xc5\xa3","\xff"=>"\xcb\x99"
+);
+global $utf8_to_iso_8859_2;
+$utf8_to_iso_8859_2 = array(
+	"\xc2\x80"=>"\x80","\xc2\x81"=>"\x81","\xc2\x82"=>"\x82","\xc2\x83"=>"\x83","\xc2\x84"=>"\x84","\xc2\x85"=>"\x85","\xc2\x86"=>"\x86","\xc2\x87"=>"\x87",
+	"\xc2\x88"=>"\x88","\xc2\x89"=>"\x89","\xc2\x8a"=>"\x8a","\xc2\x8b"=>"\x8b","\xc2\x8c"=>"\x8c","\xc2\x8d"=>"\x8d","\xc2\x8e"=>"\x8e","\xc2\x8f"=>"\x8f",
+	"\xc2\x90"=>"\x90","\xc2\x91"=>"\x91","\xc2\x92"=>"\x92","\xc2\x93"=>"\x93","\xc2\x94"=>"\x94","\xc2\x95"=>"\x95","\xc2\x96"=>"\x96","\xc2\x97"=>"\x97",
+	"\xc2\x98"=>"\x98","\xc2\x99"=>"\x99","\xc2\x9a"=>"\x9a","\xc2\x9b"=>"\x9b","\xc2\x9c"=>"\x9c","\xc2\x9d"=>"\x9d","\xc2\x9e"=>"\x9e","\xc2\x9f"=>"\x9f",
+	"\xc2\xa0"=>"\xa0","\xc4\x84"=>"\xa1","\xcb\x98"=>"\xa2","\xc5\x81"=>"\xa3","\xc2\xa4"=>"\xa4","\xc4\xbd"=>"\xa5","\xc5\x9a"=>"\xa6","\xc2\xa7"=>"\xa7",
+	"\xc2\xa8"=>"\xa8","\xc5\xa0"=>"\xa9","\xc5\x9e"=>"\xaa","\xc5\xa4"=>"\xab","\xc5\xb9"=>"\xac","\xc2\xad"=>"\xad","\xc5\xbd"=>"\xae","\xc5\xbb"=>"\xaf",
+	"\xc2\xb0"=>"\xb0","\xc4\x85"=>"\xb1","\xcb\x9b"=>"\xb2","\xc5\x82"=>"\xb3","\xc2\xb4"=>"\xb4","\xc4\xbe"=>"\xb5","\xc5\x9b"=>"\xb6","\xcb\x87"=>"\xb7",
+	"\xc2\xb8"=>"\xb8","\xc5\xa1"=>"\xb9","\xc5\x9f"=>"\xba","\xc5\xa5"=>"\xbb","\xc5\xba"=>"\xbc","\xcb\x9d"=>"\xbd","\xc5\xbe"=>"\xbe","\xc5\xbc"=>"\xbf",
+	"\xc5\x94"=>"\xc0","\xc3\x81"=>"\xc1","\xc3\x82"=>"\xc2","\xc4\x82"=>"\xc3","\xc3\x84"=>"\xc4","\xc4\xb9"=>"\xc5","\xc4\x86"=>"\xc6","\xc3\x87"=>"\xc7",
+	"\xc4\x8c"=>"\xc8","\xc3\x89"=>"\xc9","\xc4\x98"=>"\xca","\xc3\x8b"=>"\xcb","\xc4\x9a"=>"\xcc","\xc3\x8d"=>"\xcd","\xc3\x8e"=>"\xce","\xc4\x8e"=>"\xcf",
+	"\xc4\x90"=>"\xd0","\xc5\x83"=>"\xd1","\xc5\x87"=>"\xd2","\xc3\x93"=>"\xd3","\xc3\x94"=>"\xd4","\xc5\x90"=>"\xd5","\xc3\x96"=>"\xd6","\xc3\x97"=>"\xd7",
+	"\xc5\x98"=>"\xd8","\xc5\xae"=>"\xd9","\xc3\x9a"=>"\xda","\xc5\xb0"=>"\xdb","\xc3\x9c"=>"\xdc","\xc3\x9d"=>"\xdd","\xc5\xa2"=>"\xde","\xc3\x9f"=>"\xdf",
+	"\xc5\x95"=>"\xe0","\xc3\xa1"=>"\xe1","\xc3\xa2"=>"\xe2","\xc4\x83"=>"\xe3","\xc3\xa4"=>"\xe4","\xc4\xba"=>"\xe5","\xc4\x87"=>"\xe6","\xc3\xa7"=>"\xe7",
+	"\xc4\x8d"=>"\xe8","\xc3\xa9"=>"\xe9","\xc4\x99"=>"\xea","\xc3\xab"=>"\xeb","\xc4\x9b"=>"\xec","\xc3\xad"=>"\xed","\xc3\xae"=>"\xee","\xc4\x8f"=>"\xef",
+	"\xc4\x91"=>"\xf0","\xc5\x84"=>"\xf1","\xc5\x88"=>"\xf2","\xc3\xb3"=>"\xf3","\xc3\xb4"=>"\xf4","\xc5\x91"=>"\xf5","\xc3\xb6"=>"\xf6","\xc3\xb7"=>"\xf7",
+	"\xc5\x99"=>"\xf8","\xc5\xaf"=>"\xf9","\xc3\xba"=>"\xfa","\xc5\xb1"=>"\xfb","\xc3\xbc"=>"\xfc","\xc3\xbd"=>"\xfd","\xc5\xa3"=>"\xfe","\xcb\x99"=>"\xff"
+);
+global $iso_8859_3_to_utf8;
+$iso_8859_3_to_utf8 = array(
+	"\x80"=>"\xc2\x80","\x81"=>"\xc2\x81","\x82"=>"\xc2\x82","\x83"=>"\xc2\x83","\x84"=>"\xc2\x84","\x85"=>"\xc2\x85","\x86"=>"\xc2\x86","\x87"=>"\xc2\x87",
+	"\x88"=>"\xc2\x88","\x89"=>"\xc2\x89","\x8a"=>"\xc2\x8a","\x8b"=>"\xc2\x8b","\x8c"=>"\xc2\x8c","\x8d"=>"\xc2\x8d","\x8e"=>"\xc2\x8e","\x8f"=>"\xc2\x8f",
+	"\x90"=>"\xc2\x90","\x91"=>"\xc2\x91","\x92"=>"\xc2\x92","\x93"=>"\xc2\x93","\x94"=>"\xc2\x94","\x95"=>"\xc2\x95","\x96"=>"\xc2\x96","\x97"=>"\xc2\x97",
+	"\x98"=>"\xc2\x98","\x99"=>"\xc2\x99","\x9a"=>"\xc2\x9a","\x9b"=>"\xc2\x9b","\x9c"=>"\xc2\x9c","\x9d"=>"\xc2\x9d","\x9e"=>"\xc2\x9e","\x9f"=>"\xc2\x9f",
+	"\xa0"=>"\xc2\xa0","\xa1"=>"\xc4\xa6","\xa2"=>"\xcb\x98","\xa3"=>"\xc2\xa3","\xa4"=>"\xc2\xa4","\xa5"=>"\xc4\xa8","\xa6"=>"\xc4\xa4","\xa7"=>"\xc2\xa7",
+	"\xa8"=>"\xc2\xa8","\xa9"=>"\xc4\xb0","\xaa"=>"\xc5\x9e","\xab"=>"\xc4\x9e","\xac"=>"\xc4\xb4","\xad"=>"\xc2\xad","\xaf"=>"\xc5\xbb","\xb0"=>"\xc2\xb0",
+	"\xb1"=>"\xc4\xa7","\xb2"=>"\xc2\xb2","\xb3"=>"\xc2\xb3","\xb4"=>"\xc2\xb4","\xb5"=>"\xc2\xb5","\xb6"=>"\xc4\xa5","\xb7"=>"\xc2\xb7","\xb8"=>"\xc2\xb8",
+	"\xb9"=>"\xc4\xb1","\xba"=>"\xc5\x9f","\xbb"=>"\xc4\x9f","\xbc"=>"\xc4\xb5","\xbd"=>"\xc2\xbd","\xbf"=>"\xc5\xbc","\xc0"=>"\xc3\x80","\xc1"=>"\xc3\x81",
+	"\xc2"=>"\xc3\x82","\xc4"=>"\xc3\x84","\xc5"=>"\xc4\x8a","\xc6"=>"\xc4\x88","\xc7"=>"\xc3\x87","\xc8"=>"\xc3\x88","\xc9"=>"\xc3\x89","\xca"=>"\xc3\x8a",
+	"\xcb"=>"\xc3\x8b","\xcc"=>"\xc3\x8c","\xcd"=>"\xc3\x8d","\xce"=>"\xc3\x8e","\xcf"=>"\xc3\x8f","\xd1"=>"\xc3\x91","\xd2"=>"\xc3\x92","\xd3"=>"\xc3\x93",
+	"\xd4"=>"\xc3\x94","\xd5"=>"\xc4\xa0","\xd6"=>"\xc3\x96","\xd7"=>"\xc3\x97","\xd8"=>"\xc4\x9c","\xd9"=>"\xc3\x99","\xda"=>"\xc3\x9a","\xdb"=>"\xc3\x9b",
+	"\xdc"=>"\xc3\x9c","\xdd"=>"\xc5\xac","\xde"=>"\xc5\x9c","\xdf"=>"\xc3\x9f","\xe0"=>"\xc3\xa0","\xe1"=>"\xc3\xa1","\xe2"=>"\xc3\xa2","\xe4"=>"\xc3\xa4",
+	"\xe5"=>"\xc4\x8b","\xe6"=>"\xc4\x89","\xe7"=>"\xc3\xa7","\xe8"=>"\xc3\xa8","\xe9"=>"\xc3\xa9","\xea"=>"\xc3\xaa","\xeb"=>"\xc3\xab","\xec"=>"\xc3\xac",
+	"\xed"=>"\xc3\xad","\xee"=>"\xc3\xae","\xef"=>"\xc3\xaf","\xf1"=>"\xc3\xb1","\xf2"=>"\xc3\xb2","\xf3"=>"\xc3\xb3","\xf4"=>"\xc3\xb4","\xf5"=>"\xc4\xa1",
+	"\xf6"=>"\xc3\xb6","\xf7"=>"\xc3\xb7","\xf8"=>"\xc4\x9d","\xf9"=>"\xc3\xb9","\xfa"=>"\xc3\xba","\xfb"=>"\xc3\xbb","\xfc"=>"\xc3\xbc","\xfd"=>"\xc5\xad",
+	"\xfe"=>"\xc5\x9d","\xff"=>"\xcb\x99"
+);
+global $utf8_to_iso_8859_3;
+$utf8_to_iso_8859_3 = array(
+	"\xc2\x80"=>"\x80","\xc2\x81"=>"\x81","\xc2\x82"=>"\x82","\xc2\x83"=>"\x83","\xc2\x84"=>"\x84","\xc2\x85"=>"\x85","\xc2\x86"=>"\x86","\xc2\x87"=>"\x87",
+	"\xc2\x88"=>"\x88","\xc2\x89"=>"\x89","\xc2\x8a"=>"\x8a","\xc2\x8b"=>"\x8b","\xc2\x8c"=>"\x8c","\xc2\x8d"=>"\x8d","\xc2\x8e"=>"\x8e","\xc2\x8f"=>"\x8f",
+	"\xc2\x90"=>"\x90","\xc2\x91"=>"\x91","\xc2\x92"=>"\x92","\xc2\x93"=>"\x93","\xc2\x94"=>"\x94","\xc2\x95"=>"\x95","\xc2\x96"=>"\x96","\xc2\x97"=>"\x97",
+	"\xc2\x98"=>"\x98","\xc2\x99"=>"\x99","\xc2\x9a"=>"\x9a","\xc2\x9b"=>"\x9b","\xc2\x9c"=>"\x9c","\xc2\x9d"=>"\x9d","\xc2\x9e"=>"\x9e","\xc2\x9f"=>"\x9f",
+	"\xc2\xa0"=>"\xa0","\xc4\xa6"=>"\xa1","\xcb\x98"=>"\xa2","\xc2\xa3"=>"\xa3","\xc2\xa4"=>"\xa4","\xc4\xa8"=>"\xa5","\xc4\xa4"=>"\xa6","\xc2\xa7"=>"\xa7",
+	"\xc2\xa8"=>"\xa8","\xc4\xb0"=>"\xa9","\xc5\x9e"=>"\xaa","\xc4\x9e"=>"\xab","\xc4\xb4"=>"\xac","\xc2\xad"=>"\xad","\xc5\xbb"=>"\xaf","\xc2\xb0"=>"\xb0",
+	"\xc4\xa7"=>"\xb1","\xc2\xb2"=>"\xb2","\xc2\xb3"=>"\xb3","\xc2\xb4"=>"\xb4","\xc2\xb5"=>"\xb5","\xc4\xa5"=>"\xb6","\xc2\xb7"=>"\xb7","\xc2\xb8"=>"\xb8",
+	"\xc4\xb1"=>"\xb9","\xc5\x9f"=>"\xba","\xc4\x9f"=>"\xbb","\xc4\xb5"=>"\xbc","\xc2\xbd"=>"\xbd","\xc5\xbc"=>"\xbf","\xc3\x80"=>"\xc0","\xc3\x81"=>"\xc1",
+	"\xc3\x82"=>"\xc2","\xc3\x84"=>"\xc4","\xc4\x8a"=>"\xc5","\xc4\x88"=>"\xc6","\xc3\x87"=>"\xc7","\xc3\x88"=>"\xc8","\xc3\x89"=>"\xc9","\xc3\x8a"=>"\xca",
+	"\xc3\x8b"=>"\xcb","\xc3\x8c"=>"\xcc","\xc3\x8d"=>"\xcd","\xc3\x8e"=>"\xce","\xc3\x8f"=>"\xcf","\xc3\x91"=>"\xd1","\xc3\x92"=>"\xd2","\xc3\x93"=>"\xd3",
+	"\xc3\x94"=>"\xd4","\xc4\xa0"=>"\xd5","\xc3\x96"=>"\xd6","\xc3\x97"=>"\xd7","\xc4\x9c"=>"\xd8","\xc3\x99"=>"\xd9","\xc3\x9a"=>"\xda","\xc3\x9b"=>"\xdb",
+	"\xc3\x9c"=>"\xdc","\xc5\xac"=>"\xdd","\xc5\x9c"=>"\xde","\xc3\x9f"=>"\xdf","\xc3\xa0"=>"\xe0","\xc3\xa1"=>"\xe1","\xc3\xa2"=>"\xe2","\xc3\xa4"=>"\xe4",
+	"\xc4\x8b"=>"\xe5","\xc4\x89"=>"\xe6","\xc3\xa7"=>"\xe7","\xc3\xa8"=>"\xe8","\xc3\xa9"=>"\xe9","\xc3\xaa"=>"\xea","\xc3\xab"=>"\xeb","\xc3\xac"=>"\xec",
+	"\xc3\xad"=>"\xed","\xc3\xae"=>"\xee","\xc3\xaf"=>"\xef","\xc3\xb1"=>"\xf1","\xc3\xb2"=>"\xf2","\xc3\xb3"=>"\xf3","\xc3\xb4"=>"\xf4","\xc4\xa1"=>"\xf5",
+	"\xc3\xb6"=>"\xf6","\xc3\xb7"=>"\xf7","\xc4\x9d"=>"\xf8","\xc3\xb9"=>"\xf9","\xc3\xba"=>"\xfa","\xc3\xbb"=>"\xfb","\xc3\xbc"=>"\xfc","\xc5\xad"=>"\xfd",
+	"\xc5\x9d"=>"\xfe","\xcb\x99"=>"\xff"
+);
+global $iso_8859_4_to_utf8;
+$iso_8859_4_to_utf8 = array(
+	"\x80"=>"\xc2\x80","\x81"=>"\xc2\x81","\x82"=>"\xc2\x82","\x83"=>"\xc2\x83","\x84"=>"\xc2\x84","\x85"=>"\xc2\x85","\x86"=>"\xc2\x86","\x87"=>"\xc2\x87",
+	"\x88"=>"\xc2\x88","\x89"=>"\xc2\x89","\x8a"=>"\xc2\x8a","\x8b"=>"\xc2\x8b","\x8c"=>"\xc2\x8c","\x8d"=>"\xc2\x8d","\x8e"=>"\xc2\x8e","\x8f"=>"\xc2\x8f",
+	"\x90"=>"\xc2\x90","\x91"=>"\xc2\x91","\x92"=>"\xc2\x92","\x93"=>"\xc2\x93","\x94"=>"\xc2\x94","\x95"=>"\xc2\x95","\x96"=>"\xc2\x96","\x97"=>"\xc2\x97",
+	"\x98"=>"\xc2\x98","\x99"=>"\xc2\x99","\x9a"=>"\xc2\x9a","\x9b"=>"\xc2\x9b","\x9c"=>"\xc2\x9c","\x9d"=>"\xc2\x9d","\x9e"=>"\xc2\x9e","\x9f"=>"\xc2\x9f",
+	"\xa0"=>"\xc2\xa0","\xa1"=>"\xc4\x84","\xa2"=>"\xc4\xb8","\xa3"=>"\xc5\x96","\xa4"=>"\xc2\xa4","\xa5"=>"\xc4\xa8","\xa6"=>"\xc4\xbb","\xa7"=>"\xc2\xa7",
+	"\xa8"=>"\xc2\xa8","\xa9"=>"\xc5\xa0","\xaa"=>"\xc4\x92","\xab"=>"\xc4\xa2","\xac"=>"\xc5\xa6","\xad"=>"\xc2\xad","\xae"=>"\xc5\xbd","\xaf"=>"\xc2\xaf",
+	"\xb0"=>"\xc2\xb0","\xb1"=>"\xc4\x85","\xb2"=>"\xcb\x9b","\xb3"=>"\xc5\x97","\xb4"=>"\xc2\xb4","\xb5"=>"\xc4\xa9","\xb6"=>"\xc4\xbc","\xb7"=>"\xcb\x87",
+	"\xb8"=>"\xc2\xb8","\xb9"=>"\xc5\xa1","\xba"=>"\xc4\x93","\xbb"=>"\xc4\xa3","\xbc"=>"\xc5\xa7","\xbd"=>"\xc5\x8a","\xbe"=>"\xc5\xbe","\xbf"=>"\xc5\x8b",
+	"\xc0"=>"\xc4\x80","\xc1"=>"\xc3\x81","\xc2"=>"\xc3\x82","\xc3"=>"\xc3\x83","\xc4"=>"\xc3\x84","\xc5"=>"\xc3\x85","\xc6"=>"\xc3\x86","\xc7"=>"\xc4\xae",
+	"\xc8"=>"\xc4\x8c","\xc9"=>"\xc3\x89","\xca"=>"\xc4\x98","\xcb"=>"\xc3\x8b","\xcc"=>"\xc4\x96","\xcd"=>"\xc3\x8d","\xce"=>"\xc3\x8e","\xcf"=>"\xc4\xaa",
+	"\xd0"=>"\xc4\x90","\xd1"=>"\xc5\x85","\xd2"=>"\xc5\x8c","\xd3"=>"\xc4\xb6","\xd4"=>"\xc3\x94","\xd5"=>"\xc3\x95","\xd6"=>"\xc3\x96","\xd7"=>"\xc3\x97",
+	"\xd8"=>"\xc3\x98","\xd9"=>"\xc5\xb2","\xda"=>"\xc3\x9a","\xdb"=>"\xc3\x9b","\xdc"=>"\xc3\x9c","\xdd"=>"\xc5\xa8","\xde"=>"\xc5\xaa","\xdf"=>"\xc3\x9f",
+	"\xe0"=>"\xc4\x81","\xe1"=>"\xc3\xa1","\xe2"=>"\xc3\xa2","\xe3"=>"\xc3\xa3","\xe4"=>"\xc3\xa4","\xe5"=>"\xc3\xa5","\xe6"=>"\xc3\xa6","\xe7"=>"\xc4\xaf",
+	"\xe8"=>"\xc4\x8d","\xe9"=>"\xc3\xa9","\xea"=>"\xc4\x99","\xeb"=>"\xc3\xab","\xec"=>"\xc4\x97","\xed"=>"\xc3\xad","\xee"=>"\xc3\xae","\xef"=>"\xc4\xab",
+	"\xf0"=>"\xc4\x91","\xf1"=>"\xc5\x86","\xf2"=>"\xc5\x8d","\xf3"=>"\xc4\xb7","\xf4"=>"\xc3\xb4","\xf5"=>"\xc3\xb5","\xf6"=>"\xc3\xb6","\xf7"=>"\xc3\xb7",
+	"\xf8"=>"\xc3\xb8","\xf9"=>"\xc5\xb3","\xfa"=>"\xc3\xba","\xfb"=>"\xc3\xbb","\xfc"=>"\xc3\xbc","\xfd"=>"\xc5\xa9","\xfe"=>"\xc5\xab","\xff"=>"\xcb\x99"
+);
+global $utf8_to_iso_8859_4;
+$utf8_to_iso_8859_4 = array(
+	"\xc2\x80"=>"\x80","\xc2\x81"=>"\x81","\xc2\x82"=>"\x82","\xc2\x83"=>"\x83","\xc2\x84"=>"\x84","\xc2\x85"=>"\x85","\xc2\x86"=>"\x86","\xc2\x87"=>"\x87",
+	"\xc2\x88"=>"\x88","\xc2\x89"=>"\x89","\xc2\x8a"=>"\x8a","\xc2\x8b"=>"\x8b","\xc2\x8c"=>"\x8c","\xc2\x8d"=>"\x8d","\xc2\x8e"=>"\x8e","\xc2\x8f"=>"\x8f",
+	"\xc2\x90"=>"\x90","\xc2\x91"=>"\x91","\xc2\x92"=>"\x92","\xc2\x93"=>"\x93","\xc2\x94"=>"\x94","\xc2\x95"=>"\x95","\xc2\x96"=>"\x96","\xc2\x97"=>"\x97",
+	"\xc2\x98"=>"\x98","\xc2\x99"=>"\x99","\xc2\x9a"=>"\x9a","\xc2\x9b"=>"\x9b","\xc2\x9c"=>"\x9c","\xc2\x9d"=>"\x9d","\xc2\x9e"=>"\x9e","\xc2\x9f"=>"\x9f",
+	"\xc2\xa0"=>"\xa0","\xc4\x84"=>"\xa1","\xc4\xb8"=>"\xa2","\xc5\x96"=>"\xa3","\xc2\xa4"=>"\xa4","\xc4\xa8"=>"\xa5","\xc4\xbb"=>"\xa6","\xc2\xa7"=>"\xa7",
+	"\xc2\xa8"=>"\xa8","\xc5\xa0"=>"\xa9","\xc4\x92"=>"\xaa","\xc4\xa2"=>"\xab","\xc5\xa6"=>"\xac","\xc2\xad"=>"\xad","\xc5\xbd"=>"\xae","\xc2\xaf"=>"\xaf",
+	"\xc2\xb0"=>"\xb0","\xc4\x85"=>"\xb1","\xcb\x9b"=>"\xb2","\xc5\x97"=>"\xb3","\xc2\xb4"=>"\xb4","\xc4\xa9"=>"\xb5","\xc4\xbc"=>"\xb6","\xcb\x87"=>"\xb7",
+	"\xc2\xb8"=>"\xb8","\xc5\xa1"=>"\xb9","\xc4\x93"=>"\xba","\xc4\xa3"=>"\xbb","\xc5\xa7"=>"\xbc","\xc5\x8a"=>"\xbd","\xc5\xbe"=>"\xbe","\xc5\x8b"=>"\xbf",
+	"\xc4\x80"=>"\xc0","\xc3\x81"=>"\xc1","\xc3\x82"=>"\xc2","\xc3\x83"=>"\xc3","\xc3\x84"=>"\xc4","\xc3\x85"=>"\xc5","\xc3\x86"=>"\xc6","\xc4\xae"=>"\xc7",
+	"\xc4\x8c"=>"\xc8","\xc3\x89"=>"\xc9","\xc4\x98"=>"\xca","\xc3\x8b"=>"\xcb","\xc4\x96"=>"\xcc","\xc3\x8d"=>"\xcd","\xc3\x8e"=>"\xce","\xc4\xaa"=>"\xcf",
+	"\xc4\x90"=>"\xd0","\xc5\x85"=>"\xd1","\xc5\x8c"=>"\xd2","\xc4\xb6"=>"\xd3","\xc3\x94"=>"\xd4","\xc3\x95"=>"\xd5","\xc3\x96"=>"\xd6","\xc3\x97"=>"\xd7",
+	"\xc3\x98"=>"\xd8","\xc5\xb2"=>"\xd9","\xc3\x9a"=>"\xda","\xc3\x9b"=>"\xdb","\xc3\x9c"=>"\xdc","\xc5\xa8"=>"\xdd","\xc5\xaa"=>"\xde","\xc3\x9f"=>"\xdf",
+	"\xc4\x81"=>"\xe0","\xc3\xa1"=>"\xe1","\xc3\xa2"=>"\xe2","\xc3\xa3"=>"\xe3","\xc3\xa4"=>"\xe4","\xc3\xa5"=>"\xe5","\xc3\xa6"=>"\xe6","\xc4\xaf"=>"\xe7",
+	"\xc4\x8d"=>"\xe8","\xc3\xa9"=>"\xe9","\xc4\x99"=>"\xea","\xc3\xab"=>"\xeb","\xc4\x97"=>"\xec","\xc3\xad"=>"\xed","\xc3\xae"=>"\xee","\xc4\xab"=>"\xef",
+	"\xc4\x91"=>"\xf0","\xc5\x86"=>"\xf1","\xc5\x8d"=>"\xf2","\xc4\xb7"=>"\xf3","\xc3\xb4"=>"\xf4","\xc3\xb5"=>"\xf5","\xc3\xb6"=>"\xf6","\xc3\xb7"=>"\xf7",
+	"\xc3\xb8"=>"\xf8","\xc5\xb3"=>"\xf9","\xc3\xba"=>"\xfa","\xc3\xbb"=>"\xfb","\xc3\xbc"=>"\xfc","\xc5\xa9"=>"\xfd","\xc5\xab"=>"\xfe","\xcb\x99"=>"\xff"
+);
+
+global $iso_8859_5_to_utf8;
+$iso_8859_5_to_utf8 = array(
+	"\x80"=>"\xc2\x80","\x81"=>"\xc2\x81","\x82"=>"\xc2\x82","\x83"=>"\xc2\x83","\x84"=>"\xc2\x84","\x85"=>"\xc2\x85","\x86"=>"\xc2\x86","\x87"=>"\xc2\x87",
+	"\x88"=>"\xc2\x88","\x89"=>"\xc2\x89","\x8a"=>"\xc2\x8a","\x8b"=>"\xc2\x8b","\x8c"=>"\xc2\x8c","\x8d"=>"\xc2\x8d","\x8e"=>"\xc2\x8e","\x8f"=>"\xc2\x8f",
+	"\x90"=>"\xc2\x90","\x91"=>"\xc2\x91","\x92"=>"\xc2\x92","\x93"=>"\xc2\x93","\x94"=>"\xc2\x94","\x95"=>"\xc2\x95","\x96"=>"\xc2\x96","\x97"=>"\xc2\x97",
+	"\x98"=>"\xc2\x98","\x99"=>"\xc2\x99","\x9a"=>"\xc2\x9a","\x9b"=>"\xc2\x9b","\x9c"=>"\xc2\x9c","\x9d"=>"\xc2\x9d","\x9e"=>"\xc2\x9e","\x9f"=>"\xc2\x9f",
+	"\xa0"=>"\xc2\xa0","\xa1"=>"\xd0\x81","\xa2"=>"\xd0\x82","\xa3"=>"\xd0\x83","\xa4"=>"\xd0\x84","\xa5"=>"\xd0\x85","\xa6"=>"\xd0\x86","\xa7"=>"\xd0\x87",
+	"\xa8"=>"\xd0\x88","\xa9"=>"\xd0\x89","\xaa"=>"\xd0\x8a","\xab"=>"\xd0\x8b","\xac"=>"\xd0\x8c","\xad"=>"\xc2\xad","\xae"=>"\xd0\x8e","\xaf"=>"\xd0\x8f",
+	"\xb0"=>"\xd0\x90","\xb1"=>"\xd0\x91","\xb2"=>"\xd0\x92","\xb3"=>"\xd0\x93","\xb4"=>"\xd0\x94","\xb5"=>"\xd0\x95","\xb6"=>"\xd0\x96","\xb7"=>"\xd0\x97",
+	"\xb8"=>"\xd0\x98","\xb9"=>"\xd0\x99","\xba"=>"\xd0\x9a","\xbb"=>"\xd0\x9b","\xbc"=>"\xd0\x9c","\xbd"=>"\xd0\x9d","\xbe"=>"\xd0\x9e","\xbf"=>"\xd0\x9f",
+	"\xc0"=>"\xd0\xa0","\xc1"=>"\xd0\xa1","\xc2"=>"\xd0\xa2","\xc3"=>"\xd0\xa3","\xc4"=>"\xd0\xa4","\xc5"=>"\xd0\xa5","\xc6"=>"\xd0\xa6","\xc7"=>"\xd0\xa7",
+	"\xc8"=>"\xd0\xa8","\xc9"=>"\xd0\xa9","\xca"=>"\xd0\xaa","\xcb"=>"\xd0\xab","\xcc"=>"\xd0\xac","\xcd"=>"\xd0\xad","\xce"=>"\xd0\xae","\xcf"=>"\xd0\xaf",
+	"\xd0"=>"\xd0\xb0","\xd1"=>"\xd0\xb1","\xd2"=>"\xd0\xb2","\xd3"=>"\xd0\xb3","\xd4"=>"\xd0\xb4","\xd5"=>"\xd0\xb5","\xd6"=>"\xd0\xb6","\xd7"=>"\xd0\xb7",
+	"\xd8"=>"\xd0\xb8","\xd9"=>"\xd0\xb9","\xda"=>"\xd0\xba","\xdb"=>"\xd0\xbb","\xdc"=>"\xd0\xbc","\xdd"=>"\xd0\xbd","\xde"=>"\xd0\xbe","\xdf"=>"\xd0\xbf",
+	"\xe0"=>"\xd1\x80","\xe1"=>"\xd1\x81","\xe2"=>"\xd1\x82","\xe3"=>"\xd1\x83","\xe4"=>"\xd1\x84","\xe5"=>"\xd1\x85","\xe6"=>"\xd1\x86","\xe7"=>"\xd1\x87",
+	"\xe8"=>"\xd1\x88","\xe9"=>"\xd1\x89","\xea"=>"\xd1\x8a","\xeb"=>"\xd1\x8b","\xec"=>"\xd1\x8c","\xed"=>"\xd1\x8d","\xee"=>"\xd1\x8e","\xef"=>"\xd1\x8f",
+	"\xf0"=>"\xe2\x84\x96","\xf1"=>"\xd1\x91","\xf2"=>"\xd1\x92","\xf3"=>"\xd1\x93","\xf4"=>"\xd1\x94","\xf5"=>"\xd1\x95","\xf6"=>"\xd1\x96","\xf7"=>"\xd1\x97",
+	"\xf8"=>"\xd1\x98","\xf9"=>"\xd1\x99","\xfa"=>"\xd1\x9a","\xfb"=>"\xd1\x9b","\xfc"=>"\xd1\x9c","\xfd"=>"\xc2\xa7","\xfe"=>"\xd1\x9e","\xff"=>"\xd1\x9f"
+);
+
+global $utf8_to_iso_8859_5;
+$utf8_to_iso_8859_5 = array(
+	"\xc2\x80"=>"\x80","\xc2\x81"=>"\x81","\xc2\x82"=>"\x82","\xc2\x83"=>"\x83","\xc2\x84"=>"\x84","\xc2\x85"=>"\x85","\xc2\x86"=>"\x86","\xc2\x87"=>"\x87",
+	"\xc2\x88"=>"\x88","\xc2\x89"=>"\x89","\xc2\x8a"=>"\x8a","\xc2\x8b"=>"\x8b","\xc2\x8c"=>"\x8c","\xc2\x8d"=>"\x8d","\xc2\x8e"=>"\x8e","\xc2\x8f"=>"\x8f",
+	"\xc2\x90"=>"\x90","\xc2\x91"=>"\x91","\xc2\x92"=>"\x92","\xc2\x93"=>"\x93","\xc2\x94"=>"\x94","\xc2\x95"=>"\x95","\xc2\x96"=>"\x96","\xc2\x97"=>"\x97",
+	"\xc2\x98"=>"\x98","\xc2\x99"=>"\x99","\xc2\x9a"=>"\x9a","\xc2\x9b"=>"\x9b","\xc2\x9c"=>"\x9c","\xc2\x9d"=>"\x9d","\xc2\x9e"=>"\x9e","\xc2\x9f"=>"\x9f",
+	"\xc2\xa0"=>"\xa0","\xd0\x81"=>"\xa1","\xd0\x82"=>"\xa2","\xd0\x83"=>"\xa3","\xd0\x84"=>"\xa4","\xd0\x85"=>"\xa5","\xd0\x86"=>"\xa6","\xd0\x87"=>"\xa7",
+	"\xd0\x88"=>"\xa8","\xd0\x89"=>"\xa9","\xd0\x8a"=>"\xaa","\xd0\x8b"=>"\xab","\xd0\x8c"=>"\xac","\xc2\xad"=>"\xad","\xd0\x8e"=>"\xae","\xd0\x8f"=>"\xaf",
+	"\xd0\x90"=>"\xb0","\xd0\x91"=>"\xb1","\xd0\x92"=>"\xb2","\xd0\x93"=>"\xb3","\xd0\x94"=>"\xb4","\xd0\x95"=>"\xb5","\xd0\x96"=>"\xb6","\xd0\x97"=>"\xb7",
+	"\xd0\x98"=>"\xb8","\xd0\x99"=>"\xb9","\xd0\x9a"=>"\xba","\xd0\x9b"=>"\xbb","\xd0\x9c"=>"\xbc","\xd0\x9d"=>"\xbd","\xd0\x9e"=>"\xbe","\xd0\x9f"=>"\xbf",
+	"\xd0\xa0"=>"\xc0","\xd0\xa1"=>"\xc1","\xd0\xa2"=>"\xc2","\xd0\xa3"=>"\xc3","\xd0\xa4"=>"\xc4","\xd0\xa5"=>"\xc5","\xd0\xa6"=>"\xc6","\xd0\xa7"=>"\xc7",
+	"\xd0\xa8"=>"\xc8","\xd0\xa9"=>"\xc9","\xd0\xaa"=>"\xca","\xd0\xab"=>"\xcb","\xd0\xac"=>"\xcc","\xd0\xad"=>"\xcd","\xd0\xae"=>"\xce","\xd0\xaf"=>"\xcf",
+	"\xd0\xb0"=>"\xd0","\xd0\xb1"=>"\xd1","\xd0\xb2"=>"\xd2","\xd0\xb3"=>"\xd3","\xd0\xb4"=>"\xd4","\xd0\xb5"=>"\xd5","\xd0\xb6"=>"\xd6","\xd0\xb7"=>"\xd7",
+	"\xd0\xb8"=>"\xd8","\xd0\xb9"=>"\xd9","\xd0\xba"=>"\xda","\xd0\xbb"=>"\xdb","\xd0\xbc"=>"\xdc","\xd0\xbd"=>"\xdd","\xd0\xbe"=>"\xde","\xd0\xbf"=>"\xdf",
+	"\xd1\x80"=>"\xe0","\xd1\x81"=>"\xe1","\xd1\x82"=>"\xe2","\xd1\x83"=>"\xe3","\xd1\x84"=>"\xe4","\xd1\x85"=>"\xe5","\xd1\x86"=>"\xe6","\xd1\x87"=>"\xe7",
+	"\xd1\x88"=>"\xe8","\xd1\x89"=>"\xe9","\xd1\x8a"=>"\xea","\xd1\x8b"=>"\xeb","\xd1\x8c"=>"\xec","\xd1\x8d"=>"\xed","\xd1\x8e"=>"\xee","\xd1\x8f"=>"\xef",
+	"\xe2\x84\x96"=>"\xf0","\xd1\x91"=>"\xf1","\xd1\x92"=>"\xf2","\xd1\x93"=>"\xf3","\xd1\x94"=>"\xf4","\xd1\x95"=>"\xf5","\xd1\x96"=>"\xf6","\xd1\x97"=>"\xf7",
+	"\xd1\x98"=>"\xf8","\xd1\x99"=>"\xf9","\xd1\x9a"=>"\xfa","\xd1\x9b"=>"\xfb","\xd1\x9c"=>"\xfc","\xc2\xa7"=>"\xfd","\xd1\x9e"=>"\xfe","\xd1\x9f"=>"\xff"
+);
+global $iso_8859_6_to_utf8;
+$iso_8859_6_to_utf8 = array(
+	"\x80"=>"\xc2\x80","\x81"=>"\xc2\x81","\x82"=>"\xc2\x82","\x83"=>"\xc2\x83","\x84"=>"\xc2\x84","\x85"=>"\xc2\x85","\x86"=>"\xc2\x86","\x87"=>"\xc2\x87",
+	"\x88"=>"\xc2\x88","\x89"=>"\xc2\x89","\x8a"=>"\xc2\x8a","\x8b"=>"\xc2\x8b","\x8c"=>"\xc2\x8c","\x8d"=>"\xc2\x8d","\x8e"=>"\xc2\x8e","\x8f"=>"\xc2\x8f",
+	"\x90"=>"\xc2\x90","\x91"=>"\xc2\x91","\x92"=>"\xc2\x92","\x93"=>"\xc2\x93","\x94"=>"\xc2\x94","\x95"=>"\xc2\x95","\x96"=>"\xc2\x96","\x97"=>"\xc2\x97",
+	"\x98"=>"\xc2\x98","\x99"=>"\xc2\x99","\x9a"=>"\xc2\x9a","\x9b"=>"\xc2\x9b","\x9c"=>"\xc2\x9c","\x9d"=>"\xc2\x9d","\x9e"=>"\xc2\x9e","\x9f"=>"\xc2\x9f",
+	"\xa0"=>"\xc2\xa0","\xa4"=>"\xc2\xa4","\xac"=>"\xd8\x8c","\xad"=>"\xc2\xad","\xbb"=>"\xd8\x9b","\xbf"=>"\xd8\x9f","\xc1"=>"\xd8\xa1","\xc2"=>"\xd8\xa2",
+	"\xc3"=>"\xd8\xa3","\xc4"=>"\xd8\xa4","\xc5"=>"\xd8\xa5","\xc6"=>"\xd8\xa6","\xc7"=>"\xd8\xa7","\xc8"=>"\xd8\xa8","\xc9"=>"\xd8\xa9","\xca"=>"\xd8\xaa",
+	"\xcb"=>"\xd8\xab","\xcc"=>"\xd8\xac","\xcd"=>"\xd8\xad","\xce"=>"\xd8\xae","\xcf"=>"\xd8\xaf","\xd0"=>"\xd8\xb0","\xd1"=>"\xd8\xb1","\xd2"=>"\xd8\xb2",
+	"\xd3"=>"\xd8\xb3","\xd4"=>"\xd8\xb4","\xd5"=>"\xd8\xb5","\xd6"=>"\xd8\xb6","\xd7"=>"\xd8\xb7","\xd8"=>"\xd8\xb8","\xd9"=>"\xd8\xb9","\xda"=>"\xd8\xba",
+	"\xe0"=>"\xd9\x80","\xe1"=>"\xd9\x81","\xe2"=>"\xd9\x82","\xe3"=>"\xd9\x83","\xe4"=>"\xd9\x84","\xe5"=>"\xd9\x85","\xe6"=>"\xd9\x86","\xe7"=>"\xd9\x87",
+	"\xe8"=>"\xd9\x88","\xe9"=>"\xd9\x89","\xea"=>"\xd9\x8a","\xeb"=>"\xd9\x8b","\xec"=>"\xd9\x8c","\xed"=>"\xd9\x8d","\xee"=>"\xd9\x8e","\xef"=>"\xd9\x8f",
+	"\xf0"=>"\xd9\x90","\xf1"=>"\xd9\x91","\xf2"=>"\xd9\x92"
+);
+global $utf8_to_iso_8859_6;
+$utf8_to_iso_8859_6 = array(
+	"\xc2\x80"=>"\x80","\xc2\x81"=>"\x81","\xc2\x82"=>"\x82","\xc2\x83"=>"\x83","\xc2\x84"=>"\x84","\xc2\x85"=>"\x85","\xc2\x86"=>"\x86","\xc2\x87"=>"\x87",
+	"\xc2\x88"=>"\x88","\xc2\x89"=>"\x89","\xc2\x8a"=>"\x8a","\xc2\x8b"=>"\x8b","\xc2\x8c"=>"\x8c","\xc2\x8d"=>"\x8d","\xc2\x8e"=>"\x8e","\xc2\x8f"=>"\x8f",
+	"\xc2\x90"=>"\x90","\xc2\x91"=>"\x91","\xc2\x92"=>"\x92","\xc2\x93"=>"\x93","\xc2\x94"=>"\x94","\xc2\x95"=>"\x95","\xc2\x96"=>"\x96","\xc2\x97"=>"\x97",
+	"\xc2\x98"=>"\x98","\xc2\x99"=>"\x99","\xc2\x9a"=>"\x9a","\xc2\x9b"=>"\x9b","\xc2\x9c"=>"\x9c","\xc2\x9d"=>"\x9d","\xc2\x9e"=>"\x9e","\xc2\x9f"=>"\x9f",
+	"\xc2\xa0"=>"\xa0","\xc2\xa4"=>"\xa4","\xd8\x8c"=>"\xac","\xc2\xad"=>"\xad","\xd8\x9b"=>"\xbb","\xd8\x9f"=>"\xbf","\xd8\xa1"=>"\xc1","\xd8\xa2"=>"\xc2",
+	"\xd8\xa3"=>"\xc3","\xd8\xa4"=>"\xc4","\xd8\xa5"=>"\xc5","\xd8\xa6"=>"\xc6","\xd8\xa7"=>"\xc7","\xd8\xa8"=>"\xc8","\xd8\xa9"=>"\xc9","\xd8\xaa"=>"\xca",
+	"\xd8\xab"=>"\xcb","\xd8\xac"=>"\xcc","\xd8\xad"=>"\xcd","\xd8\xae"=>"\xce","\xd8\xaf"=>"\xcf","\xd8\xb0"=>"\xd0","\xd8\xb1"=>"\xd1","\xd8\xb2"=>"\xd2",
+	"\xd8\xb3"=>"\xd3","\xd8\xb4"=>"\xd4","\xd8\xb5"=>"\xd5","\xd8\xb6"=>"\xd6","\xd8\xb7"=>"\xd7","\xd8\xb8"=>"\xd8","\xd8\xb9"=>"\xd9","\xd8\xba"=>"\xda",
+	"\xd9\x80"=>"\xe0","\xd9\x81"=>"\xe1","\xd9\x82"=>"\xe2","\xd9\x83"=>"\xe3","\xd9\x84"=>"\xe4","\xd9\x85"=>"\xe5","\xd9\x86"=>"\xe6","\xd9\x87"=>"\xe7",
+	"\xd9\x88"=>"\xe8","\xd9\x89"=>"\xe9","\xd9\x8a"=>"\xea","\xd9\x8b"=>"\xeb","\xd9\x8c"=>"\xec","\xd9\x8d"=>"\xed","\xd9\x8e"=>"\xee","\xd9\x8f"=>"\xef",
+	"\xd9\x90"=>"\xf0","\xd9\x91"=>"\xf1","\xd9\x92"=>"\xf2"
+);
+global $iso_8859_7_to_utf8;
+$iso_8859_7_to_utf8 = array(
+	"\x80"=>"\xc2\x80","\x81"=>"\xc2\x81","\x82"=>"\xc2\x82","\x83"=>"\xc2\x83","\x84"=>"\xc2\x84","\x85"=>"\xc2\x85","\x86"=>"\xc2\x86","\x87"=>"\xc2\x87",
+	"\x88"=>"\xc2\x88","\x89"=>"\xc2\x89","\x8a"=>"\xc2\x8a","\x8b"=>"\xc2\x8b","\x8c"=>"\xc2\x8c","\x8d"=>"\xc2\x8d","\x8e"=>"\xc2\x8e","\x8f"=>"\xc2\x8f",
+	"\x90"=>"\xc2\x90","\x91"=>"\xc2\x91","\x92"=>"\xc2\x92","\x93"=>"\xc2\x93","\x94"=>"\xc2\x94","\x95"=>"\xc2\x95","\x96"=>"\xc2\x96","\x97"=>"\xc2\x97",
+	"\x98"=>"\xc2\x98","\x99"=>"\xc2\x99","\x9a"=>"\xc2\x9a","\x9b"=>"\xc2\x9b","\x9c"=>"\xc2\x9c","\x9d"=>"\xc2\x9d","\x9e"=>"\xc2\x9e","\x9f"=>"\xc2\x9f",
+	"\xa0"=>"\xc2\xa0","\xa1"=>"\xe2\x80\x98","\xa2"=>"\xe2\x80\x99","\xa3"=>"\xc2\xa3","\xa6"=>"\xc2\xa6","\xa7"=>"\xc2\xa7","\xa8"=>"\xc2\xa8","\xa9"=>"\xc2\xa9",
+	"\xab"=>"\xc2\xab","\xac"=>"\xc2\xac","\xad"=>"\xc2\xad","\xaf"=>"\xe2\x80\x95","\xb0"=>"\xc2\xb0","\xb1"=>"\xc2\xb1","\xb2"=>"\xc2\xb2","\xb3"=>"\xc2\xb3",
+	"\xb4"=>"\xce\x84","\xb5"=>"\xce\x85","\xb6"=>"\xce\x86","\xb7"=>"\xc2\xb7","\xb8"=>"\xce\x88","\xb9"=>"\xce\x89","\xba"=>"\xce\x8a","\xbb"=>"\xc2\xbb",
+	"\xbc"=>"\xce\x8c","\xbd"=>"\xc2\xbd","\xbe"=>"\xce\x8e","\xbf"=>"\xce\x8f","\xc0"=>"\xce\x90","\xc1"=>"\xce\x91","\xc2"=>"\xce\x92","\xc3"=>"\xce\x93",
+	"\xc4"=>"\xce\x94","\xc5"=>"\xce\x95","\xc6"=>"\xce\x96","\xc7"=>"\xce\x97","\xc8"=>"\xce\x98","\xc9"=>"\xce\x99","\xca"=>"\xce\x9a","\xcb"=>"\xce\x9b",
+	"\xcc"=>"\xce\x9c","\xcd"=>"\xce\x9d","\xce"=>"\xce\x9e","\xcf"=>"\xce\x9f","\xd0"=>"\xce\xa0","\xd1"=>"\xce\xa1","\xd3"=>"\xce\xa3","\xd4"=>"\xce\xa4",
+	"\xd5"=>"\xce\xa5","\xd6"=>"\xce\xa6","\xd7"=>"\xce\xa7","\xd8"=>"\xce\xa8","\xd9"=>"\xce\xa9","\xda"=>"\xce\xaa","\xdb"=>"\xce\xab","\xdc"=>"\xce\xac",
+	"\xdd"=>"\xce\xad","\xde"=>"\xce\xae","\xdf"=>"\xce\xaf","\xe0"=>"\xce\xb0","\xe1"=>"\xce\xb1","\xe2"=>"\xce\xb2","\xe3"=>"\xce\xb3","\xe4"=>"\xce\xb4",
+	"\xe5"=>"\xce\xb5","\xe6"=>"\xce\xb6","\xe7"=>"\xce\xb7","\xe8"=>"\xce\xb8","\xe9"=>"\xce\xb9","\xea"=>"\xce\xba","\xeb"=>"\xce\xbb","\xec"=>"\xce\xbc",
+	"\xed"=>"\xce\xbd","\xee"=>"\xce\xbe","\xef"=>"\xce\xbf","\xf0"=>"\xcf\x80","\xf1"=>"\xcf\x81","\xf2"=>"\xcf\x82","\xf3"=>"\xcf\x83","\xf4"=>"\xcf\x84",
+	"\xf5"=>"\xcf\x85","\xf6"=>"\xcf\x86","\xf7"=>"\xcf\x87","\xf8"=>"\xcf\x88","\xf9"=>"\xcf\x89","\xfa"=>"\xcf\x8a","\xfb"=>"\xcf\x8b","\xfc"=>"\xcf\x8c",
+	"\xfd"=>"\xcf\x8d","\xfe"=>"\xcf\x8e"
+);
+global $utf8_to_iso_8859_7;
+$utf8_to_iso_8859_7 = array(
+	"\xc2\x80"=>"\x80","\xc2\x81"=>"\x81","\xc2\x82"=>"\x82","\xc2\x83"=>"\x83","\xc2\x84"=>"\x84","\xc2\x85"=>"\x85","\xc2\x86"=>"\x86","\xc2\x87"=>"\x87",
+	"\xc2\x88"=>"\x88","\xc2\x89"=>"\x89","\xc2\x8a"=>"\x8a","\xc2\x8b"=>"\x8b","\xc2\x8c"=>"\x8c","\xc2\x8d"=>"\x8d","\xc2\x8e"=>"\x8e","\xc2\x8f"=>"\x8f",
+	"\xc2\x90"=>"\x90","\xc2\x91"=>"\x91","\xc2\x92"=>"\x92","\xc2\x93"=>"\x93","\xc2\x94"=>"\x94","\xc2\x95"=>"\x95","\xc2\x96"=>"\x96","\xc2\x97"=>"\x97",
+	"\xc2\x98"=>"\x98","\xc2\x99"=>"\x99","\xc2\x9a"=>"\x9a","\xc2\x9b"=>"\x9b","\xc2\x9c"=>"\x9c","\xc2\x9d"=>"\x9d","\xc2\x9e"=>"\x9e","\xc2\x9f"=>"\x9f",
+	"\xc2\xa0"=>"\xa0","\xe2\x80\x98"=>"\xa1","\xe2\x80\x99"=>"\xa2","\xc2\xa3"=>"\xa3","\xc2\xa6"=>"\xa6","\xc2\xa7"=>"\xa7","\xc2\xa8"=>"\xa8","\xc2\xa9"=>"\xa9",
+	"\xc2\xab"=>"\xab","\xc2\xac"=>"\xac","\xc2\xad"=>"\xad","\xe2\x80\x95"=>"\xaf","\xc2\xb0"=>"\xb0","\xc2\xb1"=>"\xb1","\xc2\xb2"=>"\xb2","\xc2\xb3"=>"\xb3",
+	"\xce\x84"=>"\xb4","\xce\x85"=>"\xb5","\xce\x86"=>"\xb6","\xc2\xb7"=>"\xb7","\xce\x88"=>"\xb8","\xce\x89"=>"\xb9","\xce\x8a"=>"\xba","\xc2\xbb"=>"\xbb",
+	"\xce\x8c"=>"\xbc","\xc2\xbd"=>"\xbd","\xce\x8e"=>"\xbe","\xce\x8f"=>"\xbf","\xce\x90"=>"\xc0","\xce\x91"=>"\xc1","\xce\x92"=>"\xc2","\xce\x93"=>"\xc3",
+	"\xce\x94"=>"\xc4","\xce\x95"=>"\xc5","\xce\x96"=>"\xc6","\xce\x97"=>"\xc7","\xce\x98"=>"\xc8","\xce\x99"=>"\xc9","\xce\x9a"=>"\xca","\xce\x9b"=>"\xcb",
+	"\xce\x9c"=>"\xcc","\xce\x9d"=>"\xcd","\xce\x9e"=>"\xce","\xce\x9f"=>"\xcf","\xce\xa0"=>"\xd0","\xce\xa1"=>"\xd1","\xce\xa3"=>"\xd3","\xce\xa4"=>"\xd4",
+	"\xce\xa5"=>"\xd5","\xce\xa6"=>"\xd6","\xce\xa7"=>"\xd7","\xce\xa8"=>"\xd8","\xce\xa9"=>"\xd9","\xce\xaa"=>"\xda","\xce\xab"=>"\xdb","\xce\xac"=>"\xdc",
+	"\xce\xad"=>"\xdd","\xce\xae"=>"\xde","\xce\xaf"=>"\xdf","\xce\xb0"=>"\xe0","\xce\xb1"=>"\xe1","\xce\xb2"=>"\xe2","\xce\xb3"=>"\xe3","\xce\xb4"=>"\xe4",
+	"\xce\xb5"=>"\xe5","\xce\xb6"=>"\xe6","\xce\xb7"=>"\xe7","\xce\xb8"=>"\xe8","\xce\xb9"=>"\xe9","\xce\xba"=>"\xea","\xce\xbb"=>"\xeb","\xce\xbc"=>"\xec",
+	"\xce\xbd"=>"\xed","\xce\xbe"=>"\xee","\xce\xbf"=>"\xef","\xcf\x80"=>"\xf0","\xcf\x81"=>"\xf1","\xcf\x82"=>"\xf2","\xcf\x83"=>"\xf3","\xcf\x84"=>"\xf4",
+	"\xcf\x85"=>"\xf5","\xcf\x86"=>"\xf6","\xcf\x87"=>"\xf7","\xcf\x88"=>"\xf8","\xcf\x89"=>"\xf9","\xcf\x8a"=>"\xfa","\xcf\x8b"=>"\xfb","\xcf\x8c"=>"\xfc",
+	"\xcf\x8d"=>"\xfd","\xcf\x8e"=>"\xfe"
+);
+global $iso_8859_8_to_utf8;
+$iso_8859_8_to_utf8 = array(
+	"\x80"=>"\xc2\x80","\x81"=>"\xc2\x81","\x82"=>"\xc2\x82","\x83"=>"\xc2\x83","\x84"=>"\xc2\x84","\x85"=>"\xc2\x85","\x86"=>"\xc2\x86","\x87"=>"\xc2\x87",
+	"\x88"=>"\xc2\x88","\x89"=>"\xc2\x89","\x8a"=>"\xc2\x8a","\x8b"=>"\xc2\x8b","\x8c"=>"\xc2\x8c","\x8d"=>"\xc2\x8d","\x8e"=>"\xc2\x8e","\x8f"=>"\xc2\x8f",
+	"\x90"=>"\xc2\x90","\x91"=>"\xc2\x91","\x92"=>"\xc2\x92","\x93"=>"\xc2\x93","\x94"=>"\xc2\x94","\x95"=>"\xc2\x95","\x96"=>"\xc2\x96","\x97"=>"\xc2\x97",
+	"\x98"=>"\xc2\x98","\x99"=>"\xc2\x99","\x9a"=>"\xc2\x9a","\x9b"=>"\xc2\x9b","\x9c"=>"\xc2\x9c","\x9d"=>"\xc2\x9d","\x9e"=>"\xc2\x9e","\x9f"=>"\xc2\x9f",
+	"\xa0"=>"\xc2\xa0","\xa2"=>"\xc2\xa2","\xa3"=>"\xc2\xa3","\xa4"=>"\xc2\xa4","\xa5"=>"\xc2\xa5","\xa6"=>"\xc2\xa6","\xa7"=>"\xc2\xa7","\xa8"=>"\xc2\xa8",
+	"\xa9"=>"\xc2\xa9","\xaa"=>"\xc3\x97","\xab"=>"\xc2\xab","\xac"=>"\xc2\xac","\xad"=>"\xc2\xad","\xae"=>"\xc2\xae","\xaf"=>"\xc2\xaf","\xb0"=>"\xc2\xb0",
+	"\xb1"=>"\xc2\xb1","\xb2"=>"\xc2\xb2","\xb3"=>"\xc2\xb3","\xb4"=>"\xc2\xb4","\xb5"=>"\xc2\xb5","\xb6"=>"\xc2\xb6","\xb7"=>"\xc2\xb7","\xb8"=>"\xc2\xb8",
+	"\xb9"=>"\xc2\xb9","\xba"=>"\xc3\xb7","\xbb"=>"\xc2\xbb","\xbc"=>"\xc2\xbc","\xbd"=>"\xc2\xbd","\xbe"=>"\xc2\xbe","\xdf"=>"\xe2\x80\x97","\xe0"=>"\xd7\x90",
+	"\xe1"=>"\xd7\x91","\xe2"=>"\xd7\x92","\xe3"=>"\xd7\x93","\xe4"=>"\xd7\x94","\xe5"=>"\xd7\x95","\xe6"=>"\xd7\x96","\xe7"=>"\xd7\x97","\xe8"=>"\xd7\x98",
+	"\xe9"=>"\xd7\x99","\xea"=>"\xd7\x9a","\xeb"=>"\xd7\x9b","\xec"=>"\xd7\x9c","\xed"=>"\xd7\x9d","\xee"=>"\xd7\x9e","\xef"=>"\xd7\x9f","\xf0"=>"\xd7\xa0",
+	"\xf1"=>"\xd7\xa1","\xf2"=>"\xd7\xa2","\xf3"=>"\xd7\xa3","\xf4"=>"\xd7\xa4","\xf5"=>"\xd7\xa5","\xf6"=>"\xd7\xa6","\xf7"=>"\xd7\xa7","\xf8"=>"\xd7\xa8",
+	"\xf9"=>"\xd7\xa9","\xfa"=>"\xd7\xaa","\xfd"=>"\xe2\x80\x8e","\xfe"=>"\xe2\x80\x8f"
+);
+global $utf8_to_iso_8859_8;
+$utf8_to_iso_8859_8 = array(
+	"\xc2\x80"=>"\x80","\xc2\x81"=>"\x81","\xc2\x82"=>"\x82","\xc2\x83"=>"\x83","\xc2\x84"=>"\x84","\xc2\x85"=>"\x85","\xc2\x86"=>"\x86","\xc2\x87"=>"\x87",
+	"\xc2\x88"=>"\x88","\xc2\x89"=>"\x89","\xc2\x8a"=>"\x8a","\xc2\x8b"=>"\x8b","\xc2\x8c"=>"\x8c","\xc2\x8d"=>"\x8d","\xc2\x8e"=>"\x8e","\xc2\x8f"=>"\x8f",
+	"\xc2\x90"=>"\x90","\xc2\x91"=>"\x91","\xc2\x92"=>"\x92","\xc2\x93"=>"\x93","\xc2\x94"=>"\x94","\xc2\x95"=>"\x95","\xc2\x96"=>"\x96","\xc2\x97"=>"\x97",
+	"\xc2\x98"=>"\x98","\xc2\x99"=>"\x99","\xc2\x9a"=>"\x9a","\xc2\x9b"=>"\x9b","\xc2\x9c"=>"\x9c","\xc2\x9d"=>"\x9d","\xc2\x9e"=>"\x9e","\xc2\x9f"=>"\x9f",
+	"\xc2\xa0"=>"\xa0","\xc2\xa2"=>"\xa2","\xc2\xa3"=>"\xa3","\xc2\xa4"=>"\xa4","\xc2\xa5"=>"\xa5","\xc2\xa6"=>"\xa6","\xc2\xa7"=>"\xa7","\xc2\xa8"=>"\xa8",
+	"\xc2\xa9"=>"\xa9","\xc3\x97"=>"\xaa","\xc2\xab"=>"\xab","\xc2\xac"=>"\xac","\xc2\xad"=>"\xad","\xc2\xae"=>"\xae","\xc2\xaf"=>"\xaf","\xc2\xb0"=>"\xb0",
+	"\xc2\xb1"=>"\xb1","\xc2\xb2"=>"\xb2","\xc2\xb3"=>"\xb3","\xc2\xb4"=>"\xb4","\xc2\xb5"=>"\xb5","\xc2\xb6"=>"\xb6","\xc2\xb7"=>"\xb7","\xc2\xb8"=>"\xb8",
+	"\xc2\xb9"=>"\xb9","\xc3\xb7"=>"\xba","\xc2\xbb"=>"\xbb","\xc2\xbc"=>"\xbc","\xc2\xbd"=>"\xbd","\xc2\xbe"=>"\xbe","\xe2\x80\x97"=>"\xdf","\xd7\x90"=>"\xe0",
+	"\xd7\x91"=>"\xe1","\xd7\x92"=>"\xe2","\xd7\x93"=>"\xe3","\xd7\x94"=>"\xe4","\xd7\x95"=>"\xe5","\xd7\x96"=>"\xe6","\xd7\x97"=>"\xe7","\xd7\x98"=>"\xe8",
+	"\xd7\x99"=>"\xe9","\xd7\x9a"=>"\xea","\xd7\x9b"=>"\xeb","\xd7\x9c"=>"\xec","\xd7\x9d"=>"\xed","\xd7\x9e"=>"\xee","\xd7\x9f"=>"\xef","\xd7\xa0"=>"\xf0",
+	"\xd7\xa1"=>"\xf1","\xd7\xa2"=>"\xf2","\xd7\xa3"=>"\xf3","\xd7\xa4"=>"\xf4","\xd7\xa5"=>"\xf5","\xd7\xa6"=>"\xf6","\xd7\xa7"=>"\xf7","\xd7\xa8"=>"\xf8",
+	"\xd7\xa9"=>"\xf9","\xd7\xaa"=>"\xfa","\xe2\x80\x8e"=>"\xfd","\xe2\x80\x8f"=>"\xfe"
+);
+global $iso_8859_9_to_utf8;
+$iso_8859_9_to_utf8 = array(
+	"\x80"=>"\xc2\x80","\x81"=>"\xc2\x81","\x82"=>"\xc2\x82","\x83"=>"\xc2\x83","\x84"=>"\xc2\x84","\x85"=>"\xc2\x85","\x86"=>"\xc2\x86","\x87"=>"\xc2\x87",
+	"\x88"=>"\xc2\x88","\x89"=>"\xc2\x89","\x8a"=>"\xc2\x8a","\x8b"=>"\xc2\x8b","\x8c"=>"\xc2\x8c","\x8d"=>"\xc2\x8d","\x8e"=>"\xc2\x8e","\x8f"=>"\xc2\x8f",
+	"\x90"=>"\xc2\x90","\x91"=>"\xc2\x91","\x92"=>"\xc2\x92","\x93"=>"\xc2\x93","\x94"=>"\xc2\x94","\x95"=>"\xc2\x95","\x96"=>"\xc2\x96","\x97"=>"\xc2\x97",
+	"\x98"=>"\xc2\x98","\x99"=>"\xc2\x99","\x9a"=>"\xc2\x9a","\x9b"=>"\xc2\x9b","\x9c"=>"\xc2\x9c","\x9d"=>"\xc2\x9d","\x9e"=>"\xc2\x9e","\x9f"=>"\xc2\x9f",
+	"\xa0"=>"\xc2\xa0","\xa1"=>"\xc2\xa1","\xa2"=>"\xc2\xa2","\xa3"=>"\xc2\xa3","\xa4"=>"\xc2\xa4","\xa5"=>"\xc2\xa5","\xa6"=>"\xc2\xa6","\xa7"=>"\xc2\xa7",
+	"\xa8"=>"\xc2\xa8","\xa9"=>"\xc2\xa9","\xaa"=>"\xc2\xaa","\xab"=>"\xc2\xab","\xac"=>"\xc2\xac","\xad"=>"\xc2\xad","\xae"=>"\xc2\xae","\xaf"=>"\xc2\xaf",
+	"\xb0"=>"\xc2\xb0","\xb1"=>"\xc2\xb1","\xb2"=>"\xc2\xb2","\xb3"=>"\xc2\xb3","\xb4"=>"\xc2\xb4","\xb5"=>"\xc2\xb5","\xb6"=>"\xc2\xb6","\xb7"=>"\xc2\xb7",
+	"\xb8"=>"\xc2\xb8","\xb9"=>"\xc2\xb9","\xba"=>"\xc2\xba","\xbb"=>"\xc2\xbb","\xbc"=>"\xc2\xbc","\xbd"=>"\xc2\xbd","\xbe"=>"\xc2\xbe","\xbf"=>"\xc2\xbf",
+	"\xc0"=>"\xc3\x80","\xc1"=>"\xc3\x81","\xc2"=>"\xc3\x82","\xc3"=>"\xc3\x83","\xc4"=>"\xc3\x84","\xc5"=>"\xc3\x85","\xc6"=>"\xc3\x86","\xc7"=>"\xc3\x87",
+	"\xc8"=>"\xc3\x88","\xc9"=>"\xc3\x89","\xca"=>"\xc3\x8a","\xcb"=>"\xc3\x8b","\xcc"=>"\xc3\x8c","\xcd"=>"\xc3\x8d","\xce"=>"\xc3\x8e","\xcf"=>"\xc3\x8f",
+	"\xd0"=>"\xc4\x9e","\xd1"=>"\xc3\x91","\xd2"=>"\xc3\x92","\xd3"=>"\xc3\x93","\xd4"=>"\xc3\x94","\xd5"=>"\xc3\x95","\xd6"=>"\xc3\x96","\xd7"=>"\xc3\x97",
+	"\xd8"=>"\xc3\x98","\xd9"=>"\xc3\x99","\xda"=>"\xc3\x9a","\xdb"=>"\xc3\x9b","\xdc"=>"\xc3\x9c","\xdd"=>"\xc4\xb0","\xde"=>"\xc5\x9e","\xdf"=>"\xc3\x9f",
+	"\xe0"=>"\xc3\xa0","\xe1"=>"\xc3\xa1","\xe2"=>"\xc3\xa2","\xe3"=>"\xc3\xa3","\xe4"=>"\xc3\xa4","\xe5"=>"\xc3\xa5","\xe6"=>"\xc3\xa6","\xe7"=>"\xc3\xa7",
+	"\xe8"=>"\xc3\xa8","\xe9"=>"\xc3\xa9","\xea"=>"\xc3\xaa","\xeb"=>"\xc3\xab","\xec"=>"\xc3\xac","\xed"=>"\xc3\xad","\xee"=>"\xc3\xae","\xef"=>"\xc3\xaf",
+	"\xf0"=>"\xc4\x9f","\xf1"=>"\xc3\xb1","\xf2"=>"\xc3\xb2","\xf3"=>"\xc3\xb3","\xf4"=>"\xc3\xb4","\xf5"=>"\xc3\xb5","\xf6"=>"\xc3\xb6","\xf7"=>"\xc3\xb7",
+	"\xf8"=>"\xc3\xb8","\xf9"=>"\xc3\xb9","\xfa"=>"\xc3\xba","\xfb"=>"\xc3\xbb","\xfc"=>"\xc3\xbc","\xfd"=>"\xc4\xb1","\xfe"=>"\xc5\x9f","\xff"=>"\xc3\xbf"
+);
+global $utf8_to_iso_8859_9;
+$utf8_to_iso_8859_9 = array(
+	"\xc2\x80"=>"\x80","\xc2\x81"=>"\x81","\xc2\x82"=>"\x82","\xc2\x83"=>"\x83","\xc2\x84"=>"\x84","\xc2\x85"=>"\x85","\xc2\x86"=>"\x86","\xc2\x87"=>"\x87",
+	"\xc2\x88"=>"\x88","\xc2\x89"=>"\x89","\xc2\x8a"=>"\x8a","\xc2\x8b"=>"\x8b","\xc2\x8c"=>"\x8c","\xc2\x8d"=>"\x8d","\xc2\x8e"=>"\x8e","\xc2\x8f"=>"\x8f",
+	"\xc2\x90"=>"\x90","\xc2\x91"=>"\x91","\xc2\x92"=>"\x92","\xc2\x93"=>"\x93","\xc2\x94"=>"\x94","\xc2\x95"=>"\x95","\xc2\x96"=>"\x96","\xc2\x97"=>"\x97",
+	"\xc2\x98"=>"\x98","\xc2\x99"=>"\x99","\xc2\x9a"=>"\x9a","\xc2\x9b"=>"\x9b","\xc2\x9c"=>"\x9c","\xc2\x9d"=>"\x9d","\xc2\x9e"=>"\x9e","\xc2\x9f"=>"\x9f",
+	"\xc2\xa0"=>"\xa0","\xc2\xa1"=>"\xa1","\xc2\xa2"=>"\xa2","\xc2\xa3"=>"\xa3","\xc2\xa4"=>"\xa4","\xc2\xa5"=>"\xa5","\xc2\xa6"=>"\xa6","\xc2\xa7"=>"\xa7",
+	"\xc2\xa8"=>"\xa8","\xc2\xa9"=>"\xa9","\xc2\xaa"=>"\xaa","\xc2\xab"=>"\xab","\xc2\xac"=>"\xac","\xc2\xad"=>"\xad","\xc2\xae"=>"\xae","\xc2\xaf"=>"\xaf",
+	"\xc2\xb0"=>"\xb0","\xc2\xb1"=>"\xb1","\xc2\xb2"=>"\xb2","\xc2\xb3"=>"\xb3","\xc2\xb4"=>"\xb4","\xc2\xb5"=>"\xb5","\xc2\xb6"=>"\xb6","\xc2\xb7"=>"\xb7",
+	"\xc2\xb8"=>"\xb8","\xc2\xb9"=>"\xb9","\xc2\xba"=>"\xba","\xc2\xbb"=>"\xbb","\xc2\xbc"=>"\xbc","\xc2\xbd"=>"\xbd","\xc2\xbe"=>"\xbe","\xc2\xbf"=>"\xbf",
+	"\xc3\x80"=>"\xc0","\xc3\x81"=>"\xc1","\xc3\x82"=>"\xc2","\xc3\x83"=>"\xc3","\xc3\x84"=>"\xc4","\xc3\x85"=>"\xc5","\xc3\x86"=>"\xc6","\xc3\x87"=>"\xc7",
+	"\xc3\x88"=>"\xc8","\xc3\x89"=>"\xc9","\xc3\x8a"=>"\xca","\xc3\x8b"=>"\xcb","\xc3\x8c"=>"\xcc","\xc3\x8d"=>"\xcd","\xc3\x8e"=>"\xce","\xc3\x8f"=>"\xcf",
+	"\xc4\x9e"=>"\xd0","\xc3\x91"=>"\xd1","\xc3\x92"=>"\xd2","\xc3\x93"=>"\xd3","\xc3\x94"=>"\xd4","\xc3\x95"=>"\xd5","\xc3\x96"=>"\xd6","\xc3\x97"=>"\xd7",
+	"\xc3\x98"=>"\xd8","\xc3\x99"=>"\xd9","\xc3\x9a"=>"\xda","\xc3\x9b"=>"\xdb","\xc3\x9c"=>"\xdc","\xc4\xb0"=>"\xdd","\xc5\x9e"=>"\xde","\xc3\x9f"=>"\xdf",
+	"\xc3\xa0"=>"\xe0","\xc3\xa1"=>"\xe1","\xc3\xa2"=>"\xe2","\xc3\xa3"=>"\xe3","\xc3\xa4"=>"\xe4","\xc3\xa5"=>"\xe5","\xc3\xa6"=>"\xe6","\xc3\xa7"=>"\xe7",
+	"\xc3\xa8"=>"\xe8","\xc3\xa9"=>"\xe9","\xc3\xaa"=>"\xea","\xc3\xab"=>"\xeb","\xc3\xac"=>"\xec","\xc3\xad"=>"\xed","\xc3\xae"=>"\xee","\xc3\xaf"=>"\xef",
+	"\xc4\x9f"=>"\xf0","\xc3\xb1"=>"\xf1","\xc3\xb2"=>"\xf2","\xc3\xb3"=>"\xf3","\xc3\xb4"=>"\xf4","\xc3\xb5"=>"\xf5","\xc3\xb6"=>"\xf6","\xc3\xb7"=>"\xf7",
+	"\xc3\xb8"=>"\xf8","\xc3\xb9"=>"\xf9","\xc3\xba"=>"\xfa","\xc3\xbb"=>"\xfb","\xc3\xbc"=>"\xfc","\xc4\xb1"=>"\xfd","\xc5\x9f"=>"\xfe","\xc3\xbf"=>"\xff"
+);
+global $iso_8859_10_to_utf8;
+$iso_8859_10_to_utf8 = array(
+	"\x80"=>"\xc2\x80","\x81"=>"\xc2\x81","\x82"=>"\xc2\x82","\x83"=>"\xc2\x83","\x84"=>"\xc2\x84","\x85"=>"\xc2\x85","\x86"=>"\xc2\x86","\x87"=>"\xc2\x87",
+	"\x88"=>"\xc2\x88","\x89"=>"\xc2\x89","\x8a"=>"\xc2\x8a","\x8b"=>"\xc2\x8b","\x8c"=>"\xc2\x8c","\x8d"=>"\xc2\x8d","\x8e"=>"\xc2\x8e","\x8f"=>"\xc2\x8f",
+	"\x90"=>"\xc2\x90","\x91"=>"\xc2\x91","\x92"=>"\xc2\x92","\x93"=>"\xc2\x93","\x94"=>"\xc2\x94","\x95"=>"\xc2\x95","\x96"=>"\xc2\x96","\x97"=>"\xc2\x97",
+	"\x98"=>"\xc2\x98","\x99"=>"\xc2\x99","\x9a"=>"\xc2\x9a","\x9b"=>"\xc2\x9b","\x9c"=>"\xc2\x9c","\x9d"=>"\xc2\x9d","\x9e"=>"\xc2\x9e","\x9f"=>"\xc2\x9f",
+	"\xa0"=>"\xc2\xa0","\xa1"=>"\xc4\x84","\xa2"=>"\xc4\x92","\xa3"=>"\xc4\xa2","\xa4"=>"\xc4\xaa","\xa5"=>"\xc4\xa8","\xa6"=>"\xc4\xb6","\xa7"=>"\xc2\xa7",
+	"\xa8"=>"\xc4\xbb","\xa9"=>"\xc4\x90","\xaa"=>"\xc5\xa0","\xab"=>"\xc5\xa6","\xac"=>"\xc5\xbd","\xad"=>"\xc2\xad","\xae"=>"\xc5\xaa","\xaf"=>"\xc5\x8a",
+	"\xb0"=>"\xc2\xb0","\xb1"=>"\xc4\x85","\xb2"=>"\xc4\x93","\xb3"=>"\xc4\xa3","\xb4"=>"\xc4\xab","\xb5"=>"\xc4\xa9","\xb6"=>"\xc4\xb7","\xb7"=>"\xc2\xb7",
+	"\xb8"=>"\xc4\xbc","\xb9"=>"\xc4\x91","\xba"=>"\xc5\xa1","\xbb"=>"\xc5\xa7","\xbc"=>"\xc5\xbe","\xbd"=>"\xe2\x80\x95","\xbe"=>"\xc5\xab","\xbf"=>"\xc5\x8b",
+	"\xc0"=>"\xc4\x80","\xc1"=>"\xc3\x81","\xc2"=>"\xc3\x82","\xc3"=>"\xc3\x83","\xc4"=>"\xc3\x84","\xc5"=>"\xc3\x85","\xc6"=>"\xc3\x86","\xc7"=>"\xc4\xae",
+	"\xc8"=>"\xc4\x8c","\xc9"=>"\xc3\x89","\xca"=>"\xc4\x98","\xcb"=>"\xc3\x8b","\xcc"=>"\xc4\x96","\xcd"=>"\xc3\x8d","\xce"=>"\xc3\x8e","\xcf"=>"\xc3\x8f",
+	"\xd0"=>"\xc3\x90","\xd1"=>"\xc5\x85","\xd2"=>"\xc5\x8c","\xd3"=>"\xc3\x93","\xd4"=>"\xc3\x94","\xd5"=>"\xc3\x95","\xd6"=>"\xc3\x96","\xd7"=>"\xc5\xa8",
+	"\xd8"=>"\xc3\x98","\xd9"=>"\xc5\xb2","\xda"=>"\xc3\x9a","\xdb"=>"\xc3\x9b","\xdc"=>"\xc3\x9c","\xdd"=>"\xc3\x9d","\xde"=>"\xc3\x9e","\xdf"=>"\xc3\x9f",
+	"\xe0"=>"\xc4\x81","\xe1"=>"\xc3\xa1","\xe2"=>"\xc3\xa2","\xe3"=>"\xc3\xa3","\xe4"=>"\xc3\xa4","\xe5"=>"\xc3\xa5","\xe6"=>"\xc3\xa6","\xe7"=>"\xc4\xaf",
+	"\xe8"=>"\xc4\x8d","\xe9"=>"\xc3\xa9","\xea"=>"\xc4\x99","\xeb"=>"\xc3\xab","\xec"=>"\xc4\x97","\xed"=>"\xc3\xad","\xee"=>"\xc3\xae","\xef"=>"\xc3\xaf",
+	"\xf0"=>"\xc3\xb0","\xf1"=>"\xc5\x86","\xf2"=>"\xc5\x8d","\xf3"=>"\xc3\xb3","\xf4"=>"\xc3\xb4","\xf5"=>"\xc3\xb5","\xf6"=>"\xc3\xb6","\xf7"=>"\xc5\xa9",
+	"\xf8"=>"\xc3\xb8","\xf9"=>"\xc5\xb3","\xfa"=>"\xc3\xba","\xfb"=>"\xc3\xbb","\xfc"=>"\xc3\xbc","\xfd"=>"\xc3\xbd","\xfe"=>"\xc3\xbe","\xff"=>"\xc4\xb8"
+);
+global $utf8_to_iso_8859_10;
+$utf8_to_iso_8859_10 = array(
+	"\xc2\x80"=>"\x80","\xc2\x81"=>"\x81","\xc2\x82"=>"\x82","\xc2\x83"=>"\x83","\xc2\x84"=>"\x84","\xc2\x85"=>"\x85","\xc2\x86"=>"\x86","\xc2\x87"=>"\x87",
+	"\xc2\x88"=>"\x88","\xc2\x89"=>"\x89","\xc2\x8a"=>"\x8a","\xc2\x8b"=>"\x8b","\xc2\x8c"=>"\x8c","\xc2\x8d"=>"\x8d","\xc2\x8e"=>"\x8e","\xc2\x8f"=>"\x8f",
+	"\xc2\x90"=>"\x90","\xc2\x91"=>"\x91","\xc2\x92"=>"\x92","\xc2\x93"=>"\x93","\xc2\x94"=>"\x94","\xc2\x95"=>"\x95","\xc2\x96"=>"\x96","\xc2\x97"=>"\x97",
+	"\xc2\x98"=>"\x98","\xc2\x99"=>"\x99","\xc2\x9a"=>"\x9a","\xc2\x9b"=>"\x9b","\xc2\x9c"=>"\x9c","\xc2\x9d"=>"\x9d","\xc2\x9e"=>"\x9e","\xc2\x9f"=>"\x9f",
+	"\xc2\xa0"=>"\xa0","\xc4\x84"=>"\xa1","\xc4\x92"=>"\xa2","\xc4\xa2"=>"\xa3","\xc4\xaa"=>"\xa4","\xc4\xa8"=>"\xa5","\xc4\xb6"=>"\xa6","\xc2\xa7"=>"\xa7",
+	"\xc4\xbb"=>"\xa8","\xc4\x90"=>"\xa9","\xc5\xa0"=>"\xaa","\xc5\xa6"=>"\xab","\xc5\xbd"=>"\xac","\xc2\xad"=>"\xad","\xc5\xaa"=>"\xae","\xc5\x8a"=>"\xaf",
+	"\xc2\xb0"=>"\xb0","\xc4\x85"=>"\xb1","\xc4\x93"=>"\xb2","\xc4\xa3"=>"\xb3","\xc4\xab"=>"\xb4","\xc4\xa9"=>"\xb5","\xc4\xb7"=>"\xb6","\xc2\xb7"=>"\xb7",
+	"\xc4\xbc"=>"\xb8","\xc4\x91"=>"\xb9","\xc5\xa1"=>"\xba","\xc5\xa7"=>"\xbb","\xc5\xbe"=>"\xbc","\xe2\x80\x95"=>"\xbd","\xc5\xab"=>"\xbe","\xc5\x8b"=>"\xbf",
+	"\xc4\x80"=>"\xc0","\xc3\x81"=>"\xc1","\xc3\x82"=>"\xc2","\xc3\x83"=>"\xc3","\xc3\x84"=>"\xc4","\xc3\x85"=>"\xc5","\xc3\x86"=>"\xc6","\xc4\xae"=>"\xc7",
+	"\xc4\x8c"=>"\xc8","\xc3\x89"=>"\xc9","\xc4\x98"=>"\xca","\xc3\x8b"=>"\xcb","\xc4\x96"=>"\xcc","\xc3\x8d"=>"\xcd","\xc3\x8e"=>"\xce","\xc3\x8f"=>"\xcf",
+	"\xc3\x90"=>"\xd0","\xc5\x85"=>"\xd1","\xc5\x8c"=>"\xd2","\xc3\x93"=>"\xd3","\xc3\x94"=>"\xd4","\xc3\x95"=>"\xd5","\xc3\x96"=>"\xd6","\xc5\xa8"=>"\xd7",
+	"\xc3\x98"=>"\xd8","\xc5\xb2"=>"\xd9","\xc3\x9a"=>"\xda","\xc3\x9b"=>"\xdb","\xc3\x9c"=>"\xdc","\xc3\x9d"=>"\xdd","\xc3\x9e"=>"\xde","\xc3\x9f"=>"\xdf",
+	"\xc4\x81"=>"\xe0","\xc3\xa1"=>"\xe1","\xc3\xa2"=>"\xe2","\xc3\xa3"=>"\xe3","\xc3\xa4"=>"\xe4","\xc3\xa5"=>"\xe5","\xc3\xa6"=>"\xe6","\xc4\xaf"=>"\xe7",
+	"\xc4\x8d"=>"\xe8","\xc3\xa9"=>"\xe9","\xc4\x99"=>"\xea","\xc3\xab"=>"\xeb","\xc4\x97"=>"\xec","\xc3\xad"=>"\xed","\xc3\xae"=>"\xee","\xc3\xaf"=>"\xef",
+	"\xc3\xb0"=>"\xf0","\xc5\x86"=>"\xf1","\xc5\x8d"=>"\xf2","\xc3\xb3"=>"\xf3","\xc3\xb4"=>"\xf4","\xc3\xb5"=>"\xf5","\xc3\xb6"=>"\xf6","\xc5\xa9"=>"\xf7",
+	"\xc3\xb8"=>"\xf8","\xc5\xb3"=>"\xf9","\xc3\xba"=>"\xfa","\xc3\xbb"=>"\xfb","\xc3\xbc"=>"\xfc","\xc3\xbd"=>"\xfd","\xc3\xbe"=>"\xfe","\xc4\xb8"=>"\xff"
+);
+global $iso_8859_11_to_utf8;
+$iso_8859_11_to_utf8 = array(
+	"\x80"=>"\xc2\x80","\x81"=>"\xc2\x81","\x82"=>"\xc2\x82","\x83"=>"\xc2\x83","\x84"=>"\xc2\x84","\x85"=>"\xc2\x85","\x86"=>"\xc2\x86","\x87"=>"\xc2\x87",
+	"\x88"=>"\xc2\x88","\x89"=>"\xc2\x89","\x8a"=>"\xc2\x8a","\x8b"=>"\xc2\x8b","\x8c"=>"\xc2\x8c","\x8d"=>"\xc2\x8d","\x8e"=>"\xc2\x8e","\x8f"=>"\xc2\x8f",
+	"\x90"=>"\xc2\x90","\x91"=>"\xc2\x91","\x92"=>"\xc2\x92","\x93"=>"\xc2\x93","\x94"=>"\xc2\x94","\x95"=>"\xc2\x95","\x96"=>"\xc2\x96","\x97"=>"\xc2\x97",
+	"\x98"=>"\xc2\x98","\x99"=>"\xc2\x99","\x9a"=>"\xc2\x9a","\x9b"=>"\xc2\x9b","\x9c"=>"\xc2\x9c","\x9d"=>"\xc2\x9d","\x9e"=>"\xc2\x9e","\x9f"=>"\xc2\x9f",
+	"\xa0"=>"\xc2\xa0","\xa1"=>"\xe0\xb8\x81","\xa2"=>"\xe0\xb8\x82","\xa3"=>"\xe0\xb8\x83","\xa4"=>"\xe0\xb8\x84","\xa5"=>"\xe0\xb8\x85","\xa6"=>"\xe0\xb8\x86","\xa7"=>"\xe0\xb8\x87",
+	"\xa8"=>"\xe0\xb8\x88","\xa9"=>"\xe0\xb8\x89","\xaa"=>"\xe0\xb8\x8a","\xab"=>"\xe0\xb8\x8b","\xac"=>"\xe0\xb8\x8c","\xad"=>"\xe0\xb8\x8d","\xae"=>"\xe0\xb8\x8e","\xaf"=>"\xe0\xb8\x8f",
+	"\xb0"=>"\xe0\xb8\x90","\xb1"=>"\xe0\xb8\x91","\xb2"=>"\xe0\xb8\x92","\xb3"=>"\xe0\xb8\x93","\xb4"=>"\xe0\xb8\x94","\xb5"=>"\xe0\xb8\x95","\xb6"=>"\xe0\xb8\x96","\xb7"=>"\xe0\xb8\x97",
+	"\xb8"=>"\xe0\xb8\x98","\xb9"=>"\xe0\xb8\x99","\xba"=>"\xe0\xb8\x9a","\xbb"=>"\xe0\xb8\x9b","\xbc"=>"\xe0\xb8\x9c","\xbd"=>"\xe0\xb8\x9d","\xbe"=>"\xe0\xb8\x9e","\xbf"=>"\xe0\xb8\x9f",
+	"\xc0"=>"\xe0\xb8\xa0","\xc1"=>"\xe0\xb8\xa1","\xc2"=>"\xe0\xb8\xa2","\xc3"=>"\xe0\xb8\xa3","\xc4"=>"\xe0\xb8\xa4","\xc5"=>"\xe0\xb8\xa5","\xc6"=>"\xe0\xb8\xa6","\xc7"=>"\xe0\xb8\xa7",
+	"\xc8"=>"\xe0\xb8\xa8","\xc9"=>"\xe0\xb8\xa9","\xca"=>"\xe0\xb8\xaa","\xcb"=>"\xe0\xb8\xab","\xcc"=>"\xe0\xb8\xac","\xcd"=>"\xe0\xb8\xad","\xce"=>"\xe0\xb8\xae","\xcf"=>"\xe0\xb8\xaf",
+	"\xd0"=>"\xe0\xb8\xb0","\xd1"=>"\xe0\xb8\xb1","\xd2"=>"\xe0\xb8\xb2","\xd3"=>"\xe0\xb8\xb3","\xd4"=>"\xe0\xb8\xb4","\xd5"=>"\xe0\xb8\xb5","\xd6"=>"\xe0\xb8\xb6","\xd7"=>"\xe0\xb8\xb7",
+	"\xd8"=>"\xe0\xb8\xb8","\xd9"=>"\xe0\xb8\xb9","\xda"=>"\xe0\xb8\xba","\xdf"=>"\xe0\xb8\xbf","\xe0"=>"\xe0\xb9\x80","\xe1"=>"\xe0\xb9\x81","\xe2"=>"\xe0\xb9\x82","\xe3"=>"\xe0\xb9\x83",
+	"\xe4"=>"\xe0\xb9\x84","\xe5"=>"\xe0\xb9\x85","\xe6"=>"\xe0\xb9\x86","\xe7"=>"\xe0\xb9\x87","\xe8"=>"\xe0\xb9\x88","\xe9"=>"\xe0\xb9\x89","\xea"=>"\xe0\xb9\x8a","\xeb"=>"\xe0\xb9\x8b",
+	"\xec"=>"\xe0\xb9\x8c","\xed"=>"\xe0\xb9\x8d","\xee"=>"\xe0\xb9\x8e","\xef"=>"\xe0\xb9\x8f","\xf0"=>"\xe0\xb9\x90","\xf1"=>"\xe0\xb9\x91","\xf2"=>"\xe0\xb9\x92","\xf3"=>"\xe0\xb9\x93",
+	"\xf4"=>"\xe0\xb9\x94","\xf5"=>"\xe0\xb9\x95","\xf6"=>"\xe0\xb9\x96","\xf7"=>"\xe0\xb9\x97","\xf8"=>"\xe0\xb9\x98","\xf9"=>"\xe0\xb9\x99","\xfa"=>"\xe0\xb9\x9a","\xfb"=>"\xe0\xb9\x9b"
+);
+global $utf8_to_iso_8859_11;
+$utf8_to_iso_8859_11 = array(
+	"\xc2\x80"=>"\x80","\xc2\x81"=>"\x81","\xc2\x82"=>"\x82","\xc2\x83"=>"\x83","\xc2\x84"=>"\x84","\xc2\x85"=>"\x85","\xc2\x86"=>"\x86","\xc2\x87"=>"\x87",
+	"\xc2\x88"=>"\x88","\xc2\x89"=>"\x89","\xc2\x8a"=>"\x8a","\xc2\x8b"=>"\x8b","\xc2\x8c"=>"\x8c","\xc2\x8d"=>"\x8d","\xc2\x8e"=>"\x8e","\xc2\x8f"=>"\x8f",
+	"\xc2\x90"=>"\x90","\xc2\x91"=>"\x91","\xc2\x92"=>"\x92","\xc2\x93"=>"\x93","\xc2\x94"=>"\x94","\xc2\x95"=>"\x95","\xc2\x96"=>"\x96","\xc2\x97"=>"\x97",
+	"\xc2\x98"=>"\x98","\xc2\x99"=>"\x99","\xc2\x9a"=>"\x9a","\xc2\x9b"=>"\x9b","\xc2\x9c"=>"\x9c","\xc2\x9d"=>"\x9d","\xc2\x9e"=>"\x9e","\xc2\x9f"=>"\x9f",
+	"\xc2\xa0"=>"\xa0","\xe0\xb8\x81"=>"\xa1","\xe0\xb8\x82"=>"\xa2","\xe0\xb8\x83"=>"\xa3","\xe0\xb8\x84"=>"\xa4","\xe0\xb8\x85"=>"\xa5","\xe0\xb8\x86"=>"\xa6","\xe0\xb8\x87"=>"\xa7",
+	"\xe0\xb8\x88"=>"\xa8","\xe0\xb8\x89"=>"\xa9","\xe0\xb8\x8a"=>"\xaa","\xe0\xb8\x8b"=>"\xab","\xe0\xb8\x8c"=>"\xac","\xe0\xb8\x8d"=>"\xad","\xe0\xb8\x8e"=>"\xae","\xe0\xb8\x8f"=>"\xaf",
+	"\xe0\xb8\x90"=>"\xb0","\xe0\xb8\x91"=>"\xb1","\xe0\xb8\x92"=>"\xb2","\xe0\xb8\x93"=>"\xb3","\xe0\xb8\x94"=>"\xb4","\xe0\xb8\x95"=>"\xb5","\xe0\xb8\x96"=>"\xb6","\xe0\xb8\x97"=>"\xb7",
+	"\xe0\xb8\x98"=>"\xb8","\xe0\xb8\x99"=>"\xb9","\xe0\xb8\x9a"=>"\xba","\xe0\xb8\x9b"=>"\xbb","\xe0\xb8\x9c"=>"\xbc","\xe0\xb8\x9d"=>"\xbd","\xe0\xb8\x9e"=>"\xbe","\xe0\xb8\x9f"=>"\xbf",
+	"\xe0\xb8\xa0"=>"\xc0","\xe0\xb8\xa1"=>"\xc1","\xe0\xb8\xa2"=>"\xc2","\xe0\xb8\xa3"=>"\xc3","\xe0\xb8\xa4"=>"\xc4","\xe0\xb8\xa5"=>"\xc5","\xe0\xb8\xa6"=>"\xc6","\xe0\xb8\xa7"=>"\xc7",
+	"\xe0\xb8\xa8"=>"\xc8","\xe0\xb8\xa9"=>"\xc9","\xe0\xb8\xaa"=>"\xca","\xe0\xb8\xab"=>"\xcb","\xe0\xb8\xac"=>"\xcc","\xe0\xb8\xad"=>"\xcd","\xe0\xb8\xae"=>"\xce","\xe0\xb8\xaf"=>"\xcf",
+	"\xe0\xb8\xb0"=>"\xd0","\xe0\xb8\xb1"=>"\xd1","\xe0\xb8\xb2"=>"\xd2","\xe0\xb8\xb3"=>"\xd3","\xe0\xb8\xb4"=>"\xd4","\xe0\xb8\xb5"=>"\xd5","\xe0\xb8\xb6"=>"\xd6","\xe0\xb8\xb7"=>"\xd7",
+	"\xe0\xb8\xb8"=>"\xd8","\xe0\xb8\xb9"=>"\xd9","\xe0\xb8\xba"=>"\xda","\xe0\xb8\xbf"=>"\xdf","\xe0\xb9\x80"=>"\xe0","\xe0\xb9\x81"=>"\xe1","\xe0\xb9\x82"=>"\xe2","\xe0\xb9\x83"=>"\xe3",
+	"\xe0\xb9\x84"=>"\xe4","\xe0\xb9\x85"=>"\xe5","\xe0\xb9\x86"=>"\xe6","\xe0\xb9\x87"=>"\xe7","\xe0\xb9\x88"=>"\xe8","\xe0\xb9\x89"=>"\xe9","\xe0\xb9\x8a"=>"\xea","\xe0\xb9\x8b"=>"\xeb",
+	"\xe0\xb9\x8c"=>"\xec","\xe0\xb9\x8d"=>"\xed","\xe0\xb9\x8e"=>"\xee","\xe0\xb9\x8f"=>"\xef","\xe0\xb9\x90"=>"\xf0","\xe0\xb9\x91"=>"\xf1","\xe0\xb9\x92"=>"\xf2","\xe0\xb9\x93"=>"\xf3",
+	"\xe0\xb9\x94"=>"\xf4","\xe0\xb9\x95"=>"\xf5","\xe0\xb9\x96"=>"\xf6","\xe0\xb9\x97"=>"\xf7","\xe0\xb9\x98"=>"\xf8","\xe0\xb9\x99"=>"\xf9","\xe0\xb9\x9a"=>"\xfa","\xe0\xb9\x9b"=>"\xfb"
+);
+
+// nicht enthalten &gt; &lt; &apos; &#039; &quot; &amp; &nbsp;
+global $named_entities;
+$named_entities=array(
+'&Aacute;','&aacute;','&Acirc;','&acirc;','&acute;','&AElig;','&aelig;','&Agrave;','&agrave;','&alefsym;',
+'&Alpha;','&alpha;','&and;','&ang;','&Aring;','&aring;','&asymp;','&Atilde;','&atilde;','&Auml;',
+'&auml;','&bdquo;','&Beta;','&beta;','&brvbar;','&bull;','&cap;','&Ccedil;','&ccedil;','&cedil;',
+'&cent;','&Chi;','&chi;','&circ;','&clubs;','&cong;','&copy;','&crarr;','&cup;','&curren;',
+'&Dagger;','&dagger;','&dArr;','&darr;','&deg;','&Delta;','&delta;','&diams;','&divide;','&Eacute;',
+'&eacute;','&Ecirc;','&ecirc;','&Egrave;','&egrave;','&empty;','&emsp;','&ensp;','&Epsilon;','&epsilon;',
+'&equiv;','&Eta;','&eta;','&ETH;','&eth;','&Euml;','&euml;','&euro;','&exist;','&fnof;',
+'&forall;','&frac12;','&frac14;','&frac34;','&frasl;','&Gamma;','&gamma;','&ge;','&hArr;','&harr;',
+'&hearts;','&hellip;','&Iacute;','&iacute;','&Icirc;','&icirc;','&iexcl;','&Igrave;','&igrave;','&image;',
+'&infin;','&int;','&Iota;','&iota;','&iquest;','&isin;','&Iuml;','&iuml;','&Kappa;','&kappa;',
+'&Lambda;','&lambda;','&lang;','&laquo;','&lArr;','&larr;','&lceil;','&ldquo;','&le;','&lfloor;',
+'&lowast;','&loz;','&lrm;','&lsaquo;','&lsquo;','&macr;','&mdash;','&micro;','&middot;','&minus;',
+'&Mu;','&mu;','&nabla;','&ndash;','&ne;','&ni;','&not;','&notin;','&nsub;','&Ntilde;',
+'&ntilde;','&Nu;','&nu;','&Oacute;','&oacute;','&Ocirc;','&ocirc;','&OElig;','&oelig;','&Ograve;',
+'&ograve;','&oline;','&Omega;','&omega;','&Omicron;','&omicron;','&oplus;','&or;','&ordf;','&ordm;',
+'&Oslash;','&oslash;','&Otilde;','&otilde;','&otimes;','&Ouml;','&ouml;','&para;','&part;','&permil;',
+'&perp;','&Phi;','&phi;','&Pi;','&pi;','&piv;','&plusmn;','&pound;','&Prime;','&prime;',
+'&prod;','&prop;','&Psi;','&psi;','&radic;','&rang;','&raquo;','&rArr;','&rarr;','&rceil;',
+'&rdquo;','&real;','&reg;','&rfloor;','&Rho;','&rho;','&rlm;','&rsaquo;','&rsquo;','&sbquo;',
+'&Scaron;','&scaron;','&sdot;','&sect;','&shy;','&Sigma;','&sigma;','&sigmaf;','&sim;','&spades;',
+'&sub;','&sube;','&sum;','&sup;','&sup1;','&sup2;','&sup3;','&supe;','&szlig;','&Tau;',
+'&tau;','&there4;','&Theta;','&theta;','&thetasym;','&thinsp;','&THORN;','&thorn;','&tilde;','&times;',
+'&trade;','&Uacute;','&uacute;','&uArr;','&uarr;','&Ucirc;','&ucirc;','&Ugrave;','&ugrave;','&uml;',
+'&upsih;','&Upsilon;','&upsilon;','&Uuml;','&uuml;','&weierp;','&Xi;','&xi;','&Yacute;','&yacute;',
+'&yen;','&Yuml;','&yuml;','&Zeta;','&zeta;','&zwj;','&zwnj;'
+);
+
+// nicht enthalten &gt; &lt; &apos; &#039; &quot; &amp; &nbsp;
+global $numbered_entities;
+$numbered_entities=array(
+'&#193;','&#225;','&#194;','&#226;','&#180;','&#198;','&#230;','&#192;','&#224;','&#8501;',
+'&#913;','&#945;','&#8743;','&#8736;','&#197;','&#229;','&#8776;','&#195;','&#227;','&#196;',
+'&#228;','&#8222;','&#914;','&#946;','&#166;','&#8226;','&#8745;','&#199;','&#231;','&#184;',
+'&#162;','&#935;','&#967;','&#710;','&#9827;','&#8773;','&#169;','&#8629;','&#8746;','&#164;',
+'&#8225;','&#8224;','&#8659;','&#8595;','&#176;','&#916;','&#948;','&#9830;','&#247;','&#201;',
+'&#233;','&#202;','&#234;','&#200;','&#232;','&#8709;','&#8195;','&#8194;','&#917;','&#949;',
+'&#8801;','&#919;','&#951;','&#208;','&#240;','&#203;','&#235;','&#8364;','&#8707;','&#402;',
+'&#8704;','&#189;','&#188;','&#190;','&#8260;','&#915;','&#947;','&#8805;','&#8660;','&#8596;',
+'&#9829;','&#8230;','&#205;','&#237;','&#206;','&#238;','&#161;','&#204;','&#236;','&#8465;',
+'&#8734;','&#8747;','&#921;','&#953;','&#191;','&#8712;','&#207;','&#239;','&#922;','&#954;',
+'&#923;','&#955;','&#9001;','&#171;','&#8656;','&#8592;','&#8968;','&#8220;','&#8804;','&#8970;',
+'&#8727;','&#9674;','&#8206;','&#8249;','&#8216;','&#175;','&#8212;','&#181;','&#183;','&#8722;',
+'&#924;','&#956;','&#8711;','&#8211;','&#8800;','&#8715;','&#172;','&#8713;','&#8836;','&#209;',
+'&#241;','&#925;','&#957;','&#211;','&#243;','&#212;','&#244;','&#338;','&#339;','&#210;','&#242;',
+'&#8254;','&#937;','&#969;','&#927;','&#959;','&#8853;','&#8744;','&#170;','&#186;','&#216;','&#248;',
+'&#213;','&#245;','&#8855;','&#214;','&#246;','&#182;','&#8706;','&#8240;','&#8869;','&#934;','&#966;',
+'&#928;','&#960;','&#982;','&#177;','&#163;','&#8243;','&#8242;','&#8719;','&#8733;','&#936;','&#968;',
+'&#8730;','&#9002;','&#187;','&#8658;','&#8594;','&#8969;','&#8221;','&#8476;','&#174;','&#8971;','&#929;',
+'&#961;','&#8207;','&#8250;','&#8217;','&#8218;','&#352;','&#353;','&#8901;','&#167;','&#173;','&#931;',
+'&#963;','&#962;','&#8764;','&#9824;','&#8834;','&#8838;','&#8721;','&#8835;','&#185;','&#178;','&#179;',
+'&#8839;','&#223;','&#932;','&#964;','&#8756;','&#920;','&#952;','&#977;','&#8201;','&#222;','&#254;',
+'&#732;','&#215;','&#8482;','&#218;','&#250;','&#8657;','&#8593;','&#219;','&#251;','&#217;','&#249;',
+'&#168;','&#978;','&#933;','&#965;','&#220;','&#252;','&#8472;','&#926;','&#958;','&#221;','&#253;',
+'&#165;','&#376;','&#255;','&#918;','&#950;','&#8205;','&#8204;'
+);
+
+/*
+ * The following part of this file is based on 'utf8.php' from the DokuWiki-project.
+ * (http://www.splitbrain.org/projects/dokuwiki):
+ **
+ * UTF8 helper functions
+ * @license    LGPL (http://www.gnu.org/copyleft/lesser.html)
+ * @author     Andreas Gohr <andi@splitbrain.org>
+ **
+ * modified for use with Website Baker
+ * from thorn, Jan. 2008
+ */
+
+/**
+ * UTF-8 array of common special characters
+ *
+ * This array should contain all special characters (not a letter or digit)
+ * defined in the various local charsets - it's not a complete list of non-alphanum
+ * characters in UTF-8. It's not perfect but should match most cases of special
+ * chars.
+ *
+ * The controlchars 0x00 to 0x19 are _not_ included in this array. The space 0x20 is!
+ * These chars are _not_ in the array either:  _ (0x5f), : 0x3a, . 0x2e, - 0x2d, * 0x2a
+ *
+ * @author Andreas Gohr <andi@splitbrain.org>
+ * @see    utf8_stripspecials()
+ */
+$UTF8_SPECIAL_CHARS2="\x1A\x1b\x1c\x1d\x1e\x1f\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2b\x2c\x2f\x3b".
+	"\x3c\x3d\x3e\x3f\x40\x5b\x5c\x5d\x5e\x60\x7b\x7c\x7d\x7e\x7f\xc2\x80\xc2\x81\xc2".
+	"\x82\xc2\x83\xc2\x84\xc2\x85\xc2\x86\xc2\x87\xc2\x88\xc2\x89\xc2\x8a\xc2\x8b\xc2".
+	"\x8c\xc2\x8d\xc2\x8e\xc2\x8f\xc2\x90\xc2\x91\xc2\x92\xc2\x93\xc2\x94\xc2\x95\xef".
+	"\xbf\xbd\xef\xbf\xbd\xc2\x97\xc2\x98\xc2\x99\xc2\x9a\xc2\x9b\xc2\x9c\xc2\x9d\xc2".
+	"\x9e\xc2\x9f\x20\xc2\xa1\xc2\xa2\xc2\xa3\xc2\xa4\xc2\xa5\xc2\xa6\xc2\xa7\xc2\xa8".
+	"\xc2\xa9\xc2\xaa\xc2\xab\xc2\xac\xc2\xad\xc2\xae\xc2\xaf\xc2\xb0\xc2\xb1\xc2\xb2".
+	"\xc2\xb3\xc2\xb4\xc2\xb5\xc2\xb6\xc2\xb7\xc2\xb8\xc2\xb9\xc2\xba\xc2\xbb\xc2\xbc".
+	"\xc2\xbd\xef\xbf\xbd\xef\xbf\xbd\xc2\xbf\xc3\x97\xc3\xb7\xcb\x87\xcb\x98\xcb\x99".
+	"\xcb\x9a\xcb\x9b\xcb\x9c\xcb\x9d\xcc\x80\xcc\x81\xcc\x83\xcc\x89\xcc\xa3\xce\x84".
+	"\xce\x85\xce\x87\xce\xb2\xcf\x86\xcf\x91\xcf\x92\xcf\x95\xcf\x96\xd6\xb0\xd6\xb1".
+	"\xd6\xb2\xd6\xb3\xd6\xb4\xd6\xb5\xd6\xb6\xd6\xb7\xd6\xb8\xd6\xb9\xd6\xbb\xd6\xbc".
+	"\xd6\xbd\xd6\xbe\xd6\xbf\xef\xbf\xbd\xef\xbf\xbd\xd7\x81\xd7\x82\xd7\x83\xd7\xb3".
+	"\xd7\xb4\xd8\x8c\xd8\x9b\xd8\x9f\xd9\x80\xd9\x8b\xd9\x8c\xd9\x8d\xd9\x8e\xd9\x8f".
+	"\xd9\x90\xd9\x91\xd9\x92\xd9\xaa\xe0\xb8\xbf\xe2\x80\x8c\xe2\x80\x8d\xe2\x80\x8e".
+	"\xe2\x80\x8f\xe2\x80\x93\xe2\x80\x94\xe2\x80\x95\xe2\x80\x97\xe2\x80\x98\xe2\x80".
+	"\x99\xe2\x80\x9a\xe2\x80\x9c\xe2\x80\x9d\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xe2".
+	"\x80\xa0\xe2\x80\xa1\xe2\x80\xa2\xe2\x80\xa6\xe2\x80\xb0\xe2\x80\xb2\xe2\x80\xb3".
+	"\xe2\x80\xb9\xe2\x80\xba\xe2\x81\x84\xe2\x82\xa7\xe2\x82\xaa\xe2\x82\xab\xe2\x82".
+	"\xac\xe2\x84\x96\xe2\x84\x98\xe2\x84\xa2\xe2\x84\xa6\xe2\x84\xb5\xe2\x86\x90\xe2".
+	"\x86\x91\xe2\x86\x92\xe2\x86\x93\xe2\x86\x94\xe2\x86\x95\xe2\x86\xb5\xe2\x87\x90".
+	"\xe2\x87\x91\xe2\x87\x92\xe2\x87\x93\xe2\x87\x94\xe2\x88\x80\xe2\x88\x82\xe2\x88".
+	"\x83\xe2\x88\x85\xe2\x88\x86\xe2\x88\x87\xe2\x88\x88\xe2\x88\x89\xe2\x88\x8b\xe2".
+	"\x88\x8f\xe2\x88\x91\xe2\x88\x92\xe2\x88\x95\xe2\x88\x97\xe2\x88\x99\xe2\x88\x9a".
+	"\xe2\x88\x9d\xe2\x88\x9e\xe2\x88\xa0\xe2\x88\xa7\xe2\x88\xa8\xef\xbf\xbd\xef\xbf".
+	"\xbd\xe2\x88\xaa\xe2\x88\xab\xe2\x88\xb4\xe2\x88\xbc\xe2\x89\x85\xe2\x89\x88\xe2".
+	"\x89\xa0\xe2\x89\xa1\xe2\x89\xa4\xe2\x89\xa5\xe2\x8a\x82\xe2\x8a\x83\xe2\x8a\x84".
+	"\xe2\x8a\x86\xe2\x8a\x87\xe2\x8a\x95\xe2\x8a\x97\xe2\x8a\xa5\xe2\x8b\x85\xe2\x8c".
+	"\x90\xe2\x8c\xa0\xe2\x8c\xa1\xe2\x8c\xa9\xe2\x8c\xaa\xe2\x91\xa9\xe2\x94\x80\xef".
+	"\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xe2\x94\x8c\xe2\x94\x90\xe2\x94\x94\xe2\x94\x98".
+	"\xe2\x94\x9c\xe2\x94\xa4\xe2\x94\xac\xe2\x94\xb4\xe2\x94\xbc\xe2\x95\x90\xe2\x95".
+	"\x91\xe2\x95\x92\xe2\x95\x93\xe2\x95\x94\xe2\x95\x95\xe2\x95\x96\xe2\x95\x97\xe2".
+	"\x95\x98\xe2\x95\x99\xe2\x95\x9a\xe2\x95\x9b\xe2\x95\x9c\xe2\x95\x9d\xe2\x95\x9e".
+	"\xe2\x95\x9f\xe2\x95\xa0\xe2\x95\xa1\xe2\x95\xa2\xe2\x95\xa3\xe2\x95\xa4\xe2\x95".
+	"\xa5\xe2\x95\xa6\xe2\x95\xa7\xe2\x95\xa8\xe2\x95\xa9\xe2\x95\xaa\xe2\x95\xab\xe2".
+	"\x95\xac\xe2\x96\x80\xe2\x96\x84\xe2\x96\x88\xe2\x96\x8c\xe2\x96\x90\xe2\x96\x91".
+	"\xe2\x96\x92\xe2\x96\x93\xe2\x96\xa0\xe2\x96\xb2\xe2\x96\xbc\xe2\x97\x86\xe2\x97".
+	"\x8a\xe2\x97\x8f\xef\xbf\xbd\xef\xbf\xbd\xe2\x98\x85\xe2\x98\x8e\xe2\x98\x9b\xe2".
+	"\x98\x9e\xe2\x99\xa0\xe2\x99\xa3\xe2\x99\xa5\xe2\x99\xa6\xe2\x9c\x81\xe2\x9c\x82".
+	"\xe2\x9c\x83\xe2\x9c\x84\xe2\x9c\x86\xe2\x9c\x87\xe2\x9c\x88\xe2\x9c\x89\xe2\x9c".
+	"\x8c\xe2\x9c\x8d\xe2\x9c\x8e\xe2\x9c\x8f\xe2\x9c\x90\xe2\x9c\x91\xe2\x9c\x92\xe2".
+	"\x9c\x93\xe2\x9c\x94\xe2\x9c\x95\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xe2\x9c\x97".
+	"\xe2\x9c\x98\xe2\x9c\x99\xe2\x9c\x9a\xe2\x9c\x9b\xe2\x9c\x9c\xe2\x9c\x9d\xe2\x9c".
+	"\x9e\xe2\x9c\x9f\xe2\x9c\xa0\xe2\x9c\xa1\xe2\x9c\xa2\xe2\x9c\xa3\xe2\x9c\xa4\xe2".
+	"\x9c\xa5\xe2\x9c\xa6\xe2\x9c\xa7\xe2\x9c\xa9\xe2\x9c\xaa\xe2\x9c\xab\xe2\x9c\xac".
+	"\xe2\x9c\xad\xe2\x9c\xae\xe2\x9c\xaf\xe2\x9c\xb0\xe2\x9c\xb1\xe2\x9c\xb2\xe2\x9c".
+	"\xb3\xe2\x9c\xb4\xe2\x9c\xb5\xe2\x9c\xb6\xe2\x9c\xb7\xe2\x9c\xb8\xe2\x9c\xb9\xe2".
+	"\x9c\xba\xe2\x9c\xbb\xe2\x9c\xbc\xe2\x9c\xbd\xe2\x9c\xbe\xe2\x9c\xbf\xe2\x9d\x80".
+	"\xe2\x9d\x81\xe2\x9d\x82\xe2\x9d\x83\xe2\x9d\x84\xe2\x9d\x85\xe2\x9d\x86\xe2\x9d".
+	"\x87\xe2\x9d\x88\xe2\x9d\x89\xe2\x9d\x8a\xe2\x9d\x8b\xef\xbf\xbd\xef\xbf\xbd\xe2".
+	"\x9d\x8f\xe2\x9d\x90\xe2\x9d\x91\xe2\x9d\x92\xe2\x9d\x96\xe2\x9d\x98\xe2\x9d\x99".
+	"\xe2\x9d\x9a\xe2\x9d\x9b\xe2\x9d\x9c\xe2\x9d\x9d\xe2\x9d\x9e\xe2\x9d\xa1\xe2\x9d".
+	"\xa2\xe2\x9d\xa3\xe2\x9d\xa4\xe2\x9d\xa5\xe2\x9d\xa6\xe2\x9d\xa7\xe2\x9d\xbf\xe2".
+	"\x9e\x89\xe2\x9e\x93\xe2\x9e\x94\xe2\x9e\x98\xe2\x9e\x99\xe2\x9e\x9a\xef\xbf\xbd".
+	"\xef\xbf\xbd\xef\xbf\xbd\xe2\x9e\x9c\xe2\x9e\x9d\xe2\x9e\x9e\xe2\x9e\x9f\xe2\x9e".
+	"\xa0\xe2\x9e\xa1\xe2\x9e\xa2\xe2\x9e\xa3\xe2\x9e\xa4\xe2\x9e\xa5\xe2\x9e\xa6\xe2".
+	"\x9e\xa7\xe2\x9e\xa8\xe2\x9e\xa9\xe2\x9e\xaa\xe2\x9e\xab\xe2\x9e\xac\xe2\x9e\xad".
+	"\xe2\x9e\xae\xe2\x9e\xaf\xe2\x9e\xb1\xe2\x9e\xb2\xe2\x9e\xb3\xe2\x9e\xb4\xe2\x9e".
+	"\xb5\xe2\x9e\xb6\xe2\x9e\xb7\xe2\x9e\xb8\xe2\x9e\xb9\xe2\x9e\xba\xe2\x9e\xbb\xe2".
+	"\x9e\xbc\xe2\x9e\xbd\xe2\x9e\xbe\xe3\x80\x80\xe3\x80\x81\xe3\x80\x82\xe3\x80\x83".
+	"\xe3\x80\x88\xe3\x80\x89\xe3\x80\x8a\xe3\x80\x8b\xe3\x80\x8c\xe3\x80\x8d\xe3\x80".
+	"\x8e\xe3\x80\x8f\xe3\x80\x90\xe3\x80\x91\xe3\x80\x92\xe3\x80\x94\xe3\x80\x95\xe3".
+	"\x80\x96\xe3\x80\x97\xe3\x80\x98\xe3\x80\x99\xe3\x80\x9a\xe3\x80\x9b\xe3\x80\xb6".
+	"\xef\x9b\x99\xef\x9b\x9a\xef\x9b\x9b\xef\xa3\x97\xef\xa3\x98\xef\xa3\x99\xef\xa3".
+	"\x9a\xef\xa3\x9b\xef\xa3\x9c\xef\xa3\x9d\xef\xa3\x9e\xef\xa3\x9f\xef\xa3\xa0\xef".
+	"\xa3\xa1\xef\xa3\xa2\xef\xa3\xa3\xef\xa3\xa4\xef\xa3\xa5\xef\xbf\xbd\xef\xbf\xbd".
+	"\xef\xa3\xa7\xef\xa3\xa8\xef\xa3\xa9\xef\xa3\xaa\xef\xa3\xab\xef\xa3\xac\xef\xa3".
+	"\xad\xef\xa3\xae\xef\xa3\xaf\xef\xa3\xb0\xef\xa3\xb1\xef\xa3\xb2\xef\xa3\xb3\xef".
+	"\xa3\xb4\xef\xa3\xb5\xef\xa3\xb6\xef\xa3\xb7\xef\xa3\xb8\xef\xa3\xb9\xef\xa3\xba".
+	"\xef\xa3\xbb\xef\xa3\xbc\xef\xa3\xbd\xef\xa3\xbe\xef\xb9\xbc\xef\xb9\xbd\xef\xbc".
+	"\x81\xef\xbc\x82\xef\xbc\x83\xef\xbc\x84\xef\xbc\x85\xef\xbc\x86\xef\xbc\x87\xef".
+	"\xbc\x88\xef\xbc\x89\xef\xbc\x8a\xef\xbc\x8b\xef\xbc\x8c\xef\xbc\x8d\xef\xbc\x8e".
+	"\xef\xbc\x8f\xef\xbc\x9a\xef\xbc\x9b\xef\xbc\x9c\xef\xbc\x9d\xef\xbc\x9e\xef\xbc".
+	"\x9f\xef\xbc\xa0\xef\xbc\xbb\xef\xbc\xbc\xef\xbc\xbd\xef\xbc\xbe\xef\xbd\x80\xef".
+	"\xbd\x9b\xef\xbd\x9c\xef\xbd\x9d\xef\xbd\x9e\xef\xbd\x9f\xef\xbd\xa0\xef\xbd\xa1".
+	"\xef\xbd\xa2\xef\xbd\xa3\xef\xbd\xa4\xef\xbd\xa5\xef\xbf\xa0\xef\xbf\xa1\xef\xbf".
+	"\xa2\xef\xbf\xa3\xef\xbf\xa4\xef\xbf\xa5\xef\xbf\xa6\xef\xbf\xa8\xef\xbf\xa9\xef".
+	"\xbf\xaa\xef\xbf\xab\xef\xbf\xac\xef\xbf\xad\xef\xbf\xae";
+
+/**
+ * Romanization lookup table
+ *
+ * This lookup tables provides a way to transform strings written in a language
+ * different from the ones based upon latin letters into plain ASCII.
+ *
+ * Please note: this is not a scientific transliteration table. It only works
+ * oneway from nonlatin to ASCII and it works by simple character replacement
+ * only. Specialities of each language are not supported.
+ *
+ * @author Andreas Gohr <andi@splitbrain.org>
+ * @author Vitaly Blokhin <vitinfo@vitn.com>
+ * @link   http://www.uconv.com/translit.htm
+ * @author Bisqwit <bisqwit@iki.fi>
+ * @link   http://kanjidict.stc.cx/hiragana.php?src=2
+ * @link   http://www.translatum.gr/converter/greek-transliteration.htm
+ * @link   http://en.wikipedia.org/wiki/Royal_Thai_General_System_of_Transcription
+ * @link   http://www.btranslations.com/resources/romanization/korean.asp
+ * @author Arthit Suriyawongkul <arthit@gmail.com>
+ * @author thorn <thorn@nettest.thekk.de>
+ */
+global $UTF8_ROMANIZATION;
+$UTF8_ROMANIZATION = array(
+	// Latin
+	"\xc3\x81"=>"A","\xc3\xa1"=>"a","\xc3\x82"=>"A",
+	"\xc3\xa2"=>"a","\xc3\x86"=>"Ae","\xc3\xa6"=>"ae","\xc3\x80"=>"A",
+	"\xc3\xa0"=>"a","\xc3\x85"=>"A","\xc3\xa5"=>"a","\xc3\x83"=>"A",
+	"\xc3\xa3"=>"a","\xc3\x84"=>"Ae","\xc3\xa4"=>"ae","\xc3\x87"=>"C",
+	"\xc3\xa7"=>"c","\xc3\x89"=>"E","\xc3\xa9"=>"e","\xc3\x8a"=>"E",
+	"\xc3\xaa"=>"e","\xc3\x88"=>"E","\xc3\xa8"=>"e","\xc3\x8b"=>"E",
+	"\xc3\xab"=>"e","\xc3\x8d"=>"I","\xc3\xad"=>"i","\xc3\x8e"=>"I",
+	"\xc3\xae"=>"i","\xc3\x8c"=>"I","\xc3\xac"=>"i","\xc3\x8f"=>"I",
+	"\xc3\xaf"=>"i","\xc3\x91"=>"N","\xc3\xb1"=>"n","\xc3\x93"=>"O",
+	"\xc3\xb3"=>"o","\xc3\x94"=>"O","\xc3\xb4"=>"o","\xc5\x92"=>"Oe",
+	"\xc5\x93"=>"oe","\xc3\x92"=>"O","\xc3\xb2"=>"o","\xc3\x95"=>"O",
+	"\xc3\xb5"=>"o","\xc3\x96"=>"Oe","\xc3\xb6"=>"oe","\xc5\xa0"=>"S",
+	"\xc5\xa1"=>"s","\xc3\x9f"=>"ss","\xc3\x9a"=>"U","\xc3\xba"=>"u",
+	"\xc3\x9b"=>"U","\xc3\xbb"=>"u","\xc3\x99"=>"U","\xc3\xb9"=>"u",
+	"\xc3\x9c"=>"Ue","\xc3\xbc"=>"ue","\xc3\x9d"=>"Y","\xc3\xbd"=>"y",
+	"\xc5\xb8"=>"Y","\xc3\xbf"=>"y","\xc2\xa9"=>"(c)","\xc2\xae"=>"(r)",
+	"\xc3\x90"=>"D","\xc3\x97"=>"x","\xc3\x98"=>"O","\xc3\x9e"=>"Th",
+	"\xc3\xb0"=>"d","\xc3\xb8"=>"o","\xc3\xbe"=>"th","\x27"=>"-",
+	"\x22"=>"-","\xc4\x80"=>"A","\xc4\x81"=>"a","\xc4\x82"=>"A",
+	"\xc4\x83"=>"a","\xc4\x84"=>"A","\xc4\x85"=>"a","\xc4\x86"=>"C",
+	"\xc4\x87"=>"c","\xc4\x88"=>"C","\xc4\x89"=>"c","\xc4\x8d"=>"c",
+	"\xc4\x8c"=>"C","\xc4\x8b"=>"c","\xc4\x8a"=>"C","\xc4\x91"=>"d",
+	"\xc4\x90"=>"D","\xc4\x8f"=>"d","\xc4\x8e"=>"D","\xc4\x93"=>"e",
+	"\xc4\x92"=>"E","\xc4\x94"=>"E","\xc4\x95"=>"e","\xc4\x96"=>"E",
+	"\xc4\x97"=>"e","\xc4\x98"=>"E","\xc4\x99"=>"e","\xc4\x9a"=>"E",
+	"\xc4\x9b"=>"e","\xc4\x9c"=>"G","\xc4\x9d"=>"g","\xc4\x9e"=>"G",
+	"\xc4\x9f"=>"g","\xc4\xa0"=>"G","\xc4\xa1"=>"g","\xc4\xa2"=>"G",
+	"\xc4\xa3"=>"g","\xc4\xa4"=>"H","\xc4\xa5"=>"h","\xc4\xa6"=>"H",
+	"\xc4\xa7"=>"h","\xc4\xa8"=>"I","\xc4\xa9"=>"i","\xc4\xaa"=>"I",
+	"\xc4\xab"=>"i","\xc4\xac"=>"I","\xc4\xad"=>"i","\xc4\xae"=>"I",
+	"\xc4\xaf"=>"i","\xc4\xb0"=>"I","\xc4\xb1"=>"i","\xc4\xb2"=>"IJ",
+	"\xc4\xb3"=>"ij","\xc4\xb4"=>"J","\xc4\xb5"=>"j","\xc4\xb6"=>"K",
+	"\xc4\xb7"=>"k","\xc4\xb8"=>"k","\xc4\xb9"=>"L","\xc4\xba"=>"l",
+	"\xc4\xbb"=>"L","\xc4\xbc"=>"l","\xc4\xbd"=>"L","\xc4\xbe"=>"l",
+	"\xc4\xbf"=>"L","\xc5\x80"=>"l","\xc5\x81"=>"L","\xc5\x82"=>"l",
+	"\xc5\x83"=>"N","\xc5\x84"=>"n","\xc5\x85"=>"N","\xc5\x86"=>"n",
+	"\xc5\x87"=>"N","\xc5\x88"=>"n","\xc5\x89"=>"n","\xc5\x8a"=>"N",
+	"\xc5\x8b"=>"n","\xc5\x8c"=>"O","\xc5\x8d"=>"o","\xc5\x8e"=>"O",
+	"\xc5\x8f"=>"o","\xc5\x90"=>"O","\xc5\x91"=>"o","\xc5\x94"=>"R",
+	"\xc5\x95"=>"r","\xc5\x96"=>"R","\xc5\x97"=>"r","\xc5\x98"=>"R",
+	"\xc5\x99"=>"r","\xc5\x9a"=>"S","\xc5\x9b"=>"s","\xc5\x9c"=>"S",
+	"\xc5\x9d"=>"s","\xc5\x9e"=>"S","\xc5\x9f"=>"s","\xc5\xa2"=>"T",
+	"\xc5\xa3"=>"t","\xc5\xa4"=>"T","\xc5\xa5"=>"t","\xc5\xa6"=>"T",
+	"\xc5\xa7"=>"t","\xc5\xa8"=>"U","\xc5\xa9"=>"u","\xc5\xaa"=>"U",
+	"\xc5\xab"=>"u","\xc5\xac"=>"U","\xc5\xad"=>"u","\xc5\xae"=>"U",
+	"\xc5\xaf"=>"u","\xc5\xb0"=>"U","\xc5\xb1"=>"u","\xc5\xb2"=>"U",
+	"\xc5\xb3"=>"u","\xc5\xb4"=>"W","\xc5\xb5"=>"w","\xc5\xb6"=>"Y",
+	"\xc5\xb7"=>"y","\xc5\xb9"=>"Z","\xc5\xba"=>"z","\xc5\xbb"=>"Z",
+	"\xc5\xbc"=>"z","\xc5\xbd"=>"Z","\xc5\xbe"=>"z","\xc5\xbf"=>"s",
+	"\xef\xac\x80"=>"ff","\xef\xac\x81"=>"fi","\xef\xac\x82"=>"fl","\xef\xac\x83"=>"ffi",
+	"\xef\xac\x84"=>"ffl","\xef\xac\x85"=>"st","\xef\xac\x86"=>"st","\xc6\x80"=>"b",
+	"\xc6\x81"=>"B","\xc6\x82"=>"B","\xc6\x83"=>"b","\xc6\x84"=>"6",
+	"\xc6\x85"=>"6","\xc6\x86"=>"O","\xc6\x87"=>"C","\xc6\x88"=>"c",
+	"\xc6\x89"=>"D","\xc6\x8a"=>"D","\xc6\x8b"=>"D","\xc6\x8c"=>"d",
+	"\xc6\x8d"=>"d","\xc6\x8e"=>"E","\xc6\x8f"=>"e","\xc6\x90"=>"E",
+	"\xc6\x91"=>"F","\xc6\x92"=>"f","\xc6\x93"=>"G","\xc6\x94"=>"G",
+	"\xc6\x95"=>"hw","\xc6\x96"=>"I","\xc6\x97"=>"I","\xc6\x98"=>"K",
+	"\xc6\x99"=>"k","\xc6\x9a"=>"l","\xc6\x9b"=>"l","\xc6\x9c"=>"M",
+	"\xc6\x9d"=>"N","\xc6\x9e"=>"n","\xc6\x9f"=>"O","\xc6\xa0"=>"O",
+	"\xc6\xa1"=>"o","\xc6\xa2"=>"OI","\xc6\xa3"=>"oi","\xc6\xa4"=>"P",
+	"\xc6\xa5"=>"p","\xc6\xa6"=>"YR","\xc6\xa7"=>"2","\xc6\xa8"=>"2",
+	"\xc6\xa9"=>"ESH","\xc6\xaa"=>"esh","\xc6\xab"=>"t","\xc6\xac"=>"T",
+	"\xc6\xad"=>"t","\xc6\xae"=>"T","\xc6\xaf"=>"U","\xc6\xb0"=>"u",
+	"\xc6\xb1"=>"V","\xc6\xb2"=>"v","\xc6\xb3"=>"Y","\xc6\xb4"=>"y",
+	"\xc6\xb5"=>"Z","\xc6\xb6"=>"z","\xc6\xb7"=>"EZH","\xc6\xb8"=>"EZH",
+	"\xc6\xb9"=>"ezh","\xc6\xba"=>"ezh","\xc6\xbb"=>"2","\xc6\xbc"=>"5",
+	"\xc6\xbd"=>"5","\xc6\xbe"=>"-","\xc6\xbf"=>"w","\xc7\x80"=>"-",
+	"\xc7\x81"=>"-","\xc7\x82"=>"-","\xc7\x83"=>"-","\xc7\x84"=>"DZ",
+	"\xc7\x85"=>"DZ","\xc7\x86"=>"dz","\xc7\x87"=>"LJ","\xc7\x88"=>"Lj",
+	"\xc7\x89"=>"lj","\xc7\x8a"=>"NJ","\xc7\x8b"=>"Nj","\xc7\x8c"=>"nj",
+	"\xc7\x8d"=>"A","\xc7\x8e"=>"a","\xc7\x8f"=>"I","\xc7\x90"=>"i",
+	"\xc7\x91"=>"O","\xc7\x92"=>"o","\xc7\x93"=>"U","\xc7\x94"=>"u",
+	"\xc7\x95"=>"U","\xc7\x96"=>"u","\xc7\x97"=>"U","\xc7\x98"=>"u",
+	"\xc7\x99"=>"U","\xc7\x9a"=>"u","\xc7\x9b"=>"U","\xc7\x9c"=>"u",
+	"\xc7\x9d"=>"e","\xc7\x9e"=>"A","\xc7\x9f"=>"a","\xc7\xa0"=>"A",
+	"\xc7\xa1"=>"a","\xc7\xa2"=>"AE","\xc7\xa3"=>"ae","\xc7\xa4"=>"G",
+	"\xc7\xa5"=>"g","\xc7\xa6"=>"G","\xc7\xa7"=>"g","\xc7\xa8"=>"K",
+	"\xc7\xa9"=>"k","\xc7\xaa"=>"O","\xc7\xab"=>"o","\xc7\xac"=>"O",
+	"\xc7\xad"=>"o","\xc7\xae"=>"EZH","\xc7\xaf"=>"ezh","\xc7\xb0"=>"j",
+	"\xc7\xb1"=>"DZ","\xc7\xb2"=>"Dz","\xc7\xb3"=>"dz","\xc7\xb4"=>"G",
+	"\xc7\xb5"=>"g","\xc7\xb6"=>"HW","\xc7\xb7"=>"W","\xc7\xb8"=>"N",
+	"\xc7\xb9"=>"n","\xc7\xba"=>"A","\xc7\xbb"=>"a","\xc7\xbc"=>"AE",
+	"\xc7\xbd"=>"ae","\xc7\xbe"=>"O","\xc7\xbf"=>"o","\xc8\x80"=>"A",
+	"\xc8\x81"=>"a","\xc8\x82"=>"A","\xc8\x83"=>"a","\xc8\x84"=>"E",
+	"\xc8\x85"=>"e","\xc8\x86"=>"E","\xc8\x87"=>"e","\xc8\x88"=>"I",
+	"\xc8\x89"=>"i","\xc8\x8a"=>"I","\xc8\x8b"=>"i","\xc8\x8c"=>"O",
+	"\xc8\x8d"=>"o","\xc8\x8e"=>"O","\xc8\x8f"=>"o","\xc8\x90"=>"R",
+	"\xc8\x91"=>"r","\xc8\x92"=>"R","\xc8\x93"=>"r","\xc8\x94"=>"U",
+	"\xc8\x95"=>"u","\xc8\x96"=>"U","\xc8\x97"=>"u","\xc8\x98"=>"S",
+	"\xc8\x99"=>"s","\xc8\x9a"=>"T","\xc8\x9b"=>"t","\xc8\x9c"=>"Y",
+	"\xc8\x9d"=>"y","\xc8\x9e"=>"H","\xc8\x9f"=>"h","\xc8\xa0"=>"n",
+	"\xc8\xa1"=>"d","\xc8\xa2"=>"OU","\xc8\xa3"=>"ou","\xc8\xa4"=>"Z",
+	"\xc8\xa5"=>"z","\xc8\xa6"=>"A","\xc8\xa7"=>"a","\xc8\xa8"=>"E",
+	"\xc8\xa9"=>"e","\xc8\xaa"=>"O","\xc8\xab"=>"o","\xc8\xac"=>"O",
+	"\xc8\xad"=>"o","\xc8\xae"=>"O","\xc8\xaf"=>"o","\xc8\xb0"=>"O",
+	"\xc8\xb1"=>"o","\xc8\xb2"=>"Y","\xc8\xb3"=>"y","\xc8\xb4"=>"l",
+	"\xc8\xb5"=>"n","\xc8\xb6"=>"t","\xc8\xb7"=>"j","\xc8\xb8"=>"db",
+	"\xc8\xb9"=>"qp","\xc8\xba"=>"A","\xc8\xbb"=>"C","\xc8\xbc"=>"c",
+	"\xc8\xbd"=>"L","\xc8\xbe"=>"T","\xc8\xbf"=>"s","\xc9\x80"=>"z",
+	"\xc9\x81"=>"-","\xe1\xb8\x80"=>"A","\xe1\xb8\x81"=>"a","\xe1\xb8\x82"=>"B",
+	"\xe1\xb8\x83"=>"b","\xe1\xb8\x84"=>"B","\xe1\xb8\x85"=>"b","\xe1\xb8\x86"=>"B",
+	"\xe1\xb8\x87"=>"b","\xe1\xb8\x88"=>"C","\xe1\xb8\x89"=>"c","\xe1\xb8\x8a"=>"D",
+	"\xe1\xb8\x8b"=>"d","\xe1\xb8\x8c"=>"D","\xe1\xb8\x8d"=>"d","\xe1\xb8\x8e"=>"D",
+	"\xe1\xb8\x8f"=>"d","\xe1\xb8\x90"=>"D","\xe1\xb8\x91"=>"d","\xe1\xb8\x92"=>"D",
+	"\xe1\xb8\x93"=>"d","\xe1\xb8\x94"=>"E","\xe1\xb8\x95"=>"e","\xe1\xb8\x96"=>"E",
+	"\xe1\xb8\x97"=>"e","\xe1\xb8\x98"=>"E","\xe1\xb8\x99"=>"e","\xe1\xb8\x9a"=>"E",
+	"\xe1\xb8\x9b"=>"e","\xe1\xb8\x9c"=>"E","\xe1\xb8\x9d"=>"e","\xe1\xb8\x9e"=>"F",
+	"\xe1\xb8\x9f"=>"f","\xe1\xb8\xa0"=>"G","\xe1\xb8\xa1"=>"g","\xe1\xb8\xa2"=>"H",
+	"\xe1\xb8\xa3"=>"h","\xe1\xb8\xa4"=>"H","\xe1\xb8\xa5"=>"h","\xe1\xb8\xa6"=>"H",
+	"\xe1\xb8\xa7"=>"h","\xe1\xb8\xa8"=>"H","\xe1\xb8\xa9"=>"h","\xe1\xb8\xaa"=>"H",
+	"\xe1\xb8\xab"=>"h","\xe1\xb8\xac"=>"I","\xe1\xb8\xad"=>"i","\xe1\xb8\xae"=>"I",
+	"\xe1\xb8\xaf"=>"i","\xe1\xb8\xb0"=>"K","\xe1\xb8\xb1"=>"k","\xe1\xb8\xb2"=>"K",
+	"\xe1\xb8\xb3"=>"k","\xe1\xb8\xb4"=>"K","\xe1\xb8\xb5"=>"k","\xe1\xb8\xb6"=>"L",
+	"\xe1\xb8\xb7"=>"l","\xe1\xb8\xb8"=>"L","\xe1\xb8\xb9"=>"l","\xe1\xb8\xba"=>"L",
+	"\xe1\xb8\xbb"=>"l","\xe1\xb8\xbc"=>"L","\xe1\xb8\xbd"=>"l","\xe1\xb8\xbe"=>"M",
+	"\xe1\xb8\xbf"=>"m","\xe1\xb9\x80"=>"M","\xe1\xb9\x81"=>"m","\xe1\xb9\x82"=>"M",
+	"\xe1\xb9\x83"=>"m","\xe1\xb9\x84"=>"N","\xe1\xb9\x85"=>"n","\xe1\xb9\x86"=>"N",
+	"\xe1\xb9\x87"=>"n","\xe1\xb9\x88"=>"N","\xe1\xb9\x89"=>"n","\xe1\xb9\x8a"=>"N",
+	"\xe1\xb9\x8b"=>"n","\xe1\xb9\x8c"=>"O","\xe1\xb9\x8d"=>"o","\xe1\xb9\x8e"=>"O",
+	"\xe1\xb9\x8f"=>"o","\xe1\xb9\x90"=>"O","\xe1\xb9\x91"=>"o","\xe1\xb9\x92"=>"O",
+	"\xe1\xb9\x93"=>"o","\xe1\xb9\x94"=>"P","\xe1\xb9\x95"=>"p","\xe1\xb9\x96"=>"P",
+	"\xe1\xb9\x97"=>"p","\xe1\xb9\x98"=>"R","\xe1\xb9\x99"=>"r","\xe1\xb9\x9a"=>"R",
+	"\xe1\xb9\x9b"=>"r","\xe1\xb9\x9c"=>"R","\xe1\xb9\x9d"=>"r","\xe1\xb9\x9e"=>"R",
+	"\xe1\xb9\x9f"=>"r","\xe1\xb9\xa0"=>"S","\xe1\xb9\xa1"=>"s","\xe1\xb9\xa2"=>"S",
+	"\xe1\xb9\xa3"=>"s","\xe1\xb9\xa4"=>"S","\xe1\xb9\xa5"=>"s","\xe1\xb9\xa6"=>"S",
+	"\xe1\xb9\xa7"=>"s","\xe1\xb9\xa8"=>"S","\xe1\xb9\xa9"=>"s","\xe1\xb9\xaa"=>"T",
+	"\xe1\xb9\xab"=>"t","\xe1\xb9\xac"=>"T","\xe1\xb9\xad"=>"t","\xe1\xb9\xae"=>"T",
+	"\xe1\xb9\xaf"=>"t","\xe1\xb9\xb0"=>"T","\xe1\xb9\xb1"=>"t","\xe1\xb9\xb2"=>"U",
+	"\xe1\xb9\xb3"=>"u","\xe1\xb9\xb4"=>"U","\xe1\xb9\xb5"=>"u","\xe1\xb9\xb6"=>"U",
+	"\xe1\xb9\xb7"=>"u","\xe1\xb9\xb8"=>"U","\xe1\xb9\xb9"=>"u","\xe1\xb9\xba"=>"U",
+	"\xe1\xb9\xbb"=>"u","\xe1\xb9\xbc"=>"V","\xe1\xb9\xbd"=>"v","\xe1\xb9\xbe"=>"V",
+	"\xe1\xb9\xbf"=>"v","\xe1\xba\x80"=>"W","\xe1\xba\x81"=>"w","\xe1\xba\x82"=>"W",
+	"\xe1\xba\x83"=>"w","\xe1\xba\x84"=>"W","\xe1\xba\x85"=>"w","\xe1\xba\x86"=>"W",
+	"\xe1\xba\x87"=>"w","\xe1\xba\x88"=>"W","\xe1\xba\x89"=>"w","\xe1\xba\x8a"=>"X",
+	"\xe1\xba\x8b"=>"x","\xe1\xba\x8c"=>"X","\xe1\xba\x8d"=>"x","\xe1\xba\x8e"=>"Y",
+	"\xe1\xba\x8f"=>"y","\xe1\xba\x90"=>"Z","\xe1\xba\x91"=>"z","\xe1\xba\x92"=>"Z",
+	"\xe1\xba\x93"=>"z","\xe1\xba\x94"=>"Z","\xe1\xba\x95"=>"z","\xe1\xba\x96"=>"h",
+	"\xe1\xba\x97"=>"t","\xe1\xba\x98"=>"w","\xe1\xba\x99"=>"y","\xe1\xba\x9a"=>"a",
+	"\xe1\xba\x9b"=>"s","\xe1\xba\xa0"=>"A","\xe1\xba\xa1"=>"a","\xe1\xba\xa2"=>"A",
+	"\xe1\xba\xa3"=>"a","\xe1\xba\xa4"=>"A","\xe1\xba\xa5"=>"a","\xe1\xba\xa6"=>"A",
+	"\xe1\xba\xa7"=>"a","\xe1\xba\xa8"=>"A","\xe1\xba\xa9"=>"a","\xe1\xba\xaa"=>"A",
+	"\xe1\xba\xab"=>"a","\xe1\xba\xac"=>"A","\xe1\xba\xad"=>"a","\xe1\xba\xae"=>"A",
+	"\xe1\xba\xaf"=>"a","\xe1\xba\xb0"=>"A","\xe1\xba\xb1"=>"a","\xe1\xba\xb2"=>"A",
+	"\xe1\xba\xb3"=>"a","\xe1\xba\xb4"=>"A","\xe1\xba\xb5"=>"a","\xe1\xba\xb6"=>"A",
+	"\xe1\xba\xb7"=>"a","\xe1\xba\xb8"=>"E","\xe1\xba\xb9"=>"e","\xe1\xba\xba"=>"E",
+	"\xe1\xba\xbb"=>"e","\xe1\xba\xbc"=>"E","\xe1\xba\xbd"=>"e","\xe1\xba\xbe"=>"E",
+	"\xe1\xba\xbf"=>"e","\xe1\xbb\x80"=>"E","\xe1\xbb\x81"=>"e","\xe1\xbb\x82"=>"E",
+	"\xe1\xbb\x83"=>"e","\xe1\xbb\x84"=>"E","\xe1\xbb\x85"=>"e","\xe1\xbb\x86"=>"E",
+	"\xe1\xbb\x87"=>"e","\xe1\xbb\x88"=>"I","\xe1\xbb\x89"=>"i","\xe1\xbb\x8a"=>"I",
+	"\xe1\xbb\x8b"=>"i","\xe1\xbb\x8c"=>"O","\xe1\xbb\x8d"=>"o","\xe1\xbb\x8e"=>"O",
+	"\xe1\xbb\x8f"=>"o","\xe1\xbb\x90"=>"O","\xe1\xbb\x91"=>"o","\xe1\xbb\x92"=>"O",
+	"\xe1\xbb\x93"=>"o","\xe1\xbb\x94"=>"O","\xe1\xbb\x95"=>"o","\xe1\xbb\x96"=>"O",
+	"\xe1\xbb\x97"=>"o","\xe1\xbb\x98"=>"O","\xe1\xbb\x99"=>"o","\xe1\xbb\x9a"=>"O",
+	"\xe1\xbb\x9b"=>"o","\xe1\xbb\x9c"=>"O","\xe1\xbb\x9d"=>"o","\xe1\xbb\x9e"=>"O",
+	"\xe1\xbb\x9f"=>"o","\xe1\xbb\xa0"=>"O","\xe1\xbb\xa1"=>"o","\xe1\xbb\xa2"=>"O",
+	"\xe1\xbb\xa3"=>"o","\xe1\xbb\xa4"=>"U","\xe1\xbb\xa5"=>"u","\xe1\xbb\xa6"=>"U",
+	"\xe1\xbb\xa7"=>"u","\xe1\xbb\xa8"=>"U","\xe1\xbb\xa9"=>"u","\xe1\xbb\xaa"=>"U",
+	"\xe1\xbb\xab"=>"u","\xe1\xbb\xac"=>"U","\xe1\xbb\xad"=>"u","\xe1\xbb\xae"=>"U",
+	"\xe1\xbb\xaf"=>"u","\xe1\xbb\xb0"=>"U","\xe1\xbb\xb1"=>"u","\xe1\xbb\xb2"=>"Y",
+	"\xe1\xbb\xb3"=>"y","\xe1\xbb\xb4"=>"Y","\xe1\xbb\xb5"=>"y","\xe1\xbb\xb6"=>"Y",
+	"\xe1\xbb\xb7"=>"y","\xe1\xbb\xb8"=>"Y","\xe1\xbb\xb9"=>"y",
+	// Cyrilic
+	"\xd0\x90"=>"A","\xd0\xb0"=>"a","\xd3\x90"=>"A","\xd3\x91"=>"a",
+	"\xd3\x92"=>"A","\xd3\x93"=>"a","\xd3\x94"=>"A","\xd3\x95"=>"a",
+	"\xd3\x98"=>"A","\xd3\x99"=>"a","\xd3\x9a"=>"A","\xd3\x9b"=>"a",
+	"\xd0\x91"=>"B","\xd0\xb1"=>"b","\xd0\x92"=>"V","\xd0\xb2"=>"v",
+	"\xd0\x93"=>"G","\xd0\xb3"=>"g","\xd2\x90"=>"Gh","\xd2\x91"=>"gh",
+	"\xd2\x94"=>"G","\xd2\x95"=>"g","\xd2\x92"=>"G","\xd2\x93"=>"g",
+	"\xd3\xb6"=>"G","\xd3\xb7"=>"g","\xd0\x94"=>"D","\xd0\xb4"=>"d",
+	"\xd0\x82"=>"D","\xd1\x92"=>"d","\xd0\x83"=>"G","\xd1\x93"=>"g",
+	"\xd0\x80"=>"E","\xd1\x90"=>"e","\xd0\x95"=>"E","\xd0\xb5"=>"e",
+	"\xd0\x81"=>"Jo","\xd1\x91"=>"jo","\xd3\x96"=>"E","\xd3\x97"=>"e",
+	"\xd0\x84"=>"Je","\xd1\x94"=>"je","\xd2\xbc"=>"C","\xd2\xbd"=>"c",
+	"\xd2\xbe"=>"C","\xd2\xbf"=>"c","\xd0\x96"=>"Zh","\xd0\xb6"=>"zh",
+	"\xd3\x81"=>"Z","\xd3\x82"=>"z","\xd3\x9c"=>"Z","\xd3\x9d"=>"z",
+	"\xd2\x96"=>"Z","\xd2\x97"=>"z","\xd0\x97"=>"Z","\xd0\xb7"=>"z",
+	"\xd3\x9e"=>"Z","\xd3\x9f"=>"z","\xd0\x85"=>"Z","\xd1\x95"=>"z",
+	"\xd3\xa0"=>"Z","\xd3\xa1"=>"z","\xd0\x8d"=>"I","\xd1\x9d"=>"i",
+	"\xd0\x98"=>"I","\xd0\xb8"=>"i","\xd3\xa2"=>"I","\xd3\xa3"=>"i",
+	"\xd3\xa4"=>"I","\xd3\xa5"=>"i","\xd0\x86"=>"I","\xd1\x96"=>"i",
+	"\xd0\x87"=>"Ji","\xd1\x97"=>"ji","\xd0\x99"=>"J","\xd0\xb9"=>"j",
+	"\xd0\x88"=>"J","\xd1\x98"=>"j","\xd0\x9a"=>"K","\xd0\xba"=>"k",
+	"\xd2\x9a"=>"K","\xd2\x9b"=>"k","\xd2\x9c"=>"K","\xd2\x9d"=>"k",
+	"\xd2\x9e"=>"K","\xd2\x9f"=>"k","\xd2\xa0"=>"K","\xd2\xa1"=>"k",
+	"\xd0\x9b"=>"L","\xd0\xbb"=>"l","\xd0\x89"=>"L","\xd1\x99"=>"l",
+	"\xd0\x9c"=>"M","\xd0\xbc"=>"m","\xd0\x9d"=>"N","\xd0\xbd"=>"n",
+	"\xd0\x8a"=>"N","\xd1\x9a"=>"n","\xd2\xa4"=>"N","\xd2\xa5"=>"n",
+	"\xd2\xa2"=>"N","\xd2\xa3"=>"n","\xd0\x9e"=>"O","\xd0\xbe"=>"o",
+	"\xd3\xa6"=>"O","\xd3\xa7"=>"o","\xd3\xa8"=>"O","\xd3\xa9"=>"o",
+	"\xd3\xaa"=>"O","\xd3\xab"=>"o","\xd0\x9f"=>"P","\xd0\xbf"=>"p",
+	"\xd2\xa6"=>"P","\xd2\xa7"=>"p","\xd0\xa0"=>"R","\xd1\x80"=>"r",
+	"\xd0\xa1"=>"S","\xd1\x81"=>"s","\xd2\xaa"=>"C","\xd2\xab"=>"c",
+	"\xd0\xa2"=>"T","\xd1\x82"=>"t","\xd2\xac"=>"T","\xd2\xad"=>"t",
+	"\xd0\x8b"=>"C","\xd1\x9b"=>"c","\xd0\x8c"=>"K","\xd1\x9c"=>"k",
+	"\xd0\xa3"=>"U","\xd1\x83"=>"u","\xd0\x8e"=>"U","\xd1\x9e"=>"u",
+	"\xd3\xae"=>"U","\xd3\xaf"=>"u","\xd3\xb0"=>"U","\xd3\xb1"=>"u",
+	"\xd3\xb2"=>"U","\xd3\xb3"=>"u","\xd2\xae"=>"U","\xd2\xaf"=>"u",
+	"\xd2\xb0"=>"U","\xd2\xb1"=>"u","\xd0\xa4"=>"F","\xd1\x84"=>"f",
+	"\xd0\xa5"=>"X","\xd1\x85"=>"x","\xd2\xb2"=>"H","\xd2\xb3"=>"h",
+	"\xd2\xba"=>"H","\xd2\xbb"=>"h","\xd0\xa6"=>"C","\xd1\x86"=>"c",
+	"\xd2\xb4"=>"C","\xd2\xb5"=>"c","\xd0\xa7"=>"Ch","\xd1\x87"=>"ch",
+	"\xd3\xb4"=>"C","\xd3\xb5"=>"c","\xd2\xb6"=>"C","\xd2\xb7"=>"c",
+	"\xd2\xb8"=>"C","\xd2\xb9"=>"c","\xd0\x8f"=>"D","\xd1\x9f"=>"d",
+	"\xd0\xa8"=>"Sh","\xd1\x88"=>"sh","\xd0\xa9"=>"Sch","\xd1\x89"=>"sch",
+	"\xd0\xab"=>"Y","\xd1\x8b"=>"y","\xd3\xb8"=>"Y","\xd3\xb9"=>"y",
+	"\xd0\xad"=>"Eh","\xd1\x8d"=>"eh","\xd3\xac"=>"E","\xd3\xad"=>"e",
+	"\xd0\xae"=>"Ju","\xd1\x8e"=>"ju","\xd0\xaf"=>"Ja","\xd1\x8f"=>"ja",
+	"\xd1\xa2"=>"E","\xd1\xa3"=>"e","\xd1\xaa"=>"A","\xd1\xab"=>"a",
+	"\xd1\xb2"=>"F","\xd1\xb3"=>"f","\xd1\xb4"=>"Y","\xd1\xb5"=>"y",
+	"\xd1\xb6"=>"Y","\xd1\xb7"=>"y","\xd2\xa8"=>"O","\xd2\xa9"=>"o",
+	"\xd1\xa0"=>"O","\xd1\xa1"=>"o","\xd1\xa4"=>"E","\xd1\xa5"=>"e",
+	"\xd1\xa6"=>"U","\xd1\xa7"=>"u","\xd1\xa8"=>"U","\xd1\xa9"=>"u",
+	"\xd1\xac"=>"U","\xd1\xad"=>"u","\xd1\xae"=>"K","\xd1\xaf"=>"k",
+	"\xd1\xb0"=>"P","\xd1\xb1"=>"p","\xd1\xb8"=>"U","\xd1\xb9"=>"u",
+	"\xd1\xba"=>"O","\xd1\xbb"=>"o","\xd1\xbc"=>"O","\xd1\xbd"=>"o",
+	"\xd1\xbe"=>"O","\xd1\xbf"=>"o","\xd2\x80"=>"K","\xd2\x81"=>"k",
+	"\xd2\x8a"=>"J","\xd2\x8b"=>"j","\xd2\x8e"=>"r","\xd2\x98"=>"Z",
+	"\xd2\x99"=>"z","\xd3\x83"=>"K","\xd3\x84"=>"k","\xd3\x85"=>"L",
+	"\xd3\x86"=>"l","\xd3\x87"=>"N","\xd3\x88"=>"n","\xd3\x89"=>"N",
+	"\xd3\x8a"=>"n","\xd3\x8b"=>"C","\xd3\x8c"=>"c","\xd3\x8d"=>"M",
+	"\xd3\x8e"=>"m","\xd1\x8a"=>"","\xd0\xaa"=>"","\xd0\xac"=>"",
+	"\xd1\x8c"=>"","\xd2\x8c"=>"-","\xd3\x80"=>"-","\xcc\x81"=>"",
+	// Greek
+	"\xce\xb1\xce\xb9"=>"e","\xce\x91\xce\xb9"=>"E","\xce\xb5\xce\xb9"=>"i",
+	"\xce\x95\xce\xb9"=>"I","\xce\xbf\xce\xb9"=>"i","\xce\x9f\xce\xb9"=>"I","\xce\xbf\xcf\x85"=>"ou",
+	"\xce\x9f\xcf\x85"=>"Ou","\xce\xb1\xcf\x85"=>"av","\xce\x91\xcf\x85"=>"Av","\xce\xb5\xcf\x85"=>"ev",
+	"\xce\x95\xcf\x85"=>"Ev","\xce\xb7\xcf\x85"=>"iv","\xce\x97\xcf\x85"=>"Iv","\xce\xbc\xcf\x80"=>"mp",
+	"\xce\x9c\xcf\x80"=>"B","\xce\xbd\xcf\x84"=>"nt","\xce\x9d\xcf\x84"=>"D","\xcf\x84\xce\xb6"=>"tz",
+	"\xce\xa4\xce\xb6"=>"Tz","\xce\xb3\xce\xba"=>"ng","\xce\x93\xce\xba"=>"G","\xce\xb3\xce\xb3"=>"ng",
+	"\xce\x93\xce\xb3"=>"Ng","\xce\x86"=>"A","\xce\x88"=>"E","\xce\x89"=>"I",
+	"\xce\x8a"=>"I","\xce\x8c"=>"O","\xce\x8e"=>"Y","\xce\x8f"=>"O",
+	"\xce\x90"=>"i","\xce\x91"=>"A","\xce\x92"=>"V","\xce\x93"=>"G",
+	"\xce\x94"=>"D","\xce\x95"=>"E","\xce\x96"=>"Z","\xce\x97"=>"I",
+	"\xce\x98"=>"Th","\xce\x99"=>"I","\xce\x9a"=>"K","\xce\x9b"=>"L",
+	"\xce\x9c"=>"M","\xce\x9d"=>"N","\xce\x9e"=>"X","\xce\x9f"=>"O",
+	"\xce\xa0"=>"P","\xce\xa1"=>"R","\xce\xa3"=>"S","\xce\xa4"=>"T",
+	"\xce\xa5"=>"Y","\xce\xa6"=>"F","\xce\xa7"=>"Ch","\xce\xa8"=>"Ps",
+	"\xce\xa9"=>"O","\xce\xaa"=>"I","\xce\xab"=>"Y","\xce\xac"=>"a",
+	"\xce\xad"=>"e","\xce\xae"=>"i","\xce\xaf"=>"i","\xce\xb0"=>"y",
+	"\xce\xb1"=>"a","\xce\xb2"=>"v","\xce\xb3"=>"g","\xce\xb4"=>"d",
+	"\xce\xb5"=>"e","\xce\xb6"=>"z","\xce\xb7"=>"i","\xce\xb8"=>"th",
+	"\xce\xb9"=>"i","\xce\xba"=>"k","\xce\xbb"=>"l","\xce\xbc"=>"m",
+	"\xce\xbd"=>"n","\xce\xbe"=>"x","\xce\xbf"=>"o","\xcf\x80"=>"p",
+	"\xcf\x81"=>"r","\xcf\x82"=>"s","\xcf\x83"=>"s","\xcf\x84"=>"t",
+	"\xcf\x85"=>"y","\xcf\x86"=>"f","\xcf\x87"=>"ch","\xcf\x88"=>"ps",
+	"\xcf\x89"=>"o","\xcf\x8a"=>"i","\xcf\x8b"=>"y","\xcf\x8c"=>"o",
+	"\xcf\x8d"=>"y","\xcf\x8e"=>"o","\xcf\x90"=>"b","\xcf\x91"=>"th",
+	"\xcf\x92"=>"y","\xcf\x93"=>"y","\xcf\x94"=>"y",
+	// Georgian
+	"\xe1\x83\x90"=>"a","\xe1\x83\x91"=>"b","\xe1\x83\x92"=>"g","\xe1\x83\x93"=>"d",
+	"\xe1\x83\x94"=>"e","\xe1\x83\x95"=>"v","\xe1\x83\x96"=>"z","\xe1\x83\x97"=>"th",
+	"\xe1\x83\x98"=>"i","\xe1\x83\x99"=>"p","\xe1\x83\x9a"=>"l","\xe1\x83\x9b"=>"m",
+	"\xe1\x83\x9c"=>"n","\xe1\x83\x9d"=>"o","\xe1\x83\x9e"=>"p","\xe1\x83\x9f"=>"zh",
+	"\xe1\x83\xa0"=>"r","\xe1\x83\xa1"=>"s","\xe1\x83\xa2"=>"t","\xe1\x83\xa3"=>"u",
+	"\xe1\x83\xa4"=>"ph","\xe1\x83\xa5"=>"kh","\xe1\x83\xa6"=>"gh","\xe1\x83\xa7"=>"q",
+	"\xe1\x83\xa8"=>"sh","\xe1\x83\xa9"=>"ch","\xe1\x83\xaa"=>"c","\xe1\x83\xab"=>"dh",
+	"\xe1\x83\xac"=>"w","\xe1\x83\xad"=>"j","\xe1\x83\xae"=>"x","\xe1\x83\xaf"=>"jh",
+	"\xe1\x83\xb0"=>"xh",
+	// Sanskrit
+	"\xe0\xa4\x85\xe0\xa4\x82"=>"amh","\xe0\xa4\x85\xe0\xa4\x83"=>"aq","\xe0\xa4\x95"=>"k","\xe0\xa4\x96"=>"kh",
+	"\xe0\xa4\x85"=>"a","\xe0\xa4\x86"=>"ah",
+	"\xe0\xa4\x87"=>"i","\xe0\xa4\x88"=>"ih","\xe0\xa4\x89"=>"u","\xe0\xa4\x8a"=>"uh",
+	"\xe0\xa4\x8b"=>"ry","\xe0\xa5\xa0"=>"ryh","\xe0\xa4\x8c"=>"ly","\xe0\xa5\xa1"=>"lyh",
+	"\xe0\xa4\x8f"=>"e","\xe0\xa4\x90"=>"ay","\xe0\xa4\x93"=>"o","\xe0\xa4\x94"=>"aw",
+	"\xe0\xa4\x97"=>"g","\xe0\xa4\x98"=>"gh","\xe0\xa4\x99"=>"nh","\xe0\xa4\x9a"=>"c",
+	"\xe0\xa4\x9b"=>"ch","\xe0\xa4\x9c"=>"j","\xe0\xa4\x9d"=>"jh","\xe0\xa4\x9e"=>"ny",
+	"\xe0\xa4\x9f"=>"tq","\xe0\xa4\xa0"=>"tqh","\xe0\xa4\xa1"=>"dq","\xe0\xa4\xa2"=>"dqh",
+	"\xe0\xa4\xa3"=>"nq","\xe0\xa4\xa4"=>"t","\xe0\xa4\xa5"=>"th","\xe0\xa4\xa6"=>"d",
+	"\xe0\xa4\xa7"=>"dh","\xe0\xa4\xa8"=>"n","\xe0\xa4\xaa"=>"p","\xe0\xa4\xab"=>"ph",
+	"\xe0\xa4\xac"=>"b","\xe0\xa4\xad"=>"bh","\xe0\xa4\xae"=>"m","\xe0\xa4\xaf"=>"z",
+	"\xe0\xa4\xb0"=>"r","\xe0\xa4\xb2"=>"l","\xe0\xa4\xb5"=>"v","\xe0\xa4\xb6"=>"sh",
+	"\xe0\xa4\xb7"=>"sqh","\xe0\xa4\xb8"=>"s","\xe0\xa4\xb9"=>"x",
+	// Hebrew - thanks to forum-member iti
+	"\xd7\x90\xd7\x95"=>"ao", "\xd7\x91\xd7\x95"=>"bo",
+   "\xd7\x92\xd7\x95"=>"go", "\xd7\x93\xd7\x95"=>"do",
+   "\xd7\x94\xd7\x95"=>"ho", "\xd7\x95\xd7\x95"=>"v",
+   "\xd7\x96\xd7\x95"=>"zo", "\xd7\x97\xd7\x95"=>"cho",
+   "\xd7\x98\xd7\x95"=>"to", "\xd7\x95\xd7\x99\xd7\x99"=>"vyi",
+   "\xd7\x99\xd7\x95"=>"io", "\xd7\x9a\xd7\x95"=>"kho",
+   "\xd7\x9b\xd7\x95"=>"ko", "\xd7\x9c\xd7\x95"=>"lo",
+   "\xd7\x9e\xd7\x95"=>"mo", "\xd7\xa0\xd7\x95"=>"no",
+   "\xd7\xa1\xd7\x95"=>"so", "\xd7\xa2\xd7\x95"=>"ao",
+   "\xd7\xa4\xd7\x95"=>"po", "\xd7\xa6\xd7\x95"=>"tzo",
+   "\xd7\xa7\xd7\x95"=>"qo", "\xd7\xa8\xd7\x95"=>"ro",
+   "\xd7\xa9\xd7\x95"=>"sho", "\xd7\xaa\xd7\x95"=>"to",
+   "\xd7\x99\xd7\x99"=>"yi", "\xd7\x99\xd7\x95" =>"yo",
+   "\xd7\x90"=>"a", "\xd7\x91"=>"b", "\xd7\x92"=>"g", "\xd7\x93"=>"d",
+   "\xd7\x94"=>"h", "\xd7\x95"=>"v", "\xd7\x96"=>"z", "\xd7\x97"=>"ch",
+   "\xd7\x98"=>"t", "\xd7\x99"=>"i", "\xd7\x9a"=>"kh", "\xd7\x9b"=>"k",
+   "\xd7\x9c"=>"l", "\xd7\x9d"=>"m", "\xd7\x9e"=>"m", "\xd7\x9f"=>"n",
+   "\xd7\xa0"=>"n", "\xd7\xa1"=>"s", "\xd7\xa2"=>"a", "\xd7\xa3"=>"f",
+   "\xd7\xa4"=>"p", "\xd7\xa5"=>"tz", "\xd7\xa6"=>"tz", "\xd7\xa7"=>"q",
+   "\xd7\xa8"=>"r", "\xd7\xa9"=>"sh", "\xd7\xaa"=>"t",
+	// Arabic
+	"\xd8\xa7"=>"a","\xd8\xa8"=>"b","\xd8\xaa"=>"t","\xd8\xab"=>"th",
+	"\xd8\xac"=>"g","\xd8\xad"=>"xh","\xd8\xae"=>"x","\xd8\xaf"=>"d",
+	"\xd8\xb0"=>"dh","\xd8\xb1"=>"r","\xd8\xb2"=>"z","\xd8\xb3"=>"s",
+	"\xd8\xb4"=>"sh","\xd8\xb5"=>"s_","\xd8\xb6"=>"d_","\xd8\xb7"=>"t_",
+	"\xd8\xb8"=>"z_","\xd8\xb9"=>"y","\xd8\xba"=>"gh","\xd9\x81"=>"f",
+	"\xd9\x82"=>"q","\xd9\x83"=>"k","\xd9\x84"=>"l","\xd9\x85"=>"m",
+	"\xd9\x86"=>"n","\xd9\x87"=>"x_","\xd9\x88"=>"u","\xd9\x8a"=>"i",
+	// Japanese hiragana
+	"\xe3\x81\xb3\xe3\x82\x83"=>"bya","\xe3\x81\xb3\xe3\x81\x87"=>"bye","\xe3\x81\xb3\xe3\x81\x83"=>"byi",
+	"\xe3\x81\xb3\xe3\x82\x87"=>"byo","\xe3\x81\xb3\xe3\x82\x85"=>"byu","\xe3\x81\xa1\xe3\x82\x83"=>"tya","\xe3\x81\xa1\xe3\x81\x87"=>"tye",
+	"\xe3\x81\xa1\xe3\x82\x87"=>"tyo","\xe3\x81\xa1\xe3\x82\x85"=>"tyu","\xe3\x81\xa1\xe3\x81\x83"=>"tyi",
+	"\xe3\x81\xa7\xe3\x82\x83"=>"dha","\xe3\x81\xa7\xe3\x81\x87"=>"dhe","\xe3\x81\xa7\xe3\x81\x83"=>"dhi","\xe3\x81\xa7\xe3\x82\x87"=>"dho",
+	"\xe3\x81\xa7\xe3\x82\x85"=>"dhu","\xe3\x81\xa9\xe3\x81\x81"=>"dwa","\xe3\x81\xa9\xe3\x81\x87"=>"dwe","\xe3\x81\xa9\xe3\x81\x83"=>"dwi",
+	"\xe3\x81\xa9\xe3\x81\x89"=>"dwo","\xe3\x81\xa9\xe3\x81\x85"=>"dwu","\xe3\x81\xa2\xe3\x82\x83"=>"dya","\xe3\x81\xa2\xe3\x81\x87"=>"dye",
+	"\xe3\x81\xa2\xe3\x81\x83"=>"dyi","\xe3\x81\xa2\xe3\x82\x87"=>"dyo","\xe3\x81\xa2\xe3\x82\x85"=>"dyu","\xe3\x81\xa2"=>"di",
+	"\xe3\x81\xb5\xe3\x81\x81"=>"fa","\xe3\x81\xb5\xe3\x81\x87"=>"fe","\xe3\x81\xb5\xe3\x81\x83"=>"fi","\xe3\x81\xb5\xe3\x81\x89"=>"fo",
+	"\xe3\x81\xb5\xe3\x81\x85"=>"fwu","\xe3\x81\xb5\xe3\x82\x83"=>"fya","\xe3\x81\xb5\xe3\x82\x87"=>"fyo","\xe3\x81\xb5\xe3\x82\x85"=>"fyu",
+	"\xe3\x81\x8e\xe3\x82\x83"=>"gya","\xe3\x81\x8e\xe3\x81\x87"=>"gye","\xe3\x81\x8e\xe3\x81\x83"=>"gyi","\xe3\x81\x8e\xe3\x82\x87"=>"gyo",
+	"\xe3\x81\x8e\xe3\x82\x85"=>"gyu","\xe3\x81\xb2\xe3\x82\x83"=>"hya","\xe3\x81\xb2\xe3\x81\x87"=>"hye","\xe3\x81\xb2\xe3\x81\x83"=>"hyi",
+	"\xe3\x81\xb2\xe3\x82\x87"=>"hyo","\xe3\x81\xb2\xe3\x82\x85"=>"hyu","\xe3\x81\x98\xe3\x82\x83"=>"ja","\xe3\x81\x98\xe3\x81\x87"=>"je",
+	"\xe3\x81\x98\xe3\x81\x83"=>"zyi","\xe3\x81\x98\xe3\x82\x87"=>"jo","\xe3\x81\x98\xe3\x82\x85"=>"ju","\xe3\x81\x8d\xe3\x82\x83"=>"kya",
+	"\xe3\x81\x8d\xe3\x81\x87"=>"kye","\xe3\x81\x8d\xe3\x81\x83"=>"kyi","\xe3\x81\x8d\xe3\x82\x87"=>"kyo","\xe3\x81\x8d\xe3\x82\x85"=>"kyu",
+	"\xe3\x82\x8a\xe3\x82\x83"=>"rya","\xe3\x82\x8a\xe3\x81\x87"=>"rye","\xe3\x82\x8a\xe3\x81\x83"=>"ryi","\xe3\x82\x8a\xe3\x82\x87"=>"ryo",
+	"\xe3\x82\x8a\xe3\x82\x85"=>"ryu","\xe3\x81\xbf\xe3\x82\x83"=>"mya","\xe3\x81\xbf\xe3\x81\x87"=>"mye","\xe3\x81\xbf\xe3\x81\x83"=>"myi",
+	"\xe3\x81\xbf\xe3\x82\x87"=>"myo","\xe3\x81\xbf\xe3\x82\x85"=>"myu","\xe3\x81\xab\xe3\x82\x83"=>"nya",
+	"\xe3\x81\xab\xe3\x81\x87"=>"nye","\xe3\x81\xab\xe3\x81\x83"=>"nyi","\xe3\x81\xab\xe3\x82\x87"=>"nyo","\xe3\x81\xab\xe3\x82\x85"=>"nyu",
+	"\xe3\x81\xb4\xe3\x82\x83"=>"pya","\xe3\x81\xb4\xe3\x81\x87"=>"pye","\xe3\x81\xb4\xe3\x81\x83"=>"pyi","\xe3\x81\xb4\xe3\x82\x87"=>"pyo",
+	"\xe3\x81\xb4\xe3\x82\x85"=>"pyu","\xe3\x81\x97\xe3\x82\x83"=>"sya","\xe3\x81\x97\xe3\x81\x87"=>"sye","\xe3\x81\x97"=>"si",
+	"\xe3\x81\x97\xe3\x82\x87"=>"syo","\xe3\x81\x97\xe3\x82\x85"=>"syu","\xe3\x81\x99\xe3\x81\x81"=>"swa","\xe3\x81\x99\xe3\x81\x87"=>"swe",
+	"\xe3\x81\x99\xe3\x81\x83"=>"swi","\xe3\x81\x99\xe3\x81\x89"=>"swo","\xe3\x81\x99\xe3\x81\x85"=>"swu","\xe3\x81\x97\xe3\x81\x83"=>"syi",
+	"\xe3\x81\xa6\xe3\x82\x83"=>"tha","\xe3\x81\xa6\xe3\x81\x87"=>"the","\xe3\x81\xa6\xe3\x81\x83"=>"thi","\xe3\x81\xa6\xe3\x82\x87"=>"tho",
+	"\xe3\x81\xa6\xe3\x82\x85"=>"thu","\xe3\x81\xa4\xe3\x82\x83"=>"tsa","\xe3\x81\xa4\xe3\x81\x87"=>"tse","\xe3\x81\xa4\xe3\x81\x83"=>"tsi",
+	"\xe3\x81\xa4\xe3\x82\x87"=>"tso","\xe3\x81\xa4"=>"tu","\xe3\x81\xa8\xe3\x81\x81"=>"twa","\xe3\x81\xa8\xe3\x81\x87"=>"twe",
+	"\xe3\x81\xa8\xe3\x81\x83"=>"twi","\xe3\x81\xa8\xe3\x81\x89"=>"two","\xe3\x81\xa8\xe3\x81\x85"=>"twu","\xe3\x83\xb4\xe3\x82\x83"=>"vya",
+	"\xe3\x83\xb4\xe3\x81\x87"=>"ve","\xe3\x83\xb4\xe3\x81\x83"=>"vi","\xe3\x83\xb4\xe3\x82\x87"=>"vyo","\xe3\x83\xb4\xe3\x82\x85"=>"vyu",
+	"\xe3\x81\x86\xe3\x81\x81"=>"wha","\xe3\x81\x86\xe3\x81\x87"=>"we","\xe3\x81\x86\xe3\x81\x83"=>"wi","\xe3\x81\x86\xe3\x81\x89"=>"who",
+	"\xe3\x81\x86\xe3\x81\x85"=>"whu","\xe3\x82\x91"=>"wye","\xe3\x82\x90"=>"wyi","\xe3\x81\x84\xe3\x81\x87"=>"ye",
+	"\xe3\x82\x93"=>"n","\xe3\x81\x82"=>"a",
+	"\xe3\x81\x88"=>"e","\xe3\x81\x84"=>"yi","\xe3\x81\x8a"=>"o","\xe3\x81\x86"=>"u",
+	"\xe3\x81\xb0"=>"ba","\xe3\x81\xb9"=>"be","\xe3\x81\xb3"=>"bi","\xe3\x81\xbc"=>"bo",
+	"\xe3\x81\xb6"=>"bu","\xe3\x81\xa0"=>"da","\xe3\x81\xa7"=>"de","\xe3\x81\xa9"=>"do",
+	"\xe3\x81\xa5"=>"du","\xe3\x81\xb5"=>"hu","\xe3\x81\x8c"=>"ga","\xe3\x81\x92"=>"ge",
+	"\xe3\x81\x8e"=>"gi","\xe3\x81\x94"=>"go","\xe3\x81\x90"=>"gu","\xe3\x81\xaf"=>"ha",
+	"\xe3\x81\xb8"=>"he","\xe3\x81\xb2"=>"hi","\xe3\x81\xbb"=>"ho","\xe3\x81\x98"=>"zi",
+	"\xe3\x81\x8b"=>"ka","\xe3\x81\x91"=>"ke","\xe3\x81\x8d"=>"ki","\xe3\x81\x93"=>"ko",
+	"\xe3\x81\x8f"=>"ku","\xe3\x82\x89"=>"ra","\xe3\x82\x8c"=>"re","\xe3\x82\x8a"=>"ri",
+	"\xe3\x82\x8d"=>"ro","\xe3\x82\x8b"=>"ru","\xe3\x81\xbe"=>"ma","\xe3\x82\x81"=>"me",
+	"\xe3\x81\xbf"=>"mi","\xe3\x82\x82"=>"mo","\xe3\x82\x80"=>"mu","\xe3\x81\xaa"=>"na",
+	"\xe3\x81\xad"=>"ne","\xe3\x81\xab"=>"ni","\xe3\x81\xae"=>"no","\xe3\x81\xac"=>"nu",
+	"\xe3\x81\xb1"=>"pa","\xe3\x81\xba"=>"pe","\xe3\x81\xb4"=>"pi","\xe3\x81\xbd"=>"po",
+	"\xe3\x81\xb7"=>"pu","\xe3\x81\x95"=>"sa","\xe3\x81\x9b"=>"se","\xe3\x81\x9d"=>"so",
+	"\xe3\x81\x99"=>"su","\xe3\x81\x9f"=>"ta","\xe3\x81\xa6"=>"te","\xe3\x81\xa8"=>"to","\xe3\x81\xa1"=>"ti",
+	"\xe3\x83\xb4\xe3\x81\x81"=>"va","\xe3\x83\xb4\xe3\x81\x89"=>"vo","\xe3\x83\xb4"=>"vu","\xe3\x82\x8f"=>"wa",
+	"\xe3\x82\x92"=>"wo","\xe3\x82\x84"=>"ya","\xe3\x82\x88"=>"yo",
+	"\xe3\x82\x86"=>"yu","\xe3\x81\x96"=>"za","\xe3\x81\x9c"=>"ze","\xe3\x81\x9e"=>"zo",
+	"\xe3\x81\x9a"=>"zu",
+	// Japanese katakana
+	"\xe3\x83\x93\xe3\x83\xa3"=>"bya","\xe3\x83\x93\xe3\x82\xa7"=>"bye",
+	"\xe3\x83\x93\xe3\x82\xa3"=>"byi","\xe3\x83\x93\xe3\x83\xa7"=>"byo","\xe3\x83\x93\xe3\x83\xa5"=>"byu","\xe3\x83\x81\xe3\x83\xa3"=>"tya",
+	"\xe3\x83\x81\xe3\x82\xa7"=>"tye","\xe3\x83\x81"=>"ti","\xe3\x83\x81\xe3\x83\xa7"=>"tyo","\xe3\x83\x81\xe3\x83\xa5"=>"tyu",
+	"\xe3\x83\x81\xe3\x82\xa3"=>"tyi","\xe3\x83\x87\xe3\x83\xa3"=>"dha","\xe3\x83\x87\xe3\x82\xa7"=>"dhe","\xe3\x83\x87\xe3\x82\xa3"=>"dhi",
+	"\xe3\x83\x87\xe3\x83\xa7"=>"dho","\xe3\x83\x87\xe3\x83\xa5"=>"dhu","\xe3\x83\x89\xe3\x82\xa1"=>"dwa","\xe3\x83\x89\xe3\x82\xa7"=>"dwe",
+	"\xe3\x83\x89\xe3\x82\xa3"=>"dwi","\xe3\x83\x89\xe3\x82\xa9"=>"dwo","\xe3\x83\x89\xe3\x82\xa5"=>"dwu","\xe3\x83\x82\xe3\x83\xa3"=>"dya",
+	"\xe3\x83\x82\xe3\x82\xa7"=>"dye","\xe3\x83\x82\xe3\x82\xa3"=>"dyi","\xe3\x83\x82\xe3\x83\xa7"=>"dyo","\xe3\x83\x82\xe3\x83\xa5"=>"dyu",
+	"\xe3\x83\x95\xe3\x82\xa1"=>"fa","\xe3\x83\x95\xe3\x82\xa7"=>"fe","\xe3\x83\x95\xe3\x82\xa3"=>"fi",
+	"\xe3\x83\x95\xe3\x82\xa9"=>"fo","\xe3\x83\x95\xe3\x82\xa5"=>"fwu","\xe3\x83\x95\xe3\x83\xa3"=>"fya","\xe3\x83\x95\xe3\x83\xa7"=>"fyo",
+	"\xe3\x83\x95\xe3\x83\xa5"=>"fyu","\xe3\x82\xae\xe3\x83\xa3"=>"gya","\xe3\x82\xae\xe3\x82\xa7"=>"gye","\xe3\x82\xae\xe3\x82\xa3"=>"gyi",
+	"\xe3\x82\xae\xe3\x83\xa7"=>"gyo","\xe3\x82\xae\xe3\x83\xa5"=>"gyu","\xe3\x83\x92\xe3\x83\xa3"=>"hya","\xe3\x83\x92\xe3\x82\xa7"=>"hye",
+	"\xe3\x83\x92\xe3\x82\xa3"=>"hyi","\xe3\x83\x92\xe3\x83\xa7"=>"hyo","\xe3\x83\x92\xe3\x83\xa5"=>"hyu","\xe3\x82\xb8\xe3\x83\xa3"=>"ja",
+	"\xe3\x82\xb8\xe3\x82\xa7"=>"je","\xe3\x82\xb8\xe3\x82\xa3"=>"zyi","\xe3\x82\xb8\xe3\x83\xa7"=>"jo","\xe3\x82\xb8\xe3\x83\xa5"=>"ju",
+	"\xe3\x82\xad\xe3\x83\xa3"=>"kya","\xe3\x82\xad\xe3\x82\xa7"=>"kye","\xe3\x82\xad\xe3\x82\xa3"=>"kyi","\xe3\x82\xad\xe3\x83\xa7"=>"kyo",
+	"\xe3\x82\xad\xe3\x83\xa5"=>"kyu","\xe3\x83\xaa\xe3\x83\xa3"=>"rya","\xe3\x83\xaa\xe3\x82\xa7"=>"rye","\xe3\x83\xaa\xe3\x82\xa3"=>"ryi",
+	"\xe3\x83\xaa\xe3\x83\xa7"=>"ryo","\xe3\x83\xaa\xe3\x83\xa5"=>"ryu","\xe3\x83\x9f\xe3\x83\xa3"=>"mya","\xe3\x83\x9f\xe3\x82\xa7"=>"mye",
+	"\xe3\x83\x9f\xe3\x82\xa3"=>"myi","\xe3\x83\x9f\xe3\x83\xa7"=>"myo","\xe3\x83\x9f\xe3\x83\xa5"=>"myu","\xe3\x83\xb3"=>"n",
+	"\xe3\x83\x8b\xe3\x83\xa3"=>"nya","\xe3\x83\x8b\xe3\x82\xa7"=>"nye","\xe3\x83\x8b\xe3\x82\xa3"=>"nyi","\xe3\x83\x8b\xe3\x83\xa7"=>"nyo",
+	"\xe3\x83\x8b\xe3\x83\xa5"=>"nyu","\xe3\x83\x94\xe3\x83\xa3"=>"pya","\xe3\x83\x94\xe3\x82\xa7"=>"pye","\xe3\x83\x94\xe3\x82\xa3"=>"pyi",
+	"\xe3\x83\x94\xe3\x83\xa7"=>"pyo","\xe3\x83\x94\xe3\x83\xa5"=>"pyu","\xe3\x82\xb7\xe3\x83\xa3"=>"sya","\xe3\x82\xb7\xe3\x82\xa7"=>"sye",
+	"\xe3\x82\xb7\xe3\x83\xa7"=>"syo","\xe3\x82\xb7\xe3\x83\xa5"=>"syu","\xe3\x82\xb9\xe3\x82\xa1"=>"swa",
+	"\xe3\x82\xb9\xe3\x82\xa7"=>"swe","\xe3\x82\xb9\xe3\x82\xa3"=>"swi","\xe3\x82\xb9\xe3\x82\xa9"=>"swo","\xe3\x82\xb9\xe3\x82\xa5"=>"swu",
+	"\xe3\x82\xb7\xe3\x82\xa3"=>"syi","\xe3\x83\x86\xe3\x83\xa3"=>"tha","\xe3\x83\x86\xe3\x82\xa7"=>"the","\xe3\x83\x86\xe3\x82\xa3"=>"thi",
+	"\xe3\x83\x86\xe3\x83\xa7"=>"tho","\xe3\x83\x86\xe3\x83\xa5"=>"thu","\xe3\x83\x84\xe3\x83\xa3"=>"tsa","\xe3\x83\x84\xe3\x82\xa7"=>"tse",
+	"\xe3\x83\x84\xe3\x82\xa3"=>"tsi","\xe3\x83\x84\xe3\x83\xa7"=>"tso","\xe3\x83\x84"=>"tu","\xe3\x83\x88\xe3\x82\xa1"=>"twa",
+	"\xe3\x83\x88\xe3\x82\xa7"=>"twe","\xe3\x83\x88\xe3\x82\xa3"=>"twi","\xe3\x83\x88\xe3\x82\xa9"=>"two","\xe3\x83\x88\xe3\x82\xa5"=>"twu",
+	"\xe3\x83\xb4\xe3\x83\xa3"=>"vya","\xe3\x83\xb4\xe3\x82\xa7"=>"ve","\xe3\x83\xb4\xe3\x82\xa3"=>"vi","\xe3\x83\xb4\xe3\x83\xa7"=>"vyo",
+	"\xe3\x83\xb4\xe3\x83\xa5"=>"vyu","\xe3\x82\xa6\xe3\x82\xa1"=>"wha","\xe3\x82\xa6\xe3\x82\xa7"=>"we","\xe3\x82\xa6\xe3\x82\xa3"=>"wi",
+	"\xe3\x82\xa6\xe3\x82\xa9"=>"who","\xe3\x82\xa6\xe3\x82\xa5"=>"whu","\xe3\x83\xb1"=>"wye","\xe3\x83\xb0"=>"wyi",
+	"\xe3\x83\x82"=>"di","\xe3\x82\xb7"=>"si",
+	"\xe3\x82\xa2"=>"a","\xe3\x82\xa8"=>"e","\xe3\x82\xa4"=>"yi","\xe3\x82\xaa"=>"o",
+	"\xe3\x82\xa6"=>"u","\xe3\x83\x90"=>"ba","\xe3\x83\x99"=>"be","\xe3\x83\x93"=>"bi",
+	"\xe3\x83\x9c"=>"bo","\xe3\x83\x96"=>"bu","\xe3\x83\x80"=>"da","\xe3\x83\x87"=>"de",
+	"\xe3\x83\x89"=>"do","\xe3\x83\x85"=>"du","\xe3\x83\x95"=>"hu","\xe3\x82\xac"=>"ga",
+	"\xe3\x82\xb2"=>"ge","\xe3\x82\xae"=>"gi","\xe3\x82\xb4"=>"go","\xe3\x82\xb0"=>"gu",
+	"\xe3\x83\x8f"=>"ha","\xe3\x83\x98"=>"he","\xe3\x83\x92"=>"hi","\xe3\x83\x9b"=>"ho",
+	"\xe3\x82\xb8"=>"zi","\xe3\x82\xab"=>"ka","\xe3\x82\xb1"=>"ke","\xe3\x82\xad"=>"ki",
+	"\xe3\x82\xb3"=>"ko","\xe3\x82\xaf"=>"ku","\xe3\x83\xa9"=>"ra","\xe3\x83\xac"=>"re",
+	"\xe3\x83\xaa"=>"ri","\xe3\x83\xad"=>"ro","\xe3\x83\xab"=>"ru","\xe3\x83\x9e"=>"ma",
+	"\xe3\x83\xa1"=>"me","\xe3\x83\x9f"=>"mi","\xe3\x83\xa2"=>"mo","\xe3\x83\xa0"=>"mu",
+	"\xe3\x83\x8a"=>"na","\xe3\x83\x8d"=>"ne","\xe3\x83\x8b"=>"ni","\xe3\x83\x8e"=>"no",
+	"\xe3\x83\x8c"=>"nu","\xe3\x83\x91"=>"pa","\xe3\x83\x9a"=>"pe","\xe3\x83\x94"=>"pi",
+	"\xe3\x83\x9d"=>"po","\xe3\x83\x97"=>"pu","\xe3\x82\xb5"=>"sa","\xe3\x82\xbb"=>"se",
+	"\xe3\x82\xbd"=>"so","\xe3\x82\xb9"=>"su","\xe3\x82\xbf"=>"ta","\xe3\x83\x86"=>"te",
+	"\xe3\x83\x88"=>"to","\xe3\x83\xb4\xe3\x82\xa1"=>"va","\xe3\x83\xb4\xe3\x82\xa9"=>"vo","\xe3\x83\xaf"=>"wa",
+	"\xe3\x83\xb2"=>"wo","\xe3\x83\xa4"=>"ya","\xe3\x82\xa4\xe3\x82\xa7"=>"ye","\xe3\x83\xa8"=>"yo",
+	"\xe3\x83\xa6"=>"yu","\xe3\x82\xb6"=>"za","\xe3\x82\xbc"=>"ze","\xe3\x82\xbe"=>"zo",
+	"\xe3\x82\xba"=>"zu","\xe3\x83\xbc"=>"-",
+	// Thai
+	"\xe0\xb8\xb5\xe0\xb8\xa2\xe0\xb8\xb0"=>"ia",
+	"\xe0\xb8\xb5\xe0\xb8\xa2"=>"ia","\xe0\xb8\xb7\xe0\xb8\xad\xe0\xb8\xb0"=>"uea","\xe0\xb8\xb7\xe0\xb8\xad"=>"uea","\xe0\xb8\xb1\xe0\xb8\xa7\xe0\xb8\xb0"=>"ua",
+	"\xe0\xb8\xb1\xe0\xb8\xa7"=>"ua","\xe0\xb8\xa3\xe0\xb8\xa3"=>"a","\xe0\xb8\xa6\xe0\xb9\x85"=>"lue","\xe0\xb9\x83"=>"ai",
+	"\xe0\xb9\x84"=>"ai","\xe0\xb8\xb1\xe0\xb8\xa2"=>"ai","\xe0\xb8\xb2\xe0\xb8\xa2"=>"ai","\xe0\xb8\xb2\xe0\xb8\xa7"=>"ao",
+	"\xe0\xb8\xb8\xe0\xb8\xa2"=>"ui","\xe0\xb8\xad\xe0\xb8\xa2"=>"oi","\xe0\xb8\xb7\xe0\xb8\xad\xe0\xb8\xa2"=>"ueai","\xe0\xb8\xa7\xe0\xb8\xa2"=>"uai",
+	"\xe0\xb8\x81"=>"k","\xe0\xb8\x82"=>"kh","\xe0\xb8\x83"=>"kh","\xe0\xb8\x84"=>"kh",
+	"\xe0\xb8\x85"=>"kh","\xe0\xb8\x86"=>"kh","\xe0\xb8\x87"=>"ng","\xe0\xb8\x88"=>"ch",
+	"\xe0\xb8\x89"=>"ch","\xe0\xb8\x8a"=>"ch","\xe0\xb8\x8b"=>"s","\xe0\xb8\x8c"=>"ch",
+	"\xe0\xb8\x8d"=>"y","\xe0\xb8\x8e"=>"d","\xe0\xb8\x8f"=>"t","\xe0\xb8\x90"=>"th",
+	"\xe0\xb8\x91"=>"d","\xe0\xb8\x92"=>"th","\xe0\xb8\x93"=>"n","\xe0\xb8\x94"=>"d",
+	"\xe0\xb8\x95"=>"t","\xe0\xb8\x96"=>"th","\xe0\xb8\x97"=>"th","\xe0\xb8\x98"=>"th",
+	"\xe0\xb8\x99"=>"n","\xe0\xb8\x9a"=>"b","\xe0\xb8\x9b"=>"p","\xe0\xb8\x9c"=>"ph",
+	"\xe0\xb8\x9d"=>"f","\xe0\xb8\x9e"=>"ph","\xe0\xb8\x9f"=>"f","\xe0\xb8\xa0"=>"ph",
+	"\xe0\xb8\xa1"=>"m","\xe0\xb8\xa2"=>"y","\xe0\xb8\xa3"=>"r","\xe0\xb8\xa4"=>"rue",
+	"\xe0\xb8\xa4\xe0\xb9\x85"=>"rue","\xe0\xb8\xa5"=>"l","\xe0\xb8\xa6"=>"lue","\xe0\xb8\xa7"=>"w",
+	"\xe0\xb8\xa8"=>"s","\xe0\xb8\xa9"=>"s","\xe0\xb8\xaa"=>"s","\xe0\xb8\xab"=>"h",
+	"\xe0\xb8\xac"=>"l","\xe0\xb8\xae"=>"h","\xe0\xb8\xb0"=>"a","\xe0\xb8\xb1"=>"a",
+	"\xe0\xb8\xb2"=>"a","\xe0\xb9\x85"=>"a","\xe0\xb8\xb3"=>"am","\xe0\xb9\x8d\xe0\xb8\xb2"=>"am",
+	"\xe0\xb8\xb4"=>"i","\xe0\xb8\xb5"=>"ue","\xe0\xb8\xb6"=>"ue","\xe0\xb8\xb8"=>"u",
+	"\xe0\xb8\xb9"=>"u","\xe0\xb9\x80"=>"e","\xe0\xb9\x81"=>"ae","\xe0\xb9\x82"=>"o",
+	"\xe0\xb8\xad"=>"o","\xe0\xb8\xb4\xe0\xb8\xa7"=>"io","\xe0\xb9\x87\xe0\xb8\xa7"=>"eo","\xe0\xb8\xb5\xe0\xb8\xa2\xe0\xb8\xa7"=>"iao",
+	"\xe0\xb9\x88"=>"","\xe0\xb9\x89"=>"","\xe0\xb9\x8a"=>"","\xe0\xb9\x8b"=>"",
+	"\xe0\xb9\x87"=>"","\xe0\xb9\x8c"=>"","\xe0\xb9\x8e"=>"","\xe0\xb9\x8d"=>"",
+	"\xe0\xb8\xba"=>"","\xe0\xb9\x86"=>"2","\xe0\xb9\x8f"=>"o","\xe0\xb8\xaf"=>"-",
+	"\xe0\xb9\x9a"=>"-","\xe0\xb9\x9b"=>"-","\xe0\xb9\x90"=>"0","\xe0\xb9\x91"=>"1",
+	"\xe0\xb9\x92"=>"2","\xe0\xb9\x93"=>"3","\xe0\xb9\x94"=>"4","\xe0\xb9\x95"=>"5",
+	"\xe0\xb9\x96"=>"6","\xe0\xb9\x97"=>"7","\xe0\xb9\x98"=>"8","\xe0\xb9\x99"=>"9",
+	// Korean
+	"\xe3\x84\xb1"=>"k","\xe3\x85\x8b"=>"kh","\xe3\x84\xb2"=>"kk",
+	"\xe3\x84\xb7"=>"t","\xe3\x85\x8c"=>"th","\xe3\x84\xb8"=>"tt","\xe3\x85\x82"=>"p",
+	"\xe3\x85\x8d"=>"ph","\xe3\x85\x83"=>"pp","\xe3\x85\x88"=>"c","\xe3\x85\x8a"=>"ch",
+	"\xe3\x85\x89"=>"cc","\xe3\x85\x85"=>"s","\xe3\x85\x86"=>"ss","\xe3\x85\x8e"=>"h",
+	"\xe3\x85\x87"=>"ng","\xe3\x84\xb4"=>"n","\xe3\x84\xb9"=>"l","\xe3\x85\x81"=>"m",
+	"\xe3\x85\x8f"=>"a","\xe3\x85\x93"=>"e","\xe3\x85\x97"=>"o","\xe3\x85\x9c"=>"wu",
+	"\xe3\x85\xa1"=>"u","\xe3\x85\xa3"=>"i","\xe3\x85\x90"=>"ay","\xe3\x85\x94"=>"ey",
+	"\xe3\x85\x9a"=>"oy","\xe3\x85\x98"=>"wa","\xe3\x85\x9d"=>"we","\xe3\x85\x9f"=>"wi",
+	"\xe3\x85\x99"=>"way","\xe3\x85\x9e"=>"wey","\xe3\x85\xa2"=>"uy","\xe3\x85\x91"=>"ya",
+	"\xe3\x85\x95"=>"ye","\xe3\x85\x9b"=>"oy","\xe3\x85\xa0"=>"yu","\xe3\x85\x92"=>"yay",
+	"\xe3\x85\x96"=>"yey"
+);
+
+?>

Property changes on: tags/2.8.2/wb/framework/charsets_table.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/framework/class.wbmailer.php
===================================================================
--- tags/2.8.2/wb/framework/class.wbmailer.php	(nonexistent)
+++ tags/2.8.2/wb/framework/class.wbmailer.php	(revision 1481)
@@ -0,0 +1,114 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+/*
+
+wbmailer class
+
+This class is a subclass of the PHPMailer class and replaces the mail() function of PHP
+
+*/
+
+// Include PHPMailer class
+require_once(WB_PATH."/include/phpmailer/class.phpmailer.php");
+
+class wbmailer extends PHPMailer 
+{
+	// new websitebaker mailer class (subset of PHPMailer class)
+	// setting default values 
+
+	function wbmailer() {
+		// set mailer defaults (PHP mail function)
+		$db_wbmailer_routine = "phpmail";
+		$db_wbmailer_smtp_host = "";
+		$db_wbmailer_default_sendername = "WB Mailer";
+		$db_server_email = SERVER_EMAIL;
+
+		// get mailer settings from database
+		$database = new database();
+		$query = "SELECT * FROM " .TABLE_PREFIX. "settings";
+		$results = $database->query($query);
+		while($setting = $results->fetchRow()) {
+			if ($setting['name'] == "wbmailer_routine") { $db_wbmailer_routine = $setting['value']; }
+			if ($setting['name'] == "wbmailer_smtp_host") { $db_wbmailer_smtp_host = $setting['value']; }
+			if ($setting['name'] == "wbmailer_smtp_auth") { $db_wbmailer_smtp_auth = (bool)$setting['value']; }
+			if ($setting['name'] == "wbmailer_smtp_username") { $db_wbmailer_smtp_username = $setting['value']; }
+			if ($setting['name'] == "wbmailer_smtp_password") { $db_wbmailer_smtp_password = $setting['value']; }
+			if ($setting['name'] == "wbmailer_default_sendername") { $db_wbmailer_default_sendername = $setting['value']; }
+			if ($setting['name'] == "server_email") { $db_server_email = $setting['value']; }
+		}
+
+		// set method to send out emails
+		if($db_wbmailer_routine == "smtp" AND strlen($db_wbmailer_smtp_host) > 5) {
+			// use SMTP for all outgoing mails send by Website Baker
+			$this->IsSMTP();                                            
+			$this->Host = $db_wbmailer_smtp_host;
+			// check if SMTP authentification is required
+			if ($db_wbmailer_smtp_auth == "true" && strlen($db_wbmailer_smtp_username) > 1 && strlen($db_wbmailer_smtp_password) > 1) {
+				// use SMTP authentification
+				$this->SMTPAuth = true;     	  								// enable SMTP authentification
+				$this->Username = $db_wbmailer_smtp_username;  	// set SMTP username
+				$this->Password = $db_wbmailer_smtp_password;	  // set SMTP password
+			}
+		} else {
+			// use PHP mail() function for outgoing mails send by Website Baker
+			$this->IsMail();
+		}
+
+		// set language file for PHPMailer error messages
+		if(defined("LANGUAGE")) {
+			$this->SetLanguage(strtolower(LANGUAGE),"language");    // english default (also used if file is missing)
+		}
+
+		// set default charset
+		if(defined('DEFAULT_CHARSET')) { 
+			$this->CharSet = DEFAULT_CHARSET; 
+		} else {
+			$this->CharSet='utf-8';
+		}
+
+		// set default sender name
+		if($this->FromName == 'Root User') {
+			if(isset($_SESSION['DISPLAY_NAME'])) {
+				$this->FromName = $_SESSION['DISPLAY_NAME'];            // FROM NAME: display name of user logged in
+			} else {
+				$this->FromName = $db_wbmailer_default_sendername;			// FROM NAME: set default name
+			}
+		}
+
+		/* 
+			some mail provider (lets say mail.com) reject mails send out by foreign mail 
+			relays but using the providers domain in the from mail address (e.g. myname@mail.com)
+		*/
+		$this->From = $db_server_email;                           // FROM MAIL: (server mail)
+
+		// set default mail formats
+		$this->IsHTML(true);                                        
+		$this->WordWrap = 80;                                       
+		$this->Timeout = 30;
+	}
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/framework/class.wbmailer.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/framework/index.php
===================================================================
--- tags/2.8.2/wb/framework/index.php	(nonexistent)
+++ tags/2.8.2/wb/framework/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/framework/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/index.php
===================================================================
--- tags/2.8.2/wb/index.php	(nonexistent)
+++ tags/2.8.2/wb/index.php	(revision 1481)
@@ -0,0 +1,111 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+$starttime = array_sum(explode(" ",microtime()));
+
+// Include config file
+require_once(dirname(__FILE__).'/config.php');
+
+// Check if the config file has been set-up
+if(!defined('WB_PATH')) {
+	header("Location: install/index.php");
+	exit(0);
+}
+
+require_once(WB_PATH.'/framework/class.frontend.php');
+// Create new frontend object
+$wb = new frontend();
+
+// Figure out which page to display
+// Stop processing if intro page was shown
+$wb->page_select() or die();
+
+// Collect info about the currently viewed page
+// and check permissions
+$wb->get_page_details();
+
+// Collect general website settings
+$wb->get_website_settings();
+
+// Load functions available to templates, modules and code sections
+// also, set some aliases for backward compatibility
+require(WB_PATH.'/framework/frontend.functions.php');
+
+// redirect menu-link
+$this_page_id = PAGE_ID;
+if(version_compare(phpversion(), '4.3', '>=')) $php43 = TRUE; else $php43 = FALSE;
+$query_this_module = $database->query("SELECT module, block FROM ".TABLE_PREFIX."sections WHERE page_id = '$this_page_id' AND module = 'menu_link'");
+if($query_this_module->numRows() == 1) { // This is a menu_link. Get link of target-page and redirect
+	// get target_page_id
+	$table = TABLE_PREFIX.'mod_menu_link';
+	$query_tpid = $database->query("SELECT * FROM $table WHERE page_id = '$this_page_id'");
+	if($query_tpid->numRows() == 1) {
+		$res=$query_tpid->fetchRow();
+		$target_page_id = $res['target_page_id'];
+		$r_type = $res['redirect_type'];
+		$anchor = $res['anchor'];
+		$extern = $res['extern'];
+		if($anchor != '0') $anchor = ''.$anchor;
+		else $anchor = FALSE;
+		// set redirect-type
+		if($r_type=='301') {
+			if($php43) @header('HTTP/1.1 301 Moved Permanently', TRUE, 301);
+			else @header('HTTP/1.1 301 Moved Permanently');
+		}
+		if($target_page_id == -1) {
+			if($extern!='') {
+				header("Location: $extern".($anchor?'#'.$anchor:''));
+			}
+		} else {
+			// get link of target-page
+			$table = TABLE_PREFIX.'pages';
+			$query_link = $database->query("SELECT link FROM $table WHERE page_id = '$target_page_id'");
+			if($query_link->numRows() == 1) {
+				$res=$query_link->fetchRow();
+				$target_page_link = $res['link'];
+				header('Location: '.WB_URL.PAGES_DIRECTORY.$target_page_link.PAGE_EXTENSION.($anchor?'#'.$anchor:''));
+				exit;
+			}
+		}
+	}
+}
+
+// Backwards compatible Frontend filter support
+// include the output filter module routines
+if(file_exists(WB_PATH .'/modules/output_filter/filter-routines.php')) {@require_once(WB_PATH .'/modules/output_filter/filter-routines.php');}
+// Load Droplet engine
+if(file_exists(WB_PATH .'/modules/droplets/droplets.php')) { @require_once(WB_PATH .'/modules/droplets/droplets.php'); }
+
+//Get pagecontent in buffer for Droplets and/or Filter operations
+ob_start();
+require(WB_PATH.'/templates/'.TEMPLATE.'/index.php');
+$output = ob_get_contents();
+if (ob_get_length() > 0) ob_end_clean();
+
+if(function_exists('evalDroplets')) { $output = evalDroplets($output); }
+if(function_exists('filter_frontend_output')) { $output = filter_frontend_output($output); }
+echo $output;
+
+?>

Property changes on: tags/2.8.2/wb/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/jquery/jquery-fixedheader.js
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/jquery/jquery-fixedheader.js	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/jquery/jquery-fixedheader.js	(revision 1481)
@@ -0,0 +1,141 @@
+/**
+ * Stupid Fixed Header 1.0.1 - jQuery plugins to create a fixed headers
+ * 
+ * Require: jQuery 1.2.6
+ * Author: Jacky See
+ * Blog: http://jacky.seezone.net
+ * email:  jackysee at gmail dot com
+ * Dual licensed under the MIT and GPL licenses:
+ *   http://www.opensource.org/licenses/mit-license.php
+ *   http://www.gnu.org/licenses/gpl.html
+*/
+
+(function($){
+	
+	/* created fixed headers , require jquery dimenions plugins*/
+	$.fn.fixedHeader = function(o){
+		var s = {adjustWidth: $.fixedHeader.calcWidth};
+		if(o) $.extend(s,o);
+		
+		return this.each(function(){
+			var table = $(this); //table
+			var tId = this.id;
+			
+			var scrollBarWidth = $.fixedHeader.getScrollBarWidth();
+			var IE6 = $.browser.msie && $.browser.version == '6.0';
+			
+			//wrap a body container
+			var bodyContainer = table.wrap('<div></div>').parent()
+				.attr('id', tId + "_body_container")
+				.css({
+					width: s.width,
+					height: s.height,
+					overflow: 'auto'
+				});
+			
+			//Wrap with an overall container
+			var tableContainer = bodyContainer.wrap('<div></div>').parent()
+				.attr('id', tId + '_table_container')
+				.css('position','relative');
+
+			//clone the header
+			var headerContainer = $(document.createElement('div'))
+				.attr('id', tId + '_header_container')
+				.css({
+					width:  bodyContainer.innerWidth() - scrollBarWidth,
+					height: table.find('thead').outerHeight(), 
+					overflow: 'hidden',
+					top: 0, left:0
+				})
+				.prependTo(tableContainer);
+			
+			var headerTable = table.clone(true)
+				.find('tbody').remove().end()
+				.attr('id',tId + "_header")
+				.addClass(s.tableClass || table[0].className)
+				.css({
+					//width: $.browser.msie? table.outerWidth():table.width(), 
+					'table-layout':'fixed',
+					position:'absolute',
+					top:0, left:0
+				})
+				.append(table.find('thead').clone(true))
+				.appendTo(headerContainer);
+			
+			//sync header width
+			var headThs = headerTable.find('th');
+			table.find('th').each(function(i){
+				headThs.eq(i).css('width', s.adjustWidth(this));
+			})
+			
+			//sync scroll
+			var selects = IE6? table.find("select"): null;
+			bodyContainer.scroll(function(){
+				if(IE6 && selects.size()>0){
+					selects.each(function(i){
+						this.style.visibility =
+							($(this).offset().top - bodyContainer.offset().top) <= table.find("thead").outerHeight() + 10
+							? 'hidden':'visible';
+					});
+				}
+				headerTable.css({
+					left: '-' + $(this).scrollLeft() + 'px'
+				});
+			})
+			
+			//Move it down
+			headerContainer.css({
+				'position': 'absolute',
+				'top': 0
+			});
+		});
+	}
+	
+	$.fixedHeader = {
+		calcWidth: function(th){
+			var w = $(th).width();
+			var paddingLeft = $.fixedHeader.getComputedStyleInPx(th,'paddingLeft');
+			var paddingRight = $.fixedHeader.getComputedStyleInPx(th,'paddingRight');
+			var borderWidth = $.fixedHeader.getComputedStyleInPx(th,'borderRightWidth');			
+			if($.browser.msie) w = w+borderWidth;
+			if($.browser.opera) w = w+borderWidth;
+			if($.browser.safari) w = w+paddingLeft+paddingRight+borderWidth*2;
+			if($.browser.mozilla && parseFloat($.browser.version) <= 1.8) w=w+borderWidth; //FF2 still got a border-left missing problem, this is the best I can do.
+			return w;
+		},
+		getComputedStyleInPx: function(elem,style){
+			var computedStyle = (typeof elem.currentStyle != 'undefined')
+				?elem.currentStyle
+				:document.defaultView.getComputedStyle(elem, null);
+			var val = computedStyle[style];
+			val = val? parseInt(val.replace("px","")):0;
+			return (!val || val == 'NaN')?0:val;
+		},
+		getScrollBarWidth: function() { //calculate or get from global the scroll bar width
+			if(!$.fixedHeader.scrollBarWidth){ 
+				var inner = $(document.createElement('p')).css({width:'100%',height:'100%'});
+				var outer = $(document.createElement('div'))
+					.css({
+						position:'absolute',
+						top: '0px',
+						left: '0px',
+						visibility: 'hidden',
+						width: '200px',
+						height: '150px',
+						overflow: 'hidden'
+					})
+					.append(inner)
+					.appendTo(document.body);
+				
+				var w1 = inner[0].offsetWidth;
+				outer[0].style.overflow = 'scroll';
+				var w2 = inner[0].offsetWidth;
+				if (w1 == w2) w2 = outer[0].clientWidth;
+				document.body.removeChild (outer[0]);
+				$.fixedHeader.scrollBarWidth = (w1 - w2);
+			}
+			return $.fixedHeader.scrollBarWidth;
+		}
+	}
+	
+})(jQuery);
\ No newline at end of file
Index: tags/2.8.2/wb/templates/classic_theme/jquery/webkit-focusfix.js
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/jquery/webkit-focusfix.js	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/jquery/webkit-focusfix.js	(revision 1481)
@@ -0,0 +1,40 @@
+/**
+ * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
+ *
+ * (en) Workaround for Webkit browser to fix focus problems when using skiplinks
+ * (de) Workaround fÃ¼r Webkit-Browser, um den Focus zu korrigieren, bei Verwendung von Skiplinks
+ *
+ * @note			inspired by Paul Ratcliffe's article 
+ *					http://www.communis.co.uk/blog/2009-06-02-skip-links-chrome-safari-and-added-wai-aria
+ *
+ * @copyright       Copyright 2005-2009, Dirk Jesse
+ * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
+ *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
+ * @link            http://www.yaml.de
+ * @package         yaml
+ * @version         3.2
+ * @revision        $Revision: 430 $
+ * @lastmodified    $Date: 2009-10-27 21:15:57 +0100 (Di, 27. Okt 2009) $
+ */
+ 
+var is_webkit = navigator.userAgent.toLowerCase().indexOf('webkit') > -1;
+
+if(is_webkit) 
+{
+	var i;
+	var skiplinks = []
+	
+	if ( document.getElementsByClassName !== undefined) {
+		skiplinks = document.getElementsByClassName('skip');
+
+		for (i=0; i<skiplinks.length; i++) {
+			var target = skiplinks[i].href.substr(skiplinks[i].href.indexOf('#')+1);
+			var targetElement = document.getElementById(target);
+	
+			targetElement.href = '#'+target;
+			targetElement.setAttribute("tabindex", "0");
+	
+			skiplinks[i].setAttribute("onclick", "document.getElementById('"+target+"').focus();");
+		}
+	}	
+}
\ No newline at end of file
Index: tags/2.8.2/wb/templates/classic_theme/jquery/jquery-metadata.js
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/jquery/jquery-metadata.js	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/jquery/jquery-metadata.js	(revision 1481)
@@ -0,0 +1,13 @@
+/*
+ * Metadata - jQuery plugin for parsing metadata from elements
+ *
+ * Copyright (c) 2006 John Resig, Yehuda Katz, Jï¿½Ã¶rn Zaefferer, Paul McLanahan
+ *
+ * Dual licensed under the MIT and GPL licenses:
+ *   http://www.opensource.org/licenses/mit-license.php
+ *   http://www.gnu.org/licenses/gpl.html
+ *
+ * Revision: $Id: jquery.metadata.js 3620 2007-10-10 20:55:38Z pmclanahan $
+ *
+ */
+(function($){$.extend({metadata:{defaults:{type:'class',name:'metadata',cre:/({.*})/,single:'metadata'},setType:function(type,name){this.defaults.type=type;this.defaults.name=name;},get:function(elem,opts){var settings=$.extend({},this.defaults,opts);if(!settings.single.length)settings.single='metadata';var data=$.data(elem,settings.single);if(data)return data;data="{}";if(settings.type=="class"){var m=settings.cre.exec(elem.className);if(m)data=m[1];}else if(settings.type=="elem"){if(!elem.getElementsByTagName)return;var e=elem.getElementsByTagName(settings.name);if(e.length)data=$.trim(e[0].innerHTML);}else if(elem.getAttribute!=undefined){var attr=elem.getAttribute(settings.name);if(attr)data=attr;}if(data.indexOf('{')<0)data="{"+data+"}";data=eval("("+data+")");$.data(elem,settings.single,data);return data;}}});$.fn.metadata=function(opts){return $.metadata.get(this[0],opts);};})(jQuery);
\ No newline at end of file
Index: tags/2.8.2/wb/templates/classic_theme/jquery/jquery-plugins.js
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/jquery/jquery-plugins.js	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/jquery/jquery-plugins.js	(revision 1481)
@@ -0,0 +1,23 @@
+$(document).ready(function()
+{
+
+        if($(".jcalendar").length) {
+            $.insert(WB_URL+"/include/jscalendar/calendar-system.css");
+          }
+
+        if($(".jsadmin").length) {
+            $.insert(WB_URL+"/modules/jsadmin/backend.css");
+          }
+	//Add external link class to external links -
+	$('a[href^="http://"]').filter(function() {
+		//Compare the anchor tag's host name with location's host name
+	    return this.hostname && this.hostname !== location.hostname;
+	  }).addClass("external").attr("target", "_blank");
+
+	/* Add internal link class to external links -   */
+	$('a[href^="http://"]').filter(function() {
+		//Compare the anchor tag's host name with location's host name
+	    return this.hostname && this.hostname == location.hostname;
+	  }).addClass("internal");
+
+});
\ No newline at end of file
Index: tags/2.8.2/wb/templates/classic_theme/jquery/toggle_zip.js
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/jquery/toggle_zip.js	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/jquery/toggle_zip.js	(revision 1481)
@@ -0,0 +1,14 @@
+function toggle() {
+	var check = document.getElementById("file2");
+	if (check.style.visibility == "visible") {
+		for (i=2; i<=10; i++) {
+			document.getElementById("file" + i).style.visibility = "hidden";
+		}
+		document.getElementById("delzip").style.display = "inline";
+	} else {
+		for (i=2; i<=10; i++) {
+			document.getElementById("file" + i).style.visibility = "visible";
+		}
+		document.getElementById("delzip").style.display = "none";
+	}
+}
Index: tags/2.8.2/wb/templates/classic_theme/images/logo.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/logo.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/files/unknown.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/files/unknown.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/files/index.php
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/images/files/index.php	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/images/files/index.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+/**
+ * $Id$
+ * Website Baker theme: wb_theme
+ * This theme is the default WB backend Theme
+ * Feel free to modify or build up on this template.
+ *
+ * This file prevents directory listing.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Johannes Tassilo Gruber
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    2.80
+ * @platform   Website Baker 2.8
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+// prevent directory listing
+header('Location: ../../../../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/files/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/yt.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/yt.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/uy.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/uy.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/bm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/bm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/fj.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/fj.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/bo.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/bo.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/nf.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/nf.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/bs.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/bs.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/jm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/jm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/re.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/re.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/fr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/fr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/jo.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/jo.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/bw.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/bw.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/nl.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/nl.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/by.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/by.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/za.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/za.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/wales.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/wales.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/np.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/np.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/nr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/nr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ro.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ro.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/vn.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/vn.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/rs.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/rs.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/zm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/zm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ru.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ru.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/cd.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/cd.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/nz.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/nz.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ga.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ga.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/rw.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/rw.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/cf.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/cf.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ch.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ch.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ge.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ge.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/cl.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/cl.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/gi.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/gi.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/cn.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/cn.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/zw.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/zw.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/kh.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/kh.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/gm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/gm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/cr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/cr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/sb.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/sb.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/sd.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/sd.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/gq.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/gq.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/canada.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/canada.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/kn.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/kn.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/cv.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/cv.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/gs.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/gs.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/kp.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/kp.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/index.php
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/images/flags/index.php	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/images/flags/index.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+/**
+ * $Id$
+ * Website Baker theme: classic
+ * This theme is the WB backend Theme from WB 2.7
+ * Feel free to modify or build up on this template.
+ *
+ * This file prevents directory listing.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Johannes Tassilo Gruber
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    2.80
+ * @platform   Website Baker 2.8
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+// prevent directory listing
+header('Location: ../../../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/cx.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/cx.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/sh.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/sh.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/gu.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/gu.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/om.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/om.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/kr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/kr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/cz.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/cz.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/sj.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/sj.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/gw.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/gw.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/sl.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/sl.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/gy.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/gy.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/sn.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/sn.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/kz.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/kz.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/da.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/da.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/sr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/sr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/st.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/st.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/de.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/de.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/sv.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/sv.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ws.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ws.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/sz.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/sz.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/la.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/la.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/lc.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/lc.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/dm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/dm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/do.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/do.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/fam.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/fam.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/li.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/li.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/pf.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/pf.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/hn.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/hn.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/tc.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/tc.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/lk.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/lk.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ph.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ph.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/england.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/england.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/hr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/hr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/tg.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/tg.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/pl.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/pl.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ht.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ht.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/pn.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/pn.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/tk.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/tk.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ls.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ls.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/tm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/tm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/lu.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/lu.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/pr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/pr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/to.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/to.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/pt.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/pt.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ly.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ly.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ae.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ae.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ag.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ag.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ai.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ai.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/tw.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/tw.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/eh.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/eh.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/am.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/am.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ie.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ie.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ao.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ao.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/md.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/md.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/qa.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/qa.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/en.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/en.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/as.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/as.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/mh.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/mh.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/au.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/au.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/er.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/er.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/aw.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/aw.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/io.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/io.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ml.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ml.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/et.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/et.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/iq.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/iq.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/mn.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/mn.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/is.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/is.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/mp.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/mp.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ye.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ye.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/mr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/mr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/mt.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/mt.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/mv.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/mv.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/bb.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/bb.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/mx.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/mx.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/bd.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/bd.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/mz.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/mz.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/bf.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/bf.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/europeanunion.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/europeanunion.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/bh.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/bh.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/bj.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/bj.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/uz.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/uz.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/na.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/na.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/fi.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/fi.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/bn.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/bn.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/fk.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/fk.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/nc.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/nc.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/fm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/fm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ne.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ne.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/br.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/br.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/fo.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/fo.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ng.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ng.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/bt.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/bt.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ni.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ni.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/va.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/va.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/bv.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/bv.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/scotland.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/scotland.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/vc.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/vc.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/jp.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/jp.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ve.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ve.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/bz.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/bz.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/no.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/no.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/vg.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/vg.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/vi.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/vi.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/nu.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/nu.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ca.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ca.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/cc.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/cc.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/cg.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/cg.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/gd.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/gd.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/vu.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/vu.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ci.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ci.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/gf.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/gf.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ck.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ck.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/gh.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/gh.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ke.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ke.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/cm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/cm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/kg.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/kg.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/co.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/co.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/gl.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/gl.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ki.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ki.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/sa.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/sa.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/gn.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/gn.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/cs.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/cs.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/sc.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/sc.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/gp.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/gp.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/km.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/km.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/cu.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/cu.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/se.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/se.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/gr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/gr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/sg.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/sg.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/gt.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/gt.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/cy.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/cy.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/si.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/si.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/wf.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/wf.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/sk.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/sk.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/sm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/sm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/kw.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/kw.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/so.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/so.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ky.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ky.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/sy.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/sy.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/lb.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/lb.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/dj.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/dj.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/pa.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/pa.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/hk.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/hk.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/hm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/hm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/pe.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/pe.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/pg.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/pg.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/td.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/td.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/tf.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/tf.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/pk.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/pk.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/th.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/th.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/hu.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/hu.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/pm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/pm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/dz.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/dz.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/lr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/lr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/tj.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/tj.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/lt.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/lt.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/tl.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/tl.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/lv.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/lv.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/tn.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/tn.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ps.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ps.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ad.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ad.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/tr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/tr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/af.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/af.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/pw.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/pw.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ec.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ec.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/tt.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/tt.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/py.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/py.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ee.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ee.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/tv.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/tv.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/eg.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/eg.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/id.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/id.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/al.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/al.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ma.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ma.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/tz.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/tz.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/an.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/an.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/mc.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/mc.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/me.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/me.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ar.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ar.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/mg.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/mg.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/il.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/il.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/at.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/at.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ua.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ua.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/in.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/in.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/es.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/es.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/mk.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/mk.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ax.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ax.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/mm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/mm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ir.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ir.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/az.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/az.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/mo.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/mo.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ug.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ug.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/it.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/it.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/mq.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/mq.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ms.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ms.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/mu.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/mu.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/um.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/um.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/ba.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/ba.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/mw.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/mw.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/my.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/my.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/be.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/be.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/us.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/us.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/bg.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/bg.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/flags/bi.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/flags/bi.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/index.php
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/images/index.php	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/images/index.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+/**
+ * $Id$
+ * Website Baker theme: classic
+ * This theme is the WB backend Theme from WB 2.7
+ * Feel free to modify or build up on this template.
+ *
+ * This file prevents directory listing.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Johannes Tassilo Gruber
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    2.80
+ * @platform   Website Baker 2.8
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+// prevent directory listing
+header('Location: ../../../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/modify_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/modify_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/dl.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/dl.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/minus_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/minus_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/clock_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/clock_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/visible_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/visible_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/menu.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/menu.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/none_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/none_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/blank.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/blank.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/view.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/view.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/reload_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/reload_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/view_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/view_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/keys_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/keys_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/menuo.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/menuo.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/clock_del_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/clock_del_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/help.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/help.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/bgtitle.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/bgtitle.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/clock_red_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/clock_red_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/noclock_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/noclock_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/hidden_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/hidden_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/delete_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/delete_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/deleted_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/deleted_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/down_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/down_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/background.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/background.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/private_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/private_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/folder_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/folder_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/up_folder_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/up_folder_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/home.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/home.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/plus_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/plus_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/restore_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/restore_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/images/up_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/images/up_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/theme.css
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/theme.css	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/theme.css	(revision 1481)
@@ -0,0 +1,411 @@
+html {overflow: -moz-scrollbars-vertical;} /* Force firefox to always show room for a vertical scrollbar */
+body,td,th,input,textarea {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000000;
+}
+
+body {
+ background-color: #A8BCCB;
+ background-image: url(images/background.png);
+ background-repeat: repeat-x;
+ margin: auto;
+}
+
+img {
+	border: 0px;
+}
+
+form {
+ margin: 0;
+}
+
+hr {
+ margin: 15px 0px 15px 0px;
+ color: #003366;
+ height: 1px;
+}
+
+h1 {
+ text-align: center;
+ font-size: 20px;
+ color: #000000;
+ text-transform: uppercase;
+}
+
+h2 {
+ font-size: 15px;
+ color: #336699;
+ margin: 5px 0px 5px 0px;
+}
+
+h4 {
+ margin: 0;
+ border-bottom: 1px solid #DDD;
+ padding-bottom: 5px;
+}
+
+a:link, a:visited, a:active {
+ color: #003366;
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: none;
+ color: #336699;
+}
+
+ul, li {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+}
+
+label {
+ cursor: pointer;
+}
+
+input:focus, input:active, select:focus, textarea:focus {
+ background: #F1F8FD;
+}
+
+iframe {
+ border: 1px solid #35373a;
+}
+
+div.box {
+ font-size: small;
+ width: 100%;
+ text-align: right;
+ margin: -10px 0 0 0;
+}
+
+.container {
+ background: #fff url(images/bgtitle.png);
+ background-repeat: repeat-x;
+ width: 85%;
+ margin: 0 auto;
+}
+
+.content {
+ padding: 20px;
+ height: 280px;
+ width: 98%;
+ vertical-align: top;
+}
+
+.current a, .current a:link, .current a:active, .current a:visited {
+ background: #fff url(images/menuo.png);
+ background-repeat: repeat-x;
+ color: #fff;
+}
+
+.description {
+ vertical-align: top;
+ text-align: left;
+ width: 240px;
+ padding: 0px 0px 0px 3px;
+}
+
+.graphic {
+ width: 50px;
+ height: 50px;
+ border: 4px solid #FDFDFD;
+ padding-left: 3px;
+}
+
+.graphic img {
+ vertical-align: middle;
+ background-color: #FFFFFF;
+	padding: 4px;
+	border: 1px solid #D0D0D0;
+}
+
+.hide {
+ display: none;
+}
+
+.menu {
+ margin: 0;
+ padding: 0;
+ padding-top: 8px;
+ padding-bottom: 10px;
+ padding-left: 8px;
+ background: #000 url(images/menu.png);
+ background-repeat: repeat-x;
+}
+
+.menu li {
+ list-style-type: none;
+ display: inline;
+ padding-right: 1px;
+}
+
+.menu a, .menu a:link, .menu a:active, .menu a:visited {
+ border-bottom: 0;
+ padding: 7px 11px 9px 11px;
+ color: #fff;
+}
+
+.menu a:hover {
+ text-decoration: none;
+ color: #fff;
+ background: #fff url(images/menuo.png);
+ background-repeat: repeat-x;
+}
+
+.note {
+ color: #666666;
+ font-size: 10px;
+}
+
+.pages_list .icon_col td img {
+ display: block;
+ border-style: none;
+ float: left;
+ padding-right: 7px;
+}
+
+.pages_list table {
+  width: 100%;
+ margin: 0 auto;
+ background-color: #f0f0f0;
+}
+
+.pages_list table td {
+ padding: 3px;
+}
+
+.pages_list ul {margin:0;font-weight:normal; padding: 0px;}
+.pages_list ul li {list-style-type:none;margin:2px 0; padding:0px;}
+
+.page_list {
+ display: none;
+}
+
+.page_list_show li {
+ display: block;
+}
+
+img.page_list_rights {
+ border: none;
+ margin-right: 5px;
+ float: left;
+ margin-top: 2px;
+ margin-bottom: 2px;
+}
+
+.content input {
+	font-size: 12px;
+}
+.row_a {
+ background-color: #ECF3F7;
+}
+
+.row_b {
+ background-color: #DBEBF2;
+}
+
+.save, .reset {
+ width: 100px;
+}
+
+.section {
+ margin-top: 10px;
+ padding: 0px;
+ border: 1px solid #999999;
+ height: 75px;
+ width: 100%;
+ background-color: #FDFDFD;
+}
+
+.sections_header {
+ width: 100%;
+ height: 50px; 
+ margin-bottom: 10px;
+ background-color: #F0F0F0;
+ border: none;
+}
+
+.sections_header td {
+ padding: 5px;
+}
+
+.settings_table td {
+ vertical-align: top;
+ text-align: left;
+}
+
+.setting_name {
+ width: 20%;
+}
+
+.setting_value {
+ width: 80%;
+}
+
+.setting_value input, .setting_value select, .setting_value textarea {
+ width: 100%;
+}
+
+.setting_value textarea {
+ height: 50px;
+}
+
+.title {
+ width: 90%;
+ text-align: left;
+ font-weight: bold;
+ font-size: 14px;
+ color: #003366;
+ height: 16px;
+ padding: 4px 0px 0px 3px;
+}
+
+.tool_table td {
+ vertical-align: top;
+ text-align: left;
+}
+
+.tool_table ul {
+ margin: 0;
+ padding: 0;
+ margin-left: 20px;
+ margin-bottom: 10px;
+}
+
+.tool_table li {
+ padding-bottom: 5px;
+ list-style-type: disc;
+}
+
+.value_input input, .value_input text, .value_input select {
+ width: 100%;
+}
+
+#file_mode input {
+ width: 12px;
+ height: 12px;
+}
+
+#dir_mode input {
+ width: 12px;
+ height: 12px;
+}
+
+#hide2 {
+ display: none;
+}
+
+/* CSS STYLES FOR THE PAGES SECTION */
+
+table.pages_view {
+ width: 100%;
+ margin: 0 auto;
+ border: 0;
+ border-spacing: 0px;
+ background-color: #ECF3F7;
+}
+
+table.pages_view td {
+ padding: 3px;
+}
+
+table.pages_view tr:hover {
+ background-color: #F1F8DD;
+}
+
+/* FORMS */
+
+.submit, .cancel {
+ width: 100px;
+ margin-top: 5px;
+}
+
+.form_submit {
+ width: 100%;
+}
+
+.form_submit .left {
+ text-align: left;
+}
+
+.form_submit .right {
+ text-align: right;
+}
+
+.input_small {
+ width: 20px;
+}
+
+.input_narrow {
+ width: 100px;
+}
+
+.input_normal {
+ width: 120px;
+}
+
+.input_medium {
+ width: 150px;
+}
+
+.input_wide {
+ width: 200px;
+}
+
+.input_large {
+ width: 300px;
+}
+
+.input_full {
+ width: 100%;
+}
+
+select option.disabled {
+ color: #aaa;
+}
+
+.jsadmin_drag img {
+ padding: 3px 0;
+ margin-top: 1px;
+ vertical-align: top;
+ cursor: pointer;
+}
+
+.modify_link {
+ padding-top: 4px;
+ padding-left: 7px;
+ text-indent: 7px;
+}
+
+.header_title {
+	width: 100%;
+}
+.header_list_menu_title {text-align:left;}
+.header_list_page_title {width:300px; text-align:left;}
+.header_list_page_id {width:50px; text-align: right; padding-right:15px;}
+.header_list_actions {width:150px; text-align:left;}
+
+.list_menu_title {text-align:left;}
+.list_page_title {width:300px;text-align:left; }
+
+.list_page_id {width:30px;text-align: right; }
+.list_actions {width:20px;text-align:left;}
+.sections_list {font-weight:bold;padding-left:10px;}
+.sections_list table {width:900px;}
+
+
+.header_list_type {text-align:left;}
+.header_list_block {text-align:left;width:180px;}
+.header_list_pubdate_start {text-align:left;width:200px;}
+.header_list_pubdate_end {text-align:left;width:200px;}
+.header_list_sections_actions {text-align:left;width:30px;}
+.header_list_section_id {width:30px;text-align:right;}
+
+
+.list_section_id {width:30px;text-align:right;}
+.list_pubdate_start {text-align:left;width:200px;}
+.list_pubdate_end {text-align:left;width:200px;}
+
+/* Ende */
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/classic_theme/theme.css
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/templates/users_form.htt
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/templates/users_form.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/templates/users_form.htt	(revision 1481)
@@ -0,0 +1,94 @@
+<!-- BEGIN main_block -->
+
+<script type="text/javascript">
+function toggle_radio(radio_on, radio_off) {
+	document.getElementById(radio_on).checked = true;
+	document.getElementById(radio_off).checked = true;
+}
+</script>
+
+<h2 style="{DISPLAY_EXTRA}">{HEADING_MODIFY_USER}</h2>
+
+<form name="user" action="{ACTION_URL}" method="post" class="{DISPLAY_ADD}">
+<input type="hidden" name="user_id" value="{USER_ID}" />
+<input type="hidden" name="username_fieldname" value="{USERNAME_FIELDNAME}" />
+
+<table cellpadding="5" cellspacing="0" border="0" width="100%">
+<tr>
+	<td width="150">{TEXT_USERNAME}:</td>
+	<td class="value_input">
+		<input type="text" name="{USERNAME_FIELDNAME}" maxlength="30" value="{USERNAME}" />
+	</td>
+</tr>
+<tr>
+	<td>{TEXT_PASSWORD}:</td>
+	<td class="value_input">
+		<input type="password" name="password" maxlength="30" />
+	</td>
+</tr>
+<tr>
+	<td>{TEXT_RETYPE_PASSWORD}:</td>
+	<td class="value_input">
+		<input type="password" name="password2" maxlength="30" />
+	</td>
+</tr>
+<tr style="{DISPLAY_EXTRA}">
+	<td>&nbsp;</td>
+	<td style="font-size: 10px;">
+		{CHANGING_PASSWORD}
+	</td>
+</tr>
+<tr>
+	<td>{TEXT_DISPLAY_NAME}:</td>
+	<td class="value_input">
+		<input type="text" name="display_name" maxlength="255" value="{DISPLAY_NAME}" />
+	</td>
+</tr>
+<tr>
+	<td>{TEXT_EMAIL}:</td>
+	<td class="value_input">
+		<input type="text" name="email" maxlength="255" value="{EMAIL}" />
+	</td>
+</tr>
+<tr style="{DISPLAY_HOME_FOLDERS}">
+	<td>{TEXT_HOME_FOLDER}:</td>
+	<td class="value_input">
+		<select name="home_folder">
+			<option value="">{TEXT_NONE}</option>
+			<!-- BEGIN folder_list_block -->
+			<option value="{FOLDER}"{SELECTED}>{NAME}</option>
+			<!-- END folder_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td>{TEXT_GROUP}:</td>
+	<td class="value_input">
+		<select name="groups[]" multiple="multiple" size="5">
+		<!-- BEGIN group_list_block -->
+			<option value="{ID}" {SELECTED}>{NAME}</option>
+		<!-- END group_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td>&nbsp;</td>
+	<td>
+		<input type="radio" name="active[]" id="active" value="1" {ACTIVE_CHECKED} />
+		<label for="active">{TEXT_ACTIVE}</label>
+		<input type="radio" name="active[]" id="disabled" value="0" {DISABLED_CHECKED} />
+		<label for="disabled">{TEXT_DISABLED}</label>
+	</td>
+</tr>
+<tr>
+	<td>&nbsp;</td>
+	<td>
+		<input type="submit" name="submit" value="{SUBMIT_TITLE}" />
+		<input type="reset" name="reset" value="{TEXT_RESET}" />
+	</td>
+</tr>
+</table>
+
+</form>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/classic_theme/templates/header.htt
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/templates/header.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/templates/header.htt	(revision 1481)
@@ -0,0 +1,57 @@
+<!-- BEGIN header_block -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<title>{WEBSITE_TITLE} >> {TEXT_ADMINISTRATION} - {SECTION_NAME}</title>
+<meta http-equiv="content-type" content="text/html; charset={CHARSET}" />
+<meta http-equiv="content-language" content="{LANGUAGE}" />
+<meta name="description" content="{TEXT_ADMINISTRATION}" />
+<meta name="keywords" content="{TEXT_ADMINISTRATION}" />
+<link href="{THEME_URL}/theme.css" rel="stylesheet" type="text/css" />
+{BACKEND_MODULE_CSS}
+<script type="text/javascript">
+var WB_URL = '{WB_URL}';
+var THEME_URL = '{THEME_URL}';
+var ADMIN_URL = '{ADMIN_URL}';
+</script>
+<script src="{WB_URL}/include/editarea/edit_area_full.js" type="text/javascript"></script>
+{BACKEND_MODULE_JS}
+<script type="text/javascript">
+function confirm_link(message, url) {
+	if(confirm(message)) location.href = url;
+}
+</script>
+</head>
+<body>
+<table cellpadding="0" cellspacing="0" border="0" width="770" align="center">
+<tr>
+	<td width="60" valign="top">
+		<a href="{ADMIN_URL}" title="{TITLE_START}"><img src="{THEME_URL}/images/logo.png" border="0" alt="Logo" /></a>
+	</td>
+	<td width="5">&nbsp;</td>
+	<td style="font-size: 14px;" valign="top" align="right">
+         <a href="{ADMIN_URL}" title="{TITLE_START}"><img src="{THEME_URL}/images/home.png" border="0" alt="{TITLE_START}" /></a>
+         &nbsp;&nbsp;<a href="{URL_VIEW}" target="_blank" title="{TITLE_VIEW}"><img src="{THEME_URL}/images/view.png" border="0" alt="{WB_URL}" /></a>
+	&nbsp; <a href="{URL_HELP}" target="_blank" title="{TITLE_HELP}"><img src="{THEME_URL}/images/help.png" border="0" alt="{TITLE_HELP}" /></a>
+         &nbsp; <a href="{ADMIN_URL}/logout" title="{TITLE_LOGOUT}"><img src="{THEME_URL}/images/dl.png" border="0" alt="{TITLE_LOGOUT}" /></a>
+</td>
+	<td width="100" align="right" style="padding-top: 10px; padding-right: 15px; color: #000;">
+	Version {VERSION}<br />
+    Revision {REVISION}
+	</td>
+</tr>
+</table>
+
+<table cellpadding="0" cellspacing="0" border="0" width="770" align="center" class="container">
+<tr>
+	<td>
+		<ul class="menu">
+			<!-- BEGIN linkBlock -->
+			<li class="{CLASS}"><a href="{LINK}" target="{TARGET}">{TITLE}</a></li>
+			<!-- END linkBlock -->
+		</ul>
+	</td>
+</tr>
+<tr>
+	<td class="content">
+<!-- END header_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/classic_theme/templates/login_forgot.htt
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/templates/login_forgot.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/templates/login_forgot.htt	(revision 1481)
@@ -0,0 +1,77 @@
+<!-- BEGIN main_block -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<title>Retrieve Login Details</title>
+<meta http-equiv="content-type" content="text/html; charset={CHARSET}" />
+<meta http-equiv="content-language" content="{LANGUAGE}" />
+<meta name="description" content="Retrieve Login Details" />
+<meta name="keywords" content="Retrieve Login Details" />
+<link href="{THEME_URL}/theme.css" rel="stylesheet" type="text/css" />
+</head>
+<body onload="document.forgot_pass.email.focus();">
+
+<table cellpadding="0" cellspacing="0" border="0" width="770" align="center">
+<tr>
+	<td width="60" valign="top">
+		<img src="{THEME_URL}/images/logo.png" alt="Logo" />
+	</td>
+	<td width="5">&nbsp;</td>
+	<td style="font-size: 20px;">
+		<font style="color: #FFF;">{SECTION_FORGOT}</font>
+	</td>
+</tr>
+</table>
+
+<table cellpadding="0" cellspacing="0" border="0" width="770" align="center" style="margin-top: 30px;" class="container">
+<tr>
+	<td class="content">
+	
+	<form name="forgot_pass" action="{ACTION_URL}" method="post">
+	<input type="hidden" name="url" value="{URL}" />
+		<table cellpadding="5" cellspacing="0" border="0" align="center" width="500">
+		<tr>
+			<td height="40" align="center" style="color: #{MESSAGE_COLOR};" colspan="2">{MESSAGE}</td>
+		</tr>
+		<tr style="{DISPLAY_FORM}">
+			<td height="10" colspan="2"></td>
+		</tr>
+		<tr style="{DISPLAY_FORM}">
+			<td width="165" height="30" align="right">{TEXT_EMAIL}:</td>
+			<td><input type="text" maxlength="255" name="email" value="{EMAIL}" style="width: 180px;" /></td>
+		</tr>
+		<tr style="{DISPLAY_FORM}" height="30">
+			<td>&nbsp;</td>
+			<td><input type="submit" name="submit" value="{TEXT_SEND_DETAILS}" style="width: 180px; font-size: 10px; text-transform: uppercase; color: #003366; border: 1px solid #336699; background-color: #DDDDDD; padding: 3px;"></td>
+		</tr>
+		<tr style="{DISPLAY_FORM}">
+			<td height="10" colspan="2"></td>
+		</tr>
+		</table>
+	</form>
+	
+	<center>
+		<a href="{LOGIN_URL}">{TEXT_NEED_TO_LOGIN}</a>
+		<br />
+		<br />
+		<a href="{WB_URL}">{TEXT_HOME}</a>
+	</center>
+
+	</td>
+</tr>
+</table>
+
+<table cellpadding="0" cellspacing="0" border="0" width="100%" style="padding: 10px 0px 10px 0px;">
+<tr>
+	<td style="font-size:12px;text-align:center;">
+      <!-- Please note: the below reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
+      <a href="http://www.websitebaker2.org/" title="external">WebsiteBaker</a> is released under the
+      <a href="http://www.gnu.org/licenses/gpl.html" title="WebsiteBaker is released under the GNU General Public License">GNU General Public License</a>
+      <!-- Please note: the above reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
+	</td>
+</tr>
+</table>
+
+</body>
+</html>
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/classic_theme/templates/start.htt
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/templates/start.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/templates/start.htt	(revision 1481)
@@ -0,0 +1,153 @@
+<!-- BEGIN main_block -->
+
+<table cellpadding="0" cellspacing="0" border="0" width="99%" align="center">
+<tr>
+	<td colspan="3" align="center">
+		{WELCOME_MESSAGE}. {CURRENT_USER} {DISPLAY_NAME}
+	</td>
+</tr>
+<tr style="{DISPLAY_WARNING};">
+	<td colspan="3" align="center" style="color: #FF0000; font-weight: bold;">
+		{WARNING}
+	</td>
+</tr>
+<tr>
+	<td align="center" valign="top">
+		
+		<table cellpadding="0" cellspacing="0" border="0" class="section" style="{DISPLAY_PAGES};">
+		<tr>
+			<td class="graphic" align="center" valign="middle" rowspan="2">
+				<a href="{ADMIN_URL}/pages/index.php">
+					<img src="{THEME_URL}/icons/pages.png" alt="{PAGES}" />
+				</a>
+			</td>
+			<td class="title">
+				<a href="{ADMIN_URL}/pages/index.php">{PAGES}</a>
+			</td>
+		</tr>
+		<tr>
+			<td class="description">
+				{PAGES_OVERVIEW}
+			</td>
+		</tr>
+		</table>
+		
+		<table cellpadding="0" cellspacing="0" border="0" class="section" style="{DISPLAY_ADDONS};">
+		<tr>
+			<td class="graphic" align="center" valign="middle" rowspan="2">
+				<a href="{ADMIN_URL}/addons/index.php">
+					<img src="{THEME_URL}/icons/addons.png" alt="{ADDONS}" />
+				</a>
+			</td>
+			<td class="title">
+				<a href="{ADMIN_URL}/addons/index.php">{ADDONS}</a>
+			</td>
+		</tr>
+		<tr>
+			<td class="description">
+				{ADDONS_OVERVIEW}
+			</td>
+		</tr>
+		</table>
+
+		<table cellpadding="0" cellspacing="0" border="0" class="section" style="{DISPLAY_SETTINGS};">
+		<tr>
+			<td class="graphic" align="center" valign="middle" rowspan="2">
+				<a href="{ADMIN_URL}/settings/index.php">
+					<img src="{THEME_URL}/icons/settings.png" alt="{SETTINGS}" />
+				</a>
+			</td>
+			<td class="title">
+				<a href="{ADMIN_URL}/settings/index.php">{SETTINGS}</a>
+			</td>
+		</tr>
+		<tr>
+			<td class="description">
+				{SETTINGS_OVERVIEW}
+			</td>
+		</tr>
+		</table>
+
+		<table cellpadding="0" cellspacing="0" border="0" class="section" style="{DISPLAY_ACCESS};">
+		<tr>
+			<td class="graphic" align="center" valign="middle" rowspan="2">
+				<a href="{ADMIN_URL}/access/index.php">
+					<img src="{THEME_URL}/icons/access.png" alt="{ACCESS}" />
+				</a>
+			</td>
+			<td class="title">
+				<a href="{ADMIN_URL}/access/index.php">{ACCESS}</a>
+			</td>
+		</tr>
+		<tr>
+			<td class="description">
+				{ACCESS_OVERVIEW}
+			</td>
+		</tr>
+		</table>
+
+	</td>
+	<td width="15">
+		&nbsp;
+	</td>
+	<td align="center" valign="top">
+		
+		<table cellpadding="0" cellspacing="0" border="0" class="section" style="{DISPLAY_MEDIA};">
+		<tr>
+			<td class="graphic" align="center" valign="middle" rowspan="2">
+				<a href="{ADMIN_URL}/media/index.php">
+					<img src="{THEME_URL}/icons/media.png" alt="{MEDIA}" />
+				</a>
+			</td>
+			<td class="title">
+				<a href="{ADMIN_URL}/media/index.php">{MEDIA}</a>
+			</td>
+		</tr>
+		<tr>
+			<td class="description">
+				{MEDIA_OVERVIEW}
+			</td>
+		</tr>
+		</table>
+
+		<table cellpadding="0" cellspacing="0" border="0" class="section">
+		<tr>
+			<td class="graphic" align="center" valign="middle" rowspan="2">
+				<a href="{ADMIN_URL}/preferences/index.php">
+					<img src="{THEME_URL}/icons/preferences.png" alt="{PREFERENCES}" />
+				</a>
+			</td>
+			<td class="title">
+				<a href="{ADMIN_URL}/preferences/index.php">{PREFERENCES}</a>
+			</td>
+		</tr>
+		<tr>
+			<td class="description">
+				{PREFERENCES_OVERVIEW}
+			</td>
+		</tr>
+		</table>
+
+		<table cellpadding="0" cellspacing="0" border="0" class="section" style="{DISPLAY_ADMINTOOLS};">
+		<tr>
+			<td class="graphic" align="center" valign="middle" rowspan="2">
+				<a href="{ADMIN_URL}/admintools/index.php">
+					<img src="{THEME_URL}/icons/admintools.png" alt="{ADMINTOOLS}" />
+				</a>
+			</td>
+			<td class="title">
+				<a href="{ADMIN_URL}/admintools/index.php">{ADMINTOOLS}</a>
+			</td>
+		</tr>
+		<tr>
+			<td class="description">
+				{ADMINTOOLS_OVERVIEW}
+			</td>
+		</tr>
+		</table>
+
+	</td>
+</tr>
+</table>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/classic_theme/templates/templates.htt
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/templates/templates.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/templates/templates.htt	(revision 1481)
@@ -0,0 +1,79 @@
+<!-- BEGIN main_block -->
+
+<div class="box">
+	{URL_MODULES}&nbsp;&nbsp;{URL_LANGUAGES}
+</div>
+
+<br />
+{CHANGE_TEMPLATE_NOTICE}<br /><br />
+
+<form name="install" enctype="multipart/form-data" action="install.php" method="post" class="{DISPLAY_INSTALL}">
+
+<h2>{HEADING_INSTALL_TEMPLATE}</h2>
+
+<table cellpadding="2" cellspacing="0" border="0" width="100%">
+<tr>
+	<td>
+		<input type="file" name="userfile" size="82%" />
+		<script type="text/javascript">
+		document.install.userfile.focus();
+		</script>
+	</td>
+	<td width="110" align="left">
+		<input type="submit" name="submit" value="{TEXT_INSTALL}" style="width: 100px;" />
+	</td>
+</tr>
+</table>
+
+<br />
+
+</form>
+
+<form name="uninstall" action="uninstall.php" method="post" class="{DISPLAY_UNINSTALL}">
+
+<h2>{HEADING_UNINSTALL_TEMPLATE}</h2>
+
+<table cellpadding="2" cellspacing="0" border="0" width="100%">
+<tr>
+	<td>
+		<select name="file" style="width: 97%;">
+		<option value="" selected="selected">{TEXT_PLEASE_SELECT}...</option>
+		<!-- BEGIN template_list_block -->
+			<option value="{VALUE}">{NAME}</option>
+		<!-- END template_list_block -->
+		</select>
+	</td>
+	<td width="110">
+		<input type="submit" name="submit" value="{TEXT_UNINSTALL}" style="width: 100px;" />
+	</td>
+</tr>
+</table>
+
+<br />
+
+</form>
+
+<form name="details" action="details.php" method="post" class="{DISPLAY_LIST}">
+
+<h2>{HEADING_TEMPLATE_DETAILS}</h2>
+
+<table cellpadding="2" cellspacing="0" border="0" width="100%">
+<tr>
+	<td>
+		<select name="file" style="width: 97%;">
+		<option value="" selected="selected">{TEXT_PLEASE_SELECT}...</option>
+		<!-- BEGIN template_list_block -->
+			<option value="{VALUE}">{NAME}</option>
+		<!-- END template_list_block -->
+		</select>
+	</td>
+	<td width="110">
+		<input type="submit" name="submit" value="{TEXT_VIEW_DETAILS}" style="width: 100px;" />
+	</td>
+</tr>
+</table>
+
+<br />
+</form>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/classic_theme/templates/footer.htt
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/templates/footer.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/templates/footer.htt	(revision 1481)
@@ -0,0 +1,24 @@
+<!-- BEGIN footer_block -->
+	</td>
+</tr>
+</table>
+
+<table cellpadding="0" cellspacing="0" border="0" width="100%" style="padding: 10px 0px 10px 0px;">
+<tr>
+	<td style="font-size:12px;text-align:center;">
+      <!-- Please note: the below reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
+      <a href="http://www.websitebaker2.org/" title="external">WebsiteBaker</a> is released under the
+      <a href="http://www.gnu.org/licenses/gpl.html" title="WebsiteBaker is released under the GNU General Public License">GNU General Public License</a>
+      <!-- Please note: the above reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
+	</td>
+</tr>
+</table>
+
+<script src="{WB_URL}/include/jquery/jquery-min.js" type="text/javascript"></script>
+<script src="{WB_URL}/include/jquery/jquery-insert.js" type="text/javascript"></script>
+<!--[if lt IE 7]><script type="text/javascript" src="{WB_URL}/include/jquery/plugins/jquery-pngFix.js"></script><![endif]-->
+<script src="{THEME_URL}/jquery/jquery-plugins.js" type="text/javascript"></script>
+{BACKEND_BODY_MODULE_JS}
+</body>
+</html>
+<!-- END footer_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/classic_theme/templates/pages.htt
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/templates/pages.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/templates/pages.htt	(revision 1481)
@@ -0,0 +1,98 @@
+<!-- BEGIN main_block -->
+<div class="{DISPLAY_ADD}">
+    <h2>{HEADING_ADD_PAGE}</h2>
+    <form name="add" action="add.php" method="post">
+    <table cellpadding="2" cellspacing="0" border="0" width="100%" align="center">
+    <tr>
+    	<td width="70" height="20">{TEXT_TITLE}:</td>
+    	<td width="240" height="20">
+    		<input type="text" name="title" style="width: 232px;" />
+    	</td>
+    	<td rowspan="6" valign="top" style="padding-left: 20px; padding-top: 8px;">
+    		{TEXT_ADMINISTRATORS}:
+    		<ul style="list-style-type: none; margin: 0; padding: 0;">
+    			<!-- BEGIN group_list_block -->
+    			<li>
+    			<input type="checkbox" name="admin_groups[]" id="admin_group_{ID}" value="{ID}"{CHECKED}{DISABLED} />
+    			<label for="admin_group_{TOGGLE}">{NAME}</label>
+    			</li>
+    			<!-- END group_list_block -->
+    		</ul>
+    	</td>
+    	<td rowspan="6" valign="top" style="padding-left: 20px; padding-top: 8px;">
+    		<div id="viewers" style="display: none;">
+    			{TEXT_REGISTERED_VIEWERS}:
+    			<ul style="list-style-type: none; margin: 0; padding: 0;">
+    				<!-- BEGIN group_list_block2 -->
+    				<li>
+    				<input type="checkbox" name="viewing_groups[]" id="viewing_group_{ID}" value="{ID}"{CHECKED}{DISABLED} />
+    				<label for="viewing_group_{TOGGLE}">{NAME}</label>
+    				</li>
+    				<!-- END group_list_block2 -->
+    			</ul>
+    		</div>
+    	</td>
+    </tr>
+    <tr>
+    	<td width="70">{TEXT_TYPE}:</td>
+    	<td width="240">
+    		<select name="type" style="width: 240px;">
+    			<!-- BEGIN module_list_block -->
+    				<option value="{VALUE}"{SELECTED}>{NAME}</option>
+    			<!-- END module_list_block -->
+    		</select>
+    	</td>
+    </tr>
+    <tr>
+    	<td width="70">{TEXT_PARENT}:</td>
+    	<td width="240">
+    		<select name="parent" style="width: 240px;" onchange="return disabled_hack_for_ie(this);">
+    			<!-- BEGIN page_list_block2 -->
+    			<option value="{ID}"{DISABLED} style="background: {FLAG_ROOT_ICON} no-repeat center left; padding-left: 20px;">{TITLE}</option>
+    			<!-- END page_list_block2 -->
+    		</select>
+    	</td>
+    </tr>
+    <tr>
+    	<td width="70">{TEXT_VISIBILITY}:</td>
+    	<td width="240">
+    		<select name="visibility" onchange="javascript: toggle_viewers();" style="width: 240px;">
+    			<option value="public"{SELECTED}>{TEXT_PUBLIC}</option>
+    			<option value="private">{TEXT_PRIVATE}</option>
+    			<option value="registered">{TEXT_REGISTERED}</option>
+    			<option value="hidden">{TEXT_HIDDEN}</option>
+    			<option value="none">{TEXT_NONE}</option>
+    		</select>
+    	</td>
+    </tr>
+    <tr>
+    	<td width="70">&nbsp;</td>
+    	<td colspan="4">
+    		<input type="submit" name="submit" value="{TEXT_ADD}" style="width: 117px;" />
+    		<input type="reset" name="reset" value="{TEXT_RESET}" style="width: 117px;" />
+    	</td>
+    </tr>
+    <tr>
+    	<td>&nbsp;</td>
+    	<td>&nbsp;</td>
+    </tr>
+    </table>
+
+    </form>
+
+</div>
+<div class="{DISPLAY_INTRO}" style="padding-top: 10px;">
+<br />
+<h2>{HEADING_MODIFY_INTRO_PAGE}</h2>
+<a href="intro.php">
+{INTRO_LINK}
+</a>
+
+</div>
+<!-- Addition for remembering expanded state of pages -->
+<script type="text/javascript">
+var THEME_URL = '{THEME_URL}';
+var WB_URL = '{WB_URL}';
+</script>
+<script src="{ADMIN_URL}/pages/page_index.js" type="text/javascript"></script>
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/classic_theme/templates/settings.htt
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/templates/settings.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/templates/settings.htt	(revision 1481)
@@ -0,0 +1,625 @@
+<!-- BEGIN main_block -->
+
+<form name="settings" action="save.php" method="post">
+<input type="hidden" name="advanced" value="{ADVANCED}" />
+
+<table cellpadding="3" cellspacing="0" border="0" align="center" width="100%" class="settings_table">
+<tr>
+	<td colspan="3">
+		<h2>{HEADING_GENERAL_SETTINGS}</h2>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_WEBSITE_TITLE}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" name="website_title" value="{WEBSITE_TITLE}" />
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_WEBSITE_DESCRIPTION}:</td>
+	<td class="setting_value" colspan="2">
+		<textarea name="website_description" cols="50" rows="3">{WEBSITE_DESCRIPTION}</textarea>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_WEBSITE_KEYWORDS}:</td>
+	<td class="setting_value" colspan="2">
+		<textarea name="website_keywords" cols="50" rows="3" >{WEBSITE_KEYWORDS}</textarea>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_WEBSITE_HEADER}:</td>
+	<td class="setting_value" colspan="2">
+		<textarea name="website_header" cols="50" rows="3">{WEBSITE_HEADER}</textarea>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_WEBSITE_FOOTER}:</td>
+	<td class="setting_value" colspan="2">
+		<textarea name="website_footer" cols="50" rows="3">{WEBSITE_FOOTER}</textarea>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_PAGE_LEVEL_LIMIT}:</td>
+	<td class="setting_value" colspan="2">
+		<select name="page_level_limit">
+		<!-- BEGIN page_level_limit_list_block -->
+			<option value="{NUMBER}"{SELECTED}>{NUMBER}</option>
+		<!-- END page_level_limit_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_PAGE_TRASH}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="radio" name="page_trash" id="page_trash_disabled" style="width: 14px; height: 14px;" value="disabled"{PAGE_TRASH_DISABLED} />
+		<label for="page_trash_disabled">{TEXT_DISABLED}</label>
+		<input type="radio" name="page_trash" id="page_trash_inline" style="width: 14px; height: 14px;" value="inline"{PAGE_TRASH_INLINE} />
+		<label for="page_trash_inline">{TEXT_INLINE}</label>
+		<div style="margin: 0; padding: 0;{DISPLAY_PAGE_TRASH_SEPARATE}">
+			<input type="radio" name="page_trash" id="page_trash_separate" style="width: 14px; height: 14px;" value="separate"{PAGE_TRASH_SEPARATE} />
+			<label for="page_trash_separate">{TEXT_SEPARATE}</label>
+		</div>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+        <td class="setting_name">{TEXT_PAGE_LANGUAGES}:</td>
+        <td class="setting_value" colspan="2">
+                <input type="radio" name="page_languages" id="page_languages_true" style="width: 14px; height: 14px;" value="true"{PAGE_LANGUAGES_ENABLED} />
+                <label for="page_languages_true">{TEXT_ENABLED}</label>
+                <input type="radio" name="page_languages" id="page_languages_false" style="width: 14px; height: 14px;" value="false"{PAGE_LANGUAGES_DISABLED} />
+                <label for="page_languages_false">{TEXT_DISABLED}</label>
+		</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_MULTIPLE_MENUS}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="radio" name="multiple_menus" id="multiple_menus_true" style="width: 14px; height: 14px;" value="true"{MULTIPLE_MENUS_ENABLED} />
+		<label for="multiple_menus_true">{TEXT_ENABLED}</label>
+		<input type="radio" name="multiple_menus" id="multiple_menus_false" style="width: 14px; height: 14px;" value="false"{MULTIPLE_MENUS_DISABLED} />
+		<label for="multiple_menus_false">{TEXT_DISABLED}</label>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_HOME_FOLDERS}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="radio" name="home_folders" id="home_folders_true" style="width: 14px; height: 14px;" value="true"{HOME_FOLDERS_ENABLED} />
+		<label for="home_folders_true">{TEXT_ENABLED}</label>
+		<input type="radio" name="home_folders" id="home_folders_false" style="width: 14px; height: 14px;" value="false"{HOME_FOLDERS_DISABLED} />
+		<label for="home_folders_false">{TEXT_DISABLED}</label>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_MANAGE_SECTIONS}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="radio" name="manage_sections" id="manage_sections_true" style="width: 14px; height: 14px;" value="true"{MANAGE_SECTIONS_ENABLED} />
+		<label for="manage_sections_true">{TEXT_ENABLED}</label>
+		<input type="radio" name="manage_sections" id="manage_sections_false" style="width: 14px; height: 14px;" value="false"{MANAGE_SECTIONS_DISABLED} />
+		<label for="manage_sections_false">{TEXT_DISABLED}</label>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_SECTION_BLOCKS}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="radio" name="section_blocks" id="section_blocks_true" style="width: 14px; height: 14px;" value="true"{SECTION_BLOCKS_ENABLED} />
+		<label for="section_blocks_true">{TEXT_ENABLED}</label>
+		<input type="radio" name="section_blocks" id="section_blocks_false" style="width: 14px; height: 14px;" value="false"{SECTION_BLOCKS_DISABLED} />
+		<label for="section_blocks_false">{TEXT_DISABLED}</label>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_INTRO_PAGE}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="radio" name="intro_page" id="intro_page_true" style="width: 14px; height: 14px;" value="true"{INTRO_PAGE_ENABLED} />
+		<label for="intro_page_true">{TEXT_ENABLED}</label>
+		<input type="radio" name="intro_page" id="intro_page_false" style="width: 14px; height: 14px;" value="false"{INTRO_PAGE_DISABLED} />
+		<label for="intro_page_false">{TEXT_DISABLED}</label>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_HOMEPAGE_REDIRECTION}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="radio" name="homepage_redirection" id="homepage_redirection_true" style="width: 14px; height: 14px;" value="true"{HOMEPAGE_REDIRECTION_ENABLED} />
+		<label for="homepage_redirection_true">{TEXT_ENABLED}</label>
+		<input type="radio" name="homepage_redirection" id="homepage_redirection_false" style="width: 14px; height: 14px;" value="false"{HOMEPAGE_REDIRECTION_DISABLED} />
+		<label for="homepage_redirection_false">{TEXT_DISABLED}</label>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_SMART_LOGIN}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="radio" name="smart_login" id="smart_login_true" style="width: 14px; height: 14px;" value="true"{SMART_LOGIN_ENABLED} />
+		<label for="smart_login_true">{TEXT_ENABLED}</label>
+		<input type="radio" name="smart_login" id="smart_login_false" style="width: 14px; height: 14px;" value="false"{SMART_LOGIN_DISABLED} />
+		<label for="smart_login_false">{TEXT_DISABLED}</label>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_LOGIN}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="radio" name="frontend_login" id="frontend_login_true" style="width: 14px; height: 14px;" value="true"{PRIVATE_ENABLED} />
+		<label for="frontend_login_true">{TEXT_ENABLED}</label>
+		<input type="radio" name="frontend_login" id="frontend_login_false" style="width: 14px; height: 14px;" value="false"{PRIVATE_DISABLED} />
+		<label for="frontend_login_false">{TEXT_DISABLED}</label>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_REDIRECT_AFTER}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" name="redirect_timer" value="{REDIRECT_TIMER}" />
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_SIGNUP}:</td>
+	<td class="setting_value" colspan="2">
+		<select name="frontend_signup">
+			<option value="false">{TEXT_DISABLED}</option>
+			<!-- BEGIN group_list_block -->
+				<option value="{ID}" {SELECTED}>{NAME}</option>
+			<!-- END group_list_block -->
+		</select>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_PHP_ERROR_LEVEL}:</td>
+	<td class="setting_value" colspan="2">
+		<select name="er_level">
+			<option value="">{TEXT_PLEASE_SELECT}...</option>
+			<!-- BEGIN error_reporting_list_block -->
+				<option value="{VALUE}"{SELECTED}>{NAME}</option>
+			<!-- END error_reporting_list_block -->
+		</select>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_WYSIWYG_STYLE}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" name="wysiwyg_style" value="{WYSIWYG_STYLE}" />
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_WYSIWYG_EDITOR}:</td>
+	<td class="setting_value" colspan="2">
+		<select name="wysiwyg_editor">
+		<!-- BEGIN editor_list_block -->
+			<option value="{FILE}"{SELECTED}>{NAME}</option>
+		<!-- END editor_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td>&nbsp;</td>
+	<td align="left" nowrap="nowrap">
+		<input type="submit" name="submit" value="{TEXT_SAVE}" class="save" />
+		<input type="reset" name="reset" value="{TEXT_RESET}" class="reset" />
+	</td>
+	<td style="text-align: right;">
+		<button title="{MODE_SWITCH_WARNING}" onclick="window.location = '{ADVANCED_LINK}'; return false;" class="{DISPLAY_ADVANCED_BUTTON}">{ADVANCED_BUTTON}</button>
+	</td>
+</tr>
+<tr>
+	<td colspan="3" style="padding-top: 10px;">
+		<h2>{HEADING_DEFAULT_SETTINGS}</h2>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_LANGUAGE}:</td>
+	<td class="setting_value" colspan="2">
+		<select name="default_language">
+			<!-- BEGIN language_list_block -->
+			<option value="{CODE}"{SELECTED} style="background: url({FLAG}.png) no-repeat center left; padding-left: 20px;">{NAME} ({CODE})</option>
+			<!-- END language_list_block -->
+		</select>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_CHARSET}:</td>
+	<td class="setting_value" colspan="2">
+		<select name="default_charset">
+			<option value="">{TEXT_PLEASE_SELECT}...</option>
+			<!-- BEGIN charset_list_block -->
+				<option value="{VALUE}" {SELECTED}>{NAME}</option>
+			<!-- END charset_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_TIMEZONE}:</td>
+	<td class="setting_value" colspan="2">
+		<select name="default_timezone">
+			<option value="0">{TEXT_PLEASE_SELECT}...</option>
+			<!-- BEGIN timezone_list_block -->
+				<option value="{VALUE}" {SELECTED}>{NAME}</option>
+			<!-- END timezone_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_DATE_FORMAT}:</td>
+	<td class="setting_value" colspan="2">
+		<select name="default_date_format">
+			<option value="M d Y">{TEXT_PLEASE_SELECT}...</option>
+			<!-- BEGIN date_format_list_block -->
+				<option value="{VALUE}" {SELECTED}>{NAME}</option>
+			<!-- END date_format_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_TIME_FORMAT}:</td>
+	<td class="setting_value" colspan="2">
+		<select name="default_time_format">
+			<option value="g:i A">{TEXT_PLEASE_SELECT}...</option>
+			<!-- BEGIN time_format_list_block -->
+				<option value="{VALUE}" {SELECTED}>{NAME}</option>
+			<!-- END time_format_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_TEMPLATE}:</td>
+	<td class="setting_value" colspan="2">
+		<select name="default_template">
+		<!-- BEGIN template_list_block -->
+			<option value="{FILE}"{SELECTED}>{NAME}</option>
+		<!-- END template_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_THEME}:</td>
+	<td class="setting_value" colspan="2">
+		<select name="default_theme">
+		<!-- BEGIN theme_list_block -->
+			<option value="{FILE}"{SELECTED}>{NAME}</option>
+		<!-- END theme_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td>&nbsp;</td>
+	<td>
+		<input type="submit" name="submit" value="{TEXT_SAVE}" class="save" />
+		<input type="reset" name="reset" value="{TEXT_RESET}" class="reset" />
+	</td>
+	<td style="text-align: right;">
+		<button title="{MODE_SWITCH_WARNING}" onclick="window.location = '{ADVANCED_LINK}'; return false;" class="{DISPLAY_ADVANCED_BUTTON}">{ADVANCED_BUTTON}</button>
+	</td>
+</tr>
+<tr>
+	<td colspan="3" style="padding-top: 10px;">
+		<h2>{HEADING_SEARCH_SETTINGS}</h2>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_VISIBILITY}:</td>
+	<td class="setting_value" colspan="2">
+		<select name="search">
+			<option value="public">{TEXT_PUBLIC}</option>
+			<option value="private" {PRIVATE_SEARCH}>{TEXT_PRIVATE}</option>
+			<option value="registered" {REGISTERED_SEARCH}>{TEXT_REGISTERED}</option>
+			<option value="none" {NONE_SEARCH}>{TEXT_NONE}</option>
+		</select>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_TEMPLATE}:</td>
+	<td class="setting_value" colspan="2">
+		<select name="search_template">
+		<!-- BEGIN search_template_list_block -->
+			<option value="{FILE}"{SELECTED}>{NAME}</option>
+		<!-- END search_template_list_block -->
+		</select>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_HEADER}:</td>
+	<td class="setting_value" colspan="2">
+		<textarea name="search_header" style="height: 100px;" cols="50" rows="3">{SEARCH_HEADER}</textarea>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_RESULTS_HEADER}:</td>
+	<td class="setting_value" colspan="2">
+		<textarea name="search_results_header" cols="50" rows="3">{SEARCH_RESULTS_HEADER}</textarea>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_RESULTS_LOOP}:</td>
+	<td class="setting_value" colspan="2">
+		<textarea name="search_results_loop" cols="50" rows="3">{SEARCH_RESULTS_LOOP}</textarea>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_RESULTS_FOOTER}:</td>
+	<td class="setting_value" colspan="2">
+		<textarea name="search_results_footer" cols="50" rows="3">{SEARCH_RESULTS_FOOTER}</textarea>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_NO_RESULTS}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" name="search_no_results" value="{SEARCH_NO_RESULTS}" />
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_FOOTER}:</td>
+	<td class="setting_value" colspan="2">
+		<textarea name="search_footer" cols="50" rows="3">{SEARCH_FOOTER}</textarea>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_MODULE_ORDER}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" name="search_module_order" value="{SEARCH_MODULE_ORDER}" />
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_MAX_EXCERPT}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" name="search_max_excerpt" value="{SEARCH_MAX_EXCERPT}" />
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_TIME_LIMIT}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" name="search_time_limit" value="{SEARCH_TIME_LIMIT}" />
+	</td>
+</tr>
+<tr>
+	<td>&nbsp;</td>
+	<td>
+		<input type="submit" name="submit" value="{TEXT_SAVE}" class="save" />
+		<input type="reset" name="reset" value="{TEXT_RESET}" class="reset" />
+	</td>
+	<td style="text-align: right;">
+		<button title="{MODE_SWITCH_WARNING}" onclick="window.location = '{ADVANCED_LINK}'; return false;" class="{DISPLAY_ADVANCED_BUTTON}">{ADVANCED_BUTTON}</button>
+	</td>
+</tr>
+<tr>
+	<td colspan="3" style="padding-top: 10px;">
+		<h2>{HEADING_SERVER_SETTINGS}</h2>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_SERVER_OPERATING_SYSTEM}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="radio" name="operating_system" id="operating_system_linux" onclick="javascript: change_os('linux');" style="width: 14px; height: 14px;" value="linux"{LINUX_SELECTED} />
+		<label for="operating_system_linux" onclick="javascript: change_os('linux');">{TEXT_LINUX_UNIX_BASED}</label>
+		<input type="radio" name="operating_system" id="operating_system_windows" onclick="javascript: change_os('windows');" style="width: 14px; height: 14px;" value="windows"{WINDOWS_SELECTED} />
+		<label for="operating_system_windows" onclick="javascript: change_os('windows');">{TEXT_WINDOWS}</label>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name"><div id="{BASIC_FILE_PERMS_ID}1" style="margin: 0; padding: 0;">&nbsp;</div></td>
+	<td class="setting_value" colspan="3">
+		<div id="{BASIC_FILE_PERMS_ID}2" style="margin: 0; padding: 0;">
+			<input type="checkbox" name="world_writeable" id="world_writeable" style="width: 14px; height: 14px;" value="true"{WORLD_WRITEABLE_SELECTED} />
+			<label for="world_writeable">
+				{TEXT_WORLD_WRITEABLE_FILE_PERMISSIONS} (777)
+			</label>
+			<br />
+			<font class="note">({WORLD_WRITEABLE_WARNING})</font>
+		</div>
+		<div id="{BASIC_FILE_PERMS_ID}3" style="margin: 0; padding: 0;"></div>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name"><div id="{ADVANCED_FILE_PERMS_ID}1" style="margin: 0; padding: 0;">{TEXT_FILESYSTEM_PERMISSIONS}:</div></td>
+	<td class="setting_value" id="file_mode" align="left">
+		<table cellpadding="2" cellspacing="0" border="0" width="100%" style="border-right: 1px solid #DDDDDD;" id="{ADVANCED_FILE_PERMS_ID}2">
+		<tr>
+			<td colspan="3" style="text-align: center; font-weight: bold;">
+				{TEXT_FILES}:
+			</td>
+		</tr>
+		<tr>
+			<td>{TEXT_USER}:</td>
+			<td>{TEXT_GROUP}:</td>
+			<td>{TEXT_OTHERS}:</td>
+		</tr>
+		<tr>
+			<td width="100" nowrap="nowrap">
+				<input type="checkbox" name="file_u_r" id="file_u_r" value="true"{FILE_U_R_CHECKED} />
+				<label for="file_u_r">{TEXT_READ}</label>
+				<br />
+				<input type="checkbox" name="file_u_w" id="file_u_w" value="true"{FILE_U_W_CHECKED} />
+				<label for="file_u_w">{TEXT_WRITE}</label>
+				<br />
+				<input type="checkbox" name="file_u_e" id="file_u_e" value="true"{FILE_U_E_CHECKED} />
+				<label for="file_u_e">{TEXT_EXECUTE}</label>
+			</td>
+			<td width="100" nowrap="nowrap">
+				<input type="checkbox" name="file_g_r" id="file_g_r" value="true"{FILE_G_R_CHECKED} />
+				<label for="file_g_r">{TEXT_READ}</label>
+				<br />
+				<input type="checkbox" name="file_g_w" id="file_g_w" value="true"{FILE_G_W_CHECKED} />
+				<label for="file_g_w">{TEXT_WRITE}</label>
+				<br />
+				<input type="checkbox" name="file_g_e" id="file_g_e" value="true"{FILE_G_E_CHECKED} />
+				<label for="file_g_e">{TEXT_EXECUTE}</label>
+			</td>
+			<td width="100" nowrap="nowrap">
+				<input type="checkbox" name="file_o_r" id="file_o_r" value="true"{FILE_O_R_CHECKED} />
+				<label for="file_o_r">{TEXT_READ}</label>
+				<br />
+				<input type="checkbox" name="file_o_w" id="file_o_w" value="true"{FILE_O_W_CHECKED} />
+				<label for="file_o_w">{TEXT_WRITE}</label>
+				<br />
+				<input type="checkbox" name="file_o_e" id="file_o_e" value="true"{FILE_O_E_CHECKED} />
+				<label for="file_o_e">{TEXT_EXECUTE}</label>
+			</td>
+		</tr>
+		</table>
+	</td>
+	<td class="setting_value" id="dir_mode" style="text-align: right;">
+		<table cellpadding="2" cellspacing="0" border="0" width="100%" id="{ADVANCED_FILE_PERMS_ID}3">
+		<tr>
+			<td colspan="3" style="text-align: center; font-weight: bold;">
+				{TEXT_DIRECTORIES}:
+			</td>
+		</tr>
+		<tr>
+			<td>{TEXT_USER}:</td>
+			<td>{TEXT_GROUP}:</td>
+			<td>{TEXT_OTHERS}:</td>
+		</tr>
+		<tr>
+			<td width="100" nowrap="nowrap">
+				<input type="checkbox" name="dir_u_r" id="dir_u_r" value="true"{DIR_U_R_CHECKED} />
+				<label for="dir_u_r">{TEXT_READ}</label>
+				<br />
+				<input type="checkbox" name="dir_u_w" id="dir_u_w" value="true"{DIR_U_W_CHECKED} />
+				<label for="dir_u_w">{TEXT_WRITE}</label>
+				<br />
+				<input type="checkbox" name="dir_u_e" id="dir_u_e" value="true"{DIR_U_E_CHECKED} />
+				<label for="dir_u_e">{TEXT_EXECUTE}</label>
+			</td>
+			<td width="100" nowrap="nowrap">
+				<input type="checkbox" name="dir_g_r" id="dir_g_r" value="true"{DIR_G_R_CHECKED} />
+				<label for="dir_g_r">{TEXT_READ}</label>
+				<br />
+				<input type="checkbox" name="dir_g_w" id="dir_g_w" value="true"{DIR_G_W_CHECKED} />
+				<label for="dir_g_w">{TEXT_WRITE}</label>
+				<br />
+				<input type="checkbox" name="dir_g_e" id="dir_g_e" value="true"{DIR_G_E_CHECKED} />
+				<label for="dir_g_e">{TEXT_EXECUTE}</label>
+			</td>
+			<td width="100" nowrap="nowrap">
+				<input type="checkbox" name="dir_o_r" id="dir_o_r" value="true"{DIR_O_R_CHECKED} />
+				<label for="dir_o_r">{TEXT_READ}</label>
+				<br />
+				<input type="checkbox" name="dir_o_w" id="dir_o_w" value="true"{DIR_O_W_CHECKED} />
+				<label for="dir_o_w">{TEXT_WRITE}</label>
+				<br />
+				<input type="checkbox" name="dir_o_e" id="dir_o_e" value="true"{DIR_O_E_CHECKED} />
+				<label for="dir_o_e">{TEXT_EXECUTE}</label>
+			</td>
+		</tr>
+		</table>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_PAGES_DIRECTORY}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" name="pages_directory" value="{PAGES_DIRECTORY}" />
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_MEDIA_DIRECTORY}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" name="media_directory" value="{MEDIA_DIRECTORY}" />
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_PAGE_EXTENSION}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" name="page_extension" value="{PAGE_EXTENSION}" />
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_PAGE_SPACER}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" name="page_spacer" value="{PAGE_SPACER}" />
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_RENAME_FILES_ON_UPLOAD}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" name="rename_files_on_upload" value="{RENAME_FILES_ON_UPLOAD}" />
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_SESSION_IDENTIFIER}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" name="app_name" value="{APP_NAME}" />
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_SEC_ANCHOR}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" name="sec_anchor" value="{SEC_ANCHOR}" />
+	</td>
+</tr>
+<!-- BASIC MAILER SETTINGS -->
+<tr>
+	<td colspan="3" style="padding-top: 10px;">
+		<h2>{HEADING_WBMAILER_SETTINGS}</h2>
+		<p style="line-height: 1.4em; margin-top: 0;">{TEXT_WBMAILER_DEFAULT_SETTINGS_NOTICE}</p>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_WBMAILER_DEFAULT_SENDER_MAIL}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" style="width: 250px" name="server_email" value="{SERVER_EMAIL}" />
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_WBMAILER_DEFAULT_SENDER_NAME}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" style="width: 250px" name="wbmailer_default_sendername" value="{WBMAILER_DEFAULT_SENDERNAME}" />
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_WBMAILER_FUNCTION}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="radio" name="wbmailer_routine" id="wbmailer_routine_phpmail" onclick="javascript: change_wbmailer('phpmail');" style="width: 14px; height: 14px;" value="phpmail"{PHPMAIL_SELECTED} />
+		<label for="wbmailer_routine_phpmail" onclick="javascript: change_wbmailer('phpmail');">{TEXT_WBMAILER_PHP}</label>
+		<input type="radio" name="wbmailer_routine" id="wbmailer_routine_smtp" onclick="javascript: change_wbmailer('smtp');" style="width: 14px; height: 14px;" value="smtp"{SMTPMAIL_SELECTED} />
+		<label for="wbmailer_routine_smtp" onclick="javascript: change_wbmailer('smtp');">{TEXT_WBMAILER_SMTP}</label>
+	</td>
+</tr>
+<!-- MORE ADVANCED SMTP MAILER SETTINGS -->
+<tr id="row_wbmailer_smtp_settings"{SMTP_VISIBILITY}>
+	<td colspan="3" style="padding-top: 10px;">
+			<p style="line-height: 1.4em; margin-top: 0;">{TEXT_WBMAILER_NOTICE}</p>
+	</td>
+</tr>
+<tr id="row_wbmailer_smtp_host"{SMTP_VISIBILITY}>
+	<td class="setting_name">{TEXT_WBMAILER_SMTP_HOST}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" style="width: 250px" name="wbmailer_smtp_host" value="{WBMAILER_SMTP_HOST}" />
+	</td>
+</tr>
+<tr id="row_wbmailer_smtp_auth_mode"{SMTP_VISIBILITY}>
+	<td class="setting_name">{TEXT_WBMAILER_SMTP_AUTH}:</td>
+	<td class="setting_value" colspan="3">
+		<input type="checkbox" name="wbmailer_smtp_auth" id="wbmailer_smtp_auth" onclick="javascript: toggle_wbmailer_auth();" style="width: 14px; height: 14px;" value="true"{SMTP_AUTH_SELECTED} />
+		<label for="wbmailer_smtp_auth" onclick="javascript: toggle_wbmailer_auth(this.value);">({TEXT_WBMAILER_SMTP_AUTH_NOTICE})</label>
+	</td>
+</tr>
+<tr id="row_wbmailer_smtp_username"{SMTP_VISIBILITY_AUTH}>
+	<td class="setting_name">{TEXT_WBMAILER_SMTP_USERNAME}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" style="width: 250px" name="wbmailer_smtp_username" value="{WBMAILER_SMTP_USERNAME}" />
+	</td>
+</tr>
+<tr id="row_wbmailer_smtp_password"{SMTP_VISIBILITY_AUTH}>
+	<td class="setting_name">{TEXT_WBMAILER_SMTP_PASSWORD}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="password" style="width: 250px" name="wbmailer_smtp_password" value="{WBMAILER_SMTP_PASSWORD}" />
+	</td>
+</tr>
+<tr>
+	<td>&nbsp;</td>
+	<td>
+		<input type="submit" name="submit" value="{TEXT_SAVE}" class="save" />
+		<input type="reset" name="reset" value="{TEXT_RESET}" class="reset" />
+	</td>
+	<td style="text-align: right;">
+		<button title="{MODE_SWITCH_WARNING}" onclick="window.location = '{ADVANCED_LINK}'; return false;" class="{DISPLAY_ADVANCED_BUTTON}">{ADVANCED_BUTTON}</button>
+	</td>
+</tr>
+</table>
+
+</form>
+
+<hr size="1" />
+
+<button title="{MODE_SWITCH_WARNING}" onclick="window.location = '{ADVANCED_LINK}'; return false;" class="{DISPLAY_ADVANCED_BUTTON}">{ADVANCED_BUTTON}</button>
+<br />
+<font class="{DISPLAY_ADVANCED_BUTTON}">
+{MODE_SWITCH_WARNING}
+</font>
+<script src="{ADMIN_URL}/settings/setting.js" type="text/javascript"></script>
+<!-- END main_block -->
Index: tags/2.8.2/wb/templates/classic_theme/templates/media_browse.htt
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/templates/media_browse.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/templates/media_browse.htt	(revision 1481)
@@ -0,0 +1,80 @@
+<!-- BEGIN main_block -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<title>Browse Media</title>
+<link href="{THEME_URL}/media.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript">
+function confirm_link(message, url) {
+	if(confirm(message)) location.href = url;
+}
+</script>
+
+</head>
+<body>
+
+<table cellpadding="4" cellspacing="0" border="0" width="100%" style="border-bottom: 1px solid #35373a; width: 100%;">
+<tr style="background-color: #ECF1F3;">
+	<td width="16" align="center" style="padding-left: 10px;">
+		<a href="{PARENT_DIR_LINK}">
+			<img src="{THEME_URL}/images/up_folder_16.png" border="0" class="{DISPLAY_UP_ARROW}" alt="^" />
+		</a>
+	</td>
+	<td width="50">
+		<a href="{PARENT_DIR_LINK}" class="{DISPLAY_UP_ARROW}">
+			{TEXT_UP}
+		</a>
+	</td>
+	<td align="center">
+		{TEXT_CURRENT_FOLDER}: {MEDIA_DIRECTORY}{CURRENT_DIR}
+	</td>
+	<td width="16">
+		<a href="browse.php?dir={CURRENT_DIR}">
+			<img src="{THEME_URL}/images/reload_16.png" border="0" alt="" />
+		</a>
+	</td>
+	<td width="50">
+		<a href="browse.php?dir={CURRENT_DIR}">
+			{TEXT_RELOAD}
+		</a>
+	</td>
+</tr>
+</table>
+
+<table cellpadding="4" cellspacing="0" border="0" width="100%" class="{DISPLAY_LIST_TABLE}">
+<!-- BEGIN list_block -->
+<tr style="background-color: #{ROW_BG_COLOR};" onmouseover="this.style.backgroundColor = '#F1F8DD'" onmouseout="this.style.backgroundColor = '#{ROW_BG_COLOR}'">
+	<td width="18" style="padding-left: 10px;">
+		<a href="{LINK}" target="{LINK_TARGET}">
+			<img src="{FILETYPE_ICON}" class="{DISPLAY_ICON}" border="0" alt="" />
+		</a>
+	</td>
+	<td>
+		<a href="{LINK}" target="{LINK_TARGET}">
+			{NAME}
+		</a>
+	</td>
+	<td width="85" align="right" class="{DISPLAY_RENAME}">
+		<a href="rename.php?dir={CURRENT_DIR}&id={TEMP_ID}">
+			<img src="{THEME_URL}/images/modify_16.png" alt="" border="0" /> {TEXT_RENAME}
+		</a>
+	</td>
+	<td width="70" style="padding-right: 15px;" align="right" class="{DISPLAY_DELETE}">
+		<a href="#" onclick="javascript: confirm_link('{CONFIRM_DELETE}\n {NAME_SLASHED}', 'delete.php?dir={CURRENT_DIR}&id={TEMP_ID}');">
+			<img src="{THEME_URL}/images/delete_16.png" alt="" border="0" /> {TEXT_DELETE}
+		</a>
+	</td>
+</tr>
+<!-- END list_block -->
+</table>
+
+<font class="{DISPLAY_NONE_FOUND}">
+<br />
+&nbsp; &nbsp; 
+{NONE_FOUND}
+</font>
+
+</body>
+</html>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/classic_theme/templates/users.htt
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/templates/users.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/templates/users.htt	(revision 1481)
@@ -0,0 +1,37 @@
+<!-- BEGIN main_block -->
+
+<form name="users" action="users.php" method="post">
+
+<input type="hidden" name="action" value="delete" />
+
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr>
+	<td align="left">
+		<h2>{HEADING_MODIFY_DELETE_USER}</h2>
+	</td>
+	<td align="right">
+		<!-- BEGIN manage_groups_block -->
+		<a href="{ADMIN_URL}/groups/index.php">{TEXT_MANAGE_GROUPS}</a>
+		<!-- END manage_groups_block -->
+	</td>
+</tr>
+</table>
+
+<br />
+
+<select name="user_id" style="width: 500px;">
+<!-- BEGIN list_block -->
+	<option value="{VALUE}">{NAME}</option>
+<!-- END list_block -->
+</select>
+
+<input type="submit" name="modify" style="width: 100px;" value="{TEXT_MODIFY}" class="{DISPLAY_MODIFY}" />
+<input type="submit" name="delete" style="width: 100px;" value="{TEXT_DELETE}" onclick="return confirm('{CONFIRM_DELETE}');" class="{DISPLAY_DELETE}" />
+
+</form>
+
+<br />
+
+<h2 style="margin-top: 20px;" class="{DISPLAY_ADD}">{HEADING_ADD_USER}</h2>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/classic_theme/templates/preferences.htt
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/templates/preferences.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/templates/preferences.htt	(revision 1481)
@@ -0,0 +1,134 @@
+<!-- BEGIN main_block -->
+
+<form name="details" action="details.php" method="post">
+
+<h2>{HEADING_MY_SETTINGS}</h2>
+
+<table cellpadding="5" cellspacing="0" border="0" width="100%">
+<tr>
+	<td width="160">{TEXT_DISPLAY_NAME}:</td>
+	<td>
+		<input type="text" name="display_name" value="{DISPLAY_NAME}" style="width: 98%;" />
+		<script type="text/javascript">
+		document.details.display_name.focus();
+		</script>
+	</td>
+</tr>
+<tr>
+	<td>{TEXT_LANGUAGE}:</td>
+	<td>
+		<select name="language" style="width: 98%;">
+			<!-- BEGIN language_list_block -->
+			<option value="{CODE}"{SELECTED} style="background: url({FLAG}.png) no-repeat center left; padding-left: 20px;">{NAME} ({CODE})</option>
+			<!-- END language_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td>{TEXT_TIMEZONE}:</td>
+	<td>
+		<select name="timezone" style="width: 98%;">
+			<option value="-20">{TEXT_PLEASE_SELECT}...</option>
+			<!-- BEGIN timezone_list_block -->
+				<option value="{VALUE}" {SELECTED}>{NAME}</option>
+			<!-- END timezone_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td>{TEXT_DATE_FORMAT}:</td>
+	<td>
+		<select name="date_format" style="width: 98%;">
+			<option value="">{TEXT_PLEASE_SELECT}...</option>
+			<!-- BEGIN date_format_list_block -->
+				<option value="{VALUE}" {SELECTED}>{NAME}</option>
+			<!-- END date_format_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td>{TEXT_TIME_FORMAT}:</td>
+	<td>
+		<select name="time_format" style="width: 98%;">
+			<option value="">{TEXT_PLEASE_SELECT}...</option>
+			<!-- BEGIN time_format_list_block -->
+				<option value="{VALUE}" {SELECTED}>{NAME}</option>
+			<!-- END time_format_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td>&nbsp;</td>
+	<td>
+		<input type="submit" name="submit" value="{TEXT_SAVE}" />
+		<input type="reset" name="reset" value="{TEXT_RESET}" />
+	</td>
+</tr>
+</table>
+
+</form>
+
+<form name="email" action="email.php" method="post">
+
+<h2>{HEADING_MY_EMAIL}</h2>
+
+<table cellpadding="5" cellspacing="0" border="0" width="100%">
+<tr>
+	<td width="160">{TEXT_CURRENT_PASSWORD}:</td>
+	<td>
+		<input type="password" name="current_password" style="width: 98%;" />
+	</td>
+</tr>
+<tr>
+	<td>{TEXT_EMAIL}:</td>
+	<td>
+		<input type="text" name="email" value="{EMAIL}" style="width: 98%;" />
+	</td>
+</tr>
+<tr>
+	<td>&nbsp;</td>
+	<td>
+		<input type="submit" name="submit" value="{TEXT_SAVE}" />
+		<input type="reset" name="reset" value="{TEXT_RESET}" />
+	</td>
+</tr>
+</table>
+
+</form>
+
+<form name="password" action="password.php" method="post">
+
+<h2 style="margin-top: 20px;">{HEADING_MY_PASSWORD}</h2>
+
+<table cellpadding="5" cellspacing="0" border="0" width="100%">
+<tr>
+	<td width="160">{TEXT_CURRENT_PASSWORD}:</td>
+	<td>
+		<input type="password" name="current_password" style="width: 98%;" />
+	</td>
+</tr>
+<tr>
+	<td width="160">{TEXT_NEW_PASSWORD}:</td>
+	<td>
+		<input type="password" name="new_password" style="width: 98%;" />
+	</td>
+</tr>
+<tr>
+	<td width="160">{TEXT_RETYPE_NEW_PASSWORD}:</td>
+	<td>
+		<input type="password" name="new_password2" style="width: 98%;" />
+	</td>
+</tr>
+
+<tr>
+	<td>&nbsp;</td>
+	<td>
+		<input type="submit" name="submit" value="{TEXT_SAVE}" />
+		<input type="reset" name="reset" value="{TEXT_RESET}" />
+	</td>
+</tr>
+</table>
+
+</form>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/classic_theme/templates/groups_form.htt
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/templates/groups_form.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/templates/groups_form.htt	(revision 1481)
@@ -0,0 +1,293 @@
+<!-- BEGIN main_block -->
+
+<h2 style="{DISPLAY_EXTRA}">{HEADING_MODIFY_GROUP}</h2>
+
+<form name="group" action="{ACTION_URL}" method="post" class="{DISPLAY_ADD}">
+<input type="hidden" name="advanced" value="{ADVANCED}" />
+<input type="hidden" name="group_id" value="{GROUP_ID}" />
+
+<table cellpadding="5" cellspacing="0" border="0" width="100%">
+<tr>
+	<td width="150">{TEXT_NAME}:</td>
+	<td>
+		<input type="text" name="group_name" maxlength="255" value="{GROUP_NAME}" style="width: 100%" />
+	</td>
+</tr>
+</table>
+<table cellpadding="5" cellspacing="0" border="0" width="100%" style="{DISPLAY_BASIC}">
+<tr>
+	<td width="150" valign="top">{TEXT_SYSTEM_PERMISSIONS}:</td>
+	<td>
+		<table cellpadding="0" cellspacing="0" width="100%" border="0">
+		<tr>
+			<td>
+				<input type="checkbox" name="pages" id="pages" value="1" {pages_checked} />
+				<label for="pages">{SECTION_PAGES}</label>
+			</td>
+			<td>
+				<input type="checkbox" name="media" id="media" value="1" {media_checked} />
+				<label for="media">{SECTION_MEDIA}</label>
+			</td>
+			<td>
+				<input type="checkbox" name="modules" id="modules" value="1" {modules_checked} />
+				<label for="modules">{SECTION_MODULES}</label>
+			</td>
+			<td>
+				<input type="checkbox" name="templates" id="templates" value="1" {templates_checked} />
+				<label for="templates">{SECTION_TEMPLATES}</label>
+			</td>
+		</tr>
+		<tr>
+			<td>
+				<input type="checkbox" name="languages" id="languages" value="1" {languages_checked} />
+				<label for="languages">{SECTION_LANGUAGES}</label>
+			</td>
+			<td>		
+				<input type="checkbox" name="settings" id="settings" value="1" {settings_checked} />
+				<label for="settings">{SECTION_SETTINGS}</label>
+			</td>
+			<td>
+				<input type="checkbox" name="users" id="users" value="1" {users_checked} />
+				<label for="users">{SECTION_USERS}</label>
+			</td>
+			<td>
+				<input type="checkbox" name="groups" id="groups" value="1" {groups_checked} />
+				<label for="groups">{SECTION_GROUPS}</label>
+			</td>
+		</tr>
+		<tr>
+			<td>
+				<input type="checkbox" name="admintools" id="admintools" value="1" {admintools_checked} />
+				<label for="admintools">{SECTION_ADMINTOOLS}</label>
+			</td>
+			<td>&nbsp;</td>
+			<td>&nbsp;</td>
+			<td>&nbsp;</td>
+		</tr>
+		</table>
+	</td>
+</tr>
+</table>
+<table cellpadding="5" cellspacing="0" border="0" width="100%" style="{DISPLAY_ADVANCED}">
+<tr>
+	<td valign="top">{TEXT_SYSTEM_PERMISSIONS}:</td>
+	<td align="left">
+
+
+<table cellpadding="3" cellspacing="0" border="0" width="400">
+<tr>
+	<td colspan="4">
+		<h3>{SECTION_PAGES}</h3>
+	</td>
+</tr>
+<tr>
+	<td><input name="pages_view" id="pages_view" type="checkbox" value="1" {pages_view_checked} /></td>
+	<td><label for="pages_view">{TEXT_VIEW}</label></td>
+	<td><input name="pages_add" id="pages_add" type="checkbox" value="1" {pages_add_checked} /></td>
+	<td>
+		<label for="pages_add">{TEXT_ADD}</label>
+		&nbsp;
+		<input name="pages_add_l0" id="pages_add_l0" type="checkbox" value="1" {pages_add_l0_checked} />
+		<label for="pages_add_l0">{TEXT_LEVEL} 0</label>)
+	</td>
+</tr>
+<tr>
+	<td><input name="pages_settings" id="pages_settings" type="checkbox" value="1" {pages_settings_checked} /></td>
+	<td><label for="pages_settings">{TEXT_MODIFY_SETTINGS}</label></td>
+	<td><input name="pages_modify" id="pages_modify" type="checkbox" value="1" {pages_modify_checked} /></td>
+	<td><label for="pages_modify">{TEXT_MODIFY_CONTENT}</label></td>
+</tr>
+<tr>
+	<td><input name="pages_intro" id="pages_intro" type="checkbox" value="1" {pages_intro_checked} /></td>
+	<td><label for="pages_intro">{HEADING_MODIFY_INTRO_PAGE}</label></td>
+	<td><input name="pages_delete" id="pages_delete" type="checkbox" value="1" {pages_delete_checked} /></td>
+	<td><label for="pages_delete">{TEXT_DELETE}</label></td>
+</tr>
+<tr>
+	<td colspan="4">
+		<h3>{SECTION_MEDIA}</h3>
+	</td>
+</tr>
+<tr>
+	<td><input name="media_view" id="media_view" type="checkbox" value="1" {media_view_checked} /></td>
+	<td><label for="media_view">{TEXT_VIEW}</label></td>
+	<td><input name="media_upload" id="media_upload" type="checkbox" value="1" {media_upload_checked} /></td>
+	<td><label for="media_upload">{TEXT_UPLOAD_FILES}</label></td>
+</tr>
+<tr>
+	<td><input name="media_rename" id="media_rename" type="checkbox" value="1" {media_rename_checked} /></td>
+	<td><label for="media_rename">{TEXT_RENAME}</label></td>
+	<td><input name="media_delete" id="media_delete" type="checkbox" value="1" {media_delete_checked} /></td>
+	<td><label for="media_delete">{TEXT_DELETE}</label></td>
+</tr>
+<tr>
+	<td><input name="media_create" id="media_create" type="checkbox" value="1" {media_create_checked} /></td>
+	<td><label for="media_create">{TEXT_CREATE_FOLDER}</label></td>
+	<td>&nbsp;</td>
+	<td>&nbsp;</td>
+</tr>
+<tr>
+	<td colspan="4">
+		<h3>{SECTION_MODULES}</h3>
+	</td>
+</tr>
+<tr>
+	<td><input name="modules_view" id="modules_view" type="checkbox" value="1" {modules_view_checked} /></td>
+	<td><label for="modules_view">{TEXT_VIEW}</label></td>
+	<td><input name="modules_install" id="modules_install" type="checkbox" value="1" {modules_install_checked} /></td>
+	<td><label for="modules_install">{TEXT_ADD}</label></td>
+</tr>
+<tr>
+	<td><input name="modules_uninstall" id="modules_uninstall" type="checkbox" value="1" {modules_uninstall_checked} /></td>
+	<td><label for="modules_uninstall">{TEXT_DELETE}</label></td>
+	<td>&nbsp;</td>
+	<td>&nbsp;</td>
+</tr>
+<tr>
+	<td colspan="4">
+		<h3>{SECTION_TEMPLATES}</h3>
+	</td>
+</tr>
+<tr>
+	<td><input name="templates_view" id="templates_view" type="checkbox" value="1" {templates_view_checked} /></td>
+	<td><label for="templates_view">{TEXT_VIEW}</label></td>
+	<td><input name="templates_install" id="templates_install" type="checkbox" value="1" {templates_install_checked} /></td>
+	<td><label for="templates_install">{TEXT_ADD}</label></td>
+</tr>
+<tr>
+	<td><input name="templates_uninstall" id="templates_uninstall" type="checkbox" value="1" {templates_uninstall_checked} /></td>
+	<td><label for="templates_uninstall">{TEXT_DELETE}</label></td>
+	<td>&nbsp;</td>
+	<td>&nbsp;</td>
+</tr>
+<tr>
+	<td colspan="4">
+		<h3>{SECTION_LANGUAGES}</h3>
+	</td>
+</tr>
+<tr>
+	<td><input name="languages_view" id="languages_view" type="checkbox" value="1" {languages_view_checked} /></td>
+	<td><label for="languages_view">{TEXT_VIEW}</label></td>
+	<td><input name="languages_install" id="languages_install" type="checkbox" value="1" {languages_install_checked} /></td>
+	<td><label for="languages_install">{TEXT_ADD}</label></td>
+</tr>
+<tr>
+	<td><input name="languages_uninstall" id="languages_uninstall" type="checkbox" value="1" {languages_uninstall_checked} /></td>
+	<td><label for="languages_uninstall">{TEXT_DELETE}</label></td>
+	<td>&nbsp;</td>
+	<td>&nbsp;</td>
+</tr>
+<tr>
+	<td colspan="4">
+		<h3>{SECTION_SETTINGS}</h3>
+	</td>
+</tr>
+<tr>
+	<td><input name="settings_basic" id="settings_basic" type="checkbox" value="1" {settings_basic_checked} /></td>
+	<td><label for="settings_basic">{TEXT_BASIC}</label></td>
+	<td><input name="settings_advanced" id="settings_advanced" type="checkbox" value="1" {settings_advanced_checked} /></td>
+	<td><label for="settings_advanced">{TEXT_ADVANCED}</label></td>
+</tr>
+<tr>
+	<td colspan="4">
+		<h3>{SECTION_USERS}</h3>
+	</td>
+</tr>
+<tr>
+	<td><input name="users_view" id="users_view" type="checkbox" value="1" {users_view_checked} /></td>
+	<td><label for="users_view">{TEXT_VIEW}</label></td>
+	<td><input name="users_add" id="users_add" type="checkbox" value="1" {users_add_checked} /></td>
+	<td><label for="users_add">{TEXT_ADD}</label></td>
+</tr>
+<tr>
+	<td><input name="users_modify" id="users_modify" type="checkbox" value="1" {users_modify_checked} /></td>
+	<td><label for="users_modify">{TEXT_MODIFY}</label></td>
+	<td><input name="users_delete" id="users_delete" type="checkbox" value="1" {users_delete_checked} /></td>
+	<td><label for="users_delete">{TEXT_DELETE}</label></td>
+</tr>
+<tr>
+	<td colspan="4">
+		<h3>{SECTION_GROUPS}</h3>
+	</td>
+</tr>
+<tr>
+	<td><input name="groups_view" id="groups_view" type="checkbox" value="1" {groups_view_checked} /></td>
+	<td><label for="groups_view">{TEXT_VIEW}</label></td>
+	<td><input name="groups_add" id="groups_add" type="checkbox" value="1" {groups_add_checked} /></td>
+	<td><label for="groups_add">{TEXT_ADD}</label></td>
+</tr>
+<tr>
+	<td><input name="groups_modify" id="groups_modify" type="checkbox" value="1" {groups_modify_checked} /></td>
+	<td><label for="groups_modify">{TEXT_MODIFY}</label></td>
+	<td><input name="groups_delete" id="groups_delete" type="checkbox" value="1" {groups_delete_checked} /></td>
+	<td><label for="groups_delete">{TEXT_DELETE}</label></td>
+</tr>
+<tr>
+	<td colspan="4">
+		<h3>{SECTION_ADMINTOOLS}</h3>
+	</td>
+</tr>
+<tr>
+	<td><input name="admintools_settings" id="admintools_settings" type="checkbox" value="1" {admintools_settings_checked} /></td>
+	<td><label for="admintools_settings">{TEXT_MODIFY_SETTINGS}</label></td>
+	<td>&nbsp;</td>
+	<td>&nbsp;</td>
+</tr>
+</table>
+
+
+	</td>
+</tr>
+</table>
+
+<table cellpadding="5" cellspacing="0" border="0" width="100%" style="padding-top: 5px; padding-bottom: 5px;">
+<tr>
+	<td valign="top" align="left" width="150">
+	{TEXT_MODULE_PERMISSIONS}:
+	</td>
+	<td valign="top" align="left">
+		<ul style="margin: 0; padding: 0; list-style: none;">
+			<!-- BEGIN module_list_block -->
+			<li>
+				<input type="checkbox" name="module_permissions[]" id="m_{VALUE}" value="{VALUE}" {CHECKED} />
+				<label for="m_{VALUE}">{NAME}</label>
+			</li>
+			<!-- END module_list_block -->
+		</ul>
+	</td>
+	<td valign="top" align="left" width="150">
+	{TEXT_TEMPLATE_PERMISSIONS}:
+	</td>
+	<td valign="top" align="left">
+		<ul style="margin: 0; padding: 0; list-style: none;">
+			<!-- BEGIN template_list_block -->
+			<li>
+				<input type="checkbox" name="template_permissions[]" id="t_{VALUE}" value="{VALUE}" {CHECKED} />
+				<label for="t_{VALUE}">{NAME}</label>
+			</li>
+			<!-- END template_list_block -->
+		</ul>
+	</td>
+</tr>
+
+<tr>
+	<td colspan="2"><input type="submit" name="submit" value="{SUBMIT_TITLE}" /></td>
+    <td colspan="2" align="right"><input type="reset" name="reset" value="{TEXT_RESET}" /></td>
+</tr>
+</table>
+</form>
+
+<table cellpadding="5" cellspacing="0" border="0" width="100%">
+<tr>
+	<td align="center">
+	<form name="advanced" action="{ADVANCED_ACTION}" method="post">
+        <input type="hidden" name="group_id" value="{GROUP_ID}" />
+        <input type="hidden" name="action" value="modify" />
+        <input type="submit" name="advanced" onclick="window.location = '{ADVANCED_LINK}';" value="{ADVANCED_BUTTON}" />
+    </form>
+	</td>
+</tr>
+</table>
+
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/classic_theme/templates/media_rename.htt
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/templates/media_rename.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/templates/media_rename.htt	(revision 1481)
@@ -0,0 +1,58 @@
+<!-- BEGIN main_block -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<title>Rename Media</title>
+<link href="{THEME_URL}/media.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<table cellpadding="0" cellspacing="0" border="0" width="100%" align="center">
+<tr>
+	<td class="rename">
+<form name="rename" action="rename2.php" method="post">
+<input type="hidden" name="dir" value="{DIR}" />
+<input type="hidden" name="old_name" value="{FILENAME}" />
+<input type="hidden" name="id" value="{FILE_ID}" />
+
+<table cellpadding="5" cellspacing="0" border="0" width="400" align="center">
+<tr>
+	<td align="center" colspan="2">{TEXT_RENAME} '{FILENAME}' {TEXT_TO}:</td>
+</tr>
+<tr>
+	<td>
+		<input type="text" name="name" style="width: 100%;" />
+		<script type="text/javascript">
+		document.rename.name.focus();
+		</script>
+	</td>
+	<td width="50" class="{DISPlAY_EXTENSION}">
+		<input type="text" name="extension" style="width: 50px;" value="{EXTENSION}" />
+	</td>
+</tr>
+<tr>
+	<td colspan="2">
+		<input type="checkbox" name="overwrite" id="overwrite" value="yes" />
+		<label for="overwrite">
+		{TEXT_OVERWRITE_EXISTING} {TYPE}
+		</label>
+	</td>
+</tr>
+<tr>
+	<td colspan="2">
+		<input type="submit" name="submit" value="{TEXT_RENAME}" style="width: 49%;" />
+		<input type="button" name="cancel" value="{TEXT_CANCEL}" style="width: 49%;" onclick="javascript: window.location = 'browse.php';" />
+	</td>
+</tr>
+</table>
+
+</form>
+
+</td>
+</tr>
+</table>
+
+</body>
+</html>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/classic_theme/templates/languages.htt
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/templates/languages.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/templates/languages.htt	(revision 1481)
@@ -0,0 +1,76 @@
+<!-- BEGIN main_block -->
+
+<div class="box">
+	{URL_MODULES}&nbsp;&nbsp;{URL_TEMPLATES}
+</div>
+
+<form name="install" enctype="multipart/form-data" action="install.php" method="post" class="{DISPLAY_INSTALL}">
+
+<h2>{HEADING_INSTALL_LANGUAGE}</h2>
+
+<table cellpadding="2" cellspacing="0" border="0" width="100%">
+<tr>
+	<td>
+		<input type="file" name="userfile" size="82%" />
+		<script type="text/javascript">
+		document.install.userfile.focus();
+		</script>
+	</td>
+	<td width="110" align="left">
+		<input type="submit" name="submit" value="{TEXT_INSTALL}" style="width: 100px;" />
+	</td>
+</tr>
+</table>
+
+<br />
+
+</form>
+
+<form name="uninstall" action="uninstall.php" method="post" class="{DISPLAY_UNINSTALL}">
+
+<h2>{HEADING_UNINSTALL_LANGUAGE}</h2>
+
+<table cellpadding="2" cellspacing="0" border="0" width="100%">
+<tr>
+	<td>
+		<select name="code" style="width: 97%;">
+		<option value="" selected="selected">{TEXT_PLEASE_SELECT}...</option>
+		<!-- BEGIN language_list_block -->
+			<option value="{VALUE}">{NAME}</option>
+		<!-- END language_list_block -->
+		</select>
+	</td>
+	<td width="110">
+		<input type="submit" name="submit" value="{TEXT_UNINSTALL}" style="width: 100px;" />
+	</td>
+</tr>
+</table>
+
+<br />
+
+</form>
+
+<form name="details" action="details.php" method="post" class="{DISPLAY_LIST}">
+
+<h2>{HEADING_LANGUAGE_DETAILS}</h2>
+
+<table cellpadding="2" cellspacing="0" border="0" width="100%">
+<tr>
+	<td>
+		<select name="code" style="width: 97%;">
+		<option value="" selected="selected">{TEXT_PLEASE_SELECT}...</option>
+		<!-- BEGIN language_list_block -->
+			<option value="{VALUE}">{NAME}</option>
+		<!-- END language_list_block -->
+		</select>
+	</td>
+	<td width="110">
+		<input type="submit" name="submit" value="{TEXT_VIEW_DETAILS}" style="width: 100px;" />
+	</td>
+</tr>
+</table>
+
+<br />
+</form>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/classic_theme/templates/pages_modify.htt
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/templates/pages_modify.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/templates/pages_modify.htt	(revision 1481)
@@ -0,0 +1,22 @@
+<!-- BEGIN main_block -->
+
+<table cellpadding="5" cellspacing="0" border="0" align="center" width="100%" style="margin-bottom: 10px;">
+<tr style="background-color: #F0F0F0;">
+	<td valign="middle" align="left">
+		<h2>{HEADING_MODIFY_PAGE}</h2>
+	</td>
+	<td align="right">
+		{TEXT_CURRENT_PAGE}:
+		<b>{PAGE_TITLE}</b>
+		- 
+		<a href="{ADMIN_URL}/pages/settings.php?page_id={PAGE_ID}">{TEXT_CHANGE_SETTINGS}</a>
+		<font style="{DISPLAY_MANAGE_SECTIONS}">-</font>
+		<a href="{ADMIN_URL}/pages/sections.php?page_id={PAGE_ID}" style="{DISPLAY_MANAGE_SECTIONS}">{TEXT_MANAGE_SECTIONS}</a>
+		<font style="color: #999999;" class="{CLASS_DISPLAY_MODIFIED}"><br />
+		{LAST_MODIFIED} {MODIFIED_BY} ({MODIFIED_BY_USERNAME}), {MODIFIED_WHEN}
+		</font>
+	</td>
+</tr>
+</table>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/classic_theme/templates/pages_sections.htt
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/templates/pages_sections.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/templates/pages_sections.htt	(revision 1481)
@@ -0,0 +1,118 @@
+<!-- BEGIN main_block -->
+        <div class="jsadmin jcalendar hide"></div>
+        <table cellpadding="0" cellspacing="0" class="sections_header">
+            <tr>
+                <td valign="middle" align="left">
+                    <h2>{HEADING_MANAGE_SECTIONS}</h2>
+                </td>
+                <td>ID: {PAGE_ID}</td>
+                <td align="right">{TEXT_CURRENT_PAGE}: <b>{PAGE_TITLE}</b>
+                    -
+                    <a href="{ADMIN_URL}/pages/modify.php?page_id={PAGE_ID}">{HEADING_MODIFY_PAGE}</a>
+                    -
+                    <a href="{ADMIN_URL}/pages/settings.php?page_id={PAGE_ID}">{TEXT_CHANGE_SETTINGS}</a>
+                </td>
+            </tr>
+        </table>
+
+        <form name="section_properties" action="{ADMIN_URL}/pages/sections_save.php?page_id={VAR_PAGE_ID}" method="post">
+        <table cellpadding="5" cellspacing="0" align="center" border="0" width="100%">
+                <tr class="sections_list">
+                	<td valign="middle" width="{NAME_SIZE}">{TEXT_TYPE}:</td>
+                	<td {STYLE_DISPLAY_SECTION_BLOCK}>{TEXT_BLOCK}:</td>
+                	<td class="header_list_pubdate_start">{TEXT_PUBL_START_DATE}:</td>
+                	<td class="header_list_pubdate_end">{TEXT_PUBL_END_DATE}:</td>
+                	<td class="header_list_sections_actions"  colspan="3">{TEXT_ACTIONS}:</td>
+                    <td class="header_list_section_id">{TEXT_SID}</td>
+                    <td valign="middle" align="left"{DISPLAY_DEBUG}>{TEXT_PID}</td>
+                </tr>
+<!-- BEGIN section_block -->
+            	<tr onmouseover="this.style.backgroundColor = '#F1F8DD'" onmouseout="this.style.backgroundColor = '#FFF'">
+    				<td style="display: none;">
+                      <input type="hidden" name="page_id" value="{VAR_PAGE_ID}"  />
+                      <input type="hidden" name="section_id" value="{VAR_SECTION_ID}"  />
+                      {VAR_SECTION_ID}
+                    </td>
+
+                    <td valign="middle" width="{NAME_SIZE}">{LINK_MODIFY_URL_VAR_MODUL_NAME}</td>
+
+                    <td valign="middle" class="{INPUT_ATTRIBUTE}"{STYLE_DISPLAY_SECTION_BLOCK}>
+                    	<select name="block{VAR_SECTION_ID}" class="input_narrow">
+                        {SET_NONE_DISPLAY_OPTION}
+                    	<!-- BEGIN block_block -->
+                    		<option value="{VALUE}"{SELECTED}>{NAME}</option>
+                    	<!-- END block_block -->
+                    	</select>
+                    </td>
+
+                    <td valign="middle" nowrap="nowrap" width="120"><input type="text" id="start_date{VAR_SECTION_ID}" name="start_date{VAR_SECTION_ID}" value="{VALUE_PUBL_START}" class="input_normal" />
+                        <img src="{THEME_URL}/images/{CLOCK_16_PNG}" id="trigger_start{VAR_SECTION_ID}" style="cursor: pointer;" title="{TEXT_CALENDAR}" alt="start"  />
+                        <img src="{THEME_URL}/images/{CLOCK_DEL_16_PNG}" style="cursor: pointer;" alt="del" title="{TEXT_DELETE_DATE}" onclick="document.section_properties.start_date{VAR_SECTION_ID}.value=''" />
+                    </td>
+
+                    <td valign="middle" nowrap="nowrap" width="120"><input type="text" id="end_date{VAR_SECTION_ID}" name="end_date{VAR_SECTION_ID}" value="{VALUE_PUBL_END}" class="input_narrow" />
+                        <img src="{THEME_URL}/images/{CLOCK_16_PNG}" id="trigger_stop{VAR_SECTION_ID}" alt="end" style="cursor: pointer;" title="{TEXT_CALENDAR}"  />
+                        <img src="{THEME_URL}/images/{CLOCK_DEL_16_PNG}" style="cursor: pointer;" alt="del" title="{TEXT_DELETE_DATE}" onclick="document.section_properties.end_date{VAR_SECTION_ID}.value=''" />
+                    </td>
+
+                    <td valign="middle" width="20">
+                        {VAR_MOVE_UP_URL}
+                    </td>
+
+                    <td valign="middle"  width="20">
+                        {VAR_MOVE_DOWN_URL}
+                    </td>
+
+                    <td valign="middle" width="20">
+                        <a href="javascript: confirm_link('{TEXT_ARE_YOU_SURE}', '{ADMIN_URL}/pages/sections.php?page_id={VAR_PAGE_ID}&amp;section_id={VAR_SECTION_ID}');">
+                        <img src="{THEME_URL}/images/{DELETE_16_PNG}" alt="X" />
+                        </a>
+                    </td>
+                    <td valign="middle" align="right">
+                       {VAR_SECTION_ID}
+                    </td>
+                    <td valign="middle" align="right"{DISPLAY_DEBUG}>
+                       {POSITION}
+                    </td>
+                </tr>
+<!-- END section_block -->
+                <tr>
+                    <td valign="middle" align="right" colspan="{DEBUG_COLSPAN_SIZE}"><input type="submit" name="save" value="{TEXT_SAVE}" class="input_medium" /></td>
+    	        </tr>
+	    </table>
+    </form>
+
+	<h2>{TEXT_ADD_SECTION}</h2>
+	<form name="add" action="{ADMIN_URL}/pages/sections.php?page_id={VAR_PAGE_ID}" method="post">
+        <input type="hidden" name="page_id" value="{VAR_PAGE_ID}"  />
+    	<table cellpadding="5" cellspacing="0" border="0" align="center" width="100%">
+    	<tr>
+    		<td width="100%">
+    			<select name="module" class="input_full">
+                <!-- BEGIN module_block -->
+    			 <option value="{VALUE}"{SELECTED}>{NAME}</option>
+                 <!-- END module_block -->
+    			</select>
+    		</td>
+			<td >
+    			<input type="submit" name="submit" value="{TEXT_ADD}" class="input_medium" />
+    		</td>
+    	</tr>
+    	</table>
+	</form>
+    <!-- BEGIN calendar_block -->
+    <script type="text/javascript" >
+         var section_id = '{VAR_SECTION_ID}';
+         var start_date = '{start_date}';
+         var end_date = '{end_date}';
+         var trigger_start = '{trigger_start}';
+         var trigger_end = '{trigger_end}';
+         var jscal_today = '{jscal_today}';
+         var jscal_ifformat = '{jscal_ifformat}';
+         var jscal_firstday = {jscal_firstday};
+         var showsTime = {showsTime};
+         var timeFormat = {timeFormat};
+    </script>
+    <script src="{ADMIN_URL}/pages/page_calendar.js" type="text/javascript" ></script>
+    <!-- END calendar_block -->
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/classic_theme/templates/login.htt
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/templates/login.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/templates/login.htt	(revision 1481)
@@ -0,0 +1,93 @@
+<!-- BEGIN mainBlock -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<title>{TEXT_LOGIN}</title>
+<meta http-equiv="content-type" content="text/html; charset={CHARSET}" />
+<meta http-equiv="content-language" content="{LANGUAGE}" />
+<meta name="description" content="{TEXT_LOGIN}" />
+<meta name="keywords" content="{TEXT_LOGIN}" />
+<link href="{THEME_URL}/theme.css" rel="stylesheet" type="text/css" />
+</head>
+<body onload="document.login.{USERNAME_FIELDNAME}.focus();">
+
+<table cellpadding="0" cellspacing="0" border="0" width="770" align="center">
+<tr>
+	<td width="60" valign="top">
+		<img src="{THEME_URL}/images/logo.png" alt="Logo" />
+	</td>
+	<td width="5">&nbsp;</td>
+	<td style="font-size: 20px; ">
+		<font style="color: #FFFFFF;">{SECTION_LOGIN}</font>
+	</td>
+</tr>
+</table>
+
+<table cellpadding="0" cellspacing="0" border="0" width="770" align="center" style="margin-top: 30px;" class="container">
+<tr>
+	<td class="content">
+	
+	<form name="login" action="{ACTION_URL}" method="post">
+	<input type="hidden" name="url" value="{URL}" />
+	<input type="hidden" name="username_fieldname" value="{USERNAME_FIELDNAME}" />
+	<input type="hidden" name="password_fieldname" value="{PASSWORD_FIELDNAME}" />
+		<table cellpadding="5" cellspacing="0" border="0" align="center" width="500">
+		<tr>
+			<td height="40" align="center" colspan="2">{MESSAGE}</td>
+		</tr>
+		<tr>
+			<td height="10" colspan="2"></td>
+		</tr>
+		<tr>
+			<td width="170" height="30" align="right">{TEXT_USERNAME}:</td>
+			<td><input type="text" maxlength="{MAX_USERNAME_LEN}" name="{USERNAME_FIELDNAME}" value="{USERNAME}" style="width: 180px;" /></td>
+		</tr>
+		<tr>
+			<td width="170" height="30" align="right">{TEXT_PASSWORD}:</td>
+			<td><input type="password" maxlength="{MAX_PASSWORD_LEN}" name="{PASSWORD_FIELDNAME}" style="width: 180px;" /></td>
+		</tr>
+		<tr style="{DISPLAY_REMEMBER_ME};">
+			<td>&nbsp;</td>
+			<td>
+				<input type="checkbox" name="remember" id="remember" value="true" />
+				<label for="remember">
+					{TEXT_REMEMBER_ME}
+				</label>
+			</td>
+		</tr>
+		<tr>
+			<td>&nbsp;</td>
+			<td><input type="submit" name="submit" value="{TEXT_LOGIN}" style="width: 180px; font-size: 10px; text-transform: uppercase; color: #003366; border: 1px solid #336699; background-color: #DDDDDD; padding: 3px;" /></td>
+		</tr>
+		<tr>
+			<td height="10" colspan="2"></td>
+		</tr>
+		</table>
+	</form>
+	
+	<center>
+		<a href="{FORGOTTEN_DETAILS_APP}">{TEXT_FORGOTTEN_DETAILS}</a>
+		<br />
+		<br />
+		<br />
+		<a href="{WB_URL}">{TEXT_HOME}</a>
+	</center>
+
+	</td>
+</tr>
+</table>
+
+<table cellpadding="0" cellspacing="0" border="0" width="100%" style="padding: 10px 0px 10px 0px;">
+<tr>
+	<td style="font-size:12px;text-align:center;">
+      <!-- Please note: the below reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
+      <a href="http://www.websitebaker2.org/" title="external">WebsiteBaker</a> is released under the
+      <a href="http://www.gnu.org/licenses/gpl.html" title="WebsiteBaker is released under the GNU General Public License">GNU General Public License</a>
+      <!-- Please note: the above reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
+	</td>
+</tr>
+</table>
+
+</body>
+</html>
+<!-- END mainBlock -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/classic_theme/templates/modules.htt
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/templates/modules.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/templates/modules.htt	(revision 1481)
@@ -0,0 +1,119 @@
+<!-- BEGIN main_block -->
+
+<div class="box">
+	{URL_TEMPLATES}&nbsp;&nbsp;{URL_LANGUAGES}&nbsp;&nbsp;{URL_ADVANCED}
+</div>
+
+<form name="install" enctype="multipart/form-data" action="install.php" method="post" class="{DISPLAY_INSTALL}">
+
+<h2>{HEADING_INSTALL_MODULE}</h2>
+
+<table cellpadding="2" cellspacing="0" border="0" width="100%">
+<tr>
+	<td>
+		<input type="file" name="userfile" size="82%" />
+		<script type="text/javascript">
+		document.install.userfile.focus();
+		</script>
+	</td>
+	<td width="110" align="left">
+		<input type="submit" name="submit" value="{TEXT_INSTALL}" style="width: 100px;" />
+	</td>
+</tr>
+</table>
+
+<br />
+
+</form>
+
+<form name="uninstall" action="uninstall.php" method="post" class="{DISPLAY_UNINSTALL}">
+
+<h2>{HEADING_UNINSTALL_MODULE}</h2>
+
+<table cellpadding="2" cellspacing="0" border="0" width="100%">
+<tr>
+	<td>
+		<select name="file" style="width: 97%;">
+		<option value="" selected="selected">{TEXT_PLEASE_SELECT}...</option>
+		<!-- BEGIN module_list_block -->
+			<option value="{VALUE}">{NAME}</option>
+		<!-- END module_list_block -->
+		</select>
+	</td>
+	<td width="110">
+		<input type="submit" name="submit" value="{TEXT_UNINSTALL}" style="width: 100px;" />
+	</td>
+</tr>
+</table>
+
+<br />
+
+</form>
+
+<form name="details" action="details.php" method="post" class="{DISPLAY_LIST}">
+
+<h2>{HEADING_MODULE_DETAILS}</h2>
+
+<table cellpadding="2" cellspacing="0" border="0" width="100%">
+<tr>
+	<td>
+		<select name="file" style="width: 97%;">
+		<option value="" selected="selected">{TEXT_PLEASE_SELECT}...</option>
+		<!-- BEGIN module_list_block -->
+			<option value="{VALUE}">{NAME}</option>
+		<!-- END module_list_block -->
+		</select>
+	</td>
+	<td width="110">
+		<input type="submit" name="submit" value="{TEXT_VIEW_DETAILS}" style="width: 100px;" />
+	</td>
+</tr>
+</table>
+
+<br />
+</form>
+
+<div class="{DISPLAY_MANUAL_INSTALL}">
+<h2>{HEADING_INVOKE_MODULE_FILES}</h2>
+<p>{TEXT_MANUAL_INSTALLATION}</p>
+
+<form name="details" action="manual_install.php" method="post" class="{INSTALL_VISIBLE}">
+	<strong>{TEXT_FILE}:</strong> "install.php"&nbsp;&nbsp;&nbsp;
+	<input type="hidden" name="action" value="install" />
+	<select name="file" style="width: 250px;">
+	<option value="" selected="selected">{TEXT_PLEASE_SELECT}...</option>
+		<!-- BEGIN install_list_block -->
+		<option value="{VALUE}">{NAME}</option>
+		<!-- END install_list_block -->
+	</select>
+	<input type="submit" name="submit" value="{TEXT_EXECUTE}" style="width: 100px; margin-left: 1em;" />
+</form>
+
+<form name="details" action="manual_install.php" method="post" class="{UPGRADE_VISIBLE}">
+	<br />{TEXT_FILE}: "upgrade.php"
+	<input type="hidden" name="action" value="upgrade" />
+	<select name="file" style="width: 250px;">
+	<option value="" selected="selected">{TEXT_PLEASE_SELECT}...</option>
+		<!-- BEGIN upgrade_list_block -->
+		<option value="{VALUE}">{NAME}</option>
+		<!-- END upgrade_list_block -->
+	</select>
+	<input type="submit" name="submit" value="{TEXT_EXECUTE}" style="width: 100px; margin-left: 1em;" />
+</form>
+
+<form name="details" action="manual_install.php" method="post" class="{UNINSTALL_VISIBLE}">
+	<br />{TEXT_FILE}: "uninstall.php"
+	<input type="hidden" name="action" value="uninstall" />
+	<select name="file" style="width: 250px;">
+	<option value="" selected="selected">{TEXT_PLEASE_SELECT}...</option>
+		<!-- BEGIN uninstall_list_block -->
+		<option value="{VALUE}">{NAME}</option>
+		<!-- END uninstall_list_block -->
+	</select>
+	<input type="submit" name="submit" value="{TEXT_EXECUTE}" style="width: 100px; margin-left: 1em;" />
+</form>
+
+<p style="color: red;">{TEXT_MANUAL_INSTALLATION_WARNING}</p>
+</div>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/classic_theme/templates/success.htt
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/templates/success.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/templates/success.htt	(revision 1481)
@@ -0,0 +1,16 @@
+<!-- BEGIN main_block -->
+<center>
+	
+	{MESSAGE}
+	
+	<script type="text/javascript">
+		setTimeout("location.href='{REDIRECT}'", {REDIRECT_TIMER});
+	</script>
+	
+	<noscript>
+		<br /><br />
+		<a href="{REDIRECT}">{NEXT}</a>
+	</noscript>
+	
+</center>
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/classic_theme/templates/groups.htt
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/templates/groups.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/templates/groups.htt	(revision 1481)
@@ -0,0 +1,37 @@
+<!-- BEGIN main_block -->
+
+<form name="groups" action="groups.php" method="post">
+
+<input type="hidden" name="action" value="delete" />
+
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr>
+	<td align="left">
+		<h2>{HEADING_MODIFY_DELETE_GROUP}</h2>
+	</td>
+	<td align="right">
+		<!-- BEGIN manage_users_block -->
+		<a href="{ADMIN_URL}/users/index.php">{TEXT_MANAGE_USERS}</a>
+		<!-- END manage_users_block -->
+	</td>
+</tr>
+</table>
+
+<br />
+
+<select name="group_id" style="width: 500px;">
+<!-- BEGIN list_block -->
+	<option value="{VALUE}">{NAME}</option>
+<!-- END list_block -->
+</select>
+
+<input type="submit" name="modify" style="width: 100px;" value="{TEXT_MODIFY}" class="{DISPLAY_MODIFY}" />
+<input type="submit" name="delete" style="width: 100px;" value="{TEXT_DELETE}" onclick="return confirm('{CONFIRM_DELETE}');" class="{DISPLAY_DELETE}" />
+
+</form>
+
+<br />
+
+<h2 class="{DISPLAY_ADD}">{HEADING_ADD_GROUP}</h2>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/classic_theme/templates/pages_settings.htt
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/templates/pages_settings.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/templates/pages_settings.htt	(revision 1481)
@@ -0,0 +1,181 @@
+<!-- BEGIN main_block -->
+
+<script src="{ADMIN_URL}/pages/page_settings.js" type="text/javascript"></script>
+
+<table cellpadding="5" cellspacing="0" border="0" align="center" width="100%" style="margin-bottom: 10px;">
+<tr style="background-color: #F0F0F0;">
+	<td valign="middle" align="left">
+		<h2>{HEADING_MODIFY_PAGE_SETTINGS}</h2>
+	</td>
+	<td nowrap="nowrap">ID: {PAGE_ID}</td>
+	<td align="right">
+		{TEXT_CURRENT_PAGE}:
+		<b>{PAGE_TITLE}</b>
+		-
+		<a href="{ADMIN_URL}/pages/modify.php?page_id={PAGE_ID}">{TEXT_MODIFY_PAGE}</a>
+		<font style="{DISPLAY_MANAGE_SECTIONS}">-</font>
+		<a href="{ADMIN_URL}/pages/sections.php?page_id={PAGE_ID}" style="{DISPLAY_MANAGE_SECTIONS}">{TEXT_MANAGE_SECTIONS}</a>
+		<br />
+		<font style="color: #999999;" class="{DISPLAY_MODIFIED}">
+			{LAST_MODIFIED} {MODIFIED_BY} ({MODIFIED_BY_USERNAME}), {MODIFIED_WHEN}
+		</font>
+	</td>
+</tr>
+</table>
+
+<form name="settings" action="settings2.php" method="post">
+
+<input type="hidden" name="page_id" value="{PAGE_ID}" />
+
+<table cellpadding="2" cellspacing="0" border="0" width="100%" align="center">
+<tr>
+	<td width="100" height="20">{TEXT_PAGE_TITLE}:</td>
+	<td width="240" height="20">
+		<input type="text" name="page_title" value="{PAGE_TITLE}" style="width: 232px;" />
+	</td>
+	<td rowspan="10" valign="top" style="padding-left: 20px; padding-top: 8px;">
+		{TEXT_ADMINISTRATORS}:
+		<ul style="list-style-type: none; margin: 0; padding: 0;">
+			<!-- BEGIN group_list_block -->
+			<li>
+			<input type="checkbox" name="admin_groups[]" id="admin_group_{ID}" value="{ID}"{CHECKED}{DISABLED} />
+			<label for="admin_group_{TOGGLE}">{NAME}</label>
+			</li>
+			<!-- END group_list_block -->
+		</ul>
+	</td>
+	<td rowspan="10" valign="top" style="padding-left: 20px; padding-top: 8px;">
+		<div id="allowed_viewers" style="{DISPLAY_VIEWERS};">
+			{TEXT_ALLOWED_VIEWERS}:
+			<ul style="list-style-type: none; margin: 0; padding: 0;">
+				<!-- BEGIN group_list_block2 -->
+				<li>
+				<input type="checkbox" name="viewing_groups[]" id="viewing_group_{ID}" value="{ID}"{CHECKED}{DISABLED} />
+				<label for="viewing_group_{TOGGLE}">{NAME}</label>
+				</li>
+				<!-- END group_list_block2 -->
+			</ul>
+		</div>
+	</td>
+</tr>
+<tr>
+	<td width="100" height="20">{TEXT_MENU_TITLE}:</td>
+	<td width="240" height="20">
+		<input type="text" name="menu_title" value="{MENU_TITLE}" style="width: 232px;" />
+	</td>
+</tr>
+<tr>
+	<td width="100">{TEXT_PARENT}:</td>
+	<td width="240">
+		<select name="parent" style="width: 240px;" onchange="return disabled_hack_for_ie(this);">
+			<!-- BEGIN page_list_block2 -->
+			<option value="{ID}"{SELECTED} style="background: {FLAG_ROOT_ICON} no-repeat center left; padding-left: 20px;">{TITLE}</option>
+			<!-- END page_list_block2 -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td width="100">{TEXT_VISIBILITY}:</td>
+	<td width="240">
+		<select name="visibility" onchange="javascript: toggle_viewers();" style="width: 240px;">
+			<option value="public"{PUBLIC_SELECTED}>{TEXT_PUBLIC}</option>
+			<option value="private"{PRIVATE_SELECTED}>{TEXT_PRIVATE}</option>
+			<option value="registered"{REGISTERED_SELECTED}>{TEXT_REGISTERED}</option>
+			<option value="hidden"{HIDDEN_SELECTED}>{TEXT_HIDDEN}</option>
+			<option value="none"{NO_VIS_SELECTED}>{TEXT_NONE}</option>
+		</select>
+	</td>
+</tr>
+<tr>
+	<td width="100" valign="top">{TEXT_DESCRIPTION}:</td>
+	<td>
+		<textarea name="description" rows="10" cols="1" style="width: 236px; height: 50px;">{DESCRIPTION}</textarea>
+	</td>
+</tr>
+<tr>
+	<td width="100" valign="top">{TEXT_KEYWORDS}:</td>
+	<td>
+		<textarea name="keywords" rows="10" cols="1" style="width: 236px; height: 50px;">{KEYWORDS}</textarea>
+	</td>
+</tr>
+<tr>
+	<td>
+		{TEXT_TARGET}:
+	</td>
+	<td>
+		<select name="target" style="width: 240px;" ><!--  value="{TARGET}" -->
+			<option value="_blank"{BLANK_SELECTED}>{TEXT_NEW_WINDOW}</option>
+			<option value="_self"{SELF_SELECTED}>{TEXT_SAME_WINDOW}</option>
+			<option value="_top"{TOP_SELECTED}>{TEXT_TOP_FRAME}</option>
+		</select>
+	</td>
+</tr>
+<tr>
+	<td width="100">{TEXT_TEMPLATE}:</td>
+	<td width="240">
+		<select name="template" style="width: 240px;">
+			<option value="">{TEXT_SYSTEM_DEFAULT}</option>
+			<option value="">----------------------</option>
+			<!-- BEGIN template_list_block -->
+			<option value="{VALUE}"{SELECTED}>{NAME}</option>
+			<!-- END template_list_block -->
+		</select>
+	</td>
+</tr>
+<tr style="{DISPLAY_MENU_LIST}">
+	<td width="100">{TEXT_MENU}:</td>
+	<td width="240">
+		<select name="menu" style="width: 240px;">
+			<!-- BEGIN menu_list_block -->
+			<option value="{VALUE}"{SELECTED}>{NAME}</option>
+			<!-- END menu_list_block -->
+		</select>
+	</td>
+</tr>
+<tr style="{DISPLAY_LANGUAGE_LIST}">
+	<td width="100">{TEXT_LANGUAGE}:</td>
+	<td width="240">
+		<select name="language" style="width: 240px;">
+			<!-- BEGIN language_list_block -->
+			<option value="{VALUE}"{SELECTED} style="background: {FLAG_LANG_ICONS} no-repeat center left; padding-left: 20px;">{NAME}</option>
+			<!-- END language_list_block -->
+		</select>
+	</td>
+</tr>
+<!-- insert page_code 20090904-->
+<tr{DISPLAY_CODE_PAGE_LIST}>
+	<td width="100">{TEXT_PAGE_CODE}:</td>
+	<td width="240">
+		<select name="page_code" style="width: 240px;">
+			<!-- BEGIN page_code_list_block -->
+			<option value="{VALUE}"{SELECTED} style="background: {FLAG_CODE_ICON} no-repeat center left; padding-left: 20px;">{PAGE_CODE}</option>
+			<!-- END page_code_list_block -->
+		</select>
+	</td>
+</tr>
+<!-- page code -->
+<tr>
+	<td width="100">{TEXT_SEARCHING}:</td>
+	<td width="240">
+		<select name="searching" style="width: 240px;">
+			<option value="1">{TEXT_ENABLED}</option>
+			<option value="0"{SEARCHING_DISABLED}>{TEXT_DISABLED}</option>
+		</select>
+	</td>
+</tr>
+<tr>
+	<td width="100">&nbsp;</td>
+	<td colspan="4">
+		<input type="submit" name="submit" value="{TEXT_SAVE} {SECTION_SETTINGS}" style="width: 117px;" />
+		<input type="reset" name="reset" value="{TEXT_RESET}" style="width: 117px;" />
+	</td>
+</tr>
+<tr>
+	<td>&nbsp;</td>
+	<td>&nbsp;</td>
+</tr>
+</table>
+
+</form>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/classic_theme/templates/media.htt
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/templates/media.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/templates/media.htt	(revision 1481)
@@ -0,0 +1,122 @@
+<!-- BEGIN main_block -->
+
+<h2>{HEADING_BROWSE_MEDIA}</h2>
+
+<iframe width="100%" height="320px" align="middle" src="browse.php"></iframe>
+
+<br />
+
+
+
+<form name="create" action="create.php" method="post" class="{DISPLAY_CREATE}">
+
+<br />
+
+<h2>{HEADING_CREATE_FOLDER}</h2>
+
+<table cellpadding="3" cellspacing="0" border="0" width="100%">
+<tr>
+	<td width="100">{TEXT_TARGET_FOLDER}:</td>
+	<td>
+		<select name="target" style="width: 100%;">
+			<option value="{MEDIA_DIRECTORY}{HOME_DIRECTORY}" selected="selected">{MEDIA_DIRECTORY}{HOME_DIRECTORY}</option>
+			<!-- BEGIN dir_list_block -->
+				<option value="{NAME}">{NAME}</option>
+			<!-- END dir_list_block -->
+		</select>
+	</td>
+</tr>
+
+</table>
+<table cellpadding="3" cellspacing="0" border="0" width="100%">
+<tr>
+	<td width="100">{TEXT_NAME}:</td>
+	<td>
+		<input type="text" name="name" style="width: 100%;" />
+	</td>
+	<td align="right" width="160">
+		<input type="submit" name="submit" value="{TEXT_CREATE_FOLDER}" style="width: 160px;" />
+	</td>
+</tr>
+</table>
+
+</form>
+
+<form name="upload" action="upload.php" method="post" enctype="multipart/form-data" class="{DISPLAY_UPLOAD}">
+
+<br />
+
+<h2>{HEADING_UPLOAD_FILES}</h2>
+
+<table cellpadding="3" cellspacing="0" border="0" width="100%">
+<tr>
+	<td width="100">{TEXT_TARGET_FOLDER}:</td>
+	<td>
+		<select name="target" style="width: 100%;">
+			<option value="{MEDIA_DIRECTORY}{HOME_DIRECTORY}" selected="selected">{MEDIA_DIRECTORY}{HOME_DIRECTORY}</option>
+			<!-- BEGIN dir_list_block -->
+				<option value="{NAME}">{NAME}</option>
+			<!-- END dir_list_block -->
+		</select>
+	</td>
+</tr>
+</table>
+<table cellpadding="3" cellspacing="0" border="0" align="center" width="100%">
+<tr>
+	<td>
+		<input type="checkbox" name="overwrite" id="overwrite" value="yes" />
+		<label for="overwrite">
+		{TEXT_OVERWRITE_EXISTING} {TEXT_FILES}
+		</label>
+	</td>
+	<td width="160">
+		<input type="submit" name="submit" value="{TEXT_UPLOAD_FILES}" style="width: 160px;" />
+	</td>
+</tr>
+</table>
+<table cellpadding="3" cellspacing="0" border="0" width="100%">
+<tr>
+	<td width="50%" align="left">
+		<input type="file" size="42" name="file1" />
+	</td>
+	<td width="50%" align="right">
+		<input type="file" size="42" name="file2" />
+	</td>
+</tr>
+<tr>
+	<td width="50%" align="left">
+		<input type="file" size="42" name="file3" />
+	</td>
+	<td width="50%" align="right">
+		<input type="file" size="42" name="file4" />
+	</td>
+</tr>
+<tr>
+	<td width="50%" align="left">
+		<input type="file" size="42" name="file5" />
+	</td>
+	<td width="50%" align="right">
+		<input type="file" size="42" name="file6" />
+	</td>
+</tr>
+<tr>
+	<td width="50%" align="left">
+		<input type="file" size="42" name="file7" />
+	</td>
+	<td width="50%" align="right">
+		<input type="file" size="42" name="file8" />
+	</td>
+</tr>
+<tr>
+	<td width="50%" align="left">
+		<input type="file" size="42" name="file9" />
+	</td>
+	<td width="50%" align="right">
+		<input type="file" size="42" name="file10" />
+	</td>
+</tr>
+</table>
+
+</form>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/classic_theme/templates/access.htt
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/templates/access.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/templates/access.htt	(revision 1481)
@@ -0,0 +1,48 @@
+<!-- BEGIN main_block -->
+
+<table cellpadding="0" cellspacing="0" border="0" width="99%" align="center">
+<tr>
+	<td align="center" valign="top">
+		<!-- BEGIN users_block -->	
+		<table cellpadding="0" cellspacing="0" border="0" class="section" {DISPLAY_USERS} >
+		<tr>
+			<td class="graphic" align="center" valign="middle" rowspan="2">
+				<a href="{ADMIN_URL}/users/index.php">
+					<img src="{THEME_URL}/icons/users.png" alt="{USERS}" />
+				</a>
+			</td>
+			<td class="title">
+				<a href="{ADMIN_URL}/users/index.php">{USERS}</a>
+			</td>
+		</tr>
+		<tr>
+			<td class="description">
+				{USERS_OVERVIEW}
+			</td>
+		</tr>
+		</table>
+		<!-- END users_block -->
+		<!-- BEGIN groups_block -->		
+		<table cellpadding="0" cellspacing="0" border="0" class="section" {DISPLAY_GROUPS} >
+		<tr>
+			<td class="graphic" align="center" valign="middle" rowspan="2">
+				<a href="{ADMIN_URL}/groups/index.php">
+					<img src="{THEME_URL}/icons/groups.png" alt="{GROUPS}" />
+				</a>
+			</td>
+			<td class="title">
+				<a href="{ADMIN_URL}/groups/index.php">{GROUPS}</a>
+			</td>
+		</tr>
+		<tr>
+			<td class="description">
+				{GROUPS_OVERVIEW}
+			</td>
+		</tr>
+		</table>
+		<!-- END groups_block -->
+	</td>
+</tr>
+</table>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/classic_theme/templates/addons.htt
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/templates/addons.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/templates/addons.htt	(revision 1481)
@@ -0,0 +1,68 @@
+<!-- BEGIN main_block -->
+<div class="box">
+	{URL_ADVANCED}
+</div>
+
+<table cellpadding="0" cellspacing="0" border="0" width="99%" align="center">
+<tr>
+	<td align="center" valign="top">
+		<!-- BEGIN modules_block -->
+		<table cellpadding="0" cellspacing="0" border="0" class="section" {DISPLAY_MODULES} >
+		<tr>
+			<td class="graphic" align="center" valign="middle" rowspan="2"><a href="{ADMIN_URL}/modules/index.php"><img src="{THEME_URL}/icons/modules.png" alt="0" /></a></td>
+			<td class="title"><a href="{ADMIN_URL}/modules/index.php">{MODULES}</a></td>
+		</tr>
+		<tr>
+			<td class="description">{MODULES_OVERVIEW}</td>
+		</tr>
+		</table>
+		<!-- END modules_block -->		
+		<!-- BEGIN templates_block -->
+		<table cellpadding="0" cellspacing="0" border="0" class="section" {DISPLAY_TEMPLATES} >
+		<tr>
+			<td class="graphic" align="center" valign="middle" rowspan="2"><a href="{ADMIN_URL}/templates/index.php"><img src="{THEME_URL}/icons/templates.png" alt="{TEMPLATES}" /></a></td>
+			<td class="title"><a href="{ADMIN_URL}/templates/index.php">{TEMPLATES}</a></td>
+		</tr>
+		<tr>
+			<td class="description">{TEMPLATES_OVERVIEW}</td>
+		</tr>
+		</table>
+		<!-- END templates_block -->
+		<!-- BEGIN languages_block -->
+		<table cellpadding="0" cellspacing="0" border="0" class="section" {DISPLAY_LANGUAGES} >
+		<tr>
+			<td class="graphic" align="center" valign="middle" rowspan="2"><a href="{ADMIN_URL}/languages/index.php"><img src="{THEME_URL}/icons/languages.png" alt="{LANGUAGES}" /></a></td>
+			<td class="title"><a href="{ADMIN_URL}/languages/index.php">{LANGUAGES}</a></td>
+		</tr>
+		<tr>
+			<td class="description">{LANGUAGES_OVERVIEW}</td>
+		</tr>
+		</table>
+		<!-- END languages_block -->
+		<!-- BEGIN reload_block -->
+		<table cellpadding="0" cellspacing="0" border="0" class="section" {DISPLAY_RELOAD} >
+		<tr>
+			<td class="graphic" align="center" valign="middle" rowspan="2"><img src="{THEME_URL}/icons/admintools.png" alt="{TXT_ADMIN_SETTINGS}" /></td>
+			<td class="title">{TXT_ADMIN_SETTINGS}</td>
+		</tr>
+		<tr>
+			<td class="description">
+				<form action="{RELOAD_URL}" method="post">
+				{MESSAGE_RELOAD_ADDONS}<br style="margin-bottom: 0.5em" />
+				<input {DISPLAY_MODULES} type="checkbox" name="reload_modules" id="reload_modules" value="true" />
+				<label {DISPLAY_MODULES} for="reload_modules">{MODULES}</label>
+				<input {DISPLAY_TEMPLATES} type="checkbox" name="reload_templates" id="reload_templates" value="true" />
+				<label {DISPLAY_TEMPLATES} for="reload_templates">{TEMPLATES}</label>
+				<input {DISPLAY_LANGUAGES} type="checkbox" name="reload_languages" id="reload_languages" value="true" />
+				<label {DISPLAY_LANGUAGES} for="reload_languages">{LANGUAGES}</label>
+				<input type="submit" name="submit" value="{TEXT_RELOAD}" />
+				</form>
+			</td>
+		</tr>
+		</table>
+		<!-- END reload_block -->
+	</td>
+</tr>
+</table>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/classic_theme/templates/admintools.htt
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/templates/admintools.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/templates/admintools.htt	(revision 1481)
@@ -0,0 +1,30 @@
+<!-- BEGIN main_block -->
+
+<table cellpadding="3" cellspacing="0" border="0" align="center" width="100%" class="tool_table">
+
+<tr class="advanced">
+	<td colspan="3">
+		<a name="administration_tools"></a>
+		<h2>{HEADING_ADMINISTRATION_TOOLS}</h2>
+	</td>
+</tr>
+<tr>
+	<td colspan="3">
+		<ul>
+		<!-- BEGIN tool_list_block -->
+		<li>
+		<a href="{ADMIN_URL}/admintools/tool.php?tool={TOOL_DIR}">{TOOL_NAME}</a>
+		<br />{TOOL_DESCRIPTION}
+		</li>
+		<!-- END tool_list_block -->
+		</ul>
+		{TOOL_LIST}
+	</td>
+	<td>
+		&nbsp;
+	</td>
+	<td>&nbsp;</td>
+</tr>
+</table>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/classic_theme/templates/index.php
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/templates/index.php	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/templates/index.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+/**
+ * $Id$
+ * Website Baker theme: classic
+ * This theme is the WB backend Theme from WB 2.7
+ * Feel free to modify or build up on this template.
+ *
+ * This file prevents directory listing.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Johannes Tassilo Gruber
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    2.80
+ * @platform   Website Baker 2.8
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+// prevent directory listing
+header('Location: ../../../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/classic_theme/templates/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/templates/error.htt
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/templates/error.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/templates/error.htt	(revision 1481)
@@ -0,0 +1,6 @@
+<!-- BEGIN main_block -->
+<div style='text-align:center;'>
+	<p>{MESSAGE}</p>
+	<p><a href="{LINK}">{BACK}</a></p>
+</div>
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/classic_theme/templates/warning.html
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/templates/warning.html	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/templates/warning.html	(revision 1481)
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<title>Maximum Invalid Login Attemps Exceeded</title>
+<style type="text/css"><!--
+body,td,th {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 12px;
+	color: #000000;
+}
+body {
+	margin: 0px;
+  background: #A8BCCB url(../images/background.png) ;
+  background-repeat:repeat-x;
+}
+a:link, a:visited, a:active {
+	color: #003366;
+	text-decoration: none;
+}
+a:hover {
+	text-decoration: underline;
+	color: #336699;
+}
+h1 {
+	text-align: center;
+	font-size: 18px;
+	color: #000;
+	text-transform: uppercase;
+}
+hr {
+	height: 1px;
+	color: #336699;
+	background-color: #336699;
+	border: 0;
+}
+div#message {
+	text-align: center;
+}
+--></style></head>
+<body>
+
+<div id='message'>
+	<h1>Excessive Invalid Logins</h1>
+	You have attempted to login too many times
+</div>
+
+</body>
+</html>
\ No newline at end of file
Index: tags/2.8.2/wb/templates/classic_theme/templates/templates_details.htt
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/templates/templates_details.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/templates/templates_details.htt	(revision 1481)
@@ -0,0 +1,32 @@
+<!-- BEGIN main_block -->
+
+<h2>{HEADING_TEMPLATE_DETAILS}</h2>
+
+<table cellpadding="5" cellspacing="0" border="0">
+<tr>
+	<td width="100">{TEXT_NAME}:</td>
+	<td>{NAME}</td>
+</tr>
+<tr>
+	<td>{TEXT_AUTHOR}:</td>
+	<td>{AUTHOR}</td>
+</tr>
+<tr>
+	<td>{TEXT_VERSION}:</td>
+	<td>{VERSION}</td>
+</tr>
+<tr>
+	<td>{TEXT_DESIGNED_FOR}:</td>
+	<td>Website Baker {DESIGNED_FOR}</td>
+</tr>
+<tr>
+	<td valign="top">{TEXT_DESCRIPTION}:</td>
+	<td style="text-align: justify;">{DESCRIPTION}</td>
+</tr>
+</table>
+
+<br />
+
+<button onclick="window.location = 'index.php';">{TEXT_BACK}</button>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/classic_theme/templates/languages_details.htt
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/templates/languages_details.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/templates/languages_details.htt	(revision 1481)
@@ -0,0 +1,32 @@
+<!-- BEGIN main_block -->
+
+<h2>{HEADING_LANGUAGE_DETAILS}</h2>
+
+<table cellpadding="5" cellspacing="0" border="0">
+<tr>
+	<td width="100">{TEXT_NAME}:</td>
+	<td>{NAME}</td>
+</tr>
+<tr>
+	<td>{TEXT_CODE}:</td>
+	<td>{CODE}</td>
+</tr>
+<tr>
+	<td>{TEXT_AUTHOR}:</td>
+	<td>{AUTHOR}</td>
+</tr>
+<tr>
+	<td>{TEXT_VERSION}:</td>
+	<td>{VERSION}</td>
+</tr>
+<tr>
+	<td>{TEXT_DESIGNED_FOR}:</td>
+	<td>Website Baker {DESIGNED_FOR}</td>
+</tr>
+</table>
+
+<br />
+
+<button onclick="window.location = 'index.php';">{TEXT_BACK}</button>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/classic_theme/templates/modules_details.htt
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/templates/modules_details.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/templates/modules_details.htt	(revision 1481)
@@ -0,0 +1,36 @@
+<!-- BEGIN main_block -->
+
+<h2>{HEADING_MODULE_DETAILS}</h2>
+
+<table cellpadding="5" cellspacing="0" border="0">
+<tr>
+	<td width="100">{TEXT_NAME}:</td>
+	<td>{NAME}</td>
+</tr>
+<tr>
+	<td>{TEXT_TYPE}:</td>
+	<td>{TYPE}</td>
+</tr>
+<tr>
+	<td>{TEXT_AUTHOR}:</td>
+	<td>{AUTHOR}</td>
+</tr>
+<tr>
+	<td>{TEXT_VERSION}:</td>
+	<td>{VERSION}</td>
+</tr>
+<tr>
+	<td>{TEXT_DESIGNED_FOR}:</td>
+	<td>Website Baker {DESIGNED_FOR}</td>
+</tr>
+<tr>
+	<td valign="top">{TEXT_DESCRIPTION}:</td>
+	<td style="text-align: justify;">{DESCRIPTION}</td>
+</tr>
+</table>
+
+<br />
+
+<button onclick="window.location = 'index.php';">{TEXT_BACK}</button>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/classic_theme/info.php
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/info.php	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/info.php	(revision 1481)
@@ -0,0 +1,40 @@
+<?php
+/**
+ * $Id$
+ * Website Baker theme: classic_theme
+ * This theme is the default WB backend Theme
+ * Feel free to modify or build up on this template.
+ *
+ * This file defines the template variables required by Website Baker.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Matthias Gallas
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    2.80
+ * @platform   Website Baker 2.8
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+// OBLIGATORY WEBSITE BAKER VARIABLES
+$template_directory			= 'classic_theme';
+$template_name				= 'classic_theme';
+$template_function			= 'theme';
+$template_version			= '2.80';
+$template_platform			= '2.8';
+$template_author			= 'Matthias Gallas';
+$template_license			= '<a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>';
+$template_license_terms		= '-';
+$template_description		= 'Backend theme for Website Baker 2.7.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/classic_theme/info.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/languages/index.php
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/languages/index.php	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/languages/index.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+/**
+ * $Id$
+ * Website Baker theme: classic
+ * This theme is the WB backend Theme from WB 2.7
+ * Feel free to modify or build up on this template.
+ *
+ * This file prevents directory listing.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Johannes Tassilo Gruber
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    2.80
+ * @platform   Website Baker 2.8
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+// prevent directory listing
+header('Location: ../../../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/classic_theme/languages/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/languages/NO.php
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/languages/NO.php	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/languages/NO.php	(revision 1481)
@@ -0,0 +1,29 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+//Modul Description
+$template_description 	= 'Klassisk designmal for Admin sidene fra Website Baker 2.7.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/classic_theme/languages/NO.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/languages/EN.php
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/languages/EN.php	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/languages/EN.php	(revision 1481)
@@ -0,0 +1,29 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+//Modul Description
+$template_description 	= 'Backend theme from Website Baker 2.7.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/classic_theme/languages/EN.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/languages/DE.php
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/languages/DE.php	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/languages/DE.php	(revision 1481)
@@ -0,0 +1,29 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+//Modul Description
+$template_description 	= 'Das Backend-Theme von Websitebaker 2.7.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/classic_theme/languages/DE.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/icons/index.php
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/icons/index.php	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/icons/index.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+/**
+ * $Id$
+ * Website Baker theme: classic
+ * This theme is the WB backend Theme from WB 2.7
+ * Feel free to modify or build up on this template.
+ *
+ * This file prevents directory listing.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Johannes Tassilo Gruber
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    2.80
+ * @platform   Website Baker 2.8
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+// prevent directory listing
+header('Location: ../../../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/classic_theme/icons/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/icons/templates.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/icons/templates.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/icons/groups.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/icons/groups.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/icons/media.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/icons/media.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/icons/pages.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/icons/pages.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/icons/settings.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/icons/settings.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/icons/access.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/icons/access.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/icons/preferences.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/icons/preferences.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/icons/users.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/icons/users.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/icons/languages.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/icons/languages.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/icons/addons.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/icons/addons.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/icons/modules.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/icons/modules.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/icons/admintools.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/icons/admintools.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/icons/view.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/classic_theme/icons/view.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/index.php
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/index.php	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/index.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+/**
+ * $Id$
+ * Website Baker theme: classic
+ * This theme is the WB backend Theme from WB 2.7
+ * Feel free to modify or build up on this template.
+ *
+ * This file prevents directory listing.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Johannes Tassilo Gruber
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    2.80
+ * @platform   Website Baker 2.8
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+// prevent this file from being accessed directly
+if (!defined('WB_PATH')) die(header('Location: ../../index.php'));
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/classic_theme/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/classic_theme/media.css
===================================================================
--- tags/2.8.2/wb/templates/classic_theme/media.css	(nonexistent)
+++ tags/2.8.2/wb/templates/classic_theme/media.css	(revision 1481)
@@ -0,0 +1,37 @@
+body,td,th,input,textarea {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 12px;
+	color: #000000;
+}
+body {
+	background-color: #FFFFFF;
+	margin: 0px;
+}
+hr {
+	margin: 0px;
+	color: #003366;
+	height: 1px;
+}
+a:link, a:visited, a:active {
+	color: #003366;
+	text-decoration: none;
+}
+a:hover {
+	text-decoration: none;
+	color: #336699;
+}
+input:focus, select:focus, textarea:focus {
+	background: #F1F8FD;
+}
+.content {
+	width: 100%;
+	height: 100px;
+}
+.rename {
+    background: #fff url(images/bgtitle.png) ;
+    background-repeat:repeat-x;
+	padding: 20px;
+}
+.hide {
+	display: none;
+}

Property changes on: tags/2.8.2/wb/templates/classic_theme/media.css
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/jquery-corner.js
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/jquery/jquery-corner.js	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/jquery/jquery-corner.js	(revision 1481)
@@ -0,0 +1,178 @@
+/*!
+ * jQuery corner plugin: simple corner rounding
+ * Examples and documentation at: http://jquery.malsup.com/corner/
+ * version 1.96 (11-MAY-2009)
+ * Dual licensed under the MIT and GPL licenses:
+ * http://www.opensource.org/licenses/mit-license.php
+ * http://www.gnu.org/licenses/gpl.html
+ */
+
+/**
+ *  corner() takes a single string argument:  $('#myDiv').corner("effect corners width")
+ *
+ *  effect:  name of the effect to apply, such as round, bevel, notch, bite, etc (default is round). 
+ *  corners: one or more of: top, bottom, tr, tl, br, or bl. 
+ *           by default, all four corners are adorned. 
+ *  width:   width of the effect; in the case of rounded corners this is the radius. 
+ *           specify this value using the px suffix such as 10px (and yes, it must be pixels).
+ *
+ * @name corner
+ * @type jQuery
+ * @param String options Options which control the corner style
+ * @cat Plugins/Corner
+ * @return jQuery
+ * @author Dave Methvin (http://methvin.com/jquery/jq-corner.html)
+ * @author Mike Alsup   (http://jquery.malsup.com/corner/)
+ */
+;(function($) { 
+
+var expr = (function() {
+    var div = document.createElement('div');
+    try { div.style.setExpression('width','0+0'); }
+    catch(e) { return false; }
+    return true;
+})();
+    
+function sz(el, p) { 
+    return parseInt($.css(el,p))||0; 
+};
+function hex2(s) {
+    var s = parseInt(s).toString(16);
+    return ( s.length < 2 ) ? '0'+s : s;
+};
+function gpc(node) {
+    for ( ; node && node.nodeName.toLowerCase() != 'html'; node = node.parentNode ) {
+        var v = $.css(node,'backgroundColor');
+        if ( v.indexOf('rgb') >= 0 ) { 
+            if ($.browser.safari && v == 'rgba(0, 0, 0, 0)')
+                continue;
+            var rgb = v.match(/\d+/g); 
+            return '#'+ hex2(rgb[0]) + hex2(rgb[1]) + hex2(rgb[2]);
+        }
+        if ( v && v != 'transparent' )
+            return v;
+    }
+    return '#ffffff';
+};
+
+function getWidth(fx, i, width) {
+    switch(fx) {
+    case 'round':  return Math.round(width*(1-Math.cos(Math.asin(i/width))));
+    case 'cool':   return Math.round(width*(1+Math.cos(Math.asin(i/width))));
+    case 'sharp':  return Math.round(width*(1-Math.cos(Math.acos(i/width))));
+    case 'bite':   return Math.round(width*(Math.cos(Math.asin((width-i-1)/width))));
+    case 'slide':  return Math.round(width*(Math.atan2(i,width/i)));
+    case 'jut':    return Math.round(width*(Math.atan2(width,(width-i-1))));
+    case 'curl':   return Math.round(width*(Math.atan(i)));
+    case 'tear':   return Math.round(width*(Math.cos(i)));
+    case 'wicked': return Math.round(width*(Math.tan(i)));
+    case 'long':   return Math.round(width*(Math.sqrt(i)));
+    case 'sculpt': return Math.round(width*(Math.log((width-i-1),width)));
+    case 'dog':    return (i&1) ? (i+1) : width;
+    case 'dog2':   return (i&2) ? (i+1) : width;
+    case 'dog3':   return (i&3) ? (i+1) : width;
+    case 'fray':   return (i%2)*width;
+    case 'notch':  return width; 
+    case 'bevel':  return i+1;
+    }
+};
+
+$.fn.corner = function(o) {
+    // in 1.3+ we can fix mistakes with the ready state
+	if (this.length == 0) {
+        if (!$.isReady && this.selector) {
+            var s = this.selector, c = this.context;
+            $(function() {
+                $(s,c).corner(o);
+            });
+        }
+        return this;
+	}
+
+    o = (o||"").toLowerCase();
+    var keep = /keep/.test(o);                       // keep borders?
+    var cc = ((o.match(/cc:(#[0-9a-f]+)/)||[])[1]);  // corner color
+    var sc = ((o.match(/sc:(#[0-9a-f]+)/)||[])[1]);  // strip color
+    var width = parseInt((o.match(/(\d+)px/)||[])[1]) || 10; // corner width
+    var re = /round|bevel|notch|bite|cool|sharp|slide|jut|curl|tear|fray|wicked|sculpt|long|dog3|dog2|dog/;
+    var fx = ((o.match(re)||['round'])[0]);
+    var edges = { T:0, B:1 };
+    var opts = {
+        TL:  /top|tl/.test(o),       TR:  /top|tr/.test(o),
+        BL:  /bottom|bl/.test(o),    BR:  /bottom|br/.test(o)
+    };
+    if ( !opts.TL && !opts.TR && !opts.BL && !opts.BR )
+        opts = { TL:1, TR:1, BL:1, BR:1 };
+    var strip = document.createElement('div');
+    strip.style.overflow = 'hidden';
+    strip.style.height = '1px';
+    strip.style.backgroundColor = sc || 'transparent';
+    strip.style.borderStyle = 'solid';
+    return this.each(function(index){
+        var pad = {
+            T: parseInt($.css(this,'paddingTop'))||0,     R: parseInt($.css(this,'paddingRight'))||0,
+            B: parseInt($.css(this,'paddingBottom'))||0,  L: parseInt($.css(this,'paddingLeft'))||0
+        };
+
+        if (typeof this.style.zoom != undefined) this.style.zoom = 1; // force 'hasLayout' in IE
+        if (!keep) this.style.border = 'none';
+        strip.style.borderColor = cc || gpc(this.parentNode);
+        var cssHeight = $.curCSS(this, 'height');
+
+        for (var j in edges) {
+            var bot = edges[j];
+            // only add stips if needed
+            if ((bot && (opts.BL || opts.BR)) || (!bot && (opts.TL || opts.TR))) {
+                strip.style.borderStyle = 'none '+(opts[j+'R']?'solid':'none')+' none '+(opts[j+'L']?'solid':'none');
+                var d = document.createElement('div');
+                $(d).addClass('jquery-corner');
+                var ds = d.style;
+
+                bot ? this.appendChild(d) : this.insertBefore(d, this.firstChild);
+
+                if (bot && cssHeight != 'auto') {
+                    if ($.css(this,'position') == 'static')
+                        this.style.position = 'relative';
+                    ds.position = 'absolute';
+                    ds.bottom = ds.left = ds.padding = ds.margin = '0';
+                    if (expr)
+                        ds.setExpression('width', 'this.parentNode.offsetWidth');
+                    else
+                        ds.width = '100%';
+                }
+                else if (!bot && $.browser.msie) {
+                    if ($.css(this,'position') == 'static')
+                        this.style.position = 'relative';
+                    ds.position = 'absolute';
+                    ds.top = ds.left = ds.right = ds.padding = ds.margin = '0';
+                    
+                    // fix ie6 problem when blocked element has a border width
+                    if (expr) {
+                        var bw = sz(this,'borderLeftWidth') + sz(this,'borderRightWidth');
+                        ds.setExpression('width', 'this.parentNode.offsetWidth - '+bw+'+ "px"');
+                    }
+                    else
+                        ds.width = '100%';
+                }
+                else {
+                    ds.margin = !bot ? '-'+pad.T+'px -'+pad.R+'px '+(pad.T-width)+'px -'+pad.L+'px' : 
+                                        (pad.B-width)+'px -'+pad.R+'px -'+pad.B+'px -'+pad.L+'px';                
+                }
+
+                for (var i=0; i < width; i++) {
+                    var w = Math.max(0,getWidth(fx,i, width));
+                    var e = strip.cloneNode(false);
+                    e.style.borderWidth = '0 '+(opts[j+'R']?w:0)+'px 0 '+(opts[j+'L']?w:0)+'px';
+                    bot ? d.appendChild(e) : d.insertBefore(e, d.firstChild);
+                }
+            }
+        }
+    });
+};
+
+$.fn.uncorner = function() { 
+	$('div.jquery-corner', this).remove();
+	return this;
+};
+    
+})(jQuery);
Index: tags/2.8.2/wb/templates/wb_theme/jquery/jquery-fixedheader.js
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/jquery/jquery-fixedheader.js	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/jquery/jquery-fixedheader.js	(revision 1481)
@@ -0,0 +1,141 @@
+/**
+ * Stupid Fixed Header 1.0.1 - jQuery plugins to create a fixed headers
+ * 
+ * Require: jQuery 1.2.6
+ * Author: Jacky See
+ * Blog: http://jacky.seezone.net
+ * email:  jackysee at gmail dot com
+ * Dual licensed under the MIT and GPL licenses:
+ *   http://www.opensource.org/licenses/mit-license.php
+ *   http://www.gnu.org/licenses/gpl.html
+*/
+
+(function($){
+	
+	/* created fixed headers , require jquery dimenions plugins*/
+	$.fn.fixedHeader = function(o){
+		var s = {adjustWidth: $.fixedHeader.calcWidth};
+		if(o) $.extend(s,o);
+		
+		return this.each(function(){
+			var table = $(this); //table
+			var tId = this.id;
+			
+			var scrollBarWidth = $.fixedHeader.getScrollBarWidth();
+			var IE6 = $.browser.msie && $.browser.version == '6.0';
+			
+			//wrap a body container
+			var bodyContainer = table.wrap('<div></div>').parent()
+				.attr('id', tId + "_body_container")
+				.css({
+					width: s.width,
+					height: s.height,
+					overflow: 'auto'
+				});
+			
+			//Wrap with an overall container
+			var tableContainer = bodyContainer.wrap('<div></div>').parent()
+				.attr('id', tId + '_table_container')
+				.css('position','relative');
+
+			//clone the header
+			var headerContainer = $(document.createElement('div'))
+				.attr('id', tId + '_header_container')
+				.css({
+					width:  bodyContainer.innerWidth() - scrollBarWidth,
+					height: table.find('thead').outerHeight(), 
+					overflow: 'hidden',
+					top: 0, left:0
+				})
+				.prependTo(tableContainer);
+			
+			var headerTable = table.clone(true)
+				.find('tbody').remove().end()
+				.attr('id',tId + "_header")
+				.addClass(s.tableClass || table[0].className)
+				.css({
+					//width: $.browser.msie? table.outerWidth():table.width(), 
+					'table-layout':'fixed',
+					position:'absolute',
+					top:0, left:0
+				})
+				.append(table.find('thead').clone(true))
+				.appendTo(headerContainer);
+			
+			//sync header width
+			var headThs = headerTable.find('th');
+			table.find('th').each(function(i){
+				headThs.eq(i).css('width', s.adjustWidth(this));
+			})
+			
+			//sync scroll
+			var selects = IE6? table.find("select"): null;
+			bodyContainer.scroll(function(){
+				if(IE6 && selects.size()>0){
+					selects.each(function(i){
+						this.style.visibility =
+							($(this).offset().top - bodyContainer.offset().top) <= table.find("thead").outerHeight() + 10
+							? 'hidden':'visible';
+					});
+				}
+				headerTable.css({
+					left: '-' + $(this).scrollLeft() + 'px'
+				});
+			})
+			
+			//Move it down
+			headerContainer.css({
+				'position': 'absolute',
+				'top': 0
+			});
+		});
+	}
+	
+	$.fixedHeader = {
+		calcWidth: function(th){
+			var w = $(th).width();
+			var paddingLeft = $.fixedHeader.getComputedStyleInPx(th,'paddingLeft');
+			var paddingRight = $.fixedHeader.getComputedStyleInPx(th,'paddingRight');
+			var borderWidth = $.fixedHeader.getComputedStyleInPx(th,'borderRightWidth');			
+			if($.browser.msie) w = w+borderWidth;
+			if($.browser.opera) w = w+borderWidth;
+			if($.browser.safari) w = w+paddingLeft+paddingRight+borderWidth*2;
+			if($.browser.mozilla && parseFloat($.browser.version) <= 1.8) w=w+borderWidth; //FF2 still got a border-left missing problem, this is the best I can do.
+			return w;
+		},
+		getComputedStyleInPx: function(elem,style){
+			var computedStyle = (typeof elem.currentStyle != 'undefined')
+				?elem.currentStyle
+				:document.defaultView.getComputedStyle(elem, null);
+			var val = computedStyle[style];
+			val = val? parseInt(val.replace("px","")):0;
+			return (!val || val == 'NaN')?0:val;
+		},
+		getScrollBarWidth: function() { //calculate or get from global the scroll bar width
+			if(!$.fixedHeader.scrollBarWidth){ 
+				var inner = $(document.createElement('p')).css({width:'100%',height:'100%'});
+				var outer = $(document.createElement('div'))
+					.css({
+						position:'absolute',
+						top: '0px',
+						left: '0px',
+						visibility: 'hidden',
+						width: '200px',
+						height: '150px',
+						overflow: 'hidden'
+					})
+					.append(inner)
+					.appendTo(document.body);
+				
+				var w1 = inner[0].offsetWidth;
+				outer[0].style.overflow = 'scroll';
+				var w2 = inner[0].offsetWidth;
+				if (w1 == w2) w2 = outer[0].clientWidth;
+				document.body.removeChild (outer[0]);
+				$.fixedHeader.scrollBarWidth = (w1 - w2);
+			}
+			return $.fixedHeader.scrollBarWidth;
+		}
+	}
+	
+})(jQuery);
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/jquery-fixedheader.js
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/jquery/plugins/jquery-fixedheader.js	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/jquery/plugins/jquery-fixedheader.js	(revision 1481)
@@ -0,0 +1,141 @@
+/**
+ * Stupid Fixed Header 1.0.1 - jQuery plugins to create a fixed headers
+ * 
+ * Require: jQuery 1.2.6
+ * Author: Jacky See
+ * Blog: http://jacky.seezone.net
+ * email:  jackysee at gmail dot com
+ * Dual licensed under the MIT and GPL licenses:
+ *   http://www.opensource.org/licenses/mit-license.php
+ *   http://www.gnu.org/licenses/gpl.html
+*/
+
+(function($){
+	
+	/* created fixed headers , require jquery dimenions plugins*/
+	$.fn.fixedHeader = function(o){
+		var s = {adjustWidth: $.fixedHeader.calcWidth};
+		if(o) $.extend(s,o);
+		
+		return this.each(function(){
+			var table = $(this); //table
+			var tId = this.id;
+			
+			var scrollBarWidth = $.fixedHeader.getScrollBarWidth();
+			var IE6 = $.browser.msie && $.browser.version == '6.0';
+			
+			//wrap a body container
+			var bodyContainer = table.wrap('<div></div>').parent()
+				.attr('id', tId + "_body_container")
+				.css({
+					width: s.width,
+					height: s.height,
+					overflow: 'auto'
+				});
+			
+			//Wrap with an overall container
+			var tableContainer = bodyContainer.wrap('<div></div>').parent()
+				.attr('id', tId + '_table_container')
+				.css('position','relative');
+
+			//clone the header
+			var headerContainer = $(document.createElement('div'))
+				.attr('id', tId + '_header_container')
+				.css({
+					width:  bodyContainer.innerWidth() - scrollBarWidth,
+					height: table.find('thead').outerHeight(), 
+					overflow: 'hidden',
+					top: 0, left:0
+				})
+				.prependTo(tableContainer);
+			
+			var headerTable = table.clone(true)
+				.find('tbody').remove().end()
+				.attr('id',tId + "_header")
+				.addClass(s.tableClass || table[0].className)
+				.css({
+					//width: $.browser.msie? table.outerWidth():table.width(), 
+					'table-layout':'fixed',
+					position:'absolute',
+					top:0, left:0
+				})
+				.append(table.find('thead').clone(true))
+				.appendTo(headerContainer);
+			
+			//sync header width
+			var headThs = headerTable.find('th');
+			table.find('th').each(function(i){
+				headThs.eq(i).css('width', s.adjustWidth(this));
+			})
+			
+			//sync scroll
+			var selects = IE6? table.find("select"): null;
+			bodyContainer.scroll(function(){
+				if(IE6 && selects.size()>0){
+					selects.each(function(i){
+						this.style.visibility =
+							($(this).offset().top - bodyContainer.offset().top) <= table.find("thead").outerHeight() + 10
+							? 'hidden':'visible';
+					});
+				}
+				headerTable.css({
+					left: '-' + $(this).scrollLeft() + 'px'
+				});
+			})
+			
+			//Move it down
+			headerContainer.css({
+				'position': 'absolute',
+				'top': 0
+			});
+		});
+	}
+	
+	$.fixedHeader = {
+		calcWidth: function(th){
+			var w = $(th).width();
+			var paddingLeft = $.fixedHeader.getComputedStyleInPx(th,'paddingLeft');
+			var paddingRight = $.fixedHeader.getComputedStyleInPx(th,'paddingRight');
+			var borderWidth = $.fixedHeader.getComputedStyleInPx(th,'borderRightWidth');			
+			if($.browser.msie) w = w+borderWidth;
+			if($.browser.opera) w = w+borderWidth;
+			if($.browser.safari) w = w+paddingLeft+paddingRight+borderWidth*2;
+			if($.browser.mozilla && parseFloat($.browser.version) <= 1.8) w=w+borderWidth; //FF2 still got a border-left missing problem, this is the best I can do.
+			return w;
+		},
+		getComputedStyleInPx: function(elem,style){
+			var computedStyle = (typeof elem.currentStyle != 'undefined')
+				?elem.currentStyle
+				:document.defaultView.getComputedStyle(elem, null);
+			var val = computedStyle[style];
+			val = val? parseInt(val.replace("px","")):0;
+			return (!val || val == 'NaN')?0:val;
+		},
+		getScrollBarWidth: function() { //calculate or get from global the scroll bar width
+			if(!$.fixedHeader.scrollBarWidth){ 
+				var inner = $(document.createElement('p')).css({width:'100%',height:'100%'});
+				var outer = $(document.createElement('div'))
+					.css({
+						position:'absolute',
+						top: '0px',
+						left: '0px',
+						visibility: 'hidden',
+						width: '200px',
+						height: '150px',
+						overflow: 'hidden'
+					})
+					.append(inner)
+					.appendTo(document.body);
+				
+				var w1 = inner[0].offsetWidth;
+				outer[0].style.overflow = 'scroll';
+				var w2 = inner[0].offsetWidth;
+				if (w1 == w2) w2 = outer[0].clientWidth;
+				document.body.removeChild (outer[0]);
+				$.fixedHeader.scrollBarWidth = (w1 - w2);
+			}
+			return $.fixedHeader.scrollBarWidth;
+		}
+	}
+	
+})(jQuery);
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/jquery-slimbox2.css
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/jquery/plugins/jquery-slimbox2.css	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/jquery/plugins/jquery-slimbox2.css	(revision 1481)
@@ -0,0 +1,83 @@
+/* SLIMBOX */
+
+#lbOverlay {
+	position: fixed;
+	z-index: 9999;
+	left: 0;
+	top: 0;
+	width: 100%;
+	height: 100%;
+	background-color: #000;
+	cursor: pointer;
+}
+
+#lbCenter, #lbBottomContainer {
+	position: absolute;
+	z-index: 9999;
+	overflow: hidden;
+	background-color: #fff;
+}
+
+.lbLoading {
+	background: #fff url(images/loading.gif) no-repeat center;
+}
+
+#lbImage {
+	position: absolute;
+	left: 0;
+	top: 0;
+	border: 10px solid #fff;
+	background-repeat: no-repeat;
+}
+
+#lbPrevLink, #lbNextLink {
+	display: block;
+	position: absolute;
+	top: 0;
+	width: 50%;
+	outline: none;
+}
+
+#lbPrevLink {
+	left: 0;
+}
+
+#lbPrevLink:hover {
+	background: transparent url(images/prevlabel.gif) no-repeat 0 15%;
+}
+
+#lbNextLink {
+	right: 0;
+}
+
+#lbNextLink:hover {
+	background: transparent url(images/nextlabel.gif) no-repeat 100% 15%;
+}
+
+#lbBottom {
+	font-family: Verdana, Arial, Geneva, Helvetica, sans-serif;
+	font-size: 10px;
+	color: #666;
+	line-height: 1.4em;
+	text-align: left;
+	border: 10px solid #fff;
+	border-top-style: none;
+}
+
+#lbCloseLink {
+	display: block;
+	float: right;
+	width: 66px;
+	height: 22px;
+	background: transparent url(images/closelabel.gif) no-repeat center;
+	margin: 5px 0;
+	outline: none;
+}
+
+#lbCaption, #lbNumber {
+	margin-right: 71px;
+}
+
+#lbCaption {
+	font-weight: bold;
+}
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/jquery.dropshadow.js
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/jquery/plugins/jquery.dropshadow.js	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/jquery/plugins/jquery.dropshadow.js	(revision 1481)
@@ -0,0 +1,304 @@
+/*
+	VERSION: Drop Shadow jQuery Plugin 1.6  12-13-2007
+
+	REQUIRES: jquery.js (1.2.6 or later)
+
+	SYNTAX: $(selector).dropShadow(options);  // Creates new drop shadows
+					$(selector).redrawShadow();       // Redraws shadows on elements
+					$(selector).removeShadow();       // Removes shadows from elements
+					$(selector).shadowId();           // Returns an existing shadow's ID
+
+	OPTIONS:
+
+		left    : integer (default = 4)
+		top     : integer (default = 4)
+		blur    : integer (default = 2)
+		opacity : decimal (default = 0.5)
+		color   : string (default = "black")
+		swap    : boolean (default = false)
+
+	The left and top parameters specify the distance and direction, in	pixels, to
+	offset the shadow. Zero values position the shadow directly behind the element.
+	Positive values shift the shadow to the right and down, while negative values 
+	shift the shadow to the left and up.
+	
+	The blur parameter specifies the spread, or dispersion, of the shadow. Zero 
+	produces a sharp shadow, one or two produces a normal shadow, and	three or four
+	produces a softer shadow. Higher values increase the processing load.
+	
+	The opacity parameter	should be a decimal value, usually less than one. You can
+	use a value	higher than one in special situations, e.g. with extreme blurring. 
+	
+	Color is specified in the usual manner, with a color name or hex value. The
+	color parameter	does not apply with transparent images.
+	
+	The swap parameter reverses the stacking order of the original and the shadow.
+	This can be used for special effects, like an embossed or engraved look.
+
+	EXPLANATION:
+	
+	This jQuery plug-in adds soft drop shadows behind page elements. It is only
+	intended for adding a few drop shadows to mostly stationary objects, like a
+	page heading, a photo, or content containers.
+
+	The shadows it creates are not bound to the original elements, so they won't
+	move or change size automatically if the original elements change. A window
+	resize event listener is assigned, which should re-align the shadows in many
+	cases, but if the elements otherwise move or resize you will have to handle
+	those events manually. Shadows can be redrawn with the redrawShadow() method
+	or removed with the removeShadow() method. The redrawShadow() method uses the
+	same options used to create the original shadow. If you want to change the
+	options, you should remove the shadow first and then create a new shadow.
+	
+	The dropShadow method returns a jQuery collection of the new shadow(s). If
+	further manipulation is required, you can store it in a variable like this:
+
+		var myShadow = $("#myElement").dropShadow();
+
+	You can also read the ID of the shadow from the original element at a later
+	time. To get a shadow's ID, either read the shadowId attribute of the
+	original element or call the shadowId() method. For example:
+
+		var myShadowId = $("#myElement").attr("shadowId");  or
+		var myShadowId = $("#myElement").shadowId();
+
+	If the original element does not already have an ID assigned, a random ID will
+	be generated for the shadow. However, if the original does have an ID, the 
+	shadow's ID will be the original ID and "_dropShadow". For example, if the
+	element's ID is "myElement", the shadow's ID would be "myElement_dropShadow".
+
+	If you have a long piece of text and the user resizes the	window so that the
+	text wraps or unwraps, the shape of the text changes and the words are no
+	longer in the same positions. In that case, you can either preset the height
+	and width, so that it becomes a fixed box, or you can shadow each word
+	separately, like this:
+
+		<h1><span>Your</span> <span>Page</span> <span>Title</span></h1>
+
+		$("h1 span").dropShadow();
+
+	The dropShadow method attempts to determine whether the selected elements have
+	transparent backgrounds. If you want to shadow the content inside an element,
+	like text or a transparent image, it must not have a background-color or
+	background-image style. If the element has a solid background it will create a
+	rectangular	shadow around the outside box.
+
+	The shadow elements are positioned absolutely one layer below the original 
+	element, which is positioned relatively (unless it's already absolute).
+
+	*** All shadows have the "dropShadow" class, for selecting with CSS or jQuery.
+
+	ISSUES:
+	
+		1)	Limited styling of shadowed elements by ID. Because IDs must be unique,
+				and the shadows have their own ID, styles applied by ID won't transfer
+				to the shadows. Instead, style elements by class or use inline styles.
+		2)	Sometimes shadows don't align properly. Elements may need to be wrapped
+				in container elements, margins or floats changed, etc. or you may just 
+				have to tweak the left and top offsets to get them to align. For example,
+				with draggable objects, you have to wrap them inside two divs. Make the 
+				outer div draggable and set the inner div's position to relative. Then 
+				you can create a shadow on the element inside the inner div.
+		3)	If the user changes font sizes it will throw the shadows off. Browsers 
+				do not expose an event for font size changes. The only known way to 
+				detect a user font size change is to embed an invisible text element and
+				then continuously poll for changes in size.
+		4)	Safari support is shaky, and may require even more tweaks/wrappers, etc.
+		
+		The bottom line is that this is a gimick effect, not PFM, and if you push it
+		too hard or expect it to work in every possible situation on every browser,
+		you will be disappointed. Use it sparingly, and don't use it for anything 
+		critical. Otherwise, have fun with it!
+				
+	AUTHOR: Larry Stevens (McLars@eyebulb.com) This work is in the public domain,
+					and it is not supported in any way. Use it at your own risk.
+*/
+
+
+(function($){
+
+	var dropShadowZindex = 1;  //z-index counter
+
+	$.fn.dropShadow = function(options)
+	{
+		// Default options
+		var opt = $.extend({
+			left: 4,
+			top: 4,
+			blur: 2,
+			opacity: .5,
+			color: "black",
+			swap: false
+			}, options);
+		var jShadows = $([]);  //empty jQuery collection
+		
+		// Loop through original elements
+		this.not(".dropShadow").each(function()
+		{
+			var jthis = $(this);
+			var shadows = [];
+			var blur = (opt.blur <= 0) ? 0 : opt.blur;
+			var opacity = (blur == 0) ? opt.opacity : opt.opacity / (blur * 8);
+			var zOriginal = (opt.swap) ? dropShadowZindex : dropShadowZindex + 1;
+			var zShadow = (opt.swap) ? dropShadowZindex + 1 : dropShadowZindex;
+			
+			// Create ID for shadow
+			var shadowId;
+			if (this.id) {
+				shadowId = this.id + "_dropShadow";
+			}
+			else {
+				shadowId = "ds" + (1 + Math.floor(9999 * Math.random()));
+			}
+
+			// Modify original element
+			$.data(this, "shadowId", shadowId); //store id in expando
+			$.data(this, "shadowOptions", options); //store options in expando
+			jthis
+				.attr("shadowId", shadowId)
+				.css("zIndex", zOriginal);
+			if (jthis.css("position") != "absolute") {
+				jthis.css({
+					position: "relative",
+					zoom: 1 //for IE layout
+				});
+			}
+
+			// Create first shadow layer
+			bgColor = jthis.css("backgroundColor");
+			if (bgColor == "rgba(0, 0, 0, 0)") bgColor = "transparent";  //Safari
+			if (bgColor != "transparent" || jthis.css("backgroundImage") != "none" 
+					|| this.nodeName == "SELECT" 
+					|| this.nodeName == "INPUT"
+					|| this.nodeName == "TEXTAREA") {		
+				shadows[0] = $("<div></div>")
+					.css("background", opt.color);								
+			}
+			else {
+				shadows[0] = jthis
+					.clone()
+					.removeAttr("id")
+					.removeAttr("name")
+					.removeAttr("shadowId")
+					.css("color", opt.color);
+			}
+			shadows[0]
+				.addClass("dropShadow")
+				.css({
+					height: jthis.outerHeight(),
+					left: blur,
+					opacity: opacity,
+					position: "absolute",
+					top: blur,
+					width: jthis.outerWidth(),
+					zIndex: zShadow
+				});
+				
+			// Create other shadow layers
+			var layers = (8 * blur) + 1;
+			for (i = 1; i < layers; i++) {
+				shadows[i] = shadows[0].clone();
+			}
+
+			// Position layers
+			var i = 1;			
+			var j = blur;
+			while (j > 0) {
+				shadows[i].css({left: j * 2, top: 0});           //top
+				shadows[i + 1].css({left: j * 4, top: j * 2});   //right
+				shadows[i + 2].css({left: j * 2, top: j * 4});   //bottom
+				shadows[i + 3].css({left: 0, top: j * 2});       //left
+				shadows[i + 4].css({left: j * 3, top: j});       //top-right
+				shadows[i + 5].css({left: j * 3, top: j * 3});   //bottom-right
+				shadows[i + 6].css({left: j, top: j * 3});       //bottom-left
+				shadows[i + 7].css({left: j, top: j});           //top-left
+				i += 8;
+				j--;
+			}
+
+			// Create container
+			var divShadow = $("<div></div>")
+				.attr("id", shadowId) 
+				.addClass("dropShadow")
+				.css({
+					left: jthis.position().left + opt.left - blur,
+					marginTop: jthis.css("marginTop"),
+					marginRight: jthis.css("marginRight"),
+					marginBottom: jthis.css("marginBottom"),
+					marginLeft: jthis.css("marginLeft"),
+					position: "absolute",
+					top: jthis.position().top + opt.top - blur,
+					zIndex: zShadow
+				});
+
+			// Add layers to container	
+			for (i = 0; i < layers; i++) {
+				divShadow.append(shadows[i]);
+			}
+			
+			// Add container to DOM
+			jthis.after(divShadow);
+
+			// Add shadow to return set
+			jShadows = jShadows.add(divShadow);
+
+			// Re-align shadow on window resize
+			$(window).resize(function()
+			{
+				try {
+					divShadow.css({
+						left: jthis.position().left + opt.left - blur,
+						top: jthis.position().top + opt.top - blur
+					});
+				}
+				catch(e){}
+			});
+			
+			// Increment z-index counter
+			dropShadowZindex += 2;
+
+		});  //end each
+		
+		return this.pushStack(jShadows);
+	};
+
+
+	$.fn.redrawShadow = function()
+	{
+		// Remove existing shadows
+		this.removeShadow();
+		
+		// Draw new shadows
+		return this.each(function()
+		{
+			var shadowOptions = $.data(this, "shadowOptions");
+			$(this).dropShadow(shadowOptions);
+		});
+	};
+
+
+	$.fn.removeShadow = function()
+	{
+		return this.each(function()
+		{
+			var shadowId = $(this).shadowId();
+			$("div#" + shadowId).remove();
+		});
+	};
+
+
+	$.fn.shadowId = function()
+	{
+		return $.data(this[0], "shadowId");
+	};
+
+
+	$(function()  
+	{
+		// Suppress printing of shadows
+		var noPrint = "<style type='text/css' media='print'>";
+		noPrint += ".dropShadow{visibility:hidden;}</style>";
+		$("head").append(noPrint);
+	});
+
+})(jQuery);
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/images/ui-icons_2e83ff_256x240.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/images/ui-icons_2e83ff_256x240.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/images/ui-bg_glass_95_fef1ec_1x400.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/images/ui-bg_glass_95_fef1ec_1x400.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/images/ui-icons_888888_256x240.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/images/ui-icons_888888_256x240.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/images/ui-bg_glass_55_fbf9ee_1x400.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/images/ui-bg_glass_55_fbf9ee_1x400.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/images/ui-bg_glass_75_dadada_1x400.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/images/ui-bg_glass_75_dadada_1x400.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/images/ui-bg_flat_75_ffffff_40x100.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/images/ui-bg_flat_75_ffffff_40x100.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/images/ui-bg_glass_75_e6e6e6_1x400.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/images/ui-bg_glass_75_e6e6e6_1x400.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/images/ui-bg_glass_65_ffffff_1x400.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/images/ui-bg_glass_65_ffffff_1x400.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/images/x-click-but04.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/images/x-click-but04.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/images/ui-bg_highlight-soft_75_cccccc_1x100.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/images/ui-bg_highlight-soft_75_cccccc_1x100.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/images/ui-icons_cd0a0a_256x240.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/images/ui-icons_cd0a0a_256x240.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/images/ui-bg_flat_0_aaaaaa_40x100.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/images/ui-bg_flat_0_aaaaaa_40x100.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/images/ui-icons_454545_256x240.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/images/ui-icons_454545_256x240.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/images/ui-icons_222222_256x240.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/images/ui-icons_222222_256x240.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/jquery-metadata.js
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/jquery/plugins/jquery-metadata.js	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/jquery/plugins/jquery-metadata.js	(revision 1481)
@@ -0,0 +1,13 @@
+/*
+ * Metadata - jQuery plugin for parsing metadata from elements
+ *
+ * Copyright (c) 2006 John Resig, Yehuda Katz, Jï¿½Ã¶rn Zaefferer, Paul McLanahan
+ *
+ * Dual licensed under the MIT and GPL licenses:
+ *   http://www.opensource.org/licenses/mit-license.php
+ *   http://www.gnu.org/licenses/gpl.html
+ *
+ * Revision: $Id: jquery.metadata.js 3620 2007-10-10 20:55:38Z pmclanahan $
+ *
+ */
+(function($){$.extend({metadata:{defaults:{type:'class',name:'metadata',cre:/({.*})/,single:'metadata'},setType:function(type,name){this.defaults.type=type;this.defaults.name=name;},get:function(elem,opts){var settings=$.extend({},this.defaults,opts);if(!settings.single.length)settings.single='metadata';var data=$.data(elem,settings.single);if(data)return data;data="{}";if(settings.type=="class"){var m=settings.cre.exec(elem.className);if(m)data=m[1];}else if(settings.type=="elem"){if(!elem.getElementsByTagName)return;var e=elem.getElementsByTagName(settings.name);if(e.length)data=$.trim(e[0].innerHTML);}else if(elem.getAttribute!=undefined){var attr=elem.getAttribute(settings.name);if(attr)data=attr;}if(data.indexOf('{')<0)data="{"+data+"}";data=eval("("+data+")");$.data(elem,settings.single,data);return data;}}});$.fn.metadata=function(opts){return $.metadata.get(this[0],opts);};})(jQuery);
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/jquery-slimbox2-min.js
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/jquery/plugins/jquery-slimbox2-min.js	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/jquery/plugins/jquery-slimbox2-min.js	(revision 1481)
@@ -0,0 +1,15 @@
+/*
+	Slimbox v2.02 - The ultimate lightweight Lightbox clone for jQuery
+	(c) 2007-2009 Christophe Beyls <http://www.digitalia.be>
+	MIT-style license.
+*/
+(function(w){var E=w(window),u,g,F=-1,o,x,D,v,y,L,s,n=!window.XMLHttpRequest,e=window.opera&&(document.compatMode=="CSS1Compat")&&(w.browser.version>=9.3),m=document.documentElement,l={},t=new Image(),J=new Image(),H,a,h,q,I,d,G,c,A,K;w(function(){w("body").append(w([H=w('<div id="lbOverlay" />')[0],a=w('<div id="lbCenter" />')[0],G=w('<div id="lbBottomContainer" />')[0]]).css("display","none"));h=w('<div id="lbImage" />').appendTo(a).append(q=w('<div style="position: relative;" />').append([I=w('<a id="lbPrevLink" href="#" />').click(B)[0],d=w('<a id="lbNextLink" href="#" />').click(f)[0]])[0])[0];c=w('<div id="lbBottom" />').appendTo(G).append([w('<a id="lbCloseLink" href="#" />').add(H).click(C)[0],A=w('<div id="lbCaption" />')[0],K=w('<div id="lbNumber" />')[0],w('<div style="clear: both;" />')[0]])[0]});w.slimbox=function(O,N,M){u=w.extend({loop:false,overlayOpacity:0.8,overlayFadeDuration:400,resizeDuration:400,resizeEasing:"swing",initialWidth:250,initialHeight:250,imageFadeDuration:400,captionAnimationDuration:400,counterText:"Image {x} of {y}",closeKeys:[27,88,67],previousKeys:[37,80],nextKeys:[39,78]},M);if(typeof O=="string"){O=[[O,N]];N=0}y=E.scrollTop()+((e?m.clientHeight:E.height())/2);L=u.initialWidth;s=u.initialHeight;w(a).css({top:Math.max(0,y-(s/2)),width:L,height:s,marginLeft:-L/2}).show();v=n||(H.currentStyle&&(H.currentStyle.position!="fixed"));if(v){H.style.position="absolute"}w(H).css("opacity",u.overlayOpacity).fadeIn(u.overlayFadeDuration);z();k(1);g=O;u.loop=u.loop&&(g.length>1);return b(N)};w.fn.slimbox=function(M,P,O){P=P||function(Q){return[Q.href,Q.title]};O=O||function(){return true};var N=this;return N.unbind("click").click(function(){var S=this,U=0,T,Q=0,R;T=w.grep(N,function(W,V){return O.call(S,W,V)});for(R=T.length;Q<R;++Q){if(T[Q]==S){U=Q}T[Q]=P(T[Q],Q)}return w.slimbox(T,U,M)})};function z(){var N=E.scrollLeft(),M=e?m.clientWidth:E.width();w([a,G]).css("left",N+(M/2));if(v){w(H).css({left:N,top:E.scrollTop(),width:M,height:E.height()})}}function k(M){w("object").add(n?"select":"embed").each(function(O,P){if(M){w.data(P,"slimbox",P.style.visibility)}P.style.visibility=M?"hidden":w.data(P,"slimbox")});var N=M?"bind":"unbind";E[N]("scroll resize",z);w(document)[N]("keydown",p)}function p(O){var N=O.keyCode,M=w.inArray;return(M(N,u.closeKeys)>=0)?C():(M(N,u.nextKeys)>=0)?f():(M(N,u.previousKeys)>=0)?B():false}function B(){return b(x)}function f(){return b(D)}function b(M){if(M>=0){F=M;o=g[F][0];x=(F||(u.loop?g.length:0))-1;D=((F+1)%g.length)||(u.loop?0:-1);r();a.className="lbLoading";l=new Image();l.onload=j;l.src=o}return false}function j(){a.className="";w(h).css({backgroundImage:"url("+o+")",visibility:"hidden",display:""});w(q).width(l.width);w([q,I,d]).height(l.height);w(A).html(g[F][1]||"");w(K).html((((g.length>1)&&u.counterText)||"").replace(/{x}/,F+1).replace(/{y}/,g.length));if(x>=0){t.src=g[x][0]}if(D>=0){J.src=g[D][0]}L=h.offsetWidth;s=h.offsetHeight;var M=Math.max(0,y-(s/2));if(a.offsetHeight!=s){w(a).animate({height:s,top:M},u.resizeDuration,u.resizeEasing)}if(a.offsetWidth!=L){w(a).animate({width:L,marginLeft:-L/2},u.resizeDuration,u.resizeEasing)}w(a).queue(function(){w(G).css({width:L,top:M+s,marginLeft:-L/2,visibility:"hidden",display:""});w(h).css({display:"none",visibility:"",opacity:""}).fadeIn(u.imageFadeDuration,i)})}function i(){if(x>=0){w(I).show()}if(D>=0){w(d).show()}w(c).css("marginTop",-c.offsetHeight).animate({marginTop:0},u.captionAnimationDuration);G.style.visibility=""}function r(){l.onload=null;l.src=t.src=J.src=o;w([a,h,c]).stop(true);w([I,d,h,G]).hide()}function C(){if(F>=0){r();F=x=D=-1;w(a).hide();w(H).stop().fadeOut(u.overlayFadeDuration,k)}return false}})(jQuery);
+
+// AUTOLOAD CODE BLOCK (MAY BE CHANGED OR REMOVED)
+$(function($) {
+        $("a[rel^='lightbox']").slimbox({/* Put custom options here */}, function(el) {
+                return [el.href, el.title + '<br /><a href="' + el.href + '">Download this image</a>'];
+        }, function(el) {
+                return (this == el) || ((this.rel.length > 8) && (this.rel == el.rel));
+        });
+});
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancy_shadow_se.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancy_shadow_se.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/prevlabel.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/prevlabel.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancy_right.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancy_right.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/loading.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/loading.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancy_title_right.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancy_title_right.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancy_closebox.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancy_closebox.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/nextlabel.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/nextlabel.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancy_title_main.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancy_title_main.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/clear.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/clear.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancy_shadow_nw.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancy_shadow_nw.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancy_shadow_e.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancy_shadow_e.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/index.php
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/index.php	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id: index.php 985 2009-05-27 04:46:39Z Ruebenwurzel $
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../../../index.php");
+
+?>
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancy_left.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancy_left.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancy_title_left.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancy_title_left.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancybox.css
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancybox.css	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancybox.css	(revision 1481)
@@ -0,0 +1,92 @@
+div#fancy_overlay {
+	position:absolute;
+	top: 0;
+	left: 0;
+	z-index: 90;
+	width: 100%;
+	background-color: #333;
+}
+
+div#fancy_loading {
+	position: absolute;
+	height: 40px;
+	width: 40px;
+	cursor: pointer;
+	display: none;
+	overflow: hidden;
+	background: transparent;
+	z-index: 100;
+}
+
+div#fancy_loading div {
+	position: absolute;
+	top: 0;
+	left: 0;
+	width: 40px;
+	height: 480px;
+	background: transparent url(fancy_progress.png) no-repeat;
+}
+
+div#fancy_close {
+/*
+	position: absolute;
+	top: -12px;
+	right: -12px;
+	height: 30px;
+	width: 30px;
+	background: transparent url(fancy_closebox.png) ;
+	cursor: pointer;
+	z-index: 100;
+	display: none;
+*/
+}
+
+div#fancy_content {
+	position: absolute;
+	top: 0;
+	left: 0;
+	width: 100%;
+	height: 100%;
+	padding: 0; 
+	margin: 0;
+	z-index: 96;
+}
+
+#fancy_frame {
+	position: relative;
+	width: 100%;
+	height: 100%;
+	display: none;
+}
+
+img#fancy_img {
+	position: absolute;
+	top: 0;
+	left: 0;
+	width: 100%;
+	height: 100%;
+	border:0; 
+	padding: 0; 
+	margin: 0;
+	z-index: 92;
+}
+
+div#fancy_outer {
+	position: absolute;
+    top: 0;
+    left: 0;
+    z-index: 90;
+    padding: 18px 18px 58px 18px;
+    margin: 0;
+    overflow: hidden;
+    background: transparent;
+    display: none;
+}
+
+div#fancy_inner {
+	position: relative;
+	width:100%;
+	height:100%;
+	border: 1px solid #444;
+	background: #FFF;
+}
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancy_shadow_sw.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancy_shadow_sw.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancybox-121.css
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancybox-121.css	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancybox-121.css	(revision 1481)
@@ -0,0 +1,315 @@
+html, body {
+	height: 100%;
+}
+
+div#fancy_overlay {
+	position: fixed;
+	top: 0;
+	left: 0;
+	width: 100%;
+	height: 100%;
+	background-color: #666;
+	display: none;
+	z-index: 30;
+}
+
+* html div#fancy_overlay {
+	position: absolute;
+	height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px');
+}
+
+div#fancy_wrap {
+	text-align: left;
+}
+
+div#fancy_loading {
+	position: absolute;
+	height: 40px;
+	width: 40px;
+	cursor: pointer;
+	display: none;
+	overflow: hidden;
+	background: transparent;
+	z-index: 100;
+}
+
+div#fancy_loading div {
+	position: absolute;
+	top: 0;
+	left: 0;
+	width: 40px;
+	height: 480px;
+	background: transparent url('fancy_progress.png') no-repeat;
+}
+
+div#fancy_loading_overlay {
+	position: absolute;
+	background-color: #FFF;
+	z-index: 30;
+}
+
+div#fancy_loading_icon {
+	position: absolute;
+	background: url('fancy_loading.gif') no-repeat;
+	z-index: 35;
+	width: 16px;
+	height: 16px;
+}
+
+div#fancy_outer {
+	position: absolute;
+    top: 0;
+    left: 0;
+    z-index: 90;
+    padding: 18px 18px 33px 18px;
+    margin: 0;
+    overflow: hidden;
+    background: transparent;
+    display: none;
+}
+
+div#fancy_inner {
+	position: relative;
+	width:100%;
+	height:100%;
+	border: 1px solid #BBB;
+	background: #FFF;
+}
+
+div#fancy_content {
+	margin: 0;
+	z-index: 100;
+	position: absolute;
+}
+
+div#fancy_div {
+	background: #000;
+	color: #FFF;
+	height: 100%;
+	width: 100%;
+	z-index: 100;
+}
+
+img#fancy_img {
+	position: absolute;
+	top: 0;
+	left: 0;
+	border:0; 
+	padding: 0; 
+	margin: 0;
+	z-index: 100;
+	width: 100%;
+	height: 100%;
+}
+
+div#fancy_close {
+	position: absolute;
+	top: -12px;
+	right: -15px;
+	height: 30px;
+	width: 30px;
+	background: url('fancy_closebox.png') top left no-repeat;
+	cursor: pointer;
+	z-index: 181;
+	display: none;
+}
+
+#fancy_frame {
+	position: relative;
+	width: 100%;
+	height: 100%;
+	display: none;
+}
+
+#fancy_ajax {
+	width: 100%;
+	height: 100%;
+	overflow: auto;
+}
+
+a#fancy_left, a#fancy_right {
+	position: absolute; 
+	bottom: 0px; 
+	height: 100%; 
+	width: 35%; 
+	cursor: pointer;
+	z-index: 111; 
+	display: none;
+	background-image: url(data:image/gif;base64,AAAA);
+	outline: none;
+}
+
+a#fancy_left {
+	left: 0px; 
+}
+
+a#fancy_right {
+	right: 0px; 
+}
+
+span.fancy_ico {
+	position: absolute; 
+	top: 50%;
+	margin-top: -15px;
+	width: 30px;
+	height: 30px;
+	z-index: 112; 
+	cursor: pointer;
+	display: block;
+}
+
+span#fancy_left_ico {
+	left: -9999px;
+	background: transparent url('fancy_left.png') no-repeat;
+}
+
+span#fancy_right_ico {
+	right: -9999px;
+	background: transparent url('fancy_right.png') no-repeat;
+}
+
+a#fancy_left:hover {
+  visibility: visible;
+}
+
+a#fancy_right:hover {
+  visibility: visible;
+}
+
+a#fancy_left:hover span {
+	left: 20px; 
+}
+
+a#fancy_right:hover span {
+	right: 20px; 
+}
+
+.fancy_bigIframe {
+	position: absolute;
+	top: 0;
+	left: 0;
+	width: 100%;
+	height: 100%;
+	background: transparent;
+}
+
+div#fancy_bg {
+	position: absolute;
+	top: 0; left: 0;
+	width: 100%;
+	height: 100%;
+	z-index: 70;
+	border: 0;
+	padding: 0;
+	margin: 0;
+}
+	
+div.fancy_bg {
+	position: absolute;
+	display: block;
+	z-index: 70;
+	border: 0;
+	padding: 0;
+	margin: 0;
+}
+
+div.fancy_bg_n {
+	top: -18px;
+	width: 100%;
+	height: 18px;
+	background: transparent url('fancy_shadow_n.png') repeat-x;
+}
+
+div.fancy_bg_ne {
+	top: -18px;
+	right: -13px;
+	width: 13px;
+	height: 18px;
+	background: transparent url('fancy_shadow_ne.png') no-repeat;
+}
+
+div.fancy_bg_e {
+	right: -13px;
+	height: 100%;
+	width: 13px;
+	background: transparent url('fancy_shadow_e.png') repeat-y;
+}
+
+div.fancy_bg_se {
+	bottom: -18px;
+	right: -13px;
+	width: 13px;
+	height: 18px;
+	background: transparent url('fancy_shadow_se.png') no-repeat;
+}
+
+div.fancy_bg_s {
+	bottom: -18px;
+	width: 100%;
+	height: 18px;
+	background: transparent url('fancy_shadow_s.png') repeat-x;
+}
+
+div.fancy_bg_sw {
+	bottom: -18px;
+	left: -13px;
+	width: 13px;
+	height: 18px;
+	background: transparent url('fancy_shadow_sw.png') no-repeat;
+}
+
+div.fancy_bg_w {
+	left: -13px;
+	height: 100%;
+	width: 13px;
+	background: transparent url('fancy_shadow_w.png') repeat-y;
+}
+
+div.fancy_bg_nw {
+	top: -18px;
+	left: -13px;
+	width: 13px;
+	height: 18px;
+	background: transparent url('fancy_shadow_nw.png') no-repeat;
+}
+
+div#fancy_title {
+	position: absolute;
+	bottom: -33px;
+	left: 0;
+	width: 100%;
+	z-index: 100;
+	display: none;
+}
+
+div#fancy_title div {
+	color: #FFF;
+	font: bold 12px Arial;
+	padding-bottom: 3px;
+}
+
+div#fancy_title table {
+	margin: 0 auto;
+}
+
+div#fancy_title table td {
+	padding: 0;
+	vertical-align: middle;
+}
+
+td#fancy_title_left {
+	height: 32px;
+	width: 15px;
+	background: transparent url(fancy_title_left.png) repeat-x;
+}
+
+td#fancy_title_main {
+	height: 32px;
+	background: transparent url(fancy_title_main.png) repeat-x;
+}
+
+td#fancy_title_right {
+	height: 32px;
+	width: 15px;
+	background: transparent url(fancy_title_right.png) repeat-x;
+}
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/jquery-fancybox.js
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/jquery-fancybox.js	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/jquery-fancybox.js	(revision 1481)
@@ -0,0 +1,384 @@
+/*
+ * FancyBox - simple jQuery plugin for fancy image zooming
+ * Examples and documentation at: http://fancy.klade.lv/
+ * Version: 1.0.0 (29/04/2008)
+ * Copyright (c) 2008 Janis Skarnelis
+ * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php
+ * Requires: jQuery v1.2.1 or later
+*/
+(function($) {
+	var opts = {}, 
+		imgPreloader = new Image, imgTypes = ['png', 'jpg', 'jpeg', 'gif'], 
+		loadingTimer, loadingFrame = 1;
+
+   $.fn.fancybox = function(settings) {
+		opts.settings = $.extend({}, $.fn.fancybox.defaults, settings);
+
+		$.fn.fancybox.init();
+
+		return this.each(function() {
+			var $this = $(this);
+			var o = $.metadata ? $.extend({}, opts.settings, $this.metadata()) : opts.settings;
+
+			$this.unbind('click').click(function() {
+				$.fn.fancybox.start(this, o); return false;
+			});
+		});
+	};
+
+	$.fn.fancybox.start = function(el, o) {
+		if (opts.animating) return false;
+
+		if (o.overlayShow) {
+			$("#fancy_wrap").prepend('<div id="fancy_overlay"></div>');
+			$("#fancy_overlay").css({'width': $(window).width(), 'height': $(document).height(), 'opacity': o.overlayOpacity});
+
+			if ($.browser.msie) {
+				$("#fancy_wrap").prepend('<iframe id="fancy_bigIframe" scrolling="no" frameborder="0"></iframe>');
+				$("#fancy_bigIframe").css({'width': $(window).width(), 'height': $(document).height(), 'opacity': 0});
+			}
+
+			$("#fancy_overlay").click($.fn.fancybox.close);
+		}
+
+		opts.itemArray	= [];
+		opts.itemNum	= 0;
+
+		if (jQuery.isFunction(o.itemLoadCallback)) {
+		   o.itemLoadCallback.apply(this, [opts]);
+
+			var c	= $(el).children("img:first").length ? $(el).children("img:first") : $(el);
+			var tmp	= {'width': c.width(), 'height': c.height(), 'pos': $.fn.fancybox.getPosition(c)}
+
+		   for (var i = 0; i < opts.itemArray.length; i++) {
+				opts.itemArray[i].o = $.extend({}, o, opts.itemArray[i].o);
+				
+				if (o.zoomSpeedIn > 0 || o.zoomSpeedOut > 0) {
+					opts.itemArray[i].orig = tmp;
+				}
+		   }
+
+		} else {
+			if (!el.rel || el.rel == '') {
+				var item = {url: el.href, title: el.title, o: o};
+
+				if (o.zoomSpeedIn > 0 || o.zoomSpeedOut > 0) {
+					var c = $(el).children("img:first").length ? $(el).children("img:first") : $(el);
+					item.orig = {'width': c.width(), 'height': c.height(), 'pos': $.fn.fancybox.getPosition(c)}
+				}
+
+				opts.itemArray.push(item);
+
+			} else {
+				var arr	= $("a[@rel=" + el.rel + "]").get();
+
+				for (var i = 0; i < arr.length; i++) {
+					var tmp		= $.metadata ? $.extend({}, o, $(arr[i]).metadata()) : o;
+   					var item	= {url: arr[i].href, title: arr[i].title, o: tmp};
+
+   					if (o.zoomSpeedIn > 0 || o.zoomSpeedOut > 0) {
+						var c = $(arr[i]).children("img:first").length ? $(arr[i]).children("img:first") : $(el);
+
+						item.orig = {'width': c.width(), 'height': c.height(), 'pos': $.fn.fancybox.getPosition(c)}
+					}
+
+					if (arr[i].href == el.href) opts.itemNum = i;
+
+					opts.itemArray.push(item);
+				}
+			}
+		}
+
+		$.fn.fancybox.changeItem(opts.itemNum);
+	};
+
+	$.fn.fancybox.changeItem = function(n) {
+		$.fn.fancybox.showLoading();
+
+		opts.itemNum = n;
+
+		$("#fancy_nav").empty();
+		$("#fancy_outer").stop();
+		$("#fancy_title").hide();
+		$(document).unbind("keydown");
+
+		imgRegExp = imgTypes.join('|');
+    	imgRegExp = new RegExp('\.' + imgRegExp + '$', 'i');
+
+		var url = opts.itemArray[n].url;
+
+		if (url.match(/#/)) {
+			var target = window.location.href.split('#')[0]; target = url.replace(target,'');
+
+	        $.fn.fancybox.showItem('<div id="fancy_div">' + $(target).html() + '</div>');
+
+	        $("#fancy_loading").hide();
+
+		} else if (url.match(imgRegExp)) {
+			$(imgPreloader).unbind('load').bind('load', function() {
+				$("#fancy_loading").hide();
+
+				opts.itemArray[n].o.frameWidth	= imgPreloader.width;
+				opts.itemArray[n].o.frameHeight	= imgPreloader.height;
+
+				$.fn.fancybox.showItem('<img id="fancy_img" src="' + imgPreloader.src + '" />');
+
+			}).attr('src', url + '?rand=' + Math.floor(Math.random() * 999999999) );
+
+		} else {
+			$.fn.fancybox.showItem('<iframe id="fancy_frame" onload="$.fn.fancybox.showIframe()" name="fancy_iframe' + Math.round(Math.random()*1000) + '" frameborder="0" hspace="0" src="' + url + '"></iframe>');
+		}
+	};
+
+	$.fn.fancybox.showIframe = function() {
+		$("#fancy_loading").hide();
+		$("#fancy_frame").show();
+	};
+
+	$.fn.fancybox.showItem = function(val) {
+		$.fn.fancybox.preloadNeighborImages();
+
+		var viewportPos	= $.fn.fancybox.getViewport();
+		var itemSize	= $.fn.fancybox.getMaxSize(viewportPos[0] - 50, viewportPos[1] - 100, opts.itemArray[opts.itemNum].o.frameWidth, opts.itemArray[opts.itemNum].o.frameHeight);
+
+		var itemLeft	= viewportPos[2] + Math.round((viewportPos[0] - itemSize[0]) / 2) - 20;
+		var itemTop		= viewportPos[3] + Math.round((viewportPos[1] - itemSize[1]) / 2) - 40;
+
+		var itemOpts = {
+			'left':		itemLeft, 
+			'top':		itemTop, 
+			'width':	itemSize[0] + 'px', 
+			'height':	itemSize[1] + 'px'	
+		}
+
+		if (opts.active) {
+			$('#fancy_content').fadeOut("normal", function() {
+				$("#fancy_content").empty();
+				
+				$("#fancy_outer").animate(itemOpts, "normal", function() {
+					$("#fancy_content").append($(val)).fadeIn("normal");
+					$.fn.fancybox.updateDetails();
+				});
+			});
+
+		} else {
+			opts.active = true;
+
+			$("#fancy_content").empty();
+
+			if ($("#fancy_content").is(":animated")) {
+				console.info('animated!');
+			}
+
+			if (opts.itemArray[opts.itemNum].o.zoomSpeedIn > 0) {
+				opts.animating		= true;
+				itemOpts.opacity	= "show";
+
+				$("#fancy_outer").css({
+					'top':		opts.itemArray[opts.itemNum].orig.pos.top - 18,
+					'left':		opts.itemArray[opts.itemNum].orig.pos.left - 18,
+					'height':	opts.itemArray[opts.itemNum].orig.height,
+					'width':	opts.itemArray[opts.itemNum].orig.width
+				});
+
+				$("#fancy_content").append($(val)).show();
+
+				$("#fancy_outer").animate(itemOpts, opts.itemArray[opts.itemNum].o.zoomSpeedIn, function() {
+					opts.animating = false;
+					$.fn.fancybox.updateDetails();
+				});
+
+			} else {
+				$("#fancy_content").append($(val)).show();
+				$("#fancy_outer").css(itemOpts).show();
+				$.fn.fancybox.updateDetails();
+			}
+		 }
+	};
+
+	$.fn.fancybox.updateDetails = function() {
+		$("#fancy_bg,#fancy_close").show();
+
+		if (opts.itemArray[opts.itemNum].title !== undefined && opts.itemArray[opts.itemNum].title !== '') {
+			$('#fancy_title div').html(opts.itemArray[opts.itemNum].title);
+			$('#fancy_title').show();
+		}
+
+		if (opts.itemArray[opts.itemNum].o.hideOnContentClick) {
+			$("#fancy_content").click($.fn.fancybox.close);
+		} else {
+			$("#fancy_content").unbind('click');
+		}
+
+		if (opts.itemNum != 0) {
+			$("#fancy_nav").append('<a id="fancy_left" href="javascript:;"></a>');
+
+			$('#fancy_left').click(function() {
+				$.fn.fancybox.changeItem(opts.itemNum - 1); return false;
+			});
+		}
+
+		if (opts.itemNum != (opts.itemArray.length - 1)) {
+			$("#fancy_nav").append('<a id="fancy_right" href="javascript:;"></a>');
+			
+			$('#fancy_right').click(function(){
+				$.fn.fancybox.changeItem(opts.itemNum + 1); return false;
+			});
+		}
+
+		$(document).keydown(function(event) {
+			if (event.keyCode == 27) {
+            	$.fn.fancybox.close();
+
+			} else if(event.keyCode == 37 && opts.itemNum != 0) {
+            	$.fn.fancybox.changeItem(opts.itemNum - 1);
+
+			} else if(event.keyCode == 39 && opts.itemNum != (opts.itemArray.length - 1)) {
+            	$.fn.fancybox.changeItem(opts.itemNum + 1);
+			}
+		});
+	};
+
+	$.fn.fancybox.preloadNeighborImages = function() {
+		if ((opts.itemArray.length - 1) > opts.itemNum) {
+			preloadNextImage = new Image();
+			preloadNextImage.src = opts.itemArray[opts.itemNum + 1].url;
+		}
+
+		if (opts.itemNum > 0) {
+			preloadPrevImage = new Image();
+			preloadPrevImage.src = opts.itemArray[opts.itemNum - 1].url;
+		}
+	};
+
+	$.fn.fancybox.close = function() {
+		if (opts.animating) return false;
+
+		$(imgPreloader).unbind('load');
+		$(document).unbind("keydown");
+
+		$("#fancy_loading,#fancy_title,#fancy_close,#fancy_bg").hide();
+
+		$("#fancy_nav").empty();
+
+		opts.active	= false;
+
+		if (opts.itemArray[opts.itemNum].o.zoomSpeedOut > 0) {
+			var itemOpts = {
+				'top':		opts.itemArray[opts.itemNum].orig.pos.top - 18,
+				'left':		opts.itemArray[opts.itemNum].orig.pos.left - 18,
+				'height':	opts.itemArray[opts.itemNum].orig.height,
+				'width':	opts.itemArray[opts.itemNum].orig.width,
+				'opacity':	'hide'
+			};
+
+			opts.animating = true;
+
+			$("#fancy_outer").animate(itemOpts, opts.itemArray[opts.itemNum].o.zoomSpeedOut, function() {
+				$("#fancy_content").hide().empty();
+				$("#fancy_overlay,#fancy_bigIframe").remove();
+				opts.animating = false;
+			});
+
+		} else {
+			$("#fancy_outer").hide();
+			$("#fancy_content").hide().empty();
+			$("#fancy_overlay,#fancy_bigIframe").fadeOut("fast").remove();
+		}
+	};
+
+	$.fn.fancybox.showLoading = function() {
+		clearInterval(loadingTimer);
+
+		var pos = $.fn.fancybox.getViewport();
+
+		$("#fancy_loading").css({'left': ((pos[0] - 40) / 2 + pos[2]), 'top': ((pos[1] - 40) / 2 + pos[3])}).show();
+		$("#fancy_loading").bind('click', $.fn.fancybox.close);
+		
+		loadingTimer = setInterval($.fn.fancybox.animateLoading, 66);
+	};
+
+	$.fn.fancybox.animateLoading = function(el, o) {
+		if (!$("#fancy_loading").is(':visible')){
+			clearInterval(loadingTimer);
+			return;
+		}
+
+		$("#fancy_loading > div").css('top', (loadingFrame * -40) + 'px');
+
+		loadingFrame = (loadingFrame + 1) % 12;
+	};
+
+	$.fn.fancybox.init = function() {
+		if (!$('#fancy_wrap').length) {
+			$('<div id="fancy_wrap"><div id="fancy_loading"><div></div></div><div id="fancy_outer"><div id="fancy_inner"><div id="fancy_nav"></div><div id="fancy_close"></div><div id="fancy_content"></div><div id="fancy_title"></div></div></div></div>').appendTo("body");
+			$('<div id="fancy_bg"><div class="fancy_bg fancy_bg_n"></div><div class="fancy_bg fancy_bg_ne"></div><div class="fancy_bg fancy_bg_e"></div><div class="fancy_bg fancy_bg_se"></div><div class="fancy_bg fancy_bg_s"></div><div class="fancy_bg fancy_bg_sw"></div><div class="fancy_bg fancy_bg_w"></div><div class="fancy_bg fancy_bg_nw"></div></div>').prependTo("#fancy_inner");
+			
+			$('<table cellspacing="0" cellpadding="0" border="0"><tr><td id="fancy_title_left"></td><td id="fancy_title_main"><div></div></td><td id="fancy_title_right"></td></tr></table>').appendTo('#fancy_title');
+		}
+
+		if ($.browser.msie) {
+			$("#fancy_inner").prepend('<iframe id="fancy_freeIframe" scrolling="no" frameborder="0"></iframe>');
+		}
+
+		if (jQuery.fn.pngFix) $(document).pngFix();
+
+    	$("#fancy_close").click($.fn.fancybox.close);
+	};
+
+	$.fn.fancybox.getPosition = function(el) {
+		var pos = el.offset();
+
+		pos.top	+= $.fn.fancybox.num(el, 'paddingTop');
+		pos.top	+= $.fn.fancybox.num(el, 'borderTopWidth');
+
+ 		pos.left += $.fn.fancybox.num(el, 'paddingLeft');
+		pos.left += $.fn.fancybox.num(el, 'borderLeftWidth');
+
+		return pos;
+	};
+
+	$.fn.fancybox.num = function (el, prop) {
+		return parseInt($.curCSS(el.jquery?el[0]:el,prop,true))||0;
+	};
+
+	$.fn.fancybox.getPageScroll = function() {
+		var xScroll, yScroll;
+
+		if (self.pageYOffset) {
+			yScroll = self.pageYOffset;
+			xScroll = self.pageXOffset;
+		} else if (document.documentElement && document.documentElement.scrollTop) {
+			yScroll = document.documentElement.scrollTop;
+			xScroll = document.documentElement.scrollLeft;
+		} else if (document.body) {
+			yScroll = document.body.scrollTop;
+			xScroll = document.body.scrollLeft;	
+		}
+
+		return [xScroll, yScroll]; 
+	};
+
+	$.fn.fancybox.getViewport = function() {
+		var scroll = $.fn.fancybox.getPageScroll();
+
+		return [$(window).width(), $(window).height(), scroll[0], scroll[1]];
+	};
+
+	$.fn.fancybox.getMaxSize = function(maxWidth, maxHeight, imageWidth, imageHeight) {
+		var r = Math.min(Math.min(maxWidth, imageWidth) / imageWidth, Math.min(maxHeight, imageHeight) / imageHeight);
+
+		return [Math.round(r * imageWidth), Math.round(r * imageHeight)];
+	};
+
+	$.fn.fancybox.defaults = {
+		hideOnContentClick:	false,
+		zoomSpeedIn:		500,
+		zoomSpeedOut:		500,
+		frameWidth:			600,
+		frameHeight:		400,
+		overlayShow:		false,
+		overlayOpacity:		0.4,
+		itemLoadCallback:	null
+	};
+})(jQuery);
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/jquery-fancybox-121.js
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/jquery-fancybox-121.js	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/jquery-fancybox-121.js	(revision 1481)
@@ -0,0 +1,9 @@
+/*
+ * FancyBox - simple and fancy jQuery plugin
+ * Examples and documentation at: http://fancy.klade.lv/
+ * Version: 1.2.1 (13/03/2009)
+ * Copyright (c) 2009 Janis Skarnelis
+ * Licensed under the MIT License: http://en.wikipedia.org/wiki/MIT_License
+ * Requires: jQuery v1.3+
+*/
+eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}(';(7($){$.b.2Q=7(){u B.2t(7(){9 1J=$(B).n(\'2Z\');5(1J.1c(/^3w\\(["\']?(.*\\.2p)["\']?\\)$/i)){1J=3t.$1;$(B).n({\'2Z\':\'45\',\'2o\':"3W:3R.4m.4d(3h=F, 3T="+($(B).n(\'41\')==\'2J-3Z\'?\'4c\':\'3N\')+", Q=\'"+1J+"\')"}).2t(7(){9 1b=$(B).n(\'1b\');5(1b!=\'2e\'&&1b!=\'2n\')$(B).n(\'1b\',\'2n\')})}})};9 A,4,16=D,s=1t 1o,1w,1v=1,1y=/\\.(3A|3Y|2p|3c|3d)(.*)?$/i;9 P=($.2q.3K&&2f($.2q.3z.2k(0,1))<8);$.b.c=7(Y){Y=$.3x({},$.b.c.2R,Y);9 2s=B;7 2h(){A=B;4=Y;2r();u D};7 2r(){5(16)u;5($.1O(4.2c)){4.2c()}4.j=[];4.h=0;5(Y.j.N>0){4.j=Y.j}t{9 O={};5(!A.1H||A.1H==\'\'){9 O={d:A.d,X:A.X};5($(A).1G("1m:1D").N){O.1a=$(A).1G("1m:1D")}4.j.2j(O)}t{9 Z=$(2s).2o("a[1H="+A.1H+"]");9 O={};3C(9 i=0;i<Z.N;i++){O={d:Z[i].d,X:Z[i].X};5($(Z[i]).1G("1m:1D").N){O.1a=$(Z[i]).1G("1m:1D")}4.j.2j(O)}3F(4.j[4.h].d!=A.d){4.h++}}}5(4.23){5(P){$(\'1U, 1Q, 1P\').n(\'1S\',\'3s\')}$("#1i").n(\'25\',4.2U).J()}1d()};7 1d(){$("#1f, #1e, #V, #G").S();9 d=4.j[4.h].d;5(d.1c(/#/)){9 U=11.3r.d.3f(\'#\')[0];U=d.3g(U,\'\');U=U.2k(U.2l(\'#\'));1k(\'<6 l="3e">\'+$(U).o()+\'</6>\',4.1I,4.1x)}t 5(d.1c(1y)){s=1t 1o;s.Q=d;5(s.3a){1K()}t{$.b.c.34();$(s).x().14(\'3b\',7(){$(".I").S();1K()})}}t 5(d.1c("17")||A.3j.2l("17")>=0){1k(\'<17 l="35" 3q="$.b.c.38()" 3o="3n\'+C.T(C.3l()*3m)+\'" 2K="0" 3E="0" Q="\'+d+\'"></17>\',4.1I,4.1x)}t{$.4p(d,7(2m){1k(\'<6 l="3L">\'+2m+\'</6>\',4.1I,4.1x)})}};7 1K(){5(4.30){9 w=$.b.c.1n();9 r=C.1M(C.1M(w[0]-36,s.g)/s.g,C.1M(w[1]-4b,s.f)/s.f);9 g=C.T(r*s.g);9 f=C.T(r*s.f)}t{9 g=s.g;9 f=s.f}1k(\'<1m 48="" l="49" Q="\'+s.Q+\'" />\',g,f)};7 2F(){5((4.j.N-1)>4.h){9 d=4.j[4.h+1].d;5(d.1c(1y)){1A=1t 1o();1A.Q=d}}5(4.h>0){9 d=4.j[4.h-1].d;5(d.1c(1y)){1A=1t 1o();1A.Q=d}}};7 1k(1j,g,f){16=F;9 L=4.2Y;5(P){$("#q")[0].1E.2u("f");$("#q")[0].1E.2u("g")}5(L>0){g+=L*2;f+=L*2;$("#q").n({\'v\':L+\'z\',\'2E\':L+\'z\',\'2i\':L+\'z\',\'y\':L+\'z\',\'g\':\'2B\',\'f\':\'2B\'});5(P){$("#q")[0].1E.2C(\'f\',\'(B.2D.4j - 20)\');$("#q")[0].1E.2C(\'g\',\'(B.2D.3S - 20)\')}}t{$("#q").n({\'v\':0,\'2E\':0,\'2i\':0,\'y\':0,\'g\':\'2z%\',\'f\':\'2z%\'})}5($("#k").1u(":19")&&g==$("#k").g()&&f==$("#k").f()){$("#q").1Z("2N",7(){$("#q").1C().1F($(1j)).21("1s",7(){1g()})});u}9 w=$.b.c.1n();9 2v=(g+36)>w[0]?w[2]:(w[2]+C.T((w[0]-g-36)/2));9 2w=(f+1z)>w[1]?w[3]:(w[3]+C.T((w[1]-f-1z)/2));9 K={\'y\':2v,\'v\':2w,\'g\':g+\'z\',\'f\':f+\'z\'};5($("#k").1u(":19")){$("#q").1Z("1s",7(){$("#q").1C();$("#k").24(K,4.2X,4.2T,7(){$("#q").1F($(1j)).21("1s",7(){1g()})})})}t{5(4.1W>0&&4.j[4.h].1a!==1L){$("#q").1C().1F($(1j));9 M=4.j[4.h].1a;9 15=$.b.c.1R(M);$("#k").n({\'y\':(15.y-18)+\'z\',\'v\':(15.v-18)+\'z\',\'g\':$(M).g(),\'f\':$(M).f()});5(4.1X){K.25=\'J\'}$("#k").24(K,4.1W,4.2W,7(){1g()})}t{$("#q").S().1C().1F($(1j)).J();$("#k").n(K).21("1s",7(){1g()})}}};7 2y(){5(4.h!=0){$("#1e, #2O").x().14("R",7(e){e.2x();4.h--;1d();u D});$("#1e").J()}5(4.h!=(4.j.N-1)){$("#1f, #2M").x().14("R",7(e){e.2x();4.h++;1d();u D});$("#1f").J()}};7 1g(){2y();2F();$(W).1B(7(e){5(e.29==27){$.b.c.1l();$(W).x("1B")}t 5(e.29==37&&4.h!=0){4.h--;1d();$(W).x("1B")}t 5(e.29==39&&4.h!=(4.j.N-1)){4.h++;1d();$(W).x("1B")}});5(4.1r){$(11).14("1N 1T",$.b.c.2g)}t{$("6#k").n("1b","2e")}5(4.2b){$("#22").R($.b.c.1l)}$("#1i, #V").14("R",$.b.c.1l);$("#V").J();5(4.j[4.h].X!==1L&&4.j[4.h].X.N>0){$(\'#G 6\').o(4.j[4.h].X);$(\'#G\').J()}5(4.23&&P){$(\'1U, 1Q, 1P\',$(\'#q\')).n(\'1S\',\'19\')}5($.1O(4.2a)){4.2a()}16=D};u B.x(\'R\').R(2h)};$.b.c.2g=7(){9 m=$.b.c.1n();$("#k").n(\'y\',(($("#k").g()+36)>m[0]?m[2]:m[2]+C.T((m[0]-$("#k").g()-36)/2)));$("#k").n(\'v\',(($("#k").f()+1z)>m[1]?m[3]:m[3]+C.T((m[1]-$("#k").f()-1z)/2)))};$.b.c.1h=7(H,2A){u 2f($.3I(H.3u?H[0]:H,2A,F))||0};$.b.c.1R=7(H){9 m=H.4g();m.v+=$.b.c.1h(H,\'3k\');m.v+=$.b.c.1h(H,\'3J\');m.y+=$.b.c.1h(H,\'3H\');m.y+=$.b.c.1h(H,\'3D\');u m};$.b.c.38=7(){$(".I").S();$("#35").J()};$.b.c.1n=7(){u[$(11).g(),$(11).f(),$(W).3i(),$(W).3p()]};$.b.c.2G=7(){5(!$("#I").1u(\':19\')){33(1w);u}$("#I > 6").n(\'v\',(1v*-40)+\'z\');1v=(1v+1)%12};$.b.c.34=7(){33(1w);9 m=$.b.c.1n();$("#I").n({\'y\':((m[0]-40)/2+m[2]),\'v\':((m[1]-40)/2+m[3])}).J();$("#I").14(\'R\',$.b.c.1l);1w=3Q($.b.c.2G,3X)};$.b.c.1l=7(){16=F;$(s).x();$("#1i, #V").x();5(4.2b){$("#22").x()}$("#V, .I, #1e, #1f, #G").S();5(4.1r){$(11).x("1N 1T")}1q=7(){$("#1i, #k").S();5(4.1r){$(11).x("1N 1T")}5(P){$(\'1U, 1Q, 1P\').n(\'1S\',\'19\')}5($.1O(4.1V)){4.1V()}16=D};5($("#k").1u(":19")!==D){5(4.26>0&&4.j[4.h].1a!==1L){9 M=4.j[4.h].1a;9 15=$.b.c.1R(M);9 K={\'y\':(15.y-18)+\'z\',\'v\':(15.v-18)+\'z\',\'g\':$(M).g(),\'f\':$(M).f()};5(4.1X){K.25=\'S\'}$("#k").31(D,F).24(K,4.26,4.2S,1q)}t{$("#k").31(D,F).1Z("2N",1q)}}t{1q()}u D};$.b.c.2V=7(){9 o=\'\';o+=\'<6 l="1i"></6>\';o+=\'<6 l="22">\';o+=\'<6 p="I" l="I"><6></6></6>\';o+=\'<6 l="k">\';o+=\'<6 l="2I">\';o+=\'<6 l="V"></6>\';o+=\'<6 l="E"><6 p="E 44"></6><6 p="E 43"></6><6 p="E 42"></6><6 p="E 3V"></6><6 p="E 3U"></6><6 p="E 3O"></6><6 p="E 3M"></6><6 p="E 3P"></6></6>\';o+=\'<a d="2P:;" l="1e"><1p p="1Y" l="2O"></1p></a><a d="2P:;" l="1f"><1p p="1Y" l="2M"></1p></a>\';o+=\'<6 l="q"></6>\';o+=\'<6 l="G"></6>\';o+=\'</6>\';o+=\'</6>\';o+=\'</6>\';$(o).2H("46");$(\'<32 4i="0" 4h="0" 4k="0"><2L><13 p="G" l="4l"></13><13 p="G" l="4o"><6></6></13><13 p="G" l="4n"></13></2L></32>\').2H(\'#G\');5(P){$("#2I").47(\'<17 p="4a" 4e="2J" 2K="0"></17>\');$("#V, .E, .G, .1Y").2Q()}};$.b.c.2R={2Y:10,30:F,1X:D,1W:0,26:0,2X:3G,2W:\'28\',2S:\'28\',2T:\'28\',1I:3B,1x:3v,23:F,2U:0.3,2b:F,1r:F,j:[],2c:2d,2a:2d,1V:2d};$(W).3y(7(){$.b.c.2V()})})(4f);',62,274,'||||opts|if|div|function||var||fn|fancybox|href||height|width|itemCurrent||itemArray|fancy_outer|id|pos|css|html|class|fancy_content||imagePreloader|else|return|top||unbind|left|px|elem|this|Math|false|fancy_bg|true|fancy_title|el|fancy_loading|show|itemOpts|pad|orig_item|length|item|isIE|src|click|hide|round|target|fancy_close|document|title|settings|subGroup||window||td|bind|orig_pos|busy|iframe||visible|orig|position|match|_change_item|fancy_left|fancy_right|_finish|getNumeric|fancy_overlay|value|_set_content|close|img|getViewport|Image|span|__cleanup|centerOnScroll|normal|new|is|loadingFrame|loadingTimer|frameHeight|imageRegExp|50|objNext|keydown|empty|first|style|append|children|rel|frameWidth|image|_proceed_image|undefined|min|resize|isFunction|select|object|getPosition|visibility|scroll|embed|callbackOnClose|zoomSpeedIn|zoomOpacity|fancy_ico|fadeOut||fadeIn|fancy_wrap|overlayShow|animate|opacity|zoomSpeedOut||swing|keyCode|callbackOnShow|hideOnContentClick|callbackOnStart|null|absolute|parseInt|scrollBox|_initialize|bottom|push|substr|indexOf|data|relative|filter|png|browser|_start|matchedGroup|each|removeExpression|itemLeft|itemTop|stopPropagation|_set_navigation|100|prop|auto|setExpression|parentNode|right|_preload_neighbor_images|animateLoading|appendTo|fancy_inner|no|frameborder|tr|fancy_right_ico|fast|fancy_left_ico|javascript|fixPNG|defaults|easingOut|easingChange|overlayOpacity|build|easingIn|zoomSpeedChange|padding|backgroundImage|imageScale|stop|table|clearInterval|showLoading|fancy_frame|||showIframe||complete|load|bmp|jpeg|fancy_div|split|replace|enabled|scrollLeft|className|paddingTop|random|1000|fancy_iframe|name|scrollTop|onload|location|hidden|RegExp|jquery|355|url|extend|ready|version|jpg|425|for|borderLeftWidth|hspace|while|300|paddingLeft|curCSS|borderTopWidth|msie|fancy_ajax|fancy_bg_w|scale|fancy_bg_sw|fancy_bg_nw|setInterval|DXImageTransform|clientWidth|sizingMethod|fancy_bg_s|fancy_bg_se|progid|66|gif|repeat||backgroundRepeat|fancy_bg_e|fancy_bg_ne|fancy_bg_n|none|body|prepend|alt|fancy_img|fancy_bigIframe|60|crop|AlphaImageLoader|scrolling|jQuery|offset|cellpadding|cellspacing|clientHeight|border|fancy_title_left|Microsoft|fancy_title_right|fancy_title_main|get'.split('|'),0,{}))
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancy_shadow_n.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancy_shadow_n.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancy_progress.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancy_progress.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/close.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/close.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/closelabel.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/closelabel.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancy_shadow_ne.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancy_shadow_ne.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancy_shadow_s.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancy_shadow_s.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancy_shadow_w.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/fancybox/fancy_shadow_w.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/jquery/plugins/index.php
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/jquery/plugins/index.php	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/jquery/plugins/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id: index.php 985 2009-05-27 04:46:39Z Ruebenwurzel $
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../../index.php");
+
+?>
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/jquery/webkit-focusfix.js
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/jquery/webkit-focusfix.js	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/jquery/webkit-focusfix.js	(revision 1481)
@@ -0,0 +1,40 @@
+/**
+ * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
+ *
+ * (en) Workaround for Webkit browser to fix focus problems when using skiplinks
+ * (de) Workaround fÃ¼r Webkit-Browser, um den Focus zu korrigieren, bei Verwendung von Skiplinks
+ *
+ * @note			inspired by Paul Ratcliffe's article 
+ *					http://www.communis.co.uk/blog/2009-06-02-skip-links-chrome-safari-and-added-wai-aria
+ *
+ * @copyright       Copyright 2005-2009, Dirk Jesse
+ * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
+ *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
+ * @link            http://www.yaml.de
+ * @package         yaml
+ * @version         3.2
+ * @revision        $Revision: 430 $
+ * @lastmodified    $Date: 2009-10-27 21:15:57 +0100 (Di, 27. Okt 2009) $
+ */
+ 
+var is_webkit = navigator.userAgent.toLowerCase().indexOf('webkit') > -1;
+
+if(is_webkit) 
+{
+	var i;
+	var skiplinks = []
+	
+	if ( document.getElementsByClassName !== undefined) {
+		skiplinks = document.getElementsByClassName('skip');
+
+		for (i=0; i<skiplinks.length; i++) {
+			var target = skiplinks[i].href.substr(skiplinks[i].href.indexOf('#')+1);
+			var targetElement = document.getElementById(target);
+	
+			targetElement.href = '#'+target;
+			targetElement.setAttribute("tabindex", "0");
+	
+			skiplinks[i].setAttribute("onclick", "document.getElementById('"+target+"').focus();");
+		}
+	}	
+}
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/jquery/jquery-metadata.js
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/jquery/jquery-metadata.js	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/jquery/jquery-metadata.js	(revision 1481)
@@ -0,0 +1,13 @@
+/*
+ * Metadata - jQuery plugin for parsing metadata from elements
+ *
+ * Copyright (c) 2006 John Resig, Yehuda Katz, Jï¿½Ã¶rn Zaefferer, Paul McLanahan
+ *
+ * Dual licensed under the MIT and GPL licenses:
+ *   http://www.opensource.org/licenses/mit-license.php
+ *   http://www.gnu.org/licenses/gpl.html
+ *
+ * Revision: $Id: jquery.metadata.js 3620 2007-10-10 20:55:38Z pmclanahan $
+ *
+ */
+(function($){$.extend({metadata:{defaults:{type:'class',name:'metadata',cre:/({.*})/,single:'metadata'},setType:function(type,name){this.defaults.type=type;this.defaults.name=name;},get:function(elem,opts){var settings=$.extend({},this.defaults,opts);if(!settings.single.length)settings.single='metadata';var data=$.data(elem,settings.single);if(data)return data;data="{}";if(settings.type=="class"){var m=settings.cre.exec(elem.className);if(m)data=m[1];}else if(settings.type=="elem"){if(!elem.getElementsByTagName)return;var e=elem.getElementsByTagName(settings.name);if(e.length)data=$.trim(e[0].innerHTML);}else if(elem.getAttribute!=undefined){var attr=elem.getAttribute(settings.name);if(attr)data=attr;}if(data.indexOf('{')<0)data="{"+data+"}";data=eval("("+data+")");$.data(elem,settings.single,data);return data;}}});$.fn.metadata=function(opts){return $.metadata.get(this[0],opts);};})(jQuery);
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/jquery/jquery-plugins.js
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/jquery/jquery-plugins.js	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/jquery/jquery-plugins.js	(revision 1481)
@@ -0,0 +1,24 @@
+$(document).ready(function()
+{
+
+        if($(".jcalendar").length) {
+            $.insert(WB_URL+"/include/jscalendar/calendar-system.css");
+          }
+
+        if($(".jsadmin").length) {
+            $.insert(WB_URL+"/modules/jsadmin/backend.css");
+          }
+
+	//Add external link class to external links -
+	$('a[href^="http://"]').filter(function() {
+		//Compare the anchor tag's host name with location's host name
+	    return this.hostname && this.hostname !== location.hostname;
+	  }).addClass("external").attr("target", "_blank");
+
+	/* Add internal link class to external links -   */
+	$('a[href^="http://"]').filter(function() {
+		//Compare the anchor tag's host name with location's host name
+	    return this.hostname && this.hostname == location.hostname;
+	  }).addClass("internal");
+
+});
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/jquery/jquery-elastic.js
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/jquery/jquery-elastic.js	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/jquery/jquery-elastic.js	(revision 1481)
@@ -0,0 +1 @@
+(function($){$.fn.extend({elastic:function(){var g=new Array("paddingTop","paddingRight","paddingBottom","paddingLeft","fontSize","lineHeight","fontFamily","width");return this.each(function(){if(this.type=="textarea"){var b=$(this);var c=parseInt(b.css("lineHeight"))*2||parseInt(b.css("fontSize"))*2;var d=parseInt(b.css("height"))||c;var e=0;var f=null;function update(){if(!f){f=$("<div />").css({"visibility":"hidden","position":"absolute","overflow-x":"hidden"}).appendTo("body");$.each(g,function(){f.css(this,b.css(this))})}var a=b.val().replace(/<|>/g," ").replace(/\n/g,"<br />");if(f.text()!=a){f.html(a);e=(f.height()+c>d)?f.height()+c:d;if(e!=b.height()){b.animate({"height":e},500)}}}b.css({overflow:"hidden",display:"block"}).bind("focus",function(){self.periodicalUpdater=window.setInterval(function(){update()},400)}).bind("blur",function(){clearInterval(self.periodicalUpdater)});update()}})}})})(jQuery);
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/jquery/toggle_zip.js
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/jquery/toggle_zip.js	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/jquery/toggle_zip.js	(revision 1481)
@@ -0,0 +1,14 @@
+function toggle() {
+	var check = document.getElementById("file2");
+	if (check.style.visibility == "visible") {
+		for (i=2; i<=10; i++) {
+			document.getElementById("file" + i).style.visibility = "hidden";
+		}
+		document.getElementById("delzip").style.display = "inline";
+	} else {
+		for (i=2; i<=10; i++) {
+			document.getElementById("file" + i).style.visibility = "visible";
+		}
+		document.getElementById("delzip").style.display = "none";
+	}
+}
Index: tags/2.8.2/wb/templates/wb_theme/theme.css
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/theme.css	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/theme.css	(revision 1481)
@@ -0,0 +1,81 @@
+html { overflow: -moz-scrollbars-vertical; /* Force firefox to always show room for a vertical scrollbar */ }
+body,td,th,input,textarea { color: #000000; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; }
+body { margin: auto; background-color: #A8BCCB; /*background-image: url(images/background.png);*/ background-repeat: repeat-x; }
+img { border: 0px; }
+form { margin: 0; }
+hr { margin: 15px 0px 15px 0px; color: #003366; height: 1px; }
+h1 { color: #000000; font-size: 20px; text-align: center; text-transform: uppercase; }
+h2 { margin: 5px 0px 5px 0px; color: #336699; font-size: 15px; }
+h4 { margin: 0; border-bottom: 1px solid #DDD; padding-bottom: 5px; }
+a:link, a:visited, a:active { color: #003366; text-decoration: none; }
+a:hover { color: #336699; text-decoration: none; }
+ul, li { margin: 0; padding: 0; list-style: none; }
+label { cursor: pointer; }
+input:focus, input:active, select:focus, textarea:focus { background: #F1F8FD; }
+iframe { border: 1px solid #35373a; }
+div.box { width: 100%; margin: -10px 0 0 0; font-size: small; text-align: right; }
+.header { width: 900px; margin: 0 auto; }
+.container { width: 85%; margin: 0 auto; background: #fff url(images/bgtitle.png); background-repeat: repeat-x; }
+.content { padding: 20px; width: 98%; height: 280px; vertical-align: top; }
+.current a, .current a:link, .current a:active, .current a:visited { background: #fff url(images/menuo.png); background-repeat: repeat-x; color: #fff; }
+.description { width: 240px; padding: 0px 0px 0px 3px; text-align: left; vertical-align: top; }
+.graphic { width: 50px; border: 4px solid #FDFDFD; padding-left: 3px; height: 50px; }
+.graphic img { padding: 3px 12px 3px 3px; margin-right: 12px; border-right: 3px solid silver; background-color: #FFFFFF; vertical-align: middle; }
+.menu { margin: 0; padding: 0; padding-top: 8px; padding-bottom: 10px; padding-left: 8px; background: #000 url(images/menu.png); background-repeat: repeat-x; }
+.menu li { padding-right: 1px; list-style-type: none; display: inline; }
+.menu a, .menu a:link, .menu a:active, .menu a:visited { border-bottom: 0; padding: 7px 11px 9px 11px; color: #fff; }
+.menu a:hover { color: #fff; background: #fff url(images/menuo.png); background-repeat: repeat-x; text-decoration: none; }
+.note { color: #666666; font-size: 10px; }
+.page_list {width:100%;}
+.pages_list .icon_col td img { border-style: none; float: left; padding-right: 7px; display: block; }
+.pages_list table { width: 100%; margin: 0 auto; background-color: #DCDCDC; }
+.pages_list ul { margin: 0; padding: 0px; font-weight: normal; }
+.pages_list ul li { margin: 2px 0; padding: 0px; list-style-type: none; }
+.page_list_show li { display: block; }
+img.page_list_rights { border: none; margin-right: 5px; float: left; margin-top: 2px; margin-bottom: 2px; }
+.content input { font-size: 12px; }
+.row_a { background-color: #ECF3F7; }
+.row_b { background-color: #DBEBF2; }
+.section { margin-top: 10px; padding: 0px; /*border: 1px solid #999999;*/ width: 100%; background-color: #FDFDFD; height: 75px; }
+.sections_header { width: 100%; margin-bottom: 10px; border: none; background-color: #F0F0F0; height: 50px; }
+.sections_header td { padding: 5px; }
+.setting_name { width: 20%; }
+.setting_value { width: 90%; }
+.setting_value textarea { height: 50px; }
+.title { width: 90%; padding: 4px 0px 0px 3px; color: #003366; font-weight: bold; font-size: 14px; text-align: left; height: 16px; }
+.tool_table ul { margin: 0; padding: 0; margin-left: 20px; margin-bottom: 10px; }
+.tool_table li { padding-bottom: 5px; list-style-type: disc; }
+/* CSS STYLES FOR THE PAGES SECTION */
+table.pages_view { width: 100%; margin: 0 auto; border: 0; background-color: #ECF3F7; border-spacing: 0px; }
+table.pages_view tr:hover { background-color: #F1F8DD; }
+/* FORMS */
+.submit, .cancel { width: 100px; margin-top: 5px; }
+.form_submit .right { text-align: right; }
+.input_small { width: 20px; }
+.input_normal { width: 120px; }
+.input_medium { width: 150px; }
+.input_wide { width: 200px; }
+.input_large { width: 300px; }
+select option.disabled { color: #aaa; }
+.jsadmin_drag img { padding: 3px 0; margin-top: 1px; vertical-align: top; cursor: pointer; }
+.modify_link { padding-top: 4px; display: inline; vertical-align: middle; }
+.header_list_page_id { width: 50px; padding-right: 15px; text-align: right; }
+.header_list_actions { width: 150px; text-align: left; }
+.list_actions { width: 20px; text-align: left; }
+.sections_list { padding-left: 10px; font-weight: bold; }
+.header_list_block { width: 180px; text-align: left; }
+.header_list_sections_actions { width: 30px; text-align: left; }
+.value_page_code { width: 240px; color: #006400; font-weight: 400; }
+#multi_lingual { font-weight: bolder; }
+/* Ende */
+.pages_list table td, table.pages_view td { padding: 3px; }
+.save, .reset, .input_narrow { width: 100px; }
+.settings_table td, .tool_table td { text-align: left; vertical-align: top; }
+#file_mode input, #dir_mode input { width: 12px; height: 12px; }
+#hide2, .hide, .page_list { display: none; }
+.header_list_page_title, .list_page_title { width: 300px; text-align: left; }
+.list_section_id, .list_page_id, .header_list_section_id { width: 30px; text-align: right; }
+.list_page_code, .list_page_language { width: 240px; }
+.form_submit .left, .header_list_menu_title, .list_menu_title, .header_list_type { text-align: left; }
+.header_title, .sections_list table, .setting_value input, .setting_value select, .setting_value textarea, .value_input input, .value_input text, .value_input select, .form_submit, .input_full { width: 100%; }
+.header_list_pubdate_start, .header_list_pubdate_end, .list_pubdate_start, .list_pubdate_end { width: 200px; text-align: left; }

Property changes on: tags/2.8.2/wb/templates/wb_theme/theme.css
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/templates/users_form.htt
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/templates/users_form.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/templates/users_form.htt	(revision 1481)
@@ -0,0 +1,94 @@
+<!-- BEGIN main_block -->
+
+<script language="javascript" type="text/javascript">
+function toggle_radio(radio_on, radio_off) {
+	document.getElementById(radio_on).checked = true;
+	document.getElementById(radio_off).checked = true;
+}
+</script>
+
+<h2 style="{DISPLAY_EXTRA}">{HEADING_MODIFY_USER}</h2>
+
+<form name="user" action="{ACTION_URL}" method="post" class="{DISPLAY_ADD}">
+<input type="hidden" name="user_id" value="{USER_ID}" />
+<input type="hidden" name="username_fieldname" value="{USERNAME_FIELDNAME}" />
+
+<table cellpadding="5" cellspacing="0" border="0" width="100%">
+<tr>
+	<td width="150">{TEXT_USERNAME}:</td>
+	<td class="value_input">
+		<input type="text" name="{USERNAME_FIELDNAME}" maxlength="30" value="{USERNAME}" />
+	</td>
+</tr>
+<tr>
+	<td>{TEXT_PASSWORD}:</td>
+	<td class="value_input">
+		<input type="password" name="password" maxlength="30" />
+	</td>
+</tr>
+<tr>
+	<td>{TEXT_RETYPE_PASSWORD}:</td>
+	<td class="value_input">
+		<input type="password" name="password2" maxlength="30" />
+	</td>
+</tr>
+<tr style="{DISPLAY_EXTRA}">
+	<td>&nbsp;</td>
+	<td style="font-size: 10px;">
+		{CHANGING_PASSWORD}
+	</td>
+</tr>
+<tr>
+	<td>{TEXT_DISPLAY_NAME}:</td>
+	<td class="value_input">
+		<input type="text" name="display_name" maxlength="255" value="{DISPLAY_NAME}" />
+	</td>
+</tr>
+<tr>
+	<td>{TEXT_EMAIL}:</td>
+	<td class="value_input">
+		<input type="text" name="email" maxlength="255" value="{EMAIL}" />
+	</td>
+</tr>
+<tr style="{DISPLAY_HOME_FOLDERS}">
+	<td>{TEXT_HOME_FOLDER}:</td>
+	<td class="value_input">
+		<select name="home_folder">
+			<option value="">{TEXT_NONE}</option>
+			<!-- BEGIN folder_list_block -->
+			<option value="{FOLDER}"{SELECTED}>{NAME}</option>
+			<!-- END folder_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td>{TEXT_GROUP}:</td>
+	<td class="value_input">
+		<select name="groups[]" multiple="multiple" size="5">
+		<!-- BEGIN group_list_block -->
+			<option value="{ID}" {SELECTED}>{NAME}</option>
+		<!-- END group_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td>&nbsp;</td>
+	<td>
+		<input type="radio" name="active[]" id="active" value="1" {ACTIVE_CHECKED} />
+		<label for="active">{TEXT_ACTIVE}</label>
+		<input type="radio" name="active[]" id="disabled" value="0" {DISABLED_CHECKED} />
+		<label for="disabled">{TEXT_DISABLED}</label>
+	</td>
+</tr>
+<tr>
+	<td>&nbsp;</td>
+	<td>
+		<input type="submit" name="submit" value="{SUBMIT_TITLE}" />
+		<input type="reset" name="reset" value="{TEXT_RESET}" />
+	</td>
+</tr>
+</table>
+
+</form>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/templates/header.htt
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/templates/header.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/templates/header.htt	(revision 1481)
@@ -0,0 +1,57 @@
+<!-- BEGIN header_block -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<title>{WEBSITE_TITLE} >> {TEXT_ADMINISTRATION} - {SECTION_NAME}</title>
+<meta http-equiv="content-type" content="text/html; charset={CHARSET}" />
+<meta http-equiv="content-language" content="{LANGUAGE}" />
+<meta name="description" content="{TEXT_ADMINISTRATION}" />
+<meta name="keywords" content="{TEXT_ADMINISTRATION}" />
+<link href="{THEME_URL}/theme.css" rel="stylesheet" type="text/css" />
+{BACKEND_MODULE_CSS}
+<script type="text/javascript">
+var WB_URL = '{WB_URL}';
+var THEME_URL = '{THEME_URL}';
+var ADMIN_URL = '{ADMIN_URL}';
+</script>
+<script src="{WB_URL}/include/editarea/edit_area_full.js" type="text/javascript"></script>
+{BACKEND_MODULE_JS}
+<script type="text/javascript">
+function confirm_link(message, url) {
+	if(confirm(message)) location.href = url;
+}
+</script>
+</head>
+<body>
+<table class="header">
+<tr>
+	<td>
+		<a href="{ADMIN_URL}" title="{TITLE_START}"><img src="{THEME_URL}/images/logo.png" border="0" alt="Logo" /></a>
+	</td>
+	<td>&nbsp;</td>
+	<td class="menue">
+         <a href="{ADMIN_URL}" title="{TITLE_START}"><img src="{THEME_URL}/images/home.png" border="0" alt="{TITLE_START}" /></a>
+         &nbsp;&nbsp;<a href="{URL_VIEW}" target="_blank" title="{TITLE_VIEW}"><img src="{THEME_URL}/images/view.png" border="0" alt="{WB_URL}" /></a>
+	&nbsp; <a href="{URL_HELP}" target="_blank" title="{TITLE_HELP}"><img src="{THEME_URL}/images/help.png" border="0" alt="{TITLE_HELP}" /></a>
+         &nbsp; <a href="{ADMIN_URL}/logout" title="{TITLE_LOGOUT}"><img src="{THEME_URL}/images/dl.png" border="0" alt="{TITLE_LOGOUT}" /></a>
+</td>
+	<td class="version">
+	Version {VERSION}<br />
+    Revision {REVISION}
+	</td>
+</tr>
+</table>
+
+<table class="container">
+<tr>
+	<td>
+		<ul class="menu">
+			<!-- BEGIN linkBlock -->
+			<li class="{CLASS}"><a href="{LINK}" target="{TARGET}">{TITLE}</a></li>
+			<!-- END linkBlock -->
+		</ul>
+	</td>
+</tr>
+<tr>
+	<td class="content">
+<!-- END header_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/templates/login_forgot.htt
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/templates/login_forgot.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/templates/login_forgot.htt	(revision 1481)
@@ -0,0 +1,77 @@
+<!-- BEGIN main_block -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<title>Retrieve Login Details</title>
+<meta http-equiv="content-type" content="text/html; charset={CHARSET}" />
+<meta http-equiv="content-language" content="{LANGUAGE}" />
+<meta name="description" content="Retrieve Login Details" />
+<meta name="keywords" content="Retrieve Login Details" />
+<link href="{THEME_URL}/theme.css" rel="stylesheet" type="text/css" />
+</head>
+<body onload="document.forgot_pass.email.focus();">
+
+<table cellpadding="0" cellspacing="0" border="0" width="770" align="center">
+<tr>
+	<td width="60" valign="top">
+		<img src="{THEME_URL}/images/logo.png" alt="Logo" />
+	</td>
+	<td width="5">&nbsp;</td>
+	<td style="font-size: 20px;">
+		<font style="color: #FFF;">{SECTION_FORGOT}</font>
+	</td>
+</tr>
+</table>
+
+<table cellpadding="0" cellspacing="0" border="0" width="770" align="center" style="margin-top: 30px;" class="container">
+<tr>
+	<td class="content">
+	
+	<form name="forgot_pass" action="{ACTION_URL}" method="post">
+	<input type="hidden" name="url" value="{URL}" />
+		<table cellpadding="5" cellspacing="0" border="0" align="center" width="500">
+		<tr>
+			<td height="40" align="center" style="color: #{MESSAGE_COLOR}" colspan="2">{MESSAGE}</td>
+		</tr>
+		<tr style="{DISPLAY_FORM}">
+			<td height="10" colspan="2"></td>
+		</tr>
+		<tr style="{DISPLAY_FORM}">
+			<td width="165" height="30" align="right">{TEXT_EMAIL}:</td>
+			<td><input type="text" maxlength="255" name="email" value="{EMAIL}" style="width: 180px;" /></td>
+		</tr>
+		<tr style="{DISPLAY_FORM}" height="30">
+			<td>&nbsp;</td>
+			<td><input type="submit" name="submit" value="{TEXT_SEND_DETAILS}" style="width: 180px; font-size: 10px; text-transform: uppercase; color: #003366; border: 1px solid #336699; background-color: #DDDDDD; padding: 3px;"></td>
+		</tr>
+		<tr style="{DISPLAY_FORM}">
+			<td height="10" colspan="2"></td>
+		</tr>
+		</table>
+	</form>
+	
+	<center>
+		<a href="{LOGIN_URL}">{TEXT_NEED_TO_LOGIN}</a>
+		<br />
+		<br />
+		<a href="{WB_URL}">{TEXT_HOME}</a>
+	</center>
+
+	</td>
+</tr>
+</table>
+
+<table cellpadding="0" cellspacing="0" border="0" width="100%" style="padding: 10px 0px 10px 0px;">
+<tr>
+	<td style="font-size:12px;text-align:center;">
+      <!-- Please note: the below reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
+      <a href="http://www.websitebaker2.org/" title="external">WebsiteBaker</a> is released under the
+      <a href="http://www.gnu.org/licenses/gpl.html" title="WebsiteBaker is released under the GNU General Public License">GNU General Public License</a>
+      <!-- Please note: the above reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
+	</td>
+</tr>
+</table>
+
+</body>
+</html>
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/templates/start.htt
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/templates/start.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/templates/start.htt	(revision 1481)
@@ -0,0 +1,153 @@
+<!-- BEGIN main_block -->
+
+<table cellpadding="0" cellspacing="0" border="0" width="99%" align="center">
+<tr>
+	<td colspan="3" align="center">
+		{WELCOME_MESSAGE}. {CURRENT_USER} {DISPLAY_NAME}
+	</td>
+</tr>
+<tr style="{DISPLAY_WARNING}">
+	<td colspan="3" align="center" style="color: #FF0000; font-weight: bold;">
+		{WARNING}
+	</td>
+</tr>
+<tr>
+	<td align="center" valign="top">
+		
+		<table cellpadding="0" cellspacing="0" border="0" class="section" style="{DISPLAY_PAGES}">
+		<tr>
+			<td class="graphic" align="center" valign="middle" rowspan="2">
+				<a href="{ADMIN_URL}/pages/index.php">
+					<img src="{THEME_URL}/icons/pages.png" alt="{PAGES}" />
+				</a>
+			</td>
+			<td class="title">
+				<a href="{ADMIN_URL}/pages/index.php">{PAGES}</a>
+			</td>
+		</tr>
+		<tr>
+			<td class="description">
+				{PAGES_OVERVIEW}
+			</td>
+		</tr>
+		</table>
+		
+		<table cellpadding="0" cellspacing="0" border="0" class="section" style="{DISPLAY_ADDONS}">
+		<tr>
+			<td class="graphic" align="center" valign="middle" rowspan="2">
+				<a href="{ADMIN_URL}/addons/index.php">
+					<img src="{THEME_URL}/icons/addons.png" alt="{ADDONS}" />
+				</a>
+			</td>
+			<td class="title">
+				<a href="{ADMIN_URL}/addons/index.php">{ADDONS}</a>
+			</td>
+		</tr>
+		<tr>
+			<td class="description">
+				{ADDONS_OVERVIEW}
+			</td>
+		</tr>
+		</table>
+
+		<table cellpadding="0" cellspacing="0" border="0" class="section" style="{DISPLAY_SETTINGS}">
+		<tr>
+			<td class="graphic" align="center" valign="middle" rowspan="2">
+				<a href="{ADMIN_URL}/settings/index.php">
+					<img src="{THEME_URL}/icons/settings.png" alt="{SETTINGS}" />
+				</a>
+			</td>
+			<td class="title">
+				<a href="{ADMIN_URL}/settings/index.php">{SETTINGS}</a>
+			</td>
+		</tr>
+		<tr>
+			<td class="description">
+				{SETTINGS_OVERVIEW}
+			</td>
+		</tr>
+		</table>
+
+		<table cellpadding="0" cellspacing="0" border="0" class="section" style="{DISPLAY_ACCESS}">
+		<tr>
+			<td class="graphic" align="center" valign="middle" rowspan="2">
+				<a href="{ADMIN_URL}/access/index.php">
+					<img src="{THEME_URL}/icons/access.png" alt="{ACCESS}" />
+				</a>
+			</td>
+			<td class="title">
+				<a href="{ADMIN_URL}/access/index.php">{ACCESS}</a>
+			</td>
+		</tr>
+		<tr>
+			<td class="description">
+				{ACCESS_OVERVIEW}
+			</td>
+		</tr>
+		</table>
+
+	</td>
+	<td width="15">
+		&nbsp;
+	</td>
+	<td align="center" valign="top">
+		
+		<table cellpadding="0" cellspacing="0" border="0" class="section" style="{DISPLAY_MEDIA}">
+		<tr>
+			<td class="graphic" align="center" valign="middle" rowspan="2">
+				<a href="{ADMIN_URL}/media/index.php">
+					<img src="{THEME_URL}/icons/media.png" alt="{MEDIA}" />
+				</a>
+			</td>
+			<td class="title">
+				<a href="{ADMIN_URL}/media/index.php">{MEDIA}</a>
+			</td>
+		</tr>
+		<tr>
+			<td class="description">
+				{MEDIA_OVERVIEW}
+			</td>
+		</tr>
+		</table>
+
+		<table cellpadding="0" cellspacing="0" border="0" class="section">
+		<tr>
+			<td class="graphic" align="center" valign="middle" rowspan="2">
+				<a href="{ADMIN_URL}/preferences/index.php">
+					<img src="{THEME_URL}/icons/preferences.png" alt="{PREFERENCES}" />
+				</a>
+			</td>
+			<td class="title">
+				<a href="{ADMIN_URL}/preferences/index.php">{PREFERENCES}</a>
+			</td>
+		</tr>
+		<tr>
+			<td class="description">
+				{PREFERENCES_OVERVIEW}
+			</td>
+		</tr>
+		</table>
+
+		<table cellpadding="0" cellspacing="0" border="0" class="section" style="{DISPLAY_ADMINTOOLS}">
+		<tr>
+			<td class="graphic" align="center" valign="middle" rowspan="2">
+				<a href="{ADMIN_URL}/admintools/index.php">
+					<img src="{THEME_URL}/icons/admintools.png" alt="{ADMINTOOLS}" />
+				</a>
+			</td>
+			<td class="title">
+				<a href="{ADMIN_URL}/admintools/index.php">{ADMINTOOLS}</a>
+			</td>
+		</tr>
+		<tr>
+			<td class="description">
+				{ADMINTOOLS_OVERVIEW}
+			</td>
+		</tr>
+		</table>
+
+	</td>
+</tr>
+</table>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/templates/footer.htt
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/templates/footer.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/templates/footer.htt	(revision 1481)
@@ -0,0 +1,28 @@
+<!-- BEGIN footer_block -->
+	</td>
+</tr>
+</table>
+
+<table cellpadding="0" cellspacing="0" border="0" width="100%" style="padding: 10px 0px 10px 0px;">
+<tr>
+	<td style="font-size: 12px; text-align:center;">
+      <!-- Please note: the below reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
+      <a href="http://www.websitebaker2.org/" title="external">WebsiteBaker</a> is released under the
+      <a href="http://www.gnu.org/licenses/gpl.html" title="WebsiteBaker is released under the GNU General Public License">GNU General Public License</a>
+      <!-- Please note: the above reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
+	</td>
+</tr>
+</table>
+<!-- full skip link functionality in webkit browsers -->
+<!--
+<script src="{THEME_URL}/jquery/webkit-focusfix.js" type="text/javascript"></script>
+-->
+<script src="{WB_URL}/include/jquery/jquery-min.js" type="text/javascript"></script>
+<script src="{WB_URL}/include/jquery/jquery-insert.js" type="text/javascript"></script>
+<!--[if lt IE 7]><script type="text/javascript" src="{WB_URL}/include/jquery/plugins/jquery-pngFix.js"></script><![endif]-->
+<script src="{THEME_URL}/jquery/jquery-plugins.js" type="text/javascript"></script>
+
+{BACKEND_BODY_MODULE_JS}
+</body>
+</html>
+<!-- END footer_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/templates/settings.htt
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/templates/settings.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/templates/settings.htt	(revision 1481)
@@ -0,0 +1,625 @@
+<!-- BEGIN main_block -->
+
+<form name="settings" action="save.php" method="post">
+<input type="hidden" name="advanced" value="{ADVANCED}" />
+
+<table cellpadding="3" cellspacing="0" border="0" align="center" width="100%" class="settings_table">
+<tr>
+	<td colspan="3">
+		<h2>{HEADING_GENERAL_SETTINGS}</h2>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_WEBSITE_TITLE}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" name="website_title" value="{WEBSITE_TITLE}" />
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_WEBSITE_DESCRIPTION}:</td>
+	<td class="setting_value" colspan="2">
+		<textarea name="website_description" cols="50" rows="3">{WEBSITE_DESCRIPTION}</textarea>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_WEBSITE_KEYWORDS}:</td>
+	<td class="setting_value" colspan="2">
+		<textarea name="website_keywords" cols="50" rows="3" >{WEBSITE_KEYWORDS}</textarea>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_WEBSITE_HEADER}:</td>
+	<td class="setting_value" colspan="2">
+		<textarea name="website_header" cols="50" rows="3">{WEBSITE_HEADER}</textarea>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_WEBSITE_FOOTER}:</td>
+	<td class="setting_value" colspan="2">
+		<textarea name="website_footer" cols="50" rows="3">{WEBSITE_FOOTER}</textarea>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_PAGE_LEVEL_LIMIT}:</td>
+	<td class="setting_value" colspan="2">
+		<select name="page_level_limit">
+		<!-- BEGIN page_level_limit_list_block -->
+			<option value="{NUMBER}"{SELECTED}>{NUMBER}</option>
+		<!-- END page_level_limit_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_PAGE_TRASH}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="radio" name="page_trash" id="page_trash_disabled" style="width: 14px; height: 14px;" value="disabled"{PAGE_TRASH_DISABLED} />
+		<label for="page_trash_disabled">{TEXT_DISABLED}</label>
+		<input type="radio" name="page_trash" id="page_trash_inline" style="width: 14px; height: 14px;" value="inline"{PAGE_TRASH_INLINE} />
+		<label for="page_trash_inline">{TEXT_INLINE}</label>
+		<div style="margin: 0; padding: 0;{DISPLAY_PAGE_TRASH_SEPARATE}">
+			<input type="radio" name="page_trash" id="page_trash_separate" style="width: 14px; height: 14px;" value="separate"{PAGE_TRASH_SEPARATE} />
+			<label for="page_trash_separate">{TEXT_SEPARATE}</label>
+		</div>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+        <td class="setting_name">{TEXT_PAGE_LANGUAGES}:</td>
+        <td class="setting_value" colspan="2">
+                <input type="radio" name="page_languages" id="page_languages_true" style="width: 14px; height: 14px;" value="true"{PAGE_LANGUAGES_ENABLED} />
+                <label for="page_languages_true">{TEXT_ENABLED}</label>
+                <input type="radio" name="page_languages" id="page_languages_false" style="width: 14px; height: 14px;" value="false"{PAGE_LANGUAGES_DISABLED} />
+                <label for="page_languages_false">{TEXT_DISABLED}</label>
+		</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_MULTIPLE_MENUS}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="radio" name="multiple_menus" id="multiple_menus_true" style="width: 14px; height: 14px;" value="true"{MULTIPLE_MENUS_ENABLED} />
+		<label for="multiple_menus_true">{TEXT_ENABLED}</label>
+		<input type="radio" name="multiple_menus" id="multiple_menus_false" style="width: 14px; height: 14px;" value="false"{MULTIPLE_MENUS_DISABLED} />
+		<label for="multiple_menus_false">{TEXT_DISABLED}</label>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_HOME_FOLDERS}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="radio" name="home_folders" id="home_folders_true" style="width: 14px; height: 14px;" value="true"{HOME_FOLDERS_ENABLED} />
+		<label for="home_folders_true">{TEXT_ENABLED}</label>
+		<input type="radio" name="home_folders" id="home_folders_false" style="width: 14px; height: 14px;" value="false"{HOME_FOLDERS_DISABLED} />
+		<label for="home_folders_false">{TEXT_DISABLED}</label>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_MANAGE_SECTIONS}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="radio" name="manage_sections" id="manage_sections_true" style="width: 14px; height: 14px;" value="true"{MANAGE_SECTIONS_ENABLED} />
+		<label for="manage_sections_true">{TEXT_ENABLED}</label>
+		<input type="radio" name="manage_sections" id="manage_sections_false" style="width: 14px; height: 14px;" value="false"{MANAGE_SECTIONS_DISABLED} />
+		<label for="manage_sections_false">{TEXT_DISABLED}</label>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_SECTION_BLOCKS}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="radio" name="section_blocks" id="section_blocks_true" style="width: 14px; height: 14px;" value="true"{SECTION_BLOCKS_ENABLED} />
+		<label for="section_blocks_true">{TEXT_ENABLED}</label>
+		<input type="radio" name="section_blocks" id="section_blocks_false" style="width: 14px; height: 14px;" value="false"{SECTION_BLOCKS_DISABLED} />
+		<label for="section_blocks_false">{TEXT_DISABLED}</label>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_INTRO_PAGE}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="radio" name="intro_page" id="intro_page_true" style="width: 14px; height: 14px;" value="true"{INTRO_PAGE_ENABLED} />
+		<label for="intro_page_true">{TEXT_ENABLED}</label>
+		<input type="radio" name="intro_page" id="intro_page_false" style="width: 14px; height: 14px;" value="false"{INTRO_PAGE_DISABLED} />
+		<label for="intro_page_false">{TEXT_DISABLED}</label>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_HOMEPAGE_REDIRECTION}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="radio" name="homepage_redirection" id="homepage_redirection_true" style="width: 14px; height: 14px;" value="true"{HOMEPAGE_REDIRECTION_ENABLED} />
+		<label for="homepage_redirection_true">{TEXT_ENABLED}</label>
+		<input type="radio" name="homepage_redirection" id="homepage_redirection_false" style="width: 14px; height: 14px;" value="false"{HOMEPAGE_REDIRECTION_DISABLED} />
+		<label for="homepage_redirection_false">{TEXT_DISABLED}</label>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_SMART_LOGIN}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="radio" name="smart_login" id="smart_login_true" style="width: 14px; height: 14px;" value="true"{SMART_LOGIN_ENABLED} />
+		<label for="smart_login_true">{TEXT_ENABLED}</label>
+		<input type="radio" name="smart_login" id="smart_login_false" style="width: 14px; height: 14px;" value="false"{SMART_LOGIN_DISABLED} />
+		<label for="smart_login_false">{TEXT_DISABLED}</label>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_LOGIN}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="radio" name="frontend_login" id="frontend_login_true" style="width: 14px; height: 14px;" value="true"{PRIVATE_ENABLED} />
+		<label for="frontend_login_true">{TEXT_ENABLED}</label>
+		<input type="radio" name="frontend_login" id="frontend_login_false" style="width: 14px; height: 14px;" value="false"{PRIVATE_DISABLED} />
+		<label for="frontend_login_false">{TEXT_DISABLED}</label>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_REDIRECT_AFTER}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" name="redirect_timer" value="{REDIRECT_TIMER}" />
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_SIGNUP}:</td>
+	<td class="setting_value" colspan="2">
+		<select name="frontend_signup">
+			<option value="false">{TEXT_DISABLED}</option>
+			<!-- BEGIN group_list_block -->
+				<option value="{ID}" {SELECTED}>{NAME}</option>
+			<!-- END group_list_block -->
+		</select>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_PHP_ERROR_LEVEL}:</td>
+	<td class="setting_value" colspan="2">
+		<select name="er_level">
+			<option value="">{TEXT_PLEASE_SELECT}...</option>
+			<!-- BEGIN error_reporting_list_block -->
+				<option value="{VALUE}"{SELECTED}>{NAME}</option>
+			<!-- END error_reporting_list_block -->
+		</select>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_WYSIWYG_STYLE}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" name="wysiwyg_style" value="{WYSIWYG_STYLE}" />
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_WYSIWYG_EDITOR}:</td>
+	<td class="setting_value" colspan="2">
+		<select name="wysiwyg_editor">
+		<!-- BEGIN editor_list_block -->
+			<option value="{FILE}"{SELECTED}>{NAME}</option>
+		<!-- END editor_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td>&nbsp;</td>
+	<td align="left" nowrap="nowrap">
+		<input type="submit" name="submit" value="{TEXT_SAVE}" class="save" />
+		<input type="reset" name="reset" value="{TEXT_RESET}" class="reset" />
+	</td>
+	<td style="text-align: right;">
+		<button title="{MODE_SWITCH_WARNING}" onclick="window.location = '{ADVANCED_LINK}'; return false;" class="{DISPLAY_ADVANCED_BUTTON}">{ADVANCED_BUTTON}</button>
+	</td>
+</tr>
+<tr>
+	<td colspan="3" style="padding-top: 10px;">
+		<h2>{HEADING_DEFAULT_SETTINGS}</h2>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_LANGUAGE}:</td>
+	<td class="setting_value" colspan="2">
+		<select name="default_language">
+			<!-- BEGIN language_list_block -->
+			<option value="{CODE}"{SELECTED} style="background: url({FLAG}.png) no-repeat center left; padding-left: 20px;">{NAME} ({CODE})</option>
+			<!-- END language_list_block -->
+		</select>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_CHARSET}:</td>
+	<td class="setting_value" colspan="2">
+		<select name="default_charset">
+			<option value="">{TEXT_PLEASE_SELECT}...</option>
+			<!-- BEGIN charset_list_block -->
+				<option value="{VALUE}" {SELECTED}>{NAME}</option>
+			<!-- END charset_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_TIMEZONE}:</td>
+	<td class="setting_value" colspan="2">
+		<select name="default_timezone">
+			<option value="0">{TEXT_PLEASE_SELECT}...</option>
+			<!-- BEGIN timezone_list_block -->
+				<option value="{VALUE}" {SELECTED}>{NAME}</option>
+			<!-- END timezone_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_DATE_FORMAT}:</td>
+	<td class="setting_value" colspan="2">
+		<select name="default_date_format">
+			<option value="M d Y">{TEXT_PLEASE_SELECT}...</option>
+			<!-- BEGIN date_format_list_block -->
+				<option value="{VALUE}" {SELECTED}>{NAME}</option>
+			<!-- END date_format_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_TIME_FORMAT}:</td>
+	<td class="setting_value" colspan="2">
+		<select name="default_time_format">
+			<option value="g:i A">{TEXT_PLEASE_SELECT}...</option>
+			<!-- BEGIN time_format_list_block -->
+				<option value="{VALUE}" {SELECTED}>{NAME}</option>
+			<!-- END time_format_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_TEMPLATE}:</td>
+	<td class="setting_value" colspan="2">
+		<select name="default_template">
+		<!-- BEGIN template_list_block -->
+			<option value="{FILE}"{SELECTED}>{NAME}</option>
+		<!-- END template_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_THEME}:</td>
+	<td class="setting_value" colspan="2">
+		<select name="default_theme">
+		<!-- BEGIN theme_list_block -->
+			<option value="{FILE}"{SELECTED}>{NAME}</option>
+		<!-- END theme_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td>&nbsp;</td>
+	<td>
+		<input type="submit" name="submit" value="{TEXT_SAVE}" class="save" />
+		<input type="reset" name="reset" value="{TEXT_RESET}" class="reset" />
+	</td>
+	<td style="text-align: right;">
+		<button title="{MODE_SWITCH_WARNING}" onclick="window.location = '{ADVANCED_LINK}'; return false;" class="{DISPLAY_ADVANCED_BUTTON}">{ADVANCED_BUTTON}</button>
+	</td>
+</tr>
+<tr>
+	<td colspan="3" style="padding-top: 10px;">
+		<h2>{HEADING_SEARCH_SETTINGS}</h2>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_VISIBILITY}:</td>
+	<td class="setting_value" colspan="2">
+		<select name="search">
+			<option value="public">{TEXT_PUBLIC}</option>
+			<option value="private" {PRIVATE_SEARCH}>{TEXT_PRIVATE}</option>
+			<option value="registered" {REGISTERED_SEARCH}>{TEXT_REGISTERED}</option>
+			<option value="none" {NONE_SEARCH}>{TEXT_NONE}</option>
+		</select>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_TEMPLATE}:</td>
+	<td class="setting_value" colspan="2">
+		<select name="search_template">
+		<!-- BEGIN search_template_list_block -->
+			<option value="{FILE}"{SELECTED}>{NAME}</option>
+		<!-- END search_template_list_block -->
+		</select>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_HEADER}:</td>
+	<td class="setting_value" colspan="2">
+		<textarea name="search_header" style="height: 100px;" cols="50" rows="3">{SEARCH_HEADER}</textarea>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_RESULTS_HEADER}:</td>
+	<td class="setting_value" colspan="2">
+		<textarea name="search_results_header" cols="50" rows="3">{SEARCH_RESULTS_HEADER}</textarea>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_RESULTS_LOOP}:</td>
+	<td class="setting_value" colspan="2">
+		<textarea name="search_results_loop" cols="50" rows="3">{SEARCH_RESULTS_LOOP}</textarea>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_RESULTS_FOOTER}:</td>
+	<td class="setting_value" colspan="2">
+		<textarea name="search_results_footer" cols="50" rows="3">{SEARCH_RESULTS_FOOTER}</textarea>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_NO_RESULTS}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" name="search_no_results" value="{SEARCH_NO_RESULTS}" />
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_FOOTER}:</td>
+	<td class="setting_value" colspan="2">
+		<textarea name="search_footer" cols="50" rows="3">{SEARCH_FOOTER}</textarea>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_MODULE_ORDER}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" name="search_module_order" value="{SEARCH_MODULE_ORDER}" />
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_MAX_EXCERPT}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" name="search_max_excerpt" value="{SEARCH_MAX_EXCERPT}" />
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_TIME_LIMIT}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" name="search_time_limit" value="{SEARCH_TIME_LIMIT}" />
+	</td>
+</tr>
+<tr>
+	<td>&nbsp;</td>
+	<td>
+		<input type="submit" name="submit" value="{TEXT_SAVE}" class="save" />
+		<input type="reset" name="reset" value="{TEXT_RESET}" class="reset" />
+	</td>
+	<td style="text-align: right;">
+		<button title="{MODE_SWITCH_WARNING}" onclick="window.location = '{ADVANCED_LINK}'; return false;" class="{DISPLAY_ADVANCED_BUTTON}">{ADVANCED_BUTTON}</button>
+	</td>
+</tr>
+<tr>
+	<td colspan="3" style="padding-top: 10px;">
+		<h2>{HEADING_SERVER_SETTINGS}</h2>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_SERVER_OPERATING_SYSTEM}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="radio" name="operating_system" id="operating_system_linux" onclick="javascript: change_os('linux');" style="width: 14px; height: 14px;" value="linux"{LINUX_SELECTED} />
+		<label for="operating_system_linux" onclick="javascript: change_os('linux');">{TEXT_LINUX_UNIX_BASED}</label>
+		<input type="radio" name="operating_system" id="operating_system_windows" onclick="javascript: change_os('windows');" style="width: 14px; height: 14px;" value="windows"{WINDOWS_SELECTED} />
+		<label for="operating_system_windows" onclick="javascript: change_os('windows');">{TEXT_WINDOWS}</label>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name"><div id="{BASIC_FILE_PERMS_ID}1" style="margin: 0; padding: 0;">&nbsp;</div></td>
+	<td class="setting_value" colspan="3">
+		<div id="{BASIC_FILE_PERMS_ID}2" style="margin: 0; padding: 0;">
+			<input type="checkbox" name="world_writeable" id="world_writeable" style="width: 14px; height: 14px;" value="true"{WORLD_WRITEABLE_SELECTED} />
+			<label for="world_writeable">
+				{TEXT_WORLD_WRITEABLE_FILE_PERMISSIONS} (777)
+			</label>
+			<br />
+			<font class="note">({WORLD_WRITEABLE_WARNING})</font>
+		</div>
+		<div id="{BASIC_FILE_PERMS_ID}3" style="margin: 0; padding: 0;"></div>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name"><div id="{ADVANCED_FILE_PERMS_ID}1" style="margin: 0; padding: 0;">{TEXT_FILESYSTEM_PERMISSIONS}:</div></td>
+	<td class="setting_value" id="file_mode" align="left">
+		<table cellpadding="2" cellspacing="0" border="0" width="100%" style="border-right: 1px solid #DDDDDD;" id="{ADVANCED_FILE_PERMS_ID}2">
+		<tr>
+			<td colspan="3" style="text-align: center; font-weight: bold;">
+				{TEXT_FILES}:
+			</td>
+		</tr>
+		<tr>
+			<td>{TEXT_USER}:</td>
+			<td>{TEXT_GROUP}:</td>
+			<td>{TEXT_OTHERS}:</td>
+		</tr>
+		<tr>
+			<td width="100" nowrap="nowrap">
+				<input type="checkbox" name="file_u_r" id="file_u_r" value="true"{FILE_U_R_CHECKED} />
+				<label for="file_u_r">{TEXT_READ}</label>
+				<br />
+				<input type="checkbox" name="file_u_w" id="file_u_w" value="true"{FILE_U_W_CHECKED} />
+				<label for="file_u_w">{TEXT_WRITE}</label>
+				<br />
+				<input type="checkbox" name="file_u_e" id="file_u_e" value="true"{FILE_U_E_CHECKED} />
+				<label for="file_u_e">{TEXT_EXECUTE}</label>
+			</td>
+			<td width="100" nowrap="nowrap">
+				<input type="checkbox" name="file_g_r" id="file_g_r" value="true"{FILE_G_R_CHECKED} />
+				<label for="file_g_r">{TEXT_READ}</label>
+				<br />
+				<input type="checkbox" name="file_g_w" id="file_g_w" value="true"{FILE_G_W_CHECKED} />
+				<label for="file_g_w">{TEXT_WRITE}</label>
+				<br />
+				<input type="checkbox" name="file_g_e" id="file_g_e" value="true"{FILE_G_E_CHECKED} />
+				<label for="file_g_e">{TEXT_EXECUTE}</label>
+			</td>
+			<td width="100" nowrap="nowrap">
+				<input type="checkbox" name="file_o_r" id="file_o_r" value="true"{FILE_O_R_CHECKED} />
+				<label for="file_o_r">{TEXT_READ}</label>
+				<br />
+				<input type="checkbox" name="file_o_w" id="file_o_w" value="true"{FILE_O_W_CHECKED} />
+				<label for="file_o_w">{TEXT_WRITE}</label>
+				<br />
+				<input type="checkbox" name="file_o_e" id="file_o_e" value="true"{FILE_O_E_CHECKED} />
+				<label for="file_o_e">{TEXT_EXECUTE}</label>
+			</td>
+		</tr>
+		</table>
+	</td>
+	<td class="setting_value" id="dir_mode" style="text-align: right;">
+		<table cellpadding="2" cellspacing="0" border="0" width="100%" id="{ADVANCED_FILE_PERMS_ID}3">
+		<tr>
+			<td colspan="3" style="text-align: center; font-weight: bold;">
+				{TEXT_DIRECTORIES}:
+			</td>
+		</tr>
+		<tr>
+			<td>{TEXT_USER}:</td>
+			<td>{TEXT_GROUP}:</td>
+			<td>{TEXT_OTHERS}:</td>
+		</tr>
+		<tr>
+			<td width="100" nowrap="nowrap">
+				<input type="checkbox" name="dir_u_r" id="dir_u_r" value="true"{DIR_U_R_CHECKED} />
+				<label for="dir_u_r">{TEXT_READ}</label>
+				<br />
+				<input type="checkbox" name="dir_u_w" id="dir_u_w" value="true"{DIR_U_W_CHECKED} />
+				<label for="dir_u_w">{TEXT_WRITE}</label>
+				<br />
+				<input type="checkbox" name="dir_u_e" id="dir_u_e" value="true"{DIR_U_E_CHECKED} />
+				<label for="dir_u_e">{TEXT_EXECUTE}</label>
+			</td>
+			<td width="100" nowrap="nowrap">
+				<input type="checkbox" name="dir_g_r" id="dir_g_r" value="true"{DIR_G_R_CHECKED} />
+				<label for="dir_g_r">{TEXT_READ}</label>
+				<br />
+				<input type="checkbox" name="dir_g_w" id="dir_g_w" value="true"{DIR_G_W_CHECKED} />
+				<label for="dir_g_w">{TEXT_WRITE}</label>
+				<br />
+				<input type="checkbox" name="dir_g_e" id="dir_g_e" value="true"{DIR_G_E_CHECKED} />
+				<label for="dir_g_e">{TEXT_EXECUTE}</label>
+			</td>
+			<td width="100" nowrap="nowrap">
+				<input type="checkbox" name="dir_o_r" id="dir_o_r" value="true"{DIR_O_R_CHECKED} />
+				<label for="dir_o_r">{TEXT_READ}</label>
+				<br />
+				<input type="checkbox" name="dir_o_w" id="dir_o_w" value="true"{DIR_O_W_CHECKED} />
+				<label for="dir_o_w">{TEXT_WRITE}</label>
+				<br />
+				<input type="checkbox" name="dir_o_e" id="dir_o_e" value="true"{DIR_O_E_CHECKED} />
+				<label for="dir_o_e">{TEXT_EXECUTE}</label>
+			</td>
+		</tr>
+		</table>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_PAGES_DIRECTORY}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" name="pages_directory" value="{PAGES_DIRECTORY}" />
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_MEDIA_DIRECTORY}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" name="media_directory" value="{MEDIA_DIRECTORY}" />
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_PAGE_EXTENSION}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" name="page_extension" value="{PAGE_EXTENSION}" />
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_PAGE_SPACER}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" name="page_spacer" value="{PAGE_SPACER}" />
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_RENAME_FILES_ON_UPLOAD}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" name="rename_files_on_upload" value="{RENAME_FILES_ON_UPLOAD}" />
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_SESSION_IDENTIFIER}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" name="app_name" value="{APP_NAME}" />
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_SEC_ANCHOR}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" name="sec_anchor" value="{SEC_ANCHOR}" />
+	</td>
+</tr>
+<!-- BASIC MAILER SETTINGS -->
+<tr>
+	<td colspan="3" style="padding-top: 10px;">
+		<h2>{HEADING_WBMAILER_SETTINGS}</h2>
+		<p style="line-height: 1.4em; margin-top: 0;">{TEXT_WBMAILER_DEFAULT_SETTINGS_NOTICE}</p>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_WBMAILER_DEFAULT_SENDER_MAIL}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" style="width: 250px;" name="server_email" value="{SERVER_EMAIL}" />
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_WBMAILER_DEFAULT_SENDER_NAME}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" style="width: 250px;" name="wbmailer_default_sendername" value="{WBMAILER_DEFAULT_SENDERNAME}" />
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_WBMAILER_FUNCTION}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="radio" name="wbmailer_routine" id="wbmailer_routine_phpmail" onclick="javascript: change_wbmailer('phpmail');" style="width: 14px; height: 14px;" value="phpmail"{PHPMAIL_SELECTED} />
+		<label for="wbmailer_routine_phpmail" onclick="javascript: change_wbmailer('phpmail');">{TEXT_WBMAILER_PHP}</label>
+		<input type="radio" name="wbmailer_routine" id="wbmailer_routine_smtp" onclick="javascript: change_wbmailer('smtp');" style="width: 14px; height: 14px;" value="smtp"{SMTPMAIL_SELECTED} />
+		<label for="wbmailer_routine_smtp" onclick="javascript: change_wbmailer('smtp');">{TEXT_WBMAILER_SMTP}</label>
+	</td>
+</tr>
+<!-- MORE ADVANCED SMTP MAILER SETTINGS -->
+<tr id="row_wbmailer_smtp_settings"{SMTP_VISIBILITY}>
+	<td colspan="3" style="padding-top: 10px;">
+			<p style="line-height: 1.4em; margin-top: 0;">{TEXT_WBMAILER_NOTICE}</p>
+	</td>
+</tr>
+<tr id="row_wbmailer_smtp_host"{SMTP_VISIBILITY}>
+	<td class="setting_name">{TEXT_WBMAILER_SMTP_HOST}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" style="width: 250px" name="wbmailer_smtp_host" value="{WBMAILER_SMTP_HOST}" />
+	</td>
+</tr>
+<tr id="row_wbmailer_smtp_auth_mode"{SMTP_VISIBILITY}>
+	<td class="setting_name">{TEXT_WBMAILER_SMTP_AUTH}:</td>
+	<td class="setting_value" colspan="3">
+		<input type="checkbox" name="wbmailer_smtp_auth" id="wbmailer_smtp_auth" onclick="javascript: toggle_wbmailer_auth();" style="width: 14px; height: 14px;" value="true"{SMTP_AUTH_SELECTED} />
+		<label for="wbmailer_smtp_auth" onclick="javascript: toggle_wbmailer_auth(this.value);">({TEXT_WBMAILER_SMTP_AUTH_NOTICE})</label>
+	</td>
+</tr>
+<tr id="row_wbmailer_smtp_username"{SMTP_VISIBILITY_AUTH}>
+	<td class="setting_name">{TEXT_WBMAILER_SMTP_USERNAME}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="text" style="width: 250px;" name="wbmailer_smtp_username" value="{WBMAILER_SMTP_USERNAME}" />
+	</td>
+</tr>
+<tr id="row_wbmailer_smtp_password"{SMTP_VISIBILITY_AUTH}>
+	<td class="setting_name">{TEXT_WBMAILER_SMTP_PASSWORD}:</td>
+	<td class="setting_value" colspan="2">
+		<input type="password" style="width: 250px;" name="wbmailer_smtp_password" value="{WBMAILER_SMTP_PASSWORD}" />
+	</td>
+</tr>
+<tr>
+	<td>&nbsp;</td>
+	<td>
+		<input type="submit" name="submit" value="{TEXT_SAVE}" class="save" />
+		<input type="reset" name="reset" value="{TEXT_RESET}" class="reset" />
+	</td>
+	<td style="text-align: right;">
+		<button title="{MODE_SWITCH_WARNING}" onclick="window.location = '{ADVANCED_LINK}'; return false;" class="{DISPLAY_ADVANCED_BUTTON}">{ADVANCED_BUTTON}</button>
+	</td>
+</tr>
+</table>
+
+</form>
+
+<hr size="1" />
+
+<button title="{MODE_SWITCH_WARNING}" onclick="window.location = '{ADVANCED_LINK}'; return false;" class="{DISPLAY_ADVANCED_BUTTON}">{ADVANCED_BUTTON}</button>
+<br />
+<font class="{DISPLAY_ADVANCED_BUTTON}">
+{MODE_SWITCH_WARNING}
+</font>
+<script src="{ADMIN_URL}/settings/setting.js" language="javascript" type="text/javascript"></script>
+<!-- END main_block -->
Index: tags/2.8.2/wb/templates/wb_theme/templates/media_browse.htt
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/templates/media_browse.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/templates/media_browse.htt	(revision 1481)
@@ -0,0 +1,107 @@
+<!-- BEGIN main_block -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<title>Browse Media</title>
+<link href="{THEME_URL}/media.css" rel="stylesheet" type="text/css" />
+<link href="{THEME_URL}/jquery/plugins/fancybox/fancybox.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript">
+function confirm_link(message, url) {
+	if(confirm(message)) location.href = url;
+}
+</script>
+
+<script src="{INCLUDE_PATH}/jquery/jquery-min.js" type="text/javascript"></script>
+<script src="{THEME_URL}/jquery/jquery-fixedheader.js" type="text/javascript"></script>
+<script src="{THEME_URL}/jquery/plugins/fancybox/jquery-fancybox.js" type="text/javascript"></script>
+<script src="{THEME_URL}/jquery/jquery-metadata.js" type="text/javascript"></script>
+
+<script language="javascript" type="text/javascript">
+$(document).ready(function(){
+	$("#browser").fixedHeader({
+		width: '100%', height: 355
+	});
+
+	$("table#browser a.preview").fancybox({
+		'hideOnContentClick': true,
+		'overlayShow': true,
+		'zoomSpeedIn': 0,
+		'zoomSpeedOut': 0
+	});
+})
+</script>
+
+</head>
+<body onload="parent.document.create.target.value = '{MEDIA_DIRECTORY}{CURRENT_DIR}'; parent.document.upload.target.value = '{MEDIA_DIRECTORY}{CURRENT_DIR}';">
+<table cellpadding="4" cellspacing="0" border="0" width="100%" class="browse_header">
+	<tr>
+		<td align="left" width="100">
+			<a href="{PARENT_DIR_LINK}">
+				<img src="{THEME_URL}/images/up_folder_16.png" border="0" class="{DISPLAY_UP_ARROW}" alt="^" align="absmiddle" />
+			</a>
+			<a href="{PARENT_DIR_LINK}" class="{DISPLAY_UP_ARROW}">
+				{TEXT_UP}
+			</a>
+		</td>
+		<td align="center">
+			{TEXT_CURRENT_FOLDER}: {MEDIA_DIRECTORY}{CURRENT_DIR}
+		</td>
+		<td align="right" width="100" >
+			<a href="browse.php?dir={CURRENT_DIR}">
+				<img src="{THEME_URL}/images/reload_16.png" border="0" alt="" align="absmiddle" />
+			</a>
+			<a id="reload" href="browse.php?dir={CURRENT_DIR}">
+				{TEXT_RELOAD}
+			</a>
+		</td>
+	</tr>
+</table>
+
+<table id="browser" cellpadding="4" cellspacing="0" border="0" width="100%" class="{DISPLAY_LIST_TABLE}">
+	<thead>
+		<tr style="background-color: #EEE;">
+			<th width="18" class="headline">{TEXT_TYPE}</th>
+			<th align="left" class="headline">{TEXT_NAME}</th>
+			<th align="right" width="80" class="headline">{TEXT_SIZE}</th>
+			<th align="right" width="80" class="headline">{TEXT_DATE}</th>
+			<th align="right" width="40" class="headline">{TEXT_RENAME}</th>
+			<th align="right" width="40" class="headline">{TEXT_DELETE}</th>
+		</tr>
+	</thead>
+	<tbody>
+		<!-- BEGIN list_block -->
+		<tr style="background-color: #{ROW_BG_COLOR}" onmouseover="this.style.backgroundColor = '#F1F8DD'" onmouseout="this.style.backgroundColor = '#{ROW_BG_COLOR}'">
+			<td style="padding-left: 10px;">
+				<img src="{FILETYPE_ICON}" class="{DISPLAY_ICON}" border="0" alt="" />
+			</td>
+			<td>
+				<a href="{LINK}" target="{LINK_TARGET}" class="{PREVIEW}">
+					{NAME}
+				</a>
+			</td>
+			<td align="right" style="font-size: 10px;">{SIZE}</td>
+			<td align="right" style="font-size: 10px;">{DATE}</td>
+			<td align="right" class="{DISPLAY_RENAME}">
+				<a href="rename.php?dir={CURRENT_DIR}&id={TEMP_ID}" title="{TEXT_RENAME}">
+					<img src="{THEME_URL}/images/modify_16.png" alt="" border="0" />
+				</a>
+			</td>
+			<td style="padding-right: 5px;" align="right" class="{DISPLAY_DELETE}">
+				<a href="#" onclick="javascript: confirm_link('{CONFIRM_DELETE}\n {NAME_SLASHED}', 'delete.php?dir={CURRENT_DIR}&id={TEMP_ID}');" title="{TEXT_DELETE}">
+					<img src="{THEME_URL}/images/delete_16.png" alt="" border="0" />
+				</a>
+			</td>
+		</tr>
+		<!-- END list_block -->
+</table>
+
+<span class="{DISPLAY_NONE_FOUND}">
+<br />
+&nbsp; &nbsp; 
+{NONE_FOUND}
+</span>
+
+</body>
+</html>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/templates/users.htt
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/templates/users.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/templates/users.htt	(revision 1481)
@@ -0,0 +1,37 @@
+<!-- BEGIN main_block -->
+
+<form name="users" action="users.php" method="post">
+
+<input type="hidden" name="action" value="delete" />
+
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr>
+	<td align="left">
+		<h2>{HEADING_MODIFY_DELETE_USER}</h2>
+	</td>
+	<td align="right">
+		<!-- BEGIN manage_groups_block -->
+		<a href="{ADMIN_URL}/groups/index.php">{TEXT_MANAGE_GROUPS}</a>
+		<!-- END manage_groups_block -->
+	</td>
+</tr>
+</table>
+
+<br />
+
+<select name="user_id" style="width: 500px;">
+<!-- BEGIN list_block -->
+	<option value="{VALUE}">{NAME}</option>
+<!-- END list_block -->
+</select>
+
+<input type="submit" name="modify" style="width: 100px;" value="{TEXT_MODIFY}" class="{DISPLAY_MODIFY}" />
+<input type="submit" name="delete" style="width: 100px;" value="{TEXT_DELETE}" onclick="return confirm('{CONFIRM_DELETE}');" class="{DISPLAY_DELETE}" />
+
+</form>
+
+<br />
+
+<h2 style="margin-top: 20px;" class="{DISPLAY_ADD}">{HEADING_ADD_USER}</h2>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/templates/preferences.htt
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/templates/preferences.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/templates/preferences.htt	(revision 1481)
@@ -0,0 +1,134 @@
+<!-- BEGIN main_block -->
+
+<form name="details" action="details.php" method="post">
+
+<h2>{HEADING_MY_SETTINGS}</h2>
+
+<table cellpadding="5" cellspacing="0" border="0" width="100%">
+<tr>
+	<td width="160">{TEXT_DISPLAY_NAME}:</td>
+	<td>
+		<input type="text" name="display_name" value="{DISPLAY_NAME}" style="width: 98%;" />
+		<script language="javascript" type="text/javascript">
+		document.details.display_name.focus();
+		</script>
+	</td>
+</tr>
+<tr>
+	<td>{TEXT_LANGUAGE}:</td>
+	<td>
+		<select name="language" style="width: 98%;">
+			<!-- BEGIN language_list_block -->
+			<option value="{CODE}"{SELECTED} style="background: url({FLAG}.png) no-repeat center left; padding-left: 20px;">{NAME} ({CODE})</option>
+			<!-- END language_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td>{TEXT_TIMEZONE}:</td>
+	<td>
+		<select name="timezone" style="width: 98%;">
+			<option value="-20">{TEXT_PLEASE_SELECT}...</option>
+			<!-- BEGIN timezone_list_block -->
+				<option value="{VALUE}" {SELECTED}>{NAME}</option>
+			<!-- END timezone_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td>{TEXT_DATE_FORMAT}:</td>
+	<td>
+		<select name="date_format" style="width: 98%;">
+			<option value="">{TEXT_PLEASE_SELECT}...</option>
+			<!-- BEGIN date_format_list_block -->
+				<option value="{VALUE}" {SELECTED}>{NAME}</option>
+			<!-- END date_format_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td>{TEXT_TIME_FORMAT}:</td>
+	<td>
+		<select name="time_format" style="width: 98%;">
+			<option value="">{TEXT_PLEASE_SELECT}...</option>
+			<!-- BEGIN time_format_list_block -->
+				<option value="{VALUE}" {SELECTED}>{NAME}</option>
+			<!-- END time_format_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td>&nbsp;</td>
+	<td>
+		<input type="submit" name="submit" value="{TEXT_SAVE}" />
+		<input type="reset" name="reset" value="{TEXT_RESET}" />
+	</td>
+</tr>
+</table>
+
+</form>
+
+<form name="email" action="email.php" method="post">
+
+<h2>{HEADING_MY_EMAIL}</h2>
+
+<table cellpadding="5" cellspacing="0" border="0" width="100%">
+<tr>
+	<td width="160">{TEXT_CURRENT_PASSWORD}:</td>
+	<td>
+		<input type="password" name="current_password" style="width: 98%;" />
+	</td>
+</tr>
+<tr>
+	<td>{TEXT_EMAIL}:</td>
+	<td>
+		<input type="text" name="email" value="{EMAIL}" style="width: 98%;" />
+	</td>
+</tr>
+<tr>
+	<td>&nbsp;</td>
+	<td>
+		<input type="submit" name="submit" value="{TEXT_SAVE}" />
+		<input type="reset" name="reset" value="{TEXT_RESET}" />
+	</td>
+</tr>
+</table>
+
+</form>
+
+<form name="password" action="password.php" method="post">
+
+<h2 style="margin-top: 20px;">{HEADING_MY_PASSWORD}</h2>
+
+<table cellpadding="5" cellspacing="0" border="0" width="100%">
+<tr>
+	<td width="160">{TEXT_CURRENT_PASSWORD}:</td>
+	<td>
+		<input type="password" name="current_password" style="width: 98%;" />
+	</td>
+</tr>
+<tr>
+	<td width="160">{TEXT_NEW_PASSWORD}:</td>
+	<td>
+		<input type="password" name="new_password" style="width: 98%;" />
+	</td>
+</tr>
+<tr>
+	<td width="160">{TEXT_RETYPE_NEW_PASSWORD}:</td>
+	<td>
+		<input type="password" name="new_password2" style="width: 98%;" />
+	</td>
+</tr>
+
+<tr>
+	<td>&nbsp;</td>
+	<td>
+		<input type="submit" name="submit" value="{TEXT_SAVE}" />
+		<input type="reset" name="reset" value="{TEXT_RESET}" />
+	</td>
+</tr>
+</table>
+
+</form>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/templates/groups_form.htt
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/templates/groups_form.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/templates/groups_form.htt	(revision 1481)
@@ -0,0 +1,293 @@
+<!-- BEGIN main_block -->
+
+<h2 style="{DISPLAY_EXTRA}">{HEADING_MODIFY_GROUP}</h2>
+
+<form name="group" action="{ACTION_URL}" method="post" class="{DISPLAY_ADD}">
+<input type="hidden" name="advanced" value="{ADVANCED}" />
+<input type="hidden" name="group_id" value="{GROUP_ID}" />
+
+<table cellpadding="5" cellspacing="0" border="0" width="100%">
+<tr>
+	<td width="150">{TEXT_NAME}:</td>
+	<td>
+		<input type="text" name="group_name" maxlength="255" value="{GROUP_NAME}" style="width: 100%" />
+	</td>
+</tr>
+</table>
+<table cellpadding="5" cellspacing="0" border="0" width="100%" style="{DISPLAY_BASIC}">
+<tr>
+	<td width="150" valign="top">{TEXT_SYSTEM_PERMISSIONS}:</td>
+	<td>
+		<table cellpadding="0" cellspacing="0" width="100%" border="0">
+		<tr>
+			<td>
+				<input type="checkbox" name="pages" id="pages" value="1" {pages_checked} />
+				<label for="pages">{SECTION_PAGES}</label>
+			</td>
+			<td>
+				<input type="checkbox" name="media" id="media" value="1" {media_checked} />
+				<label for="media">{SECTION_MEDIA}</label>
+			</td>
+			<td>
+				<input type="checkbox" name="modules" id="modules" value="1" {modules_checked} />
+				<label for="modules">{SECTION_MODULES}</label>
+			</td>
+			<td>
+				<input type="checkbox" name="templates" id="templates" value="1" {templates_checked} />
+				<label for="templates">{SECTION_TEMPLATES}</label>
+			</td>
+		</tr>
+		<tr>
+			<td>
+				<input type="checkbox" name="languages" id="languages" value="1" {languages_checked} />
+				<label for="languages">{SECTION_LANGUAGES}</label>
+			</td>
+			<td>		
+				<input type="checkbox" name="settings" id="settings" value="1" {settings_checked} />
+				<label for="settings">{SECTION_SETTINGS}</label>
+			</td>
+			<td>
+				<input type="checkbox" name="users" id="users" value="1" {users_checked} />
+				<label for="users">{SECTION_USERS}</label>
+			</td>
+			<td>
+				<input type="checkbox" name="groups" id="groups" value="1" {groups_checked} />
+				<label for="groups">{SECTION_GROUPS}</label>
+			</td>
+		</tr>
+		<tr>
+			<td>
+				<input type="checkbox" name="admintools" id="admintools" value="1" {admintools_checked} />
+				<label for="admintools">{SECTION_ADMINTOOLS}</label>
+			</td>
+			<td>&nbsp;</td>
+			<td>&nbsp;</td>
+			<td>&nbsp;</td>
+		</tr>
+		</table>
+	</td>
+</tr>
+</table>
+<table cellpadding="5" cellspacing="0" border="0" width="100%" style="{DISPLAY_ADVANCED}">
+<tr>
+	<td valign="top">{TEXT_SYSTEM_PERMISSIONS}:</td>
+	<td align="left">
+
+
+<table cellpadding="3" cellspacing="0" border="0" width="400">
+<tr>
+	<td colspan="4">
+		<h3>{SECTION_PAGES}</h3>
+	</td>
+</tr>
+<tr>
+	<td><input name="pages_view" id="pages_view" type="checkbox" value="1" {pages_view_checked} /></td>
+	<td><label for="pages_view">{TEXT_VIEW}</label></td>
+	<td><input name="pages_add" id="pages_add" type="checkbox" value="1" {pages_add_checked} /></td>
+	<td>
+		<label for="pages_add">{TEXT_ADD}</label>
+		&nbsp;
+		<input name="pages_add_l0" id="pages_add_l0" type="checkbox" value="1" {pages_add_l0_checked} />
+		<label for="pages_add_l0">{TEXT_LEVEL} 0</label>)
+	</td>
+</tr>
+<tr>
+	<td><input name="pages_settings" id="pages_settings" type="checkbox" value="1" {pages_settings_checked} /></td>
+	<td><label for="pages_settings">{TEXT_MODIFY_SETTINGS}</label></td>
+	<td><input name="pages_modify" id="pages_modify" type="checkbox" value="1" {pages_modify_checked} /></td>
+	<td><label for="pages_modify">{TEXT_MODIFY_CONTENT}</label></td>
+</tr>
+<tr>
+	<td><input name="pages_intro" id="pages_intro" type="checkbox" value="1" {pages_intro_checked} /></td>
+	<td><label for="pages_intro">{HEADING_MODIFY_INTRO_PAGE}</label></td>
+	<td><input name="pages_delete" id="pages_delete" type="checkbox" value="1" {pages_delete_checked} /></td>
+	<td><label for="pages_delete">{TEXT_DELETE}</label></td>
+</tr>
+<tr>
+	<td colspan="4">
+		<h3>{SECTION_MEDIA}</h3>
+	</td>
+</tr>
+<tr>
+	<td><input name="media_view" id="media_view" type="checkbox" value="1" {media_view_checked} /></td>
+	<td><label for="media_view">{TEXT_VIEW}</label></td>
+	<td><input name="media_upload" id="media_upload" type="checkbox" value="1" {media_upload_checked} /></td>
+	<td><label for="media_upload">{TEXT_UPLOAD_FILES}</label></td>
+</tr>
+<tr>
+	<td><input name="media_rename" id="media_rename" type="checkbox" value="1" {media_rename_checked} /></td>
+	<td><label for="media_rename">{TEXT_RENAME}</label></td>
+	<td><input name="media_delete" id="media_delete" type="checkbox" value="1" {media_delete_checked} /></td>
+	<td><label for="media_delete">{TEXT_DELETE}</label></td>
+</tr>
+<tr>
+	<td><input name="media_create" id="media_create" type="checkbox" value="1" {media_create_checked} /></td>
+	<td><label for="media_create">{TEXT_CREATE_FOLDER}</label></td>
+	<td>&nbsp;</td>
+	<td>&nbsp;</td>
+</tr>
+<tr>
+	<td colspan="4">
+		<h3>{SECTION_MODULES}</h3>
+	</td>
+</tr>
+<tr>
+	<td><input name="modules_view" id="modules_view" type="checkbox" value="1" {modules_view_checked} /></td>
+	<td><label for="modules_view">{TEXT_VIEW}</label></td>
+	<td><input name="modules_install" id="modules_install" type="checkbox" value="1" {modules_install_checked} /></td>
+	<td><label for="modules_install">{TEXT_ADD}</label></td>
+</tr>
+<tr>
+	<td><input name="modules_uninstall" id="modules_uninstall" type="checkbox" value="1" {modules_uninstall_checked} /></td>
+	<td><label for="modules_uninstall">{TEXT_DELETE}</label></td>
+	<td>&nbsp;</td>
+	<td>&nbsp;</td>
+</tr>
+<tr>
+	<td colspan="4">
+		<h3>{SECTION_TEMPLATES}</h3>
+	</td>
+</tr>
+<tr>
+	<td><input name="templates_view" id="templates_view" type="checkbox" value="1" {templates_view_checked} /></td>
+	<td><label for="templates_view">{TEXT_VIEW}</label></td>
+	<td><input name="templates_install" id="templates_install" type="checkbox" value="1" {templates_install_checked} /></td>
+	<td><label for="templates_install">{TEXT_ADD}</label></td>
+</tr>
+<tr>
+	<td><input name="templates_uninstall" id="templates_uninstall" type="checkbox" value="1" {templates_uninstall_checked} /></td>
+	<td><label for="templates_uninstall">{TEXT_DELETE}</label></td>
+	<td>&nbsp;</td>
+	<td>&nbsp;</td>
+</tr>
+<tr>
+	<td colspan="4">
+		<h3>{SECTION_LANGUAGES}</h3>
+	</td>
+</tr>
+<tr>
+	<td><input name="languages_view" id="languages_view" type="checkbox" value="1" {languages_view_checked} /></td>
+	<td><label for="languages_view">{TEXT_VIEW}</label></td>
+	<td><input name="languages_install" id="languages_install" type="checkbox" value="1" {languages_install_checked} /></td>
+	<td><label for="languages_install">{TEXT_ADD}</label></td>
+</tr>
+<tr>
+	<td><input name="languages_uninstall" id="languages_uninstall" type="checkbox" value="1" {languages_uninstall_checked} /></td>
+	<td><label for="languages_uninstall">{TEXT_DELETE}</label></td>
+	<td>&nbsp;</td>
+	<td>&nbsp;</td>
+</tr>
+<tr>
+	<td colspan="4">
+		<h3>{SECTION_SETTINGS}</h3>
+	</td>
+</tr>
+<tr>
+	<td><input name="settings_basic" id="settings_basic" type="checkbox" value="1" {settings_basic_checked} /></td>
+	<td><label for="settings_basic">{TEXT_BASIC}</label></td>
+	<td><input name="settings_advanced" id="settings_advanced" type="checkbox" value="1" {settings_advanced_checked} /></td>
+	<td><label for="settings_advanced">{TEXT_ADVANCED}</label></td>
+</tr>
+<tr>
+	<td colspan="4">
+		<h3>{SECTION_USERS}</h3>
+	</td>
+</tr>
+<tr>
+	<td><input name="users_view" id="users_view" type="checkbox" value="1" {users_view_checked} /></td>
+	<td><label for="users_view">{TEXT_VIEW}</label></td>
+	<td><input name="users_add" id="users_add" type="checkbox" value="1" {users_add_checked} /></td>
+	<td><label for="users_add">{TEXT_ADD}</label></td>
+</tr>
+<tr>
+	<td><input name="users_modify" id="users_modify" type="checkbox" value="1" {users_modify_checked} /></td>
+	<td><label for="users_modify">{TEXT_MODIFY}</label></td>
+	<td><input name="users_delete" id="users_delete" type="checkbox" value="1" {users_delete_checked} /></td>
+	<td><label for="users_delete">{TEXT_DELETE}</label></td>
+</tr>
+<tr>
+	<td colspan="4">
+		<h3>{SECTION_GROUPS}</h3>
+	</td>
+</tr>
+<tr>
+	<td><input name="groups_view" id="groups_view" type="checkbox" value="1" {groups_view_checked} /></td>
+	<td><label for="groups_view">{TEXT_VIEW}</label></td>
+	<td><input name="groups_add" id="groups_add" type="checkbox" value="1" {groups_add_checked} /></td>
+	<td><label for="groups_add">{TEXT_ADD}</label></td>
+</tr>
+<tr>
+	<td><input name="groups_modify" id="groups_modify" type="checkbox" value="1" {groups_modify_checked} /></td>
+	<td><label for="groups_modify">{TEXT_MODIFY}</label></td>
+	<td><input name="groups_delete" id="groups_delete" type="checkbox" value="1" {groups_delete_checked} /></td>
+	<td><label for="groups_delete">{TEXT_DELETE}</label></td>
+</tr>
+<tr>
+	<td colspan="4">
+		<h3>{SECTION_ADMINTOOLS}</h3>
+	</td>
+</tr>
+<tr>
+	<td><input name="admintools_settings" id="admintools_settings" type="checkbox" value="1" {admintools_settings_checked} /></td>
+	<td><label for="admintools_settings">{TEXT_MODIFY_SETTINGS}</label></td>
+	<td>&nbsp;</td>
+	<td>&nbsp;</td>
+</tr>
+</table>
+
+
+	</td>
+</tr>
+</table>
+
+<table cellpadding="5" cellspacing="0" border="0" width="100%" style="padding-top: 5px; padding-bottom: 5px;">
+<tr>
+	<td valign="top" align="left" width="150">
+	{TEXT_MODULE_PERMISSIONS}:
+	</td>
+	<td valign="top" align="left">
+		<ul style="margin: 0; padding: 0; list-style: none;">
+			<!-- BEGIN module_list_block -->
+			<li>
+				<input type="checkbox" name="module_permissions[]" id="m_{VALUE}" value="{VALUE}" {CHECKED} />
+				<label for="m_{VALUE}">{NAME}</label>
+			</li>
+			<!-- END module_list_block -->
+		</ul>
+	</td>
+	<td valign="top" align="left" width="150">
+	{TEXT_TEMPLATE_PERMISSIONS}:
+	</td>
+	<td valign="top" align="left">
+		<ul style="margin: 0; padding: 0; list-style: none;">
+			<!-- BEGIN template_list_block -->
+			<li>
+				<input type="checkbox" name="template_permissions[]" id="t_{VALUE}" value="{VALUE}" {CHECKED} />
+				<label for="t_{VALUE}">{NAME}</label>
+			</li>
+			<!-- END template_list_block -->
+		</ul>
+	</td>
+</tr>
+
+<tr>
+	<td colspan="2"><input type="submit" name="submit" value="{SUBMIT_TITLE}" /></td>
+    <td colspan="2" align="right"><input type="reset" name="reset" value="{TEXT_RESET}" /></td>
+</tr>
+</table>
+</form>
+
+<table cellpadding="5" cellspacing="0" border="0" width="100%">
+<tr>
+	<td align="center">
+	<form name="advanced" action="{ADVANCED_ACTION}" method="post">
+        <input type="hidden" name="group_id" value="{GROUP_ID}" />
+        <input type="hidden" name="action" value="modify" />
+        <input type="submit" name="advanced" onclick="window.location = '{ADVANCED_LINK}';" value="{ADVANCED_BUTTON}" />
+    </form>
+	</td>
+</tr>
+</table>
+
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/templates/pages_modify.htt
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/templates/pages_modify.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/templates/pages_modify.htt	(revision 1481)
@@ -0,0 +1,22 @@
+<!-- BEGIN main_block -->
+
+<table cellpadding="5" cellspacing="0" border="0" align="center" width="100%" style="margin-bottom: 10px;">
+<tr style="background-color: #F0F0F0;">
+	<td valign="middle" align="left">
+		<h2>{HEADING_MODIFY_PAGE}</h2>
+	</td>
+	<td align="right">
+		{TEXT_CURRENT_PAGE}:
+		<b>{PAGE_TITLE}</b>
+		- 
+		<a href="{ADMIN_URL}/pages/settings.php?page_id={PAGE_ID}">{TEXT_CHANGE_SETTINGS}</a>
+		<font style="{DISPLAY_MANAGE_SECTIONS}">-</font>
+		<a href="{ADMIN_URL}/pages/sections.php?page_id={PAGE_ID}" style="{DISPLAY_MANAGE_SECTIONS}">{TEXT_MANAGE_SECTIONS}</a>
+		<font style="color: #999999;" class="{CLASS_DISPLAY_MODIFIED}"><br />
+		{LAST_MODIFIED} {MODIFIED_BY} ({MODIFIED_BY_USERNAME}), {MODIFIED_WHEN}
+		</font>
+	</td>
+</tr>
+</table>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/templates/pages_sections.htt
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/templates/pages_sections.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/templates/pages_sections.htt	(revision 1481)
@@ -0,0 +1,118 @@
+<!-- BEGIN main_block -->
+        <div class="jsadmin jcalendar hide"></div>
+        <table cellpadding="0" cellspacing="0" class="sections_header">
+            <tr>
+                <td valign="middle" align="left">
+                    <h2>{HEADING_MANAGE_SECTIONS}</h2>
+                </td>
+                <td>ID: {PAGE_ID}</td>
+                <td align="right">{TEXT_CURRENT_PAGE}: <b>{PAGE_TITLE}</b>
+                    -
+                    <a href="{ADMIN_URL}/pages/modify.php?page_id={PAGE_ID}">{HEADING_MODIFY_PAGE}</a>
+                    -
+                    <a href="{ADMIN_URL}/pages/settings.php?page_id={PAGE_ID}">{TEXT_CHANGE_SETTINGS}</a>
+                </td>
+            </tr>
+        </table>
+
+        <form name="section_properties" action="{ADMIN_URL}/pages/sections_save.php?page_id={VAR_PAGE_ID}" method="post">
+        <table cellpadding="5" cellspacing="0" align="center" border="0" width="100%">
+                <tr class="sections_list">
+                	<td valign="middle" width="{NAME_SIZE}">{TEXT_TYPE}:</td>
+                	<td {STYLE_DISPLAY_SECTION_BLOCK}>{TEXT_BLOCK}:</td>
+                	<td class="header_list_pubdate_start">{TEXT_PUBL_START_DATE}:</td>
+                	<td class="header_list_pubdate_end">{TEXT_PUBL_END_DATE}:</td>
+                	<td class="header_list_sections_actions"  colspan="3">{TEXT_ACTIONS}:</td>
+                    <td class="header_list_section_id">{TEXT_SID}</td>
+                    <td valign="middle" align="left"{DISPLAY_DEBUG}>{TEXT_PID}</td>
+                </tr>
+<!-- BEGIN section_block -->
+            	<tr onmouseover="this.style.backgroundColor = '#F1F8DD'" onmouseout="this.style.backgroundColor = '#FFF'">
+    				<td style="display: none;">
+                      <input type="hidden" name="page_id" value="{VAR_PAGE_ID}"  />
+                      <input type="hidden" name="section_id" value="{VAR_SECTION_ID}"  />
+                      {VAR_SECTION_ID}
+                    </td>
+
+                    <td valign="middle" width="{NAME_SIZE}">{LINK_MODIFY_URL_VAR_MODUL_NAME}</td>
+
+                    <td valign="middle" class="{INPUT_ATTRIBUTE}"{STYLE_DISPLAY_SECTION_BLOCK}>
+                    	<select name="block{VAR_SECTION_ID}" class="input_narrow">
+                        {SET_NONE_DISPLAY_OPTION}
+                    	<!-- BEGIN block_block -->
+                    		<option value="{VALUE}"{SELECTED}>{NAME}</option>
+                    	<!-- END block_block -->
+                    	</select>
+                    </td>
+
+                    <td valign="middle" nowrap="nowrap" width="120"><input type="text" id="start_date{VAR_SECTION_ID}" name="start_date{VAR_SECTION_ID}" value="{VALUE_PUBL_START}" class="input_normal" />
+                        <img src="{THEME_URL}/images/{CLOCK_16_PNG}" id="trigger_start{VAR_SECTION_ID}" style="cursor: pointer;" title="{TEXT_CALENDAR}" alt="start"  />
+                        <img src="{THEME_URL}/images/{CLOCK_DEL_16_PNG}" style="cursor: pointer;" alt="del" title="{TEXT_DELETE_DATE}" onclick="document.section_properties.start_date{VAR_SECTION_ID}.value=''" />
+                    </td>
+
+                    <td valign="middle" nowrap="nowrap" width="120"><input type="text" id="end_date{VAR_SECTION_ID}" name="end_date{VAR_SECTION_ID}" value="{VALUE_PUBL_END}" class="input_narrow" />
+                        <img src="{THEME_URL}/images/{CLOCK_16_PNG}" id="trigger_stop{VAR_SECTION_ID}" alt="end" style="cursor: pointer;" title="{TEXT_CALENDAR}"  />
+                        <img src="{THEME_URL}/images/{CLOCK_DEL_16_PNG}" style="cursor: pointer;" alt="del" title="{TEXT_DELETE_DATE}" onclick="document.section_properties.end_date{VAR_SECTION_ID}.value=''" />
+                    </td>
+
+                    <td valign="middle" width="20">
+                        {VAR_MOVE_UP_URL}
+                    </td>
+
+                    <td valign="middle"  width="20">
+                        {VAR_MOVE_DOWN_URL}
+                    </td>
+
+                    <td valign="middle" width="20">
+                        <a href="javascript: confirm_link('{TEXT_ARE_YOU_SURE}', '{ADMIN_URL}/pages/sections.php?page_id={VAR_PAGE_ID}&amp;section_id={VAR_SECTION_ID}');">
+                        <img src="{THEME_URL}/images/{DELETE_16_PNG}" alt="X" />
+                        </a>
+                    </td>
+                    <td valign="middle" align="right">
+                       {VAR_SECTION_ID}
+                    </td>
+                    <td valign="middle" align="right"{DISPLAY_DEBUG}>
+                       {POSITION}
+                    </td>
+                </tr>
+<!-- END section_block -->
+                <tr>
+                    <td valign="middle" align="right" colspan="{DEBUG_COLSPAN_SIZE}"><input type="submit" name="save" value="{TEXT_SAVE}" class="input_medium" /></td>
+    	        </tr>
+	    </table>
+    </form>
+
+	<h2>{TEXT_ADD_SECTION}</h2>
+	<form name="add" action="{ADMIN_URL}/pages/sections.php?page_id={VAR_PAGE_ID}" method="post">
+        <input type="hidden" name="page_id" value="{VAR_PAGE_ID}"  />
+    	<table cellpadding="5" cellspacing="0" border="0" align="center" width="100%">
+    	<tr>
+    		<td width="100%">
+    			<select name="module" class="input_full">
+                <!-- BEGIN module_block -->
+    			 <option value="{VALUE}"{SELECTED}>{NAME}</option>
+                 <!-- END module_block -->
+    			</select>
+    		</td>
+			<td >
+    			<input type="submit" name="submit" value="{TEXT_ADD}" class="input_medium" />
+    		</td>
+    	</tr>
+    	</table>
+	</form>
+    <!-- BEGIN calendar_block -->
+    <script type="text/javascript" >
+         var section_id = '{VAR_SECTION_ID}';
+         var start_date = '{start_date}';
+         var end_date = '{end_date}';
+         var trigger_start = '{trigger_start}';
+         var trigger_end = '{trigger_end}';
+         var jscal_today = '{jscal_today}';
+         var jscal_ifformat = '{jscal_ifformat}';
+         var jscal_firstday = {jscal_firstday};
+         var showsTime = {showsTime};
+         var timeFormat = {timeFormat};
+    </script>
+    <script type="text/javascript" src="{ADMIN_URL}/pages/page_calendar.js" ></script>
+    <!-- END calendar_block -->
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/templates/login.htt
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/templates/login.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/templates/login.htt	(revision 1481)
@@ -0,0 +1,93 @@
+<!-- BEGIN mainBlock -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<title>{TEXT_LOGIN}</title>
+<meta http-equiv="content-type" content="text/html; charset={CHARSET}" />
+<meta http-equiv="content-language" content="{LANGUAGE}" />
+<meta name="description" content="{TEXT_LOGIN}" />
+<meta name="keywords" content="{TEXT_LOGIN}" />
+<link href="{THEME_URL}/theme.css" rel="stylesheet" type="text/css" />
+</head>
+<body onload="document.login.{USERNAME_FIELDNAME}.focus();">
+
+<table cellpadding="0" cellspacing="0" border="0" width="770" align="center">
+<tr>
+	<td width="60" valign="top">
+		<img src="{THEME_URL}/images/logo.png" alt="Logo" />
+	</td>
+	<td width="5">&nbsp;</td>
+	<td style="font-size: 20px; ">
+		<font style="color: #FFFFFF;">{SECTION_LOGIN}</font>
+	</td>
+</tr>
+</table>
+
+<table cellpadding="0" cellspacing="0" border="0" width="770" align="center" style="margin-top: 30px;" class="container">
+<tr>
+	<td class="content">
+	
+	<form name="login" action="{ACTION_URL}" method="post">
+	<input type="hidden" name="url" value="{URL}" />
+	<input type="hidden" name="username_fieldname" value="{USERNAME_FIELDNAME}" />
+	<input type="hidden" name="password_fieldname" value="{PASSWORD_FIELDNAME}" />
+		<table cellpadding="5" cellspacing="0" border="0" align="center" width="500">
+		<tr>
+			<td height="40" align="center" colspan="2">{MESSAGE}</td>
+		</tr>
+		<tr>
+			<td height="10" colspan="2"></td>
+		</tr>
+		<tr>
+			<td width="170" height="30" align="right">{TEXT_USERNAME}:</td>
+			<td><input type="text" maxlength="{MAX_USERNAME_LEN}" name="{USERNAME_FIELDNAME}" value="{USERNAME}" style="width: 180px;" /></td>
+		</tr>
+		<tr>
+			<td width="170" height="30" align="right">{TEXT_PASSWORD}:</td>
+			<td><input type="password" maxlength="{MAX_PASSWORD_LEN}" name="{PASSWORD_FIELDNAME}" style="width: 180px;" /></td>
+		</tr>
+		<tr style="{DISPLAY_REMEMBER_ME}">
+			<td>&nbsp;</td>
+			<td>
+				<input type="checkbox" name="remember" id="remember" value="true" />
+				<label for="remember">
+					{TEXT_REMEMBER_ME}
+				</label>
+			</td>
+		</tr>
+		<tr>
+			<td>&nbsp;</td>
+			<td><input type="submit" name="submit" value="{TEXT_LOGIN}" style="width: 180px; font-size: 10px; text-transform: uppercase; color: #003366; border: 1px solid #336699; background-color: #DDDDDD; padding: 3px;" /></td>
+		</tr>
+		<tr>
+			<td height="10" colspan="2"></td>
+		</tr>
+		</table>
+	</form>
+	
+	<center>
+		<a href="{FORGOTTEN_DETAILS_APP}">{TEXT_FORGOTTEN_DETAILS}</a>
+		<br />
+		<br />
+		<br />
+		<a href="{WB_URL}">{TEXT_HOME}</a>
+	</center>
+
+	</td>
+</tr>
+</table>
+
+<table cellpadding="0" cellspacing="0" border="0" width="100%" style="padding: 10px 0px 10px 0px;">
+<tr>
+	<td style="font-size:12px;text-align:center;">
+      <!-- Please note: the below reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
+      <a href="http://www.websitebaker2.org/" title="external">WebsiteBaker</a> is released under the
+      <a href="http://www.gnu.org/licenses/gpl.html" title="WebsiteBaker is released under the GNU General Public License">GNU General Public License</a>
+      <!-- Please note: the above reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
+	</td>
+</tr>
+</table>
+
+</body>
+</html>
+<!-- END mainBlock -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/templates/media.htt
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/templates/media.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/templates/media.htt	(revision 1481)
@@ -0,0 +1,94 @@
+<!-- BEGIN main_block -->
+
+<script src="{THEME_URL}/jquery/toggle_zip.js" type="text/javascript"></script>
+
+<h2>{HEADING_BROWSE_MEDIA}</h2>
+
+<iframe width="100%" height="382px" src="browse.php" scrolling="no"></iframe>
+<br />
+<form name="create" action="create.php" method="post" class="{DISPLAY_CREATE}">
+
+<h2>{HEADING_CREATE_FOLDER}</h2>
+
+<table cellpadding="3" cellspacing="0" border="0" width="100%">
+<tr>
+	<td width="100">{TEXT_TARGET_FOLDER}:</td>
+	<td>
+		<select name="target" style="width: 100%;">
+			<option value="{MEDIA_DIRECTORY}{HOME_DIRECTORY}" selected="selected">{MEDIA_DIRECTORY}{HOME_DIRECTORY}</option>
+			<!-- BEGIN dir_list_block -->
+				<option value="{NAME}">{NAME}</option>
+			<!-- END dir_list_block -->
+		</select>
+	</td>
+</tr>
+</table>
+<table cellpadding="3" cellspacing="0" border="0" width="100%">
+<tr>
+	<td width="100">{TEXT_NAME}:</td>
+	<td>
+		<input type="text" name="name" style="width: 100%;" />
+	</td>
+	<td align="right" width="160">
+		<input type="submit" name="submit" value="{TEXT_CREATE_FOLDER}" style="width: 160px;" />
+	</td>
+</tr>
+</table>
+
+</form>
+
+<form name="upload" action="upload.php" method="post" enctype="multipart/form-data" class="{DISPLAY_UPLOAD}">
+
+<br />
+
+<h2>{HEADING_UPLOAD_FILES}</h2>
+
+<table cellpadding="3" cellspacing="0" border="0" width="100%">
+<tr>
+	<td width="100">{TEXT_TARGET_FOLDER}:</td>
+	<td>
+		<select name="target" style="width: 100%;">
+			<option value="{MEDIA_DIRECTORY}{HOME_DIRECTORY}" selected="selected">{MEDIA_DIRECTORY}{HOME_DIRECTORY}</option>
+			<!-- BEGIN dir_list_block -->
+				<option value="{NAME}">{NAME}</option>
+			<!-- END dir_list_block -->
+		</select>
+	</td>
+</tr>
+</table>
+<table cellpadding="3" cellspacing="0" border="0" align="center" width="100%">
+    <tr>
+    	<td valign="top"><input type="checkbox" name="unzip" id="unzip"  onclick="toggle();" />
+<label for="unzip">{TEXT_UNZIP_FILE}</label>
+<span id="delzip" style="display: none;"><br /><input type="checkbox" name="delzip" id="deletezip" />
+<label for="deletezip">{TEXT_DELETE_ZIP}</label></span>
+</td>
+      <td valign="top"><input type="checkbox" name="overwrite" id="overwrite" value="yes" /><label for="overwrite">{TEXT_OVERWRITE_EXISTING}{TEXT_FILES}</label>      </td>
+      <td width="160" valign="top"><input type="submit" name="submit" value="{TEXT_UPLOAD_FILES}" style="width: 160px;" /></td>
+    </tr>
+  </table>
+<table cellpadding="3" cellspacing="0" border="0" width="100%">
+    <tr>
+      <td width="50%" align="left"><input type="file" size="27" name="file1" /></td>
+      <td width="50%" align="right"><input type="file" size="27" name="file2" id="file2" style="visibility: visible;" /></td>
+    </tr>
+    <tr>
+      <td width="50%" align="left"><input type="file" size="27" name="file3" id="file3" style="visibility: visible;" /></td>
+      <td width="50%" align="right"><input type="file" size="27" name="file4" id="file4" style="visibility: visible;" /></td>
+    </tr>
+    <tr>
+      <td width="50%" align="left"><input type="file" size="27" name="file5" id="file5" style="visibility: visible;" /></td>
+      <td width="50%" align="right"><input type="file" size="27" name="file6" id="file6" style="visibility: visible;" /></td>
+    </tr>
+    <tr>
+      <td width="50%" align="left"><input type="file" size="27" name="file7" id="file7" style="visibility: visible;" /></td>
+      <td width="50%" align="right"><input type="file" size="27" name="file8" id="file8" style="visibility: visible;" /></td>
+    </tr>
+    <tr>
+      <td width="50%" align="left"><input type="file" size="27" name="file9" id="file9" style="visibility: visible;" /></td>
+      <td width="50%" align="right"><input type="file" size="27" name="file10" id="file10" style="visibility: visible;" /></td>
+    </tr>
+  </table>
+</form>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/templates/groups.htt
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/templates/groups.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/templates/groups.htt	(revision 1481)
@@ -0,0 +1,37 @@
+<!-- BEGIN main_block -->
+
+<form name="groups" action="groups.php" method="post">
+
+<input type="hidden" name="action" value="delete" />
+
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr>
+	<td align="left">
+		<h2>{HEADING_MODIFY_DELETE_GROUP}</h2>
+	</td>
+	<td align="right">
+		<!-- BEGIN manage_users_block -->
+		<a href="{ADMIN_URL}/users/index.php">{TEXT_MANAGE_USERS}</a>
+		<!-- END manage_users_block -->
+	</td>
+</tr>
+</table>
+
+<br />
+
+<select name="group_id" style="width: 500px;">
+<!-- BEGIN list_block -->
+	<option value="{VALUE}">{NAME}</option>
+<!-- END list_block -->
+</select>
+
+<input type="submit" name="modify" style="width: 100px;" value="{TEXT_MODIFY}" class="{DISPLAY_MODIFY}" />
+<input type="submit" name="delete" style="width: 100px;" value="{TEXT_DELETE}" onclick="return confirm('{CONFIRM_DELETE}');" class="{DISPLAY_DELETE}" />
+
+</form>
+
+<br />
+
+<h2 class="{DISPLAY_ADD}">{HEADING_ADD_GROUP}</h2>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/templates/pages_settings.htt
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/templates/pages_settings.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/templates/pages_settings.htt	(revision 1481)
@@ -0,0 +1,181 @@
+<!-- BEGIN main_block -->
+
+<script src="{ADMIN_URL}/pages/page_settings.js" type="text/javascript" language="javascript"></script>
+
+<table cellpadding="5" cellspacing="0" border="0" align="center" width="100%" style="margin-bottom: 10px;">
+<tr style="background-color: #F0F0F0;">
+	<td valign="middle" align="left">
+		<h2>{HEADING_MODIFY_PAGE_SETTINGS}</h2>
+	</td>
+	<td nowrap="nowrap">ID: {PAGE_ID}</td>
+	<td align="right">
+		{TEXT_CURRENT_PAGE}:
+		<b>{PAGE_TITLE}</b>
+		-
+		<a href="{ADMIN_URL}/pages/modify.php?page_id={PAGE_ID}">{TEXT_MODIFY_PAGE}</a>
+		<font style="{DISPLAY_MANAGE_SECTIONS}">-</font>
+		<a href="{ADMIN_URL}/pages/sections.php?page_id={PAGE_ID}" style="{DISPLAY_MANAGE_SECTIONS}">{TEXT_MANAGE_SECTIONS}</a>
+		<br />
+		<font style="color: #999999;" class="{DISPLAY_MODIFIED}">
+			{LAST_MODIFIED} {MODIFIED_BY} ({MODIFIED_BY_USERNAME}), {MODIFIED_WHEN}
+		</font>
+	</td>
+</tr>
+</table>
+
+<form name="settings" action="settings2.php" method="post">
+
+<input type="hidden" name="page_id" value="{PAGE_ID}" />
+
+<table cellpadding="2" cellspacing="0" border="0" width="100%" align="center">
+<tr>
+	<td width="100" height="20">{TEXT_PAGE_TITLE}:</td>
+	<td width="240" height="20">
+		<input type="text" name="page_title" value="{PAGE_TITLE}" style="width: 232px;" />
+	</td>
+	<td rowspan="10" valign="top" style="padding-left: 20px; padding-top: 8px;">
+		{TEXT_ADMINISTRATORS}:
+		<ul style="list-style-type: none; margin: 0; padding: 0;">
+			<!-- BEGIN group_list_block -->
+			<li>
+			<input type="checkbox" name="admin_groups[]" id="admin_group_{ID}" value="{ID}"{CHECKED}{DISABLED} />
+			<label for="admin_group_{TOGGLE}">{NAME}</label>
+			</li>
+			<!-- END group_list_block -->
+		</ul>
+	</td>
+	<td rowspan="10" valign="top" style="padding-left: 20px; padding-top: 8px;">
+		<div id="allowed_viewers" style="{DISPLAY_VIEWERS}">
+			{TEXT_ALLOWED_VIEWERS}:
+			<ul style="list-style-type: none; margin: 0; padding: 0;">
+				<!-- BEGIN group_list_block2 -->
+				<li>
+				<input type="checkbox" name="viewing_groups[]" id="viewing_group_{ID}" value="{ID}"{CHECKED}{DISABLED} />
+				<label for="viewing_group_{TOGGLE}">{NAME}</label>
+				</li>
+				<!-- END group_list_block2 -->
+			</ul>
+		</div>
+	</td>
+</tr>
+<tr>
+	<td width="100" height="20">{TEXT_MENU_TITLE}:</td>
+	<td width="240" height="20">
+		<input type="text" name="menu_title" value="{MENU_TITLE}" style="width: 232px;" />
+	</td>
+</tr>
+<tr>
+	<td width="100">{TEXT_PARENT}:</td>
+	<td width="240">
+		<select name="parent" style="width: 240px;" onchange="return disabled_hack_for_ie(this);">
+			<!-- BEGIN page_list_block2 -->
+			<option value="{ID}"{SELECTED} style="background: {FLAG_ROOT_ICON} no-repeat center left; padding-left: 20px;">{TITLE}</option>
+			<!-- END page_list_block2 -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td width="100">{TEXT_VISIBILITY}:</td>
+	<td width="240">
+		<select name="visibility" onchange="javascript: toggle_viewers();" style="width: 240px;">
+			<option value="public"{PUBLIC_SELECTED}>{TEXT_PUBLIC}</option>
+			<option value="private"{PRIVATE_SELECTED}>{TEXT_PRIVATE}</option>
+			<option value="registered"{REGISTERED_SELECTED}>{TEXT_REGISTERED}</option>
+			<option value="hidden"{HIDDEN_SELECTED}>{TEXT_HIDDEN}</option>
+			<option value="none"{NO_VIS_SELECTED}>{TEXT_NONE}</option>
+		</select>
+	</td>
+</tr>
+<tr>
+	<td width="100" valign="top">{TEXT_DESCRIPTION}:</td>
+	<td>
+		<textarea name="description" rows="10" cols="1" style="width: 236px; height: 50px;">{DESCRIPTION}</textarea>
+	</td>
+</tr>
+<tr>
+	<td width="100" valign="top">{TEXT_KEYWORDS}:</td>
+	<td>
+		<textarea name="keywords" rows="10" cols="1" style="width: 236px; height: 50px;">{KEYWORDS}</textarea>
+	</td>
+</tr>
+<tr>
+	<td>
+		{TEXT_TARGET}:
+	</td>
+	<td>
+		<select name="target" style="width: 240px;" ><!--  value="{TARGET}" -->
+			<option value="_blank"{BLANK_SELECTED}>{TEXT_NEW_WINDOW}</option>
+			<option value="_self"{SELF_SELECTED}>{TEXT_SAME_WINDOW}</option>
+			<option value="_top"{TOP_SELECTED}>{TEXT_TOP_FRAME}</option>
+		</select>
+	</td>
+</tr>
+<tr>
+	<td width="100">{TEXT_TEMPLATE}:</td>
+	<td width="240">
+		<select name="template" style="width: 240px;">
+			<option value="">{TEXT_SYSTEM_DEFAULT}</option>
+			<option value="">----------------------</option>
+			<!-- BEGIN template_list_block -->
+			<option value="{VALUE}"{SELECTED}>{NAME}</option>
+			<!-- END template_list_block -->
+		</select>
+	</td>
+</tr>
+<tr style="{DISPLAY_MENU_LIST}">
+	<td width="100">{TEXT_MENU}:</td>
+	<td width="240">
+		<select name="menu" style="width: 240px;">
+			<!-- BEGIN menu_list_block -->
+			<option value="{VALUE}"{SELECTED}>{NAME}</option>
+			<!-- END menu_list_block -->
+		</select>
+	</td>
+</tr>
+<tr style="{DISPLAY_LANGUAGE_LIST}">
+	<td width="100">{TEXT_LANGUAGE}:</td>
+	<td class="list_language">
+		<select name="language" style="width: 240px;">
+			<!-- BEGIN language_list_block -->
+			<option value="{VALUE}"{SELECTED} style="background: {FLAG_LANG_ICONS} no-repeat center left; padding-left: 20px;">{NAME}</option>
+			<!-- END language_list_block -->
+		</select>
+	</td>
+</tr>
+<!-- insert page_code 20090904-->
+<tr{DISPLAY_CODE_PAGE_LIST}>
+	<td width="100">{TEXT_PAGE_CODE}:</td>
+	<td class="list_page_code">
+		<select name="page_code" class="value_page_code">
+			<!-- BEGIN page_code_list_block -->
+			<option value="{VALUE}"{SELECTED} style="background: {FLAG_CODE_ICON} no-repeat center left; padding-left: 20px;">{PAGE_VALUE}</option>
+			<!-- END page_code_list_block -->
+		</select>
+	</td>
+</tr>
+<!-- page code -->
+<tr>
+	<td width="100">{TEXT_SEARCHING}:</td>
+	<td width="240">
+		<select name="searching" style="width: 240px;">
+			<option value="1">{TEXT_ENABLED}</option>
+			<option value="0"{SEARCHING_DISABLED}>{TEXT_DISABLED}</option>
+		</select>
+	</td>
+</tr>
+<tr>
+	<td width="100">&nbsp;</td>
+	<td colspan="4">
+		<input type="submit" name="submit" value="{TEXT_SAVE} {SECTION_SETTINGS}" style="width: 117px;" />
+		<input type="reset" name="reset" value="{TEXT_RESET}" style="width: 117px;" />
+	</td>
+</tr>
+<tr>
+	<td>&nbsp;</td>
+	<td>&nbsp;</td>
+</tr>
+</table>
+
+</form>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/templates/access.htt
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/templates/access.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/templates/access.htt	(revision 1481)
@@ -0,0 +1,48 @@
+<!-- BEGIN main_block -->
+
+<table cellpadding="0" cellspacing="0" border="0" width="99%" align="center">
+<tr>
+	<td align="center" valign="top">
+		<!-- BEGIN users_block -->	
+		<table cellpadding="0" cellspacing="0" border="0" class="section" {DISPLAY_USERS} >
+		<tr>
+			<td class="graphic" align="center" valign="middle" rowspan="2">
+				<a href="{ADMIN_URL}/users/index.php">
+					<img src="{THEME_URL}/icons/users.png" alt="{USERS}" />
+				</a>
+			</td>
+			<td class="title">
+				<a href="{ADMIN_URL}/users/index.php">{USERS}</a>
+			</td>
+		</tr>
+		<tr>
+			<td class="description">
+				{USERS_OVERVIEW}
+			</td>
+		</tr>
+		</table>
+		<!-- END users_block -->
+		<!-- BEGIN groups_block -->		
+		<table cellpadding="0" cellspacing="0" border="0" class="section" {DISPLAY_GROUPS} >
+		<tr>
+			<td class="graphic" align="center" valign="middle" rowspan="2">
+				<a href="{ADMIN_URL}/groups/index.php">
+					<img src="{THEME_URL}/icons/groups.png" alt="{GROUPS}" />
+				</a>
+			</td>
+			<td class="title">
+				<a href="{ADMIN_URL}/groups/index.php">{GROUPS}</a>
+			</td>
+		</tr>
+		<tr>
+			<td class="description">
+				{GROUPS_OVERVIEW}
+			</td>
+		</tr>
+		</table>
+		<!-- END groups_block -->
+	</td>
+</tr>
+</table>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/templates/addons.htt
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/templates/addons.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/templates/addons.htt	(revision 1481)
@@ -0,0 +1,68 @@
+<!-- BEGIN main_block -->
+<div class="box">
+	{URL_ADVANCED}
+</div>
+
+<table cellpadding="0" cellspacing="0" border="0" width="99%" align="center">
+<tr>
+	<td align="center" valign="top">
+		<!-- BEGIN modules_block -->
+		<table cellpadding="0" cellspacing="0" border="0" class="section" {DISPLAY_MODULES} >
+		<tr>
+			<td class="graphic" align="center" valign="middle" rowspan="2"><a href="{ADMIN_URL}/modules/index.php"><img src="{THEME_URL}/icons/modules.png" alt="0" /></a></td>
+			<td class="title"><a href="{ADMIN_URL}/modules/index.php">{MODULES}</a></td>
+		</tr>
+		<tr>
+			<td class="description">{MODULES_OVERVIEW}</td>
+		</tr>
+		</table>
+		<!-- END modules_block -->		
+		<!-- BEGIN templates_block -->
+		<table cellpadding="0" cellspacing="0" border="0" class="section" {DISPLAY_TEMPLATES} >
+		<tr>
+			<td class="graphic" align="center" valign="middle" rowspan="2"><a href="{ADMIN_URL}/templates/index.php"><img src="{THEME_URL}/icons/templates.png" alt="{TEMPLATES}" /></a></td>
+			<td class="title"><a href="{ADMIN_URL}/templates/index.php">{TEMPLATES}</a></td>
+		</tr>
+		<tr>
+			<td class="description">{TEMPLATES_OVERVIEW}</td>
+		</tr>
+		</table>
+		<!-- END templates_block -->
+		<!-- BEGIN languages_block -->
+		<table cellpadding="0" cellspacing="0" border="0" class="section" {DISPLAY_LANGUAGES} >
+		<tr>
+			<td class="graphic" align="center" valign="middle" rowspan="2"><a href="{ADMIN_URL}/languages/index.php"><img src="{THEME_URL}/icons/languages.png" alt="{LANGUAGES}" /></a></td>
+			<td class="title"><a href="{ADMIN_URL}/languages/index.php">{LANGUAGES}</a></td>
+		</tr>
+		<tr>
+			<td class="description">{LANGUAGES_OVERVIEW}</td>
+		</tr>
+		</table>
+		<!-- END languages_block -->
+		<!-- BEGIN reload_block -->
+		<table cellpadding="0" cellspacing="0" border="0" class="section" {DISPLAY_RELOAD} >
+		<tr>
+			<td class="graphic" align="center" valign="middle" rowspan="2"><img src="{THEME_URL}/icons/admintools.png" alt="{TXT_ADMIN_SETTINGS}" /></td>
+			<td class="title">{TXT_ADMIN_SETTINGS}</td>
+		</tr>
+		<tr>
+			<td class="description">
+				<form action="{RELOAD_URL}" method="post">
+				{MESSAGE_RELOAD_ADDONS}<br style="margin-bottom: 0.5em" />
+				<input {DISPLAY_MODULES} type="checkbox" name="reload_modules" id="reload_modules" value="true" />
+				<label {DISPLAY_MODULES} for="reload_modules">{MODULES}</label>
+				<input {DISPLAY_TEMPLATES} type="checkbox" name="reload_templates" id="reload_templates" value="true" />
+				<label {DISPLAY_TEMPLATES} for="reload_templates">{TEMPLATES}</label>
+				<input {DISPLAY_LANGUAGES} type="checkbox" name="reload_languages" id="reload_languages" value="true" />
+				<label {DISPLAY_LANGUAGES} for="reload_languages">{LANGUAGES}</label>
+				<input type="submit" name="submit" value="{TEXT_RELOAD}" />
+				</form>
+			</td>
+		</tr>
+		</table>
+		<!-- END reload_block -->
+	</td>
+</tr>
+</table>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/templates/templates.htt
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/templates/templates.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/templates/templates.htt	(revision 1481)
@@ -0,0 +1,79 @@
+<!-- BEGIN main_block -->
+
+<div class="box">
+	{URL_MODULES}&nbsp;&nbsp;{URL_LANGUAGES}
+</div>
+
+<br />
+{CHANGE_TEMPLATE_NOTICE}<br /><br />
+
+<form name="install" enctype="multipart/form-data" action="install.php" method="post" class="{DISPLAY_INSTALL}">
+
+<h2>{HEADING_INSTALL_TEMPLATE}</h2>
+
+<table cellpadding="2" cellspacing="0" border="0" width="100%">
+<tr>
+	<td>
+		<input type="file" name="userfile" size="82%" />
+		<script language="javascript" type="text/javascript">
+		document.install.userfile.focus();
+		</script>
+	</td>
+	<td width="110" align="left">
+		<input type="submit" name="submit" value="{TEXT_INSTALL}" style="width: 100px;" />
+	</td>
+</tr>
+</table>
+
+<br />
+
+</form>
+
+<form name="uninstall" action="uninstall.php" method="post" class="{DISPLAY_UNINSTALL}">
+
+<h2>{HEADING_UNINSTALL_TEMPLATE}</h2>
+
+<table cellpadding="2" cellspacing="0" border="0" width="100%">
+<tr>
+	<td>
+		<select name="file" style="width: 97%;">
+		<option value="" selected="selected">{TEXT_PLEASE_SELECT}...</option>
+		<!-- BEGIN template_list_block -->
+			<option value="{VALUE}">{NAME}</option>
+		<!-- END template_list_block -->
+		</select>
+	</td>
+	<td width="110">
+		<input type="submit" name="submit" value="{TEXT_UNINSTALL}" style="width: 100px;" />
+	</td>
+</tr>
+</table>
+
+<br />
+
+</form>
+
+<form name="details" action="details.php" method="post" class="{DISPLAY_LIST}">
+
+<h2>{HEADING_TEMPLATE_DETAILS}</h2>
+
+<table cellpadding="2" cellspacing="0" border="0" width="100%">
+<tr>
+	<td>
+		<select name="file" style="width: 97%;">
+		<option value="" selected="selected">{TEXT_PLEASE_SELECT}...</option>
+		<!-- BEGIN template_list_block -->
+			<option value="{VALUE}">{NAME}</option>
+		<!-- END template_list_block -->
+		</select>
+	</td>
+	<td width="110">
+		<input type="submit" name="submit" value="{TEXT_VIEW_DETAILS}" style="width: 100px;" />
+	</td>
+</tr>
+</table>
+
+<br />
+</form>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/templates/languages.htt
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/templates/languages.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/templates/languages.htt	(revision 1481)
@@ -0,0 +1,76 @@
+<!-- BEGIN main_block -->
+
+<div class="box">
+	{URL_MODULES}&nbsp;&nbsp;{URL_TEMPLATES}
+</div>
+
+<form name="install" enctype="multipart/form-data" action="install.php" method="post" class="{DISPLAY_INSTALL}">
+
+<h2>{HEADING_INSTALL_LANGUAGE}</h2>
+
+<table cellpadding="2" cellspacing="0" border="0" width="100%">
+<tr>
+	<td>
+		<input type="file" name="userfile" size="82%" />
+		<script language="javascript" type="text/javascript">
+		document.install.userfile.focus();
+		</script>
+	</td>
+	<td width="110" align="left">
+		<input type="submit" name="submit" value="{TEXT_INSTALL}" style="width: 100px;" />
+	</td>
+</tr>
+</table>
+
+<br />
+
+</form>
+
+<form name="uninstall" action="uninstall.php" method="post" class="{DISPLAY_UNINSTALL}">
+
+<h2>{HEADING_UNINSTALL_LANGUAGE}</h2>
+
+<table cellpadding="2" cellspacing="0" border="0" width="100%">
+<tr>
+	<td>
+		<select name="code" style="width: 97%;">
+		<option value="" selected="selected">{TEXT_PLEASE_SELECT}...</option>
+		<!-- BEGIN language_list_block -->
+			<option value="{VALUE}">{NAME}</option>
+		<!-- END language_list_block -->
+		</select>
+	</td>
+	<td width="110">
+		<input type="submit" name="submit" value="{TEXT_UNINSTALL}" style="width: 100px;" />
+	</td>
+</tr>
+</table>
+
+<br />
+
+</form>
+
+<form name="details" action="details.php" method="post" class="{DISPLAY_LIST}">
+
+<h2>{HEADING_LANGUAGE_DETAILS}</h2>
+
+<table cellpadding="2" cellspacing="0" border="0" width="100%">
+<tr>
+	<td>
+		<select name="code" style="width: 97%;">
+		<option value="" selected="selected">{TEXT_PLEASE_SELECT}...</option>
+		<!-- BEGIN language_list_block -->
+			<option value="{VALUE}">{NAME}</option>
+		<!-- END language_list_block -->
+		</select>
+	</td>
+	<td width="110">
+		<input type="submit" name="submit" value="{TEXT_VIEW_DETAILS}" style="width: 100px;" />
+	</td>
+</tr>
+</table>
+
+<br />
+</form>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/templates/modules.htt
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/templates/modules.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/templates/modules.htt	(revision 1481)
@@ -0,0 +1,119 @@
+<!-- BEGIN main_block -->
+
+<div class="box">
+	{URL_TEMPLATES}&nbsp;&nbsp;{URL_LANGUAGES}&nbsp;&nbsp;{URL_ADVANCED}
+</div>
+
+<form name="install" enctype="multipart/form-data" action="install.php" method="post" class="{DISPLAY_INSTALL}">
+
+<h2>{HEADING_INSTALL_MODULE}</h2>
+
+<table cellpadding="2" cellspacing="0" border="0" width="100%">
+<tr>
+	<td>
+		<input type="file" name="userfile" size="82%" />
+		<script language="javascript" type="text/javascript">
+		document.install.userfile.focus();
+		</script>
+	</td>
+	<td width="110" align="left">
+		<input type="submit" name="submit" value="{TEXT_INSTALL}" style="width: 100px;" />
+	</td>
+</tr>
+</table>
+
+<br />
+
+</form>
+
+<form name="uninstall" action="uninstall.php" method="post" class="{DISPLAY_UNINSTALL}">
+
+<h2>{HEADING_UNINSTALL_MODULE}</h2>
+
+<table cellpadding="2" cellspacing="0" border="0" width="100%">
+<tr>
+	<td>
+		<select name="file" style="width: 97%;">
+		<option value="" selected="selected">{TEXT_PLEASE_SELECT}...</option>
+		<!-- BEGIN module_list_block -->
+			<option value="{VALUE}">{NAME}</option>
+		<!-- END module_list_block -->
+		</select>
+	</td>
+	<td width="110">
+		<input type="submit" name="submit" value="{TEXT_UNINSTALL}" style="width: 100px;" />
+	</td>
+</tr>
+</table>
+
+<br />
+
+</form>
+
+<form name="details" action="details.php" method="post" class="{DISPLAY_LIST}">
+
+<h2>{HEADING_MODULE_DETAILS}</h2>
+
+<table cellpadding="2" cellspacing="0" border="0" width="100%">
+<tr>
+	<td>
+		<select name="file" style="width: 97%;">
+		<option value="" selected="selected">{TEXT_PLEASE_SELECT}...</option>
+		<!-- BEGIN module_list_block -->
+			<option value="{VALUE}">{NAME}</option>
+		<!-- END module_list_block -->
+		</select>
+	</td>
+	<td width="110">
+		<input type="submit" name="submit" value="{TEXT_VIEW_DETAILS}" style="width: 100px;" />
+	</td>
+</tr>
+</table>
+
+<br />
+</form>
+
+<div class="{DISPLAY_MANUAL_INSTALL}">
+<h2>{HEADING_INVOKE_MODULE_FILES}</h2>
+<p>{TEXT_MANUAL_INSTALLATION}</p>
+
+<form name="details" action="manual_install.php" method="post" class="{INSTALL_VISIBLE}">
+	<strong>{TEXT_FILE}:</strong> "install.php"&nbsp;&nbsp;&nbsp;
+	<input type="hidden" name="action" value="install" />
+	<select name="file" style="width: 250px;">
+	<option value="" selected="selected">{TEXT_PLEASE_SELECT}...</option>
+		<!-- BEGIN install_list_block -->
+		<option value="{VALUE}">{NAME}</option>
+		<!-- END install_list_block -->
+	</select>
+	<input type="submit" name="submit" value="{TEXT_EXECUTE}" style="width: 100px; margin-left: 1em;" />
+</form>
+
+<form name="details" action="manual_install.php" method="post" class="{UPGRADE_VISIBLE}">
+	<br />{TEXT_FILE}: "upgrade.php"
+	<input type="hidden" name="action" value="upgrade" />
+	<select name="file" style="width: 250px;">
+	<option value="" selected="selected">{TEXT_PLEASE_SELECT}...</option>
+		<!-- BEGIN upgrade_list_block -->
+		<option value="{VALUE}">{NAME}</option>
+		<!-- END upgrade_list_block -->
+	</select>
+	<input type="submit" name="submit" value="{TEXT_EXECUTE}" style="width: 100px; margin-left: 1em;" />
+</form>
+
+<form name="details" action="manual_install.php" method="post" class="{UNINSTALL_VISIBLE}">
+	<br />{TEXT_FILE}: "uninstall.php"
+	<input type="hidden" name="action" value="uninstall" />
+	<select name="file" style="width: 250px;">
+	<option value="" selected="selected">{TEXT_PLEASE_SELECT}...</option>
+		<!-- BEGIN uninstall_list_block -->
+		<option value="{VALUE}">{NAME}</option>
+		<!-- END uninstall_list_block -->
+	</select>
+	<input type="submit" name="submit" value="{TEXT_EXECUTE}" style="width: 100px; margin-left: 1em;" />
+</form>
+
+<p style="color: red;">{TEXT_MANUAL_INSTALLATION_WARNING}</p>
+</div>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/templates/pages.htt
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/templates/pages.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/templates/pages.htt	(revision 1481)
@@ -0,0 +1,98 @@
+<!-- BEGIN main_block -->
+<div class="{DISPLAY_ADD}">
+    <h2>{HEADING_ADD_PAGE}</h2>
+    <form name="add" action="add.php" method="post">
+    <table cellpadding="2" cellspacing="0" border="0" width="100%" align="center">
+    <tr>
+    	<td width="70" height="20">{TEXT_TITLE}:</td>
+    	<td width="240" height="20">
+    		<input type="text" name="title" style="width: 232px;" />
+    	</td>
+    	<td rowspan="6" valign="top" style="padding-left: 20px; padding-top: 8px;">
+    		{TEXT_ADMINISTRATORS}:
+    		<ul style="list-style-type: none; margin: 0; padding: 0;">
+    			<!-- BEGIN group_list_block -->
+    			<li>
+    			<input type="checkbox" name="admin_groups[]" id="admin_group_{ID}" value="{ID}"{CHECKED}{DISABLED} />
+    			<label for="admin_group_{TOGGLE}">{NAME}</label>
+    			</li>
+    			<!-- END group_list_block -->
+    		</ul>
+    	</td>
+    	<td rowspan="6" valign="top" style="padding-left: 20px; padding-top: 8px;">
+    		<div id="viewers" style="display: none;">
+    			{TEXT_REGISTERED_VIEWERS}:
+    			<ul style="list-style-type: none; margin: 0; padding: 0;">
+    				<!-- BEGIN group_list_block2 -->
+    				<li>
+    				<input type="checkbox" name="viewing_groups[]" id="viewing_group_{ID}" value="{ID}"{CHECKED}{DISABLED} />
+    				<label for="viewing_group_{TOGGLE}">{NAME}</label>
+    				</li>
+    				<!-- END group_list_block2 -->
+    			</ul>
+    		</div>
+    	</td>
+    </tr>
+    <tr>
+    	<td width="70">{TEXT_TYPE}:</td>
+    	<td width="240">
+    		<select name="type" style="width: 240px;">
+    			<!-- BEGIN module_list_block -->
+    				<option value="{VALUE}"{SELECTED}>{NAME}</option>
+    			<!-- END module_list_block -->
+    		</select>
+    	</td>
+    </tr>
+    <tr>
+    	<td width="70">{TEXT_PARENT}:</td>
+    	<td width="240">
+    		<select name="parent" style="width: 240px;" onchange="return disabled_hack_for_ie(this);">
+    			<!-- BEGIN page_list_block2 -->
+    			<option value="{ID}"{DISABLED} style="background: {FLAG_ROOT_ICON} no-repeat center left; padding-left: 20px;">{TITLE}</option>
+    			<!-- END page_list_block2 -->
+    		</select>
+    	</td>
+    </tr>
+    <tr>
+    	<td width="70">{TEXT_VISIBILITY}:</td>
+    	<td width="240">
+    		<select name="visibility" onchange="javascript: toggle_viewers();" style="width: 240px;">
+    			<option value="public"{SELECTED}>{TEXT_PUBLIC}</option>
+    			<option value="private">{TEXT_PRIVATE}</option>
+    			<option value="registered">{TEXT_REGISTERED}</option>
+    			<option value="hidden">{TEXT_HIDDEN}</option>
+    			<option value="none">{TEXT_NONE}</option>
+    		</select>
+    	</td>
+    </tr>
+    <tr>
+    	<td width="70">&nbsp;</td>
+    	<td colspan="4">
+    		<input type="submit" name="submit" value="{TEXT_ADD}" style="width: 117px;" />
+    		<input type="reset" name="reset" value="{TEXT_RESET}" style="width: 117px;" />
+    	</td>
+    </tr>
+    <tr>
+    	<td>&nbsp;</td>
+    	<td>&nbsp;</td>
+    </tr>
+    </table>
+
+    </form>
+
+</div>
+<div class="{DISPLAY_INTRO}" style="padding-top: 10px;">
+<br />
+<h2>{HEADING_MODIFY_INTRO_PAGE}</h2>
+<a href="intro.php">
+{INTRO_LINK}
+</a>
+
+</div>
+<!-- Addition for remembering expanded state of pages -->
+<script type="text/javascript" language="javascript">
+var THEME_URL = '{THEME_URL}';
+var WB_URL = '{WB_URL}';
+</script>
+<script src="{ADMIN_URL}/pages/page_index.js" type="text/javascript" language="javascript"></script>
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/templates/admintools.htt
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/templates/admintools.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/templates/admintools.htt	(revision 1481)
@@ -0,0 +1,30 @@
+<!-- BEGIN main_block -->
+
+<table cellpadding="3" cellspacing="0" border="0" align="center" width="100%" class="tool_table">
+
+<tr class="advanced">
+	<td colspan="3">
+		<a name="administration_tools"></a>
+		<h2>{HEADING_ADMINISTRATION_TOOLS}</h2>
+	</td>
+</tr>
+<tr>
+	<td colspan="3">
+		<ul>
+		<!-- BEGIN tool_list_block -->
+		<li>
+		<a href="{ADMIN_URL}/admintools/tool.php?tool={TOOL_DIR}">{TOOL_NAME}</a>
+		<br />{TOOL_DESCRIPTION}
+		</li>
+		<!-- END tool_list_block -->
+		</ul>
+		{TOOL_LIST}
+	</td>
+	<td>
+		&nbsp;
+	</td>
+	<td>&nbsp;</td>
+</tr>
+</table>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/templates/index.php
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/templates/index.php	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/templates/index.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+/**
+ * $Id$
+ * Website Baker theme: wb_theme
+ * This theme is the default WB backend Theme
+ * Feel free to modify or build up on this template.
+ *
+ * This file prevents directory listing.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Johannes Tassilo Gruber
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    2.80
+ * @platform   Website Baker 2.8
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+// prevent directory listing
+header('Location: ../../../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/wb_theme/templates/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/templates/warning.html
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/templates/warning.html	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/templates/warning.html	(revision 1481)
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<title>Maximum Invalid Login Attemps Exceeded</title>
+<style type="text/css"><!--
+body,td,th {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 12px;
+	color: #000000;
+}
+body {
+	margin: 0px;
+  background: #A8BCCB url(../images/background.png) ;
+  background-repeat:repeat-x;
+}
+a:link, a:visited, a:active {
+	color: #003366;
+	text-decoration: none;
+}
+a:hover {
+	text-decoration: underline;
+	color: #336699;
+}
+h1 {
+	text-align: center;
+	font-size: 18px;
+	color: #000;
+	text-transform: uppercase;
+}
+hr {
+	height: 1px;
+	color: #336699;
+	background-color: #336699;
+	border: 0;
+}
+div#message {
+	text-align: center;
+}
+--></style></head>
+<body>
+
+<div id='message'>
+	<h1>Excessive Invalid Logins</h1>
+	You have attempted to login too many times
+</div>
+
+</body>
+</html>
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/templates/error.htt
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/templates/error.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/templates/error.htt	(revision 1481)
@@ -0,0 +1,6 @@
+<!-- BEGIN main_block -->
+<div style='text-align:center;'>
+	<p>{MESSAGE}</p>
+	<p><a href="{LINK}">{BACK}</a></p>
+</div>
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/templates/templates_details.htt
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/templates/templates_details.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/templates/templates_details.htt	(revision 1481)
@@ -0,0 +1,32 @@
+<!-- BEGIN main_block -->
+
+<h2>{HEADING_TEMPLATE_DETAILS}</h2>
+
+<table cellpadding="5" cellspacing="0" border="0">
+<tr>
+	<td width="100">{TEXT_NAME}:</td>
+	<td>{NAME}</td>
+</tr>
+<tr>
+	<td>{TEXT_AUTHOR}:</td>
+	<td>{AUTHOR}</td>
+</tr>
+<tr>
+	<td>{TEXT_VERSION}:</td>
+	<td>{VERSION}</td>
+</tr>
+<tr>
+	<td>{TEXT_DESIGNED_FOR}:</td>
+	<td>Website Baker {DESIGNED_FOR}</td>
+</tr>
+<tr>
+	<td valign="top">{TEXT_DESCRIPTION}:</td>
+	<td style="text-align: justify;">{DESCRIPTION}</td>
+</tr>
+</table>
+
+<br />
+
+<button onclick="window.location = 'index.php';">{TEXT_BACK}</button>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/templates/media_rename.htt
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/templates/media_rename.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/templates/media_rename.htt	(revision 1481)
@@ -0,0 +1,58 @@
+<!-- BEGIN main_block -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<title>Rename Media</title>
+<link href="{THEME_URL}/media.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<table cellpadding="0" cellspacing="0" border="0" width="100%" align="center">
+<tr>
+	<td class="rename">
+<form name="rename" action="rename2.php" method="post">
+<input type="hidden" name="dir" value="{DIR}" />
+<input type="hidden" name="old_name" value="{FILENAME}" />
+<input type="hidden" name="id" value="{FILE_ID}" />
+
+<table cellpadding="5" cellspacing="0" border="0" width="400" align="center">
+<tr>
+	<td align="center" colspan="2">{TEXT_RENAME} '{FILENAME}' {TEXT_TO}:</td>
+</tr>
+<tr>
+	<td>
+		<input type="text" name="name" style="width: 100%;" />
+		<script type="text/javascript" language="javascript">
+		document.rename.name.focus();
+		</script>
+	</td>
+	<td width="50" class="{DISPlAY_EXTENSION}">
+		<input type="text" name="extension" style="width: 50px;" value="{EXTENSION}" />
+	</td>
+</tr>
+<tr>
+	<td colspan="2">
+		<input type="checkbox" name="overwrite" id="overwrite" value="yes" />
+		<label for="overwrite">
+		{TEXT_OVERWRITE_EXISTING} {TYPE}
+		</label>
+	</td>
+</tr>
+<tr>
+	<td colspan="2">
+		<input type="submit" name="submit" value="{TEXT_RENAME}" style="width: 49%;" />
+		<input type="button" name="cancel" value="{TEXT_CANCEL}" style="width: 49%;" onclick="javascript: window.location = 'browse.php';" />
+	</td>
+</tr>
+</table>
+
+</form>
+
+</td>
+</tr>
+</table>
+
+</body>
+</html>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/templates/success.htt
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/templates/success.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/templates/success.htt	(revision 1481)
@@ -0,0 +1,16 @@
+<!-- BEGIN main_block -->
+<center>
+	
+	{MESSAGE}
+	
+	<script language="javascript" type="text/javascript">
+		setTimeout("location.href='{REDIRECT}'", {REDIRECT_TIMER});
+	</script>
+	
+	<noscript>
+		<br /><br />
+		<a href="{REDIRECT}">{NEXT}</a>
+	</noscript>
+	
+</center>
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/templates/languages_details.htt
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/templates/languages_details.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/templates/languages_details.htt	(revision 1481)
@@ -0,0 +1,32 @@
+<!-- BEGIN main_block -->
+
+<h2>{HEADING_LANGUAGE_DETAILS}</h2>
+
+<table cellpadding="5" cellspacing="0" border="0">
+<tr>
+	<td width="100">{TEXT_NAME}:</td>
+	<td>{NAME}</td>
+</tr>
+<tr>
+	<td>{TEXT_CODE}:</td>
+	<td>{CODE}</td>
+</tr>
+<tr>
+	<td>{TEXT_AUTHOR}:</td>
+	<td>{AUTHOR}</td>
+</tr>
+<tr>
+	<td>{TEXT_VERSION}:</td>
+	<td>{VERSION}</td>
+</tr>
+<tr>
+	<td>{TEXT_DESIGNED_FOR}:</td>
+	<td>Website Baker {DESIGNED_FOR}</td>
+</tr>
+</table>
+
+<br />
+
+<button onclick="window.location = 'index.php';">{TEXT_BACK}</button>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/templates/modules_details.htt
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/templates/modules_details.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/templates/modules_details.htt	(revision 1481)
@@ -0,0 +1,36 @@
+<!-- BEGIN main_block -->
+
+<h2>{HEADING_MODULE_DETAILS}</h2>
+
+<table cellpadding="5" cellspacing="0" border="0">
+<tr>
+	<td width="100">{TEXT_NAME}:</td>
+	<td>{NAME}</td>
+</tr>
+<tr>
+	<td>{TEXT_TYPE}:</td>
+	<td>{TYPE}</td>
+</tr>
+<tr>
+	<td>{TEXT_AUTHOR}:</td>
+	<td>{AUTHOR}</td>
+</tr>
+<tr>
+	<td>{TEXT_VERSION}:</td>
+	<td>{VERSION}</td>
+</tr>
+<tr>
+	<td>{TEXT_DESIGNED_FOR}:</td>
+	<td>Website Baker {DESIGNED_FOR}</td>
+</tr>
+<tr>
+	<td valign="top">{TEXT_DESCRIPTION}:</td>
+	<td style="text-align: justify;">{DESCRIPTION}</td>
+</tr>
+</table>
+
+<br />
+
+<button onclick="window.location = 'index.php';">{TEXT_BACK}</button>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/wb_theme/images/fancy_progress.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/fancy_progress.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/fh.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/fh.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/fh10.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/fh10.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/aif.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/aif.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/mp3.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/mp3.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/ppt.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/ppt.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/html.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/html.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/doc.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/doc.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/gif.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/gif.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/xls.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/xls.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/asf.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/asf.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/vcd.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/vcd.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/ogg.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/ogg.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/txt.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/txt.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/tif.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/tif.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/rar.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/rar.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/cda.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/cda.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/css.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/css.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/tiff.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/tiff.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/wav.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/wav.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/swf.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/swf.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/unknown.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/unknown.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/zip.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/zip.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/fla.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/fla.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/tgz.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/tgz.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/pdf.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/pdf.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/wmv.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/wmv.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/index.php
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/images/files/index.php	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/images/files/index.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+/**
+ * $Id$
+ * Website Baker theme: wb_theme
+ * This theme is the default WB backend Theme
+ * Feel free to modify or build up on this template.
+ *
+ * This file prevents directory listing.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Johannes Tassilo Gruber
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    2.80
+ * @platform   Website Baker 2.8
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+// prevent directory listing
+header('Location: ../../../../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/avi.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/avi.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/jpg.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/jpg.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/gz.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/gz.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/mpg.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/mpg.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/png.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/png.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/jpeg.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/jpeg.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/files/php.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/files/php.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/yt.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/yt.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/uy.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/uy.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/bm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/bm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/fj.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/fj.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/bo.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/bo.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/nf.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/nf.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/bs.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/bs.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/jm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/jm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/re.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/re.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/fr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/fr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/jo.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/jo.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/bw.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/bw.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/nl.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/nl.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/by.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/by.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/za.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/za.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/wales.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/wales.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/np.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/np.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/nr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/nr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ro.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ro.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/vn.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/vn.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/rs.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/rs.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/zm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/zm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ru.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ru.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/cd.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/cd.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/nz.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/nz.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ga.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ga.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/rw.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/rw.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/cf.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/cf.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ch.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ch.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ge.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ge.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/cl.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/cl.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/gi.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/gi.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/cn.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/cn.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/zw.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/zw.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/kh.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/kh.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/gm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/gm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/cr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/cr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/sb.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/sb.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/sd.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/sd.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/gq.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/gq.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/canada.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/canada.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/kn.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/kn.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/cv.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/cv.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/gs.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/gs.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/kp.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/kp.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/index.php
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/images/flags/index.php	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/images/flags/index.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+/**
+ * $Id$
+ * Website Baker theme: wb_theme
+ * This theme is the default WB backend Theme
+ * Feel free to modify or build up on this template.
+ *
+ * This file prevents directory listing.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Johannes Tassilo Gruber
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    2.80
+ * @platform   Website Baker 2.8
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+// prevent directory listing
+header('Location: ../../../../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/cx.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/cx.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/sh.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/sh.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/gu.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/gu.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/om.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/om.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/kr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/kr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/cz.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/cz.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/sj.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/sj.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/gw.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/gw.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/sl.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/sl.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/gy.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/gy.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/sn.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/sn.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/kz.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/kz.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/da.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/da.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/sr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/sr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/st.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/st.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/de.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/de.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/sv.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/sv.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ws.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ws.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/sz.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/sz.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/la.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/la.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/lc.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/lc.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/dm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/dm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/do.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/do.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/fam.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/fam.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/li.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/li.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/pf.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/pf.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/hn.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/hn.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/tc.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/tc.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/lk.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/lk.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ph.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ph.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/england.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/england.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/hr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/hr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/tg.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/tg.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/pl.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/pl.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ht.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ht.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/pn.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/pn.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/tk.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/tk.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ls.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ls.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/tm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/tm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/lu.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/lu.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/pr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/pr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/to.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/to.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/pt.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/pt.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ly.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ly.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ae.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ae.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ag.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ag.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ai.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ai.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/tw.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/tw.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/eh.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/eh.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/am.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/am.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ie.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ie.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ao.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ao.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/md.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/md.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/qa.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/qa.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/en.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/en.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/as.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/as.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/mh.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/mh.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/au.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/au.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/er.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/er.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/aw.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/aw.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/io.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/io.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ml.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ml.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/et.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/et.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/iq.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/iq.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/mn.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/mn.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/is.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/is.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/mp.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/mp.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ye.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ye.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/mr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/mr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/mt.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/mt.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/mv.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/mv.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/bb.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/bb.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/mx.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/mx.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/bd.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/bd.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/mz.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/mz.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/bf.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/bf.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/europeanunion.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/europeanunion.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/bh.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/bh.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/bj.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/bj.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/uz.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/uz.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/na.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/na.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/fi.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/fi.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/bn.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/bn.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/fk.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/fk.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/nc.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/nc.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/fm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/fm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ne.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ne.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/br.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/br.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/fo.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/fo.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ng.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ng.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/bt.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/bt.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ni.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ni.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/va.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/va.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/bv.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/bv.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/scotland.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/scotland.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/vc.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/vc.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/jp.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/jp.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ve.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ve.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/bz.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/bz.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/no.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/no.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/vg.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/vg.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/vi.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/vi.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/nu.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/nu.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ca.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ca.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/cc.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/cc.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/cg.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/cg.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/gd.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/gd.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/vu.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/vu.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ci.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ci.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/gf.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/gf.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ck.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ck.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/gh.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/gh.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ke.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ke.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/cm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/cm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/kg.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/kg.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/co.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/co.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/gl.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/gl.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ki.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ki.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/sa.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/sa.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/gn.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/gn.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/cs.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/cs.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/sc.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/sc.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/gp.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/gp.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/km.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/km.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/cu.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/cu.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/se.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/se.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/gr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/gr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/sg.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/sg.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/gt.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/gt.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/cy.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/cy.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/si.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/si.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/wf.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/wf.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/sk.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/sk.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/sm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/sm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/kw.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/kw.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/so.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/so.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ky.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ky.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/sy.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/sy.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/lb.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/lb.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/dj.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/dj.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/pa.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/pa.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/hk.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/hk.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/hm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/hm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/pe.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/pe.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/pg.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/pg.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/td.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/td.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/tf.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/tf.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/pk.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/pk.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/th.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/th.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/hu.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/hu.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/pm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/pm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/dz.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/dz.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/lr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/lr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/tj.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/tj.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/lt.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/lt.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/tl.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/tl.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/lv.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/lv.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/tn.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/tn.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ps.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ps.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ad.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ad.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/tr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/tr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/af.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/af.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/pw.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/pw.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ec.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ec.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/tt.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/tt.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/py.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/py.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ee.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ee.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/tv.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/tv.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/eg.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/eg.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/id.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/id.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/al.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/al.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ma.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ma.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/tz.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/tz.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/an.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/an.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/mc.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/mc.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/me.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/me.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ar.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ar.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/mg.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/mg.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/il.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/il.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/at.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/at.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ua.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ua.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/in.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/in.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/es.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/es.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/mk.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/mk.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ax.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ax.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/mm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/mm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ir.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ir.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/az.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/az.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/mo.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/mo.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ug.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ug.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/it.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/it.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/mq.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/mq.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ms.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ms.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/mu.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/mu.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/um.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/um.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/ba.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/ba.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/mw.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/mw.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/my.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/my.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/be.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/be.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/us.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/us.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/bg.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/bg.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/flags/bi.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/flags/bi.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/index.php
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/images/index.php	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/images/index.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+/**
+ * $Id$
+ * Website Baker theme: wb_theme
+ * This theme is the default WB backend Theme
+ * Feel free to modify or build up on this template.
+ *
+ * This file prevents directory listing.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Johannes Tassilo Gruber
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    2.80
+ * @platform   Website Baker 2.8
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+// prevent directory listing
+header('Location: ../../../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/modify_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/modify_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/dl.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/dl.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/logo.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/logo.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/minus_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/minus_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/clock_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/clock_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/visible_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/visible_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/menu.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/menu.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/none_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/none_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/blank.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/blank.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/view.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/view.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/reload_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/reload_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/view_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/view_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/keys_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/keys_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/menuo.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/menuo.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/clock_del_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/clock_del_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/help.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/help.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/bgtitle.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/bgtitle.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/clock_red_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/clock_red_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/sections_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/sections_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/noclock_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/noclock_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/hidden_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/hidden_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/delete_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/delete_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/deleted_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/deleted_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/down_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/down_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/background.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/background.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/private_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/private_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/folder_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/folder_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/visible_16_1.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/visible_16_1.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/up_folder_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/up_folder_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/home.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/home.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/plus_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/plus_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/restore_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/restore_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/images/up_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/images/up_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/fancybox.css
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/fancybox.css	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/fancybox.css	(revision 1481)
@@ -0,0 +1,92 @@
+div#fancy_overlay {
+	position:absolute;
+	top: 0;
+	left: 0;
+	z-index: 90;
+	width: 100%;
+	background-color: #333;
+}
+
+div#fancy_loading {
+	position: absolute;
+	height: 40px;
+	width: 40px;
+	cursor: pointer;
+	display: none;
+	overflow: hidden;
+	background: transparent;
+	z-index: 100;
+}
+
+div#fancy_loading div {
+	position: absolute;
+	top: 0;
+	left: 0;
+	width: 40px;
+	height: 480px;
+	background: transparent url(images/fancy_progress.png) no-repeat;
+}
+
+div#fancy_close {
+/*
+	position: absolute;
+	top: -12px;
+	right: -12px;
+	height: 30px;
+	width: 30px;
+	background: transparent url(fancy_closebox.png) ;
+	cursor: pointer;
+	z-index: 100;
+	display: none;
+*/
+}
+
+div#fancy_content {
+	position: absolute;
+	top: 0;
+	left: 0;
+	width: 100%;
+	height: 100%;
+	padding: 0; 
+	margin: 0;
+	z-index: 96;
+}
+
+#fancy_frame {
+	position: relative;
+	width: 100%;
+	height: 100%;
+	display: none;
+}
+
+img#fancy_img {
+	position: absolute;
+	top: 0;
+	left: 0;
+	width: 100%;
+	height: 100%;
+	border:0; 
+	padding: 0; 
+	margin: 0;
+	z-index: 92;
+}
+
+div#fancy_outer {
+	position: absolute;
+    top: 0;
+    left: 0;
+    z-index: 90;
+    padding: 18px 18px 58px 18px;
+    margin: 0;
+    overflow: hidden;
+    background: transparent;
+    display: none;
+}
+
+div#fancy_inner {
+	position: relative;
+	width:100%;
+	height:100%;
+	border: 1px solid #444;
+	background: #FFF;
+}
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/wb_theme/fancybox.css
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/media.css
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/media.css	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/media.css	(revision 1481)
@@ -0,0 +1,51 @@
+body,td,th,input,textarea {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 12px;
+	color: #000000;
+}
+body {
+	background-color: #FFFFFF;
+	margin: 0px;
+}
+hr {
+	margin: 0px;
+	color: #003366;
+	height: 1px;
+}
+a:link, a:visited, a:active {
+	color: #003366;
+	text-decoration: none;
+}
+a:hover {
+	text-decoration: none;
+	color: #336699;
+}
+input:focus, select:focus, textarea:focus {
+	background: #F1F8FD;
+}
+.content {
+	width: 100%;
+	height: 100px;
+}
+.rename {
+    background: #fff url(images/bgtitle.png) ;
+    background-repeat:repeat-x;
+	padding: 20px;
+}
+.hide {
+	display: none;
+}
+
+table.browse_header {
+	background-color: #EEE; 
+	border-bottom: 1px solid #35373a;
+}
+
+th.headline {
+	font-weight: normal;
+	font-size: 10px;
+	border-bottom: 1px solid #35373a;
+}
+
+
+

Property changes on: tags/2.8.2/wb/templates/wb_theme/media.css
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/languages/index.php
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/languages/index.php	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/languages/index.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+/**
+ * $Id$
+ * Website Baker theme: wb_theme
+ * This theme is the default WB backend Theme
+ * Feel free to modify or build up on this template.
+ *
+ * This file prevents directory listing.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Johannes Tassilo Gruber
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    2.80
+ * @platform   Website Baker 2.8
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+// prevent directory listing
+header('Location: ../../../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/wb_theme/languages/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/languages/NO.php
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/languages/NO.php	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/languages/NO.php	(revision 1481)
@@ -0,0 +1,29 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+//Modul Description
+$template_description 	= 'Standard design mal for Admin sidene i Website Baker 2.8.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/wb_theme/languages/NO.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/languages/EN.php
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/languages/EN.php	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/languages/EN.php	(revision 1481)
@@ -0,0 +1,29 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+//Modul Description
+$template_description 	= 'Default backend theme for Website Baker 2.8.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/wb_theme/languages/EN.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/languages/DE.php
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/languages/DE.php	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/languages/DE.php	(revision 1481)
@@ -0,0 +1,29 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+//Modul Description
+$template_description 	= 'Das Standard-Backend-Theme von Websitebaker 2.8';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/wb_theme/languages/DE.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/icons/index.php
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/icons/index.php	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/icons/index.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+/**
+ * $Id$
+ * Website Baker theme: wb_theme
+ * This theme is the default WB backend Theme
+ * Feel free to modify or build up on this template.
+ *
+ * This file prevents directory listing.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Johannes Tassilo Gruber
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    2.80
+ * @platform   Website Baker 2.8
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+// prevent directory listing
+header('Location: ../../../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/wb_theme/icons/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/icons/templates.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/icons/templates.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/icons/pages.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/icons/pages.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/icons/settings.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/icons/settings.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/icons/users.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/icons/users.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/icons/preferences.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/icons/preferences.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/icons/access.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/icons/access.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/icons/languages.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/icons/languages.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/icons/addons.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/icons/addons.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/icons/modules.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/icons/modules.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/icons/admintools.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/icons/admintools.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/icons/view.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/icons/view.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/icons/groups.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/icons/groups.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/icons/media.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/wb_theme/icons/media.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/index.php
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/index.php	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/index.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+/**
+ * $Id$
+ * Website Baker theme: wb_theme
+ * This theme is the default WB backend Theme
+ * Feel free to modify or build up on this template.
+ *
+ * This file prevents directory listing.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Johannes Tassilo Gruber
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    2.80
+ * @platform   Website Baker 2.8
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+// prevent this file from being accessed directly
+if (!defined('WB_PATH')) die(header('Location: ../../index.php'));
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/wb_theme/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/wb_theme/info.php
===================================================================
--- tags/2.8.2/wb/templates/wb_theme/info.php	(nonexistent)
+++ tags/2.8.2/wb/templates/wb_theme/info.php	(revision 1481)
@@ -0,0 +1,40 @@
+<?php
+/**
+ * $Id$
+ * Website Baker theme: wb_theme
+ * This theme is the default WB backend Theme
+ * Feel free to modify or build up on this template.
+ *
+ * This file defines the template variables required by Website Baker.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Johannes Tassilo Gruber
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    2.80
+ * @platform   Website Baker 2.8
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+// OBLIGATORY WEBSITE BAKER VARIABLES
+$template_directory			= 'wb_theme';
+$template_name				= 'wb_theme';
+$template_function			= 'theme';
+$template_version			= '2.80';
+$template_platform			= '2.8';
+$template_author			= 'Johannes Tassilo Gruber';
+$template_license			= '<a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>';
+$template_license_terms		= '-';
+$template_description		= 'Default backend theme for Website Baker 2.8.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/wb_theme/info.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/jquery/jquery-fixedheader.js
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/jquery/jquery-fixedheader.js	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/jquery/jquery-fixedheader.js	(revision 1481)
@@ -0,0 +1,141 @@
+/**
+ * Stupid Fixed Header 1.0.1 - jQuery plugins to create a fixed headers
+ * 
+ * Require: jQuery 1.2.6
+ * Author: Jacky See
+ * Blog: http://jacky.seezone.net
+ * email:  jackysee at gmail dot com
+ * Dual licensed under the MIT and GPL licenses:
+ *   http://www.opensource.org/licenses/mit-license.php
+ *   http://www.gnu.org/licenses/gpl.html
+*/
+
+(function($){
+	
+	/* created fixed headers , require jquery dimenions plugins*/
+	$.fn.fixedHeader = function(o){
+		var s = {adjustWidth: $.fixedHeader.calcWidth};
+		if(o) $.extend(s,o);
+		
+		return this.each(function(){
+			var table = $(this); //table
+			var tId = this.id;
+			
+			var scrollBarWidth = $.fixedHeader.getScrollBarWidth();
+			var IE6 = $.browser.msie && $.browser.version == '6.0';
+			
+			//wrap a body container
+			var bodyContainer = table.wrap('<div></div>').parent()
+				.attr('id', tId + "_body_container")
+				.css({
+					width: s.width,
+					height: s.height,
+					overflow: 'auto'
+				});
+			
+			//Wrap with an overall container
+			var tableContainer = bodyContainer.wrap('<div></div>').parent()
+				.attr('id', tId + '_table_container')
+				.css('position','relative');
+
+			//clone the header
+			var headerContainer = $(document.createElement('div'))
+				.attr('id', tId + '_header_container')
+				.css({
+					width:  bodyContainer.innerWidth() - scrollBarWidth,
+					height: table.find('thead').outerHeight(), 
+					overflow: 'hidden',
+					top: 0, left:0
+				})
+				.prependTo(tableContainer);
+			
+			var headerTable = table.clone(true)
+				.find('tbody').remove().end()
+				.attr('id',tId + "_header")
+				.addClass(s.tableClass || table[0].className)
+				.css({
+					//width: $.browser.msie? table.outerWidth():table.width(), 
+					'table-layout':'fixed',
+					position:'absolute',
+					top:0, left:0
+				})
+				.append(table.find('thead').clone(true))
+				.appendTo(headerContainer);
+			
+			//sync header width
+			var headThs = headerTable.find('th');
+			table.find('th').each(function(i){
+				headThs.eq(i).css('width', s.adjustWidth(this));
+			})
+			
+			//sync scroll
+			var selects = IE6? table.find("select"): null;
+			bodyContainer.scroll(function(){
+				if(IE6 && selects.size()>0){
+					selects.each(function(i){
+						this.style.visibility =
+							($(this).offset().top - bodyContainer.offset().top) <= table.find("thead").outerHeight() + 10
+							? 'hidden':'visible';
+					});
+				}
+				headerTable.css({
+					left: '-' + $(this).scrollLeft() + 'px'
+				});
+			})
+			
+			//Move it down
+			headerContainer.css({
+				'position': 'absolute',
+				'top': 0
+			});
+		});
+	}
+	
+	$.fixedHeader = {
+		calcWidth: function(th){
+			var w = $(th).width();
+			var paddingLeft = $.fixedHeader.getComputedStyleInPx(th,'paddingLeft');
+			var paddingRight = $.fixedHeader.getComputedStyleInPx(th,'paddingRight');
+			var borderWidth = $.fixedHeader.getComputedStyleInPx(th,'borderRightWidth');			
+			if($.browser.msie) w = w+borderWidth;
+			if($.browser.opera) w = w+borderWidth;
+			if($.browser.safari) w = w+paddingLeft+paddingRight+borderWidth*2;
+			if($.browser.mozilla && parseFloat($.browser.version) <= 1.8) w=w+borderWidth; //FF2 still got a border-left missing problem, this is the best I can do.
+			return w;
+		},
+		getComputedStyleInPx: function(elem,style){
+			var computedStyle = (typeof elem.currentStyle != 'undefined')
+				?elem.currentStyle
+				:document.defaultView.getComputedStyle(elem, null);
+			var val = computedStyle[style];
+			val = val? parseInt(val.replace("px","")):0;
+			return (!val || val == 'NaN')?0:val;
+		},
+		getScrollBarWidth: function() { //calculate or get from global the scroll bar width
+			if(!$.fixedHeader.scrollBarWidth){ 
+				var inner = $(document.createElement('p')).css({width:'100%',height:'100%'});
+				var outer = $(document.createElement('div'))
+					.css({
+						position:'absolute',
+						top: '0px',
+						left: '0px',
+						visibility: 'hidden',
+						width: '200px',
+						height: '150px',
+						overflow: 'hidden'
+					})
+					.append(inner)
+					.appendTo(document.body);
+				
+				var w1 = inner[0].offsetWidth;
+				outer[0].style.overflow = 'scroll';
+				var w2 = inner[0].offsetWidth;
+				if (w1 == w2) w2 = outer[0].clientWidth;
+				document.body.removeChild (outer[0]);
+				$.fixedHeader.scrollBarWidth = (w1 - w2);
+			}
+			return $.fixedHeader.scrollBarWidth;
+		}
+	}
+	
+})(jQuery);
\ No newline at end of file
Index: tags/2.8.2/wb/templates/argos_theme/jquery/webkit-focusfix.js
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/jquery/webkit-focusfix.js	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/jquery/webkit-focusfix.js	(revision 1481)
@@ -0,0 +1,40 @@
+/**
+ * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
+ *
+ * (en) Workaround for Webkit browser to fix focus problems when using skiplinks
+ * (de) Workaround fÃ¼r Webkit-Browser, um den Focus zu korrigieren, bei Verwendung von Skiplinks
+ *
+ * @note			inspired by Paul Ratcliffe's article 
+ *					http://www.communis.co.uk/blog/2009-06-02-skip-links-chrome-safari-and-added-wai-aria
+ *
+ * @copyright       Copyright 2005-2009, Dirk Jesse
+ * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
+ *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
+ * @link            http://www.yaml.de
+ * @package         yaml
+ * @version         3.2
+ * @revision        $Revision: 430 $
+ * @lastmodified    $Date: 2009-10-27 21:15:57 +0100 (Di, 27. Okt 2009) $
+ */
+ 
+var is_webkit = navigator.userAgent.toLowerCase().indexOf('webkit') > -1;
+
+if(is_webkit) 
+{
+	var i;
+	var skiplinks = []
+	
+	if ( document.getElementsByClassName !== undefined) {
+		skiplinks = document.getElementsByClassName('skip');
+
+		for (i=0; i<skiplinks.length; i++) {
+			var target = skiplinks[i].href.substr(skiplinks[i].href.indexOf('#')+1);
+			var targetElement = document.getElementById(target);
+	
+			targetElement.href = '#'+target;
+			targetElement.setAttribute("tabindex", "0");
+	
+			skiplinks[i].setAttribute("onclick", "document.getElementById('"+target+"').focus();");
+		}
+	}	
+}
\ No newline at end of file
Index: tags/2.8.2/wb/templates/argos_theme/jquery/jquery-metadata.js
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/jquery/jquery-metadata.js	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/jquery/jquery-metadata.js	(revision 1481)
@@ -0,0 +1,13 @@
+/*
+ * Metadata - jQuery plugin for parsing metadata from elements
+ *
+ * Copyright (c) 2006 John Resig, Yehuda Katz, Jï¿½Ã¶rn Zaefferer, Paul McLanahan
+ *
+ * Dual licensed under the MIT and GPL licenses:
+ *   http://www.opensource.org/licenses/mit-license.php
+ *   http://www.gnu.org/licenses/gpl.html
+ *
+ * Revision: $Id: jquery.metadata.js 3620 2007-10-10 20:55:38Z pmclanahan $
+ *
+ */
+(function($){$.extend({metadata:{defaults:{type:'class',name:'metadata',cre:/({.*})/,single:'metadata'},setType:function(type,name){this.defaults.type=type;this.defaults.name=name;},get:function(elem,opts){var settings=$.extend({},this.defaults,opts);if(!settings.single.length)settings.single='metadata';var data=$.data(elem,settings.single);if(data)return data;data="{}";if(settings.type=="class"){var m=settings.cre.exec(elem.className);if(m)data=m[1];}else if(settings.type=="elem"){if(!elem.getElementsByTagName)return;var e=elem.getElementsByTagName(settings.name);if(e.length)data=$.trim(e[0].innerHTML);}else if(elem.getAttribute!=undefined){var attr=elem.getAttribute(settings.name);if(attr)data=attr;}if(data.indexOf('{')<0)data="{"+data+"}";data=eval("("+data+")");$.data(elem,settings.single,data);return data;}}});$.fn.metadata=function(opts){return $.metadata.get(this[0],opts);};})(jQuery);
\ No newline at end of file
Index: tags/2.8.2/wb/templates/argos_theme/jquery/jquery-plugins.js
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/jquery/jquery-plugins.js	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/jquery/jquery-plugins.js	(revision 1481)
@@ -0,0 +1,23 @@
+$(document).ready(function()
+{
+
+        if($(".jcalendar").length) {
+            $.insert(WB_URL+"/include/jscalendar/calendar-system.css");
+          }
+
+        if($(".jsadmin").length) {
+            $.insert(WB_URL+"/modules/jsadmin/backend.css");
+          }
+	//Add external link class to external links -
+	$('a[href^="http://"]').filter(function() {
+		//Compare the anchor tag's host name with location's host name
+	    return this.hostname && this.hostname !== location.hostname;
+	  }).addClass("external").attr("target", "_blank");
+
+	/* Add internal link class to external links -   */
+	$('a[href^="http://"]').filter(function() {
+		//Compare the anchor tag's host name with location's host name
+	    return this.hostname && this.hostname == location.hostname;
+	  }).addClass("internal");
+
+});
\ No newline at end of file
Index: tags/2.8.2/wb/templates/argos_theme/jquery/toggle_zip.js
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/jquery/toggle_zip.js	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/jquery/toggle_zip.js	(revision 1481)
@@ -0,0 +1,14 @@
+function toggle() {
+	var check = document.getElementById("file2");
+	if (check.style.visibility == "visible") {
+		for (i=2; i<=10; i++) {
+			document.getElementById("file" + i).style.visibility = "hidden";
+		}
+		document.getElementById("delzip").style.display = "inline";
+	} else {
+		for (i=2; i<=10; i++) {
+			document.getElementById("file" + i).style.visibility = "visible";
+		}
+		document.getElementById("delzip").style.display = "none";
+	}
+}
Index: tags/2.8.2/wb/templates/argos_theme/theme.css
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/theme.css	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/theme.css	(revision 1481)
@@ -0,0 +1,139 @@
+
+html {
+overflow: -moz-scrollbars-vertical;  /* Force firefox to always show room for a vertical scrollbar */
+}
+
+body,td,th,input,textarea {font-family:verdana,arial,helvetica,sans-serif;font-size:11px;color:#333;}
+body {background:#f9f9f9 url(images/background.jpg) 0 0 repeat-x;margin:0;text-align:center;}
+img {	border: 0px;}
+
+#admin_header {text-align:center;width:900px;height:105px;margin:0 auto;padding:10px 0 0 0;}
+#admin_header a#website_title {display:block;text-align:left;font-size:14px;font-weight:bold;color:#fff;text-transform:uppercase;text-decoration:none;}
+#topmenu {float:right;text-align:right;color:#fff;}
+#topmenu a {font-size:11px;color:#fff;text-decoration:underline;margin:0 5px;}
+#topmenu .version {font-size:11px;color:#7cacda;padding:0 10px 0 0;}
+#header_top {height:78px;}
+
+h1 {text-align:left;font-size:15px;color:#fff;text-transform:uppercase;}
+h2 {text-align:left;font-size:18px;color:#000;margin:5px 0;font-family:arial,sans-serif;letter-spacing:-1px;font-weight:normal;}
+h3 {text-align:left;font-size:14px;color:#000;margin:5px 0;}
+
+a:link, a:visited, a:active {color:#28609b;text-decoration:none;}
+a:hover {text-decoration:underline;color:#28609b;}
+
+.menu {margin:0 auto;padding:0;text-align:center;width:900px;}
+.menu ul {list-style-type:none;margin:0;padding:0;}
+.menu li {display:inline;margin:0 2px 0 0;padding:0;font-weight:bold;border-bottom:3px solid #c9c9c9;}
+.menu a {float:left;color:#fff !important;background:#28609b url(images/tabl.jpg) no-repeat left top;margin:0 5px 0 0;padding:0 0 0 3px;text-decoration:none;border-bottom:3px solid #cacaca;}
+.menu a span {display:block;background:#28609b url(images/tabr.jpg) no-repeat right top;padding:6px 9px 6px 6px;}
+.menu a:hover, .menu a:hover span {background-color:#28609b;text-decoration:none;}
+.menu .current a, .menu a:hover {border-bottom:3px solid #d25e59;}
+
+#content_container {text-align:center;width:900px;clear:both;margin:0 auto;}
+.content {margin:0;padding:20px 0;width:900px;text-align:left;vertical-align:top;}
+
+hr {margin:15px 0;color:#003366;height:1px;}
+
+.hide {display:none;}
+.note {color:#666;font-size:10px;}
+
+form {margin:0;}
+label {cursor:pointer;}
+input:focus, select:focus, textarea:focus {background:#f1f8fd;}
+
+/* WB2.8 STYLES */
+.img_noborder img {border:0;}
+iframe {border:1px solid #35373a;}
+div.box {font-size:small;width:100%;text-align:right;margin:-10px 0 0 0;}
+.section {margin-top:10px;padding:0;border:1px solid #999;height:75px;width:100%;background-color:#fdfdfd;}
+.graphic {width:50px;height:50px;border:4px solid #fdfdfd;padding-left:3px;}
+.graphic img {vertical-align:middle;background-color:#fff;padding:4px;border:1px solid #d0d0d0;}
+.title {text-align:left;font-weight:bold;font-size:14px;margin-bottom:5px;}
+.description {text-align:left;padding:4px 4px 0 4px;}
+.note {color:#666;font-size:10px;}
+.bold {font-weight:bold;}
+
+.submit, .cancel {width:100px;margin-top:5px;}
+.form_submit {width:100%;}
+.form_submit .left {text-align:left;}
+.form_submit .right {text-align:right;}
+.input_small {width:20px;}
+.input_narrow {width:100px;}
+.input_normal {width:120px;}
+.input_medium {width:150px;}
+.input_wide {width:200px;}
+.input_large {width:300px;}
+.input_full {width:100%;}
+select option.disabled {color:#aaa;}
+
+.jsadmin_drag img {margin-top:2px;vertical-align:top;cursor:pointer;}
+.jsadmin_drag img:hover {/* background-color: lightgrey; */}
+.modify_link {padding:4px 0 0 7px;}
+
+.settings_table td {vertical-align:top;text-align:left;padding:5px;}
+.setting_name {width:10%;min-width:180px;}
+.setting_value { width: 90%}
+.setting_value input, .setting_value select, .setting_value textarea {width:100%;}
+.setting_value textarea {height:50px;}
+
+#admintools ul {padding:0;margin:0;}
+#admintools li {list-style-type:none;display:inline;float:left;width:48%;margin:0 10px 0 0;}
+
+.value_input input, .value_input text, .value_input select {width:100%;}
+#file_mode input, #dir_mode input {width:12px;height:12px;}
+#hide2 {display:none;}
+
+.pages_list {font-weight:bold;}
+.pages_list .icon_col td img {display:block;border-style:none;float:left;padding-right:7px;}
+.pages_list table {width:900px;}
+.pages_list ul {margin:0;font-weight:normal;padding: 0;}
+.pages_list ul li {list-style-type:none;margin:2px 0;}
+
+table.pages_view {width:900px;}
+table.pages_view tr, tr.sectionrow {background:#f0f0f0;}
+table.pages_view tr:hover, tr.sectionrow:hover {background:#eaeff6;}
+tr.sectionrow {padding:0 10px;}
+tr.sectionrow td {border-top:3px solid #f9f9f9;}
+
+.page_list {display:none;}
+.page_list_show li {display:block;}
+img.page_list_rights {border:none;float:left;margin:0;vertical-align:middle;}
+
+.sections_list {font-weight:bold;padding-left:10px;}
+.sections_list table {width:900px;}
+
+
+.header_list_type {text-align:left;}
+.header_list_block {text-align:left;width:180px;}
+.header_list_pubdate_start {text-align:left;width:200px;}
+.header_list_pubdate_end {text-align:left;width:200px;}
+.header_list_sections_actions {text-align:left;width:30px;}
+.header_list_section_id {width:30px;text-align:right;}
+
+
+.list_section_id {width:30px;text-align:right;}
+.list_pubdate_start {text-align:left;width:200px;}
+.list_pubdate_end {text-align:left;width:200px;}
+/*
+.header_list_page_title {text-align:left;}
+.header_list_menu_title {width:300px;text-align:left;}
+.header_list_page_id{width:50px;text-align:left;}
+.list_page_title {text-align:left;}
+.list_menu_title {width:300px;text-align:left;}
+.list_page_id {width:50px;text-align:left;}
+*/
+.header_list_menu_title {text-align:left;}
+.header_list_page_title {width:300px; text-align:left;}
+.header_list_page_id {width:50px; text-align: right; padding-right:15px;}
+.header_list_actions {width:150px; text-align:left;}
+
+.list_menu_title {text-align:left;}
+.list_page_title {width:300px;text-align:left; }
+
+.list_page_id {width:50px;text-align: right; padding-right:15px;}
+.list_actions {width:25px;text-align:left;}
+
+.value_page_code {color: #006400; font-weight: 400; width: 240px; }
+.list_page_code { width: 240px; }
+.list_page_language { width: 240px; }
+#multi_lingual { font-weight: bolder; }

Property changes on: tags/2.8.2/wb/templates/argos_theme/theme.css
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/templates/login_forgot.htt
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/templates/login_forgot.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/templates/login_forgot.htt	(revision 1481)
@@ -0,0 +1,70 @@
+<!-- BEGIN main_block -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<title>Retrieve Login Details</title>
+<meta http-equiv="content-type" content="text/html; charset={CHARSET}" />
+<meta http-equiv="content-language" content="{LANGUAGE}" />
+<meta name="description" content="Retrieve Login Details" />
+<meta name="keywords" content="Retrieve Login Details" />
+<link href="{THEME_URL}/theme.css" rel="stylesheet" type="text/css" />
+</head>
+<body onload="document.forgot_pass.email.focus();">
+
+<div style="text-align:left;font-size:20px;color:#fff;padding:15px 0 0 50px;height:100px;">
+	<!-- <img src="{THEME_URL}/images/logo.png" alt="Logo" /> -->
+	{SECTION_FORGOT}
+</div> 
+
+<table cellpadding="0" cellspacing="0" border="0" width="770" align="center" style="margin-top: 30px;">
+<tr>
+	<td class="content">
+	
+	<form name="forgot_pass" action="{ACTION_URL}" method="post">
+	<input type="hidden" name="url" value="{URL}" />
+		<table cellpadding="5" cellspacing="0" border="0" align="center" width="500">
+		<tr>
+			<td height="40" align="center" style="color: #{MESSAGE_COLOR};" colspan="2">{MESSAGE}</td>
+		</tr>
+		<tr style="{DISPLAY_FORM}">
+			<td height="10" colspan="2"></td>
+		</tr>
+		<tr style="{DISPLAY_FORM}">
+			<td width="165" height="30" align="right">{TEXT_EMAIL}:</td>
+			<td><input type="text" maxlength="255" name="email" value="{EMAIL}" style="width: 180px;" /></td>
+		</tr>
+		<tr style="{DISPLAY_FORM}" height="30">
+			<td>&nbsp;</td>
+			<td><input type="submit" name="submit" value="{TEXT_SEND_DETAILS}" style="width: 180px; font-size: 10px; text-transform: uppercase; color: #003366; border: 1px solid #336699; background-color: #DDDDDD; padding: 3px;"></td>
+		</tr>
+		<tr style="{DISPLAY_FORM}">
+			<td height="10" colspan="2"></td>
+		</tr>
+		</table>
+	</form>
+	
+	<center>
+		<a href="{LOGIN_URL}">{TEXT_NEED_TO_LOGIN}</a>
+		<br />
+		<br />
+		<a href="{WB_URL}">{TEXT_HOME}</a>
+	</center>
+
+	</td>
+</tr>
+</table>
+
+<table cellpadding="0" cellspacing="0" border="0" width="100%" style="padding: 10px 0px 10px 0px;">
+<tr>
+	<td style="font-size:12px;text-align:center;">
+      <!-- Please note: the below reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
+      <a href="http://www.websitebaker2.org/" title="external">WebsiteBaker</a> is released under the
+      <a href="http://www.gnu.org/licenses/gpl.html" title="WebsiteBaker is released under the GNU General Public License">GNU General Public License</a>
+      <!-- Please note: the above reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
+	</td>
+</tr>
+</table>
+
+</body>
+</html>
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/argos_theme/templates/footer.htt
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/templates/footer.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/templates/footer.htt	(revision 1481)
@@ -0,0 +1,29 @@
+<!-- BEGIN footer_block -->
+
+</td>
+</tr>
+</table>
+
+<table cellpadding="0" cellspacing="0" border="0" width="100%" style="padding: 10px 0;">
+  <tr>
+    <td style="font-size:12px;text-align:center;">
+      <!-- Please note: the below reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
+      <a href="http://www.websitebaker2.org/" title="external">WebsiteBaker</a> is released under the
+      <a href="http://www.gnu.org/licenses/gpl.html" title="WebsiteBaker is released under the GNU General Public License">GNU General Public License</a>
+      <!-- Please note: the above reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
+    </td>
+  </tr>
+</table>
+</div>
+
+<script src="{WB_URL}/include/jquery/jquery-min.js" type="text/javascript"></script>
+<!--
+<script src="{WB_URL}/include/jquery/jquery-ui-min.js" type="text/javascript"></script>
+-->
+<script src="{WB_URL}/include/jquery/jquery-insert.js" type="text/javascript"></script>
+<!--[if lt IE 7]><script type="text/javascript" src="{WB_URL}/include/jquery/jquery-pngFix.js"></script><![endif]-->
+<script src="{THEME_URL}/jquery/jquery-plugins.js" type="text/javascript"></script>
+{BACKEND_BODY_MODULE_JS}
+</body>
+</html>
+<!-- END footer_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/argos_theme/templates/pages.htt
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/templates/pages.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/templates/pages.htt	(revision 1481)
@@ -0,0 +1,91 @@
+<!-- BEGIN main_block -->
+<br />
+</div>
+<div class="{DISPLAY_ADD}">
+<h2>{HEADING_ADD_PAGE}</h2>
+<form name="add" action="add.php" method="post">
+<table cellpadding="2" cellspacing="0" border="0" width="100%" align="center">
+  <tr>
+	<td width="70" height="20">{TEXT_TITLE}:</td>
+	<td width="240" height="20"><input type="text" name="title" style="width: 232px;" /></td>
+	<td rowspan="6" valign="top" style="padding-left: 20px; padding-top: 8px;">{TEXT_ADMINISTRATORS}:
+		<ul style="list-style-type: none; margin: 0; padding: 0;">
+			<!-- BEGIN group_list_block -->
+			<li>
+			<input type="checkbox" name="admin_groups[]" id="admin_group_{ID}" value="{ID}"{CHECKED}{DISABLED} />
+			<label for="admin_group_{TOGGLE}">{NAME}</label>
+			</li>
+			<!-- END group_list_block -->
+		</ul>
+	</td>
+	<td rowspan="6" valign="top" style="padding-left: 20px; padding-top: 8px;">
+		<div id="viewers" style="display: none;">{TEXT_REGISTERED_VIEWERS}:
+			<ul style="list-style-type: none; margin: 0; padding: 0;">
+				<!-- BEGIN group_list_block2 -->
+				<li>
+				<input type="checkbox" name="viewing_groups[]" id="viewing_group_{ID}" value="{ID}"{CHECKED}{DISABLED} />
+				<label for="viewing_group_{TOGGLE}">{NAME}</label>
+				</li>
+				<!-- END group_list_block2 -->
+			</ul>
+		</div>
+	</td>
+  </tr>
+  <tr height="20">
+	<td width="70">{TEXT_TYPE}:</td>
+	<td width="240">
+		<select name="type" style="width: 240px;">
+			<!-- BEGIN module_list_block -->
+				<option value="{VALUE}"{SELECTED}>{NAME}</option>
+			<!-- END module_list_block -->
+		</select>
+	</td>
+  </tr>
+  <tr height="20">
+	<td width="70">{TEXT_PARENT}:</td>
+	<td width="240">
+		<select name="parent" style="width: 240px;" onChange="return disabled_hack_for_ie(this);">
+			<!-- BEGIN page_list_block2 -->
+			<option value="{ID}"{DISABLED} style="background: {FLAG_ROOT_ICON} no-repeat center left; padding-left: 20px;">{TITLE}</option>
+			<!-- END page_list_block2 -->
+		</select>
+	</td>
+  </tr>
+  <tr height="20">
+	<td width="70">{TEXT_VISIBILITY}:</td>
+	<td width="240">
+		<select name="visibility" onChange="javascript: toggle_viewers();" style="width: 240px;">
+			<option value="public" selected>{TEXT_PUBLIC}</option>
+			<option value="private">{TEXT_PRIVATE}</option>
+			<option value="registered">{TEXT_REGISTERED}</option>
+			<option value="hidden">{TEXT_HIDDEN}</option>
+			<option value="none">{TEXT_NONE}</option>
+		</select>
+	</td>
+  </tr>
+  <tr>
+	<td width="70">&nbsp;</td>
+	<td colspan="4">
+		<input type="submit" name="submit" value="{TEXT_ADD}" style="width: 117px;" />
+		<input type="reset" name="reset" value="{TEXT_RESET}" style="width: 117px;" />
+	</td>
+  </tr>
+  <tr>
+	<td>&nbsp;</td>
+	<td>&nbsp;</td>
+  </tr>
+</table>
+</form>
+</div>
+<div class="{DISPLAY_INTRO}" style="padding-top: 10px;">
+<br />
+<h2>{HEADING_MODIFY_INTRO_PAGE}</h2>
+<a href="intro.php">{INTRO_LINK}</a>
+</div>
+<!-- Addition for remembering expanded state of pages -->
+<script type="text/javascript">
+var THEME_URL = '{THEME_URL}';
+var WB_URL = '{WB_URL}';
+</script>
+<script src="{ADMIN_URL}/pages/page_index.js" type="text/javascript"></script>
+<!-- END main_block -->
Index: tags/2.8.2/wb/templates/argos_theme/templates/settings.htt
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/templates/settings.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/templates/settings.htt	(revision 1481)
@@ -0,0 +1,584 @@
+<!-- BEGIN main_block -->
+
+<form name="settings" action="save.php" method="post">
+<input type="hidden" name="advanced" value="{ADVANCED}" />
+
+<table cellpadding="3" cellspacing="0" border="0" align="center" width="100%" class="settings_table">
+<tr>
+	<td colspan="3"><h2>{HEADING_GENERAL_SETTINGS}</h2></td>
+</tr>
+<tr>
+	<td class="setting_name" width="200">{TEXT_WEBSITE_TITLE}:</td>
+	<td class="setting_value" colspan="3" width="700">
+		<input type="text" name="website_title" value="{WEBSITE_TITLE}" />
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_WEBSITE_DESCRIPTION}:</td>
+	<td class="setting_value" colspan="3">
+		<textarea name="website_description" cols="50" rows="3">{WEBSITE_DESCRIPTION}</textarea>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_WEBSITE_KEYWORDS}:</td>
+	<td class="setting_value" colspan="3">
+		<textarea name="website_keywords" cols="50" rows="3" >{WEBSITE_KEYWORDS}</textarea>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_WEBSITE_HEADER}:</td>
+	<td class="setting_value" colspan="3">
+		<textarea name="website_header" cols="50" rows="3">{WEBSITE_HEADER}</textarea>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_WEBSITE_FOOTER}:</td>
+	<td class="setting_value" colspan="3">
+		<textarea name="website_footer" cols="50" rows="3">{WEBSITE_FOOTER}</textarea>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name" width="200">{TEXT_PAGE_LEVEL_LIMIT}:</td>
+	<td class="setting_value" colspan="3" width="700">
+		<select name="page_level_limit">
+		<!-- BEGIN page_level_limit_list_block -->
+			<option value="{NUMBER}"{SELECTED}>{NUMBER}</option>
+		<!-- END page_level_limit_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_PAGE_TRASH}:</td>
+	<td class="setting_value" colspan="3">
+		<input type="radio" name="page_trash" id="page_trash_disabled" style="width: 14px; height: 14px;" value="disabled"{PAGE_TRASH_DISABLED} />
+		<label for="page_trash_disabled">{TEXT_DISABLED}</label>
+		<input type="radio" name="page_trash" id="page_trash_inline" style="width: 14px; height: 14px;" value="inline"{PAGE_TRASH_INLINE} />
+		<label for="page_trash_inline">{TEXT_INLINE}</label>
+		<div style="margin: 0; padding: 0;{DISPLAY_PAGE_TRASH_SEPARATE}">
+			<input type="radio" name="page_trash" id="page_trash_separate" style="width: 14px; height: 14px;" value="separate"{PAGE_TRASH_SEPARATE} />
+			<label for="page_trash_separate">{TEXT_SEPARATE}</label>
+		</div>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+        <td class="setting_name">{TEXT_PAGE_LANGUAGES}:</td>
+        <td class="setting_value" colspan="3">
+                <input type="radio" name="page_languages" id="page_languages_true" style="width: 14px; height: 14px;" value="true"{PAGE_LANGUAGES_ENABLED} />
+                <label for="page_languages_true">{TEXT_ENABLED}</label>
+                <input type="radio" name="page_languages" id="page_languages_false" style="width: 14px; height: 14px;" value="false"{PAGE_LANGUAGES_DISABLED} />
+                <label for="page_languages_false">{TEXT_DISABLED}</label>
+		</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_MULTIPLE_MENUS}:</td>
+	<td class="setting_value" colspan="3">
+		<input type="radio" name="multiple_menus" id="multiple_menus_true" style="width: 14px; height: 14px;" value="true"{MULTIPLE_MENUS_ENABLED} />
+		<label for="multiple_menus_true">{TEXT_ENABLED}</label>
+		<input type="radio" name="multiple_menus" id="multiple_menus_false" style="width: 14px; height: 14px;" value="false"{MULTIPLE_MENUS_DISABLED} />
+		<label for="multiple_menus_false">{TEXT_DISABLED}</label>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_HOME_FOLDERS}:</td>
+	<td class="setting_value" colspan="3">
+		<input type="radio" name="home_folders" id="home_folders_true" style="width: 14px; height: 14px;" value="true"{HOME_FOLDERS_ENABLED} />
+		<label for="home_folders_true">{TEXT_ENABLED}</label>
+		<input type="radio" name="home_folders" id="home_folders_false" style="width: 14px; height: 14px;" value="false"{HOME_FOLDERS_DISABLED} />
+		<label for="home_folders_false">{TEXT_DISABLED}</label>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_MANAGE_SECTIONS}:</td>
+	<td class="setting_value" colspan="3">
+		<input type="radio" name="manage_sections" id="manage_sections_true" style="width: 14px; height: 14px;" value="true"{MANAGE_SECTIONS_ENABLED} />
+		<label for="manage_sections_true">{TEXT_ENABLED}</label>
+		<input type="radio" name="manage_sections" id="manage_sections_false" style="width: 14px; height: 14px;" value="false"{MANAGE_SECTIONS_DISABLED} />
+		<label for="manage_sections_false">{TEXT_DISABLED}</label>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_SECTION_BLOCKS}:</td>
+	<td class="setting_value" colspan="3">
+		<input type="radio" name="section_blocks" id="section_blocks_true" style="width: 14px; height: 14px;" value="true"{SECTION_BLOCKS_ENABLED} />
+		<label for="section_blocks_true">{TEXT_ENABLED}</label>
+		<input type="radio" name="section_blocks" id="section_blocks_false" style="width: 14px; height: 14px;" value="false"{SECTION_BLOCKS_DISABLED} />
+		<label for="section_blocks_false">{TEXT_DISABLED}</label>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_INTRO_PAGE}:</td>
+	<td class="setting_value" colspan="3">
+		<input type="radio" name="intro_page" id="intro_page_true" style="width: 14px; height: 14px;" value="true"{INTRO_PAGE_ENABLED} />
+		<label for="intro_page_true">{TEXT_ENABLED}</label>
+		<input type="radio" name="intro_page" id="intro_page_false" style="width: 14px; height: 14px;" value="false"{INTRO_PAGE_DISABLED} />
+		<label for="intro_page_false">{TEXT_DISABLED}</label>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_HOMEPAGE_REDIRECTION}:</td>
+	<td class="setting_value" colspan="3">
+		<input type="radio" name="homepage_redirection" id="homepage_redirection_true" style="width: 14px; height: 14px;" value="true"{HOMEPAGE_REDIRECTION_ENABLED} />
+		<label for="homepage_redirection_true">{TEXT_ENABLED}</label>
+		<input type="radio" name="homepage_redirection" id="homepage_redirection_false" style="width: 14px; height: 14px;" value="false"{HOMEPAGE_REDIRECTION_DISABLED} />
+		<label for="homepage_redirection_false">{TEXT_DISABLED}</label>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_SMART_LOGIN}:</td>
+	<td class="setting_value" colspan="3">
+		<input type="radio" name="smart_login" id="smart_login_true" style="width: 14px; height: 14px;" value="true"{SMART_LOGIN_ENABLED} />
+		<label for="smart_login_true">{TEXT_ENABLED}</label>
+		<input type="radio" name="smart_login" id="smart_login_false" style="width: 14px; height: 14px;" value="false"{SMART_LOGIN_DISABLED} />
+		<label for="smart_login_false">{TEXT_DISABLED}</label>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_LOGIN}:</td>
+	<td class="setting_value" colspan="3">
+		<input type="radio" name="frontend_login" id="frontend_login_true" style="width: 14px; height: 14px;" value="true"{PRIVATE_ENABLED} />
+		<label for="frontend_login_true">{TEXT_ENABLED}</label>
+		<input type="radio" name="frontend_login" id="frontend_login_false" style="width: 14px; height: 14px;" value="false"{PRIVATE_DISABLED} />
+		<label for="frontend_login_false">{TEXT_DISABLED}</label>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_REDIRECT_AFTER}:</td>
+	<td class="setting_value" colspan="3">
+		<input type="text" name="redirect_timer" value="{REDIRECT_TIMER}" />
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_SIGNUP}:</td>
+	<td class="setting_value" colspan="3">
+		<select name="frontend_signup">
+			<option value="false">{TEXT_DISABLED}</option>
+			<!-- BEGIN group_list_block -->
+				<option value="{ID}" {SELECTED}>{NAME}</option>
+			<!-- END group_list_block -->
+		</select>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_PHP_ERROR_LEVEL}:</td>
+	<td class="setting_value" colspan="3">
+		<select name="er_level">
+			<option value="">{TEXT_PLEASE_SELECT}...</option>
+			<!-- BEGIN error_reporting_list_block -->
+				<option value="{VALUE}"{SELECTED}>{NAME}</option>
+			<!-- END error_reporting_list_block -->
+		</select>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_WYSIWYG_STYLE}:</td>
+	<td class="setting_value" colspan="3"><input type="text" name="wysiwyg_style" value="{WYSIWYG_STYLE}" /></td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_WYSIWYG_EDITOR}:</td>
+	<td class="setting_value" colspan="3">
+		<select name="wysiwyg_editor">
+		<!-- BEGIN editor_list_block -->
+			<option value="{FILE}"{SELECTED}>{NAME}</option>
+		<!-- END editor_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td>&nbsp;</td>
+	<td>
+		<input type="submit" name="submit" value="{TEXT_SAVE}" class="save" />
+		<input type="reset" name="reset" value="{TEXT_RESET}" class="reset" />
+	</td>
+	<td style="text-align: right;">
+		<button title="{MODE_SWITCH_WARNING}" onclick="window.location = '{ADVANCED_LINK}'; return false;" class="{DISPLAY_ADVANCED_BUTTON}">{ADVANCED_BUTTON}</button>
+	</td>
+</tr>
+<tr>
+	<td colspan="3" style="padding-top: 10px;"><h2>{HEADING_DEFAULT_SETTINGS}</h2></td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_LANGUAGE}:</td>
+	<td class="setting_value" colspan="3">
+		<select name="default_language">
+			<!-- BEGIN language_list_block -->
+			<option value="{CODE}"{SELECTED} style="background: url({FLAG}.png) no-repeat center left; padding-left: 20px;">{NAME} ({CODE})</option>
+			<!-- END language_list_block -->
+		</select>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_CHARSET}:</td>
+	<td class="setting_value" colspan="3">
+		<select name="default_charset">
+			<option value="">{TEXT_PLEASE_SELECT}...</option>
+			<!-- BEGIN charset_list_block -->
+				<option value="{VALUE}" {SELECTED}>{NAME}</option>
+			<!-- END charset_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_TIMEZONE}:</td>
+	<td class="setting_value" colspan="3">
+		<select name="default_timezone">
+			<option value="0">{TEXT_PLEASE_SELECT}...</option>
+			<!-- BEGIN timezone_list_block -->
+				<option value="{VALUE}" {SELECTED}>{NAME}</option>
+			<!-- END timezone_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_DATE_FORMAT}:</td>
+	<td class="setting_value" colspan="3">
+		<select name="default_date_format">
+			<option value="M d Y">{TEXT_PLEASE_SELECT}...</option>
+			<!-- BEGIN date_format_list_block -->
+				<option value="{VALUE}" {SELECTED}>{NAME}</option>
+			<!-- END date_format_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_TIME_FORMAT}:</td>
+	<td class="setting_value" colspan="3">
+		<select name="default_time_format">
+			<option value="g:i A">{TEXT_PLEASE_SELECT}...</option>
+			<!-- BEGIN time_format_list_block -->
+				<option value="{VALUE}" {SELECTED}>{NAME}</option>
+			<!-- END time_format_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_TEMPLATE}:</td>
+	<td class="setting_value" colspan="3">
+		<select name="default_template">
+		<!-- BEGIN template_list_block -->
+			<option value="{FILE}"{SELECTED}>{NAME}</option>
+		<!-- END template_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_THEME}:</td>
+	<td class="setting_value" colspan="3">
+		<select name="default_theme">
+		<!-- BEGIN theme_list_block -->
+			<option value="{FILE}"{SELECTED}>{NAME}</option>
+		<!-- END theme_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td>&nbsp;</td>
+	<td>
+		<input type="submit" name="submit" value="{TEXT_SAVE}" class="save" />
+		<input type="reset" name="reset" value="{TEXT_RESET}" class="reset" />
+	</td>
+	<td style="text-align: right;">
+		<button title="{MODE_SWITCH_WARNING}" onclick="window.location = '{ADVANCED_LINK}'; return false;" class="{DISPLAY_ADVANCED_BUTTON}">{ADVANCED_BUTTON}</button>
+	</td>
+</tr>
+<tr>
+	<td colspan="3" style="padding-top: 10px;"><h2>{HEADING_SEARCH_SETTINGS}</h2></td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_VISIBILITY}:</td>
+	<td class="setting_value" colspan="3">
+		<select name="search">
+			<option value="public">{TEXT_PUBLIC}</option>
+			<option value="private" {PRIVATE_SEARCH}>{TEXT_PRIVATE}</option>
+			<option value="registered" {REGISTERED_SEARCH}>{TEXT_REGISTERED}</option>
+			<option value="none" {NONE_SEARCH}>{TEXT_NONE}</option>
+		</select>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_TEMPLATE}:</td>
+	<td class="setting_value" colspan="3">
+		<select name="search_template">
+		<!-- BEGIN search_template_list_block -->
+			<option value="{FILE}"{SELECTED}>{NAME}</option>
+		<!-- END search_template_list_block -->
+		</select>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_HEADER}:</td>
+	<td class="setting_value" colspan="3">
+		<textarea name="search_header" style="height: 100px;" cols="50" rows="3">{SEARCH_HEADER}</textarea>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_RESULTS_HEADER}:</td>
+	<td class="setting_value" colspan="3">
+		<textarea name="search_results_header" cols="50" rows="3">{SEARCH_RESULTS_HEADER}</textarea>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_RESULTS_LOOP}:</td>
+	<td class="setting_value" colspan="3">
+		<textarea name="search_results_loop" cols="50" rows="3">{SEARCH_RESULTS_LOOP}</textarea>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_RESULTS_FOOTER}:</td>
+	<td class="setting_value" colspan="3">
+		<textarea name="search_results_footer" cols="50" rows="3">{SEARCH_RESULTS_FOOTER}</textarea>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_NO_RESULTS}:</td>
+	<td class="setting_value" colspan="3">
+		<input type="text" name="search_no_results" value="{SEARCH_NO_RESULTS}" />
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_FOOTER}:</td>
+	<td class="setting_value" colspan="3">
+		<textarea name="search_footer" cols="50" rows="3">{SEARCH_FOOTER}</textarea>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_MODULE_ORDER}:</td>
+	<td class="setting_value" colspan="3">
+		<input type="text" name="search_module_order" value="{SEARCH_MODULE_ORDER}" />
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_MAX_EXCERPT}:</td>
+	<td class="setting_value" colspan="3">
+		<input type="text" name="search_max_excerpt" value="{SEARCH_MAX_EXCERPT}" />
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_TIME_LIMIT}:</td>
+	<td class="setting_value" colspan="3">
+		<input type="text" name="search_time_limit" value="{SEARCH_TIME_LIMIT}" />
+	</td>
+</tr>
+<tr>
+	<td>&nbsp;</td>
+	<td>
+		<input type="submit" name="submit" value="{TEXT_SAVE}" class="save" />
+		<input type="reset" name="reset" value="{TEXT_RESET}" class="reset" />
+	</td>
+	<td style="text-align: right;">
+		<button title="{MODE_SWITCH_WARNING}" onclick="window.location = '{ADVANCED_LINK}'; return false;" class="{DISPLAY_ADVANCED_BUTTON}">{ADVANCED_BUTTON}</button>
+	</td>
+</tr>
+<tr>
+	<td colspan="3" style="padding-top: 10px;"><h2>{HEADING_SERVER_SETTINGS}</h2></td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_SERVER_OPERATING_SYSTEM}:</td>
+	<td class="setting_value" colspan="3">
+		<input type="radio" name="operating_system" id="operating_system_linux" onclick="javascript: change_os('linux');" style="width: 14px; height: 14px;" value="linux"{LINUX_SELECTED} />
+		<label for="operating_system_linux" onclick="javascript: change_os('linux');">{TEXT_LINUX_UNIX_BASED}</label>
+		<input type="radio" name="operating_system" id="operating_system_windows" onclick="javascript: change_os('windows');" style="width: 14px; height: 14px;" value="windows"{WINDOWS_SELECTED} />
+		<label for="operating_system_windows" onclick="javascript: change_os('windows');">{TEXT_WINDOWS}</label>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name"><div id="{BASIC_FILE_PERMS_ID}1" style="margin: 0; padding: 0;">&nbsp;</div></td>
+	<td class="setting_value" colspan="3">
+		<div id="{BASIC_FILE_PERMS_ID}2" style="margin: 0; padding: 0;">
+			<input type="checkbox" name="world_writeable" id="world_writeable" style="width: 14px; height: 14px;" value="true"{WORLD_WRITEABLE_SELECTED} />
+			<label for="world_writeable">
+				{TEXT_WORLD_WRITEABLE_FILE_PERMISSIONS} (777)
+			</label>
+			<br />
+			<font class="note">({WORLD_WRITEABLE_WARNING})</font>
+		</div>
+		<div id="{BASIC_FILE_PERMS_ID}3" style="margin: 0; padding: 0;"></div>
+	</td>
+</tr>
+
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name"><div id="{ADVANCED_FILE_PERMS_ID}1" style="margin: 0; padding: 0;">{TEXT_FILESYSTEM_PERMISSIONS}:</div></td>
+	<td class="setting_value" id="file_mode" align="left">
+		<table cellpadding="2" cellspacing="0" border="0" width="90%" style="border-right: 1px solid #ddd;" id="{ADVANCED_FILE_PERMS_ID}2">
+		<tr>
+			<td colspan="3" style="text-align: center; font-weight: bold;">{TEXT_FILES}:</td>
+		</tr>
+		<tr>
+			<td>{TEXT_USER}:</td>
+			<td>{TEXT_GROUP}:</td>
+			<td>{TEXT_OTHERS}:</td>
+		</tr>
+		<tr>
+			<td>
+				<input type="checkbox" name="file_u_r" id="file_u_r" value="true"{FILE_U_R_CHECKED} />
+				<label for="file_u_r">{TEXT_READ}</label>
+				<br />
+				<input type="checkbox" name="file_u_w" id="file_u_w" value="true"{FILE_U_W_CHECKED} />
+				<label for="file_u_w">{TEXT_WRITE}</label>
+				<br />
+				<input type="checkbox" name="file_u_e" id="file_u_e" value="true"{FILE_U_E_CHECKED} />
+				<label for="file_u_e">{TEXT_EXECUTE}</label>
+			</td>
+			<td>
+				<input type="checkbox" name="file_g_r" id="file_g_r" value="true"{FILE_G_R_CHECKED} />
+				<label for="file_g_r">{TEXT_READ}</label>
+				<br />
+				<input type="checkbox" name="file_g_w" id="file_g_w" value="true"{FILE_G_W_CHECKED} />
+				<label for="file_g_w">{TEXT_WRITE}</label>
+				<br />
+				<input type="checkbox" name="file_g_e" id="file_g_e" value="true"{FILE_G_E_CHECKED} />
+				<label for="file_g_e">{TEXT_EXECUTE}</label>
+			</td>
+			<td>
+				<input type="checkbox" name="file_o_r" id="file_o_r" value="true"{FILE_O_R_CHECKED} />
+				<label for="file_o_r">{TEXT_READ}</label>
+				<br />
+				<input type="checkbox" name="file_o_w" id="file_o_w" value="true"{FILE_O_W_CHECKED} />
+				<label for="file_o_w">{TEXT_WRITE}</label>
+				<br />
+				<input type="checkbox" name="file_o_e" id="file_o_e" value="true"{FILE_O_E_CHECKED} />
+				<label for="file_o_e">{TEXT_EXECUTE}</label>
+			</td>
+		</tr>
+		</table>
+	</td>
+	<td class="setting_value" id="dir_mode" style="text-align: right;">
+		<table cellpadding="2" cellspacing="0" border="0" width="90%" id="{ADVANCED_FILE_PERMS_ID}3">
+		<tr>
+			<td colspan="3" style="text-align: center; font-weight: bold;">{TEXT_DIRECTORIES}:</td>
+		</tr>
+		<tr>
+			<td>{TEXT_USER}:</td>
+			<td>{TEXT_GROUP}:</td>
+			<td>{TEXT_OTHERS}:</td>
+		</tr>
+		<tr>
+			<td>
+				<input type="checkbox" name="dir_u_r" id="dir_u_r" value="true"{DIR_U_R_CHECKED} />
+				<label for="dir_u_r">{TEXT_READ}</label>
+				<br />
+				<input type="checkbox" name="dir_u_w" id="dir_u_w" value="true"{DIR_U_W_CHECKED} />
+				<label for="dir_u_w">{TEXT_WRITE}</label>
+				<br />
+				<input type="checkbox" name="dir_u_e" id="dir_u_e" value="true"{DIR_U_E_CHECKED} />
+				<label for="dir_u_e">{TEXT_EXECUTE}</label>
+			</td>
+			<td>
+				<input type="checkbox" name="dir_g_r" id="dir_g_r" value="true"{DIR_G_R_CHECKED} />
+				<label for="dir_g_r">{TEXT_READ}</label>
+				<br />
+				<input type="checkbox" name="dir_g_w" id="dir_g_w" value="true"{DIR_G_W_CHECKED} />
+				<label for="dir_g_w">{TEXT_WRITE}</label>
+				<br />
+				<input type="checkbox" name="dir_g_e" id="dir_g_e" value="true"{DIR_G_E_CHECKED} />
+				<label for="dir_g_e">{TEXT_EXECUTE}</label>
+			</td>
+			<td>
+				<input type="checkbox" name="dir_o_r" id="dir_o_r" value="true"{DIR_O_R_CHECKED} />
+				<label for="dir_o_r">{TEXT_READ}</label>
+				<br />
+				<input type="checkbox" name="dir_o_w" id="dir_o_w" value="true"{DIR_O_W_CHECKED} />
+				<label for="dir_o_w">{TEXT_WRITE}</label>
+				<br />
+				<input type="checkbox" name="dir_o_e" id="dir_o_e" value="true"{DIR_O_E_CHECKED} />
+				<label for="dir_o_e">{TEXT_EXECUTE}</label>
+			</td>
+		</tr>
+		</table>
+	</td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_PAGES_DIRECTORY}:</td>
+	<td class="setting_value" colspan="3"><input type="text" name="pages_directory" value="{PAGES_DIRECTORY}" /></td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_MEDIA_DIRECTORY}:</td>
+	<td class="setting_value" colspan="3"><input type="text" name="media_directory" value="{MEDIA_DIRECTORY}" /></td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_PAGE_EXTENSION}:</td>
+	<td class="setting_value" colspan="3"><input type="text" name="page_extension" value="{PAGE_EXTENSION}" /></td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_PAGE_SPACER}:</td>
+	<td class="setting_value" colspan="3"><input type="text" name="page_spacer" value="{PAGE_SPACER}" /></td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_RENAME_FILES_ON_UPLOAD}:</td>
+	<td class="setting_value" colspan="3"><input type="text" name="rename_files_on_upload" value="{RENAME_FILES_ON_UPLOAD}" /></td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_SESSION_IDENTIFIER}:</td>
+	<td class="setting_value" colspan="3"><input type="text" name="app_name" value="{APP_NAME}" /></td>
+</tr>
+<tr{DISPLAY_ADVANCED}>
+	<td class="setting_name">{TEXT_SEC_ANCHOR}:</td>
+	<td class="setting_value" colspan="3"><input type="text" name="sec_anchor" value="{SEC_ANCHOR}" /></td>
+</tr>
+<!-- BASIC MAILER SETTINGS -->
+<tr>
+	<td colspan="3" style="padding-top: 10px;">
+		<h2>{HEADING_WBMAILER_SETTINGS}</h2>
+		<p style="line-height: 1.4em; margin-top: 0;">{TEXT_WBMAILER_DEFAULT_SETTINGS_NOTICE}</p>
+	</td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_WBMAILER_DEFAULT_SENDER_MAIL}:</td>
+	<td class="setting_value" colspan="3"><input type="text" style="width: 250px" name="server_email" value="{SERVER_EMAIL}" /></td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_WBMAILER_DEFAULT_SENDER_NAME}:</td>
+	<td class="setting_value" colspan="3"><input type="text" style="width: 250px" name="wbmailer_default_sendername" value="{WBMAILER_DEFAULT_SENDERNAME}" /></td>
+</tr>
+<tr>
+	<td class="setting_name">{TEXT_WBMAILER_FUNCTION}:</td>
+	<td class="setting_value" colspan="3">
+		<input type="radio" name="wbmailer_routine" id="wbmailer_routine_phpmail" onclick="javascript: change_wbmailer('phpmail');" style="width: 14px; height: 14px;" value="phpmail"{PHPMAIL_SELECTED} />
+		<label for="wbmailer_routine_phpmail" onclick="javascript: change_wbmailer('phpmail');">{TEXT_WBMAILER_PHP}</label>
+		<input type="radio" name="wbmailer_routine" id="wbmailer_routine_smtp" onclick="javascript: change_wbmailer('smtp');" style="width: 14px; height: 14px;" value="smtp"{SMTPMAIL_SELECTED} />
+		<label for="wbmailer_routine_smtp" onclick="javascript: change_wbmailer('smtp');">{TEXT_WBMAILER_SMTP}</label>
+	</td>
+</tr>
+<!-- MORE ADVANCED SMTP MAILER SETTINGS -->
+<tr id="row_wbmailer_smtp_settings"{SMTP_VISIBILITY}>
+	<td colspan="3" style="padding-top: 10px;"><p style="line-height: 1.4em; margin-top: 0;">{TEXT_WBMAILER_NOTICE}</p></td>
+</tr>
+<tr id="row_wbmailer_smtp_host"{SMTP_VISIBILITY}>
+	<td class="setting_name">{TEXT_WBMAILER_SMTP_HOST}:</td>
+	<td class="setting_value" colspan="3"><input type="text" style="width: 250px" name="wbmailer_smtp_host" value="{WBMAILER_SMTP_HOST}" /></td>
+</tr>
+<tr id="row_wbmailer_smtp_auth_mode"{SMTP_VISIBILITY}>
+	<td class="setting_name">{TEXT_WBMAILER_SMTP_AUTH}:</td>
+	<td class="setting_value" colspan="3">
+		<input type="checkbox" name="wbmailer_smtp_auth" id="wbmailer_smtp_auth" onclick="javascript: toggle_wbmailer_auth();" style="width: 14px; height: 14px;" value="true"{SMTP_AUTH_SELECTED} />
+		<label for="wbmailer_smtp_auth" onclick="javascript: toggle_wbmailer_auth(this.value);">({TEXT_WBMAILER_SMTP_AUTH_NOTICE})</label>
+	</td>
+</tr>
+<tr id="row_wbmailer_smtp_username"{SMTP_VISIBILITY_AUTH}>
+	<td class="setting_name">{TEXT_WBMAILER_SMTP_USERNAME}:</td>
+	<td class="setting_value" colspan="3"><input type="text" style="width: 250px" name="wbmailer_smtp_username" value="{WBMAILER_SMTP_USERNAME}" /></td>
+</tr>
+<tr id="row_wbmailer_smtp_password"{SMTP_VISIBILITY_AUTH}>
+	<td class="setting_name">{TEXT_WBMAILER_SMTP_PASSWORD}:</td>
+	<td class="setting_value" colspan="3"><input type="password" style="width: 250px" name="wbmailer_smtp_password" value="{WBMAILER_SMTP_PASSWORD}" /></td>
+</tr>
+<tr>
+	<td>&nbsp;</td>
+	<td>
+		<input type="submit" name="submit" value="{TEXT_SAVE}" class="save" />
+		<input type="reset" name="reset" value="{TEXT_RESET}" class="reset" />
+	</td>
+	<td style="text-align: right;">
+		<button title="{MODE_SWITCH_WARNING}" onclick="window.location = '{ADVANCED_LINK}'; return false;" class="{DISPLAY_ADVANCED_BUTTON}">{ADVANCED_BUTTON}</button>
+	</td>
+</tr>
+</table>
+
+</form>
+
+<hr size="1" />
+
+<button title="{MODE_SWITCH_WARNING}" onclick="window.location = '{ADVANCED_LINK}'; return false;" class="{DISPLAY_ADVANCED_BUTTON}">{ADVANCED_BUTTON}</button>
+<br />
+<font class="{DISPLAY_ADVANCED_BUTTON}">{MODE_SWITCH_WARNING}</font>
+<script src="{ADMIN_URL}/settings/setting.js" type="text/javascript"></script>
+<!-- END main_block -->
Index: tags/2.8.2/wb/templates/argos_theme/templates/users.htt
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/templates/users.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/templates/users.htt	(revision 1481)
@@ -0,0 +1,32 @@
+<!-- BEGIN main_block -->
+
+<form name="users" action="users.php" method="post">
+<input type="hidden" name="action" value="delete" />
+
+<table cellpadding="5" cellspacing="0" border="0" align="center" width="100%" style="margin-bottom:10px;">
+	<tr style="background:#f0f0f0;">
+		<td align="left"><h2>{HEADING_MODIFY_DELETE_USER}</h2></td>
+		<td align="right">
+		<!-- BEGIN manage_groups_block -->
+		<a href="{ADMIN_URL}/groups/index.php">{TEXT_MANAGE_GROUPS}</a>
+		<!-- END manage_groups_block -->
+		</td>
+     </tr>
+</table>
+
+<select name="user_id" style="width: 500px;">
+<!-- BEGIN list_block -->
+	<option value="{VALUE}">{NAME}</option>
+<!-- END list_block -->
+</select>
+
+<input type="submit" name="modify" style="width: 100px;" value="{TEXT_MODIFY}" class="{DISPLAY_MODIFY}" />
+<input type="submit" name="delete" style="width: 100px;" value="{TEXT_DELETE}" onclick="return confirm('{CONFIRM_DELETE}');" class="{DISPLAY_DELETE}" />
+
+</form>
+
+<br />
+
+<h2 style="margin-top: 20px;" class="{DISPLAY_ADD}">{HEADING_ADD_USER}</h2>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/argos_theme/templates/access.htt
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/templates/access.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/templates/access.htt	(revision 1481)
@@ -0,0 +1,33 @@
+<!-- BEGIN main_block -->
+<h2>{ACCESS}</h2>
+<table cellpadding="0" cellspacing="0" border="0" width="99%" align="center">
+	<tr>
+		<td align="center" valign="top">
+			<!-- BEGIN users_block -->	
+			<table cellpadding="0" cellspacing="0" border="0" class="section" {DISPLAY_USERS} >
+				<tr>
+					<td class="graphic" align="center" valign="top" rowspan="2">
+						<a href="{ADMIN_URL}/users/index.php"><img src="{THEME_URL}/icons/users.png" alt="{USERS}" /></a>
+					</td>
+					<td class="description" valign="top">
+						<a href="{ADMIN_URL}/users/index.php"><span class="title">{USERS}</span></a><p>{USERS_OVERVIEW}</p>
+					</td>
+				</tr>
+			</table>	
+			<!-- END users_block -->
+			<!-- BEGIN groups_block -->		
+			<table cellpadding="0" cellspacing="0" border="0" class="section" {DISPLAY_GROUPS} >
+				<tr>
+					<td class="graphic" align="center" valign="top" rowspan="2">
+						<a href="{ADMIN_URL}/groups/index.php"><img src="{THEME_URL}/icons/groups.png" alt="{GROUPS}" /></a>
+					</td>
+					<td class="description" valign="top">
+						<a href="{ADMIN_URL}/groups/index.php"><span class="title">{GROUPS}</span></a><p>{GROUPS_OVERVIEW}</p>
+					</td>
+				</tr>
+			</table>
+			<!-- END groups_block -->
+		</td>
+	</tr>
+</table>
+<!-- END main_block -->
Index: tags/2.8.2/wb/templates/argos_theme/templates/pages_modify.htt
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/templates/pages_modify.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/templates/pages_modify.htt	(revision 1481)
@@ -0,0 +1,21 @@
+<!-- BEGIN main_block -->
+
+<table cellpadding="5" cellspacing="0" border="0" align="center" width="100%" style="margin-bottom:10px;">
+<tr style="background:#f0f0f0;">
+	<td valign="middle" align="left"><h2>{HEADING_MODIFY_PAGE}</h2></td>
+	<td align="left" width="20%">ID: {PAGE_ID}</td>
+	<td align="right">
+		{TEXT_CURRENT_PAGE}:
+		<b>{PAGE_TITLE}</b>
+		- 
+		<a href="{ADMIN_URL}/pages/settings.php?page_id={PAGE_ID}">{TEXT_CHANGE_SETTINGS}</a>
+		<font style="{DISPLAY_MANAGE_SECTIONS}">-</font>
+		<a href="{ADMIN_URL}/pages/sections.php?page_id={PAGE_ID}" style="{DISPLAY_MANAGE_SECTIONS}">{TEXT_MANAGE_SECTIONS}</a>
+		<font style="color:#999;" class="{CLASS_DISPLAY_MODIFIED}"><br />
+		{LAST_MODIFIED} {MODIFIED_BY} ({MODIFIED_BY_USERNAME}), {MODIFIED_WHEN}
+		</font>
+	</td>
+</tr>
+</table>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/argos_theme/templates/success.htt
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/templates/success.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/templates/success.htt	(revision 1481)
@@ -0,0 +1,16 @@
+<!-- BEGIN main_block -->
+<center>
+	
+	{MESSAGE}
+	
+	<script type="text/javascript">
+		setTimeout("location.href='{REDIRECT}'", {REDIRECT_TIMER});
+	</script>
+	
+	<noscript>
+		<br /><br />
+		<a href="{REDIRECT}">{NEXT}</a>
+	</noscript>
+	
+</center>
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/argos_theme/templates/modules.htt
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/templates/modules.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/templates/modules.htt	(revision 1481)
@@ -0,0 +1,128 @@
+<!-- BEGIN main_block -->
+<table cellpadding="5" cellspacing="0" border="0" align="center" width="100%" style="margin-bottom:10px;">
+	<tr style="background:#f0f0f0;">
+		<td align="right">
+			{URL_TEMPLATES}
+			-
+			{URL_LANGUAGES}
+			-
+			{URL_ADVANCED}
+		</td>
+     </tr>
+</table>
+
+<form name="install" enctype="multipart/form-data" action="install.php" method="post" class="{DISPLAY_INSTALL}">
+  <h2>{HEADING_INSTALL_MODULE}</h2>
+  <table cellpadding="2" cellspacing="0" border="0" width="100%">
+    <tr>
+      <td>
+        <input type="file" name="userfile" size="97%" />
+        <script type="text/javascript">
+		document.install.userfile.focus();
+		</script>
+      </td>
+      <td width="110" align="left">
+        <input type="submit" name="submit" value="{TEXT_INSTALL}" style="width: 100px;" />
+      </td>
+    </tr>
+  </table>
+  <br />
+</form>
+<form name="uninstall" action="uninstall.php" method="post" class="{DISPLAY_UNINSTALL}">
+  <h2>{HEADING_UNINSTALL_MODULE}</h2>
+  <table cellpadding="2" cellspacing="0" border="0" width="100%">
+    <tr>
+      <td>
+        <select name="file" style="width: 97%;">
+		<option value="" selected="selected">{TEXT_PLEASE_SELECT}...</option>
+		<!-- BEGIN module_list_block -->
+			<option value="{VALUE}">{NAME}</option>
+          <!-- END module_list_block -->
+        </select>
+      </td>
+      <td width="110">
+        <input type="submit" name="submit" value="{TEXT_UNINSTALL}" style="width: 100px;" />
+      </td>
+    </tr>
+  </table>
+  <br />
+</form>
+<form name="details" action="details.php" method="post" class="{DISPLAY_LIST}">
+  <h2>{HEADING_MODULE_DETAILS}</h2>
+  <table cellpadding="2" cellspacing="0" border="0" width="100%">
+    <tr>
+      <td>
+        <select name="file" style="width: 97%;">
+		<option value="" selected="selected">{TEXT_PLEASE_SELECT}...</option>
+		<!-- BEGIN module_list_block -->
+			<option value="{VALUE}">{NAME}</option>
+          <!-- END module_list_block -->
+        </select>
+      </td>
+      <td width="110">
+        <input type="submit" name="submit" value="{TEXT_VIEW_DETAILS}" style="width: 100px;" />
+      </td>
+    </tr>
+  </table>
+  <br />
+</form>
+<div class="{DISPLAY_MANUAL_INSTALL}">
+  <h2>{HEADING_INVOKE_MODULE_FILES}</h2>
+  <p>{TEXT_MANUAL_INSTALLATION}</p>
+  <form name="details" action="manual_install.php" method="post" class="{INSTALL_VISIBLE}">
+  <table cellpadding="0" cellspacing="2" border="0" width="80%">
+	  <tr>
+		<td width="150" valign="middle" nowrap="nowrap">{TEXT_FILE}: "install.php"</td>
+		<td valign="middle">
+			<input type="hidden" name="action" value="install" />
+			<select name="file" style="width: 250px;">
+	        <option value="" selected="selected">{TEXT_PLEASE_SELECT}...</option>
+			<!-- BEGIN install_list_block -->
+			<option value="{VALUE}">{NAME}</option>
+			<!-- END install_list_block -->
+			</select>
+			<input type="submit" name="submit" value="{TEXT_EXECUTE}" style="width:100px;" />
+		</td>
+	  </tr>
+  </table>
+  </form>
+  
+  <form name="details" action="manual_install.php" method="post" class="{UPGRADE_VISIBLE}">
+  <table cellpadding="0" cellspacing="2" border="0" width="80%">
+	  <tr>
+		<td width="150" valign="middle" nowrap="nowrap">{TEXT_FILE}: "upgrade.php"</td>
+		<td valign="middle" >
+			<input type="hidden" name="action" value="upgrade" />
+			<select name="file" style="width: 250px;">
+	        <option value="" selected="selected">{TEXT_PLEASE_SELECT}...</option>
+			<!-- BEGIN install_list_block -->
+			<option value="{VALUE}">{NAME}</option>
+			<!-- END install_list_block -->
+			</select>
+			<input type="submit" name="submit" value="{TEXT_EXECUTE}" style="width:100px;" />
+		</td>
+	  </tr>
+  </table>
+  </form>
+
+  <form name="details" action="manual_install.php" method="post" class="{UNINSTALL_VISIBLE}">
+  <table cellpadding="0" cellspacing="2" border="0" width="80%">
+	  <tr>
+		<td width="150" valign="middle" nowrap="nowrap">{TEXT_FILE}: "uninstall.php"</td>
+		<td valign="middle">
+			<input type="hidden" name="action" value="uninstall" />
+			<select name="file" style="width: 250px;">
+	        <option value="" selected="selected">{TEXT_PLEASE_SELECT}...</option>
+			<!-- BEGIN install_list_block -->
+			<option value="{VALUE}">{NAME}</option>
+			<!-- END install_list_block -->
+			</select>
+			<input type="submit" name="submit" value="{TEXT_EXECUTE}" style="width:100px;" />
+			</td>
+	  </tr>
+  </table>
+  </form>
+
+  <p style="color:red;">{TEXT_MANUAL_INSTALLATION_WARNING}</p>
+</div>
+<!-- END main_block -->
Index: tags/2.8.2/wb/templates/argos_theme/templates/addons.htt
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/templates/addons.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/templates/addons.htt	(revision 1481)
@@ -0,0 +1,59 @@
+<!-- BEGIN main_block -->
+<table cellpadding="5" cellspacing="0" border="0" align="center" width="100%" style="margin-bottom:10px;">
+	<tr style="background:#f0f0f0;">
+		<td valign="middle" align="left"><h2>{ADDONS_OVERVIEW}</h2></td>
+		<td align="right">{URL_ADVANCED}</td>
+	</tr>
+</table>
+
+<table cellpadding="0" cellspacing="0" border="0" width="99%" align="center">
+	<tr>
+		<td align="center" valign="top">
+			<!-- BEGIN modules_block -->
+			<table cellpadding="0" cellspacing="0" border="0" class="section" {DISPLAY_MODULES} >
+				<tr>
+					<td class="graphic" align="center" valign="middle" rowspan="2"><a href="{ADMIN_URL}/modules/index.php"><img src="{THEME_URL}/icons/modules.png" alt="0" /> </a> </td>
+					<td class="description" valign="top"><a href="{ADMIN_URL}/modules/index.php"><span class="title">{MODULES}</span></a><p>{MODULES_OVERVIEW}</p></td>
+				</tr>
+			</table>
+			<!-- END modules_block -->
+			<!-- BEGIN templates_block -->
+			<table cellpadding="0" cellspacing="0" border="0" class="section" {DISPLAY_TEMPLATES} >
+				<tr>
+					<td class="graphic" align="center" valign="middle" rowspan="2"><a href="{ADMIN_URL}/templates/index.php"><img src="{THEME_URL}/icons/templates.png" alt="{TEMPLATES}" /> </a> </td>
+					<td class="description" valign="top"><a href="{ADMIN_URL}/templates/index.php"><span class="title">{TEMPLATES}</span></a><p>{TEMPLATES_OVERVIEW}</p></td>
+				</tr>
+			</table>
+			<!-- END templates_block -->
+			<!-- BEGIN languages_block -->
+			<table cellpadding="0" cellspacing="0" border="0" class="section" {DISPLAY_LANGUAGES} >
+				<tr>
+					<td class="graphic" align="center" valign="middle" rowspan="2"><a href="{ADMIN_URL}/languages/index.php"><img src="{THEME_URL}/icons/languages.png" alt="{LANGUAGES}" /> </a> </td>
+					<td class="description" valign="top"> <a href="{ADMIN_URL}/languages/index.php"><span class="title">{LANGUAGES}</span></a><p>{LANGUAGES_OVERVIEW}</p></td>
+				</tr>
+			</table>
+			<!-- END languages_block -->
+			<!-- BEGIN reload_block -->
+			<table cellpadding="0" cellspacing="0" border="0" class="section" {DISPLAY_RELOAD} >
+				<tr>
+					<td class="graphic" align="center" valign="middle" rowspan="2"><img src="{THEME_URL}/icons/admintools.png" alt="{TXT_ADMIN_SETTINGS}" /> </td>
+					<td class="description" valign="top"><span class="title">{TXT_ADMIN_SETTINGS}</span>
+						<form action="{RELOAD_URL}" method="post">
+							{MESSAGE_RELOAD_ADDONS}
+							<br style="margin-bottom: 0.5em" />
+							<input {DISPLAY_MODULES} type="checkbox" name="reload_modules" id="reload_modules" value="true" />
+							<label {DISPLAY_MODULES} for="reload_modules">{MODULES}</label>
+							<input {DISPLAY_TEMPLATES} type="checkbox" name="reload_templates" id="reload_templates" value="true" />
+							<label {DISPLAY_TEMPLATES} for="reload_templates">{TEMPLATES}</label>
+							<input {DISPLAY_LANGUAGES} type="checkbox" name="reload_languages" id="reload_languages" value="true" />
+							<label {DISPLAY_LANGUAGES} for="reload_languages">{LANGUAGES}</label>
+							<input type="submit" name="submit" value="{TEXT_RELOAD}" />
+						</form>
+					</td>
+				</tr>
+			</table>
+			<!-- END reload_block -->
+		</td>
+	</tr>
+</table>
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/argos_theme/templates/login.htt
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/templates/login.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/templates/login.htt	(revision 1481)
@@ -0,0 +1,83 @@
+<!-- BEGIN mainBlock -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<title>{TEXT_LOGIN}</title>
+<meta http-equiv="content-type" content="text/html; charset={CHARSET}" />
+<meta http-equiv="content-language" content="{LANGUAGE}" />
+<meta name="description" content="{TEXT_LOGIN}" />
+<meta name="keywords" content="{TEXT_LOGIN}" />
+<link href="{THEME_URL}/theme.css" rel="stylesheet" type="text/css" />
+</head>
+<body onload="document.login.{USERNAME_FIELDNAME}.focus();">
+<div style="text-align:left;font-size:20px;color:#fff;padding:15px 0 0 50px;height:100px;">
+	<!-- <img src="{THEME_URL}/images/logo.png" alt="Logo" /> -->
+	{TEXT_LOGIN}
+</div> 
+<table cellpadding="0" cellspacing="0" border="0" width="770" align="center" style="margin-top: 30px;">
+  <tr>
+    <td class="content">
+      <form name="login" action="{ACTION_URL}" method="post">
+        <input type="hidden" name="url" value="{URL}" />
+        <input type="hidden" name="username_fieldname" value="{USERNAME_FIELDNAME}" />
+        <input type="hidden" name="password_fieldname" value="{PASSWORD_FIELDNAME}" />
+        <table cellpadding="5" cellspacing="0" border="0" align="center" width="500">
+          <tr>
+            <td height="40" align="center" colspan="2">{MESSAGE}</td>
+          </tr>
+          <tr>
+            <td height="10" colspan="2"></td>
+          </tr>
+          <tr>
+            <td width="170" height="30" align="right">{TEXT_USERNAME}:</td>
+            <td>
+              <input type="text" maxlength="{MAX_USERNAME_LEN}" name="{USERNAME_FIELDNAME}" value="{USERNAME}" style="width: 180px;" />
+            </td>
+          </tr>
+          <tr>
+            <td width="170" height="30" align="right">{TEXT_PASSWORD}:</td>
+            <td>
+              <input type="password" maxlength="{MAX_PASSWORD_LEN}" name="{PASSWORD_FIELDNAME}" style="width: 180px;" />
+            </td>
+          </tr>
+          <tr style="{DISPLAY_REMEMBER_ME}">
+            <td>&nbsp;</td>
+            <td>
+              <input type="checkbox" name="remember" id="remember" value="true" />
+              <label for="remember">{TEXT_REMEMBER_ME}</label>
+            </td>
+          </tr>
+          <tr>
+            <td>&nbsp;</td>
+            <td>
+              <input type="submit" name="submit" value="{TEXT_LOGIN}" style="width: 180px; font-size: 10px; text-transform: uppercase; color: #003366; border: 1px solid #336699; background-color: #DDDDDD; padding: 3px;" />
+            </td>
+          </tr>
+          <tr>
+            <td height="10" colspan="2"></td>
+          </tr>
+        </table>
+      </form>
+      <center>
+        <a href="{FORGOTTEN_DETAILS_APP}">{TEXT_FORGOTTEN_DETAILS}</a> 
+		<br />
+        <br />
+        <br />
+        <a href="{WB_URL}">{TEXT_HOME}</a>
+      </center>
+    </td>
+  </tr>
+</table>
+<table cellpadding="0" cellspacing="0" border="0" width="100%" style="padding:10px 0;">
+  <tr>
+    <td style="font-size:10px;text-align:center;">
+      <!-- Please note: the below reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
+      <a href="http://www.websitebaker2.org/" title="external">WebsiteBaker</a> is released under the
+      <a href="http://www.gnu.org/licenses/gpl.html" title="WebsiteBaker is released under the GNU General Public License">GNU General Public License</a>
+      <!-- Please note: the above reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
+    </td>
+  </tr>
+</table>
+</body>
+</html>
+<!-- END mainBlock -->
Index: tags/2.8.2/wb/templates/argos_theme/templates/groups.htt
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/templates/groups.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/templates/groups.htt	(revision 1481)
@@ -0,0 +1,31 @@
+<!-- BEGIN main_block -->
+
+<form name="groups" action="groups.php" method="post">
+  <input type="hidden" name="action" value="delete" />
+  
+  <table cellpadding="5" cellspacing="0" border="0" align="center" width="100%" style="margin-bottom:10px;">
+	<tr style="background:#f0f0f0;">
+		<td align="left"><h2>{HEADING_MODIFY_DELETE_GROUP}</h2></td>
+		<td align="right">
+		<!-- BEGIN manage_users_block -->
+		<a href="{ADMIN_URL}/users/index.php">{TEXT_MANAGE_USERS}</a>
+		<!-- END manage_users_block -->
+		</td>
+     </tr>
+</table>
+
+  <select name="group_id" style="width: 500px;">
+    <!-- BEGIN list_block -->
+    <option value="{VALUE}">
+    {NAME}
+    </option>
+    <!-- END list_block -->
+  </select>
+  <input type="submit" name="modify" style="width: 100px;" value="{TEXT_MODIFY}" class="{DISPLAY_MODIFY}" />
+  <input type="submit" name="delete" style="width: 100px;" value="{TEXT_DELETE}" onClick="return confirm('{CONFIRM_DELETE}');" class="{DISPLAY_DELETE}" />
+</form>
+<br />
+<h2 class="{DISPLAY_ADD}">
+  {HEADING_ADD_GROUP}
+</h2>
+<!-- END main_block -->
Index: tags/2.8.2/wb/templates/argos_theme/templates/users_form.htt
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/templates/users_form.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/templates/users_form.htt	(revision 1481)
@@ -0,0 +1,94 @@
+<!-- BEGIN main_block -->
+
+<script type="text/javascript">
+function toggle_radio(radio_on, radio_off) {
+	document.getElementById(radio_on).checked = true;
+	document.getElementById(radio_off).checked = true;
+}
+</script>
+
+<h2 style="{DISPLAY_EXTRA}">{HEADING_MODIFY_USER}</h2>
+
+<form name="user" action="{ACTION_URL}" method="post" class="{DISPLAY_ADD}">
+<input type="hidden" name="user_id" value="{USER_ID}" />
+<input type="hidden" name="username_fieldname" value="{USERNAME_FIELDNAME}" />
+
+<table cellpadding="5" cellspacing="0" border="0" width="100%">
+<tr>
+	<td width="150">{TEXT_USERNAME}:</td>
+	<td class="value_input">
+		<input type="text" name="{USERNAME_FIELDNAME}" maxlength="30" value="{USERNAME}" />
+	</td>
+</tr>
+<tr>
+	<td>{TEXT_PASSWORD}:</td>
+	<td class="value_input">
+		<input type="password" name="password" maxlength="30" />
+	</td>
+</tr>
+<tr>
+	<td>{TEXT_RETYPE_PASSWORD}:</td>
+	<td class="value_input">
+		<input type="password" name="password2" maxlength="30" />
+	</td>
+</tr>
+<tr style="{DISPLAY_EXTRA}">
+	<td>&nbsp;</td>
+	<td style="font-size: 10px;">
+		{CHANGING_PASSWORD}
+	</td>
+</tr>
+<tr>
+	<td>{TEXT_DISPLAY_NAME}:</td>
+	<td class="value_input">
+		<input type="text" name="display_name" maxlength="255" value="{DISPLAY_NAME}" />
+	</td>
+</tr>
+<tr>
+	<td>{TEXT_EMAIL}:</td>
+	<td class="value_input">
+		<input type="text" name="email" maxlength="255" value="{EMAIL}" />
+	</td>
+</tr>
+<tr style="{DISPLAY_HOME_FOLDERS}">
+	<td>{TEXT_HOME_FOLDER}:</td>
+	<td class="value_input">
+		<select name="home_folder">
+			<option value="">{TEXT_NONE}</option>
+			<!-- BEGIN folder_list_block -->
+			<option value="{FOLDER}"{SELECTED}>{NAME}</option>
+			<!-- END folder_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td>{TEXT_GROUP}:</td>
+	<td class="value_input">
+		<select name="groups[]" multiple="multiple" size="5">
+		<!-- BEGIN group_list_block -->
+			<option value="{ID}" {SELECTED}>{NAME}</option>
+		<!-- END group_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td>&nbsp;</td>
+	<td>
+		<input type="radio" name="active[]" id="active" value="1" {ACTIVE_CHECKED} />
+		<label for="active">{TEXT_ACTIVE}</label>
+		<input type="radio" name="active[]" id="disabled" value="0" {DISABLED_CHECKED} />
+		<label for="disabled">{TEXT_DISABLED}</label>
+	</td>
+</tr>
+<tr>
+	<td>&nbsp;</td>
+	<td>
+		<input type="submit" name="submit" value="{SUBMIT_TITLE}" />
+		<input type="reset" name="reset" value="{TEXT_RESET}" />
+	</td>
+</tr>
+</table>
+
+</form>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/argos_theme/templates/header.htt
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/templates/header.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/templates/header.htt	(revision 1481)
@@ -0,0 +1,55 @@
+<!-- BEGIN header_block -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<title>{WEBSITE_TITLE}&raquo;{TEXT_ADMINISTRATION}-{SECTION_NAME}</title>
+<meta http-equiv="content-type" content="text/html; charset={CHARSET}" />
+<meta http-equiv="content-language" content="{LANGUAGE}" />
+<meta name="description" content="{TEXT_ADMINISTRATION}" />
+<meta name="keywords" content="{TEXT_ADMINISTRATION}" />
+<link href="{THEME_URL}/theme.css" rel="stylesheet" type="text/css" />
+<!--
+<link href="{WB_URL}/include/jquery/jquery-ui.css" rel="stylesheet" type="text/css" />
+-->
+{BACKEND_MODULE_CSS}
+<script type="text/javascript">
+var WB_URL = '{WB_URL}';
+var THEME_URL = '{THEME_URL}';
+var ADMIN_URL = '{ADMIN_URL}';
+</script>
+<script src="{WB_URL}/include/editarea/edit_area_full.js" type="text/javascript"></script>
+{BACKEND_MODULE_JS}
+<script type="text/javascript">
+function confirm_link(message, url) {
+	if(confirm(message)) location.href = url;
+}
+</script>
+</head>
+<body>
+<div id="admin_header">
+  <div id="header_top">
+    <div id="topmenu"> <a href="{ADMIN_URL}" title="{TITLE_START}">Home</a>| <a href="{URL_VIEW}" target="_blank" title="{TITLE_VIEW}">{TITLE_VIEW}</a>| <a href="{ADMIN_URL}/logout/" title="{TITLE_LOGOUT}">{TITLE_LOGOUT}</a>
+	  <br />
+      <br />
+      <span class="version">CMS Version  {VERSION}</span><br/>
+      <span class="version">Revision {REVISION}</span><br/>
+      <span class="version">Admin version 1.4</span>
+	 </div>
+    <a href="{ADMIN_URL}" title="{TITLE_START}" id="website_title">
+    {WEBSITE_TITLE} - {TEXT_ADMINISTRATION}
+    <!-- <img src="{THEME_URL}/images/logo.png" border="0" alt="Logo" /> -->
+    </a> 
+	</div>
+  <div class="menu">
+    <ul>
+      <!-- BEGIN linkBlock -->
+      <li class="{CLASS}"><a href="{LINK}" target="{TARGET}"><span>{TITLE}</span></a></li>
+      <!-- END linkBlock -->
+    </ul>
+  </div>
+</div>
+<div id="content_container">
+<table cellpadding="0" cellspacing="0" border="0" width="900" align="center">
+<tr>
+  <td class="content">
+    <!-- END header_block -->
Index: tags/2.8.2/wb/templates/argos_theme/templates/start.htt
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/templates/start.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/templates/start.htt	(revision 1481)
@@ -0,0 +1,75 @@
+<!-- BEGIN main_block -->
+
+<table cellpadding="0" cellspacing="0" border="0" width="99%" align="center">
+  <tr>
+    <td colspan="3">{WELCOME_MESSAGE}. {CURRENT_USER} {DISPLAY_NAME}. </td>
+  </tr>
+  <tr style="{DISPLAY_WARNING};">
+    <td colspan="3" align="center" style="color: #FF0000; font-weight: bold;">{WARNING}</td>
+  </tr>
+  <tr>
+    <td align="center" valign="top" width="49%">
+      <table cellpadding="0" cellspacing="0" border="0" class="section" style="{DISPLAY_PAGES};">
+        <tr>
+          <td class="graphic" align="center" valign="middle" rowspan="2"> <a href="{ADMIN_URL}/pages/index.php"> <img src="{THEME_URL}/icons/pages.png" border="0" /> </a> </td>
+          <td class="description" valign="top"> <a href="{ADMIN_URL}/pages/index.php"><div class="title">{PAGES}</div></a>
+		  {PAGES_OVERVIEW}
+		  </td>
+        </tr>
+
+      </table>
+      <table cellpadding="0" cellspacing="0" border="0" class="section" style="{DISPLAY_ADDONS};">
+        <tr>
+          <td class="graphic" align="center" valign="middle" rowspan="2"> <a href="{ADMIN_URL}/addons/index.php"> <img src="{THEME_URL}/icons/addons.png" border="0" /> </a> </td>
+          <td class="description" valign="top"> <a href="{ADMIN_URL}/addons/index.php"><div class="title">{ADDONS}</div></a>
+		  {ADDONS_OVERVIEW}
+		  </td>
+        </tr>
+      </table>
+      <table cellpadding="0" cellspacing="0" border="0" class="section" style="{DISPLAY_SETTINGS};">
+        <tr>
+          <td class="graphic" align="center" valign="middle" rowspan="2"> <a href="{ADMIN_URL}/settings/index.php"> <img src="{THEME_URL}/icons/settings.png" border="0" /> </a> </td>
+          <td class="description" valign="top"> <a href="{ADMIN_URL}/settings/index.php"><div class="title">{SETTINGS}</div></a>
+		  {SETTINGS_OVERVIEW}
+		  </td>
+        </tr>
+      </table>
+      <table cellpadding="0" cellspacing="0" border="0" class="section" style="{DISPLAY_ACCESS};">
+        <tr>
+          <td class="graphic" align="center" valign="middle" rowspan="2"> <a href="{ADMIN_URL}/access/index.php"> <img src="{THEME_URL}/icons/access.png" border="0" /> </a> </td>
+          <td class="description" valign="top"> <a href="{ADMIN_URL}/access/index.php"><div class="title">{ACCESS}</div></a>
+		  {ACCESS_OVERVIEW}
+		  </td>
+        </tr>
+      </table>
+    </td>
+    <td width="10">&nbsp; </td>
+    <td align="center" valign="top">
+	  <table cellpadding="0" cellspacing="0" border="0" class="section" style="{DISPLAY_MEDIA};">
+        <tr>
+          <td class="graphic" align="center" valign="middle" rowspan="2"> <a href="{ADMIN_URL}/media/index.php"> <img src="{THEME_URL}/icons/media.png" border="0" /> </a> </td>
+          <td class="description" valign="top"> <a href="{ADMIN_URL}/media/index.php"><div class="title">{MEDIA}</div></a>
+		  {MEDIA_OVERVIEW}
+		  </td>
+        </tr>
+      </table>	  
+      <table cellpadding="0" cellspacing="0" border="0" class="section">
+        <tr>
+          <td class="graphic" align="center" valign="middle" rowspan="2"> <a href="{ADMIN_URL}/preferences/index.php"> <img src="{THEME_URL}/icons/preferences.png" border="0" /> </a> </td>
+          <td class="description" valign="top"> <a href="{ADMIN_URL}/preferences/index.php"><div class="title">{PREFERENCES}</div></a>
+		  {PREFERENCES_OVERVIEW}
+		  </td>
+        </tr>
+      </table>
+      <table cellpadding="0" cellspacing="0" border="0" class="section" style="{DISPLAY_ADMINTOOLS};">
+        <tr>
+          <td class="graphic" align="center" valign="middle" rowspan="2"> <a href="{ADMIN_URL}/admintools/index.php"> <img src="{THEME_URL}/icons/admintools.png" border="0" /> </a> </td>
+          <td class="description" valign="top"> <a href="{ADMIN_URL}/admintools/index.php"><div class="title">{ADMINTOOLS}</div></a>
+		  {ADMINTOOLS_OVERVIEW}
+		  </td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/argos_theme/templates/templates.htt
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/templates/templates.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/templates/templates.htt	(revision 1481)
@@ -0,0 +1,85 @@
+<!-- BEGIN main_block -->
+
+<table cellpadding="5" cellspacing="0" border="0" align="center" width="100%" style="margin-bottom:10px;">
+	<tr style="background:#f0f0f0;">
+		<td align="left">{CHANGE_TEMPLATE_NOTICE}</td>
+		<td align="right">
+			{URL_MODULES}
+			-
+			{URL_LANGUAGES}
+			-
+			{URL_ADVANCED}
+		</td>
+     </tr>
+</table>
+
+<form name="install" enctype="multipart/form-data" action="install.php" method="post" class="{DISPLAY_INSTALL}">
+
+<h2>{HEADING_INSTALL_TEMPLATE}</h2>
+
+<table cellpadding="2" cellspacing="0" border="0" width="100%">
+<tr>
+	<td>
+		<input type="file" name="userfile" size="82%" />
+		<script type="text/javascript">
+		document.install.userfile.focus();
+		</script>
+	</td>
+	<td width="110" align="left">
+		<input type="submit" name="submit" value="{TEXT_INSTALL}" style="width: 100px;" />
+	</td>
+</tr>
+</table>
+
+<br />
+
+</form>
+
+<form name="uninstall" action="uninstall.php" method="post" class="{DISPLAY_UNINSTALL}">
+
+<h2>{HEADING_UNINSTALL_TEMPLATE}</h2>
+
+<table cellpadding="2" cellspacing="0" border="0" width="100%">
+<tr>
+	<td>
+		<select name="file" style="width: 97%;">
+		<option value="" selected="selected">{TEXT_PLEASE_SELECT}...</option>
+		<!-- BEGIN template_list_block -->
+			<option value="{VALUE}">{NAME}</option>
+		<!-- END template_list_block -->
+		</select>
+	</td>
+	<td width="110">
+		<input type="submit" name="submit" value="{TEXT_UNINSTALL}" style="width: 100px;" />
+	</td>
+</tr>
+</table>
+
+<br />
+
+</form>
+
+<form name="details" action="details.php" method="post" class="{DISPLAY_LIST}">
+
+<h2>{HEADING_TEMPLATE_DETAILS}</h2>
+
+<table cellpadding="2" cellspacing="0" border="0" width="100%">
+<tr>
+	<td>
+		<select name="file" style="width: 97%;">
+		<option value="" selected="selected">{TEXT_PLEASE_SELECT}...</option>
+		<!-- BEGIN template_list_block -->
+			<option value="{VALUE}">{NAME}</option>
+		<!-- END template_list_block -->
+		</select>
+	</td>
+	<td width="110">
+		<input type="submit" name="submit" value="{TEXT_VIEW_DETAILS}" style="width: 100px;" />
+	</td>
+</tr>
+</table>
+
+<br />
+</form>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/argos_theme/templates/media_browse.htt
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/templates/media_browse.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/templates/media_browse.htt	(revision 1481)
@@ -0,0 +1,55 @@
+<!-- BEGIN main_block -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<title>Browse Media</title>
+<link href="{THEME_URL}/browse.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript">
+function confirm_link(message, url) {
+	if(confirm(message)) location.href = url;
+}
+</script>
+<script type="text/javascript" src="overlib.js"></script>
+</head>
+<body onload="parent.document.create.target.value = '{MEDIA_DIRECTORY}{CURRENT_DIR}'; parent.document.upload.target.value = '{MEDIA_DIRECTORY}{CURRENT_DIR}';">
+
+<table cellpadding="4" cellspacing="0" border="0" width="100%" style="border-bottom: 1px solid #666; width: 100%;">
+<tr style="background-color: #DDD;">
+	<td width="16" align="center" style="padding-left: 10px;">
+		<a href="{PARENT_DIR_LINK}"><img src="{THEME_URL}/images/up_folder_16.png" border="0" class="{DISPLAY_UP_ARROW}" alt="^" /></a>
+	</td>
+	<td width="50">
+		<a href="{PARENT_DIR_LINK}" class="{DISPLAY_UP_ARROW}">{TEXT_UP}</a>
+	</td>
+	<td align="left">
+		<strong>{TEXT_CURRENT_FOLDER}: {MEDIA_DIRECTORY}{CURRENT_DIR}</strong>
+	</td>
+</tr>
+</table>
+
+<table cellpadding="4" cellspacing="0" border="0" width="100%" class="{DISPLAY_LIST_TABLE}">
+<!-- BEGIN list_block -->
+<tr style="background-color: #{ROW_BG_COLOR};">
+	<td width="18" style="padding-left: 10px;">
+		<a href="{LINK}" target="{LINK_TARGET}"><img {MOUSEOVER} src="{FT_ICON}" class="{DISPLAY_ICON}" border="0" alt="" /></a>
+	</td>
+	<td>
+		<a {MOUSEOVER} href="{LINK}" target="{LINK_TARGET}">{NAME}</a>
+	</td>
+	<td width="190">
+		<small>{IMAGEDETAIL}<br />{DATE}</small>
+	</td>
+	<td width="60" align="right" class="{DISPLAY_RENAME}">
+		<a href="rename.php?dir={CURRENT_DIR}&id={TEMP_ID}"><img src="{THEME_URL}/images/modify_16.png" alt="{TEXT_RENAME}" border="0" /> </a> &nbsp;&nbsp; <a href="#" onclick="javascript: confirm_link('{CONFIRM_DELETE}\n {NAME_SLASHED}', 'delete.php?dir={CURRENT_DIR}&id={TEMP_ID}');"><img src="{THEME_URL}/images/delete_16.png" alt="{TEXT_DELETE}" border="0" /></a>&nbsp;&nbsp;
+	</td>
+</tr>
+<!-- END list_block -->
+</table>
+
+
+<font class="{DISPLAY_NONE_FOUND}"><br />&nbsp;&nbsp;{NONE_FOUND}</font>
+</body>
+</html>
+
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/argos_theme/templates/preferences.htt
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/templates/preferences.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/templates/preferences.htt	(revision 1481)
@@ -0,0 +1,127 @@
+<!-- BEGIN main_block -->
+
+<form name="details" action="details.php" method="post">
+
+<table cellpadding="5" cellspacing="0" border="0" width="100%">
+<tr>
+	<td colspan="2"><h2>{HEADING_MY_SETTINGS}</h2></td>
+</tr>
+<tr>
+	<td width="160">{TEXT_DISPLAY_NAME}:</td>
+	<td>
+		<input type="text" name="display_name" value="{DISPLAY_NAME}" style="width: 98%;" />
+		<script type="text/javascript">
+		document.details.display_name.focus();
+		</script>
+	</td>
+</tr>
+<tr>
+	<td>{TEXT_LANGUAGE}:</td>
+	<td>
+		<select name="language" style="width: 98%;">
+			<!-- BEGIN language_list_block -->
+			<option value="{CODE}"{SELECTED} style="background: url({FLAG}.png) no-repeat center left; padding-left: 20px;">{NAME} ({CODE})</option>
+			<!-- END language_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td>{TEXT_TIMEZONE}:</td>
+	<td>
+		<select name="timezone" style="width: 98%;">
+			<option value="-20">{TEXT_PLEASE_SELECT}...</option>
+			<!-- BEGIN timezone_list_block -->
+				<option value="{VALUE}" {SELECTED}>{NAME}</option>
+			<!-- END timezone_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td>{TEXT_DATE_FORMAT}:</td>
+	<td>
+		<select name="date_format" style="width: 98%;">
+			<option value="">{TEXT_PLEASE_SELECT}...</option>
+			<!-- BEGIN date_format_list_block -->
+				<option value="{VALUE}" {SELECTED}>{NAME}</option>
+			<!-- END date_format_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td>{TEXT_TIME_FORMAT}:</td>
+	<td>
+		<select name="time_format" style="width: 98%;">
+			<option value="">{TEXT_PLEASE_SELECT}...</option>
+			<!-- BEGIN time_format_list_block -->
+				<option value="{VALUE}" {SELECTED}>{NAME}</option>
+			<!-- END time_format_list_block -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td>&nbsp;</td>
+	<td>
+		<input type="submit" name="submit" value="{TEXT_SAVE}" />
+		<input type="reset" name="reset" value="{TEXT_RESET}" />
+	</td>
+</tr>
+</table>
+
+</form>
+
+<form name="email" action="email.php" method="post">
+
+<table cellpadding="5" cellspacing="0" border="0" width="100%">
+<tr>
+	<td colspan="2"><h2>{HEADING_MY_EMAIL}</h2></td>
+</tr>
+<tr>
+	<td width="160">{TEXT_CURRENT_PASSWORD}:</td>
+	<td><input type="password" name="current_password" style="width: 98%;" /></td>
+</tr>
+<tr>
+	<td>{TEXT_EMAIL}:</td>
+	<td><input type="text" name="email" value="{EMAIL}" style="width: 98%;" /></td>
+</tr>
+<tr>
+	<td>&nbsp;</td>
+	<td>
+		<input type="submit" name="submit" value="{TEXT_SAVE}" />
+		<input type="reset" name="reset" value="{TEXT_RESET}" />
+	</td>
+</tr>
+</table>
+
+</form>
+
+<form name="password" action="password.php" method="post">
+
+<table cellpadding="5" cellspacing="0" border="0" width="100%">
+<tr>
+	<td colspan="2"><h2>{HEADING_MY_PASSWORD}</h2></td>
+</tr>
+<tr>
+	<td width="160">{TEXT_CURRENT_PASSWORD}:</td>
+	<td><input type="password" name="current_password" style="width: 98%;" /></td>
+</tr>
+<tr>
+	<td width="160">{TEXT_NEW_PASSWORD}:</td>
+	<td><input type="password" name="new_password" style="width: 98%;" /></td>
+</tr>
+<tr>
+	<td width="160">{TEXT_RETYPE_NEW_PASSWORD}:</td>
+	<td><input type="password" name="new_password2" style="width: 98%;" /></td>
+</tr>
+
+<tr>
+	<td>&nbsp;</td>
+	<td>
+		<input type="submit" name="submit" value="{TEXT_SAVE}" />
+		<input type="reset" name="reset" value="{TEXT_RESET}" />
+	</td>
+</tr>
+</table>
+
+</form>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/argos_theme/templates/groups_form.htt
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/templates/groups_form.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/templates/groups_form.htt	(revision 1481)
@@ -0,0 +1,278 @@
+<!-- BEGIN main_block -->
+<h2 style="{DISPLAY_EXTRA}">{HEADING_MODIFY_GROUP}</h2>
+
+<form name="group" action="{ACTION_URL}" method="post" class="{DISPLAY_ADD}">
+<input type="hidden" name="advanced" value="{ADVANCED}" />
+<input type="hidden" name="group_id" value="{GROUP_ID}" />
+
+<table cellpadding="2" cellspacing="0" border="0" width="100%">
+<tr>
+	<td width="150">{TEXT_NAME}:</td>
+	<td>
+		<input type="text" name="group_name" maxlength="255" value="{GROUP_NAME}" style="width:98%" />
+	</td>
+</tr>
+</table>
+<table cellpadding="2" cellspacing="0" border="0" width="100%" style="{DISPLAY_BASIC}">
+<tr>
+	<td width="150" valign="top">{TEXT_SYSTEM_PERMISSIONS}:</td>
+	<td>
+		<table cellpadding="0" cellspacing="0" width="100%" border="0">
+		<tr>
+			<td>
+				<input type="checkbox" name="pages" id="pages" value="1" {pages_checked} />
+				<label for="pages">{SECTION_PAGES}</label>
+			</td>
+			<td>
+				<input type="checkbox" name="media" id="media" value="1" {media_checked} />
+				<label for="media">{SECTION_MEDIA}</label>
+			</td>
+			<td>
+				<input type="checkbox" name="modules" id="modules" value="1" {modules_checked} />
+				<label for="modules">{SECTION_MODULES}</label>
+			</td>
+			<td>
+				<input type="checkbox" name="templates" id="templates" value="1" {templates_checked} />
+				<label for="templates">{SECTION_TEMPLATES}</label>
+			</td>
+		</tr>
+		<tr>
+			<td>
+				<input type="checkbox" name="languages" id="languages" value="1" {languages_checked} />
+				<label for="languages">{SECTION_LANGUAGES}</label>
+			</td>
+			<td>		
+				<input type="checkbox" name="settings" id="settings" value="1" {settings_checked} />
+				<label for="settings">{SECTION_SETTINGS}</label>
+			</td>
+			<td>
+				<input type="checkbox" name="users" id="users" value="1" {users_checked} />
+				<label for="users">{SECTION_USERS}</label>
+			</td>
+			<td>
+				<input type="checkbox" name="groups" id="groups" value="1" {groups_checked} />
+				<label for="groups">{SECTION_GROUPS}</label>
+			</td>
+		</tr>
+		<tr>
+			<td>
+				<input type="checkbox" name="admintools" id="admintools" value="1" {admintools_checked} />
+				<label for="admintools">{SECTION_ADMINTOOLS}</label>
+			</td>
+			<td>&nbsp;</td>
+			<td>&nbsp;</td>
+			<td>&nbsp;</td>
+		</tr>
+		</table>
+	</td>
+</tr>
+</table>
+<table cellpadding="2" cellspacing="0" border="0" width="100%" style="{DISPLAY_ADVANCED}">
+<tr>
+	<td width="150" valign="top">{TEXT_SYSTEM_PERMISSIONS}:</td>
+	<td align="left">
+
+<table cellpadding="0" cellspacing="0" border="0" width="330">
+<tr>
+	<td colspan="4"><h3>{SECTION_PAGES}</h3></td>
+</tr>
+<tr>
+	<td><input name="pages_view" id="pages_view" type="checkbox" value="1" {pages_view_checked} /></td>
+	<td><label for="pages_view">{TEXT_VIEW}</label></td>
+	<td><input name="pages_add" id="pages_add" type="checkbox" value="1" {pages_add_checked} /></td>
+	<td>
+		<label for="pages_add">{TEXT_ADD}</label>
+		&nbsp;
+		(<input name="pages_add_l0" id="pages_add_l0" type="checkbox" value="1" {pages_add_l0_checked} />
+		<label for="pages_add_l0">{TEXT_LEVEL} 0</label>)
+	</td>
+</tr>
+<tr>
+	<td><input name="pages_settings" id="pages_settings" type="checkbox" value="1" {pages_settings_checked} /></td>
+	<td><label for="pages_settings">{TEXT_MODIFY_SETTINGS}</label></td>
+	<td><input name="pages_modify" id="pages_modify" type="checkbox" value="1" {pages_modify_checked} /></td>
+	<td><label for="pages_modify">{TEXT_MODIFY_CONTENT}</label></td>
+</tr>
+<tr>
+	<td><input name="pages_intro" id="pages_intro" type="checkbox" value="1" {pages_intro_checked} /></td>
+	<td><label for="pages_intro">{HEADING_MODIFY_INTRO_PAGE}</label></td>
+	<td><input name="pages_delete" id="pages_delete" type="checkbox" value="1" {pages_delete_checked} /></td>
+	<td><label for="pages_delete">{TEXT_DELETE}</label></td>
+</tr>
+<tr>
+	<td colspan="4"><h3>{SECTION_MEDIA}</h3></td>
+</tr>
+<tr>
+	<td><input name="media_view" id="media_view" type="checkbox" value="1" {media_view_checked} /></td>
+	<td><label for="media_view">{TEXT_VIEW}</label></td>
+	<td><input name="media_upload" id="media_upload" type="checkbox" value="1" {media_upload_checked} /></td>
+	<td><label for="media_upload">{TEXT_UPLOAD_FILES}</label></td>
+</tr>
+<tr>
+	<td><input name="media_rename" id="media_rename" type="checkbox" value="1" {media_rename_checked} /></td>
+	<td><label for="media_rename">{TEXT_RENAME}</label></td>
+	<td><input name="media_delete" id="media_delete" type="checkbox" value="1" {media_delete_checked} /></td>
+	<td><label for="media_delete">{TEXT_DELETE}</label></td>
+</tr>
+<tr>
+	<td><input name="media_create" id="media_create" type="checkbox" value="1" {media_create_checked} /></td>
+	<td><label for="media_create">{TEXT_CREATE_FOLDER}</label></td>
+	<td>&nbsp;</td>
+	<td>&nbsp;</td>
+</tr>
+<tr>
+	<td colspan="4"><h3>{SECTION_MODULES}</h3></td>
+</tr>
+<tr>
+	<td><input name="modules_view" id="modules_view" type="checkbox" value="1" {modules_view_checked} /></td>
+	<td><label for="modules_view">{TEXT_VIEW}</label></td>
+	<td><input name="modules_install" id="modules_install" type="checkbox" value="1" {modules_install_checked} /></td>
+	<td><label for="modules_install">{TEXT_ADD}</label></td>
+</tr>
+<tr>
+	<td><input name="modules_uninstall" id="modules_uninstall" type="checkbox" value="1" {modules_uninstall_checked} /></td>
+	<td><label for="modules_uninstall">{TEXT_DELETE}</label></td>
+	<td>&nbsp;</td>
+	<td>&nbsp;</td>
+</tr>
+<tr>
+	<td colspan="4"><h3>{SECTION_TEMPLATES}</h3></td>
+</tr>
+<tr>
+	<td><input name="templates_view" id="templates_view" type="checkbox" value="1" {templates_view_checked} /></td>
+	<td><label for="templates_view">{TEXT_VIEW}</label></td>
+	<td><input name="templates_install" id="templates_install" type="checkbox" value="1" {templates_install_checked} /></td>
+	<td><label for="templates_install">{TEXT_ADD}</label></td>
+</tr>
+<tr>
+	<td><input name="templates_uninstall" id="templates_uninstall" type="checkbox" value="1" {templates_uninstall_checked} /></td>
+	<td><label for="templates_uninstall">{TEXT_DELETE}</label></td>
+	<td>&nbsp;</td>
+	<td>&nbsp;</td>
+</tr>
+<tr>
+	<td colspan="4"><h3>{SECTION_LANGUAGES}</h3></td>
+</tr>
+<tr>
+	<td><input name="languages_view" id="languages_view" type="checkbox" value="1" {languages_view_checked} /></td>
+	<td><label for="languages_view">{TEXT_VIEW}</label></td>
+	<td><input name="languages_install" id="languages_install" type="checkbox" value="1" {languages_install_checked} /></td>
+	<td><label for="languages_install">{TEXT_ADD}</label></td>
+</tr>
+<tr>
+	<td><input name="languages_uninstall" id="languages_uninstall" type="checkbox" value="1" {languages_uninstall_checked} /></td>
+	<td><label for="languages_uninstall">{TEXT_DELETE}</label></td>
+	<td>&nbsp;</td>
+	<td>&nbsp;</td>
+</tr>
+<tr>
+	<td colspan="4"><h3>{SECTION_SETTINGS}</h3></td>
+</tr>
+<tr>
+	<td><input name="settings_basic" id="settings_basic" type="checkbox" value="1" {settings_basic_checked} /></td>
+	<td><label for="settings_basic">{TEXT_BASIC}</label></td>
+	<td><input name="settings_advanced" id="settings_advanced" type="checkbox" value="1" {settings_advanced_checked} /></td>
+	<td><label for="settings_advanced">{TEXT_ADVANCED}</label></td>
+</tr>
+<tr>
+	<td colspan="4"><h3>{SECTION_USERS}</h3></td>
+</tr>
+<tr>
+	<td><input name="users_view" id="users_view" type="checkbox" value="1" {users_view_checked} /></td>
+	<td><label for="users_view">{TEXT_VIEW}</label></td>
+	<td><input name="users_add" id="users_add" type="checkbox" value="1" {users_add_checked} /></td>
+	<td><label for="users_add">{TEXT_ADD}</label></td>
+</tr>
+<tr>
+	<td><input name="users_modify" id="users_modify" type="checkbox" value="1" {users_modify_checked} /></td>
+	<td><label for="users_modify">{TEXT_MODIFY}</label></td>
+	<td><input name="users_delete" id="users_delete" type="checkbox" value="1" {users_delete_checked} /></td>
+	<td><label for="users_delete">{TEXT_DELETE}</label></td>
+</tr>
+<tr>
+	<td colspan="4"><h3>{SECTION_GROUPS}</h3></td>
+
+</tr>
+<tr>
+	<td><input name="groups_view" id="groups_view" type="checkbox" value="1" {groups_view_checked} /></td>
+	<td><label for="groups_view">{TEXT_VIEW}</label></td>
+	<td><input name="groups_add" id="groups_add" type="checkbox" value="1" {groups_add_checked} /></td>
+	<td><label for="groups_add">{TEXT_ADD}</label></td>
+</tr>
+<tr>
+	<td><input name="groups_modify" id="groups_modify" type="checkbox" value="1" {groups_modify_checked} /></td>
+	<td><label for="groups_modify">{TEXT_MODIFY}</label></td>
+	<td><input name="groups_delete" id="groups_delete" type="checkbox" value="1" {groups_delete_checked} /></td>
+	<td><label for="groups_delete">{TEXT_DELETE}</label></td>
+</tr>
+<tr>
+	<td colspan="4">
+		<h3>{SECTION_ADMINTOOLS}</h3>
+	</td>
+</tr>
+<tr>
+	<td><input name="admintools_settings" id="admintools_settings" type="checkbox" value="1" {admintools_settings_checked} /></td>
+	<td><label for="admintools_settings">{TEXT_MODIFY_SETTINGS}</label></td>
+	<td>&nbsp;</td>
+	<td>&nbsp;</td>
+</tr>
+</table>
+
+
+	</td>
+</tr>
+</table>
+
+<table cellpadding="2" cellspacing="0" border="0" width="100%" style="padding-top: 5px; padding-bottom: 5px;">
+<tr>
+	<td valign="top" align="left" width="150">{TEXT_MODULE_PERMISSIONS}:</td>
+	<td valign="top" align="left">
+		<ul style="margin: 0; padding: 0; list-style: none;">
+			<!-- BEGIN module_list_block -->
+			<li>
+				<input type="checkbox" name="module_permissions[]" id="m_{VALUE}" value="{VALUE}" {CHECKED} />
+				<label for="m_{VALUE}">{NAME}</label>
+			</li>
+			<!-- END module_list_block -->
+		</ul>
+	</td>
+	<td valign="top" align="left" width="150">{TEXT_TEMPLATE_PERMISSIONS}:</td>
+	<td valign="top" align="left">
+		<ul style="margin: 0; padding: 0; list-style: none;">
+			<!-- BEGIN template_list_block -->
+			<li>
+				<input type="checkbox" name="template_permissions[]" id="t_{VALUE}" value="{VALUE}" {CHECKED} />
+				<label for="t_{VALUE}">{NAME}</label>
+			</li>
+			<!-- END template_list_block -->
+		</ul>
+	</td>
+</tr>
+<tr style="text-align:center;width:100%">
+    <td>&nbsp;</td>
+	<td style="text-align:right;">
+		<input type="submit" name="submit" value="{SUBMIT_TITLE}" />
+	</td>
+	<td style="text-align:left;">
+		<input type="reset" name="reset" value="{TEXT_RESET}" />
+	</td>
+    <td>&nbsp;</td>
+</tr>
+</table>
+</form>
+
+
+<form name="advanced" action="{ADVANCED_ACTION}" method="post">
+<input type="hidden" name="group_id" value="{GROUP_ID}" />
+<input type="hidden" name="action" value="modify" />
+<table cellpadding="2" cellspacing="0" border="0" width="100%">
+<tr>
+    <td>&nbsp;</td>
+	<td style="text-align:center;">
+		<input type="submit" name="advanced" onclick="window.location = '{ADVANCED_LINK}';" value="{ADVANCED_BUTTON}" />
+	</td>
+    <td>&nbsp;</td>
+</tr>
+</table>
+</form>
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/argos_theme/templates/media_rename.htt
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/templates/media_rename.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/templates/media_rename.htt	(revision 1481)
@@ -0,0 +1,61 @@
+<!-- BEGIN main_block -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<title>Rename Media</title>
+<link href="{THEME_URL}/media.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<!-- BEGIN main_block -->
+
+<style>
+.hide {display:none;}
+</style>
+
+<form name="rename" action="rename2.php" method="post">
+<input type="hidden" name="dir" value="{DIR}" />
+<input type="hidden" name="old_name" value="{FILENAME}" />
+<input type="hidden" name="id" value="{FILE_ID}" />
+
+<table cellpadding="5" cellspacing="0" border="0" width="400" align="center">
+<tr>
+	<td align="center" colspan="2">{TEXT_RENAME} '{FILENAME}' {TEXT_TO}:</td>
+</tr>
+<tr>
+	<td>
+		<input type="text" name="name" style="width: 100%;" />
+		<script type="text/javascript">
+		document.rename.name.focus();
+		</script>
+	</td>
+	<td width="50" class="{DISPlAY_EXTENSION}">
+		<input type="text" name="extension" style="width: 50px;" value="{EXTENSION}" />
+	</td>
+</tr>
+<tr>
+	<td colspan="2">
+		<input type="checkbox" name="overwrite" id="overwrite" value="yes" />
+		<label for="overwrite">
+		{TEXT_OVERWRITE_EXISTING} {TYPE}
+		</label>
+	</td>
+</tr>
+<tr>
+	<td colspan="2">
+		<input type="submit" name="submit" value="{TEXT_RENAME}" style="width: 49%;" />
+		<input type="button" name="cancel" value="{TEXT_CANCEL}" style="width: 49%;" onclick="javascript: window.location = 'browse.php';" />
+	</td>
+</tr>
+</table>
+
+</form>
+
+</td>
+</tr>
+</table>
+
+</body>
+</html>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/argos_theme/templates/languages.htt
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/templates/languages.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/templates/languages.htt	(revision 1481)
@@ -0,0 +1,71 @@
+<!-- BEGIN main_block -->
+
+<table cellpadding="5" cellspacing="0" border="0" align="center" width="100%" style="margin-bottom:10px;">
+	<tr style="background:#f0f0f0;">
+		<td align="left">{CHANGE_TEMPLATE_NOTICE}</td>
+		<td align="right">
+			{URL_MODULES}
+			-
+			{URL_TEMPLATES}
+			-
+			{URL_ADVANCED}
+		</td>
+     </tr>
+</table>
+
+<form name="install" enctype="multipart/form-data" action="install.php" method="post" class="{DISPLAY_INSTALL}">
+  <h2>{HEADING_INSTALL_LANGUAGE}</h2>
+  <table cellpadding="2" cellspacing="0" border="0" width="100%">
+    <tr>
+      <td>
+        <input type="file" name="userfile" size="97%" />
+        <script type="text/javascript">
+		document.install.userfile.focus();
+		</script>
+      </td>
+      <td width="110" align="left">
+        <input type="submit" name="submit" value="{TEXT_INSTALL}" style="width: 100px;" />
+      </td>
+    </tr>
+  </table>
+  <br />
+</form>
+<form name="uninstall" action="uninstall.php" method="post" class="{DISPLAY_UNINSTALL}">
+  <h2>{HEADING_UNINSTALL_LANGUAGE}</h2>
+  <table cellpadding="2" cellspacing="0" border="0" width="100%">
+    <tr>
+      <td>
+        <select name="code" style="width: 97%;">
+		<option value="" selected="selected">{TEXT_PLEASE_SELECT}...</option>
+		<!-- BEGIN language_list_block -->
+			<option value="{VALUE}">{NAME}</option>
+          <!-- END language_list_block -->
+        </select>
+      </td>
+      <td width="110">
+        <input type="submit" name="submit" value="{TEXT_UNINSTALL}" style="width: 100px;" />
+      </td>
+    </tr>
+  </table>
+  <br />
+</form>
+<form name="details" action="details.php" method="post" class="{DISPLAY_LIST}">
+  <h2>{HEADING_LANGUAGE_DETAILS}</h2>
+  <table cellpadding="2" cellspacing="0" border="0" width="100%">
+    <tr>
+      <td>
+        <select name="code" style="width: 97%;">
+		<option value="" selected="selected">{TEXT_PLEASE_SELECT}...</option>
+		<!-- BEGIN language_list_block -->
+			<option value="{VALUE}">{NAME}</option>
+          <!-- END language_list_block -->
+        </select>
+      </td>
+      <td width="110">
+        <input type="submit" name="submit" value="{TEXT_VIEW_DETAILS}" style="width: 100px;" />
+      </td>
+    </tr>
+  </table>
+  <br />
+</form>
+<!-- END main_block -->
Index: tags/2.8.2/wb/templates/argos_theme/templates/media.htt
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/templates/media.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/templates/media.htt	(revision 1481)
@@ -0,0 +1,121 @@
+<!-- BEGIN main_block -->
+<script src="{THEME_URL}/jquery/toggle_zip.js" type="text/javascript"></script>
+
+<table cellpadding="0" cellspacing="0" border="0">
+  <tr>
+    <td width="300" valign="top" align="left">
+	<h2>{HEADING_UPLOAD_FILES}</h2>
+      <form name="upload" action="upload.php" method="post" enctype="multipart/form-data" class="{DISPLAY_UPLOAD}">
+        <table cellpadding="3" cellspacing="0" border="0" width="100%">
+          <tr>
+            <td>{TEXT_TARGET_FOLDER}:<br />
+              <select name="target" style="width:100%;" 
+		   onchange="browse.location.href='browse.php?dir=' +
+		   	document.upload.target.value.substr(6,100);
+		   document.create.target.value = document.upload.target.value;">
+                <option value="{MEDIA_DIRECTORY}{HOME_DIRECTORY}" selected="selected">{MEDIA_DIRECTORY}{HOME_DIRECTORY}</option>
+                <!-- BEGIN dir_list_block -->
+                <option value="{NAME}">{NAME}</option>
+                <!-- END dir_list_block -->
+              </select>
+            </td>
+          </tr>
+        </table>
+        <table cellpadding="3" cellspacing="0" border="0" width="100%">
+          <tr>
+		  	<td valign="top">
+				<input type="checkbox" name="unzip" id="unzip"  onclick="toggle();" />
+				<label for="unzip">{TEXT_UNZIP_FILE}</label>
+				<span id="delzip" style="display: none;"><br />
+				<input type="checkbox" name="delzip" id="deletezip" />
+				<label for="deletezip">{TEXT_DELETE_ZIP}</label></span>
+			</td>
+          </tr>
+          <tr>
+            <td width="50%" align="left"><input type="file" size="33" name="file1" /> </td>
+          </tr>
+          <tr>
+            <td width="50%" align="left"><input type="file" size="33" name="file2" id="file2" style="visibility: visible;" /> </td>
+          </tr>
+          <tr>
+            <td width="50%" align="left"><input type="file" size="33" name="file3" id="file3" style="visibility: visible;" /> </td>
+          </tr>
+          <tr>
+            <td width="50%" align="left"><input type="file" size="33" name="file4" id="file4" style="visibility: visible;" /> </td>
+          </tr>
+          <tr>
+            <td width="50%" align="left"><input type="file" size="33" name="file5" id="file5" style="visibility: visible;" /> </td>
+          </tr>
+		  <tr>
+            <td width="50%" align="left"><input type="file" size="33" name="file6" id="file6" style="visibility: visible;" /> </td>
+          </tr>
+          <tr>
+            <td width="50%" align="left"><input type="file" size="33" name="file7" id="file7" style="visibility: visible;" /> </td>
+          </tr>
+          <tr>
+            <td width="50%" align="left"><input type="file" size="33" name="file8" id="file8" style="visibility: visible;" /> </td>
+          </tr>
+		  <tr>
+            <td width="50%" align="left"><input type="file" size="33" name="file9" id="file9" style="visibility: visible;" /> </td>
+          </tr>
+          <tr>
+            <td width="50%" align="left"><input type="file" size="33" name="file10" id="file10" style="visibility: visible;" /> </td>
+          </tr>
+        </table>
+
+        <table cellpadding="3" cellspacing="0" border="0" width="100%">
+          <tr>
+            <td colspan="2"><input type="checkbox" name="overwrite" id="overwrite" value="yes" />
+              <label for="overwrite">{TEXT_OVERWRITE_EXISTING} {TEXT_FILES}</label><br />
+              <input type="submit" name="submit" value="{TEXT_UPLOAD_FILES}" style="width:160px;margin-top:5px;" />
+            </td>
+          </tr>
+        </table>
+      </form>
+<!--
+If you want to HIDE the option of creating folders in the Media-folder (for your clients, for example),
+please set the class below to "hide", else to "show".
+--> 
+      <div class="show">
+	  <br /><br />
+        <form name="create" action="create.php" method="post" class="{DISPLAY_CREATE}">
+          <h2>{HEADING_CREATE_FOLDER}</h2>
+          <table cellpadding="3" cellspacing="0" border="0" width="100%">
+            <tr>
+              <td>{TEXT_NAME}:<br />
+              <input type="text" name="name" style="width:98%;" /></td>
+            </tr>
+          </table>
+          <table cellpadding="3" cellspacing="0" border="0" width="100%">
+            <tr>
+              <td>{TEXT_TARGET_FOLDER}:<br />
+                <select name="target" style="width:100%;">
+                  <option value="{MEDIA_DIRECTORY}{HOME_DIRECTORY}" selected="selected">{MEDIA_DIRECTORY}{HOME_DIRECTORY}</option>
+                  <!-- BEGIN dir_list_block -->
+                  <option value="{NAME}">{NAME} </option>
+                  <!-- END dir_list_block -->
+                </select>
+              </td>
+            </tr>
+          </table>
+          <table cellpadding="3" cellspacing="0" border="0" width="100%">
+            <tr>
+              <td><input type="submit" name="submit" value="{TEXT_CREATE_FOLDER}" style="width:160px;" />
+              </td>
+            </tr>
+          </table>
+        </form>
+      </div>
+      <!-- END main_block -->
+    </td>
+	<td width="10">&nbsp;</td>
+    <td width="580" valign="top" align="right">
+	<h2 style="padding-left:3px;">{HEADING_BROWSE_MEDIA}</h2>
+	<span class="{DISPLAY_SETTINGS}" style="margin-bottom:2px;">{OPTIONS}:&nbsp;
+	<a href="setparameter.php" target="browse">{CHANGE_SETTINGS}</a>&nbsp;&nbsp;|&nbsp;
+	<a href="browse.php?dir={CURRENT_DIR}" target="browse">{TEXT_RELOAD}</a>
+	</span>
+	<iframe name="browse" width="99%" height="550" src="browse.php" scrolling="yes" frameborder="0" style="border:1px solid #333;"></iframe>
+    </td>
+  </tr>
+</table>
Index: tags/2.8.2/wb/templates/argos_theme/templates/pages_settings.htt
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/templates/pages_settings.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/templates/pages_settings.htt	(revision 1481)
@@ -0,0 +1,179 @@
+<!-- BEGIN main_block -->
+
+<script src="{ADMIN_URL}/pages/page_settings.js" type="text/javascript"></script>
+
+<table cellpadding="5" cellspacing="0" border="0" align="center" width="100%" style="margin-bottom:10px;">
+  <tr style="background:#f0f0f0;">
+	<td valign="middle" align="left"><h2>{HEADING_MODIFY_PAGE_SETTINGS}</h2></td>
+	<td nowrap="nowrap">ID: {PAGE_ID}</td>
+	<td align="right">
+		{TEXT_CURRENT_PAGE}:
+		<b>{PAGE_TITLE}</b>
+		-
+		<a href="{ADMIN_URL}/pages/modify.php?page_id={PAGE_ID}">{TEXT_MODIFY_PAGE}</a>
+		<font style="{DISPLAY_MANAGE_SECTIONS}">-</font>
+		<a href="{ADMIN_URL}/pages/sections.php?page_id={PAGE_ID}" style="{DISPLAY_MANAGE_SECTIONS}">{TEXT_MANAGE_SECTIONS}</a>
+		<br />
+		<font style="color:#999;" class="{DISPLAY_MODIFIED}">
+			{LAST_MODIFIED} {MODIFIED_BY} ({MODIFIED_BY_USERNAME}), {MODIFIED_WHEN}
+		</font>
+	</td>
+  </tr>
+</table>
+
+<form name="settings" action="settings2.php" method="post">
+
+<input type="hidden" name="page_id" value="{PAGE_ID}" />
+
+<table cellpadding="2" cellspacing="0" border="0" width="100%" align="center">
+<tr>
+	<td width="100" height="20">{TEXT_PAGE_TITLE}:</td>
+	<td width="240" height="20">
+		<input type="text" name="page_title" value="{PAGE_TITLE}" style="width: 232px;" />
+	</td>
+	<td rowspan="10" valign="top" style="padding-left: 20px; padding-top: 8px;">
+		{TEXT_ADMINISTRATORS}:
+		<ul style="list-style-type: none; margin: 0; padding: 0;">
+			<!-- BEGIN group_list_block -->
+			<li>
+			<input type="checkbox" name="admin_groups[]" id="admin_group_{ID}" value="{ID}"{CHECKED}{DISABLED} />
+			<label for="admin_group_{TOGGLE}">{NAME}</label>
+			</li>
+			<!-- END group_list_block -->
+		</ul>
+	</td>
+	<td rowspan="10" valign="top" style="padding:8px 0 0 20px;">
+		<div id="allowed_viewers" style="{DISPLAY_VIEWERS}">
+			{TEXT_ALLOWED_VIEWERS}:
+			<ul style="list-style-type:none;margin:0;padding:0;">
+				<!-- BEGIN group_list_block2 -->
+				<li>
+				<input type="checkbox" name="viewing_groups[]" id="viewing_group_{ID}" value="{ID}"{CHECKED}{DISABLED} />
+				<label for="viewing_group_{TOGGLE}">{NAME}</label>
+				</li>
+				<!-- END group_list_block2 -->
+			</ul>
+		</div>
+	</td>
+</tr>
+<tr>
+	<td width="100" height="20">{TEXT_MENU_TITLE}:</td>
+	<td width="240" height="20">
+		<input type="text" name="menu_title" value="{MENU_TITLE}" style="width: 232px;" />
+	</td>
+</tr>
+<tr>
+	<td width="100">{TEXT_PARENT}:</td>
+	<td width="240">
+		<select name="parent" style="width: 240px;" onchange="return disabled_hack_for_ie(this);">
+			<!-- BEGIN page_list_block2 -->
+			<option value="{ID}"{SELECTED} style="background: {FLAG_ROOT_ICON} no-repeat center left; padding-left: 20px;">{TITLE}</option>
+			<!-- END page_list_block2 -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td width="100">{TEXT_VISIBILITY}:</td>
+	<td width="240">
+		<select name="visibility" onchange="javascript: toggle_viewers();" style="width: 240px;">
+			<option value="public"{PUBLIC_SELECTED}>{TEXT_PUBLIC}</option>
+			<option value="private"{PRIVATE_SELECTED}>{TEXT_PRIVATE}</option>
+			<option value="registered"{REGISTERED_SELECTED}>{TEXT_REGISTERED}</option>
+			<option value="hidden"{HIDDEN_SELECTED}>{TEXT_HIDDEN}</option>
+			<option value="none"{NO_VIS_SELECTED}>{TEXT_NONE}</option>
+		</select>
+	</td>
+</tr>
+<tr>
+	<td width="100" valign="top">{TEXT_DESCRIPTION}:</td>
+	<td>
+		<textarea name="description" rows="10" cols="1" style="width:236px;height:50px;">{DESCRIPTION}</textarea>
+	</td>
+</tr>
+<tr>
+	<td width="100" valign="top">{TEXT_KEYWORDS}:</td>
+	<td>
+		<textarea name="keywords" rows="10" cols="1" style="width:236px;height:50px;">{KEYWORDS}</textarea>
+	</td>
+</tr>
+<tr>
+	<td>
+		{TEXT_TARGET}:
+	</td>
+	<td>
+		<select name="target" style="width: 240px;" ><!--  value="{TARGET}" -->
+			<option value="_blank"{BLANK_SELECTED}>{TEXT_NEW_WINDOW}</option>
+			<option value="_self"{SELF_SELECTED}>{TEXT_SAME_WINDOW}</option>
+			<option value="_top"{TOP_SELECTED}>{TEXT_TOP_FRAME}</option>
+		</select>
+	</td>
+</tr>
+<tr>
+	<td width="100">{TEXT_TEMPLATE}:</td>
+	<td width="240">
+		<select name="template" style="width: 240px;">
+			<option value="">{TEXT_SYSTEM_DEFAULT}</option>
+			<option value="">----------------------</option>
+			<!-- BEGIN template_list_block -->
+			<option value="{VALUE}"{SELECTED}>{NAME}</option>
+			<!-- END template_list_block -->
+		</select>
+	</td>
+</tr>
+<tr style="{DISPLAY_MENU_LIST}">
+	<td width="100">{TEXT_MENU}:</td>
+	<td width="240">
+		<select name="menu" style="width: 240px;">
+			<!-- BEGIN menu_list_block -->
+			<option value="{VALUE}"{SELECTED}>{NAME}</option>
+			<!-- END menu_list_block -->
+		</select>
+	</td>
+</tr>
+<tr style="{DISPLAY_LANGUAGE_LIST}">
+	<td width="100">{TEXT_LANGUAGE}:</td>
+	<td width="240">
+		<select name="language" style="width: 240px;">
+			<!-- BEGIN language_list_block -->
+			<option value="{VALUE}"{SELECTED} style="background: {FLAG_LANG_ICONS} no-repeat center left; padding-left: 20px;">{NAME}</option>
+			<!-- END language_list_block -->
+		</select>
+	</td>
+</tr>
+<!-- insert page_code 20090904-->
+<tr{DISPLAY_CODE_PAGE_LIST}>
+	<td width="100">{TEXT_PAGE_CODE}:</td>
+	<td class="list_page_code">
+		<select name="page_code" class="value_page_code">
+			<!-- BEGIN page_code_list_block -->
+			<option value="{VALUE}"{SELECTED} style="background: {FLAG_CODE_ICON} no-repeat center left; padding-left: 20px;">{PAGE_VALUE}</option>
+			<!-- END page_code_list_block -->
+		</select>
+	</td>
+</tr>
+<!-- page code -->
+<tr>
+	<td width="100">{TEXT_SEARCHING}:</td>
+	<td width="240">
+		<select name="searching" style="width: 240px;">
+			<option value="1">{TEXT_ENABLED}</option>
+			<option value="0"{SEARCHING_DISABLED}>{TEXT_DISABLED}</option>
+		</select>
+	</td>
+</tr>
+<tr>
+	<td width="100">&nbsp;</td>
+	<td colspan="4">
+		<input type="submit" name="submit" value="{TEXT_SAVE} {SECTION_SETTINGS}" style="width: 117px;" />
+		<input type="reset" name="reset" value="{TEXT_RESET}" style="width: 117px;" />
+	</td>
+</tr>
+<tr>
+	<td>&nbsp;</td>
+	<td>&nbsp;</td>
+</tr>
+</table>
+
+</form>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/argos_theme/templates/pages_sections.htt
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/templates/pages_sections.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/templates/pages_sections.htt	(revision 1481)
@@ -0,0 +1,113 @@
+<!-- BEGIN main_block -->
+<div class="jsadmin jcalendar hide"></div>
+<table cellpadding="5" cellspacing="0" border="0" align="center" width="100%" style="margin-bottom:10px;">
+	<tr style="background:#f0f0f0;">
+		<td valign="middle" align="left"><h2>{HEADING_MANAGE_SECTIONS}</h2></td>
+		<td align="left" width="20%">ID: {PAGE_ID}</td>
+		<td align="right">{TEXT_CURRENT_PAGE}: <b>{PAGE_TITLE}</b>
+			-
+			<a href="{ADMIN_URL}/pages/modify.php?page_id={PAGE_ID}">{HEADING_MODIFY_PAGE}</a>
+			-
+			<a href="{ADMIN_URL}/pages/settings.php?page_id={PAGE_ID}">{TEXT_CHANGE_SETTINGS}</a>
+		</td>
+     </tr>
+</table>
+
+        <form name="section_properties" action="{ADMIN_URL}/pages/sections_save.php?page_id={VAR_PAGE_ID}" method="post">
+		
+        <table cellpadding="0" cellspacing="0" border="0" width="100%" class="img_noborder">
+			<tr class="sections_list">
+				<td class="header_list_type">{TEXT_TYPE}</td>
+				<td class="header_list_block"><span {STYLE_DISPLAY_SECTION_BLOCK}>{TEXT_BLOCK}&nbsp;</span></td>
+				<td class="header_list_pubdate_start">{TEXT_PUBL_START_DATE}</td>
+				<td class="header_list_pubdate_end">{TEXT_PUBL_END_DATE}</td>
+				<td class="header_list_sections_actions" colspan="3">{TEXT_ACTIONS}</td>
+				<td class="header_list_section_id">ID</td>
+				<td {DISPLAY_DEBUG}>{TEXT_PID}</td>
+			</tr>
+<!-- BEGIN section_block -->
+            	<tr class="sectionrow">
+    				<td align="right" style="display:none;">
+                      <input type="hidden" name="page_id" value="{VAR_PAGE_ID}"  />
+                      <input type="hidden" name="section_id" value="{VAR_SECTION_ID}"  />
+                      {VAR_SECTION_ID}
+                    </td>
+					
+                    <td>{LINK_MODIFY_URL_VAR_MODUL_NAME}</td>
+					
+                    <td class="{INPUT_ATTRIBUTE}"><span {STYLE_DISPLAY_SECTION_BLOCK}>
+                    	<select name="block{VAR_SECTION_ID}" class="input_normal">
+                        {SET_NONE_DISPLAY_OPTION}
+                    	<!-- BEGIN block_block -->
+                    		<option value="{VALUE}"{SELECTED}>{NAME}</option>
+                    	<!-- END block_block -->
+                    	</select></span>&nbsp;
+                    </td>
+					
+                    <td class="list_pubdate_start"><input type="text" id="start_date{VAR_SECTION_ID}" name="start_date{VAR_SECTION_ID}" value="{VALUE_PUBL_START}" class="input_normal" />
+                        <img src="{THEME_URL}/images/calendar_16.png" id="trigger_start{VAR_SECTION_ID}" style="cursor:pointer;" title="{TEXT_CALENDAR}" alt="{TEXT_CALENDAR}"  />
+                        <img src="{THEME_URL}/images/{CLOCK_DEL_16_PNG}" style="cursor:pointer;" alt="{TEXT_DELETE_DATE}" title="{TEXT_DELETE_DATE}" onclick="document.section_properties.start_date{VAR_SECTION_ID}.value=''" />
+                    </td>
+					
+                    <td class="list_pubdate_end"><input type="text" id="end_date{VAR_SECTION_ID}" name="end_date{VAR_SECTION_ID}" value="{VALUE_PUBL_END}" class="input_normal" />
+                        <img src="{THEME_URL}/images/calendar_16.png" id="trigger_stop{VAR_SECTION_ID}" alt="{TEXT_CALENDAR}" style="cursor: pointer;" title="{TEXT_CALENDAR}"  />
+                        <img src="{THEME_URL}/images/{CLOCK_DEL_16_PNG}" style="cursor:pointer;" alt="{TEXT_DELETE_DATE}" title="{TEXT_DELETE_DATE}" onclick="document.section_properties.end_date{VAR_SECTION_ID}.value=''" />
+                    </td>
+
+					<td>{VAR_MOVE_UP_URL}</td>
+					
+                    <td>{VAR_MOVE_DOWN_URL}</td>
+					
+                    <td>
+                        <a href="javascript: confirm_link('{TEXT_ARE_YOU_SURE}', '{ADMIN_URL}/pages/sections.php?page_id={VAR_PAGE_ID}&amp;section_id={VAR_SECTION_ID}');">
+                        <img src="{THEME_URL}/images/{DELETE_16_PNG}" alt="{TEXT_DELETE}" border="0" />
+                        </a>
+                    </td>
+					
+                    <td class="list_section_id">{VAR_SECTION_ID}</td>
+					
+                    <td {DISPLAY_DEBUG}>{POSITION}</td>
+                </tr>
+<!-- END section_block -->
+                <tr>
+                    <td align="left" colspan="{DEBUG_COLSPAN_SIZE}">
+					<br />
+					<input type="submit" name="save" value="{TEXT_SAVE}" class="input_medium" />
+					</td>
+    	        </tr>
+	    </table>
+    </form>
+<br />
+	<h2>{TEXT_ADD_SECTION}</h2>
+	<form name="add" action="{ADMIN_URL}/pages/sections.php?page_id={VAR_PAGE_ID}" method="post">
+        <input type="hidden" name="page_id" value="{VAR_PAGE_ID}"  />
+    	<table cellpadding="5" cellspacing="0" border="0" align="center" width="100%">
+    	<tr>
+    		<td width="50%" valign="middle">
+    			<select name="module" class="input_large">
+                <!-- BEGIN module_block -->
+    			 <option value="{VALUE}"{SELECTED}>{NAME}</option>
+                 <!-- END module_block -->
+    			</select>
+				&nbsp;&nbsp;
+				<input type="submit" name="submit" value="{TEXT_ADD}" class="input_medium" />
+   		  </td>
+    	</tr>
+   	  </table>
+	</form>
+    <!-- BEGIN calendar_block -->
+    <script type="text/javascript" >
+         var section_id = '{VAR_SECTION_ID}';
+         var start_date = '{start_date}';
+         var end_date = '{end_date}';
+         var trigger_start = '{trigger_start}';
+         var trigger_end = '{trigger_end}';
+         var jscal_today = '{jscal_today}';
+         var jscal_ifformat = '{jscal_ifformat}';
+         var jscal_firstday = {jscal_firstday};
+         var showsTime = {showsTime};
+         var timeFormat = {timeFormat};
+    </script>
+    <script type="text/javascript" src="{ADMIN_URL}/pages/page_calendar.js" ></script>
+    <!-- END calendar_block -->
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/argos_theme/templates/admintools.htt
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/templates/admintools.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/templates/admintools.htt	(revision 1481)
@@ -0,0 +1,22 @@
+<!-- BEGIN main_block -->
+<h2>{HEADING_ADMINISTRATION_TOOLS} </h2>
+<div id="admintools">
+	<ul>
+	<!-- BEGIN tool_list_block -->
+	<li>
+		<table cellpadding="0" cellspacing="0" border="0" class="section" width="100%">
+		<tr>
+			<td class="graphic" align="center" valign="middle" rowspan="2">
+				<a class= "title" href="{ADMIN_URL}/admintools/tool.php?tool={TOOL_DIR}"><img src="{THEME_URL}/icons/admintools.png" border="0" align="left"></a>
+			</td>
+			<td class="description" valign="top">
+				<a href="{ADMIN_URL}/admintools/tool.php?tool={TOOL_DIR}"><div class="title">{TOOL_NAME}</div></a>{TOOL_DESCRIPTION}
+			</td>
+		</tr>
+		</table>
+	</li>
+	<!-- END tool_list_block -->
+	</ul>
+	{TOOL_LIST}
+</div>
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/argos_theme/templates/index.php
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/templates/index.php	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/templates/index.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+/**
+ * $Id$
+ * Website Baker theme: argos_theme
+ * This theme is the default WB backend Theme
+ * Feel free to modify or build up on this template.
+ *
+ * This file defines the template variables required by Website Baker.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Jurgen Nijhuis (Argos Media) & Ruud Eisinga
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    1.1
+ * @platform   Website Baker 2.8
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+// prevent directory listing
+header('Location: ../../../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/argos_theme/templates/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/templates/error.htt
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/templates/error.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/templates/error.htt	(revision 1481)
@@ -0,0 +1,6 @@
+<!-- BEGIN main_block -->
+<div style='text-align:center;'>
+	<p>{MESSAGE}</p>
+	<p><a href="{LINK}">{BACK}</a></p>
+</div>
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/argos_theme/templates/templates_details.htt
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/templates/templates_details.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/templates/templates_details.htt	(revision 1481)
@@ -0,0 +1,32 @@
+<!-- BEGIN main_block -->
+
+<h2>{HEADING_TEMPLATE_DETAILS}</h2>
+
+<table cellpadding="5" cellspacing="0" border="0">
+<tr>
+	<td width="100">{TEXT_NAME}:</td>
+	<td>{NAME}</td>
+</tr>
+<tr>
+	<td>{TEXT_AUTHOR}:</td>
+	<td>{AUTHOR}</td>
+</tr>
+<tr>
+	<td>{TEXT_VERSION}:</td>
+	<td>{VERSION}</td>
+</tr>
+<tr>
+	<td>{TEXT_DESIGNED_FOR}:</td>
+	<td>Website Baker {DESIGNED_FOR}</td>
+</tr>
+<tr>
+	<td valign="top">{TEXT_DESCRIPTION}:</td>
+	<td style="text-align: justify;">{DESCRIPTION}</td>
+</tr>
+</table>
+
+<br />
+
+<button onclick="window.location = 'index.php';">{TEXT_BACK}</button>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/argos_theme/templates/warning.html
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/templates/warning.html	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/templates/warning.html	(revision 1481)
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<title>Maximum Invalid Login Attemps Exceeded</title>
+<style type="text/css"><!--
+body,td,th {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 12px;
+	color: #000000;
+}
+body {
+	margin: 0px;
+  background: #A8BCCB url(../images/background.png) ;
+  background-repeat:repeat-x;
+}
+a:link, a:visited, a:active {
+	color: #003366;
+	text-decoration: none;
+}
+a:hover {
+	text-decoration: underline;
+	color: #336699;
+}
+h1 {
+	text-align: center;
+	font-size: 18px;
+	color: #000;
+	text-transform: uppercase;
+}
+hr {
+	height: 1px;
+	color: #336699;
+	background-color: #336699;
+	border: 0;
+}
+div#message {
+	text-align: center;
+}
+--></style></head>
+<body>
+
+<div id='message'>
+	<h1>Excessive Invalid Logins</h1>
+	You have attempted to login too many times
+</div>
+
+</body>
+</html>
\ No newline at end of file
Index: tags/2.8.2/wb/templates/argos_theme/templates/languages_details.htt
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/templates/languages_details.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/templates/languages_details.htt	(revision 1481)
@@ -0,0 +1,32 @@
+<!-- BEGIN main_block -->
+
+<h2>{HEADING_LANGUAGE_DETAILS}</h2>
+
+<table cellpadding="5" cellspacing="0" border="0">
+<tr>
+	<td width="100">{TEXT_NAME}:</td>
+	<td>{NAME}</td>
+</tr>
+<tr>
+	<td>{TEXT_CODE}:</td>
+	<td>{CODE}</td>
+</tr>
+<tr>
+	<td>{TEXT_AUTHOR}:</td>
+	<td>{AUTHOR}</td>
+</tr>
+<tr>
+	<td>{TEXT_VERSION}:</td>
+	<td>{VERSION}</td>
+</tr>
+<tr>
+	<td>{TEXT_DESIGNED_FOR}:</td>
+	<td>Website Baker {DESIGNED_FOR}</td>
+</tr>
+</table>
+
+<br />
+
+<button onclick="window.location = 'index.php';">{TEXT_BACK}</button>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/argos_theme/templates/setparameter.htt
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/templates/setparameter.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/templates/setparameter.htt	(revision 1481)
@@ -0,0 +1,63 @@
+<!-- BEGIN main_block --> 
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<title>Set Upload Parameters</title>
+
+
+<style type="text/css">
+body,td,th,input,textarea {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 10px;
+}
+body {
+	background-color: #FFF;
+	margin: 0px;
+}
+hr {
+	margin: 0px;
+	color: #003366;
+	height: 1px;
+}
+.hide {
+	display: none;
+}
+a:link, a:visited, a:active {
+	color: #003366;
+	text-decoration: none;
+}
+a:hover {
+	text-decoration: none;
+	color: #336699;
+}
+</style>
+</head>
+<body>
+
+<table cellpadding="4" cellspacing="0" border="0" width="100%" style="border-bottom: 1px solid #666; width: 100%;">
+<tr style="background-color: #DDD;">
+	<td align="center">{TEXT_HEADER}</td>
+</tr>
+</table>
+<form method="post" action="{ADMIN_URL}/media/setparameter.php">
+<table cellpadding="4" cellspacing="0" border="0" width="100%" class="{DISPLAY_LIST_TABLE}">
+	<tr><td>{SETTINGS}</td><td><input type="checkbox" name="show_thumbs" {NO_SHOW_THUMBS_SELECTED}> {NO_SHOW_THUMBS}</td></tr>
+	<tr class="{DISPLAY_ADMIN}"><td></td>&nbsp;<td><input type="checkbox" name="admin_only" {ADMIN_ONLY_SELECTED}> {ADMIN_ONLY}</td></tr>
+	<tr><td colspan="2" style="border-bottom: 1px solid #666; line-height: 1px;">&nbsp;</td></tr>
+<!-- BEGIN list_block -->
+	<tr style="background-color: #{ROW_BG_COLOR};">
+		<td>{PATH_NAME}</td>
+		<td>{WIDTH} <input size="5" type="text" name="{FIELD_NAME_W}" value="{CUR_WIDTH}"> {HEIGHT} <input size="5" type="text" name="{FIELD_NAME_H}" value="{CUR_HEIGHT}"></td>
+	</tr>
+<!-- END list_block -->
+	<tr>
+		<td><input type="button" onclick="javascript: window.location = 'browse.php'" value="{BACK}"></td>
+		<td><input type="submit" name="save" value="{SAVE_TEXT}"></td>
+	</tr>
+</table>
+
+</body>
+</html>
+
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/argos_theme/templates/modules_details.htt
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/templates/modules_details.htt	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/templates/modules_details.htt	(revision 1481)
@@ -0,0 +1,36 @@
+<!-- BEGIN main_block -->
+
+<h2>{HEADING_MODULE_DETAILS}</h2>
+
+<table cellpadding="5" cellspacing="0" border="0">
+<tr>
+	<td width="100">{TEXT_NAME}:</td>
+	<td>{NAME}</td>
+</tr>
+<tr>
+	<td>{TEXT_TYPE}:</td>
+	<td>{TYPE}</td>
+</tr>
+<tr>
+	<td>{TEXT_AUTHOR}:</td>
+	<td>{AUTHOR}</td>
+</tr>
+<tr>
+	<td>{TEXT_VERSION}:</td>
+	<td>{VERSION}</td>
+</tr>
+<tr>
+	<td>{TEXT_DESIGNED_FOR}:</td>
+	<td>Website Baker {DESIGNED_FOR}</td>
+</tr>
+<tr>
+	<td valign="top">{TEXT_DESCRIPTION}:</td>
+	<td style="text-align: justify;">{DESCRIPTION}</td>
+</tr>
+</table>
+
+<br />
+
+<button onclick="window.location = 'index.php';">{TEXT_BACK}</button>
+
+<!-- END main_block -->
\ No newline at end of file
Index: tags/2.8.2/wb/templates/argos_theme/images/calendar_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/calendar_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/Image3.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/Image3.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/modify_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/modify_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/minus_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/minus_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/clock_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/clock_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/visible_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/visible_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/none_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/none_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/view_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/view_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/keys_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/keys_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/clock_red_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/clock_red_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/sections_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/sections_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/noclock_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/noclock_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/hidden_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/hidden_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/delete_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/delete_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/deleted_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/deleted_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/private_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/private_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/restore_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/restore_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/plus_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/plus_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/clock_del_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/clock_del_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/down_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/down_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/up_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/up_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/index.php
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/images/flags/index.php	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/images/flags/index.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+/**
+ * $Id$
+ * Website Baker theme: argos_theme
+ * This theme is the default WB backend Theme
+ * Feel free to modify or build up on this template.
+ *
+ * This file defines the template variables required by Website Baker.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Jurgen Nijhuis (Argos Media) & Ruud Eisinga
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    1.1
+ * @platform   Website Baker 2.8
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+// prevent directory listing
+header('Location: ../../../../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/yt.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/yt.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/uy.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/uy.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/bm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/bm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/fj.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/fj.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/bo.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/bo.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/nf.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/nf.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/bs.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/bs.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/jm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/jm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/re.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/re.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/fr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/fr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/jo.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/jo.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/bw.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/bw.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/nl.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/nl.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/by.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/by.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/za.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/za.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/wales.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/wales.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/np.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/np.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/nr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/nr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ro.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ro.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/vn.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/vn.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/rs.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/rs.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/zm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/zm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ru.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ru.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/cd.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/cd.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/nz.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/nz.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ga.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ga.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/rw.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/rw.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/cf.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/cf.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ch.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ch.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ge.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ge.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/cl.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/cl.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/gi.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/gi.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/cn.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/cn.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/zw.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/zw.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/kh.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/kh.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/gm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/gm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/cr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/cr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/sb.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/sb.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/sd.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/sd.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/gq.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/gq.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/canada.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/canada.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/kn.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/kn.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/cv.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/cv.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/gs.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/gs.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/kp.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/kp.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/cx.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/cx.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/sh.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/sh.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/gu.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/gu.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/om.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/om.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/kr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/kr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/cz.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/cz.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/sj.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/sj.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/gw.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/gw.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/sl.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/sl.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/gy.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/gy.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/sn.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/sn.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/kz.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/kz.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/da.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/da.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/sr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/sr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/st.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/st.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/de.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/de.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/sv.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/sv.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ws.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ws.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/sz.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/sz.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/la.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/la.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/lc.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/lc.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/dm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/dm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/do.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/do.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/fam.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/fam.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/li.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/li.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/pf.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/pf.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/hn.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/hn.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/tc.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/tc.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/lk.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/lk.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ph.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ph.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/england.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/england.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/hr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/hr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/tg.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/tg.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/pl.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/pl.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ht.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ht.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/pn.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/pn.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/tk.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/tk.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ls.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ls.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/tm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/tm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/lu.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/lu.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/pr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/pr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/to.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/to.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/pt.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/pt.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ly.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ly.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ae.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ae.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ag.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ag.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ai.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ai.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/tw.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/tw.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/eh.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/eh.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/am.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/am.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ie.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ie.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ao.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ao.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/md.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/md.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/qa.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/qa.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/en.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/en.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/as.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/as.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/mh.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/mh.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/au.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/au.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/er.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/er.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/aw.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/aw.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/io.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/io.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ml.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ml.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/et.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/et.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/iq.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/iq.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/mn.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/mn.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/is.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/is.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/mp.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/mp.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ye.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ye.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/mr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/mr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/mt.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/mt.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/mv.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/mv.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/bb.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/bb.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/mx.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/mx.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/bd.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/bd.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/mz.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/mz.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/bf.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/bf.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/europeanunion.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/europeanunion.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/bh.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/bh.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/bj.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/bj.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/uz.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/uz.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/na.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/na.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/fi.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/fi.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/bn.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/bn.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/fk.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/fk.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/nc.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/nc.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/fm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/fm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ne.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ne.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/br.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/br.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/fo.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/fo.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ng.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ng.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/bt.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/bt.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ni.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ni.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/va.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/va.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/bv.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/bv.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/scotland.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/scotland.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/vc.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/vc.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/jp.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/jp.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ve.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ve.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/bz.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/bz.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/no.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/no.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/vg.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/vg.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/vi.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/vi.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/nu.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/nu.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ca.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ca.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/cc.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/cc.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/cg.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/cg.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/gd.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/gd.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/vu.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/vu.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ci.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ci.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/gf.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/gf.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ck.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ck.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/gh.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/gh.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ke.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ke.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/cm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/cm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/kg.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/kg.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/co.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/co.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/gl.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/gl.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ki.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ki.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/sa.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/sa.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/gn.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/gn.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/cs.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/cs.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/sc.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/sc.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/gp.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/gp.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/km.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/km.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/cu.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/cu.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/se.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/se.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/gr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/gr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/sg.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/sg.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/gt.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/gt.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/cy.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/cy.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/si.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/si.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/wf.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/wf.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/sk.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/sk.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/sm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/sm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/kw.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/kw.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/so.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/so.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ky.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ky.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/sy.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/sy.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/lb.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/lb.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/dj.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/dj.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/pa.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/pa.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/hk.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/hk.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/hm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/hm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/pe.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/pe.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/pg.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/pg.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/td.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/td.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/tf.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/tf.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/pk.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/pk.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/th.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/th.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/hu.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/hu.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/pm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/pm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/dz.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/dz.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/lr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/lr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/tj.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/tj.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/lt.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/lt.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/tl.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/tl.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/lv.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/lv.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/tn.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/tn.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ps.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ps.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ad.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ad.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/tr.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/tr.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/af.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/af.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/pw.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/pw.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ec.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ec.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/tt.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/tt.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/py.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/py.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ee.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ee.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/tv.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/tv.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/eg.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/eg.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/id.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/id.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/al.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/al.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ma.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ma.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/tz.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/tz.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/an.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/an.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/mc.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/mc.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/me.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/me.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ar.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ar.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/mg.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/mg.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/il.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/il.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/at.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/at.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ua.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ua.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/in.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/in.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/es.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/es.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/mk.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/mk.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ax.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ax.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/mm.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/mm.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ir.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ir.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/az.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/az.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/mo.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/mo.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ug.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ug.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/it.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/it.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/mq.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/mq.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ms.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ms.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/mu.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/mu.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/um.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/um.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/ba.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/ba.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/mw.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/mw.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/my.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/my.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/be.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/be.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/us.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/us.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/bg.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/bg.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/flags/bi.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/flags/bi.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/index.php
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/images/index.php	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/images/index.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+/**
+ * $Id$
+ * Website Baker theme: argos_theme
+ * This theme is the default WB backend Theme
+ * Feel free to modify or build up on this template.
+ *
+ * This file defines the template variables required by Website Baker.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Jurgen Nijhuis (Argos Media) & Ruud Eisinga
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    1.1
+ * @platform   Website Baker 2.8
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+// prevent directory listing
+header('Location: ../../../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/logo.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/logo.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/image.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/image.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/newfolder.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/newfolder.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/resize_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/resize_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/blank.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/blank.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/view.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/view.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/reload_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/reload_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/tabl.jpg
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/tabl.jpg
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/tabr.jpg
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/tabr.jpg
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/unzip.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/unzip.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/bgtitle.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/bgtitle.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/file.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/file.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/background.jpg
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/background.jpg
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/folder_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/folder_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/visible_16_1.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/visible_16_1.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/up_folder_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/up_folder_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/images/edit_16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/images/edit_16.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/icons/templates.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/icons/templates.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/icons/groups.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/icons/groups.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/icons/media.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/icons/media.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/icons/pages.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/icons/pages.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/icons/settings.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/icons/settings.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/icons/access.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/icons/access.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/icons/preferences.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/icons/preferences.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/icons/users.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/icons/users.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/icons/languages.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/icons/languages.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/icons/addons.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/icons/addons.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/icons/modules.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/icons/modules.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/icons/admintools.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/icons/admintools.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/icons/index.php
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/icons/index.php	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/icons/index.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+/**
+ * $Id$
+ * Website Baker theme: argos_theme
+ * This theme is the default WB backend Theme
+ * Feel free to modify or build up on this template.
+ *
+ * This file defines the template variables required by Website Baker.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Jurgen Nijhuis (Argos Media) & Ruud Eisinga
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    1.1
+ * @platform   Website Baker 2.8
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+// prevent directory listing
+header('Location: ../../../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/argos_theme/icons/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/icons/help.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/icons/help.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/icons/view.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/argos_theme/icons/view.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/info.php
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/info.php	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/info.php	(revision 1481)
@@ -0,0 +1,40 @@
+<?php
+/**
+ * $Id$
+ * Website Baker theme: argos_theme
+ * This theme is the default WB backend Theme
+ * Feel free to modify or build up on this template.
+ *
+ * This file defines the template variables required by Website Baker.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Jurgen Nijhuis (Argos Media) & Ruud Eisinga
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    1.1
+ * @platform   Website Baker 2.8
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+// OBLIGATORY WEBSITE BAKER VARIABLES
+$template_directory			= 'argos_theme';
+$template_name				= 'argos_theme';
+$template_function			= 'theme';
+$template_version			= '1.4';
+$template_platform			= '2.8';
+$template_author			= 'Jurgen Nijhuis (Argos Media) & Ruud Eisinga';
+$template_license			= '<a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>';
+$template_license_terms		= '-';
+$template_description		= 'Enhanced backend theme for Website Baker 2.8.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/argos_theme/info.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/languages/DE.php
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/languages/DE.php	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/languages/DE.php	(revision 1481)
@@ -0,0 +1,34 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+//Modul Description
+$template_description 	= 'Ein erweitertes Backend-Theme f&uuml;r Websitebaker 2.8';
+
+//Texts
+$TEXT['ADMIN_ONLY'] = 'diese Optionen nur Administratoren zug&auml;nglich machen';
+$TEXT['NO_SHOW_THUMBS'] = 'Vorschaubilder verstecken';
+$TEXT['TEXT_HEADER'] = 'Maximale Bildergr&ouml;&szlig;e f&uuml;r Ordner festlegen</b><br><small><i>(&Auml;nderung nur beim Hochladen)</i></small>';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/argos_theme/languages/DE.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/languages/NL.php
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/languages/NL.php	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/languages/NL.php	(revision 1481)
@@ -0,0 +1,33 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+//Modul Description
+$template_description 	= 'Geavanceerde admin-template voor Website Baker 2.8.';
+
+//Texts
+$TEXT['ADMIN_ONLY'] = 'Instellingen alleen beschikbaar voor administrator';
+$TEXT['NO_SHOW_THUMBS'] = 'Thumbnails niet weergeven';
+$TEXT['TEXT_HEADER'] = 'Stel de maximale grootte voor \'resized\' afbeeldingen in per folder</b><br><small><i>(NB: werkt alleen bij nieuwe uploads)</i></small>';
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/argos_theme/languages/NL.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/languages/EN.php
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/languages/EN.php	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/languages/EN.php	(revision 1481)
@@ -0,0 +1,33 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+//Modul Description
+$template_description 	= 'Enhanced backend theme for Website Baker 2.8.';
+
+//Texts
+$TEXT['ADMIN_ONLY'] = 'Settings for administrator only';
+$TEXT['NO_SHOW_THUMBS'] = 'Hide thumbnails';
+$TEXT['TEXT_HEADER'] = 'Set maximum imagesize for a folder</b><br><small><i>(resizing on new uploads only)</i></small>';
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/argos_theme/languages/EN.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/languages/index.php
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/languages/index.php	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/languages/index.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+/**
+ * $Id$
+ * Website Baker theme: argos_theme
+ * This theme is the default WB backend Theme
+ * Feel free to modify or build up on this template.
+ *
+ * This file defines the template variables required by Website Baker.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Jurgen Nijhuis (Argos Media) & Ruud Eisinga
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    1.1
+ * @platform   Website Baker 2.8
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+// prevent directory listing
+header('Location: ../../../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/argos_theme/languages/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/index.php
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/index.php	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/index.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+/**
+ * $Id$
+ * Website Baker theme: argos_theme
+ * This theme is the default WB backend Theme
+ * Feel free to modify or build up on this template.
+ *
+ * This file defines the template variables required by Website Baker.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Jurgen Nijhuis (Argos Media) & Ruud Eisinga
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    1.1
+ * @platform   Website Baker 2.8
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+// prevent this file from being accessed directly
+if (!defined('WB_PATH')) die(header('Location: ../../index.php'));
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/argos_theme/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/media.css
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/media.css	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/media.css	(revision 1481)
@@ -0,0 +1,37 @@
+body,td,th,input,textarea {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 12px;
+	color: #000000;
+}
+body {
+	background-color: #FFFFFF;
+	margin: 0px;
+}
+hr {
+	margin: 0px;
+	color: #003366;
+	height: 1px;
+}
+a:link, a:visited, a:active {
+	color: #003366;
+	text-decoration: none;
+}
+a:hover {
+	text-decoration: none;
+	color: #336699;
+}
+input:focus, select:focus, textarea:focus {
+	background: #F1F8FD;
+}
+.content {
+	width: 100%;
+	height: 100px;
+}
+.rename {
+    background: #fff url(images/bgtitle.png) ;
+    background-repeat:repeat-x;
+	padding: 20px;
+}
+.hide {
+	display: none;
+}

Property changes on: tags/2.8.2/wb/templates/argos_theme/media.css
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/templates/argos_theme/browse.css
===================================================================
--- tags/2.8.2/wb/templates/argos_theme/browse.css	(nonexistent)
+++ tags/2.8.2/wb/templates/argos_theme/browse.css	(revision 1481)
@@ -0,0 +1,6 @@
+body,td,th,input,textarea {font-family:Arial,Helvetica,sans-serif;font-size:12px;}
+body {background-color:#fff;margin:0;}
+hr {margin:0;color:#003366;height:1px;}
+.hide {display:none;}
+a:link, a:visited, a:active {color:#003366;text-decoration:none;}
+a:hover {text-decoration:none;color:#336699;}
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/argos_theme/browse.css
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/templates/allcss/index.php
===================================================================
--- tags/2.8.2/wb/templates/allcss/index.php	(nonexistent)
+++ tags/2.8.2/wb/templates/allcss/index.php	(revision 1481)
@@ -0,0 +1,149 @@
+<?php
+/**
+ * $Id$
+ * Website Baker template: allcss
+ * This template is one of four basis templates distributed with Website Baker.
+ * Feel free to modify or build up on this template.
+ *
+ * This file contains the overall template markup and the Website Baker
+ * template functions to add the contents from the database.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Ryan Djurovich, C. Sommer
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    2.70
+ * @platform   Website Baker 2.7
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+// prevent this file from being accessed directly
+if (!defined('WB_PATH')) die(header('Location: ../../index.php'));
+
+// TEMPLATE CODE STARTS BELOW
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=<?php 
+	echo defined('DEFAULT_CHARSET') ? DEFAULT_CHARSET : 'utf-8'; ?>" />
+	<meta name="description" content="<?php page_description(); ?>" />
+	<meta name="keywords" content="<?php page_keywords(); ?>" />
+	<?php 
+	// automatically include optional WB module files (frontend.css, frontend.js)
+	if (function_exists('register_frontend_modfiles')) {
+		register_frontend_modfiles('css');
+		register_frontend_modfiles('js');
+	} ?>
+	<link rel="stylesheet" type="text/css" href="<?php 
+	echo TEMPLATE_DIR; ?>/template.css" media="screen,projection" />
+	<link rel="stylesheet" type="text/css" href="<?php 
+	echo TEMPLATE_DIR; ?>/print.css" media="print" />
+	<title><?php page_title('', '[WEBSITE_TITLE]'); ?></title>
+</head>
+
+<body>
+
+<div class="main">
+	
+	<div class="banner">
+		<a href="<?php echo WB_URL; ?>/" target="_top"><?php page_title('', '[WEBSITE_TITLE]'); ?></a>
+		<span>| <?php page_title('', '[PAGE_TITLE]'); ?></span>
+	</div>
+	
+	<!-- frontend search -->
+	<div class="search_box">
+		<?php 
+		// CODE FOR WEBSITE BAKER FRONTEND SEARCH
+		if (SHOW_SEARCH) { ?>
+			<form name="search" action="<?php echo WB_URL; ?>/search/index.php" method="get">
+				<input type="hidden" name="referrer" value="<?php 
+				echo defined('REFERRER_ID') ? REFERRER_ID : PAGE_ID; ?>" />
+				<input type="text" name="string" class="search_string" />
+				<input type="submit" name="wb_search" id="wb_search" value="<?php 
+				echo $TEXT['SEARCH']; ?>" class="search_submit" />
+			</form><?php 
+		} ?>
+	</div>
+
+	<!-- main navigation menu -->
+	<div class="menu">
+		<?php show_menu(1, 0, -1, true, 
+			'<li><span [class]>[a][menu_title][/a]</span>', '</li>', 
+			'<ul>', '</ul>', 'class="menu_default"', 'class="menu_current"', 0
+			); 
+		?>
+		
+		<?php
+		// CODE FOR WEBSITE BAKER FRONTEND LOGIN
+		if (FRONTEND_LOGIN == 'enabled' && VISIBILITY != 'private' 
+			&& $wb->get_session('USER_ID') == '') { ?>
+			<!-- login form -->
+			<br />
+			<form name="login" id="login" action="<?php echo LOGIN_URL; ?>" method="post">
+				<fieldset>
+					<legend><?php echo $TEXT['LOGIN']; ?></legend>
+					<label for="username" accesskey="1"><?php echo $TEXT['USERNAME']; ?>:</label>
+					<input type="text" name="username" id="username" style="text-transform: lowercase;" /><br />
+					<label for="password" accesskey="2"><?php echo $TEXT['PASSWORD']; ?>:</label>
+					<input type="password" name="password" id="password" /><br />
+					<input type="submit" name="wb_login" id="wb_login" value="<?php echo $MENU['LOGIN']; ?>"/><br />
+	
+					<!-- forgotten details link -->
+					<a href="<?php echo FORGOT_URL; ?>"><?php echo $TEXT['FORGOT_DETAILS']; ?></a>
+
+					<!-- frontend signup -->
+					<?php
+					if (is_numeric(FRONTEND_SIGNUP)) { ?>
+						<a href="<?php echo SIGNUP_URL; ?>"><?php echo $TEXT['SIGNUP']; ?></a>
+					<?php } ?>
+				</fieldset>
+			</form>
+			
+		<?php 
+		} elseif (FRONTEND_LOGIN == 'enabled' && is_numeric($wb->get_session('USER_ID'))) { ?>
+			<!-- logout form -->
+			<br />
+			<form name="logout" id="logout" action="<?php echo LOGOUT_URL; ?>" method="post">
+				<fieldset>
+					<legend><?php echo $TEXT['LOGGED_IN']; ?>:</legend>
+					<?php echo $TEXT['WELCOME_BACK']; ?>, <?php echo $wb->get_display_name(); ?>
+					<input type="submit" name="wb_logout" id="wb_logout" value="<?php echo $MENU['LOGOUT']; ?>" />
+					<!-- edit user preferences -->
+					<a href="<?php echo PREFERENCES_URL; ?>"><?php echo $MENU['PREFERENCES']; ?></a>
+				</fieldset>
+			</form>
+		<?php 
+		} ?>
+	</div>
+	
+	<div class="content">
+		<?php page_content(); ?>
+	</div>
+	
+	<div class="footer">
+		<?php page_footer(); ?>
+	</div>
+	
+</div>
+
+<div class="powered_by">
+	Powered by <a href="http://www.websitebaker.org" target="_blank">Website Baker</a>
+</div>
+<?php 
+// automatically include optional WB module file frontend_body.js)
+if (function_exists('register_frontend_modfiles_body')) { register_frontend_modfiles_body(); } 
+?>
+</body>
+</html>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/allcss/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/allcss/images/index.php
===================================================================
--- tags/2.8.2/wb/templates/allcss/images/index.php	(nonexistent)
+++ tags/2.8.2/wb/templates/allcss/images/index.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+/**
+ * $Id$
+ * Website Baker template: allcss
+ * This template is one of four basis templates distributed with Website Baker.
+ * Feel free to modify or build up on this template.
+ *
+ * This file prevents directory listing.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Ryan Djurovich, C. Sommer
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    2.70
+ * @platform   Website Baker 2.7
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+// prevent directory listing
+header('Location: ../../../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/allcss/images/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/allcss/images/header.jpg
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/allcss/images/header.jpg
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/allcss/images/footer.jpg
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/allcss/images/footer.jpg
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/allcss/images/background.jpg
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/allcss/images/background.jpg
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/allcss/info.php
===================================================================
--- tags/2.8.2/wb/templates/allcss/info.php	(nonexistent)
+++ tags/2.8.2/wb/templates/allcss/info.php	(revision 1481)
@@ -0,0 +1,45 @@
+<?php
+/**
+ * $Id$
+ * Website Baker template: allcss
+ * This template is one of four basis templates distributed with Website Baker.
+ * Feel free to modify or build up on this template.
+ *
+ * This file defines the template variables required by Website Baker.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Ryan Djurovich, C. Sommer
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    2.70
+ * @platform   Website Baker 2.7
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+// OBLIGATORY WEBSITE BAKER VARIABLES
+$template_directory				= 'allcss';
+$template_name						= 'All CSS';
+$template_function			= 'template';
+$template_version					= '2.70';
+$template_platform				= '2.7';
+$template_author					= 'Ryan Djurovich, C. Sommer';
+$template_license					= '<a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>';
+$template_license_terms		= '-';
+$template_description			= 'Default template for Website Baker. This template is designed with one goal in mind: to completely control layout with CSS. In case you were wondering, that is where the name came from.';
+
+// OPTIONAL VARIABLES FOR ADDITIONAL MENUES AND BLOCKS
+// $menu[1]								= '';
+// $menu[2]								= '';
+// $block[1]							= '';
+// $block[2]							= '';
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/allcss/info.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/allcss/preview.jpg
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/allcss/preview.jpg
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/allcss/template.css
===================================================================
--- tags/2.8.2/wb/templates/allcss/template.css	(nonexistent)
+++ tags/2.8.2/wb/templates/allcss/template.css	(revision 1481)
@@ -0,0 +1,189 @@
+/**
+ * $Id$
+ * Website Baker template: allcss
+ * This template is one of four basis templates distributed with Website Baker.
+ * Feel free to modify or build up on this template.
+ *
+ * This file contains all CSS definitions required to display the template
+ * in the Website Baker frontend. 
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Ryan Djurovich, C. Sommer
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    2.70
+ * @platform   Website Baker 2.7
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+body,td,th {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 12px;
+	color: #000;
+}
+body {
+	background-color: #F0F0F0;
+	background-image: url(images/background.jpg);
+	margin: 0;
+}
+a:link, a:visited, a:active {
+	color: #603;
+	text-decoration: none;
+}
+a:hover {
+	color: #936;
+	text-decoration: none;
+}
+hr {
+	margin: 5px 0px 5px 0px;
+	color: #603;
+	border: 0;
+	border-top: 1px solid #603;
+	height: 1px;
+	width: 580px;
+}
+h1 {
+	font-size: 16px;
+	color: #993366;
+	text-align: left;
+	margin: 8px 2px 8px 2px;
+}
+form {
+	margin: 0;
+}
+.main {
+	width: 750px;
+	margin: auto;
+	padding: 0;
+	background-color: #FFF;
+}
+.banner, .search_box {
+	height: 80px;
+	background-image: url(images/header.jpg);
+	background-repeat: repeat-x;
+	font-size: 20px;
+	font-weight: bold;
+	color: #FFF;
+	text-align: center;
+	padding-top: 20px;
+}
+
+.banner {
+	width: 530px;
+	padding-left: 20px;
+	float: left;
+	text-align: left;
+}
+.search_box {
+	float: right;
+	clear: right;
+	width: 200px;
+}
+.search_string {
+	width: 100px;
+	height: 16px;
+	font-size: 10px;
+	vertical-align: middle;
+}
+.search_submit {
+	width: 50px;
+	height: 22px;
+	font-size: 10px;
+	vertical-align: middle;
+}
+.highlight {
+	background-color: #D0D0D0;
+}
+.banner a {
+	color: #FFF;
+}
+.banner span {
+	color: #D0D0D0;
+}
+
+.menu {
+	float: left;
+	width: 140px;
+	margin: 10px;
+	margin-top: 3px;
+}
+.menu ul, .menu li {
+	margin: 0;
+	padding: 0;
+	list-style: none;
+	margin-bottom: 5px;
+}
+.menu ul ul {
+	padding-left: 8px;
+}
+.menu a:link, .menu a:visited, .menu a:active, .menu a:hover {
+	display: block;
+	padding: 2px;
+}
+.menu_default a:link, .menu_default a:visited, .menu_default a:active {
+	border-bottom: 1px dashed #999;
+}
+.menu_default a:hover {
+	border-bottom: 1px dashed #333;
+}
+
+.menu_current  {
+	border-bottom: 1px dashed #999;
+	font-weight:bold;
+}
+
+.menu fieldset {
+	border: 1px solid #D0D0D0;
+	margin-top: 20px;
+	margin-bottom: 5px;
+	text-align: center;
+	padding-bottom: 3px;
+}
+
+.menu legend {
+	color: #603;
+	font-size: 12px;
+	text-transform: uppercase;
+	font-weight: bold;
+	text-align: center;
+}
+
+.menu input {
+	text-transform: uppercase;
+	font-size: 10px;
+	margin: 5px 0px 1px 0px;
+	width: 100px;
+}
+
+.content {
+	margin-left: 150px;
+	padding: 4px 10px 14px 10px;
+	text-align: justify;
+	clear: right;
+}
+.footer {
+	background-color: #FFF;
+	clear: both;
+	height: 20px;
+	background-image: url(images/footer.jpg);
+	background-repeat: repeat-x;
+	font-size: 10px;
+	color: #666;
+	text-align: center;
+	line-height: 18px;
+}
+.powered_by {
+	text-align: center;
+	font-size: 10px;
+	padding-top: 2px;
+}
\ No newline at end of file
Index: tags/2.8.2/wb/templates/allcss/print.css
===================================================================
--- tags/2.8.2/wb/templates/allcss/print.css	(nonexistent)
+++ tags/2.8.2/wb/templates/allcss/print.css	(revision 1481)
@@ -0,0 +1,71 @@
+body,td,th {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 12px;
+	color: #000000;
+}
+body {
+	background-color: #FFFFFF;
+	margin: 0px;
+}
+a:link, a:visited, a:active {
+	color: #660033;
+	text-decoration: none;
+}
+a:hover {
+	color: #993366;
+	text-decoration: none;
+}
+hr {
+	margin: 15px 0px 15px 0px;
+	color: #660033;
+	height: 1px;
+	width: 100%;
+}
+h1 {
+	font-size: 15px;
+	color: #993366;
+	margin: 5px 0px 5px 0px;
+}
+form {
+	margin: 0;
+}
+.main {
+	width: 100%;
+	margin: 0;
+	padding: 0;
+}
+.banner {
+	font-size: 20px;
+	font-weight: bold;
+	color: #FFFFFF;
+	padding-bottom: 20px;
+	text-align: center;
+}
+.search_box {
+	display: none;
+}
+.menu {
+	display: none;
+}
+.menu ul, .menu li {
+	display: none;
+}
+.login_table {
+	display: none;
+}
+.content {
+	margin: 0;
+	text-align: justify;
+}
+.footer {
+	clear: both;
+	height: 20px;
+	background: #FFFFFF;
+	font-size: 10px;
+	color: #666666;
+	text-align: center;
+	padding-top: 20px;
+}
+.powered_by {
+	display: none;
+}
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/allcss/print.css
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/round/index.php
===================================================================
--- tags/2.8.2/wb/templates/round/index.php	(nonexistent)
+++ tags/2.8.2/wb/templates/round/index.php	(revision 1481)
@@ -0,0 +1,252 @@
+<?php
+/**
+ * $Id$
+ * Website Baker template: round
+ * This template is one of four basis templates distributed with Website Baker.
+ * Feel free to modify or build up on this template.
+ *
+ * This file contains the overall template markup and the Website Baker
+ * template functions to add the contents from the database.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Ryan Djurovich, C. Sommer
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    2.70
+ * @platform   Website Baker 2.7
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+// prevent this file from being accessed directly
+if (!defined('WB_PATH')) die(header('Location: ../../../index.php'));
+
+// TEMPLATE CODE STARTS BELOW
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=<?php 
+	echo defined('DEFAULT_CHARSET') ? DEFAULT_CHARSET : 'utf-8'; ?>" />
+	<meta name="description" content="<?php page_description(); ?>" />
+	<meta name="keywords" content="<?php page_keywords(); ?>" />
+	<?php 
+	// automatically include optional WB module files (frontend.css, frontend.js)
+	if (function_exists('register_frontend_modfiles')) {
+		register_frontend_modfiles('css');
+		register_frontend_modfiles('js');
+	} ?>
+	<link rel="stylesheet" type="text/css" href="<?php 
+		echo TEMPLATE_DIR; ?>/template.css" media="screen,projection" />
+	<link rel="stylesheet" type="text/css" href="<?php 
+		echo TEMPLATE_DIR; ?>/print.css" media="print" />
+	<title><?php page_title('', '[WEBSITE_TITLE]'); ?></title>
+</head>
+
+<body>
+
+<table cellpadding="0" cellspacing="0" border="0" align="center" class="main" width="750">
+<tr>
+	<td colspan="2" class="header" height="80">
+		<a href="<?php echo WB_URL; ?>">
+			<img src="<?php echo TEMPLATE_DIR; ?>/images/banner.jpg" border="0" width="750" height="80" alt="<?php 
+			page_title('', '[WEBSITE_TITLE]'); ?>" />
+		</a>
+	</td>
+</tr>
+<tr>
+	<?php
+	// navigation menu
+	if(SHOW_MENU) {
+	?>	
+	<td style="padding: 10px; background-color: #FFF;" valign="top">
+		<table cellpadding="0" cellspacing="0" border="0" width="150" align="center" class="menu">
+		<tr>
+			<td class="border">
+				<img src="<?php echo TEMPLATE_DIR; ?>/images/menu_top.gif" border="0" alt="" />
+			</td>
+		</tr>
+		<tr>
+			<td width="170">
+				<?php show_menu(); ?>
+			</td>
+		</tr>
+		<tr>
+			<td class="border">
+				<img src="<?php echo TEMPLATE_DIR; ?>/images/menu_bottom.gif" border="0" alt="" />
+			</td>
+		</tr>
+		</table>
+		
+		
+		<!-- frontend search -->
+		<?php if (SHOW_SEARCH) { ?>
+		<form name="search" action="<?php echo WB_URL; ?>/search/index.php" method="get">
+			<input type="hidden" name="referrer" value="<?php
+				echo defined('REFERRER_ID') ? REFERRER_ID : PAGE_ID; ?>" />
+			<table cellpadding="0" cellspacing="0" border="0" width="150" align="center" style="margin-top: 10px;">
+				<tr>
+					<td class="border">
+						<img src="<?php echo TEMPLATE_DIR; ?>/images/menu_top.gif" border="0" alt="" />
+					</td>
+				</tr>
+				<tr>
+					<td class="login">
+						<input type="text" name="string" />
+					</td>
+				</tr>
+				<tr>
+					<td class="login">
+						<input type="submit" name="submit" value="<?php echo $TEXT['SEARCH']; ?>" />
+					</td>
+				</tr>
+				<tr>
+					<td class="border">
+						<img src="<?php echo TEMPLATE_DIR; ?>/images/menu_bottom.gif" border="0" alt="" />
+					</td>
+				</tr>
+			</table>
+		</form>
+		<?php } ?>
+		
+		<?php
+		if(FRONTEND_LOGIN AND !$wb->is_authenticated()) {
+		?>
+		<form name="login" action="<?php echo LOGIN_URL; ?>" method="post">
+			
+			<table cellpadding="0" cellspacing="0" border="0" width="150" align="center" style="margin-top: 10px;">
+			<tr>
+				<td class="border">
+					<img src="<?php echo TEMPLATE_DIR; ?>/images/menu_top.gif" border="0" alt="" />
+				</td>
+			</tr>
+			<tr>
+				<td class="login" style="text-transform: uppercase;">
+					<b><?php echo $TEXT['LOGIN']; ?></b>
+				</td>
+			</tr>
+			<tr>
+				<td class="login" style="text-align: left;">
+					<?php echo $TEXT['USERNAME']; ?>:
+				</td>
+			</tr>
+			<tr>
+				<td class="login">
+					<input type="text" name="username" />
+				</td>
+			</tr>
+			<tr>
+				<td class="login" style="text-align: left;">
+					<?php echo $TEXT['PASSWORD']; ?>:
+				</td>
+			</tr>
+			<tr>
+				<td class="login">
+					<input type="password" name="password" />
+				</td>
+			</tr>
+			<tr>
+				<td class="login">
+					<input type="submit" name="submit" value="<?php 
+						echo $TEXT['LOGIN']; ?>" style="margin-top: 3px; text-transform: uppercase;" />
+				</td>
+			</tr>
+			<tr>
+				<td class="login">
+					<a href="<?php echo FORGOT_URL; ?>"><?php echo $TEXT['FORGOT_DETAILS']; ?></a>
+					<?php if (is_numeric(FRONTEND_SIGNUP)) { ?>
+						<a href="<?php echo SIGNUP_URL; ?>"><?php echo $TEXT['SIGNUP']; ?></a>
+					<?php } ?>
+				</td>
+			</tr>
+			<tr>
+				<td class="border">
+					<img src="<?php echo TEMPLATE_DIR; ?>/images/menu_bottom.gif" border="0" alt="" />
+				</td>
+			</tr>
+			</table>
+		
+		</form>
+		<?php
+		} elseif (FRONTEND_LOGIN AND $wb->is_authenticated()) {
+		?>
+		<form name="logout" action="<?php echo LOGOUT_URL; ?>" method="post">
+			
+			<table cellpadding="0" cellspacing="0" border="0" width="150" align="center" style="margin-top: 10px;">
+			<tr>
+				<td class="border">
+					<img src="<?php echo TEMPLATE_DIR; ?>/images/menu_top.gif" border="0" alt="" />
+				</td>
+			</tr>
+			<tr>
+				<td class="login" style="text-transform: uppercase;">
+					<b><?php echo $TEXT['LOGGED_IN']; ?></b>
+				</td>
+			</tr>
+			<tr>
+				<td class="login" style="padding-top: 15px; padding-bottom: 15px;">
+					<?php echo $TEXT['WELCOME_BACK']; ?>, <?php echo $wb->get_display_name(); ?>
+				</td>
+			</tr>
+			<tr>
+				<td class="login">
+					<input type="submit" name="submit" value="<?php 
+						echo $MENU['LOGOUT']; ?>" style="margin-top: 3px; text-transform: uppercase;" />
+				</td>
+			</tr>
+			<tr>
+				<td class="login">
+					<a href="<?php echo PREFERENCES_URL; ?>"><?php echo $MENU['PREFERENCES']; ?></a>
+				</td>
+			</tr>
+			<tr>
+				<td class="border">
+					<img src="<?php echo TEMPLATE_DIR; ?>/images/menu_bottom.gif" border="0" alt="" />
+				</td>
+			</tr>
+			</table>
+		
+		</form>
+		<?php
+		}
+		?>
+	</td>
+	<?php } ?>
+	<td class="content" width="600" rowspan="2">
+		<?php page_content(); ?>
+	</td>
+</tr>
+<tr>
+	<td height="20" width="155" valign="bottom" class="powered_by">
+		<a href="http://www.websitebaker.org/" target="_blank">
+			<img src="<?php echo TEMPLATE_DIR; ?>/images/powered.jpg" border="0" alt="Powered By Website Baker" />
+		</a>
+	</td>
+</tr>
+<tr>
+	<td colspan="2" class="border">
+		<img src="<?php echo TEMPLATE_DIR; ?>/images/footer.png" border="0" alt="" />
+	</td>
+</tr>
+<tr>
+	<td colspan="2" class="footer">
+		<?php page_footer(); ?>
+	</td>
+</tr>
+</table>
+<?php 
+// automatically include optional WB module file frontend_body.js)
+if (function_exists('register_frontend_modfiles_body')) { register_frontend_modfiles_body(); } 
+?>
+</body>
+</html>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/round/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/round/images/index.php
===================================================================
--- tags/2.8.2/wb/templates/round/images/index.php	(nonexistent)
+++ tags/2.8.2/wb/templates/round/images/index.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+/**
+ * $Id$
+ * Website Baker template: round
+ * This template is one of four basis templates distributed with Website Baker.
+ * Feel free to modify or build up on this template.
+ *
+ * This file prevents directory listing.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Ryan Djurovich, C. Sommer
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    2.70
+ * @platform   Website Baker 2.7
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+// prevent directory listing
+header('Location: ../../../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/round/images/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/round/images/footer.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/round/images/footer.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/round/images/banner.jpg
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/round/images/banner.jpg
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/round/images/powered.jpg
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/round/images/powered.jpg
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/round/images/menu_top.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/round/images/menu_top.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/round/images/menu_bottom.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/round/images/menu_bottom.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/round/images/background.jpg
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/round/images/background.jpg
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/round/info.php
===================================================================
--- tags/2.8.2/wb/templates/round/info.php	(nonexistent)
+++ tags/2.8.2/wb/templates/round/info.php	(revision 1481)
@@ -0,0 +1,46 @@
+<?php
+/**
+ * $Id$
+ * Website Baker template: round
+ * This template is one of four basis templates distributed with Website Baker.
+ * Feel free to modify or build up on this template.
+ *
+ * This file defines the template variables required by Website Baker.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Ryan Djurovich, C. Sommer
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    2.70
+ * @platform   Website Baker 2.7
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+// OBLIGATORY WEBSITE BAKER VARIABLES
+$template_directory				= 'round';
+$template_name						= 'Round';
+$template_function			= 'template';
+$template_version					= '2.70';
+$template_platform				= '2.7';
+$template_author					= 'Ryan Djurovich, C. Sommer';
+$template_license					= '<a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>';
+$template_license_terms		= '-';
+$template_description			= 'Default template for Website Baker. Simular to the box template, but with rounded edges.';
+
+// OPTIONAL VARIABLES FOR ADDITIONAL MENUES AND BLOCKS
+// $menu[1]								= '';
+// $menu[2]								= '';
+// $block[1]							= '';
+// $block[2]							= '';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/round/info.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/round/preview.jpg
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/round/preview.jpg
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/round/template.css
===================================================================
--- tags/2.8.2/wb/templates/round/template.css	(nonexistent)
+++ tags/2.8.2/wb/templates/round/template.css	(revision 1481)
@@ -0,0 +1,148 @@
+/**
+ * $Id$
+ * Website Baker template: allcss
+ * This template is one of four basis templates distributed with Website Baker.
+ * Feel free to modify or build up on this template.
+ *
+ * This file contains all CSS definitions required to display the template
+ * in the Website Baker frontend. 
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Ryan Djurovich, C. Sommer
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    2.70
+ * @platform   Website Baker 2.7
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+body,td,th {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 12px;
+	color: #000;
+}
+body {
+	background-color: #036;
+	background-image: url(images/background.jpg);
+	background-repeat: repeat-x;
+	margin: 10px;
+}
+a:link, a:visited, a:active {
+	color: #036;
+	text-decoration: none;
+}
+a:hover {
+	color: #369;
+	text-decoration: none;
+}
+hr {
+	margin: 15px 0px 15px 0px;
+	color: #036;
+	height: 1px;
+	width: 100%;
+}
+h1 {
+	font-size: 18px;
+	color: #036;
+	margin: 5px 0px 5px 0px;
+}
+h2 {
+	font-size: 15px;
+	color: #369;
+	margin: 15px 0px 5px 0px;
+}
+form {
+	margin: 0;
+}
+.header {
+	width: 750px;
+	height: 80px;
+	background-color: #FFF;
+	vertical-align: top;
+}
+.menu {
+	vertical-align: top;
+	background-color: #FFF;
+	width: 170px;
+	padding: 0px;
+}
+.menu ul, .menu li{
+	list-style-type: none;
+	margin: 0;
+	padding: 0;
+}
+.menu ul {
+	border-bottom: 0px;
+	background-color: #036;
+}
+.menu ul ul {
+	padding-left: 10px;
+}
+.menu a:link, .menu a:visited, .menu a:active {
+	padding: 4px 10px 4px 10px;
+	color: #FFF;
+	display: block;
+	background-color: #036;
+	text-decoration: none;
+}
+.menu a:hover {
+	background-color: #369;
+	text-decoration: none;
+}
+.menu_current {
+	font-weight: bold;
+}
+.highlight {
+	background-color: #D0D0D0;
+}
+.border {
+	font-size: 1px;
+	height: 10px;
+}
+.login {
+	padding: 2px 10px 2px 10px;
+	font-size: 10px;
+	background-color: #036;
+	color: #FFF;
+	text-align: center;
+}
+.login input {
+	width: 95%;
+	font-size: 10px;
+}
+.login a:link, .login a:visited, .login a:active {
+	color: #DDD;
+	text-decoration: none;
+}
+.login a:hover {
+	color: #FFF;
+	text-decoration: none;
+}
+.powered_by {
+	padding: 3px 0px 0px 15px;
+	background-color: #FFF;
+}
+.content {
+	padding: 10px;
+	background-color: #FFF;
+	height: 300px;
+	vertical-align: top;
+	text-align: left;
+}
+.footer {
+	padding: 5px;
+	height: 20px;
+	color: #FFF;
+	vertical-align: middle;
+	text-align: center;
+}
\ No newline at end of file
Index: tags/2.8.2/wb/templates/round/print.css
===================================================================
--- tags/2.8.2/wb/templates/round/print.css	(nonexistent)
+++ tags/2.8.2/wb/templates/round/print.css	(revision 1481)
@@ -0,0 +1,50 @@
+/**
+ * $Id$
+ * Website Baker template: round
+ * This template is one of four basis templates distributed with Website Baker.
+ * Feel free to modify or build up on this template.
+ *
+ * This file defines the CSS styles used for print devices.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Ryan Djurovich, C. Sommer
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    2.70
+ * @platform   Website Baker 2.7
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+body,td,th {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 12px;
+	color: #000;
+}
+body {
+	background-color: #FFF;
+	margin: 0px;
+}
+a:link, a:visited, a:active {
+	color: #036;
+	text-decoration: none;
+}
+a:hover {
+	color: #369;
+	text-decoration: none;
+}
+.header, .menu, .search, .powered_by, .footer {
+	display: none;
+}
+.content {
+	vertical-align: top;
+}
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/round/print.css
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/simple/index.php
===================================================================
--- tags/2.8.2/wb/templates/simple/index.php	(nonexistent)
+++ tags/2.8.2/wb/templates/simple/index.php	(revision 1481)
@@ -0,0 +1,108 @@
+<?php
+/**
+ * $Id$
+ * Website Baker template: simple
+ * This template is one of four basis templates distributed with Website Baker.
+ * Feel free to modify or build up on this template.
+ *
+ * This file contains the overall template markup and the Website Baker
+ * template functions to add the contents from the database.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Ryan Djurovich, C. Sommer
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    2.70
+ * @platform   Website Baker 2.7
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+// prevent this file from being accessed directly
+if (!defined('WB_PATH')) die(header('Location: ../../index.php'));
+
+// TEMPLATE CODE STARTS BELOW
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=<?php 
+	echo defined('DEFAULT_CHARSET') ? DEFAULT_CHARSET : 'utf-8'; ?>" />
+	<meta name="description" content="<?php page_description(); ?>" />
+	<meta name="keywords" content="<?php page_keywords(); ?>" />
+	<?php 
+	// automatically include optional WB module files (frontend.css, frontend.js)
+	if (function_exists('register_frontend_modfiles')) {
+		register_frontend_modfiles('css');
+		register_frontend_modfiles('js');
+	} ?>
+	<link rel="stylesheet" type="text/css" href="<?php 
+		echo TEMPLATE_DIR; ?>/template.css" media="screen,projection" />
+	<link rel="stylesheet" type="text/css" href="<?php 
+		echo TEMPLATE_DIR; ?>/print.css" media="print" />
+	<title><?php page_title('', '[WEBSITE_TITLE]'); ?></title>
+</head>
+
+<body>
+
+<table cellpadding="5" cellspacing="0" border="0" width="750" align="center">
+<tr>
+	<td colspan="2" class="header">
+		<?php page_title('','[WEBSITE_TITLE]'); ?>
+	</td>
+</tr>
+<tr>
+	<td colspan="2" class="footer">
+		&nbsp;
+	</td>
+</tr>
+<tr>
+	<td class="menu">
+		<?php 
+		if (SHOW_MENU) { 
+			// navigation menu
+			echo $TEXT['MENU'] . ':';
+			show_menu();
+		} ?>
+		
+		<?php 
+		if (SHOW_SEARCH) { /* Only show search box if search is enabled */ ?>
+			<br />
+			<?php echo $TEXT['SEARCH']; ?>: <br />
+			<form name="search" action="<?php echo WB_URL; ?>/search/index.php" method="get">
+				<input type="hidden" name="referrer" value="<?php
+					echo defined('REFERRER_ID') ? REFERRER_ID : PAGE_ID; ?>" />
+				<input type="text" name="string" style="width: 100%;" />
+				<input type="submit" name="submit" value="<?php echo $TEXT['SEARCH']; ?>" style="width: 100%;" />
+			</form>
+		<?php } ?>
+		
+		<br />
+		<a href="http://www.websitebaker.org" target="_blank">Powered by <br /> Website Baker</a>
+	</td>
+	<td class="content">
+		<?php page_content(); ?>
+	</td>
+</tr>
+<tr>
+	<td colspan="2" class="footer">
+		<?php page_footer(); ?>
+	</td>
+</tr>
+</table>
+<?php 
+// automatically include optional WB module file frontend_body.js)
+if (function_exists('register_frontend_modfiles_body')) { register_frontend_modfiles_body(); } 
+?>
+</body>
+</html>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/simple/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/simple/info.php
===================================================================
--- tags/2.8.2/wb/templates/simple/info.php	(nonexistent)
+++ tags/2.8.2/wb/templates/simple/info.php	(revision 1481)
@@ -0,0 +1,46 @@
+<?php
+/**
+ * $Id$
+ * Website Baker template: simple
+ * This template is one of four basis templates distributed with Website Baker.
+ * Feel free to modify or build up on this template.
+ *
+ * This file defines the template variables required by Website Baker.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Ryan Djurovich, C. Sommer
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    2.70
+ * @platform   Website Baker 2.7
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+// OBLIGATORY WEBSITE BAKER VARIABLES
+$template_directory				= 'simple';
+$template_name						= 'Simple';
+$template_function			= 'template';
+$template_version					= '2.70';
+$template_platform				= '2.7';
+$template_author					= 'Ryan Djurovich, C. Sommer';
+$template_license					= '<a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>';
+$template_license_terms		= '-';
+$template_description			= 'Default template for Website Baker. This template is designed for developers to learn how to make templates easily. Please note this template only supports 2 page levels.';
+
+// OPTIONAL VARIABLES FOR ADDITIONAL MENUES AND BLOCKS
+// $menu[1]								= '';
+// $menu[2]								= '';
+// $block[1]							= '';
+// $block[2]							= '';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/simple/info.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/simple/preview.jpg
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/simple/preview.jpg
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/simple/template.css
===================================================================
--- tags/2.8.2/wb/templates/simple/template.css	(nonexistent)
+++ tags/2.8.2/wb/templates/simple/template.css	(revision 1481)
@@ -0,0 +1,91 @@
+/**
+ * $Id$
+ * Website Baker template: simple
+ * This template is one of four basis templates distributed with Website Baker.
+ * Feel free to modify or build up on this template.
+ *
+ * This file contains all CSS definitions required to display the template
+ * in the Website Baker frontend. 
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Ryan Djurovich, C. Sommer
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    2.70
+ * @platform   Website Baker 2.7
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+body,td,th {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 12px;
+	color: #000000;
+}
+body {
+	background-color: #333333;
+	margin: 10px;
+}
+a:link, a:visited, a:active {
+	color: #003366;
+	text-decoration: none;
+}
+a:hover {
+	color: #336699;
+	text-decoration: none;
+}
+form {
+	margin: 0;
+}
+h1, h2, h3, h4, h5 {
+	margin: 5px 0px 5px 0px;
+}
+.header {
+	background-color: #336699;
+	vertical-align: middle;
+	text-align: center;
+	color: #FFFFFF;
+	height: 50px;
+	font-size: 20px;
+	font-weight: bold;
+}
+.menu {
+	background-color: #EEEEEE;
+	padding: 10px;
+	width: 150px;
+	vertical-align: top;
+}
+.menu ul, .menu li {
+	list-style-type: none;
+	display: block;
+	margin: 0;
+	padding: 0;
+	padding-left: 5px;
+}
+.menu_current {
+	font-weight: bold;
+}
+.highlight {
+	background-color: #D0D0D0;
+}
+.content {
+	background-color: #FFFFFF;
+	padding: 20px;
+	height: 400px;
+	vertical-align: top;
+}
+.footer {
+	background-color: #DDDDDD;
+	text-align: center;
+	font-size: 10px;
+	height: 10px;
+}
\ No newline at end of file
Index: tags/2.8.2/wb/templates/simple/print.css
===================================================================
--- tags/2.8.2/wb/templates/simple/print.css	(nonexistent)
+++ tags/2.8.2/wb/templates/simple/print.css	(revision 1481)
@@ -0,0 +1,56 @@
+/**
+ * $Id$
+ * Website Baker template: simple
+ * This template is one of four basis templates distributed with Website Baker.
+ * Feel free to modify or build up on this template.
+ *
+ * This file defines the CSS styles used for print devices.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Ryan Djurovich, C. Sommer
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    2.70
+ * @platform   Website Baker 2.7
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+body,td,th {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 12px;
+	color: #000000;
+}
+body {
+	background-color: #FFFFFF;
+	margin: 0px;
+}
+a:link, a:visited, a:active {
+	color: #003366;
+	text-decoration: none;
+}
+a:hover {
+	color: #336699;
+	text-decoration: none;
+}
+.header {
+	display: none;
+}
+.menu {
+	display: none;
+}
+.content {
+	vertical-align: top;
+}
+.footer {
+	display: none;
+}
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/simple/print.css
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/blank/info.php
===================================================================
--- tags/2.8.2/wb/templates/blank/info.php	(nonexistent)
+++ tags/2.8.2/wb/templates/blank/info.php	(revision 1481)
@@ -0,0 +1,47 @@
+<?php
+/**
+ * $Id$
+ * Website Baker template: blank
+ * This template is one of four basis templates distributed with Website Baker.
+ * Use this template for pages where you do not want anything wrapping the 
+ * content e.g. a page for a global block.
+ *
+ * This file defines the template variables required by Website Baker.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Ryan Djurovich, C. Sommer
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    2.70
+ * @platform   Website Baker 2.7
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+// OBLIGATORY WEBSITE BAKER VARIABLES
+$template_directory				= 'blank';
+$template_name						= 'Blank Template';
+$template_function			= 'template';
+$template_version					= '2.70';
+$template_platform				= '2.7';
+$template_author					= 'Ryan Djurovich, C. Sommer';
+$template_license					= '<a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>';
+$template_license_terms		= '-';
+$template_description			= 'This template is for use on page where you do not want anything wrapping the content.';
+
+// OPTIONAL VARIABLES FOR ADDITIONAL MENUES AND BLOCKS
+// $menu[1]								= '';
+// $menu[2]								= '';
+// $block[1]							= '';
+// $block[2]							= '';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/blank/info.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/blank/preview.jpg
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/templates/blank/preview.jpg
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/templates/blank/index.php
===================================================================
--- tags/2.8.2/wb/templates/blank/index.php	(nonexistent)
+++ tags/2.8.2/wb/templates/blank/index.php	(revision 1481)
@@ -0,0 +1,38 @@
+<?php
+/**
+ * $Id$
+ * Website Baker template: blank
+ * This template is one of four basis templates distributed with Website Baker.
+ * Use this template for pages where you do not want anything wrapping the 
+ * content e.g. a page for a global block.
+ *
+ * This file contains the Website Baker template function to output the content.
+ *
+ * LICENSE: GNU General Public License
+ * 
+ * @author     Ryan Djurovich, C. Sommer
+ * @copyright  GNU General Public License
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @version    2.70
+ * @platform   Website Baker 2.7
+ *
+ * Website Baker is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Website Baker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+*/
+
+// prevent this file from being accessed directly
+if (!defined('WB_PATH')) die(header('Location: ../../index.php'));
+
+// TEMPLATE CODE STARTS BELOW
+
+// output only the page content, nothing else
+page_content();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/blank/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/templates/index.php
===================================================================
--- tags/2.8.2/wb/templates/index.php	(nonexistent)
+++ tags/2.8.2/wb/templates/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/templates/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/search/search.php
===================================================================
--- tags/2.8.2/wb/search/search.php	(nonexistent)
+++ tags/2.8.2/wb/search/search.php	(revision 1481)
@@ -0,0 +1,706 @@
+<?php
+/**
+ *
+ * @category        frontend
+ * @package         search
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+if(!defined('WB_URL')) {
+	header('Location: index.php');
+	exit(0);
+}
+
+// Check if search is enabled
+if(SHOW_SEARCH != true) {
+	echo $TEXT['SEARCH'].' '.$TEXT['DISABLED'];
+	return;
+}
+
+// Include the WB functions file
+require_once(WB_PATH.'/framework/functions.php');
+
+// Get search settings
+$table=TABLE_PREFIX.'search';
+$query = $database->query("SELECT value FROM $table WHERE name = 'header' LIMIT 1");
+$fetch_header = $query->fetchRow();
+$query = $database->query("SELECT value FROM $table WHERE name = 'footer' LIMIT 1");
+$fetch_footer = $query->fetchRow();
+$query = $database->query("SELECT value FROM $table WHERE name = 'results_header' LIMIT 1");
+$fetch_results_header = $query->fetchRow();
+$query = $database->query("SELECT value FROM $table WHERE name = 'results_footer' LIMIT 1");
+$fetch_results_footer = $query->fetchRow();
+$query = $database->query("SELECT value FROM $table WHERE name = 'results_loop' LIMIT 1");
+$fetch_results_loop = $query->fetchRow();
+$query = $database->query("SELECT value FROM $table WHERE name = 'no_results' LIMIT 1");
+$fetch_no_results = $query->fetchRow();
+$query = $database->query("SELECT value FROM $table WHERE name = 'module_order' LIMIT 1");
+if($query->numRows() > 0) { $res = $query->fetchRow(); } else { $res['value']='faqbaker,manual,wysiwyg'; }
+$search_module_order = $res['value'];
+$query = $database->query("SELECT value FROM $table WHERE name = 'max_excerpt' LIMIT 1");
+if($query->numRows() > 0) { $res = $query->fetchRow(); } else { $res['value'] = '15'; }
+$search_max_excerpt = (int)($res['value']);
+if(!is_numeric($search_max_excerpt)) { $search_max_excerpt = 15; }
+$query = $database->query("SELECT value FROM $table WHERE name = 'cfg_show_description' LIMIT 1");
+if($query->numRows() > 0) { $res = $query->fetchRow(); } else { $res['value'] = 'true'; }
+if($res['value'] == 'false') { $cfg_show_description = false; } else { $cfg_show_description = true; }
+$query = $database->query("SELECT value FROM $table WHERE name = 'cfg_search_description' LIMIT 1");
+if($query->numRows() > 0) { $res = $query->fetchRow(); } else { $res['value'] = 'true'; }
+if($res['value'] == 'false') { $cfg_search_description = false; } else { $cfg_search_description = true; }
+$query = $database->query("SELECT value FROM $table WHERE name = 'cfg_search_keywords' LIMIT 1");
+if($query->numRows() > 0) { $res = $query->fetchRow(); } else { $res['value'] = 'true'; }
+if($res['value'] == 'false') { $cfg_search_keywords = false; } else { $cfg_search_keywords = true; }
+$query = $database->query("SELECT value FROM $table WHERE name = 'cfg_enable_old_search' LIMIT 1");
+if($query->numRows() > 0) { $res = $query->fetchRow(); } else { $res['value'] = 'true'; }
+if($res['value'] == 'false') { $cfg_enable_old_search = false; } else { $cfg_enable_old_search = true; }
+$query = $database->query("SELECT value FROM $table WHERE name = 'cfg_enable_flush' LIMIT 1");
+if($query->numRows() > 0) { $res = $query->fetchRow(); } else { $res['value'] = 'false'; }
+if($res['value'] == 'false') { $cfg_enable_flush = false; } else { $cfg_enable_flush = true; }
+$query = $database->query("SELECT value FROM $table WHERE name = 'time_limit' LIMIT 1"); // time-limit per module
+if($query->numRows() > 0) { $res = $query->fetchRow(); } else { $res['value'] = '0'; }
+$search_time_limit = (int)($res['value']);
+if($search_time_limit < 1) $search_time_limit = 0;
+
+// search-module-extension: get helper-functions
+require_once(WB_PATH.'/search/search_modext.php');
+// search-module-extension: Get "search.php" for each module, if present
+// looks in modules/module/ and modules/module_searchext/
+$search_funcs = array();$search_funcs['__before'] = array();$search_funcs['__after'] = array();
+$query = $database->query("SELECT DISTINCT directory FROM ".TABLE_PREFIX."addons WHERE type = 'module' AND directory NOT LIKE '%_searchext'");
+if($query->numRows() > 0) {
+	while($module = $query->fetchRow()) {
+		$file = WB_PATH.'/modules/'.$module['directory'].'/search.php';
+		if(!file_exists($file)) {
+			$file = WB_PATH.'/modules/'.$module['directory'].'_searchext/search.php';
+			if(!file_exists($file)) {
+				$file='';
+			}
+		}
+		if($file!='') {
+			include_once($file);
+			if(function_exists($module['directory']."_search")) {
+				$search_funcs[$module['directory']] = $module['directory']."_search";
+			}
+			if(function_exists($module['directory']."_search_before")) {
+				$search_funcs['__before'][] = $module['directory']."_search_before";
+			}
+			if(function_exists($module['directory']."_search_after")) {
+				$search_funcs['__after'][] = $module['directory']."_search_after";
+			}
+		}
+	}
+}
+
+// Get list of usernames and display names
+$query = $database->query("SELECT user_id,username,display_name FROM ".TABLE_PREFIX."users");
+$users = array('0' => array('display_name' => $TEXT['UNKNOWN'], 'username' => strtolower($TEXT['UNKNOWN'])));
+if($query->numRows() > 0) {
+	while($user = $query->fetchRow()) {
+		$users[$user['user_id']] = array('display_name' => $user['display_name'], 'username' => $user['username']);
+	}
+}
+
+// Get search language, used for special umlaut handling (DE: ÃŸ=ss, ...)
+$search_lang = '';
+if(isset($_REQUEST['search_lang'])) {
+	$search_lang = $_REQUEST['search_lang'];
+	if(!preg_match('~^[A-Z]{2}$~', $search_lang))
+		$search_lang = LANGUAGE;
+} else {
+	$search_lang = LANGUAGE;
+}
+
+// Get the path to search into. Normally left blank
+// ATTN: since wb2.7.1 the path is evaluated as SQL: LIKE "/path%" - which will find "/path.php", "/path/info.php", ...; But not "/de/path.php"
+// Add a '%' in front of each path to get SQL: LIKE "%/path%"
+/* possible values:
+ * - a single path: "/en/" - search only pages whose link contains 'path' ("/en/machinery/bender-x09")
+ * - a single path not to search into: "-/help" - search all, exclude /help...
+ * - a bunch of alternative pathes: "/en/,%/machinery/,/docs/" - alternatives paths, seperated by comma
+ * - a bunch of paths to exclude: "-/about,%/info,/jp/,/light" - search all, exclude these.
+ * These different styles can't be mixed.
+ */
+// ATTN: in wb2.7.0 "/en/" matched all links with "/en/" somewhere in the link: "/info/en/intro.php", "/en/info.php", ...
+// since wb2.7.1 "/en/" matches only links _starting_  with "/en/": "/en/intro/info.php"
+// use "%/en/" (or "%/en/, %/info", ...) to get the old behavior
+$search_path_SQL = '';
+$search_path = '';
+if(isset($_REQUEST['search_path'])) {
+	$search_path = addslashes(htmlspecialchars(strip_tags($wb->strip_slashes($_REQUEST['search_path'])), ENT_QUOTES));
+	if(!preg_match('~^%?[-a-zA-Z0-9_,/ ]+$~', $search_path))
+		$search_path = '';
+	if($search_path != '') {
+		$search_path_SQL = 'AND ( ';
+		$not = '';
+		$op = 'OR';
+		if($search_path[0] == '-') {
+			$not = 'NOT';
+			$op = 'AND';
+			$paths = explode(',', substr($search_path, 1) );
+		} else {
+			$paths = explode(',',$search_path);
+		}
+		$i=0;
+		foreach($paths as $p) {
+			if($i++ > 0) {
+				$search_path_SQL .= ' $op';
+			}
+			$search_path_SQL .= " link $not LIKE '".$p."%'";			
+		}
+		$search_path_SQL .= ' )';
+	}
+}
+
+// use page_languages?
+if(PAGE_LANGUAGES) {
+	$table = TABLE_PREFIX."pages";
+	$search_language_SQL_t = "AND $table.`language` = '".LANGUAGE."'";
+	$search_language_SQL = "AND `language` = '".LANGUAGE."'";
+} else {
+	$search_language_SQL_t = '';
+	$search_language_SQL = '';
+}
+
+// Get the search type
+$match = '';
+if(isset($_REQUEST['match'])) {
+	if($_REQUEST['match']=='any') $match = 'any';
+	elseif($_REQUEST['match']=='all') $match = 'all';
+	elseif($_REQUEST['match']=='exact') $match = 'exact';
+	else $match = 'all';
+} else {
+	$match = 'all';
+}
+
+// Get search string
+$search_normal_string = '';
+$search_entities_string = ''; // for SQL's LIKE
+$search_display_string = ''; // for displaying
+$search_url_string = ''; // for $_GET -- ATTN: unquoted! Will become urldecoded later
+$string = '';
+if(isset($_REQUEST['string']))
+{
+	if($match!='exact') // $string will be cleaned below 
+    {
+		$string=str_replace(',', '', $_REQUEST['string']);
+	} else {
+		$string=$_REQUEST['string'];
+	}
+    // redo possible magic quotes
+    $string = $wb->strip_slashes($string);
+    $string = preg_replace('/[ \r\n\t]+/', ' ', $string);
+    $string = trim($string);
+	// remove some bad chars
+	$string = str_replace ( array('[[',']]'),'', $string);
+	$string = preg_replace('/(^|\s+)[|.]+(?=\s+|$)/', '', $string);
+	$search_display_string = htmlspecialchars($string);
+	$search_entities_string = addslashes(umlauts_to_entities(htmlspecialchars($string)));
+	// mySQL needs four backslashes to match one in LIKE comparisons)
+	$search_entities_string = str_replace('\\\\', '\\\\\\\\', $search_entities_string);
+	// convert string to utf-8
+	$string = entities_to_umlauts($string, 'UTF-8');
+	$search_url_string = $string;
+	$string = preg_quote($string);
+	// quote ' " and /  -we need quoted / for regex
+	$search_normal_string = str_replace(array('\'','"','/'), array('\\\'','\"','\/'), $string);
+}
+// make arrays from the search_..._strings above
+if($match == 'exact')
+	$search_url_array[] = $search_url_string;
+else
+	$search_url_array = explode(' ', $search_url_string);
+$search_normal_array = array();
+$search_entities_array = array();
+if($match == 'exact') {
+	$search_normal_array[]=$search_normal_string;
+	$search_entities_array[]=$search_entities_string;
+} else {
+	$exploded_string = explode(' ', $search_normal_string);
+	// Make sure there is no blank values in the array
+	foreach($exploded_string AS $each_exploded_string) {
+		if($each_exploded_string != '') {
+			$search_normal_array[] = $each_exploded_string;
+		}
+	}
+	$exploded_string = explode(' ', $search_entities_string);
+	// Make sure there is no blank values in the array
+	foreach($exploded_string AS $each_exploded_string) {
+		if($each_exploded_string != '') {
+			$search_entities_array[] = $each_exploded_string;
+		}
+	}
+}
+// make an extra copy of search_normal_array for use in regex
+require(WB_PATH.'/search/search_convert.php');
+$search_words = array();
+foreach($search_normal_array AS $str) {
+	$str = str_replace($string_ul_umlaut, $string_ul_regex, $str);
+	$search_words[] = $str;
+}
+
+// Work-out what to do (match all words, any words, or do exact match), and do relevant with query settings
+$all_checked = '';
+$any_checked = '';
+$exact_checked = '';
+if ($match == 'any') {
+	$any_checked = ' checked="checked"';
+	$logical_operator = ' OR';
+} elseif($match == 'all') {
+	$all_checked = ' checked="checked"';
+	$logical_operator = ' AND';
+} else {
+	$exact_checked = ' checked="checked"';
+}
+
+// Replace vars in search settings with values
+$vars = array('[SEARCH_STRING]', '[WB_URL]', '[PAGE_EXTENSION]', '[TEXT_RESULTS_FOR]');
+$values = array($search_display_string, WB_URL, PAGE_EXTENSION, $TEXT['RESULTS_FOR']);
+$search_footer = str_replace($vars, $values, ($fetch_footer['value']));
+$search_results_header = str_replace($vars, $values, ($fetch_results_header['value']));
+$search_results_footer = str_replace($vars, $values, ($fetch_results_footer['value']));
+
+// Do extra vars/values replacement
+$vars = array('[SEARCH_STRING]', '[WB_URL]', '[PAGE_EXTENSION]', '[TEXT_SEARCH]', '[TEXT_ALL_WORDS]', '[TEXT_ANY_WORDS]', '[TEXT_EXACT_MATCH]', '[TEXT_MATCH]', '[TEXT_MATCHING]', '[ALL_CHECKED]', '[ANY_CHECKED]', '[EXACT_CHECKED]', '[REFERRER_ID]', '[SEARCH_PATH]');
+$values = array($search_display_string, WB_URL, PAGE_EXTENSION, $TEXT['SEARCH'], $TEXT['ALL_WORDS'], $TEXT['ANY_WORDS'], $TEXT['EXACT_MATCH'], $TEXT['MATCH'], $TEXT['MATCHING'], $all_checked, $any_checked, $exact_checked, REFERRER_ID, $search_path);
+$search_header = str_replace($vars, $values, ($fetch_header['value']));
+$vars = array('[TEXT_NO_RESULTS]');
+$values = array($TEXT['NO_RESULTS']);
+$search_no_results = str_replace($vars, $values, ($fetch_no_results['value']));
+
+/*
+ * Start of output
+ */
+
+// Show search header
+echo $search_header;
+// Show search results_header
+echo $search_results_header;
+
+// Work-out if the user has already entered their details or not
+if($search_normal_string != '') {
+
+	// Get modules
+	$table = TABLE_PREFIX."sections";
+	$get_modules = $database->query("SELECT DISTINCT module FROM $table WHERE module != '' ");
+	$modules = array();
+	if($get_modules->numRows() > 0) {
+		while($module = $get_modules->fetchRow()) {
+			$modules[] = $module['module'];
+		}
+	}
+	// sort module search-order
+	// get the modules from $search_module_order first ...
+	$sorted_modules = array();
+	$m = count($modules);
+	$search_modules = explode(',', $search_module_order);
+	foreach($search_modules AS $item) {
+		$item = trim($item);
+		for($i=0; $i < $m; $i++) {
+			if(isset($modules[$i]) && $modules[$i] == $item) {
+				$sorted_modules[] = $modules[$i];
+				unset($modules[$i]);
+				break;
+			}
+		}
+	}
+	// ... then add the rest
+	foreach($modules AS $item) {
+		$sorted_modules[] = $item;
+	}
+
+
+	// Use the module's search-extensions.
+	// This is somewhat slower than the orginial method.
+	
+	// call $search_funcs['__before'] first
+	$search_func_vars = array(
+		'database' => $database, // database-handle
+		'page_id' => 0,
+		'section_id' => 0,
+		'page_title' => '',
+		'page_menu_title' => '',
+		'page_description' => '',
+		'page_keywords' => '',
+		'page_link' => '',
+		'page_modified_when' => 0,
+		'page_modified_by' => 0,
+		'users' => $users, // array of known user-id/user-name
+		'search_words' => $search_words, // array of strings, prepared for regex
+		'search_match' => $match, // match-type
+		'search_url_array' => $search_url_array, // array of strings from the original search-string. ATTN: strings are not quoted!
+		'results_loop_string' => $fetch_results_loop['value'],
+		'default_max_excerpt' => $search_max_excerpt,
+		'time_limit' => $search_time_limit, // time-limit in secs
+		'search_path' => $search_path // see docu
+	);
+	foreach($search_funcs['__before'] as $func) {
+		$uf_res = call_user_func($func, $search_func_vars);
+	}
+	// now call module-based $search_funcs[]
+	$seen_pages = array(); // seen pages per module.
+	$pages_listed = array(); // seen pages.
+	if($search_max_excerpt!=0) { // skip this search if $search_max_excerpt==0
+		foreach($sorted_modules AS $module_name) {
+			$start_time = time();	// get start-time to check time-limit; not very accurate, but ok
+			$seen_pages[$module_name] = array();
+			if(!isset($search_funcs[$module_name])) {
+				continue; // there is no search_func for this module
+			}
+			// get each section for $module_name
+			$table_s = TABLE_PREFIX."sections";	
+			$table_p = TABLE_PREFIX."pages";
+			$sections_query = $database->query("
+				SELECT s.section_id, s.page_id, s.module, s.publ_start, s.publ_end,
+							 p.page_title, p.menu_title, p.link, p.description, p.keywords, p.modified_when, p.modified_by,
+							 p.visibility, p.viewing_groups, p.viewing_users
+				FROM $table_s AS s INNER JOIN $table_p AS p ON s.page_id = p.page_id
+				WHERE s.module = '$module_name' AND p.visibility NOT IN ('none','deleted') AND p.searching = '1' $search_path_SQL $search_language_SQL
+				ORDER BY s.page_id, s.position ASC
+			");
+			if($sections_query->numRows() > 0) {
+				while($res = $sections_query->fetchRow()) {
+					// check if time-limit is exceeded for this module
+					if($search_time_limit > 0 && (time()-$start_time > $search_time_limit)) {
+						break;
+					}
+					// Only show this section if it is not "out of publication-date"
+					$now = time();
+					if( !( $now<$res['publ_end'] && ($now>$res['publ_start'] || $res['publ_start']==0) ||
+						$now>$res['publ_start'] && $res['publ_end']==0) ) {
+						continue;
+					}
+					$search_func_vars = array(
+						'database' => $database,
+						'page_id' => $res['page_id'],
+						'section_id' => $res['section_id'],
+						'page_title' => $res['page_title'],
+						'page_menu_title' => $res['menu_title'],
+						'page_description' => ($cfg_show_description?$res['description']:""),
+						'page_keywords' => $res['keywords'],
+						'page_link' => $res['link'],
+						'page_modified_when' => $res['modified_when'],
+						'page_modified_by' => $res['modified_by'],
+						'users' => $users,
+						'search_words' => $search_words, // needed for preg_match
+						'search_match' => $match,
+						'search_url_array' => $search_url_array, // needed for url-string only
+						'results_loop_string' => $fetch_results_loop['value'],
+						'default_max_excerpt' => $search_max_excerpt,
+						'enable_flush' => $cfg_enable_flush,
+						'time_limit' => $search_time_limit // time-limit in secs
+					);
+					// Only show this page if we are allowed to see it
+					if($admin->page_is_visible($res) == false) {
+						if($res['visibility'] == 'registered') { // don't show excerpt
+							$search_func_vars['default_max_excerpt'] = 0;
+							$search_func_vars['page_description'] = $TEXT['REGISTERED'];
+						} else { // private
+							continue;
+						}
+					}
+					$uf_res = call_user_func($search_funcs[$module_name], $search_func_vars);
+					if($uf_res) {
+						$pages_listed[$res['page_id']] = true;
+						$seen_pages[$module_name][$res['page_id']] = true;
+					} else {
+						$seen_pages[$module_name][$res['page_id']] = true;
+					}
+				}
+			}
+		}
+	}
+	// now call $search_funcs['__after']
+	$search_func_vars = array(
+		'database' => $database, // database-handle
+		'page_id' => 0,
+		'section_id' => 0,
+		'page_title' => '',
+		'page_menu_title' => '',
+		'page_description' => '',
+		'page_keywords' => '',
+		'page_link' => '',
+		'page_modified_when' => 0,
+		'page_modified_by' => 0,
+		'users' => $users, // array of known user-id/user-name
+		'search_words' => $search_words, // array of strings, prepared for regex
+		'search_match' => $match, // match-type
+		'search_url_array' => $search_url_array, // array of strings from the original search-string. ATTN: strings are not quoted!
+		'results_loop_string' => $fetch_results_loop['value'],
+		'default_max_excerpt' => $search_max_excerpt,
+		'time_limit' => $search_time_limit, // time-limit in secs
+		'search_path' => $search_path // see docu
+	);
+	foreach($search_funcs['__after'] as $func) {
+		$uf_res = call_user_func($func, $search_func_vars);
+	}
+
+
+	// Search page details only, such as description, keywords, etc, but only of unseen pages.
+	$max_excerpt_num = 0; // we don't want excerpt here
+	$divider = ".";
+	$table = TABLE_PREFIX."pages";
+	$query_pages = $database->query("
+		SELECT page_id, page_title, menu_title, link, description, keywords, modified_when, modified_by,
+		       visibility, viewing_groups, viewing_users
+		FROM $table
+		WHERE visibility NOT IN ('none','deleted') AND searching = '1' $search_path_SQL $search_language_SQL
+	");
+	if($query_pages->numRows() > 0) {
+		while($page = $query_pages->fetchRow()) {
+			if (isset($pages_listed[$page['page_id']])) {
+				continue;
+			}
+			$func_vars = array(
+				'database' => $database,
+				'page_id' => $page['page_id'],
+				'page_title' => $page['page_title'],
+				'page_menu_title' => $page['menu_title'],
+				'page_description' => ($cfg_show_description?$page['description']:""),
+				'page_keywords' => $page['keywords'],
+				'page_link' => $page['link'],
+				'page_modified_when' => $page['modified_when'],
+				'page_modified_by' => $page['modified_by'],
+				'users' => $users,
+				'search_words' => $search_words, // needed for preg_match_all
+				'search_match' => $match,
+				'search_url_array' => $search_url_array, // needed for url-string only
+				'results_loop_string' => $fetch_results_loop['value'],
+				'default_max_excerpt' => $max_excerpt_num,
+				'enable_flush' => $cfg_enable_flush
+			);
+			// Only show this page if we are allowed to see it
+			if($admin->page_is_visible($page) == false) {
+				if($page['visibility'] != 'registered') {
+					continue;
+				} else { // page: registered, user: access denied
+					$func_vars['page_description'] = $TEXT['REGISTERED'];
+				}
+			}
+			if($admin->page_is_active($page) == false) {
+				continue;
+			}
+			$text = $func_vars['page_title'].$divider
+				.$func_vars['page_menu_title'].$divider
+				.($cfg_search_description?$func_vars['page_description']:"").$divider
+				.($cfg_search_keywords?$func_vars['page_keywords']:"").$divider;
+			$mod_vars = array(
+				'page_link' => $func_vars['page_link'],
+				'page_link_target' => "",
+				'page_title' => $func_vars['page_title'],
+				'page_description' => $func_vars['page_description'],
+				'page_modified_when' => $func_vars['page_modified_when'],
+				'page_modified_by' => $func_vars['page_modified_by'],
+				'text' => $text,
+				'max_excerpt_num' => $func_vars['default_max_excerpt']
+			);
+			if(print_excerpt2($mod_vars, $func_vars)) {
+				$pages_listed[$page['page_id']] = true;
+			}
+		}
+	}
+
+	// Now use the old method for pages not displayed by the new method above
+	// in case someone has old modules without search.php.
+
+	// Get modules
+	$table_search = TABLE_PREFIX."search";
+	$table_sections = TABLE_PREFIX."sections";
+	$get_modules = $database->query("
+		SELECT DISTINCT s.value, s.extra
+		FROM $table_search AS s INNER JOIN $table_sections AS sec
+			ON s.value = sec.module
+		WHERE s.name = 'module'
+	");
+	$modules = array();
+	if($get_modules->numRows() > 0) {
+		while($module = $get_modules->fetchRow()) {
+			$modules[] = $module; // $modules in an array of arrays
+		}
+	}
+	// sort module search-order
+	// get the modules from $search_module_order first ...
+	$sorted_modules = array();
+	$m = count($modules);
+	$search_modules = explode(',', $search_module_order);
+	foreach($search_modules AS $item) {
+		$item = trim($item);
+		for($i=0; $i < $m; $i++) {
+			if(isset($modules[$i]) && $modules[$i]['value'] == $item) {
+				$sorted_modules[] = $modules[$i];
+				unset($modules[$i]);
+				break;
+			}
+		}
+	}
+	// ... then add the rest
+	foreach($modules AS $item) {
+		$sorted_modules[] = $item;
+	}
+
+	if($cfg_enable_old_search) { // this is the old (wb <= 2.6.7) search-function
+		$search_path_SQL = str_replace(' link ', ' '.TABLE_PREFIX.'pages.link ', $search_path_SQL);
+		foreach($sorted_modules AS $module) {
+			if(isset($seen_pages[$module['value']]) && count($seen_pages[$module['value']])>0) // skip modules handled by new search-func
+				continue;
+			$query_start = '';
+			$query_body = '';
+			$query_end = '';
+			$prepared_query = '';
+			// Get module name
+			$module_name = $module['value'];
+			if(!isset($seen_pages[$module_name])) {
+				$seen_pages[$module_name]=array();
+			}
+			// skip module 'code' - it doesn't make sense to search in a code section
+			if($module_name=="code")
+				continue;
+			// Get fields to use for title, link, etc.
+			$fields = unserialize($module['extra']);
+			// Get query start
+			$get_query_start = $database->query("SELECT value FROM ".TABLE_PREFIX."search WHERE name = 'query_start' AND extra = '$module_name' LIMIT 1");
+			if($get_query_start->numRows() > 0) {
+				// Fetch query start
+				$fetch_query_start = $get_query_start->fetchRow();
+				// Prepare query start for execution by replacing {TP} with the TABLE_PREFIX
+				$query_start = str_replace('[TP]', TABLE_PREFIX, ($fetch_query_start['value']));
+			}
+			// Get query end
+			$get_query_end = $database->query("SELECT value FROM ".TABLE_PREFIX."search WHERE name = 'query_end' AND extra = '$module_name' LIMIT 1");
+			if($get_query_end->numRows() > 0) {
+				// Fetch query end
+				$fetch_query_end = $get_query_end->fetchRow();
+				// Set query end
+				$query_end = ($fetch_query_end['value']);
+			}
+			// Get query body
+			$get_query_body = $database->query("SELECT value FROM ".TABLE_PREFIX."search WHERE name = 'query_body' AND extra = '$module_name' LIMIT 1");
+			if($get_query_body->numRows() > 0) {
+				// Fetch query body
+				$fetch_query_body = $get_query_body->fetchRow();
+				// Prepare query body for execution by replacing {STRING} with the correct one
+				$query_body = str_replace(array('[TP]','[O]','[W]'), array(TABLE_PREFIX,'LIKE','%'), ($fetch_query_body['value']));
+				// Loop through query body for each string, then combine with start and end
+				$prepared_query = $query_start." ( ( ( ";
+				$count = 0;
+				foreach($search_normal_array AS $string) {
+					if($count != 0) {
+						$prepared_query .= " ) ".$logical_operator." ( ";
+					}
+					$prepared_query .= str_replace('[STRING]', $string, $query_body);
+					$count = $count+1;
+				}
+				$count=0;
+				$prepared_query .= ' ) ) OR ( ( ';
+				foreach($search_entities_array AS $string) {
+					if($count != 0) {
+						$prepared_query .= " ) ".$logical_operator." ( ";
+					}
+					$prepared_query .= str_replace('[STRING]', $string, $query_body);
+					$count = $count+1;
+				}
+				$prepared_query .= " ) ) ) ".$query_end;
+				// Execute query
+				$page_query = $database->query($prepared_query." ".$search_path_SQL." ".$search_language_SQL_t);
+				if(!$page_query) continue; // on error, skip the rest of the current loop iteration
+				// Loop through queried items
+				if($page_query->numRows() > 0) {
+					while($page = $page_query->fetchRow()) {
+						// Only show this page if it hasn't already been listed
+						if(isset($seen_pages[$module_name][$page['page_id']]) || isset($pages_listed[$page['page_id']])) {
+							continue;
+						}
+						
+						// don't list pages with visibility == none|deleted and check if user is allowed to see the page
+						$p_table = TABLE_PREFIX."pages";
+						$viewquery = $database->query("
+							SELECT visibility, viewing_groups, viewing_users
+							FROM $p_table
+							WHERE page_id='{$page['page_id']}'
+						");
+						$visibility = 'none'; $viewing_groups="" ; $viewing_users="";
+						if($viewquery->numRows() > 0) {
+							if($res = $viewquery->fetchRow()) {
+								$visibility = $res['visibility'];
+								$viewing_groups = $res['viewing_groups'];
+								$viewing_users = $res['viewing_users'];
+								if($visibility == 'deleted' || $visibility == 'none') {
+									continue;
+								}
+								if($visibility == 'private') {
+									if($admin->page_is_visible(array(
+										'page_id'=>$page[$fields['page_id']],
+										'visibility' =>$visibility,
+										'viewing_groups'=>$viewing_groups,
+										'viewing_users'=>$viewing_users
+									)) == false) {
+										continue;
+									}
+								}
+								if($admin->page_is_active(array('page_id'=>$page[$fields['page_id']]))==false) {
+									continue;
+								}
+							}
+						}
+	
+						// Get page link
+						$link = page_link($page['link']);
+						// Add search string for highlighting
+						if ($match!='exact') {
+							$sstring = implode(" ", $search_normal_array);
+							$link = $link."?searchresult=1&amp;sstring=".urlencode($sstring);
+						} else {
+							$sstring = str_replace(" ", "_",$search_normal_array[0]);
+							$link = $link."?searchresult=2&amp;sstring=".urlencode($sstring);
+						}
+						// Set vars to be replaced by values
+						if(!isset($page['description'])) { $page['description'] = ""; }
+						if(!isset($page['modified_when'])) { $page['modified_when'] = 0; }
+						if(!isset($page['modified_by'])) { $page['modified_by'] = 0; }
+						$vars = array('[LINK]', '[TITLE]', '[DESCRIPTION]', '[USERNAME]','[DISPLAY_NAME]','[DATE]','[TIME]','[TEXT_LAST_UPDATED_BY]','[TEXT_ON]','[EXCERPT]');
+						if($page['modified_when'] > 0) {
+							$date = gmdate(DATE_FORMAT, $page['modified_when']+TIMEZONE);
+							$time = gmdate(TIME_FORMAT, $page['modified_when']+TIMEZONE);
+						} else {
+							$date = $TEXT['UNKNOWN'].' '.$TEXT['DATE'];
+							$time = $TEXT['UNKNOWN'].' '.$TEXT['TIME'];
+						}
+						$excerpt="";
+						if($cfg_show_description == 0) {
+							$page['description'] = "";
+						}
+						$values = array($link, $page['page_title'], $page['description'], $users[$page['modified_by']]['username'], $users[$page['modified_by']]['display_name'], $date, $time, $TEXT['LAST_UPDATED_BY'], strtolower($TEXT['ON']), $excerpt);
+						// Show loop code with vars replaced by values
+						echo str_replace($vars, $values, ($fetch_results_loop['value']));
+						// Say that this page has been listed
+						$seen_pages[$module_name][$page['page_id']] = true;
+						$pages_listed[$page['page_id']] = true;
+					}
+				}
+			}
+		}
+	}
+
+	// Say no items found if we should
+	if(count($pages_listed) == 0) {
+		echo $search_no_results;
+	}
+} else {
+	echo $search_no_results;
+}
+
+// Show search results_footer
+echo $search_results_footer;
+// Show search footer
+echo $search_footer;
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/search/search.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/search/search_convert.php
===================================================================
--- tags/2.8.2/wb/search/search_convert.php	(nonexistent)
+++ tags/2.8.2/wb/search/search_convert.php	(revision 1481)
@@ -0,0 +1,86 @@
+<?php
+/**
+ *
+ * @category        frontend
+ * @package         search
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+if(!defined('WB_URL')) {
+	header('Location: ../index.php');
+	exit(0);
+}
+if(!isset($search_lang)) $search_lang = LANGUAGE;
+
+// umlaut to '(upper|lower)' for preg_match()
+// this is UTF-8-encoded
+// there is no need for a translation-table anymore since we use u-switch (utf-8) for preg-functions
+// remember that we use the i-switch, too. [No need for (ae|Ae)]
+
+$string_ul_umlaut = array();
+$string_ul_regex = array();
+
+// but add some national stuff
+if($search_lang=='DE') { // add special handling for german umlauts (Ã¤==ae, ...)
+	$string_ul_umlaut_add = array(
+		"\xc3\x9f", // german SZ-Ligatur
+		"\xc3\xa4", // german ae
+		"\xc3\xb6", // german oe
+		"\xc3\xbc", // german ue
+		"\xc3\x84", // german Ae
+		"\xc3\x96", // german Oe
+		"\xc3\x9c", // german Ue
+		// these are not that usual
+		"\xEF\xAC\x84", // german ffl-ligatur
+		"ffl",          // german ffl-ligatur
+		"\xEF\xAC\x83", // german ffi-ligatur
+		"ffi",          // german ffi-ligatur
+		"0xEF\xAC\x80", // german ff-Ligatur
+		"ff",           // german ff-Ligatur
+		"\xEF\xAC\x81", // german fi-ligatur
+		"fi",           // german fi-ligatur
+		"\xEF\xAC\x82", // german fl-ligatur
+		"fl",           // german fl-ligatur
+		"\xEF\xAC\x85", // german st-Ligatur (long s)
+		"st",           // german st-Ligatur
+		"\xEF\xAC\x86"  // german st-ligatur (round-s)
+	);
+	$string_ul_regex_add = array(
+		"(\xc3\x9f|ss)", // german SZ.Ligatur
+		"(\xc3\xa4|ae)", // german ae
+		"(\xc3\xb6|oe)", // german oe
+		"(\xc3\xbc|ue)", // german ue
+		"(\xc3\x84|Ae)", // german Ae
+		"(\xc3\x96|Oe)", // german Oe
+		"(\xc3\x9c|Ue)", // german Ue
+		// these are not that usual
+		"(\xEF\xAC\x84|ffl)", // german ffl-ligatur
+		"(\xEF\xAC\x84|ffl)", // german ffl-ligatur
+		"(\xEF\xAC\x83|ffi)", // german ffi-ligatur
+		"(\xEF\xAC\x83|ffi)", // german ffi-ligatur
+		"(\xEF\xAC\x80|ff)",  // german ff-Ligatur
+		"(\xEF\xAC\x80|ff)",  // german ff-Ligatur
+		"(\xEF\xAC\x81|fi)",  // german fi-Ligatur
+		"(\xEF\xAC\x81|fi)",  // german fi-Ligatur
+		"(\xEF\xAC\x82|fl)",  // german fl-ligatur
+		"(\xEF\xAC\x82|fl)",  // german fl-ligatur
+		"(\xEF\xAC\x85|st)",  // german st-Ligatur (long s)
+		"(\xEF\xAC\x85|st|\xEF\xAC\x86)",  // german st-Ligaturs
+		"(\xEF\xAC\x86|st)"  // german st-ligatur (round-s)
+	);
+	$string_ul_umlaut = array_merge($string_ul_umlaut_add, $string_ul_umlaut);
+	$string_ul_regex = array_merge($string_ul_regex_add, $string_ul_regex);
+}
+
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/search/search_convert.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/search/search_modext.php
===================================================================
--- tags/2.8.2/wb/search/search_modext.php	(nonexistent)
+++ tags/2.8.2/wb/search/search_modext.php	(revision 1481)
@@ -0,0 +1,402 @@
+<?php
+/**
+ *
+ * @category        frontend
+ * @package         search
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// make the url-string for highlighting
+function make_url_searchstring($search_match, $search_url_array) {
+	$link = "";
+	if ($search_match != 'exact') {
+		$str = implode(" ", $search_url_array);
+		$link = "?searchresult=1&amp;sstring=".urlencode($str);
+	} else {
+		$str = str_replace(' ', '_', $search_url_array[0]);
+		$link = "?searchresult=2&amp;sstring=".urlencode($str);
+	}
+	return $link;
+}
+
+// make date and time for "last modified by... on ..."-string
+function get_page_modified($page_modified_when) {
+	global $TEXT;
+	if($page_modified_when > 0) {
+		$date = gmdate(DATE_FORMAT, $page_modified_when+TIMEZONE);
+		$time = gmdate(TIME_FORMAT, $page_modified_when+TIMEZONE);
+	} else {
+		$date = $TEXT['UNKNOWN'].' '.$TEXT['DATE'];
+		$time = $TEXT['UNKNOWN'].' '.$TEXT['TIME'];
+	}
+	return array($date, $time);
+}
+
+// make username and displayname for "last modified by... on ..."-string
+function get_page_modified_by($page_modified_by, $users) {
+	global $TEXT;
+	// check for existing user-id
+	if(!isset($users[$page_modified_by]))
+		$page_modified_by = 0;
+	
+	$username = $users[$page_modified_by]['username'];
+	$displayname = $users[$page_modified_by]['display_name'];
+	return array($username, $displayname);
+}
+
+// checks if _all_ searchwords matches
+function is_all_matched($text, $search_words) {
+	$all_matched = true;
+	foreach ($search_words AS $word) {
+		if(!preg_match('/'.$word.'/ui', $text)) {
+			$all_matched = false;
+			break;
+		}
+	}
+	return $all_matched;
+}
+
+// checks if _any_ of the searchwords matches
+function is_any_matched($text, $search_words) {
+	$any_matched = false;
+	$word = '('.implode('|', $search_words).')';
+	if(preg_match('/'.$word.'/ui', $text)) {
+		$any_matched = true;
+	}
+	return $any_matched;
+}
+
+// collects the matches from text in excerpt_array
+function get_excerpts($text, $search_words, $max_excerpt_num) {
+	$match_array = array();
+	$excerpt_array = array();
+	$word = '('.implode('|', $search_words).')';
+
+	//Filter droplets from the page data
+	preg_match_all('~\[\[(.*?)\]\]~', $text, $matches);
+	foreach ($matches[1] as $match) {
+		$text = str_replace('[['.$match.']]', '', $text);					
+	}
+
+	// Build the regex-string
+	if(strpos(strtoupper(PHP_OS), 'WIN')===0) { // windows -> see below
+		$str1=".!?;";
+		$str2=".!?;";
+	} else { // linux & Co.
+		// start-sign: .!?; + INVERTED EXCLAMATION MARK - INVERTED QUESTION MARK - DOUBLE EXCLAMATION MARK - INTERROBANG - EXCLAMATION QUESTION MARK - QUESTION EXCLAMATION MARK - DOUBLE QUESTION MARK - HALFWIDTH IDEOGRAPHIC FULL STOP - IDEOGRAPHIC FULL STOP - IDEOGRAPHIC COMMA
+		$str1=".!?;"."\xC2\xA1"."\xC2\xBF"."\xE2\x80\xBC"."\xE2\x80\xBD"."\xE2\x81\x89"."\xE2\x81\x88"."\xE2\x81\x87"."\xEF\xBD\xA1"."\xE3\x80\x82"."\xE3\x80\x81";
+		// stop-sign: .!?; + DOUBLE EXCLAMATION MARK - INTERROBANG - EXCLAMATION QUESTION MARK - QUESTION EXCLAMATION MARK - DOUBLE QUESTION MARK - HALFWIDTH IDEOGRAPHIC FULL STOP - IDEOGRAPHIC FULL STOP - IDEOGRAPHIC COMMA
+		$str2=".!?;"."\xE2\x80\xBC"."\xE2\x80\xBD"."\xE2\x81\x89"."\xE2\x81\x88"."\xE2\x81\x87"."\xEF\xBD\xA1"."\xE3\x80\x82"."\xE3\x80\x81";
+	}
+	$regex='/(?:^|\b|['.$str1.'])([^'.$str1.']{0,200}?'.$word.'[^'.$str2.']{0,200}(?:['.$str2.']|\b|$))/uis';
+	if(version_compare(PHP_VERSION, '4.3.3', '>=') &&
+	   strpos(strtoupper(PHP_OS), 'WIN')!==0
+	) { // this may crash windows server, so skip if on windows
+		// jump from match to match, get excerpt, stop if $max_excerpt_num is reached
+		$last_end = 0; $offset = 0;
+		while(preg_match('/'.$word.'/uis', $text, $match_array, PREG_OFFSET_CAPTURE, $last_end)) {
+			$offset = ($match_array[0][1]-206 < $last_end)?$last_end:$match_array[0][1]-206;
+			if(preg_match($regex, $text, $matches, PREG_OFFSET_CAPTURE, $offset)) {
+				$last_end = $matches[1][1]+strlen($matches[1][0])-1;
+				if(!preg_match('/\b[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\./', $matches[1][0])) // skip excerpts with email-addresses
+					$excerpt_array[] = trim($matches[1][0]);
+				if(count($excerpt_array)>=$max_excerpt_num) {
+					$excerpt_array = array_unique($excerpt_array);
+					if(count($excerpt_array) >= $max_excerpt_num)
+						break;
+				}
+			} else { // problem: preg_match failed - can't find a start- or stop-sign
+				$last_end += 201; // jump forward and try again
+			}
+		}
+	} else { // compatible, but may be very slow with large pages
+		if(preg_match_all($regex, $text, $match_array)) {
+			foreach($match_array[1] AS $string) {
+				if(!preg_match('/\b[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\./', $string))  // skip excerpts with email-addresses
+					$excerpt_array[] = trim($string);
+				
+			}
+		}
+	}
+	return $excerpt_array;
+}
+
+// makes excerpt_array a string ready to print out
+function prepare_excerpts($excerpt_array, $search_words, $max_excerpt_num) {
+	// excerpts: text before and after a single excerpt, html-tag for markup
+	$EXCERPT_BEFORE =       '...&nbsp;';
+	$EXCERPT_AFTER =        '&nbsp;...<br />';
+	$EXCERPT_MARKUP_START = '<b>';
+	$EXCERPT_MARKUP_END =   '</b>';
+	// remove duplicate matches from $excerpt_array, if any.
+	$excerpt_array = array_unique($excerpt_array);
+	// use the first $max_excerpt_num excerpts only
+	if(count($excerpt_array) > $max_excerpt_num) {
+		$excerpt_array = array_slice($excerpt_array, 0, $max_excerpt_num);
+	}
+	// prepare search-string
+	$string = "(".implode("|", $search_words).")";
+	// we want markup on search-results page,
+	// but we need some 'magic' to prevent <br />, <b>... from being highlighted
+	$excerpt = '';
+	foreach($excerpt_array as $str) {
+		$excerpt .= '#,,#'.preg_replace("/($string)/iu","#,,,,#$1#,,,,,#",$str).'#,,,#';
+	}
+	$excerpt = str_replace(array('&','<','>','"','\'',"\xC2\xA0"), array('&amp;','&lt;','&gt;','&quot;','&#039;','&nbsp;'), $excerpt);
+	$excerpt = str_replace(array('#,,,,#','#,,,,,#'), array($EXCERPT_MARKUP_START,$EXCERPT_MARKUP_END), $excerpt);
+	$excerpt = str_replace(array('#,,#','#,,,#'), array($EXCERPT_BEFORE,$EXCERPT_AFTER), $excerpt);
+	// prepare to write out
+	if(DEFAULT_CHARSET != 'utf-8') {
+		$excerpt = umlauts_to_entities($excerpt, 'UTF-8');
+	}
+	return $excerpt;
+}
+
+// work out what the link-anchor should be
+function make_url_target($page_link_target, $text, $search_words) {
+	// 1. e.g. $page_link_target=="&monthno=5&year=2007" - module-dependent target. Do nothing.
+	// 2. $page_link_target=="#!wb_section_..." - the user wants the section-target, so do nothing.
+	// 3. $page_link_target=="#wb_section_..." - try to find a better target, use the section-target as fallback.
+	// 4. $page_link_target=="" - do nothing
+	if(version_compare(PHP_VERSION, '4.3.3', ">=") && substr($page_link_target,0,12)=='#wb_section_') {
+		$word = '('.implode('|', $search_words).')';
+		preg_match('/'.$word.'/ui', $text, $match, PREG_OFFSET_CAPTURE);
+		if($match && is_array($match[0])) {
+			$x=$match[0][1]; // position of first match
+			// is there an anchor nearby?
+			if(preg_match_all('/<(?:[^>]+id|\s*a[^>]+name)\s*=\s*"(.*)"/iU', substr($text,0,$x), $match, PREG_OFFSET_CAPTURE)) {
+				$anchor='';
+				foreach($match[1] AS $array) {
+					if($array[1] > $x) {
+						break;
+					}
+					$anchor = $array[0];
+				}
+				if($anchor != '') {
+					$page_link_target = '#'.$anchor;
+				}
+			}
+		}
+	}
+	elseif(substr($page_link_target,0,13)=='#!wb_section_') {
+		$page_link_target = '#'.substr($page_link_target, 2);
+	}
+	
+	// since wb 2.7.1 the section-anchor is configurable - SEC_ANCHOR holds the anchor name
+	if(substr($page_link_target,0,12)=='#wb_section_') {
+		if(defined('SEC_ANCHOR') && SEC_ANCHOR!='') {
+			$sec_id = substr($page_link_target, 12);
+			$page_link_target = '#'.SEC_ANCHOR.$sec_id;
+		} else { // section-anchors are disabled
+			$page_link_target = '';
+		}
+	}
+	
+	return $page_link_target;
+}
+
+// wrapper for compatibility with old print_excerpt()
+function print_excerpt($page_link, $page_link_target, $page_title, $page_description, $page_modified_when, $page_modified_by, $text, $max_excerpt_num, $func_vars, $pic_link="") {
+	$mod_vars = array(
+		'page_link' => $page_link,
+		'page_link_target' => $page_link_target,
+		'page_title' => $page_title,
+		'page_description' => $page_description,
+		'page_modified_when' => $page_modified_when,
+		'page_modified_by' => $page_modified_by,
+		'text' => $text,
+		'max_excerpt_num' => $max_excerpt_num,
+		'pic_link' => $pic_link
+	);
+	print_excerpt2($mod_vars, $func_vars);
+}
+
+/* These functions can be used in module-supplied search_funcs
+ * -----------------------------------------------------------
+ * print_excerpt2() - the main-function to use in all search_funcs
+ * print_excerpt() - wrapper for compatibility-reason. Use print_excerpt2() instead.
+ * list_files_dirs() - lists all files and dirs below a given directory
+ * clear_filelist() - keeps only wanted or removes unwanted entries in file-list.
+ */
+ 
+// prints the excerpts for one section
+function print_excerpt2($mod_vars, $func_vars) {
+	extract($func_vars, EXTR_PREFIX_ALL, 'func');
+	extract($mod_vars, EXTR_PREFIX_ALL, 'mod');
+	global $TEXT;
+	// check $mod_...vars
+	if(!isset($mod_page_link))          $mod_page_link = $func_page_link;
+	if(!isset($mod_page_link_target))   $mod_page_link_target = "";
+	if(!isset($mod_page_title))         $mod_page_title = $func_page_title;
+	if(!isset($mod_page_description))   $mod_page_description = $func_page_description;
+	if(!isset($mod_page_modified_when)) $mod_page_modified_when = $func_page_modified_when;
+	if(!isset($mod_page_modified_by))   $mod_page_modified_by = $func_page_modified_by;
+	if(!isset($mod_text))               $mod_text = "";
+	if(!isset($mod_max_excerpt_num))    $mod_max_excerpt_num = $func_default_max_excerpt;
+	if(!isset($mod_pic_link))           $mod_pic_link = "";
+	if(!isset($mod_no_highlight))       $mod_no_highlight = false;
+	if(!isset($func_enable_flush))      $func_enable_flush = false; // set this in db: wb_search.cfg_enable_flush [READ THE DOC BEFORE]
+	if(isset($mod_ext_charset)) $mod_ext_charset = strtolower($mod_ext_charset);
+	else $mod_ext_charset = '';
+
+	if($mod_text == "") // nothing to do
+		{ return false; }
+
+	if($mod_no_highlight) // no highlighting
+		{ $mod_page_link_target = "&amp;nohighlight=1".$mod_page_link_target; }
+	// clean the text:
+	$mod_text = preg_replace('#<(!--.*--|style.*</style|script.*</script)>#iU', ' ', $mod_text);
+	$mod_text = preg_replace('#<(br( /)?|dt|/dd|/?(h[1-6]|tr|table|p|li|ul|pre|code|div|hr))[^>]*>#i', '.', $mod_text);
+	$mod_text = preg_replace('/(\v\s?|\s\s)+/', ' ', $mod_text);
+	$mod_text = preg_replace('/\s\./', '.', $mod_text);
+	if($mod_ext_charset!='') { // data from external database may have a different charset
+		require_once(WB_PATH.'/framework/functions-utf8.php');
+		switch($mod_ext_charset) {
+		case 'latin1':
+		case 'cp1252':
+			$mod_text = charset_to_utf8($mod_text, 'CP1252');
+			break;
+		case 'cp1251':
+			$mod_text = charset_to_utf8($mod_text, 'CP1251');
+			break;
+		case 'latin2':
+			$mod_text = charset_to_utf8($mod_text, 'ISO-8859-2');
+			break;
+		case 'hebrew':
+			$mod_text = charset_to_utf8($mod_text, 'ISO-8859-8');
+			break;
+		case 'greek':
+			$mod_text = charset_to_utf8($mod_text, 'ISO-8859-7');
+			break;
+		case 'latin5':
+			$mod_text = charset_to_utf8($mod_text, 'ISO-8859-9');
+			break;
+		case 'latin7':
+			$mod_text = charset_to_utf8($mod_text, 'ISO-8859-13');
+			break;
+		case 'utf8':
+		default:
+			$mod_text = charset_to_utf8($mod_text, 'UTF-8');
+		}
+	} else {
+	$mod_text = entities_to_umlauts($mod_text, 'UTF-8');
+	}
+	$anchor_text = $mod_text; // make an copy containing html-tags
+	$mod_text = strip_tags($mod_text);
+	$mod_text = str_replace(array('&gt;','&lt;','&amp;','&quot;','&#039;','&apos;','&nbsp;'), array('>','<','&','"','\'','\'',"\xC2\xA0"), $mod_text);
+	$mod_text = '.'.trim($mod_text).'.';
+	// Do a fast scan over $mod_text first. This will speedup things a lot.
+	if($func_search_match == 'all') {
+		if(!is_all_matched($mod_text, $func_search_words))
+			return false;
+	}
+	elseif(!is_any_matched($mod_text, $func_search_words)) {
+		return false;
+	}
+	// search for an better anchor - this have to be done before strip_tags() (may fail if search-string contains <, &, amp, gt, lt, ...)
+	$anchor =  make_url_target($mod_page_link_target, $anchor_text, $func_search_words);
+
+	// make the link from $mod_page_link, add anchor
+	$link = "";
+	$link = page_link($mod_page_link);
+	if(strpos($mod_page_link, 'http:')===FALSE)
+		$link .= make_url_searchstring($func_search_match, $func_search_url_array);
+	$link .= $anchor;
+
+	// now get the excerpt
+	$excerpt = "";
+	$excerpt_array = array();
+	if($mod_max_excerpt_num > 0) {
+		if(!$excerpt_array = get_excerpts($mod_text, $func_search_words, $mod_max_excerpt_num)) {
+			return false;
+		}
+		$excerpt = prepare_excerpts($excerpt_array, $func_search_words, $mod_max_excerpt_num);
+	}
+
+	// handle thumbs - to deactivate this look in the module's search.php: $show_thumb (or maybe in the module's settings-page)
+	if($mod_pic_link != "") {
+		$excerpt = '<table class="excerpt_thumb" width="100%" cellspacing="0" cellpadding="0" border="0"><tbody><tr><td width="110" valign="top"><a href="'.$link.'"><img src="'.WB_URL.'/'.MEDIA_DIRECTORY.$mod_pic_link.'" alt="" /></a></td><td>'.$excerpt.'</td></tr></tbody></table>';
+	}
+
+	// print-out the excerpt
+	$vars = array();
+	$values = array();
+	list($date, $time) = get_page_modified($mod_page_modified_when);
+	list($username, $displayname) = get_page_modified_by($mod_page_modified_by, $func_users);
+	$vars = array('[LINK]', '[TITLE]', '[DESCRIPTION]', '[USERNAME]','[DISPLAY_NAME]','[DATE]','[TIME]','[TEXT_LAST_UPDATED_BY]','[TEXT_ON]','[EXCERPT]');
+	$values = array(
+		$link,
+		$mod_page_title,
+		$mod_page_description,
+		$username,
+		$displayname,
+		$date,
+		$time,
+		$TEXT['LAST_UPDATED_BY'],
+		$TEXT['ON'],
+		$excerpt
+	);
+	echo str_replace($vars, $values, $func_results_loop_string);
+	if($func_enable_flush) { // ATTN: this will bypass output-filters and may break template-layout or -filters
+		ob_flush();flush();
+	}
+	return true;
+}
+
+// list all files and dirs in $dir (recursive), omits '.', '..', and hidden files/dirs
+// returns an array of two arrays ($files[] and $dirs[]).
+// usage: list($files,$dirs) = list_files_dirs($directory);
+//        $depth: get subdirs (true/false)
+function list_files_dirs($dir, $depth=true, $files=array(), $dirs=array()) {
+	$dh=opendir($dir);
+	while(($file = readdir($dh)) !== false) {
+		if($file{0} == '.' || $file == '..') {
+			continue;
+		}
+		if(is_dir($dir.'/'.$file)) {
+			if($depth) {
+				$dirs[] = $dir.'/'.$file;
+				list($files, $dirs) = list_files_dirs($dir.'/'.$file, $depth, $files, $dirs);
+			}
+		} else {
+			$files[] = $dir.'/'.$file;
+		}
+	}
+	closedir($dh);
+	natcasesort($files);
+	natcasesort($dirs);
+	return(array($files, $dirs));
+}
+
+// keeps only wanted entries in array $files. $str have to be an eregi()-compatible regex
+function clear_filelist($files, $str, $keep=true) {
+	// options: $keep = true  : remove all non-matching entries
+	//          $keep = false : remove all matching entries
+	$c_filelist = array();
+	if($str == '')
+		return $files;
+	foreach($files as $file) {
+		if($keep) {
+			if(eregi($str, $file)) {
+				$c_filelist[] = $file;
+			}
+		} else {
+			if(!eregi($str, $file)) {
+				$c_filelist[] = $file;
+			}
+		}
+	}
+	return($c_filelist);
+}
+
+?>

Property changes on: tags/2.8.2/wb/search/search_modext.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/search/index.php
===================================================================
--- tags/2.8.2/wb/search/index.php	(nonexistent)
+++ tags/2.8.2/wb/search/index.php	(revision 1481)
@@ -0,0 +1,56 @@
+<?php
+/**
+ *
+ * @category        frontend
+ * @package         search
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// Include the config file
+require('../config.php');
+
+// Required page details
+$page_id = 0;
+$page_description = '';
+$page_keywords = '';
+define('PAGE_ID', 0);
+define('ROOT_PARENT', 0);
+define('PARENT', 0);
+define('LEVEL', 0);
+define('PAGE_TITLE', $TEXT['SEARCH']);
+define('MENU_TITLE', $TEXT['SEARCH']);
+define('MODULE', '');
+define('VISIBILITY', 'public');
+define('PAGE_CONTENT', 'search.php');
+
+// Find out what the search template is
+$database = new database();
+$query_template = $database->query("SELECT value FROM ".TABLE_PREFIX."search WHERE name = 'template' LIMIT 1");
+$fetch_template = $query_template->fetchRow();
+$template = $fetch_template['value'];
+if($template != '') {
+	define('TEMPLATE', $template);
+}
+unset($template);
+
+//Get the referrer page ID if it exists
+if(isset($_REQUEST['referrer']) && is_numeric($_REQUEST['referrer']) && intval($_REQUEST['referrer']) > 0) {
+	define('REFERRER_ID', intval($_REQUEST['referrer']));
+} else {
+	define('REFERRER_ID', 0);
+}
+
+// Include index (wrapper) file
+require(WB_PATH.'/index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/search/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/install/save.php
===================================================================
--- tags/2.8.2/wb/install/save.php	(nonexistent)
+++ tags/2.8.2/wb/install/save.php	(revision 1481)
@@ -0,0 +1,791 @@
+<?php
+/**
+ *
+ * @category        backend
+ * @package         install
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version      	$Id$
+ * @filesource		$HeadURL:  $
+ * @lastmodified    $Date: $
+ *
+ */
+
+$debug = true;
+
+if (true === $debug) {
+	ini_set('display_errors', 1);
+	error_reporting(E_ALL);
+}
+// Start a session
+if(!defined('SESSION_STARTED')) {
+	session_name('wb_session_id');
+	session_start();
+	define('SESSION_STARTED', true);
+}
+// get random-part for session_name()
+list($usec,$sec) = explode(' ',microtime());
+srand((float)$sec+((float)$usec*100000));
+$session_rand = rand(1000,9999);
+
+// Function to set error
+function set_error($message, $field_name = '') {
+	global $_POST;
+	if(isset($message) AND $message != '') {
+		// Copy values entered into session so user doesn't have to re-enter everything
+		if(isset($_POST['website_title'])) {
+			$_SESSION['wb_url'] = $_POST['wb_url'];
+			$_SESSION['default_timezone'] = $_POST['default_timezone'];
+			$_SESSION['default_language'] = $_POST['default_language'];
+			if(!isset($_POST['operating_system'])) {
+				$_SESSION['operating_system'] = 'linux';
+			} else {
+				$_SESSION['operating_system'] = $_POST['operating_system'];
+			}
+			if(!isset($_POST['world_writeable'])) {
+				$_SESSION['world_writeable'] = false;
+			} else {
+				$_SESSION['world_writeable'] = true;
+			}
+			$_SESSION['database_host'] = $_POST['database_host'];
+			$_SESSION['database_username'] = $_POST['database_username'];
+			$_SESSION['database_password'] = $_POST['database_password'];
+			$_SESSION['database_name'] = $_POST['database_name'];
+			$_SESSION['table_prefix'] = $_POST['table_prefix'];
+			if(!isset($_POST['install_tables'])) {
+				$_SESSION['install_tables'] = false;
+			} else {
+				$_SESSION['install_tables'] = true;
+			}
+			$_SESSION['website_title'] = $_POST['website_title'];
+			$_SESSION['admin_username'] = $_POST['admin_username'];
+			$_SESSION['admin_email'] = $_POST['admin_email'];
+			$_SESSION['admin_password'] = $_POST['admin_password'];
+			$_SESSION['admin_repassword'] = $_POST['admin_repassword'];
+		}
+		// Set the message
+		$_SESSION['message'] = $message;
+		// Set the element(s) to highlight
+		if($field_name != '') {
+			$_SESSION['ERROR_FIELD'] = $field_name;
+		}
+		// Specify that session support is enabled
+		$_SESSION['session_support'] = '<font class="good">Enabled</font>';
+		// Redirect to first page again and exit
+		header('Location: index.php?sessions_checked=true');
+		exit();
+	}
+}
+
+// Dummy class to allow modules' install scripts to call $admin->print_error
+class admin_dummy
+{
+	var $error='';
+	function print_error($message)
+	{
+		$this->error=$message;
+	}
+}
+
+// Function to workout what the default permissions are for files created by the webserver
+function default_file_mode($temp_dir) {
+	$v = explode(".",PHP_VERSION);
+	$v = $v[0].$v[1];
+	if($v > 41 AND is_writable($temp_dir)) {
+		$filename = $temp_dir.'/test_permissions.txt';
+		$handle = fopen($filename, 'w');
+		fwrite($handle, 'This file is to get the default file permissions');
+		fclose($handle);
+		$default_file_mode = '0'.substr(sprintf('%o', fileperms($filename)), -3);
+		unlink($filename);
+	} else {
+		$default_file_mode = '0777';
+	}
+	return $default_file_mode;
+}
+
+// Function to workout what the default permissions are for directories created by the webserver
+function default_dir_mode($temp_dir) {
+	$v = explode(".",PHP_VERSION);
+	$v = $v[0].$v[1];
+	if($v > 41 AND is_writable($temp_dir)) {
+		$dirname = $temp_dir.'/test_permissions/';
+		mkdir($dirname);
+		$default_dir_mode = '0'.substr(sprintf('%o', fileperms($dirname)), -3);
+		rmdir($dirname);
+	} else {
+		$default_dir_mode = '0777';
+	}
+	return $default_dir_mode;
+}
+
+function add_slashes($input) {
+	if ( get_magic_quotes_gpc() || ( !is_string($input) ) ) {
+		return $input;
+	}
+	$output = addslashes($input);
+	return $output;
+}
+
+// Begin check to see if form was even submitted
+// Set error if no post vars found
+if(!isset($_POST['website_title'])) {
+	set_error('Please fill-in the form below');
+}
+// End check to see if form was even submitted
+
+// Begin path and timezone details code
+
+// Check if user has entered the installation url
+if(!isset($_POST['wb_url']) OR $_POST['wb_url'] == '') {
+	set_error('Please enter an absolute URL', 'wb_url');
+} else {
+	$wb_url = $_POST['wb_url'];
+}
+// Remove any slashes at the end of the URL
+if(substr($wb_url, strlen($wb_url)-1, 1) == "/") {
+	$wb_url = substr($wb_url, 0, strlen($wb_url)-1);
+}
+if(substr($wb_url, strlen($wb_url)-1, 1) == "\\") {
+	$wb_url = substr($wb_url, 0, strlen($wb_url)-1);
+}
+if(substr($wb_url, strlen($wb_url)-1, 1) == "/") {
+	$wb_url = substr($wb_url, 0, strlen($wb_url)-1);
+}
+if(substr($wb_url, strlen($wb_url)-1, 1) == "\\") {
+	$wb_url = substr($wb_url, 0, strlen($wb_url)-1);
+}
+// Get the default time zone
+if(!isset($_POST['default_timezone']) OR !is_numeric($_POST['default_timezone'])) {
+	set_error('Please select a valid default timezone', 'default_timezone');
+} else {
+	$default_timezone = $_POST['default_timezone']*60*60;
+}
+// End path and timezone details code
+
+// Get the default language
+$allowed_languages = array('BG','CA', 'CS', 'DA', 'DE', 'EN', 'ES', 'ET', 'FI', 'FR', 'HR', 'HU', 'IT', 'LV', 'NL', 'NO', 'PL', 'PT', 'RU','SE','SK','TR');
+if(!isset($_POST['default_language']) OR !in_array($_POST['default_language'], $allowed_languages)) {
+	set_error('Please select a valid default backend language','default_language');
+} else {
+	$default_language = $_POST['default_language'];
+	// make sure the selected language file exists in the language folder
+	if(!file_exists('../languages/' .$default_language .'.php')) {
+		set_error('The language file: \'' .$default_language .'.php\' is missing. Upload file to language folder or choose another language','default_language');
+	}
+}
+// End default language details code
+
+// Begin operating system specific code
+// Get operating system
+if(!isset($_POST['operating_system']) OR $_POST['operating_system'] != 'linux' AND $_POST['operating_system'] != 'windows') {
+	set_error('Please select a valid operating system');
+} else {
+	$operating_system = $_POST['operating_system'];
+}
+// Work-out file permissions
+if($operating_system == 'windows') {
+	$file_mode = '0777';
+	$dir_mode = '0777';
+} elseif(isset($_POST['world_writeable']) AND $_POST['world_writeable'] == 'true') {
+	$file_mode = '0777';
+	$dir_mode = '0777';
+} else {
+	$file_mode = default_file_mode('../temp');
+	$dir_mode = default_dir_mode('../temp');
+}
+// End operating system specific code
+
+// Begin database details code
+// Check if user has entered a database host
+if(!isset($_POST['database_host']) OR $_POST['database_host'] == '') {
+	set_error('Please enter a database host name', 'database_host');
+} else {
+	$database_host = $_POST['database_host'];
+}
+// Check if user has entered a database username
+if(!isset($_POST['database_username']) OR $_POST['database_username'] == '') {
+	set_error('Please enter a database username','database_username');
+} else {
+	$database_username = $_POST['database_username'];
+}
+// Check if user has entered a database password
+if(!isset($_POST['database_password'])) {
+	set_error('Please enter a database password', 'database_password');
+} else {
+	$database_password = $_POST['database_password'];
+}
+// Check if user has entered a database name
+if(!isset($_POST['database_name']) OR $_POST['database_name'] == '') {
+	set_error('Please enter a database name', 'database_name');
+} else {
+	// make sure only allowed characters are specified
+	if(preg_match('/[^a-z0-9_-]+/i', $_POST['database_name'])) {
+		// contains invalid characters (only a-z, A-Z, 0-9 and _ allowed to avoid problems with table/field names)
+		set_error('Only characters a-z, A-Z, 0-9, - and _ allowed in database name.', 'database_name');
+	}
+	$database_name = $_POST['database_name'];
+}
+// Get table prefix
+if(preg_match('/[^a-z0-9_]+/i', $_POST['table_prefix'])) {
+	// contains invalid characters (only a-z, A-Z, 0-9 and _ allowed to avoid problems with table/field names)
+	set_error('Only characters a-z, A-Z, 0-9 and _ allowed in table_prefix.', 'table_prefix');
+} else {
+	$table_prefix = $_POST['table_prefix'];
+}
+
+// Find out if the user wants to install tables and data
+if(isset($_POST['install_tables']) AND $_POST['install_tables'] == 'true') {
+	$install_tables = true;
+} else {
+	$install_tables = false;
+}
+// End database details code
+
+// Begin website title code
+// Get website title
+if(!isset($_POST['website_title']) OR $_POST['website_title'] == '') {
+	set_error('Please enter a website title', 'website_title');
+} else {
+	$website_title = add_slashes($_POST['website_title']);
+}
+// End website title code
+
+// Begin admin user details code
+// Get admin username
+if(!isset($_POST['admin_username']) OR $_POST['admin_username'] == '') {
+	set_error('Please enter a username for the Administrator account','admin_username');
+} else {
+	$admin_username = $_POST['admin_username'];
+}
+// Get admin email and validate it
+if(!isset($_POST['admin_email']) OR $_POST['admin_email'] == '') {
+	set_error('Please enter an email for the Administrator account','admin_email');
+} else {
+	if(preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/i', $_POST['admin_email'])) {
+		$admin_email = $_POST['admin_email'];
+	} else {
+		set_error('Please enter a valid email address for the Administrator account','admin_email');
+	}
+}
+// Get the two admin passwords entered, and check that they match
+if(!isset($_POST['admin_password']) OR $_POST['admin_password'] == '') {
+	set_error('Please enter a password for the Administrator account','admin_password');
+} else {
+	$admin_password = $_POST['admin_password'];
+}
+if(!isset($_POST['admin_repassword']) OR $_POST['admin_repassword'] == '') {
+	set_error('Please make sure you re-enter the password for the Administrator account','admin_repassword');
+} else {
+	$admin_repassword = $_POST['admin_repassword'];
+}
+if($admin_password != $admin_repassword) {
+	set_error('Sorry, the two Administrator account passwords you entered do not match','admin_repassword');
+}
+// End admin user details code
+
+// Try and write settings to config file
+$config_content = "" .
+"<?php\n".
+"\n".
+"define('DB_TYPE', 'mysql');\n".
+"define('DB_HOST', '$database_host');\n".
+"define('DB_USERNAME', '$database_username');\n".
+"define('DB_PASSWORD', '$database_password');\n".
+"define('DB_NAME', '$database_name');\n".
+"define('TABLE_PREFIX', '$table_prefix');\n".
+"\n".
+"define('WB_PATH', dirname(__FILE__));\n".
+"define('WB_URL', '$wb_url');\n".
+"define('ADMIN_PATH', WB_PATH.'/admin');\n".
+"define('ADMIN_URL', '$wb_url/admin');\n".
+"\n".
+"require_once(WB_PATH.'/framework/initialize.php');\n".
+"\n".
+"?>";
+
+$config_filename = '../config.php';
+
+// Check if the file exists and is writable first.
+if(file_exists($config_filename) AND is_writable($config_filename)) {
+	if(!$handle = fopen($config_filename, 'w')) {
+		set_error("Cannot open the configuration file ($config_filename)");
+	} else {
+		if (fwrite($handle, $config_content) === FALSE) {
+			set_error("Cannot write to the configuration file ($config_filename)");
+		}
+		// Close file
+		fclose($handle);
+	}
+} else {
+	set_error("The configuration file $config_filename is not writable. Change its permissions so it is, then re-run step 4.");
+}
+
+// Define configuration vars
+define('DB_TYPE', 'mysql');
+define('DB_HOST', $database_host);
+define('DB_USERNAME', $database_username);
+define('DB_PASSWORD', $database_password);
+define('DB_NAME', $database_name);
+define('TABLE_PREFIX', $table_prefix);
+define('WB_PATH', str_replace(array('/install','\install'), '',dirname(__FILE__)));
+define('WB_URL', $wb_url);
+define('ADMIN_PATH', WB_PATH.'/admin');
+define('ADMIN_URL', $wb_url.'/admin');
+
+// Check if the user has entered a correct path
+if(!file_exists(WB_PATH.'/framework/class.admin.php')) {
+	set_error('It appears the Absolute path that you entered is incorrect');
+}
+
+// Try connecting to database	
+if(!@mysql_connect(DB_HOST, DB_USERNAME, DB_PASSWORD)) {
+	set_error('Database host name, username and/or password incorrect. MySQL Error:<br />'.mysql_error());
+}
+
+// Try to create the database
+mysql_query('CREATE DATABASE `'.$database_name.'`');
+
+// Close the mysql connection
+mysql_close();
+
+// Include WB functions file
+require_once(WB_PATH.'/framework/functions.php');
+
+// Re-connect to the database, this time using in-build database class
+require_once(WB_PATH.'/framework/class.login.php');
+$database=new database();
+
+// Check if we should install tables
+if($install_tables == true) {
+	if (!defined('WB_INSTALL_PROCESS')) define ('WB_INSTALL_PROCESS', true);
+	// Remove tables if they exist
+
+	// Pages table
+	$pages = "DROP TABLE IF EXISTS `".TABLE_PREFIX."pages`";
+	$database->query($pages);
+	// Sections table
+	$sections = "DROP TABLE IF EXISTS `".TABLE_PREFIX."sections`";
+	$database->query($sections);
+	// Settings table
+	$settings = "DROP TABLE IF EXISTS `".TABLE_PREFIX."settings`";
+	$database->query($settings);
+	// Users table
+	$users = "DROP TABLE IF EXISTS `".TABLE_PREFIX."users`";
+	$database->query($users);
+	// Groups table
+	$groups = "DROP TABLE IF EXISTS `".TABLE_PREFIX."groups`";
+	$database->query($groups);
+	// Search table
+	$search = "DROP TABLE IF EXISTS `".TABLE_PREFIX."search`";
+	$database->query($search);
+	// Addons table
+	$addons = "DROP TABLE IF EXISTS `".TABLE_PREFIX."addons`";
+	$database->query($addons);
+				
+	// Try installing tables
+	
+	// Pages table
+	$pages = 'CREATE TABLE `'.TABLE_PREFIX.'pages` ( `page_id` INT NOT NULL auto_increment,'
+	       . ' `parent` INT NOT NULL DEFAULT \'0\','
+	       . ' `root_parent` INT NOT NULL DEFAULT \'0\','
+	       . ' `level` INT NOT NULL DEFAULT \'0\','
+	       . ' `link` TEXT NOT NULL,'
+	       . ' `target` VARCHAR( 7 ) NOT NULL DEFAULT \'\' ,'
+	       . ' `page_title` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
+	       . ' `menu_title` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
+	       . ' `description` TEXT NOT NULL ,'
+	       . ' `keywords` TEXT NOT NULL ,'
+	       . ' `page_trail` TEXT NOT NULL  ,'
+	       . ' `template` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
+	       . ' `visibility` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
+	       . ' `position` INT NOT NULL DEFAULT \'0\','
+	       . ' `menu` INT NOT NULL DEFAULT \'0\','
+	       . ' `language` VARCHAR( 5 ) NOT NULL DEFAULT \'\' ,'
+	       . ' `searching` INT NOT NULL DEFAULT \'0\','
+	       . ' `admin_groups` TEXT NOT NULL ,'
+	       . ' `admin_users` TEXT NOT NULL ,'
+	       . ' `viewing_groups` TEXT NOT NULL ,'
+	       . ' `viewing_users` TEXT NOT NULL ,'
+	       . ' `modified_when` INT NOT NULL DEFAULT \'0\','
+	       . ' `modified_by` INT NOT NULL  DEFAULT \'0\','
+	       . ' PRIMARY KEY ( `page_id` ) '
+	       . ' )';
+	$database->query($pages);
+	
+	// Sections table
+	$pages = 'CREATE TABLE `'.TABLE_PREFIX.'sections` ( `section_id` INT NOT NULL auto_increment,'
+	       . ' `page_id` INT NOT NULL DEFAULT \'0\','
+	       . ' `position` INT NOT NULL DEFAULT \'0\','
+	       . ' `module` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
+	       . ' `block` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
+	       . ' `publ_start` VARCHAR( 255 ) NOT NULL DEFAULT \'0\' ,'
+	       . ' `publ_end` VARCHAR( 255 ) NOT NULL DEFAULT \'0\' ,' 
+	       . ' PRIMARY KEY ( `section_id` ) '
+	       . ' )';
+	$database->query($pages);
+
+	require(ADMIN_PATH.'/interface/version.php');
+	
+	// Settings table
+	$settings='CREATE TABLE `'.TABLE_PREFIX.'settings` ( `setting_id` INT NOT NULL auto_increment,'
+		. ' `name` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
+		. ' `value` TEXT NOT NULL ,'
+		. ' PRIMARY KEY ( `setting_id` ) '
+		. ' )';
+	$database->query($settings);
+
+	$settings_rows=	"INSERT INTO `".TABLE_PREFIX."settings` "
+	." (name, value) VALUES "
+	." ('wb_version', '".VERSION."'),"
+	." ('website_title', '$website_title'),"
+	." ('website_description', ''),"
+	." ('website_keywords', ''),"
+	." ('website_header', ''),"
+	." ('website_footer', ''),"
+	." ('wysiwyg_style', 'font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px;'),"
+	." ('rename_files_on_upload', 'php,asp,phpx,aspx'),"
+	." ('er_level', ''),"
+	." ('default_language', '$default_language'),"
+	." ('app_name', 'wb_$session_rand'),"
+	." ('sec_anchor', 'wb_'),"
+	." ('default_timezone', '$default_timezone'),"
+	." ('default_date_format', 'M d Y'),"
+	." ('default_time_format', 'g:i A'),"
+	." ('redirect_timer', '1500'),"
+	." ('home_folders', 'true'),"
+	." ('default_template', 'round'),"
+	." ('default_theme', 'wb_theme'),"
+	." ('default_charset', 'utf-8'),"
+	." ('multiple_menus', 'false'),"
+	." ('page_level_limit', '4'),"
+	." ('intro_page', 'false'),"
+	." ('page_trash', 'disabled'),"
+	." ('homepage_redirection', 'false'),"
+	." ('page_languages', 'false'),"
+	." ('wysiwyg_editor', 'fckeditor'),"
+	." ('manage_sections', 'true'),"
+	." ('section_blocks', 'false'),"
+	." ('smart_login', 'false'),"
+	." ('frontend_login', 'false'),"
+	." ('frontend_signup', 'false'),"
+	." ('search', 'public'),"
+	." ('page_extension', '.php'),"
+	." ('page_spacer', '-'),"
+	." ('pages_directory', '/pages'),"
+	." ('media_directory', '/media'),"
+	." ('operating_system', '$operating_system'),"
+	." ('string_file_mode', '$file_mode'),"
+	." ('string_dir_mode', '$dir_mode'),"
+	." ('wbmailer_routine', 'phpmail'),"
+	." ('server_email', 'admin@yourdomain.com'),"		// avoid that mail provider (e.g. mail.com) reject mails like yourname@mail.com
+	." ('wbmailer_default_sendername', 'WB Mailer'),"
+	." ('wbmailer_smtp_host', ''),"
+	." ('wbmailer_smtp_auth', ''),"
+	." ('wbmailer_smtp_username', ''),"
+	." ('wbmailer_smtp_password', ''),"
+	." ('mediasettings', '')";
+	$database->query($settings_rows);
+	
+	// Users table
+	$users = 'CREATE TABLE `'.TABLE_PREFIX.'users` ( `user_id` INT NOT NULL auto_increment,'
+	       . ' `group_id` INT NOT NULL DEFAULT \'0\','
+	       . ' `groups_id` VARCHAR( 255 ) NOT NULL DEFAULT \'0\','
+	       . ' `active` INT NOT NULL DEFAULT \'0\','
+	       . ' `username` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
+	       . ' `password` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
+	       . ' `remember_key` VARCHAR( 255 ) NOT NULL DEFAULT \'\','
+	       . ' `last_reset` INT NOT NULL DEFAULT \'0\','
+	       . ' `display_name` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
+	       . ' `email` TEXT NOT NULL ,'
+	       . ' `timezone` INT NOT NULL DEFAULT \'0\','
+	       . ' `date_format` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
+	       . ' `time_format` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
+	       . ' `language` VARCHAR( 5 ) NOT NULL DEFAULT \'' .$default_language .'\' ,'
+	       . ' `home_folder` TEXT NOT NULL ,'
+	       . ' `login_when` INT NOT NULL  DEFAULT \'0\','
+	       . ' `login_ip` VARCHAR( 15 ) NOT NULL DEFAULT \'\' ,'
+	       . ' PRIMARY KEY ( `user_id` ) '
+	       . ' )';
+	$database->query($users);
+	
+	// Groups table
+	$groups = 'CREATE TABLE `'.TABLE_PREFIX.'groups` ( `group_id` INT NOT NULL auto_increment,'
+	        . ' `name` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
+	        . ' `system_permissions` TEXT NOT NULL ,'
+	        . ' `module_permissions` TEXT NOT NULL ,'
+	        . ' `template_permissions` TEXT NOT NULL ,'
+	        . ' PRIMARY KEY ( `group_id` ) '
+	        . ' )';
+	$database->query($groups);
+	
+	// Search settings table
+	$search = 'CREATE TABLE `'.TABLE_PREFIX.'search` ( `search_id` INT NOT NULL auto_increment,'
+	        . ' `name` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
+	        . ' `value` TEXT NOT NULL ,'
+	        . ' `extra` TEXT NOT NULL ,'
+	        . ' PRIMARY KEY ( `search_id` ) '
+	        . ' )';
+	$database->query($search);
+	
+	// Addons table
+	$addons = 'CREATE TABLE `'.TABLE_PREFIX.'addons` ( '
+			.'`addon_id` INT NOT NULL auto_increment ,'
+			.'`type` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
+			.'`directory` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
+			.'`name` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
+			.'`description` TEXT NOT NULL ,'
+			.'`function` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
+			.'`version` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
+			.'`platform` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
+			.'`author` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
+			.'`license` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
+			.' PRIMARY KEY ( `addon_id` ) '
+			.' )';
+	$database->query($addons);
+
+	// Insert default data
+	
+	// Admin group
+	$full_system_permissions = 'pages,pages_view,pages_add,pages_add_l0,pages_settings,pages_modify,pages_intro,pages_delete,media,media_view,media_upload,media_rename,media_delete,media_create,addons,modules,modules_view,modules_install,modules_uninstall,templates,templates_view,templates_install,templates_uninstall,languages,languages_view,languages_install,languages_uninstall,settings,settings_basic,settings_advanced,access,users,users_view,users_add,users_modify,users_delete,groups,groups_view,groups_add,groups_modify,groups_delete,admintools';
+	$insert_admin_group = "INSERT INTO `".TABLE_PREFIX."groups` VALUES ('1', 'Administrators', '$full_system_permissions', '', '')";
+	$database->query($insert_admin_group);
+	// Admin user
+	$insert_admin_user = "INSERT INTO `".TABLE_PREFIX."users` (user_id,group_id,groups_id,active,username,password,email,display_name) VALUES ('1','1','1','1','$admin_username','".md5($admin_password)."','$admin_email','Administrator')";
+	$database->query($insert_admin_user);
+	
+	// Search header
+	$search_header = addslashes('
+<h1>[TEXT_SEARCH]</h1>
+
+<form name="searchpage" action="[WB_URL]/search/index.php" method="get">
+<table cellpadding="3" cellspacing="0" border="0" width="500">
+<tr>
+<td>
+<input type="hidden" name="search_path" value="[SEARCH_PATH]" />
+<input type="text" name="string" value="[SEARCH_STRING]" style="width: 100%;" />
+</td>
+<td width="150">
+<input type="submit" value="[TEXT_SEARCH]" style="width: 100%;" />
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input type="radio" name="match" id="match_all" value="all"[ALL_CHECKED] />
+<label for="match_all">[TEXT_ALL_WORDS]</label>
+<input type="radio" name="match" id="match_any" value="any"[ANY_CHECKED] />
+<label for="match_any">[TEXT_ANY_WORDS]</label>
+<input type="radio" name="match" id="match_exact" value="exact"[EXACT_CHECKED] />
+<label for="match_exact">[TEXT_EXACT_MATCH]</label>
+</td>
+</tr>
+</table>
+
+</form>
+
+<hr />
+	');
+	$insert_search_header = "INSERT INTO `".TABLE_PREFIX."search` VALUES ('', 'header', '$search_header', '')";
+	$database->query($insert_search_header);
+	// Search footer
+	$search_footer = addslashes('');
+	$insert_search_footer = "INSERT INTO `".TABLE_PREFIX."search` VALUES ('', 'footer', '$search_footer', '')";
+	$database->query($insert_search_footer);
+	// Search results header
+	$search_results_header = addslashes(''.
+'[TEXT_RESULTS_FOR] \'<b>[SEARCH_STRING]</b>\':
+<table cellpadding="2" cellspacing="0" border="0" width="100%" style="padding-top: 10px;">');
+	$insert_search_results_header = "INSERT INTO `".TABLE_PREFIX."search` VALUES ('', 'results_header', '$search_results_header', '')";
+	$database->query($insert_search_results_header);
+	// Search results loop
+	$search_results_loop = addslashes(''.
+'<tr style="background-color: #F0F0F0;">
+<td><a href="[LINK]">[TITLE]</a></td>
+<td align="right">[TEXT_LAST_UPDATED_BY] [DISPLAY_NAME] ([USERNAME]) [TEXT_ON] [DATE]</td>
+</tr>
+<tr><td colspan="2" style="text-align: justify; padding-bottom: 5px;">[DESCRIPTION]</td></tr>
+<tr><td colspan="2" style="text-align: justify; padding-bottom: 10px;">[EXCERPT]</td></tr>');
+
+	$insert_search_results_loop = "INSERT INTO `".TABLE_PREFIX."search` VALUES ('', 'results_loop', '$search_results_loop', '')";
+	$database->query($insert_search_results_loop);
+	// Search results footer
+	$search_results_footer = addslashes("</table>");
+	$insert_search_results_footer = "INSERT INTO `".TABLE_PREFIX."search` VALUES ('', 'results_footer', '$search_results_footer', '')";
+	$database->query($insert_search_results_footer);
+	// Search no results
+	$search_no_results = addslashes('<tr><td><p>[TEXT_NO_RESULTS]</p></td></tr>');
+	$insert_search_no_results = "INSERT INTO `".TABLE_PREFIX."search` VALUES ('', 'no_results', '$search_no_results', '')";
+	$database->query($insert_search_no_results);
+	// Search module-order
+	$search_module_order = addslashes('faqbaker,manual,wysiwyg');
+	$insert_search_module_order = "INSERT INTO `".TABLE_PREFIX."search` VALUES ('', 'module_order', '$search_module_order', '')";
+	$database->query($insert_search_module_order);
+	// Search max lines of excerpt
+	$search_max_excerpt = addslashes('15');
+	$insert_search_max_excerpt = "INSERT INTO `".TABLE_PREFIX."search` VALUES ('', 'max_excerpt', '$search_max_excerpt', '')";
+	$database->query($insert_search_max_excerpt);
+	// max time to search per module
+	$search_time_limit = addslashes('0');
+	$insert_search_time_limit = "INSERT INTO `".TABLE_PREFIX."search` VALUES ('', 'time_limit', '$search_time_limit', '')";
+	$database->query($insert_search_time_limit);
+	// some config-elements
+	$database->query("INSERT INTO `".TABLE_PREFIX."search` VALUES ('', 'cfg_enable_old_search', 'true', '')");
+	$database->query("INSERT INTO `".TABLE_PREFIX."search` VALUES ('', 'cfg_search_keywords', 'true', '')");
+	$database->query("INSERT INTO `".TABLE_PREFIX."search` VALUES ('', 'cfg_search_description', 'true', '')");
+	$database->query("INSERT INTO `".TABLE_PREFIX."search` VALUES ('', 'cfg_show_description', 'true', '')");
+	$database->query("INSERT INTO `".TABLE_PREFIX."search` VALUES ('', 'cfg_enable_flush', 'false', '')");
+	// Search template
+	$database->query("INSERT INTO `".TABLE_PREFIX."search` (name) VALUES ('template')");
+		
+	require_once(WB_PATH.'/framework/initialize.php');
+	
+	// Include the PclZip class file (thanks to 
+	require_once(WB_PATH.'/include/pclzip/pclzip.lib.php');
+			
+	// Install add-ons
+	if(file_exists(WB_PATH.'/install/modules')) {
+		// Unpack pre-packaged modules
+			
+	}
+	if(file_exists(WB_PATH.'/install/templates')) {
+		// Unpack pre-packaged templates
+		
+	}
+	if(file_exists(WB_PATH.'/install/languages')) {
+		// Unpack pre-packaged languages
+		
+	}
+	
+	$admin=new admin_dummy();
+	// Load addons into DB
+	$dirs['modules'] = WB_PATH.'/modules/';
+	$dirs['templates'] = WB_PATH.'/templates/';
+	$dirs['languages'] = WB_PATH.'/languages/';
+	foreach($dirs AS $type => $dir) {
+		if($handle = opendir($dir)) {
+			while(false !== ($file = readdir($handle))) {
+				if($file != '' AND substr($file, 0, 1) != '.' AND $file != 'admin.php' AND $file != 'index.php') {
+					// Get addon type
+					if($type == 'modules') {
+						load_module($dir.'/'.$file, true);
+						// Pretty ugly hack to let modules run $admin->set_error
+						// See dummy class definition admin_dummy above
+						if ($admin->error!='') {
+							set_error($admin->error);
+						}
+					} elseif($type == 'templates') {
+						load_template($dir.'/'.$file);
+					} elseif($type == 'languages') {
+						load_language($dir.'/'.$file);
+					}
+				}
+			}
+		closedir($handle);
+		}
+	}
+	
+	// Check if there was a database error
+	if($database->is_error()) {
+		set_error($database->get_error());
+	}
+
+// end of if install_tables	
+} else {
+	/**
+	 *	DB - Exists
+	 *	Tables also?
+	 *
+	 */
+	$requested_tables = array("pages","sections","settings","users","groups","search","addons");
+	for($i=0;$i<count($requested_tables);$i++) $requested_tables[$i] = $table_prefix.$requested_tables[$i];
+	
+	$result = mysql_list_tables( DB_NAME );
+	$all_tables = array();
+	for($i=0; $i < mysql_num_rows($result); $i++) $all_tables[] = mysql_table_name($result, $i);
+
+	$missing_tables = array();
+	foreach($requested_tables as $temp_table) {
+		if (!in_array($temp_table, $all_tables)) {
+			$missing_tables[] = $temp_table;
+		}
+	}
+	
+	/**
+	 *	If one or more needed tables are missing, so 
+	 *	we can't go on and have to display an error
+	 */
+	if ( count($missing_tables) > 0 ) {
+		$error_message  = "One or more tables are missing in the selected database <b><font color='#990000'>".DB_NAME."</font></b>.<br />";
+		$error_message .= "Please install the missing tables or choose 'install tables' as recommend.<br />";
+		$error_message .= "Missing tables are: <b>".implode(", ", $missing_tables)."</b>";
+		
+		set_error( $error_message );
+	}
+	
+	/**
+	 *	Try to get some default settings ...
+	 */
+	$vars = array(
+		'DEFAULT_THEME'	=> "wb_theme",
+		'THEME_URL'		=> WB_URL."/templates/wb_theme",
+		'THEME_PATH'	=> WB_PATH."/templates/wb_theme",
+		'LANGUAGE'		=> $_POST['default_language'],
+		'SERVER_EMAIL'	=> "admin@yourdomain.com",
+		'SMART_LOGIN'	=> false
+	);
+	foreach($vars as $k => $v) if (!defined($k)) define($k, $v);
+	
+	if (!isset($MESSAGE)) include (WB_PATH."/languages/".LANGUAGE.".php");
+	
+	/**
+	 *	The important part ...
+	 *	Is there an valid user?
+	 */
+	$result = $database->query("SELECT * from ".$table_prefix."users where username='".$_POST['admin_username']."'");
+	if ( $database->is_error() ) {
+		set_error ($database->get_error() );
+	}
+	if ($result->numRows() == 0) {
+		/**
+		 *	No matches found ... user properly unknown
+	 	 */
+	 	set_error ("Unkown user. Please use a valid username.");
+	} else {
+	 	
+		$data = $result->fetchRow();
+	 	/**
+	 	 *	Does the password match
+	 	 */
+	 	if ( md5($_POST['admin_password']) != $data['password']) {
+	 		set_error ("Password didn't match");
+	 	}
+	}
+}
+// Log the user in and go to Website Baker Administration
+$thisApp = new Login(
+		array(
+				"MAX_ATTEMPS" => "50",
+				"WARNING_URL" => ADMIN_URL."/login/warning.html",
+				"USERNAME_FIELDNAME" => 'admin_username',
+				"PASSWORD_FIELDNAME" => 'admin_password',
+				"REMEMBER_ME_OPTION" => SMART_LOGIN,
+				"MIN_USERNAME_LEN" => "2",
+				"MIN_PASSWORD_LEN" => "2",
+				"MAX_USERNAME_LEN" => "30",
+				"MAX_PASSWORD_LEN" => "30",
+				'LOGIN_URL' => ADMIN_URL."/login/index.php",
+				'DEFAULT_URL' => ADMIN_URL."/start/index.php",
+				'TEMPLATE_DIR' => ADMIN_PATH."/login",
+				'TEMPLATE_FILE' => "template.html",
+				'FRONTEND' => false,
+				'FORGOTTEN_DETAILS_APP' => ADMIN_URL."/login/forgot/index.php",
+				'USERS_TABLE' => TABLE_PREFIX."users",
+				'GROUPS_TABLE' => TABLE_PREFIX."groups",
+		)
+);
+?>

Property changes on: tags/2.8.2/wb/install/save.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/install/index.php
===================================================================
--- tags/2.8.2/wb/install/index.php	(nonexistent)
+++ tags/2.8.2/wb/install/index.php	(revision 1481)
@@ -0,0 +1,431 @@
+<?php
+/**
+ *
+ * @category        backend
+ * @package         install
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version      	$Id$
+ * @filesource		$HeadURL:  $
+ * @lastmodified    $Date: $
+ *
+ */
+
+// Start a session
+if(!defined('SESSION_STARTED')) {
+	session_name('wb_session_id');
+	session_start();
+	define('SESSION_STARTED', true);
+}
+
+// Function to highlight input fields which contain wrong/missing data
+function field_error($field_name='') {
+	if(!defined('SESSION_STARTED') || $field_name == '') return;
+	if(isset($_SESSION['ERROR_FIELD']) && $_SESSION['ERROR_FIELD'] == $field_name) {
+		return ' class="wrong"';
+	}
+}
+
+// Check if the page has been reloaded
+if(!isset($_GET['sessions_checked']) OR $_GET['sessions_checked'] != 'true') {
+	// Set session variable
+	$_SESSION['session_support'] = '<font class="good">Enabled</font>';
+	// Reload page
+	header('Location: index.php?sessions_checked=true');
+	exit(0);
+} else {
+	// Check if session variable has been saved after reload
+	if(isset($_SESSION['session_support'])) {
+		$session_support = $_SESSION['session_support'];
+	} else {   
+		$session_support = '<font class="bad">Disabled</font>';
+	}
+}
+
+// Check if AddDefaultCharset is set
+$e_adc=false;
+$sapi=php_sapi_name();
+if(strpos($sapi, 'apache')!==FALSE || strpos($sapi, 'nsapi')!==FALSE) {
+	flush();
+	$apache_rheaders=apache_response_headers();
+	foreach($apache_rheaders AS $h) {
+		if(strpos($h, 'html; charset')!==FALSE) {
+			preg_match('/charset\s*=\s*([a-zA-Z0-9- _]+)/', $h, $match);
+			$apache_charset=$match[1];
+			$e_adc=$apache_charset;
+		}
+	}
+}
+
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<title>Website Baker Installation Wizard</title>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
+<link href="stylesheet.css" rel="stylesheet" type="text/css" />
+<script language="javascript" type="text/javascript">
+
+function confirm_link(message, url) {
+	if(confirm(message)) location.href = url;
+}
+function change_os(type) {
+	if(type == 'linux') {
+		document.getElementById('operating_system_linux').checked = true;
+		document.getElementById('operating_system_windows').checked = false;
+		document.getElementById('file_perms_box').style.display = 'block';
+	} else if(type == 'windows') {
+		document.getElementById('operating_system_linux').checked = false;
+		document.getElementById('operating_system_windows').checked = true;
+		document.getElementById('file_perms_box').style.display = 'none';
+	}
+}
+
+</script>
+</head>
+<body>
+
+<table cellpadding="0" cellspacing="0" border="0" width="750" align="center">
+<tr>
+	<td width="60" valign="top">
+		<img src="../templates/wb_theme/images/logo.png" alt="Logo" />
+	</td>
+	<td width="5">&nbsp;</td>
+	<td style="font-size: 20px;">
+		<font style="color: #FFF;">Installation Wizard</font>
+	</td>
+</tr>
+</table>
+
+<form name="website_baker_installation_wizard" action="save.php" method="post">
+<input type="hidden" name="url" value="" />
+<input type="hidden" name="username_fieldname" value="admin_username" />
+<input type="hidden" name="password_fieldname" value="admin_password" />
+<input type="hidden" name="remember" id="remember" value="true" />
+
+<table cellpadding="0" cellspacing="0" border="0" width="750" align="center" style="margin-top: 10px;">
+<tr>
+	<td class="content">
+	
+		<center style="padding: 5px;">
+			Welcome to the Website Baker Installation Wizard.
+		</center>
+		
+		<?php
+		if(isset($_SESSION['message']) AND $_SESSION['message'] != '') {
+			?><div style="width: 700px; padding: 10px; margin-bottom: 5px; border: 1px solid #FF0000; background-color: #FFDBDB;"><b>Error:</b> <?php echo $_SESSION['message']; ?></div><?php
+		}
+		?>
+		<table cellpadding="3" cellspacing="0" width="100%" align="center">
+		<tr>
+			<td colspan="6"><h1>Step 1</h1>Please check the following requirements are met before continuing...</td>
+		</tr>
+		<?php if($session_support != '<font class="good">Enabled</font>') { ?>
+		<tr>
+			<td colspan="6" style="font-size: 10px;" class="bad">Please note: PHP Session Support may appear disabled if your browser does not support cookies.</td>
+		</tr>
+		<?php } ?>
+		<tr>
+			<td width="160" style="color: #666666;">PHP Version > 4.1.0</td>
+			<td width="60">
+				<?php
+				$phpversion = substr(PHP_VERSION, 0, 6);
+				if($phpversion > 4.1) {
+					?><font class="good">Yes</font><?php
+				} else {
+					?><font class="bad">No</font><?php
+				}
+				?>
+			</td>
+			<td width="140" style="color: #666666;">PHP Session Support</td>
+			<td width="105"><?php echo $session_support; ?></td>
+			<td width="115" style="color: #666666;">PHP Safe Mode</td>
+			<td>
+				<?php
+				if(ini_get('safe_mode')=='' || strpos(strtolower(ini_get('safe_mode')), 'off')!==FALSE || ini_get('safe_mode')==0) {
+					?><font class="good">Disabled</font><?php
+				} else {
+					?><font class="bad">Enabled</font><?php
+				}	
+				?>
+			</td>
+		</tr>
+		<tr>
+			<td width="160" style="color: #666666;">AddDefaultCharset unset</td>
+			<td width="60">
+				<?php
+					if($e_adc) {
+						?><font class="bad">No</font><?php
+					} else {
+						?><font class="good">Yes</font><?php
+					}
+				?>
+			</td>
+			<td colspan="4">&nbsp;</td>
+		</tr>
+		<?php if($e_adc) { ?>
+		<tr>
+			<td colspan="6" style="font-size: 10px;" class="bad">Please note: AddDefaultCharset is set to <?php echo $e_adc;?> in apache.conf.<br />If you have to use umlauts (e.g. &auml; &aacute;) please change this to Off. - Or use <?php echo $e_adc;?> inside website baker, too.</td>
+		</tr>
+		<?php } ?>
+		</table>
+		<table cellpadding="3" cellspacing="0" width="100%" align="center">
+		<tr>
+			<td colspan="8"><h1>Step 2</h1>Please check the following files/folders are writeable before continuing...</td>
+		</tr>
+		<tr>
+			<td style="color: #666666;">wb/config.php</td>
+			<td><?php if(is_writable('../config.php')) { echo '<font class="good">Writeable</font>'; } elseif(!file_exists('../config.php')) { echo '<font class="bad">File Not Found</font>'; } else { echo '<font class="bad">Unwriteable</font>'; } ?></td>
+			<td style="color: #666666;">wb/pages/</td>
+			<td><?php if(is_writable('../pages/')) { echo '<font class="good">Writeable</font>'; } elseif(!file_exists('../pages/')) { echo '<font class="bad">Directory Not Found</font>'; } else { echo '<font class="bad">Unwriteable</font>'; } ?></td>
+			<td style="color: #666666;">wb/media/</td>
+			<td><?php if(is_writable('../media/')) { echo '<font class="good">Writeable</font>'; } elseif(!file_exists('../media/')) { echo '<font class="bad">Directory Not Found</font>'; } else { echo '<font class="bad">Unwriteable</font>'; } ?></td>
+			<td style="color: #666666;">wb/templates/</td>
+			<td><?php if(is_writable('../templates/')) { echo '<font class="good">Writeable</font>'; } elseif(!file_exists('../templates/')) { echo '<font class="bad">Directory Not Found</font>'; } else { echo '<font class="bad">Unwriteable</font>'; } ?></td>
+		</tr>
+		<tr>
+			<td style="color: #666666;">wb/modules/</td>
+			<td><?php if(is_writable('../modules/')) { echo '<font class="good">Writeable</font>'; } elseif(!file_exists('../modules/')) { echo '<font class="bad">Directory Not Found</font>'; } else { echo '<font class="bad">Unwriteable</font>'; } ?></td>
+			<td style="color: #666666;">wb/languages/</td>
+			<td><?php if(is_writable('../languages/')) { echo '<font class="good">Writeable</font>'; } elseif(!file_exists('../languages/')) { echo '<font class="bad">Directory Not Found</font>'; } else { echo '<font class="bad">Unwriteable</font>'; } ?></td>
+			<td style="color: #666666;">wb/temp/</td>
+			<td><?php if(is_writable('../temp/')) { echo '<font class="good">Writeable</font>'; } elseif(!file_exists('../temp/')) { echo '<font class="bad">Directory Not Found</font>'; } else { echo '<font class="bad">Unwriteable</font>'; } ?></td>
+			<td>&nbsp;</td>
+			<td>&nbsp;</td>
+		</tr>
+		</table>
+		<table cellpadding="3" cellspacing="0" width="100%" align="center">
+		<tr>
+			<td colspan="2"><h1>Step 3</h1>Please check your path settings, and select a default timezone and a default backend language...</td>
+		</tr>
+		<tr>
+			<td width="125" style="color: #666666;">
+				Absolute URL:
+			</td>
+			<td>
+				<?php
+				// Try to guess installation URL
+				$guessed_url = 'http://'.$_SERVER["SERVER_NAME"].$_SERVER["SCRIPT_NAME"];
+				$guessed_url = rtrim(dirname($guessed_url), 'install');
+				?>
+				<input <?php echo field_error('wb_url');?> type="text" tabindex="1" name="wb_url" style="width: 99%;" value="<?php if(isset($_SESSION['wb_url'])) { echo $_SESSION['wb_url']; } else { echo $guessed_url; } ?>" />
+			</td>
+		</tr>
+		<tr>
+			<td style="color: #666666;">
+				Default Timezone:
+			</td>
+			<td>
+				<select <?php echo field_error('default_timezone');?> tabindex="3" name="default_timezone" style="width: 100%;">
+					<?php
+					$TIMEZONES['-12'] = 'GMT - 12 Hours';
+					$TIMEZONES['-11'] = 'GMT -11 Hours';
+					$TIMEZONES['-10'] = 'GMT -10 Hours';
+					$TIMEZONES['-9'] = 'GMT -9 Hours';
+					$TIMEZONES['-8'] = 'GMT -8 Hours';
+					$TIMEZONES['-7'] = 'GMT -7 Hours';
+					$TIMEZONES['-6'] = 'GMT -6 Hours';
+					$TIMEZONES['-5'] = 'GMT -5 Hours';
+					$TIMEZONES['-4'] = 'GMT -4 Hours';
+					$TIMEZONES['-3.5'] = 'GMT -3.5 Hours';
+					$TIMEZONES['-3'] = 'GMT -3 Hours';
+					$TIMEZONES['-2'] = 'GMT -2 Hours';
+					$TIMEZONES['-1'] = 'GMT -1 Hour';
+					$TIMEZONES['0'] = 'GMT';
+					$TIMEZONES['1'] = 'GMT +1 Hour';
+					$TIMEZONES['2'] = 'GMT +2 Hours';
+					$TIMEZONES['3'] = 'GMT +3 Hours';
+					$TIMEZONES['3.5'] = 'GMT +3.5 Hours';
+					$TIMEZONES['4'] = 'GMT +4 Hours';
+					$TIMEZONES['4.5'] = 'GMT +4.5 Hours';
+					$TIMEZONES['5'] = 'GMT +5 Hours';
+					$TIMEZONES['5.5'] = 'GMT +5.5 Hours';
+					$TIMEZONES['6'] = 'GMT +6 Hours';
+					$TIMEZONES['6.5'] = 'GMT +6.5 Hours';
+					$TIMEZONES['7'] = 'GMT +7 Hours';
+					$TIMEZONES['8'] = 'GMT +8 Hours';
+					$TIMEZONES['9'] = 'GMT +9 Hours';
+					$TIMEZONES['9.5'] = 'GMT +9.5 Hours';
+					$TIMEZONES['10'] = 'GMT +10 Hours';
+					$TIMEZONES['11'] = 'GMT +11 Hours';
+					$TIMEZONES['12'] = 'GMT +12 Hours';
+					$TIMEZONES['13'] = 'GMT +13 Hours';
+					foreach($TIMEZONES AS $hour_offset => $title) {
+						?>
+							<option value="<?php echo $hour_offset; ?>"<?php if(isset($_SESSION['default_timezone']) AND $_SESSION['default_timezone'] == $hour_offset) { echo ' selected="selected"'; } elseif(!isset($_SESSION['default_timezone']) AND $hour_offset == 0) { echo ' selected="selected"'; } ?>><?php echo $title; ?></option>
+						<?php
+					}
+					?>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td style="color: #666666;">
+				Default Language:
+			</td>
+			<td>
+				<select <?php echo field_error('default_language');?> tabindex="3" name="default_language" style="width: 100%;">
+					<?php
+					$DEFAULT_LANGUAGE = array(
+						'BG'=>'Bulgarian', 'CA'=>'Catalan', 'CS'=>'&#268;e&scaron;tina', 'DA'=>'Danish', 'DE'=>'Deutsch', 'EN'=>'English',
+						'ES'=>'Spanish', 'ET'=>'Eesti', 'FI'=>'Suomi', 'FR'=>'Fran&ccedil;ais',
+						'HR'=>'Hrvatski', 'HU'=>'Magyar','IT'=>'Italiano', 'LV'=>'Latviesu',
+						'NL'=>'Nederlands', 'NO'=>'Norsk', 'PL'=>'Polski', 'PT'=>'Portuguese (Brazil)', 'RU'=>'Russian', 'SE'=>'Svenska','SK'=>'Slovensky','TR'=>'Turkish'
+					);
+					foreach($DEFAULT_LANGUAGE as $lang_id => $lang_title) {
+						?>
+							<option value="<?php echo $lang_id; ?>"<?php if(isset($_SESSION['default_language']) AND $_SESSION['default_language'] == $lang_id) { echo ' selected="selected"'; } elseif(!isset($_SESSION['default_language']) AND $lang_id == 'EN') { echo ' selected="selected"'; } ?>><?php echo $lang_title; ?></option>
+						<?php
+					}
+					?>
+				</select>
+			</td>
+		</tr>
+		</table>
+		<table cellpadding="5" cellspacing="0" width="100%" align="center">
+		<tr>
+			<td colspan="3"><h1>Step 4</h1>Please specify your operating system information below...</td>
+		</tr>
+		<tr>
+			<td width="170">
+				Server Operating System:
+			</td>
+			<td width="180">
+				<input type="radio" tabindex="4" name="operating_system" id="operating_system_linux" onclick="document.getElementById('file_perms_box').style.display = 'block';" value="linux"<?php if(!isset($_SESSION['operating_system']) OR $_SESSION['operating_system'] == 'linux') { echo ' checked="checked"'; } ?> />
+				<span style="cursor: pointer;" onclick="javascript: change_os('linux');">Linux/Unix based</span>
+				<br />
+				<input type="radio" tabindex="5" name="operating_system" id="operating_system_windows" onclick="document.getElementById('file_perms_box').style.display = 'none';" value="windows"<?php if(isset($_SESSION['operating_system']) AND $_SESSION['operating_system'] == 'windows') { echo ' checked="checked"'; } ?> />
+				<span style="cursor: pointer;" onclick="javascript: change_os('windows');">Windows</span>
+			</td>
+			<td>
+				<div id="file_perms_box" style="margin: 0; padding: 0; display: <?php if(isset($_SESSION['operating_system']) AND $_SESSION['operating_system'] == 'windows') { echo 'none'; } else { echo 'block'; } ?>;">
+					<input type="checkbox" tabindex="6" name="world_writeable" id="world_writeable" value="true"<?php if(isset($_SESSION['world_writeable']) AND $_SESSION['world_writeable'] == true) { echo 'checked'; } ?> />
+					<label for="world_writeable">
+						World-writeable file permissions (777)
+					</label>
+					<br />
+					<font class="note">(Please note: only recommended for testing environments)</font>
+				</div>
+			</td>
+		</tr>
+		</table>
+		<table cellpadding="5" cellspacing="0" width="100%" align="center">
+    		<tr>
+    			<td colspan="5">Please enter your MySQL database server details below...</td>
+    		</tr>
+    		<tr>
+    			<td width="120" style="color: #666666;">Host Name:</td>
+    			<td width="230">
+    				<input <?php echo field_error('database_host');?> type="text" tabindex="7" name="database_host" style="width: 98%;" value="<?php if(isset($_SESSION['database_host'])) { echo $_SESSION['database_host']; } else { echo 'localhost'; } ?>" />
+    			</td>
+    			<td width="7">&nbsp;</td>
+    			<td width="70" style="color: #666666;">Username:</td>
+    			<td>
+    				<input <?php echo field_error('database_username');?> type="text" tabindex="9" name="database_username" style="width: 98%;" value="<?php if(isset($_SESSION['database_username'])) { echo $_SESSION['database_username']; } else { echo 'root'; } ?>" />
+    			</td>
+    		</tr>
+    		<tr>
+    			<td style="color: #666666;">Database Name:<br />[a-zA-Z0-9_-]</td>
+    			<td>
+    				<input <?php echo field_error('database_name');?> type="text" tabindex="8" name="database_name" style="width: 98%;" value="<?php if(isset($_SESSION['database_name'])) { echo $_SESSION['database_name']; } else { echo 'wb'; } ?>" />
+    			</td>
+    			<td>&nbsp;</td>
+    			<td style="color: #666666;">Password:</td>
+    			<td>
+    				<input type="password" tabindex="10" name="database_password" style="width: 98%;"<?php if(isset($_SESSION['database_password'])) { echo ' value = "'.$_SESSION['database_password'].'"'; } ?> />
+    			</td>
+    		</tr>
+		<tr>
+			<td style="color: #666666;">Table Prefix:<br />[a-zA-Z0-9_]</td>
+			<td>
+				<input <?php echo field_error('table_prefix');?> type="text" tabindex="11" name="table_prefix" style="width: 250px;"<?php if(isset($_SESSION['table_prefix'])) { echo ' value = "'.$_SESSION['table_prefix'].'"'; } ?> />
+			</td>
+			<td>&nbsp;</td>
+			<td colspan="2">
+				<input type="checkbox" tabindex="12" name="install_tables" id="install_tables" value="true"<?php if(!isset($_SESSION['install_tables'])) { echo ' checked="checked"'; } elseif($_SESSION['install_tables'] == 'true') { echo ' checked="checked"'; } ?> />
+				<label for="install_tables" style="color: #666666;">Install Tables</label>
+				<br />
+				<span style="font-size: 10px; color: #666666;">(Please note: May remove existing tables and data)</span>
+			</td>
+		</tr>
+		<tr>
+			<td colspan="5"><h1>Step 5</h1>Please enter your website title below...</td>
+		</tr>
+		<tr>
+			<td style="color: #666666;" colspan="1">Website Title:</td>
+			<td colspan="4">
+				<input <?php echo field_error('website_title');?> type="text" tabindex="13" name="website_title" style="width: 99%;" value="<?php if(isset($_SESSION['website_title'])) { echo $_SESSION['website_title']; } ?>" />
+			</td>
+		</tr>
+		<tr>
+			<td colspan="5"><h1>Step 6</h1>Please enter your Administrator account details below...</td>
+		</tr>
+		<tr>
+			<td style="color: #666666;">Username:</td>
+			<td>
+				<input <?php echo field_error('admin_username');?> type="text" tabindex="14" name="admin_username" style="width: 98%;" value="<?php if(isset($_SESSION['admin_username'])) { echo $_SESSION['admin_username']; } else { echo 'admin'; } ?>" />
+			</td>
+			<td>&nbsp;</td>
+			<td style="color: #666666;">Password:</td>
+			<td>
+				<input <?php echo field_error('admin_password');?> type="password" tabindex="16" name="admin_password" style="width: 98%;"<?php if(isset($_SESSION['admin_password'])) { echo ' value = "'.$_SESSION['admin_password'].'"'; } ?> />
+			</td>
+		</tr>
+		<tr>
+			<td style="color: #666666;">Email:</td>
+			<td>
+				<input <?php echo field_error('admin_email');?> type="text" tabindex="15" name="admin_email" style="width: 98%;"<?php if(isset($_SESSION['admin_email'])) { echo ' value = "'.$_SESSION['admin_email'].'"'; } ?> />
+			</td>
+			<td>&nbsp;</td>
+			<td style="color: #666666;">Re-Password:</td>
+			<td>
+				<input <?php echo field_error('admin_repassword');?> type="password" tabindex="17" name="admin_repassword" style="width: 98%;"<?php if(isset($_SESSION['admin_repassword'])) { echo ' value = "'.$_SESSION['admin_repassword'].'"'; } ?> />
+			</td>
+		</tr>
+		<tr>
+			<td colspan="5" style="padding: 10px; padding-bottom: 0;"><h1 style="font-size: 0px;">&nbsp;</h1></td>
+		</tr>
+		<tr>
+			<td colspan="4">
+				<table cellpadding="0" cellspacing="0" width="100%" border="0">
+				<tr valign="top">
+					<td>Please note: &nbsp;</td>
+					<td>
+						Website Baker is released under the 
+						<a href="http://www.gnu.org/licenses/gpl.html" target="_blank" tabindex="19">GNU General Public License</a>
+						<br />
+						By clicking install, you are accepting the license.
+					</td>
+				</tr>
+				</table>
+			</td>
+			<td colspan="1" align="right">
+				<input type="submit" tabindex="20" name="submit" value="Install Website Baker" class="submit" />
+			</td>
+		</tr>
+		</table>
+	</td>
+</tr>
+</table>
+
+</form>
+
+<table cellpadding="0" cellspacing="0" border="0" width="100%" style="padding: 10px 0px 10px 0px;">
+<tr>
+	<td align="center" style="font-size: 10px;">
+		<!-- Please note: the below reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
+		<a href="http://www.websitebaker.org/" style="color: #000000;" target="_blank">Website Baker</a>
+		is	released under the
+		<a href="http://www.gnu.org/licenses/gpl.html" style="color: #000000;" target="_blank">GNU General Public License</a>
+		<!-- Please note: the above reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
+	</td>
+</tr>
+</table>
+
+</body>
+</html>

Property changes on: tags/2.8.2/wb/install/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/install/stylesheet.css
===================================================================
--- tags/2.8.2/wb/install/stylesheet.css	(nonexistent)
+++ tags/2.8.2/wb/install/stylesheet.css	(revision 1481)
@@ -0,0 +1,74 @@
+body,td,th,input,textarea {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 12px;
+	color: #000000;
+}
+body {
+	background-color: #A8BCCB;
+	background-image: url(../templates/wb_theme/images/background.png);
+	background-repeat: repeat-x;
+	margin: 0px;
+}
+form {
+	margin: 0;
+}
+
+input:focus, select:focus {
+	background: #F1F8FD;
+}
+
+.wrong {
+	background-color: #FFDBDB;
+}
+
+.submit {
+	border : solid 1px #CCCCCC;
+	background: #E9ECEF;
+	color : #003366;
+	font-weight : bold;
+	font-size : 11px;
+	padding: 4px;
+	width: 100%;
+}
+.content {
+	background-color: #FFFFFF;
+	padding: 15px;
+	height: 350px;
+	width: 750px;
+	text-align: justify;
+	vertical-align: top;
+}
+hr {
+	margin: 15px 0px 15px 0px;
+	color: #003366;
+	height: 1px;
+}
+h1 {
+	font-size: 15px;
+	color: #336699;
+	margin: 0px 0px 5px 0px;
+	border-bottom: 1px solid #CCCCCC;
+}
+a:link, a:visited, a:active {
+	color: #003366;
+	text-decoration: none;
+}
+a:hover {
+	text-decoration: none;
+	color: #336699;
+}
+.bad {
+	color: #FF0000;
+	font-weight: bold;
+}
+.good {
+	color: #009900;
+	font-weight: bold;
+}
+.note {
+	color: #666666;
+	font-size: 10px;
+}
+.hide {
+	display: none;
+}
\ No newline at end of file

Property changes on: tags/2.8.2/wb/install/stylesheet.css
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/languages/FI.php
===================================================================
--- tags/2.8.2/wb/languages/FI.php	(nonexistent)
+++ tags/2.8.2/wb/languages/FI.php	(revision 1481)
@@ -0,0 +1,595 @@
+<?php
+/**
+ *
+ * @category        framework
+ * @package         language
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// use languageedit-module to modify this file
+
+// Define that this file is loaded
+if(!defined('LANGUAGE_LOADED')) {
+define('LANGUAGE_LOADED', true);
+}
+
+// Set the language information
+$language_code = 'FI';
+$language_name = 'Suomi';
+$language_version = '2.8';
+$language_platform = '2.8.x';
+$language_author = 'Pekka Koskela';
+$language_license = 'GNU General Public License';
+
+// Menu titles
+$MENU['START'] = 'Alku';
+$MENU['PAGES'] = 'Sivut';
+$MENU['MEDIA'] = 'Tiedostot';
+$MENU['ADDONS'] = 'Lis&auml;osat';
+$MENU['MODULES'] = 'Moduulit';
+$MENU['TEMPLATES'] = 'Sivupohjat';
+$MENU['LANGUAGES'] = 'Kielet';
+$MENU['PREFERENCES'] = 'Omat tiedot';
+$MENU['SETTINGS'] = 'Asetukset';
+$MENU['ADMINTOOLS'] = 'Admin-Tools';
+$MENU['ACCESS'] = 'K&auml;ytt&auml;j&auml;t';
+$MENU['USERS'] = 'K&auml;ytt&auml;j&auml;t';
+$MENU['GROUPS'] = 'Ryhm&auml;';
+$MENU['HELP'] = 'Apu';
+$MENU['VIEW'] = 'Katsele';
+$MENU['LOGOUT'] = 'Kirjaudu ulos';
+$MENU['LOGIN'] = 'Kirjaudu';
+$MENU['FORGOT'] = 'Salasana unohtunut';
+
+// Section overviews
+$OVERVIEW['START'] = 'P&auml;&auml;k&auml;ytt&auml;j&auml;tila';
+$OVERVIEW['PAGES'] = 'Sivujen hallinta...';
+$OVERVIEW['MEDIA'] = 'Tiedostojen hallinta...';
+$OVERVIEW['MODULES'] = 'Moduulien hallinta...';
+$OVERVIEW['TEMPLATES'] = 'Muuta sivupohjaa...';
+$OVERVIEW['LANGUAGES'] = 'Muuta kieli...';
+$OVERVIEW['PREFERENCES'] = 'S&auml;hk&ouml;postiosoite, salsana... ';
+$OVERVIEW['SETTINGS'] = 'WebsiteBakerin asetukset...';
+$OVERVIEW['USERS'] = 'K&auml;ytt&auml;j&auml;hallinta...';
+$OVERVIEW['GROUPS'] = 'k&auml;ytt&auml;j&auml;ryhm&auml;t...';
+$OVERVIEW['HELP'] = 'Kysymykset, vastaukset...';
+$OVERVIEW['VIEW'] = 'Tarkastele sivuja...';
+$OVERVIEW['ADMINTOOLS'] = 'Access the WebsiteBaker administration tools...';
+
+// Headings
+$HEADING['MODIFY_DELETE_PAGE'] = 'Muokka/poista sivu';
+$HEADING['DELETED_PAGES'] = 'Poistetut sivut';
+$HEADING['ADD_PAGE'] = 'Lis&auml;&auml; sivu';
+$HEADING['ADD_HEADING'] = 'Lis&auml;&auml; otsikko';
+$HEADING['MODIFY_PAGE'] = 'Muokkaa sivua';
+$HEADING['MODIFY_PAGE_SETTINGS'] = 'Muuta sivun asetuksia';
+$HEADING['MODIFY_ADVANCED_PAGE_SETTINGS'] = 'Muuta sivun lis&auml;asetuksia';
+$HEADING['MANAGE_SECTIONS'] = 'Muokkaa osia';
+$HEADING['MODIFY_INTRO_PAGE'] = 'Muokkaa esisivua';
+
+$HEADING['BROWSE_MEDIA'] = 'Selaa tiedostoja';
+$HEADING['CREATE_FOLDER'] = 'Luo kansio';
+$HEADING['UPLOAD_FILES'] = 'Lataa palvelimelle';
+
+$HEADING['INSTALL_MODULE'] = 'Asenna moduuli';
+$HEADING['UNINSTALL_MODULE'] = 'Poista moduuli';
+$HEADING['MODULE_DETAILS'] = 'Moduulin tietoja';
+
+$HEADING['INSTALL_TEMPLATE'] = 'Asenna sivupohja';
+$HEADING['UNINSTALL_TEMPLATE'] = 'Poista sivupohja';
+$HEADING['TEMPLATE_DETAILS'] = 'Sivupohjan info';
+
+$HEADING['INSTALL_LANGUAGE'] = 'Asenna kieli';
+$HEADING['UNINSTALL_LANGUAGE'] = 'Poista kieli';
+$HEADING['LANGUAGE_DETAILS'] = 'Kielen tiedot';
+
+$HEADING['MY_SETTINGS'] = 'Omat tiedot';
+$HEADING['MY_EMAIL'] = 'S&auml;hk&ouml;postiosoite';
+$HEADING['MY_PASSWORD'] = 'Salasana';
+
+$HEADING['GENERAL_SETTINGS'] = 'Asetukset';
+$HEADING['DEFAULT_SETTINGS'] = 'Oletusasetukset';
+$HEADING['SEARCH_SETTINGS'] = 'Etsinn&auml;n asetukset';
+$HEADING['FILESYSTEM_SETTINGS'] = 'Tiedostoj&auml;rjestelm&auml;';
+$HEADING['SERVER_SETTINGS'] = 'Palvelimen asetukset';
+$HEADING['WBMAILER_SETTINGS'] = 'Mailer Settings';
+$HEADING['ADMINISTRATION_TOOLS'] = 'Ty&ouml;kalut';
+
+$HEADING['MODIFY_DELETE_USER'] = 'Muokkaa/poista k&auml;ytt&auml;j&auml;';
+$HEADING['ADD_USER'] = 'Lis&auml;&auml; k&auml;ytt&auml;j&auml;';
+$HEADING['MODIFY_USER'] = 'Muokka k&auml;ytt&auml;j&auml;&auml;';
+
+$HEADING['MODIFY_DELETE_GROUP'] = 'Muokkaa/poista ryhm&auml;';
+$HEADING['ADD_GROUP'] = 'Lis&auml;&auml; ryhm&auml;';
+$HEADING['MODIFY_GROUP'] = 'Muokkaa ryhm&auml;&auml;';
+
+$HEADING['ADDON_PRECHECK_FAILED'] = 'Add-On requirements not met';
+$HEADING['INVOKE_MODULE_FILES'] = 'Execute module files manually';
+
+// Other text
+$TEXT['OPEN'] = 'Open';
+$TEXT['ADD'] = 'Lis&auml;&auml;';
+$TEXT['MODIFY'] = 'Muokkaa';
+$TEXT['SETTINGS'] = 'Asetukset';
+$TEXT['DELETE'] = 'Poista';
+$TEXT['SAVE'] = 'Talleta';
+$TEXT['RESET'] = 'Peruuta';
+$TEXT['LOGIN'] = 'Kirjaudu';
+$TEXT['RELOAD'] = 'Lataa uudelleen';
+$TEXT['CANCEL'] = 'Peruuta';
+$TEXT['NAME'] = 'Nimi';
+$TEXT['PLEASE_SELECT'] = 'Valitset';
+$TEXT['TITLE'] = 'Otsikko';
+$TEXT['PARENT'] = 'Is&auml;nt&auml;';
+$TEXT['TYPE'] = 'Tyyppi';
+$TEXT['VISIBILITY'] = 'N&auml;kyvyys';
+$TEXT['PRIVATE'] = 'Yksityinen';
+$TEXT['PUBLIC'] = 'Julkinen';
+$TEXT['NONE'] = 'Ei mik&auml;&auml;n';
+$TEXT['NONE_FOUND'] = 'Ei l&ouml;ytynyt';
+$TEXT['CURRENT'] = 'Nykyinen';
+$TEXT['CHANGE'] = 'Muuta';
+$TEXT['WINDOW'] = 'Ikkuna';
+$TEXT['DESCRIPTION'] = 'Kuvaus';
+$TEXT['KEYWORDS'] = 'Avainsanat';
+$TEXT['ADMINISTRATORS'] = 'P&auml;&auml;k&auml;ytt&auml;j&auml;t';
+$TEXT['PRIVATE_VIEWERS'] = 'Yksityiset';
+$TEXT['EXPAND'] = 'Laajenna';
+$TEXT['COLLAPSE'] = 'Kutista';
+$TEXT['MOVE_UP'] = 'Siirr&auml; yl&ouml;s';
+$TEXT['MOVE_DOWN'] = 'Aiirr&auml; alas';
+$TEXT['RENAME'] = 'Nime&auml; uudelleen';
+$TEXT['MODIFY_SETTINGS'] = 'Muuta asetuksia';
+$TEXT['MODIFY_CONTENT'] = 'Muokkaa sis&auml;lt&ouml;&auml;t';
+$TEXT['VIEW'] = 'Katsele';
+$TEXT['UP'] = 'Yl&ouml;s';
+$TEXT['FORGOTTEN_DETAILS'] = 'Salasa unohtunut?';
+$TEXT['NEED_TO_LOGIN'] = 'Kirjaudu?';
+$TEXT['SEND_DETAILS'] = 'L&auml;het&auml; tiedot';
+$TEXT['USERNAME'] = 'K&auml;ytt&auml;j&auml;nimi';
+$TEXT['PASSWORD'] = 'Salasana';
+$TEXT['HOME'] = 'Koti';
+$TEXT['TARGET_FOLDER'] = 'Kohdekansio';
+$TEXT['OVERWRITE_EXISTING'] = 'Korvaa';
+$TEXT['FILE'] = 'Tiedosto';
+$TEXT['FILES'] = 'Tiedostot';
+$TEXT['FOLDER'] = 'Kansio';
+$TEXT['FOLDERS'] = 'Kansiot';
+$TEXT['CREATE_FOLDER'] = 'Luo kansio';
+$TEXT['UPLOAD_FILES'] = 'Lataa palvelimelle';
+$TEXT['CURRENT_FOLDER'] = 'Nykyinen kansio';
+$TEXT['TO'] = 'Minne';
+$TEXT['FROM'] = 'Mist&auml;';
+$TEXT['INSTALL'] = 'Asenna';
+$TEXT['UNINSTALL'] = 'Poista';
+$TEXT['VIEW_DETAILS'] = 'N&auml;yt&auml; tiedot';
+$TEXT['DISPLAY_NAME'] = 'Nimi';
+$TEXT['AUTHOR'] = 'Luonut';
+$TEXT['VERSION'] = 'Versio';
+$TEXT['DESIGNED_FOR'] = 'Suunniteltu';
+$TEXT['DESCRIPTION'] = 'Kuvaus';
+$TEXT['EMAIL'] = 'S&auml;hk&ouml;posti';
+$TEXT['LANGUAGE'] = 'Kieli';
+$TEXT['TIMEZONE'] = 'Aikavy&ouml;hyke';
+$TEXT['CURRENT_PASSWORD'] = 'Vanha salasana';
+$TEXT['NEW_PASSWORD'] = 'Uusi salasana';
+$TEXT['RETYPE_NEW_PASSWORD'] = 'Kirjoita uudelleen';
+$TEXT['ACTIVE'] = 'K&auml;yt&ouml;ss&auml;';
+$TEXT['DISABLED'] = 'Poistettu k&auml;yt&ouml;st&auml;';
+$TEXT['ENABLED'] = 'Salli';
+$TEXT['RETYPE_PASSWORD'] = 'Kirjoita uudeleen';
+$TEXT['GROUP'] = 'Ryhm&auml;';
+$TEXT['SYSTEM_PERMISSIONS'] = 'Oikeudet';
+$TEXT['MODULE_PERMISSIONS'] = 'Moduulien hallinta';
+$TEXT['SHOW_ADVANCED'] = 'N&auml;yt&auml; lis&auml;asetukset';
+$TEXT['HIDE_ADVANCED'] = 'Piilota lis&auml;asetukset';
+$TEXT['BASIC'] = 'Perus';
+$TEXT['ADVANCED'] = 'Lis&auml;asetukset';
+$TEXT['WEBSITE'] = 'www-sivu';
+$TEXT['DEFAULT'] = 'Nykyinen';
+$TEXT['KEYWORDS'] = 'Avainsanat';
+$TEXT['TEXT'] = 'Teksti';
+$TEXT['HEADER'] = 'Yl&auml;tunniste';
+$TEXT['FOOTER'] = 'Alatunniste';
+$TEXT['TEMPLATE'] = 'Sivupohja';
+$TEXT['THEME'] = 'Backend-Theme';
+$TEXT['INSTALLATION'] = 'Asentaminen';
+$TEXT['DATABASE'] = 'Tietokanta';
+$TEXT['HOST'] = 'Palvelin';
+$TEXT['INTRO'] = 'Esisivu';
+$TEXT['PAGE'] = 'Sivu';
+$TEXT['SIGNUP'] = 'Rekister&ouml;ityminen';
+$TEXT['PHP_ERROR_LEVEL'] = 'PHP:n virheraportointitapa';
+$TEXT['ADMIN'] = 'Admin';
+$TEXT['PATH'] = 'Polku';
+$TEXT['URL'] = 'URL';
+$TEXT['FRONTEND'] = 'Johdanto';
+$TEXT['EXTENSION'] = 'Liite';
+$TEXT['TABLE_PREFIX'] = 'Taulukon ominaisuudet';
+$TEXT['CHANGES'] = 'Muutokset';
+$TEXT['ADMINISTRATION'] = 'Administration';
+$TEXT['FORGOT_DETAILS'] = 'Peruuta tiedot?';
+$TEXT['LOGGED_IN'] = 'Kirjautunut';
+$TEXT['WELCOME_BACK'] = 'N&auml;kemiin';
+$TEXT['FULL_NAME'] = 'Nimi';
+$TEXT['ACCOUNT_SIGNUP'] = 'Kirjaunut';
+$TEXT['LINK'] = 'Linkki';
+$TEXT['ANCHOR'] = 'Anchor';
+$TEXT['TARGET'] = 'Kohde';
+$TEXT['NEW_WINDOW'] = 'Uuteen ikkunaan';
+$TEXT['SAME_WINDOW'] = 'Nykyiseen ikkunaan';
+$TEXT['TOP_FRAME'] = 'Frameset sprengen';
+$TEXT['PAGE_LEVEL_LIMIT'] = 'Tasoja enint&auml;&auml;n';
+$TEXT['SUCCESS'] = 'Onnistui';
+$TEXT['ERROR'] = 'Virhe';
+$TEXT['ARE_YOU_SURE'] = 'Oletko varma?';
+$TEXT['YES'] = 'Kyll&auml;';
+$TEXT['NO'] = 'Ei';
+$TEXT['SYSTEM_DEFAULT'] = 'Oletus';
+$TEXT['PAGE_TITLE'] = 'Sivun otsikko';
+$TEXT['MENU_TITLE'] = 'Valikkoteksti';
+$TEXT['ACTIONS'] = 'Tila';
+$TEXT['UNKNOWN'] = 'Tuntematon';
+$TEXT['BLOCK'] = 'Tekstialue';
+$TEXT['SEARCH'] = 'Etsi';
+$TEXT['SEARCHING'] = 'Etsii..';
+$TEXT['POST'] = 'Liite';
+$TEXT['COMMENT'] = 'Kommentti';
+$TEXT['COMMENTS'] = 'Kommentit';
+$TEXT['COMMENTING'] = 'Kommentoi';
+$TEXT['SHORT'] = 'Lyhyesti';
+$TEXT['LONG'] = 'Lis&auml;&auml;';
+$TEXT['LOOP'] = 'Silmukka';
+$TEXT['FIELD'] = 'Kentt&auml;';
+$TEXT['REQUIRED'] = 'Pakollinen';
+$TEXT['LENGTH'] = 'Pituus';
+$TEXT['MESSAGE'] = 'Viesti';
+$TEXT['SUBJECT'] = 'Aihe';
+$TEXT['MATCH'] = 'Vastaavuus';
+$TEXT['ALL_WORDS'] = 'Joka sana';
+$TEXT['ANY_WORDS'] = 'Jokin sanoista';
+$TEXT['EXACT_MATCH'] = 'Tarkalleen';
+$TEXT['SHOW'] = 'N&auml;yt&auml;';
+$TEXT['HIDE'] = 'Piilota';
+$TEXT['START_PUBLISHING'] = 'Julkaise';
+$TEXT['FINISH_PUBLISHING'] = 'Lopeta julkaisu';
+$TEXT['DATE'] = 'P&auml;iv&auml;ys';
+$TEXT['START'] = 'Alku';
+$TEXT['END'] = 'Loppu';
+$TEXT['IMAGE'] = 'Kuva';
+$TEXT['ICON'] = 'Kuvake';
+$TEXT['SECTION'] = 'Osa';
+$TEXT['DATE_FORMAT'] = 'P&auml;iv&auml;yksen muoto';
+$TEXT['TIME_FORMAT'] = 'Ajan muoto ';
+$TEXT['RESULTS'] = 'Tulokset';
+$TEXT['RESIZE'] = 'Muuta kokoa';
+$TEXT['MANAGE'] = 'Hallinnoi';
+$TEXT['CODE'] = 'Koodi';
+$TEXT['WIDTH'] = 'Leveys';
+$TEXT['HEIGHT'] = 'Korkeus';
+$TEXT['MORE'] = 'Lis&auml;&auml;';
+$TEXT['READ_MORE'] = 'Lue lis&auml;&auml;..';
+$TEXT['CHANGE_SETTINGS'] = 'Muuta asetuksia';
+$TEXT['CURRENT_PAGE'] = 'Nykyinen sivu';
+$TEXT['CLOSE'] = 'Sulje';
+$TEXT['INTRO_PAGE'] = 'Esisivu';
+$TEXT['INSTALLATION_URL'] = 'Asennus URL';
+$TEXT['INSTALLATION_PATH'] = 'Asennuspolku';
+$TEXT['PAGE_EXTENSION'] = 'Sivun tarkennin';
+$TEXT['NO_RESULTS'] = 'Ei l&ouml;ytynyt';
+$TEXT['WEBSITE_TITLE'] = 'Sivuston otsikko';
+$TEXT['WEBSITE_DESCRIPTION'] = 'Sivuston kuvaus';
+$TEXT['WEBSITE_KEYWORDS'] = 'Sivusaton avainsanat';
+$TEXT['WEBSITE_HEADER'] = 'Johdanto';
+$TEXT['WEBSITE_FOOTER'] = 'Alatunniste';
+$TEXT['RESULTS_HEADER'] = 'Tulokset';
+$TEXT['RESULTS_LOOP'] = 'Tulossilmukka';
+$TEXT['RESULTS_FOOTER'] = 'Alatuniste';
+$TEXT['LEVEL'] = 'Taso';
+$TEXT['NOT_FOUND'] = 'Ei l&ouml;ytynyt';
+$TEXT['PAGE_SPACER'] = 'Sivujen erotin ';
+$TEXT['MATCHING'] = 'Etsii';
+$TEXT['TEMPLATE_PERMISSIONS'] = 'Sivupohjat';
+$TEXT['PAGES_DIRECTORY'] = 'Sivukansio';
+$TEXT['MEDIA_DIRECTORY'] = 'Tiedostokansio';
+$TEXT['FILE_MODE'] = 'Tiedostomuoto';
+$TEXT['USER'] = 'K&auml;ytt&auml;j&auml;';
+$TEXT['OTHERS'] = 'Muut';
+$TEXT['READ'] = 'Lue';
+$TEXT['WRITE'] = 'Kirjoita';
+$TEXT['EXECUTE'] = 'Suorita';
+$TEXT['SMART_LOGIN'] = 'Kirjautuminen';
+$TEXT['REMEMBER_ME'] = 'Palauta ';
+$TEXT['FILESYSTEM_PERMISSIONS'] = 'Tiedosto-oikeudet';
+$TEXT['DIRECTORIES'] = 'Kansiot';
+$TEXT['DIRECTORY_MODE'] = 'Kansion muoto';
+$TEXT['LIST_OPTIONS'] = 'Listan tyyppi';
+$TEXT['OPTION'] = 'Lis&auml;asteus';
+$TEXT['ALLOW_MULTIPLE_SELECTIONS'] = 'Salli monivalinta';
+$TEXT['TEXTFIELD'] = 'Tekstikentt&auml;';
+$TEXT['TEXTAREA'] = 'Tekstialue';
+$TEXT['SELECT_BOX'] = 'Valinta';
+$TEXT['CHECKBOX_GROUP'] = 'Valintaryhm&auml;';
+$TEXT['RADIO_BUTTON_GROUP'] = 'Radiopainikkeet';
+$TEXT['SIZE'] = 'Koko';
+$TEXT['DEFAULT_TEXT'] = 'Oletusteksti';
+$TEXT['SEPERATOR'] = 'Erotin';
+$TEXT['BACK'] = 'Paluu';
+$TEXT['UNDER_CONSTRUCTION'] = 'Ty&ouml;n alla';
+$TEXT['MULTISELECT'] = 'Monivalinta';
+$TEXT['SHORT_TEXT'] = 'Lyhyesti';
+$TEXT['LONG_TEXT'] = 'Tarkemmin';
+$TEXT['HOMEPAGE_REDIRECTION'] = 'Kotisivun uudelleen ohjaus';
+$TEXT['HEADING'] = 'Otsikko';
+$TEXT['MULTIPLE_MENUS'] = 'Monivalikko';
+$TEXT['REGISTERED'] = 'Rekister&ouml;itynyt';
+$TEXT['SECTION_BLOCKS'] = 'Osa';
+$TEXT['REGISTERED_VIEWERS'] = 'Rekister&ouml;ity';
+$TEXT['ALLOWED_VIEWERS'] = 'Allowed Viewers';
+$TEXT['SUBMISSION_ID'] = 'Alasivun ID';
+$TEXT['SUBMISSIONS'] = 'Alasivu';
+$TEXT['SUBMITTED'] = 'Siirretty alisivuksi';
+$TEXT['MAX_SUBMISSIONS_PER_HOUR'] = 'Salasana l&auml;hetet&auml;&auml;n vain kerran tunnissa';
+$TEXT['SUBMISSIONS_STORED_IN_DATABASE'] = 'Salasana talletettu tietokantaan';
+$TEXT['EMAIL_ADDRESS'] = 'S&auml;hk&ouml;postiosoite';
+$TEXT['CUSTOM'] = 'Asiakas';
+$TEXT['ANONYMOUS'] = 'Anonyymi';
+$TEXT['SERVER_OPERATING_SYSTEM'] = 'Palvelimen k&auml;ytt&ouml;j&auml;rjestelm&auml;';
+$TEXT['WORLD_WRITEABLE_FILE_PERMISSIONS'] = 'Kirjoitusoikeudet';
+$TEXT['LINUX_UNIX_BASED'] = 'Linux/Unix';
+$TEXT['WINDOWS'] = 'Windows';
+$TEXT['HOME_FOLDER'] = 'Kotikansio';
+$TEXT['HOME_FOLDERS'] = 'Kotikansiot';
+$TEXT['PAGE_TRASH'] = 'Roskakori';
+$TEXT['INLINE'] = 'Per&auml;kk&auml;in';
+$TEXT['SEPARATE'] = 'Erill&auml;&auml;n';
+$TEXT['DELETED'] = 'Poistettu';
+$TEXT['VIEW_DELETED_PAGES'] = 'N&auml;yt&auml; poistetut';
+$TEXT['EMPTY_TRASH'] = 'Tyhjenn&auml; roskakori';
+$TEXT['TRASH_EMPTIED'] = 'Tyhjennetty';
+$TEXT['ADD_SECTION'] = 'Asenna osa';
+$TEXT['POST_HEADER'] = 'Alaotsikko';
+$TEXT['POST_FOOTER'] = 'Lis&auml;alaviite';
+$TEXT['POSTS_PER_PAGE'] = 'Osaa sivulla';
+$TEXT['RESIZE_IMAGE_TO'] = 'Muuta kuvan koko';
+$TEXT['UNLIMITED'] = 'Rajaton';
+$TEXT['OF'] = 'Of';
+$TEXT['OUT_OF'] = 'Out Of';
+$TEXT['NEXT'] = 'Seuraava';
+$TEXT['PREVIOUS'] = 'Edellinen';
+$TEXT['NEXT_PAGE'] = 'Seuraava sivu';
+$TEXT['PREVIOUS_PAGE'] = 'Edellinen sivu';
+$TEXT['ON'] = 'On';
+$TEXT['LAST_UPDATED_BY'] = 'P&auml;ivitetty';
+$TEXT['RESULTS_FOR'] = 'Tulokset';
+$TEXT['TIME'] = 'Aika';
+$TEXT['REDIRECT_AFTER'] = 'Redirect after';
+$TEXT['WYSIWYG_STYLE'] = 'WYSIWYG tyyli';
+$TEXT['WYSIWYG_EDITOR'] = 'WYSIWYG muokkain';
+$TEXT['SERVER_EMAIL'] = 'Palvelimen s&auml;hk&ouml;posti';
+$TEXT['MENU'] = 'Valikko';
+$TEXT['MANAGE_GROUPS'] = 'Ryhmien hallinta';
+$TEXT['MANAGE_USERS'] = 'K&auml;ytt&auml;j&auml;hallinta';
+$TEXT['PAGE_LANGUAGES'] = 'Sivun kieli';
+$TEXT['HIDDEN'] = 'Piilotettu';
+$TEXT['MAIN'] = 'P&auml;&auml;';
+$TEXT['RENAME_FILES_ON_UPLOAD'] = 'Nime&auml; ladatut';
+$TEXT['APP_NAME'] = 'Sovelluksen nimi';
+$TEXT['SESSION_IDENTIFIER'] = 'Tunniste';
+$TEXT['SEC_ANCHOR'] = 'Section-Anchor text';
+$TEXT['BACKUP'] = 'Varmuuskopioi';
+$TEXT['RESTORE'] = 'Palauta';
+$TEXT['BACKUP_DATABASE'] = 'Varmista tietokanta';
+$TEXT['RESTORE_DATABASE'] = 'Palauta tietokanta';
+$TEXT['BACKUP_ALL_TABLES'] = 'Backup all tables in database';
+$TEXT['BACKUP_WB_SPECIFIC'] = 'Backup only WB-specific tables';
+$TEXT['BACKUP_MEDIA'] = 'Varmista...';
+$TEXT['RESTORE_MEDIA'] = 'Palauta...';
+$TEXT['ADMINISTRATION_TOOL'] = 'Ty&ouml;kalu';
+$TEXT['CAPTCHA_VERIFICATION'] = 'Captcha varmistus';
+$TEXT['VERIFICATION'] = 'Varmistus';
+$TEXT['DEFAULT_CHARSET'] = 'Oletusmerkrkist&ouml;';
+$TEXT['CHARSET'] = 'Merkist&ouml;';
+$TEXT['MODULE_ORDER'] = 'Module-order for searching';
+$TEXT['MAX_EXCERPT'] = 'Max lines of excerpt';
+$TEXT['TIME_LIMIT'] = 'Max time to gather excerpts per module';
+$TEXT['PUBL_START_DATE'] = 'Start date';
+$TEXT['PUBL_END_DATE'] = 'End date';
+$TEXT['CALENDAR'] = 'Calender';
+$TEXT['DELETE_DATE'] = 'Delete date';
+$TEXT['WBMAILER_DEFAULT_SETTINGS_NOTICE'] = 'Please specify a default "FROM" address and "SENDER" name below. It is recommended to use a FROM address like: <strong>admin@yourdomain.com</strong>. Some mail provider (e.g. <em>mail.com</em>) may reject mails with a FROM: address like <em>name@mail.com</em> sent via a foreign relay to avoid spam.<br /><br />The default values are only used if no other values are specified by WebsiteBaker. If your server supports <acronym title="Simple mail transfer protocol">SMTP</acronym>, you may want use this option for outgoing mails.';
+$TEXT['WBMAILER_DEFAULT_SENDER_MAIL'] = 'Default From Mail';
+$TEXT['WBMAILER_DEFAULT_SENDER_NAME'] = 'Default Sender Name';
+$TEXT['WBMAILER_NOTICE'] = '<strong>SMTP Mailer Settings:</strong><br />The settings below are only required if you want to send mails via <acronym title="Simple mail transfer protocol">SMTP</acronym>. If you do not know your SMTP host or you are not sure about the required settings, simply stay with the default mail routine: PHP MAIL.';
+$TEXT['WBMAILER_FUNCTION'] = 'Mail Routine';
+$TEXT['WBMAILER_SMTP_HOST'] = 'SMTP Host';
+$TEXT['WBMAILER_PHP'] = 'PHP MAIL';
+$TEXT['WBMAILER_SMTP'] = 'SMTP';
+$TEXT['WBMAILER_SMTP_AUTH'] = 'SMTP Authentification';
+$TEXT['WBMAILER_SMTP_AUTH_NOTICE'] = 'only activate if your SMTP host requires authentification';
+$TEXT['WBMAILER_SMTP_USERNAME'] = 'SMTP Username';
+$TEXT['WBMAILER_SMTP_PASSWORD'] = 'SMTP Password';
+$TEXT['PLEASE_LOGIN'] = 'Please login';
+$TEXT['CAP_EDIT_CSS'] = 'Edit CSS';
+$TEXT['HEADING_CSS_FILE'] = 'Actual module file: ';
+$TEXT['TXT_EDIT_CSS_FILE'] = 'Edit the CSS definitions in the textarea below.';
+$TEXT['CODE_SNIPPET'] = "Code-snippet";
+$TEXT['REQUIREMENT'] = "Requirement";
+$TEXT['INSTALLED'] = "installed";
+$TEXT['NOT_INSTALLED'] = "not installed";
+$TEXT['ADDON'] = "Add-On";
+$TEXT['EXTENSION'] = "Extension";
+$TEXT['UNZIP_FILE'] = "Upload and unpack a zip archive";
+$TEXT['DELETE_ZIP'] = "Delete zip archive after unpacking";
+
+// Success/error messages
+$MESSAGE['FRONTEND']['SORRY_NO_VIEWING_PERMISSIONS'] = 'Oikeutesi eiv&auml;t riit&auml;...';
+$MESSAGE['FRONTEND']['SORRY_NO_ACTIVE_SECTIONS'] = 'Sorry, no active content to display';
+
+$MESSAGE['ADMIN']['INSUFFICIENT_PRIVELLIGES'] = 'Oikeutesi eiv&auml;t riit&auml;...';
+
+$MESSAGE['LOGIN']['BOTH_BLANK'] = 'Kirjoita k&auml;ytt&auml;j&auml;tunnus ja salasana';
+$MESSAGE['LOGIN']['USERNAME_BLANK'] = 'K&auml;ytt&auml;j&auml;tunnus!';
+$MESSAGE['LOGIN']['PASSWORD_BLANK'] = 'Salasana';
+$MESSAGE['LOGIN']['USERNAME_TOO_SHORT'] = 'Tunnus liian lyhyt';
+$MESSAGE['LOGIN']['PASSWORD_TOO_SHORT'] = 'Salasana liian lyhyt';
+$MESSAGE['LOGIN']['USERNAME_TOO_LONG'] = 'Lian pitk&auml; tunnus';
+$MESSAGE['LOGIN']['PASSWORD_TOO_LONG'] = 'Liian pitk&auml; salasana';
+$MESSAGE['LOGIN']['AUTHENTICATION_FAILED'] = 'K&auml;ytt&auml;j&auml;tunnus/salsana v&auml;&auml;r&auml;';
+
+$MESSAGE['SIGNUP']['NO_EMAIL'] = 'Anna s&auml;hk&ouml;postiosoite';
+$MESSAGE['SIGNUP2']['SUBJECT_LOGIN_INFO'] = 'Your login details...';
+$MESSAGE['SIGNUP2']['BODY_LOGIN_INFO'] = <<< EOT
+Hello {LOGIN_DISPLAY_NAME},
+
+Your '{LOGIN_WEBSITE_TITLE}' login details are:
+Username: {LOGIN_NAME}
+Password: {LOGIN_PASSWORD}
+
+Your password has been set to the one above.
+This means that your old password will no longer work.
+
+If you have received this message in error, please delete it immediately.
+EOT;
+
+$MESSAGE['FORGOT_PASS']['NO_DATA'] = 'Anna s&auml;hk&ouml;postiosoite';
+$MESSAGE['FORGOT_PASS']['EMAIL_NOT_FOUND'] = 'Virheellinen s&auml;hk&ouml;postiosoite';
+$MESSAGE['FORGOT_PASS']['CANNOT_EMAIL'] = 'Salasanan postitus ei onnistu, ota yhteytt&auml; p&auml;&auml;k&auml;ytt&auml;j&auml;&auml;n';
+$MESSAGE['FORGOT_PASS']['PASSWORD_RESET'] = 'Salasana ja k&auml;ytt&auml;j&auml;tunnus postitettu';
+$MESSAGE['FORGOT_PASS']['ALREADY_RESET'] = 'Salasanan vaiho vain kerran tunnissa!';
+
+$MESSAGE['START']['WELCOME_MESSAGE'] = 'Tervetuloa sivuston hallintaan';
+$MESSAGE['START']['INSTALL_DIR_EXISTS'] = 'Poista asennuskansio!';
+$MESSAGE['START']['CURRENT_USER'] = 'Olet kirjautunut nimell&auml;:';
+
+$MESSAGE['SETTINGS']['UNABLE_OPEN_CONFIG'] = 'Konfigurointitiedostoa ei voi vavata';
+$MESSAGE['SETTINGS']['UNABLE_WRITE_CONFIG'] = 'Konfiguraation kirjoitus ei onnistu';
+$MESSAGE['SETTINGS']['SAVED'] = 'Asetusten talletus onnitui';
+$MESSAGE['SETTINGS']['MODE_SWITCH_WARNING'] = 'Klikattaessa h&auml;vi&auml;v&auml;t kaikki tallettamattomat muutokset';
+$MESSAGE['SETTINGS']['WORLD_WRITEABLE_WARNING'] = 'Susitellaan ainoastaan testitarkoituksiin';
+
+$MESSAGE['USERS']['ADDED'] = 'Lis&auml;tty';
+$MESSAGE['USERS']['SAVED'] = 'Talletettu';
+$MESSAGE['USERS']['DELETED'] = 'Poistettu';
+$MESSAGE['USERS']['NO_GROUP'] = 'Valitse ryhm&auml;!';
+$MESSAGE['USERS']['USERNAME_TOO_SHORT'] = 'K&auml;ytt&auml;j&auml;tunnus liian lyhyt';
+$MESSAGE['USERS']['PASSWORD_TOO_SHORT'] = 'Salasana liian lyhyt';
+$MESSAGE['USERS']['PASSWORD_MISMATCH'] = 'Salasanat eiv&auml;t t&auml;sm&auml;&auml;';
+$MESSAGE['USERS']['INVALID_EMAIL'] = 'Virheellinen s&auml;hk&ouml;postiosoite';
+$MESSAGE['USERS']['EMAIL_TAKEN'] = 'S&auml;hk&ouml;postiosoite k&auml;yt&ouml;ss&auml;!';
+$MESSAGE['USERS']['USERNAME_TAKEN'] = 'K&auml;ytt&auml;j&auml;tynnus varattu, valitse uusi';
+$MESSAGE['USERS']['CHANGING_PASSWORD'] = 'Jos haluat vaihtaa salasanan, t&auml;yt&auml; vain ko kent&auml;t';
+$MESSAGE['USERS']['CONFIRM_DELETE'] = 'Haluatko poistaa k&auml;ytt&auml;j&auml;n?';
+
+$MESSAGE['GROUPS']['ADDED'] = 'Ryhm&auml;n lis&auml;ys onnistui';
+$MESSAGE['GROUPS']['SAVED'] = 'Rym&auml; talletettu';
+$MESSAGE['GROUPS']['DELETED'] = 'Ryhm&auml; poistettu';
+$MESSAGE['GROUPS']['GROUP_NAME_BLANK'] = 'Ryhm&auml;n nimi puuttuu';
+$MESSAGE['GROUPS']['CONFIRM_DELETE'] = 'Haluatko poistaa ryhm&auml;n ja kakki sen k&auml;ytt&auml;j&auml;t?';
+$MESSAGE['GROUPS']['NO_GROUPS_FOUND'] = 'Ryhm&auml;&auml; ei l&ouml;ydy';
+$MESSAGE['GROUPS']['GROUP_NAME_EXISTS'] = 'Ryhm&auml;n nimi varattu';
+
+$MESSAGE['PREFERENCES']['DETAILS_SAVED'] = 'Tiedot tallennettu';
+$MESSAGE['PREFERENCES']['EMAIL_UPDATED'] = 'S&auml;hp&ouml;stiosoite p&auml;ivitetty';
+$MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT'] = 'Nykyinen salasana v&auml;&auml;r&auml;';
+$MESSAGE['PREFERENCES']['PASSWORD_CHANGED'] = 'Salasanan vaiho onnistui';
+
+$MESSAGE['TEMPLATES']['CHANGE_TEMPLATE_NOTICE'] = 'Sivupohjan voi vaihtaa asetukset-kohdasta';
+
+$MESSAGE['MEDIA']['DIR_DOT_DOT_SLASH'] = 'Merkki ../ ei kelpaa ';
+$MESSAGE['MEDIA']['DIR_DOES_NOT_EXIST'] = 'Kansion nimi varattu';
+$MESSAGE['MEDIA']['TARGET_DOT_DOT_SLASH'] = 'Merkki&auml; ../ ei voi k&auml;ytt&auml;&auml; ';
+$MESSAGE['MEDIA']['NAME_DOT_DOT_SLASH'] = 'Merkki&auml; ../ ei voi k&auml;ytt&auml;&auml;';
+$MESSAGE['MEDIA']['NAME_INDEX_PHP'] = 'Nimi index.php ei kelpaa';
+$MESSAGE['MEDIA']['NONE_FOUND'] = 'Tiedostokansio tyhj&auml;';
+$MESSAGE['MEDIA']['FILE_NOT_FOUND'] = 'Tiedostoa ei l&ouml;ydy';
+$MESSAGE['MEDIA']['DELETED_FILE'] = ' Tiedosto pistettu';
+$MESSAGE['MEDIA']['DELETED_DIR'] = 'Kansio poistettu';
+$MESSAGE['MEDIA']['CONFIRM_DELETE'] = 'Halutko poistaa tiedoston/kansion?';
+$MESSAGE['MEDIA']['CANNOT_DELETE_FILE'] = 'Tiedostoa ei voi poistaa';
+$MESSAGE['MEDIA']['CANNOT_DELETE_DIR'] = 'Kansion poistamienen ei onnistu';
+$MESSAGE['MEDIA']['BLANK_NAME'] = 'Et antanut nime&auml;';
+$MESSAGE['MEDIA']['BLANK_EXTENSION'] = 'Et kirjoittanut tiedoston tarkennetta';
+$MESSAGE['MEDIA']['RENAMED'] = 'Udelleen nimetty';
+$MESSAGE['MEDIA']['CANNOT_RENAME'] = 'Ei voinut uudelleen nimet&auml;';
+$MESSAGE['MEDIA']['FILE_EXISTS'] = 'Saman niminen tiedosto olemassa';
+$MESSAGE['MEDIA']['DIR_EXISTS'] = 'Saman niminen kansio olemassa';
+$MESSAGE['MEDIA']['DIR_MADE'] = 'Kansio luotu';
+$MESSAGE['MEDIA']['DIR_NOT_MADE'] = 'Kansiota ei voi luoda';
+$MESSAGE['MEDIA']['SINGLE_UPLOADED'] = ' tiedosto ladattu';
+$MESSAGE['MEDIA']['UPLOADED'] = ' tiedostot ladattu';
+
+$MESSAGE['PAGES']['ADDED'] = 'Sivu lis&auml;tty';
+$MESSAGE['PAGES']['ADDED_HEADING'] = 'Otsikko lis&auml;tty';
+$MESSAGE['PAGES']['PAGE_EXISTS'] = 'Otsikko k&auml;yt&ouml;ss&auml;';
+$MESSAGE['PAGES']['CANNOT_CREATE_ACCESS_FILE'] = 'K&auml;ytt&ouml;oiketesi eiv&auml;t riit&auml;';
+$MESSAGE['PAGES']['CANNOT_DELETE_ACCESS_FILE'] = 'Oikeutesi eiv&auml;t riit&auml;';
+$MESSAGE['PAGES']['NOT_FOUND'] = 'Sivua ei l&ouml;ydy';
+$MESSAGE['PAGES']['SAVED'] = 'Sivu tallennettu';
+$MESSAGE['PAGES']['SAVED_SETTINGS'] = 'Sivun asetukset tallennettu';
+$MESSAGE['PAGES']['NOT_SAVED'] = 'Tannennusvirhe!';
+$MESSAGE['PAGES']['DELETE_CONFIRM'] = 'Poistetaanko sivu ja sen alisivut?';
+$MESSAGE['PAGES']['DELETED'] = 'Sivu poistettu';
+$MESSAGE['PAGES']['RESTORED'] = 'Sivusto tallennettu';
+$MESSAGE['PAGES']['BLANK_PAGE_TITLE'] = 'Kirjoita sivun nimi';
+$MESSAGE['PAGES']['BLANK_MENU_TITLE'] = 'Kirjoita valikkon tule teksti';
+$MESSAGE['PAGES']['REORDERED'] = 'Sivut j&auml;rjestelty uudelleen';
+$MESSAGE['PAGES']['CANNOT_REORDER'] = 'Sivujen j&auml;rjestely ei onnistu';
+$MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS'] = 'Oikeutesi eiv&auml;t riit&auml;';
+$MESSAGE['PAGES']['INTRO_NOT_WRITABLE'] = 'Ei voi kirjoittaa /pages/intro.php (oikeutesi eiv&auml;t riit&auml;)';
+$MESSAGE['PAGES']['INTRO_SAVED'] = 'Esisivu tallennettu';
+$MESSAGE['PAGES']['LAST_MODIFIED'] = 'P&auml;ivitt&auml;nyt';
+$MESSAGE['PAGES']['INTRO_LINK'] = 'Muuta esisivua';
+$MESSAGE['PAGES']['SECTIONS_PROPERTIES_SAVED'] = 'Asetukset tallennettu';
+$MESSAGE['PAGES']['RETURN_TO_PAGES'] = 'Palaa sivuille...';
+
+$MESSAGE['GENERIC']['FILL_IN_ALL'] = 'Palaa ja t&auml;yt&auml; kaikki kent&auml;t';
+$MESSAGE['GENERIC']['FILE_TYPE'] = 'Tiedostotyypin tulee olla jokin seuraavista:';
+$MESSAGE['GENERIC']['FILE_TYPES'] = 'Tiedostotyypin tulee olla jjokin seuraavista:';
+$MESSAGE['GENERIC']['CANNOT_UPLOAD'] = 'Lataus ei onnistu';
+$MESSAGE['GENERIC']['ALREADY_INSTALLED'] = 'Asennettu, uudelleen asennus ei onnistu';
+$MESSAGE['GENERIC']['NOT_INSTALLED'] = 'Ei ole asennettu';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL'] = 'Ei voi poistaa';
+$MESSAGE['GENERIC']['CANNOT_UNZIP'] = 'Zip-tiedostoa ei voi purkaa';
+$MESSAGE['GENERIC']['INSTALLED'] = 'Asennettu';
+$MESSAGE['GENERIC']['UPGRADED'] = 'P&auml;ivitetty';
+$MESSAGE['GENERIC']['UNINSTALLED'] = 'Poistettu';
+$MESSAGE['GENERIC']['BAD_PERMISSIONS'] = 'Kohdekansioon ei voi kirjoittaa';
+$MESSAGE['GENERIC']['INVALID'] = 'Ladatussa tiedostossa virhe';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE'] = 'Tiedosto k&auml;yt&ouml;ss&auml;, tiedostoa ei voi poistaa';
+
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL'] = "<br /><br />{{type}} <b>{{type_name}}</b> could not be uninstalled, because it is still in use on {{pages}}.<br /><br />";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL_PAGES'] = "this page;these pages";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IS_DEFAULT_TEMPLATE'] = "Can't uninstall the template <b>{{name}}</b>, because it is the default template!";
+
+$MESSAGE['GENERIC']['WEBSITE_UNDER_CONSTRUCTION'] = 'Website Under Construction';
+$MESSAGE['GENERIC']['PLEASE_CHECK_BACK_SOON'] = 'Tervetuluoa my&ouml;hemmin...';
+$MESSAGE['GENERIC']['PLEASE_BE_PATIENT'] = 'Hetkinen...';
+$MESSAGE['GENERIC']['ERROR_OPENING_FILE'] = 'Virhe tiedostoa avattaessa.';
+$MESSAGE['GENERIC']['INVALID_ADDON_FILE'] = 'Invalid WebsiteBaker installation file. Please check the *.zip format.';
+$MESSAGE['GENERIC']['INVALID_LANGUAGE_FILE'] = 'Invalid WebsiteBaker language file. Please check the text file.';
+
+$MESSAGE['MOD_FORM']['REQUIRED_FIELDS'] = 'T&auml;yt&auml; kent&auml;t';
+$MESSAGE['MOD_FORM']['EXCESS_SUBMISSIONS'] = 'Rajoitus voimassa, yrit&auml; tunnin kuluttua uudelleen';
+$MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA'] = 'Tarkistusluku (Captcha) virheellinen ';
+
+$MESSAGE['ADDON']['RELOAD'] = 'Update database with information from Add-on files (e.g. after FTP upload).';
+$MESSAGE['ADDON']['ERROR_RELOAD'] = 'Error while updating the Add-On information.';
+$MESSAGE['ADDON']['MODULES_RELOADED'] = 'Moduulin lataus onnistui';
+$MESSAGE['ADDON']['TEMPLATES_RELOADED'] = 'Sivupohjan lataus onnistui';
+$MESSAGE['ADDON']['LANGUAGES_RELOADED'] = 'Kielen lataus onnistui';
+$MESSAGE['ADDON']['PRECHECK_FAILED'] = 'Add-on installation failed. Your system does not fulfill the requirements of this Add-on. To make this Add-on working on your system, please fix the issues summarized below.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION'] = 'When modules are uploaded via FTP (not recommended), the module installation files <tt>install.php</tt>, <tt>upgrade.php</tt> or <tt>uninstall.php</tt> will not be executed automatically. Those modules may not work correct or do not uninstall properly.<br /><br />You can execute the module files manually for modules uploaded via FTP below.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION_WARNING'] = 'Warning: Existing module database entries will get lost. Only use this option if you experience problems with modules uploaded via FTP.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/languages/FI.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/languages/EN.php
===================================================================
--- tags/2.8.2/wb/languages/EN.php	(nonexistent)
+++ tags/2.8.2/wb/languages/EN.php	(revision 1481)
@@ -0,0 +1,595 @@
+<?php
+/**
+ *
+ * @category        framework
+ * @package         language
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// use languageedit-module to modify this file
+
+// Define that this file is loaded
+if(!defined('LANGUAGE_LOADED')) {
+define('LANGUAGE_LOADED', true);
+}
+
+// Set the language information
+$language_code = 'EN';
+$language_name = 'English';
+$language_version = '2.8';
+$language_platform = '2.8.x';
+$language_author = 'Ryan Djurovich, Christian Sommer';
+$language_license = 'GNU General Public License';
+
+// Menu titles
+$MENU['START'] = 'Start';
+$MENU['PAGES'] = 'Pages';
+$MENU['MEDIA'] = 'Media';
+$MENU['ADDONS'] = 'Add-ons';
+$MENU['MODULES'] = 'Modules';
+$MENU['TEMPLATES'] = 'Templates';
+$MENU['LANGUAGES'] = 'Languages';
+$MENU['PREFERENCES'] = 'Preferences';
+$MENU['SETTINGS'] = 'Settings';
+$MENU['ADMINTOOLS'] = 'Admin-Tools';
+$MENU['ACCESS'] = 'Access';
+$MENU['USERS'] = 'Users';
+$MENU['GROUPS'] = 'Groups';
+$MENU['HELP'] = 'Help';
+$MENU['VIEW'] = 'View';
+$MENU['LOGOUT'] = 'Log-out';
+$MENU['LOGIN'] = 'Login';
+$MENU['FORGOT'] = 'Retrieve Login Details';
+
+// Section overviews
+$OVERVIEW['START'] = 'Administration overview';
+$OVERVIEW['PAGES'] = 'Manage your websites pages...';
+$OVERVIEW['MEDIA'] = 'Manage files stored in the media folder...';
+$OVERVIEW['MODULES'] = 'Manage WebsiteBaker modules...';
+$OVERVIEW['TEMPLATES'] = 'Change the look and feel of your website with templates...';
+$OVERVIEW['LANGUAGES'] = 'Manage WebsiteBaker languages...';
+$OVERVIEW['PREFERENCES'] = 'Change preferences such as email address, password, etc... ';
+$OVERVIEW['SETTINGS'] = 'Changes settings for WebsiteBaker...';
+$OVERVIEW['USERS'] = 'Manage users who can log-in to WebsiteBaker...';
+$OVERVIEW['GROUPS'] = 'Manage user groups and their system permissions...';
+$OVERVIEW['HELP'] = 'Got a questions? Find your answer...';
+$OVERVIEW['VIEW'] = 'Quickly view and browse your website in a new window...';
+$OVERVIEW['ADMINTOOLS'] = 'Access the WebsiteBaker administration tools...';
+
+// Headings
+$HEADING['MODIFY_DELETE_PAGE'] = 'Modify/Delete Page';
+$HEADING['DELETED_PAGES'] = 'Deleted Pages';
+$HEADING['ADD_PAGE'] = 'Add Page';
+$HEADING['ADD_HEADING'] = 'Add Heading';
+$HEADING['MODIFY_PAGE'] = 'Modify Page';
+$HEADING['MODIFY_PAGE_SETTINGS'] = 'Modify Page Settings';
+$HEADING['MODIFY_ADVANCED_PAGE_SETTINGS'] = 'Modify Advanced Page Settings';
+$HEADING['MANAGE_SECTIONS'] = 'Manage Sections';
+$HEADING['MODIFY_INTRO_PAGE'] = 'Modify Intro Page';
+
+$HEADING['BROWSE_MEDIA'] = 'Browse Media';
+$HEADING['CREATE_FOLDER'] = 'Create Folder';
+$HEADING['UPLOAD_FILES'] = 'Upload File(s)';
+
+$HEADING['INSTALL_MODULE'] = 'Install Module';
+$HEADING['UNINSTALL_MODULE'] = 'Uninstall Module';
+$HEADING['MODULE_DETAILS'] = 'Module Details';
+
+$HEADING['INSTALL_TEMPLATE'] = 'Install Template';
+$HEADING['UNINSTALL_TEMPLATE'] = 'Uninstall Template';
+$HEADING['TEMPLATE_DETAILS'] = 'Template Details';
+
+$HEADING['INSTALL_LANGUAGE'] = 'Install Language';
+$HEADING['UNINSTALL_LANGUAGE'] = 'Uninstall Language';
+$HEADING['LANGUAGE_DETAILS'] = 'Language Details';
+
+$HEADING['MY_SETTINGS'] = 'My Settings';
+$HEADING['MY_EMAIL'] = 'My Email';
+$HEADING['MY_PASSWORD'] = 'My Password';
+
+$HEADING['GENERAL_SETTINGS'] = 'General Settings';
+$HEADING['DEFAULT_SETTINGS'] = 'Default Settings';
+$HEADING['SEARCH_SETTINGS'] = 'Search Settings';
+$HEADING['FILESYSTEM_SETTINGS'] = 'Filesystem Settings';
+$HEADING['SERVER_SETTINGS'] = 'Server Settings';
+$HEADING['WBMAILER_SETTINGS'] = 'Mailer Settings';
+$HEADING['ADMINISTRATION_TOOLS'] = 'Administration Tools';
+
+$HEADING['MODIFY_DELETE_USER'] = 'Modify/Delete User';
+$HEADING['ADD_USER'] = 'Add User';
+$HEADING['MODIFY_USER'] = 'Modify User';
+
+$HEADING['MODIFY_DELETE_GROUP'] = 'Modify/Delete Group';
+$HEADING['ADD_GROUP'] = 'Add Group';
+$HEADING['MODIFY_GROUP'] = 'Modify Group';
+
+$HEADING['ADDON_PRECHECK_FAILED'] = 'Add-On requirements not met';
+$HEADING['INVOKE_MODULE_FILES'] = 'Execute module files manually';
+
+// Other text
+$TEXT['OPEN'] = 'Open';
+$TEXT['ADD'] = 'Add';
+$TEXT['MODIFY'] = 'Modify';
+$TEXT['SETTINGS'] = 'Settings';
+$TEXT['DELETE'] = 'Delete';
+$TEXT['SAVE'] = 'Save';
+$TEXT['RESET'] = 'Reset';
+$TEXT['LOGIN'] = 'Login';
+$TEXT['RELOAD'] = 'Reload';
+$TEXT['CANCEL'] = 'Cancel';
+$TEXT['NAME'] = 'Name';
+$TEXT['PLEASE_SELECT'] = 'Please select';
+$TEXT['TITLE'] = 'Title';
+$TEXT['PARENT'] = 'Parent';
+$TEXT['TYPE'] = 'Type';
+$TEXT['VISIBILITY'] = 'Visibility';
+$TEXT['PRIVATE'] = 'Private';
+$TEXT['PUBLIC'] = 'Public';
+$TEXT['NONE'] = 'None';
+$TEXT['NONE_FOUND'] = 'None Found';
+$TEXT['CURRENT'] = 'Current';
+$TEXT['CHANGE'] = 'Change';
+$TEXT['WINDOW'] = 'Window';
+$TEXT['DESCRIPTION'] = 'Description';
+$TEXT['KEYWORDS'] = 'Keywords';
+$TEXT['ADMINISTRATORS'] = 'Administrators';
+$TEXT['PRIVATE_VIEWERS'] = 'Private Viewers';
+$TEXT['EXPAND'] = 'Expand';
+$TEXT['COLLAPSE'] = 'Collapse';
+$TEXT['MOVE_UP'] = 'Move Up';
+$TEXT['MOVE_DOWN'] = 'Move Down';
+$TEXT['RENAME'] = 'Rename';
+$TEXT['MODIFY_SETTINGS'] = 'Modify Settings';
+$TEXT['MODIFY_CONTENT'] = 'Modify Content';
+$TEXT['VIEW'] = 'View';
+$TEXT['UP'] = 'Up';
+$TEXT['FORGOTTEN_DETAILS'] = 'Forgotten your details?';
+$TEXT['NEED_TO_LOGIN'] = 'Need to log-in?';
+$TEXT['SEND_DETAILS'] = 'Send Details';
+$TEXT['USERNAME'] = 'Username';
+$TEXT['PASSWORD'] = 'Password';
+$TEXT['HOME'] = 'Home';
+$TEXT['TARGET_FOLDER'] = 'Target folder';
+$TEXT['OVERWRITE_EXISTING'] = 'Overwrite existing';
+$TEXT['FILE'] = 'File';
+$TEXT['FILES'] = 'Files';
+$TEXT['FOLDER'] = 'Folder';
+$TEXT['FOLDERS'] = 'Folders';
+$TEXT['CREATE_FOLDER'] = 'Create Folder';
+$TEXT['UPLOAD_FILES'] = 'Upload File(s)';
+$TEXT['CURRENT_FOLDER'] = 'Current Folder';
+$TEXT['TO'] = 'To';
+$TEXT['FROM'] = 'From';
+$TEXT['INSTALL'] = 'Install';
+$TEXT['UNINSTALL'] = 'Uninstall';
+$TEXT['VIEW_DETAILS'] = 'View Details';
+$TEXT['DISPLAY_NAME'] = 'Display Name';
+$TEXT['AUTHOR'] = 'Author';
+$TEXT['VERSION'] = 'Version';
+$TEXT['DESIGNED_FOR'] = 'Designed For';
+$TEXT['DESCRIPTION'] = 'Description';
+$TEXT['EMAIL'] = 'Email';
+$TEXT['LANGUAGE'] = 'Language';
+$TEXT['TIMEZONE'] = 'Timezone';
+$TEXT['CURRENT_PASSWORD'] = 'Current Password';
+$TEXT['NEW_PASSWORD'] = 'New Password';
+$TEXT['RETYPE_NEW_PASSWORD'] = 'Re-type New Password';
+$TEXT['ACTIVE'] = 'Active';
+$TEXT['DISABLED'] = 'Disabled';
+$TEXT['ENABLED'] = 'Enabled';
+$TEXT['RETYPE_PASSWORD'] = 'Re-type Password';
+$TEXT['GROUP'] = 'Group';
+$TEXT['SYSTEM_PERMISSIONS'] = 'System Permissions';
+$TEXT['MODULE_PERMISSIONS'] = 'Module Permissions';
+$TEXT['SHOW_ADVANCED'] = 'Show Advanced Options';
+$TEXT['HIDE_ADVANCED'] = 'Hide Advanced Options';
+$TEXT['BASIC'] = 'Basic';
+$TEXT['ADVANCED'] = 'Advanced';
+$TEXT['WEBSITE'] = 'Website';
+$TEXT['DEFAULT'] = 'Default';
+$TEXT['KEYWORDS'] = 'Keywords';
+$TEXT['TEXT'] = 'Text';
+$TEXT['HEADER'] = 'Header';
+$TEXT['FOOTER'] = 'Footer';
+$TEXT['TEMPLATE'] = 'Template';
+$TEXT['THEME'] = 'Backend-Theme';
+$TEXT['INSTALLATION'] = 'Installation';
+$TEXT['DATABASE'] = 'Database';
+$TEXT['HOST'] = 'Host';
+$TEXT['INTRO'] = 'Intro';
+$TEXT['PAGE'] = 'Page';
+$TEXT['SIGNUP'] = 'Sign-up';
+$TEXT['PHP_ERROR_LEVEL'] = 'PHP Error Reporting Level';
+$TEXT['ADMIN'] = 'Admin';
+$TEXT['PATH'] = 'Path';
+$TEXT['URL'] = 'URL';
+$TEXT['FRONTEND'] = 'Front-end';
+$TEXT['EXTENSION'] = 'Extension';
+$TEXT['TABLE_PREFIX'] = 'Table Prefix';
+$TEXT['CHANGES'] = 'Changes';
+$TEXT['ADMINISTRATION'] = 'Administration';
+$TEXT['FORGOT_DETAILS'] = 'Forgot Details?';
+$TEXT['LOGGED_IN'] = 'Logged-In';
+$TEXT['WELCOME_BACK'] = 'Welcome back';
+$TEXT['FULL_NAME'] = 'Full Name';
+$TEXT['ACCOUNT_SIGNUP'] = 'Account Sign-Up';
+$TEXT['LINK'] = 'Link';
+$TEXT['ANCHOR'] = 'Anchor';
+$TEXT['TARGET'] = 'Target';
+$TEXT['NEW_WINDOW'] = 'New Window';
+$TEXT['SAME_WINDOW'] = 'Same Window';
+$TEXT['TOP_FRAME'] = 'Top Frame';
+$TEXT['PAGE_LEVEL_LIMIT'] = 'Page Level Limit';
+$TEXT['SUCCESS'] = 'Success';
+$TEXT['ERROR'] = 'Error';
+$TEXT['ARE_YOU_SURE'] = 'Are you sure?';
+$TEXT['YES'] = 'Yes';
+$TEXT['NO'] = 'No';
+$TEXT['SYSTEM_DEFAULT'] = 'System Default';
+$TEXT['PAGE_TITLE'] = 'Page Title';
+$TEXT['MENU_TITLE'] = 'Menu Title';
+$TEXT['ACTIONS'] = 'Actions';
+$TEXT['UNKNOWN'] = 'Unknown';
+$TEXT['BLOCK'] = 'Block';
+$TEXT['SEARCH'] = 'Search';
+$TEXT['SEARCHING'] = 'Searching';
+$TEXT['POST'] = 'Post';
+$TEXT['COMMENT'] = 'Comment';
+$TEXT['COMMENTS'] = 'Comments';
+$TEXT['COMMENTING'] = 'Commenting';
+$TEXT['SHORT'] = 'Short';
+$TEXT['LONG'] = 'Long';
+$TEXT['LOOP'] = 'Loop';
+$TEXT['FIELD'] = 'Field';
+$TEXT['REQUIRED'] = 'Required';
+$TEXT['LENGTH'] = 'Length';
+$TEXT['MESSAGE'] = 'Message';
+$TEXT['SUBJECT'] = 'Subject';
+$TEXT['MATCH'] = 'Match';
+$TEXT['ALL_WORDS'] = 'All Words';
+$TEXT['ANY_WORDS'] = 'Any Words';
+$TEXT['EXACT_MATCH'] = 'Exact Match';
+$TEXT['SHOW'] = 'Show';
+$TEXT['HIDE'] = 'Hide';
+$TEXT['START_PUBLISHING'] = 'Start Publishing';
+$TEXT['FINISH_PUBLISHING'] = 'Finish Publishing';
+$TEXT['DATE'] = 'Date';
+$TEXT['START'] = 'Start';
+$TEXT['END'] = 'End';
+$TEXT['IMAGE'] = 'Image';
+$TEXT['ICON'] = 'Icon';
+$TEXT['SECTION'] = 'Section';
+$TEXT['DATE_FORMAT'] = 'Date Format';
+$TEXT['TIME_FORMAT'] = 'Time Format';
+$TEXT['RESULTS'] = 'Results';
+$TEXT['RESIZE'] = 'Re-size';
+$TEXT['MANAGE'] = 'Manage';
+$TEXT['CODE'] = 'Code';
+$TEXT['WIDTH'] = 'Width';
+$TEXT['HEIGHT'] = 'Height';
+$TEXT['MORE'] = 'More';
+$TEXT['READ_MORE'] = 'Read More';
+$TEXT['CHANGE_SETTINGS'] = 'Change Settings';
+$TEXT['CURRENT_PAGE'] = 'Current Page';
+$TEXT['CLOSE'] = 'Close';
+$TEXT['INTRO_PAGE'] = 'Intro Page';
+$TEXT['INSTALLATION_URL'] = 'Installation URL';
+$TEXT['INSTALLATION_PATH'] = 'Installation Path';
+$TEXT['PAGE_EXTENSION'] = 'Page Extension';
+$TEXT['NO_RESULTS'] = 'No Results';
+$TEXT['WEBSITE_TITLE'] = 'Website Title';
+$TEXT['WEBSITE_DESCRIPTION'] = 'Website Description';
+$TEXT['WEBSITE_KEYWORDS'] = 'Website Keywords';
+$TEXT['WEBSITE_HEADER'] = 'Website Header';
+$TEXT['WEBSITE_FOOTER'] = 'Website Footer';
+$TEXT['RESULTS_HEADER'] = 'Results Header';
+$TEXT['RESULTS_LOOP'] = 'Results Loop';
+$TEXT['RESULTS_FOOTER'] = 'Results Footer';
+$TEXT['LEVEL'] = 'Level';
+$TEXT['NOT_FOUND'] = 'Not Found';
+$TEXT['PAGE_SPACER'] = 'Page Spacer';
+$TEXT['MATCHING'] = 'Matching';
+$TEXT['TEMPLATE_PERMISSIONS'] = 'Template Permissions';
+$TEXT['PAGES_DIRECTORY'] = 'Pages Directory';
+$TEXT['MEDIA_DIRECTORY'] = 'Media Directory';
+$TEXT['FILE_MODE'] = 'File Mode';
+$TEXT['USER'] = 'User';
+$TEXT['OTHERS'] = 'Others';
+$TEXT['READ'] = 'Read';
+$TEXT['WRITE'] = 'Write';
+$TEXT['EXECUTE'] = 'Execute';
+$TEXT['SMART_LOGIN'] = 'Smart Login';
+$TEXT['REMEMBER_ME'] = 'Remember Me';
+$TEXT['FILESYSTEM_PERMISSIONS'] = 'Filesystem Permissions';
+$TEXT['DIRECTORIES'] = 'Directories';
+$TEXT['DIRECTORY_MODE'] = 'Directory Mode';
+$TEXT['LIST_OPTIONS'] = 'List Options';
+$TEXT['OPTION'] = 'Option';
+$TEXT['ALLOW_MULTIPLE_SELECTIONS'] = 'Allow Multiple Selections';
+$TEXT['TEXTFIELD'] = 'Textfield';
+$TEXT['TEXTAREA'] = 'Textarea';
+$TEXT['SELECT_BOX'] = 'Select Box';
+$TEXT['CHECKBOX_GROUP'] = 'Checkbox Group';
+$TEXT['RADIO_BUTTON_GROUP'] = 'Radio Button Group';
+$TEXT['SIZE'] = 'Size';
+$TEXT['DEFAULT_TEXT'] = 'Default Text';
+$TEXT['SEPERATOR'] = 'Separator';
+$TEXT['BACK'] = 'Back';
+$TEXT['UNDER_CONSTRUCTION'] = 'Under Construction';
+$TEXT['MULTISELECT'] = 'Multi-select';
+$TEXT['SHORT_TEXT'] = 'Short Text';
+$TEXT['LONG_TEXT'] = 'Long Text';
+$TEXT['HOMEPAGE_REDIRECTION'] = 'Homepage Redirection';
+$TEXT['HEADING'] = 'Heading';
+$TEXT['MULTIPLE_MENUS'] = 'Multiple Menus';
+$TEXT['REGISTERED'] = 'Registered';
+$TEXT['SECTION_BLOCKS'] = 'Section Blocks';
+$TEXT['REGISTERED_VIEWERS'] = 'Registered Viewers';
+$TEXT['ALLOWED_VIEWERS'] = 'Allowed Viewers';
+$TEXT['SUBMISSION_ID'] = 'Submission ID';
+$TEXT['SUBMISSIONS'] = 'Submissions';
+$TEXT['SUBMITTED'] = 'Submitted';
+$TEXT['MAX_SUBMISSIONS_PER_HOUR'] = 'Max. Submissions Per Hour';
+$TEXT['SUBMISSIONS_STORED_IN_DATABASE'] = 'Submissions Stored In Database';
+$TEXT['EMAIL_ADDRESS'] = 'Email Address';
+$TEXT['CUSTOM'] = 'Custom';
+$TEXT['ANONYMOUS'] = 'Anonymous';
+$TEXT['SERVER_OPERATING_SYSTEM'] = 'Server Operating System';
+$TEXT['WORLD_WRITEABLE_FILE_PERMISSIONS'] = 'World-writeable file permissions';
+$TEXT['LINUX_UNIX_BASED'] = 'Linux/Unix based';
+$TEXT['WINDOWS'] = 'Windows';
+$TEXT['HOME_FOLDER'] = 'Home Folder';
+$TEXT['HOME_FOLDERS'] = 'Home Folders';
+$TEXT['PAGE_TRASH'] = 'Page Trash';
+$TEXT['INLINE'] = 'In-line';
+$TEXT['SEPARATE'] = 'Separate';
+$TEXT['DELETED'] = 'Deleted';
+$TEXT['VIEW_DELETED_PAGES'] = 'View Deleted Pages';
+$TEXT['EMPTY_TRASH'] = 'Empty Trash';
+$TEXT['TRASH_EMPTIED'] = 'Trash Emptied';
+$TEXT['ADD_SECTION'] = 'Add Section';
+$TEXT['POST_HEADER'] = 'Post Header';
+$TEXT['POST_FOOTER'] = 'Post Footer';
+$TEXT['POSTS_PER_PAGE'] = 'Posts Per Page';
+$TEXT['RESIZE_IMAGE_TO'] = 'Resize Image To';
+$TEXT['UNLIMITED'] = 'Unlimited';
+$TEXT['OF'] = 'Of';
+$TEXT['OUT_OF'] = 'Out Of';
+$TEXT['NEXT'] = 'Next';
+$TEXT['PREVIOUS'] = 'Previous';
+$TEXT['NEXT_PAGE'] = 'Next Page';
+$TEXT['PREVIOUS_PAGE'] = 'Previous Page';
+$TEXT['ON'] = 'On';
+$TEXT['LAST_UPDATED_BY'] = 'Last Updated By';
+$TEXT['RESULTS_FOR'] = 'Results For';
+$TEXT['TIME'] = 'Time';
+$TEXT['REDIRECT_AFTER'] = 'Redirect after';
+$TEXT['WYSIWYG_STYLE'] = 'WYSIWYG Style';
+$TEXT['WYSIWYG_EDITOR'] = 'WYSIWYG Editor';
+$TEXT['SERVER_EMAIL'] = 'Server Email';
+$TEXT['MENU'] = 'Menu';
+$TEXT['MANAGE_GROUPS'] = 'Manage Groups';
+$TEXT['MANAGE_USERS'] = 'Manage Users';
+$TEXT['PAGE_LANGUAGES'] = 'Page Languages';
+$TEXT['HIDDEN'] = 'Hidden';
+$TEXT['MAIN'] = 'Main';
+$TEXT['RENAME_FILES_ON_UPLOAD'] = 'Rename Files On Upload';
+$TEXT['APP_NAME'] = 'Application Name';
+$TEXT['SESSION_IDENTIFIER'] = 'Session Identifier';
+$TEXT['SEC_ANCHOR'] = 'Section-Anchor text';
+$TEXT['BACKUP'] = 'Backup';
+$TEXT['RESTORE'] = 'Restore';
+$TEXT['BACKUP_DATABASE'] = 'Backup Database';
+$TEXT['RESTORE_DATABASE'] = 'Restore Database';
+$TEXT['BACKUP_ALL_TABLES'] = 'Backup all tables in database';
+$TEXT['BACKUP_WB_SPECIFIC'] = 'Backup only WB-specific tables';
+$TEXT['BACKUP_MEDIA'] = 'Backup Media';
+$TEXT['RESTORE_MEDIA'] = 'Restore Media';
+$TEXT['ADMINISTRATION_TOOL'] = 'Administration tool';
+$TEXT['CAPTCHA_VERIFICATION'] = 'Captcha Verification';
+$TEXT['VERIFICATION'] = 'Verification';
+$TEXT['DEFAULT_CHARSET'] = 'Default Charset';
+$TEXT['CHARSET'] = 'Charset';
+$TEXT['MODULE_ORDER'] = 'Module-order for searching';
+$TEXT['MAX_EXCERPT'] = 'Max lines of excerpt';
+$TEXT['TIME_LIMIT'] = 'Max time to gather excerpts per module';
+$TEXT['PUBL_START_DATE'] = 'Start date';
+$TEXT['PUBL_END_DATE'] = 'End date';
+$TEXT['CALENDAR'] = 'Calendar';
+$TEXT['DELETE_DATE'] = 'Delete date';
+$TEXT['WBMAILER_DEFAULT_SETTINGS_NOTICE'] = 'Please specify a default "FROM" address and "SENDER" name below. It is recommended to use a FROM address like: <strong>admin@yourdomain.com</strong>. Some mail provider (e.g. <em>mail.com</em>) may reject mails with a FROM: address like <em>name@mail.com</em> sent via a foreign relay to avoid spam.<br /><br />The default values are only used if no other values are specified by WebsiteBaker. If your server supports <acronym title="Simple mail transfer protocol">SMTP</acronym>, you may want use this option for outgoing mails.';
+$TEXT['WBMAILER_DEFAULT_SENDER_MAIL'] = 'Default From Mail';
+$TEXT['WBMAILER_DEFAULT_SENDER_NAME'] = 'Default Sender Name';
+$TEXT['WBMAILER_NOTICE'] = '<strong>SMTP Mailer Settings:</strong><br />The settings below are only required if you want to send mails via <acronym title="Simple mail transfer protocol">SMTP</acronym>. If you do not know your SMTP host or you are not sure about the required settings, simply stay with the default mail routine: PHP MAIL.';
+$TEXT['WBMAILER_FUNCTION'] = 'Mail Routine';
+$TEXT['WBMAILER_SMTP_HOST'] = 'SMTP Host';
+$TEXT['WBMAILER_PHP'] = 'PHP MAIL';
+$TEXT['WBMAILER_SMTP'] = 'SMTP';
+$TEXT['WBMAILER_SMTP_AUTH'] = 'SMTP Authentification';
+$TEXT['WBMAILER_SMTP_AUTH_NOTICE'] = 'only activate if your SMTP host requires authentification';
+$TEXT['WBMAILER_SMTP_USERNAME'] = 'SMTP Username';
+$TEXT['WBMAILER_SMTP_PASSWORD'] = 'SMTP Password';
+$TEXT['PLEASE_LOGIN'] = 'Please login';
+$TEXT['CAP_EDIT_CSS'] = 'Edit CSS';
+$TEXT['HEADING_CSS_FILE'] = 'Actual module file: ';
+$TEXT['TXT_EDIT_CSS_FILE'] = 'Edit the CSS definitions in the textarea below.';
+$TEXT['CODE_SNIPPET'] = "Code-snippet";
+$TEXT['REQUIREMENT'] = "Requirement";
+$TEXT['INSTALLED'] = "installed";
+$TEXT['NOT_INSTALLED'] = "not installed";
+$TEXT['ADDON'] = "Add-On";
+$TEXT['EXTENSION'] = "Extension";
+$TEXT['UNZIP_FILE'] = "Upload and unpack a zip archive";
+$TEXT['DELETE_ZIP'] = "Delete zip archive after unpacking";
+
+// Success/error messages
+$MESSAGE['FRONTEND']['SORRY_NO_VIEWING_PERMISSIONS'] = 'Sorry, you do not have permissions to view this page';
+$MESSAGE['FRONTEND']['SORRY_NO_ACTIVE_SECTIONS'] = 'Sorry, no active content to display';
+
+$MESSAGE['ADMIN']['INSUFFICIENT_PRIVELLIGES'] = 'Insufficient privelliges to be here';
+
+$MESSAGE['LOGIN']['BOTH_BLANK'] = 'Please enter your username and password below';
+$MESSAGE['LOGIN']['USERNAME_BLANK'] = 'Please enter a username';
+$MESSAGE['LOGIN']['PASSWORD_BLANK'] = 'Please enter a password';
+$MESSAGE['LOGIN']['USERNAME_TOO_SHORT'] = 'Supplied username to short';
+$MESSAGE['LOGIN']['PASSWORD_TOO_SHORT'] = 'Supplied password to short';
+$MESSAGE['LOGIN']['USERNAME_TOO_LONG'] = 'Supplied username to long';
+$MESSAGE['LOGIN']['PASSWORD_TOO_LONG'] = 'Supplied password to long';
+$MESSAGE['LOGIN']['AUTHENTICATION_FAILED'] = 'Username or password incorrect';
+
+$MESSAGE['SIGNUP']['NO_EMAIL'] = 'You must enter an email address';
+$MESSAGE['SIGNUP2']['SUBJECT_LOGIN_INFO'] = 'Your login details...';
+$MESSAGE['SIGNUP2']['BODY_LOGIN_INFO'] = <<< EOT
+Hello {LOGIN_DISPLAY_NAME},
+
+Your '{LOGIN_WEBSITE_TITLE}' login details are:
+Username: {LOGIN_NAME}
+Password: {LOGIN_PASSWORD}
+
+Your password has been set to the one above.
+This means that your old password will no longer work.
+
+If you have received this message in error, please delete it immediately.
+EOT;
+
+$MESSAGE['FORGOT_PASS']['NO_DATA'] = 'Please enter your email address below';
+$MESSAGE['FORGOT_PASS']['EMAIL_NOT_FOUND'] = 'The email that you entered cannot be found in the database';
+$MESSAGE['FORGOT_PASS']['CANNOT_EMAIL'] = 'Unable to email password, please contact system administrator';
+$MESSAGE['FORGOT_PASS']['PASSWORD_RESET'] = 'Your username and password have been sent to your email address';
+$MESSAGE['FORGOT_PASS']['ALREADY_RESET'] = 'Password cannot be reset more than once per hour, sorry';
+
+$MESSAGE['START']['WELCOME_MESSAGE'] = 'Welcome to WebsiteBaker Administration';
+$MESSAGE['START']['INSTALL_DIR_EXISTS'] = 'Warning, Installation Directory Still Exists!';
+$MESSAGE['START']['CURRENT_USER'] = 'You are currently logged in as:';
+
+$MESSAGE['SETTINGS']['UNABLE_OPEN_CONFIG'] = 'Unable to open the configuration file';
+$MESSAGE['SETTINGS']['UNABLE_WRITE_CONFIG'] = 'Cannot write to configuration file';
+$MESSAGE['SETTINGS']['SAVED'] = 'Settings saved successfully';
+$MESSAGE['SETTINGS']['MODE_SWITCH_WARNING'] = 'Please Note: Pressing this button resets all unsaved changes';
+$MESSAGE['SETTINGS']['WORLD_WRITEABLE_WARNING'] = 'Please note: this is only recommended for testing environments';
+
+$MESSAGE['USERS']['ADDED'] = 'User added successfully';
+$MESSAGE['USERS']['SAVED'] = 'User saved successfully';
+$MESSAGE['USERS']['DELETED'] = 'User deleted successfully';
+$MESSAGE['USERS']['NO_GROUP'] = 'No group was selected';
+$MESSAGE['USERS']['USERNAME_TOO_SHORT'] = 'The username you entered was too short';
+$MESSAGE['USERS']['PASSWORD_TOO_SHORT'] = 'The password you entered was too short';
+$MESSAGE['USERS']['PASSWORD_MISMATCH'] = 'The passwords you entered do not match';
+$MESSAGE['USERS']['INVALID_EMAIL'] = 'The email address you entered is invalid';
+$MESSAGE['USERS']['EMAIL_TAKEN'] = 'The email you entered is already in use';
+$MESSAGE['USERS']['USERNAME_TAKEN'] = 'The username you entered is already taken';
+$MESSAGE['USERS']['CHANGING_PASSWORD'] = 'Please note: You should only enter values in the above fields if you wish to change this users password';
+$MESSAGE['USERS']['CONFIRM_DELETE'] = 'Are you sure you want to delete the selected user?';
+
+$MESSAGE['GROUPS']['ADDED'] = 'Group added successfully';
+$MESSAGE['GROUPS']['SAVED'] = 'Group saved successfully';
+$MESSAGE['GROUPS']['DELETED'] = 'Group deleted successfully';
+$MESSAGE['GROUPS']['GROUP_NAME_BLANK'] = 'Group name is blank';
+$MESSAGE['GROUPS']['CONFIRM_DELETE'] = 'Are you sure you want to delete the selected group (and any users that belong to it)?';
+$MESSAGE['GROUPS']['NO_GROUPS_FOUND'] = 'No groups found';
+$MESSAGE['GROUPS']['GROUP_NAME_EXISTS'] = 'Group name already exists';
+
+$MESSAGE['PREFERENCES']['DETAILS_SAVED'] = 'Details saved successfully';
+$MESSAGE['PREFERENCES']['EMAIL_UPDATED'] = 'Email updated successfully';
+$MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT'] = 'The (current) password you entered is incorrect';
+$MESSAGE['PREFERENCES']['PASSWORD_CHANGED'] = 'Password changed successfully';
+
+$MESSAGE['TEMPLATES']['CHANGE_TEMPLATE_NOTICE'] = 'Please note: to change the template you must go to the Settings section';
+
+$MESSAGE['MEDIA']['DIR_DOT_DOT_SLASH'] = 'Cannot include ../ in the folder name';
+$MESSAGE['MEDIA']['DIR_DOES_NOT_EXIST'] = 'Directory does not exist';
+$MESSAGE['MEDIA']['TARGET_DOT_DOT_SLASH'] = 'Cannot have ../ in the folder target';
+$MESSAGE['MEDIA']['NAME_DOT_DOT_SLASH'] = 'Cannot include ../ in the name';
+$MESSAGE['MEDIA']['NAME_INDEX_PHP'] = 'Cannot use index.php as the name';
+$MESSAGE['MEDIA']['NONE_FOUND'] = 'No media found in the current folder';
+$MESSAGE['MEDIA']['FILE_NOT_FOUND'] = 'File not found';
+$MESSAGE['MEDIA']['DELETED_FILE'] = 'File deleted successfully';
+$MESSAGE['MEDIA']['DELETED_DIR'] = 'Folder deleted successfully';
+$MESSAGE['MEDIA']['CONFIRM_DELETE'] = 'Are you sure you want to delete the following file or folder?';
+$MESSAGE['MEDIA']['CANNOT_DELETE_FILE'] = 'Cannot delete the selected file';
+$MESSAGE['MEDIA']['CANNOT_DELETE_DIR'] = 'Cannot delete the selected folder';
+$MESSAGE['MEDIA']['BLANK_NAME'] = 'You did not enter a new name';
+$MESSAGE['MEDIA']['BLANK_EXTENSION'] = 'You did not enter a file extension';
+$MESSAGE['MEDIA']['RENAMED'] = 'Rename successful';
+$MESSAGE['MEDIA']['CANNOT_RENAME'] = 'Rename unsuccessful';
+$MESSAGE['MEDIA']['FILE_EXISTS'] = 'A file matching the name you entered already exists';
+$MESSAGE['MEDIA']['DIR_EXISTS'] = 'A folder matching the name you entered already exists';
+$MESSAGE['MEDIA']['DIR_MADE'] = 'Folder created successfully';
+$MESSAGE['MEDIA']['DIR_NOT_MADE'] = 'Unable to create folder';
+$MESSAGE['MEDIA']['SINGLE_UPLOADED'] = ' file was successfully uploaded';
+$MESSAGE['MEDIA']['UPLOADED'] = ' files were successfully uploaded';
+
+$MESSAGE['PAGES']['ADDED'] = 'Page added successfully';
+$MESSAGE['PAGES']['ADDED_HEADING'] = 'Page heading added successfully';
+$MESSAGE['PAGES']['PAGE_EXISTS'] = 'A page with the same or similar title exists';
+$MESSAGE['PAGES']['CANNOT_CREATE_ACCESS_FILE'] = 'Error creating access file in the /pages directory (insufficient privileges)';
+$MESSAGE['PAGES']['CANNOT_DELETE_ACCESS_FILE'] = 'Error deleting access file in the /pages directory (insufficient privileges)';
+$MESSAGE['PAGES']['NOT_FOUND'] = 'Page not found';
+$MESSAGE['PAGES']['SAVED'] = 'Page saved successfully';
+$MESSAGE['PAGES']['SAVED_SETTINGS'] = 'Page settings saved successfully';
+$MESSAGE['PAGES']['NOT_SAVED'] = 'Error saving page';
+$MESSAGE['PAGES']['DELETE_CONFIRM'] = 'Are you sure you want to delete the selected page (and all of its sub-pages)';
+$MESSAGE['PAGES']['DELETED'] = 'Page deleted successfully';
+$MESSAGE['PAGES']['RESTORED'] = 'Page restored successfully';
+$MESSAGE['PAGES']['BLANK_PAGE_TITLE'] = 'Please enter a page title';
+$MESSAGE['PAGES']['BLANK_MENU_TITLE'] = 'Please enter a menu title';
+$MESSAGE['PAGES']['REORDERED'] = 'Page re-ordered successfully';
+$MESSAGE['PAGES']['CANNOT_REORDER'] = 'Error re-ordering page';
+$MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS'] = 'You do not have permissions to modify this page';
+$MESSAGE['PAGES']['INTRO_NOT_WRITABLE'] = 'Cannot write to file /pages/intro.php (insufficient privileges)';
+$MESSAGE['PAGES']['INTRO_SAVED'] = 'Intro page saved successfully';
+$MESSAGE['PAGES']['LAST_MODIFIED'] = 'Last modification by';
+$MESSAGE['PAGES']['INTRO_LINK'] = 'Click HERE to modify the intro page';
+$MESSAGE['PAGES']['SECTIONS_PROPERTIES_SAVED'] = 'Section properties saved successfully';
+$MESSAGE['PAGES']['RETURN_TO_PAGES'] = 'Return to pages';
+
+$MESSAGE['GENERIC']['FILL_IN_ALL'] = 'Please go back and fill-in all fields';
+$MESSAGE['GENERIC']['FILE_TYPE'] = 'Please note that the file you upload must be of the following format:';
+$MESSAGE['GENERIC']['FILE_TYPES'] = 'Please note that the file you upload must be in one of the following formats:';
+$MESSAGE['GENERIC']['CANNOT_UPLOAD'] = 'Cannot upload file';
+$MESSAGE['GENERIC']['ALREADY_INSTALLED'] = 'Already installed';
+$MESSAGE['GENERIC']['NOT_INSTALLED'] = 'Not installed';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL'] = 'Cannot uninstall';
+$MESSAGE['GENERIC']['CANNOT_UNZIP'] = 'Cannot unzip file';
+$MESSAGE['GENERIC']['INSTALLED'] = 'Installed successfully';
+$MESSAGE['GENERIC']['UPGRADED'] = 'Upgraded successfully';
+$MESSAGE['GENERIC']['UNINSTALLED'] = 'Uninstalled successfully';
+$MESSAGE['GENERIC']['BAD_PERMISSIONS'] = 'Unable to write to the target directory';
+$MESSAGE['GENERIC']['INVALID'] = 'The file you uploaded is invalid';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE'] = 'Cannot Uninstall: the selected file is in use';
+
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL'] = "<br /><br />{{type}} <b>{{type_name}}</b> could not be uninstalled, because it is still in use on {{pages}}.<br /><br />";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL_PAGES'] = "this page;these pages";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IS_DEFAULT_TEMPLATE'] = "Can't uninstall the template <b>{{name}}</b>, because it is the default template!";
+
+$MESSAGE['GENERIC']['WEBSITE_UNDER_CONSTRUCTION'] = 'Website Under Construction';
+$MESSAGE['GENERIC']['PLEASE_CHECK_BACK_SOON'] = 'Please check back soon...';
+$MESSAGE['GENERIC']['PLEASE_BE_PATIENT'] = 'Please be patient, this might take a while.';
+$MESSAGE['GENERIC']['ERROR_OPENING_FILE'] = 'Error opening file.';
+$MESSAGE['GENERIC']['INVALID_ADDON_FILE'] = 'Invalid WebsiteBaker installation file. Please check the *.zip format.';
+$MESSAGE['GENERIC']['INVALID_LANGUAGE_FILE'] = 'Invalid WebsiteBaker language file. Please check the text file.';
+
+$MESSAGE['MOD_FORM']['REQUIRED_FIELDS'] = 'You must enter details for the following fields';
+$MESSAGE['MOD_FORM']['EXCESS_SUBMISSIONS'] = 'Sorry, this form has been submitted too many times so far this hour. Please retry in the next hour.';
+$MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA'] = 'The verification number (also known as Captcha) that you entered is incorrect. If you are having problems reading the Captcha, please email: '.SERVER_EMAIL.'';
+
+$MESSAGE['ADDON']['RELOAD'] = 'Update database with information from Add-on files (e.g. after FTP upload).';
+$MESSAGE['ADDON']['ERROR_RELOAD'] = 'Error while updating the Add-On information.';
+$MESSAGE['ADDON']['MODULES_RELOADED'] = 'Modules reloaded successfully';
+$MESSAGE['ADDON']['TEMPLATES_RELOADED'] = 'Templates reloaded successfully';
+$MESSAGE['ADDON']['LANGUAGES_RELOADED'] = 'Languages reloaded successfully';
+$MESSAGE['ADDON']['PRECHECK_FAILED'] = 'Add-on installation failed. Your system does not fulfill the requirements of this Add-on. To make this Add-on working on your system, please fix the issues summarized below.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION'] = 'When modules are uploaded via FTP (not recommended), the module installation files <tt>install.php</tt>, <tt>upgrade.php</tt> or <tt>uninstall.php</tt> will not be executed automatically. Those modules may not work correct or do not uninstall properly.<br /><br />You can execute the module files manually for modules uploaded via FTP below.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION_WARNING'] = 'Warning: Existing module database entries will get lost. Only use this option if you experience problems with modules uploaded via FTP.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/languages/EN.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/languages/CS.php
===================================================================
--- tags/2.8.2/wb/languages/CS.php	(nonexistent)
+++ tags/2.8.2/wb/languages/CS.php	(revision 1481)
@@ -0,0 +1,595 @@
+<?php
+/**
+ *
+ * @category        framework
+ * @package         language
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// use languageedit-module to modify this file
+
+// Define that this file is loaded
+if(!defined('LANGUAGE_LOADED')) {
+define('LANGUAGE_LOADED', true);
+}
+
+// Set the language information
+$language_code = 'CS';
+$language_name = '&#268;e&scaron;tina';
+$language_version = '2.8';
+$language_platform = '2.8.x';
+$language_author = 'WebStep, s.r.o.';
+$language_license = 'GNU General Public License';
+
+// Menu titles
+$MENU['START'] = '&Uacute;vod';
+$MENU['PAGES'] = 'Str&aacute;nky';
+$MENU['MEDIA'] = 'M&eacute;dia';
+$MENU['ADDONS'] = 'Roz&scaron;&iacute;&#345;en&iacute;';
+$MENU['MODULES'] = 'Moduly';
+$MENU['TEMPLATES'] = '&Scaron;ablony';
+$MENU['LANGUAGES'] = 'Jazyky';
+$MENU['PREFERENCES'] = 'Mo&#382;nosti';
+$MENU['SETTINGS'] = 'Nastaven&iacute;';
+$MENU['ADMINTOOLS'] = 'Admin-Tools';
+$MENU['ACCESS'] = 'P&#345;&iacute;stup';
+$MENU['USERS'] = 'U&#382;ivatel&eacute;';
+$MENU['GROUPS'] = 'Skupiny';
+$MENU['HELP'] = 'N&aacute;pov&#283;da';
+$MENU['VIEW'] = 'Zobrazit';
+$MENU['LOGOUT'] = 'Odhl&aacute;sit';
+$MENU['LOGIN'] = 'P&#345;ihl&aacute;&scaron;en&iacute;';
+$MENU['FORGOT'] = 'Z&iacute;skat zapomenut&eacute; p&#345;ihla&scaron;ovac&iacute; &uacute;daje';
+
+// Section overviews
+$OVERVIEW['START'] = 'Administra&#269;n&iacute; p&#345;ehled';
+$OVERVIEW['PAGES'] = 'Spravovat webov&eacute; str&aacute;nky...';
+$OVERVIEW['MEDIA'] = 'Spravovat soubory v adres&aacute;&#345;i m&eacute;di&iacute;...';
+$OVERVIEW['MODULES'] = 'Spravovat moduly WebsiteBakeru...';
+$OVERVIEW['TEMPLATES'] = 'Zm&#283;nit vzhled a chov&aacute;n&iacute; webu pomoc&iacute; &scaron;ablon...';
+$OVERVIEW['LANGUAGES'] = 'Spravovat jazyky WebsiteBakeru...';
+$OVERVIEW['PREFERENCES'] = 'Zm&#283;na nastaven&iacute; e-mailov&eacute; adresy, hesla, atd... ';
+$OVERVIEW['SETTINGS'] = 'Zm&#283;na nastaven&iacute; WebsiteBakeru...';
+$OVERVIEW['USERS'] = 'Spravovat u&#382;ivate WebsiteBakeru...';
+$OVERVIEW['GROUPS'] = 'Spravovat skupiny u&#382;ivatel&#367; a jejich opr&aacute;vn&#283;n&iacute;...';
+$OVERVIEW['HELP'] = 'M&aacute;te ot&aacute;zku? Hledejte odpov&#283;&#271;...';
+$OVERVIEW['VIEW'] = 'Rychle prohl&eacute;dhout str&aacute;nky v nov&eacute;m okn&#283;...';
+$OVERVIEW['ADMINTOOLS'] = 'Access the WebsiteBaker administration tools...';
+
+// Headings
+$HEADING['MODIFY_DELETE_PAGE'] = 'Zm&#283;nit/Smazat str&aacute;nku';
+$HEADING['DELETED_PAGES'] = 'Smazan&eacute; str&aacute;nky';
+$HEADING['ADD_PAGE'] = 'P&#345;idat str&aacute;nku';
+$HEADING['ADD_HEADING'] = 'P&#345;idat z&aacute;hlav&iacute;';
+$HEADING['MODIFY_PAGE'] = 'Upravit str&aacute;nku';
+$HEADING['MODIFY_PAGE_SETTINGS'] = 'Zm&#283;nit nastaven&iacute; str&aacute;nky';
+$HEADING['MODIFY_ADVANCED_PAGE_SETTINGS'] = 'Zm&#283;nit pokro&#269;il&aacute; nastaven&iacute; str&aacute;nky';
+$HEADING['MANAGE_SECTIONS'] = 'Spravovat sekce';
+$HEADING['MODIFY_INTRO_PAGE'] = 'Zm&#283;nit &uacute;vodn&iacute; (intro) str&aacute;nku';
+
+$HEADING['BROWSE_MEDIA'] = 'Prohl&iacute;&#382;e&#269; m&eacute;di&iacute;';
+$HEADING['CREATE_FOLDER'] = 'Vytvo&#345;it adres&aacute;&#345;';
+$HEADING['UPLOAD_FILES'] = 'Nahr&aacute;t soubor(y)';
+
+$HEADING['INSTALL_MODULE'] = 'Nainstalovat modul';
+$HEADING['UNINSTALL_MODULE'] = 'Odinstalovat modul';
+$HEADING['MODULE_DETAILS'] = 'Detaily modulu';
+
+$HEADING['INSTALL_TEMPLATE'] = 'Nainstalovat &scaron;ablonu';
+$HEADING['UNINSTALL_TEMPLATE'] = 'Odinstalovat &scaron;ablonu';
+$HEADING['TEMPLATE_DETAILS'] = 'Detaily &scaron;ablony';
+
+$HEADING['INSTALL_LANGUAGE'] = 'Nainstalovat jazyk';
+$HEADING['UNINSTALL_LANGUAGE'] = 'Odinstalovat jazyk';
+$HEADING['LANGUAGE_DETAILS'] = 'Detaily jazyka';
+
+$HEADING['MY_SETTINGS'] = 'Moje nastaven&iacute;';
+$HEADING['MY_EMAIL'] = 'M&#367;j e-mail';
+$HEADING['MY_PASSWORD'] = 'Moje heslo';
+
+$HEADING['GENERAL_SETTINGS'] = 'Obecn&aacute; nastaven&iacute;';
+$HEADING['DEFAULT_SETTINGS'] = 'Implicitn&iacute; nastaven&iacute;';
+$HEADING['SEARCH_SETTINGS'] = 'Nastaven&iacute; vyhled&aacute;v&aacute;n&iacute;';
+$HEADING['FILESYSTEM_SETTINGS'] = 'Nastaven&iacute; syst&eacute;mu soubor&#367;';
+$HEADING['SERVER_SETTINGS'] = 'Nastaven&iacute; serveru';
+$HEADING['WBMAILER_SETTINGS'] = 'Mailer Settings';
+$HEADING['ADMINISTRATION_TOOLS'] = 'N&aacute;stroje administrace';
+
+$HEADING['MODIFY_DELETE_USER'] = 'Zm&#283;nit/Smazat u&#382;ivatele';
+$HEADING['ADD_USER'] = 'P&#345;idat u&#382;ivatele';
+$HEADING['MODIFY_USER'] = 'Zm&#283;nit u&#382;ivatele';
+
+$HEADING['MODIFY_DELETE_GROUP'] = 'Zm&#283;nit/Smazat skupinu';
+$HEADING['ADD_GROUP'] = 'P&#345;idat skupinu';
+$HEADING['MODIFY_GROUP'] = 'Zm&#283;nit skupinu';
+
+$HEADING['ADDON_PRECHECK_FAILED'] = 'Add-On requirements not met';
+$HEADING['INVOKE_MODULE_FILES'] = 'Execute module files manually';
+
+// Other text
+$TEXT['OPEN'] = 'Open';
+$TEXT['ADD'] = 'P&#345;idat';
+$TEXT['MODIFY'] = 'Zm&#283;nit';
+$TEXT['SETTINGS'] = 'Nastaven&iacute;';
+$TEXT['DELETE'] = 'Smazat';
+$TEXT['SAVE'] = 'Ulo&#382;it';
+$TEXT['RESET'] = 'Vy&#269;istit';
+$TEXT['LOGIN'] = 'P&#345;ihl&aacute;sit';
+$TEXT['RELOAD'] = 'Obnovit';
+$TEXT['CANCEL'] = 'Zru&scaron;it';
+$TEXT['NAME'] = 'N&aacute;zev';
+$TEXT['PLEASE_SELECT'] = 'Vyberte pros&iacute;m';
+$TEXT['TITLE'] = 'N&aacute;zev';
+$TEXT['PARENT'] = 'Nad&#345;azen&yacute;';
+$TEXT['TYPE'] = 'Typ';
+$TEXT['VISIBILITY'] = 'Viditelnost';
+$TEXT['PRIVATE'] = 'Soukrom&aacute;';
+$TEXT['PUBLIC'] = 'Ve&#345;ejn&aacute;';
+$TEXT['NONE'] = 'Nen&iacute;';
+$TEXT['NONE_FOUND'] = 'Nic nenalezeno';
+$TEXT['CURRENT'] = 'Sou&#269;asn&yacute;';
+$TEXT['CHANGE'] = 'Zm&#283;nit';
+$TEXT['WINDOW'] = 'Okno';
+$TEXT['DESCRIPTION'] = 'Popis';
+$TEXT['KEYWORDS'] = 'Kl&iacute;&#269;ov&aacute; slova';
+$TEXT['ADMINISTRATORS'] = 'Spr&aacute;vci';
+$TEXT['PRIVATE_VIEWERS'] = 'Opr&aacute;vn&#283;n&iacute; k prohl&iacute;&#382;en&iacute;';
+$TEXT['EXPAND'] = 'Rozbalit';
+$TEXT['COLLAPSE'] = 'Sbalit';
+$TEXT['MOVE_UP'] = 'Posunout nahoru';
+$TEXT['MOVE_DOWN'] = 'Posunout dol&#367;';
+$TEXT['RENAME'] = 'P&#345;ejm.';
+$TEXT['MODIFY_SETTINGS'] = 'Zm&#283;nit nastaven&iacute;';
+$TEXT['MODIFY_CONTENT'] = 'Zm&#283;nit obsah';
+$TEXT['VIEW'] = 'Zobrazit';
+$TEXT['UP'] = 'Nahoru';
+$TEXT['FORGOTTEN_DETAILS'] = 'Zapom&#283;li jste svoje p&#345;ihla&scaron;ovac&iacute; &uacute;daje?';
+$TEXT['NEED_TO_LOGIN'] = 'Chcete se p&#345;ihl&aacute;sit?';
+$TEXT['SEND_DETAILS'] = 'Zaslat p&#345;ihla&scaron;ovac&iacute; &uacute;daje';
+$TEXT['USERNAME'] = 'Jm&eacute;no';
+$TEXT['PASSWORD'] = 'Heslo';
+$TEXT['HOME'] = 'Dom&#367;';
+$TEXT['TARGET_FOLDER'] = 'C&iacute;lov&yacute; adres&aacute;&#345;';
+$TEXT['OVERWRITE_EXISTING'] = 'P&#345;epsat existuj&iacute;c&iacute;';
+$TEXT['FILE'] = 'soubor';
+$TEXT['FILES'] = 'soubory';
+$TEXT['FOLDER'] = 'adres&aacute;&#345;';
+$TEXT['FOLDERS'] = 'adres&aacute;&#345;e';
+$TEXT['CREATE_FOLDER'] = 'Vytvo&#345;it adres&aacute;&#345;';
+$TEXT['UPLOAD_FILES'] = 'Nahr&aacute;t soubor(y)';
+$TEXT['CURRENT_FOLDER'] = 'Sou&#269;asn&yacute; adres&aacute;&#345;';
+$TEXT['TO'] = 'na';
+$TEXT['FROM'] = 'od';
+$TEXT['INSTALL'] = 'Instalovat';
+$TEXT['UNINSTALL'] = 'Odinstalovat';
+$TEXT['VIEW_DETAILS'] = 'Zobrazit';
+$TEXT['DISPLAY_NAME'] = 'Jm&eacute;no';
+$TEXT['AUTHOR'] = 'Autor';
+$TEXT['VERSION'] = 'Verze';
+$TEXT['DESIGNED_FOR'] = 'Vyvinuto pro';
+$TEXT['DESCRIPTION'] = 'Popis';
+$TEXT['EMAIL'] = 'E-mail';
+$TEXT['LANGUAGE'] = 'Jazyk';
+$TEXT['TIMEZONE'] = '&#268;asov&eacute; p&aacute;smo';
+$TEXT['CURRENT_PASSWORD'] = 'Sou&#269;asn&eacute; heslo';
+$TEXT['NEW_PASSWORD'] = 'Nov&eacute; heslo';
+$TEXT['RETYPE_NEW_PASSWORD'] = 'Znovu nov&eacute; heslo';
+$TEXT['ACTIVE'] = 'Aktivn&iacute;';
+$TEXT['DISABLED'] = 'Vypnuto';
+$TEXT['ENABLED'] = 'Zapnuto';
+$TEXT['RETYPE_PASSWORD'] = 'Znovu heslo';
+$TEXT['GROUP'] = 'Skup.';
+$TEXT['SYSTEM_PERMISSIONS'] = 'Syst&eacute;mov&aacute; opr&aacute;vn&#283;n&iacute;';
+$TEXT['MODULE_PERMISSIONS'] = 'Opr&aacute;vn&#283;n&iacute; k modul&#367;m';
+$TEXT['SHOW_ADVANCED'] = 'Zobrazit pokro&#269;il&eacute; volby';
+$TEXT['HIDE_ADVANCED'] = 'Skr&yacute;t pokro&#269;il&eacute; volby';
+$TEXT['BASIC'] = 'Z&aacute;kladn&iacute;';
+$TEXT['ADVANCED'] = 'Pokro&#269;il&yacute;';
+$TEXT['WEBSITE'] = 'WWW';
+$TEXT['DEFAULT'] = 'V&yacute;choz&iacute;';
+$TEXT['KEYWORDS'] = 'Kl&iacute;&#269;ov&aacute; slova';
+$TEXT['TEXT'] = 'Text';
+$TEXT['HEADER'] = 'Z&aacute;hlav&iacute;';
+$TEXT['FOOTER'] = 'Z&aacute;pat&iacute;';
+$TEXT['TEMPLATE'] = '&Scaron;ablona';
+$TEXT['THEME'] = 'Backend-Theme';
+$TEXT['INSTALLATION'] = 'Instalace';
+$TEXT['DATABASE'] = 'Datab&aacute;ze';
+$TEXT['HOST'] = 'Hostitel';
+$TEXT['INTRO'] = 'Intro';
+$TEXT['PAGE'] = 'Str&aacute;nka';
+$TEXT['SIGNUP'] = 'Registrace';
+$TEXT['PHP_ERROR_LEVEL'] = '&Uacute;rove&#328; hl&aacute;&scaron;en&iacute; chyb PHP';
+$TEXT['ADMIN'] = 'Admin';
+$TEXT['PATH'] = 'Cesta';
+$TEXT['URL'] = 'URL';
+$TEXT['FRONTEND'] = 'Front-end';
+$TEXT['EXTENSION'] = 'Roz&scaron;&iacute;&#345;en&iacute;';
+$TEXT['TABLE_PREFIX'] = 'Prefix tabulek';
+$TEXT['CHANGES'] = 'Zm&#283;ny';
+$TEXT['ADMINISTRATION'] = 'Administrace';
+$TEXT['FORGOT_DETAILS'] = 'Zapomnenut&eacute; heslo?';
+$TEXT['LOGGED_IN'] = 'p&#345;ihl&aacute;&scaron;en';
+$TEXT['WELCOME_BACK'] = 'V&iacute;tejte';
+$TEXT['FULL_NAME'] = 'Cel&eacute; jm&eacute;no';
+$TEXT['ACCOUNT_SIGNUP'] = 'Registrace &uacute;&#269;tu';
+$TEXT['LINK'] = 'Odkaz';
+$TEXT['ANCHOR'] = 'Anchor';
+$TEXT['TARGET'] = 'Sm&#283;&#345;uje do';
+$TEXT['NEW_WINDOW'] = 'nov&eacute;ho okna';
+$TEXT['SAME_WINDOW'] = 'p&#367;vodn&iacute;ho okna';
+$TEXT['TOP_FRAME'] = 'svrchn&iacute;ho r&aacute;mu';
+$TEXT['PAGE_LEVEL_LIMIT'] = 'Limit &uacute;rovn&iacute; str&aacute;nek';
+$TEXT['SUCCESS'] = '&Uacute;sp&#283;&scaron;n&#283; provedeno';
+$TEXT['ERROR'] = 'Chyba';
+$TEXT['ARE_YOU_SURE'] = 'Jste si jisti?';
+$TEXT['YES'] = 'Ano';
+$TEXT['NO'] = 'Ne';
+$TEXT['SYSTEM_DEFAULT'] = 'Implicitn&iacute; v syst&eacute;mu';
+$TEXT['PAGE_TITLE'] = 'Titulek str&aacute;nky';
+$TEXT['MENU_TITLE'] = 'Titulek menu';
+$TEXT['ACTIONS'] = 'Akce';
+$TEXT['UNKNOWN'] = 'Nezn&aacute;m&yacute;';
+$TEXT['BLOCK'] = 'Blok';
+$TEXT['SEARCH'] = 'Vyhled&aacute;v&aacute;n&iacute;';
+$TEXT['SEARCHING'] = 'Vyhled&aacute;v&aacute;n&iacute;';
+$TEXT['POST'] = 'p&#345;&iacute;sp&#283;vek';
+$TEXT['COMMENT'] = 'Koment&aacute;&#345;';
+$TEXT['COMMENTS'] = 'Koment&aacute;&#345;e';
+$TEXT['COMMENTING'] = 'Koment&aacute;&#345;e';
+$TEXT['SHORT'] = 'Kr&aacute;tk&yacute; popis';
+$TEXT['LONG'] = 'Dlouh&yacute; popis';
+$TEXT['LOOP'] = 'T&#283;lo';
+$TEXT['FIELD'] = 'Pole';
+$TEXT['REQUIRED'] = 'Povinn&yacute;';
+$TEXT['LENGTH'] = 'D&eacute;lka';
+$TEXT['MESSAGE'] = 'Zpr&aacute;va';
+$TEXT['SUBJECT'] = 'P&#345;edm&#283;t';
+$TEXT['MATCH'] = 'Shoda';
+$TEXT['ALL_WORDS'] = 'V&scaron;echna slova';
+$TEXT['ANY_WORDS'] = 'Cokoliv';
+$TEXT['EXACT_MATCH'] = 'P&#345;esn&aacute; shoda';
+$TEXT['SHOW'] = 'Zobrazit';
+$TEXT['HIDE'] = 'Skr&yacute;t';
+$TEXT['START_PUBLISHING'] = 'Za&#269;&aacute;tek publikace';
+$TEXT['FINISH_PUBLISHING'] = 'Konec publikace';
+$TEXT['DATE'] = 'Datum';
+$TEXT['START'] = 'Za&#269;&aacute;tek';
+$TEXT['END'] = 'Konec';
+$TEXT['IMAGE'] = 'Obr&aacute;zek';
+$TEXT['ICON'] = 'Ikona';
+$TEXT['SECTION'] = 'Sekce';
+$TEXT['DATE_FORMAT'] = 'Form&aacute;t data';
+$TEXT['TIME_FORMAT'] = 'Form&aacute;t &#269;asu';
+$TEXT['RESULTS'] = 'V&yacute;sledky';
+$TEXT['RESIZE'] = 'Zm&#283;na velikosti';
+$TEXT['MANAGE'] = 'Spravovat';
+$TEXT['CODE'] = 'K&oacute;d jazyka';
+$TEXT['WIDTH'] = '&Scaron;&iacute;&#345;ka';
+$TEXT['HEIGHT'] = 'V&yacute;&scaron;ka';
+$TEXT['MORE'] = 'V&iacute;ce';
+$TEXT['READ_MORE'] = 'v&iacute;ce...';
+$TEXT['CHANGE_SETTINGS'] = 'Zm&#283;nit nastaven&iacute;';
+$TEXT['CURRENT_PAGE'] = 'Str&aacute;nka';
+$TEXT['CLOSE'] = 'Zav&#345;&iacute;t';
+$TEXT['INTRO_PAGE'] = '&Uacute;vodn&iacute; (intro) str&aacute;nka';
+$TEXT['INSTALLATION_URL'] = 'URL instalace';
+$TEXT['INSTALLATION_PATH'] = 'Cesta instalace';
+$TEXT['PAGE_EXTENSION'] = 'P&#345;&iacute;pona str&aacute;nek';
+$TEXT['NO_RESULTS'] = '&#381;&aacute;dn&yacute; v&yacute;sledek';
+$TEXT['WEBSITE_TITLE'] = 'N&aacute;zev webu';
+$TEXT['WEBSITE_DESCRIPTION'] = 'Popis webu';
+$TEXT['WEBSITE_KEYWORDS'] = 'Kl&iacute;&#269;ov&aacute; slova';
+$TEXT['WEBSITE_HEADER'] = 'Z&aacute;hlav&iacute; webu';
+$TEXT['WEBSITE_FOOTER'] = 'Z&aacute;pat&iacute; webu';
+$TEXT['RESULTS_HEADER'] = 'Z&aacute;hlav&iacute; v&yacute;sledk&#367;';
+$TEXT['RESULTS_LOOP'] = 'Polo&#382;ka v&yacute;sledk&#367;';
+$TEXT['RESULTS_FOOTER'] = 'Z&aacute;pat&iacute; v&yacute;sledk&#367;';
+$TEXT['LEVEL'] = '&Uacute;rove&#328;';
+$TEXT['NOT_FOUND'] = 'Nenalezeno';
+$TEXT['PAGE_SPACER'] = 'Znak mezery';
+$TEXT['MATCHING'] = 'Odpov&iacute;daj&iacute;c&iacute;';
+$TEXT['TEMPLATE_PERMISSIONS'] = 'Pr&aacute;va k &scaron;ablon&#283;';
+$TEXT['PAGES_DIRECTORY'] = 'Adres&aacute;&#345; str&aacute;nek';
+$TEXT['MEDIA_DIRECTORY'] = 'Adres&aacute;&#345; m&eacute;di&iacute;';
+$TEXT['FILE_MODE'] = 'M&oacute;d soubor&#367;';
+$TEXT['USER'] = 'U&#382;ivatel';
+$TEXT['OTHERS'] = 'Ostatn&iacute;';
+$TEXT['READ'] = '&#268;ten&iacute;';
+$TEXT['WRITE'] = 'Z&aacute;pis';
+$TEXT['EXECUTE'] = 'Spu&scaron;t&#283;n&iacute;';
+$TEXT['SMART_LOGIN'] = 'Chytr&eacute; p&#345;ihl&aacute;&scaron;en&iacute;';
+$TEXT['REMEMBER_ME'] = 'Zapamatovat &uacute;daje';
+$TEXT['FILESYSTEM_PERMISSIONS'] = 'Pr&aacute;va souborov&eacute;ho syst&eacute;mu';
+$TEXT['DIRECTORIES'] = 'Adres&aacute;&#345;e';
+$TEXT['DIRECTORY_MODE'] = 'M&oacute;d adres&aacute;&#345;&#367;';
+$TEXT['LIST_OPTIONS'] = 'Seznam voleb';
+$TEXT['OPTION'] = 'Volby';
+$TEXT['ALLOW_MULTIPLE_SELECTIONS'] = 'Povolit v&iacute;cen&aacute;sobn&eacute; v&yacute;b&#283;ry';
+$TEXT['TEXTFIELD'] = 'Vstupn&iacute; &#345;&aacute;dek';
+$TEXT['TEXTAREA'] = 'Vstupn&iacute; pole';
+$TEXT['SELECT_BOX'] = 'V&yacute;b&#283;rov&eacute; pole';
+$TEXT['CHECKBOX_GROUP'] = 'Skupina zatrh&aacute;vac&iacute;ch pol&iacute;';
+$TEXT['RADIO_BUTTON_GROUP'] = 'Skupina radio-pol&iacute;';
+$TEXT['SIZE'] = 'Velikost';
+$TEXT['DEFAULT_TEXT'] = 'V&yacute;choz&iacute; text';
+$TEXT['SEPERATOR'] = 'Odd&#283;lova&#269;';
+$TEXT['BACK'] = 'Zp&#283;t';
+$TEXT['UNDER_CONSTRUCTION'] = 'Ve v&yacute;stavb&#283;';
+$TEXT['MULTISELECT'] = 'V&iacute;cen&aacute;sobn&eacute; v&yacute;b&#283;rov&eacute; pole';
+$TEXT['SHORT_TEXT'] = 'Kr&aacute;tk&yacute; text';
+$TEXT['LONG_TEXT'] = 'Dlouh&yacute; text';
+$TEXT['HOMEPAGE_REDIRECTION'] = 'P&#345;esm&#283;rov&aacute;n&iacute; homepage';
+$TEXT['HEADING'] = 'Z&aacute;hlav&iacute;';
+$TEXT['MULTIPLE_MENUS'] = 'V&iacute;cen&aacute;sobn&aacute; menu';
+$TEXT['REGISTERED'] = 'Pro registrovan&eacute;';
+$TEXT['SECTION_BLOCKS'] = 'Bloky sekc&iacute;';
+$TEXT['REGISTERED_VIEWERS'] = 'Opr&aacute;vn&#283;n&iacute; k prohl&iacute;&#382;en&iacute;';
+$TEXT['ALLOWED_VIEWERS'] = 'Opr&aacute;vn&#283;n&iacute; k prohl&iacute;&#382;en&iacute;';
+$TEXT['SUBMISSION_ID'] = 'ID formul&aacute;&#345;e';
+$TEXT['SUBMISSIONS'] = 'Odeslan&eacute; formul&aacute;&#345;e';
+$TEXT['SUBMITTED'] = 'Odesl&aacute;no';
+$TEXT['MAX_SUBMISSIONS_PER_HOUR'] = 'Max. po&#269;et odesl&aacute;n&iacute; za hodinu';
+$TEXT['SUBMISSIONS_STORED_IN_DATABASE'] = 'Odeslan&eacute; formul&aacute;&#345;e';
+$TEXT['EMAIL_ADDRESS'] = 'E-mailov&aacute; adresa';
+$TEXT['CUSTOM'] = 'Vlastn&iacute; nastaven&iacute;';
+$TEXT['ANONYMOUS'] = 'Anonymn&iacute;';
+$TEXT['SERVER_OPERATING_SYSTEM'] = 'Opera&#269;n&iacute; syst&eacute;m serveru';
+$TEXT['WORLD_WRITEABLE_FILE_PERMISSIONS'] = 'Pr&aacute;va z&aacute;pisu &amp;quot;pro cel&yacute; sv&#283;t&amp;quot;';
+$TEXT['LINUX_UNIX_BASED'] = 'Zalo&#382;en na Linux/Unix';
+$TEXT['WINDOWS'] = 'Windows';
+$TEXT['HOME_FOLDER'] = 'Domovsk&yacute; adres&aacute;&#345;';
+$TEXT['HOME_FOLDERS'] = 'Domovsk&eacute; adres&aacute;&#345;e';
+$TEXT['PAGE_TRASH'] = 'Ko&scaron; str&aacute;nek';
+$TEXT['INLINE'] = 'In-line';
+$TEXT['SEPARATE'] = 'Odd&#283;len&#283;';
+$TEXT['DELETED'] = 'Smaz&aacute;no';
+$TEXT['VIEW_DELETED_PAGES'] = 'Zobrazit smazan&eacute; str&aacute;nky';
+$TEXT['EMPTY_TRASH'] = 'Vypr&aacute;zdnit ko&scaron;';
+$TEXT['TRASH_EMPTIED'] = 'Ko&scaron; vypr&aacute;zdn&#283;n';
+$TEXT['ADD_SECTION'] = 'P&#345;idat sekci';
+$TEXT['POST_HEADER'] = 'Z&aacute;hlav&iacute; p&#345;&iacute;sp&#283;vku';
+$TEXT['POST_FOOTER'] = 'Z&aacute;pat&iacute; p&#345;&iacute;sp&#283;vku';
+$TEXT['POSTS_PER_PAGE'] = 'P&#345;&iacute;sp&#283;vk&#367; na str&aacute;nku';
+$TEXT['RESIZE_IMAGE_TO'] = 'Zm&#283;nit velikost obr&aacute;zku na';
+$TEXT['UNLIMITED'] = 'Neomezen&yacute;';
+$TEXT['OF'] = 'Z';
+$TEXT['OUT_OF'] = 'Z';
+$TEXT['NEXT'] = 'N&aacute;sleduj&iacute;c&iacute;';
+$TEXT['PREVIOUS'] = 'P&#345;edchoz&iacute;';
+$TEXT['NEXT_PAGE'] = 'N&aacute;sleduj&iacute;c&iacute; str&aacute;nka';
+$TEXT['PREVIOUS_PAGE'] = 'P&#345;edchoz&iacute; str&aacute;nka';
+$TEXT['ON'] = 'Na';
+$TEXT['LAST_UPDATED_BY'] = 'Posledn&iacute; zm&#283;na:';
+$TEXT['RESULTS_FOR'] = 'V&yacute;sledky pro';
+$TEXT['TIME'] = '&#268;as';
+$TEXT['REDIRECT_AFTER'] = 'Redirect after';
+$TEXT['WYSIWYG_STYLE'] = 'WYSIWYG styl';
+$TEXT['WYSIWYG_EDITOR'] = 'WYSIWYG editor';
+$TEXT['SERVER_EMAIL'] = 'Syt&eacute;mov&yacute; e-mail';
+$TEXT['MENU'] = 'Menu';
+$TEXT['MANAGE_GROUPS'] = 'Spravovat skupiny';
+$TEXT['MANAGE_USERS'] = 'Spravovat u&#382;ivatele';
+$TEXT['PAGE_LANGUAGES'] = 'Jazykov&eacute; verze str&aacute;nek';
+$TEXT['HIDDEN'] = 'Skryt&aacute;';
+$TEXT['MAIN'] = 'Hlavn&iacute;';
+$TEXT['RENAME_FILES_ON_UPLOAD'] = 'P&#345;ejm. soubory po nahr&aacute;n&iacute;';
+$TEXT['APP_NAME'] = 'N&aacute;zev aplikace';
+$TEXT['SESSION_IDENTIFIER'] = 'Identifik&aacute;tor session';
+$TEXT['SEC_ANCHOR'] = 'Section-Anchor text';
+$TEXT['BACKUP'] = 'Z&aacute;lohov&aacute;n&iacute;';
+$TEXT['RESTORE'] = 'Obnova ze z&aacute;lohy';
+$TEXT['BACKUP_DATABASE'] = 'Z&aacute;lohovat datab&aacute;zi';
+$TEXT['RESTORE_DATABASE'] = 'Obnovit datab&aacute;zi ze z&aacute;lohy';
+$TEXT['BACKUP_ALL_TABLES'] = 'Z&aacute;lohovat v&scaron;echny tabulky v datab&aacute;zi';
+$TEXT['BACKUP_WB_SPECIFIC'] = 'Z&aacute;lohovat pouze tabulky WebsiteBakeru';
+$TEXT['BACKUP_MEDIA'] = 'Zaz&aacute;lohovat m&eacute;dia';
+$TEXT['RESTORE_MEDIA'] = 'Obnovit m&eacute;dia ze z&aacute;lohy';
+$TEXT['ADMINISTRATION_TOOL'] = 'Administra&#269;n&iacute; n&aacute;stroje';
+$TEXT['CAPTCHA_VERIFICATION'] = 'Kontrola obr. k&oacute;dem';
+$TEXT['VERIFICATION'] = 'Verifikace';
+$TEXT['DEFAULT_CHARSET'] = 'V&yacute;choz&iacute; k&oacute;dov&aacute; str&aacute;nka';
+$TEXT['CHARSET'] = 'K&oacute;dov&aacute; str&aacute;nka';
+$TEXT['MODULE_ORDER'] = 'Module-order for searching';
+$TEXT['MAX_EXCERPT'] = 'Max lines of excerpt';
+$TEXT['TIME_LIMIT'] = 'Max time to gather excerpts per module';
+$TEXT['PUBL_START_DATE'] = 'Start date';
+$TEXT['PUBL_END_DATE'] = 'End date';
+$TEXT['CALENDAR'] = 'Calender';
+$TEXT['DELETE_DATE'] = 'Delete date';
+$TEXT['WBMAILER_DEFAULT_SETTINGS_NOTICE'] = 'Please specify a default "FROM" address and "SENDER" name below. It is recommended to use a FROM address like: <strong>admin@yourdomain.com</strong>. Some mail provider (e.g. <em>mail.com</em>) may reject mails with a FROM: address like <em>name@mail.com</em> sent via a foreign relay to avoid spam.<br /><br />The default values are only used if no other values are specified by WebsiteBaker. If your server supports <acronym title="Simple mail transfer protocol">SMTP</acronym>, you may want use this option for outgoing mails.';
+$TEXT['WBMAILER_DEFAULT_SENDER_MAIL'] = 'Default From Mail';
+$TEXT['WBMAILER_DEFAULT_SENDER_NAME'] = 'Default Sender Name';
+$TEXT['WBMAILER_NOTICE'] = '<strong>SMTP Mailer Settings:</strong><br />The settings below are only required if you want to send mails via <acronym title="Simple mail transfer protocol">SMTP</acronym>. If you do not know your SMTP host or you are not sure about the required settings, simply stay with the default mail routine: PHP MAIL.';
+$TEXT['WBMAILER_FUNCTION'] = 'Mail Routine';
+$TEXT['WBMAILER_SMTP_HOST'] = 'SMTP Host';
+$TEXT['WBMAILER_PHP'] = 'PHP MAIL';
+$TEXT['WBMAILER_SMTP'] = 'SMTP';
+$TEXT['WBMAILER_SMTP_AUTH'] = 'SMTP Authentification';
+$TEXT['WBMAILER_SMTP_AUTH_NOTICE'] = 'only activate if your SMTP host requires authentification';
+$TEXT['WBMAILER_SMTP_USERNAME'] = 'SMTP Username';
+$TEXT['WBMAILER_SMTP_PASSWORD'] = 'SMTP Password';
+$TEXT['PLEASE_LOGIN'] = 'Please login';
+$TEXT['CAP_EDIT_CSS'] = 'Edit CSS';
+$TEXT['HEADING_CSS_FILE'] = 'Actual module file: ';
+$TEXT['TXT_EDIT_CSS_FILE'] = 'Edit the CSS definitions in the textarea below.';
+$TEXT['CODE_SNIPPET'] = "Code-snippet";
+$TEXT['REQUIREMENT'] = "Requirement";
+$TEXT['INSTALLED'] = "installed";
+$TEXT['NOT_INSTALLED'] = "not installed";
+$TEXT['ADDON'] = "Add-On";
+$TEXT['EXTENSION'] = "Extension";
+$TEXT['UNZIP_FILE'] = "Upload and unpack a zip archive";
+$TEXT['DELETE_ZIP'] = "Delete zip archive after unpacking";
+
+// Success/error messages
+$MESSAGE['FRONTEND']['SORRY_NO_VIEWING_PERMISSIONS'] = 'Nem&aacute;te opr&aacute;vn&#283;n&iacute; prohl&iacute;&#382;et tuto str&aacute;nku';
+$MESSAGE['FRONTEND']['SORRY_NO_ACTIVE_SECTIONS'] = 'Sorry, no active content to display';
+
+$MESSAGE['ADMIN']['INSUFFICIENT_PRIVELLIGES'] = 'Nedostate&#269;n&aacute; opr&aacute;vn&#283;n&iacute;';
+
+$MESSAGE['LOGIN']['BOTH_BLANK'] = 'Zadejte pros&iacute;m svoje p&#345;ihla&scaron;ovac&iacute; &uacute;daje:';
+$MESSAGE['LOGIN']['USERNAME_BLANK'] = 'Zadejte sv&eacute; u&#382;ivatelsk&eacute; jm&eacute;no';
+$MESSAGE['LOGIN']['PASSWORD_BLANK'] = 'Zadejte sv&eacute; heslo';
+$MESSAGE['LOGIN']['USERNAME_TOO_SHORT'] = 'Zadan&eacute; jm&eacute;no je p&#345;&iacute;li&scaron; kr&aacute;tk&eacute;';
+$MESSAGE['LOGIN']['PASSWORD_TOO_SHORT'] = 'Zadan&eacute; heslo je p&#345;&iacute;li&scaron; kr&aacute;tk&eacute;';
+$MESSAGE['LOGIN']['USERNAME_TOO_LONG'] = 'Zadan&eacute; jm&eacute;no je p&#345;&iacute;li&scaron; dlouh&eacute;';
+$MESSAGE['LOGIN']['PASSWORD_TOO_LONG'] = 'Zadan&eacute; heslo je p&#345;&iacute;li&scaron; dlouh&eacute;';
+$MESSAGE['LOGIN']['AUTHENTICATION_FAILED'] = 'Jm&eacute;no nebo heslo nen&iacute; platn&eacute;';
+
+$MESSAGE['SIGNUP']['NO_EMAIL'] = 'Mus&iacute;te zadat e-mailovou adresu';
+$MESSAGE['SIGNUP2']['SUBJECT_LOGIN_INFO'] = 'Your login details...';
+$MESSAGE['SIGNUP2']['BODY_LOGIN_INFO'] = <<< EOT
+Hello {LOGIN_DISPLAY_NAME},
+
+Your '{LOGIN_WEBSITE_TITLE}' login details are:
+Username: {LOGIN_NAME}
+Password: {LOGIN_PASSWORD}
+
+Your password has been set to the one above.
+This means that your old password will no longer work.
+
+If you have received this message in error, please delete it immediately.
+EOT;
+
+$MESSAGE['FORGOT_PASS']['NO_DATA'] = 'Zadejte svoji e-mailovou adresu:';
+$MESSAGE['FORGOT_PASS']['EMAIL_NOT_FOUND'] = 'Zadan&aacute; e-mailov&aacute; adresa nebyla nalezena';
+$MESSAGE['FORGOT_PASS']['CANNOT_EMAIL'] = 'Nelze odeslat heslo e-mailem, kontaktujte pros&iacute;m spr&aacute;vce syst&eacute;mu';
+$MESSAGE['FORGOT_PASS']['PASSWORD_RESET'] = 'Va&scaron;e u&#382;ivatelsk&eacute; jm&eacute;no a heslo byly odesl&aacute;ny na Va&scaron;i e-mailovou adresu';
+$MESSAGE['FORGOT_PASS']['ALREADY_RESET'] = 'Heslo nem&#367;&#382;e b&yacute;t p&#345;enastaveno v&iacute;cekr&aacute;t b&#283;hem jedn&eacute; hodiny';
+
+$MESSAGE['START']['WELCOME_MESSAGE'] = 'V&iacute;tejte v Administra&#269;n&iacute; &#269;&aacute;sti';
+$MESSAGE['START']['INSTALL_DIR_EXISTS'] = 'Pozor, st&aacute;le existuje instala&#269;n&iacute; adres&aacute;&#345;!';
+$MESSAGE['START']['CURRENT_USER'] = 'Jste p&#345;ihl&aacute;&scaron;eni jako:';
+
+$MESSAGE['SETTINGS']['UNABLE_OPEN_CONFIG'] = 'Nelze otev&#345;&iacute;t soubor s konfigurac&iacute;';
+$MESSAGE['SETTINGS']['UNABLE_WRITE_CONFIG'] = 'Nelze zapisovat do souboru s konfigurac&iacute;';
+$MESSAGE['SETTINGS']['SAVED'] = 'Nastaven&iacute; bylo &uacute;sp&#283;&scaron;n&#283; ulo&#382;eno';
+$MESSAGE['SETTINGS']['MODE_SWITCH_WARNING'] = 'Pozn.: stisknut&iacute;m tohoto tla&#269;&iacute;tka dojde k zahozen&iacute; neulo&#382;en&yacute;ch zm&#283;n';
+$MESSAGE['SETTINGS']['WORLD_WRITEABLE_WARNING'] = 'Pozn.: zapnut&iacute; t&eacute;to volby se doporu&#269;uje jen v testovac&iacute;m prost&#345;ed&iacute;';
+
+$MESSAGE['USERS']['ADDED'] = 'U&#382;ivatel byl &uacute;sp&#283;&scaron;n&#283; p&#345;id&aacute;n';
+$MESSAGE['USERS']['SAVED'] = 'U&#382;ivatel byl &uacute;sp&#283;&scaron;n&#283; ulo&#382;en';
+$MESSAGE['USERS']['DELETED'] = 'U&#382;ivatel byl &uacute;sp&#283;&scaron;n&#283; smaz&aacute;n';
+$MESSAGE['USERS']['NO_GROUP'] = 'Nebyla vybr&aacute;na skupina';
+$MESSAGE['USERS']['USERNAME_TOO_SHORT'] = 'Zadan&eacute; u&#382;ivatelsk&eacute; jm&eacute;no je p&#345;&iacute;li&scaron; kr&aacute;tk&eacute;';
+$MESSAGE['USERS']['PASSWORD_TOO_SHORT'] = 'Zadan&eacute; heslo je p&#345;&iacute;li&scaron; kr&aacute;tk&eacute;';
+$MESSAGE['USERS']['PASSWORD_MISMATCH'] = 'Zadan&aacute; hesla nejsou shodn&aacute;';
+$MESSAGE['USERS']['INVALID_EMAIL'] = 'Zadan&aacute; e-mailov&aacute; adresa je neplatn&aacute;';
+$MESSAGE['USERS']['EMAIL_TAKEN'] = 'Zadan&aacute; e-mailov&aacute; adresa je ji&#382; pou&#382;&iacute;v&aacute;na';
+$MESSAGE['USERS']['USERNAME_TAKEN'] = 'U&#382;ivatel se stejn&yacute;m u&#382;ivatelsk&yacute;m jm&eacute;nem ji&#382; existuje';
+$MESSAGE['USERS']['CHANGING_PASSWORD'] = 'Pozn.: vypl&#328;te pouze hodnoty v&yacute;&scaron;e pokud si p&#345;ejete zm&#283;nit heslo';
+$MESSAGE['USERS']['CONFIRM_DELETE'] = 'Jste si jisti, &#382;e chcete smazat tohoto u&#382;ivatele?';
+
+$MESSAGE['GROUPS']['ADDED'] = 'Skupina byla &uacute;sp&#283;&scaron;n&#283; p&#345;id&aacute;na';
+$MESSAGE['GROUPS']['SAVED'] = 'Skupina byla &uacute;sp&#283;&scaron;n&#283; ulo&#382;ena';
+$MESSAGE['GROUPS']['DELETED'] = 'Skupina byla &uacute;sp&#283;&scaron;n&#283; smaz&aacute;na';
+$MESSAGE['GROUPS']['GROUP_NAME_BLANK'] = 'N&aacute;zev skupiny je pr&aacute;zdn&yacute;';
+$MESSAGE['GROUPS']['CONFIRM_DELETE'] = 'Jste si jisti, &#382;e chcete smazat tuto skupimu (a v&scaron;echny jej&iacute; u&#382;ivatele)?';
+$MESSAGE['GROUPS']['NO_GROUPS_FOUND'] = 'Nenalezena &#382;&aacute;dn&aacute; skupina';
+$MESSAGE['GROUPS']['GROUP_NAME_EXISTS'] = 'Tato skupina ji&#382; existuje';
+
+$MESSAGE['PREFERENCES']['DETAILS_SAVED'] = 'Detaily byly &uacute;sp&#283;&scaron;n&#283; ulo&#382;eny';
+$MESSAGE['PREFERENCES']['EMAIL_UPDATED'] = 'E-mail byl &uacute;sp&#283;&scaron;n&#283; ulo&#382;en';
+$MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT'] = 'Sou&#269;asn&eacute; heslo neodpov&iacute;d&aacute;';
+$MESSAGE['PREFERENCES']['PASSWORD_CHANGED'] = 'Heslo bylo &uacute;sp&#283;&scaron;n&#283; zm&#283;n&#283;no';
+
+$MESSAGE['TEMPLATES']['CHANGE_TEMPLATE_NOTICE'] = 'Pozn.: zm&#283;na &scaron;ablony se prov&aacute;d&iacute; v sekci Nastaven&iacute;';
+
+$MESSAGE['MEDIA']['DIR_DOT_DOT_SLASH'] = 'Nelze pou&#382;&iacute;t ../ v n&aacute;zvu adres&aacute;&#345;e';
+$MESSAGE['MEDIA']['DIR_DOES_NOT_EXIST'] = 'Adres&aacute;&#345; neexistuje';
+$MESSAGE['MEDIA']['TARGET_DOT_DOT_SLASH'] = 'Nelze pou&#382;&iacute;t ../ v c&iacute;lov&eacute;m adres&aacute;&#345;i';
+$MESSAGE['MEDIA']['NAME_DOT_DOT_SLASH'] = 'Nelze pou&#382;&iacute;t ../ v n&aacute;zvu';
+$MESSAGE['MEDIA']['NAME_INDEX_PHP'] = 'Nelze pou&#382;&iacute;t index.php jako n&aacute;zev';
+$MESSAGE['MEDIA']['NONE_FOUND'] = 'Nenalezen &#382;&aacute;dn&yacute; soubor';
+$MESSAGE['MEDIA']['FILE_NOT_FOUND'] = 'Soubor nenalezen';
+$MESSAGE['MEDIA']['DELETED_FILE'] = 'Soubor byl &uacute;sp&#283;&scaron;n&#283; smaz&aacute;n';
+$MESSAGE['MEDIA']['DELETED_DIR'] = 'Adres&aacute;&#345; byl &uacute;sp&#283;&scaron;n&#283; smaz&aacute;n';
+$MESSAGE['MEDIA']['CONFIRM_DELETE'] = 'Jste si jisti, &#382;e chcete smazat n&aacute;sleduj&iacute;c&iacute; soubory nebo adres&aacute;&#345;e?';
+$MESSAGE['MEDIA']['CANNOT_DELETE_FILE'] = 'Nelze smazat vybran&yacute; soubor';
+$MESSAGE['MEDIA']['CANNOT_DELETE_DIR'] = 'Nelze smazat vybran&yacute; adres&aacute;&#345;';
+$MESSAGE['MEDIA']['BLANK_NAME'] = 'Nezadali jste nov&yacute; n&aacute;zev';
+$MESSAGE['MEDIA']['BLANK_EXTENSION'] = 'Nezadali jste p&#345;&iacute;ponu souboru';
+$MESSAGE['MEDIA']['RENAMED'] = 'P&#345;ejmenov&aacute;n&iacute; prob&#283;hlo &uacute;sp&#283;&scaron;n&#283;';
+$MESSAGE['MEDIA']['CANNOT_RENAME'] = 'P&#345;ejmenov&aacute;n&iacute; se nezda&#345;ilo';
+$MESSAGE['MEDIA']['FILE_EXISTS'] = 'Soubor se stejn&yacute;m n&aacute;zvem ji&#382; existuje';
+$MESSAGE['MEDIA']['DIR_EXISTS'] = 'Adres&aacute;&#345; se stejn&yacute;m n&aacute;zvem ji&#382; existuje';
+$MESSAGE['MEDIA']['DIR_MADE'] = 'Adres&aacute;&#345; byl &uacute;sp&#283;&scaron;n&#283; vytvo&#345;en';
+$MESSAGE['MEDIA']['DIR_NOT_MADE'] = 'Nelze vytvo&#345;it adres&aacute;&#345;';
+$MESSAGE['MEDIA']['SINGLE_UPLOADED'] = ' soubor byl &uacute;sp&#283;&scaron;n&#283; nahr&aacute;n';
+$MESSAGE['MEDIA']['UPLOADED'] = ' soubory byly &uacute;sp&#283;&scaron;n&#283; nahr&aacute;ny';
+
+$MESSAGE['PAGES']['ADDED'] = 'Str&aacute;nka byla &uacute;sp&#283;&scaron;n&#283; p&#345;id&aacute;na';
+$MESSAGE['PAGES']['ADDED_HEADING'] = 'Z&aacute;hlav&iacute; str&aacute;nky bylo &uacute;sp&#283;&scaron;n&#283; p&#345;id&aacute;no';
+$MESSAGE['PAGES']['PAGE_EXISTS'] = 'Str&aacute;nka se stejn&yacute;m nebo podobn&yacute;m n&aacute;zvem ji&#382; existuje';
+$MESSAGE['PAGES']['CANNOT_CREATE_ACCESS_FILE'] = 'Do&scaron;lo k chyb&#283; p&#345;i vytv&aacute;&#345;en&iacute; p&#345;&iacute;supov&eacute;ho souboru v adres&aacute;&#345;i str&aacute;nek (nedostate&#269;n&aacute; opr&aacute;vn&#283;n&iacute;)';
+$MESSAGE['PAGES']['CANNOT_DELETE_ACCESS_FILE'] = 'Do&scaron;lo k chyb&#283; p&#345;i maz&aacute;n&iacute; p&#345;&iacute;supov&eacute;ho souboru v adres&aacute;&#345;i str&aacute;nek (nedostate&#269;n&aacute; opr&aacute;vn&#283;n&iacute;)';
+$MESSAGE['PAGES']['NOT_FOUND'] = 'Str&aacute;nka nenalezena';
+$MESSAGE['PAGES']['SAVED'] = 'Str&aacute;nka byla &uacute;sp&#283;&scaron;n&#283; ulo&#382;ena';
+$MESSAGE['PAGES']['SAVED_SETTINGS'] = 'Nastaven&iacute; str&aacute;nky bylo &uacute;sp&#283;&scaron;n&#283; ulo&#382;eno';
+$MESSAGE['PAGES']['NOT_SAVED'] = 'Do&scaron;lo k chyb&#283; p&#345;i ukl&aacute;d&aacute;n&iacute; str&aacute;nky';
+$MESSAGE['PAGES']['DELETE_CONFIRM'] = 'Jste si jisti, &#382;e chcete smazat tuto str&aacute;nku (a v&scaron;echny podstr&aacute;nky)';
+$MESSAGE['PAGES']['DELETED'] = 'Str&aacute;nka byla &uacute;sp&#283;&scaron;n&#283; smaz&aacute;na';
+$MESSAGE['PAGES']['RESTORED'] = 'Str&aacute;nka byla &uacute;sp&#283;&scaron;n&#283; obnovena';
+$MESSAGE['PAGES']['BLANK_PAGE_TITLE'] = 'Zadejte n&aacute;zev str&aacute;nky';
+$MESSAGE['PAGES']['BLANK_MENU_TITLE'] = 'Zadejte n&aacute;zev v menu';
+$MESSAGE['PAGES']['REORDERED'] = 'Str&aacute;nka byla &uacute;sp&#283;&scaron;n&#283; p&#345;esunuta';
+$MESSAGE['PAGES']['CANNOT_REORDER'] = 'Do&scaron;lo k chyb&#283; p&#345;i zm&#283;n&#283; po&#345;ad&iacute; str&aacute;nky';
+$MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS'] = 'Nem&aacute;te opr&aacute;vn&#283;n&iacute; ke zm&#283;n&#283; t&eacute;to str&aacute;nky';
+$MESSAGE['PAGES']['INTRO_NOT_WRITABLE'] = 'Nelze zapisovat do souboru /pages/intro.php (nedostate&#269;n&aacute; opr&aacute;vn&#283;n&iacute;)';
+$MESSAGE['PAGES']['INTRO_SAVED'] = 'Str&aacute;nka byla &uacute;sp&#283;&scaron;n&#283; ulo&#382;ena';
+$MESSAGE['PAGES']['LAST_MODIFIED'] = 'Posledn&iacute; zm&#283;na:';
+$MESSAGE['PAGES']['INTRO_LINK'] = 'Zm&#283;nit &uacute;vodn&iacute; (intro) str&aacute;nku';
+$MESSAGE['PAGES']['SECTIONS_PROPERTIES_SAVED'] = 'Nastaven&iacute; sekce bylo &uacute;sp&#283;&scaron;n&#283; ulo&#382;eno';
+$MESSAGE['PAGES']['RETURN_TO_PAGES'] = 'Zp&#283;t na str&aacute;nky';
+
+$MESSAGE['GENERIC']['FILL_IN_ALL'] = 'Pros&iacute;m vra&#357;te se zp&#283;t a vypl&#328;te v&scaron;echna pole';
+$MESSAGE['GENERIC']['FILE_TYPE'] = 'Nahr&aacute;van&yacute; soubory mus&iacute; b&yacute;t n&aacute;sleduj&iacute;c&iacute;ho form&aacute;tu:';
+$MESSAGE['GENERIC']['FILE_TYPES'] = 'Nahr&aacute;van&yacute; soubor mus&iacute; m&iacute;t jeden z n&aacute;sleduj&iacute;c&iacute;ch form&aacute;t&#367;:';
+$MESSAGE['GENERIC']['CANNOT_UPLOAD'] = 'Nelze nahr&aacute;t soubor';
+$MESSAGE['GENERIC']['ALREADY_INSTALLED'] = 'Ji&#382; d&#345;&iacute;ve nainstalov&aacute;no';
+$MESSAGE['GENERIC']['NOT_INSTALLED'] = 'Nenainstalov&aacute;no';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL'] = 'Nelze odinstalovat';
+$MESSAGE['GENERIC']['CANNOT_UNZIP'] = 'Nelze rozbalit (rozzipovat) soubor';
+$MESSAGE['GENERIC']['INSTALLED'] = 'Instalace prob&#283;hla &uacute;sp&#283;&scaron;n&#283;';
+$MESSAGE['GENERIC']['UPGRADED'] = 'Aktualizace prob&#283;hla &uacute;sp&#283;&scaron;n&#283;';
+$MESSAGE['GENERIC']['UNINSTALLED'] = 'Odinstalace prob&#283;hla &uacute;sp&#283;&scaron;n&#283;';
+$MESSAGE['GENERIC']['BAD_PERMISSIONS'] = 'Nelze zapisovat do c&iacute;lov&eacute;ho adres&aacute;&#345;e';
+$MESSAGE['GENERIC']['INVALID'] = 'Nahr&aacute;van&yacute; soubor je neplatn&yacute;';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE'] = 'Nelze odinstalovat: soubor je pr&aacute;v&#283; pou&#382;&iacute;v&aacute;n';
+
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL'] = "<br /><br />{{type}} <b>{{type_name}}</b> could not be uninstalled, because it is still in use on {{pages}}.<br /><br />";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL_PAGES'] = "this page;these pages";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IS_DEFAULT_TEMPLATE'] = "Can't uninstall the template <b>{{name}}</b>, because it is the default template!";
+
+$MESSAGE['GENERIC']['WEBSITE_UNDER_CONSTRUCTION'] = 'Str&aacute;nky jsou ve v&yacute;stavb&#283;';
+$MESSAGE['GENERIC']['PLEASE_CHECK_BACK_SOON'] = 'Zkuste to p&#345;&iacute;&scaron;t&#283;...';
+$MESSAGE['GENERIC']['PLEASE_BE_PATIENT'] = '&#268;ekejte pros&iacute;m, operace m&#367;&#382;e chv&iacute;li trvat.';
+$MESSAGE['GENERIC']['ERROR_OPENING_FILE'] = 'Do&scaron;lo k chyb&#283; p&#345;i otev&iacute;r&aacute;n&iacute; souboru.';
+$MESSAGE['GENERIC']['INVALID_ADDON_FILE'] = 'Invalid WebsiteBaker installation file. Please check the *.zip format.';
+$MESSAGE['GENERIC']['INVALID_LANGUAGE_FILE'] = 'Invalid WebsiteBaker language file. Please check the text file.';
+
+$MESSAGE['MOD_FORM']['REQUIRED_FIELDS'] = 'Mus&iacute;te vyplnit n&aacute;sleduj&iacute;c&iacute; pole';
+$MESSAGE['MOD_FORM']['EXCESS_SUBMISSIONS'] = 'Omlouv&aacute;me se, ale tento formul&aacute;&#345; dos&aacute;hl limitu povolen&yacute;ch odesl&aacute;n&iacute; pro tuto hodinu. Pros&iacute;m zkuste to znovu v dal&scaron;&iacute; hodin&#283;..';
+$MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA'] = 'Kontroln&iacute; k&oacute;d (zn&aacute;m&yacute; jako Captcha) neodpov&iacute;d&aacute;. Pokud m&aacute;te probl&eacute;my s p&#345;e&#269;ten&iacute;m tohoto k&oacute;du, kontaktujte '.SERVER_EMAIL.'';
+
+$MESSAGE['ADDON']['RELOAD'] = 'Update database with information from Add-on files (e.g. after FTP upload).';
+$MESSAGE['ADDON']['ERROR_RELOAD'] = 'Error while updating the Add-On information.';
+$MESSAGE['ADDON']['MODULES_RELOADED'] = 'Moduly byly &uacute;sp&#283;&scaron;n&#283; p&#345;ehr&aacute;ny';
+$MESSAGE['ADDON']['TEMPLATES_RELOADED'] = '&Scaron;ablony byly &uacute;sp&#283;&scaron;n&#283; p&#345;ehr&aacute;ny';
+$MESSAGE['ADDON']['LANGUAGES_RELOADED'] = 'Jazyky byly &uacute;sp&#283;&scaron;n&#283; p&#345;ehr&aacute;ny';
+$MESSAGE['ADDON']['PRECHECK_FAILED'] = 'Add-on installation failed. Your system does not fulfill the requirements of this Add-on. To make this Add-on working on your system, please fix the issues summarized below.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION'] = 'When modules are uploaded via FTP (not recommended), the module installation files <tt>install.php</tt>, <tt>upgrade.php</tt> or <tt>uninstall.php</tt> will not be executed automatically. Those modules may not work correct or do not uninstall properly.<br /><br />You can execute the module files manually for modules uploaded via FTP below.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION_WARNING'] = 'Warning: Existing module database entries will get lost. Only use this option if you experience problems with modules uploaded via FTP.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/languages/CS.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/languages/index.php
===================================================================
--- tags/2.8.2/wb/languages/index.php	(nonexistent)
+++ tags/2.8.2/wb/languages/index.php	(revision 1481)
@@ -0,0 +1,22 @@
+<?php
+/**
+ *
+ * @category        framework
+ * @package         language
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+require('../config.php');
+header('Location: '.WB_URL.'/');
+
+?>

Property changes on: tags/2.8.2/wb/languages/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/languages/SE.php
===================================================================
--- tags/2.8.2/wb/languages/SE.php	(nonexistent)
+++ tags/2.8.2/wb/languages/SE.php	(revision 1481)
@@ -0,0 +1,595 @@
+<?php
+/**
+ *
+ * @category        framework
+ * @package         language
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// use languageedit-module to modify this file
+
+// Define that this file is loaded
+if(!defined('LANGUAGE_LOADED')) {
+define('LANGUAGE_LOADED', true);
+}
+
+// Set the language information
+$language_code = 'SE';
+$language_name = 'Svenska';
+$language_version = '2.8';
+$language_platform = '2.8.x';
+$language_author = 'Markus Eriksson, Peppe Bergqvist';
+$language_license = 'GNU General Public License';
+
+// Menu titles
+$MENU['START'] = 'Hem';
+$MENU['PAGES'] = 'Sidor';
+$MENU['MEDIA'] = 'Mediabibliotek';
+$MENU['ADDONS'] = 'Till&auml;gg';
+$MENU['MODULES'] = 'Moduler';
+$MENU['TEMPLATES'] = 'Mallar';
+$MENU['LANGUAGES'] = 'Spr&aring;k';
+$MENU['PREFERENCES'] = 'Mina uppgifter';
+$MENU['SETTINGS'] = 'Inst&auml;llningar';
+$MENU['ADMINTOOLS'] = 'Admin-Tools';
+$MENU['ACCESS'] = 'R&auml;ttigheter';
+$MENU['USERS'] = 'Anv&auml;ndare';
+$MENU['GROUPS'] = 'Grupper';
+$MENU['HELP'] = 'Hj&auml;lp';
+$MENU['VIEW'] = 'Visa sida';
+$MENU['LOGOUT'] = 'Logga ut';
+$MENU['LOGIN'] = 'Logga in';
+$MENU['FORGOT'] = 'Skicka inloggningsuppgifter';
+
+// Section overviews
+$OVERVIEW['START'] = 'Administration &ouml;versyn';
+$OVERVIEW['PAGES'] = 'Redigera dina sidor...';
+$OVERVIEW['MEDIA'] = 'Redigera inneh&aring;ll i mediabiblioteket...';
+$OVERVIEW['MODULES'] = 'Behandla WebsiteBaker moduler...';
+$OVERVIEW['TEMPLATES'] = '&Auml;ndra utseendet med mallar...';
+$OVERVIEW['LANGUAGES'] = 'Behandla WebsiteBaker spr&aring;k...';
+$OVERVIEW['PREFERENCES'] = '&Auml;ndra inst&auml;llningar som e-postadress, l&ouml;senord, etc... ';
+$OVERVIEW['SETTINGS'] = '&Auml;ndra inst&auml;llningar f&ouml;r WebsiteBaker...';
+$OVERVIEW['USERS'] = 'Behandla anv&auml;ndare som kan logga in till WebsiteBaker...';
+$OVERVIEW['GROUPS'] = 'Behandla anv&auml;ndargrupper och deras system&aring;tkomst...';
+$OVERVIEW['HELP'] = 'Hitta svar p&aring; dina fr&aring;gor (p&aring; engelska)...';
+$OVERVIEW['VIEW'] = 'Titta p&aring; dina sidor i ett nytt f&ouml;nster...';
+$OVERVIEW['ADMINTOOLS'] = 'Access the WebsiteBaker administration tools...';
+
+// Headings
+$HEADING['MODIFY_DELETE_PAGE'] = '&Auml;ndra/radera sida';
+$HEADING['DELETED_PAGES'] = 'Raderade sidor';
+$HEADING['ADD_PAGE'] = 'Skapa ny sida';
+$HEADING['ADD_HEADING'] = 'Rubrik';
+$HEADING['MODIFY_PAGE'] = '&Auml;ndra sida';
+$HEADING['MODIFY_PAGE_SETTINGS'] = '&Auml;ndra sidans inst&auml;llningar';
+$HEADING['MODIFY_ADVANCED_PAGE_SETTINGS'] = '&Auml;ndra avancerade inst&auml;llningar f&ouml;r sidan';
+$HEADING['MANAGE_SECTIONS'] = 'Redigera sektioner';
+$HEADING['MODIFY_INTRO_PAGE'] = '&Auml;ndra F&ouml;rstasidan';
+
+$HEADING['BROWSE_MEDIA'] = 'Mediabibliotek';
+$HEADING['CREATE_FOLDER'] = 'Skapa ny mapp';
+$HEADING['UPLOAD_FILES'] = 'Ladda Upp fil(er)';
+
+$HEADING['INSTALL_MODULE'] = 'Installera modul';
+$HEADING['UNINSTALL_MODULE'] = 'Avinstallera modul';
+$HEADING['MODULE_DETAILS'] = 'Moduldetaljer';
+
+$HEADING['INSTALL_TEMPLATE'] = 'Installera mall';
+$HEADING['UNINSTALL_TEMPLATE'] = 'Avinstallera mall';
+$HEADING['TEMPLATE_DETAILS'] = 'Malldetaljer';
+
+$HEADING['INSTALL_LANGUAGE'] = 'Installera spr&aring;k';
+$HEADING['UNINSTALL_LANGUAGE'] = 'Avinstallera spr&aring;k';
+$HEADING['LANGUAGE_DETAILS'] = 'Spr&aring;kdetaljer';
+
+$HEADING['MY_SETTINGS'] = 'Mina uppgifter';
+$HEADING['MY_EMAIL'] = 'Min e-post';
+$HEADING['MY_PASSWORD'] = 'Mitt l&ouml;senord';
+
+$HEADING['GENERAL_SETTINGS'] = 'Generella inst&auml;llningar';
+$HEADING['DEFAULT_SETTINGS'] = 'Standardinst&auml;llningar';
+$HEADING['SEARCH_SETTINGS'] = 'S&ouml;kinst&auml;llningar';
+$HEADING['FILESYSTEM_SETTINGS'] = 'Inst&auml;llningar f&ouml;r Filsystem';
+$HEADING['SERVER_SETTINGS'] = 'Server Inst&auml;llningar';
+$HEADING['WBMAILER_SETTINGS'] = 'Mailer Settings';
+$HEADING['ADMINISTRATION_TOOLS'] = 'Administrationsverktyg';
+
+$HEADING['MODIFY_DELETE_USER'] = '&Auml;ndra/radera anv&auml;ndare';
+$HEADING['ADD_USER'] = 'Skapa ny anv&auml;ndare';
+$HEADING['MODIFY_USER'] = '&Auml;ndra anv&auml;ndare';
+
+$HEADING['MODIFY_DELETE_GROUP'] = '&Auml;ndra/radera grupp';
+$HEADING['ADD_GROUP'] = 'Skapa ny grupp';
+$HEADING['MODIFY_GROUP'] = '&Auml;ndra grupp';
+
+$HEADING['ADDON_PRECHECK_FAILED'] = 'Add-On requirements not met';
+$HEADING['INVOKE_MODULE_FILES'] = 'Execute module files manually';
+
+// Other text
+$TEXT['OPEN'] = 'Open';
+$TEXT['ADD'] = 'L&auml;gg till';
+$TEXT['MODIFY'] = '&Auml;ndra';
+$TEXT['SETTINGS'] = 'Inst&auml;llningar';
+$TEXT['DELETE'] = 'Radera';
+$TEXT['SAVE'] = 'Spara';
+$TEXT['RESET'] = '&Aring;ngra';
+$TEXT['LOGIN'] = 'Logga In';
+$TEXT['RELOAD'] = 'Ladda Om';
+$TEXT['CANCEL'] = 'Avbryt';
+$TEXT['NAME'] = 'Namn';
+$TEXT['PLEASE_SELECT'] = 'V&auml;nligen v&auml;lj';
+$TEXT['TITLE'] = 'Titel';
+$TEXT['PARENT'] = 'Underliggande till';
+$TEXT['TYPE'] = 'Typ';
+$TEXT['VISIBILITY'] = 'Synlighetsgrad';
+$TEXT['PRIVATE'] = 'Privat';
+$TEXT['PUBLIC'] = 'Offentligt';
+$TEXT['NONE'] = 'Ingen';
+$TEXT['NONE_FOUND'] = 'Inget hittades';
+$TEXT['CURRENT'] = 'Nuvarande';
+$TEXT['CHANGE'] = '&Auml;ndra';
+$TEXT['WINDOW'] = 'F&ouml;nster';
+$TEXT['DESCRIPTION'] = 'Beskrivning';
+$TEXT['KEYWORDS'] = 'Nyckelord';
+$TEXT['ADMINISTRATORS'] = 'Administratorer';
+$TEXT['PRIVATE_VIEWERS'] = 'Privata anv&auml;ndare';
+$TEXT['EXPAND'] = '&Ouml;ppna';
+$TEXT['COLLAPSE'] = 'St&auml;ng';
+$TEXT['MOVE_UP'] = 'Flytta Upp';
+$TEXT['MOVE_DOWN'] = 'Flytta Ner';
+$TEXT['RENAME'] = 'D&ouml;p om';
+$TEXT['MODIFY_SETTINGS'] = 'Redigera inst&auml;llningar';
+$TEXT['MODIFY_CONTENT'] = 'Redigera inneh&aring;ll';
+$TEXT['VIEW'] = 'Visa';
+$TEXT['UP'] = 'Upp';
+$TEXT['FORGOTTEN_DETAILS'] = 'Gl&ouml;mt dina uppgifter?';
+$TEXT['NEED_TO_LOGIN'] = 'Logga in?';
+$TEXT['SEND_DETAILS'] = 'Skicka uppgifter';
+$TEXT['USERNAME'] = 'Anv&auml;ndarnamn';
+$TEXT['PASSWORD'] = 'L&ouml;senord';
+$TEXT['HOME'] = 'Hem';
+$TEXT['TARGET_FOLDER'] = 'M&aring;lmapp';
+$TEXT['OVERWRITE_EXISTING'] = 'Skriv &ouml;ver nuvarande';
+$TEXT['FILE'] = 'Fil';
+$TEXT['FILES'] = 'Filer';
+$TEXT['FOLDER'] = 'Mapp';
+$TEXT['FOLDERS'] = 'Mappar';
+$TEXT['CREATE_FOLDER'] = 'Skapa mapp';
+$TEXT['UPLOAD_FILES'] = 'Ladda upp filer';
+$TEXT['CURRENT_FOLDER'] = 'Nuvarande mapp';
+$TEXT['TO'] = 'Till';
+$TEXT['FROM'] = 'Fr&aring;n';
+$TEXT['INSTALL'] = 'Installera';
+$TEXT['UNINSTALL'] = 'Avinstallera';
+$TEXT['VIEW_DETAILS'] = 'Visa detaljer';
+$TEXT['DISPLAY_NAME'] = 'Visa namn';
+$TEXT['AUTHOR'] = 'F&ouml;rfattare';
+$TEXT['VERSION'] = 'Version';
+$TEXT['DESIGNED_FOR'] = 'Skapad f&ouml;r';
+$TEXT['DESCRIPTION'] = 'Beskrivning';
+$TEXT['EMAIL'] = 'E-post';
+$TEXT['LANGUAGE'] = 'Spr&aring;k';
+$TEXT['TIMEZONE'] = 'Tidzon';
+$TEXT['CURRENT_PASSWORD'] = 'Nuvarande l&ouml;senord';
+$TEXT['NEW_PASSWORD'] = 'Nytt l&ouml;senord';
+$TEXT['RETYPE_NEW_PASSWORD'] = 'Nytt l&ouml;senord igen';
+$TEXT['ACTIVE'] = 'Aktiv';
+$TEXT['DISABLED'] = 'Inaktiverad';
+$TEXT['ENABLED'] = 'Aktiverad';
+$TEXT['RETYPE_PASSWORD'] = 'Skriv l&ouml;senordet igen';
+$TEXT['GROUP'] = 'Grupp';
+$TEXT['SYSTEM_PERMISSIONS'] = 'Systemtill&aring;telse';
+$TEXT['MODULE_PERMISSIONS'] = 'Modultill&aring;telse';
+$TEXT['SHOW_ADVANCED'] = 'Visa avancerade val';
+$TEXT['HIDE_ADVANCED'] = 'G&ouml;m avancerade val';
+$TEXT['BASIC'] = 'Standard';
+$TEXT['ADVANCED'] = 'Avancerat';
+$TEXT['WEBSITE'] = 'Websida';
+$TEXT['DEFAULT'] = 'Standard';
+$TEXT['KEYWORDS'] = 'Nyckelord';
+$TEXT['TEXT'] = 'Text';
+$TEXT['HEADER'] = 'Huvud';
+$TEXT['FOOTER'] = 'Fot';
+$TEXT['TEMPLATE'] = 'Mall';
+$TEXT['THEME'] = 'Backend-Theme';
+$TEXT['INSTALLATION'] = 'Installation';
+$TEXT['DATABASE'] = 'Databas';
+$TEXT['HOST'] = 'Host';
+$TEXT['INTRO'] = 'Inledning';
+$TEXT['PAGE'] = 'Sida';
+$TEXT['SIGNUP'] = 'Registrera';
+$TEXT['PHP_ERROR_LEVEL'] = 'PHP felrapport niv&aring;';
+$TEXT['ADMIN'] = 'Admin';
+$TEXT['PATH'] = 'S&ouml;kv&auml;g';
+$TEXT['URL'] = 'URL';
+$TEXT['FRONTEND'] = 'Front-end';
+$TEXT['EXTENSION'] = '&Auml;ndelse';
+$TEXT['TABLE_PREFIX'] = 'Tabell prefix';
+$TEXT['CHANGES'] = '&Auml;ndringar';
+$TEXT['ADMINISTRATION'] = 'Administration';
+$TEXT['FORGOT_DETAILS'] = 'Gl&ouml;mt dina uppgifter?';
+$TEXT['LOGGED_IN'] = 'Inloggad';
+$TEXT['WELCOME_BACK'] = 'V&auml;lkommen tillbaka';
+$TEXT['FULL_NAME'] = 'Ditt hela namn';
+$TEXT['ACCOUNT_SIGNUP'] = 'Kontoregistrering';
+$TEXT['LINK'] = 'Link';
+$TEXT['ANCHOR'] = 'Anchor';
+$TEXT['TARGET'] = 'M&aring;lf&ouml;nster';
+$TEXT['NEW_WINDOW'] = 'Nytt f&ouml;nster';
+$TEXT['SAME_WINDOW'] = 'Samma f&ouml;nster';
+$TEXT['TOP_FRAME'] = 'Top frame';
+$TEXT['PAGE_LEVEL_LIMIT'] = 'Sidniv&aring; gr&auml;ns';
+$TEXT['SUCCESS'] = 'Lyckades';
+$TEXT['ERROR'] = 'FEL';
+$TEXT['ARE_YOU_SURE'] = '&Auml;r du s&auml;ker?';
+$TEXT['YES'] = 'Ja';
+$TEXT['NO'] = 'Nej';
+$TEXT['SYSTEM_DEFAULT'] = 'Systemets standard';
+$TEXT['PAGE_TITLE'] = 'Sidans titel';
+$TEXT['MENU_TITLE'] = 'Menyns titel';
+$TEXT['ACTIONS'] = '&Aring;tg&auml;rder';
+$TEXT['UNKNOWN'] = 'Ok&auml;nd';
+$TEXT['BLOCK'] = 'Block';
+$TEXT['SEARCH'] = 'S&ouml;k';
+$TEXT['SEARCHING'] = 'S&ouml;ker';
+$TEXT['POST'] = 'Nyhet';
+$TEXT['COMMENT'] = 'Kommentar';
+$TEXT['COMMENTS'] = 'Kommentarer';
+$TEXT['COMMENTING'] = 'Kommenterar';
+$TEXT['SHORT'] = 'Ingress';
+$TEXT['LONG'] = 'Br&ouml;dtext';
+$TEXT['LOOP'] = 'Loop';
+$TEXT['FIELD'] = 'F&auml;lt';
+$TEXT['REQUIRED'] = 'Obligatoriskt';
+$TEXT['LENGTH'] = 'L&auml;ngd';
+$TEXT['MESSAGE'] = 'Meddelande';
+$TEXT['SUBJECT'] = '&Auml;mne';
+$TEXT['MATCH'] = 'Matcha';
+$TEXT['ALL_WORDS'] = 'Alla ord';
+$TEXT['ANY_WORDS'] = 'N&aring;got ord';
+$TEXT['EXACT_MATCH'] = 'Exakt matchning';
+$TEXT['SHOW'] = 'Visa';
+$TEXT['HIDE'] = 'G&ouml;m';
+$TEXT['START_PUBLISHING'] = 'Starta publicering';
+$TEXT['FINISH_PUBLISHING'] = 'Avsluta publicering';
+$TEXT['DATE'] = 'Datum';
+$TEXT['START'] = 'Starta';
+$TEXT['END'] = 'Stopp';
+$TEXT['IMAGE'] = 'Bild';
+$TEXT['ICON'] = 'Icon';
+$TEXT['SECTION'] = 'Sektion';
+$TEXT['DATE_FORMAT'] = 'Datumformat';
+$TEXT['TIME_FORMAT'] = 'Tidsformat';
+$TEXT['RESULTS'] = 'Resultat';
+$TEXT['RESIZE'] = 'Storleks&auml;ndra';
+$TEXT['MANAGE'] = 'Behandla';
+$TEXT['CODE'] = 'Kod';
+$TEXT['WIDTH'] = 'Bredd';
+$TEXT['HEIGHT'] = 'H&ouml;jd';
+$TEXT['MORE'] = 'Mer';
+$TEXT['READ_MORE'] = 'L&auml;s mer';
+$TEXT['CHANGE_SETTINGS'] = '&Auml;ndra inst&auml;llningar';
+$TEXT['CURRENT_PAGE'] = 'Nuvarande sida';
+$TEXT['CLOSE'] = 'St&auml;ng';
+$TEXT['INTRO_PAGE'] = 'F&ouml;rstasida';
+$TEXT['INSTALLATION_URL'] = 'Installation URL';
+$TEXT['INSTALLATION_PATH'] = 'Installation s&ouml;kv&auml;g';
+$TEXT['PAGE_EXTENSION'] = 'Sidors fil&auml;ndelse';
+$TEXT['NO_RESULTS'] = 'Inget resultat';
+$TEXT['WEBSITE_TITLE'] = 'Websitens titel';
+$TEXT['WEBSITE_DESCRIPTION'] = 'Websitens beskrivning';
+$TEXT['WEBSITE_KEYWORDS'] = 'Websitens nyckelord';
+$TEXT['WEBSITE_HEADER'] = 'Websitens huvud';
+$TEXT['WEBSITE_FOOTER'] = 'Websitens fot';
+$TEXT['RESULTS_HEADER'] = 'Resultat huvud';
+$TEXT['RESULTS_LOOP'] = 'Resultat loop';
+$TEXT['RESULTS_FOOTER'] = 'Resultat fot';
+$TEXT['LEVEL'] = 'Niv&aring;';
+$TEXT['NOT_FOUND'] = 'Hittades inte';
+$TEXT['PAGE_SPACER'] = 'Mellanrum sida';
+$TEXT['MATCHING'] = 'Matching';
+$TEXT['TEMPLATE_PERMISSIONS'] = 'Till&aring;telse mallar';
+$TEXT['PAGES_DIRECTORY'] = 'Sidors mapp';
+$TEXT['MEDIA_DIRECTORY'] = 'Media mapp';
+$TEXT['FILE_MODE'] = 'Fil s&auml;tt';
+$TEXT['USER'] = 'Anv&auml;ndare';
+$TEXT['OTHERS'] = 'Andra';
+$TEXT['READ'] = 'L&auml;s';
+$TEXT['WRITE'] = 'Skriv';
+$TEXT['EXECUTE'] = 'K&ouml;ra script';
+$TEXT['SMART_LOGIN'] = 'Smart inloggning';
+$TEXT['REMEMBER_ME'] = 'Kom ih&aring;g mig';
+$TEXT['FILESYSTEM_PERMISSIONS'] = 'R&auml;ttigheter filsystem';
+$TEXT['DIRECTORIES'] = 'Mappar';
+$TEXT['DIRECTORY_MODE'] = 'Mappar s&auml;tt';
+$TEXT['LIST_OPTIONS'] = 'Visa val';
+$TEXT['OPTION'] = 'Val';
+$TEXT['ALLOW_MULTIPLE_SELECTIONS'] = 'Till&aring;t flera val';
+$TEXT['TEXTFIELD'] = 'Textrad';
+$TEXT['TEXTAREA'] = 'Textruta';
+$TEXT['SELECT_BOX'] = 'Valruta';
+$TEXT['CHECKBOX_GROUP'] = 'Valruta flera';
+$TEXT['RADIO_BUTTON_GROUP'] = 'Radioknapp flera';
+$TEXT['SIZE'] = 'Storlek';
+$TEXT['DEFAULT_TEXT'] = 'Standardtext';
+$TEXT['SEPERATOR'] = 'Separator';
+$TEXT['BACK'] = 'Tillbaka';
+$TEXT['UNDER_CONSTRUCTION'] = 'Under uppbygnad.... Kommer snart';
+$TEXT['MULTISELECT'] = 'Flerval';
+$TEXT['SHORT_TEXT'] = 'Kort text';
+$TEXT['LONG_TEXT'] = 'L&aring;ng text';
+$TEXT['HOMEPAGE_REDIRECTION'] = 'Omstyrning hemsida';
+$TEXT['HEADING'] = 'Rubrik';
+$TEXT['MULTIPLE_MENUS'] = 'Flera menyer';
+$TEXT['REGISTERED'] = 'Registrerad';
+$TEXT['SECTION_BLOCKS'] = 'Sektioner block';
+$TEXT['REGISTERED_VIEWERS'] = 'Registrerade anv&auml;ndare';
+$TEXT['ALLOWED_VIEWERS'] = 'Till&aring;tna att se';
+$TEXT['SUBMISSION_ID'] = 'Inskickning ID';
+$TEXT['SUBMISSIONS'] = 'Inskickningar';
+$TEXT['SUBMITTED'] = 'Inskickat';
+$TEXT['MAX_SUBMISSIONS_PER_HOUR'] = 'Max poster per timme';
+$TEXT['SUBMISSIONS_STORED_IN_DATABASE'] = 'Poster som sparas i databasen';
+$TEXT['EMAIL_ADDRESS'] = 'E-postadress';
+$TEXT['CUSTOM'] = 'Sedvanlig';
+$TEXT['ANONYMOUS'] = 'Anonym';
+$TEXT['SERVER_OPERATING_SYSTEM'] = 'Serveroperativsystem';
+$TEXT['WORLD_WRITEABLE_FILE_PERMISSIONS'] = 'Skrivr&auml;ttigheter filer';
+$TEXT['LINUX_UNIX_BASED'] = 'Linux/Unix';
+$TEXT['WINDOWS'] = 'Windows';
+$TEXT['HOME_FOLDER'] = 'Hemmapp';
+$TEXT['HOME_FOLDERS'] = 'Hemmappar';
+$TEXT['PAGE_TRASH'] = 'Papperskorg';
+$TEXT['INLINE'] = 'Aktiverad';
+$TEXT['SEPARATE'] = 'Separerat';
+$TEXT['DELETED'] = 'Raderat';
+$TEXT['VIEW_DELETED_PAGES'] = 'Visa raderade sidor';
+$TEXT['EMPTY_TRASH'] = 'T&ouml;m papperskorgen';
+$TEXT['TRASH_EMPTIED'] = 'Papperskorgen t&ouml;md';
+$TEXT['ADD_SECTION'] = 'L&auml;gg till sektion';
+$TEXT['POST_HEADER'] = 'Nyhet huvud';
+$TEXT['POST_FOOTER'] = 'Nyhet fot';
+$TEXT['POSTS_PER_PAGE'] = 'Inl&auml;gg per sida';
+$TEXT['RESIZE_IMAGE_TO'] = 'Storleks&auml;ndra bilden till';
+$TEXT['UNLIMITED'] = 'Obegr&auml;nsat';
+$TEXT['OF'] = 'Av';
+$TEXT['OUT_OF'] = 'Utav';
+$TEXT['NEXT'] = 'N&auml;sta';
+$TEXT['PREVIOUS'] = 'F&ouml;reg&aring;ende';
+$TEXT['NEXT_PAGE'] = 'N&auml;sta sida';
+$TEXT['PREVIOUS_PAGE'] = 'F&ouml;reg&aring;ende sida';
+$TEXT['ON'] = 'Den';
+$TEXT['LAST_UPDATED_BY'] = 'Senast uppdaterad av';
+$TEXT['RESULTS_FOR'] = 'Resultat f&ouml;r';
+$TEXT['TIME'] = 'Tid';
+$TEXT['REDIRECT_AFTER'] = 'Redirect after';
+$TEXT['WYSIWYG_STYLE'] = 'WYSIWYG stil';
+$TEXT['WYSIWYG_EDITOR'] = 'WYSIWYG redigerare';
+$TEXT['SERVER_EMAIL'] = 'Server e-post';
+$TEXT['MENU'] = 'Meny';
+$TEXT['MANAGE_GROUPS'] = 'Behandla grupper';
+$TEXT['MANAGE_USERS'] = 'Behandla anv&auml;ndare';
+$TEXT['PAGE_LANGUAGES'] = 'Sidors spr&aring;k';
+$TEXT['HIDDEN'] = 'G&ouml;md';
+$TEXT['MAIN'] = 'Huvudmenyn';
+$TEXT['RENAME_FILES_ON_UPLOAD'] = '&Auml;ndra filnamn vid uppladdning';
+$TEXT['APP_NAME'] = 'Namn p&aring; applikation';
+$TEXT['SESSION_IDENTIFIER'] = 'Sessionsidentifierare';
+$TEXT['SEC_ANCHOR'] = 'Section-Anchor text';
+$TEXT['BACKUP'] = 'Backup';
+$TEXT['RESTORE'] = '&Aring;terst&auml;ll';
+$TEXT['BACKUP_DATABASE'] = 'Backup av databas';
+$TEXT['RESTORE_DATABASE'] = '&Aring;terst&auml;ll databas';
+$TEXT['BACKUP_ALL_TABLES'] = 'Backup av samtliga tabeller i databasen';
+$TEXT['BACKUP_WB_SPECIFIC'] = 'Backup av endast tabeller f&ouml;r WB';
+$TEXT['BACKUP_MEDIA'] = 'Backup av media';
+$TEXT['RESTORE_MEDIA'] = '&Aring;terst&auml;ll media';
+$TEXT['ADMINISTRATION_TOOL'] = 'Administrationsverktyg';
+$TEXT['CAPTCHA_VERIFICATION'] = 'Captchaverifiering (&auml;ven kallat verifierings nummer) ';
+$TEXT['VERIFICATION'] = 'Verifikation';
+$TEXT['DEFAULT_CHARSET'] = 'Standardtypsnitt';
+$TEXT['CHARSET'] = 'Typsnitt';
+$TEXT['MODULE_ORDER'] = 'Module-order for searching';
+$TEXT['MAX_EXCERPT'] = 'Max lines of excerpt';
+$TEXT['TIME_LIMIT'] = 'Max time to gather excerpts per module';
+$TEXT['PUBL_START_DATE'] = 'Start date';
+$TEXT['PUBL_END_DATE'] = 'End date';
+$TEXT['CALENDAR'] = 'Calender';
+$TEXT['DELETE_DATE'] = 'Delete date';
+$TEXT['WBMAILER_DEFAULT_SETTINGS_NOTICE'] = 'Please specify a default "FROM" address and "SENDER" name below. It is recommended to use a FROM address like: <strong>admin@yourdomain.com</strong>. Some mail provider (e.g. <em>mail.com</em>) may reject mails with a FROM: address like <em>name@mail.com</em> sent via a foreign relay to avoid spam.<br /><br />The default values are only used if no other values are specified by WebsiteBaker. If your server supports <acronym title="Simple mail transfer protocol">SMTP</acronym>, you may want use this option for outgoing mails.';
+$TEXT['WBMAILER_DEFAULT_SENDER_MAIL'] = 'Default From Mail';
+$TEXT['WBMAILER_DEFAULT_SENDER_NAME'] = 'Default Sender Name';
+$TEXT['WBMAILER_NOTICE'] = '<strong>SMTP Mailer Settings:</strong><br />The settings below are only required if you want to send mails via <acronym title="Simple mail transfer protocol">SMTP</acronym>. If you do not know your SMTP host or you are not sure about the required settings, simply stay with the default mail routine: PHP MAIL.';
+$TEXT['WBMAILER_FUNCTION'] = 'Mail Routine';
+$TEXT['WBMAILER_SMTP_HOST'] = 'SMTP Host';
+$TEXT['WBMAILER_PHP'] = 'PHP MAIL';
+$TEXT['WBMAILER_SMTP'] = 'SMTP';
+$TEXT['WBMAILER_SMTP_AUTH'] = 'SMTP Authentification';
+$TEXT['WBMAILER_SMTP_AUTH_NOTICE'] = 'only activate if your SMTP host requires authentification';
+$TEXT['WBMAILER_SMTP_USERNAME'] = 'SMTP Username';
+$TEXT['WBMAILER_SMTP_PASSWORD'] = 'SMTP Password';
+$TEXT['PLEASE_LOGIN'] = 'Please login';
+$TEXT['CAP_EDIT_CSS'] = 'Edit CSS';
+$TEXT['HEADING_CSS_FILE'] = 'Actual module file: ';
+$TEXT['TXT_EDIT_CSS_FILE'] = 'Edit the CSS definitions in the textarea below.';
+$TEXT['CODE_SNIPPET'] = "Code-snippet";
+$TEXT['REQUIREMENT'] = "Requirement";
+$TEXT['INSTALLED'] = "installed";
+$TEXT['NOT_INSTALLED'] = "not installed";
+$TEXT['ADDON'] = "Add-On";
+$TEXT['EXTENSION'] = "Extension";
+$TEXT['UNZIP_FILE'] = "Upload and unpack a zip archive";
+$TEXT['DELETE_ZIP'] = "Delete zip archive after unpacking";
+
+// Success/error messages
+$MESSAGE['FRONTEND']['SORRY_NO_VIEWING_PERMISSIONS'] = 'Tyv&auml;rr, du har inte till&aring;telse att titta p&aring; denna sida';
+$MESSAGE['FRONTEND']['SORRY_NO_ACTIVE_SECTIONS'] = 'Sorry, no active content to display';
+
+$MESSAGE['ADMIN']['INSUFFICIENT_PRIVELLIGES'] = 'Du har inte till&aring;telse att vara h&auml;r';
+
+$MESSAGE['LOGIN']['BOTH_BLANK'] = 'Skriv in ditt anv&auml;ndarnamn & L&ouml;senord';
+$MESSAGE['LOGIN']['USERNAME_BLANK'] = 'Skriv ditt anv&auml;ndarnamn';
+$MESSAGE['LOGIN']['PASSWORD_BLANK'] = 'Skriv ditt l&ouml;senord';
+$MESSAGE['LOGIN']['USERNAME_TOO_SHORT'] = 'Anv&auml;ndarnamnet &auml;r f&ouml;r kort';
+$MESSAGE['LOGIN']['PASSWORD_TOO_SHORT'] = 'L&ouml;senordet &auml;r f&ouml;r kort';
+$MESSAGE['LOGIN']['USERNAME_TOO_LONG'] = 'Anv&auml;ndarnamnet &auml;r f&ouml;r l&aring;ngt';
+$MESSAGE['LOGIN']['PASSWORD_TOO_LONG'] = 'L&ouml;senordet &auml;r f&ouml;r l&aring;ngt';
+$MESSAGE['LOGIN']['AUTHENTICATION_FAILED'] = 'Felaktigt anv&auml;ndarnamn eller l&ouml;senord';
+
+$MESSAGE['SIGNUP']['NO_EMAIL'] = 'Du m&aring;ste skriva en e-postadress';
+$MESSAGE['SIGNUP2']['SUBJECT_LOGIN_INFO'] = 'Your login details...';
+$MESSAGE['SIGNUP2']['BODY_LOGIN_INFO'] = <<< EOT
+Hello {LOGIN_DISPLAY_NAME},
+
+Your '{LOGIN_WEBSITE_TITLE}' login details are:
+Username: {LOGIN_NAME}
+Password: {LOGIN_PASSWORD}
+
+Your password has been set to the one above.
+This means that your old password will no longer work.
+
+If you have received this message in error, please delete it immediately.
+EOT;
+
+$MESSAGE['FORGOT_PASS']['NO_DATA'] = 'Skriv din e-postadress';
+$MESSAGE['FORGOT_PASS']['EMAIL_NOT_FOUND'] = 'E-postadressen som du skrev in kan inte hittas i v&aring;r databas';
+$MESSAGE['FORGOT_PASS']['CANNOT_EMAIL'] = 'Kunde inte skicka l&ouml;senordet, v&auml;nligen kontakta administratat&ouml;ren';
+$MESSAGE['FORGOT_PASS']['PASSWORD_RESET'] = 'Ditt anv&auml;ndarnamn & l&ouml;senord har skickats till din e-postadress';
+$MESSAGE['FORGOT_PASS']['ALREADY_RESET'] = 'L&ouml;senordet kan bara &auml;ndras max en g&aring;ng per timme';
+
+$MESSAGE['START']['WELCOME_MESSAGE'] = 'V&auml;lkommen till administrationen av WebsiteBaker';
+$MESSAGE['START']['INSTALL_DIR_EXISTS'] = 'VARNING, installationsmappen finns fortfarande kvar!';
+$MESSAGE['START']['CURRENT_USER'] = 'Du &auml;r inloggad som:';
+
+$MESSAGE['SETTINGS']['UNABLE_OPEN_CONFIG'] = 'Kunde inte &ouml;ppna konfigurationsfilen';
+$MESSAGE['SETTINGS']['UNABLE_WRITE_CONFIG'] = 'Kan inte skriva till konfigurationsfilen';
+$MESSAGE['SETTINGS']['SAVED'] = 'Inst&auml;llningarna sparades';
+$MESSAGE['SETTINGS']['MODE_SWITCH_WARNING'] = 'Observera: Om du klickar p&aring; denna knapp s&aring; f&ouml;rsvinner all ny information som inte sparats';
+$MESSAGE['SETTINGS']['WORLD_WRITEABLE_WARNING'] = 'Observera: detta rekomenderas endast f&ouml;r tillf&auml;llig pr&ouml;vning av sidorna';
+
+$MESSAGE['USERS']['ADDED'] = 'Anv&auml;ndaren lades till';
+$MESSAGE['USERS']['SAVED'] = 'Anv&auml;ndaren sparades';
+$MESSAGE['USERS']['DELETED'] = 'Anv&auml;ndaren Raderades';
+$MESSAGE['USERS']['NO_GROUP'] = 'Ingen grupp valdes';
+$MESSAGE['USERS']['USERNAME_TOO_SHORT'] = 'Anv&auml;ndarnamnet &auml;r f&ouml;r kort';
+$MESSAGE['USERS']['PASSWORD_TOO_SHORT'] = 'L&ouml;senordet &auml;r for kort';
+$MESSAGE['USERS']['PASSWORD_MISMATCH'] = 'L&ouml;senorden du skrev var inte lika';
+$MESSAGE['USERS']['INVALID_EMAIL'] = 'E-post adressen &auml;r felaktig';
+$MESSAGE['USERS']['EMAIL_TAKEN'] = 'E-post adressen du skrev finns redan i v&aring;r Databas';
+$MESSAGE['USERS']['USERNAME_TAKEN'] = 'Anv&auml;ndarnamnet du skrev &auml;r upptaget';
+$MESSAGE['USERS']['CHANGING_PASSWORD'] = 'Observera: Dessa f&auml;lt ska du bara skriva i om du vill &Auml;NDRA L&ouml;senordet';
+$MESSAGE['USERS']['CONFIRM_DELETE'] = 'Vill du verkligen radera anv&auml;ndaren?';
+
+$MESSAGE['GROUPS']['ADDED'] = 'Gruppen lades till';
+$MESSAGE['GROUPS']['SAVED'] = 'Gruppen sparades';
+$MESSAGE['GROUPS']['DELETED'] = 'Gruppen raderades';
+$MESSAGE['GROUPS']['GROUP_NAME_BLANK'] = 'Gruppen m&aring;ste ha ett namn';
+$MESSAGE['GROUPS']['CONFIRM_DELETE'] = 'Vill du verkligen radera gruppen med alla dess anv&auml;ndare?';
+$MESSAGE['GROUPS']['NO_GROUPS_FOUND'] = 'Ingen grupp hittades';
+$MESSAGE['GROUPS']['GROUP_NAME_EXISTS'] = 'Gruppnamnet finns redan';
+
+$MESSAGE['PREFERENCES']['DETAILS_SAVED'] = 'Uppgifterna sparades';
+$MESSAGE['PREFERENCES']['EMAIL_UPDATED'] = 'E-postadressen uppdaterades';
+$MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT'] = 'Det (nuvarande) l&ouml;senordet du skrev &auml;r inte r&auml;tt';
+$MESSAGE['PREFERENCES']['PASSWORD_CHANGED'] = 'L&ouml;senordet &auml;ndrades';
+
+$MESSAGE['TEMPLATES']['CHANGE_TEMPLATE_NOTICE'] = 'Observera: f&ouml;r att &auml;ndra Mall, m&aring;ste du g&aring; till Sektionen Inst&auml;llningar';
+
+$MESSAGE['MEDIA']['DIR_DOT_DOT_SLASH'] = 'Kan inte inkludera ../ i mappens namn';
+$MESSAGE['MEDIA']['DIR_DOES_NOT_EXIST'] = 'Mappen finns inte';
+$MESSAGE['MEDIA']['TARGET_DOT_DOT_SLASH'] = 'Kan inte ha ../ i mappens m&aring;l';
+$MESSAGE['MEDIA']['NAME_DOT_DOT_SLASH'] = 'Kan inte inkludera ../ i namnet';
+$MESSAGE['MEDIA']['NAME_INDEX_PHP'] = 'Kan inte anv&auml;nda index.php som Namn';
+$MESSAGE['MEDIA']['NONE_FOUND'] = 'Ingen media hittades i mappen';
+$MESSAGE['MEDIA']['FILE_NOT_FOUND'] = 'Filen hittades inte';
+$MESSAGE['MEDIA']['DELETED_FILE'] = 'Filen raderades';
+$MESSAGE['MEDIA']['DELETED_DIR'] = 'Mappen raderades';
+$MESSAGE['MEDIA']['CONFIRM_DELETE'] = 'Vill du verkligen radera f&auml;ljande fil/mapp?';
+$MESSAGE['MEDIA']['CANNOT_DELETE_FILE'] = 'Kan inte radera filen';
+$MESSAGE['MEDIA']['CANNOT_DELETE_DIR'] = 'Kan inte radera mappen';
+$MESSAGE['MEDIA']['BLANK_NAME'] = 'Du skrev inget nytt namn';
+$MESSAGE['MEDIA']['BLANK_EXTENSION'] = 'Du skrev ingen fil&auml;ndelse';
+$MESSAGE['MEDIA']['RENAMED'] = 'Namn&auml;ndring utf&ouml;rdes';
+$MESSAGE['MEDIA']['CANNOT_RENAME'] = 'Namn&auml;ndring utf&ouml;rdes INTE';
+$MESSAGE['MEDIA']['FILE_EXISTS'] = 'Det finns redan en fil med samma namn';
+$MESSAGE['MEDIA']['DIR_EXISTS'] = 'Det finns redan en mapp med samma namn';
+$MESSAGE['MEDIA']['DIR_MADE'] = 'Mappen skapades';
+$MESSAGE['MEDIA']['DIR_NOT_MADE'] = 'Kunde inte skapa mapp';
+$MESSAGE['MEDIA']['SINGLE_UPLOADED'] = ' filen laddades upp';
+$MESSAGE['MEDIA']['UPLOADED'] = ' filerna laddades upp';
+
+$MESSAGE['PAGES']['ADDED'] = 'Sidan lades till';
+$MESSAGE['PAGES']['ADDED_HEADING'] = 'Sidans huvud lades till';
+$MESSAGE['PAGES']['PAGE_EXISTS'] = 'En sida med samma eller liknande titel finns redan';
+$MESSAGE['PAGES']['CANNOT_CREATE_ACCESS_FILE'] = 'Fel vid skapande av fil (otillr&auml;cklig till&aring;telse)';
+$MESSAGE['PAGES']['CANNOT_DELETE_ACCESS_FILE'] = 'Fel vid radering av fil (otillr&auml;cklig till&aring;telse)';
+$MESSAGE['PAGES']['NOT_FOUND'] = 'Sidan hittades inte';
+$MESSAGE['PAGES']['SAVED'] = 'Sidan sparades';
+$MESSAGE['PAGES']['SAVED_SETTINGS'] = 'Sidans inst&auml;llningar sparades';
+$MESSAGE['PAGES']['NOT_SAVED'] = 'Fel n&auml;r sidan sparades';
+$MESSAGE['PAGES']['DELETE_CONFIRM'] = 'Vill du verkligen radera sidan med alla dess undersidor?';
+$MESSAGE['PAGES']['DELETED'] = 'Sidan raderades';
+$MESSAGE['PAGES']['RESTORED'] = 'Sidan &aring;terskapades';
+$MESSAGE['PAGES']['BLANK_PAGE_TITLE'] = 'Skriv en titel p&aring; sidan';
+$MESSAGE['PAGES']['BLANK_MENU_TITLE'] = 'Skriv en titel p&aring; menyn';
+$MESSAGE['PAGES']['REORDERED'] = 'Sidorna omordnades';
+$MESSAGE['PAGES']['CANNOT_REORDER'] = 'Fel vid omordning av sidorna';
+$MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS'] = 'Du har inte til&aring;telse att redigera denna sida';
+$MESSAGE['PAGES']['INTRO_NOT_WRITABLE'] = 'Kan inte skriva till filen /pages/intro.php (otillr&auml;klig till&aring;telse)';
+$MESSAGE['PAGES']['INTRO_SAVED'] = 'F&ouml;rstasidan sparades';
+$MESSAGE['PAGES']['LAST_MODIFIED'] = 'Senast redigerad av';
+$MESSAGE['PAGES']['INTRO_LINK'] = 'Klicka h&auml;r f&ouml;r att redigera F&ouml;rstasidan';
+$MESSAGE['PAGES']['SECTIONS_PROPERTIES_SAVED'] = 'Sektionens inst&auml;llningar sparades';
+$MESSAGE['PAGES']['RETURN_TO_PAGES'] = 'Tillbaka till Sidor';
+
+$MESSAGE['GENERIC']['FILL_IN_ALL'] = 'G&aring; tillbaka och fyll i alla f&auml;lt';
+$MESSAGE['GENERIC']['FILE_TYPE'] = 'Observera att filen du laddar upp m&aring;ste vara i formatet:';
+$MESSAGE['GENERIC']['FILE_TYPES'] = 'Observera att filen du laddar upp m&aring;ste vara i ett av f&ouml;ljande format:';
+$MESSAGE['GENERIC']['CANNOT_UPLOAD'] = 'Kan inte ladda upp fil';
+$MESSAGE['GENERIC']['ALREADY_INSTALLED'] = 'Redan installerat';
+$MESSAGE['GENERIC']['NOT_INSTALLED'] = 'Inte installerat';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL'] = 'Kan inte avinstallera';
+$MESSAGE['GENERIC']['CANNOT_UNZIP'] = 'Kan inte packa upp filen';
+$MESSAGE['GENERIC']['INSTALLED'] = 'Installerat';
+$MESSAGE['GENERIC']['UPGRADED'] = 'Uppgradering genomf&ouml;rd';
+$MESSAGE['GENERIC']['UNINSTALLED'] = 'Avinstallerat';
+$MESSAGE['GENERIC']['BAD_PERMISSIONS'] = 'Kan inte skriva i m&aring;lmappen';
+$MESSAGE['GENERIC']['INVALID'] = 'Filen du laddade upp &auml;r ogilltig';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE'] = 'Kan inte avinstallera: filen anv&auml;nds just nu';
+
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL'] = "<br /><br />{{type}} <b>{{type_name}}</b> could not be uninstalled, because it is still in use on {{pages}}.<br /><br />";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL_PAGES'] = "this page;these pages";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IS_DEFAULT_TEMPLATE'] = "Can't uninstall the template <b>{{name}}</b>, because it is the default template!";
+
+$MESSAGE['GENERIC']['WEBSITE_UNDER_CONSTRUCTION'] = 'Website Under Construction';
+$MESSAGE['GENERIC']['PLEASE_CHECK_BACK_SOON'] = 'V&auml;nligen kom tillbaka snart...';
+$MESSAGE['GENERIC']['PLEASE_BE_PATIENT'] = 'V&auml;nligen ha t&aring;lamod, det h&auml;r kan ta en stund.';
+$MESSAGE['GENERIC']['ERROR_OPENING_FILE'] = 'Fel vid &ouml;ppnande av fil.';
+$MESSAGE['GENERIC']['INVALID_ADDON_FILE'] = 'Invalid WebsiteBaker installation file. Please check the *.zip format.';
+$MESSAGE['GENERIC']['INVALID_LANGUAGE_FILE'] = 'Invalid WebsiteBaker language file. Please check the text file.';
+
+$MESSAGE['MOD_FORM']['REQUIRED_FIELDS'] = 'Du m&aring;ste fylla i f&ouml;ljande f&auml;lt';
+$MESSAGE['MOD_FORM']['EXCESS_SUBMISSIONS'] = 'Tyv&auml;rr, detta formul&auml;r har skickats f&ouml;r m&aring;nga g&aring;nger inom denna timme. F&ouml;rs&ouml;k igen om ett tag.';
+$MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA'] = 'Verifieringsnumret (ocks&aring; k&auml;nt som Captcha) som du angav &auml;r felaktigt. Om du har problem med att l&auml;sa ut Captcha, v&auml;nligen s&auml;nd email till: '.SERVER_EMAIL.'';
+
+$MESSAGE['ADDON']['RELOAD'] = 'Update database with information from Add-on files (e.g. after FTP upload).';
+$MESSAGE['ADDON']['ERROR_RELOAD'] = 'Error while updating the Add-On information.';
+$MESSAGE['ADDON']['MODULES_RELOADED'] = 'Moduler laddades om';
+$MESSAGE['ADDON']['TEMPLATES_RELOADED'] = 'Mallar laddades om';
+$MESSAGE['ADDON']['LANGUAGES_RELOADED'] = 'Spr&aring;k laddades om';
+$MESSAGE['ADDON']['PRECHECK_FAILED'] = 'Add-on installation failed. Your system does not fulfill the requirements of this Add-on. To make this Add-on working on your system, please fix the issues summarized below.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION'] = 'When modules are uploaded via FTP (not recommended), the module installation files <tt>install.php</tt>, <tt>upgrade.php</tt> or <tt>uninstall.php</tt> will not be executed automatically. Those modules may not work correct or do not uninstall properly.<br /><br />You can execute the module files manually for modules uploaded via FTP below.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION_WARNING'] = 'Warning: Existing module database entries will get lost. Only use this option if you experience problems with modules uploaded via FTP.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/languages/SE.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/languages/ES.php
===================================================================
--- tags/2.8.2/wb/languages/ES.php	(nonexistent)
+++ tags/2.8.2/wb/languages/ES.php	(revision 1481)
@@ -0,0 +1,595 @@
+<?php
+/**
+ *
+ * @category        framework
+ * @package         language
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// use languageedit-module to modify this file
+
+// Define that this file is loaded
+if(!defined('LANGUAGE_LOADED')) {
+define('LANGUAGE_LOADED', true);
+}
+
+// Set the language information
+$language_code = 'ES';
+$language_name = 'Spanish';
+$language_version = '2.8';
+$language_platform = '2.8.x';
+$language_author = 'Samuel Mateo, Jr. | samuelmateo.com';
+$language_license = 'GNU General Public License';
+
+// Menu titles
+$MENU['START'] = 'Inicio';
+$MENU['PAGES'] = 'P&aacute;ginas';
+$MENU['MEDIA'] = 'Media';
+$MENU['ADDONS'] = 'Add-ons';
+$MENU['MODULES'] = 'M&oacute;dulos';
+$MENU['TEMPLATES'] = 'Plantillas';
+$MENU['LANGUAGES'] = 'Lenguajes';
+$MENU['PREFERENCES'] = 'Preferencias';
+$MENU['SETTINGS'] = 'Configuraci&oacute;n';
+$MENU['ADMINTOOLS'] = 'Admin-Tools';
+$MENU['ACCESS'] = 'Acceso';
+$MENU['USERS'] = 'Usuarios';
+$MENU['GROUPS'] = 'Grupos';
+$MENU['HELP'] = 'Ayuda';
+$MENU['VIEW'] = 'Vista Preliminar';
+$MENU['LOGOUT'] = 'Salir';
+$MENU['LOGIN'] = 'Entrar';
+$MENU['FORGOT'] = 'Recuperar los detalles de registro';
+
+// Section overviews
+$OVERVIEW['START'] = 'Administraci&oacute;n General';
+$OVERVIEW['PAGES'] = 'Administrar p&aacute;ginas del web...';
+$OVERVIEW['MEDIA'] = 'Administrar archivos en la carpeta Media...';
+$OVERVIEW['MODULES'] = 'Administrar m&oacute;dulos de WebsiteBaker...';
+$OVERVIEW['TEMPLATES'] = 'Administrar plantillas de apariencia...';
+$OVERVIEW['LANGUAGES'] = 'Administrar lenguajes...';
+$OVERVIEW['PREFERENCES'] = 'Cambiar preferencias de email, contrase&ntilde;a, etc... ';
+$OVERVIEW['SETTINGS'] = 'Configurar WebsiteBaker...';
+$OVERVIEW['USERS'] = 'Administrar acceso de usuarios a WebsiteBaker...';
+$OVERVIEW['GROUPS'] = 'Administrar groups de usuarios y sus permisos...';
+$OVERVIEW['HELP'] = 'Respuestas a tus preguntas...';
+$OVERVIEW['VIEW'] = 'Ver y explorar tu sitio en una nueva ventana...';
+$OVERVIEW['ADMINTOOLS'] = 'Access the WebsiteBaker administration tools...';
+
+// Headings
+$HEADING['MODIFY_DELETE_PAGE'] = 'Modificar/Eliminar P&aacute;gina';
+$HEADING['DELETED_PAGES'] = 'P&aacute;ginas Eliminadas';
+$HEADING['ADD_PAGE'] = 'Agregar P&aacute;gina';
+$HEADING['ADD_HEADING'] = 'Agregar Encabezado';
+$HEADING['MODIFY_PAGE'] = 'Modificar P&aacute;gina';
+$HEADING['MODIFY_PAGE_SETTINGS'] = 'Modificar Configuraci&oacute;n de P&aacute;gina';
+$HEADING['MODIFY_ADVANCED_PAGE_SETTINGS'] = 'Modificar Configuraci&oacute;n Avanzada de P&aacute;gina';
+$HEADING['MANAGE_SECTIONS'] = 'Administrar Secciones';
+$HEADING['MODIFY_INTRO_PAGE'] = 'Modificar P&aacute;gina Intro';
+
+$HEADING['BROWSE_MEDIA'] = 'Explorar Media';
+$HEADING['CREATE_FOLDER'] = 'Crear Carpeta';
+$HEADING['UPLOAD_FILES'] = 'Subir Archivo(s)';
+
+$HEADING['INSTALL_MODULE'] = 'Instalar M&oacute;dulo';
+$HEADING['UNINSTALL_MODULE'] = 'Desinstalar M&oacute;dulo';
+$HEADING['MODULE_DETAILS'] = 'Detalles de M&oacute;dulo';
+
+$HEADING['INSTALL_TEMPLATE'] = 'Instalar Plantilla';
+$HEADING['UNINSTALL_TEMPLATE'] = 'Desinstalar Plantilla';
+$HEADING['TEMPLATE_DETAILS'] = 'Detalles de Plantilla';
+
+$HEADING['INSTALL_LANGUAGE'] = 'Instalar Lenguaje';
+$HEADING['UNINSTALL_LANGUAGE'] = 'Desinstalar Lenguaje';
+$HEADING['LANGUAGE_DETAILS'] = 'Detalles del Lenguaje';
+
+$HEADING['MY_SETTINGS'] = 'Mi Configuraci&oacute;n';
+$HEADING['MY_EMAIL'] = 'Mi Email';
+$HEADING['MY_PASSWORD'] = 'Mi Contrase&ntilde;a';
+
+$HEADING['GENERAL_SETTINGS'] = 'Configuraci&oacute;n General';
+$HEADING['DEFAULT_SETTINGS'] = 'Configuraci&oacute;n Original';
+$HEADING['SEARCH_SETTINGS'] = 'Configuraci&oacute;n del Search';
+$HEADING['FILESYSTEM_SETTINGS'] = 'Configuraci&oacute;n del sistema de Ficheros';
+$HEADING['SERVER_SETTINGS'] = 'Configuraci&oacute;n del Servidor';
+$HEADING['WBMAILER_SETTINGS'] = 'Mailer Settings';
+$HEADING['ADMINISTRATION_TOOLS'] = 'Herramientas de administraci&oacute;n';
+
+$HEADING['MODIFY_DELETE_USER'] = 'Modificar/Eliminar Usuario';
+$HEADING['ADD_USER'] = 'Agregar Usuario';
+$HEADING['MODIFY_USER'] = 'Modificar Usuario';
+
+$HEADING['MODIFY_DELETE_GROUP'] = 'Modificar/Eliminar Grupo';
+$HEADING['ADD_GROUP'] = 'Agregar Grupo';
+$HEADING['MODIFY_GROUP'] = 'Modificar Grupo';
+
+$HEADING['ADDON_PRECHECK_FAILED'] = 'Add-On requirements not met';
+$HEADING['INVOKE_MODULE_FILES'] = 'Execute module files manually';
+
+// Other text
+$TEXT['OPEN'] = 'Open';
+$TEXT['ADD'] = 'Agregar';
+$TEXT['MODIFY'] = 'Modificar';
+$TEXT['SETTINGS'] = 'Configuraci&oacute;n';
+$TEXT['DELETE'] = 'Eliminar';
+$TEXT['SAVE'] = 'Guardar';
+$TEXT['RESET'] = 'Reiniciar';
+$TEXT['LOGIN'] = 'Entrar';
+$TEXT['RELOAD'] = 'Recargar';
+$TEXT['CANCEL'] = 'Cancelar';
+$TEXT['NAME'] = 'nombre';
+$TEXT['PLEASE_SELECT'] = 'Elegir';
+$TEXT['TITLE'] = 'T&iacute;tulo';
+$TEXT['PARENT'] = 'Padre';
+$TEXT['TYPE'] = 'Tipo';
+$TEXT['VISIBILITY'] = 'Visibilidad';
+$TEXT['PRIVATE'] = 'Privada';
+$TEXT['PUBLIC'] = 'P&uacute;blica';
+$TEXT['NONE'] = 'Ninguno';
+$TEXT['NONE_FOUND'] = 'Ninguna';
+$TEXT['CURRENT'] = 'Corriente';
+$TEXT['CHANGE'] = 'Cambiar';
+$TEXT['WINDOW'] = 'Ventana';
+$TEXT['DESCRIPTION'] = 'Descripci&oacute;n';
+$TEXT['KEYWORDS'] = 'Palabras Clave';
+$TEXT['ADMINISTRATORS'] = 'Administradores';
+$TEXT['PRIVATE_VIEWERS'] = 'Usuarios privados';
+$TEXT['EXPAND'] = 'Expandir';
+$TEXT['COLLAPSE'] = 'Colapsar';
+$TEXT['MOVE_UP'] = 'Subir';
+$TEXT['MOVE_DOWN'] = 'Bajar';
+$TEXT['RENAME'] = 'Renombrar';
+$TEXT['MODIFY_SETTINGS'] = 'Cambiar Configuraci&oacute;n';
+$TEXT['MODIFY_CONTENT'] = 'Modificar Contenido';
+$TEXT['VIEW'] = 'Ver';
+$TEXT['UP'] = 'Arriba';
+$TEXT['FORGOTTEN_DETAILS'] = '&iquest;Lo ha olvidado?';
+$TEXT['NEED_TO_LOGIN'] = '&iquest;Necesita Entrar?';
+$TEXT['SEND_DETAILS'] = 'Enviar Detalles';
+$TEXT['USERNAME'] = 'Usuario';
+$TEXT['PASSWORD'] = 'Contrase&ntilde;a';
+$TEXT['HOME'] = 'Inicio';
+$TEXT['TARGET_FOLDER'] = 'Carpeta';
+$TEXT['OVERWRITE_EXISTING'] = 'Sobreescribir';
+$TEXT['FILE'] = 'Archivo';
+$TEXT['FILES'] = 'Archivos';
+$TEXT['FOLDER'] = 'Carpeta';
+$TEXT['FOLDERS'] = 'Carpetas';
+$TEXT['CREATE_FOLDER'] = 'Crear Carpeta';
+$TEXT['UPLOAD_FILES'] = 'Subir Archivo(s)';
+$TEXT['CURRENT_FOLDER'] = 'Carpeta Actual';
+$TEXT['TO'] = 'Para';
+$TEXT['FROM'] = 'De';
+$TEXT['INSTALL'] = 'Instalar';
+$TEXT['UNINSTALL'] = 'Desinstalar';
+$TEXT['VIEW_DETAILS'] = 'Ver Detalles';
+$TEXT['DISPLAY_NAME'] = 'Mostrar Nombre';
+$TEXT['AUTHOR'] = 'Autor';
+$TEXT['VERSION'] = 'Versi&oacute;n';
+$TEXT['DESIGNED_FOR'] = 'Dise&ntilde;ado para';
+$TEXT['DESCRIPTION'] = 'Descripci&oacute;n';
+$TEXT['EMAIL'] = 'Email';
+$TEXT['LANGUAGE'] = 'Lenguaje';
+$TEXT['TIMEZONE'] = 'Huso Horario';
+$TEXT['CURRENT_PASSWORD'] = 'Contrase&ntilde;a Actual';
+$TEXT['NEW_PASSWORD'] = 'Nueva Contrase&ntilde;a';
+$TEXT['RETYPE_NEW_PASSWORD'] = 'Repetir Nueva Contrase&ntilde;a';
+$TEXT['ACTIVE'] = 'Activo';
+$TEXT['DISABLED'] = 'Deshabilitado';
+$TEXT['ENABLED'] = 'Habilitado';
+$TEXT['RETYPE_PASSWORD'] = 'Repetir Contrase&ntilde;a';
+$TEXT['GROUP'] = 'Grupo';
+$TEXT['SYSTEM_PERMISSIONS'] = 'Permisos de Sistema';
+$TEXT['MODULE_PERMISSIONS'] = 'Permisos de Modulo';
+$TEXT['SHOW_ADVANCED'] = 'Ver Opciones Avanzadas';
+$TEXT['HIDE_ADVANCED'] = 'Ocultar Opciones Avanzadas';
+$TEXT['BASIC'] = 'Basico';
+$TEXT['ADVANCED'] = 'Avanzado';
+$TEXT['WEBSITE'] = 'Website';
+$TEXT['DEFAULT'] = 'Original';
+$TEXT['KEYWORDS'] = 'Palabras Clave';
+$TEXT['TEXT'] = 'Texto';
+$TEXT['HEADER'] = 'Encabezado';
+$TEXT['FOOTER'] = 'Pie de p&aacute;gina';
+$TEXT['TEMPLATE'] = 'Plantilla';
+$TEXT['THEME'] = 'Backend-Theme';
+$TEXT['INSTALLATION'] = 'Instalaci&oacute;n';
+$TEXT['DATABASE'] = 'Base de datos';
+$TEXT['HOST'] = 'Host';
+$TEXT['INTRO'] = 'Intro';
+$TEXT['PAGE'] = 'P&aacute;gina';
+$TEXT['SIGNUP'] = 'Firmar';
+$TEXT['PHP_ERROR_LEVEL'] = 'Nivel de Reporte de Errores de PHP';
+$TEXT['ADMIN'] = 'Admin';
+$TEXT['PATH'] = 'Ruta de acceso';
+$TEXT['URL'] = 'URL';
+$TEXT['FRONTEND'] = 'Front-end';
+$TEXT['EXTENSION'] = 'Extensi&oacute;n';
+$TEXT['TABLE_PREFIX'] = 'Prefijo de tablas';
+$TEXT['CHANGES'] = 'Cambios';
+$TEXT['ADMINISTRATION'] = 'Administraci&oacute;n';
+$TEXT['FORGOT_DETAILS'] = '&iquest;Olvid&oacute; los detalles?';
+$TEXT['LOGGED_IN'] = 'Conectado';
+$TEXT['WELCOME_BACK'] = 'Bienvenido';
+$TEXT['FULL_NAME'] = 'Nombre Completo';
+$TEXT['ACCOUNT_SIGNUP'] = 'Abrir Cuenta';
+$TEXT['LINK'] = 'Enlace';
+$TEXT['ANCHOR'] = 'Anchor';
+$TEXT['TARGET'] = 'Objetivo';
+$TEXT['NEW_WINDOW'] = 'Nueva Ventana';
+$TEXT['SAME_WINDOW'] = 'Misma Ventana';
+$TEXT['TOP_FRAME'] = 'Marco Superior';
+$TEXT['PAGE_LEVEL_LIMIT'] = 'Niveles de P&aacute;ginas';
+$TEXT['SUCCESS'] = '&Eacute;xito';
+$TEXT['ERROR'] = 'Error';
+$TEXT['ARE_YOU_SURE'] = '&iquest;Esta seguro?';
+$TEXT['YES'] = 'Si';
+$TEXT['NO'] = 'No';
+$TEXT['SYSTEM_DEFAULT'] = 'Original del Sistema';
+$TEXT['PAGE_TITLE'] = 'T&iacute;tulo de la P&aacute;gina';
+$TEXT['MENU_TITLE'] = 'T&iacute;tulo del Men&uacute;';
+$TEXT['ACTIONS'] = 'Acciones';
+$TEXT['UNKNOWN'] = 'Desconocido';
+$TEXT['BLOCK'] = 'Block';
+$TEXT['SEARCH'] = 'Buscar';
+$TEXT['SEARCHING'] = 'Buscando';
+$TEXT['POST'] = 'Post';
+$TEXT['COMMENT'] = 'Comentario';
+$TEXT['COMMENTS'] = 'Comentarios';
+$TEXT['COMMENTING'] = 'Comentando';
+$TEXT['SHORT'] = 'Corto';
+$TEXT['LONG'] = 'Largo';
+$TEXT['LOOP'] = 'Bucle';
+$TEXT['FIELD'] = 'Campo';
+$TEXT['REQUIRED'] = 'Obligatorio';
+$TEXT['LENGTH'] = 'Largo';
+$TEXT['MESSAGE'] = 'Mensaje';
+$TEXT['SUBJECT'] = 'Asunto';
+$TEXT['MATCH'] = 'Coincidencia';
+$TEXT['ALL_WORDS'] = 'Todas las palabras';
+$TEXT['ANY_WORDS'] = 'Alguna de las palabras';
+$TEXT['EXACT_MATCH'] = 'Frase exacta';
+$TEXT['SHOW'] = 'Ver';
+$TEXT['HIDE'] = 'Ocultar';
+$TEXT['START_PUBLISHING'] = 'Iniciar Publicaci&oacute;n';
+$TEXT['FINISH_PUBLISHING'] = 'Terminar Publicaci&oacute;n';
+$TEXT['DATE'] = 'Fecha';
+$TEXT['START'] = 'Inicio';
+$TEXT['END'] = 'Fin';
+$TEXT['IMAGE'] = 'Imagen';
+$TEXT['ICON'] = 'Icono';
+$TEXT['SECTION'] = 'Secci&oacute;n';
+$TEXT['DATE_FORMAT'] = 'Formato de Fecha';
+$TEXT['TIME_FORMAT'] = 'Formato de Hora';
+$TEXT['RESULTS'] = 'Resultados';
+$TEXT['RESIZE'] = 'Tama&ntilde;o';
+$TEXT['MANAGE'] = 'Administrar';
+$TEXT['CODE'] = 'C&oacute;digo';
+$TEXT['WIDTH'] = 'Ancho';
+$TEXT['HEIGHT'] = 'Altura';
+$TEXT['MORE'] = 'M&aacute;s';
+$TEXT['READ_MORE'] = 'M&aacute;s Informaci&oacute;n';
+$TEXT['CHANGE_SETTINGS'] = 'Cambiar Configuraci&oacute;n';
+$TEXT['CURRENT_PAGE'] = 'P&aacute;gina Actual';
+$TEXT['CLOSE'] = 'Cerrar';
+$TEXT['INTRO_PAGE'] = 'P&aacute;gina Intro';
+$TEXT['INSTALLATION_URL'] = 'URL de Instalaci&oacute;n';
+$TEXT['INSTALLATION_PATH'] = 'Ruta de Instalaci&oacute;n';
+$TEXT['PAGE_EXTENSION'] = 'Extensi&oacute;n de P&aacute;gina';
+$TEXT['NO_RESULTS'] = 'Ning&uacute;n Resultado';
+$TEXT['WEBSITE_TITLE'] = 'T&iacute;tulo del Web';
+$TEXT['WEBSITE_DESCRIPTION'] = 'Descripci&oacute;n del Web';
+$TEXT['WEBSITE_KEYWORDS'] = 'Palabras Clave del Web';
+$TEXT['WEBSITE_HEADER'] = 'Encabezado del Web';
+$TEXT['WEBSITE_FOOTER'] = 'Pie de p&aacute;gina del Web';
+$TEXT['RESULTS_HEADER'] = 'Encabezado de Resultados';
+$TEXT['RESULTS_LOOP'] = 'Bucle de Resultados';
+$TEXT['RESULTS_FOOTER'] = 'Pie de P&aacute;gina de Resultados';
+$TEXT['LEVEL'] = 'Nivel';
+$TEXT['NOT_FOUND'] = 'No Encontrado.';
+$TEXT['PAGE_SPACER'] = 'Separador de P&aacute;gina';
+$TEXT['MATCHING'] = 'Coincidencia';
+$TEXT['TEMPLATE_PERMISSIONS'] = 'Permisos de plantilla';
+$TEXT['PAGES_DIRECTORY'] = 'Directorio de P&aacute;ginas';
+$TEXT['MEDIA_DIRECTORY'] = 'Directorio de Media';
+$TEXT['FILE_MODE'] = 'Modo de Archivo';
+$TEXT['USER'] = 'Ususario';
+$TEXT['OTHERS'] = 'Otros';
+$TEXT['READ'] = 'Lectura';
+$TEXT['WRITE'] = 'Escritura';
+$TEXT['EXECUTE'] = 'Ejecuci&oacute;n';
+$TEXT['SMART_LOGIN'] = 'Entrada Inteligente';
+$TEXT['REMEMBER_ME'] = 'Recu&eacute;rdame';
+$TEXT['FILESYSTEM_PERMISSIONS'] = 'Permisos del Sistema de Archivos';
+$TEXT['DIRECTORIES'] = 'Directorios';
+$TEXT['DIRECTORY_MODE'] = 'Modo de Directorios';
+$TEXT['LIST_OPTIONS'] = 'Opciones de Lista';
+$TEXT['OPTION'] = 'Opci&oacute;n';
+$TEXT['ALLOW_MULTIPLE_SELECTIONS'] = 'Selecciones M&uacute;ltiples';
+$TEXT['TEXTFIELD'] = 'Campo de texto';
+$TEXT['TEXTAREA'] = 'Textarea';
+$TEXT['SELECT_BOX'] = 'Caja de selecci&oacute;n';
+$TEXT['CHECKBOX_GROUP'] = 'Grupo de Checkbox ';
+$TEXT['RADIO_BUTTON_GROUP'] = 'Gupo Bot&oacute;n de Radio';
+$TEXT['SIZE'] = 'Tama&ntilde;o';
+$TEXT['DEFAULT_TEXT'] = 'Texto Predeterminado';
+$TEXT['SEPERATOR'] = 'Separador';
+$TEXT['BACK'] = 'Volver';
+$TEXT['UNDER_CONSTRUCTION'] = 'En Construcci&oacute;n';
+$TEXT['MULTISELECT'] = 'Multi-selecci&oacute;n';
+$TEXT['SHORT_TEXT'] = 'Texto Corto';
+$TEXT['LONG_TEXT'] = 'Texto largo';
+$TEXT['HOMEPAGE_REDIRECTION'] = 'Redirecci&oacute;n a la p&aacute;gina de Inicio';
+$TEXT['HEADING'] = 'Encabezado';
+$TEXT['MULTIPLE_MENUS'] = 'Men&uacute;s M&uacute;ltiples';
+$TEXT['REGISTERED'] = 'Registrado';
+$TEXT['SECTION_BLOCKS'] = 'Bloques de la Secci&oacute;n';
+$TEXT['REGISTERED_VIEWERS'] = 'Visitantes Registrados';
+$TEXT['ALLOWED_VIEWERS'] = 'Espectadores Permitidos';
+$TEXT['SUBMISSION_ID'] = 'Presentaci&oacute;n ID';
+$TEXT['SUBMISSIONS'] = 'Presentaciones';
+$TEXT['SUBMITTED'] = 'Presentado';
+$TEXT['MAX_SUBMISSIONS_PER_HOUR'] = 'Max. Presentaciones por hora';
+$TEXT['SUBMISSIONS_STORED_IN_DATABASE'] = 'Presenciaciones Guardadas en la base de datos';
+$TEXT['EMAIL_ADDRESS'] = 'Direcci&oacute;n de Email';
+$TEXT['CUSTOM'] = 'Personalizado';
+$TEXT['ANONYMOUS'] = 'An&oacute;nimo';
+$TEXT['SERVER_OPERATING_SYSTEM'] = 'Sistema Operativo del Servidor';
+$TEXT['WORLD_WRITEABLE_FILE_PERMISSIONS'] = 'Permisos de escritura para todos';
+$TEXT['LINUX_UNIX_BASED'] = 'basado en Linux/Unix ';
+$TEXT['WINDOWS'] = 'Windows';
+$TEXT['HOME_FOLDER'] = 'Carpeta Inicio';
+$TEXT['HOME_FOLDERS'] = 'Carpetas Inicio';
+$TEXT['PAGE_TRASH'] = 'Papelera en P&aacute;gina';
+$TEXT['INLINE'] = 'En l&iacute;nea';
+$TEXT['SEPARATE'] = 'Separado';
+$TEXT['DELETED'] = 'Eliminado';
+$TEXT['VIEW_DELETED_PAGES'] = 'Ver P&aacute;ginas Eliminadas';
+$TEXT['EMPTY_TRASH'] = 'Vaciar Papelera';
+$TEXT['TRASH_EMPTIED'] = 'Papelera Vac&iacute;a';
+$TEXT['ADD_SECTION'] = 'Agregar Secci&oacute;n';
+$TEXT['POST_HEADER'] = 'Post Encabezado';
+$TEXT['POST_FOOTER'] = 'Post Pie';
+$TEXT['POSTS_PER_PAGE'] = 'Posts Por P&aacute;gina';
+$TEXT['RESIZE_IMAGE_TO'] = 'Redimensionar imagen a';
+$TEXT['UNLIMITED'] = 'Ilimitado';
+$TEXT['OF'] = 'De';
+$TEXT['OUT_OF'] = 'Fuera De';
+$TEXT['NEXT'] = 'Siguiente';
+$TEXT['PREVIOUS'] = 'Anterior';
+$TEXT['NEXT_PAGE'] = 'Siguiente P&aacute;gina';
+$TEXT['PREVIOUS_PAGE'] = 'P&aacute;gina Anterior';
+$TEXT['ON'] = 'En';
+$TEXT['LAST_UPDATED_BY'] = 'Editado por';
+$TEXT['RESULTS_FOR'] = 'Resultados para';
+$TEXT['TIME'] = 'Hora';
+$TEXT['REDIRECT_AFTER'] = 'Redirect after';
+$TEXT['WYSIWYG_STYLE'] = 'WYSIWYG';
+$TEXT['WYSIWYG_EDITOR'] = 'Editor WYSIWYG';
+$TEXT['SERVER_EMAIL'] = 'Servidor de Email';
+$TEXT['MENU'] = 'Menu';
+$TEXT['MANAGE_GROUPS'] = 'Administrar Grupos';
+$TEXT['MANAGE_USERS'] = 'Administrar Usuarios';
+$TEXT['PAGE_LANGUAGES'] = 'Lenguages de P&aacute;gina';
+$TEXT['HIDDEN'] = 'Oculto';
+$TEXT['MAIN'] = 'Principal';
+$TEXT['RENAME_FILES_ON_UPLOAD'] = 'Renombrar los ficheros en la subida';
+$TEXT['APP_NAME'] = 'Nombre de aplicaci&oacute;n';
+$TEXT['SESSION_IDENTIFIER'] = 'Identificador de Sesi&oacute;n';
+$TEXT['SEC_ANCHOR'] = 'Section-Anchor text';
+$TEXT['BACKUP'] = 'Copia de seguridad';
+$TEXT['RESTORE'] = 'Restaurar';
+$TEXT['BACKUP_DATABASE'] = 'Base de datos de seguridad';
+$TEXT['RESTORE_DATABASE'] = 'Restaurar base de datos';
+$TEXT['BACKUP_ALL_TABLES'] = 'Reserva todas las Tablas de la Base de Datos';
+$TEXT['BACKUP_WB_SPECIFIC'] = 'Reserva solamente las tablas de WB';
+$TEXT['BACKUP_MEDIA'] = 'Copia de seguridad de los Medios';
+$TEXT['RESTORE_MEDIA'] = 'Restaurar Medios';
+$TEXT['ADMINISTRATION_TOOL'] = 'Herramienta de Administraci&oacute;n';
+$TEXT['CAPTCHA_VERIFICATION'] = 'Verificaci&oacute;n de Captcha (clave)';
+$TEXT['VERIFICATION'] = 'Verificaci&oacute;n';
+$TEXT['DEFAULT_CHARSET'] = 'Conjunto de caracteres por defecto';
+$TEXT['CHARSET'] = 'Conjunto de Caraceteres';
+$TEXT['MODULE_ORDER'] = 'Module-order for searching';
+$TEXT['MAX_EXCERPT'] = 'Max lines of excerpt';
+$TEXT['TIME_LIMIT'] = 'Max time to gather excerpts per module';
+$TEXT['PUBL_START_DATE'] = 'Start date';
+$TEXT['PUBL_END_DATE'] = 'End date';
+$TEXT['CALENDAR'] = 'Calender';
+$TEXT['DELETE_DATE'] = 'Delete date';
+$TEXT['WBMAILER_DEFAULT_SETTINGS_NOTICE'] = 'Please specify a default "FROM" address and "SENDER" name below. It is recommended to use a FROM address like: <strong>admin@yourdomain.com</strong>. Some mail provider (e.g. <em>mail.com</em>) may reject mails with a FROM: address like <em>name@mail.com</em> sent via a foreign relay to avoid spam.<br /><br />The default values are only used if no other values are specified by WebsiteBaker. If your server supports <acronym title="Simple mail transfer protocol">SMTP</acronym>, you may want use this option for outgoing mails.';
+$TEXT['WBMAILER_DEFAULT_SENDER_MAIL'] = 'Default From Mail';
+$TEXT['WBMAILER_DEFAULT_SENDER_NAME'] = 'Default Sender Name';
+$TEXT['WBMAILER_NOTICE'] = '<strong>SMTP Mailer Settings:</strong><br />The settings below are only required if you want to send mails via <acronym title="Simple mail transfer protocol">SMTP</acronym>. If you do not know your SMTP host or you are not sure about the required settings, simply stay with the default mail routine: PHP MAIL.';
+$TEXT['WBMAILER_FUNCTION'] = 'Mail Routine';
+$TEXT['WBMAILER_SMTP_HOST'] = 'SMTP Host';
+$TEXT['WBMAILER_PHP'] = 'PHP MAIL';
+$TEXT['WBMAILER_SMTP'] = 'SMTP';
+$TEXT['WBMAILER_SMTP_AUTH'] = 'SMTP Authentification';
+$TEXT['WBMAILER_SMTP_AUTH_NOTICE'] = 'only activate if your SMTP host requires authentification';
+$TEXT['WBMAILER_SMTP_USERNAME'] = 'SMTP Username';
+$TEXT['WBMAILER_SMTP_PASSWORD'] = 'SMTP Password';
+$TEXT['PLEASE_LOGIN'] = 'Please login';
+$TEXT['CAP_EDIT_CSS'] = 'Edit CSS';
+$TEXT['HEADING_CSS_FILE'] = 'Actual module file: ';
+$TEXT['TXT_EDIT_CSS_FILE'] = 'Edit the CSS definitions in the textarea below.';
+$TEXT['CODE_SNIPPET'] = "Code-snippet";
+$TEXT['REQUIREMENT'] = "Requirement";
+$TEXT['INSTALLED'] = "installed";
+$TEXT['NOT_INSTALLED'] = "not installed";
+$TEXT['ADDON'] = "Add-On";
+$TEXT['EXTENSION'] = "Extension";
+$TEXT['UNZIP_FILE'] = "Upload and unpack a zip archive";
+$TEXT['DELETE_ZIP'] = "Delete zip archive after unpacking";
+
+// Success/error messages
+$MESSAGE['FRONTEND']['SORRY_NO_VIEWING_PERMISSIONS'] = 'Perd&oacute;n, no tiene permiso para ver esta p&aacute;gina';
+$MESSAGE['FRONTEND']['SORRY_NO_ACTIVE_SECTIONS'] = 'Sorry, no active content to display';
+
+$MESSAGE['ADMIN']['INSUFFICIENT_PRIVELLIGES'] = 'Privilegios insuficientes para estar aqu&iacute;';
+
+$MESSAGE['LOGIN']['BOTH_BLANK'] = 'Ingrese su Nombre de Usuario y Contrase&ntilde;a';
+$MESSAGE['LOGIN']['USERNAME_BLANK'] = 'Ingrese su Nombre de Usuario';
+$MESSAGE['LOGIN']['PASSWORD_BLANK'] = 'ingrese su Contrase&ntilde;a';
+$MESSAGE['LOGIN']['USERNAME_TOO_SHORT'] = 'Nombre de Usuario muy corto';
+$MESSAGE['LOGIN']['PASSWORD_TOO_SHORT'] = 'Contrase&ntilde;a muy corta';
+$MESSAGE['LOGIN']['USERNAME_TOO_LONG'] = 'Nombre de Usuario muy largo';
+$MESSAGE['LOGIN']['PASSWORD_TOO_LONG'] = 'Contrase&ntilde;a muy larga';
+$MESSAGE['LOGIN']['AUTHENTICATION_FAILED'] = 'El Nombre de Usuario o Pasword incorrecto';
+
+$MESSAGE['SIGNUP']['NO_EMAIL'] = 'Debe ingresar una direccion de email';
+$MESSAGE['SIGNUP2']['SUBJECT_LOGIN_INFO'] = 'Your login details...';
+$MESSAGE['SIGNUP2']['BODY_LOGIN_INFO'] = <<< EOT
+Hello {LOGIN_DISPLAY_NAME},
+
+Your '{LOGIN_WEBSITE_TITLE}' login details are:
+Username: {LOGIN_NAME}
+Password: {LOGIN_PASSWORD}
+
+Your password has been set to the one above.
+This means that your old password will no longer work.
+
+If you have received this message in error, please delete it immediately.
+EOT;
+
+$MESSAGE['FORGOT_PASS']['NO_DATA'] = 'Por favor ingrese su direccion de email';
+$MESSAGE['FORGOT_PASS']['EMAIL_NOT_FOUND'] = 'Email no encontrado en base de datos';
+$MESSAGE['FORGOT_PASS']['CANNOT_EMAIL'] = 'No puedo enviarle la contrase&ntilde;a, contacte a su Administrador';
+$MESSAGE['FORGOT_PASS']['PASSWORD_RESET'] = 'Nombre de Usuario y Contrase&ntilde;a enviados a su direccion de email';
+$MESSAGE['FORGOT_PASS']['ALREADY_RESET'] = 'La contrase&ntilde;a no puede ser cambiada m&aacute;s de una vez por hora';
+
+$MESSAGE['START']['WELCOME_MESSAGE'] = 'Bienvenido a la consola de Administraci&oacute;n';
+$MESSAGE['START']['INSTALL_DIR_EXISTS'] = 'El directorio de instalaci&oacute;n todav&iacute;a existe. Es buena idea eliminarlo!';
+$MESSAGE['START']['CURRENT_USER'] = 'Est&aacute;s conectado como:';
+
+$MESSAGE['SETTINGS']['UNABLE_OPEN_CONFIG'] = 'No se pudo abrir el archivo de configuraci&oacute;n';
+$MESSAGE['SETTINGS']['UNABLE_WRITE_CONFIG'] = 'No se pudo escribir en el archivo de configuraci&oacute;n';
+$MESSAGE['SETTINGS']['SAVED'] = 'Configuraci&oacute;n guardada';
+$MESSAGE['SETTINGS']['MODE_SWITCH_WARNING'] = 'Atenci&oacute;n: Este bot&oacute;n eliminar&aacute; los cambios que no hayan sido guardados.';
+$MESSAGE['SETTINGS']['WORLD_WRITEABLE_WARNING'] = 'Atenci&oacute;n: S&oacute;lo recomendado para entornos de prueba';
+
+$MESSAGE['USERS']['ADDED'] = 'Nuevo usuario agregado';
+$MESSAGE['USERS']['SAVED'] = 'Usuario guardado';
+$MESSAGE['USERS']['DELETED'] = 'Usuario eliminado';
+$MESSAGE['USERS']['NO_GROUP'] = 'Ning&uacute;n grupo fue seleccionado';
+$MESSAGE['USERS']['USERNAME_TOO_SHORT'] = 'Nombre de Usuario muy corto';
+$MESSAGE['USERS']['PASSWORD_TOO_SHORT'] = 'Contrase&ntilde;a muy corta';
+$MESSAGE['USERS']['PASSWORD_MISMATCH'] = 'Las contrase&ntilde;as no coinciden';
+$MESSAGE['USERS']['INVALID_EMAIL'] = 'Email inv&aacute;lido';
+$MESSAGE['USERS']['EMAIL_TAKEN'] = 'Email en uso';
+$MESSAGE['USERS']['USERNAME_TAKEN'] = 'Nombre de Usuario ocupado';
+$MESSAGE['USERS']['CHANGING_PASSWORD'] = 'Atenci&oacute;n: Solo debe escribir en estos campos si desea cambiar la contrase&ntilde;a de este usuario.';
+$MESSAGE['USERS']['CONFIRM_DELETE'] = '&iquest;Esta seguro que desea eliminar el usuario?';
+
+$MESSAGE['GROUPS']['ADDED'] = 'Nuevo grupo agregado';
+$MESSAGE['GROUPS']['SAVED'] = 'Grupo guardado';
+$MESSAGE['GROUPS']['DELETED'] = 'Grupo eliminado';
+$MESSAGE['GROUPS']['GROUP_NAME_BLANK'] = 'El nombre del grupo est&aacute; vaci&oacute;';
+$MESSAGE['GROUPS']['CONFIRM_DELETE'] = '&iquest;Est&aacute; seguro que desea eliminar el grupo selecciondo (y los usuarios que lo componen)?';
+$MESSAGE['GROUPS']['NO_GROUPS_FOUND'] = 'No hay ning&ntilde;n grupo';
+$MESSAGE['GROUPS']['GROUP_NAME_EXISTS'] = 'Nombre de grupo ya existe';
+
+$MESSAGE['PREFERENCES']['DETAILS_SAVED'] = 'Detalles guardados';
+$MESSAGE['PREFERENCES']['EMAIL_UPDATED'] = 'Email guardado';
+$MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT'] = 'El (actual) es incorrecto';
+$MESSAGE['PREFERENCES']['PASSWORD_CHANGED'] = 'Contrase&ntilde;a cambiada';
+
+$MESSAGE['TEMPLATES']['CHANGE_TEMPLATE_NOTICE'] = 'Atenci&oacute;n: para cambiar la plantilla ir a la secci&oacute;n de Configuraci&oacute;n';
+
+$MESSAGE['MEDIA']['DIR_DOT_DOT_SLASH'] = 'No puede incluir ../ en el nombre de carpeta';
+$MESSAGE['MEDIA']['DIR_DOES_NOT_EXIST'] = 'El directorio no existe';
+$MESSAGE['MEDIA']['TARGET_DOT_DOT_SLASH'] = 'No puede tener ../ en el nombre de carpeta';
+$MESSAGE['MEDIA']['NAME_DOT_DOT_SLASH'] = 'No puede incluir ../ en el nombre';
+$MESSAGE['MEDIA']['NAME_INDEX_PHP'] = 'No se puede usar index.php como nombre';
+$MESSAGE['MEDIA']['NONE_FOUND'] = 'No hay medias en esta carpeta';
+$MESSAGE['MEDIA']['FILE_NOT_FOUND'] = 'Archivo no encontrado';
+$MESSAGE['MEDIA']['DELETED_FILE'] = 'Archivo eliminado';
+$MESSAGE['MEDIA']['DELETED_DIR'] = 'Carpeta eliminada';
+$MESSAGE['MEDIA']['CONFIRM_DELETE'] = '&iquest;Est&aacute; seguro que desea eliminar la siguiente carpeta o archivo?';
+$MESSAGE['MEDIA']['CANNOT_DELETE_FILE'] = 'No se puede eliminar el archivo seleccionado';
+$MESSAGE['MEDIA']['CANNOT_DELETE_DIR'] = 'No se puede eliminar la carpeta seleccionada';
+$MESSAGE['MEDIA']['BLANK_NAME'] = 'No ha ingresado un nombre nuevo';
+$MESSAGE['MEDIA']['BLANK_EXTENSION'] = 'No ha ingresado una extensi&oacute;n de archivo';
+$MESSAGE['MEDIA']['RENAMED'] = 'El Nombre ha sido cambiado';
+$MESSAGE['MEDIA']['CANNOT_RENAME'] = 'El Nombre no ha sido cambiado';
+$MESSAGE['MEDIA']['FILE_EXISTS'] = 'Ese archivo ya existe';
+$MESSAGE['MEDIA']['DIR_EXISTS'] = 'Esa carpeta ya existe';
+$MESSAGE['MEDIA']['DIR_MADE'] = 'Carpeta creada';
+$MESSAGE['MEDIA']['DIR_NOT_MADE'] = 'No se pudo crear carpeta';
+$MESSAGE['MEDIA']['SINGLE_UPLOADED'] = ' archivo recibido correctamente';
+$MESSAGE['MEDIA']['UPLOADED'] = ' archivos recibidos correctamente';
+
+$MESSAGE['PAGES']['ADDED'] = 'P&aacute;gina agregada';
+$MESSAGE['PAGES']['ADDED_HEADING'] = 'Encabezado de P&aacute;gina agregado';
+$MESSAGE['PAGES']['PAGE_EXISTS'] = 'Ya existe una p&aacute;gina con un t&iacute;tulo igual o similar';
+$MESSAGE['PAGES']['CANNOT_CREATE_ACCESS_FILE'] = 'Error creando archivo de acceso en el directorio /pages (privilegios insuficientes)';
+$MESSAGE['PAGES']['CANNOT_DELETE_ACCESS_FILE'] = 'Error eliminando archivo de acceso en el directorio /pages (privilegios insuficientes)';
+$MESSAGE['PAGES']['NOT_FOUND'] = 'No se ha encontrado la p&aacute;gina';
+$MESSAGE['PAGES']['SAVED'] = 'P&aacute;gina guardada correctamente';
+$MESSAGE['PAGES']['SAVED_SETTINGS'] = 'Configuraci&oacute;n de P&aacute;gina guardada';
+$MESSAGE['PAGES']['NOT_SAVED'] = 'Error guardando la p&aacute;gina';
+$MESSAGE['PAGES']['DELETE_CONFIRM'] = 'Est&aacute; seguro que desea eliminar esta p&aacute;gina y todas sus sub-p&aacute;ginas';
+$MESSAGE['PAGES']['DELETED'] = 'P&aacute;gina eliminada';
+$MESSAGE['PAGES']['RESTORED'] = 'P&aacute;gina recuperada';
+$MESSAGE['PAGES']['BLANK_PAGE_TITLE'] = 'Ingrese un t&iacute;tulo de p&aacute;gina';
+$MESSAGE['PAGES']['BLANK_MENU_TITLE'] = 'Inagrese un t&iacute;tulo de men&uacute;';
+$MESSAGE['PAGES']['REORDERED'] = 'Orden de p&aacute;gina cambiado';
+$MESSAGE['PAGES']['CANNOT_REORDER'] = 'Error reordenando la p&aacute;gina';
+$MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS'] = 'Usted no tiene permiso para modificar esta p&aacute;gina';
+$MESSAGE['PAGES']['INTRO_NOT_WRITABLE'] = 'No se pudo escribir en el archivo /pages/intro.php (privilegios insuficientes)';
+$MESSAGE['PAGES']['INTRO_SAVED'] = 'Intro guardada';
+$MESSAGE['PAGES']['LAST_MODIFIED'] = '&Uacute;ltima modificaci&oacute;n hecha por';
+$MESSAGE['PAGES']['INTRO_LINK'] = 'Pinche aqu&iacute; para modificar Intro';
+$MESSAGE['PAGES']['SECTIONS_PROPERTIES_SAVED'] = 'Propiedades de la secci&oacute;n guardadas';
+$MESSAGE['PAGES']['RETURN_TO_PAGES'] = 'Volver a las p&aacute;ginas';
+
+$MESSAGE['GENERIC']['FILL_IN_ALL'] = 'Vuelva y complete todos los campos';
+$MESSAGE['GENERIC']['FILE_TYPE'] = 'El archivo a subir debe ser del siguiente formato:';
+$MESSAGE['GENERIC']['FILE_TYPES'] = 'El archivo a subir debe ser de uno de los siguientes formatos:';
+$MESSAGE['GENERIC']['CANNOT_UPLOAD'] = 'No se pudos subir archivo';
+$MESSAGE['GENERIC']['ALREADY_INSTALLED'] = 'Ya instalado';
+$MESSAGE['GENERIC']['NOT_INSTALLED'] = 'No instalado';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL'] = 'No se puede desinstalar';
+$MESSAGE['GENERIC']['CANNOT_UNZIP'] = 'No se pudo descomprimir (zip)';
+$MESSAGE['GENERIC']['INSTALLED'] = 'Instalaci&oacute;n correcta';
+$MESSAGE['GENERIC']['UPGRADED'] = 'Actualizaci&oacute;n Completada';
+$MESSAGE['GENERIC']['UNINSTALLED'] = 'Desinstalaci&oacute;n correcta';
+$MESSAGE['GENERIC']['BAD_PERMISSIONS'] = 'No se pudo escribir en el directorio';
+$MESSAGE['GENERIC']['INVALID'] = 'Archivo inv&aacute;lido';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE'] = 'Desinstalaci&oacute;n erronea: el archivo seleccionado est&aacute; en uso';
+
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL'] = "<br />No se puede desinstalar el {{type}} <b>{{type_name}}</b>, dado que se est&aacute; utilizando {{pages}}:<br /><br />";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL_PAGES'] = "en la p&aacute;gina siguiente;en las p&aacute;ginas siguientes";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IS_DEFAULT_TEMPLATE'] = "No se puede desinstalar el template {{name}} dado que se trata del template est&aacute;ndar.";
+
+$MESSAGE['GENERIC']['WEBSITE_UNDER_CONSTRUCTION'] = 'Website Under Construction';
+$MESSAGE['GENERIC']['PLEASE_CHECK_BACK_SOON'] = 'Vuelva pronto...';
+$MESSAGE['GENERIC']['PLEASE_BE_PATIENT'] = 'Por favor, sea paciente. Esto puede tardar un rato.';
+$MESSAGE['GENERIC']['ERROR_OPENING_FILE'] = 'Error abriendo fichero.';
+$MESSAGE['GENERIC']['INVALID_ADDON_FILE'] = 'Invalid WebsiteBaker installation file. Please check the *.zip format.';
+$MESSAGE['GENERIC']['INVALID_LANGUAGE_FILE'] = 'Invalid WebsiteBaker language file. Please check the text file.';
+
+$MESSAGE['MOD_FORM']['REQUIRED_FIELDS'] = 'Debe completar los siguiente campos';
+$MESSAGE['MOD_FORM']['EXCESS_SUBMISSIONS'] = 'Disculpe este formulario ha sido enviado demasiadas veces seguidas. Vuelva a intentarlo en una hora.';
+$MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA'] = 'El n&uacute;mero de verificaci&oacute;n que ha introducido es incorrecto. Si est&aacute;s teniendo problemas ley&eacute;ndolo, por favor, env&iacute;e un e-mail a: '.SERVER_EMAIL.'';
+
+$MESSAGE['ADDON']['RELOAD'] = 'Update database with information from Add-on files (e.g. after FTP upload).';
+$MESSAGE['ADDON']['ERROR_RELOAD'] = 'Error while updating the Add-On information.';
+$MESSAGE['ADDON']['MODULES_RELOADED'] = 'M&oacute;dulos recargados correctamente';
+$MESSAGE['ADDON']['TEMPLATES_RELOADED'] = 'Plantillas recargadas correctamente';
+$MESSAGE['ADDON']['LANGUAGES_RELOADED'] = 'Lenguajes recargados correctamente';
+$MESSAGE['ADDON']['PRECHECK_FAILED'] = 'Add-on installation failed. Your system does not fulfill the requirements of this Add-on. To make this Add-on working on your system, please fix the issues summarized below.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION'] = 'When modules are uploaded via FTP (not recommended), the module installation files <tt>install.php</tt>, <tt>upgrade.php</tt> or <tt>uninstall.php</tt> will not be executed automatically. Those modules may not work correct or do not uninstall properly.<br /><br />You can execute the module files manually for modules uploaded via FTP below.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION_WARNING'] = 'Warning: Existing module database entries will get lost. Only use this option if you experience problems with modules uploaded via FTP.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/languages/ES.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/languages/FR.php
===================================================================
--- tags/2.8.2/wb/languages/FR.php	(nonexistent)
+++ tags/2.8.2/wb/languages/FR.php	(revision 1481)
@@ -0,0 +1,594 @@
+<?php
+/**
+ *
+ * @category        framework
+ * @package         language
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// use languageedit-module to modify this file
+
+// Define that this file is loaded
+if(!defined('LANGUAGE_LOADED')) {
+define('LANGUAGE_LOADED', true);
+}
+
+// Set the language information
+$language_code = 'FR';
+$language_name = 'Fran&ccedil;ais';
+$language_version = '2.8';
+$language_platform = '2.8.x';
+$language_author = 'Marin Susac';
+$language_license = 'GNU General Public License';
+
+// Menu titles
+$MENU['START'] = 'Accueil';
+$MENU['PAGES'] = 'Contenu';
+$MENU['MEDIA'] = 'Media';
+$MENU['ADDONS'] = 'Extensions';
+$MENU['MODULES'] = 'Modules';
+$MENU['TEMPLATES'] = 'Th&egrave;mes';
+$MENU['LANGUAGES'] = 'Langues';
+$MENU['PREFERENCES'] = 'Pr&eacute;f&eacute;rences';
+$MENU['SETTINGS'] = 'R&eacute;glages';
+$MENU['ADMINTOOLS'] = 'Outils d&apos;administration';
+$MENU['ACCESS'] = 'Acc&egrave;s';
+$MENU['USERS'] = 'Utilisateurs';
+$MENU['GROUPS'] = 'Groupes';
+$MENU['HELP'] = 'Aide';
+$MENU['VIEW'] = 'Voir le site';
+$MENU['LOGOUT'] = 'D&eacute;connexion';
+$MENU['LOGIN'] = 'Connexion';
+$MENU['FORGOT'] = 'Retrouver vos identifiants de connexion';
+
+// Section overviews
+$OVERVIEW['START'] = 'Pr&eacute;sentation de l&apos;administration';
+$OVERVIEW['PAGES'] = 'Gestion du contenu du site';
+$OVERVIEW['MEDIA'] = 'Gestion des fichiers media (images, t&eacute;l&eacute;chargements...)';
+$OVERVIEW['MODULES'] = 'Gestion des modules du site';
+$OVERVIEW['TEMPLATES'] = 'Gestion des th&egrave;mes et modification de l&apos;apparence du site';
+$OVERVIEW['LANGUAGES'] = 'Gestion des langues du site';
+$OVERVIEW['PREFERENCES'] = 'Gestion de vos pr&eacute;f&eacute;rences (email, mot de passe...) ';
+$OVERVIEW['SETTINGS'] = 'Configuration du site';
+$OVERVIEW['USERS'] = 'Gestion des acc&egrave;s au site';
+$OVERVIEW['GROUPS'] = 'Gestions des groupes d&apos;utilisateurs et des permissions';
+$OVERVIEW['HELP'] = 'Aide et FAQ sur l&apos;utilisation du site';
+$OVERVIEW['VIEW'] = 'Aper&ccedil;u du site dans une nouvelle fen&ecirc;tre';
+$OVERVIEW['ADMINTOOLS'] = 'Acc&egrave;s aux outils d&apos;administration de WebsiteBaker...';
+
+// Headings
+$HEADING['MODIFY_DELETE_PAGE'] = 'Modifier/Supprimer une page';
+$HEADING['DELETED_PAGES'] = 'Pages effac&eacute;es';
+$HEADING['ADD_PAGE'] = 'Ajouter une page';
+$HEADING['ADD_HEADING'] = 'Ajouter un ent&ecirc;te';
+$HEADING['MODIFY_PAGE'] = 'Modifier une page';
+$HEADING['MODIFY_PAGE_SETTINGS'] = 'Modifier les propri&eacute;t&eacute;s de la page';
+$HEADING['MODIFY_ADVANCED_PAGE_SETTINGS'] = 'Modifier les propri&eacute;t&eacute;s avanc&eacute;es de la page';
+$HEADING['MANAGE_SECTIONS'] = 'Gestion des rubriques';
+$HEADING['MODIFY_INTRO_PAGE'] = 'Modifier la page d&apos;accueil';
+
+$HEADING['BROWSE_MEDIA'] = 'Parcourir le dossier media';
+$HEADING['CREATE_FOLDER'] = 'Cr&eacute;er un dossier';
+$HEADING['UPLOAD_FILES'] = 'Uploader des fichiers';
+
+$HEADING['INSTALL_MODULE'] = 'Installer un module';
+$HEADING['UNINSTALL_MODULE'] = 'D&eacute;sinstaller un module';
+$HEADING['MODULE_DETAILS'] = 'Propri&eacute;t&eacute;s du module';
+
+$HEADING['INSTALL_TEMPLATE'] = 'Installer un th&egrave;me';
+$HEADING['UNINSTALL_TEMPLATE'] = 'D&eacute;sinstaller un th&egrave;me';
+$HEADING['TEMPLATE_DETAILS'] = 'Propri&eacute;t&eacute;s du th&egrave;me';
+
+$HEADING['INSTALL_LANGUAGE'] = 'Installer une langue';
+$HEADING['UNINSTALL_LANGUAGE'] = 'D&eacute;sinstaller une langue';
+$HEADING['LANGUAGE_DETAILS'] = 'Propri&eacute;t&eacute;s de la langue';
+
+$HEADING['MY_SETTINGS'] = 'Mes pr&eacute;f&eacute;rences';
+$HEADING['MY_EMAIL'] = 'Mon email';
+$HEADING['MY_PASSWORD'] = 'Mon mot de passe';
+
+$HEADING['GENERAL_SETTINGS'] = 'R&eacute;glages';
+$HEADING['DEFAULT_SETTINGS'] = 'R&eacute;glages par d&eacute;faut';
+$HEADING['SEARCH_SETTINGS'] = 'R&eacute;glages de la recherche';
+$HEADING['FILESYSTEM_SETTINGS'] = 'R&eacute;glages des fichiers syst&egrave;mes';
+$HEADING['SERVER_SETTINGS'] = 'R&eacute;glages du serveur';
+$HEADING['WBMAILER_SETTINGS'] = 'R&eacute;glages de l&apos;envoi de mail';
+$HEADING['ADMINISTRATION_TOOLS'] = 'Outils d&apos;administration';
+
+$HEADING['MODIFY_DELETE_USER'] = 'Modifier/Supprimer un utilisateur';
+$HEADING['ADD_USER'] = 'Ajouter un utilisateur';
+$HEADING['MODIFY_USER'] = 'Modifier un utilisateur';
+
+$HEADING['MODIFY_DELETE_GROUP'] = 'Modifier/Supprimer un groupe';
+$HEADING['ADD_GROUP'] = 'Ajouter un groupe';
+$HEADING['MODIFY_GROUP'] = 'Modifier un groupe';
+
+$HEADING['ADDON_PRECHECK_FAILED'] = 'Les param&egrave;tres requis de l&apos;extension ne sont pas v&eacute;rifi&eacute;s';
+$HEADING['INVOKE_MODULE_FILES'] = 'Ex&eacute;cuter manuellement les fichiers module';
+
+// Other text
+$TEXT['OPEN'] = 'Ouvert';
+$TEXT['ADD'] = 'Ajouter';
+$TEXT['MODIFY'] = 'Modifier';
+$TEXT['SETTINGS'] = 'R&eacute;glages';
+$TEXT['DELETE'] = 'Supprimer';
+$TEXT['SAVE'] = 'Sauvegarder';
+$TEXT['RESET'] = 'R&eacute;initialiser';
+$TEXT['LOGIN'] = 'Connexion';
+$TEXT['RELOAD'] = 'Actualiser';
+$TEXT['CANCEL'] = 'Annuler';
+$TEXT['NAME'] = 'Nom';
+$TEXT['PLEASE_SELECT'] = 'S&eacute;lectionnez';
+$TEXT['TITLE'] = 'Titre';
+$TEXT['PARENT'] = 'Parent';
+$TEXT['TYPE'] = 'Type';
+$TEXT['VISIBILITY'] = 'Visibilit&eacute;';
+$TEXT['PRIVATE'] = 'Priv&eacute;e';
+$TEXT['PUBLIC'] = 'Publique';
+$TEXT['NONE'] = 'Aucun';
+$TEXT['NONE_FOUND'] = 'Aucune occurence trouv&eacute;e';
+$TEXT['CURRENT'] = 'Courant';
+$TEXT['CHANGE'] = 'Changer';
+$TEXT['WINDOW'] = 'Fen&ecirc;tre';
+$TEXT['DESCRIPTION'] = 'Description';
+$TEXT['KEYWORDS'] = 'Mots cl&eacute;s';
+$TEXT['ADMINISTRATORS'] = 'Administrateurs';
+$TEXT['PRIVATE_VIEWERS'] = 'Utilisateurs priv&eacute;s';
+$TEXT['EXPAND'] = 'D&eacute;ployer';
+$TEXT['COLLAPSE'] = 'Contracter';
+$TEXT['MOVE_UP'] = 'Au dessus';
+$TEXT['MOVE_DOWN'] = 'Au dessous';
+$TEXT['RENAME'] = 'Renommer';
+$TEXT['MODIFY_SETTINGS'] = 'Modifier les r&eacute;glages';
+$TEXT['MODIFY_CONTENT'] = 'Modifier le contenu';
+$TEXT['VIEW'] = 'Aper&ccedil;u';
+$TEXT['UP'] = 'Haut';
+$TEXT['FORGOTTEN_DETAILS'] = 'Identifiants oubli&eacute;s ?';
+$TEXT['NEED_TO_LOGIN'] = 'Identification obligatoire';
+$TEXT['SEND_DETAILS'] = 'Valider';
+$TEXT['USERNAME'] = 'Identifiant';
+$TEXT['PASSWORD'] = 'Mot de passe';
+$TEXT['HOME'] = 'Accueil';
+$TEXT['TARGET_FOLDER'] = 'Dossier de destination';
+$TEXT['OVERWRITE_EXISTING'] = 'Ecraser les donn&eacute;es (si d&eacute;j&agrave; existantes)';
+$TEXT['FILE'] = 'Fichier';
+$TEXT['FILES'] = 'Fichiers';
+$TEXT['FOLDER'] = 'Dossier';
+$TEXT['FOLDERS'] = 'Dossiers';
+$TEXT['CREATE_FOLDER'] = 'Cr&eacute;er un dossier';
+$TEXT['UPLOAD_FILES'] = 'Uploader un/des fichier(s)';
+$TEXT['CURRENT_FOLDER'] = 'Dossier courant';
+$TEXT['TO'] = 'vers';
+$TEXT['FROM'] = 'de';
+$TEXT['INSTALL'] = 'Installer';
+$TEXT['UNINSTALL'] = 'D&eacute;sinstaller';
+$TEXT['VIEW_DETAILS'] = 'Propri&eacute;t&eacute;s';
+$TEXT['DISPLAY_NAME'] = 'Afficher le nom';
+$TEXT['AUTHOR'] = 'Auteur';
+$TEXT['VERSION'] = 'Version';
+$TEXT['DESIGNED_FOR'] = 'Cr&eacute;&eacute; par';
+$TEXT['DESCRIPTION'] = 'Description';
+$TEXT['EMAIL'] = 'Email';
+$TEXT['LANGUAGE'] = 'Langue';
+$TEXT['TIMEZONE'] = 'Fuseau horaire';
+$TEXT['CURRENT_PASSWORD'] = 'Mot de passe actuel';
+$TEXT['NEW_PASSWORD'] = 'Nouveau mot de passe';
+$TEXT['RETYPE_NEW_PASSWORD'] = 'Saisissez &agrave; nouveau votre nouveau mot de passe';
+$TEXT['ACTIVE'] = 'Actif';
+$TEXT['DISABLED'] = 'D&eacute;sactiv&eacute;';
+$TEXT['ENABLED'] = 'Activ&eacute;';
+$TEXT['RETYPE_PASSWORD'] = 'Saisissez &agrave; nouveau votre mot de passe';
+$TEXT['GROUP'] = 'Groupe';
+$TEXT['SYSTEM_PERMISSIONS'] = 'Permissions syst&egrave;me';
+$TEXT['MODULE_PERMISSIONS'] = 'Permissions sur les modules';
+$TEXT['SHOW_ADVANCED'] = 'Afficher les options avanc&eacute;es';
+$TEXT['HIDE_ADVANCED'] = 'Cacher les options avanc&eacute;es';
+$TEXT['BASIC'] = 'Classique';
+$TEXT['ADVANCED'] = 'Avanc&eacute;';
+$TEXT['WEBSITE'] = 'Site internet';
+$TEXT['DEFAULT'] = 'D&eacute;faut';
+$TEXT['KEYWORDS'] = 'Mots cl&eacute;s';
+$TEXT['TEXT'] = 'Texte';
+$TEXT['HEADER'] = 'Ent&ecirc;te';
+$TEXT['FOOTER'] = 'Pied de page';
+$TEXT['TEMPLATE'] = 'Th&egrave;me';
+$TEXT['THEME'] = 'Th&egrave;me graphique de l&apos;interface d&apos;administration';
+$TEXT['INSTALLATION'] = 'Installation';
+$TEXT['DATABASE'] = 'Base de donn&eacute;es';
+$TEXT['HOST'] = 'H&ocirc;te';
+$TEXT['INTRO'] = 'Introduction';
+$TEXT['PAGE'] = 'Page';
+$TEXT['SIGNUP'] = 'Cr&eacute;er un compte';
+$TEXT['PHP_ERROR_LEVEL'] = 'Niveau d&apos;erreur PHP';
+$TEXT['ADMIN'] = 'Admin';
+$TEXT['PATH'] = 'Chemin';
+$TEXT['URL'] = 'URL';
+$TEXT['FRONTEND'] = 'Page d&apos;accueil';
+$TEXT['EXTENSION'] = 'Extension';
+$TEXT['TABLE_PREFIX'] = 'Pr&eacute;fixe du nom des tables';
+$TEXT['CHANGES'] = 'Modifications';
+$TEXT['ADMINISTRATION'] = 'Administration';
+$TEXT['FORGOT_DETAILS'] = 'Identifiants oubli&eacute;s ?';
+$TEXT['LOGGED_IN'] = 'Connect&eacute;';
+$TEXT['WELCOME_BACK'] = 'Bienvenue';
+$TEXT['FULL_NAME'] = 'Nom complet';
+$TEXT['ACCOUNT_SIGNUP'] = 'Cr&eacute;er un compte';
+$TEXT['LINK'] = 'Lien';
+$TEXT['ANCHOR'] = 'Ancre';
+$TEXT['TARGET'] = 'Cible';
+$TEXT['NEW_WINDOW'] = 'Nouvelle fen&ecirc;tre';
+$TEXT['SAME_WINDOW'] = 'Fen&ecirc;tre actuelle (this frame)';
+$TEXT['TOP_FRAME'] = 'Fen&ecirc;tre actuelle compl&egrave;te (top frame)';
+$TEXT['PAGE_LEVEL_LIMIT'] = 'Limite de niveau de page';
+$TEXT['SUCCESS'] = 'Op&eacute;ration r&eacute;ussie';
+$TEXT['ERROR'] = 'Erreur';
+$TEXT['ARE_YOU_SURE'] = 'Etes-vous s&ucirc;r ?';
+$TEXT['YES'] = 'Oui';
+$TEXT['NO'] = 'Non';
+$TEXT['SYSTEM_DEFAULT'] = 'Syst&egrave;me par d&eacute;faut';
+$TEXT['PAGE_TITLE'] = 'Titre de la page';
+$TEXT['MENU_TITLE'] = 'Titre du menu';
+$TEXT['ACTIONS'] = 'Actions';
+$TEXT['UNKNOWN'] = 'Inconnu';
+$TEXT['BLOCK'] = 'Bloc';
+$TEXT['SEARCH'] = 'Rechercher';
+$TEXT['SEARCHING'] = 'Rechercher';
+$TEXT['POST'] = 'Actualit&eacute;';
+$TEXT['COMMENT'] = 'Commentaire';
+$TEXT['COMMENTS'] = 'Commentaires';
+$TEXT['COMMENTING'] = 'Commentaire en cours';
+$TEXT['SHORT'] = 'Court';
+$TEXT['LONG'] = 'Long';
+$TEXT['LOOP'] = 'Boucle';
+$TEXT['FIELD'] = 'Champ';
+$TEXT['REQUIRED'] = 'Obligatoire';
+$TEXT['LENGTH'] = 'Longueur';
+$TEXT['MESSAGE'] = 'Message';
+$TEXT['SUBJECT'] = 'Sujet';
+$TEXT['MATCH'] = 'correspond';
+$TEXT['ALL_WORDS'] = 'Tous les mots';
+$TEXT['ANY_WORDS'] = 'Chaque mot';
+$TEXT['EXACT_MATCH'] = 'Terme exact';
+$TEXT['SHOW'] = 'Montrer';
+$TEXT['HIDE'] = 'Cacher';
+$TEXT['START_PUBLISHING'] = 'D&eacute;but de publication';
+$TEXT['FINISH_PUBLISHING'] = 'Fin de publication';
+$TEXT['DATE'] = 'Date';
+$TEXT['START'] = 'D&eacute;but';
+$TEXT['END'] = 'Fin';
+$TEXT['IMAGE'] = 'Image';
+$TEXT['ICON'] = 'Ic&ocirc;ne';
+$TEXT['SECTION'] = 'Rubrique';
+$TEXT['DATE_FORMAT'] = 'Format de la date';
+$TEXT['TIME_FORMAT'] = 'Format de l&apos;heure';
+$TEXT['RESULTS'] = 'R&eacute;sultats';
+$TEXT['RESIZE'] = 'Redimensionner';
+$TEXT['MANAGE'] = 'G&eacute;rer';
+$TEXT['CODE'] = 'Code';
+$TEXT['WIDTH'] = 'Largeur';
+$TEXT['HEIGHT'] = 'Hauteur';
+$TEXT['MORE'] = 'Plus';
+$TEXT['READ_MORE'] = 'En savoir plus';
+$TEXT['CHANGE_SETTINGS'] = 'Modifier les r&eacute;glages';
+$TEXT['CURRENT_PAGE'] = 'Page courante';
+$TEXT['CLOSE'] = 'Fermer';
+$TEXT['INTRO_PAGE'] = 'Page d&apos;introduction';
+$TEXT['INSTALLATION_URL'] = 'Adresse d&apos;installation (URL)';
+$TEXT['INSTALLATION_PATH'] = 'Chemin d&apos;installation';
+$TEXT['PAGE_EXTENSION'] = 'Extension des pages';
+$TEXT['NO_RESULTS'] = 'Aucun r&eacute;sultat';
+$TEXT['WEBSITE_TITLE'] = 'Titre du site';
+$TEXT['WEBSITE_DESCRIPTION'] = 'Description du site';
+$TEXT['WEBSITE_KEYWORDS'] = 'Mots cl&eacute;s du site';
+$TEXT['WEBSITE_HEADER'] = 'Ent&ecirc;te du site';
+$TEXT['WEBSITE_FOOTER'] = 'Pied de page du site';
+$TEXT['RESULTS_HEADER'] = 'Ent&ecirc;te du mod&egrave;le de recherche';
+$TEXT['RESULTS_LOOP'] = 'Mod&egrave;le d&apos;affichage de la boucle de recherche';
+$TEXT['RESULTS_FOOTER'] = 'Pied de page du mod&egrave;le de recherche';
+$TEXT['LEVEL'] = 'Niveau';
+$TEXT['NOT_FOUND'] = 'Non trouv&eacute;';
+$TEXT['PAGE_SPACER'] = 'Espacement de page';
+$TEXT['MATCHING'] = 'Correspondance';
+$TEXT['TEMPLATE_PERMISSIONS'] = 'Permissions sur les th&egrave;mes';
+$TEXT['PAGES_DIRECTORY'] = 'R&eacute;pertoire des pages';
+$TEXT['MEDIA_DIRECTORY'] = 'R&eacute;pertoire des fichiers media';
+$TEXT['FILE_MODE'] = 'Propri&eacute;t&eacute;s des fichiers';
+$TEXT['USER'] = 'Utilisateur';
+$TEXT['OTHERS'] = 'Autres';
+$TEXT['READ'] = 'Lire';
+$TEXT['WRITE'] = 'Ecrire';
+$TEXT['EXECUTE'] = 'Executer';
+$TEXT['SMART_LOGIN'] = 'Identification rapide';
+$TEXT['REMEMBER_ME'] = 'Se souvenir de moi';
+$TEXT['FILESYSTEM_PERMISSIONS'] = 'Permissions des fichiers syst&egrave;me';
+$TEXT['DIRECTORIES'] = 'R&eacute;pertoires';
+$TEXT['DIRECTORY_MODE'] = 'Propri&eacute;t&eacute;s des r&eacute;pertoires';
+$TEXT['LIST_OPTIONS'] = 'Liste des options';
+$TEXT['OPTION'] = 'Option';
+$TEXT['ALLOW_MULTIPLE_SELECTIONS'] = 'Autoriser la s&eacute;lection multiple';
+$TEXT['TEXTFIELD'] = 'Champ de texte';
+$TEXT['TEXTAREA'] = 'Zone de texte';
+$TEXT['SELECT_BOX'] = 'S&eacute;lection des bo&icirc;tes';
+$TEXT['CHECKBOX_GROUP'] = 'Groupe de checkbox';
+$TEXT['RADIO_BUTTON_GROUP'] = 'Groupe de boutons radio';
+$TEXT['SIZE'] = 'Taille';
+$TEXT['DEFAULT_TEXT'] = 'Texte par d&eacute;faut';
+$TEXT['SEPERATOR'] = 'S&eacute;parateur';
+$TEXT['BACK'] = 'Retour';
+$TEXT['UNDER_CONSTRUCTION'] = 'En construction';
+$TEXT['MULTISELECT'] = 'Multi-s&eacute;lection';
+$TEXT['SHORT_TEXT'] = 'Texte court';
+$TEXT['LONG_TEXT'] = 'Texte long';
+$TEXT['HOMEPAGE_REDIRECTION'] = 'Redirection de la page d&apos;accueil';
+$TEXT['HEADING'] = 'Haut de page';
+$TEXT['MULTIPLE_MENUS'] = 'Menus multiples';
+$TEXT['REGISTERED'] = 'Enregistr&eacute;';
+$TEXT['SECTION_BLOCKS'] = 'Bloc de rubrique';
+$TEXT['REGISTERED_VIEWERS'] = 'Utilisateurs enregistr&eacute;s';
+$TEXT['ALLOWED_VIEWERS'] = 'Visiteurs autoris&eacute;s';
+$TEXT['SUBMISSION_ID'] = 'Identifiant';
+$TEXT['SUBMISSIONS'] = 'Soumissions';
+$TEXT['SUBMITTED'] = 'Envoy&eacute;';
+$TEXT['MAX_SUBMISSIONS_PER_HOUR'] = 'Maximum de soumissions par heure';
+$TEXT['SUBMISSIONS_STORED_IN_DATABASE'] = 'Enregistrement des soumissions dans la base de donn&eacute;es';
+$TEXT['EMAIL_ADDRESS'] = 'Adresse email';
+$TEXT['CUSTOM'] = 'Adapter';
+$TEXT['ANONYMOUS'] = 'Anonyme';
+$TEXT['SERVER_OPERATING_SYSTEM'] = 'Syst&egrave;me d&apos;exploitation du serveur';
+$TEXT['WORLD_WRITEABLE_FILE_PERMISSIONS'] = 'Permissions d&apos;&eacute;criture sur fichier';
+$TEXT['LINUX_UNIX_BASED'] = 'Bas&eacute; sur linux/unix';
+$TEXT['WINDOWS'] = 'Windows';
+$TEXT['HOME_FOLDER'] = 'R&eacute;pertoire de d&eacute;part';
+$TEXT['HOME_FOLDERS'] = 'R&eacute;pertoires de d&eacute;part';
+$TEXT['PAGE_TRASH'] = 'Corbeille pour les pages supprim&eacute;es';
+$TEXT['INLINE'] = 'En ligne';
+$TEXT['SEPARATE'] = 'S&eacute;parer';
+$TEXT['DELETED'] = 'Supprim&eacute;';
+$TEXT['VIEW_DELETED_PAGES'] = 'Voir les pages supprim&eacute;es';
+$TEXT['EMPTY_TRASH'] = 'Vider la corbeille';
+$TEXT['TRASH_EMPTIED'] = 'Corbeille vid&eacute;e';
+$TEXT['ADD_SECTION'] = 'Ajouter une rubrique';
+$TEXT['POST_HEADER'] = 'Ent&ecirc;te de l&apos;actualit&eacute;';
+$TEXT['POST_FOOTER'] = 'Pied de page de l&apos;actualit&eacute;';
+$TEXT['POSTS_PER_PAGE'] = 'Nombre d&apos;actualit&eacute; par page';
+$TEXT['RESIZE_IMAGE_TO'] = 'Redimensionner l&apos;image';
+$TEXT['UNLIMITED'] = 'Illimit&eacute;';
+$TEXT['OF'] = 'De';
+$TEXT['OUT_OF'] = 'Hors de';
+$TEXT['NEXT'] = 'Suivant';
+$TEXT['PREVIOUS'] = 'Pr&eacute;c&eacute;dent';
+$TEXT['NEXT_PAGE'] = 'Page suivante';
+$TEXT['PREVIOUS_PAGE'] = 'Page pr&eacute;c&eacute;dente';
+$TEXT['ON'] = 'Sur';
+$TEXT['LAST_UPDATED_BY'] = 'Mis &agrave; jour par';
+$TEXT['RESULTS_FOR'] = 'R&eacute;sultats';
+$TEXT['TIME'] = 'Heure';
+$TEXT['REDIRECT_AFTER'] = 'Redirection apr&egrave;s coup';
+$TEXT['WYSIWYG_STYLE'] = 'Style WYSIWYG';
+$TEXT['WYSIWYG_EDITOR'] = 'Editeur WYSIWYG';
+$TEXT['SERVER_EMAIL'] = 'Serveur de mail';
+$TEXT['MENU'] = 'Menu';
+$TEXT['MANAGE_GROUPS'] = 'Gestion des groupes';
+$TEXT['MANAGE_USERS'] = 'Gestion des utilisateurs';
+$TEXT['PAGE_LANGUAGES'] = 'Langues des pages';
+$TEXT['HIDDEN'] = 'Cach&eacute;';
+$TEXT['MAIN'] = 'Principal';
+$TEXT['RENAME_FILES_ON_UPLOAD'] = 'Renommer les fichiers lors de l&apos;upload';
+$TEXT['APP_NAME'] = 'Nom de l&apos;application';
+$TEXT['SEC_ANCHOR'] = 'Section d&apos;ancre';
+$TEXT['SESSION_IDENTIFIER'] = 'Identifiant de session';
+$TEXT['BACKUP'] = 'Sauvegarde';
+$TEXT['RESTORE'] = 'Restaurer';
+$TEXT['BACKUP_DATABASE'] = 'Sauvegarde de la base de donn&eacute;es';
+$TEXT['RESTORE_DATABASE'] = 'Restauration de la base de donn&eacute;es';
+$TEXT['BACKUP_ALL_TABLES'] = 'Sauvegarder toutes les tables de la base de donn&eacute;es';
+$TEXT['BACKUP_WB_SPECIFIC'] = 'Sauvegarder uniquement les tables li&eacute;es &agrave; WebsiteBaker';
+$TEXT['BACKUP_MEDIA'] = 'Sauvegarde des fichiers media';
+$TEXT['RESTORE_MEDIA'] = 'Restauration des fichiers media';
+$TEXT['ADMINISTRATION_TOOL'] = 'Outils d&apos;administration';
+$TEXT['CAPTCHA_VERIFICATION'] = 'V&eacute;rification par captcha ';
+$TEXT['VERIFICATION'] = 'V&eacute;rification';
+$TEXT['DEFAULT_CHARSET'] = 'Encodage par d&eacute;faut';
+$TEXT['CHARSET'] = 'Encodage';
+$TEXT['MODULE_ORDER'] = 'Ordre de recherche dans les modules';
+$TEXT['MAX_EXCERPT'] = 'Nombre maximum de ligne &agrave; retourner';
+$TEXT['TIME_LIMIT'] = 'D&eacute;lai maximal de recherche par module';
+$TEXT['PUBL_START_DATE'] = 'Date de d&eacute;but';
+$TEXT['PUBL_END_DATE'] = 'Date de fin';
+$TEXT['CALENDAR'] = 'Calendrier';
+$TEXT['DELETE_DATE'] = 'Date de suppression';
+$TEXT['WBMAILER_DEFAULT_SETTINGS_NOTICE'] = 'Merci d&apos;indiquer un nom et une adresse d&apos;exp&eacute;diteur par d&eacute;faut. Il est recommand&eacute; d&apos;utiliser une adresse d&apos;exp&eacute;diteur de la forme : <strong>admin@yourdomain.com</strong>. Certains op&eacute;rateurs de mail (comme <em>mail.com</em>) peuvent rejeter les mails dont l&apos;adresse d&apos;exp&eacute;diteur est de la forme <em>name@mail.com</em> envoy&eacute;s via un relai, c&apos;est leur mani&egrave;re de lutter contre le spam.<br /><br />Les valeur par d&eacute;faut sont uniquement utilis&eacute;es si aucune autre valeur n&apos;est sp&eacute;cifi&eacute;e par WebsiteBaker. Si votre serveur supporte <acronym title="Simple mail transfer protocol">SMTP</acronym>, vous pouvez utiliser cette option pour l&apos;exp&eacute;dition d&apos;emails.';
+$TEXT['WBMAILER_DEFAULT_SENDER_MAIL'] = 'Adresse d&apos;exp&eacute;diteur par d&eacute;faut';
+$TEXT['WBMAILER_DEFAULT_SENDER_NAME'] = 'Nom d&apos;exp&eacute;diteur par d&eacute;faut';
+$TEXT['WBMAILER_NOTICE'] = '<strong>Param&egrave;tres du serveur SMTP :</strong><br />Les param&egrave;tres ci-dessous sont uniquement requis si vous souhaitez envoyer des mails via <acronym title="Simple mail transfer protocol">SMTP</acronym>. Si vous ne connaissez pas votre serveur SMTP ou si vous n&apos;&ecirc;tes pas s&ucirc;r de la valeur des param&egrave;tres requis, conservez simplement le m&eacute;canisme par d&eacute;faut : PHP MAIL.';
+$TEXT['WBMAILER_FUNCTION'] = 'M&eacute;canisme d&apos;envoi de mail';
+$TEXT['WBMAILER_SMTP_HOST'] = 'H&ocirc;te SMTP';
+$TEXT['WBMAILER_PHP'] = 'PHP MAIL';
+$TEXT['WBMAILER_SMTP'] = 'SMTP';
+$TEXT['WBMAILER_SMTP_AUTH'] = 'Authentification SMTP';
+$TEXT['WBMAILER_SMTP_AUTH_NOTICE'] = 'n&apos;utilisez l&apos;authentification que si votre seveur SMTP ne l&apos;exige';
+$TEXT['WBMAILER_SMTP_USERNAME'] = 'nom d&apos;utilisateur SMTP';
+$TEXT['WBMAILER_SMTP_PASSWORD'] = 'mot de passe SMTP';
+$TEXT['PLEASE_LOGIN'] = 'Merci de vous identifier';
+$TEXT['CAP_EDIT_CSS'] = 'Editer la feuille CSS';
+$TEXT['HEADING_CSS_FILE'] = 'Feuille css actuelle : ';
+$TEXT['TXT_EDIT_CSS_FILE'] = 'Editer les styles CSS dans la zone de texte ci-dessous.';
+$TEXT['CODE_SNIPPET'] = "Extrait de code";
+$TEXT['REQUIREMENT'] = "Param&egrave;tres requis";
+$TEXT['INSTALLED'] = "install&eacute;";
+$TEXT['NOT_INSTALLED'] = "non install&eacute;";
+$TEXT['ADDON'] = "Extension";
+$TEXT['EXTENSION'] = "Extension";
+$TEXT['UNZIP_FILE'] = "Uploader et décompresser l&apos;archive zip";
+$TEXT['DELETE_ZIP'] = "Effacer l&apos;archive zip après décompression";
+
+// Success/error messages
+$MESSAGE['FRONTEND']['SORRY_NO_VIEWING_PERMISSIONS'] = 'D&eacute;sol&eacute;, vous n&apos;avez pas les droits pour visualiser cette page';
+$MESSAGE['FRONTEND']['SORRY_NO_ACTIVE_SECTIONS'] = 'D&eacute;sol&eacute;, aucun contenu actif &agrave; afficher';
+
+$MESSAGE['ADMIN']['INSUFFICIENT_PRIVELLIGES'] = 'Droits insuffisants pour &ecirc;tre ici';
+
+$MESSAGE['LOGIN']['BOTH_BLANK'] = 'Merci de saisir vos identifiants de connexion';
+$MESSAGE['LOGIN']['USERNAME_BLANK'] = 'Merci de saisir votre nom d&apos;utilisateur';
+$MESSAGE['LOGIN']['PASSWORD_BLANK'] = 'Merci de saisir votre mot de passe';
+$MESSAGE['LOGIN']['USERNAME_TOO_SHORT'] = 'Votre nom d&apos;utilisateur est trop court';
+$MESSAGE['LOGIN']['PASSWORD_TOO_SHORT'] = 'Votre mot de passe est trop court';
+$MESSAGE['LOGIN']['USERNAME_TOO_LONG'] = 'Votre nom d&apos;utilisateur est trop long';
+$MESSAGE['LOGIN']['PASSWORD_TOO_LONG'] = 'Votre mot de passe est trop long';
+$MESSAGE['LOGIN']['AUTHENTICATION_FAILED'] = 'Votre nom d&apos;utilisateur ou votre mot de passe est incorrect';
+
+$MESSAGE['SIGNUP']['NO_EMAIL'] = 'L&apos;adresse email est obligatoire';
+$MESSAGE['SIGNUP2']['SUBJECT_LOGIN_INFO'] = 'Param&egrave;tres de votre connexion ...';
+$MESSAGE['SIGNUP2']['BODY_LOGIN_INFO'] = <<< EOT
+Bonjour, {LOGIN_DISPLAY_NAME},
+
+Les param&egrave;tres de connexion au site web '{LOGIN_WEBSITE_TITLE}' sont :
+identifiant : {LOGIN_NAME}
+mot de passe : {LOGIN_PASSWORD}
+
+Votre mot de passe a &eacute;t&eacute; modifi&eacute; avec la valeur ci-dessus.
+Par cons&eacute;quent, votre ancien mot de passe n&apos;est plus valide.
+
+Si vous avez re&ccdil;u ce message par erreur, merci de le supprimer imm&eacute;diatement.
+EOT;
+
+$MESSAGE['FORGOT_PASS']['NO_DATA'] = 'Merci de saisir votre adresse email';
+$MESSAGE['FORGOT_PASS']['EMAIL_NOT_FOUND'] = 'L&apos;adresse email que vous avez saisi est introuvable dans la base de donn&eacute;es';
+$MESSAGE['FORGOT_PASS']['CANNOT_EMAIL'] = 'Impossible de vous renvoyer vos identifiants, merci de contacter l&apos;administrateur du site';
+$MESSAGE['FORGOT_PASS']['PASSWORD_RESET'] = 'Vos identifiants vous ont &eacute;t&eacute; envoy&eacute; par email';
+$MESSAGE['FORGOT_PASS']['ALREADY_RESET'] = 'D&eacute;sol&eacute;, vous ne pouvez pas modifier votre mot de passe plus d&apos;une fois par heure';
+
+$MESSAGE['START']['WELCOME_MESSAGE'] = 'Bienvenue dans la zone d&apos;administration';
+$MESSAGE['START']['INSTALL_DIR_EXISTS'] = 'Attention : le r&eacute;pertoire d&apos;installation existe toujours';
+$MESSAGE['START']['CURRENT_USER'] = 'Vous &ecirc;tes connect&eacute; en tant que : ';
+
+$MESSAGE['SETTINGS']['UNABLE_OPEN_CONFIG'] = 'Impossible de lire le fichier de configuration';
+$MESSAGE['SETTINGS']['UNABLE_WRITE_CONFIG'] = 'Impossible d&apos;&eacute;crire dans le fichier de configuration';
+$MESSAGE['SETTINGS']['SAVED'] = 'R&eacute;glages sauvegard&eacute;s avec succ&egrave;s';
+$MESSAGE['SETTINGS']['MODE_SWITCH_WARNING'] = 'Attention : en cliquant sur ce bouton, vous ne sauvegardez pas vos modifications';
+$MESSAGE['SETTINGS']['WORLD_WRITEABLE_WARNING'] = 'Recommand&eacute; uniquement pour les environnement de test';
+
+$MESSAGE['USERS']['ADDED'] = 'Utilisateur ajout&eacute; avec succ&egrave;s';
+$MESSAGE['USERS']['SAVED'] = 'Utilisateur sauvegard&eacute; avec succ&egrave;s';
+$MESSAGE['USERS']['DELETED'] = 'Utilisateur supprim&eacute; avec succ&egrave;s';
+$MESSAGE['USERS']['NO_GROUP'] = 'Aucun groupe n&apos;a &eacute;t&eacute; s&eacute;lectionn&eacute;';
+$MESSAGE['USERS']['USERNAME_TOO_SHORT'] = 'Le nom d&apos;utilisateur est trop court';
+$MESSAGE['USERS']['PASSWORD_TOO_SHORT'] = 'Le mot de passe est trop court';
+$MESSAGE['USERS']['PASSWORD_MISMATCH'] = 'Le mot de passe est introuvable';
+$MESSAGE['USERS']['INVALID_EMAIL'] = 'L&apos;adresse email n&apos;est pas valide';
+$MESSAGE['USERS']['EMAIL_TAKEN'] = 'L&apos;adresse email est d&eacute;ja utilis&eacute;e';
+$MESSAGE['USERS']['USERNAME_TAKEN'] = 'Le nom d&apos;utilisateur est d&eacute;ja utilis&eacute;';
+$MESSAGE['USERS']['CHANGING_PASSWORD'] = 'Vous ne devez modifier les valeurs ci-dessus uniquement lors d&apos;une modification de mot de passe';
+$MESSAGE['USERS']['CONFIRM_DELETE'] = 'Etes-vous s&ucirc;r de vouloir supprimer cet utilisateur ?';
+
+$MESSAGE['GROUPS']['ADDED'] = 'Groupe ajout&eacute; avec succ&egrave;s';
+$MESSAGE['GROUPS']['SAVED'] = 'Groupe sauvegard&eacute; avec succ&egrave;s';
+$MESSAGE['GROUPS']['DELETED'] = 'Groupe supprim&eacute; avec succ&egrave;s';
+$MESSAGE['GROUPS']['GROUP_NAME_BLANK'] = 'Le nom du groupe est vide';
+$MESSAGE['GROUPS']['CONFIRM_DELETE'] = 'Etes-vous s&ucirc;r de vouloir supprimer ce groupe (ainsi que tous les utilisateurs de ce groupe) ?';
+$MESSAGE['GROUPS']['NO_GROUPS_FOUND'] = 'Groupe introuvable';
+$MESSAGE['GROUPS']['GROUP_NAME_EXISTS'] = 'Le nom du groupe est d&eacute;ja existant';
+
+$MESSAGE['PREFERENCES']['DETAILS_SAVED'] = 'Donn&eacute;es sauvegard&eacute;es avec succ&egrave;s';
+$MESSAGE['PREFERENCES']['EMAIL_UPDATED'] = 'Adresse email sauvegard&eacute;e avec succ&egrave;s';
+$MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT'] = 'Le mot de passe entr&eacute; est incorrect';
+$MESSAGE['PREFERENCES']['PASSWORD_CHANGED'] = 'Mot de passe modifi&eacute; avec succ&egrave;s';
+
+$MESSAGE['TEMPLATES']['CHANGE_TEMPLATE_NOTICE'] = 'Pour modifier le th&egrave;me du site, vous devez vous rendre dans la rubrique R&eacute;glages';
+
+$MESSAGE['MEDIA']['DIR_DOT_DOT_SLASH'] = 'Impossible d&apos;inclure ../ dans le nom du dossier';
+$MESSAGE['MEDIA']['DIR_DOES_NOT_EXIST'] = 'Le r&eacute;pertoire n&apos;existe pas';
+$MESSAGE['MEDIA']['TARGET_DOT_DOT_SLASH'] = 'Impossible d&apos;avoir ../ dans le nom du dossier cible';
+$MESSAGE['MEDIA']['NAME_DOT_DOT_SLASH'] = 'Impossible d&apos;inclure ../ dans le nom';
+$MESSAGE['MEDIA']['NAME_INDEX_PHP'] = 'Vous ne pouvez pas utiliser index.php comme nom';
+$MESSAGE['MEDIA']['NONE_FOUND'] = 'Aucun media trouv&eacute; dans ce dossier';
+$MESSAGE['MEDIA']['FILE_NOT_FOUND'] = 'Fichier introuvable';
+$MESSAGE['MEDIA']['DELETED_FILE'] = 'Fichier supprim&eacute; avec succ&egrave;s';
+$MESSAGE['MEDIA']['DELETED_DIR'] = 'Dossier supprim&eacute; avec succ&egrave;s';
+$MESSAGE['MEDIA']['CONFIRM_DELETE'] = 'Etes-vous s&ucirc;r de vouloir supprimer ce fichier/dossier ?';
+$MESSAGE['MEDIA']['CANNOT_DELETE_FILE'] = 'Impossible de supprimer le fichier s&eacute;lectionn&eacute;';
+$MESSAGE['MEDIA']['CANNOT_DELETE_DIR'] = 'Impossible de supprimer le dossier s&eacute;lctionn&eacute;';
+$MESSAGE['MEDIA']['BLANK_NAME'] = 'Vous n&apos;avezpas entr&eacute; de nouveau nom';
+$MESSAGE['MEDIA']['BLANK_EXTENSION'] = 'Vous n&apos;avez pas entr&eacute; d&apos;extension';
+$MESSAGE['MEDIA']['RENAMED'] = 'Renommage r&eacute;ussi avec succ&egrave;s';
+$MESSAGE['MEDIA']['CANNOT_RENAME'] = 'Impossible de renommer';
+$MESSAGE['MEDIA']['FILE_EXISTS'] = 'Un fichier portant ce nom est d&eacute;j&agrave; existant';
+$MESSAGE['MEDIA']['DIR_EXISTS'] = 'Un dossier portant ce nom est d&eacute;j&agrave; existant';
+$MESSAGE['MEDIA']['DIR_MADE'] = 'Dossier cr&eacute;&eacute; avec succ&egrave;s';
+$MESSAGE['MEDIA']['DIR_NOT_MADE'] = 'Impossible de cr&eacute;er le dossier';
+$MESSAGE['MEDIA']['SINGLE_UPLOADED'] = 'Le fichier a &eacute;t&eacute; upload&eacute; avec succ&egrave;s';
+$MESSAGE['MEDIA']['UPLOADED'] = 'Les fichiers ont &eacute;t&eacute; upload&eacute;s avec succ&egrave;s';
+
+$MESSAGE['PAGES']['ADDED'] = 'Page ajout&eacute;e avec succ&egrave;s';
+$MESSAGE['PAGES']['ADDED_HEADING'] = 'L&apos;ent&ecirc;te de la page a &eacute;t&eacute; ajout&eacute; avec succ&egrave;s';
+$MESSAGE['PAGES']['PAGE_EXISTS'] = 'Une page avec le m&ecirc;me nom existe d&eacute;j&agrave;';
+$MESSAGE['PAGES']['CANNOT_CREATE_ACCESS_FILE'] = 'Erreur lors de la cr&eacute;ation d&apos;un fichier dans le r&eacute;pertoire des pages (privil&egrave;ges insuffisants)';
+$MESSAGE['PAGES']['CANNOT_DELETE_ACCESS_FILE'] = 'Erreur lors de la suppression d&apos;un fichier dans le r&eacute;pertoire des pages (privil&egrave;ges insuffisants)';
+$MESSAGE['PAGES']['NOT_FOUND'] = 'Page introuvable';
+$MESSAGE['PAGES']['SAVED'] = 'Page sauvegard&eacute;e avec succ&egrave;s';
+$MESSAGE['PAGES']['SAVED_SETTINGS'] = 'Param&egrave;tres de la page sauvegard&eacute;s avec succ&egrave;s';
+$MESSAGE['PAGES']['NOT_SAVED'] = 'Erreur lors de la sauvegarde de la page';
+$MESSAGE['PAGES']['DELETE_CONFIRM'] = 'Etes-vous s&ucirc;r de vouloir supprimer la page s&eacute;lectionn&eacute;e (ainsi que ses sous-rubriques)';
+$MESSAGE['PAGES']['DELETED'] = 'Page supprim&eacute;e avec succ&egrave;s';
+$MESSAGE['PAGES']['RESTORED'] = 'Page restaur&eacute;e avec succ&egrave;s';
+$MESSAGE['PAGES']['BLANK_PAGE_TITLE'] = 'Entrez un titre de page';
+$MESSAGE['PAGES']['BLANK_MENU_TITLE'] = 'Entrez un titre de menu';
+$MESSAGE['PAGES']['REORDERED'] = 'Page r&eacute;ordonn&eacute;e avec succ&egrave;s';
+$MESSAGE['PAGES']['CANNOT_REORDER'] = 'Erreur lors du r&eacute;agencement des pages';
+$MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS'] = 'Vous n&apos;avez pas les droits pour modifier cette pages';
+$MESSAGE['PAGES']['INTRO_NOT_WRITABLE'] = 'Impossible d&apos;&eacute;crire dans la page d&apos;introduction (privil&egrave;ges insuffisants)';
+$MESSAGE['PAGES']['INTRO_SAVED'] = 'Page d&apos;introduction sauvegard&eacute;e avec succ&egrave;s';
+$MESSAGE['PAGES']['LAST_MODIFIED'] = 'Mis &agrave; jour par';
+$MESSAGE['PAGES']['INTRO_LINK'] = 'Cliquez ici pour modifier la page d&apos;introduction';
+$MESSAGE['PAGES']['SECTIONS_PROPERTIES_SAVED'] = 'Les propri&eacute;t&eacute;s de la rubrique ont &eacute;t&eacute; sauvegard&eacute;es avec succ&egrave;s';
+$MESSAGE['PAGES']['RETURN_TO_PAGES'] = 'Retour au contenu';
+
+$MESSAGE['GENERIC']['FILL_IN_ALL'] = 'Merci de remplir tous les champs';
+$MESSAGE['GENERIC']['FILE_TYPE'] = 'Les fichiers charg&eacute;s doivent avoir les extensions suivantes : ';
+$MESSAGE['GENERIC']['FILE_TYPES'] = 'Les fichiers charg&eacute;s doivent &ecirc;tre aux formats suivants : ';
+$MESSAGE['GENERIC']['CANNOT_UPLOAD'] = 'Impossible d&apos;uploader le fichier';
+$MESSAGE['GENERIC']['ALREADY_INSTALLED'] = 'D&eacute;j&agrave; install&eacute;';
+$MESSAGE['GENERIC']['NOT_INSTALLED'] = 'Non install&eacte;';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL'] = 'Impossible de d&eacute;sinstaller';
+$MESSAGE['GENERIC']['CANNOT_UNZIP'] = 'Impossible de d&eacute;zipper le fichier';
+$MESSAGE['GENERIC']['INSTALLED'] = 'Installation r&eacute;ussie';
+$MESSAGE['GENERIC']['UPGRADED'] = 'Mise &agrave; jour r&eacute;ussie';
+$MESSAGE['GENERIC']['UNINSTALLED'] = 'D&eacute;sinstallation r&eacute;ussie';
+$MESSAGE['GENERIC']['BAD_PERMISSIONS'] = 'Impossible d&apos;&eacute;crire dans le r&eacute;pertoire cible';
+$MESSAGE['GENERIC']['INVALID'] = 'Le fichier charg&eacute; est invalide';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE'] = 'D&eacute;sinstallation impossible : fichier en cours d&apos;utilisation';
+
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL'] = "<br /><br />{{type}} <b>{{type_name}}</b> ne peut pas &ecirc;tre déinstall&eacute; car il est actuellement en cours d'utilisation dans les pages {{pages}}.<br /><br />";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL_PAGES'] = "cette page;ces pages";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IS_DEFAULT_TEMPLATE'] = "Impossible de d&eacute;sinstaller le mod&egrave;le <b>{{name}}</b> parce que c'est le mod&egrave;le par d&eacute;faut !";
+
+$MESSAGE['GENERIC']['WEBSITE_UNDER_CONSTRUCTION'] = 'Site en construction';
+$MESSAGE['GENERIC']['PLEASE_CHECK_BACK_SOON'] = 'Merci de revenir plus tard';
+$MESSAGE['GENERIC']['PLEASE_BE_PATIENT'] = 'Merci de patienter';
+$MESSAGE['GENERIC']['ERROR_OPENING_FILE'] = 'Erreur lors de l&apos;ouverture du fichier';
+$MESSAGE['GENERIC']['INVALID_ADDON_FILE'] = 'Fichier d&apos;extension incorrect. V&eacute;rifiez le fichier zip .';
+$MESSAGE['GENERIC']['INVALID_LANGUAGE_FILE'] = 'Fichier de langue incorrect. V&eacute;rifiez le fichier de langue.';
+
+$MESSAGE['MOD_FORM']['REQUIRED_FIELDS'] = 'Vous devez renseigner les champs suivants';
+$MESSAGE['MOD_FORM']['EXCESS_SUBMISSIONS'] = 'D&eacute;sol&eacute; mais ce formulaire est utilis&eacute; trop fr&eacute;quemment en ce moment. Afin de nous aider &agrave; lutter contre le spam, merci de r&eacute;essayer plus tard';
+$MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA'] = 'Le num&eacute;ro de v&eacute;rification (Captcha) que vous avez entr&eacute; est incorrect. Si vous rencontrez des probl&egrave;mes quant &agrave; la lecture de ce num&eacute;ro, merci d&apos;envoyer un email &agrave; : '.SERVER_EMAIL.'';
+
+$MESSAGE['ADDON']['RELOAD'] = 'Mise &agrave; jour de la base de donn&eacute;es avec les informations des extensions (ou apr&egrave;s l&apos;upload via ftp).';
+$MESSAGE['ADDON']['ERROR_RELOAD'] = 'Erreur pendant la mise &agrave; jour des informations des modules.';
+$MESSAGE['ADDON']['MODULES_RELOADED'] = 'Les modules ont &eacute;t&eacute; correctement recharg&eacute;s';
+$MESSAGE['ADDON']['TEMPLATES_RELOADED'] = 'Les th&egrave;mes ont &eacute;t&eacute; correctement recharg&eacute;s';
+$MESSAGE['ADDON']['LANGUAGES_RELOADED'] = 'Les langues ont &eacute;t&eacute; correctement recharg&eacute;es';
+$MESSAGE['ADDON']['PRECHECK_FAILED'] = 'Echec de l&apos;installation de l&apos;extension. Votre syst&egrave;me ne respecte pas les pr&eacute;-requis de cette extension. Pour la faire fonctionner, merci de solutionner les erreurs list&eacute;es ci-dessous.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION'] = 'Quand les extensions sont upload&eacute;s via ftp (ce qui n&apos;est pas recommand&eacute;), les fichiers d&apos;installation du module <tt>install.php</tt>, <tt>upgrade.php</tt> ou <tt>uninstall.php</tt> ne seront pas ex&eacute;cut&eacute;s automatiquement. Ces modules peuvent ne pas fonctionner ou ne pas se d&eacute;sinstaller correctement.<br /><br />Vous pouvez ex&eacute;cuter les fichiers d&apos;extension manuellement pour les extensions upload&eacute;es via ftp ci-dessous.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION_WARNING'] = 'Attention: les donn&eacute;es de la base de donn&eacute;es de l&apos;extension existante vont &ecirc;tre perdues. Utilisez cette option si vous rencontrez des probl&egrave;mes avec des modules upload&eacute;s via ftp.';
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/languages/FR.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/languages/ET.php
===================================================================
--- tags/2.8.2/wb/languages/ET.php	(nonexistent)
+++ tags/2.8.2/wb/languages/ET.php	(revision 1481)
@@ -0,0 +1,595 @@
+<?php
+/**
+ *
+ * @category        framework
+ * @package         language
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// use languageedit-module to modify this file
+
+// Define that this file is loaded
+if(!defined('LANGUAGE_LOADED')) {
+define('LANGUAGE_LOADED', true);
+}
+
+// Set the language information
+$language_code = 'ET';
+$language_name = 'Eesti';
+$language_version = '2.8';
+$language_platform = '2.8.x';
+$language_author = 'Heiko H&auml;ng';
+$language_license = 'GNU General Public License';
+
+// Menu titles
+$MENU['START'] = 'Start';
+$MENU['PAGES'] = 'Lehed';
+$MENU['MEDIA'] = 'Meedia';
+$MENU['ADDONS'] = 'Lisad';
+$MENU['MODULES'] = 'Moodulid';
+$MENU['TEMPLATES'] = 'Kujundused';
+$MENU['LANGUAGES'] = 'Keeled';
+$MENU['PREFERENCES'] = 'Valikud';
+$MENU['SETTINGS'] = 'Seaded';
+$MENU['ADMINTOOLS'] = 'Admin-Tools';
+$MENU['ACCESS'] = 'Ligip&auml;&auml;s';
+$MENU['USERS'] = 'Kasutajad';
+$MENU['GROUPS'] = 'Grupid';
+$MENU['HELP'] = 'Abi';
+$MENU['VIEW'] = 'Vaata';
+$MENU['LOGOUT'] = 'Logi V&auml;lja';
+$MENU['LOGIN'] = 'Logi Sisse';
+$MENU['FORGOT'] = 'Retrieve Login Details';
+
+// Section overviews
+$OVERVIEW['START'] = 'Administratsiooni &uuml;levaade';
+$OVERVIEW['PAGES'] = 'Halda oma veebisaidi lehek&uuml;lgi...';
+$OVERVIEW['MEDIA'] = 'Halda faile mis on media kaustas...';
+$OVERVIEW['MODULES'] = 'Halda WebsiteBakeri mooduleid...';
+$OVERVIEW['TEMPLATES'] = 'Change the look and feel of your website with templates...';
+$OVERVIEW['LANGUAGES'] = 'Halda WebsiteBakeri keeli...';
+$OVERVIEW['PREFERENCES'] = 'Muuda eelistusi nagu emaili aadress, parool, jne... ';
+$OVERVIEW['SETTINGS'] = 'Muuda seadeid WebsiteBakeri jaoks...';
+$OVERVIEW['USERS'] = 'Halda kasutajaid kes saavad logida WebsiteBakerisse...';
+$OVERVIEW['GROUPS'] = 'Halda kasutajate gruppe ja nende &otilde;iguseid...';
+$OVERVIEW['HELP'] = 'On k&uuml;simusi? Leia oma vastus...';
+$OVERVIEW['VIEW'] = 'Kiirelt vaata ja lehitse oma veebisaiti uues aknas...';
+$OVERVIEW['ADMINTOOLS'] = 'Access the WebsiteBaker administration tools...';
+
+// Headings
+$HEADING['MODIFY_DELETE_PAGE'] = 'Muuda/Kustuta Leht';
+$HEADING['DELETED_PAGES'] = 'Kustutatud Lehed';
+$HEADING['ADD_PAGE'] = 'Lisa Leht';
+$HEADING['ADD_HEADING'] = 'Add Heading';
+$HEADING['MODIFY_PAGE'] = 'Muuda Lehte';
+$HEADING['MODIFY_PAGE_SETTINGS'] = 'Muuda Lehe Seadeid';
+$HEADING['MODIFY_ADVANCED_PAGE_SETTINGS'] = 'Muuda Arenenud Lehe Seadeid';
+$HEADING['MANAGE_SECTIONS'] = 'Muuda Sektsioone';
+$HEADING['MODIFY_INTRO_PAGE'] = 'Muuda Intro Lehte';
+
+$HEADING['BROWSE_MEDIA'] = 'Sirvi Meediat';
+$HEADING['CREATE_FOLDER'] = 'Loo Kaust';
+$HEADING['UPLOAD_FILES'] = 'Saada Fail(id)';
+
+$HEADING['INSTALL_MODULE'] = 'Paigalda Moodul';
+$HEADING['UNINSTALL_MODULE'] = 'Eemalda Moodul';
+$HEADING['MODULE_DETAILS'] = 'Mooduli Detailid';
+
+$HEADING['INSTALL_TEMPLATE'] = 'Paigalda Kujundus';
+$HEADING['UNINSTALL_TEMPLATE'] = 'Eemalda Kujundus';
+$HEADING['TEMPLATE_DETAILS'] = 'Kujunduse Detailid';
+
+$HEADING['INSTALL_LANGUAGE'] = 'Paigalda Keel';
+$HEADING['UNINSTALL_LANGUAGE'] = 'Eemalda Keel';
+$HEADING['LANGUAGE_DETAILS'] = 'Keele Detailid';
+
+$HEADING['MY_SETTINGS'] = 'Minu Seaded';
+$HEADING['MY_EMAIL'] = 'Minu Email';
+$HEADING['MY_PASSWORD'] = 'Minu Parool';
+
+$HEADING['GENERAL_SETTINGS'] = '&Uuml;ldised Seaded';
+$HEADING['DEFAULT_SETTINGS'] = 'Vaikimisi Seaded';
+$HEADING['SEARCH_SETTINGS'] = 'Otsingu Seaded';
+$HEADING['FILESYSTEM_SETTINGS'] = 'Failis&uuml;steemi Seaded';
+$HEADING['SERVER_SETTINGS'] = 'Server Settings';
+$HEADING['WBMAILER_SETTINGS'] = 'Mailer Settings';
+$HEADING['ADMINISTRATION_TOOLS'] = 'Administration Tools';
+
+$HEADING['MODIFY_DELETE_USER'] = 'Muuda/Kustuta Kasutaja';
+$HEADING['ADD_USER'] = 'Lisa Kasutaja';
+$HEADING['MODIFY_USER'] = 'Muuda Kasutajat';
+
+$HEADING['MODIFY_DELETE_GROUP'] = 'Muuda/Kustuta Grupp';
+$HEADING['ADD_GROUP'] = 'Lisa Grupp';
+$HEADING['MODIFY_GROUP'] = 'Muuda Gruppi';
+
+$HEADING['ADDON_PRECHECK_FAILED'] = 'Add-On requirements not met';
+$HEADING['INVOKE_MODULE_FILES'] = 'Execute module files manually';
+
+// Other text
+$TEXT['OPEN'] = 'Open';
+$TEXT['ADD'] = 'Lisa';
+$TEXT['MODIFY'] = 'Muuda';
+$TEXT['SETTINGS'] = 'Seaded';
+$TEXT['DELETE'] = 'Kustuta';
+$TEXT['SAVE'] = 'Salvesta';
+$TEXT['RESET'] = 'Tagasta';
+$TEXT['LOGIN'] = 'Logi Sisse';
+$TEXT['RELOAD'] = 'Lae Uuesti';
+$TEXT['CANCEL'] = 'Katkesta';
+$TEXT['NAME'] = 'Nimi';
+$TEXT['PLEASE_SELECT'] = 'Palun vali';
+$TEXT['TITLE'] = 'Pealkiri';
+$TEXT['PARENT'] = 'Vanem';
+$TEXT['TYPE'] = 'T&uuml;&uuml;p';
+$TEXT['VISIBILITY'] = 'N&auml;htavus';
+$TEXT['PRIVATE'] = 'Privaatne';
+$TEXT['PUBLIC'] = 'Avalik';
+$TEXT['NONE'] = 'Mitte &Uuml;kski';
+$TEXT['NONE_FOUND'] = 'Ei Leitud';
+$TEXT['CURRENT'] = 'Praegune';
+$TEXT['CHANGE'] = 'Muuda';
+$TEXT['WINDOW'] = 'Aken';
+$TEXT['DESCRIPTION'] = 'Kirjeldus';
+$TEXT['KEYWORDS'] = 'M&auml;rks&otilde;nad';
+$TEXT['ADMINISTRATORS'] = 'Administraatorid';
+$TEXT['PRIVATE_VIEWERS'] = 'Privaatsed Vaatajad';
+$TEXT['EXPAND'] = 'Laienda';
+$TEXT['COLLAPSE'] = 'Kollaps';
+$TEXT['MOVE_UP'] = 'Liigu &Uuml;lesse';
+$TEXT['MOVE_DOWN'] = 'Liigu Alla';
+$TEXT['RENAME'] = 'Nimeta &Uuml;mber';
+$TEXT['MODIFY_SETTINGS'] = 'Muuda Seadeid';
+$TEXT['MODIFY_CONTENT'] = 'Muuda Sisu';
+$TEXT['VIEW'] = 'Vaata';
+$TEXT['UP'] = '&Uuml;lesse';
+$TEXT['FORGOTTEN_DETAILS'] = 'Unustasid oma detailid?';
+$TEXT['NEED_TO_LOGIN'] = 'Vajad sisselogimist?';
+$TEXT['SEND_DETAILS'] = 'Saada detailid';
+$TEXT['USERNAME'] = 'Kasutajanimi';
+$TEXT['PASSWORD'] = 'Parool';
+$TEXT['HOME'] = 'Kodu';
+$TEXT['TARGET_FOLDER'] = 'Siht kaust';
+$TEXT['OVERWRITE_EXISTING'] = 'Kirjuta olemasolev &uuml;le';
+$TEXT['FILE'] = 'Fail';
+$TEXT['FILES'] = 'Failid';
+$TEXT['FOLDER'] = 'Kaust';
+$TEXT['FOLDERS'] = 'Kaustad';
+$TEXT['CREATE_FOLDER'] = 'Loo Kaust';
+$TEXT['UPLOAD_FILES'] = 'Saada Fail(id)';
+$TEXT['CURRENT_FOLDER'] = 'Praegune Kaust';
+$TEXT['TO'] = 'Kellele';
+$TEXT['FROM'] = 'Kellelt';
+$TEXT['INSTALL'] = 'Paigalda';
+$TEXT['UNINSTALL'] = 'Eemalda';
+$TEXT['VIEW_DETAILS'] = 'Vaata Detaile';
+$TEXT['DISPLAY_NAME'] = 'Vaate Nimi';
+$TEXT['AUTHOR'] = 'Autor';
+$TEXT['VERSION'] = 'Versioon';
+$TEXT['DESIGNED_FOR'] = 'Kavandatud';
+$TEXT['DESCRIPTION'] = 'Kirjeldus';
+$TEXT['EMAIL'] = 'Email';
+$TEXT['LANGUAGE'] = 'Keel';
+$TEXT['TIMEZONE'] = 'Ajatsoon';
+$TEXT['CURRENT_PASSWORD'] = 'Praegune Parool';
+$TEXT['NEW_PASSWORD'] = 'Uus Parool';
+$TEXT['RETYPE_NEW_PASSWORD'] = 'Korda Uut Parooli';
+$TEXT['ACTIVE'] = 'Aktiivne';
+$TEXT['DISABLED'] = 'Blokeeritud';
+$TEXT['ENABLED'] = 'Lubatud';
+$TEXT['RETYPE_PASSWORD'] = 'Korda Parooli';
+$TEXT['GROUP'] = 'Grupp';
+$TEXT['SYSTEM_PERMISSIONS'] = 'S&uuml;steemi &Otilde;igused';
+$TEXT['MODULE_PERMISSIONS'] = 'Mooduli &Otilde;igused';
+$TEXT['SHOW_ADVANCED'] = 'N&auml;ita Arenenud Valikuid';
+$TEXT['HIDE_ADVANCED'] = 'Peida Arenenud Valikud';
+$TEXT['BASIC'] = 'Alus';
+$TEXT['ADVANCED'] = 'Arenenud';
+$TEXT['WEBSITE'] = 'Veebisait';
+$TEXT['DEFAULT'] = 'Vaikimisi';
+$TEXT['KEYWORDS'] = 'M&auml;rks&otilde;nad';
+$TEXT['TEXT'] = 'Tekst';
+$TEXT['HEADER'] = 'P&auml;is';
+$TEXT['FOOTER'] = 'Jalus';
+$TEXT['TEMPLATE'] = 'Kujundus';
+$TEXT['THEME'] = 'Backend-Theme';
+$TEXT['INSTALLATION'] = 'Installatsioon';
+$TEXT['DATABASE'] = 'Andmebaas';
+$TEXT['HOST'] = 'Hostia';
+$TEXT['INTRO'] = 'Intro';
+$TEXT['PAGE'] = 'Lehek&uuml;lg';
+$TEXT['SIGNUP'] = 'Registreeri';
+$TEXT['PHP_ERROR_LEVEL'] = 'PHP Vea Esitamise Tase';
+$TEXT['ADMIN'] = 'Admin';
+$TEXT['PATH'] = 'Rada';
+$TEXT['URL'] = 'URL';
+$TEXT['FRONTEND'] = 'Frondi-l&otilde;pp';
+$TEXT['EXTENSION'] = 'Ulatus';
+$TEXT['TABLE_PREFIX'] = 'Tabelite Prefiks';
+$TEXT['CHANGES'] = 'Muudatused';
+$TEXT['ADMINISTRATION'] = 'Administratsioon';
+$TEXT['FORGOT_DETAILS'] = 'Unustasid Andmed?';
+$TEXT['LOGGED_IN'] = 'Sisse Logitud';
+$TEXT['WELCOME_BACK'] = 'Teretulemast tagasi';
+$TEXT['FULL_NAME'] = 'T&auml;isnimi';
+$TEXT['ACCOUNT_SIGNUP'] = 'Registreerimine';
+$TEXT['LINK'] = 'Link';
+$TEXT['ANCHOR'] = 'Anchor';
+$TEXT['TARGET'] = 'Sihtm&auml;rk';
+$TEXT['NEW_WINDOW'] = 'Uus Aken';
+$TEXT['SAME_WINDOW'] = 'Sama Aken';
+$TEXT['TOP_FRAME'] = 'Top Frame';
+$TEXT['PAGE_LEVEL_LIMIT'] = 'Lehek&uuml;lje Taseme Limiit';
+$TEXT['SUCCESS'] = 'Edu';
+$TEXT['ERROR'] = 'Viga';
+$TEXT['ARE_YOU_SURE'] = 'Oled sa kindel?';
+$TEXT['YES'] = 'Jah';
+$TEXT['NO'] = 'Ei';
+$TEXT['SYSTEM_DEFAULT'] = 'S&uuml;steemi Vaikimisi Valik';
+$TEXT['PAGE_TITLE'] = 'Lehek&uuml;lje Pealkiri';
+$TEXT['MENU_TITLE'] = 'Men&uuml;&uuml; Pealkiri';
+$TEXT['ACTIONS'] = 'Actions';
+$TEXT['UNKNOWN'] = 'Teadmata';
+$TEXT['BLOCK'] = 'Blokeeri';
+$TEXT['SEARCH'] = 'Otsi';
+$TEXT['SEARCHING'] = 'Otsib';
+$TEXT['POST'] = 'Post';
+$TEXT['COMMENT'] = 'Kommentaar';
+$TEXT['COMMENTS'] = 'Kommentaarid';
+$TEXT['COMMENTING'] = 'Kommenteerimine';
+$TEXT['SHORT'] = 'L&uuml;hike';
+$TEXT['LONG'] = 'Pikk';
+$TEXT['LOOP'] = 'Ts&uuml;kkel';
+$TEXT['FIELD'] = 'V&auml;li';
+$TEXT['REQUIRED'] = 'Required';
+$TEXT['LENGTH'] = 'Pikkus';
+$TEXT['MESSAGE'] = 'Teade';
+$TEXT['SUBJECT'] = 'Pealkiri';
+$TEXT['MATCH'] = 'Sobima';
+$TEXT['ALL_WORDS'] = 'K&otilde;ik S&otilde;nad';
+$TEXT['ANY_WORDS'] = 'Mistages S&otilde;nad';
+$TEXT['EXACT_MATCH'] = 'T&auml;pne Sobivus';
+$TEXT['SHOW'] = 'N&auml;ita';
+$TEXT['HIDE'] = 'Peida';
+$TEXT['START_PUBLISHING'] = 'Alusta Avaldamist';
+$TEXT['FINISH_PUBLISHING'] = 'L&otilde;peta Avaldamine';
+$TEXT['DATE'] = 'Kuup&auml;ev';
+$TEXT['START'] = 'Alusta';
+$TEXT['END'] = 'L&otilde;pp';
+$TEXT['IMAGE'] = 'Pilt';
+$TEXT['ICON'] = 'Ikoon';
+$TEXT['SECTION'] = 'Sektsioon';
+$TEXT['DATE_FORMAT'] = 'Kuup&auml;eva Formaat';
+$TEXT['TIME_FORMAT'] = 'Aja Formaat';
+$TEXT['RESULTS'] = 'Tulemused';
+$TEXT['RESIZE'] = 'Re-size';
+$TEXT['MANAGE'] = 'Halda';
+$TEXT['CODE'] = 'Kood';
+$TEXT['WIDTH'] = 'Laius';
+$TEXT['HEIGHT'] = 'K&otilde;rgus';
+$TEXT['MORE'] = 'Rohkem';
+$TEXT['READ_MORE'] = 'Loe Rohkem';
+$TEXT['CHANGE_SETTINGS'] = 'Muuda Seadeid';
+$TEXT['CURRENT_PAGE'] = 'Praegune Lehek&uuml;lg';
+$TEXT['CLOSE'] = 'Sulge';
+$TEXT['INTRO_PAGE'] = 'Intro Lehek&uuml;lg';
+$TEXT['INSTALLATION_URL'] = 'Installatsiooni URL';
+$TEXT['INSTALLATION_PATH'] = 'Installatsiooni Rada';
+$TEXT['PAGE_EXTENSION'] = 'Lehek&uuml;lje Ulatus';
+$TEXT['NO_RESULTS'] = 'Tulemusi Ei Ole';
+$TEXT['WEBSITE_TITLE'] = 'Veebisaidi Pealkiri';
+$TEXT['WEBSITE_DESCRIPTION'] = 'Veebisaidi Kirjeldus';
+$TEXT['WEBSITE_KEYWORDS'] = 'Veebisaidi M&auml;rks&otilde;nad';
+$TEXT['WEBSITE_HEADER'] = 'Veebisaidi P&auml;is';
+$TEXT['WEBSITE_FOOTER'] = 'Veebisaidi Jalus';
+$TEXT['RESULTS_HEADER'] = 'Tulemuste P&auml;is';
+$TEXT['RESULTS_LOOP'] = 'Tulemuste Ts&uuml;kkel';
+$TEXT['RESULTS_FOOTER'] = 'Tulemuste Jalus';
+$TEXT['LEVEL'] = 'Tase';
+$TEXT['NOT_FOUND'] = 'Ei Leitud';
+$TEXT['PAGE_SPACER'] = 'Lehek&uuml;lje Vahepuks';
+$TEXT['MATCHING'] = 'Sobiv';
+$TEXT['TEMPLATE_PERMISSIONS'] = 'Kujunduse &Otilde;igused';
+$TEXT['PAGES_DIRECTORY'] = 'Lehek&uuml;lgede Kataloog';
+$TEXT['MEDIA_DIRECTORY'] = 'Meedia Kataloog';
+$TEXT['FILE_MODE'] = 'Faili T&ouml;&ouml;reziim';
+$TEXT['USER'] = 'Kasutaja';
+$TEXT['OTHERS'] = 'Teise';
+$TEXT['READ'] = 'Loe';
+$TEXT['WRITE'] = 'Kirjuta';
+$TEXT['EXECUTE'] = 'T&auml;ida';
+$TEXT['SMART_LOGIN'] = 'Nutikas Sisselogimine';
+$TEXT['REMEMBER_ME'] = 'Pea Mind Meeles';
+$TEXT['FILESYSTEM_PERMISSIONS'] = 'Failis&uuml;steemi &Otilde;igused';
+$TEXT['DIRECTORIES'] = 'Kataloogid';
+$TEXT['DIRECTORY_MODE'] = 'Kataloogi T&ouml;&ouml;reziim';
+$TEXT['LIST_OPTIONS'] = 'Nimekirja Valikud';
+$TEXT['OPTION'] = 'Valikud';
+$TEXT['ALLOW_MULTIPLE_SELECTIONS'] = 'Luba Arvukad Valikud';
+$TEXT['TEXTFIELD'] = 'Tekstilahter';
+$TEXT['TEXTAREA'] = 'Tekstikast';
+$TEXT['SELECT_BOX'] = 'Selekteeri Kast';
+$TEXT['CHECKBOX_GROUP'] = 'M&auml;rkeruut Grupp';
+$TEXT['RADIO_BUTTON_GROUP'] = 'Radio Nupu Grupp';
+$TEXT['SIZE'] = 'Suurus';
+$TEXT['DEFAULT_TEXT'] = 'Vaikimisi Tekst';
+$TEXT['SEPERATOR'] = 'Seperator';
+$TEXT['BACK'] = 'Tagasi';
+$TEXT['UNDER_CONSTRUCTION'] = 'Ehitamisel';
+$TEXT['MULTISELECT'] = 'Multi-valik';
+$TEXT['SHORT_TEXT'] = 'L&uuml;hike Tekst';
+$TEXT['LONG_TEXT'] = 'Pikk Tekst';
+$TEXT['HOMEPAGE_REDIRECTION'] = 'Kodulehe &Uuml;mbersuunamine';
+$TEXT['HEADING'] = 'P&auml;is';
+$TEXT['MULTIPLE_MENUS'] = 'Arvukas Men&uuml;&uuml;\'s';
+$TEXT['REGISTERED'] = 'Registreeritud';
+$TEXT['SECTION_BLOCKS'] = 'Sektsiooni Blokid';
+$TEXT['REGISTERED_VIEWERS'] = 'Registered Viewers';
+$TEXT['ALLOWED_VIEWERS'] = 'Allowed Viewers';
+$TEXT['SUBMISSION_ID'] = 'Kaast&ouml;&ouml; ID';
+$TEXT['SUBMISSIONS'] = 'Kaast&ouml;&ouml;d';
+$TEXT['SUBMITTED'] = 'Saadetud';
+$TEXT['MAX_SUBMISSIONS_PER_HOUR'] = 'Max. Kaast&ouml;id Tunnis';
+$TEXT['SUBMISSIONS_STORED_IN_DATABASE'] = 'Kaast&ouml;&ouml;d Salvestatud Andmebaasi';
+$TEXT['EMAIL_ADDRESS'] = 'Emaili Aadress';
+$TEXT['CUSTOM'] = 'Tava';
+$TEXT['ANONYMOUS'] = 'Anon&uuml;&uuml;mne';
+$TEXT['SERVER_OPERATING_SYSTEM'] = 'Serveri Operatsioonis&uuml;steem';
+$TEXT['WORLD_WRITEABLE_FILE_PERMISSIONS'] = 'World-writeable file permissions';
+$TEXT['LINUX_UNIX_BASED'] = 'Linux/Unix tuginev';
+$TEXT['WINDOWS'] = 'Windows';
+$TEXT['HOME_FOLDER'] = 'Kodu Kaust';
+$TEXT['HOME_FOLDERS'] = 'Kodu Kaustad';
+$TEXT['PAGE_TRASH'] = 'Lehek&uuml;lje Pr&uuml;gi';
+$TEXT['INLINE'] = 'Rivis';
+$TEXT['SEPARATE'] = 'Eralduma';
+$TEXT['DELETED'] = 'Kustutatud';
+$TEXT['VIEW_DELETED_PAGES'] = 'Vaata Kustutatud Lehek&uuml;lgi';
+$TEXT['EMPTY_TRASH'] = 'T&uuml;hi Pr&uuml;gikast';
+$TEXT['TRASH_EMPTIED'] = 'Pr&uuml;gikast T&uuml;hjendatud';
+$TEXT['ADD_SECTION'] = 'Lisa Sektsioon';
+$TEXT['POST_HEADER'] = 'Posti P&auml;is';
+$TEXT['POST_FOOTER'] = 'Posti Jalus';
+$TEXT['POSTS_PER_PAGE'] = 'Postitusi Lehele';
+$TEXT['RESIZE_IMAGE_TO'] = 'Resize Image To';
+$TEXT['UNLIMITED'] = 'Piiramatu';
+$TEXT['OF'] = 'Of';
+$TEXT['OUT_OF'] = 'Out Of';
+$TEXT['NEXT'] = 'J&auml;rgmine';
+$TEXT['PREVIOUS'] = 'Eelmine';
+$TEXT['NEXT_PAGE'] = 'J&auml;rgmine Lehek&uuml;lg';
+$TEXT['PREVIOUS_PAGE'] = 'Eelmine lehek&uuml;lg';
+$TEXT['ON'] = 'Edasi';
+$TEXT['LAST_UPDATED_BY'] = 'Viimati Uuendatud';
+$TEXT['RESULTS_FOR'] = 'Tulemused';
+$TEXT['TIME'] = 'Aeg';
+$TEXT['REDIRECT_AFTER'] = 'Redirect after';
+$TEXT['WYSIWYG_STYLE'] = 'WYSIWYG Stiil';
+$TEXT['WYSIWYG_EDITOR'] = 'WYSIWYG Editor';
+$TEXT['SERVER_EMAIL'] = 'Serveri Email';
+$TEXT['MENU'] = 'Men&uuml;&uuml;';
+$TEXT['MANAGE_GROUPS'] = 'Halda Gruppe';
+$TEXT['MANAGE_USERS'] = 'Halda Kasutajaid';
+$TEXT['PAGE_LANGUAGES'] = 'Lehek&uuml;lje Keeled';
+$TEXT['HIDDEN'] = 'Varjatud';
+$TEXT['MAIN'] = 'Peamine';
+$TEXT['RENAME_FILES_ON_UPLOAD'] = 'Rename Files On Upload';
+$TEXT['APP_NAME'] = 'Application Name';
+$TEXT['SESSION_IDENTIFIER'] = 'Session Identifier';
+$TEXT['SEC_ANCHOR'] = 'Section-Anchor text';
+$TEXT['BACKUP'] = 'Backup';
+$TEXT['RESTORE'] = 'Restore';
+$TEXT['BACKUP_DATABASE'] = 'Backup Database';
+$TEXT['RESTORE_DATABASE'] = 'Restore Database';
+$TEXT['BACKUP_ALL_TABLES'] = 'Backup all tables in database';
+$TEXT['BACKUP_WB_SPECIFIC'] = 'Backup only WB-specific tables';
+$TEXT['BACKUP_MEDIA'] = 'Backup Media';
+$TEXT['RESTORE_MEDIA'] = 'Restore Media';
+$TEXT['ADMINISTRATION_TOOL'] = 'Administration tool';
+$TEXT['CAPTCHA_VERIFICATION'] = 'Captcha Verification';
+$TEXT['VERIFICATION'] = 'Verification';
+$TEXT['DEFAULT_CHARSET'] = 'Default Charset';
+$TEXT['CHARSET'] = 'Charset';
+$TEXT['MODULE_ORDER'] = 'Module-order for searching';
+$TEXT['MAX_EXCERPT'] = 'Max lines of excerpt';
+$TEXT['TIME_LIMIT'] = 'Max time to gather excerpts per module';
+$TEXT['PUBL_START_DATE'] = 'Start date';
+$TEXT['PUBL_END_DATE'] = 'End date';
+$TEXT['CALENDAR'] = 'Calender';
+$TEXT['DELETE_DATE'] = 'Delete date';
+$TEXT['WBMAILER_DEFAULT_SETTINGS_NOTICE'] = 'Please specify a default "FROM" address and "SENDER" name below. It is recommended to use a FROM address like: <strong>admin@yourdomain.com</strong>. Some mail provider (e.g. <em>mail.com</em>) may reject mails with a FROM: address like <em>name@mail.com</em> sent via a foreign relay to avoid spam.<br /><br />The default values are only used if no other values are specified by WebsiteBaker. If your server supports <acronym title="Simple mail transfer protocol">SMTP</acronym>, you may want use this option for outgoing mails.';
+$TEXT['WBMAILER_DEFAULT_SENDER_MAIL'] = 'Default From Mail';
+$TEXT['WBMAILER_DEFAULT_SENDER_NAME'] = 'Default Sender Name';
+$TEXT['WBMAILER_NOTICE'] = '<strong>SMTP Mailer Settings:</strong><br />The settings below are only required if you want to send mails via <acronym title="Simple mail transfer protocol">SMTP</acronym>. If you do not know your SMTP host or you are not sure about the required settings, simply stay with the default mail routine: PHP MAIL.';
+$TEXT['WBMAILER_FUNCTION'] = 'Mail Routine';
+$TEXT['WBMAILER_SMTP_HOST'] = 'SMTP Host';
+$TEXT['WBMAILER_PHP'] = 'PHP MAIL';
+$TEXT['WBMAILER_SMTP'] = 'SMTP';
+$TEXT['WBMAILER_SMTP_AUTH'] = 'SMTP Authentification';
+$TEXT['WBMAILER_SMTP_AUTH_NOTICE'] = 'only activate if your SMTP host requires authentification';
+$TEXT['WBMAILER_SMTP_USERNAME'] = 'SMTP Username';
+$TEXT['WBMAILER_SMTP_PASSWORD'] = 'SMTP Password';
+$TEXT['PLEASE_LOGIN'] = 'Please login';
+$TEXT['CAP_EDIT_CSS'] = 'Edit CSS';
+$TEXT['HEADING_CSS_FILE'] = 'Actual module file: ';
+$TEXT['TXT_EDIT_CSS_FILE'] = 'Edit the CSS definitions in the textarea below.';
+$TEXT['CODE_SNIPPET'] = "Code-snippet";
+$TEXT['REQUIREMENT'] = "Requirement";
+$TEXT['INSTALLED'] = "installed";
+$TEXT['NOT_INSTALLED'] = "not installed";
+$TEXT['ADDON'] = "Add-On";
+$TEXT['EXTENSION'] = "Extension";
+$TEXT['UNZIP_FILE'] = "Upload and unpack a zip archive";
+$TEXT['DELETE_ZIP'] = "Delete zip archive after unpacking";
+
+// Success/error messages
+$MESSAGE['FRONTEND']['SORRY_NO_VIEWING_PERMISSIONS'] = 'Vabandame, sul ei ole &otilde;igusi selle lehe vaatamiseks';
+$MESSAGE['FRONTEND']['SORRY_NO_ACTIVE_SECTIONS'] = 'Sorry, no active content to display';
+
+$MESSAGE['ADMIN']['INSUFFICIENT_PRIVELLIGES'] = 'Insufficient privelliges to be here';
+
+$MESSAGE['LOGIN']['BOTH_BLANK'] = 'Palun sisesta oma kasutajanimi ja parool allapoole';
+$MESSAGE['LOGIN']['USERNAME_BLANK'] = 'Palun sisesta kasutajanimi';
+$MESSAGE['LOGIN']['PASSWORD_BLANK'] = 'Palun sisesta parool';
+$MESSAGE['LOGIN']['USERNAME_TOO_SHORT'] = 'Sisestatud kasutajanimi on liiga l&uuml;hike';
+$MESSAGE['LOGIN']['PASSWORD_TOO_SHORT'] = 'Sisestatud parool on liiga l&uuml;hike';
+$MESSAGE['LOGIN']['USERNAME_TOO_LONG'] = 'Sisestatud kasutajanimi on liiga pikk';
+$MESSAGE['LOGIN']['PASSWORD_TOO_LONG'] = 'Sisestatud parool on liiga pikk';
+$MESSAGE['LOGIN']['AUTHENTICATION_FAILED'] = 'Kasutajanimi v&otilde;i parool on vigane';
+
+$MESSAGE['SIGNUP']['NO_EMAIL'] = 'Sa pead sisestama emaili aadressi';
+$MESSAGE['SIGNUP2']['SUBJECT_LOGIN_INFO'] = 'Your login details...';
+$MESSAGE['SIGNUP2']['BODY_LOGIN_INFO'] = <<< EOT
+Hello {LOGIN_DISPLAY_NAME},
+
+Your '{LOGIN_WEBSITE_TITLE}' login details are:
+Username: {LOGIN_NAME}
+Password: {LOGIN_PASSWORD}
+
+Your password has been set to the one above.
+This means that your old password will no longer work.
+
+If you have received this message in error, please delete it immediately.
+EOT;
+
+$MESSAGE['FORGOT_PASS']['NO_DATA'] = 'Palun sisesta oma emaili aadress allapoole';
+$MESSAGE['FORGOT_PASS']['EMAIL_NOT_FOUND'] = 'Sisestatud emaili eileitud andmebaasist';
+$MESSAGE['FORGOT_PASS']['CANNOT_EMAIL'] = 'V&otilde;imetu emailima parooli, palun kontakteeru s&uuml;steemi administraatoriga';
+$MESSAGE['FORGOT_PASS']['PASSWORD_RESET'] = 'Sinukasutajanimi ja parool on saadetud su emaili aadressile';
+$MESSAGE['FORGOT_PASS']['ALREADY_RESET'] = 'Parooliei saa taastada rohkem kui &uuml;ks kord tunnis, vabandame';
+
+$MESSAGE['START']['WELCOME_MESSAGE'] = 'Teretulemast WebsiteBaker Administratsiooni';
+$MESSAGE['START']['INSTALL_DIR_EXISTS'] = 'Hoiatus, Installatsiooni kataloog eksisteerib!';
+$MESSAGE['START']['CURRENT_USER'] = 'Sa oled praegu sisse logitud:';
+
+$MESSAGE['SETTINGS']['UNABLE_OPEN_CONFIG'] = 'V&otilde;imetu avama konfiguratsioonifaili';
+$MESSAGE['SETTINGS']['UNABLE_WRITE_CONFIG'] = 'Ei saa kirjutada konfiguratsioonifaili';
+$MESSAGE['SETTINGS']['SAVED'] = 'Seaded edukalt salvestatud';
+$MESSAGE['SETTINGS']['MODE_SWITCH_WARNING'] = 'M&auml;rge: Selle nupu vajutamine algseadistab k&otilde;ik salvestamata failid';
+$MESSAGE['SETTINGS']['WORLD_WRITEABLE_WARNING'] = 'M&auml;rge: see on vajalik ainult &uuml;mbruse testimiseks';
+
+$MESSAGE['USERS']['ADDED'] = 'Kasutaja edukalt lisatud';
+$MESSAGE['USERS']['SAVED'] = 'Kasutaja edukalt salvestatud';
+$MESSAGE['USERS']['DELETED'] = 'Kasutaja edukalt kustutatud';
+$MESSAGE['USERS']['NO_GROUP'] = 'Grupp selekteerimata';
+$MESSAGE['USERS']['USERNAME_TOO_SHORT'] = 'Sisestatud kasutajanimi on liiga l&uuml;hike';
+$MESSAGE['USERS']['PASSWORD_TOO_SHORT'] = 'Sisestatud parool on liiga l&uuml;hike';
+$MESSAGE['USERS']['PASSWORD_MISMATCH'] = 'Sisestatud paroolid ei kattu';
+$MESSAGE['USERS']['INVALID_EMAIL'] = 'Sisestatud emaili aadress on vigane';
+$MESSAGE['USERS']['EMAIL_TAKEN'] = 'Sisestatud e-mail on juba kasutusel';
+$MESSAGE['USERS']['USERNAME_TAKEN'] = 'Sisestatud kasutajanimi on jubakasutusel';
+$MESSAGE['USERS']['CHANGING_PASSWORD'] = 'M&auml;rge: Sa pead ainult sisestama p&otilde;him&otilde;tted alumistesse lahtritesse kui sa tahad muuta selle kasutaja parooli';
+$MESSAGE['USERS']['CONFIRM_DELETE'] = 'Kas sa oled kindel et tahad seda kasutajat kustutada?';
+
+$MESSAGE['GROUPS']['ADDED'] = 'Grupp edukalt lisatud';
+$MESSAGE['GROUPS']['SAVED'] = 'Grupp edukalt salvestatud';
+$MESSAGE['GROUPS']['DELETED'] = 'Grupp edukalt kustutatud';
+$MESSAGE['GROUPS']['GROUP_NAME_BLANK'] = 'Grupi nimi on t&uuml;hi';
+$MESSAGE['GROUPS']['CONFIRM_DELETE'] = 'Oled sa kindel et tahad seda gruppi kustutada (ja k&otilde;ik kasutajad mis kuuluvad selle alla)?';
+$MESSAGE['GROUPS']['NO_GROUPS_FOUND'] = 'Gruppe ei leitud';
+$MESSAGE['GROUPS']['GROUP_NAME_EXISTS'] = 'Group name already exists';
+
+$MESSAGE['PREFERENCES']['DETAILS_SAVED'] = 'Detailid edukalt salvestatud';
+$MESSAGE['PREFERENCES']['EMAIL_UPDATED'] = 'Email edukalt uuendatud';
+$MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT'] = 'Pragune parool mida sa sisestasid on vigane';
+$MESSAGE['PREFERENCES']['PASSWORD_CHANGED'] = 'Parool edukalt muudetud';
+
+$MESSAGE['TEMPLATES']['CHANGE_TEMPLATE_NOTICE'] = 'M&auml;rge: kujunduse muutmiseks sa pead minema Seadete sektsiooni';
+
+$MESSAGE['MEDIA']['DIR_DOT_DOT_SLASH'] = 'Ei saa sisaldada ../ kausta nimes';
+$MESSAGE['MEDIA']['DIR_DOES_NOT_EXIST'] = 'Directory does not exist';
+$MESSAGE['MEDIA']['TARGET_DOT_DOT_SLASH'] = 'Cannot have ../ in the folder target';
+$MESSAGE['MEDIA']['NAME_DOT_DOT_SLASH'] = 'Ei saa sisaldada ../ nimes';
+$MESSAGE['MEDIA']['NAME_INDEX_PHP'] = 'Ei saa kasutada index.php nimena';
+$MESSAGE['MEDIA']['NONE_FOUND'] = 'Meediat ei leitud praeguses kataloogis';
+$MESSAGE['MEDIA']['FILE_NOT_FOUND'] = 'Faili ei leitud';
+$MESSAGE['MEDIA']['DELETED_FILE'] = 'Fail edukalt kustutatud';
+$MESSAGE['MEDIA']['DELETED_DIR'] = 'Kaust edukalt kustutatud';
+$MESSAGE['MEDIA']['CONFIRM_DELETE'] = 'Oled sa kindel et tahad kustutada j&auml;rgnevat faili v&otilde;i kausta?';
+$MESSAGE['MEDIA']['CANNOT_DELETE_FILE'] = 'Ei saa selekteeritud faili kustutada';
+$MESSAGE['MEDIA']['CANNOT_DELETE_DIR'] = 'Ei saa selekteeritud kausta kustutada';
+$MESSAGE['MEDIA']['BLANK_NAME'] = 'Sa ei sisestanud uut nime';
+$MESSAGE['MEDIA']['BLANK_EXTENSION'] = 'Sa ei sisestanud faili ulatust';
+$MESSAGE['MEDIA']['RENAMED'] = 'Edukalt &uuml;mber nimetatud';
+$MESSAGE['MEDIA']['CANNOT_RENAME'] = '&Uuml;mbernimetamine eba&otilde;nnestus';
+$MESSAGE['MEDIA']['FILE_EXISTS'] = 'Sisestatud faili nimi eksisteerib';
+$MESSAGE['MEDIA']['DIR_EXISTS'] = 'Sisestatud kausta nimi eksisteerib';
+$MESSAGE['MEDIA']['DIR_MADE'] = 'Kaust edukalt loodud';
+$MESSAGE['MEDIA']['DIR_NOT_MADE'] = 'V&otilde;imetu looma kausta';
+$MESSAGE['MEDIA']['SINGLE_UPLOADED'] = ' fail edukalt &uuml;les laetud';
+$MESSAGE['MEDIA']['UPLOADED'] = ' failid edukalt &uuml;les laetud';
+
+$MESSAGE['PAGES']['ADDED'] = 'Lehek&uuml;lg edukalt lisatud';
+$MESSAGE['PAGES']['ADDED_HEADING'] = 'Lehek&uuml;lje p&auml;is edukalt lisatud';
+$MESSAGE['PAGES']['PAGE_EXISTS'] = 'Lehek&uuml;lg sama v&otilde;i sarnase pealkirjaga eksisteerib';
+$MESSAGE['PAGES']['CANNOT_CREATE_ACCESS_FILE'] = 'Viga faili tekitamisel kausta /pages kataloog';
+$MESSAGE['PAGES']['CANNOT_DELETE_ACCESS_FILE'] = 'Viga faili kustutamisel kaustast /pages kataloog';
+$MESSAGE['PAGES']['NOT_FOUND'] = 'Lehek&uuml;lge ei leitud';
+$MESSAGE['PAGES']['SAVED'] = 'Lehek&uuml;lg edukalt salvestatud';
+$MESSAGE['PAGES']['SAVED_SETTINGS'] = 'Lehek&uuml;lje seaded edukalt salvestatud';
+$MESSAGE['PAGES']['NOT_SAVED'] = 'Viga lehek&uuml;lje salvestamisel';
+$MESSAGE['PAGES']['DELETE_CONFIRM'] = 'Oled sa kindel et tahad seda lehek&uuml;lge kustutada (ja k&otilde;iki selle alamlehti ka)';
+$MESSAGE['PAGES']['DELETED'] = 'Lehek&uuml;lg edukalt kustutatud';
+$MESSAGE['PAGES']['RESTORED'] = 'Lehek&uuml;lg edukalt taastatud';
+$MESSAGE['PAGES']['BLANK_PAGE_TITLE'] = 'Sisesta lehek&uuml;lje pealkiri';
+$MESSAGE['PAGES']['BLANK_MENU_TITLE'] = 'Sisesta men&uuml;&uuml; pealkiri';
+$MESSAGE['PAGES']['REORDERED'] = 'Lehek&uuml;lje taaskorrastamine &otilde;nnestus';
+$MESSAGE['PAGES']['CANNOT_REORDER'] = 'Viga lehek&uuml;lje taaskorrastamisel';
+$MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS'] = 'Sul pole selle lehek&uuml;lje muutmiseks &otilde;igusi';
+$MESSAGE['PAGES']['INTRO_NOT_WRITABLE'] = 'Ei saa kirjutada faili /pages/intro.php';
+$MESSAGE['PAGES']['INTRO_SAVED'] = 'Intro lehek&uuml;lg edukalt salvestatud';
+$MESSAGE['PAGES']['LAST_MODIFIED'] = 'Vimane muudatus';
+$MESSAGE['PAGES']['INTRO_LINK'] = 'Vajuta siia et muta intro lehek&uuml;lge';
+$MESSAGE['PAGES']['SECTIONS_PROPERTIES_SAVED'] = 'Sektsiooni atribuudud edukalt salvestatud';
+$MESSAGE['PAGES']['RETURN_TO_PAGES'] = 'Naase lehek&uuml;lgedele';
+
+$MESSAGE['GENERIC']['FILL_IN_ALL'] = 'Palun mine tagasi ja t&auml;ida k&otilde;ik v&auml;ljad';
+$MESSAGE['GENERIC']['FILE_TYPE'] = 'Pea meeles et &uuml;les laetav fail peab olema j&auml;rgmistes formaatides:';
+$MESSAGE['GENERIC']['FILE_TYPES'] = 'Pea meeles et &uuml;les laetavad failid peavad olema j&auml;rgmistes formaatides:';
+$MESSAGE['GENERIC']['CANNOT_UPLOAD'] = 'Ei saa faili &uuml;les laadida';
+$MESSAGE['GENERIC']['ALREADY_INSTALLED'] = 'Juba paigaldatud';
+$MESSAGE['GENERIC']['NOT_INSTALLED'] = 'Ei ole paigaldatud';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL'] = 'Cannot uninstall';
+$MESSAGE['GENERIC']['CANNOT_UNZIP'] = 'Ei saa faili lahti pakkida';
+$MESSAGE['GENERIC']['INSTALLED'] = 'Edukalt paigaldatud';
+$MESSAGE['GENERIC']['UPGRADED'] = 'Upgraded successfully';
+$MESSAGE['GENERIC']['UNINSTALLED'] = 'Edukalt eemaldatud';
+$MESSAGE['GENERIC']['BAD_PERMISSIONS'] = 'V&otilde;imetu kirjutama siht kataloogi';
+$MESSAGE['GENERIC']['INVALID'] = '&Uuml;les laetud fail on vigane';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE'] = 'Ei saa eemaldada: selekteeritud fail on kasutuses';
+
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL'] = "<br /><br />{{type}} <b>{{type_name}}</b> could not be uninstalled, because it is still in use on {{pages}}.<br /><br />";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL_PAGES'] = "this page;these pages";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IS_DEFAULT_TEMPLATE'] = "Can't uninstall the template <b>{{name}}</b>, because it is the default template!";
+
+$MESSAGE['GENERIC']['WEBSITE_UNDER_CONSTRUCTION'] = 'Website Under Construction';
+$MESSAGE['GENERIC']['PLEASE_CHECK_BACK_SOON'] = 'K&uuml;lasta hiljem uuesti...';
+$MESSAGE['GENERIC']['PLEASE_BE_PATIENT'] = 'Please be patient, this might take a while.';
+$MESSAGE['GENERIC']['ERROR_OPENING_FILE'] = 'Error opening file.';
+$MESSAGE['GENERIC']['INVALID_ADDON_FILE'] = 'Invalid WebsiteBaker installation file. Please check the *.zip format.';
+$MESSAGE['GENERIC']['INVALID_LANGUAGE_FILE'] = 'Invalid WebsiteBaker language file. Please check the text file.';
+
+$MESSAGE['MOD_FORM']['REQUIRED_FIELDS'] = 'Sa pead detailid sisestama j&auml;rgnevatesse lahtritesse';
+$MESSAGE['MOD_FORM']['EXCESS_SUBMISSIONS'] = 'Vabandame, see vorm on juba liiga palju kordi selle tunni jooksul saadetud. Palun proovi j&auml;rgmine tund uuesti.';
+$MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA'] = 'The verification number (also known as Captcha) that you entered is incorrect. If you are having problems reading the Captcha, please email: '.SERVER_EMAIL.'';
+
+$MESSAGE['ADDON']['RELOAD'] = 'Update database with information from Add-on files (e.g. after FTP upload).';
+$MESSAGE['ADDON']['ERROR_RELOAD'] = 'Error while updating the Add-On information.';
+$MESSAGE['ADDON']['MODULES_RELOADED'] = 'Modules reloaded successfully';
+$MESSAGE['ADDON']['TEMPLATES_RELOADED'] = 'Templates reloaded successfully';
+$MESSAGE['ADDON']['LANGUAGES_RELOADED'] = 'Languages reloaded successfully';
+$MESSAGE['ADDON']['PRECHECK_FAILED'] = 'Add-on installation failed. Your system does not fulfill the requirements of this Add-on. To make this Add-on working on your system, please fix the issues summarized below.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION'] = 'When modules are uploaded via FTP (not recommended), the module installation files <tt>install.php</tt>, <tt>upgrade.php</tt> or <tt>uninstall.php</tt> will not be executed automatically. Those modules may not work correct or do not uninstall properly.<br /><br />You can execute the module files manually for modules uploaded via FTP below.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION_WARNING'] = 'Warning: Existing module database entries will get lost. Only use this option if you experience problems with modules uploaded via FTP.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/languages/ET.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/languages/HR.php
===================================================================
--- tags/2.8.2/wb/languages/HR.php	(nonexistent)
+++ tags/2.8.2/wb/languages/HR.php	(revision 1481)
@@ -0,0 +1,595 @@
+<?php
+/**
+ *
+ * @category        framework
+ * @package         language
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// use languageedit-module to modify this file
+
+// Define that this file is loaded
+if(!defined('LANGUAGE_LOADED')) {
+define('LANGUAGE_LOADED', true);
+}
+
+// Set the language information
+$language_code = 'HR';
+$language_name = 'Hrvatski';
+$language_version = '2.8';
+$language_platform = '2.8.x';
+$language_author = 'Vedran Presecki';
+$language_license = 'GNU General Public License';
+
+// Menu titles
+$MENU['START'] = 'Start';
+$MENU['PAGES'] = 'Stranice';
+$MENU['MEDIA'] = 'Media';
+$MENU['ADDONS'] = 'Dodaci';
+$MENU['MODULES'] = 'Moduli';
+$MENU['TEMPLATES'] = 'Predlo&scaron;ci';
+$MENU['LANGUAGES'] = 'Jezici';
+$MENU['PREFERENCES'] = 'Pode&scaron;avanja';
+$MENU['SETTINGS'] = 'Postavke';
+$MENU['ADMINTOOLS'] = 'Admin-Tools';
+$MENU['ACCESS'] = 'Pristup';
+$MENU['USERS'] = 'Korisnici';
+$MENU['GROUPS'] = 'Grupe';
+$MENU['HELP'] = 'Pomo&aelig;';
+$MENU['VIEW'] = 'Pogled';
+$MENU['LOGOUT'] = 'Odlogiranje';
+$MENU['LOGIN'] = 'Logiranje';
+$MENU['FORGOT'] = 'Dobivanje detalja lozinke';
+
+// Section overviews
+$OVERVIEW['START'] = 'Pregled administracije';
+$OVERVIEW['PAGES'] = 'Uredite va&scaron;e web stranice...';
+$OVERVIEW['MEDIA'] = 'Uredite fileove pohranjene u direktoriju "Media"...';
+$OVERVIEW['MODULES'] = 'Uredite WebsiteBaker module...';
+$OVERVIEW['TEMPLATES'] = 'Promijenite izgled i do&#382;ivljaj va&scaron;eg weba s predlo&scaron;cima...';
+$OVERVIEW['LANGUAGES'] = 'Uredite WebsiteBaker jezike...';
+$OVERVIEW['PREFERENCES'] = 'Izmjenite postavke email adresa, lozinka i sl.... ';
+$OVERVIEW['SETTINGS'] = 'Promjenite postavke za WebsiteBaker...';
+$OVERVIEW['USERS'] = 'Upravljajte korisnicima koji se mogu logirati na WebsiteBaker...';
+$OVERVIEW['GROUPS'] = 'Upravljajte grupama korisnika i njihovim sistemskim dopu&scaron;tenjima.';
+$OVERVIEW['HELP'] = 'Imate pitanje? Prona&eth;ite odgovor...';
+$OVERVIEW['VIEW'] = 'Brzo pogledajte i listajte Va&scaron; web u novom prozoru...';
+$OVERVIEW['ADMINTOOLS'] = 'Access the WebsiteBaker administration tools...';
+
+// Headings
+$HEADING['MODIFY_DELETE_PAGE'] = 'Izmenj/Obri&scaron;i stranicu';
+$HEADING['DELETED_PAGES'] = 'Obrisane stranice';
+$HEADING['ADD_PAGE'] = 'Dodaj stranicu';
+$HEADING['ADD_HEADING'] = 'Dodaj zaglavlje';
+$HEADING['MODIFY_PAGE'] = 'Izmjeni stranicu';
+$HEADING['MODIFY_PAGE_SETTINGS'] = 'Mijenjaj postavke stranice';
+$HEADING['MODIFY_ADVANCED_PAGE_SETTINGS'] = 'Mijenjaj napredne postavke stranice';
+$HEADING['MANAGE_SECTIONS'] = 'Upravljaj dijelovima';
+$HEADING['MODIFY_INTRO_PAGE'] = 'Modificiraj intro stranicu';
+
+$HEADING['BROWSE_MEDIA'] = 'Pogledaj Mediu';
+$HEADING['CREATE_FOLDER'] = 'napravi direktorij';
+$HEADING['UPLOAD_FILES'] = 'Nasnimi fileove';
+
+$HEADING['INSTALL_MODULE'] = 'Instaliraj module';
+$HEADING['UNINSTALL_MODULE'] = 'Deinstaliraj module';
+$HEADING['MODULE_DETAILS'] = 'Detalji modula';
+
+$HEADING['INSTALL_TEMPLATE'] = 'Instaliraj predlo&#382;ak';
+$HEADING['UNINSTALL_TEMPLATE'] = 'Deinstaliraj predlo&#382;ak';
+$HEADING['TEMPLATE_DETAILS'] = 'Detalji predlo&scaron;ka';
+
+$HEADING['INSTALL_LANGUAGE'] = 'Instaliraj jezik';
+$HEADING['UNINSTALL_LANGUAGE'] = 'Deinstaliraj jezik';
+$HEADING['LANGUAGE_DETAILS'] = 'Detalji jezika';
+
+$HEADING['MY_SETTINGS'] = 'Moje postavke';
+$HEADING['MY_EMAIL'] = 'Moj Email';
+$HEADING['MY_PASSWORD'] = 'Moja Lozinka';
+
+$HEADING['GENERAL_SETTINGS'] = 'Glavne postavke';
+$HEADING['DEFAULT_SETTINGS'] = 'Prija&scaron;nje postavke';
+$HEADING['SEARCH_SETTINGS'] = 'Tra&#382;enje postavki';
+$HEADING['FILESYSTEM_SETTINGS'] = 'Postavke sistema direktorija';
+$HEADING['SERVER_SETTINGS'] = 'Postavke servera';
+$HEADING['WBMAILER_SETTINGS'] = 'Mailer Settings';
+$HEADING['ADMINISTRATION_TOOLS'] = 'Administracijski alati';
+
+$HEADING['MODIFY_DELETE_USER'] = 'Izmjeni/Obri&scaron;i korisnika';
+$HEADING['ADD_USER'] = 'Dodaj korisnika';
+$HEADING['MODIFY_USER'] = 'Izmjeni korisnika';
+
+$HEADING['MODIFY_DELETE_GROUP'] = 'Izmjeni/Obri&scaron;i Grupu';
+$HEADING['ADD_GROUP'] = 'Dodaj grupu';
+$HEADING['MODIFY_GROUP'] = 'Izmjeni grupu';
+
+$HEADING['ADDON_PRECHECK_FAILED'] = 'Add-On requirements not met';
+$HEADING['INVOKE_MODULE_FILES'] = 'Execute module files manually';
+
+// Other text
+$TEXT['OPEN'] = 'Open';
+$TEXT['ADD'] = 'Dodaj';
+$TEXT['MODIFY'] = 'Izmjeni';
+$TEXT['SETTINGS'] = 'Postavke';
+$TEXT['DELETE'] = 'Obri&scaron;i';
+$TEXT['SAVE'] = 'Snimi';
+$TEXT['RESET'] = 'Resetiraj';
+$TEXT['LOGIN'] = 'Logiranje';
+$TEXT['RELOAD'] = 'Ponovo u&egrave;itavanje';
+$TEXT['CANCEL'] = 'Otka&#382;i';
+$TEXT['NAME'] = 'Ime';
+$TEXT['PLEASE_SELECT'] = 'Odaberite';
+$TEXT['TITLE'] = 'Naslov';
+$TEXT['PARENT'] = 'Vezan';
+$TEXT['TYPE'] = 'Tip';
+$TEXT['VISIBILITY'] = 'Vidljivost';
+$TEXT['PRIVATE'] = 'Privatni';
+$TEXT['PUBLIC'] = 'Javni';
+$TEXT['NONE'] = 'Nijedan';
+$TEXT['NONE_FOUND'] = 'Nijedan na&eth;en';
+$TEXT['CURRENT'] = 'Postoje&aelig;i';
+$TEXT['CHANGE'] = 'Izmjeni';
+$TEXT['WINDOW'] = 'Prozor';
+$TEXT['DESCRIPTION'] = 'Opis';
+$TEXT['KEYWORDS'] = 'Klju&egrave;ne rije&egrave;i';
+$TEXT['ADMINISTRATORS'] = 'Administratori';
+$TEXT['PRIVATE_VIEWERS'] = 'Privatni pregledatelji';
+$TEXT['EXPAND'] = 'Pro&scaron;iri';
+$TEXT['COLLAPSE'] = 'Kolaps';
+$TEXT['MOVE_UP'] = 'Podigni gore';
+$TEXT['MOVE_DOWN'] = 'Spusti dolje';
+$TEXT['RENAME'] = 'Preimenuj';
+$TEXT['MODIFY_SETTINGS'] = 'Izmjeni postavke';
+$TEXT['MODIFY_CONTENT'] = 'Izmjeni sadr&#382;aj';
+$TEXT['VIEW'] = 'Pogled';
+$TEXT['UP'] = 'Gore';
+$TEXT['FORGOTTEN_DETAILS'] = 'Zaboravili ste va&scaron;e podatke?';
+$TEXT['NEED_TO_LOGIN'] = 'Molimo logirajte se?';
+$TEXT['SEND_DETAILS'] = '&Scaron;aljite podatke';
+$TEXT['USERNAME'] = 'Korisni&egrave;ko ime';
+$TEXT['PASSWORD'] = 'Lozinka';
+$TEXT['HOME'] = 'Po&egrave;etak';
+$TEXT['TARGET_FOLDER'] = 'Ciljani direktorij';
+$TEXT['OVERWRITE_EXISTING'] = 'Napi&scaron;ite preko postoje&aelig;eg';
+$TEXT['FILE'] = 'File';
+$TEXT['FILES'] = 'Fileovi';
+$TEXT['FOLDER'] = 'Direktorij';
+$TEXT['FOLDERS'] = 'Direktoriji';
+$TEXT['CREATE_FOLDER'] = 'napravi direktorij';
+$TEXT['UPLOAD_FILES'] = 'Nasnimi fajlove)';
+$TEXT['CURRENT_FOLDER'] = 'Postoje&aelig;i direktorij';
+$TEXT['TO'] = 'Za';
+$TEXT['FROM'] = 'Od';
+$TEXT['INSTALL'] = 'Instaliraj';
+$TEXT['UNINSTALL'] = 'Deinstaliraj';
+$TEXT['VIEW_DETAILS'] = 'Vidi detalje';
+$TEXT['DISPLAY_NAME'] = 'Prika&#382;i ime';
+$TEXT['AUTHOR'] = 'Autor';
+$TEXT['VERSION'] = 'VVerzija';
+$TEXT['DESIGNED_FOR'] = 'Dizajniran za';
+$TEXT['DESCRIPTION'] = 'Opis';
+$TEXT['EMAIL'] = 'Email';
+$TEXT['LANGUAGE'] = 'Jezik';
+$TEXT['TIMEZONE'] = 'Vremenska zona';
+$TEXT['CURRENT_PASSWORD'] = 'Potoje&aelig;a lozinka';
+$TEXT['NEW_PASSWORD'] = 'Nova lozinka';
+$TEXT['RETYPE_NEW_PASSWORD'] = 'Ponovo otipkaj novu lozinku';
+$TEXT['ACTIVE'] = 'Aktivan';
+$TEXT['DISABLED'] = 'Onesposobljen';
+$TEXT['ENABLED'] = 'Omogu&aelig;en';
+$TEXT['RETYPE_PASSWORD'] = 'Ponovo otipkaj novu lozinku';
+$TEXT['GROUP'] = 'Grupa';
+$TEXT['SYSTEM_PERMISSIONS'] = 'Sistemske dozvole';
+$TEXT['MODULE_PERMISSIONS'] = 'Modulske dozvole';
+$TEXT['SHOW_ADVANCED'] = 'Prika&#382;i napredne opcije';
+$TEXT['HIDE_ADVANCED'] = 'Sakrij napredne opcije';
+$TEXT['BASIC'] = 'Osnovno';
+$TEXT['ADVANCED'] = 'Napredno';
+$TEXT['WEBSITE'] = 'Web stranica';
+$TEXT['DEFAULT'] = 'Postoje&aelig;i';
+$TEXT['KEYWORDS'] = 'Klju&egrave;ne rije&egrave;i';
+$TEXT['TEXT'] = 'Tekst';
+$TEXT['HEADER'] = 'Zaglavlje';
+$TEXT['FOOTER'] = 'Podno&#382;je';
+$TEXT['TEMPLATE'] = 'Predlo&#382;ak';
+$TEXT['THEME'] = 'Backend-Theme';
+$TEXT['INSTALLATION'] = 'Instalacija';
+$TEXT['DATABASE'] = 'Baza podataka';
+$TEXT['HOST'] = 'Host';
+$TEXT['INTRO'] = 'Intro';
+$TEXT['PAGE'] = 'Strenica';
+$TEXT['SIGNUP'] = 'Upi&scaron;i se';
+$TEXT['PHP_ERROR_LEVEL'] = 'PHP Gre&scaron;ka Izvje&scaron;taj nivoa';
+$TEXT['ADMIN'] = 'Admin';
+$TEXT['PATH'] = 'Dio';
+$TEXT['URL'] = 'URL';
+$TEXT['FRONTEND'] = 'Po&egrave;etak-kraj';
+$TEXT['EXTENSION'] = 'Ekstenzija';
+$TEXT['TABLE_PREFIX'] = 'Prefix tablice';
+$TEXT['CHANGES'] = 'Izmjene';
+$TEXT['ADMINISTRATION'] = 'Administracija';
+$TEXT['FORGOT_DETAILS'] = 'Zaboravili ste datelje?';
+$TEXT['LOGGED_IN'] = 'Logiran';
+$TEXT['WELCOME_BACK'] = 'Dobro do&scaron;li nazad';
+$TEXT['FULL_NAME'] = 'Puno ime';
+$TEXT['ACCOUNT_SIGNUP'] = 'Logiranje na Account';
+$TEXT['LINK'] = 'Link';
+$TEXT['ANCHOR'] = 'Anchor';
+$TEXT['TARGET'] = 'Cilj';
+$TEXT['NEW_WINDOW'] = 'Novi prozor';
+$TEXT['SAME_WINDOW'] = 'Isti prozor';
+$TEXT['TOP_FRAME'] = 'Gornji okvir';
+$TEXT['PAGE_LEVEL_LIMIT'] = 'Nivo limita stranice';
+$TEXT['SUCCESS'] = 'Uspjeh';
+$TEXT['ERROR'] = 'Gre&scaron;ka';
+$TEXT['ARE_YOU_SURE'] = 'Jeste li sigurni?';
+$TEXT['YES'] = 'Da';
+$TEXT['NO'] = 'Ne';
+$TEXT['SYSTEM_DEFAULT'] = 'Postoje&aelig;i sistem';
+$TEXT['PAGE_TITLE'] = 'Naslov stranice';
+$TEXT['MENU_TITLE'] = 'Naslov menia';
+$TEXT['ACTIONS'] = 'Akcije';
+$TEXT['UNKNOWN'] = 'Nepoznat';
+$TEXT['BLOCK'] = 'Blokiraj';
+$TEXT['SEARCH'] = 'Tra&#382;i';
+$TEXT['SEARCHING'] = 'Pretra&#382;ivanje';
+$TEXT['POST'] = 'Post';
+$TEXT['COMMENT'] = 'Komentar';
+$TEXT['COMMENTS'] = 'Komentari';
+$TEXT['COMMENTING'] = 'Komentiranje';
+$TEXT['SHORT'] = 'Kratko';
+$TEXT['LONG'] = 'Dugo';
+$TEXT['LOOP'] = 'Petlja';
+$TEXT['FIELD'] = 'Polje';
+$TEXT['REQUIRED'] = 'Tra&#382;eno';
+$TEXT['LENGTH'] = 'Du&#382;ina';
+$TEXT['MESSAGE'] = 'Poruka';
+$TEXT['SUBJECT'] = 'Subjekt';
+$TEXT['MATCH'] = 'Usporedi';
+$TEXT['ALL_WORDS'] = 'Sve rije&egrave;i';
+$TEXT['ANY_WORDS'] = 'Neke rije&egrave;i';
+$TEXT['EXACT_MATCH'] = 'To&egrave;no odgovara';
+$TEXT['SHOW'] = 'Prika&#382;i';
+$TEXT['HIDE'] = 'Sakrij';
+$TEXT['START_PUBLISHING'] = 'Zapo&egrave;ni objavljivanje';
+$TEXT['FINISH_PUBLISHING'] = 'Zavr&scaron;i objavljivanje';
+$TEXT['DATE'] = 'Datum';
+$TEXT['START'] = 'Start';
+$TEXT['END'] = 'Kraj';
+$TEXT['IMAGE'] = 'Slika';
+$TEXT['ICON'] = 'Ikona';
+$TEXT['SECTION'] = 'Dio';
+$TEXT['DATE_FORMAT'] = 'Format datuma';
+$TEXT['TIME_FORMAT'] = 'Format vrmena';
+$TEXT['RESULTS'] = 'Rezultati';
+$TEXT['RESIZE'] = 'Izmjeni veli&egrave;inu';
+$TEXT['MANAGE'] = 'Upravljaj';
+$TEXT['CODE'] = 'Kod';
+$TEXT['WIDTH'] = '&Scaron;irina';
+$TEXT['HEIGHT'] = 'Visina';
+$TEXT['MORE'] = 'Vi&scaron;e';
+$TEXT['READ_MORE'] = '&Egrave;itaj vi&scaron;e';
+$TEXT['CHANGE_SETTINGS'] = 'Promjeni postavke';
+$TEXT['CURRENT_PAGE'] = 'Trenutna stranica';
+$TEXT['CLOSE'] = 'Zatvori';
+$TEXT['INTRO_PAGE'] = 'Intro Stranica';
+$TEXT['INSTALLATION_URL'] = 'Instalacija URL';
+$TEXT['INSTALLATION_PATH'] = 'Instalacijski dio';
+$TEXT['PAGE_EXTENSION'] = 'EKstenzije stranice';
+$TEXT['NO_RESULTS'] = 'Nema rezultata';
+$TEXT['WEBSITE_TITLE'] = 'Ime web stranice';
+$TEXT['WEBSITE_DESCRIPTION'] = 'Opis web stranice';
+$TEXT['WEBSITE_KEYWORDS'] = 'Klju&egrave;ne rije&egrave;i web stranice';
+$TEXT['WEBSITE_HEADER'] = 'Zaglavlje web stranice';
+$TEXT['WEBSITE_FOOTER'] = 'Podno&#382;je web stranice';
+$TEXT['RESULTS_HEADER'] = 'Rezultati zaglavlja';
+$TEXT['RESULTS_LOOP'] = 'Rezultati petlje';
+$TEXT['RESULTS_FOOTER'] = 'Rezultati podno&#382;ja';
+$TEXT['LEVEL'] = 'Nivo';
+$TEXT['NOT_FOUND'] = 'Neprona&eth;eno';
+$TEXT['PAGE_SPACER'] = 'Razmaknica stranica';
+$TEXT['MATCHING'] = 'Podudaranje';
+$TEXT['TEMPLATE_PERMISSIONS'] = 'Pristup predlo&scaron;cima';
+$TEXT['PAGES_DIRECTORY'] = 'Direktorij stranica';
+$TEXT['MEDIA_DIRECTORY'] = 'Direktorij medije';
+$TEXT['FILE_MODE'] = 'File Mod';
+$TEXT['USER'] = 'Korisnik';
+$TEXT['OTHERS'] = 'Drugi';
+$TEXT['READ'] = '&Egrave;itaj';
+$TEXT['WRITE'] = 'Pi&scaron;i';
+$TEXT['EXECUTE'] = 'Izvr&scaron;i';
+$TEXT['SMART_LOGIN'] = 'Inteligentno logiranje';
+$TEXT['REMEMBER_ME'] = 'Sjeti me';
+$TEXT['FILESYSTEM_PERMISSIONS'] = 'Dopu&scaron;tanja sitema fileova';
+$TEXT['DIRECTORIES'] = 'direktoriji';
+$TEXT['DIRECTORY_MODE'] = 'Mod direktorija';
+$TEXT['LIST_OPTIONS'] = 'Lista opcija';
+$TEXT['OPTION'] = 'Opcija';
+$TEXT['ALLOW_MULTIPLE_SELECTIONS'] = 'Dopusti vi&scaron;estruki odabir';
+$TEXT['TEXTFIELD'] = 'Pole teksta';
+$TEXT['TEXTAREA'] = 'Podru&egrave;je teksta';
+$TEXT['SELECT_BOX'] = 'Ozna&egrave;i kvadrat';
+$TEXT['CHECKBOX_GROUP'] = 'Ozna&egrave;i kvadrat grupe';
+$TEXT['RADIO_BUTTON_GROUP'] = 'Radio gumb grupe';
+$TEXT['SIZE'] = 'Veli&egrave;ina';
+$TEXT['DEFAULT_TEXT'] = 'Postoje&aelig;i tekstt';
+$TEXT['SEPERATOR'] = 'Odvajanje';
+$TEXT['BACK'] = 'Nazad';
+$TEXT['UNDER_CONSTRUCTION'] = 'U izradi';
+$TEXT['MULTISELECT'] = 'Vi&scaron;estruki odabir';
+$TEXT['SHORT_TEXT'] = 'Kratki tekst';
+$TEXT['LONG_TEXT'] = 'Dugi tekst';
+$TEXT['HOMEPAGE_REDIRECTION'] = 'Redirekcija po&egrave;etne stranice';
+$TEXT['HEADING'] = 'Zaglavlje';
+$TEXT['MULTIPLE_MENUS'] = 'Ve&scaron;estruki menii';
+$TEXT['REGISTERED'] = 'Registriran';
+$TEXT['SECTION_BLOCKS'] = 'Kvadrati sekcije';
+$TEXT['REGISTERED_VIEWERS'] = 'Registrirani promatra&egrave;i';
+$TEXT['ALLOWED_VIEWERS'] = 'Dopu&scaron;teni promatra&egrave;i';
+$TEXT['SUBMISSION_ID'] = 'Podpristupni ID';
+$TEXT['SUBMISSIONS'] = 'Podpristupe';
+$TEXT['SUBMITTED'] = 'Pristupljen';
+$TEXT['MAX_SUBMISSIONS_PER_HOUR'] = 'Maximalan podpristup po satu';
+$TEXT['SUBMISSIONS_STORED_IN_DATABASE'] = 'Podpristupi pohranjeni u bazi podataka';
+$TEXT['EMAIL_ADDRESS'] = 'Email adresa';
+$TEXT['CUSTOM'] = 'Korisni&egrave;ki';
+$TEXT['ANONYMOUS'] = 'anoniman';
+$TEXT['SERVER_OPERATING_SYSTEM'] = 'Serverski operacijski sutav';
+$TEXT['WORLD_WRITEABLE_FILE_PERMISSIONS'] = 'World-zapisuju&aelig;i prisup fileovima';
+$TEXT['LINUX_UNIX_BASED'] = 'Linux/Unix baziran';
+$TEXT['WINDOWS'] = 'Windows';
+$TEXT['HOME_FOLDER'] = 'Po&egrave;etni direktoriji';
+$TEXT['HOME_FOLDERS'] = 'Po&egrave;etni direktoriji';
+$TEXT['PAGE_TRASH'] = 'Sme&aelig;e stranice';
+$TEXT['INLINE'] = 'U liniji';
+$TEXT['SEPARATE'] = 'Odvojen';
+$TEXT['DELETED'] = 'Obrisan';
+$TEXT['VIEW_DELETED_PAGES'] = 'Pogledaj obrisane stranice';
+$TEXT['EMPTY_TRASH'] = 'Isprazni sme&aelig;e';
+$TEXT['TRASH_EMPTIED'] = 'Sme&aelig;e ispra&#382;njeno';
+$TEXT['ADD_SECTION'] = 'Dodaj sekciju';
+$TEXT['POST_HEADER'] = 'Objavi zaglavlje';
+$TEXT['POST_FOOTER'] = 'Objavi podno&#382;je';
+$TEXT['POSTS_PER_PAGE'] = 'Broj objava po stranici';
+$TEXT['RESIZE_IMAGE_TO'] = 'Izmjeni veli&egrave;inu slike na';
+$TEXT['UNLIMITED'] = 'Neograni&egrave;en';
+$TEXT['OF'] = 'Of';
+$TEXT['OUT_OF'] = 'Izvan Of';
+$TEXT['NEXT'] = 'Slijede&aelig;i';
+$TEXT['PREVIOUS'] = 'Prethodni';
+$TEXT['NEXT_PAGE'] = 'Nova stranica';
+$TEXT['PREVIOUS_PAGE'] = 'Prethodna stranica';
+$TEXT['ON'] = 'On';
+$TEXT['LAST_UPDATED_BY'] = 'Zadnje izmjenjen od';
+$TEXT['RESULTS_FOR'] = 'Rezultati za';
+$TEXT['TIME'] = 'Vrijeme';
+$TEXT['REDIRECT_AFTER'] = 'Redirect after';
+$TEXT['WYSIWYG_STYLE'] = 'WYSIWYG Style';
+$TEXT['WYSIWYG_EDITOR'] = 'WYSIWYG Editor';
+$TEXT['SERVER_EMAIL'] = 'Server Email';
+$TEXT['MENU'] = 'Meni';
+$TEXT['MANAGE_GROUPS'] = 'Upravljanje grupama';
+$TEXT['MANAGE_USERS'] = 'Upravljanje korisnicima';
+$TEXT['PAGE_LANGUAGES'] = 'Jezici stranice';
+$TEXT['HIDDEN'] = 'Skriven';
+$TEXT['MAIN'] = 'Glevni';
+$TEXT['RENAME_FILES_ON_UPLOAD'] = 'Izmjeni fileove kod ponovnog upisa';
+$TEXT['APP_NAME'] = 'Ime aplikacije';
+$TEXT['SESSION_IDENTIFIER'] = 'Session Identifier';
+$TEXT['SEC_ANCHOR'] = 'Section-Anchor text';
+$TEXT['BACKUP'] = 'Backup';
+$TEXT['RESTORE'] = 'Povrati';
+$TEXT['BACKUP_DATABASE'] = 'Backup baze podataka';
+$TEXT['RESTORE_DATABASE'] = 'Povrati bazu podataka';
+$TEXT['BACKUP_ALL_TABLES'] = 'Backupiraj sve tablice u bazi podataka';
+$TEXT['BACKUP_WB_SPECIFIC'] = 'Backupiraj samo WB-specificirane tablice';
+$TEXT['BACKUP_MEDIA'] = 'Backup Media';
+$TEXT['RESTORE_MEDIA'] = 'Povrati Media';
+$TEXT['ADMINISTRATION_TOOL'] = 'Administracijski alati';
+$TEXT['CAPTCHA_VERIFICATION'] = 'Captcha verifikacija';
+$TEXT['VERIFICATION'] = 'Verifikacija';
+$TEXT['DEFAULT_CHARSET'] = 'Po&egrave;etna postavka znakova';
+$TEXT['CHARSET'] = 'Postavka znakova';
+$TEXT['MODULE_ORDER'] = 'Module-order for searching';
+$TEXT['MAX_EXCERPT'] = 'Max lines of excerpt';
+$TEXT['TIME_LIMIT'] = 'Max time to gather excerpts per module';
+$TEXT['PUBL_START_DATE'] = 'Start date';
+$TEXT['PUBL_END_DATE'] = 'End date';
+$TEXT['CALENDAR'] = 'Calender';
+$TEXT['DELETE_DATE'] = 'Delete date';
+$TEXT['WBMAILER_DEFAULT_SETTINGS_NOTICE'] = 'Please specify a default "FROM" address and "SENDER" name below. It is recommended to use a FROM address like: <strong>admin@yourdomain.com</strong>. Some mail provider (e.g. <em>mail.com</em>) may reject mails with a FROM: address like <em>name@mail.com</em> sent via a foreign relay to avoid spam.<br /><br />The default values are only used if no other values are specified by WebsiteBaker. If your server supports <acronym title="Simple mail transfer protocol">SMTP</acronym>, you may want use this option for outgoing mails.';
+$TEXT['WBMAILER_DEFAULT_SENDER_MAIL'] = 'Default From Mail';
+$TEXT['WBMAILER_DEFAULT_SENDER_NAME'] = 'Default Sender Name';
+$TEXT['WBMAILER_NOTICE'] = '<strong>SMTP Mailer Settings:</strong><br />The settings below are only required if you want to send mails via <acronym title="Simple mail transfer protocol">SMTP</acronym>. If you do not know your SMTP host or you are not sure about the required settings, simply stay with the default mail routine: PHP MAIL.';
+$TEXT['WBMAILER_FUNCTION'] = 'Mail Routine';
+$TEXT['WBMAILER_SMTP_HOST'] = 'SMTP Host';
+$TEXT['WBMAILER_PHP'] = 'PHP MAIL';
+$TEXT['WBMAILER_SMTP'] = 'SMTP';
+$TEXT['WBMAILER_SMTP_AUTH'] = 'SMTP Authentification';
+$TEXT['WBMAILER_SMTP_AUTH_NOTICE'] = 'only activate if your SMTP host requires authentification';
+$TEXT['WBMAILER_SMTP_USERNAME'] = 'SMTP Username';
+$TEXT['WBMAILER_SMTP_PASSWORD'] = 'SMTP Password';
+$TEXT['PLEASE_LOGIN'] = 'Please login';
+$TEXT['CAP_EDIT_CSS'] = 'Edit CSS';
+$TEXT['HEADING_CSS_FILE'] = 'Actual module file: ';
+$TEXT['TXT_EDIT_CSS_FILE'] = 'Edit the CSS definitions in the textarea below.';
+$TEXT['CODE_SNIPPET'] = "Code-snippet";
+$TEXT['REQUIREMENT'] = "Requirement";
+$TEXT['INSTALLED'] = "installed";
+$TEXT['NOT_INSTALLED'] = "not installed";
+$TEXT['ADDON'] = "Add-On";
+$TEXT['EXTENSION'] = "Extension";
+$TEXT['UNZIP_FILE'] = "Upload and unpack a zip archive";
+$TEXT['DELETE_ZIP'] = "Delete zip archive after unpacking";
+
+// Success/error messages
+$MESSAGE['FRONTEND']['SORRY_NO_VIEWING_PERMISSIONS'] = 'Nemate dopu&scaron;tenje za gledanje ove stranice';
+$MESSAGE['FRONTEND']['SORRY_NO_ACTIVE_SECTIONS'] = 'Sorry, no active content to display';
+
+$MESSAGE['ADMIN']['INSUFFICIENT_PRIVELLIGES'] = 'Nedovoljne privilegije tu';
+
+$MESSAGE['LOGIN']['BOTH_BLANK'] = 'Molimo unesite svoje korisni&egrave;ko ime i lozinku ispod';
+$MESSAGE['LOGIN']['USERNAME_BLANK'] = 'Molimo unesite svoje korisni&egrave;ko ime';
+$MESSAGE['LOGIN']['PASSWORD_BLANK'] = 'Molimo unesite svoju lozinku';
+$MESSAGE['LOGIN']['USERNAME_TOO_SHORT'] = 'Korisni&egrave;ko ime je prekratko';
+$MESSAGE['LOGIN']['PASSWORD_TOO_SHORT'] = 'Lozinka je prekratka';
+$MESSAGE['LOGIN']['USERNAME_TOO_LONG'] = 'Korisni&egrave;ko ime je predugo';
+$MESSAGE['LOGIN']['PASSWORD_TOO_LONG'] = 'Lozinka je preduga';
+$MESSAGE['LOGIN']['AUTHENTICATION_FAILED'] = 'Krivo korisni&egrave;ko ime ili lozinka';
+
+$MESSAGE['SIGNUP']['NO_EMAIL'] = 'Unesite email adresu';
+$MESSAGE['SIGNUP2']['SUBJECT_LOGIN_INFO'] = 'Your login details...';
+$MESSAGE['SIGNUP2']['BODY_LOGIN_INFO'] = <<< EOT
+Hello {LOGIN_DISPLAY_NAME},
+
+Your '{LOGIN_WEBSITE_TITLE}' login details are:
+Username: {LOGIN_NAME}
+Password: {LOGIN_PASSWORD}
+
+Your password has been set to the one above.
+This means that your old password will no longer work.
+
+If you have received this message in error, please delete it immediately.
+EOT;
+
+$MESSAGE['FORGOT_PASS']['NO_DATA'] = 'Unesite svoju email adresu ispod';
+$MESSAGE['FORGOT_PASS']['EMAIL_NOT_FOUND'] = 'Email adresu koju ste unjeli nemamo upisanu u bazi';
+$MESSAGE['FORGOT_PASS']['CANNOT_EMAIL'] = 'Ne mo&#382;emo vam emailom poslati lozinku, molimo kontakirajte sistemskog administratora';
+$MESSAGE['FORGOT_PASS']['PASSWORD_RESET'] = 'Va&scaron;e korisni&egrave;ko ime i lozinka poslani su na va&scaron;u email adresu';
+$MESSAGE['FORGOT_PASS']['ALREADY_RESET'] = 'Na&#382;alost lozinka ne mo&#382;e biti resetirana/izmjenjena vi&scaron;e od jednom u jednom satu';
+
+$MESSAGE['START']['WELCOME_MESSAGE'] = 'Dobro do&scaron;li u WebsiteBaker administraciju';
+$MESSAGE['START']['INSTALL_DIR_EXISTS'] = 'Upozorenje, instalacijski direktoriji nije jo&scaron; obrisan!';
+$MESSAGE['START']['CURRENT_USER'] = 'Trenutno ste logirani kao:';
+
+$MESSAGE['SETTINGS']['UNABLE_OPEN_CONFIG'] = 'Nemogu&aelig;e je otvoriti konfiguracijski file';
+$MESSAGE['SETTINGS']['UNABLE_WRITE_CONFIG'] = 'Ne mo&#382;e zapisivati u konfiguracijski file';
+$MESSAGE['SETTINGS']['SAVED'] = 'Postavke su uspje&scaron;no snimljene';
+$MESSAGE['SETTINGS']['MODE_SWITCH_WARNING'] = 'Obavijest: Pritisnite ovaj gumb za reset svih nesnimljenih izmjena';
+$MESSAGE['SETTINGS']['WORLD_WRITEABLE_WARNING'] = 'Obavijest: ovo je preporu&egrave;ljivo samo za uvijete testiranja';
+
+$MESSAGE['USERS']['ADDED'] = 'Korisnik je dodan supje&scaron;no';
+$MESSAGE['USERS']['SAVED'] = 'Korisnik je snimljen uspje&scaron;no';
+$MESSAGE['USERS']['DELETED'] = 'Korisnik je uspje&scaron;no obrisan';
+$MESSAGE['USERS']['NO_GROUP'] = 'Niti jedna grupa nije odabrana';
+$MESSAGE['USERS']['USERNAME_TOO_SHORT'] = 'Predlo&#382;eno korisni&egrave;ko ime je prekratko';
+$MESSAGE['USERS']['PASSWORD_TOO_SHORT'] = 'Predlo&#382;ena lozinka je prekratka';
+$MESSAGE['USERS']['PASSWORD_MISMATCH'] = 'Une&scaron;ena lozinka ne odgovara';
+$MESSAGE['USERS']['INVALID_EMAIL'] = 'Une&scaron;ena email adresa je nepotpuna';
+$MESSAGE['USERS']['EMAIL_TAKEN'] = 'Une&scaron;en email je ve&aelig; u upotrebi';
+$MESSAGE['USERS']['USERNAME_TAKEN'] = 'Predlo&#382;eno korisni&egrave;ko ime ve&aelig; je netko odabrao prije vas';
+$MESSAGE['USERS']['CHANGING_PASSWORD'] = 'Obavijest: Trebate samo unjeti vrijednosti u polja ispod ako &#382;elite izmjeniti korisni&egrave;ku lozinku';
+$MESSAGE['USERS']['CONFIRM_DELETE'] = 'Jeste li sigurni da &#382;elite obrisati odabranog korisnika?';
+
+$MESSAGE['GROUPS']['ADDED'] = 'Grupa je uspje&scaron;no dodana';
+$MESSAGE['GROUPS']['SAVED'] = 'Grupa je uspje&scaron;no snimljena';
+$MESSAGE['GROUPS']['DELETED'] = 'Grupa je uspje&scaron;no obrisana';
+$MESSAGE['GROUPS']['GROUP_NAME_BLANK'] = 'Ime grupe je prazno';
+$MESSAGE['GROUPS']['CONFIRM_DELETE'] = 'Jeste li sigurni da &#382;elite obrisati odabranu gurupu i sve korisnike koji joj pripadaju?';
+$MESSAGE['GROUPS']['NO_GROUPS_FOUND'] = 'Grupa nije na&eth;ena';
+$MESSAGE['GROUPS']['GROUP_NAME_EXISTS'] = 'Ime grupe ve&aelig; postoji';
+
+$MESSAGE['PREFERENCES']['DETAILS_SAVED'] = 'Detalji su uspje&scaron;no snimljeni';
+$MESSAGE['PREFERENCES']['EMAIL_UPDATED'] = 'Email je snimljen uspje&scaron;no';
+$MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT'] = 'Une&scaron;ena lozinka nije to&egrave;na';
+$MESSAGE['PREFERENCES']['PASSWORD_CHANGED'] = 'Lozinka je uspje&scaron;no izmjenjena';
+
+$MESSAGE['TEMPLATES']['CHANGE_TEMPLATE_NOTICE'] = 'Obavijest: Za promjenu predlo&scaron;ka idite na dio s Postavkama';
+
+$MESSAGE['MEDIA']['DIR_DOT_DOT_SLASH'] = 'Ne mo&#382;e uklju&egrave;iti ../ u ime direktorija';
+$MESSAGE['MEDIA']['DIR_DOES_NOT_EXIST'] = 'Direktorij ne postoji';
+$MESSAGE['MEDIA']['TARGET_DOT_DOT_SLASH'] = 'Ne mo&#382;e ../ u cilj direktorija';
+$MESSAGE['MEDIA']['NAME_DOT_DOT_SLASH'] = 'Ne mo&#382;e uklju&egrave;iti ../ u ime';
+$MESSAGE['MEDIA']['NAME_INDEX_PHP'] = 'Ne mo&#382;e koristiti index.php kao ime';
+$MESSAGE['MEDIA']['NONE_FOUND'] = 'Ni jedna medija nije na&eth;ena u postoje&aelig;em direktoriju';
+$MESSAGE['MEDIA']['FILE_NOT_FOUND'] = 'File nije prona&eth;en';
+$MESSAGE['MEDIA']['DELETED_FILE'] = 'File je uspje&scaron;no obrisan';
+$MESSAGE['MEDIA']['DELETED_DIR'] = 'Folder je uspje&scaron;no obrisan';
+$MESSAGE['MEDIA']['CONFIRM_DELETE'] = 'Jeste li sigurni da &#382;elite obrisati file ili direktorij?';
+$MESSAGE['MEDIA']['CANNOT_DELETE_FILE'] = 'Ne mo&#382;e obrisati odabrani file';
+$MESSAGE['MEDIA']['CANNOT_DELETE_DIR'] = 'Ne mo&#382;e obrisati odabrani direktorij';
+$MESSAGE['MEDIA']['BLANK_NAME'] = 'Niste unjeli novo ime';
+$MESSAGE['MEDIA']['BLANK_EXTENSION'] = 'Niste unjeli ekstenziju file-a';
+$MESSAGE['MEDIA']['RENAMED'] = 'Preimenovanje je uspje&scaron;no';
+$MESSAGE['MEDIA']['CANNOT_RENAME'] = 'Preimenovanje je neuspje&scaron;no';
+$MESSAGE['MEDIA']['FILE_EXISTS'] = 'File se podudara s imenom koje ste unjeli, a koje ve&aelig; postoji';
+$MESSAGE['MEDIA']['DIR_EXISTS'] = 'Direktorij se podudara s imenom koje ste unjeli, a koje ve&aelig; postoji';
+$MESSAGE['MEDIA']['DIR_MADE'] = 'Direktorij je uspje&scaron;no stvoren';
+$MESSAGE['MEDIA']['DIR_NOT_MADE'] = 'Ne mo&#382;e napraviti direktorij';
+$MESSAGE['MEDIA']['SINGLE_UPLOADED'] = ' file je uspje&scaron;no nasnimljen';
+$MESSAGE['MEDIA']['UPLOADED'] = ' fileovi su supje&scaron;no nasnimljeni';
+
+$MESSAGE['PAGES']['ADDED'] = 'Stranica je uspje&scaron;no dodana';
+$MESSAGE['PAGES']['ADDED_HEADING'] = 'Zaglavlje stranice uspje&scaron;no je dodano';
+$MESSAGE['PAGES']['PAGE_EXISTS'] = 'Stranica s sli&egrave;nim ili istim imenom ve&aelig; postoji';
+$MESSAGE['PAGES']['CANNOT_CREATE_ACCESS_FILE'] = 'Gre&scaron;ka pri stvaranju pristupnog filea u stranicama direktorija(nedovoljne privilegije)';
+$MESSAGE['PAGES']['CANNOT_DELETE_ACCESS_FILE'] = 'Gre&scaron;ka pri brisanju pristupnog filea u stranicama direktorija(nedovoljne privilegije)';
+$MESSAGE['PAGES']['NOT_FOUND'] = 'Stranica nije na&eth;ena';
+$MESSAGE['PAGES']['SAVED'] = 'Stranica je uspje&scaron;no snimljena';
+$MESSAGE['PAGES']['SAVED_SETTINGS'] = 'Postavke stranice uspje&scaron;no su snimljene';
+$MESSAGE['PAGES']['NOT_SAVED'] = 'Gre&scaron;ka pri snimanju stranice';
+$MESSAGE['PAGES']['DELETE_CONFIRM'] = 'Jeste li sigurni da &#382;elite obrisati odabranu stranicu i sve njene podstranice';
+$MESSAGE['PAGES']['DELETED'] = 'Stranice su supje&scaron;no obrisane';
+$MESSAGE['PAGES']['RESTORED'] = 'Stranice su supje&scaron;no obnovljene';
+$MESSAGE['PAGES']['BLANK_PAGE_TITLE'] = 'Unesite naslov stranice';
+$MESSAGE['PAGES']['BLANK_MENU_TITLE'] = 'Unesite naziv menia';
+$MESSAGE['PAGES']['REORDERED'] = 'Stranice re-ordered uspje&scaron;no';
+$MESSAGE['PAGES']['CANNOT_REORDER'] = 'Gre&scaron;ka pri re-ordering stranice';
+$MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS'] = 'Nemate dopu&scaron;tenje za izmjenu stranice';
+$MESSAGE['PAGES']['INTRO_NOT_WRITABLE'] = 'Ne mo&#382;e pisati file /pages/intro.php (nedovoljne privilegije)';
+$MESSAGE['PAGES']['INTRO_SAVED'] = 'Intro stranica je uspje&scaron;no snimljena';
+$MESSAGE['PAGES']['LAST_MODIFIED'] = 'Zadnje izmjene';
+$MESSAGE['PAGES']['INTRO_LINK'] = 'Kliknite OVDJE za izmjenu intro stranice';
+$MESSAGE['PAGES']['SECTIONS_PROPERTIES_SAVED'] = 'Sekcijske postavke snimljene uspje&scaron;no';
+$MESSAGE['PAGES']['RETURN_TO_PAGES'] = 'Povratak na stranice';
+
+$MESSAGE['GENERIC']['FILL_IN_ALL'] = 'Molimo, vratite se nazad i popunite sva polja';
+$MESSAGE['GENERIC']['FILE_TYPE'] = 'File koji nasnimavate mora biti slijede&aelig;eg formata:';
+$MESSAGE['GENERIC']['FILE_TYPES'] = 'File koji nasnimavate mora biti u jednom od slijede&aelig;ih formata:';
+$MESSAGE['GENERIC']['CANNOT_UPLOAD'] = 'Ne mo&#382;e nasnimiti file';
+$MESSAGE['GENERIC']['ALREADY_INSTALLED'] = 'Ve&aelig; instalirano';
+$MESSAGE['GENERIC']['NOT_INSTALLED'] = 'Nije instalirano';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL'] = 'Ne mo&#382;e deinstalirati';
+$MESSAGE['GENERIC']['CANNOT_UNZIP'] = 'Ne mo&#382;e unzipirati file';
+$MESSAGE['GENERIC']['INSTALLED'] = 'Instaliran uspje&scaron;no';
+$MESSAGE['GENERIC']['UPGRADED'] = 'Nadogra&eth;en uspje&scaron;no';
+$MESSAGE['GENERIC']['UNINSTALLED'] = 'Deinstaliran uspje&scaron;no';
+$MESSAGE['GENERIC']['BAD_PERMISSIONS'] = 'Ne mo&#382;e zapisati u ciljani direktorij';
+$MESSAGE['GENERIC']['INVALID'] = 'Instaliran file je nevaljal';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE'] = 'Ne mo&#382;e deinstalirati: odabrani file je trenutno u upotrebi';
+
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL'] = "<br /><br />{{type}} <b>{{type_name}}</b> could not be uninstalled, because it is still in use on {{pages}}.<br /><br />";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL_PAGES'] = "this page;these pages";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IS_DEFAULT_TEMPLATE'] = "Can't uninstall the template <b>{{name}}</b>, because it is the default template!";
+
+$MESSAGE['GENERIC']['WEBSITE_UNDER_CONSTRUCTION'] = 'Webstranica u izradi';
+$MESSAGE['GENERIC']['PLEASE_CHECK_BACK_SOON'] = 'Molimo poku&scaron;ajte ponovo za&egrave;as...';
+$MESSAGE['GENERIC']['PLEASE_BE_PATIENT'] = 'Budite strpljivo, ovo mo&#382;e potrajati.';
+$MESSAGE['GENERIC']['ERROR_OPENING_FILE'] = 'Gre&scaron;ka pri otvaranju filea.';
+$MESSAGE['GENERIC']['INVALID_ADDON_FILE'] = 'Invalid WebsiteBaker installation file. Please check the *.zip format.';
+$MESSAGE['GENERIC']['INVALID_LANGUAGE_FILE'] = 'Invalid WebsiteBaker language file. Please check the text file.';
+
+$MESSAGE['MOD_FORM']['REQUIRED_FIELDS'] = 'Morate unjeti detaljen podatke u nadoilaze&aelig;a polja';
+$MESSAGE['MOD_FORM']['EXCESS_SUBMISSIONS'] = 'Ova forma je pregledavana previ&scaron;e puta u jednom satu. Molimo poku&scaron;ajte slijede&aelig;i sat.';
+$MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA'] = 'Broj provjere (poznat kao Captcha) neto&egrave;no je une&scaron;en. Ako imate problema s &egrave;itanjem Captcha, molimo po&scaron;aljite email: '.SERVER_EMAIL.'';
+
+$MESSAGE['ADDON']['RELOAD'] = 'Update database with information from Add-on files (e.g. after FTP upload).';
+$MESSAGE['ADDON']['ERROR_RELOAD'] = 'Error while updating the Add-On information.';
+$MESSAGE['ADDON']['MODULES_RELOADED'] = 'Uspje&scaron;no nasnimljeni moduli';
+$MESSAGE['ADDON']['TEMPLATES_RELOADED'] = 'Uspje&scaron;no nasnimljeni predlo&scaron;ci';
+$MESSAGE['ADDON']['LANGUAGES_RELOADED'] = 'Uspje&scaron;no nasnimljeni jezici';
+$MESSAGE['ADDON']['PRECHECK_FAILED'] = 'Add-on installation failed. Your system does not fulfill the requirements of this Add-on. To make this Add-on working on your system, please fix the issues summarized below.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION'] = 'When modules are uploaded via FTP (not recommended), the module installation files <tt>install.php</tt>, <tt>upgrade.php</tt> or <tt>uninstall.php</tt> will not be executed automatically. Those modules may not work correct or do not uninstall properly.<br /><br />You can execute the module files manually for modules uploaded via FTP below.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION_WARNING'] = 'Warning: Existing module database entries will get lost. Only use this option if you experience problems with modules uploaded via FTP.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/languages/HR.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/languages/NL.php
===================================================================
--- tags/2.8.2/wb/languages/NL.php	(nonexistent)
+++ tags/2.8.2/wb/languages/NL.php	(revision 1481)
@@ -0,0 +1,594 @@
+<?php
+/**
+ *
+ * @category        framework
+ * @package         language
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// use languageedit-module to modify this file
+
+// Define that this file is loaded
+if(!defined('LANGUAGE_LOADED')) {
+define('LANGUAGE_LOADED', true);
+}
+
+// Set the language information
+$language_code = 'NL';
+$language_name = 'Nederlands';
+$language_version = '2.8';
+$language_platform = '2.8.x';
+$language_author = 'Bramus, CodeALot, Luckyluke, Argos';
+$language_license = 'GNU General Public License';
+
+// Menu titles
+$MENU['START'] = 'Naar het hoofdmenu';
+$MENU['PAGES'] = 'Pagina&rsquo;s';
+$MENU['MEDIA'] = 'Media';
+$MENU['ADDONS'] = 'Extra&rsquo;s';
+$MENU['MODULES'] = 'Modules';
+$MENU['TEMPLATES'] = 'Templates';
+$MENU['LANGUAGES'] = 'Talen';
+$MENU['PREFERENCES'] = 'Profiel';
+$MENU['SETTINGS'] = 'Instellingen';
+$MENU['ADMINTOOLS'] = 'Beheerfuncties';
+$MENU['ACCESS'] = 'Toegang';
+$MENU['USERS'] = 'Gebruikers';
+$MENU['GROUPS'] = 'Groepen';
+$MENU['HELP'] = 'Help';
+$MENU['VIEW'] = 'Website';
+$MENU['LOGOUT'] = 'Uitloggen';
+$MENU['LOGIN'] = 'Inloggen';
+$MENU['FORGOT'] = 'Inloggegevens opnieuw aanvragen';
+
+// Section overviews
+$OVERVIEW['START'] = 'Websitebeheer';
+$OVERVIEW['PAGES'] = 'Aanmaken en beheren van de sitestructuur en pagina&rsquo;s.';
+$OVERVIEW['MEDIA'] = 'Beheren van bestanden in de Media-map.';
+$OVERVIEW['MODULES'] = 'Beheren van modules die extra functies toevoegen aan uw site.';
+$OVERVIEW['TEMPLATES'] = 'Beheren van de templates die u kunt toepassen.';
+$OVERVIEW['LANGUAGES'] = 'Beheren van de aanwezige taalbestanden.';
+$OVERVIEW['PREFERENCES'] = 'Beheren van uw persoonlijk profiel.';
+$OVERVIEW['SETTINGS'] = 'Beheren van de technische website-instellingen.';
+$OVERVIEW['USERS'] = 'Beheren van de gebruikers van uw website.';
+$OVERVIEW['GROUPS'] = 'Beheren van de gebruikersgroepen en hun rechten.';
+$OVERVIEW['HELP'] = 'Uitgebreide hulp voor het gebruik van dit systeem.';
+$OVERVIEW['VIEW'] = 'Bekijk uw website zoals deze voor bezoekers te zien is (in een afzonderlijk venster).';
+$OVERVIEW['ADMINTOOLS'] = 'Diverse extra beheerinstellingen.';
+
+// Headings
+$HEADING['MODIFY_DELETE_PAGE'] = 'Beheren bestaande pagina&rsquo;s';
+$HEADING['DELETED_PAGES'] = 'Verwijderde pagina&rsquo;s';
+$HEADING['ADD_PAGE'] = 'Toevoegen nieuwe pagina';
+$HEADING['ADD_HEADING'] = 'Toevoegen titel';
+$HEADING['MODIFY_PAGE'] = 'Aanpassen pagina';
+$HEADING['MODIFY_PAGE_SETTINGS'] = 'Pagina-instellingen';
+$HEADING['MODIFY_ADVANCED_PAGE_SETTINGS'] = 'Geavanceerde pagina-instellingen';
+$HEADING['MANAGE_SECTIONS'] = 'Sectiebeheer';
+$HEADING['MODIFY_INTRO_PAGE'] = 'Wijzigen introductiepagina';
+
+$HEADING['BROWSE_MEDIA'] = 'Bladeren door Media-map';
+$HEADING['CREATE_FOLDER'] = 'Toevoegen nieuwe map';
+$HEADING['UPLOAD_FILES'] = 'Uploaden bestanden';
+
+$HEADING['INSTALL_MODULE'] = 'Toevoegen module';
+$HEADING['UNINSTALL_MODULE'] = 'Verwijderen module';
+$HEADING['MODULE_DETAILS'] = 'Modulegegevens';
+
+$HEADING['INSTALL_TEMPLATE'] = 'Toevoegen template';
+$HEADING['UNINSTALL_TEMPLATE'] = 'Verwijderen template';
+$HEADING['TEMPLATE_DETAILS'] = 'Templategegevens';
+
+$HEADING['INSTALL_LANGUAGE'] = 'Toevoegen taalbestand';
+$HEADING['UNINSTALL_LANGUAGE'] = 'Verwijderen taalbestand';
+$HEADING['LANGUAGE_DETAILS'] = 'Taalbestandgegevens';
+
+$HEADING['MY_SETTINGS'] = 'Mijn gegevens';
+$HEADING['MY_EMAIL'] = 'Mijn e-mailadres';
+$HEADING['MY_PASSWORD'] = 'Mijn wachtwoord';
+
+$HEADING['GENERAL_SETTINGS'] = 'Algemene instellingen';
+$HEADING['DEFAULT_SETTINGS'] = 'Standaardinstellingen';
+$HEADING['SEARCH_SETTINGS'] = 'Zoekinstellingen';
+$HEADING['FILESYSTEM_SETTINGS'] = 'Bestandssysteeminstellingen';
+$HEADING['SERVER_SETTINGS'] = 'Serverinstellingen';
+$HEADING['WBMAILER_SETTINGS'] = 'Mailerinstellingen';
+$HEADING['ADMINISTRATION_TOOLS'] = 'Beheerfuncties';
+
+$HEADING['MODIFY_DELETE_USER'] = 'Beheren gebruikers';
+$HEADING['ADD_USER'] = 'Toevoegen gebruiker';
+$HEADING['MODIFY_USER'] = 'Gebruikersgegevens';
+
+$HEADING['MODIFY_DELETE_GROUP'] = 'Beheren groep';
+$HEADING['ADD_GROUP'] = 'Toevoegen groep';
+$HEADING['MODIFY_GROUP'] = 'Groepsgegevens';
+
+$HEADING['ADDON_PRECHECK_FAILED'] = 'Module voldoet niet aan de eisen';
+$HEADING['INVOKE_MODULE_FILES'] = 'Handmatige module-installatie';
+
+// Other text
+$TEXT['OPEN'] = 'Openen';
+$TEXT['ADD'] = 'Toevoegen';
+$TEXT['MODIFY'] = 'Wijzigen';
+$TEXT['SETTINGS'] = 'Instellingen';
+$TEXT['DELETE'] = 'Verwijderen';
+$TEXT['SAVE'] = 'Opslaan';
+$TEXT['RESET'] = 'Opnieuw';
+$TEXT['LOGIN'] = 'Inloggen';
+$TEXT['RELOAD'] = 'Vernieuwen';
+$TEXT['CANCEL'] = 'Annuleren';
+$TEXT['NAME'] = 'Naam';
+$TEXT['PLEASE_SELECT'] = 'Selecteer';
+$TEXT['TITLE'] = 'Titel';
+$TEXT['PARENT'] = 'Ouder';
+$TEXT['TYPE'] = 'Type';
+$TEXT['VISIBILITY'] = 'Zichtbaarheid';
+$TEXT['PRIVATE'] = 'Aangemeld';
+$TEXT['PUBLIC'] = 'Iedereen';
+$TEXT['NONE'] = 'Geen';
+$TEXT['NONE_FOUND'] = 'Niet gevonden';
+$TEXT['CURRENT'] = 'Huidig(e)';
+$TEXT['CHANGE'] = 'Verander';
+$TEXT['WINDOW'] = 'Scherm';
+$TEXT['DESCRIPTION'] = 'Metatag "Description"';
+$TEXT['KEYWORDS'] = 'Metatag "Keywords"';
+$TEXT['ADMINISTRATORS'] = 'Beheerders';
+$TEXT['PRIVATE_VIEWERS'] = 'Aangemelde bezoekers';
+$TEXT['EXPAND'] = 'Uitklappen';
+$TEXT['COLLAPSE'] = 'Inklappen';
+$TEXT['MOVE_UP'] = 'Naar boven';
+$TEXT['MOVE_DOWN'] = 'Naar beneden';
+$TEXT['RENAME'] = 'Hernoemen';
+$TEXT['MODIFY_SETTINGS'] = 'Wijzig instellingen';
+$TEXT['MODIFY_CONTENT'] = 'Wijzig inhoud';
+$TEXT['VIEW'] = 'Bekijken';
+$TEXT['UP'] = 'Omhoog';
+$TEXT['FORGOTTEN_DETAILS'] = 'Gegevens vergeten?';
+$TEXT['NEED_TO_LOGIN'] = 'Inloggen?';
+$TEXT['SEND_DETAILS'] = 'Stuur gegevens';
+$TEXT['USERNAME'] = 'Gebruikersnaam';
+$TEXT['PASSWORD'] = 'Wachtwoord';
+$TEXT['HOME'] = 'Home';
+$TEXT['TARGET_FOLDER'] = 'Doelmap';
+$TEXT['OVERWRITE_EXISTING'] = 'Overschrijf bestaand(e)';
+$TEXT['FILE'] = 'Bestand';
+$TEXT['FILES'] = 'bestanden';
+$TEXT['FOLDER'] = 'Map';
+$TEXT['FOLDERS'] = 'Mappen';
+$TEXT['CREATE_FOLDER'] = 'Cre&euml;er map';
+$TEXT['UPLOAD_FILES'] = 'Upload bestand(en)';
+$TEXT['CURRENT_FOLDER'] = 'Huidige map';
+$TEXT['TO'] = 'Aan';
+$TEXT['FROM'] = 'Van';
+$TEXT['INSTALL'] = 'Installeren';
+$TEXT['UNINSTALL'] = 'Verwijderen';
+$TEXT['VIEW_DETAILS'] = 'Gegevens bekijken';
+$TEXT['DISPLAY_NAME'] = 'Naamweergave';
+$TEXT['AUTHOR'] = 'Auteur';
+$TEXT['VERSION'] = 'Versie';
+$TEXT['DESIGNED_FOR'] = 'Ontworpen voor';
+$TEXT['DESCRIPTION'] = 'Metatag "Description"';
+$TEXT['EMAIL'] = 'E-mail';
+$TEXT['LANGUAGE'] = 'Taal';
+$TEXT['TIMEZONE'] = 'Tijdzone';
+$TEXT['CURRENT_PASSWORD'] = 'Huidig wachtwoord';
+$TEXT['NEW_PASSWORD'] = 'Nieuw wachtwoord';
+$TEXT['RETYPE_NEW_PASSWORD'] = 'Herhaal nieuw wachtwoord';
+$TEXT['ACTIVE'] = 'Actief';
+$TEXT['DISABLED'] = 'Uit';
+$TEXT['ENABLED'] = 'Aan';
+$TEXT['RETYPE_PASSWORD'] = 'Herhaal wachtwoord';
+$TEXT['GROUP'] = 'Groep';
+$TEXT['SYSTEM_PERMISSIONS'] = 'Systeembevoegdheden';
+$TEXT['MODULE_PERMISSIONS'] = 'Modulebevoegdheden';
+$TEXT['SHOW_ADVANCED'] = 'Bekijk geavanceerde opties';
+$TEXT['HIDE_ADVANCED'] = 'Verberg geavanceerde opties';
+$TEXT['BASIC'] = 'Basis';
+$TEXT['ADVANCED'] = 'Geavanceerd';
+$TEXT['WEBSITE'] = 'Website';
+$TEXT['DEFAULT'] = 'Standaard';
+$TEXT['KEYWORDS'] = 'Metatag "Keywords"';
+$TEXT['TEXT'] = 'Tekst';
+$TEXT['HEADER'] = 'Header';
+$TEXT['FOOTER'] = 'Footer';
+$TEXT['TEMPLATE'] = 'Template';
+$TEXT['THEME'] = 'Thema Website-beheer';
+$TEXT['INSTALLATION'] = 'Installatie';
+$TEXT['DATABASE'] = 'Database';
+$TEXT['HOST'] = 'Host';
+$TEXT['INTRO'] = 'Introductie';
+$TEXT['PAGE'] = 'Pagina';
+$TEXT['SIGNUP'] = 'Primaire aanmeldgroep';
+$TEXT['PHP_ERROR_LEVEL'] = 'PHP-foutmeldingsniveau';
+$TEXT['ADMIN'] = 'Beheer';
+$TEXT['PATH'] = 'Pad';
+$TEXT['URL'] = 'URL';
+$TEXT['FRONTEND'] = 'Website';
+$TEXT['EXTENSION'] = 'Extensie';
+$TEXT['TABLE_PREFIX'] = 'Tabelvoorvoegsel';
+$TEXT['CHANGES'] = 'Veranderingen';
+$TEXT['ADMINISTRATION'] = 'Beheer';
+$TEXT['FORGOT_DETAILS'] = 'Gegevens vergeten?';
+$TEXT['LOGGED_IN'] = 'Ingelogd';
+$TEXT['WELCOME_BACK'] = 'Welkom terug';
+$TEXT['FULL_NAME'] = 'Volledige naam';
+$TEXT['ACCOUNT_SIGNUP'] = 'Aanmelden als gebruiker';
+$TEXT['LINK'] = 'Link';
+$TEXT['ANCHOR'] = 'Anker';
+$TEXT['TARGET'] = 'Doel';
+$TEXT['NEW_WINDOW'] = 'Nieuw scherm';
+$TEXT['SAME_WINDOW'] = 'Zelfde scherm';
+$TEXT['TOP_FRAME'] = 'Bovenste frame';
+$TEXT['PAGE_LEVEL_LIMIT'] = 'Paginaniveaulimiet';
+$TEXT['SUCCESS'] = 'Succes';
+$TEXT['ERROR'] = 'Fout';
+$TEXT['ARE_YOU_SURE'] = 'Weet u het zeker?';
+$TEXT['YES'] = 'Ja';
+$TEXT['NO'] = 'Nee';
+$TEXT['SYSTEM_DEFAULT'] = 'Standaardinstellingen';
+$TEXT['PAGE_TITLE'] = 'Paginatitel';
+$TEXT['MENU_TITLE'] = 'Menutitel';
+$TEXT['ACTIONS'] = 'Acties';
+$TEXT['UNKNOWN'] = 'Onbekend(e)';
+$TEXT['BLOCK'] = 'Blok';
+$TEXT['SEARCH'] = 'Zoeken';
+$TEXT['SEARCHING'] = 'Zoekfunctie';
+$TEXT['POST'] = 'Bericht';
+$TEXT['COMMENT'] = 'Reageren';
+$TEXT['COMMENTS'] = 'Reacties';
+$TEXT['COMMENTING'] = 'Reactie-opties';
+$TEXT['SHORT'] = 'Kort';
+$TEXT['LONG'] = 'Lang';
+$TEXT['LOOP'] = '"Loop"';
+$TEXT['FIELD'] = 'Veld';
+$TEXT['REQUIRED'] = 'Verplicht';
+$TEXT['LENGTH'] = 'Lengte';
+$TEXT['MESSAGE'] = 'Bericht';
+$TEXT['SUBJECT'] = 'Onderwerp';
+$TEXT['MATCH'] = 'Gelijk aan';
+$TEXT['ALL_WORDS'] = 'Term of deel van term';
+$TEXT['ANY_WORDS'] = 'E&eacute;n van de termen';
+$TEXT['EXACT_MATCH'] = 'Exacte term';
+$TEXT['SHOW'] = 'Tonen';
+$TEXT['HIDE'] = 'Verbergen';
+$TEXT['START_PUBLISHING'] = 'Aanvang publicatie';
+$TEXT['FINISH_PUBLISHING'] = 'Einde publicatie';
+$TEXT['DATE'] = 'Datum';
+$TEXT['START'] = 'Aanvang';
+$TEXT['END'] = 'Einde';
+$TEXT['IMAGE'] = 'Afbeelding';
+$TEXT['ICON'] = 'Icoon';
+$TEXT['SECTION'] = 'Sectie';
+$TEXT['DATE_FORMAT'] = 'Datumweergave';
+$TEXT['TIME_FORMAT'] = 'Tijdweergave';
+$TEXT['RESULTS'] = 'Resultaten';
+$TEXT['RESIZE'] = 'Veranderen grootte';
+$TEXT['MANAGE'] = 'Beheren';
+$TEXT['CODE'] = 'Code';
+$TEXT['WIDTH'] = 'Breedte';
+$TEXT['HEIGHT'] = 'Hoogte';
+$TEXT['MORE'] = 'Meer';
+$TEXT['READ_MORE'] = 'Lees verder';
+$TEXT['CHANGE_SETTINGS'] = 'Wijzig instellingen';
+$TEXT['CURRENT_PAGE'] = 'Huidige pagina';
+$TEXT['CLOSE'] = 'Sluiten';
+$TEXT['INTRO_PAGE'] = 'Introductiepagina';
+$TEXT['INSTALLATION_URL'] = 'Installatie-URL';
+$TEXT['INSTALLATION_PATH'] = 'Installatiepad';
+$TEXT['PAGE_EXTENSION'] = 'Pagina-extensie';
+$TEXT['NO_RESULTS'] = 'Geen resultaten';
+$TEXT['WEBSITE_TITLE'] = 'Metatag "Title"';
+$TEXT['WEBSITE_DESCRIPTION'] = 'Metatag "Description"';
+$TEXT['WEBSITE_KEYWORDS'] = 'Metatag "Keywords"';
+$TEXT['WEBSITE_HEADER'] = 'Website-header';
+$TEXT['WEBSITE_FOOTER'] = 'Website-footer';
+$TEXT['RESULTS_HEADER'] = 'Resultaten-header';
+$TEXT['RESULTS_LOOP'] = 'Zoekresultaten';
+$TEXT['RESULTS_FOOTER'] = 'Zoekresultaten-footer';
+$TEXT['LEVEL'] = 'Niveau';
+$TEXT['NOT_FOUND'] = 'Niet gevonden';
+$TEXT['PAGE_SPACER'] = 'Pagina-spacer';
+$TEXT['MATCHING'] = 'Overeenkomend';
+$TEXT['TEMPLATE_PERMISSIONS'] = 'Templatebevoegdheden';
+$TEXT['PAGES_DIRECTORY'] = 'Pagina&rsquo;s-map';
+$TEXT['MEDIA_DIRECTORY'] = 'Media-map';
+$TEXT['FILE_MODE'] = 'Bestandsmodus';
+$TEXT['USER'] = 'Gebruiker';
+$TEXT['OTHERS'] = 'Anderen';
+$TEXT['READ'] = 'Lees';
+$TEXT['WRITE'] = 'Schrijf';
+$TEXT['EXECUTE'] = 'Uitvoeren';
+$TEXT['SMART_LOGIN'] = 'Snel inloggen';
+$TEXT['REMEMBER_ME'] = 'Onthoud mijn gegevens.';
+$TEXT['FILESYSTEM_PERMISSIONS'] = 'Bestandssysteembevoegdheden';
+$TEXT['DIRECTORIES'] = 'Mappen';
+$TEXT['DIRECTORY_MODE'] = 'Directory-modus';
+$TEXT['LIST_OPTIONS'] = 'Lijstopties';
+$TEXT['OPTION'] = 'Optie';
+$TEXT['ALLOW_MULTIPLE_SELECTIONS'] = 'Meerdere selecties toestaan';
+$TEXT['TEXTFIELD'] = 'Tekstregel';
+$TEXT['TEXTAREA'] = 'Tekstveld';
+$TEXT['SELECT_BOX'] = 'Selectiemenu';
+$TEXT['CHECKBOX_GROUP'] = 'Aankruisvakjes';
+$TEXT['RADIO_BUTTON_GROUP'] = 'Radio buttons';
+$TEXT['SIZE'] = 'Grootte';
+$TEXT['DEFAULT_TEXT'] = 'Standaardtekst';
+$TEXT['SEPERATOR'] = 'Scheidingsteken tussen opties (HTML toegestaan)';
+$TEXT['BACK'] = 'Terug';
+$TEXT['UNDER_CONSTRUCTION'] = 'In bewerking';
+$TEXT['MULTISELECT'] = 'Meervoudige selectie';
+$TEXT['SHORT_TEXT'] = 'Korte tekst';
+$TEXT['LONG_TEXT'] = 'Lange tekst';
+$TEXT['HOMEPAGE_REDIRECTION'] = 'Homepage-omleiding';
+$TEXT['HEADING'] = 'Titel';
+$TEXT['MULTIPLE_MENUS'] = 'Meerdere menu&rsquo;s';
+$TEXT['REGISTERED'] = 'Geregistreerd';
+$TEXT['SECTION_BLOCKS'] = 'Sectieblokken';
+$TEXT['REGISTERED_VIEWERS'] = 'Geregistreerde bezoekers';
+$TEXT['ALLOWED_VIEWERS'] = 'Toegestane kijkers';
+$TEXT['SUBMISSION_ID'] = 'Ingezonden bericht';
+$TEXT['SUBMISSIONS'] = 'Inzendingen';
+$TEXT['SUBMITTED'] = 'Ingezonden';
+$TEXT['MAX_SUBMISSIONS_PER_HOUR'] = 'Maximaal aantal inzendingen per uur';
+$TEXT['SUBMISSIONS_STORED_IN_DATABASE'] = 'Maximaal aantal te bewaren inzendingen';
+$TEXT['EMAIL_ADDRESS'] = 'E-mailadres';
+$TEXT['CUSTOM'] = 'Handmatige invoer';
+$TEXT['ANONYMOUS'] = 'Anoniem';
+$TEXT['SERVER_OPERATING_SYSTEM'] = 'Serverbesturingssysteem';
+$TEXT['WORLD_WRITEABLE_FILE_PERMISSIONS'] = 'CHMOD 777 alle bestanden';
+$TEXT['LINUX_UNIX_BASED'] = 'Linux/Unix';
+$TEXT['WINDOWS'] = 'Windows';
+$TEXT['HOME_FOLDER'] = 'Home-map';
+$TEXT['HOME_FOLDERS'] = 'Home-mappen';
+$TEXT['PAGE_TRASH'] = 'Paginaprullenbak';
+$TEXT['INLINE'] = 'Inline';
+$TEXT['SEPARATE'] = 'Gescheiden';
+$TEXT['DELETED'] = 'Verwijderd';
+$TEXT['VIEW_DELETED_PAGES'] = 'Bekijk verwijderde pagina&rsquo;s';
+$TEXT['EMPTY_TRASH'] = 'Prullenbak legen';
+$TEXT['TRASH_EMPTIED'] = 'Prullenbak geleegd';
+$TEXT['ADD_SECTION'] = 'Toevoegen sectie';
+$TEXT['POST_HEADER'] = 'Bericht-header';
+$TEXT['POST_FOOTER'] = 'Bericht-footer';
+$TEXT['POSTS_PER_PAGE'] = 'Berichten per pagina';
+$TEXT['RESIZE_IMAGE_TO'] = 'Verander afbeeldingsgrootte naar';
+$TEXT['UNLIMITED'] = 'Ongelimiteerd';
+$TEXT['OF'] = 'van de';
+$TEXT['OUT_OF'] = 'Buiten';
+$TEXT['NEXT'] = 'Volgende';
+$TEXT['PREVIOUS'] = 'Vorige';
+$TEXT['NEXT_PAGE'] = 'Volgende pagina';
+$TEXT['PREVIOUS_PAGE'] = 'Vorige pagina';
+$TEXT['ON'] = 'Op';
+$TEXT['LAST_UPDATED_BY'] = 'Laatste wijzigingen door';
+$TEXT['RESULTS_FOR'] = 'Resultaten voor';
+$TEXT['TIME'] = 'Tijd';
+$TEXT['REDIRECT_AFTER'] = 'Omleiding na (sec.)';
+$TEXT['WYSIWYG_STYLE'] = 'WYSIWYG-stijl';
+$TEXT['WYSIWYG_EDITOR'] = 'WYSIWYG-editor';
+$TEXT['SERVER_EMAIL'] = 'Server e-mail';
+$TEXT['MENU'] = 'Menu';
+$TEXT['MANAGE_GROUPS'] = 'Groepenbeheer';
+$TEXT['MANAGE_USERS'] = 'Gebruikersbeheer';
+$TEXT['PAGE_LANGUAGES'] = 'Meerdere talen';
+$TEXT['HIDDEN'] = 'Verborgen';
+$TEXT['MAIN'] = 'Primair(e)';
+$TEXT['RENAME_FILES_ON_UPLOAD'] = 'Bestanden hernoemen bij uploaden';
+$TEXT['APP_NAME'] = 'Applicatienaam';
+$TEXT['SESSION_IDENTIFIER'] = 'Sessie-identificatie';
+$TEXT['SEC_ANCHOR'] = 'Sessie-voorvoegsel';
+$TEXT['BACKUP'] = 'Backup maken';
+$TEXT['RESTORE'] = 'Backup terugzetten';
+$TEXT['BACKUP_DATABASE'] = 'Backup van de database maken';
+$TEXT['RESTORE_DATABASE'] = 'Backup van de database terugzetten';
+$TEXT['BACKUP_ALL_TABLES'] = 'Backup van alle tabellen in de database';
+$TEXT['BACKUP_WB_SPECIFIC'] = 'Backup van alleen WB-gerelateerde tabellen';
+$TEXT['BACKUP_MEDIA'] = 'Backup van de Media-map maken';
+$TEXT['RESTORE_MEDIA'] = 'Backup van de Media-map terugzetten';
+$TEXT['ADMINISTRATION_TOOL'] = 'Beheeropties';
+$TEXT['CAPTCHA_VERIFICATION'] = 'Captcha-verificatie';
+$TEXT['VERIFICATION'] = 'Verificatie';
+$TEXT['DEFAULT_CHARSET'] = 'Standaard tekenset';
+$TEXT['CHARSET'] = 'Tekenset';
+$TEXT['MODULE_ORDER'] = 'Modules doorzoeken';
+$TEXT['MAX_EXCERPT'] = 'Maximaal aantal gelijktijdige zoekacties';
+$TEXT['TIME_LIMIT'] = 'Maximale zoektijd per module';
+$TEXT['PUBL_START_DATE'] = 'Startdatum';
+$TEXT['PUBL_END_DATE'] = 'Einddatum';
+$TEXT['CALENDAR'] = 'Kalender';
+$TEXT['DELETE_DATE'] = 'Wis datum';
+$TEXT['WBMAILER_DEFAULT_SETTINGS_NOTICE'] = 'Specificeer hieronder een standaard afzenderadres en afzendernaam. Het is aanbevolen om een afzenderadres als: <strong>admin@uwdomein.nl</strong> te gebruiken. Om verspreiding van spam tegen te gaan, kunnen sommige mailproviders (bijv. <em>mail.com</em>) mails verwerpen met een afzenderadres als <em>name@mail.com</em>, die verzonden worden vanaf een relay-server. Onderstaande standaardwaarden worden enkel gebruikt indien geen andere waarden gespecifieerd worden door WebsiteBaker. Indien uw server <acronym title="Simple mail transfer protocol">SMTP</acronym> ondersteunt kunt u deze optie gebruiken voor het versturen van uitgaande mails.';$TEXT['WBMAILER_DEFAULT_SENDER_MAIL'] = 'Standaard afzendermailadres';
+$TEXT['WBMAILER_DEFAULT_SENDER_NAME'] = 'Standaard afzendernaam';
+$TEXT['WBMAILER_NOTICE'] = '<strong>Instellingen SMTP Mailer:</strong><br />Onderstaande instellingen zijn alleen van toepassing indien u mails wilt verzenden via <acronym title="Simple mail transfer protocol">SMTP</acronym>. Indien u de naam of instellingen van de SMTP-server niet kent, selecteer dan bij de standaard mailroutine: PHP MAIL.';
+$TEXT['WBMAILER_FUNCTION'] = 'Mailafhandeling';
+$TEXT['WBMAILER_SMTP_HOST'] = 'SMTP-host';
+$TEXT['WBMAILER_PHP'] = 'PHP MAIL';
+$TEXT['WBMAILER_SMTP'] = 'SMTP';
+$TEXT['WBMAILER_SMTP_AUTH'] = 'SMTP-authenticatie';
+$TEXT['WBMAILER_SMTP_AUTH_NOTICE'] = 'Alleen wanneer men zich dient aan te melden bij de SMTP-host';
+$TEXT['WBMAILER_SMTP_USERNAME'] = 'SMTP-gebruikersnaam';
+$TEXT['WBMAILER_SMTP_PASSWORD'] = 'SMTP-wachtwoord';
+$TEXT['PLEASE_LOGIN'] = 'Inloggen aub';
+$TEXT['CAP_EDIT_CSS'] = 'Wijzig CSS';
+$TEXT['HEADING_CSS_FILE'] = 'Actuele modulebestand: ';
+$TEXT['TXT_EDIT_CSS_FILE'] = 'Wijzig de CSS-definities in het tekstveld hieronder.';
+$TEXT['CODE_SNIPPET'] = "Code snippet";
+$TEXT['REQUIREMENT'] = "Benodigd";
+$TEXT['INSTALLED'] = "ge&iuml;nstalleerd";
+$TEXT['NOT_INSTALLED'] = "niet ge&iuml;nstalleerd";
+$TEXT['ADDON'] = "Add-On";
+$TEXT['EXTENSION'] = "Extensie";
+$TEXT['UNZIP_FILE'] = "Uploaden en uitpakken van ZIP-bestand";
+$TEXT['DELETE_ZIP'] = "Verwijder ZIP van server na uitpakken";
+
+// Success/error messages
+$MESSAGE['FRONTEND']['SORRY_NO_VIEWING_PERMISSIONS'] = 'Sorry, u heeft geen bevoegdheden om deze pagina te bekijken';
+$MESSAGE['FRONTEND']['SORRY_NO_ACTIVE_SECTIONS'] = 'Sorry, niets om af te beelden';
+
+$MESSAGE['ADMIN']['INSUFFICIENT_PRIVELLIGES'] = 'Onvoldoende rechten om hier te zijn';
+
+$MESSAGE['LOGIN']['BOTH_BLANK'] = 'Vul uw gebruikersnaam en wachtwoord in:';
+$MESSAGE['LOGIN']['USERNAME_BLANK'] = 'Vul uw gebruikersnaam in';
+$MESSAGE['LOGIN']['PASSWORD_BLANK'] = 'Vul uw wachtwoord in';
+$MESSAGE['LOGIN']['USERNAME_TOO_SHORT'] = 'Deze gebruikersnaam is te kort';
+$MESSAGE['LOGIN']['PASSWORD_TOO_SHORT'] = 'Dit wachtwoord is te kort';
+$MESSAGE['LOGIN']['USERNAME_TOO_LONG'] = 'Deze gebruikersnaam is te lang';
+$MESSAGE['LOGIN']['PASSWORD_TOO_LONG'] = 'Dit wachtwoord is te lang';
+$MESSAGE['LOGIN']['AUTHENTICATION_FAILED'] = 'Gebruikersnaam en/of wachtwoord incorrect';
+
+$MESSAGE['SIGNUP']['NO_EMAIL'] = 'U moet een e-mailadres invullen';
+$MESSAGE['SIGNUP2']['SUBJECT_LOGIN_INFO'] = 'Uw login-gegevens...';
+$MESSAGE['SIGNUP2']['BODY_LOGIN_INFO'] = <<< EOT
+Hallo {LOGIN_DISPLAY_NAME},
+
+Uw '{LOGIN_WEBSITE_TITLE}' inloggegevens zijn:
+Gebruikersnaam: {LOGIN_NAME}
+Wachtwoord: {LOGIN_PASSWORD}
+
+Uw wachtwoord is ingesteld en zichtbaar hierboven. 
+Dit betekent dat uw oude wachtwoord niet meer werkt. 
+
+Indien deze melding niet voor u bestemd is, verwijder deze dan onmiddellijk.
+EOT;
+
+$MESSAGE['FORGOT_PASS']['NO_DATA'] = 'Vult u alstublieft uw e-mailadres hieronder in';
+$MESSAGE['FORGOT_PASS']['EMAIL_NOT_FOUND'] = 'Het door u opgegeven e-mailadres is niet gevonden in onze database';
+$MESSAGE['FORGOT_PASS']['CANNOT_EMAIL'] = 'Het is niet mogelijk uw wachtwoord per e-mail te versturen. Neem contact op met de beheerder';
+$MESSAGE['FORGOT_PASS']['PASSWORD_RESET'] = 'Uw gebruikersnaam en wachtwoord zijn verzonden naar het opgegeven e-mailadres';
+$MESSAGE['FORGOT_PASS']['ALREADY_RESET'] = 'Sorry, het wachtwoord kan maximaal eens per uur worden aangepast.';
+
+$MESSAGE['START']['WELCOME_MESSAGE'] = 'Welkom bij het websitebeheer';
+$MESSAGE['START']['INSTALL_DIR_EXISTS'] = 'Waarschuwing, de installatiemap bestaat nog steeds. U dient deze te verwijderen om veiligheidsrisico&rsquo;s te vermijden!';
+$MESSAGE['START']['CURRENT_USER'] = 'U bent ingelogd als';
+
+$MESSAGE['SETTINGS']['UNABLE_OPEN_CONFIG'] = 'Het configuratiebestand kan niet worden geopend';
+$MESSAGE['SETTINGS']['UNABLE_WRITE_CONFIG'] = 'Het configuratiebestand kan niet worden opgeslagen';
+$MESSAGE['SETTINGS']['SAVED'] = 'Instellingen opgeslagen';
+$MESSAGE['SETTINGS']['MODE_SWITCH_WARNING'] = 'Opgelet: sla eerst de wijzigingen op die u eventueel zojuist heeft aangebracht!';
+$MESSAGE['SETTINGS']['WORLD_WRITEABLE_WARNING'] = 'Opgelet: dit is alleen bedoeld voor testdoeleinden!';
+
+$MESSAGE['USERS']['ADDED'] = 'Gebruiker toegevoegd';
+$MESSAGE['USERS']['SAVED'] = 'Gebruiker opgeslagen';
+$MESSAGE['USERS']['DELETED'] = 'Gebruiker verwijderd';
+$MESSAGE['USERS']['NO_GROUP'] = 'Geen groep geselecteerd';
+$MESSAGE['USERS']['USERNAME_TOO_SHORT'] = 'De ingevoerde  gebruikersnaam is te kort';
+$MESSAGE['USERS']['PASSWORD_TOO_SHORT'] = 'Het ingevoerde wachtwoord is te kort';
+$MESSAGE['USERS']['PASSWORD_MISMATCH'] = 'De ingevoerde wachtwoorden komen niet overeen';
+$MESSAGE['USERS']['INVALID_EMAIL'] = 'Het ingevoerde e-mailadres is niet correct';
+$MESSAGE['USERS']['EMAIL_TAKEN'] = 'Het ingevoerde e-mailadres is al in gebruik';
+$MESSAGE['USERS']['USERNAME_TAKEN'] = 'De ingevoerde gebruikersnaam is al in gebruik';
+$MESSAGE['USERS']['CHANGING_PASSWORD'] = 'Attentie: vul alleen de bovenstaande velden in wanneer u het wachtwoord van de gebruiker wilt veranderen';
+$MESSAGE['USERS']['CONFIRM_DELETE'] = 'Weet u zeker dat u de geselecteerde gebruiker wilt verwijderen?';
+
+$MESSAGE['GROUPS']['ADDED'] = 'Groep toegevoegd';
+$MESSAGE['GROUPS']['SAVED'] = 'Groep opgeslagen';
+$MESSAGE['GROUPS']['DELETED'] = 'Groep verwijderd';
+$MESSAGE['GROUPS']['GROUP_NAME_BLANK'] = 'Groepsnaam is niet ingevuld';
+$MESSAGE['GROUPS']['CONFIRM_DELETE'] = 'Weet u zeker dat u de geselecteerde groep wilt verwijderen (en alle daarbij behorende gebruikers)?';
+$MESSAGE['GROUPS']['NO_GROUPS_FOUND'] = 'Geen groep gevonden';
+$MESSAGE['GROUPS']['GROUP_NAME_EXISTS'] = 'Groepnaam is reeds in gebruik';
+
+$MESSAGE['PREFERENCES']['DETAILS_SAVED'] = 'Details opgeslagen';
+$MESSAGE['PREFERENCES']['EMAIL_UPDATED'] = 'E-mail gewijzigd';
+$MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT'] = 'Het (huidige) ingevoerde wachtwoord is niet correct';
+$MESSAGE['PREFERENCES']['PASSWORD_CHANGED'] = 'Wachtwoord gewijzigd';
+
+$MESSAGE['TEMPLATES']['CHANGE_TEMPLATE_NOTICE'] = 'Attentie: Om de template aan te passen moet u naar de instellingensectie';
+
+$MESSAGE['MEDIA']['DIR_DOT_DOT_SLASH'] = 'Gebruik van ../ in de mapnaam is niet toegestaan';
+$MESSAGE['MEDIA']['DIR_DOES_NOT_EXIST'] = 'Map bestaat niet';
+$MESSAGE['MEDIA']['TARGET_DOT_DOT_SLASH'] = 'Gebruik van ../ in de map is niet toegestaan';
+$MESSAGE['MEDIA']['NAME_DOT_DOT_SLASH'] = 'Gebruik van ../ in de naam is niet toegestaan';
+$MESSAGE['MEDIA']['NAME_INDEX_PHP'] = 'index.php als naam is niet toegestaan';
+$MESSAGE['MEDIA']['NONE_FOUND'] = 'Geen mediabestanden gevonden in de huidige map';
+$MESSAGE['MEDIA']['FILE_NOT_FOUND'] = 'Bestand niet gevonden';
+$MESSAGE['MEDIA']['DELETED_FILE'] = 'Bestand verwijderd';
+$MESSAGE['MEDIA']['DELETED_DIR'] = 'Map verwijderd';
+$MESSAGE['MEDIA']['CONFIRM_DELETE'] = 'Weet u zeker dat u het volgende bestand of map wilt verwijderen?';
+$MESSAGE['MEDIA']['CANNOT_DELETE_FILE'] = 'Kan geselecteerde bestand niet verwijderen';
+$MESSAGE['MEDIA']['CANNOT_DELETE_DIR'] = 'Kan geselecteerde map niet verwijderen';
+$MESSAGE['MEDIA']['BLANK_NAME'] = 'U heeft geen nieuwe naam opgegeven';
+$MESSAGE['MEDIA']['BLANK_EXTENSION'] = 'U heeft geen bestandsextensie opgegeven';
+$MESSAGE['MEDIA']['RENAMED'] = 'Hernoemen geslaagd';
+$MESSAGE['MEDIA']['CANNOT_RENAME'] = 'Hernoemen niet gelukt';
+$MESSAGE['MEDIA']['FILE_EXISTS'] = 'Opgegeven bestandsnaam bestaat al';
+$MESSAGE['MEDIA']['DIR_EXISTS'] = 'Opgegeven naam van de map bestaat al';
+$MESSAGE['MEDIA']['DIR_MADE'] = 'Map aangemaakt';
+$MESSAGE['MEDIA']['DIR_NOT_MADE'] = 'Aanmaken map mislukt';
+$MESSAGE['MEDIA']['SINGLE_UPLOADED'] = ' geupload';
+$MESSAGE['MEDIA']['UPLOADED'] = ' geupload';
+
+$MESSAGE['PAGES']['ADDED'] = 'Pagina toegevoegd';
+$MESSAGE['PAGES']['ADDED_HEADING'] = 'Paginatitel opgeslagen';
+$MESSAGE['PAGES']['PAGE_EXISTS'] = 'Een pagina met dezelfde naam bestaat al';
+$MESSAGE['PAGES']['CANNOT_CREATE_ACCESS_FILE'] = 'Kan geen bestanden opslaan in de /pages-map (onvoldoende rechten)';
+$MESSAGE['PAGES']['CANNOT_DELETE_ACCESS_FILE'] = 'Kan geen bestanden verwijderen uit de /pages-map (onvoldoende rechten)';
+$MESSAGE['PAGES']['NOT_FOUND'] = 'Pagina niet gevonden';
+$MESSAGE['PAGES']['SAVED'] = 'Pagina opgeslagen';
+$MESSAGE['PAGES']['SAVED_SETTINGS'] = 'Pagina-instellingen opgeslagen';
+$MESSAGE['PAGES']['NOT_SAVED'] = 'Fout tijdens opslaan pagina';
+$MESSAGE['PAGES']['DELETE_CONFIRM'] = 'Weet u zeker dat u deze pagina wilt verwijderen (en al zijn subpagina&rsquo;s)';
+$MESSAGE['PAGES']['DELETED'] = 'Pagina verwijderd';
+$MESSAGE['PAGES']['RESTORED'] = 'Pagina teruggehaald';
+$MESSAGE['PAGES']['BLANK_PAGE_TITLE'] = 'Vul a.u.b. een paginatitel in';
+$MESSAGE['PAGES']['BLANK_MENU_TITLE'] = 'Vul a.u.b. een menutitel in';
+$MESSAGE['PAGES']['REORDERED'] = 'Pagina herordend';
+$MESSAGE['PAGES']['CANNOT_REORDER'] = 'Fout bij herordenen pagina';
+$MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS'] = 'U heeft niet de rechten om deze pagina aan te passen';
+$MESSAGE['PAGES']['INTRO_NOT_WRITABLE'] = 'Kan instellingen niet opslaan in het bestand /pages/intro.php (onvoldoende rechten)';
+$MESSAGE['PAGES']['INTRO_SAVED'] = 'Introductiepagina opgeslagen';
+$MESSAGE['PAGES']['LAST_MODIFIED'] = 'Als laatste aangepast door';
+$MESSAGE['PAGES']['INTRO_LINK'] = 'Klik hier om de introductiepagina aan te passen';
+$MESSAGE['PAGES']['SECTIONS_PROPERTIES_SAVED'] = 'Sectie-instellingen opgeslagen';
+$MESSAGE['PAGES']['RETURN_TO_PAGES'] = 'Keer terug naar pagina&rsquo;s';
+
+$MESSAGE['GENERIC']['FILL_IN_ALL'] = 'Niet alle velden zijn ingevuld. Probeert u het nog eens';
+$MESSAGE['GENERIC']['FILE_TYPE'] = 'Let op: het bestand moet het volgende formaat hebben:';
+$MESSAGE['GENERIC']['FILE_TYPES'] = 'Let op: de bestanden moeten het volgende formaat hebben:';
+$MESSAGE['GENERIC']['CANNOT_UPLOAD'] = 'Kan niet uploaden';
+$MESSAGE['GENERIC']['ALREADY_INSTALLED'] = 'Is al ge&iuml;nstalleerd';
+$MESSAGE['GENERIC']['NOT_INSTALLED'] = 'Niet ge&iuml;nstalleerd';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL'] = 'Kan niet de&iuml;nstalleren';
+$MESSAGE['GENERIC']['CANNOT_UNZIP'] = 'Kan het bestand niet uitpakken';
+$MESSAGE['GENERIC']['INSTALLED'] = 'Installatie voltooid';
+$MESSAGE['GENERIC']['UPGRADED'] = 'Upgrade voltooid';
+$MESSAGE['GENERIC']['UNINSTALLED'] = 'De&iuml;nstallatie voltooid';
+$MESSAGE['GENERIC']['BAD_PERMISSIONS'] = 'Kan niet schrijven naar doelmap';
+$MESSAGE['GENERIC']['INVALID'] = 'Ongeldig bestand';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE'] = 'Kan niet de&iuml;nstalleren: het geselecteerde bestand is in gebruik';
+
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL'] = "<br /><br />De {{type}} <b>{{type_name}}</b> kan niet verwijderd worden omdat het in gebruik is op {{pages}}:<br /><br />";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL_PAGES'] = "volgende pagina;volgende pagina's";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IS_DEFAULT_TEMPLATE'] = "De template <b>{{name}}</b> kan niet verwijderd worden omdat het de standaard-template is.";
+
+$MESSAGE['GENERIC']['WEBSITE_UNDER_CONSTRUCTION'] = 'Website in bewerking';
+$MESSAGE['GENERIC']['PLEASE_CHECK_BACK_SOON'] = 'Probeert u het a.u.b. binnenkort nog eens.';
+$MESSAGE['GENERIC']['PLEASE_BE_PATIENT'] = 'Even geduld aub, dit kan even duren.';
+$MESSAGE['GENERIC']['ERROR_OPENING_FILE'] = 'Kan bestand niet openen.';
+$MESSAGE['GENERIC']['INVALID_ADDON_FILE'] =    'Ongeldig WebsiteBaker installatiebestand. Controleer het *.zip bestand.';
+$MESSAGE['GENERIC']['INVALID_LANGUAGE_FILE'] = 'Ongeldig WebsiteBaker taalbestand. Controleer het tekstbestand.';
+
+$MESSAGE['MOD_FORM']['REQUIRED_FIELDS'] = 'De volgende velden zijn verplicht';
+$MESSAGE['MOD_FORM']['EXCESS_SUBMISSIONS'] = 'Dit formulier is te vaak verstuurd binnen dit uur. Probeert u het over een uur nog eens.';
+$MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA'] = 'Het verificatienummer (ook wel Captcha genoemd) dat u hebt ingevoerd is incorrect. Als u de Captcha niet goed kunt lezen, stuur dan een e-mail naar: '.SERVER_EMAIL.'';
+
+$MESSAGE['ADDON']['RELOAD'] = 'Aanpassen van de database met informatie van de modules (voorbeeld na een FTP-upload).';
+$MESSAGE['ADDON']['ERROR_RELOAD'] = 'Fout tijdens de update van de module-informatie.';
+$MESSAGE['ADDON']['MODULES_RELOADED'] = 'De modules zijn herladen';
+$MESSAGE['ADDON']['TEMPLATES_RELOADED'] = 'De templates zijn herladen';
+$MESSAGE['ADDON']['LANGUAGES_RELOADED'] = 'De taalbestanden zijn herladen';
+$MESSAGE['ADDON']['PRECHECK_FAILED'] = 'De installatie van deze module is mislukt. Uw systeem voldoet niet aan de eisen voor een goede werking van deze module. Om deze module op uw systeem te laten werken, moeten onderstaande problemen opgelost worden.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION'] = 'Wanneer modules via FTP ge&uuml;pload  worden (niet aanbevolen), worden de module-installatiebestanden <tt>install.php </tt>, <tt> upgrade.php </tt> of <tt> uninstall.php </tt> niet automatisch uitgevoerd. Deze modules werken mogelijk niet correct of worden niet correct verwijderd.<br /><br />U kunt deze modulebestanden handmatig uitvoeren voor onderstaande modules die u via FTP ge&uuml;pload hebt.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION_WARNING'] = 'Waarschuwing: bestaande instellingen in de database van de modules zullen verloren gaan. Gebruik deze optie alleen als u problemen ondervindt met modules ge&uuml;pload via FTP.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/languages/NL.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/languages/PL.php
===================================================================
--- tags/2.8.2/wb/languages/PL.php	(nonexistent)
+++ tags/2.8.2/wb/languages/PL.php	(revision 1481)
@@ -0,0 +1,595 @@
+<?php
+/**
+ *
+ * @category        framework
+ * @package         language
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// use languageedit-module to modify this file
+
+// Define that this file is loaded
+if(!defined('LANGUAGE_LOADED')) {
+define('LANGUAGE_LOADED', true);
+}
+
+// Set the language information
+$language_code = 'PL';
+$language_name = 'Polski';
+$language_version = '2.8';
+$language_platform = '2.8.x';
+$language_author = 'Marek St&#281;pie&#324;';
+$language_license = 'GNU General Public License';
+
+// Menu titles
+$MENU['START'] = 'Pocz&#261;tek';
+$MENU['PAGES'] = 'Strony';
+$MENU['MEDIA'] = 'Media';
+$MENU['ADDONS'] = 'Dodatki';
+$MENU['MODULES'] = 'Modu&#322;y';
+$MENU['TEMPLATES'] = 'Szablony';
+$MENU['LANGUAGES'] = 'J&#281;zyki';
+$MENU['PREFERENCES'] = 'Preferencje';
+$MENU['SETTINGS'] = 'Ustawienia';
+$MENU['ADMINTOOLS'] = 'Admin-Tools';
+$MENU['ACCESS'] = 'Dost&#281;p';
+$MENU['USERS'] = 'U&#380;ytkownicy';
+$MENU['GROUPS'] = 'Grupy';
+$MENU['HELP'] = 'Pomoc';
+$MENU['VIEW'] = 'Podgl&#261;d';
+$MENU['LOGOUT'] = 'Wyloguj';
+$MENU['LOGIN'] = 'Zaloguj si&#281;';
+$MENU['FORGOT'] = 'Odzyskaj dane logowania';
+
+// Section overviews
+$OVERVIEW['START'] = 'Panel administracyjny';
+$OVERVIEW['PAGES'] = 'Zarz&#261;dzaj stronami...';
+$OVERVIEW['MEDIA'] = 'Zarz&#261;dzaj plikami przechowywanymi w folderze medi&oacute;w...';
+$OVERVIEW['MODULES'] = 'Zarz&#261;dzaj modu&#322;ami WebsiteBakera...';
+$OVERVIEW['TEMPLATES'] = 'Zmie&#324; wygl&#261;d swojej strony za pomoc&#261; szablon&oacute;w...';
+$OVERVIEW['LANGUAGES'] = 'Zarz&#261;dzaj j&#281;zykami WebsiteBakera...';
+$OVERVIEW['PREFERENCES'] = 'Zmie&#324; preferencje, takie jak adres e-mail, has&#322;o itp... ';
+$OVERVIEW['SETTINGS'] = 'Zmie&#324; ustawienia WebsiteBakera...';
+$OVERVIEW['USERS'] = 'Zarz&#261;dzaj u&#380;ytkownikami mog&#261;cymi logowa&#263; si&#281; do WebsiteBakera...';
+$OVERVIEW['GROUPS'] = 'Zarz&#261;dzaj gropami u&#380;ytkownik&oacute;w i ich uprawnieniami systemowymi...';
+$OVERVIEW['HELP'] = 'Masz pytania? Znajd&#378; odpowiedzi...';
+$OVERVIEW['VIEW'] = 'Podgl&#261;d witryny w nowym oknie...';
+$OVERVIEW['ADMINTOOLS'] = 'Access the WebsiteBaker administration tools...';
+
+// Headings
+$HEADING['MODIFY_DELETE_PAGE'] = 'Zmie&#324;/Usu&#324; stron&#281;';
+$HEADING['DELETED_PAGES'] = 'Usuni&#281;te strony';
+$HEADING['ADD_PAGE'] = 'Dodaj stron&#281;';
+$HEADING['ADD_HEADING'] = 'Dodaj nag&#322;&oacute;wek';
+$HEADING['MODIFY_PAGE'] = 'Zmie&#324; stron&#281;';
+$HEADING['MODIFY_PAGE_SETTINGS'] = 'Zmie&#324; ustawienia strony';
+$HEADING['MODIFY_ADVANCED_PAGE_SETTINGS'] = 'Zmie&#324; zaawansowane ustawienia strony';
+$HEADING['MANAGE_SECTIONS'] = 'Zarz&#261;dzaj sekcjami';
+$HEADING['MODIFY_INTRO_PAGE'] = 'Zmie&#324; stron&#281; pocz&#261;tkow&#261;';
+
+$HEADING['BROWSE_MEDIA'] = 'Przegl&#261;daj media';
+$HEADING['CREATE_FOLDER'] = 'Utw&oacute;rz folder';
+$HEADING['UPLOAD_FILES'] = 'Za&#322;aduj plik(i)';
+
+$HEADING['INSTALL_MODULE'] = 'Zainstaluj modu&#322;';
+$HEADING['UNINSTALL_MODULE'] = 'Odinstaluj modu&#322;';
+$HEADING['MODULE_DETAILS'] = 'Szczeg&oacute;&#322;y modu&#322;u';
+
+$HEADING['INSTALL_TEMPLATE'] = 'Zainstaluj szablon';
+$HEADING['UNINSTALL_TEMPLATE'] = 'Odinstaluj szablon';
+$HEADING['TEMPLATE_DETAILS'] = 'Szczeg&oacute;&#322;y szablonu';
+
+$HEADING['INSTALL_LANGUAGE'] = 'Zainstaluj j&#281;zyk';
+$HEADING['UNINSTALL_LANGUAGE'] = 'Odinstaluj j&#281;zyk';
+$HEADING['LANGUAGE_DETAILS'] = 'Szczeg&oacute;&#322;y j&#281;zyka';
+
+$HEADING['MY_SETTINGS'] = 'Moje ustawienia';
+$HEADING['MY_EMAIL'] = 'M&oacute;j e-mail';
+$HEADING['MY_PASSWORD'] = 'Moje has&#322;o';
+
+$HEADING['GENERAL_SETTINGS'] = 'Ustawienia og&oacute;lne';
+$HEADING['DEFAULT_SETTINGS'] = 'Ustawienia domy&#347;lne';
+$HEADING['SEARCH_SETTINGS'] = 'Ustawienia wyszukiwania';
+$HEADING['FILESYSTEM_SETTINGS'] = 'Ustawienia systemy plik&oacute;w';
+$HEADING['SERVER_SETTINGS'] = 'Ustawienia serwera';
+$HEADING['WBMAILER_SETTINGS'] = 'Mailer Settings';
+$HEADING['ADMINISTRATION_TOOLS'] = 'Narz&#281;dzia administracyjne';
+
+$HEADING['MODIFY_DELETE_USER'] = 'Zmie&#324;/usu&#324; u&#380;ytkownika';
+$HEADING['ADD_USER'] = 'Dodaj u&#380;ytkownika';
+$HEADING['MODIFY_USER'] = 'Zmie&#324; u&#380;ytkownika';
+
+$HEADING['MODIFY_DELETE_GROUP'] = 'Zmie&#324;/usu&#324; grup&#281;';
+$HEADING['ADD_GROUP'] = 'Dodaj grup&#281;';
+$HEADING['MODIFY_GROUP'] = 'Zmie&#324; grup&#281;';
+
+$HEADING['ADDON_PRECHECK_FAILED'] = 'Add-On requirements not met';
+$HEADING['INVOKE_MODULE_FILES'] = 'Execute module files manually';
+
+// Other text
+$TEXT['OPEN'] = 'Open';
+$TEXT['ADD'] = 'Dodaj';
+$TEXT['MODIFY'] = 'Zmie&#324;';
+$TEXT['SETTINGS'] = 'Ustawienia';
+$TEXT['DELETE'] = 'Usu&#324;';
+$TEXT['SAVE'] = 'Zapisz';
+$TEXT['RESET'] = 'Resetuj';
+$TEXT['LOGIN'] = 'Zaloguj';
+$TEXT['RELOAD'] = 'Reload';
+$TEXT['CANCEL'] = 'Anuluj';
+$TEXT['NAME'] = 'Nazwa';
+$TEXT['PLEASE_SELECT'] = 'Prosz&#281; wybra&#263;';
+$TEXT['TITLE'] = 'Tytu&#322;';
+$TEXT['PARENT'] = 'Nadrz&#281;dny';
+$TEXT['TYPE'] = 'Rodzaj';
+$TEXT['VISIBILITY'] = 'Widoczno&#347;&#263;';
+$TEXT['PRIVATE'] = 'Prywatna';
+$TEXT['PUBLIC'] = 'Publiczna';
+$TEXT['NONE'] = 'Brak';
+$TEXT['NONE_FOUND'] = 'Nie odnaleziono';
+$TEXT['CURRENT'] = 'Bie&#380;&#261;cy';
+$TEXT['CHANGE'] = 'Zmie&#324;';
+$TEXT['WINDOW'] = 'Okno';
+$TEXT['DESCRIPTION'] = 'Opis';
+$TEXT['KEYWORDS'] = 'S&#322;owa kluczowe';
+$TEXT['ADMINISTRATORS'] = 'Administratorzy';
+$TEXT['PRIVATE_VIEWERS'] = 'Prywatni obserwatorzy';
+$TEXT['EXPAND'] = 'Rozwi&#324;';
+$TEXT['COLLAPSE'] = 'Zwi&#324;';
+$TEXT['MOVE_UP'] = 'Do g&oacute;ry';
+$TEXT['MOVE_DOWN'] = 'W d&oacute;&#322;';
+$TEXT['RENAME'] = 'Zmie&#324; nazw&#281;';
+$TEXT['MODIFY_SETTINGS'] = 'Zmie&#324; ustawienia';
+$TEXT['MODIFY_CONTENT'] = 'Zmie&#324; zawarto&#347;&#263;';
+$TEXT['VIEW'] = 'Widok';
+$TEXT['UP'] = 'G&oacute;ra';
+$TEXT['FORGOTTEN_DETAILS'] = 'Zapomnia&#322;e&#347;(-a&#347;) has&#322;a?';
+$TEXT['NEED_TO_LOGIN'] = 'Potrzebujesz si&#281; zalogowa&#263;?';
+$TEXT['SEND_DETAILS'] = 'Wy&#347;lij szczeg&oacute;&#322;y';
+$TEXT['USERNAME'] = 'Nazwa u&#380;ytkownika';
+$TEXT['PASSWORD'] = 'Has&#322;o';
+$TEXT['HOME'] = 'Strona domowa';
+$TEXT['TARGET_FOLDER'] = 'Folder docelowy';
+$TEXT['OVERWRITE_EXISTING'] = 'Nadpisz istniej&#261;cy(-e)';
+$TEXT['FILE'] = 'plik';
+$TEXT['FILES'] = 'pliki';
+$TEXT['FOLDER'] = 'folder';
+$TEXT['FOLDERS'] = 'foldery';
+$TEXT['CREATE_FOLDER'] = 'Utw&oacute;rz folder';
+$TEXT['UPLOAD_FILES'] = 'Za&#322;aduj plik(i)';
+$TEXT['CURRENT_FOLDER'] = 'Bie&#380;&#261;cy folder';
+$TEXT['TO'] = 'Do';
+$TEXT['FROM'] = 'Od';
+$TEXT['INSTALL'] = 'Zainstaluj';
+$TEXT['UNINSTALL'] = 'Odinstaluj';
+$TEXT['VIEW_DETAILS'] = 'Poka&#380; szczeg&oacute;&#322;y';
+$TEXT['DISPLAY_NAME'] = 'Nazwa';
+$TEXT['AUTHOR'] = 'Autor';
+$TEXT['VERSION'] = 'Wersja';
+$TEXT['DESIGNED_FOR'] = 'Zaprojektowane dla';
+$TEXT['DESCRIPTION'] = 'Opis';
+$TEXT['EMAIL'] = 'E-mail';
+$TEXT['LANGUAGE'] = 'J&#281;zyk';
+$TEXT['TIMEZONE'] = 'Strefa czasowa';
+$TEXT['CURRENT_PASSWORD'] = 'Bie&#380;&#261;ce has&#322;o';
+$TEXT['NEW_PASSWORD'] = 'Nowe has&#322;o';
+$TEXT['RETYPE_NEW_PASSWORD'] = 'Powt&oacute;rz nowe has&#322;o';
+$TEXT['ACTIVE'] = 'Aktywne';
+$TEXT['DISABLED'] = 'Wy&#322;&#261;czone';
+$TEXT['ENABLED'] = 'W&#322;&#261;czone';
+$TEXT['RETYPE_PASSWORD'] = 'Powt&oacute;rz has&#322;o';
+$TEXT['GROUP'] = 'Grupa';
+$TEXT['SYSTEM_PERMISSIONS'] = 'Uprawnienia systemowe';
+$TEXT['MODULE_PERMISSIONS'] = 'Uprawnienia do modu&#322;&oacute;w';
+$TEXT['SHOW_ADVANCED'] = 'Wy&#347;wietl opcje zaawansowane';
+$TEXT['HIDE_ADVANCED'] = 'Schowaj opcje zaawansowane';
+$TEXT['BASIC'] = 'Podstawowe';
+$TEXT['ADVANCED'] = 'Zaawansowane';
+$TEXT['WEBSITE'] = 'Witryna';
+$TEXT['DEFAULT'] = 'Domy&#347;lne';
+$TEXT['KEYWORDS'] = 'S&#322;owa kluczowe';
+$TEXT['TEXT'] = 'Tekst';
+$TEXT['HEADER'] = 'Nag&#322;&oacute;wek';
+$TEXT['FOOTER'] = 'Stopka';
+$TEXT['TEMPLATE'] = 'Szablon';
+$TEXT['THEME'] = 'Backend-Theme';
+$TEXT['INSTALLATION'] = 'Instalacja';
+$TEXT['DATABASE'] = 'Baza danych';
+$TEXT['HOST'] = 'Host';
+$TEXT['INTRO'] = 'Intro';
+$TEXT['PAGE'] = 'Strona';
+$TEXT['SIGNUP'] = 'Zapisz si&#281;';
+$TEXT['PHP_ERROR_LEVEL'] = 'Poziom raportowania b&#322;&#281;d&oacute;w PHP';
+$TEXT['ADMIN'] = 'Administrator';
+$TEXT['PATH'] = '&#346;cie&#380;ka';
+$TEXT['URL'] = 'URL';
+$TEXT['FRONTEND'] = 'Panel przedni';
+$TEXT['EXTENSION'] = 'Rozszerzenie';
+$TEXT['TABLE_PREFIX'] = 'Przedrostek tabeli';
+$TEXT['CHANGES'] = 'Zmiany';
+$TEXT['ADMINISTRATION'] = 'Administracja';
+$TEXT['FORGOT_DETAILS'] = 'Zapomnia&#322;e&#347;(-a&#347;) szczeg&oacute;&#322;&oacute;w?';
+$TEXT['LOGGED_IN'] = 'Zalogowany';
+$TEXT['WELCOME_BACK'] = 'Witamy ponownie';
+$TEXT['FULL_NAME'] = 'Imi&#281; i nazwisko';
+$TEXT['ACCOUNT_SIGNUP'] = 'Nowe konto';
+$TEXT['LINK'] = 'Odno&#347;nik';
+$TEXT['ANCHOR'] = 'Anchor';
+$TEXT['TARGET'] = 'Cel';
+$TEXT['NEW_WINDOW'] = 'Nowe okno';
+$TEXT['SAME_WINDOW'] = 'To samo okno';
+$TEXT['TOP_FRAME'] = 'Top Frame';
+$TEXT['PAGE_LEVEL_LIMIT'] = 'Limit poziom&oacute;w stron';
+$TEXT['SUCCESS'] = 'Sukces';
+$TEXT['ERROR'] = 'B&#322;&#261;d';
+$TEXT['ARE_YOU_SURE'] = 'Czy aby na pewno?';
+$TEXT['YES'] = 'Tak';
+$TEXT['NO'] = 'Nie';
+$TEXT['SYSTEM_DEFAULT'] = 'Domy&#347;lne ustawienia systemu';
+$TEXT['PAGE_TITLE'] = 'Tytu&#322; strony';
+$TEXT['MENU_TITLE'] = 'Tytu&#322; menu';
+$TEXT['ACTIONS'] = 'Czynno&#347;ci';
+$TEXT['UNKNOWN'] = 'Nieznany';
+$TEXT['BLOCK'] = 'Blokuj';
+$TEXT['SEARCH'] = 'Szukaj';
+$TEXT['SEARCHING'] = 'Wyszukiwanie';
+$TEXT['POST'] = 'Wiadomo&#347;&#263;';
+$TEXT['COMMENT'] = 'Komentarz';
+$TEXT['COMMENTS'] = 'Komentarze';
+$TEXT['COMMENTING'] = 'Komentowanie';
+$TEXT['SHORT'] = 'Kr&oacute;tki';
+$TEXT['LONG'] = 'D&#322;ugi';
+$TEXT['LOOP'] = 'P&#281;tla';
+$TEXT['FIELD'] = 'Pole';
+$TEXT['REQUIRED'] = 'Wymagany';
+$TEXT['LENGTH'] = 'D&#322;ugo&#347;&#263;';
+$TEXT['MESSAGE'] = 'Wiadomo&#347;&#263;';
+$TEXT['SUBJECT'] = 'Temat';
+$TEXT['MATCH'] = 'Dopasuj';
+$TEXT['ALL_WORDS'] = 'Wszystkie s&#322;owa';
+$TEXT['ANY_WORDS'] = 'Dowolne ze s&#322;&oacute;w';
+$TEXT['EXACT_MATCH'] = 'Dopasowanie dok&#322;adne';
+$TEXT['SHOW'] = 'Wy&#347;wietl';
+$TEXT['HIDE'] = 'Schowaj';
+$TEXT['START_PUBLISHING'] = 'Rozpocznij publikowanie';
+$TEXT['FINISH_PUBLISHING'] = 'Zako&#324;cz publikowanie';
+$TEXT['DATE'] = 'Data';
+$TEXT['START'] = 'Start';
+$TEXT['END'] = 'Koniec';
+$TEXT['IMAGE'] = 'Obrazek';
+$TEXT['ICON'] = 'Ikona';
+$TEXT['SECTION'] = 'Sekcja';
+$TEXT['DATE_FORMAT'] = 'Format daty';
+$TEXT['TIME_FORMAT'] = 'Format czasu';
+$TEXT['RESULTS'] = 'Wyniki';
+$TEXT['RESIZE'] = 'Zmie&#324; rozmiar';
+$TEXT['MANAGE'] = 'Zarz&#261;dzaj';
+$TEXT['CODE'] = 'Kod';
+$TEXT['WIDTH'] = 'Szeroko&#347;&#263;';
+$TEXT['HEIGHT'] = 'Wysoko&#347;&#263;';
+$TEXT['MORE'] = 'Wi&#281;cej';
+$TEXT['READ_MORE'] = 'Czytaj dalej';
+$TEXT['CHANGE_SETTINGS'] = 'Zmie&#324; ustawienia';
+$TEXT['CURRENT_PAGE'] = 'Bie&#380;&#261;ca strona';
+$TEXT['CLOSE'] = 'Zamknij';
+$TEXT['INTRO_PAGE'] = 'Strona wprowadzaj&#261;ca';
+$TEXT['INSTALLATION_URL'] = 'URL instalacji';
+$TEXT['INSTALLATION_PATH'] = '&#346;cie&#380;ka instalacju';
+$TEXT['PAGE_EXTENSION'] = 'Rozszerzenie strony';
+$TEXT['NO_RESULTS'] = 'Brak wynik&oacute;w';
+$TEXT['WEBSITE_TITLE'] = 'Tytu&#322; witryny';
+$TEXT['WEBSITE_DESCRIPTION'] = 'Opis witryny';
+$TEXT['WEBSITE_KEYWORDS'] = 'S&#322;owa kluczowe witryny';
+$TEXT['WEBSITE_HEADER'] = 'Nag&#322;&oacute;wek witryny';
+$TEXT['WEBSITE_FOOTER'] = 'Stopka witryny';
+$TEXT['RESULTS_HEADER'] = 'Nag&#322;&oacute;wek wynik&oacute;w';
+$TEXT['RESULTS_LOOP'] = 'P&#281;tla wynik&oacute;w';
+$TEXT['RESULTS_FOOTER'] = 'Stopka wynik&oacute;w';
+$TEXT['LEVEL'] = 'Poziom';
+$TEXT['NOT_FOUND'] = 'Nie odnaleziono';
+$TEXT['PAGE_SPACER'] = 'Spacer strony';
+$TEXT['MATCHING'] = 'Pasuj&#261;ce';
+$TEXT['TEMPLATE_PERMISSIONS'] = 'Uprawnienia szablon&oacute;w';
+$TEXT['PAGES_DIRECTORY'] = 'Katalog stron';
+$TEXT['MEDIA_DIRECTORY'] = 'Katalog medi&oacute;w';
+$TEXT['FILE_MODE'] = 'Tryb plikw';
+$TEXT['USER'] = 'U&#380;ytkownik';
+$TEXT['OTHERS'] = 'Inni';
+$TEXT['READ'] = 'Odczytaj';
+$TEXT['WRITE'] = 'Zapisz';
+$TEXT['EXECUTE'] = 'Wykonaj';
+$TEXT['SMART_LOGIN'] = 'Inteligentne logowanie';
+$TEXT['REMEMBER_ME'] = 'Zapami&#281;taj mnie';
+$TEXT['FILESYSTEM_PERMISSIONS'] = 'Uprawnienia systemu plik&oacute;w';
+$TEXT['DIRECTORIES'] = 'Katalogi';
+$TEXT['DIRECTORY_MODE'] = 'Tryb katalog&oacute;w';
+$TEXT['LIST_OPTIONS'] = 'Listuj opcje';
+$TEXT['OPTION'] = 'Opcja';
+$TEXT['ALLOW_MULTIPLE_SELECTIONS'] = 'Pozw&oacute;l na wielokrotne wybory';
+$TEXT['TEXTFIELD'] = 'Pole tekstowe';
+$TEXT['TEXTAREA'] = 'Obszar tekstowy';
+$TEXT['SELECT_BOX'] = 'Pole wyboru';
+$TEXT['CHECKBOX_GROUP'] = 'Grupa p&oacute;l zaznaczanych';
+$TEXT['RADIO_BUTTON_GROUP'] = 'Grupa p&oacute;l prze&#322;&#261;czanych';
+$TEXT['SIZE'] = 'Rozmiar';
+$TEXT['DEFAULT_TEXT'] = 'Domy&#347;lny tekst';
+$TEXT['SEPERATOR'] = 'Separator';
+$TEXT['BACK'] = 'Wstecz';
+$TEXT['UNDER_CONSTRUCTION'] = 'W trakcie tworzenia';
+$TEXT['MULTISELECT'] = 'Wyb&oacute;r wielokrotny';
+$TEXT['SHORT_TEXT'] = 'Kr&oacute;tki tekst';
+$TEXT['LONG_TEXT'] = 'D&#322;ugi tekst';
+$TEXT['HOMEPAGE_REDIRECTION'] = 'Przekierowanie strony domowej';
+$TEXT['HEADING'] = 'Nag&#322;&oacute;wek';
+$TEXT['MULTIPLE_MENUS'] = 'Wielokrotne menu';
+$TEXT['REGISTERED'] = 'Zarejestrowany';
+$TEXT['SECTION_BLOCKS'] = 'Bloki sekcji';
+$TEXT['REGISTERED_VIEWERS'] = 'Zarejestrowani obserwatorzy';
+$TEXT['ALLOWED_VIEWERS'] = 'Allowed Viewers';
+$TEXT['SUBMISSION_ID'] = 'ID zg&#322;oszenia';
+$TEXT['SUBMISSIONS'] = 'Zg&#322;oszenia';
+$TEXT['SUBMITTED'] = 'Zg&#322;oszone';
+$TEXT['MAX_SUBMISSIONS_PER_HOUR'] = 'Maks. zg&#322;osze&#324; na godzin&#281;';
+$TEXT['SUBMISSIONS_STORED_IN_DATABASE'] = 'Zg&#322;oszenia przechowywane w bazie danych';
+$TEXT['EMAIL_ADDRESS'] = 'Adres e-mail';
+$TEXT['CUSTOM'] = 'W&#322;asny';
+$TEXT['ANONYMOUS'] = 'Anonimowy';
+$TEXT['SERVER_OPERATING_SYSTEM'] = 'System operacyjny serwera';
+$TEXT['WORLD_WRITEABLE_FILE_PERMISSIONS'] = 'Uprawnienia zapisywania plik&oacute;w przez wszystkich';
+$TEXT['LINUX_UNIX_BASED'] = 'oparty na Linux/Unix';
+$TEXT['WINDOWS'] = 'Windows';
+$TEXT['HOME_FOLDER'] = 'Folder domowy';
+$TEXT['HOME_FOLDERS'] = 'Foldery domowe';
+$TEXT['PAGE_TRASH'] = '&#346;mietnik stron';
+$TEXT['INLINE'] = 'Inline';
+$TEXT['SEPARATE'] = 'Osobno';
+$TEXT['DELETED'] = 'Usuni&#281;te';
+$TEXT['VIEW_DELETED_PAGES'] = 'Wy&#347;wietl usuni&#281;te strony';
+$TEXT['EMPTY_TRASH'] = 'Opr&oacute;&#380;nij &#347;mietnik';
+$TEXT['TRASH_EMPTIED'] = '&#346;mietnik opr&oacute;&#380;niony';
+$TEXT['ADD_SECTION'] = 'Dodaj sekcj&#281;';
+$TEXT['POST_HEADER'] = 'Nag&#322;&oacute;wek wiadomo&#347;ci';
+$TEXT['POST_FOOTER'] = 'Stopka wiadomo&#347;ci';
+$TEXT['POSTS_PER_PAGE'] = 'Wiadomo&#347;ci na stron&#281;';
+$TEXT['RESIZE_IMAGE_TO'] = 'Zmie&#324; rozmiar obrazk&oacute;w na';
+$TEXT['UNLIMITED'] = 'Nieograniczony';
+$TEXT['OF'] = 'z';
+$TEXT['OUT_OF'] = 'spoza';
+$TEXT['NEXT'] = 'Nast&#281;pny';
+$TEXT['PREVIOUS'] = 'Poprzedni';
+$TEXT['NEXT_PAGE'] = 'Nast&#281;pna strona';
+$TEXT['PREVIOUS_PAGE'] = 'Poprzednia strona';
+$TEXT['ON'] = 'dnia';
+$TEXT['LAST_UPDATED_BY'] = 'Ostatnio zmienione przez';
+$TEXT['RESULTS_FOR'] = 'Wyniki dla';
+$TEXT['TIME'] = 'Czas';
+$TEXT['REDIRECT_AFTER'] = 'Redirect after';
+$TEXT['WYSIWYG_STYLE'] = 'Styl WYSIWYG';
+$TEXT['WYSIWYG_EDITOR'] = 'Edytor WYSIWYG';
+$TEXT['SERVER_EMAIL'] = 'E-mail serwera';
+$TEXT['MENU'] = 'Menu';
+$TEXT['MANAGE_GROUPS'] = 'Zarz&#261;dzaj grupami';
+$TEXT['MANAGE_USERS'] = 'Zarz&#261;dzaj u&#380;ytkownikami';
+$TEXT['PAGE_LANGUAGES'] = 'J&#281;zyki stron';
+$TEXT['HIDDEN'] = 'Ukryty';
+$TEXT['MAIN'] = 'G&#322;&oacute;wny';
+$TEXT['RENAME_FILES_ON_UPLOAD'] = 'Zmie&#324; nazwy plik&oacute;w przy za&#322;adowywaniu';
+$TEXT['APP_NAME'] = 'Nazwa aplikacju';
+$TEXT['SESSION_IDENTIFIER'] = 'Identyfikator sesji';
+$TEXT['SEC_ANCHOR'] = 'Section-Anchor text';
+$TEXT['BACKUP'] = 'Kopia zapasowa';
+$TEXT['RESTORE'] = 'Przywr&oacute;&#263;';
+$TEXT['BACKUP_DATABASE'] = 'Kopia zapasowa bazy danych';
+$TEXT['RESTORE_DATABASE'] = 'Przywr&oacute;&#263; baz&#281; danych';
+$TEXT['BACKUP_ALL_TABLES'] = 'Backup all tables in database';
+$TEXT['BACKUP_WB_SPECIFIC'] = 'Backup only WB-specific tables';
+$TEXT['BACKUP_MEDIA'] = 'Kopia zapasowa medi&oacute;w';
+$TEXT['RESTORE_MEDIA'] = 'Przywr&oacute;&#263; media';
+$TEXT['ADMINISTRATION_TOOL'] = 'Narz&#281;dzie administracyjne';
+$TEXT['CAPTCHA_VERIFICATION'] = 'Weryfikacja Captcha';
+$TEXT['VERIFICATION'] = 'Weryfikacja';
+$TEXT['DEFAULT_CHARSET'] = 'Domy&#347;lne kodowanie znak&oacute;w';
+$TEXT['CHARSET'] = 'Kodowanie znak&oacute;w';
+$TEXT['MODULE_ORDER'] = 'Module-order for searching';
+$TEXT['MAX_EXCERPT'] = 'Max lines of excerpt';
+$TEXT['TIME_LIMIT'] = 'Max time to gather excerpts per module';
+$TEXT['PUBL_START_DATE'] = 'Start date';
+$TEXT['PUBL_END_DATE'] = 'End date';
+$TEXT['CALENDAR'] = 'Calender';
+$TEXT['DELETE_DATE'] = 'Delete date';
+$TEXT['WBMAILER_DEFAULT_SETTINGS_NOTICE'] = 'Please specify a default "FROM" address and "SENDER" name below. It is recommended to use a FROM address like: <strong>admin@yourdomain.com</strong>. Some mail provider (e.g. <em>mail.com</em>) may reject mails with a FROM: address like <em>name@mail.com</em> sent via a foreign relay to avoid spam.<br /><br />The default values are only used if no other values are specified by WebsiteBaker. If your server supports <acronym title="Simple mail transfer protocol">SMTP</acronym>, you may want use this option for outgoing mails.';
+$TEXT['WBMAILER_DEFAULT_SENDER_MAIL'] = 'Default From Mail';
+$TEXT['WBMAILER_DEFAULT_SENDER_NAME'] = 'Default Sender Name';
+$TEXT['WBMAILER_NOTICE'] = '<strong>SMTP Mailer Settings:</strong><br />The settings below are only required if you want to send mails via <acronym title="Simple mail transfer protocol">SMTP</acronym>. If you do not know your SMTP host or you are not sure about the required settings, simply stay with the default mail routine: PHP MAIL.';
+$TEXT['WBMAILER_FUNCTION'] = 'Mail Routine';
+$TEXT['WBMAILER_SMTP_HOST'] = 'SMTP Host';
+$TEXT['WBMAILER_PHP'] = 'PHP MAIL';
+$TEXT['WBMAILER_SMTP'] = 'SMTP';
+$TEXT['WBMAILER_SMTP_AUTH'] = 'SMTP Authentification';
+$TEXT['WBMAILER_SMTP_AUTH_NOTICE'] = 'only activate if your SMTP host requires authentification';
+$TEXT['WBMAILER_SMTP_USERNAME'] = 'SMTP Username';
+$TEXT['WBMAILER_SMTP_PASSWORD'] = 'SMTP Password';
+$TEXT['PLEASE_LOGIN'] = 'Please login';
+$TEXT['CAP_EDIT_CSS'] = 'Edit CSS';
+$TEXT['HEADING_CSS_FILE'] = 'Actual module file: ';
+$TEXT['TXT_EDIT_CSS_FILE'] = 'Edit the CSS definitions in the textarea below.';
+$TEXT['CODE_SNIPPET'] = "Code-snippet";
+$TEXT['REQUIREMENT'] = "Requirement";
+$TEXT['INSTALLED'] = "installed";
+$TEXT['NOT_INSTALLED'] = "not installed";
+$TEXT['ADDON'] = "Add-On";
+$TEXT['EXTENSION'] = "Extension";
+$TEXT['UNZIP_FILE'] = "Upload and unpack a zip archive";
+$TEXT['DELETE_ZIP'] = "Delete zip archive after unpacking";
+
+// Success/error messages
+$MESSAGE['FRONTEND']['SORRY_NO_VIEWING_PERMISSIONS'] = 'Niestety, nie masz uprawnie&#324; do ogl&#261;dania tej strony.';
+$MESSAGE['FRONTEND']['SORRY_NO_ACTIVE_SECTIONS'] = 'Sorry, no active content to display';
+
+$MESSAGE['ADMIN']['INSUFFICIENT_PRIVELLIGES'] = 'Niewystarczaj&#261;ce uprawnienia do ogl&#261;dania tej strony.';
+
+$MESSAGE['LOGIN']['BOTH_BLANK'] = 'Prosz&#281; wprowadzi&#263; poni&#380;ej swoj&#261; nazw&#281; u&#380;ytkownika i has&#322;o';
+$MESSAGE['LOGIN']['USERNAME_BLANK'] = 'Prosz&#281; wprowadzi&#263; nazw&#281; u&#380;ytkownika';
+$MESSAGE['LOGIN']['PASSWORD_BLANK'] = 'Prosz&#281; wprowadzi&#263; has&#322;o';
+$MESSAGE['LOGIN']['USERNAME_TOO_SHORT'] = 'Wprowadzona nawa u&#380;ytkownika zbyt kr&oacute;tka';
+$MESSAGE['LOGIN']['PASSWORD_TOO_SHORT'] = 'Wprowadzone has&#322;o zbyt kr&oacute;tkie';
+$MESSAGE['LOGIN']['USERNAME_TOO_LONG'] = 'Wprowadzona nazwa u&#380;ytkownika zbyt d&#322;uga';
+$MESSAGE['LOGIN']['PASSWORD_TOO_LONG'] = 'Wprowadzone has&#322;o zbyt kr&oacute;tkie';
+$MESSAGE['LOGIN']['AUTHENTICATION_FAILED'] = 'Nieprawid&#322;owa nazwa u&#380;ytkownika lub has&#322;o';
+
+$MESSAGE['SIGNUP']['NO_EMAIL'] = 'Nale&#380;y wprowadzi&#263; adres e-mail';
+$MESSAGE['SIGNUP2']['SUBJECT_LOGIN_INFO'] = 'Your login details...';
+$MESSAGE['SIGNUP2']['BODY_LOGIN_INFO'] = <<< EOT
+Hello {LOGIN_DISPLAY_NAME},
+
+Your '{LOGIN_WEBSITE_TITLE}' login details are:
+Username: {LOGIN_NAME}
+Password: {LOGIN_PASSWORD}
+
+Your password has been set to the one above.
+This means that your old password will no longer work.
+
+If you have received this message in error, please delete it immediately.
+EOT;
+
+$MESSAGE['FORGOT_PASS']['NO_DATA'] = 'Prosz&#281; wprowadzi&#263; poni&#380;ej sw&oacute;j adres e-mail';
+$MESSAGE['FORGOT_PASS']['EMAIL_NOT_FOUND'] = 'Wprowadzonego adresu e-mail nie ma w bazie danych';
+$MESSAGE['FORGOT_PASS']['CANNOT_EMAIL'] = 'Nie uda&#322;o si&#281; wys&#322;a&#263; has&#322;a, prosz&#281; si&#281; skontaktowa&#263; z administratorem';
+$MESSAGE['FORGOT_PASS']['PASSWORD_RESET'] = 'Twoja nazwa u&#380;ytkownika i has&#322;o zosta&#322;y wys&#322;ane na Tw&oacute;j adres e-mail';
+$MESSAGE['FORGOT_PASS']['ALREADY_RESET'] = 'Has&#322;o mo&#380;na resetowa&#263; tylko raz na godzin&#281;';
+
+$MESSAGE['START']['WELCOME_MESSAGE'] = 'Witamy w panelu administracyjnym WebsiteBakera';
+$MESSAGE['START']['INSTALL_DIR_EXISTS'] = 'Uwaga: katalog instalacyjny wci&#261;&#380; istnieje!';
+$MESSAGE['START']['CURRENT_USER'] = 'Jeste&#347; obecnie zalogowany(-a) jako:';
+
+$MESSAGE['SETTINGS']['UNABLE_OPEN_CONFIG'] = 'Nie mo&#380;na otworzy&#263; pliku konfiguracyjnego';
+$MESSAGE['SETTINGS']['UNABLE_WRITE_CONFIG'] = 'Nie mo&#380;na zapisa&#263; pliku konfiguracyjnego';
+$MESSAGE['SETTINGS']['SAVED'] = 'Ustawienia zosta&#322;y zapisane';
+$MESSAGE['SETTINGS']['MODE_SWITCH_WARNING'] = 'Uwaga: naci&#347;ni&#281;cie tego przycisku resetuje wszystkie niezapisane zmiany';
+$MESSAGE['SETTINGS']['WORLD_WRITEABLE_WARNING'] = 'Uwaga: to jest zalecane wy&#322;&#261;cznie w &#347;rodowiskach testowych';
+
+$MESSAGE['USERS']['ADDED'] = 'U&#380;ytkownik zosta&#322; dodany';
+$MESSAGE['USERS']['SAVED'] = 'U&#380;ytkownik zosta&#322; zapisany';
+$MESSAGE['USERS']['DELETED'] = 'U&#380;ytkownik zosta&#322; usuni&#281;ty';
+$MESSAGE['USERS']['NO_GROUP'] = 'Nie wybrano grupy';
+$MESSAGE['USERS']['USERNAME_TOO_SHORT'] = 'Wprowadzona nazwa u&#380;ytkownika by&#322;a za kr&oacute;tka';
+$MESSAGE['USERS']['PASSWORD_TOO_SHORT'] = 'Wprowadzone has&#322;o by&#322;o za kr&oacute;tkie';
+$MESSAGE['USERS']['PASSWORD_MISMATCH'] = 'Wprowadzone has&#322;a nie pasuj&#261;';
+$MESSAGE['USERS']['INVALID_EMAIL'] = 'Wprowadzony adres e-mail jest nieprawid&#322;owy';
+$MESSAGE['USERS']['EMAIL_TAKEN'] = 'Wprowadzony adres e-mail jest ju&#380; u&#380;ywany';
+$MESSAGE['USERS']['USERNAME_TAKEN'] = 'Wprowadzona nazwa u&#380;ytkownika jest ju&#380; zaj&#281;ta';
+$MESSAGE['USERS']['CHANGING_PASSWORD'] = 'Uwaga: Powy&#380;sze pola nale&#380;y wype&#322;ni&#263; tylko, je&#347;li chce si&#281; zmieni&#263; has&#322;o tego u&#380;ytkownika';
+$MESSAGE['USERS']['CONFIRM_DELETE'] = 'Czy aby na pewno usun&#261;&#263; wybranego u&#380;ytkownika?';
+
+$MESSAGE['GROUPS']['ADDED'] = 'Grupa zosta&#322;a dodana';
+$MESSAGE['GROUPS']['SAVED'] = 'Grupa zosta&#322;a zapisana';
+$MESSAGE['GROUPS']['DELETED'] = 'Grupa zosta&#322;a usuni&#281;ta';
+$MESSAGE['GROUPS']['GROUP_NAME_BLANK'] = 'Nazwa grupy jest pusta';
+$MESSAGE['GROUPS']['CONFIRM_DELETE'] = 'Czy aby na pewno usun&#261;&#263; wybran&#261; grup&#281; (i wszystkich u&#380;ytkownik&oacute;w, kt&oacute;rzy do niej nale&#380;&#261;)?';
+$MESSAGE['GROUPS']['NO_GROUPS_FOUND'] = 'Nie odnaleziono &#380;adnych grup';
+$MESSAGE['GROUPS']['GROUP_NAME_EXISTS'] = 'Grupa o takiej nazwie ju&#380; istnieje';
+
+$MESSAGE['PREFERENCES']['DETAILS_SAVED'] = 'Szczeg&oacute;&#322;y zosta&#322;y zapisane';
+$MESSAGE['PREFERENCES']['EMAIL_UPDATED'] = 'E-mail zosta&#322; zaktualizowany';
+$MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT'] = '(Bie&#380;&#261;ce) has&#322;o jest nieprawid&#322;owe';
+$MESSAGE['PREFERENCES']['PASSWORD_CHANGED'] = 'Has&#322;o zosta&#322;o zmienione';
+
+$MESSAGE['TEMPLATES']['CHANGE_TEMPLATE_NOTICE'] = 'Uwaga: aby zmieni&#263; szablon, nale&#380;y przej&#347;&#263; do sekcji Ustawienia';
+
+$MESSAGE['MEDIA']['DIR_DOT_DOT_SLASH'] = 'Nazwa folderu nie mo&#380;e zawiera&#263; ../';
+$MESSAGE['MEDIA']['DIR_DOES_NOT_EXIST'] = 'Katalog nie istnieje';
+$MESSAGE['MEDIA']['TARGET_DOT_DOT_SLASH'] = 'Folder docelowy nie mo&#380;e zawiera&#263; ../';
+$MESSAGE['MEDIA']['NAME_DOT_DOT_SLASH'] = 'Nazwa nie mo&#380;e zawiera&#263; ../';
+$MESSAGE['MEDIA']['NAME_INDEX_PHP'] = 'Nie mo&#380;na u&#380;y&#263; index.php jako nazwy';
+$MESSAGE['MEDIA']['NONE_FOUND'] = 'Nie odnaleziono &#380;adnych medi&oacute;w w bie&#380;&#261;cym folderze';
+$MESSAGE['MEDIA']['FILE_NOT_FOUND'] = 'Plik nieodnaleziony';
+$MESSAGE['MEDIA']['DELETED_FILE'] = 'Plik zosta&#322; usuni&#281;ty';
+$MESSAGE['MEDIA']['DELETED_DIR'] = 'Folder zosta&#322; usuni&#281;ty';
+$MESSAGE['MEDIA']['CONFIRM_DELETE'] = 'Czy aby na pewno usun&#261;&#263; nast&#281;puj&#261;ce pliki lub foldery?';
+$MESSAGE['MEDIA']['CANNOT_DELETE_FILE'] = 'Nie mo&#380;na usun&#261;&#263; wybranego pliku';
+$MESSAGE['MEDIA']['CANNOT_DELETE_DIR'] = 'Nie mo&#380;na usun&#261;&#263; wybranego folderu';
+$MESSAGE['MEDIA']['BLANK_NAME'] = 'Nie wprowadzono nazwy u&#380;ytkownika';
+$MESSAGE['MEDIA']['BLANK_EXTENSION'] = 'Nie wprowadzono rozszerzenia pliku';
+$MESSAGE['MEDIA']['RENAMED'] = 'Nazwa zosta&#322;a zmieniona';
+$MESSAGE['MEDIA']['CANNOT_RENAME'] = 'Nie uda&#322;o si&#281; zmieni&#263; nazwy';
+$MESSAGE['MEDIA']['FILE_EXISTS'] = 'Plik pasuj&#261;cy do wprowadzonej nazwy ju&#380; istnieje';
+$MESSAGE['MEDIA']['DIR_EXISTS'] = 'Folder pasuj&#261;cy do wprowadzonej nazwy ju&#380; istnieje';
+$MESSAGE['MEDIA']['DIR_MADE'] = 'Folder zosta&#322; utworzony';
+$MESSAGE['MEDIA']['DIR_NOT_MADE'] = 'Nie uda&#322;o si&#281; utworzy&#263; folderu';
+$MESSAGE['MEDIA']['SINGLE_UPLOADED'] = ' plik zosta&#322; pomy&#347;lnie za&#322;adowany';
+$MESSAGE['MEDIA']['UPLOADED'] = ' pliki zosta&#322;y pomy&#347;lnie za&#322;adowane';
+
+$MESSAGE['PAGES']['ADDED'] = 'Strona zosta&#322;a dodana';
+$MESSAGE['PAGES']['ADDED_HEADING'] = 'Nag&#322;&oacute;wek strony zosta&#322; dodany';
+$MESSAGE['PAGES']['PAGE_EXISTS'] = 'Strona o tym lub podobnym tytule ju&#380; istnieje';
+$MESSAGE['PAGES']['CANNOT_CREATE_ACCESS_FILE'] = 'B&#322;&#261;d podczas tworzenia pliku dost&#281;powego w katalogu /pages (niewystarczaj&#261;ce uprawnienia)';
+$MESSAGE['PAGES']['CANNOT_DELETE_ACCESS_FILE'] = 'B&#322;&#261;d podczas usuwania pliku dost&#281;powego w katalogu /pages (niewystarczaj&#261;ce uprawnienia)';
+$MESSAGE['PAGES']['NOT_FOUND'] = 'Strona nie znaleziona';
+$MESSAGE['PAGES']['SAVED'] = 'Strona zosta&#322;a zapisana';
+$MESSAGE['PAGES']['SAVED_SETTINGS'] = 'Ustawienia strony zosta&#322;y zapisane';
+$MESSAGE['PAGES']['NOT_SAVED'] = 'B&#322;&#261;d podczas zapisywania strony';
+$MESSAGE['PAGES']['DELETE_CONFIRM'] = 'Czy aby na pewno usun&#261;&#263; wybran&#261; stron&#281; (i wszystkie jej podstrony)';
+$MESSAGE['PAGES']['DELETED'] = 'Strona zosta&#322;a usuni&#281;ta';
+$MESSAGE['PAGES']['RESTORED'] = 'Strona zosta&#322;a przywr&oacute;cona';
+$MESSAGE['PAGES']['BLANK_PAGE_TITLE'] = 'Prosz&#281; wprowadzi&#263; tytu&#322; strony';
+$MESSAGE['PAGES']['BLANK_MENU_TITLE'] = 'Prosz&#281; wprowadzi&#263; tytu&#322; menu';
+$MESSAGE['PAGES']['REORDERED'] = 'Zmieniono kolejno&#347;&#263; stron';
+$MESSAGE['PAGES']['CANNOT_REORDER'] = 'B&#322;&#261;d podczas zmieniania kolejno&#347;ci stron';
+$MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS'] = 'Nie masz uprawnie&#324; do modyfikowania tej strony';
+$MESSAGE['PAGES']['INTRO_NOT_WRITABLE'] = 'Nie mo&#380;na zapisa&#263; pliku /pages/intro.php (niewystarczaj&#261;ce uprawnienia)';
+$MESSAGE['PAGES']['INTRO_SAVED'] = 'Strona wprowadzaj&#261;ca zosta&#322;&#261; zapisana';
+$MESSAGE['PAGES']['LAST_MODIFIED'] = 'Ostatnio zmodyfikowane przez';
+$MESSAGE['PAGES']['INTRO_LINK'] = 'Kliknij TUTAJ by zmieni&#263; stron&#281; wprowadzaj&#261;c&#261;';
+$MESSAGE['PAGES']['SECTIONS_PROPERTIES_SAVED'] = 'W&#322;a&#347;ciwo&#347;ci sekcji zosta&#322;y zapisane';
+$MESSAGE['PAGES']['RETURN_TO_PAGES'] = 'Powr&oacute;t do stron';
+
+$MESSAGE['GENERIC']['FILL_IN_ALL'] = 'Prosz&#281; si&#281; cofn&#261;&#263; i wype&#322;ni&#263; wszystkie pola';
+$MESSAGE['GENERIC']['FILE_TYPE'] = 'Prosz&#281; zwr&oacute;ci&#263; uwag&#281;, &#380;e &#322;adowany plik musi by&#263; w formacie:';
+$MESSAGE['GENERIC']['FILE_TYPES'] = 'Prosz&#281; zwr&oacute;ci&#263; uwag&#281;, &#380;e &#322;adowany plik musi by&#263; w jednym z format&oacute;w:';
+$MESSAGE['GENERIC']['CANNOT_UPLOAD'] = 'Nie mo&#380;na za&#322;adowa&#263; pliku';
+$MESSAGE['GENERIC']['ALREADY_INSTALLED'] = 'Ju&#380; zainstalowany';
+$MESSAGE['GENERIC']['NOT_INSTALLED'] = 'Niezainstalowany';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL'] = 'Nie mo&#380;na odinstalowa&#263;';
+$MESSAGE['GENERIC']['CANNOT_UNZIP'] = 'Nie mo&#380;na rozpakowa&#263; pliku';
+$MESSAGE['GENERIC']['INSTALLED'] = 'Zainstalowano pomy&#347;lnie';
+$MESSAGE['GENERIC']['UPGRADED'] = 'Zaktualizowano pomy&#347;lnie';
+$MESSAGE['GENERIC']['UNINSTALLED'] = 'Odinstalowano pomy&#347;lnie';
+$MESSAGE['GENERIC']['BAD_PERMISSIONS'] = 'Nie mo&#380;a zapisa&#263; do katalogu docelowego';
+$MESSAGE['GENERIC']['INVALID'] = 'Za&#322;adowany plik jest nieprawid&#322;owy';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE'] = 'Nie mo&#380;na odinstalowa&#263;: wybrany plik jest obecnie u&#380;ywany';
+
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL'] = "<br /><br />{{type}} <b>{{type_name}}</b> nie mo&#380;e by&#263; odinstalowany, poniewa&#380; jest u&#380;ywany przez {{pages}}:<br /><br />";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL_PAGES'] = "nast&#281;puj&#261;c&#261; stron&#281;;nast&#281;puj&#261;ce strony";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IS_DEFAULT_TEMPLATE'] = "Szablon <b>{{name}}</b> nie mo&#380;e by&#263; odinstalowany, poniewa&#380; jest ustawiony jako szablon domy&#347;lny!";
+
+$MESSAGE['GENERIC']['WEBSITE_UNDER_CONSTRUCTION'] = 'Witryna w trakcie tworzenia';
+$MESSAGE['GENERIC']['PLEASE_CHECK_BACK_SOON'] = 'Zapraszamy wkr&oacute;tce...';
+$MESSAGE['GENERIC']['PLEASE_BE_PATIENT'] = 'Prosimy o cierpliwo&#347;&#263;, to mo&#380;e troch&#281; potrwa&#263;.';
+$MESSAGE['GENERIC']['ERROR_OPENING_FILE'] = 'B&#322;&#261;d podczas otwierania pliku.';
+$MESSAGE['GENERIC']['INVALID_ADDON_FILE'] = 'Invalid WebsiteBaker installation file. Please check the *.zip format.';
+$MESSAGE['GENERIC']['INVALID_LANGUAGE_FILE'] = 'Invalid WebsiteBaker language file. Please check the text file.';
+
+$MESSAGE['MOD_FORM']['REQUIRED_FIELDS'] = 'Nale&#380;y wprowadzi&#263; szczeg&oacute;&#322;y dla nast&#281;puj&#261;cych p&oacute;l';
+$MESSAGE['MOD_FORM']['EXCESS_SUBMISSIONS'] = 'Niestety, ten formularz zosta&#322; wys&#322;any zbyt wiele razy w ci&#261;gu tej godziny. Prosimy spr&oacute;bowa&#263; ponownie za godzin&#281;.';
+$MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA'] = 'Wprowadzony numer weryfikacyjny (tzw. Captcha) jest nieprawid&#322;owy. Je&#347;li masz problemy z odczytaniem Captcha, napisz do: '.SERVER_EMAIL.'';
+
+$MESSAGE['ADDON']['RELOAD'] = 'Update database with information from Add-on files (e.g. after FTP upload).';
+$MESSAGE['ADDON']['ERROR_RELOAD'] = 'Error while updating the Add-On information.';
+$MESSAGE['ADDON']['MODULES_RELOADED'] = 'Modu&#322;y zosta&#322;y za&#322;adowane ponownie';
+$MESSAGE['ADDON']['TEMPLATES_RELOADED'] = 'Szablony zosta&#322;y za&#322;adowane ponownie';
+$MESSAGE['ADDON']['LANGUAGES_RELOADED'] = 'J&#281;zyki zosta&#322;y za&#322;adowane ponownie';
+$MESSAGE['ADDON']['PRECHECK_FAILED'] = 'Add-on installation failed. Your system does not fulfill the requirements of this Add-on. To make this Add-on working on your system, please fix the issues summarized below.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION'] = 'When modules are uploaded via FTP (not recommended), the module installation files <tt>install.php</tt>, <tt>upgrade.php</tt> or <tt>uninstall.php</tt> will not be executed automatically. Those modules may not work correct or do not uninstall properly.<br /><br />You can execute the module files manually for modules uploaded via FTP below.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION_WARNING'] = 'Warning: Existing module database entries will get lost. Only use this option if you experience problems with modules uploaded via FTP.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/languages/PL.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/languages/HU.php
===================================================================
--- tags/2.8.2/wb/languages/HU.php	(nonexistent)
+++ tags/2.8.2/wb/languages/HU.php	(revision 1481)
@@ -0,0 +1,598 @@
+<?php
+/**
+ *
+ * @category        framework
+ * @package         language
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// use languageedit-module to modify this file
+
+// Define that this file is loaded
+if(!defined('LANGUAGE_LOADED')) {
+define('LANGUAGE_LOADED', true);
+}
+
+// Set the language information
+$language_code = 'HU';
+$language_name = 'Magyar';
+$language_version = '2.8';
+$language_platform = '2.8.x';
+$language_author = 'Zsolt + Robert';
+$language_license = 'GNU General Public License';
+
+// Menu titles
+$MENU['START'] = 'KezdÄ¬ap';
+$MENU['PAGES'] = 'Weblapok';
+$MENU['MEDIA'] = 'MÃ©dia';
+$MENU['ADDONS'] = 'KiegÃ©szÃ­tÄ«';
+$MENU['MODULES'] = 'Modulok';
+$MENU['TEMPLATES'] = 'Sablonok';
+$MENU['LANGUAGES'] = 'Nyelvek';
+$MENU['PREFERENCES'] = 'SajÃ¡t adatok';
+$MENU['SETTINGS'] = 'ParamÃ©terek';
+$MENU['ADMINTOOLS'] = 'Admin-EszkÃ¶zÃ¶k';
+$MENU['ACCESS'] = 'JogosultsÃ¡gok';
+$MENU['USERS'] = 'FelhasznÃ¡lÃ³k';
+$MENU['GROUPS'] = 'Csoportok';
+$MENU['HELP'] = 'SÃºgÃ³';
+$MENU['VIEW'] = 'PortÃ¡l nÃ©zet';
+$MENU['LOGOUT'] = 'KilÃ©pÃ©s';
+$MENU['LOGIN'] = 'BelÃ©pÃ©s';
+$MENU['FORGOT'] = 'Elfelejtett jelszÃ³';
+
+
+// Section overviews
+$OVERVIEW['START'] = 'Admin Ã¡ttekintÃ©s';
+$OVERVIEW['PAGES'] = 'A PortÃ¡l Weblapjainak kezelÃ©se...';
+$OVERVIEW['MEDIA'] = 'A "media" kÃ¶nyvtÃ¡rban tÃ¡rolt fileok kezelÃ©se...';
+$OVERVIEW['MODULES'] = 'WebsiteBaker modulok kezelÃ©se...';
+$OVERVIEW['TEMPLATES'] = 'A Honlap megjelenÃ©sÃ©nek vÃ¡ltoztatÃ¡sa Sablonokkal...';
+$OVERVIEW['LANGUAGES'] = 'WebsiteBaker nyelvi beÃ¡llÃ­tÃ¡sok...';
+$OVERVIEW['PREFERENCES'] = 'BeÃ¡llÃ­tÃ¡sok megvÃ¡ltoztatÃ¡sa mint: email, jelszÃ³, stb... ';
+$OVERVIEW['SETTINGS'] = 'A rendszer globÃ¡lis beÃ¡llÃ­tÃ¡sa...';
+$OVERVIEW['USERS'] = 'FelhasznÃ¡lÃ³k bejelentkezÃ©si engedÃ©lyei...';
+$OVERVIEW['GROUPS'] = 'Csoportok Ã©s azok rendszer jogainak kezelÃ©se...';
+$OVERVIEW['HELP'] = 'KÃ©rdÃ©sed van? itt talÃ¡lsz vÃ¡laszt...  (Angol)';
+$OVERVIEW['VIEW'] = 'A kÃ©sz PortÃ¡l megtekintÃ©se Ãºj ablakban...';
+$OVERVIEW['ADMINTOOLS'] = 'WebsiteBaker adminisztrÃ¡ciÃ³s eszkÃ¶zÃ¶k...';
+
+// Headings
+$HEADING['MODIFY_DELETE_PAGE'] = 'Lap mÃ³dosÃ­tÃ¡sa/TÃ¶rlÃ©se';
+$HEADING['DELETED_PAGES'] = 'TÃ¶rÃ¶lt Lapok';
+$HEADING['ADD_PAGE'] = 'Lap hozzÃ¡adÃ¡sa';
+$HEADING['ADD_HEADING'] = 'FejlÃ©c hozzÃ¡adÃ¡sa';
+$HEADING['MODIFY_PAGE'] = 'Lap mÃ³dosÃ­tÃ¡sa';
+$HEADING['MODIFY_PAGE_SETTINGS'] = 'Lap beÃ¡llÃ­tÃ¡sainak mÃ³dosÃ­tÃ¡sa';
+$HEADING['MODIFY_ADVANCED_PAGE_SETTINGS'] = 'SpeciÃ¡lis beÃ¡llÃ­tÃ¡sok';
+$HEADING['MANAGE_SECTIONS'] = 'Szakaszok kezelÃ©se';
+$HEADING['MODIFY_INTRO_PAGE'] = 'BevezetÃ lap mÃ³dosÃ­tÃ¡sa';
+
+$HEADING['BROWSE_MEDIA'] = 'MÃ©dia bÃ¶ngÃ©szÃ©se';
+$HEADING['CREATE_FOLDER'] = 'Âª kÃ¶nyvtÃ¡r';
+$HEADING['UPLOAD_FILES'] = 'FÃ¡jl(ok) feltÃ¶ltÃ©se';
+
+$HEADING['INSTALL_MODULE'] = 'Modul telepÃ­tÃ©s';
+$HEADING['UNINSTALL_MODULE'] = 'Modul eltÃ¡volÃ­tÃ¡s';
+$HEADING['MODULE_DETAILS'] = 'Modul infÃ³';
+
+$HEADING['INSTALL_TEMPLATE'] = 'Sablon telepÃ­tÃ©s';
+$HEADING['UNINSTALL_TEMPLATE'] = 'Sablon eltÃ¡volÃ­tÃ¡s';
+$HEADING['TEMPLATE_DETAILS'] = 'Sablon infÃ³';
+
+$HEADING['INSTALL_LANGUAGE'] = 'Nyelv telepÃ­tÃ©s';
+$HEADING['UNINSTALL_LANGUAGE'] = 'Nyelv eltÃ¡volÃ­tÃ¡s';
+$HEADING['LANGUAGE_DETAILS'] = 'Nyelv InfÃ³';
+
+$HEADING['MY_SETTINGS'] = 'BeÃ¡llÃ­tÃ¡sok';
+$HEADING['MY_EMAIL'] = 'E-mail';
+$HEADING['MY_PASSWORD'] = 'JelszÃ³';
+
+$HEADING['GENERAL_SETTINGS'] = 'Â¬talÃ¡nos beÃ¡llÃ­tÃ¡sok';
+$HEADING['DEFAULT_SETTINGS'] = 'AlapÃ©rtelmezett BeÃ¡llÃ­tÃ¡sok';
+$HEADING['SEARCH_SETTINGS'] = 'KeresÃ©si beÃ¡llÃ­tÃ¡sok';
+$HEADING['FILESYSTEM_SETTINGS'] = 'FÃ¡jl Rendszer';
+$HEADING['SERVER_SETTINGS'] = 'Szerver beÃ¡llÃ­tÃ¡sok';
+$HEADING['WBMAILER_SETTINGS'] = 'LevelezÃ BeÃ¡llÃ­tÃ¡sok';
+$HEADING['ADMINISTRATION_TOOLS'] = 'AdminisztrÃ¡ciÃ³s eszkÃ¶zÃ¶k';
+
+$HEADING['MODIFY_DELETE_USER'] = 'FelhasznÃ¡lÃ³ mÃ³dosÃ­tÃ¡sa/tÃ¶rlÃ©se';
+$HEADING['ADD_USER'] = 'FelhasznÃ¡lÃ³ hozzÃ¡adÃ¡sa';
+$HEADING['MODIFY_USER'] = 'FelhasznÃ¡lÃ³ mÃ³dosÃ­tÃ¡sa';
+
+
+$HEADING['MODIFY_DELETE_GROUP'] = 'Csoport mÃ³dosÃ­tÃ¡sa/tÃ¶rlÃ©se';
+$HEADING['ADD_GROUP'] = 'Csoport mÃ³dosÃ­tÃ¡sa';
+$HEADING['MODIFY_GROUP'] = 'Csoport mÃ³dosÃ­tÃ¡sa';
+
+$HEADING['ADDON_PRECHECK_FAILED'] = 'KiegÃ©szÃ­tÃ kÃ¶vetelmÃ©nyek nem megfelelÄ¥k';
+$HEADING['INVOKE_MODULE_FILES'] = 'Modul fÃ¡jlok vÃ©grehajtÃ¡sa manuÃ¡lisan';
+
+// Other text
+$TEXT['OPEN'] = 'MegnyitÃ¡s';
+$TEXT['ADD'] = 'HozzÃ¡ad';
+$TEXT['MODIFY'] = 'MÃ³dosÃ­tÃ¡s';
+$TEXT['SETTINGS'] = 'BeÃ¡llÃ­tÃ¡s';
+$TEXT['DELETE'] = 'TÃ¶rlÃ©s';
+$TEXT['SAVE'] = 'MentÃ©s';
+$TEXT['RESET'] = 'Visszavon';
+$TEXT['LOGIN'] = 'BelÃ©pÃ©s';
+$TEXT['RELOAD'] = 'ÂªratÃ¶ltÃ©s';
+$TEXT['CANCEL'] = 'MÃ©gse';
+$TEXT['NAME'] = 'NÃ©v';
+$TEXT['PLEASE_SELECT'] = 'KÃ©rem vÃ¡lasszon';
+$TEXT['TITLE'] = 'CÃ­m';
+$TEXT['PARENT'] = 'AlmenÃ¼je ennek';
+$TEXT['TYPE'] = 'TÃ­pus';
+$TEXT['VISIBILITY'] = 'MegjelenÃ©s';
+$TEXT['PRIVATE'] = 'PrivÃ¡t';
+$TEXT['PUBLIC'] = 'Publikus';
+$TEXT['NONE'] = 'Egyik sem';
+$TEXT['NONE_FOUND'] = 'Nem talÃ¡lhatÃ³';
+$TEXT['CURRENT'] = 'AktuÃ¡lis';
+$TEXT['CHANGE'] = 'MÃ³dosÃ­t';
+$TEXT['WINDOW'] = 'Ablak';
+$TEXT['DESCRIPTION'] = 'LeÃ­rÃ¡s';
+$TEXT['KEYWORDS'] = 'Kulcsszavak';
+$TEXT['ADMINISTRATORS'] = 'AdminisztrÃ¡torok';
+$TEXT['PRIVATE_VIEWERS'] = 'PrivÃ¡t jogosultak';
+$TEXT['EXPAND'] = 'Kibont';
+$TEXT['COLLAPSE'] = 'Â³szecsuk';
+$TEXT['MOVE_UP'] = 'Mozgat Fel';
+$TEXT['MOVE_DOWN'] = 'Mozgat Le';
+$TEXT['RENAME'] = 'Â´nevez';
+$TEXT['MODIFY_SETTINGS'] = 'BeÃ¡llÃ­tÃ¡sok mÃ³dosÃ­tÃ¡sa';
+$TEXT['MODIFY_CONTENT'] = 'Tartalom mÃ³dosÃ­tÃ¡sa';
+$TEXT['VIEW'] = 'NÃ©zet';
+$TEXT['UP'] = 'Fel';
+$TEXT['FORGOTTEN_DETAILS'] = 'Mi is a jelszÃ³?';
+$TEXT['NEED_TO_LOGIN'] = 'Vissza a belÃ©pÃ©shez';
+$TEXT['SEND_DETAILS'] = 'JelszÃ³ elkÃ¼ldÃ©se';
+$TEXT['USERNAME'] = 'FelhasznÃ¡lÃ³nÃ©v';
+$TEXT['PASSWORD'] = 'JelszÃ³';
+$TEXT['HOME'] = 'KezdÄ¬ap';
+$TEXT['TARGET_FOLDER'] = 'CÃ©l kÃ¶nyvtÃ¡r';
+$TEXT['OVERWRITE_EXISTING'] = 'MeglÃ©vÃ felÃ¼lÃ­rÃ¡sa';
+$TEXT['FILE'] = 'FÃ¡jl';
+$TEXT['FILES'] = 'FÃ¡jlok';
+$TEXT['FOLDER'] = 'KÃ¶nyvtÃ¡r';
+$TEXT['FOLDERS'] = 'KÃ¶nyvtÃ¡rak';
+$TEXT['CREATE_FOLDER'] = 'KÃ¶nyvtÃ¡r lÃ©trehozÃ¡sa';
+$TEXT['UPLOAD_FILES'] = 'FÃ¡jl feltÃ¶ltÃ©s';
+$TEXT['CURRENT_FOLDER'] = 'AktuÃ¡lis kÃ¶nyvtÃ¡r';
+$TEXT['TO'] = 'CÃ­mzett';
+$TEXT['FROM'] = 'FeladÃ³';
+$TEXT['INSTALL'] = 'TelepÃ­t';
+$TEXT['UNINSTALL'] = 'EltÃ¡volÃ­t';
+$TEXT['VIEW_DETAILS'] = 'InfÃ³t megnÃ©z';
+$TEXT['DISPLAY_NAME'] = 'MegjelenÃ NÃ©v';
+$TEXT['AUTHOR'] = 'SzerzÃ§';
+$TEXT['VERSION'] = 'VerziÃ³';
+$TEXT['DESIGNED_FOR'] = 'Tervezve';
+$TEXT['DESCRIPTION'] = 'LeÃ­rÃ¡s';
+$TEXT['EMAIL'] = 'E-mail';
+$TEXT['LANGUAGE'] = 'Nyelv';
+$TEXT['TIMEZONE'] = 'IdÄºÃ³na';
+$TEXT['CURRENT_PASSWORD'] = 'AktuÃ¡lis JelszÃ³';
+$TEXT['NEW_PASSWORD'] = 'Âª JelszÃ³';
+$TEXT['RETYPE_NEW_PASSWORD'] = 'Âª JelszÃ³ mÃ©gegyszer';
+$TEXT['ACTIVE'] = 'AktÃ­v';
+$TEXT['DISABLED'] = 'Letiltva';
+$TEXT['ENABLED'] = 'EngedÃ©lyezve';
+$TEXT['RETYPE_PASSWORD'] = 'JelszÃ³ mÃ©gegyszer';
+$TEXT['GROUP'] = 'Csoport';
+$TEXT['SYSTEM_PERMISSIONS'] = 'Rendszer engedÃ©lyek';
+$TEXT['MODULE_PERMISSIONS'] = 'Modul engedÃ©lyek';
+$TEXT['SHOW_ADVANCED'] = 'SpeciÃ¡lis beÃ¡llÃ­tÃ¡sok mutatÃ¡sa';
+$TEXT['HIDE_ADVANCED'] = 'SpeciÃ¡lis beÃ¡llÃ­tÃ¡sok elrejtÃ©se';
+$TEXT['BASIC'] = 'Alap';
+$TEXT['ADVANCED'] = 'BÄ¶Ã­tett';
+$TEXT['WEBSITE'] = 'Weblap';
+$TEXT['DEFAULT'] = 'AlapÃ©rtelmezett';
+$TEXT['KEYWORDS'] = 'Kulcsszavak';
+$TEXT['TEXT'] = 'SzÃ¶veg';
+$TEXT['HEADER'] = 'FejlÃ©c';
+$TEXT['FOOTER'] = 'LÃ¡blÃ©c';
+$TEXT['TEMPLATE'] = 'Weboldal Sablon';
+$TEXT['THEME'] = 'Admin TÃ©ma';
+$TEXT['INSTALLATION'] = 'TelepÃ­tÃ©s';
+$TEXT['DATABASE'] = 'AdatbÃ¡zis';
+$TEXT['HOST'] = 'Host';
+$TEXT['INTRO'] = 'BevezetÃ§';
+$TEXT['PAGE'] = 'Lap';
+$TEXT['SIGNUP'] = 'RegisztrÃ¡lÃ¡s...';
+$TEXT['PHP_ERROR_LEVEL'] = 'PHP hibajelentÃ©si szint';
+$TEXT['ADMIN'] = 'Admin';
+$TEXT['PATH'] = 'Â´vonal';
+$TEXT['URL'] = 'URL';
+$TEXT['FRONTEND'] = 'MegjelenÃ felÃ¼let';
+$TEXT['EXTENSION'] = 'KiterjesztÃ©s';
+$TEXT['TABLE_PREFIX'] = 'TÃ¡bla elÄ´ag';
+$TEXT['CHANGES'] = 'VÃ¡tozÃ¡sok';
+$TEXT['ADMINISTRATION'] = 'AdminisztrÃ¡lÃ¡s';
+$TEXT['FORGOT_DETAILS'] = 'Elfelejtettem a jelszÃ³t.';
+$TEXT['LOGGED_IN'] = 'Bejelentkezve';
+$TEXT['WELCOME_BACK'] = 'Â¤v';
+$TEXT['FULL_NAME'] = 'Teljes nÃ©v';
+$TEXT['ACCOUNT_SIGNUP'] = 'FiÃ³k LÃ©trehozÃ¡s';
+$TEXT['LINK'] = 'HivatkozÃ¡s';
+$TEXT['ANCHOR'] = 'Horgony';
+$TEXT['TARGET'] = 'CÃ©l';
+$TEXT['NEW_WINDOW'] = 'Âª ablak';
+$TEXT['SAME_WINDOW'] = 'Azonos Ablak';
+$TEXT['TOP_FRAME'] = 'FelsÃ Keret';
+$TEXT['PAGE_LEVEL_LIMIT'] = 'Lap szint limit';
+$TEXT['SUCCESS'] = 'Sikeres';
+$TEXT['ERROR'] = 'Hiba';
+$TEXT['ARE_YOU_SURE'] = 'Biztos hogy ezt akarja?';
+$TEXT['YES'] = 'Igen';
+$TEXT['NO'] = 'Nem';
+$TEXT['SYSTEM_DEFAULT'] = 'Rendszer alapÃ©rtelmezett';
+$TEXT['PAGE_TITLE'] = 'Lap cÃ­m';
+$TEXT['MENU_TITLE'] = 'Menu CÃ­m';
+$TEXT['ACTIONS'] = 'TevÃ©kenysÃ©gek';
+$TEXT['UNKNOWN'] = 'Ismeretlen';
+$TEXT['BLOCK'] = 'Blokk';
+$TEXT['SEARCH'] = 'KeresÃ©s';
+$TEXT['SEARCHING'] = 'KeresÃ©s...';
+$TEXT['POST'] = 'Cikk';
+$TEXT['COMMENT'] = 'MegjegyzÃ©s';
+$TEXT['COMMENTS'] = 'MegjegyzÃ©sek';
+$TEXT['COMMENTING'] = 'KommentÃ¡lÃ¡s';
+$TEXT['SHORT'] = 'RÃ¶vid';
+$TEXT['LONG'] = 'HosszÅ±';
+$TEXT['LOOP'] = 'ismÃ©tlÄ¤Ã¼/br> tÃ¶rzs szakasz';
+$TEXT['FIELD'] = 'MezÃ§';
+$TEXT['REQUIRED'] = 'KÃ¶telezÃ§';
+$TEXT['LENGTH'] = 'Hossz';
+$TEXT['MESSAGE'] = 'Âºenet';
+$TEXT['SUBJECT'] = 'TÃ¡rgy';
+$TEXT['MATCH'] = 'Egyezik';
+$TEXT['ALL_WORDS'] = 'Minden szÃ³';
+$TEXT['ANY_WORDS'] = 'BÃ¡rmely szÃ³';
+$TEXT['EXACT_MATCH'] = 'Pontos egyezÃ©s';
+$TEXT['SHOW'] = 'Mutat';
+$TEXT['HIDE'] = 'Elrejt';
+$TEXT['START_PUBLISHING'] = 'PublikÃ¡lÃ¡s kezdete';
+$TEXT['FINISH_PUBLISHING'] = 'PublikÃ¡lÃ¡s vÃ©ge';
+$TEXT['DATE'] = 'DÃ¡tum';
+$TEXT['START'] = 'KezdÃ©s';
+$TEXT['END'] = 'VÃ©ge';
+$TEXT['IMAGE'] = 'KÃ©p';
+$TEXT['ICON'] = 'Ikon';
+$TEXT['SECTION'] = 'Szakasz';
+$TEXT['DATE_FORMAT'] = 'DÃ¡tum formÃ¡tum';
+$TEXT['TIME_FORMAT'] = 'IdÃ formÃ¡tum';
+$TEXT['RESULTS'] = 'EredmÃ©nyek';
+$TEXT['RESIZE'] = 'Âªra mÃ©retez';
+$TEXT['MANAGE'] = 'Kezel';
+$TEXT['CODE'] = 'KÃ³d';
+$TEXT['WIDTH'] = 'SzÃ©lessÃ©g';
+$TEXT['HEIGHT'] = 'MagassÃ¡g';
+$TEXT['MORE'] = 'BÄ¶ebben';
+$TEXT['READ_MORE'] = '</br>TovÃ¡bb...</br>';
+$TEXT['CHANGE_SETTINGS'] = 'BeÃ¡llÃ­tÃ¡sok megvÃ¡ltoztatÃ¡sa';
+$TEXT['CURRENT_PAGE'] = 'AktuÃ¡lis Lap';
+$TEXT['CLOSE'] = 'BezÃ¡r';
+$TEXT['INTRO_PAGE'] = 'BevezetÃ Lap';
+$TEXT['INSTALLATION_URL'] = 'TelepÃ­tÃ©si URL';
+$TEXT['INSTALLATION_PATH'] = 'TelepÃ­tÃ©si Ãºtvonal';
+$TEXT['PAGE_EXTENSION'] = 'Lap kiterjesztÃ©s';
+$TEXT['NO_RESULTS'] = 'Nincs eredmÃ©ny';
+$TEXT['WEBSITE_TITLE'] = 'Weblap CÃ­m';
+$TEXT['WEBSITE_DESCRIPTION'] = 'Weblap leÃ­rÃ¡s';
+$TEXT['WEBSITE_KEYWORDS'] = 'Weblap kulcsszavak';
+$TEXT['WEBSITE_HEADER'] = 'Weblap fejlÃ©c';
+$TEXT['WEBSITE_FOOTER'] = 'Weblap lÃ¡blÃ©c';
+$TEXT['RESULTS_HEADER'] = 'EredmÃ©nyek fejlÃ©c';
+$TEXT['RESULTS_LOOP'] = 'EredmÃ©nyek ciklus';
+$TEXT['RESULTS_FOOTER'] = 'EredmÃ©nyek lÃ¡blÃ©c';
+$TEXT['LEVEL'] = 'Szint';
+$TEXT['NOT_FOUND'] = 'Nem talÃ¡lhatÃ³';
+$TEXT['PAGE_SPACER'] = 'Lap filenÃ©v elvÃ¡lasztÃ³';
+$TEXT['MATCHING'] = 'EgyezÃ©s';
+$TEXT['TEMPLATE_PERMISSIONS'] = 'Sablon jogosultsÃ¡gok';
+$TEXT['PAGES_DIRECTORY'] = 'Lap kÃ¶nyvtÃ¡r';
+$TEXT['MEDIA_DIRECTORY'] = 'MÃ©dia kÃ¶nyvtÃ¡r';
+$TEXT['FILE_MODE'] = 'File MÃ³d';
+$TEXT['USER'] = 'FelhasznÃ¡lÃ³';
+$TEXT['OTHERS'] = 'Egyebek';
+$TEXT['READ'] = 'OlrÃ¡s';
+$TEXT['WRITE'] = 'g';
+$TEXT['EXECUTE'] = 'VÃ©grehajtÃ¡s';
+$TEXT['SMART_LOGIN'] = 'Okos bejelentkezÃ©s';
+$TEXT['REMEMBER_ME'] = 'EmlÃ©kezzen';
+$TEXT['FILESYSTEM_PERMISSIONS'] = 'File rendszer jogosultsÃ¡gok';
+$TEXT['DIRECTORIES'] = 'KÃ¶nyvtÃ¡rak';
+$TEXT['DIRECTORY_MODE'] = 'KÃ¶nyvtÃ¡r mÃ³d';
+$TEXT['LIST_OPTIONS'] = 'Lista opciÃ³k';
+$TEXT['OPTION'] = 'OpciÃ³k';
+$TEXT['ALLOW_MULTIPLE_SELECTIONS'] = 'TÃ¶bbet is kivÃ¡laszthat';
+$TEXT['TEXTFIELD'] = 'SzÃ¶vegmezÃ§';
+$TEXT['TEXTAREA'] = 'SzÃ¶vegterÃ¼let';
+$TEXT['SELECT_BOX'] = 'JelÃ¶lÃ nÃ©gyzet';
+$TEXT['CHECKBOX_GROUP'] = 'JelÃ¶lÃ nÃ©gyzet csoport';
+$TEXT['RADIO_BUTTON_GROUP'] = 'VÃ¡lasztÃ³ gomb csoport';
+$TEXT['SIZE'] = 'MÃ©ret';
+$TEXT['DEFAULT_TEXT'] = 'AlapÃ©rtelmezett szÃ¶veg';
+$TEXT['SEPERATOR'] = 'ElvÃ¡lasztÃ³';
+$TEXT['BACK'] = 'Vissza';
+$TEXT['UNDER_CONSTRUCTION'] = 'FejlesztÃ©s alatt';
+$TEXT['MULTISELECT'] = 'TÃ¶bb vÃ¡lasztÃ¡sos';
+$TEXT['SHORT_TEXT'] = 'RÃ¶vid szÃ¶veg';
+$TEXT['LONG_TEXT'] = 'HosszÃº szÃ¶veg';
+$TEXT['HOMEPAGE_REDIRECTION'] = 'Honlap Ã¡tirÃ¡nyÃ­tÃ¡s';
+$TEXT['HEADING'] = 'CÃ­msor';
+$TEXT['MULTIPLE_MENUS'] = 'TÃ¶bbszintÅ± menÃ¼';
+$TEXT['REGISTERED'] = 'RegisztrÃ¡lva';
+$TEXT['SECTION_BLOCKS'] = 'Szakaszok';
+$TEXT['REGISTERED_VIEWERS'] = 'RegisztrÃ¡lt lÃ¡togatÃ³k';
+$TEXT['ALLOWED_VIEWERS'] = 'EngedÃ©lyezett lÃ¡togatÃ³k';
+$TEXT['SUBMISSION_ID'] = 'BekÃ¼ldÃ©s azonosÃ­tÃ³';
+$TEXT['SUBMISSIONS'] = 'BekÃ¼ldÃ©sek';
+$TEXT['SUBMITTED'] = 'ElkÃ¼ldve';
+$TEXT['MAX_SUBMISSIONS_PER_HOUR'] = 'Max. bekÃ¼ldÃ©s Ã³rÃ¡nkÃ©nt';
+$TEXT['SUBMISSIONS_STORED_IN_DATABASE'] = 'TÃ¡rolva az adatbÃ¡zisban';
+$TEXT['EMAIL_ADDRESS'] = 'E-mail CÃ­m';
+$TEXT['CUSTOM'] = 'EgyÃ©ni';
+$TEXT['ANONYMOUS'] = 'NÃ©vtelen';
+$TEXT['SERVER_OPERATING_SYSTEM'] = 'Szerver OperÃ¡ciÃ³s Rendszer';
+$TEXT['WORLD_WRITEABLE_FILE_PERMISSIONS'] = 'Mindenki Ã¡ltal Ã­rhatÃ³ file jogok';
+$TEXT['LINUX_UNIX_BASED'] = 'Linux/Unix';
+$TEXT['WINDOWS'] = 'Windows';
+$TEXT['HOME_FOLDER'] = 'Home KÃ¶nyvtÃ¡r';
+$TEXT['HOME_FOLDERS'] = 'Home KÃ¶nyvtÃ¡rak';
+$TEXT['PAGE_TRASH'] = 'Lap kuka';
+$TEXT['INLINE'] = 'Sorban';
+$TEXT['SEPARATE'] = 'KÃ¼lÃ¶nÃ¡llÃ³';
+$TEXT['DELETED'] = 'TÃ¶rÃ¶lve';
+$TEXT['VIEW_DELETED_PAGES'] = 'TÃ¶rÃ¶lt Lapok megtekintÃ©se';
+$TEXT['EMPTY_TRASH'] = 'Kuka Ã¼rÃ­tÃ©s';
+$TEXT['TRASH_EMPTIED'] = 'Kuka kiÃ¼rÃ­tve';
+$TEXT['ADD_SECTION'] = 'Szakasz hozzÃ¡adÃ¡sa';
+$TEXT['POST_HEADER'] = 'Âºenet fejblÃ©c';
+$TEXT['POST_FOOTER'] = 'Âºenet lÃ¡blÃ©c';
+$TEXT['POSTS_PER_PAGE'] = 'Âºenetek laponkÃ©nt';
+$TEXT['RESIZE_IMAGE_TO'] = 'KÃ©p Ã¡tmÃ©retezÃ©se';
+$TEXT['UNLIMITED'] = 'VÃ©gtelen';
+$TEXT['OF'] = 'Ã¶sszesen:';
+$TEXT['OUT_OF'] = 'TÃºl';
+$TEXT['NEXT'] = 'KÃ¶vetkeÃ§';
+$TEXT['PREVIOUS'] = 'ElÄºÃ§';
+$TEXT['NEXT_PAGE'] = 'KÃ¶vetkeÃ oldal';
+$TEXT['PREVIOUS_PAGE'] = 'ElÄºÃ oldal';
+$TEXT['ON'] = 'Be';
+$TEXT['LAST_UPDATED_BY'] = 'MÃ³dosÃ­totta';
+$TEXT['RESULTS_FOR'] = 'Keresett';
+$TEXT['TIME'] = 'IdÃ§';
+$TEXT['REDIRECT_AFTER'] = 'Â´irÃ¡nyÃ­tÃ¡s';
+$TEXT['WYSIWYG_STYLE'] = 'WYSIWYG StÃ­lus';
+$TEXT['WYSIWYG_EDITOR'] = 'WYSIWYG SzerkesztÃ§';
+$TEXT['SERVER_EMAIL'] = 'PortÃ¡l E-mail cÃ­me';
+$TEXT['MENU'] = 'MenÃ¼';
+$TEXT['MANAGE_GROUPS'] = 'Csoportok kezelÃ©se';
+$TEXT['MANAGE_USERS'] = 'FelhasznÃ¡lÃ³k kezelÃ©se';
+$TEXT['PAGE_LANGUAGES'] = 'Lap nyelv';
+$TEXT['HIDDEN'] = 'Rejtett';
+$TEXT['MAIN'] = 'FÃ§';
+$TEXT['RENAME_FILES_ON_UPLOAD'] = 'FÃ¡jlok Ã¡tnevezÃ©se feltÃ¶ltÃ©snÃ©l';
+$TEXT['APP_NAME'] = 'AlkalmazÃ¡s Neve';
+$TEXT['SESSION_IDENTIFIER'] = 'Session AzonosÃ­tÃ³';
+$TEXT['SEC_ANCHOR'] = 'SzekciÃ³-Horgony szÃ¶veg';
+$TEXT['BACKUP'] = 'BiztonsÃ¡gi MentÃ©s';
+$TEXT['RESTORE'] = 'VisszaÃ¡llÃ­tÃ¡s';
+$TEXT['BACKUP_DATABASE'] = 'AdatbÃ¡zis MentÃ©se';
+$TEXT['RESTORE_DATABASE'] = 'AdatbÃ¡zis VisszaÃ¡llÃ­tÃ¡sa';
+$TEXT['BACKUP_ALL_TABLES'] = 'Minden adatbÃ¡zis tÃ¡bla mentÃ©se';
+$TEXT['BACKUP_WB_SPECIFIC'] = 'Csak WB specifikus adatbÃ¡zis tÃ¡bla mentÃ©se';
+$TEXT['BACKUP_MEDIA'] = 'BiztonsÃ¡gi mentÃ©s MÃ©dia';
+$TEXT['RESTORE_MEDIA'] = 'VisszaÃ¡llÃ­tÃ¡si MÃ©dia';
+$TEXT['ADMINISTRATION_TOOL'] = 'AdminisztrÃ¡ciÃ³s EszkÃ¶z';
+$TEXT['CAPTCHA_VERIFICATION'] = 'Captcha EllenÃ¶rzÃ©s';
+$TEXT['VERIFICATION'] = 'EllenÃ¶rzÃ©s';
+$TEXT['DEFAULT_CHARSET'] = 'AlapÃ©rtelmezett KarakterrkÃ©szlet';
+$TEXT['CHARSET'] = 'KarakterkÃ©szlet';
+$TEXT['MODULE_ORDER'] = 'Modul sorrend keresÃ©snÃ©l';
+$TEXT['MAX_EXCERPT'] = 'Maximum talÃ¡lat';
+$TEXT['TIME_LIMIT'] = 'MaximÃ¡lis idÃ a modulonkÃ©nti talÃ¡latra';
+$TEXT['PUBL_START_DATE'] = 'KezdÃ dÃ¡tum';
+$TEXT['PUBL_END_DATE'] = 'ZÃ¡rÃ³ dÃ¡tum';
+$TEXT['CALENDAR'] = 'NaptÃ¡r';
+$TEXT['DELETE_DATE'] = 'DÃ¡tum tÃ¶rlÃ©se';
+$TEXT['WBMAILER_DEFAULT_SETTINGS_NOTICE'] = 'KÃ©rlek add meg az alapÃ©rtelmezett "KÃ¼ldÃ email" cÃ­met Ã©s a "KÃ¼ldÃ szemÃ©ly" mezÄ´. AjÃ¡nlott az alÃ¡bbi fosznÃ¡lata: <strong>admin@tedomained.hu</strong>. NÃ©mely szolgÃ¡ltatÃ³ (e.g. <em>mail.com</em>) VisszautasÃ­thatja a leveleket az olyan kÃ¼ldÃ cÃ­mtÄ¬ mint <@mail.com</em> ez azÃ©rt van hogy megakadÃ¡lyozzÃ¡k a SPAM kÃ¼ldÃ©st.<br /><br />Az alapÃ©rtelmezett Ã©rtÃ©kek csak akkor Ã©rvÃ©nyesek,ha nincs mÃ¡s megadva aker-ben. Ha a szervered tÃ¡mogatja <acronym title="Simple mail transfer protocol">SMTP</acronym>protokolt, akkor hasznÃ¡lhatod ezt az opciÃ³t levÃ©l kÃ¼ldÃ©;hez.';
+$TEXT['WBMAILER_DEFAULT_SENDER_MAIL'] = 'KÃ¼ldÃ email';
+$TEXT['WBMAILER_DEFAULT_SENDER_NAME'] = 'KÃ¼ldÃ szemÃ©ly';
+$TEXT['WBMAILER_NOTICE'] = '<strong>SMTP Mailer BeÃ¡llÃ­tÃ¡sok:</strong><br />Ezek a beÃ¡llÃ­tÃ¡sok csak akkor szÃ¼ksÃ©gesek, ha emailt akarsz kÃ¼ldeni <acro="Simple mail transfer protocol">SMTP</acronym> protokollon keresztÃ¼l. Ha nem tudod az SMTP kiszolgÃ¡lÃ³dat, vagy nem vagy biztos a kÃ¶vetlemÃ©nyekben, akkoszerÅ±en maradj az alap beÃ¡llÃ­tÃ¡snÃ¡l: PHP MAIL.';
+$TEXT['WBMAILER_FUNCTION'] = 'Mail Rutin';
+$TEXT['WBMAILER_SMTP_HOST'] = 'SMTP Host';
+$TEXT['WBMAILER_PHP'] = 'PHP MAIL';
+$TEXT['WBMAILER_SMTP'] = 'SMTP';
+$TEXT['WBMAILER_SMTP_AUTH'] = 'SMTP AzonosÃ­tÃ¡s';
+$TEXT['WBMAILER_SMTP_AUTH_NOTICE'] = 'csak akkor aktivÃ¡ld ha az SMTP host azonosÃ­tÃ¡st kÃ©r';
+$TEXT['WBMAILER_SMTP_USERNAME'] = 'SMTP FelhasznÃ¡lÃ³nÃ©v';
+$TEXT['WBMAILER_SMTP_PASSWORD'] = 'SMTP JelszÃ³';
+$TEXT['PLEASE_LOGIN'] = 'KÃ©rem lÃ©pjen be';
+$TEXT['CAP_EDIT_CSS'] = 'CSS SzerkesztÃ©se';
+$TEXT['HEADING_CSS_FILE'] = 'AktuÃ¡lis Modul FÃ¡jl: ';
+$TEXT['TXT_EDIT_CSS_FILE'] = 'Itt szerkesztheted a CSS definÃ­ciÃ³kat.';
+$TEXT['CODE_SNIPPET'] = 'Code-rÃ©szlet';
+$TEXT['REQUIREMENT'] = 'KÃ¶vetelemÃ©ny';
+$TEXT['INSTALLED'] = 'telepÃ­tve';
+$TEXT['NOT_INSTALLED'] = 'nincs telepÃ­tve';
+$TEXT['ADDON'] = 'KigÃ©szÃ­tÃ§';
+$TEXT['EXTENSION'] = 'BÄ¶Ã­tmÃ©ny';
+$TEXT['UNZIP_FILE'] = 'ZIP archÃ­vum feltÃ¶ltÃ©se Ã©s kicsomagolÃ¡sa';
+$TEXT['DELETE_ZIP'] = 'ZIP archÃ­vum tÃ¶rlÃ©se kicsomagolÃ¡s utÃ¡n&';
+
+// Success/error messages
+$MESSAGE['FRONTEND']['SORRY_NO_VIEWING_PERMISSIONS'] = 'SajnÃ¡ljuk, de a megjelenÃ­tÃ©shez nincs jogosultsÃ¡ga!';
+$MESSAGE['FRONTEND']['SORRY_NO_ACTIVE_SECTIONS'] = 'Sajnos nincs megjelenÃ­thetÃ tartalom';
+
+$MESSAGE['ADMIN']['INSUFFICIENT_PRIVELLIGES'] = 'Itt nincs elegendÃ jogosultsÃ¡god!';
+
+$MESSAGE['LOGIN']['BOTH_BLANK'] = 'KÃ©rem adja meg a FelhasznÃ¡lÃ³nevet Ã©s a jelszÃ³t';
+$MESSAGE['LOGIN']['USERNAME_BLANK'] = 'KÃ©rem adja meg a FelhasznÃ¡lÃ³nevet';
+$MESSAGE['LOGIN']['PASSWORD_BLANK'] = 'KÃ©rem adja meg a jelszÃ³t';
+$MESSAGE['LOGIN']['USERNAME_TOO_SHORT'] = 'TÃºl rÃ¶vid FelhasznÃ¡lÃ³nÃ©v';
+$MESSAGE['LOGIN']['PASSWORD_TOO_SHORT'] = 'TÃºl rÃ¶vid jelszÃ³';
+$MESSAGE['LOGIN']['USERNAME_TOO_LONG'] = 'TÃºl hosszÃº FelhasznÃ¡lÃ³nÃ©v';
+$MESSAGE['LOGIN']['PASSWORD_TOO_LONG'] = 'TÃºl hosszÃº jelszÃ³';
+$MESSAGE['LOGIN']['AUTHENTICATION_FAILED'] = 'FelhasznÃ¡lÃ³nÃ©v vagy a jelszÃ³ nem megfelelÃ¡';
+
+$MESSAGE['SIGNUP']['NO_EMAIL'] = 'E-mail cÃ­met meg kell adnia';
+$MESSAGE['SIGNUP2']['SUBJECT_LOGIN_INFO'] = 'BejelentkezÃ©si rÃ©szletek...';
+$MESSAGE['SIGNUP2']['BODY_LOGIN_INFO'] = <<< EOT
+Â¤vÃ¶zÃ¶llek {LOGIN_DISPLAY_NAME},
+
+A te belÃ©pÃ©sed a(z) '{LOGIN_WEBSITE_TITLE}' oldalra az alÃ¡bbiak:
+FelhasznÃ¡lÃ³nÃ©v: {LOGIN_NAME}
+JelszÃ³: {LOGIN_PASSWORD}
+
+A jelszavadat elkÃ¼ldÃ¼k az email cÃ­medre.
+Ez azt jelenti, hogy a rÃ©gi jelszavad mÃ¡r nem hasznÃ¡lhatÃ³.
+
+Ha nem te kÃ©rted a jelszÃ³ vÃ¡ltoztatÃ¡st, akkor kÃ©rlek tÃ¶rÃ¶ld ezt az emailt.
+EOT;
+
+$MESSAGE['FORGOT_PASS']['NO_DATA'] = 'KÃ©rem Ã­rja be az E-mail cÃ­mÃ©t';
+$MESSAGE['FORGOT_PASS']['EMAIL_NOT_FOUND'] = 'Az Â® Ã¡ltal megadott E-mail cÃ­m nem talalhatÃ³ adatbÃ¡zisunkban';
+$MESSAGE['FORGOT_PASS']['CANNOT_EMAIL'] = 'Az E-mail kÃ¼ldÃ©s problÃ©mÃ¡ba Ã¼tkÃ¶zÃ¶tt, kÃ©rem vegye fel a kapcsolatot az adminisztrÃ¡torral';
+$MESSAGE['FORGOT_PASS']['PASSWORD_RESET'] = 'A FelhasznÃ¡lÃ³nevÃ©t Ã©s jelszavÃ¡t elkÃ¼ldtÃ¼k az Â® E-mail cÃ­mÃ©re';
+$MESSAGE['FORGOT_PASS']['ALREADY_RESET'] = 'SajnÃ¡ljuk, de a jelszÃ³t nem lehet egy Ã³rÃ¡n belÃ¼l tÃ¶bbszÃ¶r ÃºjrakÃ©rni';
+
+$MESSAGE['START']['WELCOME_MESSAGE'] = 'Â¤v a WebsiteBaker Admin felÃ¼letÃ©n';
+$MESSAGE['START']['INSTALL_DIR_EXISTS'] = 'FigyelmeztetÃ©s! A telepÃ­tÃ©si kÃ¶nyvtÃ¡r mÃ©g nem lett tÃ¶rÃ¶lve!';
+$MESSAGE['START']['CURRENT_USER'] = 'Bejelentkezve mint:';
+
+$MESSAGE['SETTINGS']['UNABLE_OPEN_CONFIG'] = 'A konfigurÃ¡ciÃ³s file nem nyithatÃ³ meg';
+$MESSAGE['SETTINGS']['UNABLE_WRITE_CONFIG'] = 'Nem lehetsÃ©ges a konfigurÃ¡ciÃ³s file Ã­rÃ¡sa';
+$MESSAGE['SETTINGS']['SAVED'] = 'BeÃ¡llÃ­tÃ¡sok sikeresen elmentve';
+$MESSAGE['SETTINGS']['MODE_SWITCH_WARNING'] = 'FigyelmeztetÃ©s: A nem mentett vÃ¡ltozÃ¡sok elvesznek';
+$MESSAGE['SETTINGS']['WORLD_WRITEABLE_WARNING'] = 'FigyelmeztetÃ©s: Ez csak tesztkÃ¶rnyezetben javasolt';
+
+$MESSAGE['USERS']['ADDED'] = 'FelhasznÃ¡lÃ³ sikeresen hozzÃ¡adva';
+$MESSAGE['USERS']['SAVED'] = 'FelhasznÃ¡lÃ³ sikeresen mentve';
+$MESSAGE['USERS']['DELETED'] = 'FelhasznÃ¡lÃ³ tÃ¶rÃ¶lve';
+$MESSAGE['USERS']['NO_GROUP'] = 'Csoport nincs kivÃ¡lasztva';
+$MESSAGE['USERS']['USERNAME_TOO_SHORT'] = 'A beÃ­rt FelhasznÃ¡lÃ³nÃ©v tÃºl rÃ¶vid';
+$MESSAGE['USERS']['PASSWORD_TOO_SHORT'] = 'A beÃ­rt jelszÃ³ tÃºl rÃ¶vid';
+$MESSAGE['USERS']['PASSWORD_MISMATCH'] = 'A beÃ­rt jelszÃ³ nem eggyezik';
+$MESSAGE['USERS']['INVALID_EMAIL'] = 'Az E-mail cÃ­m nem valÃ³s';
+$MESSAGE['USERS']['EMAIL_TAKEN'] = 'Sajnos a megadott E-mail cÃ­met mÃ¡r hasznÃ¡latban van';
+$MESSAGE['USERS']['USERNAME_TAKEN'] = 'MÃ¡r foglalt FelhasznÃ¡lÃ³nÃ©v';
+$MESSAGE['USERS']['CHANGING_PASSWORD'] = 'Figyelem: A jelszÃ³t itt csak annak megvÃ¡ltoztatÃ¡sakor kell megadni';
+$MESSAGE['USERS']['CONFIRM_DELETE'] = 'Biztos, hogy tÃ¶rÃ¶lni a kivÃ¡lasztott felhasznÃ¡lÃ³t?';
+
+$MESSAGE['GROUPS']['ADDED'] = 'Csoport sikeresen hozzÃ¡adva';
+$MESSAGE['GROUPS']['SAVED'] = 'Csoport elmentve';
+$MESSAGE['GROUPS']['DELETED'] = 'Csoport tÃ¶rÃ¶lve';
+$MESSAGE['GROUPS']['GROUP_NAME_BLANK'] = 'Â²es a csoportnÃ©v';
+$MESSAGE['GROUPS']['CONFIRM_DELETE'] = 'Biztos, hogy tÃ¶rÃ¶lni akarja a kijelÃ¶lt csoportot? (Minden felhasznÃ¡lÃ³ja tÃ¶rlÄ¤ik)';
+$MESSAGE['GROUPS']['NO_GROUPS_FOUND'] = 'Nincs csoport';
+$MESSAGE['GROUPS']['GROUP_NAME_EXISTS'] = 'Csoport nÃ©v mÃ¡r lÃ©tezik';
+
+$MESSAGE['PREFERENCES']['DETAILS_SAVED'] = 'Sikeres mentÃ©s';
+$MESSAGE['PREFERENCES']['EMAIL_UPDATED'] = 'E-mail frissÃ­tve';
+$MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT'] = 'A jelenlegi jelszÃ³ hibÃ¡s';
+$MESSAGE['PREFERENCES']['PASSWORD_CHANGED'] = 'A jelszÃ³ sikeresen megvÃ¡ltozott';
+
+$MESSAGE['TEMPLATES']['CHANGE_TEMPLATE_NOTICE'] = 'Figyelem: A sablon megvÃ¡ltoztatÃ¡sÃ¡t a beÃ¡llÃ­tÃ¡sokban teheti meg';
+
+$MESSAGE['MEDIA']['DIR_DOT_DOT_SLASH'] = 'Nem tartalmazhat ../ -t a kÃ¶nyvtÃ¡r nÃ©v';
+$MESSAGE['MEDIA']['DIR_DOES_NOT_EXIST'] = 'Nem lehet ../ a cÃ©l mezÄ¢en';
+$MESSAGE['MEDIA']['TARGET_DOT_DOT_SLASH'] = 'Nem lehet ../ in kÃ¶nyvtÃ¡r nÃ©vben';
+$MESSAGE['MEDIA']['NAME_DOT_DOT_SLASH'] = 'Nem lehet ../ a nÃ©vben';
+$MESSAGE['MEDIA']['NAME_INDEX_PHP'] = 'Nem lehet index.php a nÃ©v';
+$MESSAGE['MEDIA']['NONE_FOUND'] = 'Nem talÃ¡lhatÃ³ semmilyen mÃ©dia file az aktuÃ¡lis kÃ¶nyvtÃ¡rban';
+$MESSAGE['MEDIA']['FILE_NOT_FOUND'] = 'File nem talÃ¡lhatÃ³';
+$MESSAGE['MEDIA']['DELETED_FILE'] = 'File tÃ¶rÃ¶lve';
+$MESSAGE['MEDIA']['DELETED_DIR'] = 'KÃ¶nyvtÃ¡r tÃ¶rÃ¶lve';
+$MESSAGE['MEDIA']['CONFIRM_DELETE'] = 'Biztos hogy tÃ¶rli a kÃ¶vetkezÃ file-t vagy kÃ¶nyvtÃ¡rat?';
+$MESSAGE['MEDIA']['CANNOT_DELETE_FILE'] = 'Nem lehet tÃ¶rÃ¶lni a kivÃ¡lasztott file-t';
+$MESSAGE['MEDIA']['CANNOT_DELETE_DIR'] = 'Nem lehet tÃ¶rÃ¶lni a kivÃ¡lasztott kÃ¶nyvtÃ¡rat';
+$MESSAGE['MEDIA']['BLANK_NAME'] = 'Nem adott meg Ãºj nevet';
+$MESSAGE['MEDIA']['BLANK_EXTENSION'] = 'Nem adott meg file kiterjesztÃ©st';
+$MESSAGE['MEDIA']['RENAMED'] = 'Â´nevezÃ©s sikeres';
+$MESSAGE['MEDIA']['CANNOT_RENAME'] = 'Nem sikerÃ¼lt Ã¡tnevezni';
+$MESSAGE['MEDIA']['FILE_EXISTS'] = 'Ilyen nevÅ± file mÃ¡r lÃ©tezik';
+$MESSAGE['MEDIA']['DIR_EXISTS'] = 'Ilyen nevÅ± kÃ¶nyvtÃ¡r mÃ¡r lÃ©tezik';
+$MESSAGE['MEDIA']['DIR_MADE'] = 'A kÃ¶nyvtÃ¡r sikeresen lÃ©trehozva';
+$MESSAGE['MEDIA']['DIR_NOT_MADE'] = 'nem sikerÃ¼lt lÃ©trehozni a kÃ¶nyvtÃ¡rat';
+$MESSAGE['MEDIA']['SINGLE_UPLOADED'] = ' file sikeresen feltÃ¶ltve';
+$MESSAGE['MEDIA']['UPLOADED'] = ' file sikeresen feltÃ¶ltve';
+
+$MESSAGE['PAGES']['ADDED'] = 'Lap sikeresen hozzÃ¡adva';
+$MESSAGE['PAGES']['ADDED_HEADING'] = 'Lap cÃ­msor sikeresen hozzÃ¡adva';
+$MESSAGE['PAGES']['PAGE_EXISTS'] = 'Ilyen lap mÃ¡r lÃ©tezik';
+$MESSAGE['PAGES']['CANNOT_CREATE_ACCESS_FILE'] = 'Nem lehet lÃ©trehozni az access filet a /pages kÃ¶nyvtÃ¡rban (nem megfelelÃ jogosultsÃ¡gok)';
+$MESSAGE['PAGES']['CANNOT_DELETE_ACCESS_FILE'] = 'Nem lehet tÃ¶rÃ¶lni az access filet a /pages kÃ¶nyvtÃ¡rban (nem megfelelÃ jogosultsÃ¡gok)';
+$MESSAGE['PAGES']['NOT_FOUND'] = 'Lap nem talÃ¡lhatÃ³';
+$MESSAGE['PAGES']['SAVED'] = 'Lap sikeresen elmentve';
+$MESSAGE['PAGES']['SAVED_SETTINGS'] = 'Lap beÃ¡llÃ­tÃ¡sok elmentve';
+$MESSAGE['PAGES']['NOT_SAVED'] = 'Hiba a lap mentÃ©se kÃ¶zben';
+$MESSAGE['PAGES']['DELETE_CONFIRM'] = 'Biztos, hogy tÃ¶rÃ¶lni akarja az adott lapot? (Ã©s az Ã¶sszes al lapjÃ¡t)';
+$MESSAGE['PAGES']['DELETED'] = 'Lap tÃ¶rÃ¶lve';
+$MESSAGE['PAGES']['RESTORED'] = 'lap visszaÃ¡llÃ­tva';
+$MESSAGE['PAGES']['BLANK_PAGE_TITLE'] = 'KÃ©rem adjon meg Lap cÃ­met';
+$MESSAGE['PAGES']['BLANK_MENU_TITLE'] = 'KÃ©rem adjon meg menÃ¼ nevet';
+$MESSAGE['PAGES']['REORDERED'] = 'Lap sikeresen Ã¡trendezve';
+$MESSAGE['PAGES']['CANNOT_REORDER'] = 'Hiba a Lap Ã¡trendezÃ©s kÃ¶zben';
+$MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS'] = 'Nincs joga mÃ³dosÃ­tani ezt a lapot';
+$MESSAGE['PAGES']['INTRO_NOT_WRITABLE'] = 'Nem lehet lÃ©trehozni /pages/intro.php file-t (nincs megfelelÃ jogosultsÃ¡g)';
+$MESSAGE['PAGES']['INTRO_SAVED'] = 'BevezetÃ lap sikeresen elmentve';
+$MESSAGE['PAGES']['LAST_MODIFIED'] = 'UtoljÃ¡ra mÃ³dosÃ­totta:';
+$MESSAGE['PAGES']['INTRO_LINK'] = 'Kattintson ide az BevezetÃ Lap mÃ³dosÃ­tÃ¡sÃ¡hoz';
+$MESSAGE['PAGES']['SECTIONS_PROPERTIES_SAVED'] = 'Szakasz tulajdonsÃ¡gok elmentve';
+$MESSAGE['PAGES']['RETURN_TO_PAGES'] = 'VisszatÃ©rÃ©s a lapokhoz';
+
+$MESSAGE['GENERIC']['FILL_IN_ALL'] = 'KÃ©rem tÃ©rjen vissza Ã©s tÃ¶ltsÃ¶n ki minden mezÄ´';
+$MESSAGE['GENERIC']['FILE_TYPE'] = 'A feltÃ¶ltÃ¶tt file csak ilyen formÃ¡tumÃº lehet:';
+$MESSAGE['GENERIC']['FILE_TYPES'] = 'A feltÃ¶ltÃ¶tt file-ok csak a kÃ¶vetkezÃ formÃ¡tumuak lehetnek:';
+$MESSAGE['GENERIC']['CANNOT_UPLOAD'] = 'File feltÃ¶ltÃ©s nem lehetsÃ©ges';
+$MESSAGE['GENERIC']['ALREADY_INSTALLED'] = 'MÃ¡r telepÃ­tve';
+$MESSAGE['GENERIC']['NOT_INSTALLED'] = 'Nincs telpÃ­tve';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL'] = 'Nem lehet eltÃ¡volÃ­tani';
+$MESSAGE['GENERIC']['CANNOT_UNZIP'] = 'KicsomagolÃ¡s nem lehetsÃ©ges';
+$MESSAGE['GENERIC']['INSTALLED'] = 'TelepÃ­tÃ©s sikeres';
+$MESSAGE['GENERIC']['UPGRADED'] = 'Upgraded successfully';
+$MESSAGE['GENERIC']['UNINSTALLED'] = 'EltÃ¡volÃ­tÃ¡s sikeres';
+$MESSAGE['GENERIC']['BAD_PERMISSIONS'] = 'A cÃ©l kÃ¶nyvtÃ¡r nem Ã­rhatÃ³';
+$MESSAGE['GENERIC']['INVALID'] = 'A feltÃ¶ltÃ¶tt file nem megfelelÃ§';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE'] = 'Nem lehet eltÃ¡voltÃ­tani! A file hasznÃ¡latban van.';
+
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL'] = '<br /><br />{{type}} <b>{{type_name}}</b> nem lehet eltÃ¡volÃ­tani, mert mÃ©g hasznÃ¡latban van a kÃ¶vÃ oldalon: {{pages}}.<br /><br />';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL_PAGES'] = 'ez az oldal;ezek az oldalak';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IS_DEFAULT_TEMPLATE'] = 'Nem lehet eltÃ¡volÃ­tani ezt a sablont: <b>{{name}}</b>, mert ez az alapÃ©rtelmezett!';
+
+$MESSAGE['GENERIC']['WEBSITE_UNDER_CONSTRUCTION'] = 'A Weboldal KarbantartÃ¡s Alatt';
+$MESSAGE['GENERIC']['PLEASE_CHECK_BACK_SOON'] = 'KÃ©rem tÃ©rjen vissza kÃ©sÄ¢b!';
+$MESSAGE['GENERIC']['PLEASE_BE_PATIENT'] = 'KÃ©rem vÃ¡rjon, ez eltarthat egy ideig.';
+$MESSAGE['GENERIC']['ERROR_OPENING_FILE'] = 'FÃ¡jl megnyitÃ¡s hiba.';
+$MESSAGE['GENERIC']['INVALID_ADDON_FILE'] = 'Â²vÃ©nytelen WebsiteBaker telepÃ­tÃ fÃ¡jl. KÃ©rlek ellenÄ²izd a *.zip formÃ¡tumot.';
+$MESSAGE['GENERIC']['INVALID_LANGUAGE_FILE'] = 'Â²vÃ©nytelen WebsiteBaker nyelvi fÃ¡jl. KÃ©rlek ellenÄ²izd a szÃ¶veges fÃ¡jlt.';
+
+$MESSAGE['MOD_FORM']['REQUIRED_FIELDS'] = 'A kÃ¶vetkezÃ mezÄ«et kÃ¶telezÃ kitÃ¶ltenie';
+
+$MESSAGE['MOD_FORM']['EXCESS_SUBMISSIONS'] = 'SajnÃ¡ljuk, de ez az Å±rlap tÃºl sokszor lett kitÃ¶ltve egy Ã³ran belÃ¼l! KÃ©rem prÃ³bÃ¡lja meg egy Ã³ra mÃºlva';
+$MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA'] = 'A megadott ellenÃ¶rzÃ kÃ³d (vagy mÃ¡s nÃ©ven Captcha) hibÃ¡s. Ha problÃ©mÃ¡d van elolvasni a Captcha kÃ³dot, kÃ¼mailt ide: '.SERVER_EMAIL;
+
+$MESSAGE['ADDON']['RELOAD'] = 'AdatbÃ¡zis frissÃ­tÃ©se KiegÃ©szÃ­tÃ fÃ¡jlok feltÃ¶ltÃ©se utÃ¡n (pl. FTP-s feltÃ¶ltÃ©s).';
+$MESSAGE['ADDON']['ERROR_RELOAD'] = 'Hiba tÃ¶rtÃ©nt a KiegÃ©szÃ­tÄ« informÃ¡ciÃ³inak frissÃ­tÃ©se kÃ¶zben.';
+$MESSAGE['ADDON']['MODULES_RELOADED'] = 'Modulok sikeresen ÃºjratÃ¶ltve';
+$MESSAGE['ADDON']['TEMPLATES_RELOADED'] = 'Sablonok sikeresen ÃºjratÃ¶ltve';
+$MESSAGE['ADDON']['LANGUAGES_RELOADED'] = 'Nyelvi fÃ¡jlok sikeresen ÃºjratÃ¶ltve';
+$MESSAGE['ADDON']['PRECHECK_FAILED'] = 'KiegÃ©szÃ­tÃ telepÃ­tÃ©se sikertelen. A rendszered nem felel meg a KiegÃ©szÃ­tÄ¢en megadott kÃ¶vetelmÃ©nyeknek. A KiehiÃ¡nyossÃ¡gainak kijavÃ­tÃ¡sÃ¡hoz tekintsd Ã¡t az alÃ¡bbi hibalistÃ¡t.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION'] = 'Amikor manuÃ¡lisan tÃ¶ltesz fel egy modult FTP-n keresztÃ¼l (nem ajÃ¡nlott), akkor a modul telepÃ­tÃ fÃ¡jlok <tt>l.php</tt>, <tt>upgrade.php</tt> vagy <tt>uninstall.php</tt> nem fognak automatikusan vÃ©grehajtÃ³dni. Ezek a modulok nem biztos hogy jÃ³l fognak mÅ±kÃ¶dni, tÃ¶rlÄ¤ni.<br /><br />VÃ©gre tudod hajtani a modul telepÃ­tÃ©seket manuÃ¡lisan FTP feltÃ¶ltÃ©s esetÃ©n alÃ¡bb.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION_WARNING'] = 'FigyelmeztetÃ©s: MeglÃ©vÃ modul adatbÃ¡zis bejegyzÃ©sek tÃ¶rlÄ¤nek. Csak akkor hasznÃ¡ld ezt az opciÃ³t hlisan tÃ¶ltÃ¶d fel a modult FTP-n keresztÃ¼l.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/languages/HU.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/languages/IT.php
===================================================================
--- tags/2.8.2/wb/languages/IT.php	(nonexistent)
+++ tags/2.8.2/wb/languages/IT.php	(revision 1481)
@@ -0,0 +1,595 @@
+<?php
+/**
+ *
+ * @category        framework
+ * @package         language
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// use languageedit-module to modify this file
+
+// Define that this file is loaded
+if(!defined('LANGUAGE_LOADED')) {
+define('LANGUAGE_LOADED', true);
+}
+
+// Set the language information
+$language_code = 'IT';
+$language_name = 'Italiano';
+$language_version = '2.8';
+$language_platform = '2.8.x';
+$language_author = 'Roberto Rossi';
+$language_license = 'GNU General Public License';
+
+// Menu titles
+$MENU['START'] = 'Avvio';
+$MENU['PAGES'] = 'Pagine';
+$MENU['MEDIA'] = 'Media';
+$MENU['ADDONS'] = 'Add-ons';
+$MENU['MODULES'] = 'Moduli';
+$MENU['TEMPLATES'] = 'Templates';
+$MENU['LANGUAGES'] = 'Lingua';
+$MENU['PREFERENCES'] = 'Preferenze';
+$MENU['SETTINGS'] = 'Impostazioni';
+$MENU['ADMINTOOLS'] = 'Admin-Tools';
+$MENU['ACCESS'] = 'Accesso';
+$MENU['USERS'] = 'Utenti';
+$MENU['GROUPS'] = 'Gruppi';
+$MENU['HELP'] = 'Aiuto';
+$MENU['VIEW'] = 'Visualizza';
+$MENU['LOGOUT'] = 'Log-out';
+$MENU['LOGIN'] = 'Login';
+$MENU['FORGOT'] = 'Recupera dati di login';
+
+// Section overviews
+$OVERVIEW['START'] = 'Funzioni di amministrazione';
+$OVERVIEW['PAGES'] = 'Gestisci le pagine del sito...';
+$OVERVIEW['MEDIA'] = 'Gestisci i file nella cartella Media...';
+$OVERVIEW['MODULES'] = 'Gestisci i moduli di WebsiteBaker...';
+$OVERVIEW['TEMPLATES'] = 'Cambia la grafica del sito con i templates...';
+$OVERVIEW['LANGUAGES'] = 'Gestisci le lingue del sito...';
+$OVERVIEW['PREFERENCES'] = 'Cambia preferenze come email, password, etc... ';
+$OVERVIEW['SETTINGS'] = 'Cambia le impostazioni di WebsiteBaker...';
+$OVERVIEW['USERS'] = 'Gestisci gli utenti che possono collegarsi a WebsiteBaker...';
+$OVERVIEW['GROUPS'] = 'Gestisci gruppi utenti e permessi...';
+$OVERVIEW['HELP'] = 'Trova risposte alle tue domande...';
+$OVERVIEW['VIEW'] = 'Visualizza il sito in una nuova finestra...';
+$OVERVIEW['ADMINTOOLS'] = 'Access the WebsiteBaker administration tools...';
+
+// Headings
+$HEADING['MODIFY_DELETE_PAGE'] = 'Modifica/Elimina una pagina';
+$HEADING['DELETED_PAGES'] = 'Pagine cancellate';
+$HEADING['ADD_PAGE'] = 'Aggiungi una pagina';
+$HEADING['ADD_HEADING'] = 'Aggiungi una Intestazione';
+$HEADING['MODIFY_PAGE'] = 'Modifica la pagina';
+$HEADING['MODIFY_PAGE_SETTINGS'] = 'Modifica Page Settings';
+$HEADING['MODIFY_ADVANCED_PAGE_SETTINGS'] = 'Modifica impostazioni avanzate';
+$HEADING['MANAGE_SECTIONS'] = 'Gestisci le sezioni';
+$HEADING['MODIFY_INTRO_PAGE'] = 'Modifica la pagina d\'introduzione';
+
+$HEADING['BROWSE_MEDIA'] = 'Sfoglia i Media';
+$HEADING['CREATE_FOLDER'] = 'Crea cartella';
+$HEADING['UPLOAD_FILES'] = 'Carica i File';
+
+$HEADING['INSTALL_MODULE'] = 'Installa il Modulo';
+$HEADING['UNINSTALL_MODULE'] = 'Disinstalla il Modulo';
+$HEADING['MODULE_DETAILS'] = 'Dettagli del Modulo';
+
+$HEADING['INSTALL_TEMPLATE'] = 'Installa un Template';
+$HEADING['UNINSTALL_TEMPLATE'] = 'Disinstalla il Template';
+$HEADING['TEMPLATE_DETAILS'] = 'Dettagli Template';
+
+$HEADING['INSTALL_LANGUAGE'] = 'Installa lingua';
+$HEADING['UNINSTALL_LANGUAGE'] = 'Disinstalla lingua';
+$HEADING['LANGUAGE_DETAILS'] = 'Dettagli lingua';
+
+$HEADING['MY_SETTINGS'] = 'Mie impostazioni';
+$HEADING['MY_EMAIL'] = 'Mia Email';
+$HEADING['MY_PASSWORD'] = 'Mia Password';
+
+$HEADING['GENERAL_SETTINGS'] = 'Impostazioni Generali';
+$HEADING['DEFAULT_SETTINGS'] = 'Impostazioni Default';
+$HEADING['SEARCH_SETTINGS'] = 'Impostazioni di Ricerca';
+$HEADING['FILESYSTEM_SETTINGS'] = 'Impostazioni del Filesystem';
+$HEADING['SERVER_SETTINGS'] = 'Impostazioni del Server ';
+$HEADING['WBMAILER_SETTINGS'] = 'Mailer Settings';
+$HEADING['ADMINISTRATION_TOOLS'] = 'Tool di Amministrazione';
+
+$HEADING['MODIFY_DELETE_USER'] = 'Modifica/Elimina Utente';
+$HEADING['ADD_USER'] = 'Aggiungi Utente';
+$HEADING['MODIFY_USER'] = 'Modifica Utente';
+
+$HEADING['MODIFY_DELETE_GROUP'] = 'Modifica/Elimina Gruppo';
+$HEADING['ADD_GROUP'] = 'Aggiungi Gruppo';
+$HEADING['MODIFY_GROUP'] = 'Modifica Gruppo';
+
+$HEADING['ADDON_PRECHECK_FAILED'] = 'Add-On requirements not met';
+$HEADING['INVOKE_MODULE_FILES'] = 'Execute module files manually';
+
+// Other text
+$TEXT['OPEN'] = 'Open';
+$TEXT['ADD'] = 'Aggiungi';
+$TEXT['MODIFY'] = 'Modifica';
+$TEXT['SETTINGS'] = 'Settings';
+$TEXT['DELETE'] = 'Elimina';
+$TEXT['SAVE'] = 'Salva';
+$TEXT['RESET'] = 'Resetta';
+$TEXT['LOGIN'] = 'Login';
+$TEXT['RELOAD'] = 'Ricarica';
+$TEXT['CANCEL'] = 'Annulla';
+$TEXT['NAME'] = 'Nome';
+$TEXT['PLEASE_SELECT'] = 'Prego seleziona';
+$TEXT['TITLE'] = 'Titolo';
+$TEXT['PARENT'] = 'Parente';
+$TEXT['TYPE'] = 'Tipo';
+$TEXT['VISIBILITY'] = 'Visibilit&agrave;';
+$TEXT['PRIVATE'] = 'Privato';
+$TEXT['PUBLIC'] = 'Pubblico';
+$TEXT['NONE'] = 'Nessuna';
+$TEXT['NONE_FOUND'] = 'Nessuno trovato';
+$TEXT['CURRENT'] = 'Corrente';
+$TEXT['CHANGE'] = 'Cambia';
+$TEXT['WINDOW'] = 'Finestra';
+$TEXT['DESCRIPTION'] = 'Descrizione';
+$TEXT['KEYWORDS'] = 'Parole chiave';
+$TEXT['ADMINISTRATORS'] = 'Amministratori';
+$TEXT['PRIVATE_VIEWERS'] = 'Visione privata';
+$TEXT['EXPAND'] = 'Espandi';
+$TEXT['COLLAPSE'] = 'Restringi';
+$TEXT['MOVE_UP'] = 'Muovi su';
+$TEXT['MOVE_DOWN'] = 'Muovi gi&Atilde;&sup1;';
+$TEXT['RENAME'] = 'Rinomina';
+$TEXT['MODIFY_SETTINGS'] = 'Modifica Impostazioni';
+$TEXT['MODIFY_CONTENT'] = 'Modifica Contenuto';
+$TEXT['VIEW'] = 'Vedi';
+$TEXT['UP'] = 'Su';
+$TEXT['FORGOTTEN_DETAILS'] = 'Dimenticati i dati?';
+$TEXT['NEED_TO_LOGIN'] = 'Bisogno di login?';
+$TEXT['SEND_DETAILS'] = 'Invia i dati';
+$TEXT['USERNAME'] = 'Username';
+$TEXT['PASSWORD'] = 'Password';
+$TEXT['HOME'] = 'Home';
+$TEXT['TARGET_FOLDER'] = 'Cartella di destinazione';
+$TEXT['OVERWRITE_EXISTING'] = 'Sovrascrivi esistenti';
+$TEXT['FILE'] = 'File';
+$TEXT['FILES'] = 'Files';
+$TEXT['FOLDER'] = 'Cartella';
+$TEXT['FOLDERS'] = 'Folders';
+$TEXT['CREATE_FOLDER'] = 'Crea Cartella';
+$TEXT['UPLOAD_FILES'] = 'Carica File(s)';
+$TEXT['CURRENT_FOLDER'] = 'Cartella corrente';
+$TEXT['TO'] = 'A';
+$TEXT['FROM'] = 'Da';
+$TEXT['INSTALL'] = 'Installa';
+$TEXT['UNINSTALL'] = 'Disinstalla';
+$TEXT['VIEW_DETAILS'] = 'Vedi dettagli';
+$TEXT['DISPLAY_NAME'] = 'Mostra il nome';
+$TEXT['AUTHOR'] = 'Autore';
+$TEXT['VERSION'] = 'Versione';
+$TEXT['DESIGNED_FOR'] = 'Progettato per';
+$TEXT['DESCRIPTION'] = 'Descrizione';
+$TEXT['EMAIL'] = 'Email';
+$TEXT['LANGUAGE'] = 'Lingua';
+$TEXT['TIMEZONE'] = 'Fuso orario';
+$TEXT['CURRENT_PASSWORD'] = 'Password corrente';
+$TEXT['NEW_PASSWORD'] = 'Nuova Password';
+$TEXT['RETYPE_NEW_PASSWORD'] = 'Riscrivi Nuova Password';
+$TEXT['ACTIVE'] = 'Attivo';
+$TEXT['DISABLED'] = 'Disabilitato';
+$TEXT['ENABLED'] = 'Abilitato';
+$TEXT['RETYPE_PASSWORD'] = 'Riscrivi Password';
+$TEXT['GROUP'] = 'Gruppo';
+$TEXT['SYSTEM_PERMISSIONS'] = 'Permessi di sistema';
+$TEXT['MODULE_PERMISSIONS'] = 'Permessi del Modulo';
+$TEXT['SHOW_ADVANCED'] = 'Mostra opzioni avanzate';
+$TEXT['HIDE_ADVANCED'] = 'Nascondi opzioni avanzate';
+$TEXT['BASIC'] = 'Base';
+$TEXT['ADVANCED'] = 'Avanzato';
+$TEXT['WEBSITE'] = 'Website';
+$TEXT['DEFAULT'] = 'Default';
+$TEXT['KEYWORDS'] = 'Parole chiave';
+$TEXT['TEXT'] = 'Testo';
+$TEXT['HEADER'] = 'Intestazione';
+$TEXT['FOOTER'] = 'Pi&egrave; di pagina';
+$TEXT['TEMPLATE'] = 'Template';
+$TEXT['THEME'] = 'Backend-Theme';
+$TEXT['INSTALLATION'] = 'Installazione';
+$TEXT['DATABASE'] = 'Database';
+$TEXT['HOST'] = 'Host';
+$TEXT['INTRO'] = 'Introduzione';
+$TEXT['PAGE'] = 'Pagina';
+$TEXT['SIGNUP'] = 'Iscrizione';
+$TEXT['PHP_ERROR_LEVEL'] = 'PHP Error Reporting Level';
+$TEXT['ADMIN'] = 'Admin';
+$TEXT['PATH'] = 'Path';
+$TEXT['URL'] = 'URL';
+$TEXT['FRONTEND'] = 'Front-end';
+$TEXT['EXTENSION'] = 'Estensioni';
+$TEXT['TABLE_PREFIX'] = 'Table Prefix';
+$TEXT['CHANGES'] = 'Modifiche';
+$TEXT['ADMINISTRATION'] = 'Amministrazione';
+$TEXT['FORGOT_DETAILS'] = 'Dimenticato i dati?';
+$TEXT['LOGGED_IN'] = 'Logged-In';
+$TEXT['WELCOME_BACK'] = 'Bentornato';
+$TEXT['FULL_NAME'] = 'Nome completo';
+$TEXT['ACCOUNT_SIGNUP'] = 'Iscrizione Account';
+$TEXT['LINK'] = 'Link';
+$TEXT['ANCHOR'] = 'Anchor';
+$TEXT['TARGET'] = 'Destinazione';
+$TEXT['NEW_WINDOW'] = 'Nuova finestra';
+$TEXT['SAME_WINDOW'] = 'Stessa finestra';
+$TEXT['TOP_FRAME'] = 'Top Frame';
+$TEXT['PAGE_LEVEL_LIMIT'] = 'Limite del livello di pagina';
+$TEXT['SUCCESS'] = 'Successo';
+$TEXT['ERROR'] = 'Errore';
+$TEXT['ARE_YOU_SURE'] = 'Sei sicuro?';
+$TEXT['YES'] = 'S&igrave;';
+$TEXT['NO'] = 'No';
+$TEXT['SYSTEM_DEFAULT'] = 'Default di sistema';
+$TEXT['PAGE_TITLE'] = 'Titolo Pagina';
+$TEXT['MENU_TITLE'] = 'Titolo Menu';
+$TEXT['ACTIONS'] = 'Azioni';
+$TEXT['UNKNOWN'] = 'Sconosciuto';
+$TEXT['BLOCK'] = 'Block';
+$TEXT['SEARCH'] = 'Ricerca';
+$TEXT['SEARCHING'] = 'Ricerca';
+$TEXT['POST'] = 'Post';
+$TEXT['COMMENT'] = 'Commento';
+$TEXT['COMMENTS'] = 'Commenti';
+$TEXT['COMMENTING'] = 'Commentare';
+$TEXT['SHORT'] = 'Breve';
+$TEXT['LONG'] = 'Estesa';
+$TEXT['LOOP'] = 'Loop';
+$TEXT['FIELD'] = 'Campo';
+$TEXT['REQUIRED'] = 'Obbligatorio';
+$TEXT['LENGTH'] = 'Lunghezza';
+$TEXT['MESSAGE'] = 'Messaggio';
+$TEXT['SUBJECT'] = 'Soggetto';
+$TEXT['MATCH'] = 'Confronto';
+$TEXT['ALL_WORDS'] = 'Tutte le parole';
+$TEXT['ANY_WORDS'] = 'Qualsiasi parola';
+$TEXT['EXACT_MATCH'] = 'Confronto Esatto';
+$TEXT['SHOW'] = 'Mostra';
+$TEXT['HIDE'] = 'Nascondi';
+$TEXT['START_PUBLISHING'] = 'Inizio pubblicazione';
+$TEXT['FINISH_PUBLISHING'] = 'Fine publicazione';
+$TEXT['DATE'] = 'Data';
+$TEXT['START'] = 'Avvio';
+$TEXT['END'] = 'Fine';
+$TEXT['IMAGE'] = 'Immagine';
+$TEXT['ICON'] = 'Icona';
+$TEXT['SECTION'] = 'Sezione';
+$TEXT['DATE_FORMAT'] = 'Formato data';
+$TEXT['TIME_FORMAT'] = 'Formato ora';
+$TEXT['RESULTS'] = 'Risultati';
+$TEXT['RESIZE'] = 'Ridimensiona';
+$TEXT['MANAGE'] = 'Gestisci';
+$TEXT['CODE'] = 'Codice';
+$TEXT['WIDTH'] = 'Larghezza';
+$TEXT['HEIGHT'] = 'Altezza';
+$TEXT['MORE'] = 'Continua';
+$TEXT['READ_MORE'] = 'Continua a leggere';
+$TEXT['CHANGE_SETTINGS'] = 'Cambia Impostazioni';
+$TEXT['CURRENT_PAGE'] = 'Pagina corrente';
+$TEXT['CLOSE'] = 'Chiudi';
+$TEXT['INTRO_PAGE'] = 'Pagina d\'introduzione';
+$TEXT['INSTALLATION_URL'] = 'URL di installazione';
+$TEXT['INSTALLATION_PATH'] = 'Path di installazione';
+$TEXT['PAGE_EXTENSION'] = 'Estensione di Pagina';
+$TEXT['NO_RESULTS'] = 'Nessun risultato';
+$TEXT['WEBSITE_TITLE'] = 'Website Titolo';
+$TEXT['WEBSITE_DESCRIPTION'] = 'Website Descrizione';
+$TEXT['WEBSITE_KEYWORDS'] = 'Website Parole chiave';
+$TEXT['WEBSITE_HEADER'] = 'Website Intestazione';
+$TEXT['WEBSITE_FOOTER'] = 'Website Pi&egrave; di pagina';
+$TEXT['RESULTS_HEADER'] = 'Risultati Intestazione';
+$TEXT['RESULTS_LOOP'] = 'Risultati Loop';
+$TEXT['RESULTS_FOOTER'] = 'Risultati Pi&egrave; di pagina';
+$TEXT['LEVEL'] = 'Livello';
+$TEXT['NOT_FOUND'] = 'Non trovato';
+$TEXT['PAGE_SPACER'] = 'Separatore di Pagina';
+$TEXT['MATCHING'] = 'Confronto';
+$TEXT['TEMPLATE_PERMISSIONS'] = 'Permessi dei Template';
+$TEXT['PAGES_DIRECTORY'] = 'Pagine Directory';
+$TEXT['MEDIA_DIRECTORY'] = 'Media Directory';
+$TEXT['FILE_MODE'] = 'Modalit&agrave; File';
+$TEXT['USER'] = 'User';
+$TEXT['OTHERS'] = 'Altri';
+$TEXT['READ'] = 'Lettura';
+$TEXT['WRITE'] = 'Scrittura';
+$TEXT['EXECUTE'] = 'Esecuzione';
+$TEXT['SMART_LOGIN'] = 'Smart Login';
+$TEXT['REMEMBER_ME'] = 'Ricordami';
+$TEXT['FILESYSTEM_PERMISSIONS'] = 'Permessi del Filesystem';
+$TEXT['DIRECTORIES'] = 'Directories';
+$TEXT['DIRECTORY_MODE'] = 'Modalit&agrave; Directory';
+$TEXT['LIST_OPTIONS'] = 'Opzioni di elenco';
+$TEXT['OPTION'] = 'Opzioni';
+$TEXT['ALLOW_MULTIPLE_SELECTIONS'] = 'Permetti selezioni multiple';
+$TEXT['TEXTFIELD'] = 'Campo di testo';
+$TEXT['TEXTAREA'] = 'Area di testo';
+$TEXT['SELECT_BOX'] = 'Campo di selezione';
+$TEXT['CHECKBOX_GROUP'] = 'Checkbox Gruppo';
+$TEXT['RADIO_BUTTON_GROUP'] = 'Radio Button Gruppo';
+$TEXT['SIZE'] = 'Dimensione';
+$TEXT['DEFAULT_TEXT'] = 'Testo di default';
+$TEXT['SEPERATOR'] = 'Separatore';
+$TEXT['BACK'] = 'Indietro';
+$TEXT['UNDER_CONSTRUCTION'] = 'In costruzione';
+$TEXT['MULTISELECT'] = 'Multi-selezione';
+$TEXT['SHORT_TEXT'] = 'Testo breve';
+$TEXT['LONG_TEXT'] = 'Testo lungo';
+$TEXT['HOMEPAGE_REDIRECTION'] = 'Homepage Redirezione';
+$TEXT['HEADING'] = 'Intestazione';
+$TEXT['MULTIPLE_MENUS'] = 'Menu multipli';
+$TEXT['REGISTERED'] = 'Registrato';
+$TEXT['SECTION_BLOCKS'] = 'Blocchi di Sezione';
+$TEXT['REGISTERED_VIEWERS'] = 'Utenti registrati';
+$TEXT['ALLOWED_VIEWERS'] = 'Allowed Viewers';
+$TEXT['SUBMISSION_ID'] = 'Iscrizione ID';
+$TEXT['SUBMISSIONS'] = 'Iscrizioni';
+$TEXT['SUBMITTED'] = 'Iscritto';
+$TEXT['MAX_SUBMISSIONS_PER_HOUR'] = 'Max. Iscizioni per ora';
+$TEXT['SUBMISSIONS_STORED_IN_DATABASE'] = 'Iscrizioni memorizzate nel Database';
+$TEXT['EMAIL_ADDRESS'] = 'Indirizzo Email';
+$TEXT['CUSTOM'] = 'Custom';
+$TEXT['ANONYMOUS'] = 'Anonimo';
+$TEXT['SERVER_OPERATING_SYSTEM'] = 'Server Operating System';
+$TEXT['WORLD_WRITEABLE_FILE_PERMISSIONS'] = 'Permesso di scrittura file a chiunque';
+$TEXT['LINUX_UNIX_BASED'] = 'Linux/Unix based';
+$TEXT['WINDOWS'] = 'Windows';
+$TEXT['HOME_FOLDER'] = 'Cartella Home';
+$TEXT['HOME_FOLDERS'] = 'Cartelle Home';
+$TEXT['PAGE_TRASH'] = 'Cestino';
+$TEXT['INLINE'] = 'In-line';
+$TEXT['SEPARATE'] = 'Separa';
+$TEXT['DELETED'] = 'Eliminato';
+$TEXT['VIEW_DELETED_PAGES'] = 'Vedi Pagine Eliminate';
+$TEXT['EMPTY_TRASH'] = 'Svuota Cestino';
+$TEXT['TRASH_EMPTIED'] = 'Cestino Svuotato';
+$TEXT['ADD_SECTION'] = 'Aggiungi Sezione';
+$TEXT['POST_HEADER'] = 'Post Intestazione';
+$TEXT['POST_FOOTER'] = 'Post Pi&egrave; di pagina';
+$TEXT['POSTS_PER_PAGE'] = 'Post Per Pagina';
+$TEXT['RESIZE_IMAGE_TO'] = 'Ridimensiona immagine a';
+$TEXT['UNLIMITED'] = 'Illimitato';
+$TEXT['OF'] = 'Di';
+$TEXT['OUT_OF'] = 'Di';
+$TEXT['NEXT'] = 'Successivo';
+$TEXT['PREVIOUS'] = 'Precedente';
+$TEXT['NEXT_PAGE'] = 'Pagina successiva';
+$TEXT['PREVIOUS_PAGE'] = 'Pagina precedente';
+$TEXT['ON'] = 'Su';
+$TEXT['LAST_UPDATED_BY'] = 'Ultima modifica di';
+$TEXT['RESULTS_FOR'] = 'Risultati per';
+$TEXT['TIME'] = 'Ora';
+$TEXT['REDIRECT_AFTER'] = 'Redirect after';
+$TEXT['WYSIWYG_STYLE'] = 'WYSIWYG Style';
+$TEXT['WYSIWYG_EDITOR'] = 'WYSIWYG Editor';
+$TEXT['SERVER_EMAIL'] = 'Server Email';
+$TEXT['MENU'] = 'Menu';
+$TEXT['MANAGE_GROUPS'] = 'Gestisci i Gruppi';
+$TEXT['MANAGE_USERS'] = 'Gestisci gli Utenti';
+$TEXT['PAGE_LANGUAGES'] = 'Pagina Lingue';
+$TEXT['HIDDEN'] = 'Nascosto';
+$TEXT['MAIN'] = 'Principale';
+$TEXT['RENAME_FILES_ON_UPLOAD'] = 'Rinomina i Files per il Caricamento';
+$TEXT['APP_NAME'] = 'Nome Applicazione';
+$TEXT['SESSION_IDENTIFIER'] = 'Identificazione della sessione';
+$TEXT['SEC_ANCHOR'] = 'Section-Anchor text';
+$TEXT['BACKUP'] = 'Backup';
+$TEXT['RESTORE'] = 'Restore';
+$TEXT['BACKUP_DATABASE'] = 'Backup del Database';
+$TEXT['RESTORE_DATABASE'] = 'Restore del Database';
+$TEXT['BACKUP_ALL_TABLES'] = 'Backup all tables in database';
+$TEXT['BACKUP_WB_SPECIFIC'] = 'Backup only WB-specific tables';
+$TEXT['BACKUP_MEDIA'] = 'Backup Media';
+$TEXT['RESTORE_MEDIA'] = 'Restore Media';
+$TEXT['ADMINISTRATION_TOOL'] = 'Tool di Amministrazione';
+$TEXT['CAPTCHA_VERIFICATION'] = 'verificaCaptcha ';
+$TEXT['VERIFICATION'] = 'Verifica';
+$TEXT['DEFAULT_CHARSET'] = 'Carattere di Default';
+$TEXT['CHARSET'] = 'Caratteri';
+$TEXT['MODULE_ORDER'] = 'Module-order for searching';
+$TEXT['MAX_EXCERPT'] = 'Max lines of excerpt';
+$TEXT['TIME_LIMIT'] = 'Max time to gather excerpts per module';
+$TEXT['PUBL_START_DATE'] = 'Start date';
+$TEXT['PUBL_END_DATE'] = 'End date';
+$TEXT['CALENDAR'] = 'Calender';
+$TEXT['DELETE_DATE'] = 'Delete date';
+$TEXT['WBMAILER_DEFAULT_SETTINGS_NOTICE'] = 'Please specify a default "FROM" address and "SENDER" name below. It is recommended to use a FROM address like: <strong>admin@yourdomain.com</strong>. Some mail provider (e.g. <em>mail.com</em>) may reject mails with a FROM: address like <em>name@mail.com</em> sent via a foreign relay to avoid spam.<br /><br />The default values are only used if no other values are specified by WebsiteBaker. If your server supports <acronym title="Simple mail transfer protocol">SMTP</acronym>, you may want use this option for outgoing mails.';
+$TEXT['WBMAILER_DEFAULT_SENDER_MAIL'] = 'Default From Mail';
+$TEXT['WBMAILER_DEFAULT_SENDER_NAME'] = 'Default Sender Name';
+$TEXT['WBMAILER_NOTICE'] = '<strong>SMTP Mailer Settings:</strong><br />The settings below are only required if you want to send mails via <acronym title="Simple mail transfer protocol">SMTP</acronym>. If you do not know your SMTP host or you are not sure about the required settings, simply stay with the default mail routine: PHP MAIL.';
+$TEXT['WBMAILER_FUNCTION'] = 'Mail Routine';
+$TEXT['WBMAILER_SMTP_HOST'] = 'SMTP Host';
+$TEXT['WBMAILER_PHP'] = 'PHP MAIL';
+$TEXT['WBMAILER_SMTP'] = 'SMTP';
+$TEXT['WBMAILER_SMTP_AUTH'] = 'SMTP Authentification';
+$TEXT['WBMAILER_SMTP_AUTH_NOTICE'] = 'only activate if your SMTP host requires authentification';
+$TEXT['WBMAILER_SMTP_USERNAME'] = 'SMTP Username';
+$TEXT['WBMAILER_SMTP_PASSWORD'] = 'SMTP Password';
+$TEXT['PLEASE_LOGIN'] = 'Please login';
+$TEXT['CAP_EDIT_CSS'] = 'Edit CSS';
+$TEXT['HEADING_CSS_FILE'] = 'Actual module file: ';
+$TEXT['TXT_EDIT_CSS_FILE'] = 'Edit the CSS definitions in the textarea below.';
+$TEXT['CODE_SNIPPET'] = "Code-snippet";
+$TEXT['REQUIREMENT'] = "Requirement";
+$TEXT['INSTALLED'] = "installed";
+$TEXT['NOT_INSTALLED'] = "not installed";
+$TEXT['ADDON'] = "Add-On";
+$TEXT['EXTENSION'] = "Extension";
+$TEXT['UNZIP_FILE'] = "Upload and unpack a zip archive";
+$TEXT['DELETE_ZIP'] = "Delete zip archive after unpacking";
+
+// Success/error messages
+$MESSAGE['FRONTEND']['SORRY_NO_VIEWING_PERMISSIONS'] = 'Spaicente, non ha i permessi per vedere la pagina';
+$MESSAGE['FRONTEND']['SORRY_NO_ACTIVE_SECTIONS'] = 'Sorry, no active content to display';
+
+$MESSAGE['ADMIN']['INSUFFICIENT_PRIVELLIGES'] = 'Privilegi insufficienti per essere qui';
+
+$MESSAGE['LOGIN']['BOTH_BLANK'] = 'Prego inserire username e password';
+$MESSAGE['LOGIN']['USERNAME_BLANK'] = 'Prego inserire lo username';
+$MESSAGE['LOGIN']['PASSWORD_BLANK'] = 'Prego inserire una password';
+$MESSAGE['LOGIN']['USERNAME_TOO_SHORT'] = 'Username troppo corto';
+$MESSAGE['LOGIN']['PASSWORD_TOO_SHORT'] = 'Password troppo corta';
+$MESSAGE['LOGIN']['USERNAME_TOO_LONG'] = 'Username troppo lungo';
+$MESSAGE['LOGIN']['PASSWORD_TOO_LONG'] = 'Password troppo lunga';
+$MESSAGE['LOGIN']['AUTHENTICATION_FAILED'] = 'Username o password errati';
+
+$MESSAGE['SIGNUP']['NO_EMAIL'] = 'Deve inserire un indirizzo di email';
+$MESSAGE['SIGNUP2']['SUBJECT_LOGIN_INFO'] = 'Your login details...';
+$MESSAGE['SIGNUP2']['BODY_LOGIN_INFO'] = <<< EOT
+Hello {LOGIN_DISPLAY_NAME},
+
+Your '{LOGIN_WEBSITE_TITLE}' login details are:
+Username: {LOGIN_NAME}
+Password: {LOGIN_PASSWORD}
+
+Your password has been set to the one above.
+This means that your old password will no longer work.
+
+If you have received this message in error, please delete it immediately.
+EOT;
+
+$MESSAGE['FORGOT_PASS']['NO_DATA'] = 'Prego inserire email';
+$MESSAGE['FORGOT_PASS']['EMAIL_NOT_FOUND'] = 'L\'Email inserita non &egrave; stata trovata nel database';
+$MESSAGE['FORGOT_PASS']['CANNOT_EMAIL'] = 'Impossibile inviare l\'email. Contattare l\'ammnistratore';
+$MESSAGE['FORGOT_PASS']['PASSWORD_RESET'] = 'Username e password sono stati inviati per email';
+$MESSAGE['FORGOT_PASS']['ALREADY_RESET'] = 'La Password non pu&Atilde;&sup2; essere modificata pi&Atilde;&sup1; di una volta all\'ora';
+
+$MESSAGE['START']['WELCOME_MESSAGE'] = 'Benvenuto alla pagina di Amministrazione di WebsiteBaker';
+$MESSAGE['START']['INSTALL_DIR_EXISTS'] = 'Attenzione, la directory di installazione esiste gi&agrave;!';
+$MESSAGE['START']['CURRENT_USER'] = 'Sei registrato come:';
+
+$MESSAGE['SETTINGS']['UNABLE_OPEN_CONFIG'] = 'Impossibile aprire il file di configurazione';
+$MESSAGE['SETTINGS']['UNABLE_WRITE_CONFIG'] = 'Impossibile scrivere il file di configurazione';
+$MESSAGE['SETTINGS']['SAVED'] = 'Impostazioni salvate con successo';
+$MESSAGE['SETTINGS']['MODE_SWITCH_WARNING'] = 'Attenzione: premendo questo pulsante si resettano le impostazioni modificate e non salvate';
+$MESSAGE['SETTINGS']['WORLD_WRITEABLE_WARNING'] = 'Raccomandato solo in fase di test';
+
+$MESSAGE['USERS']['ADDED'] = 'Utente aggiunto';
+$MESSAGE['USERS']['SAVED'] = 'Utente salvato';
+$MESSAGE['USERS']['DELETED'] = 'Utente eliminato';
+$MESSAGE['USERS']['NO_GROUP'] = 'Nessun gruppo selezionato';
+$MESSAGE['USERS']['USERNAME_TOO_SHORT'] = 'Username troppo corto';
+$MESSAGE['USERS']['PASSWORD_TOO_SHORT'] = 'Password troppo corta';
+$MESSAGE['USERS']['PASSWORD_MISMATCH'] = 'Le password non coincidono';
+$MESSAGE['USERS']['INVALID_EMAIL'] = 'Email non valida';
+$MESSAGE['USERS']['EMAIL_TAKEN'] = 'Email gi&agrave; in uso';
+$MESSAGE['USERS']['USERNAME_TAKEN'] = 'Username gi&agrave; utilizzato';
+$MESSAGE['USERS']['CHANGING_PASSWORD'] = 'Attenzione: devi inserire solo valori validi se vuoi cambiare la password utente';
+$MESSAGE['USERS']['CONFIRM_DELETE'] = 'Sei sicuro di voler eliminare gli utenti selezionati?';
+
+$MESSAGE['GROUPS']['ADDED'] = 'Gruppo aggiunto';
+$MESSAGE['GROUPS']['SAVED'] = 'Gruppo salvato';
+$MESSAGE['GROUPS']['DELETED'] = 'Gruppo eliminato';
+$MESSAGE['GROUPS']['GROUP_NAME_BLANK'] = 'Il nome del Gruppo &egrave; vuoto';
+$MESSAGE['GROUPS']['CONFIRM_DELETE'] = 'Sei sicuro di voler eliminare il gruppo selezionato e tutti i suoi utenti?';
+$MESSAGE['GROUPS']['NO_GROUPS_FOUND'] = 'Nessun gruppo trovato';
+$MESSAGE['GROUPS']['GROUP_NAME_EXISTS'] = 'Nome di Gruppo gia Esistente';
+
+$MESSAGE['PREFERENCES']['DETAILS_SAVED'] = 'Dettagli salvati';
+$MESSAGE['PREFERENCES']['EMAIL_UPDATED'] = 'Email aggiornata';
+$MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT'] = 'La password corrente inserita &egrave; errata';
+$MESSAGE['PREFERENCES']['PASSWORD_CHANGED'] = 'Password cambiata';
+
+$MESSAGE['TEMPLATES']['CHANGE_TEMPLATE_NOTICE'] = 'Per cambiare il Template andare alla sezione Impostazioni';
+
+$MESSAGE['MEDIA']['DIR_DOT_DOT_SLASH'] = 'Impossibile includere ../ nel nome della cartella';
+$MESSAGE['MEDIA']['DIR_DOES_NOT_EXIST'] = 'La Cartella non esiste';
+$MESSAGE['MEDIA']['TARGET_DOT_DOT_SLASH'] = 'Impossibile avere ../ nella cartella di destinazione';
+$MESSAGE['MEDIA']['NAME_DOT_DOT_SLASH'] = 'Impossibile includere ../ nel nome';
+$MESSAGE['MEDIA']['NAME_INDEX_PHP'] = 'Impossibile usare index.php come nome';
+$MESSAGE['MEDIA']['NONE_FOUND'] = 'Nessun Media trovato nella cartella corrente';
+$MESSAGE['MEDIA']['FILE_NOT_FOUND'] = 'File non trovato';
+$MESSAGE['MEDIA']['DELETED_FILE'] = 'File eliminato';
+$MESSAGE['MEDIA']['DELETED_DIR'] = 'Cartella eliminata';
+$MESSAGE['MEDIA']['CONFIRM_DELETE'] = 'Sei sicuro di voler eliminare il file o la cartella corrente?';
+$MESSAGE['MEDIA']['CANNOT_DELETE_FILE'] = 'Impossibile eliminare il file';
+$MESSAGE['MEDIA']['CANNOT_DELETE_DIR'] = 'impossibile eliminare la cartella';
+$MESSAGE['MEDIA']['BLANK_NAME'] = 'Non hai inserito un nuovo nome';
+$MESSAGE['MEDIA']['BLANK_EXTENSION'] = 'Non hai inserito una estensione del file';
+$MESSAGE['MEDIA']['RENAMED'] = 'Rinominato con successo';
+$MESSAGE['MEDIA']['CANNOT_RENAME'] = 'Impossibile rinominare';
+$MESSAGE['MEDIA']['FILE_EXISTS'] = 'Esiste gi&agrave; un file con lo stesso nome';
+$MESSAGE['MEDIA']['DIR_EXISTS'] = 'Esiste gi&agrave; una cartella con lo stesso nome';
+$MESSAGE['MEDIA']['DIR_MADE'] = 'Cartella creata';
+$MESSAGE['MEDIA']['DIR_NOT_MADE'] = 'Impossibile creare la cartella';
+$MESSAGE['MEDIA']['SINGLE_UPLOADED'] = ' file caricato con successo';
+$MESSAGE['MEDIA']['UPLOADED'] = ' file sono stati caricati con successo';
+
+$MESSAGE['PAGES']['ADDED'] = 'Pagina aggiunta';
+$MESSAGE['PAGES']['ADDED_HEADING'] = 'Pagina intestazione aggiunta';
+$MESSAGE['PAGES']['PAGE_EXISTS'] = 'Esiste gi&agrave; una pagina con lo stesso nome';
+$MESSAGE['PAGES']['CANNOT_CREATE_ACCESS_FILE'] = 'Errore nel creare un file di permessi (privilegi insufficienti)';
+$MESSAGE['PAGES']['CANNOT_DELETE_ACCESS_FILE'] = 'Errore nel cancellare un file di permessi (privilegi insufficienti)';
+$MESSAGE['PAGES']['NOT_FOUND'] = 'Pagina non trovata';
+$MESSAGE['PAGES']['SAVED'] = 'Pagina salvata';
+$MESSAGE['PAGES']['SAVED_SETTINGS'] = 'Impostazioni della pagina salvate';
+$MESSAGE['PAGES']['NOT_SAVED'] = 'Errore nel salvare la pagina';
+$MESSAGE['PAGES']['DELETE_CONFIRM'] = 'Sei sicuro di voler eliminare la pagina e tutte le sotto-pagine?';
+$MESSAGE['PAGES']['DELETED'] = 'Pagina eliminata';
+$MESSAGE['PAGES']['RESTORED'] = 'Pagina recuperata';
+$MESSAGE['PAGES']['BLANK_PAGE_TITLE'] = 'Prego inserisci un titolo';
+$MESSAGE['PAGES']['BLANK_MENU_TITLE'] = 'Prego inserisci un titolo';
+$MESSAGE['PAGES']['REORDERED'] = 'Pagina riordinata';
+$MESSAGE['PAGES']['CANNOT_REORDER'] = 'Errore nel riordinare la pagina';
+$MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS'] = 'Non hai i permessi per modificare la pagina';
+$MESSAGE['PAGES']['INTRO_NOT_WRITABLE'] = 'Impossibile scrivere sul file /pages/intro.php (privilegi insufficienti)';
+$MESSAGE['PAGES']['INTRO_SAVED'] = 'Pagina di introduzione salvata';
+$MESSAGE['PAGES']['LAST_MODIFIED'] = 'Ultima modifica di';
+$MESSAGE['PAGES']['INTRO_LINK'] = 'Clicca qui per modificare la pagina d\'introduzione';
+$MESSAGE['PAGES']['SECTIONS_PROPERTIES_SAVED'] = 'Propriet&agrave; di sezione salvate';
+$MESSAGE['PAGES']['RETURN_TO_PAGES'] = 'Ritorna alle pagine';
+
+$MESSAGE['GENERIC']['FILL_IN_ALL'] = 'Prego torna indietro e compila tutti i campi';
+$MESSAGE['GENERIC']['FILE_TYPE'] = 'Nota che il file caricato deve essere dei seguenti formati:';
+$MESSAGE['GENERIC']['FILE_TYPES'] = 'Nota che i file caricati devono essere dei seguenti formati:';
+$MESSAGE['GENERIC']['CANNOT_UPLOAD'] = 'Impossibile caricare i file';
+$MESSAGE['GENERIC']['ALREADY_INSTALLED'] = 'Gi&agrave; installato';
+$MESSAGE['GENERIC']['NOT_INSTALLED'] = 'Non installato';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL'] = 'Impossibile disinstallare';
+$MESSAGE['GENERIC']['CANNOT_UNZIP'] = 'impossibile decomprimere il file';
+$MESSAGE['GENERIC']['INSTALLED'] = 'Installato con successo';
+$MESSAGE['GENERIC']['UPGRADED'] = 'Aggiornato con successo';
+$MESSAGE['GENERIC']['UNINSTALLED'] = 'Disinstallato con successo';
+$MESSAGE['GENERIC']['BAD_PERMISSIONS'] = 'Impossibile scrivere sulla directory';
+$MESSAGE['GENERIC']['INVALID'] = 'Il file caricato &egrave; non valido';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE'] = 'Impossibile disisntallare: file in uso';
+
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL'] = "<br /><br />{{type}} <b>{{type_name}}</b> could not be uninstalled, because it is still in use on {{pages}}.<br /><br />";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL_PAGES'] = "this page;these pages";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IS_DEFAULT_TEMPLATE'] = "Can't uninstall the template <b>{{name}}</b>, because it is the default template!";
+
+$MESSAGE['GENERIC']['WEBSITE_UNDER_CONSTRUCTION'] = 'Website Under Construction';
+$MESSAGE['GENERIC']['PLEASE_CHECK_BACK_SOON'] = 'Torna presto...';
+$MESSAGE['GENERIC']['PLEASE_BE_PATIENT'] = 'Attendi pazientemente...';
+$MESSAGE['GENERIC']['ERROR_OPENING_FILE'] = 'Errore nella apertura del file.';
+$MESSAGE['GENERIC']['INVALID_ADDON_FILE'] = 'Invalid WebsiteBaker installation file. Please check the *.zip format.';
+$MESSAGE['GENERIC']['INVALID_LANGUAGE_FILE'] = 'Invalid WebsiteBaker language file. Please check the text file.';
+
+$MESSAGE['MOD_FORM']['REQUIRED_FIELDS'] = 'Devi inserire tutti i dati nei seguenti campi';
+$MESSAGE['MOD_FORM']['EXCESS_SUBMISSIONS'] = 'Spiacente: hai compilato questa form troppe volte nell\'ultima ora.';
+$MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA'] = 'Il numero di controllo (chiama Captcha) che hai inserito non &egrave; valido. Se hai problemi con la lettura del Captcha, invia un email email: '.SERVER_EMAIL.'';
+
+$MESSAGE['ADDON']['RELOAD'] = 'Update database with information from Add-on files (e.g. after FTP upload).';
+$MESSAGE['ADDON']['ERROR_RELOAD'] = 'Error while updating the Add-On information.';
+$MESSAGE['ADDON']['MODULES_RELOADED'] = 'Moduli ricaricati con successo';
+$MESSAGE['ADDON']['TEMPLATES_RELOADED'] = 'Templates ricaricati con successo';
+$MESSAGE['ADDON']['LANGUAGES_RELOADED'] = 'Lingue ricaricate con successo';
+$MESSAGE['ADDON']['PRECHECK_FAILED'] = 'Add-on installation failed. Your system does not fulfill the requirements of this Add-on. To make this Add-on working on your system, please fix the issues summarized below.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION'] = 'When modules are uploaded via FTP (not recommended), the module installation files <tt>install.php</tt>, <tt>upgrade.php</tt> or <tt>uninstall.php</tt> will not be executed automatically. Those modules may not work correct or do not uninstall properly.<br /><br />You can execute the module files manually for modules uploaded via FTP below.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION_WARNING'] = 'Warning: Existing module database entries will get lost. Only use this option if you experience problems with modules uploaded via FTP.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/languages/IT.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/languages/NO.php
===================================================================
--- tags/2.8.2/wb/languages/NO.php	(nonexistent)
+++ tags/2.8.2/wb/languages/NO.php	(revision 1481)
@@ -0,0 +1,595 @@
+<?php
+/**
+ *
+ * @category        framework
+ * @package         language
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// use languageedit-module to modify this file
+
+// Define that this file is loaded
+if(!defined('LANGUAGE_LOADED')) {
+define('LANGUAGE_LOADED', true);
+}
+
+// Set the language information
+$language_code = 'NO';
+$language_name = 'Norsk';
+$language_version = '2.8';
+$language_platform = '2.8.x';
+$language_author = 'Odd Egil Hansen (oeh)';
+$language_license = 'GNU General Public License';
+
+// Menu titles
+$MENU['START'] = 'Start';
+$MENU['PAGES'] = 'Sider';
+$MENU['MEDIA'] = 'Media';
+$MENU['ADDONS'] = 'Tillegg';
+$MENU['MODULES'] = 'Moduler';
+$MENU['TEMPLATES'] = 'Maler';
+$MENU['LANGUAGES'] = 'Spr&aring;k';
+$MENU['PREFERENCES'] = 'Bruker innstillinger';
+$MENU['SETTINGS'] = 'Innstillinger';
+$MENU['ADMINTOOLS'] = 'Admin-verkt&oslash;y';
+$MENU['ACCESS'] = 'Tilgang';
+$MENU['USERS'] = 'Brukere';
+$MENU['GROUPS'] = 'Grupper';
+$MENU['HELP'] = 'Hjelp';
+$MENU['VIEW'] = 'Forh&aring;ndsvis';
+$MENU['LOGOUT'] = 'Logg ut';
+$MENU['LOGIN'] = 'Logg inn';
+$MENU['FORGOT'] = 'Hent innloggings informasjon';
+
+// Section overviews
+$OVERVIEW['START'] = 'Administrasjons oversikt';
+$OVERVIEW['PAGES'] = 'Administrer dine internett sider...';
+$OVERVIEW['MEDIA'] = 'Administrer filer lagret i media katalogen...';
+$OVERVIEW['MODULES'] = 'Administrer WebsiteBaker moduler...';
+$OVERVIEW['TEMPLATES'] = 'Forandre utseende p&aring; internett siden med maler...';
+$OVERVIEW['LANGUAGES'] = 'Administrer WebsiteBaker spr&aring;k...';
+$OVERVIEW['PREFERENCES'] = 'Forandre innstillinger som e-post adresse, passord, o.l....';
+$OVERVIEW['SETTINGS'] = 'Forandre instillinger for WebsiteBaker...';
+$OVERVIEW['USERS'] = 'Velg hvilke brukere som kan logge inn i WebsiteBaker...';
+$OVERVIEW['GROUPS'] = 'Administrer grupper og deres system adgang...';
+$OVERVIEW['HELP'] = 'Har du et sp&oslash;rsm&aring;l? Finn svaret...';
+$OVERVIEW['VIEW'] = 'Forh&aring;ndsvis internett siden din i et nytt vindu...';
+$OVERVIEW['ADMINTOOLS'] = 'G&aring; inn p&aring; WebsiteBaker sine administrasjonsverkt&oslash;y...';
+
+// Headings
+$HEADING['MODIFY_DELETE_PAGE'] = 'Endre/Slett side';
+$HEADING['DELETED_PAGES'] = 'Slettede sider';
+$HEADING['ADD_PAGE'] = 'Legg til side';
+$HEADING['ADD_HEADING'] = 'Tilf&oslash;y overskrift';
+$HEADING['MODIFY_PAGE'] = 'Endre side';
+$HEADING['MODIFY_PAGE_SETTINGS'] = 'Endre sideinnstillinger';
+$HEADING['MODIFY_ADVANCED_PAGE_SETTINGS'] = 'Endre avansert sideinnstillinger';
+$HEADING['MANAGE_SECTIONS'] = 'Administrer seksjoner';
+$HEADING['MODIFY_INTRO_PAGE'] = 'Endre introduksjons side';
+
+$HEADING['BROWSE_MEDIA'] = 'Utforsk Media';
+$HEADING['CREATE_FOLDER'] = 'Opprett Katalog';
+$HEADING['UPLOAD_FILES'] = 'Last opp fil(er)';
+
+$HEADING['INSTALL_MODULE'] = 'Innstaller Modul';
+$HEADING['UNINSTALL_MODULE'] = 'Avinstaller Modul';
+$HEADING['MODULE_DETAILS'] = 'Modul Detaljer';
+
+$HEADING['INSTALL_TEMPLATE'] = 'Installer Mal';
+$HEADING['UNINSTALL_TEMPLATE'] = 'Avinstaller Mal';
+$HEADING['TEMPLATE_DETAILS'] = 'Mal Detaljer';
+
+$HEADING['INSTALL_LANGUAGE'] = 'Installer Spr&aring;k';
+$HEADING['UNINSTALL_LANGUAGE'] = 'Avinstaller Spr&aring;k';
+$HEADING['LANGUAGE_DETAILS'] = 'Spr&aring;k Detaljer';
+
+$HEADING['MY_SETTINGS'] = 'Mine Innstillinger';
+$HEADING['MY_EMAIL'] = 'Min E-post';
+$HEADING['MY_PASSWORD'] = 'Mitt Passord';
+
+$HEADING['GENERAL_SETTINGS'] = 'Generelle Instillinger';
+$HEADING['DEFAULT_SETTINGS'] = 'Standard Innstillinger';
+$HEADING['SEARCH_SETTINGS'] = 'S&oslash;ke Innstillinger';
+$HEADING['FILESYSTEM_SETTINGS'] = 'Filsystem Innstillinger';
+$HEADING['SERVER_SETTINGS'] = 'Server Innstillinger';
+$HEADING['WBMAILER_SETTINGS'] = 'Innstillinger for e-post senderen';
+$HEADING['ADMINISTRATION_TOOLS'] = 'Administrasjonsverkt&oslash;y';
+
+$HEADING['MODIFY_DELETE_USER'] = 'Endre/Slette Bruker';
+$HEADING['ADD_USER'] = 'Legg til Bruker';
+$HEADING['MODIFY_USER'] = 'Endre Bruker';
+
+$HEADING['MODIFY_DELETE_GROUP'] = 'Endre/Slette Gruppe';
+$HEADING['ADD_GROUP'] = 'Legg til Gruppe';
+$HEADING['MODIFY_GROUP'] = 'Endre Gruppe';
+
+$HEADING['ADDON_PRECHECK_FAILED'] = 'Kravene for installering av denne modulen er ikke oppfylt';
+$HEADING['INVOKE_MODULE_FILES'] = 'Start modul filene mauelt';
+
+// Other text
+$TEXT['OPEN'] = '&Aring;pne';
+$TEXT['ADD'] = 'Tilf&oslash;y';
+$TEXT['MODIFY'] = 'Endre';
+$TEXT['SETTINGS'] = 'Innstillinger';
+$TEXT['DELETE'] = 'Slett';
+$TEXT['SAVE'] = 'Lagre';
+$TEXT['RESET'] = 'Tilbakestill';
+$TEXT['LOGIN'] = 'Logg inn';
+$TEXT['RELOAD'] = 'Oppdater';
+$TEXT['CANCEL'] = 'Avbryt';
+$TEXT['NAME'] = 'Navn';
+$TEXT['PLEASE_SELECT'] = 'Vennligst velg';
+$TEXT['TITLE'] = 'Tittel';
+$TEXT['PARENT'] = 'Hovedkategori';
+$TEXT['TYPE'] = 'Type';
+$TEXT['VISIBILITY'] = 'Synlighet';
+$TEXT['PRIVATE'] = 'Privat';
+$TEXT['PUBLIC'] = 'Offentlig';
+$TEXT['NONE'] = 'Ingen';
+$TEXT['NONE_FOUND'] = 'Ingen funnet';
+$TEXT['CURRENT'] = 'Aktuell';
+$TEXT['CHANGE'] = 'Forandre';
+$TEXT['WINDOW'] = 'Vindu';
+$TEXT['DESCRIPTION'] = 'Beskrivelse';
+$TEXT['KEYWORDS'] = 'N&oslash;kkelord';
+$TEXT['ADMINISTRATORS'] = 'Administratorer';
+$TEXT['PRIVATE_VIEWERS'] = 'Private Seere';
+$TEXT['EXPAND'] = 'Utvid';
+$TEXT['COLLAPSE'] = 'Fall sammen';
+$TEXT['MOVE_UP'] = 'Flytt opp';
+$TEXT['MOVE_DOWN'] = 'Flytt ned';
+$TEXT['RENAME'] = 'Endre navn';
+$TEXT['MODIFY_SETTINGS'] = 'Endre innstillinger';
+$TEXT['MODIFY_CONTENT'] = 'Endre innhold';
+$TEXT['VIEW'] = 'Se';
+$TEXT['UP'] = 'Opp';
+$TEXT['FORGOTTEN_DETAILS'] = 'Glemt dine detaljer?';
+$TEXT['NEED_TO_LOGIN'] = 'Trenger du &aring; logge inn?';
+$TEXT['SEND_DETAILS'] = 'Send detaljer';
+$TEXT['USERNAME'] = 'Brukernavn';
+$TEXT['PASSWORD'] = 'Passord';
+$TEXT['HOME'] = 'Hjem';
+$TEXT['TARGET_FOLDER'] = 'Gjelende katalog';
+$TEXT['OVERWRITE_EXISTING'] = 'Overskriv eksisterende';
+$TEXT['FILE'] = 'Fil';
+$TEXT['FILES'] = 'Filer';
+$TEXT['FOLDER'] = 'Katalog';
+$TEXT['FOLDERS'] = 'Kataloger';
+$TEXT['CREATE_FOLDER'] = 'Opprett Katalog';
+$TEXT['UPLOAD_FILES'] = 'Last opp fil(er)';
+$TEXT['CURRENT_FOLDER'] = 'Gjelende Katalog';
+$TEXT['TO'] = 'Til';
+$TEXT['FROM'] = 'Fra';
+$TEXT['INSTALL'] = 'Innstaller';
+$TEXT['UNINSTALL'] = 'Avinstaller';
+$TEXT['VIEW_DETAILS'] = 'Se Detaljer';
+$TEXT['DISPLAY_NAME'] = 'Vis Navn';
+$TEXT['AUTHOR'] = 'Skribent';
+$TEXT['VERSION'] = 'Versjon';
+$TEXT['DESIGNED_FOR'] = 'Laget For';
+$TEXT['DESCRIPTION'] = 'Beskrivelse';
+$TEXT['EMAIL'] = 'E-post';
+$TEXT['LANGUAGE'] = 'Spr&aring;k';
+$TEXT['TIMEZONE'] = 'Tidssone';
+$TEXT['CURRENT_PASSWORD'] = 'Gjeldende Passord';
+$TEXT['NEW_PASSWORD'] = 'Nytt Passord';
+$TEXT['RETYPE_NEW_PASSWORD'] = 'Skriv Passordet P&aring; Nytt';
+$TEXT['ACTIVE'] = 'Aktivt';
+$TEXT['DISABLED'] = 'Deaktivert';
+$TEXT['ENABLED'] = 'Aktivert';
+$TEXT['RETYPE_PASSWORD'] = 'Skriv Passord P&aring; Nytt';
+$TEXT['GROUP'] = 'Gruppe';
+$TEXT['SYSTEM_PERMISSIONS'] = 'System Adgang';
+$TEXT['MODULE_PERMISSIONS'] = 'Modul Adgang';
+$TEXT['SHOW_ADVANCED'] = 'Vis Avanserte Valg';
+$TEXT['HIDE_ADVANCED'] = 'Skjul Avanserte Valg';
+$TEXT['BASIC'] = 'Grunnleggende';
+$TEXT['ADVANCED'] = 'Avansert';
+$TEXT['WEBSITE'] = 'Internett Side';
+$TEXT['DEFAULT'] = 'Standard';
+$TEXT['KEYWORDS'] = 'N&oslash;kkelord';
+$TEXT['TEXT'] = 'Tekst';
+$TEXT['HEADER'] = 'Topptekst';
+$TEXT['FOOTER'] = 'Bunntekst ';
+$TEXT['TEMPLATE'] = 'Mal';
+$TEXT['THEME'] = 'Backend-Theme';
+$TEXT['INSTALLATION'] = 'Installsjon';
+$TEXT['DATABASE'] = 'Database';
+$TEXT['HOST'] = 'Vert';
+$TEXT['INTRO'] = 'Introduksjon';
+$TEXT['PAGE'] = 'Side';
+$TEXT['SIGNUP'] = 'Registrer';
+$TEXT['PHP_ERROR_LEVEL'] = 'PHP Feil rapporteringsniv&aring;';
+$TEXT['ADMIN'] = 'Admin';
+$TEXT['PATH'] = 'Bane';
+$TEXT['URL'] = 'URL';
+$TEXT['FRONTEND'] = 'Forside';
+$TEXT['EXTENSION'] = 'Ekspansjon';
+$TEXT['TABLE_PREFIX'] = 'Tabell Prefiks';
+$TEXT['CHANGES'] = 'Endringer';
+$TEXT['ADMINISTRATION'] = 'Administrasjon';
+$TEXT['FORGOT_DETAILS'] = 'Glemt detaljer?';
+$TEXT['LOGGED_IN'] = 'Innlogget';
+$TEXT['WELCOME_BACK'] = 'Velkommen tilbake';
+$TEXT['FULL_NAME'] = 'Fult Navn';
+$TEXT['ACCOUNT_SIGNUP'] = 'Konto Registrering';
+$TEXT['LINK'] = 'Lenke';
+$TEXT['ANCHOR'] = 'Anker';
+$TEXT['TARGET'] = 'M&aring;l';
+$TEXT['NEW_WINDOW'] = 'Nytt Vindu';
+$TEXT['SAME_WINDOW'] = 'Samme Vindu';
+$TEXT['TOP_FRAME'] = 'Topp ramme';
+$TEXT['PAGE_LEVEL_LIMIT'] = 'Side Niv&aring; Begrensning';
+$TEXT['SUCCESS'] = 'Suksess';
+$TEXT['ERROR'] = 'Feil';
+$TEXT['ARE_YOU_SURE'] = 'Er du sikker?';
+$TEXT['YES'] = 'Ja';
+$TEXT['NO'] = 'Nei';
+$TEXT['SYSTEM_DEFAULT'] = 'System Standard';
+$TEXT['PAGE_TITLE'] = 'Side Tittel';
+$TEXT['MENU_TITLE'] = 'Meny Tittel';
+$TEXT['ACTIONS'] = 'Valg';
+$TEXT['UNKNOWN'] = 'Ukjent';
+$TEXT['BLOCK'] = 'Blokker';
+$TEXT['SEARCH'] = 'S&oslash;k';
+$TEXT['SEARCHING'] = 'S&oslash;ker';
+$TEXT['POST'] = 'Innlegg';
+$TEXT['COMMENT'] = 'Kommentar';
+$TEXT['COMMENTS'] = 'Kommentarer';
+$TEXT['COMMENTING'] = 'Kommenterer';
+$TEXT['SHORT'] = 'Kort';
+$TEXT['LONG'] = 'Langt';
+$TEXT['LOOP'] = 'L&oslash;kke';
+$TEXT['FIELD'] = 'Felt';
+$TEXT['REQUIRED'] = 'P&aring;budt';
+$TEXT['LENGTH'] = 'Lengde';
+$TEXT['MESSAGE'] = 'Melding';
+$TEXT['SUBJECT'] = 'Emne';
+$TEXT['MATCH'] = 'Treff';
+$TEXT['ALL_WORDS'] = 'Alle Ord';
+$TEXT['ANY_WORDS'] = 'Samme Hvilke Ord';
+$TEXT['EXACT_MATCH'] = 'Eksakt Treff';
+$TEXT['SHOW'] = 'Vis';
+$TEXT['HIDE'] = 'Skjul';
+$TEXT['START_PUBLISHING'] = 'Start Publisering';
+$TEXT['FINISH_PUBLISHING'] = 'Avslutt Publisering';
+$TEXT['DATE'] = 'Dato';
+$TEXT['START'] = 'Start';
+$TEXT['END'] = 'Slutt';
+$TEXT['IMAGE'] = 'Bilde';
+$TEXT['ICON'] = 'Ikon';
+$TEXT['SECTION'] = 'Seksjon';
+$TEXT['DATE_FORMAT'] = 'Dato format';
+$TEXT['TIME_FORMAT'] = 'Tids format';
+$TEXT['RESULTS'] = 'Resultat';
+$TEXT['RESIZE'] = 'Endre St&oslash;rrelse';
+$TEXT['MANAGE'] = 'Administrer';
+$TEXT['CODE'] = 'Kode';
+$TEXT['WIDTH'] = 'Bredde';
+$TEXT['HEIGHT'] = 'H&oslash;yde';
+$TEXT['MORE'] = 'Mer';
+$TEXT['READ_MORE'] = 'Les Mer';
+$TEXT['CHANGE_SETTINGS'] = 'Endre Innstillinger';
+$TEXT['CURRENT_PAGE'] = 'Aktuell Side';
+$TEXT['CLOSE'] = 'Lukk';
+$TEXT['INTRO_PAGE'] = 'Intro Side';
+$TEXT['INSTALLATION_URL'] = 'Installasjons URL';
+$TEXT['INSTALLATION_PATH'] = 'Innstallasjons Bane';
+$TEXT['PAGE_EXTENSION'] = 'Side Tillegg';
+$TEXT['NO_RESULTS'] = 'Ingen Resultater';
+$TEXT['WEBSITE_TITLE'] = 'Nettstedets Tittel';
+$TEXT['WEBSITE_DESCRIPTION'] = 'Nettstedets Beskrivelse';
+$TEXT['WEBSITE_KEYWORDS'] = 'Nettsted N&oslash;kkelord';
+$TEXT['WEBSITE_HEADER'] = 'Nettsted Header';
+$TEXT['WEBSITE_FOOTER'] = 'Nettsted Footer';
+$TEXT['RESULTS_HEADER'] = 'Resultat Header';
+$TEXT['RESULTS_LOOP'] = 'Resultat L&oslash;kke';
+$TEXT['RESULTS_FOOTER'] = 'Resultat Footer';
+$TEXT['LEVEL'] = 'Niv&aring;';
+$TEXT['NOT_FOUND'] = 'Ikke Funnet';
+$TEXT['PAGE_SPACER'] = 'Side Mellomrom';
+$TEXT['MATCHING'] = 'Finner Motstykke';
+$TEXT['TEMPLATE_PERMISSIONS'] = 'Mal Tillgang';
+$TEXT['PAGES_DIRECTORY'] = 'Side Katalog';
+$TEXT['MEDIA_DIRECTORY'] = 'Media Katalog';
+$TEXT['FILE_MODE'] = 'Fil Modus';
+$TEXT['USER'] = 'Bruker';
+$TEXT['OTHERS'] = 'Andre';
+$TEXT['READ'] = 'Les';
+$TEXT['WRITE'] = 'Skriv';
+$TEXT['EXECUTE'] = 'Utf&oslash;re';
+$TEXT['SMART_LOGIN'] = 'Smart Innlogging';
+$TEXT['REMEMBER_ME'] = 'Husk Meg';
+$TEXT['FILESYSTEM_PERMISSIONS'] = 'Filsystem Tillgang';
+$TEXT['DIRECTORIES'] = 'Kataloger';
+$TEXT['DIRECTORY_MODE'] = 'Katalog Modus';
+$TEXT['LIST_OPTIONS'] = 'Vis Valg';
+$TEXT['OPTION'] = 'Valg';
+$TEXT['ALLOW_MULTIPLE_SELECTIONS'] = 'Tillat Flere Valg';
+$TEXT['TEXTFIELD'] = 'Tekstfelt';
+$TEXT['TEXTAREA'] = 'Tekstomr&aring;de';
+$TEXT['SELECT_BOX'] = 'Velg Boks';
+$TEXT['CHECKBOX_GROUP'] = 'Valgboks Gruppe';
+$TEXT['RADIO_BUTTON_GROUP'] = 'Radioknapp Gruppe';
+$TEXT['SIZE'] = 'St&oslash;rrelse';
+$TEXT['DEFAULT_TEXT'] = 'Standard Tekst';
+$TEXT['SEPERATOR'] = 'Mellomrom';
+$TEXT['BACK'] = 'Tilbake';
+$TEXT['UNDER_CONSTRUCTION'] = 'Under Konstruksjon';
+$TEXT['MULTISELECT'] = 'Flere Valg';
+$TEXT['SHORT_TEXT'] = 'Kort tekst';
+$TEXT['LONG_TEXT'] = 'Lang Tekst';
+$TEXT['HOMEPAGE_REDIRECTION'] = 'Hjemmeside Omadressering';
+$TEXT['HEADING'] = 'Overskrift';
+$TEXT['MULTIPLE_MENUS'] = 'Mangfoldige Menyer';
+$TEXT['REGISTERED'] = 'Registrert';
+$TEXT['SECTION_BLOCKS'] = 'Sekjsons Blokker';
+$TEXT['REGISTERED_VIEWERS'] = 'Registrerte Seere';
+$TEXT['ALLOWED_VIEWERS'] = 'Tillatte lesere';
+$TEXT['SUBMISSION_ID'] = 'Avgitt ID';
+$TEXT['SUBMISSIONS'] = 'Avgivelser';
+$TEXT['SUBMITTED'] = 'Avgitt';
+$TEXT['MAX_SUBMISSIONS_PER_HOUR'] = 'Max. Avgivelser Per Time';
+$TEXT['SUBMISSIONS_STORED_IN_DATABASE'] = 'Avgivelser Lagret i Database';
+$TEXT['EMAIL_ADDRESS'] = 'E-post Adresse';
+$TEXT['CUSTOM'] = 'Egendefinert';
+$TEXT['ANONYMOUS'] = 'Anonym';
+$TEXT['SERVER_OPERATING_SYSTEM'] = 'Serveren Operativ System';
+$TEXT['WORLD_WRITEABLE_FILE_PERMISSIONS'] = 'Global skrivetilgang til filer';
+$TEXT['LINUX_UNIX_BASED'] = 'Linux/Unix bassert';
+$TEXT['WINDOWS'] = 'WINDOWS';
+$TEXT['HOME_FOLDER'] = 'Hjemmekatalog';
+$TEXT['HOME_FOLDERS'] = 'Hjemmekataloger';
+$TEXT['PAGE_TRASH'] = 'Sides&oslash;ppel';
+$TEXT['INLINE'] = 'In-line';
+$TEXT['SEPARATE'] = 'Separat';
+$TEXT['DELETED'] = 'Slettet';
+$TEXT['VIEW_DELETED_PAGES'] = 'Vis Slettete Sider';
+$TEXT['EMPTY_TRASH'] = 'T&oslash;m S&oslash;ppel';
+$TEXT['TRASH_EMPTIED'] = 'S&oslash;ppelet er T&oslash;mt';
+$TEXT['ADD_SECTION'] = 'Legg Til Seksjon';
+$TEXT['POST_HEADER'] = 'Legg Til Header';
+$TEXT['POST_FOOTER'] = 'Legg Til Footer';
+$TEXT['POSTS_PER_PAGE'] = 'Innlegg Per Side';
+$TEXT['RESIZE_IMAGE_TO'] = 'Endre Bilde St&oslash;rrelse Til';
+$TEXT['UNLIMITED'] = 'Ubegrenset';
+$TEXT['OF'] = 'Av';
+$TEXT['OUT_OF'] = 'Av antall';
+$TEXT['NEXT'] = 'Neste';
+$TEXT['PREVIOUS'] = 'Forrige';
+$TEXT['NEXT_PAGE'] = 'Neste Side';
+$TEXT['PREVIOUS_PAGE'] = 'Forrige Side';
+$TEXT['ON'] = 'P&aring;';
+$TEXT['LAST_UPDATED_BY'] = 'Sist Endret Av';
+$TEXT['RESULTS_FOR'] = 'Resultat For';
+$TEXT['TIME'] = 'Tid';
+$TEXT['REDIRECT_AFTER'] = 'Videresend etter';
+$TEXT['WYSIWYG_STYLE'] = 'WYSIWYG Stil';
+$TEXT['WYSIWYG_EDITOR'] = 'WYSIWYG Editor';
+$TEXT['SERVER_EMAIL'] = 'Server E-post';
+$TEXT['MENU'] = 'Meny';
+$TEXT['MANAGE_GROUPS'] = 'Administrer Grupper';
+$TEXT['MANAGE_USERS'] = 'Administrer Brukere';
+$TEXT['PAGE_LANGUAGES'] = 'Side Spr&aring;k';
+$TEXT['HIDDEN'] = 'Skjult';
+$TEXT['MAIN'] = 'Hoved';
+$TEXT['RENAME_FILES_ON_UPLOAD'] = 'Gi filer nytt navn etter opplastningen';
+$TEXT['APP_NAME'] = 'Applikasjonsnavn';
+$TEXT['SESSION_IDENTIFIER'] = 'Sesjons id-navn';
+$TEXT['SEC_ANCHOR'] = 'Section-Anchor text';
+$TEXT['BACKUP'] = 'Sikkerhetskopiere';
+$TEXT['RESTORE'] = 'Gjenopprett';
+$TEXT['BACKUP_DATABASE'] = 'Sikkerhetskopiere database';
+$TEXT['RESTORE_DATABASE'] = 'Gjenopprett Database';
+$TEXT['BACKUP_ALL_TABLES'] = 'Sikkerhetskopiere alle tabeller i databasen';
+$TEXT['BACKUP_WB_SPECIFIC'] = 'Sikkerhetskopiere bare WB- spesifikke tabeller';
+$TEXT['BACKUP_MEDIA'] = 'Sikkerhetskopi Medie';
+$TEXT['RESTORE_MEDIA'] = 'Gjenopprett Media';
+$TEXT['ADMINISTRATION_TOOL'] = 'Administrasjonsverkt&oslash;y';
+$TEXT['CAPTCHA_VERIFICATION'] = 'Captcha bekreftelse';
+$TEXT['VERIFICATION'] = 'Bekreftelse';
+$TEXT['DEFAULT_CHARSET'] = 'Standard Charset';
+$TEXT['CHARSET'] = 'Tegnsett';
+$TEXT['MODULE_ORDER'] = 'Modul-rekkef&oslash;lge for s&oslash;king';
+$TEXT['MAX_EXCERPT'] = 'Maksimalt antall linjer for utdrag';
+$TEXT['TIME_LIMIT'] = 'Maksimal tid for &aring; samle utrag per modul';
+$TEXT['PUBL_START_DATE'] = 'Start dato';
+$TEXT['PUBL_END_DATE'] = 'Slutt dato';
+$TEXT['CALENDAR'] = 'Kalender';
+$TEXT['DELETE_DATE'] = 'Slette dato';
+$TEXT['WBMAILER_DEFAULT_SETTINGS_NOTICE'] = 'Spesifiser en standard "FRA" addresse og "AVSENDER" navn under. Det er annbefalt &aring; bruke en FRA adresse som: <strong>admin@yourdomain.com</strong>. Noen e-post leverand&oslash;rer(f.eks. <em>mail.com</em>) kan muligens avvise e-poster med en FRA: addresse som <em>name@mail.com</em> sendt igjennom en frmmed sent via en fremmed "relay" for &aring; unng&aring; spam.<br /><br />Standard verdiene brukes kun hvis det ikke er spessifisert andre verdier av WebsiteBaker. Hvis serveren din st&oslash;tter <acronym title="Simple mail transfer protocol">SMTP</acronym>, b&oslash;r du muligens benytte denne muligheten for utg&aring;ende e-post.';
+$TEXT['WBMAILER_DEFAULT_SENDER_MAIL'] = 'Standard Fra e-post';
+$TEXT['WBMAILER_DEFAULT_SENDER_NAME'] = 'Standard Avsender Navn';
+$TEXT['WBMAILER_NOTICE'] = '<strong>SMTP e-post innstillinger:</strong><br />Innstillingene under er kun p&aring;krevet hvis du vil sende e-post via <acronym title="Simple mail transfer protocol">SMTP</acronym>. Hvis du ikke vet hvem som er din "SMTP" leverand&oslash;r, eller du ikke er sikker p&aring; innstillingene som kreves, b&oslash;r du bruke standard e-post rutinen: PHP MAIL.';
+$TEXT['WBMAILER_FUNCTION'] = 'e-post rutine';
+$TEXT['WBMAILER_SMTP_HOST'] = 'SMTP V&aelig;rt';
+$TEXT['WBMAILER_PHP'] = 'PHP MAIL';
+$TEXT['WBMAILER_SMTP'] = 'SMTP';
+$TEXT['WBMAILER_SMTP_AUTH'] = 'SMTP Autentifisering';
+$TEXT['WBMAILER_SMTP_AUTH_NOTICE'] = 'aktiveres kun hvis din SMTP v&aelig;rt krever autentifisering';
+$TEXT['WBMAILER_SMTP_USERNAME'] = 'SMTP Brukernavn';
+$TEXT['WBMAILER_SMTP_PASSWORD'] = 'SMTP Passord';
+$TEXT['PLEASE_LOGIN'] = 'Venligst log p&aring;';
+$TEXT['CAP_EDIT_CSS'] = 'Rediger CSS koden';
+$TEXT['HEADING_CSS_FILE'] = 'Faktisk modul fil: ';
+$TEXT['TXT_EDIT_CSS_FILE'] = 'Rediger  CSS koden i tekst viduet nedenfor.';
+$TEXT['CODE_SNIPPET'] = "Code-snippet";
+$TEXT['REQUIREMENT'] = "Krav";
+$TEXT['INSTALLED'] = "installert";
+$TEXT['NOT_INSTALLED'] = "ikke installert";
+$TEXT['ADDON'] = "Tillegg";
+$TEXT['EXTENSION'] = "Utvidelse";
+$TEXT['UNZIP_FILE'] = "Upload and unpack a zip archive";
+$TEXT['DELETE_ZIP'] = "Delete zip archive after unpacking";
+
+// Success/error messages
+$MESSAGE['FRONTEND']['SORRY_NO_VIEWING_PERMISSIONS'] = 'Beklager, du har ikke tillgang til &aring; se denne siden';
+$MESSAGE['FRONTEND']['SORRY_NO_ACTIVE_SECTIONS'] = 'Beklager, ikke noe aktivt innhold &aring; vise.';
+
+$MESSAGE['ADMIN']['INSUFFICIENT_PRIVELLIGES'] = 'Mangelfull tillgangs rettigheter';
+
+$MESSAGE['LOGIN']['BOTH_BLANK'] = 'Vennligst skriv brukernavn og passord nedenfor';
+$MESSAGE['LOGIN']['USERNAME_BLANK'] = 'Vennligst skriv et brukernavn';
+$MESSAGE['LOGIN']['PASSWORD_BLANK'] = 'Vennligst skriv et passord';
+$MESSAGE['LOGIN']['USERNAME_TOO_SHORT'] = 'Det angitte brukernavnet er for kort';
+$MESSAGE['LOGIN']['PASSWORD_TOO_SHORT'] = 'Det angitte passordet er for kort';
+$MESSAGE['LOGIN']['USERNAME_TOO_LONG'] = 'Det angitte brukernavnet er for langt';
+$MESSAGE['LOGIN']['PASSWORD_TOO_LONG'] = 'Det angitte passordet er for langt';
+$MESSAGE['LOGIN']['AUTHENTICATION_FAILED'] = 'Brukernavnet eller passordet er feil';
+
+$MESSAGE['SIGNUP']['NO_EMAIL'] = 'Du m&aring; skrive inn en e-post adresse';
+$MESSAGE['SIGNUP2']['SUBJECT_LOGIN_INFO'] = 'Dine p&aring;-loggings detaljer...';
+$MESSAGE['SIGNUP2']['BODY_LOGIN_INFO'] = <<< EOT
+Hei {LOGIN_DISPLAY_NAME},
+
+Dine p&aring;-loggings detaljer for '{LOGIN_WEBSITE_TITLE}' er:
+Brukernavn: {LOGIN_NAME}
+Passord: {LOGIN_PASSWORD}
+
+Dit passord er sendt til e-postadressen over.
+Dette betyr at ditt tidligere passord ikke er gyldig lenger.
+
+Hvis du har mottatt denne e-posten ved en feil, v&aelig;r vennlig &aring; slette den med en gang.
+EOT;
+
+$MESSAGE['FORGOT_PASS']['NO_DATA'] = 'Vennligst skriv e-post adressen nedenfor';
+$MESSAGE['FORGOT_PASS']['EMAIL_NOT_FOUND'] = 'E-post adressen ble ikke funnet i databasen';
+$MESSAGE['FORGOT_PASS']['CANNOT_EMAIL'] = 'Kunne ikke sende passord. Kontakt system administrator';
+$MESSAGE['FORGOT_PASS']['PASSWORD_RESET'] = 'Brukernavn og passord er sendt i e-post';
+$MESSAGE['FORGOT_PASS']['ALREADY_RESET'] = 'Beklager, men passord kan ikke tilbakestilles mer enn en gang i timen.';
+
+$MESSAGE['START']['WELCOME_MESSAGE'] = 'Velkommen til WebsiteBaker Administrasjon';
+$MESSAGE['START']['INSTALL_DIR_EXISTS'] = 'Advarsel, installasjonskatalogen eksisterer forsatt!';
+$MESSAGE['START']['CURRENT_USER'] = 'Du er logget inn som:';
+
+$MESSAGE['SETTINGS']['UNABLE_OPEN_CONFIG'] = 'Kunne ikke &aring;pne konfigurasjons filen';
+$MESSAGE['SETTINGS']['UNABLE_WRITE_CONFIG'] = 'Kunne ikke skrive til konfigurasjons filen';
+$MESSAGE['SETTINGS']['SAVED'] = 'Lykkes &aring; lagre endringer';
+$MESSAGE['SETTINGS']['MODE_SWITCH_WARNING'] = 'Merk: Ved &aring; klikke denne knappen lagres ikke endringer';
+$MESSAGE['SETTINGS']['WORLD_WRITEABLE_WARNING'] = 'Merk: Dette er kun ment for teste milj&oslash;er';
+
+$MESSAGE['USERS']['ADDED'] = 'Lykkes &aring; opprette ny bruker';
+$MESSAGE['USERS']['SAVED'] = 'Lykkes &aring; lagre bruker';
+$MESSAGE['USERS']['DELETED'] = 'Lykkes &aring; slette bruker';
+$MESSAGE['USERS']['NO_GROUP'] = 'Ingen gruppe ble valgt';
+$MESSAGE['USERS']['USERNAME_TOO_SHORT'] = 'Angitt brukernavn for kort';
+$MESSAGE['USERS']['PASSWORD_TOO_SHORT'] = 'Angitt passord for kort';
+$MESSAGE['USERS']['PASSWORD_MISMATCH'] = 'Passordene er ikke like';
+$MESSAGE['USERS']['INVALID_EMAIL'] = 'E-post adresse ikke gyldig';
+$MESSAGE['USERS']['EMAIL_TAKEN'] = 'E-post adresse allerede i bruk';
+$MESSAGE['USERS']['USERNAME_TAKEN'] = 'Brukernavn er allerede brukt, du m&aring; anngi et annet brukernavn';
+$MESSAGE['USERS']['CHANGING_PASSWORD'] = 'Merk: Skriv kun inn verdier i feltene ovenfor hvis du vil endre passordet til denne brukeren';
+$MESSAGE['USERS']['CONFIRM_DELETE'] = 'Vil du virkelig slette den valgte brukeren?';
+
+$MESSAGE['GROUPS']['ADDED'] = 'Lykkes &aring; legge til gruppe';
+$MESSAGE['GROUPS']['SAVED'] = 'Lykkes &aring; lagre gruppe';
+$MESSAGE['GROUPS']['DELETED'] = 'Lykkes &aring; slette gruppe';
+$MESSAGE['GROUPS']['GROUP_NAME_BLANK'] = 'Gruppe navn ikke angitt';
+$MESSAGE['GROUPS']['CONFIRM_DELETE'] = 'Slette valgte gruppe (og dermed ogs&aring; alle tilh&oslash;rende brukere)?';
+$MESSAGE['GROUPS']['NO_GROUPS_FOUND'] = 'Ingen gruppe funnet';
+$MESSAGE['GROUPS']['GROUP_NAME_EXISTS'] = 'Gruppenavn finnes allerede';
+
+$MESSAGE['PREFERENCES']['DETAILS_SAVED'] = 'Lykkes &aring; lagre detaljer';
+$MESSAGE['PREFERENCES']['EMAIL_UPDATED'] = 'Lykkes &aring; oppdatere e-post';
+$MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT'] = 'Passordet du skrev inn er ikke korrekt';
+$MESSAGE['PREFERENCES']['PASSWORD_CHANGED'] = 'Lykkes &aring; endre passord';
+
+$MESSAGE['TEMPLATES']['CHANGE_TEMPLATE_NOTICE'] = 'Merk: For &aring; endre malen m&aring; man gj&oslash;re dette i Instillinger seksjonen';
+
+$MESSAGE['MEDIA']['DIR_DOT_DOT_SLASH'] = 'Kan ikke benytte ../ i katalog navnet';
+$MESSAGE['MEDIA']['DIR_DOES_NOT_EXIST'] = 'Katalogen finnes ikke';
+$MESSAGE['MEDIA']['TARGET_DOT_DOT_SLASH'] = 'Kan ikke ha ../ i katalog m&aring;let';
+$MESSAGE['MEDIA']['NAME_DOT_DOT_SLASH'] = 'Kan ikke benytte ../ i navnet';
+$MESSAGE['MEDIA']['NAME_INDEX_PHP'] = 'Kan ikke benytte index.php som navnet';
+$MESSAGE['MEDIA']['NONE_FOUND'] = 'Det ble ikke funnet noen media i den angitte katalogen';
+$MESSAGE['MEDIA']['FILE_NOT_FOUND'] = 'Fant ingen fil';
+$MESSAGE['MEDIA']['DELETED_FILE'] = 'Lykkes &aring; slette fil';
+$MESSAGE['MEDIA']['DELETED_DIR'] = 'Lykkes &aring; slette katalog';
+$MESSAGE['MEDIA']['CONFIRM_DELETE'] = 'Vil du virkelig slette filen eller katalogen?';
+$MESSAGE['MEDIA']['CANNOT_DELETE_FILE'] = 'Kan ikke slette valgte fil';
+$MESSAGE['MEDIA']['CANNOT_DELETE_DIR'] = 'Kan ikke slette valgte katalog';
+$MESSAGE['MEDIA']['BLANK_NAME'] = 'Du anga ikke inn et nytt navn';
+$MESSAGE['MEDIA']['BLANK_EXTENSION'] = 'Du tastet ikke inn en fil utvidelse';
+$MESSAGE['MEDIA']['RENAMED'] = 'Lykkes &aring; endre navn';
+$MESSAGE['MEDIA']['CANNOT_RENAME'] = 'Mislykkes &aring; endre navn';
+$MESSAGE['MEDIA']['FILE_EXISTS'] = 'En fil med samme navn eksisterer allerede';
+$MESSAGE['MEDIA']['DIR_EXISTS'] = 'En katalog med samme navn eksisterer allerede';
+$MESSAGE['MEDIA']['DIR_MADE'] = 'Lykkes &aring; opprette katalogen';
+$MESSAGE['MEDIA']['DIR_NOT_MADE'] = 'Mislykkes &aring; opprette katalogen';
+$MESSAGE['MEDIA']['SINGLE_UPLOADED'] = ' Lykkes &aring; laste opp filen';
+$MESSAGE['MEDIA']['UPLOADED'] = ' Lykkes &aring; laste opp filene';
+
+$MESSAGE['PAGES']['ADDED'] = 'Lykkes &aring; legge til siden';
+$MESSAGE['PAGES']['ADDED_HEADING'] = 'Lykkes &aring; legge til side overskrift';
+$MESSAGE['PAGES']['PAGE_EXISTS'] = 'En side med lik eller tilsvarende tittel eksisterer';
+$MESSAGE['PAGES']['CANNOT_CREATE_ACCESS_FILE'] = 'Feilet &aring; opprette adgang fil i /pages katalog (manglende rettigheter)';
+$MESSAGE['PAGES']['CANNOT_DELETE_ACCESS_FILE'] = 'Feilet &aring; slette adgang fil i /pages katalog (manglende rettigheter)';
+$MESSAGE['PAGES']['NOT_FOUND'] = 'Fant ikke side';
+$MESSAGE['PAGES']['SAVED'] = 'Lykkes &aring; lagre side';
+$MESSAGE['PAGES']['SAVED_SETTINGS'] = 'Lykkes &aring; lagre side innstillinger';
+$MESSAGE['PAGES']['NOT_SAVED'] = 'Kunne ikke lagre side';
+$MESSAGE['PAGES']['DELETE_CONFIRM'] = 'Er du sikker p&aring; at du vil slette valgte side (og dermed alle under-sider)?';
+$MESSAGE['PAGES']['DELETED'] = 'Lykkes &aring; slette side';
+$MESSAGE['PAGES']['RESTORED'] = 'Lykkes &aring; gjenopprette side';
+$MESSAGE['PAGES']['BLANK_PAGE_TITLE'] = 'Vennligst skriv inn side tittel';
+$MESSAGE['PAGES']['BLANK_MENU_TITLE'] = 'Vennligst skriv inn meny tittel';
+$MESSAGE['PAGES']['REORDERED'] = 'Lykkes &aring; endre side rekkef&oslash;lge';
+$MESSAGE['PAGES']['CANNOT_REORDER'] = 'Feilet &aring; endre rekkef&oslash;lge';
+$MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS'] = 'Du har ikke rettigheter til &aring; endre denne siden';
+$MESSAGE['PAGES']['INTRO_NOT_WRITABLE'] = 'Kunne ikke skrive til fil /pages/intro.php (manglende rettigheter)';
+$MESSAGE['PAGES']['INTRO_SAVED'] = 'Lykkes &aring; lagre intro side';
+$MESSAGE['PAGES']['LAST_MODIFIED'] = 'Sist modifisert av';
+$MESSAGE['PAGES']['INTRO_LINK'] = 'Klikk HER for &aring; endre intro siden';
+$MESSAGE['PAGES']['SECTIONS_PROPERTIES_SAVED'] = 'Lykkes &aring; lagre seksjons innstillinger';
+$MESSAGE['PAGES']['RETURN_TO_PAGES'] = 'Tilbake til sider';
+
+$MESSAGE['GENERIC']['FILL_IN_ALL'] = 'Vennligst g&aring; tilbake og fyll inn alle felter';
+$MESSAGE['GENERIC']['FILE_TYPE'] = 'Vennligst merk at filen du vil laste opp m&aring; v&aelig;re av f&oslash;lgende format:';
+$MESSAGE['GENERIC']['FILE_TYPES'] = 'Vennligst merk at filen du vil laste opp m&aring; v&aelig;re en av f&oslash;lgende formater:';
+$MESSAGE['GENERIC']['CANNOT_UPLOAD'] = 'Kan ikke laste opp fil';
+$MESSAGE['GENERIC']['ALREADY_INSTALLED'] = 'Allerede installert';
+$MESSAGE['GENERIC']['NOT_INSTALLED'] = 'Ikke installert';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL'] = 'Kan ikke avinstallere';
+$MESSAGE['GENERIC']['CANNOT_UNZIP'] = 'Kan ikke pakke ut fil';
+$MESSAGE['GENERIC']['INSTALLED'] = 'Lykkes &aring; installere';
+$MESSAGE['GENERIC']['UPGRADED'] = 'Lykkes &aring; oppdatere';
+$MESSAGE['GENERIC']['UNINSTALLED'] = 'Lykkes &aring; avinstallere';
+$MESSAGE['GENERIC']['BAD_PERMISSIONS'] = 'Kunne ikke skrive til m&aring;l katalogen';
+$MESSAGE['GENERIC']['INVALID'] = 'Filen du lastet opp er ikke gyldig';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE'] = 'Kan ikke avinstallere: Valgte fil er i bruk';
+
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL'] = "<br /><br />{{type}} <b>{{type_name}}</b> kunne ikke avinstalleres, da den fortsatt benyttes p&aring; siden {{pages}}.<br /><br />";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL_PAGES'] = "denne siden;disse sidene";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IS_DEFAULT_TEMPLATE'] = "Kan ikke avinstallere designmalen <b>{{name}}</b>, da den benyttes som standard designmal!";
+
+$MESSAGE['GENERIC']['WEBSITE_UNDER_CONSTRUCTION'] = 'Nettstedet er under konstruksjon';
+$MESSAGE['GENERIC']['PLEASE_CHECK_BACK_SOON'] = 'Vennligst kom tilbake p&aring; et annet tidspunkt...';
+$MESSAGE['GENERIC']['PLEASE_BE_PATIENT'] = 'Vennligst v&aelig;r t&aring;lmodig, dette kan ta en stund.';
+$MESSAGE['GENERIC']['ERROR_OPENING_FILE'] = 'Feil ved &aring;pningen av filen.';
+$MESSAGE['GENERIC']['INVALID_ADDON_FILE'] = 'Feil i WebsiteBaker installasjons filen. Vennligst sjekk formatet på *.zip filen.';
+$MESSAGE['GENERIC']['INVALID_LANGUAGE_FILE'] = 'Feil i WebsiteBaker spr&aring;k filen. Vennligst sjekk tekst filen.';
+
+$MESSAGE['MOD_FORM']['REQUIRED_FIELDS'] = 'Du m&aring; skrive inn detaljer for f&oslash;lgende felt';
+$MESSAGE['MOD_FORM']['EXCESS_SUBMISSIONS'] = 'Beklager, dette skjemaet har blitt sendt for mange ganger denne timen. Vennligst pr&oslash;v igjen om en time.';
+$MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA'] = 'Bekreftelsesnummeret (ogs&aring; kjent som Captcha) som du skrev inn er feil. Hvis du har problemer med &aring; lese Captcha, vennligst kontakt: '.SERVER_EMAIL.'';
+
+$MESSAGE['ADDON']['RELOAD'] = 'Oppdater databasen med innformasjon fra Tilleggs filen (for eksempel etter å ha lastet opp via FTP).';
+$MESSAGE['ADDON']['ERROR_RELOAD'] = 'En feil oppstod under oppdateringen av Tilleggs innformasjonen.';
+$MESSAGE['ADDON']['MODULES_RELOADED'] = 'Lykkes i &aring; oppdatere moduler';
+$MESSAGE['ADDON']['TEMPLATES_RELOADED'] = 'Lykkes i &aring; oppdatere maler';
+$MESSAGE['ADDON']['LANGUAGES_RELOADED'] = 'Lykkes i &aring; oppdatere spr&aring;k';
+$MESSAGE['ADDON']['PRECHECK_FAILED'] = 'En fei oppstod under installasjonen av Tillegget. Dit system oppfyller ikke kravene for denne Tilleggs modulen. For &aring; f&aring; denne Tilleggs modulen til &aring; fungere p&aring; systemet ditt, m&aring; du fikse de feilene som er inngitt under.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION'] = 'N&aring;r Tillegg lastes opp via FTP (ikke &aring; annbefale), vill ikke modulens installasjons filer <tt>install.php</tt>, <tt>upgrade.php</tt> eller <tt>uninstall.php</tt> bli kj&oslash;rt automatisk. Moduler, lastet opp p&aring; denne m&aring;ten, vil muligens ikke fungere p&aring; korrekt m&aring;te eller ikke la seg av-installere.<br /><br />Du kan, for moduler lastet om via FTP, kj&oslash;re disse modul filene manuelt nedenfor.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION_WARNING'] = 'OBS: Den eksisterende databasen for modulen vil g&aring; tapt. Benytt denne muligheten hvis du har problemer med Moduler som er lastet opp via FTP.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/languages/NO.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/languages/SK.php
===================================================================
--- tags/2.8.2/wb/languages/SK.php	(nonexistent)
+++ tags/2.8.2/wb/languages/SK.php	(revision 1481)
@@ -0,0 +1,595 @@
+<?php
+/**
+ *
+ * @category        framework
+ * @package         language
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// use languageedit-module to modify this file
+
+// Define that this file is loaded
+if(!defined('LANGUAGE_LOADED')) {
+define('LANGUAGE_LOADED', true);
+}
+
+// Set the language information
+$language_code = 'SK';
+$language_name = 'Slovensky';
+$language_version = '2.8';
+$language_platform = '2.8.x';
+$language_author = 'Michal Kurtulik - YONIX.SK';
+$language_license = 'GNU General Public License';
+
+// Menu titles
+$MENU['START'] = '&Uacute;vod';
+$MENU['PAGES'] = 'Str&aacute;nky';
+$MENU['MEDIA'] = 'M&eacute;dia';
+$MENU['ADDONS'] = 'Roz&#353;&iacute;renie';
+$MENU['MODULES'] = 'Moduly';
+$MENU['TEMPLATES'] = '&#352;ablony';
+$MENU['LANGUAGES'] = 'Jazyky';
+$MENU['PREFERENCES'] = 'Mo&#382;nosti';
+$MENU['SETTINGS'] = 'Nastavenia';
+$MENU['ADMINTOOLS'] = 'N&aacute;stroje';
+$MENU['ACCESS'] = 'Pr&iacute;stup';
+$MENU['USERS'] = 'U&#382;&iacute;vatelia';
+$MENU['GROUPS'] = 'Skupiny';
+$MENU['HELP'] = 'N&aacute;poveda';
+$MENU['VIEW'] = 'Zobrazi&#357;';
+$MENU['LOGOUT'] = 'Odhl&aacute;si&#357;';
+$MENU['LOGIN'] = 'Prihl&aacute;senie';
+$MENU['FORGOT'] = 'Z&iacute;ska&#357; zabudnut&eacute; prihlasovacie &uacute;daje';
+
+// Section overviews
+$OVERVIEW['START'] = 'Administrat&iacute;vny prehlad';
+$OVERVIEW['PAGES'] = 'Spravova&#357; webov&eacute; str&aacute;nky...';
+$OVERVIEW['MEDIA'] = 'Spravova&#357; s&uacute;bory v adres&aacute;ri m&eacute;di&iacute;...';
+$OVERVIEW['MODULES'] = 'Spravova&#357; moduly...';
+$OVERVIEW['TEMPLATES'] = 'Zmeni&#357; vzh&#318;ad a chovanie webu pomocou &#353;ablon...';
+$OVERVIEW['LANGUAGES'] = 'Spravova&#357; jazyky...';
+$OVERVIEW['PREFERENCES'] = 'Zmena nastavenia e-mailovej adresy, hesla, atd... ';
+$OVERVIEW['SETTINGS'] = 'Zmena nastavenia...';
+$OVERVIEW['USERS'] = 'Spravova&#357; u&#382;ivatelov...';
+$OVERVIEW['GROUPS'] = 'Spravova&#357; skupiny u&#382;ivatelov a ich opr&aacute;vnen&iacute;...';
+$OVERVIEW['HELP'] = 'M&aacute;te ot&aacute;zku? H&#318;adajte odpove&#271;...';
+$OVERVIEW['VIEW'] = 'R&yacute;chlo prezrie&#357; str&aacute;nky v novom okne...';
+$OVERVIEW['ADMINTOOLS'] = 'Administra&#269;n&eacute; n&aacute;stroje...';
+
+// Headings
+$HEADING['MODIFY_DELETE_PAGE'] = 'Zmenit/Vymaza&#357; str&aacute;nku';
+$HEADING['DELETED_PAGES'] = 'Vymazan&eacute; str&aacute;nky';
+$HEADING['ADD_PAGE'] = 'Prida&#357; str&aacute;nku';
+$HEADING['ADD_HEADING'] = 'Prida&#357; z&aacute;hlavie';
+$HEADING['MODIFY_PAGE'] = 'Upravi&#357; str&aacute;nku';
+$HEADING['MODIFY_PAGE_SETTINGS'] = 'Zmeni&#357; nastavenie str&aacute;nky';
+$HEADING['MODIFY_ADVANCED_PAGE_SETTINGS'] = 'Zmeni&#357; pokro&#269;il&eacute; nastavenie str&aacute;nky';
+$HEADING['MANAGE_SECTIONS'] = 'Spravova&#357; sekcie';
+$HEADING['MODIFY_INTRO_PAGE'] = 'Zmeni&#357; &uacute;vodn&uacute; (intro) str&aacute;nku';
+
+$HEADING['BROWSE_MEDIA'] = 'Prehliada&#269; m&eacute;di&iacute;';
+$HEADING['CREATE_FOLDER'] = 'Vytvori&#357; adres&aacute;r';
+$HEADING['UPLOAD_FILES'] = 'Nahra&#357; s&uacute;bor(y)';
+
+$HEADING['INSTALL_MODULE'] = 'Nain&#353;talovat modul';
+$HEADING['UNINSTALL_MODULE'] = 'Odin&#353;talovat modul';
+$HEADING['MODULE_DETAILS'] = 'Detaily modulu';
+
+$HEADING['INSTALL_TEMPLATE'] = 'Nain&#353;talovat &#353;ablonu';
+$HEADING['UNINSTALL_TEMPLATE'] = 'Odi&#353;talovat &#353;ablonu';
+$HEADING['TEMPLATE_DETAILS'] = 'Detaily &#353;ablony';
+
+$HEADING['INSTALL_LANGUAGE'] = 'Nain&#353;talovat jazyk';
+$HEADING['UNINSTALL_LANGUAGE'] = 'Odin&#353;talovat jazyk';
+$HEADING['LANGUAGE_DETAILS'] = 'Detaily jazyka';
+
+$HEADING['MY_SETTINGS'] = 'Moje nastavenie';
+$HEADING['MY_EMAIL'] = 'M&ocirc;j e-mail';
+$HEADING['MY_PASSWORD'] = 'Moje heslo';
+
+$HEADING['GENERAL_SETTINGS'] = 'Obecn&eacute; nastavenie';
+$HEADING['DEFAULT_SETTINGS'] = 'Implicitn&eacute; nastavenie';
+$HEADING['SEARCH_SETTINGS'] = 'Nastavenie vyh&#318;ad&aacute;vania';
+$HEADING['FILESYSTEM_SETTINGS'] = 'Nastavenie syst&eacute;mu s&uacute;borov';
+$HEADING['SERVER_SETTINGS'] = 'Nastavenie serveru';
+$HEADING['WBMAILER_SETTINGS'] = 'Nastavenia E-Mailu';
+$HEADING['ADMINISTRATION_TOOLS'] = 'Administra&#269;n&eacute; n&aacute;stroje';
+
+$HEADING['MODIFY_DELETE_USER'] = 'Zmeni&#357;/Vymaza&#357; u&#382;&iacute;vatelov';
+$HEADING['ADD_USER'] = 'Prida&#357; u&#382;&iacute;vate&#318;ov';
+$HEADING['MODIFY_USER'] = 'Zmeni&#357; u&#382;&iacute;vatelov';
+
+$HEADING['MODIFY_DELETE_GROUP'] = 'Zmeni&#357;/Vymaza&#357; skupinu';
+$HEADING['ADD_GROUP'] = 'Prida&#357; skupinu';
+$HEADING['MODIFY_GROUP'] = 'Zmeni&#357; skupinu';
+
+$HEADING['ADDON_PRECHECK_FAILED'] = 'Nie s&uacute; splnen&eacute; po&#382;iadavky pre roz&#353;&iacute;renie';
+$HEADING['INVOKE_MODULE_FILES'] = 'Spustite  in&#353;tal&aacute;ciu modulu ru&#269;ne';
+
+// Other text
+$TEXT['OPEN'] = 'Otvori&#357;';
+$TEXT['ADD'] = 'Prida&#357;';
+$TEXT['MODIFY'] = 'Zmeni&#357;';
+$TEXT['SETTINGS'] = 'Nastavenie';
+$TEXT['DELETE'] = 'Vymaza&#357;';
+$TEXT['SAVE'] = 'Ulo&#382;i&#357;';
+$TEXT['RESET'] = 'Vy&#269;isti&#357;';
+$TEXT['LOGIN'] = 'Prihl&aacute;si&#357;';
+$TEXT['RELOAD'] = 'Obnovi&#357;';
+$TEXT['CANCEL'] = 'Zru&#353;i&#357;';
+$TEXT['NAME'] = 'N&aacute;zov';
+$TEXT['PLEASE_SELECT'] = 'Vyberte pros&iacute;m';
+$TEXT['TITLE'] = 'N&aacute;zov';
+$TEXT['PARENT'] = 'Nadraden&yacute;';
+$TEXT['TYPE'] = 'Typ';
+$TEXT['VISIBILITY'] = 'Vidite&#318;nos&#357;';
+$TEXT['PRIVATE'] = 'S&uacute;kromn&aacute;';
+$TEXT['PUBLIC'] = 'Verejn&aacute;';
+$TEXT['NONE'] = 'Nie je';
+$TEXT['NONE_FOUND'] = 'Ni&#269; sa nena&#353;lo';
+$TEXT['CURRENT'] = 'S&uacute;&#269;asn&yacute;';
+$TEXT['CHANGE'] = 'Zmeni&#357;';
+$TEXT['WINDOW'] = 'Okno';
+$TEXT['DESCRIPTION'] = 'Popis';
+$TEXT['KEYWORDS'] = 'K&#318;&uacute;&#269;ov&eacute; slov&aacute;';
+$TEXT['ADMINISTRATORS'] = 'Spr&aacute;vcovia';
+$TEXT['PRIVATE_VIEWERS'] = 'Opr&aacute;vnenie k prezeraniu';
+$TEXT['EXPAND'] = 'Rozbali&#357;';
+$TEXT['COLLAPSE'] = 'Zbali&#357;';
+$TEXT['MOVE_UP'] = 'Posun&uacute;&#357; nahor';
+$TEXT['MOVE_DOWN'] = 'Posun&uacute;&#357; dole';
+$TEXT['RENAME'] = 'Premenova&#357;.';
+$TEXT['MODIFY_SETTINGS'] = 'Zmeni&#357; nastavenie';
+$TEXT['MODIFY_CONTENT'] = 'Zmeni&#357; obsah';
+$TEXT['VIEW'] = 'Zobrazi&#357;';
+$TEXT['UP'] = 'Nahor';
+$TEXT['FORGOTTEN_DETAILS'] = 'Zabudli ste svoje prihlasovanie &uacute;daje ?';
+$TEXT['NEED_TO_LOGIN'] = 'Chcete sa prihl&aacute;si&#357;?';
+$TEXT['SEND_DETAILS'] = 'Zasla&#357; prihlasovanie &uacute;daje';
+$TEXT['USERNAME'] = 'Meno';
+$TEXT['PASSWORD'] = 'Heslo';
+$TEXT['HOME'] = 'Domov';
+$TEXT['TARGET_FOLDER'] = 'Cie&#318;ov&yacute; adres&aacute;r';
+$TEXT['OVERWRITE_EXISTING'] = 'Prep&iacute;sa&#357; existuj&uacute;ci';
+$TEXT['FILE'] = 's&uacute;bor';
+$TEXT['FILES'] = 's&uacute;bory';
+$TEXT['FOLDER'] = 'adres&aacute;r';
+$TEXT['FOLDERS'] = 'adres&aacute;re';
+$TEXT['CREATE_FOLDER'] = 'Vytvorit adres&aacute;r';
+$TEXT['UPLOAD_FILES'] = 'Nahra&#357; s&uacute;bor(y)';
+$TEXT['CURRENT_FOLDER'] = 'S&uacute;&#269;asn&yacute; adres&aacute;r';
+$TEXT['TO'] = 'na';
+$TEXT['FROM'] = 'od';
+$TEXT['INSTALL'] = 'In&#353;talovat';
+$TEXT['UNINSTALL'] = 'Odin&#353;talovat';
+$TEXT['VIEW_DETAILS'] = 'Zobrazi&#357;';
+$TEXT['DISPLAY_NAME'] = 'Meno';
+$TEXT['AUTHOR'] = 'Autor';
+$TEXT['VERSION'] = 'Verzia';
+$TEXT['DESIGNED_FOR'] = 'Vyvinut&eacute; pre';
+$TEXT['DESCRIPTION'] = 'Popis';
+$TEXT['EMAIL'] = 'E-mail';
+$TEXT['LANGUAGE'] = 'Jazyk';
+$TEXT['TIMEZONE'] = '&#268;asov&eacute; p&aacute;smo';
+$TEXT['CURRENT_PASSWORD'] = 'S&uacute;&#269;asn&eacute; heslo';
+$TEXT['NEW_PASSWORD'] = 'Nov&eacute; heslo';
+$TEXT['RETYPE_NEW_PASSWORD'] = 'Znovu nov&eacute; heslo';
+$TEXT['ACTIVE'] = 'Akt&iacute;vny';
+$TEXT['DISABLED'] = 'Vypnut&eacute;';
+$TEXT['ENABLED'] = 'Zapnut&eacute;';
+$TEXT['RETYPE_PASSWORD'] = 'Znovu heslo';
+$TEXT['GROUP'] = 'Skupina';
+$TEXT['SYSTEM_PERMISSIONS'] = 'Syst&eacute;mov&eacute; opr&aacute;vnenie';
+$TEXT['MODULE_PERMISSIONS'] = 'Opr&aacute;vnenie k modulom';
+$TEXT['SHOW_ADVANCED'] = 'Zobrazi&#357; pokro&#269;il&eacute; vo&#318;by';
+$TEXT['HIDE_ADVANCED'] = 'Skry&#357; pokro&#269;il&eacute; vo&#318;by';
+$TEXT['BASIC'] = 'Z&aacute;kladn&yacute;';
+$TEXT['ADVANCED'] = 'Pokro&#269;il&yacute;';
+$TEXT['WEBSITE'] = 'WWW';
+$TEXT['DEFAULT'] = 'V&yacute;chodz&iacute;';
+$TEXT['KEYWORDS'] = 'K&#318;&uacute;&#269;ov&eacute; slov&aacute;';
+$TEXT['TEXT'] = 'Text';
+$TEXT['HEADER'] = 'Z&aacute;hlavie';
+$TEXT['FOOTER'] = 'Z&aacute;p&auml;tie';
+$TEXT['TEMPLATE'] = '&#352;ablona';
+$TEXT['THEME'] = 'Backend-Theme';
+$TEXT['INSTALLATION'] = 'In&#353;tal&aacute;cia';
+$TEXT['DATABASE'] = 'Datab&aacute;za';
+$TEXT['HOST'] = 'Hostite&#318;';
+$TEXT['INTRO'] = 'Intro';
+$TEXT['PAGE'] = 'Str&aacute;nka';
+$TEXT['SIGNUP'] = 'Registr&aacute;cia';
+$TEXT['PHP_ERROR_LEVEL'] = '&Uacute;rove&#328; hl&aacute;senia ch&yacute;b PHP';
+$TEXT['ADMIN'] = 'Admin';
+$TEXT['PATH'] = 'Cesta';
+$TEXT['URL'] = 'URL';
+$TEXT['FRONTEND'] = 'Front-end';
+$TEXT['EXTENSION'] = 'Roz&#353;&iacute;renie';
+$TEXT['TABLE_PREFIX'] = 'Prefix tabuliek';
+$TEXT['CHANGES'] = 'Zmeny';
+$TEXT['ADMINISTRATION'] = 'Administrat&iacute;va';
+$TEXT['FORGOT_DETAILS'] = 'Zabudnut&eacute; heslo?';
+$TEXT['LOGGED_IN'] = 'prihl&aacute;senie';
+$TEXT['WELCOME_BACK'] = 'Vitajte';
+$TEXT['FULL_NAME'] = 'Cel&eacute; meno';
+$TEXT['ACCOUNT_SIGNUP'] = 'Registr&aacute;cia &uacute;&#269;tu';
+$TEXT['LINK'] = 'Odkaz';
+$TEXT['ANCHOR'] = 'Anchor';
+$TEXT['TARGET'] = 'Smeruje do';
+$TEXT['NEW_WINDOW'] = 'nov&eacute;ho okna';
+$TEXT['SAME_WINDOW'] = 'p&ocirc;vodn&eacute;ho okna';
+$TEXT['TOP_FRAME'] = 'vrchn&eacute;ho r&aacute;mu';
+$TEXT['PAGE_LEVEL_LIMIT'] = 'Limit &uacute;rovne str&aacute;nok';
+$TEXT['SUCCESS'] = '&Uacute;spe&#353;ne preveden&eacute;';
+$TEXT['ERROR'] = 'Chyba';
+$TEXT['ARE_YOU_SURE'] = 'Ste si ist&iacute;?';
+$TEXT['YES'] = 'Ano';
+$TEXT['NO'] = 'Nie';
+$TEXT['SYSTEM_DEFAULT'] = 'Implicitn&eacute; v syst&eacute;me';
+$TEXT['PAGE_TITLE'] = 'Titulok str&aacute;nky';
+$TEXT['MENU_TITLE'] = 'Titulok menu';
+$TEXT['ACTIONS'] = 'Akcia';
+$TEXT['UNKNOWN'] = 'Nezn&aacute;m&yacute;';
+$TEXT['BLOCK'] = 'Blok';
+$TEXT['SEARCH'] = 'Vyh&#318;ad&aacute;vanie';
+$TEXT['SEARCHING'] = 'Vyh&#318;ad&aacute;vanie';
+$TEXT['POST'] = 'pr&iacute;spevok';
+$TEXT['COMMENT'] = 'Koment&aacute;r';
+$TEXT['COMMENTS'] = 'Koment&aacute;re';
+$TEXT['COMMENTING'] = 'Koment&aacute;re';
+$TEXT['SHORT'] = 'Kr&aacute;tky popis';
+$TEXT['LONG'] = 'Dlh&yacute; popis';
+$TEXT['LOOP'] = 'Telo';
+$TEXT['FIELD'] = 'Pole';
+$TEXT['REQUIRED'] = 'Povinn&yacute;';
+$TEXT['LENGTH'] = 'D&#314;&#382;ka';
+$TEXT['MESSAGE'] = 'Spr&aacute;va';
+$TEXT['SUBJECT'] = 'Predmet';
+$TEXT['MATCH'] = 'Zhoda';
+$TEXT['ALL_WORDS'] = 'V&#353;etky slov&aacute;';
+$TEXT['ANY_WORDS'] = '&#268;oko&#318;vek';
+$TEXT['EXACT_MATCH'] = 'Presn&aacute; zhoda';
+$TEXT['SHOW'] = 'Zobrazi&#357;';
+$TEXT['HIDE'] = 'Skry&#357;';
+$TEXT['START_PUBLISHING'] = 'Za&#269;iatok publik&aacute;cie';
+$TEXT['FINISH_PUBLISHING'] = 'Koniec publik&aacute;cie';
+$TEXT['DATE'] = 'D&aacute;tum';
+$TEXT['START'] = 'Za&#269;iatok';
+$TEXT['END'] = 'Koniec';
+$TEXT['IMAGE'] = 'Obr&aacute;zok';
+$TEXT['ICON'] = 'Ikona';
+$TEXT['SECTION'] = 'Sekcia';
+$TEXT['DATE_FORMAT'] = 'Form&aacute;t d&aacute;tumu';
+$TEXT['TIME_FORMAT'] = 'Form&aacute;t &#269;asu';
+$TEXT['RESULTS'] = 'V&yacute;sledky';
+$TEXT['RESIZE'] = 'Zmena ve&#318;kosti';
+$TEXT['MANAGE'] = 'Spravova&#357;';
+$TEXT['CODE'] = 'K&oacute;d jazyka';
+$TEXT['WIDTH'] = '&#352;&iacute;rka';
+$TEXT['HEIGHT'] = 'V&yacute;&#353;ka';
+$TEXT['MORE'] = 'Viacej';
+$TEXT['READ_MORE'] = '&#269;&iacute;taj viac...';
+$TEXT['CHANGE_SETTINGS'] = 'Zmeni&#357; nastavenie';
+$TEXT['CURRENT_PAGE'] = 'Str&aacute;nka';
+$TEXT['CLOSE'] = 'Zavrie&#357;';
+$TEXT['INTRO_PAGE'] = '&Uacute;vodn&aacute; (intro) str&aacute;nka';
+$TEXT['INSTALLATION_URL'] = 'URL in&#353;tal&aacute;cia';
+$TEXT['INSTALLATION_PATH'] = 'Cesta in&#353;tal&aacute;cie';
+$TEXT['PAGE_EXTENSION'] = 'Pr&iacute;pona str&aacute;nok';
+$TEXT['NO_RESULTS'] = '&#381;iadny v&yacute;sledok';
+$TEXT['WEBSITE_TITLE'] = 'N&aacute;zov webu';
+$TEXT['WEBSITE_DESCRIPTION'] = 'Popis webu';
+$TEXT['WEBSITE_KEYWORDS'] = 'K&#318;&uacute;&#269;ov&eacute; slov&aacute;';
+$TEXT['WEBSITE_HEADER'] = 'Z&aacute;hlavie webu';
+$TEXT['WEBSITE_FOOTER'] = 'Z&aacute;p&auml;tie webu';
+$TEXT['RESULTS_HEADER'] = 'Z&aacute;hlavie v&yacute;sledkov';
+$TEXT['RESULTS_LOOP'] = 'Polo&#382;ka v&yacute;sledkov';
+$TEXT['RESULTS_FOOTER'] = 'Z&aacute;p&auml;tie v&yacute;sledkov';
+$TEXT['LEVEL'] = '&Uacute;rove&#328;';
+$TEXT['NOT_FOUND'] = 'Nen&aacute;jdene';
+$TEXT['PAGE_SPACER'] = 'Znak medzery';
+$TEXT['MATCHING'] = 'Zodpovedaj&uacute;ci';
+$TEXT['TEMPLATE_PERMISSIONS'] = 'Pr&aacute;va k &#353;ablone';
+$TEXT['PAGES_DIRECTORY'] = 'Adres&aacute;r str&aacute;nok';
+$TEXT['MEDIA_DIRECTORY'] = 'Adres&aacute;r m&eacute;di&iacute;';
+$TEXT['FILE_MODE'] = 'M&oacute;d s&uacute;borov';
+$TEXT['USER'] = 'U&#382;&iacute;vate&#318;';
+$TEXT['OTHERS'] = 'Ostatn&yacute;';
+$TEXT['READ'] = '&#268;&iacute;tanie';
+$TEXT['WRITE'] = 'Z&aacute;pis';
+$TEXT['EXECUTE'] = 'Spustenie';
+$TEXT['SMART_LOGIN'] = 'M&uacute;dre prihl&aacute;senie';
+$TEXT['REMEMBER_ME'] = 'Zapam&auml;ta&#357; &uacute;daje';
+$TEXT['FILESYSTEM_PERMISSIONS'] = 'Pr&aacute;va s&uacute;borov&eacute;ho syst&eacute;mu';
+$TEXT['DIRECTORIES'] = 'Adres&aacute;re';
+$TEXT['DIRECTORY_MODE'] = 'M&oacute;d adres&aacute;rov';
+$TEXT['LIST_OPTIONS'] = 'Zoznam volieb';
+$TEXT['OPTION'] = 'Vo&#318;by';
+$TEXT['ALLOW_MULTIPLE_SELECTIONS'] = 'Povolit viacn&aacute;sobn&eacute; v&yacute;bery';
+$TEXT['TEXTFIELD'] = 'Vstupn&yacute; riadok';
+$TEXT['TEXTAREA'] = 'Vstupn&eacute; pole';
+$TEXT['SELECT_BOX'] = 'V&yacute;berov&eacute; pole';
+$TEXT['CHECKBOX_GROUP'] = 'Skupina za&#353;krt&aacute;vac&iacute;ch pol&iacute;';
+$TEXT['RADIO_BUTTON_GROUP'] = 'Skupina radio-pol&iacute;';
+$TEXT['SIZE'] = 'Ve&#318;kos&#357;';
+$TEXT['DEFAULT_TEXT'] = 'Prednastaven&yacute; text';
+$TEXT['SEPERATOR'] = 'Odde&#318;ova&#269;';
+$TEXT['BACK'] = 'Sp&auml;&#357;';
+$TEXT['UNDER_CONSTRUCTION'] = 'Vo v&yacute;stavbe';
+$TEXT['MULTISELECT'] = 'Viacn&aacute;sobn&eacute; v&yacute;berov&eacute; pole';
+$TEXT['SHORT_TEXT'] = 'Kr&aacute;tk&yacute; text';
+$TEXT['LONG_TEXT'] = 'Dlh&yacute; text';
+$TEXT['HOMEPAGE_REDIRECTION'] = 'Presmerovanie hlavnej str&aacute;nky';
+$TEXT['HEADING'] = 'Z&aacute;hlavie';
+$TEXT['MULTIPLE_MENUS'] = 'Viacn&aacute;sobn&eacute; menu';
+$TEXT['REGISTERED'] = 'Pre registrovan&yacute;ch';
+$TEXT['START'] = '&#352;tart';
+$TEXT['SECTION_BLOCKS'] = 'Bloky sekci&iacute;';
+$TEXT['REGISTERED_VIEWERS'] = 'Opr&aacute;vnenie k prezeraniu';
+$TEXT['ALLOWED_VIEWERS'] = 'Opr&aacute;vnenie k prezeraniu';
+$TEXT['SUBMISSION_ID'] = 'ID formul&aacute;re';
+$TEXT['SUBMISSIONS'] = 'Odoslan&eacute; formul&aacute;re';
+$TEXT['SUBMITTED'] = 'Odoslan&eacute;';
+$TEXT['MAX_SUBMISSIONS_PER_HOUR'] = 'Max. po&#269;et odoslan&yacute;ch za hodinu';
+$TEXT['SUBMISSIONS_STORED_IN_DATABASE'] = 'Odoslan&eacute; formul&aacute;re';
+$TEXT['EMAIL_ADDRESS'] = 'E-mailov&aacute; adresa';
+$TEXT['CUSTOM'] = 'Vlastn&eacute; nastavenie';
+$TEXT['ANONYMOUS'] = 'Anonymn&eacute;';
+$TEXT['SERVER_OPERATING_SYSTEM'] = 'Opera&#269;n&yacute; syst&eacute;m serveru';
+$TEXT['WORLD_WRITEABLE_FILE_PERMISSIONS'] = 'Pr&aacute;va z&aacute;pisu &quot;pre cel&yacute; svet&quot;';
+$TEXT['LINUX_UNIX_BASED'] = 'Zalo&#382;en&yacute; na Linux/Unix';
+$TEXT['WINDOWS'] = 'Windows';
+$TEXT['HOME_FOLDER'] = 'Domovsk&yacute; adres&aacute;r';
+$TEXT['HOME_FOLDERS'] = 'Domovsk&eacute; adres&aacute;re';
+$TEXT['PAGE_TRASH'] = 'K&ocirc;&#353; str&aacute;nok';
+$TEXT['INLINE'] = 'In-line';
+$TEXT['SEPARATE'] = 'Oddelene';
+$TEXT['DELETED'] = 'Vymazan&eacute;';
+$TEXT['VIEW_DELETED_PAGES'] = 'Zobrazi&#357; vymazan&eacute; str&aacute;nky';
+$TEXT['EMPTY_TRASH'] = 'Vypr&aacute;zdni&#357; k&ocirc;&#353;';
+$TEXT['TRASH_EMPTIED'] = 'K&ocirc;&#353; vypr&aacute;zdnen&yacute;';
+$TEXT['ADD_SECTION'] = 'Prida&#357; sekciu';
+$TEXT['POST_HEADER'] = 'Z&aacute;hlavie pr&iacute;spevku';
+$TEXT['POST_FOOTER'] = 'Z&aacute;p&auml;tie pr&iacute;spevku';
+$TEXT['POSTS_PER_PAGE'] = 'Pr&iacute;spevky na str&aacute;nku';
+$TEXT['RESIZE_IMAGE_TO'] = 'Zmeni&#357; ve&#318;kos&#357; obr&aacute;zku na';
+$TEXT['UNLIMITED'] = 'Neobmedzen&yacute;';
+$TEXT['OF'] = 'Z';
+$TEXT['OUT_OF'] = 'Z';
+$TEXT['NEXT'] = 'Nasleduj&uacute;ci';
+$TEXT['PREVIOUS'] = 'Predch&aacute;dzaj&uacute;ci';
+$TEXT['NEXT_PAGE'] = 'Nasleduj&uacute;ca str&aacute;nka';
+$TEXT['PREVIOUS_PAGE'] = 'Predch&aacute;dzaj&uacute;ca str&aacute;nka';
+$TEXT['ON'] = 'Na';
+$TEXT['LAST_UPDATED_BY'] = 'Posledn&aacute;  zmena:';
+$TEXT['RESULTS_FOR'] = 'V&yacute;sledky pre';
+$TEXT['TIME'] = '&#268;as';
+$TEXT['WYSIWYG_STYLE'] = 'WYSIWYG styl';
+$TEXT['WYSIWYG_EDITOR'] = 'WYSIWYG editor';
+$TEXT['SERVER_EMAIL'] = 'Syt&eacute;mov&yacute; e-mail';
+$TEXT['MENU'] = 'Menu';
+$TEXT['MANAGE_GROUPS'] = 'Spravova&#357; skupiny';
+$TEXT['MANAGE_USERS'] = 'Spravova&#357; u&#382;ivate&#318;ov';
+$TEXT['PAGE_LANGUAGES'] = 'Jazykov&eacute; verzie str&aacute;nok';
+$TEXT['HIDDEN'] = 'Skryt&aacute;';
+$TEXT['MAIN'] = 'Hlavn&yacute;';
+$TEXT['RENAME_FILES_ON_UPLOAD'] = 'Premenova&#357;. s&uacute;bory pre nahr&aacute;vanie';
+$TEXT['APP_NAME'] = 'N&aacute;zov aplik&aacute;cie';
+$TEXT['SESSION_IDENTIFIER'] = 'Identifik&aacute;tor session';
+$TEXT['SEC_ANCHOR'] = 'Section-Anchor text';
+$TEXT['BACKUP'] = 'Z&aacute;lohovanie';
+$TEXT['RESTORE'] = 'Obnova zo z&aacute;lohy';
+$TEXT['BACKUP_DATABASE'] = 'Z&aacute;lohova&#357; datab&aacute;zu';
+$TEXT['RESTORE_DATABASE'] = 'Obnovi&#357; datab&aacute;zu zo z&aacute;lohy';
+$TEXT['BACKUP_ALL_TABLES'] = 'Z&aacute;lohova&#357; v&#353;etky tabu&#318;ky v datab&aacute;ze';
+$TEXT['BACKUP_WB_SPECIFIC'] = 'Z&aacute;lohova&#357; iba tabu&#318;ky CMS Syst&eacute;mu';
+$TEXT['BACKUP_MEDIA'] = 'Zaz&aacute;lohova&#357;  m&eacute;dia';
+$TEXT['RESTORE_MEDIA'] = 'Obnovi&#357; m&eacute;dia zo z&aacute;lohy';
+$TEXT['ADMINISTRATION_TOOL'] = 'Administrat&iacute;vne n&aacute;stroje';
+$TEXT['CAPTCHA_VERIFICATION'] = 'Kontrola obr. k&oacute;dom';
+$TEXT['VERIFICATION'] = 'Verifik&aacute;cia';
+$TEXT['DEFAULT_CHARSET'] = 'V&yacute;chodzia k&oacute;dov&aacute; str&aacute;nka';
+$TEXT['CHARSET'] = 'K&oacute;dov&aacute; str&aacute;nka';
+$TEXT['MODULE_ORDER'] = 'Module-order for searching';
+$TEXT['MAX_EXCERPT'] = 'Max lines of excerpt';
+$TEXT['TIME_LIMIT'] = 'Max time to gather excerpts per module';
+$TEXT['PUBL_START_DATE'] = 'Po&#269;iato&#269;n&yacute; d&aacute;tum';
+$TEXT['PUBL_END_DATE'] = 'Kone&#269;n&yacute; d&aacute;tum';
+$TEXT['CALENDAR'] = 'Kalend&aacute;r';
+$TEXT['DELETE_DATE'] = 'Zmaza&#357; d&aacute;tum';
+$TEXT['WBMAILER_DEFAULT_SETTINGS_NOTICE'] = 'Please specify a default FROM address and SENDER name below. It is recommended to use a FROM address like: <strong>admin@yourdomain.com</strong>. Some mail provider (e.g. <em>mail.com</em>) may reject mails with a FROM: address like <em>name@mail.com</em> sent via a foreign relay to avoid spam.<br /><br />The default values are only used if no other values are specified by WebsiteBaker. If your server supports <acronym title="Simple mail transfer protocol">SMTP</acronym>, you may want use this option for outgoing mails.';
+$TEXT['WBMAILER_DEFAULT_SENDER_MAIL'] = 'Prednastaven&yacute; E-Mail odosielatela';
+$TEXT['WBMAILER_DEFAULT_SENDER_NAME'] = 'Prednastaven&eacute; meno odosielatela';
+$TEXT['WBMAILER_NOTICE'] = '<strong>SMTP Mailer Settings:</strong><br />The settings below are only required if you want to send mails via <acronym title=Simple mail transfer protocol>SMTP</acronym>. If you do not know your SMTP host or you are not sure about the required settings, simply stay with the default mail routine: PHP MAIL.';
+$TEXT['WBMAILER_FUNCTION'] = 'Sp&ocirc;sob odoslania e-mailu';
+$TEXT['WBMAILER_SMTP_HOST'] = 'SMTP server';
+$TEXT['WBMAILER_PHP'] = 'PHP skript';
+$TEXT['WBMAILER_SMTP'] = 'SMTP server';
+$TEXT['WBMAILER_SMTP_AUTH'] = 'SMTP Overenie';
+$TEXT['WBMAILER_SMTP_AUTH_NOTICE'] = 'only activate if your SMTP host requires authentification';
+$TEXT['WBMAILER_SMTP_USERNAME'] = 'SMTP meno';
+$TEXT['WBMAILER_SMTP_PASSWORD'] = 'SMTP heslo';
+$TEXT['PLEASE_LOGIN'] = 'Pros&iacute;m prihl&aacute;ste sa';
+$TEXT['CAP_EDIT_CSS'] = 'Uprav CSS';
+$TEXT['HEADING_CSS_FILE'] = 'Actual module file: ';
+$TEXT['TXT_EDIT_CSS_FILE'] = 'Edit the CSS definitions in the textarea below.';
+$TEXT['CODE_SNIPPET'] = 'Code-snippet';
+$TEXT['REQUIREMENT'] = 'Requirement';
+$TEXT['INSTALLED'] = 'Nain&#353;talovan&eacute;';
+$TEXT['NOT_INSTALLED'] = 'Nenain&#353;talovan&eacute;';
+$TEXT['ADDON'] = 'Add-On';
+$TEXT['EXTENSION'] = 'Extension';
+$TEXT['UNZIP_FILE'] = 'Nahraj a rozba&#318; zip s&uacute;bor';
+$TEXT['DELETE_ZIP'] = 'Zmaza&#357; zip s&uacute;bor po rozbalen&iacute;';
+
+// Success/error messages
+$MESSAGE['FRONTEND']['SORRY_NO_VIEWING_PERMISSIONS'] = 'Nem&aacute;te opr&aacute;vnenie prezera&#357; t&uacute;to str&aacute;nku';
+$MESSAGE['FRONTEND']['SORRY_NO_ACTIVE_SECTIONS'] = 'Sorry, no active content to display';
+
+$MESSAGE['ADMIN']['INSUFFICIENT_PRIVELLIGES'] = 'Nedostato&#269;n&eacute; opr&aacute;vnenie';
+
+$MESSAGE['LOGIN']['BOTH_BLANK'] = 'Zadejte pros&iacute;m svoje prihlasovacie &uacute;daje:';
+$MESSAGE['LOGIN']['USERNAME_BLANK'] = 'Zadejte svoje u&#382;ivate&#318;sk&eacute; meno';
+$MESSAGE['LOGIN']['PASSWORD_BLANK'] = 'Zadejte svoje heslo';
+$MESSAGE['LOGIN']['USERNAME_TOO_SHORT'] = 'Zadan&eacute; meno je pr&iacute;li&#353; kr&aacute;tke';
+$MESSAGE['LOGIN']['PASSWORD_TOO_SHORT'] = 'Zadan&eacute; heslo je pr&iacute;li&#353; kr&aacute;tke';
+$MESSAGE['LOGIN']['USERNAME_TOO_LONG'] = 'Zadan&eacute; meno je pr&iacute;li&#353; dlh&eacute;';
+$MESSAGE['LOGIN']['PASSWORD_TOO_LONG'] = 'Zadan&eacute; heslo je pr&iacute;li&#353; dlh&eacute;';
+$MESSAGE['LOGIN']['AUTHENTICATION_FAILED'] = 'Meno alebo heslo nie je platn&eacute;';
+
+$MESSAGE['SIGNUP']['NO_EMAIL'] = 'Mus&iacute;te zada&#357; e-mailovou adresu';
+$MESSAGE['SIGNUP2']['SUBJECT_LOGIN_INFO'] = 'Vase prihlasovacie udaje...';
+$MESSAGE['SIGNUP2']['BODY_LOGIN_INFO'] = <<< EOT
+V&aacute;&#382;en&yacute;  {LOGIN_DISPLAY_NAME},
+
+Pre Va&#353;e prihl&aacute;senie do '{LOGIN_WEBSITE_TITLE}' pou&#382;ite:
+Meno: {LOGIN_NAME}
+Heslo: {LOGIN_PASSWORD}
+
+Va&#353;e heslo bolo nastaven&eacute; na nov&eacute;, uveden&eacute; vy&#353;&#353;ie.
+To znamen&aacute;, &#382;e va&#353;e star&eacute; heslo u&#382; nebude fungova&#357;.
+
+Ak ste t&uacute;to spr&aacute;vu dostali omylom, pros&iacute;m, ihne&#271; ju zma&#382;te.
+EOT;
+
+$MESSAGE['FORGOT_PASS']['NO_DATA'] = 'Zadajte svoju e-mailovou adresu:';
+$MESSAGE['FORGOT_PASS']['EMAIL_NOT_FOUND'] = 'Zadan&aacute; e-mailov&aacute; adresa alebola n&aacute;jden&aacute;';
+$MESSAGE['FORGOT_PASS']['CANNOT_EMAIL'] = 'Nejde odosla&#357;  heslo e-mailom, kontaktujte pros&iacute;m spr&aacute;vcu syst&eacute;mu';
+$MESSAGE['FORGOT_PASS']['PASSWORD_RESET'] = 'Va&#353;e u&#382;&iacute;vate&#318;sk&eacute; meno a heslo boli odoslan&eacute; na Va&#353;u e-mailovou adresu';
+$MESSAGE['FORGOT_PASS']['ALREADY_RESET'] = 'Heslo nem&ocirc;&#382;e by&#357; prenastaven&eacute; viackr&aacute;t  behom jednej hodiny';
+
+$MESSAGE['START']['WELCOME_MESSAGE'] = 'Vitajte v administrat&iacute;vnej &#269;asti';
+$MESSAGE['START']['INSTALL_DIR_EXISTS'] = 'Pozor, st&aacute;le existuje in&#353;tala&#269;n&yacute; adres&aacute;r!';
+$MESSAGE['START']['CURRENT_USER'] = 'Ste prihl&aacute;sen&yacute; ako:';
+
+$MESSAGE['SETTINGS']['UNABLE_OPEN_CONFIG'] = 'Nejde otvori s&uacute;bor s konfigurciou';
+$MESSAGE['SETTINGS']['UNABLE_WRITE_CONFIG'] = 'Nejde zapisova&#357; do s&uacute;boru s konfigur&aacute;ciou';
+$MESSAGE['SETTINGS']['SAVED'] = 'Nastavenie bolo &uacute;&#353;spene ulo&#382;en&eacute;';
+$MESSAGE['SETTINGS']['MODE_SWITCH_WARNING'] = 'Pozn.: stla&#269;en&iacute;m tohto tla&#269;&iacute;tka d&ocirc;jde k zahodeniu neulo&#382;en&yacute;ch zmien';
+$MESSAGE['SETTINGS']['WORLD_WRITEABLE_WARNING'] = 'Pozn.: zapnutie tejto vo&#318;by sa doporu&#269;uje  len v testovacom prostred&iacute;';
+
+$MESSAGE['USERS']['ADDED'] = 'U&#382;&iacute;vate&#318; bol &uacute;spe&#353;ne pridan&yacute;';
+$MESSAGE['USERS']['SAVED'] = 'U&#382;&iacute;vate&#318; bol &uacute;spe&#353;ne ulo&#382;en&yacute;';
+$MESSAGE['USERS']['DELETED'] = 'U&#382;&iacute;vate&#318; bol &uacute;spe&#353;ne zmazan&yacute;';
+$MESSAGE['USERS']['NO_GROUP'] = 'alebola vybran&aacute; skupina';
+$MESSAGE['USERS']['USERNAME_TOO_SHORT'] = 'Zadan&eacute; u&#382;ivate&#318;sk&eacute; meno je pr&iacute;li&#353; kr&aacute;tke';
+$MESSAGE['USERS']['PASSWORD_TOO_SHORT'] = 'Zadan&eacute; heslo je pr&iacute;li&#353; kr&aacute;tk&eacute;';
+$MESSAGE['USERS']['PASSWORD_MISMATCH'] = 'Zadan&eacute; hesl&aacute; nie s&uacute; zhodn&eacute;';
+$MESSAGE['USERS']['INVALID_EMAIL'] = 'Zadan&aacute; e-mailov&aacute; adresa je neplatn&aacute;';
+$MESSAGE['USERS']['EMAIL_TAKEN'] = 'Zadan&aacute; e-mailov&aacute; adresa je u&#382; pou&#382;&iacute;van&aacute;';
+$MESSAGE['USERS']['USERNAME_TAKEN'] = 'U&#382;ivate&#318; s rovnak&yacute;m u&#382;&iacute;vate&#318;sk&yacute;m menom  u&#382; existuje';
+$MESSAGE['USERS']['CHANGING_PASSWORD'] = 'Pozn.: vypl&#328;te iba hodnoty hore pokia&#318; si prajete zmeni&#357; heslo';
+$MESSAGE['USERS']['CONFIRM_DELETE'] = 'Ste si ist&yacute;, &#382;e chcete vymaza&#357; tohoto u&#382;&iacute;vate&#318;a?';
+
+$MESSAGE['GROUPS']['ADDED'] = 'Skupina bola &uacute;spe&#353;ne pridan&aacute;';
+$MESSAGE['GROUPS']['SAVED'] = 'Skupina bola &uacute;spe&#353;ne ulo&#382;en&aacute;';
+$MESSAGE['GROUPS']['DELETED'] = 'Skupina bola &uacute;spe&#353;ne zmazan&aacute;';
+$MESSAGE['GROUPS']['GROUP_NAME_BLANK'] = 'N&aacute;zov skupiny je pr&aacute;zdny';
+$MESSAGE['GROUPS']['CONFIRM_DELETE'] = 'Ste si isti, &#382;e chcete zmaza&#357; t&uacute;to skupimu (a v&#353;etk&yacute;ch jej u&#382;ivatelov)?';
+$MESSAGE['GROUPS']['NO_GROUPS_FOUND'] = 'Nen&aacute;jden&aacute; &#382;iadn&aacute; skupina';
+$MESSAGE['GROUPS']['GROUP_NAME_EXISTS'] = 'Tato skupina u&#382; existuje';
+
+$MESSAGE['PREFERENCES']['DETAILS_SAVED'] = 'Detaily boly &uacute;spe&#353;ne ulo&#382;en&eacute;';
+$MESSAGE['PREFERENCES']['EMAIL_UPDATED'] = 'E-mail bol &uacute;spe&#353;ne ulo&#382;en&yacute;';
+$MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT'] = 'S&uacute;&#269;asn&eacute; heslo nezodpoved&aacute;';
+$MESSAGE['PREFERENCES']['PASSWORD_CHANGED'] = 'Heslo bolo &uacute;spe&#353;ne zmenen&eacute;';
+
+$MESSAGE['TEMPLATES']['CHANGE_TEMPLATE_NOTICE'] = 'Pozn.: zmena &#353;ablony sa prov&aacute;dza v sekcii Nastavenia';
+
+$MESSAGE['MEDIA']['DIR_DOT_DOT_SLASH'] = 'Nejde pou&#382;i&#357; ../ v n&aacute;zve adres&aacute;ra';
+$MESSAGE['MEDIA']['DIR_DOES_NOT_EXIST'] = 'Adres&aacute;r neexistuje';
+$MESSAGE['MEDIA']['TARGET_DOT_DOT_SLASH'] = 'Nejde pou&#382;i&#357; ../ v cielovom adres&aacute;ry';
+$MESSAGE['MEDIA']['NAME_DOT_DOT_SLASH'] = 'Nejde pou&#382;i&#357; ../ v n&aacute;zvu';
+$MESSAGE['MEDIA']['NAME_INDEX_PHP'] = 'Nejde pou&#382;i&#357; index.php ako n&aacute;zov';
+$MESSAGE['MEDIA']['NONE_FOUND'] = 'Nen&aacute;jden&yacute; &#382;iadn&yacute; s&uacute;bor';
+$MESSAGE['MEDIA']['FILE_NOT_FOUND'] = 'S&uacute;bor nen&aacute;jden&yacute;';
+$MESSAGE['MEDIA']['DELETED_FILE'] = 'S&uacute;bor bol &uacute;spe&#353;ne zmazan&yacute;';
+$MESSAGE['MEDIA']['DELETED_DIR'] = 'Adres&aacute;r bol &uacute;spe&#353;ne zmazan&yacute;';
+$MESSAGE['MEDIA']['CONFIRM_DELETE'] = 'Ste si ist&iacute;, &#382;e chcete zmaza&#357; n&aacute;sleduj&uacute;ce s&uacute;bory alebo adres&aacute;re?';
+$MESSAGE['MEDIA']['CANNOT_DELETE_FILE'] = 'Ned&aacute; sa zmaza&#357; vybran&yacute; soubor';
+$MESSAGE['MEDIA']['CANNOT_DELETE_DIR'] = 'Ned&aacute; sa zmaza&#357; vybran&yacute; adres&aacute;r';
+$MESSAGE['MEDIA']['BLANK_NAME'] = 'Nezadali ste nov&yacute; n&aacute;zov';
+$MESSAGE['MEDIA']['BLANK_EXTENSION'] = 'Nezadali ste pr&iacute;ponu s&uacute;boru';
+$MESSAGE['MEDIA']['RENAMED'] = 'Premenovanie prebehlo &uacute;spe&#353;ne';
+$MESSAGE['MEDIA']['CANNOT_RENAME'] = 'Premenovanie sa nepodarilo';
+$MESSAGE['MEDIA']['FILE_EXISTS'] = 'S&uacute;bor z rovnak&yacute;m n&aacute;zvom u&#382; existuje';
+$MESSAGE['MEDIA']['DIR_EXISTS'] = 'Adres&aacute;r z rovnak&yacute;m n&aacute;zvem u&#382; existuje';
+$MESSAGE['MEDIA']['DIR_MADE'] = 'Adres&aacute;r bol &uacute;spe&#353;ne vytvoren&yacute;';
+$MESSAGE['MEDIA']['DIR_NOT_MADE'] = 'Ned&aacute; sa vytvori&#357; adres&aacute;r';
+$MESSAGE['MEDIA']['SINGLE_UPLOADED'] = ' s&uacute;bor bol &uacute;spe&#353;ne nahran&yacute;';
+$MESSAGE['MEDIA']['UPLOADED'] = ' s&uacute;bory boly &uacute;spe&#353;ne nahr&aacute;n&eacute;';
+
+$MESSAGE['PAGES']['ADDED'] = 'Str&aacute;nka bola &uacute;spe&#353;ne pridan&aacute;';
+$MESSAGE['PAGES']['ADDED_HEADING'] = 'Z&aacute;hlavie str&aacute;nky bolo &uacute;spe&#353;ne pridan&eacute;';
+$MESSAGE['PAGES']['PAGE_EXISTS'] = 'Str&aacute;nka z rovnak&yacute;m alebo podobn&yacute;m n&aacute;zvom u&#382; existuje';
+$MESSAGE['PAGES']['CANNOT_CREATE_ACCESS_FILE'] = 'Do&#353;lo k chybe pri vytv&aacute;ran&iacute; pr&iacute;stupov&eacute;ho s&uacute;boru v adres&aacute;ri str&aacute;nok (nedostato&#269;n&eacute; opr&aacute;vnenie)';
+$MESSAGE['PAGES']['CANNOT_DELETE_ACCESS_FILE'] = 'Do&#353;lo k chybe pri maz&aacute;n&iacute; pr&iacute;supov&eacute;ho s&uacute;boru v adres&aacute;ri str&aacute;nek (nedostato&#269;n&eacute; opr&aacute;vnenie)';
+$MESSAGE['PAGES']['NOT_FOUND'] = 'Str&aacute;nka nen&aacute;jden&aacute;';
+$MESSAGE['PAGES']['SAVED'] = 'Str&aacute;nka bola &uacute;spe&#353;ne ulo&#382;ena';
+$MESSAGE['PAGES']['SAVED_SETTINGS'] = 'Nastavenie str&aacute;nky bolo &uacute;spe&#353;ne ulo&#382;en&eacute;';
+$MESSAGE['PAGES']['NOT_SAVED'] = 'Do&#353;lo k chybe pri ukl&aacute;d&aacute;n&iacute; str&aacute;nky';
+$MESSAGE['PAGES']['DELETE_CONFIRM'] = 'Ste si ist&iacute;, &#382;e chcete zmaza&#357; tuto str&aacute;nku (a v&#353;etky podstr&aacute;nky)';
+$MESSAGE['PAGES']['DELETED'] = 'Str&aacute;nka bola &uacute;spe&#353;ne zmazan&aacute;';
+$MESSAGE['PAGES']['RESTORED'] = 'Str&aacute;nka bola &uacute;spe&#353;ne obnoven&aacute;';
+$MESSAGE['PAGES']['BLANK_PAGE_TITLE'] = 'Zadajte n&aacute;zov str&aacute;nky';
+$MESSAGE['PAGES']['BLANK_MENU_TITLE'] = 'Zadajte n&aacute;zov v menu';
+$MESSAGE['PAGES']['REORDERED'] = 'Str&aacute;nka bola &uacute;spe&#353;ne presunut&aacute;';
+$MESSAGE['PAGES']['CANNOT_REORDER'] = 'Do&#353;lo k chybe pri zmene poradia str&aacute;nky';
+$MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS'] = 'Nem&aacute;te opr&aacute;vnenie k zmene tejto str&aacute;nky';
+$MESSAGE['PAGES']['INTRO_NOT_WRITABLE'] = 'Ned&aacute; sa zapisova&#357; do s&uacute;boru /pages/intro.php (nedostato&#269;n&eacute; opr&aacute;vnenia)';
+$MESSAGE['PAGES']['INTRO_SAVED'] = 'Str&aacute;nka bola &uacute;spe&#353;ne ulo&#382;en&aacute;';
+$MESSAGE['PAGES']['LAST_MODIFIED'] = 'Posledn&aacute; zmena:';
+$MESSAGE['PAGES']['INTRO_LINK'] = 'Zmeni&#357; &uacute;vodn&uacute; (intro) str&aacute;nku';
+$MESSAGE['PAGES']['SECTIONS_PROPERTIES_SAVED'] = 'Nastavenia sekcie boli &uacute;spe&#353;ne ulo&#382;en&eacute;';
+$MESSAGE['PAGES']['RETURN_TO_PAGES'] = 'Sp&auml;&#357; na str&aacute;nky';
+
+$MESSAGE['GENERIC']['FILL_IN_ALL'] = 'Pros&iacute;m vra&#357;te se sp&auml;&#357; a vypl&#328;te v&#353;etky polia';
+$MESSAGE['GENERIC']['FILE_TYPE'] = 'Nahr&aacute;van&eacute; s&uacute;bory musia by&#357; n&aacute;sleduj&uacute;ceho form&aacute;tu:';
+$MESSAGE['GENERIC']['FILE_TYPES'] = 'Nahr&aacute;van&yacute; soubor mus&iacute; ma&#357; jeden z n&aacute;sleduj&uacute;c&iacute;ch form&aacute;tov:';
+$MESSAGE['GENERIC']['CANNOT_UPLOAD'] = 'Ned&aacute; sa nahra&#357; s&uacute;bor';
+$MESSAGE['GENERIC']['ALREADY_INSTALLED'] = 'U&#382; nain&#353;talovan&eacute;';
+$MESSAGE['GENERIC']['NOT_INSTALLED'] = 'Nenain&#353;talovan&eacute;';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL'] = 'Ned&aacute; sa odin&#353;talova&#357;';
+$MESSAGE['GENERIC']['CANNOT_UNZIP'] = 'Ned&aacute; sa rozbali&#357; (rozzipova&#357;) s&uacute;bor';
+$MESSAGE['GENERIC']['INSTALLED'] = 'In&#353;tal&aacute;cia prebehla &uacute;spe&#353;ne';
+$MESSAGE['GENERIC']['UPGRADED'] = 'Aktualiz&aacute;cia prebehla &uacute;spe&#353;ne';
+$MESSAGE['GENERIC']['UNINSTALLED'] = 'Odin&#353;tal&aacute;cia prebehla &uacute;spe&#353;ne';
+$MESSAGE['GENERIC']['BAD_PERMISSIONS'] = 'Ned&aacute; sa zapisovat do cielov&eacute;ho adres&aacute;ra';
+$MESSAGE['GENERIC']['INVALID'] = 'Nahr&aacute;van&yacute; s&uacute;bor je neplatn&yacute;';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE'] = 'Ned&aacute; sa odin&#353;talova&#357;: s&uacute;bor je pr&aacute;ve pou&#382;&iacute;van&yacute;';
+
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL'] = '<br /><br />{{type}} <b>{{type_name}}</b> ned&aacute; sa odin&#353;talova&#357;, preto&#382;e sa pou&#382;&iacute;va na {{pages}}.<br /><br />';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL_PAGES'] = 't&aacute;to str&aacute;nka; tieto str&aacute;nky';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IS_DEFAULT_TEMPLATE'] = 'Nem&ocirc;&#382;e&#357;e odin&#353;talova&#357; &#353;abl&oacute;nu <b>{{name}}</b>, preto&#382;e je nastaven&aacute; ako predvolen&aacute; &#353;abl&oacute;na!';
+
+$MESSAGE['GENERIC']['WEBSITE_UNDER_CONSTRUCTION'] = 'Str&aacute;nky sa moment&aacute;lne pripravuj&uacute;';
+$MESSAGE['GENERIC']['PLEASE_CHECK_BACK_SOON'] = 'Pros&iacute;m, nav&#353;t&iacute;vte n&aacute;s nesk&ocirc;r...';
+$MESSAGE['GENERIC']['PLEASE_BE_PATIENT'] = '&#268;ekejte pros&iacute;m, operacia m&ocirc;&#382;e chv&iacute;&#318;u trva&#357;.';
+$MESSAGE['GENERIC']['ERROR_OPENING_FILE'] = 'Do&#353;lo k chybe pri otvaran&iacute; s&uacute;boru.';
+$MESSAGE['GENERIC']['INVALID_ADDON_FILE'] = 'Invalid WebsiteBaker installation file. Please check the *.zip format.';
+$MESSAGE['GENERIC']['INVALID_LANGUAGE_FILE'] = 'Invalid WebsiteBaker language file. Please check the text file.';
+
+$MESSAGE['MOD_FORM']['REQUIRED_FIELDS'] = 'Mus&iacute;te vyplni&#357; n&aacute;sleduj&uacute;ce pole';
+$MESSAGE['MOD_FORM']['EXCESS_SUBMISSIONS'] = 'Ospravedl&#328;ujeme sa, ale tento formul&aacute;r dosiahol limitu povolen&yacute;ch odeslan&iacute; pre t&uacute;to hodinu. Pros&iacute;m sk&uacute;ste to znovu v dal&#353;iej hodine..';
+$MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA'] = 'Kontroln&yacute; k&oacute;d (zn&aacute;m&yacute; ako Captcha) nezodpoved&aacute;. Pokia&#318; m&aacute;te probl&eacute;my s pre&#269;&iacute;tan&iacute;m tohoto k&oacute;du, kontaktujte '.SERVER_EMAIL;
+
+$MESSAGE['ADDON']['RELOAD'] = 'Update database with information from Add-on files (e.g. after FTP upload).';
+$MESSAGE['ADDON']['ERROR_RELOAD'] = 'Error while updating the Add-On information.';
+$MESSAGE['ADDON']['MODULES_RELOADED'] = 'Moduly boly &uacute;spe&#353;ne prehran&eacute;';
+$MESSAGE['ADDON']['TEMPLATES_RELOADED'] = '&#352;ablony boly &uacute;spe&#353;ne prehran&eacute;';
+$MESSAGE['ADDON']['LANGUAGES_RELOADED'] = 'Jazyky boly &uacute;spe&#353;ne prehran&eacute;';
+$MESSAGE['ADDON']['PRECHECK_FAILED'] = 'Add-on installation failed. Your system does not fulfill the requirements of this Add-on. To make this Add-on working on your system, please fix the issues summarized below.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION'] = 'When modules are uploaded via FTP (not recommended), the module installation files <tt>install.php</tt>, <tt>upgrade.php</tt> or <tt>uninstall.php</tt> will not be executed automatically. Those modules may not work correct or do not uninstall properly.<br /><br />You can execute the module files manually for modules uploaded via FTP below.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION_WARNING'] = 'Warning: Existing module database entries will get lost. Only use this option if you experience problems with modules uploaded via FTP.';
+
+?>

Property changes on: tags/2.8.2/wb/languages/SK.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/languages/LV.php
===================================================================
--- tags/2.8.2/wb/languages/LV.php	(nonexistent)
+++ tags/2.8.2/wb/languages/LV.php	(revision 1481)
@@ -0,0 +1,595 @@
+<?php
+/**
+ *
+ * @category        framework
+ * @package         language
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// use languageedit-module to modify this file
+
+// Define that this file is loaded
+if(!defined('LANGUAGE_LOADED')) {
+define('LANGUAGE_LOADED', true);
+}
+
+// Set the language information
+$language_code = 'LV';
+$language_name = 'Latvie&scaron;u';
+$language_version = '2.8';
+$language_platform = '2.8.x';
+$language_author = 'Kri&scaron;janis Rijnieks';
+$language_license = 'GNU General Public License';
+
+// Menu titles
+$MENU['START'] = 'Sakums';
+$MENU['PAGES'] = 'Lapas';
+$MENU['MEDIA'] = 'Mediji';
+$MENU['ADDONS'] = 'Papildinajumi';
+$MENU['MODULES'] = 'Moduli';
+$MENU['TEMPLATES'] = '&scaron;abloni';
+$MENU['LANGUAGES'] = 'Valodas';
+$MENU['PREFERENCES'] = 'Preferences';
+$MENU['SETTINGS'] = 'Iestatijumi';
+$MENU['ADMINTOOLS'] = 'Admin-Tools';
+$MENU['ACCESS'] = 'Piekluve';
+$MENU['USERS'] = 'Lietotaji';
+$MENU['GROUPS'] = 'Grupas';
+$MENU['HELP'] = 'Palidziba';
+$MENU['VIEW'] = 'Apskatit';
+$MENU['LOGOUT'] = 'Izlogoties';
+$MENU['LOGIN'] = 'Ielogoties';
+$MENU['FORGOT'] = 'Informacija par kontu';
+
+// Section overviews
+$OVERVIEW['START'] = 'Administracijas parskats';
+$OVERVIEW['PAGES'] = 'Mened&#382;et lapas...';
+$OVERVIEW['MEDIA'] = 'Mened&#382;et failus iek&scaron; media mapes...';
+$OVERVIEW['MODULES'] = 'Mened&#382;et WebsiteBaker modulus...';
+$OVERVIEW['TEMPLATES'] = 'Mened&#382;et &scaron;ablonus...';
+$OVERVIEW['LANGUAGES'] = 'Mened&#382;et WebsiteBaker valodas...';
+$OVERVIEW['PREFERENCES'] = 'Mainit preferences - e-pasta adresi, paroli, utt...';
+$OVERVIEW['SETTINGS'] = 'Mainit WebsiteBaker iestatijumus...';
+$OVERVIEW['USERS'] = 'Mened&#382;et lietotajus, kas var ielogties WebsiteBaker sistema...';
+$OVERVIEW['GROUPS'] = 'Mened&#382;et lietotaju grupas un noteikt to atlaujas...';
+$OVERVIEW['HELP'] = 'Jautajumi? Atrodi atbildi...';
+$OVERVIEW['VIEW'] = 'Apskatit majas lapu jauna loga...';
+$OVERVIEW['ADMINTOOLS'] = 'Access the WebsiteBaker administration tools...';
+
+// Headings
+$HEADING['MODIFY_DELETE_PAGE'] = 'Mainit/Izdzest lapu';
+$HEADING['DELETED_PAGES'] = 'Izdzestas lapas';
+$HEADING['ADD_PAGE'] = 'Pievienot lapu';
+$HEADING['ADD_HEADING'] = 'Pievienot virsrakstu';
+$HEADING['MODIFY_PAGE'] = 'Mainit lapu';
+$HEADING['MODIFY_PAGE_SETTINGS'] = 'Mainit lapas iestatijumus';
+$HEADING['MODIFY_ADVANCED_PAGE_SETTINGS'] = 'Mainit papla&scaron;inatos lapas iestatijumus';
+$HEADING['MANAGE_SECTIONS'] = 'Mened&#382;et sadalas';
+$HEADING['MODIFY_INTRO_PAGE'] = 'Mainit pirmo lapu';
+
+$HEADING['BROWSE_MEDIA'] = 'Parlukot medijus';
+$HEADING['CREATE_FOLDER'] = 'Izveidot mapi';
+$HEADING['UPLOAD_FILES'] = 'Aug&scaron;upieladet datni(-es)';
+
+$HEADING['INSTALL_MODULE'] = 'Instalet moduli';
+$HEADING['UNINSTALL_MODULE'] = 'Atinstalet moduli';
+$HEADING['MODULE_DETAILS'] = 'Informacija par moduli';
+
+$HEADING['INSTALL_TEMPLATE'] = 'Instalet &scaron;ablonu';
+$HEADING['UNINSTALL_TEMPLATE'] = 'Atinstalet &scaron;ablonu';
+$HEADING['TEMPLATE_DETAILS'] = 'Informacija par &scaron;ablonu';
+
+$HEADING['INSTALL_LANGUAGE'] = 'Instalet valodu';
+$HEADING['UNINSTALL_LANGUAGE'] = 'Atinstalet valodu';
+$HEADING['LANGUAGE_DETAILS'] = 'Informacija par valodu';
+
+$HEADING['MY_SETTINGS'] = 'Mani iestatijumi';
+$HEADING['MY_EMAIL'] = 'Mana e-pasta adrese';
+$HEADING['MY_PASSWORD'] = 'Mana parole';
+
+$HEADING['GENERAL_SETTINGS'] = 'Visparigie iestatijumi';
+$HEADING['DEFAULT_SETTINGS'] = 'Noklusetie iestatijumi';
+$HEADING['SEARCH_SETTINGS'] = 'Mekle&scaron;anas iestatijumi';
+$HEADING['FILESYSTEM_SETTINGS'] = 'Datnu sistemas iestatijumi';
+$HEADING['SERVER_SETTINGS'] = 'Servera iestatijumi';
+$HEADING['WBMAILER_SETTINGS'] = 'Mailer Settings';
+$HEADING['ADMINISTRATION_TOOLS'] = 'Administre&scaron;anas riki';
+
+$HEADING['MODIFY_DELETE_USER'] = 'Mainit/dzest lietotaju';
+$HEADING['ADD_USER'] = 'Pievienot lietotaju';
+$HEADING['MODIFY_USER'] = 'Mainit lietotaju';
+
+$HEADING['MODIFY_DELETE_GROUP'] = 'Mainit/dzest grupu';
+$HEADING['ADD_GROUP'] = 'Pievienot grupu';
+$HEADING['MODIFY_GROUP'] = 'Mainit grupu';
+
+$HEADING['ADDON_PRECHECK_FAILED'] = 'Add-On requirements not met';
+$HEADING['INVOKE_MODULE_FILES'] = 'Execute module files manually';
+
+// Other text
+$TEXT['OPEN'] = 'Open';
+$TEXT['ADD'] = 'Pievienot';
+$TEXT['MODIFY'] = 'Mainit';
+$TEXT['SETTINGS'] = 'Iestatijumi';
+$TEXT['DELETE'] = 'Dzest';
+$TEXT['SAVE'] = 'Saglabat';
+$TEXT['RESET'] = 'Parladet';
+$TEXT['LOGIN'] = 'Ielogo&scaron;anas';
+$TEXT['RELOAD'] = 'Parladet';
+$TEXT['CANCEL'] = 'Atcelt';
+$TEXT['NAME'] = 'Nosaukums';
+$TEXT['PLEASE_SELECT'] = 'Izvelies, ludzu';
+$TEXT['TITLE'] = 'Nosaukums';
+$TEXT['PARENT'] = 'Vecaks';
+$TEXT['TYPE'] = 'Tips';
+$TEXT['VISIBILITY'] = 'Redzamiba';
+$TEXT['PRIVATE'] = 'Privats';
+$TEXT['PUBLIC'] = 'Publisks';
+$TEXT['NONE'] = 'Tuk&scaron;s';
+$TEXT['NONE_FOUND'] = 'Nekas netika atrasts';
+$TEXT['CURRENT'] = 'Eso&scaron;ais';
+$TEXT['CHANGE'] = 'Mainit';
+$TEXT['WINDOW'] = 'Logs';
+$TEXT['DESCRIPTION'] = 'Apraksts';
+$TEXT['KEYWORDS'] = 'Atslegvardi';
+$TEXT['ADMINISTRATORS'] = 'Administratori';
+$TEXT['PRIVATE_VIEWERS'] = 'Iek&scaron;ejie verotaji';
+$TEXT['EXPAND'] = 'Atvert';
+$TEXT['COLLAPSE'] = 'Aizvert';
+$TEXT['MOVE_UP'] = 'Bidit aug&scaron;up';
+$TEXT['MOVE_DOWN'] = 'Bidit lejup';
+$TEXT['RENAME'] = 'Parsaukt';
+$TEXT['MODIFY_SETTINGS'] = 'Mainir iestatijumus';
+$TEXT['MODIFY_CONTENT'] = 'Mainit saturu';
+$TEXT['VIEW'] = 'Radit';
+$TEXT['UP'] = 'Uz aug&scaron;u';
+$TEXT['FORGOTTEN_DETAILS'] = 'Kaut ko nevari atcereties?';
+$TEXT['NEED_TO_LOGIN'] = 'Gribi ielogoties?';
+$TEXT['SEND_DETAILS'] = 'Sutit konta datus';
+$TEXT['USERNAME'] = 'Lietotajvards';
+$TEXT['PASSWORD'] = 'Parole';
+$TEXT['HOME'] = 'Galvena lapa';
+$TEXT['TARGET_FOLDER'] = 'Merkmape';
+$TEXT['OVERWRITE_EXISTING'] = 'Parrakstit eso&scaron;as';
+$TEXT['FILE'] = 'Datne';
+$TEXT['FILES'] = 'Datnes';
+$TEXT['FOLDER'] = 'Mape';
+$TEXT['FOLDERS'] = 'Mapes';
+$TEXT['CREATE_FOLDER'] = 'Izveidot mapi';
+$TEXT['UPLOAD_FILES'] = 'Aug&scaron;upieladet failus';
+$TEXT['CURRENT_FOLDER'] = 'Pa&scaron;reizeja mape';
+$TEXT['TO'] = 'Uz';
+$TEXT['FROM'] = 'No';
+$TEXT['INSTALL'] = 'Instalet';
+$TEXT['UNINSTALL'] = 'Atinstalet';
+$TEXT['VIEW_DETAILS'] = 'Radit detalas';
+$TEXT['DISPLAY_NAME'] = 'Vards';
+$TEXT['AUTHOR'] = 'Autors';
+$TEXT['VERSION'] = 'Versija';
+$TEXT['DESIGNED_FOR'] = 'Dizainets priek&scaron;';
+$TEXT['DESCRIPTION'] = 'Apraksts';
+$TEXT['EMAIL'] = 'E-pasta adrese';
+$TEXT['LANGUAGE'] = 'Valoda';
+$TEXT['TIMEZONE'] = 'Laika zona';
+$TEXT['CURRENT_PASSWORD'] = 'Eso&scaron;a parole';
+$TEXT['NEW_PASSWORD'] = 'Jauna parole';
+$TEXT['RETYPE_NEW_PASSWORD'] = 'Parole velreiz';
+$TEXT['ACTIVE'] = 'Aktivs';
+$TEXT['DISABLED'] = 'Izslegts';
+$TEXT['ENABLED'] = 'Ieslegts';
+$TEXT['RETYPE_PASSWORD'] = 'Parole velreiz';
+$TEXT['GROUP'] = 'Grupa';
+$TEXT['SYSTEM_PERMISSIONS'] = 'Atlaujas attieciba uz sistemu';
+$TEXT['MODULE_PERMISSIONS'] = 'Atlaujas attieciba uz moduliem';
+$TEXT['SHOW_ADVANCED'] = 'Radit papla&scaron;inatas opcijas';
+$TEXT['HIDE_ADVANCED'] = 'Slept papla&scaron;inatas opcijas';
+$TEXT['BASIC'] = 'Pamata';
+$TEXT['ADVANCED'] = 'Papla&scaron;inats';
+$TEXT['WEBSITE'] = 'Timekla vietne';
+$TEXT['DEFAULT'] = 'Noklusetais';
+$TEXT['KEYWORDS'] = 'Atslegvardi';
+$TEXT['TEXT'] = 'Teksts';
+$TEXT['HEADER'] = 'Galvene';
+$TEXT['FOOTER'] = 'Kajene';
+$TEXT['TEMPLATE'] = '&scaron;ablons';
+$TEXT['THEME'] = 'Backend-Theme';
+$TEXT['INSTALLATION'] = 'Instalacija';
+$TEXT['DATABASE'] = 'Datu baze';
+$TEXT['HOST'] = 'Hosts';
+$TEXT['INTRO'] = 'Ievads';
+$TEXT['PAGE'] = 'Lapa';
+$TEXT['SIGNUP'] = 'Registracija';
+$TEXT['PHP_ERROR_LEVEL'] = 'PHP Kludu zino&scaron;anas limenis';
+$TEXT['ADMIN'] = 'Admins';
+$TEXT['PATH'] = 'Cel&scaron;';
+$TEXT['URL'] = 'URL';
+$TEXT['FRONTEND'] = 'Front-end';
+$TEXT['EXTENSION'] = 'Ekstensija';
+$TEXT['TABLE_PREFIX'] = 'Tabulas prefikss';
+$TEXT['CHANGES'] = 'Izmainas';
+$TEXT['ADMINISTRATION'] = 'Administracija';
+$TEXT['FORGOT_DETAILS'] = 'Aizmirsi detalas?';
+$TEXT['LOGGED_IN'] = 'Ielogojies';
+$TEXT['WELCOME_BACK'] = 'Ar atgrie&scaron;anos';
+$TEXT['FULL_NAME'] = 'Vards';
+$TEXT['ACCOUNT_SIGNUP'] = 'Registreties';
+$TEXT['LINK'] = 'Links';
+$TEXT['ANCHOR'] = 'Anchor';
+$TEXT['TARGET'] = 'Merkis';
+$TEXT['NEW_WINDOW'] = 'Jauns logs';
+$TEXT['SAME_WINDOW'] = 'Tas pats logs';
+$TEXT['TOP_FRAME'] = 'Freims vienu limeni augstak';
+$TEXT['PAGE_LEVEL_LIMIT'] = 'Lapu apak&scaron;limenu limits';
+$TEXT['SUCCESS'] = 'Kartibnieks';
+$TEXT['ERROR'] = 'Keza';
+$TEXT['ARE_YOU_SURE'] = 'Esi parliecinats?';
+$TEXT['YES'] = 'Ja';
+$TEXT['NO'] = 'Ne';
+$TEXT['SYSTEM_DEFAULT'] = 'Sistemas noklusetais';
+$TEXT['PAGE_TITLE'] = 'Lapas nosaukums';
+$TEXT['MENU_TITLE'] = 'Izvelnes nosaukums';
+$TEXT['ACTIONS'] = 'Darbibas';
+$TEXT['UNKNOWN'] = 'Nezinams';
+$TEXT['BLOCK'] = 'Bloks';
+$TEXT['SEARCH'] = 'Meklet';
+$TEXT['SEARCHING'] = 'Tiek meklets';
+$TEXT['POST'] = 'Pievienot';
+$TEXT['COMMENT'] = 'Komentars';
+$TEXT['COMMENTS'] = 'Komentari';
+$TEXT['COMMENTING'] = 'Tiek komentets';
+$TEXT['SHORT'] = 'Iss';
+$TEXT['LONG'] = 'Gar&scaron;s';
+$TEXT['LOOP'] = 'Cikls';
+$TEXT['FIELD'] = 'Lauks';
+$TEXT['REQUIRED'] = 'Obligats';
+$TEXT['LENGTH'] = 'Garums';
+$TEXT['MESSAGE'] = 'Zina';
+$TEXT['SUBJECT'] = 'Nosaukums';
+$TEXT['MATCH'] = 'Sakritiba';
+$TEXT['ALL_WORDS'] = 'Visi vardi';
+$TEXT['ANY_WORDS'] = 'Jebkuri vardi';
+$TEXT['EXACT_MATCH'] = 'Viens pret vienu';
+$TEXT['SHOW'] = 'Radit';
+$TEXT['HIDE'] = 'Slept';
+$TEXT['START_PUBLISHING'] = 'Sakt publicet';
+$TEXT['FINISH_PUBLISHING'] = 'Beigt publicet';
+$TEXT['DATE'] = 'Datums';
+$TEXT['START'] = 'Sakums';
+$TEXT['END'] = 'Beigas';
+$TEXT['IMAGE'] = 'Attels';
+$TEXT['ICON'] = 'Ikona';
+$TEXT['SECTION'] = 'Sadala';
+$TEXT['DATE_FORMAT'] = 'Datuma formats';
+$TEXT['TIME_FORMAT'] = 'Laika formats';
+$TEXT['RESULTS'] = 'Rezultati';
+$TEXT['RESIZE'] = 'Mainit izmeru';
+$TEXT['MANAGE'] = 'Mened&#382;et';
+$TEXT['CODE'] = 'Kods';
+$TEXT['WIDTH'] = 'Platums';
+$TEXT['HEIGHT'] = 'Augstums';
+$TEXT['MORE'] = 'Vel';
+$TEXT['READ_MORE'] = 'Lasit vel';
+$TEXT['CHANGE_SETTINGS'] = 'Mainit iestatijumus';
+$TEXT['CURRENT_PAGE'] = 'Pa&scaron;reizeja lapa';
+$TEXT['CLOSE'] = 'Aizvert';
+$TEXT['INTRO_PAGE'] = 'Ievada lapa';
+$TEXT['INSTALLATION_URL'] = 'Instalacijas URL';
+$TEXT['INSTALLATION_PATH'] = 'Cel&scaron; uz instalaciju';
+$TEXT['PAGE_EXTENSION'] = 'Lapas papla&scaron;inajums';
+$TEXT['NO_RESULTS'] = 'Rezultatu nav';
+$TEXT['WEBSITE_TITLE'] = 'Tikla vietnes nosaukums';
+$TEXT['WEBSITE_DESCRIPTION'] = 'Tikla vietnes apraksts';
+$TEXT['WEBSITE_KEYWORDS'] = 'Tikla vietnes atslegvardi';
+$TEXT['WEBSITE_HEADER'] = 'Tikla vietnes galvene';
+$TEXT['WEBSITE_FOOTER'] = 'Tikla vietnes kajene';
+$TEXT['RESULTS_HEADER'] = 'Rezultatu galvene';
+$TEXT['RESULTS_LOOP'] = 'Rezultatu cikls';
+$TEXT['RESULTS_FOOTER'] = 'Rezultatu kajene';
+$TEXT['LEVEL'] = 'Limenis';
+$TEXT['NOT_FOUND'] = 'Netika atrasts';
+$TEXT['PAGE_SPACER'] = 'Lapas starplika';
+$TEXT['MATCHING'] = 'Saskan';
+$TEXT['TEMPLATE_PERMISSIONS'] = 'Atlaujas attieciba uz &scaron;abloniem';
+$TEXT['PAGES_DIRECTORY'] = 'Lapu mape';
+$TEXT['MEDIA_DIRECTORY'] = 'Mediju mape';
+$TEXT['FILE_MODE'] = 'Datnu re&#382;ims';
+$TEXT['USER'] = 'Lietotajs';
+$TEXT['OTHERS'] = 'Citi';
+$TEXT['READ'] = 'Lasit';
+$TEXT['WRITE'] = 'Rakstit';
+$TEXT['EXECUTE'] = 'Izpildit';
+$TEXT['SMART_LOGIN'] = 'Atjautiga ielogo&scaron;anas';
+$TEXT['REMEMBER_ME'] = 'Atmineties mani';
+$TEXT['FILESYSTEM_PERMISSIONS'] = 'Datnu sistemas atlaujas';
+$TEXT['DIRECTORIES'] = 'Mapes';
+$TEXT['DIRECTORY_MODE'] = 'Mapju re&#382;ims';
+$TEXT['LIST_OPTIONS'] = 'Listes opcijas';
+$TEXT['OPTION'] = 'Opcija';
+$TEXT['ALLOW_MULTIPLE_SELECTIONS'] = 'Atlaut multiiezime&scaron;anu';
+$TEXT['TEXTFIELD'] = 'Teksta laucin&scaron; (Textfield)';
+$TEXT['TEXTAREA'] = 'Teksta lauks (Textarea)';
+$TEXT['SELECT_BOX'] = 'Select kaste (Select Box)';
+$TEXT['CHECKBOX_GROUP'] = 'Checkbox grupa';
+$TEXT['RADIO_BUTTON_GROUP'] = 'Radio pogu grupa';
+$TEXT['SIZE'] = 'Izmers';
+$TEXT['DEFAULT_TEXT'] = 'Noklusetais teksts';
+$TEXT['SEPERATOR'] = 'Atdalitajs';
+$TEXT['BACK'] = 'Atpakal';
+$TEXT['UNDER_CONSTRUCTION'] = 'Lapa vel nav gatava';
+$TEXT['MULTISELECT'] = 'Multiiezime&scaron;ana';
+$TEXT['SHORT_TEXT'] = 'Iss teksts';
+$TEXT['LONG_TEXT'] = 'Gar&scaron; teksts';
+$TEXT['HOMEPAGE_REDIRECTION'] = 'Redirekcija';
+$TEXT['HEADING'] = 'Virsraksts';
+$TEXT['MULTIPLE_MENUS'] = 'Vairakas izvelnes';
+$TEXT['REGISTERED'] = 'Registrets';
+$TEXT['SECTION_BLOCKS'] = 'Sadalu bloki';
+$TEXT['REGISTERED_VIEWERS'] = 'Registreti lukotaji';
+$TEXT['ALLOWED_VIEWERS'] = 'Atlauti lukotaji';
+$TEXT['SUBMISSION_ID'] = 'Pieteikuma ID';
+$TEXT['SUBMISSIONS'] = 'Pieteikumi';
+$TEXT['SUBMITTED'] = 'Pieteikts';
+$TEXT['MAX_SUBMISSIONS_PER_HOUR'] = 'Max. Pieteikumi stunda';
+$TEXT['SUBMISSIONS_STORED_IN_DATABASE'] = 'Pieteikumi tiek glabati datu baze';
+$TEXT['EMAIL_ADDRESS'] = 'E-pasta adrese';
+$TEXT['CUSTOM'] = 'Savs';
+$TEXT['ANONYMOUS'] = 'Anonims';
+$TEXT['SERVER_OPERATING_SYSTEM'] = 'Servera Operetajsistema';
+$TEXT['WORLD_WRITEABLE_FILE_PERMISSIONS'] = 'Datnu permicijas iespejams mainit visiem, kam tas ienak prata';
+$TEXT['LINUX_UNIX_BASED'] = 'Linux/Unix';
+$TEXT['WINDOWS'] = 'Windows';
+$TEXT['HOME_FOLDER'] = 'Galvenas lapas mape';
+$TEXT['HOME_FOLDERS'] = 'Galvenas lapas mapes';
+$TEXT['PAGE_TRASH'] = 'Atkritumu tvertne lapam';
+$TEXT['INLINE'] = 'Ieslegts';
+$TEXT['SEPARATE'] = 'Atsevi&scaron;ki';
+$TEXT['DELETED'] = 'Dzests';
+$TEXT['VIEW_DELETED_PAGES'] = 'Radit izdzestas lapas';
+$TEXT['EMPTY_TRASH'] = 'Iztuk&scaron;ot musaru';
+$TEXT['TRASH_EMPTIED'] = 'Miskaste tira';
+$TEXT['ADD_SECTION'] = 'Pievienot sadalu';
+$TEXT['POST_HEADER'] = 'Puksta galvene';
+$TEXT['POST_FOOTER'] = 'Puksta kajene';
+$TEXT['POSTS_PER_PAGE'] = 'Puksti lapa';
+$TEXT['RESIZE_IMAGE_TO'] = 'Mainit attela izmeru uz';
+$TEXT['UNLIMITED'] = 'Neierobe&#382;ots';
+$TEXT['OF'] = 'No';
+$TEXT['OUT_OF'] = 'Ara no';
+$TEXT['NEXT'] = 'Nakamais';
+$TEXT['PREVIOUS'] = 'Iepriek&scaron;ejais';
+$TEXT['NEXT_PAGE'] = 'Nakama lapa';
+$TEXT['PREVIOUS_PAGE'] = 'Iepriek&scaron;eja lapa';
+$TEXT['ON'] = 'ieslegts';
+$TEXT['LAST_UPDATED_BY'] = 'Pedejo reizi mainits';
+$TEXT['RESULTS_FOR'] = 'Rezultati';
+$TEXT['TIME'] = 'Laiks';
+$TEXT['REDIRECT_AFTER'] = 'Redirect after';
+$TEXT['WYSIWYG_STYLE'] = 'WYSIWYG stils';
+$TEXT['WYSIWYG_EDITOR'] = 'WYSIWYG redaktors';
+$TEXT['SERVER_EMAIL'] = 'Servera e-pasta adrese';
+$TEXT['MENU'] = 'Izvelne';
+$TEXT['MANAGE_GROUPS'] = 'Mened&#382;et grupas';
+$TEXT['MANAGE_USERS'] = 'Mened&#382;et lietotajus';
+$TEXT['PAGE_LANGUAGES'] = 'Lapas valodas';
+$TEXT['HIDDEN'] = 'Slepts';
+$TEXT['MAIN'] = 'Galvenais';
+$TEXT['RENAME_FILES_ON_UPLOAD'] = 'Datnes, kuram aug&scaron;upieladejot jamaina nosaukumi';
+$TEXT['APP_NAME'] = 'Programmas nosaukums';
+$TEXT['SESSION_IDENTIFIER'] = 'Sesijas identifikators';
+$TEXT['SEC_ANCHOR'] = 'Section-Anchor text';
+$TEXT['BACKUP'] = 'Duble&scaron;ana';
+$TEXT['RESTORE'] = 'Atjaunot';
+$TEXT['BACKUP_DATABASE'] = 'Dublet datu bazi';
+$TEXT['RESTORE_DATABASE'] = 'Atjaunot datu bazi';
+$TEXT['BACKUP_ALL_TABLES'] = 'Atjaunot visas tabulas datu baze';
+$TEXT['BACKUP_WB_SPECIFIC'] = 'Atjaunot tikai WB raksturigas tabulas';
+$TEXT['BACKUP_MEDIA'] = 'Dublet medijus';
+$TEXT['RESTORE_MEDIA'] = 'Atjaunot medijus';
+$TEXT['ADMINISTRATION_TOOL'] = 'Administracijas riks';
+$TEXT['CAPTCHA_VERIFICATION'] = 'Parbaudes kods';
+$TEXT['VERIFICATION'] = 'Parbaude';
+$TEXT['DEFAULT_CHARSET'] = 'Nokluseta simbolu kopa';
+$TEXT['CHARSET'] = 'Simbolu kopa';
+$TEXT['MODULE_ORDER'] = 'Module-order for searching';
+$TEXT['MAX_EXCERPT'] = 'Max lines of excerpt';
+$TEXT['TIME_LIMIT'] = 'Max time to gather excerpts per module';
+$TEXT['PUBL_START_DATE'] = 'Start date';
+$TEXT['PUBL_END_DATE'] = 'End date';
+$TEXT['CALENDAR'] = 'Calender';
+$TEXT['DELETE_DATE'] = 'Delete date';
+$TEXT['WBMAILER_DEFAULT_SETTINGS_NOTICE'] = 'Please specify a default "FROM" address and "SENDER" name below. It is recommended to use a FROM address like: <strong>admin@yourdomain.com</strong>. Some mail provider (e.g. <em>mail.com</em>) may reject mails with a FROM: address like <em>name@mail.com</em> sent via a foreign relay to avoid spam.<br /><br />The default values are only used if no other values are specified by WebsiteBaker. If your server supports <acronym title="Simple mail transfer protocol">SMTP</acronym>, you may want use this option for outgoing mails.';
+$TEXT['WBMAILER_DEFAULT_SENDER_MAIL'] = 'Default From Mail';
+$TEXT['WBMAILER_DEFAULT_SENDER_NAME'] = 'Default Sender Name';
+$TEXT['WBMAILER_NOTICE'] = '<strong>SMTP Mailer Settings:</strong><br />The settings below are only required if you want to send mails via <acronym title="Simple mail transfer protocol">SMTP</acronym>. If you do not know your SMTP host or you are not sure about the required settings, simply stay with the default mail routine: PHP MAIL.';
+$TEXT['WBMAILER_FUNCTION'] = 'Mail Routine';
+$TEXT['WBMAILER_SMTP_HOST'] = 'SMTP Host';
+$TEXT['WBMAILER_PHP'] = 'PHP MAIL';
+$TEXT['WBMAILER_SMTP'] = 'SMTP';
+$TEXT['WBMAILER_SMTP_AUTH'] = 'SMTP Authentification';
+$TEXT['WBMAILER_SMTP_AUTH_NOTICE'] = 'only activate if your SMTP host requires authentification';
+$TEXT['WBMAILER_SMTP_USERNAME'] = 'SMTP Username';
+$TEXT['WBMAILER_SMTP_PASSWORD'] = 'SMTP Password';
+$TEXT['PLEASE_LOGIN'] = 'Please login';
+$TEXT['CAP_EDIT_CSS'] = 'Edit CSS';
+$TEXT['HEADING_CSS_FILE'] = 'Actual module file: ';
+$TEXT['TXT_EDIT_CSS_FILE'] = 'Edit the CSS definitions in the textarea below.';
+$TEXT['CODE_SNIPPET'] = "Code-snippet";
+$TEXT['REQUIREMENT'] = "Requirement";
+$TEXT['INSTALLED'] = "installed";
+$TEXT['NOT_INSTALLED'] = "not installed";
+$TEXT['ADDON'] = "Add-On";
+$TEXT['EXTENSION'] = "Extension";
+$TEXT['UNZIP_FILE'] = "Upload and unpack a zip archive";
+$TEXT['DELETE_ZIP'] = "Delete zip archive after unpacking";
+
+// Success/error messages
+$MESSAGE['FRONTEND']['SORRY_NO_VIEWING_PERMISSIONS'] = 'Piedod, bet Tev nav tiesibu aplukot &scaron;o lapu';
+$MESSAGE['FRONTEND']['SORRY_NO_ACTIVE_SECTIONS'] = 'Sorry, no active content to display';
+
+$MESSAGE['ADMIN']['INSUFFICIENT_PRIVELLIGES'] = 'Nepietiekams atlauju limenis';
+
+$MESSAGE['LOGIN']['BOTH_BLANK'] = 'Ludzu ievadi lietotajvardu un paroli zemak redzamajos laukos';
+$MESSAGE['LOGIN']['USERNAME_BLANK'] = 'Ludzu ievadi lietotajvardu';
+$MESSAGE['LOGIN']['PASSWORD_BLANK'] = 'Ludzu ievadi paroli';
+$MESSAGE['LOGIN']['USERNAME_TOO_SHORT'] = 'Ievaditais lietotajvards par isu';
+$MESSAGE['LOGIN']['PASSWORD_TOO_SHORT'] = 'Ievadita parole par isu';
+$MESSAGE['LOGIN']['USERNAME_TOO_LONG'] = 'Ievaditais lietotajvards par garu';
+$MESSAGE['LOGIN']['PASSWORD_TOO_LONG'] = 'Ievadita parole par garu';
+$MESSAGE['LOGIN']['AUTHENTICATION_FAILED'] = 'Nepareizs lietotajvards vai parole';
+
+$MESSAGE['SIGNUP']['NO_EMAIL'] = 'Jaievada e-pasta adrese';
+$MESSAGE['SIGNUP2']['SUBJECT_LOGIN_INFO'] = 'Your login details...';
+$MESSAGE['SIGNUP2']['BODY_LOGIN_INFO'] = <<< EOT
+Hello {LOGIN_DISPLAY_NAME},
+
+Your '{LOGIN_WEBSITE_TITLE}' login details are:
+Username: {LOGIN_NAME}
+Password: {LOGIN_PASSWORD}
+
+Your password has been set to the one above.
+This means that your old password will no longer work.
+
+If you have received this message in error, please delete it immediately.
+EOT;
+
+$MESSAGE['FORGOT_PASS']['NO_DATA'] = 'Ludzu ievadi savu e-pasta adresi zemak redzamaja lauka';
+$MESSAGE['FORGOT_PASS']['EMAIL_NOT_FOUND'] = 'Ievadito e-pasta adresi nebija iespejams atrast datu baze';
+$MESSAGE['FORGOT_PASS']['CANNOT_EMAIL'] = 'Lietotajvardu un paroli pa e-pastu nebija iespejams nosutit, ludzu sakontakte sistemas administratoru';
+$MESSAGE['FORGOT_PASS']['PASSWORD_RESET'] = 'Lietotajvards un parole tika nosutiti uz Tavu e-pasta adresi';
+$MESSAGE['FORGOT_PASS']['ALREADY_RESET'] = 'Paroli nav iespejams atkalatjaunot bie&#382;ak ka reizi stunda';
+
+$MESSAGE['START']['WELCOME_MESSAGE'] = 'Esi sveicinats WebsiteBaker administracija';
+$MESSAGE['START']['INSTALL_DIR_EXISTS'] = 'Bridinajums, instalacijas mape vel arvien eksiste!';
+$MESSAGE['START']['CURRENT_USER'] = 'Tu &scaron;obrid esi ielogojies ka:';
+
+$MESSAGE['SETTINGS']['UNABLE_OPEN_CONFIG'] = 'Nebija iespejams atvert konfiguracijas datni';
+$MESSAGE['SETTINGS']['UNABLE_WRITE_CONFIG'] = 'Nebija iespejams ierakstit konfiguracijas datne';
+$MESSAGE['SETTINGS']['SAVED'] = 'Iestatijumi tika veiksmigi noglabati';
+$MESSAGE['SETTINGS']['MODE_SWITCH_WARNING'] = 'Ludzu iegaume: spie&#382;ot &scaron;o pogu, visas nesaglabatas izmainas tiks neatgriezeniski dzestas';
+$MESSAGE['SETTINGS']['WORLD_WRITEABLE_WARNING'] = 'Ludzu iegaume: &scaron;is te ir ieteicams vienigi teste&scaron;anas re&#382;ima';
+
+$MESSAGE['USERS']['ADDED'] = 'Lietotajs veiksmigi pievienots';
+$MESSAGE['USERS']['SAVED'] = 'Lietotajs veiksmigi saglabats';
+$MESSAGE['USERS']['DELETED'] = 'Lietotajs veiksmigi izdzests';
+$MESSAGE['USERS']['NO_GROUP'] = 'Netika iezimeta neviena grupa';
+$MESSAGE['USERS']['USERNAME_TOO_SHORT'] = 'Ievaditais lietotajvards bija par isu';
+$MESSAGE['USERS']['PASSWORD_TOO_SHORT'] = 'Ievadita parole bija par isu';
+$MESSAGE['USERS']['PASSWORD_MISMATCH'] = 'Ievaditas paroles nesakrit';
+$MESSAGE['USERS']['INVALID_EMAIL'] = 'Ievadita e-pasta adrese nav pareiza';
+$MESSAGE['USERS']['EMAIL_TAKEN'] = 'ievadita e-pasta adrese jau tiek &scaron;eit lietota';
+$MESSAGE['USERS']['USERNAME_TAKEN'] = 'Izveletais lietotajvards ir jau aiznemts';
+$MESSAGE['USERS']['CHANGING_PASSWORD'] = 'Ludzu iegaume: Vertibas jaievada augstak redzamajos laukos, ja gribas nomainit &scaron;i lietotaja paroli';
+$MESSAGE['USERS']['CONFIRM_DELETE'] = 'Vai patie&scaron;am gribi izdzest iezimeto lietotaju?';
+
+$MESSAGE['GROUPS']['ADDED'] = 'Grupa veiksmigi pievienota';
+$MESSAGE['GROUPS']['SAVED'] = 'Grupa veiksmigi saglabata';
+$MESSAGE['GROUPS']['DELETED'] = 'Grupa veiksmigi izdzesta';
+$MESSAGE['GROUPS']['GROUP_NAME_BLANK'] = 'Grupas nosaukums ir tuk&scaron;s';
+$MESSAGE['GROUPS']['CONFIRM_DELETE'] = 'Vai patie&scaron;am gribi izdzest iezimeto grupu (un visus lietotajus taja)?';
+$MESSAGE['GROUPS']['NO_GROUPS_FOUND'] = 'Netika atrasta neviena grupa';
+$MESSAGE['GROUPS']['GROUP_NAME_EXISTS'] = '&scaron;ads grupas nosaukums jau ir';
+
+$MESSAGE['PREFERENCES']['DETAILS_SAVED'] = 'Detalas tika veiksmigi noglabatas';
+$MESSAGE['PREFERENCES']['EMAIL_UPDATED'] = 'E-pasta adrese tika veiksmigi atjauninata';
+$MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT'] = 'Ievadita (eso&scaron;a) parole nav pareiza';
+$MESSAGE['PREFERENCES']['PASSWORD_CHANGED'] = 'Parole veiksmigi nomainita';
+
+$MESSAGE['TEMPLATES']['CHANGE_TEMPLATE_NOTICE'] = 'Ludzu iegaume: lai mainitu &scaron;ablonu, jadotas uz iestatijumu sadalu';
+
+$MESSAGE['MEDIA']['DIR_DOT_DOT_SLASH'] = 'Nevar ieklaut ../ mapes nosaukuma';
+$MESSAGE['MEDIA']['DIR_DOES_NOT_EXIST'] = 'Mape neeksiste';
+$MESSAGE['MEDIA']['TARGET_DOT_DOT_SLASH'] = 'Nav iespejams ieklaut ../ mapes merki (target)';
+$MESSAGE['MEDIA']['NAME_DOT_DOT_SLASH'] = 'Nav iespejams ieklaut ../ nosaukuma';
+$MESSAGE['MEDIA']['NAME_INDEX_PHP'] = 'Nedrikst lietot index.php ka nosaukumu';
+$MESSAGE['MEDIA']['NONE_FOUND'] = 'Mape netika atrasts neviena mediju datne';
+$MESSAGE['MEDIA']['FILE_NOT_FOUND'] = 'Datne netika atrasta';
+$MESSAGE['MEDIA']['DELETED_FILE'] = 'Datne veiksmigi izdzesta';
+$MESSAGE['MEDIA']['DELETED_DIR'] = 'Mape izdzesta veikmigi';
+$MESSAGE['MEDIA']['CONFIRM_DELETE'] = 'Vai esi parliecinats, ka gribi izdzest &scaron;o datni vai mapi?';
+$MESSAGE['MEDIA']['CANNOT_DELETE_FILE'] = 'Nav iespejams izdzest iezimeto datni';
+$MESSAGE['MEDIA']['CANNOT_DELETE_DIR'] = 'Nav iespejams izdzest iezimeto mapi';
+$MESSAGE['MEDIA']['BLANK_NAME'] = 'Netika ievadits jauns nosaukums';
+$MESSAGE['MEDIA']['BLANK_EXTENSION'] = 'Netika ievadits datnes papla&scaron;inajums';
+$MESSAGE['MEDIA']['RENAMED'] = 'Parsauk&scaron;ana veiksmiga';
+$MESSAGE['MEDIA']['CANNOT_RENAME'] = 'Parsauk&scaron;ana neveiksmiga';
+$MESSAGE['MEDIA']['FILE_EXISTS'] = 'Datne ar &scaron;adu nosaukumu jau eksiste';
+$MESSAGE['MEDIA']['DIR_EXISTS'] = 'Mape ar &scaron;adu naosaukumu jau eksiste';
+$MESSAGE['MEDIA']['DIR_MADE'] = 'Mape veiksmigi izveidota';
+$MESSAGE['MEDIA']['DIR_NOT_MADE'] = 'Nav iespejams izveidot mapi';
+$MESSAGE['MEDIA']['SINGLE_UPLOADED'] = ' datne veiksmigi aug&scaron;upieladeta';
+$MESSAGE['MEDIA']['UPLOADED'] = ' datnes tika veiksmigi aug&scaron;upieladetas';
+
+$MESSAGE['PAGES']['ADDED'] = 'Lapa veiksmigi pievienota';
+$MESSAGE['PAGES']['ADDED_HEADING'] = 'Lapas virsraksts pievienots veiksmigi';
+$MESSAGE['PAGES']['PAGE_EXISTS'] = 'Lapa ar tadu pa&scaron;u vai lidzigu virsrakstu jau eksiste';
+$MESSAGE['PAGES']['CANNOT_CREATE_ACCESS_FILE'] = 'Keza radot piekluves datni /pages mape (nepietiekamas privilegijas)';
+$MESSAGE['PAGES']['CANNOT_DELETE_ACCESS_FILE'] = 'Keza dze&scaron;ot piekluves datni /pages mape';
+$MESSAGE['PAGES']['NOT_FOUND'] = 'Lapa netika atrasta';
+$MESSAGE['PAGES']['SAVED'] = 'Lapa saglabata veiksmigi';
+$MESSAGE['PAGES']['SAVED_SETTINGS'] = 'Lapas iestatijumi saglabati veiksmigi';
+$MESSAGE['PAGES']['NOT_SAVED'] = 'Keza saglabajot lapue';
+$MESSAGE['PAGES']['DELETE_CONFIRM'] = 'Vai esi parliecinats, ka velies izdzest iezimeto lapu (un visas tas apak&scaron;lapas)?';
+$MESSAGE['PAGES']['DELETED'] = 'Lapa veiksmigi izdzesta';
+$MESSAGE['PAGES']['RESTORED'] = 'Lapa atjaunota veiksmigi';
+$MESSAGE['PAGES']['BLANK_PAGE_TITLE'] = 'Ludzu ievadiet lapas nosaukumu';
+$MESSAGE['PAGES']['BLANK_MENU_TITLE'] = 'Ludzu ievadiet izvelnes nosaukumu';
+$MESSAGE['PAGES']['REORDERED'] = 'Lapa veiksmigi parkartota';
+$MESSAGE['PAGES']['CANNOT_REORDER'] = 'Keza parkartojot lapu';
+$MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS'] = 'Tev nav atlaujas &scaron;o lapu mainit';
+$MESSAGE['PAGES']['INTRO_NOT_WRITABLE'] = 'Nav iespejams ierakstit datne /pages/intro.php (nepietiekamas privilegijas)';
+$MESSAGE['PAGES']['INTRO_SAVED'] = 'Ievada lapa saglabata veiksmigi';
+$MESSAGE['PAGES']['LAST_MODIFIED'] = 'Pedejas izmainas veicis';
+$MESSAGE['PAGES']['INTRO_LINK'] = 'Klik&scaron;kini &scaron;eit, lai veiktu izmainas ievada lapa';
+$MESSAGE['PAGES']['SECTIONS_PROPERTIES_SAVED'] = 'Sadalas parametri veiksmigi saglabati';
+$MESSAGE['PAGES']['RETURN_TO_PAGES'] = 'Atgriezties pie lapam';
+
+$MESSAGE['GENERIC']['FILL_IN_ALL'] = 'Ludzu atgriezies un aizpildi visus laukus';
+$MESSAGE['GENERIC']['FILE_TYPE'] = 'Ludzu iegaume, ka datnei, ko gribi aug&scaron;upieladet jabut &scaron;aja formata:';
+$MESSAGE['GENERIC']['FILE_TYPES'] = 'Ludzu iegaume, ka failam, ko gribi aug&scaron;upieladet jabu viena no &scaron;iem formatiem:';
+$MESSAGE['GENERIC']['CANNOT_UPLOAD'] = 'Nebija iespejams aug&scaron;upieladet datni';
+$MESSAGE['GENERIC']['ALREADY_INSTALLED'] = 'Jau uzinstalets';
+$MESSAGE['GENERIC']['NOT_INSTALLED'] = 'Nav instalets';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL'] = 'Nav iespejams atinstalet';
+$MESSAGE['GENERIC']['CANNOT_UNZIP'] = 'Datni nav iespejams atzipot';
+$MESSAGE['GENERIC']['INSTALLED'] = 'Uzinstalets veiksmigi';
+$MESSAGE['GENERIC']['UPGRADED'] = 'Apgreidots veiksmigi';
+$MESSAGE['GENERIC']['UNINSTALLED'] = 'Atinstalets veiksmigi';
+$MESSAGE['GENERIC']['BAD_PERMISSIONS'] = 'Nav iespejams ierakstit noraditaja mape';
+$MESSAGE['GENERIC']['INVALID'] = 'Datne, ko nupat aug&scaron;upieladeji, ir invalids';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE'] = 'Nav iespejams atinstalet: iezimetais fails tiek lietots';
+
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL'] = "<br /><br />{{type}} <b>{{type_name}}</b> could not be uninstalled, because it is still in use on {{pages}}.<br /><br />";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL_PAGES'] = "this page;these pages";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IS_DEFAULT_TEMPLATE'] = "Can't uninstall the template <b>{{name}}</b>, because it is the default template!";
+
+$MESSAGE['GENERIC']['WEBSITE_UNDER_CONSTRUCTION'] = 'Lapa tiek veidota';
+$MESSAGE['GENERIC']['PLEASE_CHECK_BACK_SOON'] = 'Nac driz atkal!';
+$MESSAGE['GENERIC']['PLEASE_BE_PATIENT'] = 'Esi paceitigs, tas var kadu bridi ievilkties.';
+$MESSAGE['GENERIC']['ERROR_OPENING_FILE'] = 'Keza atverot datni';
+$MESSAGE['GENERIC']['INVALID_ADDON_FILE'] = 'Invalid WebsiteBaker installation file. Please check the *.zip format.';
+$MESSAGE['GENERIC']['INVALID_LANGUAGE_FILE'] = 'Invalid WebsiteBaker language file. Please check the text file.';
+
+$MESSAGE['MOD_FORM']['REQUIRED_FIELDS'] = 'Ievadi detalas sekojo&scaron;ajos laukos';
+$MESSAGE['MOD_FORM']['EXCESS_SUBMISSIONS'] = 'Atvaino, &scaron;i forma ir tikusi aizpildita parak daudz rei&#382;u &scaron;is stundas laika. Ludzu pamegini velreiz pec stundas.';
+$MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA'] = 'Ievaditais parbaudes numurs ir nepareizs. Ja radu&scaron;as problemas ar parbaudes koda nolasi&scaron;anu, suti zinu uz: '.SERVER_EMAIL.'';
+
+$MESSAGE['ADDON']['RELOAD'] = 'Update database with information from Add-on files (e.g. after FTP upload).';
+$MESSAGE['ADDON']['ERROR_RELOAD'] = 'Error while updating the Add-On information.';
+$MESSAGE['ADDON']['MODULES_RELOADED'] = 'Moduli veiksmigi parladeti';
+$MESSAGE['ADDON']['TEMPLATES_RELOADED'] = '&scaron;abloni veiksmigi parladeti';
+$MESSAGE['ADDON']['LANGUAGES_RELOADED'] = 'Valodas veiksmigi parladetas';
+$MESSAGE['ADDON']['PRECHECK_FAILED'] = 'Add-on installation failed. Your system does not fulfill the requirements of this Add-on. To make this Add-on working on your system, please fix the issues summarized below.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION'] = 'When modules are uploaded via FTP (not recommended), the module installation files <tt>install.php</tt>, <tt>upgrade.php</tt> or <tt>uninstall.php</tt> will not be executed automatically. Those modules may not work correct or do not uninstall properly.<br /><br />You can execute the module files manually for modules uploaded via FTP below.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION_WARNING'] = 'Warning: Existing module database entries will get lost. Only use this option if you experience problems with modules uploaded via FTP.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/languages/LV.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/languages/CA.php
===================================================================
--- tags/2.8.2/wb/languages/CA.php	(nonexistent)
+++ tags/2.8.2/wb/languages/CA.php	(revision 1481)
@@ -0,0 +1,595 @@
+<?php
+/**
+ *
+ * @category        framework
+ * @package         language
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// use languageedit-module to modify this file
+
+// Define that this file is loaded
+if(!defined('LANGUAGE_LOADED')) {
+define('LANGUAGE_LOADED', true);
+}
+
+// Set the language information
+$language_code = 'CA';
+$language_name = 'Catalan';
+$language_version = '2.8';
+$language_platform = '2.8.x';
+$language_author = 'Carles Escrig (simkin)';
+$language_license = 'GNU General Public License';
+
+// Menu titles
+$MENU['START'] = 'Inici';
+$MENU['PAGES'] = 'P&agrave;gines';
+$MENU['MEDIA'] = 'Fitxers';
+$MENU['ADDONS'] = 'Afegits';
+$MENU['MODULES'] = 'M&ograve;duls';
+$MENU['TEMPLATES'] = 'Plantilles';
+$MENU['LANGUAGES'] = 'Idiomes';
+$MENU['PREFERENCES'] = 'Perfil';
+$MENU['SETTINGS'] = 'Par&agrave;metres';
+$MENU['ADMINTOOLS'] = 'Admin-Tools';
+$MENU['ACCESS'] = 'Acc&eacute;s';
+$MENU['USERS'] = 'Usuaris';
+$MENU['GROUPS'] = 'Grups';
+$MENU['HELP'] = 'Ajuda';
+$MENU['VIEW'] = 'Veure';
+$MENU['LOGOUT'] = 'Eixir';
+$MENU['LOGIN'] = 'Entrar';
+$MENU['FORGOT'] = 'Demanar Dades del Compte';
+
+// Section overviews
+$OVERVIEW['START'] = '&Iacute;ndex d\'Administraci&oacute;';
+$OVERVIEW['PAGES'] = 'Administreu les p&agrave;gines de la vostra web...';
+$OVERVIEW['MEDIA'] = 'Administreu la carpeta de fitxers...';
+$OVERVIEW['MODULES'] = 'Administreu els m&ograve;duls de WebsiteBaker...';
+$OVERVIEW['TEMPLATES'] = 'Canvieu l\'aspecte i estil de la vostra p&agrave;gina amb plantilles...';
+$OVERVIEW['LANGUAGES'] = 'Administreu els idiomes de WebsiteBaker...';
+$OVERVIEW['PREFERENCES'] = 'Canvieu les prefer&egrave;ncies com l\'adre&ccedil;a de correu electr&ograve;nic, contrasenya, etc... ';
+$OVERVIEW['SETTINGS'] = 'Canvieu els par&agrave;metres de WebsiteBaker...';
+$OVERVIEW['USERS'] = 'Administreu els usuaris que poden identificar-se a WebsiteBaker...';
+$OVERVIEW['GROUPS'] = 'Administreu els grups d\'usuaris i els seus permisos de sistema...';
+$OVERVIEW['HELP'] = 'Teniu una pregunta? Trobeu la vostra resposta...';
+$OVERVIEW['VIEW'] = 'Veure i navegar r&agrave;pidament la vostra p&agrave;gina web en una nova finestra...';
+$OVERVIEW['ADMINTOOLS'] = 'Access the WebsiteBaker administration tools...';
+
+// Headings
+$HEADING['MODIFY_DELETE_PAGE'] = 'Modifica/Esborra P&agrave;gina';
+$HEADING['DELETED_PAGES'] = 'P&agrave;gines Esborrades';
+$HEADING['ADD_PAGE'] = 'Afegeix P&agrave;gina';
+$HEADING['ADD_HEADING'] = 'Afegeix Encap&ccedil;alament';
+$HEADING['MODIFY_PAGE'] = 'Modifica P&agrave;gina';
+$HEADING['MODIFY_PAGE_SETTINGS'] = 'Modifica els Par&agrave;metres de la P&agrave;gina';
+$HEADING['MODIFY_ADVANCED_PAGE_SETTINGS'] = 'Modifica els Par&agrave;metres Avan&ccedil;ats de la P&agrave;gina';
+$HEADING['MANAGE_SECTIONS'] = 'Administra les Seccions';
+$HEADING['MODIFY_INTRO_PAGE'] = 'Modifica P&agrave;gina Introduct&ograve;ria';
+
+$HEADING['BROWSE_MEDIA'] = 'Explorar Fitxers';
+$HEADING['CREATE_FOLDER'] = 'Crea Carpeta';
+$HEADING['UPLOAD_FILES'] = 'Penja Fitxer(s)';
+
+$HEADING['INSTALL_MODULE'] = 'Instal&middot;la M&ograve;dul';
+$HEADING['UNINSTALL_MODULE'] = 'Desinstal&middot;la M&ograve;dul';
+$HEADING['MODULE_DETAILS'] = 'Detalls del M&ograve;dul';
+
+$HEADING['INSTALL_TEMPLATE'] = 'Instal&middot;la Plantilla';
+$HEADING['UNINSTALL_TEMPLATE'] = 'Desinstal&middot;la Plantilla';
+$HEADING['TEMPLATE_DETAILS'] = 'Detalls de la Plantilla';
+
+$HEADING['INSTALL_LANGUAGE'] = 'Instal&middot;la Idioma';
+$HEADING['UNINSTALL_LANGUAGE'] = 'Desinstal&middot;la Idioma';
+$HEADING['LANGUAGE_DETAILS'] = 'Detalls de l\'Idioma';
+
+$HEADING['MY_SETTINGS'] = 'Els meus Par&agrave;metres';
+$HEADING['MY_EMAIL'] = 'El meu Correu';
+$HEADING['MY_PASSWORD'] = 'La meua Contrasenya';
+
+$HEADING['GENERAL_SETTINGS'] = 'Par&agrave;metres Generals';
+$HEADING['DEFAULT_SETTINGS'] = 'Par&agrave;metres per Defecte';
+$HEADING['SEARCH_SETTINGS'] = 'Par&agrave;metres de Cerca';
+$HEADING['FILESYSTEM_SETTINGS'] = 'Par&agrave;metres del Sistema de Fitxers';
+$HEADING['SERVER_SETTINGS'] = 'Server Settings';
+$HEADING['WBMAILER_SETTINGS'] = 'Mailer Settings';
+$HEADING['ADMINISTRATION_TOOLS'] = 'Administration Tools';
+
+$HEADING['MODIFY_DELETE_USER'] = 'Modifica/Esborra Usuari';
+$HEADING['ADD_USER'] = 'Afegeix Usuari';
+$HEADING['MODIFY_USER'] = 'Modifica Usuari';
+
+$HEADING['MODIFY_DELETE_GROUP'] = 'Modifica/Esborra Grup';
+$HEADING['ADD_GROUP'] = 'Afegeix Grup';
+$HEADING['MODIFY_GROUP'] = 'Modifica Grup';
+
+$HEADING['ADDON_PRECHECK_FAILED'] = 'Add-On requirements not met';
+$HEADING['INVOKE_MODULE_FILES'] = 'Execute module files manually';
+
+// Other text
+$TEXT['OPEN'] = 'Open';
+$TEXT['ADD'] = 'Afegeix';
+$TEXT['MODIFY'] = 'Modifica';
+$TEXT['SETTINGS'] = 'Par&agrave;metres';
+$TEXT['DELETE'] = 'Esborra';
+$TEXT['SAVE'] = 'Desa';
+$TEXT['RESET'] = 'Reinicia';
+$TEXT['LOGIN'] = 'Identificaci&oacute;';
+$TEXT['RELOAD'] = 'Recarrega';
+$TEXT['CANCEL'] = 'Cancel&middot;la';
+$TEXT['NAME'] = 'Nom';
+$TEXT['PLEASE_SELECT'] = 'Per favor trieu';
+$TEXT['TITLE'] = 'T&iacute;tol';
+$TEXT['PARENT'] = 'Mare';
+$TEXT['TYPE'] = 'Tipus';
+$TEXT['VISIBILITY'] = 'Visibilitat';
+$TEXT['PRIVATE'] = 'Privat';
+$TEXT['PUBLIC'] = 'P&uacute;blic';
+$TEXT['NONE'] = 'Cap';
+$TEXT['NONE_FOUND'] = 'No s\'ha trobat cap';
+$TEXT['CURRENT'] = 'Actual';
+$TEXT['CHANGE'] = 'Canvia';
+$TEXT['WINDOW'] = 'Finestra';
+$TEXT['DESCRIPTION'] = 'Descripci&oacute;';
+$TEXT['KEYWORDS'] = 'Paraules Clau';
+$TEXT['ADMINISTRATORS'] = 'Administradors';
+$TEXT['PRIVATE_VIEWERS'] = 'Visualitzadors Privats';
+$TEXT['EXPAND'] = 'Expandeix';
+$TEXT['COLLAPSE'] = 'Contrau';
+$TEXT['MOVE_UP'] = 'Mou Amunt';
+$TEXT['MOVE_DOWN'] = 'Mou Avall';
+$TEXT['RENAME'] = 'Reanomena';
+$TEXT['MODIFY_SETTINGS'] = 'Modifica Par&agrave;metres';
+$TEXT['MODIFY_CONTENT'] = 'Modifica Contingut';
+$TEXT['VIEW'] = 'Veure';
+$TEXT['UP'] = 'Amunt';
+$TEXT['FORGOTTEN_DETAILS'] = 'Heu oblidat la contrasenya?';
+$TEXT['NEED_TO_LOGIN'] = 'Voleu identificar-vos?';
+$TEXT['SEND_DETAILS'] = 'Envia les Dades';
+$TEXT['USERNAME'] = 'Nom d\'Usuari';
+$TEXT['PASSWORD'] = 'Contrasenya';
+$TEXT['HOME'] = 'Inici';
+$TEXT['TARGET_FOLDER'] = 'Carpeta de dest&iacute;';
+$TEXT['OVERWRITE_EXISTING'] = 'Sobreescriure';
+$TEXT['FILE'] = 'fitxer';
+$TEXT['FILES'] = 'fitxers';
+$TEXT['FOLDER'] = 'carpeta';
+$TEXT['FOLDERS'] = 'carpetes';
+$TEXT['CREATE_FOLDER'] = 'Crea Carpeta';
+$TEXT['UPLOAD_FILES'] = 'Penja Fitxer(s)';
+$TEXT['CURRENT_FOLDER'] = 'Carpeta Actual';
+$TEXT['TO'] = 'a';
+$TEXT['FROM'] = 'des de';
+$TEXT['INSTALL'] = 'Instal&middot;la';
+$TEXT['UNINSTALL'] = 'Desinstal&middot;la';
+$TEXT['VIEW_DETAILS'] = 'Veure Detalls';
+$TEXT['DISPLAY_NAME'] = 'Nom a Mostrar';
+$TEXT['AUTHOR'] = 'Autor';
+$TEXT['VERSION'] = 'Versi&oacute;';
+$TEXT['DESIGNED_FOR'] = 'Dissenyat Per';
+$TEXT['DESCRIPTION'] = 'Descripci&oacute;';
+$TEXT['EMAIL'] = 'Correu';
+$TEXT['LANGUAGE'] = 'Idioma';
+$TEXT['TIMEZONE'] = 'Fus Horari';
+$TEXT['CURRENT_PASSWORD'] = 'Contrasenya Actual';
+$TEXT['NEW_PASSWORD'] = 'Nova Contrasenya';
+$TEXT['RETYPE_NEW_PASSWORD'] = 'Nova Contrasenya (de nou)';
+$TEXT['ACTIVE'] = 'Actiu';
+$TEXT['DISABLED'] = 'Inhabilitat';
+$TEXT['ENABLED'] = 'Habilitat';
+$TEXT['RETYPE_PASSWORD'] = 'Contrasenya (de nou)';
+$TEXT['GROUP'] = 'Grup';
+$TEXT['SYSTEM_PERMISSIONS'] = 'Permisos de Sistema';
+$TEXT['MODULE_PERMISSIONS'] = 'Permisos de M&ograve;dul';
+$TEXT['SHOW_ADVANCED'] = 'Mostra Opcions Avan&ccedil;ades';
+$TEXT['HIDE_ADVANCED'] = 'Oculta Opcions Avan&ccedil;ades';
+$TEXT['BASIC'] = 'B&agrave;sic';
+$TEXT['ADVANCED'] = 'Avan&ccedil;at';
+$TEXT['WEBSITE'] = 'P&agrave;gina Web';
+$TEXT['DEFAULT'] = 'Per defecte';
+$TEXT['KEYWORDS'] = 'Paraules Clau';
+$TEXT['TEXT'] = 'Text';
+$TEXT['HEADER'] = 'Cap&ccedil;alera';
+$TEXT['FOOTER'] = 'Peu';
+$TEXT['TEMPLATE'] = 'Plantilla';
+$TEXT['THEME'] = 'Backend-Theme';
+$TEXT['INSTALLATION'] = 'Instal&middot;laci&oacute;';
+$TEXT['DATABASE'] = 'Base de Dades';
+$TEXT['HOST'] = 'Servidor';
+$TEXT['INTRO'] = 'Entrada';
+$TEXT['PAGE'] = 'P&agrave;gina';
+$TEXT['SIGNUP'] = 'Registre';
+$TEXT['PHP_ERROR_LEVEL'] = 'Nivell d\'Informe d\'Error de PHP';
+$TEXT['ADMIN'] = 'Admin';
+$TEXT['PATH'] = 'Ruta';
+$TEXT['URL'] = 'URL';
+$TEXT['FRONTEND'] = 'Frontal';
+$TEXT['EXTENSION'] = 'Extensions';
+$TEXT['TABLE_PREFIX'] = 'Prefix de Taula';
+$TEXT['CHANGES'] = 'Canvis';
+$TEXT['ADMINISTRATION'] = 'Administraci&oacute;';
+$TEXT['FORGOT_DETAILS'] = 'Heu oblidat els Detalls?';
+$TEXT['LOGGED_IN'] = 'Identificat';
+$TEXT['WELCOME_BACK'] = 'Benvingut de nou';
+$TEXT['FULL_NAME'] = 'Nom Complet';
+$TEXT['ACCOUNT_SIGNUP'] = 'Registre de Compte';
+$TEXT['LINK'] = 'Enlla&ccedil;';
+$TEXT['ANCHOR'] = 'Anchor';
+$TEXT['TARGET'] = 'Dest&iacute;';
+$TEXT['NEW_WINDOW'] = 'Nova Finestra';
+$TEXT['SAME_WINDOW'] = 'La Mateixa Finestra';
+$TEXT['TOP_FRAME'] = 'Top Frame';
+$TEXT['PAGE_LEVEL_LIMIT'] = 'L&iacute;mit de Nivell de P&agrave;gina';
+$TEXT['SUCCESS'] = '&Egrave;xit';
+$TEXT['ERROR'] = 'Error';
+$TEXT['ARE_YOU_SURE'] = 'Esteu segur?';
+$TEXT['YES'] = 'S&iacute;';
+$TEXT['NO'] = 'No';
+$TEXT['SYSTEM_DEFAULT'] = 'Per Defecte del Sistema';
+$TEXT['PAGE_TITLE'] = 'T&iacute;tol de la P&agrave;gina';
+$TEXT['MENU_TITLE'] = 'T&iacute;tol del Men&uacute;';
+$TEXT['ACTIONS'] = 'Accions';
+$TEXT['UNKNOWN'] = 'Desconegut';
+$TEXT['BLOCK'] = 'Bloc';
+$TEXT['SEARCH'] = 'Cerca';
+$TEXT['SEARCHING'] = 'Recerca';
+$TEXT['POST'] = 'Missatge';
+$TEXT['COMMENT'] = 'Comentari';
+$TEXT['COMMENTS'] = 'Comentaris';
+$TEXT['COMMENTING'] = 'Comentaris';
+$TEXT['SHORT'] = 'Curt';
+$TEXT['LONG'] = 'Llarg';
+$TEXT['LOOP'] = 'Repetici&oacute;';
+$TEXT['FIELD'] = 'Camp';
+$TEXT['REQUIRED'] = 'Requerit';
+$TEXT['LENGTH'] = 'Longitud';
+$TEXT['MESSAGE'] = 'Missatge';
+$TEXT['SUBJECT'] = 'Assumpte';
+$TEXT['MATCH'] = 'Coincidir';
+$TEXT['ALL_WORDS'] = 'Totes les Paraules';
+$TEXT['ANY_WORDS'] = 'Qualsevol Paraula';
+$TEXT['EXACT_MATCH'] = 'Coincid&egrave;ncia Exacta';
+$TEXT['SHOW'] = 'Mostra';
+$TEXT['HIDE'] = 'Amaga';
+$TEXT['START_PUBLISHING'] = 'Inici de Publicaci&oacute;';
+$TEXT['FINISH_PUBLISHING'] = 'Fi de Publicaci&oacute;';
+$TEXT['DATE'] = 'Data';
+$TEXT['START'] = 'Inici';
+$TEXT['END'] = 'Fi';
+$TEXT['IMAGE'] = 'Imatge';
+$TEXT['ICON'] = 'Icona';
+$TEXT['SECTION'] = 'Secci&oacute;';
+$TEXT['DATE_FORMAT'] = 'Format de Data';
+$TEXT['TIME_FORMAT'] = 'Format de Temps';
+$TEXT['RESULTS'] = 'Resultats';
+$TEXT['RESIZE'] = 'Redimensiona';
+$TEXT['MANAGE'] = 'Administreu';
+$TEXT['CODE'] = 'Codi';
+$TEXT['WIDTH'] = 'Amplada';
+$TEXT['HEIGHT'] = 'Al&ccedil;ada';
+$TEXT['MORE'] = 'M&eacute;s';
+$TEXT['READ_MORE'] = 'Llegir M&eacute;s';
+$TEXT['CHANGE_SETTINGS'] = 'Canvia Par&agrave;metres';
+$TEXT['CURRENT_PAGE'] = 'P&agrave;gina Actual';
+$TEXT['CLOSE'] = 'Tanca';
+$TEXT['INTRO_PAGE'] = 'P&agrave;gina d\'Entrada';
+$TEXT['INSTALLATION_URL'] = 'URL d\'Instal&middot;laci&oacute;';
+$TEXT['INSTALLATION_PATH'] = 'Ruta d\'Instal&middot;laci&oacute;';
+$TEXT['PAGE_EXTENSION'] = 'Extensi&oacute; de P&agrave;gina';
+$TEXT['NO_RESULTS'] = 'Cap Resultat';
+$TEXT['WEBSITE_TITLE'] = 'T&iacute;tol del Lloc Web';
+$TEXT['WEBSITE_DESCRIPTION'] = 'Descripci&oacute; del Lloc Web';
+$TEXT['WEBSITE_KEYWORDS'] = 'Paraules clau del Lloc Web';
+$TEXT['WEBSITE_HEADER'] = 'Cap&ccedil;alera del Lloc Web';
+$TEXT['WEBSITE_FOOTER'] = 'Peu del Lloc Web';
+$TEXT['RESULTS_HEADER'] = 'Cap&ccedil;alera de Resultats';
+$TEXT['RESULTS_LOOP'] = 'Bucle de Resultats';
+$TEXT['RESULTS_FOOTER'] = 'Peu de Resultats';
+$TEXT['LEVEL'] = 'Nivell';
+$TEXT['NOT_FOUND'] = 'No Trobat';
+$TEXT['PAGE_SPACER'] = 'Separador de P&agrave;gina';
+$TEXT['MATCHING'] = 'Matching';
+$TEXT['TEMPLATE_PERMISSIONS'] = 'Permisos de Plantilla';
+$TEXT['PAGES_DIRECTORY'] = 'Directori de P&agrave;gines';
+$TEXT['MEDIA_DIRECTORY'] = 'Directori de Fitxers';
+$TEXT['FILE_MODE'] = 'Mode Fitxer';
+$TEXT['USER'] = 'Usuari';
+$TEXT['OTHERS'] = 'Altres';
+$TEXT['READ'] = 'Lectura';
+$TEXT['WRITE'] = 'Escriptura';
+$TEXT['EXECUTE'] = 'Execuci&oacute;';
+$TEXT['SMART_LOGIN'] = 'Identificaci&oacute; R&agrave;pida';
+$TEXT['REMEMBER_ME'] = 'Recorda les meues dades';
+$TEXT['FILESYSTEM_PERMISSIONS'] = 'Permisos del Sistema de Fitxers';
+$TEXT['DIRECTORIES'] = 'Directoris';
+$TEXT['DIRECTORY_MODE'] = 'Mode Directori';
+$TEXT['LIST_OPTIONS'] = 'Llista Opcions';
+$TEXT['OPTION'] = 'Opci&oacute;';
+$TEXT['ALLOW_MULTIPLE_SELECTIONS'] = 'Permetre Diverses Seleccions';
+$TEXT['TEXTFIELD'] = 'Camp de text';
+$TEXT['TEXTAREA'] = '&Agrave;rea de text';
+$TEXT['SELECT_BOX'] = 'Quadre de Selecci&oacute;';
+$TEXT['CHECKBOX_GROUP'] = 'Grup de quadres de verificaci&oacute;';
+$TEXT['RADIO_BUTTON_GROUP'] = 'Grup de Botons';
+$TEXT['SIZE'] = 'Mida';
+$TEXT['DEFAULT_TEXT'] = 'Text per defecte';
+$TEXT['SEPERATOR'] = 'Separador';
+$TEXT['BACK'] = 'Arrere';
+$TEXT['UNDER_CONSTRUCTION'] = 'En Construcci&oacute;';
+$TEXT['MULTISELECT'] = 'Multi-selecci&oacute;';
+$TEXT['SHORT_TEXT'] = 'Text Curt';
+$TEXT['LONG_TEXT'] = 'Text Llarg';
+$TEXT['HOMEPAGE_REDIRECTION'] = 'Redirecci&oacute; de P&agrave;gina Inicial';
+$TEXT['HEADING'] = 'Encap&ccedil;alament';
+$TEXT['MULTIPLE_MENUS'] = 'Diversos Men&uacute;s';
+$TEXT['REGISTERED'] = 'Registrat';
+$TEXT['SECTION_BLOCKS'] = 'Blocs de la Secci&oacute;';
+$TEXT['REGISTERED_VIEWERS'] = 'Visualitzadors Registrats';
+$TEXT['ALLOWED_VIEWERS'] = 'Allowed Viewers';
+$TEXT['SUBMISSION_ID'] = 'ID de Tramesa';
+$TEXT['SUBMISSIONS'] = 'Trameses';
+$TEXT['SUBMITTED'] = 'Tram&eacute;s';
+$TEXT['MAX_SUBMISSIONS_PER_HOUR'] = 'Trameses M&agrave;x. Per Hora';
+$TEXT['SUBMISSIONS_STORED_IN_DATABASE'] = 'Trameses Emmagatzemades a la Base de Dades';
+$TEXT['EMAIL_ADDRESS'] = 'Adre&ccedil;a de Correu';
+$TEXT['CUSTOM'] = 'Personalitzat';
+$TEXT['ANONYMOUS'] = 'An&ograve;nim';
+$TEXT['SERVER_OPERATING_SYSTEM'] = 'Sistema Operatiu del Servidor';
+$TEXT['WORLD_WRITEABLE_FILE_PERMISSIONS'] = 'Permisos d\'escriptura de fitxer per a tothom';
+$TEXT['LINUX_UNIX_BASED'] = 'Basat en Linux/Unix';
+$TEXT['WINDOWS'] = 'Windows';
+$TEXT['HOME_FOLDER'] = 'Carpeta de l\'usuari';
+$TEXT['HOME_FOLDERS'] = 'Carpetes dels usuaris';
+$TEXT['PAGE_TRASH'] = 'Paperera';
+$TEXT['INLINE'] = 'Inserida';
+$TEXT['SEPARATE'] = 'Separada';
+$TEXT['DELETED'] = 'Esborrat';
+$TEXT['VIEW_DELETED_PAGES'] = 'Mostra P&agrave;gines Esborrades';
+$TEXT['EMPTY_TRASH'] = 'Buida la Paperera';
+$TEXT['TRASH_EMPTIED'] = 'Paperera Buidada';
+$TEXT['ADD_SECTION'] = 'Afegeix Secci&oacute;';
+$TEXT['POST_HEADER'] = 'Post Header';
+$TEXT['POST_FOOTER'] = 'Post Footer';
+$TEXT['POSTS_PER_PAGE'] = 'Posts Per Page';
+$TEXT['RESIZE_IMAGE_TO'] = 'Redimensiona Imatge A';
+$TEXT['UNLIMITED'] = 'Il&middot;limitat';
+$TEXT['OF'] = 'De';
+$TEXT['OUT_OF'] = 'Fora De';
+$TEXT['NEXT'] = 'Seg&uuml;ent';
+$TEXT['PREVIOUS'] = 'Anterior';
+$TEXT['NEXT_PAGE'] = 'P&agrave;gina Seg&uuml;ent';
+$TEXT['PREVIOUS_PAGE'] = 'P&agrave;gina Anterior';
+$TEXT['ON'] = 'A';
+$TEXT['LAST_UPDATED_BY'] = '&Uacute;ltima Actualitzaci&oacute; Per';
+$TEXT['RESULTS_FOR'] = 'Resultats De';
+$TEXT['TIME'] = 'Temps';
+$TEXT['REDIRECT_AFTER'] = 'Redirect after';
+$TEXT['WYSIWYG_STYLE'] = 'Estil WYSIWYG';
+$TEXT['WYSIWYG_EDITOR'] = 'WYSIWYG Editor';
+$TEXT['SERVER_EMAIL'] = 'Correu del Servidor';
+$TEXT['MENU'] = 'Men&uacute;';
+$TEXT['MANAGE_GROUPS'] = 'Administra els Grups';
+$TEXT['MANAGE_USERS'] = 'Administra els Usuaris';
+$TEXT['PAGE_LANGUAGES'] = 'Idiomes de la p&agrave;gina';
+$TEXT['HIDDEN'] = 'Amagat';
+$TEXT['MAIN'] = 'Principal';
+$TEXT['RENAME_FILES_ON_UPLOAD'] = 'Rename Files On Upload';
+$TEXT['APP_NAME'] = 'Application Name';
+$TEXT['SESSION_IDENTIFIER'] = 'Session Identifier';
+$TEXT['SEC_ANCHOR'] = 'Section-Anchor text';
+$TEXT['BACKUP'] = 'Backup';
+$TEXT['RESTORE'] = 'Restore';
+$TEXT['BACKUP_DATABASE'] = 'Backup Database';
+$TEXT['RESTORE_DATABASE'] = 'Restore Database';
+$TEXT['BACKUP_ALL_TABLES'] = 'Backup all tables in database';
+$TEXT['BACKUP_WB_SPECIFIC'] = 'Backup only WB-specific tables';
+$TEXT['BACKUP_MEDIA'] = 'Backup Media';
+$TEXT['RESTORE_MEDIA'] = 'Restore Media';
+$TEXT['ADMINISTRATION_TOOL'] = 'Administration tool';
+$TEXT['CAPTCHA_VERIFICATION'] = 'Captcha Verification';
+$TEXT['VERIFICATION'] = 'Verification';
+$TEXT['DEFAULT_CHARSET'] = 'Default Charset';
+$TEXT['CHARSET'] = 'Charset';
+$TEXT['MODULE_ORDER'] = 'Module-order for searching';
+$TEXT['MAX_EXCERPT'] = 'Max lines of excerpt';
+$TEXT['TIME_LIMIT'] = 'Max time to gather excerpts per module';
+$TEXT['PUBL_START_DATE'] = 'Start date';
+$TEXT['PUBL_END_DATE'] = 'End date';
+$TEXT['CALENDAR'] = 'Calender';
+$TEXT['DELETE_DATE'] = 'Delete date';
+$TEXT['WBMAILER_DEFAULT_SETTINGS_NOTICE'] = 'Please specify a default "FROM" address and "SENDER" name below. It is recommended to use a FROM address like: <strong>admin@yourdomain.com</strong>. Some mail provider (e.g. <em>mail.com</em>) may reject mails with a FROM: address like <em>name@mail.com</em> sent via a foreign relay to avoid spam.<br /><br />The default values are only used if no other values are specified by WebsiteBaker. If your server supports <acronym title="Simple mail transfer protocol">SMTP</acronym>, you may want use this option for outgoing mails.';
+$TEXT['WBMAILER_DEFAULT_SENDER_MAIL'] = 'Default From Mail';
+$TEXT['WBMAILER_DEFAULT_SENDER_NAME'] = 'Default Sender Name';
+$TEXT['WBMAILER_NOTICE'] = '<strong>SMTP Mailer Settings:</strong><br />The settings below are only required if you want to send mails via <acronym title="Simple mail transfer protocol">SMTP</acronym>. If you do not know your SMTP host or you are not sure about the required settings, simply stay with the default mail routine: PHP MAIL.';
+$TEXT['WBMAILER_FUNCTION'] = 'Mail Routine';
+$TEXT['WBMAILER_SMTP_HOST'] = 'SMTP Host';
+$TEXT['WBMAILER_PHP'] = 'PHP MAIL';
+$TEXT['WBMAILER_SMTP'] = 'SMTP';
+$TEXT['WBMAILER_SMTP_AUTH'] = 'SMTP Authentification';
+$TEXT['WBMAILER_SMTP_AUTH_NOTICE'] = 'only activate if your SMTP host requires authentification';
+$TEXT['WBMAILER_SMTP_USERNAME'] = 'SMTP Username';
+$TEXT['WBMAILER_SMTP_PASSWORD'] = 'SMTP Password';
+$TEXT['PLEASE_LOGIN'] = 'Please login';
+$TEXT['CAP_EDIT_CSS'] = 'Edit CSS';
+$TEXT['HEADING_CSS_FILE'] = 'Actual module file: ';
+$TEXT['TXT_EDIT_CSS_FILE'] = 'Edit the CSS definitions in the textarea below.';
+$TEXT['CODE_SNIPPET'] = "Code-snippet";
+$TEXT['REQUIREMENT'] = "Requirement";
+$TEXT['INSTALLED'] = "installed";
+$TEXT['NOT_INSTALLED'] = "not installed";
+$TEXT['ADDON'] = "Add-On";
+$TEXT['EXTENSION'] = "Extension";
+$TEXT['UNZIP_FILE'] = "Upload and unpack a zip archive";
+$TEXT['DELETE_ZIP'] = "Delete zip archive after unpacking";
+
+// Success/error messages
+$MESSAGE['FRONTEND']['SORRY_NO_VIEWING_PERMISSIONS'] = 'Ho sentim, no teniu permisos per a veure aquesta p&agrave;gina';
+$MESSAGE['FRONTEND']['SORRY_NO_ACTIVE_SECTIONS'] = 'Sorry, no active content to display';
+
+$MESSAGE['ADMIN']['INSUFFICIENT_PRIVELLIGES'] = 'No teniu privilegis suficients per estar ac&iacute;';
+
+$MESSAGE['LOGIN']['BOTH_BLANK'] = 'Per favor introdu&iuml;u el vostre nom d\'usuari i contrasenya a baix';
+$MESSAGE['LOGIN']['USERNAME_BLANK'] = 'Per favor introdu&iuml;u un nom d\'usuari';
+$MESSAGE['LOGIN']['PASSWORD_BLANK'] = 'Per favor introdu&iuml;u una contrasenya';
+$MESSAGE['LOGIN']['USERNAME_TOO_SHORT'] = 'El nom d\'usuari &eacute;s massa curt';
+$MESSAGE['LOGIN']['PASSWORD_TOO_SHORT'] = 'La contrasenya &eacute;s massa curta';
+$MESSAGE['LOGIN']['USERNAME_TOO_LONG'] = 'El nom d\'usuari &eacute;s massa llarg';
+$MESSAGE['LOGIN']['PASSWORD_TOO_LONG'] = 'La contrasenya &eacute;s massa llarga';
+$MESSAGE['LOGIN']['AUTHENTICATION_FAILED'] = 'Nom d\'usuari o contrasenya incorrectes';
+
+$MESSAGE['SIGNUP']['NO_EMAIL'] = 'Heu d\'Introduir una adre&ccedil;a de correu';
+$MESSAGE['SIGNUP2']['SUBJECT_LOGIN_INFO'] = 'Your login details...';
+$MESSAGE['SIGNUP2']['BODY_LOGIN_INFO'] = <<< EOT
+Hello {LOGIN_DISPLAY_NAME},
+
+Your '{LOGIN_WEBSITE_TITLE}' login details are:
+Username: {LOGIN_NAME}
+Password: {LOGIN_PASSWORD}
+
+Your password has been set to the one above.
+This means that your old password will no longer work.
+
+If you have received this message in error, please delete it immediately.
+EOT;
+
+$MESSAGE['FORGOT_PASS']['NO_DATA'] = 'Per favor introdu&iuml;u la vostra adre&ccedil;a de correu a baix';
+$MESSAGE['FORGOT_PASS']['EMAIL_NOT_FOUND'] = 'El correu que heu introdu&iuml;t no s\'ha trobat a la base de dades';
+$MESSAGE['FORGOT_PASS']['CANNOT_EMAIL'] = 'No ha estat possible enviar la contrasenya, per favor contacteu amb l\'administrador del sistema';
+$MESSAGE['FORGOT_PASS']['PASSWORD_RESET'] = 'El nom d\'usuari i contrasenya han estat enviats a la vostra adre&ccedil;a de correu';
+$MESSAGE['FORGOT_PASS']['ALREADY_RESET'] = 'La contrasenya no es pot reiniciar m&eacute;s d\'un cop per hora, disculpeu';
+
+$MESSAGE['START']['WELCOME_MESSAGE'] = 'Benvingut/da al Panell de Control de WebsiteBaker';
+$MESSAGE['START']['INSTALL_DIR_EXISTS'] = 'Atenci&oacute;, el Directori d\'Instal&middot;laci&oacute; Encara Existeix!';
+$MESSAGE['START']['CURRENT_USER'] = 'Actualment esteu identificat com a:';
+
+$MESSAGE['SETTINGS']['UNABLE_OPEN_CONFIG'] = 'No ha estat possible obrir el fitxer de configuraci&oacute;';
+$MESSAGE['SETTINGS']['UNABLE_WRITE_CONFIG'] = 'No es pot escriure al fitxer de configuraci&oacute;';
+$MESSAGE['SETTINGS']['SAVED'] = 'Par&agrave;metres desats amb &egrave;xit';
+$MESSAGE['SETTINGS']['MODE_SWITCH_WARNING'] = 'Av&iacute;s: Pr&eacute;mer aquest bot&oacute; reinicia tots els canvis no desats';
+$MESSAGE['SETTINGS']['WORLD_WRITEABLE_WARNING'] = 'Av&iacute;s: a&ccedil;&ograve; nom&eacute;s &eacute;s recomana per a entorns de proves';
+
+$MESSAGE['USERS']['ADDED'] = 'Usuari afegit amb &egrave;xit';
+$MESSAGE['USERS']['SAVED'] = 'Usuari desat amb &egrave;xit';
+$MESSAGE['USERS']['DELETED'] = 'Usuari esborrat amb &egrave;xit';
+$MESSAGE['USERS']['NO_GROUP'] = 'No s\'ha seleccionat cap grup';
+$MESSAGE['USERS']['USERNAME_TOO_SHORT'] = 'El nom d\'usuari introdu&iuml;t &eacute;s massa curt';
+$MESSAGE['USERS']['PASSWORD_TOO_SHORT'] = 'La contrasenya introdu&iuml;da &eacute;s massa curta';
+$MESSAGE['USERS']['PASSWORD_MISMATCH'] = 'La contrasenya introdu&iuml;da no coincideix';
+$MESSAGE['USERS']['INVALID_EMAIL'] = 'L\'adre&ccedil;a de correu introdu&iuml;da &eacute;s inv&agrave;lida';
+$MESSAGE['USERS']['EMAIL_TAKEN'] = 'L\'adre&ccedil;a de correu que heu introdu&iuml;t ja est&agrave; en &uacute;s';
+$MESSAGE['USERS']['USERNAME_TAKEN'] = 'El nom d\'usuari introdu&iuml;t ja est&agrave; en &uacute;s';
+$MESSAGE['USERS']['CHANGING_PASSWORD'] = 'Av&iacute;s: Nom&eacute;s haur&iacute;eu d\'introduir valors als camps superiors si voleu canviar aquestes contrasenyes d\'usuari';
+$MESSAGE['USERS']['CONFIRM_DELETE'] = 'Esteu segur de voler esborrar l\'usuari seleccionat?';
+
+$MESSAGE['GROUPS']['ADDED'] = 'Grup afegit amb &egrave;xit';
+$MESSAGE['GROUPS']['SAVED'] = 'Grup desat amb &egrave;xit';
+$MESSAGE['GROUPS']['DELETED'] = 'Grup esborrat amb &egrave;xit';
+$MESSAGE['GROUPS']['GROUP_NAME_BLANK'] = 'El nom del grup &eacute;s buit';
+$MESSAGE['GROUPS']['CONFIRM_DELETE'] = 'Esteu segur de voler esborrar el grup seleccionat (i qualsevol usuari que pertanyi a aquest)?';
+$MESSAGE['GROUPS']['NO_GROUPS_FOUND'] = 'No s\'han trobat grups';
+$MESSAGE['GROUPS']['GROUP_NAME_EXISTS'] = 'Group name already exists';
+
+$MESSAGE['PREFERENCES']['DETAILS_SAVED'] = 'Dades desades amb &egrave;xit';
+$MESSAGE['PREFERENCES']['EMAIL_UPDATED'] = 'Correu actualitzat amb &egrave;xit';
+$MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT'] = 'La contrasenya (actual) que heu introdu&iuml;t &eacute;s incorrecta';
+$MESSAGE['PREFERENCES']['PASSWORD_CHANGED'] = 'Contrasenya canviada amb &egrave;xit';
+
+$MESSAGE['TEMPLATES']['CHANGE_TEMPLATE_NOTICE'] = 'Av&iacute;s: per a canviar la plantilla heu d\'anar a la secci&oacute; Par&agrave;metres';
+
+$MESSAGE['MEDIA']['DIR_DOT_DOT_SLASH'] = 'No es pot incloure ../ al nom de la carpeta';
+$MESSAGE['MEDIA']['DIR_DOES_NOT_EXIST'] = 'Directory does not exist';
+$MESSAGE['MEDIA']['TARGET_DOT_DOT_SLASH'] = 'No es pot tenir ../ a la carpeta de dest&iacute;';
+$MESSAGE['MEDIA']['NAME_DOT_DOT_SLASH'] = 'No es pot incloure ../ al nom';
+$MESSAGE['MEDIA']['NAME_INDEX_PHP'] = 'No es pot usar index.php com a nom';
+$MESSAGE['MEDIA']['NONE_FOUND'] = 'No s\'han trobat fitxers a la carpeta actual';
+$MESSAGE['MEDIA']['FILE_NOT_FOUND'] = 'Fitxer no trobat';
+$MESSAGE['MEDIA']['DELETED_FILE'] = 'Fitxer esborrat amb &egrave;xit';
+$MESSAGE['MEDIA']['DELETED_DIR'] = 'Carpeta esborrada amb &egrave;xit';
+$MESSAGE['MEDIA']['CONFIRM_DELETE'] = 'Esteu segur que voleu esborrar el seg&uuml;ent fitxer o carpeta?';
+$MESSAGE['MEDIA']['CANNOT_DELETE_FILE'] = 'No es pot esborrar el fitxer seleccionat';
+$MESSAGE['MEDIA']['CANNOT_DELETE_DIR'] = 'No es pot esborrar la carpeta seleccionada';
+$MESSAGE['MEDIA']['BLANK_NAME'] = 'No heu introdu&iuml;t un nou nom';
+$MESSAGE['MEDIA']['BLANK_EXTENSION'] = 'No heu introdu&iuml;t una extensi&oacute; de fitxer';
+$MESSAGE['MEDIA']['RENAMED'] = 'S\'ha canviat el nom amb &egrave;xit';
+$MESSAGE['MEDIA']['CANNOT_RENAME'] = 'No s\'ha pogut canviar el nom';
+$MESSAGE['MEDIA']['FILE_EXISTS'] = 'Ja existeix un fitxer amb el nom que heu introdu&iuml;t';
+$MESSAGE['MEDIA']['DIR_EXISTS'] = 'Ja existeix una carpeta amb el nom que heu introdu&iuml;t';
+$MESSAGE['MEDIA']['DIR_MADE'] = 'Carpeta creada amb &egrave;xit';
+$MESSAGE['MEDIA']['DIR_NOT_MADE'] = 'No s\'ha pogut crear la carpeta';
+$MESSAGE['MEDIA']['SINGLE_UPLOADED'] = ' fitxer s\'ha penjat amb &egrave;xit';
+$MESSAGE['MEDIA']['UPLOADED'] = ' fitxers han estat penjats amb &egrave;xit';
+
+$MESSAGE['PAGES']['ADDED'] = 'P&agrave;gina afegida amb &egrave;xit';
+$MESSAGE['PAGES']['ADDED_HEADING'] = 'Cap&ccedil;alera de p&agrave;gina afegida amb &egrave;xit';
+$MESSAGE['PAGES']['PAGE_EXISTS'] = 'Existeix una p&agrave;gina amb el mateix t&iacute;tol o similar';
+$MESSAGE['PAGES']['CANNOT_CREATE_ACCESS_FILE'] = 'Error creant el fitxer d\'acc&eacute;s al directori /pages (privilegis insuficients)';
+$MESSAGE['PAGES']['CANNOT_DELETE_ACCESS_FILE'] = 'Error esborrant el fitxer d\'acc&eacute;s al directori /pages (privilegis insuficients)';
+$MESSAGE['PAGES']['NOT_FOUND'] = 'No s\'ha trobat la p&agrave;gina';
+$MESSAGE['PAGES']['SAVED'] = 'P&agrave;gina desada amb &egrave;xit';
+$MESSAGE['PAGES']['SAVED_SETTINGS'] = 'Par&agrave;metres de p&agrave;gina desats amb &egrave;xit';
+$MESSAGE['PAGES']['NOT_SAVED'] = 'Error desant la p&agrave;gina';
+$MESSAGE['PAGES']['DELETE_CONFIRM'] = 'Esteu segur de voler esborrar la p&agrave;gina seleccionada';
+$MESSAGE['PAGES']['DELETED'] = 'P&agrave;gina esborrada amb &egrave;xit';
+$MESSAGE['PAGES']['RESTORED'] = 'P&agrave;gina restaurada amb &egrave;xit';
+$MESSAGE['PAGES']['BLANK_PAGE_TITLE'] = 'Per favor introdu&iuml;u un t&iacute;tol de p&agrave;gina';
+$MESSAGE['PAGES']['BLANK_MENU_TITLE'] = 'Per favor introdu&iuml;u un t&iacute;tol per al men&uacute;';
+$MESSAGE['PAGES']['REORDERED'] = 'P&agrave;gina re-ordenada amb &egrave;xit';
+$MESSAGE['PAGES']['CANNOT_REORDER'] = 'Error re-ordenant p&agrave;gina';
+$MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS'] = 'No teniu permisos per a modificar aquesta p&agrave;gina';
+$MESSAGE['PAGES']['INTRO_NOT_WRITABLE'] = 'No s\'ha pogut escriure al fitxer /pages/intro.php (privilegis insuficients)';
+$MESSAGE['PAGES']['INTRO_SAVED'] = 'P&agrave;gina d\'entrada desada amb &egrave;xit';
+$MESSAGE['PAGES']['LAST_MODIFIED'] = '&Uacute;ltima modificaci&oacute; per';
+$MESSAGE['PAGES']['INTRO_LINK'] = 'Premeu AC&Iacute; per a modificar la p&agrave;gina d\'entrada';
+$MESSAGE['PAGES']['SECTIONS_PROPERTIES_SAVED'] = 'Propietats de la secci&oacute; desades amb &egrave;xit';
+$MESSAGE['PAGES']['RETURN_TO_PAGES'] = 'Torna a les p&agrave;gines';
+
+$MESSAGE['GENERIC']['FILL_IN_ALL'] = 'Per favor torneu arrere i completeu tots els camps';
+$MESSAGE['GENERIC']['FILE_TYPE'] = 'Per favor recordeu que el fitxer que pengeu ha d\'estar en un dels seg&uuml;ents formats:';
+$MESSAGE['GENERIC']['FILE_TYPES'] = 'Per favor recordeu que els fitxers que pengeu han d\'estar en un dels seg&uuml;ents formats:';
+$MESSAGE['GENERIC']['CANNOT_UPLOAD'] = 'No s\'ha pogut penjar el fitxer';
+$MESSAGE['GENERIC']['ALREADY_INSTALLED'] = 'Ja est&agrave; instal&middot;lat';
+$MESSAGE['GENERIC']['NOT_INSTALLED'] = 'No est&agrave; instal&middot;lat';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL'] = 'No s\'ha pogut desinstal&middot;lar';
+$MESSAGE['GENERIC']['CANNOT_UNZIP'] = 'No s\'ha pogut descomprimir el fitxer';
+$MESSAGE['GENERIC']['INSTALLED'] = 'Instal&middot;lat amb &egrave;xit';
+$MESSAGE['GENERIC']['UPGRADED'] = 'Upgraded successfully';
+$MESSAGE['GENERIC']['UNINSTALLED'] = 'Desinstal&middot;lat amb &egrave;xit';
+$MESSAGE['GENERIC']['BAD_PERMISSIONS'] = 'No s\'ha pogut escriure al directori de dest&iacute;';
+$MESSAGE['GENERIC']['INVALID'] = 'El fitxer que heu penjat no &eacute;s v&agrave;lid';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE'] = 'No s\'ha pogut desinstal&middot;lar: s\'est&agrave; usant el fitxer seleccionat';
+
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL'] = "<br /><br />{{type}} <b>{{type_name}}</b> could not be uninstalled, because it is still in use on {{pages}}.<br /><br />";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL_PAGES'] = "this page;these pages";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IS_DEFAULT_TEMPLATE'] = "Can't uninstall the template <b>{{name}}</b>, because it is the default template!";
+
+$MESSAGE['GENERIC']['WEBSITE_UNDER_CONSTRUCTION'] = 'Lloc Web en Construcci&oacute;';
+$MESSAGE['GENERIC']['PLEASE_CHECK_BACK_SOON'] = 'Per favor torneu-ho a intentar prompte...';
+$MESSAGE['GENERIC']['PLEASE_BE_PATIENT'] = 'Please be patient, this might take a while.';
+$MESSAGE['GENERIC']['ERROR_OPENING_FILE'] = 'Error opening file.';
+$MESSAGE['GENERIC']['INVALID_ADDON_FILE'] = 'Invalid WebsiteBaker installation file. Please check the *.zip format.';
+$MESSAGE['GENERIC']['INVALID_LANGUAGE_FILE'] = 'Invalid WebsiteBaker language file. Please check the text file.';
+
+$MESSAGE['MOD_FORM']['REQUIRED_FIELDS'] = 'Heu d\'introduir les dades per als seg&uuml;ents camps';
+$MESSAGE['MOD_FORM']['EXCESS_SUBMISSIONS'] = 'Ho sentim, aquest formulari ha estat enviat massa vegades durant l\'&uacute;ltima hora. Per favor torneu-ho a intentar d\'ac&iacute; una hora.';
+$MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA'] = 'The verification number (also known as Captcha) that you entered is incorrect. If you are having problems reading the Captcha, please email: '.SERVER_EMAIL.'';
+
+$MESSAGE['ADDON']['RELOAD'] = 'Update database with information from Add-on files (e.g. after FTP upload).';
+$MESSAGE['ADDON']['ERROR_RELOAD'] = 'Error while updating the Add-On information.';
+$MESSAGE['ADDON']['MODULES_RELOADED'] = 'Modules reloaded successfully';
+$MESSAGE['ADDON']['TEMPLATES_RELOADED'] = 'Templates reloaded successfully';
+$MESSAGE['ADDON']['LANGUAGES_RELOADED'] = 'Languages reloaded successfully';
+$MESSAGE['ADDON']['PRECHECK_FAILED'] = 'Add-on installation failed. Your system does not fulfill the requirements of this Add-on. To make this Add-on working on your system, please fix the issues summarized below.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION'] = 'When modules are uploaded via FTP (not recommended), the module installation files <tt>install.php</tt>, <tt>upgrade.php</tt> or <tt>uninstall.php</tt> will not be executed automatically. Those modules may not work correct or do not uninstall properly.<br /><br />You can execute the module files manually for modules uploaded via FTP below.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION_WARNING'] = 'Warning: Existing module database entries will get lost. Only use this option if you experience problems with modules uploaded via FTP.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/languages/CA.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/languages/PT.php
===================================================================
--- tags/2.8.2/wb/languages/PT.php	(nonexistent)
+++ tags/2.8.2/wb/languages/PT.php	(revision 1481)
@@ -0,0 +1,595 @@
+<?php
+/**
+ *
+ * @category        framework
+ * @package         language
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// use languageedit-module to modify this file
+
+// Define that this file is loaded
+if(!defined('LANGUAGE_LOADED')) {
+define('LANGUAGE_LOADED', true);
+}
+
+// Set the language information
+$language_code = 'PT';
+$language_name = 'Portuguese (Brazil)';
+$language_version = '2.8';
+$language_platform = '2.8.x';
+$language_author = 'Daniel Neto';
+$language_license = 'GNU General Public License';
+
+// Menu titles
+$MENU['START'] = 'In&iacute;cio';
+$MENU['PAGES'] = 'P&aacute;ginas';
+$MENU['MEDIA'] = 'M&iacute;dia';
+$MENU['ADDONS'] = 'Add-ons';
+$MENU['MODULES'] = 'M&oacute;dulos';
+$MENU['TEMPLATES'] = 'Temas (Templates)';
+$MENU['LANGUAGES'] = 'Idiomas';
+$MENU['PREFERENCES'] = 'Prefer&ecirc;ncias';
+$MENU['SETTINGS'] = 'Configura&ccdil;&otilde;es';
+$MENU['ADMINTOOLS'] = 'Admin-Tools';
+$MENU['ACCESS'] = 'Acessos';
+$MENU['USERS'] = 'Usu&aacute;rios';
+$MENU['GROUPS'] = 'Grupos';
+$MENU['HELP'] = 'Ajuda';
+$MENU['VIEW'] = 'Visualizar';
+$MENU['LOGOUT'] = 'Log-out';
+$MENU['LOGIN'] = 'Login';
+$MENU['FORGOT'] = 'Receber Detalhes do Login';
+
+// Section overviews
+$OVERVIEW['START'] = 'Vis&atilde;o Geral da Administra&ccdil;&atilde;o';
+$OVERVIEW['PAGES'] = 'Gerencie as P&aacute;ginas do seu site...';
+$OVERVIEW['MEDIA'] = 'Gerencie os arquivos armazenados na pasta Media...';
+$OVERVIEW['MODULES'] = 'Gerencie os M&oacute;dulos do WebsiteBaker...';
+$OVERVIEW['TEMPLATES'] = 'Altere a apar&ecirc;ncia do seu site com temas(templates)...';
+$OVERVIEW['LANGUAGES'] = 'Gerencie os idiomas do seu website...';
+$OVERVIEW['PREFERENCES'] = 'Altere suas prefer&ecirc;ncias como email, senha, etc... ';
+$OVERVIEW['SETTINGS'] = 'Altere as configura&ccdil;&otilde;es do WebsiteBaker...';
+$OVERVIEW['USERS'] = 'Gerencie os usu&aacute;rios que podem logar no WebsiteBaker...';
+$OVERVIEW['GROUPS'] = 'Gerencie os grupos de usu&aacute;rios e suas permiss&otilde;es de sistema...';
+$OVERVIEW['HELP'] = 'D&uacute;vidas? Encontre respostas...';
+$OVERVIEW['VIEW'] = 'Visualize e navegue em seu website atrav&eacute;s de uma nova janela...';
+$OVERVIEW['ADMINTOOLS'] = 'Access the WebsiteBaker administration tools...';
+
+// Headings
+$HEADING['MODIFY_DELETE_PAGE'] = 'Modificar/Apagar P&aacute;gina';
+$HEADING['DELETED_PAGES'] = 'P&aacute;ginas apagadas';
+$HEADING['ADD_PAGE'] = 'Adicionar P&aacute;gina';
+$HEADING['ADD_HEADING'] = 'Adicionar Cabe&ccdil;alho';
+$HEADING['MODIFY_PAGE'] = 'Modificar P&aacute;gina';
+$HEADING['MODIFY_PAGE_SETTINGS'] = 'Modificar Configura&ccdil;&otilde;es da P&aacute;gina';
+$HEADING['MODIFY_ADVANCED_PAGE_SETTINGS'] = 'Modificar Configura&ccdil;&otilde;es Avan&ccdil;adas da P&aacute;gina';
+$HEADING['MANAGE_SECTIONS'] = 'Gerenciar Sess&otilde;es';
+$HEADING['MODIFY_INTRO_PAGE'] = 'Modificar P&aacute;gina de Introdu&ccdil;&atilde;o';
+
+$HEADING['BROWSE_MEDIA'] = 'Navegar pela M&iacute;dia';
+$HEADING['CREATE_FOLDER'] = 'Criar Pasta';
+$HEADING['UPLOAD_FILES'] = 'Enviar Arquivo(s)';
+
+$HEADING['INSTALL_MODULE'] = 'Instalar M&oacute;dulo';
+$HEADING['UNINSTALL_MODULE'] = 'Desinstalar M&oacute;dulo';
+$HEADING['MODULE_DETAILS'] = 'Detalhes do M&oacute;dulo';
+
+$HEADING['INSTALL_TEMPLATE'] = 'Instalar Tema (Template)';
+$HEADING['UNINSTALL_TEMPLATE'] = 'Desinstalar Tema (Template)';
+$HEADING['TEMPLATE_DETAILS'] = 'Detalhes do Tema (Template)';
+
+$HEADING['INSTALL_LANGUAGE'] = 'Instalar Idioma';
+$HEADING['UNINSTALL_LANGUAGE'] = 'Desinstalar Idioma';
+$HEADING['LANGUAGE_DETAILS'] = 'Detalhes do Idioma';
+
+$HEADING['MY_SETTINGS'] = 'Minhas Configura&ccdil;&otilde;es';
+$HEADING['MY_EMAIL'] = 'Meu Email';
+$HEADING['MY_PASSWORD'] = 'Minha Senha';
+
+$HEADING['GENERAL_SETTINGS'] = 'Configura&ccdil;&otilde;es Gerais';
+$HEADING['DEFAULT_SETTINGS'] = 'Configura&ccdil;&otilde;es Padr&atilde;o';
+$HEADING['SEARCH_SETTINGS'] = 'Configura&ccdil;&otilde;es de Busca';
+$HEADING['FILESYSTEM_SETTINGS'] = 'Configura&ccdil;&otilde;es de Sistema de Arquivos';
+$HEADING['SERVER_SETTINGS'] = 'Configura&ccdil;&otilde;es do Servidor';
+$HEADING['WBMAILER_SETTINGS'] = 'Mailer Settings';
+$HEADING['ADMINISTRATION_TOOLS'] = 'Ferramentas de Administra&ccdil;&atilde;o';
+
+$HEADING['MODIFY_DELETE_USER'] = 'Modificar/Apagar Usu&aacute;rio';
+$HEADING['ADD_USER'] = 'Adicionar Usu&aacute;rio';
+$HEADING['MODIFY_USER'] = 'Modificar Usu&aacute;rio';
+
+$HEADING['MODIFY_DELETE_GROUP'] = 'Modificar/Apagar Grupo';
+$HEADING['ADD_GROUP'] = 'Adicionar Grupo';
+$HEADING['MODIFY_GROUP'] = 'Modificar Grupo';
+
+$HEADING['ADDON_PRECHECK_FAILED'] = 'Add-On requirements not met';
+$HEADING['INVOKE_MODULE_FILES'] = 'Execute module files manually';
+
+// Other text
+$TEXT['OPEN'] = 'Open';
+$TEXT['ADD'] = 'Adicionar';
+$TEXT['MODIFY'] = 'Modificar';
+$TEXT['SETTINGS'] = 'Configura&ccdil;&otilde;es';
+$TEXT['DELETE'] = 'Apagar';
+$TEXT['SAVE'] = 'Salvar';
+$TEXT['RESET'] = 'Redefinir';
+$TEXT['LOGIN'] = 'Login';
+$TEXT['RELOAD'] = 'Recarregar';
+$TEXT['CANCEL'] = 'Cancelar';
+$TEXT['NAME'] = 'Nome';
+$TEXT['PLEASE_SELECT'] = 'Por Favor escolha';
+$TEXT['TITLE'] = 'T&iacute;tulo';
+$TEXT['PARENT'] = 'Parent';
+$TEXT['TYPE'] = 'Tipo';
+$TEXT['VISIBILITY'] = 'Visibilidade';
+$TEXT['PRIVATE'] = 'Privado';
+$TEXT['PUBLIC'] = 'P&uacute;blico';
+$TEXT['NONE'] = 'Nenhum';
+$TEXT['NONE_FOUND'] = 'Nada Encontrado';
+$TEXT['CURRENT'] = 'Atual';
+$TEXT['CHANGE'] = 'Alterar';
+$TEXT['WINDOW'] = 'Window';
+$TEXT['DESCRIPTION'] = 'Descri&ccdil;&atilde;o';
+$TEXT['KEYWORDS'] = 'Keywords';
+$TEXT['ADMINISTRATORS'] = 'Administrators';
+$TEXT['PRIVATE_VIEWERS'] = 'Private Viewers';
+$TEXT['EXPAND'] = 'Expand';
+$TEXT['COLLAPSE'] = 'Collapse';
+$TEXT['MOVE_UP'] = 'Mover para Cima';
+$TEXT['MOVE_DOWN'] = 'Mover para Baixo';
+$TEXT['RENAME'] = 'Renomear';
+$TEXT['MODIFY_SETTINGS'] = 'Modificar Configura&ccdil;&otilde;es';
+$TEXT['MODIFY_CONTENT'] = 'Modificar Conte&uacute;do';
+$TEXT['VIEW'] = 'Ver';
+$TEXT['UP'] = 'Cima';
+$TEXT['FORGOTTEN_DETAILS'] = 'Esqueceu suas credenciais?';
+$TEXT['NEED_TO_LOGIN'] = 'Precisar fazer log-in?';
+$TEXT['SEND_DETAILS'] = 'Enviar credenciais';
+$TEXT['USERNAME'] = 'Usu&aacute;rio';
+$TEXT['PASSWORD'] = 'Senha';
+$TEXT['HOME'] = 'Home';
+$TEXT['TARGET_FOLDER'] = 'Pasta Alvo';
+$TEXT['OVERWRITE_EXISTING'] = 'Substituir Existente';
+$TEXT['FILE'] = 'Arquivo';
+$TEXT['FILES'] = 'Arquivos';
+$TEXT['FOLDER'] = 'Pasta';
+$TEXT['FOLDERS'] = 'Pastas';
+$TEXT['CREATE_FOLDER'] = 'Criar Pasta';
+$TEXT['UPLOAD_FILES'] = 'Enviar Arquivo(s)';
+$TEXT['CURRENT_FOLDER'] = 'Pasta Atual';
+$TEXT['TO'] = 'Para';
+$TEXT['FROM'] = 'De';
+$TEXT['INSTALL'] = 'Instalar';
+$TEXT['UNINSTALL'] = 'Desinstalar';
+$TEXT['VIEW_DETAILS'] = 'Ver Detalhes';
+$TEXT['DISPLAY_NAME'] = 'Nome de Exibi&ccdil;&atilde;o';
+$TEXT['AUTHOR'] = 'Autor';
+$TEXT['VERSION'] = 'Vers&atilde;o';
+$TEXT['DESIGNED_FOR'] = 'Designado para';
+$TEXT['DESCRIPTION'] = 'Descri&ccdil;&atilde;o';
+$TEXT['EMAIL'] = 'Email';
+$TEXT['LANGUAGE'] = 'Idioma';
+$TEXT['TIMEZONE'] = 'Fuso Hor&aacute;rio';
+$TEXT['CURRENT_PASSWORD'] = 'Senha Atual';
+$TEXT['NEW_PASSWORD'] = 'Nova Senha';
+$TEXT['RETYPE_NEW_PASSWORD'] = 'Confirme a Nova Senha';
+$TEXT['ACTIVE'] = 'Ativo';
+$TEXT['DISABLED'] = 'Desabilitado';
+$TEXT['ENABLED'] = 'Habilitado';
+$TEXT['RETYPE_PASSWORD'] = 'Confirme a Senha';
+$TEXT['GROUP'] = 'Grupo';
+$TEXT['SYSTEM_PERMISSIONS'] = 'Permiss&otilde;es de Sistema';
+$TEXT['MODULE_PERMISSIONS'] = 'Permiss&otilde;es de M&oacute;dulo';
+$TEXT['SHOW_ADVANCED'] = 'Exibir Op&ccdil;&otilde;es Avan&ccdil;adas';
+$TEXT['HIDE_ADVANCED'] = 'Ocultar Op&ccdil;&otilde;es Avan&ccdil;adas';
+$TEXT['BASIC'] = 'B&aacute;sico';
+$TEXT['ADVANCED'] = 'Avan&ccdil;ado';
+$TEXT['WEBSITE'] = 'Website';
+$TEXT['DEFAULT'] = 'Padr&atilde;o';
+$TEXT['KEYWORDS'] = 'Keywords';
+$TEXT['TEXT'] = 'Texto';
+$TEXT['HEADER'] = 'Cabe&ccdil;alho';
+$TEXT['FOOTER'] = 'Rodap&eacute;';
+$TEXT['TEMPLATE'] = 'Tema (Template)';
+$TEXT['THEME'] = 'Backend-Theme';
+$TEXT['INSTALLATION'] = 'Instala&ccdil;&atilde;o';
+$TEXT['DATABASE'] = 'Banco de Dados';
+$TEXT['HOST'] = 'Host';
+$TEXT['INTRO'] = 'Introdu&ccdil;&atilde;o';
+$TEXT['PAGE'] = 'P&aacute;gina';
+$TEXT['SIGNUP'] = 'Inscrever';
+$TEXT['PHP_ERROR_LEVEL'] = 'PHP Error Reporting Level';
+$TEXT['ADMIN'] = 'Admin';
+$TEXT['PATH'] = 'Caminho';
+$TEXT['URL'] = 'URL';
+$TEXT['FRONTEND'] = 'Front-end';
+$TEXT['EXTENSION'] = 'Extens&atilde;o';
+$TEXT['TABLE_PREFIX'] = 'Prefixo da Tabela';
+$TEXT['CHANGES'] = 'Altera&ccdil;&otilde;es';
+$TEXT['ADMINISTRATION'] = 'Administra&ccdil;&atilde;o';
+$TEXT['FORGOT_DETAILS'] = 'Esqueceu as credenciais?';
+$TEXT['LOGGED_IN'] = 'Logado';
+$TEXT['WELCOME_BACK'] = 'Bem-Vindo';
+$TEXT['FULL_NAME'] = 'Nome Completo';
+$TEXT['ACCOUNT_SIGNUP'] = 'Assinatura de Conta';
+$TEXT['LINK'] = 'Link';
+$TEXT['ANCHOR'] = 'Anchor';
+$TEXT['TARGET'] = 'Target';
+$TEXT['NEW_WINDOW'] = 'New Window';
+$TEXT['SAME_WINDOW'] = 'Same Window';
+$TEXT['TOP_FRAME'] = 'Top Frame';
+$TEXT['PAGE_LEVEL_LIMIT'] = 'Limite de N&iacute;veis de P&aacute;gina';
+$TEXT['SUCCESS'] = 'Sucesso';
+$TEXT['ERROR'] = 'Erro';
+$TEXT['ARE_YOU_SURE'] = 'Voc&ecirc; tem certeza?';
+$TEXT['YES'] = 'Sim';
+$TEXT['NO'] = 'N&atilde;o';
+$TEXT['SYSTEM_DEFAULT'] = 'Padr&atilde;o do Sistema';
+$TEXT['PAGE_TITLE'] = 'T&iacute;tulo da P&aacute;gina';
+$TEXT['MENU_TITLE'] = 'T&iacute;tulo do Menu';
+$TEXT['ACTIONS'] = 'A&ccdil;&otilde;es';
+$TEXT['UNKNOWN'] = 'Desconhecido';
+$TEXT['BLOCK'] = 'Block';
+$TEXT['SEARCH'] = 'Busca';
+$TEXT['SEARCHING'] = 'Buscando';
+$TEXT['POST'] = 'Post';
+$TEXT['COMMENT'] = 'Coment&aacute;rio';
+$TEXT['COMMENTS'] = 'Coment&aacute;rios';
+$TEXT['COMMENTING'] = 'Coment&aacute;rios';
+$TEXT['SHORT'] = 'Curto';
+$TEXT['LONG'] = 'Longo';
+$TEXT['LOOP'] = 'La&ccdil;o de Repeti&ccdil;&atilde;o';
+$TEXT['FIELD'] = 'Campo';
+$TEXT['REQUIRED'] = 'Requerido';
+$TEXT['LENGTH'] = 'Tamanho';
+$TEXT['MESSAGE'] = 'Mensagem';
+$TEXT['SUBJECT'] = 'Assunto';
+$TEXT['MATCH'] = 'Possua';
+$TEXT['ALL_WORDS'] = 'Todas as Palavras';
+$TEXT['ANY_WORDS'] = 'Qualquer Palavra';
+$TEXT['EXACT_MATCH'] = 'Express&atilde;o Exata';
+$TEXT['SHOW'] = 'Exibir';
+$TEXT['HIDE'] = 'Ocultar';
+$TEXT['START_PUBLISHING'] = 'Start Publishing';
+$TEXT['FINISH_PUBLISHING'] = 'Finish Publishing';
+$TEXT['DATE'] = 'Data';
+$TEXT['START'] = 'In&iacute;cio';
+$TEXT['END'] = 'Fim';
+$TEXT['IMAGE'] = 'Imagem';
+$TEXT['ICON'] = '&Iacute;cone';
+$TEXT['SECTION'] = 'Sess&atilde;o';
+$TEXT['DATE_FORMAT'] = 'Formato de Data';
+$TEXT['TIME_FORMAT'] = 'Formato de Hora';
+$TEXT['RESULTS'] = 'Resultados';
+$TEXT['RESIZE'] = 'Redimentsionar';
+$TEXT['MANAGE'] = 'Gerenciar';
+$TEXT['CODE'] = 'C&oacute;digo';
+$TEXT['WIDTH'] = 'Altura';
+$TEXT['HEIGHT'] = 'Largura';
+$TEXT['MORE'] = 'Mais';
+$TEXT['READ_MORE'] = 'Leia Mais';
+$TEXT['CHANGE_SETTINGS'] = 'Alterar Configura&ccdil;&otilde;es';
+$TEXT['CURRENT_PAGE'] = 'P&aacute;gina Atual';
+$TEXT['CLOSE'] = 'Fechar';
+$TEXT['INTRO_PAGE'] = 'P&aacute;gina de Introdu&ccdil;&atilde;o';
+$TEXT['INSTALLATION_URL'] = 'URL de Instala&ccdil;&atilde;o';
+$TEXT['INSTALLATION_PATH'] = 'Caminho de Instala&ccdil;&atilde;o';
+$TEXT['PAGE_EXTENSION'] = 'Extens&atilde;o da P&aacute;gina';
+$TEXT['NO_RESULTS'] = 'Sem Resultados';
+$TEXT['WEBSITE_TITLE'] = 'T&iacute;tulo do Website';
+$TEXT['WEBSITE_DESCRIPTION'] = 'Descri&ccdil;&atilde;o do Website';
+$TEXT['WEBSITE_KEYWORDS'] = 'Website Keywords';
+$TEXT['WEBSITE_HEADER'] = 'Cabe&ccdil;alho do Website';
+$TEXT['WEBSITE_FOOTER'] = 'Rodap&eacute; do Website';
+$TEXT['RESULTS_HEADER'] = 'Cabe&ccdil;alho dos Resultados';
+$TEXT['RESULTS_LOOP'] = 'La&ccdil;o de Repeti&ccdil;&atilde;o dos Resultados';
+$TEXT['RESULTS_FOOTER'] = 'Rodap&eacute; dos Resultados';
+$TEXT['LEVEL'] = 'N&iacute;vel';
+$TEXT['NOT_FOUND'] = 'N&atilde;o Encotnrado';
+$TEXT['PAGE_SPACER'] = 'Espa&ccdil;ador de P&aacute;gina';
+$TEXT['MATCHING'] = 'Matching';
+$TEXT['TEMPLATE_PERMISSIONS'] = 'Permiss&otilde;es do Tema (Template)';
+$TEXT['PAGES_DIRECTORY'] = 'Diret&oacute;rio de P&aacute;ginas';
+$TEXT['MEDIA_DIRECTORY'] = 'Diret&oacute;rio de M&iacute;dia';
+$TEXT['FILE_MODE'] = 'Modo de Arquivo';
+$TEXT['USER'] = 'Usu&aacute;rio';
+$TEXT['OTHERS'] = 'Outros';
+$TEXT['READ'] = 'Ler';
+$TEXT['WRITE'] = 'Escrever';
+$TEXT['EXECUTE'] = 'Executar';
+$TEXT['SMART_LOGIN'] = 'Login Inteligente';
+$TEXT['REMEMBER_ME'] = 'Lembrar-me';
+$TEXT['FILESYSTEM_PERMISSIONS'] = 'Permiss&otilde;es de Sistema de Arquivos';
+$TEXT['DIRECTORIES'] = 'Diret&oacute;rios';
+$TEXT['DIRECTORY_MODE'] = 'Modo de Diret&oacute;rio';
+$TEXT['LIST_OPTIONS'] = 'Op&ccdil;&otilde;es de Lista';
+$TEXT['OPTION'] = 'Op&ccdil;&atilde;o';
+$TEXT['ALLOW_MULTIPLE_SELECTIONS'] = 'Permitir Multipla Sele&ccdil;&atilde;o';
+$TEXT['TEXTFIELD'] = 'Textfield';
+$TEXT['TEXTAREA'] = 'Textarea';
+$TEXT['SELECT_BOX'] = 'Select Box';
+$TEXT['CHECKBOX_GROUP'] = 'Checkbox Group';
+$TEXT['RADIO_BUTTON_GROUP'] = 'Radio Button Group';
+$TEXT['SIZE'] = 'Tamanho';
+$TEXT['DEFAULT_TEXT'] = 'Testo Padr&atilde;o';
+$TEXT['SEPERATOR'] = 'Separador';
+$TEXT['BACK'] = 'Volta';
+$TEXT['UNDER_CONSTRUCTION'] = 'Em Constru&ccdil;&atilde;o';
+$TEXT['MULTISELECT'] = 'Multipla-Sele&ccdil;&atilde;o';
+$TEXT['SHORT_TEXT'] = 'Texto Curto';
+$TEXT['LONG_TEXT'] = 'Texto Longo';
+$TEXT['HOMEPAGE_REDIRECTION'] = 'Redirecionamento de P&aacute;gina';
+$TEXT['HEADING'] = 'Cabe&ccdil;alho';
+$TEXT['MULTIPLE_MENUS'] = 'M&uacute;ltiplos Menus';
+$TEXT['REGISTERED'] = 'Registrado';
+$TEXT['SECTION_BLOCKS'] = 'Section Blocks';
+$TEXT['REGISTERED_VIEWERS'] = 'Registered Viewers';
+$TEXT['ALLOWED_VIEWERS'] = 'Allowed Viewers';
+$TEXT['SUBMISSION_ID'] = 'Submission ID';
+$TEXT['SUBMISSIONS'] = 'Submiss&otilde;es';
+$TEXT['SUBMITTED'] = 'Submetido';
+$TEXT['MAX_SUBMISSIONS_PER_HOUR'] = 'Max. Submiss&otilde;es por Hora';
+$TEXT['SUBMISSIONS_STORED_IN_DATABASE'] = 'Submiss&otilde;es armazenadas no banco de dados';
+$TEXT['EMAIL_ADDRESS'] = 'Endre&ccdil;or de Email';
+$TEXT['CUSTOM'] = 'Pr&oacute;prio';
+$TEXT['ANONYMOUS'] = 'An&ocirc;nimo';
+$TEXT['SERVER_OPERATING_SYSTEM'] = 'Sistema Operacional do Servidor';
+$TEXT['WORLD_WRITEABLE_FILE_PERMISSIONS'] = 'World-writeable file permissions';
+$TEXT['LINUX_UNIX_BASED'] = 'Linux/Unix based';
+$TEXT['WINDOWS'] = 'Windows';
+$TEXT['HOME_FOLDER'] = 'Home Folder';
+$TEXT['HOME_FOLDERS'] = 'Home Folders';
+$TEXT['PAGE_TRASH'] = 'Page Trash';
+$TEXT['INLINE'] = 'In-line';
+$TEXT['SEPARATE'] = 'Separado';
+$TEXT['DELETED'] = 'Apagado';
+$TEXT['VIEW_DELETED_PAGES'] = 'Exibir P&aacute;ginas Exclu&iacute;das';
+$TEXT['EMPTY_TRASH'] = 'Esvaziar Lixeira';
+$TEXT['TRASH_EMPTIED'] = 'Lixiera Vazia';
+$TEXT['ADD_SECTION'] = 'Adicionar Sess&atilde;o';
+$TEXT['POST_HEADER'] = 'Cabe&ccdil;alho do Post';
+$TEXT['POST_FOOTER'] = 'Rodap&eacute; do Post';
+$TEXT['POSTS_PER_PAGE'] = 'Posts por P&aacute;gina';
+$TEXT['RESIZE_IMAGE_TO'] = 'Redimensionar Imagem Para';
+$TEXT['UNLIMITED'] = 'Ilimitado';
+$TEXT['OF'] = 'de';
+$TEXT['OUT_OF'] = 'Out Of';
+$TEXT['NEXT'] = 'Pr&oacute;ximo';
+$TEXT['PREVIOUS'] = 'Anterior';
+$TEXT['NEXT_PAGE'] = 'Pr&oacute;xima P&aacute;gina';
+$TEXT['PREVIOUS_PAGE'] = 'P&aacute;gina Anterior';
+$TEXT['ON'] = 'On';
+$TEXT['LAST_UPDATED_BY'] = '&Uacute;ltima atualiza&ccdil;&atilde;o por';
+$TEXT['RESULTS_FOR'] = 'Resultados para';
+$TEXT['TIME'] = 'Hora';
+$TEXT['REDIRECT_AFTER'] = 'Redirect after';
+$TEXT['WYSIWYG_STYLE'] = 'WYSIWYG Style';
+$TEXT['WYSIWYG_EDITOR'] = 'WYSIWYG Editor';
+$TEXT['SERVER_EMAIL'] = 'Servidor de Email';
+$TEXT['MENU'] = 'Menu';
+$TEXT['MANAGE_GROUPS'] = 'Gerenciar Grupos';
+$TEXT['MANAGE_USERS'] = 'Gerenciar Usu&aacute;rios';
+$TEXT['PAGE_LANGUAGES'] = 'Idioma da P&aacute;gina';
+$TEXT['HIDDEN'] = 'Oculto';
+$TEXT['MAIN'] = 'Principal';
+$TEXT['RENAME_FILES_ON_UPLOAD'] = 'Renomear Arquivos ao Enviar';
+$TEXT['APP_NAME'] = 'Nome da Aplica&ccdil;&atilde;o';
+$TEXT['SESSION_IDENTIFIER'] = 'Identificador de Sess&atilde;o';
+$TEXT['SEC_ANCHOR'] = 'Section-Anchor text';
+$TEXT['BACKUP'] = 'Backup';
+$TEXT['RESTORE'] = 'Restaurar';
+$TEXT['BACKUP_DATABASE'] = 'Backup do Banco de Dados';
+$TEXT['RESTORE_DATABASE'] = 'Restaurar Banco de Dados';
+$TEXT['BACKUP_ALL_TABLES'] = 'Backup de Todas as Tabelas no Banco de Dados';
+$TEXT['BACKUP_WB_SPECIFIC'] = 'Backup somente tabelas espec&iacute;ficas';
+$TEXT['BACKUP_MEDIA'] = 'Backup M&iacute;dia';
+$TEXT['RESTORE_MEDIA'] = 'Restaurar M&iacute;dia';
+$TEXT['ADMINISTRATION_TOOL'] = 'Ferramenta de Administra&ccdil;&atilde;o';
+$TEXT['CAPTCHA_VERIFICATION'] = 'Verifica&ccdil;&atilde;o Captcha';
+$TEXT['VERIFICATION'] = 'Verifica&ccdil;&atilde;o';
+$TEXT['DEFAULT_CHARSET'] = 'Codifica&ccdil;&atilde;o Padr&atilde;o';
+$TEXT['CHARSET'] = 'Charset';
+$TEXT['MODULE_ORDER'] = 'Module-order for searching';
+$TEXT['MAX_EXCERPT'] = 'Max lines of excerpt';
+$TEXT['TIME_LIMIT'] = 'Max time to gather excerpts per module';
+$TEXT['PUBL_START_DATE'] = 'Start date';
+$TEXT['PUBL_END_DATE'] = 'End date';
+$TEXT['CALENDAR'] = 'Calender';
+$TEXT['DELETE_DATE'] = 'Delete date';
+$TEXT['WBMAILER_DEFAULT_SETTINGS_NOTICE'] = 'Please specify a default "FROM" address and "SENDER" name below. It is recommended to use a FROM address like: <strong>admin@yourdomain.com</strong>. Some mail provider (e.g. <em>mail.com</em>) may reject mails with a FROM: address like <em>name@mail.com</em> sent via a foreign relay to avoid spam.<br /><br />The default values are only used if no other values are specified by WebsiteBaker. If your server supports <acronym title="Simple mail transfer protocol">SMTP</acronym>, you may want use this option for outgoing mails.';
+$TEXT['WBMAILER_DEFAULT_SENDER_MAIL'] = 'Default From Mail';
+$TEXT['WBMAILER_DEFAULT_SENDER_NAME'] = 'Default Sender Name';
+$TEXT['WBMAILER_NOTICE'] = '<strong>SMTP Mailer Settings:</strong><br />The settings below are only required if you want to send mails via <acronym title="Simple mail transfer protocol">SMTP</acronym>. If you do not know your SMTP host or you are not sure about the required settings, simply stay with the default mail routine: PHP MAIL.';
+$TEXT['WBMAILER_FUNCTION'] = 'Mail Routine';
+$TEXT['WBMAILER_SMTP_HOST'] = 'SMTP Host';
+$TEXT['WBMAILER_PHP'] = 'PHP MAIL';
+$TEXT['WBMAILER_SMTP'] = 'SMTP';
+$TEXT['WBMAILER_SMTP_AUTH'] = 'SMTP Authentification';
+$TEXT['WBMAILER_SMTP_AUTH_NOTICE'] = 'only activate if your SMTP host requires authentification';
+$TEXT['WBMAILER_SMTP_USERNAME'] = 'SMTP Username';
+$TEXT['WBMAILER_SMTP_PASSWORD'] = 'SMTP Password';
+$TEXT['PLEASE_LOGIN'] = 'Please login';
+$TEXT['CAP_EDIT_CSS'] = 'Edit CSS';
+$TEXT['HEADING_CSS_FILE'] = 'Actual module file: ';
+$TEXT['TXT_EDIT_CSS_FILE'] = 'Edit the CSS definitions in the textarea below.';
+$TEXT['CODE_SNIPPET'] = "Code-snippet";
+$TEXT['REQUIREMENT'] = "Requirement";
+$TEXT['INSTALLED'] = "installed";
+$TEXT['NOT_INSTALLED'] = "not installed";
+$TEXT['ADDON'] = "Add-On";
+$TEXT['EXTENSION'] = "Extension";
+$TEXT['UNZIP_FILE'] = "Upload and unpack a zip archive";
+$TEXT['DELETE_ZIP'] = "Delete zip archive after unpacking";
+
+// Success/error messages
+$MESSAGE['FRONTEND']['SORRY_NO_VIEWING_PERMISSIONS'] = 'Desculpe, voc&ecirc; n&atilde;o tem permiss&atilde;o para ver essa p&aacute;gina';
+$MESSAGE['FRONTEND']['SORRY_NO_ACTIVE_SECTIONS'] = 'Sorry, no active content to display';
+
+$MESSAGE['ADMIN']['INSUFFICIENT_PRIVELLIGES'] = 'Privil&eacute;gios Insuficientes para estar aqui';
+
+$MESSAGE['LOGIN']['BOTH_BLANK'] = 'Favor inserir usu&aacute;rio e senha abaixo';
+$MESSAGE['LOGIN']['USERNAME_BLANK'] = 'Favor Inserir o usu&aacute;rio';
+$MESSAGE['LOGIN']['PASSWORD_BLANK'] = 'Favor Inserir a senha';
+$MESSAGE['LOGIN']['USERNAME_TOO_SHORT'] = 'O usu&aacute;rio fornecido &eacute; curto demais';
+$MESSAGE['LOGIN']['PASSWORD_TOO_SHORT'] = 'A senha fornecida &eacute; curta demais';
+$MESSAGE['LOGIN']['USERNAME_TOO_LONG'] = 'O usu&aacute;rio fornecido &eacute; longo demais';
+$MESSAGE['LOGIN']['PASSWORD_TOO_LONG'] = 'A senha fornecida &eacute; longa demais';
+$MESSAGE['LOGIN']['AUTHENTICATION_FAILED'] = 'Usu&aacute;rio ou senha incorretos';
+
+$MESSAGE['SIGNUP']['NO_EMAIL'] = 'Voc&ecirc; precisa informar um endere&ccdil;o de email';
+$MESSAGE['SIGNUP2']['SUBJECT_LOGIN_INFO'] = 'Your login details...';
+$MESSAGE['SIGNUP2']['BODY_LOGIN_INFO'] = <<< EOT
+Hello {LOGIN_DISPLAY_NAME},
+
+Your '{LOGIN_WEBSITE_TITLE}' login details are:
+Username: {LOGIN_NAME}
+Password: {LOGIN_PASSWORD}
+
+Your password has been set to the one above.
+This means that your old password will no longer work.
+
+If you have received this message in error, please delete it immediately.
+EOT;
+
+$MESSAGE['FORGOT_PASS']['NO_DATA'] = 'Favor inserir seu email abaixo';
+$MESSAGE['FORGOT_PASS']['EMAIL_NOT_FOUND'] = 'O email informado n&atilde;o pode ser encontrado no banco de dados';
+$MESSAGE['FORGOT_PASS']['CANNOT_EMAIL'] = 'N&atilde;o foi poss&iacute;vel enviar a senha, favor contatar o administrador do sistema';
+$MESSAGE['FORGOT_PASS']['PASSWORD_RESET'] = 'Seu usu&aacute;rio e senha foram enviados para seu endere&ccdil;o de email';
+$MESSAGE['FORGOT_PASS']['ALREADY_RESET'] = 'A senha n&atilde;o pode ser redefinida mais de uma vez por hora, desculpe';
+
+$MESSAGE['START']['WELCOME_MESSAGE'] = 'Bem-Vindo &agrave; Administra&ccdil;&atilde;o do WebsiteBaker';
+$MESSAGE['START']['INSTALL_DIR_EXISTS'] = 'Aviso, O diret&oacute;rio "INSTALL" ainda existe!';
+$MESSAGE['START']['CURRENT_USER'] = 'Voc&ecirc; est&aacute; logado como:';
+
+$MESSAGE['SETTINGS']['UNABLE_OPEN_CONFIG'] = 'N&atilde;o foi possivel abrir o arquivo de configura&ccdil;&atilde;o';
+$MESSAGE['SETTINGS']['UNABLE_WRITE_CONFIG'] = 'N&atilde;o foi possivel gravar no aquivo de configura&ccdil;&atilde;o';
+$MESSAGE['SETTINGS']['SAVED'] = 'Altera&ccdil;&otilde;es armazenadas com sucesso';
+$MESSAGE['SETTINGS']['MODE_SWITCH_WARNING'] = 'Aten&ccdil;&atilde;o: Pressionando esse bot&atilde;o, todas as altera&ccdil;&otilde;es n&atilde;o salvas, ser&atilde;o perdidas';
+$MESSAGE['SETTINGS']['WORLD_WRITEABLE_WARNING'] = 'Aten&ccdil;&atilde;o: Somente recomendado para ambientes de teste';
+
+$MESSAGE['USERS']['ADDED'] = 'Usu&aacute;rio adicionado com sucesso';
+$MESSAGE['USERS']['SAVED'] = 'Usu&aacute;rio armazenado com sucesso';
+$MESSAGE['USERS']['DELETED'] = 'Usu&aacute;rio apagado com sucesso';
+$MESSAGE['USERS']['NO_GROUP'] = 'Nenhum grupo selecionado';
+$MESSAGE['USERS']['USERNAME_TOO_SHORT'] = 'O usu&aacute;rio fornecido &eacute; curto demais';
+$MESSAGE['USERS']['PASSWORD_TOO_SHORT'] = 'A senha fornecida &eacute; curta demais';
+$MESSAGE['USERS']['PASSWORD_MISMATCH'] = 'As senhas fornecidas n&atilde;o conferem';
+$MESSAGE['USERS']['INVALID_EMAIL'] = 'O email fornecido &eacute; inv&aacute;lido';
+$MESSAGE['USERS']['EMAIL_TAKEN'] = 'O endere&ccdil;o de email informado j&aacute; est&aacute; sendo utilizado';
+$MESSAGE['USERS']['USERNAME_TAKEN'] = 'O usu&aacute;rio informado j&aacute; est&aacute; sendo utilizado';
+$MESSAGE['USERS']['CHANGING_PASSWORD'] = 'Aten&ccdil;&atilde;o: Voc&ecirc; deve preencher os campos abaixo se deseja alterar a senha';
+$MESSAGE['USERS']['CONFIRM_DELETE'] = 'Voc&ecirc; tem certeza que deseja apagar o usu&aacute;rio selecionado?';
+
+$MESSAGE['GROUPS']['ADDED'] = 'Grupo adicionado com sucesso';
+$MESSAGE['GROUPS']['SAVED'] = 'Grupo armazenado com sucesso';
+$MESSAGE['GROUPS']['DELETED'] = 'Grupo apagado com sucesso';
+$MESSAGE['GROUPS']['GROUP_NAME_BLANK'] = 'O nome do grupo est&aacute; em branco';
+$MESSAGE['GROUPS']['CONFIRM_DELETE'] = 'Voc&ecirc; tem certeza que deseja apagar o grupo selecionado (e usu&aacute;rios pertencentes ao grupo)?';
+$MESSAGE['GROUPS']['NO_GROUPS_FOUND'] = 'N&atilde;o foram encotrados grupos';
+$MESSAGE['GROUPS']['GROUP_NAME_EXISTS'] = 'Nome do Grupo j&aacute; existe';
+
+$MESSAGE['PREFERENCES']['DETAILS_SAVED'] = 'Detalhes armazenados  com sucesso';
+$MESSAGE['PREFERENCES']['EMAIL_UPDATED'] = 'Email atualizado com sucesso';
+$MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT'] = 'A senha(atual) informada n&atilde;o est&aacute; correta';
+$MESSAGE['PREFERENCES']['PASSWORD_CHANGED'] = 'Senha alterada com sucesso';
+
+$MESSAGE['TEMPLATES']['CHANGE_TEMPLATE_NOTICE'] = 'Aten&ccdil;&atilde;o: para alterar o tema (template) voc&ecirc; precisa ir at&eacute; a sess&atilde;o Configura&ccdil;&otilde;es';
+
+$MESSAGE['MEDIA']['DIR_DOT_DOT_SLASH'] = 'N&atilde;o foi poss&iacute;vel incluir ../ no nome da pasta';
+$MESSAGE['MEDIA']['DIR_DOES_NOT_EXIST'] = 'Diret&oacute;rio n&atilde;o existe';
+$MESSAGE['MEDIA']['TARGET_DOT_DOT_SLASH'] = 'N&atilde;o pode possuir ../ na pasta alvo';
+$MESSAGE['MEDIA']['NAME_DOT_DOT_SLASH'] = 'N&atilde;o foi possivel incluir ../ no nome';
+$MESSAGE['MEDIA']['NAME_INDEX_PHP'] = 'N&atilde;o &eacute; possivel usar index.php como nome';
+$MESSAGE['MEDIA']['NONE_FOUND'] = 'Nenhuma arquivo de m&iacute;dia encontrado na pasta atual';
+$MESSAGE['MEDIA']['FILE_NOT_FOUND'] = 'Arquivo n&atilde;o encontrado';
+$MESSAGE['MEDIA']['DELETED_FILE'] = 'Arquivo apagado com sucesso';
+$MESSAGE['MEDIA']['DELETED_DIR'] = 'Pasta apagada com sucesso';
+$MESSAGE['MEDIA']['CONFIRM_DELETE'] = 'Tem certeza que deseja apagar o seguinte arquivo ou pasta?';
+$MESSAGE['MEDIA']['CANNOT_DELETE_FILE'] = 'N&atilde;o foi poss&iacute;vel apagar o arquivo selecionado';
+$MESSAGE['MEDIA']['CANNOT_DELETE_DIR'] = 'N&atilde;o foi poss&iacute;vel apagar a pasta selecionada';
+$MESSAGE['MEDIA']['BLANK_NAME'] = 'Voc&ecirc; n&atilde;o inseriu um nome novo';
+$MESSAGE['MEDIA']['BLANK_EXTENSION'] = 'Voc&ecirc; n&atilde;o inseriou uma extens&atilde;o de arquivo';
+$MESSAGE['MEDIA']['RENAMED'] = 'Renomeado com sucesso';
+$MESSAGE['MEDIA']['CANNOT_RENAME'] = 'Erro ao Renomear';
+$MESSAGE['MEDIA']['FILE_EXISTS'] = 'Um arquivo com esse nome j&aacute; existe';
+$MESSAGE['MEDIA']['DIR_EXISTS'] = 'Uma pasta com esse nome j&aacute; existe';
+$MESSAGE['MEDIA']['DIR_MADE'] = 'Pasta criada com sucesso';
+$MESSAGE['MEDIA']['DIR_NOT_MADE'] = 'N&atilde;o foi poss&iacute;vel criar a pasta';
+$MESSAGE['MEDIA']['SINGLE_UPLOADED'] = ' arquivo enviado com sucesso';
+$MESSAGE['MEDIA']['UPLOADED'] = ' arquivos enviados com sucesso';
+
+$MESSAGE['PAGES']['ADDED'] = 'P&aacute;gina adicionada com sucesso';
+$MESSAGE['PAGES']['ADDED_HEADING'] = 'Cabe&ccdil;alho da P&aacute;gina adicionado com sucesso.';
+$MESSAGE['PAGES']['PAGE_EXISTS'] = 'Uma p&aacute;gina com o mesmo nome ou similar j&aacute; existe';
+$MESSAGE['PAGES']['CANNOT_CREATE_ACCESS_FILE'] = 'Erro ao criar o arquivo no diret&oacute;rio /pages (Privil&eacute;gios Insuficientes)';
+$MESSAGE['PAGES']['CANNOT_DELETE_ACCESS_FILE'] = 'Erro ao apagar o arquivo no diret&oacute;rio /pages (Privil&eacute;gios Insuficientes)';
+$MESSAGE['PAGES']['NOT_FOUND'] = 'P&aacute;gina n&atilde;o encontrada';
+$MESSAGE['PAGES']['SAVED'] = 'P&aacute;gina armazenada com sucesso';
+$MESSAGE['PAGES']['SAVED_SETTINGS'] = 'Configura&ccdil;&otilde;es de P&aacute;gina armazenadas com sucesso';
+$MESSAGE['PAGES']['NOT_SAVED'] = 'Erro ao armazenar a p&aacute;gina';
+$MESSAGE['PAGES']['DELETE_CONFIRM'] = 'Tem certeza que deseja apagar a p&aacute;gina selecionada(e todas as suas sub-p&aacute;ginas)';
+$MESSAGE['PAGES']['DELETED'] = 'P&aacute;gina apagada com sucesso';
+$MESSAGE['PAGES']['RESTORED'] = 'Pagina Restaurada com sucesso';
+$MESSAGE['PAGES']['BLANK_PAGE_TITLE'] = 'Favor Inserir T&iacute;tulo da P&aacute;gina';
+$MESSAGE['PAGES']['BLANK_MENU_TITLE'] = 'Favor Inserir T&iacute;tulo do Menu';
+$MESSAGE['PAGES']['REORDERED'] = 'Re-ordena&ccdil;&atilde;o feita com sucesso';
+$MESSAGE['PAGES']['CANNOT_REORDER'] = 'Erro na re-ordena&ccdil;&atilde;o da p&aacute;gina';
+$MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS'] = 'Voc&ecirc; n&atilde;o tem permiss&atilde;o para Modificar essa p&aacute;gina';
+$MESSAGE['PAGES']['INTRO_NOT_WRITABLE'] = 'N&atilde;o foi poss&iacute;vel gravar o arquivo /pages/intro.php (Privil&eacute;gios Insuficientes)';
+$MESSAGE['PAGES']['INTRO_SAVED'] = 'P&aacute;gina de Introdu&ccdil;&atilde;o armazenada com sucesso';
+$MESSAGE['PAGES']['LAST_MODIFIED'] = '&Uacute;ltima modifica&ccdil;&atilde;o por';
+$MESSAGE['PAGES']['INTRO_LINK'] = 'Clique AQUI para modificar a P&aacute;gina de Introdu&ccdil;&atilde;o';
+$MESSAGE['PAGES']['SECTIONS_PROPERTIES_SAVED'] = 'Propriedades da Sess&atilde;o foram armazenadas com sucesso';
+$MESSAGE['PAGES']['RETURN_TO_PAGES'] = 'Retornar &agrave; P&aacute;ginas';
+
+$MESSAGE['GENERIC']['FILL_IN_ALL'] = 'Favor retornar e preencher todos os campos';
+$MESSAGE['GENERIC']['FILE_TYPE'] = 'O arquivo a ser enviado precisa ser do seguinte formato:';
+$MESSAGE['GENERIC']['FILE_TYPES'] = 'O arquivo a ser enviado precisa ser de algum dos seguintes formatos:';
+$MESSAGE['GENERIC']['CANNOT_UPLOAD'] = 'N&atilde;o foi poss&iacute;vel enviar o arquivo';
+$MESSAGE['GENERIC']['ALREADY_INSTALLED'] = 'J&aacute; est&aacute; instalado';
+$MESSAGE['GENERIC']['NOT_INSTALLED'] = 'N&atilde;o Instalado';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL'] = 'N&atilde;o foi poss&iacute;vel desinstalar';
+$MESSAGE['GENERIC']['CANNOT_UNZIP'] = 'N&atilde;o foi poss&iacute;vel descompactar';
+$MESSAGE['GENERIC']['INSTALLED'] = 'Instalado com Sucesso';
+$MESSAGE['GENERIC']['UPGRADED'] = 'Atualizado com Sucesso';
+$MESSAGE['GENERIC']['UNINSTALLED'] = 'Desinstalado com Sucesso';
+$MESSAGE['GENERIC']['BAD_PERMISSIONS'] = 'N&atilde;o foi poss&iacute;vel gravar no diret&oacute;rio de destino';
+$MESSAGE['GENERIC']['INVALID'] = 'O arquivo enviado &eacute; inv&aacute;lido';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE'] = 'N&atilde;o foi poss&iacute;vel desinstalar: O arquivo selecionado est&aacute; em uso';
+
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL'] = "<br /><br />O m&oacute;dulo n&atilde;o <b>{{type_name}}</b> pode ser desinstalado porque est&aacute; a ser utilizado {{pages}}.<br /><br />";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL_PAGES'] = "na seguinte p&aacute;gina;nas seguintes p&aacute;ginas";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IS_DEFAULT_TEMPLATE'] = "O Template n&atilde;o pode ser desinstalado porque &eacute; o Template padr&atilde;o";
+
+$MESSAGE['GENERIC']['WEBSITE_UNDER_CONSTRUCTION'] = 'Website Em Constru&ccdil;&atilde;o';
+$MESSAGE['GENERIC']['PLEASE_CHECK_BACK_SOON'] = 'Favor retornar em breve...';
+$MESSAGE['GENERIC']['PLEASE_BE_PATIENT'] = 'Aguarde, isso pode levar algum tempo.';
+$MESSAGE['GENERIC']['ERROR_OPENING_FILE'] = 'Erro ao abrir o arquivo.';
+$MESSAGE['GENERIC']['INVALID_ADDON_FILE'] = 'Invalid WebsiteBaker installation file. Please check the *.zip format.';
+$MESSAGE['GENERIC']['INVALID_LANGUAGE_FILE'] = 'Invalid WebsiteBaker language file. Please check the text file.';
+
+$MESSAGE['MOD_FORM']['REQUIRED_FIELDS'] = 'Voc&ecirc; precisa preencher os seguintes campos';
+$MESSAGE['MOD_FORM']['EXCESS_SUBMISSIONS'] = 'Desculpe, este formul&aacute;rio foi submetido v&aacute;rias vezes nessa hora. Favor tentar novamente dentro de uma hora.';
+$MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA'] = 'O N&uacute;mero de Verifica&ccdil;&atilde;o (conhecido como Captcha) que voc&ecirc; entrou, &eacute; inv&aacute;lido. Se estiver tendo problemas usando o Captcha, envie uma mensagem para: '.SERVER_EMAIL.'';
+
+$MESSAGE['ADDON']['RELOAD'] = 'Update database with information from Add-on files (e.g. after FTP upload).';
+$MESSAGE['ADDON']['ERROR_RELOAD'] = 'Error while updating the Add-On information.';
+$MESSAGE['ADDON']['MODULES_RELOADED'] = 'M&oacute;dulos recarregados com sucesso';
+$MESSAGE['ADDON']['TEMPLATES_RELOADED'] = 'Temas (Templates) recarregados com sucesso';
+$MESSAGE['ADDON']['LANGUAGES_RELOADED'] = 'Idiomas recarregados com sucesso';
+$MESSAGE['ADDON']['PRECHECK_FAILED'] = 'Add-on installation failed. Your system does not fulfill the requirements of this Add-on. To make this Add-on working on your system, please fix the issues summarized below.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION'] = 'When modules are uploaded via FTP (not recommended), the module installation files <tt>install.php</tt>, <tt>upgrade.php</tt> or <tt>uninstall.php</tt> will not be executed automatically. Those modules may not work correct or do not uninstall properly.<br /><br />You can execute the module files manually for modules uploaded via FTP below.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION_WARNING'] = 'Warning: Existing module database entries will get lost. Only use this option if you experience problems with modules uploaded via FTP.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/languages/PT.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/languages/DA.php
===================================================================
--- tags/2.8.2/wb/languages/DA.php	(nonexistent)
+++ tags/2.8.2/wb/languages/DA.php	(revision 1481)
@@ -0,0 +1,595 @@
+<?php
+/**
+ *
+ * @category        framework
+ * @package         language
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// use languageedit-module to modify this file
+
+// Define that this file is loaded
+if(!defined('LANGUAGE_LOADED')) {
+define('LANGUAGE_LOADED', true);
+}
+
+// Set the language information
+$language_code = 'DA';
+$language_name = 'Dansk';
+$language_version = '2.8';
+$language_platform = '2.8.x';
+$language_author = 'Achrist';
+$language_license = 'GNU General Public License';
+
+// Menu titles
+$MENU['START'] = 'Hjem';
+$MENU['PAGES'] = 'Sider';
+$MENU['MEDIA'] = 'Medie-filer';
+$MENU['ADDONS'] = 'Add-ons';
+$MENU['MODULES'] = 'Moduler';
+$MENU['TEMPLATES'] = 'Skabeloner';
+$MENU['LANGUAGES'] = 'Sprog';
+$MENU['PREFERENCES'] = 'Pr&aelig;ferencer';
+$MENU['SETTINGS'] = 'Indstillinger';
+$MENU['ADMINTOOLS'] = 'Admin-v&aelig;rkt&oslash;jer';
+$MENU['ACCESS'] = 'Adgang';
+$MENU['USERS'] = 'Brugere';
+$MENU['GROUPS'] = 'Grupper';
+$MENU['HELP'] = 'Hj&aelig;lp';
+$MENU['VIEW'] = 'Vis';
+$MENU['LOGOUT'] = 'Log ud';
+$MENU['LOGIN'] = 'Log ind';
+$MENU['FORGOT'] = 'Modtag login oplysninger';
+
+// Section overviews
+$OVERVIEW['START'] = 'Administrationsoversigt';
+$OVERVIEW['PAGES'] = 'Administr&eacute;r dine websider...';
+$OVERVIEW['MEDIA'] = 'Administr&eacute;r filer i mappen medier...';
+$OVERVIEW['MODULES'] = 'Administr&eacute;r WebsiteBaker moduler...';
+$OVERVIEW['TEMPLATES'] = 'Skift udseende og layout/design p&aring; din webside v.h.a. skabeloner....';
+$OVERVIEW['LANGUAGES'] = 'Administration af sprog i WebsiteBaker...';
+$OVERVIEW['PREFERENCES'] = 'Tilpas pr&aelig;ferencer s&aring;som email-adresse, adgangskode, etc... ';
+$OVERVIEW['SETTINGS'] = 'Tilpas indstillinger for WebsiteBaker...';
+$OVERVIEW['USERS'] = 'Administr&eacute;r brugere som kan logge ind p&aring; WebsiteBaker systemet...';
+$OVERVIEW['GROUPS'] = 'Administr&eacute;r brugergrupper og deres systemrettigheder...';
+$OVERVIEW['HELP'] = 'Sp&oslash;rgsm&aring;l? Find dine svar her...';
+$OVERVIEW['VIEW'] = 'Hurtig visning og gennemsyn af dit Websted i et nyt vindue..';
+$OVERVIEW['ADMINTOOLS'] = 'WebsiteBaker administrationsv&aelig;rkt&oslash;jer...';
+
+// Headings
+$HEADING['MODIFY_DELETE_PAGE'] = 'Ret/slet side';
+$HEADING['DELETED_PAGES'] = 'Slettede sider';
+$HEADING['ADD_PAGE'] = 'Tilf&oslash;j side';
+$HEADING['ADD_HEADING'] = 'Tilf&oslash;j overskrift';
+$HEADING['MODIFY_PAGE'] = 'Rediger side';
+$HEADING['MODIFY_PAGE_SETTINGS'] = 'Rediger side-indstillinger';
+$HEADING['MODIFY_ADVANCED_PAGE_SETTINGS'] = 'Rediger avancerede indstillinger for hjemmesiden';
+$HEADING['MANAGE_SECTIONS'] = 'Administr&eacute;r sektioner';
+$HEADING['MODIFY_INTRO_PAGE'] = 'Rediger intro-side';
+
+$HEADING['BROWSE_MEDIA'] = 'Gennemse medie-mappe';
+$HEADING['CREATE_FOLDER'] = 'Opret mappe';
+$HEADING['UPLOAD_FILES'] = 'Overf&oslash;r fil(er)';
+
+$HEADING['INSTALL_MODULE'] = 'Install&eacute;r modul';
+$HEADING['UNINSTALL_MODULE'] = 'Afinstall&eacute;r modul';
+$HEADING['MODULE_DETAILS'] = 'Info om modul';
+
+$HEADING['INSTALL_TEMPLATE'] = 'Install&eacute;r skabelon';
+$HEADING['UNINSTALL_TEMPLATE'] = 'Afinstall&eacute;r skabelon';
+$HEADING['TEMPLATE_DETAILS'] = 'Info om skabelon';
+
+$HEADING['INSTALL_LANGUAGE'] = 'Install&eacute;r sprog';
+$HEADING['UNINSTALL_LANGUAGE'] = 'Afinstall&eacute;r sprog';
+$HEADING['LANGUAGE_DETAILS'] = 'Info om sprog';
+
+$HEADING['MY_SETTINGS'] = 'Mine indstillinger';
+$HEADING['MY_EMAIL'] = 'Min email-adresse';
+$HEADING['MY_PASSWORD'] = 'Min adgangskode';
+
+$HEADING['GENERAL_SETTINGS'] = 'Generelle indstillinger';
+$HEADING['DEFAULT_SETTINGS'] = 'Standard indstillinger';
+$HEADING['SEARCH_SETTINGS'] = 'S&oslash;ge-indstillinger';
+$HEADING['FILESYSTEM_SETTINGS'] = 'Filsystem-indstillinger';
+$HEADING['SERVER_SETTINGS'] = 'Server-indstillinger';
+$HEADING['WBMAILER_SETTINGS'] = 'E-mail-indstillinger';
+$HEADING['ADMINISTRATION_TOOLS'] = 'Administrationsv&aelig;rkt&oslash;jer';
+
+$HEADING['MODIFY_DELETE_USER'] = 'Ret/slet bruger';
+$HEADING['ADD_USER'] = 'Tilf&oslash;j bruger';
+$HEADING['MODIFY_USER'] = 'Ret bruger';
+
+$HEADING['MODIFY_DELETE_GROUP'] = 'Ret/slet gruppe';
+$HEADING['ADD_GROUP'] = 'Tilf&oslash;j gruppe';
+$HEADING['MODIFY_GROUP'] = 'Ret gruppe';
+
+$HEADING['ADDON_PRECHECK_FAILED'] = 'Add-On krav er ikke opfyldt';
+$HEADING['INVOKE_MODULE_FILES'] = 'Eksekver modulfiler manuelt';
+
+// Other text
+$TEXT['OPEN'] = '&Aring;ben';
+$TEXT['ADD'] = 'Tilf&oslash;j';
+$TEXT['MODIFY'] = 'Ret';
+$TEXT['SETTINGS'] = 'Indstillinger';
+$TEXT['DELETE'] = 'Slet';
+$TEXT['SAVE'] = 'Gem';
+$TEXT['RESET'] = 'Nulstil';
+$TEXT['LOGIN'] = 'Log ind';
+$TEXT['RELOAD'] = 'Opdat&eacute;r';
+$TEXT['CANCEL'] = 'Annull&eacute;r';
+$TEXT['NAME'] = 'Navn';
+$TEXT['PLEASE_SELECT'] = 'V&aelig;lg venligst';
+$TEXT['TITLE'] = 'Titel';
+$TEXT['PARENT'] = 'Overliggende niveau';
+$TEXT['TYPE'] = 'Type';
+$TEXT['VISIBILITY'] = 'Synlighed';
+$TEXT['PRIVATE'] = 'Privat';
+$TEXT['PUBLIC'] = 'Offentlig';
+$TEXT['NONE'] = 'Usynlig';
+$TEXT['NONE_FOUND'] = 'Ingen fundet';
+$TEXT['CURRENT'] = 'Nuv&aelig;rende';
+$TEXT['CHANGE'] = 'Ret';
+$TEXT['WINDOW'] = 'Vindue';
+$TEXT['DESCRIPTION'] = 'Beskrivelse';
+$TEXT['KEYWORDS'] = 'N&oslash;gleord';
+$TEXT['ADMINISTRATORS'] = 'Administratorer';
+$TEXT['PRIVATE_VIEWERS'] = 'Private bes&oslash;gende';
+$TEXT['EXPAND'] = 'Fold ud';
+$TEXT['COLLAPSE'] = 'Fold sammen';
+$TEXT['MOVE_UP'] = 'Flyt op';
+$TEXT['MOVE_DOWN'] = 'Flyt ned';
+$TEXT['RENAME'] = 'Omd&oslash;b';
+$TEXT['MODIFY_SETTINGS'] = 'Skift indstillinger';
+$TEXT['MODIFY_CONTENT'] = 'Ret indhold';
+$TEXT['VIEW'] = 'Se';
+$TEXT['UP'] = 'Op';
+$TEXT['FORGOTTEN_DETAILS'] = 'Har du glemt dine login-oplysninger?';
+$TEXT['NEED_TO_LOGIN'] = 'Brug for at logge ind?';
+$TEXT['SEND_DETAILS'] = 'Send oplysninger';
+$TEXT['USERNAME'] = 'Brugernavn';
+$TEXT['PASSWORD'] = 'Adgangskode';
+$TEXT['HOME'] = 'Hjem';
+$TEXT['TARGET_FOLDER'] = 'Mappeplacering';
+$TEXT['OVERWRITE_EXISTING'] = 'Overskriv eksisterende';
+$TEXT['FILE'] = 'Fil';
+$TEXT['FILES'] = 'Filer';
+$TEXT['FOLDER'] = 'Mappe';
+$TEXT['FOLDERS'] = 'Mapper';
+$TEXT['CREATE_FOLDER'] = 'Opret mappe';
+$TEXT['UPLOAD_FILES'] = 'Overf&oslash;r fil(er)';
+$TEXT['CURRENT_FOLDER'] = 'Nuv&aelig;rende mappe';
+$TEXT['TO'] = 'Til';
+$TEXT['FROM'] = 'Fra';
+$TEXT['INSTALL'] = 'Install&eacute;r';
+$TEXT['UNINSTALL'] = 'Afinstall&eacute;r';
+$TEXT['VIEW_DETAILS'] = 'Se oplysninger';
+$TEXT['DISPLAY_NAME'] = 'Vis navn';
+$TEXT['AUTHOR'] = 'Udvikler/forfatter';
+$TEXT['VERSION'] = 'Version';
+$TEXT['DESIGNED_FOR'] = 'Designet til';
+$TEXT['DESCRIPTION'] = 'Beskrivelse';
+$TEXT['EMAIL'] = 'Email-adresse';
+$TEXT['LANGUAGE'] = 'Sprog';
+$TEXT['TIMEZONE'] = 'Tidszone';
+$TEXT['CURRENT_PASSWORD'] = 'Nuv&aelig;rende adgangskode';
+$TEXT['NEW_PASSWORD'] = 'Ny adgangskode';
+$TEXT['RETYPE_NEW_PASSWORD'] = 'Skriv ny adgangskode igen';
+$TEXT['ACTIVE'] = 'Aktiv';
+$TEXT['DISABLED'] = 'Deaktiveret';
+$TEXT['ENABLED'] = 'Aktiveret';
+$TEXT['RETYPE_PASSWORD'] = 'Indtast adgangskode igen';
+$TEXT['GROUP'] = 'Gruppe';
+$TEXT['SYSTEM_PERMISSIONS'] = 'Systemrettigheder';
+$TEXT['MODULE_PERMISSIONS'] = 'Modulrettigheder';
+$TEXT['SHOW_ADVANCED'] = 'Vis avancerede indstillnger';
+$TEXT['HIDE_ADVANCED'] = 'Skjul avancerede indstillinger';
+$TEXT['BASIC'] = 'Basisindstillinger';
+$TEXT['ADVANCED'] = 'Avanceret';
+$TEXT['WEBSITE'] = 'Websted';
+$TEXT['DEFAULT'] = 'Standard';
+$TEXT['KEYWORDS'] = 'N&oslash;gleord';
+$TEXT['TEXT'] = 'Tekst';
+$TEXT['HEADER'] = 'Hoved (overligger)';
+$TEXT['FOOTER'] = 'Fod (bund)';
+$TEXT['TEMPLATE'] = 'Skabelon';
+$TEXT['THEME'] = 'Backend-tema';
+$TEXT['INSTALLATION'] = 'Installation';
+$TEXT['DATABASE'] = 'Database';
+$TEXT['HOST'] = 'V&aelig;rt';
+$TEXT['INTRO'] = 'Introduktion';
+$TEXT['PAGE'] = 'Side';
+$TEXT['SIGNUP'] = 'Registrering';
+$TEXT['PHP_ERROR_LEVEL'] = 'PHP fejlrapporteringsniveau';
+$TEXT['ADMIN'] = 'Admin';
+$TEXT['PATH'] = 'Sti';
+$TEXT['URL'] = 'URL';
+$TEXT['FRONTEND'] = 'Websted (vis siden)';
+$TEXT['EXTENSION'] = 'Udvidelse';
+$TEXT['TABLE_PREFIX'] = 'Tabelpr&aelig;fix';
+$TEXT['CHANGES'] = '&AElig;ndringer';
+$TEXT['ADMINISTRATION'] = 'Administr&eacute;r';
+$TEXT['FORGOT_DETAILS'] = 'Glemt login-oplysninger?';
+$TEXT['LOGGED_IN'] = 'Logget ind';
+$TEXT['WELCOME_BACK'] = 'Velkommen igen';
+$TEXT['FULL_NAME'] = 'Fulde navn';
+$TEXT['ACCOUNT_SIGNUP'] = 'Kontoregistrering';
+$TEXT['LINK'] = 'Link';
+$TEXT['ANCHOR'] = 'Bogm&aelig;rke';
+$TEXT['TARGET'] = 'M&aring;l';
+$TEXT['NEW_WINDOW'] = 'Nyt vindue';
+$TEXT['SAME_WINDOW'] = 'Samme vindue';
+$TEXT['TOP_FRAME'] = 'Top frame';
+$TEXT['PAGE_LEVEL_LIMIT'] = 'Max. sideantal';
+$TEXT['SUCCESS'] = 'Oplysninger gemt';
+$TEXT['ERROR'] = 'Der opstod en fejl';
+$TEXT['ARE_YOU_SURE'] = 'Er du sikker?';
+$TEXT['YES'] = 'Ja';
+$TEXT['NO'] = 'Nej';
+$TEXT['SYSTEM_DEFAULT'] = 'Systemstandard';
+$TEXT['PAGE_TITLE'] = 'Titel p&aring; side';
+$TEXT['MENU_TITLE'] = 'Menutitel';
+$TEXT['ACTIONS'] = 'Handlinger';
+$TEXT['UNKNOWN'] = 'Ukendt';
+$TEXT['BLOCK'] = 'Blok';
+$TEXT['SEARCH'] = 'S&oslash;g';
+$TEXT['SEARCHING'] = 'S&oslash;gefunktion';
+$TEXT['POST'] = 'Indl&aelig;g';
+$TEXT['COMMENT'] = 'Kommentar';
+$TEXT['COMMENTS'] = 'Kommentarer';
+$TEXT['COMMENTING'] = 'Kommentere';
+$TEXT['SHORT'] = 'Kort';
+$TEXT['LONG'] = 'Lang';
+$TEXT['LOOP'] = 'Liste';
+$TEXT['FIELD'] = 'Felt';
+$TEXT['REQUIRED'] = 'Kr&aelig;vet';
+$TEXT['LENGTH'] = 'L&aelig;ngde';
+$TEXT['MESSAGE'] = 'Indl&aelig;g';
+$TEXT['SUBJECT'] = 'Emne';
+$TEXT['MATCH'] = 'Match';
+$TEXT['ALL_WORDS'] = 'Alle ordene';
+$TEXT['ANY_WORDS'] = 'Bare et af ordene';
+$TEXT['EXACT_MATCH'] = 'Eksakt s&oslash;gning';
+$TEXT['SHOW'] = 'Vis';
+$TEXT['HIDE'] = 'Skjul';
+$TEXT['START_PUBLISHING'] = 'Start offentligg&oslash;relse';
+$TEXT['FINISH_PUBLISHING'] = 'Afslut offentligg&oslash;relse';
+$TEXT['DATE'] = 'Dato';
+$TEXT['START'] = 'Start';
+$TEXT['END'] = 'Slut';
+$TEXT['IMAGE'] = 'Billede';
+$TEXT['ICON'] = 'Ikon';
+$TEXT['SECTION'] = 'Sektion';
+$TEXT['DATE_FORMAT'] = 'Datoformat';
+$TEXT['TIME_FORMAT'] = 'Tidsformat';
+$TEXT['RESULTS'] = 'Resultater';
+$TEXT['RESIZE'] = 'Skift st&oslash;rrelse';
+$TEXT['MANAGE'] = 'Administr&eacute;r';
+$TEXT['CODE'] = 'Kode';
+$TEXT['WIDTH'] = 'Bredde';
+$TEXT['HEIGHT'] = 'H&oslash;jde';
+$TEXT['MORE'] = 'Mere';
+$TEXT['READ_MORE'] = 'L&aelig;s mere';
+$TEXT['CHANGE_SETTINGS'] = 'Skift indstillinger';
+$TEXT['CURRENT_PAGE'] = 'Nuv&aelig;rende side';
+$TEXT['CLOSE'] = 'Luk';
+$TEXT['INTRO_PAGE'] = 'Intro-side';
+$TEXT['INSTALLATION_URL'] = 'Installations URL';
+$TEXT['INSTALLATION_PATH'] = 'Installationssti';
+$TEXT['PAGE_EXTENSION'] = 'Side-udvidelse';
+$TEXT['NO_RESULTS'] = 'Intet fundet';
+$TEXT['WEBSITE_TITLE'] = 'Titel p&aring; dit websted';
+$TEXT['WEBSITE_DESCRIPTION'] = 'Beskrivelse af dit websted';
+$TEXT['WEBSITE_KEYWORDS'] = 'Webstedsn&oslash;gleord';
+$TEXT['WEBSITE_HEADER'] = 'Webstedshoved';
+$TEXT['WEBSITE_FOOTER'] = 'Webstedsfod (bund)';
+$TEXT['RESULTS_HEADER'] = 'Resultathoved';
+$TEXT['RESULTS_LOOP'] = 'Resultatliste';
+$TEXT['RESULTS_FOOTER'] = 'Resultatfod (bund)';
+$TEXT['LEVEL'] = 'Niveau';
+$TEXT['NOT_FOUND'] = 'Ikke fundet';
+$TEXT['PAGE_SPACER'] = 'Side pladsmark&oslash;r';
+$TEXT['MATCHING'] = 'Matchende';
+$TEXT['TEMPLATE_PERMISSIONS'] = 'Skabelon-tilladelser';
+$TEXT['PAGES_DIRECTORY'] = 'Sidebibliotek (mappe)';
+$TEXT['MEDIA_DIRECTORY'] = 'Mediebibliotek (mappe)';
+$TEXT['FILE_MODE'] = 'Filtilstand';
+$TEXT['USER'] = 'Bruger';
+$TEXT['OTHERS'] = 'Andre';
+$TEXT['READ'] = 'L&aelig;s';
+$TEXT['WRITE'] = 'Skriv';
+$TEXT['EXECUTE'] = 'Udf&oslash;r';
+$TEXT['SMART_LOGIN'] = 'Smart Log-ind';
+$TEXT['REMEMBER_ME'] = 'Husk mig';
+$TEXT['FILESYSTEM_PERMISSIONS'] = 'Filesystem - Tilladelser';
+$TEXT['DIRECTORIES'] = 'Biblioteker (mapper)';
+$TEXT['DIRECTORY_MODE'] = 'Bibliotekstilstand';
+$TEXT['LIST_OPTIONS'] = 'Vis valgmuligheder';
+$TEXT['OPTION'] = 'Mulighed';
+$TEXT['ALLOW_MULTIPLE_SELECTIONS'] = 'Tillad flere valg samtidig';
+$TEXT['TEXTFIELD'] = 'Tekstfelt';
+$TEXT['TEXTAREA'] = 'Tekstomr&aring;de';
+$TEXT['SELECT_BOX'] = 'Afkrydsningsboks';
+$TEXT['CHECKBOX_GROUP'] = 'Afkrydsningsgruppe';
+$TEXT['RADIO_BUTTON_GROUP'] = 'Radioknap-gruppe';
+$TEXT['SIZE'] = 'St&oslash;rrelse';
+$TEXT['DEFAULT_TEXT'] = 'Standardtekst';
+$TEXT['SEPERATOR'] = 'Separator';
+$TEXT['BACK'] = 'Tilbage';
+$TEXT['UNDER_CONSTRUCTION'] = 'Under konstruktion';
+$TEXT['MULTISELECT'] = 'Multi-valg';
+$TEXT['SHORT_TEXT'] = 'Kort tekst';
+$TEXT['LONG_TEXT'] = 'Lang tekst';
+$TEXT['HOMEPAGE_REDIRECTION'] = 'Viderestilling af hjemmeside';
+$TEXT['HEADING'] = 'Overskrift';
+$TEXT['MULTIPLE_MENUS'] = 'Flere menuer';
+$TEXT['REGISTERED'] = 'Registrerede';
+$TEXT['SECTION_BLOCKS'] = 'Sektionsblokke';
+$TEXT['REGISTERED_VIEWERS'] = 'Registrerede brugere';
+$TEXT['ALLOWED_VIEWERS'] = 'Tilladte brugere';
+$TEXT['SUBMISSION_ID'] = 'Tilmeldings-ID';
+$TEXT['SUBMISSIONS'] = 'Indsendte bidrag';
+$TEXT['SUBMITTED'] = 'Indsendt';
+$TEXT['MAX_SUBMISSIONS_PER_HOUR'] = 'Max. indsendte bidrag pr. time';
+$TEXT['SUBMISSIONS_STORED_IN_DATABASE'] = 'Indsendte bidrag gemt i databasen';
+$TEXT['EMAIL_ADDRESS'] = 'Email-adresse';
+$TEXT['CUSTOM'] = 'Brugerdefineret';
+$TEXT['ANONYMOUS'] = 'Anonym';
+$TEXT['SERVER_OPERATING_SYSTEM'] = 'Server operativsystem';
+$TEXT['WORLD_WRITEABLE_FILE_PERMISSIONS'] = 'Globale skriverettigheder';
+$TEXT['LINUX_UNIX_BASED'] = 'Linux/Unix baseret';
+$TEXT['WINDOWS'] = 'Windows';
+$TEXT['HOME_FOLDER'] = 'Hjemmebibliotek (mappe)';
+$TEXT['HOME_FOLDERS'] = 'Hjemmebiblioteker (mapper)';
+$TEXT['PAGE_TRASH'] = 'Papirkurv til sider';
+$TEXT['INLINE'] = 'Indbygget';
+$TEXT['SEPARATE'] = 'Separat';
+$TEXT['DELETED'] = 'Slettet';
+$TEXT['VIEW_DELETED_PAGES'] = 'Vis slettede sider';
+$TEXT['EMPTY_TRASH'] = 'T&oslash;m papirkurv';
+$TEXT['TRASH_EMPTIED'] = 'Papirkurv t&oslash;mt';
+$TEXT['ADD_SECTION'] = 'Tilf&oslash;j sektion';
+$TEXT['POST_HEADER'] = 'Hoved p&aring; indl&aelig;g';
+$TEXT['POST_FOOTER'] = 'Fod (bund) p&aring; indl&aelig;g';
+$TEXT['POSTS_PER_PAGE'] = 'Indl&aelig;g pr. side';
+$TEXT['RESIZE_IMAGE_TO'] = 'Forst&oslash;r/formindsk billede til';
+$TEXT['UNLIMITED'] = 'Ubegr&aelig;nset';
+$TEXT['OF'] = 'af';
+$TEXT['OUT_OF'] = 'ud af i alt';
+$TEXT['NEXT'] = 'N&aelig;ste';
+$TEXT['PREVIOUS'] = 'Forrige';
+$TEXT['NEXT_PAGE'] = 'N&aelig;ste side';
+$TEXT['PREVIOUS_PAGE'] = 'Forrige side';
+$TEXT['ON'] = 'D.';
+$TEXT['LAST_UPDATED_BY'] = 'Sidst opdateret af:';
+$TEXT['RESULTS_FOR'] = 'Resultater for';
+$TEXT['TIME'] = 'Tid';
+$TEXT['REDIRECT_AFTER'] = 'Videresend efter';
+$TEXT['WYSIWYG_STYLE'] = 'WYSIWYG-stil';
+$TEXT['WYSIWYG_EDITOR'] = 'WYSIWYG-editor';
+$TEXT['SERVER_EMAIL'] = 'Server email';
+$TEXT['MENU'] = 'Menu';
+$TEXT['MANAGE_GROUPS'] = 'Administr&eacute;r grupper';
+$TEXT['MANAGE_USERS'] = 'Administr&eacute;r brugere';
+$TEXT['PAGE_LANGUAGES'] = 'Sprog';
+$TEXT['HIDDEN'] = 'Skjult';
+$TEXT['MAIN'] = 'Hovedoversigt';
+$TEXT['RENAME_FILES_ON_UPLOAD'] = 'Omd&oslash;b filer under opload';
+$TEXT['APP_NAME'] = 'Applikationsnavn';
+$TEXT['SESSION_IDENTIFIER'] = 'Sessions-ID';
+$TEXT['SEC_ANCHOR'] = 'Sektionsankertekst';
+$TEXT['BACKUP'] = 'Backup';
+$TEXT['RESTORE'] = 'Gendannelse';
+$TEXT['BACKUP_DATABASE'] = 'Backup af database';
+$TEXT['RESTORE_DATABASE'] = 'Gendan database';
+$TEXT['BACKUP_ALL_TABLES'] = 'Lav backup af alle tabeller i databasen';
+$TEXT['BACKUP_WB_SPECIFIC'] = 'Lav kun backup af WB-specifikke tabeller';
+$TEXT['BACKUP_MEDIA'] = 'Lav backup af medie-filer';
+$TEXT['RESTORE_MEDIA'] = 'Gendan medie-filer';
+$TEXT['ADMINISTRATION_TOOL'] = 'Administrationsv&aelig;rkt&oslash;jer';
+$TEXT['CAPTCHA_VERIFICATION'] = 'Captcha verifikation';
+$TEXT['VERIFICATION'] = 'Indtast verifikationstal';
+$TEXT['DEFAULT_CHARSET'] = 'Standard tegns&aelig;t';
+$TEXT['CHARSET'] = 'Tegns&aelig;t';
+$TEXT['MODULE_ORDER'] = 'Modul-r&aelig;kkef&oslash;lge ved s&oslash;gning';
+$TEXT['MAX_EXCERPT'] = 'Max linier i uddrag';
+$TEXT['TIME_LIMIT'] = 'Max tid til uddrag per modul';
+$TEXT['PUBL_START_DATE'] = 'Startdato';
+$TEXT['PUBL_END_DATE'] = 'Slutdato';
+$TEXT['CALENDAR'] = 'Kalender';
+$TEXT['DELETE_DATE'] = 'Slet dato';
+$TEXT['WBMAILER_DEFAULT_SETTINGS_NOTICE'] = 'Angiv standard "FRA"-adresse og "AFSENDER"-navn nedenfor. Det anbefales at angive FRA-adresse som: <strong>admin@dit-dom&aelig;ne.dk</strong>. Nogle udbydere (f.eks. <em>mail.com</em>) kan afvise emails med en FRA-adresse som <em>navn@mail.com</em>, hvis de er sendt via en anden udbyder, for at undg&aring; spam.<br /><br />Standardv&aelig;rdierne benyttes kun, hvis ingen andre v&aelig;rdier angives i WebsiteBaker. Hvis din server underst&oslash;tter <acronym title="Simple mail transfer protocol">SMTP</acronym>, kan du v&aelig;lge at bruge denne til udg&aring;ende emails.';
+$TEXT['WBMAILER_DEFAULT_SENDER_MAIL'] = 'Standard fra-adresse';
+$TEXT['WBMAILER_DEFAULT_SENDER_NAME'] = 'Standard afsendernavn';
+$TEXT['WBMAILER_NOTICE'] = '<strong>SMTP mail-program indstillinger:</strong><br />Indstillingerne nedenfor er kun n&oslash;dvendige, hvis du vil sende emails via <acronym title="Simple mail transfer protocol">SMTP</acronym>. Hvis du ikke kender adressen p&aring; din SMTP-v&aelig;rt eller de kr&aelig;vede indstillinger, s&aring; hold dig til standardprogrammet, PHP MAIL.';
+$TEXT['WBMAILER_FUNCTION'] = 'Mailprogram';
+$TEXT['WBMAILER_SMTP_HOST'] = 'SMTP-v&aelig;rt';
+$TEXT['WBMAILER_PHP'] = 'PHP MAIL';
+$TEXT['WBMAILER_SMTP'] = 'SMTP';
+$TEXT['WBMAILER_SMTP_AUTH'] = 'SMTP brugeradgangskontrol';
+$TEXT['WBMAILER_SMTP_AUTH_NOTICE'] = '- skal kun anvendes hvis din SMTP-v&aelig;rt bruger adgangskontrol';
+$TEXT['WBMAILER_SMTP_USERNAME'] = 'SMTP brugernavn';
+$TEXT['WBMAILER_SMTP_PASSWORD'] = 'SMTP adgangskode';
+$TEXT['PLEASE_LOGIN'] = 'Log ind';
+$TEXT['CAP_EDIT_CSS'] = 'Rediger CSS';
+$TEXT['HEADING_CSS_FILE'] = 'Aktuel modulfil: ';
+$TEXT['TXT_EDIT_CSS_FILE'] = 'Rediger CSS definitioner i tekstfeltet nedenfor';
+$TEXT['CODE_SNIPPET'] = 'Kodestump';
+$TEXT['REQUIREMENT'] = 'Krav';
+$TEXT['INSTALLED'] = 'installeret';
+$TEXT['NOT_INSTALLED'] = 'ikke installeret';
+$TEXT['ADDON'] = 'Add-On';
+$TEXT['EXTENSION'] = 'Udvidelse';
+$TEXT['UNZIP_FILE'] = 'Overf&oslash;r og udpak et zip-arkiv';
+$TEXT['DELETE_ZIP'] = 'Slet zip-arkiv efter udpakning';
+
+// Success/error messages
+$MESSAGE['FRONTEND']['SORRY_NO_VIEWING_PERMISSIONS'] = 'Beklager - du har ikke adgang til at se denne side';
+$MESSAGE['FRONTEND']['SORRY_NO_ACTIVE_SECTIONS'] = 'Beklager - intet aktivit indhold at vise';
+
+$MESSAGE['ADMIN']['INSUFFICIENT_PRIVELLIGES'] = 'Du har ikke den forn&oslash;dne adgang til dette omr&aring;de';
+
+$MESSAGE['LOGIN']['BOTH_BLANK'] = 'Indtast venligst dit brugernavn og din adgangskode nedenfor';
+$MESSAGE['LOGIN']['USERNAME_BLANK'] = 'Angiv et brugernavn';
+$MESSAGE['LOGIN']['PASSWORD_BLANK'] = 'Angiv en adgangskode ';
+$MESSAGE['LOGIN']['USERNAME_TOO_SHORT'] = 'Det indtastede brugernavn er for KORT';
+$MESSAGE['LOGIN']['PASSWORD_TOO_SHORT'] = 'Den indtastede adgangskode er for KORT';
+$MESSAGE['LOGIN']['USERNAME_TOO_LONG'] = 'Det indtastede brugernavn er for LANGT';
+$MESSAGE['LOGIN']['PASSWORD_TOO_LONG'] = 'Den indtastede adgangskode er for LANG';
+$MESSAGE['LOGIN']['AUTHENTICATION_FAILED'] = 'Brugernavn og/eller adgangskode er forkert';
+
+$MESSAGE['SIGNUP']['NO_EMAIL'] = 'Du skal indtaste en gyldig email-adresse';
+$MESSAGE['SIGNUP2']['SUBJECT_LOGIN_INFO'] = 'Dine login-oplysninger...';
+$MESSAGE['SIGNUP2']['BODY_LOGIN_INFO'] = <<< EOT
+Hej {LOGIN_DISPLAY_NAME},
+
+Dine '{LOGIN_WEBSITE_TITLE}' loginoplysninger er:
+Brugernavn: {LOGIN_NAME}
+Adgangskode: {LOGIN_PASSWORD}
+
+Din adgangskode er sat til ovenst&aring;ende.
+Det betyder, at din gamle adgangskode ikke virker mere.
+
+Hvis du har modtaget denne besked ved en fejl, bedes du straks slette den.
+EOT;
+
+$MESSAGE['FORGOT_PASS']['NO_DATA'] = 'Indtast din email-adresse nedenfor';
+$MESSAGE['FORGOT_PASS']['EMAIL_NOT_FOUND'] = 'Den email-adresse du indtastede findes ikke i vores database';
+$MESSAGE['FORGOT_PASS']['CANNOT_EMAIL'] = 'Kunne ikke sende din adgangskode til din email-adresse - Kontakt en systemadministrator';
+$MESSAGE['FORGOT_PASS']['PASSWORD_RESET'] = 'Dit brugernavn og din adgangskode er nu afsendt til din email-adresse';
+$MESSAGE['FORGOT_PASS']['ALREADY_RESET'] = 'Adgangskode kan kun nulstilles 1 gang i timen - beklager!';
+
+$MESSAGE['START']['WELCOME_MESSAGE'] = 'Velkommen til administration af din WebsiteBaker';
+$MESSAGE['START']['INSTALL_DIR_EXISTS'] = 'ADVARSEL! Installationsbiblioteket (mappen) findes stadig p&aring; serveren. Du b&oslash;r slette den straks af hensyn til sikkerheden!';
+$MESSAGE['START']['CURRENT_USER'] = 'Du er lige nu logget ind som:';
+
+$MESSAGE['SETTINGS']['UNABLE_OPEN_CONFIG'] = 'Er ikke i stand til at &aring;bne konfigurationsfilen';
+$MESSAGE['SETTINGS']['UNABLE_WRITE_CONFIG'] = 'Kan ikke skrive til konfigurationsfilen (check rettigheder for filen)';
+$MESSAGE['SETTINGS']['SAVED'] = 'Indstillingerne er gemt';
+$MESSAGE['SETTINGS']['MODE_SWITCH_WARNING'] = '<br>OBS: Ved at klikke p&aring; denne knap tabes alle &aelig;ndringer, der ikke er gemt!';
+$MESSAGE['SETTINGS']['WORLD_WRITEABLE_WARNING'] = 'OBS! Dette anbefales kun i testmilj&oslash;er ';
+
+$MESSAGE['USERS']['ADDED'] = 'Brugeren er oprettet';
+$MESSAGE['USERS']['SAVED'] = 'Brugeren er gemt';
+$MESSAGE['USERS']['DELETED'] = 'Brugeren er slettet';
+$MESSAGE['USERS']['NO_GROUP'] = 'Ingen gruppe er valgt';
+$MESSAGE['USERS']['USERNAME_TOO_SHORT'] = 'Det angivne brugernavn er for kort';
+$MESSAGE['USERS']['PASSWORD_TOO_SHORT'] = 'Den angivne adgangskode er for kort';
+$MESSAGE['USERS']['PASSWORD_MISMATCH'] = 'De to adgangskoder du indtastede  er ikke ens';
+$MESSAGE['USERS']['INVALID_EMAIL'] = 'Email-adressen du indtastede er ugyldig';
+$MESSAGE['USERS']['EMAIL_TAKEN'] = 'Den email-adresse du indtastede findes i forvejen';
+$MESSAGE['USERS']['USERNAME_TAKEN'] = 'Brugernavnet du indtastede er allerede optaget af en anden bruger';
+$MESSAGE['USERS']['CHANGING_PASSWORD'] = 'OBS! Du skal kun indtaste v&aelig;rdier i felterne ovenfor, s&aring;fremt du &oslash;nsker at &aelig;ndre denne brugers adgangskode';
+$MESSAGE['USERS']['CONFIRM_DELETE'] = 'Er du sikker p&aring; at du vil slette den valgte bruger?';
+
+$MESSAGE['GROUPS']['ADDED'] = 'Gruppen er tilf&oslash;jet';
+$MESSAGE['GROUPS']['SAVED'] = 'Gruppen er gemt';
+$MESSAGE['GROUPS']['DELETED'] = 'Gruppen er slettet';
+$MESSAGE['GROUPS']['GROUP_NAME_BLANK'] = 'Gruppenavn er ikke udfyldt';
+$MESSAGE['GROUPS']['CONFIRM_DELETE'] = 'Er du helt sikker p&aring; du vil slette denne gruppe (og alle brugere som tilh&oslash;rer den)?';
+$MESSAGE['GROUPS']['NO_GROUPS_FOUND'] = 'Der blev ikke fundet nogen grupper';
+$MESSAGE['GROUPS']['GROUP_NAME_EXISTS'] = 'Gruppens navn findes allerede';
+
+$MESSAGE['PREFERENCES']['DETAILS_SAVED'] = 'Oplysningerne er gemt';
+$MESSAGE['PREFERENCES']['EMAIL_UPDATED'] = 'Email-adresse opdateret';
+$MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT'] = 'Den (nuv&aelig;rende) adgangskode som du indtastede er ikke korrekt';
+$MESSAGE['PREFERENCES']['PASSWORD_CHANGED'] = 'Adgangskode &aelig;ndret';
+
+$MESSAGE['TEMPLATES']['CHANGE_TEMPLATE_NOTICE'] = 'OBS: For at &aelig;ndre skabelonen skal du g&aring; til punktet indstillinger';
+
+$MESSAGE['MEDIA']['DIR_DOT_DOT_SLASH'] = 'Kan ikke inkludere ../ i mappenavnet';
+$MESSAGE['MEDIA']['DIR_DOES_NOT_EXIST'] = 'Mappen eksisterer ikke';
+$MESSAGE['MEDIA']['TARGET_DOT_DOT_SLASH'] = 'Kan ikke have ../ i placeringen af biblioteket (mappen)';
+$MESSAGE['MEDIA']['NAME_DOT_DOT_SLASH'] = 'Kan ikke inkludere ../ i navnet';
+$MESSAGE['MEDIA']['NAME_INDEX_PHP'] = 'Kan ikke anvende index.php som navn';
+$MESSAGE['MEDIA']['NONE_FOUND'] = 'Der blev ikke fundet medie-filer i det p&aring;g&aelig;ldende bibliotek (mappe)';
+$MESSAGE['MEDIA']['FILE_NOT_FOUND'] = 'Filen ikke fundet';
+$MESSAGE['MEDIA']['DELETED_FILE'] = 'Filen er slettet';
+$MESSAGE['MEDIA']['DELETED_DIR'] = 'Bibliotek (mappe) slettet';
+$MESSAGE['MEDIA']['CONFIRM_DELETE'] = 'Er du sikker p&aring; du &oslash;nsker at slette flg. fil/bibliotek (mappe)?';
+$MESSAGE['MEDIA']['CANNOT_DELETE_FILE'] = 'Kan ikke slette den valgte fil';
+$MESSAGE['MEDIA']['CANNOT_DELETE_DIR'] = 'Kan ikke slette valgte bibliotek (mappe)';
+$MESSAGE['MEDIA']['BLANK_NAME'] = 'Du indtastede ikke et nyt navn';
+$MESSAGE['MEDIA']['BLANK_EXTENSION'] = 'Du har ikke angivet en filtype';
+$MESSAGE['MEDIA']['RENAMED'] = 'Omd&oslash;bning udf&oslash;rt';
+$MESSAGE['MEDIA']['CANNOT_RENAME'] = 'Omd&oslash;bning kunne ikke udf&oslash;res';
+$MESSAGE['MEDIA']['FILE_EXISTS'] = 'Der findes allerede en fil med det navn du indtastede';
+$MESSAGE['MEDIA']['DIR_EXISTS'] = 'Der findes allerede et bibliotek (en mappe) med det navn du indtastede!';
+$MESSAGE['MEDIA']['DIR_MADE'] = 'Bibliotek (mappe) blev oprettet';
+$MESSAGE['MEDIA']['DIR_NOT_MADE'] = 'Kunne ikke oprette biblioteket (mappen)';
+$MESSAGE['MEDIA']['SINGLE_UPLOADED'] = 'fil blev overf&oslash;rt';
+$MESSAGE['MEDIA']['UPLOADED'] = 'filer blev overf&oslash;rt';
+
+$MESSAGE['PAGES']['ADDED'] = 'Siden er tilf&oslash;jet';
+$MESSAGE['PAGES']['ADDED_HEADING'] = 'Overskrift til side tilf&oslash;jet';
+$MESSAGE['PAGES']['PAGE_EXISTS'] = 'Der findes allerede en side med dette eller lign. navn';
+$MESSAGE['PAGES']['CANNOT_CREATE_ACCESS_FILE'] = 'Fejl under oprettelse af adgangsfil i /pages biblioteket (mappen) (utilstr&aelig;kkelige rettigheder)';
+$MESSAGE['PAGES']['CANNOT_DELETE_ACCESS_FILE'] = 'Fejl under sletning af adgangsfil i /pages biblioteket  (utilstr&aelig;kkelige rettigheder)';
+$MESSAGE['PAGES']['NOT_FOUND'] = 'Siden blev ikke fundet';
+$MESSAGE['PAGES']['SAVED'] = 'Siden er gemt';
+$MESSAGE['PAGES']['SAVED_SETTINGS'] = 'Side-indstillinger er gemt';
+$MESSAGE['PAGES']['NOT_SAVED'] = 'Der opstod en fejl under fors&oslash;get p&aring; at gemme siden';
+$MESSAGE['PAGES']['DELETE_CONFIRM'] = 'Er du sikker p&aring; du &oslash;nsker at slette den valgte side (og alle dens undersider)';
+$MESSAGE['PAGES']['DELETED'] = 'Siden er slettet';
+$MESSAGE['PAGES']['RESTORED'] = 'Siden er gendannet';
+$MESSAGE['PAGES']['BLANK_PAGE_TITLE'] = 'Indtast venligst en overskrift til siden';
+$MESSAGE['PAGES']['BLANK_MENU_TITLE'] = 'Indtast venligst en overskrift til menuen';
+$MESSAGE['PAGES']['REORDERED'] = 'Siden er omorganiseret';
+$MESSAGE['PAGES']['CANNOT_REORDER'] = 'Fejl ved fors&oslash;g p&aring; at omorganisere siden';
+$MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS'] = 'Du har ikke rettigheder til at &aelig;ndre denne side';
+$MESSAGE['PAGES']['INTRO_NOT_WRITABLE'] = 'Kan ikke skrive til filen /pages/intro.php (utilstr&aelig;kkelige rettigheder)';
+$MESSAGE['PAGES']['INTRO_SAVED'] = 'Introside gemt';
+$MESSAGE['PAGES']['LAST_MODIFIED'] = 'Sidste &aelig;ndring blev foretaget af:';
+$MESSAGE['PAGES']['INTRO_LINK'] = 'Klik HER for at &aelig;ndre din intro-side!';
+$MESSAGE['PAGES']['SECTIONS_PROPERTIES_SAVED'] = 'Egenskaber for sektion er &aelig;ndret';
+$MESSAGE['PAGES']['RETURN_TO_PAGES'] = 'Tilbage til sider';
+
+$MESSAGE['GENERIC']['FILL_IN_ALL'] = 'G&aring; venligst tilbage og udfyld alle felter';
+$MESSAGE['GENERIC']['FILE_TYPE'] = 'OBS: V&aelig;r opm&aelig;rksom p&aring; at den fil du vil over&oslash;re skal v&aelig;re i flg. format:';
+$MESSAGE['GENERIC']['FILE_TYPES'] = 'OBS: V&aelig;r opm&aelig;rksom p&aring; at den fil du vil over&oslash;re skal v&aelig;re i et af flg. formater:';
+$MESSAGE['GENERIC']['CANNOT_UPLOAD'] = 'Kunne ikke over&oslash;re filen';
+$MESSAGE['GENERIC']['ALREADY_INSTALLED'] = 'Er allerede installeret';
+$MESSAGE['GENERIC']['NOT_INSTALLED'] = 'Ikke installeret';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL'] = 'Kan ikke afinstallere';
+$MESSAGE['GENERIC']['CANNOT_UNZIP'] = 'Kan ikke udpakke fil';
+$MESSAGE['GENERIC']['INSTALLED'] = 'Installeret';
+$MESSAGE['GENERIC']['UPGRADED'] = 'Opgraderet';
+$MESSAGE['GENERIC']['UNINSTALLED'] = 'Afinstalleret';
+$MESSAGE['GENERIC']['BAD_PERMISSIONS'] = 'Kan ikke skrive i det valgte modtagebibliotek (mappe)';
+$MESSAGE['GENERIC']['INVALID'] = 'Filen du over&oslash;rte er fejlbeh&aelig;ftet';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE'] = 'Kan ikke afinstallere: Den valgte fil er i brug';
+
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL'] = '<br /><br />{{type}} <b>{{type_name}}</b> kan ikke afinstalleres, da den stadig bruges p&aring; {{pages}}.<br /><br />';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL_PAGES'] = 'denne side;disse sider';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IS_DEFAULT_TEMPLATE'] = 'Kan ikke afinstallere skabelonen <b>{{name}}</b>, da den er standardskabelonen!';
+
+$MESSAGE['GENERIC']['WEBSITE_UNDER_CONSTRUCTION'] = 'Website under konstruktion';
+$MESSAGE['GENERIC']['PLEASE_CHECK_BACK_SOON'] = 'Kom venligst igen senere...';
+$MESSAGE['GENERIC']['PLEASE_BE_PATIENT'] = 'V&aelig;r t&aring;lmodig, dette kan godt vare et stykke tid.';
+$MESSAGE['GENERIC']['ERROR_OPENING_FILE'] = 'Fejl ved &aring;bning af filen.';
+$MESSAGE['GENERIC']['INVALID_ADDON_FILE'] = 'WebsiteBaker installationsfil ikke i korrekt format. Kontroller *.zip formatet.';
+$MESSAGE['GENERIC']['INVALID_LANGUAGE_FILE'] = 'WebsiteBaker sprogfil ikke i korrekt format. Kontroller tekstfilen.';
+
+$MESSAGE['MOD_FORM']['REQUIRED_FIELDS'] = 'Du skal udfylde f&oslash;lgende felter:';
+$MESSAGE['MOD_FORM']['EXCESS_SUBMISSIONS'] = 'Beklager! Denne formular er blevet afsendt for mange gange indenfor den sidste time, og du vil derfor blive afvist - Pr&oslash;v igen om en times tid!';
+$MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA'] = 'Verifikations tallene (ogs&aring; kendt som Captcha) som du tastede er ikke korrekte. Hvis du har problemer med at l&aelig;se Captha tallene, s&aring; kontakt venligst sidens Administrator p&aring; denne mailadresse: '.SERVER_EMAIL.'';
+
+$MESSAGE['ADDON']['RELOAD'] = 'Opdater databasen med information fra  Add-on-filer (f.eks. efter en FPT-overf&oslash;rsel).';
+$MESSAGE['ADDON']['ERROR_RELOAD'] = 'Fejl under opdatering af Add-On information.';
+$MESSAGE['ADDON']['MODULES_RELOADED'] = 'Moduler opdateret fejlfrit';
+$MESSAGE['ADDON']['TEMPLATES_RELOADED'] = 'Skabelinger opdateret fejlfrit';
+$MESSAGE['ADDON']['LANGUAGES_RELOADED'] = 'Sprog opdateret fejlfrit';
+$MESSAGE['ADDON']['PRECHECK_FAILED'] = 'Add-on-installation mislykkedes. Dit system lever ikke op til de krav, denne Add-on stiller. For at f&aring; denne Add-on til at fungere p&aring; dit system, m&aring; du bringe f&oslash;lgende forhold i orden.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION'] = 'N&aring;r moduler overf&oslash;res via FTP (anbefales ikke), vil modul-installationsfilerne <tt>install.php</tt>, <tt>upgrade.php</tt> og <tt>uninstall.php</tt> ikke bliver udf&oslash;rt automatisk. Disse moduler vil eventuelt ikke fungere korrekt eller kan ikke afinstalleres rigtigt.<br /><br />Du kan eksekvere modulfiler manuelt for module, der er overf&oslash;rt via FTP, nedenfor.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION_WARNING'] = 'Advarsel: Eksisterende databaseregistreringer om modulerne vil g&aring; tabt. Anvend kun denne mulighed, hvis du oplever problemer med at overf&oslash;re via FTP.';
+
+?>

Property changes on: tags/2.8.2/wb/languages/DA.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/languages/TR.php
===================================================================
--- tags/2.8.2/wb/languages/TR.php	(nonexistent)
+++ tags/2.8.2/wb/languages/TR.php	(revision 1481)
@@ -0,0 +1,595 @@
+<?php
+/**
+ *
+ * @category        framework
+ * @package         language
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// use languageedit-module to modify this file
+
+// Define that this file is loaded
+if(!defined('LANGUAGE_LOADED')) {
+define('LANGUAGE_LOADED', true);
+}
+
+// Set the language information
+$language_code = 'TR';
+$language_name = 'Turkish';
+$language_version = '2.8';
+$language_platform = '2.8.x';
+$language_author = 'Atakan KO&Ccedil;';
+$language_license = 'GNU General Public License';
+
+// Menu titles
+$MENU['START'] = 'Ba&thorn;lat';
+$MENU['PAGES'] = 'Sayfalar';
+$MENU['MEDIA'] = 'Resimler';
+$MENU['ADDONS'] = 'Eklentiler';
+$MENU['MODULES'] = 'Mod&uuml;ller';
+$MENU['TEMPLATES'] = 'Kal&yacute;plar';
+$MENU['LANGUAGES'] = 'Diller';
+$MENU['PREFERENCES'] = 'Tercihler';
+$MENU['SETTINGS'] = 'Ayarlar';
+$MENU['ADMINTOOLS'] = 'Admin-Tools';
+$MENU['ACCESS'] = 'Giri&thorn;';
+$MENU['USERS'] = 'Kullan&yacute;c&yacute;lar';
+$MENU['GROUPS'] = 'Gruplar';
+$MENU['HELP'] = 'Yard&yacute;m';
+$MENU['VIEW'] = 'G&ouml;r&uuml;nt&uuml;le';
+$MENU['LOGOUT'] = '&Ccedil;&yacute;k&yacute;&thorn;';
+$MENU['LOGIN'] = 'Giri&thorn;';
+$MENU['FORGOT'] = 'Giri&thorn; Bilgilerini Gerial';
+
+// Section overviews
+$OVERVIEW['START'] = 'Y&ouml;netici G&ouml;r&uuml;n&uuml;m&uuml;';
+$OVERVIEW['PAGES'] = 'Website Sayfalar&yacute;n&yacute; Y&ouml;netme...';
+$OVERVIEW['MEDIA'] = 'Resim Deposundaki Dosyalar&yacute; Y&ouml;netme...';
+$OVERVIEW['MODULES'] = 'WebsiteBaker Mod&uuml;llerini Y&ouml;netme...';
+$OVERVIEW['TEMPLATES'] = 'Websitenizdeki Kal&yacute;plar&yacute; De&eth;i&thorn;tirme Ve D&uuml;zenleme...';
+$OVERVIEW['LANGUAGES'] = 'WebsiteBaker Dilleri D&uuml;zenleme...';
+$OVERVIEW['PREFERENCES'] = 'Email, &THORN;ifre gibi ayarlar&yacute; d&uuml;zenleme... ';
+$OVERVIEW['SETTINGS'] = 'WebsiteBaker i&ccedil;in ayarlar&yacute; d&uuml;zenleme...';
+$OVERVIEW['USERS'] = 'WebsiteBaker kullan&yacute;c&yacute;lar&yacute;n&yacute; d&uuml;zenleme...';
+$OVERVIEW['GROUPS'] = 'Kullan&yacute;c&yacute; Gruplar&yacute;n&yacute;n &Yacute;zinlerini D&uuml;zenleme...';
+$OVERVIEW['HELP'] = 'Sorular&yacute;n&yacute;z? Cevaplar&yacute;...';
+$OVERVIEW['VIEW'] = 'Yeni bir pencerede sitenizin &ouml;ng&ouml;r&uuml;n&uuml;m&uuml;...';
+$OVERVIEW['ADMINTOOLS'] = 'Access the WebsiteBaker administration tools...';
+
+// Headings
+$HEADING['MODIFY_DELETE_PAGE'] = 'De&eth;i&thorn;tir/Sil Sayfa';
+$HEADING['DELETED_PAGES'] = 'Sayfay&yacute; Sil';
+$HEADING['ADD_PAGE'] = 'Sayfa Ekle';
+$HEADING['ADD_HEADING'] = 'Ba&thorn;l&yacute;k Ekle';
+$HEADING['MODIFY_PAGE'] = 'Sayfay&yacute; De&eth;i&thorn;tir';
+$HEADING['MODIFY_PAGE_SETTINGS'] = 'Sayfa Ayarlar&yacute;n&yacute; De&eth;i&thorn;tir';
+$HEADING['MODIFY_ADVANCED_PAGE_SETTINGS'] = 'Geli&thorn;tirilmi&thorn; Sayfa Ayarlar&yacute;n&yacute; De&eth;i&thorn;tir';
+$HEADING['MANAGE_SECTIONS'] = 'K&yacute;s&yacute;mlar&yacute; Y&ouml;net';
+$HEADING['MODIFY_INTRO_PAGE'] = 'Ba&thorn;lang&yacute;&ccedil; Sayfas&yacute;n&yacute; D&uuml;zenle';
+
+$HEADING['BROWSE_MEDIA'] = 'Resimleri Y&ouml;netme';
+$HEADING['CREATE_FOLDER'] = 'Dizin Yarat';
+$HEADING['UPLOAD_FILES'] = 'Dosya Y&uuml;kle';
+
+$HEADING['INSTALL_MODULE'] = 'Mod&uuml;l Y&uuml;kle';
+$HEADING['UNINSTALL_MODULE'] = 'Mod&uuml;l Kald&yacute;r';
+$HEADING['MODULE_DETAILS'] = 'Mod&uuml;l A&ccedil;&yacute;klamas&yacute;';
+
+$HEADING['INSTALL_TEMPLATE'] = 'Kal&yacute;p Y&uuml;kle';
+$HEADING['UNINSTALL_TEMPLATE'] = 'Kal&yacute;p Kald&yacute;r';
+$HEADING['TEMPLATE_DETAILS'] = 'Kal&yacute;p A&ccedil;&yacute;klamas&yacute;';
+
+$HEADING['INSTALL_LANGUAGE'] = 'Dil Y&uuml;kle';
+$HEADING['UNINSTALL_LANGUAGE'] = 'Dil Kald&yacute;r';
+$HEADING['LANGUAGE_DETAILS'] = 'Dil A&ccedil;&yacute;klamas&yacute;';
+
+$HEADING['MY_SETTINGS'] = 'Ayarlar&yacute;m';
+$HEADING['MY_EMAIL'] = 'Emailim';
+$HEADING['MY_PASSWORD'] = '&THORN;ifrem';
+
+$HEADING['GENERAL_SETTINGS'] = 'Genel Ayarlar';
+$HEADING['DEFAULT_SETTINGS'] = 'Varsay&yacute;lan Ayarlar';
+$HEADING['SEARCH_SETTINGS'] = 'Arama Ayarlar&yacute;';
+$HEADING['FILESYSTEM_SETTINGS'] = 'Dosya Sistemi Ayarlar&yacute;';
+$HEADING['SERVER_SETTINGS'] = 'Server Ayarlar&yacute;';
+$HEADING['WBMAILER_SETTINGS'] = 'Mailer Settings';
+$HEADING['ADMINISTRATION_TOOLS'] = 'Administration Ara&ccedil;lar&yacute;';
+
+$HEADING['MODIFY_DELETE_USER'] = 'De&eth;i&thorn;tir/Sil kullan&yacute;c&yacute;';
+$HEADING['ADD_USER'] = 'Kullan&yacute;c&yacute; Ekle';
+$HEADING['MODIFY_USER'] = 'Kullan&yacute;c&yacute; D&uuml;zenle';
+
+$HEADING['MODIFY_DELETE_GROUP'] = 'De&eth;i&thorn;tir/Sil Grup';
+$HEADING['ADD_GROUP'] = 'Grup Ekle';
+$HEADING['MODIFY_GROUP'] = 'Grup D&uuml;zenle';
+
+$HEADING['ADDON_PRECHECK_FAILED'] = 'Add-On requirements not met';
+$HEADING['INVOKE_MODULE_FILES'] = 'Execute module files manually';
+
+// Other text
+$TEXT['OPEN'] = 'Open';
+$TEXT['ADD'] = 'Ekle';
+$TEXT['MODIFY'] = 'D&uuml;zenle';
+$TEXT['SETTINGS'] = 'Ayarlar';
+$TEXT['DELETE'] = 'Sil';
+$TEXT['SAVE'] = 'Kay&yacute;t et';
+$TEXT['RESET'] = 'S&yacute;f&yacute;rla';
+$TEXT['LOGIN'] = 'Giri&thorn;';
+$TEXT['RELOAD'] = 'Tekrarla';
+$TEXT['CANCEL'] = '&Yacute;ptal';
+$TEXT['NAME'] = '&Yacute;sim';
+$TEXT['PLEASE_SELECT'] = 'L&uuml;tfen Se&ccedil;in';
+$TEXT['TITLE'] = 'Ba&thorn;l&yacute;k';
+$TEXT['PARENT'] = 'Ana Grup';
+$TEXT['TYPE'] = 'Tip';
+$TEXT['VISIBILITY'] = 'G&ouml;r&uuml;n&uuml;rl&uuml;k';
+$TEXT['PRIVATE'] = '&Ouml;zel';
+$TEXT['PUBLIC'] = 'Herkez';
+$TEXT['NONE'] = 'Yok';
+$TEXT['NONE_FOUND'] = 'Hi&ccedil;biri bulmad&yacute;';
+$TEXT['CURRENT'] = 'Kullan&yacute;lan';
+$TEXT['CHANGE'] = 'De&eth;i&thorn;tir';
+$TEXT['WINDOW'] = 'Pencere';
+$TEXT['DESCRIPTION'] = 'A&ccedil;&yacute;klama';
+$TEXT['KEYWORDS'] = 'Keywords';
+$TEXT['ADMINISTRATORS'] = 'Y&ouml;nerici';
+$TEXT['PRIVATE_VIEWERS'] = '&Ouml;zel izleyiciler';
+$TEXT['EXPAND'] = 'Geni&thorn;let';
+$TEXT['COLLAPSE'] = 'Daralt';
+$TEXT['MOVE_UP'] = 'Yukar&yacute; Ta&thorn;&yacute;';
+$TEXT['MOVE_DOWN'] = 'A&thorn;a&eth;&yacute; Ta&thorn;&yacute;';
+$TEXT['RENAME'] = 'Yeni isim ver';
+$TEXT['MODIFY_SETTINGS'] = 'Ayarlar&yacute; De&eth;i&thorn;tir';
+$TEXT['MODIFY_CONTENT'] = 'D&uuml;zeni De&eth;i&thorn;tir';
+$TEXT['VIEW'] = 'G&ouml;r&uuml;n&uuml;&thorn;';
+$TEXT['UP'] = 'Yukar&yacute;';
+$TEXT['FORGOTTEN_DETAILS'] = 'Sizin Ayr&yacute;nt&yacute;l&yacute; Detaylar&yacute;n&yacute;z?';
+$TEXT['NEED_TO_LOGIN'] = 'Need to log-in?';
+$TEXT['SEND_DETAILS'] = 'Detaylar&yacute; G&ouml;nder';
+$TEXT['USERNAME'] = 'Kullan&yacute;c&yacute; Ad&yacute;';
+$TEXT['PASSWORD'] = '&THORN;ifre';
+$TEXT['HOME'] = 'Ana Sayfa';
+$TEXT['TARGET_FOLDER'] = 'Hedef Dizin';
+$TEXT['OVERWRITE_EXISTING'] = '&Uuml;st&uuml;ne Yaz';
+$TEXT['FILE'] = 'Dosya';
+$TEXT['FILES'] = 'Dosyalar';
+$TEXT['FOLDER'] = 'Dizin';
+$TEXT['FOLDERS'] = 'Dizinler';
+$TEXT['CREATE_FOLDER'] = 'Dizin Yarat';
+$TEXT['UPLOAD_FILES'] = 'Dosya Y&uuml;kle';
+$TEXT['CURRENT_FOLDER'] = 'Kullan&yacute;lan Dizin';
+$TEXT['TO'] = 'To';
+$TEXT['FROM'] = 'From';
+$TEXT['INSTALL'] = 'Y&uuml;kle';
+$TEXT['UNINSTALL'] = 'Kald&yacute;r';
+$TEXT['VIEW_DETAILS'] = 'Detaylar';
+$TEXT['DISPLAY_NAME'] = 'G&ouml;r&uuml;n&uuml;m Ad&yacute;';
+$TEXT['AUTHOR'] = 'Yazar';
+$TEXT['VERSION'] = 'Versiyon';
+$TEXT['DESIGNED_FOR'] = 'D&uuml;zenleyen';
+$TEXT['DESCRIPTION'] = 'A&ccedil;&yacute;klama';
+$TEXT['EMAIL'] = 'Email';
+$TEXT['LANGUAGE'] = 'Dil';
+$TEXT['TIMEZONE'] = 'Zaman Dilimi';
+$TEXT['CURRENT_PASSWORD'] = 'Kullan&yacute;lan &THORN;ifre';
+$TEXT['NEW_PASSWORD'] = 'Yeni &THORN;ifre';
+$TEXT['RETYPE_NEW_PASSWORD'] = 'Tekrarla Yeni &THORN;ifre';
+$TEXT['ACTIVE'] = 'Aktif';
+$TEXT['DISABLED'] = '&Yacute;ptal';
+$TEXT['ENABLED'] = '&Yacute;zin Ver';
+$TEXT['RETYPE_PASSWORD'] = '&THORN;ifreyi Tekrarla';
+$TEXT['GROUP'] = 'Grup';
+$TEXT['SYSTEM_PERMISSIONS'] = 'Sistem &Yacute;zinleri';
+$TEXT['MODULE_PERMISSIONS'] = 'Mod&uuml;l &Yacute;zinleri';
+$TEXT['SHOW_ADVANCED'] = '&Yacute;leri Se&ccedil;enekleri G&ouml;ster';
+$TEXT['HIDE_ADVANCED'] = '&Yacute;leri Se&ccedil;enekleri Gizle';
+$TEXT['BASIC'] = 'Ba&thorn;lang&yacute;&ccedil;';
+$TEXT['ADVANCED'] = '&Yacute;leri';
+$TEXT['WEBSITE'] = 'Website';
+$TEXT['DEFAULT'] = 'Varsay&yacute;lan';
+$TEXT['KEYWORDS'] = 'Keywords';
+$TEXT['TEXT'] = 'Yaz&yacute;';
+$TEXT['HEADER'] = '&Uuml;st K&yacute;s&yacute;m';
+$TEXT['FOOTER'] = 'Alt K&yacute;s&yacute;m';
+$TEXT['TEMPLATE'] = 'Kal&yacute;p';
+$TEXT['THEME'] = 'Backend-Theme';
+$TEXT['INSTALLATION'] = 'Y&uuml;kle';
+$TEXT['DATABASE'] = 'Database';
+$TEXT['HOST'] = 'Host';
+$TEXT['INTRO'] = 'Demo';
+$TEXT['PAGE'] = 'Sayfa';
+$TEXT['SIGNUP'] = 'Kay&yacute;t Ol';
+$TEXT['PHP_ERROR_LEVEL'] = 'PHP Hata Rapor D&uuml;zeyi';
+$TEXT['ADMIN'] = 'Admin';
+$TEXT['PATH'] = 'Yol';
+$TEXT['URL'] = 'URL';
+$TEXT['FRONTEND'] = 'Son Kullan&yacute;c&yacute;';
+$TEXT['EXTENSION'] = 'Uzatma';
+$TEXT['TABLE_PREFIX'] = 'Table D&uuml;zen Ad&yacute;';
+$TEXT['CHANGES'] = 'De&eth;i&thorn;iklikler';
+$TEXT['ADMINISTRATION'] = 'Y&ouml;netici';
+$TEXT['FORGOT_DETAILS'] = 'Detay Hat&yacute;rlat?';
+$TEXT['LOGGED_IN'] = 'Giri&thorn; Kaydet';
+$TEXT['WELCOME_BACK'] = 'Ho&thorn;geldiniz';
+$TEXT['FULL_NAME'] = 'Tam Ad&yacute;n&yacute;z';
+$TEXT['ACCOUNT_SIGNUP'] = 'Kull&yacute;c&yacute; Kay&yacute;t Ol';
+$TEXT['LINK'] = 'Link';
+$TEXT['ANCHOR'] = 'Anchor';
+$TEXT['TARGET'] = 'Hedef';
+$TEXT['NEW_WINDOW'] = 'Yeni Pencere';
+$TEXT['SAME_WINDOW'] = 'Ayn&yacute; Pencere';
+$TEXT['TOP_FRAME'] = 'Top Frame';
+$TEXT['PAGE_LEVEL_LIMIT'] = 'Sayfa Alt Limiti';
+$TEXT['SUCCESS'] = '&Yacute;&thorn;lem Ba&thorn;ar&yacute;ld&yacute;';
+$TEXT['ERROR'] = 'Hata';
+$TEXT['ARE_YOU_SURE'] = 'eminmisin?';
+$TEXT['YES'] = 'Evet';
+$TEXT['NO'] = 'Hay&yacute;r';
+$TEXT['SYSTEM_DEFAULT'] = 'Sistem Varsay&yacute;lan&yacute;';
+$TEXT['PAGE_TITLE'] = 'Sayfa Ba&thorn;l&yacute;&eth;&yacute;';
+$TEXT['MENU_TITLE'] = 'Menu Ba&thorn;l&yacute;&eth;&yacute;';
+$TEXT['ACTIONS'] = 'Hareketler';
+$TEXT['UNKNOWN'] = 'Bilinmeyen';
+$TEXT['BLOCK'] = 'Blok';
+$TEXT['SEARCH'] = 'Ara';
+$TEXT['SEARCHING'] = 'Arama';
+$TEXT['POST'] = 'Mesaj';
+$TEXT['COMMENT'] = 'Yorum';
+$TEXT['COMMENTS'] = 'Yorumlar';
+$TEXT['COMMENTING'] = 'Yorum yapan';
+$TEXT['SHORT'] = 'K&yacute;sa';
+$TEXT['LONG'] = 'Uzun';
+$TEXT['LOOP'] = 'S&uuml;rekli';
+$TEXT['FIELD'] = 'Alan';
+$TEXT['REQUIRED'] = 'Gerekli';
+$TEXT['LENGTH'] = 'Uzunluk';
+$TEXT['MESSAGE'] = 'Mesaj';
+$TEXT['SUBJECT'] = 'Konu';
+$TEXT['MATCH'] = 'Bul';
+$TEXT['ALL_WORDS'] = 'B&uuml;t&uuml;n Kelimeler';
+$TEXT['ANY_WORDS'] = 'Herhangi bir s&ouml;zc&uuml;k';
+$TEXT['EXACT_MATCH'] = 'Tam Bul';
+$TEXT['SHOW'] = 'G&ouml;ster';
+$TEXT['HIDE'] = 'Gizle';
+$TEXT['START_PUBLISHING'] = 'Yay&yacute;na Ba&thorn;la';
+$TEXT['FINISH_PUBLISHING'] = 'Yay&yacute;n&yacute; Bitir';
+$TEXT['DATE'] = 'Tarih';
+$TEXT['START'] = 'Ba&thorn;lat';
+$TEXT['END'] = 'Son';
+$TEXT['IMAGE'] = 'Resim';
+$TEXT['ICON'] = 'Ikon';
+$TEXT['SECTION'] = 'K&yacute;s&yacute;m';
+$TEXT['DATE_FORMAT'] = 'Tarih Format&yacute;';
+$TEXT['TIME_FORMAT'] = 'Saat Format&yacute;';
+$TEXT['RESULTS'] = 'Sonu&ccedil;lar';
+$TEXT['RESIZE'] = 'Tekrar Boyutland&yacute;r';
+$TEXT['MANAGE'] = 'Y&ouml;net';
+$TEXT['CODE'] = 'Kod';
+$TEXT['WIDTH'] = 'Geni&thorn;lik';
+$TEXT['HEIGHT'] = 'Y&uuml;kseklik';
+$TEXT['MORE'] = 'Daha &Ccedil;ok';
+$TEXT['READ_MORE'] = 'Oku';
+$TEXT['CHANGE_SETTINGS'] = 'Ayarlar&yacute; De&eth;i&thorn;tir';
+$TEXT['CURRENT_PAGE'] = 'Kullan&yacute;lan Sayfa';
+$TEXT['CLOSE'] = 'Kapat';
+$TEXT['INTRO_PAGE'] = 'Demo Sayfas&yacute;';
+$TEXT['INSTALLATION_URL'] = 'Y&uuml;keleme URL';
+$TEXT['INSTALLATION_PATH'] = 'Y&uuml;kleme Yolu';
+$TEXT['PAGE_EXTENSION'] = 'Sayfa Uzant&yacute;s&yacute;';
+$TEXT['NO_RESULTS'] = 'Bulunamad&yacute;';
+$TEXT['WEBSITE_TITLE'] = 'Website Ba&thorn;l&yacute;&eth;&yacute;';
+$TEXT['WEBSITE_DESCRIPTION'] = 'Website A&ccedil;&yacute;klamas&yacute;';
+$TEXT['WEBSITE_KEYWORDS'] = 'Website Keywords';
+$TEXT['WEBSITE_HEADER'] = 'Website &Uuml;st K&yacute;s&yacute;m';
+$TEXT['WEBSITE_FOOTER'] = 'Website Alt K&yacute;s&yacute;m';
+$TEXT['RESULTS_HEADER'] = 'Bulundu&eth;unda &Uuml;st K&yacute;s&yacute;m';
+$TEXT['RESULTS_LOOP'] = 'Bulundu&eth;unda D&ouml;ng&uuml;';
+$TEXT['RESULTS_FOOTER'] = 'Bulundu&eth;unda Alt K&yacute;s&yacute;m';
+$TEXT['LEVEL'] = 'Limit';
+$TEXT['NOT_FOUND'] = 'Bulunamad&yacute;';
+$TEXT['PAGE_SPACER'] = 'Sayfa Bo&thorn;lu&eth;u';
+$TEXT['MATCHING'] = 'Bulunanlar';
+$TEXT['TEMPLATE_PERMISSIONS'] = 'Kal&yacute;p &Yacute;zinleri';
+$TEXT['PAGES_DIRECTORY'] = 'Sayfa Dizini';
+$TEXT['MEDIA_DIRECTORY'] = 'Resim Dizini';
+$TEXT['FILE_MODE'] = 'Dosya &Yacute;zini';
+$TEXT['USER'] = 'Kullan&yacute;c&yacute;';
+$TEXT['OTHERS'] = 'Di&eth;erleri';
+$TEXT['READ'] = 'Oku';
+$TEXT['WRITE'] = 'Yaz';
+$TEXT['EXECUTE'] = '&Ccedil;al&yacute;&thorn;t&yacute;r';
+$TEXT['SMART_LOGIN'] = 'G&uuml;venli Giri&thorn;';
+$TEXT['REMEMBER_ME'] = 'Haz&yacute;rla';
+$TEXT['FILESYSTEM_PERMISSIONS'] = 'Dosya Sistemi &Yacute;zinleri';
+$TEXT['DIRECTORIES'] = 'Dizinler';
+$TEXT['DIRECTORY_MODE'] = 'Dizin Modu';
+$TEXT['LIST_OPTIONS'] = 'Liste se&ccedil;enekleri';
+$TEXT['OPTION'] = 'Se&ccedil;enekler';
+$TEXT['ALLOW_MULTIPLE_SELECTIONS'] = '&Ccedil;oklu se&ccedil;imlere izin ver';
+$TEXT['TEXTFIELD'] = 'Textfield';
+$TEXT['TEXTAREA'] = 'Textarea';
+$TEXT['SELECT_BOX'] = 'Se&ccedil;meli Men&uuml;';
+$TEXT['CHECKBOX_GROUP'] = 'T&yacute;klamal&yacute; Se&ccedil;im';
+$TEXT['RADIO_BUTTON_GROUP'] = 'Radyo D&uuml;&eth;meleri';
+$TEXT['SIZE'] = 'Boyut';
+$TEXT['DEFAULT_TEXT'] = 'Varsay&yacute;lan Yaz&yacute;';
+$TEXT['SEPERATOR'] = 'B&ouml;l&uuml;c&uuml;';
+$TEXT['BACK'] = 'Geri';
+$TEXT['UNDER_CONSTRUCTION'] = 'Yap&yacute;m A&thorn;amas&yacute;nda';
+$TEXT['MULTISELECT'] = '&Ccedil;oklu Se&ccedil;im';
+$TEXT['SHORT_TEXT'] = 'K&yacute;sa Yaz&yacute;';
+$TEXT['LONG_TEXT'] = 'Uzun Yaz&yacute;';
+$TEXT['HOMEPAGE_REDIRECTION'] = 'Ana sayfa y&ouml;nlendir';
+$TEXT['HEADING'] = 'Ba&thorn;l&yacute;k';
+$TEXT['MULTIPLE_MENUS'] = '&Ccedil;oklu men&uuml;ler';
+$TEXT['REGISTERED'] = 'Kay&yacute;tl&yacute; Kullan&yacute;c&yacute;';
+$TEXT['SECTION_BLOCKS'] = 'K&yacute;s&yacute;m bloklar&yacute;';
+$TEXT['REGISTERED_VIEWERS'] = '&Yacute;zleyiciler kaydetti';
+$TEXT['ALLOWED_VIEWERS'] = 'Allowed Viewers';
+$TEXT['SUBMISSION_ID'] = 'Sunu&thorn;lar ID';
+$TEXT['SUBMISSIONS'] = 'Sunu&thorn;lar';
+$TEXT['SUBMITTED'] = 'G&ouml;nderildi';
+$TEXT['MAX_SUBMISSIONS_PER_HOUR'] = 'Maksimum Saat Ba&thorn;&yacute; Sunum';
+$TEXT['SUBMISSIONS_STORED_IN_DATABASE'] = 'Sunu&thorn;lar, veritaban&yacute;nda depolad&yacute;';
+$TEXT['EMAIL_ADDRESS'] = 'Email Adresi';
+$TEXT['CUSTOM'] = 'Custom';
+$TEXT['ANONYMOUS'] = 'Bilinmeyen';
+$TEXT['SERVER_OPERATING_SYSTEM'] = 'Server &Yacute;&thorn;letim Sistemi';
+$TEXT['WORLD_WRITEABLE_FILE_PERMISSIONS'] = 'Yaz&yacute;labilir dosya izinleri';
+$TEXT['LINUX_UNIX_BASED'] = 'Linux/Unix tabanl&yacute;';
+$TEXT['WINDOWS'] = 'Windows';
+$TEXT['HOME_FOLDER'] = 'Ana Dizin';
+$TEXT['HOME_FOLDERS'] = 'Ana Dizinler';
+$TEXT['PAGE_TRASH'] = 'Sayfay&yacute; Sil';
+$TEXT['INLINE'] = 'In-line';
+$TEXT['SEPARATE'] = 'Ay&yacute;r&yacute;c&yacute;';
+$TEXT['DELETED'] = 'Silindi';
+$TEXT['VIEW_DELETED_PAGES'] = 'Silinen Sayfay&yacute; G&ouml;ster';
+$TEXT['EMPTY_TRASH'] = '&Ccedil;&ouml;p kutusu bo&thorn;';
+$TEXT['TRASH_EMPTIED'] = '&Ccedil;&ouml;p kutusu bo&thorn;alt&yacute;ld&yacute;';
+$TEXT['ADD_SECTION'] = 'K&yacute;s&yacute;m Ekle';
+$TEXT['POST_HEADER'] = '&Uuml;st Mesaj&yacute;';
+$TEXT['POST_FOOTER'] = 'Alt Mesaj';
+$TEXT['POSTS_PER_PAGE'] = 'Sayfa ba&thorn;&yacute;na mesajlar';
+$TEXT['RESIZE_IMAGE_TO'] = 'Boyutland&yacute;r resimi';
+$TEXT['UNLIMITED'] = 'S&yacute;n&yacute;rs&yacute;z';
+$TEXT['OF'] = 'Of';
+$TEXT['OUT_OF'] = 'D&yacute;&thorn;ar&yacute;';
+$TEXT['NEXT'] = 'Sonraki';
+$TEXT['PREVIOUS'] = '&Ouml;nceki';
+$TEXT['NEXT_PAGE'] = 'Sonraki Sayfa';
+$TEXT['PREVIOUS_PAGE'] = '&Ouml;nceki Sayfa';
+$TEXT['ON'] = 'On';
+$TEXT['LAST_UPDATED_BY'] = 'Son G&uuml;ncelleyen';
+$TEXT['RESULTS_FOR'] = 'Sonu&ccedil;lar';
+$TEXT['TIME'] = 'Saat';
+$TEXT['REDIRECT_AFTER'] = 'Redirect after';
+$TEXT['WYSIWYG_STYLE'] = 'WYSIWYG Style';
+$TEXT['WYSIWYG_EDITOR'] = 'WYSIWYG Editor';
+$TEXT['SERVER_EMAIL'] = 'Server Email';
+$TEXT['MENU'] = 'Menu';
+$TEXT['MANAGE_GROUPS'] = 'Grup Y&ouml;netimi';
+$TEXT['MANAGE_USERS'] = 'Kullan&yacute;c&yacute; Y&ouml;netimi';
+$TEXT['PAGE_LANGUAGES'] = 'Sayfa Dili';
+$TEXT['HIDDEN'] = 'Gizli';
+$TEXT['MAIN'] = 'Ana';
+$TEXT['RENAME_FILES_ON_UPLOAD'] = 'Y&uuml;klenen dosyan&yacute;n ad&yacute;n&yacute; de&eth;i&thorn;tir';
+$TEXT['APP_NAME'] = 'Application Ad&yacute;';
+$TEXT['SESSION_IDENTIFIER'] = 'Session Identifier';
+$TEXT['SEC_ANCHOR'] = 'Section-Anchor text';
+$TEXT['BACKUP'] = 'Yedek Al';
+$TEXT['RESTORE'] = 'Yede&eth;i y&uuml;kle';
+$TEXT['BACKUP_DATABASE'] = 'Database Yedekle';
+$TEXT['RESTORE_DATABASE'] = 'Database Geri Y&uuml;kle';
+$TEXT['BACKUP_ALL_TABLES'] = 'Backup all tables in database';
+$TEXT['BACKUP_WB_SPECIFIC'] = 'Backup only WB-specific tables';
+$TEXT['BACKUP_MEDIA'] = 'Media Yedekle';
+$TEXT['RESTORE_MEDIA'] = 'Media Geri Y&uuml;kle';
+$TEXT['ADMINISTRATION_TOOL'] = 'Administration tool';
+$TEXT['CAPTCHA_VERIFICATION'] = 'Captcha Verification';
+$TEXT['VERIFICATION'] = 'Verification';
+$TEXT['DEFAULT_CHARSET'] = 'Default Charset';
+$TEXT['CHARSET'] = 'Charset';
+$TEXT['MODULE_ORDER'] = 'Module-order for searching';
+$TEXT['MAX_EXCERPT'] = 'Max lines of excerpt';
+$TEXT['TIME_LIMIT'] = 'Max time to gather excerpts per module';
+$TEXT['PUBL_START_DATE'] = 'Start date';
+$TEXT['PUBL_END_DATE'] = 'End date';
+$TEXT['CALENDAR'] = 'Calender';
+$TEXT['DELETE_DATE'] = 'Delete date';
+$TEXT['WBMAILER_DEFAULT_SETTINGS_NOTICE'] = 'Please specify a default "FROM" address and "SENDER" name below. It is recommended to use a FROM address like: <strong>admin@yourdomain.com</strong>. Some mail provider (e.g. <em>mail.com</em>) may reject mails with a FROM: address like <em>name@mail.com</em> sent via a foreign relay to avoid spam.<br /><br />The default values are only used if no other values are specified by WebsiteBaker. If your server supports <acronym title="Simple mail transfer protocol">SMTP</acronym>, you may want use this option for outgoing mails.';
+$TEXT['WBMAILER_DEFAULT_SENDER_MAIL'] = 'Default From Mail';
+$TEXT['WBMAILER_DEFAULT_SENDER_NAME'] = 'Default Sender Name';
+$TEXT['WBMAILER_NOTICE'] = '<strong>SMTP Mailer Settings:</strong><br />The settings below are only required if you want to send mails via <acronym title="Simple mail transfer protocol">SMTP</acronym>. If you do not know your SMTP host or you are not sure about the required settings, simply stay with the default mail routine: PHP MAIL.';
+$TEXT['WBMAILER_FUNCTION'] = 'Mail Routine';
+$TEXT['WBMAILER_SMTP_HOST'] = 'SMTP Host';
+$TEXT['WBMAILER_PHP'] = 'PHP MAIL';
+$TEXT['WBMAILER_SMTP'] = 'SMTP';
+$TEXT['WBMAILER_SMTP_AUTH'] = 'SMTP Authentification';
+$TEXT['WBMAILER_SMTP_AUTH_NOTICE'] = 'only activate if your SMTP host requires authentification';
+$TEXT['WBMAILER_SMTP_USERNAME'] = 'SMTP Username';
+$TEXT['WBMAILER_SMTP_PASSWORD'] = 'SMTP Password';
+$TEXT['PLEASE_LOGIN'] = 'Please login';
+$TEXT['CAP_EDIT_CSS'] = 'Edit CSS';
+$TEXT['HEADING_CSS_FILE'] = 'Actual module file: ';
+$TEXT['TXT_EDIT_CSS_FILE'] = 'Edit the CSS definitions in the textarea below.';
+$TEXT['CODE_SNIPPET'] = "Code-snippet";
+$TEXT['REQUIREMENT'] = "Requirement";
+$TEXT['INSTALLED'] = "installed";
+$TEXT['NOT_INSTALLED'] = "not installed";
+$TEXT['ADDON'] = "Add-On";
+$TEXT['EXTENSION'] = "Extension";
+$TEXT['UNZIP_FILE'] = "Upload and unpack a zip archive";
+$TEXT['DELETE_ZIP'] = "Delete zip archive after unpacking";
+
+// Success/error messages
+$MESSAGE['FRONTEND']['SORRY_NO_VIEWING_PERMISSIONS'] = '&Uuml;zg&uuml;n&uuml;m, bu sayfay&yacute; g&ouml;r&uuml;nt&uuml;lemeye yetkiniz yok';
+$MESSAGE['FRONTEND']['SORRY_NO_ACTIVE_SECTIONS'] = 'Sorry, no active content to display';
+
+$MESSAGE['ADMIN']['INSUFFICIENT_PRIVELLIGES'] = 'Insufficient privelliges to be here';
+
+$MESSAGE['LOGIN']['BOTH_BLANK'] = 'Kullan&yacute;c&yacute; ad&yacute; ve &thorn;ifre giriniz';
+$MESSAGE['LOGIN']['USERNAME_BLANK'] = 'L&uuml;tfen kullanc&yacute; ad&yacute; girin';
+$MESSAGE['LOGIN']['PASSWORD_BLANK'] = 'L&uuml;tfen &thorn;ifre girin';
+$MESSAGE['LOGIN']['USERNAME_TOO_SHORT'] = 'Kullan&yacute;c&yacute; ad&yacute; &ccedil;ok k&yacute;sa';
+$MESSAGE['LOGIN']['PASSWORD_TOO_SHORT'] = '&THORN;ifreniz &ccedil;ok k&yacute;sa';
+$MESSAGE['LOGIN']['USERNAME_TOO_LONG'] = 'Kullan&yacute;c&yacute; ad&yacute;n&yacute;z &ccedil;ok uzun';
+$MESSAGE['LOGIN']['PASSWORD_TOO_LONG'] = '&THORN;ifreniz &ccedil;ok uzun';
+$MESSAGE['LOGIN']['AUTHENTICATION_FAILED'] = 'Kullan&yacute;c&yacute; ad&yacute; ve &thorn;ifreniz yanl&yacute;&thorn;';
+
+$MESSAGE['SIGNUP']['NO_EMAIL'] = 'Bir email adresi girmelisiniz.';
+$MESSAGE['SIGNUP2']['SUBJECT_LOGIN_INFO'] = 'Your login details...';
+$MESSAGE['SIGNUP2']['BODY_LOGIN_INFO'] = <<< EOT
+Hello {LOGIN_DISPLAY_NAME},
+
+Your '{LOGIN_WEBSITE_TITLE}' login details are:
+Username: {LOGIN_NAME}
+Password: {LOGIN_PASSWORD}
+
+Your password has been set to the one above.
+This means that your old password will no longer work.
+
+If you have received this message in error, please delete it immediately.
+EOT;
+
+$MESSAGE['FORGOT_PASS']['NO_DATA'] = 'L&uuml;tfen email adresini girin';
+$MESSAGE['FORGOT_PASS']['EMAIL_NOT_FOUND'] = 'Bu email adresi veritaban&yacute;nda bulunamad&yacute;';
+$MESSAGE['FORGOT_PASS']['CANNOT_EMAIL'] = 'Uygunsuz email &thorn;ifresi, L&uuml;tfen Y&ouml;netici ile Kontak kurun';
+$MESSAGE['FORGOT_PASS']['PASSWORD_RESET'] = 'Sizin kullan&yacute;c&yacute; ad&yacute;n&yacute;z ve &thorn;ifreniz email adresinize g&ouml;nderildi';
+$MESSAGE['FORGOT_PASS']['ALREADY_RESET'] = 'Paralonuzu 1 saat aral&yacute;klarla de&eth;i&thorn;tirebilirsiniz.';
+
+$MESSAGE['START']['WELCOME_MESSAGE'] = 'Ho&thorn;geldiniz WebsiteBaker Y&ouml;netimine';
+$MESSAGE['START']['INSTALL_DIR_EXISTS'] = 'Uyar&yacute;! Y&uuml;kleme dizini halen duruyor!';
+$MESSAGE['START']['CURRENT_USER'] = 'Sizin kulland&yacute;&eth;&yacute;n&yacute;z giri&thorn; ismi:';
+
+$MESSAGE['SETTINGS']['UNABLE_OPEN_CONFIG'] = 'Unable to open the configuration file';
+$MESSAGE['SETTINGS']['UNABLE_WRITE_CONFIG'] = 'Cannot write to configuration file';
+$MESSAGE['SETTINGS']['SAVED'] = 'Ayarlar ba&thorn;ar&yacute;l&yacute; bir &thorn;ekilde kay&yacute;t edildi';
+$MESSAGE['SETTINGS']['MODE_SWITCH_WARNING'] = 'Not Edin: Bu buton b&uuml;t&uuml;n de&eth;i&thorn;iklikleri ilk haline geri getirir';
+$MESSAGE['SETTINGS']['WORLD_WRITEABLE_WARNING'] = 'Please note: this is only recommended for testing environments';
+
+$MESSAGE['USERS']['ADDED'] = 'Kullan&yacute;c&yacute;, ba&thorn;ar&yacute;l&yacute; bir &thorn;ekilde ekledi';
+$MESSAGE['USERS']['SAVED'] = 'Kullan&yacute;c&yacute;, ba&thorn;ar&yacute;l&yacute; bir &thorn;ekilde kay&yacute;t edildi';
+$MESSAGE['USERS']['DELETED'] = 'Kullan&yacute;c&yacute;, ba&thorn;ar&yacute;l&yacute; bir &thorn;ekilde silindi';
+$MESSAGE['USERS']['NO_GROUP'] = 'Hi&ccedil;bir grup se&ccedil;ilmedi';
+$MESSAGE['USERS']['USERNAME_TOO_SHORT'] = 'Girdi&eth;iniz kullan&yacute;c&yacute; ad&yacute; k&yacute;sa';
+$MESSAGE['USERS']['PASSWORD_TOO_SHORT'] = 'Girdi&eth;iniz &thorn;ifre k&yacute;sa';
+$MESSAGE['USERS']['PASSWORD_MISMATCH'] = 'Girdi&eth;iniz &thorn;ifre bulunamad&yacute;';
+$MESSAGE['USERS']['INVALID_EMAIL'] = 'Girdi&eth;iniz email adresi ge&ccedil;ersiz';
+$MESSAGE['USERS']['EMAIL_TAKEN'] = 'Girdi&eth;iniz email ba&thorn;kas&yacute; taraf&yacute;ndan kullan&yacute;l&yacute;yor';
+$MESSAGE['USERS']['USERNAME_TAKEN'] = 'Girdi&eth;iniz kullan&yacute;c&yacute; ad&yacute; ba&thorn;kas&yacute; taraf&yacute;ndan kullan&yacute;l&yacute;yor';
+$MESSAGE['USERS']['CHANGING_PASSWORD'] = 'Not Edin: Sen sadece yukar&yacute;daki alanlara de&eth;erleri gir. E&eth;er bu kullan&yacute;c&yacute;lar&yacute; dile de&eth;i&thorn;tirseydin.';
+$MESSAGE['USERS']['CONFIRM_DELETE'] = 'Se&ccedil;ti&eth;iniz kullan&yacute;c&yacute;lar&yacute; silmek istedi&eth;inizden eminmisiniz?';
+
+$MESSAGE['GROUPS']['ADDED'] = 'Grup, ba&thorn;ar&yacute;l&yacute; bir &thorn;ekilde ekledi';
+$MESSAGE['GROUPS']['SAVED'] = 'Grup, ba&thorn;ar&yacute;l&yacute; bir &thorn;ekilde kay&yacute;t edildi';
+$MESSAGE['GROUPS']['DELETED'] = 'Grup, ba&thorn;ar&yacute;l&yacute; bir &thorn;ekilde silindi';
+$MESSAGE['GROUPS']['GROUP_NAME_BLANK'] = 'Grup ad&yacute; bo&thorn;';
+$MESSAGE['GROUPS']['CONFIRM_DELETE'] = 'Se&ccedil;ti&eth;iniz grubu silmek istedi&eth;inizden eminmisiniz? (ve bu gruba ekli kullan&yacute;c&yacute;lar&yacute;)?';
+$MESSAGE['GROUPS']['NO_GROUPS_FOUND'] = 'Hi&ccedil;bir grup bulmad&yacute;';
+$MESSAGE['GROUPS']['GROUP_NAME_EXISTS'] = 'Bu grup ad&yacute; zaten var';
+
+$MESSAGE['PREFERENCES']['DETAILS_SAVED'] = 'Ayr&yacute;nt&yacute;lar, ba&thorn;ar&yacute;l&yacute; bir &thorn;ekilde kay&yacute;t edildi';
+$MESSAGE['PREFERENCES']['EMAIL_UPDATED'] = 'Email, ba&thorn;ar&yacute;l&yacute; bir &thorn;ekilde g&uuml;ncelle&thorn;tirdi';
+$MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT'] = 'Girdi&eth;iniz &thorn;ifre yanl&yacute;&thorn;';
+$MESSAGE['PREFERENCES']['PASSWORD_CHANGED'] = 'Parola, ba&thorn;ar&yacute;l&yacute; bir &thorn;ekilde de&eth;i&thorn;tirdi';
+
+$MESSAGE['TEMPLATES']['CHANGE_TEMPLATE_NOTICE'] = 'Please note: to change the template you must go to the Settings section';
+
+$MESSAGE['MEDIA']['DIR_DOT_DOT_SLASH'] = 'Giremezsiniz ../ i&ccedil;indeki dizin ad&yacute;';
+$MESSAGE['MEDIA']['DIR_DOES_NOT_EXIST'] = 'Directory does not exist';
+$MESSAGE['MEDIA']['TARGET_DOT_DOT_SLASH'] = 'Cannot have ../ in the folder target';
+$MESSAGE['MEDIA']['NAME_DOT_DOT_SLASH'] = 'Giremezsiniz ../ ismine';
+$MESSAGE['MEDIA']['NAME_INDEX_PHP'] = 'index.php isimini kullanamazs&yacute;n&yacute;z';
+$MESSAGE['MEDIA']['NONE_FOUND'] = 'No media found in the current folder';
+$MESSAGE['MEDIA']['FILE_NOT_FOUND'] = 'Dosya Bulunamad&yacute;';
+$MESSAGE['MEDIA']['DELETED_FILE'] = 'Dosya, ba&thorn;ar&yacute;l&yacute; bir &thorn;ekilde silindi';
+$MESSAGE['MEDIA']['DELETED_DIR'] = 'Dizin, ba&thorn;ar&yacute;l&yacute; bir &thorn;ekilde silindi';
+$MESSAGE['MEDIA']['CONFIRM_DELETE'] = 'Dosya ve dizinleri silmek istedi&eth;inizden eminmisiniz?';
+$MESSAGE['MEDIA']['CANNOT_DELETE_FILE'] = 'Se&ccedil;ti&eth;iniz dosya silinemiyor';
+$MESSAGE['MEDIA']['CANNOT_DELETE_DIR'] = 'Se&ccedil;ti&eth;iniz dizin silinemiyor';
+$MESSAGE['MEDIA']['BLANK_NAME'] = 'Mutlaka bir isim girmelisiniz';
+$MESSAGE['MEDIA']['BLANK_EXTENSION'] = 'Mutlaka bir uzant&yacute; girmelisinz';
+$MESSAGE['MEDIA']['RENAMED'] = 'Yeni isim ver ba&thorn;ar&yacute;l&yacute;.';
+$MESSAGE['MEDIA']['CANNOT_RENAME'] = 'Yeni isim ver ba&thorn;ar&yacute;s&yacute;z';
+$MESSAGE['MEDIA']['FILE_EXISTS'] = 'Girmi&thorn; oldu&eth;unuz dosya zaten var';
+$MESSAGE['MEDIA']['DIR_EXISTS'] = 'Girmi&thorn; oldu&eth;unuz dizin zaten var';
+$MESSAGE['MEDIA']['DIR_MADE'] = 'Dizin, ba&thorn;ar&yacute;l&yacute; bir &thorn;ekilde yaratt&yacute;';
+$MESSAGE['MEDIA']['DIR_NOT_MADE'] = 'Dizin yaratma ba&thorn;ar&yacute;s&yacute;z';
+$MESSAGE['MEDIA']['SINGLE_UPLOADED'] = ' Dosya ba&thorn;ar&yacute;l&yacute; bir &thorn;ekilde y&uuml;klendi';
+$MESSAGE['MEDIA']['UPLOADED'] = ' Dosyalar ba&thorn;ar&yacute;l&yacute; bir &thorn;ekilde y&uuml;klendi';
+
+$MESSAGE['PAGES']['ADDED'] = 'Sayfa, ba&thorn;ar&yacute;l&yacute; bir &thorn;ekilde ekledi';
+$MESSAGE['PAGES']['ADDED_HEADING'] = '&Uuml;st sayfa, ba&thorn;ar&yacute;l&yacute; bir &thorn;ekilde ekledi';
+$MESSAGE['PAGES']['PAGE_EXISTS'] = 'Bu sayfa veya dosya zaten var.';
+$MESSAGE['PAGES']['CANNOT_CREATE_ACCESS_FILE'] = 'Yarat&yacute;rken hatal&yacute; giri&thorn; /pages dizini i&ccedil;in (Yetersiz yetki)';
+$MESSAGE['PAGES']['CANNOT_DELETE_ACCESS_FILE'] = 'Silinirken hatal&yacute; giri&thorn; /pages dizini i&ccedil;in (Yetersiz yetki)';
+$MESSAGE['PAGES']['NOT_FOUND'] = 'Sayfa bulunamad&yacute;';
+$MESSAGE['PAGES']['SAVED'] = 'Sayfa, ba&thorn;ar&yacute;l&yacute; bir &thorn;ekilde kay&yacute;t edildi';
+$MESSAGE['PAGES']['SAVED_SETTINGS'] = 'Sayfa ayarlar&yacute; ba&thorn;ar&yacute;l&yacute; bir &thorn;ekilde kay&yacute;t edildi';
+$MESSAGE['PAGES']['NOT_SAVED'] = 'Kay&yacute;t edilen sayfa hatal&yacute;';
+$MESSAGE['PAGES']['DELETE_CONFIRM'] = 'Se&ccedil;ti&eth;iniz sayfay&yacute; silmek istedi&eth;inizden eminmisiniz (B&uuml;t&uuml;n alt sayfalar silinecektir)';
+$MESSAGE['PAGES']['DELETED'] = 'Sayfa, ba&thorn;ar&yacute;l&yacute; bir &thorn;ekilde silindi';
+$MESSAGE['PAGES']['RESTORED'] = 'Sayfa, ba&thorn;ar&yacute;l&yacute; bir &thorn;ekilde kurtar&yacute;ld&yacute;';
+$MESSAGE['PAGES']['BLANK_PAGE_TITLE'] = 'L&uuml;tfen sayfa ba&thorn;l&yacute;&eth;&yacute;n&yacute; girin';
+$MESSAGE['PAGES']['BLANK_MENU_TITLE'] = 'L&uuml;tfen men&uuml; ba&thorn;l&yacute;&eth;&yacute;n&yacute; girin';
+$MESSAGE['PAGES']['REORDERED'] = 'Ba&thorn;ar&yacute;l&yacute; bi&ccedil;imde yenilendi';
+$MESSAGE['PAGES']['CANNOT_REORDER'] = 'Yenilenen sayfada hata var';
+$MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS'] = 'Sizin bu sayfay&yacute; de&eth;i&thorn;tirme izininiz yok';
+$MESSAGE['PAGES']['INTRO_NOT_WRITABLE'] = 'Dosyaya yaz&yacute;lam&yacute;yor /pages/intro.php (Yetersiz yetki)';
+$MESSAGE['PAGES']['INTRO_SAVED'] = 'Giri&thorn; sayfas&yacute; ba&thorn;ar&yacute;l&yacute; bir &thorn;ekilde kay&yacute;t edildi';
+$MESSAGE['PAGES']['LAST_MODIFIED'] = 'Son de&eth;i&thorn;iklik yapan';
+$MESSAGE['PAGES']['INTRO_LINK'] = 'Buraya t&yacute;klayarak Giri&thorn; Sayfas&yacute;n&yacute; D&uuml;zenleye Bilirsiniz.';
+$MESSAGE['PAGES']['SECTIONS_PROPERTIES_SAVED'] = 'Section properties saved successfully';
+$MESSAGE['PAGES']['RETURN_TO_PAGES'] = 'Sayfaya Git';
+
+$MESSAGE['GENERIC']['FILL_IN_ALL'] = 'L&uuml;tfen geri d&ouml;n&uuml;p b&uuml;t&uuml;n alanlar&yacute; doldurunuz';
+$MESSAGE['GENERIC']['FILE_TYPE'] = 'Y&uuml;kledi&eth;in dosyan&yacute;n izin verilen dosya olmas&yacute;na dikkat edin:';
+$MESSAGE['GENERIC']['FILE_TYPES'] = 'Y&uuml;kledi&eth;in dosyalar&yacute;n izin verilen dosya olmas&yacute;na dikkat edin:';
+$MESSAGE['GENERIC']['CANNOT_UPLOAD'] = 'Dosya Y&uuml;klenemiyor';
+$MESSAGE['GENERIC']['ALREADY_INSTALLED'] = 'Daha &ouml;nce y&uuml;klenmi&thorn;ti';
+$MESSAGE['GENERIC']['NOT_INSTALLED'] = 'Y&uuml;klenemiyor';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL'] = 'Kald&yacute;r&yacute;lam&yacute;yor';
+$MESSAGE['GENERIC']['CANNOT_UNZIP'] = 'Dosya unzip edilemiyor';
+$MESSAGE['GENERIC']['INSTALLED'] = 'Ba&thorn;ar&yacute;l&yacute; bir &thorn;ekilde yerle&thorn;tirildi';
+$MESSAGE['GENERIC']['UPGRADED'] = 'G&uuml;ncelleme ba&thorn;ar&yacute;l&yacute; bir&thorn;ekilde yap&yacute;ld&yacute;';
+$MESSAGE['GENERIC']['UNINSTALLED'] = 'Ba&thorn;ar&yacute;l&yacute; bir &thorn;ekilde kald&yacute;r&yacute;ld&yacute;';
+$MESSAGE['GENERIC']['BAD_PERMISSIONS'] = 'Uygunsuz, hedef dizin yaz&yacute;lam&yacute;yor';
+$MESSAGE['GENERIC']['INVALID'] = 'Senin y&uuml;kledi&eth;in dosya, ge&ccedil;ersizdir';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE'] = 'Kald&yacute;rama: Se&ccedil;ilen dosya, kullan&yacute;mdad&yacute;r';
+
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL'] = "<br /><br />{{type}} <b>{{type_name}}</b> could not be uninstalled, because it is still in use on {{pages}}.<br /><br />";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL_PAGES'] = "this page;these pages";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IS_DEFAULT_TEMPLATE'] = "Can't uninstall the template <b>{{name}}</b>, because it is the default template!";
+
+$MESSAGE['GENERIC']['WEBSITE_UNDER_CONSTRUCTION'] = 'Website Under Construction';
+$MESSAGE['GENERIC']['PLEASE_CHECK_BACK_SOON'] = 'L&uuml;tfen daha sonra kontrol edin...';
+$MESSAGE['GENERIC']['PLEASE_BE_PATIENT'] = 'Ol hasta memnun et, bu, bir anda alabilirdi.';
+$MESSAGE['GENERIC']['ERROR_OPENING_FILE'] = 'Dosya a&ccedil;arken hata.';
+$MESSAGE['GENERIC']['INVALID_ADDON_FILE'] = 'Invalid WebsiteBaker installation file. Please check the *.zip format.';
+$MESSAGE['GENERIC']['INVALID_LANGUAGE_FILE'] = 'Invalid WebsiteBaker language file. Please check the text file.';
+
+$MESSAGE['MOD_FORM']['REQUIRED_FIELDS'] = 'You must enter details for the following fields';
+$MESSAGE['MOD_FORM']['EXCESS_SUBMISSIONS'] = 'Sorry, this form has been submitted too many times so far this hour. Please retry in the next hour.';
+$MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA'] = 'The verification number (also known as Captcha) that you entered is incorrect. If you are having problems reading the Captcha, please email: '.SERVER_EMAIL.'';
+
+$MESSAGE['ADDON']['RELOAD'] = 'Update database with information from Add-on files (e.g. after FTP upload).';
+$MESSAGE['ADDON']['ERROR_RELOAD'] = 'Error while updating the Add-On information.';
+$MESSAGE['ADDON']['MODULES_RELOADED'] = 'Mod&uuml;l, ba&thorn;ar&yacute;l&yacute; bir &thorn;ekildeninkini tekrar y&uuml;klendi';
+$MESSAGE['ADDON']['TEMPLATES_RELOADED'] = 'Kal&yacute;plar, ba&thorn;ar&yacute;l&yacute; bir &thorn;ekildeninkini tekrar y&uuml;klendi';
+$MESSAGE['ADDON']['LANGUAGES_RELOADED'] = 'Diller, ba&thorn;ar&yacute;l&yacute; bir &thorn;ekildeninkini tekrar y&uuml;klendi';
+$MESSAGE['ADDON']['PRECHECK_FAILED'] = 'Add-on installation failed. Your system does not fulfill the requirements of this Add-on. To make this Add-on working on your system, please fix the issues summarized below.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION'] = 'When modules are uploaded via FTP (not recommended), the module installation files <tt>install.php</tt>, <tt>upgrade.php</tt> or <tt>uninstall.php</tt> will not be executed automatically. Those modules may not work correct or do not uninstall properly.<br /><br />You can execute the module files manually for modules uploaded via FTP below.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION_WARNING'] = 'Warning: Existing module database entries will get lost. Only use this option if you experience problems with modules uploaded via FTP.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/languages/TR.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/languages/RU.php
===================================================================
--- tags/2.8.2/wb/languages/RU.php	(nonexistent)
+++ tags/2.8.2/wb/languages/RU.php	(revision 1481)
@@ -0,0 +1,595 @@
+<?php
+/**
+ *
+ * @category        framework
+ * @package         language
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// use languageedit-module to modify this file
+
+// Define that this file is loaded
+if(!defined('LANGUAGE_LOADED')) {
+define('LANGUAGE_LOADED', true);
+}
+
+// Set the language information
+$language_code = 'RU';
+$language_name = 'Russian';
+$language_version = '2.8';
+$language_platform = '2.8.x';
+$language_author = 'Kirill Karakulko (kirill@nadosoft.com)';
+$language_license = 'GNU General Public License';
+
+// Menu titles
+$MENU['START'] = '&#1057;&#1090;&#1072;&#1088;&#1090;';
+$MENU['PAGES'] = '&#1057;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1099;';
+$MENU['MEDIA'] = '&#1060;&#1072;&#1081;&#1083;&#1099;';
+$MENU['ADDONS'] = '&#1044;&#1086;&#1087;&#1086;&#1083;&#1085;&#1080;&#1090;&#1077;&#1083;&#1100;&#1085;&#1099;&#1077; &#1092;&#1091;&#1085;&#1082;&#1094;&#1080;&#1080;';
+$MENU['MODULES'] = '&#1052;&#1086;&#1076;&#1091;&#1083;&#1080;';
+$MENU['TEMPLATES'] = '&#1064;&#1072;&#1073;&#1083;&#1086;&#1085;&#1099;';
+$MENU['LANGUAGES'] = '&#1071;&#1079;&#1099;&#1082;&#1080;';
+$MENU['PREFERENCES'] = '&#1057;&#1074;&#1086;&#1081;&#1089;&#1090;&#1074;&#1072;';
+$MENU['SETTINGS'] = '&#1059;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1082;&#1080;';
+$MENU['ADMINTOOLS'] = '&#1040;&#1076;&#1084;&#1080;&#1085;-&#1087;&#1072;&#1085;&#1077;&#1083;&#1100;';
+$MENU['ACCESS'] = '&#1044;&#1086;&#1089;&#1090;&#1091;&#1087;';
+$MENU['USERS'] = '&#1055;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1077;&#1083;&#1080;';
+$MENU['GROUPS'] = '&#1043;&#1088;&#1091;&#1087;&#1087;&#1099;';
+$MENU['HELP'] = '&#1055;&#1086;&#1084;&#1086;&#1097;&#1100;';
+$MENU['VIEW'] = '&#1055;&#1088;&#1086;&#1089;&#1084;&#1086;&#1090;&#1088;&#1077;&#1090;&#1100;';
+$MENU['LOGOUT'] = '&#1042;&#1099;&#1093;&#1086;&#1076;';
+$MENU['LOGIN'] = '&#1042;&#1093;&#1086;&#1076;';
+$MENU['FORGOT'] = '&#1047;&#1072;&#1073;&#1099;&#1083;&#1080; &#1087;&#1072;&#1088;&#1086;&#1083;&#1100;?';
+
+// Section overviews
+$OVERVIEW['START'] = '&#1040;&#1076;&#1084;&#1080;&#1085;&#1080;&#1089;&#1090;&#1088;&#1080;&#1088;&#1086;&#1074;&#1072;&#1085;&#1080;&#1077;';
+$OVERVIEW['PAGES'] = '&#1059;&#1087;&#1088;&#1072;&#1074;&#1083;&#1077;&#1085;&#1080;&#1077; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;&#1084;&#1080; &#1089;&#1072;&#1081;&#1090;&#1072;';
+$OVERVIEW['MEDIA'] = '&#1059;&#1087;&#1088;&#1072;&#1074;&#1083;&#1077;&#1085;&#1080;&#1077; &#1092;&#1072;&#1081;&#1083;&#1072;&#1084;&#1080;';
+$OVERVIEW['MODULES'] = '&#1059;&#1087;&#1088;&#1072;&#1074;&#1083;&#1077;&#1085;&#1080;&#1103;&#1084;&#1080; &#1084;&#1086;&#1076;&#1091;&#1083;&#1103;&#1084;&#1080;';
+$OVERVIEW['TEMPLATES'] = '&#1059;&#1087;&#1088;&#1072;&#1074;&#1083;&#1077;&#1085;&#1080;&#1077; &#1096;&#1072;&#1073;&#1083;&#1086;&#1085;&#1072;&#1084;&#1080;';
+$OVERVIEW['LANGUAGES'] = '&#1059;&#1087;&#1088;&#1072;&#1074;&#1083;&#1077;&#1085;&#1080;&#1077; &#1103;&#1079;&#1099;&#1082;&#1086;&#1074;&#1099;&#1084;&#1080; &#1087;&#1072;&#1082;&#1077;&#1090;&#1072;&#1084;&#1080;';
+$OVERVIEW['PREFERENCES'] = '&#1048;&#1079;&#1084;&#1077;&#1085;&#1080;&#1090;&#1100; &#1085;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080;, &#1090;&#1072;&#1082;&#1080;&#1077; &#1082;&#1072;&#1082; &#1072;&#1076;&#1088;&#1077;&#1089; e-mail, &#1087;&#1072;&#1088;&#1086;&#1083;&#1100;...';
+$OVERVIEW['SETTINGS'] = '&#1059;&#1087;&#1088;&#1072;&#1074;&#1083;&#1077;&#1085;&#1080;&#1077; &#1085;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1072;&#1084;';
+$OVERVIEW['USERS'] = '&#1059;&#1087;&#1088;&#1072;&#1074;&#1083;&#1077;&#1085;&#1080;&#1077; &#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1077;&#1083;&#1103;&#1084;&#1080;';
+$OVERVIEW['GROUPS'] = '&#1059;&#1087;&#1088;&#1072;&#1074;&#1083;&#1077;&#1085;&#1080;&#1077; &#1075;&#1088;&#1091;&#1087;&#1087;&#1072;&#1084;&#1080; &#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1077;&#1083;&#1077;&#1081; &#1080; &#1087;&#1088;&#1072;&#1074;&#1072; &#1076;&#1086;&#1089;&#1090;&#1091;&#1087;&#1072;';
+$OVERVIEW['HELP'] = '&#1054;&#1090;&#1074;&#1077;&#1090;&#1099; &#1085;&#1072; &#1074;&#1086;&#1087;&#1088;&#1086;&#1089;&#1099;';
+$OVERVIEW['VIEW'] = '&#1055;&#1088;&#1086;&#1089;&#1084;&#1086;&#1090;&#1088;&#1077;&#1090;&#1100; &#1080;&#1079;&#1084;&#1077;&#1085;&#1077;&#1085;&#1080;&#1103; &#1085;&#1072; &#1089;&#1072;&#1081;&#1090;&#1077; &#1074; &#1085;&#1086;&#1074;&#1086;&#1084; &#1086;&#1082;&#1085;&#1077;';
+$OVERVIEW['ADMINTOOLS'] = '&#1044;&#1086;&#1089;&#1090;&#1091;&#1087; &#1082; &#1089;&#1088;&#1077;&#1076;&#1089;&#1090;&#1074;&#1072;&#1084; &#1072;&#1076;&#1084;&#1080;&#1085;&#1080;&#1089;&#1090;&#1088;&#1080;&#1088;&#1086;&#1074;&#1072;&#1085;&#1080;&#1103;';
+
+// Headings
+$HEADING['MODIFY_DELETE_PAGE'] = '&#1048;&#1079;&#1084;&#1077;&#1085;&#1080;&#1090;&#1100;/&#1059;&#1076;&#1072;&#1083;&#1080;&#1090;&#1100; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1091;';
+$HEADING['DELETED_PAGES'] = '&#1059;&#1076;&#1072;&#1083;&#1080;&#1090;&#1100; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1099;';
+$HEADING['ADD_PAGE'] = '&#1044;&#1086;&#1073;&#1072;&#1074;&#1080;&#1090;&#1100; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1091;';
+$HEADING['ADD_HEADING'] = '&#1044;&#1086;&#1073;&#1072;&#1074;&#1080;&#1090;&#1100; &#1079;&#1072;&#1075;&#1086;&#1083;&#1086;&#1074;&#1086;&#1082;';
+$HEADING['MODIFY_PAGE'] = '&#1048;&#1079;&#1084;&#1077;&#1085;&#1080;&#1090;&#1100; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1091;';
+$HEADING['MODIFY_PAGE_SETTINGS'] = '&#1048;&#1079;&#1084;&#1077;&#1085;&#1080;&#1090;&#1100; &#1085;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1099;';
+$HEADING['MODIFY_ADVANCED_PAGE_SETTINGS'] = '&#1048;&#1079;&#1084;&#1077;&#1085;&#1080;&#1090;&#1100; &#1088;&#1072;&#1089;&#1096;&#1080;&#1088;&#1077;&#1085;&#1085;&#1099;&#1077; &#1085;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1099;';
+$HEADING['MANAGE_SECTIONS'] = '&#1059;&#1087;&#1088;&#1072;&#1074;&#1083;&#1077;&#1085;&#1080;&#1077; &#1089;&#1077;&#1082;&#1094;&#1080;&#1103;&#1084;&#1080;';
+$HEADING['MODIFY_INTRO_PAGE'] = '&#1048;&#1079;&#1084;&#1077;&#1085;&#1080;&#1090;&#1100; &#1075;&#1083;&#1072;&#1074;&#1085;&#1091;&#1102; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1091;';
+
+$HEADING['BROWSE_MEDIA'] = '&#1055;&#1088;&#1086;&#1089;&#1084;&#1086;&#1090;&#1088;&#1077;&#1090;&#1100; &#1092;&#1072;&#1081;&#1083;&#1099;';
+$HEADING['CREATE_FOLDER'] = '&#1057;&#1086;&#1079;&#1076;&#1072;&#1090;&#1100; &#1087;&#1072;&#1087;&#1082;&#1091;';
+$HEADING['UPLOAD_FILES'] = '&#1047;&#1072;&#1082;&#1072;&#1095;&#1072;&#1090;&#1100; &#1092;&#1072;&#1081;&#1083;(&#1099;)';
+
+$HEADING['INSTALL_MODULE'] = '&#1059;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1080;&#1090;&#1100; &#1084;&#1086;&#1076;&#1091;&#1083;&#1100;';
+$HEADING['UNINSTALL_MODULE'] = '&#1059;&#1076;&#1072;&#1083;&#1080;&#1090;&#1100; &#1084;&#1086;&#1076;&#1091;&#1083;&#1100;';
+$HEADING['MODULE_DETAILS'] = '&#1057;&#1074;&#1086;&#1081;&#1089;&#1090;&#1074;&#1072; &#1084;&#1086;&#1076;&#1091;&#1083;&#1103;';
+
+$HEADING['INSTALL_TEMPLATE'] = '&#1059;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1080;&#1090;&#1100; &#1096;&#1072;&#1073;&#1083;&#1086;&#1085;';
+$HEADING['UNINSTALL_TEMPLATE'] = '&#1059;&#1076;&#1072;&#1083;&#1080;&#1090;&#1100; &#1096;&#1072;&#1073;&#1083;&#1086;&#1085;';
+$HEADING['TEMPLATE_DETAILS'] = '&#1057;&#1074;&#1086;&#1081;&#1089;&#1090;&#1074;&#1072; &#1096;&#1072;&#1073;&#1083;&#1086;&#1085;&#1072;';
+
+$HEADING['INSTALL_LANGUAGE'] = '&#1059;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1080;&#1090;&#1100; &#1103;&#1079;&#1099;&#1082;';
+$HEADING['UNINSTALL_LANGUAGE'] = '&#1059;&#1076;&#1072;&#1083;&#1080;&#1090;&#1100; &#1103;&#1079;&#1099;&#1082;';
+$HEADING['LANGUAGE_DETAILS'] = '&#1057;&#1074;&#1086;&#1081;&#1089;&#1090;&#1074;&#1072; &#1103;&#1079;&#1099;&#1082;&#1072;';
+
+$HEADING['MY_SETTINGS'] = '&#1052;&#1086;&#1080; &#1091;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1082;&#1080;';
+$HEADING['MY_EMAIL'] = '&#1052;&#1086;&#1081; &#1072;&#1076;&#1088;&#1077;&#1089; e-mail';
+$HEADING['MY_PASSWORD'] = '&#1052;&#1086;&#1081; &#1087;&#1072;&#1088;&#1086;&#1083;&#1100;';
+
+$HEADING['GENERAL_SETTINGS'] = '&#1054;&#1073;&#1097;&#1080;&#1077; &#1091;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1082;&#1080;';
+$HEADING['DEFAULT_SETTINGS'] = '&#1053;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080; &#1087;&#1086; &#1091;&#1084;&#1086;&#1083;&#1095;&#1072;&#1085;&#1080;&#1102;';
+$HEADING['SEARCH_SETTINGS'] = '&#1053;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080; &#1087;&#1086;&#1080;&#1089;&#1082;&#1072;';
+$HEADING['FILESYSTEM_SETTINGS'] = '&#1053;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080; &#1092;&#1072;&#1081;&#1083;&#1086;&#1074;&#1086;&#1081; &#1089;&#1080;&#1089;&#1090;&#1077;&#1084;&#1099;';
+$HEADING['SERVER_SETTINGS'] = '&#1053;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080; &#1089;&#1088;&#1077;&#1074;&#1077;&#1088;&#1072;';
+$HEADING['WBMAILER_SETTINGS'] = '&#1053;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080; &#1087;&#1086;&#1095;&#1090;&#1086;&#1074;&#1086;&#1081; &#1087;&#1088;&#1086;&#1075;&#1088;&#1072;&#1084;&#1084;&#1099;';
+$HEADING['ADMINISTRATION_TOOLS'] = '&#1057;&#1088;&#1077;&#1076;&#1089;&#1090;&#1074;&#1072; &#1072;&#1076;&#1084;&#1080;&#1085;&#1080;&#1089;&#1090;&#1088;&#1080;&#1088;&#1086;&#1074;&#1072;&#1085;&#1080;&#1103;';
+
+$HEADING['MODIFY_DELETE_USER'] = '&#1048;&#1079;&#1084;&#1077;&#1085;&#1080;&#1090;&#1100;/&#1059;&#1076;&#1072;&#1083;&#1080;&#1090;&#1100; &#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1077;&#1083;&#1103;';
+$HEADING['ADD_USER'] = '&#1044;&#1086;&#1073;&#1072;&#1074;&#1080;&#1090;&#1100; &#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1077;&#1083;&#1103;';
+$HEADING['MODIFY_USER'] = '&#1048;&#1079;&#1084;&#1077;&#1085;&#1080;&#1090;&#1100; &#1091;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1082;&#1080; &#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1077;&#1083;&#1103;';
+
+$HEADING['MODIFY_DELETE_GROUP'] = '&#1048;&#1079;&#1084;&#1077;&#1085;&#1080;&#1090;&#1100;/&#1059;&#1076;&#1072;&#1083;&#1080;&#1090;&#1100; &#1075;&#1088;&#1091;&#1087;&#1087;&#1091;';
+$HEADING['ADD_GROUP'] = '&#1044;&#1086;&#1073;&#1072;&#1074;&#1080;&#1090;&#1100; &#1075;&#1088;&#1091;&#1087;&#1087;&#1091;';
+$HEADING['MODIFY_GROUP'] = '&#1048;&#1079;&#1084;&#1077;&#1085;&#1080;&#1090;&#1100; &#1075;&#1088;&#1091;&#1087;&#1087;&#1091;';
+
+$HEADING['ADDON_PRECHECK_FAILED'] = 'Add-On requirements not met';
+$HEADING['INVOKE_MODULE_FILES'] = 'Execute module files manually';
+
+// Other text
+$TEXT['OPEN'] = '&#1054;&#1090;&#1082;&#1088;&#1099;&#1090;&#1100;';
+$TEXT['ADD'] = '&#1044;&#1086;&#1073;&#1072;&#1074;&#1080;&#1090;&#1100;';
+$TEXT['MODIFY'] = '&#1048;&#1079;&#1084;&#1077;&#1085;&#1080;&#1090;&#1100;';
+$TEXT['SETTINGS'] = '&#1059;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1082;&#1080;';
+$TEXT['DELETE'] = '&#1059;&#1076;&#1072;&#1083;&#1080;&#1090;&#1100;';
+$TEXT['SAVE'] = '&#1057;&#1086;&#1093;&#1088;&#1072;&#1085;&#1080;&#1090;&#1100;';
+$TEXT['RESET'] = '&#1057;&#1073;&#1088;&#1086;&#1089;&#1080;&#1090;&#1100;';
+$TEXT['LOGIN'] = '&#1042;&#1093;&#1086;&#1076;';
+$TEXT['RELOAD'] = '&#1055;&#1077;&#1088;&#1077;&#1075;&#1088;&#1091;&#1079;&#1080;&#1090;&#1100;';
+$TEXT['CANCEL'] = '&#1054;&#1090;&#1084;&#1077;&#1085;&#1080;&#1090;&#1100;';
+$TEXT['NAME'] = '&#1048;&#1084;&#1103;';
+$TEXT['PLEASE_SELECT'] = '&#1042;&#1099;&#1073;&#1077;&#1088;&#1080;&#1090;&#1077;';
+$TEXT['TITLE'] = '&#1047;&#1072;&#1075;&#1086;&#1083;&#1086;&#1074;&#1086;&#1082;';
+$TEXT['PARENT'] = '&#1056;&#1086;&#1076;&#1080;&#1090;&#1077;&#1083;&#1100;';
+$TEXT['TYPE'] = '&#1058;&#1080;&#1087;';
+$TEXT['VISIBILITY'] = '&#1042;&#1080;&#1076;&#1080;&#1084;&#1086;&#1089;&#1090;&#1100;';
+$TEXT['PRIVATE'] = '&#1047;&#1072;&#1082;&#1088;&#1099;&#1090;&#1072;&#1103;';
+$TEXT['PUBLIC'] = '&#1044;&#1083;&#1103; &#1054;&#1073;&#1097;&#1077;&#1075;&#1086; &#1044;&#1086;&#1089;&#1090;&#1091;&#1087;&#1072;';
+$TEXT['NONE'] = '&#1053;&#1077;&#1090;';
+$TEXT['NONE_FOUND'] = '&#1053;&#1080;&#1095;&#1077;&#1075;&#1086; &#1053;&#1077; &#1053;&#1072;&#1081;&#1076;&#1077;&#1085;&#1086;';
+$TEXT['CURRENT'] = '&#1058;&#1077;&#1082;&#1091;&#1097;&#1072;&#1103;';
+$TEXT['CHANGE'] = '&#1048;&#1079;&#1084;&#1077;&#1085;&#1080;&#1090;&#1100;';
+$TEXT['WINDOW'] = '&#1054;&#1082;&#1085;&#1086;';
+$TEXT['DESCRIPTION'] = '&#1054;&#1087;&#1080;&#1089;&#1072;&#1085;&#1080;&#1077;';
+$TEXT['KEYWORDS'] = '&#1050;&#1083;&#1102;&#1095;&#1077;&#1074;&#1099;&#1077; &#1089;&#1083;&#1086;&#1074;&#1072;';
+$TEXT['ADMINISTRATORS'] = '&#1040;&#1076;&#1084;&#1080;&#1085;&#1080;&#1089;&#1090;&#1088;&#1072;&#1090;&#1086;&#1088;&#1099;';
+$TEXT['PRIVATE_VIEWERS'] = 'Private Viewers';
+$TEXT['EXPAND'] = '&#1056;&#1072;&#1089;&#1082;&#1088;&#1099;&#1090;&#1100;';
+$TEXT['COLLAPSE'] = '&#1057;&#1074;&#1077;&#1088;&#1085;&#1091;&#1090;&#1100;';
+$TEXT['MOVE_UP'] = '&#1055;&#1077;&#1088;&#1077;&#1076;&#1074;&#1080;&#1085;&#1091;&#1090;&#1100; &#1074;&#1074;&#1077;&#1088;&#1093;';
+$TEXT['MOVE_DOWN'] = '&#1055;&#1077;&#1088;&#1077;&#1076;&#1074;&#1080;&#1085;&#1091;&#1090;&#1100; &#1074;&#1085;&#1080;&#1079;';
+$TEXT['RENAME'] = '&#1055;&#1077;&#1088;&#1077;&#1080;&#1084;&#1077;&#1085;&#1086;&#1074;&#1072;&#1090;&#1100;';
+$TEXT['MODIFY_SETTINGS'] = '&#1048;&#1079;&#1084;&#1077;&#1085;&#1080;&#1090;&#1100; &#1085;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080;';
+$TEXT['MODIFY_CONTENT'] = '&#1048;&#1079;&#1084;&#1077;&#1085;&#1080;&#1090;&#1100; &#1089;&#1086;&#1076;&#1077;&#1088;&#1078;&#1072;&#1085;&#1080;&#1077;';
+$TEXT['VIEW'] = '&#1055;&#1088;&#1086;&#1089;&#1084;&#1086;&#1090;&#1088;&#1077;&#1090;&#1100;';
+$TEXT['UP'] = '&#1042;&#1074;&#1077;&#1088;&#1093;';
+$TEXT['FORGOTTEN_DETAILS'] = '&#1047;&#1072;&#1073;&#1099;&#1083;&#1080; &#1074;&#1072;&#1096;&#1080; &#1076;&#1072;&#1085;&#1085;&#1099;&#1077;?';
+$TEXT['NEED_TO_LOGIN'] = '&#1053;&#1077;&#1086;&#1073;&#1093;&#1086;&#1076;&#1080;&#1084;&#1086; &#1074;&#1086;&#1081;&#1090;&#1080;?';
+$TEXT['SEND_DETAILS'] = '&#1055;&#1086;&#1089;&#1083;&#1072;&#1090;&#1100; &#1076;&#1072;&#1085;&#1085;&#1099;&#1077;';
+$TEXT['USERNAME'] = '&#1048;&#1084;&#1103; &#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1077;&#1083;&#1103;';
+$TEXT['PASSWORD'] = '&#1055;&#1072;&#1088;&#1086;&#1083;&#1100;';
+$TEXT['HOME'] = '&#1043;&#1083;&#1072;&#1074;&#1085;&#1072;&#1103;';
+$TEXT['TARGET_FOLDER'] = '&#1058;&#1077;&#1082;&#1091;&#1097;&#1072;&#1103; &#1087;&#1072;&#1087;&#1082;&#1072;';
+$TEXT['OVERWRITE_EXISTING'] = '&#1055;&#1077;&#1088;&#1077;&#1079;&#1072;&#1087;&#1080;&#1089;&#1072;&#1090;&#1100; &#1089;&#1091;&#1097;&#1077;&#1089;&#1090;&#1074;&#1091;&#1102;&#1097;&#1080;&#1081;(&#1091;&#1102;)';
+$TEXT['FILE'] = '&#1060;&#1072;&#1081;&#1083;';
+$TEXT['FILES'] = '&#1060;&#1072;&#1081;&#1083;&#1099;';
+$TEXT['FOLDER'] = '&#1055;&#1072;&#1087;&#1082;&#1072;';
+$TEXT['FOLDERS'] = '&#1055;&#1072;&#1087;&#1082;&#1080;';
+$TEXT['CREATE_FOLDER'] = '&#1057;&#1086;&#1079;&#1076;&#1072;&#1090;&#1100; &#1087;&#1072;&#1087;&#1082;&#1091;';
+$TEXT['UPLOAD_FILES'] = '&#1047;&#1072;&#1082;&#1072;&#1095;&#1072;&#1090;&#1100; &#1092;&#1072;&#1081;&#1083;(&#1099;)';
+$TEXT['CURRENT_FOLDER'] = '&#1058;&#1077;&#1082;&#1091;&#1097;&#1072;&#1103; &#1087;&#1072;&#1087;&#1082;&#1072;';
+$TEXT['TO'] = '&#1074;';
+$TEXT['FROM'] = '&#1080;&#1079;';
+$TEXT['INSTALL'] = '&#1044;&#1086;&#1073;&#1072;&#1074;&#1080;&#1090;&#1100;';
+$TEXT['UNINSTALL'] = '&#1059;&#1076;&#1072;&#1083;&#1080;&#1090;&#1100;';
+$TEXT['VIEW_DETAILS'] = '&#1055;&#1088;&#1086;&#1089;&#1084;&#1086;&#1090;&#1088;&#1077;&#1090;&#1100; &#1076;&#1077;&#1090;&#1072;&#1083;&#1080;';
+$TEXT['DISPLAY_NAME'] = '&#1042;&#1099;&#1074;&#1077;&#1089;&#1090;&#1080; &#1053;&#1072;&#1079;&#1074;&#1072;&#1085;&#1080;&#1077;';
+$TEXT['AUTHOR'] = '&#1040;&#1074;&#1090;&#1086;&#1088;';
+$TEXT['VERSION'] = '&#1042;&#1077;&#1088;&#1089;&#1080;&#1103;';
+$TEXT['DESIGNED_FOR'] = '&#1057;&#1086;&#1079;&#1076;&#1072;&#1085;&#1086; &#1076;&#1083;&#1103;';
+$TEXT['DESCRIPTION'] = '&#1054;&#1087;&#1080;&#1089;&#1072;&#1085;&#1080;&#1077;';
+$TEXT['EMAIL'] = 'Email';
+$TEXT['LANGUAGE'] = '&#1071;&#1079;&#1099;&#1082;';
+$TEXT['TIMEZONE'] = '&#1042;&#1088;&#1077;&#1084;&#1077;&#1085;&#1085;&#1072;&#1103; &#1079;&#1086;&#1085;&#1072;';
+$TEXT['CURRENT_PASSWORD'] = '&#1058;&#1077;&#1082;&#1091;&#1097;&#1080;&#1081; &#1087;&#1072;&#1088;&#1086;&#1083;&#1100;';
+$TEXT['NEW_PASSWORD'] = '&#1053;&#1086;&#1074;&#1099;&#1081; &#1087;&#1072;&#1088;&#1086;&#1083;&#1100;';
+$TEXT['RETYPE_NEW_PASSWORD'] = '&#1055;&#1086;&#1074;&#1090;&#1086;&#1088;&#1080;&#1090;&#1100; &#1085;&#1086;&#1074;&#1099;&#1081; &#1087;&#1072;&#1088;&#1086;&#1083;&#1100;';
+$TEXT['ACTIVE'] = '&#1040;&#1082;&#1090;&#1080;&#1074;&#1085;&#1072;&#1103;';
+$TEXT['DISABLED'] = '&#1054;&#1090;&#1089;&#1091;&#1090;&#1089;&#1090;&#1074;&#1091;&#1077;&#1090;';
+$TEXT['ENABLED'] = '&#1055;&#1088;&#1080;&#1089;&#1091;&#1090;&#1089;&#1090;&#1074;&#1091;&#1077;&#1090;';
+$TEXT['RETYPE_PASSWORD'] = '&#1055;&#1086;&#1074;&#1090;&#1086;&#1088;&#1080;&#1090;&#1100; &#1087;&#1072;&#1088;&#1086;&#1083;&#1100;';
+$TEXT['GROUP'] = '&#1043;&#1088;&#1091;&#1087;&#1087;&#1072;';
+$TEXT['SYSTEM_PERMISSIONS'] = '&#1057;&#1080;&#1089;&#1090;&#1077;&#1084;&#1085;&#1099;&#1077; &#1087;&#1088;&#1072;&#1074;&#1072;';
+$TEXT['MODULE_PERMISSIONS'] = '&#1055;&#1088;&#1072;&#1074;&#1072; &#1074; &#1084;&#1086;&#1076;&#1091;&#1083;&#1077;';
+$TEXT['SHOW_ADVANCED'] = '&#1055;&#1086;&#1082;&#1072;&#1079;&#1072;&#1090;&#1100; &#1088;&#1072;&#1089;&#1096;&#1080;&#1088;&#1077;&#1085;&#1085;&#1099;&#1077; &#1086;&#1087;&#1094;&#1080;&#1080;';
+$TEXT['HIDE_ADVANCED'] = '&#1057;&#1087;&#1088;&#1103;&#1090;&#1103;&#1090;&#1100; &#1088;&#1072;&#1089;&#1096;&#1080;&#1088;&#1077;&#1085;&#1085;&#1099;&#1077; &#1086;&#1087;&#1094;&#1080;&#1080;';
+$TEXT['BASIC'] = '&#1054;&#1089;&#1085;&#1086;&#1074;&#1085;&#1099;&#1077;';
+$TEXT['ADVANCED'] = '&#1056;&#1072;&#1089;&#1096;&#1080;&#1088;&#1077;&#1085;&#1085;&#1099;&#1077;';
+$TEXT['WEBSITE'] = '&#1042;&#1077;&#1073;&#1089;&#1072;&#1081;&#1090;';
+$TEXT['DEFAULT'] = '&#1055;&#1086; &#1091;&#1084;&#1086;&#1083;&#1095;&#1072;&#1085;&#1080;&#1102;';
+$TEXT['KEYWORDS'] = '&#1050;&#1083;&#1102;&#1095;&#1077;&#1074;&#1099;&#1077; &#1089;&#1083;&#1086;&#1074;&#1072;';
+$TEXT['TEXT'] = '&#1058;&#1077;&#1082;&#1089;&#1090;';
+$TEXT['HEADER'] = '&#1047;&#1072;&#1075;&#1086;&#1083;&#1086;&#1074;&#1086;&#1082;';
+$TEXT['FOOTER'] = '&#1053;&#1080;&#1078;&#1085;&#1103;&#1103; &#1095;&#1072;&#1089;&#1090;&#1100;';
+$TEXT['TEMPLATE'] = '&#1064;&#1072;&#1073;&#1083;&#1086;&#1085;';
+$TEXT['THEME'] = 'Backend-Theme';
+$TEXT['INSTALLATION'] = '&#1059;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1082;&#1072;';
+$TEXT['DATABASE'] = '&#1041;&#1072;&#1079;&#1072; &#1076;&#1072;&#1085;&#1085;&#1099;&#1093;';
+$TEXT['HOST'] = 'Host';
+$TEXT['INTRO'] = '&#1047;&#1072;&#1089;&#1090;&#1072;&#1074;&#1082;&#1072;';
+$TEXT['PAGE'] = '&#1057;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;';
+$TEXT['SIGNUP'] = '&#1056;&#1077;&#1075;&#1080;&#1089;&#1090;&#1088;&#1072;&#1094;&#1080;&#1103;';
+$TEXT['PHP_ERROR_LEVEL'] = '&#1059;&#1088;&#1086;&#1074;&#1077;&#1085;&#1100; &#1074;&#1099;&#1074;&#1086;&#1076;&#1072; &#1086;&#1096;&#1080;&#1073;&#1086;&#1082; PHP';
+$TEXT['ADMIN'] = '&#1040;&#1076;&#1084;&#1080;&#1085;&#1080;&#1089;&#1090;&#1088;&#1072;&#1090;&#1086;&#1088;';
+$TEXT['PATH'] = '&#1055;&#1091;&#1090;&#1100;';
+$TEXT['URL'] = 'URL';
+$TEXT['FRONTEND'] = 'Front-end';
+$TEXT['EXTENSION'] = '&#1056;&#1072;&#1089;&#1096;&#1080;&#1088;&#1077;&#1085;&#1080;&#1103;';
+$TEXT['TABLE_PREFIX'] = '&#1055;&#1088;&#1077;&#1092;&#1080;&#1082;&#1089; &#1090;&#1072;&#1073;&#1083;&#1080;&#1094;';
+$TEXT['CHANGES'] = '&#1048;&#1079;&#1084;&#1077;&#1085;&#1077;&#1085;&#1080;&#1103;';
+$TEXT['ADMINISTRATION'] = '&#1040;&#1076;&#1084;&#1080;&#1085;&#1080;&#1089;&#1090;&#1088;&#1080;&#1088;&#1086;&#1074;&#1072;&#1085;&#1080;&#1077;';
+$TEXT['FORGOT_DETAILS'] = '&#1047;&#1072;&#1073;&#1099;&#1083;&#1080; &#1076;&#1072;&#1085;&#1085;&#1099;&#1077;?';
+$TEXT['LOGGED_IN'] = '&#1042;&#1093;&#1086;&#1076; &#1086;&#1089;&#1091;&#1097;&#1077;&#1089;&#1090;&#1074;&#1083;&#1077;&#1085;';
+$TEXT['WELCOME_BACK'] = '&#1044;&#1086;&#1073;&#1088;&#1086; &#1087;&#1086;&#1078;&#1072;&#1083;&#1086;&#1074;&#1072;&#1090;&#1100;';
+$TEXT['FULL_NAME'] = '&#1055;&#1086;&#1083;&#1085;&#1086;&#1077; &#1080;&#1084;&#1103;';
+$TEXT['ACCOUNT_SIGNUP'] = 'Account Sign-Up';
+$TEXT['LINK'] = '&#1057;&#1089;&#1099;&#1083;&#1082;&#1072;';
+$TEXT['ANCHOR'] = '&#1071;&#1082;&#1086;&#1088;&#1100;';
+$TEXT['TARGET'] = '&#1054;&#1090;&#1082;&#1088;&#1099;&#1074;&#1072;&#1090;&#1100; &#1074;';
+$TEXT['NEW_WINDOW'] = '&#1053;&#1086;&#1074;&#1086;&#1077; &#1086;&#1082;&#1085;&#1086;';
+$TEXT['SAME_WINDOW'] = '&#1058;&#1077;&#1082;&#1091;&#1097;&#1077;&#1077; &#1086;&#1082;&#1085;&#1086;';
+$TEXT['TOP_FRAME'] = '&#1043;&#1083;&#1072;&#1074;&#1085;&#1099;&#1081; &#1092;&#1088;&#1077;&#1081;&#1084;';
+$TEXT['PAGE_LEVEL_LIMIT'] = '&#1059;&#1088;&#1086;&#1074;&#1077;&#1085;&#1100; &#1074;&#1083;&#1086;&#1078;&#1077;&#1085;&#1085;&#1086;&#1089;&#1090;&#1080; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;';
+$TEXT['SUCCESS'] = '&#1059;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+$TEXT['ERROR'] = '&#1054;&#1096;&#1080;&#1073;&#1082;&#1072;';
+$TEXT['ARE_YOU_SURE'] = '&#1042;&#1099; &#1091;&#1074;&#1077;&#1088;&#1077;&#1085;&#1099;?';
+$TEXT['YES'] = '&#1044;&#1072;';
+$TEXT['NO'] = '&#1053;&#1077;&#1090;';
+$TEXT['SYSTEM_DEFAULT'] = '&#1055;&#1086; &#1091;&#1084;&#1086;&#1083;&#1095;&#1072;&#1085;&#1080;&#1102;';
+$TEXT['PAGE_TITLE'] = '&#1047;&#1072;&#1075;&#1086;&#1083;&#1086;&#1074;&#1086;&#1082; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1099;';
+$TEXT['MENU_TITLE'] = '&#1047;&#1072;&#1075;&#1086;&#1083;&#1086;&#1074;&#1086;&#1082; &#1084;&#1077;&#1085;&#1102;';
+$TEXT['ACTIONS'] = '&#1044;&#1077;&#1081;&#1089;&#1090;&#1074;&#1080;&#1103;';
+$TEXT['UNKNOWN'] = '&#1053;&#1077;&#1080;&#1079;&#1074;&#1077;&#1089;&#1090;&#1085;&#1086;';
+$TEXT['BLOCK'] = '&#1041;&#1083;&#1086;&#1082;&#1080;&#1088;&#1086;&#1074;&#1072;&#1090;&#1100;';
+$TEXT['SEARCH'] = '&#1055;&#1086;&#1080;&#1089;&#1082;';
+$TEXT['SEARCHING'] = '&#1048;&#1076;&#1077;&#1090; &#1087;&#1086;&#1080;&#1089;&#1082;';
+$TEXT['POST'] = '&#1054;&#1090;&#1087;&#1088;&#1072;&#1074;&#1080;&#1090;&#1100;';
+$TEXT['COMMENT'] = '&#1050;&#1086;&#1084;&#1084;&#1077;&#1085;&#1090;&#1080;&#1088;&#1086;&#1074;&#1072;&#1090;&#1100;';
+$TEXT['COMMENTS'] = '&#1050;&#1086;&#1084;&#1084;&#1077;&#1085;&#1090;&#1072;&#1088;&#1080;&#1080;';
+$TEXT['COMMENTING'] = '&#1050;&#1086;&#1084;&#1084;&#1077;&#1085;&#1090;&#1080;&#1088;&#1091;&#1102;';
+$TEXT['SHORT'] = '&#1042; &#1082;&#1088;&#1072;&#1090;&#1094;&#1077;';
+$TEXT['LONG'] = '&#1055;&#1086;&#1083;&#1085;&#1086;&#1089;&#1090;&#1100;&#1102;';
+$TEXT['LOOP'] = '&#1086;&#1089;&#1085;&#1086;&#1074;&#1085;&#1072;&#1103; &#1095;&#1072;&#1089;&#1090;&#1100;';
+$TEXT['FIELD'] = '&#1055;&#1086;&#1083;&#1077;';
+$TEXT['REQUIRED'] = '&#1053;&#1077;&#1086;&#1073;&#1093;&#1086;&#1076;&#1080;&#1084;&#1099;&#1077;';
+$TEXT['LENGTH'] = '&#1044;&#1083;&#1080;&#1085;&#1072;';
+$TEXT['MESSAGE'] = '&#1057;&#1086;&#1086;&#1073;&#1097;&#1077;&#1085;&#1080;&#1077;';
+$TEXT['SUBJECT'] = '&#1058;&#1077;&#1084;&#1072;';
+$TEXT['MATCH'] = '&#1057;&#1086;&#1074;&#1087;&#1072;&#1076;&#1077;&#1085;&#1080;&#1103;';
+$TEXT['ALL_WORDS'] = '&#1042;&#1089;&#1077; &#1089;&#1083;&#1086;&#1074;&#1072;';
+$TEXT['ANY_WORDS'] = '&#1051;&#1102;&#1073;&#1086;&#1077; &#1089;&#1083;&#1086;&#1074;&#1086;';
+$TEXT['EXACT_MATCH'] = '&#1058;&#1086;&#1095;&#1085;&#1086;&#1077; &#1089;&#1086;&#1074;&#1087;&#1072;&#1076;&#1077;&#1085;&#1080;&#1077;';
+$TEXT['SHOW'] = '&#1055;&#1086;&#1082;&#1072;&#1079;&#1072;&#1090;&#1100;';
+$TEXT['HIDE'] = '&#1057;&#1087;&#1088;&#1103;&#1090;&#1072;&#1090;&#1100;';
+$TEXT['START_PUBLISHING'] = '&#1053;&#1072;&#1095;&#1072;&#1090;&#1100; &#1087;&#1091;&#1073;&#1083;&#1080;&#1082;&#1072;&#1094;&#1080;&#1102;';
+$TEXT['FINISH_PUBLISHING'] = '&#1047;&#1072;&#1082;&#1086;&#1085;&#1095;&#1080;&#1090;&#1100; &#1087;&#1091;&#1073;&#1083;&#1080;&#1082;&#1072;&#1094;&#1080;&#1102;';
+$TEXT['DATE'] = '&#1044;&#1072;&#1090;&#1072;';
+$TEXT['START'] = '&#1057;&#1090;&#1072;&#1088;&#1090;';
+$TEXT['END'] = '&#1047;&#1072;&#1082;&#1086;&#1085;&#1095;&#1080;&#1090;&#1100;';
+$TEXT['IMAGE'] = '&#1050;&#1072;&#1088;&#1090;&#1080;&#1085;&#1082;&#1091;';
+$TEXT['ICON'] = '&#1048;&#1082;&#1086;&#1085;&#1082;&#1072;';
+$TEXT['SECTION'] = '&#1057;&#1077;&#1082;&#1094;&#1080;&#1103;';
+$TEXT['DATE_FORMAT'] = '&#1060;&#1086;&#1088;&#1084;&#1072;&#1090; &#1076;&#1072;&#1090;&#1099;';
+$TEXT['TIME_FORMAT'] = '&#1060;&#1086;&#1088;&#1084;&#1072;&#1090; &#1074;&#1088;&#1077;&#1084;&#1077;&#1085;&#1080;';
+$TEXT['RESULTS'] = '&#1056;&#1077;&#1079;&#1091;&#1083;&#1100;&#1090;&#1072;&#1090;&#1099;';
+$TEXT['RESIZE'] = '&#1048;&#1079;&#1084;&#1077;&#1085;&#1080;&#1090;&#1100; &#1088;&#1072;&#1079;&#1084;&#1077;&#1088;';
+$TEXT['MANAGE'] = '&#1059;&#1087;&#1088;&#1072;&#1074;&#1083;&#1077;&#1085;&#1080;&#1077;:';
+$TEXT['CODE'] = '&#1050;&#1086;&#1076;';
+$TEXT['WIDTH'] = '&#1064;&#1080;&#1088;&#1080;&#1085;&#1072;';
+$TEXT['HEIGHT'] = '&#1042;&#1099;&#1089;&#1086;&#1090;&#1072;';
+$TEXT['MORE'] = '&#1041;&#1086;&#1083;&#1100;&#1096;&#1077;';
+$TEXT['READ_MORE'] = '&#1063;&#1080;&#1090;&#1072;&#1090;&#1100; &#1076;&#1072;&#1083;&#1100;&#1096;&#1077;';
+$TEXT['CHANGE_SETTINGS'] = '&#1048;&#1079;&#1084;&#1077;&#1085;&#1077;&#1085;&#1080;&#1077; &#1089;&#1074;&#1086;&#1081;&#1089;&#1090;&#1074;';
+$TEXT['CURRENT_PAGE'] = '&#1058;&#1077;&#1082;&#1091;&#1097;&#1072;&#1103; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;';
+$TEXT['CLOSE'] = '&#1047;&#1072;&#1082;&#1088;&#1099;&#1090;&#1100;';
+$TEXT['INTRO_PAGE'] = '&#1057;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;-&#1079;&#1072;&#1089;&#1090;&#1072;&#1074;&#1082;&#1072;';
+$TEXT['INSTALLATION_URL'] = 'URL &#1091;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1082;&#1080;';
+$TEXT['INSTALLATION_PATH'] = '&#1055;&#1091;&#1090;&#1100; &#1091;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1082;&#1080;';
+$TEXT['PAGE_EXTENSION'] = '&#1056;&#1072;&#1089;&#1096;&#1080;&#1088;&#1077;&#1085;&#1080;&#1077; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1099;';
+$TEXT['NO_RESULTS'] = '&#1053;&#1077;&#1090; &#1088;&#1077;&#1079;&#1091;&#1083;&#1100;&#1090;&#1072;&#1090;&#1086;&#1074;';
+$TEXT['WEBSITE_TITLE'] = '&#1047;&#1072;&#1075;&#1086;&#1083;&#1086;&#1074;&#1086;&#1082; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094; &#1089;&#1072;&#1081;&#1090;&#1072;';
+$TEXT['WEBSITE_DESCRIPTION'] = '&#1054;&#1087;&#1080;&#1089;&#1072;&#1085;&#1080;&#1077; &#1089;&#1072;&#1081;&#1090;&#1072;';
+$TEXT['WEBSITE_KEYWORDS'] = '&#1050;&#1083;&#1102;&#1095;&#1077;&#1074;&#1099;&#1077; &#1089;&#1083;&#1086;&#1074;&#1072; &#1089;&#1072;&#1081;&#1090;&#1072;';
+$TEXT['WEBSITE_HEADER'] = '&#1047;&#1072;&#1075;&#1086;&#1083;&#1086;&#1074;&#1086;&#1082; &#1089;&#1072;&#1081;&#1090;&#1072;';
+$TEXT['WEBSITE_FOOTER'] = '&#1053;&#1080;&#1078;&#1085;&#1103;&#1103; &#1095;&#1072;&#1089;&#1090;&#1100; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094; &#1089;&#1072;&#1081;&#1090;&#1072;';
+$TEXT['RESULTS_HEADER'] = '&#1047;&#1072;&#1075;&#1086;&#1083;&#1086;&#1074;&#1086;&#1082; &#1088;&#1077;&#1079;&#1091;&#1083;&#1100;&#1090;&#1072;&#1090;&#1086;&#1074;';
+$TEXT['RESULTS_LOOP'] = '&#1054;&#1089;&#1085;&#1086;&#1074;&#1085;&#1086;&#1081; &#1073;&#1083;&#1086;&#1082;';
+$TEXT['RESULTS_FOOTER'] = '&#1053;&#1080;&#1078;&#1085;&#1103;&#1103; &#1095;&#1072;&#1089;&#1090;&#1100; &#1088;&#1077;&#1079;&#1091;&#1083;&#1100;&#1090;&#1072;&#1090;&#1086;&#1074;';
+$TEXT['LEVEL'] = '&#1059;&#1088;&#1086;&#1074;&#1077;&#1085;&#1100;';
+$TEXT['NOT_FOUND'] = '&#1053;&#1077; &#1085;&#1072;&#1081;&#1076;&#1077;&#1085;&#1086;';
+$TEXT['PAGE_SPACER'] = '&#1056;&#1072;&#1079;&#1076;&#1077;&#1083;&#1080;&#1090;&#1077;&#1083;&#1100;';
+$TEXT['MATCHING'] = '&#1057;&#1086;&#1074;&#1087;&#1072;&#1076;&#1077;&#1085;&#1080;&#1103;';
+$TEXT['TEMPLATE_PERMISSIONS'] = '&#1055;&#1088;&#1072;&#1074;&#1072; &#1074; &#1096;&#1072;&#1073;&#1083;&#1086;&#1085;&#1072;&#1093;';
+$TEXT['PAGES_DIRECTORY'] = '&#1044;&#1080;&#1088;&#1077;&#1082;&#1090;&#1086;&#1088;&#1080;&#1103; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;';
+$TEXT['MEDIA_DIRECTORY'] = '&#1044;&#1080;&#1088;&#1077;&#1082;&#1090;&#1086;&#1088;&#1080;&#1103; &#1092;&#1072;&#1081;&#1083;&#1086;&#1074;';
+$TEXT['FILE_MODE'] = 'File Mode';
+$TEXT['USER'] = '&#1042;&#1083;&#1072;&#1076;&#1077;&#1083;&#1077;&#1094;';
+$TEXT['OTHERS'] = '&#1054;&#1089;&#1090;&#1072;&#1083;&#1100;&#1085;&#1099;&#1077;';
+$TEXT['READ'] = '&#1063;&#1090;&#1077;&#1085;&#1080;&#1077;';
+$TEXT['WRITE'] = '&#1047;&#1072;&#1087;&#1080;&#1089;&#1100;';
+$TEXT['EXECUTE'] = '&#1047;&#1072;&#1087;&#1091;&#1089;&#1082;';
+$TEXT['SMART_LOGIN'] = '&#1059;&#1084;&#1085;&#1099;&#1081; Login';
+$TEXT['REMEMBER_ME'] = '&#1047;&#1072;&#1087;&#1086;&#1084;&#1085;&#1080;&#1090;&#1100; &#1084;&#1077;&#1085;&#1103;';
+$TEXT['FILESYSTEM_PERMISSIONS'] = '&#1055;&#1088;&#1072;&#1074;&#1072; &#1085;&#1072; &#1092;&#1072;&#1081;&#1083;&#1086;&#1074;&#1086;&#1081; &#1089;&#1080;&#1089;&#1090;&#1077;&#1084;&#1077;';
+$TEXT['DIRECTORIES'] = '&#1055;&#1072;&#1087;&#1082;&#1080;';
+$TEXT['DIRECTORY_MODE'] = 'Directory Mode';
+$TEXT['LIST_OPTIONS'] = '&#1057;&#1074;&#1086;&#1081;&#1089;&#1090;&#1074;&#1072; &#1089;&#1087;&#1080;&#1089;&#1082;&#1072;';
+$TEXT['OPTION'] = '&#1057;&#1074;&#1086;&#1081;&#1089;&#1090;&#1074;&#1086;';
+$TEXT['ALLOW_MULTIPLE_SELECTIONS'] = '&#1056;&#1072;&#1079;&#1088;&#1077;&#1096;&#1080;&#1090;&#1100; &#1084;&#1091;&#1083;&#1100;&#1090;&#1080;-&#1074;&#1099;&#1073;&#1086;&#1088;';
+$TEXT['TEXTFIELD'] = 'Textfield';
+$TEXT['TEXTAREA'] = 'Textarea';
+$TEXT['SELECT_BOX'] = 'Select Box';
+$TEXT['CHECKBOX_GROUP'] = 'Checkbox &#1075;&#1088;&#1091;&#1087;&#1087;&#1072;';
+$TEXT['RADIO_BUTTON_GROUP'] = 'Radio Button &#1075;&#1088;&#1091;&#1087;&#1087;&#1072;';
+$TEXT['SIZE'] = '&#1056;&#1072;&#1079;&#1084;&#1077;&#1088;';
+$TEXT['DEFAULT_TEXT'] = '&#1058;&#1077;&#1082;&#1089;&#1090; &#1087;&#1086; &#1091;&#1084;&#1086;&#1083;&#1095;&#1072;&#1085;&#1080;&#1102;';
+$TEXT['SEPERATOR'] = '&#1056;&#1072;&#1079;&#1076;&#1077;&#1083;&#1080;&#1090;&#1077;&#1083;&#1100;';
+$TEXT['BACK'] = '&#1053;&#1072;&#1079;&#1072;&#1076;';
+$TEXT['UNDER_CONSTRUCTION'] = '&#1042; &#1089;&#1090;&#1072;&#1076;&#1080;&#1080; &#1088;&#1072;&#1079;&#1088;&#1072;&#1073;&#1086;&#1090;&#1082;&#1080;';
+$TEXT['MULTISELECT'] = '&#1052;&#1091;&#1083;&#1100;&#1090;&#1080;-&#1074;&#1099;&#1073;&#1086;&#1088;';
+$TEXT['SHORT_TEXT'] = '&#1050;&#1088;&#1072;&#1090;&#1082;&#1080;&#1081; &#1090;&#1077;&#1082;&#1089;&#1090;';
+$TEXT['LONG_TEXT'] = '&#1058;&#1077;&#1082;&#1089;&#1090; &#1087;&#1086;&#1083;&#1085;&#1086;&#1089;&#1090;&#1100;&#1102;';
+$TEXT['HOMEPAGE_REDIRECTION'] = '&#1055;&#1077;&#1088;&#1077;&#1085;&#1072;&#1087;&#1088;&#1072;&#1074;&#1083;&#1077;&#1085;&#1080;&#1077; &#1076;&#1086;&#1084;&#1072;&#1096;&#1085;&#1077;&#1081; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1099;';
+$TEXT['HEADING'] = '&#1047;&#1072;&#1075;&#1086;&#1083;&#1086;&#1074;&#1086;&#1082;';
+$TEXT['MULTIPLE_MENUS'] = '&#1052;&#1091;&#1083;&#1100;&#1090;&#1080;-&#1084;&#1077;&#1085;&#1102;';
+$TEXT['REGISTERED'] = '&#1047;&#1072;&#1088;&#1077;&#1075;&#1080;&#1089;&#1090;&#1088;&#1080;&#1088;&#1086;&#1074;&#1072;&#1085;&#1099;&#1077;';
+$TEXT['SECTION_BLOCKS'] = '&#1041;&#1083;&#1086;&#1082;&#1080; &#1089;&#1077;&#1082;&#1094;&#1080;&#1081;';
+$TEXT['REGISTERED_VIEWERS'] = '&#1047;&#1072;&#1088;&#1077;&#1075;&#1080;&#1089;&#1090;&#1088;&#1080;&#1088;&#1086;&#1074;&#1072;&#1085;&#1085;&#1099;&#1077; &#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1077;&#1083;&#1080;';
+$TEXT['ALLOWED_VIEWERS'] = '&#1056;&#1072;&#1079;&#1088;&#1077;&#1096;&#1077;&#1085;&#1085;&#1099;&#1077; &#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1077;&#1083;&#1080;';
+$TEXT['SUBMISSION_ID'] = 'ID &#1087;&#1086;&#1076;&#1087;&#1080;&#1089;&#1082;&#1080;';
+$TEXT['SUBMISSIONS'] = '&#1055;&#1086;&#1076;&#1087;&#1080;&#1089;&#1082;&#1080;';
+$TEXT['SUBMITTED'] = '&#1054;&#1090;&#1087;&#1088;&#1072;&#1074;&#1083;&#1077;&#1085;&#1086;';
+$TEXT['MAX_SUBMISSIONS_PER_HOUR'] = 'Max. &#1089;&#1086;&#1086;&#1073;&#1097;&#1077;&#1085;&#1080;&#1081; &#1074; &#1095;&#1072;&#1089;';
+$TEXT['SUBMISSIONS_STORED_IN_DATABASE'] = '&#1057;&#1086;&#1086;&#1073;&#1097;&#1077;&#1085;&#1080;&#1081;, &#1089;&#1086;&#1093;&#1088;&#1072;&#1085;&#1103;&#1077;&#1084;&#1099;&#1093; &#1074; &#1073;&#1072;&#1079;&#1077;';
+$TEXT['EMAIL_ADDRESS'] = 'Email &#1072;&#1076;&#1088;&#1077;&#1089;';
+$TEXT['CUSTOM'] = '&#1047;&#1072;&#1076;&#1072;&#1090;&#1100; e-mail';
+$TEXT['ANONYMOUS'] = 'Anonymous';
+$TEXT['SERVER_OPERATING_SYSTEM'] = 'OS &#1089;&#1077;&#1088;&#1074;&#1077;&#1088;&#1072;';
+$TEXT['WORLD_WRITEABLE_FILE_PERMISSIONS'] = '&#1047;&#1072;&#1087;&#1080;&#1089;&#1100; &#1088;&#1072;&#1079;&#1088;&#1077;&#1096;&#1077;&#1085;&#1072; &#1074;&#1089;&#1077;&#1084;';
+$TEXT['LINUX_UNIX_BASED'] = 'Linux/Unix';
+$TEXT['WINDOWS'] = 'Windows';
+$TEXT['HOME_FOLDER'] = '&#1044;&#1086;&#1084;&#1072;&#1096;&#1085;&#1103;&#1103; &#1087;&#1072;&#1087;&#1082;&#1072;';
+$TEXT['HOME_FOLDERS'] = '&#1044;&#1086;&#1084;&#1072;&#1096;&#1085;&#1080;&#1077; &#1087;&#1072;&#1087;&#1082;&#1080;';
+$TEXT['PAGE_TRASH'] = '&#1050;&#1086;&#1088;&#1079;&#1080;&#1085;&#1072;';
+$TEXT['INLINE'] = '&#1042;&#1089;&#1090;&#1088;&#1086;&#1077;&#1085;&#1085;&#1072;&#1103;';
+$TEXT['SEPARATE'] = '&#1056;&#1072;&#1079;&#1076;&#1077;&#1083;&#1077;&#1085;&#1085;&#1099;&#1081;';
+$TEXT['DELETED'] = '&#1059;&#1076;&#1072;&#1083;&#1077;&#1085;&#1085;&#1072;&#1103;';
+$TEXT['VIEW_DELETED_PAGES'] = '&#1055;&#1086;&#1089;&#1084;&#1086;&#1090;&#1088;&#1077;&#1090;&#1100; &#1091;&#1076;&#1072;&#1083;&#1077;&#1085;&#1085;&#1099;&#1077; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1099;';
+$TEXT['EMPTY_TRASH'] = '&#1054;&#1095;&#1080;&#1089;&#1090;&#1080;&#1090;&#1100; &#1082;&#1086;&#1088;&#1079;&#1080;&#1085;&#1091;';
+$TEXT['TRASH_EMPTIED'] = '&#1050;&#1086;&#1088;&#1079;&#1080;&#1085;&#1072; &#1086;&#1095;&#1080;&#1097;&#1077;&#1085;&#1072;';
+$TEXT['ADD_SECTION'] = '&#1044;&#1086;&#1073;&#1072;&#1074;&#1080;&#1090;&#1100; &#1089;&#1077;&#1082;&#1094;&#1080;&#1102;';
+$TEXT['POST_HEADER'] = '&#1047;&#1072;&#1075;&#1086;&#1083;&#1086;&#1074;&#1086;&#1082; &#1089;&#1086;&#1086;&#1073;&#1097;&#1077;&#1085;&#1080;&#1103;';
+$TEXT['POST_FOOTER'] = '&#1053;&#1080;&#1078;&#1085;&#1103;&#1103; &#1095;&#1072;&#1089;&#1090;&#1100; &#1089;&#1086;&#1086;&#1073;&#1097;&#1077;&#1085;&#1080;&#1103;';
+$TEXT['POSTS_PER_PAGE'] = '&#1057;&#1086;&#1086;&#1073;&#1097;&#1077;&#1085;&#1080;&#1081; &#1085;&#1072; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1091;';
+$TEXT['RESIZE_IMAGE_TO'] = '&#1048;&#1079;&#1084;&#1077;&#1085;&#1103;&#1090;&#1100; &#1088;&#1072;&#1079;&#1084;&#1077;&#1088; &#1082;&#1072;&#1088;&#1090;&#1080;&#1085;&#1082;&#1080; &#1085;&#1072;';
+$TEXT['UNLIMITED'] = '&#1053;&#1077;&#1086;&#1075;&#1088;&#1072;&#1085;&#1080;&#1095;&#1077;&#1085;&#1085;&#1086;';
+$TEXT['OF'] = '&#1080;&#1079;';
+$TEXT['OUT_OF'] = '&#1089;&#1074;&#1099;&#1096;&#1077;';
+$TEXT['NEXT'] = '&#1076;&#1072;&#1083;&#1077;&#1077;';
+$TEXT['PREVIOUS'] = '&#1085;&#1072;&#1079;&#1072;&#1076;';
+$TEXT['NEXT_PAGE'] = '&#1057;&#1083;&#1077;&#1076;&#1091;&#1102;&#1097;&#1072;&#1103; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;';
+$TEXT['PREVIOUS_PAGE'] = '&#1055;&#1088;&#1077;&#1076;&#1099;&#1076;&#1091;&#1097;&#1072;&#1103; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;';
+$TEXT['ON'] = '&#1085;&#1072;';
+$TEXT['LAST_UPDATED_BY'] = '&#1055;&#1086;&#1089;&#1083;&#1077;&#1076;&#1085;&#1077;&#1077; &#1086;&#1073;&#1085;&#1086;&#1074;&#1083;&#1077;&#1085;&#1080;&#1077;: ';
+$TEXT['RESULTS_FOR'] = '&#1056;&#1077;&#1079;&#1091;&#1083;&#1100;&#1090;&#1072;&#1090;&#1099; &#1076;&#1083;&#1103;';
+$TEXT['TIME'] = '&#1042;&#1088;&#1077;&#1084;&#1103;';
+$TEXT['REDIRECT_AFTER'] = 'Redirect after';
+$TEXT['WYSIWYG_STYLE'] = 'WYSIWYG &#1089;&#1090;&#1080;&#1083;&#1100;';
+$TEXT['WYSIWYG_EDITOR'] = 'WYSIWYG &#1088;&#1077;&#1076;&#1072;&#1082;&#1090;&#1086;&#1088;';
+$TEXT['SERVER_EMAIL'] = 'Email &#1089;&#1077;&#1088;&#1074;&#1077;&#1088;&#1072;';
+$TEXT['MENU'] = '&#1052;&#1077;&#1085;&#1102;';
+$TEXT['MANAGE_GROUPS'] = '&#1059;&#1087;&#1088;&#1072;&#1074;&#1083;&#1077;&#1085;&#1080;&#1077; &#1075;&#1088;&#1091;&#1087;&#1087;&#1072;&#1084;&#1080;';
+$TEXT['MANAGE_USERS'] = '&#1059;&#1087;&#1088;&#1072;&#1074;&#1083;&#1077;&#1085;&#1080;&#1077; &#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1077;&#1083;&#1103;&#1084;&#1080;';
+$TEXT['PAGE_LANGUAGES'] = '&#1071;&#1079;&#1099;&#1082; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1099;';
+$TEXT['HIDDEN'] = '&#1057;&#1082;&#1088;&#1099;&#1090;&#1099;&#1081;(&#1072;&#1103;)';
+$TEXT['MAIN'] = '&#1043;&#1083;&#1072;&#1074;&#1085;&#1072;&#1103;';
+$TEXT['RENAME_FILES_ON_UPLOAD'] = '&#1055;&#1077;&#1088;&#1077;&#1080;&#1084;&#1077;&#1085;&#1086;&#1074;&#1072;&#1090;&#1100; &#1092;&#1072;&#1081;&#1083; &#1087;&#1088;&#1080; &#1079;&#1072;&#1075;&#1088;&#1091;&#1079;&#1082;&#1077;';
+$TEXT['APP_NAME'] = '&#1048;&#1084;&#1103; &#1087;&#1088;&#1080;&#1083;&#1086;&#1078;&#1077;&#1085;&#1080;&#1103;';
+$TEXT['SESSION_IDENTIFIER'] = '&#1048;&#1076;&#1077;&#1085;&#1090;&#1080;&#1092;&#1080;&#1082;&#1072;&#1090;&#1086;&#1088; &#1089;&#1077;&#1089;&#1089;&#1080;&#1080;';
+$TEXT['SEC_ANCHOR'] = 'Section-Anchor text';
+$TEXT['BACKUP'] = '&#1056;&#1077;&#1079;&#1077;&#1088;&#1074;&#1085;&#1086;&#1077; &#1082;&#1086;&#1087;&#1080;&#1088;&#1086;&#1074;&#1072;&#1085;&#1080;&#1077;';
+$TEXT['RESTORE'] = '&#1042;&#1086;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1083;&#1077;&#1085;&#1080;&#1077;';
+$TEXT['BACKUP_DATABASE'] = '&#1056;&#1077;&#1079;&#1077;&#1088;&#1074;&#1085;&#1086;&#1077; &#1082;&#1086;&#1087;&#1080;&#1088;&#1086;&#1074;&#1072;&#1085;&#1080;&#1077; &#1073;&#1072;&#1079;&#1099; &#1076;&#1072;&#1085;&#1085;&#1099;&#1093;';
+$TEXT['RESTORE_DATABASE'] = '&#1042;&#1086;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1080;&#1090;&#1100; &#1073;&#1072;&#1079;&#1091; &#1076;&#1072;&#1085;&#1085;&#1099;&#1093;';
+$TEXT['BACKUP_ALL_TABLES'] = '&#1056;&#1077;&#1079;&#1077;&#1088;&#1074;&#1085;&#1086;&#1077; &#1082;&#1086;&#1087;&#1080;&#1088;&#1086;&#1074;&#1072;&#1085;&#1080;&#1077; &#1074;&#1089;&#1077;&#1093; &#1090;&#1072;&#1073;&#1083;&#1080;&#1094; &#1073;&#1072;&#1079;&#1099;';
+$TEXT['BACKUP_WB_SPECIFIC'] = '&#1056;&#1077;&#1079;&#1077;&#1088;&#1074;&#1085;&#1086;&#1077; &#1082;&#1086;&#1087;&#1080;&#1088;&#1086;&#1074;&#1072;&#1085;&#1080;&#1077; &#1090;&#1086;&#1083;&#1100;&#1082;&#1086; &#1090;&#1072;&#1073;&#1083;&#1080;&#1094; CMS';
+$TEXT['BACKUP_MEDIA'] = '&#1056;&#1077;&#1079;&#1077;&#1088;&#1074;&#1085;&#1086;&#1077; &#1082;&#1086;&#1087;&#1080;&#1088;&#1086;&#1074;&#1072;&#1085;&#1080;&#1077; Media';
+$TEXT['RESTORE_MEDIA'] = '&#1042;&#1086;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1080;&#1090;&#1100; Media';
+$TEXT['ADMINISTRATION_TOOL'] = '&#1057;&#1088;&#1077;&#1076;&#1089;&#1090;&#1074;&#1072; &#1072;&#1076;&#1084;&#1080;&#1085;&#1080;&#1089;&#1090;&#1088;&#1080;&#1088;&#1086;&#1074;&#1072;&#1085;&#1080;&#1103;';
+$TEXT['CAPTCHA_VERIFICATION'] = '&#1043;&#1088;&#1072;&#1092;&#1080;&#1095;&#1077;&#1089;&#1082;&#1072;&#1103; &#1074;&#1077;&#1088;&#1080;&#1092;&#1080;&#1082;&#1080;&#1094;&#1080;&#1103;';
+$TEXT['VERIFICATION'] = '&#1048;&#1079;&#1086;&#1073;&#1088;&#1072;&#1078;&#1077;&#1085;&#1080;&#1077; &#1085;&#1072; &#1082;&#1072;&#1088;&#1090;&#1080;&#1085;&#1082;&#1077;';
+$TEXT['DEFAULT_CHARSET'] = '&#1050;&#1086;&#1076;&#1080;&#1088;&#1086;&#1074;&#1082;&#1072; &#1087;&#1086; &#1091;&#1084;&#1086;&#1083;&#1095;&#1072;&#1085;&#1080;&#1102;';
+$TEXT['CHARSET'] = '&#1050;&#1086;&#1076;&#1080;&#1088;&#1086;&#1074;&#1082;&#1072;';
+$TEXT['MODULE_ORDER'] = '&#1055;&#1086;&#1088;&#1103;&#1076;&#1086;&#1082; &#1084;&#1086;&#1076;&#1091;&#1083;&#1077;&#1081; &#1087;&#1088;&#1080; &#1087;&#1086;&#1080;&#1089;&#1082;&#1077;';
+$TEXT['MAX_EXCERPT'] = 'Max &#1089;&#1090;&#1088;&#1086;&#1082; &#1089; &#1088;&#1077;&#1079;&#1091;&#1083;&#1100;&#1090;&#1072;&#1090;&#1072;&#1084;&#1080;';
+$TEXT['TIME_LIMIT'] = 'Max &#1074;&#1088;&#1077;&#1084;&#1103; &#1087;&#1086;&#1080;&#1089;&#1082;&#1072; &#1074; &#1084;&#1086;&#1076;&#1091;&#1083;&#1077;';
+$TEXT['PUBL_START_DATE'] = '&#1044;&#1072;&#1090;&#1072; &#1089;&#1090;&#1072;&#1088;&#1090;&#1072;';
+$TEXT['PUBL_END_DATE'] = '&#1044;&#1072;&#1090;&#1072; &#1086;&#1082;&#1086;&#1085;&#1095;&#1072;&#1085;&#1080;&#1103;';
+$TEXT['CALENDAR'] = '&#1050;&#1072;&#1083;&#1077;&#1085;&#1076;&#1072;&#1088;&#1100;';
+$TEXT['DELETE_DATE'] = '&#1059;&#1076;&#1072;&#1083;&#1080;&#1090;&#1100; &#1076;&#1072;&#1090;&#1091;';
+$TEXT['WBMAILER_DEFAULT_SETTINGS_NOTICE'] = '&#1055;&#1086;&#1078;&#1072;&#1083;&#1091;&#1081;&#1089;&#1090;&#1072; &#1079;&#1072;&#1076;&#1072;&#1081;&#1090;&#1077; &#1089;&#1086;&#1076;&#1077;&#1088;&#1078;&#1080;&#1084;&#1086;&#1077; &#1087;&#1086;&#1083;&#1103; "&#1055;&#1080;&#1089;&#1100;&#1084;&#1086; &#1086;&#1090;" &#1080; "&#1048;&#1084;&#1103; &#1086;&#1090;&#1087;&#1088;&#1072;&#1074;&#1080;&#1090;&#1077;&#1083;&#1103;". &#1044;&#1083;&#1103; &#1087;&#1086;&#1083;&#1103; "&#1055;&#1080;&#1089;&#1100;&#1084;&#1086; &#1086;&#1090;" &#1088;&#1077;&#1082;&#1086;&#1084;&#1077;&#1085;&#1076;&#1091;&#1077;&#1090;&#1089;&#1103; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1100; &#1072;&#1076;&#1088;&#1077;&#1089;&#1072; &#1074;&#1080;&#1076;&#1072;: <strong>admin@yourdomain.com</strong>. &#1053;&#1077;&#1082;&#1086;&#1090;&#1086;&#1088;&#1099;&#1077; &#1087;&#1086;&#1095;&#1090;&#1086;&#1074;&#1099;&#1077; &#1087;&#1088;&#1086;&#1074;&#1072;&#1081;&#1076;&#1077;&#1088;&#1099; (&#1085;&#1072;&#1087;&#1088;&#1080;&#1084;&#1077;&#1088; <em>mail.com</em>) &#1084;&#1086;&#1075;&#1091;&#1090; &#1080;&#1075;&#1085;&#1086;&#1088;&#1080;&#1088;&#1086;&#1074;&#1072;&#1090;&#1100; &#1072;&#1076;&#1088;&#1077;&#1089;&#1072; &#1074;&#1080;&#1076;&#1072; <em>name@mail.com</em>, &#1086;&#1090;&#1087;&#1088;&#1072;&#1074;&#1083;&#1077;&#1085;&#1085;&#1099;&#1077; &#1089; &#1095;&#1091;&#1078;&#1086;&#1075;&#1086; &#1089;&#1077;&#1088;&#1074;&#1077;&#1088;&#1072;, &#1076;&#1083;&#1103; &#1073;&#1086;&#1088;&#1100;&#1073;&#1099; &#1089;&#1086; &#1089;&#1087;&#1072;&#1084;&#1086;&#1084;.<br /><br />&#1044;&#1072;&#1085;&#1085;&#1099;&#1077; &#1085;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080; &#1073;&#1091;&#1076;&#1091;&#1090; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1100;&#1089;&#1103; &#1090;&#1086;&#1083;&#1100;&#1082;&#1086; &#1077;&#1089;&#1083;&#1080; &#1074; CMS &#1085;&#1077; &#1079;&#1072;&#1076;&#1072;&#1085;&#1099; &#1076;&#1088;&#1091;&#1075;&#1080;&#1077; &#1087;&#1072;&#1088;&#1072;&#1084;&#1077;&#1090;&#1088;&#1099;. &#1045;&#1089;&#1083;&#1080; &#1042;&#1072;&#1096; &#1089;&#1077;&#1088;&#1074;&#1077;&#1088; &#1087;&#1086;&#1076;&#1076;&#1077;&#1088;&#1078;&#1080;&#1074;&#1072;&#1077;&#1090; <acronym title="Simple mail transfer protocol">SMTP</acronym>, &#1074;&#1099; &#1084;&#1086;&#1078;&#1077;&#1090;&#1077; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1100; &#1101;&#1090;&#1080; &#1085;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080; &#1076;&#1083;&#1103; &#1080;&#1089;&#1093;&#1086;&#1076;&#1103;&#1097;&#1077;&#1081; &#1087;&#1086;&#1095;&#1090;&#1099;.';
+$TEXT['WBMAILER_DEFAULT_SENDER_MAIL'] = '&#1055;&#1080;&#1089;&#1100;&#1084;&#1086; &#1086;&#1090;';
+$TEXT['WBMAILER_DEFAULT_SENDER_NAME'] = '&#1048;&#1084;&#1103; &#1086;&#1090;&#1087;&#1088;&#1072;&#1074;&#1080;&#1090;&#1077;&#1083;&#1103;';
+$TEXT['WBMAILER_NOTICE'] = '<strong>&#1053;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080; SMTP:</strong><br />&#1044;&#1072;&#1085;&#1085;&#1099;&#1077; &#1085;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080; &#1085;&#1077;&#1086;&#1073;&#1093;&#1086;&#1076;&#1080;&#1084;&#1099; &#1090;&#1086;&#1083;&#1100;&#1082;&#1086; &#1077;&#1089;&#1083;&#1080; &#1042;&#1099; &#1087;&#1083;&#1072;&#1085;&#1080;&#1088;&#1091;&#1077;&#1090;&#1077; &#1086;&#1090;&#1087;&#1088;&#1072;&#1074;&#1083;&#1103;&#1090;&#1100; &#1087;&#1080;&#1089;&#1100;&#1084;&#1072;, &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1091;&#1103; <acronym title="Simple mail transfer protocol">SMTP</acronym>. &#1045;&#1089;&#1083;&#1080; &#1074;&#1099; &#1085;&#1077; &#1079;&#1085;&#1072;&#1077;&#1090;&#1077; &#1087;&#1072;&#1088;&#1072;&#1084;&#1077;&#1090;&#1088;&#1099; &#1042;&#1072;&#1096;&#1077;&#1075;&#1086; SMTP &#1089;&#1077;&#1088;&#1074;&#1077;&#1088;&#1072; &#1080;&#1083;&#1080; &#1085;&#1077; &#1091;&#1074;&#1077;&#1088;&#1077;&#1085;&#1099; &#1074; &#1074;&#1099;&#1073;&#1086;&#1088;&#1077;, &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1091;&#1081;&#1090;&#1077; PHP MAIL &#1074; &#1082;&#1072;&#1095;&#1077;&#1089;&#1090;&#1074;&#1077; &#1087;&#1086;&#1095;&#1090;&#1086;&#1074;&#1086;&#1081; &#1089;&#1083;&#1091;&#1078;&#1073;&#1099;.';
+$TEXT['WBMAILER_FUNCTION'] = '&#1055;&#1086;&#1095;&#1090;&#1086;&#1074;&#1072;&#1103; &#1089;&#1083;&#1091;&#1078;&#1073;&#1072;';
+$TEXT['WBMAILER_SMTP_HOST'] = 'SMTP &#1089;&#1077;&#1088;&#1074;&#1077;&#1088;';
+$TEXT['WBMAILER_PHP'] = 'PHP MAIL';
+$TEXT['WBMAILER_SMTP'] = 'SMTP';
+$TEXT['WBMAILER_SMTP_AUTH'] = 'SMTP &#1072;&#1074;&#1090;&#1086;&#1088;&#1080;&#1079;&#1072;&#1094;&#1080;&#1103;';
+$TEXT['WBMAILER_SMTP_AUTH_NOTICE'] = '&#1086;&#1090;&#1084;&#1077;&#1090;&#1100;&#1090;&#1077;, &#1077;&#1089;&#1083;&#1080; &#1042;&#1072;&#1096; SMTP &#1089;&#1077;&#1088;&#1074;&#1077;&#1088; &#1090;&#1088;&#1077;&#1073;&#1091;&#1077;&#1090; &#1072;&#1074;&#1090;&#1086;&#1088;&#1080;&#1079;&#1072;&#1094;&#1080;&#1102;';
+$TEXT['WBMAILER_SMTP_USERNAME'] = 'SMTP &#1083;&#1086;&#1075;&#1080;&#1085;';
+$TEXT['WBMAILER_SMTP_PASSWORD'] = 'SMTP &#1087;&#1072;&#1088;&#1086;&#1083;&#1100;';
+$TEXT['PLEASE_LOGIN'] = '&#1055;&#1086;&#1078;&#1072;&#1083;&#1091;&#1081;&#1089;&#1090;&#1072; &#1074;&#1099;&#1087;&#1086;&#1083;&#1085;&#1080;&#1090;&#1077; &#1074;&#1093;&#1086;&#1076;';
+$TEXT['CAP_EDIT_CSS'] = '&#1056;&#1077;&#1076;&#1072;&#1082;&#1090;&#1080;&#1088;&#1086;&#1074;&#1072;&#1090;&#1100; CSS';
+$TEXT['HEADING_CSS_FILE'] = '&#1048;&#1084;&#1103; &#1092;&#1072;&#1081;&#1083;&#1072;: ';
+$TEXT['TXT_EDIT_CSS_FILE'] = '&#1048;&#1079;&#1084;&#1077;&#1085;&#1080;&#1090;&#1077; CSS &#1092;&#1072;&#1081;&#1083;, &#1077;&#1089;&#1083;&#1080; &#1085;&#1077;&#1086;&#1073;&#1093;&#1086;&#1076;&#1080;&#1084;&#1086;:';
+$TEXT['CODE_SNIPPET'] = "Code-snippet";
+$TEXT['REQUIREMENT'] = "Requirement";
+$TEXT['INSTALLED'] = "installed";
+$TEXT['NOT_INSTALLED'] = "not installed";
+$TEXT['ADDON'] = "Add-On";
+$TEXT['EXTENSION'] = "Extension";
+$TEXT['UNZIP_FILE'] = "Upload and unpack a zip archive";
+$TEXT['DELETE_ZIP'] = "Delete zip archive after unpacking";
+
+// Success/error messages
+$MESSAGE['FRONTEND']['SORRY_NO_VIEWING_PERMISSIONS'] = '&#1048;&#1079;&#1074;&#1080;&#1085;&#1080;&#1090;&#1077;, &#1091; &#1074;&#1072;&#1089; &#1085;&#1077;&#1090; &#1087;&#1088;&#1072;&#1074; &#1076;&#1083;&#1103; &#1087;&#1088;&#1086;&#1089;&#1084;&#1086;&#1090;&#1088;&#1072; &#1101;&#1090;&#1086;&#1081; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1099;';
+$MESSAGE['FRONTEND']['SORRY_NO_ACTIVE_SECTIONS'] = '&#1048;&#1079;&#1074;&#1080;&#1085;&#1080;&#1090;&#1077;, &#1085;&#1077;&#1090; &#1072;&#1082;&#1090;&#1080;&#1074;&#1085;&#1099;&#1093; &#1089;&#1077;&#1082;&#1094;&#1080;&#1081;';
+
+$MESSAGE['ADMIN']['INSUFFICIENT_PRIVELLIGES'] = '&#1053;&#1077;&#1076;&#1086;&#1089;&#1090;&#1072;&#1090;&#1086;&#1095;&#1085;&#1086; &#1087;&#1088;&#1072;&#1074; &#1076;&#1083;&#1103; &#1085;&#1072;&#1093;&#1086;&#1078;&#1076;&#1077;&#1085;&#1080;&#1103; &#1074; &#1101;&#1090;&#1086;&#1081; &#1089;&#1077;&#1082;&#1094;&#1080;&#1080;';
+
+$MESSAGE['LOGIN']['BOTH_BLANK'] = '&#1055;&#1086;&#1078;&#1072;&#1083;&#1091;&#1081;&#1089;&#1090;&#1072;, &#1074;&#1074;&#1077;&#1076;&#1080;&#1090;&#1077; &#1080;&#1084;&#1103; &#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1077;&#1083;&#1103; &#1080; &#1087;&#1072;&#1088;&#1086;&#1083;&#1100;';
+$MESSAGE['LOGIN']['USERNAME_BLANK'] = '&#1055;&#1086;&#1078;&#1072;&#1083;&#1091;&#1081;&#1089;&#1090;&#1072; &#1074;&#1074;&#1077;&#1076;&#1080;&#1090;&#1077; &#1080;&#1084;&#1103; &#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1077;&#1083;&#1103;';
+$MESSAGE['LOGIN']['PASSWORD_BLANK'] = '&#1055;&#1086;&#1078;&#1072;&#1083;&#1091;&#1081;&#1089;&#1090;&#1072; &#1074;&#1074;&#1077;&#1076;&#1080;&#1090;&#1077; &#1087;&#1072;&#1088;&#1086;&#1083;&#1100;';
+$MESSAGE['LOGIN']['USERNAME_TOO_SHORT'] = '&#1059;&#1082;&#1072;&#1079;&#1072;&#1085;&#1085;&#1086;&#1077; &#1080;&#1084;&#1103; &#1089;&#1083;&#1080;&#1096;&#1082;&#1086;&#1084; &#1082;&#1086;&#1088;&#1086;&#1090;&#1082;&#1086;';
+$MESSAGE['LOGIN']['PASSWORD_TOO_SHORT'] = '&#1059;&#1082;&#1072;&#1079;&#1072;&#1085;&#1085;&#1099;&#1081; &#1087;&#1072;&#1088;&#1086;&#1083;&#1100; &#1089;&#1083;&#1080;&#1096;&#1082;&#1086;&#1084; &#1082;&#1086;&#1088;&#1086;&#1090;&#1082;&#1080;&#1081;';
+$MESSAGE['LOGIN']['USERNAME_TOO_LONG'] = '&#1059;&#1082;&#1072;&#1079;&#1072;&#1085;&#1085;&#1086;&#1077; &#1080;&#1084;&#1103; &#1089;&#1083;&#1080;&#1096;&#1082;&#1086;&#1084; &#1076;&#1083;&#1080;&#1085;&#1085;&#1086;&#1077;';
+$MESSAGE['LOGIN']['PASSWORD_TOO_LONG'] = '&#1059;&#1082;&#1072;&#1079;&#1072;&#1085;&#1085;&#1099;&#1081; &#1087;&#1072;&#1088;&#1086;&#1083;&#1100; &#1089;&#1083;&#1080;&#1096;&#1082;&#1086;&#1084; &#1076;&#1083;&#1080;&#1085;&#1085;&#1099;&#1081;';
+$MESSAGE['LOGIN']['AUTHENTICATION_FAILED'] = '&#1048;&#1084;&#1103; &#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1077;&#1083;&#1103; &#1080; &#1087;&#1072;&#1088;&#1086;&#1083;&#1100; &#1085;&#1077;&#1074;&#1077;&#1088;&#1085;&#1099;';
+
+$MESSAGE['SIGNUP']['NO_EMAIL'] = '&#1042;&#1099; &#1076;&#1086;&#1083;&#1078;&#1085;&#1099; &#1074;&#1074;&#1077;&#1089;&#1090;&#1080; email &#1072;&#1076;&#1088;&#1077;&#1089;';
+$MESSAGE['SIGNUP2']['SUBJECT_LOGIN_INFO'] = 'Your login details...';
+$MESSAGE['SIGNUP2']['BODY_LOGIN_INFO'] = <<< EOT
+Hello {LOGIN_DISPLAY_NAME},
+
+Your '{LOGIN_WEBSITE_TITLE}' login details are:
+Username: {LOGIN_NAME}
+Password: {LOGIN_PASSWORD}
+
+Your password has been set to the one above.
+This means that your old password will no longer work.
+
+If you have received this message in error, please delete it immediately.
+EOT;
+
+$MESSAGE['FORGOT_PASS']['NO_DATA'] = '&#1055;&#1086;&#1078;&#1072;&#1083;&#1091;&#1081;&#1089;&#1090;&#1072; &#1074;&#1074;&#1077;&#1076;&#1080;&#1090;&#1077; &#1074;&#1072;&#1096; email';
+$MESSAGE['FORGOT_PASS']['EMAIL_NOT_FOUND'] = 'Email, &#1082;&#1086;&#1090;&#1086;&#1088;&#1099;&#1081; &#1074;&#1099; &#1074;&#1074;&#1077;&#1083;&#1080;, &#1085;&#1077; &#1085;&#1072;&#1081;&#1076;&#1077;&#1085; &#1074; &#1073;&#1072;&#1079;&#1077;';
+$MESSAGE['FORGOT_PASS']['CANNOT_EMAIL'] = '&#1053;&#1077;&#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1086; &#1074;&#1099;&#1089;&#1083;&#1072;&#1090;&#1100; &#1087;&#1072;&#1088;&#1086;&#1083;&#1100;, &#1086;&#1073;&#1088;&#1072;&#1090;&#1080;&#1090;&#1077;&#1089;&#1100; &#1082; &#1074;&#1072;&#1096;&#1077;&#1084;&#1091; &#1072;&#1076;&#1084;&#1080;&#1085;&#1080;&#1089;&#1090;&#1088;&#1072;&#1090;&#1086;&#1088;&#1091;';
+$MESSAGE['FORGOT_PASS']['PASSWORD_RESET'] = '&#1042;&#1072;&#1096;&#1077; &#1080;&#1084;&#1103; &#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1077;&#1083;&#1103; &#1080; &#1087;&#1072;&#1088;&#1086;&#1083;&#1100; &#1086;&#1090;&#1087;&#1088;&#1072;&#1074;&#1083;&#1077;&#1085;&#1099; &#1085;&#1072; &#1042;&#1072;&#1096; email';
+$MESSAGE['FORGOT_PASS']['ALREADY_RESET'] = '&#1048;&#1079;&#1074;&#1080;&#1085;&#1080;&#1090;&#1077;, &#1085;&#1086; &#1074;&#1099; &#1084;&#1086;&#1078;&#1077;&#1090;&#1077; &#1084;&#1077;&#1085;&#1103;&#1090;&#1100; &#1087;&#1072;&#1088;&#1086;&#1083;&#1100; &#1085;&#1077; &#1095;&#1072;&#1097;&#1077; 1 &#1088;&#1072;&#1079;&#1072; &#1074; &#1095;&#1072;&#1089;';
+
+$MESSAGE['START']['WELCOME_MESSAGE'] = '&#1044;&#1086;&#1073;&#1088;&#1086; &#1087;&#1086;&#1078;&#1072;&#1083;&#1086;&#1074;&#1072;&#1090;&#1100; &#1074; &#1052;&#1077;&#1085;&#1102; &#1040;&#1076;&#1084;&#1080;&#1085;&#1080;&#1089;&#1090;&#1088;&#1080;&#1088;&#1086;&#1074;&#1072;&#1085;&#1080;&#1103; &#1057;&#1072;&#1081;&#1090;&#1072;';
+$MESSAGE['START']['INSTALL_DIR_EXISTS'] = '&#1042;&#1085;&#1080;&#1084;&#1072;&#1085;&#1080;&#1077;, &#1080;&#1085;&#1089;&#1090;&#1072;&#1083;&#1103;&#1094;&#1080;&#1086;&#1085;&#1085;&#1072;&#1103; &#1076;&#1080;&#1088;&#1077;&#1082;&#1090;&#1086;&#1088;&#1080;&#1103; &#1074;&#1089;&#1077; &#1077;&#1097;&#1077; &#1085;&#1077; &#1091;&#1076;&#1072;&#1083;&#1077;&#1085;&#1072;!';
+$MESSAGE['START']['CURRENT_USER'] = '&#1042;&#1099; &#1074;&#1086;&#1096;&#1083;&#1080; &#1082;&#1072;&#1082;:';
+
+$MESSAGE['SETTINGS']['UNABLE_OPEN_CONFIG'] = '&#1053;&#1077;&#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1086; &#1086;&#1090;&#1082;&#1088;&#1099;&#1090;&#1100; &#1082;&#1086;&#1085;&#1092;&#1080;&#1075;&#1091;&#1088;&#1072;&#1094;&#1080;&#1086;&#1085;&#1085;&#1099;&#1081; &#1092;&#1072;&#1081;&#1083;';
+$MESSAGE['SETTINGS']['UNABLE_WRITE_CONFIG'] = '&#1053;&#1077;&#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1072; &#1079;&#1072;&#1087;&#1080;&#1089;&#1100; &#1074; &#1082;&#1086;&#1085;&#1092;&#1080;&#1075;&#1091;&#1088;&#1072;&#1094;&#1080;&#1086;&#1085;&#1085;&#1099;&#1081; &#1092;&#1072;&#1081;&#1083;';
+$MESSAGE['SETTINGS']['SAVED'] = '&#1059;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1082;&#1080; &#1089;&#1086;&#1093;&#1088;&#1072;&#1085;&#1077;&#1085;&#1099; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+$MESSAGE['SETTINGS']['MODE_SWITCH_WARNING'] = '&#1048;&#1084;&#1077;&#1081;&#1090;&#1077; &#1074;&#1074;&#1080;&#1076;&#1091;, &#1095;&#1090;&#1086; &#1087;&#1088;&#1080; &#1085;&#1072;&#1078;&#1072;&#1090;&#1080;&#1080; &#1085;&#1072; &#1101;&#1090;&#1091; &#1082;&#1085;&#1086;&#1087;&#1082;&#1091; &#1087;&#1088;&#1086;&#1080;&#1079;&#1086;&#1081;&#1076;&#1077;&#1090; &#1089;&#1073;&#1088;&#1086;&#1089; &#1085;&#1077;&#1089;&#1086;&#1093;&#1088;&#1072;&#1085;&#1077;&#1085;&#1085;&#1099;&#1093; &#1076;&#1072;&#1085;&#1085;&#1099;&#1093;';
+$MESSAGE['SETTINGS']['WORLD_WRITEABLE_WARNING'] = '&#1048;&#1084;&#1077;&#1081;&#1090;&#1077; &#1074;&#1074;&#1080;&#1076;&#1091;, &#1095;&#1090;&#1086; &#1101;&#1090;&#1086; &#1088;&#1077;&#1082;&#1086;&#1084;&#1077;&#1085;&#1076;&#1086;&#1074;&#1072;&#1085;&#1086; &#1090;&#1086;&#1083;&#1100;&#1082;&#1086; &#1076;&#1083;&#1103; &#1090;&#1077;&#1089;&#1090;&#1080;&#1088;&#1086;&#1074;&#1072;&#1085;&#1080;&#1103;';
+
+$MESSAGE['USERS']['ADDED'] = '&#1055;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1077;&#1083;&#1100; &#1076;&#1086;&#1073;&#1072;&#1074;&#1083;&#1077;&#1085; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+$MESSAGE['USERS']['SAVED'] = '&#1044;&#1072;&#1085;&#1085;&#1099;&#1077; &#1086; &#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1077;&#1083;&#1077; &#1089;&#1086;&#1093;&#1088;&#1072;&#1085;&#1077;&#1085;&#1099; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+$MESSAGE['USERS']['DELETED'] = '&#1055;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1077;&#1083;&#1100; &#1073;&#1099;&#1083; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086; &#1091;&#1076;&#1072;&#1083;&#1077;&#1085;';
+$MESSAGE['USERS']['NO_GROUP'] = '&#1053;&#1077; &#1086;&#1076;&#1085;&#1086;&#1081; &#1075;&#1088;&#1091;&#1087;&#1087;&#1099; &#1085;&#1077; &#1073;&#1099;&#1083;&#1086; &#1074;&#1099;&#1073;&#1088;&#1072;&#1085;&#1086;';
+$MESSAGE['USERS']['USERNAME_TOO_SHORT'] = '&#1048;&#1084;&#1103; &#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1077;&#1083;&#1103;, &#1082;&#1086;&#1090;&#1086;&#1088;&#1086;&#1077; &#1073;&#1099;&#1083;&#1086; &#1074;&#1074;&#1077;&#1076;&#1077;&#1085;&#1086;, &#1089;&#1083;&#1080;&#1096;&#1082;&#1086;&#1084; &#1082;&#1086;&#1088;&#1086;&#1090;&#1082;&#1086;';
+$MESSAGE['USERS']['PASSWORD_TOO_SHORT'] = '&#1055;&#1072;&#1088;&#1086;&#1083;&#1100;, &#1082;&#1086;&#1090;&#1086;&#1088;&#1099;&#1081; &#1073;&#1099;&#1083; &#1074;&#1074;&#1077;&#1076;&#1077;&#1085;, &#1089;&#1083;&#1080;&#1096;&#1082;&#1086;&#1084; &#1082;&#1086;&#1088;&#1086;&#1090;&#1086;&#1082;';
+$MESSAGE['USERS']['PASSWORD_MISMATCH'] = '&#1055;&#1072;&#1088;&#1086;&#1083;&#1080;, &#1082;&#1086;&#1090;&#1086;&#1088;&#1099;&#1077; &#1074;&#1099; &#1074;&#1074;&#1077;&#1083;&#1080;, &#1085;&#1077; &#1089;&#1086;&#1074;&#1087;&#1072;&#1076;&#1072;&#1102;&#1090;';
+$MESSAGE['USERS']['INVALID_EMAIL'] = '&#1042;&#1099; &#1074;&#1074;&#1077;&#1083;&#1080; &#1085;&#1077;&#1087;&#1088;&#1072;&#1074;&#1080;&#1083;&#1100;&#1085;&#1099;&#1081; email';
+$MESSAGE['USERS']['EMAIL_TAKEN'] = 'Email, &#1082;&#1086;&#1090;&#1086;&#1088;&#1099;&#1081; &#1074;&#1099; &#1074;&#1074;&#1077;&#1083;&#1080;, &#1091;&#1078;&#1077; &#1077;&#1089;&#1090;&#1100; &#1074; &#1073;&#1072;&#1079;&#1077;';
+$MESSAGE['USERS']['USERNAME_TAKEN'] = '&#1048;&#1084;&#1103; &#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1077;&#1083;&#1103;, &#1082;&#1086;&#1090;&#1086;&#1088;&#1086;&#1077; &#1074;&#1099; &#1074;&#1099;&#1073;&#1088;&#1072;&#1083;&#1080;, &#1091;&#1078;&#1077; &#1079;&#1072;&#1085;&#1103;&#1090;&#1086;';
+$MESSAGE['USERS']['CHANGING_PASSWORD'] = '&#1048;&#1084;&#1077;&#1081;&#1090;&#1077; &#1074;&#1074;&#1080;&#1076;&#1091;, &#1095;&#1090;&#1086; &#1074;&#1072;&#1084; &#1089;&#1083;&#1077;&#1076;&#1091;&#1077;&#1090; &#1074;&#1074;&#1077;&#1089;&#1090;&#1080; &#1079;&#1085;&#1072;&#1095;&#1077;&#1085;&#1080;&#1103; &#1090;&#1086;&#1083;&#1100;&#1082;&#1086; &#1074; &#1074;&#1077;&#1088;&#1093;&#1085;&#1080;&#1093; &#1087;&#1086;&#1083;&#1103;&#1093; &#1077;&#1089;&#1083;&#1080; &#1074;&#1099; &#1093;&#1086;&#1090;&#1080;&#1090;&#1077; &#1080;&#1079;&#1084;&#1077;&#1085;&#1080;&#1090;&#1100; &#1087;&#1072;&#1088;&#1086;&#1083;&#1100;';
+$MESSAGE['USERS']['CONFIRM_DELETE'] = '&#1042;&#1099; &#1091;&#1074;&#1077;&#1088;&#1077;&#1085;&#1099;, &#1095;&#1090;&#1086; &#1093;&#1086;&#1090;&#1080;&#1090;&#1077; &#1091;&#1076;&#1072;&#1083;&#1080;&#1090;&#1100; &#1074;&#1099;&#1073;&#1088;&#1072;&#1085;&#1085;&#1086;&#1075;&#1086; &#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1077;&#1083;&#1103;?';
+
+$MESSAGE['GROUPS']['ADDED'] = '&#1043;&#1088;&#1091;&#1087;&#1087;&#1072; &#1076;&#1086;&#1073;&#1072;&#1074;&#1083;&#1077;&#1085;&#1072; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+$MESSAGE['GROUPS']['SAVED'] = '&#1043;&#1088;&#1091;&#1087;&#1087;&#1072; &#1089;&#1086;&#1093;&#1088;&#1072;&#1085;&#1077;&#1085;&#1072; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+$MESSAGE['GROUPS']['DELETED'] = '&#1043;&#1088;&#1091;&#1087;&#1087;&#1072; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086; &#1091;&#1076;&#1072;&#1083;&#1077;&#1085;&#1072;';
+$MESSAGE['GROUPS']['GROUP_NAME_BLANK'] = '&#1048;&#1084;&#1103; &#1075;&#1088;&#1091;&#1087;&#1087;&#1099; &#1087;&#1091;&#1089;&#1090;&#1086;&#1077;';
+$MESSAGE['GROUPS']['CONFIRM_DELETE'] = '&#1042;&#1099; &#1091;&#1074;&#1077;&#1088;&#1077;&#1085;&#1099;, &#1095;&#1090;&#1086; &#1074;&#1099; &#1093;&#1086;&#1090;&#1080;&#1090;&#1077; &#1091;&#1076;&#1072;&#1083;&#1080;&#1090;&#1100; &#1074;&#1099;&#1073;&#1088;&#1072;&#1085;&#1085;&#1091;&#1102; &#1075;&#1088;&#1091;&#1087;&#1087;&#1091; (&#1080; &#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1077;&#1083;&#1077;&#1081; &#1074; &#1085;&#1077;&#1081;)?';
+$MESSAGE['GROUPS']['NO_GROUPS_FOUND'] = '&#1043;&#1088;&#1091;&#1087;&#1087; &#1085;&#1077; &#1085;&#1072;&#1081;&#1076;&#1077;&#1085;&#1086;';
+$MESSAGE['GROUPS']['GROUP_NAME_EXISTS'] = '&#1043;&#1088;&#1091;&#1087;&#1087;&#1072; &#1089; &#1090;&#1072;&#1082;&#1080;&#1084; &#1080;&#1084;&#1077;&#1085;&#1077;&#1084; &#1091;&#1078;&#1077; &#1089;&#1091;&#1097;&#1077;&#1089;&#1090;&#1074;&#1091;&#1077;&#1090;';
+
+$MESSAGE['PREFERENCES']['DETAILS_SAVED'] = '&#1044;&#1072;&#1085;&#1085;&#1099;&#1077; &#1089;&#1086;&#1093;&#1088;&#1072;&#1085;&#1077;&#1085;&#1099; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+$MESSAGE['PREFERENCES']['EMAIL_UPDATED'] = 'Email &#1086;&#1073;&#1085;&#1086;&#1074;&#1083;&#1077;&#1085; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+$MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT'] = '&#1058;&#1077;&#1082;&#1091;&#1097;&#1080;&#1081; &#1087;&#1072;&#1088;&#1086;&#1083;&#1100;, &#1082;&#1086;&#1090;&#1086;&#1088;&#1099;&#1081; &#1074;&#1099; &#1074;&#1074;&#1077;&#1083;&#1080;, &#1085;&#1077;&#1087;&#1088;&#1072;&#1074;&#1080;&#1083;&#1100;&#1085;&#1099;&#1081;';
+$MESSAGE['PREFERENCES']['PASSWORD_CHANGED'] = '&#1055;&#1072;&#1088;&#1086;&#1083;&#1100; &#1080;&#1079;&#1084;&#1077;&#1085;&#1077;&#1085; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+
+$MESSAGE['TEMPLATES']['CHANGE_TEMPLATE_NOTICE'] = '&#1042;&#1085;&#1080;&#1084;&#1072;&#1085;&#1080;&#1077;! &#1063;&#1090;&#1086;&#1073;&#1099; &#1095;&#1090;&#1086;&#1073;&#1099; &#1089;&#1084;&#1077;&#1085;&#1080;&#1090;&#1100; &#1096;&#1072;&#1073;&#1083;&#1086;&#1085; &#1087;&#1077;&#1088;&#1077;&#1081;&#1076;&#1080;&#1090;&#1077; &#1074; &#1088;&#1072;&#1079;&#1076;&#1077;&#1083; "&#1059;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1082;&#1080;"';
+
+$MESSAGE['MEDIA']['DIR_DOT_DOT_SLASH'] = '&#1053;&#1077;&#1083;&#1100;&#1079;&#1103; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1100; ../ &#1074; &#1080;&#1084;&#1077;&#1085;&#1080; &#1087;&#1072;&#1087;&#1082;&#1080;';
+$MESSAGE['MEDIA']['DIR_DOES_NOT_EXIST'] = '&#1044;&#1080;&#1088;&#1077;&#1082;&#1090;&#1086;&#1088;&#1080;&#1103; &#1085;&#1077; &#1089;&#1091;&#1097;&#1077;&#1089;&#1090;&#1074;&#1091;&#1077;&#1090;';
+$MESSAGE['MEDIA']['TARGET_DOT_DOT_SLASH'] = '&#1053;&#1077;&#1083;&#1100;&#1079;&#1103; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1100; ../ &#1074; &#1080;&#1084;&#1077;&#1085;&#1080;';
+$MESSAGE['MEDIA']['NAME_DOT_DOT_SLASH'] = '&#1053;&#1077;&#1083;&#1100;&#1079;&#1103; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1100; ../ &#1074; &#1080;&#1084;&#1077;&#1085;&#1080;';
+$MESSAGE['MEDIA']['NAME_INDEX_PHP'] = '&#1053;&#1077;&#1083;&#1100;&#1079;&#1103; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1100; index.php &#1074; &#1082;&#1072;&#1095;&#1077;&#1089;&#1090;&#1074;&#1077; &#1080;&#1084;&#1077;&#1085;&#1080;';
+$MESSAGE['MEDIA']['NONE_FOUND'] = '&#1042; &#1076;&#1072;&#1085;&#1085;&#1086;&#1081; &#1087;&#1072;&#1087;&#1082;&#1077; &#1085;&#1077;&#1090; &#1092;&#1072;&#1081;&#1083;&#1086;&#1074;';
+$MESSAGE['MEDIA']['FILE_NOT_FOUND'] = '&#1060;&#1072;&#1081;&#1083; &#1085;&#1077; &#1085;&#1072;&#1081;&#1076;&#1077;&#1085;';
+$MESSAGE['MEDIA']['DELETED_FILE'] = '&#1060;&#1072;&#1081;&#1083; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086; &#1091;&#1076;&#1072;&#1083;&#1077;&#1085;';
+$MESSAGE['MEDIA']['DELETED_DIR'] = '&#1055;&#1072;&#1087;&#1082;&#1072; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086; &#1091;&#1076;&#1072;&#1083;&#1077;&#1085;&#1072;';
+$MESSAGE['MEDIA']['CONFIRM_DELETE'] = '&#1042;&#1099; &#1091;&#1074;&#1077;&#1088;&#1077;&#1085;&#1099;, &#1095;&#1090;&#1086; &#1093;&#1086;&#1090;&#1080;&#1090;&#1077; &#1091;&#1076;&#1072;&#1083;&#1080;&#1090;&#1100; &#1076;&#1072;&#1085;&#1085;&#1099;&#1081; &#1092;&#1072;&#1081;&#1083; &#1080;&#1083;&#1080; &#1087;&#1072;&#1087;&#1082;&#1091;?';
+$MESSAGE['MEDIA']['CANNOT_DELETE_FILE'] = '&#1053;&#1077;&#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1086; &#1091;&#1076;&#1072;&#1083;&#1080;&#1090;&#1100; &#1074;&#1099;&#1073;&#1088;&#1072;&#1085;&#1085;&#1099;&#1081; &#1092;&#1072;&#1081;&#1083;';
+$MESSAGE['MEDIA']['CANNOT_DELETE_DIR'] = '&#1053;&#1077;&#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1086; &#1091;&#1076;&#1072;&#1083;&#1080;&#1090;&#1100; &#1074;&#1099;&#1073;&#1088;&#1072;&#1085;&#1091;&#1102; &#1087;&#1072;&#1087;&#1082;&#1091;';
+$MESSAGE['MEDIA']['BLANK_NAME'] = '&#1042;&#1099; &#1085;&#1077; &#1074;&#1074;&#1077;&#1083;&#1080; &#1085;&#1086;&#1074;&#1086;&#1077; &#1080;&#1084;&#1103;';
+$MESSAGE['MEDIA']['BLANK_EXTENSION'] = '&#1042;&#1099; &#1085;&#1077; &#1074;&#1074;&#1077;&#1083;&#1080; &#1088;&#1072;&#1089;&#1096;&#1080;&#1088;&#1077;&#1085;&#1080;&#1077; &#1092;&#1072;&#1081;&#1083;&#1072;';
+$MESSAGE['MEDIA']['RENAMED'] = '&#1059;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086; &#1087;&#1077;&#1088;&#1077;&#1080;&#1084;&#1077;&#1085;&#1086;&#1074;&#1072;&#1085;&#1086;';
+$MESSAGE['MEDIA']['CANNOT_RENAME'] = '&#1053;&#1077;&#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1086; &#1087;&#1077;&#1088;&#1077;&#1080;&#1084;&#1077;&#1085;&#1086;&#1074;&#1072;&#1090;&#1100;';
+$MESSAGE['MEDIA']['FILE_EXISTS'] = '&#1060;&#1072;&#1081;&#1083; &#1089; &#1090;&#1072;&#1082;&#1080;&#1084; &#1080;&#1084;&#1077;&#1085;&#1077;&#1084; &#1091;&#1078;&#1077; &#1089;&#1091;&#1097;&#1077;&#1089;&#1090;&#1074;&#1091;&#1077;&#1090;';
+$MESSAGE['MEDIA']['DIR_EXISTS'] = '&#1055;&#1072;&#1087;&#1082;&#1072; &#1089; &#1090;&#1072;&#1082;&#1080;&#1084; &#1080;&#1084;&#1077;&#1085;&#1077;&#1084; &#1091;&#1078;&#1077; &#1089;&#1091;&#1097;&#1077;&#1089;&#1090;&#1074;&#1091;&#1077;&#1090;';
+$MESSAGE['MEDIA']['DIR_MADE'] = '&#1055;&#1072;&#1087;&#1082;&#1072; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086; &#1089;&#1086;&#1079;&#1076;&#1072;&#1085;&#1072;';
+$MESSAGE['MEDIA']['DIR_NOT_MADE'] = '&#1053;&#1077;&#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1086; &#1089;&#1086;&#1079;&#1076;&#1072;&#1090;&#1100; &#1087;&#1072;&#1087;&#1082;&#1091;';
+$MESSAGE['MEDIA']['SINGLE_UPLOADED'] = ' &#1092;&#1072;&#1081;&#1083; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086; &#1079;&#1072;&#1082;&#1072;&#1095;&#1072;&#1085;';
+$MESSAGE['MEDIA']['UPLOADED'] = ' &#1092;&#1072;&#1081;&#1083;&#1099; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086; &#1079;&#1072;&#1082;&#1072;&#1095;&#1072;&#1085;&#1099;';
+
+$MESSAGE['PAGES']['ADDED'] = '&#1057;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086; &#1076;&#1086;&#1073;&#1072;&#1074;&#1083;&#1077;&#1085;&#1072;';
+$MESSAGE['PAGES']['ADDED_HEADING'] = '&#1047;&#1072;&#1075;&#1086;&#1083;&#1086;&#1074;&#1086;&#1082; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1099; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086; &#1076;&#1086;&#1073;&#1072;&#1074;&#1083;&#1077;&#1085;';
+$MESSAGE['PAGES']['PAGE_EXISTS'] = '&#1057;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072; &#1089; &#1090;&#1072;&#1082;&#1080;&#1084; &#1080;&#1083;&#1080; &#1089;&#1093;&#1086;&#1078;&#1080;&#1084; &#1080;&#1084;&#1077;&#1085;&#1077;&#1084; &#1091;&#1078;&#1077; &#1089;&#1091;&#1097;&#1077;&#1089;&#1090;&#1074;&#1091;&#1077;&#1090;';
+$MESSAGE['PAGES']['CANNOT_CREATE_ACCESS_FILE'] = '&#1054;&#1096;&#1080;&#1073;&#1082;&#1072; &#1089;&#1086;&#1079;&#1076;&#1072;&#1085;&#1080;&#1103; &#1092;&#1072;&#1081;&#1083;&#1072; &#1074; &#1087;&#1072;&#1087;&#1082;&#1077; /pages  (&#1085;&#1077;&#1076;&#1086;&#1089;&#1090;&#1072;&#1090;&#1086;&#1095;&#1085;&#1086; &#1087;&#1088;&#1072;&#1074;)';
+$MESSAGE['PAGES']['CANNOT_DELETE_ACCESS_FILE'] = '&#1054;&#1096;&#1080;&#1073;&#1082;&#1072; &#1091;&#1076;&#1072;&#1083;&#1077;&#1085;&#1080;&#1103; &#1092;&#1072;&#1081;&#1083;&#1072; &#1074; &#1087;&#1072;&#1087;&#1082;&#1077; /pages  (&#1085;&#1077;&#1076;&#1086;&#1089;&#1090;&#1072;&#1090;&#1086;&#1095;&#1085;&#1086; &#1087;&#1088;&#1072;&#1074;)';
+$MESSAGE['PAGES']['NOT_FOUND'] = '&#1057;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072; &#1085;&#1077; &#1085;&#1072;&#1081;&#1076;&#1077;&#1085;&#1072;';
+$MESSAGE['PAGES']['SAVED'] = '&#1057;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086; &#1089;&#1086;&#1093;&#1088;&#1072;&#1085;&#1077;&#1085;&#1072;';
+$MESSAGE['PAGES']['SAVED_SETTINGS'] = '&#1057;&#1074;&#1086;&#1081;&#1089;&#1090;&#1074;&#1072; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1099; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086; &#1089;&#1086;&#1093;&#1088;&#1072;&#1085;&#1077;&#1085;&#1099;';
+$MESSAGE['PAGES']['NOT_SAVED'] = '&#1054;&#1096;&#1080;&#1073;&#1082;&#1072; &#1089;&#1086;&#1093;&#1088;&#1072;&#1085;&#1077;&#1085;&#1080;&#1103; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1099;';
+$MESSAGE['PAGES']['DELETE_CONFIRM'] = '&#1042;&#1099; &#1091;&#1074;&#1077;&#1088;&#1077;&#1085;&#1099;, &#1095;&#1090;&#1086; &#1093;&#1086;&#1090;&#1080;&#1090;&#1077; &#1091;&#1076;&#1072;&#1083;&#1080;&#1090;&#1100; &#1074;&#1099;&#1073;&#1088;&#1072;&#1085;&#1091;&#1102; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1091; (&#1080; &#1074;&#1089;&#1077; &#1077;&#1105; &#1087;&#1086;&#1076;&#1088;&#1072;&#1079;&#1076;&#1077;&#1083;&#1099;)';
+$MESSAGE['PAGES']['DELETED'] = '&#1057;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086; &#1091;&#1076;&#1072;&#1083;&#1077;&#1085;&#1072;';
+$MESSAGE['PAGES']['RESTORED'] = '&#1057;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086; &#1074;&#1086;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1083;&#1077;&#1085;&#1072;';
+$MESSAGE['PAGES']['BLANK_PAGE_TITLE'] = '&#1042;&#1074;&#1077;&#1076;&#1080;&#1090;&#1077; &#1079;&#1072;&#1075;&#1086;&#1083;&#1086;&#1074;&#1086;&#1082; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1099;';
+$MESSAGE['PAGES']['BLANK_MENU_TITLE'] = '&#1042;&#1074;&#1077;&#1076;&#1080;&#1090;&#1077; &#1079;&#1072;&#1075;&#1086;&#1083;&#1086;&#1074;&#1086;&#1082; &#1084;&#1077;&#1085;&#1102;';
+$MESSAGE['PAGES']['REORDERED'] = '&#1055;&#1086;&#1088;&#1103;&#1076;&#1086;&#1082; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094; &#1080;&#1079;&#1084;&#1077;&#1085;&#1077;&#1085;';
+$MESSAGE['PAGES']['CANNOT_REORDER'] = '&#1054;&#1096;&#1080;&#1073;&#1082;&#1072; &#1080;&#1079;&#1084;&#1077;&#1085;&#1077;&#1085;&#1080;&#1103; &#1087;&#1086;&#1088;&#1103;&#1076;&#1082;&#1072; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;';
+$MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS'] = '&#1059; &#1074;&#1072;&#1089; &#1085;&#1077;&#1090; &#1087;&#1088;&#1072;&#1074; &#1076;&#1083;&#1103; &#1080;&#1079;&#1084;&#1077;&#1085;&#1077;&#1085;&#1080;&#1103; &#1101;&#1090;&#1086;&#1081; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1099;';
+$MESSAGE['PAGES']['INTRO_NOT_WRITABLE'] = '&#1053;&#1077;&#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1086; &#1079;&#1072;&#1087;&#1080;&#1089;&#1072;&#1090;&#1100; &#1074; /pages/intro.php (&#1085;&#1077;&#1076;&#1086;&#1089;&#1090;&#1072;&#1090;&#1086;&#1095;&#1085;&#1086; &#1087;&#1088;&#1072;&#1074;)';
+$MESSAGE['PAGES']['INTRO_SAVED'] = '&#1057;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;-&#1079;&#1072;&#1089;&#1090;&#1072;&#1074;&#1082;&#1072; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086; &#1089;&#1086;&#1093;&#1088;&#1072;&#1085;&#1077;&#1085;&#1072;';
+$MESSAGE['PAGES']['LAST_MODIFIED'] = '&#1055;&#1086;&#1089;&#1083;&#1077;&#1076;&#1085;&#1077;&#1077; &#1080;&#1079;&#1084;&#1077;&#1085;&#1077;&#1085;&#1080;&#1077;:';
+$MESSAGE['PAGES']['INTRO_LINK'] = '&#1053;&#1072;&#1078;&#1084;&#1080;&#1090;&#1077; &#1047;&#1044;&#1045;&#1057;&#1068; &#1076;&#1083;&#1103; &#1080;&#1079;&#1084;&#1077;&#1085;&#1077;&#1085;&#1080;&#1103; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1099;-&#1079;&#1072;&#1089;&#1090;&#1072;&#1074;&#1082;&#1080;';
+$MESSAGE['PAGES']['SECTIONS_PROPERTIES_SAVED'] = '&#1057;&#1074;&#1086;&#1081;&#1089;&#1090;&#1074;&#1072; &#1089;&#1077;&#1082;&#1094;&#1080;&#1080; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086; &#1089;&#1086;&#1093;&#1088;&#1072;&#1085;&#1077;&#1085;&#1099;';
+$MESSAGE['PAGES']['RETURN_TO_PAGES'] = '&#1050; &#1089;&#1087;&#1080;&#1089;&#1082;&#1091; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;';
+
+$MESSAGE['GENERIC']['FILL_IN_ALL'] = '&#1055;&#1086;&#1078;&#1072;&#1083;&#1091;&#1081;&#1089;&#1090;&#1072; &#1074;&#1077;&#1088;&#1085;&#1080;&#1090;&#1077;&#1089;&#1100; &#1080; &#1079;&#1072;&#1087;&#1086;&#1083;&#1085;&#1080;&#1090;&#1077; &#1074;&#1089;&#1077; &#1087;&#1086;&#1083;&#1103;';
+$MESSAGE['GENERIC']['FILE_TYPE'] = '&#1047;&#1072;&#1075;&#1088;&#1091;&#1078;&#1072;&#1077;&#1084;&#1099;&#1081; &#1092;&#1072;&#1081;&#1083; &#1076;&#1086;&#1083;&#1078;&#1077;&#1085; &#1080;&#1084;&#1077;&#1090;&#1100; &#1089;&#1083;&#1077;&#1076;&#1091;&#1102;&#1097;&#1080;&#1081; &#1092;&#1086;&#1088;&#1084;&#1072;&#1090;:';
+$MESSAGE['GENERIC']['FILE_TYPES'] = '&#1047;&#1072;&#1075;&#1088;&#1091;&#1078;&#1072;&#1077;&#1084;&#1099;&#1081; &#1092;&#1072;&#1081;&#1083; &#1076;&#1086;&#1083;&#1078;&#1077;&#1085; &#1080;&#1084;&#1077;&#1090;&#1100; &#1090;&#1080;&#1087;:';
+$MESSAGE['GENERIC']['CANNOT_UPLOAD'] = '&#1053;&#1077;&#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1086; &#1079;&#1072;&#1075;&#1088;&#1091;&#1079;&#1080;&#1090;&#1100; &#1092;&#1072;&#1081;&#1083;';
+$MESSAGE['GENERIC']['ALREADY_INSTALLED'] = '&#1059;&#1078;&#1077; &#1091;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1083;&#1077;&#1085;&#1086;';
+$MESSAGE['GENERIC']['NOT_INSTALLED'] = '&#1053;&#1077;&#1091;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1083;&#1077;&#1085;&#1086;';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL'] = '&#1053;&#1077;&#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1086; &#1091;&#1076;&#1072;&#1083;&#1080;&#1090;&#1100;';
+$MESSAGE['GENERIC']['CANNOT_UNZIP'] = '&#1053;&#1077;&#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1086; &#1088;&#1072;&#1079;&#1072;&#1088;&#1093;&#1080;&#1074;&#1080;&#1088;&#1086;&#1074;&#1072;&#1090;&#1100; &#1092;&#1072;&#1081;&#1083;';
+$MESSAGE['GENERIC']['INSTALLED'] = '&#1059;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1082;&#1072; &#1087;&#1088;&#1086;&#1096;&#1083;&#1072; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1072;';
+$MESSAGE['GENERIC']['UPGRADED'] = '&#1054;&#1073;&#1085;&#1086;&#1074;&#1083;&#1077;&#1085;&#1080;&#1077; &#1087;&#1088;&#1086;&#1096;&#1083;&#1086; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+$MESSAGE['GENERIC']['UNINSTALLED'] = '&#1059;&#1076;&#1072;&#1083;&#1077;&#1085;&#1086; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+$MESSAGE['GENERIC']['BAD_PERMISSIONS'] = '&#1053;&#1077;&#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1086; &#1079;&#1072;&#1087;&#1080;&#1089;&#1072;&#1090;&#1100; &#1074; &#1074;&#1099;&#1073;&#1088;&#1072;&#1085;&#1085;&#1091;&#1102; &#1076;&#1080;&#1088;&#1077;&#1082;&#1090;&#1086;&#1088;&#1080;&#1102;';
+$MESSAGE['GENERIC']['INVALID'] = '&#1047;&#1072;&#1075;&#1088;&#1091;&#1078;&#1077;&#1085;&#1085;&#1099;&#1081; &#1092;&#1072;&#1081;&#1083; &#1087;&#1086;&#1074;&#1088;&#1077;&#1078;&#1076;&#1077;&#1085;';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE'] = '&#1053;&#1077;&#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1086; &#1091;&#1076;&#1072;&#1083;&#1080;&#1090;&#1100;: &#1092;&#1072;&#1081;&#1083; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1091;&#1077;&#1090;&#1089;&#1103;';
+
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL'] = "<br /><br />{{type}} <b>{{type_name}}</b> could not be uninstalled, because it is still in use on {{pages}}.<br /><br />";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL_PAGES'] = "this page;these pages";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IS_DEFAULT_TEMPLATE'] = "Can't uninstall the template <b>{{name}}</b>, because it is the default template!";
+
+$MESSAGE['GENERIC']['WEBSITE_UNDER_CONSTRUCTION'] = '&#1042;&#1077;&#1073;&#1089;&#1072;&#1081;&#1090; &#1074; &#1088;&#1072;&#1079;&#1088;&#1072;&#1073;&#1086;&#1090;&#1082;&#1077;';
+$MESSAGE['GENERIC']['PLEASE_CHECK_BACK_SOON'] = '&#1047;&#1072;&#1081;&#1076;&#1080;&#1090;&#1077; &#1087;&#1086;&#1087;&#1086;&#1079;&#1078;&#1077;...';
+$MESSAGE['GENERIC']['PLEASE_BE_PATIENT'] = '&#1055;&#1086;&#1078;&#1072;&#1083;&#1091;&#1081;&#1089;&#1090;&#1072; &#1087;&#1086;&#1076;&#1086;&#1078;&#1076;&#1080;&#1090;&#1077;, &#1101;&#1090;&#1086; &#1084;&#1086;&#1078;&#1077;&#1090; &#1079;&#1072;&#1085;&#1103;&#1090;&#1100; &#1085;&#1077;&#1082;&#1086;&#1090;&#1086;&#1088;&#1086;&#1077; &#1074;&#1088;&#1077;&#1084;&#1103;.';
+$MESSAGE['GENERIC']['ERROR_OPENING_FILE'] = '&#1054;&#1096;&#1080;&#1073;&#1082;&#1072; &#1086;&#1090;&#1082;&#1088;&#1099;&#1090;&#1080;&#1103; &#1092;&#1072;&#1081;&#1083;&#1072;.';
+$MESSAGE['GENERIC']['INVALID_ADDON_FILE'] = 'Invalid WebsiteBaker installation file. Please check the *.zip format.';
+$MESSAGE['GENERIC']['INVALID_LANGUAGE_FILE'] = 'Invalid WebsiteBaker language file. Please check the text file.';
+
+$MESSAGE['MOD_FORM']['REQUIRED_FIELDS'] = '&#1042;&#1053;&#1048;&#1052;&#1040;&#1053;&#1048;&#1045;! &#1042;&#1099; &#1076;&#1086;&#1083;&#1078;&#1085;&#1099; &#1079;&#1072;&#1087;&#1086;&#1083;&#1085;&#1080;&#1090;&#1100; &#1087;&#1086;&#1083;&#1077;';
+$MESSAGE['MOD_FORM']['EXCESS_SUBMISSIONS'] = '&#1048;&#1079;&#1074;&#1080;&#1085;&#1080;&#1090;&#1077;, &#1089;&#1083;&#1080;&#1096;&#1082;&#1086;&#1084; &#1084;&#1085;&#1086;&#1075;&#1086; &#1089;&#1086;&#1086;&#1073;&#1097;&#1077;&#1085;&#1080;&#1081; &#1079;&#1072; &#1087;&#1086;&#1089;&#1083;&#1077;&#1076;&#1085;&#1080;&#1081; &#1095;&#1072;&#1089;. &#1055;&#1086;&#1078;&#1072;&#1083;&#1091;&#1081;&#1089;&#1090;&#1072; &#1087;&#1086;&#1087;&#1088;&#1086;&#1073;&#1091;&#1081;&#1090;&#1077; &#1087;&#1086;&#1074;&#1090;&#1086;&#1088;&#1080;&#1090;&#1100; &#1086;&#1090;&#1087;&#1088;&#1072;&#1074;&#1082;&#1091; &#1095;&#1077;&#1088;&#1077;&#1079; &#1085;&#1077;&#1082;&#1086;&#1090;&#1086;&#1088;&#1086;&#1077; &#1074;&#1088;&#1077;&#1084;&#1103;.';
+$MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA'] = '&#1050;&#1086;&#1076; &#1087;&#1086;&#1076;&#1090;&#1074;&#1077;&#1088;&#1078;&#1076;&#1077;&#1085;&#1080;&#1103; &#1074;&#1074;&#1077;&#1076;&#1077;&#1085; &#1085;&#1077;&#1074;&#1077;&#1088;&#1085;&#1086;. &#1045;&#1089;&#1083;&#1080; &#1074;&#1099; &#1085;&#1077; &#1084;&#1086;&#1078;&#1077;&#1090;&#1077; &#1087;&#1088;&#1086;&#1095;&#1077;&#1089;&#1090;&#1100; &#1082;&#1086;&#1076;, &#1087;&#1086;&#1078;&#1072;&#1083;&#1091;&#1081;&#1089;&#1090;&#1072; &#1089;&#1086;&#1086;&#1073;&#1097;&#1080;&#1090;&#1077; &#1088;&#1072;&#1079;&#1088;&#1072;&#1073;&#1086;&#1090;&#1095;&#1080;&#1082;&#1072;&#1084;: '.SERVER_EMAIL.'';
+
+$MESSAGE['ADDON']['RELOAD'] = 'Update database with information from Add-on files (e.g. after FTP upload).';
+$MESSAGE['ADDON']['ERROR_RELOAD'] = 'Error while updating the Add-On information.';
+$MESSAGE['ADDON']['MODULES_RELOADED'] = '&#1052;&#1086;&#1076;&#1091;&#1083;&#1080; &#1087;&#1077;&#1088;&#1077;&#1079;&#1072;&#1075;&#1088;&#1091;&#1078;&#1077;&#1085;&#1099; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+$MESSAGE['ADDON']['TEMPLATES_RELOADED'] = '&#1064;&#1072;&#1073;&#1083;&#1086;&#1085;&#1099; &#1087;&#1077;&#1088;&#1077;&#1079;&#1072;&#1075;&#1088;&#1091;&#1078;&#1077;&#1085;&#1099; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+$MESSAGE['ADDON']['LANGUAGES_RELOADED'] = '&#1071;&#1079;&#1099;&#1082;&#1080; &#1087;&#1077;&#1088;&#1077;&#1079;&#1072;&#1075;&#1088;&#1091;&#1078;&#1077;&#1085;&#1099; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+$MESSAGE['ADDON']['PRECHECK_FAILED'] = 'Add-on installation failed. Your system does not fulfill the requirements of this Add-on. To make this Add-on working on your system, please fix the issues summarized below.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION'] = 'When modules are uploaded via FTP (not recommended), the module installation files <tt>install.php</tt>, <tt>upgrade.php</tt> or <tt>uninstall.php</tt> will not be executed automatically. Those modules may not work correct or do not uninstall properly.<br /><br />You can execute the module files manually for modules uploaded via FTP below.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION_WARNING'] = 'Warning: Existing module database entries will get lost. Only use this option if you experience problems with modules uploaded via FTP.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/languages/RU.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/languages/DE.php
===================================================================
--- tags/2.8.2/wb/languages/DE.php	(nonexistent)
+++ tags/2.8.2/wb/languages/DE.php	(revision 1481)
@@ -0,0 +1,595 @@
+<?php
+/**
+ *
+ * @category        framework
+ * @package         language
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.website baker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// use languageedit-module to modify this file
+
+// Define that this file is loaded
+if(!defined('LANGUAGE_LOADED')) {
+define('LANGUAGE_LOADED', true);
+}
+
+// Set the language information
+$language_code = 'DE';
+$language_name = 'Deutsch';
+$language_version = '2.8';
+$language_platform = '2.8.x';
+$language_author = 'Stefan Braunewell, Matthias Gallas';
+$language_license = 'GNU General Public License';
+
+// Menu titles
+$MENU['START'] = 'Start';
+$MENU['PAGES'] = 'Seiten';
+$MENU['MEDIA'] = 'Medien';
+$MENU['ADDONS'] = 'Erweiterungen';
+$MENU['MODULES'] = 'Module';
+$MENU['TEMPLATES'] = 'Designvorlagen';
+$MENU['LANGUAGES'] = 'Sprachen';
+$MENU['PREFERENCES'] = 'Einstellungen';
+$MENU['SETTINGS'] = 'Optionen';
+$MENU['ADMINTOOLS'] = 'Admin-Tools';
+$MENU['ACCESS'] = 'Benutzerverwaltung';
+$MENU['USERS'] = 'Benutzer';
+$MENU['GROUPS'] = 'Gruppen';
+$MENU['HELP'] = 'Hilfe';
+$MENU['VIEW'] = 'Ansicht';
+$MENU['LOGOUT'] = 'Abmelden';
+$MENU['LOGIN'] = 'Anmeldung';
+$MENU['FORGOT'] = 'Anmelde-Details anfordern';
+
+// Section overviews
+$OVERVIEW['START'] = '&Uuml;berblick &uuml;ber die Verwaltung';
+$OVERVIEW['PAGES'] = 'Verwaltung Ihrer Webseiten...';
+$OVERVIEW['MEDIA'] = 'Verwaltung der im Medienordner gespeicherten Dateien...';
+$OVERVIEW['MODULES'] = 'Verwaltung der WebsiteBaker Module...';
+$OVERVIEW['TEMPLATES'] = '&Auml;ndern des Designs Ihrer Webseite mit Vorlagen...';
+$OVERVIEW['LANGUAGES'] = 'Sprachen verwalten...';
+$OVERVIEW['PREFERENCES'] = '&Auml;ndern pers&ouml;nlicher Einstellungen wie E-Mail Adresse, Passwort, usw.... ';
+$OVERVIEW['SETTINGS'] = '&Auml;ndern der Optionen f&uuml;r WebsiteBaker...';
+$OVERVIEW['USERS'] = 'Verwaltung von Benutzern, die sich in WebsiteBaker einloggen d&uuml;rfen...';
+$OVERVIEW['GROUPS'] = 'Verwaltung von Gruppen und Ihrer Zugangsberechtigungen...';
+$OVERVIEW['HELP'] = 'Noch Fragen? Hier finden Sie Antworten';
+$OVERVIEW['VIEW'] = 'Ansicht Ihrer Webseite in einem neuen Fenster...';
+$OVERVIEW['ADMINTOOLS'] = 'Zugriff auf die WebsiteBaker Verwaltungsprogramme...';
+
+// Headings
+$HEADING['MODIFY_DELETE_PAGE'] = 'Seite &auml;ndern/Seite l&ouml;schen';
+$HEADING['DELETED_PAGES'] = 'gel&ouml;schte Seiten';
+$HEADING['ADD_PAGE'] = 'Seite hinzuf&uuml;gen';
+$HEADING['ADD_HEADING'] = 'Kopf hinzuf&uuml;gen';
+$HEADING['MODIFY_PAGE'] = 'Seite &auml;ndern';
+$HEADING['MODIFY_PAGE_SETTINGS'] = 'Seitenoptionen &auml;ndern';
+$HEADING['MODIFY_ADVANCED_PAGE_SETTINGS'] = 'Erweiterte Seitenoptionen &auml;ndern';
+$HEADING['MANAGE_SECTIONS'] = 'Abschnitte verwalten';
+$HEADING['MODIFY_INTRO_PAGE'] = 'Eingangsseite &auml;ndern';
+
+$HEADING['BROWSE_MEDIA'] = 'Medien durchsuchen';
+$HEADING['CREATE_FOLDER'] = 'Ordner erstellen';
+$HEADING['UPLOAD_FILES'] = 'Datei(en) &uuml;bertragen';
+
+$HEADING['INSTALL_MODULE'] = 'Modul installieren';
+$HEADING['UNINSTALL_MODULE'] = 'Modul deinstallieren';
+$HEADING['MODULE_DETAILS'] = 'Details zum Modul';
+
+$HEADING['INSTALL_TEMPLATE'] = 'Designvorlage installieren';
+$HEADING['UNINSTALL_TEMPLATE'] = 'Designvorlage deinstallieren';
+$HEADING['TEMPLATE_DETAILS'] = 'Details zur Designvorlage';
+
+$HEADING['INSTALL_LANGUAGE'] = 'Sprache hinzuf&uuml;gen';
+$HEADING['UNINSTALL_LANGUAGE'] = 'Sprache l&ouml;schen';
+$HEADING['LANGUAGE_DETAILS'] = 'Details zur Sprache';
+
+$HEADING['MY_SETTINGS'] = 'Einstellungen';
+$HEADING['MY_EMAIL'] = 'E-Mail Adresse';
+$HEADING['MY_PASSWORD'] = 'Passwort';
+
+$HEADING['GENERAL_SETTINGS'] = 'Allgemeine Optionen';
+$HEADING['DEFAULT_SETTINGS'] = 'Standardeinstellungen';
+$HEADING['SEARCH_SETTINGS'] = 'Suchoptionen';
+$HEADING['FILESYSTEM_SETTINGS'] = 'Dateisystemoptionen';
+$HEADING['SERVER_SETTINGS'] = 'Servereinstellungen';
+$HEADING['WBMAILER_SETTINGS'] = 'Maileinstellungen';
+$HEADING['ADMINISTRATION_TOOLS'] = 'Verwaltungsprogramme';
+
+$HEADING['MODIFY_DELETE_USER'] = '&Auml;ndern/L&ouml;schen von Benutzern';
+$HEADING['ADD_USER'] = 'Benutzer hinzuf&uuml;gen';
+$HEADING['MODIFY_USER'] = 'Benutzer &auml;ndern';
+
+$HEADING['MODIFY_DELETE_GROUP'] = '&Auml;ndern/L&ouml;schen von Gruppen';
+$HEADING['ADD_GROUP'] = 'Gruppen hinzuf&uuml;gen';
+$HEADING['MODIFY_GROUP'] = 'Gruppen &auml;ndern';
+
+$HEADING['ADDON_PRECHECK_FAILED'] = 'Add-On Voraussetzungen nicht erf&uuml;llt';
+$HEADING['INVOKE_MODULE_FILES'] = 'Moduldateien manuell aufrufen';
+
+// Other text
+$TEXT['OPEN'] = '&Ouml;ffnen';
+$TEXT['ADD'] = 'Hinzuf&uuml;gen';
+$TEXT['MODIFY'] = '&Auml;ndern';
+$TEXT['SETTINGS'] = 'Optionen';
+$TEXT['DELETE'] = 'Entfernen';
+$TEXT['SAVE'] = 'Speichern';
+$TEXT['RESET'] = 'Zur&uuml;cksetzen';
+$TEXT['LOGIN'] = 'Anmeldung';
+$TEXT['RELOAD'] = 'Neu laden';
+$TEXT['CANCEL'] = 'Abbrechen';
+$TEXT['NAME'] = 'Name';
+$TEXT['PLEASE_SELECT'] = 'Bitte ausw&auml;hlen';
+$TEXT['TITLE'] = 'Titel';
+$TEXT['PARENT'] = '&Uuml;bergeordnete Datei';
+$TEXT['TYPE'] = 'Art';
+$TEXT['VISIBILITY'] = 'Sichtbarkeit';
+$TEXT['PRIVATE'] = 'Privat';
+$TEXT['PUBLIC'] = '&Ouml;ffentlich';
+$TEXT['NONE'] = 'Keine';
+$TEXT['NONE_FOUND'] = 'Keine gefunden';
+$TEXT['CURRENT'] = 'Aktuell';
+$TEXT['CHANGE'] = '&Auml;ndern';
+$TEXT['WINDOW'] = 'Fenster';
+$TEXT['DESCRIPTION'] = 'Beschreibung';
+$TEXT['KEYWORDS'] = 'Schl&uuml;sselw&ouml;rter';
+$TEXT['ADMINISTRATORS'] = 'Administratoren';
+$TEXT['PRIVATE_VIEWERS'] = 'Private Nutzer';
+$TEXT['EXPAND'] = 'Erweitern';
+$TEXT['COLLAPSE'] = 'Reduzieren';
+$TEXT['MOVE_UP'] = 'Aufw&auml;rts verschieben';
+$TEXT['MOVE_DOWN'] = 'Abw&auml;rts verschieben';
+$TEXT['RENAME'] = 'Umbenennen';
+$TEXT['MODIFY_SETTINGS'] = 'Optionen &auml;ndern';
+$TEXT['MODIFY_CONTENT'] = 'Inhalt &auml;ndern';
+$TEXT['VIEW'] = 'Ansicht';
+$TEXT['UP'] = 'Aufw&auml;rts';
+$TEXT['FORGOTTEN_DETAILS'] = 'Haben Sie Ihre pers&ouml;nlichen Daten vergessen?';
+$TEXT['NEED_TO_LOGIN'] = 'M&uuml;ssen Sie sich einloggen?';
+$TEXT['SEND_DETAILS'] = 'Anmeldedaten senden';
+$TEXT['USERNAME'] = 'Benutzername';
+$TEXT['PASSWORD'] = 'Passwort';
+$TEXT['HOME'] = 'Home';
+$TEXT['TARGET_FOLDER'] = 'Zielordner';
+$TEXT['OVERWRITE_EXISTING'] = '&Uuml;berschreibe bestehende';
+$TEXT['FILE'] = 'Datei';
+$TEXT['FILES'] = 'Dateien';
+$TEXT['FOLDER'] = 'Ordner';
+$TEXT['FOLDERS'] = 'Ordner';
+$TEXT['CREATE_FOLDER'] = 'Ordner anlegen';
+$TEXT['UPLOAD_FILES'] = 'Datei(en) &uuml;bertragen';
+$TEXT['CURRENT_FOLDER'] = 'Aktueller Ordner';
+$TEXT['TO'] = 'an';
+$TEXT['FROM'] = 'von';
+$TEXT['INSTALL'] = 'Installieren';
+$TEXT['UNINSTALL'] = 'Deinstallieren';
+$TEXT['VIEW_DETAILS'] = 'Details';
+$TEXT['DISPLAY_NAME'] = 'Angezeigter Name';
+$TEXT['AUTHOR'] = 'Autor';
+$TEXT['VERSION'] = 'Version';
+$TEXT['DESIGNED_FOR'] = 'Entworfen f&uuml;r';
+$TEXT['DESCRIPTION'] = 'Beschreibung';
+$TEXT['EMAIL'] = 'E-Mail';
+$TEXT['LANGUAGE'] = 'Sprache';
+$TEXT['TIMEZONE'] = 'Zeitzone';
+$TEXT['CURRENT_PASSWORD'] = 'Bisheriges Passwort';
+$TEXT['NEW_PASSWORD'] = 'Neues Passwort';
+$TEXT['RETYPE_NEW_PASSWORD'] = 'Neues Passwort wiederholen';
+$TEXT['ACTIVE'] = 'Aktiv';
+$TEXT['DISABLED'] = 'Ausgeschaltet';
+$TEXT['ENABLED'] = 'Eingeschaltet';
+$TEXT['RETYPE_PASSWORD'] = 'Geben Sie bitte Ihr Passwort nochmal ein';
+$TEXT['GROUP'] = 'Gruppe';
+$TEXT['SYSTEM_PERMISSIONS'] = 'Zugangsberechtigungen';
+$TEXT['MODULE_PERMISSIONS'] = 'Modulberechtigungen';
+$TEXT['SHOW_ADVANCED'] = 'Erweiterte Optionen anzeigen';
+$TEXT['HIDE_ADVANCED'] = 'Erweiterte Optionen verdecken';
+$TEXT['BASIC'] = 'Einfach';
+$TEXT['ADVANCED'] = 'Erweitert';
+$TEXT['WEBSITE'] = 'Webseite';
+$TEXT['DEFAULT'] = 'Standard';
+$TEXT['KEYWORDS'] = 'Schl&uuml;sselw&ouml;rter';
+$TEXT['TEXT'] = 'Text';
+$TEXT['HEADER'] = 'Kopfzeile';
+$TEXT['FOOTER'] = 'Fu&szlig;zeile';
+$TEXT['TEMPLATE'] = 'Template';
+$TEXT['THEME'] = 'Backend-Theme';
+$TEXT['INSTALLATION'] = 'Installation';
+$TEXT['DATABASE'] = 'Datenbank';
+$TEXT['HOST'] = 'Host';
+$TEXT['INTRO'] = 'Eingangs';
+$TEXT['PAGE'] = 'Seite';
+$TEXT['SIGNUP'] = 'Registrierung';
+$TEXT['PHP_ERROR_LEVEL'] = 'PHP Fehlerberichte';
+$TEXT['ADMIN'] = 'Admin';
+$TEXT['PATH'] = 'Pfad';
+$TEXT['URL'] = 'URL';
+$TEXT['FRONTEND'] = 'Frontend';
+$TEXT['EXTENSION'] = 'Endungen';
+$TEXT['TABLE_PREFIX'] = 'TabellenPr&auml;fix';
+$TEXT['CHANGES'] = '&Auml;nderungen';
+$TEXT['ADMINISTRATION'] = 'Verwaltung';
+$TEXT['FORGOT_DETAILS'] = 'Haben Sie Ihre pers&ouml;nlichen Daten vergessen?';
+$TEXT['LOGGED_IN'] = 'Angemeldet';
+$TEXT['WELCOME_BACK'] = 'Willkommen zur&uuml;ck';
+$TEXT['FULL_NAME'] = 'Voller Name';
+$TEXT['ACCOUNT_SIGNUP'] = 'Registrierung';
+$TEXT['LINK'] = 'Link';
+$TEXT['ANCHOR'] = 'Anker';
+$TEXT['TARGET'] = 'Ziel';
+$TEXT['NEW_WINDOW'] = 'Neues Fenster';
+$TEXT['SAME_WINDOW'] = 'Gleiches Fenster';
+$TEXT['TOP_FRAME'] = 'Frameset sprengen';
+$TEXT['PAGE_LEVEL_LIMIT'] = 'Limit der Seitenebenen';
+$TEXT['SUCCESS'] = 'Erfolgreich';
+$TEXT['ERROR'] = 'Fehler';
+$TEXT['ARE_YOU_SURE'] = 'Sind Sie sicher?';
+$TEXT['YES'] = 'Ja';
+$TEXT['NO'] = 'Nein';
+$TEXT['SYSTEM_DEFAULT'] = 'Standardeinstellung';
+$TEXT['PAGE_TITLE'] = 'Seitentitel';
+$TEXT['MENU_TITLE'] = 'Men&uuml;titel';
+$TEXT['ACTIONS'] = 'Aktionen';
+$TEXT['UNKNOWN'] = 'Unbekannt';
+$TEXT['BLOCK'] = 'Block';
+$TEXT['SEARCH'] = 'Suche';
+$TEXT['SEARCHING'] = 'suchen';
+$TEXT['POST'] = 'Beitrag';
+$TEXT['COMMENT'] = 'Kommentar';
+$TEXT['COMMENTS'] = 'Kommentare';
+$TEXT['COMMENTING'] = 'kommentieren';
+$TEXT['SHORT'] = 'Kurz';
+$TEXT['LONG'] = 'Lang';
+$TEXT['LOOP'] = 'Schleife';
+$TEXT['FIELD'] = 'Feld';
+$TEXT['REQUIRED'] = 'Erforderlich';
+$TEXT['LENGTH'] = 'L&auml;nge';
+$TEXT['MESSAGE'] = 'Nachricht';
+$TEXT['SUBJECT'] = 'Betreff';
+$TEXT['MATCH'] = '&Uuml;bereinstimmung';
+$TEXT['ALL_WORDS'] = 'Alle W&ouml;rter';
+$TEXT['ANY_WORDS'] = 'Einzelne W&ouml;rter';
+$TEXT['EXACT_MATCH'] = 'Genaue Wortfolge';
+$TEXT['SHOW'] = 'zeigen';
+$TEXT['HIDE'] = 'verstecken';
+$TEXT['START_PUBLISHING'] = 'Beginn der Ver&ouml;ffentlichung';
+$TEXT['FINISH_PUBLISHING'] = 'Ende der Ver&ouml;ffentlichung';
+$TEXT['DATE'] = 'Datum';
+$TEXT['START'] = 'Start';
+$TEXT['END'] = 'Ende';
+$TEXT['IMAGE'] = 'Bild';
+$TEXT['ICON'] = 'Symbol';
+$TEXT['SECTION'] = 'Abschnitt';
+$TEXT['DATE_FORMAT'] = 'Datumsformat';
+$TEXT['TIME_FORMAT'] = 'Zeitformat';
+$TEXT['RESULTS'] = 'Resultate';
+$TEXT['RESIZE'] = 'Gr&ouml;&szlig;e &auml;ndern';
+$TEXT['MANAGE'] = 'Verwalten Sie';
+$TEXT['CODE'] = 'Code';
+$TEXT['WIDTH'] = 'Breite';
+$TEXT['HEIGHT'] = 'H&ouml;he';
+$TEXT['MORE'] = 'Mehr';
+$TEXT['READ_MORE'] = 'Weiterlesen';
+$TEXT['CHANGE_SETTINGS'] = 'Einstellungen &auml;ndern';
+$TEXT['CURRENT_PAGE'] = 'Aktuelle Seite';
+$TEXT['CLOSE'] = 'Schlie&szlig;en';
+$TEXT['INTRO_PAGE'] = 'Eingangsseite';
+$TEXT['INSTALLATION_URL'] = 'Installationsadresse(URL)';
+$TEXT['INSTALLATION_PATH'] = 'Installationspfad';
+$TEXT['PAGE_EXTENSION'] = 'Dateiendungen';
+$TEXT['NO_RESULTS'] = 'Keine Ergebnisse';
+$TEXT['WEBSITE_TITLE'] = 'Webseitentitel';
+$TEXT['WEBSITE_DESCRIPTION'] = 'Webseitenbeschreibung';
+$TEXT['WEBSITE_KEYWORDS'] = 'Schl&uuml;sselw&ouml;rter';
+$TEXT['WEBSITE_HEADER'] = 'Kopfzeile';
+$TEXT['WEBSITE_FOOTER'] = 'Fu&szlig;zeile';
+$TEXT['RESULTS_HEADER'] = 'Ergebnisse &Uuml;berschrift';
+$TEXT['RESULTS_LOOP'] = 'Ergebnisse Schleife';
+$TEXT['RESULTS_FOOTER'] = 'Ergebnisse Fu&szlig;zeile';
+$TEXT['LEVEL'] = 'Ebene';
+$TEXT['NOT_FOUND'] = 'Nicht gefunden';
+$TEXT['PAGE_SPACER'] = 'Leerzeichen';
+$TEXT['MATCHING'] = 'passende';
+$TEXT['TEMPLATE_PERMISSIONS'] = 'Zugriffsrechte f&uuml;r Vorlagen';
+$TEXT['PAGES_DIRECTORY'] = 'Seitenverzeichnis';
+$TEXT['MEDIA_DIRECTORY'] = 'Medienverzeichnis';
+$TEXT['FILE_MODE'] = 'Dateimodus';
+$TEXT['USER'] = 'Besitzer';
+$TEXT['OTHERS'] = 'Alle';
+$TEXT['READ'] = 'Lesen';
+$TEXT['WRITE'] = 'Schreiben';
+$TEXT['EXECUTE'] = 'Ausf&uuml;hren';
+$TEXT['SMART_LOGIN'] = 'Intelligente Anmeldung';
+$TEXT['REMEMBER_ME'] = 'Passwort speichern';
+$TEXT['FILESYSTEM_PERMISSIONS'] = 'Zugriffsrechte';
+$TEXT['DIRECTORIES'] = 'Verzeichnisse';
+$TEXT['DIRECTORY_MODE'] = 'Verzeichnismodus';
+$TEXT['LIST_OPTIONS'] = 'Auswahlliste';
+$TEXT['OPTION'] = 'Option';
+$TEXT['ALLOW_MULTIPLE_SELECTIONS'] = 'Mehrfachauswahl';
+$TEXT['TEXTFIELD'] = 'Kurztext';
+$TEXT['TEXTAREA'] = 'Langtext';
+$TEXT['SELECT_BOX'] = 'Auswahlliste';
+$TEXT['CHECKBOX_GROUP'] = 'Kontrollk&auml;stchen';
+$TEXT['RADIO_BUTTON_GROUP'] = 'Optionsfeld';
+$TEXT['SIZE'] = 'Gr&ouml;&szlig;e';
+$TEXT['DEFAULT_TEXT'] = 'Standardtext';
+$TEXT['SEPERATOR'] = 'Separator';
+$TEXT['BACK'] = 'Zur&uuml;ck';
+$TEXT['UNDER_CONSTRUCTION'] = 'In Bearbeitung';
+$TEXT['MULTISELECT'] = 'Mehrfachauswahl';
+$TEXT['SHORT_TEXT'] = 'Kurztext';
+$TEXT['LONG_TEXT'] = 'Langtext';
+$TEXT['HOMEPAGE_REDIRECTION'] = 'URL Umleitung zur Homepage';
+$TEXT['HEADING'] = '&Uuml;berschrift';
+$TEXT['MULTIPLE_MENUS'] = 'Mehrere Men&uuml;s';
+$TEXT['REGISTERED'] = 'registriert';
+$TEXT['SECTION_BLOCKS'] = 'Bl&ouml;cke';
+$TEXT['REGISTERED_VIEWERS'] = 'registrierter Besucher';
+$TEXT['ALLOWED_VIEWERS'] = 'genehmigter Besucher';
+$TEXT['SUBMISSION_ID'] = 'Eintragungs-ID';
+$TEXT['SUBMISSIONS'] = 'Eintragungen';
+$TEXT['SUBMITTED'] = 'eingetragen';
+$TEXT['MAX_SUBMISSIONS_PER_HOUR'] = 'Max. Eintragungen pro Stunde';
+$TEXT['SUBMISSIONS_STORED_IN_DATABASE'] = 'Max. gespeicherte Eintragungen';
+$TEXT['EMAIL_ADDRESS'] = 'E-Mail Adresse';
+$TEXT['CUSTOM'] = 'Benutzerdefiniert';
+$TEXT['ANONYMOUS'] = 'Anonym';
+$TEXT['SERVER_OPERATING_SYSTEM'] = 'Server Betriebssystem';
+$TEXT['WORLD_WRITEABLE_FILE_PERMISSIONS'] = 'Einstellungen f&uuml;r Schreibrechte';
+$TEXT['LINUX_UNIX_BASED'] = 'Linux/Unix basierend';
+$TEXT['WINDOWS'] = 'Windows';
+$TEXT['HOME_FOLDER'] = 'Home Verzeichnis';
+$TEXT['HOME_FOLDERS'] = 'Home Verzeichnisse';
+$TEXT['PAGE_TRASH'] = 'Seiten M&uuml;lleimer';
+$TEXT['INLINE'] = 'Integriert';
+$TEXT['SEPARATE'] = 'Separat';
+$TEXT['DELETED'] = 'Gel&ouml;scht';
+$TEXT['VIEW_DELETED_PAGES'] = 'gel&ouml;schte Seiten anschauen';
+$TEXT['EMPTY_TRASH'] = 'M&uuml;lleimer leeren';
+$TEXT['TRASH_EMPTIED'] = 'M&uuml;lleimer geleert';
+$TEXT['ADD_SECTION'] = 'Abschnitt hinzuf&uuml;gen';
+$TEXT['POST_HEADER'] = 'Nachricht Kopfzeile';
+$TEXT['POST_FOOTER'] = 'Nachricht Fu&szlig;zeile';
+$TEXT['POSTS_PER_PAGE'] = 'Nachrichten pro Seite';
+$TEXT['RESIZE_IMAGE_TO'] = 'Bildgr&ouml;&szlig;e ver&auml;ndern auf';
+$TEXT['UNLIMITED'] = 'Unbegrenzt';
+$TEXT['OF'] = 'von';
+$TEXT['OUT_OF'] = 'von';
+$TEXT['NEXT'] = 'n&auml;chste';
+$TEXT['PREVIOUS'] = 'vorherige';
+$TEXT['NEXT_PAGE'] = 'n&auml;chste Seite';
+$TEXT['PREVIOUS_PAGE'] = 'vorherige Seite';
+$TEXT['ON'] = 'Am';
+$TEXT['LAST_UPDATED_BY'] = 'zuletzt ge&auml;ndert von';
+$TEXT['RESULTS_FOR'] = 'Ergebnisse f&uuml;r';
+$TEXT['TIME'] = 'Zeit';
+$TEXT['REDIRECT_AFTER'] = 'Weiterleitung nach';
+$TEXT['WYSIWYG_STYLE'] = 'WYSIWYG Stil';
+$TEXT['WYSIWYG_EDITOR'] = 'WYSIWYG Editor';
+$TEXT['SERVER_EMAIL'] = 'Server E-Mail';
+$TEXT['MENU'] = 'Men&uuml;';
+$TEXT['MANAGE_GROUPS'] = 'Gruppen verwalten';
+$TEXT['MANAGE_USERS'] = 'Benutzer verwalten';
+$TEXT['PAGE_LANGUAGES'] = 'Seitensprache';
+$TEXT['HIDDEN'] = 'Versteckt';
+$TEXT['MAIN'] = 'Hauptblock';
+$TEXT['RENAME_FILES_ON_UPLOAD'] = 'Datei nach Hochladen umbenennen';
+$TEXT['APP_NAME'] = 'Verwaltungswerkzeuge';
+$TEXT['SESSION_IDENTIFIER'] = 'Sitzungs ID';
+$TEXT['SEC_ANCHOR'] = 'Abschnitts-Anker Text';
+$TEXT['BACKUP'] = 'Sichern';
+$TEXT['RESTORE'] = 'Wiederherstellen';
+$TEXT['BACKUP_DATABASE'] = 'Datenbank sichern';
+$TEXT['RESTORE_DATABASE'] = 'Datenbank wiederherstellen';
+$TEXT['BACKUP_ALL_TABLES'] = 'komplette Datenbank sichern';
+$TEXT['BACKUP_WB_SPECIFIC'] = 'nur WB Tabellen sichern';
+$TEXT['BACKUP_MEDIA'] = 'Dateien sichern';
+$TEXT['RESTORE_MEDIA'] = 'Dateien wiederherstellen';
+$TEXT['ADMINISTRATION_TOOL'] = 'Verwaltungsprogramme';
+$TEXT['CAPTCHA_VERIFICATION'] = 'Captcha Pr&uuml;fziffer';
+$TEXT['VERIFICATION'] = 'Pr&uuml;fziffer';
+$TEXT['DEFAULT_CHARSET'] = 'Standard Zeichensatz';
+$TEXT['CHARSET'] = 'Zeichensatz';
+$TEXT['MODULE_ORDER'] = 'Modulreihenfolge f&uuml;r die Suche';
+$TEXT['MAX_EXCERPT'] = 'Max Anzahl Zitate pro Seite';
+$TEXT['TIME_LIMIT'] = 'Zeitlimit zur Erstellung der Zitate pro Modul';
+$TEXT['PUBL_START_DATE'] = 'Start Datum';
+$TEXT['PUBL_END_DATE'] = 'End Datum';
+$TEXT['CALENDAR'] = 'Kalender';
+$TEXT['DELETE_DATE'] = 'Datum l&ouml;schen';
+$TEXT['WBMAILER_DEFAULT_SETTINGS_NOTICE'] = 'Bitte geben Sie eine Standard "VON" Adresse und einen Sendernamen an. Als Absender Adresse empfiehlt sich ein Format wie: <strong>admin@IhreWebseite.de</strong>. Manche E-Mail Provider (z.B. <em>mail.de</em>) stellen keine E-Mails zu, die nicht &uuml;ber den Provider selbst verschickt wurden, in der Absender Adresse aber den Namen des E-Mail Providers <em>name@mail.de</em> enthalten. Die Standard Werte werden nur verwendet, wenn keine anderen Werte von WebsiteBaker gesetzt wurden. Wenn Ihr Service Provider <acronym title="Simple Mail Transfer Protocol">SMTP</acronym> anbietet, sollten Sie diese Option f&uuml;r ausgehende E-Mails verwenden.';
+$TEXT['WBMAILER_DEFAULT_SENDER_MAIL'] = 'Standard "VON" Adresse';
+$TEXT['WBMAILER_DEFAULT_SENDER_NAME'] = 'Standard Absender Name';
+$TEXT['WBMAILER_NOTICE'] = '<strong>SMTP Maileinstellungen:</strong><br />Die nachfolgenden Einstellungen m&uuml;ssen nur angepasst werden, wenn Sie E-Mail &uuml;ber <acronym title="Simple Mail Transfer Protocol">SMTP</acronym> verschicken wollen. Wenn Sie Ihren SMTP Server nicht kennen, oder Sie sich unsicher bei den Einstellungen sind, verwenden Sie einfach die Standard E-Mail Routine: PHP MAIL.';
+$TEXT['WBMAILER_FUNCTION'] = 'E-Mail Routine';
+$TEXT['WBMAILER_SMTP_HOST'] = 'SMTP Host';
+$TEXT['WBMAILER_PHP'] = 'PHP MAIL';
+$TEXT['WBMAILER_SMTP'] = 'SMTP';
+$TEXT['WBMAILER_SMTP_AUTH'] = 'SMTP Authentifikation';
+$TEXT['WBMAILER_SMTP_AUTH_NOTICE'] = 'nur aktivieren, wenn SMTP Authentifikation ben&ouml;tigt wird';
+$TEXT['WBMAILER_SMTP_USERNAME'] = 'SMTP Benutzername';
+$TEXT['WBMAILER_SMTP_PASSWORD'] = 'SMTP Passwort';
+$TEXT['PLEASE_LOGIN'] = 'Bitte anmelden';
+$TEXT['CAP_EDIT_CSS'] = 'Bearbeite CSS';
+$TEXT['HEADING_CSS_FILE'] = 'Aktuelle Moduldatei: ';
+$TEXT['TXT_EDIT_CSS_FILE'] = 'Bearbeite die CSS Definitionen im nachfolgenden Textfeld.';
+$TEXT['CODE_SNIPPET'] = "Funktionserweiterung";
+$TEXT['REQUIREMENT'] = "Voraussetzung";
+$TEXT['INSTALLED'] = "installiert";
+$TEXT['NOT_INSTALLED'] = "nicht installiert";
+$TEXT['ADDON'] = "Addon";
+$TEXT['EXTENSION'] = "Extension";
+$TEXT['UNZIP_FILE'] = "Zip-Archiv hochladen und entpacken";
+$TEXT['DELETE_ZIP'] = "Zip-Archiv nach dem entpacken l&ouml;schen";
+
+// Success/error messages
+$MESSAGE['FRONTEND']['SORRY_NO_VIEWING_PERMISSIONS'] = 'Sie sind nicht berechtigt, diese Seite zu sehen';
+$MESSAGE['FRONTEND']['SORRY_NO_ACTIVE_SECTIONS'] = 'Kein aktiver Inhalt auf dieser Seite vorhanden';
+
+$MESSAGE['ADMIN']['INSUFFICIENT_PRIVELLIGES'] = 'Ungen&uuml;gende Zugangsberechtigungen';
+
+$MESSAGE['LOGIN']['BOTH_BLANK'] = 'Bitte geben Sie unten Ihren Benutzernamen und Passwort ein';
+$MESSAGE['LOGIN']['USERNAME_BLANK'] = 'Bitte geben Sie Ihren Benutzernamen ein';
+$MESSAGE['LOGIN']['PASSWORD_BLANK'] = 'Bitte geben Sie Ihr Passwort ein';
+$MESSAGE['LOGIN']['USERNAME_TOO_SHORT'] = 'Der angegebene Benutzername ist zu kurz';
+$MESSAGE['LOGIN']['PASSWORD_TOO_SHORT'] = 'Das angegebene Passwort ist zu kurz';
+$MESSAGE['LOGIN']['USERNAME_TOO_LONG'] = 'Der angegebene Benutzername ist zu lang';
+$MESSAGE['LOGIN']['PASSWORD_TOO_LONG'] = 'Das angegebene Passwort ist zu lang';
+$MESSAGE['LOGIN']['AUTHENTICATION_FAILED'] = 'Der Benutzername oder das Passwort ist nicht korrekt';
+
+$MESSAGE['SIGNUP']['NO_EMAIL'] = 'Bitte geben Sie Ihre E-Mail Adresse an';
+$MESSAGE['SIGNUP2']['SUBJECT_LOGIN_INFO'] = 'Deine WB Logindaten ...';
+$MESSAGE['SIGNUP2']['BODY_LOGIN_INFO'] = <<< EOT
+Hallo {LOGIN_DISPLAY_NAME},
+
+Deine neuen Logindaten f&uuml;r '{LOGIN_WEBSITE_TITLE}' lauten:
+Benutzername: {LOGIN_NAME}
+Passwort: {LOGIN_PASSWORD}
+
+Dein bisheriges Passwort wurde durch das neue Passwort oben ersetzt.
+Das bisherige Passwort ist nicht mehr g&uuml;ltig.
+
+Wenn Du dieses E-Mail versehentlich erhalten hast, bitte einfach l&ouml;schen.
+EOT;
+
+$MESSAGE['FORGOT_PASS']['NO_DATA'] = 'Bitte geben Sie nachfolgend Ihre E-Mail Adresse an';
+$MESSAGE['FORGOT_PASS']['EMAIL_NOT_FOUND'] = 'Die angegebene E-Mail Adresse wurde nicht in der Datenbank gefunden';
+$MESSAGE['FORGOT_PASS']['CANNOT_EMAIL'] = 'Das Passwort konnte nicht versendet werden, bitte kontaktieren Sie den Systemadministrator';
+$MESSAGE['FORGOT_PASS']['PASSWORD_RESET'] = 'Ihr Benutzername und Ihr Passwort wurden an Ihre E-Mail Adresse gesendet';
+$MESSAGE['FORGOT_PASS']['ALREADY_RESET'] = 'Das Passwort kann nur einmal pro Stunde zur&uuml;ckgesetzt werden';
+
+$MESSAGE['START']['WELCOME_MESSAGE'] = 'Willkommen in der WebsiteBaker Verwaltung';
+$MESSAGE['START']['INSTALL_DIR_EXISTS'] = 'Das Installations-Verzeichnis "/install" existiert noch! Dies stellt ein Sicherheitsrisiko dar. Bitte l&ouml;schen.';
+$MESSAGE['START']['CURRENT_USER'] = 'Sie sind momentan angemeldet als:';
+
+$MESSAGE['SETTINGS']['UNABLE_OPEN_CONFIG'] = 'Konfigurationsdatei konnte nicht ge&ouml;ffnet werden';
+$MESSAGE['SETTINGS']['UNABLE_WRITE_CONFIG'] = 'Die Konfigurationsdatei konnte nicht geschrieben werden';
+$MESSAGE['SETTINGS']['SAVED'] = 'Die Optionen wurden erfolgreich gespeichert';
+$MESSAGE['SETTINGS']['MODE_SWITCH_WARNING'] = 'Bitte beachten Sie: Wenn Sie dieses Feld anklicken, werden alle ungespeicherten &Auml;nderungen zur&uuml;ckgesetzt';
+$MESSAGE['SETTINGS']['WORLD_WRITEABLE_WARNING'] = 'Bitte beachten Sie: Dies wird nur zu Testzwecken empfohlen';
+
+$MESSAGE['USERS']['ADDED'] = 'Der Benutzer wurde erfolgreich hinzugef&uuml;gt';
+$MESSAGE['USERS']['SAVED'] = 'Der Benutzer wurde erfolgreich gespeichert';
+$MESSAGE['USERS']['DELETED'] = 'Der Benutzer wurde erfolgreich gel&ouml;scht';
+$MESSAGE['USERS']['NO_GROUP'] = 'Es wurde keine Gruppe ausgew&auml;hlt';
+$MESSAGE['USERS']['USERNAME_TOO_SHORT'] = 'Der eingegebene Benutzername war zu kurz';
+$MESSAGE['USERS']['PASSWORD_TOO_SHORT'] = 'Das eingegebene Passwort war zu kurz';
+$MESSAGE['USERS']['PASSWORD_MISMATCH'] = 'Das angegebene Passwort ist ung&uuml;ltig';
+$MESSAGE['USERS']['INVALID_EMAIL'] = 'Die angegebene E-Mail Adresse ist ung&uuml;ltig';
+$MESSAGE['USERS']['EMAIL_TAKEN'] = 'Die angegebene E-Mail Adresse wird bereits verwendet';
+$MESSAGE['USERS']['USERNAME_TAKEN'] = 'Der angegebene Benutzername wird bereits verwendet';
+$MESSAGE['USERS']['CHANGING_PASSWORD'] = 'Bitte beachten Sie: Sie sollten in die obigen Felder nur Werte eingeben, wenn Sie das Passwort dieses Benutzers &auml;ndern m&ouml;chten';
+$MESSAGE['USERS']['CONFIRM_DELETE'] = 'Sind Sie sicher, dass Sie den ausgew&auml;hlten Benutzer l&ouml;schen m&ouml;chten?';
+
+$MESSAGE['GROUPS']['ADDED'] = 'Die Gruppe wurde erfolgreich hinzugef&uuml;gt';
+$MESSAGE['GROUPS']['SAVED'] = 'Die Gruppe wurde erfolgreich gespeichert';
+$MESSAGE['GROUPS']['DELETED'] = 'Die Gruppe wurde erfolgreich gel&ouml;scht';
+$MESSAGE['GROUPS']['GROUP_NAME_BLANK'] = 'Der Gruppenname wurde nicht angegeben';
+$MESSAGE['GROUPS']['CONFIRM_DELETE'] = 'Sind Sie sicher, dass Sie die ausgew&auml;hlte Gruppe l&ouml;schen m&ouml;chten (und alle Benutzer, die dazugeh&ouml;ren)?';
+$MESSAGE['GROUPS']['NO_GROUPS_FOUND'] = 'Keine Gruppen gefunden';
+$MESSAGE['GROUPS']['GROUP_NAME_EXISTS'] = 'Der Gruppenname existiert bereits';
+
+$MESSAGE['PREFERENCES']['DETAILS_SAVED'] = 'Pers&ouml;nliche Daten wurden erfolgreich gespeichert';
+$MESSAGE['PREFERENCES']['EMAIL_UPDATED'] = 'E-Mail Einstellung ge&auml;ndert';
+$MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT'] = 'Das alte Passwort, das Sie angegeben haben, ist ung&uuml;ltig';
+$MESSAGE['PREFERENCES']['PASSWORD_CHANGED'] = 'Das Passwort wurde erfolgreich ge&auml;ndert';
+
+$MESSAGE['TEMPLATES']['CHANGE_TEMPLATE_NOTICE'] = 'Bitte beachten Sie: Um eine andere Designvorlage auszuw&auml;hlen, benutzen Sie den Bereich "Optionen"';
+
+$MESSAGE['MEDIA']['DIR_DOT_DOT_SLASH'] = 'Der Verzeichnisname darf nicht ../ enthalten';
+$MESSAGE['MEDIA']['DIR_DOES_NOT_EXIST'] = 'Verzeichnis existiert nicht';
+$MESSAGE['MEDIA']['TARGET_DOT_DOT_SLASH'] = 'Der Name des Zielverzeichnisses darf nicht ../ enthalten';
+$MESSAGE['MEDIA']['NAME_DOT_DOT_SLASH'] = 'Der Name darf nicht ../ enthalten';
+$MESSAGE['MEDIA']['NAME_INDEX_PHP'] = 'Der Dateiname index.php kann nicht verwendet werden';
+$MESSAGE['MEDIA']['NONE_FOUND'] = 'Im aktuellen Verzeichnis konnten keine Dateien (z.B. Bilder) gefunden werden';
+$MESSAGE['MEDIA']['FILE_NOT_FOUND'] = 'Die Datei konnte nicht gefunden werden';
+$MESSAGE['MEDIA']['DELETED_FILE'] = 'Die Datei wurde gel&ouml;scht';
+$MESSAGE['MEDIA']['DELETED_DIR'] = 'Das Verzeichnis wurde gel&ouml;scht';
+$MESSAGE['MEDIA']['CONFIRM_DELETE'] = 'Sind Sie sicher, dass Sie die folgende Datei oder Verzeichnis l&ouml;schen m&ouml;chten?';
+$MESSAGE['MEDIA']['CANNOT_DELETE_FILE'] = 'Die ausgew&auml;hlte Datei konnte nicht gel&ouml;scht werden';
+$MESSAGE['MEDIA']['CANNOT_DELETE_DIR'] = 'Das ausgew&auml;hlte Verzeichnis konnte nicht gel&ouml;scht werden';
+$MESSAGE['MEDIA']['BLANK_NAME'] = 'Sie haben keinen neuen Namen angegeben';
+$MESSAGE['MEDIA']['BLANK_EXTENSION'] = 'Sie haben keine Dateiendung angegeben';
+$MESSAGE['MEDIA']['RENAMED'] = 'Das Umbenennen war erfolgreich';
+$MESSAGE['MEDIA']['CANNOT_RENAME'] = 'Das Umbenennen war nicht erfolgreich';
+$MESSAGE['MEDIA']['FILE_EXISTS'] = 'Eine Datei mit dem angegebenen Namen existiert bereits';
+$MESSAGE['MEDIA']['DIR_EXISTS'] = 'Ein Verzeichnis mit dem angegebenen Namen existiert bereits';
+$MESSAGE['MEDIA']['DIR_MADE'] = 'Das Verzeichnis wurde erfolgreich angelegt';
+$MESSAGE['MEDIA']['DIR_NOT_MADE'] = 'Das Verzeichnis konnte nicht angelegt werden';
+$MESSAGE['MEDIA']['SINGLE_UPLOADED'] = 'Datei wurde erfolgreich &uuml;bertragen';
+$MESSAGE['MEDIA']['UPLOADED'] = 'Dateien wurden erfolgreich &uuml;bertragen';
+
+$MESSAGE['PAGES']['ADDED'] = 'Die Seite wurde erfolgreich hinzugef&uuml;gt';
+$MESSAGE['PAGES']['ADDED_HEADING'] = 'Seitenkopf erfolgreich hinzugef&uuml;gt';
+$MESSAGE['PAGES']['PAGE_EXISTS'] = 'Eine Seite mit einem &auml;hnlichen oder demselben Titel existiert bereits';
+$MESSAGE['PAGES']['CANNOT_CREATE_ACCESS_FILE'] = 'Beim Anlegen der Zugangsdatei im Verzeichnis /pages ist ein Fehler aufgetreten (Ungen&uuml;gende Zugangsrechte)';
+$MESSAGE['PAGES']['CANNOT_DELETE_ACCESS_FILE'] = 'Beim L&ouml;schen der Zugangsdatei im Verzeichnis /pages ist ein Fehler aufgetreten (Ungen&uuml;gende Zugangsrechte)';
+$MESSAGE['PAGES']['NOT_FOUND'] = 'Die Seite konnte nicht gefunden werden';
+$MESSAGE['PAGES']['SAVED'] = 'Die Seite wurde erfolgreich gespeichert';
+$MESSAGE['PAGES']['SAVED_SETTINGS'] = 'Die Seiteneinstellungen wurden erfolgreich gespeichert';
+$MESSAGE['PAGES']['NOT_SAVED'] = 'Beim Speichern der Seite ist ein Fehler aufgetreten';
+$MESSAGE['PAGES']['DELETE_CONFIRM'] = 'Sind Sie sicher, dass Sie die ausgew&auml;hlte Seite l&ouml;schen m&ouml;chten';
+$MESSAGE['PAGES']['DELETED'] = 'Die Seite wurde erfolgreich gel&ouml;scht';
+$MESSAGE['PAGES']['RESTORED'] = 'Die Seite wurde erfolgreich wiederhergestellt';
+$MESSAGE['PAGES']['BLANK_PAGE_TITLE'] = 'Bitte geben Sie einen Titel f&uuml;r die Seite ein';
+$MESSAGE['PAGES']['BLANK_MENU_TITLE'] = 'Bitte geben Sie einen Men&uuml;titel ein';
+$MESSAGE['PAGES']['REORDERED'] = 'Die Seite wurde erfolgreich neu zusammengestellt';
+$MESSAGE['PAGES']['CANNOT_REORDER'] = 'Bei der Zusammenstellung der Seite ist ein Fehler aufgetreten';
+$MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS'] = 'Sie haben keine Berechtigung, diese Seite zu &auml;ndern';
+$MESSAGE['PAGES']['INTRO_NOT_WRITABLE'] = 'Es konnte nicht in die Datei /pages/intro.php geschrieben werden (ungen&uuml;gende Zugangsrechte)';
+$MESSAGE['PAGES']['INTRO_SAVED'] = 'Eingangsseite wurde erfolgreich gespeichert';
+$MESSAGE['PAGES']['LAST_MODIFIED'] = 'Die letzte &Auml;nderung wurde durchgef&uuml;hrt von';
+$MESSAGE['PAGES']['INTRO_LINK'] = 'Bitte klicken Sie HIER um die Eingangsseite zu &auml;ndern';
+$MESSAGE['PAGES']['SECTIONS_PROPERTIES_SAVED'] = 'Einstellungen f&uuml;r diesen Abschnitt erfolgreich gespeichert';
+$MESSAGE['PAGES']['RETURN_TO_PAGES'] = 'Zur&uuml;ck zum Seitenmen&uuml;';
+
+$MESSAGE['GENERIC']['FILL_IN_ALL'] = 'Bitte alle Felder ausf&uuml;llen';
+$MESSAGE['GENERIC']['FILE_TYPE'] = 'Bitte beachten Sie, dass Sie nur den folgenden Dateityp ausw&auml;hlen k&ouml;nnen:';
+$MESSAGE['GENERIC']['FILE_TYPES'] = 'Bitte beachten Sie, dass Sie nur folgende Dateitypen ausw&auml;hlen k&ouml;nnen:';
+$MESSAGE['GENERIC']['CANNOT_UPLOAD'] = 'Die Datei kann nicht &uuml;bertragen werden';
+$MESSAGE['GENERIC']['ALREADY_INSTALLED'] = 'Bereits installiert';
+$MESSAGE['GENERIC']['NOT_INSTALLED'] = 'Nicht installiert';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL'] = 'Deinstallation fehlgeschlagen';
+$MESSAGE['GENERIC']['CANNOT_UNZIP'] = 'Fehler beim Entpacken';
+$MESSAGE['GENERIC']['INSTALLED'] = 'Erfolgreich installiert';
+$MESSAGE['GENERIC']['UPGRADED'] = 'Erfolgreich aktualisiert';
+$MESSAGE['GENERIC']['UNINSTALLED'] = 'Erfolgreich deinstalliert';
+$MESSAGE['GENERIC']['BAD_PERMISSIONS'] = 'Kann im Zielverzeichnis nicht schreiben';
+$MESSAGE['GENERIC']['INVALID'] = 'Die &uuml;bertragene Datei ist ung&uuml;ltig';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE'] = 'Deinstallation nicht m&ouml;glich: Datei wird benutzt';
+
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL'] = "<br /><br />Das {{type}} <b>{{type_name}}</b> kann nicht deinstalliert werden, weil es auf {{pages}} benutzt wird:<br /><br />";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL_PAGES'] = "folgender Seite;folgenden Seiten";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IS_DEFAULT_TEMPLATE'] = "Das Template <b>{{name}}</b> kann nicht deinstalliert werden, weil es das Standardtemplate ist!";
+
+$MESSAGE['GENERIC']['WEBSITE_UNDER_CONSTRUCTION'] = 'Momentan in Bearbeitung';
+$MESSAGE['GENERIC']['PLEASE_CHECK_BACK_SOON'] = 'Bitte versuchen Sie es sp&auml;ter noch einmal ...';
+$MESSAGE['GENERIC']['PLEASE_BE_PATIENT'] = 'Die Datenbanksicherung kann je nach Gr&ouml;&szlig;e der Datenbank einige Zeit dauern.';
+$MESSAGE['GENERIC']['ERROR_OPENING_FILE'] = 'Fehler beim &Ouml;ffnen der Datei.';
+$MESSAGE['GENERIC']['INVALID_ADDON_FILE'] = 'Ung&uuml;ltige WebsiteBaker Installationsdatei. Bitte *.zip Format pr&uuml;fen.';
+$MESSAGE['GENERIC']['INVALID_LANGUAGE_FILE'] = 'Ung&uuml;ltige WebsiteBaker Sprachdatei. Bitte Textdatei pr&uuml;fen.';
+
+$MESSAGE['MOD_FORM']['REQUIRED_FIELDS'] = 'Bitte folgende Angaben erg&auml;nzen';
+$MESSAGE['MOD_FORM']['EXCESS_SUBMISSIONS'] = 'Dieses Formular wurde zu oft aufgerufen. Bitte versuchen Sie es in einer Stunde noch einmal.';
+$MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA'] = 'Die eingegebene Pr&uuml;fziffer stimmt nicht &uuml;berein. Wenn Sie Probleme mit dem Lesen der Pr&uuml;fziffer haben, bitte schreiben Sie eine E-Mail an uns: '.SERVER_EMAIL.'';
+
+$MESSAGE['ADDON']['RELOAD'] = 'Abgleich der Datenbank mit den Informationen aus den Addon-Dateien (z.B. nach FTP Upload).';
+$MESSAGE['ADDON']['ERROR_RELOAD'] = 'Fehler beim Abgleich der Addon Informationen.';
+$MESSAGE['ADDON']['MODULES_RELOADED'] = 'Module erfolgreich geladen';
+$MESSAGE['ADDON']['TEMPLATES_RELOADED'] = 'Designvorlagen erfolgreich geladen';
+$MESSAGE['ADDON']['LANGUAGES_RELOADED'] = 'Sprachen erfolgreich geladen';
+$MESSAGE['ADDON']['PRECHECK_FAILED'] = 'Installation fehlgeschlagen. Dein System erf&uuml;llt nicht alle Voraussetzungen die f&uuml;r diese Erweiterung ben&ouml;tigt werden. Um diese Erweiterung nutzen zu k&ouml;nnen, m&uuml;ssen nachfolgende Updates durchgef&uuml;hrt werden.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION'] = 'Beim Hochladen oder L&ouml;schen von Modulen per FTP (nicht empfohlen), werden eventuell vorhandene Moduldateien <tt>install.php</tt>, <tt>upgrade.php</tt> oder <tt>uninstall.php</tt> nicht automatisch ausgef&uuml;hrt. Solche Module funktionieren daher meist nicht richtig, oder hinterlassen Datenbankeintr&auml;ge beim L&ouml;schen per FTP.<br /><br /> Nachfolgend k&ouml;nnen die Moduldateien von per FTP hochgeladenen Modulen manuell ausgef&uuml;hrt werden.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION_WARNING'] = 'Warnung: Eventuell vorhandene Datenbankeintr&auml;ge eines Moduls gehen verloren. Bitte nur bei bei Problemen mit per FTP hochgeladenen Modulen verwenden. ';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/languages/DE.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/languages/BG.php
===================================================================
--- tags/2.8.2/wb/languages/BG.php	(nonexistent)
+++ tags/2.8.2/wb/languages/BG.php	(revision 1481)
@@ -0,0 +1,595 @@
+<?php
+/**
+ *
+ * @category        framework
+ * @package         language
+ * @author          Website Baker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// use languageedit-module to modify this file
+
+// Define that this file is loaded
+if(!defined('LANGUAGE_LOADED')) {
+define('LANGUAGE_LOADED', true);
+}
+
+// Set the language information
+$language_code = 'BG';
+$language_name = 'Bulgarian';
+$language_version = '2.8';
+$language_platform = '2.8.x';
+$language_author = 'Hristo Benev(&#1061;&#1088;&#1080;&#1089;&#1090;&#1086; &#1041;&#1077;&#1085;&#1077;&#1074;)';
+$language_license = 'GNU General Public License';
+
+// Menu titles
+$MENU['START'] = '&#1053;&#1072;&#1095;&#1072;&#1083;&#1086;';
+$MENU['PAGES'] = '&#1057;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1080;';
+$MENU['MEDIA'] = '&#1052;&#1077;&#1076;&#1080;&#1072;';
+$MENU['ADDONS'] = '&#1044;&#1086;&#1073;&#1072;&#1074;&#1082;&#1080;';
+$MENU['MODULES'] = '&#1052;&#1086;&#1076;&#1091;&#1083;&#1080;';
+$MENU['TEMPLATES'] = '&#1064;&#1072;&#1073;&#1083;&#1086;&#1085;&#1080;';
+$MENU['LANGUAGES'] = '&#1045;&#1079;&#1080;&#1094;&#1080;';
+$MENU['PREFERENCES'] = '&#1055;&#1088;&#1077;&#1076;&#1087;&#1086;&#1095;&#1080;&#1090;&#1072;&#1085;&#1080;&#1103;';
+$MENU['SETTINGS'] = '&#1053;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080;';
+$MENU['ADMINTOOLS'] = 'Admin-Tools';
+$MENU['ACCESS'] = '&#1044;&#1086;&#1089;&#1090;&#1098;&#1087;';
+$MENU['USERS'] = '&#1055;&#1086;&#1090;&#1088;&#1077;&#1073;&#1080;&#1090;&#1077;&#1083;&#1080;';
+$MENU['GROUPS'] = '&#1043;&#1088;&#1091;&#1087;&#1080;';
+$MENU['HELP'] = '&#1055;&#1086;&#1084;&#1086;&#1097;';
+$MENU['VIEW'] = '&#1042;&#1080;&#1078;';
+$MENU['LOGOUT'] = '&#1048;&#1079;&#1093;&#1086;&#1076;';
+$MENU['LOGIN'] = '&#1042;&#1093;&#1086;&#1076;';
+$MENU['FORGOT'] = '&#1047;&#1072;&#1073;&#1088;&#1072;&#1074;&#1080;&#1093; &#1076;&#1072;&#1085;&#1085;&#1080;&#1090;&#1077; &#1079;&#1072; &#1074;&#1093;&#1086;&#1076;';
+
+// Section overviews
+$OVERVIEW['START'] = '&#1055;&#1088;&#1077;&#1075;&#1083;&#1077;&#1076; &#1085;&#1072; &#1072;&#1076;&#1084;&#1080;&#1085;&#1080;&#1089;&#1090;&#1088;&#1080;&#1088;&#1072;&#1085;&#1077;';
+$OVERVIEW['PAGES'] = '&#1059;&#1087;&#1088;&#1072;&#1074;&#1083;&#1077;&#1085;&#1080;&#1077; &#1085;&#1072; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1080;&#1090;&#1077;...';
+$OVERVIEW['MEDIA'] = '&#1059;&#1087;&#1088;&#1072;&#1074;&#1083;&#1077;&#1085;&#1080;&#1077; &#1085;&#1072; &#1092;&#1072;&#1081;&#1083;&#1086;&#1074;&#1077;&#1090;&#1077; &#1074; &#1087;&#1072;&#1087;&#1082;&#1072; &#1084;&#1077;&#1076;&#1080;&#1103;...';
+$OVERVIEW['MODULES'] = '&#1059;&#1087;&#1088;&#1072;&#1074;&#1083;&#1077;&#1085;&#1080;&#1077; &#1085;&#1072; &#1084;&#1086;&#1076;&#1091;&#1083;&#1080;&#1090;&#1077; &#1085;&#1072; WebsiteBaker...';
+$OVERVIEW['TEMPLATES'] = '&#1055;&#1088;&#1086;&#1084;&#1077;&#1085;&#1080; &#1080;&#1079;&#1075;&#1083;&#1077;&#1076;&#1072; &#1085;&#1072; &#1089;&#1072;&#1081;&#1090;&#1072; &#1095;&#1088;&#1077;&#1079; &#1096;&#1072;&#1073;&#1083;&#1086;&#1085;&#1080;...';
+$OVERVIEW['LANGUAGES'] = '&#1059;&#1087;&#1088;&#1072;&#1074;&#1083;&#1077;&#1085;&#1080;&#1077; &#1085;&#1072; &#1077;&#1079;&#1080;&#1094;&#1080;&#1090;&#1077; &#1085;&#1072; WebsiteBaker...';
+$OVERVIEW['PREFERENCES'] = '&#1057;&#1084;&#1077;&#1085;&#1080; &#1087;&#1088;&#1077;&#1076;&#1087;&#1086;&#1095;&#1080;&#1090;&#1072;&#1085;&#1080;&#1103;&#1090;&#1072; &#1086;&#1090;&#1085;&#1086;&#1089;&#1085;&#1086; email &#1072;&#1076;&#1088;&#1077;&#1089;, &#1087;&#1072;&#1088;&#1086;&#1083;&#1072; &#1080; &#1076;&#1088;. ';
+$OVERVIEW['SETTINGS'] = '&#1057;&#1084;&#1077;&#1085;&#1080; &#1085;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080;&#1090;&#1077; &#1085;&#1072; WebsiteBaker...';
+$OVERVIEW['USERS'] = '&#1059;&#1087;&#1088;&#1072;&#1074;&#1083;&#1077;&#1085;&#1080;&#1077; &#1085;&#1072; &#1087;&#1086;&#1090;&#1088;&#1077;&#1073;&#1080;&#1090;&#1077;&#1083;&#1080;&#1090;&#1077; &#1084;&#1086;&#1078;&#1077;&#1097;&#1080; &#1076;&#1072; &#1074;&#1083;&#1103;&#1079;&#1072;&#1090; &#1074; WebsiteBaker...';
+$OVERVIEW['GROUPS'] = '&#1059;&#1087;&#1088;&#1072;&#1074;&#1083;&#1077;&#1085;&#1080;&#1077; &#1085;&#1072; &#1087;&#1086;&#1090;&#1088;&#1077;&#1073;&#1080;&#1090;&#1077;&#1083;&#1089;&#1082;&#1080;&#1090;&#1077; &#1075;&#1088;&#1091;&#1087;&#1080; &#1080; &#1090;&#1103;&#1093;&#1085;&#1080;&#1090;&#1077; &#1087;&#1088;&#1072;&#1074;&#1072;...';
+$OVERVIEW['HELP'] = '&#1048;&#1084;&#1072;&#1090;&#1077; &#1074;&#1098;&#1087;&#1088;&#1086;&#1089;&#1080;? &#1053;&#1072;&#1084;&#1077;&#1088;&#1077;&#1090;&#1077; &#1086;&#1090;&#1075;&#1086;&#1074;&#1086;&#1088;...';
+$OVERVIEW['VIEW'] = '&#1042;&#1080;&#1078; &#1089;&#1074;&#1086;&#1103; &#1089;&#1072;&#1081;&#1090; &#1074; &#1085;&#1086;&#1074; &#1087;&#1088;&#1086;&#1079;&#1086;&#1088;&#1077;&#1094;...';
+$OVERVIEW['ADMINTOOLS'] = 'Access the WebsiteBaker administration tools...';
+
+// Headings
+$HEADING['MODIFY_DELETE_PAGE'] = '&#1055;&#1088;&#1086;&#1084;&#1077;&#1085;&#1080;/&#1048;&#1079;&#1090;&#1088;&#1080;&#1081; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;';
+$HEADING['DELETED_PAGES'] = '&#1048;&#1079;&#1090;&#1088;&#1080;&#1090;&#1080; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1080;';
+$HEADING['ADD_PAGE'] = '&#1044;&#1086;&#1073;&#1072;&#1074;&#1080; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;';
+$HEADING['ADD_HEADING'] = '&#1044;&#1086;&#1073;&#1072;&#1074;&#1080; &#1079;&#1072;&#1075;&#1083;&#1072;&#1074;&#1080;&#1077;';
+$HEADING['MODIFY_PAGE'] = '&#1055;&#1088;&#1086;&#1084;&#1077;&#1085;&#1080; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;';
+$HEADING['MODIFY_PAGE_SETTINGS'] = '&#1055;&#1088;&#1086;&#1084;&#1077;&#1085;&#1080; &#1085;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080;&#1090;&#1077; &#1085;&#1072; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;';
+$HEADING['MODIFY_ADVANCED_PAGE_SETTINGS'] = '&#1055;&#1088;&#1086;&#1084;&#1077;&#1085;&#1080; &#1088;&#1072;&#1079;&#1096;&#1080;&#1088;&#1077;&#1085;&#1080;&#1090;&#1077; &#1085;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080; &#1085;&#1072; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;';
+$HEADING['MANAGE_SECTIONS'] = '&#1059;&#1087;&#1088;&#1072;&#1074;&#1083;&#1077;&#1085;&#1080;&#1077; &#1085;&#1072; &#1089;&#1077;&#1082;&#1094;&#1080;&#1080;&#1090;&#1077;';
+$HEADING['MODIFY_INTRO_PAGE'] = '&#1055;&#1088;&#1086;&#1084;&#1077;&#1085;&#1080; &#1074;&#1098;&#1074;&#1077;&#1078;&#1076;&#1072;&#1097;&#1072;&#1090;&#1072; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;';
+
+$HEADING['BROWSE_MEDIA'] = '&#1055;&#1088;&#1077;&#1075;&#1083;&#1077;&#1076; &#1085;&#1072; &#1052;&#1077;&#1076;&#1080;&#1103;';
+$HEADING['CREATE_FOLDER'] = '&#1057;&#1098;&#1079;&#1076;&#1072;&#1081; &#1087;&#1072;&#1087;&#1082;&#1072;';
+$HEADING['UPLOAD_FILES'] = '&#1050;&#1072;&#1095;&#1074;&#1072;&#1085;&#1077; &#1085;&#1072; &#1092;&#1072;&#1081;&#1083;&#1086;&#1074;&#1077;';
+
+$HEADING['INSTALL_MODULE'] = '&#1048;&#1085;&#1089;&#1090;&#1072;&#1083;&#1080;&#1088;&#1072;&#1081; &#1084;&#1086;&#1076;&#1091;&#1083;';
+$HEADING['UNINSTALL_MODULE'] = '&#1044;&#1077;&#1080;&#1085;&#1089;&#1090;&#1072;&#1083;&#1080;&#1088;&#1072;&#1081; &#1084;&#1086;&#1076;&#1091;&#1083;';
+$HEADING['MODULE_DETAILS'] = '&#1044;&#1077;&#1090;&#1072;&#1081;&#1083;&#1080; &#1079;&#1072; &#1084;&#1086;&#1076;&#1091;&#1083;';
+
+$HEADING['INSTALL_TEMPLATE'] = '&#1048;&#1085;&#1089;&#1090;&#1072;&#1083;&#1080;&#1088;&#1072;&#1081; &#1096;&#1072;&#1073;&#1083;&#1086;&#1085;';
+$HEADING['UNINSTALL_TEMPLATE'] = '&#1044;&#1077;&#1080;&#1085;&#1089;&#1090;&#1072;&#1083;&#1080;&#1088;&#1072;&#1081; &#1096;&#1072;&#1073;&#1083;&#1086;&#1085;';
+$HEADING['TEMPLATE_DETAILS'] = '&#1044;&#1077;&#1090;&#1072;&#1081;&#1083;&#1080; &#1079;&#1072; &#1096;&#1072;&#1073;&#1083;&#1086;&#1085;';
+
+$HEADING['INSTALL_LANGUAGE'] = '&#1048;&#1085;&#1089;&#1090;&#1072;&#1083;&#1080;&#1088;&#1072;&#1081; &#1077;&#1079;&#1080;&#1082;';
+$HEADING['UNINSTALL_LANGUAGE'] = '&#1044;&#1077;&#1080;&#1085;&#1089;&#1090;&#1072;&#1083;&#1080;&#1088;&#1072;&#1081; &#1077;&#1079;&#1080;&#1082;';
+$HEADING['LANGUAGE_DETAILS'] = '&#1044;&#1077;&#1090;&#1072;&#1081;&#1083;&#1080; &#1079;&#1072; &#1077;&#1079;&#1080;&#1082;';
+
+$HEADING['MY_SETTINGS'] = '&#1052;&#1086;&#1080;&#1090;&#1077; &#1085;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080;';
+$HEADING['MY_EMAIL'] = '&#1052;&#1086;&#1103;&#1090; e-mail';
+$HEADING['MY_PASSWORD'] = '&#1052;&#1086;&#1103;&#1090;&#1072; &#1087;&#1072;&#1088;&#1086;&#1083;&#1072;';
+
+$HEADING['GENERAL_SETTINGS'] = '&#1054;&#1073;&#1097;&#1080; &#1085;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080;';
+$HEADING['DEFAULT_SETTINGS'] = '&#1053;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080; &#1087;&#1086; &#1087;&#1086;&#1076;&#1088;&#1072;&#1079;&#1073;&#1080;&#1088;&#1072;&#1085;&#1077;';
+$HEADING['SEARCH_SETTINGS'] = '&#1053;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080; &#1090;&#1098;&#1088;&#1089;&#1077;&#1085;&#1077;';
+$HEADING['FILESYSTEM_SETTINGS'] = '&#1053;&#1072;&#1089;&#1090;&#1088;&#1081;&#1082;&#1080; &#1092;&#1072;&#1081;&#1083;&#1086;&#1074;&#1072; &#1089;&#1080;&#1089;&#1090;&#1077;&#1084;&#1072;';
+$HEADING['SERVER_SETTINGS'] = '&#1053;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080; &#1089;&#1098;&#1088;&#1074;&#1098;&#1088;';
+$HEADING['WBMAILER_SETTINGS'] = 'Mailer Settings';
+$HEADING['ADMINISTRATION_TOOLS'] = '&#1040;&#1076;&#1084;&#1080;&#1085;&#1080;&#1089;&#1090;&#1088;&#1072;&#1090;&#1080;&#1074;&#1085;&#1080; &#1080;&#1085;&#1089;&#1090;&#1088;&#1091;&#1084;&#1077;&#1085;&#1090;&#1080;';
+
+$HEADING['MODIFY_DELETE_USER'] = '&#1055;&#1088;&#1086;&#1084;&#1077;&#1085;&#1080;/&#1048;&#1079;&#1090;&#1088;&#1080;&#1081; &#1087;&#1086;&#1090;&#1088;&#1077;&#1073;&#1080;&#1090;&#1077;&#1083;';
+$HEADING['ADD_USER'] = '&#1044;&#1086;&#1073;&#1072;&#1074;&#1080; &#1087;&#1086;&#1090;&#1088;&#1077;&#1073;&#1080;&#1090;&#1077;&#1083;';
+$HEADING['MODIFY_USER'] = '&#1055;&#1088;&#1086;&#1084;&#1077;&#1085;&#1080; &#1087;&#1086;&#1090;&#1088;&#1077;&#1073;&#1080;&#1090;&#1077;&#1083;';
+
+$HEADING['MODIFY_DELETE_GROUP'] = '&#1055;&#1088;&#1086;&#1084;&#1077;&#1085;&#1080;/&#1048;&#1079;&#1090;&#1088;&#1080;&#1081; &#1075;&#1088;&#1091;&#1087;&#1072;';
+$HEADING['ADD_GROUP'] = '&#1044;&#1086;&#1073;&#1072;&#1074;&#1080; &#1075;&#1088;&#1091;&#1087;&#1072;';
+$HEADING['MODIFY_GROUP'] = '&#1055;&#1088;&#1086;&#1084;&#1077;&#1085;&#1080; &#1075;&#1088;&#1091;&#1087;&#1072;';
+
+$HEADING['ADDON_PRECHECK_FAILED'] = 'Add-On requirements not met';
+$HEADING['INVOKE_MODULE_FILES'] = 'Execute module files manually';
+
+// Other text
+$TEXT['OPEN'] = 'Open';
+$TEXT['ADD'] = '&#1044;&#1086;&#1073;&#1072;&#1074;&#1080;';
+$TEXT['MODIFY'] = '&#1055;&#1088;&#1086;&#1084;&#1077;&#1085;&#1080;';
+$TEXT['SETTINGS'] = '&#1053;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080;';
+$TEXT['DELETE'] = '&#1048;&#1079;&#1090;&#1088;&#1080;&#1081;';
+$TEXT['SAVE'] = '&#1047;&#1072;&#1087;&#1072;&#1079;&#1080;';
+$TEXT['RESET'] = '&#1053;&#1091;&#1083;&#1080;&#1088;&#1072;&#1081;';
+$TEXT['LOGIN'] = '&#1042;&#1093;&#1086;&#1076;';
+$TEXT['RELOAD'] = '&#1054;&#1073;&#1085;&#1086;&#1074;&#1080;';
+$TEXT['CANCEL'] = '&#1054;&#1090;&#1082;&#1072;&#1079;';
+$TEXT['NAME'] = '&#1048;&#1084;&#1077;';
+$TEXT['PLEASE_SELECT'] = '&#1052;&#1086;&#1083;&#1103; &#1080;&#1079;&#1073;&#1077;&#1088;&#1077;&#1090;&#1077;';
+$TEXT['TITLE'] = '&#1058;&#1080;&#1090;&#1083;&#1072;';
+$TEXT['PARENT'] = '&#1056;&#1086;&#1076;&#1080;&#1090;&#1077;&#1083;';
+$TEXT['TYPE'] = '&#1058;&#1080;&#1087;';
+$TEXT['VISIBILITY'] = '&#1042;&#1080;&#1076;&#1080;&#1084;&#1086;&#1089;&#1090;';
+$TEXT['PRIVATE'] = '&#1047;&#1072;&#1082;&#1088;&#1080;&#1090; &#1076;&#1086;&#1089;&#1090;&#1098;&#1087;';
+$TEXT['PUBLIC'] = '&#1055;&#1091;&#1073;&#1083;&#1080;&#1095;&#1085;&#1072;';
+$TEXT['NONE'] = '&#1053;&#1080;&#1097;&#1086;';
+$TEXT['NONE_FOUND'] = '&#1053;&#1080;&#1097;&#1086; &#1085;&#1077; &#1077; &#1085;&#1072;&#1084;&#1077;&#1088;&#1077;&#1085;&#1086;';
+$TEXT['CURRENT'] = '&#1058;&#1077;&#1082;&#1091;&#1097;&#1072;';
+$TEXT['CHANGE'] = '&#1057;&#1084;&#1077;&#1085;&#1080;';
+$TEXT['WINDOW'] = '&#1055;&#1088;&#1086;&#1079;&#1086;&#1088;&#1077;&#1094;';
+$TEXT['DESCRIPTION'] = '&#1054;&#1087;&#1080;&#1089;&#1072;&#1085;&#1080;&#1077;';
+$TEXT['KEYWORDS'] = '&#1050;&#1083;&#1102;&#1095;&#1086;&#1074;&#1080; &#1076;&#1091;&#1084;&#1080;';
+$TEXT['ADMINISTRATORS'] = '&#1040;&#1076;&#1084;&#1080;&#1085;&#1080;&#1089;&#1090;&#1088;&#1072;&#1090;&#1086;&#1088;&#1080;';
+$TEXT['PRIVATE_VIEWERS'] = '&#1047;&#1072;&#1082;&#1088;&#1080;&#1090; &#1076;&#1086;&#1089;&#1090;&#1098;&#1087;';
+$TEXT['EXPAND'] = '&#1056;&#1072;&#1079;&#1096;&#1080;&#1088;&#1080;';
+$TEXT['COLLAPSE'] = '&#1057;&#1074;&#1080;&#1081;';
+$TEXT['MOVE_UP'] = '&#1053;&#1072;&#1075;&#1086;&#1088;&#1077;';
+$TEXT['MOVE_DOWN'] = '&#1053;&#1072;&#1076;&#1086;&#1083;&#1091;';
+$TEXT['RENAME'] = '&#1055;&#1088;&#1077;&#1080;&#1084;&#1077;&#1085;&#1091;&#1074;&#1072;&#1081;';
+$TEXT['MODIFY_SETTINGS'] = '&#1055;&#1088;&#1086;&#1084;&#1077;&#1085;&#1080; &#1085;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080;&#1090;&#1077;';
+$TEXT['MODIFY_CONTENT'] = '&#1055;&#1088;&#1086;&#1084;&#1077;&#1085;&#1080; &#1089;&#1098;&#1076;&#1098;&#1088;&#1078;&#1072;&#1085;&#1080;&#1077;&#1090;&#1086;';
+$TEXT['VIEW'] = '&#1055;&#1088;&#1077;&#1075;&#1083;&#1077;&#1076;';
+$TEXT['UP'] = '&#1053;&#1072;&#1075;&#1086;&#1088;&#1077;';
+$TEXT['FORGOTTEN_DETAILS'] = '&#1047;&#1072;&#1073;&#1088;&#1072;&#1074;&#1077;&#1085;&#1080; &#1076;&#1077;&#1090;&#1072;&#1081;&#1083;&#1080;?';
+$TEXT['NEED_TO_LOGIN'] = '&#1048;&#1089;&#1082;&#1072;&#1090;&#1077; &#1076;&#1072; &#1074;&#1083;&#1077;&#1079;&#1077;&#1090;&#1077;?';
+$TEXT['SEND_DETAILS'] = '&#1048;&#1079;&#1087;&#1088;&#1072;&#1090;&#1080; &#1076;&#1077;&#1090;&#1072;&#1081;&#1083;&#1080;&#1090;&#1077;';
+$TEXT['USERNAME'] = '&#1055;&#1086;&#1090;&#1088;&#1077;&#1073;&#1080;&#1090;&#1077;&#1083;&#1089;&#1082;&#1086; &#1080;&#1084;&#1077;';
+$TEXT['PASSWORD'] = '&#1055;&#1072;&#1088;&#1086;&#1083;&#1072;';
+$TEXT['HOME'] = '&#1053;&#1072;&#1095;&#1072;&#1083;&#1086;';
+$TEXT['TARGET_FOLDER'] = '&#1050;&#1098;&#1084; &#1087;&#1072;&#1087;&#1082;&#1072;';
+$TEXT['OVERWRITE_EXISTING'] = '&#1055;&#1088;&#1077;&#1079;&#1072;&#1087;&#1080;&#1096;&#1080; &#1089;&#1098;&#1097;&#1077;&#1089;&#1090;&#1074;&#1091;&#1074;&#1072;&#1097;';
+$TEXT['FILE'] = '&#1060;&#1072;&#1081;&#1083;';
+$TEXT['FILES'] = '&#1060;&#1072;&#1081;&#1083;&#1086;&#1074;&#1077;';
+$TEXT['FOLDER'] = '&#1055;&#1072;&#1087;&#1082;&#1072;';
+$TEXT['FOLDERS'] = '&#1055;&#1072;&#1087;&#1082;&#1080;';
+$TEXT['CREATE_FOLDER'] = '&#1057;&#1098;&#1079;&#1076;&#1072;&#1081; &#1087;&#1072;&#1087;&#1082;&#1072;/&#1080;/';
+$TEXT['UPLOAD_FILES'] = '&#1050;&#1072;&#1095;&#1080; &#1092;&#1072;&#1081;&#1083;&#1086;&#1074;&#1077;';
+$TEXT['CURRENT_FOLDER'] = '&#1058;&#1077;&#1082;&#1091;&#1097;&#1072; &#1087;&#1072;&#1087;&#1082;&#1072;';
+$TEXT['TO'] = '&#1044;&#1086;';
+$TEXT['FROM'] = '&#1054;&#1090;';
+$TEXT['INSTALL'] = '&#1048;&#1085;&#1089;&#1090;&#1072;&#1083;&#1080;&#1088;&#1072;&#1081;';
+$TEXT['UNINSTALL'] = '&#1044;&#1077;&#1080;&#1085;&#1089;&#1090;&#1072;&#1083;&#1080;&#1088;&#1072;&#1081;';
+$TEXT['VIEW_DETAILS'] = '&#1042;&#1080;&#1078; &#1076;&#1077;&#1090;&#1072;&#1081;&#1083;&#1080;&#1090;&#1077;';
+$TEXT['DISPLAY_NAME'] = '&#1055;&#1086;&#1082;&#1072;&#1078;&#1080; &#1080;&#1084;&#1077;';
+$TEXT['AUTHOR'] = '&#1040;&#1074;&#1090;&#1086;&#1088;';
+$TEXT['VERSION'] = '&#1042;&#1077;&#1088;&#1089;&#1080;&#1103;';
+$TEXT['DESIGNED_FOR'] = '&#1053;&#1072;&#1087;&#1088;&#1072;&#1074;&#1077;&#1085; &#1079;&#1072;';
+$TEXT['DESCRIPTION'] = '&#1054;&#1087;&#1080;&#1089;&#1072;&#1085;&#1080;&#1077;';
+$TEXT['EMAIL'] = 'Email';
+$TEXT['LANGUAGE'] = '&#1045;&#1079;&#1080;&#1082;';
+$TEXT['TIMEZONE'] = '&#1042;&#1088;&#1077;&#1084;&#1077;&#1074;&#1072; &#1079;&#1086;&#1085;&#1072;';
+$TEXT['CURRENT_PASSWORD'] = '&#1058;&#1077;&#1082;&#1091;&#1097;&#1072; &#1087;&#1072;&#1088;&#1086;&#1083;&#1072;';
+$TEXT['NEW_PASSWORD'] = '&#1053;&#1086;&#1074;&#1072; &#1087;&#1072;&#1088;&#1086;&#1083;&#1072;';
+$TEXT['RETYPE_NEW_PASSWORD'] = '&#1054;&#1097;&#1077; &#1074;&#1077;&#1076;&#1085;&#1098;&#1078; &#1085;&#1086;&#1074;&#1072;&#1090;&#1072; &#1087;&#1072;&#1088;&#1086;&#1083;&#1072;';
+$TEXT['ACTIVE'] = '&#1040;&#1082;&#1090;&#1080;&#1074;&#1080;&#1088;&#1072;&#1085;';
+$TEXT['DISABLED'] = '&#1044;&#1077;&#1072;&#1082;&#1090;&#1080;&#1074;&#1080;&#1088;&#1072;&#1085;';
+$TEXT['ENABLED'] = '&#1055;&#1086;&#1079;&#1074;&#1086;&#1083;&#1077;&#1085;';
+$TEXT['RETYPE_PASSWORD'] = '&#1054;&#1097;&#1077; &#1074;&#1077;&#1076;&#1085;&#1098;&#1078; &#1087;&#1072;&#1088;&#1086;&#1083;&#1072;&#1090;&#1072;';
+$TEXT['GROUP'] = '&#1043;&#1088;&#1091;&#1087;&#1072;';
+$TEXT['SYSTEM_PERMISSIONS'] = '&#1057;&#1080;&#1089;&#1090;&#1077;&#1084;&#1085;&#1080; &#1087;&#1088;&#1072;&#1074;&#1072;';
+$TEXT['MODULE_PERMISSIONS'] = '&#1055;&#1088;&#1072;&#1074;&#1072; &#1084;&#1086;&#1076;&#1091;&#1083;&#1080;';
+$TEXT['SHOW_ADVANCED'] = '&#1055;&#1086;&#1082;&#1072;&#1078;&#1080; &#1088;&#1072;&#1079;&#1096;&#1080;&#1088;&#1077;&#1085;&#1080; &#1086;&#1087;&#1094;&#1080;&#1080;';
+$TEXT['HIDE_ADVANCED'] = '&#1057;&#1082;&#1088;&#1080;&#1081; &#1088;&#1072;&#1079;&#1096;&#1080;&#1088;&#1077;&#1085;&#1080;&#1090;&#1077; &#1086;&#1087;&#1094;&#1080;&#1080;';
+$TEXT['BASIC'] = '&#1054;&#1089;&#1085;&#1086;&#1074;&#1085;&#1072;';
+$TEXT['ADVANCED'] = '&#1056;&#1072;&#1079;&#1096;&#1080;&#1088;&#1077;&#1085;&#1072;';
+$TEXT['WEBSITE'] = '&#1057;&#1072;&#1081;&#1090;';
+$TEXT['DEFAULT'] = '&#1055;&#1086; &#1087;&#1086;&#1076;&#1088;&#1072;&#1079;&#1073;&#1080;&#1088;&#1072;&#1085;&#1077;';
+$TEXT['KEYWORDS'] = '&#1050;&#1083;&#1102;&#1095;&#1086;&#1074;&#1080; &#1076;&#1091;&#1084;&#1080;';
+$TEXT['TEXT'] = '&#1058;&#1077;&#1082;&#1089;&#1090;';
+$TEXT['HEADER'] = 'Header';
+$TEXT['FOOTER'] = 'Footer';
+$TEXT['TEMPLATE'] = '&#1064;&#1072;&#1073;&#1083;&#1086;&#1085;';
+$TEXT['THEME'] = 'Backend-Theme';
+$TEXT['INSTALLATION'] = '&#1048;&#1085;&#1089;&#1090;&#1072;&#1083;&#1072;&#1094;&#1080;&#1103;';
+$TEXT['DATABASE'] = '&#1041;&#1072;&#1079;&#1072; &#1076;&#1072;&#1085;&#1085;&#1080;';
+$TEXT['HOST'] = 'Host';
+$TEXT['INTRO'] = '&#1042;&#1098;&#1074;&#1077;&#1076;&#1077;&#1085;&#1080;&#1077;';
+$TEXT['PAGE'] = '&#1057;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;';
+$TEXT['SIGNUP'] = '&#1047;&#1072;&#1087;&#1080;&#1097;&#1080; &#1089;&#1077;';
+$TEXT['PHP_ERROR_LEVEL'] = 'PHP Error Reporting Level';
+$TEXT['ADMIN'] = '&#1040;&#1076;&#1084;&#1080;&#1085;&#1080;&#1089;&#1090;&#1088;&#1072;&#1090;&#1086;&#1088;';
+$TEXT['PATH'] = '&#1055;&#1098;&#1090;';
+$TEXT['URL'] = 'URL';
+$TEXT['FRONTEND'] = 'Front-end';
+$TEXT['EXTENSION'] = '&#1056;&#1072;&#1079;&#1096;&#1080;&#1088;&#1077;&#1085;&#1080;&#1077;';
+$TEXT['TABLE_PREFIX'] = '&#1055;&#1088;&#1077;&#1092;&#1080;&#1082;&#1089; &#1085;&#1072; &#1090;&#1072;&#1073;&#1083;&#1080;&#1094;&#1072;';
+$TEXT['CHANGES'] = '&#1055;&#1088;&#1086;&#1084;&#1077;&#1085;&#1080;';
+$TEXT['ADMINISTRATION'] = '&#1040;&#1076;&#1084;&#1080;&#1085;&#1080;&#1089;&#1090;&#1088;&#1072;&#1094;&#1080;&#1103;';
+$TEXT['FORGOT_DETAILS'] = '&#1047;&#1072;&#1073;&#1088;&#1072;&#1074;&#1077;&#1085;&#1080; &#1076;&#1077;&#1090;&#1072;&#1081;&#1083;&#1080;?';
+$TEXT['LOGGED_IN'] = 'Logged-In';
+$TEXT['WELCOME_BACK'] = '&#1044;&#1086;&#1073;&#1088;&#1077; &#1076;&#1086;&#1096;&#1083;&#1080;';
+$TEXT['FULL_NAME'] = '&#1055;&#1098;&#1083;&#1085;&#1086; &#1080;&#1084;&#1077;';
+$TEXT['ACCOUNT_SIGNUP'] = '&#1056;&#1077;&#1075;&#1080;&#1089;&#1090;&#1088;&#1072;&#1094;&#1080;&#1103;';
+$TEXT['LINK'] = '&#1042;&#1088;&#1098;&#1079;&#1082;&#1072;';
+$TEXT['ANCHOR'] = 'Anchor';
+$TEXT['TARGET'] = '&#1062;&#1077;&#1083;';
+$TEXT['NEW_WINDOW'] = '&#1053;&#1086;&#1074; &#1087;&#1088;&#1086;&#1079;&#1086;&#1088;&#1077;&#1094;';
+$TEXT['SAME_WINDOW'] = '&#1057;&#1098;&#1097;&#1080;&#1103; &#1087;&#1088;&#1086;&#1079;&#1086;&#1088;&#1077;&#1094;';
+$TEXT['TOP_FRAME'] = 'Top Frame';
+$TEXT['PAGE_LEVEL_LIMIT'] = 'Page Level Limit';
+$TEXT['SUCCESS'] = '&#1059;&#1089;&#1087;&#1077;&#1093;';
+$TEXT['ERROR'] = '&#1043;&#1088;&#1077;&#1096;&#1082;&#1072;';
+$TEXT['ARE_YOU_SURE'] = '&#1057;&#1080;&#1075;&#1091;&#1088;&#1085;&#1080; &#1083;&#1080; &#1089;&#1090;&#1077;?';
+$TEXT['YES'] = '&#1044;&#1072;';
+$TEXT['NO'] = '&#1053;&#1077;';
+$TEXT['SYSTEM_DEFAULT'] = '&#1055;&#1086; &#1087;&#1086;&#1076;&#1088;&#1072;&#1079;&#1073;&#1080;&#1088;&#1072;&#1085;&#1077; &#1085;&#1072; &#1089;&#1080;&#1089;&#1090;&#1077;&#1084;&#1072;&#1090;&#1072;';
+$TEXT['PAGE_TITLE'] = '&#1047;&#1072;&#1075;&#1083;&#1072;&#1074;&#1080;&#1077; &#1085;&#1072; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;&#1090;&#1072;';
+$TEXT['MENU_TITLE'] = '&#1047;&#1072;&#1075;&#1083;&#1072;&#1074;&#1080;&#1077; &#1085;&#1072; &#1084;&#1077;&#1085;&#1102;&#1090;&#1086;';
+$TEXT['ACTIONS'] = '&#1044;&#1077;&#1081;&#1089;&#1090;&#1074;&#1080;&#1103;';
+$TEXT['UNKNOWN'] = '&#1053;&#1077;&#1080;&#1079;&#1074;&#1077;&#1089;&#1090;&#1085;&#1086;';
+$TEXT['BLOCK'] = '&#1041;&#1083;&#1086;&#1082;&#1080;&#1088;&#1072;&#1081;';
+$TEXT['SEARCH'] = '&#1058;&#1098;&#1088;&#1089;&#1080;';
+$TEXT['SEARCHING'] = '&#1058;&#1098;&#1088;&#1089;&#1103;';
+$TEXT['POST'] = '&#1054;&#1089;&#1090;&#1072;&#1074;&#1080;';
+$TEXT['COMMENT'] = '&#1050;&#1086;&#1084;&#1077;&#1085;&#1090;&#1072;&#1088;';
+$TEXT['COMMENTS'] = '&#1050;&#1086;&#1084;&#1077;&#1085;&#1090;&#1072;&#1088;&#1080;';
+$TEXT['COMMENTING'] = '&#1050;&#1086;&#1084;&#1077;&#1085;&#1090;&#1080;&#1088;&#1072;&#1085;&#1077;';
+$TEXT['SHORT'] = '&#1050;&#1098;&#1089;';
+$TEXT['LONG'] = '&#1044;&#1098;&#1083;&#1098;&#1075;';
+$TEXT['LOOP'] = 'Loop';
+$TEXT['FIELD'] = '&#1055;&#1086;&#1083;&#1077;';
+$TEXT['REQUIRED'] = '&#1047;&#1072;&#1076;&#1098;&#1083;&#1078;&#1080;&#1090;&#1077;&#1083;&#1085;&#1086;';
+$TEXT['LENGTH'] = '&#1044;&#1098;&#1083;&#1078;&#1080;&#1085;&#1072;';
+$TEXT['MESSAGE'] = '&#1057;&#1098;&#1086;&#1073;&#1097;&#1077;&#1085;&#1080;&#1077;';
+$TEXT['SUBJECT'] = '&#1057;&#1102;&#1078;&#1077;&#1090;';
+$TEXT['MATCH'] = '&#1055;&#1086;&#1076;&#1086;&#1073;&#1077;&#1085;';
+$TEXT['ALL_WORDS'] = '&#1042;&#1089;&#1080;&#1095;&#1082;&#1080; &#1076;&#1091;&#1084;&#1080;';
+$TEXT['ANY_WORDS'] = '&#1050;&#1086;&#1103;&#1090;&#1086; &#1080; &#1076;&#1072; &#1077; &#1076;&#1091;&#1084;&#1072;';
+$TEXT['EXACT_MATCH'] = '&#1058;&#1086;&#1095;&#1085;&#1086; &#1089;&#1098;&#1074;&#1087;&#1072;&#1076;&#1077;&#1085;&#1080;&#1077;';
+$TEXT['SHOW'] = '&#1055;&#1086;&#1082;&#1072;&#1078;&#1080;';
+$TEXT['HIDE'] = '&#1057;&#1082;&#1088;&#1080;&#1081;';
+$TEXT['START_PUBLISHING'] = '&#1047;&#1072;&#1087;&#1086;&#1095;&#1085;&#1080; &#1087;&#1091;&#1073;&#1083;&#1080;&#1082;&#1091;&#1074;&#1072;&#1085;&#1077;';
+$TEXT['FINISH_PUBLISHING'] = '&#1050;&#1088;&#1072;&#1081; &#1085;&#1072; &#1087;&#1091;&#1073;&#1083;&#1080;&#1082;&#1091;&#1074;&#1072;&#1085;&#1077;';
+$TEXT['DATE'] = '&#1044;&#1072;&#1090;&#1072;';
+$TEXT['START'] = '&#1053;&#1072;&#1095;&#1072;&#1083;&#1086;';
+$TEXT['END'] = '&#1050;&#1088;&#1072;&#1081;';
+$TEXT['IMAGE'] = '&#1050;&#1072;&#1088;&#1090;&#1080;&#1085;&#1082;&#1072;';
+$TEXT['ICON'] = '&#1048;&#1082;&#1086;&#1085;&#1072;';
+$TEXT['SECTION'] = '&#1057;&#1077;&#1082;&#1094;&#1080;&#1103;';
+$TEXT['DATE_FORMAT'] = '&#1060;&#1086;&#1088;&#1084;&#1072;&#1090; &#1076;&#1072;&#1090;&#1072;';
+$TEXT['TIME_FORMAT'] = '&#1060;&#1086;&#1088;&#1084;&#1072;&#1090; &#1074;&#1088;&#1077;&#1084;&#1077;';
+$TEXT['RESULTS'] = '&#1056;&#1077;&#1079;&#1091;&#1083;&#1090;&#1072;&#1090;&#1080;';
+$TEXT['RESIZE'] = '&#1055;&#1088;&#1086;&#1084;&#1077;&#1085;&#1080; &#1088;&#1072;&#1079;&#1084;&#1077;&#1088;&#1072;';
+$TEXT['MANAGE'] = '&#1059;&#1087;&#1088;&#1072;&#1074;&#1083;&#1077;&#1085;&#1080;&#1077;';
+$TEXT['CODE'] = '&#1050;&#1086;&#1076;';
+$TEXT['WIDTH'] = '&#1064;&#1080;&#1088;&#1080;&#1085;&#1072;';
+$TEXT['HEIGHT'] = '&#1042;&#1080;&#1089;&#1086;&#1095;&#1080;&#1085;&#1072;';
+$TEXT['MORE'] = '&#1055;&#1086;&#1074;&#1077;&#1095;&#1077;';
+$TEXT['READ_MORE'] = '&#1055;&#1088;&#1086;&#1095;&#1077;&#1090;&#1080; &#1087;&#1086;&#1074;&#1077;&#1095;&#1077;';
+$TEXT['CHANGE_SETTINGS'] = '&#1055;&#1088;&#1086;&#1084;&#1077;&#1085;&#1080; &#1085;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080;&#1090;&#1077;';
+$TEXT['CURRENT_PAGE'] = '&#1058;&#1077;&#1082;&#1091;&#1097;&#1072; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;';
+$TEXT['CLOSE'] = '&#1047;&#1072;&#1090;&#1074;&#1086;&#1088;&#1080;';
+$TEXT['INTRO_PAGE'] = '&#1042;&#1098;&#1074;&#1077;&#1078;&#1076;&#1072;&#1097;&#1072; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;';
+$TEXT['INSTALLATION_URL'] = 'URL - &#1080;&#1085;&#1089;&#1090;&#1072;&#1083;&#1072;&#1094;&#1080;&#1103;';
+$TEXT['INSTALLATION_PATH'] = '&#1055;&#1098;&#1090; - &#1080;&#1085;&#1089;&#1090;&#1072;&#1083;&#1072;&#1094;&#1080;&#1103;';
+$TEXT['PAGE_EXTENSION'] = '&#1056;&#1072;&#1079;&#1096;&#1080;&#1088;&#1077;&#1085;&#1072; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;';
+$TEXT['NO_RESULTS'] = '&#1053;&#1103;&#1084;&#1072; &#1088;&#1077;&#1079;&#1091;&#1083;&#1090;&#1072;&#1090;&#1080;';
+$TEXT['WEBSITE_TITLE'] = '&#1047;&#1072;&#1075;&#1083;&#1072;&#1074;&#1080;&#1077; &#1085;&#1072; &#1089;&#1072;&#1081;&#1090;&#1072;';
+$TEXT['WEBSITE_DESCRIPTION'] = '&#1054;&#1087;&#1080;&#1089;&#1072;&#1085;&#1080;&#1077; &#1085;&#1072; &#1089;&#1072;&#1081;&#1090;&#1072;';
+$TEXT['WEBSITE_KEYWORDS'] = '&#1050;&#1083;&#1102;&#1095;&#1086;&#1074;&#1080; &#1076;&#1091;&#1084;&#1072; &#1085;&#1072; &#1089;&#1072;&#1081;&#1090;&#1072;';
+$TEXT['WEBSITE_HEADER'] = 'Website Header';
+$TEXT['WEBSITE_FOOTER'] = 'Website Footer';
+$TEXT['RESULTS_HEADER'] = 'Results Header';
+$TEXT['RESULTS_LOOP'] = 'Results Loop';
+$TEXT['RESULTS_FOOTER'] = 'Results Footer';
+$TEXT['LEVEL'] = '&#1053;&#1080;&#1074;&#1086;';
+$TEXT['NOT_FOUND'] = '&#1053;&#1077; &#1077; &#1085;&#1072;&#1084;&#1077;&#1088;&#1077;&#1085;';
+$TEXT['PAGE_SPACER'] = 'Page Spacer';
+$TEXT['MATCHING'] = '&#1057;&#1098;&#1074;&#1087;&#1072;&#1076;&#1072;';
+$TEXT['TEMPLATE_PERMISSIONS'] = '&#1055;&#1086;&#1079;&#1074;&#1086;&#1083;&#1077;&#1085;&#1080;&#1103; &#1096;&#1072;&#1073;&#1083;&#1086;&#1085;';
+$TEXT['PAGES_DIRECTORY'] = '&#1055;&#1072;&#1087;&#1082;&#1072; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1080;';
+$TEXT['MEDIA_DIRECTORY'] = '&#1055;&#1072;&#1087;&#1082;&#1072; &#1084;&#1077;&#1076;&#1080;&#1103;';
+$TEXT['FILE_MODE'] = '&#1060;&#1072;&#1081;&#1083;&#1086;&#1074; &#1088;&#1077;&#1078;&#1080;&#1084;';
+$TEXT['USER'] = '&#1055;&#1086;&#1090;&#1088;&#1077;&#1073;&#1080;&#1090;&#1077;&#1083;';
+$TEXT['OTHERS'] = '&#1044;&#1088;&#1091;&#1075;&#1080;';
+$TEXT['READ'] = '&#1063;&#1077;&#1090;&#1077;&#1085;&#1077;';
+$TEXT['WRITE'] = '&#1047;&#1072;&#1087;&#1080;&#1089;';
+$TEXT['EXECUTE'] = '&#1048;&#1079;&#1087;&#1098;&#1083;&#1085;&#1077;&#1085;&#1080;&#1077;';
+$TEXT['SMART_LOGIN'] = 'Smart Login';
+$TEXT['REMEMBER_ME'] = '&#1047;&#1072;&#1087;&#1086;&#1084;&#1085;&#1080; &#1084;&#1077;';
+$TEXT['FILESYSTEM_PERMISSIONS'] = '&#1055;&#1086;&#1079;&#1074;&#1086;&#1083;&#1077;&#1085;&#1080;&#1103; - &#1092;&#1072;&#1081;&#1083;&#1086;&#1074;&#1072; &#1089;&#1080;&#1089;&#1090;&#1077;&#1084;&#1072;';
+$TEXT['DIRECTORIES'] = '&#1055;&#1072;&#1087;&#1082;&#1080;';
+$TEXT['DIRECTORY_MODE'] = '&#1056;&#1077;&#1078;&#1080;&#1084; &#1087;&#1072;&#1087;&#1082;&#1080;';
+$TEXT['LIST_OPTIONS'] = '&#1057;&#1087;&#1080;&#1089;&#1098;&#1082; - &#1086;&#1087;&#1094;&#1080;&#1080;';
+$TEXT['OPTION'] = '&#1054;&#1087;&#1094;&#1080;&#1103;';
+$TEXT['ALLOW_MULTIPLE_SELECTIONS'] = '&#1055;&#1086;&#1079;&#1074;&#1086;&#1083;&#1080; &#1084;&#1085;&#1086;&#1078;&#1077;&#1089;&#1090;&#1074;&#1077;&#1085; &#1080;&#1079;&#1073;&#1086;&#1088;';
+$TEXT['TEXTFIELD'] = '&#1058;&#1077;&#1082;&#1089;&#1090;&#1086;&#1074;&#1086; &#1087;&#1086;&#1083;&#1077;';
+$TEXT['TEXTAREA'] = '&#1058;&#1077;&#1082;&#1089;&#1090;&#1086;&#1074;&#1086; &#1087;&#1088;&#1086;&#1089;&#1090;&#1088;&#1072;&#1085;&#1089;&#1090;&#1074;&#1086;';
+$TEXT['SELECT_BOX'] = '&#1050;&#1091;&#1090;&#1080;&#1103; &#1080;&#1079;&#1073;&#1086;&#1088;';
+$TEXT['CHECKBOX_GROUP'] = 'Checkbox &#1075;&#1088;&#1091;&#1087;&#1072;';
+$TEXT['RADIO_BUTTON_GROUP'] = 'Radio Button &#1075;&#1088;&#1091;&#1087;&#1072;';
+$TEXT['SIZE'] = '&#1043;&#1086;&#1083;&#1077;&#1084;&#1080;&#1085;&#1072;';
+$TEXT['DEFAULT_TEXT'] = '&#1058;&#1077;&#1082;&#1089;&#1090; &#1087;&#1086; &#1087;&#1086;&#1076;&#1088;&#1072;&#1079;&#1073;&#1080;&#1088;&#1072;&#1085;&#1077;';
+$TEXT['SEPERATOR'] = 'Separator';
+$TEXT['BACK'] = '&#1053;&#1072;&#1079;&#1072;&#1076;';
+$TEXT['UNDER_CONSTRUCTION'] = '&#1042; &#1087;&#1088;&#1086;&#1094;&#1077;&#1089; &#1085;&#1072; &#1089;&#1098;&#1079;&#1076;&#1072;&#1074;&#1072;&#1085;&#1077;';
+$TEXT['MULTISELECT'] = 'Multi-select';
+$TEXT['SHORT_TEXT'] = '&#1050;&#1088;&#1072;&#1090;&#1098;&#1082; &#1090;&#1077;&#1082;&#1089;&#1090;';
+$TEXT['LONG_TEXT'] = '&#1044;&#1098;&#1083;&#1098;&#1075; &#1090;&#1077;&#1082;&#1089;&#1090;';
+$TEXT['HOMEPAGE_REDIRECTION'] = 'Homepage Redirection';
+$TEXT['HEADING'] = 'Heading';
+$TEXT['MULTIPLE_MENUS'] = '&#1052;&#1085;&#1086;&#1078;&#1077;&#1089;&#1090;&#1074;&#1086; &#1084;&#1077;&#1085;&#1102;&#1090;&#1072;';
+$TEXT['REGISTERED'] = '&#1056;&#1077;&#1075;&#1080;&#1089;&#1090;&#1088;&#1080;&#1088;&#1072;&#1085;';
+$TEXT['SECTION_BLOCKS'] = 'Section Blocks';
+$TEXT['REGISTERED_VIEWERS'] = '&#1056;&#1077;&#1075;&#1080;&#1089;&#1090;&#1088;&#1080;&#1088;&#1072;&#1085;&#1080; &#1079;&#1088;&#1080;&#1090;&#1077;&#1083;&#1080;';
+$TEXT['ALLOWED_VIEWERS'] = '&#1055;&#1086;&#1079;&#1074;&#1086;&#1083;&#1077;&#1085;&#1080; &#1079;&#1088;&#1080;&#1090;&#1077;&#1083;&#1080;';
+$TEXT['SUBMISSION_ID'] = '&#1055;&#1086;&#1076;&#1072;&#1076;&#1077;&#1085; ID';
+$TEXT['SUBMISSIONS'] = '&#1055;&#1086;&#1076;&#1072;&#1076;&#1077;&#1085;&#1080;';
+$TEXT['SUBMITTED'] = '&#1055;&#1086;&#1076;&#1072;&#1076;&#1077;&#1085;';
+$TEXT['MAX_SUBMISSIONS_PER_HOUR'] = '&#1052;&#1072;&#1082;&#1089;. &#1055;&#1086;&#1076;&#1072;&#1074;&#1072;&#1085;&#1080;&#1103; &#1079;&#1072; &#1095;&#1072;&#1089;';
+$TEXT['SUBMISSIONS_STORED_IN_DATABASE'] = '&#1055;&#1086;&#1076;&#1072;&#1074;&#1072;&#1085;&#1080;&#1103;&#1090;&#1072; &#1079;&#1072;&#1087;&#1072;&#1079;&#1077;&#1085;&#1080; &#1074; &#1073;&#1072;&#1079;&#1072;&#1090;&#1072; &#1076;&#1072;&#1085;&#1085;&#1080;';
+$TEXT['EMAIL_ADDRESS'] = 'Email &#1072;&#1076;&#1088;&#1077;&#1089;';
+$TEXT['CUSTOM'] = '&#1055;&#1086; &#1084;&#1103;&#1088;&#1082;&#1072;';
+$TEXT['ANONYMOUS'] = '&#1040;&#1085;&#1086;&#1085;&#1080;&#1084;&#1077;&#1085;';
+$TEXT['SERVER_OPERATING_SYSTEM'] = '&#1054;&#1087;&#1077;&#1088;&#1072;&#1094;&#1080;&#1086;&#1085;&#1085;&#1072; &#1089;&#1080;&#1090;&#1077;&#1084;&#1072; &#1085;&#1072; &#1089;&#1098;&#1088;&#1074;&#1098;&#1088;&#1072;';
+$TEXT['WORLD_WRITEABLE_FILE_PERMISSIONS'] = 'World-writeable file permissions';
+$TEXT['LINUX_UNIX_BASED'] = '&#1051;&#1080;&#1085;&#1091;&#1082;&#1089;/&#1070;&#1085;&#1080;&#1082;&#1089; &#1073;&#1072;&#1079;&#1080;&#1088;&#1072;&#1085;&#1072;';
+$TEXT['WINDOWS'] = '&#1059;&#1080;&#1085;&#1076;&#1086;&#1091;&#1089;';
+$TEXT['HOME_FOLDER'] = 'Home Folder';
+$TEXT['HOME_FOLDERS'] = 'Home Folders';
+$TEXT['PAGE_TRASH'] = 'Page Trash';
+$TEXT['INLINE'] = 'In-line';
+$TEXT['SEPARATE'] = 'Separate';
+$TEXT['DELETED'] = '&#1048;&#1079;&#1090;&#1088;&#1080;&#1090;&#1072;';
+$TEXT['VIEW_DELETED_PAGES'] = '&#1042;&#1080;&#1079; &#1080;&#1079;&#1090;&#1088;&#1080;&#1090;&#1080;&#1090;&#1077; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1080;';
+$TEXT['EMPTY_TRASH'] = '&#1048;&#1079;&#1087;&#1088;&#1072;&#1079;&#1085;&#1080; &#1082;&#1086;&#1096;&#1095;&#1077;&#1090;&#1086;';
+$TEXT['TRASH_EMPTIED'] = '&#1050;&#1086;&#1096;&#1095;&#1077;&#1090;&#1086; &#1080;&#1079;&#1087;&#1088;&#1072;&#1079;&#1085;&#1077;&#1085;&#1086;';
+$TEXT['ADD_SECTION'] = '&#1044;&#1086;&#1073;&#1072;&#1074;&#1080; &#1089;&#1077;&#1082;&#1094;&#1080;&#1103;';
+$TEXT['POST_HEADER'] = 'Post Header';
+$TEXT['POST_FOOTER'] = 'Post Footer';
+$TEXT['POSTS_PER_PAGE'] = 'Posts Per Page';
+$TEXT['RESIZE_IMAGE_TO'] = 'Resize Image To';
+$TEXT['UNLIMITED'] = '&#1041;&#1077;&#1079; &#1083;&#1080;&#1084;&#1080;&#1090;';
+$TEXT['OF'] = '&#1054;&#1090;';
+$TEXT['OUT_OF'] = '&#1086;&#1090;';
+$TEXT['NEXT'] = '&#1057;&#1083;&#1077;&#1076;&#1074;&#1072;&#1097;';
+$TEXT['PREVIOUS'] = '&#1055;&#1088;&#1077;&#1076;&#1080;&#1096;&#1077;&#1085;';
+$TEXT['NEXT_PAGE'] = '&#1057;&#1083;&#1076;&#1074;&#1072;&#1097;&#1072; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;';
+$TEXT['PREVIOUS_PAGE'] = '&#1055;&#1088;&#1077;&#1076;&#1080;&#1096;&#1085;&#1072; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;';
+$TEXT['ON'] = 'On';
+$TEXT['LAST_UPDATED_BY'] = '&#1055;&#1086;&#1089;&#1083;&#1077;&#1076;&#1085;&#1086; &#1086;&#1073;&#1085;&#1086;&#1074;&#1077;&#1085; &#1086;&#1090;';
+$TEXT['RESULTS_FOR'] = '&#1056;&#1077;&#1079;&#1091;&#1083;&#1090;&#1072;&#1090;&#1080; &#1079;&#1072;';
+$TEXT['TIME'] = '&#1063;&#1072;&#1089;';
+$TEXT['REDIRECT_AFTER'] = 'Redirect after';
+$TEXT['WYSIWYG_STYLE'] = '&#1057;&#1090;&#1080;&#1083; WYSIWYG';
+$TEXT['WYSIWYG_EDITOR'] = 'WYSIWYG &#1088;&#1077;&#1076;&#1072;&#1082;&#1090;&#1086;&#1088;';
+$TEXT['SERVER_EMAIL'] = 'Email &#1085;&#1072; &#1089;&#1098;&#1088;&#1074;&#1098;&#1088;&#1072;';
+$TEXT['MENU'] = '&#1052;&#1077;&#1085;&#1102;';
+$TEXT['MANAGE_GROUPS'] = '&#1059;&#1087;&#1088;&#1072;&#1074;&#1083;&#1077;&#1085;&#1080;&#1077; &#1075;&#1088;&#1091;&#1087;&#1080;';
+$TEXT['MANAGE_USERS'] = '&#1059;&#1087;&#1088;&#1072;&#1074;&#1083;&#1077;&#1085;&#1080;&#1077; &#1087;&#1086;&#1090;&#1088;&#1077;&#1073;&#1080;&#1090;&#1077;&#1083;&#1080;';
+$TEXT['PAGE_LANGUAGES'] = '&#1057;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072; &#1077;&#1079;&#1080;&#1094;&#1080;';
+$TEXT['HIDDEN'] = '&#1057;&#1082;&#1088;&#1080;&#1090;';
+$TEXT['MAIN'] = '&#1054;&#1089;&#1085;&#1086;&#1074;&#1077;&#1085;';
+$TEXT['RENAME_FILES_ON_UPLOAD'] = '&#1055;&#1088;&#1077;&#1080;&#1084;&#1077;&#1085;&#1091;&#1074;&#1072;&#1081; &#1092;&#1072;&#1081;&#1083;&#1086;&#1074;&#1077;&#1090;&#1077; &#1087;&#1088;&#1080; &#1082;&#1072;&#1095;&#1074;&#1072;&#1085;&#1077;';
+$TEXT['APP_NAME'] = '&#1048;&#1084;&#1077; &#1085;&#1072; &#1087;&#1088;&#1080;&#1083;&#1086;&#1078;&#1077;&#1085;&#1080;&#1077;&#1090;&#1086;';
+$TEXT['SESSION_IDENTIFIER'] = '&#1048;&#1076;&#1077;&#1085;&#1090;&#1080;&#1092;&#1080;&#1082;&#1072;&#1090;&#1086;&#1088; &#1089;&#1077;&#1089;&#1080;&#1103;';
+$TEXT['SEC_ANCHOR'] = 'Section-Anchor text';
+$TEXT['BACKUP'] = '&#1056;&#1077;&#1079;&#1077;&#1088;&#1074;&#1085;&#1086; &#1082;&#1086;&#1087;&#1080;&#1077;';
+$TEXT['RESTORE'] = '&#1042;&#1098;&#1079;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1080;';
+$TEXT['BACKUP_DATABASE'] = '&#1056;&#1077;&#1079;&#1077;&#1088;&#1074;&#1085;&#1086; &#1082;&#1086;&#1087;&#1080;&#1077; &#1085;&#1072; &#1073;&#1072;&#1079;&#1072;&#1090;&#1072; &#1076;&#1072;&#1085;&#1085;&#1080;';
+$TEXT['RESTORE_DATABASE'] = '&#1042;&#1098;&#1079;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1080; &#1073;&#1072;&#1079;&#1072;&#1090;&#1072; &#1076;&#1072;&#1085;&#1085;&#1080;';
+$TEXT['BACKUP_ALL_TABLES'] = '&#1056;&#1077;&#1079;&#1077;&#1088;&#1074;&#1085;&#1086; &#1082;&#1086;&#1087;&#1080;&#1077; &#1085;&#1072; &#1090;&#1072;&#1073;&#1083;&#1080;&#1094;&#1080;&#1090;&#1077; &#1074; &#1073;&#1072;&#1079;&#1072;&#1090;&#1072; &#1076;&#1072;&#1085;&#1085;&#1080;';
+$TEXT['BACKUP_WB_SPECIFIC'] = '&#1056;&#1077;&#1079;&#1077;&#1088;&#1074;&#1085;&#1086; &#1082;&#1086;&#1087;&#1080;&#1077; &#1089;&#1072;&#1084;&#1086; &#1085;&#1072; WB-&#1089;&#1087;&#1077;&#1094;&#1080;&#1092;&#1080;&#1095;&#1085;&#1080; &#1090;&#1072;&#1073;&#1083;&#1080;&#1094;&#1080;';
+$TEXT['BACKUP_MEDIA'] = '&#1056;&#1077;&#1079;&#1077;&#1088;&#1074;&#1085;&#1086; &#1082;&#1086;&#1087;&#1080;&#1077; - &#1084;&#1077;&#1076;&#1080;&#1103;';
+$TEXT['RESTORE_MEDIA'] = '&#1042;&#1098;&#1079;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1080; &#1084;&#1077;&#1076;&#1080;&#1103;';
+$TEXT['ADMINISTRATION_TOOL'] = '&#1048;&#1085;&#1089;&#1090;&#1088;&#1091;&#1084;&#1077;&#1085;&#1090; &#1079;&#1072; &#1072;&#1076;&#1084;&#1080;&#1085;&#1080;&#1089;&#1090;&#1088;&#1080;&#1088;&#1072;&#1085;&#1077;';
+$TEXT['CAPTCHA_VERIFICATION'] = 'Captcha &#1087;&#1088;&#1086;&#1074;&#1077;&#1088;&#1082;&#1072;';
+$TEXT['VERIFICATION'] = '&#1055;&#1088;&#1086;&#1074;&#1077;&#1088;&#1082;&#1072;';
+$TEXT['DEFAULT_CHARSET'] = '&#1050;&#1086;&#1076;&#1086;&#1074;&#1072; &#1090;&#1072;&#1073;&#1083;&#1080;&#1094;&#1072; &#1087;&#1086; &#1087;&#1086;&#1076;&#1088;&#1072;&#1079;&#1073;&#1080;&#1088;&#1072;&#1085;&#1077;';
+$TEXT['CHARSET'] = '&#1050;&#1086;&#1076;&#1086;&#1074;&#1072; &#1090;&#1072;&#1073;&#1083;&#1080;&#1094;&#1072;';
+$TEXT['MODULE_ORDER'] = 'Module-order for searching';
+$TEXT['MAX_EXCERPT'] = 'Max lines of excerpt';
+$TEXT['TIME_LIMIT'] = 'Max time to gather excerpts per module';
+$TEXT['PUBL_START_DATE'] = 'Start date';
+$TEXT['PUBL_END_DATE'] = 'End date';
+$TEXT['CALENDAR'] = 'Calender';
+$TEXT['DELETE_DATE'] = 'Delete date';
+$TEXT['WBMAILER_DEFAULT_SETTINGS_NOTICE'] = 'Please specify a default "FROM" address and "SENDER" name below. It is recommended to use a FROM address like: <strong>admin@yourdomain.com</strong>. Some mail provider (e.g. <em>mail.com</em>) may reject mails with a FROM: address like <em>name@mail.com</em> sent via a foreign relay to avoid spam.<br /><br />The default values are only used if no other values are specified by WebsiteBaker. If your server supports <acronym title="Simple mail transfer protocol">SMTP</acronym>, you may want use this option for outgoing mails.';
+$TEXT['WBMAILER_DEFAULT_SENDER_MAIL'] = 'Default From Mail';
+$TEXT['WBMAILER_DEFAULT_SENDER_NAME'] = 'Default Sender Name';
+$TEXT['WBMAILER_NOTICE'] = '<strong>SMTP Mailer Settings:</strong><br />The settings below are only required if you want to send mails via <acronym title="Simple mail transfer protocol">SMTP</acronym>. If you do not know your SMTP host or you are not sure about the required settings, simply stay with the default mail routine: PHP MAIL.';
+$TEXT['WBMAILER_FUNCTION'] = 'Mail Routine';
+$TEXT['WBMAILER_SMTP_HOST'] = 'SMTP Host';
+$TEXT['WBMAILER_PHP'] = 'PHP MAIL';
+$TEXT['WBMAILER_SMTP'] = 'SMTP';
+$TEXT['WBMAILER_SMTP_AUTH'] = 'SMTP Authentification';
+$TEXT['WBMAILER_SMTP_AUTH_NOTICE'] = 'only activate if your SMTP host requires authentification';
+$TEXT['WBMAILER_SMTP_USERNAME'] = 'SMTP Username';
+$TEXT['WBMAILER_SMTP_PASSWORD'] = 'SMTP Password';
+$TEXT['PLEASE_LOGIN'] = 'Please login';
+$TEXT['CAP_EDIT_CSS'] = 'Edit CSS';
+$TEXT['HEADING_CSS_FILE'] = 'Actual module file: ';
+$TEXT['TXT_EDIT_CSS_FILE'] = 'Edit the CSS definitions in the textarea below.';
+$TEXT['CODE_SNIPPET'] = "Code-snippet";
+$TEXT['REQUIREMENT'] = "Requirement";
+$TEXT['INSTALLED'] = "installed";
+$TEXT['NOT_INSTALLED'] = "not installed";
+$TEXT['ADDON'] = "Add-On";
+$TEXT['EXTENSION'] = "Extension";
+$TEXT['UNZIP_FILE'] = "Upload and unpack a zip archive";
+$TEXT['DELETE_ZIP'] = "Delete zip archive after unpacking";
+
+// Success/error messages
+$MESSAGE['FRONTEND']['SORRY_NO_VIEWING_PERMISSIONS'] = '&#1057;&#1098;&#1078;&#1072;&#1083;&#1103;&#1074;&#1072;&#1084;&#1077; ,&#1085;&#1086; &#1085;&#1103;&#1084;&#1072;&#1090;&#1077; &#1088;&#1072;&#1079;&#1088;&#1077;&#1096;&#1077;&#1085;&#1080;&#1077; &#1076;&#1072; &#1074;&#1080;&#1076;&#1080;&#1090;&#1077; &#1090;&#1072;&#1079;&#1080; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;';
+$MESSAGE['FRONTEND']['SORRY_NO_ACTIVE_SECTIONS'] = 'Sorry, no active content to display';
+
+$MESSAGE['ADMIN']['INSUFFICIENT_PRIVELLIGES'] = '&#1053;&#1077;&#1076;&#1086;&#1089;&#1090;&#1072;&#1090;&#1098;&#1095;&#1085;&#1080; &#1087;&#1088;&#1080;&#1074;&#1080;&#1083;&#1077;&#1075;&#1080;&#1080; &#1079;&#1072; &#1076;&#1072; &#1089;&#1090;&#1077; &#1090;&#1091;&#1082;';
+
+$MESSAGE['LOGIN']['BOTH_BLANK'] = '&#1042;&#1098;&#1074;&#1077;&#1076;&#1077;&#1090;&#1077; &#1087;&#1086;&#1090;&#1088;&#1077;&#1073;&#1080;&#1090;&#1077;&#1083;&#1089;&#1082;&#1086;&#1090;&#1086; &#1074;&#1080; &#1080;&#1084;&#1077; &#1080; &#1087;&#1072;&#1088;&#1086;&#1083;&#1072;';
+$MESSAGE['LOGIN']['USERNAME_BLANK'] = '&#1042;&#1098;&#1074;&#1077;&#1076;&#1077;&#1090;&#1077; &#1087;&#1086;&#1090;&#1088;&#1077;&#1073;&#1080;&#1090;&#1077;&#1083;&#1089;&#1082;&#1086; &#1080;&#1084;&#1077;';
+$MESSAGE['LOGIN']['PASSWORD_BLANK'] = '&#1042;&#1098;&#1074;&#1077;&#1076;&#1077;&#1090;&#1077; &#1087;&#1072;&#1088;&#1086;&#1083;&#1072;';
+$MESSAGE['LOGIN']['USERNAME_TOO_SHORT'] = '&#1042;&#1098;&#1074;&#1077;&#1076;&#1077;&#1085;&#1086;&#1090;&#1086; &#1080;&#1084;&#1077; &#1077; &#1084;&#1085;&#1086;&#1075;&#1086; &#1082;&#1098;&#1089;&#1086;';
+$MESSAGE['LOGIN']['PASSWORD_TOO_SHORT'] = '&#1042;&#1098;&#1074;&#1077;&#1076;&#1077;&#1085;&#1072;&#1090;&#1072; &#1087;&#1072;&#1088;&#1086;&#1083;&#1072; &#1077; &#1084;&#1085;&#1086;&#1075;&#1086; &#1082;&#1098;&#1089;&#1072;';
+$MESSAGE['LOGIN']['USERNAME_TOO_LONG'] = '&#1042;&#1098;&#1074;&#1077;&#1076;&#1077;&#1085;&#1086;&#1090;&#1086; &#1080;&#1084;&#1077; &#1077; &#1084;&#1085;&#1086;&#1075;&#1086; &#1076;&#1098;&#1083;&#1075;&#1086;';
+$MESSAGE['LOGIN']['PASSWORD_TOO_LONG'] = '&#1042;&#1098;&#1074;&#1077;&#1076;&#1077;&#1085;&#1072;&#1090;&#1072; &#1087;&#1072;&#1088;&#1086;&#1083;&#1072; &#1077; &#1084;&#1085;&#1086;&#1075;&#1086; &#1076;&#1098;&#1083;&#1075;&#1072;';
+$MESSAGE['LOGIN']['AUTHENTICATION_FAILED'] = '&#1053;&#1077;&#1082;&#1086;&#1088;&#1077;&#1082;&#1090;&#1072;&#1085; &#1082;&#1086;&#1084;&#1073;&#1080;&#1085;&#1072;&#1094;&#1080;&#1103; &#1087;&#1086;&#1090;&#1088;&#1077;&#1073;&#1080;&#1090;&#1077;&#1083;&#1089;&#1082;&#1086; &#1080;&#1084;&#1077; / &#1087;&#1072;&#1088;&#1086;&#1083;&#1072;';
+
+$MESSAGE['SIGNUP']['NO_EMAIL'] = '&#1058;&#1088;&#1103;&#1073;&#1074;&#1072; &#1076;&#1072; &#1074;&#1098;&#1074;&#1077;&#1076;&#1077;&#1090;&#1077; e-mail &#1072;&#1076;&#1088;&#1077;&#1089;';
+$MESSAGE['SIGNUP2']['SUBJECT_LOGIN_INFO'] = 'Your login details...';
+$MESSAGE['SIGNUP2']['BODY_LOGIN_INFO'] = <<< EOT
+Hello {LOGIN_DISPLAY_NAME},
+
+Your '{LOGIN_WEBSITE_TITLE}' login details are:
+Username: {LOGIN_NAME}
+Password: {LOGIN_PASSWORD}
+
+Your password has been set to the one above.
+This means that your old password will no longer work.
+
+If you have received this message in error, please delete it immediately.
+EOT;
+
+$MESSAGE['FORGOT_PASS']['NO_DATA'] = '&#1042;&#1098;&#1074;&#1077;&#1076;&#1077;&#1090;&#1077; email &#1072;&#1076;&#1088;&#1077;&#1089;';
+$MESSAGE['FORGOT_PASS']['EMAIL_NOT_FOUND'] = '&#1042;&#1098;&#1074;&#1077;&#1076;&#1077;&#1085;&#1080;&#1103; email &#1085;&#1077; &#1077; &#1074; &#1073;&#1072;&#1079;&#1072;&#1090;&#1072; &#1076;&#1072;&#1085;&#1085;&#1080;';
+$MESSAGE['FORGOT_PASS']['CANNOT_EMAIL'] = '&#1055;&#1088;&#1086;&#1073;&#1083;&#1077;&#1084; &#1089; &#1080;&#1079;&#1087;&#1088;&#1072;&#1097;&#1072;&#1085;&#1077;&#1090;&#1086; &#1085;&#1072; &#1087;&#1072;&#1088;&#1086;&#1083;&#1072;&#1090;&#1072; &#1087;&#1086; email - &#1082;&#1086;&#1085;&#1090;&#1072;&#1082;&#1090;&#1091;&#1074;&#1072;&#1081;&#1090;&#1077; &#1089;&#1098;&#1089; &#1089;&#1080;&#1089;&#1090;&#1077;&#1084;&#1085;&#1080;&#1103; &#1072;&#1076;&#1084;&#1080;&#1085;&#1080;&#1089;&#1090;&#1088;&#1072;&#1090;&#1086;&#1088;';
+$MESSAGE['FORGOT_PASS']['PASSWORD_RESET'] = '&#1042;&#1072;&#1096;&#1077;&#1090;&#1086; &#1087;&#1086;&#1090;&#1088;&#1077;&#1073;&#1080;&#1090;&#1077;&#1083;&#1089;&#1082;&#1086; &#1080;&#1084;&#1077; &#1080; &#1087;&#1072;&#1088;&#1086;&#1083;&#1072; &#1089;&#1072; &#1080;&#1079;&#1087;&#1088;&#1072;&#1090;&#1077;&#1085;&#1080; &#1085;&#1072; email &#1072;&#1076;&#1088;&#1077;&#1089;&#1072;';
+$MESSAGE['FORGOT_PASS']['ALREADY_RESET'] = '&#1057;&#1098;&#1078;&#1072;&#1083;&#1103;&#1074;&#1072;&#1084;&#1077;, &#1087;&#1072;&#1088;&#1086;&#1083;&#1072;&#1090;&#1072; &#1085;&#1077; &#1084;&#1086;&#1078;&#1077; &#1076;&#1072; &#1089;&#1077; &#1085;&#1091;&#1083;&#1080;&#1088;&#1072; &#1087;&#1086;-&#1095;&#1077;&#1089;&#1090;&#1086; &#1086;&#1090; &#1077;&#1076;&#1080;&#1085; &#1087;&#1098;&#1090; &#1085;&#1072; &#1095;&#1072;&#1089;';
+
+$MESSAGE['START']['WELCOME_MESSAGE'] = '&#1044;&#1086;&#1073;&#1088;&#1077; &#1076;&#1086;&#1096;&#1083;&#1080; &#1074; &#1040;&#1084;&#1080;&#1085;&#1080;&#1089;&#1090;&#1088;&#1072;&#1090;&#1080;&#1074;&#1085;&#1072;&#1090;&#1072; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072; &#1085;&#1072; WebsiteBaker';
+$MESSAGE['START']['INSTALL_DIR_EXISTS'] = '&#1042;&#1085;&#1080;&#1084;&#1072;&#1085;&#1080;&#1077;, &#1048;&#1085;&#1089;&#1090;&#1072;&#1083;&#1072;&#1094;&#1080;&#1086;&#1085;&#1085;&#1072;&#1090;&#1072; &#1076;&#1080;&#1088;&#1077;&#1082;&#1090;&#1086;&#1088;&#1080;&#1103; &#1074;&#1089;&#1077; &#1086;&#1097;&#1077; &#1089;&#1098;&#1097;&#1077;&#1089;&#1090;&#1074;&#1091;&#1074;&#1072;!';
+$MESSAGE['START']['CURRENT_USER'] = '&#1042;&#1080;&#1077; &#1074;&#1083;&#1103;&#1079;&#1086;&#1093;&#1090;&#1077; &#1082;&#1072;&#1090;&#1086;:';
+
+$MESSAGE['SETTINGS']['UNABLE_OPEN_CONFIG'] = '&#1050;&#1086;&#1085;&#1092;&#1080;&#1075;&#1091;&#1088;&#1072;&#1094;&#1080;&#1086;&#1085;&#1085;&#1080;&#1103; &#1092;&#1072;&#1081;&#1083; &#1085;&#1077; &#1084;&#1086;&#1078;&#1077; &#1076;&#1072; &#1073;&#1098;&#1076;&#1077; &#1086;&#1090;&#1074;&#1086;&#1088;&#1077;&#1085;';
+$MESSAGE['SETTINGS']['UNABLE_WRITE_CONFIG'] = '&#1053;&#1077; &#1084;&#1086;&#1078;&#1077; &#1076;&#1072; &#1089;&#1077; &#1079;&#1072;&#1087;&#1080;&#1089;&#1074;&#1072; &#1074; &#1082;&#1086;&#1085;&#1092;&#1080;&#1075;&#1091;&#1088;&#1072;&#1094;&#1080;&#1086;&#1085;&#1085;&#1080;&#1103; &#1092;&#1072;&#1081;&#1083;';
+$MESSAGE['SETTINGS']['SAVED'] = '&#1053;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080;&#1090;&#1077; &#1089;&#1072; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086; &#1079;&#1072;&#1087;&#1072;&#1079;&#1077;&#1085;&#1080;';
+$MESSAGE['SETTINGS']['MODE_SWITCH_WARNING'] = '&#1042;&#1085;&#1080;&#1084;&#1072;&#1085;&#1080;&#1077;: &#1040;&#1082;&#1086; &#1085;&#1072;&#1090;&#1080;&#1089;&#1085;&#1077;&#1090;&#1077; &#1090;&#1086;&#1079;&#1080; &#1073;&#1091;&#1090;&#1086;&#1085; &#1075;&#1091;&#1073;&#1080;&#1090;&#1077; &#1074;&#1089;&#1080;&#1095;&#1082;&#1080; &#1085;&#1077;&#1079;&#1072;&#1087;&#1080;&#1089;&#1072;&#1085;&#1080; &#1087;&#1088;&#1086;&#1084;&#1077;&#1085;&#1080;';
+$MESSAGE['SETTINGS']['WORLD_WRITEABLE_WARNING'] = '&#1042;&#1085;&#1080;&#1084;&#1072;&#1085;&#1080;&#1077;: &#1090;&#1086;&#1074;&#1072; &#1089;&#1077; &#1087;&#1088;&#1077;&#1087;&#1086;&#1088;&#1098;&#1095;&#1074;&#1072; &#1089;&#1072;&#1084;&#1086; &#1074; &#1090;&#1077;&#1089;&#1090;&#1086;&#1074;&#1086; &#1086;&#1073;&#1082;&#1088;&#1098;&#1078;&#1077;&#1085;&#1080;&#1077;';
+
+$MESSAGE['USERS']['ADDED'] = '&#1055;&#1086;&#1090;&#1088;&#1077;&#1073;&#1080;&#1090;&#1077;&#1083;&#1103; &#1077; &#1076;&#1086;&#1073;&#1072;&#1074;&#1077;&#1085; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+$MESSAGE['USERS']['SAVED'] = '&#1055;&#1086;&#1090;&#1088;&#1077;&#1073;&#1080;&#1090;&#1077;&#1083;&#1103; &#1077; &#1079;&#1072;&#1087;&#1080;&#1089;&#1072;&#1085; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+$MESSAGE['USERS']['DELETED'] = '&#1055;&#1086;&#1090;&#1088;&#1077;&#1073;&#1080;&#1090;&#1077;&#1083;&#1103; &#1077; &#1080;&#1079;&#1090;&#1088;&#1080;&#1090; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+$MESSAGE['USERS']['NO_GROUP'] = '&#1053;&#1077; &#1073;&#1077;&#1096;&#1077; &#1080;&#1079;&#1073;&#1088;&#1072;&#1085;&#1072; &#1075;&#1088;&#1091;&#1087;&#1072;';
+$MESSAGE['USERS']['USERNAME_TOO_SHORT'] = '&#1042;&#1098;&#1074;&#1077;&#1076;&#1077;&#1085;&#1086;&#1090;&#1086; &#1087;&#1086;&#1090;&#1088;&#1077;&#1073;&#1080;&#1090;&#1077;&#1083;&#1089;&#1082;&#1086; &#1080;&#1084;&#1077; &#1077; &#1090;&#1074;&#1098;&#1088;&#1076;&#1077; &#1082;&#1098;&#1089;&#1086;';
+$MESSAGE['USERS']['PASSWORD_TOO_SHORT'] = '&#1042;&#1098;&#1074;&#1077;&#1076;&#1077;&#1085;&#1072;&#1090;&#1072; &#1087;&#1072;&#1088;&#1086;&#1083;&#1072; &#1077; &#1090;&#1074;&#1098;&#1088;&#1076;&#1077; &#1082;&#1098;&#1089;&#1072;';
+$MESSAGE['USERS']['PASSWORD_MISMATCH'] = '&#1042;&#1098;&#1074;&#1077;&#1076;&#1077;&#1085;&#1080;&#1090;&#1077; &#1087;&#1072;&#1088;&#1086;&#1083;&#1080; &#1085;&#1077; &#1089;&#1098;&#1074;&#1087;&#1072;&#1076;&#1072;&#1090;';
+$MESSAGE['USERS']['INVALID_EMAIL'] = '&#1053;&#1077;&#1074;&#1072;&#1083;&#1080;&#1076;&#1077;&#1085; email &#1072;&#1076;&#1088;&#1077;&#1089;';
+$MESSAGE['USERS']['EMAIL_TAKEN'] = '&#1042;&#1098;&#1074;&#1077;&#1076;&#1077;&#1085;&#1080;&#1103; email &#1074;&#1077;&#1095;&#1077; &#1089;&#1077; &#1080;&#1079;&#1087;&#1086;&#1083;&#1079;&#1074;&#1072;';
+$MESSAGE['USERS']['USERNAME_TAKEN'] = '&#1055;&#1086;&#1090;&#1088;&#1077;&#1073;&#1080;&#1090;&#1077;&#1083;&#1089;&#1082;&#1086;&#1090;&#1086; &#1080;&#1084;&#1077;,&#1082;&#1086;&#1077;&#1090;&#1086; &#1074;&#1098;&#1074;&#1077;&#1076;&#1086;&#1093;&#1090;&#1077; &#1074;&#1077;&#1095;&#1077; &#1089;&#1077; &#1080;&#1079;&#1087;&#1086;&#1083;&#1079;&#1074;&#1072; &#1086;&#1090; &#1076;&#1088;&#1091;&#1075;';
+$MESSAGE['USERS']['CHANGING_PASSWORD'] = '&#1042;&#1085;&#1080;&#1084;&#1072;&#1085;&#1080;&#1077;: &#1042;&#1098;&#1074;&#1077;&#1076;&#1077;&#1090;&#1077; &#1076;&#1072;&#1085;&#1085;&#1080; &#1074; &#1087;&#1086;&#1083;&#1077;&#1090;&#1072;&#1090;&#1072; &#1072;&#1082;&#1086; &#1080;&#1089;&#1082;&#1072;&#1090;&#1077; &#1076;&#1072; &#1089;&#1084;&#1077;&#1085;&#1080;&#1090;&#1077; &#1087;&#1072;&#1088;&#1086;&#1083;&#1080;&#1090;&#1077; &#1085;&#1072; &#1090;&#1077;&#1079;&#1080; &#1087;&#1086;&#1090;&#1088;&#1077;&#1073;&#1080;&#1090;&#1077;&#1083;&#1080;';
+$MESSAGE['USERS']['CONFIRM_DELETE'] = '&#1048;&#1089;&#1082;&#1072;&#1090;&#1077; &#1083;&#1080; &#1076;&#1072; &#1080;&#1079;&#1090;&#1088;&#1080;&#1077;&#1090;&#1077; &#1080;&#1079;&#1073;&#1088;&#1072;&#1085;&#1080;&#1103; &#1087;&#1086;&#1090;&#1088;&#1077;&#1073;&#1080;&#1090;&#1077;&#1083;?';
+
+$MESSAGE['GROUPS']['ADDED'] = '&#1043;&#1088;&#1091;&#1087;&#1072;&#1090;&#1072; &#1077; &#1076;&#1086;&#1073;&#1072;&#1074;&#1077;&#1085;&#1072; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+$MESSAGE['GROUPS']['SAVED'] = '&#1043;&#1088;&#1091;&#1087;&#1072;&#1090;&#1072; &#1077; &#1079;&#1072;&#1087;&#1080;&#1089;&#1072;&#1085;&#1072; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+$MESSAGE['GROUPS']['DELETED'] = '&#1043;&#1088;&#1091;&#1087;&#1072;&#1090;&#1072; &#1073;&#1077; &#1080;&#1079;&#1090;&#1088;&#1080;&#1090;&#1072; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+$MESSAGE['GROUPS']['GROUP_NAME_BLANK'] = '&#1053;&#1103;&#1084;&#1072; &#1080;&#1084;&#1077; &#1085;&#1072; &#1075;&#1088;&#1091;&#1087;&#1072;&#1090;&#1072;';
+$MESSAGE['GROUPS']['CONFIRM_DELETE'] = '&#1048;&#1089;&#1082;&#1072;&#1090;&#1077; &#1083;&#1080; &#1076;&#1072; &#1080;&#1079;&#1090;&#1088;&#1080;&#1077;&#1090;&#1077; &#1080;&#1079;&#1073;&#1088;&#1072;&#1085;&#1072;&#1090;&#1072; &#1075;&#1088;&#1091;&#1087;&#1072; (&#1080; &#1074;&#1089;&#1080;&#1095;&#1082;&#1080; &#1087;&#1086;&#1090;&#1088;&#1077;&#1073;&#1080;&#1090;&#1077;&#1083;&#1080; &#1074; &#1085;&#1077;&#1103;)?';
+$MESSAGE['GROUPS']['NO_GROUPS_FOUND'] = '&#1053;&#1103;&#1084;&#1072; &#1075;&#1088;&#1091;&#1087;&#1080;';
+$MESSAGE['GROUPS']['GROUP_NAME_EXISTS'] = '&#1043;&#1088;&#1091;&#1087;&#1072; &#1089; &#1090;&#1086;&#1074;&#1072; &#1080;&#1084;&#1077; &#1074;&#1077;&#1095;&#1077; &#1089;&#1098;&#1097;&#1077;&#1089;&#1090;&#1074;&#1091;&#1074;&#1072;';
+
+$MESSAGE['PREFERENCES']['DETAILS_SAVED'] = '&#1044;&#1077;&#1090;&#1072;&#1081;&#1083;&#1080;&#1090;&#1077; &#1079;&#1072;&#1087;&#1072;&#1079;&#1077;&#1085;&#1080; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+$MESSAGE['PREFERENCES']['EMAIL_UPDATED'] = 'Email-&#1072; &#1086;&#1073;&#1085;&#1086;&#1074;&#1077;&#1085; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+$MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT'] = '&#1042;&#1098;&#1074;&#1077;&#1076;&#1077;&#1085;&#1072;&#1090;&#1072; &#1090;&#1077;&#1082;&#1091;&#1097;&#1072; &#1087;&#1072;&#1088;&#1086;&#1083;&#1072; &#1085;&#1077; &#1077; &#1082;&#1086;&#1088;&#1077;&#1082;&#1090;&#1085;&#1072;';
+$MESSAGE['PREFERENCES']['PASSWORD_CHANGED'] = '&#1055;&#1072;&#1088;&#1086;&#1083;&#1072;&#1090;&#1072; &#1089;&#1084;&#1077;&#1085;&#1077;&#1085;&#1072; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+
+$MESSAGE['TEMPLATES']['CHANGE_TEMPLATE_NOTICE'] = '&#1042;&#1085;&#1080;&#1084;&#1072;&#1085;&#1080;&#1077;: &#1079;&#1072; &#1076;&#1072; &#1089;&#1084;&#1077;&#1085;&#1080;&#1090;&#1077; &#1096;&#1072;&#1073;&#1083;&#1086;&#1085;&#1072; &#1086;&#1090;&#1080;&#1076;&#1077;&#1090;&#1077; &#1074; &#1085;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080;';
+
+$MESSAGE['MEDIA']['DIR_DOT_DOT_SLASH'] = '&#1053;&#1077; &#1084;&#1086;&#1078;&#1077; &#1076;&#1072; &#1074;&#1082;&#1083;&#1102;&#1095;&#1080;&#1090;&#1077; ../ &#1074; &#1080;&#1084;&#1077; &#1085;&#1072; &#1087;&#1072;&#1087;&#1082;&#1072;';
+$MESSAGE['MEDIA']['DIR_DOES_NOT_EXIST'] = '&#1055;&#1072;&#1087;&#1082;&#1072;&#1090;&#1072; &#1085;&#1077; &#1089;&#1098;&#1097;&#1077;&#1089;&#1090;&#1074;&#1091;&#1074;&#1072;';
+$MESSAGE['MEDIA']['TARGET_DOT_DOT_SLASH'] = '&#1053;&#1077; &#1084;&#1086;&#1078;&#1077; &#1076;&#1072; &#1074;&#1082;&#1083;&#1102;&#1095;&#1080;&#1090;&#1077; ../ &#1082;&#1072;&#1090;&#1086; &#1094;&#1077;&#1083; &#1085;&#1072; &#1087;&#1072;&#1087;&#1082;&#1072;';
+$MESSAGE['MEDIA']['NAME_DOT_DOT_SLASH'] = '&#1053;&#1077; &#1084;&#1086;&#1078;&#1077; &#1076;&#1072; &#1074;&#1082;&#1083;&#1102;&#1095;&#1080;&#1090;&#1077; ../ &#1074; &#1080;&#1084;&#1077;&#1090;&#1086;';
+$MESSAGE['MEDIA']['NAME_INDEX_PHP'] = '&#1053;&#1077; &#1084;&#1086;&#1078;&#1077; &#1076;&#1072; &#1080;&#1079;&#1087;&#1086;&#1083;&#1079;&#1074;&#1072;&#1090;&#1077; index.php &#1082;&#1072;&#1090;&#1086; &#1080;&#1084;&#1077;';
+$MESSAGE['MEDIA']['NONE_FOUND'] = '&#1053;&#1103;&#1084;&#1072; &#1084;&#1077;&#1076;&#1080;&#1103; &#1074; &#1090;&#1077;&#1082;&#1091;&#1097;&#1072;&#1090;&#1072; &#1087;&#1072;&#1087;&#1082;&#1072;';
+$MESSAGE['MEDIA']['FILE_NOT_FOUND'] = '&#1053;&#1103;&#1084;&#1072; &#1090;&#1072;&#1082;&#1098;&#1074; &#1092;&#1072;&#1081;&#1083;';
+$MESSAGE['MEDIA']['DELETED_FILE'] = '&#1060;&#1072;&#1081;&#1083;&#1072; &#1080;&#1079;&#1090;&#1088;&#1080;&#1090; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+$MESSAGE['MEDIA']['DELETED_DIR'] = '&#1055;&#1072;&#1087;&#1082;&#1072;&#1090;&#1072; &#1080;&#1079;&#1090;&#1088;&#1080;&#1090;&#1072; &#1091;&#1089;&#1087;&#1103;&#1096;&#1085;&#1086;';
+$MESSAGE['MEDIA']['CONFIRM_DELETE'] = '&#1057;&#1098;&#1075;&#1091;&#1088;&#1085;&#1080; &#1083;&#1080; &#1089;&#1090;&#1077; &#1095;&#1077; &#1080;&#1089;&#1082;&#1072;&#1090;&#1077; &#1076;&#1072; &#1080;&#1079;&#1090;&#1088;&#1080;&#1077;&#1090;&#1077;?';
+$MESSAGE['MEDIA']['CANNOT_DELETE_FILE'] = '&#1048;&#1079;&#1073;&#1088;&#1072;&#1085;&#1080;&#1103; &#1092;&#1072;&#1081;&#1083; &#1085;&#1077; &#1084;&#1086;&#1078;&#1077; &#1076;&#1072; &#1073;&#1098;&#1076;&#1077; &#1080;&#1079;&#1090;&#1088;&#1080;&#1090;';
+$MESSAGE['MEDIA']['CANNOT_DELETE_DIR'] = '&#1048;&#1079;&#1073;&#1088;&#1072;&#1085;&#1072;&#1090;&#1072; &#1087;&#1072;&#1087;&#1082;&#1072; &#1085;&#1077; &#1084;&#1086;&#1078;&#1077; &#1076;&#1072; &#1073;&#1098;&#1076;&#1077; &#1080;&#1079;&#1090;&#1088;&#1080;&#1090;&#1072;';
+$MESSAGE['MEDIA']['BLANK_NAME'] = '&#1053;&#1077; &#1074;&#1098;&#1074;&#1077;&#1076;&#1086;&#1093;&#1090;&#1077; &#1085;&#1086;&#1074;&#1086; &#1080;&#1084;&#1077;';
+$MESSAGE['MEDIA']['BLANK_EXTENSION'] = '&#1053;&#1077; &#1074;&#1098;&#1074;&#1077;&#1076;&#1086;&#1093;&#1090;&#1077; &#1088;&#1072;&#1079;&#1096;&#1080;&#1088;&#1077;&#1085;&#1080;&#1077;';
+$MESSAGE['MEDIA']['RENAMED'] = '&#1055;&#1088;&#1077;&#1080;&#1084;&#1077;&#1085;&#1091;&#1074;&#1072;&#1085;&#1077;&#1090;&#1086; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+$MESSAGE['MEDIA']['CANNOT_RENAME'] = '&#1055;&#1088;&#1077;&#1080;&#1084;&#1077;&#1085;&#1091;&#1074;&#1072;&#1085;&#1077;&#1090;&#1086; &#1085;&#1077;&#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+$MESSAGE['MEDIA']['FILE_EXISTS'] = '&#1042;&#1077;&#1095;&#1077; &#1080;&#1084;&#1072; &#1092;&#1072;&#1081;&#1083; &#1089; &#1090;&#1072;&#1082;&#1086;&#1074;&#1072; &#1080;&#1084;&#1077;';
+$MESSAGE['MEDIA']['DIR_EXISTS'] = '&#1042;&#1077;&#1095;&#1077; &#1080;&#1084;&#1072; &#1087;&#1072;&#1087;&#1082;&#1072; &#1089; &#1090;&#1072;&#1082;&#1086;&#1074;&#1072; &#1080;&#1084;&#1077;';
+$MESSAGE['MEDIA']['DIR_MADE'] = '&#1055;&#1072;&#1087;&#1082;&#1072;&#1090;&#1072; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086; &#1089;&#1098;&#1079;&#1076;&#1072;&#1076;&#1077;&#1085;&#1072;';
+$MESSAGE['MEDIA']['DIR_NOT_MADE'] = '&#1055;&#1072;&#1087;&#1082;&#1072;&#1090;&#1077; &#1085;&#1077; &#1084;&#1086;&#1078;&#1077; &#1076;&#1072; &#1073;&#1098;&#1076;&#1077; &#1089;&#1098;&#1079;&#1076;&#1072;&#1076;&#1077;&#1085;&#1072;';
+$MESSAGE['MEDIA']['SINGLE_UPLOADED'] = ' &#1092;&#1072;&#1081;&#1083;&#1072; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086; &#1082;&#1072;&#1095;&#1077;&#1085;';
+$MESSAGE['MEDIA']['UPLOADED'] = ' &#1092;&#1072;&#1081;&#1083;&#1086;&#1074;&#1077;&#1090;&#1077; &#1073;&#1103;&#1093;&#1072; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086; &#1082;&#1072;&#1095;&#1077;&#1085;&#1080;';
+
+$MESSAGE['PAGES']['ADDED'] = '&#1057;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;&#1090;&#1072; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086; &#1076;&#1086;&#1073;&#1072;&#1074;&#1077;&#1085;&#1072;';
+$MESSAGE['PAGES']['ADDED_HEADING'] = 'Page heading &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086; &#1076;&#1086;&#1073;&#1072;&#1074;&#1077;&#1085;';
+$MESSAGE['PAGES']['PAGE_EXISTS'] = '&#1057;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072; &#1089; &#1090;&#1072;&#1082;&#1086;&#1074;&#1072; &#1080;&#1084;&#1077; &#1074;&#1077;&#1095;&#1077; &#1089;&#1098;&#1097;&#1077;&#1089;&#1090;&#1074;&#1091;&#1074;&#1072;';
+$MESSAGE['PAGES']['CANNOT_CREATE_ACCESS_FILE'] = '&#1043;&#1088;&#1077;&#1096;&#1082;&#1072; &#1087;&#1088;&#1080; &#1089;&#1098;&#1079;&#1076;&#1072;&#1074;&#1072;&#1085;&#1077; &#1085;&#1072; access &#1092;&#1072;&#1081;&#1083; &#1077; &#1087;&#1072;&#1087;&#1082;&#1072; /pages (&#1085;&#1077;&#1076;&#1086;&#1089;&#1090;&#1072;&#1090;&#1098;&#1095;&#1085;&#1080; &#1087;&#1088;&#1080;&#1074;&#1080;&#1083;&#1077;&#1075;&#1080;&#1080;)';
+$MESSAGE['PAGES']['CANNOT_DELETE_ACCESS_FILE'] = '&#1043;&#1088;&#1077;&#1096;&#1082;&#1072; &#1087;&#1088;&#1080; &#1080;&#1079;&#1090;&#1088;&#1080;&#1074;&#1072;&#1085;&#1077; &#1085;&#1072; access &#1092;&#1072;&#1081;&#1083; &#1077; &#1087;&#1072;&#1087;&#1082;&#1072; /pages (&#1085;&#1077;&#1076;&#1086;&#1089;&#1090;&#1072;&#1090;&#1098;&#1095;&#1085;&#1080; &#1087;&#1088;&#1080;&#1074;&#1080;&#1083;&#1077;&#1075;&#1080;&#1080;)';
+$MESSAGE['PAGES']['NOT_FOUND'] = '&#1057;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;&#1090;&#1072; &#1085;&#1077; &#1077; &#1085;&#1072;&#1084;&#1077;&#1088;&#1077;&#1085;&#1072;';
+$MESSAGE['PAGES']['SAVED'] = '&#1057;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;&#1090;&#1072; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086; &#1079;&#1072;&#1087;&#1072;&#1079;&#1077;&#1085;&#1072;';
+$MESSAGE['PAGES']['SAVED_SETTINGS'] = '&#1053;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080;&#1090;&#1077; &#1085;&#1072; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;&#1090;&#1072; &#1079;&#1072;&#1087;&#1072;&#1079;&#1077;&#1085;&#1080; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+$MESSAGE['PAGES']['NOT_SAVED'] = '&#1043;&#1088;&#1077;&#1096;&#1082;&#1072; &#1087;&#1088;&#1080; &#1079;&#1072;&#1087;&#1072;&#1079;&#1074;&#1072;&#1085;&#1077; &#1085;&#1072; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;&#1090;&#1072;';
+$MESSAGE['PAGES']['DELETE_CONFIRM'] = '&#1057;&#1080;&#1075;&#1091;&#1088;&#1085;&#1080; &#1083;&#1080; &#1089;&#1090;&#1077; &#1095;&#1077; &#1080;&#1089;&#1082;&#1072;&#1090;&#1077; &#1076;&#1072; &#1080;&#1079;&#1090;&#1088;&#1080;&#1077;&#1090;&#1077; &#1080;&#1079;&#1073;&#1088;&#1072;&#1085;&#1072;&#1090;&#1072; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072; (&#1080; &#1074;&#1089;&#1080;&#1095;&#1082;&#1080; &#1087;&#1086;&#1076;&#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1080;)';
+$MESSAGE['PAGES']['DELETED'] = '&#1057;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;&#1090;&#1072; &#1080;&#1079;&#1090;&#1088;&#1080;&#1090;&#1072; &#1091;&#1089;&#1087;&#1103;&#1096;&#1085;&#1086;';
+$MESSAGE['PAGES']['RESTORED'] = '&#1057;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;&#1090;&#1072; &#1074;&#1098;&#1079;&#1089;&#1090;&#1072;&#1085;&#1086;&#1074;&#1077;&#1085; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+$MESSAGE['PAGES']['BLANK_PAGE_TITLE'] = '&#1042;&#1098;&#1074;&#1077;&#1076;&#1077;&#1090;&#1077; &#1080;&#1084;&#1077; &#1085;&#1072; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;&#1090;&#1072;';
+$MESSAGE['PAGES']['BLANK_MENU_TITLE'] = '&#1042;&#1098;&#1074;&#1077;&#1076;&#1077;&#1090;&#1077; &#1080;&#1084;&#1077; &#1085;&#1072; &#1084;&#1077;&#1085;&#1102;&#1090;&#1086;';
+$MESSAGE['PAGES']['REORDERED'] = '&#1057;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;&#1090;&#1072; &#1077; &#1087;&#1088;&#1077;&#1087;&#1086;&#1076;&#1088;&#1077;&#1076;&#1077;&#1085;&#1072; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+$MESSAGE['PAGES']['CANNOT_REORDER'] = '&#1043;&#1088;&#1077;&#1096;&#1082;&#1072; &#1087;&#1088;&#1080; &#1087;&#1088;&#1077;&#1087;&#1086;&#1076;&#1088;&#1077;&#1078;&#1076;&#1072;&#1085;&#1077;&#1090;&#1086; &#1085;&#1072; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;&#1090;&#1072;';
+$MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS'] = '&#1053;&#1103;&#1084;&#1072;&#1090;&#1077; &#1087;&#1088;&#1080;&#1074;&#1080;&#1083;&#1077;&#1075;&#1080;&#1080; &#1079;&#1072; &#1084;&#1086;&#1076;&#1080;&#1092;&#1080;&#1094;&#1080;&#1088;&#1072;&#1085;&#1077; &#1085;&#1072; &#1090;&#1072;&#1079;&#1080; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;';
+$MESSAGE['PAGES']['INTRO_NOT_WRITABLE'] = '&#1053;&#1077; &#1084;&#1086;&#1078;&#1077; &#1076;&#1072; &#1089;&#1077; &#1079;&#1072;&#1087;&#1080;&#1089;&#1074;&#1072; &#1074; &#1092;&#1072;&#1081;&#1083;&#1072; /pages/intro.php (&#1085;&#1077;&#1076;&#1086;&#1089;&#1090;&#1072;&#1090;&#1098;&#1095;&#1085;&#1080; &#1087;&#1088;&#1080;&#1074;&#1080;&#1083;&#1077;&#1075;&#1080;&#1080;)';
+$MESSAGE['PAGES']['INTRO_SAVED'] = '&#1042;&#1098;&#1074;&#1077;&#1078;&#1076;&#1072;&#1097;&#1072;&#1090;&#1072; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072; &#1079;&#1072;&#1087;&#1072;&#1079;&#1077;&#1085; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+$MESSAGE['PAGES']['LAST_MODIFIED'] = '&#1055;&#1086;&#1089;&#1083;&#1077;&#1076;&#1085;&#1086; &#1084;&#1086;&#1076;&#1080;&#1092;&#1080;&#1094;&#1080;&#1088;&#1072;&#1085;&#1072; &#1086;&#1090;';
+$MESSAGE['PAGES']['INTRO_LINK'] = '&#1053;&#1072;&#1090;&#1080;&#1089;&#1085;&#1077;&#1090;&#1077; &#1090;&#1091;&#1082; &#1079;&#1072; &#1076;&#1072; &#1084;&#1086;&#1076;&#1080;&#1092;&#1080;&#1094;&#1080;&#1088;&#1072;&#1090;&#1077; &#1042;&#1098;&#1074;&#1077;&#1078;&#1076;&#1072;&#1097;&#1072;&#1090;&#1072; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1072;';
+$MESSAGE['PAGES']['SECTIONS_PROPERTIES_SAVED'] = '&#1053;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080;&#1090;&#1077; &#1085;&#1072; &#1089;&#1077;&#1082;&#1094;&#1080;&#1103;&#1090;&#1072; &#1079;&#1072;&#1087;&#1072;&#1079;&#1077;&#1085;&#1080; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+$MESSAGE['PAGES']['RETURN_TO_PAGES'] = '&#1042;&#1098;&#1088;&#1085;&#1080; &#1089;&#1077; &#1082;&#1098;&#1084; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1080;';
+
+$MESSAGE['GENERIC']['FILL_IN_ALL'] = '&#1042;&#1098;&#1088;&#1085;&#1077;&#1090;&#1077; &#1089;&#1077; &#1080; &#1087;&#1086;&#1095;&#1080;&#1083;&#1085;&#1077;&#1090;&#1077; &#1074;&#1089;&#1080;&#1095;&#1082;&#1080; &#1087;&#1086;&#1083;&#1077;&#1090;&#1072;';
+$MESSAGE['GENERIC']['FILE_TYPE'] = '&#1060;&#1072;&#1081;&#1083;&#1072;, &#1082;&#1086;&#1081;&#1090;&#1086; &#1082;&#1072;&#1095;&#1074;&#1072;&#1090;&#1077; &#1090;&#1088;&#1103;&#1073;&#1074;&#1072; &#1076;&#1072; &#1073;&#1098;&#1076;&#1077; &#1074; &#1089;&#1083;&#1077;&#1076;&#1085;&#1080;&#1103; &#1092;&#1086;&#1088;&#1084;&#1072;&#1090;:';
+$MESSAGE['GENERIC']['FILE_TYPES'] = '&#1060;&#1072;&#1081;&#1083;&#1072;, &#1082;&#1086;&#1081;&#1090;&#1086; &#1082;&#1072;&#1095;&#1074;&#1072;&#1090;&#1077; &#1090;&#1088;&#1103;&#1073;&#1074;&#1072; &#1076;&#1072; &#1073;&#1098;&#1076;&#1077; &#1074; &#1089;&#1083;&#1077;&#1076;&#1085;&#1080;&#1090;&#1077; &#1092;&#1086;&#1088;&#1084;&#1072;&#1090;&#1080;:';
+$MESSAGE['GENERIC']['CANNOT_UPLOAD'] = '&#1060;&#1072;&#1081;&#1083;&#1072; &#1085;&#1077; &#1073;&#1077;&#1096;&#1077; &#1082;&#1072;&#1095;&#1077;&#1085;';
+$MESSAGE['GENERIC']['ALREADY_INSTALLED'] = '&#1042;&#1077;&#1095;&#1077; &#1077; &#1080;&#1085;&#1089;&#1090;&#1072;&#1083;&#1080;&#1088;&#1072;&#1085;';
+$MESSAGE['GENERIC']['NOT_INSTALLED'] = '&#1053;&#1077; &#1077; &#1080;&#1085;&#1089;&#1090;&#1072;&#1083;&#1080;&#1088;&#1072;&#1085;';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL'] = '&#1053;&#1077; &#1084;&#1086;&#1078;&#1077; &#1076;&#1072; &#1089;&#1077; &#1076;&#1077;&#1080;&#1085;&#1089;&#1090;&#1072;&#1083;&#1080;&#1088;&#1072;';
+$MESSAGE['GENERIC']['CANNOT_UNZIP'] = 'unzip &#1085;&#1072; &#1092;&#1072;&#1081;&#1083;&#1072; &#1085;&#1077;&#1074;&#1098;&#1079;&#1084;&#1086;&#1078;&#1077;&#1085;';
+$MESSAGE['GENERIC']['INSTALLED'] = '&#1048;&#1085;&#1089;&#1090;&#1072;&#1083;&#1080;&#1088;&#1072;&#1085; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+$MESSAGE['GENERIC']['UPGRADED'] = '&#1054;&#1073;&#1085;&#1086;&#1074;&#1077;&#1085; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+$MESSAGE['GENERIC']['UNINSTALLED'] = '&#1044;&#1077;&#1080;&#1085;&#1089;&#1090;&#1072;&#1083;&#1080;&#1088;&#1072;&#1085; &#1091;&#1089;&#1087;&#1077;&#1096;&#1085;&#1086;';
+$MESSAGE['GENERIC']['BAD_PERMISSIONS'] = '&#1053;&#1077; &#1084;&#1086;&#1078;&#1077; &#1076;&#1072; &#1089;&#1077; &#1079;&#1072;&#1087;&#1080;&#1089;&#1074;&#1072; &#1074; &#1094;&#1077;&#1083;&#1077;&#1074;&#1072;&#1090;&#1072; &#1076;&#1080;&#1088;&#1077;&#1082;&#1090;&#1086;&#1088;&#1080;&#1103;';
+$MESSAGE['GENERIC']['INVALID'] = '&#1053;&#1077;&#1074;&#1072;&#1083;&#1080;&#1076;&#1077;&#1085; &#1092;&#1072;&#1081;&#1083;';
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE'] = '&#1053;&#1077; &#1084;&#1086;&#1078;&#1077; &#1076;&#1072; &#1089;&#1077; &#1076;&#1077;&#1080;&#1085;&#1089;&#1090;&#1072;&#1083;&#1080;&#1088;&#1072;: &#1080;&#1079;&#1087;&#1088;&#1072;&#1085;&#1080;&#1103; &#1092;&#1072;&#1081;&#1083; &#1089;&#1077; &#1080;&#1079;&#1087;&#1086;&#1083;&#1079;&#1074;&#1072; &#1074; &#1084;&#1086;&#1084;&#1077;&#1085;&#1090;&#1072;';
+
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL'] = "<br /><br />{{type}} <b>{{type_name}}</b> could not be uninstalled, because it is still in use on {{pages}}.<br /><br />";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IN_USE_TMPL_PAGES'] = "this page;these pages";
+$MESSAGE['GENERIC']['CANNOT_UNINSTALL_IS_DEFAULT_TEMPLATE'] = "Can't uninstall the template <b>{{name}}</b>, because it is the default template!";
+
+$MESSAGE['GENERIC']['WEBSITE_UNDER_CONSTRUCTION'] = '&#1057;&#1072;&#1081;&#1090;&#1072; &#1077; &#1074; &#1087;&#1088;&#1086;&#1094;&#1077;&#1089; &#1085;&#1072; &#1089;&#1098;&#1079;&#1076;&#1072;&#1074;&#1072;&#1085;&#1077;';
+$MESSAGE['GENERIC']['PLEASE_CHECK_BACK_SOON'] = '&#1055;&#1088;&#1086;&#1074;&#1077;&#1088;&#1077;&#1090;&#1077; &#1087;&#1072;&#1082;...';
+$MESSAGE['GENERIC']['PLEASE_BE_PATIENT'] = '&#1041;&#1098;&#1076;&#1077;&#1090;&#1077; &#1090;&#1098;&#1088;&#1087;&#1077;&#1083;&#1080;&#1074;&#1080;, &#1084;&#1086;&#1078;&#1077; &#1076;&#1072; &#1086;&#1090;&#1085;&#1077;&#1084;&#1077; &#1074;&#1088;&#1077;&#1084;&#1077;.';
+$MESSAGE['GENERIC']['ERROR_OPENING_FILE'] = '&#1043;&#1088;&#1077;&#1096;&#1082;&#1072; &#1087;&#1088;&#1080; &#1086;&#1090;&#1074;&#1072;&#1088;&#1103;&#1085;&#1077; &#1085;&#1072; &#1092;&#1072;&#1081;&#1083;.';
+$MESSAGE['GENERIC']['INVALID_ADDON_FILE'] = 'Invalid WebsiteBaker installation file. Please check the *.zip format.';
+$MESSAGE['GENERIC']['INVALID_LANGUAGE_FILE'] = 'Invalid WebsiteBaker language file. Please check the text file.';
+
+$MESSAGE['MOD_FORM']['REQUIRED_FIELDS'] = '&#1058;&#1088;&#1103;&#1073;&#1074;&#1072; &#1076;&#1072; &#1087;&#1086;&#1087;&#1098;&#1083;&#1085;&#1080;&#1090;&#1077; &#1089;&#1083;&#1077;&#1076;&#1085;&#1080;&#1090;&#1077; &#1087;&#1086;&#1083;&#1077;&#1090;&#1072;';
+$MESSAGE['MOD_FORM']['EXCESS_SUBMISSIONS'] = '&#1057;&#1098;&#1078;&#1072;&#1083;&#1103;&#1074;&#1072;&#1084;&#1077;, &#1090;&#1086;&#1079;&#1080; &#1092;&#1086;&#1088;&#1091;&#1083;&#1103;&#1088; &#1077; &#1087;&#1086;&#1076;&#1072;&#1076;&#1077;&#1085; &#1087;&#1086;&#1074;&#1077;&#1095;&#1077; &#1087;&#1098;&#1090;&#1080; &#1086;&#1090; &#1087;&#1086;&#1079;&#1074;&#1086;&#1083;&#1077;&#1085;&#1086;&#1090;&#1086; &#1087;&#1088;&#1077;&#1079; &#1090;&#1086;&#1079;&#1080; &#1095;&#1072;&#1089;. &#1054;&#1087;&#1080;&#1090;&#1072;&#1081;&#1090;&#1077; &#1086;&#1090;&#1085;&#1086;&#1074;&#1077; &#1087;&#1086; &#1074;&#1088;&#1077;&#1084;&#1077; &#1085;&#1072; &#1089;&#1083;&#1077;&#1076;&#1074;&#1072;&#1097;&#1080; &#1095;&#1072;&#1089;.';
+$MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA'] = '&#1050;&#1086;&#1085;&#1090;&#1088;&#1086;&#1083;&#1085;&#1080;&#1103; &#1085;&#1086;&#1084;&#1077;&#1088; (&#1087;&#1086;&#1079;&#1072;&#1085;&#1090; &#1082;&#1072;&#1090;&#1086; Captcha) &#1077; &#1075;&#1088;&#1077;&#1096;&#1077;&#1085;. &#1040;&#1082;&#1086; &#1080;&#1084;&#1072;&#1090;&#1077; &#1087;&#1088;&#1086;&#1073;&#1083;&#1077;&#1084; &#1089; &#1095;&#1077;&#1090;&#1077;&#1085;&#1077;&#1090;&#1086; &#1085;&#1072; Captcha, &#1080;&#1079;&#1087;&#1088;&#1072;&#1090;&#1077;&#1090;&#1077; e-mail &#1085;&#1072;: '.SERVER_EMAIL.'';
+
+$MESSAGE['ADDON']['RELOAD'] = 'Update database with information from Add-on files (e.g. after FTP upload).';
+$MESSAGE['ADDON']['ERROR_RELOAD'] = 'Error while updating the Add-On information.';
+$MESSAGE['ADDON']['MODULES_RELOADED'] = 'Modules reloaded successfully';
+$MESSAGE['ADDON']['TEMPLATES_RELOADED'] = 'Templates reloaded successfully';
+$MESSAGE['ADDON']['LANGUAGES_RELOADED'] = 'Languages reloaded successfully';
+$MESSAGE['ADDON']['PRECHECK_FAILED'] = 'Add-on installation failed. Your system does not fulfill the requirements of this Add-on. To make this Add-on working on your system, please fix the issues summarized below.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION'] = 'When modules are uploaded via FTP (not recommended), the module installation files <tt>install.php</tt>, <tt>upgrade.php</tt> or <tt>uninstall.php</tt> will not be executed automatically. Those modules may not work correct or do not uninstall properly.<br /><br />You can execute the module files manually for modules uploaded via FTP below.';
+$MESSAGE['ADDON']['MANUAL_INSTALLATION_WARNING'] = 'Warning: Existing module database entries will get lost. Only use this option if you experience problems with modules uploaded via FTP.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/languages/BG.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/wrapper/info.php
===================================================================
--- tags/2.8.2/wb/modules/wrapper/info.php	(nonexistent)
+++ tags/2.8.2/wb/modules/wrapper/info.php	(revision 1481)
@@ -0,0 +1,35 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+$module_directory = 'wrapper';
+$module_name = 'Wrapper';
+$module_function = 'page';
+$module_version = '2.7';
+$module_platform = '2.7 | 2.8.x';
+$module_author = 'Ryan Djurovich';
+$module_license = 'GNU General Public License';
+$module_description = 'This module allows you to wrap your site around another using an inline frame';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/wrapper/info.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/wrapper/install.php
===================================================================
--- tags/2.8.2/wb/modules/wrapper/install.php	(nonexistent)
+++ tags/2.8.2/wb/modules/wrapper/install.php	(revision 1481)
@@ -0,0 +1,33 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         wrapper
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version      	$Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+if(defined('WB_URL')) {
+	
+	// Create table
+	// $database->query("DROP TABLE IF EXISTS `".TABLE_PREFIX."mod_wrapper`");
+	$mod_wrapper = 'CREATE TABLE IF NOT EXISTS `'.TABLE_PREFIX.'mod_wrapper` ('
+		. ' `section_id` INT NOT NULL DEFAULT \'0\','
+		. ' `page_id` INT NOT NULL DEFAULT \'0\','
+		. ' `url` TEXT NOT NULL,'
+		. ' `height` INT NOT NULL DEFAULT \'0\','
+		. ' PRIMARY KEY ( `section_id` ) '
+		. ' )';
+	$database->query($mod_wrapper);
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/wrapper/install.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/wrapper/languages/DA.php
===================================================================
--- tags/2.8.2/wb/modules/wrapper/languages/DA.php	(nonexistent)
+++ tags/2.8.2/wb/modules/wrapper/languages/DA.php	(revision 1481)
@@ -0,0 +1,35 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  DANISH LANGUAGE FILE FOR THE ADDON: WRAPPER
+ -----------------------------------------------------------------------------------------
+*/
+
+// Dansk modulbeskrivelse
+$module_description = 'Med dette modul kan du indpakke indhold fra fremmede websider p&Atilde;&yen; dit websted ved hj&Atilde;&brvbar;lp af Inline Frames (iframe)';
+
+// Headings and text outputs
+$MOD_WRAPPER['NOTICE'] = 'Din browser underst&Atilde;¸tter ikke inline frames.<br />Klik p&Atilde;&yen; linket nedenfor for at bes&Atilde;¸ge det websted, som det var hensigten at vise her...<br />';
+
+?>

Property changes on: tags/2.8.2/wb/modules/wrapper/languages/DA.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/wrapper/languages/NO.php
===================================================================
--- tags/2.8.2/wb/modules/wrapper/languages/NO.php	(nonexistent)
+++ tags/2.8.2/wb/modules/wrapper/languages/NO.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+-----------------------------------------------------------------------------------------
+NORSK LANGUAGE FILE FOR THE ADDON: WRAPPER
+-----------------------------------------------------------------------------------------
+*/
+
+// Headings and text outputs
+$MOD_WRAPPER['NOTICE'] =	'Nettleseren din st&oslash;tter ikke &quot;inline frames&quot;.<br />Klikk p&amp;aring; lenken under for &amp;aring; g&amp;aring; til nettsiden som var men &amp;aring; skulle vises i dette vinduet...<br />';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/wrapper/languages/NO.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/wrapper/languages/FR.php
===================================================================
--- tags/2.8.2/wb/modules/wrapper/languages/FR.php	(nonexistent)
+++ tags/2.8.2/wb/modules/wrapper/languages/FR.php	(revision 1481)
@@ -0,0 +1,34 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  FRENCH LANGUAGE FILE FOR THE ADDON: WRAPPER
+ -----------------------------------------------------------------------------------------
+*/
+//Module Description
+$module_description = 'Ce module permet l&apos;int&eacute;gration de contenus externes sur votre page &agrave; l&apos;aide de cadres enlign&eacute; (iframe)';
+
+// Ueberschriften und Textausgaben
+$MOD_WRAPPER['NOTICE'] = 'Votre navigateur ne supporte pas les cadres enlign&eacute;<br />Cliquez sur le lien ci-dessous pour vous rendre au site qui &eacute;tais sens&eacute; être affich&eacute; ici...<br />';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/wrapper/languages/FR.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/wrapper/languages/NL.php
===================================================================
--- tags/2.8.2/wb/modules/wrapper/languages/NL.php	(nonexistent)
+++ tags/2.8.2/wb/modules/wrapper/languages/NL.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  DUTCH LANGUAGE FILE FOR THE ADDON: WRAPPER
+ -----------------------------------------------------------------------------------------
+*/
+
+// Headings and text outputs
+$MOD_WRAPPER['NOTICE'] 		=	'Uw browser laat geen ondersteuning toe voor inline frames.<br />Klik op de link hieronder om de site te tonen die je eigenlijk wilde zien...<br />';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/wrapper/languages/NL.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/wrapper/languages/EN.php
===================================================================
--- tags/2.8.2/wb/modules/wrapper/languages/EN.php	(nonexistent)
+++ tags/2.8.2/wb/modules/wrapper/languages/EN.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  ENGLISH LANGUAGE FILE FOR THE ADDON: WRAPPER
+ -----------------------------------------------------------------------------------------
+*/
+
+// Headings and text outputs
+$MOD_WRAPPER['NOTICE'] 		=	'Your browser does not support inline frames.<br />Click on the link below to visit the website that was meant to be shown here...<br />';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/wrapper/languages/EN.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/wrapper/languages/RU.php
===================================================================
--- tags/2.8.2/wb/modules/wrapper/languages/RU.php	(nonexistent)
+++ tags/2.8.2/wb/modules/wrapper/languages/RU.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project http://www.websitebaker.org/
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  RUSSIAN LANGUAGE FILE FOR THE ADDON: WRAPPER
+ -----------------------------------------------------------------------------------------
+*/
+
+// Headings and text outputs
+$MOD_WRAPPER['NOTICE'] 		=	'&#1042;&#1072;&#1096; browser &#1085;&#1077; &#1087;&#1086;&#1076;&#1076;&#1077;&#1088;&#1078;&#1080;&#1074;&#1072;&#1077;&#1090; inline-&#1092;&#1088;&#1077;&#1081;&#1084;&#1099;.<br />&#1053;&#1072;&#1078;&#1084;&#1080;&#1090;&#1077; &#1085;&#1072; &#1089;&#1089;&#1099;&#1083;&#1082;&#1091; &#1085;&#1080;&#1078;&#1077;, &#1095;&#1090;&#1086;&#1073;&#1099; &#1087;&#1077;&#1088;&#1077;&#1081;&#1090;&#1080; &#1082; &#1080;&#1084;&#1087;&#1086;&#1088;&#1090;&#1080;&#1088;&#1086;&#1074;&#1072;&#1085;&#1085;&#1086;&#1084;&#1091; &#1089;&#1102;&#1076;&#1072; &#1089;&#1072;&#1081;&#1090;&#1091;...<br />';
+
+?>

Property changes on: tags/2.8.2/wb/modules/wrapper/languages/RU.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/wrapper/languages/index.php
===================================================================
--- tags/2.8.2/wb/modules/wrapper/languages/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/wrapper/languages/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/wrapper/languages/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/wrapper/languages/DE.php
===================================================================
--- tags/2.8.2/wb/modules/wrapper/languages/DE.php	(nonexistent)
+++ tags/2.8.2/wb/modules/wrapper/languages/DE.php	(revision 1481)
@@ -0,0 +1,35 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  DEUTSCHE SPRACHDATEI FUER DAS MODUL: WRAPPER
+ -----------------------------------------------------------------------------------------
+*/
+
+// Deutsche Modulbeschreibung
+$module_description = 'Dieses Modul erlaubt das Einbinden fremder Inhalte auf Ihrer Seite mit Hilfe von Inline Frames (iframe)';
+
+// Ueberschriften und Textausgaben
+$MOD_WRAPPER['NOTICE'] = 'Ihr Browser unterst&uuml;tzt keine Inline Frames.<br />Bitte klicken Sie auf nachfolgenden Link, um den Seiteninhalt der externen Seite zu betrachten ...<br />';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/wrapper/languages/DE.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/wrapper/modify.htt
===================================================================
--- tags/2.8.2/wb/modules/wrapper/modify.htt	(nonexistent)
+++ tags/2.8.2/wb/modules/wrapper/modify.htt	(revision 1481)
@@ -0,0 +1,41 @@
+<!-- BEGIN main_block -->
+
+<form action="{WB_URL}/modules/wrapper/save.php" method="post">
+
+<input type="hidden" name="page_id" value="{PAGE_ID}" />
+<input type="hidden" name="section_id" value="{SECTION_ID}" />
+
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr>
+	<td align="left" width="50">
+		{TEXT_URL}:
+	</td>
+	<td>
+		<input type="text" name="url" value="{URL}" style="width: 100%;" />
+	</td>
+</tr>
+<tr>
+	<td align="left" width="50">
+		{TEXT_HEIGHT}:
+	</td>
+	<td>
+		<input type="text" name="height" value="{HEIGHT}" maxlength="4" style="width: 100%;" />
+	</td>
+</tr>
+</table>
+
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr>
+	<td align="left">
+		<input type="submit" value="{TEXT_SAVE}" style="width: 200px; margin-top: 5px;" />
+	</td>
+	<td align="right">
+		</form>
+		<input type="button" value="{TEXT_CANCEL}" onclick="javascript: window.location = 'index.php';" style="width: 100px; margin-top: 5px;" />
+	</td>
+</tr>
+</table>
+
+</form>
+
+<!-- END main_block -->
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/wrapper/modify.htt
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/wrapper/modify.php
===================================================================
--- tags/2.8.2/wb/modules/wrapper/modify.php	(nonexistent)
+++ tags/2.8.2/wb/modules/wrapper/modify.php	(revision 1481)
@@ -0,0 +1,56 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Setup template object
+$template = new Template(WB_PATH.'/modules/wrapper');
+$template->set_file('page', 'modify.htt');
+$template->set_block('page', 'main_block', 'main');
+
+// Get page content
+$query = "SELECT url,height FROM ".TABLE_PREFIX."mod_wrapper WHERE section_id = '$section_id'";
+$get_settings = $database->query($query);
+$settings = $get_settings->fetchRow();
+$url = ($settings['url']);
+$height = $settings['height'];
+
+// Insert vars
+$template->set_var(array(
+								'PAGE_ID' => $page_id,
+								'SECTION_ID' => $section_id,
+								'WB_URL' => WB_URL,
+								'URL' => $url,
+								'HEIGHT' => $height,
+								'TEXT_URL' => $TEXT['URL'],
+								'TEXT_HEIGHT' => $TEXT['HEIGHT'],
+								'TEXT_SAVE' => $TEXT['SAVE'],
+								'TEXT_CANCEL' => $TEXT['CANCEL']
+								)
+						);
+
+// Parse template object
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/wrapper/modify.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/wrapper/view.php
===================================================================
--- tags/2.8.2/wb/modules/wrapper/view.php	(nonexistent)
+++ tags/2.8.2/wb/modules/wrapper/view.php	(revision 1481)
@@ -0,0 +1,44 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// check if module language file exists for the language set by the user (e.g. DE, EN)
+if(!file_exists(WB_PATH .'/modules/wrapper/languages/'.LANGUAGE .'.php')) {
+	// no module language file exists for the language set by the user, include default module language file EN.php
+	require_once(WB_PATH .'/modules/wrapper/languages/EN.php');
+} else {
+	// a module language file exists for the language defined by the user, load it
+	require_once(WB_PATH .'/modules/wrapper/languages/'.LANGUAGE .'.php');
+}
+
+// get url
+$get_settings = $database->query("SELECT url,height FROM ".TABLE_PREFIX."mod_wrapper WHERE section_id = '$section_id'");
+$fetch_settings = $get_settings->fetchRow();
+$url = ($fetch_settings['url']);
+
+?>
+<iframe src="<?php echo $url; ?>" width="100%" height="<?php echo $fetch_settings['height']; ?>" frameborder="0" scrolling="auto">
+<?php echo $MOD_WRAPPER['NOTICE']; ?>
+<a href="<?php echo $url; ?>" target="_blank"><?php echo $url; ?></a>
+</iframe>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/wrapper/view.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/wrapper/save.php
===================================================================
--- tags/2.8.2/wb/modules/wrapper/save.php	(nonexistent)
+++ tags/2.8.2/wb/modules/wrapper/save.php	(revision 1481)
@@ -0,0 +1,53 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+require('../../config.php');
+
+// Include WB admin wrapper script
+$update_when_modified = true; // Tells script to update when this page was last updated
+require(WB_PATH.'/modules/admin.php');
+
+// Update the mod_wrapper table with the contents
+if(isset($_POST['url'])) {
+	$url = $admin->add_slashes(strip_tags($_POST['url']));
+	$height = $_POST['height'];
+	if(!is_numeric($height)) {
+		$height = 400;
+	}
+	$query = "UPDATE ".TABLE_PREFIX."mod_wrapper SET url = '$url', height = '$height' WHERE section_id = '$section_id'";
+	$database->query($query);	
+}
+
+// Check if there is a database error, otherwise say successful
+if($database->is_error()) {
+	$admin->print_error($database->get_error(), $js_back);
+} else {
+	$admin->print_success($MESSAGE['PAGES']['SAVED'], ADMIN_URL.'/pages/modify.php?page_id='.$page_id);
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/wrapper/save.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/wrapper/delete.php
===================================================================
--- tags/2.8.2/wb/modules/wrapper/delete.php	(nonexistent)
+++ tags/2.8.2/wb/modules/wrapper/delete.php	(revision 1481)
@@ -0,0 +1,29 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Delete page from mod_wrapper
+$database->query("DELETE FROM ".TABLE_PREFIX."mod_wrapper WHERE section_id = '$section_id'");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/wrapper/delete.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/wrapper/index.php
===================================================================
--- tags/2.8.2/wb/modules/wrapper/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/wrapper/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/wrapper/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/wrapper/add.php
===================================================================
--- tags/2.8.2/wb/modules/wrapper/add.php	(nonexistent)
+++ tags/2.8.2/wb/modules/wrapper/add.php	(revision 1481)
@@ -0,0 +1,29 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Insert an extra row into the database
+$database->query("INSERT INTO ".TABLE_PREFIX."mod_wrapper (page_id,section_id,height) VALUES ('$page_id','$section_id','400')");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/wrapper/add.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/menu_link/info.php
===================================================================
--- tags/2.8.2/wb/modules/menu_link/info.php	(nonexistent)
+++ tags/2.8.2/wb/modules/menu_link/info.php	(revision 1481)
@@ -0,0 +1,52 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+/* History:
+2.8 - June 2009
+- Improved the pagelist (thorn)
+- Added different redirect types 301 or 302 (thorn)
+- Set platform version 2.8
+
+2.7 - 24. Jan. 2008 - doc
+- added language support, changed platform to 2.7
+
+2.6.1.1 - 16. Jan. 2008 - thorn
+- added table mod_menu_link
+- added install.php, delete.php, add.php
+- changed wb/index.php: redirect if page is menu_link
+- removed special-handling of menu_link in: admin/pages/settings2.php
+
+*/
+
+$module_directory = 'menu_link';
+$module_name = 'Menu Link';
+$module_function = 'page';
+$module_version = '2.8';
+$module_platform = '2.8.x';
+$module_author = 'Ryan Djurovich, thorn';
+$module_license = 'GNU General Public License';
+$module_description = 'This module allows you to insert a link into the menu.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/menu_link/info.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/menu_link/save.php
===================================================================
--- tags/2.8.2/wb/modules/menu_link/save.php	(nonexistent)
+++ tags/2.8.2/wb/modules/menu_link/save.php	(revision 1481)
@@ -0,0 +1,52 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         menu_link
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+*/
+
+require_once('../../config.php');
+
+// Include WB admin wrapper script
+$update_when_modified = true; // Tells script to update when this page was last updated
+require(WB_PATH.'/modules/admin.php');
+
+// Update id, anchor and target
+if(isset($_POST['menu_link'])) {
+	$foreign_page_id = $admin->add_slashes($_POST['menu_link']);
+	$page_target = $admin->add_slashes($_POST['page_target']);
+	$url_target = $admin->add_slashes($_POST['target']);
+	$r_type = $admin->add_slashes($_POST['r_type']);
+	if(isset($_POST['extern']))
+		$extern = $admin->add_slashes($_POST['extern']);
+	else
+		$extern='';
+
+	$table_pages = TABLE_PREFIX.'pages';
+	$table_mod = TABLE_PREFIX.'mod_menu_link';
+	$database->query("UPDATE `$table_pages` SET `target` = '$url_target' WHERE `page_id` = '$page_id'");
+	$database->query("UPDATE `$table_mod` SET `target_page_id` = '$foreign_page_id', `anchor` = '$page_target', `extern` = '$extern', `redirect_type` = '$r_type' WHERE `page_id` = '$page_id'");
+}
+
+// Check if there is a database error, otherwise say successful
+if($database->is_error()) {
+	$admin->print_error($database->get_error(), $js_back);
+} else {
+	$admin->print_success($MESSAGE['PAGES']['SAVED'], ADMIN_URL.'/pages/modify.php?page_id='.$page_id);
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/menu_link/save.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/menu_link/install.php
===================================================================
--- tags/2.8.2/wb/modules/menu_link/install.php	(nonexistent)
+++ tags/2.8.2/wb/modules/menu_link/install.php	(revision 1481)
@@ -0,0 +1,39 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         menu_link
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version      	$Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// prevent this file from being accessed directly
+if(defined('WB_PATH') == false) {
+	exit("Cannot access this file directly"); 
+}
+
+$table = TABLE_PREFIX ."mod_menu_link";
+// $database->query("DROP TABLE IF EXISTS `$table`");
+
+$database->query("
+	CREATE TABLE IF NOT EXISTS `$table` (
+		`section_id` INT(11) NOT NULL DEFAULT '0',
+		`page_id` INT(11) NOT NULL DEFAULT '0',
+		`target_page_id` INT(11) NOT NULL DEFAULT '0',
+		`redirect_type` INT NOT NULL DEFAULT '302',
+		`anchor` VARCHAR(255) NOT NULL DEFAULT '0' ,
+		`extern` VARCHAR(255) NOT NULL DEFAULT '' ,
+		PRIMARY KEY (`section_id`)
+	)
+");
+
+?>

Property changes on: tags/2.8.2/wb/modules/menu_link/install.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/menu_link/index.php
===================================================================
--- tags/2.8.2/wb/modules/menu_link/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/menu_link/index.php	(revision 1481)
@@ -0,0 +1,21 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         menu_link
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/menu_link/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/menu_link/modify.php
===================================================================
--- tags/2.8.2/wb/modules/menu_link/modify.php	(nonexistent)
+++ tags/2.8.2/wb/modules/menu_link/modify.php	(revision 1481)
@@ -0,0 +1,229 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         menu_link
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+*/
+
+// Must include code to stop this file being accessed directly
+if(defined('WB_PATH') == false) { exit("Cannot access this file directly"); }
+
+// check if module language file exists for the language set by the user (e.g. DE, EN)
+if(!file_exists(WB_PATH .'/modules/menu_link/languages/'.LANGUAGE .'.php')) {
+	// no module language file exists for the language set by the user, include default module language file EN.php
+	require_once(WB_PATH .'/modules/menu_link/languages/EN.php');
+} else {
+	// a module language file exists for the language defined by the user, load it
+	require_once(WB_PATH .'/modules/menu_link/languages/'.LANGUAGE .'.php');
+}
+
+// get target page_id
+$table = TABLE_PREFIX.'mod_menu_link';
+$sql_result = $database->query("SELECT * FROM $table WHERE section_id = '$section_id'");
+$sql_row = $sql_result->fetchRow();
+$target_page_id = $sql_row['target_page_id'];
+$r_type = $sql_row['redirect_type'];
+$extern = $sql_row['extern'];
+$anchor = $sql_row['anchor'];
+$sel = ' selected="selected"';
+
+// Get list of all visible pages and build a page-tree
+
+// this function will fetch the page_tree, recursive
+if(!function_exists('menulink_make_tree')) {
+function menulink_make_tree($parent, $link_pid, $tree) {
+	global $database, $admin, $menulink_titles;
+	$table_p = TABLE_PREFIX."pages";
+	// get list of page-trails, recursive
+	if($query_page = $database->query("SELECT * FROM `$table_p` WHERE `parent`=$parent ORDER BY `position`")) {
+		while($page = $query_page->fetchRow()) {
+			if($admin->page_is_visible($page) ) {
+				$pids = explode(',', $page['page_trail']);
+				$entry = '';
+				foreach($pids as $pid)
+					$entry .= $menulink_titles[$pid].' / ';
+				$tree[$page['page_id']] = rtrim($entry, '/ ');
+				$tree = menulink_make_tree($page['page_id'], $link_pid, $tree);
+			}
+		}
+	}
+	return($tree);
+}
+}
+
+// get list of all page_ids and page_titles
+global $menulink_titles;
+$menulink_titles = array();
+$table_p = TABLE_PREFIX."pages";
+if($query_page = $database->query("SELECT `page_id`,`menu_title` FROM `$table_p`")) {
+	while($page = $query_page->fetchRow())
+		$menulink_titles[$page['page_id']] = $page['menu_title'];
+}
+// now get the tree
+$links = array();
+$links = menulink_make_tree(0, $page_id, $links);
+
+// Get list of targets (id=... or <a name ...>) from pages in $links
+$targets = array();
+$table_mw = TABLE_PREFIX."mod_wysiwyg";
+$table_s = TABLE_PREFIX."sections";
+foreach($links as $pid=>$l) {
+	if($query_section = $database->query("SELECT section_id, module FROM $table_s WHERE page_id = '$pid' ORDER BY position")) {
+		while($section = $query_section->fetchRow()) {
+			// get section-anchor
+			if(defined('SEC_ANCHOR') && SEC_ANCHOR!='') {
+				$targets[$pid][] = SEC_ANCHOR.$section['section_id'];
+			} else {
+				$targets[$pid] = array();
+			}
+			if($section['module'] == 'wysiwyg') {
+				if($query_page = $database->query("SELECT content FROM $table_mw WHERE section_id = '{$section['section_id']}' LIMIT 1")) {
+					$page = $query_page->fetchRow();
+					if(preg_match_all('/<(?:a[^>]+name|[^>]+id)\s*=\s*"([^"]+)"/i',$page['content'], $match)) {
+						foreach($match[1] AS $t) {
+							$targets[$pid][$t] = $t;
+						}
+					}
+				}
+			}
+		}
+	}
+}
+// get target-window for actual page
+$table = TABLE_PREFIX."pages";
+$query_page = $database->query("SELECT target FROM $table WHERE page_id = '$page_id'");
+$page = $query_page->fetchRow();
+$target = $page['target'];
+
+
+// script for target-select-box
+?>
+<script language="JavaScript" type="text/javascript">
+/*<![CDATA[*/
+	function populate() {
+		o=document.getElementById('menu_link');
+		d=document.getElementById('page_target');
+		e=document.getElementById('extern');
+		if(!d){return;}
+		var mitems=new Array();
+		mitems['0']=[' ','0'];
+		mitems['-1']=[' ','0'];
+		<?php
+		foreach($links AS $pid=>$link) {
+			$str="mitems['$pid']=[";
+			$str.="' ',";
+			$str.="'0',";
+			if(is_array($targets) && is_array($targets[$pid])) {
+				foreach($targets[$pid] AS $value) {
+					$str.="'#$value',";
+					$str.="'$value',";
+				}
+				$str=rtrim($str, ',');
+				$str.="];\n";
+			}
+			echo $str;
+		}
+		?>
+		d.options.length=0;
+		cur=mitems[o.options[o.selectedIndex].value];
+		if(!cur){return;}
+		d.options.length=cur.length/2;
+		j=0;
+		for(var i=0;i<cur.length;i=i+2)
+		{
+			d.options[j].text=cur[i];
+			d.options[j++].value=cur[i+1];
+		}
+
+		if(o.value=='-1') {
+			e.disabled = false;
+		} else {
+			e.disabled = true;
+		}
+	}
+
+/*]]>*/
+</script>
+<form name="menulink" action="<?php echo WB_URL ?>/modules/menu_link/save.php" method="post">
+<input type="hidden" name="page_id" value="<?php echo $page_id ?>" />
+<input type="hidden" name="section_id" value="<?php echo $section_id ?>" />
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr>
+	<td>
+		<?php echo $TEXT['LINK'].':' ?>
+	</td>
+	<td>
+		<select name="menu_link" id="menu_link" onchange="populate()" style="width:250px;" >
+			<option value="0"<?php echo $target_page_id=='0'?$sel:''?>><?php echo $TEXT['PLEASE_SELECT']; ?></option>
+			<option value="-1"<?php echo $target_page_id=='-1'?$sel:''?>><?php echo $MOD_MENU_LINK['EXTERNAL_LINK']; ?></option>
+			<?php foreach($links AS $pid=>$link) {
+				if ($pid == $page_id)  // Display current page with selection disabled
+					echo "<option value=\"$pid\" disabled=\"disabled\">$link *</option>\n";
+				else
+					echo "<option value=\"$pid\" ".($target_page_id==$pid?$sel:'').">$link</option>\n";
+			} ?>
+		</select>
+		&nbsp;
+		<input type="text" name="extern" id="extern" value="<?php echo $extern; ?>" style="width:250px;" <?php if($target_page_id!='-1') echo 'disabled="disabled"'; ?> />
+	</td>
+</tr>
+<tr>
+	<td>
+		<?php echo $TEXT['ANCHOR'].':' ?>
+	</td>
+	<td>
+		<select name="page_target" id="page_target" onfocus="populate()" style="width:250px;" >
+			<option value="<?php echo $anchor ?>" selected="selected"><?php echo $anchor=='0'?' ':'#'.$anchor ?></option>
+		</select>
+	</td>
+</tr>
+<tr>
+	<td>
+		<?php echo $TEXT['TARGET'].':' ?>
+	</td>
+	<td>
+		<select name="target" style="width:250px;" >
+			<option value="_blank"<?php if($target=='_blank') echo ' selected="selected"'; ?>><?php echo $TEXT['NEW_WINDOW'] ?></option>
+			<option value="_self"<?php if($target=='_self') echo ' selected="selected"'; ?>><?php echo $TEXT['SAME_WINDOW'] ?></option>
+			<option value="_top"<?php if($target=='_top') echo ' selected="selected"'; ?>><?php echo $TEXT['TOP_FRAME'] ?></option>
+		</select>
+	</td>
+</tr>
+<tr>
+	<td>
+		<?php echo $MOD_MENU_LINK['R_TYPE'].':' ?>
+	</td>
+	<td>
+		<select name="r_type" style="width:250px;" >
+			<option value="301"<?php if($r_type=='301') echo ' selected="selected"'; ?>>301</option>
+			<option value="302"<?php if($r_type=='302') echo ' selected="selected"'; ?>>302</option>
+		</select>
+	</td>
+</tr>
+</table>
+
+<br />
+
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr>
+	<td align="left">
+		<input type="submit" value="<?php echo $TEXT['SAVE'] ?>" style="width: 100px; margin-top: 5px;" />
+	</td>
+	<td align="right">
+		<input type="button" value="<?php echo $TEXT['CANCEL'] ?>" onclick="javascript: window.location = 'index.php';" style="width: 100px; margin-top: 5px;" />
+	</td>
+</tr>
+</table>
+
+</form>

Property changes on: tags/2.8.2/wb/modules/menu_link/modify.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/menu_link/languages/DA.php
===================================================================
--- tags/2.8.2/wb/modules/menu_link/languages/DA.php	(nonexistent)
+++ tags/2.8.2/wb/modules/menu_link/languages/DA.php	(revision 1481)
@@ -0,0 +1,34 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  DANISH LANGUAGE FILE FOR THE ADDON: MENU_LINK
+ -----------------------------------------------------------------------------------------
+*/
+
+// Headings and text outputs
+$MOD_MENU_LINK['TEXT'] = 'Klik HER for at f&Atilde;&yen; til hovedsiden';
+$MOD_MENU_LINK['EXTERNAL_LINK'] = 'Eksternt link';
+$MOD_MENU_LINK['R_TYPE'] = 'Redirect-type';
+
+?>

Property changes on: tags/2.8.2/wb/modules/menu_link/languages/DA.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/menu_link/languages/NO.php
===================================================================
--- tags/2.8.2/wb/modules/menu_link/languages/NO.php	(nonexistent)
+++ tags/2.8.2/wb/modules/menu_link/languages/NO.php	(revision 1481)
@@ -0,0 +1,34 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  NORWEGIAN LANGUAGE FILE FOR THE ADDON: MENU_LINK
+ -----------------------------------------------------------------------------------------
+*/
+
+// Headings and text outputs
+$MOD_MENU_LINK['TEXT']			= 'Klikk HER for &aring; komme til hovedsiden';
+$MOD_MENU_LINK['EXTERNAL_LINK']	= 'Ekstern lenke';
+$MOD_MENU_LINK['R_TYPE'] = 'Omdirigerings Type';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/menu_link/languages/NO.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/menu_link/languages/FR.php
===================================================================
--- tags/2.8.2/wb/modules/menu_link/languages/FR.php	(nonexistent)
+++ tags/2.8.2/wb/modules/menu_link/languages/FR.php	(revision 1481)
@@ -0,0 +1,33 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  FRENCH LANGUAGE FILE FOR THE ADDON: MENU_LINK
+ -----------------------------------------------------------------------------------------
+*/
+
+// Headings and text outputs
+$MOD_MENU_LINK['TEXT']				= 'Cliquez ICI pour retourn&eacute; &agrave; la page principale';
+$MOD_MENU_LINK['EXTERNAL_LINK'] = 'Lien externe';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/menu_link/languages/FR.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/menu_link/languages/NL.php
===================================================================
--- tags/2.8.2/wb/modules/menu_link/languages/NL.php	(nonexistent)
+++ tags/2.8.2/wb/modules/menu_link/languages/NL.php	(revision 1481)
@@ -0,0 +1,34 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  DUTCH LANGUAGE FILE FOR THE ADDON: MENU_LINK
+ -----------------------------------------------------------------------------------------
+*/
+
+// Headings and text outputs
+$MOD_MENU_LINK['TEXT']				= 'Klik HIER om naar de hoofdpagina te gaan';
+$MOD_MENU_LINK['EXTERNAL_LINK'] = 'Externe Link';
+$MOD_MENU_LINK['R_TYPE'] = 'Redirect-Type';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/menu_link/languages/NL.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/menu_link/languages/EN.php
===================================================================
--- tags/2.8.2/wb/modules/menu_link/languages/EN.php	(nonexistent)
+++ tags/2.8.2/wb/modules/menu_link/languages/EN.php	(revision 1481)
@@ -0,0 +1,34 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  ENGLISH LANGUAGE FILE FOR THE ADDON: MENU_LINK
+ -----------------------------------------------------------------------------------------
+*/
+
+// Headings and text outputs
+$MOD_MENU_LINK['TEXT']				= 'Click HERE to go to the main page';
+$MOD_MENU_LINK['EXTERNAL_LINK'] = 'External Link';
+$MOD_MENU_LINK['R_TYPE'] = 'Redirect-Type';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/menu_link/languages/EN.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/menu_link/languages/RU.php
===================================================================
--- tags/2.8.2/wb/modules/menu_link/languages/RU.php	(nonexistent)
+++ tags/2.8.2/wb/modules/menu_link/languages/RU.php	(revision 1481)
@@ -0,0 +1,34 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project http://www.websitebaker.org/
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  RUSSIAN LANGUAGE FILE FOR THE ADDON: MENU_LINK
+ -----------------------------------------------------------------------------------------
+*/
+
+// Headings and text outputs
+$MOD_MENU_LINK['TEXT']				= '&#1053;&#1072;&#1078;&#1084;&#1080;&#1090;&#1077; &#1079;&#1076;&#1077;&#1089;&#1100; &#1076;&#1083;&#1103; &#1087;&#1077;&#1088;&#1077;&#1093;&#1086;&#1076;&#1072; &#1085;&#1072; &#1075;&#1083;&#1072;&#1074;&#1085;&#1091;&#1102;';
+$MOD_MENU_LINK['EXTERNAL_LINK'] = '&#1042;&#1085;&#1077;&#1096;&#1085;&#1103;&#1103; &#1089;&#1089;&#1099;&#1083;&#1082;&#1072;';
+$MOD_MENU_LINK['R_TYPE'] = 'Redirect-Type';
+
+?>

Property changes on: tags/2.8.2/wb/modules/menu_link/languages/RU.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/menu_link/languages/index.php
===================================================================
--- tags/2.8.2/wb/modules/menu_link/languages/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/menu_link/languages/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/menu_link/languages/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/menu_link/languages/DE.php
===================================================================
--- tags/2.8.2/wb/modules/menu_link/languages/DE.php	(nonexistent)
+++ tags/2.8.2/wb/modules/menu_link/languages/DE.php	(revision 1481)
@@ -0,0 +1,37 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  DEUTSCHE SPRACHDATEI FUER DAS MODUL: MENU_LINK
+ -----------------------------------------------------------------------------------------
+*/
+
+// Deutsche Modulbeschreibung
+$module_description 	= 'Dieses Modul erm&ouml;glicht die Anzeige eines Links im Seitenmen&uuml;.';
+
+// Ueberschriften und Textausgaben
+$MOD_MENU_LINK['TEXT']				= 'Klicken Sie HIER um zur Startseite zu gelangen';
+$MOD_MENU_LINK['EXTERNAL_LINK'] = 'Entfernte Adresse';
+$MOD_MENU_LINK['R_TYPE'] = 'Redirect-Typ';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/menu_link/languages/DE.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/menu_link/uninstall.php
===================================================================
--- tags/2.8.2/wb/modules/menu_link/uninstall.php	(nonexistent)
+++ tags/2.8.2/wb/modules/menu_link/uninstall.php	(revision 1481)
@@ -0,0 +1,34 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// prevent this file from being accesses directly
+if(defined('WB_PATH') == false) {
+	exit("Cannot access this file directly"); 
+}
+
+$table = TABLE_PREFIX ."mod_menu_link";
+$database->query("DROP TABLE `$table`");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/menu_link/uninstall.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/menu_link/view.php
===================================================================
--- tags/2.8.2/wb/modules/menu_link/view.php	(nonexistent)
+++ tags/2.8.2/wb/modules/menu_link/view.php	(revision 1481)
@@ -0,0 +1,43 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+/*
+Since there is nothing to show and users shouldn't really know this
+page exists, we might as well give them a link to the home page.
+*/
+
+// check if module language file exists for the language set by the user (e.g. DE, EN)
+if(!file_exists(WB_PATH .'/modules/menu_link/languages/'.LANGUAGE .'.php')) {
+	// no module language file exists for the language set by the user, include default module language file EN.php
+	require_once(WB_PATH .'/modules/menu_link/languages/EN.php');
+} else {
+	// a module language file exists for the language defined by the user, load it
+	require_once(WB_PATH .'/modules/menu_link/languages/'.LANGUAGE .'.php');
+}
+
+?>
+<a href="<?php echo WB_URL; ?>">
+<?php echo $MOD_MENU_LINK['TEXT']; ?>
+</a>

Property changes on: tags/2.8.2/wb/modules/menu_link/view.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/menu_link/delete.php
===================================================================
--- tags/2.8.2/wb/modules/menu_link/delete.php	(nonexistent)
+++ tags/2.8.2/wb/modules/menu_link/delete.php	(revision 1481)
@@ -0,0 +1,34 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// prevent this file from being accesses directly
+if(defined('WB_PATH') == false) {
+	exit("Cannot access this file directly"); 
+}
+
+$table = TABLE_PREFIX ."mod_menu_link";
+$database->query("DELETE FROM `$table` WHERE section_id = '$section_id'");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/menu_link/delete.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/menu_link/add.php
===================================================================
--- tags/2.8.2/wb/modules/menu_link/add.php	(nonexistent)
+++ tags/2.8.2/wb/modules/menu_link/add.php	(revision 1481)
@@ -0,0 +1,34 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// prevent this file from being accesses directly
+if(defined('WB_PATH') == false) {
+	exit("Cannot access this file directly"); 
+}
+
+$table = TABLE_PREFIX ."mod_menu_link";
+$database->query("INSERT INTO `$table` (`page_id`, `section_id`, `target_page_id`, `anchor`, `extern`) VALUES ('$page_id', '$section_id', '0', '0', '')");
+
+?>

Property changes on: tags/2.8.2/wb/modules/menu_link/add.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/wysiwyg/info.php
===================================================================
--- tags/2.8.2/wb/modules/wysiwyg/info.php	(nonexistent)
+++ tags/2.8.2/wb/modules/wysiwyg/info.php	(revision 1481)
@@ -0,0 +1,35 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+$module_directory = 'wysiwyg';
+$module_name = 'WYSIWYG';
+$module_function = 'page';
+$module_version = '2.7';
+$module_platform = '2.7 | 2.8.x';
+$module_author = 'Ryan Djurovich';
+$module_license = 'GNU General Public License';
+$module_description = 'This module allows you to edit the contents of a page using a graphical editor';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/wysiwyg/info.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/wysiwyg/save.php
===================================================================
--- tags/2.8.2/wb/modules/wysiwyg/save.php	(nonexistent)
+++ tags/2.8.2/wb/modules/wysiwyg/save.php	(revision 1481)
@@ -0,0 +1,57 @@
+<?php
+/**
+ *
+ * @category        backend
+ * @package         wysiwyg
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+*/
+
+require('../../config.php');
+
+// Include WB admin wrapper script
+$update_when_modified = true; // Tells script to update when this page was last updated
+require(WB_PATH.'/modules/admin.php');
+
+// Include the WB functions file
+require_once(WB_PATH.'/framework/functions.php');
+
+// Update the mod_wysiwygs table with the contents
+if(isset($_POST['content'.$section_id])) {
+	$content = $admin->add_slashes($_POST['content'.$section_id]);
+	// searching in $text will be much easier this way
+	$text = umlauts_to_entities(strip_tags($content), strtoupper(DEFAULT_CHARSET), 0);
+	$database = new database();
+	$query = "UPDATE ".TABLE_PREFIX."mod_wysiwyg SET content = '$content', text = '$text' WHERE section_id = '$section_id'";
+	$database->query($query);	
+}
+
+if(defined('EDIT_ONE_SECTION') and EDIT_ONE_SECTION)
+{
+    $edit_page = ADMIN_URL.'/pages/modify.php?page_id='.$page_id.'&wysiwyg='.$section_id;
+}
+else
+{
+    $edit_page = ADMIN_URL.'/pages/modify.php?page_id='.$page_id.'#wb'.$section_id;
+}
+
+// Check if there is a database error, otherwise say successful
+if($database->is_error()) {
+	$admin->print_error($database->get_error(), $js_back);
+} else {
+	$admin->print_success($MESSAGE['PAGES']['SAVED'], $edit_page );
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/wysiwyg/save.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/wysiwyg/install.php
===================================================================
--- tags/2.8.2/wb/modules/wysiwyg/install.php	(nonexistent)
+++ tags/2.8.2/wb/modules/wysiwyg/install.php	(revision 1481)
@@ -0,0 +1,66 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         wysiwyg
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version      	$Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+if(defined('WB_URL'))
+{
+	
+	// Create table
+	//$database->query("DROP TABLE IF EXISTS `".TABLE_PREFIX."mod_wysiwyg`");
+	$mod_wysiwyg = 'CREATE TABLE IF NOT EXISTS `'.TABLE_PREFIX.'mod_wysiwyg` ( '
+		. ' `section_id` INT NOT NULL DEFAULT \'0\','
+		. ' `page_id` INT NOT NULL DEFAULT \'0\','
+		. ' `content` LONGTEXT NOT NULL ,'
+		. ' `text` LONGTEXT NOT NULL ,'
+		. ' PRIMARY KEY ( `section_id` ) '
+		. ' )';
+	$database->query($mod_wysiwyg);
+	
+
+    $mod_search = "SELECT * FROM ".TABLE_PREFIX."search  WHERE value = 'wysiwyg'";
+    $insert_search = $database->query($mod_search);
+    if( $insert_search->numRows() == 0 )
+    {
+    	// Insert info into the search table
+    	// Module query info
+    	$field_info = array();
+    	$field_info['page_id'] = 'page_id';
+    	$field_info['title'] = 'page_title';
+    	$field_info['link'] = 'link';
+    	$field_info['description'] = 'description';
+    	$field_info['modified_when'] = 'modified_when';
+    	$field_info['modified_by'] = 'modified_by';
+    	$field_info = serialize($field_info);
+    	$database->query("INSERT INTO ".TABLE_PREFIX."search (name,value,extra) VALUES ('module', 'wysiwyg', '$field_info')");
+    	// Query start
+    	$query_start_code = "SELECT [TP]pages.page_id, [TP]pages.page_title,	[TP]pages.link, [TP]pages.description, [TP]pages.modified_when, [TP]pages.modified_by	FROM [TP]mod_wysiwyg, [TP]pages WHERE ";
+    	$database->query("INSERT INTO ".TABLE_PREFIX."search (name,value,extra) VALUES ('query_start', '$query_start_code', 'wysiwyg')");
+    	// Query body
+    	$query_body_code = " [TP]pages.page_id = [TP]mod_wysiwyg.page_id AND [TP]mod_wysiwyg.text [O] \'[W][STRING][W]\' AND [TP]pages.searching = \'1\'";
+    	$database->query("INSERT INTO ".TABLE_PREFIX."search (name,value,extra) VALUES ('query_body', '$query_body_code', 'wysiwyg')");
+    	// Query end
+    	$query_end_code = "";
+    	$database->query("INSERT INTO ".TABLE_PREFIX."search (name,value,extra) VALUES ('query_end', '$query_end_code', 'wysiwyg')");
+
+    	// Insert blank row (there needs to be at least on row for the search to work)
+    	$database->query("INSERT INTO ".TABLE_PREFIX."mod_wysiwyg (page_id,section_id) VALUES ('0','0')");
+
+
+    }
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/wysiwyg/install.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/wysiwyg/modify.php
===================================================================
--- tags/2.8.2/wb/modules/wysiwyg/modify.php	(nonexistent)
+++ tags/2.8.2/wb/modules/wysiwyg/modify.php	(revision 1481)
@@ -0,0 +1,71 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         wysiwyg
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+if(!defined('WB_PATH')) exit('Direct access to this file is not allowed');
+
+// Get page content
+$query = "SELECT content FROM ".TABLE_PREFIX."mod_wysiwyg WHERE section_id = '$section_id'";
+$get_content = $database->query($query);
+$content = $get_content->fetchRow();
+$content = (htmlspecialchars($content['content']));
+
+if(!isset($wysiwyg_editor_loaded)) {
+	$wysiwyg_editor_loaded=true;
+
+	if (!defined('WYSIWYG_EDITOR') OR WYSIWYG_EDITOR=="none" OR !file_exists(WB_PATH.'/modules/'.WYSIWYG_EDITOR.'/include.php')) {
+		function show_wysiwyg_editor($name,$id,$content,$width,$height) {
+			echo '<textarea name="'.$name.'" id="'.$id.'" style="width: '.$width.'; height: '.$height.';">'.$content.'</textarea>';
+		}
+	} else {
+		$id_list=array();
+		$query_wysiwyg = $database->query("SELECT section_id FROM ".TABLE_PREFIX."sections WHERE page_id = '$page_id' AND module = 'wysiwyg'");
+		if($query_wysiwyg->numRows() > 0) {
+			while($wysiwyg_section = $query_wysiwyg->fetchRow()) {
+				$entry='content'.$wysiwyg_section['section_id'];
+				array_push($id_list,$entry);
+			}
+			require(WB_PATH.'/modules/'.WYSIWYG_EDITOR.'/include.php');
+		}
+	}
+}
+
+?>
+
+<form name="wysiwyg<?php echo $section_id; ?>" action="<?php echo WB_URL; ?>/modules/wysiwyg/save.php" method="post">
+
+<input type="hidden" name="page_id" value="<?php echo $page_id; ?>" />
+<input type="hidden" name="section_id" value="<?php echo $section_id; ?>" />
+
+<?php
+show_wysiwyg_editor('content'.$section_id,'content'.$section_id,$content,'100%','350px');
+?>
+
+<table cellpadding="0" cellspacing="0" border="0" width="100%" style="padding-bottom: 10px;">
+<tr>
+	<td align="left">
+		<input type="submit" value="<?php echo $TEXT['SAVE']; ?>" style="width: 100px; margin-top: 5px;" />
+	</td>
+	<td align="right">
+		<input type="button" value="<?php echo $TEXT['CANCEL']; ?>" onclick="javascript: window.location = 'index.php';" style="width: 100px; margin-top: 5px;" />
+	</td>
+</tr>
+</table>
+
+</form>
+
+<br />
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/wysiwyg/modify.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/wysiwyg/languages/DA.php
===================================================================
--- tags/2.8.2/wb/modules/wysiwyg/languages/DA.php	(nonexistent)
+++ tags/2.8.2/wb/modules/wysiwyg/languages/DA.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  DANISH LANGUAGE FILE FOR THE MODULE: WYSIWYG
+ -----------------------------------------------------------------------------------------
+*/
+
+// Dansk modulbeskrivelse
+$module_description = 'Dette modul g&oslash;r det muligt at redigere sideindhold ved hj&aelig;lp af en grafisk editor.';
+
+?>

Property changes on: tags/2.8.2/wb/modules/wysiwyg/languages/DA.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/wysiwyg/languages/NO.php
===================================================================
--- tags/2.8.2/wb/modules/wysiwyg/languages/NO.php	(nonexistent)
+++ tags/2.8.2/wb/modules/wysiwyg/languages/NO.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  NORWEGIAN LANGUAGE FILE FOR THE MODULE: WYSIWYG
+ -----------------------------------------------------------------------------------------
+*/
+
+// Norwegian Moduledescription
+$module_description = 'Denne modulen lar deg redigere innholdet p&aring; websidene dine med et grafisk redigerings verkt&oslash;y';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/wysiwyg/languages/NO.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/wysiwyg/languages/FR.php
===================================================================
--- tags/2.8.2/wb/modules/wysiwyg/languages/FR.php	(nonexistent)
+++ tags/2.8.2/wb/modules/wysiwyg/languages/FR.php	(revision 1481)
@@ -0,0 +1,31 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  FRENCH LANGUAGE FILE FOR THE ADDON: WYSIWYG
+ -----------------------------------------------------------------------------------------
+*/
+//Module Description
+$module_description = 'Ce module permet de modifier le contenu de la page &agrave; l&apos;aide d&apos;un &eacute;diteur graphique';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/wysiwyg/languages/FR.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/wysiwyg/languages/NL.php
===================================================================
--- tags/2.8.2/wb/modules/wysiwyg/languages/NL.php	(nonexistent)
+++ tags/2.8.2/wb/modules/wysiwyg/languages/NL.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+    DUTCH LANGUAGE MODULE FOR THE MODULE: WYSIWYG
+ -----------------------------------------------------------------------------------------
+*/
+
+// Deutsche Modulbeschreibung
+$module_description = 'Deze module laat je toe om de inhoud van een pagina te bewerken door middel van WYSIWYG';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/wysiwyg/languages/NL.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/wysiwyg/languages/RU.php
===================================================================
--- tags/2.8.2/wb/modules/wysiwyg/languages/RU.php	(nonexistent)
+++ tags/2.8.2/wb/modules/wysiwyg/languages/RU.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project http://www.websitebaker.org/
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  RUSSIAN TRANSLATION FOR MODULE: WYSIWYG
+ -----------------------------------------------------------------------------------------
+*/
+
+// Russian translation
+$module_description = '&#1052;&#1086;&#1076;&#1091;&#1083;&#1100; &#1087;&#1086;&#1079;&#1074;&#1086;&#1083;&#1103;&#1077;&#1090; &#1088;&#1077;&#1076;&#1072;&#1082;&#1090;&#1080;&#1088;&#1086;&#1074;&#1072;&#1090;&#1100; &#1089;&#1086;&#1076;&#1077;&#1088;&#1078;&#1080;&#1084;&#1086;&#1077; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;&#1099;, &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1091;&#1103; &#1074;&#1080;&#1079;&#1091;&#1072;&#1083;&#1100;&#1085;&#1099;&#1081; &#1088;&#1077;&#1076;&#1072;&#1082;&#1090;&#1086;&#1088;';
+
+?>

Property changes on: tags/2.8.2/wb/modules/wysiwyg/languages/RU.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/wysiwyg/languages/index.php
===================================================================
--- tags/2.8.2/wb/modules/wysiwyg/languages/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/wysiwyg/languages/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/wysiwyg/languages/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/wysiwyg/languages/DE.php
===================================================================
--- tags/2.8.2/wb/modules/wysiwyg/languages/DE.php	(nonexistent)
+++ tags/2.8.2/wb/modules/wysiwyg/languages/DE.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  DEUTSCHE SPRACHDATEI FUER DAS MODUL: WYSIWYG
+ -----------------------------------------------------------------------------------------
+*/
+
+// Deutsche Modulbeschreibung
+$module_description = 'Dieses Modul erm&ouml;glicht die Bearbeitung von Seiteninhalten mit Hilfe eines grafischen Editors';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/wysiwyg/languages/DE.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/wysiwyg/view.php
===================================================================
--- tags/2.8.2/wb/modules/wysiwyg/view.php	(nonexistent)
+++ tags/2.8.2/wb/modules/wysiwyg/view.php	(revision 1481)
@@ -0,0 +1,35 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Get content
+$get_content = $database->query("SELECT content FROM ".TABLE_PREFIX."mod_wysiwyg WHERE section_id = '$section_id'");
+$fetch_content = $get_content->fetchRow();
+$content = ($fetch_content['content']);
+
+$wb->preprocess($content);
+
+echo $content;
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/wysiwyg/view.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/wysiwyg/delete.php
===================================================================
--- tags/2.8.2/wb/modules/wysiwyg/delete.php	(nonexistent)
+++ tags/2.8.2/wb/modules/wysiwyg/delete.php	(revision 1481)
@@ -0,0 +1,29 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Delete record from the database
+$database->query("DELETE FROM ".TABLE_PREFIX."mod_wysiwyg WHERE section_id = '$section_id'");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/wysiwyg/delete.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/wysiwyg/search.php
===================================================================
--- tags/2.8.2/wb/modules/wysiwyg/search.php	(nonexistent)
+++ tags/2.8.2/wb/modules/wysiwyg/search.php	(revision 1481)
@@ -0,0 +1,63 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+function wysiwyg_search($func_vars) {
+	extract($func_vars, EXTR_PREFIX_ALL, 'func');
+	
+	// how many lines of excerpt we want to have at most
+	$max_excerpt_num = $func_default_max_excerpt;
+	$divider = ".";
+	$result = false;
+	
+	// we have to get 'content' instead of 'text', because strip_tags() dosen't remove scripting well.
+	// scripting will be removed later on automatically
+	$table = TABLE_PREFIX."mod_wysiwyg";
+	$query = $func_database->query("
+		SELECT content
+		FROM $table
+		WHERE section_id='$func_section_id'
+	");
+
+	if($query->numRows() > 0) {
+		if($res = $query->fetchRow()) {
+			$mod_vars = array(
+				'page_link' => $func_page_link,
+				'page_link_target' => "#wb_section_$func_section_id",
+				'page_title' => $func_page_title,
+				'page_description' => $func_page_description,
+				'page_modified_when' => $func_page_modified_when,
+				'page_modified_by' => $func_page_modified_by,
+				'text' => $res['content'].$divider,
+				'max_excerpt_num' => $max_excerpt_num
+			);
+			if(print_excerpt2($mod_vars, $func_vars)) {
+				$result = true;
+			}
+		}
+	}
+	return $result;
+}
+
+?>

Property changes on: tags/2.8.2/wb/modules/wysiwyg/search.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/wysiwyg/index.php
===================================================================
--- tags/2.8.2/wb/modules/wysiwyg/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/wysiwyg/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/wysiwyg/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/wysiwyg/add.php
===================================================================
--- tags/2.8.2/wb/modules/wysiwyg/add.php	(nonexistent)
+++ tags/2.8.2/wb/modules/wysiwyg/add.php	(revision 1481)
@@ -0,0 +1,29 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Insert an extra row into the database
+$database->query("INSERT INTO ".TABLE_PREFIX."mod_wysiwyg (page_id,section_id) VALUES ('$page_id','$section_id')");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/wysiwyg/add.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/jsadmin/info.php
===================================================================
--- tags/2.8.2/wb/modules/jsadmin/info.php	(nonexistent)
+++ tags/2.8.2/wb/modules/jsadmin/info.php	(revision 1481)
@@ -0,0 +1,74 @@
+<?php
+
+// $Id$
+
+// JsAdmin module for Website Baker
+// Copyright (C) 2006, Stepan Riha
+// www.nonplus.net
+
+/*
+Javascript Admin for Website Baker
+
+Software License Agreement (BSD License)
+
+Copyright (c) 2006, Stepan Riha.
+All rights reserved.
+
+Portions of this software are Copyright Yahoo! Inc.
+
+Redistribution and use of this software in source and binary forms, with 
+or without modification, are permitted provided that the following 
+conditions are met:
+
+* Redistributions of source code must retain the above
+  copyright notice, this list of conditions and the
+  following disclaimer.
+
+* Redistributions in binary form must reproduce the above
+  copyright notice, this list of conditions and the
+  following disclaimer in the documentation and/or other
+  materials provided with the distribution.
+
+* Neither the name of Stepan Riha may be used to endorse or
+  promote products derived from this software without specific prior
+  written permission of Stepan Riha.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 
+IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 
+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 
+OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/*
+ -----------------------------------------------------------------------------------------------------------
+  Javascript Admin module for Website Baker v2.7
+  Copyright (C) 2006, Stepan Riha
+  Adapted for Website Baker 2.7 by Swen Uth
+ -----------------------------------------------------------------------------------------------------------
+	v1.2 (swen, Swen Uth; Jan 24, 2008)
+		+ updated YUI framework to version 2.4.1
+   	+ adapted module to work with Website Baker 2.7
+   	+ added multilingual support and support of the module.css and module.js files
+		
+	v1.0.2 (nonplus, Stepan Riha; May 5, 2006
+		initial release by Stepan Riha (all rights reserved)
+ -----------------------------------------------------------------------------------------------------------
+*/
+
+$module_directory 		= 'jsadmin';
+$module_name 				= 'Javascript Admin';
+$module_function 			= 'tool';
+$module_version 			= '1.2.1';
+$module_platform 			= '2.7 | 2.8.x';
+$module_author 			= 'Stepan Riha, Swen Uth';
+$module_license 			= 'BSD License';
+$module_description 		= 'This module adds Javascript functionality to the Website Baker Admin to improve some of the UI interactions. Uses the YahooUI library.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/jsadmin/info.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/jsadmin/backend.css
===================================================================
--- tags/2.8.2/wb/modules/jsadmin/backend.css	(nonexistent)
+++ tags/2.8.2/wb/modules/jsadmin/backend.css	(revision 1481)
@@ -0,0 +1,28 @@
+/* Fix for funky spacing on page listing */
+.pages_list li {
+	margin-bottom: -2px;
+}
+
+body.jsadmin_busy td.content {
+	background: url(images/busy.gif) 4px 4px no-repeat;
+}
+
+body.jsadmin_success td.content {
+	background: url(images/success.gif) 4px 4px no-repeat;
+}
+
+body.jsadmin_failure td.content {
+	background: url(images/failure.gif) 4px 4px no-repeat;
+}
+
+.jsadmin_drag {
+	cursor: move;
+}
+
+.jsadmin_drag a, .jsadmin_drag input, .jsadmin_drag select {
+	cursor: pointer;
+}
+
+ul.jsadmin_drag_area {
+	border: solid 1px #99f;
+}
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/jsadmin/backend.css
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/modules/jsadmin/js/dragdrop.js
===================================================================
--- tags/2.8.2/wb/modules/jsadmin/js/dragdrop.js	(nonexistent)
+++ tags/2.8.2/wb/modules/jsadmin/js/dragdrop.js	(revision 1481)
@@ -0,0 +1,346 @@
+// Copyright 2006 Stepan Riha
+// www.nonplus.net
+// $Id: dragdrop.js 2 2006-04-18 03:04:39Z stepan $
+/**
+* -----------------------------------------------------------------------------------------
+*  MODIFICATON FOR THE JSADMIN MODULE
+* -----------------------------------------------------------------------------------------
+*	MODIFICATION HISTORY:
+*   Swen Uth; 01/24/2008
+*   +INCLUDE VARIABLE buttonCell FOR ADAPTATION TO LATER LAYOUTS
+*
+**/
+JsAdmin.DD = {};
+JsAdmin.movable_rows = {};
+	
+JsAdmin.init_drag_drop = function() {
+
+	// There seems to be many different ways the ordering is set up
+	//		pages/index.php has UL/LI containing tables with single row
+	//		pages/sections.php has a TABLE with many rows
+	//		pages/modify.php for manuals is completely weird...
+	// So we only want to deal with pages & sections...
+
+	var page_type = '';
+	var is_tree = false;
+
+	if(document.URL.indexOf(JsAdmin.ADMIN_URL + "/pages/index.php") > -1) {
+		page_type = 'pages';
+		is_tree = true;
+
+		// This page uses duplicate IDs and incorrectly nested lists:
+		// <ul id="p1">
+		//		<li id="p1"><table /></li>
+		//		<ul>... sub items ...</ul>
+		// </ul>
+		//
+		// We need to fix that to the following:
+		// <ul id="p1">
+		//		<li id="uniqueID"><table />
+		//		<ul>... sub items ...</ul>
+		//		</li>
+		// </ul>
+
+		// Stash all UL ids
+		var ids = {};
+		var lists = document.getElementsByTagName('ul');
+		for(var i = 0; i < lists.length; i++) {
+			if(lists[i].id) {
+				ids[lists[i].id] = true;
+			}
+		}
+
+		// Now fix all LIs
+		var items = document.getElementsByTagName('li');
+ 		for(var i = 0; i < items.length; i++) {
+			var item = items[i];
+
+			// Fix duplicate ID
+			if(ids[item.id]) {
+				item.id =  JsAdmin.util.getUniqueId();
+			}
+
+			// Fix UL parented by UL
+			var ul = JsAdmin.util.getNextSiblingNode(item, 'ul');
+			if(ul) {
+				var lis = ul.getElementsByTagName('li');
+ 				if(!lis || lis.length == 0) {
+					// Remove list without items
+					ul.parentNode.removeChild(ul);
+				} else {
+					// Make list child of list item
+					item.appendChild(ul);
+				}
+			}
+		}
+
+	} else if(document.URL.indexOf("/admin/pages/sections.php") > 0) {
+		page_type = 'sections';
+	} else {
+		// We don't do any other pages
+		return;
+	}
+
+	var links = document.getElementsByTagName('a');
+	var reImg = /(.*)move_(down|up)\.php(.*)/;
+
+	for(var i = 0; i < links.length; i++) {
+		var link = links[i];
+		var href = link.href || '';
+		var match = href.match(reImg);
+		if(!match) {
+			continue;
+		}
+		var url = match[1];
+		var op = match[2];
+		var params = match[3];
+		var tr = JsAdmin.util.getAncestorNode(link, 'tr');
+		var item = is_tree ? JsAdmin.util.getAncestorNode(tr, 'li') : tr;
+		if(!item) {
+			continue;
+		}
+
+		// Make sure we have a unique id
+		if(!item.id || YAHOO.util.Dom.get(item.id) != item) {
+			item.id = JsAdmin.util.getUniqueId();
+		}
+
+		if(is_tree) {
+			var parent = JsAdmin.util.getAncestorNode(item, 'ul');
+			new JsAdmin.DD.liDDSwap(item.id, (parent && parent.id) ? parent.id : 'top');
+		} else {
+			new JsAdmin.DD.trDDSwap(item.id);
+		}
+		item.className += " jsadmin_drag";
+
+		this.movable_rows[item.id] = { item: item, tr : tr, url : url, params : params };
+	}
+};
+
+//==========================================================================
+// Drag-drop utils
+//==========================================================================
+
+JsAdmin.DD.dragee = null;
+
+JsAdmin.DD.addMoveButton = function(tr, cell, op) {
+	if(op == 'down') {
+		cell++;
+	}
+	var item = JsAdmin.movable_rows[tr.id];
+	if(!JsAdmin.util.isNodeType(tr, 'tr')) {
+		var rows = tr.getElementsByTagName('tr');
+		tr = rows[0];
+	}
+	
+	var html = '<a href="' + item.url + 'move_' + op + '.php' + item.params
+				+ '"><img src="' + JsAdminTheme.THEME_URL + '/images/' + op
+				+ '_16.png" border="0" alt="' + op + '" /></a>';
+	tr.cells[cell].innerHTML = html;
+};
+
+JsAdmin.DD.deleteMoveButton = function(tr, cell, op) {
+	if(op == 'down') {
+		cell++;
+	}
+	if(!JsAdmin.util.isNodeType(tr, 'tr')) {
+		var rows = tr.getElementsByTagName('tr');
+		tr = rows[0];
+	}
+	
+	tr.cells[cell].innerHTML = "";
+};
+
+//==========================================================================
+// Drag-drop handling for table rows
+//==========================================================================
+
+JsAdmin.DD.trDDSwap = function(id, sGroup) {
+    this.init(id, sGroup);
+	this.addInvalidHandleType('a');
+	this.addInvalidHandleType('input');
+	this.addInvalidHandleType('select');
+    this.initFrame();
+	this.buttonCell = buttonCell;//, by Swen Uth
+	
+	// For Connection
+	this.scope = this;
+};
+
+JsAdmin.DD.trDDSwap.prototype = new YAHOO.util.DDProxy();
+
+JsAdmin.DD.trDDSwap.prototype.startDrag = function(x, y) {
+	if (JsAdmin.DD.dragee != this) {
+		this.rowIndex = this.getEl().rowIndex;
+		this.numRows = this.getEl().parentNode.rows.length;
+		this.opacity = YAHOO.util.Dom.getStyle(this.getEl(), "opacity");
+		this.background = YAHOO.util.Dom.getStyle(this.getEl(), "background");
+		YAHOO.util.Dom.setStyle(this.getEl(), "opacity", 0.5);
+		YAHOO.util.Dom.setStyle(this.getEl(), "background", "transparent");
+	}
+	JsAdmin.DD.dragee = this;
+};
+
+JsAdmin.DD.trDDSwap.prototype.onDragEnter = function(e, id) {
+  var elt = id ? YAHOO.util.Dom.get(id) : null;
+	var item = JsAdmin.movable_rows[this.getEl().id];
+	var rows = item.tr.parentNode.rows;
+	var wasFirst = item.tr.rowIndex == 1;
+	var wasLast = item.tr.rowIndex == this.numRows - 2;
+	if(elt.rowIndex < item.tr.rowIndex) {
+		elt.parentNode.insertBefore(item.tr, elt);
+	} else {
+		elt.parentNode.insertBefore(elt, item.tr);
+	}
+	// Fixup buttons
+	var isFirst = item.tr.rowIndex == 1;
+	var isLast = item.tr.rowIndex == this.numRows - 2;
+
+	if(wasFirst != isFirst) {
+		if(isFirst) {
+			JsAdmin.DD.deleteMoveButton(item.tr, this.buttonCell, 'up');
+			JsAdmin.DD.addMoveButton(JsAdmin.util.getNextSiblingNode(item.tr), this.buttonCell, 'up');
+		} else {
+			JsAdmin.DD.addMoveButton(item.tr, this.buttonCell, 'up');
+			JsAdmin.DD.deleteMoveButton(rows[1], this.buttonCell, 'up');
+		}
+	}
+	if(wasLast != isLast) {
+		if(isLast) {
+			JsAdmin.DD.deleteMoveButton(item.tr, this.buttonCell, 'down');
+			JsAdmin.DD.addMoveButton(JsAdmin.util.getPreviousSiblingNode(item.tr), this.buttonCell, 'down');
+		} else {
+			JsAdmin.DD.addMoveButton(item.tr, this.buttonCell, 'down');
+			JsAdmin.DD.deleteMoveButton(rows[rows.length-2], this.buttonCell, 'down');
+		}
+	}
+
+	this.DDM.refreshCache(this.groups);
+};
+
+JsAdmin.DD.trDDSwap.prototype.endDrag = function(e) {
+	YAHOO.util.Dom.setStyle(this.getEl(), "opacity", this.opacity);
+	YAHOO.util.Dom.setStyle(this.getEl(), "background", "#f0f0f0");
+	
+	JsAdmin.DD.dragee = null;
+
+	var newIndex = this.getEl().rowIndex;
+	if(newIndex != this.rowIndex) {
+		var url = JsAdmin.WB_URL + "/modules/jsadmin/move_to.php";
+		url += JsAdmin.movable_rows[this.getEl().id].params + "&position=" + newIndex;
+		document.body.className = String(document.body.className).replace(/(\s*)jsadmin_([a-z]+)/g, "$1") + " jsadmin_busy";
+		YAHOO.util.Connect.asyncRequest('GET', url, this, null);
+	}
+};
+
+JsAdmin.DD.trDDSwap.prototype.success = function(o) {
+	document.body.className = String(document.body.className).replace(/(\s*)jsadmin_([a-z]+)/g, "$1") + " jsadmin_success";
+};
+
+JsAdmin.DD.trDDSwap.prototype.failure = function(o) {
+	document.body.className = String(document.body.className).replace(/(\s*)jsadmin_([a-z]+)/, "$1") + " jsadmin_failure";
+};
+
+//==========================================================================
+// Drag-drop handling for list items
+//==========================================================================
+
+JsAdmin.DD.liDDSwap = function(id, sGroup) {
+    this.init(id, sGroup);
+	this.addInvalidHandleType('a');
+	this.addInvalidHandleType('input');
+	this.addInvalidHandleType('select');
+    this.initFrame();
+ this.buttonCell = buttonCell;//, by Swen Uth
+	this.counter = 0;
+};
+
+JsAdmin.DD.liDDSwap.prototype = new YAHOO.util.DDProxy();
+
+JsAdmin.DD.liDDSwap.prototype.startDrag = function(x, y) {
+	// On IE, startDrag is sometimes called twice
+	if(JsAdmin.DD.dragee && JsAdmin.DD.dragee != this) {
+		JsAdmin.DD.dragee.endDrag(null);
+	}
+	if(JsAdmin.DD.dragee != this) {
+		this.rowIndex = JsAdmin.util.getItemIndex(this.getEl());
+		this.opacity = YAHOO.util.Dom.getStyle(this.getEl(), "opacity");
+		this.background = YAHOO.util.Dom.getStyle(this.getEl(), "background");
+		YAHOO.util.Dom.setStyle(this.getEl(), "opacity", 0.5);
+
+		this.list = JsAdmin.util.getAncestorNode(this.getEl(), "ul");
+		this.list.className += " jsadmin_drag_area";
+	}
+	JsAdmin.DD.dragee = this;
+};
+
+JsAdmin.DD.liDDSwap.prototype.onDragEnter = function(e, id) {
+	// Swap with other element
+	var elt = id ? YAHOO.util.Dom.get(id) : null;
+	var item = JsAdmin.movable_rows[this.getEl().id];
+	var eltRowIndex = JsAdmin.util.getItemIndex(elt);
+	var rowIndex = JsAdmin.util.getItemIndex(this.getEl());
+	var wasFirst = !JsAdmin.util.getPreviousSiblingNode(this.getEl());
+	var wasLast = !JsAdmin.util.getNextSiblingNode(this.getEl());
+
+	if(eltRowIndex < rowIndex) {
+		elt.parentNode.insertBefore(this.getEl(), elt);
+	} else {
+		elt.parentNode.insertBefore(elt, this.getEl());
+	}
+	// Fixup buttons
+	var isFirst = !JsAdmin.util.getPreviousSiblingNode(this.getEl());
+	var isLast = !JsAdmin.util.getNextSiblingNode(this.getEl());
+
+	if(wasFirst != isFirst) {
+		if(isFirst) {
+			JsAdmin.DD.deleteMoveButton(item.tr, this.buttonCell, 'up');
+			JsAdmin.DD.addMoveButton(JsAdmin.util.getNextSiblingNode(item.item), this.buttonCell, 'up');
+		} else {
+			JsAdmin.DD.addMoveButton(item.item, this.buttonCell, 'up');
+			var first, prev = JsAdmin.util.getPreviousSiblingNode(item.item);
+			while(prev) {
+				first = prev;
+				prev = JsAdmin.util.getPreviousSiblingNode(prev);
+			}
+			JsAdmin.DD.deleteMoveButton(JsAdmin.movable_rows[first.id].tr, this.buttonCell, 'up');
+		}
+	}
+	if(wasLast != isLast) {
+		if(isLast) {
+			JsAdmin.DD.deleteMoveButton(item.tr, this.buttonCell, 'down');
+			JsAdmin.DD.addMoveButton(JsAdmin.util.getPreviousSiblingNode(item.item), this.buttonCell, 'down');
+		} else {
+			JsAdmin.DD.addMoveButton(item.item, this.buttonCell, 'down');
+			var last, next = JsAdmin.util.getNextSiblingNode(item.item);
+			while(next) {
+				last = next;
+				next = JsAdmin.util.getNextSiblingNode(next);
+			}
+			JsAdmin.DD.deleteMoveButton(JsAdmin.movable_rows[last.id].tr, this.buttonCell, 'down');
+		}
+	}
+
+	this.DDM.refreshCache(this.groups);
+};
+
+JsAdmin.DD.liDDSwap.prototype.endDrag = function(e) {
+	YAHOO.util.Dom.setStyle(this.getEl(), "opacity", this.opacity);
+	this.list.className = String(this.list.className).replace(/(\s*)jsadmin_([a-z]+)/g, "$1");
+	JsAdmin.DD.dragee = null;
+	var newIndex = JsAdmin.util.getItemIndex(this.getEl());
+	if(newIndex != this.rowIndex) {
+		var url = JsAdmin.WB_URL + "/modules/jsadmin/move_to.php";
+		url += JsAdmin.movable_rows[this.getEl().id].params + "&position=" + (newIndex+1);
+		document.body.className = String(document.body.className).replace(/(\s*)jsadmin_([a-z]+)/g, "$1") + " jsadmin_busy";
+		YAHOO.util.Connect.asyncRequest('GET', url, this, null);
+	}
+};
+
+JsAdmin.DD.liDDSwap.prototype.success = function(o) {
+	document.body.className = String(document.body.className).replace(/(\s*)jsadmin_([a-z]+)/g, "$1") + " jsadmin_success";
+};
+
+JsAdmin.DD.liDDSwap.prototype.failure = function(o) {
+	document.body.className = String(document.body.className).replace(/(\s*)jsadmin_([a-z]+)/, "$1") + " jsadmin_failure";
+};

Property changes on: tags/2.8.2/wb/modules/jsadmin/js/dragdrop.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/modules/jsadmin/js/index.php
===================================================================
--- tags/2.8.2/wb/modules/jsadmin/js/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/jsadmin/js/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/jsadmin/js/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/jsadmin/js/jsadmin.js
===================================================================
--- tags/2.8.2/wb/modules/jsadmin/js/jsadmin.js	(nonexistent)
+++ tags/2.8.2/wb/modules/jsadmin/js/jsadmin.js	(revision 1481)
@@ -0,0 +1,162 @@
+// Copyright 2006 Stepan Riha
+// www.nonplus.net
+// $Id: jsadmin.js 2 2006-04-18 03:04:39Z stepan $
+
+// Initialize JsAdmin when page loads
+JsAdmin.loadHandler = function(ev, self) {
+	if(self.init_tool) {
+		self.init_tool();
+	}
+	if(self.restore_toggled) {
+		self.restore_toggled();
+		YAHOO.util.Event.addListener(window, 'unload', JsAdmin.unloadHandler, self, false);
+	}
+	if(self.init_drag_drop) {
+		self.init_drag_drop();
+	}
+};
+
+// Store JsAdmin cookies when page unloads
+JsAdmin.unloadHandler = function(ev, self) {
+	self.save_toggled();
+};
+
+JsAdmin.rowMouseOverHandler = function(ev, tr) {
+	YAHOO.util.Dom.setStyle(tr, 'background' ,'#fea');
+};
+
+JsAdmin.rowMouseOutHandler = function(ev, tr) {
+	YAHOO.util.Dom.setStyle(tr, 'background' ,'');
+};
+
+YAHOO.util.Event.addListener(window, 'load', JsAdmin.loadHandler, JsAdmin, false);
+
+JsAdmin.util = {
+	createCookie : function(name,value,days)
+	{
+		if (days)
+		{
+			var date = new Date();
+			date.setTime(date.getTime()+(days*24*60*60*1000));
+			var expires = "; expires="+date.toGMTString();
+		}
+		else var expires = "";
+		document.cookie = name+"="+value+expires+"; path=/";
+	},
+
+	readCookie : function(name)
+	{
+		var nameEQ = name + "=";
+		var ca = document.cookie.split(';');
+		for(var i=0;i < ca.length;i++)
+		{
+			var c = ca[i];
+			while (c.charAt(0)==' ') c = c.substring(1,c.length);
+			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
+		}
+		return null;
+	},
+
+	eraseCookie : function(name)
+	{
+		this.createCookie(name,"",-1);
+	},
+
+	next_id : 1,
+	getUniqueId : function () {
+		var id;
+		do {
+			id = 'jsadmin_id_' + this.next_id++;
+		} while(YAHOO.util.Dom.get(id));
+		return id;
+	},
+	
+	isNodeType : function(elt, type) {
+		if(elt) {
+			return elt.nodeName.toUpperCase() == type.toUpperCase();
+		}
+		return false;
+	},
+
+	getItemIndex : function (elt) {
+		var type = elt.nodeName;
+		var index = 0;
+		for(var sib = elt.previousSibling; sib; sib = sib.previousSibling) {
+			if(sib.nodeName == type) {
+				index++;
+			}
+		}
+		return index;
+	},
+	
+	getAncestorNode : function(elt, type) {
+		if(elt) {
+			if(type) {
+				type = type.toUpperCase();
+			} else {
+				type = elt.nodeName.toUpperCase();
+			}
+			elt = elt.parentNode;
+			while(elt && elt.nodeName.toUpperCase() != type) {
+				elt = elt.parentNode;
+			}
+		}
+		return elt;
+	},
+	
+	getNextSiblingNode : function (elt, type) {
+		if(elt) {
+			if(type) {
+				type = type.toUpperCase();
+			} else {
+				type = elt.nodeName.toUpperCase();
+			}
+			elt = elt.nextSibling;
+			while(elt && elt.nodeName.toUpperCase() != type) {
+				elt = elt.nextSibling;
+			}
+		}
+		return elt;
+	},
+
+	matchNextSibling : function (elt, re) {
+		if(elt) {
+			elt = elt.nextSibling;
+			while(elt && !elt.nodeName.match(re)) {
+				elt = elt.nextSibling;
+			}
+		}
+		return elt;
+	},
+
+	getPreviousSiblingNode : function (elt, type) {
+		if(elt) {
+			if(type) {
+				type = type.toUpperCase();
+			} else {
+				type = elt.nodeName.toUpperCase();
+			}
+			elt = elt.previousSibling;
+			while(elt && elt.nodeName.toUpperCase() != type) {
+				elt = elt.previousSibling;
+			}
+		}
+		return elt;
+	},
+
+	insertBefore : function(parent, newChild, beforeChild) {
+		if(beforeChild) {
+			parent.insertBefore(newChild, beforeChild);
+		} else {
+			parent.appendChild(newChild);
+		}
+	},
+
+	insertAfter : function(parent, newChild, afterChild) {
+		if(afterChild) {
+			this.insertBefore(parent, newChild, afterChild.nextSibling);
+		} else {
+			this.insertBefore(parent, newChild, parent.firstChild);
+		}
+	}
+};

Property changes on: tags/2.8.2/wb/modules/jsadmin/js/jsadmin.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/modules/jsadmin/js/tool.js
===================================================================
--- tags/2.8.2/wb/modules/jsadmin/js/tool.js	(nonexistent)
+++ tags/2.8.2/wb/modules/jsadmin/js/tool.js	(revision 1481)
@@ -0,0 +1,14 @@
+// Copyright 2006 Stepan Riha
+// www.nonplus.net
+// $Id: tool.js 2 2006-04-18 03:04:39Z stepan $
+
+JsAdmin.init_tool = function() {
+	var instruction = YAHOO.util.Dom.get('jsadmin_install');
+	if(instruction) {
+		instruction.style.display = 'none';
+	}
+	var form = YAHOO.util.Dom.get('jsadmin_form');
+	if(form) {
+		form.style.display = '';
+	}
+};

Property changes on: tags/2.8.2/wb/modules/jsadmin/js/tool.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/modules/jsadmin/js/restore_pages.js
===================================================================
--- tags/2.8.2/wb/modules/jsadmin/js/restore_pages.js	(nonexistent)
+++ tags/2.8.2/wb/modules/jsadmin/js/restore_pages.js	(revision 1481)
@@ -0,0 +1,78 @@
+// Copyright 2006 Stepan Riha
+// www.nonplus.net
+// $Id: restore_pages.js 2 2006-04-18 03:04:39Z stepan $
+
+// Array of ids that can be toggled using toggle_visibility()
+JsAdmin.toggled_ids = function() {
+	var links = document.getElementsByTagName('a');
+	var ids = [];
+	var reId = /toggle_visibility\s*\(\s*\'([^\']+)/;
+
+	for(var i = 0; i < links.length; i++) {
+		var href = links[i].href || '';
+		var match = href.match(reId);
+		if(!match) {
+			continue;
+		}
+		var id = match[1];
+		ids.push(id);
+	}
+
+	if(ids.length > 0) {
+		return ids;
+	} else {
+		return false;
+	}
+};
+
+// Expand sections stored in the wb_jsadmin_pages cookie
+JsAdmin.restore_toggled = function() {
+	var ids = this.toggled_ids();
+
+	if(!ids) {
+		return;
+	}
+
+	var saved = this.util.readCookie('wb_jsadmin_pages');
+	if(!saved) {
+		return;
+	}
+
+	var reNum = /(\d+)/;
+
+	saved = ',' + saved + ',';
+
+	for(var i = ids.length-1; i >= 0; i--) {
+		var id = ids[i];
+		if(saved.indexOf(',' + id + ',') >= 0) {
+			toggle_visibility(id);
+			var match = id.match(reNum);
+			if(match)
+				toggle_plus_minus(match[1]);
+		}
+	}
+};
+
+// Store expanded section ids in the wb_jsadmin_pages cookie
+JsAdmin.save_toggled = function() {
+
+	var ids = this.toggled_ids();
+
+	if(!ids) {
+		return;
+	}
+
+	var visible = [];
+	for(var i = 0; i < ids.length; i++) {
+		var id = ids[i];
+		var elt = YAHOO.util.Dom.get(id);
+		var display = elt.style.display;
+		if(display == 'block') {
+			visible.push(ids[i]);
+		}
+	}
+
+	var ids = visible.join(",");
+	this.util.createCookie('wb_jsadmin_pages', ids, 14);
+};
+

Property changes on: tags/2.8.2/wb/modules/jsadmin/js/restore_pages.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/modules/jsadmin/languages/DA.php
===================================================================
--- tags/2.8.2/wb/modules/jsadmin/languages/DA.php	(nonexistent)
+++ tags/2.8.2/wb/modules/jsadmin/languages/DA.php	(revision 1481)
@@ -0,0 +1,36 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  DANISH LANGUAGE FILE FOR THE ADDON: JAVASCRIPT ADMIN
+ -----------------------------------------------------------------------------------------
+*/
+
+// Headings and text outputs
+$MOD_JSADMIN['TXT_HEADING_B'] = 'V&aelig;lg de Javascript funktioner, du vil g&oslash;re aktive';
+$MOD_JSADMIN['TXT_PERSIST_ORDER_B'] = 'Husk udvidede sider';
+$MOD_JSADMIN['TXT_AJAX_ORDER_PAGES_B'] = 'Byt om p&aring; sider ved hj&aelig;lp af  drag-and-drop';
+$MOD_JSADMIN['TXT_AJAX_ORDER_SECTIONS_B'] = 'Byt om p&aring; sektioner ved hj&aelig;lp af  drag-and-drop';
+$MOD_JSADMIN['TXT_ERROR_INSTALLINFO_B'] = '<h1>Fejl</h1><p>JavaScript Admin kr&aelig;ver YUI (Yahoo User Interface) framework.<br />F&oslash;lgende filer er n&oslash;dvendige for at f&aring; Javascript Admin til at virke som forventet:<br /><br />';
+
+?>

Property changes on: tags/2.8.2/wb/modules/jsadmin/languages/DA.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/jsadmin/languages/FR.php
===================================================================
--- tags/2.8.2/wb/modules/jsadmin/languages/FR.php	(nonexistent)
+++ tags/2.8.2/wb/modules/jsadmin/languages/FR.php	(revision 1481)
@@ -0,0 +1,38 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  FRENCH LANGUAGE FILE FOR THE ADDON: JAVASCRIPT ADMIN
+ -----------------------------------------------------------------------------------------
+*/
+//Module Description
+$module_description = 'Ce module am&eacute;liore l&apos;interactivit&eacute; de l&apos;interface d&apos;administration gr&acirc;ce &agrave; l&apos;ajout de fonctionnalit&eacute;s javascript am&eacute;lior&eacute;es. Utilise la librairie YahooUI.';
+
+// Headings and text outputs
+$MOD_JSADMIN['TXT_HEADING_B'] 				= 'Veuillez s&eacute;lectionner la fonctionnalit&eacute; Javascript &agrave; activer';
+$MOD_JSADMIN['TXT_PERSIST_ORDER_B'] 		= 'Garder en m&eacute;moire l&apos;arborescence des pages';
+$MOD_JSADMIN['TXT_AJAX_ORDER_PAGES_B'] 	= 'R&eacute;organisation des pages gr&acirc;ce au glisser-d&eacute;poser';
+$MOD_JSADMIN['TXT_AJAX_ORDER_SECTIONS_B'] = 'R&eacute;organisation des sections gr&acirc;ce au glisser-d&eacute;poser';
+$MOD_JSADMIN['TXT_ERROR_INSTALLINFO_B'] 	= '<h1>Erreur</h1><p>JavaScript Admin a besoin du framework YUI (Yahoo User Interface).<br />Les fichiers suivants sont requis pour que Javascript Admin fonctionne correctement:<br /><br />';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/jsadmin/languages/FR.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/jsadmin/languages/NL.php
===================================================================
--- tags/2.8.2/wb/modules/jsadmin/languages/NL.php	(nonexistent)
+++ tags/2.8.2/wb/modules/jsadmin/languages/NL.php	(revision 1481)
@@ -0,0 +1,36 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  DUTCH LANGUAGE FILE FOR THE ADDON: JAVASCRIPT ADMIN
+ -----------------------------------------------------------------------------------------
+*/
+
+// Headings and text outputs
+$MOD_JSADMIN['TXT_HEADING_B'] 				= 'Kies de Javascript functies die je wenst te gebruiken';
+$MOD_JSADMIN['TXT_PERSIST_ORDER_B'] 		= "Onthouden van uitgeklapte pagina's";
+$MOD_JSADMIN['TXT_AJAX_ORDER_PAGES_B'] 	= "Klikken-en-slepen om pagina's te herordenen";
+$MOD_JSADMIN['TXT_AJAX_ORDER_SECTIONS_B'] = 'Klikken-en-slepen om secties te herordenen';
+$MOD_JSADMIN['TXT_ERROR_INSTALLINFO_B'] 	= '<h1>Fout</h1><p>JavaScript Admin heeft de YUI (Yahoo User Interface) code nodig.<br />De volgende bestanden zijn nodig om Javascript Admin te laten werken:<br /><br />';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/jsadmin/languages/NL.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/jsadmin/languages/NO.php
===================================================================
--- tags/2.8.2/wb/modules/jsadmin/languages/NO.php	(nonexistent)
+++ tags/2.8.2/wb/modules/jsadmin/languages/NO.php	(revision 1481)
@@ -0,0 +1,36 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+  -----------------------------------------------------------------------------------------
+  NORSK LANGUAGE FILE FOR THE ADDON: JAVASCRIPT ADMIN
+  -----------------------------------------------------------------------------------------
+   */
+  
+// Headings and text outputs
+$MOD_JSADMIN['TXT_HEADING_B']				= 'Venligst velg de  Javascript funksjonene du vil aktivere';
+$MOD_JSADMIN['TXT_PERSIST_ORDER_B']			= 'Husk udtvidede grener i side oversikten';
+$MOD_JSADMIN['TXT_AJAX_ORDER_PAGES_B']		= 'Ordne siderekkef&oslash;lge ved &aring; bruke Dra og Slipp';
+$MOD_JSADMIN['TXT_AJAX_ORDER_SECTIONS_B']	= 'Ordne seksjonsrekkef&oslash;lge ved &aring; bruke Dra og Slipp';
+$MOD_JSADMIN['TXT_ERROR_INSTALLINFO_B']		= '<h1>Feil</h1><p>JavaScript Admin krever  YUI (Yahoo User Interface) .<br />Det er behov for f&oslash;lgende filer for at Javascript Admin skal funger som forventet:<br /><br />';
+  
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/jsadmin/languages/NO.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/jsadmin/languages/EN.php
===================================================================
--- tags/2.8.2/wb/modules/jsadmin/languages/EN.php	(nonexistent)
+++ tags/2.8.2/wb/modules/jsadmin/languages/EN.php	(revision 1481)
@@ -0,0 +1,36 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  ENGLISH LANGUAGE FILE FOR THE ADDON: JAVASCRIPT ADMIN
+ -----------------------------------------------------------------------------------------
+*/
+
+// Headings and text outputs
+$MOD_JSADMIN['TXT_HEADING_B'] 				= 'Please choose the Javascript functions you want to enable';
+$MOD_JSADMIN['TXT_PERSIST_ORDER_B'] 		= 'Remember expanded pages';
+$MOD_JSADMIN['TXT_AJAX_ORDER_PAGES_B'] 	= 'Reorder pages by the use of drag-and-drop';
+$MOD_JSADMIN['TXT_AJAX_ORDER_SECTIONS_B'] = 'Reorder sections by the use of drag-and-drop';
+$MOD_JSADMIN['TXT_ERROR_INSTALLINFO_B'] 	= '<h1>Error</h1><p>JavaScript Admin requires the YUI (Yahoo User Interface) framework.<br />The following files are required to get Javascript Admin work as expected:<br /><br />';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/jsadmin/languages/EN.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/jsadmin/languages/RU.php
===================================================================
--- tags/2.8.2/wb/modules/jsadmin/languages/RU.php	(nonexistent)
+++ tags/2.8.2/wb/modules/jsadmin/languages/RU.php	(revision 1481)
@@ -0,0 +1,36 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project http://www.websitebaker.org/
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  RUSSIAN LANGUAGE FILE FOR THE ADDON: JAVASCRIPT ADMIN
+ -----------------------------------------------------------------------------------------
+*/
+
+// Headings and text outputs
+$MOD_JSADMIN['TXT_HEADING_B'] 				= '&#1055;&#1086;&#1078;&#1072;&#1083;&#1091;&#1081;&#1089;&#1090;&#1072; &#1074;&#1099;&#1073;&#1077;&#1088;&#1080;&#1090;&#1077; Javascript &#1092;&#1091;&#1085;&#1082;&#1094;&#1080;&#1080;, &#1082;&#1086;&#1090;&#1086;&#1088;&#1099;&#1077; &#1074;&#1099; &#1093;&#1086;&#1090;&#1080;&#1090;&#1077; &#1074;&#1082;&#1083;&#1102;&#1095;&#1080;&#1090;&#1100;';
+$MOD_JSADMIN['TXT_PERSIST_ORDER_B'] 		= '&#1047;&#1072;&#1087;&#1086;&#1084;&#1080;&#1085;&#1072;&#1090;&#1100; &#1087;&#1086;&#1088;&#1103;&#1076;&#1086;&#1082; &#1080; &#1074;&#1080;&#1076; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094; &#1074; &#1084;&#1077;&#1085;&#1102;';
+$MOD_JSADMIN['TXT_AJAX_ORDER_PAGES_B'] 	= '&#1048;&#1079;&#1084;&#1077;&#1085;&#1103;&#1090;&#1100; &#1087;&#1086;&#1088;&#1103;&#1076;&#1086;&#1082; &#1089;&#1090;&#1088;&#1072;&#1085;&#1080;&#1094;, &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1091;&#1103; drag-and-drop';
+$MOD_JSADMIN['TXT_AJAX_ORDER_SECTIONS_B'] = '&#1048;&#1079;&#1084;&#1077;&#1085;&#1103;&#1090;&#1100; &#1087;&#1086;&#1088;&#1103;&#1076;&#1086;&#1082; &#1089;&#1077;&#1082;&#1094;&#1080;&#1081;, &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1091;&#1103; drag-and-drop';
+$MOD_JSADMIN['TXT_ERROR_INSTALLINFO_B'] 	= '<h1>&#1054;&#1096;&#1080;&#1073;&#1082;&#1072;</h1><p>JavaScript Admin &#1090;&#1088;&#1077;&#1073;&#1091;&#1077;&#1090; YUI (Yahoo User Interface) framework.<br />&#1057;&#1083;&#1077;&#1076;&#1091;&#1102;&#1097;&#1080;&#1077; &#1092;&#1072;&#1081;&#1083;&#1099; &#1085;&#1077;&#1086;&#1073;&#1093;&#1086;&#1076;&#1080;&#1084;&#1099; &#1076;&#1083;&#1103; &#1082;&#1086;&#1088;&#1088;&#1077;&#1082;&#1090;&#1085;&#1086;&#1081; &#1088;&#1072;&#1073;&#1086;&#1090;&#1099; Javascript Admin:<br /><br />';
+
+?>

Property changes on: tags/2.8.2/wb/modules/jsadmin/languages/RU.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/jsadmin/languages/index.php
===================================================================
--- tags/2.8.2/wb/modules/jsadmin/languages/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/jsadmin/languages/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/jsadmin/languages/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/jsadmin/languages/DE.php
===================================================================
--- tags/2.8.2/wb/modules/jsadmin/languages/DE.php	(nonexistent)
+++ tags/2.8.2/wb/modules/jsadmin/languages/DE.php	(revision 1481)
@@ -0,0 +1,39 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  DEUTSCHE SPRACHDATEI FUER DAS MODUL: JAVASCRIPT ADMIN
+ -----------------------------------------------------------------------------------------
+*/
+
+// Deutsche Modulbeschreibung
+$module_description 	= 'Dieses Modul stellt Javascript Funktionen f&uuml;r die Website Baker Benutzeroberfl&auml;che zur Verf&uuml;gung. Verwendet das YahooUI Javascript Framework.';
+
+// Ueberschriften und Textausgaben
+$MOD_JSADMIN['TXT_HEADING_B'] 				= 'Bitte w&auml;hlen Sie die gew&uuml;nschten Javascript Funktionen aus';
+$MOD_JSADMIN['TXT_PERSIST_ORDER_B'] 		= 'Ge&ouml;ffneten Seitenbaum merken';
+$MOD_JSADMIN['TXT_AJAX_ORDER_PAGES_B'] 	= 'Sortierung von Seiten per "drag-and-drop" erlauben';
+$MOD_JSADMIN['TXT_AJAX_ORDER_SECTIONS_B'] = 'Sortierung von Abschnitten per "drag-and-drop" erlauben';
+$MOD_JSADMIN['TXT_ERROR_INSTALLINFO_B'] 	= '<h1>Fehler</h1><p>JavaScript Admin ben&ouml;tigt das YUI (Yahoo User Interface) Framework.<br />Folgende Dateien werden f&uuml;r das Modul ben&ouml;tigt:<br /><br />';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/jsadmin/languages/DE.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/jsadmin/jsadmin_backend_include.php
===================================================================
--- tags/2.8.2/wb/modules/jsadmin/jsadmin_backend_include.php	(nonexistent)
+++ tags/2.8.2/wb/modules/jsadmin/jsadmin_backend_include.php	(revision 1481)
@@ -0,0 +1,116 @@
+<?php
+
+// $Id$
+
+// JsAdmin module for Website Baker
+// Copyright (C) 2006, Stepan Riha
+// www.nonplus.net
+
+// modified by Swen Uth for Website Baker 2.7
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Direct access prevention
+defined('WB_PATH') OR die(header('Location: ../index.php'));
+
+// obtain the admin folder (e.g. /admin)
+$admin_folder = str_replace(WB_PATH, '', ADMIN_PATH);
+
+$JSADMIN_PATH = WB_URL.'/modules/jsadmin';
+$YUI_PATH = WB_URL.'/include/yui';
+$script = $_SERVER['SCRIPT_NAME'];
+if(!$script)
+	$script = $PHP_SELF;
+
+if(strstr($script, $admin_folder."/pages/index.php"))
+	$page_type = 'pages';
+elseif(strstr($script, $admin_folder."/pages/sections.php"))
+	$page_type = 'sections';
+elseif(strstr($script, $admin_folder."/settings/tool.php")
+	&& isset($_REQUEST["tool"]) && $_REQUEST["tool"] == 'jsadmin')
+	$page_type = 'config';
+else
+	$page_type = '';
+if($page_type) {
+	require_once(WB_PATH.'/modules/jsadmin/jsadmin.php');
+
+	// Default scripts
+	$js_buttonCell = 3;
+	$js_scripts = Array();
+	$js_scripts[] = 'jsadmin.js';
+
+	if($page_type == 'pages') {
+		if(!get_setting('mod_jsadmin_persist_order', '1')) {   //Maybe Bug settings to negativ for persist , by Swen Uth
+			$js_scripts[] = 'restore_pages.js';
+  		}
+		if(get_setting('mod_jsadmin_ajax_order_pages', '1')) {
+			$js_scripts[] = 'dragdrop.js';
+			$js_buttonCell= 7; // This ist the Cell where the Button "Up" is , by Swen Uth
+		}
+	} elseif($page_type == 'sections') {
+		if(get_setting('mod_jsadmin_ajax_order_sections', '1')) {
+			$js_scripts[] = 'dragdrop.js';
+			if(SECTION_BLOCKS) {
+			$js_buttonCell= 5;}
+      else{ $js_buttonCell= 5;} // This ist the Cell where the Button "Up" is , by Swen Uth
+		}
+	} elseif($page_type == 'config') {
+		$js_scripts[] = 'tool.js';
+	}
+?>
+
+<script  type="text/javascript" language="JavaScript">
+<!--
+var JsAdmin = { WB_URL : '<?php echo WB_URL ?>', ADMIN_URL : '<?php echo ADMIN_URL ?>' };
+var JsAdminTheme = { THEME_URL : '<?php echo THEME_URL ?>' };
+//-->
+</script>
+<?php
+ // For variable cell structure in the tables of admin content
+  echo "<script type='text/javascript'>buttonCell=".$js_buttonCell.";</script>\n";   // , by Swen  Uth
+
+ // Check and Load the needed YUI functions  //, all by Swen Uth
+  $YUI_ERROR=false; // ist there an Error
+  $YUI_PUT ='';   // String with javascipt includes
+  $YUI_PUT_MISSING_Files=''; // Strin with missing files
+  reset($js_yui_scripts);
+  foreach($js_yui_scripts as $script) {
+    if(file_exists($WB_MAIN_RELATIVE_PATH.$script)){
+        $YUI_PUT=$YUI_PUT."<script type='text/javascript' src='".$WB_MAIN_RELATIVE_PATH.$script."'></script>\n"; // go and include
+    } else {
+        $YUI_ERROR=true;
+        $YUI_PUT_MISSING_Files=$YUI_PUT_MISSING_Files."- ".WB_URL.$script."\\n";   // catch all missing files
+    }
+	}
+	if(!$YUI_ERROR)
+	{
+    echo $YUI_PUT;  // no Error so go and include
+    // Load the needed functions
+	  foreach($js_scripts as $script) {
+		  echo "<script type='text/javascript' src='".$JSADMIN_PATH."/js/".$script."'></script>\n";
+	  }
+  } else  {
+      echo "<script type='text/javascript'>alert('YUI ERROR!! File not Found!! > \\n".$YUI_PUT_MISSING_Files." so look in the include folder or switch Javascript Admin off!');</script>\n"; //, by Swen Uth
+  }
+
+ }
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/jsadmin/jsadmin_backend_include.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/jsadmin/tool.php
===================================================================
--- tags/2.8.2/wb/modules/jsadmin/tool.php	(nonexistent)
+++ tags/2.8.2/wb/modules/jsadmin/tool.php	(revision 1481)
@@ -0,0 +1,119 @@
+<?php
+
+// $Id$
+
+// JsAdmin module for Website Baker
+// Copyright (C) 2006, Stepan Riha
+// www.nonplus.net
+
+// modified by Swen Uth for Website Baker 2.7
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// direct access prevention
+defined('WB_PATH') OR die(header('Location: ../index.php'));
+
+// check if module language file exists for the language set by the user (e.g. DE, EN)
+if(!file_exists(WB_PATH .'/modules/jsadmin/languages/'.LANGUAGE .'.php')) {
+	// no module language file exists for the language set by the user, include default module language file EN.php
+	require_once(WB_PATH .'/modules/jsadmin/languages/EN.php');
+} else {
+	// a module language file exists for the language defined by the user, load it
+	require_once(WB_PATH .'/modules/jsadmin/languages/'.LANGUAGE .'.php');
+}
+
+// check if backend.css file needs to be included into the <body></body>
+if(!method_exists($admin, 'register_backend_modfiles') && file_exists(WB_PATH .'/modules/jsadmin/backend.css')) {
+	echo '<style type="text/css">';
+	include(WB_PATH .'/modules/jsadmin/backend.css');
+	echo "\n</style>\n";
+}
+
+require_once(WB_PATH.'/modules/jsadmin/jsadmin.php');
+
+// Check if user selected what add-ons to reload
+if(isset($_POST['submit']) AND $_POST['submit'] != '') {
+	// Include functions file
+	require_once(WB_PATH.'/framework/functions.php');
+	save_setting('mod_jsadmin_persist_order', isset($_POST['persist_order']));
+	save_setting('mod_jsadmin_ajax_order_pages', isset($_POST['ajax_order_pages']));
+	save_setting('mod_jsadmin_ajax_order_sections', isset($_POST['ajax_order_sections']));
+	echo '<div style="border: solid 2px #9c9; background: #ffd; padding: 0.5em; margin-top: 1em">'.$MESSAGE['SETTINGS']['SAVED'].'</div>';
+}
+
+// Display form
+$persist_order = get_setting('mod_jsadmin_persist_order', true) ? 'checked="checked"' : '';
+$ajax_order_pages = get_setting('mod_jsadmin_ajax_order_pages', true) ? 'checked="checked"' : '';
+$ajax_order_sections = get_setting('mod_jsadmin_ajax_order_sections', true) ? 'checked="checked"' : '';
+?>
+<?php
+
+// THIS ROUTINE CHECKS THE EXISTING OFF ALL NEEDED YUI FILES
+  $YUI_ERROR=false; // ist there an Error
+  $YUI_PUT ='';   // String with javascipt includes
+  $YUI_PUT_MISSING_Files=''; // String with missing files
+  reset($js_yui_scripts);
+  foreach($js_yui_scripts as $script) {
+     if(!file_exists($WB_MAIN_RELATIVE_PATH.$script)){
+        $YUI_ERROR=true;
+        $YUI_PUT_MISSING_Files =$YUI_PUT_MISSING_Files."- ".WB_URL.$script."<br />";   // catch all missing files
+    }
+	}
+	if($YUI_ERROR)
+	{
+    ?><div id="jsadmin_install" style="border: solid 2px #c99; background: #ffd; padding: 0.5em; margin-top: 1em">
+
+     <?php echo $MOD_JSADMIN['TXT_ERROR_INSTALLINFO_B'].$YUI_PUT_MISSING_Files; ?>
+      </div>
+      <?php
+  }
+  else
+  {
+  ?>
+   <form id="jsadmin_form" style="margin-top: 1em; display: true;" action="<?php echo $_SERVER['REQUEST_URI']; ?>" method="post">
+   <table cellpadding="4" cellspacing="0" border="0">
+   <tr>
+	     <td colspan="2"><?php echo $MOD_JSADMIN['TXT_HEADING_B']; ?>:</td>
+   </tr>
+   <tr>
+	     <td width="20"><input type="checkbox" name="persist_order" id="persist_order" value="true" <?php echo $persist_order; ?>/></td>
+	     <td><label for="persist_order"><?php echo $MOD_JSADMIN['TXT_PERSIST_ORDER_B']; ?></label></td>
+   </tr>
+   <tr>
+	     <td width="20"><input type="checkbox" name="ajax_order_pages" id="ajax_order_pages" value="true" <?php echo $ajax_order_pages; ?>/></td>
+	     <td><label for="ajax_order_pages"><?php echo $MOD_JSADMIN['TXT_AJAX_ORDER_PAGES_B']; ?></label></td>
+   </tr>
+   <tr>
+	     <td width="20"><input type="checkbox" name="ajax_order_sections" id="ajax_order_sections" value="true" <?php echo $ajax_order_sections; ?>/></td>
+	     <td><label for="ajax_order_sections"><?php echo $MOD_JSADMIN['TXT_AJAX_ORDER_SECTIONS_B']; ?></label></td>
+   </tr>
+   <tr>
+	     <td>&nbsp;</td>
+	     <td>
+		   <input type="submit" name="submit" value="<?php echo $TEXT['SAVE']; ?>" />
+	    </td>
+   </tr>
+   </table>
+   </form>
+ <?php
+ }
+?>

Property changes on: tags/2.8.2/wb/modules/jsadmin/tool.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/jsadmin/uninstall.php
===================================================================
--- tags/2.8.2/wb/modules/jsadmin/uninstall.php	(nonexistent)
+++ tags/2.8.2/wb/modules/jsadmin/uninstall.php	(revision 1481)
@@ -0,0 +1,37 @@
+<?php
+
+// $Id$
+
+// JsAdmin module for Website Baker
+// Copyright (C) 2006, Stepan Riha
+// www.nonplus.net
+
+// modified by Swen Uth for Website Baker 2.7
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// prevent this file from being accessed directly
+if(!defined('WB_PATH')) { exit('Cannot access this file directly'); }
+
+$table = TABLE_PREFIX ."mod_jsadmin";
+$database->query("DROP TABLE `$table`");
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/jsadmin/uninstall.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/jsadmin/images/index.php
===================================================================
--- tags/2.8.2/wb/modules/jsadmin/images/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/jsadmin/images/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/jsadmin/images/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/jsadmin/images/busy.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/jsadmin/images/busy.gif
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/jsadmin/images/failure.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/jsadmin/images/failure.gif
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/jsadmin/images/success.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/jsadmin/images/success.gif
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/jsadmin/jsadmin.php
===================================================================
--- tags/2.8.2/wb/modules/jsadmin/jsadmin.php	(nonexistent)
+++ tags/2.8.2/wb/modules/jsadmin/jsadmin.php	(revision 1481)
@@ -0,0 +1,64 @@
+<?php
+
+// $Id$
+
+// JsAdmin module for Website Baker
+// Copyright (C) 2006, Stepan Riha
+// www.nonplus.net
+
+// modified by Swen Uth for Website Baker 2.7
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+function get_setting($name, $default = '') {
+	global $database;
+	$rs = $database->query("SELECT value FROM ".TABLE_PREFIX."mod_jsadmin WHERE name = '".$name."'");
+	if($row = $rs->fetchRow())
+		return $row['value'];
+	return
+		$default;
+}
+
+function save_setting($name, $value) {
+	global $database;
+
+	$prev_value = get_setting($name, false);
+
+	if($prev_value === false) {
+		$database->query("INSERT INTO ".TABLE_PREFIX."mod_jsadmin (name,value) VALUES ('$name','$value')");
+	} else {
+		$database->query("UPDATE ".TABLE_PREFIX."mod_jsadmin SET value = '$value' WHERE name = '$name'");
+	}
+}
+
+// the follwing variables to use and check existing the YUI
+$WB_MAIN_RELATIVE_PATH="../..";
+$YUI_PATH = '/include/yui';
+$js_yui_min = "-min";  // option for smaller code so faster
+$js_yui_scripts = Array();
+$js_yui_scripts[] = $YUI_PATH.'/yahoo/yahoo'.$js_yui_min.'.js';
+$js_yui_scripts[] = $YUI_PATH.'/event/event'.$js_yui_min.'.js';
+$js_yui_scripts[] = $YUI_PATH.'/dom/dom'.$js_yui_min.'.js';
+$js_yui_scripts[] = $YUI_PATH.'/connection/connection'.$js_yui_min.'.js';
+$js_yui_scripts[] = $YUI_PATH.'/dragdrop/dragdrop'.$js_yui_min.'.js';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/jsadmin/jsadmin.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/jsadmin/install.php
===================================================================
--- tags/2.8.2/wb/modules/jsadmin/install.php	(nonexistent)
+++ tags/2.8.2/wb/modules/jsadmin/install.php	(revision 1481)
@@ -0,0 +1,54 @@
+<?php
+
+// $Id$
+
+// JsAdmin module for Website Baker
+// Copyright (C) 2006, Stepan Riha
+// www.nonplus.net
+
+// modified by Swen Uth for Website Baker 2.7
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// prevent this file from being accessed directly
+if(!defined('WB_PATH')) { exit('Cannot access this file directly'); }
+
+// add new rows to table "settings"
+
+$table = TABLE_PREFIX ."mod_jsadmin";
+$database->query("DROP TABLE IF EXISTS `$table`");
+
+$database->query("
+	CREATE TABLE `$table` (
+    `id` INT(11) NOT NULL DEFAULT '0',
+		`name` VARCHAR(255) NOT NULL DEFAULT '0',
+		`value` INT(11) NOT NULL DEFAULT '0',
+   	PRIMARY KEY (`id`)
+	)
+");
+
+global $database;
+$database->query("INSERT INTO ".$table." (id,name,value) VALUES ('1','mod_jsadmin_persist_order','0')");
+$database->query("INSERT INTO ".$table." (id,name,value) VALUES ('2','mod_jsadmin_ajax_order_pages','0')");
+$database->query("INSERT INTO ".$table." (id,name,value) VALUES ('3','mod_jsadmin_ajax_order_sections','0')");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/jsadmin/install.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/jsadmin/index.php
===================================================================
--- tags/2.8.2/wb/modules/jsadmin/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/jsadmin/index.php	(revision 1481)
@@ -0,0 +1,34 @@
+<?php
+
+// $Id$
+
+// JsAdmin module for Website Baker
+// Copyright (C) 2006, Stepan Riha
+// www.nonplus.net
+
+// modified by Swen Uth for Website Baker 2.7
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/jsadmin/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/jsadmin/move_to.php
===================================================================
--- tags/2.8.2/wb/modules/jsadmin/move_to.php	(nonexistent)
+++ tags/2.8.2/wb/modules/jsadmin/move_to.php	(revision 1481)
@@ -0,0 +1,97 @@
+<?php
+
+// $Id$
+
+// JsAdmin module for Website Baker
+// Copyright (C) 2006, Stepan Riha
+// www.nonplus.net
+
+// modified by Swen Uth for Website Baker 2.7
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+require('../../config.php');
+
+ if(isset($_GET['page_id']) AND is_numeric($_GET['page_id']) AND is_numeric(@$_GET['position'])) {
+	$position = $_GET['position'];
+
+	// Include WB admin wrapper script
+	$update_when_modified = true; // Tells script to update when this page was last updated
+	require(WB_PATH.'/modules/admin.php');
+
+	// Get common fields
+	if(isset($_GET['section_id']) AND is_numeric($_GET['section_id'])) {
+		$page_id = $_GET['page_id'];
+		$id = $_GET['section_id'];
+		$id_field = 'section_id';
+		$common_field = 'page_id';
+		$table = TABLE_PREFIX.'sections';
+	} else {
+		$id = $_GET['page_id'];
+		$id_field = 'page_id';
+		$common_field = 'parent';
+		$table = TABLE_PREFIX.'pages';
+	}
+
+	// Get current index
+	$sql = <<<EOT
+SELECT $common_field, position FROM $table WHERE $id_field = $id
+EOT;
+	echo "$sql<br>";
+	$rs = $database->query($sql);
+	if($row = $rs->fetchRow()) {
+		$common_id = $row[$common_field];
+		$old_position = $row['position'];
+	}
+	echo "$old_position<br>";
+	if($old_position == $position)
+		return;
+	
+	// Build query to update affected rows
+	if($old_position < $position)
+		$sql = <<<EOT
+UPDATE $table SET position = position - 1
+	WHERE position > $old_position AND position <= $position
+		AND $common_field = $common_id
+EOT;
+	else
+		$sql = <<<EOT
+UPDATE $table SET position = position + 1
+	WHERE position >= $position AND position < $old_position
+		AND $common_field = $common_id
+EOT;
+	echo "<pre>$sql</pre>";
+	$database->query($sql);
+
+	// Build query to update specified row
+	$sql = <<<EOT
+UPDATE $table SET position = $position
+	WHERE $id_field = $id
+EOT;
+	echo "<pre>$sql</pre>";
+	$database->query($sql);
+} else {
+	die("Missing parameters");
+	header("Location: index.php");
+	exit(0);
+}
+?>

Property changes on: tags/2.8.2/wb/modules/jsadmin/move_to.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/jsadmin/README.txt
===================================================================
--- tags/2.8.2/wb/modules/jsadmin/README.txt	(nonexistent)
+++ tags/2.8.2/wb/modules/jsadmin/README.txt	(revision 1481)
@@ -0,0 +1,65 @@
+Javscript Admin
+
+Release 1.2
+ On Sourcecode of
+(C) Copyright 2006 Stepan Riha (www.nonplus.net)
+* -----------------------------------------------------------------------------------------
+*	MODIFICATION HISTORY:
+*   by Swen Uth; 01/24/2008
+*   + Update to 1.2
+*   + Update to Website Baker (include/yui)-> YUI to Version 2.4.1
+*   + take the YUI folder to wb/include/
+*   + Website Baker 2.7 Kompatible
+*   + Multilingual
+*   + initial release of the English language file
+*   + initial release of the German language file
+*   + include the Option for backend.cs
+*   + include the option for backend.js
+*   + renamed footer.php to jsadmin_backend_include.php for a better understanding for integration and development
+*   + INCLUDE ERRORHANDLING for missing YUI - Files
+*   + the Array $js_yui_scripts are defined in the jsadmin.php for better development
+* -----------------------------------------------------------------------------------------
+*
+______________________________________________________________
+
+DESCRIPTION
+
+This tool module adds Javascript functionality to the Website Baker Admin to
+improve some of the UI interactions.
+
+Portions of this module use scripts from the Yahoo! UI Library
+You can find it in the WB/include folder
+
+	http://developer.yahoo.com/yui/
+	
+______________________________________________________________
+
+REQUIREMENTS
+
+This module is supported on Website Baker 2.7 and later.
+
+______________________________________________________________
+
+INSTALLATION
+
+The module includes the following files:
+
+	!!! footer.php is canceled -> renamed to jsadmin_backend_include.php
+	images/busy.gif
+	images/failure.gif
+	images/success.gif
+	index.php
+	info.php
+	js/dragdrop.js
+	js/jsadmin.js
+	js/restore_pages.js
+	js/tool.js
+ 	+ languages/EN.php
+	+ languages/DE.php
+	jsadmin.php
+	move_to.php
+	README.txt
+	tool.php
+
+______________________________________________________________
+

Property changes on: tags/2.8.2/wb/modules/jsadmin/README.txt
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/show_menu2/info.php
===================================================================
--- tags/2.8.2/wb/modules/show_menu2/info.php	(nonexistent)
+++ tags/2.8.2/wb/modules/show_menu2/info.php	(revision 1481)
@@ -0,0 +1,47 @@
+<?php
+
+// $Id$
+
+/*
+    show_menu2: show_menu replacement for Website Baker 
+    Copyright (C) 2006-2009, Brodie Thiesfield
+
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of the GNU General Public License
+    as published by the Free Software Foundation; either version 2
+    of the License, or (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  
+    02110-1301, USA.
+    
+    THANKS
+    ======
+    Thanks to the following people:
+
+        Stuart Fraser
+          * Original request for a better menu system
+
+        Ezra Peisach
+          * Bug fixes
+
+        Thorn
+          * Added support for WB 2.7 multiple groups and publish by date
+    
+*/
+
+$module_directory = 'show_menu2';
+$module_name = 'show_menu2';
+$module_function = 'snippet';
+$module_version = '4.9';
+$module_platform = '2.7 | 2.8.x';
+$module_author = 'Brodie Thiesfield';
+$module_license = 'GNU General Public License';
+$module_description = 'A code snippet for the Website Baker CMS providing a complete replacement for the builtin menu functions. See <a href="http://code.jellycan.com/show_menu2/" target="_blank">http://code.jellycan.com/show_menu2/</a> for details or view the <a href="' .WB_URL .'/modules/show_menu2/README.en.txt" target="_blank">readme</a> file.';
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/show_menu2/info.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/show_menu2/languages/NL.php
===================================================================
--- tags/2.8.2/wb/modules/show_menu2/languages/NL.php	(nonexistent)
+++ tags/2.8.2/wb/modules/show_menu2/languages/NL.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+    show_menu2: show_menu replacement for Website Baker 
+    Copyright (C) 2006-2009, Brodie Thiesfield
+
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of the GNU General Public License
+    as published by the Free Software Foundation; either version 2
+    of the License, or (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  
+    02110-1301, USA.
+
+ -----------------------------------------------------------------------------------------
+  DUTCH LANGUAGE FILE FOR THE ADDON: SHOW_MENU2
+ -----------------------------------------------------------------------------------------
+*/
+
+//Module Description
+$module_description = 'Deze module integreert een de geavanceerde menu functie <code> show_menu2 () </ code> in Website Baker. Gedetailleerde informatie is beschikbaar op <a href="http://code.jellycan.com/show_menu2/" target="_blank"> http://code.jellycan.com/show_menu2/ </a> of in de <a href = "{WB_URL}/modules/show_menu2/README_EN" target = "_blank"> README </a>.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/show_menu2/languages/NL.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/show_menu2/languages/DA.php
===================================================================
--- tags/2.8.2/wb/modules/show_menu2/languages/DA.php	(nonexistent)
+++ tags/2.8.2/wb/modules/show_menu2/languages/DA.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+    show_menu2: show_menu replacement for Website Baker 
+    Copyright (C) 2006-2009, Brodie Thiesfield
+
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of the GNU General Public License
+    as published by the Free Software Foundation; either version 2
+    of the License, or (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  
+    02110-1301, USA.
+
+ -----------------------------------------------------------------------------------------
+  DANISH LANGUAGE FILE FOR THE ADDON: SHOW_MENU2
+ -----------------------------------------------------------------------------------------
+*/
+
+// Dansk modulbeskrivelse
+$module_description = 'Dette modul integrerer den udvidede men&uuml;funktion <code>show_menu2()</code> i Website Baker. Der findes detaljeret information p&aring; <a href="http://code.jellycan.com/show_menu2/" target="_blank">http://code.jellycan.com/show_menu2/</a> eller i <a href="{WB_URL}/modules/show_menu2/README.en.txt" target="_blank">readme</a>filen.';
+
+?>

Property changes on: tags/2.8.2/wb/modules/show_menu2/languages/DA.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/show_menu2/languages/NO.php
===================================================================
--- tags/2.8.2/wb/modules/show_menu2/languages/NO.php	(nonexistent)
+++ tags/2.8.2/wb/modules/show_menu2/languages/NO.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+    show_menu2: show_menu replacement for Website Baker 
+    Copyright (C) 2006-2009, Brodie Thiesfield
+
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of the GNU General Public License
+    as published by the Free Software Foundation; either version 2
+    of the License, or (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  
+    02110-1301, USA.
+
+ -----------------------------------------------------------------------------------------
+  NORWEGIAN LANGUAGE FILE FOR THE ADDON: SHOW_MENU2
+ -----------------------------------------------------------------------------------------
+*/
+
+// Norwegian Moduledscripton
+$module_description = 'Dette er en kode snutt (snippet) beregnet p&aring; Website Baker CMS og er en fullgod erstatning for den innebygde meny modulen. For n&aelig;rmere beskrivelse se (Kun p&aring; Engelsk) <a href="http://code.jellycan.com/show_menu2/" target="_blank">http://code.jellycan.com/show_menu2/</a> , for mer WB spesifikke detaljer se <a href="' .WB_URL .'/modules/show_menu2/README.en.txt" target="_blank">readme</a> filen.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/show_menu2/languages/NO.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/show_menu2/languages/FR.php
===================================================================
--- tags/2.8.2/wb/modules/show_menu2/languages/FR.php	(nonexistent)
+++ tags/2.8.2/wb/modules/show_menu2/languages/FR.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+    show_menu2: show_menu replacement for Website Baker 
+    Copyright (C) 2006-2009, Brodie Thiesfield
+
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of the GNU General Public License
+    as published by the Free Software Foundation; either version 2
+    of the License, or (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  
+    02110-1301, USA.
+
+ -----------------------------------------------------------------------------------------
+  FRENCH LANGUAGE FILE FOR THE ADDON: SHOW_MENU2
+ -----------------------------------------------------------------------------------------
+*/
+
+//Module Description
+$module_description = 'Ce module int&egrave;gre la fonction de menu avanc&eacute;e <code> show_menu2 () </ code> dans Website Baker. Une information d&eacute;taill&eacute;e est disponible sur <a href="http://code.jellycan.com/show_menu2/" target="_blank"> http://code.jellycan.com/show_menu2/ </a> ou dans le fichier <a href = "{WB_URL}/modules/show_menu2/README_DE" target = "_blank"> README </a>.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/show_menu2/languages/FR.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/show_menu2/languages/DE.php
===================================================================
--- tags/2.8.2/wb/modules/show_menu2/languages/DE.php	(nonexistent)
+++ tags/2.8.2/wb/modules/show_menu2/languages/DE.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+    show_menu2: show_menu replacement for Website Baker 
+    Copyright (C) 2006-2009, Brodie Thiesfield
+
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of the GNU General Public License
+    as published by the Free Software Foundation; either version 2
+    of the License, or (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  
+    02110-1301, USA.
+
+ -----------------------------------------------------------------------------------------
+  GERMAN LANGUAGE FILE FOR THE ADDON: SHOW_MENU2
+ -----------------------------------------------------------------------------------------
+*/
+
+// Deutsche Modulbeschreibung
+$module_description = 'Dieses Modul integriert die erweiterte Men&uuml;funktion <code>show_menu2()</code> in Website Baker. Detailierte Informationen gibt es auf <a href="http://code.jellycan.com/show_menu2/" target="_blank">http://code.jellycan.com/show_menu2/</a> oder in der <a href="{WB_URL}/modules/show_menu2/README.de.txt" target="_blank">readme</a> Datei.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/show_menu2/languages/DE.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/show_menu2/languages/index.php
===================================================================
--- tags/2.8.2/wb/modules/show_menu2/languages/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/show_menu2/languages/index.php	(revision 1481)
@@ -0,0 +1,25 @@
+<?php
+
+/*
+    show_menu2: show_menu replacement for Website Baker 
+    Copyright (C) 2006-2009, Brodie Thiesfield
+
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of the GNU General Public License
+    as published by the Free Software Foundation; either version 2
+    of the License, or (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  
+    02110-1301, USA.
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/show_menu2/languages/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/show_menu2/include.php
===================================================================
--- tags/2.8.2/wb/modules/show_menu2/include.php	(nonexistent)
+++ tags/2.8.2/wb/modules/show_menu2/include.php	(revision 1481)
@@ -0,0 +1,839 @@
+<?php
+
+// $Id$
+
+/*
+    show_menu2: show_menu replacement for Website Baker 
+    Copyright (C) 2006-2009, Brodie Thiesfield
+
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of the GNU General Public License
+    as published by the Free Software Foundation; either version 2
+    of the License, or (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  
+    02110-1301, USA.
+
+    ***********************************************
+    ** Version 4.8: see README for documentation **
+    ***********************************************
+*/
+
+define('SM2_ROOT',       -1000);
+define('SM2_CURR',       -2000);
+define('SM2_ALLMENU',       -1);
+define('SM2_START',       1000);
+define('SM2_MAX',         2000);
+define('SM2_ALL',       0x0001); // bit 0 (group 1) (Note: also used for max level!)
+define('SM2_TRIM',      0x0002); // bit 1 (group 1)
+define('SM2_CRUMB',     0x0004); // bit 2 (group 1)
+define('SM2_SIBLING',   0x0008); // bit 3 (group 1)
+define('SM2_NUMCLASS',  0x0010); // bit 4
+define('SM2_ALLINFO',   0x0020); // bit 5
+define('SM2_NOCACHE',   0x0040); // bit 6
+define('SM2_PRETTY',    0x0080); // bit 7
+define('SM2_ESCAPE',    0x0100); // bit 8
+define('SM2_NOESCAPE',       0); // NOOP, unnecessary with WB 2.6.7+
+define('SM2_BUFFER',    0x0200); // bit 9
+define('SM2_CURRTREE',  0x0400); // bit 10
+
+define('_SM2_GROUP_1',  0x000F); // exactly one flag from group 1 is required
+
+
+// Implement support for page_menu and show_menu using show_menu2. If you remove
+// the comments characters from the beginning of the following include, all menu
+// functions in Website Baker will be implemented using show_menu2. While it is
+// commented out, the original WB functions will be used.
+//include('legacy.php');
+
+// This class is the default menu formatter for sm2. If desired, you can 
+// create your own formatter class and pass the object into show_menu2 
+// as $aItemFormat.
+define('SM2_CONDITIONAL','if\s*\(([^\)]+)\)\s*{([^}]*)}\s*(?:else\s*{([^}]*)}\s*)?');
+define('SM2_COND_TERM','\s*(\w+)\s*(<|<=|==|=|=>|>|!=)\s*([\w\-]+)\s*');
+class SM2_Formatter
+{
+    var $output;
+    var $flags;
+    var $itemOpen;
+    var $itemClose;
+    var $menuOpen;
+    var $menuClose;
+    var $topItemOpen;
+    var $topMenuOpen;
+    
+    var $isFirst;
+    var $page;
+    var $url;
+    var $currSib;
+    var $sibCount;
+    var $currClass;
+    var $prettyLevel;
+
+    // output the data
+    function output($aString) {
+        if ($this->flags & SM2_BUFFER) {
+            $this->output .= $aString;
+        }
+        else {
+            echo $aString;
+        }
+    }
+    
+    // set the default values for all of our formatting items
+    function set($aFlags, $aItemOpen, $aItemClose, $aMenuOpen, $aMenuClose, $aTopItemOpen, $aTopMenuOpen) {
+        $this->flags        = $aFlags;
+        $this->itemOpen     = is_string($aItemOpen)    ? $aItemOpen    : '[li][a][menu_title]</a>';
+        $this->itemClose    = is_string($aItemClose)   ? $aItemClose   : '</li>';
+        $this->menuOpen     = is_string($aMenuOpen)    ? $aMenuOpen    : '[ul]';
+        $this->menuClose    = is_string($aMenuClose)   ? $aMenuClose   : '</ul>';
+        $this->topItemOpen  = is_string($aTopItemOpen) ? $aTopItemOpen : $this->itemOpen;
+        $this->topMenuOpen  = is_string($aTopMenuOpen) ? $aTopMenuOpen : $this->menuOpen;
+    }
+
+    // initialize the state of the formatter before anything is output
+    function initialize() {
+        $this->output = '';
+        $this->prettyLevel = 0;
+        if ($this->flags & SM2_PRETTY) {
+            $this->output("\n<!-- show_menu2 -->");
+        }
+    }
+
+    // start a menu     
+    function startList(&$aPage, &$aUrl) {
+        $currClass = '';
+        $currItem = $this->menuOpen;
+        
+        // use the top level menu open if this is the first menu
+        if ($this->topMenuOpen) {
+            $currItem = $this->topMenuOpen;
+            $currClass .= ' menu-top';
+            $this->topMenuOpen = false;
+        }
+        
+        // add the numbered menu class only if requested
+        if (($this->flags & SM2_NUMCLASS) == SM2_NUMCLASS) {
+            $currClass .= ' menu-'.$aPage['level'];
+        }
+        
+        $this->prettyLevel += 1;
+        
+        // replace all keywords in the output
+        if ($this->flags & SM2_PRETTY) {
+            $this->output("\n".str_repeat(' ',$this->prettyLevel).
+                $this->format($aPage, $aUrl, $currItem, $currClass));
+        }
+        else {
+            $this->output($this->format($aPage, $aUrl, $currItem, $currClass));
+        }
+        
+        $this->prettyLevel += 3;
+    }
+    
+    // start an item within the menu
+    function startItem(&$aPage, &$aUrl, $aCurrSib, $aSibCount) {
+        // generate our class list
+        $currClass = '';
+        if (($this->flags & SM2_NUMCLASS) == SM2_NUMCLASS) {
+            $currClass .= ' menu-'.$aPage['level'];
+        }
+        if (array_key_exists('sm2_has_child', $aPage)) {
+            // not set if false, so existence = true
+            $currClass .= ' menu-expand';
+        }
+        if (array_key_exists('sm2_is_curr', $aPage)) { 
+            $currClass .= ' menu-current';
+        }
+        elseif (array_key_exists('sm2_is_parent', $aPage)) { 
+            // not set if false, so existence = true
+            $currClass .= ' menu-parent';
+        }
+        elseif (array_key_exists('sm2_is_sibling', $aPage)) {
+            // not set if false, so existence = true
+            $currClass .= ' menu-sibling';
+        }
+        elseif (array_key_exists('sm2_child_level',$aPage)) {
+            // not set if not a child
+            $currClass .= ' menu-child';
+            if (($this->flags & SM2_NUMCLASS) == SM2_NUMCLASS) {
+                $currClass .= ' menu-child-'.($aPage['sm2_child_level']-1);
+            }
+        }
+        if ($aCurrSib == 1) {
+            $currClass .= ' menu-first';
+        }
+        if ($aCurrSib == $aSibCount) {
+            $currClass .= ' menu-last';
+        }
+
+        // use the top level item if this is the first item
+        $currItem = $this->itemOpen;
+        if ($this->topItemOpen) {
+            $currItem = $this->topItemOpen;
+            $this->topItemOpen = false;
+        }
+
+        // replace all keywords in the output
+        if ($this->flags & SM2_PRETTY) {
+            $this->output("\n".str_repeat(' ',$this->prettyLevel));
+        }
+        $this->output($this->format($aPage, $aUrl, $currItem, $currClass, $aCurrSib, $aSibCount));
+    }
+    
+    // find and replace all keywords, setting the state variables first
+    function format(&$aPage, &$aUrl, &$aCurrItem, &$aCurrClass, 
+        $aCurrSib = 0, $aSibCount = 0) 
+    {
+        $this->page      = &$aPage;
+        $this->url       = &$aUrl;
+        $this->currClass = trim($aCurrClass);
+        $this->currSib   = $aCurrSib;
+        $this->sibCount  = $aSibCount;
+        
+        $item = $this->format2($aCurrItem);
+        
+        unset($this->page);
+        unset($this->url);
+        unset($this->currClass);
+        
+        return $item;
+    }
+    
+    // find and replace all keywords
+    function format2(&$aCurrItem) {
+        if (!is_string($aCurrItem)) return '';
+        return preg_replace(
+            '@\[('.
+                'a|ac|/a|li|/li|ul|/ul|menu_title|page_title|url|target|page_id|'.
+                'parent|level|sib|sibCount|class|description|keywords|'.
+                SM2_CONDITIONAL.
+            ')\]@e', 
+            '$this->replace("\1")', $aCurrItem);
+    }
+    
+    // replace the keywords
+    function replace($aMatch) {
+        switch ($aMatch) {
+        case 'a':
+            return '<a href="'.$this->url.'" target="'.$this->page['target'].'">';
+        case 'ac':
+            return '<a href="'.$this->url.'" target="'.$this->page['target'].'" class="'.$this->currClass.'">';
+        case '/a':
+            return '</a>';
+        case 'li':
+            return '<li class="'.$this->currClass.'">';
+        case '/li':
+            return '</li>';
+        case 'ul':
+            return '<ul class="'.$this->currClass.'">';
+        case '/ul':
+            return '</ul>';
+        case 'url':
+            return $this->url;
+        case 'sib':
+            return $this->currSib;
+        case 'sibCount':
+            return $this->sibCount;
+        case 'class':
+            return $this->currClass;
+        default:
+            if (array_key_exists($aMatch, $this->page)) {
+                if ($this->flags & SM2_ESCAPE) {
+                    return htmlspecialchars($this->page[$aMatch], ENT_QUOTES);
+                }
+                else {
+                    return $this->page[$aMatch];
+                }
+            }
+            if (preg_match('/'.SM2_CONDITIONAL.'/', $aMatch, $rgMatches)) {
+                return $this->replaceIf($rgMatches[1], $rgMatches[2], $rgMatches[3]);
+            }
+        }
+        return "[$aMatch=UNKNOWN]";
+    }
+    
+    // conditional replacement
+    function replaceIf(&$aExpression, &$aIfValue, &$aElseValue) {
+        // evaluate all of the tests in the conditional (we don't do short-circuit
+        // evaluation) and replace the string test with the boolean result
+        $rgTests = preg_split('/(\|\||\&\&)/', $aExpression, -1, PREG_SPLIT_DELIM_CAPTURE);
+        for ($n = 0; $n < count($rgTests); $n += 2) {
+            if (preg_match('/'.SM2_COND_TERM.'/', $rgTests[$n], $rgMatches)) {
+                $rgTests[$n] = $this->ifTest($rgMatches[1], $rgMatches[2], $rgMatches[3]);
+            }
+            else {
+                @error_logs("show_menu2 error: conditional expression is invalid!");
+                $rgTests[$n] = false;
+            }
+        }
+
+        // combine all test results for a final result
+        $ok = $rgTests[0];
+        for ($n = 1; $n+1 < count($rgTests); $n += 2) {
+            if ($rgTests[$n] == '||') {
+                $ok = $ok || $rgTests[$n+1];
+            }
+            else {
+                $ok = $ok && $rgTests[$n+1];
+            }
+        }
+        
+        // return the formatted expression if the test succeeded
+        return $ok ? $this->format2($aIfValue) : $this->format2($aElseValue);
+    }
+
+    // conditional test
+    function ifTest(&$aKey, &$aOperator, &$aValue) {
+        global $wb;
+        
+        // find the correct operand
+        $operand = false;
+        switch($aKey) {
+        case 'class':
+            // we need to wrap the class names in spaces so we can test for a unique
+            // class name that will not match prefixes or suffixes. Same must be done
+            // for the value we are testing.
+            $operand = " $this->currClass "; 
+            break;
+        case 'sib':
+            $operand = $this->currSib;
+            if ($aValue == 'sibCount') {
+                $aValue = $this->sibCount;
+            }
+            break;
+        case 'sibCount':
+            $operand = $this->sibCount;
+            break;
+        case 'level':
+            $operand = $this->page['level'];
+            switch ($aValue) {
+            case 'root':    $aValue = 0; break;
+            case 'granny':  $aValue = $wb->page['level']-2; break;
+            case 'parent':  $aValue = $wb->page['level']-1; break;
+            case 'current': $aValue = $wb->page['level'];   break;
+            case 'child':   $aValue = $wb->page['level']+1; break;
+            }
+            if ($aValue < 0) $aValue = 0;
+            break;
+        case 'id':
+            $operand = $this->page['page_id'];
+            switch ($aValue) {
+            case 'parent':  $aValue = $wb->page['parent'];  break;
+            case 'current': $aValue = $wb->page['page_id']; break;
+            }
+            break;
+        default:
+            return '';
+        }
+
+        // do the test        
+        $ok = false;
+        switch ($aOperator) { 
+        case '<':
+            $ok = ($operand < $aValue); 
+            break;
+        case '<=':
+            $ok = ($operand <= $aValue); 
+            break;
+        case '=':
+        case '==':
+        case '!=':
+            if ($aKey == 'class') {
+                $ok = strstr($operand, " $aValue ") !== FALSE;
+            }
+            else {
+                $ok = ($operand == $aValue); 
+            }
+            if ($aOperator == '!=') {
+                $ok = !$ok;
+            }
+            break;
+        case '>=':
+            $ok = ($operand >= $aValue); 
+        case '>':
+            $ok = ($operand > $aValue); 
+        }
+        
+        return $ok;
+    }
+    
+    // finish the current menu item
+    function finishItem() {
+        if ($this->flags & SM2_PRETTY) {
+            $this->output(str_repeat(' ',$this->prettyLevel).$this->itemClose);
+        }
+        else {
+            $this->output($this->itemClose);
+        }
+    }
+    
+    // finish the current menu
+    function finishList() {
+        $this->prettyLevel -= 3;
+        
+        if ($this->flags & SM2_PRETTY) {
+            $this->output("\n".str_repeat(' ',$this->prettyLevel).$this->menuClose."\n");
+        }
+        else {
+            $this->output($this->menuClose);
+        }
+        
+        $this->prettyLevel -= 1;
+    }
+    
+    // cleanup the state of the formatter after everything has been output
+    function finalize() {
+        if ($this->flags & SM2_PRETTY) {
+            $this->output("\n");
+        }
+    }
+
+    // return the output
+    function getOutput() {
+        return $this->output;
+    }
+};
+
+function error_logs($error_str)
+{
+                $log_error = true;
+                if ( ! function_exists('error_log') )
+                        $log_error = false;
+
+                $log_file = @ini_get('error_log');
+                if ( !empty($log_file) && ('syslog' != $log_file) && !@is_writable($log_file) )
+                        $log_error = false;
+
+                if ( $log_error )
+                        @error_log($error_str, 0);
+}
+
+function show_menu2(
+    $aMenu          = 0,
+    $aStart         = SM2_ROOT,
+    $aMaxLevel      = -1999, // SM2_CURR+1
+    $aOptions       = SM2_TRIM,
+    $aItemOpen      = false,
+    $aItemClose     = false,
+    $aMenuOpen      = false,
+    $aMenuClose     = false,
+    $aTopItemOpen   = false,
+    $aTopMenuOpen   = false
+    )
+{
+    global $wb;
+
+    // extract the flags and set $aOptions to an array
+    $flags = 0;
+    if (is_int($aOptions)) {
+        $flags = $aOptions;
+        $aOptions = array();
+    }
+    else if (isset($aOptions['flags'])) {
+        $flags = $aOptions['flags'];
+    }
+    else {
+        $flags = SM2_TRIM;
+        $aOptions = array();
+        @error_logs('show_menu2 error: $aOptions is invalid. No flags supplied!');
+    }
+    
+    // ensure we have our group 1 flag, we don't check for the "exactly 1" part, but
+    // we do ensure that they provide at least one.
+    if (0 == ($flags & _SM2_GROUP_1)) {
+        @error_logs('show_menu2 error: $aOptions is invalid. No flags from group 1 supplied!');
+        $flags |= SM2_TRIM; // default to TRIM
+    }
+    
+    // search page results don't have any of the page data loaded by WB, so we load it 
+    // ourselves using the referrer ID as the current page
+    $CURR_PAGE_ID = defined('REFERRER_ID') ? REFERRER_ID : PAGE_ID;
+    if (count($wb->page) == 0 && defined('REFERRER_ID') && REFERRER_ID > 0) {
+        global $database;
+        $sql = "SELECT * FROM ".TABLE_PREFIX."pages WHERE page_id = '".REFERRER_ID."'";
+        $result = $database->query($sql);
+        if ($result->numRows() == 1) {
+            $wb->page = $result->fetchRow();
+        }
+        unset($result);
+    }
+    
+    // fix up the menu number to default to the menu number
+    // of the current page if no menu has been supplied
+    if ($aMenu == 0) {
+        $aMenu = $wb->page['menu'] == '' ? 1 : $wb->page['menu'];
+    } 
+
+    // Set some of the $wb->page[] settings to defaults if not set
+    $pageLevel  = $wb->page['level']  == '' ? 0 : $wb->page['level'];
+    $pageParent = $wb->page['parent'] == '' ? 0 : $wb->page['parent'];
+    
+    // adjust the start level and start page ID as necessary to
+    // handle the special values that can be passed in as $aStart
+    $aStartLevel = 0;
+    if ($aStart < SM2_ROOT) {   // SM2_CURR+N
+        if ($aStart == SM2_CURR) {
+            $aStartLevel = $pageLevel;
+            $aStart = $pageParent;
+        }
+        else {
+            $aStartLevel = $pageLevel + $aStart - SM2_CURR;
+            $aStart = $CURR_PAGE_ID; 
+        }
+    }
+    elseif ($aStart < 0) {   // SM2_ROOT+N
+        $aStartLevel = $aStart - SM2_ROOT;
+        $aStart = 0;
+    }
+
+    // we get the menu data once and store it in a global variable. This allows 
+    // multiple calls to show_menu2 in a single page with only a single call to 
+    // the database. If this variable exists, then we have already retrieved all
+    // of the information and processed it, so we don't need to do it again.
+    if (($flags & SM2_NOCACHE) != 0
+        || !array_key_exists('show_menu2_data', $GLOBALS)
+        || !array_key_exists($aMenu, $GLOBALS['show_menu2_data'])) 
+    {
+        global $database;
+
+        // create an array of all parents of the current page. As the page_trail
+        // doesn't include the theoretical root element 0, we add it ourselves.
+        $rgCurrParents = explode(",", '0,'.$wb->page['page_trail']);
+        array_pop($rgCurrParents); // remove the current page
+        $rgParent = array();
+
+        // if the caller wants all menus gathered together (e.g. for a sitemap)
+        // then we don't limit our SQL query
+        $menuLimitSql = ' AND menu = ' .$aMenu;
+        if ($aMenu == SM2_ALLMENU) {
+            $menuLimitSql = '';
+        }
+
+        // we only load the description and keywords if we have been told to,
+        // this cuts the memory load for pages that don't use them. Note that if
+        // we haven't been told to load these fields the *FIRST TIME* show_menu2
+        // is called (i.e. where the database is loaded) then the info won't
+        // exist anyhow.
+        $fields = 'parent,page_id,menu_title,page_title,link,target,level,visibility,viewing_groups';
+        if (version_compare(WB_VERSION, '2.7', '>=')) { // WB 2.7+
+            $fields .= ',viewing_users';
+        }
+        if ($flags & SM2_ALLINFO) {
+            $fields = '*';
+        }
+        
+        // get this once for performance. We really should be calling only need to
+        // call $wb->get_group_id() but that outputs a warning notice if the 
+        // groupid isn't set in the session, so we check it first here.
+        $currGroup = array_key_exists('GROUP_ID', $_SESSION) ? 
+            ','.$wb->get_group_id().',' : 'NOGROUP';
+        
+        // we request all matching rows from the database for the menu that we 
+        // are about to create it is cheaper for us to get everything we need 
+        // from the database once and create the menu from memory then make 
+        // multiple calls to the database. 
+        $sql = "SELECT $fields FROM ".TABLE_PREFIX.
+               "pages WHERE $wb->extra_where_sql $menuLimitSql ".
+               'ORDER BY level ASC, position ASC';
+        $sql = str_replace('hidden', 'IGNOREME', $sql); // we want the hidden pages
+        $oRowset = $database->query($sql);
+        if (is_object($oRowset) && $oRowset->numRows() > 0) {
+            // create an in memory array of the database data based on the item's parent. 
+            // The array stores all elements in the correct display order.
+            while ($page = $oRowset->fetchRow()) {
+                // ignore all pages that the current user is not permitted to view
+                if(version_compare(WB_VERSION, '2.7', '>=')) { // WB >= 2.7
+                    // 1. hidden pages aren't shown unless they are on the current page
+                    if ($page['visibility'] == 'hidden') {
+                        $page['sm2_hide'] = true;
+                    }
+                    
+                    // 2. all pages with no active sections (unless it is the top page) are ignored
+                    else if (!$wb->page_is_active($page) && $page['link'] != $wb->default_link && !INTRO_PAGE) {
+                        continue;
+                    }
+
+                    // 3. all pages not visible to this user (unless always visible to registered users) are ignored
+                    else if (!$wb->page_is_visible($page) && $page['visibility'] != 'registered') {
+                        continue;
+                    }
+                }
+                else {  // WB < 2.7
+                    // We can't do this in SQL as the viewing_groups column contains multiple 
+                    // values which are hard to process correctly in SQL. Essentially we add the
+                    // following limit to the SQL query above:
+                    //  (visibility <> "private" OR $wb->get_group_id() IN viewing_groups)
+                    if ($page['visibility'] == 'private' 
+                        && false === strstr(",{$page['viewing_groups']},", $currGroup)) 
+                    {
+                        continue;
+                    }
+                }
+
+                // ensure that we have an array entry in the table to add this to
+                $idx = $page['parent'];
+                if (!array_key_exists($idx, $rgParent)) {
+                    $rgParent[$idx] = array();
+                }
+
+                // mark our current page as being on the current path
+                if ($page['page_id'] == $CURR_PAGE_ID) {
+                    $page['sm2_is_curr'] = true;
+                    $page['sm2_on_curr_path'] = true;
+                    unset($page['sm2_hide']); // don't hide the current page
+                }
+
+                // mark parents of the current page as such
+                if (in_array($page['page_id'], $rgCurrParents)) {
+                    $page['sm2_is_parent'] = true;
+                    $page['sm2_on_curr_path'] = true;
+                    unset($page['sm2_hide']); // don't hide a parent page                
+                }
+                
+                // add the entry to the array                
+                $rgParent[$idx][] = $page;
+            }
+        }    
+        unset($oRowset);
+
+        // mark all elements that are siblings of any element on the current path
+        foreach ($rgCurrParents as $x) {
+            if (array_key_exists($x, $rgParent)) {
+                foreach (array_keys($rgParent[$x]) as $y) {
+                    $mark =& $rgParent[$x][$y];
+                    $mark['sm2_path_sibling'] = true;
+                    unset($mark);
+                }
+            }
+        }
+
+        // mark all elements that have children and are siblings of the current page
+        $parentId = $pageParent;
+        foreach (array_keys($rgParent) as $x) {
+            $childSet =& $rgParent[$x];
+            foreach (array_keys($childSet) as $y) {
+                $mark =& $childSet[$y];
+                if (array_key_exists($mark['page_id'], $rgParent)) {
+                    $mark['sm2_has_child'] = true;
+                }
+                if ($mark['parent'] == $parentId && $mark['page_id'] != $CURR_PAGE_ID) {
+                    $mark['sm2_is_sibling'] = true;
+                }
+                unset($mark);
+            }
+            unset($childSet);
+        }
+        
+        // mark all children of the current page. We don't do this when 
+        // $CURR_PAGE_ID is 0, as 0 is the parent of everything. 
+        // $CURR_PAGE_ID == 0 occurs on special pages like search results
+        // when no referrer is available.s
+        if ($CURR_PAGE_ID != 0) {
+            sm2_mark_children($rgParent, $CURR_PAGE_ID, 1);
+        }
+        
+        // store the complete processed menu data as a global. We don't 
+        // need to read this from the database anymore regardless of how 
+        // many menus are displayed on the same page.
+        if (!array_key_exists('show_menu2_data', $GLOBALS)) {
+            $GLOBALS['show_menu2_data'] = array();
+        }
+        $GLOBALS['show_menu2_data'][$aMenu] =& $rgParent;
+        unset($rgParent);
+    }
+
+    // adjust $aMaxLevel to the level number of the final level that 
+    // will be displayed. That is, we display all levels <= aMaxLevel.
+    if ($aMaxLevel == SM2_ALL) {
+        $aMaxLevel = 1000;
+    }
+    elseif ($aMaxLevel < 0) {   // SM2_CURR+N
+        $aMaxLevel += $pageLevel - SM2_CURR;
+    }
+    elseif ($aMaxLevel >= SM2_MAX) { // SM2_MAX+N
+        $aMaxLevel += $aStartLevel - SM2_MAX;
+        if ($aMaxLevel > $pageLevel) {
+            $aMaxLevel = $pageLevel;
+        }
+    }
+    else {  // SM2_START+N
+        $aMaxLevel += $aStartLevel - SM2_START;
+    }
+
+    // generate the menu
+    $retval = false;
+    if (array_key_exists($aStart, $GLOBALS['show_menu2_data'][$aMenu])) {
+        $formatter = $aItemOpen;
+        if (!is_object($aItemOpen)) {
+            static $sm2formatter;
+            if (!isset($sm2formatter)) {
+                $sm2formatter = new SM2_Formatter;
+            }
+            $formatter = $sm2formatter;
+            $formatter->set($flags, $aItemOpen, $aItemClose, 
+                $aMenuOpen, $aMenuClose, $aTopItemOpen, $aTopMenuOpen);
+        }
+        
+        // adjust the level until we show everything and ignore the SM2_TRIM flag.
+        // Usually this will be less than the start level to disable it.
+        $showAllLevel = $aStartLevel - 1;
+        if (isset($aOptions['notrim'])) {
+            $showAllLevel = $aStartLevel + $aOptions['notrim'];
+        }
+        
+        // display the menu
+        $formatter->initialize();
+        sm2_recurse(
+            $GLOBALS['show_menu2_data'][$aMenu],
+            $aStart,    // parent id to start displaying sub-menus
+            $aStartLevel, $showAllLevel, $aMaxLevel, $flags, 
+            $formatter);
+        $formatter->finalize();
+        
+        // if we are returning something, get the data
+        if (($flags & SM2_BUFFER) != 0) {
+            $retval = $formatter->getOutput();
+        }
+    }
+
+    // clear the data if we aren't caching it
+    if (($flags & SM2_NOCACHE) != 0) {
+        unset($GLOBALS['show_menu2_data'][$aMenu]);
+    }
+    
+    return $retval;
+}
+
+function sm2_mark_children(&$rgParent, $aStart, $aChildLevel)
+{
+    if (array_key_exists($aStart, $rgParent)) {
+        foreach (array_keys($rgParent[$aStart]) as $y) {
+            $mark =& $rgParent[$aStart][$y];
+            $mark['sm2_child_level'] = $aChildLevel;
+            $mark['sm2_on_curr_path'] = true;
+            sm2_mark_children($rgParent, $mark['page_id'], $aChildLevel+1);
+        }
+    }
+}
+
+function sm2_recurse(
+    &$rgParent, $aStart, 
+    $aStartLevel, $aShowAllLevel, $aMaxLevel, $aFlags, 
+    &$aFormatter
+    )
+{
+    global $wb;
+
+    // on entry to this function we know that there are entries for this 
+    // parent and all entries for that parent are being displayed. We also 
+    // need to check if any of the children need to be displayed too.
+    $isListOpen = false;
+    $currentLevel = $wb->page['level'] == '' ? 0 : $wb->page['level'];
+
+    // get the number of siblings skipping the hidden pages so we can pass 
+    // this in and check if the item is first or last
+    $sibCount = 0;
+    foreach ($rgParent[$aStart] as $page) {
+        if (!array_key_exists('sm2_hide', $page)) $sibCount++;
+    }
+    
+    $currSib = 0;
+    foreach ($rgParent[$aStart] as $page) {
+        // skip all hidden pages 
+        if (array_key_exists('sm2_hide', $page)) { // not set if false, so existence = true
+            continue;
+        }
+        
+        $currSib++;
+
+        // skip any elements that are lower than the maximum level
+        $pageLevel = $page['level'];
+        if ($pageLevel > $aMaxLevel) {
+            continue;
+        }
+        
+        // this affects ONLY the top level
+        if ($aStart == 0 && ($aFlags & SM2_CURRTREE)) {
+            if (!array_key_exists('sm2_on_curr_path', $page)) { // not set if false, so existence = true
+                continue;
+            }
+            $sibCount = 1;
+        }
+        
+        // trim the tree as appropriate
+        if ($aFlags & SM2_SIBLING) {
+            // parents, and siblings and children of current only
+            if (!array_key_exists('sm2_on_curr_path', $page)      // not set if false, so existence = true
+                && !array_key_exists('sm2_is_sibling', $page)     // not set if false, so existence = true
+                && !array_key_exists('sm2_child_level', $page)) { // not set if false, so existence = true
+                continue;
+            }
+        }
+        else if ($aFlags & SM2_TRIM) {
+            // parents and siblings of parents
+            if ($pageLevel > $aShowAllLevel  // permit all levels to be shown
+                && !array_key_exists('sm2_on_curr_path', $page)    // not set if false, so existence = true
+                && !array_key_exists('sm2_path_sibling', $page)) {  // not set if false, so existence = true
+                continue;
+            }
+        }
+        elseif ($aFlags & SM2_CRUMB) {
+            // parents only
+            if (!array_key_exists('sm2_on_curr_path', $page)    // not set if false, so existence = true
+                || array_key_exists('sm2_child_level', $page)) {  // not set if false, so existence = true
+                continue;
+            }
+        }
+
+        // depth first traverse
+        $nextParent = $page['page_id'];
+
+        // display the current element if we have reached the start level
+        if ($pageLevel >= $aStartLevel) {
+            // massage the link into the correct form
+            if(!INTRO_PAGE && $page['link'] == $wb->default_link) {
+                $url = WB_URL;
+            }
+            else {
+                $url = $wb->page_link($page['link']);
+            }
+                    
+            // we open the list only when we absolutely need to
+            if (!$isListOpen) {
+                $aFormatter->startList($page, $url);
+                $isListOpen = true;
+            }
+
+            $aFormatter->startItem($page, $url, $currSib, $sibCount);
+        }
+        
+        // display children as appropriate
+        if ($pageLevel + 1 <= $aMaxLevel 
+            && array_key_exists('sm2_has_child', $page)) {  // not set if false, so existence = true
+            sm2_recurse(
+                $rgParent, $nextParent, // parent id to start displaying sub-menus
+                $aStartLevel, $aShowAllLevel, $aMaxLevel, $aFlags, 
+                $aFormatter);
+        }
+        
+        // close the current element if appropriate
+        if ($pageLevel >= $aStartLevel) {
+            $aFormatter->finishItem($pageLevel, $page);
+        }
+    }
+
+    // close the list if we opened one
+    if ($isListOpen) {
+        $aFormatter->finishList();
+    }
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/show_menu2/include.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/show_menu2/README.de.txt
===================================================================
--- tags/2.8.2/wb/modules/show_menu2/README.de.txt	(nonexistent)
+++ tags/2.8.2/wb/modules/show_menu2/README.de.txt	(revision 1481)
@@ -0,0 +1,651 @@
+ï»¿show_menu2, version 4.9
+=======================
+Ist ein Code-Snippet fÃ¼r das CMS Website Baker. Es stellt einen kompletten 
+Ersatz fÃ¼r die eingebaute MenÃ¼funtionalitÃ¤t zur VerfÃ¼gung. Alle, fÃ¼r die 
+Erzeugung des MenÃ¼s erforderlichen Daten, werden durch eine einzige 
+Datenbankabfrage erzeugt. Durch umfangreiche AnpassungsmÃ¶glichkeiten des 
+erzeugten HTML-Code kÃ¶nnen alle mÃ¶glichen MenÃ¼arten (Listen, Breadcrumbs, 
+Sitemaps, usw.) erzeugt werden.
+
+---
+Deutsche Ãœbersetzung von BerndJM. Dies ist eine weitgehend direkte Ãœbersetzung 
+des englischen Originals. Bei Ãœbersetzungs- oder Interpretationsfehlern, bitte 
+eine Email an bjm@wwnw.de.
+---
+
+
+
+INSTALLATION
+============
+1. Die aktuelle Version von http://code.jellycan.com/show_menu2/ herunterladen.
+2. In das Admin-Backend der Website Baker Installation einlogen.
+3. Erweiterungen -> Module aufrufen.
+4. Wenn bereits eine frÃ¼here Version von show_menu2 installiert ist, diese Ã¼ber
+   "Modul deinstallieren" auswÃ¤hlen und deinstallieren.
+5. Im Abschnitt "Modul installieren" das im Schritt 1 heruntergeladene zip-File
+   auswÃ¤hlen und installieren.
+
+   
+   
+BENUTZUNG VON SHOW_MENU2
+========================
+Um show_menu2 zu benutzen muss das verwendete Template an den Stellen 
+modifiziert werden, an denen das MenÃ¼ erscheinen soll. Bitte beachten: Wenn alte 
+MenÃ¼aufrufe ersetzt werden, mÃ¼ssen unbedingt auch die entsprechenden neuen 
+Parameter verwendet werden die show_menu2 benÃ¶tigt.
+
+In den meisten FÃ¤llen genÃ¼gt bereits der Standardaufruf ohne weitere Parameter 
+von show_menu2. In diesem Fall werden die Vorgabewerte verwendet, dies erzeugt 
+ein MenÃ¼ das die aktuelle Seite und die Unterseiten der aktuellen Seite anzeigt:
+    
+    show_menu2();
+    
+Bitte beachten: der Aufruf von show_menu2 ist PHP und muss normalerweise in PHP-
+Codezeichen eingeschlossen werden (ausser der Aufruf erfolgt bereits innerhalb 
+von PHP Code):
+
+    <?php show_menu2(); ?>
+
+Dieses Vorgabe MenÃ¼ erzeugt bereits ein komplettes MenÃ¼ auf Listenbasis mit 
+etlichen Klassen, die eine leichte Formatierung mittels CSS ermÃ¶glichen. Es wird 
+z.B. die Klasse "menu-current" zu dem <li> tag des aktuellen MenÃ¼punktes 
+hinzugefÃ¼gt. ZusÃ¤tzlich erhÃ¤lt jeder MenÃ¼punkt der Unterpunkte enthÃ¤lt die 
+Klasse "menu-expand". Das erlaubt es sehr differenzierte CSS Regeln fÃ¼r die 
+einzelnen MenÃ¼punkte aufzustellen.
+Zum Beispiel:
+
+    li.menu-expand  { font-weight: bold; }
+    li.menu-current { background: red; }
+
+Im Abschnitt "HTML-Ausgabe" findet sich eine detaillierte Beschreibung welche 
+Klassen welchem Element zugeordnet werden. Durch die Verwendung von 
+verschiedenen Parametern bei dem show_menu2 Funktionsaufruf lassen sich auch 
+recht umfangreiche und unterschiedliche MenÃ¼strukturen erzeugen. Um 
+beispielsweise nur MenÃ¼punkte aus der obersten Ebene der MenÃ¼struktur 
+darzustellen, kÃ¶nnte man folgenden Aufruf verwenden:
+
+    show_menu2(0, SM2_ROOT, SM2_START);
+    
+Oder um beispielsweise bis zu zwei Unterebenen der aktuellen Seite anzuzeigen:
+
+    show_menu2(0, SM2_CURR+1, SM2_CURR+2);
+
+Es gibt jede Menge MÃ¶glichkeiten, um die unterschiedlichsten MenÃ¼strukturen zu 
+erzeugen. Zahlreiche Beispiele dazu findet man auf der Demo-Website: http://
+code.jellycan.com/sm2test/
+
+
+
+HÃ„UFIGE FRAGEN
+==============
+
+Q:  Ich bin kein Programmierer. Gibt es keine einfachere Dokumentation? 
+A:  Nein, denn dies hier ist bereits die einfache Dokumentation.
+
+
+Q:  Wie kann ich ein sogenanntes Drop-Down MenÃ¼ erstellen?
+A:  Dies hat nichts mit show_menu2 zu tun. Um ein Drop-Down MenÃ¼ zu erzeugen muÃŸ
+    lediglich der CSS-Code des jeweiligen Templates angepaÃŸt werden. Die nÃ¶tigen 
+    Anpassungen findet man z.B. im "allcss2" Template aus dem WB Addon     
+    Repository -> http://addons.websitebaker.org/pages/templates.php
+
+
+Q:  Warum verschwindet das MenÃ¼ nachdem ich in einer mehrsprachigen WB-Site die 
+    Suchfunktion benutzt habe?
+A:  Im verwendeten Template fehlen die notwendigen Zeilen:
+
+    1.  Im WB Admin Backend: Optionen -> Erweiterte Optionen anzeigen ->        
+        Suchoptionen -> Kopfzeile - hier direkt nach dem Ã¶ffnenden <form> tag 
+        folgende Zeile einfÃ¼gen:
+       +        <input type="hidden" name="referrer" value="[REFERRER_ID]" />
+
+    2.  In der index.php des verwendeten Templates folgende Zeile unmittelbar   
+        nach dem Ã¶ffnenden <form> tag der Suche einfÃ¼gen:
+
+        <input type="hidden" name="referrer" value="<?php echo defined('REFERRER_ID')?REFERRER_ID:PAGE_ID;?>" />
+
+
+Q:  Mehrsprachig? Das klingt toll. Wie macht man das?
+A:  http://help.websitebaker.org/pages/de/advanced-doku/designer-guide/mehrsprachige-webseiten.php
+
+
+Q:  Jedesmal wenn eine Seite aufgerufen wird, erzeugt SM2 folgende Warnmeldung:
+    "show_menu2 error: $aOptions is invalid. No flags from group 1 supplied!"
+A:  Der Funktion wurden die falschen Werte oder eine falsche Anzahl an 
+    Werten Ã¼bergeben.
+    Siehe den Abschnitt PARAMETER fÃ¼r die korrekten Flag Werte die dem 
+    $aOptions Parameter zu Ã¼bergeben sind.    
+
+
+Q:  How do I use a different class/picture/color/widget for each entry in a menu?
+A:  Use the [page_id] format string in the $aItemOpen string. Create a unique 
+    class or id for each menu item, then reference that item in your CSS or Javascript
+    to do whatever you want.
+    
+    To add a unique class for each menu item (or similar):
+    
+        "<li><a href="[url]" target="[target]" class="[class] p[page_id]">[menu_title]</a>"
+
+        ... creating menu items like ...
+    
+        <li><a href="/pages/foo/bar.php" target="_top" class="menu-top p45">Top Menu</a>
+
+        Reference this in your CSS like:
+        
+        a.p45 { color: red; }
+    
+    To add a unique ID for each menu item (or similar):
+    
+        "<li><a id="p[page_id]" href="[url]" target="[target]" class="[class]">[menu_title]</a>"
+    
+        ... creating menu items like ...
+    
+        <li><a id="p45" href="/pages/foo/bar.php" target="_top" class="menu-top">Top Menu</a>
+
+        Reference this in your CSS like:
+        
+        a#p45 { color: red; }
+        
+        Note that the ID can only be used if that menu is generated and displayed one time
+        only on the page (because HTML ID's must be unique within a page). 
+    
+    
+FUNKTION
+========
+
+Der komplette Aufruf und die Vorgabe Parameterwerte fÃ¼r show_menu2 sind wie folgt:
+
+    show_menu2(
+        $aMenu          = 0,
+        $aStart         = SM2_ROOT,
+        $aMaxLevel      = SM2_CURR+1,
+        $aOptions       = SM2_TRIM,
+        $aItemOpen      = '[li][a][menu_title]</a>',
+        $aItemClose     = '</li>',
+        $aMenuOpen      = '[ul]',
+        $aMenuClose     = '</ul>',
+        $aTopItemOpen   = false,
+        $aTopMenuOpen   = false
+        )
+
+Im Abschnitt "Parameter" findet sich eine detaillierte Beschreibung jedes 
+einzelnen Parameters.
+Jeder Parameter muÃŸ absolut korrekt verwendet werden. Folgende Regeln kÃ¶nnen 
+dabei helfen:
+
+    $aMenu = 0 ist in den meisten AnwendungsfÃ¤llen der beste Wert.
+    
+    $aStart muÃŸ entweder eine page ID oder ein Wert der mit "SM2_" beginnt sein.
+    
+    $aMaxLevel kann nur Werte erhalten, die mit "SM2_" beginnen.
+    
+    $aOptions bis auf einige wenige SpezialfÃ¤lle sind hier nur Werte die mit 
+    "SM2_" beginnen zulÃ¤ssig.
+    
+    Alle weiteren Parameter enthalten die (HTML)Tags die die Ausgabe des MenÃ¼s 
+    steuern.
+    
+    Ab $aItemOpen kann jedem Parameter der Wert false Ã¼bergeben werden um den 
+    jeweiligen Vorgabewert zu erhalten.
+
+    Dies kann beispielsweise verwendet werden um eine nummerierte Liste zu 
+    erzeugen, wÃ¤hrend fÃ¼r die einzelnen MenÃ¼punkte trotzdem die Vorgabewerte 
+    Verwendung finden:
+
+        show_menu2(0, SM2_ROOT, SM2_ALL, SM2_ALL, false, false, '<ol>', '</ol>');
+
+Bitte beachten: bis einschliesslich $aOptions mÃ¼ssen alle Parameter explizit Ã¼bergeben werden!
+
+
+HTML-AUSGABE
+============
+Die HTML-Ausgabe hÃ¤ngt wesentlich davon ab, welche Parameter an die Funktion Ã¼bergeben werden. 
+UnabhÃ¤ngig davon werden nachfolgende Klassen grundsÃ¤tzlich fÃ¼r jedes MenÃ¼ verwendet, wobei 
+einzelne MenÃ¼punkte, wenn es erforderlich ist, auch mehrere Klassen erhalten kÃ¶nnen.
+
+    KLASSE          ZUORDNUNG
+    ------------    -------------------------------------------------------
+    menu-top        Nur der erste MenÃ¼punkt.
+    menu-parent     Jeder HauptmenÃ¼punkt.
+    menu-current    Nur der MenÃ¼punkt der aktuellen Seite.
+    menu-sibling    Alle "Geschwister" der aktuellen Seite.
+    menu-child      Jedes UntermenÃ¼ der aktuellen Seite.
+    menu-expand     Jedes MenÃ¼ das UntermenÃ¼s hat.
+    menu-first      Der erste Punkt eines jeden MenÃ¼s oder UntermenÃ¼s.
+    menu-last       Der letzte Punkt eines jeden MenÃ¼s oder UntermenÃ¼s.
+
+    Folgende Klassen werden nur hinzugefÃ¼gt, wenn das SM2_NUMCLASS Flag gesetzt 
+    ist:
+
+    menu-N          Jeder MenÃ¼punkt, wobei das N fÃ¼r die ABSOLUTE MenÃ¼tiefe, 
+                    beginnend bei 0, des jeweiligen MenÃ¼punktes steht.
+                    Die oberste Ebene ist also immer menu-0, die nÃ¤chste
+                    Ebene menu-1 usw.
+    menu-child-N    Jedes UntermenÃ¼ der aktuellen Seiten, wobei das N fÃ¼r die
+                    RELATIVE Tiefe des UntermenÃ¼s, beginnend bei 0, steht.
+        
+Beispiel einer HTML-Ausgabe:
+
+<ul class="menu-top menu-0">
+  <li class="menu-0 menu-first">  ... </li>
+  <li class="menu-0 menu-expand menu-parent">  ...
+  <ul class="menu-1">
+    <li class="menu-1 menu-expand menu-first">  ...
+    <ul class="menu-2">
+      <li class="menu-2 menu-first">  ...
+      <li class="menu-2 menu-last">  ...
+    </ul>
+    </li>
+    <li class="menu-1 menu-expand menu-parent">  ...
+    <ul class="menu-2">
+      <li class="menu-2 menu-expand menu-current menu-first">  ...      ** CURRENT PAGE **
+      <ul class="menu-3">
+        <li class="menu-3 menu-child menu-child-0 menu-first">  ...
+        <ul class="menu-4">
+          <li class="menu-4 menu-child menu-child-1 menu-first">  ... </li>
+          <li class="menu-4 menu-child menu-child-1 menu-last">  ... </li>
+        </ul>
+        </li>
+        <li class="menu-3 menu-child menu-child-0 menu-last">  ... </li>
+      </ul>
+      </li>
+      <li class="menu-2 menu-sibling menu-last">  ... </li>
+    </ul>
+    </li>
+    <li class="menu-1">  ... </li>
+    <li class="menu-1 menu-expand menu-last">  ...
+    <ul class="menu-2">
+      <li class="menu-2 menu-first menu-last">  ... </li>
+    </ul>
+    </li>
+  </ul>
+  </li>
+  <li class="menu-0 menu-last">  ... </li>
+</ul>
+
+
+PARAMETER
+=========
+$aMenu      
+    Nummer des MenÃ¼s. Diese ist nÃ¼tzlich um mehrere MenÃ¼s auf einer Seite zu    
+    verwenden.
+    MenÃ¼ Nummer 0 ist das VorgabemenÃ¼ der aktuellen Seite, SM2_ALLMENU gibt alle
+    im System verwendeten MenÃ¼s zurÃ¼ck.
+
+$aStart  
+    Gibt an, ab welcher Ebene die Erzeugung des MenÃ¼s beginnen soll. In den     
+    meisten FÃ¤llen wird dies die oberste Ebene des anzuzeigenden MenÃ¼s sein. Es 
+    kann einer der folgenden Werte verwendet werden:
+
+        SM2_ROOT+N  Beginnt N Ebenen unterhalb der obersten Ebene, z.B.:
+                    SM2_ROOT      Beginnt auf der obersten Ebene
+                    SM2_ROOT+1    Beginnt eine Ebene unterhalb der obersten Ebene
+                    SM2_ROOT+2    Beginnt zwei Ebenen unterhalb der obersten Ebene
+
+        SM2_CURR+N  Beginnt N Ebenen unterhalb der aktuellen Ebene, z.B.:
+                    SM2_CURR      Beginnt auf der aktuellen Ebene. Alle Geschwister
+                                  der aktuellen Ebene
+                    SM2_CURR+1    Beginnt eine Ebene unterhalb der aktuellen Ebene
+                                  mit allen Unterebenen
+
+        page_id     Verwendet die Seite mit der angegebenen page id als Elternelement.
+                    Alle UntermenÃ¼s dieser Seite werden angezeigt. 
+                    (Die page id kann ermittelt werden, wenn man die Seite im 
+                    Admin-Backend editiert, sie steht dann in der Adresszeile des      
+                    Browsers: http://SITE/admin/pages/modify.php?page_id=35
+
+$aMaxLevel   
+    Die maximale Anzahl der Ebenen die angezeigt werden. Die Anzeige
+    beginnt ab der in $aStart festgelegten Ebene, bis hin zu der hier 
+    festgelegten Ebene.
+        
+        SM2_ALL      Keine BeschrÃ¤nkung, alle Ebenen werden angezeigt
+
+        SM2_CURR+N   Zeigt immer die aktuelle Seite + N Ebenen. 
+                     SM2_CURR      Aktuelle Ebene (keine Unterebene)
+                     SM2_CURR+3    Alle Ã¼bergeordneten + aktuelle + 3 Unterebenen
+
+        SM2_START+N  Beginnt immer auf der Startebene + N Ebenen.
+                     Die Ebenen werden unabhÃ¤ngig davon angezeigt,egal 
+                     auf welcher Ebene sich die aktuelle Seite befindet.
+                     SM2_START     Eine einzelne Ebene ab der Startebene.
+                     SM2_START+1   Startebene + eine Ebene darunter.
+
+        SM2_MAX+N    Zeigt hÃ¶chstens N Ebenen ab der Startebene.
+                     Ebenen unterhalb der aktuellen Ebene werden nicht angezeigt.
+                     SM2_MAX       Nur die Startebene (gleiche Wirkung wie SM2_START)
+                     SM2_MAX+1     Die Startebene und eine Ebene darunter.
+
+$aOptions   
+    Spezielle Flags fÃ¼r verschiedene MenÃ¼generierungs Optionen. Sie kÃ¶nnen mittels
+    einer ODER VerknÃ¼pfung (|) miteinander kombiniert werden. Um beispielsweise
+    sowohl TRIM als auch PRETTY zu definieren, verwendet man: (SM2_TRIM | SM2_PRETTY).
+
+    GROUP 1
+    -------
+    Aus dieser Gruppe muss stets genau ein Flag angegeben werden. Diese Flags
+    bestimmen auf welche Weise die Geschwisterelemente im MenÃ¼baum in der
+    Ausgabe unterdrÃ¼ckt werden.
+    
+    SM2_ALL         Zeigt alle Zweige des MenÃ¼baums
+                        A-1 -> B-1 
+                            -> B-2 -> C-1
+                                   -> C-2 (CURRENT)
+                                          -> D-1
+                                          -> D-2
+                                   -> C-3
+                        A-2 -> B-3
+                            -> B-4
+
+    SM2_TRIM        Zeigt alle GeschwistermenÃ¼s der Seite im aktuellen Pfad.
+                    Alle UntermenÃ¼s von Elemnten die sich nicht im Pfad befinden
+                    werden entfernt.
+                        A-1 -> B-1 
+                            -> B-2 -> C-1
+                                   -> C-2 (CURRENT)
+                                          -> D-1
+                                          -> D-2
+                                   -> C-3
+                        A-2 
+
+    SM2_CRUMB       Zeigt den Breadcrumb Pfad des MenÃ¼s an, also den aktuellen
+                    MenÃ¼punkt sowie alle MenÃ¼punkte die dorthin fÃ¼hren.
+                        A-1 -> B-2 -> C-2 (CURRENT)
+
+    SM2_SIBLING     Wie SM2_TRIM, es werden aber nur GeschwistermenÃ¼s der aktuellen
+                    Seite angezeigt. Alle anderen Punkte werden unterdrÃ¼ckt.
+                        A-1 -> B-2 -> C-1
+                                   -> C-2 (CURRENT)
+                                          -> D-1
+                                          -> D-2
+                                   -> C-3
+
+    GROUP 2
+    -------
+    Diese Flags sind optional, sie kÃ¶nnen in beliebiger Anzahl kombiniert werden.
+
+    SM2_NUMCLASS    FÃ¼gt die nummerierten MenÃ¼klassen "menu-N" und 
+                    "menu-child-N hinzu.
+        
+    SM2_ALLINFO     LÃ¤dt alle Felder aus der Seitentabelle der Datenbank.
+                    Dies verursacht einen ziemlich hohen Speicherverbauch und sollte
+                    deshalb nur mit Bedacht verwendet werden.
+                    Dadurch werden z.B. die Keywords, die Seitenbeschreibung sowie
+                    all die anderen Informationen verfÃ¼gbar, die normalerweise nicht
+                    geladen werden.
+                    Bitte beachten: dieses Flag muss beim ERSTEN Aufruf von schow_menu2
+                    fÃ¼r die jeweilige MenÃ¼ ID verwendet werden, oder in Verbindung
+                    mit SM2_NOCACHE, sonst zeigt es keine Wirkung.
+    
+    SM2_NOCACHE     Die aus der Datenbank gelesenen Daten werden bei erneutem Aufruf von
+                    show_menu2 nicht wiederverwendet sondern erneut aus der Datenbank 
+                    gelesen.
+    
+    SM2_PRETTY      Bringt die HTML-Ausgabe des MenÃ¼s mittels Leerzeichen und
+                    ZeilenumbrÃ¼chen in eine gut lesbare Form. Das ist besonders 
+                    nÃ¼tzlich beim Debuggen der MenÃ¼ausgabe.
+    
+    SM2_BUFFER      Gibt den HTML-Code nicht direkt aus, sondern speichert ihn intern
+                    zwischen und gibt ihn als kompletten String aus.
+    
+    SM2_CURRTREE    Schliesst alle anderen ToplevelmenÃ¼s von der Betrachtung aus.
+                    Es werden nur MenÃ¼punkte des aktuellen MenÃ¼zweiges dargestellt.
+                    Dieses Flag kann bei Bedarf mit jedem Flag aus der Gruppe 1
+                    kombiniert werden.
+    
+    SM2_ESCAPE      Wendet htmlspecialchars auf den MenÃ¼string an.
+                    Dies kann bei Ã¤lteren Websitebaker Installationen erforderlich
+                    sein um eine valide HTML Ausgabe zu erzeugen.
+                        
+    SM2_SHOWHIDDEN  Hidden pages are usually hidden all of the time, including 
+                    when they are active (i.e. current page or a parent page).
+                    Use private pages for time when you want pages to be
+                    hidden except when active. However for compatibility with
+                    release 4.8, supply this flag to enable hidden pages to
+                    become visible when they are active.
+
+    FÃ¼r diesen Parameter gibt es auch einen erweiterten Modus, bei dem die Optionen
+    als assoziatives Array Ã¼bergeben werden. NÃ¤heres dazu im Abschnitt ERWEITERTE
+    OPTIONEN. FÃ¼r die meisten AnwendungsfÃ¤lle wird dies jedoch NICHT benÃ¶tigt.
+    
+$aItemOpen
+    Dies legt den Formatstring fest, mit dem jeder einzelne MenÃ¼eintrag begonnen
+    wird. FÃ¼r den allerersten MenÃ¼eintrag kann mittels $aTopItemOpen ein anderer
+    Formatstring definiert werden.
+    Wenn dieser Parameter auf false gesetzt wird, wird der Vorgabe Formatstring
+    '[li][a][menu_title]</a>' verwendet um die KompatibilitÃ¤t zur Website Baker
+    Standardfunktion show_menu() zu gewÃ¤hrleisten.
+    Da die Formatierung mittels CSS-Klassen oftmals einfacher ist, wenn sie auf den 
+    <a> tag angewendet werden, empfiehlt es sich hier folgenden Formatstring zu
+    verwenden: '<li>[ac][menu_title]</a>'.
+    
+    Dieser Parameter kann auch als Instanz eine Formatierungklasse fÃ¼r das MenÃ¼
+    verwendet werden. Die nÃ¤here Beschreibung dazu findet sich im Abschnitt FORMATTER. 
+    Wenn hier ein Formatter angegeben wird, werden alle Argumente
+    nach $aItemOpen ignoriert.
+
+$aItemClose
+    Dieser String schlieÃŸt jeden MenÃ¼punkt ab. 
+    Bitte beachten: dies ist kein Formatstring und es werden keine SchlÃ¼sselworte
+    ersetzt!
+    Wenn dieser Parameter auf false gesetzt ist, wird die Vorgabe '</li>' verwendet.
+    
+$aMenuOpen
+    Mit diesem Formatstring wird eine Liste von MenÃ¼eintrÃ¤gen geÃ¶ffnet. FÃ¼r das erste
+    MenÃ¼ kann mittels $aTopMenuOpen ein davon abweichender Formatstring definiert
+    werden.
+    Wenn dieser Parameter auf false gesetzt ist wird der Vorgabewert '[ul]'
+    verwendet.
+    
+$aMenuClose
+    Dieser String schlieÃŸt jedes MenÃ¼ ab. 
+    Bitte beachten: dies ist kein Formatstring und es werden keine SchlÃ¼sselworte
+    ersetzt!
+    Wenn dieser Parameter auf false gesetzt ist, wird die Vorgabe '</ul>' verwendet.
+
+$aTopItemOpen
+    Der Formatstring fÃ¼r den allerersten MenÃ¼punkt. Wenn dieser Parameter auf false
+    gesetzt wird, wird der selbe Formatstring wie bei $aItemOpen verwendet.
+
+$aTopMenuOpen 
+    Der Formatstring fÃ¼r das erste MenÃ¼. Wenn dieser Parameter auf false
+    gesetzt wird, wird der selbe Formatstring wie bei $aMenuOpen verwendet.
+
+    
+
+ERWEITERTE OPTIONEN
+===================
+Der Parameter $aOptions kann auf zweierlei Arten verwendet werden. Zum einen, wie oben 
+im Abschnitt PARAMETER beschrieben, diese Art sollte fÃ¼r die allermeisten 
+AnwendungsfÃ¤lle ausreichen. Um allerdings in speziellen FÃ¤llen die Sonderoptionen 
+ansprechen zu kÃ¶nnen, mÃ¼ssen die erforderlichen Werte als assoziatives Array 
+bereitgestellt werden.
+Bitte beachten: Die SM2_* Flags sind auch hierbei erforderlich und mÃ¼ÃŸen als 'flags' 
+Ã¼bergeben werden.
+
+    'flags'     **ZWINGEND ERFORDELICH** Dies sind die Flags die oben im Abschnitt 
+                PARAMETER unter $aOptions beschrieben wurden.
+
+    'notrim'    Hiermit wird eine Anzahl von Ebenen festegelegt, die relativ bezogen 
+                auf die in $aStart festgelegte MenÃ¼ebene, immer angezeigt werden. Dies 
+                bewirkt, daÃŸ fÃ¼r diese Ebenen das SM2_TRIM Flag ignoriert wird.
+
+Um dieses Array zu verwenden, empfiehlt es sich es erst anzulegen und dann den 
+$aOptions parameter mit dem angelegten Array zu beliefern:
+
+    $options = array('flags' => (SM2_TRIM|...), 'notrim' => 1);
+    show_menu2(0, SM2_ROOT, SM2_CURR+1, $options);
+    
+    
+    
+FORMAT STRINGS
+==============
+Die folgenden Tags kÃ¶nnen in den Formatstrings fÃ¼r $aItemOpen und $aMenuOpen
+verwendet werden und sollen durch den entsprechenden Text ersetzt werden.
+
+[a]             <a> tag ohne Klasse:   '<a href="[url]" target="[target]">'
+[ac]            <a> tag mit Klasse:    '<a href="[url]" target="[target]" class="[class]">'
+[li]            <li> tag mit Klasse:   '<li class="[class]">'
+[ul]            <ul> tag mit Klasse:   '<ul class="[class]">'
+[class]         Liste der Klassen fÃ¼r diese Seite
+[menu_title]    Text des MenÃ¼titel 
+                (HTML entity escaped ausser das SM2_NOESCAPE Flag ist gesetzt)
+[page_title]    text des Seitentitel 
+                (HTML entity escaped ausser das SM2_NOESCAPE Flag ist gesetzt)
+[url]           die URL der Seiten fÃ¼r den <a> tag
+[target]        das Seitenziel fÃ¼r den <a> tag
+[page_id]       die Page ID des aktuellen MenÃ¼punktes.
+[parent]        die Page ID des Ã¼bergeordneten MenÃ¼punktes.
+[level]         die Seitenebene, 
+                dies ist die gleiche Zahl die im "menu-N" CSS tag verwendet wird.
+[sib]           Anzahl der Geschwister des aktuellen MenÃ¼punktes.
+[sibCount]      Anzahl aller Geschwister in diesem MenÃ¼.
+[if]            Bedingung (Details hierzu im Abschnitt "Bedingte Formatierung')
+
+Folgende tags sind NUR verfÃ¼gbar, wenn das SM2_ALLINFO Flag gesetzt ist.
+
+[description]   Seitenbeschreibung
+[keywords]      SchlÃ¼sselworte der Seite
+
+
+
+BEDINGTE FORMATIERUNG
+=====================
+Die Anweisung fÃ¼r eine bedingte Formatierung kann eine der folgenden Formen haben:
+
+    [if(A){B}]
+    [if(A){B}else{C}]
+    
+    A   Die Bedingung. Details dazu, siehe unten.
+    
+    B   Der Ausdruck der verwendet wird, wenn die Bedingung erfÃ¼llt ist.
+        Dies kann ein beliebiger String sein, der jedoch nicht das Zeichen '}'
+        enthalten darf. Er kann jeden beliebigen Formatstring aus dem Abschnitt
+        'Format Strings' enthalten, jedoch keinen weiteren Bedingungstest (da das 
+        Zeichen '}' nicht erlaubt ist).
+    
+    C   Der Ausdruck der verwendet wird, wenn die Bedingung nicht erfÃ¼llt ist.
+        Dies kann ein beliebiger String sein, der jedoch nicht das Zeichen '}'
+        enthalten darf. Er kann jeden beliebigen Formatstring aus dem Abschnitt
+        'Format Strings' enthalten, jedoch keinen weiteren Bedingungstest (da das 
+        Zeichen '}' nicht erlaubt ist).
+
+Die Bedingung ist eine Kombination von einem oder mehreren boolschen Vergleichen.
+Wenn mehr als ein Vergleich erforderlich ist, so muss dieser mit den anderen Vergleichen
+mittels || (boolsches oder - OR) oder && (boolsches und - AND) verknÃ¼pft werden.    
+
+Ein einzelner Vergleich besteht aus dem linken Operanden, dem Operator und dem rechten 
+Operanden.
+z.B. X == Y  - hierbei ist X der linke Operand, == der Operator und Y der rechte Operand.
+    
+    Linker Operand. Muss eines der folgende SchlÃ¼sselworte sein:
+        class       ÃœberprÃ¼fung ob diese Klasse existiert. Es sind nur die
+                    "==" and "!=" Operatoren erlaubt. In diesem Fall haben die Operatoren
+                    die Bedeutung von "enthÃ¤lt" bzw. "enthÃ¤lt nicht" an Stelle von
+                    "ist gleich" bzw. "ist nicht gleich"
+        level       ÃœberprÃ¼fung der Seitenebene.
+        sib         ÃœberprÃ¼fung der Geschwisteranzahl der aktuellen Seite.
+        sibCount    ÃœberprÃ¼fung der Geamtanzahl der Geschwister im aktuellen MenÃ¼.
+        id          ÃœberprÃ¼fung der page id.
+    
+    Operator. Muss einer der folgenden sein:
+        <           Kleiner als
+        <=          Kleiner oder gleich als
+        ==          Gleich
+        !=          Nicht gleich
+        >=          GrÃ¶ssr oder gleich als
+        >           GrÃ¶sser als
+    
+    Rechter Operand. Die Art dieses Operanden hÃ¤ngt von dem, fÃ¼r den linken Operanden
+                     verwendeten SchlÃ¼sselwort ab.
+        class       einer der "menu-*" Klassennamen wie sie im Abschnitt "Ausgabe"
+                    spezifiziert sind.
+        level       ÃœberprÃ¼fung der Seitenebene gegen folgende Werte:
+                        <number>  die absolute Seitenebene
+                        root      die oberste Seitenebene
+                        granny    die Seitenebene Ã¼ber der Ã¼bergeordneten Seitenebene
+                        parent    die Ã¼bergeordnete Seitenebene
+                        current   die aktuelle Seitenebene
+                        child     die untergeornete Seitenebene
+        id          ÃœberprÃ¼fung der page id gegen folgende Werte:
+                        <number>  die absolute page id
+                        parent    die Ã¼bergeordnete page id
+                        current   die aktuelle page id
+        sib         Eine positive Integerzahl, oder "sibCount" um die Anzahl der
+                    Geschwister in diesem MenÃ¼ zu Ã¼berprÃ¼fen
+        sibCount    Eine positive Integerzahl
+        
+Folgende Beispiele ergeben "wahr" und der Ausdruck {exp} wird ausgefÃ¼hrt, wenn zutrifft:
+    
+    [if(class==menu-expand){exp}]   hat ein UntermenÃ¼
+    [if(class==menu-first){exp}]    ist der erste Eintrag in einem MenÃ¼
+    [if(class!=menu-first){exp}]    ist NICHT der erste Eintrag in einem MenÃ¼
+    [if(class==menu-last){exp}]     ist der letzte Eintrag in einem MenÃ¼
+    [if(level==0){exp}]             befindet sich auf der obersten Ebene
+    [if(level>0){exp}]              befindet sich NICHT auf der obersten Ebene
+    [if(sib==2){exp}]               ist der zweite Eintrag in einem MenÃ¼
+    [if(sibCount>1){exp}]           ist in einem MenÃ¼ mit mehr als einem Eintrag
+    [if(sibCount!=2){exp}]          ist in einem MenÃ¼, das nicht genau 2 EintrÃ¤ge hat
+    [if(level>parent){exp}]         ist in einem GeschwistermenÃ¼ oder dem UntermenÃ¼ eines      
+                                    GeschwistermenÃ¼s
+    [if(id==parent){exp}]           ist der Ã¼bergeordnete Punkt der aktuellen id
+
+Wenn eine sonst-Klausel (else) hinzugefÃ¼gt wird, so wird diese in allen anderen FÃ¤llen 
+ausgefÃ¼hrt.
+Zum Beispiel wird "foo" immer dann ausgefÃ¼hrt, wenn die if ÃœberprÃ¼fung falsch ergibt, also:
+
+    [if(sib==2){exp}else{foo}]      ist NICHT der zweite Eintrag im MenÃ¼
+    [if(sibCount>2){exp}else{foo}]  ist NICHT in einem MenÃ¼ mit mehr als zwei EintrÃ¤gen
+
+Bei mehrfach Vergleichen wird der Ausdruck "exp" nur ausgefÃ¼hrt, wenn:
+
+    [if(sib == 1 || sib > 3){exp}]  ist der erste Eintrag ODER ist der vierte oder hÃ¶here   
+    Eintrag im MenÃ¼    
+               
+    [if(id == current && class == menu-expand){exp}  ist der aktuelle Eintrag UND hat 
+    UntermenÃ¼s
+        
+Bitte beachten:
+Alle ÃœberprÃ¼fungen werden in der Reihenfolge ausgefÃ¼hrt, in der sie notiert sind, denn:
+* es findet keine ÃœberprÃ¼fung auf evtl. Schleifen statt (alle ÃœberprÃ¼fungen werden immer ausgefÃ¼hrt)
+* ÃœberprÃ¼fungen werden nicht gruppiert (eine Klammerung von ÃœberprÃ¼fungen wird nicht unterstÃ¼tzt)
+* sowohl || als auch && haben die gleiche Wertigkeit
+
+
+
+FORMATTER
+=========
+Achtung: dies ist ein fortgeschrittenes und Ã¤usserst selten benÃ¶tigtes Feature!
+
+Mit umfangreichen Kenntnissen in der PHP Programmierung ist es mÃ¶glich den vordefinierten
+Formatierer von show_menu2 mit einem eigenen zu ersetzen.
+In der include.php von show_menu2 sieht man wie der Formatierer geschreiben werden muss.
+Die API, die verwendet werden muss, sieht wie folgt aus:
+
+(Anmerkung des Ãœbersetzers: Kommentare sind nicht Ã¼bersetzt, wer sich so weit vorwagt, sollte
+damit keine Probleme haben ;-)
+
+class SM2_Formatter
+{
+    // called once before any menu is processed to allow object initialization
+    function initialize() { }
+    
+    // called to open the menu list
+    function startList($aPage, $aUrl) { }
+    
+    // called to open the menu item
+    function startItem($aPage, $aUrl, $aCurrSib, $aSibCount) { }
+    
+    // called to close the menu item
+    function finishItem() { }
+    
+    // called to close the menu list
+    function finishList() { }
+    
+    // called once after all menu has been processed to allow object finalization
+    function finalize() { }
+    
+    // called once after finalize() if the SM2_NOOUTPUT flag is used
+    function getOutput() { }
+};
Index: tags/2.8.2/wb/modules/show_menu2/README.en.txt
===================================================================
--- tags/2.8.2/wb/modules/show_menu2/README.en.txt	(nonexistent)
+++ tags/2.8.2/wb/modules/show_menu2/README.en.txt	(revision 1481)
@@ -0,0 +1,594 @@
+show_menu2, version 4.9
+=======================
+A code snippet for the Website Baker CMS software. It provides a complete 
+replacement for the builtin menu functions. All menu data is retrieved using 
+a single database query, all types of menu styles (lists, breadcrums, sitemaps) 
+can be generated with extensive customisation of the resulting HTML.
+
+
+
+INSTALLATION
+============
+1. Download the latest version from http://code.jellycan.com/show_menu2/
+2. Log into your WebsiteBaker installation
+3. Go to Addons -> Modules
+4. If a previous version of show_menu2 is already installed, select it from
+   the "Uninstall Module" list and choose the "Uninstall" button.
+5. In the "Install Module" section, enter the path to the show_menu2 zip file
+   that you downloaded in step 1, and choose the "Install" button.
+   
+   
+   
+USING SHOW_MENU2
+================
+You need to modify the PHP files of your template to call show_menu2 where you 
+wish to have the menu displayed. Remember when you replace calls to the old
+menu functions to use the new parameters that show_menu2 requires. 
+
+Often times the default menu generated by show_menu2 is all that you need.
+This menu shows the current page and children of the current page. It is
+generated by just calling show_menu2 with no parameters. For example:
+
+    show_menu2();
+    
+Note that the call to show_menu2 is PHP, so you usually need to wrap it in the
+PHP code brackets so that it will execute. Like this:
+
+    <?php show_menu2(); ?>
+
+This default menu generates a complete list based menu with many classes that
+allow easy CSS styling. For example, the current menu item will have the
+"menu-current" class added to the <li> tag. Additionally, every menu item with
+a sub-menu will have the "menu-expand" class added to the <li> tag. This allows 
+you to create CSS rules to style those menu items differently. For example:
+
+    li.menu-expand  { font-weight: bold; }
+    li.menu-current { background: red; }
+
+See the "Output" section for details of exactly what classes are added to each 
+element. More elaborate and different menu structures are able to be created by 
+supplying different parameters to the show_menu2 function call. For example, 
+to show only menu items from the top level of the menu you use:
+
+    show_menu2(0, SM2_ROOT, SM2_START);
+    
+Alternatively, to show up to two levels of the child menus of the current page:
+
+    show_menu2(0, SM2_CURR+1, SM2_CURR+2);
+
+There are many more possible menus that can be generated by show_menu2. See the
+demonstration website at http://code.jellycan.com/sm2test/ for more examples. 
+
+
+
+COMMON QUESTIONS
+================
+
+Q:  I'm not a programmer. Do you have simpler documentation? 
+A:  Nup. This is it. Go hard. Gambarre.
+
+
+Q:  How do I create a drop-down menu?
+A:  This is unrelated to show_menu2. You need to change the template CSS code 
+    to display the menu as a drop-down. Try the "allcss2" template from the WB
+    addon repository. http://addons.websitebaker.org/pages/templates.php
+
+
+Q:  Why does the menu disappear after I do a search on my multilingual WB site?
+A:  You're missing some required lines in your template.
+
+    1.  Log into WB administration, and go to Settings -> Show advanced settings 
+        -> Search Settings -> Header Code and add the following input field 
+        after the <form> open tag: 
+
+        <input type="hidden" name="referrer" value="[REFERRER_ID]" />
+
+
+    2.  In the index.php of your template, add the following input field 
+        immediately following the search <form> open tag.
+
+        <input type="hidden" name="referrer" value="<?php echo defined('REFERRER_ID')?REFERRER_ID:PAGE_ID;?>" />
+
+
+Q:  Multilingual? That sounds cool. How do I do that?
+A:  http://help.websitebaker.org/pages/en/advanced-docu.php
+
+
+Q:  SM2 is generating a warning every time the page is accessed:
+    "show_menu2 error: $aOptions is invalid. No flags from group 1 supplied!"
+A:  You are passing the wrong values to the function. Have a closer look at the 
+    parameters that you are passing. See the PARAMETERS section below for the 
+    correct flag values to pass for the $aOptions parameter.
+
+
+Q:  How do I use a different class/picture/color/widget for each entry in a menu?
+A:  Use the [page_id] format string in the $aItemOpen string. Create a unique 
+    class or id for each menu item, then reference that item in your CSS or Javascript
+    to do whatever you want.
+    
+    To add a unique class for each menu item (or similar):
+    
+        "<li><a href="[url]" target="[target]" class="[class] p[page_id]">[menu_title]</a>"
+
+        ... creating menu items like ...
+    
+        <li><a href="/pages/foo/bar.php" target="_top" class="menu-top p45">Top Menu</a>
+
+        Reference this in your CSS like:
+        
+        a.p45 { color: red; }
+    
+    To add a unique ID for each menu item (or similar):
+    
+        "<li><a id="p[page_id]" href="[url]" target="[target]" class="[class]">[menu_title]</a>"
+    
+        ... creating menu items like ...
+    
+        <li><a id="p45" href="/pages/foo/bar.php" target="_top" class="menu-top">Top Menu</a>
+
+        Reference this in your CSS like:
+        
+        a#p45 { color: red; }
+        
+        Note that the ID can only be used if that menu is generated and displayed one time
+        only on the page (because HTML ID's must be unique within a page). 
+    
+
+
+FUNCTION
+========
+
+The complete call signature and default parameter value for show_menu2 is:
+
+    show_menu2(
+        $aMenu          = 0,
+        $aStart         = SM2_ROOT,
+        $aMaxLevel      = SM2_CURR+1,
+        $aOptions       = SM2_TRIM,
+        $aItemOpen      = '[li][a][menu_title]</a>',
+        $aItemClose     = '</li>',
+        $aMenuOpen      = '[ul]',
+        $aMenuClose     = '</ul>',
+        $aTopItemOpen   = false,
+        $aTopMenuOpen   = false
+        )
+
+See the "Parameters" section for detailed descriptions of each parameter.
+Ensure that you use each parameter correctly. Use the following rules:
+
+    $aMenu will be 0 for most people.
+    
+    $aStart must be either a page ID or a value starting with "SM2_".
+    
+    $aMaxLevel must be only values that start with "SM2_".
+    
+    $aOptions must be only values that start with "SM2_" (unless you are 
+    in a very small minority of users).
+    
+    All other parameters are the HTML tag templates that will be 
+    output for menus and menu items.
+    
+Note that every parameter from $aItemOpen can be supplied as false to get 
+the default value.
+
+
+
+HTML OUTPUT
+===========
+The menu is output differently depending on what parameters have been 
+supplied to the function, however in general the following classes are used 
+for each menu. Note that items will have multiple classes when relevant.
+
+    CLASS           ATTACHED TO
+    ------------    -------------------------------------------------------
+    menu-top        First menu tag only
+    menu-parent     Every parent menu item of the current page.
+    menu-current    Only the menu item for the current page.
+    menu-sibling    Every sibling of the current page.
+    menu-child      Every sub-menu of the current page.
+    menu-expand     Every menu item with children.
+    menu-first      First item in any menu or sub-menu.
+    menu-last       Last item in any menu or sub-menu.
+
+    The following classes are added only if SM2_NUMCLASS flag has been used.
+
+    menu-N          Every menu item. The N is replaced with the ABSOLUTE 
+                    menu depth of the item starting with 0. The root level 
+                    menu is always menu-0, the next level is menu-1, etc.
+    menu-child-N    Every sub-menu of the current page, the N is replaced 
+                    with the relative depth of the submenu starting at 0.
+
+
+<ul class="menu-top menu-0">
+  <li class="menu-0 menu-first">  ... </li>
+  <li class="menu-0 menu-expand menu-parent">  ...
+  <ul class="menu-1">
+    <li class="menu-1 menu-expand menu-first">  ...
+    <ul class="menu-2">
+      <li class="menu-2 menu-first">  ...
+      <li class="menu-2 menu-last">  ...
+    </ul>
+    </li>
+    <li class="menu-1 menu-expand menu-parent">  ...
+    <ul class="menu-2">
+      <li class="menu-2 menu-expand menu-current menu-first">  ...      ** CURRENT PAGE **
+      <ul class="menu-3">
+        <li class="menu-3 menu-child menu-child-0 menu-first">  ...
+        <ul class="menu-4">
+          <li class="menu-4 menu-child menu-child-1 menu-first">  ... </li>
+          <li class="menu-4 menu-child menu-child-1 menu-last">  ... </li>
+        </ul>
+        </li>
+        <li class="menu-3 menu-child menu-child-0 menu-last">  ... </li>
+      </ul>
+      </li>
+      <li class="menu-2 menu-sibling menu-last">  ... </li>
+    </ul>
+    </li>
+    <li class="menu-1">  ... </li>
+    <li class="menu-1 menu-expand menu-last">  ...
+    <ul class="menu-2">
+      <li class="menu-2 menu-first menu-last">  ... </li>
+    </ul>
+    </li>
+  </ul>
+  </li>
+  <li class="menu-0 menu-last">  ... </li>
+</ul>
+
+
+
+PARAMETERS
+==========
+$aMenu      
+    Menu number to use. This is useful when you are using multiple menus. 
+    Supplying a menu number of 0 will use the default menu for the current 
+    page. Supplying SM2_ALLMENU will return all menus in the system.
+
+$aStart  
+    Specify where the menu generation should start from. This is most
+    times the parent item of the menu to display. It must be one of the 
+    following values:
+        SM2_ROOT+N  Start N levels down from the root. e.g.
+                      SM2_ROOT      Starting at the root menu 
+                      SM2_ROOT+1    Start 1 level below the root
+                      SM2_ROOT+2    Start 2 levels below the root
+        SM2_CURR+N  Start N levels down from the current page level. e.g.
+                      SM2_CURR      Starts at the current page level. All
+                                    sibling menus to the current page.
+                      SM2_CURR+1    Starts 1 level down from the current
+                                    page with the children menus.
+        page_id     Display using the specific page as the parent. All
+                    child menus of that page will be displayed. The 
+                    page_id can be found by editing the page in WB admin 
+                    interface. The page_id is included in the URL like: 
+                        http://SITE/admin/pages/modify.php?page_id=35
+
+$aMaxLevel   
+    Maximum menu level to display. Menus are displayed from the start
+    level down to this level.
+        SM2_ALL     No limit, all levels are displayed
+        SM2_CURR+N  Always show to the current page + N levels. 
+                      SM2_CURR      Current (no children)
+                      SM2_CURR+3    All parents + current + 3 children
+        SM2_START+N Always show from the starting level + N levels. The
+                    levels of menu will always be displayed regardless of
+                    what level the current page is.
+                      SM2_START     Single level of menus from starting level
+                      SM2_START+1   Starting level and 1 level down
+        SM2_MAX+N   Show at most N levels from the starting level. Levels 
+                    won't be shown if they are below the current level.
+                      SM2_MAX       Starting level only (same as SM2_START)
+                      SM2_MAX+1     Maximum of starting level and 1 level.
+
+$aOptions  
+    Specify flags for different generation options for the menu. The flags
+    may be combined together using bitwise OR (|). For example, to specify
+    both TRIM and PRETTY you should use, (SM2_TRIM | SM2_PRETTY).
+
+    GROUP 1
+    -------
+    Exactly one flag from this group must always be supplied. These flags 
+    affect how the siblings in the tree are removed from the output. 
+
+    SM2_ALL         Show all branches of the menu tree
+                        A-1 -> B-1 
+                            -> B-2 -> C-1
+                                   -> C-2 (CURRENT)
+                                          -> D-1
+                                          -> D-2
+                                   -> C-3
+                        A-2 -> B-3
+                            -> B-4
+    SM2_TRIM        Show all sibling menus of pages on the current path. 
+                    All sub-menus of elements that are not on the path 
+                    are removed.
+                        A-1 -> B-1 
+                            -> B-2 -> C-1
+                                   -> C-2 (CURRENT)
+                                          -> D-1
+                                          -> D-2
+                                   -> C-3
+                        A-2 
+    SM2_CRUMB       Show only the breadcrumb trail, i.e. the current
+                    menu and all of it's ancestor menus.
+                        A-1 -> B-2 -> C-2 (CURRENT)
+    SM2_SIBLING     The same as SM2_TRIM however only sibling menus of 
+                    the current page are displayed. All other menus are 
+                    trimmed to show only the path.
+                        A-1 -> B-2 -> C-1
+                                   -> C-2 (CURRENT)
+                                          -> D-1
+                                          -> D-2
+                                   -> C-3
+
+    GROUP 2
+    -------
+    All of these flags are optional. Any number of them may be combined.
+
+    SM2_NUMCLASS    Add the numbered menu classes to the menu. If this 
+                    flag is supplied, the "menu-N" and "menu-child-N" 
+                    classes will be added.
+                    
+    SM2_ALLINFO     Load all fields from the page table of the database.
+                    This will result in quite a lot of memory being used
+                    and is not recommended, however it will make keywords,
+                    descriptions, and other fields available. This data
+                    is not loaded by default.
+                    NOTE: This flag must be used on the *FIRST* call to
+                    show_menu2 *for this menu ID*, or in combination with
+                    SM2_NOCACHE otherwise it will have no effect.
+                    
+    SM2_NOCACHE     Do not reuse or store the data read from the database
+                    between calls to show_menu2. 
+                    
+    SM2_PRETTY      Pretty print the menu HTML with spacing and newlines
+                    for debugging purposes.
+                    
+    SM2_BUFFER      Do not output the menu HTML but instead buffer it 
+                    internally and return it as a string from show_menu2.
+                    
+    SM2_CURRTREE    Exclude all other top level menus from being considered. 
+                    Only items in the current menu tree will be output.
+                    This can be combined with any of the Group 1 flags as
+                    necessary.
+                    
+    SM2_ESCAPE      Call htmlspecialchars on the menu strings. This may be
+                    required with older installations of WB. By escaping the
+                    raw database strings, it permits menus to have HTML 
+                    formatting in them that would cause otherwise cause
+                    pages to fail validation. 
+    
+    SM2_SHOWHIDDEN  Hidden pages are usually hidden all of the time, including 
+                    when they are active (i.e. current page or a parent page).
+                    Use private pages for time when you want pages to be
+                    hidden except when active. However for compatibility with
+                    release 4.8, supply this flag to enable hidden pages to
+                    become visible when they are active.
+
+    This parameter also has an extended mode where an associative array of 
+    options is supplied. See the EXTENDED OPTIONS section for details. 
+    Most users will NOT need to use this.
+
+$aItemOpen
+    Format string to use for creating each individual menu item entry.
+    A different format string may be used for the very first entry by 
+    supplying a different format string for $aTopItemOpen. When set to 
+    false, it uses the default of '[li][a][menu_title]</a>' to maintain
+    compatibility with show_menu(). Note however that CSS formatting is
+    often easier if the classes are added to the <a> tag. Use the format
+    string of '<li>[ac][menu_title]</a>' for this style of tag.
+
+    This parameter may also be specified as an instance of a formatting 
+    class for the menu. See the section "Formatter" below for details of
+    the API this class must expose. When a formatter is supplied, all 
+    arguments after $aItemOpen are ignored.
+
+$aItemClose
+    String used to close each item. Note that this is not a format
+    string and no keywords will be replaced. When set to false, it uses 
+    the default of '</li>'.
+
+$aMenuOpen
+    Format string to use for opening a list of menu item entries. A 
+    different format string may be used for the very first menu by 
+    supplying a different format string for $aTopMenuOpen. When set to 
+    false, it uses the default of '[ul]'.
+
+$aMenuClose
+    String used to close each menu. Note that this is not a format
+    string and no keywords will be replaced. When set to false, it uses 
+    the default of '</ul>'.
+
+$aTopItemOpen
+    Format string for the first item. When set to false, it uses the same 
+    format as $aItemOpen.
+
+$aTopMenuOpen 
+    Format string for the first menu. When set to false, it uses the same 
+    format as $aMenuOpen.
+
+
+
+EXTENDED OPTIONS
+================
+The $aOptions parameter is a dual mode parameter. For most users, only the
+SM2_* flags will be sufficient. However, to access the extra options, it 
+must be supplied as an associative array. Note that the SM2_* flags are
+still required and must be supplied as 'flags'.
+
+    'flags'     **REQUIRED** These are the flags described in PARAMETERS
+                above for the $aOptions parameter. 
+
+    'notrim'    Specify a number of levels relative to the menu level of 
+                $aStart that will always be displayed. This will cause the
+                SM2_TRIM flag to be ignored for these levels.
+                        
+To supply one of these options in addition to the flags, the option array 
+should be created and passed as the $aOptions parameter:
+
+    $options = array('flags' => (SM2_TRIM|...), 'notrim' => 1);
+    show_menu2(0, SM2_ROOT, SM2_CURR+1, $options);
+    
+    
+    
+FORMAT STRINGS
+==============
+The following tags may be included in the format strings for $aItemOpen and 
+$aMenuOpen and will be replaced with the appropriate text.
+
+[a]             <a> tag (no class):         '<a href="[url]" target="[target]">'
+[ac]            <a> tag including class:    '<a href="[url]" target="[target]" class="[class]">'
+[li]            <li> tag including class:   '<li class="[class]">'
+[ul]            <ul> tag including class:   '<ul class="[class]">'
+[class]         List of classes for that page
+[menu_title]    Menu title text (HTML entity escaped unless SM2_NOESCAPE flag is used)
+[page_title]    Page title text (HTML entity escaped unless SM2_NOESCAPE flag is used)
+[url]           Page URL for the <a> tag
+[target]        Page target for the <a> tag
+[page_id]       Page ID of the current menu item
+[parent]        Page ID of the parent menu item
+[level]         Page level, the same number as is used for the "menu-N" CSS tag.
+[sib]           Current menu sibling number
+[sibCount]      Total number of siblings in this menu
+[if]            Conditional test (see section CONDITIONAL FORMATTING)
+
+The following tags are only available when the SM2_ALLINFO flag is used.
+
+[description]   Page description
+[keywords]      Page keywords
+
+
+
+CONDITIONAL FORMATTING
+======================
+The conditional formatting directive takes one of the following forms:
+
+    [if(A){B}]
+    [if(A){B}else{C}]
+    
+    A   Conditional test. See below for more details.
+    
+    B   Expression emitted when the if-test is true. This may be any string 
+        that does NOT include the '}' character. It may include any of the 
+        format strings described in the section FORMAT STRINGS with the 
+        exception of the conditional test (because '}' is not permitted).
+        
+    C   Expression emitted when the if-test is false. This may be any string 
+        that does NOT include the '}' character. It may include any of the 
+        format strings described in the section FORMAT STRINGS with the 
+        exception of the conditional test (because '}' is not permitted).
+    
+The conditional test is a combination of one or more boolean tests.
+If more than one test is supplied, it must be combined with other tests
+using either || (boolean OR) or && (boolean AND). 
+
+A single test is made up of the left operand, operator and right operand.
+e.g. X == Y where X is the left operand, == is the operator and Y is the
+right operand.
+    
+    Left operand. It must be one of the following keywords:
+        class       Test for existence of one of the classes. Only the
+                    "==" and "!=" operators are permitted. In this case
+                    these operators have the meaning of "includes" 
+                    instead of "equals".
+        level       Test against the page level.
+        sib         Test against the current page sibling number.
+        sibCount    Test against the number of siblings in the menu.
+        id          Test against the page id.
+    
+    Operator. It must be one of the following:
+        <           Less Than
+        <=          Less Than Equals
+        ==          Equals
+        !=          Not Equal
+        >=          Greater Than Equals
+        >           Greater Than
+    
+    Right operand. The type of this operand depends on the keyword used
+    for the left operand:
+        class       One of the "menu-*" class names as listed in the 
+                    section "OUTPUT".
+        level       Test the page level against the following values:
+                      <number>  absolute page level
+                      root      the root page level
+                      granny    the grand-parent page level
+                      parent    the parent page level
+                      current   the current page level
+                      child     the child page level
+        id          Test the page id against the following values:
+                      <number>  absolute page id
+                      parent    the parent page id
+                      current   the current page id
+        sib         A positive integer, or "sibCount" to test against
+                    the count of siblings in this menu.
+        sibCount    A positive integer.
+        
+For example, valid tests are expression "exp" is emitted only when the menu item:
+    
+    [if(class==menu-expand){exp}]   has a sub-menu
+    [if(class==menu-first){exp}]    is first item in a menu
+    [if(class!=menu-first){exp}]    is NOT first item in a menu
+    [if(class==menu-last){exp}]     is last item in a menu
+    [if(level==0){exp}]             is at the root
+    [if(level>0){exp}]              is not at the root
+    [if(sib==2){exp}]               is the second item in a menu
+    [if(sibCount>1){exp}]           is in a menu with more than 1 entry
+    [if(sibCount!=2){exp}]          is in a menu which doesn't have exactly
+    [if(level>parent){exp}]         is in a sibling menu or child of a sibling
+    [if(id==parent){exp}]           is the parent of the current page
+
+If an else-clause was added, then the expression for the else would be 
+emitted in all other cases. For example the expression "foo" is emitted
+whenever the if-test is false, so therefore:
+
+    [if(sib==2){exp}else{foo}]          is NOT the second item in a menu
+    [if(sibCount>2){exp}else{foo}]      is NOT in a menu with more than 2 entries
+
+For multiple tests, the expression "exp" is emitted only when the menu item:
+
+    [if(sib == 1 || sib > 3){exp}]      
+        [is the first item] OR [is the 4th or larger item] in the menu
+        
+    [if(id == current && class == menu-expand){exp}
+        [is the current item] AND [it has children]
+
+Note that all tests are evaluated in the order listed because:
+ * there is no short-circuit evaluation (all individual tests are always evaluated)
+ * there is no grouping of tests (i.e. no support for parenthesis)
+ * both || and && are considered the same level 
+
+
+
+FORMATTER
+=========
+Note: This is an advanced and rarely needed feature!
+
+If you are capable of extensive PHP programming, it is possible to replace the 
+predefined menu formatter that show_menu2 is uses with a custom module. See the
+include.php file of show_menu2 for an example of how the menu formatter must be 
+written. The API it must use is:
+
+class SM2_Formatter
+{
+    // called once before any menu is processed to allow object initialization
+    function initialize() { }
+    
+    // called to open the menu list
+    function startList($aPage, $aUrl) { }
+    
+    // called to open the menu item
+    function startItem($aPage, $aUrl, $aCurrSib, $aSibCount) { }
+    
+    // called to close the menu item
+    function finishItem() { }
+    
+    // called to close the menu list
+    function finishList() { }
+    
+    // called once after all menu has been processed to allow object finalization
+    function finalize() { }
+    
+    // called once after finalize() if the SM2_NOOUTPUT flag is used
+    function getOutput() { }
+};
Index: tags/2.8.2/wb/modules/show_menu2/legacy.php
===================================================================
--- tags/2.8.2/wb/modules/show_menu2/legacy.php	(nonexistent)
+++ tags/2.8.2/wb/modules/show_menu2/legacy.php	(revision 1481)
@@ -0,0 +1,196 @@
+<?php
+
+// $Id$
+
+/*
+    show_menu2: show_menu replacement for Website Baker 
+    Copyright (C) 2006-2009, Brodie Thiesfield
+
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of the GNU General Public License
+    as published by the Free Software Foundation; either version 2
+    of the License, or (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  
+    02110-1301, USA.
+*/
+
+/*
+    This file provides backward compatibility between show_menu2 and the
+    old functions show_menu() and menu(). Note that it is highly recommended 
+    for you to update your templates to use show_menu2 directly.
+ */    
+
+/* ----------------------------------------------------------------------------
+   show_menu
+   
+ From: http://forum.websitebaker.org/index.php/topic,2251.msg13978.html#msg13978  
+ 
+ * By calling it multiple times, you can have one menu just
+ * showing the root level, one for the sub-pages, and so on
+ * The order of the arguments has been changed compared
+ * to the page_menu() function, so read carefully the list
+ * of arguments!
+ * To just display the standard menu, use
+ * <?php show_menu(); ?> within your template's html code.
+ * You don't normally need anymore than the first four arguments.
+ * Usual calls would be (inside php code!)
+ * show_menu(1,0,-1,false); - displays the complete page tree
+ * show_menu(1,1,1); - show only first sub level
+ * show_menu(1,1,-1); -    show an expanding/collapsing menu tree starting at level 1
+ * Have fun experimenting!
+ *
+ * Full list of arguments:
+ * 1. $menu_number:   With activitated "multiple menu" feature
+ *                  you can choose which menu will be displayed
+ *                  default: 1
+ * 2. $start_level: The depth level of the root of the displayed
+ *               menu tree. Defaults to '0', which is the top level.
+ *                  '1' will show all pages starting from the first sub level.
+ * 3. $recurse:     Gives the maximum number of levels to be displayed. Default
+ *                  is '-1' which means 'all'.
+ * 4. $collapse:    Specifies, whether the menu tree shall be
+ *               expandable/collapsible (if set to 'true')
+ *               or complete (all pages being displayed) if set to 'false'
+ * 5. $item_template: Gives the possibility to specify the html code that is
+ *                  displayed before displaying sub-pages
+ * 6. $item_footer: The html code to appear after sub-pages were displayed.
+ * 7. $menu_header: The html code to appear before the entire menu code and each
+ *               sub tree.
+ * 8. $menu_footer: The html code to appear after the entire menu code and each
+ *               sub tree.
+ * 9. $default_class: The (CSS) class of every menu item except the currently viewed page
+ * 10. $current_class: The class of the currently viewed page
+ * 11. $parent:    (used internally) The page_id of the menu's root node, defaults is '0' (root level)
+ */
+ 
+class SM2_ShowMenuFormatter
+{
+    var $output;
+    var $itemTemplate;
+    var $itemFooter;
+    var $menuHeader;
+    var $menuFooter;
+    var $defaultClass;
+    var $currentClass;
+    
+    function output($aString) {
+        if ($this->flags & SM2_BUFFER) {
+            $this->output .= $aString;
+        }
+        else {
+            echo $aString;
+        }
+    }
+    function initialize() { $this->output = ''; }
+    function startList($aPage, $aUrl) { 
+        echo $this->menuHeader;
+    }
+    function startItem($aPage, $aUrl, $aCurrSib, $aSibCount) { 
+        // determine the class string to use
+        $thisClass = $this->defaultClass;
+        if ($aPage['page_id'] == PAGE_ID) {
+            $thisClass = $this->currentClass;
+        }
+        
+        // format and display this item
+        $item = str_replace( 
+                array(
+                    '[a]','[/a]','[menu_title]','[page_title]','[url]',
+                    '[target]','[class]'
+                    ),
+                array(
+                    "<a href='$aUrl' target='".$aPage['target']."'>", '</a>',
+                    $aPage['menu_title'], $aPage['page_title'], $aUrl, 
+                    $aPage['target'], $thisClass
+                    ),
+                $this->itemTemplate);
+        echo $item;
+    }
+    function finishItem() { 
+        echo $this->itemFooter;
+    }
+    function finishList() { 
+        echo $this->menuFooter;
+    }
+    function finalize() { }
+    function getOutput() {
+        return $this->output;
+    }
+}
+
+function show_menu(
+    $aMenu          = 1, 
+    $aStartLevel    = 0, 
+    $aRecurse       = -1, 
+    $aCollapse      = true,
+    $aItemTemplate  = '<li><span[class]>[a][menu_title][/a]</span>',
+    $aItemFooter    = '</li>',
+    $aMenuHeader    = '<ul>',
+    $aMenuFooter    = '</ul>',
+    $aDefaultClass  = ' class="menu_default"',
+    $aCurrentClass  = ' class="menu_current"',
+    $aParent        = 0
+    )
+{
+    static $formatter;
+    if (!isset($formatter)) {
+        $formatter = new SM2_ShowMenuFormatter;
+    }
+    
+    $formatter->itemTemplate  = $aItemTemplate;
+    $formatter->itemFooter    = $aItemFooter;  
+    $formatter->menuHeader    = $aMenuHeader;  
+    $formatter->menuFooter    = $aMenuFooter;  
+    $formatter->defaultClass  = $aDefaultClass;
+    $formatter->currentClass  = $aCurrentClass;
+    
+    $start = SM2_ROOT + $aStartLevel;
+    if ($aParent != 0) {
+        $start = $aParent;
+    }
+
+    $maxLevel = 0;
+    if ($aRecurse == 0) {
+        return;
+    }
+    if ($aRecurse < 0) {
+        $maxLevel = SM2_ALL;
+    }
+    else {
+        $maxLevel = SM2_START + $aRecurse - 1;
+    }
+    
+    $flags = $aCollapse ? SM2_TRIM : SM2_ALL;
+    
+    // special case for default case
+    if ($aStartLevel == 0 && $aRecurse == -1 && $aCollapse) {
+        $maxLevel = SM2_CURR + 1;
+    }
+
+    show_menu2($aMenu, $start, $maxLevel, $flags, $formatter);
+}
+
+function page_menu(
+    $aParent = 0, 
+    $menu_number = 1, 
+    $item_template = '<li[class]>[a][menu_title][/a]</li>', 
+    $menu_header = '<ul>', 
+    $menu_footer = '</ul>', 
+    $default_class = ' class="menu_default"', 
+    $current_class = ' class="menu_current"', 
+    $recurse = LEVEL    // page['level']
+    ) 
+{
+    show_menu($menu_number, 0, $recurse+2, true, $item_template, '', 
+        $menu_header, $menu_footer, $default_class, $current_class, $aParent);
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/show_menu2/legacy.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/show_menu2/index.php
===================================================================
--- tags/2.8.2/wb/modules/show_menu2/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/show_menu2/index.php	(revision 1481)
@@ -0,0 +1,27 @@
+<?php
+
+// $Id$
+
+/*
+    show_menu2: show_menu replacement for Website Baker 
+    Copyright (C) 2006-2009, Brodie Thiesfield
+
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of the GNU General Public License
+    as published by the Free Software Foundation; either version 2
+    of the License, or (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  
+    02110-1301, USA.
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/show_menu2/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/show_menu2/LICENCE.txt
===================================================================
--- tags/2.8.2/wb/modules/show_menu2/LICENCE.txt	(nonexistent)
+++ tags/2.8.2/wb/modules/show_menu2/LICENCE.txt	(revision 1481)
@@ -0,0 +1,278 @@
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+                       51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
Index: tags/2.8.2/wb/modules/droplets/info.php
===================================================================
--- tags/2.8.2/wb/modules/droplets/info.php	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/info.php	(revision 1481)
@@ -0,0 +1,25 @@
+<?php
+
+// $Id$
+
+/*
+*	@version	1.0
+*	@author		Ruud Eisinga (Ruud) John (PCWacht)
+*	@date		June 2009
+*
+*	droplets are small codeblocks that are called from anywhere in the template. 
+* 	To call a droplet just use [[dropletname]]. optional parameters for a droplet can be used like [[dropletname?parameter=value&parameter2=value]]
+*/
+
+$module_directory = 'droplets';
+$module_name = 'Droplets';
+$module_function = 'tool';
+$module_version = '1.0.2';
+$module_platform = '2.8.x';
+$module_author = 'Ruud and pcwacht';
+$module_license = 'GNU General Public License';
+$module_description = 'This tool allows you to manage your local Droplets.';
+
+$module_home = 'http://www.websitebakers.com/pages/droplets/about-droplets.php';
+$module_guid = '9F2AC2DF-C3E1-4E15-BA4C-2A86E37FE6E5';
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/droplets/info.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/droplets.php
===================================================================
--- tags/2.8.2/wb/modules/droplets/droplets.php	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/droplets.php	(revision 1481)
@@ -0,0 +1,57 @@
+<?php
+
+// $Id$
+
+/*
+*	@version	1.0.2
+*	@author		Ruud Eisinga (Ruud) John (PCWacht)
+*	@date		June 2009
+*
+*	droplets are small codeblocks that are called from anywhere in the template. 
+* 	To call a droplet just use [[dropletname]]. optional parameters for a droplet can be used like [[dropletname?parameter=value&parameter2=value]]\
+*
+*   1.0.2, bugfix. Reused the evalDroplet function so the extracted parameters will be only available within the scope of the eval and cleared when ready.
+*/
+
+function evalDroplets ($wb_page_data) {
+	global $database;
+	$parameter = array();
+	preg_match_all('~\[\[(.*?)\]\]~', $wb_page_data, $matches);
+	foreach ($matches[1] as $match) {
+		if (strpos($match,"?")) {
+			list ($droplet,$params) = explode("?",$match);
+			if(!empty($params)) {
+				$params = html_entity_decode($params,ENT_COMPAT,DEFAULT_CHARSET); // make sure we can parse the parameters correctly
+				$paramarray = explode("&",$params); //create array of parms as parm=value
+				foreach ($paramarray as $paramelement) {
+					$parameterTemp = explode("=", $paramelement,2);
+					if (count($parameterTemp) == 2)
+						$parameter[$parameterTemp[0]] = htmlentities($parameterTemp[1],ENT_COMPAT,DEFAULT_CHARSET); //re-encode the parameter values
+					else
+						$parameter['parm'] = htmlentities($parameterTemp[0],ENT_COMPAT,DEFAULT_CHARSET);
+				}
+			}
+		} else {
+			$droplet = $match;
+			$parameter = "";
+		}
+		$query_content = $database->query("SELECT * FROM ".TABLE_PREFIX."mod_droplets WHERE name = '$droplet' AND active = 1 ");
+		if ($query_content && $query_content->numRows() > 0){
+			$fetch_content = $query_content->fetchRow();
+			$codedata = ($fetch_content['code']);
+			$newvalue = evalDroplet($codedata, $parameter, $wb_page_data);
+			if ($newvalue == "" && !$newvalue === true) 
+				$newvalue = "<font color=\"red\">Error in: $match, no correct returnvalue.</font>";
+			if ($newvalue === true) 
+				$newvalue = "";
+			$wb_page_data = str_replace("[[".$match."]]", $newvalue, $wb_page_data);
+		}
+	}
+	return $wb_page_data;
+}
+
+function evalDroplet($droplet, $params, &$wb_page_data) {
+    if(is_array($params)) extract($params, EXTR_SKIP);
+	return eval($droplet);
+}
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/droplets/droplets.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/example/EmailFilter.php
===================================================================
--- tags/2.8.2/wb/modules/droplets/example/EmailFilter.php	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/example/EmailFilter.php	(revision 1481)
@@ -0,0 +1,170 @@
+//:Emailfiltering on your output - output filtering with the options below - Mailto links can be encrypted by a Javascript
+//:usage:  [[EmailFilter]] 
+ 
+// You can configure the output filtering with the options below.
+// Tip: Mailto links can be encrypted by a Javascript function. 
+// To make use of this option, one needs to add the PHP code 
+//       register_frontend_modfiles('js');
+// into the <head> section of the index.php of your template. 
+// Without this modification, only the @ character in the mailto part will be replaced.
+
+// Basic Email Configuration: 
+// Filter Email addresses in text 0 = no, 1 = yes - default 1
+$filter_settings['email_filter'] = '1';
+
+// Filter Email addresses in mailto links 0 = no, 1 = yes - default 1
+$filter_settings['mailto_filter'] = '1';
+
+// Email Replacements, replace the '@' and the '.' by default (at) and (dot)
+$filter_settings['at_replacement']  = '(at)';
+$filter_settings['dot_replacement'] = '(dot)';
+
+// No need to change stuff underneatch unless you know what you are doing.
+
+// work out the defined output filter mode: possible output filter modes: [0], 1, 2, 3, 6, 7
+// 2^0 * (0.. disable, 1.. enable) filtering of mail addresses in text
+// 2^1 * (0.. disable, 1.. enable) filtering of mail addresses in mailto links
+// 2^2 * (0.. disable, 1.. enable) Javascript mailto encryption (only if mailto filtering enabled)
+
+// only filter output if we are supposed to
+if($filter_settings['email_filter'] != '1' && $filter_settings['mailto_filter'] != '1'){
+	// nothing to do ...
+	return true;
+}
+
+// check if non mailto mail addresses needs to be filtered
+$output_filter_mode = ($filter_settings['email_filter'] == '1') ? 1 : 0;		// 0|1
+	
+// check if mailto mail addresses needs to be filtered
+if($filter_settings['mailto_filter'] == '1') {
+	$output_filter_mode = $output_filter_mode + 2;								// 0|2
+					
+	// check if Javascript mailto encryption is enabled (call register_frontend_functions in the template)
+	$search = '<script src="' .WB_URL .'/modules/droplets/js/mdcr.js" type="text/javascript"></script>';
+	if(strpos($wb_page_data, $search) !== false) { 
+		$output_filter_mode = $output_filter_mode + 4;							// 0|4
+	}
+}
+		
+// define some constants so we do not call the database in the callback function again
+define('OUTPUT_FILTER_MODE', (int) $output_filter_mode);
+define('OUTPUT_FILTER_AT_REPLACEMENT', $filter_settings['at_replacement']);
+define('OUTPUT_FILTER_DOT_REPLACEMENT', $filter_settings['dot_replacement']);
+	
+// function to filter mail addresses embedded in text or mailto links before outputing them on the frontend
+if (!function_exists('filter_mail_addresses')) {
+	function filter_mail_addresses($match) { 
+		
+	// check if required output filter mode is defined
+		if(!(defined('OUTPUT_FILTER_MODE') && defined('OUTPUT_FILTER_MODE') && defined('OUTPUT_FILTER_MODE'))) {
+			return $match[0];
+		}
+		
+		$search = array('@', '.');
+		$replace = array(OUTPUT_FILTER_AT_REPLACEMENT ,OUTPUT_FILTER_DOT_REPLACEMENT);
+		
+		// check if the match contains the expected number of subpatterns (6|8)
+		if(count($match) == 8) {
+			/**
+				OUTPUT FILTER FOR EMAIL ADDRESSES EMBEDDED IN TEXT
+			**/
+			
+			// 1.. text mails only, 3.. text mails + mailto (no JS), 7 text mails + mailto (JS)
+			if(!in_array(OUTPUT_FILTER_MODE, array(1,3,7))) return $match[0];
+
+			// do not filter mail addresses included in input tags (<input ... value = "test@mail)
+			if (strpos($match[6], 'value') !== false) return $match[0];
+			
+			// filtering of non mailto email addresses enabled
+			return str_replace($search, $replace, $match[0]);
+				
+		} elseif(count($match) == 6) {
+			/**
+				OUTPUT FILTER FOR EMAIL ADDRESSES EMBEDDED IN MAILTO LINKS
+			**/
+
+			// 2.. mailto only (no JS), 3.. text mails + mailto (no JS), 6.. mailto only (JS), 7.. all filters active
+			if(!in_array(OUTPUT_FILTER_MODE, array(2,3,6,7))) return $match[0];
+			
+			// check if last part of the a href link: >xxxx</a> contains a email address we need to filter
+			$pattern = '#[A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,4}#i';
+			if(preg_match_all($pattern, $match[5], $matches)) {
+				foreach($matches as $submatch) {
+					foreach($submatch as $value) {
+						// replace all . and all @ in email address parts by (dot) and (at) strings
+						$match[5] = str_replace($value, str_replace($search, $replace, $value), $match[5]);
+					}
+				}
+			}
+
+			// check if Javascript encryption routine is enabled
+			if(in_array(OUTPUT_FILTER_MODE, array(6,7))) {
+				/** USE JAVASCRIPT ENCRYPTION FOR MAILTO LINKS **/
+				
+				// extract possible class and id attribute from ahref link
+				preg_match('/class\s*?=\s*?("|\')(.*?)\1/ix', $match[0], $class_attr);
+				$class_attr = empty($class_attr) ? '' : 'class="' . $class_attr[2] . '" ';
+				preg_match('/id\s*?=\s*?("|\')(.*?)\1/ix', $match[0], $id_attr);
+				$id_attr = empty($id_attr) ? '' : 'id="' . $id_attr[2] . '" ';
+				
+				// preprocess mailto link parts for further usage
+				$search = array('@', '.', '_', '-'); $replace = array('F', 'Z', 'X', 'K');
+				$email_address = str_replace($search, $replace, strtolower($match[2]));
+				$email_subject = rawurlencode(html_entity_decode($match[3]));
+				
+				// create a random encryption key for the Caesar cipher
+				mt_srand((double)microtime()*1000000);	// (PHP < 4.2.0)
+				$shift = mt_rand(1, 25);
+				
+				// encrypt the email using an adapted Caesar cipher
+		  		$encrypted_email = "";
+				for($i = strlen($email_address) -1; $i > -1; $i--) {
+					if(preg_match('#[FZXK0-9]#', $email_address[$i], $characters)) {
+						$encrypted_email .= $email_address[$i];
+					} else {	
+						$encrypted_email .= chr((ord($email_address[$i]) -97 + $shift) % 26 + 97);
+					}
+				}
+				$encrypted_email .= chr($shift + 97);
+
+				// build the encrypted Javascript mailto link
+				$mailto_link  = "<a {$class_attr}{$id_attr}href=\"javascript:mdcr('$encrypted_email','$email_subject')\">" .$match[5] ."</a>";
+				
+				return $mailto_link;	
+
+			} else {
+				/** DO NOT USE JAVASCRIPT ENCRYPTION FOR MAILTO LINKS **/
+
+				// as minimum protection, replace replace @ in the mailto part by (at)
+				// dots are not transformed as this would transform my.name@domain.com into: my(dot)name(at)domain(dot)com
+				
+				// rebuild the mailto link from the subpatterns (at the missing characters " and </a>")
+				return $match[1] .str_replace('@', OUTPUT_FILTER_AT_REPLACEMENT, $match[2]) .$match[3] .'"' .$match[4] .$match[5] .'</a>';
+				// if you want to protect both, @ and dots, comment out the line above and remove the comment from the line below
+				// return $match[1] .str_replace($search, $replace, $match[2]) .$match[3] .'"' .$match[4] .$match[5] .'</a>';
+			}
+		
+		}
+		
+		// number of subpatterns do not match the requirements ... do nothing
+		return $match[0];
+	}		
+}
+	
+// first search part to find all mailto email addresses
+$pattern = '#(<a[^<]*href\s*?=\s*?"\s*?mailto\s*?:\s*?)([A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,4})([^"]*?)"([^>]*>)(.*?)</a>';
+// second part to find all non mailto email addresses
+$pattern .= '|(value\s*=\s*"|\')??\b([A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,4})\b#i';
+
+// Sub 1:\b(<a.[^<]*href\s*?=\s*?"\s*?mailto\s*?:\s*?)		-->	"<a id="yyy" class="xxx" href = " mailto :" ignoring white spaces
+// Sub 2:([A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,4})		-->	the email address in the mailto: part of the mail link
+// Sub 3:([^"]*?)"							--> possible ?Subject&cc... stuff attached to the mail address
+// Sub 4:([^>]*>)							--> all class or id statements after the mailto but before closing ..>
+// Sub 5:(.*?)</a>\b						--> the mailto text; all characters between >xxxxx</a>
+// Sub 6:|\b([A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,4})\b		--> email addresses which may appear in the text (require word boundaries)
+$content = $wb_page_data;			
+// find all email addresses embedded in the content and filter them using a callback function
+$content = preg_replace_callback($pattern, 'filter_mail_addresses', $content);
+$wb_page_data = $content;
+return true;
+		

Property changes on: tags/2.8.2/wb/modules/droplets/example/EmailFilter.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/example/PreviousPage.php
===================================================================
--- tags/2.8.2/wb/modules/droplets/example/PreviousPage.php	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/example/PreviousPage.php	(revision 1481)
@@ -0,0 +1,13 @@
+//:Create a previous link to your page
+//:Display a link to the previous page on the same menu level
+$info = show_menu2(0, SM2_CURR, SM2_START, SM2_ALL|SM2_BUFFER, '[if(class==menu-current){[level] [sib] [sibCount] [parent]}]', '', '', '');+list($nLevel, $nSib, $nSibCount, $nParent) = explode(' ', $info);++// show previous+$prv = $nSib > 1 ? $nSib - 1 : 0;+if ($prv > 0) { +return show_menu2(0, SM2_CURR, SM2_START, SM2_ALL|SM2_BUFFER, "[if(sib==$prv){[a][menu_title]</a> &lt;&lt;}]", '', '', '');+}+else +return '(no previous)';+
Property changes on: tags/2.8.2/wb/modules/droplets/example/PreviousPage.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/example/Text2Image.php
===================================================================
--- tags/2.8.2/wb/modules/droplets/example/Text2Image.php	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/example/Text2Image.php	(revision 1481)
@@ -0,0 +1,30 @@
+//:Create an image from the textparameter
+//:Use [[text2image?text=The text to create]]
+//clean up old files..+$dir = WB_PATH.'/temp/';+$dp = opendir($dir) or die ('Could not open '.$dir);+while ($file = readdir($dp)) {+	if ((eregi('img_',$file)) && (filemtime($dir.$file)) < (strtotime('-10 minutes'))) {+		unlink($dir.$file);+	}+}+closedir($dp);++$imgfilename = 'img_'.rand().'_'.time().'.jpg';+//create image+$padding = 0;+$font = 3;  	++$height = imagefontheight($font) + ($padding * 2);+$width = imagefontwidth($font) * strlen($text) + ($padding * 2);+$image_handle = imagecreatetruecolor($width, $height);+$text_color = imagecolorallocate($image_handle, 0, 0, 0);+$background_color = imagecolorallocate($image_handle, 255, 255, 255);+$bg_height = imagesy($image_handle);+$bg_width = imagesx($image_handle);+imagefilledrectangle($image_handle, 0, 0, $bg_width, $bg_height, $background_color);+imagestring($image_handle, $font, $padding, $padding, $text, $text_color);+imagejpeg($image_handle,WB_PATH.'/temp/'.$imgfilename,100);+imagedestroy($image_handle);++return '<img src="'.WB_URL.'/temp/'.$imgfilename.'" style="border:0px;margin:0px;padding:0px;vertical-align:middle;" />';
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/droplets/example/Text2Image.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/example/NextPage.php
===================================================================
--- tags/2.8.2/wb/modules/droplets/example/NextPage.php	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/example/NextPage.php	(revision 1481)
@@ -0,0 +1,11 @@
+//:Create a next link to your page
+//:Display a link to the next page on the same menu level
+$info = show_menu2(0, SM2_CURR, SM2_START, SM2_ALL|SM2_BUFFER, '[if(class==menu-current){[level] [sib] [sibCount] [parent]}]', '', '', '');+list($nLevel, $nSib, $nSibCount, $nParent) = explode(' ', $info);++// show next+$nxt = $nSib < $nSibCount ? $nSib + 1 : 0;+if ($nxt > 0) {+return show_menu2(0, SM2_CURR, SM2_START, SM2_ALL|SM2_BUFFER,	"[if(sib==$nxt){&gt;&gt; [a][menu_title]</a>}]", '', '', '');+}+else return '(no next)';
Property changes on: tags/2.8.2/wb/modules/droplets/example/NextPage.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/example/Oneliner.php
===================================================================
--- tags/2.8.2/wb/modules/droplets/example/Oneliner.php	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/example/Oneliner.php	(revision 1481)
@@ -0,0 +1,5 @@
+//:Create a random oneliner on your page
+//:Use: [[OneLiner]]. The file with the oneliner data is located in /modules/droplets/example/oneliners.txt
+$line = file (dirname(__FILE__)."/example/oneliners.txt");+shuffle($line);+return $line[0]; 
Property changes on: tags/2.8.2/wb/modules/droplets/example/Oneliner.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/example/Skype.php
===================================================================
--- tags/2.8.2/wb/modules/droplets/example/Skype.php	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/example/Skype.php	(revision 1481)
@@ -0,0 +1,3 @@
+//:Your skype status as an image
+//:Commandline to use: [[skype?user=skypename]]
+return '<img src="http://mystatus.skype.com/'.$user.'.png?t='.time().'" alt="My Skype status" />';
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/droplets/example/Skype.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/example/Lorem.php
===================================================================
--- tags/2.8.2/wb/modules/droplets/example/Lorem.php	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/example/Lorem.php	(revision 1481)
@@ -0,0 +1,18 @@
+//:Create Lorum Ipsum text
+//:Use: [[Lorem?blocks=6]] (max 6 paragraphs)
+$lorem = array();
+$lorem[] = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut odio. Nam sed est. Nam a risus et est iaculis adipiscing. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer ut justo. In tincidunt viverra nisl. Donec dictum malesuada magna. Curabitur id nibh auctor tellus adipiscing pharetra. Fusce vel justo non orci semper feugiat. Cras eu leo at purus ultrices tristique.<br /><br />";
+$lorem[] = "Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.<br /><br />";
+$lorem[] = "Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.<br /><br />";
+$lorem[] = "Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.<br /><br />";
+$lorem[] = "Cras consequat magna ac tellus. Duis sed metus sit amet nunc faucibus blandit. Fusce tempus cursus urna. Sed bibendum, dolor et volutpat nonummy, wisi justo convallis neque, eu feugiat leo ligula nec quam. Nulla in mi. Integer ac mauris vel ligula laoreet tristique. Nunc eget tortor in diam rhoncus vehicula. Nulla quis mi. Fusce porta fringilla mauris. Vestibulum sed dolor. Aliquam tincidunt interdum arcu. Vestibulum eget lacus. Curabitur pellentesque egestas lectus. Duis dolor. Aliquam erat volutpat. Aliquam erat volutpat. Duis egestas rhoncus dui. Sed iaculis, metus et mollis tincidunt, mauris dolor ornare odio, in cursus justo felis sit amet arcu. Aenean sollicitudin. Duis lectus leo, eleifend mollis, consequat ut, venenatis at, ante.<br /><br />";
+$lorem[] = "Consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.<br /><br />"; 
+
+$blocks = (int)$blocks - 1;
+if ($blocks <= 0) $blocks = 0;
+if ($blocks > 5) $blocks = 5;
+$returnvalue = "";
+for ( $i=0 ; $i<=$blocks ; $i++) {
+    $returnvalue .= $lorem[$i];
+}
+return $returnvalue;
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/droplets/example/Lorem.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/example/SearchBox.php
===================================================================
--- tags/2.8.2/wb/modules/droplets/example/SearchBox.php	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/example/SearchBox.php	(revision 1481)
@@ -0,0 +1,15 @@
+//:Create a searchbox
+//:Creates a serachbox on the position of [[searchbox]]. Optional parameter "?msg=the search message"
+global $TEXT;
+$return_value = true;
+if (!isset($msg)) $msg='search this site..';
+$j = "onfocus=\"if(this.value=='$msg'){this.value='';this.style.color='#000';}else{this.select();}\"
+        onblur=\"if(this.value==''){this.value='$msg';this.style.color='#b3b3b3';}\"";
+if(SHOW_SEARCH) { 
+	$return_value  = '<div class="searchbox">';
+	$return_value  .= '<form action="'.WB_URL.'/search/index'.PAGE_EXTENSION.'" method="get" name="search" class="searchform" id="search">';
+	$return_value  .= '<input style="color:#b3b3b3;" type="text" name="string" size="25" class="textbox" value="'.$msg.'" '.$j.'  />&nbsp;';
+	$return_value  .= '</form>';
+	$return_value  .= '</div>';
+}
+return $return_value;

Property changes on: tags/2.8.2/wb/modules/droplets/example/SearchBox.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/example/LoginBox.php
===================================================================
--- tags/2.8.2/wb/modules/droplets/example/LoginBox.php	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/example/LoginBox.php	(revision 1481)
@@ -0,0 +1,24 @@
+//:Puts a Login / Logout box on your page.
+//:Use: [[LoginBox]]. Remember to enable frontend login in your website settings.
+global $wb, $TEXT, $MENU;
+$return_value = " ";
+if(FRONTEND_LOGIN == 'enabled' && VISIBILITY != 'private' && $wb->get_session('USER_ID') == '') {
+	$return_value  = '<form name="login" action="'.LOGIN_URL.'" method="post" class="login_table">';
+	$return_value .= '<h2>'.$TEXT['LOGIN'].'</h2>';
+	$return_value .= $TEXT['USERNAME'].':<input type="text" name="username" style="text-transform: lowercase;" /><br />';
+	$return_value .= $TEXT['PASSWORD'].':<input type="password" name="password" /><br />';
+	$return_value .= '<input type="submit" name="submit" value="'.$TEXT['LOGIN'].'" class="dbutton" /><br />';
+	$return_value .= '<a href="'.FORGOT_URL.'">'.$TEXT['FORGOT_DETAILS'].'</a><br />';
+	if(is_numeric(FRONTEND_SIGNUP))  
+		$return_value .= '<a href="'.SIGNUP_URL.'">'.$TEXT['SIGNUP'].'</a>';
+	$return_value .= '</form>';
+} elseif(FRONTEND_LOGIN == 'enabled' && is_numeric($wb->get_session('USER_ID'))) {
+	$return_value = '<form name="logout" action="'.LOGOUT_URL.'" method="post" class="login_table">';
+	$return_value .= '<h2>'.$TEXT['LOGGED_IN'].'</h2>';
+	$return_value .= $TEXT['WELCOME_BACK'].', '.$wb->get_display_name().'<br />';
+	$return_value .= '<input type="submit" name="submit" value="'.$MENU['LOGOUT'].'" class="dbutton" /><br />';
+	$return_value .= '<a href="'.PREFERENCES_URL.'">'.$MENU['PREFERENCES'].'</a><br />';
+	$return_value .= '<a href="'.ADMIN_URL.'/index.php" target="_blank">'.$TEXT['ADMINISTRATION'].'</a>';
+	$return_value .= '</form>';
+}
+return $return_value;
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/droplets/example/LoginBox.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/example/ModifiedWhen.php
===================================================================
--- tags/2.8.2/wb/modules/droplets/example/ModifiedWhen.php	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/example/ModifiedWhen.php	(revision 1481)
@@ -0,0 +1,8 @@
+//:Displays the last modification time of the current page
+//:Use [[ModifiedWhen]]
+global $database, $wb;+if (PAGE_ID>0) {+	$query=$database->query("SELECT modified_when FROM ".TABLE_PREFIX."pages where page_id=".PAGE_ID);+	$mod_details=$query->fetchRow();+	return "This page was last modified on ".date("d/m/Y",$mod_details[0]). " at ".date("H:i",$mod_details[0]).".";+}
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/droplets/example/ModifiedWhen.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/example/RandomImage.php
===================================================================
--- tags/2.8.2/wb/modules/droplets/example/RandomImage.php	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/example/RandomImage.php	(revision 1481)
@@ -0,0 +1,15 @@
+//:Get a random image from a folder in the MEDIA folder.
+//:Commandline to use: [[RandomImage?dir=subfolder_in_mediafolder]]
+$folder=opendir(WB_PATH.MEDIA_DIRECTORY.'/'.$dir.'/.'); +$names = array();+while ($file = readdir($folder))  {+	$ext=strtolower(substr($file,-4));+	if ($ext==".jpg"||$ext==".gif"||$ext==".png"){+		$names[count($names)] = $file; +	}+}+closedir($folder);+shuffle($names);+$image=$names[0]; +$name=substr($image,0,-4);+return '<img src="'.WB_URL.MEDIA_DIRECTORY.'/'.$dir.'/'.$image.'" alt="'.$name.'" width="'.$width.'" height="'.$height.'"/>';
Property changes on: tags/2.8.2/wb/modules/droplets/example/RandomImage.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/example/SiteModified.php
===================================================================
--- tags/2.8.2/wb/modules/droplets/example/SiteModified.php	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/example/SiteModified.php	(revision 1481)
@@ -0,0 +1,8 @@
+//:Create information on when your site was last updated.
+//:Create information on when your site was last updated. Any page update counts.
+global $database, $wb;+if (PAGE_ID>0) {+	$query=$database->query("SELECT max(modified_when) FROM ".TABLE_PREFIX."pages");+	$mod_details=$query->fetchRow();+	return "This site was last modified on ".date("d/m/Y",$mod_details[0]). " at ".date("H:i",$mod_details[0]).".";+}
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/droplets/example/SiteModified.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/example/ParentPage.php
===================================================================
--- tags/2.8.2/wb/modules/droplets/example/ParentPage.php	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/example/ParentPage.php	(revision 1481)
@@ -0,0 +1,13 @@
+//:Create a parent link to your page
+//:Display a link to the parent page of the current page
+$info = show_menu2(0, SM2_CURR, SM2_START, SM2_ALL|SM2_BUFFER, '[if(class==menu-current){[level] [sib] [sibCount] [parent]}]', '', '', '');+list($nLevel, $nSib, $nSibCount, $nParent) = explode(' ', $info);++// show up level+if ($nLevel > 0) {+$lev = $nLevel - 1;+return show_menu2(0, SM2_ROOT, SM2_CURR, SM2_CRUMB|SM2_BUFFER, "[if(level==$lev){[a][menu_title]</a>}]", '', '', '');+}+else +return '(no parent)';+
Property changes on: tags/2.8.2/wb/modules/droplets/example/ParentPage.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/example/oneliners.txt
===================================================================
--- tags/2.8.2/wb/modules/droplets/example/oneliners.txt	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/example/oneliners.txt	(revision 1481)
@@ -0,0 +1,151 @@
+A bug in the code is worth two in the documentation.
+According to my calculations the problem doesn't exist.
+A computer's attention span is as long as its power cord.
+A computer scientist is someone who fixes things that aren't broken.
+Adding manpower to a late software project makes it later.
+Air conditioned environment - Do NOT open Windows!
+All computers wait at the same speed.
+All wiyht. Rho sritched mg kegtops awound?
+Willyoupleasehelpmefixmykeyboard?Thespacebarisbroken!
+All you need to know is the user interface.
+Alpha. Software undergoes alpha testing as a first step in getting user feedback. Alpha is Latin for "doesn't work."
+Any programming language is at its best before it is implemented and used.
+Any program that runs right is obsolete.
+A paperless office has about as much chance as a paperless bathroom.
+A printer consists of three main parts: the case, the jammed paper tray and the blinking red light.
+A Life? Cool! Where can I download one of those from?
+A program is never finished until the programmer dies.
+ASCII stupid question, get a stupid ANSI!
+As far as we know, our computer has never had an undetected error.
+A user friendly computer first requires a friendly user.
+A user will find any interface design intuitive...with enough practice.
+Backup not found: (A)bort (R)etry (P)anic
+Bad or missing mouse driver. Spank the cat [Y/N]?
+Be aware of Programmers who carry screwdrivers.
+Best file compression around: "DEL *.*" = 100% compression
+Beta. Software undergoes beta testing shortly before it's released. Beta is Latin for "still doesn't work."
+Bug? That's not a bug, that's a feature.
+Build a system that even a fool can use, and only a fool will use it.
+Buy a Pentium IV 2GHz so you can reboot faster.
+Cannot load Windows 95, Incorrect DOS Version.
+COFFEE.EXE Missing---Insert Cup and Press Any Key.
+Compatible: Gracefully accepts erroneous data from any source.
+Computer analyst to programmer: "You start coding. I'll go find out what they want."
+Computer and car salesmen differ in that the latter know when they are lying.
+Computer programmers do it byte by byte.
+Computer programmers don't byte, they nibble a bit.
+Computers are a more fun way to do the same work you'd have to do without them.
+Computers are like air-conditioners: both stop working, if you open windows.
+Computers are not intelligent. They only think they are.
+Computers are unreliable, but humans are even more unreliable.
+Computers can never replace human stupidity.
+Computer Science: solving today's problems tomorrow.
+Computers follow your orders, not your intentions.
+Computers make very fast, very accurate mistakes.
+Crashing is the only thing windows does quickly.
+Daddy, what does FORMATTING DRIVE C mean?
+Disclaimer: Any errors in spelling, tact, or fact are transmission errors.
+Disinformation is not as good as datinformation.
+Don't compute and drive; the life you save may be your own.
+Don't document the program; program the document.
+Don't hit the keys so hard, it hurts.
+Don't let the computer bugs bite!
+DOS=HIGH? I knew it was on something!
+DOS Tip #1: Add DEVICE=FNGRCROS.SYS to CONFIG.SYS
+DOS Tip #2: Add BUGS=OFF to your CONFIG.SYS
+Email returned to sender -- insufficient voltage.
+Enter any 11-digit prime number to continue...
+Error:015: Unable to exit Windows. Try the door.
+Error reading FAT record: Try the SKINNY one? (Y/N)
+Ever notice how fast Windows runs? Neither did I...
+Every bug you find is the last one.
+Every time I type 'win', I loose ...
+Excuse me for butting in, but I'm interrupt-driven.
+Failure is not an option, it comes bundled with the software.
+.....File not found. Should I fake it? (Y/N)
+For any problem there is a solution that is simple, quick, and ultimately worse than the problem.
+Hardware: The parts of a computer system that can be kicked.
+Hi, my name is Any Key. Please don't hit me!
+Hiroshima..45........Tjernobil..86........Windows..95....
+Hit any user to continue.
+Home is where the computer is plugged in.
+How an engineer writes a program: Start by debugging an empty file...
+I am a computer, dumber than any human and smarter than an administrator.
+If at first you don't succeed, call it version 1.0.
+If a train station is where the train stops, what is a work station?
+I finally made my stupid computer faster; I dropped it out of the window, and it went really fast.
+If the automobile had followed the same development cycle as the computer, a Rolls-Royce today would cost $100, get a million miles to the gallon, and explode once a year, illing everyone inside.
+If the pen is mightier than the sword, and a picture is worth a thousand words, how dangerous is a fax?
+If your computer says, "Printer out of Paper," this problem cannot be resolved by continuously clicking the "OK" button.
+I have a dream: 1073741824 bytes free.
+I haven't lost my mind; it's backed up on tape somewhere.
+I hit the CTRL key but I'm still not in control!
+I'm writing a book. I've got the page numbers done.
+In a few minutes a computer can make a mistake so great that it would take many men many months to equal it.
+Is reading in the bathroom considered Multi-Tasking.
+It is easier to write an incorrect program than understand a correct one.
+It said "Insert disk 3..." but only 2 fit.
+It's not a bug; it's an undocumented feature.
+It works! Now if only I could remember what I did...
+I wish life has a scroll back buffer.
+Keyboard : Instrument used to enter errors into computer.
+Keyboard not connected, press F1 to continue.
+MACINTOSH stands for Most Applications Crash If Not The Operating System Hangs.
+Maintenance-free: When it breaks, it can't be fixed...
+Math problems? Call 1-800-[(10x)(ln(13e))]-[sin(xy)/2.362x]
+Melted fruit snacks found on Keyboard. Delete nephew [Y/N]?
+MICROSOFT: Most Intelligent Customers Realize Our Software is Only for Fools and Teenagers.
+Mommy! The cursor's winking at me!
+My software never has bugs. It just develops random features.
+Never say "OOPS!" always say "Ah, Interesting!"
+No matter how much data you add to your laptop, it will not get heavier.
+Of course I know how to copy disks. Where's the xerox machine?
+One person's error is another person's data.
+One picture is worth 128K words.
+Operator! Trace this call and tell me where I am.
+Owners of digital watches: Your day's are numbered!
+Oxymoron: Microsoft Works.
+Press any key...no, no, no, NOT THAT ONE!
+Press any key to continue or any other key to quit...
+Press CTRL-ALT-DEL to continue....
+Programmers don't die, they just GOSUB without RETURN.
+Programmer's Time-Space Continuum: Programmers continuously space the time.
+RAM disk is NOT an installation procedure.
+Reference Manual: Object that raises the monitor to eye level. Also used to compensate for that short table leg.
+Scheduled Release Date: A carefully calculated date determined by estimating the actual shipping date and subtracting six months from it.
+Shift to the left! Shift to the right! Pop up, push down, byte, byte, byte!
+Southern DOS: Y'all reckon? (Yep/Nope)
+Speed Kills! Use Windows 95.
+System going down at 1:45 for disk crashing.
+The box said: 'install on Windows 95, NT 4.0 or better'. So I installed it on Linux.
+The definition of an upgrade: Take old bugs out, put new ones in.
+The name is Baud......, James Baud.
+The program is absolutely right; therefore the computer must be wrong.
+The programmer's national anthem is 'AAAAAAAAHHHHHHHH'.
+The Queue Principle: The longer you wait in line, the greater the likelihood that you are standing in the wrong line.
+There are never enough hours in a day, but always too many days before Saturday.
+There are two ways to write error-free programs; only the third one works.
+There can never be a computer language in which you cannot write a bad program.
+There were computers in Biblical times. Eve had an Apple.
+These settings will have no effect until you restart the system.
+Reset Universe (Y/N) ?
+Those who can, do. Those who cannot, teach. Those who cannot teach, HACK!
+To be, or not to be, those are the parameters.
+To err is human, but to really foul things up requires a computer.
+User error: replace user and press any key to continue.
+Warning, keyboard not found. Press Enter to continue.
+What boots up must come down.
+Who's General Failure and why's he reading my disk?
+Why doesn't DOS ever say "EXCELLENT command or filename!"
+Why do they call this a word processor? It's simple, ... you've seen what food processors do to food, right?
+Why do we want intelligent terminals when there are so many stupid users?
+Will the information superhighway have any rest stops?
+Windows 3.1 not found: (C)heer, (P)arty, (D)ance?
+Windows is NOT a virus. Viruses DO something.
+WINDOWS stands for Will Install Needless Data On Whole System.
+Windows: the ultimate triumph of marketing over technology.
+You are making progress if each mistake is a new one.
+You don't have to know how the computer works, just how to work the computer.
+You forgot to do your backup 16 days ago. Tomorrow you'll need that version.
+You had mail, but the super-user read it, and deleted it!
+You never finish a program, you just stop working on it. 
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/droplets/example/oneliners.txt
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/example/index.php
===================================================================
--- tags/2.8.2/wb/modules/droplets/example/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/example/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/droplets/example/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/install.php
===================================================================
--- tags/2.8.2/wb/modules/droplets/install.php	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/install.php	(revision 1481)
@@ -0,0 +1,90 @@
+<?php
+
+// $Id$
+
+/*
+*	@version	1.0
+*	@author		Ruud Eisinga (Ruud) John (PCWacht)
+*	@date		June 2009
+*
+*	droplets are small codeblocks that are called from anywhere in the template. 
+* 	To call a droplet just use [[dropletname]]. optional parameters for a droplet can be used like [[dropletname?parameter=value&parameter2=value]]
+*/
+
+// prevent this file from being accessed directly
+if(!defined('WB_PATH')) die(header('Location: ../../index.php'));
+
+global $admin;
+
+$table = TABLE_PREFIX .'mod_droplets';
+$database->query("DROP TABLE IF EXISTS `$table`");
+
+$database->query("CREATE TABLE `$table` (
+	`id` INT NOT NULL auto_increment,
+	`name` VARCHAR(32) NOT NULL,
+	`code` LONGTEXT NOT NULL ,
+	`description` TEXT NOT NULL,
+	`modified_when` INT NOT NULL default '0',
+	`modified_by` INT NOT NULL default '0',
+	`active` INT NOT NULL default '0',
+	`admin_edit` INT NOT NULL default '0',
+	`admin_view` INT NOT NULL default '0',
+	`show_wysiwyg` INT NOT NULL default '0',
+	`comments` TEXT NOT NULL,
+	PRIMARY KEY ( `id` )
+	)"
+);
+
+//add all droplets from the droplet subdirectory
+$folder=opendir(WB_PATH.'/modules/droplets/example/.'); 
+$names = array();
+while ($file = readdir($folder)) {
+	$ext=strtolower(substr($file,-4));
+	if ($ext==".php"){
+		if ($file<>"index.php" ) {
+			$names[count($names)] = $file; 
+		}
+	}
+}
+closedir($folder);
+
+foreach ($names as $dropfile) {
+	$droplet = addslashes(getDropletCodeFromFile($dropfile));
+	if ($droplet != "") {
+		$description = "Example Droplet";
+		$comments = "Example Droplet";
+		$cArray = explode("\n",$droplet);
+		if (substr($cArray[0],0,3) == "//:") {
+			$description = trim(substr($cArray[0],3));
+			array_shift ( $cArray );
+		}
+		if (substr($cArray[0],0,3) == "//:") {
+			$comments = trim(substr($cArray[0],3));
+			array_shift ( $cArray );
+		}
+		$droplet = implode ( "\n", $cArray );
+		$name = substr($dropfile,0,-4);
+		$modified_when = time();
+		$modified_by = method_exists($admin, 'get_user_id') ? $admin->get_user_id() : 1;
+		$database->query("INSERT INTO `$table`  
+			(name, code, description, comments, active, modified_when, modified_by) 
+			VALUES 
+			('$name', '$droplet', '$description', '$comments', '1', '$modified_when', '$modified_by')");
+		
+		// do not output anything if this script is called during fresh installation
+		if (method_exists($admin, 'get_user_id')) echo "Droplet import: $name<br/>";
+	}  
+}
+
+function getDropletCodeFromFile ( $dropletfile ) {
+	$data = "";
+	$filename = WB_PATH."/modules/droplets/example/".$dropletfile;
+	if (file_exists($filename)) {
+		$filehandle = fopen ($filename, "r");
+		$data = fread ($filehandle, filesize ($filename));
+		fclose($filehandle);
+		// unlink($filename); doesnt work in unix
+	}	
+	return $data;
+}
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/droplets/install.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/tool.php
===================================================================
--- tags/2.8.2/wb/modules/droplets/tool.php	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/tool.php	(revision 1481)
@@ -0,0 +1,150 @@
+<?php
+
+// $Id$
+
+/*
+*	@version	1.0
+*	@author		Ruud Eisinga (Ruud) John (PCWacht)
+*	@date		June 2009
+*
+*	droplets are small codeblocks that are called from anywhere in the template. 
+* 	To call a droplet just use [[dropletname]]. optional parameters for a droplet can be used like [[dropletname?parameter=value&parameter2=value]]
+*/
+
+// Direct access prevention
+defined('WB_PATH') OR die(header('Location: ../index.php'));
+
+// Load Language file
+if(LANGUAGE_LOADED) {
+	if(!file_exists(WB_PATH.'/modules/droplets/languages/'.LANGUAGE.'.php')) {
+		require_once(WB_PATH.'/modules/droplets/languages/EN.php');
+	} else {
+		require_once(WB_PATH.'/modules/droplets/languages/'.LANGUAGE.'.php');
+	}
+}
+
+// check if backend.css file needs to be included into the <body></body>
+if(!method_exists($admin, 'register_backend_modfiles') && file_exists(WB_PATH .'/modules/droplets/backend.css')) {
+	echo '<style type="text/css">';
+	include(WB_PATH .'/modules/droplets/backend.css');
+	echo "\n</style>\n";
+}
+
+// Get userid for showing admin only droplets or not
+$loggedin_user = $admin->get_user_id();
+	
+// And... action
+$admintool_url = ADMIN_URL .'/admintools/index.php';
+
+//removes empty entries from the table so they will not be displayed
+$database->query("DELETE FROM ".TABLE_PREFIX."mod_droplets WHERE name=''");
+?>
+
+<br />
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr>
+	<td valign="bottom" width="50%">
+		<button class="add" type="button" name="add_droplet" onclick="javascript: window.location = '<?php echo WB_URL; ?>/modules/droplets/add_droplet.php';"><?php echo $TEXT['ADD'].' '.$DR_TEXT['DROPLETS']; ?></button>	
+	</td>
+	<!-- commentet out the droplets logo for a more similar backend design with other admin tools
+	<td align="center"><img src="<?php /*echo WB_URL;*/ ?>/modules/droplets/img/droplets_logo.png" border="1" alt=""/></td>
+	-->
+	<td valign="top" width="50%" align="right">
+		<a href="#" onclick="javascript: window.open('<?php echo WB_URL; ?>/modules/droplets/readme/<?php echo $DR_TEXT['README']; ?>','helpwindow','width=700,height=550,directories=no,location=no,menubar=no,scrollbars=yes,status=no,toolbar=no,resizable=yes');"><?php echo $DR_TEXT['HELP']; ?></a>
+		<br /><br />
+		<a href="#" onclick="javascript: window.location = '<?php echo WB_URL; ?>/modules/droplets/backup_droplets.php';"><?php echo $DR_TEXT['BACKUP']; ?></a>
+	</td>
+</tr>
+</table>
+<br />
+
+<h2><?php echo $TEXT['MODIFY'].'/'.$TEXT['DELETE'].' '.$DR_TEXT['DROPLETS']; ?></h2>
+<?php
+if ($loggedin_user == '1') {
+	$query_droplets = $database->query("SELECT * FROM ".TABLE_PREFIX."mod_droplets ORDER BY modified_when DESC");
+} else { 
+	$query_droplets = $database->query("SELECT * FROM ".TABLE_PREFIX."mod_droplets WHERE admin_view <> '1' ORDER BY modified_when DESC");
+}
+$num_droplets = $query_droplets->numRows();
+if($num_droplets > 0) {
+	?>
+	<table class="row_a" border="0" cellspacing="0" cellpadding="3" width="100%">
+	<thead>
+		<tr>
+			<td width="3%"></td>
+			<td width="21%"><?php echo $TEXT['NAME']; ?></td>
+			<td width="68%"><?php echo $TEXT['DESCRIPTION']; ?></td>
+			<td width="4%"><?php echo $TEXT['ACTIVE']; ?></td>
+			<td width="3%"></td>
+		</tr>
+	</thead>
+	<?php
+	$row = 'a';
+	while($droplet = $query_droplets->fetchRow()) {
+		$get_modified_user = $database->query("SELECT display_name,username, user_id FROM ".TABLE_PREFIX."users WHERE user_id = '".$droplet['modified_by']."' LIMIT 1");
+		if($get_modified_user->numRows() > 0) {
+			$fetch_modified_user = $get_modified_user->fetchRow();
+			$modified_user = $fetch_modified_user['username'];
+			$modified_userid = $fetch_modified_user['user_id'];
+		} else {
+			$modified_user = $TEXT['UNKNOWN'];
+			$modified_userid = 0;
+		}
+		$comments = str_replace(array("\r\n", "\n", "\r"), '<br />', $droplet['comments']);
+		if (!strpos($comments,"[[")) $comments = "Use: [[".$droplet['name']."]]<br />".$comments;
+		$comments = str_replace(array("[[", "]]"), array('<b>[[',']]</b>'), $comments);
+		$valid_code = check_syntax($droplet['code']);
+		if (!$valid_code === true) $comments = '<font color=\'red\'><strong>'.$DR_TEXT['INVALIDCODE'].'</strong></font><br /><br />'.$comments;
+		$unique_droplet = check_unique ($droplet['name']);
+		if ($unique_droplet === false) $comments = '<font color=\'red\'><strong>'.$DR_TEXT['NOTUNIQUE'].'</strong></font><br /><br />'.$comments;
+		$comments = '<span>'.$comments.'</span>';
+		?>
+		
+		<tr class="row_<?php echo $row; ?>" >
+			<td >
+				<a href="<?php echo WB_URL; ?>/modules/droplets/modify_droplet.php?droplet_id=<?php echo $droplet['id']?>" title="<?php echo $TEXT['MODIFY']; ?>">
+					<img src="<?php echo THEME_URL; ?>/images/modify_16.png" border="0" alt="Modify" /> 
+				</a>
+			</td>
+			<td >
+				<a href="<?php echo WB_URL; ?>/modules/droplets/modify_droplet.php?droplet_id=<?php echo $droplet['id']?>" class="tooltip">
+							<?php if ($valid_code && $unique_droplet) { ?><img src="<?php echo WB_URL; ?>/modules/droplets/img/droplet.png" border="0" alt=""/>
+							<?php } else {  ?><img src="<?php echo WB_URL; ?>/modules/droplets/img/invalid.gif" border="0" title="" alt=""/><?php }  ?>
+					<?php echo $droplet['name']; ?><?php echo $comments; ?>
+				</a>
+			</td>
+			<td >
+				<small><?php echo substr($droplet['description'],0,90); ?></small>
+			</td>
+			<td >
+				<b><?php if($droplet['active'] == 1){ echo '<span style="color: green;">'. $TEXT['YES']. '</span>'; } else { echo '<span style="color: red;">'.$TEXT['NO'].'</span>';  } ?></b>
+			</td>
+			<td >
+				<a href="javascript: confirm_link('<?php echo $TEXT['ARE_YOU_SURE']; ?>', '<?php echo WB_URL; ?>/modules/droplets/delete_droplet.php?droplet_id=<?php echo $droplet['id']?>');" title="<?php echo $TEXT['DELETE']; ?>">
+					<img src="<?php echo THEME_URL; ?>/images/delete_16.png" border="0" alt="X" />
+				</a>
+			</td>
+		</tr>
+		<?php
+		// Alternate row color
+		if($row == 'a') {
+			$row = 'b';
+		} else {
+			$row = 'a';
+		}
+	}
+	?>
+	</table>
+	<?php
+}
+
+function check_syntax($code) {
+    return @eval('return true;' . $code);
+}
+
+function check_unique($name) {
+	global $database;
+	$query_droplets = $database->query("SELECT name FROM ".TABLE_PREFIX."mod_droplets WHERE name = '$name'");
+	return ($query_droplets->numRows() == 1);
+}
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/droplets/tool.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/languages/EN.php
===================================================================
--- tags/2.8.2/wb/modules/droplets/languages/EN.php	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/languages/EN.php	(revision 1481)
@@ -0,0 +1,43 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+//Modul Description
+$module_description = 'This tool allows you to manage your local Droplets.';
+
+//Variables for the backend
+$DR_TEXT['DROPLETS']	= 'Droplet';
+$DR_TEXT['BACKUP']		= 'Backup Droplets (Zip)';
+$DR_TEXT['RESTORE']		= 'Restore Droplets (Zipped)';
+$DR_TEXT['HELP']		= 'Help / Readme';
+$DR_TEXT['README']		= 'readme.html';
+$DR_TEXT['INVALIDCODE']	= 'This Droplet has invalid PHP code';
+$DR_TEXT['NOTUNIQUE']	= 'This Dropletname is used more than once!';
+$DR_TEXT['ADMIN_EDIT']	= 'Edit-Only';
+$DR_TEXT['ADMIN_VIEW']	= 'View-Only';
+$DR_TEXT['WYSIWYG']		= 'Wysiwyg';
+$DR_TEXT['HELP']		= 'Help / Readme';
+$DR_TEXT['USED']		= 'This droplet is used on the following page(-s):<br />';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/droplets/languages/EN.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/languages/DA.php
===================================================================
--- tags/2.8.2/wb/modules/droplets/languages/DA.php	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/languages/DA.php	(revision 1481)
@@ -0,0 +1,43 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+//Modul Description
+$module_description = 'This tool allows you to manage your local Droplets.';
+
+//Variables for the backend
+$DR_TEXT['DROPLETS'] = 'Droplet';
+$DR_TEXT['BACKUP'] = 'Backup af dropletter (Zip)';
+$DR_TEXT['RESTORE'] = 'Indl&aelig;s backup af dropletter (fra Zip-fil)';
+$DR_TEXT['HELP'] = 'Hj&aelig;lp';
+$DR_TEXT['README'] = 'readme.html';
+$DR_TEXT['INVALIDCODE'] = 'Denne droplet indholder ugyldig PHP kode';
+$DR_TEXT['NOTUNIQUE'] = 'Dete dropletnavn bruges flere steder';
+$DR_TEXT['ADMIN_EDIT'] = 'Kun redigere';
+$DR_TEXT['ADMIN_VIEW'] = 'Kun se';
+$DR_TEXT['WYSIWYG'] = 'Wysiwyg';
+$DR_TEXT['HELP'] = 'Hj&aelig;lp';
+$DR_TEXT['USED'] = 'Denne droplet bruges p&Atilde;&yen; f&oslash;lgende side(r):<br />';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/droplets/languages/DA.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/languages/DE.php
===================================================================
--- tags/2.8.2/wb/modules/droplets/languages/DE.php	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/languages/DE.php	(revision 1481)
@@ -0,0 +1,43 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Deutsche Modulbeschreibung
+$module_description 	= 'Mit Droplets kann PHP-Code in WYSIWYG-Abschnitten, Templates oder Modulen an beliebiger Stelle zur Verf&uuml;gung gestellt werden.';
+
+// Ueberschriften und Textausgaben
+$DR_TEXT['DROPLETS']	= 'Droplet';
+$DR_TEXT['BACKUP']		= 'Droplets sichern (Zip)';
+$DR_TEXT['RESTORE']		= 'Droplets wiederherstellen (Zipped)';
+$DR_TEXT['HELP']		= 'Hilfe';
+$DR_TEXT['README']		= 'readme.html';
+$DR_TEXT['INVALIDCODE']	= 'Dieses Droplet enth&auml;lt ung&uuml;ltigen PHP code';
+$DR_TEXT['NOTUNIQUE']	= 'Dieser Dropletname ist bereits vorhanden!';
+$DR_TEXT['ADMIN_EDIT']	= 'bearbeiten';
+$DR_TEXT['ADMIN_VIEW']	= 'ansehen';
+$DR_TEXT['WYSIWYG']		= 'Wysiwyg';
+$DR_TEXT['HELP']		= 'Hilfe';
+$DR_TEXT['USED']		= 'Dieses Droplet wird auf folgenden Seiten benutzt (-s):<br />';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/droplets/languages/DE.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/languages/index.php
===================================================================
--- tags/2.8.2/wb/modules/droplets/languages/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/languages/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/droplets/languages/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/modify_droplet.php
===================================================================
--- tags/2.8.2/wb/modules/droplets/modify_droplet.php	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/modify_droplet.php	(revision 1481)
@@ -0,0 +1,176 @@
+<?php
+
+// $Id$
+
+/*
+*	@version	1.0
+*	@author		Ruud Eisinga (Ruud) John (PCWacht)
+*	@date		June 2009
+*
+*	droplets are small codeblocks that are called from anywhere in the template. 
+* 	To call a droplet just use [[dropletname]]. optional parameters for a droplet can be used like [[dropletname?parameter=value&parameter2=value]]
+*/
+
+require('../../config.php');
+
+// Get id
+if(!isset($_GET['droplet_id']) OR !is_numeric($_GET['droplet_id'])) {
+	header("Location: ".ADMIN_URL."/pages/index.php");
+} else {
+	$droplet_id = $_GET['droplet_id'];
+}
+
+require_once(WB_PATH.'/framework/class.admin.php');
+require_once(WB_PATH.'/framework/functions.php');
+
+$admintool_link = ADMIN_URL .'/admintools/index.php';
+$module_edit_link = ADMIN_URL .'/admintools/tool.php?tool=droplets';
+$admin = new admin('admintools', 'admintools');
+
+// check if backend.css file needs to be included into the <body></body> of modify.php
+if(!method_exists($admin, 'register_backend_modfiles') && file_exists(WB_PATH ."/modules/droplets/backend.css")) {
+	echo '<style type="text/css">';
+	include(WB_PATH .'/modules/droplets/backend.css');
+	echo "n</style>n";
+}
+
+// Load Language file
+if(LANGUAGE_LOADED) {
+	if(!file_exists(WB_PATH.'/modules/droplets/languages/'.LANGUAGE.'.php')) {
+		require_once(WB_PATH.'/modules/droplets/languages/EN.php');
+	} else {
+		require_once(WB_PATH.'/modules/droplets/languages/'.LANGUAGE.'.php');
+	}
+}
+require_once(WB_PATH . '/include/editarea/wb_wrapper_edit_area.php');
+echo registerEditArea ('contentedit','php',true,'both',true,true,600,450,'search, fullscreen, |, undo, redo, |, select_font,|, highlight, reset_highlight, |, help');
+		
+
+$modified_when = time();
+$modified_by = $admin->get_user_id();
+
+// Get header and footer
+$query_content = $database->query("SELECT * FROM ".TABLE_PREFIX."mod_droplets WHERE id = '$droplet_id'");
+$fetch_content = $query_content->fetchRow();
+$content = (htmlspecialchars($fetch_content['code']));
+?>
+<h4 style="margin: 0; border-bottom: 1px solid #DDD; padding-bottom: 5px;">
+	<a href="<?php echo $admintool_link;?>"><?php echo $HEADING['ADMINISTRATION_TOOLS']; ?></a>
+	->
+	<a href="<?php echo $module_edit_link;?>">Droplet Edit</a>
+</h4>
+<br />
+<form name="modify" action="<?php echo WB_URL; ?>/modules/droplets/save_droplet.php" method="post" style="margin: 0;">
+<input type="hidden" name="data_codepress" value="" />
+<input type="hidden" name="droplet_id" value="<?php echo $droplet_id; ?>" />
+<input type="hidden" name="show_wysiwyg" value="<?php echo $fetch_content['show_wysiwyg']; ?>" />
+
+<table class="row_a" cellpadding="4" cellspacing="0" border="0" width="100%">
+		<tr>
+		<td width="10%" class="setting_name">
+			<?php echo $TEXT['NAME']; ?>:
+		</td>
+		<td width="90%">
+			<input type="text" name="title" value="<?php echo stripslashes($fetch_content['name']); ?>" style="width: 38%;" maxlength="32" />
+		</td>
+	</tr>
+	<tr>
+		<td valign="top" class="setting_name" width="60px"><?php echo $TEXT['DESCRIPTION']; ?>:</td>
+		<td>
+			<input type="text" name="description" value="<?php echo stripslashes($fetch_content['description']); ?>" style="width: 98%;" />
+		</td>
+	</tr>
+	<tr>
+		<td class="setting_name" width="60px">
+			<?php echo $TEXT['ACTIVE']; ?>:
+		</td>
+		<td>	
+			<input type="radio" name="active" id="active_true" value="1" <?php if($fetch_content['active'] == 1) { echo ' checked="checked"'; } ?> />
+			<a href="#" onclick="javascript: document.getElementById('active_true').checked = true;">
+			<label><?php echo $TEXT['YES']; ?></label>
+			</a>
+			<input type="radio" name="active" id="active_false" value="0" <?php if($fetch_content['active'] == 0) { echo ' checked="checked"'; } ?> />
+			<a href="#" onclick="javascript: document.getElementById('active_false').checked = true;">
+			<label><?php echo $TEXT['NO']; ?></label>
+			</a>
+		</td>
+	</tr>
+<?php
+// Next show only if admin is logged in, user_id = 1
+if ($modified_by == 1) {
+	?>
+	<tr>
+		<td class="setting_name" width="60px">
+			<?php echo $TEXT['ADMIN']; ?>:
+		</td>
+		<td> 
+			<?php echo $DR_TEXT['ADMIN_EDIT']; ?>&nbsp;   	
+			<input type="radio" name="admin_edit" id="admin_edit_true" value="1" <?php if($fetch_content['admin_edit'] == 1) { echo ' checked="checked"'; } ?> />
+			<a href="#" onclick="javascript: document.getElementById('admin_edit_true').checked = true;">
+			<label><?php echo $TEXT['YES']; ?></label>
+			</a>
+			<input type="radio" name="admin_edit" id="admin_edit_false" value="0" <?php if($fetch_content['admin_edit'] == 0) { echo ' checked="checked"'; } ?> />
+			<a href="#" onclick="javascript: document.getElementById('admin_edit_false').checked = true;">
+			<label><?php echo $TEXT['NO']; ?></label>
+			</a>
+			&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
+			<?php echo $DR_TEXT['ADMIN_VIEW']; ?>:
+			<input type="radio" name="admin_view" id="admin_view_true" value="1" <?php if($fetch_content['admin_view'] == 1) { echo ' checked="checked"'; } ?> />
+			<a href="#" onclick="javascript: document.getElementById('admin_view_true').checked = true;">
+			<label><?php echo $TEXT['YES']; ?></label>
+			</a>
+			<input type="radio" name="admin_view" id="admin_view_false" value="0" <?php if($fetch_content['admin_view'] == 0) { echo ' checked="checked"'; } ?> />
+			<a href="#" onclick="javascript: document.getElementById('admin_view_false').checked = true;">
+			<label><?php echo $TEXT['NO']; ?></label>
+			</a>
+		</td>
+	</tr>
+	<?php
+}
+?>
+	<tr>
+		<td valign="top" class="setting_name" width="60px"><?php echo $TEXT['CODE']; ?>:</td>
+		<td ><textarea name="savecontent" id ="contentedit" style="width: 98%; height: 450px;" rows="50" cols="120"><?php echo $content; ?></textarea>&nbsp;
+		</td>
+	</tr>
+	<tr>
+		<td colspan="2">					
+		</td>
+	</tr>
+	<tr>
+		<td valign="top" class="setting_name" width="60px"><?php echo $TEXT['COMMENTS']; ?>:</td>
+		<td>
+			<textarea name="comments" style="width: 98%; height: 100px;" rows="50" cols="120"><?php echo stripslashes($fetch_content['comments']); ?></textarea>
+		</td>
+	</tr>
+	<tr>
+		<td colspan="2">&nbsp;					
+		</td>
+	</tr>
+</table>
+<br />
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+	<tr>
+		<td align="left">
+<?php
+// Show only save button if allowed....
+if ($modified_by == 1 OR $fetch_content['admin_edit'] == 0 ) {
+	?>
+			<button  class="save" name="save" type="submit"><?php echo $TEXT['SAVE']; ?></button>
+	<?php
+}
+?>
+
+		</td>
+		<td align="right">
+			<button class="cancel" type="button" onclick="javascript: window.location = '<?php echo $module_edit_link; ?>';"><?php echo $TEXT['CANCEL']; ?></button>
+		</td>
+	</tr>
+</table>
+</form>
+<?php
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/droplets/modify_droplet.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/add_droplet.php
===================================================================
--- tags/2.8.2/wb/modules/droplets/add_droplet.php	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/add_droplet.php	(revision 1481)
@@ -0,0 +1,46 @@
+<?php
+
+// $Id$
+
+/*
+*	@version	1.0
+*	@author		Ruud Eisinga (Ruud) John (PCWacht)
+*	@date		June 2009
+*
+*	droplets are small codeblocks that are called from anywhere in the template. 
+* 	To call a droplet just use [[dropletname]]. optional parameters for a droplet can be used like [[dropletname?parameter=value&parameter2=value]]
+*/
+
+require('../../config.php');
+
+require_once(WB_PATH.'/framework/class.admin.php');
+require_once(WB_PATH.'/framework/functions.php');
+$admin = new admin('admintools','admintools',false,false);
+if($admin->get_permission('admintools') == true) {
+	
+	$admintool_link = ADMIN_URL .'/admintools/index.php';
+	$module_edit_link = ADMIN_URL .'/admintools/tool.php?tool=droplets';
+	$admin = new admin('admintools', 'admintools');
+
+	$modified_when = time();
+	$modified_by = $admin->get_user_id();
+
+	// Insert new row into database
+	$database->query("INSERT INTO ".TABLE_PREFIX."mod_droplets (active,modified_when,modified_by) VALUES ('1','$modified_when','$modified_by' )");
+
+	// Get the id
+	$droplet_id = $database->get_one("SELECT LAST_INSERT_ID()");
+
+	// Say that a new record has been added, then redirect to modify page
+	if($database->is_error()) {
+		$admin->print_error($database->get_error(), $module_edit_link);
+	} else {
+		$admin->print_success($TEXT['SUCCESS'], WB_URL.'/modules/droplets/modify_droplet.php?droplet_id='.$droplet_id);
+	}
+
+	// Print admin footer
+	$admin->print_footer();
+} else {
+	die(header('Location: ../../index.php'));
+} 
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/droplets/add_droplet.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/save_droplet.php
===================================================================
--- tags/2.8.2/wb/modules/droplets/save_droplet.php	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/save_droplet.php	(revision 1481)
@@ -0,0 +1,68 @@
+<?php
+
+// $Id$
+
+/*
+*	@version	1.0
+*	@author		Ruud Eisinga (Ruud) John (PCWacht)
+*	@date		June 2009
+*
+*	droplets are small codeblocks that are called from anywhere in the template. 
+* 	To call a droplet just use [[dropletname]]. optional parameters for a droplet can be used like [[dropletname?parameter=value&parameter2=value]]
+*/
+
+require('../../config.php');
+
+// Get id
+if(!isset($_POST['droplet_id']) OR !is_numeric($_POST['droplet_id'])) {
+	header("Location: ".ADMIN_URL."/pages/index.php");
+} else {
+	$droplet_id = $_POST['droplet_id'];
+}
+// Include WB admin wrapper script
+require_once(WB_PATH.'/framework/class.admin.php');
+require_once(WB_PATH.'/framework/functions.php');
+
+// check website baker platform (with WB 2.7, Admin-Tools were moved out of settings dialogue)
+if(file_exists(ADMIN_PATH .'/admintools/tool.php')) {
+	$admintool_link = ADMIN_URL .'/admintools/index.php';
+	$module_edit_link = ADMIN_URL .'/admintools/tool.php?tool=droplets';
+	$admin = new admin('admintools', 'admintools');
+} else {
+	$admintool_link = ADMIN_URL .'/settings/index.php?advanced=yes#administration_tools"';
+	$module_edit_link = ADMIN_URL .'/settings/tool.php?tool=droplets';
+	$admin = new admin('Settings', 'settings_advanced');
+}
+
+// Validate all fields
+if($admin->get_post('title') == '') {
+	$admin->print_error($MESSAGE['GENERIC']['FILL_IN_ALL'], WB_URL.'/modules/droplets/modify_droplet.php?droplet_id='.$droplet_id);
+} else {
+	$title = $admin->add_slashes($admin->get_post('title'));
+	$active = $admin->get_post('active');
+	$admin_view = $admin->get_post('admin_view');
+	$admin_edit = $admin->get_post('admin_edit');
+	$show_wysiwyg = $admin->get_post('show_wysiwyg');
+	$description = $admin->add_slashes($admin->get_post('description'));
+	$tags = array('<?php', '?>' , '<?');
+	$content = $admin->add_slashes(str_replace($tags, '', $_POST['savecontent']));
+	
+	$comments = $admin->add_slashes($admin->get_post('comments'));
+	$modified_when = time();
+	$modified_by = $admin->get_user_id(); 
+}
+
+// Update row
+$database->query("UPDATE ".TABLE_PREFIX."mod_droplets SET name = '$title', active = '$active', admin_view = '$admin_view', admin_edit = '$admin_edit', show_wysiwyg = '$show_wysiwyg', description = '$description', code = '$content', comments = '$comments', modified_when = '$modified_when', modified_by = '$modified_by' WHERE id = '$droplet_id'");
+
+// Check if there is a db error, otherwise say successful
+if($database->is_error()) {
+	$admin->print_error($database->get_error(), WB_URL.'/modules/droplets/modify_droplet.php?droplet_id='.$droplet_id);
+} else {
+    $admin->print_success($TEXT['SUCCESS'], $module_edit_link);
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/droplets/save_droplet.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/backend.css
===================================================================
--- tags/2.8.2/wb/modules/droplets/backend.css	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/backend.css	(revision 1481)
@@ -0,0 +1,27 @@
+ul, li   { 
+	list-style: none;
+	margin: 0;
+	padding: 0 
+}
+
+.setting_name {
+	vertical-align: top;
+}
+
+.newsection {
+	border-top: 1px dashed #fff;
+}
+
+thead	{ 
+	font-weight: bold; 
+	background-color: #c7d1db; 
+	height: 25px }
+
+.row_om_out   { 
+	background: #ecf4f5 inherit; 
+	border: outset 1px #a5b3b4 
+}
+
+.row_om_over   { background: #ffffe0; border: outset 1px #679b38 }
+a.tooltip span {display:none; margin-left:14px; width:430px;}
+a.tooltip:hover span{display:inline; position:absolute; padding:5px; border:1px solid #000000; background:#ffffff; color:#000000;}

Property changes on: tags/2.8.2/wb/modules/droplets/backend.css
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/upgrade.php
===================================================================
--- tags/2.8.2/wb/modules/droplets/upgrade.php	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/upgrade.php	(revision 1481)
@@ -0,0 +1,41 @@
+<?php
+
+// $Id$
+
+/*
+*	@version	1.0
+*	@author		Ruud Eisinga (Ruud) John (PCWacht)
+*	@date		June 2009
+*
+*
+*	droplets are small codeblocks that are called from anywhere in the template. 
+* 	To call a droplet just use [[dropletname]]. optional parameters for a droplet can be used like [[dropletname?parameter=value&parameter2=value]]
+*/
+
+if(!defined('WB_PATH')) die(header('Location: ../../index.php'));
+
+$table = TABLE_PREFIX .'mod_droplets';
+
+$info = $database->query("SELECT * from `$table` limit 0,1" );
+$fields = $info->fetchRow();
+if (!array_key_exists("admin_edit", $fields)) {
+	/**
+	 *	Call from the upgrade-script
+	 */
+	
+	if (function_exists('db_add_field')) {
+		db_add_field("admin_edit", 'mod_droplets', "INT NOT NULL default '0'");
+		db_add_field("admin_view", 'mod_droplets', "INT NOT NULL default '0'");
+		db_add_field("show_wysiwyg", 'mod_droplets', "INT NOT NULL default '0'");
+	} else {
+		/**
+		 * Not call by the upgrade-script
+		 */
+		$database->query("ALTER TABLE `$table` (
+			`admin_edit` INT NOT NULL default '0',
+			`admin_view` INT NOT NULL default '0',
+			`show_wysiwyg` INT NOT NULL default '0'
+			)");
+	}
+}
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/droplets/upgrade.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/delete_droplet.php
===================================================================
--- tags/2.8.2/wb/modules/droplets/delete_droplet.php	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/delete_droplet.php	(revision 1481)
@@ -0,0 +1,51 @@
+<?php
+
+// $Id$
+
+/*
+*	@version	1.0
+*	@author		Ruud Eisinga (Ruud) John (PCWacht)
+*	@date		June 2009
+*
+*	droplets are small codeblocks that are called from anywhere in the template. 
+* 	To call a droplet just use [[dropletname]]. optional parameters for a droplet can be used like [[dropletname?parameter=value&parameter2=value]]
+*/
+
+require('../../config.php');
+
+// Get id
+if(!isset($_GET['droplet_id']) OR !is_numeric($_GET['droplet_id'])) {
+	header("Location: ".ADMIN_URL."/pages/index.php");
+} else {
+	$droplet_id = $_GET['droplet_id'];
+}
+
+// Include WB admin wrapper script
+require_once(WB_PATH.'/framework/class.admin.php');
+require_once(WB_PATH.'/framework/functions.php');
+
+// check website baker platform (with WB 2.7, Admin-Tools were moved out of settings dialogue)
+if(file_exists(ADMIN_PATH .'/admintools/tool.php')) {
+	$admintool_link = ADMIN_URL .'/admintools/index.php';
+	$module_edit_link = ADMIN_URL .'/admintools/tool.php?tool=droplets';
+	$admin = new admin('admintools', 'admintools');
+} else {
+	$admintool_link = ADMIN_URL .'/settings/index.php?advanced=yes#administration_tools"';
+	$module_edit_link = ADMIN_URL .'/settings/tool.php?tool=droplets';
+	$admin = new admin('Settings', 'settings_advanced');
+}
+
+// Delete droplet
+$database->query("DELETE FROM ".TABLE_PREFIX."mod_droplets WHERE id = '$droplet_id' LIMIT 1");
+
+// Check if there is a db error, otherwise say successful
+if($database->is_error()) {
+	$admin->print_error($database->get_error(), WB_URL.'/modules/droplets/modify_droplet.php?droplet_id='.$droplet_id);
+} else {
+    $admin->print_success($TEXT['SUCCESS'], $module_edit_link);
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/droplets/delete_droplet.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/index.php
===================================================================
--- tags/2.8.2/wb/modules/droplets/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/droplets/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/readme/readme.html
===================================================================
--- tags/2.8.2/wb/modules/droplets/readme/readme.html	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/readme/readme.html	(revision 1481)
@@ -0,0 +1,62 @@
+<html>
+
+	<head>
+	<title>Droplets</title>
+	<link href="readme.css" rel="stylesheet" type="text/css" media="screen" />
+</head>
+
+	<body>
+		<small><font color="#7f7f7f">Droplets Help</font></small><br />
+		<h2> <img src="../img/droplets_logo.png" alt="" width="297" height="81" border="0"></h2> <br />
+		Droplets are small chunks of php code (just like the code module) that can be included in your template or any other content section. <br />
+		Including a droplet is done by encapsulating the droplet name in double brackets. <br />
+		If you want to use the droplet &quot;ModifiedWhen&quot; (to show the last modified date and time of the current page) you only need to add <b>[[ModifiedWhen]]</b> to your template or WYSIWYG contentpage. <br />
+		<br />
+		You are encouraged to create your own droplets and share them with the community. <br />
+		<br />
+		<h3>Installation</h3>
+		<br />
+		Droplets are installed as a admin tool. The installation is done using the normal &quot;Add module&quot; page in the WB backend. <br />
+		When the installation is successfull, there is a new tool added to the Admin-Tools menu. <br />
+		Clicking the tool will display the current installed droplets, and a button to create your own. <br />
+		<br />
+		<h3>Getting Droplets</h3>
+		<br />
+		A fast growing number of Droplets are available for use, you can use the <a href="http://www.websitebakers.com/pages/droplets/official-library.php" target="_new">Official Droplets Library</a> in the AMASP project website, or you can search the WB Forum. <br />
+		<br />
+		<h3>Coding Droplets</h3>
+		<br />
+		Droplets run in PHP mode, no <font color="#ff0000">&lt;?php</font> or <font color="#ff0000">?&gt;</font> is allowed in the code! If any of these tags are found in the code they will be removed. Your code will not run as expected. <br />
+		The droplet code can NOT echo or print data to the output stream directly. The Droplet name is replaced by the return value of the PHP code.<br />
+		Example: [[HelloWorld]] <br />
+		<br />
+		<font color="#ff0000">Wrong code:</font> echo &quot;Hello World&quot;; <br />
+		<font color="#339966">Correct code:</font> return &quot;Hello World&quot;; <br />
+		<br />
+		Since version 0.3 Droplets can modify the complete page content. <br />
+		When the Droplet is called, an extra variable ($wb_page_data) is made available. 
+		This variable holds all the content of your current generated webpage.
+		You can modify any part of this content simply by replacing it in the variable. There is no need to return this variable, the Droplet code will process changed content automatically.<br /><br />
+		
+		Since version 0.3 Droplets will check the PHP code you have saved for validity. <br />
+		When the code will not execute correctly a red flashing icon will apear in the backend Droplets list. <br />
+		The standard blue icon is no guarantee that the Droplets does what you would expect it to do, it will just tell you if the code is valid PHP code.<br /><br />
+		
+		Since version 0.3 Droplets you do not need to return any data. When you end your code with <pre>return true;</pre> there will not be an errormessage. The processed Droplet tag will be removed.<br />
+
+		<br />
+		<h3>PHP color coding</h3>
+		<br />
+		The Droplets edit page is ready to use the EditArea module. This module creates a color coded editor for PHP code. <br />
+		EditArea comes as a seperate module (installed as an admin tool). <br />
+		Use the WB Forum or the <a href="http://www.websitebakers.com/" target="_new">AMASP</a> project to find the latest EditArea download. <br />
+		<br />
+		<h3>More Information</h3>
+		<br />
+		More information (including localized help) can be found on the <a href="http://www.websitebakers.com/pages/droplets/about-droplets.php" target="_new">Droplets pages</a> of the AMASP project website. <br />
+		<br />
+		<br />
+		<br />
+	</body>
+
+</html>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/droplets/readme/readme.html
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/readme/readme.css
===================================================================
--- tags/2.8.2/wb/modules/droplets/readme/readme.css	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/readme/readme.css	(revision 1481)
@@ -0,0 +1,85 @@
+html {
+font-size:76%;
+}
+body {
+font-family:"Trebuchet MS",Tahoma,Verdana,Arial,Helvetica,sans-serif;
+font-size:1.1em;
+line-height:1.5em;
+margin:10px;
+padding:0;
+text-align:left;
+}
+h1, h2, h3, h4, h5, h6 {
+color:#009999;
+font-family:"Trebuchet MS",Tahoma,Verdana,Arial,Helvetica,sans-serif;
+font-weight:normal;
+letter-spacing:-1px;
+margin:0;
+}
+h1, h2 {
+border-bottom:1px solid #009999;
+font-size:1.8em;
+margin:15px 0 5px;
+padding-bottom:15px;
+}
+h3 {
+border-bottom:1px solid #009999;
+font-size:1.8em;
+margin:15px 0 5px;
+padding-bottom:15px;
+}
+h4 {
+font-size:1.4em;
+margin:10px 0 5px;
+}
+h5 {
+font-size:1.2em;
+margin:10px 0 5px;
+}
+h6 {
+font-size:1em;
+margin:10px 0 0;
+}
+p {
+margin:8px 0;
+}
+acronym {
+cursor:help;
+}
+code, blockquote {
+background:#FFFFFF none repeat scroll 0 0;
+border:1px dashed #DDDDDD;
+color:#666666;
+display:block;
+margin:15px 0;
+padding:5px;
+}
+pre {
+background:#FFFFFF none repeat scroll 0 0;
+border:1px dashed #DDDDDD;
+color:#666666;
+display:inline;
+margin:15px 0;
+padding:5px;
+}
+hr {
+background-color:#009999;
+border:0 none;
+color:#DDDDDD;
+height:1px;
+margin:5px 0;
+}
+.left {
+float:left;
+}
+.right {
+float:right;
+}
+.hide {
+display:none;
+}
+
+#body {
+background:#222222;
+padding:20px;
+}

Property changes on: tags/2.8.2/wb/modules/droplets/readme/readme.css
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/readme/index.php
===================================================================
--- tags/2.8.2/wb/modules/droplets/readme/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/readme/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/droplets/readme/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/uninstall.php
===================================================================
--- tags/2.8.2/wb/modules/droplets/uninstall.php	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/uninstall.php	(revision 1481)
@@ -0,0 +1,20 @@
+<?php
+
+// $Id$
+
+/*
+*	@version	1.0
+*	@author		Ruud Eisinga (Ruud) John (PCWacht)
+*	@date		June 2009
+*
+*	droplets are small codeblocks that are called from anywhere in the template. 
+* 	To call a droplet just use [[dropletname]]. optional parameters for a droplet can be used like [[dropletname?parameter=value&parameter2=value]]
+*/
+
+// prevent this file from being accessed directly
+if(!defined('WB_PATH')) die(header('Location: ../index.php'));
+
+$table = TABLE_PREFIX .'mod_droplets';
+$database->query("DROP TABLE IF EXISTS `$table`");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/droplets/uninstall.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/backup_droplets.php
===================================================================
--- tags/2.8.2/wb/modules/droplets/backup_droplets.php	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/backup_droplets.php	(revision 1481)
@@ -0,0 +1,78 @@
+<?php
+
+// $Id$
+
+/*
+*	@version	1.0
+*	@author		Ruud Eisinga (Ruud) John (PCWacht)
+*	@date		June 2009
+*
+*/
+
+// tool_edit.php
+require_once('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+require_once(WB_PATH.'/framework/functions.php');
+// create admin object depending on platform (admin tools were moved out of settings with WB 2.7)
+$admin = new admin('admintools', 'admintools');
+$admintool_link = ADMIN_URL .'/admintools/index.php';
+$module_edit_link = ADMIN_URL .'/admintools/tool.php?tool=droplets';
+$template_edit_link = ADMIN_URL .'/admintools/tool.php?tool=templateedit';
+
+
+?>
+<h4 style="margin: 0; border-bottom: 1px solid #DDD; padding-bottom: 5px;">
+	<a href="<?php echo $admintool_link;?>"><?php echo $HEADING['ADMINISTRATION_TOOLS']; ?></a>
+	->
+	<a href="<?php echo $module_edit_link;?>">Droplets</a>
+</h4>
+<?php
+
+$temp_dir = WB_PATH.'/temp/droplets/';
+$temp_file = '/modules/droplets/backup-droplets.zip';
+// make the temporary working directory
+mkdir($temp_dir);
+$query_droplets = $database->query("SELECT * FROM ".TABLE_PREFIX."mod_droplets ORDER BY modified_when DESC");
+while($droplet = $query_droplets->fetchRow()) {
+	echo 'Saving: '.$droplet["name"].'.php<br />';
+	$sFile = $temp_dir.$droplet["name"].'.php';
+	$fh = fopen($sFile, 'w') ;
+	fwrite($fh, '//:'.$droplet['description']."\n");
+	fwrite($fh, '//:'.str_replace("\n"," ",$droplet['comments'])."\n");
+	fwrite($fh, $droplet['code']);
+	fclose($fh);
+}
+echo '<br />Create archive: backup-droplets.zip<br />';
+
+require_once(WB_PATH.'/include/pclzip/pclzip.lib.php');
+$archive = new PclZip(WB_PATH.$temp_file);
+$file_list = $archive->create($temp_dir, PCLZIP_OPT_REMOVE_ALL_PATH);
+if ($file_list == 0){
+	echo "Packaging error: '.$archive->errorInfo(true).'";
+	die("Error : ".$archive->errorInfo(true));
+}
+else {
+	echo '<br /><br />Backup created - <a href="'.WB_URL.$temp_file.'">Download</a>';
+}
+delete_directory ( $temp_dir );
+$admin->print_footer();
+
+
+function delete_directory($dirname) {
+    if (is_dir($dirname))
+        $dir_handle = opendir($dirname);
+    if (!$dir_handle)
+        return false;
+    while($file = readdir($dir_handle)) {
+        if ($file != "." && $file != "..") {
+            if (!is_dir($dirname."/".$file))
+                unlink($dirname."/".$file);
+            else
+                delete_directory($dirname.'/'.$file);          
+        }
+    }
+    closedir($dir_handle);
+    rmdir($dirname);
+    return true;
+}
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/droplets/backup_droplets.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/img/index.php
===================================================================
--- tags/2.8.2/wb/modules/droplets/img/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/img/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/droplets/img/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/img/droplets_logo.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/droplets/img/droplets_logo.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/img/invalid.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/droplets/img/invalid.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/img/droplet.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/droplets/img/droplet.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/js/mdcr.js
===================================================================
--- tags/2.8.2/wb/modules/droplets/js/mdcr.js	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/js/mdcr.js	(revision 1481)
@@ -0,0 +1,30 @@
+
+// $Id$
+
+
+function mdcr(a,b) {
+  location.href=sdcr(a,b);
+}
+
+function sdcr(a,f) {
+  var b = a.charCodeAt(a.length-1) -97;
+  var c=""; var e; var g;
+  
+  for(var d=a.length-2; d>-1; d--) {
+    if(a.charCodeAt(d) < 97) {
+      switch(a.charCodeAt(d)) {
+        case 70: g=64; break;
+        case 90: g=46; break;
+        case 88: g=95; break;
+        case 75: g=45; break;
+        default: g=a.charCodeAt(d); break;
+      }
+      c+=String.fromCharCode(g)
+    } else {
+      e=(a.charCodeAt(d) - 97 - b) % 26;
+      e+=(e<0 || e>25) ? +26 : 0;
+      c+=String.fromCharCode(e+97);
+    }
+  }
+  return "mailto:"+c+f;
+}
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/droplets/js/mdcr.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/droplets/js/index.php
===================================================================
--- tags/2.8.2/wb/modules/droplets/js/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/droplets/js/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/droplets/js/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/index.php
===================================================================
--- tags/2.8.2/wb/modules/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/index.php	(revision 1481)
@@ -0,0 +1,21 @@
+<?php
+/**
+ *
+ * @category        backend
+ * @package         modules
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+*/
+
+header("Location: ../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/edit_module_files.php
===================================================================
--- tags/2.8.2/wb/modules/edit_module_files.php	(nonexistent)
+++ tags/2.8.2/wb/modules/edit_module_files.php	(revision 1481)
@@ -0,0 +1,150 @@
+<?php
+/**
+ *
+ * @category        backend
+ * @package         modules
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// prevent this file from being accessed directly
+if(!(isset($_POST['page_id']) && isset($_POST['section_id']) && isset($_POST['action'])
+	&& isset($_POST['mod_dir'])  && isset($_POST['edit_file']))) die(header('Location: index.php'));
+
+// include configuration file and admin wrapper script
+require('../config.php');
+
+// include the and admin wrapper script
+require(WB_PATH.'/modules/admin.php');
+
+// leave if the required module.functions.php file does not exist
+if(!file_exists(WB_PATH .'/framework/module.functions.php')) {
+	echo 'The required file: /framework/module.functions.php is missing - script stopped.';
+	die;
+}
+
+echo (function_exists('registerEditArea')) ? registerEditArea('code_area', 'css', false) : 'none';
+
+// set default text output if varibles are not defined in the global WB language files
+$HEADING_CSS_FILE = (isset($GLOBALS['TEXT']['HEADING_CSS_FILE'])) ?$GLOBALS['TEXT']['HEADING_CSS_FILE'] :'Actual module file: ';
+$TXT_EDIT_CSS_FILE = (isset($GLOBALS['TEXT']['TXT_EDIT_CSS_FILE'])) ?$GLOBALS['TEXT']['TXT_EDIT_CSS_FILE'] :'Edit the CSS definitions in the textarea below.';
+
+// include functions to edit the optional module CSS files (frontend.css, backend.css)
+require_once(WB_PATH .'/framework/module.functions.php');
+
+// check if the module directory is valid
+$mod_dir = check_module_dir($_POST['mod_dir']);
+if($mod_dir == '')
+{
+	echo 'The specified module directory is invalid - script stopped.';
+	die;
+};
+
+// check if action is: save or edit
+if($_POST['action'] == 'save' && mod_file_exists($mod_dir, $_POST['edit_file'])) {
+	/** 
+		SAVE THE UPDATED CONTENTS TO THE CSS FILE
+	*/
+	$css_content = '';
+	if (isset($_POST['css_data']) && strlen($_POST['css_data']) > 0) {
+		$css_content = stripslashes($_POST['css_data']);
+	}
+
+	$bytes = 0;
+	if ($css_content != '')
+    {
+		// open the module CSS file for writting
+		$mod_file = @fopen(WB_PATH .'/modules/' .$mod_dir .'/' .$_POST['edit_file'], 'wb');
+		// write new content to the module CSS file
+		$bytes = @fwrite($mod_file, $css_content);
+		// close the file
+		@fclose($mod_file);
+	}
+
+	// write out status message
+	if($bytes == 0 )
+    {
+		$admin->print_error($TEXT['ERROR'], ADMIN_URL.'/pages/modify.php?page_id='.$page_id);
+	} else {
+		$admin->print_success($TEXT['SUCCESS'], ADMIN_URL.'/pages/modify.php?page_id='.$page_id);
+	}
+
+
+} else {
+	/** 
+		MODIFY CONTENTS OF THE CSS FILE VIA TEXT AREA 
+	*/
+	// check if module backend.css file needs to be included into the <body>
+	if((!method_exists($admin, 'register_backend_modfiles') || !isset($_GET['page_id']))
+			&& file_exists(WB_PATH .'/modules/'.$mod_dir.'/backend.css')) {
+		echo '<style type="text/css">';
+		include(WB_PATH .'/modules/' .$mod_dir .'/backend.css');
+		echo "\n</style>\n";
+	}
+
+	// check which module file to edit (frontend.css, backend.css or '')
+	$css_file = (in_array($_POST['edit_file'], array('frontend.css', 'backend.css'))) ? $_POST['edit_file'] : '';
+
+	// display output
+	if($css_file == '')
+    {
+		// no valid module file to edit; display error message and backlink to modify.php
+		echo "<h2>Nothing to edit</h2>";
+		echo "<p>No valid module file exists for this module.</p>";
+		$output  = "<a href=\"#\" onclick=\"javascript: window.location = '";
+		$output .= ADMIN_URL ."/pages/modify.php?page_id=" .$page_id ."'\">back</a>";
+		echo $output;
+	
+	} else {
+		// store content of the module file in variable
+		$css_content = @file_get_contents(WB_PATH .'/modules/' .$mod_dir .'/' .$css_file);
+		// write out heading
+		echo '<h2>' .$HEADING_CSS_FILE .'"' .$css_file .'"</h2>';
+		// include button to switch between frontend.css and backend.css (only shown if both files exists)
+		toggle_css_file($mod_dir, $css_file); 
+		echo '<p>' .$TXT_EDIT_CSS_FILE .'</p>';
+
+		// output content of module file to textareas
+	?>
+		<form name="edit_module_file" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" style="margin: 0;">
+	  	<input type="hidden" name="page_id" value="<?php echo $page_id; ?>" />
+	  	<input type="hidden" name="section_id" value="<?php echo $section_id; ?>" />
+	  	<input type="hidden" name="mod_dir" value="<?php echo $mod_dir; ?>" />
+		<input type="hidden" name="edit_file" value="<?php echo $css_file; ?>" />
+	  	<input type="hidden" name="action" value="save" />
+		<textarea id="code_area" name="css_data" cols="115" rows="25" wrap="VIRTUAL" style="margin:2px;width:100%;"><?php
+			echo htmlspecialchars($css_content); ?>
+		</textarea>
+<?php
+
+?>
+  			<table cellpadding="0" cellspacing="0" border="0" width="100%">
+  			<tr>
+    			<td class="left">
+ 				<input name="save" type="submit" value="<?php echo $TEXT['SAVE'];?>" style="width: 100px; margin-top: 5px;" />
+    			</td>
+  				<td class="right">
+      			<input type="button" value="<?php echo $TEXT['CANCEL']; ?>"
+						onclick="javascript: window.location = '<?php echo ADMIN_URL;?>/pages/modify.php?page_id=<?php echo $page_id; ?>';"
+						style="width: 100px; margin-top: 5px;" />
+  				</td>
+  			</tr>
+  			</table>
+		</form>
+		<?php 
+	}
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/edit_module_files.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/captcha_control/info.php
===================================================================
--- tags/2.8.2/wb/modules/captcha_control/info.php	(nonexistent)
+++ tags/2.8.2/wb/modules/captcha_control/info.php	(revision 1481)
@@ -0,0 +1,40 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  This is a control-tool for captcha and ASP
+ -----------------------------------------------------------------------------------------
+V1.0 - inital version
+
+*/
+
+$module_directory 	= 'captcha_control';
+$module_name 			= 'Captcha and Advanced-Spam-Protection (ASP) Control';
+$module_function 		= 'tool';
+$module_version 		= '1.0';
+$module_platform 		= '2.7 | 2.8.x';
+$module_author 		= 'Thomas Hornik (thorn)';
+$module_license 		= 'GNU General Public License';
+$module_description 	= 'Admin-Tool to control CAPTCHA and ASP';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/captcha_control/info.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/captcha_control/tool.php
===================================================================
--- tags/2.8.2/wb/modules/captcha_control/tool.php	(nonexistent)
+++ tags/2.8.2/wb/modules/captcha_control/tool.php	(revision 1481)
@@ -0,0 +1,196 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// direct access prevention
+defined('WB_PATH') OR die(header('Location: ../index.php'));
+
+// check if module language file exists for the language set by the user (e.g. DE, EN)
+if(!file_exists(WB_PATH .'/modules/captcha_control/languages/'.LANGUAGE .'.php')) {
+	// no module language file exists for the language set by the user, include default module language file EN.php
+	require_once(WB_PATH .'/modules/captcha_control/languages/EN.php');
+} else {
+	// a module language file exists for the language defined by the user, load it
+	require_once(WB_PATH .'/modules/captcha_control/languages/'.LANGUAGE .'.php');
+}
+
+$table = TABLE_PREFIX.'mod_captcha_control';
+
+// check if data was submitted
+if(isset($_POST['save_settings'])) {
+	// get configuration settings
+	$enabled_captcha = ($_POST['enabled_captcha'] == '1') ? '1' : '0';
+	$enabled_asp = ($_POST['enabled_asp'] == '1') ? '1' : '0';
+	$captcha_type = $admin->add_slashes($_POST['captcha_type']);
+	
+	// update database settings
+	$database->query("UPDATE $table SET
+		enabled_captcha = '$enabled_captcha',
+		enabled_asp = '$enabled_asp',
+		captcha_type = '$captcha_type'
+	");
+
+	// save text-captchas
+	if($captcha_type == 'text') { // ct_text
+		$text_qa=$admin->add_slashes($_POST['text_qa']);
+		if(!preg_match('/### .*? ###/', $text_qa)) {
+			$database->query("UPDATE $table SET ct_text = '$text_qa'");
+		}
+	}
+	
+	// check if there is a database error, otherwise say successful
+	if($database->is_error()) {
+		$admin->print_error($database->get_error(), $js_back);
+	} else {
+		$admin->print_success($MESSAGE['PAGES']['SAVED'], ADMIN_URL.'/admintools/tool.php?tool=captcha_control');
+	}
+
+} else {
+	
+	// include captcha-file
+	require_once(WB_PATH .'/include/captcha/captcha.php');
+
+	// load text-captchas
+	$text_qa='';
+	if($query = $database->query("SELECT ct_text FROM $table")) {
+		$data = $query->fetchRow();
+		$text_qa = $data['ct_text'];
+	}
+	if($text_qa == '')
+		$text_qa = $MOD_CAPTCHA_CONTROL['CAPTCHA_TEXT_DESC'];
+
+// script to load image
+?>
+<script type="text/javascript">
+	var pics = new Array();
+
+	pics["ttf_image"] = new Image();
+	pics["ttf_image"].src = "<?php echo WB_URL.'/include/captcha/captchas/ttf_image.png'?>";
+
+	pics["calc_image"] = new Image();
+	pics["calc_image"].src = "<?php echo WB_URL.'/include/captcha/captchas/calc_image.png'?>";
+
+	pics["calc_ttf_image"] = new Image();
+	pics["calc_ttf_image"].src = "<?php echo WB_URL.'/include/captcha/captchas/calc_ttf_image.png'?>";
+
+	pics["old_image"] = new Image();
+	pics["old_image"].src = "<?php echo WB_URL.'/include/captcha/captchas/old_image.png'?>";
+	
+	pics["calc_text"] = new Image();
+	pics["calc_text"].src = "<?php echo WB_URL.'/include/captcha/captchas/calc_text.png'?>";
+	
+	pics["text"] = new Image();
+	pics["text"].src = "<?php echo WB_URL.'/include/captcha/captchas/text.png'?>";
+
+	function load_captcha_image() {
+		document.captcha_example.src = pics[document.store_settings.captcha_type.value].src;
+		toggle_text_qa();
+	}
+	
+	function toggle_text_qa() {
+		if(document.store_settings.captcha_type.value == 'text' ) {
+			document.getElementById('text_qa').style.display = '';
+		} else {
+			document.getElementById('text_qa').style.display = 'none';
+		}
+	}
+
+</script>
+<?php
+
+	// connect to database and read out captcha settings
+	if($query = $database->query("SELECT * FROM $table")) {
+		$data = $query->fetchRow();
+		$enabled_captcha = $data['enabled_captcha'];
+		$enabled_asp = $data['enabled_asp'];
+		$captcha_type = $data['captcha_type'];
+	} else {
+		// something went wrong, use dummy value
+		$enabled_captcha = '1';
+		$enabled_asp = '1';
+		$captcha_type = 'calc_text';
+	}
+		
+	// write out heading
+	echo '<h2>' .$MOD_CAPTCHA_CONTROL['HEADING'] .'</h2>';
+
+	// output the form with values from the database
+	echo '<p>' .$MOD_CAPTCHA_CONTROL['HOWTO'] .'</p>';
+?>
+<form name="store_settings" action="<?php echo $_SERVER['REQUEST_URI']; ?>" method="post">
+	<table width="98%" cellspacing="0" border="0" cellpadding="5px" class="row_a">
+	<tr><td colspan="2"><strong><?php echo $MOD_CAPTCHA_CONTROL['CAPTCHA_CONF'];?>:</strong></td></tr>
+	<tr>
+		<td width="30%"><?php echo $MOD_CAPTCHA_CONTROL['CAPTCHA_TYPE'];?>:</td>
+		<td>
+		<select name="captcha_type" id="captcha_type" onchange="load_captcha_image()" style="width: 98%;">
+			<?php foreach($useable_captchas AS $key=>$text) {
+			echo "<option value=\"$key\" ".($captcha_type==$key ? ' selected="selected"' : '').">$text</option>";
+			} ?>
+		</select>
+		</td>
+	</tr>
+	<tr>
+		<td>&nbsp;</td>
+		<td align="left" width="150px">
+            <img alt="captcha_example" id="captcha_example" src="<?php echo WB_URL.'/include/captcha/captchas/'.$captcha_type.'.png'?>" />
+        </td>
+	</tr>
+	<tr id="text_qa" style="display:<?php if($captcha_type=='text') echo ''; else echo 'none'; ;?>;">
+		<td valign="top" class="setting_name"><?php echo $MOD_CAPTCHA_CONTROL['CAPTCHA_ENTER_TEXT'];?>:</td>
+		<td class="setting_value" colspan="2">
+			<textarea name="text_qa" cols="60" rows="10"><?php echo $text_qa; ?></textarea>
+		</td>
+	</tr>
+	<tr>
+		<td><?php echo $MOD_CAPTCHA_CONTROL['USE_SIGNUP_CAPTCHA'];?>:</td>
+		<td>
+			<input type="radio" <?php echo ($enabled_captcha=='1') ?'checked="checked"' :'';?>
+				name="enabled_captcha" value="1" /><?php echo $MOD_CAPTCHA_CONTROL['ENABLED'];?>
+			<input type="radio" <?php echo ($enabled_captcha=='0') ?'checked="checked"' :'';?>
+				name="enabled_captcha" value="0" /><?php echo $MOD_CAPTCHA_CONTROL['DISABLED'];?>
+		</td>
+	</tr>
+	<tr><td>&nbsp;</td><td style="font-size:smaller;"><?php echo $MOD_CAPTCHA_CONTROL['CAPTCHA_EXP'];?></td></tr>
+	<tr><td colspan="2"><br /><strong><?php echo $MOD_CAPTCHA_CONTROL['ASP_CONF'];?>:</strong></td></tr>
+	<tr>
+		<td><?php echo $MOD_CAPTCHA_CONTROL['ASP_TEXT'];?>:</td>
+		<td>
+			<input type="radio" <?php echo ($enabled_asp=='1') ?'checked="checked"' :'';?>
+				name="enabled_asp" value="1" /><?php echo $MOD_CAPTCHA_CONTROL['ENABLED'];?>
+			<input type="radio" <?php echo ($enabled_asp=='0') ?'checked="checked"' :'';?>
+				name="enabled_asp" value="0" /><?php echo $MOD_CAPTCHA_CONTROL['DISABLED'];?>
+		</td>
+	</tr>
+	<tr>
+        <td>&nbsp;</td>
+        <td style="font-size:smaller;"><?php echo $MOD_CAPTCHA_CONTROL['ASP_EXP'];?></td>
+    </tr>
+	</table>
+	<input type="submit" name="save_settings" style="margin-top:10px; width:140px;" value="<?php echo $TEXT['SAVE']; ?>" />
+</form>
+<?php
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/captcha_control/tool.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/captcha_control/languages/NL.php
===================================================================
--- tags/2.8.2/wb/modules/captcha_control/languages/NL.php	(nonexistent)
+++ tags/2.8.2/wb/modules/captcha_control/languages/NL.php	(revision 1481)
@@ -0,0 +1,61 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  DUTCH LANGUAGE FILE FOR THE CAPTCHA-CONTROL ADMIN TOOL
+ -----------------------------------------------------------------------------------------
+*/
+
+// Headings and text outputs
+$MOD_CAPTCHA_CONTROL['HEADING']				= 'CAPTCHA en Advanced Spam Protection';
+$MOD_CAPTCHA_CONTROL['HOWTO']				= 'Hier kunt u "CAPTCHA" en "Advanced Spam Protection" (ASP) beheren. Let op: alleen daarvoor aangepaste modules werken met ASP.';
+
+// Text and captions of form elements
+$MOD_CAPTCHA_CONTROL['CAPTCHA_CONF']		= 'CAPTCHA-configuratie';
+$MOD_CAPTCHA_CONTROL['CAPTCHA_TYPE']		= 'Type CAPTCHA';
+$MOD_CAPTCHA_CONTROL['CAPTCHA_EXP']			= 'Let op: CAPTCHA-instellingen voor modules bevinden zich in de desbetreffende module-instellingen.';
+$MOD_CAPTCHA_CONTROL['USE_SIGNUP_CAPTCHA']	= 'Activeer CAPTCHA voor aanmeldingen';
+$MOD_CAPTCHA_CONTROL['ENABLED']				= 'Inschakelen';
+$MOD_CAPTCHA_CONTROL['DISABLED']			= 'Uitschakelen';
+$MOD_CAPTCHA_CONTROL['ASP_CONF']			= 'Advanced Spam Protection';
+$MOD_CAPTCHA_CONTROL['ASP_TEXT']			= 'Activeer ASP (indien beschikbaar)';
+$MOD_CAPTCHA_CONTROL['ASP_EXP']				= 'ASP probeert te detecteren of het formulier ingevuld werd door een persoon of een spam-bot.';
+$MOD_CAPTCHA_CONTROL['CALC_TEXT']			= 'Rekensom als tekst';
+$MOD_CAPTCHA_CONTROL['CALC_IMAGE']			= 'Rekensom als afbeelding';
+$MOD_CAPTCHA_CONTROL['CALC_TTF_IMAGE']		= 'Rekensom als afbeelding met verschillende lettertypen en achtergronden';
+$MOD_CAPTCHA_CONTROL['TTF_IMAGE']			= 'Afbeelding met verschillende lettertypen en achtergronden';
+$MOD_CAPTCHA_CONTROL['OLD_IMAGE']			= 'Oude stijl (niet aan te raden)';
+$MOD_CAPTCHA_CONTROL['TEXT']				= 'Tekst-CAPTCHA';
+$MOD_CAPTCHA_CONTROL['CAPTCHA_ENTER_TEXT']	= 'Vragen en antwoorden';
+$MOD_CAPTCHA_CONTROL['CAPTCHA_TEXT_DESC']	= 'Verwijder dit om uw lijst in te voeren, of de wijzigingen zullen niet bewaard worden!'."\n".'### voorbeeld ###'."\n".'Hier kunt u vragen en antwoorden invoeren.'."\n".'Gebruik:'."\n".'?Wat is de <b>voornaam</b> van <b>Pietje</b> Puk?'."\n".'!Pietje'."\n".'?Vraag 2'."\n".'!Antwoord 2'."\n".' ... '."\n".'indien de taal geen rol speelt.'."\n".''."\n".'Of, indien taal wel een rol speelt, gebruik:'."\n".'?EN:What\'s <b>John</b> Doe\'s <b>first name</b>?'."\n".'!John'."\n".'?EN:Question 2'."\n".'!Answer 2'."\n".'?DE:Wie ist der <b>Vorname</b> von <b>Claudia</b> Schiffer?'."\n".'!Claudia'."\n".' ... '."\n".'### voorbeeld ###'."\n".'';
+
+$MOD_CAPTCHA['VERIFICATION']				= 'Verificatie';
+$MOD_CAPTCHA['ADDITION']					= 'plus';
+$MOD_CAPTCHA['SUBTRAKTION']					= 'min';
+$MOD_CAPTCHA['MULTIPLIKATION']				= 'maal';
+$MOD_CAPTCHA['VERIFICATION_INFO_RES']		= 'Voer het resultaat in a.u.b.';
+$MOD_CAPTCHA['VERIFICATION_INFO_TEXT']		= 'Voer de tekst in a.u.b.';
+$MOD_CAPTCHA['VERIFICATION_INFO_QUEST']		= 'Beantwoord de vraag a.u.b.';
+$MOD_CAPTCHA['INCORRECT_VERIFICATION']		= 'Verificatie mislukt';
+
+?>

Property changes on: tags/2.8.2/wb/modules/captcha_control/languages/NL.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/captcha_control/languages/SK.php
===================================================================
--- tags/2.8.2/wb/modules/captcha_control/languages/SK.php	(nonexistent)
+++ tags/2.8.2/wb/modules/captcha_control/languages/SK.php	(revision 1481)
@@ -0,0 +1,52 @@
+<?php
+/**
+ *
+ * @category        backend
+ * @package         languages
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+*/
+
+// Headings and text outputs
+$MOD_CAPTCHA_CONTROL['HEADING']           = 'Captcha a ASP kontrola';
+$MOD_CAPTCHA_CONTROL['HOWTO']             = 'Tu m&ocirc;&#382;ete ovplyvni&#357; spr&aacute;vanie "CAPTCHA" a "Advanced Spam Protection" (ASP).
+						Ak chcete pou&#382;&iacute;va&#357; ASP pr&aacute;cu s dan&yacute;m modulom, tento &#353;peci&aacute;lny modul, mus&iacute; by&#357; upraven&yacute; pre vyu&#382;itie ASP.';
+
+// Text and captions of form elements
+$MOD_CAPTCHA_CONTROL['CAPTCHA_CONF']      = 'CAPTCHA Konfigur&aacute;cia';
+$MOD_CAPTCHA_CONTROL['CAPTCHA_TYPE']      = 'Typ CAPTCHA';
+$MOD_CAPTCHA_CONTROL['CAPTCHA_EXP']       = 'CAPTCHA settings for modules are located in the respective module settings';
+$MOD_CAPTCHA_CONTROL['USE_SIGNUP_CAPTCHA']= 'Aktivova&#357; CAPTCHA pre prihl&aacute;senie';
+$MOD_CAPTCHA_CONTROL['ENABLED']           = 'Povoli&#357;';
+$MOD_CAPTCHA_CONTROL['DISABLED']          = 'Zak&aacute;za&#357;';
+$MOD_CAPTCHA_CONTROL['ASP_CONF']          = 'Advanced Spam Protection Konfigur&aacute;cia';
+$MOD_CAPTCHA_CONTROL['ASP_TEXT']          = 'Aktivova&#357; ASP (ak je dostupn&eacute;)';
+$MOD_CAPTCHA_CONTROL['ASP_EXP']           = 'ASP sa sna&#382;&iacute; zisti&#357;, &#269;i forma vstupu poch&aacute;dza od &#269;loveka alebo spam-bota.';
+$MOD_CAPTCHA_CONTROL['CALC_TEXT']         = 'V&yacute;po&#269;et ako text';
+$MOD_CAPTCHA_CONTROL['CALC_IMAGE']        = 'V&yacute;po&#269;et ako obr&aacute;zok';
+$MOD_CAPTCHA_CONTROL['CALC_TTF_IMAGE']    = 'V&yacute;po&#269;et ako obr&aacute;zok s r&ocirc;znymi fontmy a pozad&iacute;m'; 
+$MOD_CAPTCHA_CONTROL['TTF_IMAGE']         = 'Obr&aacute;zok s r&ocirc;znymi fontmy a pozad&iacute;m';
+$MOD_CAPTCHA_CONTROL['OLD_IMAGE']         = 'Star&yacute; sp&ocirc;sob (neodpor&uacute;&#269;a sa)';
+$MOD_CAPTCHA_CONTROL['TEXT']              = 'Text-CAPTCHA';
+$MOD_CAPTCHA_CONTROL['CAPTCHA_ENTER_TEXT']= 'Ot&aacute;zky a odpovede';
+$MOD_CAPTCHA_CONTROL['CAPTCHA_TEXT_DESC'] = 'Delete this all to add your own entries'."\n".'or your changes won\'t be saved!'."\n".'### example ###'."\n".'Here you can enter Questions and Answers.'."\n".'Use:'."\n".'?What\'s <b>Claudia</b> Schiffer\'s <b>first name</b>?'."\n".'!Claudia'."\n".'?Question 2'."\n".'!Answer 2'."\n".''."\n".'if language doesn\'t matter.'."\n".' ... '."\n".'Or, if language do matter, use:'."\n".'?EN:What\'s <b>Claudia</b> Schiffer\'s <b>first name</b>?'."\n".'!Claudia'."\n".'?EN:Question 2'."\n".'!Answer 2'."\n".'?DE:Wie ist der <b>Vorname</b> von <b>Claudia</b> Schiffer?'."\n".'!Claudia'."\n".' ... '."\n".'### example ###'."\n".'';
+
+$MOD_CAPTCHA['VERIFICATION']           = 'Overenie';
+$MOD_CAPTCHA['ADDITION']               = 'plus';
+$MOD_CAPTCHA['SUBTRAKTION']            = 'm&iacute;nus';
+$MOD_CAPTCHA['MULTIPLIKATION']         = 'n&aacute;sobi&#357;';
+$MOD_CAPTCHA['VERIFICATION_INFO_RES']  = 'Vlo&#382;te v&yacute;sledok';
+$MOD_CAPTCHA['VERIFICATION_INFO_TEXT'] = 'Vlo&#382;te text';
+$MOD_CAPTCHA['VERIFICATION_INFO_QUEST'] = 'Odpoveï na ot&aacute;zku';
+$MOD_CAPTCHA['INCORRECT_VERIFICATION'] = 'Overenie zlyhalo';
+
+?> 
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/captcha_control/languages/SK.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/captcha_control/languages/EN.php
===================================================================
--- tags/2.8.2/wb/modules/captcha_control/languages/EN.php	(nonexistent)
+++ tags/2.8.2/wb/modules/captcha_control/languages/EN.php	(revision 1481)
@@ -0,0 +1,61 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  ENGLISH LANGUAGE FILE FOR THE CAPTCHA-CONTROL ADMIN TOOL
+ -----------------------------------------------------------------------------------------
+*/
+
+// Headings and text outputs
+$MOD_CAPTCHA_CONTROL['HEADING']           = 'Captcha and ASP control';
+$MOD_CAPTCHA_CONTROL['HOWTO']             = 'Here you can control the behavior of "CAPTCHA" and "Advanced Spam Protection" (ASP). To get ASP work with a given module, this special module has to be adapted to make use of ASP.';
+
+// Text and captions of form elements
+$MOD_CAPTCHA_CONTROL['CAPTCHA_CONF']      = 'CAPTCHA Configuration';
+$MOD_CAPTCHA_CONTROL['CAPTCHA_TYPE']      = 'Type of CAPTCHA';
+$MOD_CAPTCHA_CONTROL['CAPTCHA_EXP']       = 'CAPTCHA settings for modules are located in the respective module settings';
+$MOD_CAPTCHA_CONTROL['USE_SIGNUP_CAPTCHA']= 'Activate CAPTCHA for signup';
+$MOD_CAPTCHA_CONTROL['ENABLED']           = 'Enabled';
+$MOD_CAPTCHA_CONTROL['DISABLED']          = 'Disabled';
+$MOD_CAPTCHA_CONTROL['ASP_CONF']          = 'Advanced Spam Protection Configuration';
+$MOD_CAPTCHA_CONTROL['ASP_TEXT']          = 'Activate ASP (if available)';
+$MOD_CAPTCHA_CONTROL['ASP_EXP']           = 'ASP tries to determine if a form-input was originated from a human or a spam-bot.';
+$MOD_CAPTCHA_CONTROL['CALC_TEXT']         = 'Calculation as text';
+$MOD_CAPTCHA_CONTROL['CALC_IMAGE']        = 'Calculation as image';
+$MOD_CAPTCHA_CONTROL['CALC_TTF_IMAGE']    = 'Calculation as image with varying fonts and backgrounds'; 
+$MOD_CAPTCHA_CONTROL['TTF_IMAGE']         = 'Image with varying fonts and backgrounds';
+$MOD_CAPTCHA_CONTROL['OLD_IMAGE']         = 'Old style (not recommended)';
+$MOD_CAPTCHA_CONTROL['TEXT']              = 'Text-CAPTCHA';
+$MOD_CAPTCHA_CONTROL['CAPTCHA_ENTER_TEXT']= 'Questions and Answers';
+$MOD_CAPTCHA_CONTROL['CAPTCHA_TEXT_DESC'] = 'Delete this all to add your own entries'."\n".'or your changes won\'t be saved!'."\n".'### example ###'."\n".'Here you can enter Questions and Answers.'."\n".'Use:'."\n".'?What\'s Claudia Schiffer\'s first name?'."\n".'!Claudia'."\n".'?Question 2'."\n".'!Answer 2'."\n".''."\n".'if language doesn\'t matter.'."\n".' ... '."\n".'Or, if language do matter, use:'."\n".'?EN:What\'s Claudia Schiffer\'s first name?'."\n".'!Claudia'."\n".'?EN:Question 2'."\n".'!Answer 2'."\n".'?DE:Wie ist der Vorname von Claudia Schiffer?'."\n".'!Claudia'."\n".' ... '."\n".'### example ###'."\n".'';
+
+$MOD_CAPTCHA['VERIFICATION']           = 'Verification';
+$MOD_CAPTCHA['ADDITION']               = 'add';
+$MOD_CAPTCHA['SUBTRAKTION']            = 'subtract';
+$MOD_CAPTCHA['MULTIPLIKATION']         = 'multiply';
+$MOD_CAPTCHA['VERIFICATION_INFO_RES']  = 'Fill in the result';
+$MOD_CAPTCHA['VERIFICATION_INFO_TEXT'] = 'Fill in the text';
+$MOD_CAPTCHA['VERIFICATION_INFO_QUEST'] = 'Answer the question';
+$MOD_CAPTCHA['INCORRECT_VERIFICATION'] = 'Verification failed';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/captcha_control/languages/EN.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/captcha_control/languages/DE.php
===================================================================
--- tags/2.8.2/wb/modules/captcha_control/languages/DE.php	(nonexistent)
+++ tags/2.8.2/wb/modules/captcha_control/languages/DE.php	(revision 1481)
@@ -0,0 +1,63 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  DEUTSCHE SPRACHDATEI FUER DAS CAPTCHA-CONTROL ADMINISTRATIONS TOOL
+ -----------------------------------------------------------------------------------------
+*/
+
+// Deutsche Modulbeschreibung
+$module_description 	= 'Admin-Tool um das Verhalten von CAPTCHA und ASP zu kontrollieren';
+
+// Ueberschriften und Textausgaben
+$MOD_CAPTCHA_CONTROL['HEADING']           = 'Captcha- und ASP Steuerung';
+$MOD_CAPTCHA_CONTROL['HOWTO']             = 'Hiermit kann das Verhalten von "CAPTCHA" und "Advanced Spam Protection" (ASP) gesteuert werden. Damit ASP in einem Modul wirken kann, muss das verwendete Modul entsprechend angepasst sein.';
+
+// Text and captions of form elements
+$MOD_CAPTCHA_CONTROL['CAPTCHA_CONF']      = 'CAPTCHA-Einstellungen';
+$MOD_CAPTCHA_CONTROL['CAPTCHA_TYPE']      = 'CAPTCHA-Typ';
+$MOD_CAPTCHA_CONTROL['CAPTCHA_EXP']       = 'Die CAPTCHA-Einstellungen f&uuml;r die Module befinden sich in den jeweiligen Modul-Optionen';
+$MOD_CAPTCHA_CONTROL['USE_SIGNUP_CAPTCHA']= 'CAPTCHA f&uuml;r Registrierung aktivieren';
+$MOD_CAPTCHA_CONTROL['ENABLED']           = 'Aktiviert';
+$MOD_CAPTCHA_CONTROL['DISABLED']          = 'Ausgeschaltet';
+$MOD_CAPTCHA_CONTROL['ASP_CONF']          = 'Erweiterter-Spam-Schutz (ASP) Einstellungen';
+$MOD_CAPTCHA_CONTROL['ASP_TEXT']          = 'ASP benutzen (wenn im Modul vorhanden)';
+$MOD_CAPTCHA_CONTROL['ASP_EXP']           = 'ASP versucht anhand der verschiedenen Verhaltensweisen zu erkennen, ob eine Formular-Eingabe von einem Menschen oder einem Spam-Bot kommt.';
+$MOD_CAPTCHA_CONTROL['CALC_TEXT']         = 'Rechnung als Text';
+$MOD_CAPTCHA_CONTROL['CALC_IMAGE']        = 'Rechnung als Bild';
+$MOD_CAPTCHA_CONTROL['CALC_TTF_IMAGE']    = 'Rechnung als Bild mit wechselnden Schriften und Hintergr&uuml;nden';
+$MOD_CAPTCHA_CONTROL['TTF_IMAGE']         = 'Bild mit wechselnden Schriften und Hintergr&uuml;nden';
+$MOD_CAPTCHA_CONTROL['OLD_IMAGE']         = 'Alter Stil (nicht empfohlen)';
+$MOD_CAPTCHA_CONTROL['TEXT']              = 'Text-CAPTCHA';
+$MOD_CAPTCHA_CONTROL['CAPTCHA_ENTER_TEXT']= 'Fragen und Antworten';
+$MOD_CAPTCHA_CONTROL['CAPTCHA_TEXT_DESC'] = 'Bitte hier alles l&ouml;schen'."\n".'sonst werden Ihre &Auml;nderungen nicht gespeichert!'."\n".'### Beispiel ###'."\n".'Hier k&ouml;nnen sie Fragen und Antworten eingeben.'."\n".'Entweder:'."\n".'?Wie ist der Vorname von Claudia Schiffer?'."\n".'!Claudia'."\n".'?Frage 2'."\n".'!Antwort 2'."\n".' ... '."\n".'wenn nur eine Sprache benutzt wird.'."\n".''."\n".'Oder, wenn die Sprache relevant ist:'."\n".'?EN:What\'s Claudia Schiffer\'s first name?'."\n".'!Claudia'."\n".'?EN:Question 2'."\n".'!Answer 2'."\n".'?DE:Wie ist der Vorname von Claudia Schiffer?'."\n".'!Claudia'."\n".' ... '."\n".'### Beispiel ###'."\n".'';
+$MOD_CAPTCHA['VERIFICATION']           = 'Pr&uuml;fziffer';
+$MOD_CAPTCHA['ADDITION']               = 'plus';
+$MOD_CAPTCHA['SUBTRAKTION']            = 'minus';
+$MOD_CAPTCHA['MULTIPLIKATION']         = 'mal';
+$MOD_CAPTCHA['VERIFICATION_INFO_RES']  = 'Bitte Ergebnis eintragen';
+$MOD_CAPTCHA['VERIFICATION_INFO_TEXT'] = 'Bitte Text eintragen';
+$MOD_CAPTCHA['VERIFICATION_INFO_QUEST'] = 'Bitte Frage beantworten';
+$MOD_CAPTCHA['INCORRECT_VERIFICATION'] = 'Das Ergebnis ist falsch. Bitte tragen Sie es erneut ein';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/captcha_control/languages/DE.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/captcha_control/languages/DA.php
===================================================================
--- tags/2.8.2/wb/modules/captcha_control/languages/DA.php	(nonexistent)
+++ tags/2.8.2/wb/modules/captcha_control/languages/DA.php	(revision 1481)
@@ -0,0 +1,61 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  DANISH LANGUAGE FILE FOR THE CAPTCHA-CONTROL ADMIN TOOL
+ -----------------------------------------------------------------------------------------
+*/
+
+// Headings and text outputs
+$MOD_CAPTCHA_CONTROL['HEADING'] = 'Captcha og ASP styring';
+$MOD_CAPTCHA_CONTROL['HOWTO'] = 'Her kan du styre anvendelsen af  of "CAPTCHA" og "Avanceres spambeskyttelse" (ASB). For at f&Atilde;&yen; ASB til at fungere sammen med et givet modul, skal det p&Atilde;&yen;g&Atilde;&brvbar;ldende modul  tilrettes til at anvende ASB';
+
+// Text and captions of form elements
+$MOD_CAPTCHA_CONTROL['CAPTCHA_CONF'] = 'CAPTCHA konfigurering';
+$MOD_CAPTCHA_CONTROL['CAPTCHA_TYPE'] = 'Type af CAPTCHA';
+$MOD_CAPTCHA_CONTROL['CAPTCHA_EXP'] = 'CAPTCHA indstillinger for moduler findes i modulindstillingerne for de respektive moduler';
+$MOD_CAPTCHA_CONTROL['USE_SIGNUP_CAPTCHA'] = 'Brug af CAPTCHA ved tilmelding';
+$MOD_CAPTCHA_CONTROL['ENABLED'] = 'Sl&Atilde;&yen; til';
+$MOD_CAPTCHA_CONTROL['DISABLED'] = 'Sl&Atilde;&yen; fra';
+$MOD_CAPTCHA_CONTROL['ASP_CONF'] = 'Indstillnger for avanceret spam beskyttelse';
+$MOD_CAPTCHA_CONTROL['ASP_TEXT'] = 'Aktiver ASB (hvis muligt)';
+$MOD_CAPTCHA_CONTROL['ASP_EXP'] = 'ASB fors&Atilde;¸ger at afg&Atilde;¸re om en formular er udfyldt af en menneske eller spam-robot';
+$MOD_CAPTCHA_CONTROL['CALC_TEXT'] = 'Beregning som tekst';
+$MOD_CAPTCHA_CONTROL['CALC_IMAGE'] = 'Beregning som billede';
+$MOD_CAPTCHA_CONTROL['CALC_TTF_IMAGE'] = 'Beregning som billede med forskellige fonte og baggrunde';
+$MOD_CAPTCHA_CONTROL['TTF_IMAGE'] = 'Billede med forskellige fonte og baggrunde';
+$MOD_CAPTCHA_CONTROL['OLD_IMAGE'] = 'Traditionel m&Atilde;&yen;de (anbefales ikke)';
+$MOD_CAPTCHA_CONTROL['TEXT'] = 'Tekst-CAPTCHA';
+$MOD_CAPTCHA_CONTROL['CAPTCHA_ENTER_TEXT'] = 'Sp&Atilde;¸rgsm&Atilde;&yen;l og svar';
+$MOD_CAPTCHA_CONTROL['CAPTCHA_TEXT_DESC'] = 'Slet alt her for at lave dine egne valg."n".eller dine &Atilde;&brvbar;ndringer bliver ikke gemt!."n".### eksempel ###."n".Her kan du indtaste sp&Atilde;¸rgsm&Atilde;&yen;l og svar."n".Brug:."n".?Hvad er  <b>Anne</b> Linnets <b>fornavn</b>?."n".!Anne."n".?Sp&Atilde;¸rgsm&Atilde;&yen;l 2."n".!Svar 2."n".."n".hvis sproget er uden betydning.."n". ... ."n".Eller, hvis sproget har betydning, brug:."n".?EN:Whats <b>Anne</b> Linnets <b>first name</b>?."n".!Anne."n".?EN:Question 2."n".!Answer 2."n".?DE:Wie ist der <b>Vorname</b> von <b>Anne</b> Linnet?."n".!Anne."n". ... ."n".### eksempel ###."n".';
+
+$MOD_CAPTCHA['VERIFICATION'] = 'Verificering';
+$MOD_CAPTCHA['ADDITION'] = 'adder';
+$MOD_CAPTCHA['SUBTRAKTION'] = 'tr&Atilde;&brvbar;k fra';
+$MOD_CAPTCHA['MULTIPLIKATION'] = 'gang';
+$MOD_CAPTCHA['VERIFICATION_INFO_RES'] = 'Inds&Atilde;&brvbar;t resultat';
+$MOD_CAPTCHA['VERIFICATION_INFO_TEXT'] = 'Inds&Atilde;&brvbar;t tekst';
+$MOD_CAPTCHA['VERIFICATION_INFO_QUEST'] = 'Besvar sp&Atilde;¸rgsm&Atilde;&yen;l';
+$MOD_CAPTCHA['INCORRECT_VERIFICATION'] = 'Verificering mislykkedes';
+
+?>

Property changes on: tags/2.8.2/wb/modules/captcha_control/languages/DA.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/captcha_control/languages/NO.php
===================================================================
--- tags/2.8.2/wb/modules/captcha_control/languages/NO.php	(nonexistent)
+++ tags/2.8.2/wb/modules/captcha_control/languages/NO.php	(revision 1481)
@@ -0,0 +1,61 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+-----------------------------------------------------------------------------------------
+NORWEGIAN LANGUAGE FILE FOR THE CAPTCHA-CONTROL ADMIN TOOL
+-----------------------------------------------------------------------------------------
+  */
+
+// Headings and text outputs
+$MOD_CAPTCHA_CONTROL['HEADING']           = 'Captcha og ASP kontroll';
+$MOD_CAPTCHA_CONTROL['HOWTO']             = 'Her kan du kontrolere hvordan du vil at "CAPTCHA" og "Avansert Spam Beskyttelse" (ASP) skal virke. For &aring; f&aring; ASP til &aring; fungere med en spesifik modul, m&aring; denne tilpasses for bruk sammen med ASP. ASP vil ellers ikke fungere med moduler hvor denne endringen ikke er gjort.';
+
+// Text and captions of form elements
+$MOD_CAPTCHA_CONTROL['CAPTCHA_CONF']      = 'CAPTCHA Konfigurasjon';
+$MOD_CAPTCHA_CONTROL['CAPTCHA_TYPE']      = 'Type CAPTCHA';
+$MOD_CAPTCHA_CONTROL['CAPTCHA_EXP']       = 'CAPTCHA instillinger for modulene, finner du under innstillinger i de respektive modulene.';
+$MOD_CAPTCHA_CONTROL['USE_SIGNUP_CAPTCHA']= 'Aktiver CAPTCHA for brukerregistreringen';
+$MOD_CAPTCHA_CONTROL['ENABLED']           = 'Aktivert';
+$MOD_CAPTCHA_CONTROL['DISABLED']          = 'Deaktivert';
+$MOD_CAPTCHA_CONTROL['ASP_CONF']          = 'Konfigrering av Avansert Spam Beskyttelse';
+$MOD_CAPTCHA_CONTROL['ASP_TEXT']          = 'Aktiver ASP (om tilgjengelig)';
+$MOD_CAPTCHA_CONTROL['ASP_EXP']           = 'ASP vil pr&oslash;ve &aring; fastsl&aring; hvor hvidt innfyllingen i et skjema ble gjort av et meneske eller en spam-robot.';
+$MOD_CAPTCHA_CONTROL['CALC_TEXT']         = 'Kalkuler som tekst';
+$MOD_CAPTCHA_CONTROL['CALC_IMAGE']        = 'Kalkuler som bilde';
+$MOD_CAPTCHA_CONTROL['CALC_TTF_IMAGE']    = 'Kalkulering som bilde med varierende fonter og bakgrunner'; 
+$MOD_CAPTCHA_CONTROL['TTF_IMAGE']         = 'Bilde med varierende fonter og bakgrunner';
+$MOD_CAPTCHA_CONTROL['OLD_IMAGE']         = 'Gammel Type (Anbefales ikke!)';
+$MOD_CAPTCHA_CONTROL['TEXT']              = 'Tekst-CAPTCHA';
+$MOD_CAPTCHA_CONTROL['CAPTCHA_ENTER_TEXT']= 'Sp&oslash;rsm&aring;l og svar';
+$MOD_CAPTCHA_CONTROL['CAPTCHA_TEXT_DESC'] = 'Slett atlt dette for &aring; legge til dine egne innlegg ellers vil ikke endringene bli lagret!'."\n".'### eksempel ###'."\n".'Her kan du legge inn Sp&oslash;rsm&aring;l og Svar.'."\n".'Bruk:'."\n".'?Hva er <b>Claudia</b> Schiffer\'s <b>fornavn</b>?'."\n".'!Claudia'."\n".'?Sp&oslash;rsm&aring;l 2'."\n".'!Svar 2'."\n".''."\n".'om type spr&aring;k ikke er av betydning.'."\n".' ... '."\n".'Eller, om spr&aring;k er av betydning, bruk:'."\n".'?NO:Hva er <b>Claudia</b> Schiffer\'s <b>fornavn</b>?'."\n".'!Claudia'."\n".'?NO:Sp&oslash;rsm&aring;l 2'."\n".'!Svar 2'."\n".'?EN:What\'s <b>Claudia</b> Schiffer\'s <b>first name</b>?'."\n".'!Claudia'."\n".'?EN:Question 2'."\n".'!Answer 2'."\n".'?DE:Wie ist der <b>Vorname</b> von <b>Claudia</b> Schiffer?'."\n".'!Claudia'."\n".' ... '."\n".'### Eksempel ###'."\n".'';
+
+$MOD_CAPTCHA['VERIFICATION']           = 'Verifikasjon';
+$MOD_CAPTCHA['ADDITION']               = 'pluss';
+$MOD_CAPTCHA['SUBTRAKTION']            = 'minus';
+$MOD_CAPTCHA['MULTIPLIKATION']         = 'ganger';
+$MOD_CAPTCHA['VERIFICATION_INFO_RES']  = 'Skriv inn ressultatet';
+$MOD_CAPTCHA['VERIFICATION_INFO_TEXT'] = 'Skriv inn teksten';
+$MOD_CAPTCHA['VERIFICATION_INFO_QUEST'] = 'Svar p&aring; sp&oslash;rsm&aring;let';
+$MOD_CAPTCHA['INCORRECT_VERIFICATION'] = 'Feil ved verifiseringen';
+
+?>

Property changes on: tags/2.8.2/wb/modules/captcha_control/languages/NO.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/captcha_control/languages/FR.php
===================================================================
--- tags/2.8.2/wb/modules/captcha_control/languages/FR.php	(nonexistent)
+++ tags/2.8.2/wb/modules/captcha_control/languages/FR.php	(revision 1481)
@@ -0,0 +1,63 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  FRENCH LANGUAGE FILE FOR THE CAPTCHA-CONTROL ADMIN TOOL
+ -----------------------------------------------------------------------------------------
+*/
+//Module Description
+$module_description = 'Outil d&apos;administration de la v&eacute;rification par Captcha et du ASP';
+
+// Headings and text outputs
+$MOD_CAPTCHA_CONTROL['HEADING']           = 'Contr&ocirc;le du Captcha et de l&apos;ASP';
+$MOD_CAPTCHA_CONTROL['HOWTO']             = 'Ici vous pouvez modifier le comportement du "CAPTCHA" et de l&apos;ASP (Advanced Spam Protection). Pour qu&apos;un module puisse utiliser l&apos;ASP, il doit &ecirc;tre sp&eacute;cifiquement adapt&eacute;.';
+
+// Text and captions of form elements
+$MOD_CAPTCHA_CONTROL['CAPTCHA_CONF']      = 'Configuration du CAPTCHA';
+$MOD_CAPTCHA_CONTROL['CAPTCHA_TYPE']      = 'Type de CAPTCHA';
+$MOD_CAPTCHA_CONTROL['CAPTCHA_EXP']       = 'les r&eacute;glagles des CAPTCHA pour les modules sont d&eacute;finis dans leurs pr&eacute;f&eacute;rences respectives';
+$MOD_CAPTCHA_CONTROL['USE_SIGNUP_CAPTCHA']= 'CAPTCHA avant validation';
+$MOD_CAPTCHA_CONTROL['ENABLED']           = 'Activ&eacute;';
+$MOD_CAPTCHA_CONTROL['DISABLED']          = 'D&eacute;sactiv&eacute;';
+$MOD_CAPTCHA_CONTROL['ASP_CONF']          = 'Configuration de l&apos;ASP (Advanced Spam Protection)';
+$MOD_CAPTCHA_CONTROL['ASP_TEXT']          = 'Activer ASP (si disponible)';
+$MOD_CAPTCHA_CONTROL['ASP_EXP']           = 'ASP tente de d&eacute;terminer si un formulaire &agrave; &eacute;t&eacute; post&eacute; par un humain ou un spam-bot.';
+$MOD_CAPTCHA_CONTROL['CALC_TEXT']         = 'Calcul sous forme de texte';
+$MOD_CAPTCHA_CONTROL['CALC_IMAGE']        = 'Calcul sous forme d&apos;image';
+$MOD_CAPTCHA_CONTROL['CALC_TTF_IMAGE']    = 'Calcul sous forme d&apos;image avec polices et fonds al&eacute;atoires'; 
+$MOD_CAPTCHA_CONTROL['TTF_IMAGE']         = 'Image avec polices et fonds al&eacute;atoires';
+$MOD_CAPTCHA_CONTROL['OLD_IMAGE']         = 'Ancienne m&eacute;thode (non recommand&eacute;)';
+$MOD_CAPTCHA_CONTROL['TEXT']              = 'CAPTCHA texte';
+$MOD_CAPTCHA_CONTROL['CAPTCHA_ENTER_TEXT']= 'Questions et R&eacute;ponses';
+$MOD_CAPTCHA_CONTROL['CAPTCHA_TEXT_DESC'] = 'Effacez ceci et remplacez le par votre propre texte'."\n".'sinon vos changements ne seront pas enregistr&eacute;s'."\n".'### exemple ###'."\n".'Saisissez ici vos questions et r&eacute;ponses.'."\n".'Utilisation:'."\n".'?Quel est le <b>pr&eacute;nom</b> de <b>Claudia</b> Schiffer ?'."\n".'!Claudia'."\n".'?Question 2'."\n".'!R&eacute;ponse 2'."\n".''."\n".'si le langage n&apos;a pas d&apos;importance.'."\n".' ... '."\n".'Ou, si vous utilisez la localisation:'."\n".'?FR:Quel est le <b>pr&eacute;nom</b> de <b>Claudia</b> Schiffer ?'."\n".'!Claudia'."\n".' ... '."\n".'?EN:What&apos;s <b>Claudia</b> Schiffer&apos;s <b>first name</b>?'."\n".'!Claudia'."\n".'?EN:Question 2'."\n".'!Answer 2'."\n".'### exemple ###'."\n".'';
+
+$MOD_CAPTCHA['VERIFICATION']           = 'V&eacute;rification';
+$MOD_CAPTCHA['ADDITION']               = 'ajout&eacute; &agrave; (+)';
+$MOD_CAPTCHA['SUBTRAKTION']            = 'moins (-)';
+$MOD_CAPTCHA['MULTIPLIKATION']         = 'multipli&eacute; par (x)';
+$MOD_CAPTCHA['VERIFICATION_INFO_RES']  = 'Indiquez le r&eacute;sultat';
+$MOD_CAPTCHA['VERIFICATION_INFO_TEXT'] = 'Remplissez le texte';
+$MOD_CAPTCHA['VERIFICATION_INFO_QUEST'] = 'R&eacute;pondez &agrave; la question';
+$MOD_CAPTCHA['INCORRECT_VERIFICATION'] = 'Erreur de v&eacute;rification';
+
+?>

Property changes on: tags/2.8.2/wb/modules/captcha_control/languages/FR.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/captcha_control/languages/RU.php
===================================================================
--- tags/2.8.2/wb/modules/captcha_control/languages/RU.php	(nonexistent)
+++ tags/2.8.2/wb/modules/captcha_control/languages/RU.php	(revision 1481)
@@ -0,0 +1,61 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project http://www.websitebaker.org/
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  RUSSIAN LANGUAGE FILE FOR THE CAPTCHA-CONTROL ADMIN TOOL
+ -----------------------------------------------------------------------------------------
+*/
+
+// Headings and text outputs
+$MOD_CAPTCHA_CONTROL['HEADING']           = '&#1059;&#1087;&#1088;&#1072;&#1074;&#1083;&#1077;&#1085;&#1080;&#1077; Captcha &#1080; ASP';
+$MOD_CAPTCHA_CONTROL['HOWTO']             = '&#1047;&#1076;&#1077;&#1089;&#1100; &#1074;&#1099; &#1084;&#1086;&#1078;&#1077;&#1090;&#1077; &#1091;&#1087;&#1088;&#1072;&#1074;&#1083;&#1103;&#1090;&#1100; &#1085;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1072;&#1084;&#1080; "CAPTCHA" &#1080; "Advanced Spam Protection" (ASP). &#1044;&#1083;&#1103; &#1090;&#1086;&#1075;&#1086; &#1095;&#1090;&#1086;&#1073;&#1099;  ASP &#1088;&#1072;&#1073;&#1086;&#1090;&#1072;&#1083; &#1074; &#1084;&#1086;&#1076;&#1091;&#1083;&#1103;&#1093;, &#1074;&#1072;&#1084; &#1085;&#1077;&#1086;&#1073;&#1093;&#1086;&#1076;&#1080;&#1084;&#1086; &#1085;&#1072;&#1089;&#1090;&#1088;&#1086;&#1080;&#1090;&#1100; &#1077;&#1075;&#1086; &#1087;&#1086;&#1074;&#1077;&#1076;&#1077;&#1085;&#1080;&#1077; &#1079;&#1076;&#1077;&#1089;&#1100;.';
+
+// Text and captions of form elements
+$MOD_CAPTCHA_CONTROL['CAPTCHA_CONF']      = '&#1053;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080; CAPTCHA';
+$MOD_CAPTCHA_CONTROL['CAPTCHA_TYPE']      = '&#1058;&#1080;&#1087; CAPTCHA';
+$MOD_CAPTCHA_CONTROL['CAPTCHA_EXP']       = '&#1053;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080; CAPTCHA &#1076;&#1083;&#1103; &#1084;&#1086;&#1076;&#1091;&#1083;&#1077;&#1081; &#1085;&#1072;&#1093;&#1086;&#1076;&#1103;&#1090;&#1089;&#1103; &#1074; &#1085;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1072;&#1093; &#1089;&#1086;&#1086;&#1090;&#1074;&#1077;&#1090;&#1089;&#1090;&#1074;&#1091;&#1102;&#1097;&#1077;&#1075;&#1086; &#1084;&#1086;&#1076;&#1091;&#1083;&#1103;';
+$MOD_CAPTCHA_CONTROL['USE_SIGNUP_CAPTCHA']= '&#1048;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1100; CAPTCHA &#1076;&#1083;&#1103; &#1092;&#1086;&#1088;&#1084;&#1099; &#1088;&#1077;&#1075;&#1080;&#1089;&#1090;&#1088;&#1072;&#1094;&#1080;&#1080;';
+$MOD_CAPTCHA_CONTROL['ENABLED']           = '&#1042;&#1082;&#1083;&#1102;&#1095;&#1077;&#1085;&#1086;';
+$MOD_CAPTCHA_CONTROL['DISABLED']          = '&#1042;&#1099;&#1082;&#1083;&#1102;&#1095;&#1077;&#1085;&#1086;';
+$MOD_CAPTCHA_CONTROL['ASP_CONF']          = '&#1053;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080; Advanced Spam Protection';
+$MOD_CAPTCHA_CONTROL['ASP_TEXT']          = '&#1048;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1100; ASP (&#1077;&#1089;&#1083;&#1080; &#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1086;)';
+$MOD_CAPTCHA_CONTROL['ASP_EXP']           = 'ASP &#1087;&#1099;&#1090;&#1072;&#1077;&#1090;&#1089;&#1103; &#1086;&#1087;&#1088;&#1077;&#1076;&#1077;&#1083;&#1080;&#1090;&#1100;, &#1079;&#1072;&#1087;&#1086;&#1083;&#1085;&#1077;&#1085;&#1072; &#1092;&#1086;&#1088;&#1084;&#1072; &#1095;&#1077;&#1083;&#1086;&#1074;&#1077;&#1082;&#1086;&#1084; &#1080;&#1083;&#1080; spam-&#1088;&#1086;&#1073;&#1086;&#1090;&#1086;&#1084;.';
+$MOD_CAPTCHA_CONTROL['CALC_TEXT']         = '&#1042;&#1099;&#1095;&#1080;&#1089;&#1083;&#1077;&#1085;&#1080;&#1103; (&#1090;&#1077;&#1082;&#1089;&#1090;)';
+$MOD_CAPTCHA_CONTROL['CALC_IMAGE']        = '&#1042;&#1099;&#1095;&#1080;&#1089;&#1083;&#1077;&#1085;&#1080;&#1103; (&#1082;&#1072;&#1088;&#1090;&#1080;&#1085;&#1082;&#1072;)';
+$MOD_CAPTCHA_CONTROL['CALC_TTF_IMAGE']    = '&#1042;&#1099;&#1095;&#1080;&#1089;&#1083;&#1077;&#1085;&#1080;&#1103; (&#1082;&#1072;&#1088;&#1090;&#1080;&#1085;&#1082;&#1072; &#1089; &#1088;&#1072;&#1079;&#1083;&#1080;&#1095;&#1085;&#1099;&#1084;&#1080; &#1096;&#1088;&#1080;&#1092;&#1090;&#1072;&#1084;&#1080; &#1080; &#1092;&#1086;&#1085;&#1086;&#1084;)'; 
+$MOD_CAPTCHA_CONTROL['TTF_IMAGE']         = '&#1050;&#1072;&#1088;&#1090;&#1080;&#1085;&#1082;&#1072; &#1089; &#1088;&#1072;&#1079;&#1083;&#1080;&#1095;&#1085;&#1099;&#1084;&#1080; &#1096;&#1088;&#1080;&#1092;&#1090;&#1072;&#1084;&#1080; &#1080; &#1092;&#1086;&#1085;&#1086;&#1084;';
+$MOD_CAPTCHA_CONTROL['OLD_IMAGE']         = '&#1057;&#1090;&#1072;&#1088;&#1099;&#1081; &#1089;&#1090;&#1080;&#1083;&#1100; (&#1085;&#1077; &#1088;&#1077;&#1082;&#1086;&#1084;&#1085;&#1076;&#1091;&#1077;&#1090;&#1100;&#1089;&#1103;)';
+$MOD_CAPTCHA_CONTROL['TEXT']              = '&#1058;&#1077;&#1082;&#1089;&#1090;&#1086;&#1074;&#1072;&#1103; CAPTCHA';
+$MOD_CAPTCHA_CONTROL['CAPTCHA_ENTER_TEXT']= '&#1042;&#1086;&#1087;&#1088;&#1086;&#1089;&#1099; &#1080; &#1054;&#1090;&#1074;&#1077;&#1090;&#1099;';
+$MOD_CAPTCHA_CONTROL['CAPTCHA_TEXT_DESC'] = 'Delete this all to add your own entries'."\n".'or your changes won\'t be saved!'."\n".'### example ###'."\n".'Here you can enter Questions and Answers.'."\n".'Use:'."\n".'?What\'s <b>Claudia</b> Schiffer\'s <b>first name</b>?'."\n".'!Claudia'."\n".'?Question 2'."\n".'!Answer 2'."\n".' ... '."\n".'if language doesn\'t matter.'."\n".''."\n".'Or, if language do matter, use:'."\n".'?EN:What\'s <b>Claudia</b> Schiffer\'s <b>first name</b>?'."\n".'!Claudia'."\n".'?EN:Question 2'."\n".'!Answer 2'."\n".'?DE:Wie ist der <b>Vorname</b> von <b>Claudia</b> Schiffer?'."\n".'!Claudia'."\n".' ... '."\n".'### example ###'."\n".'';
+
+$MOD_CAPTCHA['VERIFICATION']           = '&#1055;&#1088;&#1086;&#1074;&#1077;&#1088;&#1082;&#1072;';
+$MOD_CAPTCHA['ADDITION']               = '&#1087;&#1083;&#1102;&#1089;';
+$MOD_CAPTCHA['SUBTRAKTION']            = '&#1084;&#1080;&#1085;&#1091;&#1089;';
+$MOD_CAPTCHA['MULTIPLIKATION']         = '&#1091;&#1084;&#1085;&#1086;&#1078;&#1080;&#1090;&#1100; &#1085;&#1072;';
+$MOD_CAPTCHA['VERIFICATION_INFO_RES']  = '&#1059;&#1082;&#1072;&#1078;&#1080;&#1090;&#1077; &#1088;&#1077;&#1079;&#1091;&#1083;&#1100;&#1090;&#1072;&#1090;';
+$MOD_CAPTCHA['VERIFICATION_INFO_TEXT'] = '&#1059;&#1082;&#1072;&#1078;&#1080;&#1090;&#1077; &#1090;&#1077;&#1082;&#1089;&#1090;';
+$MOD_CAPTCHA['VERIFICATION_INFO_QUEST'] = '&#1054;&#1090;&#1074;&#1077;&#1090;&#1100;&#1090;&#1077; &#1085;&#1072; &#1074;&#1086;&#1087;&#1088;&#1086;&#1089;';
+$MOD_CAPTCHA['INCORRECT_VERIFICATION'] = '&#1054;&#1096;&#1080;&#1073;&#1082;&#1072; &#1074;&#1077;&#1088;&#1080;&#1092;&#1080;&#1082;&#1072;&#1094;&#1080;&#1080;';
+
+?>

Property changes on: tags/2.8.2/wb/modules/captcha_control/languages/RU.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/captcha_control/languages/index.php
===================================================================
--- tags/2.8.2/wb/modules/captcha_control/languages/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/captcha_control/languages/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/captcha_control/languages/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/captcha_control/install.php
===================================================================
--- tags/2.8.2/wb/modules/captcha_control/install.php	(nonexistent)
+++ tags/2.8.2/wb/modules/captcha_control/install.php	(revision 1481)
@@ -0,0 +1,51 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// prevent this file from being accessed directly
+if(!defined('WB_PATH')) { exit('Cannot access this file directly'); }
+
+$table = TABLE_PREFIX.'mod_captcha_control';
+$database->query("DROP TABLE IF EXISTS `$table`");
+
+$database->query("CREATE TABLE `$table` (
+	`enabled_captcha` VARCHAR(1) NOT NULL DEFAULT '1',
+	`enabled_asp` VARCHAR(1) NOT NULL DEFAULT '0',
+	`captcha_type` VARCHAR(255) NOT NULL DEFAULT 'calc_text',
+	`asp_session_min_age` INT(11) NOT NULL DEFAULT '20',
+	`asp_view_min_age` INT(11) NOT NULL DEFAULT '10',
+	`asp_input_min_age` INT(11) NOT NULL DEFAULT '5',
+	`ct_text` LONGTEXT NOT NULL
+	)"
+);
+
+// add new row using the table default values defined above
+$database->query("
+	INSERT INTO `$table`
+		(`enabled_captcha`, `enabled_asp`, `captcha_type`)
+	VALUES
+		('1', '1', 'calc_text')
+");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/captcha_control/install.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/captcha_control/uninstall.php
===================================================================
--- tags/2.8.2/wb/modules/captcha_control/uninstall.php	(nonexistent)
+++ tags/2.8.2/wb/modules/captcha_control/uninstall.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// prevent this file from being accessed directly
+if(!defined('WB_PATH')) { exit('Cannot access this file directly'); }
+
+$table = TABLE_PREFIX .'mod_captcha_control';
+$database->query("DROP TABLE `$table`");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/captcha_control/uninstall.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/captcha_control/index.php
===================================================================
--- tags/2.8.2/wb/modules/captcha_control/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/captcha_control/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/captcha_control/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/form/info.php
===================================================================
--- tags/2.8.2/wb/modules/form/info.php	(nonexistent)
+++ tags/2.8.2/wb/modules/form/info.php	(revision 1481)
@@ -0,0 +1,41 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+/*
+The Website Baker Project would like to thank Rudolph Lartey <www.carbonect.com>
+for his contributions to this module - adding extra field types
+*/
+
+$module_directory = 'form';
+$module_name = 'Form';
+$module_function = 'page';
+$module_version = '2.7';
+$module_platform = '2.7 | 2.8.x';
+$module_author = 'Ryan Djurovich & Rudolph Lartey - additions John Maats - PCWacht';
+$module_license = 'GNU General Public License';
+$module_description = 'This module allows you to create customised online forms, such as a feedback form. '.
+'Thank-you to Rudolph Lartey who help enhance this module, providing code for extra field types, etc.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/form/info.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/form/install.php
===================================================================
--- tags/2.8.2/wb/modules/form/install.php	(nonexistent)
+++ tags/2.8.2/wb/modules/form/install.php	(revision 1481)
@@ -0,0 +1,107 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         form
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version      	$Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+if(defined('WB_URL'))
+{
+		
+	// $database->query("DROP TABLE IF EXISTS `".TABLE_PREFIX."mod_form_fields`");
+	// $database->query("DROP TABLE IF EXISTS `".TABLE_PREFIX."mod_form_submissions`");
+	// $database->query("DROP TABLE IF EXISTS `".TABLE_PREFIX."mod_form_settings`");
+
+	// Create tables
+	$mod_form = 'CREATE TABLE IF NOT EXISTS `'.TABLE_PREFIX.'mod_form_fields` ( `field_id` INT NOT NULL AUTO_INCREMENT,'
+		. ' `section_id` INT NOT NULL DEFAULT \'0\' ,'
+		. ' `page_id` INT NOT NULL DEFAULT \'0\' ,'
+		. ' `position` INT NOT NULL DEFAULT \'0\' ,'
+		. ' `title` VARCHAR(255) NOT NULL DEFAULT \'\' ,'
+		. ' `type` VARCHAR(255) NOT NULL DEFAULT \'\' ,'
+		. ' `required` INT NOT NULL DEFAULT \'0\' ,'
+		. ' `value` TEXT NOT NULL ,'
+		. ' `extra` TEXT NOT NULL ,'
+		. ' PRIMARY KEY ( `field_id` ) '
+		. ' )';
+	$database->query($mod_form);
+
+	$mod_form = 'CREATE TABLE IF NOT EXISTS `'.TABLE_PREFIX.'mod_form_settings` ('
+		. ' `section_id` INT NOT NULL DEFAULT \'0\' ,'
+		. ' `page_id` INT NOT NULL DEFAULT \'0\' ,'
+		. ' `header` TEXT NOT NULL ,'
+		. ' `field_loop` TEXT NOT NULL ,'
+		. ' `footer` TEXT NOT NULL ,'
+		. ' `email_to` TEXT NOT NULL ,'
+		. ' `email_from` VARCHAR(255) NOT NULL DEFAULT \'\' ,'
+		. ' `email_fromname` VARCHAR(255) NOT NULL DEFAULT \'\' ,'
+		. ' `email_subject` VARCHAR(255) NOT NULL DEFAULT \'\' ,'
+		. ' `success_page` TEXT NOT NULL ,'
+		. ' `success_email_to` TEXT NOT NULL ,'
+		. ' `success_email_from` VARCHAR(255) NOT NULL DEFAULT \'\' ,'
+		. ' `success_email_fromname` VARCHAR(255) NOT NULL DEFAULT \'\' ,'
+		. ' `success_email_text` TEXT NOT NULL ,'
+		. ' `success_email_subject` VARCHAR(255) NOT NULL DEFAULT \'\' ,'
+		. ' `stored_submissions` INT NOT NULL DEFAULT \'0\' ,'
+		. ' `max_submissions` INT NOT NULL DEFAULT \'0\' ,'
+		. ' `use_captcha` INT NOT NULL DEFAULT \'0\' ,'
+		. ' PRIMARY KEY ( `section_id` ) '
+		. ' )';
+	$database->query($mod_form);
+	
+	$mod_form = 'CREATE TABLE IF NOT EXISTS `'.TABLE_PREFIX.'mod_form_submissions` ( `submission_id` INT NOT NULL AUTO_INCREMENT,'
+		. ' `section_id` INT NOT NULL DEFAULT \'0\' ,'
+		. ' `page_id` INT NOT NULL DEFAULT \'0\' ,'
+		. ' `submitted_when` INT NOT NULL DEFAULT \'0\' ,'
+		. ' `submitted_by` INT NOT NULL DEFAULT \'0\','
+		. ' `body` TEXT NOT NULL,'
+		. ' PRIMARY KEY ( `submission_id` ) '
+		. ' )';
+	$database->query($mod_form);
+		
+    $mod_search = "SELECT * FROM ".TABLE_PREFIX."search  WHERE value = 'form'";
+    $insert_search = $database->query($mod_search);
+    if( $insert_search->numRows() == 0 )
+    {
+    	// Insert info into the search table
+    	// Module query info
+    	$field_info = array();
+    	$field_info['page_id'] = 'page_id';
+    	$field_info['title'] = 'page_title';
+    	$field_info['link'] = 'link';
+    	$field_info['description'] = 'description';
+    	$field_info['modified_when'] = 'modified_when';
+    	$field_info['modified_by'] = 'modified_by';
+    	$field_info = serialize($field_info);
+    	$database->query("INSERT INTO ".TABLE_PREFIX."search (name,value,extra) VALUES ('module', 'form', '$field_info')");
+    	// Query start
+    	$query_start_code = "SELECT [TP]pages.page_id, [TP]pages.page_title,	[TP]pages.link, [TP]pages.description, [TP]pages.modified_when, [TP]pages.modified_by	FROM [TP]mod_form_fields, [TP]mod_form_settings, [TP]pages WHERE ";
+    	$database->query("INSERT INTO ".TABLE_PREFIX."search (name,value,extra) VALUES ('query_start', '$query_start_code', 'form')");
+    	// Query body
+    	$query_body_code = " [TP]pages.page_id = [TP]mod_form_settings.page_id AND [TP]mod_form_settings.header LIKE \'%[STRING]%\'
+    	OR [TP]pages.page_id = [TP]mod_form_settings.page_id AND [TP]mod_form_settings.footer LIKE \'%[STRING]%\'
+    	OR [TP]pages.page_id = [TP]mod_form_fields.page_id AND [TP]mod_form_fields.title LIKE \'%[STRING]%\' ";
+    	$database->query("INSERT INTO ".TABLE_PREFIX."search (name,value,extra) VALUES ('query_body', '$query_body_code', 'form')");
+    	// Query end
+    	$query_end_code = "";
+    	$database->query("INSERT INTO ".TABLE_PREFIX."search (name,value,extra) VALUES ('query_end', '$query_end_code', 'form')");
+
+    	// Insert blank row (there needs to be at least on row for the search to work)
+    	$database->query("INSERT INTO ".TABLE_PREFIX."mod_form_fields (page_id,section_id) VALUES ('0','0')");
+    	$database->query("INSERT INTO ".TABLE_PREFIX."mod_form_settings (page_id,section_id) VALUES ('0','0')");
+
+    }
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/form/install.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/form/view.php
===================================================================
--- tags/2.8.2/wb/modules/form/view.php	(nonexistent)
+++ tags/2.8.2/wb/modules/form/view.php	(revision 1481)
@@ -0,0 +1,494 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ * @category   frontend
+ * @package    outputfilter
+ * @author(s)  Dietmar Wöllbrink <Luisehahne>, Dietrich Roland Pehlke <Aldus>
+ * @platform   WB 2.8.0
+ * @require    PHP 5.2.x
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @link       http://project.websitebaker2.org/browser/branches/2.8.x/wb/modules/form/view.php
+ * @changeset   2009/12/03 comment out ob_end_flush line 259
+*/
+
+/*
+The Website Baker Project would like to thank Rudolph Lartey <www.carbonect.com>
+for his contributions to this module - adding extra field types
+*/
+
+// Must include code to stop this file being access directly
+if(defined('WB_PATH') == false) { exit("Cannot access this file directly"); }
+
+// check if frontend.css file needs to be included into the <body></body> of view.php
+if((!function_exists('register_frontend_modfiles') || !defined('MOD_FRONTEND_CSS_REGISTERED')) &&
+	file_exists(WB_PATH .'/modules/form/frontend.css')) {
+	echo '<style type="text/css">';
+	include(WB_PATH .'/modules/form/frontend.css');
+	echo "\n</style>\n";
+} 
+
+require_once(WB_PATH.'/include/captcha/captcha.php');
+
+// obtain the settings of the output filter module
+if(file_exists(WB_PATH.'/modules/output_filter/filter-routines.php')) {
+	include_once(WB_PATH.'/modules/output_filter/filter-routines.php');
+	$filter_settings = get_output_filter_settings();
+} else {
+	// no output filter used, define default settings
+	$filter_settings['email_filter'] = 0;
+}
+
+// Function for generating an optionsfor a select field
+if (!function_exists('make_option')) {
+function make_option(&$n, $k, $values) {
+	// start option group if it exists
+	if (substr($n,0,2) == '[=') {
+	 	$n = '<optgroup label="'.substr($n,2,strlen($n)).'">';
+	} elseif ($n == ']') {
+		$n = '</optgroup>';
+	} else {
+		if(in_array($n, $values)) {
+			$n = '<option selected="selected" value="'.$n.'">'.$n.'</option>';
+		} else {
+			$n = '<option value="'.$n.'">'.$n.'</option>';
+		}
+	}
+}
+}
+// Function for generating a checkbox
+if (!function_exists('make_checkbox')) {
+function make_checkbox(&$n, $idx, $params) {
+	$field_id = $params[0][0];
+	$seperator = $params[0][1];
+	$label_id = 'wb_'.str_replace(" ", "_", $n);
+	if(in_array($n, $params[1])) {
+		$n = '<input class="field_checkbox" type="checkbox" id="'.$label_id.'" name="field'.$field_id.'['.$idx.']" value="'.$n.'" checked="checked" />'.'<label for="'.$label_id.'" class="checkbox_label">'.$n.'</lable>'.$seperator;
+	} else {
+		$n = '<input class="field_checkbox" type="checkbox" id="'.$label_id.'" name="field'.$field_id.'['.$idx.']" value="'.$n.'" />'.'<label for="'.$label_id.'" class="checkbox_label">'.$n.'</label>'.$seperator;
+	}	
+}
+}
+// Function for generating a radio button
+if (!function_exists('make_radio')) {
+function make_radio(&$n, $idx, $params) {
+	$field_id = $params[0];
+	$group = $params[1];
+	$seperator = $params[2];
+	$label_id = 'wb_'.str_replace(" ", "_", $n);
+	if($n == $params[3]) { 
+		$n = '<input class="field_radio" type="radio" id="'.$label_id.'" name="field'.$field_id.'" value="'.$n.'" checked="checked" />'.'<label for="'.$label_id.'" class="radio_label">'.$n.'</label>'.$seperator;
+	} else {
+		$n = '<input class="field_radio" type="radio" id="'.$label_id.'" name="field'.$field_id.'" value="'.$n.'" />'.'<label for="'.$label_id.'" class="radio_label">'.$n.'</label>'.$seperator;
+	}
+}
+}
+
+if (!function_exists("new_submission_id") ) {
+	function new_submission_id() {
+		$submission_id = '';
+		$salt = "abchefghjkmnpqrstuvwxyz0123456789";
+		srand((double)microtime()*1000000);
+		$i = 0;
+		while ($i <= 7) {
+			$num = rand() % 33;
+			$tmp = substr($salt, $num, 1);
+			$submission_id = $submission_id . $tmp;
+			$i++;
+		}
+		return $submission_id;
+	}
+}
+
+// Work-out if the form has been submitted or not
+if($_POST == array()) {
+
+// Set new submission ID in session
+$_SESSION['form_submission_id'] = new_submission_id();
+
+// Get settings
+$query_settings = $database->query("SELECT header,field_loop,footer,use_captcha FROM ".TABLE_PREFIX."mod_form_settings WHERE section_id = '$section_id'");
+if($query_settings->numRows() > 0) {
+	$fetch_settings = $query_settings->fetchRow();
+	$header = str_replace('{WB_URL}',WB_URL,$fetch_settings['header']);
+	$field_loop = $fetch_settings['field_loop'];
+	$footer = str_replace('{WB_URL}',WB_URL,$fetch_settings['footer']);
+	$use_captcha = $fetch_settings['use_captcha'];
+	$form_name = 'form';
+	$use_xhtml_strict = false;
+} else {
+	$header = '';
+	$field_loop = '';
+	$footer = '';
+	$form_name = 'form';
+	$use_xhtml_strict = false;
+}
+
+?>
+<form <?php echo ( ( (strlen($form_name) > 0) AND (false == $use_xhtml_strict) ) ? "name=\"".$form_name."\"" : ""); ?> action="<?php echo htmlspecialchars(strip_tags($_SERVER['PHP_SELF'])); ?>#wb_<?PHP echo $section_id;?>" method="post">
+<div>
+<input type="hidden" name="submission_id" value="<?php echo $_SESSION['form_submission_id']; ?>" />
+</div>
+<?php
+if(ENABLED_ASP) { // first add some honeypot-fields
+?>
+<div>
+<input type="hidden" name="submitted_when" value="<?php $t=time(); echo $t; $_SESSION['submitted_when']=$t; ?>" />
+</div>
+<p class="nixhier">
+email address:
+<label for="email">Leave this field email-address blank:</label>
+<input id="email" name="email" size="56" value="" /><br />
+Homepage:
+<label for="homepage">Leave this field homepage blank:</label>
+<input id="homepage" name="homepage" size="55" value="" /><br />
+URL:
+<label for="url">Leave this field url blank:</label>
+<input id="url" name="url" size="61" value="" /><br />
+Comment:
+<label for="comment">Leave this field comment blank:</label>
+<textarea id="comment" name="comment" cols="50" rows="10"></textarea><br />
+</p>
+
+<?php }
+
+// Print header
+echo $header;
+
+// Get list of fields
+$query_fields = $database->query("SELECT * FROM ".TABLE_PREFIX."mod_form_fields WHERE section_id = '$section_id' ORDER BY position ASC");
+
+if($query_fields->numRows() > 0) {
+	while($field = $query_fields->fetchRow()) {
+		// Set field values
+		$field_id = $field['field_id'];
+		$value = $field['value'];
+		// Print field_loop after replacing vars with values
+		$vars = array('{TITLE}', '{REQUIRED}');
+		if (($field['type'] == "radio") || ($field['type'] == "checkbox")) {
+			$field_title = $field['title'];
+		} else {
+			$field_title = '<label for="field'.$field_id.'">'.$field['title'].'</label>';
+		}
+		$values = array($field_title);
+		if ($field['required'] == 1) {
+			$values[] = '<span class="required">*</span>';
+		} else {
+			$values[] = '';
+		}
+		if($field['type'] == 'textfield') {
+			$vars[] = '{FIELD}';
+			$values[] = '<input type="text" name="field'.$field_id.'" id="field'.$field_id.'" maxlength="'.$field['extra'].'" value="'.(isset($_SESSION['field'.$field_id])?$_SESSION['field'.$field_id]:$value).'" class="textfield" />';
+		} elseif($field['type'] == 'textarea') {
+			$vars[] = '{FIELD}';
+			$values[] = '<textarea name="field'.$field_id.'" id="field'.$field_id.'" class="textarea" cols="25" rows="5">'.(isset($_SESSION['field'.$field_id])?$_SESSION['field'.$field_id]:$value).'</textarea>';
+		} elseif($field['type'] == 'select') {
+			$vars[] = '{FIELD}';
+			$options = explode(',', $value);
+			array_walk($options, 'make_option', (isset($_SESSION['field'.$field_id])?$_SESSION['field'.$field_id]:array()));
+			$field['extra'] = explode(',',$field['extra']);
+			$values[] = '<select name="field'.$field_id.'[]" id="field'.$field_id.'" size="'.$field['extra'][0].'" '.$field['extra'][1].' class="select">'.implode($options).'</select>';		
+		} elseif($field['type'] == 'heading') {
+			$vars[] = '{FIELD}';
+			$str = '<input type="hidden" name="field'.$field_id.'" id="field'.$field_id.'" value="===['.$field['title'].']===" />';
+			$values[] = ( true == $use_xhtml_strict) ? "<div>".$str."</div>" : $str;
+			$tmp_field_loop = $field_loop;		// temporarily modify the field loop template
+			$field_loop = $field['extra'];
+		} elseif($field['type'] == 'checkbox') {
+			$vars[] = '{FIELD}';
+			$options = explode(',', $value);
+			array_walk($options, 'make_checkbox', array(array($field_id,$field['extra']),(isset($_SESSION['field'.$field_id])?$_SESSION['field'.$field_id]:array())));
+			$options[count($options)-1]=substr($options[count($options)-1],0,strlen($options[count($options)-1])-strlen($field['extra']));
+			$values[] = implode($options);
+		} elseif($field['type'] == 'radio') {
+			$vars[] = '{FIELD}';
+			$options = explode(',', $value);
+			array_walk($options, 'make_radio', array($field_id,$field['title'],$field['extra'], (isset($_SESSION['field'.$field_id])?$_SESSION['field'.$field_id]:'')));
+			$options[count($options)-1]=substr($options[count($options)-1],0,strlen($options[count($options)-1])-strlen($field['extra']));
+			$values[] = implode($options);
+		} elseif($field['type'] == 'email') {
+			$vars[] = '{FIELD}';
+			$values[] = '<input type="text" name="field'.$field_id.'" id="field'.$field_id.'" value="'.(isset($_SESSION['field'.$field_id])?$_SESSION['field'.$field_id]:'').'" maxlength="'.$field['extra'].'" class="email" />';
+		}
+		if(isset($_SESSION['field'.$field_id])) unset($_SESSION['field'.$field_id]);
+		if($field['type'] != '') {
+			echo str_replace($vars, $values, $field_loop);
+		}
+		if (isset($tmp_field_loop)) $field_loop = $tmp_field_loop;
+	}
+}
+
+// Captcha
+if($use_captcha) { ?>
+	<tr>
+	<td class="field_title"><?php echo $TEXT['VERIFICATION']; ?>:</td>
+	<td><?php call_captcha(); ?></td>
+	</tr>
+	<?php
+}
+
+// Print footer
+echo $footer;
+
+/**
+	NOTE: comment out the line ob_end_flush() if you indicate problems (e.g. when using ob_start in the index.php of your template)
+	With ob_end_flush(): output filter will be disabled for this page (and all sections embedded on this page)
+	Without ob_end_flush(): emails are rewritten (e.g. name@domain.com --> name(at)domain(dot)com) if output filter is enabled
+	All replacements made by the Output-Filter module will be reverted before the email is send out
+*/
+if($filter_settings['email_filter'] && !($filter_settings['at_replacement']=='@' && $filter_settings['dot_replacement']=='.')) {
+  /* 	ob_end_flush(); */
+}
+
+// Add form end code
+?>
+</form>
+<?php
+
+} else {
+
+	// Check that submission ID matches
+	if(isset($_SESSION['form_submission_id']) AND isset($_POST['submission_id']) AND $_SESSION['form_submission_id'] == $_POST['submission_id']) {
+		
+		// Set new submission ID in session
+		$_SESSION['form_submission_id'] = new_submission_id();
+		
+		if(ENABLED_ASP && ( // form faked? Check the honeypot-fields.
+			(!isset($_POST['submitted_when']) OR !isset($_SESSION['submitted_when'])) OR 
+			($_POST['submitted_when'] != $_SESSION['submitted_when']) OR
+			(!isset($_POST['email']) OR $_POST['email']) OR
+			(!isset($_POST['homepage']) OR $_POST['homepage']) OR
+			(!isset($_POST['comment']) OR $_POST['comment']) OR
+			(!isset($_POST['url']) OR $_POST['url'])
+		)) {
+			exit(header("Location: ".WB_URL.PAGES_DIRECTORY.""));
+		}
+
+		// Submit form data
+		// First start message settings
+		$query_settings = $database->query("SELECT * FROM ".TABLE_PREFIX."mod_form_settings WHERE section_id = '$section_id'");
+		if($query_settings->numRows() > 0) {
+			$fetch_settings = $query_settings->fetchRow();
+			$email_to = $fetch_settings['email_to'];
+			$email_from = $fetch_settings['email_from'];
+			if(substr($email_from, 0, 5) == 'field') {
+				// Set the email from field to what the user entered in the specified field
+				$email_from = htmlspecialchars($wb->add_slashes($_POST[$email_from]));
+			}
+			$email_fromname = $fetch_settings['email_fromname'];
+			$email_subject = $fetch_settings['email_subject'];
+			$success_page = $fetch_settings['success_page'];
+			$success_email_to = $fetch_settings['success_email_to'];
+			if(substr($success_email_to, 0, 5) == 'field') {
+				// Set the success_email to field to what the user entered in the specified field
+				$success_email_to = htmlspecialchars($wb->add_slashes($_POST[$success_email_to]));
+			}
+			$success_email_from = $fetch_settings['success_email_from'];
+			$success_email_fromname = $fetch_settings['success_email_fromname'];
+			$success_email_text = $fetch_settings['success_email_text'];
+			$success_email_subject = $fetch_settings['success_email_subject'];		
+			$max_submissions = $fetch_settings['max_submissions'];
+			$stored_submissions = $fetch_settings['stored_submissions'];
+			$use_captcha = $fetch_settings['use_captcha'];
+		} else {
+			exit($TEXT['UNDER_CONSTRUCTION']);
+		}
+		$email_body = '';
+		
+		// Create blank "required" array
+		$required = array();
+		
+		// Captcha
+		if($use_captcha) {
+			if(isset($_POST['captcha']) AND $_POST['captcha'] != ''){
+				// Check for a mismatch
+				if(!isset($_POST['captcha']) OR !isset($_SESSION['captcha']) OR $_POST['captcha'] != $_SESSION['captcha']) {
+					$captcha_error = $MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA'];
+				}
+			} else {
+				$captcha_error = $MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA'];
+			}
+		}
+		if(isset($_SESSION['captcha'])) { unset($_SESSION['captcha']); }
+
+		// Loop through fields and add to message body
+		// Get list of fields
+		$query_fields = $database->query("SELECT * FROM ".TABLE_PREFIX."mod_form_fields WHERE section_id = '$section_id' ORDER BY position ASC");
+		if($query_fields->numRows() > 0) {
+			while($field = $query_fields->fetchRow()) {
+				// Add to message body
+				if($field['type'] != '') {
+					if(!empty($_POST['field'.$field['field_id']])) {
+						if (is_array($_POST['field'.$field['field_id']])) {
+							$_SESSION['field'.$field['field_id']] = $_POST['field'.$field['field_id']];
+						} else {
+							$_SESSION['field'.$field['field_id']] = htmlspecialchars($_POST['field'.$field['field_id']]);
+						}
+						// if the output filter is active, we need to revert (dot) to . and (at) to @ (using current filter settings)
+						// otherwise the entered mail will not be accepted and the recipient would see (dot), (at) etc.
+						if ($filter_settings['email_filter']) {
+							$field_value = $_POST['field'.$field['field_id']];
+							$field_value = str_replace($filter_settings['at_replacement'], '@', $field_value);
+							$field_value = str_replace($filter_settings['dot_replacement'], '.', $field_value);
+							$_POST['field'.$field['field_id']] = $field_value;
+						}
+						if($field['type'] == 'email' AND $admin->validate_email($_POST['field'.$field['field_id']]) == false) {
+							$email_error = $MESSAGE['USERS']['INVALID_EMAIL'];
+						}
+						if($field['type'] == 'heading') {
+							$email_body .= $_POST['field'.$field['field_id']]."\n\n";
+						} elseif (!is_array($_POST['field'.$field['field_id']])) {
+							$email_body .= $field['title'].': '.$_POST['field'.$field['field_id']]."\n\n";
+						} else {
+							$email_body .= $field['title'].": \n";
+							foreach ($_POST['field'.$field['field_id']] as $k=>$v) {
+								$email_body .= $v."\n";
+							}
+							$email_body .= "\n";
+						}
+					} elseif($field['required'] == 1) {
+						$required[] = $field['title'];
+					}
+				}
+			}
+		}
+	
+		// Check if the user forgot to enter values into all the required fields
+		if($required != array()) {
+			if(!isset($MESSAGE['MOD_FORM']['REQUIRED_FIELDS'])) {
+				echo 'You must enter details for the following fields';
+			} else {
+				echo $MESSAGE['MOD_FORM']['REQUIRED_FIELDS'];
+			}
+			echo ':<br /><ul>';
+			foreach($required AS $field_title) {
+				echo '<li>'.$field_title;
+			}
+			if(isset($email_error)) {
+				echo '<li>'.$email_error.'</li>';
+			}
+			if(isset($captcha_error)) {
+				echo '<li>'.$captcha_error.'</li>';
+			}
+			echo '</ul><a href="'.htmlspecialchars(strip_tags($_SERVER['PHP_SELF'])).'">'.$TEXT['BACK'].'</a>';
+		} else {
+			if(isset($email_error)) {
+				echo '<br /><ul>';
+				echo '<li>'.$email_error.'</li>';
+				echo '</ul><a href="'.htmlspecialchars(strip_tags($_SERVER['PHP_SELF'])).'">'.$TEXT['BACK'].'</a>';
+			} elseif(isset($captcha_error)) {
+				echo '<br /><ul>';
+				echo '<li>'.$captcha_error.'</li>';
+				echo '</ul><a href="'.htmlspecialchars(strip_tags($_SERVER['PHP_SELF'])).'">'.$TEXT['BACK'].'</a>';
+			} else {
+				// Check how many times form has been submitted in last hour
+				$last_hour = time()-3600;
+				$query_submissions = $database->query("SELECT submission_id FROM ".TABLE_PREFIX."mod_form_submissions WHERE submitted_when >= '$last_hour'");
+				if($query_submissions->numRows() > $max_submissions) {
+					// Too many submissions so far this hour
+					echo $MESSAGE['MOD_FORM']['EXCESS_SUBMISSIONS'];
+					$success = false;
+				} else {
+					/**	
+					 *	Adding the IP to the body and try to send the email
+					 */
+					$email_body .= "\n\nIP: ".$_SERVER['REMOTE_ADDR'];
+					
+					if($email_to != '') {
+						if($email_from != '') {
+							if($wb->mail($email_from,$email_to,$email_subject,$email_body,$email_fromname)) {
+								$success = true;
+							}
+						} else {
+							if($wb->mail('',$email_to,$email_subject,$email_body,$email_fromname)) { 
+								$success = true; 
+							}
+						}
+					}				
+					if($success_email_to != '') {
+						if($success_email_from != '') {
+							if($wb->mail($success_email_from,$success_email_to,$success_email_subject,$success_email_text,$success_email_fromname)) {
+								$success = true;
+							}
+						} else {
+							if($wb->mail('',$success_email_to,$success_email_subject,$success_email_text,$success_email_fromname)) {
+								$success = true;
+							}
+						}
+					}				
+			
+					// Write submission to database
+					if(isset($admin) AND $admin->is_authenticated() AND $admin->get_user_id() > 0) {
+						$submitted_by = $admin->get_user_id();
+					} else {
+						$submitted_by = 0;
+					}
+					$email_body = $wb->add_slashes($email_body);
+					$database->query("INSERT INTO ".TABLE_PREFIX."mod_form_submissions (page_id,section_id,submitted_when,submitted_by,body) VALUES ('".PAGE_ID."','$section_id','".time()."','$submitted_by','$email_body')");
+					// Make sure submissions table isn't too full
+					$query_submissions = $database->query("SELECT submission_id FROM ".TABLE_PREFIX."mod_form_submissions ORDER BY submitted_when");
+					$num_submissions = $query_submissions->numRows();
+					if($num_submissions > $stored_submissions) {
+						// Remove excess submission
+						$num_to_remove = $num_submissions-$stored_submissions;
+						while($submission = $query_submissions->fetchRow()) {
+							if($num_to_remove > 0) {
+								$submission_id = $submission['submission_id'];
+								$database->query("DELETE FROM ".TABLE_PREFIX."mod_form_submissions WHERE submission_id = '$submission_id'");
+								$num_to_remove = $num_to_remove-1;
+							}
+						}
+					}
+					if(!$database->is_error()) {
+						$success = true;
+					}
+				}
+			}	
+		}
+	}
+	
+	// Now check if the email was sent successfully
+	if(isset($success) AND $success == true) {
+	   if ($success_page=='none') {
+			echo str_replace("\n","<br />",$success_email_text);
+  		} else {
+			$query_menu = $database->query("SELECT link,target FROM ".TABLE_PREFIX."pages WHERE `page_id` = '$success_page'");
+			if($query_menu->numRows() > 0) {
+  	        	$fetch_settings = $query_menu->fetchRow();
+			   $link = WB_URL.PAGES_DIRECTORY.$fetch_settings['link'].PAGE_EXTENSION;
+			   echo "<script type='text/javascript'>location.href='".$link."';</script>";
+			}    
+		}
+		// clearing session on success
+		$query_fields = $database->query("SELECT field_id FROM ".TABLE_PREFIX."mod_form_fields WHERE section_id = '$section_id'");
+		while($field = $query_fields->fetchRow()) {
+			$field_id = $field[0];
+			if(isset($_SESSION['field'.$field_id])) unset($_SESSION['field'.$field_id]);
+		}
+	} else {
+		if(isset($success) AND $success == false) {
+			echo $TEXT['ERROR'];
+		}
+	}
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/form/view.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/form/modify_field.php
===================================================================
--- tags/2.8.2/wb/modules/form/modify_field.php	(nonexistent)
+++ tags/2.8.2/wb/modules/form/modify_field.php	(revision 1481)
@@ -0,0 +1,229 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+/*
+The Website Baker Project would like to thank Rudolph Lartey <www.carbonect.com>
+for his contributions to this module - adding extra field types
+*/
+
+require('../../config.php');
+
+// Get id
+if(!isset($_GET['field_id']) OR !is_numeric($_GET['field_id'])) {
+	header("Location: ".ADMIN_URL."/pages/index.php");
+	exit(0);
+} else {
+	$field_id = $_GET['field_id'];
+}
+
+// Include WB admin wrapper script
+require(WB_PATH.'/modules/admin.php');
+
+// Get header and footer
+$query_content = $database->query("SELECT * FROM ".TABLE_PREFIX."mod_form_fields WHERE field_id = '$field_id'");
+$form = $query_content->fetchRow();
+$type = $form['type'];
+if($type == '') {
+	$type = 'none';
+}
+
+// Set raw html <'s and >'s to be replaced by friendly html code
+$raw = array('<', '>');
+$friendly = array('&lt;', '&gt;');
+?>
+
+<form name="modify" action="<?php echo WB_URL; ?>/modules/form/save_field.php" method="post" style="margin: 0;">
+
+<input type="hidden" name="section_id" value="<?php echo $section_id; ?>" />
+<input type="hidden" name="page_id" value="<?php echo $page_id; ?>" />
+<input type="hidden" name="field_id" value="<?php echo $field_id; ?>" />
+
+<table class="row_a" cellpadding="2" cellspacing="0" border="0" width="100%">
+	<tr>
+		<td colspan="2"><strong><?php echo $TEXT['MODIFY'].' '.$TEXT['FIELD']; ?></strong></td>
+	</tr>
+	<tr>
+		<td width="20%"><?php echo $TEXT['TITLE']; ?>:</td>
+		<td>
+			<input type="text" name="title" value="<?php echo htmlspecialchars(($form['title'])); ?>" style="width: 98%;" maxlength="255" />
+		</td>
+	</tr>
+	<tr>
+		<td><?php echo $TEXT['TYPE']; ?>:</td>
+		<td>
+			<select name="type" style="width: 98%;">
+				<option value=""><?php echo $TEXT['PLEASE_SELECT']; ?>...</option>
+				<option value="heading"<?php if($type == 'heading') { echo ' selected="selected"'; } ?>><?php echo $TEXT['HEADING']; ?></option>
+				<option value="textfield"<?php if($type == 'textfield') { echo ' selected="selected"'; } ?>><?php echo $TEXT['SHORT'].' '.$TEXT['TEXT']; ?> (Textfield)</option>
+				<option value="textarea"<?php if($type == 'textarea') { echo ' selected="selected"'; } ?>><?php echo $TEXT['LONG'].' '.$TEXT['TEXT']; ?> (Textarea)</option>
+				<option value="select"<?php if($type == 'select') { echo ' selected="selected"'; } ?>><?php echo $TEXT['SELECT_BOX']; ?></option>
+				<option value="checkbox"<?php if($type == 'checkbox') { echo ' selected="selected"'; } ?>><?php echo $TEXT['CHECKBOX_GROUP']; ?></option>
+				<option value="radio"<?php if($type == 'radio') { echo ' selected="selected"'; } ?>><?php echo $TEXT['RADIO_BUTTON_GROUP']; ?></option>
+				<option value="email"<?php if($type == 'email') { echo ' selected="selected"'; } ?>><?php echo $TEXT['EMAIL_ADDRESS']; ?></option>
+			</select>
+		</td>
+	</tr>
+<?php if($type != 'none' AND $type != 'email') { ?>
+	<?php if($type == 'heading') { ?>
+	<tr>
+		<td valign="top"><?php echo $TEXT['TEMPLATE']; ?>:</td>
+		<td>
+			<textarea name="template" style="width: 98%; height: 20px;"><?php echo htmlspecialchars(($form['extra'])); ?></textarea>
+		</td>
+	</tr>
+	<?php } elseif($type == 'textfield') { ?>
+	<tr>
+		<td><?php echo $TEXT['LENGTH']; ?>:</td>
+		<td>
+			<input type="text" name="length" value="<?php echo $form['extra']; ?>" style="width: 98%;" maxlength="3" />
+		</td>
+	</tr>
+	<tr>
+		<td><?php echo $TEXT['DEFAULT_TEXT']; ?>:</td>
+		<td>
+			<input type="text" name="value" value="<?php echo $form['value']; ?>" style="width: 98%;" />
+		</td>
+	</tr>
+	<?php } elseif($type == 'textarea') { ?>
+	<tr>
+		<td valign="top"><?php echo $TEXT['DEFAULT_TEXT']; ?>:</td>
+		<td>
+			<textarea name="value" style="width: 98%; height: 100px;"><?php echo $form['value']; ?></textarea>
+		</td>
+	</tr>
+	<?php } elseif($type == 'select' OR $type = 'radio' OR $type = 'checkbox') { ?>
+	<tr>
+		<td valign="top"><?php echo $TEXT['LIST_OPTIONS']; ?>:</td>
+		<td>
+			<?php
+			$option_count = 0;
+			$list = explode(',', $form['value']);
+			foreach($list AS $option_value) {
+				$option_count = $option_count+1;
+				?>
+				<table cellpadding="3" cellspacing="0" width="100%" border="0">
+				<tr>
+					<td width="70"><?php echo $TEXT['OPTION'].' '.$option_count; ?>:</td>
+					<td>
+						<input type="text" name="value<?php echo $option_count; ?>" value="<?php echo $option_value; ?>" style="width: 250px;" />
+					</td>
+				</tr>
+				</table>
+				<?php
+			}
+			for($i = 0; $i < 2; $i++) {
+				$option_count = $option_count+1;
+				?>
+				<table cellpadding="3" cellspacing="0" width="100%" border="0">
+				<tr>
+					<td width="70"><?php echo $TEXT['OPTION'].' '.$option_count; ?>:</td>
+					<td>
+						<input type="text" name="value<?php echo $option_count; ?>" value="" style="width: 250px;" />
+					</td>
+				</tr>
+				</table>
+				<?php
+			}
+			?>
+			<input type="hidden" name="list_count" value="<?php echo $option_count; ?>" />
+		</td>
+	</tr>
+	<?php } ?>
+	<?php if($type == 'select') { ?>
+	<tr>
+		<td><?php echo $TEXT['SIZE']; ?>:</td>
+		<td>
+			<?php $form['extra'] = explode(',',$form['extra']); ?>
+			<input type="text" name="size" value="<?php echo trim($form['extra'][0]); ?>" style="width: 98%;" maxlength="3" />
+		</td>
+	</tr>
+	<tr>
+		<td><?php echo $TEXT['ALLOW_MULTIPLE_SELECTIONS']; ?>:</td>
+		<td>
+			<input type="radio" name="multiselect" id="multiselect_true" value="multiple" <?php if($form['extra'][1] == 'multiple') { echo ' checked="checked"'; } ?> />
+			<a href="#" onclick="javascript: document.getElementById('multiselect_true').checked = true;">
+			<?php echo $TEXT['YES']; ?>
+			</a>
+			&nbsp;
+			<input type="radio" name="multiselect" id="multiselect_false" value="" <?php if($form['extra'][1] == '') { echo ' checked="checked"'; } ?> />
+			<a href="#" onclick="javascript: document.getElementById('multiselect_false').checked = true;">
+			<?php echo $TEXT['NO']; ?>
+			</a>
+		</td>
+	</tr>
+	<?php } elseif($type == 'checkbox' OR $type == 'radio') { ?>
+	<tr>
+		<td valign="top"><?php echo $TEXT['SEPERATOR']; ?>:</td>
+		<td>
+			<input type="text" name="seperator" value="<?php echo $form['extra']; ?>" style="width: 98%;" />
+		</td>
+	</tr>
+	<?php } ?>
+<?php } ?>
+<?php if($type != 'heading' AND $type != 'none') { ?>
+	<tr>
+		<td><?php echo $TEXT['REQUIRED']; ?>:</td>
+		<td>
+			<input type="radio" name="required" id="required_true" value="1" <?php if($form['required'] == 1) { echo ' checked="checked"'; } ?> />
+			<a href="#" onclick="javascript: document.getElementById('required_true').checked = true;">
+			<?php echo $TEXT['YES']; ?>
+			</a>
+			&nbsp;
+			<input type="radio" name="required" id="required_false" value="0" <?php if($form['required'] == 0) { echo ' checked="checked"'; } ?> />
+			<a href="#" onclick="javascript: document.getElementById('required_false').checked = true;">
+			<?php echo $TEXT['NO']; ?>
+			</a>
+		</td>
+	</tr>
+<?php } ?>
+</table>
+
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+	<tr>
+		<td align="left">
+			<input name="save" type="submit" value="<?php echo $TEXT['SAVE']; ?>" style="width: 100px; margin-top: 5px;" />
+		</td>
+		<?php
+		// added by John Maats, PCWacht, 12 januar 2006
+		if ($type<>'none') {
+		?>
+		<td align="center">
+			<input type="button" value="<?php echo $TEXT['ADD'].' '.$TEXT['FIELD']; ?>" onclick="javascript: window.location = '<?php echo WB_URL; ?>/modules/form/add_field.php?page_id=<?php echo $page_id; ?>&section_id=<?php echo $section_id; ?>';" style="width: 200px; margin-top: 5px;" />
+		</td>
+		<?php } 
+		// end addition
+		?>
+		<td align="right">
+			<input type="button" value="<?php echo $TEXT['CLOSE']; ?>" onclick="javascript: window.location = '<?php echo ADMIN_URL; ?>/pages/modify.php?page_id=<?php echo $page_id; ?>';" style="width: 100px; margin-top: 5px;" />
+		</td>
+	</tr>
+</table>
+</form>
+<?php
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/form/modify_field.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/form/languages/DA.php
===================================================================
--- tags/2.8.2/wb/modules/form/languages/DA.php	(nonexistent)
+++ tags/2.8.2/wb/modules/form/languages/DA.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+//Modul Description
+$module_description = 'Dette modul giver mulighed for at lave tilpassede online formularer, f.eks. en kontaktformular. Tak til  Rudolph Lartey som har hjulpet med at forbedre dette modul ved at lave kode for ekstra felttyper osv.';
+
+//Variables for the  backend
+$MOD_FORM['SETTINGS'] = 'Formularindstillinger';
+
+?>

Property changes on: tags/2.8.2/wb/modules/form/languages/DA.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/form/languages/FR.php
===================================================================
--- tags/2.8.2/wb/modules/form/languages/FR.php	(nonexistent)
+++ tags/2.8.2/wb/modules/form/languages/FR.php	(revision 1481)
@@ -0,0 +1,35 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+
+ -----------------------------------------------------------------------------------------
+  FRENCH LANGUAGE FILE FOR THE MODULE: FORM
+ -----------------------------------------------------------------------------------------
+*/
+//Module Description
+$module_description = 'This module allows you to create customised online forms, such as a feedback form. Thank-you to Rudolph Lartey who help enhance this module, providing code for extra field types, etc.';
+
+//Variables for the  backend
+$MOD_FORM['SETTINGS'] = 'Configurations du formulaire';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/form/languages/FR.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/form/languages/NL.php
===================================================================
--- tags/2.8.2/wb/modules/form/languages/NL.php	(nonexistent)
+++ tags/2.8.2/wb/modules/form/languages/NL.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+//Modul Description
+$module_description = 'Deze module makt het mogelijk om aangepaste online formulieren te maken zoals een feedback formulier. Met dank aan Rudolph Lartey voor het aanpassen van deze module.';
+
+//Variables for the  backend
+$MOD_FORM['SETTINGS'] = 'Formulier instellingen';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/form/languages/NL.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/form/languages/NO.php
===================================================================
--- tags/2.8.2/wb/modules/form/languages/NO.php	(nonexistent)
+++ tags/2.8.2/wb/modules/form/languages/NO.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+//Modul Description
+$module_description = 'Med denne modulen kan du lage d&iacute;ne egne spesialtilpassede elektroniske skjemaer, som for eksempe et tilbakemeldings skjema. En stor takk til Rudolph Lartey for hjelpen med &aring; videreutvikkle denne modulen, og for bidrag med koding av ekstra felt typer , osv.';
+  
+//Variables for the  backend
+$MOD_FORM['SETTINGS'] = 'Skjema Innstillinger';
+  
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/form/languages/NO.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/form/languages/EN.php
===================================================================
--- tags/2.8.2/wb/modules/form/languages/EN.php	(nonexistent)
+++ tags/2.8.2/wb/modules/form/languages/EN.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+//Modul Description
+$module_description = 'This module allows you to create customised online forms, such as a feedback form. Thank-you to Rudolph Lartey who help enhance this module, providing code for extra field types, etc.';
+
+//Variables for the  backend
+$MOD_FORM['SETTINGS'] = 'Form Settings';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/form/languages/EN.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/form/languages/RU.php
===================================================================
--- tags/2.8.2/wb/modules/form/languages/RU.php	(nonexistent)
+++ tags/2.8.2/wb/modules/form/languages/RU.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project http://www.websitebaker.org/
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+//Modul Description
+$module_description = '&#1052;&#1086;&#1076;&#1091;&#1083;&#1100; &#1087;&#1086;&#1079;&#1074;&#1086;&#1083;&#1103;&#1077;&#1090; &#1089;&#1086;&#1079;&#1076;&#1072;&#1074;&#1072;&#1090;&#1100; &#1088;&#1072;&#1079;&#1083;&#1080;&#1095;&#1085;&#1099;&#1077; &#1085;&#1072;&#1089;&#1090;&#1088;&#1072;&#1080;&#1074;&#1072;&#1077;&#1084;&#1099;&#1077; &#1092;&#1086;&#1088;&#1084;&#1099;, &#1085;&#1072;&#1087;&#1088;&#1080;&#1084;&#1077;&#1088; &#1092;&#1086;&#1088;&#1084;&#1099; &#1086;&#1073;&#1088;&#1072;&#1090;&#1085;&#1086;&#1081; &#1089;&#1074;&#1103;&#1079;&#1080;. Rudolph Lartey &#1087;&#1086;&#1084;&#1086;&#1075; &#1091;&#1083;&#1091;&#1095;&#1096;&#1080;&#1090;&#1100; &#1076;&#1072;&#1085;&#1085;&#1099;&#1081; &#1084;&#1086;&#1076;&#1091;&#1083;&#1100;.';
+
+//Variables for the  backend
+$MOD_FORM['SETTINGS'] = '&#1053;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080; &#1092;&#1086;&#1088;&#1084;&#1099;';
+
+?>

Property changes on: tags/2.8.2/wb/modules/form/languages/RU.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/form/languages/index.php
===================================================================
--- tags/2.8.2/wb/modules/form/languages/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/form/languages/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/form/languages/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/form/languages/DE.php
===================================================================
--- tags/2.8.2/wb/modules/form/languages/DE.php	(nonexistent)
+++ tags/2.8.2/wb/modules/form/languages/DE.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+//Modulbeschreibung
+$module_description = 'Mit diesem Modul k&ouml;nnen sie ein beliebiges Formular f&uuml;r ihre Seite erzeugen';
+
+//Variablen fuer backend Texte
+$MOD_FORM['SETTINGS'] = 'Formular Einstellungen';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/form/languages/DE.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/form/modify.php
===================================================================
--- tags/2.8.2/wb/modules/form/modify.php	(nonexistent)
+++ tags/2.8.2/wb/modules/form/modify.php	(revision 1481)
@@ -0,0 +1,197 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+/*
+The Website Baker Project would like to thank Rudolph Lartey <www.carbonect.com>
+for his contributions to this module - adding extra field types
+*/
+
+// Must include code to stop this file being access directly
+if(!defined('WB_PATH')) { exit("Cannot access this file directly"); }
+
+//overwrite php.ini on Apache servers for valid SESSION ID Separator
+if(function_exists('ini_set')) {
+	ini_set('arg_separator.output', '&amp;');
+}
+
+//Delete all form fields with no title
+$database->query("DELETE FROM ".TABLE_PREFIX."mod_form_fields  WHERE page_id = '$page_id' and section_id = '$section_id' and title=''");
+
+?>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr>
+	<td align="left" width="33%">
+		<input type="button" value="<?php echo $TEXT['ADD'].' '.$TEXT['FIELD']; ?>" onclick="javascript: window.location = '<?php echo WB_URL; ?>/modules/form/add_field.php?page_id=<?php echo $page_id; ?>&amp;section_id=<?php echo $section_id; ?>';" style="width: 100%;" />
+	</td>
+	<td align="right" width="33%">
+		<input type="button" value="<?php echo $TEXT['SETTINGS']; ?>" onclick="javascript: window.location = '<?php echo WB_URL; ?>/modules/form/modify_settings.php?page_id=<?php echo $page_id; ?>&amp;section_id=<?php echo $section_id; ?>';" style="width: 100%;" />
+	</td>
+</tr>
+</table>
+
+<br />
+
+<h2><?php echo $TEXT['MODIFY'].'/'.$TEXT['DELETE'].' '.$TEXT['FIELD']; ?></h2>
+<?php
+
+// Loop through existing fields
+$query_fields = $database->query("SELECT * FROM `".TABLE_PREFIX."mod_form_fields` WHERE section_id = '$section_id' ORDER BY position ASC");
+if($query_fields->numRows() > 0) {
+	$num_fields = $query_fields->numRows();
+	$row = 'a';
+	?>
+	<table cellpadding="2" cellspacing="0" border="0" width="100%">
+	<?php
+	while($field = $query_fields->fetchRow()) {
+		?>
+		<tr class="row_<?php echo $row; ?>">
+			<td width="20" style="padding-left: 5px;">
+				<a href="<?php echo WB_URL; ?>/modules/form/modify_field.php?page_id=<?php echo $page_id; ?>&section_id=<?php echo $section_id; ?>&field_id=<?php echo $field['field_id']; ?>" title="<?php echo $TEXT['MODIFY']; ?>">
+					<img src="<?php echo THEME_URL; ?>/images/modify_16.png" border="0" alt="^" />
+				</a>
+			</td>		
+			<td>
+				<a href="<?php echo WB_URL; ?>/modules/form/modify_field.php?page_id=<?php echo $page_id; ?>&section_id=<?php echo $section_id; ?>&field_id=<?php echo $field['field_id']; ?>">
+					<?php echo $field['title']; ?>
+				</a>
+			</td>
+			<td width="175">
+				<?php
+				echo $TEXT['TYPE'].':';
+				if($field['type'] == 'textfield') {
+					echo $TEXT['SHORT_TEXT'];
+				} elseif($field['type'] == 'textarea') {
+					echo $TEXT['LONG_TEXT'];
+				} elseif($field['type'] == 'heading') {
+					echo $TEXT['HEADING'];
+				} elseif($field['type'] == 'select') {
+					echo $TEXT['SELECT_BOX'];
+				} elseif($field['type'] == 'checkbox') {
+					echo $TEXT['CHECKBOX_GROUP'];
+				} elseif($field['type'] == 'radio') {
+					echo $TEXT['RADIO_BUTTON_GROUP'];
+				} elseif($field['type'] == 'email') {
+					echo $TEXT['EMAIL_ADDRESS'];
+				}
+				?>
+			</td>
+			<td width="95">		
+			<?php 
+			if ($field['type'] != 'group_begin') {
+				echo $TEXT['REQUIRED'].': '; if($field['required'] == 1) { echo $TEXT['YES']; } else { echo $TEXT['NO']; }
+			}
+			?>
+			</td>
+			<td width="110">
+			<?php
+			if ($field['type'] == 'select') {
+				$field['extra'] = explode(',',$field['extra']);
+				echo $TEXT['MULTISELECT'].': '; if($field['extra'][1] == 'multiple') { echo $TEXT['YES']; } else { echo $TEXT['NO']; }
+			}
+			?>
+			</td>
+			<td width="20">
+			<?php if($field['position'] != 1) { ?>
+				<a href="<?php echo WB_URL; ?>/modules/form/move_up.php?page_id=<?php echo $page_id; ?>&section_id=<?php echo $section_id; ?>&field_id=<?php echo $field['field_id']; ?>" title="<?php echo $TEXT['MOVE_UP']; ?>">
+					<img src="<?php echo THEME_URL; ?>/images/up_16.png" border="0" alt="^" />
+				</a>
+			<?php } ?>
+			</td>
+			<td width="20">
+			<?php if($field['position'] != $num_fields) { ?>
+				<a href="<?php echo WB_URL; ?>/modules/form/move_down.php?page_id=<?php echo $page_id; ?>&section_id=<?php echo $section_id; ?>&field_id=<?php echo $field['field_id']; ?>" title="<?php echo $TEXT['MOVE_DOWN']; ?>">
+					<img src="<?php echo THEME_URL; ?>/images/down_16.png" border="0" alt="v" />
+				</a>
+			<?php } ?>
+			</td>
+			<td width="20">
+				<a href="javascript: confirm_link('<?php echo $TEXT['ARE_YOU_SURE']; ?>', '<?php echo WB_URL; ?>/modules/form/delete_field.php?page_id=<?php echo $page_id; ?>&section_id=<?php echo $section_id; ?>&field_id=<?php echo $field['field_id']; ?>');" title="<?php echo $TEXT['DELETE']; ?>">
+					<img src="<?php echo THEME_URL; ?>/images/delete_16.png" border="0" alt="X" />
+				</a>
+			</td>
+		</tr>
+		<?php
+		// Alternate row color
+		if($row == 'a') {
+			$row = 'b';
+		} else {
+			$row = 'a';
+		}
+	}
+	?>
+	</table>
+	<?php
+} else {
+	echo $TEXT['NONE_FOUND'];
+}
+
+?>
+
+<br /><br />
+
+<h2><?php echo $TEXT['SUBMISSIONS']; ?></h2>
+
+<?php
+
+// Query submissions table
+$query_submissions = $database->query("SELECT * FROM `".TABLE_PREFIX."mod_form_submissions` WHERE section_id = '$section_id' ORDER BY submitted_when ASC");
+if($query_submissions->numRows() > 0) {
+	?>
+	<table cellpadding="2" cellspacing="0" border="0" width="100%">
+	<?php
+	// List submissions
+	$row = 'a';
+	while($submission = $query_submissions->fetchRow()) {
+		?>
+		<tr class="row_<?php echo $row; ?>">
+			<td width="20" style="padding-left: 5px;">
+				<a href="<?php echo WB_URL; ?>/modules/form/view_submission.php?page_id=<?php echo $page_id; ?>&section_id=<?php echo $section_id; ?>&submission_id=<?php echo $submission['submission_id']; ?>" title="<?php echo $TEXT['OPEN']; ?>">
+					<img src="<?php echo THEME_URL; ?>/images/folder_16.png" alt="<?php echo $TEXT['OPEN']; ?>" border="0" />
+				</a>
+			</td>
+			<td width="237"><?php echo $TEXT['SUBMISSION_ID'].': '.$submission['submission_id']; ?></td>
+			<td><?php echo $TEXT['SUBMITTED'].': '.gmdate(TIME_FORMAT.', '.DATE_FORMAT, $submission['submitted_when']+TIMEZONE); ?></td>
+			<td width="20">
+				<a href="javascript: confirm_link('<?php echo $TEXT['ARE_YOU_SURE']; ?>', '<?php echo WB_URL; ?>/modules/form/delete_submission.php?page_id=<?php echo $page_id; ?>&section_id=<?php echo $section_id; ?>&submission_id=<?php echo $submission['submission_id']; ?>');" title="<?php echo $TEXT['DELETE']; ?>">
+					<img src="<?php echo THEME_URL; ?>/images/delete_16.png" border="0" alt="X" />
+				</a>
+			</td>
+		</tr>
+		<?php
+		// Alternate row color
+		if($row == 'a') {
+			$row = 'b';
+		} else {
+			$row = 'a';
+		}
+	}
+	?>
+	</table>
+	<?php
+} else {
+	echo $TEXT['NONE_FOUND'];
+}
+
+?>

Property changes on: tags/2.8.2/wb/modules/form/modify.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/form/add_field.php
===================================================================
--- tags/2.8.2/wb/modules/form/add_field.php	(nonexistent)
+++ tags/2.8.2/wb/modules/form/add_field.php	(revision 1481)
@@ -0,0 +1,58 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+/*
+The Website Baker Project would like to thank Rudolph Lartey <www.carbonect.com>
+for his contributions to this module - adding extra field types
+*/
+
+require('../../config.php');
+
+// Include WB admin wrapper script
+require(WB_PATH.'/modules/admin.php');
+
+// Include the ordering class
+require(WB_PATH.'/framework/class.order.php');
+// Get new order
+$order = new order(TABLE_PREFIX.'mod_form_fields', 'position', 'field_id', 'section_id');
+$position = $order->get_new($section_id);
+
+// Insert new row into database
+$database->query("INSERT INTO ".TABLE_PREFIX."mod_form_fields (section_id,page_id,position,required) VALUES ('$section_id','$page_id','$position','0')");
+
+// Get the id
+$field_id = $database->get_one("SELECT LAST_INSERT_ID()");
+
+// Say that a new record has been added, then redirect to modify page
+if($database->is_error()) {
+	$admin->print_error($database->get_error(), WB_URL.'/modules/form/modify_field.php?page_id='.$page_id.'&section_id='.$section_id.'&field_id='.$field_id);
+} else {
+	$admin->print_success($TEXT['SUCCESS'], WB_URL.'/modules/form/modify_field.php?page_id='.$page_id.'&section_id='.$section_id.'&field_id='.$field_id);
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/form/add_field.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/form/save_field.php
===================================================================
--- tags/2.8.2/wb/modules/form/save_field.php	(nonexistent)
+++ tags/2.8.2/wb/modules/form/save_field.php	(revision 1481)
@@ -0,0 +1,104 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+/*
+The Website Baker Project would like to thank Rudolph Lartey <www.carbonect.com>
+for his contributions to this module - adding extra field types
+*/
+
+require('../../config.php');
+
+// Get id
+if(!isset($_POST['field_id']) OR !is_numeric($_POST['field_id'])) {
+	header("Location: ".ADMIN_URL."/pages/index.php");
+	exit(0);
+} else {
+	$field_id = $_POST['field_id'];
+}
+
+// Include WB admin wrapper script
+$update_when_modified = true; // Tells script to update when this page was last updated
+require(WB_PATH.'/modules/admin.php');
+
+// Validate all fields
+if($admin->get_post('title') == '' OR $admin->get_post('type') == '') {
+	$admin->print_error($MESSAGE['GENERIC']['FILL_IN_ALL'], WB_URL.'/modules/form/modify_field.php?page_id='.$page_id.'&section_id='.$section_id.'&field_id='.$field_id);
+} else {
+	$title = $admin->add_slashes($admin->get_post('title'));
+	$type = $admin->add_slashes($admin->get_post('type'));
+	$required = $admin->add_slashes($admin->get_post('required'));
+}
+$value = '';
+
+// Update row
+$database->query("UPDATE ".TABLE_PREFIX."mod_form_fields SET title = '$title', type = '$type', required = '$required' WHERE field_id = '$field_id'");
+
+// If field type has multiple options, get all values and implode them
+$list_count = $admin->get_post('list_count');
+if(is_numeric($list_count)) {
+	$values = array();
+	for($i = 1; $i <= $list_count; $i++) {
+		if($admin->get_post('value'.$i) != '') {
+			$values[] = str_replace(",","&#44;",$admin->get_post('value'.$i));
+		}
+	}
+	$value = implode(',', $values);
+}
+
+// Get extra fields for field-type-specific settings
+if($admin->get_post('type') == 'textfield') {
+	$length = $admin->get_post_escaped('length');
+	$value = $admin->get_post_escaped('value');
+	$database->query("UPDATE ".TABLE_PREFIX."mod_form_fields SET value = '$value', extra = '$length' WHERE field_id = '$field_id'");
+} elseif($admin->get_post('type') == 'textarea') {
+	$value = $admin->get_post_escaped('value');
+	$database->query("UPDATE ".TABLE_PREFIX."mod_form_fields SET value = '$value', extra = '' WHERE field_id = '$field_id'");
+} elseif($admin->get_post('type') == 'heading') {
+	$extra = $admin->get_post('template');
+	if(trim($extra) == '') $extra = '<tr><td class="field_heading" colspan="2">{TITLE}{FIELD}</td></tr>';
+	$extra = $admin->add_slashes($extra);
+	$database->query("UPDATE ".TABLE_PREFIX."mod_form_fields SET value = '', extra = '$extra' WHERE field_id = '$field_id'");
+} elseif($admin->get_post('type') == 'select') {
+	$extra = $admin->get_post_escaped('size').','.$admin->get_post_escaped('multiselect');
+	$database->query("UPDATE ".TABLE_PREFIX."mod_form_fields SET value = '$value', extra = '$extra' WHERE field_id = '$field_id'");
+} elseif($admin->get_post('type') == 'checkbox') {
+	$extra = $admin->get_post_escaped('seperator');
+	$database->query("UPDATE ".TABLE_PREFIX."mod_form_fields SET value = '$value', extra = '$extra' WHERE field_id = '$field_id'");
+} elseif($admin->get_post('type') == 'radio') {
+	$extra = $admin->get_post_escaped('seperator');
+	$database->query("UPDATE ".TABLE_PREFIX."mod_form_fields SET value = '$value', extra = '$extra' WHERE field_id = '$field_id'");
+}
+
+// Check if there is a db error, otherwise say successful
+if($database->is_error()) {
+	$admin->print_error($database->get_error(), WB_URL.'/modules/form/modify_field.php?page_id='.$page_id.'&section_id='.$section_id.'&field_id='.$field_id);
+} else {
+	$admin->print_success($TEXT['SUCCESS'], WB_URL.'/modules/form/modify_field.php?page_id='.$page_id.'&section_id='.$section_id.'&field_id='.$field_id);
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/form/save_field.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/form/view_submission.php
===================================================================
--- tags/2.8.2/wb/modules/form/view_submission.php	(nonexistent)
+++ tags/2.8.2/wb/modules/form/view_submission.php	(revision 1481)
@@ -0,0 +1,93 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+/*
+The Website Baker Project would like to thank Rudolph Lartey <www.carbonect.com>
+for his contributions to this module - adding extra field types
+*/
+
+require('../../config.php');
+
+// Get id
+if(!isset($_GET['submission_id']) OR !is_numeric($_GET['submission_id'])) {
+	header("Location: ".ADMIN_URL."/pages/index.php");
+	exit(0);
+} else {
+	$submission_id = $_GET['submission_id'];
+}
+
+// Include WB admin wrapper script
+require(WB_PATH.'/modules/admin.php');
+
+// Get submission details
+$query_content = $database->query("SELECT * FROM ".TABLE_PREFIX."mod_form_submissions WHERE submission_id = '$submission_id'");
+$submission = $query_content->fetchRow();
+
+// Get the user details of whoever did this submission
+$query_user = "SELECT username,display_name FROM ".TABLE_PREFIX."users WHERE user_id = '".$submission['submitted_by']."'";
+$get_user = $database->query($query_user);
+if($get_user->numRows() != 0) {
+	$user = $get_user->fetchRow();
+} else {
+	$user['display_name'] = 'Unknown';
+	$user['username'] = 'unknown';
+}
+
+?>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr>
+	<td><?php echo $TEXT['SUBMISSION_ID']; ?>:</td>
+	<td><?php echo $submission['submission_id']; ?></td>
+</tr>
+<tr>
+	<td><?php echo $TEXT['SUBMITTED']; ?>:</td>
+	<td><?php echo gmdate(TIME_FORMAT.', '.DATE_FORMAT, $submission['submitted_when']+TIMEZONE); ?></td>
+</td>
+<tr>
+	<td><?php echo $TEXT['USER']; ?>:</td>
+	<td><?php echo $user['display_name'].' ('.$user['username'].')'; ?></td>
+</tr>
+<tr>
+	<td colspan="2">
+		<hr />
+	</td>
+</tr>
+<tr>
+	<td colspan="2">
+		<?php echo nl2br($submission['body']); ?>
+	</td>
+</tr>
+</table>
+
+<br />
+
+<input type="button" value="<?php echo $TEXT['CLOSE']; ?>" onclick="javascript: window.location = '<?php echo ADMIN_URL; ?>/pages/modify.php?page_id=<?php echo $page_id; ?>';" style="width: 150px; margin-top: 5px;" />
+<input type="button" value="<?php echo $TEXT['DELETE']; ?>" onclick="javascript: confirm_link('<?php echo $TEXT['ARE_YOU_SURE']; ?>', '<?php echo WB_URL; ?>/modules/form/delete_submission.php?page_id=<?php echo $page_id; ?>&section_id=<?php echo $section_id; ?>&submission_id=<?php echo $submission_id; ?>');" style="width: 150px; margin-top: 5px;" />
+<?php
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/form/view_submission.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/form/modify_settings.php
===================================================================
--- tags/2.8.2/wb/modules/form/modify_settings.php	(nonexistent)
+++ tags/2.8.2/wb/modules/form/modify_settings.php	(revision 1481)
@@ -0,0 +1,262 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+/*
+The Website Baker Project would like to thank Rudolph Lartey <www.carbonect.com>
+for his contributions to this module - adding extra field types
+*/
+
+require('../../config.php');
+
+// Include WB admin wrapper script
+require(WB_PATH.'/modules/admin.php');
+
+// include core functions of WB 2.7 to edit the optional module CSS files (frontend.css, backend.css)
+@include_once(WB_PATH .'/framework/module.functions.php');
+
+// check if module language file exists for the language set by the user (e.g. DE, EN)
+if(!file_exists(WB_PATH .'/modules/form/languages/'.LANGUAGE .'.php')) {
+	// no module language file exists for the language set by the user, include default module language file EN.php
+	require_once(WB_PATH .'/modules/form/languages/EN.php');
+} else {
+	// a module language file exists for the language defined by the user, load it
+	require_once(WB_PATH .'/modules/form/languages/'.LANGUAGE .'.php');
+}
+
+// Get header and footer
+$query_content = $database->query("SELECT * FROM ".TABLE_PREFIX."mod_form_settings WHERE section_id = '$section_id'");
+$setting = $query_content->fetchRow();
+
+// Set raw html <'s and >'s to be replace by friendly html code
+$raw = array('<', '>');
+$friendly = array('&lt;', '&gt;');
+
+// check if backend.css file needs to be included into the <body></body> of modify.php
+if(!method_exists($admin, 'register_backend_modfiles') && file_exists(WB_PATH ."/modules/form/backend.css")) {
+	echo '<style type="text/css">';
+	include(WB_PATH .'/modules/form/backend.css');
+	echo "\n</style>\n";
+}
+
+?>
+<h2><?php echo $MOD_FORM['SETTINGS']; ?></h2>
+<?php
+// include the button to edit the optional module CSS files
+// Note: CSS styles for the button are defined in backend.css (div class="mod_moduledirectory_edit_css")
+// Place this call outside of any <form></form> construct!!!
+if(function_exists('edit_module_css')) {
+	edit_module_css('form');
+}
+?>
+
+<form name="edit" action="<?php echo WB_URL; ?>/modules/form/save_settings.php" method="post" style="margin: 0;">
+
+<input type="hidden" name="page_id" value="<?php echo $page_id; ?>" />
+<input type="hidden" name="section_id" value="<?php echo $section_id; ?>" />
+
+<table class="row_a" cellpadding="2" cellspacing="0" border="0" width="100%">
+	<tr>
+		<td colspan="2"><strong><?php echo $HEADING['GENERAL_SETTINGS']; ?></strong></td>
+	</tr>
+	<tr>
+		<td class="setting_name"><?php echo $TEXT['CAPTCHA_VERIFICATION']; ?>:</td>
+		<td>
+			<input type="radio" name="use_captcha" id="use_captcha_true" value="1"<?php if($setting['use_captcha'] == true) { echo ' checked="checked"'; } ?> />
+			<label for="use_captcha_true"><?php echo $TEXT['ENABLED']; ?></label>
+			<input type="radio" name="use_captcha" id="use_captcha_false" value="0"<?php if($setting['use_captcha'] == false) { echo ' checked="checked"'; } ?> />
+			<label for="use_captcha_false"><?php echo $TEXT['DISABLED']; ?></label>
+		</td>
+	</tr>
+	<tr>
+		<td class="setting_name"><?php echo $TEXT['MAX_SUBMISSIONS_PER_HOUR']; ?>:</td>
+		<td class="setting_value">
+			<input type="text" name="max_submissions" style="width: 30px;" maxlength="255" value="<?php echo str_replace($raw, $friendly, ($setting['max_submissions'])); ?>" />
+		</td>
+	</tr>
+	<tr>
+		<td class="setting_name"><?php echo $TEXT['SUBMISSIONS_STORED_IN_DATABASE']; ?>:</td>
+		<td class="setting_value">
+			<input type="text" name="stored_submissions" style="width: 30px;" maxlength="255" value="<?php echo str_replace($raw, $friendly, ($setting['stored_submissions'])); ?>" />
+		</td>
+	</tr>
+	<tr>
+		<td class="setting_name"><?php echo $TEXT['HEADER']; ?>:</td>
+		<td class="setting_value">
+			<textarea name="header" cols="80" rows="6" style="width: 98%; height: 80px;"><?php echo ($setting['header']); ?></textarea>
+		</td>
+	</tr>
+	<tr>
+		<td class="setting_name"><?php echo $TEXT['FIELD'].' '.$TEXT['LOOP']; ?>:</td>
+		<td class="setting_value">
+			<textarea name="field_loop" cols="80" rows="6" style="width: 98%; height: 80px;"><?php echo ($setting['field_loop']); ?></textarea>
+		</td>
+	</tr>
+	<tr>
+		<td class="setting_name"><?php echo $TEXT['FOOTER']; ?>:</td>
+		<td class="setting_value">
+			<textarea name="footer" cols="80" rows="6" style="width: 98%; height: 80px;"><?php echo str_replace($raw, $friendly, ($setting['footer'])); ?></textarea>
+		</td>
+	</tr>
+</table>	
+
+<table class="row_a" cellpadding="2" cellspacing="0" border="0" width="100%" style="margin-top: 3px;">
+	<tr>
+		<td colspan="2"><strong><?php echo $TEXT['EMAIL'].' '.$TEXT['SETTINGS']; ?></strong></td>
+	</tr>
+	<tr>
+		<td class="setting_name"><?php echo $TEXT['EMAIL'].' '.$TEXT['TO']; ?>:</td>
+		<td class="setting_value">
+			<input type="text" name="email_to" style="width: 98%;" maxlength="255" value="<?php echo str_replace($raw, $friendly, ($setting['email_to'])); ?>" />
+		</td>
+	</tr>
+	<tr>
+		<td class="setting_name"><?php echo $TEXT['EMAIL'].' '.$TEXT['FROM']; ?>:</td>
+		<td class="setting_value">
+			<select name="email_from_field" style="width: 98%;">
+			<option value="" onclick="javascript: document.getElementById('email_from').style.display = 'block';"><?php echo $TEXT['CUSTOM']; ?>:</option>
+			<?php
+			$email_from_value = str_replace($raw, $friendly, ($setting['email_from']));
+			$query_email_fields = $database->query("SELECT field_id,title FROM ".TABLE_PREFIX."mod_form_fields WHERE section_id = '$section_id' AND ( type = 'textfield' OR  type = 'email' ) ORDER BY position ASC");
+			if($query_email_fields->numRows() > 0) {
+				while($field = $query_email_fields->fetchRow()) {
+					?>
+					<option value="field<?php echo $field['field_id']; ?>"<?php if($email_from_value == 'field'.$field['field_id']) { echo ' selected'; $selected = true; } ?> onclick="javascript: document.getElementById('email_from').style.display = 'none';">
+						<?php echo $TEXT['FIELD'].': '.$field['title']; ?>
+					</option>
+					<?php
+				}
+			}
+			?>
+			</select>
+			<input type="text" name="email_from" id="email_from" style="width: 98%; display: <?php if(isset($selected) AND $selected == true) { echo 'none'; } else { echo 'block'; } ?>;" maxlength="255" value="<?php if(substr($email_from_value, 0, 5) != 'field') { echo $email_from_value; } ?>" />
+		</td>
+	</tr>
+	<tr>
+		<td class="setting_name"><?php echo $TEXT['EMAIL'].' '.$TEXT['NAME']; ?>:</td>
+		<td class="setting_value">
+			<input type="text" name="email_fromname" style="width: 98%;" maxlength="255" value="<?php echo str_replace($raw, $friendly, ($setting['email_fromname'])); ?>" />
+		</td>
+	</tr>
+	<tr>
+		<td class="setting_name"><?php echo $TEXT['EMAIL'].' '.$TEXT['SUBJECT']; ?>:</td>
+		<td class="setting_value">
+			<input type="text" name="email_subject" style="width: 98%;" maxlength="255" value="<?php echo str_replace($raw, $friendly, ($setting['email_subject'])); ?>" />
+		</td>
+	</tr>
+</table>	
+
+<table class="row_a" cellpadding="2" cellspacing="0" border="0" width="100%" style="margin-top: 3px;">
+	<tr>
+		<td colspan="2"><strong><?php echo $TEXT['SUCCESS'].' '.$TEXT['SETTINGS']; ?></strong></td>
+	</tr>
+	<tr>
+		<td class="setting_name"><?php echo $TEXT['EMAIL'].' '.$TEXT['TO']; ?>:</td>
+		<td class="setting_value">
+			<select name="success_email_to" style="width: 98%;">
+			<option value="" onclick="javascript: document.getElementById('success_email_to').style.display = 'block';"><?php echo $TEXT['NONE']; ?></option>
+			<?php
+			$success_email_to = str_replace($raw, $friendly, ($setting['success_email_to']));
+			$query_email_fields = $database->query("SELECT field_id,title FROM ".TABLE_PREFIX."mod_form_fields WHERE section_id = '$section_id' AND ( type = 'textfield' OR  type = 'email' ) ORDER BY position ASC");
+			if($query_email_fields->numRows() > 0) {
+				while($field = $query_email_fields->fetchRow()) {
+					?>
+					<option value="field<?php echo $field['field_id']; ?>"<?php if($success_email_to == 'field'.$field['field_id']) { echo ' selected'; $selected = true; } ?> onclick="javascript: document.getElementById('email_from').style.display = 'none';">
+						<?php echo $TEXT['FIELD'].': '.$field['title']; ?>
+					</option>
+					<?php
+				}
+			}
+			?>
+			</select>
+		</td>
+	</tr>
+	<tr>
+		<td class="setting_name"><?php echo $TEXT['EMAIL'].' '.$TEXT['FROM']; ?>:</td>
+		<td class="setting_value">
+			<input type="text" name="success_email_from" style="width: 98%;" maxlength="255" value="<?php echo str_replace($raw, $friendly, ($setting['success_email_from'])); ?>" />
+		</td>
+	</tr>
+	<tr>
+		<td class="setting_name"><?php echo $TEXT['EMAIL'].' '.$TEXT['NAME']; ?>:</td>
+		<td class="setting_value">
+			<input type="text" name="success_email_fromname" style="width: 98%;" maxlength="255" value="<?php echo str_replace($raw, $friendly, ($setting['success_email_fromname'])); ?>" />
+		</td>
+	</tr>
+	<tr>
+		<td class="setting_name"><?php echo $TEXT['EMAIL'].' '.$TEXT['SUBJECT']; ?>:</td>
+		<td class="setting_value">
+			<input type="text" name="success_email_subject" style="width: 98%;" maxlength="255" value="<?php echo str_replace($raw, $friendly, ($setting['success_email_subject'])); ?>" />
+		</td>
+	</tr>
+	<tr>
+		<td class="setting_name"><?php echo $TEXT['EMAIL'].' '.$TEXT['TEXT']; ?>:</td>
+		<td class="setting_value">
+			<textarea name="success_email_text" cols="80" rows="1" style="width: 98%; height: 80px;"><?php echo str_replace($raw, $friendly, ($setting['success_email_text'])); ?></textarea>
+		</td>
+	</tr>
+	<tr>
+		<td class="newsection"><?php echo $TEXT['SUCCESS'].' '.$TEXT['PAGE']; ?>:</td>
+		<td class="newsection">
+			<select name="success_page">
+			<option value="none"><?php echo $TEXT['NONE']; ?></option>
+			<?php 
+			// Get exisiting pages and show the pagenames
+			$query = $database->query("SELECT * FROM ".TABLE_PREFIX."pages WHERE visibility <> 'deleted'");
+			while($mail_page = $query->fetchRow()) {
+				if(!$admin->page_is_visible($mail_page))
+					continue;
+				$mail_pagename = $mail_page['menu_title'];		
+				$success_page = $mail_page['page_id'];
+			  //	echo $success_page.':'.$setting['success_page'].':'; not vailde
+				if($setting['success_page'] == $success_page) {
+					$selected = ' selected="selected"';
+				} else { 
+					$selected = '';
+				}
+				echo '<option value="'.$success_page.'"'.$selected.'>'.$mail_pagename.'</option>';
+		 	}
+			?>
+			</select>
+		</td>
+	</tr>
+</table>
+
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+	<tr>
+		<td align="left">
+			<input name="save" type="submit" value="<?php echo $TEXT['SAVE']; ?>" style="width: 100px; margin-top: 5px;">
+		</td>
+		<td align="right">
+			<input type="button" value="<?php echo $TEXT['CANCEL']; ?>" onclick="javascript: window.location = '<?php echo ADMIN_URL; ?>/pages/modify.php?page_id=<?php echo $page_id; ?>';" style="width: 100px; margin-top: 5px;" />
+		</td>
+	</tr>
+</table>
+</form>
+<?php
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/form/modify_settings.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/form/backend.css
===================================================================
--- tags/2.8.2/wb/modules/form/backend.css	(nonexistent)
+++ tags/2.8.2/wb/modules/form/backend.css	(revision 1481)
@@ -0,0 +1,27 @@
+.setting_name {
+	vertical-align: top;
+	width: 30%;
+}
+.setting_value {
+	vertical-align: top;
+	width: 70%;
+}
+.newsection {
+	border-top: 1px dashed #fff;
+}
+
+/* 
+  The definitions below provide the style for the edit CSS button 
+  Required CSS class name: input.mod_moduledirectory_edit_css
+*/
+input.mod_form_edit_css {
+  color: #000;
+  background-color: #F0F0F0;
+  border: 1px solid gray;
+  padding: 2px;
+  margin: 0;
+  margin-left: 625px;
+  margin-top: -20px;
+  margin-bottom: 5px;
+  width: 110px;
+}
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/form/backend.css
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/form/delete.php
===================================================================
--- tags/2.8.2/wb/modules/form/delete.php	(nonexistent)
+++ tags/2.8.2/wb/modules/form/delete.php	(revision 1481)
@@ -0,0 +1,35 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+/*
+The Website Baker Project would like to thank Rudolph Lartey <www.carbonect.com>
+for his contributions to this module - adding extra field types
+*/
+
+// Delete page from mod_wysiwyg
+$database->query("DELETE FROM ".TABLE_PREFIX."mod_form_fields WHERE page_id = '$page_id' AND section_id='$section_id'");
+$database->query("DELETE FROM ".TABLE_PREFIX."mod_form_settings WHERE page_id = '$page_id' AND section_id='$section_id'");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/form/delete.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/form/move_down.php
===================================================================
--- tags/2.8.2/wb/modules/form/move_down.php	(nonexistent)
+++ tags/2.8.2/wb/modules/form/move_down.php	(revision 1481)
@@ -0,0 +1,58 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+/*
+The Website Baker Project would like to thank Rudolph Lartey <www.carbonect.com>
+for his contributions to this module - adding extra field types
+*/
+
+require('../../config.php');
+
+// Get id
+if(!isset($_GET['field_id']) OR !is_numeric($_GET['field_id'])) {
+	header("Location: index.php");
+	exit(0);
+} else {
+	$field_id = $_GET['field_id'];
+}
+
+// Include WB admin wrapper script
+require(WB_PATH.'/modules/admin.php');
+
+// Include the ordering class
+require(WB_PATH.'/framework/class.order.php');
+
+// Create new order object an reorder
+$order = new order(TABLE_PREFIX.'mod_form_fields', 'position', 'field_id', 'section_id');
+if($order->move_down($field_id)) {
+	$admin->print_success($TEXT['SUCCESS'], ADMIN_URL.'/pages/modify.php?page_id='.$page_id);
+} else {
+	$admin->print_error($TEXT['ERROR'], ADMIN_URL.'/pages/modify.php?page_id='.$page_id);
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/form/move_down.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/form/search.php
===================================================================
--- tags/2.8.2/wb/modules/form/search.php	(nonexistent)
+++ tags/2.8.2/wb/modules/form/search.php	(revision 1481)
@@ -0,0 +1,65 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+function form_search($func_vars) {
+	extract($func_vars, EXTR_PREFIX_ALL, 'func');
+	
+	// how many lines of excerpt we want to have at most
+	$max_excerpt_num = $func_default_max_excerpt;
+	$divider = ".";
+	$result = false;
+	
+	// fetch all form-fields on this page
+	$table = TABLE_PREFIX."mod_form_fields";
+	$query = $func_database->query("
+		SELECT title, value
+		FROM $table
+		WHERE section_id='$func_section_id'
+		ORDER BY position ASC
+	");
+	// now call print_excerpt() only once for all items
+	if($query->numRows() > 0) {
+		$text="";
+		while($res = $query->fetchRow()) {
+			$text .= $res['title'].$divider.$res['value'].$divider;
+		}
+		$mod_vars = array(
+			'page_link' => $func_page_link,
+			'page_link_target' => "#wb_section_$func_section_id",
+			'page_title' => $func_page_title,
+			'page_description' => $func_page_description,
+			'page_modified_when' => $func_page_modified_when,
+			'page_modified_by' => $func_page_modified_by,
+			'text' => $text,
+			'max_excerpt_num' => $max_excerpt_num
+		);
+		if(print_excerpt2($mod_vars, $func_vars)) {
+			$result = true;
+		}
+	}
+	return $result;
+}
+
+?>

Property changes on: tags/2.8.2/wb/modules/form/search.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/form/delete_field.php
===================================================================
--- tags/2.8.2/wb/modules/form/delete_field.php	(nonexistent)
+++ tags/2.8.2/wb/modules/form/delete_field.php	(revision 1481)
@@ -0,0 +1,58 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+/*
+The Website Baker Project would like to thank Rudolph Lartey <www.carbonect.com>
+for his contributions to this module - adding extra field types
+*/
+
+require('../../config.php');
+
+// Get id
+if(!isset($_GET['field_id']) OR !is_numeric($_GET['field_id'])) {
+	header("Location: ".ADMIN_URL."/pages/index.php");
+	exit(0);
+} else {
+	$field_id = $_GET['field_id'];
+}
+
+// Include WB admin wrapper script
+$update_when_modified = true; // Tells script to update when this page was last updated
+require(WB_PATH.'/modules/admin.php');
+
+// Delete row
+$database->query("DELETE FROM ".TABLE_PREFIX."mod_form_fields WHERE field_id = '$field_id'");
+
+// Check if there is a db error, otherwise say successful
+if($database->is_error()) {
+	$admin->print_error($database->get_error(), ADMIN_URL.'/pages/modify.php?page_id='.$page_id);
+} else {
+	$admin->print_success($TEXT['SUCCESS'], ADMIN_URL.'/pages/modify.php?page_id='.$page_id);
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/form/delete_field.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/form/index.php
===================================================================
--- tags/2.8.2/wb/modules/form/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/form/index.php	(revision 1481)
@@ -0,0 +1,33 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+/*
+The Website Baker Project would like to thank Rudolph Lartey <www.carbonect.com>
+for his contributions to this module - adding extra field types
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/form/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/form/uninstall.php
===================================================================
--- tags/2.8.2/wb/modules/form/uninstall.php	(nonexistent)
+++ tags/2.8.2/wb/modules/form/uninstall.php	(revision 1481)
@@ -0,0 +1,41 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+/*
+The Website Baker Project would like to thank Rudolph Lartey <www.carbonect.com>
+for his contributions to this module - adding extra field types
+*/
+
+// Must include code to stop this file being access directly
+if(defined('WB_PATH') == false) { exit("Cannot access this file directly"); }
+
+$database->query("DELETE FROM ".TABLE_PREFIX."search WHERE name = 'module' AND value = 'form'");
+$database->query("DELETE FROM ".TABLE_PREFIX."search WHERE extra = 'form'");
+
+$database->query("DROP TABLE IF EXISTS `".TABLE_PREFIX."mod_form_fields`");
+$database->query("DROP TABLE IF EXISTS `".TABLE_PREFIX."mod_form_settings`");
+$database->query("DROP TABLE IF EXISTS `".TABLE_PREFIX."mod_form_submissions`");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/form/uninstall.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/form/move_up.php
===================================================================
--- tags/2.8.2/wb/modules/form/move_up.php	(nonexistent)
+++ tags/2.8.2/wb/modules/form/move_up.php	(revision 1481)
@@ -0,0 +1,58 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+/*
+The Website Baker Project would like to thank Rudolph Lartey <www.carbonect.com>
+for his contributions to this module - adding extra field types
+*/
+
+require('../../config.php');
+
+// Get id
+if(!isset($_GET['field_id']) OR !is_numeric($_GET['field_id'])) {
+	header("Location: index.php");
+	exit(0);
+} else {
+	$field_id = $_GET['field_id'];
+}
+
+// Include WB admin wrapper script
+require(WB_PATH.'/modules/admin.php');
+
+// Include the ordering class
+require(WB_PATH.'/framework/class.order.php');
+
+// Create new order object an reorder
+$order = new order(TABLE_PREFIX.'mod_form_fields', 'position', 'field_id', 'section_id');
+if($order->move_up($field_id)) {
+	$admin->print_success($TEXT['SUCCESS'], ADMIN_URL.'/pages/modify.php?page_id='.$page_id);
+} else {
+	$admin->print_error($TEXT['ERROR'], ADMIN_URL.'/pages/modify.php?page_id='.$page_id);
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/form/move_up.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/form/delete_submission.php
===================================================================
--- tags/2.8.2/wb/modules/form/delete_submission.php	(nonexistent)
+++ tags/2.8.2/wb/modules/form/delete_submission.php	(revision 1481)
@@ -0,0 +1,58 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+/*
+The Website Baker Project would like to thank Rudolph Lartey <www.carbonect.com>
+for his contributions to this module - adding extra submission types
+*/
+
+require('../../config.php');
+
+// Get id
+if(!isset($_GET['submission_id']) OR !is_numeric($_GET['submission_id'])) {
+	header("Location: ".ADMIN_URL."/pages/index.php");
+	exit(0);
+} else {
+	$submission_id = $_GET['submission_id'];
+}
+
+// Include WB admin wrapper script
+$update_when_modified = true; // Tells script to update when this page was last updated
+require(WB_PATH.'/modules/admin.php');
+
+// Delete row
+$database->query("DELETE FROM ".TABLE_PREFIX."mod_form_submissions WHERE submission_id = '$submission_id'");
+
+// Check if there is a db error, otherwise say successful
+if($database->is_error()) {
+	$admin->print_error($database->get_error(), ADMIN_URL.'/pages/modify.php?page_id='.$page_id);
+} else {
+	$admin->print_success($TEXT['SUCCESS'], ADMIN_URL.'/pages/modify.php?page_id='.$page_id);
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/form/delete_submission.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/form/save_settings.php
===================================================================
--- tags/2.8.2/wb/modules/form/save_settings.php	(nonexistent)
+++ tags/2.8.2/wb/modules/form/save_settings.php	(revision 1481)
@@ -0,0 +1,86 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+/*
+The Website Baker Project would like to thank Rudolph Lartey <www.carbonect.com>
+for his contributions to this module - adding extra field types
+*/
+
+require('../../config.php');
+
+// Include WB admin wrapper script
+$update_when_modified = true; // Tells script to update when this page was last updated
+require(WB_PATH.'/modules/admin.php');
+
+// This code removes any <?php tags and adds slashes
+$friendly = array('&lt;', '&gt;', '?php');
+$raw = array('<', '>', '');
+$header = $admin->add_slashes($_POST['header']);
+$field_loop = $admin->add_slashes($_POST['field_loop']);
+$footer = $admin->add_slashes($_POST['footer']);
+$email_to = $admin->add_slashes($_POST['email_to']);
+$use_captcha = $admin->add_slashes($_POST['use_captcha']);
+if($_POST['email_from_field'] == '') {
+	$email_from = $admin->add_slashes($_POST['email_from']);
+} else {
+	$email_from = $admin->add_slashes($_POST['email_from_field']);
+}
+$email_fromname = $admin->add_slashes($_POST['email_fromname']);
+$email_subject = $admin->add_slashes($_POST['email_subject']);
+$success_page = $admin->add_slashes($_POST['success_page']);
+$success_email_to = $admin->add_slashes($_POST['success_email_to']);
+$success_email_from = $admin->add_slashes($_POST['success_email_from']);
+$success_email_fromname = $admin->add_slashes($_POST['success_email_fromname']);
+$success_email_text = $admin->add_slashes($_POST['success_email_text']);
+$success_email_subject = $admin->add_slashes($_POST['success_email_subject']);
+if(!is_numeric($_POST['max_submissions'])) {
+	$max_submissions = 50;
+} else {
+	$max_submissions = $_POST['max_submissions'];
+}
+if(!is_numeric($_POST['stored_submissions'])) {
+	$stored_submissions = 100;
+} else {
+	$stored_submissions = $_POST['stored_submissions'];
+}
+// Make sure max submissions is not greater than stored submissions if stored_submissions <>0
+if($max_submissions > $stored_submissions) {
+	$max_submissions = $stored_submissions;
+}
+
+// Update settings
+$database->query("UPDATE ".TABLE_PREFIX."mod_form_settings SET header = '$header', field_loop = '$field_loop', footer = '$footer', email_to = '$email_to', email_from = '$email_from', email_fromname = '$email_fromname', email_subject = '$email_subject', success_page = '$success_page', success_email_to = '$success_email_to', success_email_from = '$success_email_from', success_email_fromname = '$success_email_fromname', success_email_text = '$success_email_text', success_email_subject = '$success_email_subject', max_submissions = '$max_submissions', stored_submissions = '$stored_submissions', use_captcha = '$use_captcha' WHERE section_id = '$section_id'");
+
+// Check if there is a db error, otherwise say successful
+if($database->is_error()) {
+	$admin->print_error($database->get_error(), ADMIN_URL.'/pages/modify.php?page_id='.$page_id);
+} else {
+	$admin->print_success($TEXT['SUCCESS'], ADMIN_URL.'/pages/modify.php?page_id='.$page_id);
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/form/save_settings.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/form/add.php
===================================================================
--- tags/2.8.2/wb/modules/form/add.php	(nonexistent)
+++ tags/2.8.2/wb/modules/form/add.php	(revision 1481)
@@ -0,0 +1,56 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+/*
+The Website Baker Project would like to thank Rudolph Lartey <www.carbonect.com>
+for his contributions to this module - adding extra field types
+*/
+
+// Insert an extra rows into the database
+$header = '<table cellpadding=\"2\" cellspacing=\"0\" border=\"0\" width=\"98%\">';
+$field_loop = '<tr><td class=\"field_title\">{TITLE}{REQUIRED}:</td><td>{FIELD}</td></tr>';
+$footer = '<tr><td>&nbsp;</td>
+<td>
+<input type=\"submit\" name=\"submit\" value=\"Submit Form\" />
+</td>
+</tr>
+</table>';
+$email_to = $admin->get_email();
+$email_from = '';
+$email_fromname = '';
+$email_subject = 'Results from form on website...';
+$success_page = 'none';
+$success_email_to = '';
+$success_email_from = $admin->get_email();
+$success_email_fromname = '';
+$success_email_text = 'Thank you for submitting your form on '.WEBSITE_TITLE;
+$success_email_text = addslashes($success_email_text);
+$success_email_subject = 'You have submitted a form';
+$max_submissions = 50;
+$stored_submissions = 50;
+$use_captcha = true;
+$database->query("INSERT INTO ".TABLE_PREFIX."mod_form_settings (page_id,section_id,header,field_loop,footer,email_to,email_from,email_fromname,email_subject,success_page,success_email_to,success_email_from,success_email_fromname,success_email_text,success_email_subject,max_submissions,stored_submissions,use_captcha) VALUES ('$page_id','$section_id','$header','$field_loop','$footer','$email_to','$email_from','$email_fromname','$email_subject','$success_page','$success_email_to','$success_email_from','$success_email_fromname','$success_email_text','$success_email_subject','$max_submissions','$stored_submissions','$use_captcha')");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/form/add.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/form/frontend.css
===================================================================
--- tags/2.8.2/wb/modules/form/frontend.css	(nonexistent)
+++ tags/2.8.2/wb/modules/form/frontend.css	(revision 1481)
@@ -0,0 +1,46 @@
+.required {
+	color: #FF0000;
+}
+.field_title {
+	font-size: 12px;
+	width: 100px;
+	vertical-align: top;
+	text-align:right;
+}
+.textfield {
+	font-size: 12px;
+	width: 200px;
+}
+.textarea {
+	font-size: 12px;
+	width: 90%;
+	height: 100px;
+}
+.field_heading {
+	font-size: 12px;
+	font-weight: bold;
+	border-bottom-width: 2px;
+	border-bottom-style: solid;
+	border-bottom-color: #666666;
+	padding-top: 10px;
+	color: #666666;
+}
+.select {
+	font-size: 12px;
+}
+.checkbox_label {
+	font-size: 11px;
+	cursor: pointer;
+}
+.radio_label {
+	font-size: 11px;
+	cursor: pointer;
+}
+.email {
+	font-size: 12px;
+	width: 200px;
+}
+/*** Don't remove the class nixhier, this is required for ASP ***/
+.nixhier {
+	display:none;
+}
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/form/frontend.css
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/backup/info.php
===================================================================
--- tags/2.8.2/wb/modules/backup/info.php	(nonexistent)
+++ tags/2.8.2/wb/modules/backup/info.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         backup
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+*/
+
+$module_directory = 'backup';
+$module_name = 'Backup';
+$module_function = 'tool';
+$module_version = '2.7';
+$module_platform = '2.7 | 2.8.x';
+$module_author = 'Ryan Djurovich, John';
+$module_license = 'GNU General Public License';
+$module_description = 'This module allows you to backup your database.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/backup/info.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/backup/tool.php
===================================================================
--- tags/2.8.2/wb/modules/backup/tool.php	(nonexistent)
+++ tags/2.8.2/wb/modules/backup/tool.php	(revision 1481)
@@ -0,0 +1,38 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         backup
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+*/
+
+// Direct access prevention
+defined('WB_PATH') OR die(header('Location: ../index.php'));
+
+// check if module language file exists for the language set by the user (e.g. DE, EN)
+if(!file_exists(WB_PATH .'/modules/backup/languages/'.LANGUAGE .'.php')) {
+	// no module language file exists for the language set by the user, include default module language file EN.php
+	require_once(WB_PATH .'/modules/backup/languages/EN.php');
+} else {
+	// a module language file exists for the language defined by the user, load it
+	require_once(WB_PATH .'/modules/backup/languages/'.LANGUAGE .'.php');
+}
+
+// Show form
+?>
+<br />
+<form name="prompt" method="post" action="<?php echo WB_URL; ?>/modules/backup/backup-sql.php">
+		<input type="radio" checked="checked" name="tables" value="ALL"><?php echo $MOD_BACKUP['BACKUP_ALL_TABLES']; ?><br>
+		<input type="radio" name="tables" value="WB"><?php echo $MOD_BACKUP['BACKUP_WB_SPECIFIC']; ?><br><br> 
+	<input type="submit" name="backup" value="<?php echo $TEXT['BACKUP_DATABASE']; ?>" onClick="javascript: if(!confirm('<?php echo $MESSAGE['GENERIC']['PLEASE_BE_PATIENT']; ?>')) { return false; }" />
+</form>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/backup/tool.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/backup/languages/NL.php
===================================================================
--- tags/2.8.2/wb/modules/backup/languages/NL.php	(nonexistent)
+++ tags/2.8.2/wb/modules/backup/languages/NL.php	(revision 1481)
@@ -0,0 +1,24 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         backup
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+*/
+
+// text outputs
+$MOD_BACKUP['BACKUP_ALL_TABLES'] 	= 	'Backup van alle tabellen in de database';
+$MOD_BACKUP['BACKUP_WB_SPECIFIC'] 	= 	'Backup enkel de WB specifieke tabellen';
+$TEXT['BACKUP_DATABASE']		=	'Backup Database';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/backup/languages/NL.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/backup/languages/NO.php
===================================================================
--- tags/2.8.2/wb/modules/backup/languages/NO.php	(nonexistent)
+++ tags/2.8.2/wb/modules/backup/languages/NO.php	(revision 1481)
@@ -0,0 +1,24 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         backup
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// text outputs
+$MOD_BACKUP['BACKUP_ALL_TABLES']	='Sikkerhetskopier alle tabellene i databsen';
+$MOD_BACKUP['BACKUP_WB_SPECIFIC']	='Sikkerhetskopier bare WB sine tabeller';
+$TEXT['BACKUP_DATABASE']			='Sikkerhetskopier Databsen';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/backup/languages/NO.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/backup/languages/EN.php
===================================================================
--- tags/2.8.2/wb/modules/backup/languages/EN.php	(nonexistent)
+++ tags/2.8.2/wb/modules/backup/languages/EN.php	(revision 1481)
@@ -0,0 +1,24 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         backup
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// text outputs
+$MOD_BACKUP['BACKUP_ALL_TABLES'] 	= 	'Backup all tables in database';
+$MOD_BACKUP['BACKUP_WB_SPECIFIC'] 	= 	'Backup only WB-specific tables';
+$TEXT['BACKUP_DATABASE']				=	'Backup Database';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/backup/languages/EN.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/backup/languages/DA.php
===================================================================
--- tags/2.8.2/wb/modules/backup/languages/DA.php	(nonexistent)
+++ tags/2.8.2/wb/modules/backup/languages/DA.php	(revision 1481)
@@ -0,0 +1,24 @@
+<?php
+/**
+ *
+ * @category        backup
+ * @package         language
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// text outputs
+$MOD_BACKUP['BACKUP_ALL_TABLES'] = 'Tag backup af alle tabeller i databasen';
+$MOD_BACKUP['BACKUP_WB_SPECIFIC'] = 'Tag kun backup af WB-tabeller i databasen';
+$TEXT['BACKUP_DATABASE'] = 'Tag backup af databasen';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/backup/languages/DA.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/backup/languages/RU.php
===================================================================
--- tags/2.8.2/wb/modules/backup/languages/RU.php	(nonexistent)
+++ tags/2.8.2/wb/modules/backup/languages/RU.php	(revision 1481)
@@ -0,0 +1,24 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         backup
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// text outputs
+$MOD_BACKUP['BACKUP_ALL_TABLES'] 	= 	'Backup &#1074;&#1089;&#1077;&#1093; &#1090;&#1072;&#1073;&#1083;&#1080;&#1094; &#1073;&#1072;&#1079;&#1099;';
+$MOD_BACKUP['BACKUP_WB_SPECIFIC'] 	= 	'Backup &#1090;&#1086;&#1083;&#1100;&#1082;&#1086; &#1090;&#1072;&#1073;&#1083;&#1080;&#1094; CMS';
+$TEXT['BACKUP_DATABASE']				=	'&#1042;&#1099;&#1087;&#1086;&#1083;&#1085;&#1080;&#1090;&#1100; Backup';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/backup/languages/RU.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/backup/languages/FR.php
===================================================================
--- tags/2.8.2/wb/modules/backup/languages/FR.php	(nonexistent)
+++ tags/2.8.2/wb/modules/backup/languages/FR.php	(revision 1481)
@@ -0,0 +1,27 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         backup
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+//Module Description
+$module_description = 'Ce module permets de sauvegarder votre base de donn&eacute;es';
+
+// text outputs
+$MOD_BACKUP['BACKUP_ALL_TABLES'] 	= 	'Sauvegarder toutes les tables de la base de donn&eacute;es';
+$MOD_BACKUP['BACKUP_WB_SPECIFIC'] 	= 	'Sauvegarder seulement les tables sp&eacute;cifiques &agrave; WB';
+$TEXT['BACKUP_DATABASE']				=	'Sauvegarder la base de donn&eacute;es';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/backup/languages/FR.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/backup/languages/index.php
===================================================================
--- tags/2.8.2/wb/modules/backup/languages/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/backup/languages/index.php	(revision 1481)
@@ -0,0 +1,21 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         backup
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+header("Location: ../../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/backup/languages/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/backup/languages/DE.php
===================================================================
--- tags/2.8.2/wb/modules/backup/languages/DE.php	(nonexistent)
+++ tags/2.8.2/wb/modules/backup/languages/DE.php	(revision 1481)
@@ -0,0 +1,27 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         backup
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// Deutsche Modulbeschreibung
+$module_description = 'Dieses Modul erm&ouml;glicht die Erstellung einer Datenbanksicherung.';
+
+// Textausgaben
+$MOD_BACKUP['BACKUP_ALL_TABLES'] 	=	'Sichern Sie alle Tabellen der Datenbank';
+$MOD_BACKUP['BACKUP_WB_SPECIFIC'] 	= 	'Sichern Sie nur die von WebsiteBaker generierten Tabellen der Datenbank';
+$TEXT['BACKUP_DATABASE']				=	'Erstelle Datenbanksicherung';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/backup/languages/DE.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/backup/backup-sql.php
===================================================================
--- tags/2.8.2/wb/modules/backup/backup-sql.php	(nonexistent)
+++ tags/2.8.2/wb/modules/backup/backup-sql.php	(revision 1481)
@@ -0,0 +1,87 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         backup
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+*/
+
+// Filename to use
+$filename = $_SERVER['HTTP_HOST'].'-backup-'.gmdate('Y-m-d', time()+TIMEZONE).'.sql';
+
+// Check if user clicked on the backup button
+if(!isset($_POST['backup'])){
+	header('Location: ../');
+	exit(0);
+}
+
+// Include config
+require_once('../../config.php');
+
+// Begin output var
+$output = "".
+"#\n".
+"# Website Baker ".WB_VERSION." Database Backup\n".
+"# ".WB_URL."\n".
+"# ".gmdate(DATE_FORMAT, time()+TIMEZONE).", ".gmdate(TIME_FORMAT, time()+TIMEZONE)."\n".
+"#".
+"\n";
+
+// Get table names
+// Use this one for ALL tables in DB
+$query  = "SHOW TABLES";
+
+if ($_POST['tables']=='WB') {
+	// Or use this to get ONLY wb tables
+	$prefix=str_replace('_','\_',TABLE_PREFIX);
+	$query = "SHOW TABLES LIKE '".$prefix."%'";
+}
+
+$result = $database->query($query);
+
+// Loop through tables
+while($row = $result->fetchRow()) {
+	//show sql query to rebuild the query
+	$sql = 'SHOW CREATE TABLE '.$row[0].''; 
+	$query2 = $database->query($sql); 
+	// Start creating sql-backup
+	$sql_backup ="\r\n# Create table ".$row[0]."\r\n\r\n";
+	$out = $query2->fetchRow();
+	$sql_backup.=$out['Create Table'].";\r\n\r\n"; 
+	$sql_backup.="# Dump data for ".$row[0]."\r\n\r\n";
+	// Select everything
+	$out = $database->query('SELECT * FROM '.$row[0]); 
+	$sql_code = '';
+	// Loop through all collumns
+	while($code = $out->fetchRow()) { 
+		$sql_code .= "INSERT INTO ".$row[0]." SET "; 
+		$numeral = 0;
+		foreach($code as $insert => $value) {
+			// Loosing the numerals in array -> mysql_fetch_array($result, MYSQL_ASSOC) WB hasn't? 
+			if($numeral==1) {
+				$sql_code.=$insert ."='".addslashes($value)."',";
+			}
+			$numeral = 1 - $numeral;
+		}
+		$sql_code = substr($sql_code, 0, -1);
+		$sql_code.= ";\r\n";
+	}
+	$output .= $sql_backup.$sql_code; 
+}
+
+// Output file
+header('Content-Type: text/html');
+header('Content-Disposition: attachment; filename='.$filename);
+echo $output;
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/backup/backup-sql.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/backup/index.php
===================================================================
--- tags/2.8.2/wb/modules/backup/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/backup/index.php	(revision 1481)
@@ -0,0 +1,21 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         backup
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/backup/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/output_filter/filter-routines.php
===================================================================
--- tags/2.8.2/wb/modules/output_filter/filter-routines.php	(nonexistent)
+++ tags/2.8.2/wb/modules/output_filter/filter-routines.php	(revision 1481)
@@ -0,0 +1,220 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ * @category   frontend
+ * @package    outputfilter
+ * @author(s)  Dietmar Wöllbrink <Luisehahne>, Dietrich Roland Pehlke <Aldus>
+ * @platform   WB 2.8.0
+ * @require    PHP 5.2.x
+ * @license    http://www.gnu.org/licenses/gpl.html
+ * @link       http://project.websitebaker2.org/browser/branches/2.8.x/wb/modules/output_filter/filter-routines.php
+ * @changeset   2009/12/03 change searchstring mdcr.js, workout crypt emails
+
+*/
+
+// prevent this file from being accessed directly
+if(!defined('WB_PATH')) die(header('Location: ../index.php'));
+
+// function to read the current filter settings
+if (!function_exists('get_output_filter_settings')) {
+	function get_output_filter_settings() {
+		global $database, $admin;
+		// connect to database and read out filter settings
+		$result = $database->query("SELECT * FROM " .TABLE_PREFIX ."mod_output_filter");
+		if($result && $result->numRows() > 0) {
+			// get all data
+			$data = $result->fetchRow();
+			$filter_settings['email_filter'] = $admin->strip_slashes($data['email_filter']);
+			$filter_settings['mailto_filter'] = $admin->strip_slashes($data['mailto_filter']);
+			$filter_settings['at_replacement'] = $admin->strip_slashes($data['at_replacement']);
+			$filter_settings['dot_replacement'] = $admin->strip_slashes($data['dot_replacement']);
+		} else {
+			// something went wrong, use default values
+			$filter_settings['email_filter'] = '0';
+			$filter_settings['mailto_filter'] = '0';
+			$filter_settings['at_replacement'] = '(at)';
+			$filter_settings['dot_replacement'] = '(dot)';
+		}
+		
+		// return array with filter settings
+		return $filter_settings;
+	}
+}
+
+// function to filter the output before displaying it on the frontend
+if (!function_exists('filter_frontend_output')) {
+	function filter_frontend_output($content) {
+		// get output filter settings from database
+		$filter_settings = get_output_filter_settings();
+		
+		// work out the defined output filter mode: possible output filter modes: [0], 1, 2, 3, 6, 7
+		// 2^0 * (0.. disable, 1.. enable) filtering of mail addresses in text
+		// 2^1 * (0.. disable, 1.. enable) filtering of mail addresses in mailto links
+		// 2^2 * (0.. disable, 1.. enable) Javascript mailto encryption (only if mailto filtering enabled)
+
+		// only filter output if we are supposed to
+		if($filter_settings['email_filter'] != '1' && $filter_settings['mailto_filter'] != '1'){
+			// nothing to do ...
+			return $content;
+		}
+
+		// check if non mailto mail addresses needs to be filtered
+		$output_filter_mode = ($filter_settings['email_filter'] == '1') ? 1 : 0;		// 0|1
+
+		// check if mailto mail addresses needs to be filtered
+		if($filter_settings['mailto_filter'] == '1') {
+			$output_filter_mode = $output_filter_mode + 2;								// 0|2
+						
+			// check if Javascript mailto encryption is enabled (call register_frontend_functions in the template)
+			$search = '<script src="' .WB_URL .'/modules/output_filter/js/mdcr.js" type="text/javascript"></script>';
+			$search_droplet = '<script src="' .WB_URL .'/modules/droplets/js/mdcr.js" type="text/javascript"></script>';
+			if(strpos($content, $search) !== false || strpos($content, $search_droplet) !== false) { 
+				$output_filter_mode = $output_filter_mode + 4;							// 0|4
+			}
+		}
+		
+		// define some constants so we do not call the database in the callback function again
+		define('OUTPUT_FILTER_MODE', (int) $output_filter_mode);
+		define('OUTPUT_FILTER_AT_REPLACEMENT', $filter_settings['at_replacement']);
+		define('OUTPUT_FILTER_DOT_REPLACEMENT', $filter_settings['dot_replacement']);
+		
+		// first search part to find all mailto email addresses
+		$pattern = '#(<a[^<]*href\s*?=\s*?"\s*?mailto\s*?:\s*?)([A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,4})([^"]*?)"([^>]*>)(.*?)</a>';
+		// second part to find all non mailto email addresses
+		$pattern .= '|(value\s*=\s*"|\')??\b([A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,4})\b#i';
+		/*
+		Sub 1:\b(<a.[^<]*href\s*?=\s*?"\s*?mailto\s*?:\s*?)			-->	"<a id="yyy" class="xxx" href = " mailto :" ignoring white spaces
+		Sub 2:([A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,4})			-->	the email address in the mailto: part of the mail link
+		Sub 3:([^"]*?)"												--> possible ?Subject&cc... stuff attached to the mail address
+		Sub 4:([^>]*>)												--> all class or id statements after the mailto but before closing ..>
+		Sub 5:(.*?)</a>\b											--> the mailto text; all characters between >xxxxx</a>
+		Sub 6:|\b([A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,4})\b		--> email addresses which may appear in the text (require word boundaries)
+		*/
+			
+		// find all email addresses embedded in the content and filter them using a callback function
+		$content = preg_replace_callback($pattern, 'filter_mail_addresses', $content);
+		return $content;
+	}
+}		
+
+
+// function to filter mail addresses embedded in text or mailto links before outputing them on the frontend
+if (!function_exists('filter_mail_addresses')) {
+	function filter_mail_addresses($match) { 
+		
+		// check if required output filter mode is defined
+		if(!(defined('OUTPUT_FILTER_MODE') && defined('OUTPUT_FILTER_MODE') && defined('OUTPUT_FILTER_MODE'))) {
+			return $match[0];
+		}
+		
+		$search = array('@', '.');
+		$replace = array(OUTPUT_FILTER_AT_REPLACEMENT ,OUTPUT_FILTER_DOT_REPLACEMENT);
+		
+		// check if the match contains the expected number of subpatterns (6|8)
+		if(count($match) == 8) {
+			/**
+				OUTPUT FILTER FOR EMAIL ADDRESSES EMBEDDED IN TEXT
+			**/
+			
+			// 1.. text mails only, 3.. text mails + mailto (no JS), 7 text mails + mailto (JS)
+			if(!in_array(OUTPUT_FILTER_MODE, array(1,3,7))) return $match[0];
+
+			// do not filter mail addresses included in input tags (<input ... value = "test@mail)
+			if (strpos($match[6], 'value') !== false) return $match[0];
+			
+			// filtering of non mailto email addresses enabled
+			return str_replace($search, $replace, $match[0]);
+				
+		} elseif(count($match) == 6) {
+			/**
+				OUTPUT FILTER FOR EMAIL ADDRESSES EMBEDDED IN MAILTO LINKS
+			**/
+
+			// 2.. mailto only (no JS), 3.. text mails + mailto (no JS), 6.. mailto only (JS), 7.. all filters active
+			if(!in_array(OUTPUT_FILTER_MODE, array(2,3,6,7))) return $match[0];
+			
+			// check if last part of the a href link: >xxxx</a> contains a email address we need to filter
+			$pattern = '#[A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,4}#i';
+			if(preg_match_all($pattern, $match[5], $matches)) {
+				foreach($matches as $submatch) {
+					foreach($submatch as $value) {
+						// replace all . and all @ in email address parts by (dot) and (at) strings
+						$match[5] = str_replace($value, str_replace($search, $replace, $value), $match[5]);
+					}
+				}
+			}
+
+			// check if Javascript encryption routine is enabled
+			if(in_array(OUTPUT_FILTER_MODE, array(6,7))) {
+				/** USE JAVASCRIPT ENCRYPTION FOR MAILTO LINKS **/
+				
+				// extract possible class and id attribute from ahref link
+				preg_match('/class\s*?=\s*?("|\')(.*?)\1/ix', $match[0], $class_attr);
+				$class_attr = empty($class_attr) ? '' : 'class="' . $class_attr[2] . '" ';
+				preg_match('/id\s*?=\s*?("|\')(.*?)\1/ix', $match[0], $id_attr);
+				$id_attr = empty($id_attr) ? '' : 'id="' . $id_attr[2] . '" ';
+				
+				// preprocess mailto link parts for further usage
+				$search = array('@', '.', '_', '-'); $replace = array('F', 'Z', 'X', 'K');
+				$email_address = str_replace($search, $replace, strtolower($match[2]));
+				$email_subject = rawurlencode(html_entity_decode($match[3]));
+				
+				// create a random encryption key for the Caesar cipher
+				mt_srand((double)microtime()*1000000);	// (PHP < 4.2.0)
+				$shift = mt_rand(1, 25);
+				
+				// encrypt the email using an adapted Caesar cipher
+		  		$encrypted_email = "";
+				for($i = strlen($email_address) -1; $i > -1; $i--) {
+					if(preg_match('#[FZXK0-9]#', $email_address[$i], $characters)) {
+						$encrypted_email .= $email_address[$i];
+					} else {	
+						$encrypted_email .= chr((ord($email_address[$i]) -97 + $shift) % 26 + 97);
+					}
+				}
+				$encrypted_email .= chr($shift + 97);
+
+				// build the encrypted Javascript mailto link
+				$mailto_link  = "<a {$class_attr}{$id_attr}href=\"javascript:mdcr('$encrypted_email','$email_subject')\">" .$match[5] ."</a>";
+				
+				return $mailto_link;	
+
+			} else {
+				/** DO NOT USE JAVASCRIPT ENCRYPTION FOR MAILTO LINKS **/
+
+				// as minimum protection, replace replace @ in the mailto part by (at)
+				// dots are not transformed as this would transform my.name@domain.com into: my(dot)name(at)domain(dot)com
+				
+				// rebuild the mailto link from the subpatterns (at the missing characters " and </a>")
+				return $match[1] .str_replace('@', OUTPUT_FILTER_AT_REPLACEMENT, $match[2]) .$match[3] .'"' .$match[4] .$match[5] .'</a>';
+				// if you want to protect both, @ and dots, comment out the line above and remove the comment from the line below
+				// return $match[1] .str_replace($search, $replace, $match[2]) .$match[3] .'"' .$match[4] .$match[5] .'</a>';
+			}
+		
+		}
+		
+		// number of subpatterns do not match the requirements ... do nothing
+		return $match[0];
+	}		
+}
+
+?>

Property changes on: tags/2.8.2/wb/modules/output_filter/filter-routines.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/output_filter/info.php
===================================================================
--- tags/2.8.2/wb/modules/output_filter/info.php	(nonexistent)
+++ tags/2.8.2/wb/modules/output_filter/info.php	(revision 1481)
@@ -0,0 +1,45 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  Output Filter tool for Website Baker v2.7
+  Licencsed under GNU, written by Christian Sommer (Doc)
+ -----------------------------------------------------------------------------------------
+   v0.11  (Chritian Sommer; 06 Feb, 2008)
+    ~ renamed module to output filter, splitted email filter in two functions (text emails, mailto links)
+
+   v0.10  (Christian Sommer; 21 Jan, 2008)
+    ~ initial module release (Note: requires WB 2.7 core file changes to work)
+
+*/
+
+$module_directory 	= 'output_filter';
+$module_name 				= 'Frontend Output Filter';
+$module_function 		= 'tool';
+$module_version 		= '0.11';
+$module_platform 		= '2.7 | 2.8.x';
+$module_author 			= 'Christian Sommer (doc)';
+$module_license 		= 'GNU General Public License';
+$module_description = 'This module allows to filter the output before displaying it on the frontend. Support for filtering mailto links and mail addresses in strings.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/output_filter/info.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/output_filter/languages/DA.php
===================================================================
--- tags/2.8.2/wb/modules/output_filter/languages/DA.php	(nonexistent)
+++ tags/2.8.2/wb/modules/output_filter/languages/DA.php	(revision 1481)
@@ -0,0 +1,45 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  DANISH LANGUAGE FILE FOR THE ADDON: OUTPUT_FILTER
+ -----------------------------------------------------------------------------------------
+*/
+
+// Headings and text outputs
+$MOD_MAIL_FILTER['HEADING'] = 'Indstillinger: Output-filter';
+$MOD_MAIL_FILTER['HOWTO'] = 'Du kan konfigurere output-filteret med indstillingerne nedenfor.<p style="line-height:1.5em;"><strong>Tip: </strong>Mailadresser kan krypteres vedhj&Atilde;&brvbar;lp af en  Javascript-funktion. For at g&Atilde;¸re brug af denne indstilling, skal du tilf&Atilde;¸je PHP-koden <code style="background:#FFA;color:#900;"><?php register_frontend_modfiles(js);?></code> til <head> sektionnen af  index.php i din template (layout-skabelon). Uden denne &Atilde;&brvbar;ndring vil kun @-tegnet i email-adressen blive erstattet.</p>';
+$MOD_MAIL_FILTER['WARNING'] = '<p style="color: red; line-height:1.5em;"><strong>Advarsel: </strong>Denne funktion fundes nu som en droplet. Den n&Atilde;&brvbar;ste hovedversion af Website Baker vil ikke indeholde dette filter. Brug i stedet <a href="?tool=droplets">Droplet</a> [[EmailFilter]]</p>';
+
+// Text and captions of form elements
+$MOD_MAIL_FILTER['BASIC_CONF'] = 'Email grundindstillinger';
+$MOD_MAIL_FILTER['EMAIL_FILTER'] = 'Filtrer emailadresser i tekst';
+$MOD_MAIL_FILTER['MAILTO_FILTER'] = 'Filtrer emailadresser i mailto-links';
+$MOD_MAIL_FILTER['ENABLED'] = 'Aktiveret';
+$MOD_MAIL_FILTER['DISABLED'] = 'Deaktiveret';
+
+$MOD_MAIL_FILTER['REPLACEMENT_CONF'] = 'Email erstatninger';
+$MOD_MAIL_FILTER['AT_REPLACEMENT'] = 'Erstat "@" med';
+$MOD_MAIL_FILTER['DOT_REPLACEMENT'] = 'Erstat "." med';
+
+?>

Property changes on: tags/2.8.2/wb/modules/output_filter/languages/DA.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/output_filter/languages/NO.php
===================================================================
--- tags/2.8.2/wb/modules/output_filter/languages/NO.php	(nonexistent)
+++ tags/2.8.2/wb/modules/output_filter/languages/NO.php	(revision 1481)
@@ -0,0 +1,45 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+-----------------------------------------------------------------------------------------
+NORSK LANGUAGE FILE FOR THE ADDON: OUTPUT_FILTER
+-----------------------------------------------------------------------------------------
+*/
+
+// Headings and text outputs
+$MOD_MAIL_FILTER['HEADING']	= 'Valg: Filtrering av ut data';
+$MOD_MAIL_FILTER['HOWTO']	= 'Du kan gj&oslash;re innstillinger for utdatafitreringen i valgene nedenfor.<p style="line-height:1.5em;"><strong>Tips: </strong>Mailto linker kan krypteres av en Javascript funksjon. For &aring; f&aring; benyttet denne funksjonen, m&aring; det legges til f&oslash;lgende PHP kode <code style="background:#FFA;color:#900;">&lt;?php register_frontend_modfiles(\'js\');?&gt;</code> inn i &lt;head&gt; seksjonen i index.php p&aring; design malen din. Uten denne modifikasjonen, vil kun @ karakterer i mailto linker bli erstattet.</p>';
+$MOD_MAIL_FILTER['WARNING']						= '<p style="color: red; line-height:1.5em;"><strong>Warning: </strong>This function is now available as a Droplet. The next major release of website baker will not include this filter anymore. Please concider using the <a href="?tool=droplets">Droplet</a> [[EmailFilter]]</p>';
+
+// Text and captions of form elements
+$MOD_MAIL_FILTER['BASIC_CONF']	= 'Enkel Epost konfigurasjon';
+$MOD_MAIL_FILTER['EMAIL_FILTER']	= 'Filtrer Epost adresser i tekst';
+$MOD_MAIL_FILTER['MAILTO_FILTER']	= 'Filtrer Epost adresser i mailto linker';
+$MOD_MAIL_FILTER['ENABLED']	= 'P&aring;sl&aring;tt';
+$MOD_MAIL_FILTER['DISABLED']	= 'Avsl&aring;tt';
+
+$MOD_MAIL_FILTER['REPLACEMENT_CONF']= 'Endringe i Epost adresser';
+$MOD_MAIL_FILTER['AT_REPLACEMENT']	= 'Bytt "@" med';
+$MOD_MAIL_FILTER['DOT_REPLACEMENT']	= 'Bytt "." med';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/output_filter/languages/NO.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/output_filter/languages/RU.php
===================================================================
--- tags/2.8.2/wb/modules/output_filter/languages/RU.php	(nonexistent)
+++ tags/2.8.2/wb/modules/output_filter/languages/RU.php	(revision 1481)
@@ -0,0 +1,45 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project http://www.websitebaker.org/
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  RUSSIAN LANGUAGE FILE FOR THE ADDON: OUTPUT_FILTER
+ -----------------------------------------------------------------------------------------
+*/
+
+// Headings and text outputs
+$MOD_MAIL_FILTER['HEADING']				= '&#1053;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080;: Output Filter';
+$MOD_MAIL_FILTER['HOWTO']						= '&#1042;&#1099; &#1084;&#1086;&#1078;&#1077;&#1090;&#1077; &#1085;&#1072;&#1089;&#1090;&#1088;&#1086;&#1080;&#1090;&#1100; &#1092;&#1080;&#1083;&#1100;&#1090;&#1088;&#1072;&#1094;&#1080;&#1102;, &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1091;&#1103; &#1085;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080; &#1085;&#1080;&#1078;&#1077;.<p style="line-height:1.5em;"><strong>&#1042;&#1072;&#1078;&#1085;&#1086;: </strong>Mailto &#1089;&#1089;&#1099;&#1083;&#1082;&#1080; &#1084;&#1086;&#1075;&#1091;&#1090; &#1073;&#1099;&#1090;&#1100; &#1089;&#1082;&#1088;&#1099;&#1090;&#1099; &#1086;&#1090; &#1089;&#1087;&#1072;&#1084;&#1077;&#1088;&#1086;&#1074; &#1089; &#1087;&#1086;&#1084;&#1086;&#1097;&#1100;&#1102; Javascript. &#1063;&#1090;&#1086;&#1073;&#1099; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1100; &#1101;&#1090;&#1091; &#1074;&#1086;&#1079;&#1084;&#1086;&#1078;&#1085;&#1086;&#1089;&#1090;&#1100;, &#1076;&#1086;&#1073;&#1072;&#1074;&#1100;&#1090;&#1077; &#1089;&#1083;&#1077;&#1076;&#1091;&#1102;&#1097;&#1080;&#1081; PHP &#1082;&#1086;&#1076; <code style="background:#FFA;color:#900;">&lt;?php register_frontend_modfiles(\'js\');?&gt;</code> &#1074; &lt;head&gt; &#1089;&#1077;&#1082;&#1094;&#1080;&#1102; index.php &#1092;&#1072;&#1081;&#1083;&#1072; &#1074;&#1072;&#1096;&#1077;&#1075;&#1086; &#1096;&#1072;&#1073;&#1083;&#1086;&#1085;&#1072;. &#1048;&#1085;&#1072;&#1095;&#1077; &#1090;&#1086;&#1083;&#1100;&#1082;&#1086; &#1089;&#1080;&#1084;&#1074;&#1086;&#1083; @ &#1073;&#1091;&#1076;&#1077;&#1090; &#1079;&#1072;&#1084;&#1077;&#1085;&#1077;&#1085; &#1074; mailto &#1089;&#1089;&#1099;&#1083;&#1082;&#1072;&#1093;.</p>';
+$MOD_MAIL_FILTER['WARNING']						= '<p style="color: red; line-height:1.5em;"><strong>Warning: </strong>This function is now available as a Droplet. The next major release of website baker will not include this filter anymore. Please concider using the <a href="?tool=droplets">Droplet</a> [[EmailFilter]]</p>';
+
+// Text and captions of form elements
+$MOD_MAIL_FILTER['BASIC_CONF']			= '&#1054;&#1089;&#1085;&#1086;&#1074;&#1085;&#1099;&#1077; &#1085;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080; Email';
+$MOD_MAIL_FILTER['EMAIL_FILTER']		= '&#1057;&#1082;&#1088;&#1099;&#1074;&#1072;&#1090;&#1100; Email &#1072;&#1076;&#1088;&#1077;&#1089;&#1072; &#1074; &#1090;&#1077;&#1082;&#1089;&#1090;&#1077;';
+$MOD_MAIL_FILTER['MAILTO_FILTER']		= '&#1057;&#1082;&#1088;&#1099;&#1074;&#1072;&#1090;&#1100; Email &#1072;&#1076;&#1088;&#1077;&#1089;&#1072; &#1074; mailto &#1089;&#1089;&#1099;&#1083;&#1082;&#1072;&#1093;';
+$MOD_MAIL_FILTER['ENABLED']					= '&#1042;&#1082;&#1083;&#1102;&#1095;&#1077;&#1085;&#1086;';
+$MOD_MAIL_FILTER['DISABLED']				= '&#1042;&#1099;&#1082;&#1083;&#1102;&#1095;&#1077;&#1085;&#1086;';
+
+$MOD_MAIL_FILTER['REPLACEMENT_CONF']= '&#1047;&#1072;&#1084;&#1077;&#1085;&#1099; &#1074; &#1072;&#1076;&#1088;&#1077;&#1089;&#1072;&#1093; Email';
+$MOD_MAIL_FILTER['AT_REPLACEMENT']	= '&#1047;&#1072;&#1084;&#1077;&#1085;&#1103;&#1090;&#1100; "@" &#1085;&#1072;';
+$MOD_MAIL_FILTER['DOT_REPLACEMENT']	= '&#1047;&#1072;&#1084;&#1077;&#1085;&#1103;&#1090;&#1100; "." &#1085;&#1072;';
+
+?>

Property changes on: tags/2.8.2/wb/modules/output_filter/languages/RU.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/output_filter/languages/FR.php
===================================================================
--- tags/2.8.2/wb/modules/output_filter/languages/FR.php	(nonexistent)
+++ tags/2.8.2/wb/modules/output_filter/languages/FR.php	(revision 1481)
@@ -0,0 +1,47 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  FRENCH LANGUAGE FILE FOR THE ADDON: OUTPUT_FILTER
+ -----------------------------------------------------------------------------------------
+*/
+//Module Description
+$module_description = 'Ce module g&egrave;re le filtrage des donn&eacute;es avant affichage &agrave; l&apos;utilisateur. Permets de filtrer les liens mailto et les adresses emails.';
+
+// Headings and text outputs
+$MOD_MAIL_FILTER['HEADING']				= 'Options: Output Filter';
+$MOD_MAIL_FILTER['HOWTO']						= 'Vous pouvez configurer le filtrage des donn&eacute;es avant affichage gr&acirc;ce aux options ci-dessous.<p style="line-height:1.5em;"><strong>Conseil: </strong>Les liens Mailto peuvent &ecirc;tre crypt&eacute;s &agrave; l&apos;aide d&apos;une fonction Javascript. Pour utiliser cette fonctionnalit&eacute;, vous devez ajouter le code PHP <code style="background:#FFA;color:#900;">&lt;?php register_frontend_modfiles(&apos;js&apos;);?&gt;</code> dans la partie &lt;head&gt; de index.php de votre fichier mod&egrave;le. Sans cette modification, seulement le caract&egrave;re @ sera remplac&eacute; dans le champ mailto.</p>';
+$MOD_MAIL_FILTER['WARNING']						= '<p style="color: red; line-height:1.5em;"><strong>Warning: </strong>This function is now available as a Droplet. The next major release of website baker will not include this filter anymore. Please concider using the <a href="?tool=droplets">Droplet</a> [[EmailFilter]]</p>';
+
+// Text and captions of form elements
+$MOD_MAIL_FILTER['BASIC_CONF']			= 'Configuration de base des Emails';
+$MOD_MAIL_FILTER['EMAIL_FILTER']		= 'Filtrer le texte des Emails';
+$MOD_MAIL_FILTER['MAILTO_FILTER']		= 'Filtrer les liens mailto des Emails';
+$MOD_MAIL_FILTER['ENABLED']					= 'Activ&eacute;';
+$MOD_MAIL_FILTER['DISABLED']				= 'D&eacute;sactiv&eacute;';
+
+$MOD_MAIL_FILTER['REPLACEMENT_CONF']= 'Remplacements';
+$MOD_MAIL_FILTER['AT_REPLACEMENT']	= 'Remplacer "@" par';
+$MOD_MAIL_FILTER['DOT_REPLACEMENT']	= 'Remplacer "." par';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/output_filter/languages/FR.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/output_filter/languages/DE.php
===================================================================
--- tags/2.8.2/wb/modules/output_filter/languages/DE.php	(nonexistent)
+++ tags/2.8.2/wb/modules/output_filter/languages/DE.php	(revision 1481)
@@ -0,0 +1,48 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  DEUTSCHE SPRACHDATEI FUER DAS MODUL: OUTPUT_FILTER
+ -----------------------------------------------------------------------------------------
+*/
+
+// Deutsche Modulbeschreibung
+$module_description 					= 'Dieses Modul erlaubt die Filterung von Inhalten vor der Anzeige im Frontendbereich. Unterst&uuml;zt die Filterung von Emailadressen in mailto Links und Text.';
+
+// Ueberschriften und Textausgaben
+$MOD_MAIL_FILTER['HEADING']				= 'Optionen: Ausgabe Filterung';
+$MOD_MAIL_FILTER['HOWTO']				= '&Uuml;ber nachfolgende Optionen kann die Ausgabefilterung konfiguriert werden.<p style="line-height:1.5em;"><strong>Tipp: </strong>Mailto Links k&ouml;nnen mit einer Javascript Routine verschl&uuml;sselt werden. Um diese Option zu aktivieren muss der PHP Befehl <code style="background:#FFA;color:#900;">&lt;?php register_frontend_modfiles(\'js\');?&gt;</code> im &lt;head&gt; Bereich der index.php Ihres Templates eingebunden werden. Ohne diese &Auml;nderungen wird nur das @ Zeichen im mailto: Teil ersetzt.</p>';
+$MOD_MAIL_FILTER['WARNING']				= '<p style="color: red; line-height:1.5em;"><strong>Achtung: </strong>Diese Funktion ist auch als Droplet verf&uuml;gbar. Ab der n&auml;chsten WB Version wird der Output-Filter deswegen nicht mehr enthalten sein. Es wird empfohlen deine Seiten auf das <a href="?tool=droplets">Droplet</a> [[EmailFilter]] umzustellen.</p>';
+
+// Text von Form Elementen
+$MOD_MAIL_FILTER['BASIC_CONF']			= 'Grundeinstellungen';
+$MOD_MAIL_FILTER['EMAIL_FILTER']		= 'Filtere E-Mail Adressen im Text';
+$MOD_MAIL_FILTER['MAILTO_FILTER']		= 'Filtere E-Mail Adressen in mailto Links';
+$MOD_MAIL_FILTER['ENABLED']				= 'Aktiviert';
+$MOD_MAIL_FILTER['DISABLED']			= 'Ausgeschaltet';
+
+$MOD_MAIL_FILTER['REPLACEMENT_CONF']	= 'Email Ersetzungen';
+$MOD_MAIL_FILTER['AT_REPLACEMENT']		= 'Ersetze "@" durch';
+$MOD_MAIL_FILTER['DOT_REPLACEMENT']		= 'Ersetze "." durch';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/output_filter/languages/DE.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/output_filter/languages/NL.php
===================================================================
--- tags/2.8.2/wb/modules/output_filter/languages/NL.php	(nonexistent)
+++ tags/2.8.2/wb/modules/output_filter/languages/NL.php	(revision 1481)
@@ -0,0 +1,45 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  ENGLISH LANGUAGE FILE FOR THE ADDON: OUTPUT_FILTER
+ -----------------------------------------------------------------------------------------
+*/
+
+// Headings and text outputs
+$MOD_MAIL_FILTER['HEADING']				= 'Beheersinstellingen: Output Filter';
+$MOD_MAIL_FILTER['HOWTO']				= 'Hier kan je de uitvoer filteren met onderstaande opties.<p style="line-height:1.5em;"><strong>Tip: </strong>Mailto links kunnen gecodeerd worden door een Javascript functie. Om van deze optie gebruik te kunnen maken moet je de PHP code <code style="background:#FFA;color:#900;">&lt;?php register_frontend_modfiles(\'js\');?&gt;</code> in de &lt;head&gt; sectie van het index.php bestand van je template plaatsen. Zonder deze aanpassing zal enkel het @ teken in het mailto deel vervangen worden.</p>';
+$MOD_MAIL_FILTER['WARNING']				= '<p style="color: red; line-height:1.5em;"><strong>Waarschuwing: </strong>Deze functionaliteit is vanaf nu ook beschikbaar als Droplet. De volgende versie van Website Baker (2.9) zal dit filter dan ook niet meer ondersteunen. Gebruik voortaan de <a href="?tool=droplets">Droplet</a> [[EmailFilter]]</p>';
+
+// Text and captions of form elements
+$MOD_MAIL_FILTER['BASIC_CONF']			= 'E-mail Configuratie';
+$MOD_MAIL_FILTER['EMAIL_FILTER']		= 'Filter E-mail adressen in tekst';
+$MOD_MAIL_FILTER['MAILTO_FILTER']		= 'Filter E-mail adressen in mailto links';
+$MOD_MAIL_FILTER['ENABLED']				= 'Aan';
+$MOD_MAIL_FILTER['DISABLED']			= 'Uit';
+
+$MOD_MAIL_FILTER['REPLACEMENT_CONF']	= 'Vervang E-mail tekens';
+$MOD_MAIL_FILTER['AT_REPLACEMENT']		= 'Vervang "@" door';
+$MOD_MAIL_FILTER['DOT_REPLACEMENT']		= 'Vervang "." door';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/output_filter/languages/NL.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/output_filter/languages/EN.php
===================================================================
--- tags/2.8.2/wb/modules/output_filter/languages/EN.php	(nonexistent)
+++ tags/2.8.2/wb/modules/output_filter/languages/EN.php	(revision 1481)
@@ -0,0 +1,45 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  ENGLISH LANGUAGE FILE FOR THE ADDON: OUTPUT_FILTER
+ -----------------------------------------------------------------------------------------
+*/
+
+// Headings and text outputs
+$MOD_MAIL_FILTER['HEADING']				= 'Options: Output Filter';
+$MOD_MAIL_FILTER['HOWTO']						= 'You can configure the output filtering with the options below.<p style="line-height:1.5em;"><strong>Tip: </strong>Mailto links can be encrypted by a Javascript function. To make use of this option, one needs to add the PHP code <code style="background:#FFA;color:#900;">&lt;?php register_frontend_modfiles(\'js\');?&gt;</code> into the &lt;head&gt; section of the index.php of your template. Without this modification, only the @ character in the mailto part will be replaced.</p>';
+$MOD_MAIL_FILTER['WARNING']						= '<p style="color: red; line-height:1.5em;"><strong>Warning: </strong>This function is now available as a Droplet. The next major release of website baker will not include this filter anymore. Please concider using the <a href="?tool=droplets">Droplet</a> [[EmailFilter]]</p>';
+
+// Text and captions of form elements
+$MOD_MAIL_FILTER['BASIC_CONF']			= 'Basic Email Configuration';
+$MOD_MAIL_FILTER['EMAIL_FILTER']		= 'Filter Email addresses in text';
+$MOD_MAIL_FILTER['MAILTO_FILTER']		= 'Filter Email addresses in mailto links';
+$MOD_MAIL_FILTER['ENABLED']					= 'Enabled';
+$MOD_MAIL_FILTER['DISABLED']				= 'Disabled';
+
+$MOD_MAIL_FILTER['REPLACEMENT_CONF']= 'Email Replacements';
+$MOD_MAIL_FILTER['AT_REPLACEMENT']	= 'Replace "@" by';
+$MOD_MAIL_FILTER['DOT_REPLACEMENT']	= 'Replace "." by';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/output_filter/languages/EN.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/output_filter/languages/index.php
===================================================================
--- tags/2.8.2/wb/modules/output_filter/languages/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/output_filter/languages/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/output_filter/languages/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/output_filter/tool.php
===================================================================
--- tags/2.8.2/wb/modules/output_filter/tool.php	(nonexistent)
+++ tags/2.8.2/wb/modules/output_filter/tool.php	(revision 1481)
@@ -0,0 +1,113 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// prevent this file from being accessed directly
+if(!defined('WB_PATH')) die(header('Location: ../index.php'));
+
+// check if module language file exists for the language set by the user (e.g. DE, EN)
+$MOD_MAIL_FILTER['WARNING']	= '<p style="color: red; line-height:1.5em;"><strong>Warning: </strong>This function is now available as a Droplet. The next major release of website baker will not include this filter anymore. Please concider using the <a href="?tool=droplets">Droplet</a> [[EmailFilter]]</p>';
+if(!file_exists(WB_PATH .'/modules/output_filter/languages/'.LANGUAGE .'.php')) {
+	// no module language file exists for the language set by the user, include default module language file EN.php
+	require_once(WB_PATH .'/modules/output_filter/languages/EN.php');
+} else {
+	// a module language file exists for the language defined by the user, load it
+	require_once(WB_PATH .'/modules/output_filter/languages/'.LANGUAGE .'.php');
+}
+// check if data was submitted
+if(isset($_POST['save_settings'])) {
+	// get overall output filter settings
+	$email_filter = (isset($_POST['email_filter']) && $_POST['email_filter'] == '1') ? '1' : '0';
+	$mailto_filter = (isset($_POST['mailto_filter']) && $_POST['mailto_filter'] == '1') ? '1' : '0';
+	
+	// get email replacement settings
+	$at_replacement = isset($_POST['at_replacement']) ?strip_tags($_POST['at_replacement']) : '';
+	$at_replacement = (strlen(trim($at_replacement)) > 0) ? $admin->add_slashes($at_replacement) : '(at)';
+	$dot_replacement = isset($_POST['dot_replacement']) ?strip_tags($_POST['dot_replacement']) : '';
+	$dot_replacement = (strlen(trim($dot_replacement)) > 0) ? $admin->add_slashes($dot_replacement) : '(dot)';
+	
+	// update database settings
+	$database->query("UPDATE " .TABLE_PREFIX ."mod_output_filter SET email_filter = '$email_filter', 
+		mailto_filter = '$mailto_filter', at_replacement = '$at_replacement', dot_replacement = '$dot_replacement'");
+
+	// check if there is a database error, otherwise say successful
+	if($database->is_error()) {
+		$admin->print_error($database->get_error(), $js_back);
+	} else {
+		$admin->print_success($MESSAGE['PAGES']['SAVED'], ADMIN_URL.'/admintools/tool.php?tool=output_filter');
+	}
+
+} else {
+	// write out heading
+	echo '<h2>' .$MOD_MAIL_FILTER['HEADING'] .'</h2>';
+
+	// include filter functions
+	require_once(WB_PATH .'/modules/output_filter/filter-routines.php');
+	
+	// read the mail filter settings from the database 
+	$data = get_output_filter_settings();
+	
+	// output the form with values from the database
+	echo '<p>' .$MOD_MAIL_FILTER['HOWTO'] .'</p>';
+	echo $MOD_MAIL_FILTER['WARNING'];
+?>
+<form name="store_settings" action="<?php echo $_SERVER['REQUEST_URI'];?>" method="post">
+	<table width="98%" cellspacing="0" cellpadding="5px" class="row_a">
+	<tr><td colspan="2"><strong><?php echo $MOD_MAIL_FILTER['BASIC_CONF'];?>:</strong></td></tr>
+	<tr>
+		<td width="35%"><?php echo $MOD_MAIL_FILTER['EMAIL_FILTER'];?>:</td>
+		<td>
+			<input type="radio" <?php echo ($data['email_filter']=='1') ?'checked="checked"' :'';?>
+				name="email_filter" value="1"><?php echo $MOD_MAIL_FILTER['ENABLED'];?>
+			<input type="radio" <?php echo (($data['email_filter'])=='0') ?'checked="checked"' :'';?>
+				name="email_filter" value="0"><?php echo $MOD_MAIL_FILTER['DISABLED'];?>
+		</td>
+	</tr>
+	<tr>
+		<td><?php echo $MOD_MAIL_FILTER['MAILTO_FILTER'];?>:</td>
+		<td>
+			<input type="radio" <?php echo ($data['mailto_filter']=='1') ?'checked="checked"' :'';?>
+				name="mailto_filter" value="1"><?php echo $MOD_MAIL_FILTER['ENABLED'];?>
+			<input type="radio" <?php echo (($data['mailto_filter'])=='0') ?'checked="checked"' :'';?>
+				name="mailto_filter" value="0"><?php echo $MOD_MAIL_FILTER['DISABLED'];?>
+		</td>
+	</tr>
+	<tr><td colspan="2"><br /><strong><?php echo $MOD_MAIL_FILTER['REPLACEMENT_CONF'];?>:</strong></td></tr>
+	<tr>
+		<td><?php echo $MOD_MAIL_FILTER['AT_REPLACEMENT'];?>:</td>
+		<td><input type="text" style="width: 160px" value="<?php echo $data['at_replacement'];?>" 
+			name="at_replacement"/></td>
+	</tr>
+	<tr>
+		<td><?php echo $MOD_MAIL_FILTER['DOT_REPLACEMENT'];?>:</td>
+		<td><input type="text" style="width: 160px" value="<?php echo $data['dot_replacement'];?>" 
+			name="dot_replacement"/></td>
+	</tr>
+	</table>
+	<input type="submit" name="save_settings" style="margin-top:10px; width:140px;" value="<?php echo $TEXT['SAVE']; ?>" />
+</form>
+<?php
+}
+
+?>

Property changes on: tags/2.8.2/wb/modules/output_filter/tool.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/output_filter/uninstall.php
===================================================================
--- tags/2.8.2/wb/modules/output_filter/uninstall.php	(nonexistent)
+++ tags/2.8.2/wb/modules/output_filter/uninstall.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// prevent this file from being accessed directly
+if(!defined('WB_PATH')) die(header('Location: ../index.php'));
+
+$table = TABLE_PREFIX .'mod_output_filter';
+$database->query("DROP TABLE IF EXISTS `$table`");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/output_filter/uninstall.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/output_filter/install.php
===================================================================
--- tags/2.8.2/wb/modules/output_filter/install.php	(nonexistent)
+++ tags/2.8.2/wb/modules/output_filter/install.php	(revision 1481)
@@ -0,0 +1,44 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// prevent this file from being accessed directly
+if(!defined('WB_PATH')) die(header('Location: ../index.php'));
+
+$table = TABLE_PREFIX .'mod_output_filter';
+$database->query("DROP TABLE IF EXISTS `$table`");
+
+$database->query("CREATE TABLE `$table` (
+	`email_filter` VARCHAR(1) NOT NULL DEFAULT '0',
+	`mailto_filter` VARCHAR(1) NOT NULL DEFAULT '0',
+	`at_replacement` VARCHAR(255) NOT NULL DEFAULT '(at)',
+	`dot_replacement` VARCHAR(255) NOT NULL DEFAULT '(dot)'
+	)"
+);
+
+// add default values to the module table
+$database->query("INSERT INTO ".TABLE_PREFIX
+	."mod_output_filter (email_filter, mailto_filter, at_replacement, dot_replacement) VALUES ('0', '0', '(at)', '(dot)')");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/output_filter/install.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/output_filter/js/index.php
===================================================================
--- tags/2.8.2/wb/modules/output_filter/js/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/output_filter/js/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/output_filter/js/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/output_filter/js/mdcr.js
===================================================================
--- tags/2.8.2/wb/modules/output_filter/js/mdcr.js	(nonexistent)
+++ tags/2.8.2/wb/modules/output_filter/js/mdcr.js	(revision 1481)
@@ -0,0 +1,30 @@
+
+// $Id$
+
+
+function mdcr(a,b) {
+  location.href=sdcr(a,b);
+}
+
+function sdcr(a,f) {
+  var b = a.charCodeAt(a.length-1) -97;
+  var c=""; var e; var g;
+  
+  for(var d=a.length-2; d>-1; d--) {
+    if(a.charCodeAt(d) < 97) {
+      switch(a.charCodeAt(d)) {
+        case 70: g=64; break;
+        case 90: g=46; break;
+        case 88: g=95; break;
+        case 75: g=45; break;
+        default: g=a.charCodeAt(d); break;
+      }
+      c+=String.fromCharCode(g)
+    } else {
+      e=(a.charCodeAt(d) - 97 - b) % 26;
+      e+=(e<0 || e>25) ? +26 : 0;
+      c+=String.fromCharCode(e+97);
+    }
+  }
+  return "mailto:"+c+f;
+}
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/output_filter/js/mdcr.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/output_filter/index.php
===================================================================
--- tags/2.8.2/wb/modules/output_filter/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/output_filter/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/output_filter/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/code/htt/modify.htt
===================================================================
--- tags/2.8.2/wb/modules/code/htt/modify.htt	(nonexistent)
+++ tags/2.8.2/wb/modules/code/htt/modify.htt	(revision 1481)
@@ -0,0 +1,23 @@
+<!-- BEGIN main_block -->
+{REGISTER_EDIT_AREA}
+
+<form action="{WB_URL}/modules/code/save.php" method="post">
+
+<input type="hidden" name="page_id" value="{PAGE_ID}" />
+<input type="hidden" name="section_id" value="{SECTION_ID}" />
+
+<textarea cols="2" rows="20"  id="content{SECTION}" name="content" style="width: 100%; height: 380px">{CONTENT}</textarea>
+
+<table cellpadding="0" cellspacing="0" border="0" width="100%" >
+<tr>
+	<td align="left">
+		<input type="submit" value="{TEXT_SAVE}" style="width: 100px; margin-top: 5px;" />
+	</td>
+	<td align="right">
+		<input type="button" value="{TEXT_CANCEL}" onclick="javascript: window.location = 'index.php';" style="width: 100px; margin-top: 5px;" />
+	</td>
+</tr>
+</table>
+</form>
+<p>&nbsp;</p>
+<!-- END main_block -->
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/code/htt/modify.htt
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/modules/code/info.php
===================================================================
--- tags/2.8.2/wb/modules/code/info.php	(nonexistent)
+++ tags/2.8.2/wb/modules/code/info.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         code
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+*/
+
+$module_directory	= 'code';
+$module_name		= 'Code';
+$module_function	= 'page';
+$module_version		= '2.8.1';
+$module_platform	= '2.7 | 2.8.x';
+$module_author		= 'Ryan Djurovich';
+$module_license		= 'GNU General Public License';
+$module_description	= 'This module allows you to execute PHP commands (limit access to users you trust!!)';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/code/info.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/code/save.php
===================================================================
--- tags/2.8.2/wb/modules/code/save.php	(nonexistent)
+++ tags/2.8.2/wb/modules/code/save.php	(revision 1481)
@@ -0,0 +1,43 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         code
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+require('../../config.php');
+
+// Include WB admin wrapper script
+$update_when_modified = true; // Tells script to update when this page was last updated
+require(WB_PATH.'/modules/admin.php');
+
+// Update the mod_wysiwygs table with the contents
+if(isset($_POST['content'])) {
+	$tags = array('<?php', '?>' , '<?');
+	$content = $admin->add_slashes(str_replace($tags, '', $_POST['content']));
+	$query = "UPDATE ".TABLE_PREFIX."mod_code SET content = '$content' WHERE section_id = '$section_id'";
+	$database->query($query);	
+}
+
+// Check if there is a database error, otherwise say successful
+if($database->is_error()) {
+	$admin->print_error($database->get_error(), $js_back);
+} else {
+	$admin->print_success($MESSAGE['PAGES']['SAVED'], ADMIN_URL.'/pages/modify.php?page_id='.$page_id);
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/code/save.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/code/install.php
===================================================================
--- tags/2.8.2/wb/modules/code/install.php	(nonexistent)
+++ tags/2.8.2/wb/modules/code/install.php	(revision 1481)
@@ -0,0 +1,63 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         code
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version      	$Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+if(defined('WB_URL'))
+{
+	
+	// Create table
+	//$database->query("DROP TABLE IF EXISTS `".TABLE_PREFIX."mod_code`");
+	$mod_code = 'CREATE TABLE IF NOT EXISTS `'.TABLE_PREFIX.'mod_code` ('
+		. ' `section_id` INT NOT NULL DEFAULT \'0\','
+		. ' `page_id` INT NOT NULL DEFAULT \'0\','
+		. ' `content` TEXT NOT NULL,'
+		. ' PRIMARY KEY ( `section_id` )'
+		. ' )';
+	$database->query($mod_code);
+
+    $mod_search = "SELECT * FROM ".TABLE_PREFIX."search  WHERE value = 'code'";
+    $insert_search = $database->query($mod_search);
+    if( $insert_search->numRows() == 0 )
+    {
+    	// Insert info into the search table
+    	// Module query info
+    	$field_info = array();
+    	$field_info['page_id'] = 'page_id';
+    	$field_info['title'] = 'page_title';
+    	$field_info['link'] = 'link';
+    	$field_info['description'] = 'description';
+    	$field_info['modified_when'] = 'modified_when';
+    	$field_info['modified_by'] = 'modified_by';
+    	$field_info = serialize($field_info);
+    	$database->query("INSERT INTO ".TABLE_PREFIX."search (name,value,extra) VALUES ('module', 'code', '$field_info')");
+    	// Query start
+    	$query_start_code = "SELECT [TP]pages.page_id, [TP]pages.page_title,	[TP]pages.link, [TP]pages.description, [TP]pages.modified_when, [TP]pages.modified_by	FROM [TP]mod_code, [TP]pages WHERE ";
+    	$database->query("INSERT INTO ".TABLE_PREFIX."search (name,value,extra) VALUES ('query_start', '$query_start_code', 'code')");
+    	// Query body
+    	$query_body_code = " [TP]pages.page_id = [TP]mod_code.page_id AND [TP]mod_code.content [O] \'[W][STRING][W]\' AND [TP]pages.searching = \'1\'";
+    	$database->query("INSERT INTO ".TABLE_PREFIX."search (name,value,extra) VALUES ('query_body', '$query_body_code', 'code')");
+    	// Query end
+    	$query_end_code = "";
+    	$database->query("INSERT INTO ".TABLE_PREFIX."search (name,value,extra) VALUES ('query_end', '$query_end_code', 'code')");
+
+    	// Insert blank row (there needs to be at least on row for the search to work)
+    	$database->query("INSERT INTO ".TABLE_PREFIX."mod_code (page_id,section_id) VALUES ('0','0')");
+
+    }
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/code/install.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/code/index.php
===================================================================
--- tags/2.8.2/wb/modules/code/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/code/index.php	(revision 1481)
@@ -0,0 +1,21 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         code
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/code/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/code/modify.php
===================================================================
--- tags/2.8.2/wb/modules/code/modify.php	(nonexistent)
+++ tags/2.8.2/wb/modules/code/modify.php	(revision 1481)
@@ -0,0 +1,49 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         code
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// Setup template object
+$template = new Template(WB_PATH.'/modules/code');
+$template->set_file('page', 'htt/modify.htt');
+$template->set_block('page', 'main_block', 'main');
+
+// Get page content
+$query = "SELECT content FROM ".TABLE_PREFIX."mod_code WHERE section_id = '$section_id'";
+$get_content = $database->query($query);
+$content = $get_content->fetchRow();
+$content = htmlspecialchars($content['content']);
+
+// Insert vars
+$template->set_var(
+	array(
+		'PAGE_ID'				=> $page_id,
+		'SECTION_ID'			=> $section_id,
+		'REGISTER_EDIT_AREA'	=> function_exists('registerEditArea') ? registerEditArea('content'.$section_id, 'php', false) : '',
+		'WB_URL'				=> WB_URL,
+		'CONTENT'				=> $content,
+		'TEXT_SAVE'				=> $TEXT['SAVE'],
+		'TEXT_CANCEL'			=> $TEXT['CANCEL'],
+		'SECTION'				=> $section_id
+	)
+);
+
+// Parse template object
+$template->set_unknowns('keep');
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page', false);
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/code/modify.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/code/languages/DA.php
===================================================================
--- tags/2.8.2/wb/modules/code/languages/DA.php	(nonexistent)
+++ tags/2.8.2/wb/modules/code/languages/DA.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+ DANISH LANNGUAGE FILE FOR MODULE: CODE
+ -----------------------------------------------------------------------------------------
+*/
+
+// Dansk modulbeskrivelse
+$module_description = 'Dette modul g&oslash;r det muligt at udf&oslash;re PHP kommandoer (adgangen b&oslash;r begr&aelig;nses til p&aring;lidelige personer!)';
+
+?>

Property changes on: tags/2.8.2/wb/modules/code/languages/DA.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/code/languages/NO.php
===================================================================
--- tags/2.8.2/wb/modules/code/languages/NO.php	(nonexistent)
+++ tags/2.8.2/wb/modules/code/languages/NO.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  NORWEGIAN LANGUAGE FILE FOR THE ADDON: CODE 
+ -----------------------------------------------------------------------------------------
+*/
+
+//Module Description
+$module_description = 'Denne modulen gir deg mulighet for &aring; kj&oslash;re PHP kommandoer og rutiner(OBS!! Begrens tilgangen til denne modulen. Tilgang m&aring; kun gis til personer du har full tiltro til og som du vet har kunnsakp til &aring; benytte den!!)';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/code/languages/NO.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/code/languages/FR.php
===================================================================
--- tags/2.8.2/wb/modules/code/languages/FR.php	(nonexistent)
+++ tags/2.8.2/wb/modules/code/languages/FR.php	(revision 1481)
@@ -0,0 +1,31 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  FRENCH LANGUAGE FILE FOR THE ADDON: CODE
+ -----------------------------------------------------------------------------------------
+*/
+//Module Description
+$module_description = 'Ce module permet d&apos;ex&eacute;cuter des commandes PHP (merci de limiter l&apos;acc&egrave;s &agrave; des personnes dignes de confiance!)';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/code/languages/FR.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/code/languages/NL.php
===================================================================
--- tags/2.8.2/wb/modules/code/languages/NL.php	(nonexistent)
+++ tags/2.8.2/wb/modules/code/languages/NL.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  DUTCH LANGUAGE FILE FOR THE CODE MODULE
+ -----------------------------------------------------------------------------------------
+*/
+
+// Deutsche Modulbeschreibung
+$module_description = 'In deze module kan je PHP instructies ingeven (Gelieve de toegang ervan te beperken tot betrouwbare personen!!)';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/code/languages/NL.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/code/languages/RU.php
===================================================================
--- tags/2.8.2/wb/modules/code/languages/RU.php	(nonexistent)
+++ tags/2.8.2/wb/modules/code/languages/RU.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project http://www.websitebaker.org/
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  RUSIIAN LANGUAGE FOR MODULE: CODE
+ -----------------------------------------------------------------------------------------
+*/
+
+//Russian translation
+$module_description = '&#1052;&#1086;&#1076;&#1091;&#1083;&#1100; &#1087;&#1086;&#1079;&#1074;&#1086;&#1083;&#1103;&#1077;&#1090; &#1074;&#1099;&#1087;&#1086;&#1083;&#1085;&#1103;&#1090;&#1100; PHP &#1082;&#1086;&#1076; (&#1088;&#1072;&#1079;&#1088;&#1077;&#1096;&#1072;&#1081;&#1090;&#1077; &#1077;&#1075;&#1086; &#1080;&#1089;&#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1085;&#1080;&#1077; &#1090;&#1086;&#1083;&#1100;&#1082;&#1086; &#1076;&#1086;&#1074;&#1077;&#1088;&#1077;&#1085;&#1085;&#1099;&#1084; &#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1077;&#1083;&#1103;&#1084;!)';
+
+?>

Property changes on: tags/2.8.2/wb/modules/code/languages/RU.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/code/languages/index.php
===================================================================
--- tags/2.8.2/wb/modules/code/languages/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/code/languages/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/code/languages/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/code/languages/DE.php
===================================================================
--- tags/2.8.2/wb/modules/code/languages/DE.php	(nonexistent)
+++ tags/2.8.2/wb/modules/code/languages/DE.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  DEUTSCHE SPRACHDATEI FUER DAS MODUL: CODE
+ -----------------------------------------------------------------------------------------
+*/
+
+// Deutsche Modulbeschreibung
+$module_description = 'Dieses Modul erlaubt das ausf&uuml;hren von PHP Befehlen (bitte begrenzen Sie den Zugriff auf vertrauensw&uuml;rdige Personen!!)';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/code/languages/DE.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/code/view.php
===================================================================
--- tags/2.8.2/wb/modules/code/view.php	(nonexistent)
+++ tags/2.8.2/wb/modules/code/view.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Get content
+$get_content = $database->query("SELECT content FROM ".TABLE_PREFIX."mod_code WHERE section_id = '$section_id'");
+$fetch_content = $get_content->fetchRow();
+$content = $fetch_content['content'];
+eval($content);
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/code/view.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/code/delete.php
===================================================================
--- tags/2.8.2/wb/modules/code/delete.php	(nonexistent)
+++ tags/2.8.2/wb/modules/code/delete.php	(revision 1481)
@@ -0,0 +1,29 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Delete record from the database
+$database->query("DELETE FROM ".TABLE_PREFIX."mod_code WHERE section_id = '$section_id'");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/code/delete.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/code/add.php
===================================================================
--- tags/2.8.2/wb/modules/code/add.php	(nonexistent)
+++ tags/2.8.2/wb/modules/code/add.php	(revision 1481)
@@ -0,0 +1,29 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Insert an extra row into the database
+$database->query("INSERT INTO ".TABLE_PREFIX."mod_code (page_id,section_id) VALUES ('$page_id','$section_id')");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/code/add.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/class.cssparser.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/class.cssparser.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/class.cssparser.php	(revision 1481)
@@ -0,0 +1,304 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+/*
+ * Class to parse css information.
+ *
+ * See the readme file : http://www.phpclasses.org/browse/file/4685.html
+ *
+ * $Id$
+ *
+ * @author http://www.phpclasses.org/browse/package/1289.html
+ * @package PhpGedView
+ * @subpackage Charts
+ *
+ * added function GetXML to the cssparser class (Christian Sommer, 2007)
+ *
+ */
+
+class cssparser {
+	var $css;
+	var $html;
+  
+	function cssparser($html = true) {
+		// Register "destructor"
+		register_shutdown_function(array(&$this, "finalize"));
+		$this->html = ($html != false);
+		$this->Clear();
+	}
+  
+	function finalize() {
+		unset($this->css);
+	}
+  
+	function Clear() {
+		unset($this->css);
+		$this->css = array();
+		if($this->html) {
+			$this->Add("ADDRESS", "");
+			$this->Add("APPLET", "");
+			$this->Add("AREA", "");
+			$this->Add("A", "");
+			$this->Add("A:visited", "");
+			$this->Add("BASE", "");
+			$this->Add("BASEFONT", "");
+			$this->Add("BIG", "");
+			$this->Add("BLOCKQUOTE", "");
+			$this->Add("BODY", "");
+			$this->Add("BR", "");
+			$this->Add("B", "");
+			$this->Add("CAPTION", "");
+			$this->Add("CENTER", "");
+			$this->Add("CITE", "");
+			$this->Add("CODE", "");
+			$this->Add("DD", "");
+			$this->Add("DFN", "");
+			$this->Add("DIR", "");
+			$this->Add("DIV", "");
+			$this->Add("DL", "");
+			$this->Add("DT", "");
+			$this->Add("EM", "");
+			$this->Add("FONT", "");
+			$this->Add("FORM", "");
+			$this->Add("H1", "");
+			$this->Add("H2", "");
+			$this->Add("H3", "");
+			$this->Add("H4", "");
+			$this->Add("H5", "");
+			$this->Add("H6", "");
+			$this->Add("HEAD", "");
+			$this->Add("HR", "");
+			$this->Add("HTML", "");
+			$this->Add("IMG", "");
+			$this->Add("INPUT", "");
+			$this->Add("ISINDEX", "");
+			$this->Add("I", "");
+			$this->Add("KBD", "");
+			$this->Add("LINK", "");
+			$this->Add("LI", "");
+			$this->Add("MAP", "");
+			$this->Add("MENU", "");
+			$this->Add("META", "");
+			$this->Add("OL", "");
+			$this->Add("OPTION", "");
+			$this->Add("PARAM", "");
+			$this->Add("PRE", "");
+			$this->Add("P", "");
+			$this->Add("SAMP", "");
+			$this->Add("SCRIPT", "");
+			$this->Add("SELECT", "");
+			$this->Add("SMALL", "");
+			$this->Add("STRIKE", "");
+			$this->Add("STRONG", "");
+			$this->Add("STYLE", "");
+			$this->Add("SUB", "");
+			$this->Add("SUP", "");
+			$this->Add("TABLE", "");
+			$this->Add("TD", "");
+			$this->Add("TEXTAREA", "");
+			$this->Add("TH", "");
+			$this->Add("TITLE", "");
+			$this->Add("TR", "");
+			$this->Add("TT", "");
+			$this->Add("UL", "");
+			$this->Add("U", "");
+			$this->Add("VAR", "");
+		}
+	}
+  
+	function SetHTML($html) {
+		$this->html = ($html != false);
+	}
+  
+	function Add($key, $codestr) {
+		$key = strtolower($key);
+		//    $codestr = strtolower($codestr);
+		if(!isset($this->css[$key])) {
+			$this->css[$key] = array();
+		}
+		$codes = explode(";",$codestr);
+		if(count($codes) > 0) {
+			foreach($codes as $code) {
+				$code = trim($code);
+				@list($codekey, $codevalue) = explode(":",$code);
+				if(strlen($codekey) > 0) {
+					$this->css[$key][trim($codekey)] = trim($codevalue);
+				}
+			}
+		}
+	}
+  
+	function Get($key, $property) {
+		$key = strtolower($key);
+		//    $property = strtolower($property);
+		@list($tag, $subtag) = explode(":",$key);
+		@list($tag, $class) = explode(".",$tag);
+		@list($tag, $id) = explode("#",$tag);
+		$result = "";
+		foreach($this->css as $_tag => $value) {
+			@list($_tag, $_subtag) = explode(":",$_tag);
+			@list($_tag, $_class) = explode(".",$_tag);
+			@list($_tag, $_id) = explode("#",$_tag);
+            $tagmatch = (strcmp($tag, $_tag) == 0) | (strlen($_tag) == 0);
+			$subtagmatch = (strcmp($subtag, $_subtag) == 0) | (strlen($_subtag) == 0);
+			$classmatch = (strcmp($class, $_class) == 0) | (strlen($_class) == 0);
+			$idmatch = (strcmp($id, $_id) == 0);
+            if($tagmatch & $subtagmatch & $classmatch & $idmatch) {
+				$temp = $_tag;
+				if((strlen($temp) > 0) & (strlen($_class) > 0)) {
+					$temp .= ".".$_class;
+				}
+				elseif(strlen($temp) == 0) {
+					$temp = ".".$_class;
+				}
+				if((strlen($temp) > 0) & (strlen($_subtag) > 0)) {
+					$temp .= ":".$_subtag;
+				}
+				elseif(strlen($temp) == 0) {
+					$temp = ":".$_subtag;
+				}
+				if(isset($this->css[$temp][$property])) {
+					$result = $this->css[$temp][$property];
+				}
+			}
+		}
+		return $result;
+	}
+  
+	function GetSection($key) {
+		$key = strtolower($key);
+        @list($tag, $subtag) = explode(":",$key);
+		@list($tag, $class) = explode(".",$tag);
+		@list($tag, $id) = explode("#",$tag);
+		$result = array();
+		foreach($this->css as $_tag => $value) {
+			@list($_tag, $_subtag) = explode(":",$_tag);
+			@list($_tag, $_class) = explode(".",$_tag);
+			@list($_tag, $_id) = explode("#",$_tag);
+			$tagmatch = (strcmp($tag, $_tag) == 0) | (strlen($_tag) == 0);
+			$subtagmatch = (strcmp($subtag, $_subtag) == 0) | (strlen($_subtag) == 0);
+			$classmatch = (strcmp($class, $_class) == 0) | (strlen($_class) == 0);
+			$idmatch = (strcmp($id, $_id) == 0);
+			if($tagmatch & $subtagmatch & $classmatch & $idmatch) {
+				$temp = $_tag;
+				if((strlen($temp) > 0) & (strlen($_class) > 0)) {
+					$temp .= ".".$_class;
+				}
+				elseif(strlen($temp) == 0) {
+					$temp = ".".$_class;
+				}
+				if((strlen($temp) > 0) & (strlen($_subtag) > 0)) {
+					$temp .= ":".$_subtag;
+				}
+				elseif(strlen($temp) == 0) {
+					$temp = ":".$_subtag;
+				}	
+				foreach($this->css[$temp] as $property => $value) {
+					$result[$property] = $value;
+				}
+			}
+		}
+		return $result;
+	}
+  
+	function ParseStr($str) {
+		$this->Clear();
+		// Remove comments
+		$str = preg_replace("/\/\*(.*)?\*\//Usi", "", $str);
+		// Parse this damn csscode
+		$parts = explode("}",$str);
+		if(count($parts) > 0) {
+			foreach($parts as $part) {
+				@list($keystr,$codestr) = explode("{",$part);
+				$keys = explode(",",trim($keystr));
+				if(count($keys) > 0) {
+					foreach($keys as $key) {
+						if(strlen($key) > 0) {
+							$key = str_replace("\n", "", $key);
+							$key = str_replace("\\", "", $key);
+							$this->Add($key, trim($codestr));
+						}
+					}
+				}
+			}
+		}
+		//
+		return (count($this->css) > 0);
+	}
+  
+	function Parse($filename) {
+		$this->Clear();
+		if(file_exists($filename)) {
+			return $this->ParseStr(file_get_contents($filename));
+		}
+		else {
+			return false;
+		}
+	}
+	
+	function GetCSS() {
+		$result = "";
+		foreach($this->css as $key => $values) {
+			$result .= $key." {\n";
+			foreach($values as $key => $value) {
+				$result .= "  $key: $value;\n";
+			}
+			$result .= "}\n\n";
+		}
+		return $result;
+	}
+
+	function GetXML() {
+		// Construction of "fckstyles.xml" for FCKeditor
+		$styles = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"."\n";
+		$styles .= '<Styles>'."\n";
+		foreach ($this->css as $key => $value) {
+			// skip all CSS that are a combination of CSS
+			// skip CSS that are binded on an EVENT
+			if (strpos($key, " ") === false && strpos($key, ":") === false) {
+				$pieces = explode(".", $key, 2);
+				if (strcmp($pieces[0], "") != 0) {
+					continue;
+				} else {
+					$style_elem = "span";
+				}
+				if (strcmp($pieces[1], "") != 0) {
+					$style_class_name = $pieces[1];
+				} else {
+					$style_class_name = $pieces[0];
+				}
+				$styles .= '<Style name="'.$style_class_name.'" element="'.$style_elem.'"';
+				if (strcmp($style_class_name, $style_elem) != 0) {
+					$styles .= '>'."\n".'<Attribute name="class" value="'.$style_class_name.'" />'."\n".'</Style>'."\n";
+				} else {
+					$styles .= '/>'."\n";
+				}
+			}
+		}
+		$styles .= '</Styles>'."\n";
+		return trim($styles);
+	}
+}
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/class.cssparser.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/uninstall.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/uninstall.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/uninstall.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Must include code to stop this file being access directly
+if(defined('WB_PATH') == false) { exit("Cannot access this file directly"); }
+
+// Delete the editor directory
+rm_full_dir(WB_PATH.'/modules/fckeditor/fckeditor');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/uninstall.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/css_to_xml.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/css_to_xml.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/css_to_xml.php	(revision 1481)
@@ -0,0 +1,40 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+require_once('../../config.php');
+
+if(isset($_GET['template_name'])) {
+	$temp_name = $_GET['template_name'];
+	// check if specified template exists
+	if(file_exists(WB_PATH .'/templates/' .$temp_name)) {
+		// parse the editor.css and write XML output
+		require_once(WB_PATH .'/modules/fckeditor/class.cssparser.php');
+		$cssparser = new cssparser();
+		$cssparser->Parse(WB_PATH .'/templates/' .$temp_name .'/editor.css');
+		header('Content-type: text/xml'); 
+		echo $cssparser->GetXML();
+	}
+}
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/css_to_xml.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/info.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/info.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/info.php	(revision 1481)
@@ -0,0 +1,31 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         wysiwyg
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+$module_directory		= 'fckeditor';
+$module_name			= 'FCKeditor';
+$module_function		= 'WYSIWYG';
+$module_version			= '2.9.4';
+$module_guid            = 'ED3B82C1-DB1E-447A-A0FD-E952AFC5F3B9';
+$module_status          = 'Beta';
+$module_platform		= '2.7 | 2.8.x';
+$module_requirements    = 'PHP 4.3.11 or higher, WB 2.7 or higher';
+$module_author 			= 'Christian Sommer, P. Widlund, S. Braunewell, M. Gallas, Wouldlouper, Aldus, Luisehahne';
+$module_license 		= 'GNU General Public License';
+$module_description 	= 'This module allows you to edit the contents of a page using <a href="http://www.fckeditor.net/" target="_blank">FCKeditor v2.6.5</a>.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/info.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/languages/NL.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/languages/NL.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/languages/NL.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  DUTCH LANGUAGE FILE FOR THE FCKEDITOR MODULE
+ -----------------------------------------------------------------------------------------
+*/
+
+// Nederlandstalige beschrijving van de module
+$module_description 	= 'Met deze <a href="http://www.fckeditor.net/" target="_blank">FCKeditor v2.6.5</a> module kunt u de inhoud van een pagina wijzigen.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/languages/NL.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/languages/NO.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/languages/NO.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/languages/NO.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+    NORWEGIAN LANGUAGE FILE FOR THE ADDON:: FCKEDITOR
+ -----------------------------------------------------------------------------------------
+*/
+
+//Module Description
+$module_description 	= 'Med denne modulen kan du redigere innholdet p&aring; sidene dine ved &aring; benytte redigeringsverkt&oslash;yet <a href="http://www.fckeditor.net/" target="_blank">FCKeditor v2.6.5</a>.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/languages/NO.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/languages/DA.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/languages/DA.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/languages/DA.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  DANISH LANGUAGE FILE FOR THE MODULE: FCKEDITOR
+ -----------------------------------------------------------------------------------------
+*/
+
+// Dansk modulbeskrivelse
+$module_description 	= 'Dette modul muligg&oslash;r redigering af sideindhold ved hj&aelig;lp af  <a href="http://www.fckeditor.net/" target="_blank">FCKeditor v2.6.5</a>.';
+
+?>

Property changes on: tags/2.8.2/wb/modules/fckeditor/languages/DA.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/languages/FR.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/languages/FR.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/languages/FR.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ 
+ -----------------------------------------------------------------------------------------
+  FRENCH LANGUAGE FILE FOR THE ADDON: FCKEDITOR
+ -----------------------------------------------------------------------------------------
+*/
+//Module Description
+$module_description = 'Ce module permet de modifier le contenu de la page avec <a href="http://www.fckeditor.net/" target="_blank">FCKeditor v2.6.5</a>.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/languages/FR.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/languages/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/languages/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/languages/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/languages/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/languages/DE.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/languages/DE.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/languages/DE.php	(revision 1481)
@@ -0,0 +1,32 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+ -----------------------------------------------------------------------------------------
+  DEUTSCHE SPRACHDATEI FUER DAS MODUL: FCKEDITOR
+ -----------------------------------------------------------------------------------------
+*/
+
+// Deutsche Modulbeschreibung
+$module_description 	= 'Dieses Modul erlaubt das bearbeiten von Seiteninhalten mit dem <a href="http://www.fckeditor.net/" target="_blank">FCKeditor v2.6.5</a>.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/languages/DE.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/include.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/include.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/include.php	(revision 1481)
@@ -0,0 +1,118 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         fckeditor
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+function reverse_htmlentities($mixed) {
+	$mixed = str_replace(array('&gt;','&lt;','&quot;','&amp;'), array('>','<','"','&'), $mixed);
+	return $mixed;
+}
+
+function get_template_name() {
+	// returns the template name of the current displayed page
+
+	// Loading config.php is not needed here, it is loaded before. It breaks the module when the editor is called form another dir as WB_PATH/modules/mymodule
+	// require_once('../../config.php');
+	require_once(WB_PATH. '/framework/class.database.php');
+
+	// work out default editor.css file for CKeditor
+	if(file_exists(WB_PATH .'/templates/' .DEFAULT_TEMPLATE .'/editor.css')) {
+		$fck_template_dir = DEFAULT_TEMPLATE;
+	} else {
+		$fck_template_dir = "none";
+	}
+
+	// check if a editor.css file exists in the specified template directory of current page
+	if (isset($_GET["page_id"]) && (int) $_GET["page_id"] > 0) {
+		$pageid = (int) $_GET["page_id"];
+
+		// obtain template folder of current page from the database
+		if(!isset($admin)) {
+			$database = new database();
+		}
+		$query_page = "SELECT template FROM " .TABLE_PREFIX ."pages WHERE page_id =$pageid";
+		$pagetpl = $database->get_one($query_page);   // if empty, default template is used
+
+		// check if a specific template is defined for current page
+		if(isset($pagetpl) && $pagetpl != '') {
+			// check if a specify editor.css file is contained in that folder
+			if(file_exists(WB_PATH.'/templates/'.$pagetpl.'/editor.css')) {
+				$fck_template_dir = $pagetpl;
+			}
+		}
+	}
+	return $fck_template_dir;
+}
+
+function show_wysiwyg_editor($name, $id, $content, $width, $height) {
+	// create new CKeditor instance
+	require_once(WB_PATH.'/modules/fckeditor/fckeditor/fckeditor.php');
+	$oFCKeditor = new FCKeditor($name);
+
+	// set defaults (Note: custom settings defined in: "/my_config/my_fckconfig.js" instead of "/editor/fckconfig.js")
+	$oFCKeditor->BasePath = WB_URL.'/modules/fckeditor/fckeditor/';
+	$oFCKeditor->Config['CustomConfigurationsPath'] = WB_URL .'/modules/fckeditor/wb_config/wb_fckconfig.js';
+	$oFCKeditor->ToolbarSet = 'WBToolbar';        // toolbar defined in my_fckconfig.js
+
+	// obtain template name of current page (if empty, no editor.css files exists)
+	$template_name = get_template_name();
+
+	// work out default CSS file to be used for FCK textarea
+	if($template_name == "none") {
+		// no editor.css file exists in default template folder, or template folder of current page
+		$css_file = WB_URL .'/modules/fckeditor/wb_config/wb_fckeditorarea.css';
+	} else {
+		// editor.css file exists in default template folder or template folder of current page
+		$css_file = WB_URL .'/templates/' .$template_name .'/editor.css';
+	}
+	// set CSS file depending on $css_file
+	$oFCKeditor->Config['EditorAreaCSS'] = $css_file;
+
+	// work out settings for the FCK "Style" toolbar
+	if ($template_name == "none") {
+		// no custom editor.css exists, use default XML definitions
+		$oFCKeditor->Config['StylesXmlPath'] = WB_URL.'/modules/fckeditor/wb_config/wb_fckstyles.xml';
+	} else {
+		// file editor.css exists in template folder, parse it and create XML definitions
+		$oFCKeditor->Config['StylesXmlPath'] = WB_URL.'/modules/fckeditor/css_to_xml.php?template_name=' .$template_name;
+	}
+
+	// custom templates can be defined via /wb_config/wb_fcktemplates.xml
+	if(file_exists(WB_PATH .'/modules/fckeditor/wb_config/wb_fcktemplates.xml')) {
+		$oFCKeditor->Config['TemplatesXmlPath'] = WB_URL.'/modules/fckeditor/wb_config/wb_fcktemplates.xml';
+	}
+
+  // set required file connectors (overwrite settings which may be made in fckconfig.js or my_fckconfig.js)
+	$connectorPath = $oFCKeditor->BasePath.'editor/filemanager/connectors/php/connector.php';
+  $oFCKeditor->Config['LinkBrowserURL'] = $oFCKeditor->BasePath.'editor/filemanager/browser/default/browser.html?Connector='
+		.$connectorPath;
+  $oFCKeditor->Config['ImageBrowserURL'] = $oFCKeditor->BasePath.'editor/filemanager/browser/default/browser.html?Connector='
+		.$connectorPath;
+  $oFCKeditor->Config['FlashBrowserURL'] = $oFCKeditor->BasePath.'editor/filemanager/browser/default/browser.html?Connector='
+		.$connectorPath;
+
+  if(defined('EDITOR_WIDTH'))
+  {
+    $width = ( ($width > EDITOR_WIDTH ) OR (EDITOR_WIDTH <= 0) ) ? $width : EDITOR_WIDTH;
+  }
+
+	$oFCKeditor->Value = reverse_htmlentities($content);
+    $oFCKeditor->Width  = $width;
+	$oFCKeditor->Height = $height;
+	$oFCKeditor->Create();
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/include.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/fckpackager.xml
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/fckpackager.xml	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/fckpackager.xml	(revision 1481)
@@ -0,0 +1,264 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This is the configuration file to be used with FCKpackager to generate the
+ * compressed code files in the "js" folder.
+ *
+ * Please check http://www.fckeditor.net for more info.
+-->
+<Package>
+	<Header><![CDATA[/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This file has been compressed for better performance. The original source
+ * can be found at "editor/_source".
+ */
+]]></Header>
+	<Constants removeDeclaration="false">
+		<Constant name="FCK_STATUS_NOTLOADED" value="0" />
+		<Constant name="FCK_STATUS_ACTIVE" value="1" />
+		<Constant name="FCK_STATUS_COMPLETE" value="2" />
+		<Constant name="FCK_TRISTATE_OFF" value="0" />
+		<Constant name="FCK_TRISTATE_ON" value="1" />
+		<Constant name="FCK_TRISTATE_DISABLED" value="-1" />
+		<Constant name="FCK_UNKNOWN" value="-9" />
+		<Constant name="FCK_TOOLBARITEM_ONLYICON" value="0" />
+		<Constant name="FCK_TOOLBARITEM_ONLYTEXT" value="1" />
+		<Constant name="FCK_TOOLBARITEM_ICONTEXT" value="2" />
+		<Constant name="FCK_EDITMODE_WYSIWYG" value="0" />
+		<Constant name="FCK_EDITMODE_SOURCE" value="1" />
+		<Constant name="FCK_STYLE_BLOCK" value="0" />
+		<Constant name="FCK_STYLE_INLINE" value="1" />
+		<Constant name="FCK_STYLE_OBJECT" value="2" />
+	</Constants>
+	<PackageFile path="editor/js/fckeditorcode_ie.js">
+		<File path="editor/_source/fckconstants.js" />
+		<File path="editor/_source/fckjscoreextensions.js" />
+		<File path="editor/_source/classes/fckiecleanup.js" />
+		<File path="editor/_source/internals/fckbrowserinfo.js" />
+		<File path="editor/_source/internals/fckurlparams.js" />
+		<File path="editor/_source/classes/fckevents.js" />
+		<File path="editor/_source/classes/fckdataprocessor.js" />
+		<File path="editor/_source/internals/fck.js" />
+		<File path="editor/_source/internals/fck_ie.js" />
+		<File path="editor/_source/internals/fckconfig.js" />
+		<File path="editor/_source/internals/fckdebug_empty.js" />
+		<File path="editor/_source/internals/fckdomtools.js" />
+		<File path="editor/_source/internals/fcktools.js" />
+		<File path="editor/_source/internals/fcktools_ie.js" />
+		<File path="editor/_source/fckeditorapi.js" />
+		<File path="editor/_source/classes/fckimagepreloader.js" />
+
+		<File path="editor/_source/internals/fckregexlib.js" />
+		<File path="editor/_source/internals/fcklistslib.js" />
+		<File path="editor/_source/internals/fcklanguagemanager.js" />
+		<File path="editor/_source/internals/fckxhtmlentities.js" />
+		<File path="editor/_source/internals/fckxhtml.js" />
+		<File path="editor/_source/internals/fckxhtml_ie.js" />
+		<File path="editor/_source/internals/fckcodeformatter.js" />
+		<File path="editor/_source/internals/fckundo.js" />
+		<File path="editor/_source/classes/fckeditingarea.js" />
+		<File path="editor/_source/classes/fckkeystrokehandler.js" />
+
+		<File path="editor/dtd/fck_xhtml10transitional.js" />
+		<File path="editor/_source/classes/fckstyle.js" />
+		<File path="editor/_source/internals/fckstyles.js" />
+
+		<File path="editor/_source/internals/fcklisthandler.js" />
+		<File path="editor/_source/classes/fckelementpath.js" />
+		<File path="editor/_source/classes/fckdomrange.js" />
+		<File path="editor/_source/classes/fckdomrange_ie.js" />
+		<File path="editor/_source/classes/fckdomrangeiterator.js" />
+		<File path="editor/_source/classes/fckdocumentfragment_ie.js" />
+		<File path="editor/_source/classes/fckw3crange.js" />
+		<File path="editor/_source/classes/fckenterkey.js" />
+
+		<File path="editor/_source/internals/fckdocumentprocessor.js" />
+		<File path="editor/_source/internals/fckselection.js" />
+		<File path="editor/_source/internals/fckselection_ie.js" />
+
+		<File path="editor/_source/internals/fcktablehandler.js" />
+		<File path="editor/_source/internals/fcktablehandler_ie.js" />
+		<File path="editor/_source/classes/fckxml.js" />
+		<File path="editor/_source/classes/fckxml_ie.js" />
+
+		<File path="editor/_source/commandclasses/fcknamedcommand.js" />
+		<File path="editor/_source/commandclasses/fckstylecommand.js" />
+		<File path="editor/_source/commandclasses/fck_othercommands.js" />
+		<File path="editor/_source/commandclasses/fckshowblocks.js" />
+		<File path="editor/_source/commandclasses/fckspellcheckcommand_ie.js" />
+		<File path="editor/_source/commandclasses/fcktextcolorcommand.js" />
+		<File path="editor/_source/commandclasses/fckpasteplaintextcommand.js" />
+		<File path="editor/_source/commandclasses/fckpastewordcommand.js" />
+		<File path="editor/_source/commandclasses/fcktablecommand.js" />
+		<File path="editor/_source/commandclasses/fckfitwindow.js" />
+		<File path="editor/_source/commandclasses/fcklistcommands.js" />
+		<File path="editor/_source/commandclasses/fckjustifycommands.js" />
+		<File path="editor/_source/commandclasses/fckindentcommands.js" />
+		<File path="editor/_source/commandclasses/fckblockquotecommand.js" />
+		<File path="editor/_source/commandclasses/fckcorestylecommand.js" />
+		<File path="editor/_source/commandclasses/fckremoveformatcommand.js" />
+		<File path="editor/_source/internals/fckcommands.js" />
+
+		<File path="editor/_source/classes/fckpanel.js" />
+		<File path="editor/_source/classes/fckicon.js" />
+		<File path="editor/_source/classes/fcktoolbarbuttonui.js" />
+		<File path="editor/_source/classes/fcktoolbarbutton.js" />
+		<File path="editor/_source/classes/fckspecialcombo.js" />
+		<File path="editor/_source/classes/fcktoolbarspecialcombo.js" />
+		<File path="editor/_source/classes/fcktoolbarstylecombo.js" />
+		<File path="editor/_source/classes/fcktoolbarfontformatcombo.js" />
+		<File path="editor/_source/classes/fcktoolbarfontscombo.js" />
+		<File path="editor/_source/classes/fcktoolbarfontsizecombo.js" />
+		<File path="editor/_source/classes/fcktoolbarpanelbutton.js" />
+		<File path="editor/_source/internals/fckscayt.js" />
+		<File path="editor/_source/internals/fcktoolbaritems.js" />
+		<File path="editor/_source/classes/fcktoolbar.js" />
+		<File path="editor/_source/classes/fcktoolbarbreak_ie.js" />
+		<File path="editor/_source/internals/fcktoolbarset.js" />
+		<File path="editor/_source/internals/fckdialog.js" />
+
+		<File path="editor/_source/classes/fckmenuitem.js" />
+		<File path="editor/_source/classes/fckmenublock.js" />
+		<File path="editor/_source/classes/fckmenublockpanel.js" />
+		<File path="editor/_source/classes/fckcontextmenu.js" />
+		<File path="editor/_source/internals/fck_contextmenu.js" />
+		<File path="editor/_source/classes/fckhtmliterator.js" />
+
+		<File path="editor/_source/classes/fckplugin.js" />
+		<File path="editor/_source/internals/fckplugins.js" />
+	</PackageFile>
+
+	<PackageFile path="editor/js/fckeditorcode_gecko.js">
+		<File path="editor/_source/fckconstants.js" />
+		<File path="editor/_source/fckjscoreextensions.js" />
+		<File path="editor/_source/internals/fckbrowserinfo.js" />
+		<File path="editor/_source/internals/fckurlparams.js" />
+		<File path="editor/_source/classes/fckevents.js" />
+		<File path="editor/_source/classes/fckdataprocessor.js" />
+		<File path="editor/_source/internals/fck.js" />
+		<File path="editor/_source/internals/fck_gecko.js" />
+		<File path="editor/_source/internals/fckconfig.js" />
+		<File path="editor/_source/internals/fckdebug_empty.js" />
+		<File path="editor/_source/internals/fckdomtools.js" />
+		<File path="editor/_source/internals/fcktools.js" />
+		<File path="editor/_source/internals/fcktools_gecko.js" />
+		<File path="editor/_source/fckeditorapi.js" />
+		<File path="editor/_source/classes/fckimagepreloader.js" />
+
+		<File path="editor/_source/internals/fckregexlib.js" />
+		<File path="editor/_source/internals/fcklistslib.js" />
+		<File path="editor/_source/internals/fcklanguagemanager.js" />
+		<File path="editor/_source/internals/fckxhtmlentities.js" />
+		<File path="editor/_source/internals/fckxhtml.js" />
+		<File path="editor/_source/internals/fckxhtml_gecko.js" />
+		<File path="editor/_source/internals/fckcodeformatter.js" />
+		<File path="editor/_source/internals/fckundo.js" />
+		<File path="editor/_source/classes/fckeditingarea.js" />
+		<File path="editor/_source/classes/fckkeystrokehandler.js" />
+
+		<File path="editor/dtd/fck_xhtml10transitional.js" />
+		<File path="editor/_source/classes/fckstyle.js" />
+		<File path="editor/_source/internals/fckstyles.js" />
+
+		<File path="editor/_source/internals/fcklisthandler.js" />
+		<File path="editor/_source/classes/fckelementpath.js" />
+		<File path="editor/_source/classes/fckdomrange.js" />
+		<File path="editor/_source/classes/fckdomrange_gecko.js" />
+		<File path="editor/_source/classes/fckdomrangeiterator.js" />
+		<File path="editor/_source/classes/fckdocumentfragment_gecko.js" />
+		<File path="editor/_source/classes/fckw3crange.js" />
+		<File path="editor/_source/classes/fckenterkey.js" />
+
+		<File path="editor/_source/internals/fckdocumentprocessor.js" />
+		<File path="editor/_source/internals/fckselection.js" />
+		<File path="editor/_source/internals/fckselection_gecko.js" />
+
+		<File path="editor/_source/internals/fcktablehandler.js" />
+		<File path="editor/_source/internals/fcktablehandler_gecko.js" />
+		<File path="editor/_source/classes/fckxml.js" />
+		<File path="editor/_source/classes/fckxml_gecko.js" />
+
+		<File path="editor/_source/commandclasses/fcknamedcommand.js" />
+		<File path="editor/_source/commandclasses/fckstylecommand.js" />
+		<File path="editor/_source/commandclasses/fck_othercommands.js" />
+		<File path="editor/_source/commandclasses/fckshowblocks.js" />
+		<File path="editor/_source/commandclasses/fckspellcheckcommand_gecko.js" />
+		<File path="editor/_source/commandclasses/fcktextcolorcommand.js" />
+		<File path="editor/_source/commandclasses/fckpasteplaintextcommand.js" />
+		<File path="editor/_source/commandclasses/fckpastewordcommand.js" />
+		<File path="editor/_source/commandclasses/fcktablecommand.js" />
+		<File path="editor/_source/commandclasses/fckfitwindow.js" />
+		<File path="editor/_source/commandclasses/fcklistcommands.js" />
+		<File path="editor/_source/commandclasses/fckjustifycommands.js" />
+		<File path="editor/_source/commandclasses/fckindentcommands.js" />
+		<File path="editor/_source/commandclasses/fckblockquotecommand.js" />
+		<File path="editor/_source/commandclasses/fckcorestylecommand.js" />
+		<File path="editor/_source/commandclasses/fckremoveformatcommand.js" />
+		<File path="editor/_source/internals/fckcommands.js" />
+
+		<File path="editor/_source/classes/fckpanel.js" />
+		<File path="editor/_source/classes/fckicon.js" />
+		<File path="editor/_source/classes/fcktoolbarbuttonui.js" />
+		<File path="editor/_source/classes/fcktoolbarbutton.js" />
+		<File path="editor/_source/classes/fckspecialcombo.js" />
+		<File path="editor/_source/classes/fcktoolbarspecialcombo.js" />
+		<File path="editor/_source/classes/fcktoolbarstylecombo.js" />
+		<File path="editor/_source/classes/fcktoolbarfontformatcombo.js" />
+		<File path="editor/_source/classes/fcktoolbarfontscombo.js" />
+		<File path="editor/_source/classes/fcktoolbarfontsizecombo.js" />
+		<File path="editor/_source/classes/fcktoolbarpanelbutton.js" />
+		<File path="editor/_source/internals/fckscayt.js" />
+		<File path="editor/_source/internals/fcktoolbaritems.js" />
+		<File path="editor/_source/classes/fcktoolbar.js" />
+		<File path="editor/_source/classes/fcktoolbarbreak_gecko.js" />
+		<File path="editor/_source/internals/fcktoolbarset.js" />
+		<File path="editor/_source/internals/fckdialog.js" />
+
+		<File path="editor/_source/classes/fckmenuitem.js" />
+		<File path="editor/_source/classes/fckmenublock.js" />
+		<File path="editor/_source/classes/fckmenublockpanel.js" />
+		<File path="editor/_source/classes/fckcontextmenu.js" />
+		<File path="editor/_source/internals/fck_contextmenu.js" />
+		<File path="editor/_source/classes/fckhtmliterator.js" />
+
+		<File path="editor/_source/classes/fckplugin.js" />
+		<File path="editor/_source/internals/fckplugins.js" />
+	</PackageFile>
+
+</Package>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/_whatsnew.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/_whatsnew.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/_whatsnew.html	(revision 1481)
@@ -0,0 +1,107 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+-->
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>FCKeditor ChangeLog - What's New?</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<style type="text/css">
+		body { font-family: arial, verdana, sans-serif }
+		p { margin-left: 20px }
+		h1 { border-bottom: solid 1px gray; padding-bottom: 20px }
+	</style>
+</head>
+<body>
+	<h1>
+		FCKeditor ChangeLog - What's New?</h1>
+	<h3>
+		Version 2.6.5</h3>
+	<p>
+		New Features and Improvements:</p>
+	<ul>
+		<li>Introduced the Spell Check As You Type (SCAYT) spell checking option.</li>
+	</ul>
+	<p>
+		Fixed Bugs:</p>
+	<ul>
+		<li><strong>Security release, upgrade is highly recommended</strong> (fixed security issues in ASP and ColdFusion scripts).
+			</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2856">#2856</a>] Fixed
+			problem with inches in paste dialog.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/3120">#3120</a>]
+			# (pound sign) is not correctly escaped in file urls.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2915">#2915</a>]
+			About plugin shows misleading user language.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2821">#2821</a>] Configuration
+			items that used floating point numbers were parsed as integers.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2604">#2064</a>] The asp
+			connector didn't work correctly in windows 2000 servers.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/3429">#3429</a>] Fixed
+			problem in IE8 with XHTML doctype. Thanks to duncansimey.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/3446">#3446</a>] Fixed self-closed
+ 			&lt;option&gt; in the table cell dialog.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/3181">#3181</a>] Node selection
+			could raise an error in IE8.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2156">#2156</a>]
+			After calling GetData() the style removal operations didn't work in IE. Thanks to
+			Compendium Blogware.</li>
+	  <li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/3427">#3427</a>] Improved
+ 			compatibility of Document properties dialog with Eclipse.</li>
+		<li>Language file updates for the following languages:
+			<ul>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2908">#2908</a>] Czech </li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2849">#2849</a>] Lithuanian</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/3636">#3636</a>] Polish</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/3741">#3741</a>] Korean</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2861">#2861</a>] Slovenian</li>
+			</ul>
+		</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/3439">#3439</a>] IgnoreEmptyParagraphValue
+			had no effect if ProcessHTMLEntities is false.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/3880">#3880</a>] Fixed some minor
+			logical and typing mistakes in fckdomrange_ie.js.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2689">#2689</a>] If a
+			custom connector tried to use the "url" attribute for files it was always reencoded.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1537">#1537</a>] Fixed extra
+			&lt;p&gt; tag added before pasted contents from Paste From Word dialog.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2874">#2874</a>] Fixed wrong position
+			of caption tag in tables with table headers.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/3818">#3818</a>] Fixed layout error
+			in text and background color popups when more colors button is disabled.</li>
+ 		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/3481">#3481</a>] Fixed an issue in
+ 			WebKit where paste actions inside table cells may leak outside of the table cell.</li>
+ 		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/3677">#3677</a>] Fixed JavaScript
+ 			error when trying to create link for images inside floating div containers.</li>
+ 		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/3925">#3925</a>] Removed obsolete
+ 			parentWindow reference from FCKDialog.OpenDialog().</li>
+ 		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2936">#2936</a>] Added protection
+			in the PHP upload if the destination folder is placed at the root and doesn't exit.</li>
+ 		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/4357">#4357</a>] Avoid problem in
+			the paste dialog if IIS is set to process HTML files as Asp.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2201">#2201</a>] Fixed a crash in IE
+ 			in an object is selected (with handles) on unload of the editor.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/3053">#3053</a>] Fixed problems with
+			the height of the content area in Safari and Chrome.</li>
+	</ul>
+	<p>
+		<a href="_whatsnew_history.html">See previous versions history</a></p>
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/_whatsnew_history.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/_whatsnew_history.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/_whatsnew_history.html	(revision 1481)
@@ -0,0 +1,4055 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+-->
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>FCKeditor ChangeLog - What's New?</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<style type="text/css">
+		body { font-family: arial, verdana, sans-serif }
+		p { margin-left: 20px }
+		h1 { border-bottom: solid 1px gray; padding-bottom: 20px }
+	</style>
+</head>
+<body>
+	<h1>
+		FCKeditor ChangeLog - What's New?</h1>
+	<h3>
+		Version 2.6.4.1</h3>
+	<p>
+		Fixed Bugs:</p>
+	<ul>
+		<li><strong>Security release, upgrade is highly recommended.</strong></li>
+	</ul>
+	<h3>
+		Version 2.6.4</h3>
+	<p>
+		Fixed Bugs:</p>
+	<ul>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2777">#2777</a>] Merging
+			cells between table header and body is no longer possible.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2815">#2815</a>] Fixed
+			WSC issues at slow connection speed. Added SSL support.</li>
+		<li>Language file updates for the following languages:
+			<ul>
+				<li>Chinese (Traditional)</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2846">#2846</a>] French</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2801">#2801</a>] Hebrew</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2824">#2824</a>] Russian</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2811">#2811</a>] Turkish</li>
+			</ul>
+		</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2757">#2757</a>] Fixed
+			a minor bug which causes selection positions to be improperly restored during undos
+			and redos.</li>
+	</ul>
+	<h3>
+		Version 2.6.4 Beta</h3>
+	<p>
+		New Features and Improvements:</p>
+	<ul>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2685">#2685</a>] Integration
+			with "WebSpellChecker", a <strong>zero installation and free spell checker</strong>
+			provided by SpellChecker.net. This is now the default spell checker in the editor
+			(requires internet connection). All previous spell checking solutions are still
+			available.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2430">#2430</a>] In the
+			table dialog it's possible to create header cells in the first row (included in
+			a thead element) or the first column of the table. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/822">#822</a>] The table
+			cell dialog allows switching between normal data cells or header cells (TD vs. TH).
+		</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2515">#2515</a>] New language
+			file for Icelandic.</li>
+	</ul>
+	<p>
+		Fixed Bugs:</p>
+	<ul>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2381">#2381</a>] Protected
+			the editor from duplicate iframes</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1752">#1752</a>] Fixed
+			the issue with tablecommands plugin and undefined tagName.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2333">#2333</a>] The &amp;gt;
+			character inside text wasn't encoded in Opera and Safari.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2467">#2467</a>] Fixed
+			JavaScript error with the fit window command in source mode.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2472">#2472</a>] Splitting
+			a TH will create a two TH, not a TH and a TD.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1891">#1891</a>] Removed
+			unnecessary name attributes in dialogs. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/798">#798</a>, <a target="_blank"
+			href="http://dev.fckeditor.net/ticket/2495">#2495</a>] If an image was placed inside
+			a container with dimensions or floating it wasn't possible to edit its properties
+			from the toolbar or context menu.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1982">#1982</a>] Submenus
+			in IE7 now are shown properly.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2496">#2496</a>] Using
+			the Paste dialogs in IE might insert the content at the start of the editor.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2349">#2496</a>] Fixed
+			RTL dialog layout in Internet Explorer.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2488">#2488</a>] Fixed
+			the issue where email links in IE would take the browser to a new page in addition
+			to calling up the email client.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2519">#2519</a>] Fixed
+			race condition at registering the FCKeditorAPI object in multiple editor scenarios.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2525">#2525</a>] Fixed
+			JavaScript error in Google Chrome when StartupShowBlocks is set to true.</li>
+		<li>Language file updates for the following languages:
+			<ul>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2440">#2440</a>] Dutch</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2451">#2451</a>] Basque</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2451">#2650</a>] Danish</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2208">#2535</a>] German
+				</li>
+			</ul>
+		</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2531">#2531</a>] The ENTER
+			key will properly scroll to the cursor position when breaking long paragraphs.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2573">#2573</a>] The type
+			name in configurations for the ASP connector are now case sensitive.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2503">#2503</a>] DL, DT
+			and DD where missing the formatting in the generated HTML.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2516">#2516</a>] Replaced
+			the extension AddItem of Array with the standard "push" method.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2486">#2486</a>] Vertically
+			splitting cell with colspan &gt; 1 breaks table layout.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2597">#2597</a>] Fixed
+			the issue where dropping contents from outside of the editor doesn't work in Safari.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2412">#2412</a>] Fixed
+			the issue where FCK.InsertHtml() is no longer removing selected contents after content
+			insertion in Firefox.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2407">#2407</a>] Fixed
+			the issue where the Div container command and the blockquote command would break
+			lists.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2469">#2469</a>] Fixed
+			a minor issue where FCK.SetData() may cause the editor to become unresponsive to
+			the first click after being defocused.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2611">#2611</a>] Fixed
+			an extra slash on quickupload of the asp connector.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2616">#2616</a>] Fixed
+			another situation where new elements were inserted at the beginning of the content
+			in IE.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2634">#2634</a>] Fixed
+			two obsolete references to Array::AddItem() instances still in the code.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2679">#2679</a>] Fixed
+			infinite loop problems with FCKDomRangeIterator class which causes some commands
+			to hang when applied to certain document structures.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2649">#2649</a>] Fixed
+			a JavaScript error in IE when user tries to search with the "Match whole word" option
+			enabled and the matched word is at exactly the end of document.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2603">#2603</a>] Changed
+			the <a href="http://docs.fckeditor.net/EMailProtection">EMailProtection</a> to "none"
+			for better compatibility.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2612">#2612</a>] The 'ForcePasteAsPlainText'
+			configuration option didn't work correctly in Safari and Chrome.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2696">#2696</a>] Fixed
+			non-working autogrow plugin.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2753">#2753</a>] Fixed
+			occasional exceptions in the dragersizetable plugin with IE.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2653">#2653</a>] and [<a
+			target="_blank" href="http://dev.fckeditor.net/ticket/2733">#2733</a>] Enable undo
+			of changes to tables and table cells.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1865">#1865</a>] The context
+			menu is now working properly over the last row in a table with thead. Thanks to
+			Koen Willems.</li>
+	</ul>
+	<h3>
+		Version 2.6.3</h3>
+	<p>
+		Fixed Bugs:</p>
+	<ul>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2412">#2412</a>] FCK.InsertHtml()
+			is now properly removing selected contents after content insertion in Firefox.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2420">#2420</a>] Spelling
+			mistake corrections made by the spell checking dialog are now undoable. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2411">#2411</a>] Insert
+			anchor was not working for non-empty selections.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2426">#2426</a>] It was
+			impossible to switch between editor areas with a single click.</li>
+		<li>Language file updates for the following languages:
+			<ul>
+				<li>Canadian French</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2402">#2402</a>] Catalan
+				</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2400">#2400</a>] Chinese
+					(Simplified and Traditional)</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2401">#2401</a>] Croatian</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2422">#2422</a>] Czech</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2417">#2417</a>] Dutch</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2428">#2428</a>] French</li>
+				<li>German</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2427">#2427</a>] Hebrew</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2410">#2410</a>] Hindi</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2405">#2405</a>] Japanese</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2409">#2409</a>] Norwegian
+					and Norwegian BokmÃ¥l</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2429">#2429</a>] Spanish</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2406">#2406</a>] Vietnamese</li>
+			</ul>
+		</li>
+	</ul>
+	<p>
+		This version has been sponsored by <a href="http://www.dataillusion.com/fs/">Data Illusion
+			survey software solutions</a>.</p>
+	<h3>
+		Version 2.6.3 Beta</h3>
+	<p>
+		New Features and Improvements:</p>
+	<ul>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/439">#439</a>] Added a
+			new <strong>context menu option for opening links</strong> in the editor.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2220">#2220</a>] <strong>
+			Email links</strong> from the Link dialog <strong>are now encoded</strong> by default
+			to prevent being harvested by spammers. (Kudos to asuter for proposing the patch)
+		</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2234">#2234</a>] Added
+			the ability to create, modify and remove <strong>DIV containers</strong>. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2247">#2247</a>] The <strong>
+			SHIFT+SPACE</strong> keystroke will now <strong>produce a &amp;nbsp;</strong> character.
+		</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2252">#2252</a>] It's
+			now possible to enable the browsers default menu using the configuration file (FCKConfig.BrowserContextMenu
+			option). </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2032">#2032</a>] Added
+			HTML samples for legacy HTML and Flash HTML. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/234">#234</a>] Introduced
+			the "PreventSubmitHandler" setting, which makes it possible to instruct the editor
+			to not handle the hidden field update on form submit events.</li>
+	</ul>
+	<p>
+		Fixed Bugs:</p>
+	<ul>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2319">#2319</a>] On Opera
+			and Firefox 3, the entire page was scrolling on SHIFT+ENTER, or when EnterMode='br'.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2321">#2321</a>] On Firefox
+			3, the entire page was scrolling when inserting block elements with the FCK.InsertElement
+			function, used by the Table and Horizontal Rule buttons.. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/692">#692</a>] Added some
+			hints in editor/css/fck_editorarea.css on how to handle style items that would break
+			the style combo. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2263">#2263</a>] Fixed
+			a JavaScript error in IE which occurs when there are placeholder elements in the
+			document and the user has pressed the Source button.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2314">#2314</a>] Corrected
+			mixed up Chinese translations for the blockquote command.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2323">#2323</a>] Fixed
+			the issue where the show blocks command loses the current selection from the view
+			area when editing a long document.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2322">#2322</a>] Fixed
+			the issue where the fit window command loses the current selection and scroll position
+			in the editing area.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1917">#1917</a>] Fixed
+			the issue where the merge down command for tables cells does not work in IE for
+			more than two cells.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2320">#2320</a>] Fixed
+			the issue where the Find/Replace dialog scrolls the entire page.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1645">#1645</a>] Added
+			warning message about Firefox 3's strict origin policy.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2272">#2272</a>] Improved
+			the garbage filter in Paste from Word dialog.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2327">#2327</a>] Fixed
+			invalid HTML in the Paste dialog.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1907">#1907</a>] Fixed
+			sporadic "FCKeditorAPI is not defined" errors in Firefox 3.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2356">#2356</a>] Fixed
+			access denied error in IE7 when FCKeditor is launched from local filesystem.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1150">#1150</a>] Fixed
+			the type="_moz" attribute that sometimes appear in &lt;br&gt; tags in non-IE browsers.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1229">#1229</a>] Converting
+			multiple contiguous paragraphs to Formatted will now be merged into a single &lt;PRE&gt;
+			block.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2363">#2363</a>] There
+			were some sporadic "Permission Denied" errors with IE on some situations.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2135">#2135</a>] Fixed
+			a data loss bug in IE when there are @import statements in the editor's CSS files,
+			and IE's cache is set to "Check for newer versions on every visit".</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2376">#2376</a>] FCK.InsertHtml()
+			will now insert to the last selected position after the user has selected things
+			outside of FCKeditor, in IE.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2368">#2368</a>] Fixed
+			broken protect source logic for comments in IE.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2387">#2387</a>] Fixed
+			JavaScript error with list commands when the editable document is selected with
+			Ctrl-A.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2390">#2390</a>] Fixed
+			the issue where indent styles in JavaScript-generated &lt;p&gt; blocks are erased
+			in IE.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2394">#2394</a>] Fixed
+			JavaScript error with the "split vertically" command in IE when attempting to split
+			cells in the last row of a table.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2316">#2316</a>] The sample
+			posted data page has now the table fixed at 100% width. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2396">#2396</a>] SpellerPages
+			was causing a "Permission Denied" error in some situations. </li>
+	</ul>
+	<h3>
+		Version 2.6.2</h3>
+	<p>
+		New Features and Improvements:</p>
+	<ul>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2043">#2043</a>] The debug
+			script is not any more part of the compressed files. If FCKeditor native debugging
+			features (FCKDebug) are required, the _source folder must be present in your installation.</li>
+	</ul>
+	<p>
+		Fixed Bugs:</p>
+	<ul>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2248">#2248</a>] Calling
+			FCK.InsertHtml( 'nbsp;') was inserting a plain space instead of a non breaking space
+			character.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2273">#2273</a>] The dragresizetable
+			plugin now works in Firefox 3 as well.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2254">#2254</a>] Minor
+			fix in FCKSelection for nodeTagName object.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1614">#1614</a>] Unified
+			FCKConfig.FullBasePath with FCKConfig.BasePath.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2127">#2127</a>] Changed
+			floating dialogs to use fixed positioning so that they are no longer affected by
+			scrolling.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2018">#2018</a>] Reversed
+			the fix for <a target="_blank" href="http://dev.fckeditor.net/ticket/183">#183</a>
+			which broke FCKeditorAPI's cleanup logic. A new configuration directive <strong>MsWebBrowserControlCompat</strong>
+			has been added for those who wish to force the #183 fix to be enabled.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2276">#2276</a>] [<a
+			target="_blank" href="http://dev.fckeditor.net/ticket/2279">#2279</a>] On Opera
+			and Firefox 3, the entire page was scrolling on ENTER.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2149">#2149</a>] CSS urls
+			with querystring parameters were not being accepted for CSS values in the configuration
+			file (like EditorAreaCSS).</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2287">#2287</a>] On some
+			specific cases, with Firefox 2, some extra spacing was appearing in the final HTML
+			on posting, if inserting two successive tables.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2287">#2287</a>] Block
+			elements (like tables or horizontal rules) will be inserted correctly now when the
+			cursor is at the start or the end of blocks. No extra paragraphs will be included
+			in this operation.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2149">#2197</a>] The TAB
+			key will now have the default browser behavior if TabSpaces=0. It will move the
+			focus out of the editor (expect on Safari).</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2296">#2296</a>] Fixed
+			permission denied error on clicking on files in the file browser.</li>
+	</ul>
+	<h3>
+		Version 2.6.1</h3>
+	<p>
+		New Features and Improvements:</p>
+	<ul>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2150">#2150</a>] The searching
+			speed of the Find/Replace dialog has been vastly improved.</li>
+		<li>New language file for <strong>Gujarati</strong> (by Nilam Doctor).</li>
+		<li>A new TabIndex property has been added to the JavaScript integration files.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2215">#2215</a>] Following
+			the above new feature, the ReplaceTextarea method will now copy the textarea.tabIndex
+			value if available.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2163">#2163</a>] If the
+			FCKConfig.DocType setting points to a HTML DocType then the output won't generate
+			self-closing tags (it will output &lt;img &gt; instead of &lt;img /&gt;).</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2173">#2173</a>] A throbber
+			will be shown in the Quick Uploads.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2142">#2142</a>] HTML
+			samples will now use sampleposteddata.php in action parameter inside a form.</li>
+	</ul>
+	<p>
+		Fixed Bugs:</p>
+	<ul>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/768">#768</a>] It is no
+			longer possible for an image to have its width and height defined with both HTML
+			attributes and inline CSS styles in IE.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1426">#1426</a>] Fixed
+			the error loading fckstyles.xml in servers which cannot return the correct content
+			type header for .xml files.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2102">#2102</a>] Fixed
+			FCKConfig.DocType which stopped working in FCKeditor 2.6.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2039">#2039</a>] Fixed
+			the locking up issue in the Find/Replace dialog.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2124">#2124</a>] PHP File
+			Browser: fixed issue with resolving paths on Windows servers with PHP 5.2.4/5.2.5.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2059">#2059</a>] Fixed
+			the error in the toolbar name in fckeditor.py.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2065">#2065</a>] Floating
+			dialogs will now block the user from re-selecting the editing area by pressing Tab.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2114">#2114</a>] Added
+			a workaround for an IE6 bug which causes floating dialogs to appear blank after
+			opening it for the first time.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2136">#2136</a>] Fixed
+			JavaScript error in IE when opening the bullet list properties dialog.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1633">#1633</a>] External
+			styles should no longer interfere with the appearance of the editor and floating
+			panels now.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2113">#2113</a>] Fixed
+			unneeded &lt;span class=&quot;Apple-style-span&quot;&gt; created after inserting
+			special characters.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2170">#2170</a>] Fixed
+			Ctrl-Insert hotkey for copying.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2125">#2125</a>] Fixed
+			the issue that FCK.InsertHtml() doesn't insert contents at the caret position when
+			dialogs are opened in IE. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1764">#1764</a>] FCKeditor
+			will no longer catch focus in IE on load when StartupFocus is false and the initial
+			content is empty.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2126">#2126</a>] Opening
+			and closing floating dialogs will no longer cause toolbar button states to become
+			frozen.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2159">#2159</a>] Selection
+			are now correctly restored when undoing changes made by the Replace dialog.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2160">#2160</a>] "Match
+			whole word" in the Find and Replace dialog will now find words next to punctuation
+			marks as well.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2162">#2162</a>] If the
+			configuration is set to work including the &lt;head&gt; (FullPage), references to
+			stylesheets added by Firefox extensions won't be added to the output.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2168">#2168</a>] Comments
+			won't generate new paragraphs in the output.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2184">#2184</a>] Fixed
+			several validation errors in the File Browser.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1383">#1383</a>] Fixed
+			an IE issue where pressing backspace may merge a hyperlink on the previous line
+			with the text on the current line.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1691">#1691</a>] Creation
+			of links in Safari failed if there was no selection.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2188">#2188</a>] PreserveSessionOnFileBrowser
+			is now removed as it was made obsolete with 2.6.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/898">#898</a>] The styles
+			for the editing area are applied in the image preview dialog.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2056">#2056</a>] Fixed
+			several validation errors in the dialogs.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2063">#2063</a>] Fixed
+			some problems in asp related to the use of network paths for the location of the
+			uploaded files.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1593">#1593</a>] The "Sample
+			Posted Data" page will now properly wrap the text.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2239">#2239</a>] The PHP
+			code in sampleposteddata.php has been changed from "&lt;?=" to "&lt;? echo".</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2241">#2241</a>] Fixed
+			404 error in floating panels when FCKeditor is installed to a different domain.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2066">#2066</a>] Added
+			a workaround for a Mac Safari 3.1 browser bug which caused the Fit Window button
+			to give a blank screen.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2218">#2218</a>] Improved
+			Gecko based browser detection to accept Epiphany/Gecko as well.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2193">#2193</a>] Fixed
+			the issue where the caret cannot reach the last character of a paragraph in Opera
+			9.50.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2264">#2264</a>] Fixed
+			empty spaces that appear at the top of the editor in Opera 9.50.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2238">#2238</a>] The &lt;object&gt;
+			placeholder was not being properly displayed in the compressed distribution version
+			and nightly builds.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2115">#2115</a>] Fixed
+			JavaScript (permission denied) error in Firefox when file has been uploaded.</li>
+	</ul>
+	<h3>
+		Version 2.6</h3>
+	<p>
+		No changes. The stabilization of the 2.6 RC was completed successfully, as expected.</p>
+	<h3>
+		Version 2.6 RC</h3>
+	<p>
+		New Features and Improvements:</p>
+	<ul>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2017">#2017</a>] The FCKeditorAPI.Instances
+			object can now be used to access all FCKeditor instances available in the page.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1980">#1980</a>] <span
+			style="color: #ff0000">Attention:</span> By default, the editor now produces &lt;strong&gt;
+			and &lt;em&gt; instead of &lt;b&gt; and &lt;i&gt;.</li>
+	</ul>
+	<p>
+		Fixed Bugs:</p>
+	<ul>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1924">#1924</a>] The dialog
+			close button is now correctly positioned in IE in RTL languages.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1933">#1933</a>] Placeholder
+			dialog will now display the placeholder value correctly in IE.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/957">#957</a>] Pressing
+			Enter or typing after a placeholder with the placeholder plugin will no longer generate
+			colored text.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1952">#1952</a>] Fixed
+			an issue in FCKTools.FixCssUrls that, other than wrong, was breaking Opera.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1695">#1695</a>] Removed
+			Ctrl-Tab hotkey for Source mode and allowed Ctrl-T to work in Firefox.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1666">#1666</a>] Fixed
+			permission denied errors during opening popup menus in IE6 under domain relaxation
+			mode.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1934">#1934</a>] Fixed
+			JavaScript errors when calling Selection.EnsureSelection() in dialogs.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1920">#1920</a>] Fixed
+			SSL warning message when opening image and flash dialogs under HTTPS in IE6.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1955">#1955</a>] [<a
+			target="_blank" href="http://dev.fckeditor.net/ticket/1981">#1981</a>] [<a target="_blank"
+				href="http://dev.fckeditor.net/ticket/1985">#1985</a>] [<a target="_blank" href="http://dev.fckeditor.net/ticket/1989">#1989</a>]
+			Fixed XHTML source formatting errors in non-IE browsers.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2000">#2000</a>] The #
+			character is now properly encoded in file names returned by the File Browser.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1945">#1945</a>] New folders
+			and file names are now properly sanitized against control characters. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1944">#1944</a>] Backslash
+			character is now disallowed in current folder path.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1055">#1055</a>] Added
+			logic to override JavaScript errors occurring inside the editing frame due to user
+			added JavaScript code.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1647">#1647</a>] Hitting
+			ENTER on list items containing block elements will now create new list item elements,
+			instead of adding further blocks to the same list item.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1411">#1411</a>] Label
+			only combos now get properly grayed out when moving to source view.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2009">#2009</a>] Fixed
+			an important bug regarding styles removal on styled text boundaries, introduced
+			with the 2.6 Beta 1. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2011">#2011</a>] Internal
+			CSS &lt;style&gt; tags where being outputted when FullPage=true.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2016">#2016</a>] The Link
+			dialog now properly selects the first field when opening it to modify mailto or
+			anchor links. This problem was also throwing an error in IE.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2021">#2021</a>] The caret
+			will no longer remain behind in the editing area when the placeholder dialog is
+			opened.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2024">#2024</a>] Fixed
+			JavaScript error in IE when the user tries to open dialogs in Source mode.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1853">#1853</a>] Setting
+			ShiftEnterMode to p or div now works correctly when EnterMode is br.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1838">#1838</a>] Fixed
+			the issue where context menus sometimes don't disappear after selecting an option.
+		</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2028">#2028</a>] Fixed
+			JavaScript error when EnterMode=br and user tries to insert a page break.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2002">#2002</a>] Fixed
+			the issue where the maximize editor button does not vertically expand the editing
+			area in Firefox.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1842">#1842</a>] PHP integration:
+			fixed filename encoding problems in file browser.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1832">#1832</a>] Calling
+			FCK.InsertHtml() in non-IE browsers would now activate the document processor as
+			expected.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1998">#1998</a>] The native
+			XMLHttpRequest class is now used in IE, whenever it is available.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1792">#1792</a>] In IE,
+			the browser was able to enter in an infinite loop when working with multiple editors
+			in the same page. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1948">#1948</a>] Some
+			CSS rules are reset to dialog elements to avoid conflict with the page CSS.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1965">#1965</a>] IE was
+			having problems with SpellerPages, causing some errors to be thrown when completing
+			the spell checking in some situations.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2042">#2042</a>] The FitWindow
+			command was throwing an error if executed in an editor where its relative button
+			is not present in the toolbar.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/922">#922</a>] Implemented
+			a generic document processor for &lt;OBJECT&gt; and &lt;EMBED&gt; tags.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1831">#1831</a>] Fixed
+			the issue where the placeholder icon for &lt;EMBED&gt; tags does not always show
+			up in IE7.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2049">#2049</a>] Fixed
+			a deleted cursor CSS attribute in the minified CSS inside fck_dialog_common.js.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1806">#1806</a>] In IE,
+			the caret will not any more move to the previous line when selecting a Format style
+			inside an empty paragraph.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1990">#1990</a>] In IE,
+			dialogs using API calls which deals with the selection, like InsertHtml now can
+			be sure the selection will be placed in the correct position.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1997">#1997</a>] With
+			IE, the first character of table captions where being lost on table creation.</li>
+		<li>The selection and cursor position was not being properly handled when creating some
+			elements like forms and tables.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/662">#662</a>] In the
+			Perl sample files, the GetServerPath function will now calculate the path properly.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2208">#2208</a>] Added
+			missing translations in Italian language file.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2096">#2096</a>] Added
+			the codepage to basexml file. Filenames with special chars should now display properly.</li>
+	</ul>
+	<h3>
+		Version 2.6 Beta 1</h3>
+	<p>
+		New Features and Improvements:</p>
+	<ul>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/35">#35</a>] <strong>New
+			(and cool!) floating dialog system</strong>, avoiding problems with popup blockers
+			and enhancing the editor usability.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1886">#1886</a>] <strong>
+			Adobe AIR</strong> compatibility.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/123">#123</a>] Full support
+			for <strong>document.domain</strong> with automatic domain detection.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1622">#1622</a>] New <strong>
+			inline CSS cache</strong> feature, making it possible to avoid downloading the CSS
+			files for the editing area and skins. For that, it is enough to set the EditorAreaCSS,
+			SkinEditorCSS and SkinDialogCSS to string values in the format "/absolute/path/for/urls/|&lt;minified
+			CSS styles". All internal CSS links are already using this feature. </li>
+		<li>New language file for <strong>Canadian French</strong>.</li>
+	</ul>
+	<p>
+		Fixed Bugs:</p>
+	<ul>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1643">#1643</a>] Resolved
+			several "strict warning" messages in Firefox when running FCKeditor.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1522">#1522</a>] The ENTER
+			key will now work properly in IE with the cursor at the start of a formatted block.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1503">#1503</a>] It's
+			possible to define in the Styles that a Style (with an empty class) must be shown
+			selected only when no class is present in the current element, and selecting that
+			item will clear the current class (it does apply to any attribute, not only classes).</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/191">#191</a>] The scrollbars
+			are now being properly shown in Firefox Mac when placing FCKeditor inside a hidden
+			div.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/503">#503</a>] Orphaned
+			&lt;li&gt; elements now get properly enclosed in a &lt;ul&gt; on output.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/309">#309</a>] The ENTER
+			key will not any more break &lt;button&gt; elements at the beginning of paragraphs.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1654">#1654</a>] The editor
+			was not loading on a specific unknown situation. The breaking point has been removed.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1707">#1707</a>] The editor
+			no longer hangs when operating on documents imported from Microsoft Word.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1514">#1514</a>] Floating
+			panels attached to a shared toolbar among multiple FCKeditor instances are no longer
+			misplaced when the editing areas are absolutely or relatively positioned.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1715">#1715</a>] The ShowDropDialog
+			is now enforced only when ForcePasteAsPlainText = true.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1336">#1336</a>] Sometimes
+			the autogrow plugin didn't work properly in Firefox.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1728">#1728</a>] External
+			toolbars are now properly sized in Opera.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1782">#1782</a>] Clicking
+			on radio buttons or checkboxes in the editor in IE will no longer cause lockups
+			in IE.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/805">#805</a>] The FCKConfig.Keystrokes
+			commands where executed even if the command itself was disabled.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/982">#982</a>] The button
+			to empty the box in the "Paste from Word" has been removed as it leads to confusion
+			for some users.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1682">#1682</a>] Editing
+			control elements in Firefox, Opera and Safari now works properly.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1613">#1613</a>] The editor
+			was surrounded by a &lt;div&gt; element that wasn't really needed.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/676">#676</a>] If a form
+			control was moved in IE after creating it, then it did lose its name.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/738">#738</a>] It wasn't
+			possible to change the type of an existing button.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1854">#1854</a>] Indentation
+			now works inside table cells.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1717">#1717</a>] The editor
+			was entering on looping on some specific cases when dealing with invalid source
+			markup.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1530">#1530</a>] Pasting
+			text into the "Find what" fields in the Find and Replace dialog would now activate
+			the find and replace buttons.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1828">#1828</a>] The Find/Replace
+			dialog will no longer display wrong starting positions for the match when there
+			are multiple and identical characters preceding the character at the real starting
+			point of the match.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1878">#1878</a>] Fixed
+			a JavaScript error which occurs in the Find/Replace dialog when the user presses
+			"Find" or "Replace" after the "No match found" message has appeared.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1355">#1355</a>] Line
+			breaks and spaces are now conserved when converting to and from the "Formatted"
+			format.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1670">#1670</a>] Improved
+			the background color behind smiley icons and special characters in their corresponding
+			dialogs.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1693">#1693</a>] Custom
+			error messages are now properly displayed in the file browser.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/970">#970</a>] The text
+			and value fields in the selection box dialog will no longer extend beyond the dialog
+			limits when the user inputs a very long text or value for one of the selection options.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/479">#479</a>] Fixed the
+			issue where pressing Enter in an &lt;o:p&gt; tag in IE does not generate line breaks.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/481">#481</a>] Fixed the
+			issue where the image preview in image dialog sometimes doesn't display after selecting
+			the image from server browser.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1488">#1488</a>] PHP integration:
+			the FCKeditor class is now more PHP5/6 friendly ("public" keyword is used instead
+			of depreciated "var").</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1815">#1815</a>] PHP integration:
+			removed closing tag: "?&gt;", so no additional whitespace added when files are included.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1906">#1906</a>] PHP file
+			browser: fixed problems with DetectHtml() function when open_basedir was set.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1871">#1871</a>] PHP file
+			browser: permissions applied with the chmod command are now configurable.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1872">#1872</a>] Perl
+			file browser: permissions applied with the chmod command are now configurable.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1873">#1873</a>] Python
+			file browser: permissions applied with the chmod command are now configurable.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1572">#1572</a>] ColdFusion
+			integration: fixed issues with setting the editor height.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1692">#1692</a>] ColdFusion
+			file browser: it is possible now to define TempDirectory to avoid issues with GetTempdirectory()
+			returning an empty string.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1379">#1379</a>] ColdFusion
+			file browser: resolved issues with OnRequestEnd.cfm breaking the file browser.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1509">#1509</a>] InsertHtml()
+			in IE will no longer turn the preceding normal whitespace into &amp;nbsp;.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/958">#958</a>] The AddItem
+			method now has an additional fifth parameter "customData" that will be sent to the
+			Execute method of the command for that menu item, allowing a single command to be
+			used for different menu items..</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1502">#1502</a>] The RemoveFormat
+			command now also removes the attributes from the cleaned text. The list of attributes
+			is configurable with FCKConfig.RemoveAttributes.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1596">#1596</a>] On Safari,
+			dialogs have now right-to-left layout when it runs a RTL language, like Arabic.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1344">#1344</a>] Added
+			warning message on Copy and Cut operation failure on IE due to paste permission
+			settings.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1868">#1868</a>] Links
+			to file browser has been changed to avoid requests containing double dots.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1229">#1229</a>] Converting
+			multiple contiguous paragraphs to Formatted will now be merged into a single &lt;PRE&gt;
+			block.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1627">#1627</a>] Samples
+			failed to load from local filesystem in IE7.</li>
+	</ul>
+	<h3>
+		Version 2.5.1</h3>
+	<p>
+		New Features and Improvements:</p>
+	<ul>
+		<li><strong>FCKeditor.Net 2.5</strong> compatibility.</li>
+		<li>JavaScript integration file:
+			<ul>
+				<li>The new "<strong>FCKeditor.ReplaceAllTextareas</strong>" function is being introduced,
+					making it possible to replace many (or unknown) &lt;textarea&gt; elements in a single
+					call. The replacement can be also filtered by CSS class name, or by a custom function
+					evaluator. </li>
+				<li>It is now possible to set the default BasePath for all editor instances by setting
+					<strong>FCKeditor.BasePath</strong>. This is extremely useful when working with
+					the ReplaceAllTextareas function. </li>
+			</ul>
+		</li>
+	</ul>
+	<p>
+		Fixed Bugs:</p>
+	<ul>
+		<li>[<a href="http://dev.fckeditor.net/ticket/339" target="_blank">#339</a>] [<a
+			href="http://dev.fckeditor.net/ticket/681" target="_blank">#681</a>] The SpellerPages
+			spell checker will now completely ignore the presence of HTML tags in the text.
+		</li>
+		<li>[<a href="http://dev.fckeditor.net/ticket/1643" target="_blank">#1643</a>] Resolved
+			several "strict warning" messages in Firefox when running FCKeditor. </li>
+		<li>[<a href="http://dev.fckeditor.net/ticket/1603" target="_blank">#1603</a>] Certain
+			specific markup was making FCKeditor entering in a loop, blocking its execution.
+		</li>
+		<li>[<a href="http://dev.fckeditor.net/ticket/1664" target="_blank">#1664</a>] The ENTER
+			key will not any more swap the order of the tags when hit at the end of paragraphs.
+		</li>
+	</ul>
+	<h3>
+		Version 2.5</h3>
+	<p>
+		New Features and Improvements:</p>
+	<ul>
+		<li>The heading options have been moved to the top, in the default settings for the
+			Format combo.</li>
+	</ul>
+	<p>
+		Fixed Bugs:</p>
+	<ul>
+		<li>The focus is now correctly set when working on Safari.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1436">#1436</a>] Nested
+			context menu panels are now correctly closed on Safari.</li>
+		<li>Empty anchors are now properly created on Safari.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1359">#1359</a>] FCKeditor
+			will no longer produce the strange visual effect of creating a selected space and
+			then deleting it in Internet Explorer.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1399">#1399</a>] Removed
+			the empty entry in the language selection box of sample03.html.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1400">#1400</a>] Fixed
+			the issue where the style selection box in sample14.html is not context sensitive.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1401">#1401</a>] Completed
+			Hebrew translation of the user interface.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1409">#1409</a>] Completed
+			Finnish translation of the user interface.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1414">#1414</a>] Fixed
+			the issue where entity code words written inside a &lt;pre&gt; block in Source mode
+			are not converted to the corresponding characters after switching back to editor
+			mode.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1418">#1418</a>] Fixed
+			the issue where a detached toolbar would flicker when FCKeditor is being loaded.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1419">#1419</a>] Fixed
+			the issue where pressing Delete in the middle of two lists would incorrectly move
+			contents after the lists to the character position.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1420">#1420</a>] Fixed
+			the issue where empty list items can become collapsed and uneditable when it has
+			one of more indented list items directly under it. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1431">#1431</a>] Fixed
+			the issue where pressing Enter in a &lt;pre&gt; block in Internet Explorer would
+			move the caret one space forward instead of sending it to the next line.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1472">#1472</a>] Completed
+			Arabic translation of the user interface.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1474">#1474</a>] Fixed
+			the issue where reloading a page containing FCKeditor may provoke JavaScript errors
+			in Internet Explorer.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1478">#1478</a>] Fixed
+			the issue where parsing fckstyles.xml fails if the file contains no &lt;style&gt;
+			nodes.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1491">#1491</a>] Fixed
+			the issue where FCKeditor causes the selection to include an "end of line" character
+			in list items even though the list item is empty.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1496">#1496</a>] Fixed
+			the issue where attributes under &lt;area&gt; and &lt;map&gt; nodes are destroyed
+			or left unprotected when switching to and from Source mode.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1500">#1500</a>] Fixed
+			the issue where the function _FCK_PaddingNodeListener() is called excessively which
+			negatively affects performance.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1514">#1514</a>] Fixed
+			the issue where floating menus are incorrectly positioned when the toolbar or the
+			editor frame are not static positioned.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1518">#1518</a>] Fixed
+			the issue where excessive &lt;BR&gt; nodes are not removed after a paragraph is
+			split when creating lists.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1521">#1521</a>] Fixed
+			JavaScript error and erratic behavior of the Replace dialog.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1524">#1524</a>] Fixed
+			the issue where the caret jumps to the beginning or end of a list block and when
+			user is trying to select the end of a list item.</li>
+		<li>Completed Simplified Chinese translation of the user interface.</li>
+		<li>Completed Estonian translation of the user interface.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1406">#1406</a>] Editor
+			was always "dirty" if flash is available in the contents.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1561">#1561</a>] Non standard
+			elements are now properly applied if defined in the styles XML file.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1412">#1412</a>] The _QuickUploadLanguage
+			value is now work properly for Perl.</li>
+		<li>Several compatibility fixes for Firefox 3 (Beta 1):
+			<ul>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1558">#1558</a>] Nested
+					context menu close properly when one of their options is selected.</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1556">#1556</a>] Dialogs
+					contents are now showing completely, without scrollbar.</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1559">#1559</a>] It is
+					not possible to have more than one panel opened at the same time.</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1554">#1554</a>] Links
+					now get underlined.</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1557">#1557</a>] The "Automatic"
+					and "More colors..." buttons were improperly styled in the color selector panels
+					(Opera too).</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1462">#1462</a>] The enter
+					key will not any more scroll the main window.</li>
+			</ul>
+		</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1562">#1562</a>] Fixed
+			the issue where empty paragraphs are added around page breaks each time the user
+			switches to Source mode.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1578">#1578</a>] The editor
+			will now scroll correctly when hitting enter in front of a paragraph.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1579">#1579</a>] Fixed
+			the issue where the create table and table properties dialogs are too narrow for
+			certain translations.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1580">#1580</a>] Completed
+			Polish translation of the user interface.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1591">#1591</a>] Fixed
+			JavaScript error when using the blockquote command in an empty document in IE.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1592">#1592</a>] Fixed
+			the issue where attempting to remove a blockquote with an empty paragraph would
+			leave behind an empty blockquote IE.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1594">#1594</a>] Undo/Redo
+			will now work properly for the color selectors.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1597">#1597</a>] The color
+			boxes are now properly rendered in the color selector panels on sample14.html.</li>
+	</ul>
+	<h3>
+		Version 2.5 Beta</h3>
+	<p>
+		New Features and Improvements:</p>
+	<ul>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/624">#624</a>] [<a
+			target="_blank" href="http://dev.fckeditor.net/ticket/634">#634</a>] [<a target="_blank"
+				href="http://dev.fckeditor.net/ticket/1300">#1300</a>] [<a target="_blank" href="http://dev.fckeditor.net/ticket/1301">#1301</a>]
+			Official compatibility support with <strong>Opera 9.50</strong> and <strong>Safari 3</strong>
+			(WebKit based browsers actually). These browsers are still in Beta, but we are confident
+			that we'll have amazing results as soon as they get stable. We are continuously
+			collaborating with Opera Software and Apple to bring a wonderful FCKeditor experience
+			over their browser platforms.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/494">#494</a>] Introduced
+			the <strong>new Style System</strong>. We are not anymore relaying on browser features
+			to apply and remove styles, which guarantees that the editor will <strong>behave in
+				the same way in all browsers</strong>. It is an incredibly flexible system,
+			which aims to fit all developer's needs, from Flash content or HTML4 to XHTML 1.0
+			Strict or XHTML 1.1:
+			<ul>
+				<li>All basic formatting features, like Bold and Italic, can be precisely controlled
+					by using the configuration file (<b>CoreStyles</b> setting). It means that now,
+					the Bold button, for example, can produce &lt;b&gt;, &lt;strong&gt;, &lt;span class...&gt;,
+					&lt;span style...&gt; or anything the developer prefers.</li>
+				<li>Again with the <b>CoreStyles</b> setting, each block format, font, size, and even
+					the color pickers can precisely reflect end developer's needs.</li>
+				<li>Because of the above changes, font sizes are much more flexible. <b>Any kind of
+					font unit</b> can be used, including a mix of units.</li>
+				<li>All styles, including toolbar bottom styles, are precisely controlled when being
+					applied to the document. FCKeditor uses an element table derived from the <b>W3C XHTML
+						DTDs</b> to precisely create the elements, guarantee standards compliant code.</li>
+				<li><b>No more &lt;font&gt; tags</b>... well... actually, the system is so flexible
+					that it is up to you to use them or not.</li>
+				<li>It is possible to configure FCKeditor to produce a truly <b>semantic aware </b>and<b>
+					XHTML 1.1 compliant </b>code. Check out sample14.html.</li>
+				<li>It's also possible to precisely control which inline elements must be removed with
+					the &quot;Remove All&quot; button, by using the &quot;<b>RemoveFormatTags</b>&quot;
+					setting.</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1231">#1231</a>] [<a
+					target="_blank" href="http://dev.fckeditor.net/ticket/160">#160</a>] Paragraph <b>indentation</b>
+					and <b>justification</b> now uses style attributes and don't create unnecessary
+					elements, and &lt;blockquote&gt; is not anymore used for it. Now, even CSS classes
+					can be used to indent or align text.</li>
+				<li>All paragraph formatting features work well when EnterMode=br.</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/172">#172</a>] All paragraph
+					formatting features work well when list items too.</li>
+			</ul>
+		</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1197">#1197</a>] [<a
+			target="_blank" href="http://dev.fckeditor.net/ticket/132">#132</a>] The toolbar
+			now presents a <strong>new button for Blockquote</strong>. The indentation button
+			will not anymore be used for that.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/125">#125</a>] Table's
+			<strong>columns size can now be changed by dragging on cell borders</strong>, with
+			the "dragresizetable" plugin. </li>
+		<li>The EditorAreaCSS config option can now also be set to a string of paths separated
+			by commas.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/212">#212</a>] New "<strong>Show
+			Blocks</strong>" command button in toolbar to show block details in the editing
+			area. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/915">#915</a>] The <strong>
+			undo/redo system has been revamped</strong> to work the same across Internet Explorer
+			and Gecko-based browsers (e.g. Firefox). A number of critical bugs in the undo/redo
+			system are also fixed. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/194">#194</a>] The editor
+			now uses the <strong>Data Processor</strong> technology, which makes it possible
+			to handle different input formats. A sample of it may be found at "editor/plugins/bbcode/_sample",
+			that shows some simple BBCode support. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/145">#145</a>] The "htaccess.txt"
+			file has been renamed to ".htaccess" as it doesn't bring security concerns, being
+			active out of the box.</li>
+		<li>File Browser and Quick Upload changes:
+			<ul>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/163">#163</a>] <span
+					style="color: #ff0000"><strong>Attention:</strong></span> The default connector
+					in fckconfig.js has been changed from ASP to PHP. If you are using ASP remember
+					to change the _FileBrowserLanguage and _QuickUploadLanguage settings in your fckconfig.js.
+					[<a target="_blank" href="http://dev.fckeditor.net/ticket/454">#454</a>] The file
+					browser and upload connectors have been unified so they can reuse the same configuration
+					settings.</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/865">#865</a>] The ASP
+					and PHP connectors have been improved so it's easy to select the location of the
+					destination folder for each file type, and it's no longer necessary to use the "file",
+					"image", "flash" subfolders<br />
+					<span style="color: #ff0000"><strong>Attention:</strong></span> The location of
+					all the connectors have been changed in the fckconfig.js file. Please check your
+					settings to match the current ones. Also review carefully the config file for your
+					server language. </li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/688">#688</a>] Now the
+					Perl quick upload is available. </li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/575">#575</a>] The Python
+					connector has been rewritten as a WSGI app to be fully compatible with the latest
+					python frameworks and servers. The QuickUpload feature has been added as well as
+					all the features available in the PHP connector. Thanks to Mariano Reingart.</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/561">#561</a>] The ASP
+					connector provides an AbsolutePath setting so it's possible to set the url to a
+					full domain or a relative path and specify that way the physical folder where the
+					files are stored..</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/333">#333</a>] The Quick
+					Upload now can use the same ServerPath parameter as the full connector.</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/199">#199</a>] The AllowedCommands
+					configuration setting is available in the asp and php connectors so it's possible
+					to disallow the upload of files (although the "select file" button will still be
+					available in the file browser).</li>
+			</ul>
+		</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/100">#100</a>] A new configuration
+			directive "FCKConfig.EditorAreaStyles" has been implemented to allow setting editing
+			area styles from JavaScript. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/102">#102</a>] HTML code
+			generated by the "Paste As Plain Text" feature now obeys the EnterMode setting.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1266">#1266</a>] Introducing
+			the HtmlEncodeOutput setting to instruct the editor to HTML-encode some characters
+			(&amp;, &lt; and &gt;) in the posted data.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/357">#357</a>] Added a
+			"Remove Anchor" option in the context menu for anchors. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1060">#1060</a>] Compatibility
+			checks with Firefox 3.0 Alpha. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/817">#817</a>] [<a
+			target="_blank" href="http://dev.fckeditor.net/ticket/1077">#1077</a>] New "Merge
+			Down/Right" commands for merging tables cells in non-Gecko browsers.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1288">#1288</a>] The "More
+			Colors..." button in color selector popup has been made optional and configurable
+			by the <strong>EnableMoreFontColors</strong> option. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/356">#356</a>] The <strong>
+			Find and Replace</strong> dialogs are now unified into a single dialog with tabs.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/549">#549</a>] Added a
+			'None' option to the FCKConfig.ToolbarLocation option to allow for hidden toolbars.
+		</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1313">#1313</a>] An XHTML
+			1.1 target editor sample has been created as sample14.html. </li>
+		<li>The ASP, ColdFusion and PHP integration have been aligned to our standards.</li>
+	</ul>
+	<p>
+		Fixed Bugs:</p>
+	<ul>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/71">#71</a>] [<a target="_blank"
+			href="http://dev.fckeditor.net/ticket/243">#243</a>] [<a target="_blank" href="http://dev.fckeditor.net/ticket/267">#267</a>]
+			The editor now takes care to not create invalid nested block elements, like creating
+			&lt;form&gt; or &lt;hr&gt; inside &lt;p&gt;. &nbsp;</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1511298&group_id=75348&atid=543655">SF
+			Patch 1511298</a>] The CF Component failed on CFMX 6.0</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/639">#639</a>] If the
+			FCKConfig.DefaultLinkTarget setting was missing in fckconfig.js the links has target="undefined".</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/497">#497</a>] Fixed EMBED
+			attributes handling in IE.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1315722&group_id=75348&atid=543655">SF
+			Patch 1315722</a>] Avoid getting a cached version of the folder contents after uploading
+			a file</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1386086&group_id=75348&atid=543655">SF
+			Patch 1386086</a>] The php connector has been protected so mkdir doesn't fail if
+			there are double slashes.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/943">#943</a>] The PHP
+			connector now specifies that the included files are relative to the current path.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/560">#560</a>] The PHP
+			connector will work better if the connector or the userfiles folder is a symlink.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/784">#784</a>] Fixed a
+			non initialized $php_errormsg in the PHP connector.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/802">#802</a>] The replace
+			dialog will now advance its searching position correctly and is able to search for
+			strings spanning across multiple inline tags.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/944">#944</a>] The _samples
+			didn't work directly from the Mac filesystem.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/946">#946</a>] Toolbar
+			images didn't show in non-IE browsers if the path contained a space.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/291">#291</a>] [<a
+			target="_blank" href="http://dev.fckeditor.net/ticket/395">#395</a>] [<a target="_blank"
+				href="http://dev.fckeditor.net/ticket/932">#932</a>] Clicking outside the editor
+			it was possible to paste or apply formatting to the rest of the page in IE.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/137">#137</a>] Fixed FCKConfig.TabSpaces
+			being ignored, and weird behaviors when pressing tab in edit source mode.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/268">#268</a>] Fixed special
+			XHTML characters present in event attribute values being converted inappropriately
+			when switching to source view.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/272">#272</a>] The toolbar
+			was cut sometimes in IE to just one row if there are multiple instances of the editor.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/515">#515</a>] Tables
+			in Firefox didn't inherit font styles properly in Standards mode.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/321">#321</a>] If FCKeditor
+			is initially hidden in Firefox it will no longer be necessary to call the oEditor.MakeEditable()
+			function.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/299">#299</a>] The 'Browse
+			Server' button in the Image and Flash dialogs was a little too high.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/931">#931</a>] The BodyId
+			and BodyClass configuration settings weren't applied in the preview window.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/583">#583</a>] The "noWrap"
+			attribute for table cells was getting an empty value in Firefox. Thanks to geirhelge.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/141">#141</a>] Fixed incorrect
+			startup focus in Internet Explorer after page reloads. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/143">#143</a>] Fixed browser
+			lockup when the user writes &lt;!--{PS..x}&gt; into the editor in source mode. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/174">#174</a>] Fixed incorrect
+			positioning of FCKeditor in full screen mode. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/978">#978</a>] Fixed a
+			SpellerPages error with ColdFusion when no suggestions where available for a word.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/977">#977</a>] The "shape"
+			attribute of &lt;area&gt; had its value changed to uppercase in IE.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/996">#996</a>] "OnPaste"
+			event listeners will now get executed only once.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/289">#289</a>] Removed
+			debugging popups from page load regarding JavaScript and CSS loading errors.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/328">#328</a>] [<a
+			target="_blank" href="http://dev.fckeditor.net/ticket/346">#346</a>] [<a target="_blank"
+				href="http://dev.fckeditor.net/ticket/404">#404</a>] Fixed a number of problems
+			regarding &lt;pre&gt; blocks:
+			<ol>
+				<li>Leading whitespaces and line breaks in &lt;pre&gt; blocks are trimmed when the user
+					switches between editor mode and source mode;</li>
+				<li>Pressing Enter inside a &lt;pre&gt; block would split the block into two, but the
+					expected behavior is simply inserting a line break;</li>
+				<li>Simple line breaks inside &lt;pre&gt; blocks entered in source mode are being turned
+					into &lt;br&gt; tags when the user switches to editor mode and back.</li>
+			</ol>
+		</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/581">#581</a>] Fixed the
+			issue where the "Maximize the editor size" toolbar button stops working if any of
+			the following occurs:
+			<ol>
+				<li>There exists a form input whose name or id is "style" in FCKeditor's host form;</li>
+				<li>There exists a form input whose name or id is "className" in FCKeditor's host form;</li>
+				<li>There exists a form and a form input whose name of id is "style" in the editing
+					frame.</li>
+			</ol>
+		</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/183">#183</a>] Fixed the
+			issue when FCKeditor is being executed in a custom application with the WebBrowser
+			ActiveX control, hiding the WebBrowser control would incorrectly invoke FCKeditor's
+			cleanup routines, causing FCKeditor to stop working.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/539">#539</a>] Fixed the
+			issue where right clicking on a table inside the editing frame in Firefox would
+			cause the editor the scroll to the top of the document.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/523">#523</a>] Fixed the
+			issue where, under certain circumstances, FCKeditor would obtain focus at startup
+			even though FCKConfig.StartupFocus is set to false. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/393">#393</a>] Fixed the
+			issue where if an inline tag is at the end of the document, the user would have
+			no way of escaping from the inline tag if he continues typing at the end of the
+			document. FCKeditor's behaviors regarding inline tags has been made to be more like
+			MS Word's:
+			<ol>
+				<li>If the caret is moved to the end of a hyperlink by the keyboard, then hyperlink
+					mode is disabled. </li>
+				<li>If the caret is moved to the end of other styled inline tags by any key other than
+					the End key (like bold text or italic text), the original bold/italic/... modes
+					would continue to be effective. </li>
+				<li>If the caret is moved to the end of other styled inline tags by the End key, all
+					style tag modes (e.g. bold, italic, underline, etc.) would be canceled. This is
+					not consistent with MS Word, but provides a convenient way for the user to escape
+					the inline tag at the end of a line.</li>
+			</ol>
+		</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/338">#338</a>] Fixed the
+			issue where the configuration directive FCKConfig.ForcePasteAsPlainText is ignored
+			when new contents are pasted into the editor via drag-and drop from outside of the
+			editor. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1026">#1026</a>] Fixed
+			the issue where the cursor or selection positions are not restored with undo/redo
+			commands correctly in IE, under some circumstances. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1160">#1160</a>] [<a
+			target="_blank" href="http://dev.fckeditor.net/ticket/1184">#1184</a>] Home, End
+			and Tab keys are working properly for numeric fields in dialogs. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/68">#68</a>] The style
+			system now properly handles Format styles when EnterMode=br.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/525">#525</a>] The union
+			of successive DIVs will work properly now if EnterMode!=div.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1227">#1227</a>] The color
+			commands used an unnecessary temporary variable. Thanks to Matthias Miller</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/67">#67</a>] [<a target="_blank"
+			href="http://dev.fckeditor.net/ticket/277">#277</a>] [<a target="_blank" href="http://dev.fckeditor.net/ticket/427">#427</a>]
+			[<a target="_blank" href="http://dev.fckeditor.net/ticket/428">#428</a>] [<a target="_blank"
+				href="http://dev.fckeditor.net/ticket/965">#965</a>] [<a target="_blank" href="http://dev.fckeditor.net/ticket/1178">#1178</a>]
+			[<a target="_blank" href="http://dev.fckeditor.net/ticket/1267">#1267</a>] The list
+			insertion/removal/indent/outdent logic in FCKeditor has been rewritten, such that:
+			<ol>
+				<li>Text separated by &lt;br&gt; will always be treated as separate items during list
+					insertion regardless of browser;</li>
+				<li>List removal will now always obey the FCKConfig.EnterMode setting;</li>
+				<li>List indentation will be XHTML 1.1 compliant - all child elements under an &lt;ol&gt;
+					or &lt;ul&gt; must be &lt;li&gt; nodes;</li>
+				<li>IE editor hacks like &lt;ul type=&quot;1&quot;&gt; will no longer appear;</li>
+				<li>Excessive &lt;div&gt; nodes are no longer inserted into list items due to alignment
+					changes.</li>
+			</ol>
+		</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/205">#205</a>] Fixed the
+			issue where visible &lt;br&gt; tags at the end of paragraphs are incorrectly removed
+			after switching to and from source mode.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1050">#1050</a>] Fixed
+			a minor PHP/XML incompatibility bug in editor/dialog/fck_docprops.html.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/462">#462</a>] Fixed an
+			algorithm bug in switching from source mode to WYSIWYG mode which causes the browser
+			to spin up and freeze for broken HTML code inputs.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1019">#1019</a>] Table
+			command buttons are now disabled when the current selection is not inside a table.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/135">#135</a>] Fixed the
+			issue where context menus are misplaced in FCKeditor when FCKeditor is created inside
+			a &lt;div&gt; node with scrolling. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1067">#1067</a>] Fixed
+			the issue where context menus are misplaced in Safari when FCKeditor is scrolled
+			down.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1081">#1081</a>] Fixed
+			the issue where undoing table deletion in IE7 would cause JavaScript errors.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1061">#1061</a>] Fixed
+			the issue where backspace and delete cannot delete special characters in Firefox
+			under some circumstances.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/403">#403</a>] Fixed the
+			issue where switching to and from source mode in full page mode under IE would add
+			excessive line breaks to &lt;style&gt; blocks.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/121">#121</a>] Fixed the
+			issue where maximizing FCKeditor inside a frameset would resize FCKeditor to the
+			whole window's size instead of just the container frame's size.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1093">#1093</a>] Fixed
+			the issue where pressing Enter inside an inline tag would not create a new paragraph
+			correctly.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1089">#1089</a>] Fixed
+			the issue where pressing Enter inside a &lt;pre&gt; block do not generate visible
+			line breaks in IE.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/332">#332</a>] Hitting
+			Enter when the caret is at the end of a hyperlink will no longer continue the link
+			at the new paragraph.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1121">#1121</a>] Hitting
+			Enter with FCKConfig.EnterMode=br will now scroll the document correctly when the
+			new lines have exceeded the lower boundary of the editor frame.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1063">#1063</a>] [<a
+			target="_blank" href="http://dev.fckeditor.net/ticket/1084">#1084</a>] [<a target="_blank"
+				href="http://dev.fckeditor.net/ticket/1092">#1092</a>] Fixed a few Norwegian
+			language translation errors.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1148">#1148</a>] Fixed
+			the issue where the &quot;Automatic&quot; and &quot;More Colors...&quot; buttons
+			in the color selection panel are not centered in Safari.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1187">#1187</a>] Fixed
+			the issue where the &quot;Paste as plain text&quot; command cannot be undone in
+			non-IE browsers.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1222">#1222</a>] Ctrl-Backspace
+			operations will now save undo snapshots in all browsers.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1223">#1223</a>] Fixed
+			the issue where the insert link dialog would save multiple undo snapshots for a
+			single operation.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/247">#247</a>] Fixed the
+			issue where deleting everything in the document in IE would create an empty &lt;p&gt;
+			block in the document regardless of EnterMode setting. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1280">#1280</a>] Fixed
+			the issue where opening a combo box will cause the editor frames to lose focus when
+			there are multiple editors in the same document.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/363">#363</a>] Fixed the
+			issue where the Find dialog does not work under Opera.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/50">#50</a>] Fixed the
+			issue where the Paste button is always disabled in Safari.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/389">#389</a>] Pasting
+			text with comments from Word won't generate errors in IE, thanks to the idea from
+			Swift.</li>
+		<li>The pasting area in the Paste from Word dialog is focused on initial load</li>
+		<li>Some fixes related to html comment handling in the Word clean up routine</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1303">#1303</a>] &lt;col&gt;
+			is correctly treated as an empty element.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/969">#969</a>] Removed
+			unused files (fcknumericfield.htc and moz-bindings.xml).</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1166">#1166</a>] Fixed
+			the issue where &lt;meta&gt; tags are incorrectly outputted with closing tags in
+			full page mode.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1200">#1200</a>] Fixed
+			the issue where context menus sometimes disappear prematurely before the user can
+			click on any items in Opera.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1315">#1315</a>] Fixed
+			the issue where the source view text area in Safari is displayed with an excessive
+			blue border.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1201">#1201</a>] Fixed
+			the issue where hitting Backspace or Delete inside a table cell deletes the table
+			cell instead of its contents in Opera.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1311">#1311</a>] Fixed
+			the issue where undoing and redoing a special character insertion would send the
+			caret to incorrect positions. (e.g. the beginning of document)</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/923">#923</a>] Font colors
+			are now properly applied on links.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1316">#1316</a>] Fixed
+			the issue where the image dialog expands to a size too big in Safari.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1306">#1306</a>] [<a
+			target="_blank" href="http://dev.fckeditor.net/ticket/894">#894</a>] The undo system
+			can now undo text formatting steps like setting fonts to bold and italic.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/95">#95</a>] Fixed the
+			issue where FCKeditor breaks &lt;meta&gt; tags in full page mode in some circumstances.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/175">#175</a>] Fixed the
+			issue where entering an email address with a '%' sign in the insert link dialog
+			would cause JavaScript error.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/180">#180</a>] Improved
+			backward compatibility with older PHP versions. FCKeditor can now work with PHP
+			versions down to 4.0.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/192">#192</a>] Document
+			modifying actions from the FCKeditor JavaScript API will now save undo steps.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/246">#246</a>] Using text
+			formatting commands in EnterMode=div will no longer cause tags to randomly disappear.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/327">#327</a>] It is no
+			longer possible for the browser's back action to misfire when a user presses backspace
+			while an image is being selected in FCKeditor.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/362">#362</a>] Ctrl-Backspace
+			now works in FCKeditor.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/390">#390</a>] Text alignment
+			and justification commands now respects EnterMode=br paragraph rules.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/534">#534</a>] Pressing
+			Ctrl-End while the document contains a list towards the end will no longer make
+			the cursor disappear.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/906">#906</a>] It is now
+			possible to have XHTML 1.0 Strict compliant output from a document pasted from Word.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/929">#929</a>] Pressing
+			the Enter key will now produce an undo step.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/934">#934</a>] Fixed the
+			"Cannot execute code from a freed script" error in IE from editor dialogs.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/942">#942</a>] Server
+			based spell checking with ColdFusion integration no longer breaks fir non en_US
+			languages.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/942">#1056</a>] Deleting
+			everything in the editor document and moving the cursor around will no longer leave
+			the cursor hanging beyond the top of the editor document.</li>
+	</ul>
+	<p>
+		# This version has been <a href="http://dev.fckeditor.net/wiki/SD/COE">partially sponsored</a>
+		by the <a href="http://www.coe.int/">Council of Europe</a>.
+	</p>
+	<h3>
+		Version 2.4.3</h3>
+	<p>
+		New Features and Improvements:</p>
+	<ul>
+		<li>It is now possible to set the default target when creating links, with the new "<strong>DefaultLinkTarget</strong>"
+			setting. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/436">#436</a>] The new
+			"<strong>FirefoxSpellChecker</strong>" setting is available, to enable/disable the
+			Firefox built-in spellchecker while typing. Even if word suggestions will not appear
+			in the FCKeditor context menu, this feature is useful to quickly identify misspelled
+			words.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/311">#311</a>] The new
+			"<strong>BrowserContextMenuOnCtrl</strong>" setting is being introduced, to enable/disable
+			the ability of displaying the default browser's context menu when right-clicking
+			with the CTRL key pressed.</li>
+	</ul>
+	<p>
+		Fixed Bugs:</p>
+	<ul>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/300">#300</a>] The fck_internal.css
+			file was not validating with the W3C CSS Validation Service.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/336">#336</a>] Ordered
+			list didn't keep the Type attribute properly (it was converted to lowercase when
+			the properties dialog was opened again).</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/318">#318</a>] Multiple
+			linked images are merged in a single link in IE.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/350">#350</a>] The &lt;marquee&gt;
+			element will no longer append unwanted &lt;p&gt;&amp;nbsp;&lt;/p&gt; to the code.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/351">#351</a>] The content
+			was being lost for images or comments only HTML inserted directly in the editor
+			source or loaded in the editor.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/388">#388</a>] Creating
+			links in lines separated by &lt;br&gt; in IE can lead to a merge of the links.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/325">#325</a>] Calling
+			the GetXHTML can distort visually the rendering in Firefox.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/391">#391</a>] When ToolbarLocation=Out,
+			a "Security Warning" alert was being shown in IE if under https. Thanks to reister.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/360">#360</a>] Form "name"
+			was being set to "[object]" if it contained an element with id="name".</li>
+		<li>Fixed a type that was breaking the ColdFusion SpellerPages integration file when
+			no spelling errors were found.</li>
+		<li>The ColdFusion SpellerPages integration was not working it Aspell was installed
+			in a directory with spaces in the name.</li>
+		<li>Added option to SpellerPages to ignore "alt" attributes.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/451">#451</a>] Classes
+			for images in IE didn't take effect immediately.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/430">#430</a>] Links with
+			a class did generate a span in Firefox when removing them.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/274">#274</a>] The PHP
+			quick upload still tried to use the uppercased types instead of the lowercased ones.
+		</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/416">#416</a>] The PHP
+			quick upload didn't check for the existence of the folder before saving.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/467">#467</a>] If InsertHtml
+			was called in IE with a comment (or any protected source at the beginning) it was
+			lost.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1518766&group_id=75348&atid=543653">SF
+			BUG-1518766</a>] Mozilla 1.7.13 wasn't recognized properly as an old Gecko engine.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/324">#324</a>] Improperly
+			nested tags could lead to a crash in IE.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/455">#455</a>] Files and
+			folders with non-ANSI names were returned with a double UTF-8 encoding in the PHP
+			File Manager.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/273">#273</a>] The extensions
+			"sh", "shtml", "shtm" and "phtm" have been added to the list of denied extensions
+			on upload.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/453">#453</a>] No more
+			errors when hitting del inside an empty table cell.</li>
+		<li>The perl connector cgi file has been changed to Unix line endings.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/202">#202</a>] Regression:
+			The HR tag will not anymore break the contents loaded in the editor. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/508">#508</a>] The HR
+			command had a typo.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/505">#505</a>] Regression:
+			IE crashed if a table caption was deleted.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/82">#82</a>] [<a target="_blank"
+			href="http://dev.fckeditor.net/ticket/359">#359</a>] &lt;object&gt; and &lt;embed&gt;
+			tags are not anymore lost in IE.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/493">#493</a>] If the
+			containing form had a button named "submit" the "Save" command didn't work in Firefox.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/414">#414</a>] If tracing
+			was globally enabled in Asp.Net 2.0 then the Asp.Net connector did fail.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/520">#520</a>] The "Select
+			Field" properties dialog was not correctly handling select options with &amp;, &lt;
+			and &gt;.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/258">#258</a>] The Asp
+			integration didn't pass boolean values in English, using instead the locale of the
+			server and failing.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/487">#487</a>] If an image
+			with dimensions set as styles was opened with the image manager and then the dialog
+			was canceled the dimensions in the style were lost.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/220">#220</a>] The creation
+			of links or anchors in a selection that results on more than a single link created
+			will not anymore leave temporary links in the source. All links will be defined
+			as expected.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/220">#182</a>] [<a
+			target="_blank" href="http://dev.fckeditor.net/ticket/220">#261</a>] [<a target="_blank"
+				href="http://dev.fckeditor.net/ticket/220">#511</a>] Special characters, like
+			percent signs or accented chars, and spaces are now correctly returned by the File
+			Browser.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/281">#281</a>] Custom
+			toolbar buttons now render correctly in all skins.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/527">#527</a>] If the
+			configuration for a toolbar isn't fully valid, try to keep on parsing it.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/187">#187</a>] [<a
+			target="_blank" href="http://dev.fckeditor.net/ticket/435">#435</a>] [<a target="_blank"
+				href="https://sourceforge.net/tracker/?func=detail&aid=1612978&group_id=75348&atid=543653">SF
+				BUG-1612978</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1163511&group_id=75348&atid=543653">SF
+					BUG-1163511</a>] Updated the configuration options in the ColdFusion integration
+			files.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1726781&group_id=75348&atid=543655">SF
+			Patch-1726781</a>] Updated the upload class for asp to handle large files and other
+			data in the forms. Thanks to NetRube.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/225">#225</a>] With ColdFusion,
+			the target directory is now being automatically created if needed when "quick uploading".
+			Thanks to sirmeili.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/295">#295</a>] [<a
+			target="_blank" href="http://dev.fckeditor.net/ticket/510">#510</a>] Corrected some
+			path resolution issues with the File Browser connector for ColdFusion.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/239">#239</a>] The &lt;xml&gt;
+			tag will not anymore cause troubles.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1721787&group_id=75348&atid=543653">SF
+			BUG-1721787</a>] If the editor is run from a virtual dir, the PHP connector will
+			detect that and avoid generating a wrong folder.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/431">#431</a>] PHP: The
+			File Browser now displays an error message when it is not able to create the configured
+			target directory for files (instead of sending broken XML responses).</li>
+	</ul>
+	<h3>
+		Version 2.4.2</h3>
+	<p>
+		Fixed Bugs:</p>
+	<ul>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/279">#279</a>] The UTF-8
+			BOM was being included in the wrong files, affecting mainly PHP installations.</li>
+	</ul>
+	<h3>
+		Version 2.4.1</h3>
+	<p>
+		New Features and Improvements:</p>
+	<ul>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/118">#118</a>] The SelectAll
+			command now is available in Source Mode.</li>
+		<li>The new open source FCKpackager sub-project is now available. It replaces the FCKeditor.Packager
+			software to compact the editor source.</li>
+		<li>With Firefox, if a paste execution is blocked by the browser security settings,
+			the new "Paste" popup is shown to the user to complete the pasting operation. </li>
+	</ul>
+	<p>
+		Fixed Bugs:</p>
+	<ul>
+		<li>Various fixes to the ColdFusion File Browser connector.</li>
+		<li>We are now pointing the download of ieSpell to their pages, instead to a direct
+			file download from one of their mirrors. This disables the ability of "click and
+			go" (which can still be achieved by pointing the download to a file in your server),
+			but removes any troubles with mirrors link changes (and they change it frequently).</li>
+		<li>The Word cleanup has been changed to remove "display:none" tags that may come from
+			Word.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1659613&group_id=75348">SF
+			BUG-1659613</a>] The 2.4 version introduced a bug in the flash handling code that
+			generated out of memory errors in IE7.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1660456&group_id=75348">SF
+			BUG-1660456</a>] The icons in context menus were draggable.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1653009&group_id=75348">SF
+			BUG-1653009</a>] If the server is configured to process html files as asp then it
+			generated ASP error 0138.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1288609&group_id=75348">SF
+			BUG-1288609</a>] The content of iframes is now preserved.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1245504&group_id=75348">SF
+			BUG-1245504</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1652240&group_id=75348">SF
+				BUG-1652240</a>] Flash files without the .swf extension weren't recognized upon
+			reload.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1649753&group_id=75348&atid=543655">SF
+			PATCH-1649753</a>] Node selection for text didn't work in IE. Thanks to yurik dot
+			m.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1573191&group_id=75348&atid=543653">SF
+			BUG-1573191</a>] The Html code inserted with FCK.InsertHtml didn't have the same
+			protection for special tags.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/110">#110</a>] The OK
+			button in dialogs had its width set as an inline style.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/113">#113</a>] [<a
+			target="_blank" href="http://dev.fckeditor.net/ticket/94">#94</a>] [<a target="_blank"
+				href="https://sourceforge.net/tracker/?func=detail&aid=1659270&group_id=75348&atid=543653">SF
+				BUG-1659270</a>] ForcePasteAsPlainText didn't work in Firefox.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/114">#114</a>] The correct
+			entity is now used to fill empty blocks when ProcessHTMLEntities is disabled.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/90">#90</a>] The editor
+			was wrongly removing some &lt;br&gt; tags from the code.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/139">#139</a>] The CTRL+F
+			and CTRL+S keystroke default behaviors are now preserved.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/138">#138</a>] We are
+			not providing a CTRL + ALT combination in the default configuration file because
+			it may be incompatible with some keyboard layouts. So, the CTRL + ALT + S combination
+			has been changed to CTRL + SHIFT + S.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/129">#129</a>] In IE,
+			it was not possible to paste if "Allow paste operation via script" was disabled
+			in the browser security settings.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/112">#112</a>] The enter
+			key now behaves correctly on lists with Firefox, when the EnterMode is set to 'br'.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/152">#152</a>] Invalid
+			self-closing tags are now being fixed before loading. </li>
+		<li>A few tags were being ignored to the check for required contents (not getting stripped
+			out, as expected). Fixed.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/202">#202</a>] The HR
+			tag will not anymore break the contents loaded in the editor.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/211">#211</a>] Some invalid
+			inputs, like "&lt;p&gt;" where making the caret disappear in Firefox.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/99">#99</a>] The &lt;div&gt;
+			element is now considered a block container if EnterMode=p|br. It acts like a simple
+			block only if EnterMode=div.</li>
+		<li>Hidden fields will now show up as an icon in IE, instead of a normal text field.
+			They are also selectable and draggable, in all browsers.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/213">#213</a>] Styles
+			are now preserved when hitting enter at the end of a paragraph.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/77">#77</a>] If ShiftEnterMode
+			is set to a block tag (p or div), the desired block creation in now enforced, instead
+			of copying the current block (which is still the behavior of the simple enter).</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/209">#209</a>] Links and
+			images URLs will now be correctly preserved with Netscape 7.1.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/165">#165</a>] The enter
+			key now honors the EnterMode settings when outdenting a list item.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/190">#190</a>] Toolbars
+			may be wrongly positioned. Fixed.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/254">#254</a>] The IgnoreEmptyParagraphValue
+			setting is now correctly handled in Firefox.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/254">#248</a>] The behavior
+			of the backspace key has been fixed on some very specific cases.</li>
+	</ul>
+	<h3>
+		Version 2.4</h3>
+	<p>
+		New Features and Improvements:</p>
+	<ul>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1329273&group_id=75348&atid=543656">SF
+			Feature-1329273</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1456005&group_id=75348&atid=543656">SF
+				Feature-1456005</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1315002&group_id=75348&atid=543653">SF
+					BUG-1315002</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1350180&group_id=75348&atid=543653">SF
+						BUG-1350180</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1450689&group_id=75348&atid=543653">SF
+							BUG-1450689</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1461033&group_id=75348&atid=543653">SF
+								BUG-1461033</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1510111&group_id=75348&atid=543653">SF
+									BUG-1510111</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1203560&group_id=75348&atid=543653">SF
+										BUG-1203560</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1564838&group_id=75348&atid=543653">SF
+											BUG-1564838</a>] The advance <strong>Enter Key Handler</strong>
+			is now being introduced. It gives you complete freedom to configure the editor to
+			generate <strong>&lt;p&gt;, &lt;div&gt; or &lt;br&gt;</strong> when the user uses
+			both the [Enter] and [Shift]+[Enter] keys. The new "EnterMode" and "ShiftEnterMode"
+			settings can be use to control its behavior. It also guarantees that all browsers
+			will generate the same output. </li>
+		<li>The new and powerful <strong>Keyboard Accelerator System</strong> is being introduced.
+			You can now precisely control the commands to execute when some key combinations
+			are activated by the user. It guarantees that all browsers will have the same behavior
+			regarding the shortcuts.<br />
+			It also makes it possible to remove buttons from the toolbar and still invoke their
+			features by using the keyboard instead.
+			<br />
+			It also blocks all default "CTRL based shortcuts" imposed by the browsers, so if
+			you don't want users to underline text, just remove the CTRL+U combination from
+			the keystrokes table. Take a look at the FCKConfig.Keystrokes setting in the fckconfig.js
+			file. </li>
+		<li>The new "<strong>ProtectedTags</strong>" configuration option is being introduced.
+			It will accept a list of tags (separated by a pipe "|"), which will have no effect
+			during editing, but will still be part of the document DOM. This can be used mainly
+			for non HTML standard, custom tags.</li>
+		<li>Dialog box commands can now open resizable dialogs (by setting oCommand.Resizable
+			= true).</li>
+		<li>Updated support for AFP. Thanks to Soenke Freitag.</li>
+		<li>New language file:<ul>
+			<li><strong>Afrikaans</strong> (by Willem Petrus Botha). </li>
+		</ul>
+		</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1456343&group_id=75348&atid=543655">SF
+			Patch-1456343</a>] New sample file showing how to dynamically exchange a textarea
+			and an instance of FCKeditor. Thanks to Finn Hakansson</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1496115&group_id=75348&atid=543655">SF
+			Patch-1496115</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1588578&group_id=75348&atid=543653">SF
+				BUG-1588578</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1376534&group_id=75348&atid=543653">SF
+					BUG-1376534</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1343506&group_id=75348&atid=543653">SF
+						BUG-1343506</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1211065&group_id=75348&atid=543656">SF
+							Feature-1211065</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=949144&group_id=75348&atid=543656">SF
+								Feature-949144</a>] The content of anchors are shown and preserved
+			on creation. * </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1587175&group_id=75348&atid=543656">SF
+			Feature-1587175</a>] Local links to an anchor are readjusted if the anchor changes.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1500040&group_id=75348&atid=543655">SF
+			Patch-1500040</a>] New configuration values to specify the Id and Class for the
+			body element.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1577202&group_id=75348&atid=543655">SF
+			Patch-1577202</a>] The links created with the popup option now are accessible even
+			if the user has JavaScript disabled.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1443472&group_id=75348&atid=543655">SF
+			Patch-1443472</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1576488&group_id=75348&atid=543653">SF
+				BUG-1576488</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1334305&group_id=75348&atid=543653">SF
+					BUG-1334305</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1578312&group_id=75348&atid=543653">SF
+						BUG-1578312</a>] The Paste from Word clean up function can be configured
+			with FCKConfig.CleanWordKeepsStructure to preserve the markup as much as possible.
+			Thanks Jean-Charles ROGEZ. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1472654&group_id=75348&atid=543655">SF
+			Patch-1472654</a>] The server side script location for SpellerPages can now be set
+			in the configuration file, by using the SpellerPagesServerScript setting.</li>
+		<li><span style="color: #ff0000">Attention:</span> All connectors are now pointing by
+			default to the "/userfiles/" folder instead of "/UserFiles/" (case change). Also,
+			the inner folders for each type (file, image, flash and media) are all lower-cased
+			too.</li>
+		<li><span style="color: #ff0000">Attention:</span> The UseBROnCarriageReturn configuration
+			is not anymore valid. The EnterMode setting can now be used to precisely set the
+			enter key behavior.</li>
+	</ul>
+	<p>
+		Fixed Bugs:</p>
+	<ul>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1444937&group_id=75348">SF
+			BUG-1444937</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1274364&group_id=75348">SF
+				BUG-1274364</a>] Shortcut keys are now undoable correctly.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1015230&group_id=75348">SF
+			BUG-1015230</a>] Toolbar buttons now update their state on shortcut keys activation.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1485621&group_id=75348">SF
+			BUG-1485621</a>] It is now possible to precisely control which shortcut keys can
+			be used.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1573714&group_id=75348">SF
+			BUG-1573714</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1593323&group_id=75348">SF
+				BUG-1593323</a>] Paste was not working in IE if both AutoDetectPasteFromWord
+			and ForcePasteAsPlainText settings were set to "false". </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1578306&group_id=75348">SF
+			BUG-1578306</a>] The context menu was wrongly positioned if the editing document
+			was set to render in strict mode. Thanks to Alfonso Martinez.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1567060&group_id=75348">SF
+			BUG-1567060</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1565902&group_id=75348">SF
+				BUG-1565902</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1440631&group_id=75348">SF
+					BUG-1440631</a>] IE was getting locked on some specific cases. Fixed.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1582859&group_id=75348">SF
+			BUG-1582859</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1579507&group_id=75348&atid=543655">SF
+				Patch-1579507</a>] Firefox' spellchecker is now disabled during editing mode.
+			Thanks to Alfonso Martinez.</li>
+		<li>Fixed Safari and Opera detection system (for development purposes only).</li>
+		<li>Paste from Notepad was including font information in IE. Fixed.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1584092&group_id=75348">SF
+			BUG-1584092</a>] When replacing text area, names with spaces are now accepted.</li>
+		<li>Depending on the implementation of toolbar combos (mainly for custom plugins) the
+			editor area was loosing the focus when clicking in the combo label. Fixed.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1596937&group_id=75348&atid=543653">SF
+			BUG-1596937</a>] InsertHtml() was inserting the HTML outside the editor area on
+			some very specific cases.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1585548&group_id=75348">SF
+			BUG-1585548</a>] On very specific, rare and strange cases, the XHTML processor was
+			not working properly in IE. Fixed.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1584951&group_id=75348">SF
+			BUG-1584951</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1380598&group_id=75348">SF
+				BUG-1380598</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1198139&group_id=75348">SF
+					BUG-1198139</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1437318&group_id=75348">SF
+						BUG-1437318</a>] In Firefox, the style selector will not anymore delete
+			the contents when removing styles on specific cases.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1515441&group_id=75348">SF
+			BUG-1515441</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1451071&group_id=75348">SF
+				BUG-1451071</a>] The "Insert/Edit Link" and "Select All" buttons are now working
+			properly when the editor is running on a IE Modal dialog.</li>
+		<li>On some very rare cases, IE was throwing a memory error when hiding the context
+			menus. Fixed.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1526154&group_id=75348">SF
+			BUG-1526154</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1509208&group_id=75348&atid=543653">SF
+				BUG-1509208</a>] With Firefox, &lt;style&gt; tags defined in the source are
+			now preserved.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1535946&group_id=75348">SF
+			BUG-1535946</a>] The IE dialog system has been changed to better work with custom
+			dialogs.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1599520&group_id=75348">SF
+			BUG-1599520</a>] The table dialog was producing empty tags when leaving some of
+			its fields empty.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1599545&group_id=75348">SF
+			BUG-1599545</a>] HTML entities are now processed on attribute values too.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1598517&group_id=75348">SF
+			BUG-1598517</a>] Meta tags are now protected from execution during editing (avoiding
+			the "redirect" meta to be activated).</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1415601&group_id=75348">SF
+			BUG-1415601</a>] Firefox internals: styleWithCSS is used instead of the deprecated
+			useCSS whenever possible.</li>
+		<li>All JavaScript Core extension function have been renamed to "PascalCase" (some were
+			in "camelCase"). This may have impact on plugins that use any of those functions.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1592311&group_id=75348">SF
+			BUG-1592311</a>] Operations in the caption of tables are now working correctly in
+			both browsers.</li>
+		<li>Small interface fixes to the about box.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1604576&group_id=75348&atid=543655">SF
+			PATCH-1604576</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1604301&group_id=75348">SF
+				BUG-1604301</a>] Link creation failed in Firefox 3 alpha. Thanks to Arpad Borsos</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1577247&group_id=75348&atid=543653">SF
+			BUG-1577247</a>] Unneeded call to captureEvents and releaseEvents.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1610790&group_id=75348">SF
+			BUG-1610790</a>] On some specific situations, the call to form.submit(), in form
+			were FCKeditor has been unloaded by code, was throwing the "Can't execute code from
+			a freed script" error.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1613167&group_id=75348&atid=543653">SF
+			BUG-1613167</a>] If the configuration was missing the FCKConfig.AdditionalNumericEntities
+			entry an error appeared.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1590848&group_id=75348&atid=543653">SF
+			BUG-1590848</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1626360&group_id=75348&atid=543653">SF
+				BUG-1626360</a>] Cleaning of JavaScript strict warnings in the source code.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1559466&group_id=75348&atid=543653">SF
+			BUG-1559466</a>] The ol/ul list property window always searched first for a UL element.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1516008&group_id=75348&atid=543653">SF
+			BUG-1516008</a>] Class attribute in IE wasn't loaded in the image dialog.</li>
+		<li>The "OnAfterSetHTML" event is now fired when being/switching to Source View.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1631807&group_id=75348&atid=543653">SF
+			BUG-1631807</a>] Elements' style properties are now forced to lowercase in IE.</li>
+		<li>The extensions "html", "htm" and "asis" have been added to the list of denied extensions
+			on upload.</li>
+		<li>Empty inline elements (like span and strong) will not be generated any more.</li>
+		<li>Some elements attributes (like hspace) where not being retrieved when set to "0".</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1508341&group_id=75348&atid=543653">SF
+			BUG-1508341</a>] Fix for the ColdFusion script file of SpellerPages.</li>
+	</ul>
+	<p>
+		* This version has been partially sponsored by <a href="http://www.imedi.org/">Medical
+			Media Lab</a>.</p>
+	<h3>
+		Version 2.3.3</h3>
+	<p>
+		New Features and Improvements:</p>
+	<ul>
+		<li>The project has been <strong>relicensed</strong> under the terms of the <strong>
+			GPL / LGPL / MPL</strong> licenses. This change will remove many licensing compatibility
+			issues with other open source licenses, making the editor even more "open" than
+			before. </li>
+		<li><font color="#ff0000">Attention:</font> The default directory in the distribution
+			package is now named "fckeditor" (in lowercase) instead of "FCKeditor".&nbsp; This
+			change may impact installations on case sensitive OSs, like Linux. </li>
+		<li><font color="#ff0000">Attention:</font> The "Universal Keyboard" has been removed
+			from the package. The license of those files was unclear so they can't be included
+			alongside the rest of FCKeditor.</li>
+	</ul>
+	<h3>
+		Version 2.3.2</h3>
+	<p>
+		New Features and Improvements:</p>
+	<ul>
+		<li>Users can now decide if the template dialog will replace the entire contents of
+			the editor or simply place the template in the cursor position. This feature can
+			be controlled by the "TemplateReplaceAll" and "TemplateReplaceCheckbox" configuration
+			options.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1237693&group_id=75348&atid=543655">SF
+			Patch-1237693</a>] A new configuration option (<strong>ProcessNumericEntities</strong>)
+			is now available to tell the editor to convert non ASCII chars to their relative
+			numeric entity references. It is disabled by default.</li>
+		<li>The new "<strong>AdditionalNumericEntities</strong>" setting makes it possible to
+			define a set of characters to be transformed to their relative numeric entities.
+			This is useful when you don't want the code to have simple quotes ('), for example.</li>
+		<li>The Norwegian language file (no.js) has been duplicated to include the Norwegian
+			Bokmal (nb.js) in the supported interface languages. Thanks to Martin Kronstad.
+		</li>
+		<li>Two new patterns have been added to the Universal Keyboard:
+			<ul>
+				<li>Persian. Thanks to Pooyan Mahdavi</li>
+				<li>Portuguese. Thanks to Bo Brandt.</li>
+			</ul>
+		</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1517322&group_id=75348&atid=543655">SF
+			Patch-1517322</a>] It is now possible to define the start number on numbered lists.
+			Thanks to Marcel Bennett.</li>
+		<li>The Font Format combo will now reflect the EditorAreaCSS styles.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&aid=1461539&group_id=75348&atid=543655">SF
+			Patch-1461539</a>] The File Browser connector can now optionally return a "url"
+			attribute for the files. Thanks to Pent.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1090851&group_id=75348">SF
+			BUG-1090851</a>] The new "ToolbarComboPreviewCSS" configuration option has been
+			created, so it is possible to point the Style and Format toolbar combos to a different
+			CSS, avoiding conflicts with the editor area CSS.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1421309&amp;group_id=75348&amp;atid=543656">SF
+			Feature-1421309</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1489402&group_id=75348">SF
+				BUG-1489402</a>] It is now possible to configure the Quick Uploder target path
+			to consider the file type (ex: Image or File) in the target path for uploads.</li>
+		<li>The JavaScript integration file has two new things:
+			<ul>
+				<li>The "CreateHtml()" function in the FCKeditor object, used to retrieve the HTML of
+					an editor instance, instead of writing it directly to the page (as done by "Create()").</li>
+				<li>The global "FCKeditor_IsCompatibleBrowser()" function, which tells if the executing
+					browser is compatible with FCKeditor. This makes it possible to do any necessary
+					processing depending on the compatibility, without having to create and editor instance.</li>
+			</ul>
+		</li>
+	</ul>
+	<p>
+		Fixed Bugs:</p>
+	<ul>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1525242&group_id=75348">SF
+			BUG-1525242</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1500050&group_id=75348">SF
+				BUG-1500050</a>] All event attributes (like onclick or onmouseover) are now
+			being protected before loading the editor. In this way, we avoid firing those events
+			during editing (IE issue) and they don't interfere in other specific processors
+			in the editor.</li>
+		<li>Small security fixes to the File Browser connectors. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1546226&group_id=75348">SF
+			BUG-1546226</a>] Small fix to the ColdFusion CFC integration file.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&atid=543655&aid=1547768&group_id=75348">SF
+			Patch-1407500</a>] The Word Cleanup function was breaking the HTML on pasting, on
+			very specific cases. Fixed, thanks to Frode E. Moe.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1551979&group_id=75348&atid=543655">SF
+			Patch-1551979</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1418066&group_id=75348">SF
+				BUG-1418066</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1439621&group_id=75348">SF
+					BUG-1439621</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1501698&group_id=75348&atid=543653">SF
+						BUG-1501698</a>] Make FCKeditor work with application/xhtml+xml. Thanks
+			to Arpad Borsos.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1547738&group_id=75348&atid=543655">SF
+			Patch-1547738</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1550595&group_id=75348&atid=543653">SF
+				BUG-1550595</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1540807&group_id=75348&atid=543653">SF
+					BUG-1540807</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1510685&group_id=75348&atid=543653">SF
+						BUG-1510685</a>] Fixed problem with panels wrongly positioned when the
+			editor is placed on absolute or relative positioned elements. Thanks to Filipe Martins.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1511294&group_id=75348&atid=543655">SF
+			Patch-1511294</a>] Small fix for the File Browser compatibility with IE 5.5.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1503178&group_id=75348&atid=543655">SF
+			Patch-1503178</a>] Small improvement to stop IE from loading smiley images when
+			one smiley is quickly selected from a huge list of smileys. Thanks to stuckhere.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1549112&group_id=75348&atid=543653">SF
+			BUG-1549112</a>] The Replace dialog window now escapes regular expression specific
+			characters in the find and replace fields.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1548788&group_id=75348&atid=543653">SF
+			BUG-1548788</a>] Updated the ieSpell download URL.</li>
+		<li>In FF, the editor was throwing an error when closing the window. Fixed.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1538509&group_id=75348&atid=543653">SF
+			BUG-1538509</a>] The "type" attribute for text fields will always be set now.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1551734&group_id=75348&atid=543653">SF
+			BUG-1551734</a>] The SetHTML function will now update the editing area height no
+			matter which editing mode is active.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1554141&group_id=75348&atid=543653">SF
+			BUG-1554141</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1565562&group_id=75348&atid=543653">SF
+				BUG-1565562</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1451056&group_id=75348&atid=543653">SF
+					BUG-1451056</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1478408&group_id=75348&atid=543653">SF
+						BUG-1478408</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1489322&group_id=75348&atid=543653">SF
+							BUG-1489322</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1513667&group_id=75348&atid=543653">SF
+								BUG-1513667</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1562134&group_id=75348&atid=543653">SF
+									BUG-1562134</a>] The protection of URLs has been enhanced
+			and now it will not break URLs on very specific cases.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1545732&group_id=75348&atid=543653">SF
+			BUG-1545732</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1490919&group_id=75348&atid=543653">SF
+				BUG-1490919</a>] No security errors will be thrown when loading FCKeditor in
+			page inside a FRAME defined in a different domain.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1512817&group_id=75348&atid=543653">SF
+			BUG-1512817</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1571345&group_id=75348&atid=543653">SF
+				BUG-1571345</a>] Fixed the "undefined" addition to the content when ShowBorders
+			= false and FullPage = true in Firefox. Thanks to Brett.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1512798&group_id=75348&atid=543653">SF
+			BUG-1512798</a>] BaseHref will now work well on FullPage, even if no &lt;head&gt;
+			is available.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1509923&group_id=75348&atid=543653">SF
+			BUG-1509923</a>] The DocumentProcessor is now called when using InserHtml().</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1505964&group_id=75348&atid=543653">SF
+			BUG-1505964</a>] The DOCTYPE declaration is now preserved when working in FullPage.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1553727&group_id=75348&atid=543653">SF
+			BUG-1553727</a>] The editor was throwing an error when inserting complex templates.
+			Fixed.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1564930&group_id=75348&atid=543655">SF
+			Patch-1564930</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1562828&group_id=75348">SF
+				BUG-1562828</a>] In IE, anchors where incorrectly copied when using the Paste
+			from Word button. Fixed, thanks to geirhelge.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1557709&group_id=75348&atid=543653">SF
+			BUG-1557709</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1421810&group_id=75348&atid=543653">SF
+				BUG-1421810</a>] The link dialog now validates Popup Window names.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1556878&group_id=75348&atid=543653">SF
+			BUG-1556878</a>] Firefox was creating empty tags when deleting the selection in
+			some special cases.</li>
+		<li>The context menu for links is now correctly shown when right-clicking on floating
+			divs.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1084404&group_id=75348&atid=543653">SF
+			BUG-1084404</a>] The XHTML processor now ignores empty span tags.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1221728&group_id=75348&atid=543653">SF
+			BUG-1221728</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1174503&group_id=75348&atid=543653">SF
+				BUG-1174503</a>] The &lt;abbr&gt; tag is not anymore getting broken by IE.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1182906&group_id=75348&atid=543653">SF
+			BUG-1182906</a>] IE is not anymore messing up mailto links.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1386094&group_id=75348&atid=543653">SF
+			BUG-1386094</a>] Fixed an issue when setting configuration options to empty ('')
+			by code.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1389435&group_id=75348&atid=543653">SF
+			BUG-1389435</a>] Fixed an issue in some dialog boxes when handling numeric inputs.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1398829&group_id=75348&atid=543653">SF
+			BUG-1398829</a>] Some links may got broken on very specific cases. Fixed.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1409969&group_id=75348&atid=543653">SF
+			BUG-1409969</a>] &lt;noscript&gt; tags now remain untouched by the editor.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1433457&group_id=75348&atid=543653">SF
+			BUG-1433457</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1513631&group_id=75348&atid=543653">SF
+				BUG-1513631</a>] Empty "href" attributes in &lt;a&gt; or empty "src" in &lt;img&gt;
+			will now be correctly preserved.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1435195&group_id=75348&atid=543653">SF
+			BUG-1435195</a>] Scrollbars are now visible in the File Browser (for custom implementations).</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1438296&group_id=75348&atid=543653">SF
+			BUG-1438296</a>] The "ForceSimpleAmpersand" setting is now being honored in all
+			tags.</li>
+		<li>If a popup blocker blocks context menu operations, the correct alert message is
+			displayed now, instead of a ugly JavaScript error.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1454116&group_id=75348&atid=543653">SF
+			BUG-1454116</a>] The GetXHTML() function will not change the IsDirty() value of
+			the editor.</li>
+		<li>The spell check may not work correctly when using SpellerPages with ColdFusion.
+			Fixed.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1481861&group_id=75348&atid=543653">SF
+			BUG-1481861</a>] HTML comments are now removed by the Word Cleanup System.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1489390&group_id=75348&atid=543653">SF
+			BUG-1489390</a>] A few missing hard coded combo options used in some dialogs are
+			now localizable.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1505448&group_id=75348&atid=543653">SF
+			BUG-1505448</a>] The Form dialog now retrieves the value of the "action" attribute
+			exactly as defined in the source.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1517322&group_id=75348&atid=543655">SF
+			Patch-1517322</a>] Solved an issue when the toolbar has buttons with simple icons
+			(usually used by plugins) mixed with icons coming from a strip (the default toolbar
+			buttons).</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1575261&group_id=75348&atid=543655">SF
+			Patch-1575261</a>] Some fields in the Table and Cell Properties dialogs were being
+			cut. Fixed.</li>
+		<li>Fixed a startup compatibility issue with Firefox 1.0.4.</li>
+	</ul>
+	<h3>
+		Version 2.3.1</h3>
+	<p>
+		Fixed Bugs:</p>
+	<ul>
+		<li>[<a target="_blank" href="https://sourceforge.net/support/tracker.php?aid=1506126">SF
+			BUG-1506126</a>] Fixed the Catalan language file, which had been published with
+			problems in accented letters. </li>
+		<li>More performance improvements in the default File Browser.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&aid=1506701&group_id=75348&atid=543653">SF
+			BUG-1506701</a>] Fixed compatibility issues with IE 5.5.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&aid=1509073&group_id=75348&atid=543653">SF
+			BUG-1509073</a>] Fixed the "Image Properties" dialog window, which was making invalid
+			calls to the "editor/dialog/" directory, generating error 400 entries in the web
+			server log.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&aid=1507294&group_id=75348&atid=543653">SF
+			BUG-1507294</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&aid=1507953&group_id=75348&atid=543653">SF
+				BUG-1507953</a>] The editing area was getting a fixed size when using the "SetHTML"
+			API command or even when switching back from the source view. Fixed.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1507755&group_id=75348">SF
+			BUG-1507755</a>] Fixed a conflict between the "DisableObjectResizing" and "ShowBorders"
+			configuration options over IE.</li>
+		<li>Opera 9 tries to "mimic" Gecko in the browser detection system of FCKeditor. As
+			this browser is not "yet" supported, the editor was broken on it. It has been fixed,
+			and now a textarea is displayed, as in any other unsupported browser. Support for
+			Opera is still experimental and can be activated by setting the property "EnableOpera"
+			to true when creating an instance of the editor with the JavaScript integration
+			files.</li>
+		<li>With Opera 9, the toolbar was jumping on buttons rollover. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&aid=1509479&group_id=75348&atid=543656">SF
+			BUG-1509479</a>] The iframes used in Firefox for all editor panels (dropdown combos,
+			context menu, etc...) are now being placed right before the main iframe that holds
+			the editor. In this way, if the editor container element is removed from the DOM
+			(by DHTML) they are removed together with it.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&aid=1271070&group_id=75348&atid=543653">SF
+			BUG-1271070</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&aid=1411430&group_id=75348&atid=543653">SF
+				BUG-1411430</a>] The editor API now works well on DHTML pages that create and
+			remove instances of FCKeditor dynamically. </li>
+		<li>A second call to a page with the editor was not working correctly with Firefox 1.0.x.
+			Fixed.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&aid=1511460&group_id=75348&atid=543653">SF
+			BUG-1511460</a>] Small correction to the &lt;script&gt; protected source regex.
+			Thanks to Randall Severy.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1521754&group_id=75348">SF
+			BUG-1521754</a>] Small fix to the paths of the internal CSS files used by FCKeditor.
+			Thanks to johnw_ceb.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&aid=1511442&group_id=75348&atid=543653">SF
+			BUG-1511442</a>] The &lt;base&gt; tag is now correctly handled in IE, no matter
+			its position in the source code.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&aid=1507773&group_id=75348&atid=543653">SF
+			BUG-1507773</a>] The "Lock" and "Reset" buttons in the Image Properties dialog window
+			are not anymore jumping with Firefox 1.5.</li>
+	</ul>
+	<h3>
+		Version 2.3</h3>
+	<p>
+		New Features and Improvements:</p>
+	<ul>
+		<li>The <strong>Toolbar Sharing</strong> system has been completed. See sample10.html
+			and sample11.html.*</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&aid=1407500&group_id=75348&atid=543655">SF
+			Patch-1407500</a>] Small enhancement to the Find and Replace dialog windows.</li>
+	</ul>
+	<p>
+		Fixed Bugs:</p>
+	<ul>
+		<li>Small security fixes.</li>
+		<li>The context menu system has been optimized. Nested menus now open "onmouseover".
+		</li>
+		<li>An error in the image preloader system was making the toolbar strip being downloaded
+			once for each button on slow connections. Some enhancements have also been made
+			so now the smaple05.html is loading fast for all skins.</li>
+		<li>Fixed many memory leak issues with IE.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&aid=1489768&group_id=75348&atid=543653">SF
+			BUG-1489768</a>] The panels (context menus, toolbar combos and color selectors),
+			where being displayed in the wrong position if the contents of the editor, or its
+			containing window were scrolled down. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1493176&group_id=75348">SF
+			BUG-1493176</a>] Using ASP, the connector was not working on servers with buffer
+			disable by default.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&aid=1491784&group_id=75348&atid=543653">SF
+			BUG-1491784</a>] Language files have been updated to not include html entities.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&aid=1490259&group_id=75348&atid=543653">SF
+			BUG-1490259</a>] No more security warning on IE over HTTPS.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&aid=1493173&group_id=75348&atid=543653">SF
+			BUG-1493173</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1499708&group_id=75348">SF
+				BUG-1499708</a>] We now assume that, if a user is in source editing, he/she
+			wants to control the HTML, so the editor doesn't make changes to it when posting
+			the form being in source view or when calling the GetXHTML function in the API.
+		</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&aid=1490610&group_id=75348&atid=543653">SF
+			BUG-1490610</a>] The FitWindow is now working on elements set with relative position.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&aid=1493438&group_id=75348&atid=543653">SF
+			BUG-1493438</a>] The "Word Wrap" combo in the cell properties dialog now accepts
+			only Yes/No (no more &lt;Not Set&gt; value).</li>
+		<li>The context menu is now being hidden when a nested menu option is selected.</li>
+		<li>Table cell context menu operations are now working correctly.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&aid=1494549&group_id=75348&atid=543653">SF
+			BUG-1494549</a>] The code formatter was having problems with dollar signs inside
+			&lt;pre&gt; tags.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&aid=1459740&group_id=75348&atid=543655">SF
+			Patch-1459740</a>] The "src" element of images can now be set by styles definitions.
+			Thanks to joelwreed.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&aid=1437052&group_id=75348&atid=543655">SF
+			Patch-1437052</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&aid=1436166&group_id=75348&atid=543655">SF
+				Patch-1436166</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&aid=1352385&group_id=75348&atid=543655">SF
+					Patch-1352385</a>] Small fix to the FCK.InsertHtml, FCKTools.AppendStyleSheet
+			and FCKSelection.SelectNode functions over IE. Thanks to Alfonso Martinez.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&aid=1349765&group_id=75348&atid=543655">SF
+			Patch-1349765</a>] Small fix to the FCKSelection.GetType over Firefox. Thanks to
+			Alfonso Martinez.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543655&aid=1495422&group_id=75348">SF
+			Patch-1495422</a>] The editor now creates link based on the URL when no selection
+			is available. Thanks to Dominik Pesch.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543655&aid=1478859&group_id=75348">SF
+			Patch-1478859</a>] On some circumstances, the Yahoo popup blocker was blocking the
+			File Browser window, giving no feedback to the user. Now an alert message is displayed.</li>
+		<li>When using the editor in a RTL localized interface, like Arabic, the toolbar combos
+			were not showing completely in the first click. Fixed.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1500212&group_id=75348">SF
+			BUG-1500212</a>] All "_samples/html" samples are now working when loading directly
+			from the Windows Explorer. Thanks to Alfonso Martinez.</li>
+		<li>The "FitWindow" feature was breaking the editor under Firefox 1.0.x.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&aid=1500032&group_id=75348&atid=543655">SF
+			Patch-1500032</a>] In Firefox, the caret position now follows the user clicks when
+			clicking in the white area bellow the editor contents. Thanks to Alfonso Martinez.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1499522&group_id=75348">SF
+			BUG-1499522</a>] In Firefox, the link dialog window was loosing the focus (and quickly
+			reacquiring it) when opening. This behavior was blocking the dialog in some Linux
+			installations. </li>
+		<li>Drastically improved the loading performance of the file list in the default File
+			Browser.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&atid=543653&aid=1503059&group_id=75348">SF
+			BUG-1503059</a>] The default "BasePath" for FCKeditor in all integration files has
+			been now unified to "/fckeditor/" (lower-case). This is the usual casing system
+			in case sensitive OSs like Linux.</li>
+		<li>The "DisableFFTableHandles" setting is now honored when switching the full screen
+			mode with FitWindow.</li>
+		<li>Some fixes has been applied to the cell merging in Firefox.</li>
+	</ul>
+	<p>
+		* This version has been partially sponsored by <a href="http://www.footsteps.nl/">Footsteps</a>
+		and <a href="http://www.kentico.com/">Kentico</a>.</p>
+	<h3>
+		Version 2.3 Beta</h3>
+	<p>
+		New Features and Improvements:</p>
+	<ul>
+		<li><span><strong>Extremely Fast Loading!</strong> The editor now loads more than 3
+			times faster than before, with no impact on its advanced features.</span> </li>
+		<li><span><strong>New toolbar system</strong>:</span>
+			<ul>
+				<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1454850&amp;group_id=75348&amp;atid=543656">SF
+					Feature-1454850</a>] The toolbar will now <strong>load much faster</strong>. All
+					images have being merged in a single image file using a unique system available
+					only with FCKeditor. </li>
+				<li>The &quot;Text Color&quot; and &quot;Background Color&quot; commands buttons have
+					enhancements on the interface.</li>
+				<li><strong><span style="color: #ff0000">Attention</span></strong>: As a completely
+					new system has being developed. Skins created for versions prior this one will not
+					work. Skin styles definitions have being merged, added and removed. All skins have
+					been a little bit reviewed. </li>
+				<li>It is possible to <strong>detach the toolbar</strong> from an editor instance and
+					share it with other instances. In this way you may have only one toolbar (in the
+					top of the window, for example, that can be used by many editors (see <a href="_samples/html/sample10.html">
+						sample10.html</a>). This feature is still under development (issues with IE
+					focus still to be solved).* </li>
+			</ul>
+		</li>
+		<li><strong><span>New context menu system</span></strong>:
+			<ul>
+				<li>It uses the same (fast) loading system as the toolbar. </li>
+				<li>Sub-Menus are now available to group features (try the context menu over a table
+					cell). </li>
+				<li>It is now possible to create your own context menu entries by creating plugins.
+				</li>
+			</ul>
+		</li>
+		<li><strong>New "FitWindow" toolbar button</strong>, based on the <a href="https://sourceforge.net/tracker/index.php?func=detail&aid=1431638&group_id=75348&atid=737639">
+			plugin</a> published by Paul Moers. Thanks Paul!</li>
+		<li><strong>&quot;Auto Grow&quot; Plugin</strong>: automatically resizes the editor
+			until a maximum height, based on its contents size.** </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1444943&amp;group_id=75348&amp;atid=543656">SF
+			Feature-1444943</a>] <strong>Multiple CSS files</strong> can now be used in the
+			editing area. Just define FCKConfig.EditorAreaCSS as an array of strings (each one
+			is a path to a different css file). It works also as a simple string, as on prior
+			versions. </li>
+		<li>New language files:<ul>
+			<li><strong>Bengali / Bangla</strong> (by Richard Walledge).</li>
+			<li><strong>English (Canadian)</strong> (by Kevin Bennett). </li>
+			<li><strong>Khmer</strong> (by Sengtha Chay).</li>
+		</ul>
+		</li>
+		<li>The source view is now available in the editing area on Gecko browsers. Previously
+			a popup was used for it (due to a Firefox bug). </li>
+		<li><span>As some people may prefer the popup way for source editing, a new configuration
+			option (SourcePopup) has being introduced.</span> </li>
+		<li>The IEForceVScroll configuration option has been removed. The editor now automatically
+			shows the vertical scrollbar when needed (for XHTML doctypes). </li>
+		<li>The configuration file doesn't define a default DOCTYPE to be used now. </li>
+		<li>It is now possible to easily change the toolbar using the JavaScript API by just
+			calling &lt;EditorInstance&gt;.ToolbarSet.Load( '&lt;ToolbarName&gt;' ). See _testcases/010.html
+			for a sample. </li>
+		<li>The &quot;OnBlur&quot; and &quot;OnFocus&quot; JavaScript API events are now compatible
+			with all supported browsers. </li>
+		<li>Some few updates in the Lasso connector and uploader. </li>
+		<li>The GeckoUseSPAN setting is now set to "false" by default. In this way, the code
+			produced by the bold, italic and underline commands are the same on all browsers.</li>
+	</ul>
+	<p>
+		Fixed Bugs:</p>
+	<ul>
+		<li><strong>Important security fixes have been applied to the File Manager, Uploader
+			and Connectors. Upgrade is highly recommended.</strong> Thanks to Alberto Moro,
+			Baudouin Lamourere and James Bercegay.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1399966&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1399966</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1249853&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1249853</a>] The &quot;BaseHref&quot; configuration is now working with
+			Firefox in both normal and full page modes.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1405263&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1405263</a>] A typo in the configuration file was impacting the Quick Upload
+			feature. </li>
+		<li>Nested &lt;ul&gt; and &lt;ol&gt; tags are now generating valid html.</li>
+		<li>The &quot;wmode&quot; and &quot;quality&quot; attributes are now preserved for Flash
+			embed tags, in case they are entered manually in the source view. Also, empty attributes
+			are removed from that tag. </li>
+		<li>Tables where not being created correctly on Opera. </li>
+		<li>The XHTML processor will ignore invalid tags with names ending with &quot;:&quot;,
+			like http:. </li>
+		<li><span>On Firefox, the scrollbar is not anymore displayed on toolbar dropdown commands
+			when not needed.</span> </li>
+		<li><span>Some small fixes have being done to the dropdown commands rendering for FF</span>.
+		</li>
+		<li>The table dialog window has been a little bit enlarged to avoid contents being cropped
+			on some languages, like Russian. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1465203&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1465203</a>] The ieSpell download URL has been updated. The problem is that
+			they don't have a fixed URL for it, so let's hope the mirror will be up for it.
+		</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1456332&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1456332</a>] Small fix in the Spanish language file. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1457078&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1457078</a>] The File Manager was generating 404 calls in the server. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1459846&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1459846</a>] Fixed a problem with the config file if PHP is set to parse .js
+			files. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1432120&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1432120</a>] The &quot;UserFilesAbsolutePath&quot; setting is not correctly
+			used in the PHP uploader. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1432120&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1408869</a>] The collapse handler is now rendering correctly in Firefox 1.5.
+		</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1410082&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1410082</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1424240&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1424240</a>] The &quot;moz-bindings.xml&quot; file is now well formed. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1413980&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1413980</a>] All frameborder &quot;yes/no&quot; values have been changes to
+			&quot;1/0&quot;. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1414101&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1414101</a>] The fake table borders are now showing correctly when running under
+			the &quot;file://&quot; protocol. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1414155&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1414155</a>] Small typo in the cell properties dialog window.</li>
+		<li>Fixed a problem in the File Manager. It was not working well with folder or file
+			names with apostrophes ('). Thanks to RenÃ© de Jong.</li>
+		<li>Small "lenght" type corrected in the select dialog window. Thanks to Bernd Nussbaumer.</li>
+		<li>The about box is now showing correctly in Firefox 1.5.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&aid=1464020&group_id=75348&atid=543655">SF
+			Patch-1464020</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1155793&group_id=75348&atid=543653">SF
+				BUG-1155793</a>] The "Unlink" command is now working correctly under Firefox
+			if you don't have a complete link selection. Thanks to Johnny Egeland.</li>
+		<li>In the File Manager, it was not possible to upload files to folders with ampersands
+			in the name. Thanks to Mike Pone.</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&aid=1178359&group_id=75348&atid=543653">SF
+			BUG-1178359</a>] Elements from the toolbar are not anymore draggable in the editing
+			area.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&aid=1487544&group_id=75348&atid=543653">SF
+			BUG-1487544</a>] Fixed a small issue in the code formatter for &lt;br /&gt; and
+			&lt;hr /&gt; tags.</li>
+		<li>The "Background Color" command now works correctly when the GeckoUseSPAN setting
+			is disabled (default).</li>
+		<li>Links are now rendered in blue with Firefox (they were black before). Actually,
+			an entry for it has been added to the editing area CSS, so you can customize with
+			the color you prefer. </li>
+	</ul>
+	<p>
+		* This version has been partially sponsored by <a href="http://www.footsteps.nl/">Footsteps</a>
+		and <a href="http://www.kentico.com/">Kentico</a>.
+		<br />
+		** This version has been partially sponsored by <a href="http://www.nextide.ca/">Nextide</a>.</p>
+	<h3>
+		Version 2.2</h3>
+	<p>
+		New Features and Improvements:</p>
+	<ul>
+		<li>Let's welcome Wim Lemmens (didgiman). He's our new responsible for the ColdFusion
+			integration. In this version we are introducing his new files with the following
+			changes:
+			<ul>
+				<li>The &quot;<strong>Uploader</strong>&quot;, used for quick uploads,&nbsp;is now available
+					<strong>natively for ColdFusion</strong>. </li>
+				<li>Small bugs have been corrected in the <strong>File Browser connector</strong>. </li>
+				<li>The samples now work as is, even if you don't install the editor in the &quot;/FCKeditor&quot;
+					directory.</li>
+			</ul>
+		</li>
+		<li>And a big welcome also to &quot;Andrew Liu&quot;, our responsible for the <strong>
+			Python</strong> integration. This version is bringing <strong>native support for Python</strong>
+			, including the File Browser connector and Quick Upload. </li>
+		<li>The &quot;<strong>IsDirty()</strong>&quot; and &quot;<strong>ResetIsDirty()</strong>&quot;
+			functions have been&nbsp;added to the&nbsp;JavaScript API&nbsp;to check if the editor
+			content has been changed.* </li>
+		<li>New language files:
+			<ul>
+				<li><strong>Hindi</strong> (by Utkarshraj Atmaram) </li>
+				<li><strong>Latvian </strong>(by Janis Klavin&scaron;)</li>
+			</ul>
+		</li>
+		<li>For&nbsp;the interface, now we have complete <strong>RTL support</strong> also for
+			the drop-down toolbar commands, color selectors and context menu. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1325113&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1325113</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1277661&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1277661</a>] The new &quot;Delete Table&quot; command is available in the
+			Context Menu when right-clicking inside a table. </li>
+		<li>The &quot;FCKConfig.DisableTableHandles&quot; configuration option is now working
+			on Firefox 1.5. </li>
+		<li>The new &quot;<strong>OnBlur</strong>&quot; and &quot;<strong>OnFocus</strong>&quot;
+			events have been added to the JavaScript API (IE only). See&nbsp;&quot;_samples/html/sample09.html&quot;&nbsp;*
+		</li>
+		<li><strong><font color="#ff0000">Attention</font></strong>: The &quot;<strong>GetHTML</strong>&quot;
+			function has been deprecated. It now returns the same value as &quot;<strong>GetXHTML</strong>&quot;.
+			The same is valid for the &quot;EnableXHTML&quot; and &quot;EnableSourceXHTML&quot;
+			that have no effects now. The editor now works with XHTML output only. </li>
+		<li><strong><font color="#ff0000">Attention</font></strong>: A new &quot;<strong>PreserveSessionOnFileBrowser</strong>&quot;
+			configuration option has been introduced. It makes it possible to set whenever is
+			needed to maintain the user session in the File Browser. It is disabled by default,
+			as it has very specific usage and may cause the File Browser to be blocked by popup
+			blockers. If you have custom File Browsers that depends on session information,
+			remember to activate it. </li>
+		<li><strong><font color="#ff0000">Attention</font></strong>: The &quot;<strong>fun</strong>&quot;
+			smileys set has been removed from the package. If you are using it, you must manually
+			copy it to newer installations and upgrades. </li>
+		<li><strong><font color="#ff0000">Attention</font></strong>: The &quot;<strong>mcpuk</strong>&quot;
+			file browser has been removed from the package. We have no ways to support it. There
+			were also some licensing issues with it. Its web site can still be found at <a href="http://mcpuk.net/fbxp/">
+				http://mcpuk.net/fbxp/</a>. </li>
+		<li>It is now possible to set different CSS styles for the chars in the Special Chars
+			dialog window by adding the &quot;SpecialCharsOut&quot; and &quot;SpecialCharsOver&quot;
+			in the &quot;fck_dialog.css&quot; skin file.* </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1268726&amp;group_id=75348&amp;atid=543655">SF
+			Patch-1268726</a>] Added table &quot;summary&quot; support in the table dialog.
+			Thanks to Sebastien-Mahe. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1284380&amp;group_id=75348&amp;atid=543655">SF
+			Patch-1284380</a>] It is now possible to define the icon of a FCKToolbarPanelButton
+			object without being tied to the skin path (just like FCKToolbarButton). Thanks
+			to Ian Sullivan. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1338610&amp;group_id=75348&amp;atid=543655">SF
+			Patch-1338610</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1263009&amp;group_id=75348&amp;atid=543656">SF
+				Patch-1263009</a>] New characters have been added to the &quot;Special Characters&quot;
+			dialog window. Thanks to Deian. </li>
+		<li>You can set the QueryString value &quot;fckdebug=true&quot; to activate &quot;debug
+			mode&quot; in the editor (showing the debug window), overriding the configurations.
+			The &quot;AllowQueryStringDebug&quot; configuration option is also available so
+			you can disable this feature.</li>
+	</ul>
+	<p>
+		Fixed Bugs:</p>
+	<ul>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1363548&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1363548</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1364425&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1364425</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1335045&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1335045</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1289661&amp;group_id=75348&amp;atid=543653">SF
+						BUG-1289661</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1225370&amp;group_id=75348&amp;atid=543653">SF
+							BUG-1225370</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1156291&amp;group_id=75348&amp;atid=543653">SF
+								BUG-1156291</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1165914&amp;group_id=75348&amp;atid=543653">SF
+									BUG-1165914</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1111877&amp;group_id=75348&amp;atid=543653">SF
+										BUG-1111877</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1092373&amp;group_id=75348&amp;atid=543653">SF
+											BUG-1092373</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1101596&amp;group_id=75348&amp;atid=543653">SF
+												BUG-1101596</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1246952&amp;group_id=75348&amp;atid=543653">SF
+													BUG-1246952</a>] The URLs for links and
+			images are now correctly preserved as entered, no matter if you are using relative
+			or absolute paths. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1162809&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1162809</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1205638&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1205638</a>] The &quot;Image&quot; and &quot;Flash&quot;&nbsp;dialog windows
+			now loads the preview correctly if the &quot;BaseHref&quot; configuration option
+			is set. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1329807&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1329807</a>] The alert boxes are now showing correctly when doing cut/copy/paste
+			operations on Firefox installations when it is not possible to execute that operations
+			due to security settings. </li>
+		<li>A new &quot;Panel&quot; system (used in the drop-dowm toolbar commands, color selectors
+			and context menu) has been developed. The following bugs have been fixed with it:
+			<ul>
+				<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1186927&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1186927</a>] On IE, sometimes the context menu was being partially hidden.*
+				</li>
+				<li>On Firefox, the context menu was flashing in the wrong position before showing.
+				</li>
+				<li>On Firefox 1.5, the Color Selector was not working. </li>
+				<li>On Firefox 1.5, the fonts in the panels were too big. </li>
+				<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1076435&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1076435</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1200631&amp;group_id=75348&amp;atid=543653">SF
+						BUG-1200631</a>] On Firefox, sometimes the context menu was being shown in the
+					wrong position.</li>
+			</ul>
+		</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&amp;atid=543653&amp;aid=1364094&amp;group_id=75348">SF
+			BUG-1364094</a>] Font families were <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=317572">
+				not being rendered correctly on Firefox</a> . </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&amp;atid=543653&amp;aid=1315954&amp;group_id=75348">SF
+			BUG-1315954</a>] No error is thrown when pasting some case specific code from editor
+			to editor. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1341553&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1341553</a>] A small fix for a security alert in the File&nbsp;Browser has been
+			applied. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1370953&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1370953</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1339898&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1339898</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1323319&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1323319</a>] A message will be shown to the user (instead of a JS error)&nbsp;if
+			a &quot;popup blocker&quot; blocks the &quot;Browser Server&quot; button. Thanks
+			to Erwin Verdonk. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1370355&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1370355</a>] Anchor links that points to a single character anchor, like &quot;#A&quot;,
+			are now correctly detected in the Link dialog window. Thanks to Ricky Casey. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1368998&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1368998</a>] Custom error processing has been added to the file upload on the
+			File Browser. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1367802&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1367802</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1207740&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1207740</a>] A message is shown to the user if a dialog box is blocked by
+			a popup blocker in Firefox. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1358891&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1358891</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1340960&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1340960</a>] The editor not works locally (without a web server) on directories
+			where the path contains spaces. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1357247&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1357247</a>] The editor now intercepts SHIFT + INS keystrokes when needed. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1328488&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1328488</a>] <strong><font color="#ff0000">Attention</font></strong>: The Page
+			Break command now produces different tags&nbsp;to avoid&nbsp;XHTML compatibility
+			issues. Any Page Break previously applied to content produced with previous versions
+			of FCKeditor will not me rendered now, even if&nbsp;they will still be working correctly.
+		</li>
+		<li>It is now possible to allow cut/copy/past operations on Firefox using the <a
+			href="http://kb.mozillazine.org/Granting_JavaScript_access_to_the_clipboard"
+			target="_blank">user.js</a> file. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1336792&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1336792</a>] A fix has been applied to the XHTML processor to allow tag names
+			with the &quot;minus&quot; char (-). </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1339560&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1339560</a>] The editor now correctly removes the &quot;selected&quot; option
+			for checkboxes and radio buttons. </li>
+		<li>The Table dialog box now selects the table correctly when right-clicking on objects
+			(like images) placed inside the table. </li>
+		<li><strong><font color="#ff0000">Attention</font></strong>: A few changes have been
+			made in the skins. If you have a custom skin, it is recommended you to make a diff
+			of the fck_contextmenu.css file of the default skin with your implementation. </li>
+		<li>Mouse select (marking&nbsp;things in blue, like selecting text) has been disabled
+			on panels (drop-down menu commands, color selector and context menu) and toolbar,
+			for both IE and Firefox. </li>
+		<li>On Gecko, fake borders will not be applied to tables with the border attribute set
+			to more than 0, but placed inside tables with border set to 0. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1360717&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1360717</a>] A wrapping issue in the &quot;Silver&quot; skin has been corrected.
+			Thanks to Ricky Casey. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1251145&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1251145</a>] In IE, the focus is now maintained in the text when clicking in
+			the empty area&nbsp;following it. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1181386&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1181386</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1237791&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1237791</a>] The &quot;Stylesheet Classes&quot; field in the Link dialog
+			window in now applied correctly on IE. Thanks to Andrew Crowe. </li>
+		<li>The &quot;Past from Word&quot; dialog windows is now showing correctly on Firefox
+			on some languages. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1315008&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1315008</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1241992&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1241992</a>] IE, when selecting objects (like images) and hitting the &quot;Backspace&quot;
+			button, the browser's &quot;back&quot; will not get executed anymore and the object
+			will be correctly deleted. </li>
+		<li>The &quot;AutoDetectPasteFromWord&quot; is now working correctly in IE. Thanks to
+			Juan Ant. G&oacute;mez. </li>
+		<li>A small enhancement has been made in the Word pasting detection. Thanks to Juan
+			Ant. G&oacute;mez. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1090686&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1090686</a>] No more conflict with Firefox &quot;Type-Ahead Find&quot; feature.
+		</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=942653&amp;group_id=75348&amp;atid=543653">SF
+			BUG-942653</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1155856&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1155856</a>] The &quot;width&quot; and &quot;height&quot; of images sized
+			using the inline handlers are now correctly loaded in the image dialog box. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1209093&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1209093</a>] When &quot;Full Page Editing&quot; is active, in the &quot;Document
+			Properties&quot; dialog, the &quot;Browse Server&quot; button for the page background
+			is now correctly hidden if &quot;ImageBrowser&quot; is set to &quot;false&quot;
+			in the configurations file. Thanks to Richard. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1120266&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1120266</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1186196&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1186196</a>] The editor now retains the focus when selecting commands in
+			the toolbar. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1244480&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1244480</a>] The editor now will look first to linked fields &quot;ids&quot;
+			and&nbsp;second to &quot;names&quot;. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1252905&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1252905</a>] The &quot;InsertHtml&quot; function now preserves URLs as entered.
+		</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1266317&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1266317</a>] Toolbar commands are not anymore executed outside the editor. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1365664&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1365664</a>] The &quot;wrap=virtual&quot; attribute has been removed from the
+			integration files for validation purposes. No big impact. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=972193&amp;group_id=75348&amp;atid=543653">SF
+			BUG-972193</a>] Now just one click is needed to active the cursor inside the editor.
+		</li>
+		<li>The hidden fields used by the editor are now protected from changes using the &quot;Web
+			Developer Add-On &gt; Forms &gt; Display Forms Details&quot; extension. Thanks to
+			Jean-Marie Griess. </li>
+		<li>On IE, the &quot;Format&quot; toolbar dropdown now reflects the current paragraph
+			type on IE. Because of a bug in the browser, it is quite dependent on the browser
+			language and the editor interface language (both must be the same). Also, as the
+			&quot;Normal (DIV)&quot; type is seen by IE as &quot;Normal&quot;, to avoid confusion,
+			both types are ignored by this fix. </li>
+		<li>On some very rare cases, IE was loosing the &quot;align&quot; attribute for DIV
+			tags. Fixed. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&amp;atid=543653&amp;aid=1388799&amp;group_id=75348">SF
+			BUG-1388799</a>] The code formatter was removing spaces on the beginning of lines
+			inside PRE tags. Fixed. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1387135&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1387135</a>] No more &quot;NaN&quot; values in the image dialog, when changing
+			the sizes in some situations. </li>
+		<li>Corrected a small type in the table handler. </li>
+		<li>You can now set the &quot;z-index&quot; for floating panels (toolbar dropdowns,
+			color selectors, context menu) in Firefox, avoiding having them hidden under another
+			objects. By default it is set to 10,000. Use the FloatingPanelsZIndex configuration
+			option to change this value.</li>
+	</ul>
+	<p>
+		<strong>Special thanks</strong> to <a target="_blank" href="https://sourceforge.net/users/alfonsoml/">
+			Alfonso Martinez</a>, who have provided many patches and suggestions for the
+		following features / fixes present in this version. I encourage all you to <a href="https://sourceforge.net/donate/index.php?user_id=1356422">
+			donate</a> to Alfonso, as a way to say thanks for his nice open source approach.
+		Thanks Alfonso!. Check out his contributions:</p>
+	<ul>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&amp;atid=543653&amp;aid=1364094&amp;group_id=75348">SF
+			BUG-1352539</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1208348&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1208348</a>] With Firefox, no more &quot;fake&quot; selections are appearing
+			when inserting images, tables, special chars or when using the &quot;insertHtml&quot;
+			function. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&amp;atid=543655&amp;aid=1382588&amp;group_id=75348">SF
+			Patch-1382588</a>] The &quot;FCKConfig.DisableImageHandles&quot; configuration option
+			is not working on Firefox 1.5. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1368586&amp;group_id=75348&amp;atid=543655">SF
+			Patch-1368586</a>] Some fixes have been applied to the Flash dialog box and the
+			Flash pre-processor. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1360253&amp;group_id=75348&amp;atid=543655">SF
+			Patch-1360253</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1378782&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1378782</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1305899&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1305899</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1344738&amp;group_id=75348&amp;atid=543653">SF
+						BUG-1344738</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1347808&amp;group_id=75348&amp;atid=543653">SF
+							BUG-1347808</a>] On dialogs, some fields&nbsp;became impossible
+			to select or change when using Firefox. It has been fixed. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1357445&amp;group_id=75348&amp;atid=543655">SF
+			Patch-1357445</a>] Add support for DIV in the Format drop-down combo for Firefox.
+		</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1350465&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1350465</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1376175&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1376175</a>] The &quot;Cell Properties&quot; dialog now works correctly
+			when right-clicking in an object (image, for example) placed inside the cell itself.
+		</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1349166&amp;group_id=75348&amp;atid=543655">SF
+			Patch-1349166</a>] On IE, there is now support for namespaces on tags names. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1350552&amp;group_id=75348&amp;atid=543655">SF
+			Patch-1350552</a>] Fix the display issue when applying styles on tables. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1352320&amp;group_id=75348&amp;atid=543655">SF
+			Patch-1352320</a> ] Fixed&nbsp;a wrong&nbsp;usage of the &quot;parentElement&quot;
+			property on Gecko. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1355007&amp;group_id=75348&amp;atid=543655">SF
+			Patch-1355007</a>] The new &quot;FCKDebug.OutputObject&quot; function is available
+			to dump all object information in the debug window. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1329500&amp;group_id=75348&amp;atid=543655">SF
+			Patch-1329500</a>] It is now possible to delete table columns when clicking on a
+			TH cell of the column. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1315351&amp;group_id=75348&amp;atid=543655">SF
+			Patch-1315351</a>] It is now possible to pass the image width and height to the
+			&quot;SetUrl&quot; function of the Flash dialog box. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1327384&amp;group_id=75348&amp;atid=543655">SF
+			Patch-1327384</a>] TH tags are now correctly handled by the source code formatter
+			and the &quot;FillEmptyBlocks&quot; configuration option. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1327406&amp;group_id=75348&amp;atid=543655">SF
+			Patch-1327406</a>] Fake borders are now displayed for TH elements on tables with
+			border set to 0. Also, on Firefox, it will now work even if the border attribute
+			is not defined and the borders are not dotted. </li>
+		<li>Hidden fields now get rendered on Firefox. </li>
+		<li>The BasePath is now included in the debugger URL to avoid problems when calling
+			it from plugins.</li>
+	</ul>
+	<p>
+		* This version has been partially sponsored by <a target="_blank" href="http://www.alkacon.com">
+			Alkacon Software</a>.</p>
+	<h3>
+		Version 2.1.1</h3>
+	<p>
+		New Features and Improvements:</p>
+	<ul>
+		<li>The new &quot;<strong>Insert Page Break</strong>&quot;&nbsp;command (for printing)&nbsp;has
+			been introduced.* </li>
+		<li>The editor package now has a root directory called &quot;FCKeditor&quot;.</li>
+	</ul>
+	<p>
+		Fixed Bugs:</p>
+	<ul>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1326285&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1326285</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1316430&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1316430</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1323662&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1323662</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1326223&amp;group_id=75348&amp;atid=543653">SF
+						BUG-1326223</a>] We are doing a little step back with this version.
+			The ENTER and BACKSPACE behavior changes for Firefox have been remove. It is a nice
+			feature, but we need much more testing&nbsp;on it. It introduced some bugs and so
+			its preferable to not have that feature, avoiding problems (even if that feature
+			was intended to solve some issues). </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1289372&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1275714</a>] Comments in the beginning of the source are now preserved when
+			using the &quot;undo&quot; and &quot;redo&quot; commands. </li>
+		<li>The &quot;undo&quot; and &quot;redo&quot; commands now work for the Style command.
+		</li>
+		<li>An error in the execution of the pasting commands on Firefox has been fixed. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&amp;atid=543653&amp;aid=1326184&amp;group_id=75348">SF
+			BUG-1326184</a>] No strange (invalid) entities are created when using Firefox. Also,
+			the &amp;nbsp; used by the FillEmptyBlocks setting is maintained even if you disable
+			the ProcessHTMLEntities setting.</li>
+	</ul>
+	<p>
+		* This version has been partially sponsored by <a target="_blank" href="http://www.acttive.com.br/">
+			Acctive Software&nbsp;S.A.</a>.</p>
+	<h3>
+		Version 2.1</h3>
+	<p>
+		New Features and Improvements:</p>
+	<ul>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1200328&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1200328</a>] The editor now offers a way to &quot;protect&quot; part of the
+			source to remain untouched while editing or changing views.&nbsp;Just use the &quot;FCKConfig.ProtectedSource&quot;
+			object to configure it and customize to your needs. It is based on regular expressions.
+			See fckconfig.js for some samples. </li>
+		<li>The editor now offers native support for <strong>Lasso</strong>. Thanks and welcome&nbsp;to
+			our new developer Jason Huck. </li>
+		<li>New language files are available:
+			<ul>
+				<li><strong>Faraose</strong> (by S&iacute;min Lassaberg and&nbsp;Helgi Arnthorsson)
+				</li>
+				<li><strong>Malay</strong> (by Fairul Izham Mohd Mokhlas) </li>
+				<li><strong>Mongolian</strong> (by Lkamtseren Odonbaatar) </li>
+				<li><strong>Vietnamese</strong> (by Phan Binh Giang)</li>
+			</ul>
+		</li>
+		<li>A new configurable&nbsp;ColdFusion connector is available. Thanks to Mark Woods.
+			Many enhancements has been introduced with it. </li>
+		<li>The PHP connector for the default File Browser now sorts the folders and files names.
+		</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1289372&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1289372</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1282758&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1282758</a>] In the PHP connector it is now possible to set the absolute
+			(server) path to the User Files directory, avoiding problems with Virtual Directories,
+			Symbolic Links or Aliases. Take a look at the config.php file. </li>
+		<li>The ASP.Net uploader (for Quick Uploads) has been added to the package. </li>
+		<li>A new way to define <strong>simple &quot;combo&quot; toolbar items</strong> , like
+			Style and Font, has been introduced.&nbsp;Thanks&nbsp;to Steve Lineberry.&nbsp;See
+			sample06.html and the &quot;simplecommands&quot; plugin&nbsp;to fully understand
+			it. </li>
+		<li>A new test case has been added that shows how to set the editor background dynamically
+			without using a CSS. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1155906&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1155906</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1110116&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1110116</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1216332&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1216332</a>] The &quot;AutoDetectPasteFromWord&quot; configuration option
+			is back (IE only feature). </li>
+		<li>The&nbsp;new &quot;OnAfterLinkedFieldUpdate&quot; event has been introduced. If
+			is fired when the editor updates its hidden associated field. </li>
+		<li>Attention: The color of the right border of the toolbar (left on RTL interfaces)
+			has been moved from code to the CSS (TB_SideBorder class). Update your custom skins.
+		</li>
+		<li>A&nbsp;sample &quot;htaccess.txt&quot; file has been added to the editor's package
+			to show how to configure some Linux sites that could present problems on Firefox
+			with &quot;Illegal characters&quot; errors. Respectively the &quot;&iuml;&raquo;&iquest;&quot;
+			chars. </li>
+		<li>With the JavaScript, ASP and PHP integration files, you can set the QueryString
+			value &quot;fcksource=true&quot; to load the editor using the source files (located
+			in the _source directory) instead of the compressed ones. Thanks to Kae Verens for
+			the suggestion. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1246623&amp;group_id=75348&amp;atid=543656">SF
+			Feature-1246623</a>] The new configuration option &quot;ForceStrongEm&quot; has
+			been introduced so you can force the editor to convert all &lt;B&gt; and &lt;I&gt;
+			tags to &lt;STRONG&gt; and &lt;EM&gt; respectively. </li>
+		<li>A nice contribution has been done by Goss Interactive Ltd:
+			<ul>
+				<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1246949&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1246949</a>] Implemented ENTER key and BACKSPACE key handlers for Gecko so that
+					P tags (or an appropriate block element) get inserted instead of BR tags when not
+					in the UseBROnCarriageReturn config mode.
+					<br />
+					The ENTER key handling has been written to function much the same as the ENTER key
+					handling on IE : as soon as the ENTER key is pressed, existing content will be wrapped
+					with a suitable block element (P tag) as appropriate and a new block element (P
+					tag) will be started.
+					<br />
+					The ENTER key handler also caters for pressing ENTER within empty list items - ENTER
+					in an empty item at the top of a list will remove that list item and start a new
+					P tag above the list; ENTER in an empty item at the bottom of a list will remove
+					that list item and start a new P tag below the list; ENTER in an empty item in the
+					middle of a list will remove that list item, split the list into two, and start
+					a new P tag between the two lists. </li>
+				<li>Any tables that are found to be incorrectly nested within a block element (P tag)
+					will be moved out of the block element when loaded into the editor. This is required
+					for the new ENTER/BACKSPACE key handlers and it also avoids non-compliant HTML.&nbsp;
+				</li>
+				<li>The InsertOrderedList and InsertUnorderedList commands have been overridden on Gecko
+					to ensure that block elements (P tags) are placed around a list item's content when
+					it is moved out of the list due to clicking on the editor's list toolbar buttons
+					(when not in the UseBROnCarriageReturn config mode). </li>
+			</ul>
+		</li>
+	</ul>
+	<p>
+		Fixed Bugs:</p>
+	<ul>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1253255&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1253255</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1253255&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1265520</a>] Due to changes on version 2.0, the anchor list was not anymore
+			visible in the link dialog window. It has been fixed. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&amp;atid=543653&amp;aid=1242979&amp;group_id=75348">SF
+			BUG-1242979</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1251354&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1251354</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1256178&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1256178</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1274841&amp;group_id=75348&amp;atid=543653">SF
+						BUG-1274841</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1303949&amp;group_id=75348&amp;atid=543653">SF
+							BUG-1303949</a>] Due to a bug on Firefox, some keys stopped working
+			on startup over Firefox. It has been fixed. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1251373&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1251373</a> ] The above fix also has&nbsp;corrected some strange behaviors on
+			Firefox. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?group_id=75348&amp;atid=543653&amp;func=detail&amp;aid=1144258">SF
+			BUG-1144258</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?group_id=75348&amp;atid=543653&amp;func=detail&amp;aid=1092081">SF
+				BUG-1092081</a>] The File Browsers now run on the&nbsp;same server session used
+			in the page where the editor is placed in (IE issue). Thanks to Simone Chiaretta.
+		</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1305619&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1305619</a> ] No more repeated login dialogs when running the editor with Windows
+			Integrated Security with IIS. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1245304&amp;group_id=75348&amp;atid=543655">SF
+			Patch-1245304</a>] The Test Case 004 is now working correctly. It has been changed
+			to set the editor hidden at startup. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1290610&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1290610</a> ] Over HTTPS, there were some warnings when loading the Images,
+			Flash and Link dialogs. Fixed. </li>
+		<li>Due to Gecko bugs, two errors were thrown when loading the editor in a hidden div.
+			Workarounds have been introduced. In any case, the testcase 004 hack is needed when
+			showing the editor (as in a tabbed interface). </li>
+		<li>An invalid path in the dialogs CSS file has been corrected. </li>
+		<li>On IE, the Undo/Redo can now be controlled using the Ctrl+Z and Ctrl+Y shortcut
+			keys. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1295538&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1295538</a> ] A few Undo/Redo fixes for IE have been done. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1247070&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1247070</a>] On Gecko, it is now possible to use the shortcut keys for Bold
+			(CTRL+B), Italic (CTRL+I) and Underline (CTRL+U), like in IE. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1274303&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1274303</a>] The &quot;Insert Column&quot; command is now working correctly
+			on TH cells. It also copies any attribute applied to the source cells. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1287070&amp;group_id=75348&amp;atid=543655">SF
+			Patch-1287070</a> ] In the Universal Keyboard, the Arabic keystrokes translator
+			is now working with Firefox. Thanks again to Abdul-Aziz Al-Oraij. </li>
+		<li>The editor now handles AJAX requests with HTTP status 304. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1157780&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1157780</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1229077&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1229077</a>] Weird comments are now handled correctly (ignored on some cases).
+		</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1155774&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1155774</a>] A spelling error in the Bulleted List Properties dialog has been
+			corrected. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1272018&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1272018</a>] The ampersand character can now be added from the Special Chars
+			dialog. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1263161&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1263161</a>] A small fix has been applied to the sampleposteddata.php file.
+			Thanks to Mike Wallace. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1241504&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1241504</a>] The editor now looks also for the ID of the hidden linked field.
+		</li>
+		<li>The caption property on tables is now working on Gecko. Thanks to Helen Somers (Goss
+			Interactive Ltd). </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1297431&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1297431</a>] With IE, the editor now works locally when its files are placed
+			in a directory path that contains spaces. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1279551&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1279551</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1242105&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1242105</a>] On IE, some features are dependant of ActiveX components (secure...
+			distributed&nbsp;with IE itself). Some security setting could avoid the usage of
+			those components and the editor would stop working. Now a message is shown, indicating
+			the use the minimum necessary settings need&nbsp;by the editor to run. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1298880&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1298880</a>] Firefox can't handle the STRONG and EM tags. Those tags are now
+			converted to B and I so it works accordingly. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1271723&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1271723</a>] On IE, it is now possible to select the text and work correctly
+			in the contents of absolute positioned/dimensioned divs. </li>
+		<li>On IE, there is no need to click twice in the editor to&nbsp;activate the cursor
+			in the editing area. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&amp;atid=543653&amp;aid=1221621&amp;group_id=75348">SF
+			BUG-1221621</a>] Many &quot;warnings&quot; in the Firefox console are not thrown
+			anymore. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1295526&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1295526</a>] While&nbsp;editing on &quot;FullPage&quot; mode the basehref is
+			now active for CSS &quot;link&quot; tags. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1222584&amp;group_id=75348&amp;atid=543655">SF
+			Patch-1222584</a>] A small fix to the PHP connector has been applied. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1281313&amp;group_id=75348&amp;atid=543655">SF
+			Patch-1281313</a>] A few small changes to avoid problems with Plone. Thanks to Jean-mat.
+		</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1275911&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1275911</a>] A check for double dots sequences on directory names on creation
+			has been introduced to the PHP and ASP connectors.</li>
+	</ul>
+	<h3>
+		Version 2.0</h3>
+	<p>
+		New Features and Improvements:</p>
+	<ul>
+		<li>The&nbsp;new &quot;<strong>Flash</strong>&quot; command is available. Now you can
+			easily handle Flash content, over IE and Gecko, including server browser integration
+			and context menu support. Due to limitations of the browsers, it is not possible
+			to see the preview of the movie while editing, so a nice &quot;placeholder&quot;
+			is used instead. * </li>
+		<li>A&nbsp;&quot;<strong>Quick Upload</strong> &quot; option is now available in the
+			link, image and flash dialog windows, so the user don't need to go (or have) the
+			File Browser for this operations. The ASP and PHP uploader&nbsp;are included.&nbsp;Take
+			a look at the configuration file.*** </li>
+		<li>Added support for <strong>Active FoxPro Pages</strong> . Thanks to our new developer,
+			S&ouml;nke Freitag. </li>
+		<li>It is now possible to <strong>disable the size handles</strong> for images and tables
+			(IE only feature). Take a look at the DisableImageHandles and DisableTableHandles
+			configuration options. </li>
+		<li>The handles on form fields&nbsp;(small squares around them) and the inline editing
+			of&nbsp;its contents&nbsp;have been disabled. This makes it easier to users to use
+			the controls. </li>
+		<li>A much better support for Word pasting operations has been introduced. Now it uses
+			a dialog box, in this way we have better results and more control.** </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1225372&amp;group_id=75348&amp;atid=543655">SF
+			Patch-1225372</a>] A small change has been done to the PHP integration file. The
+			generic __construct constructor has been added for better PHP 5 sub-classing&nbsp;compatibility
+			(backward compatible). Thanks to Marcus Bointon.</li>
+	</ul>
+	<p>
+		Fixed Bugs:</p>
+	<ul>
+		<li>ATTENTION: Some security changes have been made to the connectors. Now you must
+			explicitly enable the connector you want to use. Please test your application before
+			deploying this update. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/?group_id=75348&amp;atid=543653&amp;func=detail&amp;aid=1211591">SF
+			BUG-1211591</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1204273&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1204273</a>] The connectors have been changed so it is not possible to use
+			&quot;..&quot; on directory names. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1219734&amp;group_id=75348&amp;atid=543655">SF
+			Patch-1219734</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1219728&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1219728</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1208654&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1208654</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1205442&amp;group_id=75348&amp;atid=543653">SF
+						BUG-1205442</a>] There was an error in the page unload on some cases
+			that has been fixed. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/?group_id=75348&amp;atid=543653&amp;func=detail&amp;aid=1209708">SF
+			BUG-1209708</a>] [<a target="_blank" href="http://sourceforge.net/tracker/?group_id=75348&amp;atid=543653&amp;func=detail&amp;aid=1214125">SF
+				BUG-1214125</a>] The undo on IE is now working correctly when the user starts
+			typing. </li>
+		<li>The preview now loads &quot;Full Page&quot; editing correctly. It also uses the
+			same XHTML code produced by the final output. </li>
+		<li>The &quot;Templates&quot; dialog was not working on some very specific (and strange)
+			occasions over IE. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&amp;atid=543653&amp;aid=1199631&amp;group_id=75348">SF
+			BUG-1199631</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1171944&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1171944</a>] A new option is available to avoid a bad IE behavior that shows
+			the horizontal scrollbar even when not needed. You can now force the vertical scrollbar
+			to be always visible. Just set the &quot;IEForceVScroll&quot; configuration option
+			to &quot;true&quot;. Thanks to Grant Bartlett. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1212026&amp;group_id=75348&amp;atid=543655">SF
+			Patch-1212026</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1228860&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1228860</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1211775&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1211775</a>] [<a target="_blank" href="http://sourceforge.net/tracker/?group_id=75348&amp;atid=543653&amp;func=detail&amp;aid=1199824">SF
+						BUG-1199824</a>] An error in the Packager has been corrected. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/?group_id=75348&amp;atid=543653&amp;func=detail&amp;aid=1163669">SF
+			BUG-1163669</a>] The XHTML processor now adds a space before the closing slash of
+			tags that don't have a closing tag, like &lt;br /&gt;. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1213733&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1213733</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1216866&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1216866</a>]&nbsp;[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1209673&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1209673</a>]&nbsp;[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1155454&amp;group_id=75348&amp;atid=543653">SF
+						BUG-1155454</a>]&nbsp;[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1187936&amp;group_id=75348&amp;atid=543653">SF
+							BUG-1187936</a> ]&nbsp;Now, on Gecko, the source is opened in a
+			dialog window to avoid fatal errors (Gecko bugs). </li>
+		<li>Some pages have been changed to avoid importing errors on Plone. Thanks to Arthur
+			Kalmenson. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1171606&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1171606</a>] There&nbsp;is a bug on IE that makes the editor to not work if
+			the instance name matches a meta tag name. Fixed. </li>
+		<li>On Firefox, the source code is now opened in a dialog box, to avoid error on pages
+			with more than one editor. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1225703&amp;group_id=75348&amp;atid=543655">SF
+			Patch-1225703</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1214941&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1214941</a>] The &quot;ForcePasteAsPlainText&quot; configuration option
+			is now working correctly on Gecko browsers. Thanks to Manuel Polo. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1228836&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1228836</a>] The &quot;Show Table Borders&quot; feature is now working on Gecko
+			browsers. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1212529&amp;group_id=75348&amp;atid=543655">SF
+			Patch-1212529</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1212517&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1212517</a>] The default File Browser now accepts connectors with querystring
+			parameters (with &quot;?&quot;). Thanks to Tomas Jucius. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1233318&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1233318</a>] A JavaScript error thrown when using the Print command has been
+			fixed. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1229696&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1229696</a>] A regular expression has been escaped to avoid problems when opening
+			the code in some editors. It has been moved to a&nbsp;dialog window. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1231978&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1231978</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1228939&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1228939</a>] The Preview window is now using the Content Type and Base href.
+		</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1232056&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1232056</a>] The&nbsp;anchor icon is now working correctly on IE. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1232056&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1202468</a>] The anchor icon is now available on Gecko too. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1236279&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1236279</a>] A security warning has been corrected when using the File Browser
+			over HTTPS. </li>
+		<li>The ASP implementation now avoid errors when setting the editor value to null values.
+		</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1237359&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1237359</a>] The trailing &lt;BR&gt; added by Gecko at the end of the source
+			is now removed. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/?group_id=75348&amp;atid=543653&amp;func=detail&amp;aid=1170828">SF
+			BUG-1170828</a>] No more &amp;nbsp; is added to the source when using the &quot;New
+			Page&quot; button. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1165264&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1165264</a>] A&nbsp;new configuration option has been included to force the
+			editor to ignore empty paragraph values&nbsp;(&lt;p&gt;&amp;nbsp;&lt;/p&gt;), returning
+			empty (&quot;&quot;). </li>
+		<li>No more &amp;nbsp; is added when creating a table or adding columns, rows or cells.
+		</li>
+		<li>The &lt;TD&gt; tags are now included in the FillEmptyBlocks configuration handling.
+		</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1224829&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1224829</a>] A small bug in the &quot;Find&quot; dialog has been fixed. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1221307&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1221307</a>] A small bug in the &quot;Image&quot; dialog has been fixed. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1219981&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1219981</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1155726&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1155726</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1178473&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1178473</a>] It is handling the &lt;FORM&gt;, &lt;TEXTAREA&gt; and &lt;SELECT&gt;
+			tags &quot;name&quot; attribute correctly. Thanks to thc33. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1205403&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1205403</a>] The checkbox and radio button values are now handled correctly
+			in their dialog windows. Thanks to thc33. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1236626&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1236626</a>] The toolbar now doesn't need to collapse when unloading the page
+			(IE only). </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1212559&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1212559</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1017231&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1017231</a>] The &quot;Save&quot; button now calls the &quot;onsubmit&quot;
+			event before posting the form. The submit can be cancelled if the onsubmit returns
+			&quot;false&quot;. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1215823&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1215823</a>] The editor now works correctly on Firefox if it values is set to
+			&quot;&lt;p&gt;&lt;/p&gt;&quot;. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1217546&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1217546</a>] No error is thrown when &quot;pasting as plain text&quot; and no
+			text is available for pasting (as an image for example). </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1207031&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1207031</a>] [<a target="_blank" href="http://sourceforge.net/tracker/?group_id=75348&amp;atid=543653&amp;func=detail&amp;aid=1223978">SF
+				BUG-1223978</a>] The context menu is now available in the source view. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/?group_id=75348&amp;atid=543653&amp;func=detail&amp;aid=1213871">SF
+			BUG-1213871</a>] Undo has been added to table creation and table operation commands.
+		</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1205211&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1205211</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1229941&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1229941</a>] Small bug in the mcpuk file browser&nbsp;have been corrected.</li>
+	</ul>
+	<p>
+		* This version has been partially sponsored by <a target="_blank" href="http://www.infineon.com/">
+			Infineon Technologies AG</a>.<br />
+		** This version has been partially sponsored by <a href="http://www.visualsoft.co.uk">
+			Visualsoft</a> <a href="http://www.visualsoft.co.uk/websolutions.html">Web Solutions</a>.<br />
+		*** This version has been partially sponsored by <a target="_blank" href="http://www.webcrossing.com">
+			Web Crossing, Inc</a>.</p>
+	<h3>
+		Version 2.0&nbsp;FC (Final Candidate)</h3>
+	<p>
+		New Features and Improvements:</p>
+	<ul>
+		<li>A new tab called &quot;<strong>Link</strong>&quot; is available in the<strong> Image
+			Dialog</strong> window. In this way you can insert or modify the image link directly
+			from that dialog.* </li>
+		<li>The new &quot;<strong>Templates</strong>&quot; command is now available. Now the
+			user can select from a list of pre-build HTML and fill the editor with it. Take
+			a look at the &quot;_docs&quot; for more info.** </li>
+		<li>The <a target="_blank" href="http://mcpuk.net/fbxp/">mcpuk's</a> File Browser for
+			PHP has been included in the package. He became the official developer of the File
+			Manager for FCKeditor, so we can expect good news in the future. </li>
+		<li>New configuration options are available to <strong>hide tabs</strong> from the <strong>
+			Image</strong> Dialog&nbsp;and <strong>Link</strong> Dialog windows: LinkDlgHideTarget,
+			LinkDlgHideAdvanced, ImageDlgHideLink and ImageDlgHideAdvanced. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1189442&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1189442</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1187164&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1187164</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1185905&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1185905</a>] It is now possible to configure the editor to <strong>not convert Greek</strong>
+			or special&nbsp;<strong>Latin </strong>letters to ther specific HTML entities. You
+			can also configure it to not convert any character at all. Take a look at the &quot;ProcessHTMLEntities&quot;,
+			&quot;IncludeLatinEntities&quot; and &quot;IncludeGreekEntities&quot; configuration
+			options. </li>
+		<li>New language files are available:
+			<ul>
+				<li><strong>Basque</strong> (by Ibon Igartua) </li>
+				<li><strong>English (Australia / United Kingdom)</strong> (by Christopher Dawes) </li>
+				<li><strong>Ukrainian</strong> (by Alexander Pervak)</li>
+			</ul>
+		</li>
+		<li>The version and date information have been removed from the files headers to avoid
+			unecessary diffs in source control systems when new versions are released (from
+			now on). </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1159854&amp;group_id=75348&amp;atid=543655">SF
+			Patch-1159854</a>] Ther HTML output rendered by the server side integration files
+			are now XHTML compatible. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1181823&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1181823</a>] It is now possible to set the desired DOCTYPE to use when edit
+			HTML fragments (not in Full Page mode). </li>
+		<li>There is now an optional way to implement different &quot;mouse over&quot; effects
+			to the buttons when they are &quot;on&quot; of &quot;off&quot;.</li>
+	</ul>
+	<p>
+		Fixed Bugs:</p>
+	<ul>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1162200&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1162200</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1161633&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1161633</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1050293&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1050293</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1058948&amp;group_id=75348&amp;atid=543653">SF
+						BUG-1058948</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1109120&amp;group_id=75348&amp;atid=543653">SF
+							BUG-1109120</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1155408&amp;group_id=75348&amp;atid=543653">SF
+								BUG-1155408</a>] The IE memory leak bug has been solved. The
+			code has been completely reviewed and many memory usage improvements have been done.
+		</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1179645&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1179645</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1183252&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1183252</a> ] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1166779&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1181647</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1155627&amp;group_id=75348&amp;atid=543653">SF
+						BUG-1155627</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1155782&amp;group_id=75348&amp;atid=543653">SF
+							BUG-1155782</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1155750&amp;group_id=75348&amp;atid=543653">SF
+								BUG-1155750</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1157166&amp;group_id=75348&amp;atid=543653">SF
+									BUG-1157166</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1157857&amp;group_id=75348&amp;atid=543653">SF
+										BUG-1157857</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1158121&amp;group_id=75348&amp;atid=543653">SF
+											BUG-1158121</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1177153&amp;group_id=75348&amp;atid=543653">SF
+												BUG-1177153</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1175847&amp;group_id=75348&amp;atid=543653">SF
+													BUG-1175847</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1155747&amp;group_id=75348&amp;atid=543653">SF
+														BUG-1155747</a>] There was a loading
+			problem in Gecko browsers in some cases. It has been solved. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1161147&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1161147</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1157635&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1157635</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1149805&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1149805</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1124600&amp;group_id=75348&amp;atid=543653">SF
+						BUG-1124600</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1117535&amp;group_id=75348&amp;atid=543653">SF
+							BUG-1117535</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1118145&amp;group_id=75348&amp;atid=543653">SF
+								BUG-1118145</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1098113&amp;group_id=75348&amp;atid=543653">SF
+									BUG-1098113</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1092272&amp;group_id=75348&amp;atid=543653">SF
+										BUG-1092272</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1086416&amp;group_id=75348&amp;atid=543653">SF
+											BUG-1086416</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1027952&amp;group_id=75348&amp;atid=543653">SF
+												BUG-1027952</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=978441&amp;group_id=75348&amp;atid=543653">SF
+													BUG-978441</a> ] A custom Undo/Redo system
+			has been implemented for IE. </li>
+		<li>The editor startup execution is now made in the right order (so configurations override
+			works correctly). </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1166779&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1166779</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1166651&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1166651</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1066198&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1066198</a>]&nbsp;[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1090388&amp;group_id=75348&amp;atid=543653">SF
+						BUG-1090388</a> ]&nbsp;No more &quot;illegible&quot; characters in the
+			toolbar when &quot;ClearType&quot; is active. </li>
+		<li>It is now possible to set the &quot;width&quot; style of the BODY tag in the EditorAreaCSS
+			to limit the editing area size. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1113620&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1113620</a>] In IE, the editor doesn't generate new entries in the browser history
+			anymore. </li>
+		<li>The editor now uses the same method used on version RC2 to load its contents on
+			Gecko. It is now possible to have more than one editor in the page. This change
+			has a negative impact: the BaseHref property is not working. </li>
+		<li>Changes have been made to make the editor work with PHP versions&nbsp;older than&nbsp;2.1.0.
+		</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1190835&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1190835</a>] [<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&amp;atid=543653&amp;aid=1196547&amp;group_id=75348">SF
+				BUG-1196547</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1156863&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1156863</a>] The &quot;Insert Horizontal Line&quot; command is now working
+			correctly. Thanks to Hector Raul Colonia Coral. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1101861&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1101861</a>] The editor now shows a normal textarea correctly (as expected)
+			on Safari browsers (and all &quot;like Gecko&quot; browsers). Thanks to Bob Paul.
+		</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1182224&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1182224</a>] The PHP connector can now handle file extensions in upper case,&nbsp;like
+			JPG or Gif, correctly. Thanks to Georg Ivancsic. </li>
+		<li>The &quot;sample06.html&quot; is now working correctly with Gecko browsers. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1156660&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1156660</a>] Some fixes have been applied to the Universal Keyboard. Thanks
+			to Abdul-Aziz Al-Oraij. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1192881&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1192881</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1185006&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1185006</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1156068&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1156068</a>] The &quot;Browse Server&quot; button is now working correctly
+			for the Background Image in the &quot;Document Properties&quot; dialog window (full
+			page editing). The active &quot;BaseHref&quot; is also set to the preview window.
+		</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1191704&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1191704</a>] Invalid HTML tags (according to the W3C naming standards for XHTML)
+			are ignored with no errors. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1185911&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1185911</a>] The Greek language file name has been corrected to &quot;el.js&quot;.
+		</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1181572&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1181572</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1158421&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1158421</a>] The &quot;Print&quot; button is now active on startup. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1181572&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1165219</a>] No error occours when the user defines just one color to the FontColors
+			on &quot;in page&quot; configurations. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1162957&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1162957</a>] The small problem with Zope (ZPT)&nbsp;has been solved. </li>
+		<li>Some small RTL / LTR corrections has been done in the interface and the Farsi language
+			has been added to the Universal Keyboard. Thanks to Silver Baghdasarian.</li>
+	</ul>
+	<p>
+		* This version has been partially sponsored by the <a href="http://www.hamilton.edu">
+			Hamilton College</a>.<br />
+		** This version has been partially sponsored by <a target="_blank" href="http://www.infineon.com/">
+			Infineon Technologies AG</a>.</p>
+	<h3>
+		Version 2.0 RC3 (Release Candidate 3)</h3>
+	<p>
+		New Features and Improvements:</p>
+	<ul>
+		<li>The editor now offers native <strong>Perl integration</strong>! Thanks and welcome
+			to Takashi Yamaguchi, our official Perl developer. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1026584&amp;group_id=75348&amp;atid=543656">SF
+			Feature-1026584</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1112692&amp;group_id=75348&amp;atid=543656">SF
+				Feature-1112692</a>] <strong>Formatting </strong>has been introduced to the
+			<strong>Source View</strong>. The output HTML can also be formatted. You can choose
+			to use spaces or tab for indentation. See the configuration file. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1031492&amp;group_id=75348&amp;atid=543656">SF
+			Feature-1031492</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1004293&amp;group_id=75348&amp;atid=543656">SF
+				Feature-1004293</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=784281&amp;group_id=75348&amp;atid=543656">SF
+					Feature-784281</a>] It is now possible to edit <strong>full HTML pages</strong>
+			with the editor. Use the &quot;FullPage&quot; configuration setting to activate
+			it. </li>
+		<li>The&nbsp;new toolbar command, &quot;<strong>Document Properties</strong>&quot;&nbsp;is
+			available to edit document header info, title, colors, background, etc... Full page
+			editing must be enabled. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1151448&amp;group_id=75348&amp;atid=543656">SF
+			Feature-1151448</a>] <strong>Spell Check</strong> is now available. You can use
+			<strong>ieSpell</strong> or <strong>Speller Pages</strong> right from FCKeditor.
+			More info about configuration can be found in the _docs folder. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1041686&amp;group_id=75348&amp;atid=543656">SF
+			Feature-1041686</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1086386&amp;group_id=75348&amp;atid=543656">SF
+				Feature-1086386</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1124602&amp;group_id=75348&amp;atid=543656">SF
+					Feature-1124602</a>] New &quot;<strong>Insert Anchor</strong>&quot; command
+			has been introduced. (The anchor icon is visible only over&nbsp;IE for now). </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1123816&amp;group_id=75348&amp;atid=543656">SF
+			Feature-1123816</a>] It is now possible to configure the editor to <strong>show &quot;fake&quot;
+				table borders</strong> when the border size is set to zero. (It is working only
+			on IE for now). </li>
+		<li><strong>Numbered</strong> and <strong>Bulleted</strong> lists can now be <strong>
+			configured</strong> . Just right click on then. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1088608&amp;group_id=75348&amp;atid=543656">SF
+			Feature-1088608</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1144047&amp;group_id=75348&amp;atid=543656">SF
+				Feature-1144047</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1149808&amp;group_id=75348&amp;atid=543656">SF
+					Feature-1149808</a>] A new configuration setting is available, &quot;<strong>BaseHref</strong>
+			&quot;, to set the URL used to resolve relative links. </li>
+		<li>It is now possible to set&nbsp;the <strong>content language direction</strong> .
+			See the &quot;FCKConfig.ContentLangDirection&quot; configurations setting. </li>
+		<li>All <strong>Field Commands</strong> available on version 1.6 have been upgraded
+			and&nbsp;included in this version: <strong>form</strong>, <strong>checkbox</strong>,
+			<strong>radio button</strong>, <strong>text field</strong>, text <strong>area</strong>,
+			<strong>select field</strong>, <strong>button</strong>, <strong>image button</strong>
+			and <strong>hidden field</strong> . </li>
+		<li><strong>Context menu</strong> options (right-click) has been added for: <strong>
+			anchors</strong>, <strong>select field</strong>, <strong>textarea</strong>, <strong>
+				checkbox</strong>, <strong>radio button</strong>, <strong>text field</strong>,
+			<strong>hidden field</strong>, <strong>textarea</strong>, <strong>button</strong>,
+			<strong>image button</strong>, <strong>form</strong>, <strong>bulleted list</strong>
+			and <strong>numbered list</strong> . </li>
+		<li>The &quot;<strong>Universal Keyboard</strong>&quot; has been converted from version
+			1.6 to this one and it's now available. </li>
+		<li>It is now possible to <strong>configure</strong> the items to be shown in the <strong>
+			context menu</strong> . Just use the FCKConfig.ContextMenu option&nbsp;at fckconfig.js.
+		</li>
+		<li>A new configuration (FillEmptyBlocks)&nbsp;is available to force the editor to <strong>
+			automatically insert a &amp;nbsp;</strong> on empty block elements (p, div, pre,
+			h1, etc...) to avoid differences from the editing and the final result. (Actually,
+			the editor automatically &quot;grows&quot; empty elements to make the user able
+			to enter text on it). Attention: the extra &amp;nbsp; will be added when switching
+			from WYSIWYG to Source View, so the user may see an additional space on empty blocks.
+			(XHTML support must be enabled). </li>
+		<li>It is now possible to configure the <strong>toolbar</strong> to &quot;<strong>break</strong>
+			&quot; between two toolbar strips. Just insert a &quot;/&quot; between then. Take
+			a look at fckconfig.js for a sample. </li>
+		<li>New Language files are available:
+			<ul>
+				<li><strong>Brazilian Portuguese</strong> (by Carlos Alberto Tomatis Loth) </li>
+				<li><strong>Bulgarian</strong> (by Miroslav Ivanov) </li>
+				<li><strong>Esperanto</strong> (by Tim Morley) </li>
+				<li><strong>Galician</strong> (by Fernando Riveiro Lopez) </li>
+				<li><strong>Japanese</strong> ( by Takashi Yamaguchi) </li>
+				<li><strong>Persian</strong> (by Hamed Taj-Abadi) </li>
+				<li><strong>Romanian</strong> (by Adrian Nicoara) </li>
+				<li><strong>Slovak</strong> (by Gabriel Kiss) </li>
+				<li><strong>Thai </strong>(by Audy Charin Arsakit) </li>
+				<li><strong>Turkish</strong> (by Reha Bi&ccedil;er) </li>
+				<li>The Chinese Traditional has been set as the default (zn) instead of zn-tw.</li>
+			</ul>
+		</li>
+		<li>Warning: All toolbar image images have been changed. The &quot;button.&quot; prefix
+			has been removed. If you have your custom skin, please rename your files. </li>
+		<li>A new plugin is available in the package: &quot;<strong>Placeholders</strong>&quot;.
+			In this way you can insert non editable tags in your document to be processed on
+			server side (very specific usage). </li>
+		<li>The ASPX files are no longer available in this package. They have been moved to
+			the FCKeditor.Net package. In this way the ASP.Net integration is much better organized.
+		</li>
+		<li>The FCKeditor.Packager program is now part of the main package. It is not anymore&nbsp;distributed
+			separately. </li>
+		<li>The PHP connector now sets the uploaded file permissions (chmod)&nbsp;to 0777. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1090215&amp;group_id=75348&amp;atid=543655">SF
+			Patch-1090215</a>] It's now possible to give back more info from your custom image
+			browser calling the SetUrl( url [, width] [, height] [, alt] ). Thanks to Ben Noblet.
+		</li>
+		<li>The package files now maintain their original &quot;Last Modified&quot; date, so
+			incremental FTP uploads can be used to update to&nbsp;new versions of the editor
+			(from now on). </li>
+		<li>The &quot;Source&quot; view now forces its contents to be written in &quot;Left
+			to Right&quot; direction even when the editor interface language is running a RTL
+			language (like Arabic, Hebrew or Persian). </li>
+	</ul>
+	<p>
+		Fixed Bugs:</p>
+	<ul>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1124220&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1124220</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1119894&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1119894</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1090986&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1090986</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1100408&amp;group_id=75348&amp;atid=543653">SF
+						BUG-1100408</a>] The editor now works correctly when starting with an
+			empty value and switching to the Source mode. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1119380&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1119380</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1115750&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1115750</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1101808&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1101808</a>] The problem with the scrollbar and the toolbar combos (Style,
+			Font, etc...) over Mac has been fixed. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1098460&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1098460</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1076544&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1076544</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1077845&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1077845</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1092395&amp;group_id=75348&amp;atid=543653">SF
+						BUG-1092395</a>] A new upload class has been included for the ASP File
+			Manager Connector. It uses the &quot;ADODB.Stream&quot; object. Many thanks to &quot;NetRube&quot;.
+		</li>
+		<li>I small correction has been made to the ColdFusion integration files. Thanks to
+			Hendrik Kramer. </li>
+		<li>There was a very specific problem when the editor was running over a FRAME executed
+			on another domain. </li>
+		<li>The performance problem on Gecko while typing&nbsp;quickly has been solved. </li>
+		<li>The &lt;br type= &quot;_moz&quot;&gt;is not anymore shown on XHTML source. </li>
+		<li>It has been introduced a mechanism to avoid automatic contents duplication on very
+			specific occasions (bad formatted HTML). </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1146407&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1146407</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1145800&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1145800</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1118803&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1118803</a> ] Other&nbsp;issues in the XHTML processor have been solved.
+		</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1143969&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1143969</a>] The editor now accepts the &quot;accept-charset&quot; attribute
+			in the FORM tag (IE specific bug). </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1122742&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1122742</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1089548&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1089548</a> ] Now, the contents of the SCRIPT and STYLE tags remain untouched.
+		</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1114748&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1114748</a>] The PHP File Manager Connector now sets the new folders permissions
+			(chmod)&nbsp;to 0777 correctly. </li>
+		<li>The PHP File Manager Connector now has a configuration file (editor/filemanager/browser/default/connectors/php/config.php)
+			to set some security preferences. </li>
+		<li>The&nbsp;ASP File Manager Connector now has a configuration file (editor/filemanager/browser/default/connectors/asp/config.asp)
+			to set some security preferences. </li>
+		<li>A small bug in the toolbar rendering (strips auto position) has been corrected.
+		</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1093732&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1093732</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1091377&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1091377</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1083044&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1083044</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1096307&amp;group_id=75348&amp;atid=543653">SF
+						BUG-1096307</a>] The configurations are now encoded so a user can use
+			values that has special chars (&amp;=/). </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1103688&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1103688</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1092331&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1092331</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1088220&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1088220</a>] PHP samples now use PHP_SELF to automatically discover
+			the editor's base path. </li>
+		<li>Some small wrapping problems with some labels in the Image and Table dialog windows
+			have been fixed. </li>
+		<li>All .js files are now encoded in UTF-8 format with the BOM (byte order mask) to
+			avoid some errors on specific Linux installations. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1114449&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1114449</a>] The editor packager program has been modified so now it is possible
+			to use the source files to run the editor as described in the documentation. The
+			new packager must be downloaded. </li>
+		<li>A small problem with the editor focus while in&nbsp;source&nbsp;mode has been corrected.
+			Thanks to Eric (ric1607). </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1108167&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1108167</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1085149&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1085149</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1151296&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1151296</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1082433&amp;group_id=75348&amp;atid=543653">SF
+						BUG-1082433</a>] No more IFRAMEs without src attribute. Now it points
+			to a blank page located in the editor's package. In this way we avoid security warnings
+			when using the editor over HTTPS. Thanks to Guillermo Bozovich. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1117779&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1117779</a>] The editor now works well if you have more than one element named
+			&quot;submit&quot;&nbsp;on its form (even if it is not correct to have this situation).
+		</li>
+		<li>The XHTML processor was duplicating the text on some specific situation. It has
+			been fixed. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1090213&amp;group_id=75348&amp;atid=543655">SF
+			Patch-1090213</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1098929&amp;group_id=75348&amp;atid=543653">SF
+				Patch-1098929</a>] With ASP, the editor now works correctly on pages using &quot;Option
+			Explicit&quot;. Thanks to Ben Noblet. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1100759&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1100759</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1029125&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1029125</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=966130&amp;group_id=75348&amp;atid=543653">SF
+					BUG-966130</a>] The editor was not working with old IE 5.5 browsers. There
+			was a problem with the XML parser. It has been fixed. </li>
+		<li>The localization engine is now working correctly over IE 5.5 browsers. </li>
+		<li>Some commands where not working well over IE 5.5 (emoticons, image,...). It has
+			been fixed. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1146441&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1146441</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1149777&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1149777</a>] The editor now uses the TEXTAREA id&nbsp;in the ReplaceTextarea
+			function. If the id is now found, it uses the &quot;name&quot;. The docs have been
+			updated. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1144297&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1144297</a>] Some corrections have been made to the Dutch language file. Thanks
+			to Erwin Dondorp. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1121365&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1121365</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1090102&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1090102</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1152171&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1152171</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1102907&amp;group_id=75348&amp;atid=543653">SF
+						BUG-1102907</a>] There is no problem now to start the editor with values
+			like &quot;&lt;div&gt;&lt;/div&gt;&quot; or &quot;&lt;p&gt;&lt;/p&gt;&quot;. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1114059&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1114059</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1041861&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1041861</a>] The click on the disabled options in the Context Menu has no
+			effects now. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1152617&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1152617</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1102441&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1102441</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1095312&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1095312</a>] Some problems when setting the editor source to very specific
+			values has been fixed. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1093514&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1093514</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1089204&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1089204</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1077609&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1077609</a>] The editor now runs correctly if called directly (locally)&nbsp;without
+			a server installation (just opening the HTML sample files). </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1088248&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1088248</a>] The editor now uses a different method to load its contents. In
+			this way the URLs remain untouched. </li>
+		<li>The PHP integration file now detects Internet Explorer 5.5 correctly.</li>
+	</ul>
+	<h3>
+		Version 2.0 RC2 (Release Candidate 2)</h3>
+	<ul>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1042034&amp;group_id=75348&amp;atid=543656">SF
+			Feature-1042034</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1075961&amp;group_id=75348&amp;atid=543656">SF
+				Feature-1075961</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1083200&amp;group_id=75348&amp;atid=543656">SF
+					Feature-1083200</a>] A new dialog window for the <strong>table cell properties</strong>
+			is now available (right-click). </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1042034&amp;group_id=75348&amp;atid=543656">SF
+			Feature-1042034</a>] The new &quot;<strong>Split Cell</strong> &quot;, to split
+			a table cell in two columns, has been introduced (right-click). </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1042034&amp;group_id=75348&amp;atid=543656">SF
+			Feature-1042034</a>] The new &quot;<strong>Merge Cells</strong>&quot;, to merge
+			table cells (in the same row), has been introduced (right-click). </li>
+		<li>The &quot;fake&quot; <strong>TAB key support</strong> (available by default over
+			Gecko browsers is now available over IE too. You can set the number of spaces to
+			add setting the FCKConfig.TabSpaces configuration setting. Set it to 0 (zero) to
+			disable this feature (IE). </li>
+		<li>It now possible to tell IE to send a <strong>&lt;BR&gt;</strong> when the user presses
+			the <strong>Enter key</strong>. Take a look at the FCKConfig.UseBROnCarriageReturn
+			configuration setting. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1085422&amp;group_id=75348&amp;atid=543656">SF
+			Feature-1085422</a>] <strong>ColdFusion</strong>: The <strong>File Manager connector</strong>
+			is now available! (Thanks to Hendrik Kramer). </li>
+		<li>The editor is now available in <strong>29 languages!</strong> The new language files
+			available are:&nbsp;
+			<ul>
+				<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1067775&amp;group_id=75348&amp;atid=543656">SF
+					Feature-1067775</a>] <strong>Chinese Simplified and Traditional</strong> (Taiwan
+					and Hong Kong) (by NetRube). </li>
+				<li><strong>Czech</strong> (by David Hor&aacute;k). </li>
+				<li><strong>Danish</strong> (by Jesper Michelsen). </li>
+				<li><strong>Dutch</strong> (by Bram Crins). </li>
+				<li><strong>German</strong> (by Maik Unruh). </li>
+				<li><strong>Portuguese</strong> (Portugal) (by Francisco Pereira). </li>
+				<li><strong>Russian</strong> (by Andrey Grebnev). </li>
+				<li><strong>Slovenian</strong> (by Boris Volaric).</li>
+			</ul>
+		</li>
+		<li>Updates to the <strong>French</strong> language files (by Hubert Garrido). </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1085816&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1085816</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1083743&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1083743</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1078783&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1078783</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1077861&amp;group_id=75348&amp;atid=543653">SF
+						BUG-1077861</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1077861&amp;group_id=75348&amp;atid=543653">SF
+							BUG-1037404</a>] Many&nbsp;small bugs&nbsp;in the XHTML processor
+			has been corrected (workarounds to browser specific bugs). These are some things
+			to consider regarding the changes:
+			<ul>
+				<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1083744&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1083744</a>] On Gecko browsers, any element attribute that the name starts with
+					&quot;_moz&quot; will be ignored. </li>
+				<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1060073&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1060073</a>] The &lt;STYLE&gt; and &lt;SCRIPT&gt; elements contents will be
+					handled as is, without CDATA tag surrounding. This may break XHTML validation. In
+					any case the use of external files for scripts and styles is recommended (W3C recommendation).</li>
+			</ul>
+		</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1088310&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1088310</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1078837&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1078837</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=999792&amp;group_id=75348&amp;atid=543653">SF
+					BUG-999792</a>] URLs now remain untouched when initializing the editor or
+			switching from WYSYWYG to Source and vice versa. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1082323&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1082323</a>] The&nbsp;problem in the ASP and PHP connectors when handling non
+			&quot;strange&quot; chars in file names has been corrected. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1085034&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1085034</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1076796&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1076796</a>] Some bugs in the PHP connector have been corrected. </li>
+		<li>A&nbsp;problem with the &quot;Format&quot; command on IE browsers on languages different
+			of English has been solved. The negative side of this correction is that due to
+			a IE bad design it is not possible to update the &quot;Format&quot; combo while
+			moving throw the text (context sensitive). </li>
+		<li>On Gecko browsers, when selecting an image and executing the &quot;New Page&quot;
+			command, the image handles still appear, even if the image is not available anymore
+			(this is a Gecko bug). When clicking in&nbsp;a &quot;phanton&quot; randle, the browser
+			crashes. It doesn't&nbsp;happen (the crash)&nbsp;anymore. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1082197&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1082197</a>] On ASP, the bug in the browser detection system for Gecko browsers
+			has been corrected. Thanks to Alex Varga. </li>
+		<li>Again on ASP, the browser detection for IE had some problems on servers that use
+			comma for decimal separators on numbers. It has been corrected. Thanks to Agrotic.
+		</li>
+		<li>No error is thrown now when&nbsp;non existing&nbsp;language is configured in the
+			editor. The English language file is loaded in that case. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1077747&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1077747</a>] The missing images on the Office2003 and Silver skins are now included
+			in the package. </li>
+		<li>On some Gecko browsers, the dialog window was not loading correctly. I couldn't
+			reproduce the problem, but a fix has been applied based on users tests. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1004078&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1004078</a>] ColdFusion: The &quot;config&quot; structure/hash table with keys
+			and values is in ColdFusion not(!) case sensitive. All keys returned by ColdFusion
+			are in upper case format. Because the FCKeditor configuration keys must be case
+			sensitive, we had to match all structure/hash keys with a list of the correct configuration
+			names in mixed case. This has been added to the fckeditor.cfc and fckeditor.cfm.
+		</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1075166&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1075166</a>] ColdFusion: The &quot;fallback&quot; variant of the texteditor
+			(&lt;textarea&gt;) has a bug in the fckeditor.cfm. This has been fixed. </li>
+		<li>A typo in the Polish language file has been corrected. Thanks to Pawel Tomicki.
+		</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1086370&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1086370</a>] A small coding type in the Link dialog window has been corrected.
+		</li>
+	</ul>
+	<h3>
+		Version 2.0 RC1 (Release Candidate 1)</h3>
+	<ul>
+		<li><strong>ASP</strong> support is now available (including the&nbsp;File Manager connector).
+		</li>
+		<li><strong>PHP</strong> support is now available (including the File Manager connector).
+		</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1063217&amp;group_id=75348&amp;atid=543656">SF
+			Feature-1063217</a>] The new advanced&nbsp;<strong>Style</strong> command is available
+			in the toolbar: full preview, context sensitive, style definitions are loaded from
+			a XML file (see documentation for more instructions). </li>
+		<li>The <strong>Font Format</strong>, <strong>Font Name</strong> and <strong>Font Size</strong>
+			toolbar command now show a <strong>preview</strong> of the available options. </li>
+		<li>The new <strong>Find</strong> and <strong>Replace</strong> features has been introduced.
+		</li>
+		<li>A new <strong>Plug-in</strong> system has been developed. Now it is quite easy to
+			customize the editor to your needs. (Take a look at the html/sample06.html file).
+		</li>
+		<li>The editor now handles <strong>HTML entities</strong> in the right way (XHTML support
+			must be set to &quot;true&quot;). It handles all entities defined in the W3C&nbsp;XHTML
+			DTD file. </li>
+		<li>A new &quot;_docs&quot; folder has been introduced for the <strong>documentation</strong>.
+			It is not yet complete, but I hope the community will help us to fill it better.
+		</li>
+		<li>It is now possible (even if it is not recommended by the W3C) to force the use of
+			simple ampersands (&amp;) on attributes (like the links href) instead of its entity
+			&amp;amp;. Just set FCKConfig.ForceSimpleAmpersand = true in the&nbsp;configuration
+			file. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1026866&amp;group_id=75348&amp;atid=543656">SF
+			Feature-1026866</a>] The &quot;<strong>EditorAreaCSS</strong>&quot; configuration
+			option has been introduced. In this way you can set the CSS to use in the editor
+			(editable area). </li>
+		<li>The editing area is not anymore clipped if the toolbar is too large and exceeds
+			the window width. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1064902&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1064902</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1033933&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1033933</a>] The editor <strong>interface</strong> is now completely <strong>localizable</strong>.
+			The version ships with 19 languages including: <b>Arabic</b>, <b>Bosnian</b>, <b>Catalan</b>,
+			<b>English</b>, <b>Spanish</b>, <b>Estonian</b>, <b>Finnish</b>, <b>French</b>,
+			<b>Greek</b>, <b>Hebrew</b>, <b>Croatian</b>, <b>Italian</b>, <b>Korean</b>, <b>Lithuanian</b>,
+			<b>Norwegian</b>, <strong>Polish</strong>, <strong>Serbian (Cyrillic)</strong>,
+			<strong>Serbian (Latin)</strong> and <strong>Swedish</strong>.</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1027858&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1027858</a>] Firefox 1.0 PR&nbsp;introduced&nbsp;a bug that made the editor
+			stop working on it. A workaround has been developed to fix the problem. </li>
+		<li>There was a positioning problem over IE&nbsp;with the color panel. It has been corrected.
+		</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1049842&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1049842</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1033832&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1033832</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1028623&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1028623</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1026610&amp;group_id=75348&amp;atid=543653">SF
+						BUG-1026610</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1064498&amp;group_id=75348&amp;atid=543653">SF
+							BUG-1064498</a>] The combo commands in the toolbar were not opening
+			in the right way. It has been fixed. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1053399&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1053399</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=965318&amp;group_id=75348&amp;atid=543653">SF
+				BUG-965318</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1018296&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1018296</a>] The toolbar buttons icons were not showing on some IE and
+			Firefox/Mac installations. It has been fixed. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1054621&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1054621</a>] Color pickers are now working with the &quot;office2003&quot; and
+			&quot;silver&quot; skins. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1054108&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1054108</a>] IE doesn&rsquo;t recognize the &quot;&amp;apos;&quot; entity for
+			apostrophes, so a workaround has been developed to replace it with &quot;&amp;#39;&quot;
+			(its numeric entity representation). </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=983434&amp;group_id=75348&amp;atid=543653">SF
+			BUG-983434</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=983398&amp;group_id=75348&amp;atid=543653">SF
+				BUG-983398</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1028103&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1028103</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1072496&amp;group_id=75348&amp;atid=543653">SF
+						BUG-1072496</a>] The problem with elements with name &quot;submit&quot;
+			inside the editor's form has been solved. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1018743&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1018743</a>] The problem with Gecko when collapsing the toolbar while in source
+			mode has been fixed. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&amp;atid=543653&amp;aid=1065268&amp;group_id=75348">SF
+			BUG-1065268</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1034354&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1034354</a>] The XHTML processor now doesn&rsquo;t use the minimized tag
+			syntax (like &lt;br/&gt;) for empty elements that are not marked as EMPTY in the
+			W3C XHTML DTD specifications. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1029654&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1029654</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1046500&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1046500</a>] Due to a bug on Gecko there was a problem when creating links.
+			It has been fixed. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1065973&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1065973</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=999792&amp;group_id=75348&amp;atid=543653">SF
+				BUG-999792</a>] The editor now handles relative URLs in IE. In effect IE transform
+			all relative URLs to absolute links, pointing to the site the editor is running.
+			So now the editor removes the protocol and host part of the link if it matches the
+			running server. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1071824&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1071824</a>] The color dialog box bug has been fixed. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1052856&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1052856</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1046493&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1046493</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1023530&amp;group_id=75348&amp;atid=543653">SF
+					BUG-1023530</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1025978&amp;group_id=75348&amp;atid=543653">SF
+						BUG-1025978</a>] The editor now doesn&rsquo;t throw an error if no selection
+			was made and the create link command is used. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1036756&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1036756</a>] The XHTML processor has been reviewed. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1029101&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1029101</a>] The Paste from Word feature is working correctly. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1034623&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1034623</a>] There is an IE bug when setting the editor value to &quot;&lt;p&gt;&lt;hr&gt;&lt;/p&gt;&quot;.
+			A workaround has been developed. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1052695&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1052695</a>] There are some rendering differences between Netscape and Mozilla.
+			(Actually that is a bug on both browsers). A workaround has been developed to solve
+			it. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1073053&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1073053</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1050394&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1050394</a>] The editor doesn&rsquo;t throw errors when hidden. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1066321&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1066321</a>] Scrollbars should not appear on dialog boxes (at least for the
+			Image and Link ones). </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1046490&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1046490</a>] Dialogs now are forced to show on foreground over Mac. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&amp;atid=543653&amp;aid=1073955&amp;group_id=75348">SF
+			BUG-1073955</a>] A small bug in the image dialog window has been corrected. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1049534&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1049534</a>] The Resources Browser window is now working well over Gecko browsers.
+		</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1036675&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1036675</a>] The Resources Browser window now displays the server error on bad
+			installations.</li>
+	</ul>
+	<h3>
+		Version 2.0 Beta 2</h3>
+	<ul>
+		<li>There is a new configuration - &quot;<strong>GeckoUseSPAN</strong>&quot; - that
+			can be used to tell Gecko browsers to use &lt;SPAN style...&gt; or &lt;B&gt;, &lt;I&gt;
+			and &lt;U&gt; for the bold, italic and underline commands. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1002622&amp;group_id=75348&amp;atid=543656">SF
+			Feature-1002622</a>] New <strong>Text Color</strong> and&nbsp;<strong>Background Color</strong>
+			&nbsp;commands have been added to the editor. </li>
+		<li>On Gecko browsers, a message is shown when,&nbsp;because of&nbsp;security settings,&nbsp;the
+			user&nbsp;is not able to&nbsp;cut, copy or paste data from the clipboard using the
+			toolbar buttons or the context menu. </li>
+		<li>The new &quot;<strong>Paste as Plain Text</strong> &quot; command has been introduced.
+		</li>
+		<li>The new &quot;<strong>Paste from Word</strong> &quot; command has been introduced.
+		</li>
+		<li>A new configuration named&nbsp;&quot;StartupFocus&quot; can be used to tell the
+			editor to get the focus when the page is loaded. </li>
+		<li>All <strong>Java </strong>integration files has been moved to a new separated package.
+		</li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1016781&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1016781</a>] <strong>Table operations</strong> are now working when right click
+			inside a table. The following commands has been introduced: <strong>Insert Row</strong>,
+			<strong>Delete Row</strong>, <strong>Insert Column</strong>, <strong>Delete Column</strong>,
+			<strong>Insert Cell</strong> and <strong>Delete Cells</strong> . </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=965067&amp;group_id=75348&amp;atid=543653">SF
+			BUG-965067</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1010379&amp;group_id=75348&amp;atid=543653">SF
+				BUG-1010379</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=977713&amp;group_id=75348&amp;atid=543653">SF
+					BUG-977713</a>] XHTML support was not working with FireFox, blocking the
+			editor when submitting data. It has been fixed. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1007547&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1007547</a> ] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=974595&amp;group_id=75348&amp;atid=543653">SF
+				BUG-974595</a> ]&nbsp;The &quot;FCKLang not defined&quot; error when loading
+			has been fixed. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1021028&amp;group_id=75348&amp;atid=543653">SF
+			BUG-1021028</a>] If the editor doesn't have the focus, some commands were been executed
+			outside the editor in the place where the focus is. It has been fixed. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=981191&amp;group_id=75348&amp;atid=543653">SF
+			BUG-981191</a>] We are now using &lt;!--- ---&gt; for ColdFusion comments.</li>
+	</ul>
+	<h3>
+		Version 2.0 Beta 1</h3>
+	<p>
+		This is the first beta of the 2.x series. It brings a lot of new and important things.
+		Beta versions will be released until all features available on version 1.x will
+		be introduced in the 2.0.<br />
+		<br />
+		<strong>Note:</strong> As it is a beta, it is not yet completely developed. Future
+		versions can bring new features that can break backward compatibility with this
+		version.
+	</p>
+	<ul>
+		<li>Gecko browsers (<strong>Mozilla</strong> and <strong>Netscape</strong>) support.
+		</li>
+		<li><strong>Quick startup</strong> response times. </li>
+		<li>Complete <strong>XHTML</strong> 1.0 support. </li>
+		<li><strong>Advanced link</strong> dialog box:
+			<ul>
+				<li>Target selection. </li>
+				<li>Popup configurator. </li>
+				<li>E-Mail link. </li>
+				<li>Anchor selector. </li>
+			</ul>
+		</li>
+		<li>New <strong>File Manager</strong>. </li>
+		<li>New dialog box system, with <strong>tabbed dialogs</strong> support. </li>
+		<li>New <strong>context menus</strong> with icons. </li>
+		<li>New toolbar with &quot;expand/collapse&quot; feature. </li>
+		<li><strong>Skins</strong> support. </li>
+		<li><strong>Right to left languages</strong> support. </li>
+	</ul>
+	<h3>
+		Version 1.6.1</h3>
+	<ul>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=862364&amp;group_id=75348&amp;atid=543653">SF
+			BUG-862364</a>] [<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=812733&amp;group_id=75348&amp;atid=543653">SF
+				BUG-812733</a>] There was a problem when the user tried to delete the last row,
+			collumn or cell in a table. It has been corrected.* </li>
+		<li>New Estonian language file. Thanks to Kristjan Kivikangur </li>
+		<li>New Croatian language file. Thanks to Alex Varga. </li>
+		<li>Updated language file for Czech. Thanks to Plachow. </li>
+		<li>Updated language file for Chineze (zh-cn). Thanks to Yanglin. </li>
+		<li>Updated language file for Catalan. Thanks to Jordi Cerdan.</li>
+	</ul>
+	<p>
+		* This version has been partially sponsored by <a href="http://www.genuitec.com/">Genuitec,
+			LLC</a>.</p>
+	<h3>
+		Version 1.6</h3>
+	<ul>
+		<li><strong>Context Menu</strong> support for <strong>form</strong> elements.* </li>
+		<li>New <strong>&quot;Selection Field&quot; command</strong> with advanced dialog box
+			for options definitions.* </li>
+		<li>New <strong>&quot;Image Button&quot; command</strong> is available.* </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=936196&amp;group_id=75348&amp;atid=543656">SF
+			Feature-936196</a>] Many form elements <strong>bugs has been fixed</strong> and
+			<strong>many improvements</strong> has been done.* </li>
+		<li>New <strong>Java Integration Module</strong>. There is a complete Java API and Tag
+			Library implementations. Take a look at the _jsp directory. Thanks to Simone Chiaretta
+			and Hao Jiang. </li>
+		<li>The <strong>Word Spell Checker</strong> can be used. To be able to run it, your
+			browser security configuration &quot;Initialize and script ActiveX controls not
+			marked as safe&quot; must be set to &quot;Enable&quot; or &quot;Prompt&quot;. And
+			easier and more secure way to do that is to add your site in the list of trusted
+			sites. IeSpell can still be used. Take a look at the fck_config.js file for some
+			configuration options. Thanks to EdwardRF. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=748807&amp;group_id=75348&amp;atid=543656">SF
+			Feature-748807</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=801030&amp;group_id=75348&amp;atid=543656">SF
+				Feature-801030</a>] [<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=880684&amp;group_id=75348&amp;atid=543656">SF
+					Feature-880684</a>] New &quot;<strong>Anchor&quot; command</strong>, including
+			context menu support. Thanks to G.Meijer. </li>
+		<li>Special characters are replaced with their decimal HTML entities when the XHMTL
+			support is enabled (only over IE5.5+). </li>
+		<li>New <strong>Office 2003 Style</strong> toolbar icons are available. Just uncomment
+			the config.ToolbarImagesPath key in the fck_config.js file. Thanks to Abdul-Aziz
+			A. Al-Oraij. <strong>Attention</strong>: the default toolbar items have been moved
+			to the &quot;images/toolbar/default&quot; directory. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=934566&amp;group_id=75348&amp;atid=543655">SF
+			Patch-934566</a>] <strong>Double click support</strong> for Images, Tables, Links,
+			Anchors and all Form elements. Thanks to Top Man. </li>
+		<li>New <strong>&quot;New Page&quot; command</strong> to start a typing from scratch.
+			Thanks to Abdul-Aziz A. Al-Oraij. </li>
+		<li>New <strong>&quot;Replace&quot; command</strong>. Thanks to Abdul-Aziz A. Al-Oraij.
+		</li>
+		<li>New <strong>&quot;Advanced Font Style&quot; command</strong>. Thanks to Abdul-Aziz
+			A. Al-Oraij. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=738193&amp;group_id=75348&amp;atid=543656">SF
+			Feature-738193</a>] New <strong>&quot;Save&quot; command</strong>. It can be used
+			to simulate a save action, but in fact it just submits the form where the editor
+			is placed in. Thanks to Abdul-Aziz A. Al-Oraij. </li>
+		<li>New <strong>&quot;Universal Keyboard&quot; command</strong>. This 22 charsets are
+			available: Arabic, Belarusian, Bulgarian, Croatian, Czech, Danish, Finnish, French,
+			Greek, Hebrew, Hungarian, Diacritical, Macedonian, Norwegian, Polish, Russian, Serbian
+			(Cyrillic), Serbian (Latin), Slovak, Spanish, Ukrainian and Vietnamese. Includes
+			a keystroke listener to type Arabic on none Arabic OS or machine. Thanks to Abdul-Aziz
+			A. Al-Oraij. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=935358&amp;group_id=75348&amp;atid=543655">SF
+			Patch-935358</a>] New <strong>&quot;Preview&quot; command</strong>. Context menu
+			option is included and can be deactivated throw the config.ShowPreviewContextMenu
+			configuration. Thanks to Ben Ramsey. </li>
+		<li>New &quot;<strong>Table Auto Format</strong>&quot; context menu command. Hack a
+			little the fck_config.js and the fck_editorarea.css files. Thanks to Alexandros
+			Lezos. </li>
+		<li>New &quot;<strong>Bulleted List Properties</strong> &quot; context menu to define
+			its type and class. Thanks to Alexandros Lezos. </li>
+		<li>The <strong>image dialog</strong> box has been a <strong>redesigned</strong> . Thanks
+			to Mark Fierling. </li>
+		<li>Images now always have the <strong>&quot;alt&quot; attribute</strong> set, even
+			when it's value is empty. Thanks to Andreas Barnet. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=942250&amp;group_id=75348&amp;atid=543655">SF
+			Patch-942250</a>] You can set on fck_config.js to <strong>automatically clean Word</strong>
+			pasting operations without a user confirmation. </li>
+		<li>Forms element dialogs and other localization pending labels has been updated. </li>
+		<li>A new <strong>Lithuanian</strong> language file is available. Thanks to Tauras Paliulis.
+		</li>
+		<li>A new <strong>Hebrew</strong> language file is available. Thanks to Ophir Radnitz.
+		</li>
+		<li>A new <strong>Serbian</strong> language file is available. Thanks to Zoran Subic.
+		</li>
+		<li><strong>Danish</strong> language file updates. Thanks to Flemming Jensen. </li>
+		<li><strong>Catalan</strong> language file updates. Thanks to Jordi Cerdan. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=936514&amp;group_id=75348&amp;atid=543655">SF
+			Patch-936514</a>] [<a href="https://sourceforge.net/tracker/?func=detail&amp;atid=543653&amp;aid=918716&amp;group_id=75348">SF
+				BUG-918716</a>] [<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=931037&amp;group_id=75348&amp;atid=543653">SF
+					BUG-931037</a>] [<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=865864&amp;group_id=75348&amp;atid=543653">SF
+						BUG-865864</a>] [<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=915410&amp;group_id=75348&amp;atid=543653">SF
+							BUG-915410</a>] [<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=918716&amp;group_id=75348&amp;atid=543653">SF
+								BUG-918716</a>] Some <strong>languages files</strong> were not
+			saved on <strong>UTF-8</strong> format causing some javascript errors on loading
+			the editor or making &quot;undefined&quot; to show on editor labels. This problem
+			was solved. </li>
+		<li>Updates on the testsubmit.php file. Thanks to Geat and Gabriel Schillaci </li>
+		<li>[<a href="https://sourceforge.net/tracker/?func=detail&amp;atid=543653&amp;aid=924620&amp;group_id=75348">SF
+			BUG-924620</a>] There was a problem when setting a name to an editor instance when
+			the name is used by another tag. For example when using &quot;description&quot;
+			as the name in a page with the &lt;META name=&quot;description&quot;&gt; tag. </li>
+		<li>[<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=935018&amp;group_id=75348&amp;atid=543653">SF
+			BUG-935018</a>] The &quot;buletted&quot; typo has been corrected. </li>
+		<li>[<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=902122&amp;group_id=75348&amp;atid=543653">SF
+			BUG-902122</a>] Wrong css and js file references have been corrected. </li>
+		<li>[<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=918942&amp;group_id=75348&amp;atid=543653">SF
+			BUG-918942</a>] All dialog boxes now accept Enter and Escape keys as Ok and Cancel
+			buttons.</li>
+	</ul>
+	<p>
+		* This version has been partially sponsored by <a href="http://www.genuitec.com/">Genuitec,
+			LLC</a>.</p>
+	<h3>
+		Version 1.5</h3>
+	<ul>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&amp;atid=543656&amp;aid=913777&amp;group_id=75348">SF
+			Feature-913777</a>] <strong>New Form Commands</strong> are now available! Special
+			thanks to G.Meijer. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=861149&amp;group_id=75348&amp;atid=543656">SF
+			Feature-861149</a>] <strong>Print Command</strong> is now available! </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&amp;atid=543653&amp;aid=743546&amp;group_id=75348">SF
+			BUG-743546</a>] The <strong>XHTML content duplication problem </strong>has been
+			<strong>solved</strong> . Thanks to Paul Hutchison. </li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&amp;atid=543653&amp;aid=875853&amp;group_id=75348">SF
+			BUG-875853</a>] The <strong>image dialog box</strong> now gives precedence for width
+			and height values set as styles. In this way a user can change the size of the image
+			directly inside the editor and the changes will be reflected in the dialog box.
+		</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&amp;atid=543656&amp;aid=913777&amp;group_id=75348">SF
+			Feature-788368</a>] The sample <strong>file upload </strong>manager for ASPX now
+			uses <strong>guids</strong> for the file name generation. In this way a support
+			XML file is not needed anymore. </li>
+		<li>It's possible now to <strong>programmatically change the Base Path</strong> of the
+			editor if it's installed in a directory different of &quot;/FCKeditor/&quot;. Something
+			like this:<br />
+			oFCKeditor.BasePath = '/FCKeditor/' ;<br />
+			Take a look at the _test directory for samples. </li>
+		<li>There was a little bug in the TAB feature that moved the insertion point if there
+			were any object (images, tables) in the content. It has been fixed. </li>
+		<li>The problem with <strong>accented and international characters</strong> on the PHP
+			test page was solved. </li>
+		<li>A new <strong>Chinese (Taiwan)</strong> language file is available. Thanks to Nil.
+		</li>
+		<li>A new <strong>Slovenian</strong> language file is available. Thanks to Pavel Rotar.
+		</li>
+		<li>A new <strong>Catalan</strong> language file is available. Thanks to Jordi Cerdan.
+		</li>
+		<li>A new <strong>Arabic</strong> language file is available. Thanks to Abdul-Aziz A.
+			Al-Oraij. </li>
+		<li>Small corrections on the <strong>Norwegian</strong> language file. </li>
+		<li>A Java version for the test results (testsubmit.jsp) is now available. Thanks to
+			Pritpal Dhaliwal. </li>
+		<li>When using JavaScript to create a editor instance it's possible now to easily get
+			the editor's value calling oFCKeditor.GetValue() (eg.). Better JavaScript API interfaces
+			will be available on version 2.0. </li>
+		<li>If <strong>XHTML</strong> is enabled the editor cleans the HTML before showing it
+			on the Source View, so the exact result can be viewed by the user. This option can
+			be activated setting config.EnableSourceXHTML = true in the fck_config.js file.
+		</li>
+		<li>The <strong>JS integration object</strong> now escapes all configuration settings,
+			in this way a user can use <strong>reserved chars</strong> on it. For example:
+			<br />
+			oFCKeditor.Config[&quot;ImageBrowserURL&quot;] = '/imgs/browse.asp?filter=abc*.jpg&amp;userid=1';
+		</li>
+		<li>A minimal browse server sample is now available in ASP. Thanks to Andreas Barnet.
+		</li>
+	</ul>
+	<h3>
+		Version 1.4</h3>
+	<ul>
+		<li><strong>ATTENTION: For PHP users</strong>: The editor was changed and now uses <strong>
+			htmlspecialchars</strong> instead of <strong>htmlentities</strong> when handling
+			the initial value. It should works well, but please make some tests before upgrading
+			definitively. If there is any problem just uncomment the line in the fckeditor.php
+			file (and send me a message!). </li>
+		<li>The editor is now integrated with <strong>ieSpell</strong> (<a href="http://www.iespell.com">http://www.iespell.com</a>)
+			for <strong>Spell Checking</strong>. You can configure the download URL in then
+			fck_config.js file. Thanks to Sanjay Sharma. (ieSpell is free for personal use but
+			must be paid for commercial use) </li>
+		<li><strong>Table</strong> and <strong>table cell</strong> dialogs has been changed.
+			Now you can <strong>select the class</strong> you want to be applied. Thanks to
+			Alexander Lezos. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=865378&amp;group_id=75348&amp;atid=543656">SF
+			Feature-865378</a>]A new <strong>upload support is available for ASP</strong>. It
+			uses the /UserImages/ folder in the root of the web site as the files container
+			and a counter controlled by the upload.cnt file. Both must have write permissions
+			set to the IUSR_xxx user. Thanks to Trax and Juanjo. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=798128&amp;group_id=75348&amp;atid=543655">SF
+			Patch-798128</a>] The user (programmer) can now define a <strong>custom separator</strong>
+			for the list items of a combo in the toolbar. Thanks to Wulff D. Heiss. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=741963&amp;group_id=75348&amp;atid=543656">SF
+			Feature-741963</a>][<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=878941&amp;group_id=75348&amp;atid=543656">SF
+				Feature-878941</a>][<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=869389&amp;group_id=75348&amp;atid=543655">SF
+					Patch-869389</a>] A minimal support for a &ldquo;fake&rdquo; <strong>TAB is now available</strong>,
+			even if HTML has no support for TAB. Now when the user presses the TAB key a configurable
+			number of spaces (&amp;nbsp;) is added. Take a look at config.TabSpaces on the fck_config.js
+			file. No action is performed if it is set to zero. The default value is 4. Thanks
+			to Phil Hassey. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=782779&amp;group_id=75348&amp;atid=543653">SF
+			BUG-782779</a>][<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=790939&amp;group_id=75348&amp;atid=543653">SF
+				BUG-790939</a>] The problem with big images has been corrected. Thanks to Raver.
+		</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&amp;atid=543653&amp;aid=853374&amp;group_id=75348">SF
+			BUG-862975</a>] Now the editor does nothing if no image is selected in the image
+			dialog box and the OK button is hit. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=851609&amp;group_id=75348&amp;atid=543653">SF
+			BUG-851609</a>] The problem with ASP and null values has been solved. </li>
+		<li><strong>Norwegean</strong> language pack. Thanks to Martin Kronstad. </li>
+		<li><strong>Hungarian</strong> language pack. Thanks to Bal&aacute;zs Szab&oacute;.
+		</li>
+		<li><strong>Bosnian</strong> language pack. Thanks to Trax. </li>
+		<li><strong>Japanese</strong> language pack. Thanks to Kato Yuichiro. </li>
+		<li>Updates on the <strong>Polish</strong> language pack. Thanks to Norbert Neubauer.
+		</li>
+		<li>The <strong>Chinese (Taiwan)</strong> (zh-tw) has been removed from the package
+			because it's corrupt. I'm sorry. I hope someone could send me a good version soon.
+		</li>
+	</ul>
+	<h3>
+		Version 1.3.1</h3>
+	<ul>
+		<li>It's now possible to configure the editor the insert a <strong>&lt;BR&gt; tag instead
+			of &lt;P&gt;</strong> when the user presses the <strong>&lt;Enter&gt;</strong> key.
+			Take a look at the fck_config.js configuration file for the &quot;<strong>UseBROnCarriageReturn</strong>&quot;
+			key. This option is disabled by default. </li>
+		<li><strong>Icelandic</strong> language pack. Thanks to Andri &Oacute;skarsson. </li>
+		<li>[<a href="https://sourceforge.net/tracker/?func=detail&amp;atid=543653&amp;aid=853374&amp;group_id=75348">SF
+			BUG-853374</a>] On IE 5.0 there was a little error introduced with version 1.3 on
+			initialization. It was corrected. </li>
+		<li>[<a href="https://sourceforge.net/tracker/?func=detail&amp;atid=543653&amp;aid=853372&amp;group_id=75348">SF
+			BUG-853372</a>] On IE 5.0 there was a little error introduced with version 1.3 when
+			setting the focus in the editor. It was corrected. </li>
+		<li>Minor errors on the language file for <strong>english</strong> has been corrected.
+			Thanks to Anders Madsen. </li>
+		<li>Minor errors on the language file for <strong>danish</strong> has been corrected.
+			Thanks to Martin Johansen. </li>
+	</ul>
+	<h3>
+		Version 1.3</h3>
+	<ul>
+		<li>Language support for <strong>Danish, Polish, Simple Chinese, Slovak, Swedish and
+			Turkish</strong>. </li>
+		<li>Language updates for <strong>Romanian</strong>. </li>
+		<li>It's now possible to <strong>override</strong> any of the <strong>editor's configurations</strong>
+			(for now it's implemented just for JavaScript, ASPX and HTC modules). See _test/test.html
+			for a sample. I'm now waiting for the Community for the ASP, CFM and PHP versions.
+		</li>
+		<li>A new method is available for <strong>PHP</strong> users. It's called <strong>ReturnFCKeditor</strong>.
+			It works exactly like CreateFCKeditor, but it <strong>returns a string with the HTML</strong>
+			for the editor instead of output it (echo). This feature is useful for people who
+			are working with Smarty Templates or something like that. Thanks to Timothy J. Finucane.
+		</li>
+		<li>Many people have had problems with <strong>international characters</strong> over
+			<strong>PHP</strong>. I had also the same problem. PHP have strange problems with
+			character encoding. The code hasn't been changed but just saved again with Western
+			European encoding. <strong>Now it works well</strong> in my system.<br />
+			Take a look also at the &quot;default_charset&quot; configuration option at the
+			php.ini file. It doesn't seem to be an editor's problem but a PHP issue. </li>
+		<li>The &quot;<strong>testsubmit.php</strong>&quot; file now strips the &quot;<strong>Magic
+			Quotes</strong> &quot; that are automatically added by PHP on form posts. </li>
+		<li>A <strong>new language</strong> integration module is available for <strong>ASP/Jscript</strong>.
+			Thanks to Dimiter Naydenov. </li>
+		<li><strong>New configuration</strong> options are available to <strong>customize the
+			Target</strong> combo box in the <strong>Insert/Modify Link</strong> dialog box.
+			Now you can hide it, or set which options are available in the combo box. Take a
+			look at the fck_config.js file. </li>
+		<li>The <strong>Text as Plain Text</strong> toolbar <strong>icon</strong> has been changed
+			<strong>to avoid confusion</strong> with the Normal Paste or. Thanks to Kaupo Kalda.
+		</li>
+		<li>The file <strong>dhtmled.cab has been removed</strong> from the package. It's not
+			needed to the editor to work and caused some confusion for a few users. </li>
+		<li>The <strong>editor's content</strong> now <strong>doesn't loose the focus</strong>
+			when the user clicks with the mouse in a toolbar button. </li>
+		<li>On <strong>drag-and-drop</strong> operations the data to be inserted in the editor
+			is now <strong>converted to plain text</strong> when the &quot;<strong>ForcePasteAsPlainText</strong>&quot;
+			configuration is set to <strong>true</strong>. </li>
+		<li>The <strong>image browser</strong> sample in PHP now <strong>sorts the files</strong>
+			by name. Thanks to Sergey Lupashko. </li>
+		<li>Two <strong>new configuration</strong> options are available to <strong>turn on/off
+			by default</strong> the &quot;<strong>Show Borders</strong>&quot; and &quot;<strong>Show
+				Details</strong>&quot; commands. </li>
+		<li>Some <strong>characters have been removed</strong> from the &quot;<strong>Insert
+			Special Chars</strong>&quot; dialog box because they were causing encoding problems
+			in some languages. Thanks to Abomb Hua. </li>
+		<li><strong>JSP</strong> versions of the <strong>image and file upload and browsing</strong>
+			features. Thanks to Simone Chiaretta.</li>
+	</ul>
+	<h3>
+		Version 1.2.4</h3>
+	<ul>
+		<li>Language support for <strong>Spanish, Finnish, Romanian and Korean</strong>. </li>
+		<li>Language updates for <strong>German</strong>. </li>
+		<li>New <strong>Zoom</strong> toolbar option. (<a href="https://sourceforge.net/forum/forum.php?thread_id=904116&amp;forum_id=257180">Thanks
+			to &quot;mtn_roadie&quot;</a>)</li>
+	</ul>
+	<h3>
+		Version 1.2.2</h3>
+	<ul>
+		<li>Language support for <strong>French</strong>. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=782779&amp;group_id=75348&amp;atid=543653">SF
+			BUG-782779</a>] Version 1.2 introduced a bug on the image dialog window: when changing
+			the image, no update was done. This bug is now fixed. </li>
+	</ul>
+	<h3>
+		Version 1.2</h3>
+	<ul>
+		<li>Enhancements to the <strong>Word cleaning</strong> feature (Thanks to Karl von Randow).
+		</li>
+		<li>The <strong>Table dialog box</strong> now handles the Style width and height set
+			in the table (Thanks to Roberto Arruda). There where many problems on prior version
+			when people changed manually the table's size, dragging the size handles, and then
+			it was not possible to set a new size using the table dialog box. </li>
+		<li>For the <strong>Image dialog box:</strong>
+			<ul>
+				<li>No image is shown in the preview pane if no image has been set. </li>
+				<li>If no HSpace is set in the image a &quot;-1&quot; value was shown in the dialog
+					box. Now, nothing is shown if the value is negative. </li>
+			</ul>
+		</li>
+		<li>[<a target="_blank" href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=739630&amp;group_id=75348&amp;atid=543653">SF
+			BUG-739630</a>] Image with link lost the link when changing its properties. The
+			problem is solved. </li>
+		<li>Due to some problems in the XHTML cleaning (content duplication when the source
+			HTML is dirty and malformed), the <strong>XHTML support is turned off by default</strong>
+			from this version. You can still change this behavior and turn it on in the configuration
+			file. </li>
+		<li>Some little updates on the <strong>English </strong>language file. </li>
+		<li>A few addition of missing entries on all languages files (translations for these
+			changes are pending). </li>
+		<li>Language files has been added for the following languages:
+			<ul>
+				<li><strong>Brazilian Portuguese</strong> (pt-br) </li>
+				<li><strong>Czech</strong> (cz) </li>
+				<li><strong>Dutch</strong> (nl) </li>
+				<li><strong>Russian</strong> (ru) </li>
+				<li><strong>Chinese (Taiwan)</strong> (zh-tw) </li>
+				<li><strong>Greek</strong> (gr) </li>
+				<li><strong>German</strong> (de)</li>
+			</ul>
+		</li>
+	</ul>
+	<h3>
+		Version 1.1</h3>
+	<ul>
+		<li>The &quot;<strong>Multi Language</strong>&quot; system is now available. This version
+			ships with English and Italian versions completed. Other languages will be available
+			soon. The editor automatically detects the client language and sets all labels,
+			tooltips and dialog boxes to it, if available. The auto detection and the default
+			language can be set in the <strong>fck_config.file</strong>. </li>
+		<li>Two files can now be created to isolate customizations code from the original source
+			code of the editor: <strong>fckeditor.config.js</strong> and <strong>fckeditor.custom.js</strong>.
+			Create these files in the root folder of your web site, if needed. The first one
+			can be used to add or override configurations set on fck_config.js. The second one
+			is used for custom actions and behaviors. </li>
+		<li>A problem with relative links and images like &quot;/test/test.doc&quot; has been
+			solved. In prior versions, only with XHTML support enabled, the URL was changed
+			to something like &quot;http://www.mysite.xxx/test/test.doc&quot; (The domain was
+			automatically added). Now the XHTML cleaning procedure gets the URLs exactly how
+			they are defined in the editor&rsquo;s HTML. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=742168&amp;group_id=75348&amp;atid=543653">SF
+			BUG-742168</a>] Mouse drag and drop from toolbar buttons has been disabled. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=768210&amp;group_id=75348&amp;atid=543653">SF
+			BUG-768210</a>] HTML entities, like <strong>&amp;lt;</strong>, were not load correctly.
+			The problem is solved. </li>
+		<li>[<a target="_blank" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=748812&amp;group_id=75348&amp;atid=543653">SF
+			BUG-748812</a>] The link dialog window doesn't open when the link button is grayed.
+		</li>
+	</ul>
+	<h3>
+		Version 1.0</h3>
+	<ul>
+		<li>Three new options are available in the configuration file to set what file types
+			are allowed / denied to be uploaded from the &quot;Insert Link&quot; and &quot;Insert
+			Image&quot; dialog boxes. </li>
+		<li>Upload options, for links and images, are automatically hidden on IE 5.0 browsers
+			(it's not compatible). </li>
+		<li>[SF BUG-734894] Fixed a problem on XHTML cleaning: the value on INPUT fields were
+			lost. </li>
+		<li>[SF BUG-713797] Fixed some image dialog errors when trying to set image properties
+			when no image is available. </li>
+		<li>[SF BUG-736414] Developed a workaround for a DHTML control bug when loading in the
+			editor some HTML started with &lt;p&gt;&lt;hr&gt;&lt;/p&gt;. </li>
+		<li>[SF BUG-737143] Paste from Word cleaning changed to solve some IE 5.0 errors. This
+			feature is still not available over IE 5.0. </li>
+		<li>[SF BUG-737233] CSS mappings are now OK on the PHP image browser module. </li>
+		<li>[SF BUG-737495] The image preview in the image dialog box is now working correctly.
+		</li>
+		<li>[SF BUG-737532] The editor automatically switches to WYSIWYG mode when the form
+			is posted. </li>
+		<li>[SF BUG-739571] The editor is now working well over Opera (as for Netscape, a TEXTAREA
+			is shown). </li>
+	</ul>
+	<h3>
+		Version 1.0 Final Candidate</h3>
+	<ul>
+		<li>A new dialog box for the &quot;Link&quot; command is available. Now you can upload
+			and browse the server exactly like the image dialog box. It's also possible to define
+			the link title and target window (_blank, _self, _parent and _top). As with the
+			image dialog box, a sample (and simple) file server browser is available. </li>
+		<li>A new configuration option is available to force every paste action to be handled
+			as plain text. See &quot;config.ForcePasteAsPlainText&quot; in fck_config.js. </li>
+		<li>A new Toolbar button is available: &quot;Paste from Word&quot;. It automatically
+			cleans the clipboard content before pasting (removesWord styles, classes, xml stuff,
+			etc...). This command is available for IE 5.5 and more. For IE 5.0 users, a message
+			is displayed advising that the text will not be cleaned before pasting. </li>
+		<li>The editor automatically detects Word clipboard data on pasting operations and asks
+			the user to clean it before pasting. This option is turned on by default but it
+			can be configured. See &quot;config.AutoDetectPasteFromWord&quot; in fck_config.js.
+		</li>
+		<li>Table properties are now available in cells' right click context menu. </li>
+		<li>It's now possible to edit cells advanced properties from it's right click context
+			menu. </li>
+	</ul>
+	<h3>
+		Version 1.0 Release Candidate 1 (RC1)</h3>
+	<ul>
+		<li>Some performance improvements. </li>
+		<li>The file dhtmled.cab has been added to the package for clients ho needs to install
+			the Microsoft DHTML Editor component. </li>
+		<li>[SF BUG-713952] The format command options are localized, so it depends on the IE
+			language to work. Until version 0.9.5 it was working only over English IE browsers.
+			Now the options are load dynamically on the client using the client's language.
+		</li>
+		<li>[SF BUG-712103] The style command is localized, so it depends on the IE language
+			to work. Until version 0.9.5 it was working only over English IE browsers. Now it
+			configures itself using the client's language. </li>
+		<li>[SF BUG-726137] On version 0.9.5, some commands (special chars, image, emoticons,
+			...) remove the next available character before inserting the required content even
+			if no selection was made in the editor. Now the editor replaces only the selected
+			content (if available). </li>
+	</ul>
+	<h3>
+		Version 0.9.5 beta</h3>
+	<ul>
+		<li>XHTML support is now available! It can be enabled/disabled in the fck_config.js
+			file. </li>
+		<li>&quot;Show Table Borders&quot; option: show borders for tables with borders size
+			set to zero. </li>
+		<li>&quot;Show Details&quot; option: show hidden elements (comments, scripts, paragraphs,
+			line breaks) </li>
+		<li>IE behavior integration module. Thanks to Daniel Shryock. </li>
+		<li>&quot;Find&quot; option: to find text in the document. </li>
+		<li>More performance enhancements. </li>
+		<li>New testsubmit.php file. Thansk to Jim Michaels. </li>
+		<li>Two initial PHP upload manager implementations (not working yet). Thanks to Frederic
+			Tyndiuk and Christian Liljedahl. </li>
+		<li>Initial PHP image browser implementation (not working yet). Thanks to Frederic Tyndiuk.
+		</li>
+		<li>Initial CFM upload manager implementation. Thanks to John Watson. </li>
+	</ul>
+	<h3>
+		Version 0.9.4 beta</h3>
+	<ul>
+		<li>ColdFusion module integration is now available! Thanks to John Watson. </li>
+		<li>&quot;Insert Smiley&quot; toolbar option! Thanks to Fredox. Take a look at fck_config.js
+			for configuration options. </li>
+		<li>&quot;Paste as plain text&quot; toolbar option! </li>
+		<li>Right click support for links (edit / remove). </li>
+		<li>Buttons now are shown in gray when disabled. </li>
+		<li>Buttons are shown just when the image is downloaded (no more &quot;red x&quot; while
+			waiting for it). </li>
+		<li>The toolbar background color can be set with a CSS style (see fck_editor.css). </li>
+		<li>Toolbar images have been reviewed:
+			<ul>
+				<li>Now they are transparent. </li>
+				<li>No more over...gif for every button (so the editor loads quicker). </li>
+				<li>Buttons states are controlled with CSS styles. (see fck_editor.css).</li>
+			</ul>
+		</li>
+		<li>Internet Explorer 5.0 compatibility, except for the image uploading popup. </li>
+		<li>Optimizations when loading the editor. </li>
+		<li>[SF BUG-709544] - Toolbar buttons wait for the images to be downloaded to start
+			watching and responding the user actions (turn buttons on/off when the user changes
+			position inside the editor). </li>
+		<li>JavaScript integration is now Object Oriented. CreateFCKeditor function is not available
+			anymore. Take a look in test.html. </li>
+		<li>Two new configuration options, ImageBrowser and ImageUpload, are available to turn
+			on and off the image upload and image browsing options in the Image dialog box.
+			This options can be hidden for a specific editor instance throw specific URL parameter
+			in the editor&rsquo;s IFRAME (upload=true/false&amp;browse=true/false). All specific
+			language integration modules handle this option. For sample see the _test directory.
+		</li>
+	</ul>
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/fckconfig.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/fckconfig.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/fckconfig.js	(revision 1481)
@@ -0,0 +1,331 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Editor configuration settings.
+ *
+ * Follow this link for more information:
+ * http://docs.fckeditor.net/FCKeditor_2.x/Developers_Guide/Configuration/Configuration_Options
+ */
+
+FCKConfig.CustomConfigurationsPath = '' ;
+
+FCKConfig.EditorAreaCSS = FCKConfig.BasePath + 'css/fck_editorarea.css' ;
+FCKConfig.EditorAreaStyles = '' ;
+FCKConfig.ToolbarComboPreviewCSS = '' ;
+
+FCKConfig.DocType = '' ;
+
+FCKConfig.BaseHref = '' ;
+
+FCKConfig.FullPage = false ;
+
+// The following option determines whether the "Show Blocks" feature is enabled or not at startup.
+FCKConfig.StartupShowBlocks = false ;
+
+FCKConfig.Debug = false ;
+FCKConfig.AllowQueryStringDebug = true ;
+
+FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/default/' ;
+FCKConfig.SkinEditorCSS = '' ;	// FCKConfig.SkinPath + "|<minified css>" ;
+FCKConfig.SkinDialogCSS = '' ;	// FCKConfig.SkinPath + "|<minified css>" ;
+
+FCKConfig.PreloadImages = [ FCKConfig.SkinPath + 'images/toolbar.start.gif', FCKConfig.SkinPath + 'images/toolbar.buttonarrow.gif' ] ;
+
+FCKConfig.PluginsPath = FCKConfig.BasePath + 'plugins/' ;
+
+// FCKConfig.Plugins.Add( 'autogrow' ) ;
+FCKConfig.Plugins.Add( 'dragresizetable' );
+FCKConfig.AutoGrowMax = 400 ;
+
+// FCKConfig.ProtectedSource.Add( /<%[\s\S]*?%>/g ) ;	// ASP style server side code <%...%>
+// FCKConfig.ProtectedSource.Add( /(<asp:[^\>]+>[\s|\S]*?<\/asp:[^\>]+>)|(<asp:[^\>]+\/>)/gi ) ;	// ASP.Net style tags <asp:control>
+// FCKConfig.ProtectedSource.Add( /<\?[\s\S]*?\?>/g ) ;	// PHP style server side code
+// FCKConfig.ProtectedSource.Add( /<object[\s|\S]+?<\/object>/gi ) ;
+
+FCKConfig.AutoDetectLanguage	= true ;
+FCKConfig.DefaultLanguage		= 'en' ;
+FCKConfig.ContentLangDirection	= 'ltr' ;
+
+FCKConfig.ProcessHTMLEntities	= true ;
+FCKConfig.IncludeLatinEntities	= true ;
+FCKConfig.IncludeGreekEntities	= true ;
+
+FCKConfig.ProcessNumericEntities = false ;
+
+FCKConfig.AdditionalNumericEntities = ''  ;		// Single Quote: "'"
+
+FCKConfig.FillEmptyBlocks	= true ;
+
+FCKConfig.FormatSource		= true ;
+FCKConfig.FormatOutput		= true ;
+FCKConfig.FormatIndentator	= '    ' ;
+
+FCKConfig.EMailProtection = 'none' ; // none | encode | function
+FCKConfig.EMailProtectionFunction = 'mt(NAME,DOMAIN,SUBJECT,BODY)' ;
+
+FCKConfig.StartupFocus	= false ;
+FCKConfig.ForcePasteAsPlainText	= false ;
+FCKConfig.AutoDetectPasteFromWord = true ;	// IE only.
+FCKConfig.ShowDropDialog = true ;
+FCKConfig.ForceSimpleAmpersand	= false ;
+FCKConfig.TabSpaces		= 0 ;
+FCKConfig.ShowBorders	= true ;
+FCKConfig.SourcePopup	= false ;
+FCKConfig.ToolbarStartExpanded	= true ;
+FCKConfig.ToolbarCanCollapse	= true ;
+FCKConfig.IgnoreEmptyParagraphValue = true ;
+FCKConfig.FloatingPanelsZIndex = 10000 ;
+FCKConfig.HtmlEncodeOutput = false ;
+
+FCKConfig.TemplateReplaceAll = true ;
+FCKConfig.TemplateReplaceCheckbox = true ;
+
+FCKConfig.ToolbarLocation = 'In' ;
+
+FCKConfig.ToolbarSets["Default"] = [
+	['Source','DocProps','-','Save','NewPage','Preview','-','Templates'],
+	['Cut','Copy','Paste','PasteText','PasteWord','-','Print','SpellCheck'],
+	['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
+	['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField'],
+	'/',
+	['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],
+	['OrderedList','UnorderedList','-','Outdent','Indent','Blockquote','CreateDiv'],
+	['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],
+	['Link','Unlink','Anchor'],
+	['Image','Flash','Table','Rule','Smiley','SpecialChar','PageBreak'],
+	'/',
+	['Style','FontFormat','FontName','FontSize'],
+	['TextColor','BGColor'],
+	['FitWindow','ShowBlocks','-','About']		// No comma for the last row.
+] ;
+
+FCKConfig.ToolbarSets["Basic"] = [
+	['Bold','Italic','-','OrderedList','UnorderedList','-','Link','Unlink','-','About']
+] ;
+
+FCKConfig.EnterMode = 'p' ;			// p | div | br
+FCKConfig.ShiftEnterMode = 'br' ;	// p | div | br
+
+FCKConfig.Keystrokes = [
+	[ CTRL + 65 /*A*/, true ],
+	[ CTRL + 67 /*C*/, true ],
+	[ CTRL + 70 /*F*/, true ],
+	[ CTRL + 83 /*S*/, true ],
+	[ CTRL + 84 /*T*/, true ],
+	[ CTRL + 88 /*X*/, true ],
+	[ CTRL + 86 /*V*/, 'Paste' ],
+	[ CTRL + 45 /*INS*/, true ],
+	[ SHIFT + 45 /*INS*/, 'Paste' ],
+	[ CTRL + 88 /*X*/, 'Cut' ],
+	[ SHIFT + 46 /*DEL*/, 'Cut' ],
+	[ CTRL + 90 /*Z*/, 'Undo' ],
+	[ CTRL + 89 /*Y*/, 'Redo' ],
+	[ CTRL + SHIFT + 90 /*Z*/, 'Redo' ],
+	[ CTRL + 76 /*L*/, 'Link' ],
+	[ CTRL + 66 /*B*/, 'Bold' ],
+	[ CTRL + 73 /*I*/, 'Italic' ],
+	[ CTRL + 85 /*U*/, 'Underline' ],
+	[ CTRL + SHIFT + 83 /*S*/, 'Save' ],
+	[ CTRL + ALT + 13 /*ENTER*/, 'FitWindow' ],
+	[ SHIFT + 32 /*SPACE*/, 'Nbsp' ]
+] ;
+
+FCKConfig.ContextMenu = ['Generic','Link','Anchor','Image','Flash','Select','Textarea','Checkbox','Radio','TextField','HiddenField','ImageButton','Button','BulletedList','NumberedList','Table','Form','DivContainer'] ;
+FCKConfig.BrowserContextMenuOnCtrl = false ;
+FCKConfig.BrowserContextMenu = false ;
+
+FCKConfig.EnableMoreFontColors = true ;
+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' ;
+
+FCKConfig.FontFormats	= 'p;h1;h2;h3;h4;h5;h6;pre;address;div' ;
+FCKConfig.FontNames		= 'Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;
+FCKConfig.FontSizes		= 'smaller;larger;xx-small;x-small;small;medium;large;x-large;xx-large' ;
+
+FCKConfig.StylesXmlPath		= FCKConfig.EditorPath + 'fckstyles.xml' ;
+FCKConfig.TemplatesXmlPath	= FCKConfig.EditorPath + 'fcktemplates.xml' ;
+
+FCKConfig.SpellChecker			= 'WSC' ;	// 'WSC' | 'SCAYT' | 'SpellerPages' | 'ieSpell'
+FCKConfig.IeSpellDownloadUrl	= 'http://www.iespell.com/download.php' ;
+FCKConfig.SpellerPagesServerScript = 'server-scripts/spellchecker.php' ;	// Available extension: .php .cfm .pl
+FCKConfig.FirefoxSpellChecker	= false ;
+
+FCKConfig.MaxUndoLevels = 15 ;
+
+FCKConfig.DisableObjectResizing = false ;
+FCKConfig.DisableFFTableHandles = true ;
+
+FCKConfig.LinkDlgHideTarget		= false ;
+FCKConfig.LinkDlgHideAdvanced	= false ;
+
+FCKConfig.ImageDlgHideLink		= false ;
+FCKConfig.ImageDlgHideAdvanced	= false ;
+
+FCKConfig.FlashDlgHideAdvanced	= false ;
+
+FCKConfig.ProtectedTags = '' ;
+
+// This will be applied to the body element of the editor
+FCKConfig.BodyId = '' ;
+FCKConfig.BodyClass = '' ;
+
+FCKConfig.DefaultStyleLabel = '' ;
+FCKConfig.DefaultFontFormatLabel = '' ;
+FCKConfig.DefaultFontLabel = '' ;
+FCKConfig.DefaultFontSizeLabel = '' ;
+
+FCKConfig.DefaultLinkTarget = '' ;
+
+// The option switches between trying to keep the html structure or do the changes so the content looks like it was in Word
+FCKConfig.CleanWordKeepsStructure = false ;
+
+// Only inline elements are valid.
+FCKConfig.RemoveFormatTags = 'b,big,code,del,dfn,em,font,i,ins,kbd,q,samp,small,span,strike,strong,sub,sup,tt,u,var' ;
+
+// Attributes that will be removed
+FCKConfig.RemoveAttributes = 'class,style,lang,width,height,align,hspace,valign' ;
+
+FCKConfig.CustomStyles =
+{
+	'Red Title'	: { Element : 'h3', Styles : { 'color' : 'Red' } }
+};
+
+// Do not add, rename or remove styles here. Only apply definition changes.
+FCKConfig.CoreStyles =
+{
+	// Basic Inline Styles.
+	'Bold'			: { Element : 'strong', Overrides : 'b' },
+	'Italic'		: { Element : 'em', Overrides : 'i' },
+	'Underline'		: { Element : 'u' },
+	'StrikeThrough'	: { Element : 'strike' },
+	'Subscript'		: { Element : 'sub' },
+	'Superscript'	: { Element : 'sup' },
+
+	// Basic Block Styles (Font Format Combo).
+	'p'				: { Element : 'p' },
+	'div'			: { Element : 'div' },
+	'pre'			: { Element : 'pre' },
+	'address'		: { Element : 'address' },
+	'h1'			: { Element : 'h1' },
+	'h2'			: { Element : 'h2' },
+	'h3'			: { Element : 'h3' },
+	'h4'			: { Element : 'h4' },
+	'h5'			: { Element : 'h5' },
+	'h6'			: { Element : 'h6' },
+
+	// Other formatting features.
+	'FontFace' :
+	{
+		Element		: 'span',
+		Styles		: { 'font-family' : '#("Font")' },
+		Overrides	: [ { Element : 'font', Attributes : { 'face' : null } } ]
+	},
+
+	'Size' :
+	{
+		Element		: 'span',
+		Styles		: { 'font-size' : '#("Size","fontSize")' },
+		Overrides	: [ { Element : 'font', Attributes : { 'size' : null } } ]
+	},
+
+	'Color' :
+	{
+		Element		: 'span',
+		Styles		: { 'color' : '#("Color","color")' },
+		Overrides	: [ { Element : 'font', Attributes : { 'color' : null } } ]
+	},
+
+	'BackColor'		: { Element : 'span', Styles : { 'background-color' : '#("Color","color")' } },
+
+	'SelectionHighlight' : { Element : 'span', Styles : { 'background-color' : 'navy', 'color' : 'white' } }
+};
+
+// The distance of an indentation step.
+FCKConfig.IndentLength = 40 ;
+FCKConfig.IndentUnit = 'px' ;
+
+// Alternatively, FCKeditor allows the use of CSS classes for block indentation.
+// This overrides the IndentLength/IndentUnit settings.
+FCKConfig.IndentClasses = [] ;
+
+// [ Left, Center, Right, Justified ]
+FCKConfig.JustifyClasses = [] ;
+
+// The following value defines which File Browser connector and Quick Upload
+// "uploader" to use. It is valid for the default implementaion and it is here
+// just to make this configuration file cleaner.
+// It is not possible to change this value using an external file or even
+// inline when creating the editor instance. In that cases you must set the
+// values of LinkBrowserURL, ImageBrowserURL and so on.
+// Custom implementations should just ignore it.
+var _FileBrowserLanguage	= 'php' ;	// asp | aspx | cfm | lasso | perl | php | py
+var _QuickUploadLanguage	= 'php' ;	// asp | aspx | cfm | lasso | perl | php | py
+
+// Don't care about the following two lines. It just calculates the correct connector
+// extension to use for the default File Browser (Perl uses "cgi").
+var _FileBrowserExtension = _FileBrowserLanguage == 'perl' ? 'cgi' : _FileBrowserLanguage ;
+var _QuickUploadExtension = _QuickUploadLanguage == 'perl' ? 'cgi' : _QuickUploadLanguage ;
+
+FCKConfig.LinkBrowser = true ;
+FCKConfig.LinkBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Connector=' + encodeURIComponent( FCKConfig.BasePath + 'filemanager/connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ) ;
+FCKConfig.LinkBrowserWindowWidth	= FCKConfig.ScreenWidth * 0.7 ;		// 70%
+FCKConfig.LinkBrowserWindowHeight	= FCKConfig.ScreenHeight * 0.7 ;	// 70%
+
+FCKConfig.ImageBrowser = true ;
+FCKConfig.ImageBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Image&Connector=' + encodeURIComponent( FCKConfig.BasePath + 'filemanager/connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ) ;
+FCKConfig.ImageBrowserWindowWidth  = FCKConfig.ScreenWidth * 0.7 ;	// 70% ;
+FCKConfig.ImageBrowserWindowHeight = FCKConfig.ScreenHeight * 0.7 ;	// 70% ;
+
+FCKConfig.FlashBrowser = true ;
+FCKConfig.FlashBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Flash&Connector=' + encodeURIComponent( FCKConfig.BasePath + 'filemanager/connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ) ;
+FCKConfig.FlashBrowserWindowWidth  = FCKConfig.ScreenWidth * 0.7 ;	//70% ;
+FCKConfig.FlashBrowserWindowHeight = FCKConfig.ScreenHeight * 0.7 ;	//70% ;
+// Added for flv support.
+FCKConfig.MediaBrowser = true ;
+FCKConfig.MediaBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Media&Connector=' + encodeURIComponent( FCKConfig.BasePath + 'filemanager/connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ) ;
+FCKConfig.MediaBrowserWindowWidth = FCKConfig.ScreenWidth * 0.7 ; //70% ;
+FCKConfig.MediaBrowserWindowHeight = FCKConfig.ScreenHeight * 0.7 ; //70% ;
+
+FCKConfig.LinkUpload = true ;
+FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager/connectors/' + _QuickUploadLanguage + '/upload.' + _QuickUploadExtension ;
+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
+FCKConfig.LinkUploadDeniedExtensions	= "" ;	// empty for no one
+
+FCKConfig.ImageUpload = true ;
+FCKConfig.ImageUploadURL = FCKConfig.BasePath + 'filemanager/connectors/' + _QuickUploadLanguage + '/upload.' + _QuickUploadExtension + '?Type=Image' ;
+FCKConfig.ImageUploadAllowedExtensions	= ".(jpg|gif|jpeg|png|bmp)$" ;		// empty for all
+FCKConfig.ImageUploadDeniedExtensions	= "" ;							// empty for no one
+
+FCKConfig.FlashUpload = true ;
+FCKConfig.FlashUploadURL = FCKConfig.BasePath + 'filemanager/connectors/' + _QuickUploadLanguage + '/upload.' + _QuickUploadExtension + '?Type=Flash' ;
+FCKConfig.FlashUploadAllowedExtensions	= ".(swf|flv)$" ;		// empty for all
+FCKConfig.FlashUploadDeniedExtensions	= "" ;					// empty for no one
+
+FCKConfig.SmileyPath	= FCKConfig.BasePath + 'images/smiley/msn/' ;
+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'] ;
+FCKConfig.SmileyColumns = 8 ;
+FCKConfig.SmileyWindowWidth		= 320 ;
+FCKConfig.SmileyWindowHeight	= 210 ;
+
+FCKConfig.BackgroundBlockerColor = '#ffffff' ;
+FCKConfig.BackgroundBlockerOpacity = 0.50 ;
+
+FCKConfig.MsWebBrowserControlCompat = false ;
+
+FCKConfig.PreventSubmitHandler = false ;
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/fckeditor.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/fckeditor.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/fckeditor.js	(revision 1481)
@@ -0,0 +1,330 @@
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This is the integration file for JavaScript.
+ *
+ * It defines the FCKeditor class that can be used to create editor
+ * instances in a HTML page in the client side. For server side
+ * operations, use the specific integration system.
+ */
+
+// FCKeditor Class
+var FCKeditor = function( instanceName, width, height, toolbarSet, value )
+{
+	// Properties
+	this.InstanceName	= instanceName ;
+	this.Width			= width			|| '100%' ;
+	this.Height			= height		|| '200' ;
+	this.ToolbarSet		= toolbarSet	|| 'Default' ;
+	this.Value			= value			|| '' ;
+	this.BasePath		= FCKeditor.BasePath ;
+	this.CheckBrowser	= true ;
+	this.DisplayErrors	= true ;
+
+	this.Config			= new Object() ;
+
+	// Events
+	this.OnError		= null ;	// function( source, errorNumber, errorDescription )
+}
+
+/**
+ * This is the default BasePath used by all editor instances.
+ */
+FCKeditor.BasePath = '/fckeditor/' ;
+
+/**
+ * The minimum height used when replacing textareas.
+ */
+FCKeditor.MinHeight = 200 ;
+
+/**
+ * The minimum width used when replacing textareas.
+ */
+FCKeditor.MinWidth = 750 ;
+
+FCKeditor.prototype.Version			= '2.6.5' ;
+FCKeditor.prototype.VersionBuild	= '23959' ;
+
+FCKeditor.prototype.Create = function()
+{
+	document.write( this.CreateHtml() ) ;
+}
+
+FCKeditor.prototype.CreateHtml = function()
+{
+	// Check for errors
+	if ( !this.InstanceName || this.InstanceName.length == 0 )
+	{
+		this._ThrowError( 701, 'You must specify an instance name.' ) ;
+		return '' ;
+	}
+
+	var sHtml = '' ;
+
+	if ( !this.CheckBrowser || this._IsCompatibleBrowser() )
+	{
+		sHtml += '<input type="hidden" id="' + this.InstanceName + '" name="' + this.InstanceName + '" value="' + this._HTMLEncode( this.Value ) + '" style="display:none" />' ;
+		sHtml += this._GetConfigHtml() ;
+		sHtml += this._GetIFrameHtml() ;
+	}
+	else
+	{
+		var sWidth  = this.Width.toString().indexOf('%')  > 0 ? this.Width  : this.Width  + 'px' ;
+		var sHeight = this.Height.toString().indexOf('%') > 0 ? this.Height : this.Height + 'px' ;
+
+		sHtml += '<textarea name="' + this.InstanceName +
+			'" rows="4" cols="40" style="width:' + sWidth +
+			';height:' + sHeight ;
+
+		if ( this.TabIndex )
+			sHtml += '" tabindex="' + this.TabIndex ;
+
+		sHtml += '">' +
+			this._HTMLEncode( this.Value ) +
+			'<\/textarea>' ;
+	}
+
+	return sHtml ;
+}
+
+FCKeditor.prototype.ReplaceTextarea = function()
+{
+	if ( document.getElementById( this.InstanceName + '___Frame' ) )
+		return ;
+	if ( !this.CheckBrowser || this._IsCompatibleBrowser() )
+	{
+		// We must check the elements firstly using the Id and then the name.
+		var oTextarea = document.getElementById( this.InstanceName ) ;
+		var colElementsByName = document.getElementsByName( this.InstanceName ) ;
+		var i = 0;
+		while ( oTextarea || i == 0 )
+		{
+			if ( oTextarea && oTextarea.tagName.toLowerCase() == 'textarea' )
+				break ;
+			oTextarea = colElementsByName[i++] ;
+		}
+
+		if ( !oTextarea )
+		{
+			alert( 'Error: The TEXTAREA with id or name set to "' + this.InstanceName + '" was not found' ) ;
+			return ;
+		}
+
+		oTextarea.style.display = 'none' ;
+
+		if ( oTextarea.tabIndex )
+			this.TabIndex = oTextarea.tabIndex ;
+
+		this._InsertHtmlBefore( this._GetConfigHtml(), oTextarea ) ;
+		this._InsertHtmlBefore( this._GetIFrameHtml(), oTextarea ) ;
+	}
+}
+
+FCKeditor.prototype._InsertHtmlBefore = function( html, element )
+{
+	if ( element.insertAdjacentHTML )	// IE
+		element.insertAdjacentHTML( 'beforeBegin', html ) ;
+	else								// Gecko
+	{
+		var oRange = document.createRange() ;
+		oRange.setStartBefore( element ) ;
+		var oFragment = oRange.createContextualFragment( html );
+		element.parentNode.insertBefore( oFragment, element ) ;
+	}
+}
+
+FCKeditor.prototype._GetConfigHtml = function()
+{
+	var sConfig = '' ;
+	for ( var o in this.Config )
+	{
+		if ( sConfig.length > 0 ) sConfig += '&amp;' ;
+		sConfig += encodeURIComponent( o ) + '=' + encodeURIComponent( this.Config[o] ) ;
+	}
+
+	return '<input type="hidden" id="' + this.InstanceName + '___Config" value="' + sConfig + '" style="display:none" />' ;
+}
+
+FCKeditor.prototype._GetIFrameHtml = function()
+{
+	var sFile = 'fckeditor.html' ;
+
+	try
+	{
+		if ( (/fcksource=true/i).test( window.top.location.search ) )
+			sFile = 'fckeditor.original.html' ;
+	}
+	catch (e) { /* Ignore it. Much probably we are inside a FRAME where the "top" is in another domain (security error). */ }
+
+	var sLink = this.BasePath + 'editor/' + sFile + '?InstanceName=' + encodeURIComponent( this.InstanceName ) ;
+	if (this.ToolbarSet)
+		sLink += '&amp;Toolbar=' + this.ToolbarSet ;
+
+	var html = '<iframe id="' + this.InstanceName +
+		'___Frame" src="' + sLink +
+		'" width="' + this.Width +
+		'" height="' + this.Height ;
+
+	if ( this.TabIndex )
+		html += '" tabindex="' + this.TabIndex ;
+
+	html += '" frameborder="0" scrolling="no"></iframe>' ;
+
+	return html ;
+}
+
+FCKeditor.prototype._IsCompatibleBrowser = function()
+{
+	return FCKeditor_IsCompatibleBrowser() ;
+}
+
+FCKeditor.prototype._ThrowError = function( errorNumber, errorDescription )
+{
+	this.ErrorNumber		= errorNumber ;
+	this.ErrorDescription	= errorDescription ;
+
+	if ( this.DisplayErrors )
+	{
+		document.write( '<div style="COLOR: #ff0000">' ) ;
+		document.write( '[ FCKeditor Error ' + this.ErrorNumber + ': ' + this.ErrorDescription + ' ]' ) ;
+		document.write( '</div>' ) ;
+	}
+
+	if ( typeof( this.OnError ) == 'function' )
+		this.OnError( this, errorNumber, errorDescription ) ;
+}
+
+FCKeditor.prototype._HTMLEncode = function( text )
+{
+	if ( typeof( text ) != "string" )
+		text = text.toString() ;
+
+	text = text.replace(
+		/&/g, "&amp;").replace(
+		/"/g, "&quot;").replace(
+		/</g, "&lt;").replace(
+		/>/g, "&gt;") ;
+
+	return text ;
+}
+
+;(function()
+{
+	var textareaToEditor = function( textarea )
+	{
+		var editor = new FCKeditor( textarea.name ) ;
+
+		editor.Width = Math.max( textarea.offsetWidth, FCKeditor.MinWidth ) ;
+		editor.Height = Math.max( textarea.offsetHeight, FCKeditor.MinHeight ) ;
+
+		return editor ;
+	}
+
+	/**
+	 * Replace all <textarea> elements available in the document with FCKeditor
+	 * instances.
+	 *
+	 *	// Replace all <textarea> elements in the page.
+	 *	FCKeditor.ReplaceAllTextareas() ;
+	 *
+	 *	// Replace all <textarea class="myClassName"> elements in the page.
+	 *	FCKeditor.ReplaceAllTextareas( 'myClassName' ) ;
+	 *
+	 *	// Selectively replace <textarea> elements, based on custom assertions.
+	 *	FCKeditor.ReplaceAllTextareas( function( textarea, editor )
+	 *		{
+	 *			// Custom code to evaluate the replace, returning false if it
+	 *			// must not be done.
+	 *			// It also passes the "editor" parameter, so the developer can
+	 *			// customize the instance.
+	 *		} ) ;
+	 */
+	FCKeditor.ReplaceAllTextareas = function()
+	{
+		var textareas = document.getElementsByTagName( 'textarea' ) ;
+
+		for ( var i = 0 ; i < textareas.length ; i++ )
+		{
+			var editor = null ;
+			var textarea = textareas[i] ;
+			var name = textarea.name ;
+
+			// The "name" attribute must exist.
+			if ( !name || name.length == 0 )
+				continue ;
+
+			if ( typeof arguments[0] == 'string' )
+			{
+				// The textarea class name could be passed as the function
+				// parameter.
+
+				var classRegex = new RegExp( '(?:^| )' + arguments[0] + '(?:$| )' ) ;
+
+				if ( !classRegex.test( textarea.className ) )
+					continue ;
+			}
+			else if ( typeof arguments[0] == 'function' )
+			{
+				// An assertion function could be passed as the function parameter.
+				// It must explicitly return "false" to ignore a specific <textarea>.
+				editor = textareaToEditor( textarea ) ;
+				if ( arguments[0]( textarea, editor ) === false )
+					continue ;
+			}
+
+			if ( !editor )
+				editor = textareaToEditor( textarea ) ;
+
+			editor.ReplaceTextarea() ;
+		}
+	}
+})() ;
+
+function FCKeditor_IsCompatibleBrowser()
+{
+	var sAgent = navigator.userAgent.toLowerCase() ;
+
+	// Internet Explorer 5.5+
+	if ( /*@cc_on!@*/false && sAgent.indexOf("mac") == -1 )
+	{
+		var sBrowserVersion = navigator.appVersion.match(/MSIE (.\..)/)[1] ;
+		return ( sBrowserVersion >= 5.5 ) ;
+	}
+
+	// Gecko (Opera 9 tries to behave like Gecko at this point).
+	if ( navigator.product == "Gecko" && navigator.productSub >= 20030210 && !( typeof(opera) == 'object' && opera.postError ) )
+		return true ;
+
+	// Opera 9.50+
+	if ( window.opera && window.opera.version && parseFloat( window.opera.version() ) >= 9.5 )
+		return true ;
+
+	// Adobe AIR
+	// Checked before Safari because AIR have the WebKit rich text editor
+	// features from Safari 3.0.4, but the version reported is 420.
+	if ( sAgent.indexOf( ' adobeair/' ) != -1 )
+		return ( sAgent.match( / adobeair\/(\d+)/ )[1] >= 1 ) ;	// Build must be at least v1
+
+	// Safari 3+
+	if ( sAgent.indexOf( ' applewebkit/' ) != -1 )
+		return ( sAgent.match( / applewebkit\/(\d+)/ )[1] >= 522 ) ;	// Build must be at least 522 (v3)
+
+	return false ;
+}
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_flash/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_flash/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_flash/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_flash/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_flash/fck_flash_preview.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_flash/fck_flash_preview.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_flash/fck_flash_preview.html	(revision 1481)
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Preview page for the Flash dialog window.
+-->
+<html>
+	<head>
+		<title></title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<script src="../common/fck_dialog_common.js" type="text/javascript"></script>
+		<script language="javascript">
+
+var FCKTools	= window.parent.FCKTools ;
+var FCKConfig	= window.parent.FCKConfig ;
+
+// Sets the Skin CSS
+document.write( FCKTools.GetStyleHtml( FCKConfig.SkinDialogCSS ) ) ;
+document.write( FCKTools.GetStyleHtml( GetCommonDialogCss( '../' ) ) ) ;
+
+if ( window.parent.FCKConfig.BaseHref.length > 0 )
+	document.write( '<base href="' + window.parent.FCKConfig.BaseHref + '">' ) ;
+
+window.onload = function()
+{
+	window.parent.SetPreviewElement( document.body ) ;
+}
+
+		</script>
+	</head>
+	<body style="COLOR: #000000; BACKGROUND-COLOR: #ffffff"></body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_flash/fck_flash.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_flash/fck_flash.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_flash/fck_flash.js	(revision 1481)
@@ -0,0 +1,300 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Scripts related to the Flash dialog window (see fck_flash.html).
+ */
+
+var dialog		= window.parent ;
+var oEditor		= dialog.InnerDialogLoaded() ;
+var FCK			= oEditor.FCK ;
+var FCKLang		= oEditor.FCKLang ;
+var FCKConfig	= oEditor.FCKConfig ;
+var FCKTools	= oEditor.FCKTools ;
+
+//#### Dialog Tabs
+
+// Set the dialog tabs.
+dialog.AddTab( 'Info', oEditor.FCKLang.DlgInfoTab ) ;
+
+if ( FCKConfig.FlashUpload )
+	dialog.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ;
+
+if ( !FCKConfig.FlashDlgHideAdvanced )
+	dialog.AddTab( 'Advanced', oEditor.FCKLang.DlgAdvancedTag ) ;
+
+// Function called when a dialog tag is selected.
+function OnDialogTabChange( tabCode )
+{
+	ShowE('divInfo'		, ( tabCode == 'Info' ) ) ;
+	ShowE('divUpload'	, ( tabCode == 'Upload' ) ) ;
+	ShowE('divAdvanced'	, ( tabCode == 'Advanced' ) ) ;
+}
+
+// Get the selected flash embed (if available).
+var oFakeImage = dialog.Selection.GetSelectedElement() ;
+var oEmbed ;
+
+if ( oFakeImage )
+{
+	if ( oFakeImage.tagName == 'IMG' && oFakeImage.getAttribute('_fckflash') )
+		oEmbed = FCK.GetRealElement( oFakeImage ) ;
+	else
+		oFakeImage = null ;
+}
+
+window.onload = function()
+{
+	// Translate the dialog box texts.
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	// Load the selected element information (if any).
+	LoadSelection() ;
+
+	// Show/Hide the "Browse Server" button.
+	GetE('tdBrowse').style.display = FCKConfig.FlashBrowser	? '' : 'none' ;
+
+	// Set the actual uploader URL.
+	if ( FCKConfig.FlashUpload )
+		GetE('frmUpload').action = FCKConfig.FlashUploadURL ;
+
+	dialog.SetAutoSize( true ) ;
+
+	// Activate the "OK" button.
+	dialog.SetOkButton( true ) ;
+
+	SelectField( 'txtUrl' ) ;
+}
+
+function LoadSelection()
+{
+	if ( ! oEmbed ) return ;
+
+	GetE('txtUrl').value    = GetAttribute( oEmbed, 'src', '' ) ;
+	GetE('txtWidth').value  = GetAttribute( oEmbed, 'width', '' ) ;
+	GetE('txtHeight').value = GetAttribute( oEmbed, 'height', '' ) ;
+
+	// Get Advances Attributes
+	GetE('txtAttId').value		= oEmbed.id ;
+	GetE('chkAutoPlay').checked	= GetAttribute( oEmbed, 'play', 'true' ) == 'true' ;
+	GetE('chkLoop').checked		= GetAttribute( oEmbed, 'loop', 'true' ) == 'true' ;
+	GetE('chkMenu').checked		= GetAttribute( oEmbed, 'menu', 'true' ) == 'true' ;
+	GetE('cmbScale').value		= GetAttribute( oEmbed, 'scale', '' ).toLowerCase() ;
+
+	GetE('txtAttTitle').value		= oEmbed.title ;
+
+	if ( oEditor.FCKBrowserInfo.IsIE )
+	{
+		GetE('txtAttClasses').value = oEmbed.getAttribute('className') || '' ;
+		GetE('txtAttStyle').value = oEmbed.style.cssText ;
+	}
+	else
+	{
+		GetE('txtAttClasses').value = oEmbed.getAttribute('class',2) || '' ;
+		GetE('txtAttStyle').value = oEmbed.getAttribute('style',2) || '' ;
+	}
+
+	UpdatePreview() ;
+}
+
+//#### The OK button was hit.
+function Ok()
+{
+	if ( GetE('txtUrl').value.length == 0 )
+	{
+		dialog.SetSelectedTab( 'Info' ) ;
+		GetE('txtUrl').focus() ;
+
+		alert( oEditor.FCKLang.DlgAlertUrl ) ;
+
+		return false ;
+	}
+
+	oEditor.FCKUndo.SaveUndoStep() ;
+	if ( !oEmbed )
+	{
+		oEmbed		= FCK.EditorDocument.createElement( 'EMBED' ) ;
+		oFakeImage  = null ;
+	}
+	UpdateEmbed( oEmbed ) ;
+
+	if ( !oFakeImage )
+	{
+		oFakeImage	= oEditor.FCKDocumentProcessor_CreateFakeImage( 'FCK__Flash', oEmbed ) ;
+		oFakeImage.setAttribute( '_fckflash', 'true', 0 ) ;
+		oFakeImage	= FCK.InsertElement( oFakeImage ) ;
+	}
+
+	oEditor.FCKEmbedAndObjectProcessor.RefreshView( oFakeImage, oEmbed ) ;
+
+	return true ;
+}
+
+function UpdateEmbed( e )
+{
+	SetAttribute( e, 'type'			, 'application/x-shockwave-flash' ) ;
+	SetAttribute( e, 'pluginspage'	, 'http://www.macromedia.com/go/getflashplayer' ) ;
+
+	SetAttribute( e, 'src', GetE('txtUrl').value ) ;
+	SetAttribute( e, "width" , GetE('txtWidth').value ) ;
+	SetAttribute( e, "height", GetE('txtHeight').value ) ;
+
+	// Advances Attributes
+
+	SetAttribute( e, 'id'	, GetE('txtAttId').value ) ;
+	SetAttribute( e, 'scale', GetE('cmbScale').value ) ;
+
+	SetAttribute( e, 'play', GetE('chkAutoPlay').checked ? 'true' : 'false' ) ;
+	SetAttribute( e, 'loop', GetE('chkLoop').checked ? 'true' : 'false' ) ;
+	SetAttribute( e, 'menu', GetE('chkMenu').checked ? 'true' : 'false' ) ;
+
+	SetAttribute( e, 'title'	, GetE('txtAttTitle').value ) ;
+
+	if ( oEditor.FCKBrowserInfo.IsIE )
+	{
+		SetAttribute( e, 'className', GetE('txtAttClasses').value ) ;
+		e.style.cssText = GetE('txtAttStyle').value ;
+	}
+	else
+	{
+		SetAttribute( e, 'class', GetE('txtAttClasses').value ) ;
+		SetAttribute( e, 'style', GetE('txtAttStyle').value ) ;
+	}
+}
+
+var ePreview ;
+
+function SetPreviewElement( previewEl )
+{
+	ePreview = previewEl ;
+
+	if ( GetE('txtUrl').value.length > 0 )
+		UpdatePreview() ;
+}
+
+function UpdatePreview()
+{
+	if ( !ePreview )
+		return ;
+
+	while ( ePreview.firstChild )
+		ePreview.removeChild( ePreview.firstChild ) ;
+
+	if ( GetE('txtUrl').value.length == 0 )
+		ePreview.innerHTML = '&nbsp;' ;
+	else
+	{
+		var oDoc	= ePreview.ownerDocument || ePreview.document ;
+		var e		= oDoc.createElement( 'EMBED' ) ;
+
+		SetAttribute( e, 'src', GetE('txtUrl').value ) ;
+		SetAttribute( e, 'type', 'application/x-shockwave-flash' ) ;
+		SetAttribute( e, 'width', '100%' ) ;
+		SetAttribute( e, 'height', '100%' ) ;
+
+		ePreview.appendChild( e ) ;
+	}
+}
+
+// <embed id="ePreview" src="fck_flash/claims.swf" width="100%" height="100%" style="visibility:hidden" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">
+
+function BrowseServer()
+{
+	OpenFileBrowser( FCKConfig.FlashBrowserURL, FCKConfig.FlashBrowserWindowWidth, FCKConfig.FlashBrowserWindowHeight ) ;
+}
+
+function SetUrl( url, width, height )
+{
+	GetE('txtUrl').value = url ;
+
+	if ( width )
+		GetE('txtWidth').value = width ;
+
+	if ( height )
+		GetE('txtHeight').value = height ;
+
+	UpdatePreview() ;
+
+	dialog.SetSelectedTab( 'Info' ) ;
+}
+
+function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
+{
+	// Remove animation
+	window.parent.Throbber.Hide() ;
+	GetE( 'divUpload' ).style.display  = '' ;
+
+	switch ( errorNumber )
+	{
+		case 0 :	// No errors
+			alert( 'Your file has been successfully uploaded' ) ;
+			break ;
+		case 1 :	// Custom error
+			alert( customMsg ) ;
+			return ;
+		case 101 :	// Custom warning
+			alert( customMsg ) ;
+			break ;
+		case 201 :
+			alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ;
+			break ;
+		case 202 :
+			alert( 'Invalid file type' ) ;
+			return ;
+		case 203 :
+			alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ;
+			return ;
+		case 500 :
+			alert( 'The connector is disabled' ) ;
+			break ;
+		default :
+			alert( 'Error on file upload. Error number: ' + errorNumber ) ;
+			return ;
+	}
+
+	SetUrl( fileUrl ) ;
+	GetE('frmUpload').reset() ;
+}
+
+var oUploadAllowedExtRegex	= new RegExp( FCKConfig.FlashUploadAllowedExtensions, 'i' ) ;
+var oUploadDeniedExtRegex	= new RegExp( FCKConfig.FlashUploadDeniedExtensions, 'i' ) ;
+
+function CheckUpload()
+{
+	var sFile = GetE('txtUploadFile').value ;
+
+	if ( sFile.length == 0 )
+	{
+		alert( 'Please select a file to upload' ) ;
+		return false ;
+	}
+
+	if ( ( FCKConfig.FlashUploadAllowedExtensions.length > 0 && !oUploadAllowedExtRegex.test( sFile ) ) ||
+		( FCKConfig.FlashUploadDeniedExtensions.length > 0 && oUploadDeniedExtRegex.test( sFile ) ) )
+	{
+		OnUploadCompleted( 202 ) ;
+		return false ;
+	}
+
+	// Show animation
+	window.parent.Throbber.Show( 100 ) ;
+	GetE( 'divUpload' ).style.display  = 'none' ;
+
+	return true ;
+}
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_link.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_link.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_link.html	(revision 1481)
@@ -0,0 +1,318 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Link dialog window.
+-->
+<html>
+	<head>
+		<title>Link Properties</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+		<meta name="robots" content="noindex, nofollow" />
+		<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+		<script src="fck_link/fck_link.js" type="text/javascript"></script>
+	</head>
+	<body scroll="no" style="OVERFLOW: hidden">
+		<div id="divInfo" style="DISPLAY: none">
+			<span fckLang="DlgLnkType">Link Type</span><br />
+			<select id="cmbLinkType" onchange="SetLinkType(this.value);">
+				<option value="url" fckLang="DlgLnkTypeURL" selected="selected">URL</option>
+				<option value="anchor" fckLang="DlgLnkTypeAnchor">Anchor in this page</option>
+				<option value="email" fckLang="DlgLnkTypeEMail">E-Mail</option>
+			</select>
+			<br />
+			<br />
+			<div id="divLinkTypeUrl">
+				<table cellspacing="0" cellpadding="0" width="100%" border="0" dir="ltr">
+					<tr>
+						<td nowrap="nowrap">
+							<span fckLang="DlgLnkProto">Protocol</span><br />
+							<select id="cmbLinkProtocol">
+								<option value="http://" selected="selected">http://</option>
+								<option value="https://">https://</option>
+								<option value="ftp://">ftp://</option>
+								<option value="news://">news://</option>
+								<option value="" fckLang="DlgLnkProtoOther">&lt;other&gt;</option>
+							</select>
+						</td>
+						<td nowrap="nowrap">&nbsp;</td>
+						<td nowrap="nowrap" width="100%">
+							<span fckLang="DlgLnkURL">URL</span><br />
+							<input id="txtUrl" style="WIDTH: 100%" type="text" onkeyup="OnUrlChange();" onchange="OnUrlChange();" />
+						</td>
+					</tr>
+				</table>
+				<br />
+				<div id="divBrowseServer">
+				<input type="button" value="Browse Server" fckLang="DlgBtnBrowseServer" onclick="BrowseServer();" />
+				</div>
+			</div>
+			<div id="divLinkTypeAnchor" style="DISPLAY: none" align="center">
+				<div id="divSelAnchor" style="DISPLAY: none">
+					<table cellspacing="0" cellpadding="0" border="0" width="70%">
+						<tr>
+							<td colspan="3">
+								<span fckLang="DlgLnkAnchorSel">Select an Anchor</span>
+							</td>
+						</tr>
+						<tr>
+							<td width="50%">
+								<span fckLang="DlgLnkAnchorByName">By Anchor Name</span><br />
+								<select id="cmbAnchorName" onchange="GetE('cmbAnchorId').value='';" style="WIDTH: 100%">
+									<option value="" selected="selected"></option>
+								</select>
+							</td>
+							<td>&nbsp;&nbsp;&nbsp;</td>
+							<td width="50%">
+								<span fckLang="DlgLnkAnchorById">By Element Id</span><br />
+								<select id="cmbAnchorId" onchange="GetE('cmbAnchorName').value='';" style="WIDTH: 100%">
+									<option value="" selected="selected"></option>
+								</select>
+							</td>
+						</tr>
+					</table>
+				</div>
+				<div id="divNoAnchor" style="DISPLAY: none">
+					<span fckLang="DlgLnkNoAnchors">&lt;No anchors available in the document&gt;</span>
+				</div>
+			</div>
+			<div id="divLinkTypeEMail" style="DISPLAY: none">
+				<span fckLang="DlgLnkEMail">E-Mail Address</span><br />
+				<input id="txtEMailAddress" style="WIDTH: 100%" type="text" /><br />
+				<span fckLang="DlgLnkEMailSubject">Message Subject</span><br />
+				<input id="txtEMailSubject" style="WIDTH: 100%" type="text" /><br />
+				<span fckLang="DlgLnkEMailBody">Message Body</span><br />
+				<textarea id="txtEMailBody" style="WIDTH: 100%" rows="3" cols="20"></textarea>
+			</div>
+		</div>
+		<div id="divUpload" style="DISPLAY: none">
+			<form id="frmUpload" method="post" target="UploadWindow" enctype="multipart/form-data" action="" onsubmit="return CheckUpload();">
+				<span fckLang="DlgLnkUpload">Upload</span><br />
+				<input id="txtUploadFile" style="WIDTH: 100%" type="file" size="40" name="NewFile" /><br />
+				<br />
+				<input id="btnUpload" type="submit" value="Send it to the Server" fckLang="DlgLnkBtnUpload" />
+				<script type="text/javascript">
+					document.write( '<iframe name="UploadWindow" style="display: none" src="' + FCKTools.GetVoidUrl() + '"><\/iframe>' ) ;
+				</script>
+			</form>
+		</div>
+		<div id="divTarget" style="DISPLAY: none">
+			<table cellspacing="0" cellpadding="0" width="100%" border="0">
+				<tr>
+					<td nowrap="nowrap">
+						<span fckLang="DlgLnkTarget">Target</span><br />
+						<select id="cmbTarget" onchange="SetTarget(this.value);">
+							<option value="" fckLang="DlgGenNotSet" selected="selected">&lt;not set&gt;</option>
+							<option value="frame" fckLang="DlgLnkTargetFrame">&lt;frame&gt;</option>
+							<option value="popup" fckLang="DlgLnkTargetPopup">&lt;popup window&gt;</option>
+							<option value="_blank" fckLang="DlgLnkTargetBlank">New Window (_blank)</option>
+							<option value="_top" fckLang="DlgLnkTargetTop">Topmost Window (_top)</option>
+							<option value="_self" fckLang="DlgLnkTargetSelf">Same Window (_self)</option>
+							<option value="_parent" fckLang="DlgLnkTargetParent">Parent Window (_parent)</option>
+						</select>
+					</td>
+					<td>&nbsp;</td>
+					<td id="tdTargetFrame" nowrap="nowrap" width="100%">
+						<span fckLang="DlgLnkTargetFrameName">Target Frame Name</span><br />
+						<input id="txtTargetFrame" style="WIDTH: 100%" type="text" onkeyup="OnTargetNameChange();"
+							onchange="OnTargetNameChange();" />
+					</td>
+					<td id="tdPopupName" style="DISPLAY: none" nowrap="nowrap" width="100%">
+						<span fckLang="DlgLnkPopWinName">Popup Window Name</span><br />
+						<input id="txtPopupName" style="WIDTH: 100%" type="text" />
+					</td>
+				</tr>
+			</table>
+			<br />
+			<table id="tablePopupFeatures" style="DISPLAY: none" cellspacing="0" cellpadding="0" align="center"
+				border="0">
+				<tr>
+					<td>
+						<span fckLang="DlgLnkPopWinFeat">Popup Window Features</span><br />
+						<table cellspacing="0" cellpadding="0" border="0">
+							<tr>
+								<td valign="top" nowrap="nowrap" width="50%">
+									<input id="chkPopupResizable" name="chkFeature" value="resizable" type="checkbox" /><label for="chkPopupResizable" fckLang="DlgLnkPopResize">Resizable</label><br />
+									<input id="chkPopupLocationBar" name="chkFeature" value="location" type="checkbox" /><label for="chkPopupLocationBar" fckLang="DlgLnkPopLocation">Location
+										Bar</label><br />
+									<input id="chkPopupManuBar" name="chkFeature" value="menubar" type="checkbox" /><label for="chkPopupManuBar" fckLang="DlgLnkPopMenu">Menu
+										Bar</label><br />
+									<input id="chkPopupScrollBars" name="chkFeature" value="scrollbars" type="checkbox" /><label for="chkPopupScrollBars" fckLang="DlgLnkPopScroll">Scroll
+										Bars</label>
+								</td>
+								<td></td>
+								<td valign="top" nowrap="nowrap" width="50%">
+									<input id="chkPopupStatusBar" name="chkFeature" value="status" type="checkbox" /><label for="chkPopupStatusBar" fckLang="DlgLnkPopStatus">Status
+										Bar</label><br />
+									<input id="chkPopupToolbar" name="chkFeature" value="toolbar" type="checkbox" /><label for="chkPopupToolbar" fckLang="DlgLnkPopToolbar">Toolbar</label><br />
+									<input id="chkPopupFullScreen" name="chkFeature" value="fullscreen" type="checkbox" /><label for="chkPopupFullScreen" fckLang="DlgLnkPopFullScrn">Full
+										Screen (IE)</label><br />
+									<input id="chkPopupDependent" name="chkFeature" value="dependent" type="checkbox" /><label for="chkPopupDependent" fckLang="DlgLnkPopDependent">Dependent
+										(Netscape)</label>
+								</td>
+							</tr>
+							<tr>
+								<td valign="top" nowrap="nowrap" width="50%">&nbsp;</td>
+								<td></td>
+								<td valign="top" nowrap="nowrap" width="50%"></td>
+							</tr>
+							<tr>
+								<td valign="top">
+									<table cellspacing="0" cellpadding="0" border="0">
+										<tr>
+											<td nowrap="nowrap"><span fckLang="DlgLnkPopWidth">Width</span></td>
+											<td>&nbsp;<input id="txtPopupWidth" type="text" maxlength="4" size="4" /></td>
+										</tr>
+										<tr>
+											<td nowrap="nowrap"><span fckLang="DlgLnkPopHeight">Height</span></td>
+											<td>&nbsp;<input id="txtPopupHeight" type="text" maxlength="4" size="4" /></td>
+										</tr>
+									</table>
+								</td>
+								<td>&nbsp;&nbsp;</td>
+								<td valign="top">
+									<table cellspacing="0" cellpadding="0" border="0">
+										<tr>
+											<td nowrap="nowrap"><span fckLang="DlgLnkPopLeft">Left Position</span></td>
+											<td>&nbsp;<input id="txtPopupLeft" type="text" maxlength="4" size="4" /></td>
+										</tr>
+										<tr>
+											<td nowrap="nowrap"><span fckLang="DlgLnkPopTop">Top Position</span></td>
+											<td>&nbsp;<input id="txtPopupTop" type="text" maxlength="4" size="4" /></td>
+										</tr>
+									</table>
+								</td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+			</table>
+		</div>
+		<div id="divAttribs" style="DISPLAY: none">
+			<table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
+				<tr>
+					<td valign="top" width="50%">
+						<span fckLang="DlgGenId">Id</span><br />
+						<input id="txtAttId" style="WIDTH: 100%" type="text" />
+					</td>
+					<td width="1"></td>
+					<td valign="top">
+						<table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
+							<tr>
+								<td width="60%">
+									<span fckLang="DlgGenLangDir">Language Direction</span><br />
+									<select id="cmbAttLangDir" style="WIDTH: 100%">
+										<option value="" fckLang="DlgGenNotSet" selected>&lt;not set&gt;</option>
+										<option value="ltr" fckLang="DlgGenLangDirLtr">Left to Right (LTR)</option>
+										<option value="rtl" fckLang="DlgGenLangDirRtl">Right to Left (RTL)</option>
+									</select>
+								</td>
+								<td width="1%">&nbsp;&nbsp;&nbsp;</td>
+								<td nowrap="nowrap"><span fckLang="DlgGenAccessKey">Access Key</span><br />
+									<input id="txtAttAccessKey" style="WIDTH: 100%" type="text" maxlength="1" size="1" />
+								</td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+				<tr>
+					<td valign="top" width="50%">
+						<span fckLang="DlgGenName">Name</span><br />
+						<input id="txtAttName" style="WIDTH: 100%" type="text" />
+					</td>
+					<td width="1"></td>
+					<td valign="top">
+						<table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
+							<tr>
+								<td width="60%">
+									<span fckLang="DlgGenLangCode">Language Code</span><br />
+									<input id="txtAttLangCode" style="WIDTH: 100%" type="text" />
+								</td>
+								<td width="1%">&nbsp;&nbsp;&nbsp;</td>
+								<td nowrap="nowrap">
+									<span fckLang="DlgGenTabIndex">Tab Index</span><br />
+									<input id="txtAttTabIndex" style="WIDTH: 100%" type="text" maxlength="5" size="5" />
+								</td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+				<tr>
+					<td valign="top" width="50%">&nbsp;</td>
+					<td width="1"></td>
+					<td valign="top"></td>
+				</tr>
+				<tr>
+					<td nowrap="nowrap">
+						<span fckLang="DlgGenContRel">Advisory Relation</span><br />
+						<select id="cmbAttContentRel"  style="width: 100%">
+							<option value="" fckLang="DlgGenNotSet" selected>&lt;not set&gt;</option>
+							<option value="fancybox" fckLang="Fancybox">Fancybox</option>
+							<option value="prettyPhoto" fckLang="PrettyPhoto">PrettyPhoto</option>
+				  <!--			<option value="prettyPhoto[gallery]" fckLang="PrettyPhoto Image Gallery">PrettyPhoto Image Gallery</option>
+							<option value="prettyPhoto[flash]" fckLang="PrettyPhoto Flash">PrettyPhoto Flash</option>
+							<option value="prettyPhoto[iframes]" fckLang="PrettyPhoto IFrames">PrettyPhoto IFrames</option>
+							<option value="prettyPhoto[movies]" fckLang="PrettyPhoto Movies">PrettyPhoto Movies</option>
+							<option value="prettyPopin" fckLang="PrettyPopin">Pretty Popin</option>
+							<option value="prettyGallery" fckLang="PrettyGallery">Pretty Gallery</option>   -->
+							<option value="alternate" fckLang="Alternate">Alternate</option>
+							<option value="copyright" fckLang="copyright">Copyright</option>
+							<option value="designates" fckLang="designates">Designates</option>
+							<option value="nofollow" fckLang="nofollow">Nofollow</option>
+							<option value="lightbox" fckLang="Lightbox">Lightbox</option>
+							<option value="stylesheet" fckLang="stylesheet">Stylesheet</option>
+							<option value="thumbnail" fckLang="Thumbnail">Thumbnail</option>
+						</select>
+					</td>
+					<td width="1">&nbsp;&nbsp;&nbsp;</td>
+					<td valign="top">
+						<span fckLang="DlgGenContType">Advisory Content Type</span><br />
+						<input id="txtAttContentType" style="WIDTH: 100%" type="text" />
+					</td>
+				</tr>
+				<tr>
+					<td valign="top">
+						<span fckLang="DlgGenClass">Stylesheet Classes</span><br />
+						<input id="txtAttClasses" style="WIDTH: 100%" type="text" />
+					</td>
+					<td></td>
+					<td valign="top">
+						<span fckLang="DlgGenLinkCharset">Linked Resource Charset</span><br />
+						<input id="txtAttCharSet" style="WIDTH: 100%" type="text" />
+					</td>
+				</tr>
+			</table>
+			<table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
+				<tr>
+					<td>
+						<span fckLang="DlgGenStyle">Style</span><br />
+						<input id="txtAttStyle" style="WIDTH: 100%" type="text" />
+					</td>
+				</tr>
+				<tr>
+					<td valign="top" width="100%">
+						<span fckLang="DlgGenTitle">Advisory Title</span><br />
+						<input id="txtAttTitle" style="WIDTH: 100%" type="text" />
+					</td>
+				</tr>
+			</table>
+		</div>
+	</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_about/sponsors/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_about/sponsors/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_about/sponsors/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_about/sponsors/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_about/sponsors/spellchecker_net.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_about/sponsors/spellchecker_net.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_about/wb-logo.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_about/wb-logo.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_about/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_about/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_about/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_about/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_about/logo_fredck.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_about/logo_fredck.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_about/logo_fckeditor.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_about/logo_fckeditor.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_about.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_about.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_about.html	(revision 1481)
@@ -0,0 +1,187 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * "About" dialog window.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title></title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<meta name="robots" content="noindex, nofollow" />
+	<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+	<script type="text/javascript">
+
+var oEditor = window.parent.InnerDialogLoaded() ;
+var FCKLang	= oEditor.FCKLang ;
+
+window.parent.AddTab( 'About', FCKLang.DlgAboutAboutTab ) ;
+window.parent.AddTab( 'License', FCKLang.DlgAboutLicenseTab ) ;
+window.parent.AddTab( 'BrowserInfo', FCKLang.DlgAboutBrowserInfoTab ) ;
+
+// Function called when a dialog tag is selected.
+function OnDialogTabChange( tabCode )
+{
+	ShowE('divAbout', ( tabCode == 'About' ) ) ;
+	ShowE('divLicense', ( tabCode == 'License' ) ) ;
+	ShowE('divInfo'	, ( tabCode == 'BrowserInfo' ) ) ;
+}
+
+function SendEMail()
+{
+	var eMail = 'mailto:' ;
+	eMail += 'fredck' ;
+	eMail += '@' ;
+	eMail += 'fckeditor' ;
+	eMail += '.' ;
+	eMail += 'net' ;
+
+	window.location = eMail ;
+}
+
+window.onload = function()
+{
+	// Translate the dialog box texts.
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	window.parent.SetAutoSize( true ) ;
+}
+
+	</script>
+</head>
+<body style="overflow: hidden">
+	<div id="divAbout">
+		<table cellpadding="0" cellspacing="0" border="0" width="100%" style="height: 100%">
+			<tr>
+				<td colspan="2">
+					<img alt="" src="fck_about/logo_fckeditor.gif" width="236" height="41" align="left" />
+					<table width="80" border="0" cellspacing="0" cellpadding="5" bgcolor="#ffffff" align="right">
+						<tr>
+							<td align="center" nowrap="nowrap" style="border-right: #000000 1px solid; border-top: #000000 1px solid;
+								border-left: #000000 1px solid; border-bottom: #000000 1px solid">
+								<span fcklang="DlgAboutVersion">version</span>
+								<br />
+								<b>2.6.5</b><br />
+								Build 23959</td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr style="height: 100%">
+				<td align="center" valign="middle">
+					<span style="font-size: 14px" dir="ltr">
+						<b><a href="http://www.fckeditor.net/?about" target="_blank" title="Visit the FCKeditor web site">
+							Support <b>Open Source</b> Software</a></b> </span>
+					<div style="padding-top:15px">
+						<img alt="" src="fck_about/logo_fredck.gif" width="87" height="36" />
+					</div>
+				</td>
+				<td align="center" nowrap="nowrap" valign="middle">
+					<div>
+						<div style="margin-bottom:5px" dir="ltr">Selected Sponsor</div>
+						<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>
+					</div>
+				</td>
+			</tr>
+			<tr>
+				<td width="100%" nowrap="nowrap">
+					<span fcklang="DlgAboutInfo">For further information go to</span> <a href="http://www.fckeditor.net/?About"
+						target="_blank">http://www.fckeditor.net/</a>.
+					<br />
+					Copyright &copy; 2003-2009 <a href="#" onclick="SendEMail();">Frederico Caldeira Knabben</a>
+				</td>
+				<td align="center">
+					<a href="http://www.fckeditor.net/sponsors/apply" target="_blank">Become a Sponsor</a>
+				</td>
+			</tr>
+            <tr>
+                <td>&nbsp;</td>
+                <td>&nbsp;</td>
+            </tr>
+            <tr>
+                <td align="center" valign="middle">
+					<span fcklang="DlgAboutModule" style="font-size: 12px" dir="ltr">
+                    Modified for Website Baker Version 2.8.x<br />Modulversion 2.9.4
+                    </span>
+                </td>
+                <td>&nbsp;</td>
+            </tr>
+            <tr>
+				<td align="center" valign="middle">
+					<span style="font-size: 12px" dir="ltr">
+						<b><a href="http://www.websitebaker.org" target="_blank" title="Visit the Website Baker web site">
+							Support <b>Website Baker</b> CMS</a></b> </span>
+					<div style="padding-top:15px">
+                        <a href="http://club.websitebakers.com/" target="_blank" title="The club is named Website Baker Org The club shall appear in the register of associations and then bear the additional e.V.">
+						<img alt="Website Baker Org e.V." src="fck_about/wb-logo.gif" title="The association has its seat in Schwanewede, Germany." />
+                        </a>
+					</div>
+				</td>
+                <td></td>
+            </tr>
+
+		</table>
+	</div>
+	<div id="divLicense" style="display: none">
+			<p>
+				Licensed under the terms of any of the following licenses at your
+				choice:
+			</p>
+			<ul>
+				<li style="margin-bottom:15px">
+					<b>GNU General Public License</b> Version 2 or later (the "GPL")<br />
+					<a href="http://www.gnu.org/licenses/gpl.html" target="_blank">http://www.gnu.org/licenses/gpl.html</a>
+				</li>
+				<li style="margin-bottom:15px">
+					<b>GNU Lesser General Public License</b> Version 2.1 or later (the "LGPL")<br />
+					<a href="http://www.gnu.org/licenses/lgpl.html" target="_blank">http://www.gnu.org/licenses/lgpl.html</a>
+				</li>
+				<li>
+					<b>Mozilla Public License</b> Version 1.1 or later (the "MPL")<br />
+					<a href="http://www.mozilla.org/MPL/MPL-1.1.html" target="_blank">http://www.mozilla.org/MPL/MPL-1.1.html</a>
+			   </li>
+			</ul>
+	</div>
+	<div id="divInfo" style="display: none" dir="ltr">
+		<table align="center" width="80%" border="0">
+			<tr>
+				<td>
+					<script type="text/javascript">
+<!--
+document.write( '<b>User Agent<\/b><br />' + window.navigator.userAgent + '<br /><br />' ) ;
+document.write( '<b>Browser<\/b><br />' + window.navigator.appName + ' ' + window.navigator.appVersion + '<br /><br />' ) ;
+document.write( '<b>Platform<\/b><br />' + window.navigator.platform + '<br /><br />' ) ;
+
+var sUserLang = '?' ;
+
+if ( window.navigator.language )
+	sUserLang = window.navigator.language ;
+else if ( window.navigator.userLanguage )
+	sUserLang = window.navigator.userLanguage ;
+
+document.write( '<b>Language<\/b><br />' + sUserLang ) ;
+//-->
+					</script>
+				</td>
+			</tr>
+		</table>
+	</div>
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_paste.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_paste.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_paste.html	(revision 1481)
@@ -0,0 +1,347 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This dialog is shown when, for some reason (usually security settings),
+ * the user is not able to paste data from the clipboard to the editor using
+ * the toolbar buttons or the context menu.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title></title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<meta name="robots" content="noindex, nofollow" />
+	<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+	<script type="text/javascript">
+var dialog = window.parent ;
+var oEditor = dialog.InnerDialogLoaded() ;
+var FCK = oEditor.FCK;
+var FCKTools	= oEditor.FCKTools ;
+var FCKConfig	= oEditor.FCKConfig ;
+var FCKBrowserInfo = oEditor.FCKBrowserInfo ;
+
+window.onload = function ()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	var sPastingType = dialog.Args().CustomValue ;
+
+	if ( sPastingType == 'Word' || sPastingType == 'Security' )
+	{
+		if ( sPastingType == 'Security' )
+			document.getElementById( 'xSecurityMsg' ).style.display = '' ;
+
+		// For document.domain compatibility (#123) we must do all the magic in
+		// the URL for IE.
+		var sFrameUrl = !oEditor.FCK_IS_CUSTOM_DOMAIN || !FCKBrowserInfo.IsIE ?
+			'javascript:void(0)' :
+			'javascript:void( (function(){' +
+				'document.open() ;' +
+				'document.domain=\'' + document.domain + '\' ;' +
+				'document.write(\'<html><head><scr' + 'ipt>window.onerror = function() { return true ; };<\/script><\/head><body><\/body><\/html>\') ;' +
+				'document.close() ;' +
+				'document.body.contentEditable = true ;' +
+				'window.focus() ;' +
+				'})() )' ;
+
+		var eFrameSpace = document.getElementById( 'xFrameSpace' ) ;
+		eFrameSpace.innerHTML = '<iframe id="frmData" src="' + sFrameUrl + '" ' +
+					'height="98%" width="99%" frameborder="0" style="border: #000000 1px; background-color: #ffffff"><\/iframe>' ;
+
+		var oFrame = eFrameSpace.firstChild ;
+
+		if ( !oEditor.FCK_IS_CUSTOM_DOMAIN || !FCKBrowserInfo.IsIE )
+		{
+			// Avoid errors if the pasted content has any script that fails: #389
+			var oDoc = oFrame.contentWindow.document ;
+			oDoc.open() ;
+			oDoc.write('<html><head><scr' + 'ipt>window.onerror = function() { return true ; };<\/script><\/head><body><\/body><\/html>') ;
+			oDoc.close() ;
+
+			if ( FCKBrowserInfo.IsIE )
+				oDoc.body.contentEditable = true ;
+			else
+				oDoc.designMode = 'on' ;
+
+			oFrame.contentWindow.focus();
+		}
+	}
+	else
+	{
+		document.getElementById('txtData').style.display = '' ;
+		SelectField( 'txtData' ) ;
+	}
+
+	if ( sPastingType != 'Word' )
+		document.getElementById('oWordCommands').style.display = 'none' ;
+
+	dialog.SetOkButton( true ) ;
+	dialog.SetAutoSize( true ) ;
+}
+
+function Ok()
+{
+	// Before doing anything, save undo snapshot.
+	oEditor.FCKUndo.SaveUndoStep() ;
+
+	var sHtml ;
+
+	var sPastingType = dialog.Args().CustomValue ;
+
+	if ( sPastingType == 'Word' || sPastingType == 'Security' )
+	{
+		var oFrame = document.getElementById('frmData') ;
+		var oBody ;
+
+		if ( oFrame.contentDocument )
+			oBody = oFrame.contentDocument.body ;
+		else
+			oBody = oFrame.contentWindow.document.body ;
+
+		if ( sPastingType == 'Word' )
+		{
+			// If a plugin creates a FCK.CustomCleanWord function it will be called instead of the default one
+			if ( typeof( FCK.CustomCleanWord ) == 'function' )
+				sHtml = FCK.CustomCleanWord( oBody, document.getElementById('chkRemoveFont').checked, document.getElementById('chkRemoveStyles').checked ) ;
+			else
+				sHtml = CleanWord( oBody, document.getElementById('chkRemoveFont').checked, document.getElementById('chkRemoveStyles').checked ) ;
+		}
+		else
+			sHtml = oBody.innerHTML ;
+
+		// Fix relative anchor URLs (IE automatically adds the current page URL).
+		var re = new RegExp( window.location + "#", "g" ) ;
+		sHtml = sHtml.replace( re, '#') ;
+	}
+	else
+	{
+		sHtml = oEditor.FCKTools.HTMLEncode( document.getElementById('txtData').value )  ;
+		sHtml = FCKTools.ProcessLineBreaks( oEditor, FCKConfig, sHtml ) ;
+
+		// FCK.InsertHtml() does not work for us, since document fragments cannot contain node fragments. :(
+		// Use the marker method instead. It's primitive, but it works.
+		var range = new oEditor.FCKDomRange( oEditor.FCK.EditorWindow ) ;
+		var oDoc = oEditor.FCK.EditorDocument ;
+		dialog.Selection.EnsureSelection() ;
+		range.MoveToSelection() ;
+		range.DeleteContents() ;
+		var marker = [] ;
+		for ( var i = 0 ; i < 5 ; i++ )
+			marker.push( parseInt(Math.random() * 100000, 10 ) ) ;
+		marker = marker.join( "" ) ;
+		range.InsertNode ( oDoc.createTextNode( marker ) ) ;
+		var bookmark = range.CreateBookmark() ;
+
+		// Now we've got a marker indicating the paste position in the editor document.
+		// Find its position in the HTML code.
+		var htmlString = oDoc.body.innerHTML ;
+		var index = htmlString.indexOf( marker ) ;
+
+		// Split it the HTML code up, add the code we generated, and put them back together.
+		var htmlList = [] ;
+		htmlList.push( htmlString.substr( 0, index ) ) ;
+		htmlList.push( sHtml ) ;
+		htmlList.push( htmlString.substr( index + marker.length ) ) ;
+		htmlString = htmlList.join( "" ) ;
+
+		if ( oEditor.FCKBrowserInfo.IsIE )
+			oEditor.FCK.SetInnerHtml( htmlString ) ;
+		else
+			oDoc.body.innerHTML = htmlString ;
+
+		range.MoveToBookmark( bookmark ) ;
+		range.Collapse( false ) ;
+		range.Select() ;
+		range.Release() ;
+		return true ;
+	}
+
+	oEditor.FCK.InsertHtml( sHtml ) ;
+
+	return true ;
+}
+
+// This function will be called from the PasteFromWord dialog (fck_paste.html)
+// Input: oNode a DOM node that contains the raw paste from the clipboard
+// bIgnoreFont, bRemoveStyles booleans according to the values set in the dialog
+// Output: the cleaned string
+function CleanWord( oNode, bIgnoreFont, bRemoveStyles )
+{
+	var html = oNode.innerHTML ;
+
+	html = html.replace(/<o:p>\s*<\/o:p>/g, '') ;
+	html = html.replace(/<o:p>[\s\S]*?<\/o:p>/g, '&nbsp;') ;
+
+	// Remove mso-xxx styles.
+	html = html.replace( /\s*mso-[^:]+:[^;"]+;?/gi, '' ) ;
+
+	// Remove margin styles.
+	html = html.replace( /\s*MARGIN: 0(?:cm|in) 0(?:cm|in) 0pt\s*;/gi, '' ) ;
+	html = html.replace( /\s*MARGIN: 0(?:cm|in) 0(?:cm|in) 0pt\s*"/gi, "\"" ) ;
+
+	html = html.replace( /\s*TEXT-INDENT: 0(?:cm|in)\s*;/gi, '' ) ;
+	html = html.replace( /\s*TEXT-INDENT: 0(?:cm|in)\s*"/gi, "\"" ) ;
+
+	html = html.replace( /\s*TEXT-ALIGN: [^\s;]+;?"/gi, "\"" ) ;
+
+	html = html.replace( /\s*PAGE-BREAK-BEFORE: [^\s;]+;?"/gi, "\"" ) ;
+
+	html = html.replace( /\s*FONT-VARIANT: [^\s;]+;?"/gi, "\"" ) ;
+
+	html = html.replace( /\s*tab-stops:[^;"]*;?/gi, '' ) ;
+	html = html.replace( /\s*tab-stops:[^"]*/gi, '' ) ;
+
+	// Remove FONT face attributes.
+	if ( bIgnoreFont )
+	{
+		html = html.replace( /\s*face="[^"]*"/gi, '' ) ;
+		html = html.replace( /\s*face=[^ >]*/gi, '' ) ;
+
+		html = html.replace( /\s*FONT-FAMILY:[^;"]*;?/gi, '' ) ;
+	}
+
+	// Remove Class attributes
+	html = html.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3") ;
+
+	// Remove styles.
+	if ( bRemoveStyles )
+		html = html.replace( /<(\w[^>]*) style="([^\"]*)"([^>]*)/gi, "<$1$3" ) ;
+
+	// Remove style, meta and link tags
+	html = html.replace( /<STYLE[^>]*>[\s\S]*?<\/STYLE[^>]*>/gi, '' ) ;
+	html = html.replace( /<(?:META|LINK)[^>]*>\s*/gi, '' ) ;
+
+	// Remove empty styles.
+	html =  html.replace( /\s*style="\s*"/gi, '' ) ;
+
+	html = html.replace( /<SPAN\s*[^>]*>\s*&nbsp;\s*<\/SPAN>/gi, '&nbsp;' ) ;
+
+	html = html.replace( /<SPAN\s*[^>]*><\/SPAN>/gi, '' ) ;
+
+	// Remove Lang attributes
+	html = html.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3") ;
+
+	html = html.replace( /<SPAN\s*>([\s\S]*?)<\/SPAN>/gi, '$1' ) ;
+
+	html = html.replace( /<FONT\s*>([\s\S]*?)<\/FONT>/gi, '$1' ) ;
+
+	// Remove XML elements and declarations
+	html = html.replace(/<\\?\?xml[^>]*>/gi, '' ) ;
+
+	// Remove w: tags with contents.
+	html = html.replace( /<w:[^>]*>[\s\S]*?<\/w:[^>]*>/gi, '' ) ;
+
+	// Remove Tags with XML namespace declarations: <o:p><\/o:p>
+	html = html.replace(/<\/?\w+:[^>]*>/gi, '' ) ;
+
+	// Remove comments [SF BUG-1481861].
+	html = html.replace(/<\!--[\s\S]*?-->/g, '' ) ;
+
+	html = html.replace( /<(U|I|STRIKE)>&nbsp;<\/\1>/g, '&nbsp;' ) ;
+
+	html = html.replace( /<H\d>\s*<\/H\d>/gi, '' ) ;
+
+	// Remove "display:none" tags.
+	html = html.replace( /<(\w+)[^>]*\sstyle="[^"]*DISPLAY\s?:\s?none[\s\S]*?<\/\1>/ig, '' ) ;
+
+	// Remove language tags
+	html = html.replace( /<(\w[^>]*) language=([^ |>]*)([^>]*)/gi, "<$1$3") ;
+
+	// Remove onmouseover and onmouseout events (from MS Word comments effect)
+	html = html.replace( /<(\w[^>]*) onmouseover="([^\"]*)"([^>]*)/gi, "<$1$3") ;
+	html = html.replace( /<(\w[^>]*) onmouseout="([^\"]*)"([^>]*)/gi, "<$1$3") ;
+
+	if ( FCKConfig.CleanWordKeepsStructure )
+	{
+		// The original <Hn> tag send from Word is something like this: <Hn style="margin-top:0px;margin-bottom:0px">
+		html = html.replace( /<H(\d)([^>]*)>/gi, '<h$1>' ) ;
+
+		// Word likes to insert extra <font> tags, when using MSIE. (Wierd).
+		html = html.replace( /<(H\d)><FONT[^>]*>([\s\S]*?)<\/FONT><\/\1>/gi, '<$1>$2<\/$1>' );
+		html = html.replace( /<(H\d)><EM>([\s\S]*?)<\/EM><\/\1>/gi, '<$1>$2<\/$1>' );
+	}
+	else
+	{
+		html = html.replace( /<H1([^>]*)>/gi, '<div$1><b><font size="6">' ) ;
+		html = html.replace( /<H2([^>]*)>/gi, '<div$1><b><font size="5">' ) ;
+		html = html.replace( /<H3([^>]*)>/gi, '<div$1><b><font size="4">' ) ;
+		html = html.replace( /<H4([^>]*)>/gi, '<div$1><b><font size="3">' ) ;
+		html = html.replace( /<H5([^>]*)>/gi, '<div$1><b><font size="2">' ) ;
+		html = html.replace( /<H6([^>]*)>/gi, '<div$1><b><font size="1">' ) ;
+
+		html = html.replace( /<\/H\d>/gi, '<\/font><\/b><\/div>' ) ;
+
+		// Transform <P> to <DIV>
+		var re = new RegExp( '(<P)([^>]*>[\\s\\S]*?)(<\/P>)', 'gi' ) ;	// Different because of a IE 5.0 error
+		html = html.replace( re, '<div$2<\/div>' ) ;
+
+		// Remove empty tags (three times, just to be sure).
+		// This also removes any empty anchor
+		html = html.replace( /<([^\s>]+)(\s[^>]*)?>\s*<\/\1>/g, '' ) ;
+		html = html.replace( /<([^\s>]+)(\s[^>]*)?>\s*<\/\1>/g, '' ) ;
+		html = html.replace( /<([^\s>]+)(\s[^>]*)?>\s*<\/\1>/g, '' ) ;
+	}
+
+	return html ;
+}
+
+	</script>
+
+</head>
+<body style="overflow: hidden">
+	<table cellspacing="0" cellpadding="0" width="100%" border="0" style="height: 98%">
+		<tr>
+			<td>
+				<div id="xSecurityMsg" style="display: none">
+					<span fcklang="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.</span><br />
+					&nbsp;
+				</div>
+				<div>
+					<span fcklang="DlgPasteMsg2">Please paste inside the following box using the keyboard
+						(<strong>Ctrl+V</strong>) and hit <strong>OK</strong>.</span><br />
+					&nbsp;
+				</div>
+			</td>
+		</tr>
+		<tr>
+			<td id="xFrameSpace" valign="top" height="100%" style="border: #000000 1px solid">
+				<textarea id="txtData" cols="80" rows="5" style="border: #000000 1px; display: none;
+					width: 99%; height: 98%"></textarea>
+			</td>
+		</tr>
+		<tr id="oWordCommands">
+			<td>
+
+					<input id="chkRemoveFont" type="checkbox" checked="checked" />
+					<label for="chkRemoveFont" fcklang="DlgPasteIgnoreFont">
+						Ignore Font Face definitions</label>
+					<br />
+					<input id="chkRemoveStyles" type="checkbox" />
+					<label for="chkRemoveStyles" fcklang="DlgPasteRemoveStyles">
+						Remove Styles definitions</label>
+
+			</td>
+		</tr>
+	</table>
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_image/fck_image.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_image/fck_image.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_image/fck_image.js	(revision 1481)
@@ -0,0 +1,551 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Scripts related to the Image dialog window (see fck_image.html).
+ */
+
+var dialog		= window.parent ;
+var oEditor		= dialog.InnerDialogLoaded() ;
+var FCK			= oEditor.FCK ;
+var FCKLang		= oEditor.FCKLang ;
+var FCKConfig	= oEditor.FCKConfig ;
+var FCKDebug	= oEditor.FCKDebug ;
+var FCKTools	= oEditor.FCKTools ;
+
+var bImageButton = ( document.location.search.length > 0 && document.location.search.substr(1) == 'ImageButton' ) ;
+
+//#### Dialog Tabs
+
+// Set the dialog tabs.
+dialog.AddTab( 'Info', FCKLang.DlgImgInfoTab ) ;
+
+if ( !bImageButton && !FCKConfig.ImageDlgHideLink )
+	dialog.AddTab( 'Link', FCKLang.DlgImgLinkTab ) ;
+
+if ( FCKConfig.ImageUpload )
+	dialog.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ;
+
+if ( !FCKConfig.ImageDlgHideAdvanced )
+	dialog.AddTab( 'Advanced', FCKLang.DlgAdvancedTag ) ;
+
+// Function called when a dialog tag is selected.
+function OnDialogTabChange( tabCode )
+{
+	ShowE('divInfo'		, ( tabCode == 'Info' ) ) ;
+	ShowE('divLink'		, ( tabCode == 'Link' ) ) ;
+	ShowE('divUpload'	, ( tabCode == 'Upload' ) ) ;
+	ShowE('divAdvanced'	, ( tabCode == 'Advanced' ) ) ;
+}
+
+// Get the selected image (if available).
+var oImage = dialog.Selection.GetSelectedElement() ;
+
+if ( oImage && oImage.tagName != 'IMG' && !( oImage.tagName == 'INPUT' && oImage.type == 'image' ) )
+	oImage = null ;
+
+// Get the active link.
+var oLink = dialog.Selection.GetSelection().MoveToAncestorNode( 'A' ) ;
+
+var oImageOriginal ;
+
+function UpdateOriginal( resetSize )
+{
+	if ( !eImgPreview )
+		return ;
+
+	if ( GetE('txtUrl').value.length == 0 )
+	{
+		oImageOriginal = null ;
+		return ;
+	}
+
+	oImageOriginal = document.createElement( 'IMG' ) ;	// new Image() ;
+
+	if ( resetSize )
+	{
+		oImageOriginal.onload = function()
+		{
+			this.onload = null ;
+			ResetSizes() ;
+		}
+	}
+
+	oImageOriginal.src = eImgPreview.src ;
+}
+
+var bPreviewInitialized ;
+
+window.onload = function()
+{
+	// Translate the dialog box texts.
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	GetE('btnLockSizes').title = FCKLang.DlgImgLockRatio ;
+	GetE('btnResetSize').title = FCKLang.DlgBtnResetSize ;
+
+	// Load the selected element information (if any).
+	LoadSelection() ;
+
+	// Show/Hide the "Browse Server" button.
+	GetE('tdBrowse').style.display				= FCKConfig.ImageBrowser	? '' : 'none' ;
+	GetE('divLnkBrowseServer').style.display	= FCKConfig.LinkBrowser		? '' : 'none' ;
+
+	UpdateOriginal() ;
+
+	// Set the actual uploader URL.
+	if ( FCKConfig.ImageUpload )
+		GetE('frmUpload').action = FCKConfig.ImageUploadURL ;
+
+	dialog.SetAutoSize( true ) ;
+
+	// Activate the "OK" button.
+	dialog.SetOkButton( true ) ;
+
+	SelectField( 'txtUrl' ) ;
+}
+
+function LoadSelection()
+{
+	if ( ! oImage ) return ;
+
+	var sUrl = oImage.getAttribute( '_fcksavedurl' ) ;
+	if ( sUrl == null )
+		sUrl = GetAttribute( oImage, 'src', '' ) ;
+
+	GetE('txtUrl').value    = sUrl ;
+	GetE('txtAlt').value    = GetAttribute( oImage, 'alt', '' ) ;
+	GetE('txtVSpace').value	= GetAttribute( oImage, 'vspace', '' ) ;
+	GetE('txtHSpace').value	= GetAttribute( oImage, 'hspace', '' ) ;
+	GetE('txtBorder').value	= GetAttribute( oImage, 'border', '' ) ;
+	GetE('cmbAlign').value	= GetAttribute( oImage, 'align', '' ) ;
+
+	var iWidth, iHeight ;
+
+	var regexSize = /^\s*(\d+)px\s*$/i ;
+
+	if ( oImage.style.width )
+	{
+		var aMatchW  = oImage.style.width.match( regexSize ) ;
+		if ( aMatchW )
+		{
+			iWidth = aMatchW[1] ;
+			oImage.style.width = '' ;
+			SetAttribute( oImage, 'width' , iWidth ) ;
+		}
+	}
+
+	if ( oImage.style.height )
+	{
+		var aMatchH  = oImage.style.height.match( regexSize ) ;
+		if ( aMatchH )
+		{
+			iHeight = aMatchH[1] ;
+			oImage.style.height = '' ;
+			SetAttribute( oImage, 'height', iHeight ) ;
+		}
+	}
+
+	GetE('txtWidth').value	= iWidth ? iWidth : GetAttribute( oImage, "width", '' ) ;
+	GetE('txtHeight').value	= iHeight ? iHeight : GetAttribute( oImage, "height", '' ) ;
+
+	// Get Advances Attributes
+	GetE('txtAttId').value			= oImage.id ;
+	GetE('cmbAttLangDir').value		= oImage.dir ;
+	GetE('txtAttLangCode').value	= oImage.lang ;
+	GetE('txtAttTitle').value		= oImage.title ;
+	GetE('txtLongDesc').value		= oImage.longDesc ;
+
+	if ( oEditor.FCKBrowserInfo.IsIE )
+	{
+		GetE('txtAttClasses').value = oImage.className || '' ;
+		GetE('txtAttStyle').value = oImage.style.cssText ;
+	}
+	else
+	{
+		GetE('txtAttClasses').value = oImage.getAttribute('class',2) || '' ;
+		GetE('txtAttStyle').value = oImage.getAttribute('style',2) ;
+	}
+
+	if ( oLink )
+	{
+		var sLinkUrl = oLink.getAttribute( '_fcksavedurl' ) ;
+		if ( sLinkUrl == null )
+			sLinkUrl = oLink.getAttribute('href',2) ;
+
+		GetE('txtLnkUrl').value		= sLinkUrl ;
+		GetE('cmbLnkTarget').value	= oLink.target ;
+		GetE('cmbLnkContentRel').value	= oLink.rel ;
+		GetE('txtLnkTitle').value		= oLink.title ;
+		GetE('txtLnkId').value			= oLink.id ;
+	var sClass ;
+	if ( oEditor.FCKBrowserInfo.IsIE )
+	{
+		sClass	= oLink.getAttribute('className',2) || '' ;
+		// Clean up temporary classes for internal use:
+		sClass = sClass.replace( FCKRegexLib.FCK_Class, '' ) ;
+
+		GetE('txtLnkStyle').value	= oLink.style.cssText ;
+	}
+	else
+	{
+		sClass	= oLink.getAttribute('class',2) || '' ;
+		GetE('txtLnkStyle').value	= oLink.getAttribute('style',2) || '' ;
+	}
+	GetE('txtLnkClasses').value	= sClass ;
+
+		}
+
+	UpdatePreview() ;
+}
+
+//#### The OK button was hit.
+function Ok()
+{
+	if ( GetE('txtUrl').value.length == 0 )
+	{
+		dialog.SetSelectedTab( 'Info' ) ;
+		GetE('txtUrl').focus() ;
+
+		alert( FCKLang.DlgImgAlertUrl ) ;
+
+		return false ;
+	}
+
+	var bHasImage = ( oImage != null ) ;
+
+	if ( bHasImage && bImageButton && oImage.tagName == 'IMG' )
+	{
+		if ( confirm( 'Do you want to transform the selected image on a image button?' ) )
+			oImage = null ;
+	}
+	else if ( bHasImage && !bImageButton && oImage.tagName == 'INPUT' )
+	{
+		if ( confirm( 'Do you want to transform the selected image button on a simple image?' ) )
+			oImage = null ;
+	}
+
+	oEditor.FCKUndo.SaveUndoStep() ;
+	if ( !bHasImage )
+	{
+		if ( bImageButton )
+		{
+			oImage = FCK.EditorDocument.createElement( 'input' ) ;
+			oImage.type = 'image' ;
+			oImage = FCK.InsertElement( oImage ) ;
+		}
+		else
+			oImage = FCK.InsertElement( 'img' ) ;
+	}
+
+	UpdateImage( oImage ) ;
+
+	var sLnkUrl = GetE('txtLnkUrl').value.Trim() ;
+
+	if ( sLnkUrl.length == 0 )
+	{
+		if ( oLink )
+			FCK.ExecuteNamedCommand( 'Unlink' ) ;
+	}
+	else
+	{
+		if ( oLink )	// Modifying an existent link.
+			oLink.href = sLnkUrl ;
+		else			// Creating a new link.
+		{
+			if ( !bHasImage )
+				oEditor.FCKSelection.SelectNode( oImage ) ;
+
+			oLink = oEditor.FCK.CreateLink( sLnkUrl )[0] ;
+
+			if ( !bHasImage )
+			{
+				oEditor.FCKSelection.SelectNode( oLink ) ;
+				oEditor.FCKSelection.Collapse( false ) ;
+			}
+		}
+
+		SetAttribute( oLink, '_fcksavedurl', sLnkUrl ) ;
+		SetAttribute( oLink, 'target', 	GetE('cmbLnkTarget').value ) ;
+		SetAttribute( oLink, 'rel', 	GetE('cmbLnkContentRel').value ) ;
+		SetAttribute( oLink, 'id', 		GetE('txtLnkId').value ) ;
+		SetAttribute( oLink, 'title', 	GetE('txtLnkTitle').value ) ;
+
+		if ( oEditor.FCKBrowserInfo.IsIE )
+		{
+			var sClass = GetE('txtAttClasses').value ;
+			// If it's also an anchor add an internal class
+			if ( GetE('txtLnkName').value.length != 0 )
+				sClass += ' FCK__AnchorC' ;
+			SetAttribute( oLink, 'className', sClass ) ;
+
+			oLink.style.cssText = GetE('txtLnkStyle').value ;
+		}
+		else
+		{
+			SetAttribute( oLink, 'class', GetE('txtLnkClasses').value ) ;
+			SetAttribute( oLink, 'style', GetE('txtLnkStyle').value ) ;
+		}
+		
+	}
+
+	return true ;
+}
+
+function UpdateImage( e, skipId )
+{
+	e.src = GetE('txtUrl').value ;
+	SetAttribute( e, "_fcksavedurl", GetE('txtUrl').value ) ;
+	SetAttribute( e, "alt"   , GetE('txtAlt').value ) ;
+	SetAttribute( e, "width" , GetE('txtWidth').value ) ;
+	SetAttribute( e, "height", GetE('txtHeight').value ) ;
+	SetAttribute( e, "vspace", GetE('txtVSpace').value ) ;
+	SetAttribute( e, "hspace", GetE('txtHSpace').value ) ;
+	SetAttribute( e, "border", GetE('txtBorder').value ) ;
+	SetAttribute( e, "align" , GetE('cmbAlign').value ) ;
+
+	// Advances Attributes
+
+	if ( ! skipId )
+		SetAttribute( e, 'id', GetE('txtAttId').value ) ;
+
+	SetAttribute( e, 'dir'		, GetE('cmbAttLangDir').value ) ;
+	SetAttribute( e, 'lang'		, GetE('txtAttLangCode').value ) ;
+	SetAttribute( e, 'title'	, GetE('txtAttTitle').value ) ;
+	SetAttribute( e, 'longDesc'	, GetE('txtLongDesc').value ) ;
+
+	if ( oEditor.FCKBrowserInfo.IsIE )
+	{
+		e.className = GetE('txtAttClasses').value ;
+		e.style.cssText = GetE('txtAttStyle').value ;
+	}
+	else
+	{
+		SetAttribute( e, 'class'	, GetE('txtAttClasses').value ) ;
+		SetAttribute( e, 'style', GetE('txtAttStyle').value ) ;
+	}
+}
+
+var eImgPreview ;
+var eImgPreviewLink ;
+
+function SetPreviewElements( imageElement, linkElement )
+{
+	eImgPreview = imageElement ;
+	eImgPreviewLink = linkElement ;
+
+	UpdatePreview() ;
+	UpdateOriginal() ;
+
+	bPreviewInitialized = true ;
+}
+
+function UpdatePreview()
+{
+	if ( !eImgPreview || !eImgPreviewLink )
+		return ;
+
+	if ( GetE('txtUrl').value.length == 0 )
+		eImgPreviewLink.style.display = 'none' ;
+	else
+	{
+		UpdateImage( eImgPreview, true ) ;
+
+		if ( GetE('txtLnkUrl').value.Trim().length > 0 )
+			eImgPreviewLink.href = 'javascript:void(null);' ;
+		else
+			SetAttribute( eImgPreviewLink, 'href', '' ) ;
+
+		eImgPreviewLink.style.display = '' ;
+	}
+}
+
+var bLockRatio = true ;
+
+function SwitchLock( lockButton )
+{
+	bLockRatio = !bLockRatio ;
+	lockButton.className = bLockRatio ? 'BtnLocked' : 'BtnUnlocked' ;
+	lockButton.title = bLockRatio ? 'Lock sizes' : 'Unlock sizes' ;
+
+	if ( bLockRatio )
+	{
+		if ( GetE('txtWidth').value.length > 0 )
+			OnSizeChanged( 'Width', GetE('txtWidth').value ) ;
+		else
+			OnSizeChanged( 'Height', GetE('txtHeight').value ) ;
+	}
+}
+
+// Fired when the width or height input texts change
+function OnSizeChanged( dimension, value )
+{
+	// Verifies if the aspect ration has to be maintained
+	if ( oImageOriginal && bLockRatio )
+	{
+		var e = dimension == 'Width' ? GetE('txtHeight') : GetE('txtWidth') ;
+
+		if ( value.length == 0 || isNaN( value ) )
+		{
+			e.value = '' ;
+			return ;
+		}
+
+		if ( dimension == 'Width' )
+			value = value == 0 ? 0 : Math.round( oImageOriginal.height * ( value  / oImageOriginal.width ) ) ;
+		else
+			value = value == 0 ? 0 : Math.round( oImageOriginal.width  * ( value / oImageOriginal.height ) ) ;
+
+		if ( !isNaN( value ) )
+			e.value = value ;
+	}
+
+	UpdatePreview() ;
+}
+
+// Fired when the Reset Size button is clicked
+function ResetSizes()
+{
+	if ( ! oImageOriginal ) return ;
+	if ( oEditor.FCKBrowserInfo.IsGecko && !oImageOriginal.complete )
+	{
+		setTimeout( ResetSizes, 50 ) ;
+		return ;
+	}
+
+	GetE('txtWidth').value  = oImageOriginal.width ;
+	GetE('txtHeight').value = oImageOriginal.height ;
+
+	UpdatePreview() ;
+}
+
+function BrowseServer()
+{
+	OpenServerBrowser(
+		'Image',
+		FCKConfig.ImageBrowserURL,
+		FCKConfig.ImageBrowserWindowWidth,
+		FCKConfig.ImageBrowserWindowHeight ) ;
+}
+
+function LnkBrowseServer()
+{
+	OpenServerBrowser(
+		'Link',
+		FCKConfig.LinkBrowserURL,
+		FCKConfig.LinkBrowserWindowWidth,
+		FCKConfig.LinkBrowserWindowHeight ) ;
+}
+
+function OpenServerBrowser( type, url, width, height )
+{
+	sActualBrowser = type ;
+	OpenFileBrowser( url, width, height ) ;
+}
+
+var sActualBrowser ;
+
+function SetUrl( url, width, height, alt )
+{
+	if ( sActualBrowser == 'Link' )
+	{
+		GetE('txtLnkUrl').value = url ;
+		UpdatePreview() ;
+	}
+	else
+	{
+		GetE('txtUrl').value = url ;
+		GetE('txtWidth').value = width ? width : '' ;
+		GetE('txtHeight').value = height ? height : '' ;
+
+		if ( alt )
+			GetE('txtAlt').value = alt;
+
+		UpdatePreview() ;
+		UpdateOriginal( true ) ;
+	}
+
+	dialog.SetSelectedTab( 'Info' ) ;
+}
+
+function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
+{
+	// Remove animation
+	window.parent.Throbber.Hide() ;
+	GetE( 'divUpload' ).style.display  = '' ;
+
+	switch ( errorNumber )
+	{
+		case 0 :	// No errors
+			alert( 'Your file has been successfully uploaded' ) ;
+			break ;
+		case 1 :	// Custom error
+			alert( customMsg ) ;
+			return ;
+		case 101 :	// Custom warning
+			alert( customMsg ) ;
+			break ;
+		case 201 :
+			alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ;
+			break ;
+		case 202 :
+			alert( 'Invalid file type' ) ;
+			return ;
+		case 203 :
+			alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ;
+			return ;
+		case 500 :
+			alert( 'The connector is disabled' ) ;
+			break ;
+		default :
+			alert( 'Error on file upload. Error number: ' + errorNumber ) ;
+			return ;
+	}
+
+	sActualBrowser = '' ;
+	SetUrl( fileUrl ) ;
+	GetE('frmUpload').reset() ;
+}
+
+var oUploadAllowedExtRegex	= new RegExp( FCKConfig.ImageUploadAllowedExtensions, 'i' ) ;
+var oUploadDeniedExtRegex	= new RegExp( FCKConfig.ImageUploadDeniedExtensions, 'i' ) ;
+
+function CheckUpload()
+{
+	var sFile = GetE('txtUploadFile').value ;
+
+	if ( sFile.length == 0 )
+	{
+		alert( 'Please select a file to upload' ) ;
+		return false ;
+	}
+
+	if ( ( FCKConfig.ImageUploadAllowedExtensions.length > 0 && !oUploadAllowedExtRegex.test( sFile ) ) ||
+		( FCKConfig.ImageUploadDeniedExtensions.length > 0 && oUploadDeniedExtRegex.test( sFile ) ) )
+	{
+		OnUploadCompleted( 202 ) ;
+		return false ;
+	}
+
+	// Show animation
+	window.parent.Throbber.Show( 100 ) ;
+	GetE( 'divUpload' ).style.display  = 'none' ;
+
+	return true ;
+}
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_image/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_image/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_image/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_image/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_image/fck_image_preview.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_image/fck_image_preview.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_image/fck_image_preview.html	(revision 1481)
@@ -0,0 +1,72 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Preview page for the Image dialog window.
+ *
+ * Curiosity: http://en.wikipedia.org/wiki/Lorem_ipsum
+-->
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title></title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<meta name="robots" content="noindex, nofollow" />
+	<script src="../common/fck_dialog_common.js" type="text/javascript"></script>
+	<script type="text/javascript">
+
+var FCKTools	= window.parent.FCKTools ;
+var FCKConfig	= window.parent.FCKConfig ;
+
+// Set the preview CSS
+document.write( FCKTools.GetStyleHtml( FCKConfig.EditorAreaCSS ) ) ;
+document.write( FCKTools.GetStyleHtml( FCKConfig.EditorAreaStyles ) ) ;
+
+if ( window.parent.FCKConfig.BaseHref.length > 0 )
+	document.write( '<base href="' + window.parent.FCKConfig.BaseHref + '">' ) ;
+
+window.onload = function()
+{
+	window.parent.SetPreviewElements(
+		document.getElementById( 'imgPreview' ),
+		document.getElementById( 'lnkPreview' ) ) ;
+}
+
+	</script>
+</head>
+<body>
+	<div>
+		<a id="lnkPreview" onclick="return false;" style="cursor: default">
+			<img id="imgPreview" onload="window.parent.UpdateOriginal();"
+				style="display: none" alt="" /></a>Lorem ipsum dolor sit amet, consectetuer adipiscing
+		elit. Maecenas feugiat consequat diam. Maecenas metus. Vivamus diam purus, cursus
+		a, commodo non, facilisis vitae, nulla. Aenean dictum lacinia tortor. Nunc iaculis,
+		nibh non iaculis aliquam, orci felis euismod neque, sed ornare massa mauris sed
+		velit. Nulla pretium mi et risus. Fusce mi pede, tempor id, cursus ac, ullamcorper
+		nec, enim. Sed tortor. Curabitur molestie. Duis velit augue, condimentum at, ultrices
+		a, luctus ut, orci. Donec pellentesque egestas eros. Integer cursus, augue in cursus
+		faucibus, eros pede bibendum sem, in tempus tellus justo quis ligula. Etiam eget
+		tortor. Vestibulum rutrum, est ut placerat elementum, lectus nisl aliquam velit,
+		tempor aliquam eros nunc nonummy metus. In eros metus, gravida a, gravida sed, lobortis
+		id, turpis. Ut ultrices, ipsum at venenatis fringilla, sem nulla lacinia tellus,
+		eget aliquet turpis mauris non enim. Nam turpis. Suspendisse lacinia. Curabitur
+		ac tortor ut ipsum egestas elementum. Nunc imperdiet gravida mauris.
+	</div>
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_image.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_image.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_image.html	(revision 1481)
@@ -0,0 +1,306 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Image Properties dialog window.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>Image Properties</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<meta name="robots" content="noindex, nofollow" />
+	<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+	<script src="fck_image/fck_image.js" type="text/javascript"></script>
+		<script type="text/javascript">
+
+document.write( FCKTools.GetStyleHtml( GetCommonDialogCss() ) ) ;
+
+		</script>
+</head>
+<body scroll="no" style="overflow: hidden">
+	<div id="divInfo">
+		<table cellspacing="1" cellpadding="1" border="0" width="100%" height="100%">
+			<tr>
+				<td>
+					<table cellspacing="0" cellpadding="0" width="100%" border="0">
+						<tr>
+							<td width="100%">
+								<span fcklang="DlgImgURL">URL</span>
+							</td>
+							<td id="tdBrowse" style="display: none" nowrap="nowrap" rowspan="2">
+								&nbsp;
+								<input id="btnBrowse" onclick="BrowseServer();" type="button" value="Browse Server"
+									fcklang="DlgBtnBrowseServer" />
+							</td>
+						</tr>
+						<tr>
+							<td valign="top">
+								<input id="txtUrl" style="width: 100%" type="text" onblur="UpdatePreview();" />
+							</td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td>
+					<span fcklang="DlgImgAlt">Short Description</span><br />
+					<input id="txtAlt" style="width: 100%" type="text" /><br />
+				</td>
+			</tr>
+			<tr height="100%">
+				<td valign="top">
+					<table cellspacing="0" cellpadding="0" width="100%" border="0" height="100%">
+						<tr>
+							<td valign="top">
+								<br />
+								<table cellspacing="0" cellpadding="0" border="0">
+									<tr>
+										<td nowrap="nowrap">
+											<span fcklang="DlgImgWidth">Width</span>&nbsp;</td>
+										<td>
+											<input type="text" size="3" id="txtWidth" onkeyup="OnSizeChanged('Width',this.value);" /></td>
+										<td rowspan="2">
+											<div id="btnLockSizes" class="BtnLocked" onmouseover="this.className = (bLockRatio ? 'BtnLocked' : 'BtnUnlocked' ) + ' BtnOver';"
+												onmouseout="this.className = (bLockRatio ? 'BtnLocked' : 'BtnUnlocked' );" title="Lock Sizes"
+												onclick="SwitchLock(this);">
+											</div>
+										</td>
+										<td rowspan="2">
+											<div id="btnResetSize" class="BtnReset" onmouseover="this.className='BtnReset BtnOver';"
+												onmouseout="this.className='BtnReset';" title="Reset Size" onclick="ResetSizes();">
+											</div>
+										</td>
+									</tr>
+									<tr>
+										<td nowrap="nowrap">
+											<span fcklang="DlgImgHeight">Height</span>&nbsp;</td>
+										<td>
+											<input type="text" size="3" id="txtHeight" onkeyup="OnSizeChanged('Height',this.value);" /></td>
+									</tr>
+								</table>
+								<br />
+								<table cellspacing="0" cellpadding="0" border="0">
+									<tr>
+										<td nowrap="nowrap">
+											<span fcklang="DlgImgBorder">Border</span>&nbsp;</td>
+										<td>
+											<input type="text" size="2" value="" id="txtBorder" onkeyup="UpdatePreview();" /></td>
+									</tr>
+									<tr>
+										<td nowrap="nowrap">
+											<span fcklang="DlgImgHSpace">HSpace</span>&nbsp;</td>
+										<td>
+											<input type="text" size="2" id="txtHSpace" onkeyup="UpdatePreview();" /></td>
+									</tr>
+									<tr>
+										<td nowrap="nowrap">
+											<span fcklang="DlgImgVSpace">VSpace</span>&nbsp;</td>
+										<td>
+											<input type="text" size="2" id="txtVSpace" onkeyup="UpdatePreview();" /></td>
+									</tr>
+									<tr>
+										<td nowrap="nowrap">
+											<span fcklang="DlgImgAlign">Align</span>&nbsp;</td>
+										<td>
+											<select id="cmbAlign" onchange="UpdatePreview();">
+												<option value="" selected="selected"></option>
+												<option fcklang="DlgImgAlignLeft" value="left">Left</option>
+												<option fcklang="DlgImgAlignAbsBottom" value="absBottom">Abs Bottom</option>
+												<option fcklang="DlgImgAlignAbsMiddle" value="absMiddle">Abs Middle</option>
+												<option fcklang="DlgImgAlignBaseline" value="baseline">Baseline</option>
+												<option fcklang="DlgImgAlignBottom" value="bottom">Bottom</option>
+												<option fcklang="DlgImgAlignMiddle" value="middle">Middle</option>
+												<option fcklang="DlgImgAlignRight" value="right">Right</option>
+												<option fcklang="DlgImgAlignTextTop" value="textTop">Text Top</option>
+												<option fcklang="DlgImgAlignTop" value="top">Top</option>
+											</select>
+										</td>
+									</tr>
+								</table>
+							</td>
+							<td>
+								&nbsp;&nbsp;&nbsp;</td>
+							<td width="100%" valign="top">
+								<table cellpadding="0" cellspacing="0" width="100%" style="table-layout: fixed">
+									<tr>
+										<td>
+											<span fcklang="DlgImgPreview">Preview</span></td>
+									</tr>
+									<tr>
+										<td valign="top">
+											<iframe class="ImagePreviewArea" src="fck_image/fck_image_preview.html" frameborder="0"
+												marginheight="0" marginwidth="0"></iframe>
+										</td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</div>
+	<div id="divUpload" style="display: none">
+		<form id="frmUpload" method="post" target="UploadWindow" enctype="multipart/form-data"
+			action="" onsubmit="return CheckUpload();">
+			<span fcklang="DlgLnkUpload">Upload</span><br />
+			<input id="txtUploadFile" style="width: 100%" type="file" size="40" name="NewFile" /><br />
+			<br />
+			<input id="btnUpload" type="submit" value="Send it to the Server" fcklang="DlgLnkBtnUpload" />
+			<script type="text/javascript">
+				document.write( '<iframe name="UploadWindow" style="display: none" src="' + FCKTools.GetVoidUrl() + '"><\/iframe>' ) ;
+			</script>
+		</form>
+	</div>
+	<div id="divLink" style="display: none">
+		<table cellspacing="1" cellpadding="1" border="0" width="100%">
+			<tr>
+				<td>
+					<div>
+						<span fcklang="DlgLnkURL">URL</span><br />
+						<input id="txtLnkUrl" style="width: 100%" type="text" onblur="UpdatePreview();" />
+					</div>
+					<div id="divLnkBrowseServer" align="right">
+						<input type="button" value="Browse Server" fcklang="DlgBtnBrowseServer" onclick="LnkBrowseServer();" />
+					</div>
+					<div>
+						<span fcklang="DlgLnkTarget">Target</span><br />
+						<select id="cmbLnkTarget">
+							<option value="" fcklang="DlgGenNotSet" selected="selected">&lt;not set&gt;</option>
+							<option value="_blank" fcklang="DlgLnkTargetBlank">New Window (_blank)</option>
+							<option value="_top" fcklang="DlgLnkTargetTop">Topmost Window (_top)</option>
+							<option value="_self" fcklang="DlgLnkTargetSelf">Same Window (_self)</option>
+							<option value="_parent" fcklang="DlgLnkTargetParent">Parent Window (_parent)</option>
+						</select>
+					</div>
+					<div>
+						<span fckLang="DlgGenContRel">Advisory Relation</span><br />
+						<select id="cmbLnkContentRel">
+							<option value="" fckLang="DlgGenNotSet" selected>&lt;not set&gt;</option>
+							<option value="fancybox" fckLang="Fancybox">Fancybox</option>
+							<option value="prettyPhoto" fckLang="PrettyPhoto">PrettyPhoto</option>
+<!--							<option value="prettyPhoto[gallery]" fckLang="PrettyPhoto Image Gallery">PrettyPhoto Image Gallery</option>
+							<option value="prettyPhoto[flash]" fckLang="PrettyPhoto Flash">PrettyPhoto Flash</option>
+							<option value="prettyPhoto[iframes]" fckLang="PrettyPhoto IFrames">PrettyPhoto IFrames</option>
+							<option value="prettyPhoto[movies]" fckLang="PrettyPhoto Movies">PrettyPhoto Movies</option>
+							<option value="prettyPopin" fckLang="PrettyPopin">Pretty Popin</option>
+							<option value="prettyGallery" fckLang="PrettyGallery">Pretty Gallery</option>   -->
+							<option value="alternate" fckLang="Alternate">Alternate</option>
+							<option value="copyright" fckLang="copyright">Copyright</option>
+							<option value="designates" fckLang="designates">Designates</option>
+							<option value="nofollow" fckLang="nofollow">Nofollow</option>
+							<option value="lightbox" fckLang="Lightbox">Lightbox</option>
+							<option value="stylesheet" fckLang="stylesheet">Stylesheet</option>
+							<option value="thumbnail" fckLang="Thumbnail">Thumbnail</option>
+						</select>
+					</div>
+
+				</td>
+			</tr>
+
+				<tr>
+					<td valign="top">
+						<span fckLang="DlgGenClass">Stylesheet Classes</span><br />
+						<input id="txtLnkClasses" style="WIDTH: 100%" type="text" />
+					</td>
+					<td></td>
+					<td valign="top" width="50%">
+						<span fckLang="DlgGenId">Id</span><br />
+						<input id="txtLnkId" style="WIDTH: 100%" type="text" />
+					</td>
+				</tr>
+			</table>
+			<table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
+				<tr>
+					<td>
+						<span fckLang="DlgGenStyle">Style</span><br />
+						<input id="txtLnkStyle" style="WIDTH: 100%" type="text" />
+					</td>
+				</tr>
+				<tr>
+					<td valign="top" width="100%">
+						<span fckLang="DlgGenTitle">Advisory Title</span><br />
+						<input id="txtLnkTitle" style="WIDTH: 100%" type="text" />
+					</td>
+				</tr>
+			</table>
+	</div>
+	<div id="divAdvanced" style="display: none">
+		<table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
+			<tr>
+				<td valign="top" width="50%">
+					<span fcklang="DlgGenId">Id</span><br />
+					<input id="txtAttId" style="width: 100%" type="text" />
+				</td>
+				<td width="1">
+					&nbsp;&nbsp;</td>
+				<td valign="top">
+					<table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
+						<tr>
+							<td width="60%">
+								<span fcklang="DlgGenLangDir">Language Direction</span><br />
+								<select id="cmbAttLangDir" style="width: 100%">
+									<option value="" fcklang="DlgGenNotSet" selected="selected">&lt;not set&gt;</option>
+									<option value="ltr" fcklang="DlgGenLangDirLtr">Left to Right (LTR)</option>
+									<option value="rtl" fcklang="DlgGenLangDirRtl">Right to Left (RTL)</option>
+								</select>
+							</td>
+							<td width="1%">
+								&nbsp;&nbsp;</td>
+							<td nowrap="nowrap">
+								<span fcklang="DlgGenLangCode">Language Code</span><br />
+								<input id="txtAttLangCode" style="width: 100%" type="text" />&nbsp;
+							</td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td colspan="3">
+					&nbsp;</td>
+			</tr>
+			<tr>
+				<td colspan="3">
+					<span fcklang="DlgGenLongDescr">Long Description URL</span><br />
+					<input id="txtLongDesc" style="width: 100%" type="text" />
+				</td>
+			</tr>
+			<tr>
+				<td colspan="3">
+					&nbsp;</td>
+			</tr>
+			<tr>
+				<td valign="top">
+					<span fcklang="DlgGenClass">Stylesheet Classes</span><br />
+					<input id="txtAttClasses" style="width: 100%" type="text" />
+				</td>
+				<td>
+				</td>
+				<td valign="top">
+					&nbsp;<span fcklang="DlgGenTitle">Advisory Title</span><br />
+					<input id="txtAttTitle" style="width: 100%" type="text" />
+				</td>
+			</tr>
+		</table>
+		<span fcklang="DlgGenStyle">Style</span><br />
+		<input id="txtAttStyle" style="width: 100%" type="text" />
+	</div>
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_scayt.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_scayt.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_scayt.html	(revision 1481)
@@ -0,0 +1,746 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+-->
+<html>
+	<head>
+		<title>SCAYT Properties</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta content="noindex, nofollow" name="robots">
+		<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+		<link type="text/css" href="fck_scayt/scayt_dialog.css" rel="stylesheet" />
+		<script type="text/javascript">
+
+			var dialog	= window.parent ;
+			var oEditor	= dialog.InnerDialogLoaded() ;
+			var FCKLang = oEditor.FCKLang;
+			var scayt = oEditor.scayt;
+			var scayt_control = oEditor.scayt_control;
+			var lang_list = {};
+            var	sLang;
+			var	fckLang;
+            var chosed_lang;
+			var options;
+			var	tabs = scayt_control.uiTags || [1,1,0,1];
+			var	userDicActive = tabs[2] == 1;
+			var	captions;
+			var dic_buttons = [
+				// [0] contains buttons for creating
+				"dic_create,dic_restore",
+				// [1] contains buton for manipulation
+				"dic_rename,dic_delete"
+			];
+
+			var get =
+				new function(){
+
+					var mergeObjs = function(obj1, obj2)
+					{
+						for (var k in obj1)
+							obj2[k] = obj1[k];
+
+						return obj2;
+					};
+
+					var removeWhitespaces = function( s )
+					{
+						s = s.replace( new RegExp("^ +| +$"), '' ) ;
+						return s ;
+					};
+
+					var addEvent = function( el ,sEventName, fTodo )
+					{
+						if (el.addEventListener) {
+							el.addEventListener (sEventName,fTodo,false);
+
+						} else if (el.attachEvent) {
+							el.attachEvent ("on"+sEventName,fTodo);
+
+						} else {
+							el["on"+sEventName] = fTodo;
+						}
+					};
+
+					var getElementsByClassName = function (node,classname ,strTag) {
+						strTag = strTag || "*";
+					  	node = node || document;
+						if (node.getElementsByClassName)
+							return node.getElementsByClassName(classname);
+						else {
+							var objColl = node.getElementsByTagName(strTag);
+							if (!objColl.length &&  strTag == "*" &&  node.all) objColl = node.all;
+							var arr = new Array();
+							var delim = classname.indexOf('|') != -1  ? '|' : ' ';
+							var arrClass = classname.split(delim);
+							for (var i = 0, j = objColl.length; i < j; i++) {
+								var arrObjClass = objColl[i].className.split(' ');
+								if (delim == ' ' && arrClass.length > arrObjClass.length) continue;
+								var c = 0;
+								comparisonLoop:
+									for ( var k = 0, l = arrObjClass.length ; k < l ; k++ )
+									{
+										for ( var m = 0, n = arrClass.length ; m < n ; m++ )
+										{
+											if ( arrClass[m] == arrObjClass[k] )
+												c++ ;
+
+											if ( ( delim == '|' && c == 1 ) || ( delim == ' ' && c == arrClass.length ) )
+											{
+												arr.push( objColl[i] ) ;
+												break comparisonLoop ;
+											}
+										}
+									}
+							}
+							return arr;
+						}
+					};
+
+					var hasClassName = function ( sClassName, elem ) {
+						//.split(/\s+/);
+						var aCnames = elem.className.split(/\s+/) || [];
+						for (var i=0, l=aCnames.length; i<l ; i++){
+							if (sClassName == aCnames[i])
+								return true;
+						}
+						return false;
+					}
+
+					var single = {
+						addClass 	: function ( sClassName ) {
+							//console.info( sClassName, this.className, );
+							if ( hasClassName(sClassName , this) )
+								return this;
+							var s = removeWhitespaces(this.className + " " +sClassName);
+							this.className = s;
+							return this;
+
+						},
+						removeClass : function ( sClassName ) {
+							var s = removeWhitespaces(this.className.replace(sClassName,""));
+							this.className = s;
+							return this;
+						},
+						setStyle : function( oStyles )
+						{
+							for ( var style in oStyles )
+							{
+								this.style[style] = oStyles[style] ;
+							}
+							return this ;
+						},
+						bindOnclick		: function ( handler ) {
+							//addEvent( this, "click" , handler);
+							this.onclick = handler;
+							return this;
+						},
+						bindOnchange	: function ( handler ) {
+							//addEvent( this, "change" , handler);
+							this.onchange = handler;
+							return this;
+						},
+						getAttr : function ( sAttrName )
+						{
+							if ( !sAttrName )
+								return null;
+
+							return this[sAttrName];
+						},
+						setAttr : function ( sAttrName , attrVal )
+						{
+							if ( !sAttrName || !attrVal )
+								return null;
+
+							this[sAttrName] = attrVal;
+
+							return this;
+						},
+						remAttr : function ( sAttrName )
+						{
+							if ( !sAttrName )
+								return null;
+						}
+					};
+
+					var singleCaller = function ( sMethod,args ) {
+						for ( var i=0, l=this.length; i<l ; i++ ){
+							var oItem = mergeObjs( single, this[i] );
+							oItem[sMethod].apply(this[i],args);
+						}
+					};
+
+
+					var collection = {
+
+						addClass 	: function ( sClassName ){
+							singleCaller.call(this, "addClass", [sClassName])
+							return this;
+						},
+						removeClass 	: function ( sClassName ) {
+							singleCaller.call(this, "removeClass", [sClassName])
+							return this;
+						},
+						setStyle		: function ( oStyles ) {
+							singleCaller.call(this, "setStyle", [oStyles])
+							return this;
+						},
+						bindOnclick		: function ( f ) {
+							singleCaller.call(this, "bindOnclick", [f])
+							return this;
+						},
+						bindOnchange	: function ( f ) {
+							singleCaller.call(this, "bindOnchange", [f])
+							return this;
+						},
+
+						forEach : function ( fTodo ) {
+							//el,i
+							for (var i=0, l=this.length; i<l ; i++){
+								fTodo.apply(this[i], [this[i],i ]);
+							}
+							return this;
+						}
+
+					};
+
+
+
+					this.byClass = function( sClassName ){
+						var o = getElementsByClassName(document, sClassName );
+						return o ? mergeObjs( collection, o ) : o;
+					};
+
+					this.byId = function( sId ){
+						var o = document.getElementById( sId );
+						return o ? mergeObjs( single, o ) : o;
+					};
+
+					this.gup = function ( name ){
+				        name = name.replace( /[\[]/, '\\\[' ).replace( /[\]]/, '\\\]' ) ;
+				        var regexS = '[\\?&]' + name + '=([^&#]*)' ;
+				        var regex = new RegExp( regexS ) ;
+				        var results = regex.exec( window.location.href ) ;
+
+				        if( results == null )
+				            return '' ;
+				        else
+				            return results[ 1 ] ;
+					};
+					this.wrap = function ( o ) {
+						return o ? mergeObjs( single, o ) : o;
+					};
+					this.forEach = function ( oScope, fTodo ){
+						collection.forEach.apply( oScope,[fTodo] );
+					};
+
+				 };
+
+
+
+			// Add the dialog tabs.
+			tabs[0] == 1 && dialog.AddTab( 'options', 'Options' ) ;
+			tabs[1] == 1 && dialog.AddTab( 'langs', 'Languages' ) ;
+			tabs[2] == 1 && dialog.AddTab( 'dictionary', 'Dictionary' ) ;
+			tabs[3] == 1 && dialog.AddTab( 'about', 'About' ) ;
+
+			// Function called when a dialog tab is selected.
+			function OnDialogTabChange( tabCode )
+			{
+				ShowE('inner_options'	, ( tabCode == 'options' ) ) ;
+				ShowE('inner_langs'	, ( tabCode == 'langs' ) ) ;
+				ShowE('inner_dictionary'		, ( tabCode == 'dictionary' ) ) ;
+				ShowE('inner_about'	, ( tabCode == 'about' ) ) ;
+			}
+
+
+
+
+
+			window.onload = function()
+			{
+				// Things to do when the page is loaded.
+
+				if ( document.location.search.length )
+					dialog.SetSelectedTab( document.location.search.substr(1) ) ;
+
+				dialog.SetOkButton( true ) ;
+
+
+	                if (!scayt) throw "SCAYT is undefined";
+	                if (!scayt_control) throw "SCAYT_CONTROL is undefined";
+
+					// show alowed tabs
+					tabs = scayt_control.uiTags || [1,1,1,0];
+
+
+					sLang = scayt_control.getLang();
+	                fckLang = "en";
+					options = scayt_control.option();
+					// apply captions
+					scayt.getCaption( fckLang, function( caps )
+					{
+						//console.info( "scayt.getCaption runned" )
+						captions = caps;
+						apllyCaptions();
+						//lang_list = scayt.getLangList();
+		                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"}};
+
+
+
+
+		                // ** animate options
+		                get.byClass("_scayt_option").forEach(function(el,i){
+
+							if ('undefined' != typeof(options[el.name])) {
+		                        // *** set default values
+
+		                        if ( 1 == options[ el.name ] ){
+		                           //el.setAttribute("checked","true");
+								   get.wrap(el).setAttr("checked" ,true)
+								   //document.all_options[el.name].checked = "true";
+								   //el.checked = true;
+								   //alert( options[ dojo.attr(el ,'name') ] + " el " )
+		                        }
+								//console.info(options)
+		                        // *** bind events
+		                        get.wrap(el).bindOnclick( function(ev){
+
+									var that = get.wrap(this);
+									var isCheck = that.getAttr("checked");
+									//console.info(isCheck)
+		                            if ( isCheck == false ) {
+
+										//that.setAttr("checked",false);
+										options[ this.name ] = 0;
+		                            }else{
+		                                //that.setAttr("checked",true);
+										options[ this.name ] = 1;
+		                            }
+									//console.info(options)
+		                        });
+		                    }
+		                });
+
+
+		                // * Create languages tab
+		                // ** convert langs obj to array
+		                var lang_arr = [];
+
+		                for (var k in lang_list.rtl){
+		                    // find curent lang
+		                    if ( k == sLang)
+		                        chosed_lang = lang_list.rtl[k] + "::" + k;
+		                    lang_arr[lang_arr.length] = lang_list.rtl[k] + "::" + k;
+
+		                }
+		                for (var k in lang_list.ltr){
+		                     // find curent lang
+		                     if ( k == sLang)
+		                        chosed_lang = lang_list.ltr[k] + "::" + k;
+		                    lang_arr[lang_arr.length] = lang_list.ltr[k] + "::" + k;
+		                }
+		                lang_arr.sort();
+
+		                // ** find lang containers
+
+		                var lcol = get.byId("lcolid");
+		                var rcol = get.byId("rcolid");
+		                // ** place langs in DOM
+
+		                get.forEach(lang_arr , function( l , i ){
+
+							//console.info( l,i );
+
+							var l_arr = l.split('::');
+		                    var l_name = l_arr[0];
+		                    var l_code = l_arr[1];
+		                    var row = document.createElement('div');
+		                    row.id = l_code;
+		                    row.className = "li";
+		                    // split langs on half
+		                    var col = ( i < lang_arr.length/2 ) ? lcol:rcol ;
+
+		                    // append row
+		                    //console.dir( col )
+		                    col.appendChild(row);
+		                    var row_dom = get.byId( l_code )
+		                    row_dom.innerHTML = l_name;
+
+		                    var checkActiveLang = function( id ){
+		                        return chosed_lang.split("::")[1] == id;
+		                    };
+		                    // bind click
+		                    row_dom.bindOnclick(function(ev){
+
+		                        if ( checkActiveLang(this.id) ) return false;
+		                        var elId = this.id;
+								get.byId(this.id)
+	                            	.addClass("Button")
+	                            	.removeClass("DarkBackground");
+
+		                        window.setTimeout( function (){ get.byId(elId).setStyle({opacity:"0.5",cursor:"no-drop"});  } ,300 );
+
+		                        get.byId(chosed_lang.split("::")[1])
+		                            .addClass("DarkBackground")
+		                            .removeClass("Button")
+		                            .setStyle({opacity:"1",cursor:"pointer"});
+
+		                        chosed_lang = this.innerHTML + "::" + this.id;
+		                        return true;
+		                    })
+							.setStyle({
+		                        cursor:"pointer"
+		                    });
+		                    // select current lang
+		                    if (l == chosed_lang)
+		                        row_dom.addClass("Button").setStyle({opacity:"0.5",cursor:"no-drop"});
+		                    else
+		                        row_dom.addClass("DarkBackground").setStyle({opacity:"1"});
+
+		                });
+						// * user dictionary
+						if ( userDicActive ){
+							initUserDictionary()
+
+						}
+					});
+
+
+
+			}
+
+
+
+
+			var buttons = [ 'dic_create','dic_delete','dic_rename','dic_restore' ];
+			var labels  = [ 'mixedCase','mixedWithDigits','allCaps','ignoreDomainNames' ];
+
+
+			function apllyCaptions ( )
+			{
+
+				// fill tabs headers
+				// add missing captions
+
+				get.byClass("PopupTab").forEach(function(el,i){
+
+					if ( tabs[i] == 1 ){
+						el.style.display = "block";
+					}
+					el.innerHTML = captions['tab_'+el.id];
+
+				});
+
+				// Fill options labels.
+				for ( i in labels )
+				{
+					var label = 'label_' + labels[ i ],
+						labelElement = document.getElementById( label );
+
+					if (  'undefined' != typeof labelElement
+					   && 'undefined' != typeof captions[ label ] && captions[ label ] !== ""
+					   && 'undefined' != typeof options[labels[ i ]] )
+					{
+						labelElement.innerHTML = captions[ label ];
+						var labelParent = labelElement.parentNode;
+						labelParent.style.display = "block";
+					}
+				}
+				// fill dictionary section
+				for ( var i in buttons )
+				{
+					var button = buttons[ i ];
+					get.byId( button ).innerHTML = '<span>' + captions[ 'button_' + button]  +'</span>' ;
+				}
+				get.byId("dname").innerHTML = captions['label_dname'];
+				get.byId( 'dic_info' ).innerHTML = captions[ 'dic_info' ];
+
+				// fill about tab
+				var about = '<p>' + captions[ 'about_throwt_image' ] + '</p>'+
+					'<p>' + captions[ 'version' ]  + scayt.version.toString() + '</p>' +
+					'<p>' + captions[ 'about_throwt_copy' ] + '</p>';
+
+				get.byId( 'scayt_about' ).innerHTML = about;
+
+			}
+
+
+			function initUserDictionary () {
+
+				scayt.getNameUserDictionary(
+					function( o )
+					{
+						var dic_name = o.dname;
+						if ( dic_name )
+						{
+							get.byId( 'dic_name' ).value = dic_name;
+							display_dic_buttons( dic_buttons[1] );
+						}
+						else
+							display_dic_buttons( dic_buttons[0] );
+
+					},
+					function ()
+					{
+						get.byId( 'dic_name' ).value("");
+						dic_error_message(captions["err_dic_enable"] || "Used dictionary are unaveilable now.")
+					}
+				);
+
+				dic_success_message("");
+
+				 // ** bind event listeners
+                get.byClass("button").bindOnclick(function( ){
+
+					// get dic name
+					var dic_name = get.byId('dic_name').value ;
+					// check common dictionary rules
+					if (!dic_name) {
+						dic_error_message(" Dictionary name should not be empty. ");
+						return false;
+					}
+					//apply handler
+					window[this.id].apply( window, [this, dic_name, dic_buttons ] );
+
+					//console.info( typeof window[this.id], window[this.id].calle )
+					return false;
+				});
+
+			}
+
+			dic_create = function( el, dic_name , dic_buttons )
+			{
+				// comma separated button's ids include repeats if exists
+				var all_buttons = dic_buttons[0] + ',' + dic_buttons[1];
+
+				var err_massage = captions["err_dic_create"];
+				var suc_massage = captions["succ_dic_create"];
+				//console.info("--plugin ");
+
+				scayt.createUserDictionary(dic_name,
+					function(arg)
+						{
+							//console.info( "dic_create callback called with args" , arg );
+							hide_dic_buttons ( all_buttons );
+							display_dic_buttons ( dic_buttons[1] );
+							suc_massage = suc_massage.replace("%s" , arg.dname );
+							dic_success_message (suc_massage);
+						},
+					function(arg)
+						{
+							//console.info( "dic_create errorback called with args" , arg )
+							err_massage = err_massage.replace("%s" ,arg.dname );
+							dic_error_message ( err_massage + "( "+ (arg.message || "") +")");
+						});
+
+			};
+
+			dic_rename = function( el, dic_name , dic_buttons )
+			{
+				//
+				// try to rename dictionary
+				// @TODO: rename dict
+				//console.info ( captions["err_dic_rename"] )
+				var err_massage = captions["err_dic_rename"] || "";
+				var suc_massage = captions["succ_dic_rename"] || "";
+				scayt.renameUserDictionary(dic_name,
+					function(arg)
+						{
+							//console.info( "dic_rename callback called with args" , arg );
+							suc_massage = suc_massage.replace("%s" , arg.dname );
+							set_dic_name( dic_name );
+							dic_success_message ( suc_massage );
+						},
+					function(arg)
+						{
+							//console.info( "dic_rename errorback called with args" , arg )
+							err_massage = err_massage.replace("%s" , arg.dname  );
+							set_dic_name( dic_name );
+							dic_error_message( err_massage + "( " + ( arg.message || "" ) + " )" );
+						});
+			};
+
+			dic_delete = function ( el, dic_name , dic_buttons )
+			{
+				var all_buttons = dic_buttons[0] + ',' + dic_buttons[1];
+				var err_massage = captions["err_dic_delete"];
+				var suc_massage = captions["succ_dic_delete"];
+
+				// try to delete dictionary
+				// @TODO: delete dict
+				scayt.deleteUserDictionary(
+					function(arg)
+						{
+							//console.info( "dic_delete callback " , dic_name ,arg );
+							suc_massage = suc_massage.replace("%s" , arg.dname );
+							hide_dic_buttons ( all_buttons );
+							display_dic_buttons ( dic_buttons[0] );
+							set_dic_name( "" ); // empty input field
+							dic_success_message( suc_massage );
+						},
+					function(arg)
+						{
+							//console.info( " dic_delete errorback called with args" , arg )
+							err_massage = err_massage.replace("%s" , arg.dname );
+							dic_error_message(err_massage);
+						});
+			};
+
+			dic_restore = dialog.dic_restore || function ( el, dic_name , dic_buttons )
+			{
+				// try to restore existing dictionary
+				var all_buttons = dic_buttons[0] + ',' + dic_buttons[1];
+				var err_massage = captions["err_dic_restore"];
+				var suc_massage = captions["succ_dic_restore"];
+
+				scayt.restoreUserDictionary(dic_name,
+					function(arg)
+						{
+							//console.info( "dic_restore callback called with args" , arg );
+							suc_massage = suc_massage.replace("%s" , arg.dname );
+							hide_dic_buttons ( all_buttons );
+							display_dic_buttons(dic_buttons[1]);
+							dic_success_message( suc_massage );
+						},
+					function(arg)
+						{
+							//console.info( " dic_restore errorback called with args" , arg )
+							err_massage = err_massage.replace("%s" , arg.dname );
+							dic_error_message( err_massage );
+						});
+			};
+
+			function dic_error_message( m )
+			{
+				if ( !m )
+					return ;
+
+				get.byId('dic_message').innerHTML =  '<span class="error">' + m + '</span>' ;
+			}
+
+            function dic_success_message( m )
+            {
+				if ( !m )
+					return ;
+
+				get.byId('dic_message').innerHTML = '<span class="success">' + m + '</span>' ;
+			}
+
+			function display_dic_buttons ( sIds ){
+				sIds = new String( sIds );
+				get.forEach( sIds.split(','), function ( id,i) {
+					get.byId(id).setStyle({display:"inline"});
+				});
+			}
+			function hide_dic_buttons ( sIds ){
+				sIds = new String( sIds );
+				get.forEach( sIds.split(','), function ( id,i) {
+					get.byId(id).setStyle({display:"none"});
+				});
+			}
+			function set_dic_name ( dic_name ) {
+				get.byId('dic_name').value = dic_name;
+			}
+			function display_dic_tab () {
+				get.byId("dic_tab").style.display = "block";
+			}
+
+			function Ok()
+			{
+				// Things to do when the Ok button is clicked.
+				var c = 0;
+			    // set upp options if any was set
+			    var o = scayt_control.option();
+				//console.info(options)
+			    for ( var oN in options ) {
+
+			        if ( o[oN] != options[oN] && c == 0){
+						//console.info( "set option " )
+			            scayt_control.option( options );
+			            c++;
+			        }
+			    }
+			    //setup languge if it was change
+			    var csLang = chosed_lang.split("::")[1];
+			    if ( csLang && sLang != csLang ){
+			        scayt_control.setLang( csLang );
+					//console.info(sLang+" -> "+csLang , scayt_control)
+			        c++;
+			    }
+
+			    if ( c > 0 )  scayt_control.refresh();
+
+			    return dialog.Cancel();
+
+			}
+
+		</script>
+	</head>
+	<body style="OVERFLOW: hidden" scroll="no">
+		<div class="tab_container" id="inner_options">
+
+           <ul id="scayt_options">
+               <li class="_scayt_options">
+                   <input class="_scayt_option" type="checkbox" value="0" name="allCaps" />
+                   <label for="allCaps" id="label_allCaps"></label>
+               </li>
+               <li>
+                   <input class="_scayt_option" type="checkbox" value="0" name="ignoreDomainNames" />
+                   <label for="ignoreDomainNames" id="label_ignoreDomainNames"></label>
+               </li>
+               <li>
+                   <input class="_scayt_option" type="checkbox" value="0" name="mixedCase" />
+                   <label for="mixedCase" id="label_mixedCase"></label>
+               </li>
+               <li>
+                   <input class="_scayt_option" type="checkbox" value="0" name="mixedWithDigits" />
+                   <label for="mixedWithDigits" id="label_mixedWithDigits"></label>
+               </li>
+           </ul>
+		</div>
+		<div class="tab_container" id="inner_langs">
+
+		   <div class="lcol" id="lcolid"></div>
+           <div class="rcol" id="rcolid"></div>
+		</div>
+		<div class="tab_container" id="inner_dictionary">
+
+		   <div id="dic_message"></div>
+			<div id="_off_dic_tab" class="dictionary" >
+				<div style="padding-left:10px;">
+							<label id="dname" for="dname"></label>
+							<input type="text" size="14" maxlength="15" value="" id="dic_name" name="dic_name"/>
+						</div>
+						<div class="dic_buttons">
+							<a href="#" id="dic_create" class="button">  </a>
+							<a href="#" id="dic_delete" class="button">  </a>
+							<a href="#" id="dic_rename" class="button">  </a>
+							<a href="#" id="dic_restore" class="button">  </a>
+						</div>
+
+						<div id="dic_info"></div>
+
+			</div>
+		</div>
+		<div id="inner_about" class="tab_container">
+		   <div id="scayt_about"></div>
+		</div>
+	</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_table.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_table.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_table.html	(revision 1481)
@@ -0,0 +1,440 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Table dialog window.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>Table Properties</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<meta name="robots" content="noindex, nofollow" />
+	<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+	<script type="text/javascript">
+
+var dialog	= window.parent ;
+var oEditor = dialog.InnerDialogLoaded() ;
+
+var FCKDomTools = oEditor.FCKDomTools ;
+
+// Gets the table if there is one selected.
+var table ;
+var e = dialog.Selection.GetSelectedElement() ;
+var hasColumnHeaders ;
+
+if ( ( !e && document.location.search.substr(1) == 'Parent' ) || ( e && e.tagName != 'TABLE' ) )
+	e = oEditor.FCKSelection.MoveToAncestorNode( 'TABLE' ) ;
+
+if ( e && e.tagName == "TABLE" )
+	table = e ;
+
+// Fired when the window loading process is finished. It sets the fields with the
+// actual values if a table is selected in the editor.
+window.onload = function()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	if (table)
+	{
+		document.getElementById('txtRows').value    = table.rows.length ;
+		document.getElementById('txtColumns').value = table.rows[0].cells.length ;
+
+		// Gets the value from the Width or the Style attribute
+		var iWidth  = (table.style.width  ? table.style.width  : table.width ) ;
+		var iHeight = (table.style.height ? table.style.height : table.height ) ;
+
+		if (iWidth.indexOf('%') >= 0)			// Percentual = %
+		{
+			iWidth = parseInt( iWidth.substr(0,iWidth.length - 1), 10 ) ;
+			document.getElementById('selWidthType').value = "percent" ;
+		}
+		else if (iWidth.indexOf('px') >= 0)		// Style Pixel = px
+		{																										  //
+			iWidth = iWidth.substr(0,iWidth.length - 2);
+			document.getElementById('selWidthType').value = "pixels" ;
+		}
+
+		if (iHeight && iHeight.indexOf('px') >= 0)		// Style Pixel = px
+			iHeight = iHeight.substr(0,iHeight.length - 2);
+
+		document.getElementById('txtWidth').value		= iWidth || '' ;
+		document.getElementById('txtHeight').value		= iHeight || '' ;
+		document.getElementById('txtBorder').value		= GetAttribute( table, 'border', '' ) ;
+		document.getElementById('selAlignment').value	= GetAttribute( table, 'align', '' ) ;
+		document.getElementById('txtCellPadding').value	= GetAttribute( table, 'cellPadding', '' ) ;
+		document.getElementById('txtCellSpacing').value	= GetAttribute( table, 'cellSpacing', '' ) ;
+		document.getElementById('txtSummary').value     = GetAttribute( table, 'summary', '' ) ;
+//		document.getElementById('cmbFontStyle').value	= table.className ;
+
+		var eCaption = oEditor.FCKDomTools.GetFirstChild( table, 'CAPTION' ) ;
+		if ( eCaption ) document.getElementById('txtCaption').value = eCaption.innerHTML ;
+
+		hasColumnHeaders = true ;
+		// Check if all the first cells in every row are TH
+		for (var row=0; row<table.rows.length; row++)
+		{
+			// If just one cell isn't a TH then it isn't a header column
+			if ( table.rows[row].cells[0].nodeName != 'TH' )
+			{
+				hasColumnHeaders = false ;
+
+				break;
+			}
+		}
+
+		// Check if the table contains <thead>
+		if ((table.tHead !== null) )
+		{
+			if (hasColumnHeaders)
+				GetE('selHeaders').value = 'both' ;
+			else
+				GetE('selHeaders').value = 'row' ;
+		}
+		else
+		{
+			if (hasColumnHeaders)
+				GetE('selHeaders').value = 'col' ;
+			else
+				GetE('selHeaders').value = '' ;
+		}
+
+
+		document.getElementById('txtRows').disabled    = true ;
+		document.getElementById('txtColumns').disabled = true ;
+		SelectField( 'txtWidth' ) ;
+	}
+	else
+		SelectField( 'txtRows' ) ;
+
+	dialog.SetOkButton( true ) ;
+	dialog.SetAutoSize( true ) ;
+}
+
+// Fired when the user press the OK button
+function Ok()
+{
+	var bExists = ( table != null ) ;
+
+	var oDoc = oEditor.FCK.EditorDocument ;
+	oEditor.FCKUndo.SaveUndoStep() ;
+
+	if ( ! bExists )
+		table = oDoc.createElement( "TABLE" ) ;
+
+	// Removes the Width and Height styles
+	if ( bExists && table.style.width )		table.style.width = null ; //.removeAttribute("width") ;
+	if ( bExists && table.style.height )	table.style.height = null ; //.removeAttribute("height") ;
+
+	var sWidth = GetE('txtWidth').value ;
+	if ( sWidth.length > 0 && GetE('selWidthType').value == 'percent' )
+		sWidth += '%' ;
+
+	SetAttribute( table, 'width'		, sWidth ) ;
+	SetAttribute( table, 'height'		, GetE('txtHeight').value ) ;
+	SetAttribute( table, 'border'		, GetE('txtBorder').value ) ;
+	SetAttribute( table, 'align'		, GetE('selAlignment').value ) ;
+	SetAttribute( table, 'cellPadding'	, GetE('txtCellPadding').value ) ;
+	SetAttribute( table, 'cellSpacing'	, GetE('txtCellSpacing').value ) ;
+	SetAttribute( table, 'summary'		, GetE('txtSummary').value ) ;
+
+	var headers = GetE('selHeaders').value ;
+	if ( bExists )
+	{
+		// Should we make a <thead>?
+		if ( table.tHead==null && (headers=='row' || headers=='both') )
+		{
+			var oThead = table.createTHead() ;
+			var tbody = FCKDomTools.GetFirstChild( table, 'TBODY' ) ;
+			var theRow= FCKDomTools.GetFirstChild( tbody, 'TR' ) ;
+
+			//now change TD to TH:
+			for (var i = 0; i<theRow.childNodes.length ; i++)
+			{
+				var th = RenameNode(theRow.childNodes[i], 'TH') ;
+				if (th != null)
+					th.scope='col' ;
+			}
+			oThead.appendChild( theRow ) ;
+		}
+
+		if ( table.tHead!==null && !(headers=='row' || headers=='both') )
+		{
+			// Move the row out of the THead and put it in the TBody:
+			var tHead = table.tHead ;
+			var tbody = FCKDomTools.GetFirstChild( table, 'TBODY' ) ;
+
+			var previousFirstRow = tbody.firstChild ;
+			while ( tHead.firstChild )
+			{
+				var theRow = tHead.firstChild ;
+				for (var i = 0; i < theRow.childNodes.length ; i++ )
+				{
+					var newCell = RenameNode( theRow.childNodes[i], 'TD' ) ;
+					if ( newCell != null )
+						newCell.removeAttribute( 'scope' ) ;
+				}
+				tbody.insertBefore( theRow, previousFirstRow ) ;
+			}
+			table.removeChild( tHead ) ;
+		}
+
+		// Should we make all first cells in a row TH?
+		if ( (!hasColumnHeaders)  && (headers=='col' || headers=='both') )
+		{
+			for( var row=0 ; row < table.rows.length ; row++ )
+			{
+				var newCell = RenameNode(table.rows[row].cells[0], 'TH') ;
+				if ( newCell != null )
+					newCell.scope = 'row' ;
+			}
+		}
+
+		// Should we make all first TH-cells in a row make TD? If 'yes' we do it the other way round :-)
+		if ( (hasColumnHeaders)  && !(headers=='col' || headers=='both') )
+		{
+			for( var row=0 ; row < table.rows.length ; row++ )
+			{
+				var oRow = table.rows[row] ;
+				if ( oRow.parentNode.nodeName == 'TBODY' )
+				{
+					var newCell = RenameNode(oRow.cells[0], 'TD') ;
+					if (newCell != null)
+						newCell.removeAttribute( 'scope' ) ;
+				}
+			}
+		}
+	}
+
+	if (! bExists)
+	{
+		var iRows = GetE('txtRows').value ;
+		var iCols = GetE('txtColumns').value ;
+
+		var startRow = 0 ;
+		// Should we make a <thead> ?
+		if (headers=='row' || headers=='both')
+		{
+			startRow++ ;
+			var oThead = table.createTHead() ;
+			var oRow = table.insertRow(-1) ;
+			oThead.appendChild(oRow);
+
+			for ( var c = 0 ; c < iCols ; c++ )
+			{
+				var oThcell = oDoc.createElement( 'TH' ) ;
+				oThcell.scope = 'col' ;
+				oRow.appendChild( oThcell ) ;
+				if ( oEditor.FCKBrowserInfo.IsGeckoLike )
+					oEditor.FCKTools.AppendBogusBr( oThcell ) ;
+			}
+		}
+
+		// Opera automatically creates a tbody when a thead has been added
+		var oTbody = FCKDomTools.GetFirstChild( table, 'TBODY' ) ;
+		if ( !oTbody )
+		{
+			// make TBODY if it doesn't exist
+			oTbody = oDoc.createElement( 'TBODY' ) ;
+			table.appendChild( oTbody ) ;
+		}
+		for ( var r = startRow ; r < iRows; r++ )
+		{
+			var oRow = oDoc.createElement( 'TR' ) ;
+			oTbody.appendChild(oRow) ;
+
+			var startCol = 0 ;
+			// Is the first column a header?
+			if (headers=='col' || headers=='both')
+			{
+				var oThcell = oDoc.createElement( 'TH' ) ;
+				oThcell.scope = 'row' ;
+				oRow.appendChild( oThcell ) ;
+				if ( oEditor.FCKBrowserInfo.IsGeckoLike )
+					oEditor.FCKTools.AppendBogusBr( oThcell ) ;
+
+				startCol++ ;
+			}
+			for ( var c = startCol ; c < iCols ; c++ )
+			{
+				// IE will leave the TH at the end of the row if we use now oRow.insertCell(-1)
+				var oCell = oDoc.createElement( 'TD' ) ;
+				oRow.appendChild( oCell ) ;
+				if ( oEditor.FCKBrowserInfo.IsGeckoLike )
+					oEditor.FCKTools.AppendBogusBr( oCell ) ;
+			}
+		}
+
+		oEditor.FCK.InsertElement( table ) ;
+	}
+
+	var eCaption = oEditor.FCKDomTools.GetFirstChild( table, 'CAPTION' ) ;
+
+	if ( eCaption && !oEditor.FCKBrowserInfo.IsIE )
+		eCaption.parentNode.removeChild( eCaption ) ;
+
+	if ( document.getElementById('txtCaption').value != '' )
+	{
+		if ( !eCaption || !oEditor.FCKBrowserInfo.IsIE )
+		{
+			eCaption = oDoc.createElement( 'CAPTION' ) ;
+			table.insertBefore( eCaption, table.firstChild ) ;
+		}
+
+		eCaption.innerHTML = document.getElementById('txtCaption').value ;
+	}
+	else if ( bExists && eCaption )
+	{
+		// TODO: It causes an IE internal error if using removeChild or
+		// table.deleteCaption() (see #505).
+		if ( oEditor.FCKBrowserInfo.IsIE )
+			eCaption.innerHTML = '' ;
+	}
+
+	return true ;
+}
+
+	</script>
+</head>
+<body style="overflow: hidden">
+	<table id="otable" cellspacing="0" cellpadding="0" width="100%" border="0" style="height: 100%">
+		<tr>
+			<td>
+				<table cellspacing="1" cellpadding="1" width="100%" border="0">
+					<tr>
+						<td valign="top">
+							<table cellspacing="1" cellpadding="0" border="0">
+								<tr>
+									<td>
+										<span fcklang="DlgTableRows">Rows</span>:</td>
+									<td>
+										&nbsp;<input id="txtRows" type="text" maxlength="3" size="2" value="3"
+											onkeypress="return IsDigit(event);" /></td>
+								</tr>
+								<tr>
+									<td>
+										<span fcklang="DlgTableColumns">Columns</span>:</td>
+									<td>
+										&nbsp;<input id="txtColumns" type="text" maxlength="2" size="2" value="2"
+											onkeypress="return IsDigit(event);" /></td>
+								</tr>
+								<tr>
+									<td><span fcklang="DlgTableHeaders">Headers</span>:</td>
+									<td>
+										&nbsp;<select id="selHeaders">
+											<option fcklang="DlgTableHeadersNone" value="">None</option>
+											<option fcklang="DlgTableHeadersRow" value="row">First row</option>
+											<option fcklang="DlgTableHeadersColumn" value="col">First column</option>
+											<option fcklang="DlgTableHeadersBoth" value="both">Both</option>
+										</select>
+									</td>
+								</tr>
+								<tr>
+									<td>
+										<span fcklang="DlgTableBorder">Border size</span>:</td>
+									<td>
+										&nbsp;<input id="txtBorder" type="text" maxlength="2" size="2" value="1"
+											onkeypress="return IsDigit(event);" /></td>
+								</tr>
+								<tr>
+									<td>
+										<span fcklang="DlgTableAlign">Alignment</span>:</td>
+									<td>
+										&nbsp;<select id="selAlignment">
+											<option fcklang="DlgTableAlignNotSet" value="" selected="selected">&lt;Not set&gt;</option>
+											<option fcklang="DlgTableAlignLeft" value="left">Left</option>
+											<option fcklang="DlgTableAlignCenter" value="center">Center</option>
+											<option fcklang="DlgTableAlignRight" value="right">Right</option>
+										</select></td>
+								</tr>
+							</table>
+						</td>
+						<td>
+							&nbsp;&nbsp;&nbsp;</td>
+						<td align="right" valign="top">
+							<table cellspacing="0" cellpadding="0" border="0">
+								<tr>
+									<td>
+										<span fcklang="DlgTableWidth">Width</span>:</td>
+									<td>
+										&nbsp;<input id="txtWidth" type="text" maxlength="4" size="3" value="200"
+											onkeypress="return IsDigit(event);" /></td>
+									<td>
+										&nbsp;<select id="selWidthType">
+											<option fcklang="DlgTableWidthPx" value="pixels" selected="selected">pixels</option>
+											<option fcklang="DlgTableWidthPc" value="percent">percent</option>
+										</select></td>
+								</tr>
+								<tr>
+									<td>
+										<span fcklang="DlgTableHeight">Height</span>:</td>
+									<td>
+										&nbsp;<input id="txtHeight" type="text" maxlength="4" size="3" onkeypress="return IsDigit(event);" /></td>
+									<td>
+										&nbsp;<span fcklang="DlgTableWidthPx">pixels</span></td>
+								</tr>
+								<tr>
+									<td colspan="3">&nbsp;</td>
+								</tr>
+								<tr>
+									<td nowrap="nowrap">
+										<span fcklang="DlgTableCellSpace">Cell spacing</span>:</td>
+									<td>
+										&nbsp;<input id="txtCellSpacing" type="text" maxlength="2" size="2" value="1"
+											onkeypress="return IsDigit(event);" /></td>
+									<td>
+										&nbsp;</td>
+								</tr>
+								<tr>
+									<td nowrap="nowrap">
+										<span fcklang="DlgTableCellPad">Cell padding</span>:</td>
+									<td>
+										&nbsp;<input id="txtCellPadding" type="text" maxlength="2" size="2" value="1"
+											onkeypress="return IsDigit(event);" /></td>
+									<td>
+										&nbsp;</td>
+								</tr>
+							</table>
+						</td>
+					</tr>
+				</table>
+				<table cellspacing="0" cellpadding="0" width="100%" border="0">
+					<tr>
+						<td nowrap="nowrap">
+							<span fcklang="DlgTableCaption">Caption</span>:&nbsp;</td>
+						<td>
+							&nbsp;</td>
+						<td width="100%" nowrap="nowrap">
+							<input id="txtCaption" type="text" style="width: 100%" /></td>
+					</tr>
+					<tr>
+						<td nowrap="nowrap">
+							<span fcklang="DlgTableSummary">Summary</span>:&nbsp;</td>
+						<td>
+							&nbsp;</td>
+						<td width="100%" nowrap="nowrap">
+							<input id="txtSummary" type="text" style="width: 100%" /></td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+	</table>
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_tablecell.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_tablecell.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_tablecell.html	(revision 1481)
@@ -0,0 +1,293 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Cell properties dialog window.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>Table Cell Properties</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<meta name="robots" content="noindex, nofollow" />
+	<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+	<script type="text/javascript">
+
+var dialog	= window.parent ;
+var oEditor = dialog.InnerDialogLoaded() ;
+
+var FCKDomTools = oEditor.FCKDomTools ;
+
+// Array of selected Cells
+var aCells = oEditor.FCKTableHandler.GetSelectedCells() ;
+
+window.onload = function()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage( document ) ;
+
+	SetStartupValue() ;
+
+	dialog.SetOkButton( true ) ;
+	dialog.SetAutoSize( true ) ;
+	SelectField( 'txtWidth' ) ;
+}
+
+function SetStartupValue()
+{
+	if ( aCells.length > 0 )
+	{
+		var oCell = aCells[0] ;
+		var iWidth = GetAttribute( oCell, 'width' ) ;
+
+		if ( iWidth.indexOf && iWidth.indexOf( '%' ) >= 0 )
+		{
+			iWidth = iWidth.substr( 0, iWidth.length - 1 ) ;
+			GetE('selWidthType').value = 'percent' ;
+		}
+
+		if ( oCell.attributes['noWrap'] != null && oCell.attributes['noWrap'].specified )
+			GetE('selWordWrap').value = !oCell.noWrap ;
+
+		GetE('txtWidth').value			= iWidth ;
+		GetE('txtHeight').value			= GetAttribute( oCell, 'height' ) ;
+		GetE('selHAlign').value			= GetAttribute( oCell, 'align' ) ;
+		GetE('selVAlign').value			= GetAttribute( oCell, 'vAlign' ) ;
+		GetE('txtRowSpan').value		= GetAttribute( oCell, 'rowSpan' ) ;
+		GetE('txtCollSpan').value		= GetAttribute( oCell, 'colSpan' ) ;
+		GetE('txtBackColor').value		= GetAttribute( oCell, 'bgColor' ) ;
+		GetE('txtBorderColor').value	= GetAttribute( oCell, 'borderColor' ) ;
+		GetE('selCellType').value     = oCell.nodeName.toLowerCase() ;
+	}
+}
+
+// Fired when the user press the OK button
+function Ok()
+{
+	oEditor.FCKUndo.SaveUndoStep() ;
+
+	for( i = 0 ; i < aCells.length ; i++ )
+	{
+		if ( GetE('txtWidth').value.length > 0 )
+			aCells[i].width	= GetE('txtWidth').value + ( GetE('selWidthType').value == 'percent' ? '%' : '') ;
+		else
+			aCells[i].removeAttribute( 'width', 0 ) ;
+
+		if ( GetE('selWordWrap').value == 'false' )
+			SetAttribute( aCells[i], 'noWrap', 'nowrap' ) ;
+		else
+			aCells[i].removeAttribute( 'noWrap' ) ;
+
+		SetAttribute( aCells[i], 'height'		, GetE('txtHeight').value ) ;
+		SetAttribute( aCells[i], 'align'		, GetE('selHAlign').value ) ;
+		SetAttribute( aCells[i], 'vAlign'		, GetE('selVAlign').value ) ;
+		SetAttribute( aCells[i], 'rowSpan'		, GetE('txtRowSpan').value ) ;
+		SetAttribute( aCells[i], 'colSpan'		, GetE('txtCollSpan').value ) ;
+		SetAttribute( aCells[i], 'bgColor'		, GetE('txtBackColor').value ) ;
+		SetAttribute( aCells[i], 'borderColor'	, GetE('txtBorderColor').value ) ;
+
+		var cellType = GetE('selCellType').value ;
+		if ( aCells[i].nodeName.toLowerCase() != cellType )
+			aCells[i] = RenameNode( aCells[i], cellType ) ;
+	}
+
+	// The cells need to be reselected, otherwise the caret will appear inside the table borders (Gecko)
+	// or sent back to the beginning of the document (Opera and Safari).
+	// Strangely, IE works ok so no change is needed for IE.
+	if ( !oEditor.FCKBrowserInfo.IsIE )
+	{
+		var selection = oEditor.FCK.EditorWindow.getSelection() ;
+		selection.removeAllRanges() ;
+		for ( var i = 0 ; i < aCells.length ; i++ )
+		{
+			var range = oEditor.FCK.EditorDocument.createRange() ;
+			range.selectNode( aCells[i] ) ;
+			selection.addRange( range ) ;
+		}
+	}
+
+	return true ;
+}
+
+function SelectBackColor( color )
+{
+	if ( color && color.length > 0 )
+		GetE('txtBackColor').value = color ;
+}
+
+function SelectBorderColor( color )
+{
+	if ( color && color.length > 0 )
+		GetE('txtBorderColor').value = color ;
+}
+
+function SelectColor( wich )
+{
+	oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', oEditor.FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, wich == 'Back' ? SelectBackColor : SelectBorderColor ) ;
+}
+
+	</script>
+</head>
+<body scroll="no" style="overflow: hidden">
+	<table cellspacing="0" cellpadding="0" width="100%" border="0" height="100%">
+		<tr>
+			<td>
+				<table cellspacing="1" cellpadding="1" width="100%" border="0">
+					<tr>
+						<td>
+							<table cellspacing="0" cellpadding="0" border="0">
+								<tr>
+									<td nowrap="nowrap">
+										<span fcklang="DlgCellWidth">Width</span>:</td>
+									<td>
+										&nbsp;<input onkeypress="return IsDigit(event);" id="txtWidth" type="text" maxlength="4"
+											size="3" />&nbsp;<select id="selWidthType">
+												<option fcklang="DlgCellWidthPx" value="pixels" selected="selected">pixels</option>
+												<option fcklang="DlgCellWidthPc" value="percent">percent</option>
+											</select></td>
+								</tr>
+								<tr>
+									<td nowrap="nowrap">
+										<span fcklang="DlgCellHeight">Height</span>:</td>
+									<td>
+										&nbsp;<input id="txtHeight" type="text" maxlength="4" size="3" onkeypress="return IsDigit(event);" />&nbsp;<span
+											fcklang="DlgCellWidthPx">pixels</span></td>
+								</tr>
+								<tr>
+									<td>
+										&nbsp;</td>
+									<td>
+										&nbsp;</td>
+								</tr>
+								<tr>
+									<td nowrap="nowrap">
+										<span fcklang="DlgCellWordWrap">Word Wrap</span>:</td>
+									<td>
+										&nbsp;<select id="selWordWrap">
+											<option fcklang="DlgCellWordWrapYes" value="true" selected="selected">Yes</option>
+											<option fcklang="DlgCellWordWrapNo" value="false">No</option>
+										</select></td>
+								</tr>
+								<tr>
+									<td>
+										&nbsp;</td>
+									<td>
+										&nbsp;</td>
+								</tr>
+								<tr>
+									<td nowrap="nowrap">
+										<span fcklang="DlgCellHorAlign">Horizontal Alignment</span>:</td>
+									<td>
+										&nbsp;<select id="selHAlign">
+											<option fcklang="DlgCellHorAlignNotSet" value="" selected>&lt;Not set&gt;</option>
+											<option fcklang="DlgCellHorAlignLeft" value="left">Left</option>
+											<option fcklang="DlgCellHorAlignCenter" value="center">Center</option>
+											<option fcklang="DlgCellHorAlignRight" value="right">Right</option>
+										</select></td>
+								</tr>
+								<tr>
+									<td nowrap="nowrap">
+										<span fcklang="DlgCellVerAlign">Vertical Alignment</span>:</td>
+									<td>
+										&nbsp;<select id="selVAlign">
+											<option fcklang="DlgCellVerAlignNotSet" value="" selected>&lt;Not set&gt;</option>
+											<option fcklang="DlgCellVerAlignTop" value="top">Top</option>
+											<option fcklang="DlgCellVerAlignMiddle" value="middle">Middle</option>
+											<option fcklang="DlgCellVerAlignBottom" value="bottom">Bottom</option>
+											<option fcklang="DlgCellVerAlignBaseline" value="baseline">Baseline</option>
+										</select></td>
+								</tr>
+							</table>
+						</td>
+						<td>
+							&nbsp;&nbsp;&nbsp;</td>
+						<td align="right">
+							<table cellspacing="0" cellpadding="0" border="0">
+								<tr>
+									<td nowrap="nowrap">
+									 <span fcklang="DlgCellType">Cell Type</span>:</td>
+									<td colspan="2">
+										&nbsp; <select id="selCellType">
+											<option fcklang="DlgCellTypeData" value="td">Data</option>
+											<option fcklang="DlgCellTypeHeader" value="th">Header</option>
+										</select>
+								</tr>
+								<tr>
+									<td>
+										&nbsp;</td>
+									<td>
+										&nbsp;</td>
+									<td>
+										&nbsp;</td>
+								</tr>
+								<tr>
+									<td nowrap="nowrap">
+										<span fcklang="DlgCellRowSpan">Rows Span</span>:</td>
+									<td>
+										&nbsp;
+										<input onkeypress="return IsDigit(event);" id="txtRowSpan" type="text" maxlength="3" size="2"
+											></td>
+									<td>
+									</td>
+								</tr>
+								<tr>
+									<td nowrap="nowrap">
+										<span fcklang="DlgCellCollSpan">Columns Span</span>:</td>
+									<td>
+										&nbsp;
+										<input onkeypress="return IsDigit(event);" id="txtCollSpan" type="text" maxlength="2"
+											size="2"></td>
+									<td>
+									</td>
+								</tr>
+								<tr>
+									<td>
+										&nbsp;</td>
+									<td>
+										&nbsp;</td>
+									<td>
+										&nbsp;</td>
+								</tr>
+								<tr>
+									<td nowrap="nowrap">
+										<span fcklang="DlgCellBackColor">Background Color</span>:</td>
+									<td>
+										&nbsp;<input id="txtBackColor" type="text" size="8" /></td>
+									<td>
+										&nbsp;
+										<input type="button" fcklang="DlgCellBtnSelect" value="Select..." onclick="SelectColor( 'Back' )"></td>
+								</tr>
+								<tr>
+									<td nowrap="nowrap">
+										<span fcklang="DlgCellBorderColor">Border Color</span>:</td>
+									<td>
+										&nbsp;<input id="txtBorderColor" type="text" size="8" /></td>
+									<td>
+										&nbsp;
+										<input type="button" fcklang="DlgCellBtnSelect" value="Select..." onclick="SelectColor( 'Border' )" /></td>
+								</tr>
+							</table>
+						</td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+	</table>
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_docprops.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_docprops.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_docprops.html	(revision 1481)
@@ -0,0 +1,600 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Link dialog window.
+-->
+<html>
+<head>
+	<title></title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
+	<meta content="noindex, nofollow" name="robots" >
+	<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+	<script type="text/javascript">
+
+var oEditor		= window.parent.InnerDialogLoaded() ;
+var FCK			= oEditor.FCK ;
+var FCKLang		= oEditor.FCKLang ;
+var FCKConfig	= oEditor.FCKConfig ;
+
+//#### Dialog Tabs
+
+// Set the dialog tabs.
+window.parent.AddTab( 'General'		, FCKLang.DlgDocGeneralTab ) ;
+window.parent.AddTab( 'Background'	, FCKLang.DlgDocBackTab ) ;
+window.parent.AddTab( 'Colors'		, FCKLang.DlgDocColorsTab ) ;
+window.parent.AddTab( 'Meta'		, FCKLang.DlgDocMetaTab ) ;
+
+// Function called when a dialog tag is selected.
+function OnDialogTabChange( tabCode )
+{
+	ShowE( 'divGeneral'		, ( tabCode == 'General' ) ) ;
+	ShowE( 'divBackground'	, ( tabCode == 'Background' ) ) ;
+	ShowE( 'divColors'		, ( tabCode == 'Colors' ) ) ;
+	ShowE( 'divMeta'		, ( tabCode == 'Meta' ) ) ;
+
+	ShowE( 'ePreview'		, ( tabCode == 'Background' || tabCode == 'Colors' ) ) ;
+}
+
+//#### Get Base elements from the document: BEGIN
+
+// The HTML element of the document.
+var oHTML = FCK.EditorDocument.getElementsByTagName('html')[0] ;
+
+// The HEAD element of the document.
+var oHead = oHTML.getElementsByTagName('head')[0] ;
+
+var oBody = FCK.EditorDocument.body ;
+
+// This object contains all META tags defined in the document.
+var oMetaTags = new Object() ;
+
+// Get all META tags defined in the document.
+AppendMetaCollection( oMetaTags, oHead.getElementsByTagName('meta') ) ;
+AppendMetaCollection( oMetaTags, oHead.getElementsByTagName('fck:meta') ) ;
+
+function AppendMetaCollection( targetObject, metaCollection )
+{
+	// Loop throw all METAs and put it in the HashTable.
+	for ( var i = 0 ; i < metaCollection.length ; i++ )
+	{
+		// Try to get the "name" attribute.
+		var sName = GetAttribute( metaCollection[i], 'name', GetAttribute( metaCollection[i], '___fcktoreplace:name', '' ) ) ;
+
+		// If no "name", try with the "http-equiv" attribute.
+		if ( sName.length == 0 )
+		{
+			if ( oEditor.FCKBrowserInfo.IsIE )
+			{
+				// Get the http-equiv value from the outerHTML.
+				var oHttpEquivMatch = metaCollection[i].outerHTML.match( oEditor.FCKRegexLib.MetaHttpEquiv ) ;
+				if ( oHttpEquivMatch )
+					sName = oHttpEquivMatch[1] ;
+			}
+			else
+				sName = GetAttribute( metaCollection[i], 'http-equiv', '' ) ;
+		}
+
+		if ( sName.length > 0 )
+			targetObject[ sName.toLowerCase() ] = metaCollection[i] ;
+	}
+}
+
+//#### END
+
+// Set a META tag in the document.
+function SetMetadata( name, content, isHttp )
+{
+	if ( content.length == 0 )
+	{
+		RemoveMetadata( name ) ;
+		return ;
+	}
+
+	var oMeta = oMetaTags[ name.toLowerCase() ] ;
+
+	if ( !oMeta )
+	{
+		oMeta = oHead.appendChild( FCK.EditorDocument.createElement('META') ) ;
+
+		if ( isHttp )
+			SetAttribute( oMeta, 'http-equiv', name ) ;
+		else
+		{
+			// On IE, it is not possible to set the "name" attribute of the META tag.
+			// So a temporary attribute is used and it is replaced when getting the
+			// editor's HTML/XHTML value. This is sad, I know :(
+			if ( oEditor.FCKBrowserInfo.IsIE )
+				SetAttribute( oMeta, '___fcktoreplace:name', name ) ;
+			else
+				SetAttribute( oMeta, 'name', name ) ;
+		}
+
+		oMetaTags[ name.toLowerCase() ] = oMeta ;
+	}
+
+	SetAttribute( oMeta, 'content', content ) ;
+//	oMeta.content = content ;
+}
+
+function RemoveMetadata( name )
+{
+	var oMeta = oMetaTags[ name.toLowerCase() ] ;
+
+	if ( oMeta && oMeta != null )
+	{
+		oMeta.parentNode.removeChild( oMeta ) ;
+		oMetaTags[ name.toLowerCase() ] = null ;
+	}
+}
+
+function GetMetadata( name )
+{
+	var oMeta = oMetaTags[ name.toLowerCase() ] ;
+
+	if ( oMeta && oMeta != null )
+		return oMeta.getAttribute( 'content', 2 ) ;
+	else
+		return '' ;
+}
+
+window.onload = function ()
+{
+	// Show/Hide the "Browse Server" button.
+	GetE('tdBrowse').style.display = oEditor.FCKConfig.ImageBrowser ? "" : "none";
+
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage( document ) ;
+
+	FillFields() ;
+
+	UpdatePreview() ;
+
+	// Show the "Ok" button.
+	window.parent.SetOkButton( true ) ;
+
+	window.parent.SetAutoSize( true ) ;
+}
+
+function FillFields()
+{
+	// ### General Info
+	GetE('txtPageTitle').value = FCK.EditorDocument.title ;
+
+	GetE('selDirection').value	= GetAttribute( oHTML, 'dir', '' ) ;
+	GetE('txtLang').value		= GetAttribute( oHTML, 'xml:lang', GetAttribute( oHTML, 'lang', '' ) ) ;	// "xml:lang" takes precedence to "lang".
+
+	// Character Set Encoding.
+//	if ( oEditor.FCKBrowserInfo.IsIE )
+//		var sCharSet = FCK.EditorDocument.charset ;
+//	else
+		var sCharSet = GetMetadata( 'Content-Type' ) ;
+
+	if ( sCharSet != null && sCharSet.length > 0 )
+	{
+//		if ( !oEditor.FCKBrowserInfo.IsIE )
+			sCharSet = sCharSet.match( /[^=]*$/ ) ;
+
+		GetE('selCharSet').value = sCharSet ;
+
+		if ( GetE('selCharSet').selectedIndex == -1 )
+		{
+			GetE('selCharSet').value = '...' ;
+			GetE('txtCustomCharSet').value = sCharSet ;
+
+			CheckOther( GetE('selCharSet'), 'txtCustomCharSet' ) ;
+		}
+	}
+
+	// Document Type.
+	if ( FCK.DocTypeDeclaration && FCK.DocTypeDeclaration.length > 0 )
+	{
+		GetE('selDocType').value = FCK.DocTypeDeclaration ;
+
+		if ( GetE('selDocType').selectedIndex == -1 )
+		{
+			GetE('selDocType').value = '...' ;
+			GetE('txtDocType').value = FCK.DocTypeDeclaration ;
+
+			CheckOther( GetE('selDocType'), 'txtDocType' ) ;
+		}
+	}
+
+	// Document Type.
+	GetE('chkIncXHTMLDecl').checked = ( FCK.XmlDeclaration && FCK.XmlDeclaration.length > 0 ) ;
+
+	// ### Background
+	GetE('txtBackColor').value = GetAttribute( oBody, 'bgColor'		, '' ) ;
+	GetE('txtBackImage').value = GetAttribute( oBody, 'background'	, '' ) ;
+	GetE('chkBackNoScroll').checked = ( GetAttribute( oBody, 'bgProperties', '' ).toLowerCase() == 'fixed' ) ;
+
+	// ### Colors
+	GetE('txtColorText').value		= GetAttribute( oBody, 'text'	, '' ) ;
+	GetE('txtColorLink').value		= GetAttribute( oBody, 'link'	, '' ) ;
+	GetE('txtColorVisited').value	= GetAttribute( oBody, 'vLink'	, '' ) ;
+	GetE('txtColorActive').value	= GetAttribute( oBody, 'aLink'	, '' ) ;
+
+	// ### Margins
+	GetE('txtMarginTop').value		= GetAttribute( oBody, 'topMargin'		, '' ) ;
+	GetE('txtMarginLeft').value		= GetAttribute( oBody, 'leftMargin'		, '' ) ;
+	GetE('txtMarginRight').value	= GetAttribute( oBody, 'rightMargin'	, '' ) ;
+	GetE('txtMarginBottom').value	= GetAttribute( oBody, 'bottomMargin'	, '' ) ;
+
+	// ### Meta Data
+	GetE('txtMetaKeywords').value		= GetMetadata( 'keywords' ) ;
+	GetE('txtMetaDescription').value	= GetMetadata( 'description' ) ;
+	GetE('txtMetaAuthor').value			= GetMetadata( 'author' ) ;
+	GetE('txtMetaCopyright').value		= GetMetadata( 'copyright' ) ;
+}
+
+// Called when the "Ok" button is clicked.
+function Ok()
+{
+	// ### General Info
+	FCK.EditorDocument.title = GetE('txtPageTitle').value ;
+
+	var oHTML = FCK.EditorDocument.getElementsByTagName('html')[0] ;
+
+	SetAttribute( oHTML, 'dir'		, GetE('selDirection').value ) ;
+	SetAttribute( oHTML, 'lang'		, GetE('txtLang').value ) ;
+	SetAttribute( oHTML, 'xml:lang'	, GetE('txtLang').value ) ;
+
+	// Character Set Enconding.
+	var sCharSet = GetE('selCharSet').value ;
+	if ( sCharSet == '...' )
+		sCharSet = GetE('txtCustomCharSet').value ;
+
+	if ( sCharSet.length > 0 )
+			sCharSet = 'text/html; charset=' + sCharSet ;
+
+//	if ( oEditor.FCKBrowserInfo.IsIE )
+//		FCK.EditorDocument.charset = sCharSet ;
+//	else
+		SetMetadata( 'Content-Type', sCharSet, true ) ;
+
+	// Document Type
+	var sDocType = GetE('selDocType').value ;
+	if ( sDocType == '...' )
+		sDocType = GetE('txtDocType').value ;
+
+	FCK.DocTypeDeclaration = sDocType ;
+
+	// XHTML Declarations.
+	if ( GetE('chkIncXHTMLDecl').checked )
+	{
+		if ( sCharSet.length == 0 )
+			sCharSet = 'utf-8' ;
+
+		FCK.XmlDeclaration = '<' + '?xml version="1.0" encoding="' + sCharSet + '"?>' ;
+
+		SetAttribute( oHTML, 'xmlns', 'http://www.w3.org/1999/xhtml' ) ;
+	}
+	else
+	{
+		FCK.XmlDeclaration = null ;
+		oHTML.removeAttribute( 'xmlns', 0 ) ;
+	}
+
+	// ### Background
+	SetAttribute( oBody, 'bgcolor'		, GetE('txtBackColor').value ) ;
+	SetAttribute( oBody, 'background'	, GetE('txtBackImage').value ) ;
+	SetAttribute( oBody, 'bgproperties'	, GetE('chkBackNoScroll').checked ? 'fixed' : '' ) ;
+
+	// ### Colors
+	SetAttribute( oBody, 'text'	, GetE('txtColorText').value ) ;
+	SetAttribute( oBody, 'link'	, GetE('txtColorLink').value ) ;
+	SetAttribute( oBody, 'vlink', GetE('txtColorVisited').value ) ;
+	SetAttribute( oBody, 'alink', GetE('txtColorActive').value ) ;
+
+	// ### Margins
+	SetAttribute( oBody, 'topmargin'	, GetE('txtMarginTop').value ) ;
+	SetAttribute( oBody, 'leftmargin'	, GetE('txtMarginLeft').value ) ;
+	SetAttribute( oBody, 'rightmargin'	, GetE('txtMarginRight').value ) ;
+	SetAttribute( oBody, 'bottommargin'	, GetE('txtMarginBottom').value ) ;
+
+	// ### Meta data
+	SetMetadata( 'keywords'		, GetE('txtMetaKeywords').value ) ;
+	SetMetadata( 'description'	, GetE('txtMetaDescription').value ) ;
+	SetMetadata( 'author'		, GetE('txtMetaAuthor').value ) ;
+	SetMetadata( 'copyright'	, GetE('txtMetaCopyright').value ) ;
+
+	return true ;
+}
+
+var bPreviewIsLoaded = false ;
+var oPreviewWindow ;
+var oPreviewBody ;
+
+// Called by the Preview page when loaded.
+function OnPreviewLoad( previewWindow, previewBody )
+{
+	oPreviewWindow	= previewWindow ;
+	oPreviewBody	= previewBody ;
+
+	bPreviewIsLoaded = true ;
+	UpdatePreview() ;
+}
+
+function UpdatePreview()
+{
+	if ( !bPreviewIsLoaded )
+		return ;
+
+	// ### Background
+	SetAttribute( oPreviewBody, 'bgcolor'		, GetE('txtBackColor').value ) ;
+	SetAttribute( oPreviewBody, 'background'	, GetE('txtBackImage').value ) ;
+	SetAttribute( oPreviewBody, 'bgproperties'	, GetE('chkBackNoScroll').checked ? 'fixed' : '' ) ;
+
+	// ### Colors
+	SetAttribute( oPreviewBody, 'text', GetE('txtColorText').value ) ;
+
+	oPreviewWindow.SetLinkColor( GetE('txtColorLink').value ) ;
+	oPreviewWindow.SetVisitedColor( GetE('txtColorVisited').value ) ;
+	oPreviewWindow.SetActiveColor( GetE('txtColorActive').value ) ;
+}
+
+function CheckOther( combo, txtField )
+{
+	var bNotOther = ( combo.value != '...' ) ;
+
+	GetE(txtField).style.backgroundColor = ( bNotOther ? '#cccccc' : '' ) ;
+	GetE(txtField).disabled = bNotOther ;
+}
+
+function SetColor( inputId, color )
+{
+	GetE( inputId ).value = color + '' ;
+	UpdatePreview() ;
+}
+
+function SelectBackColor( color )		{ SetColor('txtBackColor', color ) ; }
+function SelectColorText( color )		{ SetColor('txtColorText', color ) ; }
+function SelectColorLink( color )		{ SetColor('txtColorLink', color ) ; }
+function SelectColorVisited( color )	{ SetColor('txtColorVisited', color ) ; }
+function SelectColorActive( color )		{ SetColor('txtColorActive', color ) ; }
+
+function SelectColor( wich )
+{
+	switch ( wich )
+	{
+		case 'Back'			: oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, SelectBackColor ) ; return ;
+		case 'ColorText'	: oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, SelectColorText ) ; return ;
+		case 'ColorLink'	: oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, SelectColorLink ) ; return ;
+		case 'ColorVisited'	: oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, SelectColorVisited ) ; return ;
+		case 'ColorActive'	: oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, SelectColorActive ) ; return ;
+	}
+}
+
+function BrowseServerBack()
+{
+	OpenFileBrowser( FCKConfig.ImageBrowserURL, FCKConfig.ImageBrowserWindowWidth, FCKConfig.ImageBrowserWindowHeight ) ;
+}
+
+function SetUrl( url )
+{
+	GetE('txtBackImage').value = url ;
+	UpdatePreview() ;
+}
+
+	</script>
+</head>
+<body style="overflow: hidden">
+	<table cellspacing="0" cellpadding="0" width="100%" border="0" style="height: 100%">
+		<tr>
+			<td valign="top" style="height: 100%">
+				<div id="divGeneral">
+					<span fcklang="DlgDocPageTitle">Page Title</span><br />
+					<input id="txtPageTitle" style="width: 100%" type="text" />
+					<br />
+					<table cellspacing="0" cellpadding="0" border="0">
+						<tr>
+							<td>
+								<span fcklang="DlgDocLangDir">Language Direction</span><br />
+								<select id="selDirection">
+									<option value="" selected="selected"></option>
+									<option value="ltr" fcklang="DlgDocLangDirLTR">Left to Right (LTR)</option>
+									<option value="rtl" fcklang="DlgDocLangDirRTL">Right to Left (RTL)</option>
+								</select>
+							</td>
+							<td>
+								&nbsp;&nbsp;&nbsp;</td>
+							<td>
+								<span fcklang="DlgDocLangCode">Language Code</span><br />
+								<input id="txtLang" type="text" />
+							</td>
+						</tr>
+					</table>
+					<br />
+					<table cellspacing="0" cellpadding="0" width="100%" border="0">
+						<tr>
+							<td style="white-space: nowrap">
+								<span fcklang="DlgDocCharSet">Character Set Encoding</span><br />
+								<select id="selCharSet" onchange="CheckOther( this, 'txtCustomCharSet' );">
+									<option value="" selected="selected"></option>
+									<option value="us-ascii">ASCII</option>
+									<option fcklang="DlgDocCharSetCE" value="iso-8859-2">Central European</option>
+									<option fcklang="DlgDocCharSetCT" value="big5">Chinese Traditional (Big5)</option>
+									<option fcklang="DlgDocCharSetCR" value="iso-8859-5">Cyrillic</option>
+									<option fcklang="DlgDocCharSetGR" value="iso-8859-7">Greek</option>
+									<option fcklang="DlgDocCharSetJP" value="iso-2022-jp">Japanese</option>
+									<option fcklang="DlgDocCharSetKR" value="iso-2022-kr">Korean</option>
+									<option fcklang="DlgDocCharSetTR" value="iso-8859-9">Turkish</option>
+									<option fcklang="DlgDocCharSetUN" value="utf-8">Unicode (UTF-8)</option>
+									<option fcklang="DlgDocCharSetWE" value="iso-8859-1">Western European</option>
+									<option fcklang="DlgOpOther" value="...">&lt;Other&gt;</option>
+								</select>
+							</td>
+							<td>
+								&nbsp;&nbsp;&nbsp;</td>
+							<td width="100%">
+								<span fcklang="DlgDocCharSetOther">Other Character Set Encoding</span><br />
+								<input id="txtCustomCharSet" style="width: 100%; background-color: #cccccc" disabled="disabled"
+									type="text" />
+							</td>
+						</tr>
+						<tr>
+							<td colspan="3">
+								&nbsp;</td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap">
+								<span fcklang="DlgDocDocType">Document Type Heading</span><br />
+								<select id="selDocType" onchange="CheckOther( this, 'txtDocType' );">
+									<option value="" selected="selected"></option>
+									<option value='&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;'>HTML
+										4.01 Transitional</option>
+									<option value='&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"&gt;'>
+										HTML 4.01 Strict</option>
+									<option value='&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"&gt;'>
+										HTML 4.01 Frameset</option>
+									<option value='&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;'>
+										XHTML 1.0 Transitional</option>
+									<option value='&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;'>
+										XHTML 1.0 Strict</option>
+									<option value='&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"&gt;'>
+										XHTML 1.0 Frameset</option>
+									<option value='&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"&gt;'>
+										XHTML 1.1</option>
+									<option value='&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"&gt;'>HTML 3.2</option>
+									<option value='&lt;!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"&gt;'>HTML 2.0</option>
+									<option value="..." fcklang="DlgOpOther">&lt;Other&gt;</option>
+								</select>
+							</td>
+							<td>
+							</td>
+							<td width="100%">
+								<span fcklang="DlgDocDocTypeOther">Other Document Type Heading</span><br />
+								<input id="txtDocType" style="width: 100%; background-color: #cccccc" disabled="disabled"
+									type="text" />
+							</td>
+						</tr>
+					</table>
+					<br />
+					<input id="chkIncXHTMLDecl" type="checkbox" />
+					<label for="chkIncXHTMLDecl" fcklang="DlgDocIncXHTML">
+						Include XHTML Declarations</label>
+				</div>
+				<div id="divBackground" style="display: none">
+					<span fcklang="DlgDocBgColor">Background Color</span><br />
+					<input id="txtBackColor" type="text" onchange="UpdatePreview();" onkeyup="UpdatePreview();" />&nbsp;<input
+						id="btnSelBackColor" onclick="SelectColor( 'Back' )" type="button" value="Select..."
+						fcklang="DlgCellBtnSelect" /><br />
+					<br />
+					<span fcklang="DlgDocBgImage">Background Image URL</span><br />
+					<table cellspacing="0" cellpadding="0" width="100%" border="0">
+						<tr>
+							<td width="100%">
+								<input id="txtBackImage" style="width: 100%" type="text" onchange="UpdatePreview();"
+									onkeyup="UpdatePreview();" /></td>
+							<td id="tdBrowse" nowrap="nowrap">
+								&nbsp;<input id="btnBrowse" onclick="BrowseServerBack();" type="button" fcklang="DlgBtnBrowseServer"
+									value="Browse Server" /></td>
+						</tr>
+					</table>
+					<input id="chkBackNoScroll" type="checkbox" onclick="UpdatePreview();" />
+					<label for="chkBackNoScroll" fcklang="DlgDocBgNoScroll">
+						Nonscrolling Background</label>
+				</div>
+				<div id="divColors" style="display: none">
+					<table cellspacing="0" cellpadding="0" width="100%" border="0">
+						<tr>
+							<td>
+								<span fcklang="DlgDocCText">Text</span><br />
+								<input id="txtColorText" type="text" onchange="UpdatePreview();" onkeyup="UpdatePreview();" /><input
+									onclick="SelectColor( 'ColorText' )" type="button" value="Select..." fcklang="DlgCellBtnSelect" />
+								<br />
+								<span fcklang="DlgDocCLink">Link</span><br />
+								<input id="txtColorLink" type="text" onchange="UpdatePreview();" onkeyup="UpdatePreview();" /><input
+									onclick="SelectColor( 'ColorLink' )" type="button" value="Select..." fcklang="DlgCellBtnSelect" />
+								<br />
+								<span fcklang="DlgDocCVisited">Visited Link</span><br />
+								<input id="txtColorVisited" type="text" onchange="UpdatePreview();" onkeyup="UpdatePreview();" /><input
+									onclick="SelectColor( 'ColorVisited' )" type="button" value="Select..." fcklang="DlgCellBtnSelect" />
+								<br />
+								<span fcklang="DlgDocCActive">Active Link</span><br />
+								<input id="txtColorActive" type="text" onchange="UpdatePreview();" onkeyup="UpdatePreview();" /><input
+									onclick="SelectColor( 'ColorActive' )" type="button" value="Select..." fcklang="DlgCellBtnSelect" />
+							</td>
+							<td valign="middle" align="center">
+								<table cellspacing="2" cellpadding="0" border="0">
+									<tr>
+										<td>
+											<span fcklang="DlgDocMargins">Page Margins</span></td>
+									</tr>
+									<tr>
+										<td style="border: #000000 1px solid; padding: 5px">
+											<table cellpadding="0" cellspacing="0" border="0" dir="ltr">
+												<tr>
+													<td align="center" colspan="3">
+														<span fcklang="DlgDocMaTop">Top</span><br />
+														<input id="txtMarginTop" type="text" size="3" />
+													</td>
+												</tr>
+												<tr>
+													<td align="left">
+														<span fcklang="DlgDocMaLeft">Left</span><br />
+														<input id="txtMarginLeft" type="text" size="3" />
+													</td>
+													<td>
+														&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
+													<td align="right">
+														<span fcklang="DlgDocMaRight">Right</span><br />
+														<input id="txtMarginRight" type="text" size="3" />
+													</td>
+												</tr>
+												<tr>
+													<td align="center" colspan="3">
+														<span fcklang="DlgDocMaBottom">Bottom</span><br />
+														<input id="txtMarginBottom" type="text" size="3" />
+													</td>
+												</tr>
+											</table>
+										</td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+					</table>
+				</div>
+				<div id="divMeta" style="display: none">
+					<span fcklang="DlgDocMeIndex">Document Indexing Keywords (comma separated)</span><br />
+					<textarea id="txtMetaKeywords" style="width: 100%" rows="2" cols="20"></textarea>
+					<br />
+					<span fcklang="DlgDocMeDescr">Document Description</span><br />
+					<textarea id="txtMetaDescription" style="width: 100%" rows="4" cols="20"></textarea>
+					<br />
+					<span fcklang="DlgDocMeAuthor">Author</span><br />
+					<input id="txtMetaAuthor" style="width: 100%" type="text" /><br />
+					<br />
+					<span fcklang="DlgDocMeCopy">Copyright</span><br />
+					<input id="txtMetaCopyright" type="text" style="width: 100%" />
+				</div>
+			</td>
+		</tr>
+		<tr id="ePreview" style="display: none">
+			<td>
+				<span fcklang="DlgDocPreview">Preview</span><br />
+				<iframe id="frmPreview" src="fck_docprops/fck_document_preview.html" width="100%"
+					height="100"></iframe>
+			</td>
+		</tr>
+	</table>
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_link/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_link/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_link/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_link/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_link/fck_link_org.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_link/fck_link_org.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_link/fck_link_org.js	(revision 1481)
@@ -0,0 +1,893 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Scripts related to the Link dialog window (see fck_link.html).
+ */
+
+var dialog	= window.parent ;
+var oEditor = dialog.InnerDialogLoaded() ;
+
+var FCK			= oEditor.FCK ;
+var FCKLang		= oEditor.FCKLang ;
+var FCKConfig	= oEditor.FCKConfig ;
+var FCKRegexLib	= oEditor.FCKRegexLib ;
+var FCKTools	= oEditor.FCKTools ;
+
+//#### Dialog Tabs
+
+// Set the dialog tabs.
+dialog.AddTab( 'Info', FCKLang.DlgLnkInfoTab ) ;
+
+if ( !FCKConfig.LinkDlgHideTarget )
+	dialog.AddTab( 'Target', FCKLang.DlgLnkTargetTab, true ) ;
+
+if ( FCKConfig.LinkUpload )
+	dialog.AddTab( 'Upload', FCKLang.DlgLnkUpload, true ) ;
+
+if ( !FCKConfig.LinkDlgHideAdvanced )
+	dialog.AddTab( 'Advanced', FCKLang.DlgAdvancedTag ) ;
+
+// Function called when a dialog tag is selected.
+function OnDialogTabChange( tabCode )
+{
+	ShowE('divInfo'		, ( tabCode == 'Info' ) ) ;
+	ShowE('divTarget'	, ( tabCode == 'Target' ) ) ;
+	ShowE('divUpload'	, ( tabCode == 'Upload' ) ) ;
+	ShowE('divAttribs'	, ( tabCode == 'Advanced' ) ) ;
+
+	dialog.SetAutoSize( true ) ;
+}
+
+//#### Regular Expressions library.
+var oRegex = new Object() ;
+
+oRegex.UriProtocol = /^(((http|https|ftp|news):\/\/)|mailto:)/gi ;
+
+oRegex.UrlOnChangeProtocol = /^(http|https|ftp|news):\/\/(?=.)/gi ;
+
+oRegex.UrlOnChangeTestOther = /^((javascript:)|[#\/\.])/gi ;
+
+oRegex.ReserveTarget = /^_(blank|self|top|parent)$/i ;
+
+oRegex.PopupUri = /^javascript:void\(\s*window.open\(\s*'([^']+)'\s*,\s*(?:'([^']*)'|null)\s*,\s*'([^']*)'\s*\)\s*\)\s*$/ ;
+
+// Accessible popups
+oRegex.OnClickPopup = /^\s*on[cC]lick="\s*window.open\(\s*this\.href\s*,\s*(?:'([^']*)'|null)\s*,\s*'([^']*)'\s*\)\s*;\s*return\s*false;*\s*"$/ ;
+
+oRegex.PopupFeatures = /(?:^|,)([^=]+)=(\d+|yes|no)/gi ;
+
+//#### Parser Functions
+
+var oParser = new Object() ;
+
+// This method simply returns the two inputs in numerical order. You can even
+// provide strings, as the method would parseInt() the values.
+oParser.SortNumerical = function(a, b)
+{
+	return parseInt( a, 10 ) - parseInt( b, 10 ) ;
+}
+
+oParser.ParseEMailParams = function(sParams)
+{
+	// Initialize the oEMailParams object.
+	var oEMailParams = new Object() ;
+	oEMailParams.Subject = '' ;
+	oEMailParams.Body = '' ;
+
+	var aMatch = sParams.match( /(^|^\?|&)subject=([^&]+)/i ) ;
+	if ( aMatch ) oEMailParams.Subject = decodeURIComponent( aMatch[2] ) ;
+
+	aMatch = sParams.match( /(^|^\?|&)body=([^&]+)/i ) ;
+	if ( aMatch ) oEMailParams.Body = decodeURIComponent( aMatch[2] ) ;
+
+	return oEMailParams ;
+}
+
+// This method returns either an object containing the email info, or FALSE
+// if the parameter is not an email link.
+oParser.ParseEMailUri = function( sUrl )
+{
+	// Initializes the EMailInfo object.
+	var oEMailInfo = new Object() ;
+	oEMailInfo.Address = '' ;
+	oEMailInfo.Subject = '' ;
+	oEMailInfo.Body = '' ;
+
+	var aLinkInfo = sUrl.match( /^(\w+):(.*)$/ ) ;
+	if ( aLinkInfo && aLinkInfo[1] == 'mailto' )
+	{
+		// This seems to be an unprotected email link.
+		var aParts = aLinkInfo[2].match( /^([^\?]+)\??(.+)?/ ) ;
+		if ( aParts )
+		{
+			// Set the e-mail address.
+			oEMailInfo.Address = aParts[1] ;
+
+			// Look for the optional e-mail parameters.
+			if ( aParts[2] )
+			{
+				var oEMailParams = oParser.ParseEMailParams( aParts[2] ) ;
+				oEMailInfo.Subject = oEMailParams.Subject ;
+				oEMailInfo.Body = oEMailParams.Body ;
+			}
+		}
+		return oEMailInfo ;
+	}
+	else if ( aLinkInfo && aLinkInfo[1] == 'javascript' )
+	{
+		// This may be a protected email.
+
+		// Try to match the url against the EMailProtectionFunction.
+		var func = FCKConfig.EMailProtectionFunction ;
+		if ( func != null )
+		{
+			try
+			{
+				// Escape special chars.
+				func = func.replace( /([\/^$*+.?()\[\]])/g, '\\$1' ) ;
+
+				// Define the possible keys.
+				var keys = new Array('NAME', 'DOMAIN', 'SUBJECT', 'BODY') ;
+
+				// Get the order of the keys (hold them in the array <pos>) and
+				// the function replaced by regular expression patterns.
+				var sFunc = func ;
+				var pos = new Array() ;
+				for ( var i = 0 ; i < keys.length ; i ++ )
+				{
+					var rexp = new RegExp( keys[i] ) ;
+					var p = func.search( rexp ) ;
+					if ( p >= 0 )
+					{
+						sFunc = sFunc.replace( rexp, '\'([^\']*)\'' ) ;
+						pos[pos.length] = p + ':' + keys[i] ;
+					}
+				}
+
+				// Sort the available keys.
+				pos.sort( oParser.SortNumerical ) ;
+
+				// Replace the excaped single quotes in the url, such they do
+				// not affect the regexp afterwards.
+				aLinkInfo[2] = aLinkInfo[2].replace( /\\'/g, '###SINGLE_QUOTE###' ) ;
+
+				// Create the regexp and execute it.
+				var rFunc = new RegExp( '^' + sFunc + '$' ) ;
+				var aMatch = rFunc.exec( aLinkInfo[2] ) ;
+				if ( aMatch )
+				{
+					var aInfo = new Array();
+					for ( var i = 1 ; i < aMatch.length ; i ++ )
+					{
+						var k = pos[i-1].match(/^\d+:(.+)$/) ;
+						aInfo[k[1]] = aMatch[i].replace(/###SINGLE_QUOTE###/g, '\'') ;
+					}
+
+					// Fill the EMailInfo object that will be returned
+					oEMailInfo.Address = aInfo['NAME'] + '@' + aInfo['DOMAIN'] ;
+					oEMailInfo.Subject = decodeURIComponent( aInfo['SUBJECT'] ) ;
+					oEMailInfo.Body = decodeURIComponent( aInfo['BODY'] ) ;
+
+					return oEMailInfo ;
+				}
+			}
+			catch (e)
+			{
+			}
+		}
+
+		// Try to match the email against the encode protection.
+		var aMatch = aLinkInfo[2].match( /^(?:void\()?location\.href='mailto:'\+(String\.fromCharCode\([\d,]+\))\+'(.*)'\)?$/ ) ;
+		if ( aMatch )
+		{
+			// The link is encoded
+			oEMailInfo.Address = eval( aMatch[1] ) ;
+			if ( aMatch[2] )
+			{
+				var oEMailParams = oParser.ParseEMailParams( aMatch[2] ) ;
+				oEMailInfo.Subject = oEMailParams.Subject ;
+				oEMailInfo.Body = oEMailParams.Body ;
+			}
+			return oEMailInfo ;
+		}
+	}
+	return false;
+}
+
+oParser.CreateEMailUri = function( address, subject, body )
+{
+	// Switch for the EMailProtection setting.
+	switch ( FCKConfig.EMailProtection )
+	{
+		case 'function' :
+			var func = FCKConfig.EMailProtectionFunction ;
+			if ( func == null )
+			{
+				if ( FCKConfig.Debug )
+				{
+					alert('EMailProtection alert!\nNo function defined. Please set "FCKConfig.EMailProtectionFunction"') ;
+				}
+				return '';
+			}
+
+			// Split the email address into name and domain parts.
+			var aAddressParts = address.split( '@', 2 ) ;
+			if ( aAddressParts[1] == undefined )
+			{
+				aAddressParts[1] = '' ;
+			}
+
+			// Replace the keys by their values (embedded in single quotes).
+			func = func.replace(/NAME/g, "'" + aAddressParts[0].replace(/'/g, '\\\'') + "'") ;
+			func = func.replace(/DOMAIN/g, "'" + aAddressParts[1].replace(/'/g, '\\\'') + "'") ;
+			func = func.replace(/SUBJECT/g, "'" + encodeURIComponent( subject ).replace(/'/g, '\\\'') + "'") ;
+			func = func.replace(/BODY/g, "'" + encodeURIComponent( body ).replace(/'/g, '\\\'') + "'") ;
+
+			return 'javascript:' + func ;
+
+		case 'encode' :
+			var aParams = [] ;
+			var aAddressCode = [] ;
+
+			if ( subject.length > 0 )
+				aParams.push( 'subject='+ encodeURIComponent( subject ) ) ;
+			if ( body.length > 0 )
+				aParams.push( 'body=' + encodeURIComponent( body ) ) ;
+			for ( var i = 0 ; i < address.length ; i++ )
+				aAddressCode.push( address.charCodeAt( i ) ) ;
+
+			return 'javascript:void(location.href=\'mailto:\'+String.fromCharCode(' + aAddressCode.join( ',' ) + ')+\'?' + aParams.join( '&' ) + '\')' ;
+	}
+
+	// EMailProtection 'none'
+
+	var sBaseUri = 'mailto:' + address ;
+
+	var sParams = '' ;
+
+	if ( subject.length > 0 )
+		sParams = '?subject=' + encodeURIComponent( subject ) ;
+
+	if ( body.length > 0 )
+	{
+		sParams += ( sParams.length == 0 ? '?' : '&' ) ;
+		sParams += 'body=' + encodeURIComponent( body ) ;
+	}
+
+	return sBaseUri + sParams ;
+}
+
+//#### Initialization Code
+
+// oLink: The actual selected link in the editor.
+var oLink = dialog.Selection.GetSelection().MoveToAncestorNode( 'A' ) ;
+if ( oLink )
+	FCK.Selection.SelectNode( oLink ) ;
+
+window.onload = function()
+{
+	// Translate the dialog box texts.
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	// Fill the Anchor Names and Ids combos.
+	LoadAnchorNamesAndIds() ;
+
+	// Load the selected link information (if any).
+	LoadSelection() ;
+
+	// Update the dialog box.
+	SetLinkType( GetE('cmbLinkType').value ) ;
+
+	// Show/Hide the "Browse Server" button.
+	GetE('divBrowseServer').style.display = FCKConfig.LinkBrowser ? '' : 'none' ;
+
+	// Show the initial dialog content.
+	GetE('divInfo').style.display = '' ;
+
+	// Set the actual uploader URL.
+	if ( FCKConfig.LinkUpload )
+		GetE('frmUpload').action = FCKConfig.LinkUploadURL ;
+
+	// Set the default target (from configuration).
+	SetDefaultTarget() ;
+
+	// Activate the "OK" button.
+	dialog.SetOkButton( true ) ;
+
+	// Select the first field.
+	switch( GetE('cmbLinkType').value )
+	{
+		case 'url' :
+			SelectField( 'txtUrl' ) ;
+			break ;
+		case 'email' :
+			SelectField( 'txtEMailAddress' ) ;
+			break ;
+		case 'anchor' :
+			if ( GetE('divSelAnchor').style.display != 'none' )
+				SelectField( 'cmbAnchorName' ) ;
+			else
+				SelectField( 'cmbLinkType' ) ;
+	}
+}
+
+var bHasAnchors ;
+
+function LoadAnchorNamesAndIds()
+{
+	// Since version 2.0, the anchors are replaced in the DOM by IMGs so the user see the icon
+	// to edit them. So, we must look for that images now.
+	var aAnchors = new Array() ;
+	var i ;
+	var oImages = oEditor.FCK.EditorDocument.getElementsByTagName( 'IMG' ) ;
+	for( i = 0 ; i < oImages.length ; i++ )
+	{
+		if ( oImages[i].getAttribute('_fckanchor') )
+			aAnchors[ aAnchors.length ] = oEditor.FCK.GetRealElement( oImages[i] ) ;
+	}
+
+	// Add also real anchors
+	var oLinks = oEditor.FCK.EditorDocument.getElementsByTagName( 'A' ) ;
+	for( i = 0 ; i < oLinks.length ; i++ )
+	{
+		if ( oLinks[i].name && ( oLinks[i].name.length > 0 ) )
+			aAnchors[ aAnchors.length ] = oLinks[i] ;
+	}
+
+	var aIds = FCKTools.GetAllChildrenIds( oEditor.FCK.EditorDocument.body ) ;
+
+	bHasAnchors = ( aAnchors.length > 0 || aIds.length > 0 ) ;
+
+	for ( i = 0 ; i < aAnchors.length ; i++ )
+	{
+		var sName = aAnchors[i].name ;
+		if ( sName && sName.length > 0 )
+			FCKTools.AddSelectOption( GetE('cmbAnchorName'), sName, sName ) ;
+	}
+
+	for ( i = 0 ; i < aIds.length ; i++ )
+	{
+		FCKTools.AddSelectOption( GetE('cmbAnchorId'), aIds[i], aIds[i] ) ;
+	}
+
+	ShowE( 'divSelAnchor'	, bHasAnchors ) ;
+	ShowE( 'divNoAnchor'	, !bHasAnchors ) ;
+}
+
+function LoadSelection()
+{
+	if ( !oLink ) return ;
+
+	var sType = 'url' ;
+
+	// Get the actual Link href.
+	var sHRef = oLink.getAttribute( '_fcksavedurl' ) ;
+	if ( sHRef == null )
+		sHRef = oLink.getAttribute( 'href' , 2 ) || '' ;
+
+	// Look for a popup javascript link.
+	var oPopupMatch = oRegex.PopupUri.exec( sHRef ) ;
+	if( oPopupMatch )
+	{
+		GetE('cmbTarget').value = 'popup' ;
+		sHRef = oPopupMatch[1] ;
+		FillPopupFields( oPopupMatch[2], oPopupMatch[3] ) ;
+		SetTarget( 'popup' ) ;
+	}
+
+	// Accessible popups, the popup data is in the onclick attribute
+	if ( !oPopupMatch )
+	{
+		var onclick = oLink.getAttribute( 'onclick_fckprotectedatt' ) ;
+		if ( onclick )
+		{
+			// Decode the protected string
+			onclick = decodeURIComponent( onclick ) ;
+
+			oPopupMatch = oRegex.OnClickPopup.exec( onclick ) ;
+			if( oPopupMatch )
+			{
+				GetE( 'cmbTarget' ).value = 'popup' ;
+				FillPopupFields( oPopupMatch[1], oPopupMatch[2] ) ;
+				SetTarget( 'popup' ) ;
+			}
+		}
+	}
+
+	// Search for the protocol.
+	var sProtocol = oRegex.UriProtocol.exec( sHRef ) ;
+
+	// Search for a protected email link.
+	var oEMailInfo = oParser.ParseEMailUri( sHRef );
+
+	if ( oEMailInfo )
+	{
+		sType = 'email' ;
+
+		GetE('txtEMailAddress').value = oEMailInfo.Address ;
+		GetE('txtEMailSubject').value = oEMailInfo.Subject ;
+		GetE('txtEMailBody').value    = oEMailInfo.Body ;
+	}
+	else if ( sProtocol )
+	{
+		sProtocol = sProtocol[0].toLowerCase() ;
+		GetE('cmbLinkProtocol').value = sProtocol ;
+
+		// Remove the protocol and get the remaining URL.
+		var sUrl = sHRef.replace( oRegex.UriProtocol, '' ) ;
+		sType = 'url' ;
+		GetE('txtUrl').value = sUrl ;
+	}
+	else if ( sHRef.substr(0,1) == '#' && sHRef.length > 1 )	// It is an anchor link.
+	{
+		sType = 'anchor' ;
+		GetE('cmbAnchorName').value = GetE('cmbAnchorId').value = sHRef.substr(1) ;
+	}
+	else					// It is another type of link.
+	{
+		sType = 'url' ;
+
+		GetE('cmbLinkProtocol').value = '' ;
+		GetE('txtUrl').value = sHRef ;
+	}
+
+	if ( !oPopupMatch )
+	{
+		// Get the target.
+		var sTarget = oLink.target ;
+
+		if ( sTarget && sTarget.length > 0 )
+		{
+			if ( oRegex.ReserveTarget.test( sTarget ) )
+			{
+				sTarget = sTarget.toLowerCase() ;
+				GetE('cmbTarget').value = sTarget ;
+			}
+			else
+				GetE('cmbTarget').value = 'frame' ;
+			GetE('txtTargetFrame').value = sTarget ;
+		}
+	}
+
+	// Get Advances Attributes
+	GetE('txtAttId').value			= oLink.id ;
+	GetE('txtAttName').value		= oLink.name ;
+	GetE('cmbAttLangDir').value		= oLink.dir ;
+	GetE('txtAttLangCode').value	= oLink.lang ;
+	GetE('txtAttAccessKey').value	= oLink.accessKey ;
+	GetE('txtAttTabIndex').value	= oLink.tabIndex <= 0 ? '' : oLink.tabIndex ;
+	GetE('txtAttTitle').value		= oLink.title ;
+	GetE('txtAttContentType').value	= oLink.type ;
+	GetE('txtAttCharSet').value		= oLink.charset ;
+
+	var sClass ;
+	if ( oEditor.FCKBrowserInfo.IsIE )
+	{
+		sClass	= oLink.getAttribute('className',2) || '' ;
+		// Clean up temporary classes for internal use:
+		sClass = sClass.replace( FCKRegexLib.FCK_Class, '' ) ;
+
+		GetE('txtAttStyle').value	= oLink.style.cssText ;
+	}
+	else
+	{
+		sClass	= oLink.getAttribute('class',2) || '' ;
+		GetE('txtAttStyle').value	= oLink.getAttribute('style',2) || '' ;
+	}
+	GetE('txtAttClasses').value	= sClass ;
+
+	// Update the Link type combo.
+	GetE('cmbLinkType').value = sType ;
+}
+
+//#### Link type selection.
+function SetLinkType( linkType )
+{
+	ShowE('divLinkTypeUrl'		, (linkType == 'url') ) ;
+	ShowE('divLinkTypeAnchor'	, (linkType == 'anchor') ) ;
+	ShowE('divLinkTypeEMail'	, (linkType == 'email') ) ;
+
+	if ( !FCKConfig.LinkDlgHideTarget )
+		dialog.SetTabVisibility( 'Target'	, (linkType == 'url') ) ;
+
+	if ( FCKConfig.LinkUpload )
+		dialog.SetTabVisibility( 'Upload'	, (linkType == 'url') ) ;
+
+	if ( !FCKConfig.LinkDlgHideAdvanced )
+		dialog.SetTabVisibility( 'Advanced'	, (linkType != 'anchor' || bHasAnchors) ) ;
+
+	if ( linkType == 'email' )
+		dialog.SetAutoSize( true ) ;
+}
+
+//#### Target type selection.
+function SetTarget( targetType )
+{
+	GetE('tdTargetFrame').style.display	= ( targetType == 'popup' ? 'none' : '' ) ;
+	GetE('tdPopupName').style.display	=
+	GetE('tablePopupFeatures').style.display = ( targetType == 'popup' ? '' : 'none' ) ;
+
+	switch ( targetType )
+	{
+		case "_blank" :
+		case "_self" :
+		case "_parent" :
+		case "_top" :
+			GetE('txtTargetFrame').value = targetType ;
+			break ;
+		case "" :
+			GetE('txtTargetFrame').value = '' ;
+			break ;
+	}
+
+	if ( targetType == 'popup' )
+		dialog.SetAutoSize( true ) ;
+}
+
+//#### Called while the user types the URL.
+function OnUrlChange()
+{
+	var sUrl = GetE('txtUrl').value ;
+	var sProtocol = oRegex.UrlOnChangeProtocol.exec( sUrl ) ;
+
+	if ( sProtocol )
+	{
+		sUrl = sUrl.substr( sProtocol[0].length ) ;
+		GetE('txtUrl').value = sUrl ;
+		GetE('cmbLinkProtocol').value = sProtocol[0].toLowerCase() ;
+	}
+	else if ( oRegex.UrlOnChangeTestOther.test( sUrl ) )
+	{
+		GetE('cmbLinkProtocol').value = '' ;
+	}
+}
+
+//#### Called while the user types the target name.
+function OnTargetNameChange()
+{
+	var sFrame = GetE('txtTargetFrame').value ;
+
+	if ( sFrame.length == 0 )
+		GetE('cmbTarget').value = '' ;
+	else if ( oRegex.ReserveTarget.test( sFrame ) )
+		GetE('cmbTarget').value = sFrame.toLowerCase() ;
+	else
+		GetE('cmbTarget').value = 'frame' ;
+}
+
+// Accessible popups
+function BuildOnClickPopup()
+{
+	var sWindowName = "'" + GetE('txtPopupName').value.replace(/\W/gi, "") + "'" ;
+
+	var sFeatures = '' ;
+	var aChkFeatures = document.getElementsByName( 'chkFeature' ) ;
+	for ( var i = 0 ; i < aChkFeatures.length ; i++ )
+	{
+		if ( i > 0 ) sFeatures += ',' ;
+		sFeatures += aChkFeatures[i].value + '=' + ( aChkFeatures[i].checked ? 'yes' : 'no' ) ;
+	}
+
+	if ( GetE('txtPopupWidth').value.length > 0 )	sFeatures += ',width=' + GetE('txtPopupWidth').value ;
+	if ( GetE('txtPopupHeight').value.length > 0 )	sFeatures += ',height=' + GetE('txtPopupHeight').value ;
+	if ( GetE('txtPopupLeft').value.length > 0 )	sFeatures += ',left=' + GetE('txtPopupLeft').value ;
+	if ( GetE('txtPopupTop').value.length > 0 )		sFeatures += ',top=' + GetE('txtPopupTop').value ;
+
+	if ( sFeatures != '' )
+		sFeatures = sFeatures + ",status" ;
+
+	return ( "window.open(this.href," + sWindowName + ",'" + sFeatures + "'); return false" ) ;
+}
+
+//#### Fills all Popup related fields.
+function FillPopupFields( windowName, features )
+{
+	if ( windowName )
+		GetE('txtPopupName').value = windowName ;
+
+	var oFeatures = new Object() ;
+	var oFeaturesMatch ;
+	while( ( oFeaturesMatch = oRegex.PopupFeatures.exec( features ) ) != null )
+	{
+		var sValue = oFeaturesMatch[2] ;
+		if ( sValue == ( 'yes' || '1' ) )
+			oFeatures[ oFeaturesMatch[1] ] = true ;
+		else if ( ! isNaN( sValue ) && sValue != 0 )
+			oFeatures[ oFeaturesMatch[1] ] = sValue ;
+	}
+
+	// Update all features check boxes.
+	var aChkFeatures = document.getElementsByName('chkFeature') ;
+	for ( var i = 0 ; i < aChkFeatures.length ; i++ )
+	{
+		if ( oFeatures[ aChkFeatures[i].value ] )
+			aChkFeatures[i].checked = true ;
+	}
+
+	// Update position and size text boxes.
+	if ( oFeatures['width'] )	GetE('txtPopupWidth').value		= oFeatures['width'] ;
+	if ( oFeatures['height'] )	GetE('txtPopupHeight').value	= oFeatures['height'] ;
+	if ( oFeatures['left'] )	GetE('txtPopupLeft').value		= oFeatures['left'] ;
+	if ( oFeatures['top'] )		GetE('txtPopupTop').value		= oFeatures['top'] ;
+}
+
+//#### The OK button was hit.
+function Ok()
+{
+	var sUri, sInnerHtml ;
+	oEditor.FCKUndo.SaveUndoStep() ;
+
+	switch ( GetE('cmbLinkType').value )
+	{
+		case 'url' :
+			sUri = GetE('txtUrl').value ;
+
+			if ( sUri.length == 0 )
+			{
+				alert( FCKLang.DlnLnkMsgNoUrl ) ;
+				return false ;
+			}
+
+			sUri = GetE('cmbLinkProtocol').value + sUri ;
+
+			break ;
+
+		case 'email' :
+			sUri = GetE('txtEMailAddress').value ;
+
+			if ( sUri.length == 0 )
+			{
+				alert( FCKLang.DlnLnkMsgNoEMail ) ;
+				return false ;
+			}
+
+			sUri = oParser.CreateEMailUri(
+				sUri,
+				GetE('txtEMailSubject').value,
+				GetE('txtEMailBody').value ) ;
+			break ;
+
+		case 'anchor' :
+			var sAnchor = GetE('cmbAnchorName').value ;
+			if ( sAnchor.length == 0 ) sAnchor = GetE('cmbAnchorId').value ;
+
+			if ( sAnchor.length == 0 )
+			{
+				alert( FCKLang.DlnLnkMsgNoAnchor ) ;
+				return false ;
+			}
+
+			sUri = '#' + sAnchor ;
+			break ;
+	}
+
+	// If no link is selected, create a new one (it may result in more than one link creation - #220).
+	var aLinks = oLink ? [ oLink ] : oEditor.FCK.CreateLink( sUri, true ) ;
+
+	// If no selection, no links are created, so use the uri as the link text (by dom, 2006-05-26)
+	var aHasSelection = ( aLinks.length > 0 ) ;
+	if ( !aHasSelection )
+	{
+		sInnerHtml = sUri;
+
+		// Built a better text for empty links.
+		switch ( GetE('cmbLinkType').value )
+		{
+			// anchor: use old behavior --> return true
+			case 'anchor':
+				sInnerHtml = sInnerHtml.replace( /^#/, '' ) ;
+				break ;
+
+			// url: try to get path
+			case 'url':
+				var oLinkPathRegEx = new RegExp("//?([^?\"']+)([?].*)?$") ;
+				var asLinkPath = oLinkPathRegEx.exec( sUri ) ;
+				if (asLinkPath != null)
+					sInnerHtml = asLinkPath[1];  // use matched path
+				break ;
+
+			// mailto: try to get email address
+			case 'email':
+				sInnerHtml = GetE('txtEMailAddress').value ;
+				break ;
+		}
+
+		// Create a new (empty) anchor.
+		aLinks = [ oEditor.FCK.InsertElement( 'a' ) ] ;
+	}
+
+	for ( var i = 0 ; i < aLinks.length ; i++ )
+	{
+		oLink = aLinks[i] ;
+
+		if ( aHasSelection )
+			sInnerHtml = oLink.innerHTML ;		// Save the innerHTML (IE changes it if it is like an URL).
+
+		oLink.href = sUri ;
+		SetAttribute( oLink, '_fcksavedurl', sUri ) ;
+
+		var onclick;
+		// Accessible popups
+		if( GetE('cmbTarget').value == 'popup' )
+		{
+			onclick = BuildOnClickPopup() ;
+			// Encode the attribute
+			onclick = encodeURIComponent( " onclick=\"" + onclick + "\"" )  ;
+			SetAttribute( oLink, 'onclick_fckprotectedatt', onclick ) ;
+		}
+		else
+		{
+			// Check if the previous onclick was for a popup:
+			// In that case remove the onclick handler.
+			onclick = oLink.getAttribute( 'onclick_fckprotectedatt' ) ;
+			if ( onclick )
+			{
+				// Decode the protected string
+				onclick = decodeURIComponent( onclick ) ;
+
+				if( oRegex.OnClickPopup.test( onclick ) )
+					SetAttribute( oLink, 'onclick_fckprotectedatt', '' ) ;
+			}
+		}
+
+		oLink.innerHTML = sInnerHtml ;		// Set (or restore) the innerHTML
+
+		// Target
+		if( GetE('cmbTarget').value != 'popup' )
+			SetAttribute( oLink, 'target', GetE('txtTargetFrame').value ) ;
+		else
+			SetAttribute( oLink, 'target', null ) ;
+
+		// Let's set the "id" only for the first link to avoid duplication.
+		if ( i == 0 )
+			SetAttribute( oLink, 'id', GetE('txtAttId').value ) ;
+
+		// Advances Attributes
+		SetAttribute( oLink, 'name'		, GetE('txtAttName').value ) ;
+		SetAttribute( oLink, 'dir'		, GetE('cmbAttLangDir').value ) ;
+		SetAttribute( oLink, 'lang'		, GetE('txtAttLangCode').value ) ;
+		SetAttribute( oLink, 'accesskey', GetE('txtAttAccessKey').value ) ;
+		SetAttribute( oLink, 'tabindex'	, ( GetE('txtAttTabIndex').value > 0 ? GetE('txtAttTabIndex').value : null ) ) ;
+		SetAttribute( oLink, 'title'	, GetE('txtAttTitle').value ) ;
+		SetAttribute( oLink, 'type'		, GetE('txtAttContentType').value ) ;
+		SetAttribute( oLink, 'charset'	, GetE('txtAttCharSet').value ) ;
+
+		if ( oEditor.FCKBrowserInfo.IsIE )
+		{
+			var sClass = GetE('txtAttClasses').value ;
+			// If it's also an anchor add an internal class
+			if ( GetE('txtAttName').value.length != 0 )
+				sClass += ' FCK__AnchorC' ;
+			SetAttribute( oLink, 'className', sClass ) ;
+
+			oLink.style.cssText = GetE('txtAttStyle').value ;
+		}
+		else
+		{
+			SetAttribute( oLink, 'class', GetE('txtAttClasses').value ) ;
+			SetAttribute( oLink, 'style', GetE('txtAttStyle').value ) ;
+		}
+	}
+
+	// Select the (first) link.
+	oEditor.FCKSelection.SelectNode( aLinks[0] );
+
+	return true ;
+}
+
+function BrowseServer()
+{
+	OpenFileBrowser( FCKConfig.LinkBrowserURL, FCKConfig.LinkBrowserWindowWidth, FCKConfig.LinkBrowserWindowHeight ) ;
+}
+
+function SetUrl( url )
+{
+	GetE('txtUrl').value = url ;
+	OnUrlChange() ;
+	dialog.SetSelectedTab( 'Info' ) ;
+}
+
+function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
+{
+	// Remove animation
+	window.parent.Throbber.Hide() ;
+	GetE( 'divUpload' ).style.display  = '' ;
+
+	switch ( errorNumber )
+	{
+		case 0 :	// No errors
+			alert( 'Your file has been successfully uploaded' ) ;
+			break ;
+		case 1 :	// Custom error
+			alert( customMsg ) ;
+			return ;
+		case 101 :	// Custom warning
+			alert( customMsg ) ;
+			break ;
+		case 201 :
+			alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ;
+			break ;
+		case 202 :
+			alert( 'Invalid file type' ) ;
+			return ;
+		case 203 :
+			alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ;
+			return ;
+		case 500 :
+			alert( 'The connector is disabled' ) ;
+			break ;
+		default :
+			alert( 'Error on file upload. Error number: ' + errorNumber ) ;
+			return ;
+	}
+
+	SetUrl( fileUrl ) ;
+	GetE('frmUpload').reset() ;
+}
+
+var oUploadAllowedExtRegex	= new RegExp( FCKConfig.LinkUploadAllowedExtensions, 'i' ) ;
+var oUploadDeniedExtRegex	= new RegExp( FCKConfig.LinkUploadDeniedExtensions, 'i' ) ;
+
+function CheckUpload()
+{
+	var sFile = GetE('txtUploadFile').value ;
+
+	if ( sFile.length == 0 )
+	{
+		alert( 'Please select a file to upload' ) ;
+		return false ;
+	}
+
+	if ( ( FCKConfig.LinkUploadAllowedExtensions.length > 0 && !oUploadAllowedExtRegex.test( sFile ) ) ||
+		( FCKConfig.LinkUploadDeniedExtensions.length > 0 && oUploadDeniedExtRegex.test( sFile ) ) )
+	{
+		OnUploadCompleted( 202 ) ;
+		return false ;
+	}
+
+	// Show animation
+	window.parent.Throbber.Show( 100 ) ;
+	GetE( 'divUpload' ).style.display  = 'none' ;
+
+	return true ;
+}
+
+function SetDefaultTarget()
+{
+	var target = FCKConfig.DefaultLinkTarget || '' ;
+
+	if ( oLink || target.length == 0 )
+		return ;
+
+	switch ( target )
+	{
+		case '_blank' :
+		case '_self' :
+		case '_parent' :
+		case '_top' :
+			GetE('cmbTarget').value = target ;
+			break ;
+		default :
+			GetE('cmbTarget').value = 'frame' ;
+			break ;
+	}
+
+	GetE('txtTargetFrame').value = target ;
+}
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_link/fck_link.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_link/fck_link.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_link/fck_link.js	(revision 1481)
@@ -0,0 +1,895 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Scripts related to the Link dialog window (see fck_link.html).
+ */
+
+var dialog	= window.parent ;
+var oEditor = dialog.InnerDialogLoaded() ;
+
+var FCK			= oEditor.FCK ;
+var FCKLang		= oEditor.FCKLang ;
+var FCKConfig	= oEditor.FCKConfig ;
+var FCKRegexLib	= oEditor.FCKRegexLib ;
+var FCKTools	= oEditor.FCKTools ;
+
+//#### Dialog Tabs
+
+// Set the dialog tabs.
+dialog.AddTab( 'Info', FCKLang.DlgLnkInfoTab ) ;
+
+if ( !FCKConfig.LinkDlgHideTarget )
+	dialog.AddTab( 'Target', FCKLang.DlgLnkTargetTab, true ) ;
+
+if ( FCKConfig.LinkUpload )
+	dialog.AddTab( 'Upload', FCKLang.DlgLnkUpload, true ) ;
+
+if ( !FCKConfig.LinkDlgHideAdvanced )
+	dialog.AddTab( 'Advanced', FCKLang.DlgAdvancedTag ) ;
+
+// Function called when a dialog tag is selected.
+function OnDialogTabChange( tabCode )
+{
+	ShowE('divInfo'		, ( tabCode == 'Info' ) ) ;
+	ShowE('divTarget'	, ( tabCode == 'Target' ) ) ;
+	ShowE('divUpload'	, ( tabCode == 'Upload' ) ) ;
+	ShowE('divAttribs'	, ( tabCode == 'Advanced' ) ) ;
+
+	dialog.SetAutoSize( true ) ;
+}
+
+//#### Regular Expressions library.
+var oRegex = new Object() ;
+
+oRegex.UriProtocol = /^(((http|https|ftp|news):\/\/)|mailto:)/gi ;
+
+oRegex.UrlOnChangeProtocol = /^(http|https|ftp|news):\/\/(?=.)/gi ;
+
+oRegex.UrlOnChangeTestOther = /^((javascript:)|[#\/\.])/gi ;
+
+oRegex.ReserveTarget = /^_(blank|self|top|parent)$/i ;
+
+oRegex.PopupUri = /^javascript:void\(\s*window.open\(\s*'([^']+)'\s*,\s*(?:'([^']*)'|null)\s*,\s*'([^']*)'\s*\)\s*\)\s*$/ ;
+
+// Accessible popups
+oRegex.OnClickPopup = /^\s*on[cC]lick="\s*window.open\(\s*this\.href\s*,\s*(?:'([^']*)'|null)\s*,\s*'([^']*)'\s*\)\s*;\s*return\s*false;*\s*"$/ ;
+
+oRegex.PopupFeatures = /(?:^|,)([^=]+)=(\d+|yes|no)/gi ;
+
+//#### Parser Functions
+
+var oParser = new Object() ;
+
+// This method simply returns the two inputs in numerical order. You can even
+// provide strings, as the method would parseInt() the values.
+oParser.SortNumerical = function(a, b)
+{
+	return parseInt( a, 10 ) - parseInt( b, 10 ) ;
+}
+
+oParser.ParseEMailParams = function(sParams)
+{
+	// Initialize the oEMailParams object.
+	var oEMailParams = new Object() ;
+	oEMailParams.Subject = '' ;
+	oEMailParams.Body = '' ;
+
+	var aMatch = sParams.match( /(^|^\?|&)subject=([^&]+)/i ) ;
+	if ( aMatch ) oEMailParams.Subject = decodeURIComponent( aMatch[2] ) ;
+
+	aMatch = sParams.match( /(^|^\?|&)body=([^&]+)/i ) ;
+	if ( aMatch ) oEMailParams.Body = decodeURIComponent( aMatch[2] ) ;
+
+	return oEMailParams ;
+}
+
+// This method returns either an object containing the email info, or FALSE
+// if the parameter is not an email link.
+oParser.ParseEMailUri = function( sUrl )
+{
+	// Initializes the EMailInfo object.
+	var oEMailInfo = new Object() ;
+	oEMailInfo.Address = '' ;
+	oEMailInfo.Subject = '' ;
+	oEMailInfo.Body = '' ;
+
+	var aLinkInfo = sUrl.match( /^(\w+):(.*)$/ ) ;
+	if ( aLinkInfo && aLinkInfo[1] == 'mailto' )
+	{
+		// This seems to be an unprotected email link.
+		var aParts = aLinkInfo[2].match( /^([^\?]+)\??(.+)?/ ) ;
+		if ( aParts )
+		{
+			// Set the e-mail address.
+			oEMailInfo.Address = aParts[1] ;
+
+			// Look for the optional e-mail parameters.
+			if ( aParts[2] )
+			{
+				var oEMailParams = oParser.ParseEMailParams( aParts[2] ) ;
+				oEMailInfo.Subject = oEMailParams.Subject ;
+				oEMailInfo.Body = oEMailParams.Body ;
+			}
+		}
+		return oEMailInfo ;
+	}
+	else if ( aLinkInfo && aLinkInfo[1] == 'javascript' )
+	{
+		// This may be a protected email.
+
+		// Try to match the url against the EMailProtectionFunction.
+		var func = FCKConfig.EMailProtectionFunction ;
+		if ( func != null )
+		{
+			try
+			{
+				// Escape special chars.
+				func = func.replace( /([\/^$*+.?()\[\]])/g, '\\$1' ) ;
+
+				// Define the possible keys.
+				var keys = new Array('NAME', 'DOMAIN', 'SUBJECT', 'BODY') ;
+
+				// Get the order of the keys (hold them in the array <pos>) and
+				// the function replaced by regular expression patterns.
+				var sFunc = func ;
+				var pos = new Array() ;
+				for ( var i = 0 ; i < keys.length ; i ++ )
+				{
+					var rexp = new RegExp( keys[i] ) ;
+					var p = func.search( rexp ) ;
+					if ( p >= 0 )
+					{
+						sFunc = sFunc.replace( rexp, '\'([^\']*)\'' ) ;
+						pos[pos.length] = p + ':' + keys[i] ;
+					}
+				}
+
+				// Sort the available keys.
+				pos.sort( oParser.SortNumerical ) ;
+
+				// Replace the excaped single quotes in the url, such they do
+				// not affect the regexp afterwards.
+				aLinkInfo[2] = aLinkInfo[2].replace( /\\'/g, '###SINGLE_QUOTE###' ) ;
+
+				// Create the regexp and execute it.
+				var rFunc = new RegExp( '^' + sFunc + '$' ) ;
+				var aMatch = rFunc.exec( aLinkInfo[2] ) ;
+				if ( aMatch )
+				{
+					var aInfo = new Array();
+					for ( var i = 1 ; i < aMatch.length ; i ++ )
+					{
+						var k = pos[i-1].match(/^\d+:(.+)$/) ;
+						aInfo[k[1]] = aMatch[i].replace(/###SINGLE_QUOTE###/g, '\'') ;
+					}
+
+					// Fill the EMailInfo object that will be returned
+					oEMailInfo.Address = aInfo['NAME'] + '@' + aInfo['DOMAIN'] ;
+					oEMailInfo.Subject = decodeURIComponent( aInfo['SUBJECT'] ) ;
+					oEMailInfo.Body = decodeURIComponent( aInfo['BODY'] ) ;
+
+					return oEMailInfo ;
+				}
+			}
+			catch (e)
+			{
+			}
+		}
+
+		// Try to match the email against the encode protection.
+		var aMatch = aLinkInfo[2].match( /^(?:void\()?location\.href='mailto:'\+(String\.fromCharCode\([\d,]+\))\+'(.*)'\)?$/ ) ;
+		if ( aMatch )
+		{
+			// The link is encoded
+			oEMailInfo.Address = eval( aMatch[1] ) ;
+			if ( aMatch[2] )
+			{
+				var oEMailParams = oParser.ParseEMailParams( aMatch[2] ) ;
+				oEMailInfo.Subject = oEMailParams.Subject ;
+				oEMailInfo.Body = oEMailParams.Body ;
+			}
+			return oEMailInfo ;
+		}
+	}
+	return false;
+}
+
+oParser.CreateEMailUri = function( address, subject, body )
+{
+	// Switch for the EMailProtection setting.
+	switch ( FCKConfig.EMailProtection )
+	{
+		case 'function' :
+			var func = FCKConfig.EMailProtectionFunction ;
+			if ( func == null )
+			{
+				if ( FCKConfig.Debug )
+				{
+					alert('EMailProtection alert!\nNo function defined. Please set "FCKConfig.EMailProtectionFunction"') ;
+				}
+				return '';
+			}
+
+			// Split the email address into name and domain parts.
+			var aAddressParts = address.split( '@', 2 ) ;
+			if ( aAddressParts[1] == undefined )
+			{
+				aAddressParts[1] = '' ;
+			}
+
+			// Replace the keys by their values (embedded in single quotes).
+			func = func.replace(/NAME/g, "'" + aAddressParts[0].replace(/'/g, '\\\'') + "'") ;
+			func = func.replace(/DOMAIN/g, "'" + aAddressParts[1].replace(/'/g, '\\\'') + "'") ;
+			func = func.replace(/SUBJECT/g, "'" + encodeURIComponent( subject ).replace(/'/g, '\\\'') + "'") ;
+			func = func.replace(/BODY/g, "'" + encodeURIComponent( body ).replace(/'/g, '\\\'') + "'") ;
+
+			return 'javascript:' + func ;
+
+		case 'encode' :
+			var aParams = [] ;
+			var aAddressCode = [] ;
+
+			if ( subject.length > 0 )
+				aParams.push( 'subject='+ encodeURIComponent( subject ) ) ;
+			if ( body.length > 0 )
+				aParams.push( 'body=' + encodeURIComponent( body ) ) ;
+			for ( var i = 0 ; i < address.length ; i++ )
+				aAddressCode.push( address.charCodeAt( i ) ) ;
+
+			return 'javascript:void(location.href=\'mailto:\'+String.fromCharCode(' + aAddressCode.join( ',' ) + ')+\'?' + aParams.join( '&' ) + '\')' ;
+	}
+
+	// EMailProtection 'none'
+
+	var sBaseUri = 'mailto:' + address ;
+
+	var sParams = '' ;
+
+	if ( subject.length > 0 )
+		sParams = '?subject=' + encodeURIComponent( subject ) ;
+
+	if ( body.length > 0 )
+	{
+		sParams += ( sParams.length == 0 ? '?' : '&' ) ;
+		sParams += 'body=' + encodeURIComponent( body ) ;
+	}
+
+	return sBaseUri + sParams ;
+}
+
+//#### Initialization Code
+
+// oLink: The actual selected link in the editor.
+var oLink = dialog.Selection.GetSelection().MoveToAncestorNode( 'A' ) ;
+if ( oLink )
+	FCK.Selection.SelectNode( oLink ) ;
+
+window.onload = function()
+{
+	// Translate the dialog box texts.
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	// Fill the Anchor Names and Ids combos.
+	LoadAnchorNamesAndIds() ;
+
+	// Load the selected link information (if any).
+	LoadSelection() ;
+
+	// Update the dialog box.
+	SetLinkType( GetE('cmbLinkType').value ) ;
+
+	// Show/Hide the "Browse Server" button.
+	GetE('divBrowseServer').style.display = FCKConfig.LinkBrowser ? '' : 'none' ;
+
+	// Show the initial dialog content.
+	GetE('divInfo').style.display = '' ;
+
+	// Set the actual uploader URL.
+	if ( FCKConfig.LinkUpload )
+		GetE('frmUpload').action = FCKConfig.LinkUploadURL ;
+
+	// Set the default target (from configuration).
+	SetDefaultTarget() ;
+
+	// Activate the "OK" button.
+	dialog.SetOkButton( true ) ;
+
+	// Select the first field.
+	switch( GetE('cmbLinkType').value )
+	{
+		case 'url' :
+			SelectField( 'txtUrl' ) ;
+			break ;
+		case 'email' :
+			SelectField( 'txtEMailAddress' ) ;
+			break ;
+		case 'anchor' :
+			if ( GetE('divSelAnchor').style.display != 'none' )
+				SelectField( 'cmbAnchorName' ) ;
+			else
+				SelectField( 'cmbLinkType' ) ;
+	}
+}
+
+var bHasAnchors ;
+
+function LoadAnchorNamesAndIds()
+{
+	// Since version 2.0, the anchors are replaced in the DOM by IMGs so the user see the icon
+	// to edit them. So, we must look for that images now.
+	var aAnchors = new Array() ;
+	var i ;
+	var oImages = oEditor.FCK.EditorDocument.getElementsByTagName( 'IMG' ) ;
+	for( i = 0 ; i < oImages.length ; i++ )
+	{
+		if ( oImages[i].getAttribute('_fckanchor') )
+			aAnchors[ aAnchors.length ] = oEditor.FCK.GetRealElement( oImages[i] ) ;
+	}
+
+	// Add also real anchors
+	var oLinks = oEditor.FCK.EditorDocument.getElementsByTagName( 'A' ) ;
+	for( i = 0 ; i < oLinks.length ; i++ )
+	{
+		if ( oLinks[i].name && ( oLinks[i].name.length > 0 ) )
+			aAnchors[ aAnchors.length ] = oLinks[i] ;
+	}
+
+	var aIds = FCKTools.GetAllChildrenIds( oEditor.FCK.EditorDocument.body ) ;
+
+	bHasAnchors = ( aAnchors.length > 0 || aIds.length > 0 ) ;
+
+	for ( i = 0 ; i < aAnchors.length ; i++ )
+	{
+		var sName = aAnchors[i].name ;
+		if ( sName && sName.length > 0 )
+			FCKTools.AddSelectOption( GetE('cmbAnchorName'), sName, sName ) ;
+	}
+
+	for ( i = 0 ; i < aIds.length ; i++ )
+	{
+		FCKTools.AddSelectOption( GetE('cmbAnchorId'), aIds[i], aIds[i] ) ;
+	}
+
+	ShowE( 'divSelAnchor'	, bHasAnchors ) ;
+	ShowE( 'divNoAnchor'	, !bHasAnchors ) ;
+}
+
+function LoadSelection()
+{
+	if ( !oLink ) return ;
+
+	var sType = 'url' ;
+
+	// Get the actual Link href.
+	var sHRef = oLink.getAttribute( '_fcksavedurl' ) ;
+	if ( sHRef == null )
+		sHRef = oLink.getAttribute( 'href' , 2 ) || '' ;
+
+	// Look for a popup javascript link.
+	var oPopupMatch = oRegex.PopupUri.exec( sHRef ) ;
+	if( oPopupMatch )
+	{
+		GetE('cmbTarget').value = 'popup' ;
+		sHRef = oPopupMatch[1] ;
+		FillPopupFields( oPopupMatch[2], oPopupMatch[3] ) ;
+		SetTarget( 'popup' ) ;
+	}
+
+	// Accessible popups, the popup data is in the onclick attribute
+	if ( !oPopupMatch )
+	{
+		var onclick = oLink.getAttribute( 'onclick_fckprotectedatt' ) ;
+		if ( onclick )
+		{
+			// Decode the protected string
+			onclick = decodeURIComponent( onclick ) ;
+
+			oPopupMatch = oRegex.OnClickPopup.exec( onclick ) ;
+			if( oPopupMatch )
+			{
+				GetE( 'cmbTarget' ).value = 'popup' ;
+				FillPopupFields( oPopupMatch[1], oPopupMatch[2] ) ;
+				SetTarget( 'popup' ) ;
+			}
+		}
+	}
+
+	// Search for the protocol.
+	var sProtocol = oRegex.UriProtocol.exec( sHRef ) ;
+
+	// Search for a protected email link.
+	var oEMailInfo = oParser.ParseEMailUri( sHRef );
+
+	if ( oEMailInfo )
+	{
+		sType = 'email' ;
+
+		GetE('txtEMailAddress').value = oEMailInfo.Address ;
+		GetE('txtEMailSubject').value = oEMailInfo.Subject ;
+		GetE('txtEMailBody').value    = oEMailInfo.Body ;
+	}
+	else if ( sProtocol )
+	{
+		sProtocol = sProtocol[0].toLowerCase() ;
+		GetE('cmbLinkProtocol').value = sProtocol ;
+
+		// Remove the protocol and get the remaining URL.
+		var sUrl = sHRef.replace( oRegex.UriProtocol, '' ) ;
+		sType = 'url' ;
+		GetE('txtUrl').value = sUrl ;
+	}
+	else if ( sHRef.substr(0,1) == '#' && sHRef.length > 1 )	// It is an anchor link.
+	{
+		sType = 'anchor' ;
+		GetE('cmbAnchorName').value = GetE('cmbAnchorId').value = sHRef.substr(1) ;
+	}
+	else					// It is another type of link.
+	{
+		sType = 'url' ;
+
+		GetE('cmbLinkProtocol').value = '' ;
+		GetE('txtUrl').value = sHRef ;
+	}
+
+	if ( !oPopupMatch )
+	{
+		// Get the target.
+		var sTarget = oLink.target ;
+
+		if ( sTarget && sTarget.length > 0 )
+		{
+			if ( oRegex.ReserveTarget.test( sTarget ) )
+			{
+				sTarget = sTarget.toLowerCase() ;
+				GetE('cmbTarget').value = sTarget ;
+			}
+			else
+				GetE('cmbTarget').value = 'frame' ;
+			GetE('txtTargetFrame').value = sTarget ;
+		}
+	}
+
+	// Get Advances Attributes
+	GetE('txtAttId').value			= oLink.id ;
+	GetE('txtAttName').value		= oLink.name ;
+	GetE('cmbAttLangDir').value		= oLink.dir ;
+	GetE('txtAttLangCode').value	= oLink.lang ;
+	GetE('txtAttAccessKey').value	= oLink.accessKey ;
+	GetE('txtAttTabIndex').value	= oLink.tabIndex <= 0 ? '' : oLink.tabIndex ;
+	GetE('txtAttTitle').value		= oLink.title ;
+	GetE('txtAttContentType').value	= oLink.type ;
+	GetE('cmbAttContentRel').value	= oLink.rel ;
+	GetE('txtAttCharSet').value		= oLink.charset ;
+
+	var sClass ;
+	if ( oEditor.FCKBrowserInfo.IsIE )
+	{
+		sClass	= oLink.getAttribute('className',2) || '' ;
+		// Clean up temporary classes for internal use:
+		sClass = sClass.replace( FCKRegexLib.FCK_Class, '' ) ;
+
+		GetE('txtAttStyle').value	= oLink.style.cssText ;
+	}
+	else
+	{
+		sClass	= oLink.getAttribute('class',2) || '' ;
+		GetE('txtAttStyle').value	= oLink.getAttribute('style',2) || '' ;
+	}
+	GetE('txtAttClasses').value	= sClass ;
+
+	// Update the Link type combo.
+	GetE('cmbLinkType').value = sType ;
+}
+
+//#### Link type selection.
+function SetLinkType( linkType )
+{
+	ShowE('divLinkTypeUrl'		, (linkType == 'url') ) ;
+	ShowE('divLinkTypeAnchor'	, (linkType == 'anchor') ) ;
+	ShowE('divLinkTypeEMail'	, (linkType == 'email') ) ;
+
+	if ( !FCKConfig.LinkDlgHideTarget )
+		dialog.SetTabVisibility( 'Target'	, (linkType == 'url') ) ;
+
+	if ( FCKConfig.LinkUpload )
+		dialog.SetTabVisibility( 'Upload'	, (linkType == 'url') ) ;
+
+	if ( !FCKConfig.LinkDlgHideAdvanced )
+		dialog.SetTabVisibility( 'Advanced'	, (linkType != 'anchor' || bHasAnchors) ) ;
+
+	if ( linkType == 'email' )
+		dialog.SetAutoSize( true ) ;
+}
+
+//#### Target type selection.
+function SetTarget( targetType )
+{
+	GetE('tdTargetFrame').style.display	= ( targetType == 'popup' ? 'none' : '' ) ;
+	GetE('tdPopupName').style.display	=
+	GetE('tablePopupFeatures').style.display = ( targetType == 'popup' ? '' : 'none' ) ;
+
+	switch ( targetType )
+	{
+		case "_blank" :
+		case "_self" :
+		case "_parent" :
+		case "_top" :
+			GetE('txtTargetFrame').value = targetType ;
+			break ;
+		case "" :
+			GetE('txtTargetFrame').value = '' ;
+			break ;
+	}
+
+	if ( targetType == 'popup' )
+		dialog.SetAutoSize( true ) ;
+}
+
+//#### Called while the user types the URL.
+function OnUrlChange()
+{
+	var sUrl = GetE('txtUrl').value ;
+	var sProtocol = oRegex.UrlOnChangeProtocol.exec( sUrl ) ;
+
+	if ( sProtocol )
+	{
+		sUrl = sUrl.substr( sProtocol[0].length ) ;
+		GetE('txtUrl').value = sUrl ;
+		GetE('cmbLinkProtocol').value = sProtocol[0].toLowerCase() ;
+	}
+	else if ( oRegex.UrlOnChangeTestOther.test( sUrl ) )
+	{
+		GetE('cmbLinkProtocol').value = '' ;
+	}
+}
+
+//#### Called while the user types the target name.
+function OnTargetNameChange()
+{
+	var sFrame = GetE('txtTargetFrame').value ;
+
+	if ( sFrame.length == 0 )
+		GetE('cmbTarget').value = '' ;
+	else if ( oRegex.ReserveTarget.test( sFrame ) )
+		GetE('cmbTarget').value = sFrame.toLowerCase() ;
+	else
+		GetE('cmbTarget').value = 'frame' ;
+}
+
+// Accessible popups
+function BuildOnClickPopup()
+{
+	var sWindowName = "'" + GetE('txtPopupName').value.replace(/\W/gi, "") + "'" ;
+
+	var sFeatures = '' ;
+	var aChkFeatures = document.getElementsByName( 'chkFeature' ) ;
+	for ( var i = 0 ; i < aChkFeatures.length ; i++ )
+	{
+		if ( i > 0 ) sFeatures += ',' ;
+		sFeatures += aChkFeatures[i].value + '=' + ( aChkFeatures[i].checked ? 'yes' : 'no' ) ;
+	}
+
+	if ( GetE('txtPopupWidth').value.length > 0 )	sFeatures += ',width=' + GetE('txtPopupWidth').value ;
+	if ( GetE('txtPopupHeight').value.length > 0 )	sFeatures += ',height=' + GetE('txtPopupHeight').value ;
+	if ( GetE('txtPopupLeft').value.length > 0 )	sFeatures += ',left=' + GetE('txtPopupLeft').value ;
+	if ( GetE('txtPopupTop').value.length > 0 )		sFeatures += ',top=' + GetE('txtPopupTop').value ;
+
+	if ( sFeatures != '' )
+		sFeatures = sFeatures + ",status" ;
+
+	return ( "window.open(this.href," + sWindowName + ",'" + sFeatures + "'); return false" ) ;
+}
+
+//#### Fills all Popup related fields.
+function FillPopupFields( windowName, features )
+{
+	if ( windowName )
+		GetE('txtPopupName').value = windowName ;
+
+	var oFeatures = new Object() ;
+	var oFeaturesMatch ;
+	while( ( oFeaturesMatch = oRegex.PopupFeatures.exec( features ) ) != null )
+	{
+		var sValue = oFeaturesMatch[2] ;
+		if ( sValue == ( 'yes' || '1' ) )
+			oFeatures[ oFeaturesMatch[1] ] = true ;
+		else if ( ! isNaN( sValue ) && sValue != 0 )
+			oFeatures[ oFeaturesMatch[1] ] = sValue ;
+	}
+
+	// Update all features check boxes.
+	var aChkFeatures = document.getElementsByName('chkFeature') ;
+	for ( var i = 0 ; i < aChkFeatures.length ; i++ )
+	{
+		if ( oFeatures[ aChkFeatures[i].value ] )
+			aChkFeatures[i].checked = true ;
+	}
+
+	// Update position and size text boxes.
+	if ( oFeatures['width'] )	GetE('txtPopupWidth').value		= oFeatures['width'] ;
+	if ( oFeatures['height'] )	GetE('txtPopupHeight').value	= oFeatures['height'] ;
+	if ( oFeatures['left'] )	GetE('txtPopupLeft').value		= oFeatures['left'] ;
+	if ( oFeatures['top'] )		GetE('txtPopupTop').value		= oFeatures['top'] ;
+}
+
+//#### The OK button was hit.
+function Ok()
+{
+	var sUri, sInnerHtml ;
+	oEditor.FCKUndo.SaveUndoStep() ;
+
+	switch ( GetE('cmbLinkType').value )
+	{
+		case 'url' :
+			sUri = GetE('txtUrl').value ;
+
+			if ( sUri.length == 0 )
+			{
+				alert( FCKLang.DlnLnkMsgNoUrl ) ;
+				return false ;
+			}
+
+			sUri = GetE('cmbLinkProtocol').value + sUri ;
+
+			break ;
+
+		case 'email' :
+			sUri = GetE('txtEMailAddress').value ;
+
+			if ( sUri.length == 0 )
+			{
+				alert( FCKLang.DlnLnkMsgNoEMail ) ;
+				return false ;
+			}
+
+			sUri = oParser.CreateEMailUri(
+				sUri,
+				GetE('txtEMailSubject').value,
+				GetE('txtEMailBody').value ) ;
+			break ;
+
+		case 'anchor' :
+			var sAnchor = GetE('cmbAnchorName').value ;
+			if ( sAnchor.length == 0 ) sAnchor = GetE('cmbAnchorId').value ;
+
+			if ( sAnchor.length == 0 )
+			{
+				alert( FCKLang.DlnLnkMsgNoAnchor ) ;
+				return false ;
+			}
+
+			sUri = '#' + sAnchor ;
+			break ;
+	}
+
+	// If no link is selected, create a new one (it may result in more than one link creation - #220).
+	var aLinks = oLink ? [ oLink ] : oEditor.FCK.CreateLink( sUri, true ) ;
+
+	// If no selection, no links are created, so use the uri as the link text (by dom, 2006-05-26)
+	var aHasSelection = ( aLinks.length > 0 ) ;
+	if ( !aHasSelection )
+	{
+		sInnerHtml = sUri;
+
+		// Built a better text for empty links.
+		switch ( GetE('cmbLinkType').value )
+		{
+			// anchor: use old behavior --> return true
+			case 'anchor':
+				sInnerHtml = sInnerHtml.replace( /^#/, '' ) ;
+				break ;
+
+			// url: try to get path
+			case 'url':
+				var oLinkPathRegEx = new RegExp("//?([^?\"']+)([?].*)?$") ;
+				var asLinkPath = oLinkPathRegEx.exec( sUri ) ;
+				if (asLinkPath != null)
+					sInnerHtml = asLinkPath[1];  // use matched path
+				break ;
+
+			// mailto: try to get email address
+			case 'email':
+				sInnerHtml = GetE('txtEMailAddress').value ;
+				break ;
+		}
+
+		// Create a new (empty) anchor.
+		aLinks = [ oEditor.FCK.InsertElement( 'a' ) ] ;
+	}
+
+	for ( var i = 0 ; i < aLinks.length ; i++ )
+	{
+		oLink = aLinks[i] ;
+
+		if ( aHasSelection )
+			sInnerHtml = oLink.innerHTML ;		// Save the innerHTML (IE changes it if it is like an URL).
+
+		oLink.href = sUri ;
+		SetAttribute( oLink, '_fcksavedurl', sUri ) ;
+
+		var onclick;
+		// Accessible popups
+		if( GetE('cmbTarget').value == 'popup' )
+		{
+			onclick = BuildOnClickPopup() ;
+			// Encode the attribute
+			onclick = encodeURIComponent( " onclick=\"" + onclick + "\"" )  ;
+			SetAttribute( oLink, 'onclick_fckprotectedatt', onclick ) ;
+		}
+		else
+		{
+			// Check if the previous onclick was for a popup:
+			// In that case remove the onclick handler.
+			onclick = oLink.getAttribute( 'onclick_fckprotectedatt' ) ;
+			if ( onclick )
+			{
+				// Decode the protected string
+				onclick = decodeURIComponent( onclick ) ;
+
+				if( oRegex.OnClickPopup.test( onclick ) )
+					SetAttribute( oLink, 'onclick_fckprotectedatt', '' ) ;
+			}
+		}
+
+		oLink.innerHTML = sInnerHtml ;		// Set (or restore) the innerHTML
+
+		// Target
+		if( GetE('cmbTarget').value != 'popup' )
+			SetAttribute( oLink, 'target', GetE('txtTargetFrame').value ) ;
+		else
+			SetAttribute( oLink, 'target', null ) ;
+
+		// Let's set the "id" only for the first link to avoid duplication.
+		if ( i == 0 )
+			SetAttribute( oLink, 'id', GetE('txtAttId').value ) ;
+
+		// Advances Attributes
+		SetAttribute( oLink, 'name'		, GetE('txtAttName').value ) ;
+		SetAttribute( oLink, 'dir'		, GetE('cmbAttLangDir').value ) ;
+		SetAttribute( oLink, 'lang'		, GetE('txtAttLangCode').value ) ;
+		SetAttribute( oLink, 'accesskey', GetE('txtAttAccessKey').value ) ;
+		SetAttribute( oLink, 'tabindex'	, ( GetE('txtAttTabIndex').value > 0 ? GetE('txtAttTabIndex').value : null ) ) ;
+		SetAttribute( oLink, 'title'	, GetE('txtAttTitle').value ) ;
+		SetAttribute( oLink, 'type'		, GetE('txtAttContentType').value ) ;
+		SetAttribute( oLink, 'rel'		, GetE('cmbAttContentRel').value ) ;
+		SetAttribute( oLink, 'charset'	, GetE('txtAttCharSet').value ) ;
+
+		if ( oEditor.FCKBrowserInfo.IsIE )
+		{
+			var sClass = GetE('txtAttClasses').value ;
+			// If it's also an anchor add an internal class
+			if ( GetE('txtAttName').value.length != 0 )
+				sClass += ' FCK__AnchorC' ;
+			SetAttribute( oLink, 'className', sClass ) ;
+
+			oLink.style.cssText = GetE('txtAttStyle').value ;
+		}
+		else
+		{
+			SetAttribute( oLink, 'class', GetE('txtAttClasses').value ) ;
+			SetAttribute( oLink, 'style', GetE('txtAttStyle').value ) ;
+		}
+	}
+
+	// Select the (first) link.
+	oEditor.FCKSelection.SelectNode( aLinks[0] );
+
+	return true ;
+}
+
+function BrowseServer()
+{
+	OpenFileBrowser( FCKConfig.LinkBrowserURL, FCKConfig.LinkBrowserWindowWidth, FCKConfig.LinkBrowserWindowHeight ) ;
+}
+
+function SetUrl( url )
+{
+	GetE('txtUrl').value = url ;
+	OnUrlChange() ;
+	dialog.SetSelectedTab( 'Info' ) ;
+}
+
+function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
+{
+	// Remove animation
+	window.parent.Throbber.Hide() ;
+	GetE( 'divUpload' ).style.display  = '' ;
+
+	switch ( errorNumber )
+	{
+		case 0 :	// No errors
+			alert( 'Your file has been successfully uploaded' ) ;
+			break ;
+		case 1 :	// Custom error
+			alert( customMsg ) ;
+			return ;
+		case 101 :	// Custom warning
+			alert( customMsg ) ;
+			break ;
+		case 201 :
+			alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ;
+			break ;
+		case 202 :
+			alert( 'Invalid file type' ) ;
+			return ;
+		case 203 :
+			alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ;
+			return ;
+		case 500 :
+			alert( 'The connector is disabled' ) ;
+			break ;
+		default :
+			alert( 'Error on file upload. Error number: ' + errorNumber ) ;
+			return ;
+	}
+
+	SetUrl( fileUrl ) ;
+	GetE('frmUpload').reset() ;
+}
+
+var oUploadAllowedExtRegex	= new RegExp( FCKConfig.LinkUploadAllowedExtensions, 'i' ) ;
+var oUploadDeniedExtRegex	= new RegExp( FCKConfig.LinkUploadDeniedExtensions, 'i' ) ;
+
+function CheckUpload()
+{
+	var sFile = GetE('txtUploadFile').value ;
+
+	if ( sFile.length == 0 )
+	{
+		alert( 'Please select a file to upload' ) ;
+		return false ;
+	}
+
+	if ( ( FCKConfig.LinkUploadAllowedExtensions.length > 0 && !oUploadAllowedExtRegex.test( sFile ) ) ||
+		( FCKConfig.LinkUploadDeniedExtensions.length > 0 && oUploadDeniedExtRegex.test( sFile ) ) )
+	{
+		OnUploadCompleted( 202 ) ;
+		return false ;
+	}
+
+	// Show animation
+	window.parent.Throbber.Show( 100 ) ;
+	GetE( 'divUpload' ).style.display  = 'none' ;
+
+	return true ;
+}
+
+function SetDefaultTarget()
+{
+	var target = FCKConfig.DefaultLinkTarget || '' ;
+
+	if ( oLink || target.length == 0 )
+		return ;
+
+	switch ( target )
+	{
+		case '_blank' :
+		case '_self' :
+		case '_parent' :
+		case '_top' :
+			GetE('cmbTarget').value = target ;
+			break ;
+		default :
+			GetE('cmbTarget').value = 'frame' ;
+			break ;
+	}
+
+	GetE('txtTargetFrame').value = target ;
+}
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/common/images/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/common/images/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/common/images/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/common/images/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/common/images/locked.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/common/images/locked.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/common/images/reset.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/common/images/reset.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/common/images/unlocked.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/common/images/unlocked.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/common/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/common/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/common/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/common/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/common/fck_dialog_common.css
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/common/fck_dialog_common.css	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/common/fck_dialog_common.css	(revision 1481)
@@ -0,0 +1,85 @@
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This is the CSS file used for interface details in some dialog
+ * windows.
+ */
+
+/* #########
+ *  WARNING
+ * #########
+ * When changing this file, the minified version of it must be updated in the
+ * fck_dialog_common.js file (see GetCommonDialogCss).
+ */
+
+.ImagePreviewArea
+{
+	border: #000000 1px solid;
+	overflow: auto;
+	width: 100%;
+	height: 170px;
+	background-color: #ffffff;
+}
+
+.FlashPreviewArea
+{
+	border: #000000 1px solid;
+	padding: 5px;
+	overflow: auto;
+	width: 100%;
+	height: 170px;
+	background-color: #ffffff;
+}
+
+.BtnReset
+{
+	float: left;
+	background-position: center center;
+	background-image: url(images/reset.gif);
+	width: 16px;
+	height: 16px;
+	background-repeat: no-repeat;
+	border: 1px none;
+	font-size: 1px ;
+}
+
+.BtnLocked, .BtnUnlocked
+{
+	float: left;
+	background-position: center center;
+	background-image: url(images/locked.gif);
+	width: 16px;
+	height: 16px;
+	background-repeat: no-repeat;
+	border: none 1px;
+	font-size: 1px ;
+}
+
+.BtnUnlocked
+{
+	background-image: url(images/unlocked.gif);
+}
+
+.BtnOver
+{
+	border: outset 1px;
+	cursor: pointer;
+	cursor: hand;
+}
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/common/fck_dialog_common.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/common/fck_dialog_common.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/common/fck_dialog_common.js	(revision 1481)
@@ -0,0 +1,347 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Useful functions used by almost all dialog window pages.
+ * Dialogs should link to this file as the very first script on the page.
+ */
+
+// Automatically detect the correct document.domain (#123).
+(function()
+{
+	var d = document.domain ;
+
+	while ( true )
+	{
+		// Test if we can access a parent property.
+		try
+		{
+			var test = window.parent.document.domain ;
+			break ;
+		}
+		catch( e ) {}
+
+		// Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
+		d = d.replace( /.*?(?:\.|$)/, '' ) ;
+
+		if ( d.length == 0 )
+			break ;		// It was not able to detect the domain.
+
+		try
+		{
+			document.domain = d ;
+		}
+		catch (e)
+		{
+			break ;
+		}
+	}
+})() ;
+
+// Attention: FCKConfig must be available in the page.
+function GetCommonDialogCss( prefix )
+{
+	// CSS minified by http://iceyboard.no-ip.org/projects/css_compressor (see _dev/css_compression.txt).
+	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}' ;
+}
+
+// Gets a element by its Id. Used for shorter coding.
+function GetE( elementId )
+{
+	return document.getElementById( elementId )  ;
+}
+
+function ShowE( element, isVisible )
+{
+	if ( typeof( element ) == 'string' )
+		element = GetE( element ) ;
+	element.style.display = isVisible ? '' : 'none' ;
+}
+
+function SetAttribute( element, attName, attValue )
+{
+	if ( attValue == null || attValue.length == 0 )
+		element.removeAttribute( attName, 0 ) ;			// 0 : Case Insensitive
+	else
+		element.setAttribute( attName, attValue, 0 ) ;	// 0 : Case Insensitive
+}
+
+function GetAttribute( element, attName, valueIfNull )
+{
+	var oAtt = element.attributes[attName] ;
+
+	if ( oAtt == null || !oAtt.specified )
+		return valueIfNull ? valueIfNull : '' ;
+
+	var oValue = element.getAttribute( attName, 2 ) ;
+
+	if ( oValue == null )
+		oValue = oAtt.nodeValue ;
+
+	return ( oValue == null ? valueIfNull : oValue ) ;
+}
+
+function SelectField( elementId )
+{
+	var element = GetE( elementId ) ;
+	element.focus() ;
+
+	// element.select may not be available for some fields (like <select>).
+	if ( element.select )
+		element.select() ;
+}
+
+// Functions used by text fields to accept numbers only.
+var IsDigit = ( function()
+	{
+		var KeyIdentifierMap =
+		{
+			End			: 35,
+			Home		: 36,
+			Left		: 37,
+			Right		: 39,
+			'U+00007F'	: 46		// Delete
+		} ;
+
+		return function ( e )
+			{
+				if ( !e )
+					e = event ;
+
+				var iCode = ( e.keyCode || e.charCode ) ;
+
+				if ( !iCode && e.keyIdentifier && ( e.keyIdentifier in KeyIdentifierMap ) )
+						iCode = KeyIdentifierMap[ e.keyIdentifier ] ;
+
+				return (
+						( iCode >= 48 && iCode <= 57 )		// Numbers
+						|| (iCode >= 35 && iCode <= 40)		// Arrows, Home, End
+						|| iCode == 8						// Backspace
+						|| iCode == 46						// Delete
+						|| iCode == 9						// Tab
+				) ;
+			}
+	} )() ;
+
+String.prototype.Trim = function()
+{
+	return this.replace( /(^\s*)|(\s*$)/g, '' ) ;
+}
+
+String.prototype.StartsWith = function( value )
+{
+	return ( this.substr( 0, value.length ) == value ) ;
+}
+
+String.prototype.Remove = function( start, length )
+{
+	var s = '' ;
+
+	if ( start > 0 )
+		s = this.substring( 0, start ) ;
+
+	if ( start + length < this.length )
+		s += this.substring( start + length , this.length ) ;
+
+	return s ;
+}
+
+String.prototype.ReplaceAll = function( searchArray, replaceArray )
+{
+	var replaced = this ;
+
+	for ( var i = 0 ; i < searchArray.length ; i++ )
+	{
+		replaced = replaced.replace( searchArray[i], replaceArray[i] ) ;
+	}
+
+	return replaced ;
+}
+
+function OpenFileBrowser( url, width, height )
+{
+	// oEditor must be defined.
+
+	var iLeft = ( oEditor.FCKConfig.ScreenWidth  - width ) / 2 ;
+	var iTop  = ( oEditor.FCKConfig.ScreenHeight - height ) / 2 ;
+
+	var sOptions = "toolbar=no,status=no,resizable=yes,dependent=yes,scrollbars=yes" ;
+	sOptions += ",width=" + width ;
+	sOptions += ",height=" + height ;
+	sOptions += ",left=" + iLeft ;
+	sOptions += ",top=" + iTop ;
+
+	window.open( url, 'FCKBrowseWindow', sOptions ) ;
+}
+
+/**
+ Utility function to create/update an element with a name attribute in IE, so it behaves properly when moved around
+ It also allows to change the name or other special attributes in an existing node
+	oEditor : instance of FCKeditor where the element will be created
+	oOriginal : current element being edited or null if it has to be created
+	nodeName : string with the name of the element to create
+	oAttributes : Hash object with the attributes that must be set at creation time in IE
+								Those attributes will be set also after the element has been
+								created for any other browser to avoid redudant code
+*/
+function CreateNamedElement( oEditor, oOriginal, nodeName, oAttributes )
+{
+	var oNewNode ;
+
+	// IE doesn't allow easily to change properties of an existing object,
+	// so remove the old and force the creation of a new one.
+	var oldNode = null ;
+	if ( oOriginal && oEditor.FCKBrowserInfo.IsIE )
+	{
+		// Force the creation only if some of the special attributes have changed:
+		var bChanged = false;
+		for( var attName in oAttributes )
+			bChanged |= ( oOriginal.getAttribute( attName, 2) != oAttributes[attName] ) ;
+
+		if ( bChanged )
+		{
+			oldNode = oOriginal ;
+			oOriginal = null ;
+		}
+	}
+
+	// If the node existed (and it's not IE), then we just have to update its attributes
+	if ( oOriginal )
+	{
+		oNewNode = oOriginal ;
+	}
+	else
+	{
+		// #676, IE doesn't play nice with the name or type attribute
+		if ( oEditor.FCKBrowserInfo.IsIE )
+		{
+			var sbHTML = [] ;
+			sbHTML.push( '<' + nodeName ) ;
+			for( var prop in oAttributes )
+			{
+				sbHTML.push( ' ' + prop + '="' + oAttributes[prop] + '"' ) ;
+			}
+			sbHTML.push( '>' ) ;
+			if ( !oEditor.FCKListsLib.EmptyElements[nodeName.toLowerCase()] )
+				sbHTML.push( '</' + nodeName + '>' ) ;
+
+			oNewNode = oEditor.FCK.EditorDocument.createElement( sbHTML.join('') ) ;
+			// Check if we are just changing the properties of an existing node: copy its properties
+			if ( oldNode )
+			{
+				CopyAttributes( oldNode, oNewNode, oAttributes ) ;
+				oEditor.FCKDomTools.MoveChildren( oldNode, oNewNode ) ;
+				oldNode.parentNode.removeChild( oldNode ) ;
+				oldNode = null ;
+
+				if ( oEditor.FCK.Selection.SelectionData )
+				{
+					// Trick to refresh the selection object and avoid error in
+					// fckdialog.html Selection.EnsureSelection
+					var oSel = oEditor.FCK.EditorDocument.selection ;
+					oEditor.FCK.Selection.SelectionData = oSel.createRange() ; // Now oSel.type will be 'None' reflecting the real situation
+				}
+			}
+			oNewNode = oEditor.FCK.InsertElement( oNewNode ) ;
+
+			// FCK.Selection.SelectionData is broken by now since we've
+			// deleted the previously selected element. So we need to reassign it.
+			if ( oEditor.FCK.Selection.SelectionData )
+			{
+				var range = oEditor.FCK.EditorDocument.body.createControlRange() ;
+				range.add( oNewNode ) ;
+				oEditor.FCK.Selection.SelectionData = range ;
+			}
+		}
+		else
+		{
+			oNewNode = oEditor.FCK.InsertElement( nodeName ) ;
+		}
+	}
+
+	// Set the basic attributes
+	for( var attName in oAttributes )
+		oNewNode.setAttribute( attName, oAttributes[attName], 0 ) ;	// 0 : Case Insensitive
+
+	return oNewNode ;
+}
+
+// Copy all the attributes from one node to the other, kinda like a clone
+// But oSkipAttributes is an object with the attributes that must NOT be copied
+function CopyAttributes( oSource, oDest, oSkipAttributes )
+{
+	var aAttributes = oSource.attributes ;
+
+	for ( var n = 0 ; n < aAttributes.length ; n++ )
+	{
+		var oAttribute = aAttributes[n] ;
+
+		if ( oAttribute.specified )
+		{
+			var sAttName = oAttribute.nodeName ;
+			// We can set the type only once, so do it with the proper value, not copying it.
+			if ( sAttName in oSkipAttributes )
+				continue ;
+
+			var sAttValue = oSource.getAttribute( sAttName, 2 ) ;
+			if ( sAttValue == null )
+				sAttValue = oAttribute.nodeValue ;
+
+			oDest.setAttribute( sAttName, sAttValue, 0 ) ;	// 0 : Case Insensitive
+		}
+	}
+	// The style:
+	if ( oSource.style.cssText !== '' )
+		oDest.style.cssText = oSource.style.cssText ;
+}
+
+/**
+* Replaces a tag with another one, keeping its contents:
+* for example TD --> TH, and TH --> TD.
+* input: the original node, and the new tag name
+* http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-renameNode
+*/
+function RenameNode( oNode , newTag )
+{
+	// TODO: if the browser natively supports document.renameNode call it.
+	// does any browser currently support it in order to test?
+
+	// Only rename element nodes.
+	if ( oNode.nodeType != 1 )
+		return null ;
+
+	// If it's already correct exit here.
+	if ( oNode.nodeName == newTag )
+		return oNode ;
+
+	var oDoc = oNode.ownerDocument ;
+	// Create the new node
+	var newNode = oDoc.createElement( newTag ) ;
+
+	// Copy all attributes
+	CopyAttributes( oNode, newNode, {} ) ;
+
+	// Move children to the new node
+	FCKDomTools.MoveChildren( oNode, newNode ) ;
+
+	// Finally replace the node and return the new one
+	oNode.parentNode.replaceChild( newNode, oNode ) ;
+
+	return newNode ;
+}
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/images/yaml50_50.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/images/yaml50_50.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/images/yaml33_33_33.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/images/yaml33_33_33.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/images/yaml33_66.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/images/yaml33_66.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/images/yaml66_33.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/images/yaml66_33.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/images/yaml25_75.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/images/yaml25_75.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/images/yaml_132_alt2.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/images/yaml_132_alt2.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/images/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/images/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/images/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/images/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/images/yaml_13_combinations.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/images/yaml_13_combinations.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/images/yml_123_321.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/images/yml_123_321.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/images/yml_132_231.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/images/yml_132_231.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/images/yml_213_312.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/images/yml_213_312.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/images/template1.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/images/template1.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/images/template2.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/images/template2.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/images/template3.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/images/template3.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_select/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_select/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_select/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_select/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_select/fck_select.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_select/fck_select.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_select/fck_select.js	(revision 1481)
@@ -0,0 +1,194 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Scripts for the fck_select.html page.
+ */
+
+function Select( combo )
+{
+	var iIndex = combo.selectedIndex ;
+
+	oListText.selectedIndex		= iIndex ;
+	oListValue.selectedIndex	= iIndex ;
+
+	var oTxtText	= document.getElementById( "txtText" ) ;
+	var oTxtValue	= document.getElementById( "txtValue" ) ;
+
+	oTxtText.value	= oListText.value ;
+	oTxtValue.value	= oListValue.value ;
+}
+
+function Add()
+{
+	var oTxtText	= document.getElementById( "txtText" ) ;
+	var oTxtValue	= document.getElementById( "txtValue" ) ;
+
+	AddComboOption( oListText, oTxtText.value, oTxtText.value ) ;
+	AddComboOption( oListValue, oTxtValue.value, oTxtValue.value ) ;
+
+	oListText.selectedIndex = oListText.options.length - 1 ;
+	oListValue.selectedIndex = oListValue.options.length - 1 ;
+
+	oTxtText.value	= '' ;
+	oTxtValue.value	= '' ;
+
+	oTxtText.focus() ;
+}
+
+function Modify()
+{
+	var iIndex = oListText.selectedIndex ;
+
+	if ( iIndex < 0 ) return ;
+
+	var oTxtText	= document.getElementById( "txtText" ) ;
+	var oTxtValue	= document.getElementById( "txtValue" ) ;
+
+	oListText.options[ iIndex ].innerHTML	= HTMLEncode( oTxtText.value ) ;
+	oListText.options[ iIndex ].value		= oTxtText.value ;
+
+	oListValue.options[ iIndex ].innerHTML	= HTMLEncode( oTxtValue.value ) ;
+	oListValue.options[ iIndex ].value		= oTxtValue.value ;
+
+	oTxtText.value	= '' ;
+	oTxtValue.value	= '' ;
+
+	oTxtText.focus() ;
+}
+
+function Move( steps )
+{
+	ChangeOptionPosition( oListText, steps ) ;
+	ChangeOptionPosition( oListValue, steps ) ;
+}
+
+function Delete()
+{
+	RemoveSelectedOptions( oListText ) ;
+	RemoveSelectedOptions( oListValue ) ;
+}
+
+function SetSelectedValue()
+{
+	var iIndex = oListValue.selectedIndex ;
+	if ( iIndex < 0 ) return ;
+
+	var oTxtValue = document.getElementById( "txtSelValue" ) ;
+
+	oTxtValue.value = oListValue.options[ iIndex ].value ;
+}
+
+// Moves the selected option by a number of steps (also negative)
+function ChangeOptionPosition( combo, steps )
+{
+	var iActualIndex = combo.selectedIndex ;
+
+	if ( iActualIndex < 0 )
+		return ;
+
+	var iFinalIndex = iActualIndex + steps ;
+
+	if ( iFinalIndex < 0 )
+		iFinalIndex = 0 ;
+
+	if ( iFinalIndex > ( combo.options.length - 1 ) )
+		iFinalIndex = combo.options.length - 1 ;
+
+	if ( iActualIndex == iFinalIndex )
+		return ;
+
+	var oOption = combo.options[ iActualIndex ] ;
+	var sText	= HTMLDecode( oOption.innerHTML ) ;
+	var sValue	= oOption.value ;
+
+	combo.remove( iActualIndex ) ;
+
+	oOption = AddComboOption( combo, sText, sValue, null, iFinalIndex ) ;
+
+	oOption.selected = true ;
+}
+
+// Remove all selected options from a SELECT object
+function RemoveSelectedOptions(combo)
+{
+	// Save the selected index
+	var iSelectedIndex = combo.selectedIndex ;
+
+	var oOptions = combo.options ;
+
+	// Remove all selected options
+	for ( var i = oOptions.length - 1 ; i >= 0 ; i-- )
+	{
+		if (oOptions[i].selected) combo.remove(i) ;
+	}
+
+	// Reset the selection based on the original selected index
+	if ( combo.options.length > 0 )
+	{
+		if ( iSelectedIndex >= combo.options.length ) iSelectedIndex = combo.options.length - 1 ;
+		combo.selectedIndex = iSelectedIndex ;
+	}
+}
+
+// Add a new option to a SELECT object (combo or list)
+function AddComboOption( combo, optionText, optionValue, documentObject, index )
+{
+	var oOption ;
+
+	if ( documentObject )
+		oOption = documentObject.createElement("OPTION") ;
+	else
+		oOption = document.createElement("OPTION") ;
+
+	if ( index != null )
+		combo.options.add( oOption, index ) ;
+	else
+		combo.options.add( oOption ) ;
+
+	oOption.innerHTML = optionText.length > 0 ? HTMLEncode( optionText ) : '&nbsp;' ;
+	oOption.value     = optionValue ;
+
+	return oOption ;
+}
+
+function HTMLEncode( text )
+{
+	if ( !text )
+		return '' ;
+
+	text = text.replace( /&/g, '&amp;' ) ;
+	text = text.replace( /</g, '&lt;' ) ;
+	text = text.replace( />/g, '&gt;' ) ;
+
+	return text ;
+}
+
+
+function HTMLDecode( text )
+{
+	if ( !text )
+		return '' ;
+
+	text = text.replace( /&gt;/g, '>' ) ;
+	text = text.replace( /&lt;/g, '<' ) ;
+	text = text.replace( /&amp;/g, '&' ) ;
+
+	return text ;
+}
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_scayt/scayt_dialog.css
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_scayt/scayt_dialog.css	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_scayt/scayt_dialog.css	(revision 1481)
@@ -0,0 +1,169 @@
+html, body
+{
+	background-color: transparent;
+	margin: 0px;
+	padding: 0px;
+}
+
+body
+{
+	padding: 10px;
+}
+
+body, td, input, select, textarea
+{
+	font-size: 11px;
+	font-family: 'Microsoft Sans Serif' , Arial, Helvetica, Verdana;
+}
+
+.midtext
+{
+	padding:0px;
+	margin:10px;
+}
+
+.midtext p
+{
+	padding:0px;
+	margin:10px;
+}
+
+.Button
+{
+	border: #737357 1px solid;
+	color: #3b3b1f;
+	background-color: #c7c78f;
+}
+
+.PopupTabArea , .button
+{
+	color: #737357;
+	background-color: #e3e3c7;
+}
+
+.PopupTitleBorder
+{
+	border-bottom: #d5d59d 1px solid;
+}
+.PopupTabEmptyArea
+{
+	padding-left: 10px;
+	border-bottom: #d5d59d 1px solid;
+}
+
+.PopupTab, .PopupTabSelected
+{
+	border-right: #d5d59d 1px solid;
+	border-top: #d5d59d 1px solid;
+	border-left: #d5d59d 1px solid;
+	padding: 3px 5px 3px 5px;
+	color: #737357;
+}
+
+.PopupTab
+{
+	margin-top: 1px;
+	border-bottom: #d5d59d 1px solid;
+	cursor: pointer;
+	cursor: hand;
+}
+
+.PopupTabSelected
+{
+	font-weight: bold;
+	cursor: default;
+	padding-top: 4px;
+	border-bottom: #f1f1e3 1px solid;
+	background-color: #f1f1e3;
+}
+
+ul {
+    padding:0;
+    margin:0px 0px 12px 0px;
+    list-style-type:none;
+}
+ul.tabs {
+    height:20px;
+    margin:10px 0px;
+}
+ul.tabs li {
+    float: left;
+	display:none;
+}
+div.tab_container {
+    /*display:none;*/
+    padding: 0px 5px ;
+}
+.lcol {
+    float:left;
+    width:47%;
+    margin-left:5px;
+}
+.rcol {
+    float:right;
+    width:47%;
+    margin-right:5px;
+}
+div.tabs-container{
+	height:220px;
+	overflow-x:hidden;
+	overflow-y:auto;
+}
+
+div.tabs-container h3{
+    margin:5px 15px 7px 15px;
+    background-color:transparent;
+    font-size: 14px ;
+}
+
+.li {
+    border: 1px solid transparent;
+}
+
+#dic_message{
+	height: 24px;
+}
+#dic_message .error{
+	color: red ;
+}
+#dic_message .success{
+	color: blue ;
+}
+
+.dic_buttons {
+	margin-top: 5px;
+	padding-left:10px;
+}
+.dic_buttons a {
+	display: none;
+}
+a.button {
+	border: #d5d59d 1px solid;
+	padding: 2px 4px;
+	margin-right: 4px;
+	text-decoration: none;
+}
+
+a.button:hover,
+a.button:active,
+a.button:visited{
+	padding: 2px 4px;
+	margin-right: 4px;
+	text-decoration: none;
+}
+a.button:hover {
+	border: #d5d59d 1px solid;
+	color: #e3e3c7;
+	background-color: #737357;
+}
+
+#scayt_options li {
+	display: none;
+}
+
+#dic_info {
+	margin:10px;
+}
+#dic_tab {
+	display:none;
+}
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_scayt/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_scayt/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_scayt/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id: index.php 915 2009-01-21 19:27:01Z Ruebenwurzel $
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_div.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_div.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_div.html	(revision 1481)
@@ -0,0 +1,396 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Form dialog window.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title></title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<meta content="noindex, nofollow" name="robots" />
+	<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+	<script type="text/javascript">
+var dialog	= window.parent ;
+var oEditor = dialog.InnerDialogLoaded() ;
+var FCK = oEditor.FCK ;
+var FCKLang = oEditor.FCKLang ;
+var FCKBrowserInfo = oEditor.FCKBrowserInfo ;
+var FCKStyles = oEditor.FCKStyles ;
+var FCKElementPath = oEditor.FCKElementPath ;
+var FCKDomRange = oEditor.FCKDomRange ;
+var FCKDomTools = oEditor.FCKDomTools ;
+var FCKDomRangeIterator = oEditor.FCKDomRangeIterator ;
+var FCKListsLib = oEditor.FCKListsLib ;
+var AlwaysCreate = dialog.Args().CustomValue ;
+
+String.prototype.IEquals = function()
+{
+	var thisUpper = this.toUpperCase() ;
+
+	var aArgs = arguments ;
+
+	// The arguments could also be a single array.
+	if ( aArgs.length == 1 && aArgs[0].pop )
+		aArgs = aArgs[0] ;
+
+	for ( var i = 0 ; i < aArgs.length ; i++ )
+	{
+		if ( thisUpper == aArgs[i].toUpperCase() )
+			return true ;
+	}
+	return false ;
+}
+
+var CurrentContainers = [] ;
+if ( !AlwaysCreate )
+{
+	dialog.Selection.EnsureSelection() ;
+	CurrentContainers = FCKDomTools.GetSelectedDivContainers() ;
+}
+
+// Add some tabs
+dialog.AddTab( 'General', FCKLang.DlgDivGeneralTab );
+dialog.AddTab( 'Advanced', FCKLang.DlgDivAdvancedTab ) ;
+
+function AddStyleOption( styleName )
+{
+	var el = GetE( 'selStyle' ) ;
+	var opt = document.createElement( 'option' ) ;
+	opt.text = opt.value = styleName ;
+
+	if ( FCKBrowserInfo.IsIE )
+		el.add( opt ) ;
+	else
+		el.add( opt, null ) ;
+}
+
+function OnDialogTabChange( tabCode )
+{
+	ShowE( 'divGeneral', tabCode == 'General' ) ;
+	ShowE( 'divAdvanced', tabCode == 'Advanced' ) ;
+	dialog.SetAutoSize( true ) ;
+}
+
+function GetNearestAncestorDirection( node )
+{
+	var dir = 'ltr' ;	// HTML default.
+	while ( ( node = node.parentNode ) )
+	{
+		if ( node.dir )
+			dir = node.dir ;
+	}
+	return dir ;
+}
+
+window.onload = function()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	dialog.SetOkButton( true ) ;
+	dialog.SetAutoSize( true ) ;
+
+	// Popuplate the style menu
+	var styles = FCKStyles.GetStyles() ;
+	var selectableStyles = {} ;
+	for ( var i in styles )
+	{
+		if ( ! /^_FCK_/.test( i ) && styles[i].Element == 'div' )
+			selectableStyles[i] = styles[i] ;
+	}
+	if ( CurrentContainers.length <= 1 )
+	{
+		var target = CurrentContainers[0] ;
+		var match = null ;
+		for ( var i in selectableStyles )
+		{
+			if ( target && styles[i].CheckElementRemovable( target, true ) )
+				match = i ;
+		}
+		if ( !match )
+			AddStyleOption( "" ) ;
+		for ( var i in selectableStyles )
+			AddStyleOption( i ) ;
+		if ( match )
+			GetE( 'selStyle' ).value = match ;
+
+		// Set the value for other inputs
+		if ( target )
+		{
+			GetE( 'txtClass' ).value = target.className ;
+			GetE( 'txtId' ).value = target.id ;
+			GetE( 'txtLang' ).value = target.lang ;
+			GetE( 'txtInlineStyle').value = target.style.cssText ;
+			GetE( 'txtTitle' ).value = target.title ;
+			GetE( 'selLangDir').value = target.dir || GetNearestAncestorDirection( target ) ;
+		}
+	}
+	else
+	{
+		GetE( 'txtId' ).disabled = true ;
+		AddStyleOption( "" ) ;
+		for ( var i in selectableStyles )
+			AddStyleOption( i ) ;
+	}
+}
+
+function CreateDiv()
+{
+	var newBlocks = [] ;
+	var range = new FCKDomRange( FCK.EditorWindow ) ;
+	range.MoveToSelection() ;
+
+	var bookmark = range.CreateBookmark() ;
+
+	// Kludge for #1592: if the bookmark nodes are in the beginning of
+	// $tagName, then move them to the nearest block element in the
+	// $tagName.
+	if ( FCKBrowserInfo.IsIE )
+	{
+		var bStart	= range.GetBookmarkNode( bookmark, true ) ;
+		var bEnd	= range.GetBookmarkNode( bookmark, false ) ;
+
+		var cursor ;
+
+		if ( bStart
+				&& bStart.parentNode.nodeName.IEquals( 'div' )
+				&& !bStart.previousSibling )
+		{
+			cursor = bStart ;
+			while ( ( cursor = cursor.nextSibling ) )
+			{
+				if ( FCKListsLib.BlockElements[ cursor.nodeName.toLowerCase() ] )
+					FCKDomTools.MoveNode( bStart, cursor, true ) ;
+			}
+		}
+
+		if ( bEnd
+				&& bEnd.parentNode.nodeName.IEquals( 'div' )
+				&& !bEnd.previousSibling )
+		{
+			cursor = bEnd ;
+			while ( ( cursor = cursor.nextSibling ) )
+			{
+				if ( FCKListsLib.BlockElements[ cursor.nodeName.toLowerCase() ] )
+				{
+					if ( cursor.firstChild == bStart )
+						FCKDomTools.InsertAfterNode( bStart, bEnd ) ;
+					else
+						FCKDomTools.MoveNode( bEnd, cursor, true ) ;
+				}
+			}
+		}
+	}
+
+	var iterator = new FCKDomRangeIterator( range ) ;
+	var block ;
+
+	var paragraphs = [] ;
+	while ( ( block = iterator.GetNextParagraph() ) )
+		paragraphs.push( block ) ;
+
+	// Make sure all paragraphs have the same parent.
+	var commonParent = paragraphs[0].parentNode ;
+	var tmp = [] ;
+	for ( var i = 0 ; i < paragraphs.length ; i++ )
+	{
+		block = paragraphs[i] ;
+		commonParent = FCKDomTools.GetCommonParents( block.parentNode, commonParent ).pop() ;
+	}
+
+	// The common parent must not be the following tags: table, tbody, tr, ol, ul.
+	while ( commonParent.nodeName.IEquals( 'table', 'tbody', 'tr', 'ol', 'ul' ) )
+		commonParent = commonParent.parentNode ;
+
+	// Reconstruct the block list to be processed such that all resulting blocks
+	// satisfy parentNode == commonParent.
+	var lastBlock = null ;
+	while ( paragraphs.length > 0 )
+	{
+		block = paragraphs.shift() ;
+		while ( block.parentNode != commonParent )
+			block = block.parentNode ;
+		if ( block != lastBlock )
+			tmp.push( block ) ;
+		lastBlock = block ;
+	}
+	paragraphs = tmp ;
+
+	// Split the paragraphs into groups depending on their BlockLimit element.
+	var groups = [] ;
+	var lastBlockLimit = null ;
+	for ( var i = 0 ; i < paragraphs.length ; i++ )
+	{
+		block = paragraphs[i] ;
+		var elementPath = new FCKElementPath( block ) ;
+		if ( elementPath.BlockLimit != lastBlockLimit )
+		{
+			groups.push( [] ) ;
+			lastBlockLimit = elementPath.BlockLimit ;
+		}
+		groups[groups.length - 1].push( block ) ;
+	}
+
+	// Create a DIV container for each group.
+	for ( var i = 0 ; i < groups.length ; i++ )
+	{
+		var divNode = FCK.EditorDocument.createElement( 'div' ) ;
+		groups[i][0].parentNode.insertBefore( divNode, groups[i][0] ) ;
+		for ( var j = 0 ; j < groups[i].length ; j++ )
+			FCKDomTools.MoveNode( groups[i][j], divNode ) ;
+		newBlocks.push( divNode ) ;
+	}
+
+	range.MoveToBookmark( bookmark ) ;
+	range.Select() ;
+
+	FCK.Focus() ;
+	FCK.Events.FireEvent( 'OnSelectionChange' ) ;
+
+	return newBlocks ;
+}
+
+function Ok()
+{
+	oEditor.FCKUndo.SaveUndoStep() ;
+
+	if ( CurrentContainers.length < 1 )
+		CurrentContainers = CreateDiv();
+
+	var setValue = function( attrName, inputName )
+	{
+		var val = GetE( inputName ).value ;
+		for ( var i = 0 ; i < CurrentContainers.length ; i++ )
+		{
+			if ( val == '' )
+				CurrentContainers[i].removeAttribute( attrName ) ;
+			else
+				CurrentContainers[i].setAttribute( attrName, val ) ;
+		}
+	}
+
+	// Apply modifications to the DIV container according to dialog inputs.
+	if ( CurrentContainers.length == 1 )
+	{
+		setValue( 'class', 'txtClass' ) ;
+		setValue( 'id', 'txtId' ) ;
+	}
+	setValue( 'lang', 'txtLang' ) ;
+	if ( FCKBrowserInfo.IsIE )
+	{
+		for ( var i = 0 ; i < CurrentContainers.length ; i++ )
+			CurrentContainers[i].style.cssText = GetE( 'txtInlineStyle' ).value ;
+	}
+	else
+		setValue( 'style', 'txtInlineStyle' ) ;
+	setValue( 'title', 'txtTitle' ) ;
+	for ( var i = 0 ; i < CurrentContainers.length ; i++ )
+	{
+		var dir = GetE( 'selLangDir' ).value ;
+		var styleName = GetE( 'selStyle' ).value ;
+		if ( GetNearestAncestorDirection( CurrentContainers[i] ) != dir )
+			CurrentContainers[i].dir = dir ;
+		else
+			CurrentContainers[i].removeAttribute( 'dir' ) ;
+
+		if ( styleName )
+			FCKStyles.GetStyle( styleName ).ApplyToObject( CurrentContainers[i] ) ;
+	}
+
+	return true ;
+}
+
+	</script>
+</head>
+<body style="overflow: hidden">
+	<div id="divGeneral">
+		<table cellspacing="0" cellpadding="0" width="100%" border="0">
+			<colgroup span="2">
+				<col width="49%" />
+				<col width="2%" />
+				<col width="49%" />
+			</colgroup>
+			<tr>
+				<td>
+					<span fcklang="DlgDivStyle">Style</span><br />
+					<select id="selStyle" style="width: 100%;">
+					</select>
+				</td>
+				<td>&nbsp;</td>
+				<td>
+					<span fcklang="DlgGenClass">Stylesheet Classes</span><br />
+					<input id="txtClass" style="width: 100%" type="text" />
+				</td>
+			</tr>
+		</table>
+	</div>
+	<div id="divAdvanced" style="display: none">
+		<table cellspacing="0" cellpadding="0" width="100%" border="0">
+			<colgroup span="2">
+				<col width="49%" />
+				<col width="2%" />
+				<col width="49%" />
+			</colgroup>
+			<tr>
+				<td>
+					<span fcklang="DlgGenId">Id</span><br />
+					<input style="width: 100%" type="text" id="txtId" />
+				</td>
+				<td>&nbsp;</td>
+				<td>
+					<span fcklang="DlgGenLangCode">Language Code</span><br />
+					<input style="width: 100%" type="text" id="txtLang" />
+				</td>
+			</tr>
+			<tr>
+				<td colspan="3">&nbsp;</td>
+			</tr>
+			<tr>
+				<td colspan="3">
+					<span fcklang="DlgDivInlineStyle">Inline Style</span><br />
+					<input style="width: 100%" type="text" id="txtInlineStyle" />
+				</td>
+			</tr>
+			<tr>
+				<td colspan="3">&nbsp;</td>
+			</tr>
+			<tr>
+				<td colspan="3">
+					<span fcklang="DlgGenTitle">Advisory Title</span><br />
+					<input style="width: 100%" type="text" id="txtTitle" />
+				</td>
+			</tr>
+			<tr>
+				<td>&nbsp;</td>
+			</tr>
+			<tr>
+				<td>
+					<span fcklang="DlgGenLangDir">Language Direction</span><br />
+					<select id="selLangDir">
+						<option fcklang="DlgGenLangDirLtr" value="ltr">Left to Right (LTR)
+						<option fcklang="DlgGenLangDirRtl" value="rtl">Right to Left (RTL)
+					</select>
+				</td>
+			</tr>
+		</table>
+	</div>
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.php	(revision 1481)
@@ -0,0 +1,199 @@
+<?php
+header('Content-type: text/html; charset=utf-8');
+
+// The following variables values must reflect your installation needs.
+
+$aspell_prog	= '"C:\Program Files\Aspell\bin\aspell.exe"';	// by FredCK (for Windows)
+//$aspell_prog	= 'aspell';										// by FredCK (for Linux)
+
+$lang			= 'en_US';
+$aspell_opts	= "-a --lang=$lang --encoding=utf-8 -H --rem-sgml-check=alt";		// by FredCK
+
+$tempfiledir	= "./";
+
+$spellercss		= '../spellerStyle.css';						// by FredCK
+$word_win_src	= '../wordWindow.js';							// by FredCK
+
+$textinputs		= $_POST['textinputs']; # array
+$input_separator = "A";
+
+# set the JavaScript variable to the submitted text.
+# textinputs is an array, each element corresponding to the (url-encoded)
+# value of the text control submitted for spell-checking
+function print_textinputs_var() {
+	global $textinputs;
+	foreach( $textinputs as $key=>$val ) {
+		# $val = str_replace( "'", "%27", $val );
+		echo "textinputs[$key] = decodeURIComponent(\"" . $val . "\");\n";
+	}
+}
+
+# make declarations for the text input index
+function print_textindex_decl( $text_input_idx ) {
+	echo "words[$text_input_idx] = [];\n";
+	echo "suggs[$text_input_idx] = [];\n";
+}
+
+# set an element of the JavaScript 'words' array to a misspelled word
+function print_words_elem( $word, $index, $text_input_idx ) {
+	echo "words[$text_input_idx][$index] = '" . escape_quote( $word ) . "';\n";
+}
+
+
+# set an element of the JavaScript 'suggs' array to a list of suggestions
+function print_suggs_elem( $suggs, $index, $text_input_idx ) {
+	echo "suggs[$text_input_idx][$index] = [";
+	foreach( $suggs as $key=>$val ) {
+		if( $val ) {
+			echo "'" . escape_quote( $val ) . "'";
+			if ( $key+1 < count( $suggs )) {
+				echo ", ";
+			}
+		}
+	}
+	echo "];\n";
+}
+
+# escape single quote
+function escape_quote( $str ) {
+	return preg_replace ( "/'/", "\\'", $str );
+}
+
+
+# handle a server-side error.
+function error_handler( $err ) {
+	echo "error = '" . preg_replace( "/['\\\\]/", "\\\\$0", $err ) . "';\n";
+}
+
+## get the list of misspelled words. Put the results in the javascript words array
+## for each misspelled word, get suggestions and put in the javascript suggs array
+function print_checker_results() {
+
+	global $aspell_prog;
+	global $aspell_opts;
+	global $tempfiledir;
+	global $textinputs;
+	global $input_separator;
+	$aspell_err = "";
+	# create temp file
+	$tempfile = tempnam( $tempfiledir, 'aspell_data_' );
+
+	# open temp file, add the submitted text.
+	if( $fh = fopen( $tempfile, 'w' )) {
+		for( $i = 0; $i < count( $textinputs ); $i++ ) {
+			$text = urldecode( $textinputs[$i] );
+
+			// Strip all tags for the text. (by FredCK - #339 / #681)
+			$text = preg_replace( "/<[^>]+>/", " ", $text ) ;
+
+			$lines = explode( "\n", $text );
+			fwrite ( $fh, "%\n" ); # exit terse mode
+			fwrite ( $fh, "^$input_separator\n" );
+			fwrite ( $fh, "!\n" ); # enter terse mode
+			foreach( $lines as $key=>$value ) {
+				# use carat on each line to escape possible aspell commands
+				fwrite( $fh, "^$value\n" );
+			}
+		}
+		fclose( $fh );
+
+		# exec aspell command - redirect STDERR to STDOUT
+		$cmd = "$aspell_prog $aspell_opts < $tempfile 2>&1";
+		if( $aspellret = shell_exec( $cmd )) {
+			$linesout = explode( "\n", $aspellret );
+			$index = 0;
+			$text_input_index = -1;
+			# parse each line of aspell return
+			foreach( $linesout as $key=>$val ) {
+				$chardesc = substr( $val, 0, 1 );
+				# if '&', then not in dictionary but has suggestions
+				# if '#', then not in dictionary and no suggestions
+				# if '*', then it is a delimiter between text inputs
+				# if '@' then version info
+				if( $chardesc == '&' || $chardesc == '#' ) {
+					$line = explode( " ", $val, 5 );
+					print_words_elem( $line[1], $index, $text_input_index );
+					if( isset( $line[4] )) {
+						$suggs = explode( ", ", $line[4] );
+					} else {
+						$suggs = array();
+					}
+					print_suggs_elem( $suggs, $index, $text_input_index );
+					$index++;
+				} elseif( $chardesc == '*' ) {
+					$text_input_index++;
+					print_textindex_decl( $text_input_index );
+					$index = 0;
+				} elseif( $chardesc != '@' && $chardesc != "" ) {
+					# assume this is error output
+					$aspell_err .= $val;
+				}
+			}
+			if( $aspell_err ) {
+				$aspell_err = "Error executing `$cmd`\\n$aspell_err";
+				error_handler( $aspell_err );
+			}
+		} else {
+			error_handler( "System error: Aspell program execution failed (`$cmd`)" );
+		}
+	} else {
+		error_handler( "System error: Could not open file '$tempfile' for writing" );
+	}
+
+	# close temp file, delete file
+	unlink( $tempfile );
+}
+
+
+?>
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link rel="stylesheet" type="text/css" href="<?php echo $spellercss ?>" />
+<script language="javascript" src="<?php echo $word_win_src ?>"></script>
+<script language="javascript">
+var suggs = new Array();
+var words = new Array();
+var textinputs = new Array();
+var error;
+<?php
+
+print_textinputs_var();
+
+print_checker_results();
+
+?>
+
+var wordWindowObj = new wordWindow();
+wordWindowObj.originalSpellings = words;
+wordWindowObj.suggestions = suggs;
+wordWindowObj.textInputs = textinputs;
+
+function init_spell() {
+	// check if any error occured during server-side processing
+	if( error ) {
+		alert( error );
+	} else {
+		// call the init_spell() function in the parent frameset
+		if (parent.frames.length) {
+			parent.init_spell( wordWindowObj );
+		} else {
+			alert('This page was loaded outside of a frameset. It might not display properly');
+		}
+	}
+}
+
+
+
+</script>
+
+</head>
+<!-- <body onLoad="init_spell();">		by FredCK -->
+<body onLoad="init_spell();" bgcolor="#ffffff">
+
+<script type="text/javascript">
+wordWindowObj.writeBody();
+</script>
+
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellChecker.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellChecker.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellChecker.js	(revision 1481)
@@ -0,0 +1,461 @@
+ï»¿////////////////////////////////////////////////////
+// spellChecker.js
+//
+// spellChecker object
+//
+// This file is sourced on web pages that have a textarea object to evaluate
+// for spelling. It includes the implementation for the spellCheckObject.
+//
+////////////////////////////////////////////////////
+
+
+// constructor
+function spellChecker( textObject ) {
+
+	// public properties - configurable
+//	this.popUpUrl = '/speller/spellchecker.html';							// by FredCK
+	this.popUpUrl = 'fck_spellerpages/spellerpages/spellchecker.html';		// by FredCK
+	this.popUpName = 'spellchecker';
+//	this.popUpProps = "menu=no,width=440,height=350,top=70,left=120,resizable=yes,status=yes";	// by FredCK
+	this.popUpProps = null ;																	// by FredCK
+//	this.spellCheckScript = '/speller/server-scripts/spellchecker.php';		// by FredCK
+	//this.spellCheckScript = '/cgi-bin/spellchecker.pl';
+
+	// values used to keep track of what happened to a word
+	this.replWordFlag = "R";	// single replace
+	this.ignrWordFlag = "I";	// single ignore
+	this.replAllFlag = "RA";	// replace all occurances
+	this.ignrAllFlag = "IA";	// ignore all occurances
+	this.fromReplAll = "~RA";	// an occurance of a "replace all" word
+	this.fromIgnrAll = "~IA";	// an occurance of a "ignore all" word
+	// properties set at run time
+	this.wordFlags = new Array();
+	this.currentTextIndex = 0;
+	this.currentWordIndex = 0;
+	this.spellCheckerWin = null;
+	this.controlWin = null;
+	this.wordWin = null;
+	this.textArea = textObject;	// deprecated
+	this.textInputs = arguments;
+
+	// private methods
+	this._spellcheck = _spellcheck;
+	this._getSuggestions = _getSuggestions;
+	this._setAsIgnored = _setAsIgnored;
+	this._getTotalReplaced = _getTotalReplaced;
+	this._setWordText = _setWordText;
+	this._getFormInputs = _getFormInputs;
+
+	// public methods
+	this.openChecker = openChecker;
+	this.startCheck = startCheck;
+	this.checkTextBoxes = checkTextBoxes;
+	this.checkTextAreas = checkTextAreas;
+	this.spellCheckAll = spellCheckAll;
+	this.ignoreWord = ignoreWord;
+	this.ignoreAll = ignoreAll;
+	this.replaceWord = replaceWord;
+	this.replaceAll = replaceAll;
+	this.terminateSpell = terminateSpell;
+	this.undo = undo;
+
+	// set the current window's "speller" property to the instance of this class.
+	// this object can now be referenced by child windows/frames.
+	window.speller = this;
+}
+
+// call this method to check all text boxes (and only text boxes) in the HTML document
+function checkTextBoxes() {
+	this.textInputs = this._getFormInputs( "^text$" );
+	this.openChecker();
+}
+
+// call this method to check all textareas (and only textareas ) in the HTML document
+function checkTextAreas() {
+	this.textInputs = this._getFormInputs( "^textarea$" );
+	this.openChecker();
+}
+
+// call this method to check all text boxes and textareas in the HTML document
+function spellCheckAll() {
+	this.textInputs = this._getFormInputs( "^text(area)?$" );
+	this.openChecker();
+}
+
+// call this method to check text boxe(s) and/or textarea(s) that were passed in to the
+// object's constructor or to the textInputs property
+function openChecker() {
+	this.spellCheckerWin = window.open( this.popUpUrl, this.popUpName, this.popUpProps );
+	if( !this.spellCheckerWin.opener ) {
+		this.spellCheckerWin.opener = window;
+	}
+}
+
+function startCheck( wordWindowObj, controlWindowObj ) {
+
+	// set properties from args
+	this.wordWin = wordWindowObj;
+	this.controlWin = controlWindowObj;
+
+	// reset properties
+	this.wordWin.resetForm();
+	this.controlWin.resetForm();
+	this.currentTextIndex = 0;
+	this.currentWordIndex = 0;
+	// initialize the flags to an array - one element for each text input
+	this.wordFlags = new Array( this.wordWin.textInputs.length );
+	// each element will be an array that keeps track of each word in the text
+	for( var i=0; i<this.wordFlags.length; i++ ) {
+		this.wordFlags[i] = [];
+	}
+
+	// start
+	this._spellcheck();
+
+	return true;
+}
+
+function ignoreWord() {
+	var wi = this.currentWordIndex;
+	var ti = this.currentTextIndex;
+	if( !this.wordWin ) {
+		alert( 'Error: Word frame not available.' );
+		return false;
+	}
+	if( !this.wordWin.getTextVal( ti, wi )) {
+		alert( 'Error: "Not in dictionary" text is missing.' );
+		return false;
+	}
+	// set as ignored
+	if( this._setAsIgnored( ti, wi, this.ignrWordFlag )) {
+		this.currentWordIndex++;
+		this._spellcheck();
+	}
+	return true;
+}
+
+function ignoreAll() {
+	var wi = this.currentWordIndex;
+	var ti = this.currentTextIndex;
+	if( !this.wordWin ) {
+		alert( 'Error: Word frame not available.' );
+		return false;
+	}
+	// get the word that is currently being evaluated.
+	var s_word_to_repl = this.wordWin.getTextVal( ti, wi );
+	if( !s_word_to_repl ) {
+		alert( 'Error: "Not in dictionary" text is missing' );
+		return false;
+	}
+
+	// set this word as an "ignore all" word.
+	this._setAsIgnored( ti, wi, this.ignrAllFlag );
+
+	// loop through all the words after this word
+	for( var i = ti; i < this.wordWin.textInputs.length; i++ ) {
+		for( var j = 0; j < this.wordWin.totalWords( i ); j++ ) {
+			if(( i == ti && j > wi ) || i > ti ) {
+				// future word: set as "from ignore all" if
+				// 1) do not already have a flag and
+				// 2) have the same value as current word
+				if(( this.wordWin.getTextVal( i, j ) == s_word_to_repl )
+				&& ( !this.wordFlags[i][j] )) {
+					this._setAsIgnored( i, j, this.fromIgnrAll );
+				}
+			}
+		}
+	}
+
+	// finally, move on
+	this.currentWordIndex++;
+	this._spellcheck();
+	return true;
+}
+
+function replaceWord() {
+	var wi = this.currentWordIndex;
+	var ti = this.currentTextIndex;
+	if( !this.wordWin ) {
+		alert( 'Error: Word frame not available.' );
+		return false;
+	}
+	if( !this.wordWin.getTextVal( ti, wi )) {
+		alert( 'Error: "Not in dictionary" text is missing' );
+		return false;
+	}
+	if( !this.controlWin.replacementText ) {
+		return false ;
+	}
+	var txt = this.controlWin.replacementText;
+	if( txt.value ) {
+		var newspell = new String( txt.value );
+		if( this._setWordText( ti, wi, newspell, this.replWordFlag )) {
+			this.currentWordIndex++;
+			this._spellcheck();
+		}
+	}
+	return true;
+}
+
+function replaceAll() {
+	var ti = this.currentTextIndex;
+	var wi = this.currentWordIndex;
+	if( !this.wordWin ) {
+		alert( 'Error: Word frame not available.' );
+		return false;
+	}
+	var s_word_to_repl = this.wordWin.getTextVal( ti, wi );
+	if( !s_word_to_repl ) {
+		alert( 'Error: "Not in dictionary" text is missing' );
+		return false;
+	}
+	var txt = this.controlWin.replacementText;
+	if( !txt.value ) return false;
+	var newspell = new String( txt.value );
+
+	// set this word as a "replace all" word.
+	this._setWordText( ti, wi, newspell, this.replAllFlag );
+
+	// loop through all the words after this word
+	for( var i = ti; i < this.wordWin.textInputs.length; i++ ) {
+		for( var j = 0; j < this.wordWin.totalWords( i ); j++ ) {
+			if(( i == ti && j > wi ) || i > ti ) {
+				// future word: set word text to s_word_to_repl if
+				// 1) do not already have a flag and
+				// 2) have the same value as s_word_to_repl
+				if(( this.wordWin.getTextVal( i, j ) == s_word_to_repl )
+				&& ( !this.wordFlags[i][j] )) {
+					this._setWordText( i, j, newspell, this.fromReplAll );
+				}
+			}
+		}
+	}
+
+	// finally, move on
+	this.currentWordIndex++;
+	this._spellcheck();
+	return true;
+}
+
+function terminateSpell() {
+	// called when we have reached the end of the spell checking.
+	var msg = "";		// by FredCK
+	var numrepl = this._getTotalReplaced();
+	if( numrepl == 0 ) {
+		// see if there were no misspellings to begin with
+		if( !this.wordWin ) {
+			msg = "";
+		} else {
+			if( this.wordWin.totalMisspellings() ) {
+//				msg += "No words changed.";			// by FredCK
+				msg += FCKLang.DlgSpellNoChanges ;	// by FredCK
+			} else {
+//				msg += "No misspellings found.";	// by FredCK
+				msg += FCKLang.DlgSpellNoMispell ;	// by FredCK
+			}
+		}
+	} else if( numrepl == 1 ) {
+//		msg += "One word changed.";			// by FredCK
+		msg += FCKLang.DlgSpellOneChange ;	// by FredCK
+	} else {
+//		msg += numrepl + " words changed.";	// by FredCK
+		msg += FCKLang.DlgSpellManyChanges.replace( /%1/g, numrepl ) ;
+	}
+	if( msg ) {
+//		msg += "\n";	// by FredCK
+		alert( msg );
+	}
+
+	if( numrepl > 0 ) {
+		// update the text field(s) on the opener window
+		for( var i = 0; i < this.textInputs.length; i++ ) {
+			// this.textArea.value = this.wordWin.text;
+			if( this.wordWin ) {
+				if( this.wordWin.textInputs[i] ) {
+					this.textInputs[i].value = this.wordWin.textInputs[i];
+				}
+			}
+		}
+	}
+
+	// return back to the calling window
+//	this.spellCheckerWin.close();					// by FredCK
+	if ( typeof( this.OnFinished ) == 'function' )	// by FredCK
+		this.OnFinished(numrepl) ;					// by FredCK
+
+	return true;
+}
+
+function undo() {
+	// skip if this is the first word!
+	var ti = this.currentTextIndex;
+	var wi = this.currentWordIndex;
+
+	if( this.wordWin.totalPreviousWords( ti, wi ) > 0 ) {
+		this.wordWin.removeFocus( ti, wi );
+
+		// go back to the last word index that was acted upon
+		do {
+			// if the current word index is zero then reset the seed
+			if( this.currentWordIndex == 0 && this.currentTextIndex > 0 ) {
+				this.currentTextIndex--;
+				this.currentWordIndex = this.wordWin.totalWords( this.currentTextIndex )-1;
+				if( this.currentWordIndex < 0 ) this.currentWordIndex = 0;
+			} else {
+				if( this.currentWordIndex > 0 ) {
+					this.currentWordIndex--;
+				}
+			}
+		} while (
+			this.wordWin.totalWords( this.currentTextIndex ) == 0
+			|| this.wordFlags[this.currentTextIndex][this.currentWordIndex] == this.fromIgnrAll
+			|| this.wordFlags[this.currentTextIndex][this.currentWordIndex] == this.fromReplAll
+		);
+
+		var text_idx = this.currentTextIndex;
+		var idx = this.currentWordIndex;
+		var preReplSpell = this.wordWin.originalSpellings[text_idx][idx];
+
+		// if we got back to the first word then set the Undo button back to disabled
+		if( this.wordWin.totalPreviousWords( text_idx, idx ) == 0 ) {
+			this.controlWin.disableUndo();
+		}
+
+		var i, j, origSpell ;
+		// examine what happened to this current word.
+		switch( this.wordFlags[text_idx][idx] ) {
+			// replace all: go through this and all the future occurances of the word
+			// and revert them all to the original spelling and clear their flags
+			case this.replAllFlag :
+				for( i = text_idx; i < this.wordWin.textInputs.length; i++ ) {
+					for( j = 0; j < this.wordWin.totalWords( i ); j++ ) {
+						if(( i == text_idx && j >= idx ) || i > text_idx ) {
+							origSpell = this.wordWin.originalSpellings[i][j];
+							if( origSpell == preReplSpell ) {
+								this._setWordText ( i, j, origSpell, undefined );
+							}
+						}
+					}
+				}
+				break;
+
+			// ignore all: go through all the future occurances of the word
+			// and clear their flags
+			case this.ignrAllFlag :
+				for( i = text_idx; i < this.wordWin.textInputs.length; i++ ) {
+					for( j = 0; j < this.wordWin.totalWords( i ); j++ ) {
+						if(( i == text_idx && j >= idx ) || i > text_idx ) {
+							origSpell = this.wordWin.originalSpellings[i][j];
+							if( origSpell == preReplSpell ) {
+								this.wordFlags[i][j] = undefined;
+							}
+						}
+					}
+				}
+				break;
+
+			// replace: revert the word to its original spelling
+			case this.replWordFlag :
+				this._setWordText ( text_idx, idx, preReplSpell, undefined );
+				break;
+		}
+
+		// For all four cases, clear the wordFlag of this word. re-start the process
+		this.wordFlags[text_idx][idx] = undefined;
+		this._spellcheck();
+	}
+}
+
+function _spellcheck() {
+	var ww = this.wordWin;
+
+	// check if this is the last word in the current text element
+	if( this.currentWordIndex == ww.totalWords( this.currentTextIndex) ) {
+		this.currentTextIndex++;
+		this.currentWordIndex = 0;
+		// keep going if we're not yet past the last text element
+		if( this.currentTextIndex < this.wordWin.textInputs.length ) {
+			this._spellcheck();
+			return;
+		} else {
+			this.terminateSpell();
+			return;
+		}
+	}
+
+	// if this is after the first one make sure the Undo button is enabled
+	if( this.currentWordIndex > 0 ) {
+		this.controlWin.enableUndo();
+	}
+
+	// skip the current word if it has already been worked on
+	if( this.wordFlags[this.currentTextIndex][this.currentWordIndex] ) {
+		// increment the global current word index and move on.
+		this.currentWordIndex++;
+		this._spellcheck();
+	} else {
+		var evalText = ww.getTextVal( this.currentTextIndex, this.currentWordIndex );
+		if( evalText ) {
+			this.controlWin.evaluatedText.value = evalText;
+			ww.setFocus( this.currentTextIndex, this.currentWordIndex );
+			this._getSuggestions( this.currentTextIndex, this.currentWordIndex );
+		}
+	}
+}
+
+function _getSuggestions( text_num, word_num ) {
+	this.controlWin.clearSuggestions();
+	// add suggestion in list for each suggested word.
+	// get the array of suggested words out of the
+	// three-dimensional array containing all suggestions.
+	var a_suggests = this.wordWin.suggestions[text_num][word_num];
+	if( a_suggests ) {
+		// got an array of suggestions.
+		for( var ii = 0; ii < a_suggests.length; ii++ ) {
+			this.controlWin.addSuggestion( a_suggests[ii] );
+		}
+	}
+	this.controlWin.selectDefaultSuggestion();
+}
+
+function _setAsIgnored( text_num, word_num, flag ) {
+	// set the UI
+	this.wordWin.removeFocus( text_num, word_num );
+	// do the bookkeeping
+	this.wordFlags[text_num][word_num] = flag;
+	return true;
+}
+
+function _getTotalReplaced() {
+	var i_replaced = 0;
+	for( var i = 0; i < this.wordFlags.length; i++ ) {
+		for( var j = 0; j < this.wordFlags[i].length; j++ ) {
+			if(( this.wordFlags[i][j] == this.replWordFlag )
+			|| ( this.wordFlags[i][j] == this.replAllFlag )
+			|| ( this.wordFlags[i][j] == this.fromReplAll )) {
+				i_replaced++;
+			}
+		}
+	}
+	return i_replaced;
+}
+
+function _setWordText( text_num, word_num, newText, flag ) {
+	// set the UI and form inputs
+	this.wordWin.setText( text_num, word_num, newText );
+	// keep track of what happened to this word:
+	this.wordFlags[text_num][word_num] = flag;
+	return true;
+}
+
+function _getFormInputs( inputPattern ) {
+	var inputs = new Array();
+	for( var i = 0; i < document.forms.length; i++ ) {
+		for( var j = 0; j < document.forms[i].elements.length; j++ ) {
+			if( document.forms[i].elements[j].type.match( inputPattern )) {
+				inputs[inputs.length] = document.forms[i].elements[j];
+			}
+		}
+	}
+	return inputs;
+}
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controlWindow.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controlWindow.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controlWindow.js	(revision 1481)
@@ -0,0 +1,87 @@
+ï»¿////////////////////////////////////////////////////
+// controlWindow object
+////////////////////////////////////////////////////
+function controlWindow( controlForm ) {
+	// private properties
+	this._form = controlForm;
+
+	// public properties
+	this.windowType = "controlWindow";
+//	this.noSuggestionSelection = "- No suggestions -";	// by FredCK
+	this.noSuggestionSelection = FCKLang.DlgSpellNoSuggestions ;
+	// set up the properties for elements of the given control form
+	this.suggestionList  = this._form.sugg;
+	this.evaluatedText   = this._form.misword;
+	this.replacementText = this._form.txtsugg;
+	this.undoButton      = this._form.btnUndo;
+
+	// public methods
+	this.addSuggestion = addSuggestion;
+	this.clearSuggestions = clearSuggestions;
+	this.selectDefaultSuggestion = selectDefaultSuggestion;
+	this.resetForm = resetForm;
+	this.setSuggestedText = setSuggestedText;
+	this.enableUndo = enableUndo;
+	this.disableUndo = disableUndo;
+}
+
+function resetForm() {
+	if( this._form ) {
+		this._form.reset();
+	}
+}
+
+function setSuggestedText() {
+	var slct = this.suggestionList;
+	var txt = this.replacementText;
+	var str = "";
+	if( (slct.options[0].text) && slct.options[0].text != this.noSuggestionSelection ) {
+		str = slct.options[slct.selectedIndex].text;
+	}
+	txt.value = str;
+}
+
+function selectDefaultSuggestion() {
+	var slct = this.suggestionList;
+	var txt = this.replacementText;
+	if( slct.options.length == 0 ) {
+		this.addSuggestion( this.noSuggestionSelection );
+	} else {
+		slct.options[0].selected = true;
+	}
+	this.setSuggestedText();
+}
+
+function addSuggestion( sugg_text ) {
+	var slct = this.suggestionList;
+	if( sugg_text ) {
+		var i = slct.options.length;
+		var newOption = new Option( sugg_text, 'sugg_text'+i );
+		slct.options[i] = newOption;
+	 }
+}
+
+function clearSuggestions() {
+	var slct = this.suggestionList;
+	for( var j = slct.length - 1; j > -1; j-- ) {
+		if( slct.options[j] ) {
+			slct.options[j] = null;
+		}
+	}
+}
+
+function enableUndo() {
+	if( this.undoButton ) {
+		if( this.undoButton.disabled == true ) {
+			this.undoButton.disabled = false;
+		}
+	}
+}
+
+function disableUndo() {
+	if( this.undoButton ) {
+		if( this.undoButton.disabled == false ) {
+			this.undoButton.disabled = true;
+		}
+	}
+}
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controls.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controls.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controls.html	(revision 1481)
@@ -0,0 +1,153 @@
+<html>
+	<head>
+		<link rel="stylesheet" type="text/css" href="spellerStyle.css" />
+		<script type="text/javascript" src="controlWindow.js"></script>
+		<script type="text/javascript">
+var spellerObject;
+var controlWindowObj;
+
+if( parent.opener ) {
+	spellerObject = parent.opener.speller;
+}
+
+function ignore_word() {
+	if( spellerObject ) {
+		spellerObject.ignoreWord();
+	}
+}
+
+function ignore_all() {
+	if( spellerObject ) {
+		spellerObject.ignoreAll();
+	}
+}
+
+function replace_word() {
+	if( spellerObject ) {
+		spellerObject.replaceWord();
+	}
+}
+
+function replace_all() {
+	if( spellerObject ) {
+		spellerObject.replaceAll();
+	}
+}
+
+function end_spell() {
+	if( spellerObject ) {
+		spellerObject.terminateSpell();
+	}
+}
+
+function undo() {
+	if( spellerObject ) {
+		spellerObject.undo();
+	}
+}
+
+function suggText() {
+	if( controlWindowObj ) {
+		controlWindowObj.setSuggestedText();
+	}
+}
+
+var FCKLang = window.parent.parent.FCKLang ;	// by FredCK
+
+function init_spell() {
+	// By FredCK (fckLang attributes have been added to the HTML source of this page)
+	window.parent.parent.OnSpellerControlsLoad( this ) ;
+
+	var controlForm = document.spellcheck;
+
+	// create a new controlWindow object
+ 	controlWindowObj = new controlWindow( controlForm );
+
+	// call the init_spell() function in the parent frameset
+	if( parent.frames.length ) {
+		parent.init_spell( controlWindowObj );
+	} else {
+		alert( 'This page was loaded outside of a frameset. It might not display properly' );
+	}
+}
+
+</script>
+	</head>
+	<body class="controlWindowBody" onLoad="init_spell();" style="OVERFLOW: hidden" scroll="no">	<!-- by FredCK -->
+		<form name="spellcheck">
+			<table border="0" cellpadding="0" cellspacing="0" border="0" align="center">
+				<tr>
+					<td colspan="3" class="normalLabel"><span fckLang="DlgSpellNotInDic">Not in dictionary:</span></td>
+				</tr>
+				<tr>
+					<td colspan="3"><input class="readonlyInput" type="text" name="misword" readonly /></td>
+				</tr>
+				<tr>
+					<td colspan="3" height="5"></td>
+				</tr>
+				<tr>
+					<td class="normalLabel"><span fckLang="DlgSpellChangeTo">Change to:</span></td>
+				</tr>
+				<tr valign="top">
+					<td>
+						<table border="0" cellpadding="0" cellspacing="0" border="0">
+							<tr>
+								<td class="normalLabel">
+									<input class="textDefault" type="text" name="txtsugg" />
+								</td>
+							</tr>
+							<tr>
+								<td>
+									<select class="suggSlct" name="sugg" size="7" onChange="suggText();" onDblClick="replace_word();">
+										<option></option>
+									</select>
+								</td>
+							</tr>
+						</table>
+					</td>
+					<td>&nbsp;&nbsp;</td>
+					<td>
+						<table border="0" cellpadding="0" cellspacing="0" border="0">
+							<tr>
+								<td>
+									<input class="buttonDefault" type="button" fckLang="DlgSpellBtnIgnore" value="Ignore" onClick="ignore_word();">
+								</td>
+								<td>&nbsp;&nbsp;</td>
+								<td>
+									<input class="buttonDefault" type="button" fckLang="DlgSpellBtnIgnoreAll" value="Ignore All" onClick="ignore_all();">
+								</td>
+							</tr>
+							<tr>
+								<td colspan="3" height="5"></td>
+							</tr>
+							<tr>
+								<td>
+									<input class="buttonDefault" type="button" fckLang="DlgSpellBtnReplace" value="Replace" onClick="replace_word();">
+								</td>
+								<td>&nbsp;&nbsp;</td>
+								<td>
+									<input class="buttonDefault" type="button" fckLang="DlgSpellBtnReplaceAll" value="Replace All" onClick="replace_all();">
+								</td>
+							</tr>
+							<tr>
+								<td colspan="3" height="5"></td>
+							</tr>
+							<tr>
+								<td>
+									<input class="buttonDefault" type="button" name="btnUndo" fckLang="DlgSpellBtnUndo" value="Undo" onClick="undo();"
+										disabled>
+								</td>
+								<td>&nbsp;&nbsp;</td>
+								<td>
+									<!-- by FredCK
+									<input class="buttonDefault" type="button" value="Close" onClick="end_spell();">
+									-->
+								</td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+			</table>
+		</form>
+	</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellchecker.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellchecker.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellchecker.html	(revision 1481)
@@ -0,0 +1,71 @@
+
+<script>
+
+var wordWindow = null;
+var controlWindow = null;
+
+function init_spell( spellerWindow ) {
+
+	if( spellerWindow ) {
+		if( spellerWindow.windowType == "wordWindow" ) {
+			wordWindow = spellerWindow;
+		} else if ( spellerWindow.windowType == "controlWindow" ) {
+			controlWindow = spellerWindow;
+		}
+	}
+
+	if( controlWindow && wordWindow ) {
+		// populate the speller object and start it off!
+		var speller = opener.speller;
+		wordWindow.speller = speller;
+		speller.startCheck( wordWindow, controlWindow );
+	}
+}
+
+// encodeForPost
+function encodeForPost( str ) {
+	var s = new String( str );
+	s = encodeURIComponent( s );
+	// additionally encode single quotes to evade any PHP
+	// magic_quotes_gpc setting (it inserts escape characters and
+	// therefore skews the btye positions of misspelled words)
+	return s.replace( /\'/g, '%27' );
+}
+
+// post the text area data to the script that populates the speller
+function postWords() {
+	var bodyDoc = window.frames[0].document;
+	bodyDoc.open();
+	bodyDoc.write('<html>');
+	bodyDoc.write('<meta http-equiv="Content-Type" content="text/html; charset=utf-8">');
+	bodyDoc.write('<link rel="stylesheet" type="text/css" href="spellerStyle.css"/>');
+	if (opener) {
+		var speller = opener.speller;
+		bodyDoc.write('<body class="normalText" onLoad="document.forms[0].submit();">');
+		bodyDoc.write('<p>' + window.parent.FCKLang.DlgSpellProgress + '<\/p>');		// by FredCK
+		bodyDoc.write('<form action="'+speller.spellCheckScript+'" method="post">');
+		for( var i = 0; i < speller.textInputs.length; i++ ) {
+			bodyDoc.write('<input type="hidden" name="textinputs[]" value="'+encodeForPost(speller.textInputs[i].value)+'">');
+		}
+		bodyDoc.write('<\/form>');
+		bodyDoc.write('<\/body>');
+	} else {
+		bodyDoc.write('<body class="normalText">');
+		bodyDoc.write('<p><b>This page cannot be displayed<\/b><\/p><p>The window was not opened from another window.<\/p>');
+		bodyDoc.write('<\/body>');
+	}
+	bodyDoc.write('<\/html>');
+	bodyDoc.close();
+}
+</script>
+
+<html>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<head>
+<title>Speller Pages</title>
+</head>
+<frameset rows="*,201" onLoad="postWords();">
+<frame src="blank.html">
+<frame src="controls.html">
+</frameset>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/blank.html
===================================================================
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellerStyle.css
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellerStyle.css	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellerStyle.css	(revision 1481)
@@ -0,0 +1,49 @@
+.blend {
+	font-family: courier new;
+	font-size: 10pt;
+	border: 0;
+	margin-bottom:-1;
+}
+.normalLabel {
+	font-size:8pt;
+}
+.normalText {
+	font-family:arial, helvetica, sans-serif;
+	font-size:10pt;
+	color:000000;
+	background-color:FFFFFF;
+}
+.plainText {
+	font-family: courier new, courier, monospace;
+	font-size: 10pt;
+	color:000000;
+	background-color:FFFFFF;
+}
+.controlWindowBody {
+	font-family:arial, helvetica, sans-serif;
+	font-size:8pt;
+	padding: 7px ;		/* by FredCK */
+	margin: 0px ;		/* by FredCK */
+	/* color:000000;				by FredCK */
+	/* background-color:DADADA;		by FredCK */
+}
+.readonlyInput {
+	background-color:DADADA;
+	color:000000;
+	font-size:8pt;
+	width:392px;
+}
+.textDefault {
+	font-size:8pt;
+	width: 200px;
+}
+.buttonDefault {
+	width:90px;
+	height:22px;
+	font-size:8pt;
+}
+.suggSlct {
+	width:200px;
+	margin-top:2;
+	font-size:8pt;
+}
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/wordWindow.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/wordWindow.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/wordWindow.js	(revision 1481)
@@ -0,0 +1,272 @@
+ï»¿////////////////////////////////////////////////////
+// wordWindow object
+////////////////////////////////////////////////////
+function wordWindow() {
+	// private properties
+	this._forms = [];
+
+	// private methods
+	this._getWordObject = _getWordObject;
+	//this._getSpellerObject = _getSpellerObject;
+	this._wordInputStr = _wordInputStr;
+	this._adjustIndexes = _adjustIndexes;
+	this._isWordChar = _isWordChar;
+	this._lastPos = _lastPos;
+
+	// public properties
+	this.wordChar = /[a-zA-Z]/;
+	this.windowType = "wordWindow";
+	this.originalSpellings = new Array();
+	this.suggestions = new Array();
+	this.checkWordBgColor = "pink";
+	this.normWordBgColor = "white";
+	this.text = "";
+	this.textInputs = new Array();
+	this.indexes = new Array();
+	//this.speller = this._getSpellerObject();
+
+	// public methods
+	this.resetForm = resetForm;
+	this.totalMisspellings = totalMisspellings;
+	this.totalWords = totalWords;
+	this.totalPreviousWords = totalPreviousWords;
+	//this.getTextObjectArray = getTextObjectArray;
+	this.getTextVal = getTextVal;
+	this.setFocus = setFocus;
+	this.removeFocus = removeFocus;
+	this.setText = setText;
+	//this.getTotalWords = getTotalWords;
+	this.writeBody = writeBody;
+	this.printForHtml = printForHtml;
+}
+
+function resetForm() {
+	if( this._forms ) {
+		for( var i = 0; i < this._forms.length; i++ ) {
+			this._forms[i].reset();
+		}
+	}
+	return true;
+}
+
+function totalMisspellings() {
+	var total_words = 0;
+	for( var i = 0; i < this.textInputs.length; i++ ) {
+		total_words += this.totalWords( i );
+	}
+	return total_words;
+}
+
+function totalWords( textIndex ) {
+	return this.originalSpellings[textIndex].length;
+}
+
+function totalPreviousWords( textIndex, wordIndex ) {
+	var total_words = 0;
+	for( var i = 0; i <= textIndex; i++ ) {
+		for( var j = 0; j < this.totalWords( i ); j++ ) {
+			if( i == textIndex && j == wordIndex ) {
+				break;
+			} else {
+				total_words++;
+			}
+		}
+	}
+	return total_words;
+}
+
+//function getTextObjectArray() {
+//	return this._form.elements;
+//}
+
+function getTextVal( textIndex, wordIndex ) {
+	var word = this._getWordObject( textIndex, wordIndex );
+	if( word ) {
+		return word.value;
+	}
+}
+
+function setFocus( textIndex, wordIndex ) {
+	var word = this._getWordObject( textIndex, wordIndex );
+	if( word ) {
+		if( word.type == "text" ) {
+			word.focus();
+			word.style.backgroundColor = this.checkWordBgColor;
+		}
+	}
+}
+
+function removeFocus( textIndex, wordIndex ) {
+	var word = this._getWordObject( textIndex, wordIndex );
+	if( word ) {
+		if( word.type == "text" ) {
+			word.blur();
+			word.style.backgroundColor = this.normWordBgColor;
+		}
+	}
+}
+
+function setText( textIndex, wordIndex, newText ) {
+	var word = this._getWordObject( textIndex, wordIndex );
+	var beginStr;
+	var endStr;
+	if( word ) {
+		var pos = this.indexes[textIndex][wordIndex];
+		var oldText = word.value;
+		// update the text given the index of the string
+		beginStr = this.textInputs[textIndex].substring( 0, pos );
+		endStr = this.textInputs[textIndex].substring(
+			pos + oldText.length,
+			this.textInputs[textIndex].length
+		);
+		this.textInputs[textIndex] = beginStr + newText + endStr;
+
+		// adjust the indexes on the stack given the differences in
+		// length between the new word and old word.
+		var lengthDiff = newText.length - oldText.length;
+		this._adjustIndexes( textIndex, wordIndex, lengthDiff );
+
+		word.size = newText.length;
+		word.value = newText;
+		this.removeFocus( textIndex, wordIndex );
+	}
+}
+
+
+function writeBody() {
+	var d = window.document;
+	var is_html = false;
+
+	d.open();
+
+	// iterate through each text input.
+	for( var txtid = 0; txtid < this.textInputs.length; txtid++ ) {
+		var end_idx = 0;
+		var begin_idx = 0;
+		d.writeln( '<form name="textInput'+txtid+'">' );
+		var wordtxt = this.textInputs[txtid];
+		this.indexes[txtid] = [];
+
+		if( wordtxt ) {
+			var orig = this.originalSpellings[txtid];
+			if( !orig ) break;
+
+			//!!! plain text, or HTML mode?
+			d.writeln( '<div class="plainText">' );
+			// iterate through each occurrence of a misspelled word.
+			for( var i = 0; i < orig.length; i++ ) {
+				// find the position of the current misspelled word,
+				// starting at the last misspelled word.
+				// and keep looking if it's a substring of another word
+				do {
+					begin_idx = wordtxt.indexOf( orig[i], end_idx );
+					end_idx = begin_idx + orig[i].length;
+					// word not found? messed up!
+					if( begin_idx == -1 ) break;
+					// look at the characters immediately before and after
+					// the word. If they are word characters we'll keep looking.
+					var before_char = wordtxt.charAt( begin_idx - 1 );
+					var after_char = wordtxt.charAt( end_idx );
+				} while (
+					this._isWordChar( before_char )
+					|| this._isWordChar( after_char )
+				);
+
+				// keep track of its position in the original text.
+				this.indexes[txtid][i] = begin_idx;
+
+				// write out the characters before the current misspelled word
+				for( var j = this._lastPos( txtid, i ); j < begin_idx; j++ ) {
+					// !!! html mode? make it html compatible
+					d.write( this.printForHtml( wordtxt.charAt( j )));
+				}
+
+				// write out the misspelled word.
+				d.write( this._wordInputStr( orig[i] ));
+
+				// if it's the last word, write out the rest of the text
+				if( i == orig.length-1 ){
+					d.write( printForHtml( wordtxt.substr( end_idx )));
+				}
+			}
+
+			d.writeln( '</div>' );
+
+		}
+		d.writeln( '</form>' );
+	}
+	//for ( var j = 0; j < d.forms.length; j++ ) {
+	//	alert( d.forms[j].name );
+	//	for( var k = 0; k < d.forms[j].elements.length; k++ ) {
+	//		alert( d.forms[j].elements[k].name + ": " + d.forms[j].elements[k].value );
+	//	}
+	//}
+
+	// set the _forms property
+	this._forms = d.forms;
+	d.close();
+}
+
+// return the character index in the full text after the last word we evaluated
+function _lastPos( txtid, idx ) {
+	if( idx > 0 )
+		return this.indexes[txtid][idx-1] + this.originalSpellings[txtid][idx-1].length;
+	else
+		return 0;
+}
+
+function printForHtml( n ) {
+	return n ;		// by FredCK
+/*
+	var htmlstr = n;
+	if( htmlstr.length == 1 ) {
+		// do simple case statement if it's just one character
+		switch ( n ) {
+			case "\n":
+				htmlstr = '<br/>';
+				break;
+			case "<":
+				htmlstr = '&lt;';
+				break;
+			case ">":
+				htmlstr = '&gt;';
+				break;
+		}
+		return htmlstr;
+	} else {
+		htmlstr = htmlstr.replace( /</g, '&lt' );
+		htmlstr = htmlstr.replace( />/g, '&gt' );
+		htmlstr = htmlstr.replace( /\n/g, '<br/>' );
+		return htmlstr;
+	}
+*/
+}
+
+function _isWordChar( letter ) {
+	if( letter.search( this.wordChar ) == -1 ) {
+		return false;
+	} else {
+		return true;
+	}
+}
+
+function _getWordObject( textIndex, wordIndex ) {
+	if( this._forms[textIndex] ) {
+		if( this._forms[textIndex].elements[wordIndex] ) {
+			return this._forms[textIndex].elements[wordIndex];
+		}
+	}
+	return null;
+}
+
+function _wordInputStr( word ) {
+	var str = '<input readonly ';
+	str += 'class="blend" type="text" value="' + word + '" size="' + word.length + '">';
+	return str;
+}
+
+function _adjustIndexes( textIndex, wordIndex, lengthDiff ) {
+	for( var i = wordIndex + 1; i < this.originalSpellings[textIndex].length; i++ ) {
+		this.indexes[textIndex][i] = this.indexes[textIndex][i] + lengthDiff;
+	}
+}
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_docprops/fck_document_preview.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_docprops/fck_document_preview.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_docprops/fck_document_preview.html	(revision 1481)
@@ -0,0 +1,113 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Preview shown in the "Document Properties" dialog window.
+-->
+<html>
+	<head>
+		<title>Document Properties - Preview</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<script type="text/javascript">
+
+var eBase = parent.FCK.EditorDocument.getElementsByTagName( 'BASE' ) ;
+if ( eBase.length > 0 && eBase[0].href.length > 0 )
+{
+	document.write( '<base href="' + eBase[0].href + '">' ) ;
+}
+
+window.onload = function()
+{
+	if ( typeof( parent.OnPreviewLoad ) == 'function' )
+		parent.OnPreviewLoad( window, document.body ) ;
+}
+
+function SetBaseHRef( baseHref )
+{
+	var eBase = document.createElement( 'BASE' ) ;
+	eBase.href = baseHref ;
+
+	var eHead = document.getElementsByTagName( 'HEAD' )[0] ;
+	eHead.appendChild( eBase ) ;
+}
+
+function SetLinkColor( color )
+{
+	if ( color && color.length > 0 )
+		document.getElementById('eLink').style.color = color ;
+	else
+		document.getElementById('eLink').style.color = window.document.linkColor ;
+}
+
+function SetVisitedColor( color )
+{
+	if ( color && color.length > 0 )
+		document.getElementById('eVisited').style.color = color ;
+	else
+		document.getElementById('eVisited').style.color = window.document.vlinkColor ;
+}
+
+function SetActiveColor( color )
+{
+	if ( color && color.length > 0 )
+		document.getElementById('eActive').style.color = color ;
+	else
+		document.getElementById('eActive').style.color = window.document.alinkColor ;
+}
+		</script>
+	</head>
+	<body>
+		<table width="100%" height="100%" cellpadding="0" cellspacing="0" border="0">
+			<tr>
+				<td align="center" valign="middle">
+					Normal Text
+				</td>
+				<td id="eLink" align="center" valign="middle">
+					<u>Link Text</u>
+				</td>
+			</tr>
+			<tr>
+				<td id="eVisited" valign="middle" align="center">
+					<u>Visited Link</u>
+				</td>
+				<td id="eActive" valign="middle" align="center">
+					<u>Active Link</u>
+				</td>
+			</tr>
+		</table>
+		<br>
+		<br>
+		<br>
+		<br>
+		<br>
+		<br>
+		<br>
+		<br>
+		<br>
+		<br>
+		<br>
+		<br>
+		<br>
+		<br>
+		<br>
+		<br>
+	</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_docprops/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_docprops/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_docprops/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_docprops/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_link_org.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_link_org.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_link_org.html	(revision 1481)
@@ -0,0 +1,295 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Link dialog window.
+-->
+<html>
+	<head>
+		<title>Link Properties</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+		<meta name="robots" content="noindex, nofollow" />
+		<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+		<script src="fck_link/fck_link.js" type="text/javascript"></script>
+	</head>
+	<body scroll="no" style="OVERFLOW: hidden">
+		<div id="divInfo" style="DISPLAY: none">
+			<span fckLang="DlgLnkType">Link Type</span><br />
+			<select id="cmbLinkType" onchange="SetLinkType(this.value);">
+				<option value="url" fckLang="DlgLnkTypeURL" selected="selected">URL</option>
+				<option value="anchor" fckLang="DlgLnkTypeAnchor">Anchor in this page</option>
+				<option value="email" fckLang="DlgLnkTypeEMail">E-Mail</option>
+			</select>
+			<br />
+			<br />
+			<div id="divLinkTypeUrl">
+				<table cellspacing="0" cellpadding="0" width="100%" border="0" dir="ltr">
+					<tr>
+						<td nowrap="nowrap">
+							<span fckLang="DlgLnkProto">Protocol</span><br />
+							<select id="cmbLinkProtocol">
+								<option value="http://" selected="selected">http://</option>
+								<option value="https://">https://</option>
+								<option value="ftp://">ftp://</option>
+								<option value="news://">news://</option>
+								<option value="" fckLang="DlgLnkProtoOther">&lt;other&gt;</option>
+							</select>
+						</td>
+						<td nowrap="nowrap">&nbsp;</td>
+						<td nowrap="nowrap" width="100%">
+							<span fckLang="DlgLnkURL">URL</span><br />
+							<input id="txtUrl" style="WIDTH: 100%" type="text" onkeyup="OnUrlChange();" onchange="OnUrlChange();" />
+						</td>
+					</tr>
+				</table>
+				<br />
+				<div id="divBrowseServer">
+				<input type="button" value="Browse Server" fckLang="DlgBtnBrowseServer" onclick="BrowseServer();" />
+				</div>
+			</div>
+			<div id="divLinkTypeAnchor" style="DISPLAY: none" align="center">
+				<div id="divSelAnchor" style="DISPLAY: none">
+					<table cellspacing="0" cellpadding="0" border="0" width="70%">
+						<tr>
+							<td colspan="3">
+								<span fckLang="DlgLnkAnchorSel">Select an Anchor</span>
+							</td>
+						</tr>
+						<tr>
+							<td width="50%">
+								<span fckLang="DlgLnkAnchorByName">By Anchor Name</span><br />
+								<select id="cmbAnchorName" onchange="GetE('cmbAnchorId').value='';" style="WIDTH: 100%">
+									<option value="" selected="selected"></option>
+								</select>
+							</td>
+							<td>&nbsp;&nbsp;&nbsp;</td>
+							<td width="50%">
+								<span fckLang="DlgLnkAnchorById">By Element Id</span><br />
+								<select id="cmbAnchorId" onchange="GetE('cmbAnchorName').value='';" style="WIDTH: 100%">
+									<option value="" selected="selected"></option>
+								</select>
+							</td>
+						</tr>
+					</table>
+				</div>
+				<div id="divNoAnchor" style="DISPLAY: none">
+					<span fckLang="DlgLnkNoAnchors">&lt;No anchors available in the document&gt;</span>
+				</div>
+			</div>
+			<div id="divLinkTypeEMail" style="DISPLAY: none">
+				<span fckLang="DlgLnkEMail">E-Mail Address</span><br />
+				<input id="txtEMailAddress" style="WIDTH: 100%" type="text" /><br />
+				<span fckLang="DlgLnkEMailSubject">Message Subject</span><br />
+				<input id="txtEMailSubject" style="WIDTH: 100%" type="text" /><br />
+				<span fckLang="DlgLnkEMailBody">Message Body</span><br />
+				<textarea id="txtEMailBody" style="WIDTH: 100%" rows="3" cols="20"></textarea>
+			</div>
+		</div>
+		<div id="divUpload" style="DISPLAY: none">
+			<form id="frmUpload" method="post" target="UploadWindow" enctype="multipart/form-data" action="" onsubmit="return CheckUpload();">
+				<span fckLang="DlgLnkUpload">Upload</span><br />
+				<input id="txtUploadFile" style="WIDTH: 100%" type="file" size="40" name="NewFile" /><br />
+				<br />
+				<input id="btnUpload" type="submit" value="Send it to the Server" fckLang="DlgLnkBtnUpload" />
+				<script type="text/javascript">
+					document.write( '<iframe name="UploadWindow" style="display: none" src="' + FCKTools.GetVoidUrl() + '"><\/iframe>' ) ;
+				</script>
+			</form>
+		</div>
+		<div id="divTarget" style="DISPLAY: none">
+			<table cellspacing="0" cellpadding="0" width="100%" border="0">
+				<tr>
+					<td nowrap="nowrap">
+						<span fckLang="DlgLnkTarget">Target</span><br />
+						<select id="cmbTarget" onchange="SetTarget(this.value);">
+							<option value="" fckLang="DlgGenNotSet" selected="selected">&lt;not set&gt;</option>
+							<option value="frame" fckLang="DlgLnkTargetFrame">&lt;frame&gt;</option>
+							<option value="popup" fckLang="DlgLnkTargetPopup">&lt;popup window&gt;</option>
+							<option value="_blank" fckLang="DlgLnkTargetBlank">New Window (_blank)</option>
+							<option value="_top" fckLang="DlgLnkTargetTop">Topmost Window (_top)</option>
+							<option value="_self" fckLang="DlgLnkTargetSelf">Same Window (_self)</option>
+							<option value="_parent" fckLang="DlgLnkTargetParent">Parent Window (_parent)</option>
+						</select>
+					</td>
+					<td>&nbsp;</td>
+					<td id="tdTargetFrame" nowrap="nowrap" width="100%">
+						<span fckLang="DlgLnkTargetFrameName">Target Frame Name</span><br />
+						<input id="txtTargetFrame" style="WIDTH: 100%" type="text" onkeyup="OnTargetNameChange();"
+							onchange="OnTargetNameChange();" />
+					</td>
+					<td id="tdPopupName" style="DISPLAY: none" nowrap="nowrap" width="100%">
+						<span fckLang="DlgLnkPopWinName">Popup Window Name</span><br />
+						<input id="txtPopupName" style="WIDTH: 100%" type="text" />
+					</td>
+				</tr>
+			</table>
+			<br />
+			<table id="tablePopupFeatures" style="DISPLAY: none" cellspacing="0" cellpadding="0" align="center"
+				border="0">
+				<tr>
+					<td>
+						<span fckLang="DlgLnkPopWinFeat">Popup Window Features</span><br />
+						<table cellspacing="0" cellpadding="0" border="0">
+							<tr>
+								<td valign="top" nowrap="nowrap" width="50%">
+									<input id="chkPopupResizable" name="chkFeature" value="resizable" type="checkbox" /><label for="chkPopupResizable" fckLang="DlgLnkPopResize">Resizable</label><br />
+									<input id="chkPopupLocationBar" name="chkFeature" value="location" type="checkbox" /><label for="chkPopupLocationBar" fckLang="DlgLnkPopLocation">Location
+										Bar</label><br />
+									<input id="chkPopupManuBar" name="chkFeature" value="menubar" type="checkbox" /><label for="chkPopupManuBar" fckLang="DlgLnkPopMenu">Menu
+										Bar</label><br />
+									<input id="chkPopupScrollBars" name="chkFeature" value="scrollbars" type="checkbox" /><label for="chkPopupScrollBars" fckLang="DlgLnkPopScroll">Scroll
+										Bars</label>
+								</td>
+								<td></td>
+								<td valign="top" nowrap="nowrap" width="50%">
+									<input id="chkPopupStatusBar" name="chkFeature" value="status" type="checkbox" /><label for="chkPopupStatusBar" fckLang="DlgLnkPopStatus">Status
+										Bar</label><br />
+									<input id="chkPopupToolbar" name="chkFeature" value="toolbar" type="checkbox" /><label for="chkPopupToolbar" fckLang="DlgLnkPopToolbar">Toolbar</label><br />
+									<input id="chkPopupFullScreen" name="chkFeature" value="fullscreen" type="checkbox" /><label for="chkPopupFullScreen" fckLang="DlgLnkPopFullScrn">Full
+										Screen (IE)</label><br />
+									<input id="chkPopupDependent" name="chkFeature" value="dependent" type="checkbox" /><label for="chkPopupDependent" fckLang="DlgLnkPopDependent">Dependent
+										(Netscape)</label>
+								</td>
+							</tr>
+							<tr>
+								<td valign="top" nowrap="nowrap" width="50%">&nbsp;</td>
+								<td></td>
+								<td valign="top" nowrap="nowrap" width="50%"></td>
+							</tr>
+							<tr>
+								<td valign="top">
+									<table cellspacing="0" cellpadding="0" border="0">
+										<tr>
+											<td nowrap="nowrap"><span fckLang="DlgLnkPopWidth">Width</span></td>
+											<td>&nbsp;<input id="txtPopupWidth" type="text" maxlength="4" size="4" /></td>
+										</tr>
+										<tr>
+											<td nowrap="nowrap"><span fckLang="DlgLnkPopHeight">Height</span></td>
+											<td>&nbsp;<input id="txtPopupHeight" type="text" maxlength="4" size="4" /></td>
+										</tr>
+									</table>
+								</td>
+								<td>&nbsp;&nbsp;</td>
+								<td valign="top">
+									<table cellspacing="0" cellpadding="0" border="0">
+										<tr>
+											<td nowrap="nowrap"><span fckLang="DlgLnkPopLeft">Left Position</span></td>
+											<td>&nbsp;<input id="txtPopupLeft" type="text" maxlength="4" size="4" /></td>
+										</tr>
+										<tr>
+											<td nowrap="nowrap"><span fckLang="DlgLnkPopTop">Top Position</span></td>
+											<td>&nbsp;<input id="txtPopupTop" type="text" maxlength="4" size="4" /></td>
+										</tr>
+									</table>
+								</td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+			</table>
+		</div>
+		<div id="divAttribs" style="DISPLAY: none">
+			<table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
+				<tr>
+					<td valign="top" width="50%">
+						<span fckLang="DlgGenId">Id</span><br />
+						<input id="txtAttId" style="WIDTH: 100%" type="text" />
+					</td>
+					<td width="1"></td>
+					<td valign="top">
+						<table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
+							<tr>
+								<td width="60%">
+									<span fckLang="DlgGenLangDir">Language Direction</span><br />
+									<select id="cmbAttLangDir" style="WIDTH: 100%">
+										<option value="" fckLang="DlgGenNotSet" selected>&lt;not set&gt;</option>
+										<option value="ltr" fckLang="DlgGenLangDirLtr">Left to Right (LTR)</option>
+										<option value="rtl" fckLang="DlgGenLangDirRtl">Right to Left (RTL)</option>
+									</select>
+								</td>
+								<td width="1%">&nbsp;&nbsp;&nbsp;</td>
+								<td nowrap="nowrap"><span fckLang="DlgGenAccessKey">Access Key</span><br />
+									<input id="txtAttAccessKey" style="WIDTH: 100%" type="text" maxlength="1" size="1" />
+								</td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+				<tr>
+					<td valign="top" width="50%">
+						<span fckLang="DlgGenName">Name</span><br />
+						<input id="txtAttName" style="WIDTH: 100%" type="text" />
+					</td>
+					<td width="1"></td>
+					<td valign="top">
+						<table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
+							<tr>
+								<td width="60%">
+									<span fckLang="DlgGenLangCode">Language Code</span><br />
+									<input id="txtAttLangCode" style="WIDTH: 100%" type="text" />
+								</td>
+								<td width="1%">&nbsp;&nbsp;&nbsp;</td>
+								<td nowrap="nowrap">
+									<span fckLang="DlgGenTabIndex">Tab Index</span><br />
+									<input id="txtAttTabIndex" style="WIDTH: 100%" type="text" maxlength="5" size="5" />
+								</td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+				<tr>
+					<td valign="top" width="50%">&nbsp;</td>
+					<td width="1"></td>
+					<td valign="top"></td>
+				</tr>
+				<tr>
+					<td valign="top" width="50%">
+						<span fckLang="DlgGenTitle">Advisory Title</span><br />
+						<input id="txtAttTitle" style="WIDTH: 100%" type="text" />
+					</td>
+					<td width="1">&nbsp;&nbsp;&nbsp;</td>
+					<td valign="top">
+						<span fckLang="DlgGenContType">Advisory Content Type</span><br />
+						<input id="txtAttContentType" style="WIDTH: 100%" type="text" />
+					</td>
+				</tr>
+				<tr>
+					<td valign="top">
+						<span fckLang="DlgGenClass">Stylesheet Classes</span><br />
+						<input id="txtAttClasses" style="WIDTH: 100%" type="text" />
+					</td>
+					<td></td>
+					<td valign="top">
+						<span fckLang="DlgGenLinkCharset">Linked Resource Charset</span><br />
+						<input id="txtAttCharSet" style="WIDTH: 100%" type="text" />
+					</td>
+				</tr>
+			</table>
+			<table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
+				<tr>
+					<td>
+						<span fckLang="DlgGenStyle">Style</span><br />
+						<input id="txtAttStyle" style="WIDTH: 100%" type="text" />
+					</td>
+				</tr>
+			</table>
+		</div>
+	</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_form.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_form.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_form.html	(revision 1481)
@@ -0,0 +1,109 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Form dialog window.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title></title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<meta content="noindex, nofollow" name="robots" />
+	<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+	<script type="text/javascript">
+
+var dialog	= window.parent ;
+var oEditor = dialog.InnerDialogLoaded() ;
+
+// Gets the document DOM
+var oDOM = oEditor.FCK.EditorDocument ;
+
+var oActiveEl = dialog.Selection.GetSelection().MoveToAncestorNode( 'FORM' ) ;
+
+window.onload = function()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	if ( oActiveEl )
+	{
+		GetE('txtName').value	= oActiveEl.name ;
+		GetE('txtAction').value	= oActiveEl.getAttribute( 'action', 2 ) ;
+		GetE('txtMethod').value	= oActiveEl.method ;
+	}
+	else
+		oActiveEl = null ;
+
+	dialog.SetOkButton( true ) ;
+	dialog.SetAutoSize( true ) ;
+	SelectField( 'txtName' ) ;
+}
+
+function Ok()
+{
+	if ( !oActiveEl )
+	{
+		oActiveEl = oEditor.FCK.InsertElement( 'form' ) ;
+
+		if ( oEditor.FCKBrowserInfo.IsGeckoLike )
+			oEditor.FCKTools.AppendBogusBr( oActiveEl ) ;
+	}
+
+	oActiveEl.name = GetE('txtName').value ;
+	SetAttribute( oActiveEl, 'action', GetE('txtAction').value ) ;
+	oActiveEl.method = GetE('txtMethod').value ;
+
+	return true ;
+}
+
+	</script>
+</head>
+<body style="overflow: hidden">
+	<table width="100%" style="height: 100%">
+		<tr>
+			<td align="center">
+				<table cellspacing="0" cellpadding="0" width="80%" border="0">
+					<tr>
+						<td>
+							<span fcklang="DlgFormName">Name</span><br />
+							<input style="width: 100%" type="text" id="txtName" />
+						</td>
+					</tr>
+					<tr>
+						<td>
+							<span fcklang="DlgFormAction">Action</span><br />
+							<input style="width: 100%" type="text" id="txtAction" />
+						</td>
+					</tr>
+					<tr>
+						<td>
+							<span fcklang="DlgFormMethod">Method</span><br />
+							<select id="txtMethod">
+								<option value="get" selected="selected">GET</option>
+								<option value="post">POST</option>
+							</select>
+						</td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+	</table>
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_anchor.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_anchor.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_anchor.html	(revision 1481)
@@ -0,0 +1,220 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Anchor dialog window.
+-->
+<html>
+	<head>
+		<title>Anchor Properties</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta content="noindex, nofollow" name="robots">
+		<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+		<script type="text/javascript">
+
+var dialog			= window.parent ;
+var oEditor			= dialog.InnerDialogLoaded() ;
+
+var FCK				= oEditor.FCK ;
+var FCKBrowserInfo	= oEditor.FCKBrowserInfo ;
+var FCKTools		= oEditor.FCKTools ;
+var FCKRegexLib		= oEditor.FCKRegexLib ;
+
+var oDOM			= FCK.EditorDocument ;
+
+var oFakeImage = dialog.Selection.GetSelectedElement() ;
+
+var oAnchor ;
+
+if ( oFakeImage )
+{
+	if ( oFakeImage.tagName == 'IMG' && oFakeImage.getAttribute('_fckanchor') )
+		oAnchor = FCK.GetRealElement( oFakeImage ) ;
+	else
+		oFakeImage = null ;
+}
+
+//Search for a real anchor
+if ( !oFakeImage )
+{
+	oAnchor = FCK.Selection.MoveToAncestorNode( 'A' ) ;
+	if ( oAnchor )
+		FCK.Selection.SelectNode( oAnchor ) ;
+}
+
+window.onload = function()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	if ( oAnchor )
+		GetE('txtName').value = oAnchor.name ;
+	else
+		oAnchor = null ;
+
+	window.parent.SetOkButton( true ) ;
+	window.parent.SetAutoSize( true ) ;
+
+	SelectField( 'txtName' ) ;
+}
+
+function Ok()
+{
+	var sNewName = GetE('txtName').value ;
+
+	// Remove any illegal character in a name attribute:
+	// A name should start with a letter, but the validator passes anyway.
+	sNewName = sNewName.replace( /[^\w-_\.:]/g, '_' ) ;
+
+	if ( sNewName.length == 0 )
+	{
+		// Remove the anchor if the user leaves the name blank
+		if ( oAnchor )
+		{
+			// Removes the current anchor from the document using the new command
+			FCK.Commands.GetCommand( 'AnchorDelete' ).Execute() ;
+			return true ;
+		}
+
+		alert( oEditor.FCKLang.DlgAnchorErrorName ) ;
+		return false ;
+	}
+
+	oEditor.FCKUndo.SaveUndoStep() ;
+
+	if ( oAnchor )	// Modifying an existent anchor.
+	{
+		ReadjustLinksToAnchor( oAnchor.name, sNewName );
+
+		// Buggy explorer, bad bad browser. http://alt-tag.com/blog/archives/2006/02/ie-dom-bugs/
+		// Instead of just replacing the .name for the existing anchor (in order to preserve the content), we must remove the .name
+		// and assign .name, although it won't appear until it's specially processed in fckxhtml.js
+
+		// We remove the previous name
+		oAnchor.removeAttribute( 'name' ) ;
+		// Now we set it, but later we must process it specially
+		oAnchor.name = sNewName ;
+
+		return true ;
+	}
+
+	// Create a new anchor preserving the current selection
+	var aNewAnchors = oEditor.FCK.CreateLink( '#' ) ;
+
+	if ( aNewAnchors.length == 0 )
+			aNewAnchors.push( oEditor.FCK.InsertElement( 'a' ) ) ;
+	else
+	{
+		// Remove the fake href
+		for ( var i = 0 ; i < aNewAnchors.length ; i++ )
+			aNewAnchors[i].removeAttribute( 'href' ) ;
+	}
+
+	// More than one anchors may have been created, so interact through all of them (see #220).
+	for ( var i = 0 ; i < aNewAnchors.length ; i++ )
+	{
+		oAnchor = aNewAnchors[i] ;
+
+		// Set the name
+		if ( FCKBrowserInfo.IsIE )
+		{
+			// Setting anchor names directly in IE will trash the HTML code stored
+			// in FCKTempBin after undos. See #2263.
+			var replaceAnchor = oEditor.FCK.EditorDocument.createElement( '<a name="' +
+					FCKTools.HTMLEncode( sNewName ).replace( '"', '&quot;' ) + '">' ) ;
+			oEditor.FCKDomTools.MoveChildren( oAnchor, replaceAnchor ) ;
+			oAnchor.parentNode.replaceChild( replaceAnchor, oAnchor ) ;
+			oAnchor = replaceAnchor ;
+		}
+		else
+			oAnchor.name = sNewName ;
+
+		// IE does require special processing to show the Anchor's image
+		// Opera doesn't allow to select empty anchors
+		if ( FCKBrowserInfo.IsIE || FCKBrowserInfo.IsOpera )
+		{
+			if ( oAnchor.innerHTML != '' )
+			{
+				if ( FCKBrowserInfo.IsIE )
+					oAnchor.className += ' FCK__AnchorC' ;
+			}
+			else
+			{
+				// Create a fake image for both IE and Opera
+				var oImg = oEditor.FCKDocumentProcessor_CreateFakeImage( 'FCK__Anchor', oAnchor.cloneNode(true) ) ;
+				oImg.setAttribute( '_fckanchor', 'true', 0 ) ;
+
+				oAnchor.parentNode.insertBefore( oImg, oAnchor ) ;
+				oAnchor.parentNode.removeChild( oAnchor ) ;
+			}
+
+		}
+	}
+
+	return true ;
+}
+
+// Checks all the links in the current page pointing to the current name and changes them to the new name
+function ReadjustLinksToAnchor( sCurrent, sNew )
+{
+	var oDoc = FCK.EditorDocument ;
+
+	var aLinks = oDoc.getElementsByTagName( 'A' ) ;
+
+	var sReference = '#' + sCurrent ;
+	// The url of the document, so we check absolute and partial references.
+	var sFullReference = oDoc.location.href.replace( /(#.*$)/, '') ;
+	sFullReference += sReference ;
+
+	var oLink ;
+	var i = aLinks.length - 1 ;
+	while ( i >= 0 && ( oLink = aLinks[i--] ) )
+	{
+		var sHRef = oLink.getAttribute( '_fcksavedurl' ) ;
+		if ( sHRef == null )
+			sHRef = oLink.getAttribute( 'href' , 2 ) || '' ;
+
+		if ( sHRef == sReference || sHRef == sFullReference )
+		{
+			oLink.href = '#' + sNew ;
+			SetAttribute( oLink, '_fcksavedurl', '#' + sNew ) ;
+		}
+	}
+}
+
+		</script>
+	</head>
+	<body style="overflow: hidden">
+		<table height="100%" width="100%">
+			<tr>
+				<td align="center">
+					<table border="0" cellpadding="0" cellspacing="0" width="80%">
+						<tr>
+							<td>
+								<span fckLang="DlgAnchorName">Anchor Name</span><BR>
+								<input id="txtName" style="WIDTH: 100%" type="text">
+							</td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_template.html	(revision 1481)
@@ -0,0 +1,242 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Template selection dialog window.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title></title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<meta name="robots" content="noindex, nofollow" />
+	<style type="text/css">
+			.TplList
+			{
+				border: #dcdcdc 2px solid;
+				background-color: #ffffff;
+				overflow: auto;
+				width: 90%;
+			}
+
+			.TplItem
+			{
+				margin: 5px;
+				padding: 7px;
+				border: #eeeeee 1px solid;
+			}
+
+			.TplItem TABLE
+			{
+				display: inline;
+			}
+
+			.TplTitle
+			{
+				font-weight: bold;
+			}
+		</style>
+	<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+	<script type="text/javascript">
+
+var oEditor		= window.parent.InnerDialogLoaded() ;
+var FCK			= oEditor.FCK ;
+var FCKLang		= oEditor.FCKLang ;
+var FCKConfig	= oEditor.FCKConfig ;
+
+window.onload = function()
+{
+	// Set the right box height (browser dependent).
+	GetE('eList').style.height = document.all ? '100%' : '295px' ;
+
+	// Translate the dialog box texts.
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	GetE('xChkReplaceAll').checked = ( FCKConfig.TemplateReplaceAll !== false ) ;
+
+	if ( FCKConfig.TemplateReplaceCheckbox !== false )
+		GetE('xReplaceBlock').style.display = '' ;
+
+	window.parent.SetAutoSize( true ) ;
+
+	LoadTemplatesXml() ;
+}
+
+function LoadTemplatesXml()
+{
+	var oTemplate ;
+
+	if ( !FCK._Templates )
+	{
+		GetE('eLoading').style.display = '' ;
+
+		// Create the Templates array.
+		FCK._Templates = new Array() ;
+
+		// Load the XML file.
+		var oXml = new oEditor.FCKXml() ;
+		oXml.LoadUrl( FCKConfig.TemplatesXmlPath ) ;
+
+		// Get the Images Base Path.
+		var oAtt = oXml.SelectSingleNode( 'Templates/@imagesBasePath' ) ;
+		var sImagesBasePath = oAtt ? oAtt.value : '' ;
+
+		// Get the "Template" nodes defined in the XML file.
+		var aTplNodes = oXml.SelectNodes( 'Templates/Template' ) ;
+
+		for ( var i = 0 ; i < aTplNodes.length ; i++ )
+		{
+			var oNode = aTplNodes[i] ;
+
+			oTemplate = new Object() ;
+
+			var oPart ;
+
+			// Get the Template Title.
+			if ( (oPart = oNode.attributes.getNamedItem('title')) )
+				oTemplate.Title = oPart.value ;
+			else
+				oTemplate.Title = 'Template ' + ( i + 1 ) ;
+
+			// Get the Template Description.
+			if ( (oPart = oXml.SelectSingleNode( 'Description', oNode )) )
+				oTemplate.Description = oPart.text ? oPart.text : oPart.textContent ;
+
+			// Get the Template Image.
+			if ( (oPart = oNode.attributes.getNamedItem('image')) )
+				oTemplate.Image = sImagesBasePath + oPart.value ;
+
+			// Get the Template HTML.
+			if ( (oPart = oXml.SelectSingleNode( 'Html', oNode )) )
+				oTemplate.Html = oPart.text ? oPart.text : oPart.textContent ;
+			else
+			{
+				alert( 'No HTML defined for template index ' + i + '. Please review the "' + FCKConfig.TemplatesXmlPath + '" file.' ) ;
+				continue ;
+			}
+
+			FCK._Templates[ FCK._Templates.length ] = oTemplate ;
+		}
+
+		GetE('eLoading').style.display = 'none' ;
+	}
+
+	if ( FCK._Templates.length == 0 )
+		GetE('eEmpty').style.display = '' ;
+	else
+	{
+		for ( var j = 0 ; j < FCK._Templates.length ; j++ )
+		{
+			oTemplate = FCK._Templates[j] ;
+
+			var oItemDiv = GetE('eList').appendChild( document.createElement( 'DIV' ) ) ;
+			oItemDiv.TplIndex = j ;
+			oItemDiv.className = 'TplItem' ;
+
+			// Build the inner HTML of our new item DIV.
+			var sInner = '<table><tr>' ;
+
+			if ( oTemplate.Image )
+				sInner += '<td valign="top"><img src="' + oTemplate.Image + '"><\/td>' ;
+
+			sInner += '<td valign="top"><div class="TplTitle">' + oTemplate.Title + '<\/div>' ;
+
+			if ( oTemplate.Description )
+				sInner += '<div>' + oTemplate.Description + '<\/div>' ;
+
+			sInner += '<\/td><\/tr><\/table>' ;
+
+			oItemDiv.innerHTML = sInner ;
+
+			oItemDiv.onmouseover = ItemDiv_OnMouseOver ;
+			oItemDiv.onmouseout = ItemDiv_OnMouseOut ;
+			oItemDiv.onclick = ItemDiv_OnClick ;
+		}
+	}
+}
+
+function ItemDiv_OnMouseOver()
+{
+	this.className += ' PopupSelectionBox' ;
+}
+
+function ItemDiv_OnMouseOut()
+{
+	this.className = this.className.replace( /\s*PopupSelectionBox\s*/, '' ) ;
+}
+
+function ItemDiv_OnClick()
+{
+	SelectTemplate( this.TplIndex ) ;
+}
+
+function SelectTemplate( index )
+{
+	oEditor.FCKUndo.SaveUndoStep() ;
+
+	if ( GetE('xChkReplaceAll').checked )
+		FCK.SetData( FCK._Templates[index].Html ) ;
+	else
+		FCK.InsertHtml( FCK._Templates[index].Html ) ;
+
+	window.parent.Cancel( true ) ;
+}
+
+	</script>
+</head>
+<body style="overflow: hidden">
+	<table width="100%" style="height: 100%">
+		<tr>
+			<td align="center">
+				<span fcklang="DlgTemplatesSelMsg">Please select the template to open in the editor<br />
+					(the actual contents will be lost):</span>
+			</td>
+		</tr>
+		<tr>
+			<td height="100%" align="center">
+				<div id="eList" align="left" class="TplList">
+					<div id="eLoading" align="center" style="display: none">
+						<br />
+						<span fcklang="DlgTemplatesLoading">Loading templates list. Please wait...</span>
+					</div>
+					<div id="eEmpty" align="center" style="display: none">
+						<br />
+						<span fcklang="DlgTemplatesNoTpl">(No templates defined)</span>
+					</div>
+				</div>
+			</td>
+		</tr>
+		<tr id="xReplaceBlock" style="display: none">
+			<td>
+				<table cellpadding="0" cellspacing="0">
+					<tr>
+						<td>
+							<input id="xChkReplaceAll" type="checkbox" /></td>
+						<td>
+							&nbsp;</td>
+						<td>
+							<label for="xChkReplaceAll" fcklang="DlgTemplatesReplace">
+								Replace actual contents</label></td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+	</table>
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_replace.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_replace.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_replace.html	(revision 1481)
@@ -0,0 +1,650 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * "Find" and "Replace" dialog box window.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title></title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<meta content="noindex, nofollow" name="robots" />
+	<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+	<script type="text/javascript">
+
+var dialog	= window.parent ;
+var oEditor = dialog.InnerDialogLoaded() ;
+var dialogArguments = dialog.Args() ;
+
+var FCKLang = oEditor.FCKLang ;
+var FCKDomTools = oEditor.FCKDomTools ;
+var FCKDomRange = oEditor.FCKDomRange ;
+var FCKListsLib = oEditor.FCKListsLib ;
+var FCKTools = oEditor.FCKTools ;
+var EditorDocument = oEditor.FCK.EditorDocument ;
+var HighlightStyle = oEditor.FCKStyles.GetStyle( '_FCK_SelectionHighlight' )  ;
+
+dialog.AddTab( 'Find', FCKLang.DlgFindTitle ) ;
+dialog.AddTab( 'Replace', FCKLang.DlgReplaceTitle ) ;
+var idMap = {} ;
+
+function OnDialogTabChange( tabCode )
+{
+	ShowE( 'divFind', ( tabCode == 'Find' ) ) ;
+	ShowE( 'divReplace', ( tabCode == 'Replace' ) ) ;
+	idMap['FindText'] = 'txtFind' + tabCode ;
+	idMap['CheckCase'] = 'chkCase' + tabCode ;
+	idMap['CheckWord'] = 'chkWord' + tabCode ;
+
+	if ( tabCode == 'Replace' )
+		dialog.SetAutoSize( true ) ;
+}
+
+GetNextNonEmptyTextNode = function( node, stopNode )
+{
+	while ( ( node = FCKDomTools.GetNextSourceNode( node, false, 3, stopNode ) ) && node && node.length < 1 )
+		1 ;
+	return node ;
+}
+
+CharacterCursor = function( arg )
+{
+	if ( arg.nodeType && arg.nodeType == 9 )
+	{
+		this._textNode = GetNextNonEmptyTextNode( arg.body, arg.documentElement ) ;
+		this._offset = 0 ;
+		this._doc = arg ;
+	}
+	else
+	{
+		this._textNode = arguments[0] ;
+		this._offset = arguments[1] ;
+		this._doc = FCKTools.GetElementDocument( arguments[0] ) ;
+	}
+}
+CharacterCursor.prototype =
+{
+	GetCharacter : function()
+	{
+		return ( this._textNode && this._textNode.nodeValue.charAt( this._offset ) ) || null ;
+	},
+
+	// Non-normalized.
+	GetTextNode : function()
+	{
+		return this._textNode ;
+	},
+
+	// Non-normalized.
+	GetIndex : function()
+	{
+		return this._offset ;
+	},
+
+	// Return value means whehther we've crossed a line break or a paragraph boundary.
+	MoveNext : function()
+	{
+		if ( this._offset < this._textNode.length - 1 )
+		{
+			this._offset++ ;
+			return false ;
+		}
+
+		var crossed = false ;
+		var curNode = this._textNode ;
+		while ( ( curNode = FCKDomTools.GetNextSourceNode( curNode ) )
+				&& curNode && ( curNode.nodeType != 3 || curNode.length < 1 ) )
+		{
+			var tag = curNode.nodeName.toLowerCase() ;
+			if ( FCKListsLib.BlockElements[tag] || tag == 'br' )
+				crossed = true ;
+		}
+
+		this._textNode = curNode ;
+		this._offset = 0 ;
+		return crossed ;
+	},
+
+	// Return value means whehther we've crossed a line break or a paragraph boundary.
+	MoveBack : function()
+	{
+		if ( this._offset > 0 && this._textNode.length > 0 )
+		{
+			this._offset = Math.min( this._offset - 1, this._textNode.length - 1 ) ;
+			return false ;
+		}
+
+		var crossed = false ;
+		var curNode = this._textNode ;
+		while ( ( curNode = FCKDomTools.GetPreviousSourceNode( curNode ) )
+				&& curNode && ( curNode.nodeType != 3 || curNode.length < 1 ) )
+		{
+			var tag = curNode.nodeName.toLowerCase() ;
+			if ( FCKListsLib.BlockElements[tag] || tag == 'br' )
+				crossed = true ;
+		}
+
+		this._textNode = curNode ;
+		this._offset = curNode && curNode.length - 1 ;
+		return crossed ;
+	},
+
+	Clone : function()
+	{
+		return new CharacterCursor( this._textNode, this._offset ) ;
+	}
+} ;
+
+CharacterRange = function( initCursor, maxLength )
+{
+	this._cursors = initCursor.push ? initCursor : [initCursor] ;
+	this._maxLength = maxLength ;
+	this._highlightRange = null ;
+}
+CharacterRange.prototype =
+{
+	ToDomRange : function()
+	{
+		var firstCursor = this._cursors[0] ;
+		var lastCursor = this._cursors[ this._cursors.length - 1 ] ;
+		var domRange = new FCKDomRange( FCKTools.GetElementWindow( firstCursor.GetTextNode() ) ) ;
+		var w3cRange = domRange._Range = domRange.CreateRange() ;
+		w3cRange.setStart( firstCursor.GetTextNode(), firstCursor.GetIndex() ) ;
+		w3cRange.setEnd( lastCursor.GetTextNode(), lastCursor.GetIndex() + 1 ) ;
+		domRange._UpdateElementInfo() ;
+		return domRange ;
+	},
+
+	Highlight : function()
+	{
+		if ( this._cursors.length < 1 )
+			return ;
+
+		var domRange = this.ToDomRange() ;
+		HighlightStyle.ApplyToRange( domRange, false, true ) ;
+		this._highlightRange = domRange ;
+
+		var charRange = CharacterRange.CreateFromDomRange( domRange ) ;
+		var focusNode = domRange.StartNode ;
+		if ( focusNode.nodeType != 1 )
+			focusNode = focusNode.parentNode ;
+		FCKDomTools.ScrollIntoView( focusNode, false ) ;
+		this._cursors = charRange._cursors ;
+	},
+
+	RemoveHighlight : function()
+	{
+		if ( this._highlightRange )
+		{
+			HighlightStyle.RemoveFromRange( this._highlightRange, false, true ) ;
+			var charRange = CharacterRange.CreateFromDomRange( this._highlightRange ) ;
+			this._cursors = charRange._cursors ;
+			this._highlightRange = null ;
+		}
+	},
+
+	GetHighlightDomRange : function()
+	{
+		return this._highlightRange;
+	},
+
+	MoveNext : function()
+	{
+		var next = this._cursors[ this._cursors.length - 1 ].Clone() ;
+		var retval = next.MoveNext() ;
+		if ( retval )
+			this._cursors = [] ;
+		this._cursors.push( next ) ;
+		if ( this._cursors.length > this._maxLength )
+			this._cursors.shift() ;
+		return retval ;
+	},
+
+	MoveBack : function()
+	{
+		var prev = this._cursors[0].Clone() ;
+		var retval = prev.MoveBack() ;
+		if ( retval )
+			this._cursors = [] ;
+		this._cursors.unshift( prev ) ;
+		if ( this._cursors.length > this._maxLength )
+			this._cursors.pop() ;
+		return retval ;
+	},
+
+	GetEndCharacter : function()
+	{
+		if ( this._cursors.length < 1 )
+			return null ;
+		var retval = this._cursors[ this._cursors.length - 1 ].GetCharacter() ;
+		return retval ;
+	},
+
+	GetNextRange : function( len )
+	{
+		if ( this._cursors.length == 0 )
+			return null ;
+		var cur = this._cursors[ this._cursors.length - 1 ].Clone() ;
+		cur.MoveNext() ;
+		return new CharacterRange( cur, len ) ;
+	},
+
+	GetCursors : function()
+	{
+		return this._cursors ;
+	}
+} ;
+
+CharacterRange.CreateFromDomRange = function( domRange )
+{
+	var w3cRange = domRange._Range ;
+	var startContainer = w3cRange.startContainer ;
+	var endContainer = w3cRange.endContainer ;
+	var startTextNode, startIndex, endTextNode, endIndex ;
+
+	if ( startContainer.nodeType == 3 )
+	{
+		startTextNode = startContainer ;
+		startIndex = w3cRange.startOffset ;
+	}
+	else if ( domRange.StartNode.nodeType == 3 )
+	{
+		startTextNode = domRange.StartNode ;
+		startIndex = 0 ;
+	}
+	else
+	{
+		startTextNode = GetNextNonEmptyTextNode( domRange.StartNode, domRange.StartNode.parentNode ) ;
+		if ( !startTextNode )
+			return null ;
+		startIndex = 0 ;
+	}
+
+	if ( endContainer.nodeType == 3 && w3cRange.endOffset > 0 )
+	{
+		endTextNode = endContainer ;
+		endIndex = w3cRange.endOffset - 1 ;
+	}
+	else
+	{
+		endTextNode = domRange.EndNode ;
+		while ( endTextNode.nodeType != 3 )
+			endTextNode = endTextNode.lastChild ;
+		endIndex = endTextNode.length - 1 ;
+	}
+
+	var cursors = [] ;
+	var current = new CharacterCursor( startTextNode, startIndex ) ;
+	cursors.push( current ) ;
+	if ( !( current.GetTextNode() == endTextNode && current.GetIndex() == endIndex ) && !domRange.CheckIsEmpty() )
+	{
+		do
+		{
+			current = current.Clone() ;
+			current.MoveNext() ;
+			cursors.push( current ) ;
+		}
+		while ( !( current.GetTextNode() == endTextNode && current.GetIndex() == endIndex ) ) ;
+	}
+
+	return new CharacterRange( cursors, cursors.length ) ;
+}
+
+// Knuth-Morris-Pratt Algorithm for stream input
+KMP_NOMATCH = 0 ;
+KMP_ADVANCED = 1 ;
+KMP_MATCHED = 2 ;
+KmpMatch = function( pattern, ignoreCase )
+{
+	var overlap = [ -1 ] ;
+	for ( var i = 0 ; i < pattern.length ; i++ )
+	{
+		overlap.push( overlap[i] + 1 ) ;
+		while ( overlap[ i + 1 ] > 0 && pattern.charAt( i ) != pattern.charAt( overlap[ i + 1 ] - 1 ) )
+			overlap[ i + 1 ] = overlap[ overlap[ i + 1 ] - 1 ] + 1 ;
+	}
+	this._Overlap = overlap ;
+	this._State = 0 ;
+	this._IgnoreCase = ( ignoreCase === true ) ;
+	if ( ignoreCase )
+		this.Pattern = pattern.toLowerCase();
+	else
+		this.Pattern = pattern ;
+}
+KmpMatch.prototype = {
+	FeedCharacter : function( c )
+	{
+		if ( this._IgnoreCase )
+			c = c.toLowerCase();
+
+		while ( true )
+		{
+			if ( c == this.Pattern.charAt( this._State ) )
+			{
+				this._State++ ;
+				if ( this._State == this.Pattern.length )
+				{
+					// found a match, start over, don't care about partial matches involving the current match
+					this._State = 0;
+					return KMP_MATCHED;
+				}
+				return KMP_ADVANCED ;
+			}
+			else if ( this._State == 0 )
+				return KMP_NOMATCH;
+			else
+				this._State = this._Overlap[ this._State ];
+		}
+
+		return null ;
+	},
+
+	Reset : function()
+	{
+		this._State = 0 ;
+	}
+};
+
+// Place a range at the start of document.
+function OnLoad()
+{
+	// First of all, translate the dialog box texts.
+	oEditor.FCKLanguageManager.TranslatePage( document ) ;
+
+	// Show the appropriate tab at startup.
+	if ( dialogArguments.CustomValue == 'Find' )
+	{
+		dialog.SetSelectedTab( 'Find' ) ;
+		dialog.SetAutoSize( true ) ;
+	}
+	else
+		dialog.SetSelectedTab( 'Replace' ) ;
+
+	SelectField( 'txtFind' + dialogArguments.CustomValue ) ;
+}
+
+function btnStat()
+{
+	GetE('btnReplace').disabled =
+		GetE('btnReplaceAll').disabled =
+			GetE('btnFind').disabled =
+				( GetE(idMap["FindText"]).value.length == 0 ) ;
+}
+
+function btnStatDelayed()
+{
+	setTimeout( btnStat, 1 ) ;
+}
+
+function GetSearchString()
+{
+	return GetE(idMap['FindText']).value ;
+}
+
+function GetReplaceString()
+{
+	return GetE("txtReplace").value ;
+}
+
+function GetCheckCase()
+{
+	return !! ( GetE(idMap['CheckCase']).checked ) ;
+}
+
+function GetMatchWord()
+{
+	return !! ( GetE(idMap['CheckWord']).checked ) ;
+}
+
+/* Is this character a unicode whitespace or a punctuation mark?
+ * References:
+ * http://unicode.org/Public/UNIDATA/PropList.txt (whitespaces)
+ * http://php.chinaunix.net/manual/tw/ref.regex.php (punctuation marks)
+ */
+function CheckIsWordSeparator( c )
+{
+	if ( !c )
+		return true;
+	var code = c.charCodeAt( 0 );
+	if ( code >= 9 && code <= 0xd )
+		return true;
+	if ( code >= 0x2000 && code <= 0x200a )
+		return true;
+	switch ( code )
+	{
+		case 0x20:
+		case 0x85:
+		case 0xa0:
+		case 0x1680:
+		case 0x180e:
+		case 0x2028:
+		case 0x2029:
+		case 0x202f:
+		case 0x205f:
+		case 0x3000:
+			return true;
+		default:
+	}
+	return /[.,"'?!;:]/.test( c ) ;
+}
+
+FindRange = null ;
+function _Find()
+{
+	var searchString = GetSearchString() ;
+	if ( !FindRange )
+		FindRange = new CharacterRange( new CharacterCursor( EditorDocument ), searchString.length ) ;
+	else
+	{
+		FindRange.RemoveHighlight() ;
+		FindRange = FindRange.GetNextRange( searchString.length ) ;
+	}
+	var matcher = new KmpMatch( searchString, ! GetCheckCase() ) ;
+	var matchState = KMP_NOMATCH ;
+	var character = '%' ;
+
+	while ( character != null )
+	{
+		while ( ( character = FindRange.GetEndCharacter() ) )
+		{
+			matchState = matcher.FeedCharacter( character ) ;
+			if ( matchState == KMP_MATCHED )
+				break ;
+			if ( FindRange.MoveNext() )
+				matcher.Reset() ;
+		}
+
+		if ( matchState == KMP_MATCHED )
+		{
+			if ( GetMatchWord() )
+			{
+				var cursors = FindRange.GetCursors() ;
+				var head = cursors[ cursors.length - 1 ].Clone() ;
+				var tail = cursors[0].Clone() ;
+				if ( !head.MoveNext() && !CheckIsWordSeparator( head.GetCharacter() ) )
+					continue ;
+				if ( !tail.MoveBack() && !CheckIsWordSeparator( tail.GetCharacter() ) )
+					continue ;
+			}
+
+			FindRange.Highlight() ;
+			return true ;
+		}
+	}
+
+	FindRange = null ;
+	return false ;
+}
+
+function Find()
+{
+	if ( ! _Find() )
+		alert( FCKLang.DlgFindNotFoundMsg ) ;
+}
+
+function Replace()
+{
+	var saveUndoStep = function( selectRange )
+	{
+		var ieRange ;
+		if ( oEditor.FCKBrowserInfo.IsIE )
+			ieRange = document.selection.createRange() ;
+
+		selectRange.Select() ;
+		oEditor.FCKUndo.SaveUndoStep() ;
+		var cloneRange = selectRange.Clone() ;
+		cloneRange.Collapse( false ) ;
+		cloneRange.Select() ;
+
+		if ( ieRange )
+			setTimeout( function(){ ieRange.select() ; }, 1 ) ;
+	}
+
+	if ( FindRange && FindRange.GetHighlightDomRange() )
+	{
+		var range = FindRange.GetHighlightDomRange() ;
+		var bookmark = range.CreateBookmark() ;
+		FindRange.RemoveHighlight() ;
+		range.MoveToBookmark( bookmark ) ;
+
+		saveUndoStep( range ) ;
+		range.DeleteContents() ;
+		range.InsertNode( EditorDocument.createTextNode( GetReplaceString() ) ) ;
+		range._UpdateElementInfo() ;
+
+		FindRange = CharacterRange.CreateFromDomRange( range ) ;
+	}
+	else
+	{
+		if ( ! _Find() )
+		{
+			FindRange && FindRange.RemoveHighlight() ;
+			alert( FCKLang.DlgFindNotFoundMsg ) ;
+		}
+	}
+}
+
+function ReplaceAll()
+{
+	oEditor.FCKUndo.SaveUndoStep() ;
+	var replaceCount = 0 ;
+
+	while ( _Find() )
+	{
+		var range = FindRange.GetHighlightDomRange() ;
+		var bookmark = range.CreateBookmark() ;
+		FindRange.RemoveHighlight() ;
+		range.MoveToBookmark( bookmark) ;
+
+		range.DeleteContents() ;
+		range.InsertNode( EditorDocument.createTextNode( GetReplaceString() ) ) ;
+		range._UpdateElementInfo() ;
+
+		FindRange = CharacterRange.CreateFromDomRange( range ) ;
+		replaceCount++ ;
+	}
+	if ( replaceCount == 0 )
+	{
+		FindRange && FindRange.RemoveHighlight() ;
+		alert( FCKLang.DlgFindNotFoundMsg ) ;
+	}
+	dialog.Cancel() ;
+}
+
+window.onunload = function()
+{
+	if ( FindRange )
+	{
+		FindRange.RemoveHighlight() ;
+		FindRange.ToDomRange().Select() ;
+	}
+}
+	</script>
+</head>
+<body onload="OnLoad()" style="overflow: hidden">
+	<div id="divFind" style="display: none">
+		<table cellspacing="3" cellpadding="2" width="100%" border="0">
+			<tr>
+				<td nowrap="nowrap">
+					<label for="txtFindFind" fcklang="DlgReplaceFindLbl">
+						Find what:</label>
+				</td>
+				<td width="100%">
+					<input id="txtFindFind" onkeyup="btnStat()" oninput="btnStat()" onpaste="btnStatDelayed()" style="width: 100%" tabindex="1"
+						type="text" />
+				</td>
+				<td>
+					<input id="btnFind" style="width: 80px" disabled="disabled" onclick="Find();"
+						type="button" value="Find" fcklang="DlgFindFindBtn" />
+				</td>
+			</tr>
+			<tr>
+				<td valign="bottom" colspan="3">
+					&nbsp;<input id="chkCaseFind" tabindex="3" type="checkbox" /><label for="chkCaseFind" fcklang="DlgReplaceCaseChk">Match
+						case</label>
+					<br />
+					&nbsp;<input id="chkWordFind" tabindex="4" type="checkbox" /><label for="chkWordFind" fcklang="DlgReplaceWordChk">Match
+						whole word</label>
+				</td>
+			</tr>
+		</table>
+	</div>
+	<div id="divReplace" style="display:none">
+		<table cellspacing="3" cellpadding="2" width="100%" border="0">
+			<tr>
+				<td nowrap="nowrap">
+					<label for="txtFindReplace" fcklang="DlgReplaceFindLbl">
+						Find what:</label>
+				</td>
+				<td width="100%">
+					<input id="txtFindReplace" onkeyup="btnStat()" oninput="btnStat()" onpaste="btnStatDelayed()" style="width: 100%" tabindex="1"
+						type="text" />
+				</td>
+				<td>
+					<input id="btnReplace" style="width: 80px" disabled="disabled" onclick="Replace();"
+						type="button" value="Replace" fcklang="DlgReplaceReplaceBtn" />
+				</td>
+			</tr>
+			<tr>
+				<td valign="top" nowrap="nowrap">
+					<label for="txtReplace" fcklang="DlgReplaceReplaceLbl">
+						Replace with:</label>
+				</td>
+				<td valign="top">
+					<input id="txtReplace" style="width: 100%" tabindex="2" type="text" />
+				</td>
+				<td>
+					<input id="btnReplaceAll" style="width: 80px" disabled="disabled" onclick="ReplaceAll()" type="button"
+						value="Replace All" fcklang="DlgReplaceReplAllBtn" />
+				</td>
+			</tr>
+			<tr>
+				<td valign="bottom" colspan="3">
+					&nbsp;<input id="chkCaseReplace" tabindex="3" type="checkbox" /><label for="chkCaseReplace" fcklang="DlgReplaceCaseChk">Match
+						case</label>
+					<br />
+					&nbsp;<input id="chkWordReplace" tabindex="4" type="checkbox" /><label for="chkWordReplace" fcklang="DlgReplaceWordChk">Match
+						whole word</label>
+				</td>
+			</tr>
+		</table>
+	</div>
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_button.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_button.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_button.html	(revision 1481)
@@ -0,0 +1,104 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Button dialog window.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>Button Properties</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<meta content="noindex, nofollow" name="robots" />
+	<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+	<script type="text/javascript">
+
+var dialog	= window.parent ;
+var oEditor	= dialog.InnerDialogLoaded() ;
+
+// Gets the document DOM
+var oDOM = oEditor.FCK.EditorDocument ;
+
+var oActiveEl = dialog.Selection.GetSelectedElement() ;
+
+window.onload = function()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	if ( oActiveEl && oActiveEl.tagName.toUpperCase() == "INPUT" && ( oActiveEl.type == "button" || oActiveEl.type == "submit" || oActiveEl.type == "reset" ) )
+	{
+		GetE('txtName').value	= oActiveEl.name ;
+		GetE('txtValue').value	= oActiveEl.value ;
+		GetE('txtType').value	= oActiveEl.type ;
+	}
+	else
+		oActiveEl = null ;
+
+	dialog.SetOkButton( true ) ;
+	dialog.SetAutoSize( true ) ;
+	SelectField( 'txtName' ) ;
+}
+
+function Ok()
+{
+	oEditor.FCKUndo.SaveUndoStep() ;
+
+	oActiveEl = CreateNamedElement( oEditor, oActiveEl, 'INPUT', {name: GetE('txtName').value, type: GetE('txtType').value } ) ;
+
+	SetAttribute( oActiveEl, 'value', GetE('txtValue').value ) ;
+
+	return true ;
+}
+
+	</script>
+</head>
+<body style="overflow: hidden">
+	<table width="100%" style="height: 100%">
+		<tr>
+			<td align="center">
+				<table border="0" cellpadding="0" cellspacing="0" width="80%">
+					<tr>
+						<td colspan="">
+							<span fcklang="DlgCheckboxName">Name</span><br />
+							<input type="text" size="20" id="txtName" style="width: 100%" />
+						</td>
+					</tr>
+					<tr>
+						<td>
+							<span fcklang="DlgButtonText">Text (Value)</span><br />
+							<input type="text" id="txtValue" style="width: 100%" />
+						</td>
+					</tr>
+					<tr>
+						<td>
+							<span fcklang="DlgButtonType">Type</span><br />
+							<select id="txtType">
+								<option fcklang="DlgButtonTypeBtn" value="button" selected="selected">Button</option>
+								<option fcklang="DlgButtonTypeSbm" value="submit">Submit</option>
+								<option fcklang="DlgButtonTypeRst" value="reset">Reset</option>
+							</select>
+						</td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+	</table>
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_specialchar.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_specialchar.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_specialchar.html	(revision 1481)
@@ -0,0 +1,121 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Special Chars Selector dialog window.
+-->
+<html>
+	<head>
+		<meta name="robots" content="noindex, nofollow">
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<style type="text/css">
+				.Hand
+				{
+					cursor: pointer ;
+					cursor: hand ;
+				}
+				.Sample { font-size: 24px; }
+		</style>
+		<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+		<script type="text/javascript">
+
+var oEditor = window.parent.InnerDialogLoaded() ;
+
+var oSample ;
+
+function insertChar(charValue)
+{
+	oEditor.FCKUndo.SaveUndoStep() ;
+	oEditor.FCK.InsertHtml( charValue || "" ) ;
+	window.parent.Cancel() ;
+}
+
+function over(td)
+{
+	if ( ! oSample )
+		return ;
+	oSample.innerHTML = td.innerHTML ;
+	td.className = 'LightBackground SpecialCharsOver Hand' ;
+}
+
+function out(td)
+{
+	if ( ! oSample )
+		return ;
+	oSample.innerHTML = "&nbsp;" ;
+	td.className = 'DarkBackground SpecialCharsOut Hand' ;
+}
+
+function setDefaults()
+{
+	// Gets the sample placeholder.
+	oSample = document.getElementById("SampleTD") ;
+
+	// First of all, translates the dialog box texts.
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	window.parent.SetAutoSize( true ) ;
+}
+
+		</script>
+	</head>
+	<body onload="setDefaults()" style="overflow: hidden">
+		<table cellpadding="0" cellspacing="0" width="100%" height="100%">
+			<tr>
+				<td width="100%">
+					<table cellpadding="1" cellspacing="1" align="center" border="0" width="100%" height="100%">
+						<script type="text/javascript">
+var aChars = ["!","&quot;","#","$","%","&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;"] ;
+
+var cols = 20 ;
+
+var i = 0 ;
+while (i < aChars.length)
+{
+	document.write("<TR>") ;
+	for(var j = 0 ; j < cols ; j++)
+	{
+		if (aChars[i])
+		{
+			document.write('<TD width="1%" class="DarkBackground SpecialCharsOut Hand" align="center" onclick="insertChar(\'' + aChars[i].replace(/&/g, "&amp;") + '\')" onmouseover="over(this)" onmouseout="out(this)">') ;
+			document.write(aChars[i]) ;
+		}
+		else
+			document.write("<TD class='DarkBackground SpecialCharsOut'>&nbsp;") ;
+		document.write("<\/TD>") ;
+		i++ ;
+	}
+	document.write("<\/TR>") ;
+}
+						</script>
+					</table>
+				</td>
+				<td nowrap>&nbsp;&nbsp;&nbsp;&nbsp;</td>
+				<td valign="top">
+					<table width="40" cellpadding="0" cellspacing="0" border="0">
+						<tr>
+							<td id="SampleTD" width="40" height="40" align="center" class="DarkBackground SpecialCharsOut Sample">&nbsp;</td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_select.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_select.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_select.html	(revision 1481)
@@ -0,0 +1,180 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Select dialog window.
+-->
+<html>
+	<head>
+		<title>Select Properties</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta content="noindex, nofollow" name="robots">
+		<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+		<script type="text/javascript" src="fck_select/fck_select.js"></script>
+		<script type="text/javascript">
+
+var dialog	= window.parent ;
+var oEditor = dialog.InnerDialogLoaded() ;
+
+// Gets the document DOM
+var oDOM = oEditor.FCK.EditorDocument ;
+
+var oActiveEl = dialog.Selection.GetSelectedElement() ;
+
+var oListText ;
+var oListValue ;
+
+window.onload = function()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	oListText	= document.getElementById( 'cmbText' ) ;
+	oListValue	= document.getElementById( 'cmbValue' ) ;
+
+	// Fix the lists widths. (Bug #970)
+	oListText.style.width = oListText.offsetWidth ;
+	oListValue.style.width = oListValue.offsetWidth ;
+
+	if ( oActiveEl && oActiveEl.tagName == 'SELECT' )
+	{
+		GetE('txtName').value		= oActiveEl.name ;
+		GetE('txtSelValue').value	= oActiveEl.value ;
+		GetE('txtLines').value		= GetAttribute( oActiveEl, 'size' ) ;
+		GetE('chkMultiple').checked	= oActiveEl.multiple ;
+
+		// Load the actual options
+		for ( var i = 0 ; i < oActiveEl.options.length ; i++ )
+		{
+			var sText	= HTMLDecode( oActiveEl.options[i].innerHTML ) ;
+			var sValue	= oActiveEl.options[i].value ;
+
+			AddComboOption( oListText, sText, sText ) ;
+			AddComboOption( oListValue, sValue, sValue ) ;
+		}
+	}
+	else
+		oActiveEl = null ;
+
+	dialog.SetOkButton( true ) ;
+	dialog.SetAutoSize( true ) ;
+	SelectField( 'txtName' ) ;
+}
+
+function Ok()
+{
+	oEditor.FCKUndo.SaveUndoStep() ;
+
+	var sSize = GetE('txtLines').value ;
+	if ( sSize == null || isNaN( sSize ) || sSize <= 1 )
+		sSize = '' ;
+
+	oActiveEl = CreateNamedElement( oEditor, oActiveEl, 'SELECT', {name: GetE('txtName').value} ) ;
+
+	SetAttribute( oActiveEl, 'size'	, sSize ) ;
+	oActiveEl.multiple = ( sSize.length > 0 && GetE('chkMultiple').checked ) ;
+
+	// Remove all options.
+	while ( oActiveEl.options.length > 0 )
+		oActiveEl.remove(0) ;
+
+	// Add all available options.
+	for ( var i = 0 ; i < oListText.options.length ; i++ )
+	{
+		var sText	= oListText.options[i].value ;
+		var sValue	= oListValue.options[i].value ;
+		if ( sValue.length == 0 ) sValue = sText ;
+
+		var oOption = AddComboOption( oActiveEl, sText, sValue, oDOM ) ;
+
+		if ( sValue == GetE('txtSelValue').value )
+		{
+			SetAttribute( oOption, 'selected', 'selected' ) ;
+			oOption.selected = true ;
+		}
+	}
+
+	return true ;
+}
+
+		</script>
+	</head>
+	<body style="overflow: hidden">
+		<table width="100%" height="100%">
+			<tr>
+				<td>
+					<table width="100%">
+						<tr>
+							<td nowrap><span fckLang="DlgSelectName">Name</span>&nbsp;</td>
+							<td width="100%" colSpan="2"><input id="txtName" style="WIDTH: 100%" type="text"></td>
+						</tr>
+						<tr>
+							<td nowrap><span fckLang="DlgSelectValue">Value</span>&nbsp;</td>
+							<td width="100%" colSpan="2"><input id="txtSelValue" style="WIDTH: 100%; BACKGROUND-COLOR: buttonface" type="text" readonly></td>
+						</tr>
+						<tr>
+							<td nowrap><span fckLang="DlgSelectSize">Size</span>&nbsp;</td>
+							<td nowrap><input id="txtLines" type="text" size="2" value="">&nbsp;<span fckLang="DlgSelectLines">lines</span></td>
+							<td nowrap align="right"><input id="chkMultiple" type="checkbox"><label for="chkMultiple" fckLang="DlgSelectChkMulti">Allow
+									multiple selections</label></td>
+						</tr>
+					</table>
+					<br>
+					<hr style="POSITION: absolute">
+					<span style="LEFT: 10px; POSITION: relative; TOP: -7px" class="BackColor">&nbsp;<span fckLang="DlgSelectOpAvail">Available
+							Options</span>&nbsp;</span>
+					<table width="100%">
+						<tr>
+							<td width="50%"><span fckLang="DlgSelectOpText">Text</span><br>
+								<input id="txtText" style="WIDTH: 100%" type="text">
+							</td>
+							<td width="50%"><span fckLang="DlgSelectOpValue">Value</span><br>
+								<input id="txtValue" style="WIDTH: 100%" type="text">
+							</td>
+							<td vAlign="bottom"><input onclick="Add();" type="button" fckLang="DlgSelectBtnAdd" value="Add"></td>
+							<td vAlign="bottom"><input onclick="Modify();" type="button" fckLang="DlgSelectBtnModify" value="Modify"></td>
+						</tr>
+						<tr>
+							<td rowSpan="2"><select id="cmbText" style="WIDTH: 100%" onchange="GetE('cmbValue').selectedIndex = this.selectedIndex;Select(this);"
+									size="5"></select>
+							</td>
+							<td rowSpan="2"><select id="cmbValue" style="WIDTH: 100%" onchange="GetE('cmbText').selectedIndex = this.selectedIndex;Select(this);"
+									size="5"></select>
+							</td>
+							<td vAlign="top" colSpan="2">
+							</td>
+						</tr>
+						<tr>
+							<td vAlign="bottom" colSpan="2"><input style="WIDTH: 100%" onclick="Move(-1);" type="button" fckLang="DlgSelectBtnUp" value="Up">
+								<br>
+								<input style="WIDTH: 100%" onclick="Move(1);" type="button" fckLang="DlgSelectBtnDown"
+									value="Down">
+							</td>
+						</tr>
+						<TR>
+							<TD vAlign="bottom" colSpan="4"><INPUT onclick="SetSelectedValue();" type="button" fckLang="DlgSelectBtnSetValue" value="Set as selected value">&nbsp;&nbsp;
+								<input onclick="Delete();" type="button" fckLang="DlgSelectBtnDelete" value="Delete"></TD>
+						</TR>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_colorselector.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_colorselector.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_colorselector.html	(revision 1481)
@@ -0,0 +1,172 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Color Selection dialog window.
+-->
+<html>
+	<head>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+		<meta name="robots" content="noindex, nofollow" />
+		<style TYPE="text/css">
+			#ColorTable		{ cursor: pointer ; cursor: hand ; }
+			#hicolor		{ height: 74px ; width: 74px ; border-width: 1px ; border-style: solid ; }
+			#hicolortext	{ width: 75px ; text-align: right ; margin-bottom: 7px ; }
+			#selhicolor		{ height: 20px ; width: 74px ; border-width: 1px ; border-style: solid ; }
+			#selcolor		{ width: 75px ; height: 20px ; margin-top: 0px ; margin-bottom: 7px ; }
+			#btnClear		{ width: 75px ; height: 22px ; margin-bottom: 6px ; }
+			.ColorCell		{ height: 15px ; width: 15px ; }
+		</style>
+		<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+		<script type="text/javascript">
+
+var oEditor = window.parent.InnerDialogLoaded() ;
+
+function OnLoad()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	CreateColorTable() ;
+
+	window.parent.SetOkButton( true ) ;
+	window.parent.SetAutoSize( true ) ;
+}
+
+function CreateColorTable()
+{
+	// Get the target table.
+	var oTable = document.getElementById('ColorTable') ;
+
+	// Create the base colors array.
+	var aColors = ['00','33','66','99','cc','ff'] ;
+
+	// This function combines two ranges of three values from the color array into a row.
+	function AppendColorRow( rangeA, rangeB )
+	{
+		for ( var i = rangeA ; i < rangeA + 3 ; i++ )
+		{
+			var oRow = oTable.insertRow(-1) ;
+
+			for ( var j = rangeB ; j < rangeB + 3 ; j++ )
+			{
+				for ( var n = 0 ; n < 6 ; n++ )
+				{
+					AppendColorCell( oRow, '#' + aColors[j] + aColors[n] + aColors[i] ) ;
+				}
+			}
+		}
+	}
+
+	// This function create a single color cell in the color table.
+	function AppendColorCell( targetRow, color )
+	{
+		var oCell = targetRow.insertCell(-1) ;
+		oCell.className = 'ColorCell' ;
+		oCell.bgColor = color ;
+
+		oCell.onmouseover = function()
+		{
+			document.getElementById('hicolor').style.backgroundColor = this.bgColor ;
+			document.getElementById('hicolortext').innerHTML = this.bgColor ;
+		}
+
+		oCell.onclick = function()
+		{
+			document.getElementById('selhicolor').style.backgroundColor = this.bgColor ;
+			document.getElementById('selcolor').value = this.bgColor ;
+		}
+	}
+
+	AppendColorRow( 0, 0 ) ;
+	AppendColorRow( 3, 0 ) ;
+	AppendColorRow( 0, 3 ) ;
+	AppendColorRow( 3, 3 ) ;
+
+	// Create the last row.
+	var oRow = oTable.insertRow(-1) ;
+
+	// Create the gray scale colors cells.
+	for ( var n = 0 ; n < 6 ; n++ )
+	{
+		AppendColorCell( oRow, '#' + aColors[n] + aColors[n] + aColors[n] ) ;
+	}
+
+	// Fill the row with black cells.
+	for ( var i = 0 ; i < 12 ; i++ )
+	{
+		AppendColorCell( oRow, '#000000' ) ;
+	}
+}
+
+function Clear()
+{
+	document.getElementById('selhicolor').style.backgroundColor = '' ;
+	document.getElementById('selcolor').value = '' ;
+}
+
+function ClearActual()
+{
+	document.getElementById('hicolor').style.backgroundColor = '' ;
+	document.getElementById('hicolortext').innerHTML = '&nbsp;' ;
+}
+
+function UpdateColor()
+{
+	try		  { document.getElementById('selhicolor').style.backgroundColor = document.getElementById('selcolor').value ; }
+	catch (e) { Clear() ; }
+}
+
+function Ok()
+{
+	if ( typeof(window.parent.Args().CustomValue) == 'function' )
+		window.parent.Args().CustomValue( document.getElementById('selcolor').value ) ;
+
+	return true ;
+}
+		</script>
+	</head>
+	<body onload="OnLoad()" scroll="no" style="OVERFLOW: hidden">
+		<table cellpadding="0" cellspacing="0" border="0" width="100%" height="100%">
+			<tr>
+				<td align="center" valign="middle">
+					<table border="0" cellspacing="5" cellpadding="0" width="100%">
+						<tr>
+							<td valign="top" align="center" nowrap width="100%">
+								<table id="ColorTable" border="0" cellspacing="0" cellpadding="0" width="270" onmouseout="ClearActual();">
+								</table>
+							</td>
+							<td valign="top" align="left" nowrap>
+								<span fckLang="DlgColorHighlight">Highlight</span>
+								<div id="hicolor"></div>
+								<div id="hicolortext">&nbsp;</div>
+								<span fckLang="DlgColorSelected">Selected</span>
+								<div id="selhicolor"></div>
+								<input id="selcolor" type="text" maxlength="20" onchange="UpdateColor();">
+								<br>
+								<input id="btnClear" type="button" fckLang="DlgColorBtnClear" value="Clear" onclick="Clear();" />
+							</td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_textfield.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_textfield.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_textfield.html	(revision 1481)
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Text field dialog window.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title></title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<meta content="noindex, nofollow" name="robots" />
+	<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+	<script type="text/javascript">
+
+var dialog	= window.parent ;
+var oEditor = dialog.InnerDialogLoaded() ;
+
+// Gets the document DOM
+var oDOM = oEditor.FCK.EditorDocument ;
+
+var oActiveEl = dialog.Selection.GetSelectedElement() ;
+
+window.onload = function()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	if ( oActiveEl && oActiveEl.tagName == 'INPUT' && ( oActiveEl.type == 'text' || oActiveEl.type == 'password' ) )
+	{
+		GetE('txtName').value	= oActiveEl.name ;
+		GetE('txtValue').value	= oActiveEl.value ;
+		GetE('txtSize').value	= GetAttribute( oActiveEl, 'size' ) ;
+		GetE('txtMax').value	= GetAttribute( oActiveEl, 'maxLength' ) ;
+		GetE('txtType').value	= oActiveEl.type ;
+	}
+	else
+		oActiveEl = null ;
+
+	dialog.SetOkButton( true ) ;
+	dialog.SetAutoSize( true ) ;
+	SelectField( 'txtName' ) ;
+}
+
+function Ok()
+{
+	if ( isNaN( GetE('txtMax').value ) || GetE('txtMax').value < 0 )
+	{
+		alert( "Maximum characters must be a positive number." ) ;
+		GetE('txtMax').focus() ;
+		return false ;
+	}
+	else if( isNaN( GetE('txtSize').value ) || GetE('txtSize').value < 0 )
+	{
+		alert( "Width must be a positive number." ) ;
+		GetE('txtSize').focus() ;
+		return false ;
+	}
+
+	oEditor.FCKUndo.SaveUndoStep() ;
+
+	oActiveEl = CreateNamedElement( oEditor, oActiveEl, 'INPUT', {name: GetE('txtName').value, type: GetE('txtType').value } ) ;
+
+	SetAttribute( oActiveEl, 'value'	, GetE('txtValue').value ) ;
+	SetAttribute( oActiveEl, 'size'		, GetE('txtSize').value ) ;
+	SetAttribute( oActiveEl, 'maxlength', GetE('txtMax').value ) ;
+
+	return true ;
+}
+
+	</script>
+</head>
+<body style="overflow: hidden">
+	<table width="100%" style="height: 100%">
+		<tr>
+			<td align="center">
+				<table cellspacing="0" cellpadding="0" border="0">
+					<tr>
+						<td>
+							<span fcklang="DlgTextName">Name</span><br />
+							<input id="txtName" type="text" size="20" />
+						</td>
+						<td>
+						</td>
+						<td>
+							<span fcklang="DlgTextValue">Value</span><br />
+							<input id="txtValue" type="text" size="25" />
+						</td>
+					</tr>
+					<tr>
+						<td>
+							<span fcklang="DlgTextCharWidth">Character Width</span><br />
+							<input id="txtSize" type="text" size="5" />
+						</td>
+						<td>
+						</td>
+						<td>
+							<span fcklang="DlgTextMaxChars">Maximum Characters</span><br />
+							<input id="txtMax" type="text" size="5" />
+						</td>
+					</tr>
+					<tr>
+						<td>
+							<span fcklang="DlgTextType">Type</span><br />
+							<select id="txtType">
+								<option value="text" selected="selected" fcklang="DlgTextTypeText">Text</option>
+								<option value="password" fcklang="DlgTextTypePass">Password</option>
+							</select>
+						</td>
+						<td>
+							&nbsp;</td>
+						<td>
+						</td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+	</table>
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_radiobutton.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_radiobutton.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_radiobutton.html	(revision 1481)
@@ -0,0 +1,104 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Radio Button dialog window.
+-->
+<html>
+	<head>
+		<title>Radio Button Properties</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta content="noindex, nofollow" name="robots">
+		<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+		<script type="text/javascript">
+
+var dialog	= window.parent ;
+var oEditor = dialog.InnerDialogLoaded() ;
+
+// Gets the document DOM
+var oDOM = oEditor.FCK.EditorDocument ;
+
+var oActiveEl = dialog.Selection.GetSelectedElement() ;
+
+window.onload = function()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	if ( oActiveEl && oActiveEl.tagName.toUpperCase() == 'INPUT' && oActiveEl.type == 'radio' )
+	{
+		GetE('txtName').value		= oActiveEl.name ;
+		GetE('txtValue').value		= oEditor.FCKBrowserInfo.IsIE ? oActiveEl.value : GetAttribute( oActiveEl, 'value' ) ;
+		GetE('txtSelected').checked	= oActiveEl.checked ;
+	}
+	else
+		oActiveEl = null ;
+
+	dialog.SetOkButton( true ) ;
+	dialog.SetAutoSize( true ) ;
+	SelectField( 'txtName' ) ;
+}
+
+function Ok()
+{
+	oEditor.FCKUndo.SaveUndoStep() ;
+
+	oActiveEl = CreateNamedElement( oEditor, oActiveEl, 'INPUT', {name: GetE('txtName').value, type: 'radio' } ) ;
+
+	if ( oEditor.FCKBrowserInfo.IsIE )
+		oActiveEl.value = GetE('txtValue').value ;
+	else
+		SetAttribute( oActiveEl, 'value', GetE('txtValue').value ) ;
+
+	var bIsChecked = GetE('txtSelected').checked ;
+	SetAttribute( oActiveEl, 'checked', bIsChecked ? 'checked' : null ) ;	// For Firefox
+	oActiveEl.checked = bIsChecked ;
+
+	return true ;
+}
+
+		</script>
+	</head>
+	<body style="OVERFLOW: hidden" scroll="no">
+		<table height="100%" width="100%">
+			<tr>
+				<td align="center">
+					<table border="0" cellpadding="0" cellspacing="0" width="80%">
+						<tr>
+							<td>
+								<span fckLang="DlgCheckboxName">Name</span><br>
+								<input type="text" size="20" id="txtName" style="WIDTH: 100%">
+							</td>
+						</tr>
+						<tr>
+							<td>
+								<span fckLang="DlgCheckboxValue">Value</span><br>
+								<input type="text" size="20" id="txtValue" style="WIDTH: 100%">
+							</td>
+						</tr>
+						<tr>
+							<td><input type="checkbox" id="txtSelected"><label for="txtSelected" fckLang="DlgCheckboxSelected">Checked</label></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_flash.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_flash.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_flash.html	(revision 1481)
@@ -0,0 +1,152 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Flash Properties dialog window.
+-->
+<html>
+	<head>
+		<title>Flash Properties</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta content="noindex, nofollow" name="robots">
+		<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+		<script src="fck_flash/fck_flash.js" type="text/javascript"></script>
+		<script type="text/javascript">
+
+document.write( FCKTools.GetStyleHtml( GetCommonDialogCss() ) ) ;
+
+		</script>
+	</head>
+	<body scroll="no" style="OVERFLOW: hidden">
+		<div id="divInfo">
+			<table cellSpacing="1" cellPadding="1" width="100%" border="0">
+				<tr>
+					<td>
+						<table cellSpacing="0" cellPadding="0" width="100%" border="0">
+							<tr>
+								<td width="100%"><span fckLang="DlgImgURL">URL</span>
+								</td>
+								<td id="tdBrowse" style="DISPLAY: none" noWrap rowSpan="2">&nbsp; <input id="btnBrowse" onclick="BrowseServer();" type="button" value="Browse Server" fckLang="DlgBtnBrowseServer">
+								</td>
+							</tr>
+							<tr>
+								<td vAlign="top"><input id="txtUrl" onblur="UpdatePreview();" style="WIDTH: 100%" type="text">
+								</td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+				<TR>
+					<TD>
+						<table cellSpacing="0" cellPadding="0" border="0">
+							<TR>
+								<TD nowrap>
+									<span fckLang="DlgImgWidth">Width</span><br>
+									<input id="txtWidth" onkeypress="return IsDigit(event);" type="text" size="3">
+								</TD>
+								<TD>&nbsp;</TD>
+								<TD>
+									<span fckLang="DlgImgHeight">Height</span><br>
+									<input id="txtHeight" onkeypress="return IsDigit(event);" type="text" size="3">
+								</TD>
+							</TR>
+						</table>
+					</TD>
+				</TR>
+				<tr>
+					<td vAlign="top">
+						<table cellSpacing="0" cellPadding="0" width="100%" border="0">
+							<tr>
+								<td valign="top" width="100%">
+									<table cellSpacing="0" cellPadding="0" width="100%">
+										<tr>
+											<td><span fckLang="DlgImgPreview">Preview</span></td>
+										</tr>
+										<tr>
+											<td id="ePreviewCell" valign="top" class="FlashPreviewArea"><iframe src="fck_flash/fck_flash_preview.html" frameborder="0" marginheight="0" marginwidth="0"></iframe></td>
+										</tr>
+									</table>
+								</td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+			</table>
+		</div>
+		<div id="divUpload" style="DISPLAY: none">
+			<form id="frmUpload" method="post" target="UploadWindow" enctype="multipart/form-data" action="" onsubmit="return CheckUpload();">
+				<span fckLang="DlgLnkUpload">Upload</span><br />
+				<input id="txtUploadFile" style="WIDTH: 100%" type="file" size="40" name="NewFile" /><br />
+				<br />
+				<input id="btnUpload" type="submit" value="Send it to the Server" fckLang="DlgLnkBtnUpload" />
+				<script type="text/javascript">
+					document.write( '<iframe name="UploadWindow" style="DISPLAY: none" src="' + FCKTools.GetVoidUrl() + '"><\/iframe>' ) ;
+				</script>
+			</form>
+		</div>
+		<div id="divAdvanced" style="DISPLAY: none">
+			<TABLE cellSpacing="0" cellPadding="0" border="0">
+				<TR>
+					<TD nowrap>
+						<span fckLang="DlgFlashScale">Scale</span><BR>
+						<select id="cmbScale">
+							<option value="" selected></option>
+							<option value="showall" fckLang="DlgFlashScaleAll">Show all</option>
+							<option value="noborder" fckLang="DlgFlashScaleNoBorder">No Border</option>
+							<option value="exactfit" fckLang="DlgFlashScaleFit">Exact Fit</option>
+						</select></TD>
+					<TD>&nbsp;&nbsp;&nbsp; &nbsp;
+					</TD>
+					<td valign="bottom">
+						<table>
+							<tr>
+								<td><input id="chkAutoPlay" type="checkbox" checked></td>
+								<td><label for="chkAutoPlay" nowrap fckLang="DlgFlashChkPlay">Auto Play</label>&nbsp;&nbsp;</td>
+								<td><input id="chkLoop" type="checkbox" checked></td>
+								<td><label for="chkLoop" nowrap fckLang="DlgFlashChkLoop">Loop</label>&nbsp;&nbsp;</td>
+								<td><input id="chkMenu" type="checkbox" checked></td>
+								<td><label for="chkMenu" nowrap fckLang="DlgFlashChkMenu">Enable Flash Menu</label></td>
+							</tr>
+						</table>
+					</td>
+				</TR>
+			</TABLE>
+			<br>
+			&nbsp;
+			<table cellSpacing="0" cellPadding="0" width="100%" align="center" border="0">
+				<tr>
+					<td vAlign="top" width="50%"><span fckLang="DlgGenId">Id</span><br>
+						<input id="txtAttId" style="WIDTH: 100%" type="text">
+					</td>
+					<td>&nbsp;&nbsp;</td>
+					<td vAlign="top" nowrap><span fckLang="DlgGenClass">Stylesheet Classes</span><br>
+						<input id="txtAttClasses" style="WIDTH: 100%" type="text">
+					</td>
+					<td>&nbsp;&nbsp;</td>
+					<td vAlign="top" nowrap width="50%">&nbsp;<span fckLang="DlgGenTitle">Advisory Title</span><br>
+						<input id="txtAttTitle" style="WIDTH: 100%" type="text">
+					</td>
+				</tr>
+			</table>
+			<span fckLang="DlgGenStyle">Style</span><br>
+			<input id="txtAttStyle" style="WIDTH: 100%" type="text">
+		</div>
+	</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_hiddenfield.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_hiddenfield.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_hiddenfield.html	(revision 1481)
@@ -0,0 +1,115 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Hidden Field dialog window.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>Hidden Field Properties</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<meta content="noindex, nofollow" name="robots" />
+	<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+	<script type="text/javascript">
+
+var dialog	= window.parent ;
+var oEditor = dialog.InnerDialogLoaded() ;
+
+var FCK = oEditor.FCK ;
+
+// Gets the document DOM
+var oDOM = FCK.EditorDocument ;
+
+// Get the selected flash embed (if available).
+var oFakeImage = dialog.Selection.GetSelectedElement() ;
+var oActiveEl ;
+
+if ( oFakeImage )
+{
+	if ( oFakeImage.tagName == 'IMG' && oFakeImage.getAttribute('_fckinputhidden') )
+		oActiveEl = FCK.GetRealElement( oFakeImage ) ;
+	else
+		oFakeImage = null ;
+}
+
+window.onload = function()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	if ( oActiveEl )
+	{
+		GetE('txtName').value		= oActiveEl.name ;
+		GetE('txtValue').value		= oActiveEl.value ;
+	}
+
+	dialog.SetOkButton( true ) ;
+	dialog.SetAutoSize( true ) ;
+	SelectField( 'txtName' ) ;
+}
+
+
+function Ok()
+{
+	oEditor.FCKUndo.SaveUndoStep() ;
+
+	oActiveEl = CreateNamedElement( oEditor, oActiveEl, 'INPUT', {name: GetE('txtName').value, type: 'hidden' } ) ;
+
+	SetAttribute( oActiveEl, 'value', GetE('txtValue').value ) ;
+
+	if ( !oFakeImage )
+	{
+		oFakeImage	= oEditor.FCKDocumentProcessor_CreateFakeImage( 'FCK__InputHidden', oActiveEl ) ;
+		oFakeImage.setAttribute( '_fckinputhidden', 'true', 0 ) ;
+
+		oActiveEl.parentNode.insertBefore( oFakeImage, oActiveEl ) ;
+		oActiveEl.parentNode.removeChild( oActiveEl ) ;
+	}
+	else
+		oEditor.FCKUndo.SaveUndoStep() ;
+
+	return true ;
+}
+
+	</script>
+</head>
+<body style="overflow: hidden" scroll="no">
+	<table height="100%" width="100%">
+		<tr>
+			<td align="center">
+				<table border="0" class="inhoud" cellpadding="0" cellspacing="0" width="80%">
+					<tr>
+						<td>
+							<span fcklang="DlgHiddenName">Name</span><br />
+							<input type="text" size="20" id="txtName" style="width: 100%" />
+						</td>
+					</tr>
+					<tr>
+						<td>
+							<span fcklang="DlgHiddenValue">Value</span><br />
+							<input type="text" size="30" id="txtValue" style="width: 100%" />
+						</td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+	</table>
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_source.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_source.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_source.html	(revision 1481)
@@ -0,0 +1,68 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Source editor dialog window.
+-->
+<html>
+	<head>
+		<title>Source</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+		<script language="javascript">
+
+var oEditor		= window.parent.InnerDialogLoaded() ;
+var FCK			= oEditor.FCK ;
+var FCKConfig	= oEditor.FCKConfig ;
+var FCKTools	= oEditor.FCKTools ;
+
+document.write( FCKTools.GetStyleHtml( GetCommonDialogCss() ) ) ;
+
+window.onload = function()
+{
+	// EnableXHTML and EnableSourceXHTML has been deprecated
+//	document.getElementById('txtSource').value = ( FCKConfig.EnableXHTML && FCKConfig.EnableSourceXHTML ? FCK.GetXHTML( FCKConfig.FormatSource ) : FCK.GetHTML( FCKConfig.FormatSource ) ) ;
+	document.getElementById('txtSource').value = FCK.GetXHTML( FCKConfig.FormatSource ) ;
+
+	// Activate the "OK" button.
+	window.parent.SetOkButton( true ) ;
+}
+
+//#### The OK button was hit.
+function Ok()
+{
+	if ( oEditor.FCKBrowserInfo.IsIE )
+		oEditor.FCKUndo.SaveUndoStep() ;
+
+	FCK.SetData( document.getElementById('txtSource').value, false ) ;
+
+	return true ;
+}
+		</script>
+	</head>
+	<body scroll="no" style="OVERFLOW: hidden">
+		<table width="100%" height="100%">
+			<tr>
+				<td height="100%"><textarea id="txtSource" dir="ltr" style="PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-SIZE: 14px; PADDING-BOTTOM: 5px; WIDTH: 100%; PADDING-TOP: 5px; FONT-FAMILY: Monospace; HEIGHT: 100%">Loading. Please wait...</textarea></td>
+			</tr>
+		</table>
+	</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_smiley.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_smiley.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_smiley.html	(revision 1481)
@@ -0,0 +1,111 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Smileys (emoticons) dialog window.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title></title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<meta name="robots" content="noindex, nofollow" />
+	<style type="text/css">
+		.Hand
+		{
+			cursor: pointer;
+			cursor: hand;
+		}
+	</style>
+	<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+	<script type="text/javascript">
+
+var dialog	= window.parent ;
+var oEditor = dialog.InnerDialogLoaded() ;
+
+window.onload = function ()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	dialog.SetAutoSize( true ) ;
+}
+
+function InsertSmiley( url )
+{
+	oEditor.FCKUndo.SaveUndoStep() ;
+
+	var oImg = oEditor.FCK.InsertElement( 'img' ) ;
+	oImg.src = url ;
+	oImg.setAttribute( '_fcksavedurl', url ) ;
+
+	// For long smileys list, it seams that IE continues loading the images in
+	// the background when you quickly select one image. so, let's clear
+	// everything before closing.
+	document.body.innerHTML = '' ;
+
+	dialog.Cancel() ;
+}
+
+function over(td)
+{
+	td.className = 'LightBackground Hand' ;
+}
+
+function out(td)
+{
+	td.className = 'DarkBackground Hand' ;
+}
+	</script>
+</head>
+<body style="overflow: hidden">
+	<table cellpadding="2" cellspacing="2" align="center" border="0" width="100%" height="100%">
+		<script type="text/javascript">
+
+var FCKConfig = oEditor.FCKConfig ;
+
+var sBasePath	= FCKConfig.SmileyPath ;
+var aImages		= FCKConfig.SmileyImages ;
+var iCols		= FCKConfig.SmileyColumns ;
+var iColWidth	= parseInt( 100 / iCols, 10 ) ;
+
+var i = 0 ;
+while (i < aImages.length)
+{
+	document.write( '<tr>' ) ;
+	for(var j = 0 ; j < iCols ; j++)
+	{
+		if (aImages[i])
+		{
+			var sUrl = sBasePath + aImages[i] ;
+			document.write( '<td width="' + iColWidth + '%" align="center" class="DarkBackground Hand" onclick="InsertSmiley(\'' + sUrl.replace(/'/g, "\\'" ) + '\')" onmouseover="over(this)" onmouseout="out(this)">' ) ;
+			document.write( '<img src="' + sUrl + '" border="0" />' ) ;
+		}
+		else
+			document.write( '<td width="' + iColWidth + '%" class="DarkBackground">&nbsp;' ) ;
+		document.write( '<\/td>' ) ;
+		i++ ;
+	}
+	document.write('<\/tr>') ;
+}
+
+		</script>
+	</table>
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_listprop.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_listprop.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_listprop.html	(revision 1481)
@@ -0,0 +1,120 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Bulleted List dialog window.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title></title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<meta content="noindex, nofollow" name="robots" />
+	<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+	<script type="text/javascript">
+
+var dialog	= window.parent ;
+var oEditor = dialog.InnerDialogLoaded() ;
+
+// Gets the document DOM
+var oDOM = oEditor.FCK.EditorDocument ;
+var sListType = ( location.search == '?OL' ? 'OL' : 'UL' ) ;
+
+var oActiveEl = dialog.Selection.GetSelection().MoveToAncestorNode( sListType ) ;
+var oActiveSel ;
+
+window.onload = function()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	if ( sListType == 'UL' )
+		oActiveSel = GetE('selBulleted') ;
+	else
+	{
+		if ( oActiveEl )
+		{
+			oActiveSel = GetE('selNumbered') ;
+			GetE('eStart').style.display = '' ;
+			GetE('txtStartPosition').value	= GetAttribute( oActiveEl, 'start' ) ;
+		}
+	}
+
+	oActiveSel.style.display = '' ;
+
+	if ( oActiveEl )
+	{
+		if ( oActiveEl.getAttribute('type') )
+			oActiveSel.value = oActiveEl.getAttribute('type') ;
+	}
+
+	dialog.SetOkButton( true ) ;
+	dialog.SetAutoSize( true ) ;
+
+	SelectField( sListType == 'OL' ? 'txtStartPosition' : 'selBulleted' ) ;
+}
+
+function Ok()
+{
+	if ( oActiveEl ){
+		SetAttribute( oActiveEl, 'type'	, oActiveSel.value ) ;
+		if(oActiveEl.tagName == 'OL')
+			SetAttribute( oActiveEl, 'start', GetE('txtStartPosition').value ) ;
+	}
+
+	return true ;
+}
+
+	</script>
+</head>
+<body style="overflow: hidden">
+	<table width="100%" style="height: 100%">
+		<tr>
+			<td style="text-align:center">
+				<table cellspacing="0" cellpadding="0" border="0" style="margin-left: auto; margin-right: auto;">
+					<tr>
+						<td id="eStart" style="display: none; padding-right: 5px; padding-left: 5px">
+							<span fcklang="DlgLstStart">Start</span><br />
+							<input type="text" id="txtStartPosition" size="5" />
+						</td>
+						<td style="padding-right: 5px; padding-left: 5px">
+							<span fcklang="DlgLstType">List Type</span><br />
+							<select id="selBulleted" style="display: none">
+								<option value="" selected="selected"></option>
+								<option value="circle" fcklang="DlgLstTypeCircle">Circle</option>
+								<option value="disc" fcklang="DlgLstTypeDisc">Disc</option>
+								<option value="square" fcklang="DlgLstTypeSquare">Square</option>
+							</select>
+							<select id="selNumbered" style="display: none">
+								<option value="" selected="selected"></option>
+								<option value="1" fcklang="DlgLstTypeNumbers">Numbers (1, 2, 3)</option>
+								<option value="a" fcklang="DlgLstTypeLCase">Lowercase Letters (a, b, c)</option>
+								<option value="A" fcklang="DlgLstTypeUCase">Uppercase Letters (A, B, C)</option>
+								<option value="i" fcklang="DlgLstTypeSRoman">Small Roman Numerals (i, ii, iii)</option>
+								<option value="I" fcklang="DlgLstTypeLRoman">Large Roman Numerals (I, II, III)</option>
+							</select>
+							&nbsp;
+						</td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+	</table>
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_textarea.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_textarea.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_textarea.html	(revision 1481)
@@ -0,0 +1,94 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Text Area dialog window.
+-->
+<html>
+	<head>
+		<title>Text Area Properties</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta content="noindex, nofollow" name="robots">
+		<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+		<script type="text/javascript">
+
+var dialog	= window.parent ;
+var oEditor = dialog.InnerDialogLoaded() ;
+
+// Gets the document DOM
+var oDOM = oEditor.FCK.EditorDocument ;
+
+var oActiveEl = dialog.Selection.GetSelectedElement() ;
+
+window.onload = function()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	if ( oActiveEl && oActiveEl.tagName == 'TEXTAREA' )
+	{
+		GetE('txtName').value		= oActiveEl.name ;
+		GetE('txtCols').value		= GetAttribute( oActiveEl, 'cols' ) ;
+		GetE('txtRows').value		= GetAttribute( oActiveEl, 'rows' ) ;
+	}
+	else
+		oActiveEl = null ;
+
+	dialog.SetOkButton( true ) ;
+	dialog.SetAutoSize( true ) ;
+	SelectField( 'txtName' ) ;
+}
+
+function Ok()
+{
+	oEditor.FCKUndo.SaveUndoStep() ;
+
+	oActiveEl = CreateNamedElement( oEditor, oActiveEl, 'TEXTAREA', {name: GetE('txtName').value} ) ;
+
+	SetAttribute( oActiveEl, 'cols', GetE('txtCols').value ) ;
+	SetAttribute( oActiveEl, 'rows', GetE('txtRows').value ) ;
+
+	return true ;
+}
+
+		</script>
+	</head>
+	<body style="overflow: hidden">
+		<table height="100%" width="100%">
+			<tr>
+				<td align="center">
+					<table border="0" cellpadding="0" cellspacing="0" width="80%">
+						<tr>
+							<td>
+								<span fckLang="DlgTextareaName">Name</span><br>
+								<input type="text" id="txtName" style="WIDTH: 100%">
+								<span fckLang="DlgTextareaCols">Collumns</span><br>
+								<input id="txtCols" type="text" size="5">
+								<br>
+								<span fckLang="DlgTextareaRows">Rows</span><br>
+								<input id="txtRows" type="text" size="5">
+							</td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_spellerpages.html	(revision 1481)
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Spell Check dialog window.
+-->
+<html>
+	<head>
+		<title>Spell Check</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta content="noindex, nofollow" name="robots">
+		<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+		<script src="fck_spellerpages/spellerpages/spellChecker.js"></script>
+		<script type="text/javascript">
+
+var oEditor = window.parent.InnerDialogLoaded() ;
+var FCKLang = oEditor.FCKLang ;
+
+window.onload = function()
+{
+	document.getElementById('txtHtml').value = oEditor.FCK.EditorDocument.body.innerHTML ;
+
+	var oSpeller = new spellChecker( document.getElementById('txtHtml') ) ;
+	oSpeller.spellCheckScript = oEditor.FCKConfig.SpellerPagesServerScript || 'server-scripts/spellchecker.php' ;
+	oSpeller.OnFinished = oSpeller_OnFinished ;
+	oSpeller.openChecker() ;
+}
+
+function OnSpellerControlsLoad( controlsWindow )
+{
+	// Translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage( controlsWindow.document ) ;
+}
+
+function oSpeller_OnFinished( numberOCorrections )
+{
+	if ( numberOCorrections > 0 )
+	{
+		oEditor.FCKUndo.SaveUndoStep() ;
+		oEditor.FCK.EditorDocument.body.innerHTML = document.getElementById('txtHtml').value ;
+		if ( oEditor.FCKBrowserInfo.IsIE )
+			oEditor.FCKSelection.Collapse( true ) ;
+	}
+	window.parent.Cancel() ;
+}
+
+		</script>
+	</head>
+	<body style="OVERFLOW: hidden" scroll="no" style="padding:0px;">
+		<input type="hidden" id="txtHtml" value="">
+		<iframe id="frmSpell" src="javascript:void(0)" name="spellchecker" width="100%" height="100%" frameborder="0"></iframe>
+	</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_checkbox.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_checkbox.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dialog/fck_checkbox.html	(revision 1481)
@@ -0,0 +1,104 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Checkbox dialog window.
+-->
+<html>
+	<head>
+		<title>Checkbox Properties</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta content="noindex, nofollow" name="robots">
+		<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+		<script type="text/javascript">
+
+var dialog	= window.parent ;
+var oEditor	= dialog.InnerDialogLoaded() ;
+
+// Gets the document DOM
+var oDOM = oEditor.FCK.EditorDocument ;
+
+var oActiveEl = dialog.Selection.GetSelectedElement() ;
+
+window.onload = function()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	if ( oActiveEl && oActiveEl.tagName == 'INPUT' && oActiveEl.type == 'checkbox' )
+	{
+		GetE('txtName').value		= oActiveEl.name ;
+		GetE('txtValue').value		= oEditor.FCKBrowserInfo.IsIE ? oActiveEl.value : GetAttribute( oActiveEl, 'value' ) ;
+		GetE('txtSelected').checked	= oActiveEl.checked ;
+	}
+	else
+		oActiveEl = null ;
+
+	dialog.SetOkButton( true ) ;
+	dialog.SetAutoSize( true ) ;
+	SelectField( 'txtName' ) ;
+}
+
+function Ok()
+{
+	oEditor.FCKUndo.SaveUndoStep() ;
+
+	oActiveEl = CreateNamedElement( oEditor, oActiveEl, 'INPUT', {name: GetE('txtName').value, type: 'checkbox' } ) ;
+
+	if ( oEditor.FCKBrowserInfo.IsIE )
+		oActiveEl.value = GetE('txtValue').value ;
+	else
+		SetAttribute( oActiveEl, 'value', GetE('txtValue').value ) ;
+
+	var bIsChecked = GetE('txtSelected').checked ;
+	SetAttribute( oActiveEl, 'checked', bIsChecked ? 'checked' : null ) ;	// For Firefox
+	oActiveEl.checked = bIsChecked ;
+
+	return true ;
+}
+
+		</script>
+	</head>
+	<body style="OVERFLOW: hidden" scroll="no">
+		<table height="100%" width="100%">
+			<tr>
+				<td align="center">
+					<table border="0" cellpadding="0" cellspacing="0" width="80%">
+						<tr>
+							<td>
+								<span fckLang="DlgCheckboxName">Name</span><br>
+								<input type="text" size="20" id="txtName" style="WIDTH: 100%">
+							</td>
+						</tr>
+						<tr>
+							<td>
+								<span fckLang="DlgCheckboxValue">Value</span><br>
+								<input type="text" size="20" id="txtValue" style="WIDTH: 100%">
+							</td>
+						</tr>
+						<tr>
+							<td><input type="checkbox" id="txtSelected"><label for="txtSelected" fckLang="DlgCheckboxSelected">Checked</label></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/fckeditor.original.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/fckeditor.original.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/fckeditor.original.html	(revision 1481)
@@ -0,0 +1,425 @@
+ï»¿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Main page that holds the editor.
+-->
+<html>
+<head>
+	<title>FCKeditor</title>
+	<meta name="robots" content="noindex, nofollow">
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+	<!-- @Packager.RemoveLine
+	<meta http-equiv="Cache-Control" content="public">
+	@Packager.RemoveLine -->
+	<script type="text/javascript">
+
+// #1645: Alert the user if opening FCKeditor in FF3 from local filesystem
+// without security.fileuri.strict_origin_policy disabled.
+if ( document.location.protocol == 'file:' )
+{
+	try
+	{
+		window.parent.document.domain ;
+	}
+	catch ( e )
+	{
+		window.addEventListener( 'load', function()
+			{
+				document.body.innerHTML = '\
+					<div style="border: 1px red solid; font-family: arial; font-size: 12px; color: red; padding:10px;">\
+						<p>\
+							<b>Your browser security settings don\'t allow FCKeditor to be opened from\
+							the local filesystem.<\/b>\
+						<\/p>\
+						<p>\
+							Please open the <b>about:config<\/b> page and disable the\
+							&quot;security.fileuri.strict_origin_policy&quot; option; then load this page again.\
+						<\/p>\
+						<p>\
+							Check our <a href="http://docs.fckeditor.net/FCKeditor_2.x/Developers_Guide/FAQ#ff3perms">FAQ<\/a>\
+							for more information.\
+						<\/p>\
+					<\/div>' ;
+			}, false ) ;
+	}
+}
+
+// Save a reference to the default domain.
+var FCK_ORIGINAL_DOMAIN ;
+
+// Automatically detect the correct document.domain (#123).
+(function()
+{
+	var d = FCK_ORIGINAL_DOMAIN = document.domain ;
+
+	while ( true )
+	{
+		// Test if we can access a parent property.
+		try
+		{
+			var test = window.parent.document.domain ;
+			break ;
+		}
+		catch( e ) {}
+
+		// Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
+		d = d.replace( /.*?(?:\.|$)/, '' ) ;
+
+		if ( d.length == 0 )
+			break ;		// It was not able to detect the domain.
+
+		try
+		{
+			document.domain = d ;
+		}
+		catch (e)
+		{
+			break ;
+		}
+	}
+})() ;
+
+// Save a reference to the detected runtime domain.
+var FCK_RUNTIME_DOMAIN = document.domain ;
+
+var FCK_IS_CUSTOM_DOMAIN = ( FCK_ORIGINAL_DOMAIN != FCK_RUNTIME_DOMAIN ) ;
+
+// Instead of loading scripts and CSSs using inline tags, all scripts are
+// loaded by code. In this way we can guarantee the correct processing order,
+// otherwise external scripts and inline scripts could be executed in an
+// unwanted order (IE).
+
+function LoadScript( url )
+{
+	document.write( '<scr' + 'ipt type="text/javascript" src="' + url + '"><\/scr' + 'ipt>' ) ;
+}
+
+// Main editor scripts.
+var sSuffix = ( /*@cc_on!@*/false ) ? 'ie' : 'gecko' ;
+
+/* @Packager.RemoveLine
+LoadScript( 'js/fckeditorcode_' + sSuffix + '.js' ) ;
+@Packager.RemoveLine */
+// @Packager.Remove.Start
+
+LoadScript( '_source/fckconstants.js' ) ;
+LoadScript( '_source/fckjscoreextensions.js' ) ;
+
+if ( sSuffix == 'ie' )
+	LoadScript( '_source/classes/fckiecleanup.js' ) ;
+
+LoadScript( '_source/internals/fckbrowserinfo.js' ) ;
+LoadScript( '_source/internals/fckurlparams.js' ) ;
+LoadScript( '_source/classes/fckevents.js' ) ;
+LoadScript( '_source/classes/fckdataprocessor.js' ) ;
+LoadScript( '_source/internals/fck.js' ) ;
+LoadScript( '_source/internals/fck_' + sSuffix + '.js' ) ;
+LoadScript( '_source/internals/fckconfig.js' ) ;
+
+LoadScript( '_source/internals/fckdebug_empty.js' ) ;
+LoadScript( '_source/internals/fckdomtools.js' ) ;
+LoadScript( '_source/internals/fcktools.js' ) ;
+LoadScript( '_source/internals/fcktools_' + sSuffix + '.js' ) ;
+LoadScript( '_source/fckeditorapi.js' ) ;
+LoadScript( '_source/classes/fckimagepreloader.js' ) ;
+LoadScript( '_source/internals/fckregexlib.js' ) ;
+LoadScript( '_source/internals/fcklistslib.js' ) ;
+LoadScript( '_source/internals/fcklanguagemanager.js' ) ;
+LoadScript( '_source/internals/fckxhtmlentities.js' ) ;
+LoadScript( '_source/internals/fckxhtml.js' ) ;
+LoadScript( '_source/internals/fckxhtml_' + sSuffix + '.js' ) ;
+LoadScript( '_source/internals/fckcodeformatter.js' ) ;
+LoadScript( '_source/internals/fckundo.js' ) ;
+LoadScript( '_source/classes/fckeditingarea.js' ) ;
+LoadScript( '_source/classes/fckkeystrokehandler.js' ) ;
+
+LoadScript( 'dtd/fck_xhtml10transitional.js' ) ;
+LoadScript( '_source/classes/fckstyle.js' ) ;
+LoadScript( '_source/internals/fckstyles.js' ) ;
+
+LoadScript( '_source/internals/fcklisthandler.js' ) ;
+LoadScript( '_source/classes/fckelementpath.js' ) ;
+LoadScript( '_source/classes/fckdomrange.js' ) ;
+LoadScript( '_source/classes/fckdocumentfragment_' + sSuffix + '.js' ) ;
+LoadScript( '_source/classes/fckw3crange.js' ) ;
+LoadScript( '_source/classes/fckdomrange_' + sSuffix + '.js' ) ;
+LoadScript( '_source/classes/fckdomrangeiterator.js' ) ;
+LoadScript( '_source/classes/fckenterkey.js' ) ;
+
+LoadScript( '_source/internals/fckdocumentprocessor.js' ) ;
+LoadScript( '_source/internals/fckselection.js' ) ;
+LoadScript( '_source/internals/fckselection_' + sSuffix + '.js' ) ;
+
+LoadScript( '_source/internals/fcktablehandler.js' ) ;
+LoadScript( '_source/internals/fcktablehandler_' + sSuffix + '.js' ) ;
+LoadScript( '_source/classes/fckxml.js' ) ;
+LoadScript( '_source/classes/fckxml_' + sSuffix + '.js' ) ;
+
+LoadScript( '_source/commandclasses/fcknamedcommand.js' ) ;
+LoadScript( '_source/commandclasses/fckstylecommand.js' ) ;
+LoadScript( '_source/commandclasses/fck_othercommands.js' ) ;
+LoadScript( '_source/commandclasses/fckshowblocks.js' ) ;
+LoadScript( '_source/commandclasses/fckspellcheckcommand_' + sSuffix + '.js' ) ;
+LoadScript( '_source/commandclasses/fcktextcolorcommand.js' ) ;
+LoadScript( '_source/commandclasses/fckpasteplaintextcommand.js' ) ;
+LoadScript( '_source/commandclasses/fckpastewordcommand.js' ) ;
+LoadScript( '_source/commandclasses/fcktablecommand.js' ) ;
+LoadScript( '_source/commandclasses/fckfitwindow.js' ) ;
+LoadScript( '_source/commandclasses/fcklistcommands.js' ) ;
+LoadScript( '_source/commandclasses/fckjustifycommands.js' ) ;
+LoadScript( '_source/commandclasses/fckindentcommands.js' ) ;
+LoadScript( '_source/commandclasses/fckblockquotecommand.js' ) ;
+LoadScript( '_source/commandclasses/fckcorestylecommand.js' ) ;
+LoadScript( '_source/commandclasses/fckremoveformatcommand.js' ) ;
+LoadScript( '_source/internals/fckcommands.js' ) ;
+
+LoadScript( '_source/classes/fckpanel.js' ) ;
+LoadScript( '_source/classes/fckicon.js' ) ;
+LoadScript( '_source/classes/fcktoolbarbuttonui.js' ) ;
+LoadScript( '_source/classes/fcktoolbarbutton.js' ) ;
+LoadScript( '_source/classes/fckspecialcombo.js' ) ;
+LoadScript( '_source/classes/fcktoolbarspecialcombo.js' ) ;
+LoadScript( '_source/classes/fcktoolbarstylecombo.js' ) ;
+LoadScript( '_source/classes/fcktoolbarfontformatcombo.js' ) ;
+LoadScript( '_source/classes/fcktoolbarfontscombo.js' ) ;
+LoadScript( '_source/classes/fcktoolbarfontsizecombo.js' ) ;
+LoadScript( '_source/classes/fcktoolbarpanelbutton.js' ) ;
+LoadScript( '_source/internals/fckscayt.js' ) ;
+LoadScript( '_source/internals/fcktoolbaritems.js' ) ;
+LoadScript( '_source/classes/fcktoolbar.js' ) ;
+LoadScript( '_source/classes/fcktoolbarbreak_' + sSuffix + '.js' ) ;
+LoadScript( '_source/internals/fcktoolbarset.js' ) ;
+LoadScript( '_source/internals/fckdialog.js' ) ;
+LoadScript( '_source/classes/fckmenuitem.js' ) ;
+LoadScript( '_source/classes/fckmenublock.js' ) ;
+LoadScript( '_source/classes/fckmenublockpanel.js' ) ;
+LoadScript( '_source/classes/fckcontextmenu.js' ) ;
+LoadScript( '_source/internals/fck_contextmenu.js' ) ;
+LoadScript( '_source/classes/fckhtmliterator.js' ) ;
+LoadScript( '_source/classes/fckplugin.js' ) ;
+LoadScript( '_source/internals/fckplugins.js' ) ;
+
+// @Packager.Remove.End
+
+// Base configuration file.
+LoadScript( '../fckconfig.js' ) ;
+
+	</script>
+	<script type="text/javascript">
+
+// Adobe AIR compatibility file.
+if ( FCKBrowserInfo.IsAIR )
+	LoadScript( 'js/fckadobeair.js' ) ;
+
+if ( FCKBrowserInfo.IsIE )
+{
+	// Remove IE mouse flickering.
+	try
+	{
+		document.execCommand( 'BackgroundImageCache', false, true ) ;
+	}
+	catch (e)
+	{
+		// We have been reported about loading problems caused by the above
+		// line. For safety, let's just ignore errors.
+	}
+
+	// Create the default cleanup object used by the editor.
+	FCK.IECleanup = new FCKIECleanup( window ) ;
+	FCK.IECleanup.AddItem( FCKTempBin, FCKTempBin.Reset ) ;
+	FCK.IECleanup.AddItem( FCK, FCK_Cleanup ) ;
+}
+
+// The first function to be called on selection change must the the styles
+// change checker, because the result of its processing may be used by another
+// functions listening to the same event.
+FCK.Events.AttachEvent( 'OnSelectionChange', function() { FCKStyles.CheckSelectionChanges() ; } ) ;
+
+// The config hidden field is processed immediately, because
+// CustomConfigurationsPath may be set in the page.
+FCKConfig.ProcessHiddenField() ;
+
+// Load the custom configurations file (if defined).
+if ( FCKConfig.CustomConfigurationsPath.length > 0 )
+	LoadScript( FCKConfig.CustomConfigurationsPath ) ;
+
+	</script>
+	<script type="text/javascript">
+
+// Load configurations defined at page level.
+FCKConfig_LoadPageConfig() ;
+
+FCKConfig_PreProcess() ;
+
+// Load the full debug script.
+if ( FCKConfig.Debug )
+	LoadScript( '_source/internals/fckdebug.js' ) ;
+
+	</script>
+	<script type="text/javascript">
+
+var FCK_InternalCSS			= FCKConfig.BasePath + 'css/fck_internal.css' ;					// @Packager.RemoveLine
+var FCK_ShowTableBordersCSS	= FCKConfig.BasePath + 'css/fck_showtableborders_gecko.css' ;	// @Packager.RemoveLine
+/* @Packager.RemoveLine
+// CSS minified by http://iceyboard.no-ip.org/projects/css_compressor (see _dev/css_compression.txt).
+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)}' ) ;
+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}' ) ;
+@Packager.RemoveLine */
+
+// Popup the debug window if debug mode is set to true. It guarantees that the
+// first debug message will not be lost.
+if ( FCKConfig.Debug )
+	FCKDebug._GetWindow() ;
+
+// Load the active skin CSS.
+document.write( FCKTools.GetStyleHtml( FCKConfig.SkinEditorCSS ) ) ;
+
+// Load the language file.
+FCKLanguageManager.Initialize() ;
+LoadScript( 'lang/' + FCKLanguageManager.ActiveLanguage.Code + '.js' ) ;
+
+	</script>
+	<script type="text/javascript">
+
+// Initialize the editing area context menu.
+FCK_ContextMenu_Init() ;
+
+FCKPlugins.Load() ;
+
+	</script>
+	<script type="text/javascript">
+
+// Set the editor interface direction.
+window.document.dir = FCKLang.Dir ;
+
+	</script>
+	<script type="text/javascript">
+
+window.onload = function()
+{
+	InitializeAPI() ;
+
+	if ( FCKBrowserInfo.IsIE )
+		FCK_PreloadImages() ;
+	else
+		LoadToolbarSetup() ;
+}
+
+function LoadToolbarSetup()
+{
+	FCKeditorAPI._FunctionQueue.Add( LoadToolbar ) ;
+}
+
+function LoadToolbar()
+{
+	var oToolbarSet = FCK.ToolbarSet = FCKToolbarSet_Create() ;
+
+	if ( oToolbarSet.IsLoaded )
+		StartEditor() ;
+	else
+	{
+		oToolbarSet.OnLoad = StartEditor ;
+		oToolbarSet.Load( FCKURLParams['Toolbar'] || 'Default' ) ;
+	}
+}
+
+function StartEditor()
+{
+	// Remove the onload listener.
+	FCK.ToolbarSet.OnLoad = null ;
+
+	FCKeditorAPI._FunctionQueue.Remove( LoadToolbar ) ;
+
+	FCK.Events.AttachEvent( 'OnStatusChange', WaitForActive ) ;
+
+	// Start the editor.
+	FCK.StartEditor() ;
+}
+
+function WaitForActive( editorInstance, newStatus )
+{
+	if ( newStatus == FCK_STATUS_ACTIVE )
+	{
+		if ( FCKBrowserInfo.IsGecko )
+			FCKTools.RunFunction( window.onresize ) ;
+
+		if ( !FCKConfig.PreventSubmitHandler )
+			_AttachFormSubmitToAPI() ;
+
+		FCK.SetStatus( FCK_STATUS_COMPLETE ) ;
+
+		// Call the special "FCKeditor_OnComplete" function that should be present in
+		// the HTML page where the editor is located.
+		if ( typeof( window.parent.FCKeditor_OnComplete ) == 'function' )
+			window.parent.FCKeditor_OnComplete( FCK ) ;
+	}
+}
+
+// Gecko and Webkit browsers don't calculate well the IFRAME size so we must
+// recalculate it every time the window size changes.
+if ( FCKBrowserInfo.IsGecko || FCKBrowserInfo.IsSafari )
+{
+	window.onresize = function( e )
+	{
+		// Running in Firefox's chrome makes the window receive the event including subframes.
+		// we care only about this window. Ticket #1642.
+		// #2002: The originalTarget from the event can be the current document, the window, or the editing area.
+		if ( e && e.originalTarget && e.originalTarget !== document && e.originalTarget !== window && (!e.originalTarget.ownerDocument || e.originalTarget.ownerDocument != document ))
+			return ;
+
+		var oCell = document.getElementById( 'xEditingArea' ) ;
+
+		var eInnerElement = oCell.firstChild ;
+		if ( eInnerElement )
+		{
+			eInnerElement.style.height = '0px' ;
+			eInnerElement.style.height = ( oCell.scrollHeight - 2 ) + 'px' ;
+		}
+	}
+}
+
+	</script>
+</head>
+<body>
+	<table width="100%" cellpadding="0" cellspacing="0" style="height: 100%; table-layout: fixed">
+		<tr id="xToolbarRow" style="display: none">
+			<td id="xToolbarSpace" style="overflow: hidden">
+				<table width="100%" cellpadding="0" cellspacing="0">
+					<tr id="xCollapsed" style="display: none">
+						<td id="xExpandHandle" class="TB_Expand" colspan="3">
+							<img class="TB_ExpandImg" alt="" src="images/spacer.gif" width="8" height="4" /></td>
+					</tr>
+					<tr id="xExpanded" style="display: none">
+						<td id="xTBLeftBorder" class="TB_SideBorder" style="width: 1px; display: none;"></td>
+						<td id="xCollapseHandle" style="display: none" class="TB_Collapse" valign="bottom">
+							<img class="TB_CollapseImg" alt="" src="images/spacer.gif" width="8" height="4" /></td>
+						<td id="xToolbar" class="TB_ToolbarSet"></td>
+						<td class="TB_SideBorder" style="width: 1px"></td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+		<tr>
+			<td id="xEditingArea" valign="top" style="height: 100%"></td>
+		</tr>
+	</table>
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/fo.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/fo.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/fo.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Faroese language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Fjal amboÃ°sbjÃ¡lkan",
+ToolbarExpand		: "VÃ­s amboÃ°sbjÃ¡lkan",
+
+// Toolbar Items and Context Menu
+Save				: "Goym",
+NewPage				: "NÃ½ggj sÃ­Ã°a",
+Preview				: "FrumsÃ½ning",
+Cut					: "Kvett",
+Copy				: "Avrita",
+Paste				: "Innrita",
+PasteText			: "Innrita reinan tekst",
+PasteWord			: "Innrita frÃ¡ Word",
+Print				: "Prenta",
+SelectAll			: "Markera alt",
+RemoveFormat		: "Strika sniÃ°geving",
+InsertLinkLbl		: "TilknÃ½ti",
+InsertLink			: "Ger/broyt tilknÃ½ti",
+RemoveLink			: "Strika tilknÃ½ti",
+VisitLink			: "Opna tilknÃ½ti",
+Anchor				: "Ger/broyt marknastein",
+AnchorDelete		: "Strika marknastein",
+InsertImageLbl		: "Myndir",
+InsertImage			: "Set inn/broyt mynd",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Set inn/broyt Flash",
+InsertTableLbl		: "Tabell",
+InsertTable			: "Set inn/broyt tabell",
+InsertLineLbl		: "Linja",
+InsertLine			: "Ger vatnrÃ¦tta linju",
+InsertSpecialCharLbl: "Sertekn",
+InsertSpecialChar	: "Set inn sertekn",
+InsertSmileyLbl		: "Smiley",
+InsertSmiley		: "Set inn Smiley",
+About				: "Um FCKeditor",
+Bold				: "Feit skrift",
+Italic				: "SkrÃ¡skrift",
+Underline			: "UndirstrikaÃ°",
+StrikeThrough		: "YvirstrikaÃ°",
+Subscript			: "LÃ¦kkaÃ° skrift",
+Superscript			: "HÃ¦kkaÃ° skrift",
+LeftJustify			: "Vinstrasett",
+CenterJustify		: "MiÃ°sett",
+RightJustify		: "HÃ¸grasett",
+BlockJustify		: "Javnir tekstkantar",
+DecreaseIndent		: "Minka reglubrotarinntriv",
+IncreaseIndent		: "Ã˜kja reglubrotarinntriv",
+Blockquote			: "Blockquote",
+CreateDiv			: "Ger DIV Ã¸ki",
+EditDiv				: "Broyt DIV Ã¸ki",
+DeleteDiv			: "Strika DIV Ã¸ki",
+Undo				: "Angra",
+Redo				: "Vend aftur",
+NumberedListLbl		: "Talmerktur listi",
+NumberedList		: "Ger/strika talmerktan lista",
+BulletedListLbl		: "Punktmerktur listi",
+BulletedList		: "Ger/strika punktmerktan lista",
+ShowTableBorders	: "VÃ­s tabellbordar",
+ShowDetails			: "VÃ­s Ã­ smÃ¡lutum",
+Style				: "Typografi",
+FontFormat			: "SkriftsniÃ°",
+Font				: "Skrift",
+FontSize			: "SkriftstÃ¸dd",
+TextColor			: "Tekstlitur",
+BGColor				: "Bakgrundslitur",
+Source				: "Kelda",
+Find				: "Leita",
+Replace				: "Yvirskriva",
+SpellCheck			: "Kanna stavseting",
+UniversalKeyboard	: "KnappaborÃ°",
+PageBreakLbl		: "SÃ­Ã°uskift",
+PageBreak			: "Ger sÃ­Ã°uskift",
+
+Form			: "Formur",
+Checkbox		: "Flugubein",
+RadioButton		: "RadioknÃ¸ttur",
+TextField		: "Tekstteigur",
+Textarea		: "TekstumrÃ¡Ã°i",
+HiddenField		: "Fjaldur teigur",
+Button			: "KnÃ¸ttur",
+SelectionField	: "ValskrÃ¡",
+ImageButton		: "MyndaknÃ¸ttur",
+
+FitWindow		: "Set tekstviÃ°gera til fulla stÃ¸dd",
+ShowBlocks		: "VÃ­s blokkar",
+
+// Context Menu
+EditLink			: "Broyt tilknÃ½ti",
+CellCM				: "Meski",
+RowCM				: "RaÃ°",
+ColumnCM			: "Kolonna",
+InsertRowAfter		: "Set raÃ° inn aftanÃ¡",
+InsertRowBefore		: "Set raÃ° inn Ã¡Ã°renn",
+DeleteRows			: "Strika rÃ¸Ã°ir",
+InsertColumnAfter	: "Set kolonnu inn aftanÃ¡",
+InsertColumnBefore	: "Set kolonnu inn Ã¡Ã°renn",
+DeleteColumns		: "Strika kolonnur",
+InsertCellAfter		: "Set meska inn aftanÃ¡",
+InsertCellBefore	: "Set meska inn Ã¡Ã°renn",
+DeleteCells			: "Strika meskar",
+MergeCells			: "FlÃ¦tta meskar",
+MergeRight			: "FlÃ¦tta meskar til hÃ¸gru",
+MergeDown			: "FlÃ¦tta saman",
+HorizontalSplitCell	: "Kloyv meska vatnrÃ¦tt",
+VerticalSplitCell	: "Kloyv meska loddrÃ¦tt",
+TableDelete			: "Strika tabell",
+CellProperties		: "Meskueginleikar",
+TableProperties		: "Tabelleginleikar",
+ImageProperties		: "Myndaeginleikar",
+FlashProperties		: "Flash eginleikar",
+
+AnchorProp			: "Eginleikar fyri marknastein",
+ButtonProp			: "Eginleikar fyri knÃ¸tt",
+CheckboxProp		: "Eginleikar fyri flugubein",
+HiddenFieldProp		: "Eginleikar fyri fjaldan teig",
+RadioButtonProp		: "Eginleikar fyri radioknÃ¸tt",
+ImageButtonProp		: "Eginleikar fyri myndaknÃ¸tt",
+TextFieldProp		: "Eginleikar fyri tekstteig",
+SelectionFieldProp	: "Eginleikar fyri valskrÃ¡",
+TextareaProp		: "Eginleikar fyri tekstumrÃ¡Ã°i",
+FormProp			: "Eginleikar fyri Form",
+
+FontFormats			: "Vanligt;SniÃ°giviÃ°;Adressa;Yvirskrift 1;Yvirskrift 2;Yvirskrift 3;Yvirskrift 4;Yvirskrift 5;Yvirskrift 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "XHTML verÃ°ur viÃ°gjÃ¸rt. BÃ­Ã°a viÃ°...",
+Done				: "LiÃ°ugt",
+PasteWordConfirm	: "Teksturin, royndur verÃ°ur at seta inn, tykist at stava frÃ¡ Word. Vilt tÃº reinsa tekstin, Ã¡Ã°renn hann verÃ°ur settur inn?",
+NotCompatiblePaste	: "Hetta er bert tÃ¸kt Ã­ Internet Explorer 5.5 og nÃ½ggjari. Vilt tÃº seta tekstin inn kortini - Ã³reinsaÃ°an?",
+UnknownToolbarItem	: "Ã“kendur lutur Ã­ amboÃ°sbjÃ¡lkanum \"%1\"",
+UnknownCommand		: "Ã“kend kommando \"%1\"",
+NotImplemented		: "Hetta er ikki tÃ¸kt Ã­ hesi ÃºtgÃ¡vuni",
+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.",
+BrowseServerBlocked : "AmbÃ¦tarakagin kundi ikki opnast. Tryggja tÃ¦r, at allar pop-up forÃ°ingar eru Ã³virknar.",
+DialogBlocked		: "TaÃ° eyÃ°naÃ°ist ikki at opna samskiftisrÃºtin. Tryggja tÃ¦r, at allar pop-up forÃ°ingar eru Ã³virknar.",
+VisitLinkBlocked	: "TaÃ° eyÃ°naÃ°ist ikki at opna nÃ½ggjan rÃºt. Tryggja tÃ¦r, at allar pop-up forÃ°ingar eru Ã³virknar.",
+
+// Dialogs
+DlgBtnOK			: "GÃ³Ã°kent",
+DlgBtnCancel		: "AvlÃ½st",
+DlgBtnClose			: "Lat aftur",
+DlgBtnBrowseServer	: "AmbÃ¦tarakagi",
+DlgAdvancedTag		: "FjÃ¸lbroytt",
+DlgOpOther			: "<AnnaÃ°>",
+DlgInfoTab			: "UpplÃ½singar",
+DlgAlertUrl			: "Vinarliga veit ein URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<ikki sett>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "TekstkÃ³s",
+DlgGenLangDirLtr	: "FrÃ¡ vinstru til hÃ¸gru (LTR)",
+DlgGenLangDirRtl	: "FrÃ¡ hÃ¸gru til vinstru (RTL)",
+DlgGenLangCode		: "MÃ¡lkoda",
+DlgGenAccessKey		: "Snarvegisknappur",
+DlgGenName			: "Navn",
+DlgGenTabIndex		: "Inntriv indeks",
+DlgGenLongDescr		: "VÃ­Ã°kaÃ° URL frÃ¡greiÃ°ing",
+DlgGenClass			: "Typografi klassar",
+DlgGenTitle			: "VegleiÃ°andi heiti",
+DlgGenContType		: "VegleiÃ°andi innihaldsslag",
+DlgGenLinkCharset	: "AtknÃ½tt teknsett",
+DlgGenStyle			: "Typografi",
+
+// Image Dialog
+DlgImgTitle			: "Myndaeginleikar",
+DlgImgInfoTab		: "MyndaupplÃ½singar",
+DlgImgBtnUpload		: "Send til ambÃ¦taran",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Send",
+DlgImgAlt			: "Alternativur tekstur",
+DlgImgWidth			: "Breidd",
+DlgImgHeight		: "HÃ¦dd",
+DlgImgLockRatio		: "LÃ¦s lutfalliÃ°",
+DlgBtnResetSize		: "UpprunastÃ¸dd",
+DlgImgBorder		: "Bordi",
+DlgImgHSpace		: "HÃ¸gri breddi",
+DlgImgVSpace		: "Vinstri breddi",
+DlgImgAlign			: "Justering",
+DlgImgAlignLeft		: "Vinstra",
+DlgImgAlignAbsBottom: "Abs botnur",
+DlgImgAlignAbsMiddle: "Abs miÃ°ja",
+DlgImgAlignBaseline	: "Basislinja",
+DlgImgAlignBottom	: "Botnur",
+DlgImgAlignMiddle	: "MiÃ°ja",
+DlgImgAlignRight	: "HÃ¸gra",
+DlgImgAlignTextTop	: "Tekst toppur",
+DlgImgAlignTop		: "Ovast",
+DlgImgPreview		: "FrumsÃ½ning",
+DlgImgAlertUrl		: "Rita slÃ³Ã°ina til myndina",
+DlgImgLinkTab		: "TilknÃ½ti",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash eginleikar",
+DlgFlashChkPlay		: "AvspÃ¦lingin byrjar sjÃ¡lv",
+DlgFlashChkLoop		: "EndurspÃ¦l",
+DlgFlashChkMenu		: "Ger Flash skrÃ¡ virkna",
+DlgFlashScale		: "Skalering",
+DlgFlashScaleAll	: "VÃ­s alt",
+DlgFlashScaleNoBorder	: "Eingin bordi",
+DlgFlashScaleFit	: "Neyv skalering",
+
+// Link Dialog
+DlgLnkWindowTitle	: "TilknÃ½ti",
+DlgLnkInfoTab		: "TilknÃ½tis upplÃ½singar",
+DlgLnkTargetTab		: "MÃ¡l",
+
+DlgLnkType			: "TilknÃ½tisslag",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "TilknÃ½ti til marknastein Ã­ tekstinum",
+DlgLnkTypeEMail		: "Teldupostur",
+DlgLnkProto			: "Protokoll",
+DlgLnkProtoOther	: "<AnnaÃ°>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Vel ein marknastein",
+DlgLnkAnchorByName	: "Eftir navni Ã¡ marknasteini",
+DlgLnkAnchorById	: "Eftir element Id",
+DlgLnkNoAnchors		: "(Eingir marknasteinar eru Ã­ hesum dokumentiÃ°)",
+DlgLnkEMail			: "Teldupost-adressa",
+DlgLnkEMailSubject	: "Evni",
+DlgLnkEMailBody		: "BreyÃ°tekstur",
+DlgLnkUpload		: "Send til ambÃ¦taran",
+DlgLnkBtnUpload		: "Send til ambÃ¦taran",
+
+DlgLnkTarget		: "MÃ¡l",
+DlgLnkTargetFrame	: "<ramma>",
+DlgLnkTargetPopup	: "<popup vindeyga>",
+DlgLnkTargetBlank	: "NÃ½tt vindeyga (_blank)",
+DlgLnkTargetParent	: "Upphavliga vindeygaÃ° (_parent)",
+DlgLnkTargetSelf	: "Sama vindeygaÃ° (_self)",
+DlgLnkTargetTop		: "Alt vindeygaÃ° (_top)",
+DlgLnkTargetFrameName	: "VÃ­s navn vindeygans",
+DlgLnkPopWinName	: "Popup vindeygans navn",
+DlgLnkPopWinFeat	: "Popup vindeygans vÃ­Ã°kaÃ°u eginleikar",
+DlgLnkPopResize		: "Kann broyta stÃ¸dd",
+DlgLnkPopLocation	: "Adressulinja",
+DlgLnkPopMenu		: "SkrÃ¡bjÃ¡lki",
+DlgLnkPopScroll		: "RullibjÃ¡lki",
+DlgLnkPopStatus		: "StÃ¸Ã°ufrÃ¡greiÃ°ingarbjÃ¡lki",
+DlgLnkPopToolbar	: "AmboÃ°sbjÃ¡lki",
+DlgLnkPopFullScrn	: "Fullur skermur (IE)",
+DlgLnkPopDependent	: "BundiÃ° (Netscape)",
+DlgLnkPopWidth		: "Breidd",
+DlgLnkPopHeight		: "HÃ¦dd",
+DlgLnkPopLeft		: "FrÃ¡stÃ¸Ã°a frÃ¡ vinstru",
+DlgLnkPopTop		: "FrÃ¡stÃ¸Ã°a frÃ¡ Ã­erva",
+
+DlnLnkMsgNoUrl		: "Vinarliga skriva tilknÃ½ti (URL)",
+DlnLnkMsgNoEMail	: "Vinarliga skriva teldupost-adressu",
+DlnLnkMsgNoAnchor	: "Vinarliga vel marknastein",
+DlnLnkMsgInvPopName	: "Popup navniÃ° mÃ¡ byrja viÃ° bÃ³kstavi og mÃ¡ ikki hava millumrÃºm",
+
+// Color Dialog
+DlgColorTitle		: "Vel lit",
+DlgColorBtnClear	: "Strika alt",
+DlgColorHighlight	: "Framhevja",
+DlgColorSelected	: "Valt",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Vel Smiley",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Vel sertekn",
+
+// Table Dialog
+DlgTableTitle		: "Eginleikar fyri tabell",
+DlgTableRows		: "RÃ¸Ã°ir",
+DlgTableColumns		: "Kolonnur",
+DlgTableBorder		: "Bordabreidd",
+DlgTableAlign		: "Justering",
+DlgTableAlignNotSet	: "<Einki valt>",
+DlgTableAlignLeft	: "Vinstrasett",
+DlgTableAlignCenter	: "MiÃ°sett",
+DlgTableAlignRight	: "HÃ¸grasett",
+DlgTableWidth		: "Breidd",
+DlgTableWidthPx		: "pixels",
+DlgTableWidthPc		: "prosent",
+DlgTableHeight		: "HÃ¦dd",
+DlgTableCellSpace	: "FjarstÃ¸Ã°a millum meskar",
+DlgTableCellPad		: "Meskubreddi",
+DlgTableCaption		: "TabellfrÃ¡greiÃ°ing",
+DlgTableSummary		: "SamandrÃ¡ttur",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "Mesku eginleikar",
+DlgCellWidth		: "Breidd",
+DlgCellWidthPx		: "pixels",
+DlgCellWidthPc		: "prosent",
+DlgCellHeight		: "HÃ¦dd",
+DlgCellWordWrap		: "OrÃ°kloyving",
+DlgCellWordWrapNotSet	: "<Einki valt>",
+DlgCellWordWrapYes	: "Ja",
+DlgCellWordWrapNo	: "Nei",
+DlgCellHorAlign		: "VatnrÃ¸tt justering",
+DlgCellHorAlignNotSet	: "<Einki valt>",
+DlgCellHorAlignLeft	: "Vinstrasett",
+DlgCellHorAlignCenter	: "MiÃ°sett",
+DlgCellHorAlignRight: "HÃ¸grasett",
+DlgCellVerAlign		: "LodrÃ¸tt justering",
+DlgCellVerAlignNotSet	: "<Ikki sett>",
+DlgCellVerAlignTop	: "Ovast",
+DlgCellVerAlignMiddle	: "MiÃ°jan",
+DlgCellVerAlignBottom	: "NiÃ°ast",
+DlgCellVerAlignBaseline	: "Basislinja",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "RÃ¸Ã°ir, meskin fevnir um",
+DlgCellCollSpan		: "Kolonnur, meskin fevnir um",
+DlgCellBackColor	: "Bakgrundslitur",
+DlgCellBorderColor	: "Litur Ã¡ borda",
+DlgCellBtnSelect	: "Vel...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Finn og broyt",
+
+// Find Dialog
+DlgFindTitle		: "Finn",
+DlgFindFindBtn		: "Finn",
+DlgFindNotFoundMsg	: "Leititeksturin varÃ° ikki funnin",
+
+// Replace Dialog
+DlgReplaceTitle			: "Yvirskriva",
+DlgReplaceFindLbl		: "Finn:",
+DlgReplaceReplaceLbl	: "Yvirskriva viÃ°:",
+DlgReplaceCaseChk		: "Munur Ã¡ stÃ³rum og smÃ¡Ã°um bÃ³kstavum",
+DlgReplaceReplaceBtn	: "Yvirskriva",
+DlgReplaceReplAllBtn	: "Yvirskriva alt",
+DlgReplaceWordChk		: "Bert heil orÃ°",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "Trygdaruppseting alnÃ³tskagans forÃ°ar tekstviÃ°geranum Ã­ at kvetta tekstin. Vinarliga nÃ½t knappaborÃ°iÃ° til at kvetta tekstin (CTRL+X).",
+PasteErrorCopy	: "Trygdaruppseting alnÃ³tskagans forÃ°ar tekstviÃ°geranum Ã­ at avrita tekstin. Vinarliga nÃ½t knappaborÃ°iÃ° til at avrita tekstin (CTRL+C).",
+
+PasteAsText		: "Innrita som reinan tekst",
+PasteFromWord	: "Innrita fra Word",
+
+DlgPasteMsg2	: "Vinarliga koyr tekstin Ã­ hendan rÃºtin viÃ° knappaborÃ°inum (<strong>CTRL+V</strong>) og klikk Ã¡ <strong>GÃ³Ã°tak</strong>.",
+DlgPasteSec		: "Trygdaruppseting alnÃ³tskagans forÃ°ar tekstviÃ°geranum Ã­ beinleiÃ°is atgongd til avritingarminniÃ°. Tygum mugu royna aftur Ã­ hesum rÃºtinum.",
+DlgPasteIgnoreFont		: "ForfjÃ³na Font definitiÃ³nirnar",
+DlgPasteRemoveStyles	: "Strika typografi definitiÃ³nir",
+
+// Color Picker
+ColorAutomatic	: "Automatiskt",
+ColorMoreColors	: "Fleiri litir...",
+
+// Document Properties
+DocProps		: "Eginleikar fyri dokument",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Eginleikar fyri marknastein",
+DlgAnchorName		: "Heiti marknasteinsins",
+DlgAnchorErrorName	: "Vinarliga rita marknasteinsins heiti",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Finst ikki Ã­ orÃ°abÃ³kini",
+DlgSpellChangeTo		: "Broyt til",
+DlgSpellBtnIgnore		: "ForfjÃ³na",
+DlgSpellBtnIgnoreAll	: "ForfjÃ³na alt",
+DlgSpellBtnReplace		: "Yvirskriva",
+DlgSpellBtnReplaceAll	: "Yvirskriva alt",
+DlgSpellBtnUndo			: "Angra",
+DlgSpellNoSuggestions	: "- Einki uppskot -",
+DlgSpellProgress		: "RÃ¦ttstavarin arbeiÃ°ir...",
+DlgSpellNoMispell		: "RÃ¦ttstavarain liÃ°ugur: Eingin feilur funnin",
+DlgSpellNoChanges		: "RÃ¦ttstavarain liÃ°ugur: Einki orÃ° varÃ° broytt",
+DlgSpellOneChange		: "RÃ¦ttstavarain liÃ°ugur: Eitt orÃ° er broytt",
+DlgSpellManyChanges		: "RÃ¦ttstavarain liÃ°ugur: %1 orÃ° broytt",
+
+IeSpellDownload			: "RÃ¦ttstavarin er ikki tÃ¸kur Ã­ tekstviÃ°geranum. Vilt tÃº heinta hann nÃº?",
+
+// Button Dialog
+DlgButtonText		: "Tekstur",
+DlgButtonType		: "Slag",
+DlgButtonTypeBtn	: "KnÃ¸ttur",
+DlgButtonTypeSbm	: "Send",
+DlgButtonTypeRst	: "Nullstilla",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Navn",
+DlgCheckboxValue	: "VirÃ°i",
+DlgCheckboxSelected	: "Valt",
+
+// Form Dialog
+DlgFormName		: "Navn",
+DlgFormAction	: "Hending",
+DlgFormMethod	: "HÃ¡ttur",
+
+// Select Field Dialog
+DlgSelectName		: "Navn",
+DlgSelectValue		: "VirÃ°i",
+DlgSelectSize		: "StÃ¸dd",
+DlgSelectLines		: "Linjur",
+DlgSelectChkMulti	: "Loyv fleiri valmÃ¸guleikum samstundis",
+DlgSelectOpAvail	: "TÃ¸kir mÃ¸guleikar",
+DlgSelectOpText		: "Tekstur",
+DlgSelectOpValue	: "VirÃ°i",
+DlgSelectBtnAdd		: "Legg afturat",
+DlgSelectBtnModify	: "Broyt",
+DlgSelectBtnUp		: "Upp",
+DlgSelectBtnDown	: "NiÃ°ur",
+DlgSelectBtnSetValue : "Set sum valt virÃ°i",
+DlgSelectBtnDelete	: "Strika",
+
+// Textarea Dialog
+DlgTextareaName	: "Navn",
+DlgTextareaCols	: "kolonnur",
+DlgTextareaRows	: "rÃ¸Ã°ir",
+
+// Text Field Dialog
+DlgTextName			: "Navn",
+DlgTextValue		: "VirÃ°i",
+DlgTextCharWidth	: "Breidd (sjÃ³nlig tekn)",
+DlgTextMaxChars		: "Mest loyvdu tekn",
+DlgTextType			: "Slag",
+DlgTextTypeText		: "Tekstur",
+DlgTextTypePass		: "LoyniorÃ°",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Navn",
+DlgHiddenValue	: "VirÃ°i",
+
+// Bulleted List Dialog
+BulletedListProp	: "Eginleikar fyri punktmerktan lista",
+NumberedListProp	: "Eginleikar fyri talmerktan lista",
+DlgLstStart			: "Byrjan",
+DlgLstType			: "Slag",
+DlgLstTypeCircle	: "Sirkul",
+DlgLstTypeDisc		: "Fyltur sirkul",
+DlgLstTypeSquare	: "FjÃ³rhyrningur",
+DlgLstTypeNumbers	: "Talmerkt (1, 2, 3)",
+DlgLstTypeLCase		: "SmÃ¡ir bÃ³kstavir (a, b, c)",
+DlgLstTypeUCase		: "StÃ³rir bÃ³kstavir (A, B, C)",
+DlgLstTypeSRoman	: "SmÃ¡ rÃ³maratÃ¸l (i, ii, iii)",
+DlgLstTypeLRoman	: "StÃ³r rÃ³maratÃ¸l (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Generelt",
+DlgDocBackTab		: "Bakgrund",
+DlgDocColorsTab		: "Litir og breddar",
+DlgDocMetaTab		: "META-upplÃ½singar",
+
+DlgDocPageTitle		: "SÃ­Ã°uheiti",
+DlgDocLangDir		: "TekstkÃ³s",
+DlgDocLangDirLTR	: "FrÃ¡ vinstru mÃ³ti hÃ¸gru (LTR)",
+DlgDocLangDirRTL	: "FrÃ¡ hÃ¸gru mÃ³ti vinstru (RTL)",
+DlgDocLangCode		: "MÃ¡lkoda",
+DlgDocCharSet		: "Teknsett koda",
+DlgDocCharSetCE		: "MiÃ°europa",
+DlgDocCharSetCT		: "Kinesiskt traditionelt (Big5)",
+DlgDocCharSetCR		: "Cyrilliskt",
+DlgDocCharSetGR		: "Grikst",
+DlgDocCharSetJP		: "Japanskt",
+DlgDocCharSetKR		: "Koreanskt",
+DlgDocCharSetTR		: "Turkiskt",
+DlgDocCharSetUN		: "UNICODE (UTF-8)",
+DlgDocCharSetWE		: "Vestureuropa",
+DlgDocCharSetOther	: "Onnur teknsett koda",
+
+DlgDocDocType		: "Dokumentslag yvirskrift",
+DlgDocDocTypeOther	: "AnnaÃ° dokumentslag yvirskrift",
+DlgDocIncXHTML		: "ViÃ°fest XHTML deklaratiÃ³nir",
+DlgDocBgColor		: "Bakgrundslitur",
+DlgDocBgImage		: "LeiÃ° til bakgrundsmynd (URL)",
+DlgDocBgNoScroll	: "LÃ¦st bakgrund (rullar ikki)",
+DlgDocCText			: "Tekstur",
+DlgDocCLink			: "TilknÃ½ti",
+DlgDocCVisited		: "VitjaÃ°i tilknÃ½ti",
+DlgDocCActive		: "Virkin tilknÃ½ti",
+DlgDocMargins		: "SÃ­Ã°ubreddar",
+DlgDocMaTop			: "Ovast",
+DlgDocMaLeft		: "Vinstra",
+DlgDocMaRight		: "HÃ¸gra",
+DlgDocMaBottom		: "NiÃ°ast",
+DlgDocMeIndex		: "Dokument index lyklaorÃ° (sundurbÃ½tt viÃ° komma)",
+DlgDocMeDescr		: "DokumentlÃ½sing",
+DlgDocMeAuthor		: "HÃ¸vundur",
+DlgDocMeCopy		: "UpphavsrÃ¦ttindi",
+DlgDocPreview		: "FrumsÃ½ning",
+
+// Templates Dialog
+Templates			: "SkabelÃ³nir",
+DlgTemplatesTitle	: "InnihaldsskabelÃ³nir",
+DlgTemplatesSelMsg	: "Vinarliga vel ta skabelÃ³n, iÃ° skal opnast Ã­ tekstviÃ°geranum<br>(Hetta yvirskrivar nÃºverandi innihald):",
+DlgTemplatesLoading	: "Heinti yvirlit yvir skabelÃ³nir. Vinarliga bÃ­Ã°a viÃ°...",
+DlgTemplatesNoTpl	: "(Ongar skabelÃ³nir tÃ¸kar)",
+DlgTemplatesReplace	: "Yvirskriva nÃºverandi innihald",
+
+// About Dialog
+DlgAboutAboutTab	: "Um",
+DlgAboutBrowserInfoTab	: "UpplÃ½singar um alnÃ³tskagan",
+DlgAboutLicenseTab	: "License",
+DlgAboutVersion		: "version",
+DlgAboutInfo		: "Fyri fleiri upplÃ½singar, far til",
+
+// Div Dialog
+DlgDivGeneralTab	: "Generelt",
+DlgDivAdvancedTab	: "FjÃ¸lbroytt",
+DlgDivStyle		: "Typografi",
+DlgDivInlineStyle	: "Inline typografi",
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/bs.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/bs.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/bs.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Bosnian language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Skupi trake sa alatima",
+ToolbarExpand		: "Otvori trake sa alatima",
+
+// Toolbar Items and Context Menu
+Save				: "Snimi",
+NewPage				: "Novi dokument",
+Preview				: "PrikaÅ¾i",
+Cut					: "IzreÅ¾i",
+Copy				: "Kopiraj",
+Paste				: "Zalijepi",
+PasteText			: "Zalijepi kao obiÃ¨an tekst",
+PasteWord			: "Zalijepi iz Word-a",
+Print				: "Å tampaj",
+SelectAll			: "Selektuj sve",
+RemoveFormat		: "PoniÅ¡ti format",
+InsertLinkLbl		: "Link",
+InsertLink			: "Ubaci/Izmjeni link",
+RemoveLink			: "IzbriÅ¡i link",
+VisitLink			: "Open Link",	//MISSING
+Anchor				: "Insert/Edit Anchor",	//MISSING
+AnchorDelete		: "Remove Anchor",	//MISSING
+InsertImageLbl		: "Slika",
+InsertImage			: "Ubaci/Izmjeni sliku",
+InsertFlashLbl		: "Flash",	//MISSING
+InsertFlash			: "Insert/Edit Flash",	//MISSING
+InsertTableLbl		: "Tabela",
+InsertTable			: "Ubaci/Izmjeni tabelu",
+InsertLineLbl		: "Linija",
+InsertLine			: "Ubaci horizontalnu liniju",
+InsertSpecialCharLbl: "Specijalni karakter",
+InsertSpecialChar	: "Ubaci specijalni karater",
+InsertSmileyLbl		: "SmjeÅ¡ko",
+InsertSmiley		: "Ubaci smjeÅ¡ka",
+About				: "O FCKeditor-u",
+Bold				: "Boldiraj",
+Italic				: "Ukosi",
+Underline			: "Podvuci",
+StrikeThrough		: "Precrtaj",
+Subscript			: "Subscript",
+Superscript			: "Superscript",
+LeftJustify			: "Lijevo poravnanje",
+CenterJustify		: "Centralno poravnanje",
+RightJustify		: "Desno poravnanje",
+BlockJustify		: "Puno poravnanje",
+DecreaseIndent		: "Smanji uvod",
+IncreaseIndent		: "PoveÃ¦aj uvod",
+Blockquote			: "Blockquote",	//MISSING
+CreateDiv			: "Create Div Container",	//MISSING
+EditDiv				: "Edit Div Container",	//MISSING
+DeleteDiv			: "Remove Div Container",	//MISSING
+Undo				: "Vrati",
+Redo				: "Ponovi",
+NumberedListLbl		: "Numerisana lista",
+NumberedList		: "Ubaci/Izmjeni numerisanu listu",
+BulletedListLbl		: "Lista",
+BulletedList		: "Ubaci/Izmjeni listu",
+ShowTableBorders	: "PokaÅ¾i okvire tabela",
+ShowDetails			: "PokaÅ¾i detalje",
+Style				: "Stil",
+FontFormat			: "Format",
+Font				: "Font",
+FontSize			: "VeliÃ¨ina",
+TextColor			: "Boja teksta",
+BGColor				: "Boja pozadine",
+Source				: "HTML kÃ´d",
+Find				: "NaÃ°i",
+Replace				: "Zamjeni",
+SpellCheck			: "Check Spelling",	//MISSING
+UniversalKeyboard	: "Universal Keyboard",	//MISSING
+PageBreakLbl		: "Page Break",	//MISSING
+PageBreak			: "Insert Page Break",	//MISSING
+
+Form			: "Form",	//MISSING
+Checkbox		: "Checkbox",	//MISSING
+RadioButton		: "Radio Button",	//MISSING
+TextField		: "Text Field",	//MISSING
+Textarea		: "Textarea",	//MISSING
+HiddenField		: "Hidden Field",	//MISSING
+Button			: "Button",	//MISSING
+SelectionField	: "Selection Field",	//MISSING
+ImageButton		: "Image Button",	//MISSING
+
+FitWindow		: "Maximize the editor size",	//MISSING
+ShowBlocks		: "Show Blocks",	//MISSING
+
+// Context Menu
+EditLink			: "Izmjeni link",
+CellCM				: "Cell",	//MISSING
+RowCM				: "Row",	//MISSING
+ColumnCM			: "Column",	//MISSING
+InsertRowAfter		: "Insert Row After",	//MISSING
+InsertRowBefore		: "Insert Row Before",	//MISSING
+DeleteRows			: "BriÅ¡i redove",
+InsertColumnAfter	: "Insert Column After",	//MISSING
+InsertColumnBefore	: "Insert Column Before",	//MISSING
+DeleteColumns		: "BriÅ¡i kolone",
+InsertCellAfter		: "Insert Cell After",	//MISSING
+InsertCellBefore	: "Insert Cell Before",	//MISSING
+DeleteCells			: "BriÅ¡i Ã¦elije",
+MergeCells			: "Spoji Ã¦elije",
+MergeRight			: "Merge Right",	//MISSING
+MergeDown			: "Merge Down",	//MISSING
+HorizontalSplitCell	: "Split Cell Horizontally",	//MISSING
+VerticalSplitCell	: "Split Cell Vertically",	//MISSING
+TableDelete			: "Delete Table",	//MISSING
+CellProperties		: "Svojstva Ã¦elije",
+TableProperties		: "Svojstva tabele",
+ImageProperties		: "Svojstva slike",
+FlashProperties		: "Flash Properties",	//MISSING
+
+AnchorProp			: "Anchor Properties",	//MISSING
+ButtonProp			: "Button Properties",	//MISSING
+CheckboxProp		: "Checkbox Properties",	//MISSING
+HiddenFieldProp		: "Hidden Field Properties",	//MISSING
+RadioButtonProp		: "Radio Button Properties",	//MISSING
+ImageButtonProp		: "Image Button Properties",	//MISSING
+TextFieldProp		: "Text Field Properties",	//MISSING
+SelectionFieldProp	: "Selection Field Properties",	//MISSING
+TextareaProp		: "Textarea Properties",	//MISSING
+FormProp			: "Form Properties",	//MISSING
+
+FontFormats			: "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "Procesiram XHTML. Molim saÃ¨ekajte...",
+Done				: "Gotovo",
+PasteWordConfirm	: "Tekst koji Å¾elite zalijepiti Ã¨ini se da je kopiran iz Worda. Da li Å¾elite da se prvo oÃ¨isti?",
+NotCompatiblePaste	: "Ova komanda je podrÅ¾ana u Internet Explorer-u verzijama 5.5 ili novijim. Da li Å¾elite da izvrÅ¡ite lijepljenje teksta bez Ã¨iÅ¡Ã¦enja?",
+UnknownToolbarItem	: "Nepoznata stavka sa trake sa alatima \"%1\"",
+UnknownCommand		: "Nepoznata komanda \"%1\"",
+NotImplemented		: "Komanda nije implementirana",
+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
+BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",	//MISSING
+DialogBlocked		: "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",	//MISSING
+VisitLinkBlocked	: "It was not possible to open a new window. Make sure all popup blockers are disabled.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Odustani",
+DlgBtnClose			: "Zatvori",
+DlgBtnBrowseServer	: "Browse Server",	//MISSING
+DlgAdvancedTag		: "Naprednije",
+DlgOpOther			: "<Other>",	//MISSING
+DlgInfoTab			: "Info",	//MISSING
+DlgAlertUrl			: "Please insert the URL",	//MISSING
+
+// General Dialogs Labels
+DlgGenNotSet		: "<nije podeÅ¡eno>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Smjer pisanja",
+DlgGenLangDirLtr	: "S lijeva na desno (LTR)",
+DlgGenLangDirRtl	: "S desna na lijevo (RTL)",
+DlgGenLangCode		: "JeziÃ¨ni kÃ´d",
+DlgGenAccessKey		: "Pristupna tipka",
+DlgGenName			: "Naziv",
+DlgGenTabIndex		: "Tab indeks",
+DlgGenLongDescr		: "DugaÃ¨ki opis URL-a",
+DlgGenClass			: "Klase CSS stilova",
+DlgGenTitle			: "Advisory title",
+DlgGenContType		: "Advisory vrsta sadrÅ¾aja",
+DlgGenLinkCharset	: "Linked Resource Charset",
+DlgGenStyle			: "Stil",
+
+// Image Dialog
+DlgImgTitle			: "Svojstva slike",
+DlgImgInfoTab		: "Info slike",
+DlgImgBtnUpload		: "Å alji na server",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Å alji",
+DlgImgAlt			: "Tekst na slici",
+DlgImgWidth			: "Å irina",
+DlgImgHeight		: "Visina",
+DlgImgLockRatio		: "ZakljuÃ¨aj odnos",
+DlgBtnResetSize		: "Resetuj dimenzije",
+DlgImgBorder		: "Okvir",
+DlgImgHSpace		: "HSpace",
+DlgImgVSpace		: "VSpace",
+DlgImgAlign			: "Poravnanje",
+DlgImgAlignLeft		: "Lijevo",
+DlgImgAlignAbsBottom: "Abs dole",
+DlgImgAlignAbsMiddle: "Abs sredina",
+DlgImgAlignBaseline	: "Bazno",
+DlgImgAlignBottom	: "Dno",
+DlgImgAlignMiddle	: "Sredina",
+DlgImgAlignRight	: "Desno",
+DlgImgAlignTextTop	: "Vrh teksta",
+DlgImgAlignTop		: "Vrh",
+DlgImgPreview		: "Prikaz",
+DlgImgAlertUrl		: "Molimo ukucajte URL od slike.",
+DlgImgLinkTab		: "Link",	//MISSING
+
+// Flash Dialog
+DlgFlashTitle		: "Flash Properties",	//MISSING
+DlgFlashChkPlay		: "Auto Play",	//MISSING
+DlgFlashChkLoop		: "Loop",	//MISSING
+DlgFlashChkMenu		: "Enable Flash Menu",	//MISSING
+DlgFlashScale		: "Scale",	//MISSING
+DlgFlashScaleAll	: "Show all",	//MISSING
+DlgFlashScaleNoBorder	: "No Border",	//MISSING
+DlgFlashScaleFit	: "Exact Fit",	//MISSING
+
+// Link Dialog
+DlgLnkWindowTitle	: "Link",
+DlgLnkInfoTab		: "Link info",
+DlgLnkTargetTab		: "Prozor",
+
+DlgLnkType			: "Tip linka",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Sidro na ovoj stranici",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protokol",
+DlgLnkProtoOther	: "<drugi>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Izaberi sidro",
+DlgLnkAnchorByName	: "Po nazivu sidra",
+DlgLnkAnchorById	: "Po Id-u elementa",
+DlgLnkNoAnchors		: "(Nema dostupnih sidra na stranici)",
+DlgLnkEMail			: "E-Mail Adresa",
+DlgLnkEMailSubject	: "Subjekt poruke",
+DlgLnkEMailBody		: "Poruka",
+DlgLnkUpload		: "Å alji",
+DlgLnkBtnUpload		: "Å alji na server",
+
+DlgLnkTarget		: "Prozor",
+DlgLnkTargetFrame	: "<frejm>",
+DlgLnkTargetPopup	: "<popup prozor>",
+DlgLnkTargetBlank	: "Novi prozor (_blank)",
+DlgLnkTargetParent	: "Glavni prozor (_parent)",
+DlgLnkTargetSelf	: "Isti prozor (_self)",
+DlgLnkTargetTop		: "Najgornji prozor (_top)",
+DlgLnkTargetFrameName	: "Target Frame Name",	//MISSING
+DlgLnkPopWinName	: "Naziv popup prozora",
+DlgLnkPopWinFeat	: "MoguÃ¦nosti popup prozora",
+DlgLnkPopResize		: "Promjenljive veliÃ¨ine",
+DlgLnkPopLocation	: "Traka za lokaciju",
+DlgLnkPopMenu		: "Izborna traka",
+DlgLnkPopScroll		: "Scroll traka",
+DlgLnkPopStatus		: "Statusna traka",
+DlgLnkPopToolbar	: "Traka sa alatima",
+DlgLnkPopFullScrn	: "Cijeli ekran (IE)",
+DlgLnkPopDependent	: "Ovisno (Netscape)",
+DlgLnkPopWidth		: "Å irina",
+DlgLnkPopHeight		: "Visina",
+DlgLnkPopLeft		: "Lijeva pozicija",
+DlgLnkPopTop		: "Gornja pozicija",
+
+DlnLnkMsgNoUrl		: "Molimo ukucajte URL link",
+DlnLnkMsgNoEMail	: "Molimo ukucajte e-mail adresu",
+DlnLnkMsgNoAnchor	: "Molimo izaberite sidro",
+DlnLnkMsgInvPopName	: "The popup name must begin with an alphabetic character and must not contain spaces",	//MISSING
+
+// Color Dialog
+DlgColorTitle		: "Izaberi boju",
+DlgColorBtnClear	: "OÃ¨isti",
+DlgColorHighlight	: "Igled",
+DlgColorSelected	: "Selektovana",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Ubaci smjeÅ¡ka",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Izaberi specijalni karakter",
+
+// Table Dialog
+DlgTableTitle		: "Svojstva tabele",
+DlgTableRows		: "Redova",
+DlgTableColumns		: "Kolona",
+DlgTableBorder		: "Okvir",
+DlgTableAlign		: "Poravnanje",
+DlgTableAlignNotSet	: "<Nije podeÅ¡eno>",
+DlgTableAlignLeft	: "Lijevo",
+DlgTableAlignCenter	: "Centar",
+DlgTableAlignRight	: "Desno",
+DlgTableWidth		: "Å irina",
+DlgTableWidthPx		: "piksela",
+DlgTableWidthPc		: "posto",
+DlgTableHeight		: "Visina",
+DlgTableCellSpace	: "Razmak Ã¦elija",
+DlgTableCellPad		: "Uvod Ã¦elija",
+DlgTableCaption		: "Naslov",
+DlgTableSummary		: "Summary",	//MISSING
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "Svojstva Ã¦elije",
+DlgCellWidth		: "Å irina",
+DlgCellWidthPx		: "piksela",
+DlgCellWidthPc		: "posto",
+DlgCellHeight		: "Visina",
+DlgCellWordWrap		: "Vrapuj tekst",
+DlgCellWordWrapNotSet	: "<Nije podeÅ¡eno>",
+DlgCellWordWrapYes	: "Da",
+DlgCellWordWrapNo	: "Ne",
+DlgCellHorAlign		: "Horizontalno poravnanje",
+DlgCellHorAlignNotSet	: "<Nije podeÅ¡eno>",
+DlgCellHorAlignLeft	: "Lijevo",
+DlgCellHorAlignCenter	: "Centar",
+DlgCellHorAlignRight: "Desno",
+DlgCellVerAlign		: "Vertikalno poravnanje",
+DlgCellVerAlignNotSet	: "<Nije podeÅ¡eno>",
+DlgCellVerAlignTop	: "Gore",
+DlgCellVerAlignMiddle	: "Sredina",
+DlgCellVerAlignBottom	: "Dno",
+DlgCellVerAlignBaseline	: "Bazno",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "Spajanje Ã¦elija",
+DlgCellCollSpan		: "Spajanje kolona",
+DlgCellBackColor	: "Boja pozadine",
+DlgCellBorderColor	: "Boja okvira",
+DlgCellBtnSelect	: "Selektuj...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Find and Replace",	//MISSING
+
+// Find Dialog
+DlgFindTitle		: "NaÃ°i",
+DlgFindFindBtn		: "NaÃ°i",
+DlgFindNotFoundMsg	: "TraÅ¾eni tekst nije pronaÃ°en.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Zamjeni",
+DlgReplaceFindLbl		: "NaÃ°i Å¡ta:",
+DlgReplaceReplaceLbl	: "Zamjeni sa:",
+DlgReplaceCaseChk		: "UporeÃ°uj velika/mala slova",
+DlgReplaceReplaceBtn	: "Zamjeni",
+DlgReplaceReplAllBtn	: "Zamjeni sve",
+DlgReplaceWordChk		: "UporeÃ°uj samo cijelu rijeÃ¨",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "Sigurnosne postavke vaÅ¡eg pretraÅ¾ivaÃ¨a ne dozvoljavaju operacije automatskog rezanja. Molimo koristite kraticu na tastaturi (Ctrl+X).",
+PasteErrorCopy	: "Sigurnosne postavke VaÅ¡eg pretraÅ¾ivaÃ¨a ne dozvoljavaju operacije automatskog kopiranja. Molimo koristite kraticu na tastaturi (Ctrl+C).",
+
+PasteAsText		: "Zalijepi kao obiÃ¨an tekst",
+PasteFromWord	: "Zalijepi iz Word-a",
+
+DlgPasteMsg2	: "Please paste inside the following box using the keyboard (<strong>Ctrl+V</strong>) and hit <strong>OK</strong>.",	//MISSING
+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
+DlgPasteIgnoreFont		: "Ignore Font Face definitions",	//MISSING
+DlgPasteRemoveStyles	: "Remove Styles definitions",	//MISSING
+
+// Color Picker
+ColorAutomatic	: "Automatska",
+ColorMoreColors	: "ViÅ¡e boja...",
+
+// Document Properties
+DocProps		: "Document Properties",	//MISSING
+
+// Anchor Dialog
+DlgAnchorTitle		: "Anchor Properties",	//MISSING
+DlgAnchorName		: "Anchor Name",	//MISSING
+DlgAnchorErrorName	: "Please type the anchor name",	//MISSING
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Not in dictionary",	//MISSING
+DlgSpellChangeTo		: "Change to",	//MISSING
+DlgSpellBtnIgnore		: "Ignore",	//MISSING
+DlgSpellBtnIgnoreAll	: "Ignore All",	//MISSING
+DlgSpellBtnReplace		: "Replace",	//MISSING
+DlgSpellBtnReplaceAll	: "Replace All",	//MISSING
+DlgSpellBtnUndo			: "Undo",	//MISSING
+DlgSpellNoSuggestions	: "- No suggestions -",	//MISSING
+DlgSpellProgress		: "Spell check in progress...",	//MISSING
+DlgSpellNoMispell		: "Spell check complete: No misspellings found",	//MISSING
+DlgSpellNoChanges		: "Spell check complete: No words changed",	//MISSING
+DlgSpellOneChange		: "Spell check complete: One word changed",	//MISSING
+DlgSpellManyChanges		: "Spell check complete: %1 words changed",	//MISSING
+
+IeSpellDownload			: "Spell checker not installed. Do you want to download it now?",	//MISSING
+
+// Button Dialog
+DlgButtonText		: "Text (Value)",	//MISSING
+DlgButtonType		: "Type",	//MISSING
+DlgButtonTypeBtn	: "Button",	//MISSING
+DlgButtonTypeSbm	: "Submit",	//MISSING
+DlgButtonTypeRst	: "Reset",	//MISSING
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Name",	//MISSING
+DlgCheckboxValue	: "Value",	//MISSING
+DlgCheckboxSelected	: "Selected",	//MISSING
+
+// Form Dialog
+DlgFormName		: "Name",	//MISSING
+DlgFormAction	: "Action",	//MISSING
+DlgFormMethod	: "Method",	//MISSING
+
+// Select Field Dialog
+DlgSelectName		: "Name",	//MISSING
+DlgSelectValue		: "Value",	//MISSING
+DlgSelectSize		: "Size",	//MISSING
+DlgSelectLines		: "lines",	//MISSING
+DlgSelectChkMulti	: "Allow multiple selections",	//MISSING
+DlgSelectOpAvail	: "Available Options",	//MISSING
+DlgSelectOpText		: "Text",	//MISSING
+DlgSelectOpValue	: "Value",	//MISSING
+DlgSelectBtnAdd		: "Add",	//MISSING
+DlgSelectBtnModify	: "Modify",	//MISSING
+DlgSelectBtnUp		: "Up",	//MISSING
+DlgSelectBtnDown	: "Down",	//MISSING
+DlgSelectBtnSetValue : "Set as selected value",	//MISSING
+DlgSelectBtnDelete	: "Delete",	//MISSING
+
+// Textarea Dialog
+DlgTextareaName	: "Name",	//MISSING
+DlgTextareaCols	: "Columns",	//MISSING
+DlgTextareaRows	: "Rows",	//MISSING
+
+// Text Field Dialog
+DlgTextName			: "Name",	//MISSING
+DlgTextValue		: "Value",	//MISSING
+DlgTextCharWidth	: "Character Width",	//MISSING
+DlgTextMaxChars		: "Maximum Characters",	//MISSING
+DlgTextType			: "Type",	//MISSING
+DlgTextTypeText		: "Text",	//MISSING
+DlgTextTypePass		: "Password",	//MISSING
+
+// Hidden Field Dialog
+DlgHiddenName	: "Name",	//MISSING
+DlgHiddenValue	: "Value",	//MISSING
+
+// Bulleted List Dialog
+BulletedListProp	: "Bulleted List Properties",	//MISSING
+NumberedListProp	: "Numbered List Properties",	//MISSING
+DlgLstStart			: "Start",	//MISSING
+DlgLstType			: "Type",	//MISSING
+DlgLstTypeCircle	: "Circle",	//MISSING
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Square",	//MISSING
+DlgLstTypeNumbers	: "Numbers (1, 2, 3)",	//MISSING
+DlgLstTypeLCase		: "Lowercase Letters (a, b, c)",	//MISSING
+DlgLstTypeUCase		: "Uppercase Letters (A, B, C)",	//MISSING
+DlgLstTypeSRoman	: "Small Roman Numerals (i, ii, iii)",	//MISSING
+DlgLstTypeLRoman	: "Large Roman Numerals (I, II, III)",	//MISSING
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "General",	//MISSING
+DlgDocBackTab		: "Background",	//MISSING
+DlgDocColorsTab		: "Colors and Margins",	//MISSING
+DlgDocMetaTab		: "Meta Data",	//MISSING
+
+DlgDocPageTitle		: "Page Title",	//MISSING
+DlgDocLangDir		: "Language Direction",	//MISSING
+DlgDocLangDirLTR	: "Left to Right (LTR)",	//MISSING
+DlgDocLangDirRTL	: "Right to Left (RTL)",	//MISSING
+DlgDocLangCode		: "Language Code",	//MISSING
+DlgDocCharSet		: "Character Set Encoding",	//MISSING
+DlgDocCharSetCE		: "Central European",	//MISSING
+DlgDocCharSetCT		: "Chinese Traditional (Big5)",	//MISSING
+DlgDocCharSetCR		: "Cyrillic",	//MISSING
+DlgDocCharSetGR		: "Greek",	//MISSING
+DlgDocCharSetJP		: "Japanese",	//MISSING
+DlgDocCharSetKR		: "Korean",	//MISSING
+DlgDocCharSetTR		: "Turkish",	//MISSING
+DlgDocCharSetUN		: "Unicode (UTF-8)",	//MISSING
+DlgDocCharSetWE		: "Western European",	//MISSING
+DlgDocCharSetOther	: "Other Character Set Encoding",	//MISSING
+
+DlgDocDocType		: "Document Type Heading",	//MISSING
+DlgDocDocTypeOther	: "Other Document Type Heading",	//MISSING
+DlgDocIncXHTML		: "Include XHTML Declarations",	//MISSING
+DlgDocBgColor		: "Background Color",	//MISSING
+DlgDocBgImage		: "Background Image URL",	//MISSING
+DlgDocBgNoScroll	: "Nonscrolling Background",	//MISSING
+DlgDocCText			: "Text",	//MISSING
+DlgDocCLink			: "Link",	//MISSING
+DlgDocCVisited		: "Visited Link",	//MISSING
+DlgDocCActive		: "Active Link",	//MISSING
+DlgDocMargins		: "Page Margins",	//MISSING
+DlgDocMaTop			: "Top",	//MISSING
+DlgDocMaLeft		: "Left",	//MISSING
+DlgDocMaRight		: "Right",	//MISSING
+DlgDocMaBottom		: "Bottom",	//MISSING
+DlgDocMeIndex		: "Document Indexing Keywords (comma separated)",	//MISSING
+DlgDocMeDescr		: "Document Description",	//MISSING
+DlgDocMeAuthor		: "Author",	//MISSING
+DlgDocMeCopy		: "Copyright",	//MISSING
+DlgDocPreview		: "Preview",	//MISSING
+
+// Templates Dialog
+Templates			: "Templates",	//MISSING
+DlgTemplatesTitle	: "Content Templates",	//MISSING
+DlgTemplatesSelMsg	: "Please select the template to open in the editor<br />(the actual contents will be lost):",	//MISSING
+DlgTemplatesLoading	: "Loading templates list. Please wait...",	//MISSING
+DlgTemplatesNoTpl	: "(No templates defined)",	//MISSING
+DlgTemplatesReplace	: "Replace actual contents",	//MISSING
+
+// About Dialog
+DlgAboutAboutTab	: "About",	//MISSING
+DlgAboutBrowserInfoTab	: "Browser Info",	//MISSING
+DlgAboutLicenseTab	: "License",	//MISSING
+DlgAboutVersion		: "verzija",
+DlgAboutInfo		: "Za viÅ¡e informacija posjetite",
+
+// Div Dialog
+DlgDivGeneralTab	: "General",	//MISSING
+DlgDivAdvancedTab	: "Advanced",	//MISSING
+DlgDivStyle		: "Style",	//MISSING
+DlgDivInlineStyle	: "Inline Style",	//MISSING
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/cs.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/cs.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/cs.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Czech language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "SkrÃ½t panel nÃ¡strojÅ¯",
+ToolbarExpand		: "Zobrazit panel nÃ¡strojÅ¯",
+
+// Toolbar Items and Context Menu
+Save				: "UloÅ¾it",
+NewPage				: "NovÃ¡ strÃ¡nka",
+Preview				: "NÃ¡hled",
+Cut					: "Vyjmout",
+Copy				: "KopÃ­rovat",
+Paste				: "VloÅ¾it",
+PasteText			: "VloÅ¾it jako ÄistÃ½ text",
+PasteWord			: "VloÅ¾it z Wordu",
+Print				: "Tisk",
+SelectAll			: "Vybrat vÅ¡e",
+RemoveFormat		: "Odstranit formÃ¡tovÃ¡nÃ­",
+InsertLinkLbl		: "Odkaz",
+InsertLink			: "VloÅ¾it/zmÄ›nit odkaz",
+RemoveLink			: "Odstranit odkaz",
+VisitLink			: "OtevÅ™Ã­t odkaz",
+Anchor				: "VloÅ¾Ã­t/zmÄ›nit zÃ¡loÅ¾ku",
+AnchorDelete		: "Odstranit kotvu",
+InsertImageLbl		: "ObrÃ¡zek",
+InsertImage			: "VloÅ¾it/zmÄ›nit obrÃ¡zek",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "VloÅ¾it/Upravit Flash",
+InsertTableLbl		: "Tabulka",
+InsertTable			: "VloÅ¾it/zmÄ›nit tabulku",
+InsertLineLbl		: "Linka",
+InsertLine			: "VloÅ¾it vodorovnou linku",
+InsertSpecialCharLbl: "SpeciÃ¡lnÃ­ znaky",
+InsertSpecialChar	: "VloÅ¾it speciÃ¡lnÃ­ znaky",
+InsertSmileyLbl		: "SmajlÃ­ky",
+InsertSmiley		: "VloÅ¾it smajlÃ­k",
+About				: "O aplikaci FCKeditor",
+Bold				: "TuÄnÃ©",
+Italic				: "KurzÃ­va",
+Underline			: "PodtrÅ¾enÃ©",
+StrikeThrough		: "PÅ™eÅ¡krtnutÃ©",
+Subscript			: "DolnÃ­ index",
+Superscript			: "HornÃ­ index",
+LeftJustify			: "Zarovnat vlevo",
+CenterJustify		: "Zarovnat na stÅ™ed",
+RightJustify		: "Zarovnat vpravo",
+BlockJustify		: "Zarovnat do bloku",
+DecreaseIndent		: "ZmenÅ¡it odsazenÃ­",
+IncreaseIndent		: "ZvÄ›tÅ¡it odsazenÃ­",
+Blockquote			: "Citace",
+CreateDiv			: "VytvoÅ™it Div kontejner",
+EditDiv				: "Upravit Div kontejner",
+DeleteDiv			: "Odstranit Div kontejner",
+Undo				: "ZpÄ›t",
+Redo				: "Znovu",
+NumberedListLbl		: "ÄŒÃ­slovÃ¡nÃ­",
+NumberedList		: "VloÅ¾it/odstranit ÄÃ­slovanÃ½ seznam",
+BulletedListLbl		: "OdrÃ¡Å¾ky",
+BulletedList		: "VloÅ¾it/odstranit odrÃ¡Å¾ky",
+ShowTableBorders	: "Zobrazit okraje tabulek",
+ShowDetails			: "Zobrazit podrobnosti",
+Style				: "Styl",
+FontFormat			: "FormÃ¡t",
+Font				: "PÃ­smo",
+FontSize			: "Velikost",
+TextColor			: "Barva textu",
+BGColor				: "Barva pozadÃ­",
+Source				: "Zdroj",
+Find				: "Hledat",
+Replace				: "Nahradit",
+SpellCheck			: "Zkontrolovat pravopis",
+UniversalKeyboard	: "UniverzÃ¡lnÃ­ klÃ¡vesnice",
+PageBreakLbl		: "Konec strÃ¡nky",
+PageBreak			: "VloÅ¾it konec strÃ¡nky",
+
+Form			: "FormulÃ¡Å™",
+Checkbox		: "ZaÅ¡krtÃ¡vacÃ­ polÃ­Äko",
+RadioButton		: "PÅ™epÃ­naÄ",
+TextField		: "TextovÃ© pole",
+Textarea		: "TextovÃ¡ oblast",
+HiddenField		: "SkrytÃ© pole",
+Button			: "TlaÄÃ­tko",
+SelectionField	: "Seznam",
+ImageButton		: "ObrÃ¡zkovÃ© tlaÄÃ­tko",
+
+FitWindow		: "Maximalizovat velikost editoru",
+ShowBlocks		: "UkÃ¡zat bloky",
+
+// Context Menu
+EditLink			: "ZmÄ›nit odkaz",
+CellCM				: "BuÅˆka",
+RowCM				: "Å˜Ã¡dek",
+ColumnCM			: "Sloupec",
+InsertRowAfter		: "VloÅ¾it Å™Ã¡dek za",
+InsertRowBefore		: "VloÅ¾it Å™Ã¡dek pÅ™ed",
+DeleteRows			: "Smazat Å™Ã¡dky",
+InsertColumnAfter	: "VloÅ¾it sloupec za",
+InsertColumnBefore	: "VloÅ¾it sloupec pÅ™ed",
+DeleteColumns		: "Smazat sloupec",
+InsertCellAfter		: "VloÅ¾it buÅˆku za",
+InsertCellBefore	: "VloÅ¾it buÅˆku pÅ™ed",
+DeleteCells			: "Smazat buÅˆky",
+MergeCells			: "SlouÄit buÅˆky",
+MergeRight			: "SlouÄit doprava",
+MergeDown			: "SlouÄit dolÅ¯",
+HorizontalSplitCell	: "RozdÄ›lit buÅˆky vodorovnÄ›",
+VerticalSplitCell	: "RozdÄ›lit buÅˆky svisle",
+TableDelete			: "Smazat tabulku",
+CellProperties		: "Vlastnosti buÅˆky",
+TableProperties		: "Vlastnosti tabulky",
+ImageProperties		: "Vlastnosti obrÃ¡zku",
+FlashProperties		: "Vlastnosti Flashe",
+
+AnchorProp			: "Vlastnosti zÃ¡loÅ¾ky",
+ButtonProp			: "Vlastnosti tlaÄÃ­tka",
+CheckboxProp		: "Vlastnosti zaÅ¡krtÃ¡vacÃ­ho polÃ­Äka",
+HiddenFieldProp		: "Vlastnosti skrytÃ©ho pole",
+RadioButtonProp		: "Vlastnosti pÅ™epÃ­naÄe",
+ImageButtonProp		: "VlastnostÃ­ obrÃ¡zkovÃ©ho tlaÄÃ­tka",
+TextFieldProp		: "Vlastnosti textovÃ©ho pole",
+SelectionFieldProp	: "Vlastnosti seznamu",
+TextareaProp		: "Vlastnosti textovÃ© oblasti",
+FormProp			: "Vlastnosti formulÃ¡Å™e",
+
+FontFormats			: "NormÃ¡lnÃ­;NaformÃ¡tovÃ¡no;Adresa;Nadpis 1;Nadpis 2;Nadpis 3;Nadpis 4;Nadpis 5;Nadpis 6;NormÃ¡lnÃ­ (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "ProbÃ­hÃ¡ zpracovÃ¡nÃ­ XHTML. ProsÃ­m Äekejte...",
+Done				: "Hotovo",
+PasteWordConfirm	: "Jak je vidÄ›t, vklÃ¡danÃ½ text je kopÃ­rovÃ¡n z Wordu. Chcete jej pÅ™ed vloÅ¾enÃ­m vyÄistit?",
+NotCompatiblePaste	: "Tento pÅ™Ã­kaz je dostupnÃ½ pouze v Internet Exploreru verze 5.5 nebo vyÅ¡Å¡Ã­. Chcete vloÅ¾it text bez vyÄiÅ¡tÄ›nÃ­?",
+UnknownToolbarItem	: "NeznÃ¡mÃ¡ poloÅ¾ka panelu nÃ¡strojÅ¯ \"%1\"",
+UnknownCommand		: "NeznÃ¡mÃ½ pÅ™Ã­kaz \"%1\"",
+NotImplemented		: "PÅ™Ã­kaz nenÃ­ implementovÃ¡n",
+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.",
+BrowseServerBlocked : "PrÅ¯zkumnÃ­k zdrojÅ¯ nelze otevÅ™Ã­t. ProvÄ›Å™te, zda nemÃ¡te aktivovÃ¡no blokovÃ¡nÃ­ popup oken.",
+DialogBlocked		: "Nelze otevÅ™Ã­t dialogovÃ© okno. ProvÄ›Å™te, zda nemÃ¡te aktivovÃ¡no blokovÃ¡nÃ­ popup oken.",
+VisitLinkBlocked	: "NenÃ­ moÅ¾nÃ© otevÅ™Ã­t novÃ© okno. ProvÄ›Å™te, zda vÅ¡echny nÃ¡stroje pro blokovÃ¡nÃ­ vyskakovacÃ­ch oken jsou vypnuty.",
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Storno",
+DlgBtnClose			: "ZavÅ™Ã­t",
+DlgBtnBrowseServer	: "Vybrat na serveru",
+DlgAdvancedTag		: "RozÅ¡Ã­Å™enÃ©",
+DlgOpOther			: "<OstatnÃ­>",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "ProsÃ­m vloÅ¾te URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<nenastaveno>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Orientace jazyka",
+DlgGenLangDirLtr	: "Zleva do prava (LTR)",
+DlgGenLangDirRtl	: "Zprava do leva (RTL)",
+DlgGenLangCode		: "KÃ³d jazyka",
+DlgGenAccessKey		: "PÅ™Ã­stupovÃ½ klÃ­Ä",
+DlgGenName			: "JmÃ©no",
+DlgGenTabIndex		: "PoÅ™adÃ­ prvku",
+DlgGenLongDescr		: "DlouhÃ½ popis URL",
+DlgGenClass			: "TÅ™Ã­da stylu",
+DlgGenTitle			: "PomocnÃ½ titulek",
+DlgGenContType		: "PomocnÃ½ typ obsahu",
+DlgGenLinkCharset	: "PÅ™iÅ™azenÃ¡ znakovÃ¡ sada",
+DlgGenStyle			: "Styl",
+
+// Image Dialog
+DlgImgTitle			: "Vlastnosti obrÃ¡zku",
+DlgImgInfoTab		: "Informace o obrÃ¡zku",
+DlgImgBtnUpload		: "Odeslat na server",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Odeslat",
+DlgImgAlt			: "AlternativnÃ­ text",
+DlgImgWidth			: "Å Ã­Å™ka",
+DlgImgHeight		: "VÃ½Å¡ka",
+DlgImgLockRatio		: "ZÃ¡mek",
+DlgBtnResetSize		: "PÅ¯vodnÃ­ velikost",
+DlgImgBorder		: "Okraje",
+DlgImgHSpace		: "H-mezera",
+DlgImgVSpace		: "V-mezera",
+DlgImgAlign			: "ZarovnÃ¡nÃ­",
+DlgImgAlignLeft		: "Vlevo",
+DlgImgAlignAbsBottom: "Zcela dolÅ¯",
+DlgImgAlignAbsMiddle: "DoprostÅ™ed",
+DlgImgAlignBaseline	: "Na ÃºÄaÅ™Ã­",
+DlgImgAlignBottom	: "DolÅ¯",
+DlgImgAlignMiddle	: "Na stÅ™ed",
+DlgImgAlignRight	: "Vpravo",
+DlgImgAlignTextTop	: "Na hornÃ­ okraj textu",
+DlgImgAlignTop		: "Nahoru",
+DlgImgPreview		: "NÃ¡hled",
+DlgImgAlertUrl		: "Zadejte prosÃ­m URL obrÃ¡zku",
+DlgImgLinkTab		: "Odkaz",
+
+// Flash Dialog
+DlgFlashTitle		: "Vlastnosti Flashe",
+DlgFlashChkPlay		: "AutomatickÃ© spuÅ¡tÄ›nÃ­",
+DlgFlashChkLoop		: "OpakovÃ¡nÃ­",
+DlgFlashChkMenu		: "NabÃ­dka Flash",
+DlgFlashScale		: "Zobrazit",
+DlgFlashScaleAll	: "Zobrazit vÅ¡e",
+DlgFlashScaleNoBorder	: "Bez okraje",
+DlgFlashScaleFit	: "PÅ™izpÅ¯sobit",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Odkaz",
+DlgLnkInfoTab		: "Informace o odkazu",
+DlgLnkTargetTab		: "CÃ­l",
+
+DlgLnkType			: "Typ odkazu",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Kotva v tÃ©to strÃ¡nce",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protokol",
+DlgLnkProtoOther	: "<jinÃ½>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Vybrat kotvu",
+DlgLnkAnchorByName	: "Podle jmÃ©na kotvy",
+DlgLnkAnchorById	: "Podle Id objektu",
+DlgLnkNoAnchors		: "(Ve strÃ¡nce nenÃ­ definovÃ¡na Å¾Ã¡dnÃ¡ kotva!)",
+DlgLnkEMail			: "E-MailovÃ¡ adresa",
+DlgLnkEMailSubject	: "PÅ™edmÄ›t zprÃ¡vy",
+DlgLnkEMailBody		: "TÄ›lo zprÃ¡vy",
+DlgLnkUpload		: "Odeslat",
+DlgLnkBtnUpload		: "Odeslat na Server",
+
+DlgLnkTarget		: "CÃ­l",
+DlgLnkTargetFrame	: "<rÃ¡mec>",
+DlgLnkTargetPopup	: "<vyskakovacÃ­ okno>",
+DlgLnkTargetBlank	: "NovÃ© okno (_blank)",
+DlgLnkTargetParent	: "RodiÄovskÃ© okno (_parent)",
+DlgLnkTargetSelf	: "StejnÃ© okno (_self)",
+DlgLnkTargetTop		: "HlavnÃ­ okno (_top)",
+DlgLnkTargetFrameName	: "NÃ¡zev cÃ­lovÃ©ho rÃ¡mu",
+DlgLnkPopWinName	: "NÃ¡zev vyskakovacÃ­ho okna",
+DlgLnkPopWinFeat	: "Vlastnosti vyskakovacÃ­ho okna",
+DlgLnkPopResize		: "MÄ›nitelnÃ¡ velikost",
+DlgLnkPopLocation	: "Panel umÃ­stÄ›nÃ­",
+DlgLnkPopMenu		: "Panel nabÃ­dky",
+DlgLnkPopScroll		: "PosuvnÃ­ky",
+DlgLnkPopStatus		: "StavovÃ½ Å™Ã¡dek",
+DlgLnkPopToolbar	: "Panel nÃ¡strojÅ¯",
+DlgLnkPopFullScrn	: "CelÃ¡ obrazovka (IE)",
+DlgLnkPopDependent	: "ZÃ¡vislost (Netscape)",
+DlgLnkPopWidth		: "Å Ã­Å™ka",
+DlgLnkPopHeight		: "VÃ½Å¡ka",
+DlgLnkPopLeft		: "LevÃ½ okraj",
+DlgLnkPopTop		: "HornÃ­ okraj",
+
+DlnLnkMsgNoUrl		: "Zadejte prosÃ­m URL odkazu",
+DlnLnkMsgNoEMail	: "Zadejte prosÃ­m e-mailovou adresu",
+DlnLnkMsgNoAnchor	: "Vyberte prosÃ­m kotvu",
+DlnLnkMsgInvPopName	: "NÃ¡zev vyskakovacÃ­ho okna musÃ­ zaÄÃ­nat pÃ­smenem a nesmÃ­ obsahovat mezery",
+
+// Color Dialog
+DlgColorTitle		: "VÃ½bÄ›r barvy",
+DlgColorBtnClear	: "Vymazat",
+DlgColorHighlight	: "ZvÃ½raznÄ›nÃ¡",
+DlgColorSelected	: "VybranÃ¡",
+
+// Smiley Dialog
+DlgSmileyTitle		: "VklÃ¡dÃ¡nÃ­ smajlÃ­kÅ¯",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "VÃ½bÄ›r speciÃ¡lnÃ­ho znaku",
+
+// Table Dialog
+DlgTableTitle		: "Vlastnosti tabulky",
+DlgTableRows		: "Å˜Ã¡dky",
+DlgTableColumns		: "Sloupce",
+DlgTableBorder		: "OhraniÄenÃ­",
+DlgTableAlign		: "ZarovnÃ¡nÃ­",
+DlgTableAlignNotSet	: "<nenastaveno>",
+DlgTableAlignLeft	: "Vlevo",
+DlgTableAlignCenter	: "Na stÅ™ed",
+DlgTableAlignRight	: "Vpravo",
+DlgTableWidth		: "Å Ã­Å™ka",
+DlgTableWidthPx		: "bodÅ¯",
+DlgTableWidthPc		: "procent",
+DlgTableHeight		: "VÃ½Å¡ka",
+DlgTableCellSpace	: "VzdÃ¡lenost bunÄ›k",
+DlgTableCellPad		: "OdsazenÃ­ obsahu",
+DlgTableCaption		: "Popis",
+DlgTableSummary		: "Souhrn",
+DlgTableHeaders		: "ZÃ¡hlavÃ­",
+DlgTableHeadersNone		: "Å½Ã¡dnÃ©",
+DlgTableHeadersColumn	: "PrvnÃ­ sloupec",
+DlgTableHeadersRow		: "PrvnÃ­ Å™Ã¡dek",
+DlgTableHeadersBoth		: "Oboje",
+
+// Table Cell Dialog
+DlgCellTitle		: "Vlastnosti buÅˆky",
+DlgCellWidth		: "Å Ã­Å™ka",
+DlgCellWidthPx		: "bodÅ¯",
+DlgCellWidthPc		: "procent",
+DlgCellHeight		: "VÃ½Å¡ka",
+DlgCellWordWrap		: "ZalamovÃ¡nÃ­",
+DlgCellWordWrapNotSet	: "<nenanstaveno>",
+DlgCellWordWrapYes	: "Ano",
+DlgCellWordWrapNo	: "Ne",
+DlgCellHorAlign		: "VodorovnÃ© zarovnÃ¡nÃ­",
+DlgCellHorAlignNotSet	: "<nenastaveno>",
+DlgCellHorAlignLeft	: "Vlevo",
+DlgCellHorAlignCenter	: "Na stÅ™ed",
+DlgCellHorAlignRight: "Vpravo",
+DlgCellVerAlign		: "SvislÃ© zarovnÃ¡nÃ­",
+DlgCellVerAlignNotSet	: "<nenastaveno>",
+DlgCellVerAlignTop	: "Nahoru",
+DlgCellVerAlignMiddle	: "DoprostÅ™ed",
+DlgCellVerAlignBottom	: "DolÅ¯",
+DlgCellVerAlignBaseline	: "Na ÃºÄaÅ™Ã­",
+DlgCellType		: "Typ buÅˆky",
+DlgCellTypeData		: "Data",
+DlgCellTypeHeader	: "ZÃ¡lavÃ­",
+DlgCellRowSpan		: "SlouÄenÃ© Å™Ã¡dky",
+DlgCellCollSpan		: "SlouÄenÃ© sloupce",
+DlgCellBackColor	: "Barva pozadÃ­",
+DlgCellBorderColor	: "Barva ohraniÄenÃ­",
+DlgCellBtnSelect	: "VÃ½bÄ›r...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "NajÃ­t a nahradit",
+
+// Find Dialog
+DlgFindTitle		: "Hledat",
+DlgFindFindBtn		: "Hledat",
+DlgFindNotFoundMsg	: "HledanÃ½ text nebyl nalezen.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Nahradit",
+DlgReplaceFindLbl		: "Co hledat:",
+DlgReplaceReplaceLbl	: "ÄŒÃ­m nahradit:",
+DlgReplaceCaseChk		: "RozliÅ¡ovat velikost pÃ­sma",
+DlgReplaceReplaceBtn	: "Nahradit",
+DlgReplaceReplAllBtn	: "Nahradit vÅ¡e",
+DlgReplaceWordChk		: "Pouze celÃ¡ slova",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "BezpeÄnostnÃ­ nastavenÃ­ VaÅ¡eho prohlÃ­Å¾eÄe nedovolujÃ­ editoru spustit funkci pro vyjmutÃ­ zvolenÃ©ho textu do schrÃ¡nky. ProsÃ­m vyjmÄ›te zvolenÃ½ text do schrÃ¡nky pomocÃ­ klÃ¡vesnice (Ctrl+X).",
+PasteErrorCopy	: "BezpeÄnostnÃ­ nastavenÃ­ VaÅ¡eho prohlÃ­Å¾eÄe nedovolujÃ­ editoru spustit funkci pro kopÃ­rovÃ¡nÃ­ zvolenÃ©ho textu do schrÃ¡nky. ProsÃ­m zkopÃ­rujte zvolenÃ½ text do schrÃ¡nky pomocÃ­ klÃ¡vesnice (Ctrl+C).",
+
+PasteAsText		: "VloÅ¾it jako ÄistÃ½ text",
+PasteFromWord	: "VloÅ¾it text z Wordu",
+
+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>.",
+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.",
+DlgPasteIgnoreFont		: "Ignorovat pÃ­smo",
+DlgPasteRemoveStyles	: "Odstranit styly",
+
+// Color Picker
+ColorAutomatic	: "Automaticky",
+ColorMoreColors	: "VÃ­ce barev...",
+
+// Document Properties
+DocProps		: "Vlastnosti dokumentu",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Vlastnosti zÃ¡loÅ¾ky",
+DlgAnchorName		: "NÃ¡zev zÃ¡loÅ¾ky",
+DlgAnchorErrorName	: "Zadejte prosÃ­m nÃ¡zev zÃ¡loÅ¾ky",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "NenÃ­ ve slovnÃ­ku",
+DlgSpellChangeTo		: "ZmÄ›nit na",
+DlgSpellBtnIgnore		: "PÅ™eskoÄit",
+DlgSpellBtnIgnoreAll	: "PÅ™eskakovat vÅ¡e",
+DlgSpellBtnReplace		: "ZamÄ›nit",
+DlgSpellBtnReplaceAll	: "ZamÄ›Åˆovat vÅ¡e",
+DlgSpellBtnUndo			: "ZpÄ›t",
+DlgSpellNoSuggestions	: "- Å¾Ã¡dnÃ© nÃ¡vrhy -",
+DlgSpellProgress		: "ProbÃ­hÃ¡ kontrola pravopisu...",
+DlgSpellNoMispell		: "Kontrola pravopisu dokonÄena: Å½Ã¡dnÃ© pravopisnÃ© chyby nenalezeny",
+DlgSpellNoChanges		: "Kontrola pravopisu dokonÄena: Beze zmÄ›n",
+DlgSpellOneChange		: "Kontrola pravopisu dokonÄena: Jedno slovo zmÄ›nÄ›no",
+DlgSpellManyChanges		: "Kontrola pravopisu dokonÄena: %1 slov zmÄ›nÄ›no",
+
+IeSpellDownload			: "Kontrola pravopisu nenÃ­ nainstalovÃ¡na. Chcete ji nynÃ­ stÃ¡hnout?",
+
+// Button Dialog
+DlgButtonText		: "Popisek",
+DlgButtonType		: "Typ",
+DlgButtonTypeBtn	: "TlaÄÃ­tko",
+DlgButtonTypeSbm	: "Odeslat",
+DlgButtonTypeRst	: "Obnovit",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "NÃ¡zev",
+DlgCheckboxValue	: "Hodnota",
+DlgCheckboxSelected	: "ZaÅ¡krtnuto",
+
+// Form Dialog
+DlgFormName		: "NÃ¡zev",
+DlgFormAction	: "Akce",
+DlgFormMethod	: "Metoda",
+
+// Select Field Dialog
+DlgSelectName		: "NÃ¡zev",
+DlgSelectValue		: "Hodnota",
+DlgSelectSize		: "Velikost",
+DlgSelectLines		: "Å˜Ã¡dkÅ¯",
+DlgSelectChkMulti	: "Povolit mnohonÃ¡sobnÃ© vÃ½bÄ›ry",
+DlgSelectOpAvail	: "DostupnÃ¡ nastavenÃ­",
+DlgSelectOpText		: "Text",
+DlgSelectOpValue	: "Hodnota",
+DlgSelectBtnAdd		: "PÅ™idat",
+DlgSelectBtnModify	: "ZmÄ›nit",
+DlgSelectBtnUp		: "Nahoru",
+DlgSelectBtnDown	: "DolÅ¯",
+DlgSelectBtnSetValue : "Nastavit jako vybranou hodnotu",
+DlgSelectBtnDelete	: "Smazat",
+
+// Textarea Dialog
+DlgTextareaName	: "NÃ¡zev",
+DlgTextareaCols	: "SloupcÅ¯",
+DlgTextareaRows	: "Å˜Ã¡dkÅ¯",
+
+// Text Field Dialog
+DlgTextName			: "NÃ¡zev",
+DlgTextValue		: "Hodnota",
+DlgTextCharWidth	: "Å Ã­Å™ka ve znacÃ­ch",
+DlgTextMaxChars		: "MaximÃ¡lnÃ­ poÄet znakÅ¯",
+DlgTextType			: "Typ",
+DlgTextTypeText		: "Text",
+DlgTextTypePass		: "Heslo",
+
+// Hidden Field Dialog
+DlgHiddenName	: "NÃ¡zev",
+DlgHiddenValue	: "Hodnota",
+
+// Bulleted List Dialog
+BulletedListProp	: "Vlastnosti odrÃ¡Å¾ek",
+NumberedListProp	: "Vlastnosti ÄÃ­slovanÃ©ho seznamu",
+DlgLstStart			: "ZaÄÃ¡tek",
+DlgLstType			: "Typ",
+DlgLstTypeCircle	: "KruÅ¾nice",
+DlgLstTypeDisc		: "Kruh",
+DlgLstTypeSquare	: "ÄŒtverec",
+DlgLstTypeNumbers	: "ÄŒÃ­sla (1, 2, 3)",
+DlgLstTypeLCase		: "MalÃ¡ pÃ­smena (a, b, c)",
+DlgLstTypeUCase		: "VelkÃ¡ pÃ­smena (A, B, C)",
+DlgLstTypeSRoman	: "MalÃ© Å™Ã­mskÃ¡ ÄÃ­slice (i, ii, iii)",
+DlgLstTypeLRoman	: "VelkÃ© Å™Ã­mskÃ© ÄÃ­slice (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "ObecnÃ©",
+DlgDocBackTab		: "PozadÃ­",
+DlgDocColorsTab		: "Barvy a okraje",
+DlgDocMetaTab		: "Metadata",
+
+DlgDocPageTitle		: "Titulek strÃ¡nky",
+DlgDocLangDir		: "SmÄ›r jazyku",
+DlgDocLangDirLTR	: "Zleva do prava ",
+DlgDocLangDirRTL	: "Zprava doleva",
+DlgDocLangCode		: "KÃ³d jazyku",
+DlgDocCharSet		: "ZnakovÃ¡ sada",
+DlgDocCharSetCE		: "StÅ™edoevropskÃ© jazyky",
+DlgDocCharSetCT		: "TradiÄnÃ­ ÄÃ­nÅ¡tina (Big5)",
+DlgDocCharSetCR		: "Cyrilice",
+DlgDocCharSetGR		: "Å˜eÄtina",
+DlgDocCharSetJP		: "JaponÅ¡tina",
+DlgDocCharSetKR		: "KorejÅ¡tina",
+DlgDocCharSetTR		: "TureÄtina",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "ZÃ¡padoevropskÃ© jazyky",
+DlgDocCharSetOther	: "DalÅ¡Ã­ znakovÃ¡ sada",
+
+DlgDocDocType		: "Typ dokumentu",
+DlgDocDocTypeOther	: "JinÃ½ typ dokumetu",
+DlgDocIncXHTML		: "Zahrnou deklarace XHTML",
+DlgDocBgColor		: "Barva pozadÃ­",
+DlgDocBgImage		: "URL obrÃ¡zku na pozadÃ­",
+DlgDocBgNoScroll	: "NerolovatelnÃ© pozadÃ­",
+DlgDocCText			: "Text",
+DlgDocCLink			: "Odkaz",
+DlgDocCVisited		: "NavÅ¡tÃ­venÃ½ odkaz",
+DlgDocCActive		: "VybranÃ½ odkaz",
+DlgDocMargins		: "Okraje strÃ¡nky",
+DlgDocMaTop			: "HornÃ­",
+DlgDocMaLeft		: "LevÃ½",
+DlgDocMaRight		: "PravÃ½",
+DlgDocMaBottom		: "DolnÃ­",
+DlgDocMeIndex		: "KlÃ­ÄovÃ¡ slova (oddÄ›lenÃ¡ ÄÃ¡rkou)",
+DlgDocMeDescr		: "Popis dokumentu",
+DlgDocMeAuthor		: "Autor",
+DlgDocMeCopy		: "AutorskÃ¡ prÃ¡va",
+DlgDocPreview		: "NÃ¡hled",
+
+// Templates Dialog
+Templates			: "Å ablony",
+DlgTemplatesTitle	: "Å ablony obsahu",
+DlgTemplatesSelMsg	: "ProsÃ­m zvolte Å¡ablonu pro otevÅ™enÃ­ v editoru<br>(aktuÃ¡lnÃ­ obsah editoru bude ztracen):",
+DlgTemplatesLoading	: "NahrÃ¡vÃ¡m pÅ™eheld Å¡ablon. ProsÃ­m Äekejte...",
+DlgTemplatesNoTpl	: "(NenÃ­ definovÃ¡na Å¾Ã¡dnÃ¡ Å¡ablona)",
+DlgTemplatesReplace	: "Nahradit aktuÃ¡lnÃ­ obsah",
+
+// About Dialog
+DlgAboutAboutTab	: "O aplikaci",
+DlgAboutBrowserInfoTab	: "Informace o prohlÃ­Å¾eÄi",
+DlgAboutLicenseTab	: "Licence",
+DlgAboutVersion		: "verze",
+DlgAboutInfo		: "VÃ­ce informacÃ­ zÃ­skÃ¡te na",
+
+// Div Dialog
+DlgDivGeneralTab	: "ObecnÃ©",
+DlgDivAdvancedTab	: "RozÅ¡Ã­Å™enÃ©",
+DlgDivStyle		: "Styl",
+DlgDivInlineStyle	: "VloÅ¾enÃ½ styl",
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/en-au.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/en-au.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/en-au.js	(revision 1481)
@@ -0,0 +1,540 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * English (Australia) language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Collapse Toolbar",
+ToolbarExpand		: "Expand Toolbar",
+
+// Toolbar Items and Context Menu
+Save				: "Save",
+NewPage				: "New Page",
+Preview				: "Preview",
+Cut					: "Cut",
+Copy				: "Copy",
+Paste				: "Paste",
+PasteText			: "Paste as plain text",
+PasteWord			: "Paste from Word",
+Print				: "Print",
+SelectAll			: "Select All",
+RemoveFormat		: "Remove Format",
+InsertLinkLbl		: "Link",
+InsertLink			: "Insert/Edit Link",
+RemoveLink			: "Remove Link",
+VisitLink			: "Open Link",
+Anchor				: "Insert/Edit Anchor",
+AnchorDelete		: "Remove Anchor",
+InsertImageLbl		: "Image",
+InsertImage			: "Insert/Edit Image",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Insert/Edit Flash",
+InsertTableLbl		: "Table",
+InsertTable			: "Insert/Edit Table",
+InsertLineLbl		: "Line",
+InsertLine			: "Insert Horizontal Line",
+InsertSpecialCharLbl: "Special Character",
+InsertSpecialChar	: "Insert Special Character",
+InsertSmileyLbl		: "Smiley",
+InsertSmiley		: "Insert Smiley",
+About				: "About FCKeditor",
+Bold				: "Bold",
+Italic				: "Italic",
+Underline			: "Underline",
+StrikeThrough		: "Strike Through",
+Subscript			: "Subscript",
+Superscript			: "Superscript",
+LeftJustify			: "Left Justify",
+CenterJustify		: "Centre Justify",
+RightJustify		: "Right Justify",
+BlockJustify		: "Block Justify",
+DecreaseIndent		: "Decrease Indent",
+IncreaseIndent		: "Increase Indent",
+Blockquote			: "Blockquote",
+CreateDiv			: "Create Div Container",
+EditDiv				: "Edit Div Container",
+DeleteDiv			: "Remove Div Container",
+Undo				: "Undo",
+Redo				: "Redo",
+NumberedListLbl		: "Numbered List",
+NumberedList		: "Insert/Remove Numbered List",
+BulletedListLbl		: "Bulleted List",
+BulletedList		: "Insert/Remove Bulleted List",
+ShowTableBorders	: "Show Table Borders",
+ShowDetails			: "Show Details",
+Style				: "Style",
+FontFormat			: "Format",
+Font				: "Font",
+FontSize			: "Size",
+TextColor			: "Text Colour",
+BGColor				: "Background Colour",
+Source				: "Source",
+Find				: "Find",
+Replace				: "Replace",
+SpellCheck			: "Check Spelling",
+UniversalKeyboard	: "Universal Keyboard",
+PageBreakLbl		: "Page Break",
+PageBreak			: "Insert Page Break",
+
+Form			: "Form",
+Checkbox		: "Checkbox",
+RadioButton		: "Radio Button",
+TextField		: "Text Field",
+Textarea		: "Textarea",
+HiddenField		: "Hidden Field",
+Button			: "Button",
+SelectionField	: "Selection Field",
+ImageButton		: "Image Button",
+
+FitWindow		: "Maximize the editor size",
+ShowBlocks		: "Show Blocks",
+
+// Context Menu
+EditLink			: "Edit Link",
+CellCM				: "Cell",
+RowCM				: "Row",
+ColumnCM			: "Column",
+InsertRowAfter		: "Insert Row After",
+InsertRowBefore		: "Insert Row Before",
+DeleteRows			: "Delete Rows",
+InsertColumnAfter	: "Insert Column After",
+InsertColumnBefore	: "Insert Column Before",
+DeleteColumns		: "Delete Columns",
+InsertCellAfter		: "Insert Cell After",
+InsertCellBefore	: "Insert Cell Before",
+DeleteCells			: "Delete Cells",
+MergeCells			: "Merge Cells",
+MergeRight			: "Merge Right",
+MergeDown			: "Merge Down",
+HorizontalSplitCell	: "Split Cell Horizontally",
+VerticalSplitCell	: "Split Cell Vertically",
+TableDelete			: "Delete Table",
+CellProperties		: "Cell Properties",
+TableProperties		: "Table Properties",
+ImageProperties		: "Image Properties",
+FlashProperties		: "Flash Properties",
+
+AnchorProp			: "Anchor Properties",
+ButtonProp			: "Button Properties",
+CheckboxProp		: "Checkbox Properties",
+HiddenFieldProp		: "Hidden Field Properties",
+RadioButtonProp		: "Radio Button Properties",
+ImageButtonProp		: "Image Button Properties",
+TextFieldProp		: "Text Field Properties",
+SelectionFieldProp	: "Selection Field Properties",
+TextareaProp		: "Textarea Properties",
+FormProp			: "Form Properties",
+
+FontFormats			: "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "Processing XHTML. Please wait...",
+Done				: "Done",
+PasteWordConfirm	: "The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?",
+NotCompatiblePaste	: "This command is available for Internet Explorer version 5.5 or more. Do you want to paste without cleaning?",
+UnknownToolbarItem	: "Unknown toolbar item \"%1\"",
+UnknownCommand		: "Unknown command name \"%1\"",
+NotImplemented		: "Command not implemented",
+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.",
+BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",
+DialogBlocked		: "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",
+VisitLinkBlocked	: "It was not possible to open a new window. Make sure all popup blockers are disabled.",
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Cancel",
+DlgBtnClose			: "Close",
+DlgBtnBrowseServer	: "Browse Server",
+DlgAdvancedTag		: "Advanced",
+DlgOpOther			: "<Other>",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "Please insert the URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<not set>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Language Direction",
+DlgGenLangDirLtr	: "Left to Right (LTR)",
+DlgGenLangDirRtl	: "Right to Left (RTL)",
+DlgGenLangCode		: "Language Code",
+DlgGenAccessKey		: "Access Key",
+DlgGenName			: "Name",
+DlgGenTabIndex		: "Tab Index",
+DlgGenLongDescr		: "Long Description URL",
+DlgGenClass			: "Stylesheet Classes",
+DlgGenTitle			: "Advisory Title",
+DlgGenContType		: "Advisory Content Type",
+DlgGenLinkCharset	: "Linked Resource Charset",
+DlgGenStyle			: "Style",
+
+// Image Dialog
+DlgImgTitle			: "Image Properties",
+DlgImgInfoTab		: "Image Info",
+DlgImgBtnUpload		: "Send it to the Server",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Upload",
+DlgImgAlt			: "Alternative Text",
+DlgImgWidth			: "Width",
+DlgImgHeight		: "Height",
+DlgImgLockRatio		: "Lock Ratio",
+DlgBtnResetSize		: "Reset Size",
+DlgImgBorder		: "Border",
+DlgImgHSpace		: "HSpace",
+DlgImgVSpace		: "VSpace",
+DlgImgAlign			: "Align",
+DlgImgAlignLeft		: "Left",
+DlgImgAlignAbsBottom: "Abs Bottom",
+DlgImgAlignAbsMiddle: "Abs Middle",
+DlgImgAlignBaseline	: "Baseline",
+DlgImgAlignBottom	: "Bottom",
+DlgImgAlignMiddle	: "Middle",
+DlgImgAlignRight	: "Right",
+DlgImgAlignTextTop	: "Text Top",
+DlgImgAlignTop		: "Top",
+DlgImgPreview		: "Preview",
+DlgImgAlertUrl		: "Please type the image URL",
+DlgImgLinkTab		: "Link",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash Properties",
+DlgFlashChkPlay		: "Auto Play",
+DlgFlashChkLoop		: "Loop",
+DlgFlashChkMenu		: "Enable Flash Menu",
+DlgFlashScale		: "Scale",
+DlgFlashScaleAll	: "Show all",
+DlgFlashScaleNoBorder	: "No Border",
+DlgFlashScaleFit	: "Exact Fit",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Link",
+DlgLnkInfoTab		: "Link Info",
+DlgLnkTargetTab		: "Target",
+
+DlgLnkType			: "Link Type",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Link to anchor in the text",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protocol",
+DlgLnkProtoOther	: "<other>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Select an Anchor",
+DlgLnkAnchorByName	: "By Anchor Name",
+DlgLnkAnchorById	: "By Element Id",
+DlgLnkNoAnchors		: "(No anchors available in the document)",
+DlgLnkEMail			: "E-Mail Address",
+DlgLnkEMailSubject	: "Message Subject",
+DlgLnkEMailBody		: "Message Body",
+DlgLnkUpload		: "Upload",
+DlgLnkBtnUpload		: "Send it to the Server",
+
+DlgLnkTarget		: "Target",
+DlgLnkTargetFrame	: "<frame>",
+DlgLnkTargetPopup	: "<popup window>",
+DlgLnkTargetBlank	: "New Window (_blank)",
+DlgLnkTargetParent	: "Parent Window (_parent)",
+DlgLnkTargetSelf	: "Same Window (_self)",
+DlgLnkTargetTop		: "Topmost Window (_top)",
+DlgLnkTargetFrameName	: "Target Frame Name",
+DlgLnkPopWinName	: "Popup Window Name",
+DlgLnkPopWinFeat	: "Popup Window Features",
+DlgLnkPopResize		: "Resizable",
+DlgLnkPopLocation	: "Location Bar",
+DlgLnkPopMenu		: "Menu Bar",
+DlgLnkPopScroll		: "Scroll Bars",
+DlgLnkPopStatus		: "Status Bar",
+DlgLnkPopToolbar	: "Toolbar",
+DlgLnkPopFullScrn	: "Full Screen (IE)",
+DlgLnkPopDependent	: "Dependent (Netscape)",
+DlgLnkPopWidth		: "Width",
+DlgLnkPopHeight		: "Height",
+DlgLnkPopLeft		: "Left Position",
+DlgLnkPopTop		: "Top Position",
+
+DlnLnkMsgNoUrl		: "Please type the link URL",
+DlnLnkMsgNoEMail	: "Please type the e-mail address",
+DlnLnkMsgNoAnchor	: "Please select an anchor",
+DlnLnkMsgInvPopName	: "The popup name must begin with an alphabetic character and must not contain spaces",
+
+// Color Dialog
+DlgColorTitle		: "Select Colour",
+DlgColorBtnClear	: "Clear",
+DlgColorHighlight	: "Highlight",
+DlgColorSelected	: "Selected",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Insert a Smiley",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Select Special Character",
+
+// Table Dialog
+DlgTableTitle		: "Table Properties",
+DlgTableRows		: "Rows",
+DlgTableColumns		: "Columns",
+DlgTableBorder		: "Border size",
+DlgTableAlign		: "Alignment",
+DlgTableAlignNotSet	: "<Not set>",
+DlgTableAlignLeft	: "Left",
+DlgTableAlignCenter	: "Centre",
+DlgTableAlignRight	: "Right",
+DlgTableWidth		: "Width",
+DlgTableWidthPx		: "pixels",
+DlgTableWidthPc		: "percent",
+DlgTableHeight		: "Height",
+DlgTableCellSpace	: "Cell spacing",
+DlgTableCellPad		: "Cell padding",
+DlgTableCaption		: "Caption",
+DlgTableSummary		: "Summary",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "Cell Properties",
+DlgCellWidth		: "Width",
+DlgCellWidthPx		: "pixels",
+DlgCellWidthPc		: "percent",
+DlgCellHeight		: "Height",
+DlgCellWordWrap		: "Word Wrap",
+DlgCellWordWrapNotSet	: "<Not set>",
+DlgCellWordWrapYes	: "Yes",
+DlgCellWordWrapNo	: "No",
+DlgCellHorAlign		: "Horizontal Alignment",
+DlgCellHorAlignNotSet	: "<Not set>",
+DlgCellHorAlignLeft	: "Left",
+DlgCellHorAlignCenter	: "Centre",
+DlgCellHorAlignRight: "Right",
+DlgCellVerAlign		: "Vertical Alignment",
+DlgCellVerAlignNotSet	: "<Not set>",
+DlgCellVerAlignTop	: "Top",
+DlgCellVerAlignMiddle	: "Middle",
+DlgCellVerAlignBottom	: "Bottom",
+DlgCellVerAlignBaseline	: "Baseline",
+DlgCellType		: "Cell Type",
+DlgCellTypeData		: "Data",
+DlgCellTypeHeader	: "Header",
+DlgCellRowSpan		: "Rows Span",
+DlgCellCollSpan		: "Columns Span",
+DlgCellBackColor	: "Background Colour",
+DlgCellBorderColor	: "Border Colour",
+DlgCellBtnSelect	: "Select...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Find and Replace",
+
+// Find Dialog
+DlgFindTitle		: "Find",
+DlgFindFindBtn		: "Find",
+DlgFindNotFoundMsg	: "The specified text was not found.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Replace",
+DlgReplaceFindLbl		: "Find what:",
+DlgReplaceReplaceLbl	: "Replace with:",
+DlgReplaceCaseChk		: "Match case",
+DlgReplaceReplaceBtn	: "Replace",
+DlgReplaceReplAllBtn	: "Replace All",
+DlgReplaceWordChk		: "Match whole word",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl+X).",
+PasteErrorCopy	: "Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl+C).",
+
+PasteAsText		: "Paste as Plain Text",
+PasteFromWord	: "Paste from Word",
+
+DlgPasteMsg2	: "Please paste inside the following box using the keyboard (<strong>Ctrl+V</strong>) and hit <strong>OK</strong>.",
+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.",
+DlgPasteIgnoreFont		: "Ignore Font Face definitions",
+DlgPasteRemoveStyles	: "Remove Styles definitions",
+
+// Color Picker
+ColorAutomatic	: "Automatic",
+ColorMoreColors	: "More Colours...",
+
+// Document Properties
+DocProps		: "Document Properties",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Anchor Properties",
+DlgAnchorName		: "Anchor Name",
+DlgAnchorErrorName	: "Please type the anchor name",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Not in dictionary",
+DlgSpellChangeTo		: "Change to",
+DlgSpellBtnIgnore		: "Ignore",
+DlgSpellBtnIgnoreAll	: "Ignore All",
+DlgSpellBtnReplace		: "Replace",
+DlgSpellBtnReplaceAll	: "Replace All",
+DlgSpellBtnUndo			: "Undo",
+DlgSpellNoSuggestions	: "- No suggestions -",
+DlgSpellProgress		: "Spell check in progress...",
+DlgSpellNoMispell		: "Spell check complete: No misspellings found",
+DlgSpellNoChanges		: "Spell check complete: No words changed",
+DlgSpellOneChange		: "Spell check complete: One word changed",
+DlgSpellManyChanges		: "Spell check complete: %1 words changed",
+
+IeSpellDownload			: "Spell checker not installed. Do you want to download it now?",
+
+// Button Dialog
+DlgButtonText		: "Text (Value)",
+DlgButtonType		: "Type",
+DlgButtonTypeBtn	: "Button",
+DlgButtonTypeSbm	: "Submit",
+DlgButtonTypeRst	: "Reset",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Name",
+DlgCheckboxValue	: "Value",
+DlgCheckboxSelected	: "Selected",
+
+// Form Dialog
+DlgFormName		: "Name",
+DlgFormAction	: "Action",
+DlgFormMethod	: "Method",
+
+// Select Field Dialog
+DlgSelectName		: "Name",
+DlgSelectValue		: "Value",
+DlgSelectSize		: "Size",
+DlgSelectLines		: "lines",
+DlgSelectChkMulti	: "Allow multiple selections",
+DlgSelectOpAvail	: "Available Options",
+DlgSelectOpText		: "Text",
+DlgSelectOpValue	: "Value",
+DlgSelectBtnAdd		: "Add",
+DlgSelectBtnModify	: "Modify",
+DlgSelectBtnUp		: "Up",
+DlgSelectBtnDown	: "Down",
+DlgSelectBtnSetValue : "Set as selected value",
+DlgSelectBtnDelete	: "Delete",
+
+// Textarea Dialog
+DlgTextareaName	: "Name",
+DlgTextareaCols	: "Columns",
+DlgTextareaRows	: "Rows",
+
+// Text Field Dialog
+DlgTextName			: "Name",
+DlgTextValue		: "Value",
+DlgTextCharWidth	: "Character Width",
+DlgTextMaxChars		: "Maximum Characters",
+DlgTextType			: "Type",
+DlgTextTypeText		: "Text",
+DlgTextTypePass		: "Password",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Name",
+DlgHiddenValue	: "Value",
+
+// Bulleted List Dialog
+BulletedListProp	: "Bulleted List Properties",
+NumberedListProp	: "Numbered List Properties",
+DlgLstStart			: "Start",
+DlgLstType			: "Type",
+DlgLstTypeCircle	: "Circle",
+DlgLstTypeDisc		: "Disc",
+DlgLstTypeSquare	: "Square",
+DlgLstTypeNumbers	: "Numbers (1, 2, 3)",
+DlgLstTypeLCase		: "Lowercase Letters (a, b, c)",
+DlgLstTypeUCase		: "Uppercase Letters (A, B, C)",
+DlgLstTypeSRoman	: "Small Roman Numerals (i, ii, iii)",
+DlgLstTypeLRoman	: "Large Roman Numerals (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "General",
+DlgDocBackTab		: "Background",
+DlgDocColorsTab		: "Colours and Margins",
+DlgDocMetaTab		: "Meta Data",
+
+DlgDocPageTitle		: "Page Title",
+DlgDocLangDir		: "Language Direction",
+DlgDocLangDirLTR	: "Left to Right (LTR)",
+DlgDocLangDirRTL	: "Right to Left (RTL)",
+DlgDocLangCode		: "Language Code",
+DlgDocCharSet		: "Character Set Encoding",
+DlgDocCharSetCE		: "Central European",
+DlgDocCharSetCT		: "Chinese Traditional (Big5)",
+DlgDocCharSetCR		: "Cyrillic",
+DlgDocCharSetGR		: "Greek",
+DlgDocCharSetJP		: "Japanese",
+DlgDocCharSetKR		: "Korean",
+DlgDocCharSetTR		: "Turkish",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "Western European",
+DlgDocCharSetOther	: "Other Character Set Encoding",
+
+DlgDocDocType		: "Document Type Heading",
+DlgDocDocTypeOther	: "Other Document Type Heading",
+DlgDocIncXHTML		: "Include XHTML Declarations",
+DlgDocBgColor		: "Background Colour",
+DlgDocBgImage		: "Background Image URL",
+DlgDocBgNoScroll	: "Nonscrolling Background",
+DlgDocCText			: "Text",
+DlgDocCLink			: "Link",
+DlgDocCVisited		: "Visited Link",
+DlgDocCActive		: "Active Link",
+DlgDocMargins		: "Page Margins",
+DlgDocMaTop			: "Top",
+DlgDocMaLeft		: "Left",
+DlgDocMaRight		: "Right",
+DlgDocMaBottom		: "Bottom",
+DlgDocMeIndex		: "Document Indexing Keywords (comma separated)",
+DlgDocMeDescr		: "Document Description",
+DlgDocMeAuthor		: "Author",
+DlgDocMeCopy		: "Copyright",
+DlgDocPreview		: "Preview",
+
+// Templates Dialog
+Templates			: "Templates",
+DlgTemplatesTitle	: "Content Templates",
+DlgTemplatesSelMsg	: "Please select the template to open in the editor<br />(the actual contents will be lost):",
+DlgTemplatesLoading	: "Loading templates list. Please wait...",
+DlgTemplatesNoTpl	: "(No templates defined)",
+DlgTemplatesReplace	: "Replace actual contents",
+
+// About Dialog
+DlgAboutAboutTab	: "About",
+DlgAboutBrowserInfoTab	: "Browser Info",
+DlgAboutLicenseTab	: "License",
+DlgAboutVersion		: "version",
+DlgAboutInfo		: "For further information go to",
+DlgAboutModule		: "Developed for Website Baker<br />modul version 2.9.4",
+
+// Div Dialog
+DlgDivGeneralTab	: "General",
+DlgDivAdvancedTab	: "Advanced",
+DlgDivStyle		: "Style",
+DlgDivInlineStyle	: "Inline Style",
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/es.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/es.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/es.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Spanish language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Contraer Barra",
+ToolbarExpand		: "Expandir Barra",
+
+// Toolbar Items and Context Menu
+Save				: "Guardar",
+NewPage				: "Nueva PÃ¡gina",
+Preview				: "Vista Previa",
+Cut					: "Cortar",
+Copy				: "Copiar",
+Paste				: "Pegar",
+PasteText			: "Pegar como texto plano",
+PasteWord			: "Pegar desde Word",
+Print				: "Imprimir",
+SelectAll			: "Seleccionar Todo",
+RemoveFormat		: "Eliminar Formato",
+InsertLinkLbl		: "VÃ­nculo",
+InsertLink			: "Insertar/Editar VÃ­nculo",
+RemoveLink			: "Eliminar VÃ­nculo",
+VisitLink			: "Abrir enlace",
+Anchor				: "Referencia",
+AnchorDelete		: "Eliminar Referencia",
+InsertImageLbl		: "Imagen",
+InsertImage			: "Insertar/Editar Imagen",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Insertar/Editar Flash",
+InsertTableLbl		: "Tabla",
+InsertTable			: "Insertar/Editar Tabla",
+InsertLineLbl		: "LÃ­nea",
+InsertLine			: "Insertar LÃ­nea Horizontal",
+InsertSpecialCharLbl: "Caracter Especial",
+InsertSpecialChar	: "Insertar Caracter Especial",
+InsertSmileyLbl		: "Emoticons",
+InsertSmiley		: "Insertar Emoticons",
+About				: "Acerca de FCKeditor",
+Bold				: "Negrita",
+Italic				: "Cursiva",
+Underline			: "Subrayado",
+StrikeThrough		: "Tachado",
+Subscript			: "SubÃ­ndice",
+Superscript			: "SuperÃ­ndice",
+LeftJustify			: "Alinear a Izquierda",
+CenterJustify		: "Centrar",
+RightJustify		: "Alinear a Derecha",
+BlockJustify		: "Justificado",
+DecreaseIndent		: "Disminuir SangrÃ­a",
+IncreaseIndent		: "Aumentar SangrÃ­a",
+Blockquote			: "Cita",
+CreateDiv			: "Crear contenedor (div)",
+EditDiv				: "Editar contenedor (div)",
+DeleteDiv			: "Eliminar contenedor (div)",
+Undo				: "Deshacer",
+Redo				: "Rehacer",
+NumberedListLbl		: "NumeraciÃ³n",
+NumberedList		: "Insertar/Eliminar NumeraciÃ³n",
+BulletedListLbl		: "ViÃ±etas",
+BulletedList		: "Insertar/Eliminar ViÃ±etas",
+ShowTableBorders	: "Mostrar Bordes de Tablas",
+ShowDetails			: "Mostrar saltos de PÃ¡rrafo",
+Style				: "Estilo",
+FontFormat			: "Formato",
+Font				: "Fuente",
+FontSize			: "TamaÃ±o",
+TextColor			: "Color de Texto",
+BGColor				: "Color de Fondo",
+Source				: "Fuente HTML",
+Find				: "Buscar",
+Replace				: "Reemplazar",
+SpellCheck			: "OrtografÃ­a",
+UniversalKeyboard	: "Teclado Universal",
+PageBreakLbl		: "Salto de PÃ¡gina",
+PageBreak			: "Insertar Salto de PÃ¡gina",
+
+Form			: "Formulario",
+Checkbox		: "Casilla de VerificaciÃ³n",
+RadioButton		: "Botones de Radio",
+TextField		: "Campo de Texto",
+Textarea		: "Area de Texto",
+HiddenField		: "Campo Oculto",
+Button			: "BotÃ³n",
+SelectionField	: "Campo de SelecciÃ³n",
+ImageButton		: "BotÃ³n Imagen",
+
+FitWindow		: "Maximizar el tamaÃ±o del editor",
+ShowBlocks		: "Mostrar bloques",
+
+// Context Menu
+EditLink			: "Editar VÃ­nculo",
+CellCM				: "Celda",
+RowCM				: "Fila",
+ColumnCM			: "Columna",
+InsertRowAfter		: "Insertar fila en la parte inferior",
+InsertRowBefore		: "Insertar fila en la parte superior",
+DeleteRows			: "Eliminar Filas",
+InsertColumnAfter	: "Insertar columna a la derecha",
+InsertColumnBefore	: "Insertar columna a la izquierda",
+DeleteColumns		: "Eliminar Columnas",
+InsertCellAfter		: "Insertar celda a la derecha",
+InsertCellBefore	: "Insertar celda a la izquierda",
+DeleteCells			: "Eliminar Celdas",
+MergeCells			: "Combinar Celdas",
+MergeRight			: "Combinar a la derecha",
+MergeDown			: "Combinar hacia abajo",
+HorizontalSplitCell	: "Dividir la celda horizontalmente",
+VerticalSplitCell	: "Dividir la celda verticalmente",
+TableDelete			: "Eliminar Tabla",
+CellProperties		: "Propiedades de Celda",
+TableProperties		: "Propiedades de Tabla",
+ImageProperties		: "Propiedades de Imagen",
+FlashProperties		: "Propiedades de Flash",
+
+AnchorProp			: "Propiedades de Referencia",
+ButtonProp			: "Propiedades de BotÃ³n",
+CheckboxProp		: "Propiedades de Casilla",
+HiddenFieldProp		: "Propiedades de Campo Oculto",
+RadioButtonProp		: "Propiedades de BotÃ³n de Radio",
+ImageButtonProp		: "Propiedades de BotÃ³n de Imagen",
+TextFieldProp		: "Propiedades de Campo de Texto",
+SelectionFieldProp	: "Propiedades de Campo de SelecciÃ³n",
+TextareaProp		: "Propiedades de Area de Texto",
+FormProp			: "Propiedades de Formulario",
+
+FontFormats			: "Normal;Con formato;DirecciÃ³n;Encabezado 1;Encabezado 2;Encabezado 3;Encabezado 4;Encabezado 5;Encabezado 6;Normal (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "Procesando XHTML. Por favor, espere...",
+Done				: "Hecho",
+PasteWordConfirm	: "El texto que desea parece provenir de Word. Desea depurarlo antes de pegarlo?",
+NotCompatiblePaste	: "Este comando estÃ¡ disponible sÃ³lo para Internet Explorer version 5.5 or superior. Desea pegar sin depurar?",
+UnknownToolbarItem	: "Item de barra desconocido \"%1\"",
+UnknownCommand		: "Nombre de comando desconocido \"%1\"",
+NotImplemented		: "Comando no implementado",
+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.",
+BrowseServerBlocked : "La ventana de visualizaciÃ³n del servidor no pudo ser abierta. Verifique que su navegador no estÃ© bloqueando las ventanas emergentes (pop up).",
+DialogBlocked		: "No se ha podido abrir la ventana de diÃ¡logo. Verifique que su navegador no estÃ© bloqueando las ventanas emergentes (pop up).",
+VisitLinkBlocked	: "Nose ha podido abrir la ventana. Asegurese de que todos los bloqueadores de popups estÃ¡n deshabilitados.",
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Cancelar",
+DlgBtnClose			: "Cerrar",
+DlgBtnBrowseServer	: "Ver Servidor",
+DlgAdvancedTag		: "Avanzado",
+DlgOpOther			: "<Otro>",
+DlgInfoTab			: "InformaciÃ³n",
+DlgAlertUrl			: "Inserte el URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<No definido>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "OrientaciÃ³n",
+DlgGenLangDirLtr	: "Izquierda a Derecha (LTR)",
+DlgGenLangDirRtl	: "Derecha a Izquierda (RTL)",
+DlgGenLangCode		: "CÃ³d. de idioma",
+DlgGenAccessKey		: "Clave de Acceso",
+DlgGenName			: "Nombre",
+DlgGenTabIndex		: "Indice de tabulaciÃ³n",
+DlgGenLongDescr		: "DescripciÃ³n larga URL",
+DlgGenClass			: "Clases de hojas de estilo",
+DlgGenTitle			: "TÃ­tulo",
+DlgGenContType		: "Tipo de Contenido",
+DlgGenLinkCharset	: "Fuente de caracteres vinculado",
+DlgGenStyle			: "Estilo",
+
+// Image Dialog
+DlgImgTitle			: "Propiedades de Imagen",
+DlgImgInfoTab		: "InformaciÃ³n de Imagen",
+DlgImgBtnUpload		: "Enviar al Servidor",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Cargar",
+DlgImgAlt			: "Texto Alternativo",
+DlgImgWidth			: "Anchura",
+DlgImgHeight		: "Altura",
+DlgImgLockRatio		: "Proporcional",
+DlgBtnResetSize		: "TamaÃ±o Original",
+DlgImgBorder		: "Borde",
+DlgImgHSpace		: "Esp.Horiz",
+DlgImgVSpace		: "Esp.Vert",
+DlgImgAlign			: "AlineaciÃ³n",
+DlgImgAlignLeft		: "Izquierda",
+DlgImgAlignAbsBottom: "Abs inferior",
+DlgImgAlignAbsMiddle: "Abs centro",
+DlgImgAlignBaseline	: "LÃ­nea de base",
+DlgImgAlignBottom	: "Pie",
+DlgImgAlignMiddle	: "Centro",
+DlgImgAlignRight	: "Derecha",
+DlgImgAlignTextTop	: "Tope del texto",
+DlgImgAlignTop		: "Tope",
+DlgImgPreview		: "Vista Previa",
+DlgImgAlertUrl		: "Por favor escriba la URL de la imagen",
+DlgImgLinkTab		: "VÃ­nculo",
+
+// Flash Dialog
+DlgFlashTitle		: "Propiedades de Flash",
+DlgFlashChkPlay		: "AutoejecuciÃ³n",
+DlgFlashChkLoop		: "Repetir",
+DlgFlashChkMenu		: "Activar MenÃº Flash",
+DlgFlashScale		: "Escala",
+DlgFlashScaleAll	: "Mostrar todo",
+DlgFlashScaleNoBorder	: "Sin Borde",
+DlgFlashScaleFit	: "Ajustado",
+
+// Link Dialog
+DlgLnkWindowTitle	: "VÃ­nculo",
+DlgLnkInfoTab		: "InformaciÃ³n de VÃ­nculo",
+DlgLnkTargetTab		: "Destino",
+
+DlgLnkType			: "Tipo de vÃ­nculo",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Referencia en esta pÃ¡gina",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protocolo",
+DlgLnkProtoOther	: "<otro>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Seleccionar una referencia",
+DlgLnkAnchorByName	: "Por Nombre de Referencia",
+DlgLnkAnchorById	: "Por ID de elemento",
+DlgLnkNoAnchors		: "(No hay referencias disponibles en el documento)",
+DlgLnkEMail			: "DirecciÃ³n de E-Mail",
+DlgLnkEMailSubject	: "TÃ­tulo del Mensaje",
+DlgLnkEMailBody		: "Cuerpo del Mensaje",
+DlgLnkUpload		: "Cargar",
+DlgLnkBtnUpload		: "Enviar al Servidor",
+
+DlgLnkTarget		: "Destino",
+DlgLnkTargetFrame	: "<marco>",
+DlgLnkTargetPopup	: "<ventana emergente>",
+DlgLnkTargetBlank	: "Nueva Ventana(_blank)",
+DlgLnkTargetParent	: "Ventana Padre (_parent)",
+DlgLnkTargetSelf	: "Misma Ventana (_self)",
+DlgLnkTargetTop		: "Ventana primaria (_top)",
+DlgLnkTargetFrameName	: "Nombre del Marco Destino",
+DlgLnkPopWinName	: "Nombre de Ventana Emergente",
+DlgLnkPopWinFeat	: "CaracterÃ­sticas de Ventana Emergente",
+DlgLnkPopResize		: "Ajustable",
+DlgLnkPopLocation	: "Barra de ubicaciÃ³n",
+DlgLnkPopMenu		: "Barra de MenÃº",
+DlgLnkPopScroll		: "Barras de desplazamiento",
+DlgLnkPopStatus		: "Barra de Estado",
+DlgLnkPopToolbar	: "Barra de Herramientas",
+DlgLnkPopFullScrn	: "Pantalla Completa (IE)",
+DlgLnkPopDependent	: "Dependiente (Netscape)",
+DlgLnkPopWidth		: "Anchura",
+DlgLnkPopHeight		: "Altura",
+DlgLnkPopLeft		: "PosiciÃ³n Izquierda",
+DlgLnkPopTop		: "PosiciÃ³n Derecha",
+
+DlnLnkMsgNoUrl		: "Por favor tipee el vÃ­nculo URL",
+DlnLnkMsgNoEMail	: "Por favor tipee la direcciÃ³n de e-mail",
+DlnLnkMsgNoAnchor	: "Por favor seleccione una referencia",
+DlnLnkMsgInvPopName	: "El nombre debe empezar con un caracter alfanumÃ©rico y no debe contener espacios",
+
+// Color Dialog
+DlgColorTitle		: "Seleccionar Color",
+DlgColorBtnClear	: "Ninguno",
+DlgColorHighlight	: "Resaltado",
+DlgColorSelected	: "Seleccionado",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Insertar un Emoticon",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Seleccione un caracter especial",
+
+// Table Dialog
+DlgTableTitle		: "Propiedades de Tabla",
+DlgTableRows		: "Filas",
+DlgTableColumns		: "Columnas",
+DlgTableBorder		: "TamaÃ±o de Borde",
+DlgTableAlign		: "AlineaciÃ³n",
+DlgTableAlignNotSet	: "<No establecido>",
+DlgTableAlignLeft	: "Izquierda",
+DlgTableAlignCenter	: "Centrado",
+DlgTableAlignRight	: "Derecha",
+DlgTableWidth		: "Anchura",
+DlgTableWidthPx		: "pixeles",
+DlgTableWidthPc		: "porcentaje",
+DlgTableHeight		: "Altura",
+DlgTableCellSpace	: "Esp. e/celdas",
+DlgTableCellPad		: "Esp. interior",
+DlgTableCaption		: "TÃ­tulo",
+DlgTableSummary		: "SÃ­ntesis",
+DlgTableHeaders		: "Encabezados",
+DlgTableHeadersNone		: "Ninguno",
+DlgTableHeadersColumn	: "Primera columna",
+DlgTableHeadersRow		: "Primera fila",
+DlgTableHeadersBoth		: "Ambas",
+
+// Table Cell Dialog
+DlgCellTitle		: "Propiedades de Celda",
+DlgCellWidth		: "Anchura",
+DlgCellWidthPx		: "pixeles",
+DlgCellWidthPc		: "porcentaje",
+DlgCellHeight		: "Altura",
+DlgCellWordWrap		: "Cortar LÃ­nea",
+DlgCellWordWrapNotSet	: "<No establecido>",
+DlgCellWordWrapYes	: "Si",
+DlgCellWordWrapNo	: "No",
+DlgCellHorAlign		: "AlineaciÃ³n Horizontal",
+DlgCellHorAlignNotSet	: "<No establecido>",
+DlgCellHorAlignLeft	: "Izquierda",
+DlgCellHorAlignCenter	: "Centrado",
+DlgCellHorAlignRight: "Derecha",
+DlgCellVerAlign		: "AlineaciÃ³n Vertical",
+DlgCellVerAlignNotSet	: "<Not establecido>",
+DlgCellVerAlignTop	: "Tope",
+DlgCellVerAlignMiddle	: "Medio",
+DlgCellVerAlignBottom	: "ie",
+DlgCellVerAlignBaseline	: "LÃ­nea de Base",
+DlgCellType		: "Tipo de celda",
+DlgCellTypeData		: "Datos",
+DlgCellTypeHeader	: "Encabezado",
+DlgCellRowSpan		: "Abarcar Filas",
+DlgCellCollSpan		: "Abarcar Columnas",
+DlgCellBackColor	: "Color de Fondo",
+DlgCellBorderColor	: "Color de Borde",
+DlgCellBtnSelect	: "Seleccione...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Buscar y Reemplazar",
+
+// Find Dialog
+DlgFindTitle		: "Buscar",
+DlgFindFindBtn		: "Buscar",
+DlgFindNotFoundMsg	: "El texto especificado no ha sido encontrado.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Reemplazar",
+DlgReplaceFindLbl		: "Texto a buscar:",
+DlgReplaceReplaceLbl	: "Reemplazar con:",
+DlgReplaceCaseChk		: "Coincidir may/min",
+DlgReplaceReplaceBtn	: "Reemplazar",
+DlgReplaceReplAllBtn	: "Reemplazar Todo",
+DlgReplaceWordChk		: "Coincidir toda la palabra",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "La configuraciÃ³n de seguridad de este navegador no permite la ejecuciÃ³n automÃ¡tica de operaciones de cortado. Por favor use el teclado (Ctrl+X).",
+PasteErrorCopy	: "La configuraciÃ³n de seguridad de este navegador no permite la ejecuciÃ³n automÃ¡tica de operaciones de copiado. Por favor use el teclado (Ctrl+C).",
+
+PasteAsText		: "Pegar como Texto Plano",
+PasteFromWord	: "Pegar desde Word",
+
+DlgPasteMsg2	: "Por favor pegue dentro del cuadro utilizando el teclado (<STRONG>Ctrl+V</STRONG>); luego presione <STRONG>OK</STRONG>.",
+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.",
+DlgPasteIgnoreFont		: "Ignorar definiciones de fuentes",
+DlgPasteRemoveStyles	: "Remover definiciones de estilo",
+
+// Color Picker
+ColorAutomatic	: "AutomÃ¡tico",
+ColorMoreColors	: "MÃ¡s Colores...",
+
+// Document Properties
+DocProps		: "Propiedades del Documento",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Propiedades de la Referencia",
+DlgAnchorName		: "Nombre de la Referencia",
+DlgAnchorErrorName	: "Por favor, complete el nombre de la Referencia",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "No se encuentra en el Diccionario",
+DlgSpellChangeTo		: "Cambiar a",
+DlgSpellBtnIgnore		: "Ignorar",
+DlgSpellBtnIgnoreAll	: "Ignorar Todo",
+DlgSpellBtnReplace		: "Reemplazar",
+DlgSpellBtnReplaceAll	: "Reemplazar Todo",
+DlgSpellBtnUndo			: "Deshacer",
+DlgSpellNoSuggestions	: "- No hay sugerencias -",
+DlgSpellProgress		: "Control de OrtografÃ­a en progreso...",
+DlgSpellNoMispell		: "Control finalizado: no se encontraron errores",
+DlgSpellNoChanges		: "Control finalizado: no se ha cambiado ninguna palabra",
+DlgSpellOneChange		: "Control finalizado: se ha cambiado una palabra",
+DlgSpellManyChanges		: "Control finalizado: se ha cambiado %1 palabras",
+
+IeSpellDownload			: "MÃ³dulo de Control de OrtografÃ­a no instalado. Â¿Desea descargarlo ahora?",
+
+// Button Dialog
+DlgButtonText		: "Texto (Valor)",
+DlgButtonType		: "Tipo",
+DlgButtonTypeBtn	: "Boton",
+DlgButtonTypeSbm	: "Enviar",
+DlgButtonTypeRst	: "Reestablecer",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Nombre",
+DlgCheckboxValue	: "Valor",
+DlgCheckboxSelected	: "Seleccionado",
+
+// Form Dialog
+DlgFormName		: "Nombre",
+DlgFormAction	: "AcciÃ³n",
+DlgFormMethod	: "MÃ©todo",
+
+// Select Field Dialog
+DlgSelectName		: "Nombre",
+DlgSelectValue		: "Valor",
+DlgSelectSize		: "TamaÃ±o",
+DlgSelectLines		: "Lineas",
+DlgSelectChkMulti	: "Permitir mÃºltiple selecciÃ³n",
+DlgSelectOpAvail	: "Opciones disponibles",
+DlgSelectOpText		: "Texto",
+DlgSelectOpValue	: "Valor",
+DlgSelectBtnAdd		: "Agregar",
+DlgSelectBtnModify	: "Modificar",
+DlgSelectBtnUp		: "Subir",
+DlgSelectBtnDown	: "Bajar",
+DlgSelectBtnSetValue : "Establecer como predeterminado",
+DlgSelectBtnDelete	: "Eliminar",
+
+// Textarea Dialog
+DlgTextareaName	: "Nombre",
+DlgTextareaCols	: "Columnas",
+DlgTextareaRows	: "Filas",
+
+// Text Field Dialog
+DlgTextName			: "Nombre",
+DlgTextValue		: "Valor",
+DlgTextCharWidth	: "Caracteres de ancho",
+DlgTextMaxChars		: "MÃ¡ximo caracteres",
+DlgTextType			: "Tipo",
+DlgTextTypeText		: "Texto",
+DlgTextTypePass		: "ContraseÃ±a",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Nombre",
+DlgHiddenValue	: "Valor",
+
+// Bulleted List Dialog
+BulletedListProp	: "Propiedades de ViÃ±etas",
+NumberedListProp	: "Propiedades de Numeraciones",
+DlgLstStart			: "Inicio",
+DlgLstType			: "Tipo",
+DlgLstTypeCircle	: "CÃ­rculo",
+DlgLstTypeDisc		: "Disco",
+DlgLstTypeSquare	: "Cuadrado",
+DlgLstTypeNumbers	: "NÃºmeros (1, 2, 3)",
+DlgLstTypeLCase		: "letras en minÃºsculas (a, b, c)",
+DlgLstTypeUCase		: "letras en mayÃºsculas (A, B, C)",
+DlgLstTypeSRoman	: "NÃºmeros Romanos (i, ii, iii)",
+DlgLstTypeLRoman	: "NÃºmeros Romanos (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "General",
+DlgDocBackTab		: "Fondo",
+DlgDocColorsTab		: "Colores y MÃ¡rgenes",
+DlgDocMetaTab		: "Meta InformaciÃ³n",
+
+DlgDocPageTitle		: "TÃ­tulo de PÃ¡gina",
+DlgDocLangDir		: "OrientaciÃ³n de idioma",
+DlgDocLangDirLTR	: "Izq. a Derecha (LTR)",
+DlgDocLangDirRTL	: "Der. a Izquierda (RTL)",
+DlgDocLangCode		: "CÃ³digo de Idioma",
+DlgDocCharSet		: "Codif. de Conjunto de Caracteres",
+DlgDocCharSetCE		: "Centro Europeo",
+DlgDocCharSetCT		: "Chino Tradicional (Big5)",
+DlgDocCharSetCR		: "CirÃ­lico",
+DlgDocCharSetGR		: "Griego",
+DlgDocCharSetJP		: "JaponÃ©s",
+DlgDocCharSetKR		: "Coreano",
+DlgDocCharSetTR		: "Turco",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "Europeo occidental",
+DlgDocCharSetOther	: "Otra CodificaciÃ³n",
+
+DlgDocDocType		: "Encabezado de Tipo de Documento",
+DlgDocDocTypeOther	: "Otro Encabezado",
+DlgDocIncXHTML		: "Incluir Declaraciones XHTML",
+DlgDocBgColor		: "Color de Fondo",
+DlgDocBgImage		: "URL de Imagen de Fondo",
+DlgDocBgNoScroll	: "Fondo sin rolido",
+DlgDocCText			: "Texto",
+DlgDocCLink			: "VÃ­nculo",
+DlgDocCVisited		: "VÃ­nculo Visitado",
+DlgDocCActive		: "VÃ­nculo Activo",
+DlgDocMargins		: "MÃ¡rgenes de PÃ¡gina",
+DlgDocMaTop			: "Tope",
+DlgDocMaLeft		: "Izquierda",
+DlgDocMaRight		: "Derecha",
+DlgDocMaBottom		: "Pie",
+DlgDocMeIndex		: "Claves de indexaciÃ³n del Documento (separados por comas)",
+DlgDocMeDescr		: "DescripciÃ³n del Documento",
+DlgDocMeAuthor		: "Autor",
+DlgDocMeCopy		: "Copyright",
+DlgDocPreview		: "Vista Previa",
+
+// Templates Dialog
+Templates			: "Plantillas",
+DlgTemplatesTitle	: "Contenido de Plantillas",
+DlgTemplatesSelMsg	: "Por favor selecciona la plantilla a abrir en el editor<br>(el contenido actual se perderÃ¡):",
+DlgTemplatesLoading	: "Cargando lista de Plantillas. Por favor, aguarde...",
+DlgTemplatesNoTpl	: "(No hay plantillas definidas)",
+DlgTemplatesReplace	: "Reemplazar el contenido actual",
+
+// About Dialog
+DlgAboutAboutTab	: "Acerca de",
+DlgAboutBrowserInfoTab	: "InformaciÃ³n de Navegador",
+DlgAboutLicenseTab	: "Licencia",
+DlgAboutVersion		: "versiÃ³n",
+DlgAboutInfo		: "Para mayor informaciÃ³n por favor dirigirse a",
+
+// Div Dialog
+DlgDivGeneralTab	: "General",
+DlgDivAdvancedTab	: "Avanzado",
+DlgDivStyle		: "Estilo",
+DlgDivInlineStyle	: "Estilos CSS",
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/km.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/km.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/km.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Khmer language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "á”á„áŸ’ášá½á˜ášá”á¶á§á”ášá€ááŸ",
+ToolbarExpand		: "á–á„áŸ’ášá¸á€ášá”á¶á§á”ášááŸ",
+
+// Toolbar Items and Context Menu
+Save				: "ášá€áŸ’áŸá¶á‘á»á€",
+NewPage				: "á‘áŸ†á–áŸášááŸ’á˜á¸",
+Preview				: "á˜á¾á›áŸá¶á€á›áŸ’á”á„",
+Cut					: "á€á¶ááŸ‹á™á€",
+Copy				: "á…áŸ†á›á„á™á€",
+Paste				: "á…áŸ†á›á„áŠá¶á€áŸ‹",
+PasteText			: "á…áŸ†á›á„áŠá¶á€áŸ‹á‡á¶á¢ááŸ’áá”á‘á’á˜áŸ’á˜áá¶",
+PasteWord			: "á…áŸ†á›á„áŠá¶á€áŸ‹á–á¸ Word",
+Print				: "á”áŸ„áŸ‡á–á»á˜áŸ’á—",
+SelectAll			: "á‡áŸ’ášá¾áŸášá¾áŸá‘á¶áŸ†á„á¢áŸáŸ‹",
+RemoveFormat		: "á›á”áŸ‹á…áŸ„á› á€á¶ášášá…á“á¶",
+InsertLinkLbl		: "áˆáŸ’á“á¶á”áŸ‹",
+InsertLink			: "á”á“áŸ’ááŸ‚á˜/á€áŸ‚á”áŸ’ášáŸ‚ áˆáŸ’á“á¶á”áŸ‹",
+RemoveLink			: "á›á”áŸ‹áˆáŸ’á“á¶á”áŸ‹",
+VisitLink			: "Open Link",	//MISSING
+Anchor				: "á”á“áŸ’ááŸ‚á˜/á€áŸ‚á”áŸ’ášáŸ‚ á™á»ááŸ’á€á¶",
+AnchorDelete		: "Remove Anchor",	//MISSING
+InsertImageLbl		: "ášá¼á”á—á¶á–",
+InsertImage			: "á”á“áŸ’ááŸ‚á˜/á€áŸ‚á”áŸ’ášáŸ‚ ášá¼á”á—á¶á–",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "á”á“áŸ’ááŸ‚á˜/á€áŸ‚á”áŸ’ášáŸ‚ Flash",
+InsertTableLbl		: "áá¶ášá¶á„",
+InsertTable			: "á”á“áŸ’ááŸ‚á˜/á€áŸ‚á”áŸ’ášáŸ‚ áá¶ášá¶á„",
+InsertLineLbl		: "á”á“áŸ’á‘á¶ááŸ‹",
+InsertLine			: "á”á“áŸ’ááŸ‚á˜á”á“áŸ’á‘á¶ááŸ‹á•áŸ’ááŸá€",
+InsertSpecialCharLbl: "á¢á€áŸ’áŸášá–á·áŸáŸáŸ",
+InsertSpecialChar	: "á”á“áŸ’ááŸ‚á˜á¢á€áŸ’áŸášá–á·áŸáŸáŸ",
+InsertSmileyLbl		: "ášá¼á”á—á¶á–",
+InsertSmiley		: "á”á“áŸ’ááŸ‚á˜ ášá¼á”á—á¶á–",
+About				: "á¢áŸ†á–á¸ FCKeditor",
+Bold				: "á¢á€áŸ’áŸášáŠá·áá’áŸ†",
+Italic				: "á¢á€áŸ’áŸášá•áŸ’ááŸá€",
+Underline			: "áŠá·áá”á“áŸ’á‘á¶ááŸ‹á–á¸á€áŸ’ášáŸ„á˜á¢á€áŸ’áŸáš",
+StrikeThrough		: "áŠá·áá”á“áŸ’á‘á¶ááŸ‹á–á¶á€áŸ‹á€ááŸ’áá¶á›á¢á€áŸ’áŸáš",
+Subscript			: "á¢á€áŸ’áŸášáá¼á…á€áŸ’ášáŸ„á˜",
+Superscript			: "á¢á€áŸ’áŸášáá¼á…á›á¾",
+LeftJustify			: "ááŸ†ášá¹á˜á†áŸ’áœáŸá„",
+CenterJustify		: "ááŸ†ášá¹á˜á€ááŸ’áá¶á›",
+RightJustify		: "ááŸ†ášá¹á˜áŸáŸ’áá¶áŸ†",
+BlockJustify		: "ááŸ†ášá¹á˜áŸá„áá¶á„",
+DecreaseIndent		: "á”á“áŸ’áá™á€á¶ášá…á¼á›á”á“áŸ’á‘á¶ááŸ‹",
+IncreaseIndent		: "á”á“áŸ’ááŸ‚á˜á€á¶ášá…á¼á›á”á“áŸ’á‘á¶ááŸ‹",
+Blockquote			: "Blockquote",	//MISSING
+CreateDiv			: "Create Div Container",	//MISSING
+EditDiv				: "Edit Div Container",	//MISSING
+DeleteDiv			: "Remove Div Container",	//MISSING
+Undo				: "áŸá¶ášá¡á¾á„áœá·á‰",
+Redo				: "á’áŸ’áœá¾á¡á¾á„áœá·á‰",
+NumberedListLbl		: "á”á‰áŸ’á‡á¸á‡á¶á¢á€áŸ’áŸáš",
+NumberedList		: "á”á“áŸ’ááŸ‚á˜/á›á”áŸ‹ á”á‰áŸ’á‡á¸á‡á¶á¢á€áŸ’áŸáš",
+BulletedListLbl		: "á”á‰áŸ’á‡á¸á‡á¶ášá„áŸ’áœá„áŸ‹á˜á¼á›",
+BulletedList		: "á”á“áŸ’ááŸ‚á˜/á›á”áŸ‹ á”á‰áŸ’á‡á¸á‡á¶ášá„áŸ’áœá„áŸ‹á˜á¼á›",
+ShowTableBorders	: "á”á„áŸ’á á¶á‰áŸáŸŠá»á˜áá¶ášá¶á„",
+ShowDetails			: "á”á„áŸ’á á¶á‰á–á·áŸáŸ’áá¶áš",
+Style				: "á˜áŸ‰á¼á",
+FontFormat			: "ášá…á“á¶",
+Font				: "á áŸ’áœá»á„",
+FontSize			: "á‘áŸ†á áŸ†",
+TextColor			: "á–ááŸŒá¢á€áŸ’áŸáš",
+BGColor				: "á–ááŸŒá•áŸ’á‘áŸƒáá¶á„á€áŸ’ášáŸ„á™",
+Source				: "á€á¼á",
+Find				: "áŸáŸ’áœáŸ‚á„ášá€",
+Replace				: "á‡áŸ†á“á½áŸ",
+SpellCheck			: "á–á·á“á·ááŸ’á™á¢á€áŸ’áášá¶áœá·ášá»á‘áŸ’á’",
+UniversalKeyboard	: "á€áŸ’áá¶ášá–á»á˜áŸ’á—á¢á€áŸ’áŸášáŸá€á›",
+PageBreakLbl		: "á€á¶ášá•áŸ’áá¶á…áŸ‹á‘áŸ†á–áŸáš",
+PageBreak			: "á”á“áŸ’ááŸ‚á˜ á€á¶ášá•áŸ’áá¶á…áŸ‹á‘áŸ†á–áŸáš",
+
+Form			: "á”áŸ‚á”á”á‘",
+Checkbox		: "á”áŸ’ášá¢á”áŸ‹á‡áŸ’ášá¾áŸášá¾áŸ",
+RadioButton		: "á”áŸ‰á¼áá»á“ášá„áŸ’áœá„áŸ‹á˜á¼á›",
+TextField		: "á‡á½ášáŸášáŸáŸášá¢ááŸ’áá”á‘",
+Textarea		: "ááŸ†á”á“áŸ‹áŸášáŸáŸášá¢ááŸ’áá”á‘",
+HiddenField		: "á‡á½ášá›á¶á€áŸ‹",
+Button			: "á”áŸ‰á¼áá»á“",
+SelectionField	: "á‡á½ášá‡áŸ’ášá¾áŸášá¾áŸ",
+ImageButton		: "á”áŸ‰á¼áá»á“ášá¼á”á—á¶á–",
+
+FitWindow		: "Maximize the editor size",	//MISSING
+ShowBlocks		: "Show Blocks",	//MISSING
+
+// Context Menu
+EditLink			: "á€áŸ‚á”áŸ’ášáŸ‚áˆáŸ’á“á¶á”áŸ‹",
+CellCM				: "Cell",	//MISSING
+RowCM				: "Row",	//MISSING
+ColumnCM			: "Column",	//MISSING
+InsertRowAfter		: "Insert Row After",	//MISSING
+InsertRowBefore		: "Insert Row Before",	//MISSING
+DeleteRows			: "á›á”áŸ‹á‡á½ášá•áŸ’ááŸá€",
+InsertColumnAfter	: "Insert Column After",	//MISSING
+InsertColumnBefore	: "Insert Column Before",	//MISSING
+DeleteColumns		: "á›á”áŸ‹á‡á½ášáˆáš",
+InsertCellAfter		: "Insert Cell After",	//MISSING
+InsertCellBefore	: "Insert Cell Before",	//MISSING
+DeleteCells			: "á›á”áŸ‹áŸáŸ‚á›",
+MergeCells			: "á”á‰áŸ’á‡á¼á›áŸáŸ‚á›",
+MergeRight			: "Merge Right",	//MISSING
+MergeDown			: "Merge Down",	//MISSING
+HorizontalSplitCell	: "Split Cell Horizontally",	//MISSING
+VerticalSplitCell	: "Split Cell Vertically",	//MISSING
+TableDelete			: "á›á”áŸ‹áá¶ášá¶á„",
+CellProperties		: "á€á¶ášá€áŸ†áááŸ‹áŸáŸ‚á›",
+TableProperties		: "á€á¶ášá€áŸ†áááŸ‹áá¶ášá¶á„",
+ImageProperties		: "á€á¶ášá€áŸ†áááŸ‹ášá¼á”á—á¶á–",
+FlashProperties		: "á€á¶ášá€áŸ†áááŸ‹ Flash",
+
+AnchorProp			: "á€á¶ášá€áŸ†áááŸ‹á™á»ááŸ’á€á¶",
+ButtonProp			: "á€á¶ášá€áŸ†áááŸ‹ á”áŸ‰á¼áá»á“",
+CheckboxProp		: "á€á¶ášá€áŸ†áááŸ‹á”áŸ’ášá¢á”áŸ‹á‡áŸ’ášá¾áŸášá¾áŸ",
+HiddenFieldProp		: "á€á¶ášá€áŸ†áááŸ‹á‡á½ášá›á¶á€áŸ‹",
+RadioButtonProp		: "á€á¶ášá€áŸ†áááŸ‹á”áŸ‰á¼áá»á“ášá„áŸ’áœá„áŸ‹",
+ImageButtonProp		: "á€á¶ášá€áŸ†áááŸ‹á”áŸ‰á¼áá»á“ášá¼á”á—á¶á–",
+TextFieldProp		: "á€á¶ášá€áŸ†áááŸ‹á‡á½ášá¢ááŸ’áá”á‘",
+SelectionFieldProp	: "á€á¶ášá€áŸ†áááŸ‹á‡á½ášá‡áŸ’ášá¾áŸášá¾áŸ",
+TextareaProp		: "á€á¶ášá€áŸ†áááŸ‹á€á“áŸ’á›áŸ‚á„áŸášáŸáŸášá¢ááŸ’áá”á‘",
+FormProp			: "á€á¶ášá€áŸ†áááŸ‹á”áŸ‚á”á”á‘",
+
+FontFormats			: "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "á€áŸ†á–á»á„áŠáŸ†áá¾ášá€á¶áš XHTML áŸ” áŸá¼á˜ášá„á…á¶áŸ†...",
+Done				: "á…á”áŸ‹ášá½á…ášá¶á›áŸ‹",
+PasteWordConfirm	: "á¢ááŸ’áá”á‘áŠáŸ‚á›á›áŸ„á€á¢áŸ’á“á€á”áŸ†ášá»á„á…áŸ†á›á„áŠá¶á€áŸ‹ á á¶á€áŸ‹á”á¸áŠá¼á…á‡á¶ááŸ’ášá¼áœá…áŸ†á›á„á˜á€á–á¸á€á˜áŸ’á˜áœá·á’á¸â€‹Wordâ€‹áŸ” áá¾á›áŸ„á€á¢áŸ’á“á€á…á„áŸ‹áŸáŸ†á¢á¶áá˜á»á“á…áŸ†á›á„á¢ááŸ’áá”á‘áŠá¶á€áŸ‹á‘áŸ?",
+NotCompatiblePaste	: "á–á¶á€áŸ’á™á”á‰áŸ’á‡á¶á“áŸáŸ‡á”áŸ’ášá¾á”á¶á“ááŸ‚á‡á¶á˜á½á™ Internet Explorer á€áŸ†ášá·á 5.5 ášáº á›á¾áŸá“áŸáŸ‡ áŸ” áá¾á›áŸ„á€á¢áŸ’á“á€á…á„áŸ‹á…áŸ†á›á„áŠá¶á€áŸ‹áŠáŸ„á™á˜á·á“á…á¶áŸ†á”á¶á…áŸ‹áŸáŸ†á¢á¶áá‘áŸ?",
+UnknownToolbarItem	: "áœááŸ’áá»á›á¾ášá”á¶á§á”ášá€ááŸ á˜á·á“áŸáŸ’á‚á¶á›áŸ‹ \"%1\"",
+UnknownCommand		: "áˆáŸ’á˜áŸ„áŸ‡á–á¶á€áŸ’á™á”á‰áŸ’á‡á¶ á˜á·á“áŸáŸ’á‚á¶á›áŸ‹ \"%1\"",
+NotImplemented		: "á–á¶á€áŸ’á™á”á‰áŸ’á‡á¶ á˜á·á“á”á¶á“á¢á“á»áœááŸ’á",
+UnknownToolbarSet	: "ášá”á¶á§á”ášá€ááŸ \"%1\" á–á»áŸ†á˜á¶á“ áŸ”",
+NoActiveX			: "á€á¶ášá€áŸ†áááŸ‹áŸá»áœááŸ’áá—á¶á–ášá”áŸáŸ‹á€á˜áŸ’á˜áœá·á’á¸ášá»á€ášá€ášá”áŸáŸ‹á›áŸ„á€á¢áŸ’á“á€ á“áŸáŸ‡â€‹á¢á¶á…á’áŸ’áœá¾á¢áŸ„á™á›áŸ„á€á¢áŸ’á“á€á˜á·á“á¢á¶á…á”áŸ’ášá¾á˜á»áá„á¶ášááŸ’á›áŸ‡ášá”áŸáŸ‹á€á˜áŸ’á˜áœá·á’á¸áá¶á€áŸ‹ááŸ‚á„á¢ááŸ’áá”á‘á“áŸáŸ‡ áŸ” á›áŸ„á€á¢áŸ’á“á€ááŸ’ášá¼áœá€áŸ†áááŸ‹á¢áŸ„á™ \"ActiveX á“á·á„â€‹á€á˜áŸ’á˜áœá·á’á¸á‡áŸ†á“á½á™á€áŸ’á“á»á„ (plug-ins)\" á¢áŸ„á™áŠáŸ†áá¾ášá€á¶áš áŸ” á›áŸ„á€á¢áŸ’á“á€á¢á¶á…á‡á½á”á”áŸ’ášá‘áŸ‡á“á¹á„ á”á‰áŸ’á á¶ á–áŸ’ášá˜á‡á¶á˜á½á™á“á¹á„á€á¶ášá”á¶ááŸ‹á”á„áŸ‹á˜á»áá„á¶ášáá¶á˜á½á™ášá”áŸáŸ‹á€á˜áŸ’á˜áœá·á’á¸áá¶á€áŸ‹ááŸ‚á„á¢ááŸ’áá”á‘á“áŸáŸ‡ áŸ”",
+BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",	//MISSING
+DialogBlocked		: "áœá¸á“áŠá¼áœá˜á·á“á¢á¶á…á”á¾á€á”á¶á“á‘áŸ áŸ” áŸá¼á˜á–á·á“á·ááŸ’á™á…áŸ†á–áŸ„áŸ‡á€á˜áŸ’á˜áœá·á’á¸á”á·á‘ áœá¸á“áŠá¼áœá›áŸ„á (popup) áá¶áá¾áœá¶áŠáŸ†áá¾ášá€á¶ášášáºá‘áŸ áŸ”",
+VisitLinkBlocked	: "It was not possible to open a new window. Make sure all popup blockers are disabled.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "á™á›áŸ‹á–áŸ’ášá˜",
+DlgBtnCancel		: "á˜á·á“á™á›áŸ‹á–áŸ’ášá˜",
+DlgBtnClose			: "á”á·á‘",
+DlgBtnBrowseServer	: "á˜á¾á›",
+DlgAdvancedTag		: "á€áŸ†ášá·áááŸ’á–áŸáŸ‹",
+DlgOpOther			: "<á•áŸ’áŸáŸá„á‘áŸ…á>",
+DlgInfoTab			: "á–ááŸŒá˜á¶á“",
+DlgAlertUrl			: "áŸá¼á˜áŸášáŸáŸáš URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<á˜á·á“á˜áŸ‚á“>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "á‘á·áŸáŠáŸ…á—á¶áŸá¶",
+DlgGenLangDirLtr	: "á–á¸á†áŸ’áœáŸá„á‘áŸ…áŸáŸ’áá¶áŸ†(LTR)",
+DlgGenLangDirRtl	: "á–á¸áŸáŸ’áá¶áŸ†á‘áŸ…á†áŸ’áœáŸá„(RTL)",
+DlgGenLangCode		: "á›áŸáá€á¼áá—á¶áŸá¶",
+DlgGenAccessKey		: "áƒá¸ áŸáŸ†ášá¶á”áŸ‹á…á¼á›",
+DlgGenName			: "áˆáŸ’á˜áŸ„áŸ‡",
+DlgGenTabIndex		: "á›áŸá Tab",
+DlgGenLongDescr		: "á¢á’á·á”áŸ’á”á¶á™ URL áœáŸ‚á„",
+DlgGenClass			: "Stylesheet Classes",
+DlgGenTitle			: "á…áŸ†áá„á‡á¾á„ á”áŸ’ášá¹á€áŸ’áŸá¶",
+DlgGenContType		: "á”áŸ’ášá—áŸá‘á¢ááŸ’áá”á‘ á”áŸ’ášá¹á€áŸ’áŸá¶",
+DlgGenLinkCharset	: "á›áŸáá€á¼áá¢á€áŸ’áŸášášá”áŸáŸ‹áˆáŸ’á“á¶á”áŸ‹",
+DlgGenStyle			: "á˜áŸ‰á¼á",
+
+// Image Dialog
+DlgImgTitle			: "á€á¶ášá€áŸ†áááŸ‹ášá¼á”á—á¶á–",
+DlgImgInfoTab		: "á–ááŸŒá˜á¶á“á¢áŸ†á–á¸ášá¼á”á—á¶á–",
+DlgImgBtnUpload		: "á”á‰áŸ’á‡á¼á“á‘áŸ…á€á¶á“áŸ‹á˜áŸ‰á¶áŸáŸŠá¸á“á•áŸ’áá›áŸ‹áŸáŸáœá¶",
+DlgImgURL			: "URL",
+DlgImgUpload		: "á‘á¶á‰á™á€",
+DlgImgAlt			: "á¢ááŸ’áá”á‘á‡áŸ†á“á½áŸ",
+DlgImgWidth			: "á‘á‘á¹á„",
+DlgImgHeight		: "á€áŸ†á–áŸáŸ‹",
+DlgImgLockRatio		: "á¢ááŸ’ášá¶á¡á»á€",
+DlgBtnResetSize		: "á€áŸ†áááŸ‹á‘áŸ†á áŸ†á¡á¾á„áœá·á‰",
+DlgImgBorder		: "áŸáŸŠá»á˜",
+DlgImgHSpace		: "á‚áŸ†á›á¶áá‘á‘á¹á„",
+DlgImgVSpace		: "á‚áŸ†á›á¶áá”ááŸ’ááŸ„á™",
+DlgImgAlign			: "á€áŸ†áááŸ‹á‘á¸áá¶áŸ†á„",
+DlgImgAlignLeft		: "áá¶á„á†áŸ’áœá„",
+DlgImgAlignAbsBottom: "Abs Bottom",	//MISSING
+DlgImgAlignAbsMiddle: "Abs Middle",	//MISSING
+DlgImgAlignBaseline	: "á”á“áŸ’á‘á¶ááŸ‹á‡á¶á˜á¼á›áŠáŸ’á‹á¶á“",
+DlgImgAlignBottom	: "áá¶á„á€áŸ’ášáŸ„á˜",
+DlgImgAlignMiddle	: "á€ááŸ’áá¶á›",
+DlgImgAlignRight	: "áá¶á„áŸáŸ’áá¶áŸ†",
+DlgImgAlignTextTop	: "á›á¾á¢ááŸ’áá”á‘",
+DlgImgAlignTop		: "áá¶á„á›á¾",
+DlgImgPreview		: "á˜á¾á›áŸá¶á€á›áŸ’á”á„",
+DlgImgAlertUrl		: "áŸá¼á˜áŸášáŸáŸášá„á¶áŸáŸá™áŠáŸ’á‹á¶á“ášá”áŸáŸ‹ášá¼á”á—á¶á–",
+DlgImgLinkTab		: "áˆáŸ’á“á¶á”áŸ‹",
+
+// Flash Dialog
+DlgFlashTitle		: "á€á¶ášá€áŸ†áááŸ‹ Flash",
+DlgFlashChkPlay		: "á›áŸá„áŠáŸ„á™áŸáŸ’áœáŸá™á”áŸ’ášáœááŸ’á",
+DlgFlashChkLoop		: "á…áŸ†á“á½á“áŠá„",
+DlgFlashChkMenu		: "á”á„áŸ’á á¶á‰ á˜áºá“á»á™ášá”áŸáŸ‹ Flash",
+DlgFlashScale		: "á‘áŸ†á áŸ†",
+DlgFlashScaleAll	: "á”á„áŸ’á á¶á‰á‘á¶áŸ†á„á¢áŸáŸ‹",
+DlgFlashScaleNoBorder	: "á˜á·á“á”á„áŸ’á á¶á‰áŸáŸŠá»á˜",
+DlgFlashScaleFit	: "ááŸ’ášá¼áœá›áŸ’á˜á˜",
+
+// Link Dialog
+DlgLnkWindowTitle	: "áˆáŸ’á“á¶á”áŸ‹",
+DlgLnkInfoTab		: "á–ááŸŒá˜á¶á“á¢áŸ†á–á¸áˆáŸ’á“á¶á”áŸ‹",
+DlgLnkTargetTab		: "á‚áŸ„á›áŠáŸ…",
+
+DlgLnkType			: "á”áŸ’ášá—áŸá‘áˆáŸ’á“á¶á”áŸ‹",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "á™á»ááŸ’á€á¶á“áŸ…á€áŸ’á“á»á„á‘áŸ†á–áŸášá“áŸáŸ‡",
+DlgLnkTypeEMail		: "á¢áŸŠá¸á˜áŸ‚á›",
+DlgLnkProto			: "á”áŸ’ášá¼áá¼á€á¼á›",
+DlgLnkProtoOther	: "<á•áŸ’áŸáŸá„á‘áŸ€á>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "á‡áŸ’ášá¾áŸášá¾áŸá™á»ááŸ’á€á¶",
+DlgLnkAnchorByName	: "áá¶á˜áˆáŸ’á˜áŸ„áŸ‡ášá”áŸáŸ‹á™á»ááŸ’á€á¶",
+DlgLnkAnchorById	: "áá¶á˜ Id",
+DlgLnkNoAnchors		: "(No anchors available in the document)",	//MISSING
+DlgLnkEMail			: "á¢áŸŠá¸á˜áŸ‚á›",
+DlgLnkEMailSubject	: "á…áŸ†áá„á‡á¾á„á¢ááŸ’áá”á‘",
+DlgLnkEMailBody		: "á¢ááŸ’áá”á‘",
+DlgLnkUpload		: "á‘á¶á‰á™á€",
+DlgLnkBtnUpload		: "á‘á¶á‰á™á€",
+
+DlgLnkTarget		: "á‚áŸ„á›áŠáŸ…",
+DlgLnkTargetFrame	: "<á áŸ’áœáŸ’ášáŸá˜>",
+DlgLnkTargetPopup	: "<áœá¸á“áŠá¼áœ á›áŸ„á>",
+DlgLnkTargetBlank	: "áœá¸á“áŠá¼áœááŸ’á˜á¸ (_blank)",
+DlgLnkTargetParent	: "áœá¸á“áŠá¼áœá˜áŸ (_parent)",
+DlgLnkTargetSelf	: "áœá¸á“áŠá¼áœáŠáŠáŸ‚á› (_self)",
+DlgLnkTargetTop		: "áœá¸á“áŠá¼áœá“áŸ…á›á¾á‚áŸ(_top)",
+DlgLnkTargetFrameName	: "áˆáŸ’á˜áŸ„áŸ‡á áŸ’ášáŸ’áœáŸá˜áŠáŸ‚á›á‡á¶á‚áŸ„á›áŠáŸ…",
+DlgLnkPopWinName	: "áˆáŸ’á˜áŸ„áŸ‡áœá¸á“áŠá¼áœá›áŸ„á",
+DlgLnkPopWinFeat	: "á›á€áŸ’áááŸ‡ášá”áŸáŸ‹áœá¸á“áŠá¼á›á›áŸ„á",
+DlgLnkPopResize		: "á‘áŸ†á áŸ†á¢á¶á…á•áŸ’á›á¶áŸáŸ‹á”áŸ’áá¼áš",
+DlgLnkPopLocation	: "ášá”á¶ á‘á¸áá¶áŸ†á„",
+DlgLnkPopMenu		: "ášá”á¶ á˜áºá“á»á™",
+DlgLnkPopScroll		: "ášá”á¶ á‘á¶á‰",
+DlgLnkPopStatus		: "ášá”á¶ á–ááŸŒá˜á¶á“",
+DlgLnkPopToolbar	: "ášá”á¶ á©á”á€ášááŸ",
+DlgLnkPopFullScrn	: "á¢áŸá€áŸ’ášá»á„á–áŸá‰(IE)",
+DlgLnkPopDependent	: "á¢á¶áŸáŸ’ášáŸá™á›á¾ (Netscape)",
+DlgLnkPopWidth		: "á‘á‘á¹á„",
+DlgLnkPopHeight		: "á€áŸ†á–áŸáŸ‹",
+DlgLnkPopLeft		: "á‘á¸áá¶áŸ†á„áá¶á„á†áŸ’áœáŸá„",
+DlgLnkPopTop		: "á‘á¸áá¶áŸ†á„áá¶á„á›á¾",
+
+DlnLnkMsgNoUrl		: "áŸá¼á˜áŸášáŸáŸáš á¢á¶áŸáŸá™áŠáŸ’á‹á¶á“ URL",
+DlnLnkMsgNoEMail	: "áŸá¼á˜áŸášáŸáŸáš á¢á¶áŸáŸá™áŠáŸ’á‹á¶á“ á¢áŸŠá¸á˜áŸ‚á›",
+DlnLnkMsgNoAnchor	: "áŸá¼á˜á‡áŸ’ášá¾áŸášá¾áŸ á™á»ááŸ’á€á¶",
+DlnLnkMsgInvPopName	: "The popup name must begin with an alphabetic character and must not contain spaces",	//MISSING
+
+// Color Dialog
+DlgColorTitle		: "á‡áŸ’ášá¾áŸášá¾áŸ á–ááŸŒ",
+DlgColorBtnClear	: "á›á”áŸ‹",
+DlgColorHighlight	: "á•á¶ááŸ‹á–ááŸŒ",
+DlgColorSelected	: "á”á¶á“á‡áŸ’ášá¾áŸášá¾áŸ",
+
+// Smiley Dialog
+DlgSmileyTitle		: "á”á‰áŸ’á‡á¼á›ášá¼á”á—á¶á–",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "áá¼á¢á€áŸ’áŸášá–á·áŸáŸáŸ",
+
+// Table Dialog
+DlgTableTitle		: "á€á¶ášá€áŸ†áááŸ‹ áá¶ášá¶á„",
+DlgTableRows		: "á‡á½ášá•áŸ’ááŸá€",
+DlgTableColumns		: "á‡á½ášáˆáš",
+DlgTableBorder		: "á‘áŸ†á áŸ†áŸáŸŠá»á˜",
+DlgTableAlign		: "á€á¶ášá€áŸ†áááŸ‹á‘á¸áá¶áŸ†á„",
+DlgTableAlignNotSet	: "<á˜á·á“á€áŸ†áááŸ‹>",
+DlgTableAlignLeft	: "áá¶á„á†áŸ’áœáŸá„",
+DlgTableAlignCenter	: "á€ááŸ’áá¶á›",
+DlgTableAlignRight	: "áá¶á„áŸáŸ’áá¶áŸ†",
+DlgTableWidth		: "á‘á‘á¹á„",
+DlgTableWidthPx		: "á—á¸á€áŸáŸ‚á›",
+DlgTableWidthPc		: "á—á¶á‚ášá™",
+DlgTableHeight		: "á€áŸ†á–áŸáŸ‹",
+DlgTableCellSpace	: "á‚áŸ†á›á¶ááŸáŸ‚á›",
+DlgTableCellPad		: "á‚áŸ‚á˜áŸáŸ‚á›",
+DlgTableCaption		: "á…áŸ†áá„á‡á¾á„",
+DlgTableSummary		: "áŸáŸá…á€áŸ’áá¸áŸá„áŸ’ááŸá”",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "á€á¶ášá€áŸ†áááŸ‹ áŸáŸ‚á›",
+DlgCellWidth		: "á‘á‘á¹á„",
+DlgCellWidthPx		: "á—á¸á€áŸáŸ‚á›",
+DlgCellWidthPc		: "á—á¶á‚ášá™",
+DlgCellHeight		: "á€áŸ†á–áŸáŸ‹",
+DlgCellWordWrap		: "á”á„áŸ’á á¶á‰á¢ááŸ’áá”á‘á‘á¶áŸ†á„á¢áŸáŸ‹",
+DlgCellWordWrapNotSet	: "<á˜á·á“á€áŸ†áááŸ‹>",
+DlgCellWordWrapYes	: "á”á¶á‘(á…á¶)",
+DlgCellWordWrapNo	: "á‘áŸ",
+DlgCellHorAlign		: "ááŸ†ášá¹á˜á•áŸ’ááŸá€",
+DlgCellHorAlignNotSet	: "<á˜á·á“á€áŸ†áááŸ‹>",
+DlgCellHorAlignLeft	: "áá¶á„á†áŸ’áœáŸá„",
+DlgCellHorAlignCenter	: "á€ááŸ’áá¶á›",
+DlgCellHorAlignRight: "Right",	//MISSING
+DlgCellVerAlign		: "ááŸ†ášá¹á˜áˆáš",
+DlgCellVerAlignNotSet	: "<á˜á·á“á€áááŸ‹>",
+DlgCellVerAlignTop	: "áá¶á„á›á¾",
+DlgCellVerAlignMiddle	: "á€ááŸ’áá¶á›",
+DlgCellVerAlignBottom	: "áá¶á„á€áŸ’ášáŸ„á˜",
+DlgCellVerAlignBaseline	: "á”á“áŸ’á‘á¶ááŸ‹á‡á¶á˜á¼á›áŠáŸ’á‹á¶á“",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "á”á‰áŸ’á‡á¼á›á‡á½ášá•áŸ’ááŸá€",
+DlgCellCollSpan		: "á”á‰áŸ’á‡á¼á›á‡á½ášáˆáš",
+DlgCellBackColor	: "á–ááŸŒá•áŸ’á“áŸ‚á€áá¶á„á€áŸ’ášáŸ„á˜",
+DlgCellBorderColor	: "á–ááŸŒáŸáŸŠá»á˜",
+DlgCellBtnSelect	: "á‡áŸ’ášá¾áŸášá¾áŸ...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Find and Replace",	//MISSING
+
+// Find Dialog
+DlgFindTitle		: "áŸáŸ’áœáŸ‚á„ášá€",
+DlgFindFindBtn		: "áŸáŸ’áœáŸ‚á„ášá€",
+DlgFindNotFoundMsg	: "á–á¶á€áŸ’á™á“áŸáŸ‡ ášá€á˜á·á“áƒá¾á‰á‘áŸ áŸ”",
+
+// Replace Dialog
+DlgReplaceTitle			: "á‡áŸ†á“á½áŸ",
+DlgReplaceFindLbl		: "áŸáŸ’áœáŸ‚á„ášá€á¢áŸ’áœá¸:",
+DlgReplaceReplaceLbl	: "á‡áŸ†á“á½áŸá‡á¶á˜á½á™:",
+DlgReplaceCaseChk		: "á€ášááŸ‰ááŸ’ášá¼áœášá€",
+DlgReplaceReplaceBtn	: "á‡áŸ†á“á½áŸ",
+DlgReplaceReplAllBtn	: "á‡áŸ†á“á½áŸá‘á¶áŸ†á„á¢áŸáŸ‹",
+DlgReplaceWordChk		: "ááŸ’ášá¼áœá–á¶á€áŸ’á™á‘á¶áŸ†á„á¢áŸáŸ‹",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "á€á¶ášá€áŸ†áááŸ‹áŸá»áœááŸ’áá—á¶á–ášá”áŸáŸ‹á€á˜áŸ’á˜áœá·á’á¸ášá»á€ášá€ášá”áŸáŸ‹á›áŸ„á€á¢áŸ’á“á€ á“áŸáŸ‡â€‹á˜á·á“á¢á¶á…á’áŸ’áœá¾á€á˜áŸ’á˜áœá·á’á¸áá¶á€áŸ‹ááŸ‚á„á¢ááŸ’áá”á‘ á€á¶ááŸ‹á¢ááŸ’áá”á‘á™á€áŠáŸ„á™áŸáŸ’áœáŸá™á”áŸ’ášáœááŸ’áá”á¶á“á¡á¾á™ áŸ” áŸá¼á˜á”áŸ’ášá¾á”áŸ’ášá¶áŸáŸ‹á”á“áŸ’áŸáŸ† áƒá¸áŠá¼á…á“áŸáŸ‡  (Ctrl+X) áŸ”",
+PasteErrorCopy	: "á€á¶ášá€áŸ†áááŸ‹áŸá»áœááŸ’áá—á¶á–ášá”áŸáŸ‹á€á˜áŸ’á˜áœá·á’á¸ášá»á€ášá€ášá”áŸáŸ‹á›áŸ„á€á¢áŸ’á“á€ á“áŸáŸ‡â€‹á˜á·á“á¢á¶á…á’áŸ’áœá¾á€á˜áŸ’á˜áœá·á’á¸áá¶á€áŸ‹ááŸ‚á„á¢ááŸ’áá”á‘ á…áŸ†á›á„á¢ááŸ’áá”á‘á™á€áŠáŸ„á™áŸáŸ’áœáŸá™á”áŸ’ášáœááŸ’áá”á¶á“á¡á¾á™ áŸ” áŸá¼á˜á”áŸ’ášá¾á”áŸ’ášá¶áŸáŸ‹á”á“áŸ’áŸáŸ† áƒá¸áŠá¼á…á“áŸáŸ‡ (Ctrl+C)áŸ”",
+
+PasteAsText		: "á…áŸ†á›á„áŠá¶á€áŸ‹á¢ááŸ’áá”á‘á’á˜áŸ’á˜áá¶",
+PasteFromWord	: "á…áŸ†á›á„á–á¶á€áŸ’á™á–á¸á€á˜áŸ’á˜áœá·á’á¸ Word",
+
+DlgPasteMsg2	: "áŸá¼á˜á…áŸ†á›á„á¢ááŸ’áá”á‘á‘áŸ…áŠá¶á€áŸ‹á€áŸ’á“á»á„á”áŸ’ášá¢á”áŸ‹áŠá¼á…áá¶á„á€áŸ’ášáŸ„á˜áŠáŸ„á™á”áŸ’ášá¾á”áŸ’ášá¶áŸáŸ‹ áƒá¸ â€‹(<STRONG>Ctrl+V</STRONG>) á á¾á™á…á»á… <STRONG>OK</STRONG> áŸ”",
+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
+DlgPasteIgnoreFont		: "á˜á·á“á‚á·áá¢áŸ†á–á¸á”áŸ’ášá—áŸá‘á–á»á˜áŸ’á—á¢á€áŸ’áŸáš",
+DlgPasteRemoveStyles	: "á›á”áŸ‹á˜áŸ‰á¼á",
+
+// Color Picker
+ColorAutomatic	: "áŸáŸ’áœáŸá™á”áŸ’ášáœááŸ’á",
+ColorMoreColors	: "á–ááŸŒá•áŸ’áŸáŸá„á‘áŸ€á..",
+
+// Document Properties
+DocProps		: "á€á¶ášá€áŸ†áááŸ‹ á¯á€áŸá¶áš",
+
+// Anchor Dialog
+DlgAnchorTitle		: "á€á¶ášá€áŸ†áááŸ‹á…áŸ†áá„á‡á¾á„á™á»á‘áŸ’á’ááŸ’á€á¶",
+DlgAnchorName		: "áˆáŸ’á˜áŸ„áŸ‡á™á»á‘áŸ’á’ááŸ’á€á¶",
+DlgAnchorErrorName	: "áŸá¼á˜áŸášáŸáŸáš áˆáŸ’á˜áŸ„áŸ‡á™á»á‘áŸ’á’ááŸ’á€á¶",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "á‚áŸ’á˜á¶á“á€áŸ’á“á»á„áœá…á“á¶á“á»á€áŸ’ášá˜",
+DlgSpellChangeTo		: "á•áŸ’á›á¶áŸáŸ‹á”áŸ’áá¼ášá‘áŸ…",
+DlgSpellBtnIgnore		: "á˜á·á“á•áŸ’á›á¶áŸáŸ‹á”áŸ’áá¼áš",
+DlgSpellBtnIgnoreAll	: "á˜á·á“á•áŸ’á›á¶áŸáŸ‹á”áŸ’áá¼áš á‘á¶áŸ†á„á¢áŸáŸ‹",
+DlgSpellBtnReplace		: "á‡áŸ†á“á½áŸ",
+DlgSpellBtnReplaceAll	: "á‡áŸ†á“á½áŸá‘á¶áŸ†á„á¢áŸáŸ‹",
+DlgSpellBtnUndo			: "áŸá¶ášá¡á¾á„áœá·á‰",
+DlgSpellNoSuggestions	: "- á‚áŸ’á˜á¶á“áŸáŸ†áá¾áš -",
+DlgSpellProgress		: "á€áŸ†á–á»á„á–á·á“á·ááŸ’á™á¢á€áŸ’áášá¶áœá·ášá»á‘áŸ’á’...",
+DlgSpellNoMispell		: "á€á¶ášá–á·á“á·ááŸ’á™á¢á€áŸ’áášá¶áœá·ášá»á‘áŸ’á’á”á¶á“á…á”áŸ‹: á‚áŸ’á˜á¶á“á€áŸ†á á»áŸ",
+DlgSpellNoChanges		: "á€á¶ášá–á·á“á·ááŸ’á™á¢á€áŸ’áášá¶áœá·ášá»á‘áŸ’á’á”á¶á“á…á”áŸ‹: á–á»áŸ†á˜á¶á“á•áŸ’á›á¶áŸáŸ‹á”áŸ’áá¼áš",
+DlgSpellOneChange		: "á€á¶ášá–á·á“á·ááŸ’á™á¢á€áŸ’áášá¶áœá·ášá»á‘áŸ’á’á”á¶á“á…á”áŸ‹: á–á¶á€áŸ’á™á˜á½á™ááŸ’ášá¼á…á”á¶á“á•áŸ’á›á¶áŸáŸ‹á”áŸ’áá¼áš",
+DlgSpellManyChanges		: "á€á¶ášá–á·á“á·ááŸ’á™á¢á€áŸ’áášá¶áœá·ášá»á‘áŸ’á’á”á¶á“á…á”áŸ‹: %1 á–á¶á€áŸ’á™á”á¶á“á•áŸ’á›á¶áŸáŸ‹á”áŸ’áá¼áš",
+
+IeSpellDownload			: "á–á»áŸ†á˜á¶á“á€á˜áŸ’á˜áœá·á’á¸á–á·á“á·ááŸ’á™á¢á€áŸ’áášá¶áœá·ášá»á‘áŸ’á’ áŸ” áá¾á…á„áŸ‹á‘á¶á‰á™á€á–á¸áá¶?",
+
+// Button Dialog
+DlgButtonText		: "á¢ááŸ’áá”á‘(ááŸ†á›áŸƒ)",
+DlgButtonType		: "á”áŸ’ášá—áŸá‘",
+DlgButtonTypeBtn	: "Button",	//MISSING
+DlgButtonTypeSbm	: "Submit",	//MISSING
+DlgButtonTypeRst	: "Reset",	//MISSING
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "áˆáŸ’á˜áŸ„áŸ‡",
+DlgCheckboxValue	: "ááŸ†á›áŸƒ",
+DlgCheckboxSelected	: "á”á¶á“á‡áŸ’ášá¾áŸášá¾áŸ",
+
+// Form Dialog
+DlgFormName		: "áˆáŸ’á˜áŸ„áŸ‡",
+DlgFormAction	: "áŸá€á˜áŸ’á˜á—á¶á–",
+DlgFormMethod	: "áœá·á’á¸",
+
+// Select Field Dialog
+DlgSelectName		: "áˆáŸ’á˜áŸ„áŸ‡",
+DlgSelectValue		: "ááŸ†á›áŸƒ",
+DlgSelectSize		: "á‘áŸ†á áŸ†",
+DlgSelectLines		: "á”á“áŸ’á‘á¶ááŸ‹",
+DlgSelectChkMulti	: "á¢á“á»á‰áŸ’á‰á¶áá¢áŸ„á™á‡áŸ’ášá¾áŸášá¾áŸá…áŸ’ášá¾á“",
+DlgSelectOpAvail	: "á€á¶ášá€áŸ†áááŸ‹á‡áŸ’ášá¾áŸášá¾áŸ áŠáŸ‚á›á¢á¶á…á€áŸ†áááŸ‹á”á¶á“",
+DlgSelectOpText		: "á–á¶á€áŸ’á™",
+DlgSelectOpValue	: "ááŸ†á›áŸƒ",
+DlgSelectBtnAdd		: "á”á“áŸ’ááŸ‚á˜",
+DlgSelectBtnModify	: "á•áŸ’á›á¶áŸáŸ‹á”áŸ’áá¼áš",
+DlgSelectBtnUp		: "á›á¾",
+DlgSelectBtnDown	: "á€áŸ’ášáŸ„á˜",
+DlgSelectBtnSetValue : "Set as selected value",	//MISSING
+DlgSelectBtnDelete	: "á›á”áŸ‹",
+
+// Textarea Dialog
+DlgTextareaName	: "áˆáŸ’á˜áŸ„áŸ‡",
+DlgTextareaCols	: "á‡á¼ášáˆáš",
+DlgTextareaRows	: "á‡á¼ášá•áŸ’ááŸá€",
+
+// Text Field Dialog
+DlgTextName			: "áˆáŸ’á˜áŸ„áŸ‡",
+DlgTextValue		: "ááŸ†á›áŸƒ",
+DlgTextCharWidth	: "á‘á‘á¹á„ á¢á€áŸ’áŸáš",
+DlgTextMaxChars		: "á¢á€áŸ’áŸášá¢áá·á”ášá·á˜á¶",
+DlgTextType			: "á”áŸ’ášá—áŸá‘",
+DlgTextTypeText		: "á–á¶á€áŸ’á™",
+DlgTextTypePass		: "á–á¶á€áŸ’á™áŸáŸ†á„á¶ááŸ‹",
+
+// Hidden Field Dialog
+DlgHiddenName	: "áˆáŸ’á˜áŸ„áŸ‡",
+DlgHiddenValue	: "ááŸ†á›áŸƒ",
+
+// Bulleted List Dialog
+BulletedListProp	: "á€áŸ†áááŸ‹á”á‰áŸ’á‡á¸ášá„áŸ’áœá„áŸ‹",
+NumberedListProp	: "á€áŸ†áááŸ‹á”á‰áŸ’áŸá‡á¸á›áŸá",
+DlgLstStart			: "Start",	//MISSING
+DlgLstType			: "á”áŸ’ášá—áŸá‘",
+DlgLstTypeCircle	: "ášá„áŸ’áœá„áŸ‹",
+DlgLstTypeDisc		: "Disc",
+DlgLstTypeSquare	: "á€á¶ášáŸ",
+DlgLstTypeNumbers	: "á›áŸá(1, 2, 3)",
+DlgLstTypeLCase		: "á¢á€áŸ’áŸášáá¼á…(a, b, c)",
+DlgLstTypeUCase		: "á¢á€áŸ’áŸášá’áŸ†(A, B, C)",
+DlgLstTypeSRoman	: "á¢á€áŸ’áŸášá¡á¶áá¶áŸ†á„áá¼á…(i, ii, iii)",
+DlgLstTypeLRoman	: "á¢á€áŸ’áŸášá¡á¶áá¶áŸ†á„á’áŸ†(I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "á‘á¼á‘áŸ…",
+DlgDocBackTab		: "á•áŸ’á“áŸ‚á€áá¶á„á€áŸ’ášáŸ„á™",
+DlgDocColorsTab		: "á‘áŸ†á–áŸášâ€‹á“á·á„ áŸáŸŠá»á˜",
+DlgDocMetaTab		: "á‘á·á“áŸ’á“á“áŸá™á˜áŸ",
+
+DlgDocPageTitle		: "á…áŸ†áá„á‡á¾á„á‘áŸ†á–áŸáš",
+DlgDocLangDir		: "á‘á·áŸáŠáŸ…áŸášáŸáŸášá—á¶áŸá¶",
+DlgDocLangDirLTR	: "á–á¸á†áŸ’áœáŸá„á‘áŸ…áŸáŸ’áŠá¶áŸ†(LTR)",
+DlgDocLangDirRTL	: "á–á¸áŸáŸ’áŠá¶áŸ†á‘áŸ…á†áŸ’áœáŸá„(RTL)",
+DlgDocLangCode		: "á›áŸáá€á¼áá—á¶áŸá¶",
+DlgDocCharSet		: "á€áŸ†áááŸ‹á›áŸáá€á¼áá—á¶áŸá¶",
+DlgDocCharSetCE		: "Central European",	//MISSING
+DlgDocCharSetCT		: "Chinese Traditional (Big5)",	//MISSING
+DlgDocCharSetCR		: "Cyrillic",	//MISSING
+DlgDocCharSetGR		: "Greek",	//MISSING
+DlgDocCharSetJP		: "Japanese",	//MISSING
+DlgDocCharSetKR		: "Korean",	//MISSING
+DlgDocCharSetTR		: "Turkish",	//MISSING
+DlgDocCharSetUN		: "Unicode (UTF-8)",	//MISSING
+DlgDocCharSetWE		: "Western European",	//MISSING
+DlgDocCharSetOther	: "á€áŸ†áááŸ‹á›áŸáá€á¼áá—á¶áŸá¶á•áŸ’áŸáŸá„á‘áŸ€á",
+
+DlgDocDocType		: "á”áŸ’ášá—áŸá‘á€áŸ’á”á¶á›á‘áŸ†á–áŸáš",
+DlgDocDocTypeOther	: "á”áŸ’ášá—áŸá‘á€áŸ’á”á¶á›á‘áŸ†á–áŸášá•áŸ’áŸáŸá„á‘áŸ€á",
+DlgDocIncXHTML		: "á”á‰áŸ’á‡á¼á› XHTML",
+DlgDocBgColor		: "á–ááŸŒáá¶á„á€áŸ’ášáŸ„á˜",
+DlgDocBgImage		: "URL ášá”áŸáŸ‹ášá¼á”á—á¶á–áá¶á„á€áŸ’ášáŸ„á˜",
+DlgDocBgNoScroll	: "á‘áŸ†á–áŸášá€áŸ’ášáŸ„á˜á˜á·á“á”áŸ’áá¼áš",
+DlgDocCText			: "á¢ááŸ’áá”á‘",
+DlgDocCLink			: "áˆáŸ’á“á¶á”áŸ‹",
+DlgDocCVisited		: "áˆáŸ’á“á¶á”áŸ‹á˜á¾á›á á¾á™",
+DlgDocCActive		: "áˆáŸ’á“á¶á”áŸ‹á€áŸ†á–á»á„á˜á¾á›",
+DlgDocMargins		: "áŸáŸŠá»á˜á‘áŸ†á–áŸáš",
+DlgDocMaTop			: "á›á¾",
+DlgDocMaLeft		: "á†áŸ’áœáŸá„",
+DlgDocMaRight		: "áŸáŸ’áŠá¶áŸ†",
+DlgDocMaBottom		: "á€áŸ’ášáŸ„á˜",
+DlgDocMeIndex		: "á–á¶á€áŸ’á™á“áŸ…á€áŸ’á“á»á„á¯á€áŸá¶áš (á•áŸ’áá¶á…áŸ‹á–á¸á‚áŸ’á“á¶áŠáŸ„á™á€áŸ’á”áŸ€áŸ)",
+DlgDocMeDescr		: "áŸáŸá…á€áŸ’áá¸á¢ááŸ’áá¶á’á·á”áŸ’á”á¶á™á¢áŸ†á–á¸á¯á€áŸá¶áš",
+DlgDocMeAuthor		: "á¢áŸ’á“á€á“á·á–á“áŸ’á’",
+DlgDocMeCopy		: "ášá€áŸ’áŸá¶áŸá·á‘áŸ’á’á·áŸ",
+DlgDocPreview		: "á˜á¾á›áŸá¶á€á›áŸ’á”á„",
+
+// Templates Dialog
+Templates			: "á¯á€áŸá¶ášá‚áŸ†ášá¼",
+DlgTemplatesTitle	: "á¯á€áŸá¶ášá‚áŸ†ášá¼ ášá”áŸáŸ‹á¢ááŸ’áá“áŸá™",
+DlgTemplatesSelMsg	: "áŸá¼á˜á‡áŸ’ášá¾áŸášá¾áŸá¯á€áŸá¶ášá‚áŸ†ášá¼ áŠá¾á˜áŸ’á”á¸á”á¾á€á“áŸ…á€áŸ’á“á»á„á€á˜áŸ’á˜áœá·á’á¸áá¶á€áŸ‹ááŸ‚á„á¢ááŸ’áá”á‘<br>(á¢ááŸ’áá”á‘á“á¹á„á”á¶ááŸ‹á”á„áŸ‹):",
+DlgTemplatesLoading	: "á€áŸ†á–á»á„á¢á¶á“á”á‰áŸ’á‡á¸á¯á€áŸá¶ášá‚áŸ†ášá¼ áŸ” áŸá¼á˜ášá„á…á¶áŸ†...",
+DlgTemplatesNoTpl	: "(á–á»áŸ†á˜á¶á“á¯á€áŸá¶ášá‚áŸ†ášá¼ááŸ’ášá¼áœá”á¶á“á€áŸ†áááŸ‹)",
+DlgTemplatesReplace	: "Replace actual contents",	//MISSING
+
+// About Dialog
+DlgAboutAboutTab	: "á¢áŸ†á–á¸",
+DlgAboutBrowserInfoTab	: "á–áŸŒáá˜á¶á“á€á˜áŸ’á˜áœá·á’á¸ášá»á€ášá€",
+DlgAboutLicenseTab	: "License",	//MISSING
+DlgAboutVersion		: "á‡áŸ†á“á¶á“áŸ‹",
+DlgAboutInfo		: "áŸáŸ†ášá¶á”áŸ‹á–áŸŒáá˜á¶á“á•áŸ’áŸáŸá„á‘áŸ€á áŸá¼á˜á‘á¶á€áŸ‹á‘á„",
+
+// Div Dialog
+DlgDivGeneralTab	: "General",	//MISSING
+DlgDivAdvancedTab	: "Advanced",	//MISSING
+DlgDivStyle		: "Style",	//MISSING
+DlgDivInlineStyle	: "Inline Style",	//MISSING
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/eu.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/eu.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/eu.js	(revision 1481)
@@ -0,0 +1,540 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Basque language file.
+ * Euskara hizkuntza fitxategia.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Estutu Tresna Barra",
+ToolbarExpand		: "Hedatu Tresna Barra",
+
+// Toolbar Items and Context Menu
+Save				: "Gorde",
+NewPage				: "Orrialde Berria",
+Preview				: "Aurrebista",
+Cut					: "Ebaki",
+Copy				: "Kopiatu",
+Paste				: "Itsatsi",
+PasteText			: "Itsatsi testu bezala",
+PasteWord			: "Itsatsi Word-etik",
+Print				: "Inprimatu",
+SelectAll			: "Hautatu dena",
+RemoveFormat		: "Kendu Formatua",
+InsertLinkLbl		: "Esteka",
+InsertLink			: "Txertatu/Editatu Esteka",
+RemoveLink			: "Kendu Esteka",
+VisitLink			: "Ireki Esteka",
+Anchor				: "Aingura",
+AnchorDelete		: "Ezabatu Aingura",
+InsertImageLbl		: "Irudia",
+InsertImage			: "Txertatu/Editatu Irudia",
+InsertFlashLbl		: "Flasha",
+InsertFlash			: "Txertatu/Editatu Flasha",
+InsertTableLbl		: "Taula",
+InsertTable			: "Txertatu/Editatu Taula",
+InsertLineLbl		: "Lerroa",
+InsertLine			: "Txertatu Marra Horizontala",
+InsertSpecialCharLbl: "Karaktere Berezia",
+InsertSpecialChar	: "Txertatu Karaktere Berezia",
+InsertSmileyLbl		: "Aurpegierak",
+InsertSmiley		: "Txertatu Aurpegierak",
+About				: "FCKeditor-ri buruz",
+Bold				: "Lodia",
+Italic				: "Etzana",
+Underline			: "Azpimarratu",
+StrikeThrough		: "Marratua",
+Subscript			: "Azpi-indize",
+Superscript			: "Goi-indize",
+LeftJustify			: "Lerrokatu Ezkerrean",
+CenterJustify		: "Lerrokatu Erdian",
+RightJustify		: "Lerrokatu Eskuman",
+BlockJustify		: "Justifikatu",
+DecreaseIndent		: "Txikitu Koska",
+IncreaseIndent		: "Handitu Koska",
+Blockquote			: "Aipamen blokea",
+CreateDiv			: "Sortu Div Edukitzailea",
+EditDiv				: "Editatu Div Edukitzailea",
+DeleteDiv			: "Ezabatu Div Edukitzailea",
+Undo				: "Desegin",
+Redo				: "Berregin",
+NumberedListLbl		: "Zenbakidun Zerrenda",
+NumberedList		: "Txertatu/Kendu Zenbakidun zerrenda",
+BulletedListLbl		: "Buletdun Zerrenda",
+BulletedList		: "Txertatu/Kendu Buletdun zerrenda",
+ShowTableBorders	: "Erakutsi Taularen Ertzak",
+ShowDetails			: "Erakutsi Xehetasunak",
+Style				: "Estiloa",
+FontFormat			: "Formatua",
+Font				: "Letra-tipoa",
+FontSize			: "Tamaina",
+TextColor			: "Testu Kolorea",
+BGColor				: "Atzeko kolorea",
+Source				: "HTML Iturburua",
+Find				: "Bilatu",
+Replace				: "Ordezkatu",
+SpellCheck			: "Ortografia",
+UniversalKeyboard	: "Teklatu Unibertsala",
+PageBreakLbl		: "Orrialde-jauzia",
+PageBreak			: "Txertatu Orrialde-jauzia",
+
+Form			: "Formularioa",
+Checkbox		: "Kontrol-laukia",
+RadioButton		: "Aukera-botoia",
+TextField		: "Testu Eremua",
+Textarea		: "Testu-area",
+HiddenField		: "Ezkutuko Eremua",
+Button			: "Botoia",
+SelectionField	: "Hautespen Eremua",
+ImageButton		: "Irudi Botoia",
+
+FitWindow		: "Maximizatu editorearen tamaina",
+ShowBlocks		: "Blokeak erakutsi",
+
+// Context Menu
+EditLink			: "Aldatu Esteka",
+CellCM				: "Gelaxka",
+RowCM				: "Errenkada",
+ColumnCM			: "Zutabea",
+InsertRowAfter		: "Txertatu Lerroa Ostean",
+InsertRowBefore		: "Txertatu Lerroa Aurretik",
+DeleteRows			: "Ezabatu Errenkadak",
+InsertColumnAfter	: "Txertatu Zutabea Ostean",
+InsertColumnBefore	: "Txertatu Zutabea Aurretik",
+DeleteColumns		: "Ezabatu Zutabeak",
+InsertCellAfter		: "Txertatu Gelaxka Ostean",
+InsertCellBefore	: "Txertatu Gelaxka Aurretik",
+DeleteCells			: "Kendu Gelaxkak",
+MergeCells			: "Batu Gelaxkak",
+MergeRight			: "Elkartu Eskumara",
+MergeDown			: "Elkartu Behera",
+HorizontalSplitCell	: "Banatu Gelaxkak Horizontalki",
+VerticalSplitCell	: "Banatu Gelaxkak Bertikalki",
+TableDelete			: "Ezabatu Taula",
+CellProperties		: "Gelaxkaren Ezaugarriak",
+TableProperties		: "Taularen Ezaugarriak",
+ImageProperties		: "Irudiaren Ezaugarriak",
+FlashProperties		: "Flasharen Ezaugarriak",
+
+AnchorProp			: "Ainguraren Ezaugarriak",
+ButtonProp			: "Botoiaren Ezaugarriak",
+CheckboxProp		: "Kontrol-laukiko Ezaugarriak",
+HiddenFieldProp		: "Ezkutuko Eremuaren Ezaugarriak",
+RadioButtonProp		: "Aukera-botoiaren Ezaugarriak",
+ImageButtonProp		: "Irudi Botoiaren Ezaugarriak",
+TextFieldProp		: "Testu Eremuaren Ezaugarriak",
+SelectionFieldProp	: "Hautespen Eremuaren Ezaugarriak",
+TextareaProp		: "Testu-arearen Ezaugarriak",
+FormProp			: "Formularioaren Ezaugarriak",
+
+FontFormats			: "Arrunta;Formateatua;Helbidea;Izenburua 1;Izenburua 2;Izenburua 3;Izenburua 4;Izenburua 5;Izenburua 6;Paragrafoa (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "XHTML Prozesatzen. Itxaron mesedez...",
+Done				: "Eginda",
+PasteWordConfirm	: "Itsatsi nahi duzun testua Wordetik hartua dela dirudi. Itsatsi baino lehen garbitu nahi duzu?",
+NotCompatiblePaste	: "Komando hau Internet Explorer 5.5 bertsiorako edo ondorengoentzako erabilgarria dago. Garbitu gabe itsatsi nahi duzu?",
+UnknownToolbarItem	: "Ataza barrako elementu ezezaguna \"%1\"",
+UnknownCommand		: "Komando izen ezezaguna \"%1\"",
+NotImplemented		: "Komando ez inplementatua",
+UnknownToolbarSet	: "Ataza barra \"%1\" taldea ez da existitzen",
+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.",
+BrowseServerBlocked : "Baliabideen arakatzailea ezin da ireki. Ziurtatu popup blokeatzaileak desgaituta dituzula.",
+DialogBlocked		: "Ezin da elkarrizketa-leihoa ireki. Ziurtatu popup blokeatzaileak desgaituta dituzula.",
+VisitLinkBlocked	: "Ezin da leiho berri bat ireki. Ziurtatu popup blokeatzaileak desgaituta dituzula.",
+
+// Dialogs
+DlgBtnOK			: "Ados",
+DlgBtnCancel		: "Utzi",
+DlgBtnClose			: "Itxi",
+DlgBtnBrowseServer	: "Zerbitzaria arakatu",
+DlgAdvancedTag		: "Aurreratua",
+DlgOpOther			: "<Bestelakoak>",
+DlgInfoTab			: "Informazioa",
+DlgAlertUrl			: "Mesedez URLa idatzi ezazu",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<Ezarri gabe>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Hizkuntzaren Norabidea",
+DlgGenLangDirLtr	: "Ezkerretik Eskumara(LTR)",
+DlgGenLangDirRtl	: "Eskumatik Ezkerrera (RTL)",
+DlgGenLangCode		: "Hizkuntza Kodea",
+DlgGenAccessKey		: "Sarbide-gakoa",
+DlgGenName			: "Izena",
+DlgGenTabIndex		: "Tabulazio Indizea",
+DlgGenLongDescr		: "URL Deskribapen Luzea",
+DlgGenClass			: "Estilo-orriko Klaseak",
+DlgGenTitle			: "Izenburua",
+DlgGenContType		: "Eduki Mota (Content Type)",
+DlgGenLinkCharset	: "Estekatutako Karaktere Multzoa",
+DlgGenStyle			: "Estiloa",
+
+// Image Dialog
+DlgImgTitle			: "Irudi Ezaugarriak",
+DlgImgInfoTab		: "Irudi informazioa",
+DlgImgBtnUpload		: "Zerbitzarira bidalia",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Gora Kargatu",
+DlgImgAlt			: "Ordezko Testua",
+DlgImgWidth			: "Zabalera",
+DlgImgHeight		: "Altuera",
+DlgImgLockRatio		: "Erlazioa Blokeatu",
+DlgBtnResetSize		: "Tamaina Berrezarri",
+DlgImgBorder		: "Ertza",
+DlgImgHSpace		: "HSpace",
+DlgImgVSpace		: "VSpace",
+DlgImgAlign			: "Lerrokatu",
+DlgImgAlignLeft		: "Ezkerrera",
+DlgImgAlignAbsBottom: "Abs Behean",
+DlgImgAlignAbsMiddle: "Abs Erdian",
+DlgImgAlignBaseline	: "Oinan",
+DlgImgAlignBottom	: "Behean",
+DlgImgAlignMiddle	: "Erdian",
+DlgImgAlignRight	: "Eskuman",
+DlgImgAlignTextTop	: "Testua Goian",
+DlgImgAlignTop		: "Goian",
+DlgImgPreview		: "Aurrebista",
+DlgImgAlertUrl		: "Mesedez Irudiaren URLa idatzi",
+DlgImgLinkTab		: "Esteka",
+
+// Flash Dialog
+DlgFlashTitle		: "Flasharen Ezaugarriak",
+DlgFlashChkPlay		: "Automatikoki Erreproduzitu",
+DlgFlashChkLoop		: "Begizta",
+DlgFlashChkMenu		: "Flasharen Menua Gaitu",
+DlgFlashScale		: "Eskalatu",
+DlgFlashScaleAll	: "Dena erakutsi",
+DlgFlashScaleNoBorder	: "Ertzik gabe",
+DlgFlashScaleFit	: "Doitu",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Esteka",
+DlgLnkInfoTab		: "Estekaren Informazioa",
+DlgLnkTargetTab		: "Helburua",
+
+DlgLnkType			: "Esteka Mota",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Aingura orrialde honetan",
+DlgLnkTypeEMail		: "ePosta",
+DlgLnkProto			: "Protokoloa",
+DlgLnkProtoOther	: "<Beste batzuk>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Aingura bat hautatu",
+DlgLnkAnchorByName	: "Aingura izenagatik",
+DlgLnkAnchorById	: "Elementuaren ID-gatik",
+DlgLnkNoAnchors		: "(Ez daude aingurak eskuragarri dokumentuan)",
+DlgLnkEMail			: "ePosta Helbidea",
+DlgLnkEMailSubject	: "Mezuaren Gaia",
+DlgLnkEMailBody		: "Mezuaren Gorputza",
+DlgLnkUpload		: "Gora kargatu",
+DlgLnkBtnUpload		: "Zerbitzarira bidali",
+
+DlgLnkTarget		: "Target (Helburua)",
+DlgLnkTargetFrame	: "<marko>",
+DlgLnkTargetPopup	: "<popup leihoa>",
+DlgLnkTargetBlank	: "Leiho Berria (_blank)",
+DlgLnkTargetParent	: "Leiho Gurasoa (_parent)",
+DlgLnkTargetSelf	: "Leiho Berdina (_self)",
+DlgLnkTargetTop		: "Goiko Leihoa (_top)",
+DlgLnkTargetFrameName	: "Marko Helburuaren Izena",
+DlgLnkPopWinName	: "Popup Leihoaren Izena",
+DlgLnkPopWinFeat	: "Popup Leihoaren Ezaugarriak",
+DlgLnkPopResize		: "Tamaina Aldakorra",
+DlgLnkPopLocation	: "Kokaleku Barra",
+DlgLnkPopMenu		: "Menu Barra",
+DlgLnkPopScroll		: "Korritze Barrak",
+DlgLnkPopStatus		: "Egoera Barra",
+DlgLnkPopToolbar	: "Tresna Barra",
+DlgLnkPopFullScrn	: "Pantaila Osoa (IE)",
+DlgLnkPopDependent	: "Menpekoa (Netscape)",
+DlgLnkPopWidth		: "Zabalera",
+DlgLnkPopHeight		: "Altuera",
+DlgLnkPopLeft		: "Ezkerreko  Posizioa",
+DlgLnkPopTop		: "Goiko Posizioa",
+
+DlnLnkMsgNoUrl		: "Mesedez URL esteka idatzi",
+DlnLnkMsgNoEMail	: "Mesedez ePosta helbidea idatzi",
+DlnLnkMsgNoAnchor	: "Mesedez aingura bat aukeratu",
+DlnLnkMsgInvPopName	: "Popup leihoaren izenak karaktere alfabetiko batekin hasi behar du eta eta ezin du zuriunerik izan",
+
+// Color Dialog
+DlgColorTitle		: "Kolore Aukeraketa",
+DlgColorBtnClear	: "Garbitu",
+DlgColorHighlight	: "Nabarmendu",
+DlgColorSelected	: "Aukeratuta",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Aurpegiera Sartu",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Karaktere Berezia Aukeratu",
+
+// Table Dialog
+DlgTableTitle		: "Taularen Ezaugarriak",
+DlgTableRows		: "Lerroak",
+DlgTableColumns		: "Zutabeak",
+DlgTableBorder		: "Ertzaren Zabalera",
+DlgTableAlign		: "Lerrokatu",
+DlgTableAlignNotSet	: "<Ezarri gabe>",
+DlgTableAlignLeft	: "Ezkerrean",
+DlgTableAlignCenter	: "Erdian",
+DlgTableAlignRight	: "Eskuman",
+DlgTableWidth		: "Zabalera",
+DlgTableWidthPx		: "pixel",
+DlgTableWidthPc		: "ehuneko",
+DlgTableHeight		: "Altuera",
+DlgTableCellSpace	: "Gelaxka arteko tartea",
+DlgTableCellPad		: "Gelaxken betegarria",
+DlgTableCaption		: "Epigrafea",
+DlgTableSummary		: "Laburpena",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "Gelaxken Ezaugarriak",
+DlgCellWidth		: "Zabalera",
+DlgCellWidthPx		: "pixel",
+DlgCellWidthPc		: "ehuneko",
+DlgCellHeight		: "Altuera",
+DlgCellWordWrap		: "Itzulbira",
+DlgCellWordWrapNotSet	: "<Ezarri gabe>",
+DlgCellWordWrapYes	: "Bai",
+DlgCellWordWrapNo	: "Ez",
+DlgCellHorAlign		: "Lerrokatu Horizontalki",
+DlgCellHorAlignNotSet	: "<Ezarri gabe>",
+DlgCellHorAlignLeft	: "Ezkerrean",
+DlgCellHorAlignCenter	: "Erdian",
+DlgCellHorAlignRight: "Eskuman",
+DlgCellVerAlign		: "Lerrokatu Bertikalki",
+DlgCellVerAlignNotSet	: "<Ezarri gabe>",
+DlgCellVerAlignTop	: "Goian",
+DlgCellVerAlignMiddle	: "Erdian",
+DlgCellVerAlignBottom	: "Behean",
+DlgCellVerAlignBaseline	: "Oinean",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "Lerroak Hedatu",
+DlgCellCollSpan		: "Zutabeak Hedatu",
+DlgCellBackColor	: "Atzeko Kolorea",
+DlgCellBorderColor	: "Ertzako Kolorea",
+DlgCellBtnSelect	: "Aukeratu...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Bilatu eta Ordeztu",
+
+// Find Dialog
+DlgFindTitle		: "Bilaketa",
+DlgFindFindBtn		: "Bilatu",
+DlgFindNotFoundMsg	: "Idatzitako testua ez da topatu.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Ordeztu",
+DlgReplaceFindLbl		: "Zer bilatu:",
+DlgReplaceReplaceLbl	: "Zerekin ordeztu:",
+DlgReplaceCaseChk		: "Maiuskula/minuskula",
+DlgReplaceReplaceBtn	: "Ordeztu",
+DlgReplaceReplAllBtn	: "Ordeztu Guztiak",
+DlgReplaceWordChk		: "Esaldi osoa bilatu",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "Zure web nabigatzailearen segurtasun ezarpenak testuak automatikoki moztea ez dute baimentzen. Mesedez teklatua erabili ezazu (Ctrl+X).",
+PasteErrorCopy	: "Zure web nabigatzailearen segurtasun ezarpenak testuak automatikoki kopiatzea ez dute baimentzen. Mesedez teklatua erabili ezazu (Ctrl+C).",
+
+PasteAsText		: "Testu Arrunta bezala Itsatsi",
+PasteFromWord	: "Word-etik itsatsi",
+
+DlgPasteMsg2	: "Mesedez teklatua erabilita (<STRONG>Ctrl+V</STRONG>) ondorego eremuan testua itsatsi eta <STRONG>OK</STRONG> sakatu.",
+DlgPasteSec		: "Nabigatzailearen segurtasun ezarpenak direla eta, editoreak ezin du arbela zuzenean erabili. Leiho honetan berriro itsatsi behar duzu.",
+DlgPasteIgnoreFont		: "Letra Motaren definizioa ezikusi",
+DlgPasteRemoveStyles	: "Estilo definizioak kendu",
+
+// Color Picker
+ColorAutomatic	: "Automatikoa",
+ColorMoreColors	: "Kolore gehiago...",
+
+// Document Properties
+DocProps		: "Dokumentuaren Ezarpenak",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Ainguraren Ezaugarriak",
+DlgAnchorName		: "Ainguraren Izena",
+DlgAnchorErrorName	: "Idatzi ainguraren izena",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Ez dago hiztegian",
+DlgSpellChangeTo		: "Honekin ordezkatu",
+DlgSpellBtnIgnore		: "Ezikusi",
+DlgSpellBtnIgnoreAll	: "Denak Ezikusi",
+DlgSpellBtnReplace		: "Ordezkatu",
+DlgSpellBtnReplaceAll	: "Denak Ordezkatu",
+DlgSpellBtnUndo			: "Desegin",
+DlgSpellNoSuggestions	: "- Iradokizunik ez -",
+DlgSpellProgress		: "Zuzenketa ortografikoa martxan...",
+DlgSpellNoMispell		: "Zuzenketa ortografikoa bukatuta: Akatsik ez",
+DlgSpellNoChanges		: "Zuzenketa ortografikoa bukatuta: Ez da ezer aldatu",
+DlgSpellOneChange		: "Zuzenketa ortografikoa bukatuta: Hitz bat aldatu da",
+DlgSpellManyChanges		: "Zuzenketa ortografikoa bukatuta: %1 hitz aldatu dira",
+
+IeSpellDownload			: "Zuzentzaile ortografikoa ez dago instalatuta. Deskargatu nahi duzu?",
+
+// Button Dialog
+DlgButtonText		: "Testua (Balorea)",
+DlgButtonType		: "Mota",
+DlgButtonTypeBtn	: "Botoia",
+DlgButtonTypeSbm	: "Bidali",
+DlgButtonTypeRst	: "Garbitu",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Izena",
+DlgCheckboxValue	: "Balorea",
+DlgCheckboxSelected	: "Hautatuta",
+
+// Form Dialog
+DlgFormName		: "Izena",
+DlgFormAction	: "Ekintza",
+DlgFormMethod	: "Metodoa",
+
+// Select Field Dialog
+DlgSelectName		: "Izena",
+DlgSelectValue		: "Balorea",
+DlgSelectSize		: "Tamaina",
+DlgSelectLines		: "lerro kopurura",
+DlgSelectChkMulti	: "Hautaketa anitzak baimendu",
+DlgSelectOpAvail	: "Aukera Eskuragarriak",
+DlgSelectOpText		: "Testua",
+DlgSelectOpValue	: "Balorea",
+DlgSelectBtnAdd		: "Gehitu",
+DlgSelectBtnModify	: "Aldatu",
+DlgSelectBtnUp		: "Gora",
+DlgSelectBtnDown	: "Behera",
+DlgSelectBtnSetValue : "Aukeratutako balorea ezarri",
+DlgSelectBtnDelete	: "Ezabatu",
+
+// Textarea Dialog
+DlgTextareaName	: "Izena",
+DlgTextareaCols	: "Zutabeak",
+DlgTextareaRows	: "Lerroak",
+
+// Text Field Dialog
+DlgTextName			: "Izena",
+DlgTextValue		: "Balorea",
+DlgTextCharWidth	: "Zabalera",
+DlgTextMaxChars		: "Zenbat karaktere gehienez",
+DlgTextType			: "Mota",
+DlgTextTypeText		: "Testua",
+DlgTextTypePass		: "Pasahitza",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Izena",
+DlgHiddenValue	: "Balorea",
+
+// Bulleted List Dialog
+BulletedListProp	: "Buletdun Zerrendaren Ezarpenak",
+NumberedListProp	: "Zenbakidun Zerrendaren Ezarpenak",
+DlgLstStart			: "Hasiera",
+DlgLstType			: "Mota",
+DlgLstTypeCircle	: "Zirkulua",
+DlgLstTypeDisc		: "Diskoa",
+DlgLstTypeSquare	: "Karratua",
+DlgLstTypeNumbers	: "Zenbakiak (1, 2, 3)",
+DlgLstTypeLCase		: "Letra xeheak (a, b, c)",
+DlgLstTypeUCase		: "Letra larriak (A, B, C)",
+DlgLstTypeSRoman	: "Erromatar zenbaki zeheak (i, ii, iii)",
+DlgLstTypeLRoman	: "Erromatar zenbaki larriak (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Orokorra",
+DlgDocBackTab		: "Atzealdea",
+DlgDocColorsTab		: "Koloreak eta Marjinak",
+DlgDocMetaTab		: "Meta Informazioa",
+
+DlgDocPageTitle		: "Orriaren Izenburua",
+DlgDocLangDir		: "Hizkuntzaren Norabidea",
+DlgDocLangDirLTR	: "Ezkerretik eskumara (LTR)",
+DlgDocLangDirRTL	: "Eskumatik ezkerrera (RTL)",
+DlgDocLangCode		: "Hizkuntzaren Kodea",
+DlgDocCharSet		: "Karaktere Multzoaren Kodeketa",
+DlgDocCharSetCE		: "Erdialdeko Europakoa",
+DlgDocCharSetCT		: "Txinatar Tradizionala (Big5)",
+DlgDocCharSetCR		: "Zirilikoa",
+DlgDocCharSetGR		: "Grekoa",
+DlgDocCharSetJP		: "Japoniarra",
+DlgDocCharSetKR		: "Korearra",
+DlgDocCharSetTR		: "Turkiarra",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "Mendebaldeko Europakoa",
+DlgDocCharSetOther	: "Beste Karaktere Multzoko Kodeketa",
+
+DlgDocDocType		: "Document Type Goiburua",
+DlgDocDocTypeOther	: "Beste Document Type Goiburua",
+DlgDocIncXHTML		: "XHTML Ezarpenak",
+DlgDocBgColor		: "Atzeko Kolorea",
+DlgDocBgImage		: "Atzeko Irudiaren URL-a",
+DlgDocBgNoScroll	: "Korritze gabeko Atzealdea",
+DlgDocCText			: "Testua",
+DlgDocCLink			: "Estekak",
+DlgDocCVisited		: "Bisitatutako Estekak",
+DlgDocCActive		: "Esteka Aktiboa",
+DlgDocMargins		: "Orrialdearen marjinak",
+DlgDocMaTop			: "Goian",
+DlgDocMaLeft		: "Ezkerrean",
+DlgDocMaRight		: "Eskuman",
+DlgDocMaBottom		: "Behean",
+DlgDocMeIndex		: "Dokumentuaren Gako-hitzak (komarekin bananduta)",
+DlgDocMeDescr		: "Dokumentuaren Deskribapena",
+DlgDocMeAuthor		: "Egilea",
+DlgDocMeCopy		: "Copyright",
+DlgDocPreview		: "Aurrebista",
+
+// Templates Dialog
+Templates			: "Txantiloiak",
+DlgTemplatesTitle	: "Eduki Txantiloiak",
+DlgTemplatesSelMsg	: "Mesedez txantiloia aukeratu editorean kargatzeko<br>(orain dauden edukiak galduko dira):",
+DlgTemplatesLoading	: "Txantiloiak kargatzen. Itxaron mesedez...",
+DlgTemplatesNoTpl	: "(Ez dago definitutako txantiloirik)",
+DlgTemplatesReplace	: "Ordeztu oraingo edukiak",
+
+// About Dialog
+DlgAboutAboutTab	: "Honi buruz",
+DlgAboutBrowserInfoTab	: "Nabigatzailearen Informazioa",
+DlgAboutLicenseTab	: "Lizentzia",
+DlgAboutVersion		: "bertsioa",
+DlgAboutInfo		: "Informazio gehiago eskuratzeko hona joan",
+
+// Div Dialog
+DlgDivGeneralTab	: "Orokorra",
+DlgDivAdvancedTab	: "Aurreratua",
+DlgDivStyle		: "Estiloa",
+DlgDivInlineStyle	: "Inline Estiloa",
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/ko.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/ko.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/ko.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Korean language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "íˆ´ë°” ê°ì¶”ê¸°",
+ToolbarExpand		: "íˆ´ë°” ë³´ì´ê¸°",
+
+// Toolbar Items and Context Menu
+Save				: "ì €ì¥í•˜ê¸°",
+NewPage				: "ìƒˆ ë¬¸ì„œ",
+Preview				: "ë¯¸ë¦¬ë³´ê¸°",
+Cut					: "ì˜ë¼ë‚´ê¸°",
+Copy				: "ë³µì‚¬í•˜ê¸°",
+Paste				: "ë¶™ì—¬ë„£ê¸°",
+PasteText			: "í…ìŠ¤íŠ¸ë¡œ ë¶™ì—¬ë„£ê¸°",
+PasteWord			: "MS Word í˜•ì‹ì—ì„œ ë¶™ì—¬ë„£ê¸°",
+Print				: "ì¸ì‡„í•˜ê¸°",
+SelectAll			: "ì „ì²´ì„ íƒ",
+RemoveFormat		: "í¬ë§· ì§€ìš°ê¸°",
+InsertLinkLbl		: "ë§í¬",
+InsertLink			: "ë§í¬ ì‚½ì…/ë³€ê²½",
+RemoveLink			: "ë§í¬ ì‚­ì œ",
+VisitLink			: "Open Link",	//MISSING
+Anchor				: "ì±…ê°ˆí”¼ ì‚½ì…/ë³€ê²½",
+AnchorDelete		: "Remove Anchor",	//MISSING
+InsertImageLbl		: "ì´ë¯¸ì§€",
+InsertImage			: "ì´ë¯¸ì§€ ì‚½ì…/ë³€ê²½",
+InsertFlashLbl		: "í”Œë˜ì‰¬",
+InsertFlash			: "í”Œë˜ì‰¬ ì‚½ì…/ë³€ê²½",
+InsertTableLbl		: "í‘œ",
+InsertTable			: "í‘œ ì‚½ì…/ë³€ê²½",
+InsertLineLbl		: "ìˆ˜í‰ì„ ",
+InsertLine			: "ìˆ˜í‰ì„  ì‚½ì…",
+InsertSpecialCharLbl: "íŠ¹ìˆ˜ë¬¸ì ì‚½ì…",
+InsertSpecialChar	: "íŠ¹ìˆ˜ë¬¸ì ì‚½ì…",
+InsertSmileyLbl		: "ì•„ì´ì½˜",
+InsertSmiley		: "ì•„ì´ì½˜ ì‚½ì…",
+About				: "FCKeditorì— ëŒ€í•˜ì—¬",
+Bold				: "ì§„í•˜ê²Œ",
+Italic				: "ì´í…”ë¦­",
+Underline			: "ë°‘ì¤„",
+StrikeThrough		: "ì·¨ì†Œì„ ",
+Subscript			: "ì•„ë˜ ì²¨ì",
+Superscript			: "ìœ„ ì²¨ì",
+LeftJustify			: "ì™¼ìª½ ì •ë ¬",
+CenterJustify		: "ê°€ìš´ë° ì •ë ¬",
+RightJustify		: "ì˜¤ë¥¸ìª½ ì •ë ¬",
+BlockJustify		: "ì–‘ìª½ ë§ì¶¤",
+DecreaseIndent		: "ë‚´ì–´ì“°ê¸°",
+IncreaseIndent		: "ë“¤ì—¬ì“°ê¸°",
+Blockquote			: "Blockquote",	//MISSING
+CreateDiv			: "Create Div Container",	//MISSING
+EditDiv				: "Edit Div Container",	//MISSING
+DeleteDiv			: "Remove Div Container",	//MISSING
+Undo				: "ì·¨ì†Œ",
+Redo				: "ì¬ì‹¤í–‰",
+NumberedListLbl		: "ìˆœì„œìˆëŠ” ëª©ë¡",
+NumberedList		: "ìˆœì„œìˆëŠ” ëª©ë¡",
+BulletedListLbl		: "ìˆœì„œì—†ëŠ” ëª©ë¡",
+BulletedList		: "ìˆœì„œì—†ëŠ” ëª©ë¡",
+ShowTableBorders	: "í‘œ í…Œë‘ë¦¬ ë³´ê¸°",
+ShowDetails			: "ë¬¸ì„œê¸°í˜¸ ë³´ê¸°",
+Style				: "ìŠ¤íƒ€ì¼",
+FontFormat			: "í¬ë§·",
+Font				: "í°íŠ¸",
+FontSize			: "ê¸€ì í¬ê¸°",
+TextColor			: "ê¸€ì ìƒ‰ìƒ",
+BGColor				: "ë°°ê²½ ìƒ‰ìƒ",
+Source				: "ì†ŒìŠ¤",
+Find				: "ì°¾ê¸°",
+Replace				: "ë°”ê¾¸ê¸°",
+SpellCheck			: "ì² ìê²€ì‚¬",
+UniversalKeyboard	: "ë‹¤êµ­ì–´ ì…ë ¥ê¸°",
+PageBreakLbl		: "Page Break",	//MISSING
+PageBreak			: "Insert Page Break",	//MISSING
+
+Form			: "í¼",
+Checkbox		: "ì²´í¬ë°•ìŠ¤",
+RadioButton		: "ë¼ë””ì˜¤ë²„íŠ¼",
+TextField		: "ì…ë ¥í•„ë“œ",
+Textarea		: "ì…ë ¥ì˜ì—­",
+HiddenField		: "ìˆ¨ê¹€í•„ë“œ",
+Button			: "ë²„íŠ¼",
+SelectionField	: "í¼ì¹¨ëª©ë¡",
+ImageButton		: "ì´ë¯¸ì§€ë²„íŠ¼",
+
+FitWindow		: "ì—ë””í„° ìµœëŒ€í™”",
+ShowBlocks		: "Show Blocks",	//MISSING
+
+// Context Menu
+EditLink			: "ë§í¬ ìˆ˜ì •",
+CellCM				: "ì…€/ì¹¸(Cell)",
+RowCM				: "í–‰(Row)",
+ColumnCM			: "ì—´(Column)",
+InsertRowAfter		: "ë’¤ì— í–‰ ì‚½ì…",
+InsertRowBefore		: "ì•ì— í–‰ ì‚½ì…",
+DeleteRows			: "ê°€ë¡œì¤„ ì‚­ì œ",
+InsertColumnAfter	: "ë’¤ì— ì—´ ì‚½ì…",
+InsertColumnBefore	: "ì•ì— ì—´ ì‚½ì…",
+DeleteColumns		: "ì„¸ë¡œì¤„ ì‚­ì œ",
+InsertCellAfter		: "ë’¤ì— ì…€/ì¹¸ ì‚½ì…",
+InsertCellBefore	: "ì•ì— ì…€/ì¹¸ ì‚½ì…",
+DeleteCells			: "ì…€ ì‚­ì œ",
+MergeCells			: "ì…€ í•©ì¹˜ê¸°",
+MergeRight			: "ì˜¤ë¥¸ìª½ ë­‰ì¹˜ê¸°",
+MergeDown			: "ì™¼ìª½ ë­‰ì¹˜ê¸°",
+HorizontalSplitCell	: "ìˆ˜í‰ ë‚˜ëˆ„ê¸°",
+VerticalSplitCell	: "ìˆ˜ì§ ë‚˜ëˆ„ê¸°",
+TableDelete			: "í‘œ ì‚­ì œ",
+CellProperties		: "ì…€ ì†ì„±",
+TableProperties		: "í‘œ ì†ì„±",
+ImageProperties		: "ì´ë¯¸ì§€ ì†ì„±",
+FlashProperties		: "í”Œë˜ì‰¬ ì†ì„±",
+
+AnchorProp			: "ì±…ê°ˆí”¼ ì†ì„±",
+ButtonProp			: "ë²„íŠ¼ ì†ì„±",
+CheckboxProp		: "ì²´í¬ë°•ìŠ¤ ì†ì„±",
+HiddenFieldProp		: "ìˆ¨ê¹€í•„ë“œ ì†ì„±",
+RadioButtonProp		: "ë¼ë””ì˜¤ë²„íŠ¼ ì†ì„±",
+ImageButtonProp		: "ì´ë¯¸ì§€ë²„íŠ¼ ì†ì„±",
+TextFieldProp		: "ì…ë ¥í•„ë“œ ì†ì„±",
+SelectionFieldProp	: "í¼ì¹¨ëª©ë¡ ì†ì„±",
+TextareaProp		: "ì…ë ¥ì˜ì—­ ì†ì„±",
+FormProp			: "í¼ ì†ì„±",
+
+FontFormats			: "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "XHTML ì²˜ë¦¬ì¤‘. ì ì‹œë§Œ ê¸°ë‹¤ë ¤ì£¼ì‹­ì‹œìš”.",
+Done				: "ì™„ë£Œ",
+PasteWordConfirm	: "ë¶™ì—¬ë„£ê¸° í•  í…ìŠ¤íŠ¸ëŠ” MS Wordì—ì„œ ë³µì‚¬í•œ ê²ƒì…ë‹ˆë‹¤. ë¶™ì—¬ë„£ê¸° ì „ì— MS Word í¬ë©§ì„ ì‚­ì œí•˜ì‹œê² ìŠµë‹ˆê¹Œ?",
+NotCompatiblePaste	: "ì´ ëª…ë ¹ì€ ì¸í„°ë„·ìµìŠ¤í”Œë¡œëŸ¬ 5.5 ë²„ì „ ì´ìƒì—ì„œë§Œ ì‘ë™í•©ë‹ˆë‹¤. í¬ë©§ì„ ì‚­ì œí•˜ì§€ ì•Šê³  ë¶™ì—¬ë„£ê¸° í•˜ì‹œê² ìŠµë‹ˆê¹Œ?",
+UnknownToolbarItem	: "ì•Œìˆ˜ì—†ëŠ” íˆ´ë°”ì…ë‹ˆë‹¤. : \"%1\"",
+UnknownCommand		: "ì•Œìˆ˜ì—†ëŠ” ê¸°ëŠ¥ì…ë‹ˆë‹¤. : \"%1\"",
+NotImplemented		: "ê¸°ëŠ¥ì´ ì‹¤í–‰ë˜ì§€ ì•Šì•˜ìŠµë‹ˆë‹¤.",
+UnknownToolbarSet	: "íˆ´ë°” ì„¤ì •ì´ ì—†ìŠµë‹ˆë‹¤. : \"%1\"",
+NoActiveX			: "ë¸ŒëŸ¬ìš°ì €ì˜ ë³´ì•ˆ ì„¤ì •ìœ¼ë¡œ ì¸í•´ ëª‡ëª‡ ê¸°ëŠ¥ì˜ ì‘ë™ì— ì¥ì• ê°€ ìˆì„ ìˆ˜ ìˆìŠµë‹ˆë‹¤. \"ì•¡í‹°ë¸Œ-ì•¡ìŠ¤ ê¸°ëŠ¥ê³¼ í”ŒëŸ¬ê·¸ ì¸\" ì˜µì…˜ì„ í—ˆìš©í•˜ì—¬ ì£¼ì‹œì§€ ì•Šìœ¼ë©´ ì˜¤ë¥˜ê°€ ë°œìƒí•  ìˆ˜ ìˆìŠµë‹ˆë‹¤.",
+BrowseServerBlocked : "ë¸ŒëŸ¬ìš°ì € ìš”ì†Œê°€ ì—´ë¦¬ì§€ ì•ŠìŠµë‹ˆë‹¤. íŒì—…ì°¨ë‹¨ ì„¤ì •ì´ êº¼ì ¸ìˆëŠ”ì§€ í™•ì¸í•˜ì—¬ ì£¼ì‹­ì‹œì˜¤.",
+DialogBlocked		: "ìœˆë„ìš° ëŒ€í™”ì°½ì„ ì—´ ìˆ˜ ì—†ìŠµë‹ˆë‹¤. íŒì—…ì°¨ë‹¨ ì„¤ì •ì´ êº¼ì ¸ìˆëŠ”ì§€ í™•ì¸í•˜ì—¬ ì£¼ì‹­ì‹œì˜¤.",
+VisitLinkBlocked	: "It was not possible to open a new window. Make sure all popup blockers are disabled.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "ì˜ˆ",
+DlgBtnCancel		: "ì•„ë‹ˆì˜¤",
+DlgBtnClose			: "ë‹«ê¸°",
+DlgBtnBrowseServer	: "ì„œë²„ ë³´ê¸°",
+DlgAdvancedTag		: "ìì„¸íˆ",
+DlgOpOther			: "<ê¸°íƒ€>",
+DlgInfoTab			: "ì •ë³´",
+DlgAlertUrl			: "URLì„ ì…ë ¥í•˜ì‹­ì‹œìš”",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<ì„¤ì •ë˜ì§€ ì•ŠìŒ>",
+DlgGenId			: "ID",
+DlgGenLangDir		: "ì“°ê¸° ë°©í–¥",
+DlgGenLangDirLtr	: "ì™¼ìª½ì—ì„œ ì˜¤ë¥¸ìª½ (LTR)",
+DlgGenLangDirRtl	: "ì˜¤ë¥¸ìª½ì—ì„œ ì™¼ìª½ (RTL)",
+DlgGenLangCode		: "ì–¸ì–´ ì½”ë“œ",
+DlgGenAccessKey		: "ì—‘ì„¸ìŠ¤ í‚¤",
+DlgGenName			: "Name",
+DlgGenTabIndex		: "íƒ­ ìˆœì„œ",
+DlgGenLongDescr		: "URL ì„¤ëª…",
+DlgGenClass			: "Stylesheet Classes",
+DlgGenTitle			: "Advisory Title",
+DlgGenContType		: "Advisory Content Type",
+DlgGenLinkCharset	: "Linked Resource Charset",
+DlgGenStyle			: "Style",
+
+// Image Dialog
+DlgImgTitle			: "ì´ë¯¸ì§€ ì„¤ì •",
+DlgImgInfoTab		: "ì´ë¯¸ì§€ ì •ë³´",
+DlgImgBtnUpload		: "ì„œë²„ë¡œ ì „ì†¡",
+DlgImgURL			: "URL",
+DlgImgUpload		: "ì—…ë¡œë“œ",
+DlgImgAlt			: "ì´ë¯¸ì§€ ì„¤ëª…",
+DlgImgWidth			: "ë„ˆë¹„",
+DlgImgHeight		: "ë†’ì´",
+DlgImgLockRatio		: "ë¹„ìœ¨ ìœ ì§€",
+DlgBtnResetSize		: "ì›ë˜ í¬ê¸°ë¡œ",
+DlgImgBorder		: "í…Œë‘ë¦¬",
+DlgImgHSpace		: "ìˆ˜í‰ì—¬ë°±",
+DlgImgVSpace		: "ìˆ˜ì§ì—¬ë°±",
+DlgImgAlign			: "ì •ë ¬",
+DlgImgAlignLeft		: "ì™¼ìª½",
+DlgImgAlignAbsBottom: "ì¤„ì•„ë˜(Abs Bottom)",
+DlgImgAlignAbsMiddle: "ì¤„ì¤‘ê°„(Abs Middle)",
+DlgImgAlignBaseline	: "ê¸°ì¤€ì„ ",
+DlgImgAlignBottom	: "ì•„ë˜",
+DlgImgAlignMiddle	: "ì¤‘ê°„",
+DlgImgAlignRight	: "ì˜¤ë¥¸ìª½",
+DlgImgAlignTextTop	: "ê¸€ììƒë‹¨",
+DlgImgAlignTop		: "ìœ„",
+DlgImgPreview		: "ë¯¸ë¦¬ë³´ê¸°",
+DlgImgAlertUrl		: "ì´ë¯¸ì§€ URLì„ ì…ë ¥í•˜ì‹­ì‹œìš”",
+DlgImgLinkTab		: "ë§í¬",
+
+// Flash Dialog
+DlgFlashTitle		: "í”Œë˜ì‰¬ ë“±ë¡ì •ë³´",
+DlgFlashChkPlay		: "ìë™ì¬ìƒ",
+DlgFlashChkLoop		: "ë°˜ë³µ",
+DlgFlashChkMenu		: "í”Œë˜ì‰¬ë©”ë‰´ ê°€ëŠ¥",
+DlgFlashScale		: "ì˜ì—­",
+DlgFlashScaleAll	: "ëª¨ë‘ë³´ê¸°",
+DlgFlashScaleNoBorder	: "ê²½ê³„ì„ ì—†ìŒ",
+DlgFlashScaleFit	: "ì˜ì—­ìë™ì¡°ì ˆ",
+
+// Link Dialog
+DlgLnkWindowTitle	: "ë§í¬",
+DlgLnkInfoTab		: "ë§í¬ ì •ë³´",
+DlgLnkTargetTab		: "íƒ€ê²Ÿ",
+
+DlgLnkType			: "ë§í¬ ì¢…ë¥˜",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "ì±…ê°ˆí”¼",
+DlgLnkTypeEMail		: "ì´ë©”ì¼",
+DlgLnkProto			: "í”„ë¡œí† ì½œ",
+DlgLnkProtoOther	: "<ê¸°íƒ€>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "ì±…ê°ˆí”¼ ì„ íƒ",
+DlgLnkAnchorByName	: "ì±…ê°ˆí”¼ ì´ë¦„",
+DlgLnkAnchorById	: "ì±…ê°ˆí”¼ ID",
+DlgLnkNoAnchors		: "(ë¬¸ì„œì— ì±…ê°ˆí”¼ê°€ ì—†ìŠµë‹ˆë‹¤.)",
+DlgLnkEMail			: "ì´ë©”ì¼ ì£¼ì†Œ",
+DlgLnkEMailSubject	: "ì œëª©",
+DlgLnkEMailBody		: "ë‚´ìš©",
+DlgLnkUpload		: "ì—…ë¡œë“œ",
+DlgLnkBtnUpload		: "ì„œë²„ë¡œ ì „ì†¡",
+
+DlgLnkTarget		: "íƒ€ê²Ÿ",
+DlgLnkTargetFrame	: "<í”„ë ˆì„>",
+DlgLnkTargetPopup	: "<íŒì—…ì°½>",
+DlgLnkTargetBlank	: "ìƒˆ ì°½ (_blank)",
+DlgLnkTargetParent	: "ë¶€ëª¨ ì°½ (_parent)",
+DlgLnkTargetSelf	: "í˜„ì¬ ì°½ (_self)",
+DlgLnkTargetTop		: "ìµœ ìƒìœ„ ì°½ (_top)",
+DlgLnkTargetFrameName	: "íƒ€ê²Ÿ í”„ë ˆì„ ì´ë¦„",
+DlgLnkPopWinName	: "íŒì—…ì°½ ì´ë¦„",
+DlgLnkPopWinFeat	: "íŒì—…ì°½ ì„¤ì •",
+DlgLnkPopResize		: "í¬ê¸°ì¡°ì •",
+DlgLnkPopLocation	: "ì£¼ì†Œí‘œì‹œì¤„",
+DlgLnkPopMenu		: "ë©”ë‰´ë°”",
+DlgLnkPopScroll		: "ìŠ¤í¬ë¡¤ë°”",
+DlgLnkPopStatus		: "ìƒíƒœë°”",
+DlgLnkPopToolbar	: "íˆ´ë°”",
+DlgLnkPopFullScrn	: "ì „ì²´í™”ë©´ (IE)",
+DlgLnkPopDependent	: "Dependent (Netscape)",
+DlgLnkPopWidth		: "ë„ˆë¹„",
+DlgLnkPopHeight		: "ë†’ì´",
+DlgLnkPopLeft		: "ì™¼ìª½ ìœ„ì¹˜",
+DlgLnkPopTop		: "ìœ—ìª½ ìœ„ì¹˜",
+
+DlnLnkMsgNoUrl		: "ë§í¬ URLì„ ì…ë ¥í•˜ì‹­ì‹œìš”.",
+DlnLnkMsgNoEMail	: "ì´ë©”ì¼ì£¼ì†Œë¥¼ ì…ë ¥í•˜ì‹­ì‹œìš”.",
+DlnLnkMsgNoAnchor	: "ì±…ê°ˆí”¼ëª…ì„ ì…ë ¥í•˜ì‹­ì‹œìš”.",
+DlnLnkMsgInvPopName	: "íŒì—…ì°½ì˜ íƒ€ì´í‹€ì€ ê³µë°±ì„ í—ˆìš©í•˜ì§€ ì•ŠìŠµë‹ˆë‹¤.",
+
+// Color Dialog
+DlgColorTitle		: "ìƒ‰ìƒ ì„ íƒ",
+DlgColorBtnClear	: "ì§€ìš°ê¸°",
+DlgColorHighlight	: "í˜„ì¬",
+DlgColorSelected	: "ì„ íƒë¨",
+
+// Smiley Dialog
+DlgSmileyTitle		: "ì•„ì´ì½˜ ì‚½ì…",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "íŠ¹ìˆ˜ë¬¸ì ì„ íƒ",
+
+// Table Dialog
+DlgTableTitle		: "í‘œ ì„¤ì •",
+DlgTableRows		: "ê°€ë¡œì¤„",
+DlgTableColumns		: "ì„¸ë¡œì¤„",
+DlgTableBorder		: "í…Œë‘ë¦¬ í¬ê¸°",
+DlgTableAlign		: "ì •ë ¬",
+DlgTableAlignNotSet	: "<ì„¤ì •ë˜ì§€ ì•ŠìŒ>",
+DlgTableAlignLeft	: "ì™¼ìª½",
+DlgTableAlignCenter	: "ê°€ìš´ë°",
+DlgTableAlignRight	: "ì˜¤ë¥¸ìª½",
+DlgTableWidth		: "ë„ˆë¹„",
+DlgTableWidthPx		: "í”½ì…€",
+DlgTableWidthPc		: "í¼ì„¼íŠ¸",
+DlgTableHeight		: "ë†’ì´",
+DlgTableCellSpace	: "ì…€ ê°„ê²©",
+DlgTableCellPad		: "ì…€ ì—¬ë°±",
+DlgTableCaption		: "ìº¡ì…˜",
+DlgTableSummary		: "ìš”ì•½",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "ì…€ ì„¤ì •",
+DlgCellWidth		: "ë„ˆë¹„",
+DlgCellWidthPx		: "í”½ì…€",
+DlgCellWidthPc		: "í¼ì„¼íŠ¸",
+DlgCellHeight		: "ë†’ì´",
+DlgCellWordWrap		: "ì›Œë“œë©",
+DlgCellWordWrapNotSet	: "<ì„¤ì •ë˜ì§€ ì•ŠìŒ>",
+DlgCellWordWrapYes	: "ì˜ˆ",
+DlgCellWordWrapNo	: "ì•„ë‹ˆì˜¤",
+DlgCellHorAlign		: "ìˆ˜í‰ ì •ë ¬",
+DlgCellHorAlignNotSet	: "<ì„¤ì •ë˜ì§€ ì•ŠìŒ>",
+DlgCellHorAlignLeft	: "ì™¼ìª½",
+DlgCellHorAlignCenter	: "ê°€ìš´ë°",
+DlgCellHorAlignRight: "ì˜¤ë¥¸ìª½",
+DlgCellVerAlign		: "ìˆ˜ì§ ì •ë ¬",
+DlgCellVerAlignNotSet	: "<ì„¤ì •ë˜ì§€ ì•ŠìŒ>",
+DlgCellVerAlignTop	: "ìœ„",
+DlgCellVerAlignMiddle	: "ì¤‘ê°„",
+DlgCellVerAlignBottom	: "ì•„ë˜",
+DlgCellVerAlignBaseline	: "ê¸°ì¤€ì„ ",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "ì„¸ë¡œ í•©ì¹˜ê¸°",
+DlgCellCollSpan		: "ê°€ë¡œ í•©ì¹˜ê¸°",
+DlgCellBackColor	: "ë°°ê²½ ìƒ‰ìƒ",
+DlgCellBorderColor	: "í…Œë‘ë¦¬ ìƒ‰ìƒ",
+DlgCellBtnSelect	: "ì„ íƒ",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "ì°¾ê¸° & ë°”ê¾¸ê¸°",
+
+// Find Dialog
+DlgFindTitle		: "ì°¾ê¸°",
+DlgFindFindBtn		: "ì°¾ê¸°",
+DlgFindNotFoundMsg	: "ë¬¸ìì—´ì„ ì°¾ì„ ìˆ˜ ì—†ìŠµë‹ˆë‹¤.",
+
+// Replace Dialog
+DlgReplaceTitle			: "ë°”ê¾¸ê¸°",
+DlgReplaceFindLbl		: "ì°¾ì„ ë¬¸ìì—´:",
+DlgReplaceReplaceLbl	: "ë°”ê¿€ ë¬¸ìì—´:",
+DlgReplaceCaseChk		: "ëŒ€ì†Œë¬¸ì êµ¬ë¶„",
+DlgReplaceReplaceBtn	: "ë°”ê¾¸ê¸°",
+DlgReplaceReplAllBtn	: "ëª¨ë‘ ë°”ê¾¸ê¸°",
+DlgReplaceWordChk		: "ì˜¨ì „í•œ ë‹¨ì–´",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "ë¸Œë¼ìš°ì €ì˜ ë³´ì•ˆì„¤ì •ë•Œë¬¸ì— ì˜ë¼ë‚´ê¸° ê¸°ëŠ¥ì„ ì‹¤í–‰í•  ìˆ˜ ì—†ìŠµë‹ˆë‹¤. í‚¤ë³´ë“œ ëª…ë ¹ì„ ì‚¬ìš©í•˜ì‹­ì‹œìš”. (Ctrl+X).",
+PasteErrorCopy	: "ë¸Œë¼ìš°ì €ì˜ ë³´ì•ˆì„¤ì •ë•Œë¬¸ì— ë³µì‚¬í•˜ê¸° ê¸°ëŠ¥ì„ ì‹¤í–‰í•  ìˆ˜ ì—†ìŠµë‹ˆë‹¤. í‚¤ë³´ë“œ ëª…ë ¹ì„ ì‚¬ìš©í•˜ì‹­ì‹œìš”.  (Ctrl+C).",
+
+PasteAsText		: "í…ìŠ¤íŠ¸ë¡œ ë¶™ì—¬ë„£ê¸°",
+PasteFromWord	: "MS Word í˜•ì‹ì—ì„œ ë¶™ì—¬ë„£ê¸°",
+
+DlgPasteMsg2	: "í‚¤ë³´ë“œì˜ (<STRONG>Ctrl+V</STRONG>) ë¥¼ ì´ìš©í•´ì„œ ìƒìì•ˆì— ë¶™ì—¬ë„£ê³  <STRONG>OK</STRONG> ë¥¼ ëˆ„ë¥´ì„¸ìš”.",
+DlgPasteSec		: "ë¸ŒëŸ¬ìš°ì € ë³´ì•ˆ ì„¤ì •ìœ¼ë¡œ ì¸í•´, í´ë¦½ë³´ë“œì˜ ìë£Œë¥¼ ì§ì ‘ ì ‘ê·¼í•  ìˆ˜ ì—†ìŠµë‹ˆë‹¤. ì´ ì°½ì— ë‹¤ì‹œ ë¶™ì—¬ë„£ê¸° í•˜ì‹­ì‹œì˜¤.",
+DlgPasteIgnoreFont		: "í°íŠ¸ ì„¤ì • ë¬´ì‹œ",
+DlgPasteRemoveStyles	: "ìŠ¤íƒ€ì¼ ì •ì˜ ì œê±°",
+
+// Color Picker
+ColorAutomatic	: "ê¸°ë³¸ìƒ‰ìƒ",
+ColorMoreColors	: "ìƒ‰ìƒì„ íƒ...",
+
+// Document Properties
+DocProps		: "ë¬¸ì„œ ì†ì„±",
+
+// Anchor Dialog
+DlgAnchorTitle		: "ì±…ê°ˆí”¼ ì†ì„±",
+DlgAnchorName		: "ì±…ê°ˆí”¼ ì´ë¦„",
+DlgAnchorErrorName	: "ì±…ê°ˆí”¼ ì´ë¦„ì„ ì…ë ¥í•˜ì‹­ì‹œìš”.",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "ì‚¬ì „ì— ì—†ëŠ” ë‹¨ì–´",
+DlgSpellChangeTo		: "ë³€ê²½í•  ë‹¨ì–´",
+DlgSpellBtnIgnore		: "ê±´ë„ˆëœ€",
+DlgSpellBtnIgnoreAll	: "ëª¨ë‘ ê±´ë„ˆëœ€",
+DlgSpellBtnReplace		: "ë³€ê²½",
+DlgSpellBtnReplaceAll	: "ëª¨ë‘ ë³€ê²½",
+DlgSpellBtnUndo			: "ì·¨ì†Œ",
+DlgSpellNoSuggestions	: "- ì¶”ì²œë‹¨ì–´ ì—†ìŒ -",
+DlgSpellProgress		: "ì² ìê²€ì‚¬ë¥¼ ì§„í–‰ì¤‘ì…ë‹ˆë‹¤...",
+DlgSpellNoMispell		: "ì² ìê²€ì‚¬ ì™„ë£Œ: ì˜ëª»ëœ ì² ìê°€ ì—†ìŠµë‹ˆë‹¤.",
+DlgSpellNoChanges		: "ì² ìê²€ì‚¬ ì™„ë£Œ: ë³€ê²½ëœ ë‹¨ì–´ê°€ ì—†ìŠµë‹ˆë‹¤.",
+DlgSpellOneChange		: "ì² ìê²€ì‚¬ ì™„ë£Œ: ë‹¨ì–´ê°€ ë³€ê²½ë˜ì—ˆìŠµë‹ˆë‹¤.",
+DlgSpellManyChanges		: "ì² ìê²€ì‚¬ ì™„ë£Œ: %1 ë‹¨ì–´ê°€ ë³€ê²½ë˜ì—ˆìŠµë‹ˆë‹¤.",
+
+IeSpellDownload			: "ì² ì ê²€ì‚¬ê¸°ê°€ ì² ì¹˜ë˜ì§€ ì•Šì•˜ìŠµë‹ˆë‹¤. ì§€ê¸ˆ ë‹¤ìš´ë¡œë“œí•˜ì‹œê² ìŠµë‹ˆê¹Œ?",
+
+// Button Dialog
+DlgButtonText		: "ë²„íŠ¼ê¸€ì(ê°’)",
+DlgButtonType		: "ë²„íŠ¼ì¢…ë¥˜",
+DlgButtonTypeBtn	: "Button",	//MISSING
+DlgButtonTypeSbm	: "Submit",	//MISSING
+DlgButtonTypeRst	: "Reset",	//MISSING
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "ì´ë¦„",
+DlgCheckboxValue	: "ê°’",
+DlgCheckboxSelected	: "ì„ íƒë¨",
+
+// Form Dialog
+DlgFormName		: "í¼ì´ë¦„",
+DlgFormAction	: "ì‹¤í–‰ê²½ë¡œ(Action)",
+DlgFormMethod	: "ë°©ë²•(Method)",
+
+// Select Field Dialog
+DlgSelectName		: "ì´ë¦„",
+DlgSelectValue		: "ê°’",
+DlgSelectSize		: "ì„¸ë¡œí¬ê¸°",
+DlgSelectLines		: "ì¤„",
+DlgSelectChkMulti	: "ì—¬ëŸ¬í•­ëª© ì„ íƒ í—ˆìš©",
+DlgSelectOpAvail	: "ì„ íƒì˜µì…˜",
+DlgSelectOpText		: "ì´ë¦„",
+DlgSelectOpValue	: "ê°’",
+DlgSelectBtnAdd		: "ì¶”ê°€",
+DlgSelectBtnModify	: "ë³€ê²½",
+DlgSelectBtnUp		: "ìœ„ë¡œ",
+DlgSelectBtnDown	: "ì•„ë˜ë¡œ",
+DlgSelectBtnSetValue : "ì„ íƒëœê²ƒìœ¼ë¡œ ì„¤ì •",
+DlgSelectBtnDelete	: "ì‚­ì œ",
+
+// Textarea Dialog
+DlgTextareaName	: "ì´ë¦„",
+DlgTextareaCols	: "ì¹¸ìˆ˜",
+DlgTextareaRows	: "ì¤„ìˆ˜",
+
+// Text Field Dialog
+DlgTextName			: "ì´ë¦„",
+DlgTextValue		: "ê°’",
+DlgTextCharWidth	: "ê¸€ì ë„ˆë¹„",
+DlgTextMaxChars		: "ìµœëŒ€ ê¸€ììˆ˜",
+DlgTextType			: "ì¢…ë¥˜",
+DlgTextTypeText		: "ë¬¸ìì—´",
+DlgTextTypePass		: "ë¹„ë°€ë²ˆí˜¸",
+
+// Hidden Field Dialog
+DlgHiddenName	: "ì´ë¦„",
+DlgHiddenValue	: "ê°’",
+
+// Bulleted List Dialog
+BulletedListProp	: "ìˆœì„œì—†ëŠ” ëª©ë¡ ì†ì„±",
+NumberedListProp	: "ìˆœì„œìˆëŠ” ëª©ë¡ ì†ì„±",
+DlgLstStart			: "Start",	//MISSING
+DlgLstType			: "ì¢…ë¥˜",
+DlgLstTypeCircle	: "ì›(Circle)",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "ë„¤ëª¨ì (Square)",
+DlgLstTypeNumbers	: "ë²ˆí˜¸ (1, 2, 3)",
+DlgLstTypeLCase		: "ì†Œë¬¸ì (a, b, c)",
+DlgLstTypeUCase		: "ëŒ€ë¬¸ì (A, B, C)",
+DlgLstTypeSRoman	: "ë¡œë§ˆì ìˆ˜ë¬¸ì (i, ii, iii)",
+DlgLstTypeLRoman	: "ë¡œë§ˆì ëŒ€ë¬¸ì (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "ì¼ë°˜",
+DlgDocBackTab		: "ë°°ê²½",
+DlgDocColorsTab		: "ìƒ‰ìƒ ë° ì—¬ë°±",
+DlgDocMetaTab		: "ë©”íƒ€ë°ì´í„°",
+
+DlgDocPageTitle		: "í˜ì´ì§€ëª…",
+DlgDocLangDir		: "ë¬¸ì ì“°ê¸°ë°©í–¥",
+DlgDocLangDirLTR	: "ì™¼ìª½ì—ì„œ ì˜¤ë¥¸ìª½ (LTR)",
+DlgDocLangDirRTL	: "ì˜¤ë¥¸ìª½ì—ì„œ ì™¼ìª½ (RTL)",
+DlgDocLangCode		: "ì–¸ì–´ì½”ë“œ",
+DlgDocCharSet		: "ìºë¦­í„°ì…‹ ì¸ì½”ë”©",
+DlgDocCharSetCE		: "Central European",	//MISSING
+DlgDocCharSetCT		: "Chinese Traditional (Big5)",	//MISSING
+DlgDocCharSetCR		: "Cyrillic",	//MISSING
+DlgDocCharSetGR		: "Greek",	//MISSING
+DlgDocCharSetJP		: "Japanese",	//MISSING
+DlgDocCharSetKR		: "Korean",	//MISSING
+DlgDocCharSetTR		: "Turkish",	//MISSING
+DlgDocCharSetUN		: "Unicode (UTF-8)",	//MISSING
+DlgDocCharSetWE		: "Western European",	//MISSING
+DlgDocCharSetOther	: "ë‹¤ë¥¸ ìºë¦­í„°ì…‹ ì¸ì½”ë”©",
+
+DlgDocDocType		: "ë¬¸ì„œ í—¤ë“œ",
+DlgDocDocTypeOther	: "ë‹¤ë¥¸ ë¬¸ì„œí—¤ë“œ",
+DlgDocIncXHTML		: "XHTML ë¬¸ì„œì •ì˜ í¬í•¨",
+DlgDocBgColor		: "ë°°ê²½ìƒ‰ìƒ",
+DlgDocBgImage		: "ë°°ê²½ì´ë¯¸ì§€ URL",
+DlgDocBgNoScroll	: "ìŠ¤í¬ë¡¤ë˜ì§€ì•ŠëŠ” ë°°ê²½",
+DlgDocCText			: "í…ìŠ¤íŠ¸",
+DlgDocCLink			: "ë§í¬",
+DlgDocCVisited		: "ë°©ë¬¸í•œ ë§í¬(Visited)",
+DlgDocCActive		: "í™œì„±í™”ëœ ë§í¬(Active)",
+DlgDocMargins		: "í˜ì´ì§€ ì—¬ë°±",
+DlgDocMaTop			: "ìœ„",
+DlgDocMaLeft		: "ì™¼ìª½",
+DlgDocMaRight		: "ì˜¤ë¥¸ìª½",
+DlgDocMaBottom		: "ì•„ë˜",
+DlgDocMeIndex		: "ë¬¸ì„œ í‚¤ì›Œë“œ (ì½¤ë§ˆë¡œ êµ¬ë¶„)",
+DlgDocMeDescr		: "ë¬¸ì„œ ì„¤ëª…",
+DlgDocMeAuthor		: "ì‘ì„±ì",
+DlgDocMeCopy		: "ì €ì‘ê¶Œ",
+DlgDocPreview		: "ë¯¸ë¦¬ë³´ê¸°",
+
+// Templates Dialog
+Templates			: "í…œí”Œë¦¿",
+DlgTemplatesTitle	: "ë‚´ìš© í…œí”Œë¦¿",
+DlgTemplatesSelMsg	: "ì—ë””í„°ì—ì„œ ì‚¬ìš©í•  í…œí”Œë¦¿ì„ ì„ íƒí•˜ì‹­ì‹œìš”.<br>(ì§€ê¸ˆê¹Œì§€ ì‘ì„±ëœ ë‚´ìš©ì€ ì‚¬ë¼ì§‘ë‹ˆë‹¤.):",
+DlgTemplatesLoading	: "í…œí”Œë¦¿ ëª©ë¡ì„ ë¶ˆëŸ¬ì˜¤ëŠ”ì¤‘ì…ë‹ˆë‹¤. ì ì‹œë§Œ ê¸°ë‹¤ë ¤ì£¼ì‹­ì‹œìš”.",
+DlgTemplatesNoTpl	: "(í…œí”Œë¦¿ì´ ì—†ìŠµë‹ˆë‹¤.)",
+DlgTemplatesReplace	: "í˜„ì¬ ë‚´ìš© ë°”ê¾¸ê¸°",
+
+// About Dialog
+DlgAboutAboutTab	: "About",
+DlgAboutBrowserInfoTab	: "ë¸Œë¼ìš°ì € ì •ë³´",
+DlgAboutLicenseTab	: "License",	//MISSING
+DlgAboutVersion		: "ë²„ì „",
+DlgAboutInfo		: "ë” ë§ì€ ì •ë³´ë¥¼ ë³´ì‹œë ¤ë©´ ë‹¤ìŒ ì‚¬ì´íŠ¸ë¡œ ê°€ì‹­ì‹œì˜¤.",
+
+// Div Dialog
+DlgDivGeneralTab	: "General",	//MISSING
+DlgDivAdvancedTab	: "Advanced",	//MISSING
+DlgDivStyle		: "Style",	//MISSING
+DlgDivInlineStyle	: "Inline Style",	//MISSING
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/gu.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/gu.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/gu.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Gujarati language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "àªŸà«‚àª²àª¬àª¾àª° àª¨àª¾àª¨à«àª‚ àª•àª°àªµà«àª‚",
+ToolbarExpand		: "àªŸà«‚àª²àª¬àª¾àª° àª®à«‹àªŸà«àª‚ àª•àª°àªµà«àª‚",
+
+// Toolbar Items and Context Menu
+Save				: "àª¸à«‡àªµ",
+NewPage				: "àª¨àªµà« àªªàª¾àª¨à«àª‚",
+Preview				: "àªªà«‚àª°à«àªµàª¦àª°à«àª¶àª¨",
+Cut					: "àª•àª¾àªªàªµà«àª‚",
+Copy				: "àª¨àª•àª²",
+Paste				: "àªªà«‡àª¸à«àªŸ",
+PasteText			: "àªªà«‡àª¸à«àªŸ (àª¸àª¾àª¦à«€ àªŸà«‡àª•à«àª¸à«àªŸ)",
+PasteWord			: "àªªà«‡àª¸à«àªŸ (àªµàª¡à«… àªŸà«‡àª•à«àª¸à«àªŸ)",
+Print				: "àªªà«àª°àª¿àª¨à«àªŸ",
+SelectAll			: "àª¬àª˜à«àª‚ àªªàª¸àª‚àª¦ àª•àª°àªµà«àª‚",
+RemoveFormat		: "àª«à«‰àª°à«àª®àªŸ àª•àª¾àª¢àªµà«àª‚",
+InsertLinkLbl		: "àª¸àª‚àª¬àª‚àª§àª¨, àª²àª¿àª‚àª•",
+InsertLink			: "àª²àª¿àª‚àª• àª‡àª¨à«àª¸àª°à«àªŸ/àª¦àª¾àª–àª² àª•àª°àªµà«€",
+RemoveLink			: "àª²àª¿àª‚àª• àª•àª¾àª¢àªµà«€",
+VisitLink			: "Open Link",	//MISSING
+Anchor				: "àªàª‚àª•àª° àª‡àª¨à«àª¸àª°à«àªŸ/àª¦àª¾àª–àª² àª•àª°àªµà«€",
+AnchorDelete		: "àªàª‚àª•àª° àª•àª¾àª¢àªµà«€",
+InsertImageLbl		: "àªšàª¿àª¤à«àª°",
+InsertImage			: "àªšàª¿àª¤à«àª° àª‡àª¨à«àª¸àª°à«àªŸ/àª¦àª¾àª–àª² àª•àª°àªµà«àª‚",
+InsertFlashLbl		: "àª«à«àª²à«…àª¶",
+InsertFlash			: "àª«à«àª²à«…àª¶ àª‡àª¨à«àª¸àª°à«àªŸ/àª¦àª¾àª–àª² àª•àª°àªµà«àª‚",
+InsertTableLbl		: "àªŸà«‡àª¬àª², àª•à«‹àª à«‹",
+InsertTable			: "àªŸà«‡àª¬àª², àª•à«‹àª à«‹ àª‡àª¨à«àª¸àª°à«àªŸ/àª¦àª¾àª–àª² àª•àª°àªµà«àª‚",
+InsertLineLbl		: "àª°à«‡àª–àª¾",
+InsertLine			: "àª¸àª®àª¸à«àª¤àª°à«€àª¯ àª°à«‡àª–àª¾ àª‡àª¨à«àª¸àª°à«àªŸ/àª¦àª¾àª–àª² àª•àª°àªµà«€",
+InsertSpecialCharLbl: "àªµàª¿àª¶àª¿àª·à«àªŸ àª…àª•à«àª·àª°",
+InsertSpecialChar	: "àªµàª¿àª¶àª¿àª·à«àªŸ àª…àª•à«àª·àª° àª‡àª¨à«àª¸àª°à«àªŸ/àª¦àª¾àª–àª² àª•àª°àªµà«àª‚",
+InsertSmileyLbl		: "àª¸à«àª®àª¾àª‡àª²à«€",
+InsertSmiley		: "àª¸à«àª®àª¾àª‡àª²à«€ àª‡àª¨à«àª¸àª°à«àªŸ/àª¦àª¾àª–àª² àª•àª°àªµà«€",
+About				: "FCKeditoràª¨àª¾ àªµàª¿àª·à«‡",
+Bold				: "àª¬à«‹àª²à«àª¡/àª¸à«àªªàª·à«àªŸ",
+Italic				: "àª‡àªŸà«‡àª²àª¿àª•, àª¤à«àª°àª¾àª‚àª¸àª¾",
+Underline			: "àª…àª¨à«àª¡àª°à«àª²àª¾àª‡àª¨, àª¨à«€àªšà«‡ àª²à«€àªŸà«€",
+StrikeThrough		: "àª›à«‡àª•à«€ àª¨àª¾àª–àªµà«àª‚",
+Subscript			: "àªàª• àªšàª¿àª¹à«àª¨àª¨à«€ àª¨à«€àªšà«‡ àª•àª°à«‡àª²à«àª‚ àª¬à«€àªœà«àª‚ àªšàª¿àª¹à«àª¨",
+Superscript			: "àªàª• àªšàª¿àª¹à«àª¨ àª‰àªªàª° àª•àª°à«‡àª²à«àª‚ àª¬à«€àªœà«àª‚ àªšàª¿àª¹à«àª¨.",
+LeftJustify			: "àª¡àª¾àª¬à«€ àª¬àª¾àªœà«àª/àª¬àª¾àªœà« àª¤àª°àª«",
+CenterJustify		: "àª¸àª‚àª•à«‡àª‚àª¦à«àª°àª£/àª¸à«‡àª‚àªŸàª°àª¿àª‚àª—",
+RightJustify		: "àªœàª®àª£à«€ àª¬àª¾àªœà«àª/àª¬àª¾àªœà« àª¤àª°àª«",
+BlockJustify		: "àª¬à«àª²à«‰àª•, àª…àª‚àª¤àª°àª¾àª¯ àªœàª¸à«àªŸàª¿àª«àª¾àª‡",
+DecreaseIndent		: "àª‡àª¨à«àª¡à«‡àª¨à«àªŸ àª²à«€àªŸà«€àª¨àª¾ àª†àª°àª‚àª­àª®àª¾àª‚ àªœàª—à«àª¯àª¾ àª˜àªŸàª¾àª¡àªµà«€",
+IncreaseIndent		: "àª‡àª¨à«àª¡à«‡àª¨à«àªŸ, àª²à«€àªŸà«€àª¨àª¾ àª†àª°àª‚àª­àª®àª¾àª‚ àªœàª—à«àª¯àª¾ àªµàª§àª¾àª°àªµà«€",
+Blockquote			: "àª¬à«àª²à«‰àª•-àª•à«‹àªŸ, àª…àªµàª¤àª°àª£àªšàª¿àª¹à«àª¨à«‹",
+CreateDiv			: "Create Div Container",	//MISSING
+EditDiv				: "Edit Div Container",	//MISSING
+DeleteDiv			: "Remove Div Container",	//MISSING
+Undo				: "àª°àª¦ àª•àª°àªµà«àª‚; àªªàª¹à«‡àª²àª¾àª‚ àª¹àª¤à«€ àªàªµà«€ àª¸à«àª¥àª¿àª¤àª¿ àªªàª¾àª›à«€ àª²àª¾àªµàªµà«€",
+Redo				: "àª°àª¿àª¡à«‚; àªªàª›à«€ àª¹àª¤à«€ àªàªµà«€ àª¸à«àª¥àª¿àª¤àª¿ àªªàª¾àª›à«€ àª²àª¾àªµàªµà«€",
+NumberedListLbl		: "àª¸àª‚àª–à«àª¯àª¾àª‚àª•àª¨ àª¸à«‚àªšàª¿",
+NumberedList		: "àª¸àª‚àª–à«àª¯àª¾àª‚àª•àª¨ àª¸à«‚àªšàª¿ àª‡àª¨à«àª¸àª°à«àªŸ/àª¦àª¾àª–àª² àª•àª°àªµà«€",
+BulletedListLbl		: "àª¬à«àª²à«‡àªŸ àª¸à«‚àªšàª¿",
+BulletedList		: "àª¬à«àª²à«‡àªŸ àª¸à«‚àªšàª¿ àª‡àª¨à«àª¸àª°à«àªŸ/àª¦àª¾àª–àª² àª•àª°àªµà«€",
+ShowTableBorders	: "àªŸà«‡àª¬àª², àª•à«‹àª àª¾àª¨à«€ àª¬àª¾àªœà«(àª¬à«‹àª°à«àª¡àª°) àª¬àª¤àª¾àªµàªµà«€",
+ShowDetails			: "àªµàª¿àª¸à«àª¤à«ƒàª¤ àªµàª¿àª—àª¤àªµàª¾àª° àª¬àª¤àª¾àªµàªµà«àª‚",
+Style				: "àª¶à«ˆàª²à«€/àª°à«€àª¤",
+FontFormat			: "àª«à«‰àª¨à«àªŸ àª«à«‰àª°à«àª®àªŸ, àª°àªšàª¨àª¾àª¨à«€ àª¶à«ˆàª²à«€",
+Font				: "àª«à«‰àª¨à«àªŸ",
+FontSize			: "àª«à«‰àª¨à«àªŸ àª¸àª¾àª‡àª/àª•àª¦",
+TextColor			: "àª¶àª¬à«àª¦àª¨à«‹ àª°àª‚àª—",
+BGColor				: "àª¬à«…àª•àª—à«àª°àª¾àª‰àª¨à«àª¡ àª°àª‚àª—,",
+Source				: "àª®à«‚àª³ àª•à«‡ àªªà«àª°àª¾àª¥àª®àª¿àª• àª¦àª¸à«àª¤àª¾àªµà«‡àªœ",
+Find				: "àª¶à«‹àª§àªµà«àª‚",
+Replace				: "àª°àª¿àªªà«àª²à«‡àª¸/àª¬àª¦àª²àªµà«àª‚",
+SpellCheck			: "àªœà«‹àª¡àª£à«€ (àª¸à«àªªà«‡àª²àª¿àª‚àª—) àª¤àªªàª¾àª¸àªµà«€",
+UniversalKeyboard	: "àª¯à«‚àª¨àª¿àªµàª°à«àª¸àª²/àªµàª¿àª¶à«àªµàªµà«àª¯àª¾àªªàª• àª•à«€àª¬à«‰àª°à«àª¡",
+PageBreakLbl		: "àªªà«‡àªœàª¬à«àª°à«‡àª•/àªªàª¾àª¨àª¾àª¨à«‡ àª…àª²àª— àª•àª°àªµà«àª‚",
+PageBreak			: "àª‡àª¨à«àª¸àª°à«àªŸ àªªà«‡àªœàª¬à«àª°à«‡àª•/àªªàª¾àª¨àª¾àª¨à«‡ àª…àª²àª— àª•àª°àªµà«àª‚/àª¦àª¾àª–àª² àª•àª°àªµà«àª‚",
+
+Form			: "àª«à«‰àª°à«àª®/àªªàª¤à«àª°àª•",
+Checkbox		: "àªšà«‡àª• àª¬à«‹àª•à«àª¸",
+RadioButton		: "àª°à«‡àª¡àª¿àª“ àª¬àªŸàª¨",
+TextField		: "àªŸà«‡àª•à«àª¸à«àªŸ àª«à«€àª²à«àª¡, àª¶àª¬à«àª¦ àª•à«àª·à«‡àª¤à«àª°",
+Textarea		: "àªŸà«‡àª•à«àª¸à«àªŸ àªàª°àª¿àª†, àª¶àª¬à«àª¦ àªµàª¿àª¸à«àª¤àª¾àª°",
+HiddenField		: "àª—à«àªªà«àª¤ àª•à«àª·à«‡àª¤à«àª°",
+Button			: "àª¬àªŸàª¨",
+SelectionField	: "àªªàª¸àª‚àª¦àª—à«€ àª•à«àª·à«‡àª¤à«àª°",
+ImageButton		: "àªšàª¿àª¤à«àª° àª¬àªŸàª¨",
+
+FitWindow		: "àªàª¡àª¿àªŸàª°àª¨à«€ àª¸àª¾àª‡àª àª…àª§àª¿àª•àª¤àª® àª•àª°àªµà«€",
+ShowBlocks		: "àª¬à«àª²à«‰àª• àª¬àª¤àª¾àªµàªµà«àª‚",
+
+// Context Menu
+EditLink			: " àª²àª¿àª‚àª• àªàª¡àª¿àªŸ/àª®àª¾àª‚ àª«à«‡àª°àª«àª¾àª° àª•àª°àªµà«‹",
+CellCM				: "àª•à«‹àª·àª¨àª¾ àª–àª¾àª¨àª¾",
+RowCM				: "àªªàª‚àª•à«àª¤àª¿àª¨àª¾ àª–àª¾àª¨àª¾",
+ColumnCM			: "àª•à«‰àª²àª®/àªŠàª­à«€ àª•àªŸàª¾àª°",
+InsertRowAfter		: "àªªàª›à«€ àªªàª‚àª•à«àª¤àª¿ àª‰àª®à«‡àª°àªµà«€",
+InsertRowBefore		: "àªªàª¹à«‡àª²àª¾àª‚ àªªàª‚àª•à«àª¤àª¿ àª‰àª®à«‡àª°àªµà«€",
+DeleteRows			: "àªªàª‚àª•à«àª¤àª¿àª“ àª¡àª¿àª²à«€àªŸ/àª•àª¾àª¢à«€ àª¨àª¾àª–àªµà«€",
+InsertColumnAfter	: "àªªàª›à«€ àª•à«‰àª²àª®/àªŠàª­à«€ àª•àªŸàª¾àª° àª‰àª®à«‡àª°àªµà«€",
+InsertColumnBefore	: "àªªàª¹à«‡àª²àª¾àª‚ àª•à«‰àª²àª®/àªŠàª­à«€ àª•àªŸàª¾àª° àª‰àª®à«‡àª°àªµà«€",
+DeleteColumns		: "àª•à«‰àª²àª®/àªŠàª­à«€ àª•àªŸàª¾àª° àª¡àª¿àª²à«€àªŸ/àª•àª¾àª¢à«€ àª¨àª¾àª–àªµà«€",
+InsertCellAfter		: "àªªàª›à«€ àª•à«‹àª· àª‰àª®à«‡àª°àªµà«‹",
+InsertCellBefore	: "àªªàª¹à«‡àª²àª¾àª‚ àª•à«‹àª· àª‰àª®à«‡àª°àªµà«‹",
+DeleteCells			: "àª•à«‹àª· àª¡àª¿àª²à«€àªŸ/àª•àª¾àª¢à«€ àª¨àª¾àª–àªµà«‹",
+MergeCells			: "àª•à«‹àª· àª­à«‡àª—àª¾ àª•àª°àªµàª¾",
+MergeRight			: "àªœàª®àª£à«€ àª¬àª¾àªœà« àª­à«‡àª—àª¾ àª•àª°àªµàª¾",
+MergeDown			: "àª¨à«€àªšà«‡ àª­à«‡àª—àª¾ àª•àª°àªµàª¾",
+HorizontalSplitCell	: "àª•à«‹àª·àª¨à«‡ àª¸àª®àª¸à«àª¤àª°à«€àª¯ àªµàª¿àª­àª¾àªœàª¨ àª•àª°àªµà«àª‚",
+VerticalSplitCell	: "àª•à«‹àª·àª¨à«‡ àª¸à«€àª§à«àª‚ àª¨à«‡ àªŠàª­à«àª‚ àªµàª¿àª­àª¾àªœàª¨ àª•àª°àªµà«àª‚",
+TableDelete			: "àª•à«‹àª à«‹ àª¡àª¿àª²à«€àªŸ/àª•àª¾àª¢à«€ àª¨àª¾àª–àªµà«àª‚",
+CellProperties		: "àª•à«‹àª·àª¨àª¾ àª—à«àª£",
+TableProperties		: "àª•à«‹àª àª¾àª¨àª¾  àª—à«àª£",
+ImageProperties		: "àªšàª¿àª¤à«àª°àª¨àª¾ àª—à«àª£",
+FlashProperties		: "àª«à«àª²à«…àª¶àª¨àª¾ àª—à«àª£",
+
+AnchorProp			: "àªàª‚àª•àª°àª¨àª¾ àª—à«àª£",
+ButtonProp			: "àª¬àªŸàª¨àª¨àª¾ àª—à«àª£",
+CheckboxProp		: "àªšà«‡àª• àª¬à«‹àª•à«àª¸ àª—à«àª£",
+HiddenFieldProp		: "àª—à«àªªà«àª¤ àª•à«àª·à«‡àª¤à«àª°àª¨àª¾ àª—à«àª£",
+RadioButtonProp		: "àª°à«‡àª¡àª¿àª“ àª¬àªŸàª¨àª¨àª¾ àª—à«àª£",
+ImageButtonProp		: "àªšàª¿àª¤à«àª° àª¬àªŸàª¨àª¨àª¾ àª—à«àª£",
+TextFieldProp		: "àªŸà«‡àª•à«àª¸à«àªŸ àª«à«€àª²à«àª¡, àª¶àª¬à«àª¦ àª•à«àª·à«‡àª¤à«àª°àª¨àª¾ àª—à«àª£",
+SelectionFieldProp	: "àªªàª¸àª‚àª¦àª—à«€ àª•à«àª·à«‡àª¤à«àª°àª¨àª¾ àª—à«àª£",
+TextareaProp		: "àªŸà«‡àª•à«àª¸à«àªŸ àªàª…àª°àª¿àª†, àª¶àª¬à«àª¦ àªµàª¿àª¸à«àª¤àª¾àª°àª¨àª¾ àª—à«àª£",
+FormProp			: "àª«à«‰àª°à«àª®/àªªàª¤à«àª°àª•àª¨àª¾ àª—à«àª£",
+
+FontFormats			: "àª¸àª¾àª®àª¾àª¨à«àª¯;àª«à«‰àª°à«àª®àªŸà«‡àª¡;àª¸àª°àª¨àª¾àª®à«àª‚;àª¶à«€àª°à«àª·àª• 1;àª¶à«€àª°à«àª·àª• 2;àª¶à«€àª°à«àª·àª• 3;àª¶à«€àª°à«àª·àª• 4;àª¶à«€àª°à«àª·àª• 5;àª¶à«€àª°à«àª·àª• 6;àª¶à«€àª°à«àª·àª• (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "XHTML àªªà«àª°àª•à«àª°àª¿àª¯àª¾ àªšàª¾àª²à« àª›à«‡. àª®àª¹à«‡àª°àª¬àª¾àª¨à«€ àª•àª°à«€àª¨à«‡ àª°àª¾àª¹ àªœà«‹àªµà«‹...",
+Done				: "àªªàª¤à«€ àª—àª¯à«àª‚",
+PasteWordConfirm	: "àª¤àª®à«‡ àªœà«‡ àªŸà«‡àª•à«àª¸à«àªŸ àªªà«‡àª¸à«àªŸ àª•àª°àªµàª¾ àª®àª¾àª‚àª—à«‹ àª›à«‹, àª¤à«‡ àªµàª¡à«…àª®àª¾àª‚àª¥à«€ àª•à«‹àªªà«€ àª•àª°à«‡àª²à« àª²àª¾àª—à«‡ àª›à«‡. àªªà«‡àª¸à«àªŸ àª•àª°àª¤àª¾ àªªàª¹à«‡àª²àª¾àª‚ àªŸà«‡àª•à«àª¸à«àªŸ àª¸àª¾àª« àª•àª°àªµà«€ àª›à«‡?",
+NotCompatiblePaste	: "àª† àª•àª®àª¾àª¨à«àª¡ àªˆàª¨àªŸàª°àª¨à«‡àªŸ àªàª•à«àª¸àªªà«àª²à«‹àª°àª°(Internet Explorer) 5.5 àª…àª¥àªµàª¾ àªàª¨àª¾ àªªàª›à«€àª¨àª¾ àªµàª°à«àªàª¨ àª®àª¾àªŸà«‡àªœ àª›à«‡. àªŸà«‡àª•à«àª¸à«àªŸàª¨à«‡ àª¸àª¾àª« àª•àª¯à«…àª¾ àªªàª¹à«‡àª²àª¾àª‚ àªªà«‡àª¸à«àªŸ àª•àª°àªµà«€ àª›à«‡?",
+UnknownToolbarItem	: "àª…àªœàª¾àª£à«€ àªŸà«‚àª²àª¬àª¾àª° àª†àª‡àªŸàª® \"%1\"",
+UnknownCommand		: "àª…àªœàª¾àª£àª¯à«‹ àª•àª®àª¾àª¨à«àª¡ \"%1\"",
+NotImplemented		: "àª•àª®àª¾àª¨à«àª¡ àª‡àª®à«àªªà«àª²àª¿àª®àª¨à«àªŸ àª¨àª¥à«€ àª•àª°à«‹àª¯à«‹",
+UnknownToolbarSet	: "àªŸà«‚àª²àª¬àª¾àª° àª¸à«‡àªŸ \"%1\" àª‰àªªàª²àª¬à«àª§ àª¨àª¥à«€",
+NoActiveX			: "àª¤àª®àª¾àª°àª¾ àª¬à«àª°àª¾àª‰àªàª°àª¨à«€ àª¸à«àª°àª•à«àª·àª¾ àª¸à«‡àªŸàª¿àª‚àª—àª¸ àªàª¡àª¿àªŸàª°àª¨àª¾ àª…àª®à«àª• àª«à«€àªšàª°àª¨à«‡ àªªàª°àªµàª¾àª¨àª—à«€ àª†àªªàª¤à«€ àª¨àª¥à«€. àª•à«ƒàªªàª¯àª¾ \"Run ActiveX controls and plug-ins\" àªµàª¿àª•àª²à«àªªàª¨à«‡ àª‡àª¨à«‡àª¬àª²/àª¸àª®àª°à«àª¥ àª•àª°à«‹. àª¤àª®àª¾àª°àª¾ àª¬à«àª°àª¾àª‰àªàª°àª®àª¾àª‚ àªàª°àª° àª‡àª¨à«àªµàª¿àªàª¿àª¬àª² àª«à«€àªšàª°àª¨à«‹ àª…àª¨à«àª­àªµ àª¥àªˆ àª¶àª•à«‡ àª›à«‡. àª•à«ƒàªªàª¯àª¾ àªªà«‰àªª-àª…àªª àª¬à«àª²à«‰àª•àª° àª¡àª¿àª¸à«‡àª¬àª² àª•àª°à«‹.",
+BrowseServerBlocked : "àª°àª¿àª¸à«‰àª°à«àª¸ àª¬à«àª°àª¾àª‰àªàª° àª–à«‹àª²à«€ àª¨ àª¸àª•àª¾àª¯à«àª‚.",
+DialogBlocked		: "àª¡àª¾àª¯àª²à«‰àª— àªµàª¿àª¨à«àª¡à«‹ àª–à«‹àª²à«€ àª¨ àª¸àª•àª¾àª¯à«àª‚. àª•à«ƒàªªàª¯àª¾ àªªà«‰àªª-àª…àªª àª¬à«àª²à«‰àª•àª° àª¡àª¿àª¸à«‡àª¬àª² àª•àª°à«‹.",
+VisitLinkBlocked	: "It was not possible to open a new window. Make sure all popup blockers are disabled.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "àª à«€àª• àª›à«‡",
+DlgBtnCancel		: "àª°àª¦ àª•àª°àªµà«àª‚",
+DlgBtnClose			: "àª¬àª‚àª§ àª•àª°àªµà«àª‚",
+DlgBtnBrowseServer	: "àª¸àª°à«àªµàª° àª¬à«àª°àª¾àª‰àª àª•àª°à«‹",
+DlgAdvancedTag		: "àª…àª¡à«àªµàª¾àª¨à«àª¸àª¡",
+DlgOpOther			: "<àª…àª¨à«àª¯>",
+DlgInfoTab			: "àª¸à«‚àªšàª¨àª¾",
+DlgAlertUrl			: "URL àª‡àª¨à«àª¸àª°à«àªŸ àª•àª°à«‹",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<àª¸à«‡àªŸ àª¨àª¥à«€>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "àª­àª¾àª·àª¾ àª²à«‡àª–àªµàª¾àª¨à«€ àªªàª¦à«àª§àª¤àª¿",
+DlgGenLangDirLtr	: "àª¡àª¾àª¬à«‡ àª¥à«€ àªœàª®àª£à«‡ (LTR)",
+DlgGenLangDirRtl	: "àªœàª®àª£à«‡ àª¥à«€ àª¡àª¾àª¬à«‡ (RTL)",
+DlgGenLangCode		: "àª­àª¾àª·àª¾ àª•à«‹àª¡",
+DlgGenAccessKey		: "àªàª•à«àª¸à«‡àª¸ àª•à«€",
+DlgGenName			: "àª¨àª¾àª®",
+DlgGenTabIndex		: "àªŸà«…àª¬ àª‡àª¨à«àª¡à«‡àª•à«àª¸",
+DlgGenLongDescr		: "àªµàª§àª¾àª°à«‡ àª®àª¾àª¹àª¿àª¤à«€ àª®àª¾àªŸà«‡ URL",
+DlgGenClass			: "àª¸à«àªŸàª¾àª‡àª²-àª¶à«€àªŸ àª•à«àª²àª¾àª¸",
+DlgGenTitle			: "àª®à«àª–à«àª¯ àª®àª¥àª¾àª³à«àª‚",
+DlgGenContType		: "àª®à«àª–à«àª¯ àª•àª¨à«àªŸà«‡àª¨à«àªŸ àªªà«àª°àª•àª¾àª°",
+DlgGenLinkCharset	: "àª²àª¿àª‚àª• àª°àª¿àª¸à«‰àª°à«àª¸ àª•à«…àª°àª¿àª•à«àªŸàª° àª¸à«‡àªŸ",
+DlgGenStyle			: "àª¸à«àªŸàª¾àª‡àª²",
+
+// Image Dialog
+DlgImgTitle			: "àªšàª¿àª¤à«àª°àª¨àª¾ àª—à«àª£",
+DlgImgInfoTab		: "àªšàª¿àª¤à«àª° àª¨à«€ àªœàª¾àª£àª•àª¾àª°à«€",
+DlgImgBtnUpload		: "àª† àª¸àª°à«àªµàª°àª¨à«‡ àª®à«‹àª•àª²àªµà«àª‚",
+DlgImgURL			: "URL",
+DlgImgUpload		: "àª…àªªàª²à«‹àª¡",
+DlgImgAlt			: "àª‘àª²à«àªŸàª°à«àª¨àªŸ àªŸà«‡àª•à«àª¸à«àªŸ",
+DlgImgWidth			: "àªªàª¹à«‹àª³àª¾àªˆ",
+DlgImgHeight		: "àªŠàª‚àªšàª¾àªˆ",
+DlgImgLockRatio		: "àª²à«‰àª• àª—à«àª£à«‹àª¤à«àª¤àª°",
+DlgBtnResetSize		: "àª°à«€àª¸à«‡àªŸ àª¸àª¾àª‡àª",
+DlgImgBorder		: "àª¬à«‹àª°à«àª¡àª°",
+DlgImgHSpace		: "àª¸àª®àª¸à«àª¤àª°à«€àª¯ àªœàª—à«àª¯àª¾",
+DlgImgVSpace		: "àª²àª‚àª¬àª°à«‚àªª àªœàª—à«àª¯àª¾",
+DlgImgAlign			: "àª²àª¾àª‡àª¨àª¦à«‹àª°à«€àª®àª¾àª‚ àª—à«‹àª àªµàªµà«àª‚",
+DlgImgAlignLeft		: "àª¡àª¾àª¬à«€ àª¬àª¾àªœà« àª—à«‹àª àªµàªµà«àª‚",
+DlgImgAlignAbsBottom: "Abs àª¨à«€àªšà«‡",
+DlgImgAlignAbsMiddle: "Abs àª‰àªªàª°",
+DlgImgAlignBaseline	: "àª†àª§àª¾àª° àª²à«€àªŸà«€",
+DlgImgAlignBottom	: "àª¨à«€àªšà«‡",
+DlgImgAlignMiddle	: "àªµàªšà«àªšà«‡",
+DlgImgAlignRight	: "àªœàª®àª£à«€",
+DlgImgAlignTextTop	: "àªŸà«‡àª•à«àª¸à«àªŸ àª‰àªªàª°",
+DlgImgAlignTop		: "àª‰àªªàª°",
+DlgImgPreview		: "àªªà«‚àª°à«àªµàª¦àª°à«àª¶àª¨",
+DlgImgAlertUrl		: "àªšàª¿àª¤à«àª°àª¨à«€ URL àªŸàª¾àª‡àªª àª•àª°à«‹",
+DlgImgLinkTab		: "àª²àª¿àª‚àª•",
+
+// Flash Dialog
+DlgFlashTitle		: "àª«à«àª²à«…àª¶ àª—à«àª£",
+DlgFlashChkPlay		: "àª‘àªŸà«‹/àª¸à«àªµàª¯àª‚ àªªà«àª²à«‡",
+DlgFlashChkLoop		: "àª²à«‚àªª",
+DlgFlashChkMenu		: "àª«à«àª²à«…àª¶ àª®à«‡àª¨à«àª¯à«‚ àª¨à«‹ àªªà«àª°àª¯à«‹àª— àª•àª°à«‹",
+DlgFlashScale		: "àª¸à«àª•à«‡àª²",
+DlgFlashScaleAll	: "àª¸à«àª•à«‡àª² àª“àª²/àª¬àª§à« àª¬àª¤àª¾àªµà«‹",
+DlgFlashScaleNoBorder	: "àª¸à«àª•à«‡àª² àª¬à«‹àª°à«àª¡àª° àªµàª—àª°",
+DlgFlashScaleFit	: "àª¸à«àª•à«‡àª² àªàª•àª¦àª® àª«à«€àªŸ",
+
+// Link Dialog
+DlgLnkWindowTitle	: "àª²àª¿àª‚àª•",
+DlgLnkInfoTab		: "àª²àª¿àª‚àª• àª‡àª¨à«àª«à«‰ àªŸà«…àª¬",
+DlgLnkTargetTab		: "àªŸàª¾àª°à«àª—à«‡àªŸ/àª²àª•à«àª·à«àª¯ àªŸà«…àª¬",
+
+DlgLnkType			: "àª²àª¿àª‚àª• àªªà«àª°àª•àª¾àª°",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "àª† àªªà«‡àªœàª¨à«‹ àªàª‚àª•àª°",
+DlgLnkTypeEMail		: "àªˆ-àª®à«‡àª²",
+DlgLnkProto			: "àªªà«àª°à«‹àªŸà«‹àª•à«‰àª²",
+DlgLnkProtoOther	: "<àª…àª¨à«àª¯>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "àªàª‚àª•àª° àªªàª¸àª‚àª¦ àª•àª°à«‹",
+DlgLnkAnchorByName	: "àªàª‚àª•àª° àª¨àª¾àª®àª¥à«€ àªªàª¸àª‚àª¦ àª•àª°à«‹",
+DlgLnkAnchorById	: "àªàª‚àª•àª° àªàª²àª¿àª®àª¨à«àªŸ Id àª¥à«€ àªªàª¸àª‚àª¦ àª•àª°à«‹",
+DlgLnkNoAnchors		: "(àª¡à«‰àª•à«àª¯à«àª®àª¨à«àªŸàª®àª¾àª‚ àªàª‚àª•àª°àª¨à«€ àª¸àª‚àª–à«àª¯àª¾)",
+DlgLnkEMail			: "àªˆ-àª®à«‡àª² àª¸àª°àª¨àª¾àª®à«àª‚",
+DlgLnkEMailSubject	: "àªˆ-àª®à«‡àª² àªµàª¿àª·àª¯",
+DlgLnkEMailBody		: "àª¸àª‚àª¦à«‡àª¶",
+DlgLnkUpload		: "àª…àªªàª²à«‹àª¡",
+DlgLnkBtnUpload		: "àª† àª¸àª°à«àªµàª°àª¨à«‡ àª®à«‹àª•àª²àªµà«àª‚",
+
+DlgLnkTarget		: "àªŸàª¾àª°à«àª—à«‡àªŸ/àª²àª•à«àª·à«àª¯",
+DlgLnkTargetFrame	: "<àª«à«àª°à«‡àª®>",
+DlgLnkTargetPopup	: "<àªªà«‰àªª-àª…àªª àªµàª¿àª¨à«àª¡à«‹>",
+DlgLnkTargetBlank	: "àª¨àªµà«€  àªµàª¿àª¨à«àª¡à«‹ (_blank)",
+DlgLnkTargetParent	: "àª®à«‚àª³ àªµàª¿àª¨à«àª¡à«‹ (_parent)",
+DlgLnkTargetSelf	: "àª†àªœ àªµàª¿àª¨à«àª¡à«‹ (_self)",
+DlgLnkTargetTop		: "àª‰àªªàª°àª¨à«€ àªµàª¿àª¨à«àª¡à«‹ (_top)",
+DlgLnkTargetFrameName	: "àªŸàª¾àª°à«àª—à«‡àªŸ àª«à«àª°à«‡àª® àª¨à«àª‚ àª¨àª¾àª®",
+DlgLnkPopWinName	: "àªªà«‰àªª-àª…àªª àªµàª¿àª¨à«àª¡à«‹ àª¨à«àª‚ àª¨àª¾àª®",
+DlgLnkPopWinFeat	: "àªªà«‰àªª-àª…àªª àªµàª¿àª¨à«àª¡à«‹ àª«à«€àªšàª°àª¸à«…",
+DlgLnkPopResize		: "àª¸àª¾àª‡àª àª¬àª¦àª²à«€ àª¸àª•àª¾àª¯ àª›à«‡",
+DlgLnkPopLocation	: "àª²à«‹àª•à«‡àª¶àª¨ àª¬àª¾àª°",
+DlgLnkPopMenu		: "àª®à«‡àª¨à«àª¯à«‚ àª¬àª¾àª°",
+DlgLnkPopScroll		: "àª¸à«àª•à«àª°à«‹àª² àª¬àª¾àª°",
+DlgLnkPopStatus		: "àª¸à«àªŸà«…àªŸàª¸ àª¬àª¾àª°",
+DlgLnkPopToolbar	: "àªŸà«‚àª² àª¬àª¾àª°",
+DlgLnkPopFullScrn	: "àª«à«àª² àª¸à«àª•à«àª°à«€àª¨ (IE)",
+DlgLnkPopDependent	: "àª¡àª¿àªªà«‡àª¨à«àª¡àª¨à«àªŸ (Netscape)",
+DlgLnkPopWidth		: "àªªàª¹à«‹àª³àª¾àªˆ",
+DlgLnkPopHeight		: "àªŠàª‚àªšàª¾àªˆ",
+DlgLnkPopLeft		: "àª¡àª¾àª¬à«€ àª¬àª¾àªœà«",
+DlgLnkPopTop		: "àªœàª®àª£à«€ àª¬àª¾àªœà«",
+
+DlnLnkMsgNoUrl		: "àª²àª¿àª‚àª•  URL àªŸàª¾àª‡àªª àª•àª°à«‹",
+DlnLnkMsgNoEMail	: "àªˆ-àª®à«‡àª² àª¸àª°àª¨àª¾àª®à«àª‚ àªŸàª¾àª‡àªª àª•àª°à«‹",
+DlnLnkMsgNoAnchor	: "àªàª‚àª•àª° àªªàª¸àª‚àª¦ àª•àª°à«‹",
+DlnLnkMsgInvPopName	: "àªªà«‰àªª-àª…àªª àªµàª¿àª¨à«àª¡à«‹ àª¨à«àª‚ àª¨àª¾àª® àªàª²à«àª«àª¬à«‡àªŸàª¥à«€ àª¶àª°à«‚ àª•àª°àªµà«‹ àª…àª¨à«‡ àª¤à«‡àª®àª¾àª‚ àª¸à«àªªà«‡àª‡àª¸ àª¨ àª¹à«‹àªµà«€ àªœà«‹àªˆàª",
+
+// Color Dialog
+DlgColorTitle		: "àª°àª‚àª—  àªªàª¸àª‚àª¦ àª•àª°à«‹",
+DlgColorBtnClear	: "àª¸àª¾àª« àª•àª°à«‹",
+DlgColorHighlight	: "àª¹àª¾àªˆàª²àª¾àª‡àªŸ",
+DlgColorSelected	: "àª¸àª¿àª²à«‡àª•à«àªŸà«‡àª¡/àªªàª¸àª‚àª¦ àª•àª°àªµà«àª‚",
+
+// Smiley Dialog
+DlgSmileyTitle		: "àª¸à«àª®àª¾àª‡àª²à«€  àªªàª¸àª‚àª¦ àª•àª°à«‹",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "àª¸à«àªªà«‡àª¶àª¿àª…àª² àªµàª¿àª¶àª¿àª·à«àªŸ àª…àª•à«àª·àª° àªªàª¸àª‚àª¦ àª•àª°à«‹",
+
+// Table Dialog
+DlgTableTitle		: "àªŸà«‡àª¬àª², àª•à«‹àª àª¾àª¨à«àª‚ àª®àª¥àª¾àª³à«àª‚",
+DlgTableRows		: "àªªàª‚àª•à«àª¤àª¿àª¨àª¾ àª–àª¾àª¨àª¾",
+DlgTableColumns		: "àª•à«‰àª²àª®/àªŠàª­à«€ àª•àªŸàª¾àª°",
+DlgTableBorder		: "àª•à«‹àª àª¾àª¨à«€ àª¬àª¾àªœà«(àª¬à«‹àª°à«àª¡àª°) àª¸àª¾àª‡àª",
+DlgTableAlign		: "àª…àª²àª¾àª‡àª¨àª®àª¨à«àªŸ/àª—à«‹àª àªµàª¾àª¯à«‡àª²à«àª‚ ",
+DlgTableAlignNotSet	: "<àª¸à«‡àªŸ àª¨àª¥à«€>",
+DlgTableAlignLeft	: "àª¡àª¾àª¬à«€ àª¬àª¾àªœà«",
+DlgTableAlignCenter	: "àª®àª§à«àª¯ àª¸à«‡àª¨à«àªŸàª°",
+DlgTableAlignRight	: "àªœàª®àª£à«€ àª¬àª¾àªœà«",
+DlgTableWidth		: "àªªàª¹à«‹àª³àª¾àªˆ",
+DlgTableWidthPx		: "àªªàª¿àª•àª¸àª²",
+DlgTableWidthPc		: "àªªà«àª°àª¤àª¿àª¶àª¤",
+DlgTableHeight		: "àªŠàª‚àªšàª¾àªˆ",
+DlgTableCellSpace	: "àª¸à«‡àª² àª…àª‚àª¤àª°",
+DlgTableCellPad		: "àª¸à«‡àª² àªªà«…àª¡àª¿àª‚àª—",
+DlgTableCaption		: "àª®àª¥àª¾àª³à«àª‚/àª•à«…àªªà«àª¶àª¨ ",
+DlgTableSummary		: "àªŸà«‚àª‚àª•à«‹ àªàª¹à«‡àªµàª¾àª²",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "àªªàª‚àª•à«àª¤àª¿àª¨àª¾ àª–àª¾àª¨àª¾àª¨àª¾ àª—à«àª£",
+DlgCellWidth		: "àªªàª¹à«‹àª³àª¾àªˆ",
+DlgCellWidthPx		: "àªªàª¿àª•àª¸àª²",
+DlgCellWidthPc		: "àªªà«àª°àª¤àª¿àª¶àª¤",
+DlgCellHeight		: "àªŠàª‚àªšàª¾àªˆ",
+DlgCellWordWrap		: "àªµàª°à«àª¡ àª°à«…àªª",
+DlgCellWordWrapNotSet	: "<àª¸à«‡àªŸ àª¨àª¥à«€>",
+DlgCellWordWrapYes	: "àª¹àª¾",
+DlgCellWordWrapNo	: "àª¨àª¾",
+DlgCellHorAlign		: "àª¸àª®àª¸à«àª¤àª°à«€àª¯ àª—à«‹àª àªµàªµà«àª‚",
+DlgCellHorAlignNotSet	: "<àª¸à«‡àªŸ àª¨àª¥à«€>",
+DlgCellHorAlignLeft	: "àª¡àª¾àª¬à«€ àª¬àª¾àªœà«",
+DlgCellHorAlignCenter	: "àª®àª§à«àª¯ àª¸à«‡àª¨à«àªŸàª°",
+DlgCellHorAlignRight: "àªœàª®àª£à«€ àª¬àª¾àªœà«",
+DlgCellVerAlign		: "àª²àª‚àª¬àª°à«‚àªª àª—à«‹àª àªµàªµà«àª‚",
+DlgCellVerAlignNotSet	: "<àª¸à«‡àªŸ àª¨àª¥à«€>",
+DlgCellVerAlignTop	: "àª‰àªªàª°",
+DlgCellVerAlignMiddle	: "àª®àª§à«àª¯ àª¸à«‡àª¨à«àªŸàª°",
+DlgCellVerAlignBottom	: "àª¨à«€àªšà«‡",
+DlgCellVerAlignBaseline	: "àª®à«‚àª³ àª°à«‡àª–àª¾",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "àªªàª‚àª•à«àª¤àª¿ àª¸à«àªªàª¾àª¨",
+DlgCellCollSpan		: "àª•à«‰àª²àª®/àªŠàª­à«€ àª•àªŸàª¾àª° àª¸à«àªªàª¾àª¨",
+DlgCellBackColor	: "àª¬à«…àª•àª—à«àª°àª¾àª‰àª¨à«àª¡ àª°àª‚àª—",
+DlgCellBorderColor	: "àª¬à«‹àª°à«àª¡àª°àª¨à«‹ àª°àª‚àª—",
+DlgCellBtnSelect	: "àªªàª¸àª‚àª¦ àª•àª°à«‹...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "àª¶à«‹àª§àªµà«àª‚ àª…àª¨à«‡ àª¬àª¦àª²àªµà«àª‚",
+
+// Find Dialog
+DlgFindTitle		: "àª¶à«‹àª§àªµà«àª‚",
+DlgFindFindBtn		: "àª¶à«‹àª§àªµà«àª‚",
+DlgFindNotFoundMsg	: "àª¤àª®à«‡ àª¶à«‹àª§à«‡àª²à«€ àªŸà«‡àª•à«àª¸à«àªŸ àª¨àª¥à«€ àª®àª³à«€",
+
+// Replace Dialog
+DlgReplaceTitle			: "àª¬àª¦àª²àªµà«àª‚",
+DlgReplaceFindLbl		: "àª† àª¶à«‹àª§à«‹",
+DlgReplaceReplaceLbl	: "àª†àª¨àª¾àª¥à«€ àª¬àª¦àª²à«‹",
+DlgReplaceCaseChk		: "àª•à«‡àª¸ àª¸àª°àª–àª¾ àª°àª¾àª–à«‹",
+DlgReplaceReplaceBtn	: "àª¬àª¦àª²àªµà«àª‚",
+DlgReplaceReplAllBtn	: "àª¬àª˜àª¾ àª¬àª¦àª²à«€ ",
+DlgReplaceWordChk		: "àª¬àª˜àª¾ àª¶àª¬à«àª¦ àª¸àª°àª–àª¾ àª°àª¾àª–à«‹",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "àª¤àª®àª¾àª°àª¾ àª¬à«àª°àª¾àª‰àªàª° àª¨à«€ àª¸à«àª°àª•à«àª·àª¿àª¤ àª¸à«‡àªŸàª¿àª‚àª—àª¸ àª•àªŸ àª•àª°àªµàª¾àª¨à«€ àªªàª°àªµàª¾àª¨àª—à«€ àª¨àª¥à«€ àª†àªªàª¤à«€. (Ctrl+X) àª¨à«‹ àª‰àªªàª¯à«‹àª— àª•àª°à«‹.",
+PasteErrorCopy	: "àª¤àª®àª¾àª°àª¾ àª¬à«àª°àª¾àª‰àªàª° àª¨à«€ àª¸à«àª°àª•à«àª·àª¿àª¤ àª¸à«‡àªŸàª¿àª‚àª—àª¸ àª•à«‹àªªà«€ àª•àª°àªµàª¾àª¨à«€ àªªàª°àªµàª¾àª¨àª—à«€ àª¨àª¥à«€ àª†àªªàª¤à«€.  (Ctrl+C) à¤•à¤¾ à¤ªà¥à¤°à¤¯à¥‹à¤— à¤•à¤°à¥‡à¤‚à¥¤",
+
+PasteAsText		: "àªªà«‡àª¸à«àªŸ (àªŸà«‡àª•à«àª¸à«àªŸ)",
+PasteFromWord	: "àªªà«‡àª¸à«àªŸ (àªµàª°à«àª¡ àª¥à«€)",
+
+DlgPasteMsg2	: "Ctrl+V àª¨à«‹ àªªà«àª°àª¯à«‹àª— àª•àª°à«€ àªªà«‡àª¸à«àªŸ àª•àª°à«‹",
+DlgPasteSec		: "àª¤àª®àª¾àª°àª¾ àª¬à«àª°àª¾àª‰àªàª° àª¨à«€ àª¸à«àª°àª•à«àª·àª¿àª¤ àª¸à«‡àªŸàª¿àª‚àª—àª¸àª¨àª¾ àª•àª¾àª°àª£à«‡,àªàª¡àª¿àªŸàª° àª¤àª®àª¾àª°àª¾ àª•àª¿àª²à«àªªàª¬à«‹àª°à«àª¡ àª¡à«‡àªŸàª¾ àª¨à«‡ àª•à«‹àªªà«€ àª¨àª¥à«€ àª•àª°à«€ àª¶àª•àª¤à«‹. àª¤àª®àª¾àª°à«‡ àª† àªµàª¿àª¨à«àª¡à«‹àª®àª¾àª‚ àª«àª°à«€àª¥à«€ àªªà«‡àª¸à«àªŸ àª•àª°àªµà«àª‚ àªªàª¡àª¶à«‡.",
+DlgPasteIgnoreFont		: "àª«à«‰àª¨à«àªŸàª«à«‡àª¸ àªµà«àª¯àª¾àª–à«àª¯àª¾àª¨à«€ àª…àªµàª—àª£àª¨àª¾",
+DlgPasteRemoveStyles	: "àª¸à«àªŸàª¾àª‡àª² àªµà«àª¯àª¾àª–à«àª¯àª¾ àª•àª¾àª¢à«€ àª¨àª¾àª–àªµà«€",
+
+// Color Picker
+ColorAutomatic	: "àª¸à«àªµàªšàª¾àª²àª¿àª¤",
+ColorMoreColors	: "àª”àª° àª°àª‚àª—...",
+
+// Document Properties
+DocProps		: "àª¡à«‰àª•à«àª¯à«àª®àª¨à«àªŸ àª—à«àª£/àªªà«àª°à«‰àªªàª°à«àªŸàª¿àª",
+
+// Anchor Dialog
+DlgAnchorTitle		: "àªàª‚àª•àª° àª—à«àª£/àªªà«àª°à«‰àªªàª°à«àªŸàª¿àª",
+DlgAnchorName		: "àªàª‚àª•àª°àª¨à«àª‚ àª¨àª¾àª®",
+DlgAnchorErrorName	: "àªàª‚àª•àª°àª¨à«àª‚ àª¨àª¾àª® àªŸàª¾àªˆàªª àª•àª°à«‹",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "àª¶àª¬à«àª¦àª•à«‹àª¶àª®àª¾àª‚ àª¨àª¥à«€",
+DlgSpellChangeTo		: "àª†àª¨àª¾àª¥à«€ àª¬àª¦àª²àªµà«àª‚",
+DlgSpellBtnIgnore		: "àª‡àª—à«àª¨à«‹àª°/àª…àªµàª—àª£àª¨àª¾ àª•àª°àªµà«€",
+DlgSpellBtnIgnoreAll	: "àª¬àª§àª¾àª¨à«€ àª‡àª—à«àª¨à«‹àª°/àª…àªµàª—àª£àª¨àª¾ àª•àª°àªµà«€",
+DlgSpellBtnReplace		: "àª¬àª¦àª²àªµà«àª‚",
+DlgSpellBtnReplaceAll	: "àª¬àª§àª¾ àª¬àª¦àª²à«€ àª•àª°à«‹",
+DlgSpellBtnUndo			: "àª…àª¨à«àª¡à«‚",
+DlgSpellNoSuggestions	: "- àª•àª‡ àª¸àªœà«‡àª¶àª¨ àª¨àª¥à«€ -",
+DlgSpellProgress		: "àª¶àª¬à«àª¦àª¨à«€ àªœà«‹àª¡àª£à«€/àª¸à«àªªà«‡àª² àªšà«‡àª• àªšàª¾àª²à« àª›à«‡...",
+DlgSpellNoMispell		: "àª¶àª¬à«àª¦àª¨à«€ àªœà«‹àª¡àª£à«€/àª¸à«àªªà«‡àª² àªšà«‡àª• àªªà«‚àª°à«àª£: àª–à«‹àªŸà«€ àªœà«‹àª¡àª£à«€ àª®àª³à«€ àª¨àª¥à«€",
+DlgSpellNoChanges		: "àª¶àª¬à«àª¦àª¨à«€ àªœà«‹àª¡àª£à«€/àª¸à«àªªà«‡àª² àªšà«‡àª• àªªà«‚àª°à«àª£: àªàª•àªªàª£ àª¶àª¬à«àª¦ àª¬àª¦àª²àª¯à«‹ àª¨àª¥à«€",
+DlgSpellOneChange		: "àª¶àª¬à«àª¦àª¨à«€ àªœà«‹àª¡àª£à«€/àª¸à«àªªà«‡àª² àªšà«‡àª• àªªà«‚àª°à«àª£: àªàª• àª¶àª¬à«àª¦ àª¬àª¦àª²àª¯à«‹ àª›à«‡",
+DlgSpellManyChanges		: "àª¶àª¬à«àª¦àª¨à«€ àªœà«‹àª¡àª£à«€/àª¸à«àªªà«‡àª² àªšà«‡àª• àªªà«‚àª°à«àª£: %1 àª¶àª¬à«àª¦ àª¬àª¦àª²àª¯àª¾ àª›à«‡",
+
+IeSpellDownload			: "àª¸à«àªªà«‡àª²-àªšà«‡àª•àª° àª‡àª¨à«àª¸à«àªŸà«‹àª² àª¨àª¥à«€. àª¶à«àª‚ àª¤àª®à«‡ àª¡àª¾àª‰àª¨àª²à«‹àª¡ àª•àª°àªµàª¾ àª®àª¾àª‚àª—à«‹ àª›à«‹?",
+
+// Button Dialog
+DlgButtonText		: "àªŸà«‡àª•à«àª¸à«àªŸ (àªµà«…àª²à«àª¯à«‚)",
+DlgButtonType		: "àªªà«àª°àª•àª¾àª°",
+DlgButtonTypeBtn	: "àª¬àªŸàª¨",
+DlgButtonTypeSbm	: "àª¸àª¬à«àª®àª¿àªŸ",
+DlgButtonTypeRst	: "àª°àª¿àª¸à«‡àªŸ",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "àª¨àª¾àª®",
+DlgCheckboxValue	: "àªµà«…àª²à«àª¯à«‚",
+DlgCheckboxSelected	: "àª¸àª¿àª²à«‡àª•à«àªŸà«‡àª¡",
+
+// Form Dialog
+DlgFormName		: "àª¨àª¾àª®",
+DlgFormAction	: "àª•à«àª°àª¿àª¯àª¾",
+DlgFormMethod	: "àªªàª¦à«àª§àª¤àª¿",
+
+// Select Field Dialog
+DlgSelectName		: "àª¨àª¾àª®",
+DlgSelectValue		: "àªµà«…àª²à«àª¯à«‚",
+DlgSelectSize		: "àª¸àª¾àª‡àª",
+DlgSelectLines		: "àª²à«€àªŸà«€àª“",
+DlgSelectChkMulti	: "àªàª•àª¥à«€ àªµàª§àª¾àª°à«‡ àªªàª¸àª‚àª¦ àª•àª°à«€ àª¶àª•à«‹",
+DlgSelectOpAvail	: "àª‰àªªàª²àª¬à«àª§ àªµàª¿àª•àª²à«àªª",
+DlgSelectOpText		: "àªŸà«‡àª•à«àª¸à«àªŸ",
+DlgSelectOpValue	: "àªµà«…àª²à«àª¯à«‚",
+DlgSelectBtnAdd		: "àª‰àª®à«‡àª°àªµà«àª‚",
+DlgSelectBtnModify	: "àª¬àª¦àª²àªµà«àª‚",
+DlgSelectBtnUp		: "àª‰àªªàª°",
+DlgSelectBtnDown	: "àª¨à«€àªšà«‡",
+DlgSelectBtnSetValue : "àªªàª¸àª‚àª¦ àª•àª°àª²à«€ àªµà«…àª²à«àª¯à«‚ àª¸à«‡àªŸ àª•àª°à«‹",
+DlgSelectBtnDelete	: "àª°àª¦ àª•àª°àªµà«àª‚",
+
+// Textarea Dialog
+DlgTextareaName	: "àª¨àª¾àª®",
+DlgTextareaCols	: "àª•à«‰àª²àª®/àªŠàª­à«€ àª•àªŸàª¾àª°",
+DlgTextareaRows	: "àªªàª‚àª•à«àª¤àª¿àª“",
+
+// Text Field Dialog
+DlgTextName			: "àª¨àª¾àª®",
+DlgTextValue		: "àªµà«…àª²à«àª¯à«‚",
+DlgTextCharWidth	: "àª•à«‡àª°à«‡àª•à«àªŸàª°àª¨à«€ àªªàª¹à«‹àª³àª¾àªˆ",
+DlgTextMaxChars		: "àª…àª§àª¿àª•àª¤àª® àª•à«‡àª°à«‡àª•à«àªŸàª°",
+DlgTextType			: "àªŸàª¾àª‡àªª",
+DlgTextTypeText		: "àªŸà«‡àª•à«àª¸à«àªŸ",
+DlgTextTypePass		: "àªªàª¾àª¸àªµàª°à«àª¡",
+
+// Hidden Field Dialog
+DlgHiddenName	: "àª¨àª¾àª®",
+DlgHiddenValue	: "àªµà«…àª²à«àª¯à«‚",
+
+// Bulleted List Dialog
+BulletedListProp	: "àª¬à«àª²à«‡àªŸ àª¸à«‚àªšàª¿ àª—à«àª£",
+NumberedListProp	: "àª¸àª‚àª–à«àª¯àª¾àª‚àª•à«àª¤àª¿ àª¸à«‚àªšàª¿ àª—à«àª£",
+DlgLstStart			: "àª¶àª°à«‚àª†àª¤àª¥à«€",
+DlgLstType			: "àªªà«àª°àª•àª¾àª°",
+DlgLstTypeCircle	: "àªµàª°à«àª¤à«àª³",
+DlgLstTypeDisc		: "àª¡àª¿àª¸à«àª•",
+DlgLstTypeSquare	: "àªšà«‹àª°àª¸",
+DlgLstTypeNumbers	: "àª¸àª‚àª–à«àª¯àª¾ (1, 2, 3)",
+DlgLstTypeLCase		: "àª¨àª¾àª¨àª¾ àª…àª•à«àª·àª° (a, b, c)",
+DlgLstTypeUCase		: "àª®à«‹àªŸàª¾ àª…àª•à«àª·àª° (A, B, C)",
+DlgLstTypeSRoman	: "àª¨àª¾àª¨àª¾ àª°à«‹àª®àª¨ àª†àª‚àª• (i, ii, iii)",
+DlgLstTypeLRoman	: "àª®à«‹àªŸàª¾ àª°à«‹àª®àª¨ àª†àª‚àª• (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "àª¸àª¾àª§àª¾àª°àª£",
+DlgDocBackTab		: "àª¬à«…àª•àª—à«àª°àª¾àª‰àª¨à«àª¡",
+DlgDocColorsTab		: "àª°àª‚àª— àª…àª¨à«‡ àª®àª¾àª°à«àªœàª¿àª¨/àª•àª¿àª¨àª¾àª°",
+DlgDocMetaTab		: "àª®à«‡àªŸàª¾àª¡à«…àªŸàª¾",
+
+DlgDocPageTitle		: "àªªà«‡àªœ àª®àª¥àª¾àª³à«àª‚/àªŸàª¾àª‡àªŸàª²",
+DlgDocLangDir		: "àª­àª¾àª·àª¾ àª²à«‡àª–àªµàª¾àª¨à«€ àªªàª¦à«àª§àª¤àª¿",
+DlgDocLangDirLTR	: "àª¡àª¾àª¬à«‡ àª¥à«€ àªœàª®àª£à«‡ (LTR)",
+DlgDocLangDirRTL	: "àªœàª®àª£à«‡ àª¥à«€ àª¡àª¾àª¬à«‡ (RTL)",
+DlgDocLangCode		: "àª­àª¾àª·àª¾ àª•à«‹àª¡",
+DlgDocCharSet		: "àª•à«‡àª°à«‡àª•à«àªŸàª° àª¸à«‡àªŸ àªàª¨à«àª•à«‹àª¡àª¿àª‚àª—",
+DlgDocCharSetCE		: "àª®àª§à«àª¯ àª¯à«àª°à«‹àªªàª¿àª…àª¨ (Central European)",
+DlgDocCharSetCT		: "àªšàª¾àª‡àª¨à«€àª (Chinese Traditional Big5)",
+DlgDocCharSetCR		: "àª¸àª¿àª°à«€àª²àª¿àª• (Cyrillic)",
+DlgDocCharSetGR		: "àª—à«àª°à«€àª• (Greek)",
+DlgDocCharSetJP		: "àªœàª¾àªªàª¾àª¨àª¿àª (Japanese)",
+DlgDocCharSetKR		: "àª•à«‹àª°à«€àª¯àª¨ (Korean)",
+DlgDocCharSetTR		: "àªŸàª°à«àª•àª¿ (Turkish)",
+DlgDocCharSetUN		: "àª¯à«‚àª¨àª¿àª•à«‹àª¡ (UTF-8)",
+DlgDocCharSetWE		: "àªªàª¶à«àªšàª¿àª® àª¯à«àª°à«‹àªªàª¿àª…àª¨ (Western European)",
+DlgDocCharSetOther	: "àª…àª¨à«àª¯ àª•à«‡àª°à«‡àª•à«àªŸàª° àª¸à«‡àªŸ àªàª¨à«àª•à«‹àª¡àª¿àª‚àª—",
+
+DlgDocDocType		: "àª¡à«‰àª•à«àª¯à«àª®àª¨à«àªŸ àªªà«àª°àª•àª¾àª° àª¶à«€àª°à«àª·àª•",
+DlgDocDocTypeOther	: "àª…àª¨à«àª¯ àª¡à«‰àª•à«àª¯à«àª®àª¨à«àªŸ àªªà«àª°àª•àª¾àª° àª¶à«€àª°à«àª·àª•",
+DlgDocIncXHTML		: "XHTML àª¸à«‚àªšàª¨àª¾ àª¸àª®àª¾àªµàª¿àª·à«àªŸ àª•àª°àªµà«€",
+DlgDocBgColor		: "àª¬à«…àª•àª—à«àª°àª¾àª‰àª¨à«àª¡ àª°àª‚àª—",
+DlgDocBgImage		: "àª¬à«…àª•àª—à«àª°àª¾àª‰àª¨à«àª¡ àªšàª¿àª¤à«àª° URL",
+DlgDocBgNoScroll	: "àª¸à«àª•à«àª°à«‹àª² àª¨ àª¥àª¾àª¯ àª¤à«‡àªµà«àª‚ àª¬à«…àª•àª—à«àª°àª¾àª‰àª¨à«àª¡",
+DlgDocCText			: "àªŸà«‡àª•à«àª¸à«àªŸ",
+DlgDocCLink			: "àª²àª¿àª‚àª•",
+DlgDocCVisited		: "àªµàª¿àªàª¿àªŸà«‡àª¡ àª²àª¿àª‚àª•",
+DlgDocCActive		: "àª¸àª•à«àª°àª¿àª¯ àª²àª¿àª‚àª•",
+DlgDocMargins		: "àªªà«‡àªœ àª®àª¾àª°à«àªœàª¿àª¨",
+DlgDocMaTop			: "àª‰àªªàª°",
+DlgDocMaLeft		: "àª¡àª¾àª¬à«€",
+DlgDocMaRight		: "àªœàª®àª£à«€",
+DlgDocMaBottom		: "àª¨à«€àªšà«‡",
+DlgDocMeIndex		: "àª¡à«‰àª•à«àª¯à«àª®àª¨à«àªŸ àª‡àª¨à«àª¡à«‡àª•à«àª¸ àª¸àª‚àª•à«‡àª¤àª¶àª¬à«àª¦ (àª…àª²à«àªªàªµàª¿àª°àª¾àª® (,) àª¥à«€ àª…àª²àª— àª•àª°à«‹)",
+DlgDocMeDescr		: "àª¡à«‰àª•à«àª¯à«àª®àª¨à«àªŸ àªµàª°à«àª£àª¨",
+DlgDocMeAuthor		: "àª²à«‡àª–àª•",
+DlgDocMeCopy		: "àª•à«‰àªªàª¿àª°àª¾àª‡àªŸ",
+DlgDocPreview		: "àªªà«‚àª°à«àªµàª¦àª°à«àª¶àª¨",
+
+// Templates Dialog
+Templates			: "àªŸà«‡àª®à«àªªà«àª²à«‡àªŸ",
+DlgTemplatesTitle	: "àª•àª¨à«àªŸà«‡àª¨à«àªŸ àªŸà«‡àª®à«àªªà«àª²à«‡àªŸ",
+DlgTemplatesSelMsg	: "àªàª¡àª¿àªŸàª°àª®àª¾àª‚ àª“àªªàª¨ àª•àª°àªµàª¾ àªŸà«‡àª®à«àªªà«àª²à«‡àªŸ àªªàª¸àª‚àª¦ àª•àª°à«‹ (àªµàª°à«àª¤àª®àª¾àª¨ àª•àª¨à«àªŸà«‡àª¨à«àªŸ àª¸à«‡àªµ àª¨àª¹à«€àª‚ àª¥àª¾àª¯):",
+DlgTemplatesLoading	: "àªŸà«‡àª®à«àªªà«àª²à«‡àªŸ àª¸à«‚àªšàª¿ àª²à«‹àª¡ àª¥àª¾àª¯ àª›à«‡. àª°àª¾àª¹ àªœà«àª“...",
+DlgTemplatesNoTpl	: "(àª•à«‹àªˆ àªŸà«‡àª®à«àªªà«àª²à«‡àªŸ àª¡àª¿àª«àª¾àª‡àª¨ àª¨àª¥à«€)",
+DlgTemplatesReplace	: "àª®à«‚àª³ àª¶àª¬à«àª¦àª¨à«‡ àª¬àª¦àª²à«‹",
+
+// About Dialog
+DlgAboutAboutTab	: "FCKEditor àª¨àª¾ àªµàª¿àª·à«‡",
+DlgAboutBrowserInfoTab	: "àª¬à«àª°àª¾àª‰àªàª° àª¨àª¾ àªµàª¿àª·à«‡",
+DlgAboutLicenseTab	: "àª²àª¾àª‡àª¸àª¨à«àª¸",
+DlgAboutVersion		: "àªµàª°à«àªàª¨",
+DlgAboutInfo		: "àªµàª§àª¾àª°à«‡ àª®àª¾àª¹àª¿àª¤à«€ àª®àª¾àªŸà«‡:",
+
+// Div Dialog
+DlgDivGeneralTab	: "General",	//MISSING
+DlgDivAdvancedTab	: "Advanced",	//MISSING
+DlgDivStyle		: "Style",	//MISSING
+DlgDivInlineStyle	: "Inline Style",	//MISSING
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/is.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/is.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/is.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Icelandic language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Fela verkstiku",
+ToolbarExpand		: "SÃ½na verkstiku",
+
+// Toolbar Items and Context Menu
+Save				: "Vista",
+NewPage				: "NÃ½ sÃ­Ã°a",
+Preview				: "ForskoÃ°a",
+Cut					: "Klippa",
+Copy				: "Afrita",
+Paste				: "LÃ­ma",
+PasteText			: "LÃ­ma Ã³sniÃ°inn texta",
+PasteWord			: "LÃ­ma Ãºr Word",
+Print				: "Prenta",
+SelectAll			: "Velja allt",
+RemoveFormat		: "FjarlÃ¦gja sniÃ°",
+InsertLinkLbl		: "Stikla",
+InsertLink			: "Stofna/breyta stiklu",
+RemoveLink			: "FjarlÃ¦gja stiklu",
+VisitLink			: "Opna stiklusÃ­Ã°u",
+Anchor				: "Stofna/breyta kaflamerki",
+AnchorDelete		: "EyÃ°a kaflamerki",
+InsertImageLbl		: "Setja inn mynd",
+InsertImage			: "Setja inn/breyta mynd",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Setja inn/breyta Flash",
+InsertTableLbl		: "Tafla",
+InsertTable			: "Setja inn/breyta tÃ¶flu",
+InsertLineLbl		: "LÃ­na",
+InsertLine			: "LÃ³Ã°rÃ©tt lÃ­na",
+InsertSpecialCharLbl: "Merki",
+InsertSpecialChar	: "Setja inn merki",
+InsertSmileyLbl		: "Svipur",
+InsertSmiley		: "Setja upp svip",
+About				: "Um FCKeditor",
+Bold				: "FeitletraÃ°",
+Italic				: "SkÃ¡letraÃ°",
+Underline			: "UndirstrikaÃ°",
+StrikeThrough		: "YfirstrikaÃ°",
+Subscript			: "NiÃ°urskrifaÃ°",
+Superscript			: "UppskrifaÃ°",
+LeftJustify			: "VinstrijÃ¶fnun",
+CenterJustify		: "MiÃ°ja texta",
+RightJustify		: "HÃ¦grijÃ¶fnun",
+BlockJustify		: "Jafna bÃ¡Ã°um megin",
+DecreaseIndent		: "Auka inndrÃ¡tt",
+IncreaseIndent		: "Minnka inndrÃ¡tt",
+Blockquote			: "InndrÃ¡ttur",
+CreateDiv			: "BÃºa til DIV-hÃ½sil",
+EditDiv				: "Breyta DIV-hÃ½sli",
+DeleteDiv			: "EyÃ°a DIV-hÃ½sli",
+Undo				: "Afturkalla",
+Redo				: "HÃ¦tta viÃ° afturkÃ¶llun",
+NumberedListLbl		: "NÃºmeraÃ°ur listi",
+NumberedList		: "Setja inn/fella nÃºmeraÃ°an lista",
+BulletedListLbl		: "Punktalisti",
+BulletedList		: "Setja inn/fella punktalista",
+ShowTableBorders	: "SÃ½na tÃ¶flugrind",
+ShowDetails			: "SÃ½na smÃ¡atriÃ°i",
+Style				: "StÃ­lflokkur",
+FontFormat			: "StÃ­lsniÃ°",
+Font				: "LeturgerÃ° ",
+FontSize			: "LeturstÃ¦rÃ° ",
+TextColor			: "Litur texta",
+BGColor				: "Bakgrunnslitur",
+Source				: "KÃ³Ã°i",
+Find				: "Leita",
+Replace				: "Skipta Ãºt",
+SpellCheck			: "Villuleit",
+UniversalKeyboard	: "HnattrÃ¦nt lyklaborÃ°",
+PageBreakLbl		: "SÃ­Ã°uskil",
+PageBreak			: "Setja inn sÃ­Ã°uskil",
+
+Form			: "Setja inn innslÃ¡ttarform",
+Checkbox		: "Setja inn hÃ¶kunarreit",
+RadioButton		: "Setja inn valhnapp",
+TextField		: "Setja inn textareit",
+Textarea		: "Setja inn textasvÃ¦Ã°i",
+HiddenField		: "Setja inn faliÃ° svÃ¦Ã°i",
+Button			: "Setja inn hnapp",
+SelectionField	: "Setja inn lista",
+ImageButton		: "Setja inn myndahnapp",
+
+FitWindow		: "SkoÃ°a ritil Ã­ fullri stÃ¦rÃ°",
+ShowBlocks		: "SÃ½na blokkir",
+
+// Context Menu
+EditLink			: "Breyta stiklu",
+CellCM				: "Reitur",
+RowCM				: "RÃ¶Ã°",
+ColumnCM			: "DÃ¡lkur",
+InsertRowAfter		: "SkjÃ³ta inn rÃ¶Ã° fyrir neÃ°an",
+InsertRowBefore		: "SkjÃ³ta inn rÃ¶Ã° fyrir ofan",
+DeleteRows			: "EyÃ°a rÃ¶Ã°",
+InsertColumnAfter	: "SkjÃ³ta inn dÃ¡lki hÃ¦gra megin",
+InsertColumnBefore	: "SkjÃ³ta inn dÃ¡lki vinstra megin",
+DeleteColumns		: "Fella dÃ¡lk",
+InsertCellAfter		: "SkjÃ³ta inn reiti fyrir framan",
+InsertCellBefore	: "SkjÃ³ta inn reiti fyrir aftan",
+DeleteCells			: "Fella reit",
+MergeCells			: "Sameina reiti",
+MergeRight			: "Sameina til hÃ¦gri",
+MergeDown			: "Sameina niÃ°ur Ã¡ viÃ°",
+HorizontalSplitCell	: "KljÃºfa reit lÃ¡rÃ©tt",
+VerticalSplitCell	: "KljÃºfa reit lÃ³Ã°rÃ©tt",
+TableDelete			: "Fella tÃ¶flu",
+CellProperties		: "Eigindi reits",
+TableProperties		: "Eigindi tÃ¶flu",
+ImageProperties		: "Eigindi myndar",
+FlashProperties		: "Eigindi Flash",
+
+AnchorProp			: "Eigindi kaflamerkis",
+ButtonProp			: "Eigindi hnapps",
+CheckboxProp		: "Eigindi markreits",
+HiddenFieldProp		: "Eigindi falins svÃ¦Ã°is",
+RadioButtonProp		: "Eigindi valhnapps",
+ImageButtonProp		: "Eigindi myndahnapps",
+TextFieldProp		: "Eigindi textareits",
+SelectionFieldProp	: "Eigindi lista",
+TextareaProp		: "Eigindi textasvÃ¦Ã°is",
+FormProp			: "Eigindi innslÃ¡ttarforms",
+
+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)",
+
+// Alerts and Messages
+ProcessingXHTML		: "MeÃ°hÃ¶ndla XHTML...",
+Done				: "TilbÃºiÃ°",
+PasteWordConfirm	: "Textinn sem Ã¾Ãº Ã¦tlar aÃ° lÃ­ma virÃ°ist koma Ãºr Word. Viltu hreinsa Ã³Ã¾arfar Word-skipanir Ãºr honum?",
+NotCompatiblePaste	: "Ãessi aÃ°gerÃ° er bundin viÃ° Internet Explorer 5.5 og nÃ½rri. Viltu lÃ­ma textann Ã¡n Ã¾ess aÃ° hreinsa hann?",
+UnknownToolbarItem	: "Ã“Ã¾ekktur hlutur Ã­ verkstiku \"%1\"!",
+UnknownCommand		: "Ã“Ã¾ekkt skipanaheiti \"%1\"!",
+NotImplemented		: "Skipun ekki virkjuÃ°!",
+UnknownToolbarSet	: "Verkstikan \"%1\" ekki til!",
+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.",
+BrowseServerBlocked : "Ritillinn getur ekki opnaÃ° nauÃ°synlega hjÃ¡lparglugga!<br>LÃ¡ttu hann leyfa Ã¾essari sÃ­Ã°u aÃ° opna sprettiglugga.",
+DialogBlocked		: "Ekki var hÃ¦gt aÃ° opna skipanaglugga!<br>NauÃ°synlegt er aÃ° leyfa sÃ­Ã°unni aÃ° opna sprettiglugga.",
+VisitLinkBlocked	: "Ekki var hÃ¦gt aÃ° opna nÃ½jan glugga. Gangtu Ãºr skugga um aÃ° engir sprettigluggabanar sÃ©u virkir.",
+
+// Dialogs
+DlgBtnOK			: "Ã lagi",
+DlgBtnCancel		: "HÃ¦tta viÃ°",
+DlgBtnClose			: "Loka",
+DlgBtnBrowseServer	: "Fletta Ã­ skjalasafni",
+DlgAdvancedTag		: "TÃ¦knilegt",
+DlgOpOther			: "<AnnaÃ°>",
+DlgInfoTab			: "UpplÃ½singar",
+DlgAlertUrl			: "SlÃ¡Ã°u inn slÃ³Ã°",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<ekkert valiÃ°>",
+DlgGenId			: "AuÃ°kenni",
+DlgGenLangDir		: "Lesstefna",
+DlgGenLangDirLtr	: "FrÃ¡ vinstri til hÃ¦gri (LTR)",
+DlgGenLangDirRtl	: "FrÃ¡ hÃ¦gri til vinstri (RTL)",
+DlgGenLangCode		: "TungumÃ¡lakÃ³Ã°i",
+DlgGenAccessKey		: "Skammvalshnappur",
+DlgGenName			: "Nafn",
+DlgGenTabIndex		: "RaÃ°nÃºmer innslÃ¡ttarreits",
+DlgGenLongDescr		: "NÃ¡nari lÃ½sing",
+DlgGenClass			: "StÃ­lsniÃ°sflokkur",
+DlgGenTitle			: "Titill",
+DlgGenContType		: "Tegund innihalds",
+DlgGenLinkCharset	: "TÃ¡knrÃ³f",
+DlgGenStyle			: "StÃ­ll",
+
+// Image Dialog
+DlgImgTitle			: "Eigindi myndar",
+DlgImgInfoTab		: "Almennt",
+DlgImgBtnUpload		: "HlaÃ°a upp",
+DlgImgURL			: "VefslÃ³Ã°",
+DlgImgUpload		: "HlaÃ°a upp",
+DlgImgAlt			: "BaklÃ¦gur texti",
+DlgImgWidth			: "Breidd",
+DlgImgHeight		: "HÃ¦Ã°",
+DlgImgLockRatio		: "Festa stÃ¦rÃ°arhlutfall",
+DlgBtnResetSize		: "Reikna stÃ¦rÃ°",
+DlgImgBorder		: "Rammi",
+DlgImgHSpace		: "Vinstri bil",
+DlgImgVSpace		: "HÃ¦gri bil",
+DlgImgAlign			: "JÃ¶fnun",
+DlgImgAlignLeft		: "Vinstri",
+DlgImgAlignAbsBottom: "Abs neÃ°st",
+DlgImgAlignAbsMiddle: "Abs miÃ°juÃ°",
+DlgImgAlignBaseline	: "GrunnlÃ­na",
+DlgImgAlignBottom	: "NeÃ°st",
+DlgImgAlignMiddle	: "MiÃ°juÃ°",
+DlgImgAlignRight	: "HÃ¦gri",
+DlgImgAlignTextTop	: "Efri brÃºn texta",
+DlgImgAlignTop		: "Efst",
+DlgImgPreview		: "SÃ½na dÃ¦mi",
+DlgImgAlertUrl		: "SlÃ¡Ã°u inn slÃ³Ã°ina aÃ° myndinni",
+DlgImgLinkTab		: "Stikla",
+
+// Flash Dialog
+DlgFlashTitle		: "Eigindi Flash",
+DlgFlashChkPlay		: "SjÃ¡lfvirk spilun",
+DlgFlashChkLoop		: "Endurtekning",
+DlgFlashChkMenu		: "SÃ½na Flash-valmynd",
+DlgFlashScale		: "Skali",
+DlgFlashScaleAll	: "SÃ½na allt",
+DlgFlashScaleNoBorder	: "Ãn ramma",
+DlgFlashScaleFit	: "Fella skala aÃ° stÃ¦rÃ°",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Stikla",
+DlgLnkInfoTab		: "Almennt",
+DlgLnkTargetTab		: "Mark",
+
+DlgLnkType			: "Stikluflokkur",
+DlgLnkTypeURL		: "VefslÃ³Ã°",
+DlgLnkTypeAnchor	: "BÃ³kamerki Ã¡ Ã¾essari sÃ­Ã°u",
+DlgLnkTypeEMail		: "Netfang",
+DlgLnkProto			: "SamskiptastaÃ°all",
+DlgLnkProtoOther	: "<annaÃ°>",
+DlgLnkURL			: "VefslÃ³Ã°",
+DlgLnkAnchorSel		: "Veldu akkeri",
+DlgLnkAnchorByName	: "Eftir akkerisnafni",
+DlgLnkAnchorById	: "Eftir auÃ°kenni einingar",
+DlgLnkNoAnchors		: "<Engin bÃ³kamerki Ã¡ skrÃ¡>",
+DlgLnkEMail			: "Netfang",
+DlgLnkEMailSubject	: "Efni",
+DlgLnkEMailBody		: "MeginmÃ¡l",
+DlgLnkUpload		: "Senda upp",
+DlgLnkBtnUpload		: "Senda upp",
+
+DlgLnkTarget		: "Mark",
+DlgLnkTargetFrame	: "<rammi>",
+DlgLnkTargetPopup	: "<sprettigluggi>",
+DlgLnkTargetBlank	: "NÃ½r gluggi (_blank)",
+DlgLnkTargetParent	: "Yfirsettur rammi (_parent)",
+DlgLnkTargetSelf	: "Sami gluggi (_self)",
+DlgLnkTargetTop		: "Allur glugginn (_top)",
+DlgLnkTargetFrameName	: "Nafn markglugga",
+DlgLnkPopWinName	: "Nafn sprettiglugga",
+DlgLnkPopWinFeat	: "Eigindi sprettiglugga",
+DlgLnkPopResize		: "SkÃ¶lun",
+DlgLnkPopLocation	: "FanglÃ­na",
+DlgLnkPopMenu		: "VallÃ­na",
+DlgLnkPopScroll		: "Skrunstikur",
+DlgLnkPopStatus		: "StÃ¶Ã°ustika",
+DlgLnkPopToolbar	: "VerkfÃ¦rastika",
+DlgLnkPopFullScrn	: "HeilskjÃ¡r (IE)",
+DlgLnkPopDependent	: "HÃ¡Ã° venslum (Netscape)",
+DlgLnkPopWidth		: "Breidd",
+DlgLnkPopHeight		: "HÃ¦Ã°",
+DlgLnkPopLeft		: "FjarlÃ¦gÃ° frÃ¡ vinstri",
+DlgLnkPopTop		: "FjarlÃ¦gÃ° frÃ¡ efri brÃºn",
+
+DlnLnkMsgNoUrl		: "SlÃ¡Ã°u inn veffang stiklunnar!",
+DlnLnkMsgNoEMail	: "SlÃ¡Ã°u inn netfang!",
+DlnLnkMsgNoAnchor	: "Veldu fyrst eitthvert bÃ³kamerki!",
+DlnLnkMsgInvPopName	: "SprettisÃ­Ã°an verÃ°ur aÃ° byrja Ã¡ bÃ³kstaf (a-z) og mÃ¡ ekki innihalda stafabil",
+
+// Color Dialog
+DlgColorTitle		: "Velja lit",
+DlgColorBtnClear	: "NÃºllstilla",
+DlgColorHighlight	: "Litmerkja",
+DlgColorSelected	: "ValiÃ°",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Velja svip",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Velja tÃ¡kn",
+
+// Table Dialog
+DlgTableTitle		: "Eigindi tÃ¶flu",
+DlgTableRows		: "RaÃ°ir",
+DlgTableColumns		: "DÃ¡lkar",
+DlgTableBorder		: "Breidd ramma",
+DlgTableAlign		: "JÃ¶fnun",
+DlgTableAlignNotSet	: "<ekkert valiÃ°>",
+DlgTableAlignLeft	: "VinstrijafnaÃ°",
+DlgTableAlignCenter	: "MiÃ°jaÃ°",
+DlgTableAlignRight	: "HÃ¦grijafnaÃ°",
+DlgTableWidth		: "Breidd",
+DlgTableWidthPx		: "myndeindir",
+DlgTableWidthPc		: "prÃ³sent",
+DlgTableHeight		: "HÃ¦Ã°",
+DlgTableCellSpace	: "Bil milli reita",
+DlgTableCellPad		: "ReitaspÃ¡ssÃ­a",
+DlgTableCaption		: "Titill",
+DlgTableSummary		: "Ãfram",
+DlgTableHeaders		: "Fyrirsagnir",
+DlgTableHeadersNone		: "Engar",
+DlgTableHeadersColumn	: "Fyrsti dÃ¡lkur",
+DlgTableHeadersRow		: "Fyrsta rÃ¶Ã°",
+DlgTableHeadersBoth		: "Hvort tveggja",
+
+// Table Cell Dialog
+DlgCellTitle		: "Eigindi reits",
+DlgCellWidth		: "Breidd",
+DlgCellWidthPx		: "myndeindir",
+DlgCellWidthPc		: "prÃ³sent",
+DlgCellHeight		: "HÃ¦Ã°",
+DlgCellWordWrap		: "LÃ­nuskipting",
+DlgCellWordWrapNotSet	: "<ekkert valiÃ°>",
+DlgCellWordWrapYes	: "JÃ¡",
+DlgCellWordWrapNo	: "Nei",
+DlgCellHorAlign		: "LÃ¡rÃ©tt jÃ¶fnun",
+DlgCellHorAlignNotSet	: "<ekkert valiÃ°>",
+DlgCellHorAlignLeft	: "VinstrijafnaÃ°",
+DlgCellHorAlignCenter	: "MiÃ°jaÃ°",
+DlgCellHorAlignRight: "HÃ¦grijafnaÃ°",
+DlgCellVerAlign		: "LÃ³Ã°rÃ©tt jÃ¶fnun",
+DlgCellVerAlignNotSet	: "<ekkert valiÃ°>",
+DlgCellVerAlignTop	: "Efst",
+DlgCellVerAlignMiddle	: "MiÃ°jaÃ°",
+DlgCellVerAlignBottom	: "NeÃ°st",
+DlgCellVerAlignBaseline	: "GrunnlÃ­na",
+DlgCellType		: "Tegund reits",
+DlgCellTypeData		: "GÃ¶gn",
+DlgCellTypeHeader	: "FyrirsÃ¶gn",
+DlgCellRowSpan		: "HÃ¦Ã° Ã­ rÃ¶Ã°um taliÃ°",
+DlgCellCollSpan		: "Breidd Ã­ dÃ¡lkum taliÃ°",
+DlgCellBackColor	: "Bakgrunnslitur",
+DlgCellBorderColor	: "Rammalitur",
+DlgCellBtnSelect	: "Veldu...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Finna og skipta",
+
+// Find Dialog
+DlgFindTitle		: "Finna",
+DlgFindFindBtn		: "Finna",
+DlgFindNotFoundMsg	: "Leitartexti fannst ekki!",
+
+// Replace Dialog
+DlgReplaceTitle			: "Skipta Ãºt",
+DlgReplaceFindLbl		: "Leita aÃ°:",
+DlgReplaceReplaceLbl	: "Skipta Ãºt fyrir:",
+DlgReplaceCaseChk		: "Gera greinarmun Ã¡Â¡ hÃ¡Â¡- og lÃ¡gstÃ¶fum",
+DlgReplaceReplaceBtn	: "Skipta Ãºt",
+DlgReplaceReplAllBtn	: "Skipta Ãºt allsstaÃ°ar",
+DlgReplaceWordChk		: "AÃ°eins heil orÃ°",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "Ã–ryggisstillingar vafrans Ã¾Ã­ns leyfa ekki klippingu texta meÃ° mÃºsaraÃ°gerÃ°. NotaÃ°u lyklaborÃ°iÃ° Ã­ klippa (Ctrl+X).",
+PasteErrorCopy	: "Ã–ryggisstillingar vafrans Ã¾Ã­ns leyfa ekki afritun texta meÃ° mÃºsaraÃ°gerÃ°. NotaÃ°u lyklaborÃ°iÃ° Ã­ afrita (Ctrl+C).",
+
+PasteAsText		: "LÃ­ma sem Ã³sniÃ°inn texta",
+PasteFromWord	: "LÃ­ma Ãºr Word",
+
+DlgPasteMsg2	: "LÃ­mdu Ã­ svÃ¦Ã°iÃ° hÃ©r aÃ° neÃ°an og (<STRONG>Ctrl+V</STRONG>) og smelltu Ã¡ <STRONG>OK</STRONG>.",
+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.",
+DlgPasteIgnoreFont		: "Hunsa leturskilgreiningar",
+DlgPasteRemoveStyles	: "Hunsa letureigindi",
+
+// Color Picker
+ColorAutomatic	: "SjÃ¡lfval",
+ColorMoreColors	: "Fleiri liti...",
+
+// Document Properties
+DocProps		: "Eigindi skjals",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Eigindi bÃ³kamerkis",
+DlgAnchorName		: "Nafn bÃ³kamerkis",
+DlgAnchorErrorName	: "SlÃ¡Ã°u inn nafn bÃ³kamerkis!",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Ekki Ã­ orÃ°abÃ³kinni",
+DlgSpellChangeTo		: "Tillaga",
+DlgSpellBtnIgnore		: "Hunsa",
+DlgSpellBtnIgnoreAll	: "Hunsa allt",
+DlgSpellBtnReplace		: "Skipta",
+DlgSpellBtnReplaceAll	: "Skipta Ã¶llu",
+DlgSpellBtnUndo			: "Til baka",
+DlgSpellNoSuggestions	: "- engar tillÃ¶gur -",
+DlgSpellProgress		: "Villuleit Ã­ gangi...",
+DlgSpellNoMispell		: "Villuleit lokiÃ°: Engin villa fannst",
+DlgSpellNoChanges		: "Villuleit lokiÃ°: Engu orÃ°i breytt",
+DlgSpellOneChange		: "Villuleit lokiÃ°: Einu orÃ°i breytt",
+DlgSpellManyChanges		: "Villuleit lokiÃ°: %1 orÃ°um breytt",
+
+IeSpellDownload			: "Villuleit ekki sett upp.<br>Viltu setja hana upp?",
+
+// Button Dialog
+DlgButtonText		: "Texti",
+DlgButtonType		: "GerÃ°",
+DlgButtonTypeBtn	: "Hnappur",
+DlgButtonTypeSbm	: "StaÃ°festa",
+DlgButtonTypeRst	: "Hreinsa",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Nafn",
+DlgCheckboxValue	: "Gildi",
+DlgCheckboxSelected	: "ValiÃ°",
+
+// Form Dialog
+DlgFormName		: "Nafn",
+DlgFormAction	: "AÃ°gerÃ°",
+DlgFormMethod	: "AÃ°ferÃ°",
+
+// Select Field Dialog
+DlgSelectName		: "Nafn",
+DlgSelectValue		: "Gildi",
+DlgSelectSize		: "StÃ¦rÃ°",
+DlgSelectLines		: "lÃ­nur",
+DlgSelectChkMulti	: "Leyfa fleiri kosti",
+DlgSelectOpAvail	: "Kostir",
+DlgSelectOpText		: "Texti",
+DlgSelectOpValue	: "Gildi",
+DlgSelectBtnAdd		: "BÃ¦ta viÃ°",
+DlgSelectBtnModify	: "Breyta",
+DlgSelectBtnUp		: "Upp",
+DlgSelectBtnDown	: "NiÃ°ur",
+DlgSelectBtnSetValue : "Merkja sem valiÃ°",
+DlgSelectBtnDelete	: "EyÃ°a",
+
+// Textarea Dialog
+DlgTextareaName	: "Nafn",
+DlgTextareaCols	: "DÃ¡lkar",
+DlgTextareaRows	: "LÃ­nur",
+
+// Text Field Dialog
+DlgTextName			: "Nafn",
+DlgTextValue		: "Gildi",
+DlgTextCharWidth	: "Breidd (leturtÃ¡kn)",
+DlgTextMaxChars		: "HÃ¡marksfjÃ¶ldi leturtÃ¡kna",
+DlgTextType			: "GerÃ°",
+DlgTextTypeText		: "Texti",
+DlgTextTypePass		: "LykilorÃ°",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Nafn",
+DlgHiddenValue	: "Gildi",
+
+// Bulleted List Dialog
+BulletedListProp	: "Eigindi depillista",
+NumberedListProp	: "Eigindi tÃ¶lusetts lista",
+DlgLstStart			: "Byrja",
+DlgLstType			: "GerÃ°",
+DlgLstTypeCircle	: "Hringur",
+DlgLstTypeDisc		: "Fylltur hringur",
+DlgLstTypeSquare	: "Ferningur",
+DlgLstTypeNumbers	: "TÃ¶lusett (1, 2, 3)",
+DlgLstTypeLCase		: "LÃ¡gstafir (a, b, c)",
+DlgLstTypeUCase		: "HÃ¡stafir (A, B, C)",
+DlgLstTypeSRoman	: "RÃ³mverkar lÃ¡gstafatÃ¶lur (i, ii, iii)",
+DlgLstTypeLRoman	: "RÃ³mverkar hÃ¡stafatÃ¶lur (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Almennt",
+DlgDocBackTab		: "Bakgrunnur",
+DlgDocColorsTab		: "Litir og rammar",
+DlgDocMetaTab		: "LÃ½sigÃ¶gn",
+
+DlgDocPageTitle		: "Titill sÃ­Ã°u",
+DlgDocLangDir		: "TungumÃ¡l",
+DlgDocLangDirLTR	: "Vinstri til hÃ¦gri (LTR)",
+DlgDocLangDirRTL	: "HÃ¦gri til vinstri (RTL)",
+DlgDocLangCode		: "TungumÃ¡lakÃ³Ã°i",
+DlgDocCharSet		: "Letursett",
+DlgDocCharSetCE		: "MiÃ°-evrÃ³pskt",
+DlgDocCharSetCT		: "KÃ­nverskt, hefÃ°bundiÃ° (Big5)",
+DlgDocCharSetCR		: "KÃ½rilskt",
+DlgDocCharSetGR		: "GrÃ­skt",
+DlgDocCharSetJP		: "Japanskt",
+DlgDocCharSetKR		: "KÃ³reskt",
+DlgDocCharSetTR		: "Tyrkneskt",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "Vestur-evrÃ³pst",
+DlgDocCharSetOther	: "AnnaÃ° letursett",
+
+DlgDocDocType		: "Flokkur skjalategunda",
+DlgDocDocTypeOther	: "Annar flokkur skjalategunda",
+DlgDocIncXHTML		: "Fella inn XHTML lÃ½singu",
+DlgDocBgColor		: "Bakgrunnslitur",
+DlgDocBgImage		: "SlÃ³Ã° bakgrunnsmyndar",
+DlgDocBgNoScroll	: "LÃ¦stur bakgrunnur",
+DlgDocCText			: "Texti",
+DlgDocCLink			: "Stikla",
+DlgDocCVisited		: "HeimsÃ³tt stikla",
+DlgDocCActive		: "Virk stikla",
+DlgDocMargins		: "HliÃ°arspÃ¡ssÃ­a",
+DlgDocMaTop			: "Efst",
+DlgDocMaLeft		: "Vinstri",
+DlgDocMaRight		: "HÃ¦gri",
+DlgDocMaBottom		: "NeÃ°st",
+DlgDocMeIndex		: "LykilorÃ° efnisorÃ°askrÃ¡r (aÃ°greind meÃ° kommum)",
+DlgDocMeDescr		: "LÃ½sing skjals",
+DlgDocMeAuthor		: "HÃ¶fundur",
+DlgDocMeCopy		: "HÃ¶fundarrÃ©ttur",
+DlgDocPreview		: "SÃ½na",
+
+// Templates Dialog
+Templates			: "SniÃ°mÃ¡t",
+DlgTemplatesTitle	: "InnihaldssniÃ°mÃ¡t",
+DlgTemplatesSelMsg	: "Veldu sniÃ°mÃ¡t til aÃ° opna Ã­ ritlinum.<br>(NÃºverandi innihald vÃ­kur fyrir Ã¾vÃ­!):",
+DlgTemplatesLoading	: "SÃ¦ki lista yfir sniÃ°mÃ¡t...",
+DlgTemplatesNoTpl	: "(Ekkert sniÃ°mÃ¡t er skilgreint!)",
+DlgTemplatesReplace	: "Skipta Ãºt raunverulegu innihaldi",
+
+// About Dialog
+DlgAboutAboutTab	: "Um",
+DlgAboutBrowserInfoTab	: "Almennt",
+DlgAboutLicenseTab	: "Leyfi",
+DlgAboutVersion		: "ÃºtgÃ¡fa",
+DlgAboutInfo		: "NÃ¡nari upplÃ½sinar, sjÃ¡:",
+
+// Div Dialog
+DlgDivGeneralTab	: "Almennt",
+DlgDivAdvancedTab	: "SÃ©rhÃ¦ft",
+DlgDivStyle		: "StÃ­ll",
+DlgDivInlineStyle	: "LÃ­nulÃ¦gur stÃ­ll",
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/hu.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/hu.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/hu.js	(revision 1481)
@@ -0,0 +1,540 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Hungarian language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "EszkÃ¶ztÃ¡r elrejtÃ©se",
+ToolbarExpand		: "EszkÃ¶ztÃ¡r megjelenÃ­tÃ©se",
+
+// Toolbar Items and Context Menu
+Save				: "MentÃ©s",
+NewPage				: "Ãšj oldal",
+Preview				: "ElÅ‘nÃ©zet",
+Cut					: "KivÃ¡gÃ¡s",
+Copy				: "MÃ¡solÃ¡s",
+Paste				: "BeillesztÃ©s",
+PasteText			: "BeillesztÃ©s formÃ¡zÃ¡s nÃ©lkÃ¼l",
+PasteWord			: "BeillesztÃ©s Word-bÅ‘l",
+Print				: "NyomtatÃ¡s",
+SelectAll			: "Mindent kijelÃ¶l",
+RemoveFormat		: "FormÃ¡zÃ¡s eltÃ¡volÃ­tÃ¡sa",
+InsertLinkLbl		: "HivatkozÃ¡s",
+InsertLink			: "HivatkozÃ¡s beillesztÃ©se/mÃ³dosÃ­tÃ¡sa",
+RemoveLink			: "HivatkozÃ¡s tÃ¶rlÃ©se",
+VisitLink			: "Open Link",	//MISSING
+Anchor				: "Horgony beillesztÃ©se/szerkesztÃ©se",
+AnchorDelete		: "Horgony eltÃ¡volÃ­tÃ¡sa",
+InsertImageLbl		: "KÃ©p",
+InsertImage			: "KÃ©p beillesztÃ©se/mÃ³dosÃ­tÃ¡sa",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Flash beillesztÃ©se, mÃ³dosÃ­tÃ¡sa",
+InsertTableLbl		: "TÃ¡blÃ¡zat",
+InsertTable			: "TÃ¡blÃ¡zat beillesztÃ©se/mÃ³dosÃ­tÃ¡sa",
+InsertLineLbl		: "Vonal",
+InsertLine			: "ElvÃ¡lasztÃ³vonal beillesztÃ©se",
+InsertSpecialCharLbl: "SpeciÃ¡lis karakter",
+InsertSpecialChar	: "SpeciÃ¡lis karakter beillesztÃ©se",
+InsertSmileyLbl		: "Hangulatjelek",
+InsertSmiley		: "Hangulatjelek beillesztÃ©se",
+About				: "FCKeditor nÃ©vjegy",
+Bold				: "FÃ©lkÃ¶vÃ©r",
+Italic				: "DÅ‘lt",
+Underline			: "AlÃ¡hÃºzott",
+StrikeThrough		: "ÃthÃºzott",
+Subscript			: "AlsÃ³ index",
+Superscript			: "FelsÅ‘ index",
+LeftJustify			: "Balra",
+CenterJustify		: "KÃ¶zÃ©pre",
+RightJustify		: "Jobbra",
+BlockJustify		: "SorkizÃ¡rt",
+DecreaseIndent		: "BehÃºzÃ¡s csÃ¶kkentÃ©se",
+IncreaseIndent		: "BehÃºzÃ¡s nÃ¶velÃ©se",
+Blockquote			: "IdÃ©zet blokk",
+CreateDiv			: "Create Div Container",	//MISSING
+EditDiv				: "Edit Div Container",	//MISSING
+DeleteDiv			: "Remove Div Container",	//MISSING
+Undo				: "VisszavonÃ¡s",
+Redo				: "IsmÃ©tlÃ©s",
+NumberedListLbl		: "SzÃ¡mozÃ¡s",
+NumberedList		: "SzÃ¡mozÃ¡s beillesztÃ©se/tÃ¶rlÃ©se",
+BulletedListLbl		: "FelsorolÃ¡s",
+BulletedList		: "FelsorolÃ¡s beillesztÃ©se/tÃ¶rlÃ©se",
+ShowTableBorders	: "TÃ¡blÃ¡zat szegÃ©ly mutatÃ¡sa",
+ShowDetails			: "RÃ©szletek mutatÃ¡sa",
+Style				: "StÃ­lus",
+FontFormat			: "FormÃ¡tum",
+Font				: "BetÅ±tÃ­pus",
+FontSize			: "MÃ©ret",
+TextColor			: "BetÅ±szÃ­n",
+BGColor				: "HÃ¡ttÃ©rszÃ­n",
+Source				: "ForrÃ¡skÃ³d",
+Find				: "KeresÃ©s",
+Replace				: "Csere",
+SpellCheck			: "HelyesÃ­rÃ¡s-ellenÅ‘rzÃ©s",
+UniversalKeyboard	: "UniverzÃ¡lis billentyÅ±zet",
+PageBreakLbl		: "OldaltÃ¶rÃ©s",
+PageBreak			: "OldaltÃ¶rÃ©s beillesztÃ©se",
+
+Form			: "Å°rlap",
+Checkbox		: "JelÃ¶lÅ‘nÃ©gyzet",
+RadioButton		: "VÃ¡lasztÃ³gomb",
+TextField		: "SzÃ¶vegmezÅ‘",
+Textarea		: "SzÃ¶vegterÃ¼let",
+HiddenField		: "RejtettmezÅ‘",
+Button			: "Gomb",
+SelectionField	: "LegÃ¶rdÃ¼lÅ‘ lista",
+ImageButton		: "KÃ©pgomb",
+
+FitWindow		: "MaximalizÃ¡lÃ¡s",
+ShowBlocks		: "Blokkok megjelenÃ­tÃ©se",
+
+// Context Menu
+EditLink			: "HivatkozÃ¡s mÃ³dosÃ­tÃ¡sa",
+CellCM				: "Cella",
+RowCM				: "Sor",
+ColumnCM			: "Oszlop",
+InsertRowAfter		: "Sor beillesztÃ©se az aktuÃ¡lis sor mÃ¶gÃ©",
+InsertRowBefore		: "Sor beillesztÃ©se az aktuÃ¡lis sor elÃ©",
+DeleteRows			: "Sorok tÃ¶rlÃ©se",
+InsertColumnAfter	: "Oszlop beillesztÃ©se az aktuÃ¡lis oszlop mÃ¶gÃ©",
+InsertColumnBefore	: "Oszlop beillesztÃ©se az aktuÃ¡lis oszlop elÃ©",
+DeleteColumns		: "Oszlopok tÃ¶rlÃ©se",
+InsertCellAfter		: "Cella beillesztÃ©se az aktuÃ¡lis cella mÃ¶gÃ©",
+InsertCellBefore	: "Cella beillesztÃ©se az aktuÃ¡lis cella elÃ©",
+DeleteCells			: "CellÃ¡k tÃ¶rlÃ©se",
+MergeCells			: "CellÃ¡k egyesÃ­tÃ©se",
+MergeRight			: "CellÃ¡k egyesÃ­tÃ©se jobbra",
+MergeDown			: "CellÃ¡k egyesÃ­tÃ©se lefelÃ©",
+HorizontalSplitCell	: "CellÃ¡k szÃ©tvÃ¡lasztÃ¡sa vÃ­zszintesen",
+VerticalSplitCell	: "CellÃ¡k szÃ©tvÃ¡lasztÃ¡sa fÃ¼ggÅ‘legesen",
+TableDelete			: "TÃ¡blÃ¡zat tÃ¶rlÃ©se",
+CellProperties		: "Cella tulajdonsÃ¡gai",
+TableProperties		: "TÃ¡blÃ¡zat tulajdonsÃ¡gai",
+ImageProperties		: "KÃ©p tulajdonsÃ¡gai",
+FlashProperties		: "Flash tulajdonsÃ¡gai",
+
+AnchorProp			: "Horgony tulajdonsÃ¡gai",
+ButtonProp			: "Gomb tulajdonsÃ¡gai",
+CheckboxProp		: "JelÃ¶lÅ‘nÃ©gyzet tulajdonsÃ¡gai",
+HiddenFieldProp		: "Rejtett mezÅ‘ tulajdonsÃ¡gai",
+RadioButtonProp		: "VÃ¡lasztÃ³gomb tulajdonsÃ¡gai",
+ImageButtonProp		: "KÃ©pgomb tulajdonsÃ¡gai",
+TextFieldProp		: "SzÃ¶vegmezÅ‘ tulajdonsÃ¡gai",
+SelectionFieldProp	: "LegÃ¶rdÃ¼lÅ‘ lista tulajdonsÃ¡gai",
+TextareaProp		: "SzÃ¶vegterÃ¼let tulajdonsÃ¡gai",
+FormProp			: "Å°rlap tulajdonsÃ¡gai",
+
+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)",
+
+// Alerts and Messages
+ProcessingXHTML		: "XHTML feldolgozÃ¡sa. KÃ©rem vÃ¡rjon...",
+Done				: "KÃ©sz",
+PasteWordConfirm	: "A beilleszteni kÃ­vÃ¡nt szÃ¶veg Word-bÅ‘l van mÃ¡solva. El kÃ­vÃ¡nja tÃ¡volÃ­tani a formÃ¡zÃ¡st a beillesztÃ©s elÅ‘tt?",
+NotCompatiblePaste	: "Ez a parancs csak Internet Explorer 5.5 verziÃ³tÃ³l hasznÃ¡lhatÃ³. MegprÃ³bÃ¡lja beilleszteni a szÃ¶veget az eredeti formÃ¡zÃ¡ssal?",
+UnknownToolbarItem	: "Ismeretlen eszkÃ¶ztÃ¡r elem \"%1\"",
+UnknownCommand		: "Ismeretlen parancs \"%1\"",
+NotImplemented		: "A parancs nem hajthatÃ³ vÃ©gre",
+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.",
+BrowseServerBlocked : "Nem lehet megnyitni a fÃ¡jlbÃ¶ngÃ©szÅ‘t. Bizonyosodjon meg rÃ³la, hogy a felbukkanÃ³ ablakok engedÃ©lyezve vannak.",
+DialogBlocked		: "Nem lehet megnyitni a pÃ¡rbeszÃ©dablakot. Bizonyosodjon meg rÃ³la, hogy a felbukkanÃ³ ablakok engedÃ©lyezve vannak.",
+VisitLinkBlocked	: "It was not possible to open a new window. Make sure all popup blockers are disabled.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "Rendben",
+DlgBtnCancel		: "MÃ©gsem",
+DlgBtnClose			: "BezÃ¡rÃ¡s",
+DlgBtnBrowseServer	: "BÃ¶ngÃ©szÃ©s a szerveren",
+DlgAdvancedTag		: "TovÃ¡bbi opciÃ³k",
+DlgOpOther			: "EgyÃ©b",
+DlgInfoTab			: "AlaptulajdonsÃ¡gok",
+DlgAlertUrl			: "Illessze be a webcÃ­met",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<nincs beÃ¡llÃ­tva>",
+DlgGenId			: "AzonosÃ­tÃ³",
+DlgGenLangDir		: "ÃrÃ¡s irÃ¡nya",
+DlgGenLangDirLtr	: "BalrÃ³l jobbra",
+DlgGenLangDirRtl	: "JobbrÃ³l balra",
+DlgGenLangCode		: "Nyelv kÃ³dja",
+DlgGenAccessKey		: "BillentyÅ±kombinÃ¡ciÃ³",
+DlgGenName			: "NÃ©v",
+DlgGenTabIndex		: "TabulÃ¡tor index",
+DlgGenLongDescr		: "RÃ©szletes leÃ­rÃ¡s webcÃ­me",
+DlgGenClass			: "StÃ­luskÃ©szlet",
+DlgGenTitle			: "SÃºgÃ³cimke",
+DlgGenContType		: "SÃºgÃ³ tartalomtÃ­pusa",
+DlgGenLinkCharset	: "Hivatkozott tartalom kÃ³dlapja",
+DlgGenStyle			: "StÃ­lus",
+
+// Image Dialog
+DlgImgTitle			: "KÃ©p tulajdonsÃ¡gai",
+DlgImgInfoTab		: "AlaptulajdonsÃ¡gok",
+DlgImgBtnUpload		: "KÃ¼ldÃ©s a szerverre",
+DlgImgURL			: "HivatkozÃ¡s",
+DlgImgUpload		: "FeltÃ¶ltÃ©s",
+DlgImgAlt			: "BuborÃ©k szÃ¶veg",
+DlgImgWidth			: "SzÃ©lessÃ©g",
+DlgImgHeight		: "MagassÃ¡g",
+DlgImgLockRatio		: "ArÃ¡ny megtartÃ¡sa",
+DlgBtnResetSize		: "Eredeti mÃ©ret",
+DlgImgBorder		: "Keret",
+DlgImgHSpace		: "VÃ­zsz. tÃ¡v",
+DlgImgVSpace		: "FÃ¼gg. tÃ¡v",
+DlgImgAlign			: "IgazÃ­tÃ¡s",
+DlgImgAlignLeft		: "Bal",
+DlgImgAlignAbsBottom: "LegaljÃ¡ra",
+DlgImgAlignAbsMiddle: "KÃ¶zepÃ©re",
+DlgImgAlignBaseline	: "Alapvonalhoz",
+DlgImgAlignBottom	: "AljÃ¡ra",
+DlgImgAlignMiddle	: "KÃ¶zÃ©pre",
+DlgImgAlignRight	: "Jobbra",
+DlgImgAlignTextTop	: "SzÃ¶veg tetejÃ©re",
+DlgImgAlignTop		: "TetejÃ©re",
+DlgImgPreview		: "ElÅ‘nÃ©zet",
+DlgImgAlertUrl		: "TÃ¶ltse ki a kÃ©p webcÃ­mÃ©t",
+DlgImgLinkTab		: "HivatkozÃ¡s",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash tulajdonsÃ¡gai",
+DlgFlashChkPlay		: "Automata lejÃ¡tszÃ¡s",
+DlgFlashChkLoop		: "Folyamatosan",
+DlgFlashChkMenu		: "Flash menÃ¼ engedÃ©lyezÃ©se",
+DlgFlashScale		: "MÃ©retezÃ©s",
+DlgFlashScaleAll	: "Mindent mutat",
+DlgFlashScaleNoBorder	: "Keret nÃ©lkÃ¼l",
+DlgFlashScaleFit	: "Teljes kitÃ¶ltÃ©s",
+
+// Link Dialog
+DlgLnkWindowTitle	: "HivatkozÃ¡s tulajdonsÃ¡gai",
+DlgLnkInfoTab		: "AlaptulajdonsÃ¡gok",
+DlgLnkTargetTab		: "MegjelenÃ­tÃ©s",
+
+DlgLnkType			: "HivatkozÃ¡s tÃ­pusa",
+DlgLnkTypeURL		: "WebcÃ­m",
+DlgLnkTypeAnchor	: "Horgony az oldalon",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protokoll",
+DlgLnkProtoOther	: "<mÃ¡s>",
+DlgLnkURL			: "WebcÃ­m",
+DlgLnkAnchorSel		: "Horgony vÃ¡lasztÃ¡sa",
+DlgLnkAnchorByName	: "Horgony nÃ©v szerint",
+DlgLnkAnchorById	: "AzonosÃ­tÃ³ szerint",
+DlgLnkNoAnchors		: "(Nincs horgony a dokumentumban)",
+DlgLnkEMail			: "E-Mail cÃ­m",
+DlgLnkEMailSubject	: "Ãœzenet tÃ¡rgya",
+DlgLnkEMailBody		: "Ãœzenet",
+DlgLnkUpload		: "FeltÃ¶ltÃ©s",
+DlgLnkBtnUpload		: "KÃ¼ldÃ©s a szerverre",
+
+DlgLnkTarget		: "Tartalom megjelenÃ­tÃ©se",
+DlgLnkTargetFrame	: "<keretben>",
+DlgLnkTargetPopup	: "<felugrÃ³ ablakban>",
+DlgLnkTargetBlank	: "Ãšj ablakban (_blank)",
+DlgLnkTargetParent	: "SzÃ¼lÅ‘ ablakban (_parent)",
+DlgLnkTargetSelf	: "Azonos ablakban (_self)",
+DlgLnkTargetTop		: "LegfelsÅ‘ ablakban (_top)",
+DlgLnkTargetFrameName	: "Keret neve",
+DlgLnkPopWinName	: "FelugrÃ³ ablak neve",
+DlgLnkPopWinFeat	: "FelugrÃ³ ablak jellemzÅ‘i",
+DlgLnkPopResize		: "MÃ©retezhetÅ‘",
+DlgLnkPopLocation	: "CÃ­msor",
+DlgLnkPopMenu		: "MenÃ¼ sor",
+DlgLnkPopScroll		: "GÃ¶rdÃ­tÅ‘sÃ¡v",
+DlgLnkPopStatus		: "Ãllapotsor",
+DlgLnkPopToolbar	: "EszkÃ¶ztÃ¡r",
+DlgLnkPopFullScrn	: "Teljes kÃ©pernyÅ‘ (csak IE)",
+DlgLnkPopDependent	: "SzÃ¼lÅ‘hÃ¶z kapcsolt (csak Netscape)",
+DlgLnkPopWidth		: "SzÃ©lessÃ©g",
+DlgLnkPopHeight		: "MagassÃ¡g",
+DlgLnkPopLeft		: "Bal pozÃ­ciÃ³",
+DlgLnkPopTop		: "FelsÅ‘ pozÃ­ciÃ³",
+
+DlnLnkMsgNoUrl		: "Adja meg a hivatkozÃ¡s webcÃ­mÃ©t",
+DlnLnkMsgNoEMail	: "Adja meg az E-Mail cÃ­met",
+DlnLnkMsgNoAnchor	: "VÃ¡lasszon egy horgonyt",
+DlnLnkMsgInvPopName	: "A felbukkanÃ³ ablak neve alfanumerikus karakterrel kezdÃ´djÃ¶n, valamint ne tartalmazzon szÃ³kÃ¶zt",
+
+// Color Dialog
+DlgColorTitle		: "SzÃ­nvÃ¡lasztÃ¡s",
+DlgColorBtnClear	: "TÃ¶rlÃ©s",
+DlgColorHighlight	: "ElÅ‘nÃ©zet",
+DlgColorSelected	: "KivÃ¡lasztott",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Hangulatjel beszÃºrÃ¡sa",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "SpeciÃ¡lis karakter vÃ¡lasztÃ¡sa",
+
+// Table Dialog
+DlgTableTitle		: "TÃ¡blÃ¡zat tulajdonsÃ¡gai",
+DlgTableRows		: "Sorok",
+DlgTableColumns		: "Oszlopok",
+DlgTableBorder		: "SzegÃ©lymÃ©ret",
+DlgTableAlign		: "IgazÃ­tÃ¡s",
+DlgTableAlignNotSet	: "<Nincs beÃ¡llÃ­tva>",
+DlgTableAlignLeft	: "Balra",
+DlgTableAlignCenter	: "KÃ¶zÃ©pre",
+DlgTableAlignRight	: "Jobbra",
+DlgTableWidth		: "SzÃ©lessÃ©g",
+DlgTableWidthPx		: "kÃ©ppont",
+DlgTableWidthPc		: "szÃ¡zalÃ©k",
+DlgTableHeight		: "MagassÃ¡g",
+DlgTableCellSpace	: "Cella tÃ©rkÃ¶z",
+DlgTableCellPad		: "Cella belsÅ‘ margÃ³",
+DlgTableCaption		: "Felirat",
+DlgTableSummary		: "LeÃ­rÃ¡s",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "Cella tulajdonsÃ¡gai",
+DlgCellWidth		: "SzÃ©lessÃ©g",
+DlgCellWidthPx		: "kÃ©ppont",
+DlgCellWidthPc		: "szÃ¡zalÃ©k",
+DlgCellHeight		: "MagassÃ¡g",
+DlgCellWordWrap		: "SortÃ¶rÃ©s",
+DlgCellWordWrapNotSet	: "<Nincs beÃ¡llÃ­tva>",
+DlgCellWordWrapYes	: "Igen",
+DlgCellWordWrapNo	: "Nem",
+DlgCellHorAlign		: "VÃ­zsz. igazÃ­tÃ¡s",
+DlgCellHorAlignNotSet	: "<Nincs beÃ¡llÃ­tva>",
+DlgCellHorAlignLeft	: "Balra",
+DlgCellHorAlignCenter	: "KÃ¶zÃ©pre",
+DlgCellHorAlignRight: "Jobbra",
+DlgCellVerAlign		: "FÃ¼gg. igazÃ­tÃ¡s",
+DlgCellVerAlignNotSet	: "<Nincs beÃ¡llÃ­tva>",
+DlgCellVerAlignTop	: "TetejÃ©re",
+DlgCellVerAlignMiddle	: "KÃ¶zÃ©pre",
+DlgCellVerAlignBottom	: "AljÃ¡ra",
+DlgCellVerAlignBaseline	: "Egyvonalba",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "Sorok egyesÃ­tÃ©se",
+DlgCellCollSpan		: "Oszlopok egyesÃ­tÃ©se",
+DlgCellBackColor	: "HÃ¡ttÃ©rszÃ­n",
+DlgCellBorderColor	: "SzegÃ©lyszÃ­n",
+DlgCellBtnSelect	: "KivÃ¡lasztÃ¡s...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "KeresÃ©s Ã©s csere",
+
+// Find Dialog
+DlgFindTitle		: "KeresÃ©s",
+DlgFindFindBtn		: "KeresÃ©s",
+DlgFindNotFoundMsg	: "A keresett szÃ¶veg nem talÃ¡lhatÃ³.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Csere",
+DlgReplaceFindLbl		: "Keresett szÃ¶veg:",
+DlgReplaceReplaceLbl	: "Csere erre:",
+DlgReplaceCaseChk		: "kis- Ã©s nagybetÅ± megkÃ¼lÃ¶nbÃ¶ztetÃ©se",
+DlgReplaceReplaceBtn	: "Csere",
+DlgReplaceReplAllBtn	: "Az Ã¶sszes cserÃ©je",
+DlgReplaceWordChk		: "csak ha ez a teljes szÃ³",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "A bÃ¶ngÃ©szÅ‘ biztonsÃ¡gi beÃ¡llÃ­tÃ¡sai nem engedÃ©lyezik a szerkesztÅ‘nek, hogy vÃ©grehajtsa a kivÃ¡gÃ¡s mÅ±veletet. HasznÃ¡lja az alÃ¡bbi billentyÅ±kombinÃ¡ciÃ³t (Ctrl+X).",
+PasteErrorCopy	: "A bÃ¶ngÃ©szÅ‘ biztonsÃ¡gi beÃ¡llÃ­tÃ¡sai nem engedÃ©lyezik a szerkesztÅ‘nek, hogy vÃ©grehajtsa a mÃ¡solÃ¡s mÅ±veletet. HasznÃ¡lja az alÃ¡bbi billentyÅ±kombinÃ¡ciÃ³t (Ctrl+X).",
+
+PasteAsText		: "BeillesztÃ©s formÃ¡zatlan szÃ¶vegkÃ©nt",
+PasteFromWord	: "BeillesztÃ©s Word-bÅ‘l",
+
+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.",
+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.",
+DlgPasteIgnoreFont		: "BetÅ± formÃ¡zÃ¡sok megszÃ¼ntetÃ©se",
+DlgPasteRemoveStyles	: "StÃ­lusok eltÃ¡volÃ­tÃ¡sa",
+
+// Color Picker
+ColorAutomatic	: "Automatikus",
+ColorMoreColors	: "TovÃ¡bbi szÃ­nek...",
+
+// Document Properties
+DocProps		: "Dokumentum tulajdonsÃ¡gai",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Horgony tulajdonsÃ¡gai",
+DlgAnchorName		: "Horgony neve",
+DlgAnchorErrorName	: "KÃ©rem adja meg a horgony nevÃ©t",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Nincs a szÃ³tÃ¡rban",
+DlgSpellChangeTo		: "MÃ³dosÃ­tÃ¡s",
+DlgSpellBtnIgnore		: "Kihagyja",
+DlgSpellBtnIgnoreAll	: "Mindet kihagyja",
+DlgSpellBtnReplace		: "Csere",
+DlgSpellBtnReplaceAll	: "Ã–sszes cserÃ©je",
+DlgSpellBtnUndo			: "VisszavonÃ¡s",
+DlgSpellNoSuggestions	: "Nincs javaslat",
+DlgSpellProgress		: "HelyesÃ­rÃ¡s-ellenÅ‘rzÃ©s folyamatban...",
+DlgSpellNoMispell		: "HelyesÃ­rÃ¡s-ellenÅ‘rzÃ©s kÃ©sz: Nem talÃ¡ltam hibÃ¡t",
+DlgSpellNoChanges		: "HelyesÃ­rÃ¡s-ellenÅ‘rzÃ©s kÃ©sz: Nincs vÃ¡ltoztatott szÃ³",
+DlgSpellOneChange		: "HelyesÃ­rÃ¡s-ellenÅ‘rzÃ©s kÃ©sz: Egy szÃ³ cserÃ©lve",
+DlgSpellManyChanges		: "HelyesÃ­rÃ¡s-ellenÅ‘rzÃ©s kÃ©sz: %1 szÃ³ cserÃ©lve",
+
+IeSpellDownload			: "A helyesÃ­rÃ¡s-ellenÅ‘rzÅ‘ nincs telepÃ­tve. SzeretnÃ© letÃ¶lteni most?",
+
+// Button Dialog
+DlgButtonText		: "SzÃ¶veg (Ã‰rtÃ©k)",
+DlgButtonType		: "TÃ­pus",
+DlgButtonTypeBtn	: "Gomb",
+DlgButtonTypeSbm	: "KÃ¼ldÃ©s",
+DlgButtonTypeRst	: "Alaphelyzet",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "NÃ©v",
+DlgCheckboxValue	: "Ã‰rtÃ©k",
+DlgCheckboxSelected	: "KivÃ¡lasztott",
+
+// Form Dialog
+DlgFormName		: "NÃ©v",
+DlgFormAction	: "AdatfeldolgozÃ¡st vÃ©gzÅ‘ hivatkozÃ¡s",
+DlgFormMethod	: "AdatkÃ¼ldÃ©s mÃ³dja",
+
+// Select Field Dialog
+DlgSelectName		: "NÃ©v",
+DlgSelectValue		: "Ã‰rtÃ©k",
+DlgSelectSize		: "MÃ©ret",
+DlgSelectLines		: "sor",
+DlgSelectChkMulti	: "tÃ¶bb sor is kivÃ¡laszthatÃ³",
+DlgSelectOpAvail	: "ElÃ©rhetÅ‘ opciÃ³k",
+DlgSelectOpText		: "SzÃ¶veg",
+DlgSelectOpValue	: "Ã‰rtÃ©k",
+DlgSelectBtnAdd		: "HozzÃ¡ad",
+DlgSelectBtnModify	: "MÃ³dosÃ­t",
+DlgSelectBtnUp		: "Fel",
+DlgSelectBtnDown	: "Le",
+DlgSelectBtnSetValue : "Legyen az alapÃ©rtelmezett Ã©rtÃ©k",
+DlgSelectBtnDelete	: "TÃ¶rÃ¶l",
+
+// Textarea Dialog
+DlgTextareaName	: "NÃ©v",
+DlgTextareaCols	: "Karakterek szÃ¡ma egy sorban",
+DlgTextareaRows	: "Sorok szÃ¡ma",
+
+// Text Field Dialog
+DlgTextName			: "NÃ©v",
+DlgTextValue		: "Ã‰rtÃ©k",
+DlgTextCharWidth	: "MegjelenÃ­tett karakterek szÃ¡ma",
+DlgTextMaxChars		: "MaximÃ¡lis karakterszÃ¡m",
+DlgTextType			: "TÃ­pus",
+DlgTextTypeText		: "SzÃ¶veg",
+DlgTextTypePass		: "JelszÃ³",
+
+// Hidden Field Dialog
+DlgHiddenName	: "NÃ©v",
+DlgHiddenValue	: "Ã‰rtÃ©k",
+
+// Bulleted List Dialog
+BulletedListProp	: "FelsorolÃ¡s tulajdonsÃ¡gai",
+NumberedListProp	: "SzÃ¡mozÃ¡s tulajdonsÃ¡gai",
+DlgLstStart			: "Start",
+DlgLstType			: "FormÃ¡tum",
+DlgLstTypeCircle	: "KÃ¶r",
+DlgLstTypeDisc		: "Lemez",
+DlgLstTypeSquare	: "NÃ©gyzet",
+DlgLstTypeNumbers	: "SzÃ¡mok (1, 2, 3)",
+DlgLstTypeLCase		: "KisbetÅ±k (a, b, c)",
+DlgLstTypeUCase		: "NagybetÅ±k (A, B, C)",
+DlgLstTypeSRoman	: "Kis rÃ³mai szÃ¡mok (i, ii, iii)",
+DlgLstTypeLRoman	: "Nagy rÃ³mai szÃ¡mok (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "ÃltalÃ¡nos",
+DlgDocBackTab		: "HÃ¡ttÃ©r",
+DlgDocColorsTab		: "SzÃ­nek Ã©s margÃ³k",
+DlgDocMetaTab		: "Meta adatok",
+
+DlgDocPageTitle		: "OldalcÃ­m",
+DlgDocLangDir		: "ÃrÃ¡s irÃ¡nya",
+DlgDocLangDirLTR	: "BalrÃ³l jobbra",
+DlgDocLangDirRTL	: "JobbrÃ³l balra",
+DlgDocLangCode		: "Nyelv kÃ³d",
+DlgDocCharSet		: "KarakterkÃ³dolÃ¡s",
+DlgDocCharSetCE		: "KÃ¶zÃ©p-EurÃ³pai",
+DlgDocCharSetCT		: "KÃ­nai TradicionÃ¡lis (Big5)",
+DlgDocCharSetCR		: "Cyrill",
+DlgDocCharSetGR		: "GÃ¶rÃ¶g",
+DlgDocCharSetJP		: "JapÃ¡n",
+DlgDocCharSetKR		: "Koreai",
+DlgDocCharSetTR		: "TÃ¶rÃ¶k",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "Nyugat-EurÃ³pai",
+DlgDocCharSetOther	: "MÃ¡s karakterkÃ³dolÃ¡s",
+
+DlgDocDocType		: "Dokumentum tÃ­pus fejlÃ©c",
+DlgDocDocTypeOther	: "MÃ¡s dokumentum tÃ­pus fejlÃ©c",
+DlgDocIncXHTML		: "XHTML deklarÃ¡ciÃ³k beillesztÃ©se",
+DlgDocBgColor		: "HÃ¡ttÃ©rszÃ­n",
+DlgDocBgImage		: "HÃ¡ttÃ©rkÃ©p cÃ­m",
+DlgDocBgNoScroll	: "Nem gÃ¶rdÃ­thetÅ‘ hÃ¡ttÃ©r",
+DlgDocCText			: "SzÃ¶veg",
+DlgDocCLink			: "CÃ­m",
+DlgDocCVisited		: "LÃ¡togatott cÃ­m",
+DlgDocCActive		: "AktÃ­v cÃ­m",
+DlgDocMargins		: "Oldal margÃ³k",
+DlgDocMaTop			: "FelsÅ‘",
+DlgDocMaLeft		: "Bal",
+DlgDocMaRight		: "Jobb",
+DlgDocMaBottom		: "AlsÃ³",
+DlgDocMeIndex		: "Dokumentum keresÅ‘szavak (vesszÅ‘vel elvÃ¡lasztva)",
+DlgDocMeDescr		: "Dokumentum leÃ­rÃ¡s",
+DlgDocMeAuthor		: "SzerzÅ‘",
+DlgDocMeCopy		: "SzerzÅ‘i jog",
+DlgDocPreview		: "ElÅ‘nÃ©zet",
+
+// Templates Dialog
+Templates			: "Sablonok",
+DlgTemplatesTitle	: "ElÃ©rhetÅ‘ sablonok",
+DlgTemplatesSelMsg	: "VÃ¡lassza ki melyik sablon nyÃ­ljon meg a szerkesztÅ‘ben<br>(a jelenlegi tartalom elveszik):",
+DlgTemplatesLoading	: "Sablon lista betÃ¶ltÃ©se. Kis tÃ¼relmet...",
+DlgTemplatesNoTpl	: "(Nincs sablon megadva)",
+DlgTemplatesReplace	: "KicserÃ©li a jelenlegi tartalmat",
+
+// About Dialog
+DlgAboutAboutTab	: "NÃ©vjegy",
+DlgAboutBrowserInfoTab	: "BÃ¶ngÃ©szÅ‘ informÃ¡ciÃ³",
+DlgAboutLicenseTab	: "Licensz",
+DlgAboutVersion		: "verziÃ³",
+DlgAboutInfo		: "TovÃ¡bbi informÃ¡ciÃ³kÃ©rt lÃ¡togasson el ide:",
+DlgAboutModule		: "Developed for Website Baker<br />modul version 2.9.4",
+
+// Div Dialog
+DlgDivGeneralTab	: "General",	//MISSING
+DlgDivAdvancedTab	: "Advanced",	//MISSING
+DlgDivStyle		: "Style",	//MISSING
+DlgDivInlineStyle	: "Inline Style",	//MISSING
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/no.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/no.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/no.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Norwegian language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Skjul verktÃ¸ylinje",
+ToolbarExpand		: "Vis verktÃ¸ylinje",
+
+// Toolbar Items and Context Menu
+Save				: "Lagre",
+NewPage				: "Ny Side",
+Preview				: "ForhÃ¥ndsvis",
+Cut					: "Klipp ut",
+Copy				: "Kopier",
+Paste				: "Lim inn",
+PasteText			: "Lim inn som ren tekst",
+PasteWord			: "Lim inn fra Word",
+Print				: "Skriv ut",
+SelectAll			: "Merk alt",
+RemoveFormat		: "Fjern format",
+InsertLinkLbl		: "Lenke",
+InsertLink			: "Sett inn/Rediger lenke",
+RemoveLink			: "Fjern lenke",
+VisitLink			: "Ã…pne lenke",
+Anchor				: "Sett inn/Rediger anker",
+AnchorDelete		: "Fjern anker",
+InsertImageLbl		: "Bilde",
+InsertImage			: "Sett inn/Rediger bilde",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Sett inn/Rediger Flash",
+InsertTableLbl		: "Tabell",
+InsertTable			: "Sett inn/Rediger tabell",
+InsertLineLbl		: "Linje",
+InsertLine			: "Sett inn horisontal linje",
+InsertSpecialCharLbl: "Spesielt tegn",
+InsertSpecialChar	: "Sett inn spesielt tegn",
+InsertSmileyLbl		: "Smil",
+InsertSmiley		: "Sett inn smil",
+About				: "Om FCKeditor",
+Bold				: "Fet",
+Italic				: "Kursiv",
+Underline			: "Understrek",
+StrikeThrough		: "Gjennomstrek",
+Subscript			: "Senket skrift",
+Superscript			: "Hevet skrift",
+LeftJustify			: "Venstrejuster",
+CenterJustify		: "Midtjuster",
+RightJustify		: "HÃ¸yrejuster",
+BlockJustify		: "Blokkjuster",
+DecreaseIndent		: "Senk nivÃ¥",
+IncreaseIndent		: "Ã˜k nivÃ¥",
+Blockquote			: "Blockquote",	//MISSING
+CreateDiv			: "Create Div Container",	//MISSING
+EditDiv				: "Edit Div Container",	//MISSING
+DeleteDiv			: "Remove Div Container",	//MISSING
+Undo				: "Angre",
+Redo				: "GjÃ¸r om",
+NumberedListLbl		: "Nummerert liste",
+NumberedList		: "Sett inn/Fjern nummerert liste",
+BulletedListLbl		: "Uordnet liste",
+BulletedList		: "Sett inn/Fjern uordnet liste",
+ShowTableBorders	: "Vis tabellrammer",
+ShowDetails			: "Vis detaljer",
+Style				: "Stil",
+FontFormat			: "Format",
+Font				: "Skrift",
+FontSize			: "StÃ¸rrelse",
+TextColor			: "Tekstfarge",
+BGColor				: "Bakgrunnsfarge",
+Source				: "Kilde",
+Find				: "SÃ¸k",
+Replace				: "Erstatt",
+SpellCheck			: "Stavekontroll",
+UniversalKeyboard	: "Universelt tastatur",
+PageBreakLbl		: "Sideskift",
+PageBreak			: "Sett inn sideskift",
+
+Form			: "Skjema",
+Checkbox		: "Avmerkingsboks",
+RadioButton		: "Alternativknapp",
+TextField		: "Tekstboks",
+Textarea		: "TekstomrÃ¥de",
+HiddenField		: "Skjult felt",
+Button			: "Knapp",
+SelectionField	: "Rullegardinliste",
+ImageButton		: "Bildeknapp",
+
+FitWindow		: "Maksimer stÃ¸rrelsen pÃ¥ redigeringsverktÃ¸yet",
+ShowBlocks		: "Show Blocks",	//MISSING
+
+// Context Menu
+EditLink			: "Rediger lenke",
+CellCM				: "Celle",
+RowCM				: "Rader",
+ColumnCM			: "Kolonne",
+InsertRowAfter		: "Sett inn rad etter",
+InsertRowBefore		: "Sett inn rad fÃ¸r",
+DeleteRows			: "Slett rader",
+InsertColumnAfter	: "Sett inn kolonne etter",
+InsertColumnBefore	: "Sett inn kolonne fÃ¸r",
+DeleteColumns		: "Slett kolonner",
+InsertCellAfter		: "Sett inn celle etter",
+InsertCellBefore	: "Sett inn celle fÃ¸r",
+DeleteCells			: "Slett celler",
+MergeCells			: "SlÃ¥ sammen celler",
+MergeRight			: "SlÃ¥ sammen hÃ¸yre",
+MergeDown			: "SlÃ¥ sammen ned",
+HorizontalSplitCell	: "Del celle horisontalt",
+VerticalSplitCell	: "Del celle vertikalt",
+TableDelete			: "Slett tabell",
+CellProperties		: "Egenskaper for celle",
+TableProperties		: "Egenskaper for tabell",
+ImageProperties		: "Egenskaper for bilde",
+FlashProperties		: "Egenskaper for Flash-objekt",
+
+AnchorProp			: "Egenskaper for anker",
+ButtonProp			: "Egenskaper for knapp",
+CheckboxProp		: "Egenskaper for avmerkingsboks",
+HiddenFieldProp		: "Egenskaper for skjult felt",
+RadioButtonProp		: "Egenskaper for alternativknapp",
+ImageButtonProp		: "Egenskaper for bildeknapp",
+TextFieldProp		: "Egenskaper for tekstfelt",
+SelectionFieldProp	: "Egenskaper for rullegardinliste",
+TextareaProp		: "Egenskaper for tekstomrÃ¥de",
+FormProp			: "Egenskaper for skjema",
+
+FontFormats			: "Normal;Formatert;Adresse;Tittel 1;Tittel 2;Tittel 3;Tittel 4;Tittel 5;Tittel 6;Normal (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "Lager XHTML. Vennligst vent...",
+Done				: "Ferdig",
+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?",
+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)",
+UnknownToolbarItem	: "Ukjent menyvalg \"%1\"",
+UnknownCommand		: "Ukjent kommando \"%1\"",
+NotImplemented		: "Kommando ikke implimentert",
+UnknownToolbarSet	: "VerktÃ¸ylinjesett \"%1\" finnes ikke",
+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",
+BrowseServerBlocked : "Kunne ikke Ã¥pne dialogboksen for filarkiv. Sjekk at popup-blokkering er deaktivert.",
+DialogBlocked		: "Kunne ikke Ã¥pne dialogboksen. Sjekk at popup-blokkering er deaktivert.",
+VisitLinkBlocked	: "Kunne ikke Ã¥pne et nytt vindu. Sjekk at popup-blokkering er deaktivert.",
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Avbryt",
+DlgBtnClose			: "Lukk",
+DlgBtnBrowseServer	: "Bla igjennom server",
+DlgAdvancedTag		: "Avansert",
+DlgOpOther			: "<Annet>",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "Vennligst skriv inn URL-en",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<ikke satt>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "SprÃ¥kretning",
+DlgGenLangDirLtr	: "Venstre til hÃ¸yre (VTH)",
+DlgGenLangDirRtl	: "HÃ¸yre til venstre (HTV)",
+DlgGenLangCode		: "SprÃ¥kkode",
+DlgGenAccessKey		: "Aksessknapp",
+DlgGenName			: "Navn",
+DlgGenTabIndex		: "Tab Indeks",
+DlgGenLongDescr		: "Utvidet beskrivelse",
+DlgGenClass			: "Stilarkklasser",
+DlgGenTitle			: "Tittel",
+DlgGenContType		: "Type",
+DlgGenLinkCharset	: "Lenket sprÃ¥kkart",
+DlgGenStyle			: "Stil",
+
+// Image Dialog
+DlgImgTitle			: "Bildeegenskaper",
+DlgImgInfoTab		: "Bildeinformasjon",
+DlgImgBtnUpload		: "Send det til serveren",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Last opp",
+DlgImgAlt			: "Alternativ tekst",
+DlgImgWidth			: "Bredde",
+DlgImgHeight		: "HÃ¸yde",
+DlgImgLockRatio		: "LÃ¥s forhold",
+DlgBtnResetSize		: "Tilbakestill stÃ¸rrelse",
+DlgImgBorder		: "Ramme",
+DlgImgHSpace		: "HMarg",
+DlgImgVSpace		: "VMarg",
+DlgImgAlign			: "Juster",
+DlgImgAlignLeft		: "Venstre",
+DlgImgAlignAbsBottom: "Abs bunn",
+DlgImgAlignAbsMiddle: "Abs midten",
+DlgImgAlignBaseline	: "Bunnlinje",
+DlgImgAlignBottom	: "Bunn",
+DlgImgAlignMiddle	: "Midten",
+DlgImgAlignRight	: "HÃ¸yre",
+DlgImgAlignTextTop	: "Tekst topp",
+DlgImgAlignTop		: "Topp",
+DlgImgPreview		: "ForhÃ¥ndsvis",
+DlgImgAlertUrl		: "Vennligst skriv bilde-urlen",
+DlgImgLinkTab		: "Lenke",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash-egenskaper",
+DlgFlashChkPlay		: "Autospill",
+DlgFlashChkLoop		: "Loop",
+DlgFlashChkMenu		: "SlÃ¥ pÃ¥ Flash-meny",
+DlgFlashScale		: "Skaler",
+DlgFlashScaleAll	: "Vis alt",
+DlgFlashScaleNoBorder	: "Ingen ramme",
+DlgFlashScaleFit	: "Skaler til Ã¥ passe",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Lenke",
+DlgLnkInfoTab		: "Lenkeinfo",
+DlgLnkTargetTab		: "MÃ¥l",
+
+DlgLnkType			: "Lenketype",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Lenke til anker i teksten",
+DlgLnkTypeEMail		: "E-post",
+DlgLnkProto			: "Protokoll",
+DlgLnkProtoOther	: "<annet>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Velg et anker",
+DlgLnkAnchorByName	: "Anker etter navn",
+DlgLnkAnchorById	: "Element etter ID",
+DlgLnkNoAnchors		: "(Ingen anker i dokumentet)",
+DlgLnkEMail			: "E-postadresse",
+DlgLnkEMailSubject	: "Meldingsemne",
+DlgLnkEMailBody		: "Melding",
+DlgLnkUpload		: "Last opp",
+DlgLnkBtnUpload		: "Send til server",
+
+DlgLnkTarget		: "MÃ¥l",
+DlgLnkTargetFrame	: "<ramme>",
+DlgLnkTargetPopup	: "<popup vindu>",
+DlgLnkTargetBlank	: "Nytt vindu (_blank)",
+DlgLnkTargetParent	: "Foreldrevindu (_parent)",
+DlgLnkTargetSelf	: "Samme vindu (_self)",
+DlgLnkTargetTop		: "Hele vindu (_top)",
+DlgLnkTargetFrameName	: "MÃ¥lramme",
+DlgLnkPopWinName	: "Navn pÃ¥ popup-vindus",
+DlgLnkPopWinFeat	: "Egenskaper for popup-vindu",
+DlgLnkPopResize		: "Endre stÃ¸rrelse",
+DlgLnkPopLocation	: "Adresselinje",
+DlgLnkPopMenu		: "Menylinje",
+DlgLnkPopScroll		: "Scrollbar",
+DlgLnkPopStatus		: "Statuslinje",
+DlgLnkPopToolbar	: "VerktÃ¸ylinje",
+DlgLnkPopFullScrn	: "Full skjerm (IE)",
+DlgLnkPopDependent	: "Avhenging (Netscape)",
+DlgLnkPopWidth		: "Bredde",
+DlgLnkPopHeight		: "HÃ¸yde",
+DlgLnkPopLeft		: "Venstre posisjon",
+DlgLnkPopTop		: "Topp-posisjon",
+
+DlnLnkMsgNoUrl		: "Vennligst skriv inn lenkens url",
+DlnLnkMsgNoEMail	: "Vennligst skriv inn e-postadressen",
+DlnLnkMsgNoAnchor	: "Vennligst velg et anker",
+DlnLnkMsgInvPopName	: "Popup-vinduets navn mÃ¥ begynne med en bokstav, og kan ikke inneholde mellomrom",
+
+// Color Dialog
+DlgColorTitle		: "Velg farge",
+DlgColorBtnClear	: "TÃ¸m",
+DlgColorHighlight	: "Marker",
+DlgColorSelected	: "Valgt",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Sett inn smil",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Velg spesielt tegn",
+
+// Table Dialog
+DlgTableTitle		: "Egenskaper for tabell",
+DlgTableRows		: "Rader",
+DlgTableColumns		: "Kolonner",
+DlgTableBorder		: "RammestÃ¸rrelse",
+DlgTableAlign		: "Justering",
+DlgTableAlignNotSet	: "<Ikke satt>",
+DlgTableAlignLeft	: "Venstre",
+DlgTableAlignCenter	: "Midtjuster",
+DlgTableAlignRight	: "HÃ¸yre",
+DlgTableWidth		: "Bredde",
+DlgTableWidthPx		: "piksler",
+DlgTableWidthPc		: "prosent",
+DlgTableHeight		: "HÃ¸yde",
+DlgTableCellSpace	: "Cellemarg",
+DlgTableCellPad		: "Cellepolstring",
+DlgTableCaption		: "Tittel",
+DlgTableSummary		: "Sammendrag",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "Celleegenskaper",
+DlgCellWidth		: "Bredde",
+DlgCellWidthPx		: "piksler",
+DlgCellWidthPc		: "prosent",
+DlgCellHeight		: "HÃ¸yde",
+DlgCellWordWrap		: "Tekstbrytning",
+DlgCellWordWrapNotSet	: "<Ikke satt>",
+DlgCellWordWrapYes	: "Ja",
+DlgCellWordWrapNo	: "Nei",
+DlgCellHorAlign		: "Horisontal justering",
+DlgCellHorAlignNotSet	: "<Ikke satt>",
+DlgCellHorAlignLeft	: "Venstre",
+DlgCellHorAlignCenter	: "Midtjuster",
+DlgCellHorAlignRight: "HÃ¸yre",
+DlgCellVerAlign		: "Vertikal justering",
+DlgCellVerAlignNotSet	: "<Ikke satt>",
+DlgCellVerAlignTop	: "Topp",
+DlgCellVerAlignMiddle	: "Midten",
+DlgCellVerAlignBottom	: "Bunn",
+DlgCellVerAlignBaseline	: "Bunnlinje",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "Radspenn",
+DlgCellCollSpan		: "Kolonnespenn",
+DlgCellBackColor	: "Bakgrunnsfarge",
+DlgCellBorderColor	: "Rammefarge",
+DlgCellBtnSelect	: "Velg...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "SÃ¸k og erstatt",
+
+// Find Dialog
+DlgFindTitle		: "SÃ¸k",
+DlgFindFindBtn		: "SÃ¸k",
+DlgFindNotFoundMsg	: "Fant ikke sÃ¸keteksten.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Erstatt",
+DlgReplaceFindLbl		: "SÃ¸k etter:",
+DlgReplaceReplaceLbl	: "Erstatt med:",
+DlgReplaceCaseChk		: "Skill mellom store og smÃ¥ bokstaver",
+DlgReplaceReplaceBtn	: "Erstatt",
+DlgReplaceReplAllBtn	: "Erstatt alle",
+DlgReplaceWordChk		: "Bare hele ord",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "Din nettlesers sikkerhetsinstillinger tillater ikke automatisk klipping av tekst. Vennligst bruk snareveien (Ctrl+X).",
+PasteErrorCopy	: "Din nettlesers sikkerhetsinstillinger tillater ikke automatisk kopiering av tekst. Vennligst bruk snareveien (Ctrl+C).",
+
+PasteAsText		: "Lim inn som ren tekst",
+PasteFromWord	: "Lim inn fra Word",
+
+DlgPasteMsg2	: "Vennligst lim inn i den fÃ¸lgende boksen med tastaturet (<STRONG>Ctrl+V</STRONG>) og trykk <STRONG>OK</STRONG>.",
+DlgPasteSec		: "Din nettlesers sikkerhetsinstillinger gir ikke redigeringsverktÃ¸yet direkte tilgang til utklippstavlen. Du mÃ¥ lime det igjen i dette vinduet.",
+DlgPasteIgnoreFont		: "Fjern skrifttyper",
+DlgPasteRemoveStyles	: "Fjern stildefinisjoner",
+
+// Color Picker
+ColorAutomatic	: "Automatisk",
+ColorMoreColors	: "Flere farger...",
+
+// Document Properties
+DocProps		: "Dokumentegenskaper",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Ankeregenskaper",
+DlgAnchorName		: "Ankernavn",
+DlgAnchorErrorName	: "Vennligst skriv inn ankernavnet",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Ikke i ordboken",
+DlgSpellChangeTo		: "Endre til",
+DlgSpellBtnIgnore		: "Ignorer",
+DlgSpellBtnIgnoreAll	: "Ignorer alle",
+DlgSpellBtnReplace		: "Erstatt",
+DlgSpellBtnReplaceAll	: "Erstatt alle",
+DlgSpellBtnUndo			: "Angre",
+DlgSpellNoSuggestions	: "- Ingen forslag -",
+DlgSpellProgress		: "Stavekontroll pÃ¥gÃ¥r...",
+DlgSpellNoMispell		: "Stavekontroll fullfÃ¸rt: ingen feilstavinger funnet",
+DlgSpellNoChanges		: "Stavekontroll fullfÃ¸rt: ingen ord endret",
+DlgSpellOneChange		: "Stavekontroll fullfÃ¸rt: Ett ord endret",
+DlgSpellManyChanges		: "Stavekontroll fullfÃ¸rt: %1 ord endret",
+
+IeSpellDownload			: "Stavekontroll er ikke installert. Vil du laste den ned nÃ¥?",
+
+// Button Dialog
+DlgButtonText		: "Tekst (verdi)",
+DlgButtonType		: "Type",
+DlgButtonTypeBtn	: "Knapp",
+DlgButtonTypeSbm	: "Send",
+DlgButtonTypeRst	: "Nullstill",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Navn",
+DlgCheckboxValue	: "Verdi",
+DlgCheckboxSelected	: "Valgt",
+
+// Form Dialog
+DlgFormName		: "Navn",
+DlgFormAction	: "Handling",
+DlgFormMethod	: "Metode",
+
+// Select Field Dialog
+DlgSelectName		: "Navn",
+DlgSelectValue		: "Verdi",
+DlgSelectSize		: "StÃ¸rrelse",
+DlgSelectLines		: "Linjer",
+DlgSelectChkMulti	: "Tillat flervalg",
+DlgSelectOpAvail	: "Tilgjenglige alternativer",
+DlgSelectOpText		: "Tekst",
+DlgSelectOpValue	: "Verdi",
+DlgSelectBtnAdd		: "Legg til",
+DlgSelectBtnModify	: "Endre",
+DlgSelectBtnUp		: "Opp",
+DlgSelectBtnDown	: "Ned",
+DlgSelectBtnSetValue : "Sett som valgt",
+DlgSelectBtnDelete	: "Slett",
+
+// Textarea Dialog
+DlgTextareaName	: "Navn",
+DlgTextareaCols	: "Kolonner",
+DlgTextareaRows	: "Rader",
+
+// Text Field Dialog
+DlgTextName			: "Navn",
+DlgTextValue		: "Verdi",
+DlgTextCharWidth	: "Tegnbredde",
+DlgTextMaxChars		: "Maks antall tegn",
+DlgTextType			: "Type",
+DlgTextTypeText		: "Tekst",
+DlgTextTypePass		: "Passord",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Navn",
+DlgHiddenValue	: "Verdi",
+
+// Bulleted List Dialog
+BulletedListProp	: "Egenskaper for uordnet liste",
+NumberedListProp	: "Egenskaper for ordnet liste",
+DlgLstStart			: "Start",
+DlgLstType			: "Type",
+DlgLstTypeCircle	: "Sirkel",
+DlgLstTypeDisc		: "Hel sirkel",
+DlgLstTypeSquare	: "Firkant",
+DlgLstTypeNumbers	: "Numre (1, 2, 3)",
+DlgLstTypeLCase		: "SmÃ¥ bokstaver (a, b, c)",
+DlgLstTypeUCase		: "Store bokstaver (A, B, C)",
+DlgLstTypeSRoman	: "SmÃ¥ romerske tall (i, ii, iii)",
+DlgLstTypeLRoman	: "Store romerske tall (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Generelt",
+DlgDocBackTab		: "Bakgrunn",
+DlgDocColorsTab		: "Farger og marginer",
+DlgDocMetaTab		: "Meta-data",
+
+DlgDocPageTitle		: "Sidetittel",
+DlgDocLangDir		: "SprÃ¥kretning",
+DlgDocLangDirLTR	: "Venstre til hÃ¸yre (LTR)",
+DlgDocLangDirRTL	: "HÃ¸yre til venstre (RTL)",
+DlgDocLangCode		: "SprÃ¥kkode",
+DlgDocCharSet		: "Tegnsett",
+DlgDocCharSetCE		: "Sentraleuropeisk",
+DlgDocCharSetCT		: "Tradisonell kinesisk(Big5)",
+DlgDocCharSetCR		: "Cyrillic",
+DlgDocCharSetGR		: "Gresk",
+DlgDocCharSetJP		: "Japansk",
+DlgDocCharSetKR		: "Koreansk",
+DlgDocCharSetTR		: "Tyrkisk",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "Vesteuropeisk",
+DlgDocCharSetOther	: "Annet tegnsett",
+
+DlgDocDocType		: "Dokumenttype header",
+DlgDocDocTypeOther	: "Annet dokumenttype header",
+DlgDocIncXHTML		: "Inkluder XHTML-deklarasjon",
+DlgDocBgColor		: "Bakgrunnsfarge",
+DlgDocBgImage		: "URL for bakgrunnsbilde",
+DlgDocBgNoScroll	: "LÃ¥s bakgrunnsbilde",
+DlgDocCText			: "Tekst",
+DlgDocCLink			: "Link",
+DlgDocCVisited		: "BesÃ¸kt lenke",
+DlgDocCActive		: "Aktiv lenke",
+DlgDocMargins		: "Sidemargin",
+DlgDocMaTop			: "Topp",
+DlgDocMaLeft		: "Venstre",
+DlgDocMaRight		: "HÃ¸yre",
+DlgDocMaBottom		: "Bunn",
+DlgDocMeIndex		: "Dokument nÃ¸kkelord (kommaseparert)",
+DlgDocMeDescr		: "Dokumentbeskrivelse",
+DlgDocMeAuthor		: "Forfatter",
+DlgDocMeCopy		: "Kopirett",
+DlgDocPreview		: "ForhÃ¥ndsvising",
+
+// Templates Dialog
+Templates			: "Maler",
+DlgTemplatesTitle	: "Innholdsmaler",
+DlgTemplatesSelMsg	: "Velg malen du vil Ã¥pne<br>(innholdet du har skrevet blir tapt!):",
+DlgTemplatesLoading	: "Laster malliste. Vennligst vent...",
+DlgTemplatesNoTpl	: "(Ingen maler definert)",
+DlgTemplatesReplace	: "Erstatt faktisk innold",
+
+// About Dialog
+DlgAboutAboutTab	: "Om",
+DlgAboutBrowserInfoTab	: "Nettleserinfo",
+DlgAboutLicenseTab	: "Lisens",
+DlgAboutVersion		: "versjon",
+DlgAboutInfo		: "For mer informasjon, se",
+
+// Div Dialog
+DlgDivGeneralTab	: "Generelt",
+DlgDivAdvancedTab	: "Avansert",
+DlgDivStyle		: "Stil",
+DlgDivInlineStyle	: "Inline Style",	//MISSING
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/sk.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/sk.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/sk.js	(revision 1481)
@@ -0,0 +1,540 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Slovak language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "SkryÅ¥ panel nÃ¡strojov",
+ToolbarExpand		: "ZobraziÅ¥ panel nÃ¡strojov",
+
+// Toolbar Items and Context Menu
+Save				: "UloÅ¾iÅ¥",
+NewPage				: "NovÃ¡ strÃ¡nka",
+Preview				: "NÃ¡hÄ¾ad",
+Cut					: "VystrihnÃºÅ¥",
+Copy				: "KopÃ­rovaÅ¥",
+Paste				: "VloÅ¾iÅ¥",
+PasteText			: "VloÅ¾iÅ¥ ako ÄistÃ½ text",
+PasteWord			: "VloÅ¾iÅ¥ z Wordu",
+Print				: "TlaÄ",
+SelectAll			: "VybraÅ¥ vÅ¡etko",
+RemoveFormat		: "OdstrÃ¡niÅ¥ formÃ¡tovanie",
+InsertLinkLbl		: "Odkaz",
+InsertLink			: "VloÅ¾iÅ¥/zmeniÅ¥ odkaz",
+RemoveLink			: "OdstrÃ¡niÅ¥ odkaz",
+VisitLink			: "ÃsÅ¥ na odkaz",
+Anchor				: "VloÅ¾iÅ¥/zmeniÅ¥ kotvu",
+AnchorDelete		: "OdstrÃ¡niÅ¥ kotvu",
+InsertImageLbl		: "ObrÃ¡zok",
+InsertImage			: "VloÅ¾iÅ¥/zmeniÅ¥ obrÃ¡zok",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "VloÅ¾iÅ¥/zmeniÅ¥ Flash",
+InsertTableLbl		: "TabuÄ¾ka",
+InsertTable			: "VloÅ¾iÅ¥/zmeniÅ¥ tabuÄ¾ku",
+InsertLineLbl		: "ÄŒiara",
+InsertLine			: "VloÅ¾iÅ¥ vodorovnÃº Äiaru",
+InsertSpecialCharLbl: "Å peciÃ¡lne znaky",
+InsertSpecialChar	: "VloÅ¾iÅ¥ Å¡peciÃ¡lne znaky",
+InsertSmileyLbl		: "SmajlÃ­ky",
+InsertSmiley		: "VloÅ¾iÅ¥ smajlÃ­ka",
+About				: "O aplikÃ¡cii FCKeditor",
+Bold				: "TuÄnÃ©",
+Italic				: "KurzÃ­va",
+Underline			: "PodÄiarknutÃ©",
+StrikeThrough		: "PreÄiarknutÃ©",
+Subscript			: "DolnÃ½ index",
+Superscript			: "HornÃ½ index",
+LeftJustify			: "ZarovnaÅ¥ vÄ¾avo",
+CenterJustify		: "ZarovnaÅ¥ na stred",
+RightJustify		: "ZarovnaÅ¥ vpravo",
+BlockJustify		: "ZarovnaÅ¥ do bloku",
+DecreaseIndent		: "ZmenÅ¡iÅ¥ odsadenie",
+IncreaseIndent		: "ZvÃ¤ÄÅ¡iÅ¥ odsadenie",
+Blockquote			: "CitÃ¡cia",
+CreateDiv			: "VytvoriÅ¥ Div kontajner",
+EditDiv				: "EditovaÅ¥ Div kontajner",
+DeleteDiv			: "OdstrÃ¡niÅ¥ Div kontajner",
+Undo				: "SpÃ¤Å¥",
+Redo				: "Znovu",
+NumberedListLbl		: "ÄŒÃ­slovanie",
+NumberedList		: "VloÅ¾iÅ¥/odstrÃ¡niÅ¥ ÄÃ­slovanie",
+BulletedListLbl		: "OdrÃ¡Å¾ky",
+BulletedList		: "VloÅ¾iÅ¥/odstraniÅ¥ odrÃ¡Å¾ky",
+ShowTableBorders	: "ZobraziÅ¥ okraje tabuliek",
+ShowDetails			: "ZobraziÅ¥ podrobnosti",
+Style				: "Å tÃ½l",
+FontFormat			: "FormÃ¡t",
+Font				: "PÃ­smo",
+FontSize			: "VeÄ¾kosÅ¥",
+TextColor			: "Farba textu",
+BGColor				: "Farba pozadia",
+Source				: "Zdroj",
+Find				: "HÄ¾adaÅ¥",
+Replace				: "NahradiÅ¥",
+SpellCheck			: "Kontrola pravopisu",
+UniversalKeyboard	: "UniverzÃ¡lna klÃ¡vesnica",
+PageBreakLbl		: "OddeÄ¾ovaÄ strÃ¡nky",
+PageBreak			: "VloÅ¾iÅ¥ oddeÄ¾ovaÄ strÃ¡nky",
+
+Form			: "FormulÃ¡r",
+Checkbox		: "ZaÅ¡krtÃ¡vacie polÃ­Äko",
+RadioButton		: "PrepÃ­naÄ",
+TextField		: "TextovÃ© pole",
+Textarea		: "TextovÃ¡ oblasÅ¥",
+HiddenField		: "SkrytÃ© pole",
+Button			: "TlaÄidlo",
+SelectionField	: "RozbaÄ¾ovacÃ­ zoznam",
+ImageButton		: "ObrÃ¡zkovÃ© tlaÄidlo",
+
+FitWindow		: "MaximalizovaÅ¥ veÄ¾kosÅ¥ okna editora",
+ShowBlocks		: "UkÃ¡zaÅ¥ bloky",
+
+// Context Menu
+EditLink			: "ZmeniÅ¥ odkaz",
+CellCM				: "Bunka",
+RowCM				: "Riadok",
+ColumnCM			: "StÄºpec",
+InsertRowAfter		: "VloÅ¾iÅ¥ riadok pred",
+InsertRowBefore		: "VloÅ¾iÅ¥ riadok za",
+DeleteRows			: "VymazaÅ¥ riadok",
+InsertColumnAfter	: "VloÅ¾iÅ¥ stÄºpec pred",
+InsertColumnBefore	: "VloÅ¾iÅ¥ stÄºpec za",
+DeleteColumns		: "ZmazaÅ¥ stÄºpec",
+InsertCellAfter		: "VloÅ¾iÅ¥ bunku za",
+InsertCellBefore	: "VloÅ¾iÅ¥ bunku pred",
+DeleteCells			: "VymazaÅ¥ bunky",
+MergeCells			: "ZlÃºÄiÅ¥ bunky",
+MergeRight			: "ZlÃºÄiÅ¥ doprava",
+MergeDown			: "ZlÃºÄiÅ¥ dole",
+HorizontalSplitCell	: "RozdeliÅ¥ bunky horizontÃ¡lne",
+VerticalSplitCell	: "RozdeliÅ¥ bunky vertikÃ¡lne",
+TableDelete			: "VymazaÅ¥ tabuÄ¾ku",
+CellProperties		: "Vlastnosti bunky",
+TableProperties		: "Vlastnosti tabuÄ¾ky",
+ImageProperties		: "Vlastnosti obrÃ¡zku",
+FlashProperties		: "Vlastnosti Flashu",
+
+AnchorProp			: "Vlastnosti kotvy",
+ButtonProp			: "Vlastnosti tlaÄidla",
+CheckboxProp		: "Vlastnosti zaÅ¡krtÃ¡vacieho polÃ­Äka",
+HiddenFieldProp		: "Vlastnosti skrytÃ©ho poÄ¾a",
+RadioButtonProp		: "Vlastnosti prepÃ­naÄa",
+ImageButtonProp		: "Vlastnosti obrÃ¡zkovÃ©ho tlaÄidla",
+TextFieldProp		: "Vlastnosti textovÃ©ho poÄ¾a",
+SelectionFieldProp	: "Vlastnosti rozbaÄ¾ovacieho zoznamu",
+TextareaProp		: "Vlastnosti textovej oblasti",
+FormProp			: "Vlastnosti formulÃ¡ra",
+
+FontFormats			: "NormÃ¡lny;FormÃ¡tovanÃ½;Adresa;Nadpis 1;Nadpis 2;Nadpis 3;Nadpis 4;Nadpis 5;Nadpis 6;Odsek (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "Prebieha spracovanie XHTML. ÄŒakajte prosÃ­m...",
+Done				: "DokonÄenÃ©.",
+PasteWordConfirm	: "VyzerÃ¡ to tak, Å¾e vkladanÃ½ text je kopÃ­rovanÃ½ z Wordu. Chcete ho pred vloÅ¾enÃ­m vyÄistiÅ¥?",
+NotCompatiblePaste	: "Tento prÃ­kaz je dostupnÃ½ len v prehliadaÄi Internet Explorer verzie 5.5 alebo vyÅ¡Å¡ej. Chcete vloÅ¾iÅ¥ text bez vyÄistenia?",
+UnknownToolbarItem	: "NeznÃ¡ma poloÅ¾ka panela nÃ¡strojov \"%1\"",
+UnknownCommand		: "NeznÃ¡my prÃ­kaz \"%1\"",
+NotImplemented		: "PrÃ­kaz nie je implementovanÃ½",
+UnknownToolbarSet	: "Panel nÃ¡strojov \"%1\" neexistuje",
+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Ã­.",
+BrowseServerBlocked : "PrehliadaÄ zdrojovÃ½ch prvkov nebolo moÅ¾nÃ© otvoriÅ¥. Uistite sa, Å¾e mÃ¡te vypnutÃº sluÅ¾bu blokovania popup okien.",
+DialogBlocked		: "DialÃ³govÃ© okno nebolo moÅ¾nÃ© otvoriÅ¥. Uistite sa, Å¾e mÃ¡te vypnutÃº sluÅ¾bu blokovania popup okien.",
+VisitLinkBlocked	: "Nebolo moÅ¾nÃ© otvoriÅ¥ novÃ© okno. Uistite sa, Å¾e mÃ¡te vypnutÃº sluÅ¾bu blokovania popup okien.",
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "ZruÅ¡iÅ¥",
+DlgBtnClose			: "ZavrieÅ¥",
+DlgBtnBrowseServer	: "PrechÃ¡dzaÅ¥ server",
+DlgAdvancedTag		: "RozÅ¡Ã­renÃ©",
+DlgOpOther			: "<ÄalÅ¡ie>",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "ProsÃ­m vloÅ¾te URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<nenastavenÃ©>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "OrientÃ¡cia jazyka",
+DlgGenLangDirLtr	: "ZÄ¾ava doprava (LTR)",
+DlgGenLangDirRtl	: "Sprava doÄ¾ava (RTL)",
+DlgGenLangCode		: "KÃ³d jazyka",
+DlgGenAccessKey		: "PrÃ­stupovÃ½ kÄ¾ÃºÄ",
+DlgGenName			: "Meno",
+DlgGenTabIndex		: "Poradie prvku",
+DlgGenLongDescr		: "DlhÃ½ popis URL",
+DlgGenClass			: "Trieda Å¡tÃ½lu",
+DlgGenTitle			: "PomocnÃ½ titulok",
+DlgGenContType		: "PomocnÃ½ typ obsahu",
+DlgGenLinkCharset	: "PriradenÃ¡ znakovÃ¡ sada",
+DlgGenStyle			: "Å tÃ½l",
+
+// Image Dialog
+DlgImgTitle			: "Vlastnosti obrÃ¡zku",
+DlgImgInfoTab		: "InformÃ¡cie o obrÃ¡zku",
+DlgImgBtnUpload		: "OdoslaÅ¥ na server",
+DlgImgURL			: "URL",
+DlgImgUpload		: "OdoslaÅ¥",
+DlgImgAlt			: "AlternatÃ­vny text",
+DlgImgWidth			: "Å Ã­rka",
+DlgImgHeight		: "VÃ½Å¡ka",
+DlgImgLockRatio		: "ZÃ¡mok",
+DlgBtnResetSize		: "PÃ´vodnÃ¡ veÄ¾kosÅ¥",
+DlgImgBorder		: "Okraje",
+DlgImgHSpace		: "H-medzera",
+DlgImgVSpace		: "V-medzera",
+DlgImgAlign			: "Zarovnanie",
+DlgImgAlignLeft		: "VÄ¾avo",
+DlgImgAlignAbsBottom: "Ãšplne dole",
+DlgImgAlignAbsMiddle: "Do stredu",
+DlgImgAlignBaseline	: "Na zÃ¡kladÅˆu",
+DlgImgAlignBottom	: "Dole",
+DlgImgAlignMiddle	: "Na stred",
+DlgImgAlignRight	: "Vpravo",
+DlgImgAlignTextTop	: "Na hornÃ½ okraj textu",
+DlgImgAlignTop		: "Nahor",
+DlgImgPreview		: "NÃ¡hÄ¾ad",
+DlgImgAlertUrl		: "Zadajte prosÃ­m URL obrÃ¡zku",
+DlgImgLinkTab		: "Odkaz",
+
+// Flash Dialog
+DlgFlashTitle		: "Vlastnosti Flashu",
+DlgFlashChkPlay		: "AutomatickÃ© prehrÃ¡vanie",
+DlgFlashChkLoop		: "Opakovanie",
+DlgFlashChkMenu		: "PovoliÅ¥ Flash Menu",
+DlgFlashScale		: "Mierka",
+DlgFlashScaleAll	: "ZobraziÅ¥ mierku",
+DlgFlashScaleNoBorder	: "Bez okrajov",
+DlgFlashScaleFit	: "RoztiahnuÅ¥ na celÃ©",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Odkaz",
+DlgLnkInfoTab		: "InformÃ¡cie o odkaze",
+DlgLnkTargetTab		: "CieÄ¾",
+
+DlgLnkType			: "Typ odkazu",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Kotva v tejto strÃ¡nke",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protokol",
+DlgLnkProtoOther	: "<inÃ½>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "VybraÅ¥ kotvu",
+DlgLnkAnchorByName	: "PodÄ¾a mena kotvy",
+DlgLnkAnchorById	: "PodÄ¾a Id objektu",
+DlgLnkNoAnchors		: "(V strÃ¡nke nie je definovanÃ¡ Å¾iadna kotva)",
+DlgLnkEMail			: "E-MailovÃ¡ adresa",
+DlgLnkEMailSubject	: "Predmet sprÃ¡vy",
+DlgLnkEMailBody		: "Telo sprÃ¡vy",
+DlgLnkUpload		: "OdoslaÅ¥",
+DlgLnkBtnUpload		: "OdoslaÅ¥ na server",
+
+DlgLnkTarget		: "CieÄ¾",
+DlgLnkTargetFrame	: "<rÃ¡mec>",
+DlgLnkTargetPopup	: "<vyskakovacie okno>",
+DlgLnkTargetBlank	: "NovÃ© okno (_blank)",
+DlgLnkTargetParent	: "RodiÄovskÃ© okno (_parent)",
+DlgLnkTargetSelf	: "RovnakÃ© okno (_self)",
+DlgLnkTargetTop		: "HlavnÃ© okno (_top)",
+DlgLnkTargetFrameName	: "Meno rÃ¡mu cieÄ¾a",
+DlgLnkPopWinName	: "NÃ¡zov vyskakovacieho okna",
+DlgLnkPopWinFeat	: "Vlastnosti vyskakovacieho okna",
+DlgLnkPopResize		: "MeniteÄ¾nÃ¡ veÄ¾kosÅ¥",
+DlgLnkPopLocation	: "Panel umiestnenia",
+DlgLnkPopMenu		: "Panel ponuky",
+DlgLnkPopScroll		: "PosuvnÃ­ky",
+DlgLnkPopStatus		: "StavovÃ½ riadok",
+DlgLnkPopToolbar	: "Panel nÃ¡strojov",
+DlgLnkPopFullScrn	: "CelÃ¡ obrazovka (IE)",
+DlgLnkPopDependent	: "ZÃ¡vislosÅ¥ (Netscape)",
+DlgLnkPopWidth		: "Å Ã­rka",
+DlgLnkPopHeight		: "VÃ½Å¡ka",
+DlgLnkPopLeft		: "Ä½avÃ½ okraj",
+DlgLnkPopTop		: "HornÃ½ okraj",
+
+DlnLnkMsgNoUrl		: "Zadajte prosÃ­m URL odkazu",
+DlnLnkMsgNoEMail	: "Zadajte prosÃ­m e-mailovÃº adresu",
+DlnLnkMsgNoAnchor	: "Vyberte prosÃ­m kotvu",
+DlnLnkMsgInvPopName	: "NÃ¡zov vyskakovacieho okna sa musÃ¡ zaÄÃ­naÅ¥ pÃ­smenom a nemÃ´Å¾e obsahovaÅ¥ medzery",
+
+// Color Dialog
+DlgColorTitle		: "VÃ½ber farby",
+DlgColorBtnClear	: "VymazaÅ¥",
+DlgColorHighlight	: "ZvÃ½raznenÃ¡",
+DlgColorSelected	: "VybranÃ¡",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Vkladanie smajlÃ­kov",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "VÃ½ber Å¡peciÃ¡lneho znaku",
+
+// Table Dialog
+DlgTableTitle		: "Vlastnosti tabuÄ¾ky",
+DlgTableRows		: "Riadky",
+DlgTableColumns		: "StÄºpce",
+DlgTableBorder		: "OhraniÄenie",
+DlgTableAlign		: "Zarovnanie",
+DlgTableAlignNotSet	: "<nenastavenÃ©>",
+DlgTableAlignLeft	: "VÄ¾avo",
+DlgTableAlignCenter	: "Na stred",
+DlgTableAlignRight	: "Vpravo",
+DlgTableWidth		: "Å Ã­rka",
+DlgTableWidthPx		: "pixelov",
+DlgTableWidthPc		: "percent",
+DlgTableHeight		: "VÃ½Å¡ka",
+DlgTableCellSpace	: "VzdialenosÅ¥ buniek",
+DlgTableCellPad		: "Odsadenie obsahu",
+DlgTableCaption		: "Popis",
+DlgTableSummary		: "PrehÄ¾ad",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "Vlastnosti bunky",
+DlgCellWidth		: "Å Ã­rka",
+DlgCellWidthPx		: "bodov",
+DlgCellWidthPc		: "percent",
+DlgCellHeight		: "VÃ½Å¡ka",
+DlgCellWordWrap		: "Zalamovannie",
+DlgCellWordWrapNotSet	: "<nenastavenÃ©>",
+DlgCellWordWrapYes	: "Ãno",
+DlgCellWordWrapNo	: "Nie",
+DlgCellHorAlign		: "VodorovnÃ© zarovnanie",
+DlgCellHorAlignNotSet	: "<nenastavenÃ©>",
+DlgCellHorAlignLeft	: "VÄ¾avo",
+DlgCellHorAlignCenter	: "Na stred",
+DlgCellHorAlignRight: "Vpravo",
+DlgCellVerAlign		: "ZvislÃ© zarovnanie",
+DlgCellVerAlignNotSet	: "<nenastavenÃ©>",
+DlgCellVerAlignTop	: "Nahor",
+DlgCellVerAlignMiddle	: "Doprostred",
+DlgCellVerAlignBottom	: "Dole",
+DlgCellVerAlignBaseline	: "Na zÃ¡kladÅˆu",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "ZlÃºÄenÃ© riadky",
+DlgCellCollSpan		: "ZlÃºÄenÃ© stÄºpce",
+DlgCellBackColor	: "Farba pozadia",
+DlgCellBorderColor	: "Farba ohraniÄenia",
+DlgCellBtnSelect	: "VÃ½ber...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "NÃ¡jsÅ¥ a nahradiÅ¥",
+
+// Find Dialog
+DlgFindTitle		: "HÄ¾adaÅ¥",
+DlgFindFindBtn		: "HÄ¾adaÅ¥",
+DlgFindNotFoundMsg	: "HÄ¾adanÃ½ text nebol nÃ¡jdenÃ½.",
+
+// Replace Dialog
+DlgReplaceTitle			: "NahradiÅ¥",
+DlgReplaceFindLbl		: "ÄŒo hÄ¾adaÅ¥:",
+DlgReplaceReplaceLbl	: "ÄŒÃ­m nahradiÅ¥:",
+DlgReplaceCaseChk		: "RozliÅ¡ovaÅ¥ malÃ©/veÄ¾kÃ© pÃ­smenÃ¡",
+DlgReplaceReplaceBtn	: "NahradiÅ¥",
+DlgReplaceReplAllBtn	: "NahradiÅ¥ vÅ¡etko",
+DlgReplaceWordChk		: "Len celÃ© slovÃ¡",
+
+// Paste Operations / Dialog
+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).",
+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).",
+
+PasteAsText		: "VloÅ¾iÅ¥ ako ÄistÃ½ text",
+PasteFromWord	: "VloÅ¾iÅ¥ text z Wordu",
+
+DlgPasteMsg2	: "ProsÃ­m vloÅ¾te nasledovnÃ½ rÃ¡mÄek pouÅ¾itÃ­m klÃ¡vesnice (<STRONG>Ctrl+V</STRONG>) a stlaÄte <STRONG>OK</STRONG>.",
+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.",
+DlgPasteIgnoreFont		: "IgnorovaÅ¥ nastavenia typu pÃ­sma",
+DlgPasteRemoveStyles	: "OdstrÃ¡niÅ¥ formÃ¡tovanie",
+
+// Color Picker
+ColorAutomatic	: "Automaticky",
+ColorMoreColors	: "Viac farieb...",
+
+// Document Properties
+DocProps		: "Vlastnosti dokumentu",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Vlastnosti kotvy",
+DlgAnchorName		: "Meno kotvy",
+DlgAnchorErrorName	: "Zadajte prosÃ­m meno kotvy",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Nie je v slovnÃ­ku",
+DlgSpellChangeTo		: "ZmeniÅ¥ na",
+DlgSpellBtnIgnore		: "IgnorovaÅ¥",
+DlgSpellBtnIgnoreAll	: "IgnorovaÅ¥ vÅ¡etko",
+DlgSpellBtnReplace		: "PrepÃ­sat",
+DlgSpellBtnReplaceAll	: "PrepÃ­sat vÅ¡etko",
+DlgSpellBtnUndo			: "SpÃ¤Å¥",
+DlgSpellNoSuggestions	: "- Å½iadny nÃ¡vrh -",
+DlgSpellProgress		: "Prebieha kontrola pravopisu...",
+DlgSpellNoMispell		: "Kontrola pravopisu dokonÄenÃ¡: bez chÃ½b",
+DlgSpellNoChanges		: "Kontrola pravopisu dokonÄenÃ¡: Å¾iadne slovÃ¡ nezmenenÃ©",
+DlgSpellOneChange		: "Kontrola pravopisu dokonÄenÃ¡: zmenenÃ© jedno slovo",
+DlgSpellManyChanges		: "Kontrola pravopisu dokonÄenÃ¡: zmenenÃ½ch %1 slov",
+
+IeSpellDownload			: "Kontrola pravopisu nie je naiÅ¡talovanÃ¡. Chcete ju hneÄ stiahnuÅ¥?",
+
+// Button Dialog
+DlgButtonText		: "Text",
+DlgButtonType		: "Typ",
+DlgButtonTypeBtn	: "TlaÄidlo",
+DlgButtonTypeSbm	: "OdoslaÅ¥",
+DlgButtonTypeRst	: "VymazaÅ¥",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "NÃ¡zov",
+DlgCheckboxValue	: "Hodnota",
+DlgCheckboxSelected	: "VybranÃ©",
+
+// Form Dialog
+DlgFormName		: "NÃ¡zov",
+DlgFormAction	: "Akcie",
+DlgFormMethod	: "MetÃ³da",
+
+// Select Field Dialog
+DlgSelectName		: "NÃ¡zov",
+DlgSelectValue		: "Hodnota",
+DlgSelectSize		: "VeÄ¾kosÅ¥",
+DlgSelectLines		: "riadkov",
+DlgSelectChkMulti	: "PovoliÅ¥ viacnÃ¡sobnÃ½ vÃ½ber",
+DlgSelectOpAvail	: "DostupnÃ© moÅ¾nosti",
+DlgSelectOpText		: "Text",
+DlgSelectOpValue	: "Hodnota",
+DlgSelectBtnAdd		: "PridaÅ¥",
+DlgSelectBtnModify	: "ZmeniÅ¥",
+DlgSelectBtnUp		: "Hore",
+DlgSelectBtnDown	: "Dole",
+DlgSelectBtnSetValue : "NastaviÅ¥ ako vybranÃº hodnotu",
+DlgSelectBtnDelete	: "ZmazaÅ¥",
+
+// Textarea Dialog
+DlgTextareaName	: "NÃ¡zov",
+DlgTextareaCols	: "StÄºpce",
+DlgTextareaRows	: "Riadky",
+
+// Text Field Dialog
+DlgTextName			: "NÃ¡zov",
+DlgTextValue		: "Hodnota",
+DlgTextCharWidth	: "Å Ã­rka pola (znakov)",
+DlgTextMaxChars		: "MaximÃ¡lny poÄet znakov",
+DlgTextType			: "Typ",
+DlgTextTypeText		: "Text",
+DlgTextTypePass		: "Heslo",
+
+// Hidden Field Dialog
+DlgHiddenName	: "NÃ¡zov",
+DlgHiddenValue	: "Hodnota",
+
+// Bulleted List Dialog
+BulletedListProp	: "Vlastnosti odrÃ¡Å¾ok",
+NumberedListProp	: "Vlastnosti ÄÃ­slovania",
+DlgLstStart			: "Å tart",
+DlgLstType			: "Typ",
+DlgLstTypeCircle	: "KrÃºÅ¾ok",
+DlgLstTypeDisc		: "Disk",
+DlgLstTypeSquare	: "Å tvorec",
+DlgLstTypeNumbers	: "ÄŒÃ­slovanie (1, 2, 3)",
+DlgLstTypeLCase		: "MalÃ© pÃ­smenÃ¡ (a, b, c)",
+DlgLstTypeUCase		: "VeÄ¾kÃ© pÃ­smenÃ¡ (A, B, C)",
+DlgLstTypeSRoman	: "MalÃ© rÃ­mske ÄÃ­slice (i, ii, iii)",
+DlgLstTypeLRoman	: "VeÄ¾kÃ© rÃ­mske ÄÃ­slice (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "VÅ¡eobecnÃ©",
+DlgDocBackTab		: "Pozadie",
+DlgDocColorsTab		: "Farby a okraje",
+DlgDocMetaTab		: "Meta Data",
+
+DlgDocPageTitle		: "Titulok",
+DlgDocLangDir		: "OrientÃ¡cie jazyka",
+DlgDocLangDirLTR	: "ZÄ¾ava doprava (LTR)",
+DlgDocLangDirRTL	: "Sprava doÄ¾ava (RTL)",
+DlgDocLangCode		: "KÃ³d jazyka",
+DlgDocCharSet		: "KÃ³dovÃ¡ strÃ¡nka",
+DlgDocCharSetCE		: "StredoeurÃ³pske",
+DlgDocCharSetCT		: "ÄŒÃ­nÅ¡tina tradiÄnÃ¡ (Big5)",
+DlgDocCharSetCR		: "Cyrillika",
+DlgDocCharSetGR		: "GrÃ©Ätina",
+DlgDocCharSetJP		: "JaponÄina",
+DlgDocCharSetKR		: "KorejÄina",
+DlgDocCharSetTR		: "TureÄtina",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "ZÃ¡padnÃ¡ eurÃ³pa",
+DlgDocCharSetOther	: "InÃ¡ kÃ³dovÃ¡ strÃ¡nka",
+
+DlgDocDocType		: "Typ zÃ¡hlavia dokumentu",
+DlgDocDocTypeOther	: "InÃ½ typ zÃ¡hlavia dokumentu",
+DlgDocIncXHTML		: "Obsahuje deklarÃ¡cie XHTML",
+DlgDocBgColor		: "Farba pozadia",
+DlgDocBgImage		: "URL adresa obrÃ¡zku na pozadÃ­",
+DlgDocBgNoScroll	: "FixnÃ© pozadie",
+DlgDocCText			: "Text",
+DlgDocCLink			: "Odkaz",
+DlgDocCVisited		: "NavÅ¡tÃ­venÃ½ odkaz",
+DlgDocCActive		: "AktÃ­vny odkaz",
+DlgDocMargins		: "Okraje strÃ¡nky",
+DlgDocMaTop			: "HornÃ½",
+DlgDocMaLeft		: "Ä½avÃ½",
+DlgDocMaRight		: "PravÃ½",
+DlgDocMaBottom		: "DolnÃ½",
+DlgDocMeIndex		: "KÄ¾ÃºÄovÃ© slovÃ¡ pre indexovanie (oddelenÃ© Äiarkou)",
+DlgDocMeDescr		: "Popis strÃ¡nky",
+DlgDocMeAuthor		: "Autor",
+DlgDocMeCopy		: "AutorskÃ© prÃ¡va",
+DlgDocPreview		: "NÃ¡hÄ¾ad",
+
+// Templates Dialog
+Templates			: "Å ablÃ³ny",
+DlgTemplatesTitle	: "Å ablÃ³ny obsahu",
+DlgTemplatesSelMsg	: "ProsÃ­m vyberte Å¡ablÃ³ny na otvorenie v editore<br>(sÃºÅ¡asnÃ½ obsah bude stratenÃ½):",
+DlgTemplatesLoading	: "NahrÃ¡vam zoznam Å¡ablÃ³n. ÄŒakajte prosÃ­m...",
+DlgTemplatesNoTpl	: "(Å¾iadne Å¡ablÃ³ny nenÃ¡jdenÃ©)",
+DlgTemplatesReplace	: "NahradiÅ¥ aktuÃ¡lny obsah",
+
+// About Dialog
+DlgAboutAboutTab	: "O aplikÃ¡ci",
+DlgAboutBrowserInfoTab	: "InformÃ¡cie o prehliadaÄi",
+DlgAboutLicenseTab	: "Licencia",
+DlgAboutVersion		: "verzia",
+DlgAboutInfo		: "Viac informÃ¡ciÃ­ zÃ­skate na",
+DlgAboutModule		: "Developed for Website Baker<br />modul version 2.9.4",
+
+// Div Dialog
+DlgDivGeneralTab	: "HlavnÃ©",
+DlgDivAdvancedTab	: "RozÅ¡Ã­renÃ©",
+DlgDivStyle		: "Å tÃ½l",
+DlgDivInlineStyle	: "Inline Å¡tÃ½l",
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/vi.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/vi.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/vi.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Vietnamese language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Thu gá»n Thanh cÃ´ng cá»¥",
+ToolbarExpand		: "Má»Ÿ rá»™ng Thanh cÃ´ng cá»¥",
+
+// Toolbar Items and Context Menu
+Save				: "LÆ°u",
+NewPage				: "Trang má»›i",
+Preview				: "Xem trÆ°á»›c",
+Cut					: "Cáº¯t",
+Copy				: "Sao chÃ©p",
+Paste				: "DÃ¡n",
+PasteText			: "DÃ¡n theo dáº¡ng vÄƒn báº£n thuáº§n",
+PasteWord			: "DÃ¡n vá»›i Ä‘á»‹nh dáº¡ng Word",
+Print				: "In",
+SelectAll			: "Chá»n Táº¥t cáº£",
+RemoveFormat		: "XoÃ¡ Äá»‹nh dáº¡ng",
+InsertLinkLbl		: "LiÃªn káº¿t",
+InsertLink			: "ChÃ¨n/Sá»­a LiÃªn káº¿t",
+RemoveLink			: "XoÃ¡ LiÃªn káº¿t",
+VisitLink			: "Má»Ÿ LiÃªn Káº¿t",
+Anchor				: "ChÃ¨n/Sá»­a Neo",
+AnchorDelete		: "Gá»¡ bá» Neo",
+InsertImageLbl		: "HÃ¬nh áº£nh",
+InsertImage			: "ChÃ¨n/Sá»­a HÃ¬nh áº£nh",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "ChÃ¨n/Sá»­a Flash",
+InsertTableLbl		: "Báº£ng",
+InsertTable			: "ChÃ¨n/Sá»­a Báº£ng",
+InsertLineLbl		: "ÄÆ°á»ng phÃ¢n cÃ¡ch ngang",
+InsertLine			: "ChÃ¨n ÄÆ°á»ng phÃ¢n cÃ¡ch ngang",
+InsertSpecialCharLbl: "KÃ½ tá»± Ä‘áº·c biá»‡t",
+InsertSpecialChar	: "ChÃ¨n KÃ½ tá»± Ä‘áº·c biá»‡t",
+InsertSmileyLbl		: "HÃ¬nh biá»ƒu lá»™ cáº£m xÃºc (máº·t cÆ°á»i)",
+InsertSmiley		: "ChÃ¨n HÃ¬nh biá»ƒu lá»™ cáº£m xÃºc (máº·t cÆ°á»i)",
+About				: "Giá»›i thiá»‡u vá» FCKeditor",
+Bold				: "Äáº­m",
+Italic				: "NghiÃªng",
+Underline			: "Gáº¡ch chÃ¢n",
+StrikeThrough		: "Gáº¡ch xuyÃªn ngang",
+Subscript			: "Chá»‰ sá»‘ dÆ°á»›i",
+Superscript			: "Chá»‰ sá»‘ trÃªn",
+LeftJustify			: "Canh trÃ¡i",
+CenterJustify		: "Canh giá»¯a",
+RightJustify		: "Canh pháº£i",
+BlockJustify		: "Canh Ä‘á»u",
+DecreaseIndent		: "Dá»‹ch ra ngoÃ i",
+IncreaseIndent		: "Dá»‹ch vÃ o trong",
+Blockquote			: "Khá»‘i TrÃ­ch dáº«n",
+CreateDiv			: "Táº¡o Div Container",
+EditDiv				: "Chá»‰nh sá»­a Div Container",
+DeleteDiv			: "Gá»¡ bá» Div Container",
+Undo				: "KhÃ´i phá»¥c thao tÃ¡c",
+Redo				: "LÃ m láº¡i thao tÃ¡c",
+NumberedListLbl		: "Danh sÃ¡ch cÃ³ thá»© tá»±",
+NumberedList		: "ChÃ¨n/XoÃ¡ Danh sÃ¡ch cÃ³ thá»© tá»±",
+BulletedListLbl		: "Danh sÃ¡ch khÃ´ng thá»© tá»±",
+BulletedList		: "ChÃ¨n/XoÃ¡ Danh sÃ¡ch khÃ´ng thá»© tá»±",
+ShowTableBorders	: "Hiá»ƒn thá»‹ ÄÆ°á»ng viá»n báº£ng",
+ShowDetails			: "Hiá»ƒn thá»‹ Chi tiáº¿t",
+Style				: "Máº«u",
+FontFormat			: "Äá»‹nh dáº¡ng",
+Font				: "PhÃ´ng",
+FontSize			: "Cá»¡ chá»¯",
+TextColor			: "MÃ u chá»¯",
+BGColor				: "MÃ u ná»n",
+Source				: "MÃ£ HTML",
+Find				: "TÃ¬m kiáº¿m",
+Replace				: "Thay tháº¿",
+SpellCheck			: "Kiá»ƒm tra ChÃ­nh táº£",
+UniversalKeyboard	: "BÃ n phÃ­m Quá»‘c táº¿",
+PageBreakLbl		: "Ngáº¯t trang",
+PageBreak			: "ChÃ¨n Ngáº¯t trang",
+
+Form			: "Biá»ƒu máº«u",
+Checkbox		: "NÃºt kiá»ƒm",
+RadioButton		: "NÃºt chá»n",
+TextField		: "TrÆ°á»ng vÄƒn báº£n",
+Textarea		: "VÃ¹ng vÄƒn báº£n",
+HiddenField		: "TrÆ°á»ng áº©n",
+Button			: "NÃºt",
+SelectionField	: "Ã” chá»n",
+ImageButton		: "NÃºt hÃ¬nh áº£nh",
+
+FitWindow		: "Má»Ÿ rá»™ng tá»‘i Ä‘a kÃ­ch thÆ°á»›c trÃ¬nh biÃªn táº­p",
+ShowBlocks		: "Hiá»ƒn thá»‹ cÃ¡c Khá»‘i",
+
+// Context Menu
+EditLink			: "Sá»­a LiÃªn káº¿t",
+CellCM				: "Ã”",
+RowCM				: "HÃ ng",
+ColumnCM			: "Cá»™t",
+InsertRowAfter		: "ChÃ¨n HÃ ng PhÃ­a sau",
+InsertRowBefore		: "ChÃ¨n HÃ ng PhÃ­a trÆ°á»›c",
+DeleteRows			: "XoÃ¡ HÃ ng",
+InsertColumnAfter	: "ChÃ¨n Cá»™t PhÃ­a sau",
+InsertColumnBefore	: "ChÃ¨n Cá»™t PhÃ­a trÆ°á»›c",
+DeleteColumns		: "XoÃ¡ Cá»™t",
+InsertCellAfter		: "ChÃ¨n Ã” PhÃ­a sau",
+InsertCellBefore	: "ChÃ¨n Ã” PhÃ­a trÆ°á»›c",
+DeleteCells			: "XoÃ¡ Ã”",
+MergeCells			: "Káº¿t há»£p Ã”",
+MergeRight			: "Káº¿t há»£p Sang pháº£i",
+MergeDown			: "Káº¿t há»£p Xuá»‘ng dÆ°á»›i",
+HorizontalSplitCell	: "TÃ¡ch ngang Ã”",
+VerticalSplitCell	: "TÃ¡ch dá»c Ã”",
+TableDelete			: "XÃ³a Báº£ng",
+CellProperties		: "Thuá»™c tÃ­nh Ã”",
+TableProperties		: "Thuá»™c tÃ­nh Báº£ng",
+ImageProperties		: "Thuá»™c tÃ­nh HÃ¬nh áº£nh",
+FlashProperties		: "Thuá»™c tÃ­nh Flash",
+
+AnchorProp			: "Thuá»™c tÃ­nh Neo",
+ButtonProp			: "Thuá»™c tÃ­nh NÃºt",
+CheckboxProp		: "Thuá»™c tÃ­nh NÃºt kiá»ƒm",
+HiddenFieldProp		: "Thuá»™c tÃ­nh TrÆ°á»ng áº©n",
+RadioButtonProp		: "Thuá»™c tÃ­nh NÃºt chá»n",
+ImageButtonProp		: "Thuá»™c tÃ­nh NÃºt hÃ¬nh áº£nh",
+TextFieldProp		: "Thuá»™c tÃ­nh TrÆ°á»ng vÄƒn báº£n",
+SelectionFieldProp	: "Thuá»™c tÃ­nh Ã” chá»n",
+TextareaProp		: "Thuá»™c tÃ­nh VÃ¹ng vÄƒn báº£n",
+FormProp			: "Thuá»™c tÃ­nh Biá»ƒu máº«u",
+
+FontFormats			: "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "Äang xá»­ lÃ½ XHTML. Vui lÃ²ng Ä‘á»£i trong giÃ¢y lÃ¡t...",
+Done				: "ÄÃ£ hoÃ n thÃ nh",
+PasteWordConfirm	: "VÄƒn báº£n báº¡n muá»‘n dÃ¡n cÃ³ kÃ¨m Ä‘á»‹nh dáº¡ng cá»§a Word. Báº¡n cÃ³ muá»‘n loáº¡i bá» Ä‘á»‹nh dáº¡ng Word trÆ°á»›c khi dÃ¡n?",
+NotCompatiblePaste	: "Lá»‡nh nÃ y chá»‰ Ä‘Æ°á»£c há»— trá»£ tá»« trÃ¬nh duyá»‡t Internet Explorer phiÃªn báº£n 5.5 hoáº·c má»›i hÆ¡n. Báº¡n cÃ³ muá»‘n dÃ¡n nguyÃªn máº«u?",
+UnknownToolbarItem	: "KhÃ´ng rÃµ má»¥c trÃªn thanh cÃ´ng cá»¥ \"%1\"",
+UnknownCommand		: "KhÃ´ng rÃµ lá»‡nh \"%1\"",
+NotImplemented		: "Lá»‡nh khÃ´ng Ä‘Æ°á»£c thá»±c hiá»‡n",
+UnknownToolbarSet	: "Thanh cÃ´ng cá»¥ \"%1\" khÃ´ng tá»“n táº¡i",
+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.",
+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.",
+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.",
+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.",
+
+// Dialogs
+DlgBtnOK			: "Äá»“ng Ã½",
+DlgBtnCancel		: "Bá» qua",
+DlgBtnClose			: "ÄÃ³ng",
+DlgBtnBrowseServer	: "Duyá»‡t trÃªn mÃ¡y chá»§",
+DlgAdvancedTag		: "Má»Ÿ rá»™ng",
+DlgOpOther			: "<KhÃ¡c>",
+DlgInfoTab			: "ThÃ´ng tin",
+DlgAlertUrl			: "HÃ£y nháº­p vÃ o má»™t URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<khÃ´ng thiáº¿t láº­p>",
+DlgGenId			: "Äá»‹nh danh",
+DlgGenLangDir		: "ÄÆ°á»ng dáº«n NgÃ´n ngá»¯",
+DlgGenLangDirLtr	: "TrÃ¡i sang Pháº£i (LTR)",
+DlgGenLangDirRtl	: "Pháº£i sang TrÃ¡i (RTL)",
+DlgGenLangCode		: "MÃ£ NgÃ´n ngá»¯",
+DlgGenAccessKey		: "PhÃ­m Há»— trá»£ truy cáº­p",
+DlgGenName			: "TÃªn",
+DlgGenTabIndex		: "Chá»‰ sá»‘ cá»§a Tab",
+DlgGenLongDescr		: "MÃ´ táº£ URL",
+DlgGenClass			: "Lá»›p Stylesheet",
+DlgGenTitle			: "Advisory Title",
+DlgGenContType		: "Advisory Content Type",
+DlgGenLinkCharset	: "Báº£ng mÃ£ cá»§a tÃ i nguyÃªn Ä‘Æ°á»£c liÃªn káº¿t Ä‘áº¿n",
+DlgGenStyle			: "Máº«u",
+
+// Image Dialog
+DlgImgTitle			: "Thuá»™c tÃ­nh HÃ¬nh áº£nh",
+DlgImgInfoTab		: "ThÃ´ng tin HÃ¬nh áº£nh",
+DlgImgBtnUpload		: "Táº£i lÃªn MÃ¡y chá»§",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Táº£i lÃªn",
+DlgImgAlt			: "ChÃº thÃ­ch HÃ¬nh áº£nh",
+DlgImgWidth			: "Rá»™ng",
+DlgImgHeight		: "Cao",
+DlgImgLockRatio		: "Giá»¯ nguyÃªn tá»· lá»‡",
+DlgBtnResetSize		: "KÃ­ch thÆ°á»›c gá»‘c",
+DlgImgBorder		: "ÄÆ°á»ng viá»n",
+DlgImgHSpace		: "HSpace",
+DlgImgVSpace		: "VSpace",
+DlgImgAlign			: "Vá»‹ trÃ­",
+DlgImgAlignLeft		: "TrÃ¡i",
+DlgImgAlignAbsBottom: "DÆ°á»›i tuyá»‡t Ä‘á»‘i",
+DlgImgAlignAbsMiddle: "Giá»¯a tuyá»‡t Ä‘á»‘i",
+DlgImgAlignBaseline	: "ÄÆ°á»ng cÆ¡ sá»Ÿ",
+DlgImgAlignBottom	: "DÆ°á»›i",
+DlgImgAlignMiddle	: "Giá»¯a",
+DlgImgAlignRight	: "Pháº£i",
+DlgImgAlignTextTop	: "PhÃ­a trÃªn chá»¯",
+DlgImgAlignTop		: "TrÃªn",
+DlgImgPreview		: "Xem trÆ°á»›c",
+DlgImgAlertUrl		: "HÃ£y Ä‘Æ°a vÃ o URL cá»§a hÃ¬nh áº£nh",
+DlgImgLinkTab		: "LiÃªn káº¿t",
+
+// Flash Dialog
+DlgFlashTitle		: "Thuá»™c tÃ­nh Flash",
+DlgFlashChkPlay		: "Tá»± Ä‘á»™ng cháº¡y",
+DlgFlashChkLoop		: "Láº·p",
+DlgFlashChkMenu		: "Cho phÃ©p báº­t Menu cá»§a Flash",
+DlgFlashScale		: "Tá»· lá»‡",
+DlgFlashScaleAll	: "Hiá»ƒn thá»‹ táº¥t cáº£",
+DlgFlashScaleNoBorder	: "KhÃ´ng Ä‘Æ°á»ng viá»n",
+DlgFlashScaleFit	: "Vá»«a váº·n",
+
+// Link Dialog
+DlgLnkWindowTitle	: "LiÃªn káº¿t",
+DlgLnkInfoTab		: "ThÃ´ng tin LiÃªn káº¿t",
+DlgLnkTargetTab		: "ÄÃ­ch",
+
+DlgLnkType			: "Kiá»ƒu LiÃªn káº¿t",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Neo trong trang nÃ y",
+DlgLnkTypeEMail		: "ThÆ° Ä‘iá»‡n tá»­",
+DlgLnkProto			: "Giao thá»©c",
+DlgLnkProtoOther	: "<khÃ¡c>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Chá»n má»™t Neo",
+DlgLnkAnchorByName	: "Theo TÃªn Neo",
+DlgLnkAnchorById	: "Theo Äá»‹nh danh Element",
+DlgLnkNoAnchors		: "(KhÃ´ng cÃ³ Neo nÃ o trong tÃ i liá»‡u)",
+DlgLnkEMail			: "ThÆ° Ä‘iá»‡n tá»­",
+DlgLnkEMailSubject	: "TiÃªu Ä‘á» ThÃ´ng Ä‘iá»‡p",
+DlgLnkEMailBody		: "Ná»™i dung ThÃ´ng Ä‘iá»‡p",
+DlgLnkUpload		: "Táº£i lÃªn",
+DlgLnkBtnUpload		: "Táº£i lÃªn MÃ¡y chá»§",
+
+DlgLnkTarget		: "ÄÃ­ch",
+DlgLnkTargetFrame	: "<khung>",
+DlgLnkTargetPopup	: "<cá»­a sá»• popup>",
+DlgLnkTargetBlank	: "Cá»­a sá»• má»›i (_blank)",
+DlgLnkTargetParent	: "Cá»­a sá»• cha (_parent)",
+DlgLnkTargetSelf	: "CÃ¹ng cá»­a sá»• (_self)",
+DlgLnkTargetTop		: "Cá»­a sá»• trÃªn cÃ¹ng(_top)",
+DlgLnkTargetFrameName	: "TÃªn Khung Ä‘Ã­ch",
+DlgLnkPopWinName	: "TÃªn Cá»­a sá»• Popup",
+DlgLnkPopWinFeat	: "Äáº·c Ä‘iá»ƒm cá»§a Cá»­a sá»• Popup",
+DlgLnkPopResize		: "KÃ­ch thÆ°á»›c thay Ä‘á»•i",
+DlgLnkPopLocation	: "Thanh vá»‹ trÃ­",
+DlgLnkPopMenu		: "Thanh Menu",
+DlgLnkPopScroll		: "Thanh cuá»™n",
+DlgLnkPopStatus		: "Thanh tráº¡ng thÃ¡i",
+DlgLnkPopToolbar	: "Thanh cÃ´ng cá»¥",
+DlgLnkPopFullScrn	: "ToÃ n mÃ n hÃ¬nh (IE)",
+DlgLnkPopDependent	: "Phá»¥ thuá»™c (Netscape)",
+DlgLnkPopWidth		: "Rá»™ng",
+DlgLnkPopHeight		: "Cao",
+DlgLnkPopLeft		: "Vá»‹ trÃ­ TrÃ¡i",
+DlgLnkPopTop		: "Vá»‹ trÃ­ TrÃªn",
+
+DlnLnkMsgNoUrl		: "HÃ£y Ä‘Æ°a vÃ o LiÃªn káº¿t URL",
+DlnLnkMsgNoEMail	: "HÃ£y Ä‘Æ°a vÃ o Ä‘á»‹a chá»‰ thÆ° Ä‘iá»‡n tá»­",
+DlnLnkMsgNoAnchor	: "HÃ£y chá»n má»™t Neo",
+DlnLnkMsgInvPopName	: "TÃªn cá»§a cá»­a sá»• Popup pháº£i báº¯t Ä‘áº§u báº±ng má»™t kÃ½ tá»± vÃ  khÃ´ng Ä‘Æ°á»£c chá»©a khoáº£ng tráº¯ng",
+
+// Color Dialog
+DlgColorTitle		: "Chá»n mÃ u",
+DlgColorBtnClear	: "XoÃ¡",
+DlgColorHighlight	: "TÃ´ sÃ¡ng",
+DlgColorSelected	: "ÄÃ£ chá»n",
+
+// Smiley Dialog
+DlgSmileyTitle		: "ChÃ¨n HÃ¬nh biá»ƒu lá»™ cáº£m xÃºc (máº·t cÆ°á»i)",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "HÃ£y chá»n KÃ½ tá»± Ä‘áº·c biá»‡t",
+
+// Table Dialog
+DlgTableTitle		: "Thuá»™c tÃ­nh báº£ng",
+DlgTableRows		: "HÃ ng",
+DlgTableColumns		: "Cá»™t",
+DlgTableBorder		: "Cá»¡ ÄÆ°á»ng viá»n",
+DlgTableAlign		: "Canh lá»",
+DlgTableAlignNotSet	: "<ChÆ°a thiáº¿t láº­p>",
+DlgTableAlignLeft	: "TrÃ¡i",
+DlgTableAlignCenter	: "Giá»¯a",
+DlgTableAlignRight	: "Pháº£i",
+DlgTableWidth		: "Rá»™ng",
+DlgTableWidthPx		: "Ä‘iá»ƒm (px)",
+DlgTableWidthPc		: "%",
+DlgTableHeight		: "Cao",
+DlgTableCellSpace	: "Khoáº£ng cÃ¡ch Ã”",
+DlgTableCellPad		: "Äá»‡m Ã”",
+DlgTableCaption		: "Äáº§u Ä‘á»",
+DlgTableSummary		: "TÃ³m lÆ°á»£c",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "Thuá»™c tÃ­nh Ã”",
+DlgCellWidth		: "Rá»™ng",
+DlgCellWidthPx		: "Ä‘iá»ƒm (px)",
+DlgCellWidthPc		: "%",
+DlgCellHeight		: "Cao",
+DlgCellWordWrap		: "Bá»c tá»«",
+DlgCellWordWrapNotSet	: "<ChÆ°a thiáº¿t láº­p>",
+DlgCellWordWrapYes	: "Äá»“ng Ã½",
+DlgCellWordWrapNo	: "KhÃ´ng",
+DlgCellHorAlign		: "Canh theo Chiá»u ngang",
+DlgCellHorAlignNotSet	: "<ChÆ°a thiáº¿t láº­p>",
+DlgCellHorAlignLeft	: "TrÃ¡i",
+DlgCellHorAlignCenter	: "Giá»¯a",
+DlgCellHorAlignRight: "Pháº£i",
+DlgCellVerAlign		: "Canh theo Chiá»u dá»c",
+DlgCellVerAlignNotSet	: "<ChÆ°a thiáº¿t láº­p>",
+DlgCellVerAlignTop	: "TrÃªn",
+DlgCellVerAlignMiddle	: "Giá»¯a",
+DlgCellVerAlignBottom	: "DÆ°á»›i",
+DlgCellVerAlignBaseline	: "ÄÆ°á»ng cÆ¡ sá»Ÿ",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "Ná»‘i HÃ ng",
+DlgCellCollSpan		: "Ná»‘i Cá»™t",
+DlgCellBackColor	: "MÃ u ná»n",
+DlgCellBorderColor	: "MÃ u viá»n",
+DlgCellBtnSelect	: "Chá»n...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "TÃ¬m kiáº¿m vÃ  Thay Tháº¿",
+
+// Find Dialog
+DlgFindTitle		: "TÃ¬m kiáº¿m",
+DlgFindFindBtn		: "TÃ¬m kiáº¿m",
+DlgFindNotFoundMsg	: "KhÃ´ng tÃ¬m tháº¥y chuá»—i cáº§n tÃ¬m.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Thay tháº¿",
+DlgReplaceFindLbl		: "TÃ¬m chuá»—i:",
+DlgReplaceReplaceLbl	: "Thay báº±ng:",
+DlgReplaceCaseChk		: "PhÃ¢n biá»‡t chá»¯ hoa/thÆ°á»ng",
+DlgReplaceReplaceBtn	: "Thay tháº¿",
+DlgReplaceReplAllBtn	: "Thay tháº¿ Táº¥t cáº£",
+DlgReplaceWordChk		: "ÄÃºng toÃ n bá»™ tá»«",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "CÃ¡c thiáº¿t láº­p báº£o máº­t cá»§a trÃ¬nh duyá»‡t khÃ´ng cho phÃ©p trÃ¬nh biÃªn táº­p tá»± Ä‘á»™ng thá»±c thi lá»‡nh cáº¯t. HÃ£y sá»­ dá»¥ng bÃ n phÃ­m cho lá»‡nh nÃ y (Ctrl+X).",
+PasteErrorCopy	: "CÃ¡c thiáº¿t láº­p báº£o máº­t cá»§a trÃ¬nh duyá»‡t khÃ´ng cho phÃ©p trÃ¬nh biÃªn táº­p tá»± Ä‘á»™ng thá»±c thi lá»‡nh sao chÃ©p. HÃ£y sá»­ dá»¥ng bÃ n phÃ­m cho lá»‡nh nÃ y (Ctrl+C).",
+
+PasteAsText		: "DÃ¡n theo Ä‘á»‹nh dáº¡ng vÄƒn báº£n thuáº§n",
+PasteFromWord	: "DÃ¡n vá»›i Ä‘á»‹nh dáº¡ng Word",
+
+DlgPasteMsg2	: "HÃ£y dÃ¡n ná»™i dung vÃ o trong khung bÃªn dÆ°á»›i, sá»­ dá»¥ng tá»• há»£p phÃ­m (<STRONG>Ctrl+V</STRONG>) vÃ  nháº¥n vÃ o nÃºt <STRONG>Äá»“ng Ã½</STRONG>.",
+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
+DlgPasteIgnoreFont		: "Cháº¥p nháº­n cÃ¡c Ä‘á»‹nh dáº¡ng phÃ´ng",
+DlgPasteRemoveStyles	: "Gá»¡ bá» cÃ¡c Ä‘á»‹nh dáº¡ng Styles",
+
+// Color Picker
+ColorAutomatic	: "Tá»± Ä‘á»™ng",
+ColorMoreColors	: "MÃ u khÃ¡c...",
+
+// Document Properties
+DocProps		: "Thuá»™c tÃ­nh TÃ i liá»‡u",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Thuá»™c tÃ­nh Neo",
+DlgAnchorName		: "TÃªn cá»§a Neo",
+DlgAnchorErrorName	: "HÃ£y nháº­p vÃ o tÃªn cá»§a Neo",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "KhÃ´ng cÃ³ trong tá»« Ä‘iá»ƒn",
+DlgSpellChangeTo		: "Chuyá»ƒn thÃ nh",
+DlgSpellBtnIgnore		: "Bá» qua",
+DlgSpellBtnIgnoreAll	: "Bá» qua Táº¥t cáº£",
+DlgSpellBtnReplace		: "Thay tháº¿",
+DlgSpellBtnReplaceAll	: "Thay tháº¿ Táº¥t cáº£",
+DlgSpellBtnUndo			: "Phá»¥c há»“i láº¡i",
+DlgSpellNoSuggestions	: "- KhÃ´ng Ä‘Æ°a ra gá»£i Ã½ vá» tá»« -",
+DlgSpellProgress		: "Äang tiáº¿n hÃ nh kiá»ƒm tra chÃ­nh táº£...",
+DlgSpellNoMispell		: "HoÃ n táº¥t kiá»ƒm tra chÃ­nh táº£: KhÃ´ng cÃ³ lá»—i chÃ­nh táº£",
+DlgSpellNoChanges		: "HoÃ n táº¥t kiá»ƒm tra chÃ­nh táº£: KhÃ´ng cÃ³ tá»« nÃ o Ä‘Æ°á»£c thay Ä‘á»•i",
+DlgSpellOneChange		: "HoÃ n táº¥t kiá»ƒm tra chÃ­nh táº£: Má»™t tá»« Ä‘Ã£ Ä‘Æ°á»£c thay Ä‘á»•i",
+DlgSpellManyChanges		: "HoÃ n táº¥t kiá»ƒm tra chÃ­nh táº£: %1 tá»« Ä‘Ã£ Ä‘Æ°á»£c thay Ä‘á»•i",
+
+IeSpellDownload			: "Chá»©c nÄƒng kiá»ƒm tra chÃ­nh táº£ chÆ°a Ä‘Æ°á»£c cÃ i Ä‘áº·t. Báº¡n cÃ³ muá»‘n táº£i vá» ngay bÃ¢y giá»?",
+
+// Button Dialog
+DlgButtonText		: "Chuá»—i hiá»ƒn thá»‹ (GiÃ¡ trá»‹)",
+DlgButtonType		: "Kiá»ƒu",
+DlgButtonTypeBtn	: "NÃºt Báº¥m",
+DlgButtonTypeSbm	: "NÃºt Gá»­i",
+DlgButtonTypeRst	: "NÃºt Nháº­p láº¡i",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "TÃªn",
+DlgCheckboxValue	: "GiÃ¡ trá»‹",
+DlgCheckboxSelected	: "ÄÆ°á»£c chá»n",
+
+// Form Dialog
+DlgFormName		: "TÃªn",
+DlgFormAction	: "HÃ nh Ä‘á»™ng",
+DlgFormMethod	: "PhÆ°Æ¡ng thá»©c",
+
+// Select Field Dialog
+DlgSelectName		: "TÃªn",
+DlgSelectValue		: "GiÃ¡ trá»‹",
+DlgSelectSize		: "KÃ­ch cá»¡",
+DlgSelectLines		: "dÃ²ng",
+DlgSelectChkMulti	: "Cho phÃ©p chá»n nhiá»u",
+DlgSelectOpAvail	: "CÃ¡c tÃ¹y chá»n cÃ³ thá»ƒ sá»­ dá»¥ng",
+DlgSelectOpText		: "VÄƒn báº£n",
+DlgSelectOpValue	: "GiÃ¡ trá»‹",
+DlgSelectBtnAdd		: "ThÃªm",
+DlgSelectBtnModify	: "Thay Ä‘á»•i",
+DlgSelectBtnUp		: "LÃªn",
+DlgSelectBtnDown	: "Xuá»‘ng",
+DlgSelectBtnSetValue : "GiÃ¡ trá»‹ Ä‘Æ°á»£c chá»n",
+DlgSelectBtnDelete	: "XoÃ¡",
+
+// Textarea Dialog
+DlgTextareaName	: "TÃªn",
+DlgTextareaCols	: "Cá»™t",
+DlgTextareaRows	: "HÃ ng",
+
+// Text Field Dialog
+DlgTextName			: "TÃªn",
+DlgTextValue		: "GiÃ¡ trá»‹",
+DlgTextCharWidth	: "Rá»™ng",
+DlgTextMaxChars		: "Sá»‘ KÃ½ tá»± tá»‘i Ä‘a",
+DlgTextType			: "Kiá»ƒu",
+DlgTextTypeText		: "KÃ½ tá»±",
+DlgTextTypePass		: "Máº­t kháº©u",
+
+// Hidden Field Dialog
+DlgHiddenName	: "TÃªn",
+DlgHiddenValue	: "GiÃ¡ trá»‹",
+
+// Bulleted List Dialog
+BulletedListProp	: "Thuá»™c tÃ­nh Danh sÃ¡ch khÃ´ng thá»© tá»±",
+NumberedListProp	: "Thuá»™c tÃ­nh Danh sÃ¡ch cÃ³ thá»© tá»±",
+DlgLstStart			: "Báº¯t Ä‘áº§u",
+DlgLstType			: "Kiá»ƒu",
+DlgLstTypeCircle	: "HÃ¬nh trÃ²n",
+DlgLstTypeDisc		: "HÃ¬nh Ä‘Ä©a",
+DlgLstTypeSquare	: "HÃ¬nh vuÃ´ng",
+DlgLstTypeNumbers	: "Sá»‘ thá»© tá»± (1, 2, 3)",
+DlgLstTypeLCase		: "Chá»¯ cÃ¡i thÆ°á»ng (a, b, c)",
+DlgLstTypeUCase		: "Chá»¯ cÃ¡i hoa (A, B, C)",
+DlgLstTypeSRoman	: "Sá»‘ La MÃ£ thÆ°á»ng (i, ii, iii)",
+DlgLstTypeLRoman	: "Sá»‘ La MÃ£ hoa (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "ToÃ n thá»ƒ",
+DlgDocBackTab		: "Ná»n",
+DlgDocColorsTab		: "MÃ u sáº¯c vÃ  ÄÆ°á»ng biÃªn",
+DlgDocMetaTab		: "SiÃªu dá»¯ liá»‡u",
+
+DlgDocPageTitle		: "TiÃªu Ä‘á» Trang",
+DlgDocLangDir		: "ÄÆ°á»ng dáº«n NgÃ´n ngá»¯",
+DlgDocLangDirLTR	: "TrÃ¡i sang Pháº£i (LTR)",
+DlgDocLangDirRTL	: "Pháº£i sang TrÃ¡i (RTL)",
+DlgDocLangCode		: "MÃ£ NgÃ´n ngá»¯",
+DlgDocCharSet		: "Báº£ng mÃ£ kÃ½ tá»±",
+DlgDocCharSetCE		: "Trung Ã‚u",
+DlgDocCharSetCT		: "Tiáº¿ng Trung Quá»‘c (Big5)",
+DlgDocCharSetCR		: "Tiáº¿ng Kirin",
+DlgDocCharSetGR		: "Tiáº¿ng Hy Láº¡p",
+DlgDocCharSetJP		: "Tiáº¿ng Nháº­t",
+DlgDocCharSetKR		: "Tiáº¿ng HÃ n",
+DlgDocCharSetTR		: "Tiáº¿ng Thá»• NhÄ© Ká»³",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "TÃ¢y Ã‚u",
+DlgDocCharSetOther	: "Báº£ng mÃ£ kÃ½ tá»± khÃ¡c",
+
+DlgDocDocType		: "Kiá»ƒu Äá» má»¥c TÃ i liá»‡u",
+DlgDocDocTypeOther	: "Kiá»ƒu Äá» má»¥c TÃ i liá»‡u khÃ¡c",
+DlgDocIncXHTML		: "Bao gá»“m cáº£ Ä‘á»‹nh nghÄ©a XHTML",
+DlgDocBgColor		: "MÃ u ná»n",
+DlgDocBgImage		: "URL cá»§a HÃ¬nh áº£nh ná»n",
+DlgDocBgNoScroll	: "KhÃ´ng cuá»™n ná»n",
+DlgDocCText			: "VÄƒn báº£n",
+DlgDocCLink			: "LiÃªn káº¿t",
+DlgDocCVisited		: "LiÃªn káº¿t ÄÃ£ ghÃ© thÄƒm",
+DlgDocCActive		: "LiÃªn káº¿t Hiá»‡n hÃ nh",
+DlgDocMargins		: "ÄÆ°á»ng biÃªn cá»§a Trang",
+DlgDocMaTop			: "TrÃªn",
+DlgDocMaLeft		: "TrÃ¡i",
+DlgDocMaRight		: "Pháº£i",
+DlgDocMaBottom		: "DÆ°á»›i",
+DlgDocMeIndex		: "CÃ¡c tá»« khÃ³a chá»‰ má»¥c tÃ i liá»‡u (phÃ¢n cÃ¡ch bá»Ÿi dáº¥u pháº©y)",
+DlgDocMeDescr		: "MÃ´ táº£ tÃ i liá»‡u",
+DlgDocMeAuthor		: "TÃ¡c giáº£",
+DlgDocMeCopy		: "Báº£n quyá»n",
+DlgDocPreview		: "Xem trÆ°á»›c",
+
+// Templates Dialog
+Templates			: "Máº«u dá»±ng sáºµn",
+DlgTemplatesTitle	: "Ná»™i dung Máº«u dá»±ng sáºµn",
+DlgTemplatesSelMsg	: "HÃ£y chá»n Máº«u dá»±ng sáºµn Ä‘á»ƒ má»Ÿ trong trÃ¬nh biÃªn táº­p<br>(ná»™i dung hiá»‡n táº¡i sáº½ bá»‹ máº¥t):",
+DlgTemplatesLoading	: "Äang náº¡p Danh sÃ¡ch Máº«u dá»±ng sáºµn. Vui lÃ²ng Ä‘á»£i trong giÃ¢y lÃ¡t...",
+DlgTemplatesNoTpl	: "(KhÃ´ng cÃ³ Máº«u dá»±ng sáºµn nÃ o Ä‘Æ°á»£c Ä‘á»‹nh nghÄ©a)",
+DlgTemplatesReplace	: "Thay tháº¿ ná»™i dung hiá»‡n táº¡i",
+
+// About Dialog
+DlgAboutAboutTab	: "Giá»›i thiá»‡u",
+DlgAboutBrowserInfoTab	: "ThÃ´ng tin trÃ¬nh duyá»‡t",
+DlgAboutLicenseTab	: "Giáº¥y phÃ©p",
+DlgAboutVersion		: "phiÃªn báº£n",
+DlgAboutInfo		: "Äá»ƒ biáº¿t thÃªm thÃ´ng tin, hÃ£y truy cáº­p",
+
+// Div Dialog
+DlgDivGeneralTab	: "Chung",
+DlgDivAdvancedTab	: "NÃ¢ng cao",
+DlgDivStyle		: "Kiá»ƒu Style",
+DlgDivInlineStyle	: "Kiá»ƒu Style Trá»±c tiáº¿p",
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/zh-cn.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/zh-cn.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/zh-cn.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Chinese Simplified language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "æŠ˜å å·¥å…·æ ",
+ToolbarExpand		: "å±•å¼€å·¥å…·æ ",
+
+// Toolbar Items and Context Menu
+Save				: "ä¿å­˜",
+NewPage				: "æ–°å»º",
+Preview				: "é¢„è§ˆ",
+Cut					: "å‰ªåˆ‡",
+Copy				: "å¤åˆ¶",
+Paste				: "ç²˜è´´",
+PasteText			: "ç²˜è´´ä¸ºæ— æ ¼å¼æ–‡æœ¬",
+PasteWord			: "ä» MS Word ç²˜è´´",
+Print				: "æ‰“å°",
+SelectAll			: "å…¨é€‰",
+RemoveFormat		: "æ¸…é™¤æ ¼å¼",
+InsertLinkLbl		: "è¶…é“¾æ¥",
+InsertLink			: "æ’å…¥/ç¼–è¾‘è¶…é“¾æ¥",
+RemoveLink			: "å–æ¶ˆè¶…é“¾æ¥",
+VisitLink			: "æ‰“å¼€è¶…é“¾æ¥",
+Anchor				: "æ’å…¥/ç¼–è¾‘é”šç‚¹é“¾æ¥",
+AnchorDelete		: "æ¸…é™¤é”šç‚¹é“¾æ¥",
+InsertImageLbl		: "å›¾è±¡",
+InsertImage			: "æ’å…¥/ç¼–è¾‘å›¾è±¡",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "æ’å…¥/ç¼–è¾‘ Flash",
+InsertTableLbl		: "è¡¨æ ¼",
+InsertTable			: "æ’å…¥/ç¼–è¾‘è¡¨æ ¼",
+InsertLineLbl		: "æ°´å¹³çº¿",
+InsertLine			: "æ’å…¥æ°´å¹³çº¿",
+InsertSpecialCharLbl: "ç‰¹æ®Šç¬¦å·",
+InsertSpecialChar	: "æ’å…¥ç‰¹æ®Šç¬¦å·",
+InsertSmileyLbl		: "è¡¨æƒ…ç¬¦",
+InsertSmiley		: "æ’å…¥è¡¨æƒ…å›¾æ ‡",
+About				: "å…³äº FCKeditor",
+Bold				: "åŠ ç²—",
+Italic				: "å€¾æ–œ",
+Underline			: "ä¸‹åˆ’çº¿",
+StrikeThrough		: "åˆ é™¤çº¿",
+Subscript			: "ä¸‹æ ‡",
+Superscript			: "ä¸Šæ ‡",
+LeftJustify			: "å·¦å¯¹é½",
+CenterJustify		: "å±…ä¸­å¯¹é½",
+RightJustify		: "å³å¯¹é½",
+BlockJustify		: "ä¸¤ç«¯å¯¹é½",
+DecreaseIndent		: "å‡å°‘ç¼©è¿›é‡",
+IncreaseIndent		: "å¢åŠ ç¼©è¿›é‡",
+Blockquote			: "å—å¼•ç”¨",
+CreateDiv			: "æ’å…¥ Div æ ‡ç­¾",
+EditDiv				: "ç¼–è¾‘ Div æ ‡ç­¾",
+DeleteDiv			: "åˆ é™¤ Div æ ‡ç­¾",
+Undo				: "æ’¤æ¶ˆ",
+Redo				: "é‡åš",
+NumberedListLbl		: "ç¼–å·åˆ—è¡¨",
+NumberedList		: "æ’å…¥/åˆ é™¤ç¼–å·åˆ—è¡¨",
+BulletedListLbl		: "é¡¹ç›®åˆ—è¡¨",
+BulletedList		: "æ’å…¥/åˆ é™¤é¡¹ç›®åˆ—è¡¨",
+ShowTableBorders	: "æ˜¾ç¤ºè¡¨æ ¼è¾¹æ¡†",
+ShowDetails			: "æ˜¾ç¤ºè¯¦ç»†èµ„æ–™",
+Style				: "æ ·å¼",
+FontFormat			: "æ ¼å¼",
+Font				: "å­—ä½“",
+FontSize			: "å¤§å°",
+TextColor			: "æ–‡æœ¬é¢œè‰²",
+BGColor				: "èƒŒæ™¯é¢œè‰²",
+Source				: "æºä»£ç ",
+Find				: "æŸ¥æ‰¾",
+Replace				: "æ›¿æ¢",
+SpellCheck			: "æ‹¼å†™æ£€æŸ¥",
+UniversalKeyboard	: "è½¯é”®ç›˜",
+PageBreakLbl		: "åˆ†é¡µç¬¦",
+PageBreak			: "æ’å…¥åˆ†é¡µç¬¦",
+
+Form			: "è¡¨å•",
+Checkbox		: "å¤é€‰æ¡†",
+RadioButton		: "å•é€‰æŒ‰é’®",
+TextField		: "å•è¡Œæ–‡æœ¬",
+Textarea		: "å¤šè¡Œæ–‡æœ¬",
+HiddenField		: "éšè—åŸŸ",
+Button			: "æŒ‰é’®",
+SelectionField	: "åˆ—è¡¨/èœå•",
+ImageButton		: "å›¾åƒåŸŸ",
+
+FitWindow		: "å…¨å±ç¼–è¾‘",
+ShowBlocks		: "æ˜¾ç¤ºåŒºå—",
+
+// Context Menu
+EditLink			: "ç¼–è¾‘è¶…é“¾æ¥",
+CellCM				: "å•å…ƒæ ¼",
+RowCM				: "è¡Œ",
+ColumnCM			: "åˆ—",
+InsertRowAfter		: "åœ¨ä¸‹æ–¹æ’å…¥è¡Œ",
+InsertRowBefore		: "åœ¨ä¸Šæ–¹æ’å…¥è¡Œ",
+DeleteRows			: "åˆ é™¤è¡Œ",
+InsertColumnAfter	: "åœ¨å³ä¾§æ’å…¥åˆ—",
+InsertColumnBefore	: "åœ¨å·¦ä¾§æ’å…¥åˆ—",
+DeleteColumns		: "åˆ é™¤åˆ—",
+InsertCellAfter		: "åœ¨å³ä¾§æ’å…¥å•å…ƒæ ¼",
+InsertCellBefore	: "åœ¨å·¦ä¾§æ’å…¥å•å…ƒæ ¼",
+DeleteCells			: "åˆ é™¤å•å…ƒæ ¼",
+MergeCells			: "åˆå¹¶å•å…ƒæ ¼",
+MergeRight			: "å‘å³åˆå¹¶å•å…ƒæ ¼",
+MergeDown			: "å‘ä¸‹åˆå¹¶å•å…ƒæ ¼",
+HorizontalSplitCell	: "æ°´å¹³æ‹†åˆ†å•å…ƒæ ¼",
+VerticalSplitCell	: "å‚ç›´æ‹†åˆ†å•å…ƒæ ¼",
+TableDelete			: "åˆ é™¤è¡¨æ ¼",
+CellProperties		: "å•å…ƒæ ¼å±æ€§",
+TableProperties		: "è¡¨æ ¼å±æ€§",
+ImageProperties		: "å›¾è±¡å±æ€§",
+FlashProperties		: "Flash å±æ€§",
+
+AnchorProp			: "é”šç‚¹é“¾æ¥å±æ€§",
+ButtonProp			: "æŒ‰é’®å±æ€§",
+CheckboxProp		: "å¤é€‰æ¡†å±æ€§",
+HiddenFieldProp		: "éšè—åŸŸå±æ€§",
+RadioButtonProp		: "å•é€‰æŒ‰é’®å±æ€§",
+ImageButtonProp		: "å›¾åƒåŸŸå±æ€§",
+TextFieldProp		: "å•è¡Œæ–‡æœ¬å±æ€§",
+SelectionFieldProp	: "èœå•/åˆ—è¡¨å±æ€§",
+TextareaProp		: "å¤šè¡Œæ–‡æœ¬å±æ€§",
+FormProp			: "è¡¨å•å±æ€§",
+
+FontFormats			: "æ™®é€š;å·²ç¼–æ’æ ¼å¼;åœ°å€;æ ‡é¢˜ 1;æ ‡é¢˜ 2;æ ‡é¢˜ 3;æ ‡é¢˜ 4;æ ‡é¢˜ 5;æ ‡é¢˜ 6;æ®µè½(DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "æ­£åœ¨å¤„ç† XHTMLï¼Œè¯·ç¨ç­‰...",
+Done				: "å®Œæˆ",
+PasteWordConfirm	: "æ‚¨è¦ç²˜è´´çš„å†…å®¹å¥½åƒæ˜¯æ¥è‡ª MS Wordï¼Œæ˜¯å¦è¦æ¸…é™¤ MS Word æ ¼å¼åå†ç²˜è´´ï¼Ÿ",
+NotCompatiblePaste	: "è¯¥å‘½ä»¤éœ€è¦ Internet Explorer 5.5 æˆ–æ›´é«˜ç‰ˆæœ¬çš„æ”¯æŒï¼Œæ˜¯å¦æŒ‰å¸¸è§„ç²˜è´´è¿›è¡Œï¼Ÿ",
+UnknownToolbarItem	: "æœªçŸ¥å·¥å…·æ é¡¹ç›® \"%1\"",
+UnknownCommand		: "æœªçŸ¥å‘½ä»¤åç§° \"%1\"",
+NotImplemented		: "å‘½ä»¤æ— æ³•æ‰§è¡Œ",
+UnknownToolbarSet	: "å·¥å…·æ è®¾ç½® \"%1\" ä¸å­˜åœ¨",
+NoActiveX			: "æµè§ˆå™¨å®‰å…¨è®¾ç½®é™åˆ¶äº†æœ¬ç¼–è¾‘å™¨çš„æŸäº›åŠŸèƒ½ã€‚æ‚¨å¿…é¡»å¯ç”¨å®‰å…¨è®¾ç½®ä¸­çš„â€œè¿è¡Œ ActiveX æ§ä»¶å’Œæ’ä»¶â€ï¼Œå¦åˆ™å°†å‡ºç°æŸäº›é”™è¯¯å¹¶ç¼ºå°‘åŠŸèƒ½ã€‚",
+BrowseServerBlocked : "æ— æ³•æ‰“å¼€èµ„æºæµè§ˆå™¨ï¼Œè¯·ç¡®è®¤æ˜¯å¦å¯ç”¨äº†ç¦æ­¢å¼¹å‡ºçª—å£ã€‚",
+DialogBlocked		: "æ— æ³•æ‰“å¼€å¯¹è¯æ¡†çª—å£ï¼Œè¯·ç¡®è®¤æ˜¯å¦å¯ç”¨äº†ç¦æ­¢å¼¹å‡ºçª—å£æˆ–ç½‘é¡µå¯¹è¯æ¡†ï¼ˆIEï¼‰ã€‚",
+VisitLinkBlocked	: "æ— æ³•æ‰“å¼€æ–°çª—å£ï¼Œè¯·ç¡®è®¤æ˜¯å¦å¯ç”¨äº†ç¦æ­¢å¼¹å‡ºçª—å£æˆ–ç½‘é¡µå¯¹è¯æ¡†ï¼ˆIEï¼‰ã€‚",
+
+// Dialogs
+DlgBtnOK			: "ç¡®å®š",
+DlgBtnCancel		: "å–æ¶ˆ",
+DlgBtnClose			: "å…³é—­",
+DlgBtnBrowseServer	: "æµè§ˆæœåŠ¡å™¨",
+DlgAdvancedTag		: "é«˜çº§",
+DlgOpOther			: "<å…¶å®ƒ>",
+DlgInfoTab			: "ä¿¡æ¯",
+DlgAlertUrl			: "è¯·æ’å…¥ URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<æ²¡æœ‰è®¾ç½®>",
+DlgGenId			: "ID",
+DlgGenLangDir		: "è¯­è¨€æ–¹å‘",
+DlgGenLangDirLtr	: "ä»å·¦åˆ°å³ (LTR)",
+DlgGenLangDirRtl	: "ä»å³åˆ°å·¦ (RTL)",
+DlgGenLangCode		: "è¯­è¨€ä»£ç ",
+DlgGenAccessKey		: "è®¿é—®é”®",
+DlgGenName			: "åç§°",
+DlgGenTabIndex		: "Tab é”®æ¬¡åº",
+DlgGenLongDescr		: "è¯¦ç»†è¯´æ˜åœ°å€",
+DlgGenClass			: "æ ·å¼ç±»åç§°",
+DlgGenTitle			: "æ ‡é¢˜",
+DlgGenContType		: "å†…å®¹ç±»å‹",
+DlgGenLinkCharset	: "å­—ç¬¦ç¼–ç ",
+DlgGenStyle			: "è¡Œå†…æ ·å¼",
+
+// Image Dialog
+DlgImgTitle			: "å›¾è±¡å±æ€§",
+DlgImgInfoTab		: "å›¾è±¡",
+DlgImgBtnUpload		: "å‘é€åˆ°æœåŠ¡å™¨ä¸Š",
+DlgImgURL			: "æºæ–‡ä»¶",
+DlgImgUpload		: "ä¸Šä¼ ",
+DlgImgAlt			: "æ›¿æ¢æ–‡æœ¬",
+DlgImgWidth			: "å®½åº¦",
+DlgImgHeight		: "é«˜åº¦",
+DlgImgLockRatio		: "é”å®šæ¯”ä¾‹",
+DlgBtnResetSize		: "æ¢å¤å°ºå¯¸",
+DlgImgBorder		: "è¾¹æ¡†å¤§å°",
+DlgImgHSpace		: "æ°´å¹³é—´è·",
+DlgImgVSpace		: "å‚ç›´é—´è·",
+DlgImgAlign			: "å¯¹é½æ–¹å¼",
+DlgImgAlignLeft		: "å·¦å¯¹é½",
+DlgImgAlignAbsBottom: "ç»å¯¹åº•è¾¹",
+DlgImgAlignAbsMiddle: "ç»å¯¹å±…ä¸­",
+DlgImgAlignBaseline	: "åŸºçº¿",
+DlgImgAlignBottom	: "åº•è¾¹",
+DlgImgAlignMiddle	: "å±…ä¸­",
+DlgImgAlignRight	: "å³å¯¹é½",
+DlgImgAlignTextTop	: "æ–‡æœ¬ä¸Šæ–¹",
+DlgImgAlignTop		: "é¡¶ç«¯",
+DlgImgPreview		: "é¢„è§ˆ",
+DlgImgAlertUrl		: "è¯·è¾“å…¥å›¾è±¡åœ°å€",
+DlgImgLinkTab		: "é“¾æ¥",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash å±æ€§",
+DlgFlashChkPlay		: "è‡ªåŠ¨æ’­æ”¾",
+DlgFlashChkLoop		: "å¾ªç¯",
+DlgFlashChkMenu		: "å¯ç”¨ Flash èœå•",
+DlgFlashScale		: "ç¼©æ”¾",
+DlgFlashScaleAll	: "å…¨éƒ¨æ˜¾ç¤º",
+DlgFlashScaleNoBorder	: "æ— è¾¹æ¡†",
+DlgFlashScaleFit	: "ä¸¥æ ¼åŒ¹é…",
+
+// Link Dialog
+DlgLnkWindowTitle	: "è¶…é“¾æ¥",
+DlgLnkInfoTab		: "è¶…é“¾æ¥ä¿¡æ¯",
+DlgLnkTargetTab		: "ç›®æ ‡",
+
+DlgLnkType			: "è¶…é“¾æ¥ç±»å‹",
+DlgLnkTypeURL		: "è¶…é“¾æ¥",
+DlgLnkTypeAnchor	: "é¡µå†…é”šç‚¹é“¾æ¥",
+DlgLnkTypeEMail		: "ç”µå­é‚®ä»¶",
+DlgLnkProto			: "åè®®",
+DlgLnkProtoOther	: "<å…¶å®ƒ>",
+DlgLnkURL			: "åœ°å€",
+DlgLnkAnchorSel		: "é€‰æ‹©ä¸€ä¸ªé”šç‚¹",
+DlgLnkAnchorByName	: "æŒ‰é”šç‚¹åç§°",
+DlgLnkAnchorById	: "æŒ‰é”šç‚¹ ID",
+DlgLnkNoAnchors		: "(æ­¤æ–‡æ¡£æ²¡æœ‰å¯ç”¨çš„é”šç‚¹)",
+DlgLnkEMail			: "åœ°å€",
+DlgLnkEMailSubject	: "ä¸»é¢˜",
+DlgLnkEMailBody		: "å†…å®¹",
+DlgLnkUpload		: "ä¸Šä¼ ",
+DlgLnkBtnUpload		: "å‘é€åˆ°æœåŠ¡å™¨ä¸Š",
+
+DlgLnkTarget		: "ç›®æ ‡",
+DlgLnkTargetFrame	: "<æ¡†æ¶>",
+DlgLnkTargetPopup	: "<å¼¹å‡ºçª—å£>",
+DlgLnkTargetBlank	: "æ–°çª—å£ (_blank)",
+DlgLnkTargetParent	: "çˆ¶çª—å£ (_parent)",
+DlgLnkTargetSelf	: "æœ¬çª—å£ (_self)",
+DlgLnkTargetTop		: "æ•´é¡µ (_top)",
+DlgLnkTargetFrameName	: "ç›®æ ‡æ¡†æ¶åç§°",
+DlgLnkPopWinName	: "å¼¹å‡ºçª—å£åç§°",
+DlgLnkPopWinFeat	: "å¼¹å‡ºçª—å£å±æ€§",
+DlgLnkPopResize		: "è°ƒæ•´å¤§å°",
+DlgLnkPopLocation	: "åœ°å€æ ",
+DlgLnkPopMenu		: "èœå•æ ",
+DlgLnkPopScroll		: "æ»šåŠ¨æ¡",
+DlgLnkPopStatus		: "çŠ¶æ€æ ",
+DlgLnkPopToolbar	: "å·¥å…·æ ",
+DlgLnkPopFullScrn	: "å…¨å± (IE)",
+DlgLnkPopDependent	: "ä¾é™„ (NS)",
+DlgLnkPopWidth		: "å®½",
+DlgLnkPopHeight		: "é«˜",
+DlgLnkPopLeft		: "å·¦",
+DlgLnkPopTop		: "å³",
+
+DlnLnkMsgNoUrl		: "è¯·è¾“å…¥è¶…é“¾æ¥åœ°å€",
+DlnLnkMsgNoEMail	: "è¯·è¾“å…¥ç”µå­é‚®ä»¶åœ°å€",
+DlnLnkMsgNoAnchor	: "è¯·é€‰æ‹©ä¸€ä¸ªé”šç‚¹",
+DlnLnkMsgInvPopName	: "å¼¹å‡ºçª—å£åç§°å¿…é¡»ä»¥å­—æ¯å¼€å¤´ï¼Œå¹¶ä¸”ä¸èƒ½å«æœ‰ç©ºæ ¼ã€‚",
+
+// Color Dialog
+DlgColorTitle		: "é€‰æ‹©é¢œè‰²",
+DlgColorBtnClear	: "æ¸…é™¤",
+DlgColorHighlight	: "é¢„è§ˆ",
+DlgColorSelected	: "é€‰æ‹©",
+
+// Smiley Dialog
+DlgSmileyTitle		: "æ’å…¥è¡¨æƒ…å›¾æ ‡",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "é€‰æ‹©ç‰¹æ®Šç¬¦å·",
+
+// Table Dialog
+DlgTableTitle		: "è¡¨æ ¼å±æ€§",
+DlgTableRows		: "è¡Œæ•°",
+DlgTableColumns		: "åˆ—æ•°",
+DlgTableBorder		: "è¾¹æ¡†",
+DlgTableAlign		: "å¯¹é½",
+DlgTableAlignNotSet	: "<æ²¡æœ‰è®¾ç½®>",
+DlgTableAlignLeft	: "å·¦å¯¹é½",
+DlgTableAlignCenter	: "å±…ä¸­",
+DlgTableAlignRight	: "å³å¯¹é½",
+DlgTableWidth		: "å®½åº¦",
+DlgTableWidthPx		: "åƒç´ ",
+DlgTableWidthPc		: "ç™¾åˆ†æ¯”",
+DlgTableHeight		: "é«˜åº¦",
+DlgTableCellSpace	: "é—´è·",
+DlgTableCellPad		: "è¾¹è·",
+DlgTableCaption		: "æ ‡é¢˜",
+DlgTableSummary		: "æ‘˜è¦",
+DlgTableHeaders		: "æ ‡é¢˜å•å…ƒæ ¼",
+DlgTableHeadersNone		: "æ— ",
+DlgTableHeadersColumn	: "ç¬¬ä¸€åˆ—",
+DlgTableHeadersRow		: "ç¬¬ä¸€è¡Œ",
+DlgTableHeadersBoth		: "ç¬¬ä¸€åˆ—å’Œç¬¬ä¸€è¡Œ",
+
+// Table Cell Dialog
+DlgCellTitle		: "å•å…ƒæ ¼å±æ€§",
+DlgCellWidth		: "å®½åº¦",
+DlgCellWidthPx		: "åƒç´ ",
+DlgCellWidthPc		: "ç™¾åˆ†æ¯”",
+DlgCellHeight		: "é«˜åº¦",
+DlgCellWordWrap		: "è‡ªåŠ¨æ¢è¡Œ",
+DlgCellWordWrapNotSet	: "<æ²¡æœ‰è®¾ç½®>",
+DlgCellWordWrapYes	: "æ˜¯",
+DlgCellWordWrapNo	: "å¦",
+DlgCellHorAlign		: "æ°´å¹³å¯¹é½",
+DlgCellHorAlignNotSet	: "<æ²¡æœ‰è®¾ç½®>",
+DlgCellHorAlignLeft	: "å·¦å¯¹é½",
+DlgCellHorAlignCenter	: "å±…ä¸­",
+DlgCellHorAlignRight: "å³å¯¹é½",
+DlgCellVerAlign		: "å‚ç›´å¯¹é½",
+DlgCellVerAlignNotSet	: "<æ²¡æœ‰è®¾ç½®>",
+DlgCellVerAlignTop	: "é¡¶ç«¯",
+DlgCellVerAlignMiddle	: "å±…ä¸­",
+DlgCellVerAlignBottom	: "åº•éƒ¨",
+DlgCellVerAlignBaseline	: "åŸºçº¿",
+DlgCellType		: "å•å…ƒæ ¼ç±»å‹",
+DlgCellTypeData		: "èµ„æ–™",
+DlgCellTypeHeader	: "æ ‡é¢˜",
+DlgCellRowSpan		: "çºµè·¨è¡Œæ•°",
+DlgCellCollSpan		: "æ¨ªè·¨åˆ—æ•°",
+DlgCellBackColor	: "èƒŒæ™¯é¢œè‰²",
+DlgCellBorderColor	: "è¾¹æ¡†é¢œè‰²",
+DlgCellBtnSelect	: "é€‰æ‹©...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "æŸ¥æ‰¾å’Œæ›¿æ¢",
+
+// Find Dialog
+DlgFindTitle		: "æŸ¥æ‰¾",
+DlgFindFindBtn		: "æŸ¥æ‰¾",
+DlgFindNotFoundMsg	: "æŒ‡å®šæ–‡æœ¬æ²¡æœ‰æ‰¾åˆ°ã€‚",
+
+// Replace Dialog
+DlgReplaceTitle			: "æ›¿æ¢",
+DlgReplaceFindLbl		: "æŸ¥æ‰¾:",
+DlgReplaceReplaceLbl	: "æ›¿æ¢:",
+DlgReplaceCaseChk		: "åŒºåˆ†å¤§å°å†™",
+DlgReplaceReplaceBtn	: "æ›¿æ¢",
+DlgReplaceReplAllBtn	: "å…¨éƒ¨æ›¿æ¢",
+DlgReplaceWordChk		: "å…¨å­—åŒ¹é…",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "æ‚¨çš„æµè§ˆå™¨å®‰å…¨è®¾ç½®ä¸å…è®¸ç¼–è¾‘å™¨è‡ªåŠ¨æ‰§è¡Œå‰ªåˆ‡æ“ä½œï¼Œè¯·ä½¿ç”¨é”®ç›˜å¿«æ·é”®(Ctrl+X)æ¥å®Œæˆã€‚",
+PasteErrorCopy	: "æ‚¨çš„æµè§ˆå™¨å®‰å…¨è®¾ç½®ä¸å…è®¸ç¼–è¾‘å™¨è‡ªåŠ¨æ‰§è¡Œå¤åˆ¶æ“ä½œï¼Œè¯·ä½¿ç”¨é”®ç›˜å¿«æ·é”®(Ctrl+C)æ¥å®Œæˆã€‚",
+
+PasteAsText		: "ç²˜è´´ä¸ºæ— æ ¼å¼æ–‡æœ¬",
+PasteFromWord	: "ä» MS Word ç²˜è´´",
+
+DlgPasteMsg2	: "è¯·ä½¿ç”¨é”®ç›˜å¿«æ·é”®(<STRONG>Ctrl+V</STRONG>)æŠŠå†…å®¹ç²˜è´´åˆ°ä¸‹é¢çš„æ–¹æ¡†é‡Œï¼Œå†æŒ‰ <STRONG>ç¡®å®š</STRONG>ã€‚",
+DlgPasteSec		: "å› ä¸ºä½ çš„æµè§ˆå™¨çš„å®‰å…¨è®¾ç½®åŸå› ï¼Œæœ¬ç¼–è¾‘å™¨ä¸èƒ½ç›´æ¥è®¿é—®ä½ çš„å‰ªè´´æ¿å†…å®¹ï¼Œä½ éœ€è¦åœ¨æœ¬çª—å£é‡æ–°ç²˜è´´ä¸€æ¬¡ã€‚",
+DlgPasteIgnoreFont		: "å¿½ç•¥ Font æ ‡ç­¾",
+DlgPasteRemoveStyles	: "æ¸…ç† CSS æ ·å¼",
+
+// Color Picker
+ColorAutomatic	: "è‡ªåŠ¨",
+ColorMoreColors	: "å…¶å®ƒé¢œè‰²...",
+
+// Document Properties
+DocProps		: "é¡µé¢å±æ€§",
+
+// Anchor Dialog
+DlgAnchorTitle		: "å‘½åé”šç‚¹",
+DlgAnchorName		: "é”šç‚¹åç§°",
+DlgAnchorErrorName	: "è¯·è¾“å…¥é”šç‚¹åç§°",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "æ²¡æœ‰åœ¨å­—å…¸é‡Œ",
+DlgSpellChangeTo		: "æ›´æ”¹ä¸º",
+DlgSpellBtnIgnore		: "å¿½ç•¥",
+DlgSpellBtnIgnoreAll	: "å…¨éƒ¨å¿½ç•¥",
+DlgSpellBtnReplace		: "æ›¿æ¢",
+DlgSpellBtnReplaceAll	: "å…¨éƒ¨æ›¿æ¢",
+DlgSpellBtnUndo			: "æ’¤æ¶ˆ",
+DlgSpellNoSuggestions	: "- æ²¡æœ‰å»ºè®® -",
+DlgSpellProgress		: "æ­£åœ¨è¿›è¡Œæ‹¼å†™æ£€æŸ¥...",
+DlgSpellNoMispell		: "æ‹¼å†™æ£€æŸ¥å®Œæˆï¼šæ²¡æœ‰å‘ç°æ‹¼å†™é”™è¯¯",
+DlgSpellNoChanges		: "æ‹¼å†™æ£€æŸ¥å®Œæˆï¼šæ²¡æœ‰æ›´æ”¹ä»»ä½•å•è¯",
+DlgSpellOneChange		: "æ‹¼å†™æ£€æŸ¥å®Œæˆï¼šæ›´æ”¹äº†ä¸€ä¸ªå•è¯",
+DlgSpellManyChanges		: "æ‹¼å†™æ£€æŸ¥å®Œæˆï¼šæ›´æ”¹äº† %1 ä¸ªå•è¯",
+
+IeSpellDownload			: "æ‹¼å†™æ£€æŸ¥æ’ä»¶è¿˜æ²¡å®‰è£…ï¼Œä½ æ˜¯å¦æƒ³ç°åœ¨å°±ä¸‹è½½ï¼Ÿ",
+
+// Button Dialog
+DlgButtonText		: "æ ‡ç­¾(å€¼)",
+DlgButtonType		: "ç±»å‹",
+DlgButtonTypeBtn	: "æŒ‰é’®",
+DlgButtonTypeSbm	: "æäº¤",
+DlgButtonTypeRst	: "é‡è®¾",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "åç§°",
+DlgCheckboxValue	: "é€‰å®šå€¼",
+DlgCheckboxSelected	: "å·²å‹¾é€‰",
+
+// Form Dialog
+DlgFormName		: "åç§°",
+DlgFormAction	: "åŠ¨ä½œ",
+DlgFormMethod	: "æ–¹æ³•",
+
+// Select Field Dialog
+DlgSelectName		: "åç§°",
+DlgSelectValue		: "é€‰å®š",
+DlgSelectSize		: "é«˜åº¦",
+DlgSelectLines		: "è¡Œ",
+DlgSelectChkMulti	: "å…è®¸å¤šé€‰",
+DlgSelectOpAvail	: "åˆ—è¡¨å€¼",
+DlgSelectOpText		: "æ ‡ç­¾",
+DlgSelectOpValue	: "å€¼",
+DlgSelectBtnAdd		: "æ–°å¢",
+DlgSelectBtnModify	: "ä¿®æ”¹",
+DlgSelectBtnUp		: "ä¸Šç§»",
+DlgSelectBtnDown	: "ä¸‹ç§»",
+DlgSelectBtnSetValue : "è®¾ä¸ºåˆå§‹åŒ–æ—¶é€‰å®š",
+DlgSelectBtnDelete	: "åˆ é™¤",
+
+// Textarea Dialog
+DlgTextareaName	: "åç§°",
+DlgTextareaCols	: "å­—ç¬¦å®½åº¦",
+DlgTextareaRows	: "è¡Œæ•°",
+
+// Text Field Dialog
+DlgTextName			: "åç§°",
+DlgTextValue		: "åˆå§‹å€¼",
+DlgTextCharWidth	: "å­—ç¬¦å®½åº¦",
+DlgTextMaxChars		: "æœ€å¤šå­—ç¬¦æ•°",
+DlgTextType			: "ç±»å‹",
+DlgTextTypeText		: "æ–‡æœ¬",
+DlgTextTypePass		: "å¯†ç ",
+
+// Hidden Field Dialog
+DlgHiddenName	: "åç§°",
+DlgHiddenValue	: "åˆå§‹å€¼",
+
+// Bulleted List Dialog
+BulletedListProp	: "é¡¹ç›®åˆ—è¡¨å±æ€§",
+NumberedListProp	: "ç¼–å·åˆ—è¡¨å±æ€§",
+DlgLstStart			: "å¼€å§‹åºå·",
+DlgLstType			: "åˆ—è¡¨ç±»å‹",
+DlgLstTypeCircle	: "åœ†åœˆ",
+DlgLstTypeDisc		: "åœ†ç‚¹",
+DlgLstTypeSquare	: "æ–¹å—",
+DlgLstTypeNumbers	: "æ•°å­— (1, 2, 3)",
+DlgLstTypeLCase		: "å°å†™å­—æ¯ (a, b, c)",
+DlgLstTypeUCase		: "å¤§å†™å­—æ¯ (A, B, C)",
+DlgLstTypeSRoman	: "å°å†™ç½—é©¬æ•°å­— (i, ii, iii)",
+DlgLstTypeLRoman	: "å¤§å†™ç½—é©¬æ•°å­— (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "å¸¸è§„",
+DlgDocBackTab		: "èƒŒæ™¯",
+DlgDocColorsTab		: "é¢œè‰²å’Œè¾¹è·",
+DlgDocMetaTab		: "Meta æ•°æ®",
+
+DlgDocPageTitle		: "é¡µé¢æ ‡é¢˜",
+DlgDocLangDir		: "è¯­è¨€æ–¹å‘",
+DlgDocLangDirLTR	: "ä»å·¦åˆ°å³ (LTR)",
+DlgDocLangDirRTL	: "ä»å³åˆ°å·¦ (RTL)",
+DlgDocLangCode		: "è¯­è¨€ä»£ç ",
+DlgDocCharSet		: "å­—ç¬¦ç¼–ç ",
+DlgDocCharSetCE		: "ä¸­æ¬§",
+DlgDocCharSetCT		: "ç¹ä½“ä¸­æ–‡ (Big5)",
+DlgDocCharSetCR		: "è¥¿é‡Œå°”æ–‡",
+DlgDocCharSetGR		: "å¸Œè…Šæ–‡",
+DlgDocCharSetJP		: "æ—¥æ–‡",
+DlgDocCharSetKR		: "éŸ©æ–‡",
+DlgDocCharSetTR		: "åœŸè€³å…¶æ–‡",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "è¥¿æ¬§",
+DlgDocCharSetOther	: "å…¶å®ƒå­—ç¬¦ç¼–ç ",
+
+DlgDocDocType		: "æ–‡æ¡£ç±»å‹",
+DlgDocDocTypeOther	: "å…¶å®ƒæ–‡æ¡£ç±»å‹",
+DlgDocIncXHTML		: "åŒ…å« XHTML å£°æ˜",
+DlgDocBgColor		: "èƒŒæ™¯é¢œè‰²",
+DlgDocBgImage		: "èƒŒæ™¯å›¾åƒ",
+DlgDocBgNoScroll	: "ä¸æ»šåŠ¨èƒŒæ™¯å›¾åƒ",
+DlgDocCText			: "æ–‡æœ¬",
+DlgDocCLink			: "è¶…é“¾æ¥",
+DlgDocCVisited		: "å·²è®¿é—®çš„è¶…é“¾æ¥",
+DlgDocCActive		: "æ´»åŠ¨è¶…é“¾æ¥",
+DlgDocMargins		: "é¡µé¢è¾¹è·",
+DlgDocMaTop			: "ä¸Š",
+DlgDocMaLeft		: "å·¦",
+DlgDocMaRight		: "å³",
+DlgDocMaBottom		: "ä¸‹",
+DlgDocMeIndex		: "é¡µé¢ç´¢å¼•å…³é”®å­— (ç”¨åŠè§’é€—å·[,]åˆ†éš”)",
+DlgDocMeDescr		: "é¡µé¢è¯´æ˜",
+DlgDocMeAuthor		: "ä½œè€…",
+DlgDocMeCopy		: "ç‰ˆæƒ",
+DlgDocPreview		: "é¢„è§ˆ",
+
+// Templates Dialog
+Templates			: "æ¨¡æ¿",
+DlgTemplatesTitle	: "å†…å®¹æ¨¡æ¿",
+DlgTemplatesSelMsg	: "è¯·é€‰æ‹©ç¼–è¾‘å™¨å†…å®¹æ¨¡æ¿:",
+DlgTemplatesLoading	: "æ­£åœ¨åŠ è½½æ¨¡æ¿åˆ—è¡¨ï¼Œè¯·ç¨ç­‰...",
+DlgTemplatesNoTpl	: "(æ²¡æœ‰æ¨¡æ¿)",
+DlgTemplatesReplace	: "æ›¿æ¢å½“å‰å†…å®¹",
+
+// About Dialog
+DlgAboutAboutTab	: "å…³äº",
+DlgAboutBrowserInfoTab	: "æµè§ˆå™¨ä¿¡æ¯",
+DlgAboutLicenseTab	: "è®¸å¯è¯",
+DlgAboutVersion		: "ç‰ˆæœ¬",
+DlgAboutInfo		: "è¦è·å¾—æ›´å¤šä¿¡æ¯è¯·è®¿é—® ",
+
+// Div Dialog
+DlgDivGeneralTab	: "å¸¸è§„",
+DlgDivAdvancedTab	: "é«˜çº§",
+DlgDivStyle		: "æ ·å¼",
+DlgDivInlineStyle	: "CSS æ ·å¼",
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/uk.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/uk.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/uk.js	(revision 1481)
@@ -0,0 +1,540 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Ukrainian language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Ğ—Ğ³Ğ¾Ñ€Ğ½ÑƒÑ‚Ğ¸ Ğ¿Ğ°Ğ½ĞµĞ»ÑŒ Ñ–Ğ½ÑÑ‚Ñ€ÑƒĞ¼ĞµĞ½Ñ‚Ñ–Ğ²",
+ToolbarExpand		: "Ğ Ğ¾Ğ·Ğ³Ğ¾Ñ€Ğ½ÑƒÑ‚Ğ¸ Ğ¿Ğ°Ğ½ĞµĞ»ÑŒ Ñ–Ğ½ÑÑ‚Ñ€ÑƒĞ¼ĞµĞ½Ñ‚Ñ–Ğ²",
+
+// Toolbar Items and Context Menu
+Save				: "Ğ—Ğ±ĞµÑ€ĞµĞ³Ñ‚Ğ¸",
+NewPage				: "ĞĞ¾Ğ²Ğ° ÑÑ‚Ğ¾Ñ€Ñ–Ğ½ĞºĞ°",
+Preview				: "ĞŸĞ¾Ğ¿ĞµÑ€ĞµĞ´Ğ½Ñ–Ğ¹ Ğ¿ĞµÑ€ĞµĞ³Ğ»ÑĞ´",
+Cut					: "Ğ’Ğ¸Ñ€Ñ–Ğ·Ğ°Ñ‚Ğ¸",
+Copy				: "ĞšĞ¾Ğ¿Ñ–ÑĞ²Ğ°Ñ‚Ğ¸",
+Paste				: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚Ğ¸",
+PasteText			: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚Ğ¸ Ñ‚Ñ–Ğ»ÑŒĞºĞ¸ Ñ‚ĞµĞºÑÑ‚",
+PasteWord			: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚Ğ¸ Ğ· Word",
+Print				: "Ğ”Ñ€ÑƒĞº",
+SelectAll			: "Ğ’Ğ¸Ğ´Ñ–Ğ»Ğ¸Ñ‚Ğ¸ Ğ²ÑĞµ",
+RemoveFormat		: "ĞŸÑ€Ğ¸Ğ±Ñ€Ğ°Ñ‚Ğ¸ Ñ„Ğ¾Ñ€Ğ¼Ğ°Ñ‚ÑƒĞ²Ğ°Ğ½Ğ½Ñ",
+InsertLinkLbl		: "ĞŸĞ¾ÑĞ¸Ğ»Ğ°Ğ½Ğ½Ñ",
+InsertLink			: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚Ğ¸/Ğ ĞµĞ´Ğ°Ğ³ÑƒĞ²Ğ°Ñ‚Ğ¸ Ğ¿Ğ¾ÑĞ¸Ğ»Ğ°Ğ½Ğ½Ñ",
+RemoveLink			: "Ğ—Ğ½Ğ¸Ñ‰Ğ¸Ñ‚Ğ¸ Ğ¿Ğ¾ÑĞ¸Ğ»Ğ°Ğ½Ğ½Ñ",
+VisitLink			: "Ğ’Ñ–Ğ´ĞºÑ€Ğ¸Ñ‚Ğ¸ Ğ¿Ğ¾ÑĞ¸Ğ»Ğ°Ğ½Ğ½Ñ",
+Anchor				: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚Ğ¸/Ğ ĞµĞ´Ğ°Ğ³ÑƒĞ²Ğ°Ñ‚Ğ¸ ÑĞºÑ–Ñ€",
+AnchorDelete		: "Ğ’Ğ¸Ğ´Ğ°Ğ»Ğ¸Ñ‚Ğ¸ ÑĞºÑ–Ñ€",
+InsertImageLbl		: "Ğ—Ğ¾Ğ±Ñ€Ğ°Ğ¶ĞµĞ½Ğ½Ñ",
+InsertImage			: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚Ğ¸/Ğ ĞµĞ´Ğ°Ğ³ÑƒĞ²Ğ°Ñ‚Ğ¸ Ğ·Ğ¾Ğ±Ñ€Ğ°Ğ¶ĞµĞ½Ğ½Ñ",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚Ğ¸/Ğ ĞµĞ´Ğ°Ğ³ÑƒĞ²Ğ°Ñ‚Ğ¸ Flash",
+InsertTableLbl		: "Ğ¢Ğ°Ğ±Ğ»Ğ¸Ñ†Ñ",
+InsertTable			: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚Ğ¸/Ğ ĞµĞ´Ğ°Ğ³ÑƒĞ²Ğ°Ñ‚Ğ¸ Ñ‚Ğ°Ğ±Ğ»Ğ¸Ñ†Ñ",
+InsertLineLbl		: "Ğ›Ñ–Ğ½Ñ–Ñ",
+InsertLine			: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚Ğ¸ Ğ³Ğ¾Ñ€Ğ¸Ğ·Ğ¾Ğ½Ñ‚Ğ°Ğ»ÑŒĞ½Ñƒ Ğ»Ñ–Ğ½Ñ–Ñ",
+InsertSpecialCharLbl: "Ğ¡Ğ¿ĞµÑ†Ñ–Ğ°Ğ»ÑŒĞ½Ğ¸Ğ¹ ÑĞ¸Ğ¼Ğ²Ğ¾Ğ»",
+InsertSpecialChar	: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚Ğ¸ ÑĞ¿ĞµÑ†Ñ–Ğ°Ğ»ÑŒĞ½Ğ¸Ğ¹ ÑĞ¸Ğ¼Ğ²Ğ¾Ğ»",
+InsertSmileyLbl		: "Ğ¡Ğ¼Ğ°Ğ¹Ğ»Ğ¸Ğº",
+InsertSmiley		: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚Ğ¸ ÑĞ¼Ğ°Ğ¹Ğ»Ğ¸Ğº",
+About				: "ĞŸÑ€Ğ¾ FCKeditor",
+Bold				: "Ğ–Ğ¸Ñ€Ğ½Ğ¸Ğ¹",
+Italic				: "ĞšÑƒÑ€ÑĞ¸Ğ²",
+Underline			: "ĞŸÑ–Ğ´ĞºÑ€ĞµÑĞ»ĞµĞ½Ğ¸Ğ¹",
+StrikeThrough		: "Ğ—Ğ°ĞºÑ€ĞµÑĞ»ĞµĞ½Ğ¸Ğ¹",
+Subscript			: "ĞŸÑ–Ğ´Ñ€ÑĞ´ĞºĞ¾Ğ²Ğ¸Ğ¹ Ñ–Ğ½Ğ´ĞµĞºÑ",
+Superscript			: "ĞĞ°Ğ´Ñ€ÑĞ´ĞºĞ¾Ğ²Ğ¸Ğ¹ Ğ¸Ğ½Ğ´ĞµĞºÑ",
+LeftJustify			: "ĞŸĞ¾ Ğ»Ñ–Ğ²Ğ¾Ğ¼Ñƒ ĞºÑ€Ğ°Ñ",
+CenterJustify		: "ĞŸĞ¾ Ñ†ĞµĞ½Ñ‚Ñ€Ñƒ",
+RightJustify		: "ĞŸĞ¾ Ğ¿Ñ€Ğ°Ğ²Ğ¾Ğ¼Ñƒ ĞºÑ€Ğ°Ñ",
+BlockJustify		: "ĞŸĞ¾ ÑˆĞ¸Ñ€Ğ¸Ğ½Ñ–",
+DecreaseIndent		: "Ğ—Ğ¼ĞµĞ½ÑˆĞ¸Ñ‚Ğ¸ Ğ²Ñ–Ğ´ÑÑ‚ÑƒĞ¿",
+IncreaseIndent		: "Ğ—Ğ±Ñ–Ğ»ÑŒÑˆĞ¸Ñ‚Ğ¸ Ğ²Ñ–Ğ´ÑÑ‚ÑƒĞ¿",
+Blockquote			: "Ğ¦Ğ¸Ñ‚Ğ°Ñ‚Ğ°",
+CreateDiv			: "Ğ¡Ñ‚Ğ²Ğ¾Ñ€Ğ¸Ñ‚Ğ¸ Div ĞºĞ¾Ğ½Ñ‚ĞµĞ¹Ğ½ĞµÑ€",
+EditDiv				: "Ğ ĞµĞ´Ğ°Ğ³ÑƒĞ²Ğ°Ñ‚Ğ¸ Div ĞºĞ¾Ğ½Ñ‚ĞµĞ¹Ğ½ĞµÑ€",
+DeleteDiv			: "Ğ’Ğ¸Ğ´Ğ°Ğ»Ğ¸Ñ‚Ğ¸ Div ĞºĞ¾Ğ½Ñ‚ĞµĞ¹Ğ½ĞµÑ€",
+Undo				: "ĞŸĞ¾Ğ²ĞµÑ€Ğ½ÑƒÑ‚Ğ¸",
+Redo				: "ĞŸĞ¾Ğ²Ñ‚Ğ¾Ñ€Ğ¸Ñ‚Ğ¸",
+NumberedListLbl		: "ĞÑƒĞ¼ĞµÑ€Ğ¾Ğ²Ğ°Ğ½Ğ¸Ğ¹ ÑĞ¿Ğ¸ÑĞ¾Ğº",
+NumberedList		: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚Ğ¸/Ğ’Ğ¸Ğ´Ğ°Ğ»Ğ¸Ñ‚Ğ¸ Ğ½ÑƒĞ¼ĞµÑ€Ğ¾Ğ²Ğ°Ğ½Ğ¸Ğ¹ ÑĞ¿Ğ¸ÑĞ¾Ğº",
+BulletedListLbl		: "ĞœĞ°Ñ€ĞºĞ¾Ğ²Ğ°Ğ½Ğ¸Ğ¹ ÑĞ¿Ğ¸ÑĞ¾Ğº",
+BulletedList		: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚Ğ¸/Ğ’Ğ¸Ğ´Ğ°Ğ»Ğ¸Ñ‚Ğ¸ Ğ¼Ğ°Ñ€ĞºĞ¾Ğ²Ğ°Ğ½Ğ¸Ğ¹ ÑĞ¿Ğ¸ÑĞ¾Ğº",
+ShowTableBorders	: "ĞŸĞ¾ĞºĞ°Ğ·Ğ°Ñ‚Ğ¸ Ğ±Ğ¾Ñ€Ğ´ÑÑ€Ğ¸ Ñ‚Ğ°Ğ±Ğ»Ğ¸Ñ†Ñ–",
+ShowDetails			: "ĞŸĞ¾ĞºĞ°Ğ·Ğ°Ñ‚Ğ¸ Ğ´ĞµÑ‚Ğ°Ğ»Ñ–",
+Style				: "Ğ¡Ñ‚Ğ¸Ğ»ÑŒ",
+FontFormat			: "Ğ¤Ğ¾Ñ€Ğ¼Ğ°Ñ‚ÑƒĞ²Ğ°Ğ½Ğ½Ñ",
+Font				: "Ğ¨Ñ€Ğ¸Ñ„Ñ‚",
+FontSize			: "Ğ Ğ¾Ğ·Ğ¼Ñ–Ñ€",
+TextColor			: "ĞšĞ¾Ğ»Ñ–Ñ€ Ñ‚ĞµĞºÑÑ‚Ñƒ",
+BGColor				: "ĞšĞ¾Ğ»Ñ–Ñ€ Ñ„Ğ¾Ğ½Ñƒ",
+Source				: "Ğ”Ğ¶ĞµÑ€ĞµĞ»Ğ¾",
+Find				: "ĞŸĞ¾ÑˆÑƒĞº",
+Replace				: "Ğ—Ğ°Ğ¼Ñ–Ğ½Ğ°",
+SpellCheck			: "ĞŸĞµÑ€ĞµĞ²Ñ–Ñ€Ğ¸Ñ‚Ğ¸ Ğ¾Ñ€Ñ„Ğ¾Ğ³Ñ€Ğ°Ñ„Ñ–Ñ",
+UniversalKeyboard	: "Ğ£Ğ½Ñ–Ğ²ĞµÑ€ÑĞ°Ğ»ÑŒĞ½Ğ° ĞºĞ»Ğ°Ğ²Ñ–Ğ°Ñ‚ÑƒÑ€Ğ°",
+PageBreakLbl		: "Ğ Ğ¾Ğ·Ñ€Ğ¸Ğ²ÑˆĞ¸ ÑÑ‚Ğ¾Ñ€Ñ–Ğ½ĞºĞ¸",
+PageBreak			: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚Ğ¸ Ñ€Ğ¾Ğ·Ñ€Ğ¸Ğ²ÑˆĞ¸ ÑÑ‚Ğ¾Ñ€Ñ–Ğ½ĞºĞ¸",
+
+Form			: "Ğ¤Ğ¾Ñ€Ğ¼Ğ°",
+Checkbox		: "Ğ¤Ğ»Ğ°Ğ³Ğ¾Ğ²Ğ° ĞºĞ½Ğ¾Ğ¿ĞºĞ°",
+RadioButton		: "ĞšĞ½Ğ¾Ğ¿ĞºĞ° Ğ²Ğ¸Ğ±Ğ¾Ñ€Ñƒ",
+TextField		: "Ğ¢ĞµĞºÑÑ‚Ğ¾Ğ²Ğµ Ğ¿Ğ¾Ğ»Ğµ",
+Textarea		: "Ğ¢ĞµĞºÑÑ‚Ğ¾Ğ²Ğ° Ğ¾Ğ±Ğ»Ğ°ÑÑ‚ÑŒ",
+HiddenField		: "ĞŸÑ€Ğ¸Ñ…Ğ¾Ğ²Ğ°Ğ½Ğµ Ğ¿Ğ¾Ğ»Ğµ",
+Button			: "ĞšĞ½Ğ¾Ğ¿ĞºĞ°",
+SelectionField	: "Ğ¡Ğ¿Ğ¸ÑĞ¾Ğº",
+ImageButton		: "ĞšĞ½Ğ¾Ğ¿ĞºĞ° Ñ–Ğ· Ğ·Ğ¾Ğ±Ñ€Ğ°Ğ¶ĞµĞ½Ğ½ÑĞ¼",
+
+FitWindow		: "Ğ Ğ¾Ğ·Ğ²ĞµÑ€Ğ½ÑƒÑ‚Ğ¸ Ğ²Ñ–ĞºĞ½Ğ¾ Ñ€ĞµĞ´Ğ°ĞºÑ‚Ğ¾Ñ€Ğ°",
+ShowBlocks		: "ĞŸĞ¾ĞºĞ°Ğ·ÑƒĞ²Ğ°Ñ‚Ğ¸ Ğ±Ğ»Ğ¾ĞºĞ¸",
+
+// Context Menu
+EditLink			: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚Ğ¸ Ğ¿Ğ¾ÑĞ¸Ğ»Ğ°Ğ½Ğ½Ñ",
+CellCM				: "ĞÑĞµÑ€ĞµĞ´Ğ¾Ğº",
+RowCM				: "Ğ ÑĞ´Ğ¾Ğº",
+ColumnCM			: "ĞšĞ¾Ğ»Ğ¾Ğ½ĞºĞ°",
+InsertRowAfter		: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚Ğ¸ Ñ€ÑĞ´Ğ¾Ğº Ğ¿Ñ–ÑĞ»Ñ",
+InsertRowBefore		: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚Ğ¸ Ñ€ÑĞ´Ğ¾Ğº Ğ´Ğ¾",
+DeleteRows			: "Ğ’Ğ¸Ğ´Ğ°Ğ»Ğ¸Ñ‚Ğ¸ ÑÑ‚Ñ€Ğ¾ĞºĞ¸",
+InsertColumnAfter	: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚Ğ¸ ĞºĞ¾Ğ»Ğ¾Ğ½ĞºÑƒ Ğ¿Ñ–ÑĞ»Ñ",
+InsertColumnBefore	: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚Ğ¸ ĞºĞ¾Ğ»Ğ¾Ğ½ĞºÑƒ Ğ´Ğ¾",
+DeleteColumns		: "Ğ’Ğ¸Ğ´Ğ°Ğ»Ğ¸Ñ‚Ğ¸ ĞºĞ¾Ğ»Ğ¾Ğ½ĞºĞ¸",
+InsertCellAfter		: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚Ğ¸ ĞºĞ¾Ğ¼Ñ–Ñ€ĞºÑƒ Ğ¿Ñ–ÑĞ»Ñ",
+InsertCellBefore	: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚Ğ¸ ĞºĞ¾Ğ¼Ñ–Ñ€ĞºÑƒ Ğ´Ğ¾",
+DeleteCells			: "Ğ’Ğ¸Ğ´Ğ°Ğ»Ğ¸Ñ‚Ğ¸ ĞºĞ¾Ğ¼Ñ–Ñ€ĞºĞ¸",
+MergeCells			: "ĞĞ±'Ñ”Ğ´Ğ½Ğ°Ñ‚Ğ¸ ĞºĞ¾Ğ¼Ñ–Ñ€ĞºĞ¸",
+MergeRight			: "ĞĞ±'Ñ”Ğ´Ğ½Ğ°Ñ‚Ğ¸ Ğ·Ğ¿Ñ€Ğ°Ğ²Ğ°",
+MergeDown			: "ĞĞ±'Ñ”Ğ´Ğ½Ğ°Ñ‚Ğ¸ Ğ´Ğ¾ Ğ½Ğ¸Ğ·Ñƒ",
+HorizontalSplitCell	: "Ğ Ğ¾Ğ·Ğ´Ñ–Ğ»Ğ¸Ñ‚Ğ¸ ĞºĞ¾Ğ¼Ñ–Ñ€ĞºÑƒ Ğ¿Ğ¾ Ğ³Ğ¾Ñ€Ğ¸Ğ·Ğ¾Ğ½Ñ‚Ğ°Ğ»Ñ–",
+VerticalSplitCell	: "Ğ Ğ¾Ğ·Ğ´Ñ–Ğ»Ğ¸Ñ‚Ğ¸ ĞºĞ¾Ğ¼Ñ–Ñ€ĞºÑƒ Ğ¿Ğ¾ Ğ²ĞµÑ€Ñ‚Ğ¸ĞºĞ°Ğ»Ñ–",
+TableDelete			: "Ğ’Ğ¸Ğ´Ğ°Ğ»Ğ¸Ñ‚Ğ¸ Ñ‚Ğ°Ğ±Ğ»Ğ¸Ñ†Ñ",
+CellProperties		: "Ğ’Ğ»Ğ°ÑÑ‚Ğ¸Ğ²Ğ¾ÑÑ‚Ñ– ĞºĞ¾Ğ¼Ñ–Ñ€ĞºĞ¸",
+TableProperties		: "Ğ’Ğ»Ğ°ÑÑ‚Ğ¸Ğ²Ğ¾ÑÑ‚Ñ– Ñ‚Ğ°Ğ±Ğ»Ğ¸Ñ†Ñ–",
+ImageProperties		: "Ğ’Ğ»Ğ°ÑÑ‚Ğ¸Ğ²Ğ¾ÑÑ‚Ñ– Ğ·Ğ¾Ğ±Ñ€Ğ°Ğ¶ĞµĞ½Ğ½Ñ",
+FlashProperties		: "Ğ’Ğ»Ğ°ÑÑ‚Ğ¸Ğ²Ğ¾ÑÑ‚Ñ– Flash",
+
+AnchorProp			: "Ğ’Ğ»Ğ°ÑÑ‚Ğ¸Ğ²Ğ¾ÑÑ‚Ñ– ÑĞºĞ¾Ñ€Ñ",
+ButtonProp			: "Ğ’Ğ»Ğ°ÑÑ‚Ğ¸Ğ²Ğ¾ÑÑ‚Ñ– ĞºĞ½Ğ¾Ğ¿ĞºĞ¸",
+CheckboxProp		: "Ğ’Ğ»Ğ°ÑÑ‚Ğ¸Ğ²Ğ¾ÑÑ‚Ñ– Ñ„Ğ»Ğ°Ğ³Ğ¾Ğ²Ğ¾Ñ— ĞºĞ½Ğ¾Ğ¿ĞºĞ¸",
+HiddenFieldProp		: "Ğ’Ğ»Ğ°ÑÑ‚Ğ¸Ğ²Ğ¾ÑÑ‚Ñ– Ğ¿Ñ€Ğ¸Ñ…Ğ¾Ğ²Ğ°Ğ½Ğ¾Ğ³Ğ¾ Ğ¿Ğ¾Ğ»Ñ",
+RadioButtonProp		: "Ğ’Ğ»Ğ°ÑÑ‚Ğ¸Ğ²Ğ¾ÑÑ‚Ñ– ĞºĞ½Ğ¾Ğ¿ĞºĞ¸ Ğ²Ğ¸Ğ±Ğ¾Ñ€Ñƒ",
+ImageButtonProp		: "Ğ’Ğ»Ğ°ÑÑ‚Ğ¸Ğ²Ğ¾ÑÑ‚Ñ– ĞºĞ½Ğ¾Ğ¿ĞºĞ¸ Ñ–Ğ· Ğ·Ğ¾Ğ±Ñ€Ğ°Ğ¶ĞµĞ½Ğ½ÑĞ¼",
+TextFieldProp		: "Ğ’Ğ»Ğ°ÑÑ‚Ğ¸Ğ²Ğ¾ÑÑ‚Ñ– Ñ‚ĞµĞºÑÑ‚Ğ¾Ğ²Ğ¾Ğ³Ğ¾ Ğ¿Ğ¾Ğ»Ñ",
+SelectionFieldProp	: "Ğ’Ğ»Ğ°ÑÑ‚Ğ¸Ğ²Ğ¾ÑÑ‚Ñ– ÑĞ¿Ğ¸ÑĞºÑƒ",
+TextareaProp		: "Ğ’Ğ»Ğ°ÑÑ‚Ğ¸Ğ²Ğ¾ÑÑ‚Ñ– Ñ‚ĞµĞºÑÑ‚Ğ¾Ğ²Ğ¾Ñ— Ğ¾Ğ±Ğ»Ğ°ÑÑ‚Ñ–",
+FormProp			: "Ğ’Ğ»Ğ°ÑÑ‚Ğ¸Ğ²Ğ¾ÑÑ‚Ñ– Ñ„Ğ¾Ñ€Ğ¼Ğ¸",
+
+FontFormats			: "ĞĞ¾Ñ€Ğ¼Ğ°Ğ»ÑŒĞ½Ğ¸Ğ¹;Ğ¤Ğ¾Ñ€Ğ¼Ğ°Ñ‚Ğ¾Ğ²Ğ°Ğ½Ğ¸Ğ¹;ĞĞ´Ñ€ĞµÑĞ°;Ğ—Ğ°Ğ³Ğ¾Ğ»Ğ¾Ğ²Ğ¾Ğº 1;Ğ—Ğ°Ğ³Ğ¾Ğ»Ğ¾Ğ²Ğ¾Ğº 2;Ğ—Ğ°Ğ³Ğ¾Ğ»Ğ¾Ğ²Ğ¾Ğº 3;Ğ—Ğ°Ğ³Ğ¾Ğ»Ğ¾Ğ²Ğ¾Ğº 4;Ğ—Ğ°Ğ³Ğ¾Ğ»Ğ¾Ğ²Ğ¾Ğº 5;Ğ—Ğ°Ğ³Ğ¾Ğ»Ğ¾Ğ²Ğ¾Ğº 6;ĞĞ¾Ñ€Ğ¼Ğ°Ğ»ÑŒĞ½Ğ¸Ğ¹ (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "ĞĞ±Ñ€Ğ¾Ğ±ĞºĞ° XHTML. Ğ—Ğ°Ñ‡ĞµĞºĞ°Ğ¹Ñ‚Ğµ, Ğ±ÑƒĞ´ÑŒ Ğ»Ğ°ÑĞºĞ°...",
+Done				: "Ğ—Ñ€Ğ¾Ğ±Ğ»ĞµĞ½Ğ¾",
+PasteWordConfirm	: "Ğ¢ĞµĞºÑÑ‚, Ñ‰Ğ¾ Ğ²Ğ¸ Ñ…Ğ¾Ñ‡ĞµÑ‚Ğµ Ğ²ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚Ğ¸, ÑÑ…Ğ¾Ğ¶Ğ¸Ğ¹ Ğ½Ğ° ĞºĞ¾Ğ¿Ñ–Ğ¹Ğ¾Ğ²Ğ°Ğ½Ğ¸Ğ¹ Ğ· Word. Ğ’Ğ¸ Ñ…Ğ¾Ñ‡ĞµÑ‚Ğµ Ğ¾Ñ‡Ğ¸ÑÑ‚Ğ¸Ñ‚Ğ¸ Ğ¹Ğ¾Ğ³Ğ¾ Ğ¿ĞµÑ€ĞµĞ´ Ğ²ÑÑ‚Ğ°Ğ²ĞºĞ¾Ñ?",
+NotCompatiblePaste	: "Ğ¦Ñ ĞºĞ¾Ğ¼Ğ°Ğ½Ğ´Ğ° Ğ´Ğ¾ÑÑ‚ÑƒĞ¿Ğ½Ğ° Ğ´Ğ»Ñ Internet Explorer Ğ²ĞµÑ€ÑÑ–Ñ— 5.5 Ğ°Ğ±Ğ¾ Ğ²Ğ¸Ñ‰Ğµ. Ğ’Ğ¸ Ñ…Ğ¾Ñ‡ĞµÑ‚Ğµ Ğ²ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚Ğ¸ Ğ±ĞµĞ· Ğ¾Ñ‡Ğ¸Ñ‰ĞµĞ½Ğ½Ñ?",
+UnknownToolbarItem	: "ĞĞµĞ²Ñ–Ğ´Ğ¾Ğ¼Ğ¸Ğ¹ ĞµĞ»ĞµĞ¼ĞµĞ½Ñ‚ Ğ¿Ğ°Ğ½ĞµĞ»Ñ– Ñ–Ğ½ÑÑ‚Ñ€ÑƒĞ¼ĞµĞ½Ñ‚Ñ–Ğ² \"%1\"",
+UnknownCommand		: "ĞĞµĞ²Ñ–Ğ´Ğ¾Ğ¼Ğµ Ñ–Ğ¼'Ñ ĞºĞ¾Ğ¼Ğ°Ğ½Ğ´Ğ¸ \"%1\"",
+NotImplemented		: "ĞšĞ¾Ğ¼Ğ°Ğ½Ğ´Ğ° Ğ½Ğµ Ñ€ĞµĞ°Ğ»Ñ–Ğ·Ğ¾Ğ²Ğ°Ğ½Ğ°",
+UnknownToolbarSet	: "ĞŸĞ°Ğ½ĞµĞ»ÑŒ Ñ–Ğ½ÑÑ‚Ñ€ÑƒĞ¼ĞµĞ½Ñ‚Ñ–Ğ² \"%1\" Ğ½Ğµ Ñ–ÑĞ½ÑƒÑ”",
+NoActiveX			: "ĞĞ°ÑÑ‚Ñ€Ğ¾Ğ¹ĞºĞ¸ Ğ±ĞµĞ·Ğ¿ĞµĞºĞ¸ Ğ²Ğ°ÑˆĞ¾Ğ³Ğ¾ Ğ±Ñ€Ğ°ÑƒĞ·ĞµÑ€Ğ° Ğ¼Ğ¾Ğ¶ÑƒÑ‚ÑŒ Ğ¾Ğ±Ğ¼ĞµĞ¶ÑƒĞ²Ğ°Ñ‚Ğ¸ Ğ´ĞµÑĞºÑ– Ğ²Ğ»Ğ°ÑÑ‚Ğ¸Ğ²Ğ¾ÑÑ‚Ñ– Ñ€ĞµĞ´Ğ°ĞºÑ‚Ğ¾Ñ€Ğ°. Ğ’Ğ¸ Ğ¿Ğ¾Ğ²Ğ¸Ğ½Ğ½Ñ– Ğ²ĞºĞ»ÑÑ‡Ğ¸Ñ‚Ğ¸ Ğ¾Ğ¿Ñ†Ñ–Ñ \"Ğ—Ğ°Ğ¿ÑƒÑĞºĞ°Ñ‚Ğ¸ ĞµĞ»ĞµĞ¼ĞµĞ½Ñ‚Ğ¸ ÑƒĞ¿Ñ€Ğ°Ğ²Ğ»Ñ–Ğ½Ğ½Ñ ACTIVEX Ñ– Ğ¿Ğ»ÑƒĞ³Ñ–Ğ½Ğ¸\". Ğ’Ğ¸ Ğ¼Ğ¾Ğ¶ĞµÑ‚Ğµ Ğ±Ğ°Ñ‡Ğ¸Ñ‚Ğ¸ Ğ¿Ğ¾Ğ¼Ğ¸Ğ»ĞºĞ¸ Ñ– Ğ¿Ğ¾Ğ¼Ñ–Ñ‡Ğ°Ñ‚Ğ¸ Ğ²Ñ–Ğ´ÑÑƒÑ‚Ğ½Ñ–ÑÑ‚ÑŒ Ğ¼Ğ¾Ğ¶Ğ»Ğ¸Ğ²Ğ¾ÑÑ‚ĞµĞ¹.",
+BrowseServerBlocked : "Ğ ĞµÑÑƒÑ€ÑĞ¸ Ğ±Ñ€Ğ°ÑƒĞ·ĞµÑ€Ğ° Ğ½Ğµ Ğ¼Ğ¾Ğ¶ÑƒÑ‚ÑŒ Ğ±ÑƒÑ‚Ğ¸ Ğ²Ñ–Ğ´ĞºÑ€Ğ¸Ñ‚Ñ–. ĞŸĞµÑ€ĞµĞ²Ñ–Ñ€Ñ‚Ğµ Ñ‰Ğ¾ Ğ±Ğ»Ğ¾ĞºÑƒĞ²Ğ°Ğ½Ğ½Ñ ÑĞ¿Ğ»Ğ¸Ğ²Ğ°ÑÑ‡Ğ¸Ñ… Ğ²Ñ–ĞºĞ¾Ğ½ Ğ²Ğ¸Ğ¼ĞºĞ½ĞµĞ½Ñ–.",
+DialogBlocked		: "ĞĞµ Ğ¼Ğ¾Ğ¶Ğ»Ğ¸Ğ²Ğ¾ Ğ²Ñ–Ğ´ĞºÑ€Ğ¸Ñ‚Ğ¸ Ğ²Ñ–ĞºĞ½Ğ¾ Ğ´Ñ–Ğ°Ğ»Ğ¾Ğ³Ñƒ. ĞŸĞµÑ€ĞµĞ²Ñ–Ñ€Ñ‚Ğµ Ñ‰Ğ¾ Ğ±Ğ»Ğ¾ĞºÑƒĞ²Ğ°Ğ½Ğ½Ñ ÑĞ¿Ğ»Ğ¸Ğ²Ğ°ÑÑ‡Ğ¸Ñ… Ğ²Ñ–ĞºĞ¾Ğ½ Ğ²Ğ¸Ğ¼ĞºĞ½ĞµĞ½Ñ–.",
+VisitLinkBlocked	: "It was not possible to open a new window. Make sure all popup blockers are disabled.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "ĞĞš",
+DlgBtnCancel		: "Ğ¡ĞºĞ°ÑÑƒĞ²Ğ°Ñ‚Ğ¸",
+DlgBtnClose			: "Ğ—Ğ°Ñ‡Ğ¸Ğ½Ğ¸Ñ‚Ğ¸",
+DlgBtnBrowseServer	: "ĞŸĞµÑ€ĞµĞ´Ğ¸Ğ²Ğ¸Ñ‚Ğ¸ÑÑ Ğ½Ğ° ÑĞµÑ€Ğ²ĞµÑ€Ñ–",
+DlgAdvancedTag		: "Ğ Ğ¾Ğ·ÑˆĞ¸Ñ€ĞµĞ½Ğ¸Ğ¹",
+DlgOpOther			: "<Ğ†Ğ½ÑˆĞµ>",
+DlgInfoTab			: "Ğ†Ğ½Ñ„Ğ¾",
+DlgAlertUrl			: "Ğ’ÑÑ‚Ğ°Ğ²Ñ‚Ğµ, Ğ±ÑƒĞ´ÑŒ-Ğ»Ğ°ÑĞºĞ°, URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<Ğ½Ğµ Ğ²Ğ¸Ğ·Ğ½Ğ°Ñ‡ĞµĞ½Ğ¾>",
+DlgGenId			: "Ğ†Ğ´ĞµĞ½Ñ‚Ğ¸Ñ„Ñ–ĞºĞ°Ñ‚Ğ¾Ñ€",
+DlgGenLangDir		: "ĞĞ°Ğ¿Ñ€ÑĞ¼Ğ¾Ğº Ğ¼Ğ¾Ğ²Ğ¸",
+DlgGenLangDirLtr	: "Ğ—Ğ»Ñ–Ğ²Ğ° Ğ½Ğ° Ğ¿Ñ€Ğ°Ğ²Ğ¾ (LTR)",
+DlgGenLangDirRtl	: "Ğ—Ğ¿Ñ€Ğ°Ğ²Ğ° Ğ½Ğ° Ğ»Ñ–Ğ²Ğ¾ (RTL)",
+DlgGenLangCode		: "ĞœĞ¾Ğ²Ğ°",
+DlgGenAccessKey		: "Ğ“Ğ°Ñ€ÑÑ‡Ğ° ĞºĞ»Ğ°Ğ²Ñ–ÑˆĞ°",
+DlgGenName			: "Ğ˜Ğ¼'Ñ",
+DlgGenTabIndex		: "ĞŸĞ¾ÑĞ»Ñ–Ğ´Ğ¾Ğ²Ğ½Ñ–ÑÑ‚ÑŒ Ğ¿ĞµÑ€ĞµÑ…Ğ¾Ğ´Ñƒ",
+DlgGenLongDescr		: "Ğ”Ğ¾Ğ²Ğ³Ğ¸Ğ¹ Ğ¾Ğ¿Ğ¸Ñ URL",
+DlgGenClass			: "ĞšĞ»Ğ°Ñ CSS",
+DlgGenTitle			: "Ğ—Ğ°Ğ³Ğ¾Ğ»Ğ¾Ğ²Ğ¾Ğº",
+DlgGenContType		: "Ğ¢Ğ¸Ğ¿ Ğ²Ğ¼Ñ–ÑÑ‚Ñƒ",
+DlgGenLinkCharset	: "ĞšĞ¾Ğ´Ğ¸Ñ€Ğ¾Ğ²ĞºĞ°",
+DlgGenStyle			: "Ğ¡Ñ‚Ğ¸Ğ»ÑŒ CSS",
+
+// Image Dialog
+DlgImgTitle			: "Ğ’Ğ»Ğ°ÑÑ‚Ğ¸Ğ²Ğ¾ÑÑ‚Ñ– Ğ·Ğ¾Ğ±Ñ€Ğ°Ğ¶ĞµĞ½Ğ½Ñ",
+DlgImgInfoTab		: "Ğ†Ğ½Ñ„Ğ¾Ñ€Ğ¼Ğ°Ñ†Ñ–Ñ Ğ¿Ñ€Ğ¾ Ğ¸Ğ·Ğ¾Ğ±Ñ€Ğ°Ğ¶ĞµĞ½Ğ¸Ğ¸",
+DlgImgBtnUpload		: "ĞĞ°Ğ´Ñ–ÑĞ»Ğ°Ñ‚Ğ¸ Ğ½Ğ° ÑĞµÑ€Ğ²ĞµÑ€",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Ğ—Ğ°ĞºĞ°Ñ‡Ğ°Ñ‚Ğ¸",
+DlgImgAlt			: "ĞĞ»ÑŒÑ‚ĞµÑ€Ğ½Ğ°Ñ‚Ğ¸Ğ²Ğ½Ğ¸Ğ¹ Ñ‚ĞµĞºÑÑ‚",
+DlgImgWidth			: "Ğ¨Ğ¸Ñ€Ğ¸Ğ½Ğ°",
+DlgImgHeight		: "Ğ’Ğ¸ÑĞ¾Ñ‚Ğ°",
+DlgImgLockRatio		: "Ğ—Ğ±ĞµÑ€ĞµĞ³Ñ‚Ğ¸ Ğ¿Ñ€Ğ¾Ğ¿Ğ¾Ñ€Ñ†Ñ–Ñ—",
+DlgBtnResetSize		: "Ğ¡ĞºĞ¸Ğ½ÑƒÑ‚Ğ¸ Ñ€Ğ¾Ğ·Ğ¼Ñ–Ñ€",
+DlgImgBorder		: "Ğ‘Ğ¾Ñ€Ğ´ÑÑ€",
+DlgImgHSpace		: "Ğ“Ğ¾Ñ€Ğ¸Ğ·Ğ¾Ğ½Ñ‚Ğ°Ğ»ÑŒĞ½Ğ¸Ğ¹ Ğ²Ñ–Ğ´ÑÑ‚ÑƒĞ¿",
+DlgImgVSpace		: "Ğ’ĞµÑ€Ñ‚Ğ¸ĞºĞ°Ğ»ÑŒĞ½Ğ¸Ğ¹ Ğ²Ñ–Ğ´ÑÑ‚ÑƒĞ¿",
+DlgImgAlign			: "Ğ’Ğ¸Ñ€Ñ–Ğ²Ğ½ÑĞ²Ğ°Ğ½Ğ½Ñ",
+DlgImgAlignLeft		: "ĞŸĞ¾ Ğ»Ñ–Ğ²Ğ¾Ğ¼Ñƒ ĞºÑ€Ğ°Ñ",
+DlgImgAlignAbsBottom: "ĞĞ±Ñ Ğ¿Ğ¾ Ğ½Ğ¸Ğ·Ñƒ",
+DlgImgAlignAbsMiddle: "ĞĞ±Ñ Ğ¿Ğ¾ ÑĞµÑ€ĞµĞ´Ğ¸Ğ½Ñ–",
+DlgImgAlignBaseline	: "ĞŸĞ¾ Ğ±Ğ°Ğ·Ğ¾Ğ²Ñ–Ğ¹ Ğ»Ñ–Ğ½Ñ–Ñ—",
+DlgImgAlignBottom	: "ĞŸĞ¾ Ğ½Ğ¸Ğ·Ñƒ",
+DlgImgAlignMiddle	: "ĞŸĞ¾ ÑĞµÑ€ĞµĞ´Ğ¸Ğ½Ñ–",
+DlgImgAlignRight	: "ĞŸĞ¾ Ğ¿Ñ€Ğ°Ğ²Ğ¾Ğ¼Ñƒ ĞºÑ€Ğ°Ñ",
+DlgImgAlignTextTop	: "Ğ¢ĞµĞºÑÑ‚ Ğ½Ğ° Ğ²ĞµÑ€Ñ…Ñƒ",
+DlgImgAlignTop		: "ĞŸĞ¾ Ğ²ĞµÑ€Ñ…Ñƒ",
+DlgImgPreview		: "ĞŸĞ¾Ğ¿ĞµÑ€ĞµĞ´Ğ½Ñ–Ğ¹ Ğ¿ĞµÑ€ĞµĞ³Ğ»ÑĞ´",
+DlgImgAlertUrl		: "Ğ‘ÑƒĞ´ÑŒ Ğ»Ğ°ÑĞºĞ°, Ğ²Ğ²ĞµĞ´Ñ–Ñ‚ÑŒ URL Ğ·Ğ¾Ğ±Ñ€Ğ°Ğ¶ĞµĞ½Ğ½Ñ",
+DlgImgLinkTab		: "ĞŸĞ¾ÑĞ¸Ğ»Ğ°Ğ½Ğ½Ñ",
+
+// Flash Dialog
+DlgFlashTitle		: "Ğ’Ğ»Ğ°ÑÑ‚Ğ¸Ğ²Ğ¾ÑÑ‚Ñ– Flash",
+DlgFlashChkPlay		: "ĞĞ²Ñ‚Ğ¾ Ğ¿Ñ€Ğ¾Ğ³Ñ€Ğ°Ğ²Ğ°Ğ½Ğ½Ñ",
+DlgFlashChkLoop		: "Ğ—Ğ°Ñ†Ğ¸ĞºĞ»Ğ¸Ñ‚Ğ¸",
+DlgFlashChkMenu		: "Ğ”Ğ¾Ğ·Ğ²Ğ¾Ğ»Ğ¸Ñ‚Ğ¸ Ğ¼ĞµĞ½Ñ Flash",
+DlgFlashScale		: "ĞœĞ°ÑÑˆÑ‚Ğ°Ğ±",
+DlgFlashScaleAll	: "ĞŸĞ¾ĞºĞ°Ğ·Ğ°Ñ‚Ğ¸ Ğ²ÑÑ–",
+DlgFlashScaleNoBorder	: "Ğ‘ĞµĞ· Ñ€Ğ°Ğ¼ĞºĞ¸",
+DlgFlashScaleFit	: "Ğ”Ñ–Ğ¹ÑĞ½Ğ¸Ğ¹ Ñ€Ğ¾Ğ·Ğ¼Ñ–Ñ€",
+
+// Link Dialog
+DlgLnkWindowTitle	: "ĞŸĞ¾ÑĞ¸Ğ»Ğ°Ğ½Ğ½Ñ",
+DlgLnkInfoTab		: "Ğ†Ğ½Ñ„Ğ¾Ñ€Ğ¼Ğ°Ñ†Ñ–Ñ Ğ¿Ğ¾ÑĞ¸Ğ»Ğ°Ğ½Ğ½Ñ",
+DlgLnkTargetTab		: "Ğ¦Ñ–Ğ»ÑŒ",
+
+DlgLnkType			: "Ğ¢Ğ¸Ğ¿ Ğ¿Ğ¾ÑĞ¸Ğ»Ğ°Ğ½Ğ½Ñ",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Ğ¯ĞºÑ–Ñ€ Ğ½Ğ° Ñ†Ñ ÑÑ‚Ğ¾Ñ€Ñ–Ğ½ĞºÑƒ",
+DlgLnkTypeEMail		: "Ğ­Ğ». Ğ¿Ğ¾ÑˆÑ‚Ğ°",
+DlgLnkProto			: "ĞŸÑ€Ğ¾Ñ‚Ğ¾ĞºĞ¾Ğ»",
+DlgLnkProtoOther	: "<Ñ–Ğ½ÑˆĞµ>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "ĞĞ±ĞµÑ€Ñ–Ñ‚ÑŒ ÑĞºÑ–Ñ€",
+DlgLnkAnchorByName	: "Ğ—Ğ° Ñ–Ğ¼'ÑĞ¼ ÑĞºĞ¾Ñ€Ñ",
+DlgLnkAnchorById	: "Ğ—Ğ° Ñ–Ğ´ĞµĞ½Ñ‚Ğ¸Ñ„Ñ–ĞºĞ°Ñ‚Ğ¾Ñ€Ğ¾Ğ¼ ĞµĞ»ĞµĞ¼ĞµĞ½Ñ‚Ğ°",
+DlgLnkNoAnchors		: "(ĞĞµĞ¼Ğ°Ñ” ÑĞºĞ¾Ñ€Ñ–Ğ² Ğ´Ğ¾ÑÑ‚ÑƒĞ¿Ğ½Ğ¸Ñ… Ğ² Ñ†ÑŒĞ¾Ğ¼Ñƒ Ğ´Ğ¾ĞºÑƒĞ¼ĞµĞ½Ñ‚Ñ–)",
+DlgLnkEMail			: "ĞĞ´Ñ€ĞµÑĞ° ĞµĞ». Ğ¿Ğ¾ÑˆÑ‚Ğ¸",
+DlgLnkEMailSubject	: "Ğ¢ĞµĞ¼Ğ° Ğ»Ğ¸ÑÑ‚Ğ°",
+DlgLnkEMailBody		: "Ğ¢Ñ–Ğ»Ğ¾ Ğ¿Ğ¾Ğ²Ñ–Ğ´Ğ¾Ğ¼Ğ»ĞµĞ½Ğ½Ñ",
+DlgLnkUpload		: "Ğ—Ğ°ĞºĞ°Ñ‡Ğ°Ñ‚Ğ¸",
+DlgLnkBtnUpload		: "ĞŸĞµÑ€ĞµÑĞ»Ğ°Ñ‚Ğ¸ Ğ½Ğ° ÑĞµÑ€Ğ²ĞµÑ€",
+
+DlgLnkTarget		: "Ğ¦Ñ–Ğ»ÑŒ",
+DlgLnkTargetFrame	: "<Ñ„Ñ€ĞµĞ¹Ğ¼>",
+DlgLnkTargetPopup	: "<ÑĞ¿Ğ»Ğ¸Ğ²Ğ°ÑÑ‡Ğµ Ğ²Ñ–ĞºĞ½Ğ¾>",
+DlgLnkTargetBlank	: "ĞĞ¾Ğ²Ğµ Ğ²Ñ–ĞºĞ½Ğ¾ (_blank)",
+DlgLnkTargetParent	: "Ğ‘Ğ°Ñ‚ÑŒĞºÑ–Ğ²ÑÑŒĞºĞµ Ğ²Ñ–ĞºĞ½Ğ¾ (_parent)",
+DlgLnkTargetSelf	: "Ğ¢ĞµĞ¶ Ğ²Ñ–ĞºĞ½Ğ¾ (_self)",
+DlgLnkTargetTop		: "ĞĞ°Ğ¹Ğ²Ğ¸Ñ‰Ğµ Ğ²Ñ–ĞºĞ½Ğ¾ (_top)",
+DlgLnkTargetFrameName	: "Ğ†Ğ¼'Ñ Ñ†ĞµĞ»ĞµĞ²Ğ¾Ğ³Ğ¾ Ñ„Ñ€ĞµĞ¹Ğ¼Ğ°",
+DlgLnkPopWinName	: "Ğ†Ğ¼'Ñ ÑĞ¿Ğ»Ğ¸Ğ²Ğ°ÑÑ‡Ğ¾Ğ³Ğ¾ Ğ²Ñ–ĞºĞ½Ğ°",
+DlgLnkPopWinFeat	: "Ğ’Ğ»Ğ°ÑÑ‚Ğ¸Ğ²Ğ¾ÑÑ‚Ñ– ÑĞ¿Ğ»Ğ¸Ğ²Ğ°ÑÑ‡Ğ¾Ğ³Ğ¾ Ğ²Ñ–ĞºĞ½Ğ°",
+DlgLnkPopResize		: "Ğ—Ğ¼Ñ–Ğ½ÑÑ”Ñ‚ÑŒÑÑ Ğ² Ñ€Ğ¾Ğ·Ğ¼Ñ–Ñ€Ğ°Ñ…",
+DlgLnkPopLocation	: "ĞŸĞ°Ğ½ĞµĞ»ÑŒ Ğ»Ğ¾ĞºĞ°Ñ†Ñ–Ñ—",
+DlgLnkPopMenu		: "ĞŸĞ°Ğ½ĞµĞ»ÑŒ Ğ¼ĞµĞ½Ñ",
+DlgLnkPopScroll		: "ĞŸĞ¾Ğ»Ğ¾ÑĞ¸ Ğ¿Ñ€Ğ¾ĞºÑ€ÑƒÑ‚ĞºĞ¸",
+DlgLnkPopStatus		: "Ğ¡Ñ‚Ñ€Ğ¾ĞºĞ° ÑÑ‚Ğ°Ñ‚ÑƒÑÑƒ",
+DlgLnkPopToolbar	: "ĞŸĞ°Ğ½ĞµĞ»ÑŒ Ñ–Ğ½ÑÑ‚Ñ€ÑƒĞ¼ĞµĞ½Ñ‚Ñ–Ğ²",
+DlgLnkPopFullScrn	: "ĞŸĞ¾Ğ²Ğ½Ğ¸Ğ¹ ĞµĞºÑ€Ğ°Ğ½ (IE)",
+DlgLnkPopDependent	: "Ğ—Ğ°Ğ»ĞµĞ¶Ğ½Ğ¸Ğ¹ (Netscape)",
+DlgLnkPopWidth		: "Ğ¨Ğ¸Ñ€Ğ¸Ğ½Ğ°",
+DlgLnkPopHeight		: "Ğ’Ğ¸ÑĞ¾Ñ‚Ğ°",
+DlgLnkPopLeft		: "ĞŸĞ¾Ğ·Ğ¸Ñ†Ñ–Ñ Ğ·Ğ»Ñ–Ğ²Ğ°",
+DlgLnkPopTop		: "ĞŸĞ¾Ğ·Ğ¸Ñ†Ñ–Ñ Ğ·Ğ²ĞµÑ€Ñ…Ñƒ",
+
+DlnLnkMsgNoUrl		: "Ğ‘ÑƒĞ´ÑŒ Ğ»Ğ°ÑĞºĞ°, Ğ·Ğ°Ğ½ĞµÑÑ–Ñ‚ÑŒ URL Ğ¿Ğ¾ÑĞ¸Ğ»Ğ°Ğ½Ğ½Ñ",
+DlnLnkMsgNoEMail	: "Ğ‘ÑƒĞ´ÑŒ Ğ»Ğ°ÑĞºĞ°, Ğ·Ğ°Ğ½ĞµÑÑ–Ñ‚ÑŒ Ğ°Ğ´Ñ€ĞµÑ ÑĞ». Ğ¿Ğ¾Ñ‡Ñ‚Ñ‹",
+DlnLnkMsgNoAnchor	: "Ğ‘ÑƒĞ´ÑŒ Ğ»Ğ°ÑĞºĞ°, Ğ¾Ğ±ĞµÑ€Ñ–Ñ‚ÑŒ ÑĞºÑ–Ñ€",
+DlnLnkMsgInvPopName	: "ĞĞ°Ğ·Ğ²Ğ° ÑĞ¿Ğ»Ğ¸Ğ²Ğ°ÑÑ‡Ğ¾Ğ³Ğ¾ Ğ²Ñ–ĞºĞ½Ğ° Ğ¿Ğ¾Ğ²Ğ¸Ğ½Ğ½Ğ° Ğ¿Ğ¾Ñ‡Ğ¸Ğ½Ğ°Ñ‚Ğ¸ÑÑ Ğ±ÑƒĞºĞ²Ğ¸ Ñ– Ğ½Ğµ Ğ¼Ğ¾Ğ¶Ğµ Ğ¼Ñ–ÑÑ‚Ğ¸Ñ‚Ğ¸ Ğ¿Ñ€Ğ¾Ğ¿ÑƒÑĞºÑ–Ğ²",
+
+// Color Dialog
+DlgColorTitle		: "ĞĞ±ĞµÑ€Ñ–Ñ‚ÑŒ ĞºĞ¾Ğ»Ñ–Ñ€",
+DlgColorBtnClear	: "ĞÑ‡Ğ¸ÑÑ‚Ğ¸Ñ‚Ğ¸",
+DlgColorHighlight	: "ĞŸÑ–Ğ´ÑĞ²Ñ–Ñ‡ĞµĞ½Ğ¸Ğ¹",
+DlgColorSelected	: "ĞĞ±Ñ€Ğ°Ğ½Ğ¸Ğ¹",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚Ğ¸ ÑĞ¼Ğ°Ğ¹Ğ»Ğ¸Ğº",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "ĞĞ±ĞµÑ€Ñ–Ñ‚ÑŒ ÑĞ¿ĞµÑ†Ñ–Ğ°Ğ»ÑŒĞ½Ğ¸Ğ¹ ÑĞ¸Ğ¼Ğ²Ğ¾Ğ»",
+
+// Table Dialog
+DlgTableTitle		: "Ğ’Ğ»Ğ°ÑÑ‚Ğ¸Ğ²Ğ¾ÑÑ‚Ñ– Ñ‚Ğ°Ğ±Ğ»Ğ¸Ñ†Ñ–",
+DlgTableRows		: "Ğ¡Ñ‚Ñ€Ğ¾ĞºĞ¸",
+DlgTableColumns		: "ĞšĞ¾Ğ»Ğ¾Ğ½ĞºĞ¸",
+DlgTableBorder		: "Ğ Ğ¾Ğ·Ğ¼Ñ–Ñ€ Ğ±Ğ¾Ñ€Ğ´ÑÑ€Ğ°",
+DlgTableAlign		: "Ğ’Ğ¸Ñ€Ñ–Ğ²Ğ½ÑĞ²Ğ°Ğ½Ğ½Ñ",
+DlgTableAlignNotSet	: "<ĞĞµ Ğ²ÑÑ‚.>",
+DlgTableAlignLeft	: "Ğ—Ğ»Ñ–Ğ²Ğ°",
+DlgTableAlignCenter	: "ĞŸĞ¾ Ñ†ĞµĞ½Ñ‚Ñ€Ñƒ",
+DlgTableAlignRight	: "Ğ—Ğ¿Ñ€Ğ°Ğ²Ğ°",
+DlgTableWidth		: "Ğ¨Ğ¸Ñ€Ğ¸Ğ½Ğ°",
+DlgTableWidthPx		: "Ğ¿Ñ–ĞºÑĞµĞ»Ñ–Ğ²",
+DlgTableWidthPc		: "Ğ²Ñ–Ğ´ÑĞ¾Ñ‚ĞºÑ–Ğ²",
+DlgTableHeight		: "Ğ’Ğ¸ÑĞ¾Ñ‚Ğ°",
+DlgTableCellSpace	: "ĞŸÑ€Ğ¾Ğ¼Ñ–Ğ¶Ğ¾Ğº (spacing)",
+DlgTableCellPad		: "Ğ’Ñ–Ğ´ÑÑ‚ÑƒĞ¿ (padding)",
+DlgTableCaption		: "Ğ—Ğ°Ğ³Ğ¾Ğ»Ğ¾Ğ²Ğ¾Ğº",
+DlgTableSummary		: "Ğ ĞµĞ·ÑĞ¼Ğµ",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "Ğ’Ğ»Ğ°ÑÑ‚Ğ¸Ğ²Ğ¾ÑÑ‚Ñ– ĞºĞ¾Ğ¼Ñ–Ñ€ĞºĞ¸",
+DlgCellWidth		: "Ğ¨Ğ¸Ñ€Ğ¸Ğ½Ğ°",
+DlgCellWidthPx		: "Ğ¿Ñ–ĞºÑĞµĞ»Ñ–Ğ²",
+DlgCellWidthPc		: "Ğ²Ñ–Ğ´ÑĞ¾Ñ‚ĞºÑ–Ğ²",
+DlgCellHeight		: "Ğ’Ğ¸ÑĞ¾Ñ‚Ğ°",
+DlgCellWordWrap		: "Ğ—Ğ³Ğ¾Ñ€Ñ‚Ğ°Ğ½Ğ½Ñ Ñ‚ĞµĞºÑÑ‚Ğ°",
+DlgCellWordWrapNotSet	: "<ĞĞµ Ğ²ÑÑ‚.>",
+DlgCellWordWrapYes	: "Ğ¢Ğ°Ğº",
+DlgCellWordWrapNo	: "ĞÑ–",
+DlgCellHorAlign		: "Ğ“Ğ¾Ñ€Ğ¸Ğ·Ğ¾Ğ½Ñ‚Ğ°Ğ»ÑŒĞ½Ğµ Ğ²Ğ¸Ñ€Ñ–Ğ²Ğ½ÑĞ²Ğ°Ğ½Ğ½Ñ",
+DlgCellHorAlignNotSet	: "<ĞĞµ Ğ²ÑÑ‚.>",
+DlgCellHorAlignLeft	: "Ğ—Ğ»Ñ–Ğ²Ğ°",
+DlgCellHorAlignCenter	: "ĞŸĞ¾ Ñ†ĞµĞ½Ñ‚Ñ€Ñƒ",
+DlgCellHorAlignRight: "Ğ—Ğ¿Ñ€Ğ°Ğ²Ğ°",
+DlgCellVerAlign		: "Ğ’ĞµÑ€Ñ‚Ğ¸ĞºĞ°Ğ»ÑŒĞ½Ğ¾Ğµ Ğ²Ğ¸Ñ€Ñ–Ğ²Ğ½ÑĞ²Ğ°Ğ½Ğ½Ñ",
+DlgCellVerAlignNotSet	: "<ĞĞµ Ğ²ÑÑ‚.>",
+DlgCellVerAlignTop	: "Ğ—Ğ²ĞµÑ€Ñ…Ñƒ",
+DlgCellVerAlignMiddle	: "ĞŸĞ¾ÑĞµÑ€ĞµĞ´Ğ¸Ğ½Ñ–",
+DlgCellVerAlignBottom	: "Ğ—Ğ½Ğ¸Ğ·Ñƒ",
+DlgCellVerAlignBaseline	: "ĞŸĞ¾ Ğ±Ğ°Ğ·Ğ¾Ğ²Ñ–Ğ¹ Ğ»Ñ–Ğ½Ñ–Ñ—",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "Ğ”Ñ–Ğ°Ğ¿Ğ°Ğ·Ğ¾Ğ½ ÑÑ‚Ñ€Ğ¾Ğº (span)",
+DlgCellCollSpan		: "Ğ”Ñ–Ğ°Ğ¿Ğ°Ğ·Ğ¾Ğ½ ĞºĞ¾Ğ»Ğ¾Ğ½Ğ¾Ğº (span)",
+DlgCellBackColor	: "ĞšĞ¾Ğ»Ñ–Ñ€ Ñ„Ğ¾Ğ½Ğ°",
+DlgCellBorderColor	: "ĞšĞ¾Ğ»Ñ–Ñ€ Ğ±Ğ¾Ñ€Ğ´ÑÑ€Ğ°",
+DlgCellBtnSelect	: "ĞĞ±ĞµÑ€Ñ–Ñ‚ÑŒ...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Ğ—Ğ½Ğ°Ğ¹Ñ‚Ğ¸ Ñ– Ğ·Ğ°Ğ¼Ñ–Ğ½Ğ¸Ñ‚Ğ¸",
+
+// Find Dialog
+DlgFindTitle		: "ĞŸĞ¾ÑˆÑƒĞº",
+DlgFindFindBtn		: "ĞŸĞ¾ÑˆÑƒĞº",
+DlgFindNotFoundMsg	: "Ğ’ĞºĞ°Ğ·Ğ°Ğ½Ğ¸Ğ¹ Ñ‚ĞµĞºÑÑ‚ Ğ½Ğµ Ğ·Ğ½Ğ°Ğ¹Ğ´ĞµĞ½Ğ¸Ğ¹.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Ğ—Ğ°Ğ¼Ñ–Ğ½Ğ¸Ñ‚Ğ¸",
+DlgReplaceFindLbl		: "Ğ¨ÑƒĞºĞ°Ñ‚Ğ¸:",
+DlgReplaceReplaceLbl	: "Ğ—Ğ°Ğ¼Ñ–Ğ½Ğ¸Ñ‚Ğ¸ Ğ½Ğ°:",
+DlgReplaceCaseChk		: "Ğ£Ñ‡Ğ¸Ñ‚Ñ‹Ğ²Ğ°Ñ‚ÑŒ Ñ€ĞµĞ³Ğ¸ÑÑ‚Ñ€",
+DlgReplaceReplaceBtn	: "Ğ—Ğ°Ğ¼Ñ–Ğ½Ğ¸Ñ‚Ğ¸",
+DlgReplaceReplAllBtn	: "Ğ—Ğ°Ğ¼Ñ–Ğ½Ğ¸Ñ‚Ğ¸ Ğ²ÑĞµ",
+DlgReplaceWordChk		: "Ğ—Ğ±Ñ–Ğ³ Ñ†Ñ–Ğ»Ğ¸Ñ… ÑĞ»Ñ–Ğ²",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "ĞĞ°ÑÑ‚Ñ€Ğ¾Ğ¹ĞºĞ¸ Ğ±ĞµĞ·Ğ¿ĞµĞºĞ¸ Ğ²Ğ°ÑˆĞ¾Ğ³Ğ¾ Ğ±Ñ€Ğ°ÑƒĞ·ĞµÑ€Ğ° Ğ½Ğµ Ğ´Ğ¾Ğ·Ğ²Ğ¾Ğ»ÑÑÑ‚ÑŒ Ñ€ĞµĞ´Ğ°ĞºÑ‚Ğ¾Ñ€Ñƒ Ğ°Ğ²Ñ‚Ğ¾Ğ¼Ğ°Ñ‚Ğ¸Ñ‡Ğ½Ğ¾ Ğ²Ğ¸ĞºĞ¾Ğ½ÑƒĞ²Ğ°Ñ‚Ğ¸ Ğ¾Ğ¿ĞµÑ€Ğ°Ñ†Ñ–Ñ— Ğ²Ğ¸Ñ€Ñ–Ğ·ÑƒĞ²Ğ°Ğ½Ğ½Ñ. Ğ‘ÑƒĞ´ÑŒ Ğ»Ğ°ÑĞºĞ°, Ğ²Ğ¸ĞºĞ¾Ñ€Ğ¸ÑÑ‚Ğ¾Ğ²ÑƒĞ¹Ñ‚Ğµ ĞºĞ»Ğ°Ğ²Ñ–Ğ°Ñ‚ÑƒÑ€Ñƒ Ğ´Ğ»Ñ Ñ†ÑŒĞ¾Ğ³Ğ¾ (Ctrl+X).",
+PasteErrorCopy	: "ĞĞ°ÑÑ‚Ñ€Ğ¾Ğ¹ĞºĞ¸ Ğ±ĞµĞ·Ğ¿ĞµĞºĞ¸ Ğ²Ğ°ÑˆĞ¾Ğ³Ğ¾ Ğ±Ñ€Ğ°ÑƒĞ·ĞµÑ€Ğ° Ğ½Ğµ Ğ´Ğ¾Ğ·Ğ²Ğ¾Ğ»ÑÑÑ‚ÑŒ Ñ€ĞµĞ´Ğ°ĞºÑ‚Ğ¾Ñ€Ñƒ Ğ°Ğ²Ñ‚Ğ¾Ğ¼Ğ°Ñ‚Ğ¸Ñ‡Ğ½Ğ¾ Ğ²Ğ¸ĞºĞ¾Ğ½ÑƒĞ²Ğ°Ñ‚Ğ¸ Ğ¾Ğ¿ĞµÑ€Ğ°Ñ†Ñ–Ñ— ĞºĞ¾Ğ¿Ñ–ÑĞ²Ğ°Ğ½Ğ½Ñ. Ğ‘ÑƒĞ´ÑŒ Ğ»Ğ°ÑĞºĞ°, Ğ²Ğ¸ĞºĞ¾Ñ€Ğ¸ÑÑ‚Ğ¾Ğ²ÑƒĞ¹Ñ‚Ğµ ĞºĞ»Ğ°Ğ²Ñ–Ğ°Ñ‚ÑƒÑ€Ñƒ Ğ´Ğ»Ñ Ñ†ÑŒĞ¾Ğ³Ğ¾ (Ctrl+C).",
+
+PasteAsText		: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚Ğ¸ Ñ‚Ñ–Ğ»ÑŒĞºĞ¸ Ñ‚ĞµĞºÑÑ‚",
+PasteFromWord	: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚Ğ¸ Ğ· Word",
+
+DlgPasteMsg2	: "Ğ‘ÑƒĞ´ÑŒ-Ğ»Ğ°ÑĞºĞ°, Ğ²ÑÑ‚Ğ°Ğ²Ñ‚Ğµ Ğ· Ğ±ÑƒÑ„ĞµÑ€Ğ° Ğ¾Ğ±Ğ¼Ñ–Ğ½Ñƒ Ğ² Ñ†Ñ Ğ¾Ğ±Ğ»Ğ°ÑÑ‚ÑŒ, ĞºĞ¾Ñ€Ğ¸ÑÑ‚ÑƒÑÑ‡Ğ¸ÑÑŒ ĞºĞ¾Ğ¼Ğ±Ñ–Ğ½Ğ°Ñ†Ñ–Ñ”Ñ ĞºĞ»Ğ°Ğ²Ñ–Ñˆ (<STRONG>Ctrl+V</STRONG>) Ñ‚Ğ° Ğ½Ğ°Ñ‚Ğ¸ÑĞ½Ñ–Ñ‚ÑŒ <STRONG>OK</STRONG>.",
+DlgPasteSec		: "Ğ ĞµĞ´Ğ°ĞºÑ‚Ğ¾Ñ€ Ğ½Ğµ Ğ¼Ğ¾Ğ¶Ğµ Ğ¾Ñ‚Ñ€Ğ¸Ğ¼Ğ°Ñ‚Ğ¸ Ğ¿Ñ€ÑĞ¼Ğ¸Ğ¹ Ğ´Ğ¾ÑÑ‚ÑƒĞ¿ Ğ´Ğ¾ Ğ±ÑƒÑ„ĞµÑ€Ñƒ Ğ¾Ğ±Ğ¼Ñ–Ğ½Ñƒ Ñƒ Ğ·Ğ²'ÑĞ·ĞºÑƒ Ğ· Ğ½Ğ°Ğ»Ğ°ÑˆÑ‚ÑƒĞ²Ğ°Ğ½Ğ½ÑĞ¼Ğ¸ Ğ²Ğ°ÑˆĞ¾Ğ³Ğ¾ Ğ±Ñ€Ğ°ÑƒĞ·ĞµÑ€Ğ°. Ğ’Ğ°Ğ¼ Ğ¿Ğ¾Ñ‚Ñ€Ñ–Ğ±Ğ½Ğ¾ Ğ²ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚Ğ¸ Ñ–Ğ½Ñ„Ğ¾Ñ€Ğ¼Ğ°Ñ†Ñ–Ñ Ğ¿Ğ¾Ğ²Ñ‚Ğ¾Ñ€Ğ½Ğ¾ Ğ² Ñ†Ğµ Ğ²Ñ–ĞºĞ½Ğ¾.",
+DlgPasteIgnoreFont		: "Ğ†Ğ³Ğ½Ğ¾Ñ€ÑƒĞ²Ğ°Ñ‚Ğ¸ Ğ½Ğ°Ğ»Ğ°ÑˆÑ‚ÑƒĞ²Ğ°Ğ½Ğ½Ñ ÑˆÑ€Ğ¸Ñ„Ñ‚Ñ–Ğ²",
+DlgPasteRemoveStyles	: "Ğ’Ğ¸Ğ´Ğ°Ğ»Ğ¸Ñ‚Ğ¸ Ğ½Ğ°Ğ»Ğ°ÑˆÑ‚ÑƒĞ²Ğ°Ğ½Ğ½Ñ ÑÑ‚Ğ¸Ğ»Ñ–Ğ²",
+
+// Color Picker
+ColorAutomatic	: "ĞĞ²Ñ‚Ğ¾Ğ¼Ğ°Ñ‚Ğ¸Ñ‡Ğ½Ğ¸Ğ¹",
+ColorMoreColors	: "ĞšĞ¾Ğ»ÑŒĞ¾Ñ€Ğ¸...",
+
+// Document Properties
+DocProps		: "Ğ’Ğ»Ğ°ÑÑ‚Ğ¸Ğ²Ğ¾ÑÑ‚Ñ– Ğ´Ğ¾ĞºÑƒĞ¼ĞµĞ½Ñ‚Ğ°",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Ğ’Ğ»Ğ°ÑÑ‚Ğ¸Ğ²Ğ¾ÑÑ‚Ñ– ÑĞºĞ¾Ñ€Ñ",
+DlgAnchorName		: "Ğ†Ğ¼'Ñ ÑĞºĞ¾Ñ€Ñ",
+DlgAnchorErrorName	: "Ğ‘ÑƒĞ´ÑŒ Ğ»Ğ°ÑĞºĞ°, Ğ·Ğ°Ğ½ĞµÑÑ–Ñ‚ÑŒ Ñ–Ğ¼'Ñ ÑĞºĞ¾Ñ€Ñ",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "ĞĞµ Ğ¼Ğ°Ñ” Ğ² ÑĞ»Ğ¾Ğ²Ğ½Ğ¸ĞºÑƒ",
+DlgSpellChangeTo		: "Ğ—Ğ°Ğ¼Ñ–Ğ½Ğ¸Ñ‚Ğ¸ Ğ½Ğ°",
+DlgSpellBtnIgnore		: "Ğ†Ğ³Ğ½Ğ¾Ñ€ÑƒĞ²Ğ°Ñ‚Ğ¸",
+DlgSpellBtnIgnoreAll	: "Ğ†Ğ³Ğ½Ğ¾Ñ€ÑƒĞ²Ğ°Ñ‚Ğ¸ Ğ²ÑĞµ",
+DlgSpellBtnReplace		: "Ğ—Ğ°Ğ¼Ñ–Ğ½Ğ¸Ñ‚Ğ¸",
+DlgSpellBtnReplaceAll	: "Ğ—Ğ°Ğ¼Ñ–Ğ½Ğ¸Ñ‚Ğ¸ Ğ²ÑĞµ",
+DlgSpellBtnUndo			: "ĞĞ°Ğ·Ğ°Ğ´",
+DlgSpellNoSuggestions	: "- ĞĞµĞ¼Ğ°Ñ” Ğ¿Ñ€Ğ¸Ğ¿ÑƒÑ‰ĞµĞ½ÑŒ -",
+DlgSpellProgress		: "Ğ’Ğ¸ĞºĞ¾Ğ½ÑƒÑ”Ñ‚ÑŒÑÑ Ğ¿ĞµÑ€ĞµĞ²Ñ–Ñ€ĞºĞ° Ğ¾Ñ€Ñ„Ğ¾Ğ³Ñ€Ğ°Ñ„Ñ–Ñ—...",
+DlgSpellNoMispell		: "ĞŸĞµÑ€ĞµĞ²Ñ–Ñ€ĞºÑƒ Ğ¾Ñ€Ñ„Ğ¾Ğ³Ñ€Ğ°Ñ„Ñ–Ñ— Ğ·Ğ°Ğ²ĞµÑ€ÑˆĞµĞ½Ğ¾: Ğ¿Ğ¾Ğ¼Ğ¸Ğ»Ğ¾Ğº Ğ½Ğµ Ğ·Ğ½Ğ°Ğ¹Ğ´ĞµĞ½Ğ¾",
+DlgSpellNoChanges		: "ĞŸĞµÑ€ĞµĞ²Ñ–Ñ€ĞºÑƒ Ğ¾Ñ€Ñ„Ğ¾Ğ³Ñ€Ğ°Ñ„Ñ–Ñ— Ğ·Ğ°Ğ²ĞµÑ€ÑˆĞµĞ½Ğ¾: Ğ¶Ğ¾Ğ´Ğ½Ğµ ÑĞ»Ğ¾Ğ²Ğ¾ Ğ½Ğµ Ğ·Ğ¼Ñ–Ğ½ĞµĞ½Ğ¾",
+DlgSpellOneChange		: "ĞŸĞµÑ€ĞµĞ²Ñ–Ñ€ĞºÑƒ Ğ¾Ñ€Ñ„Ğ¾Ğ³Ñ€Ğ°Ñ„Ñ–Ñ— Ğ·Ğ°Ğ²ĞµÑ€ÑˆĞµĞ½Ğ¾: Ğ·Ğ¼Ñ–Ğ½ĞµĞ½Ğ¾ Ğ¾Ğ´Ğ½Ğ¾ ÑĞ»Ğ¾Ğ²Ğ¾",
+DlgSpellManyChanges		: "ĞŸĞµÑ€ĞµĞ²Ñ–Ñ€ĞºÑƒ Ğ¾Ñ€Ñ„Ğ¾Ğ³Ñ€Ğ°Ñ„Ñ–Ñ— Ğ·Ğ°Ğ²ĞµÑ€ÑˆĞµĞ½Ğ¾: 1% ÑĞ»Ñ–Ğ² Ğ·Ğ¼Ñ–Ğ½ĞµĞ½Ğ¾",
+
+IeSpellDownload			: "ĞœĞ¾Ğ´ÑƒĞ»ÑŒ Ğ¿ĞµÑ€ĞµĞ²Ñ–Ñ€ĞºĞ¸ Ğ¾Ñ€Ñ„Ğ¾Ğ³Ñ€Ğ°Ñ„Ñ–Ñ— Ğ½Ğµ Ğ²ÑÑ‚Ğ°Ğ½Ğ¾Ğ²Ğ»ĞµĞ½Ğ¾. Ğ‘Ğ°Ğ¶Ğ°Ñ”Ñ‚Ğ½ Ğ·Ğ°Ğ²Ğ°Ğ½Ñ‚Ğ°Ğ¶Ğ¸Ñ‚Ğ¸ Ğ¹Ğ¾Ğ³Ğ¾ Ğ·Ğ°Ñ€Ğ°Ğ·?",
+
+// Button Dialog
+DlgButtonText		: "Ğ¢ĞµĞºÑÑ‚ (Ğ—Ğ½Ğ°Ñ‡ĞµĞ½Ğ½Ñ)",
+DlgButtonType		: "Ğ¢Ğ¸Ğ¿",
+DlgButtonTypeBtn	: "ĞšĞ½Ğ¾Ğ¿ĞºĞ°",
+DlgButtonTypeSbm	: "Ğ’Ñ–Ğ´Ğ¿Ñ€Ğ°Ğ²Ğ¸Ñ‚Ğ¸",
+DlgButtonTypeRst	: "Ğ¡ĞºĞ¸Ğ½ÑƒÑ‚Ğ¸",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Ğ†Ğ¼'Ñ",
+DlgCheckboxValue	: "Ğ—Ğ½Ğ°Ñ‡ĞµĞ½Ğ½Ñ",
+DlgCheckboxSelected	: "ĞĞ±Ñ€Ğ°Ğ½Ğ°",
+
+// Form Dialog
+DlgFormName		: "Ğ†Ğ¼'Ñ",
+DlgFormAction	: "Ğ”Ñ–Ñ",
+DlgFormMethod	: "ĞœĞµÑ‚Ğ¾Ğ´",
+
+// Select Field Dialog
+DlgSelectName		: "Ğ†Ğ¼'Ñ",
+DlgSelectValue		: "Ğ—Ğ½Ğ°Ñ‡ĞµĞ½Ğ½Ñ",
+DlgSelectSize		: "Ğ Ğ¾Ğ·Ğ¼Ñ–Ñ€",
+DlgSelectLines		: "Ğ»Ñ–Ğ½Ñ–Ñ—",
+DlgSelectChkMulti	: "Ğ”Ğ¾Ğ·Ğ²Ğ¾Ğ»Ğ¸Ñ‚Ğ¸ Ğ¾Ğ±Ñ€Ğ°Ğ½Ğ½Ñ Ğ´ĞµĞºÑ–Ğ»ÑŒĞºĞ¾Ñ… Ğ¿Ğ¾Ğ·Ğ¸Ñ†Ñ–Ğ¹",
+DlgSelectOpAvail	: "Ğ”Ğ¾ÑÑ‚ÑƒĞ¿Ğ½Ñ– Ğ²Ğ°Ñ€Ñ–Ğ°Ğ½Ñ‚Ğ¸",
+DlgSelectOpText		: "Ğ¢ĞµĞºÑÑ‚",
+DlgSelectOpValue	: "Ğ—Ğ½Ğ°Ñ‡ĞµĞ½Ğ½Ñ",
+DlgSelectBtnAdd		: "Ğ”Ğ¾Ğ±Ğ°Ğ²Ğ¸Ñ‚Ğ¸",
+DlgSelectBtnModify	: "Ğ—Ğ¼Ñ–Ğ½Ğ¸Ñ‚Ğ¸",
+DlgSelectBtnUp		: "Ğ’Ğ³Ğ¾Ñ€Ñƒ",
+DlgSelectBtnDown	: "Ğ’Ğ½Ğ¸Ğ·",
+DlgSelectBtnSetValue : "Ğ’ÑÑ‚Ğ°Ğ½Ğ¾Ğ²Ğ¸Ñ‚Ğ¸ ÑĞº Ğ²Ğ¸Ğ±Ñ€Ğ°Ğ½Ğµ Ğ·Ğ½Ğ°Ñ‡ĞµĞ½Ğ½Ñ",
+DlgSelectBtnDelete	: "Ğ’Ğ¸Ğ´Ğ°Ğ»Ğ¸Ñ‚Ğ¸",
+
+// Textarea Dialog
+DlgTextareaName	: "Ğ†Ğ¼'Ñ",
+DlgTextareaCols	: "ĞšĞ¾Ğ»Ğ¾Ğ½ĞºĞ¸",
+DlgTextareaRows	: "Ğ¡Ñ‚Ñ€Ğ¾ĞºĞ¸",
+
+// Text Field Dialog
+DlgTextName			: "Ğ†Ğ¼'Ñ",
+DlgTextValue		: "Ğ—Ğ½Ğ°Ñ‡ĞµĞ½Ğ½Ñ",
+DlgTextCharWidth	: "Ğ¨Ğ¸Ñ€Ğ¸Ğ½Ğ°",
+DlgTextMaxChars		: "ĞœĞ°ĞºÑ. ĞºÑ–Ğ»-Ñ‚ÑŒ ÑĞ¸Ğ¼Ğ²Ğ¾Ğ»Ñ–Ğ²",
+DlgTextType			: "Ğ¢Ğ¸Ğ¿",
+DlgTextTypeText		: "Ğ¢ĞµĞºÑÑ‚",
+DlgTextTypePass		: "ĞŸĞ°Ñ€Ğ¾Ğ»ÑŒ",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Ğ†Ğ¼'Ñ",
+DlgHiddenValue	: "Ğ—Ğ½Ğ°Ñ‡ĞµĞ½Ğ½Ñ",
+
+// Bulleted List Dialog
+BulletedListProp	: "Ğ’Ğ»Ğ°ÑÑ‚Ğ¸Ğ²Ğ¾ÑÑ‚Ñ– Ğ¼Ğ°Ñ€ĞºĞ¾Ğ²Ğ°Ğ½Ğ¾Ğ³Ğ¾ ÑĞ¿Ğ¸ÑĞºĞ°",
+NumberedListProp	: "Ğ’Ğ»Ğ°ÑÑ‚Ğ¸Ğ²Ğ¾ÑÑ‚Ñ– Ğ½ÑƒĞ¼ĞµÑ€Ğ¾Ğ²Ğ°Ğ½Ğ½Ğ¾Ğ³Ğ¾ ÑĞ¿Ğ¸ÑĞºĞ°",
+DlgLstStart			: "ĞŸĞ¾Ñ‡Ğ°Ñ‚Ğ¾Ğº",
+DlgLstType			: "Ğ¢Ğ¸Ğ¿",
+DlgLstTypeCircle	: "ĞšĞ¾Ğ»Ğ¾",
+DlgLstTypeDisc		: "Ğ”Ğ¸ÑĞº",
+DlgLstTypeSquare	: "ĞšĞ²Ğ°Ğ´Ñ€Ğ°Ñ‚",
+DlgLstTypeNumbers	: "ĞĞ¾Ğ¼ĞµÑ€Ğ¸ (1, 2, 3)",
+DlgLstTypeLCase		: "Ğ›Ñ–Ñ‚ĞµÑ€Ğ¸ Ğ½Ğ¸Ğ¶Ğ½ÑŒĞ¾Ğ³Ğ¾ Ñ€ĞµĞ³Ñ–ÑÑ‚Ñ€Ğ°(a, b, c)",
+DlgLstTypeUCase		: "Ğ‘ÑƒĞºĞ²Ğ¸ Ğ²ĞµÑ€Ñ…Ğ½ÑŒĞ¾Ğ³Ğ¾ Ñ€ĞµĞ³Ñ–ÑÑ‚Ñ€Ğ° (A, B, C)",
+DlgLstTypeSRoman	: "ĞœĞ°Ğ»Ñ– Ñ€Ğ¸Ğ¼ÑÑŒĞºÑ– Ğ»Ñ–Ñ‚ĞµÑ€Ğ¸ (i, ii, iii)",
+DlgLstTypeLRoman	: "Ğ’ĞµĞ»Ğ¸ĞºÑ– Ñ€Ğ¸Ğ¼ÑÑŒĞºÑ– Ğ»Ñ–Ñ‚ĞµÑ€Ğ¸ (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Ğ—Ğ°Ğ³Ğ°Ğ»ÑŒĞ½Ñ–",
+DlgDocBackTab		: "Ğ—Ğ°Ğ´Ğ½Ñ” Ñ‚Ğ»Ğ¾",
+DlgDocColorsTab		: "ĞšĞ¾Ğ»ÑŒĞ¾Ñ€Ğ¸ Ñ‚Ğ° Ğ²Ñ–Ğ´ÑÑ‚ÑƒĞ¿Ğ¸",
+DlgDocMetaTab		: "ĞœĞµÑ‚Ğ° Ğ´Ğ°Ğ½Ñ–",
+
+DlgDocPageTitle		: "Ğ—Ğ°Ğ³Ğ¾Ğ»Ğ¾Ğ²Ğ¾Ğº ÑÑ‚Ğ¾Ñ€Ñ–Ğ½ĞºĞ¸",
+DlgDocLangDir		: "ĞĞ°Ğ¿Ñ€ÑĞ¼Ğ¾Ğº Ñ‚ĞµĞºÑÑ‚Ñƒ",
+DlgDocLangDirLTR	: "Ğ—Ğ»Ñ–Ğ²Ğ° Ğ½Ğ° Ğ¿Ñ€Ğ°Ğ²Ğ¾ (LTR)",
+DlgDocLangDirRTL	: "Ğ—Ğ¿Ñ€Ğ°Ğ²Ğ° Ğ½Ğ° Ğ»ĞµĞ²Ğ¾ (RTL)",
+DlgDocLangCode		: "ĞšĞ¾Ğ´ Ğ¼Ğ¾Ğ²Ğ¸",
+DlgDocCharSet		: "ĞšĞ¾Ğ´ÑƒĞ²Ğ°Ğ½Ğ½Ñ Ğ½Ğ°Ğ±Ğ¾Ñ€Ñƒ ÑĞ¸Ğ¼Ğ²Ğ¾Ğ»Ñ–Ğ²",
+DlgDocCharSetCE		: "Ğ¦ĞµĞ½Ñ‚Ñ€Ğ°Ğ»ÑŒĞ½Ğ¾-Ñ”Ğ²Ñ€Ğ¾Ğ¿ĞµĞ¹ÑÑŒĞºĞ°",
+DlgDocCharSetCT		: "ĞšĞ¸Ñ‚Ğ°Ğ¹ÑÑŒĞºĞ° Ñ‚Ñ€Ğ°Ğ´Ğ¸Ñ†Ñ–Ğ¹Ğ½Ğ° (Big5)",
+DlgDocCharSetCR		: "ĞšĞ¸Ñ€Ğ¸Ğ»Ğ¸Ñ†Ñ",
+DlgDocCharSetGR		: "Ğ“Ñ€ĞµÑ†ÑŒĞºĞ°",
+DlgDocCharSetJP		: "Ğ¯Ğ¿Ğ¾Ğ½ÑÑŒĞºĞ°",
+DlgDocCharSetKR		: "ĞšĞ¾Ñ€ĞµĞ¹ÑÑŒĞºĞ°",
+DlgDocCharSetTR		: "Ğ¢ÑƒÑ€ĞµÑ†ÑŒĞºĞ°",
+DlgDocCharSetUN		: "Ğ®Ğ½Ñ–ĞºĞ¾Ğ´ (UTF-8)",
+DlgDocCharSetWE		: "Ğ—Ğ°Ñ…Ñ–Ğ´Ğ½Ğ¾-ĞµĞ²Ñ€Ğ¾Ğ¿ĞµĞ¹ÑĞºĞ°Ñ",
+DlgDocCharSetOther	: "Ğ†Ğ½ÑˆĞµ ĞºĞ¾Ğ´ÑƒĞ²Ğ°Ğ½Ğ½Ñ Ğ½Ğ°Ğ±Ğ¾Ñ€Ñƒ ÑĞ¸Ğ¼Ğ²Ğ¾Ğ»Ñ–Ğ²",
+
+DlgDocDocType		: "Ğ—Ğ°Ğ³Ğ¾Ğ»Ğ¾Ğ²Ğ¾Ğº Ñ‚Ğ¸Ğ¿Ñƒ Ğ´Ğ¾ĞºÑƒĞ¼ĞµĞ½Ñ‚Ñƒ",
+DlgDocDocTypeOther	: "Ğ†Ğ½ÑˆĞ¸Ğ¹ Ğ·Ğ°Ğ³Ğ¾Ğ»Ğ¾Ğ²Ğ¾Ğº Ñ‚Ğ¸Ğ¿Ñƒ Ğ´Ğ¾ĞºÑƒĞ¼ĞµĞ½Ñ‚Ñƒ",
+DlgDocIncXHTML		: "Ğ’Ğ²Ñ–Ğ¼ĞºĞ½ÑƒÑ‚Ğ¸ XHTML Ğ¾Ğ³Ğ¾Ğ»Ğ¾ÑˆĞµĞ½Ğ½Ñ",
+DlgDocBgColor		: "ĞšĞ¾Ğ»Ñ–Ñ€ Ñ‚Ğ»Ğ°",
+DlgDocBgImage		: "URL Ğ·Ğ¾Ğ±Ñ€Ğ°Ğ¶ĞµĞ½Ğ½Ñ Ñ‚Ğ»Ğ°",
+DlgDocBgNoScroll	: "Ğ¢Ğ»Ğ¾ Ğ±ĞµĞ· Ğ¿Ñ€Ğ¾ĞºÑ€ÑƒÑ‚ĞºĞ¸",
+DlgDocCText			: "Ğ¢ĞµĞºÑÑ‚",
+DlgDocCLink			: "ĞŸĞ¾ÑĞ¸Ğ»Ğ°Ğ½Ğ½Ñ",
+DlgDocCVisited		: "Ğ’Ñ–Ğ´Ğ²Ñ–Ğ´Ğ°Ğ½Ğµ Ğ¿Ğ¾ÑĞ¸Ğ»Ğ°Ğ½Ğ½Ñ",
+DlgDocCActive		: "ĞĞºÑ‚Ğ¸Ğ²Ğ½Ğµ Ğ¿Ğ¾ÑĞ¸Ğ»Ğ°Ğ½Ğ½Ñ",
+DlgDocMargins		: "Ğ’Ñ–Ğ´ÑÑ‚ÑƒĞ¿Ğ¸ ÑÑ‚Ğ¾Ñ€Ñ–Ğ½ĞºĞ¸",
+DlgDocMaTop			: "Ğ’ĞµÑ€Ñ…Ğ½Ñ–Ğ¹",
+DlgDocMaLeft		: "Ğ›Ñ–Ğ²Ğ¸Ğ¹",
+DlgDocMaRight		: "ĞŸÑ€Ğ°Ğ²Ğ¸Ğ¹",
+DlgDocMaBottom		: "ĞĞ¸Ğ¶Ğ½Ñ–Ğ¹",
+DlgDocMeIndex		: "ĞšĞ»ÑÑ‡Ğ¾Ğ²Ñ– ÑĞ»Ğ¾Ğ²Ğ° Ğ´Ğ¾ĞºÑƒĞ¼ĞµĞ½Ñ‚Ğ° (Ñ€Ğ¾Ğ·Ğ´Ñ–Ğ»ĞµĞ½Ñ– ĞºĞ¾Ğ¼Ğ°Ğ¼Ğ¸)",
+DlgDocMeDescr		: "ĞĞ¿Ğ¸Ñ Ğ´Ğ¾ĞºÑƒĞ¼ĞµĞ½Ñ‚Ğ°",
+DlgDocMeAuthor		: "ĞĞ²Ñ‚Ğ¾Ñ€",
+DlgDocMeCopy		: "ĞĞ²Ñ‚Ğ¾Ñ€ÑÑŒĞºÑ– Ğ¿Ñ€Ğ°Ğ²Ğ°",
+DlgDocPreview		: "ĞŸĞ¾Ğ¿ĞµÑ€ĞµĞ´Ğ½Ñ–Ğ¹ Ğ¿ĞµÑ€ĞµĞ³Ğ»ÑĞ´",
+
+// Templates Dialog
+Templates			: "Ğ¨Ğ°Ğ±Ğ»Ğ¾Ğ½Ğ¸",
+DlgTemplatesTitle	: "Ğ¨Ğ°Ğ±Ğ»Ğ¾Ğ½Ğ¸ Ğ·Ğ¼Ñ–ÑÑ‚Ñƒ",
+DlgTemplatesSelMsg	: "ĞĞ±ĞµÑ€Ñ–Ñ‚ÑŒ, Ğ±ÑƒĞ´ÑŒ Ğ»Ğ°ÑĞºĞ°, ÑˆĞ°Ğ±Ğ»Ğ¾Ğ½ Ğ´Ğ»Ñ Ğ²Ñ–Ğ´ĞºÑ€Ğ¸Ñ‚Ñ‚Ñ Ğ² Ñ€ĞµĞ´Ğ°ĞºÑ‚Ğ¾Ñ€Ñ–<br>(Ğ¿Ğ¾Ñ‚Ğ¾Ñ‡Ğ½Ğ¸Ğ¹ Ğ·Ğ¼Ñ–ÑÑ‚ Ğ±ÑƒĞ´Ğµ Ğ²Ñ‚Ñ€Ğ°Ñ‡ĞµĞ½Ğ¾):",
+DlgTemplatesLoading	: "Ğ—Ğ°Ğ²Ğ°Ğ½Ñ‚Ğ°Ğ¶ĞµĞ½Ğ½Ñ ÑĞ¿Ğ¸ÑĞºÑƒ ÑˆĞ°Ğ±Ğ»Ğ¾Ğ½Ñ–Ğ². Ğ—Ğ°Ñ‡ĞµĞºĞ°Ğ¹Ñ‚Ğµ, Ğ±ÑƒĞ´ÑŒ Ğ»Ğ°ÑĞºĞ°...",
+DlgTemplatesNoTpl	: "(ĞĞµ Ğ²Ğ¸Ğ·Ğ½Ğ°Ñ‡ĞµĞ½Ğ¾ Ğ¶Ğ¾Ğ´Ğ½Ğ¾Ğ³Ğ¾ ÑˆĞ°Ğ±Ğ»Ğ¾Ğ½Ñƒ)",
+DlgTemplatesReplace	: "Ğ—Ğ°Ğ¼Ñ–Ğ½Ğ¸Ñ‚Ğ¸ Ğ¿Ğ¾Ñ‚Ğ¾Ñ‡Ğ½Ğ¸Ğ¹ Ğ²Ğ¼Ñ–ÑÑ‚",
+
+// About Dialog
+DlgAboutAboutTab	: "ĞŸÑ€Ğ¾ Ğ¿Ñ€Ğ¾Ğ³Ñ€Ğ°Ğ¼Ñƒ",
+DlgAboutBrowserInfoTab	: "Ğ†Ğ½Ñ„Ğ¾Ñ€Ğ¼Ğ°Ñ†Ñ–Ñ Ğ±Ñ€Ğ°ÑƒĞ·ĞµÑ€Ğ°",
+DlgAboutLicenseTab	: "Ğ›Ñ–Ñ†ĞµĞ½Ğ·Ñ–Ñ",
+DlgAboutVersion		: "Ğ’ĞµÑ€ÑÑ–Ñ",
+DlgAboutInfo		: "Ğ”Ğ¾Ğ´Ğ°Ñ‚ĞºĞ¾Ğ²Ñƒ Ñ–Ğ½Ñ„Ğ¾Ñ€Ğ¼Ğ°Ñ†Ñ–Ñ Ğ´Ğ¸Ğ²Ñ–Ñ‚ÑŒÑÑ Ğ½Ğ° ",
+DlgAboutModule		: "Developed for Website Baker<br />modul version 2.9.4",
+
+// Div Dialog
+DlgDivGeneralTab	: "Ğ—Ğ°Ğ³Ğ°Ğ»ÑŒĞ½Ğ°",
+DlgDivAdvancedTab	: "Ğ Ğ¾Ğ·ÑˆĞ¸Ñ€ĞµĞ½Ğ°",
+DlgDivStyle		: "Ğ¡Ñ‚Ğ¸Ğ»ÑŒ",
+DlgDivInlineStyle	: "Inline ÑÑ‚Ğ¸Ğ»ÑŒ",
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/en-uk.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/en-uk.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/en-uk.js	(revision 1481)
@@ -0,0 +1,540 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * English (United Kingdom) language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Collapse Toolbar",
+ToolbarExpand		: "Expand Toolbar",
+
+// Toolbar Items and Context Menu
+Save				: "Save",
+NewPage				: "New Page",
+Preview				: "Preview",
+Cut					: "Cut",
+Copy				: "Copy",
+Paste				: "Paste",
+PasteText			: "Paste as plain text",
+PasteWord			: "Paste from Word",
+Print				: "Print",
+SelectAll			: "Select All",
+RemoveFormat		: "Remove Format",
+InsertLinkLbl		: "Link",
+InsertLink			: "Insert/Edit Link",
+RemoveLink			: "Remove Link",
+VisitLink			: "Open Link",
+Anchor				: "Insert/Edit Anchor",
+AnchorDelete		: "Remove Anchor",
+InsertImageLbl		: "Image",
+InsertImage			: "Insert/Edit Image",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Insert/Edit Flash",
+InsertTableLbl		: "Table",
+InsertTable			: "Insert/Edit Table",
+InsertLineLbl		: "Line",
+InsertLine			: "Insert Horizontal Line",
+InsertSpecialCharLbl: "Special Character",
+InsertSpecialChar	: "Insert Special Character",
+InsertSmileyLbl		: "Smiley",
+InsertSmiley		: "Insert Smiley",
+About				: "About FCKeditor",
+Bold				: "Bold",
+Italic				: "Italic",
+Underline			: "Underline",
+StrikeThrough		: "Strike Through",
+Subscript			: "Subscript",
+Superscript			: "Superscript",
+LeftJustify			: "Left Justify",
+CenterJustify		: "Centre Justify",
+RightJustify		: "Right Justify",
+BlockJustify		: "Block Justify",
+DecreaseIndent		: "Decrease Indent",
+IncreaseIndent		: "Increase Indent",
+Blockquote			: "Blockquote",
+CreateDiv			: "Create Div Container",
+EditDiv				: "Edit Div Container",
+DeleteDiv			: "Remove Div Container",
+Undo				: "Undo",
+Redo				: "Redo",
+NumberedListLbl		: "Numbered List",
+NumberedList		: "Insert/Remove Numbered List",
+BulletedListLbl		: "Bulleted List",
+BulletedList		: "Insert/Remove Bulleted List",
+ShowTableBorders	: "Show Table Borders",
+ShowDetails			: "Show Details",
+Style				: "Style",
+FontFormat			: "Format",
+Font				: "Font",
+FontSize			: "Size",
+TextColor			: "Text Colour",
+BGColor				: "Background Colour",
+Source				: "Source",
+Find				: "Find",
+Replace				: "Replace",
+SpellCheck			: "Check Spelling",
+UniversalKeyboard	: "Universal Keyboard",
+PageBreakLbl		: "Page Break",
+PageBreak			: "Insert Page Break",
+
+Form			: "Form",
+Checkbox		: "Checkbox",
+RadioButton		: "Radio Button",
+TextField		: "Text Field",
+Textarea		: "Textarea",
+HiddenField		: "Hidden Field",
+Button			: "Button",
+SelectionField	: "Selection Field",
+ImageButton		: "Image Button",
+
+FitWindow		: "Maximize the editor size",
+ShowBlocks		: "Show Blocks",
+
+// Context Menu
+EditLink			: "Edit Link",
+CellCM				: "Cell",
+RowCM				: "Row",
+ColumnCM			: "Column",
+InsertRowAfter		: "Insert Row After",
+InsertRowBefore		: "Insert Row Before",
+DeleteRows			: "Delete Rows",
+InsertColumnAfter	: "Insert Column After",
+InsertColumnBefore	: "Insert Column Before",
+DeleteColumns		: "Delete Columns",
+InsertCellAfter		: "Insert Cell After",
+InsertCellBefore	: "Insert Cell Before",
+DeleteCells			: "Delete Cells",
+MergeCells			: "Merge Cells",
+MergeRight			: "Merge Right",
+MergeDown			: "Merge Down",
+HorizontalSplitCell	: "Split Cell Horizontally",
+VerticalSplitCell	: "Split Cell Vertically",
+TableDelete			: "Delete Table",
+CellProperties		: "Cell Properties",
+TableProperties		: "Table Properties",
+ImageProperties		: "Image Properties",
+FlashProperties		: "Flash Properties",
+
+AnchorProp			: "Anchor Properties",
+ButtonProp			: "Button Properties",
+CheckboxProp		: "Checkbox Properties",
+HiddenFieldProp		: "Hidden Field Properties",
+RadioButtonProp		: "Radio Button Properties",
+ImageButtonProp		: "Image Button Properties",
+TextFieldProp		: "Text Field Properties",
+SelectionFieldProp	: "Selection Field Properties",
+TextareaProp		: "Textarea Properties",
+FormProp			: "Form Properties",
+
+FontFormats			: "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "Processing XHTML. Please wait...",
+Done				: "Done",
+PasteWordConfirm	: "The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?",
+NotCompatiblePaste	: "This command is available for Internet Explorer version 5.5 or more. Do you want to paste without cleaning?",
+UnknownToolbarItem	: "Unknown toolbar item \"%1\"",
+UnknownCommand		: "Unknown command name \"%1\"",
+NotImplemented		: "Command not implemented",
+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.",
+BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",
+DialogBlocked		: "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",
+VisitLinkBlocked	: "It was not possible to open a new window. Make sure all popup blockers are disabled.",
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Cancel",
+DlgBtnClose			: "Close",
+DlgBtnBrowseServer	: "Browse Server",
+DlgAdvancedTag		: "Advanced",
+DlgOpOther			: "<Other>",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "Please insert the URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<not set>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Language Direction",
+DlgGenLangDirLtr	: "Left to Right (LTR)",
+DlgGenLangDirRtl	: "Right to Left (RTL)",
+DlgGenLangCode		: "Language Code",
+DlgGenAccessKey		: "Access Key",
+DlgGenName			: "Name",
+DlgGenTabIndex		: "Tab Index",
+DlgGenLongDescr		: "Long Description URL",
+DlgGenClass			: "Stylesheet Classes",
+DlgGenTitle			: "Advisory Title",
+DlgGenContType		: "Advisory Content Type",
+DlgGenLinkCharset	: "Linked Resource Charset",
+DlgGenStyle			: "Style",
+
+// Image Dialog
+DlgImgTitle			: "Image Properties",
+DlgImgInfoTab		: "Image Info",
+DlgImgBtnUpload		: "Send it to the Server",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Upload",
+DlgImgAlt			: "Alternative Text",
+DlgImgWidth			: "Width",
+DlgImgHeight		: "Height",
+DlgImgLockRatio		: "Lock Ratio",
+DlgBtnResetSize		: "Reset Size",
+DlgImgBorder		: "Border",
+DlgImgHSpace		: "HSpace",
+DlgImgVSpace		: "VSpace",
+DlgImgAlign			: "Align",
+DlgImgAlignLeft		: "Left",
+DlgImgAlignAbsBottom: "Abs Bottom",
+DlgImgAlignAbsMiddle: "Abs Middle",
+DlgImgAlignBaseline	: "Baseline",
+DlgImgAlignBottom	: "Bottom",
+DlgImgAlignMiddle	: "Middle",
+DlgImgAlignRight	: "Right",
+DlgImgAlignTextTop	: "Text Top",
+DlgImgAlignTop		: "Top",
+DlgImgPreview		: "Preview",
+DlgImgAlertUrl		: "Please type the image URL",
+DlgImgLinkTab		: "Link",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash Properties",
+DlgFlashChkPlay		: "Auto Play",
+DlgFlashChkLoop		: "Loop",
+DlgFlashChkMenu		: "Enable Flash Menu",
+DlgFlashScale		: "Scale",
+DlgFlashScaleAll	: "Show all",
+DlgFlashScaleNoBorder	: "No Border",
+DlgFlashScaleFit	: "Exact Fit",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Link",
+DlgLnkInfoTab		: "Link Info",
+DlgLnkTargetTab		: "Target",
+
+DlgLnkType			: "Link Type",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Link to anchor in the text",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protocol",
+DlgLnkProtoOther	: "<other>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Select an Anchor",
+DlgLnkAnchorByName	: "By Anchor Name",
+DlgLnkAnchorById	: "By Element Id",
+DlgLnkNoAnchors		: "(No anchors available in the document)",
+DlgLnkEMail			: "E-Mail Address",
+DlgLnkEMailSubject	: "Message Subject",
+DlgLnkEMailBody		: "Message Body",
+DlgLnkUpload		: "Upload",
+DlgLnkBtnUpload		: "Send it to the Server",
+
+DlgLnkTarget		: "Target",
+DlgLnkTargetFrame	: "<frame>",
+DlgLnkTargetPopup	: "<popup window>",
+DlgLnkTargetBlank	: "New Window (_blank)",
+DlgLnkTargetParent	: "Parent Window (_parent)",
+DlgLnkTargetSelf	: "Same Window (_self)",
+DlgLnkTargetTop		: "Topmost Window (_top)",
+DlgLnkTargetFrameName	: "Target Frame Name",
+DlgLnkPopWinName	: "Popup Window Name",
+DlgLnkPopWinFeat	: "Popup Window Features",
+DlgLnkPopResize		: "Resizable",
+DlgLnkPopLocation	: "Location Bar",
+DlgLnkPopMenu		: "Menu Bar",
+DlgLnkPopScroll		: "Scroll Bars",
+DlgLnkPopStatus		: "Status Bar",
+DlgLnkPopToolbar	: "Toolbar",
+DlgLnkPopFullScrn	: "Full Screen (IE)",
+DlgLnkPopDependent	: "Dependent (Netscape)",
+DlgLnkPopWidth		: "Width",
+DlgLnkPopHeight		: "Height",
+DlgLnkPopLeft		: "Left Position",
+DlgLnkPopTop		: "Top Position",
+
+DlnLnkMsgNoUrl		: "Please type the link URL",
+DlnLnkMsgNoEMail	: "Please type the e-mail address",
+DlnLnkMsgNoAnchor	: "Please select an anchor",
+DlnLnkMsgInvPopName	: "The popup name must begin with an alphabetic character and must not contain spaces",
+
+// Color Dialog
+DlgColorTitle		: "Select Colour",
+DlgColorBtnClear	: "Clear",
+DlgColorHighlight	: "Highlight",
+DlgColorSelected	: "Selected",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Insert a Smiley",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Select Special Character",
+
+// Table Dialog
+DlgTableTitle		: "Table Properties",
+DlgTableRows		: "Rows",
+DlgTableColumns		: "Columns",
+DlgTableBorder		: "Border size",
+DlgTableAlign		: "Alignment",
+DlgTableAlignNotSet	: "<Not set>",
+DlgTableAlignLeft	: "Left",
+DlgTableAlignCenter	: "Centre",
+DlgTableAlignRight	: "Right",
+DlgTableWidth		: "Width",
+DlgTableWidthPx		: "pixels",
+DlgTableWidthPc		: "percent",
+DlgTableHeight		: "Height",
+DlgTableCellSpace	: "Cell spacing",
+DlgTableCellPad		: "Cell padding",
+DlgTableCaption		: "Caption",
+DlgTableSummary		: "Summary",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "Cell Properties",
+DlgCellWidth		: "Width",
+DlgCellWidthPx		: "pixels",
+DlgCellWidthPc		: "percent",
+DlgCellHeight		: "Height",
+DlgCellWordWrap		: "Word Wrap",
+DlgCellWordWrapNotSet	: "<Not set>",
+DlgCellWordWrapYes	: "Yes",
+DlgCellWordWrapNo	: "No",
+DlgCellHorAlign		: "Horizontal Alignment",
+DlgCellHorAlignNotSet	: "<Not set>",
+DlgCellHorAlignLeft	: "Left",
+DlgCellHorAlignCenter	: "Centre",
+DlgCellHorAlignRight: "Right",
+DlgCellVerAlign		: "Vertical Alignment",
+DlgCellVerAlignNotSet	: "<Not set>",
+DlgCellVerAlignTop	: "Top",
+DlgCellVerAlignMiddle	: "Middle",
+DlgCellVerAlignBottom	: "Bottom",
+DlgCellVerAlignBaseline	: "Baseline",
+DlgCellType		: "Cell Type",
+DlgCellTypeData		: "Data",
+DlgCellTypeHeader	: "Header",
+DlgCellRowSpan		: "Rows Span",
+DlgCellCollSpan		: "Columns Span",
+DlgCellBackColor	: "Background Colour",
+DlgCellBorderColor	: "Border Colour",
+DlgCellBtnSelect	: "Select...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Find and Replace",
+
+// Find Dialog
+DlgFindTitle		: "Find",
+DlgFindFindBtn		: "Find",
+DlgFindNotFoundMsg	: "The specified text was not found.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Replace",
+DlgReplaceFindLbl		: "Find what:",
+DlgReplaceReplaceLbl	: "Replace with:",
+DlgReplaceCaseChk		: "Match case",
+DlgReplaceReplaceBtn	: "Replace",
+DlgReplaceReplAllBtn	: "Replace All",
+DlgReplaceWordChk		: "Match whole word",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl+X).",
+PasteErrorCopy	: "Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl+C).",
+
+PasteAsText		: "Paste as Plain Text",
+PasteFromWord	: "Paste from Word",
+
+DlgPasteMsg2	: "Please paste inside the following box using the keyboard (<strong>Ctrl+V</strong>) and hit <strong>OK</strong>.",
+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.",
+DlgPasteIgnoreFont		: "Ignore Font Face definitions",
+DlgPasteRemoveStyles	: "Remove Styles definitions",
+
+// Color Picker
+ColorAutomatic	: "Automatic",
+ColorMoreColors	: "More Colours...",
+
+// Document Properties
+DocProps		: "Document Properties",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Anchor Properties",
+DlgAnchorName		: "Anchor Name",
+DlgAnchorErrorName	: "Please type the anchor name",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Not in dictionary",
+DlgSpellChangeTo		: "Change to",
+DlgSpellBtnIgnore		: "Ignore",
+DlgSpellBtnIgnoreAll	: "Ignore All",
+DlgSpellBtnReplace		: "Replace",
+DlgSpellBtnReplaceAll	: "Replace All",
+DlgSpellBtnUndo			: "Undo",
+DlgSpellNoSuggestions	: "- No suggestions -",
+DlgSpellProgress		: "Spell check in progress...",
+DlgSpellNoMispell		: "Spell check complete: No misspellings found",
+DlgSpellNoChanges		: "Spell check complete: No words changed",
+DlgSpellOneChange		: "Spell check complete: One word changed",
+DlgSpellManyChanges		: "Spell check complete: %1 words changed",
+
+IeSpellDownload			: "Spell checker not installed. Do you want to download it now?",
+
+// Button Dialog
+DlgButtonText		: "Text (Value)",
+DlgButtonType		: "Type",
+DlgButtonTypeBtn	: "Button",
+DlgButtonTypeSbm	: "Submit",
+DlgButtonTypeRst	: "Reset",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Name",
+DlgCheckboxValue	: "Value",
+DlgCheckboxSelected	: "Selected",
+
+// Form Dialog
+DlgFormName		: "Name",
+DlgFormAction	: "Action",
+DlgFormMethod	: "Method",
+
+// Select Field Dialog
+DlgSelectName		: "Name",
+DlgSelectValue		: "Value",
+DlgSelectSize		: "Size",
+DlgSelectLines		: "lines",
+DlgSelectChkMulti	: "Allow multiple selections",
+DlgSelectOpAvail	: "Available Options",
+DlgSelectOpText		: "Text",
+DlgSelectOpValue	: "Value",
+DlgSelectBtnAdd		: "Add",
+DlgSelectBtnModify	: "Modify",
+DlgSelectBtnUp		: "Up",
+DlgSelectBtnDown	: "Down",
+DlgSelectBtnSetValue : "Set as selected value",
+DlgSelectBtnDelete	: "Delete",
+
+// Textarea Dialog
+DlgTextareaName	: "Name",
+DlgTextareaCols	: "Columns",
+DlgTextareaRows	: "Rows",
+
+// Text Field Dialog
+DlgTextName			: "Name",
+DlgTextValue		: "Value",
+DlgTextCharWidth	: "Character Width",
+DlgTextMaxChars		: "Maximum Characters",
+DlgTextType			: "Type",
+DlgTextTypeText		: "Text",
+DlgTextTypePass		: "Password",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Name",
+DlgHiddenValue	: "Value",
+
+// Bulleted List Dialog
+BulletedListProp	: "Bulleted List Properties",
+NumberedListProp	: "Numbered List Properties",
+DlgLstStart			: "Start",
+DlgLstType			: "Type",
+DlgLstTypeCircle	: "Circle",
+DlgLstTypeDisc		: "Disc",
+DlgLstTypeSquare	: "Square",
+DlgLstTypeNumbers	: "Numbers (1, 2, 3)",
+DlgLstTypeLCase		: "Lowercase Letters (a, b, c)",
+DlgLstTypeUCase		: "Uppercase Letters (A, B, C)",
+DlgLstTypeSRoman	: "Small Roman Numerals (i, ii, iii)",
+DlgLstTypeLRoman	: "Large Roman Numerals (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "General",
+DlgDocBackTab		: "Background",
+DlgDocColorsTab		: "Colours and Margins",
+DlgDocMetaTab		: "Meta Data",
+
+DlgDocPageTitle		: "Page Title",
+DlgDocLangDir		: "Language Direction",
+DlgDocLangDirLTR	: "Left to Right (LTR)",
+DlgDocLangDirRTL	: "Right to Left (RTL)",
+DlgDocLangCode		: "Language Code",
+DlgDocCharSet		: "Character Set Encoding",
+DlgDocCharSetCE		: "Central European",
+DlgDocCharSetCT		: "Chinese Traditional (Big5)",
+DlgDocCharSetCR		: "Cyrillic",
+DlgDocCharSetGR		: "Greek",
+DlgDocCharSetJP		: "Japanese",
+DlgDocCharSetKR		: "Korean",
+DlgDocCharSetTR		: "Turkish",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "Western European",
+DlgDocCharSetOther	: "Other Character Set Encoding",
+
+DlgDocDocType		: "Document Type Heading",
+DlgDocDocTypeOther	: "Other Document Type Heading",
+DlgDocIncXHTML		: "Include XHTML Declarations",
+DlgDocBgColor		: "Background Colour",
+DlgDocBgImage		: "Background Image URL",
+DlgDocBgNoScroll	: "Nonscrolling Background",
+DlgDocCText			: "Text",
+DlgDocCLink			: "Link",
+DlgDocCVisited		: "Visited Link",
+DlgDocCActive		: "Active Link",
+DlgDocMargins		: "Page Margins",
+DlgDocMaTop			: "Top",
+DlgDocMaLeft		: "Left",
+DlgDocMaRight		: "Right",
+DlgDocMaBottom		: "Bottom",
+DlgDocMeIndex		: "Document Indexing Keywords (comma separated)",
+DlgDocMeDescr		: "Document Description",
+DlgDocMeAuthor		: "Author",
+DlgDocMeCopy		: "Copyright",
+DlgDocPreview		: "Preview",
+
+// Templates Dialog
+Templates			: "Templates",
+DlgTemplatesTitle	: "Content Templates",
+DlgTemplatesSelMsg	: "Please select the template to open in the editor<br />(the actual contents will be lost):",
+DlgTemplatesLoading	: "Loading templates list. Please wait...",
+DlgTemplatesNoTpl	: "(No templates defined)",
+DlgTemplatesReplace	: "Replace actual contents",
+
+// About Dialog
+DlgAboutAboutTab	: "About",
+DlgAboutBrowserInfoTab	: "Browser Info",
+DlgAboutLicenseTab	: "License",
+DlgAboutVersion		: "version",
+DlgAboutInfo		: "For further information go to",
+DlgAboutModule		: "Developed for Website Baker<br />modul version 2.9.4",
+
+// Div Dialog
+DlgDivGeneralTab	: "General",
+DlgDivAdvancedTab	: "Advanced",
+DlgDivStyle		: "Style",
+DlgDivInlineStyle	: "Inline Style",
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/ms.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/ms.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/ms.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Malay language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Collapse Toolbar",
+ToolbarExpand		: "Expand Toolbar",
+
+// Toolbar Items and Context Menu
+Save				: "Simpan",
+NewPage				: "Helaian Baru",
+Preview				: "Prebiu",
+Cut					: "Potong",
+Copy				: "Salin",
+Paste				: "Tampal",
+PasteText			: "Tampal sebagai Text Biasa",
+PasteWord			: "Tampal dari Word",
+Print				: "Cetak",
+SelectAll			: "Pilih Semua",
+RemoveFormat		: "Buang Format",
+InsertLinkLbl		: "Sambungan",
+InsertLink			: "Masukkan/Sunting Sambungan",
+RemoveLink			: "Buang Sambungan",
+VisitLink			: "Open Link",	//MISSING
+Anchor				: "Masukkan/Sunting Pautan",
+AnchorDelete		: "Remove Anchor",	//MISSING
+InsertImageLbl		: "Gambar",
+InsertImage			: "Masukkan/Sunting Gambar",
+InsertFlashLbl		: "Flash",	//MISSING
+InsertFlash			: "Insert/Edit Flash",	//MISSING
+InsertTableLbl		: "Jadual",
+InsertTable			: "Masukkan/Sunting Jadual",
+InsertLineLbl		: "Garisan",
+InsertLine			: "Masukkan Garisan Membujur",
+InsertSpecialCharLbl: "Huruf Istimewa",
+InsertSpecialChar	: "Masukkan Huruf Istimewa",
+InsertSmileyLbl		: "Smiley",
+InsertSmiley		: "Masukkan Smiley",
+About				: "Tentang FCKeditor",
+Bold				: "Bold",
+Italic				: "Italic",
+Underline			: "Underline",
+StrikeThrough		: "Strike Through",
+Subscript			: "Subscript",
+Superscript			: "Superscript",
+LeftJustify			: "Jajaran Kiri",
+CenterJustify		: "Jajaran Tengah",
+RightJustify		: "Jajaran Kanan",
+BlockJustify		: "Jajaran Blok",
+DecreaseIndent		: "Kurangkan Inden",
+IncreaseIndent		: "Tambahkan Inden",
+Blockquote			: "Blockquote",	//MISSING
+CreateDiv			: "Create Div Container",	//MISSING
+EditDiv				: "Edit Div Container",	//MISSING
+DeleteDiv			: "Remove Div Container",	//MISSING
+Undo				: "Batalkan",
+Redo				: "Ulangkan",
+NumberedListLbl		: "Senarai bernombor",
+NumberedList		: "Masukkan/Sunting Senarai bernombor",
+BulletedListLbl		: "Senarai tidak bernombor",
+BulletedList		: "Masukkan/Sunting Senarai tidak bernombor",
+ShowTableBorders	: "Tunjukkan Border Jadual",
+ShowDetails			: "Tunjukkan Butiran",
+Style				: "Stail",
+FontFormat			: "Format",
+Font				: "Font",
+FontSize			: "Saiz",
+TextColor			: "Warna Text",
+BGColor				: "Warna Latarbelakang",
+Source				: "Sumber",
+Find				: "Cari",
+Replace				: "Ganti",
+SpellCheck			: "Semak Ejaan",
+UniversalKeyboard	: "Papan Kekunci Universal",
+PageBreakLbl		: "Page Break",	//MISSING
+PageBreak			: "Insert Page Break",	//MISSING
+
+Form			: "Borang",
+Checkbox		: "Checkbox",
+RadioButton		: "Butang Radio",
+TextField		: "Text Field",
+Textarea		: "Textarea",
+HiddenField		: "Field Tersembunyi",
+Button			: "Butang",
+SelectionField	: "Field Pilihan",
+ImageButton		: "Butang Bergambar",
+
+FitWindow		: "Maximize the editor size",	//MISSING
+ShowBlocks		: "Show Blocks",	//MISSING
+
+// Context Menu
+EditLink			: "Sunting Sambungan",
+CellCM				: "Cell",	//MISSING
+RowCM				: "Row",	//MISSING
+ColumnCM			: "Column",	//MISSING
+InsertRowAfter		: "Insert Row After",	//MISSING
+InsertRowBefore		: "Insert Row Before",	//MISSING
+DeleteRows			: "Buangkan Baris",
+InsertColumnAfter	: "Insert Column After",	//MISSING
+InsertColumnBefore	: "Insert Column Before",	//MISSING
+DeleteColumns		: "Buangkan Lajur",
+InsertCellAfter		: "Insert Cell After",	//MISSING
+InsertCellBefore	: "Insert Cell Before",	//MISSING
+DeleteCells			: "Buangkan Sel-sel",
+MergeCells			: "Cantumkan Sel-sel",
+MergeRight			: "Merge Right",	//MISSING
+MergeDown			: "Merge Down",	//MISSING
+HorizontalSplitCell	: "Split Cell Horizontally",	//MISSING
+VerticalSplitCell	: "Split Cell Vertically",	//MISSING
+TableDelete			: "Delete Table",	//MISSING
+CellProperties		: "Ciri-ciri Sel",
+TableProperties		: "Ciri-ciri Jadual",
+ImageProperties		: "Ciri-ciri Gambar",
+FlashProperties		: "Flash Properties",	//MISSING
+
+AnchorProp			: "Ciri-ciri Pautan",
+ButtonProp			: "Ciri-ciri Butang",
+CheckboxProp		: "Ciri-ciri Checkbox",
+HiddenFieldProp		: "Ciri-ciri Field Tersembunyi",
+RadioButtonProp		: "Ciri-ciri Butang Radio",
+ImageButtonProp		: "Ciri-ciri Butang Bergambar",
+TextFieldProp		: "Ciri-ciri Text Field",
+SelectionFieldProp	: "Ciri-ciri Selection Field",
+TextareaProp		: "Ciri-ciri Textarea",
+FormProp			: "Ciri-ciri Borang",
+
+FontFormats			: "Normal;Telah Diformat;Alamat;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Perenggan (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "Memproses XHTML. Sila tunggu...",
+Done				: "Siap",
+PasteWordConfirm	: "Text yang anda hendak tampal adalah berasal dari Word. Adakah anda mahu membuang semua format Word sebelum tampal ke dalam text?",
+NotCompatiblePaste	: "Arahan ini bole dilakukan jika anda mempuunyai Internet Explorer version 5.5 atau yang lebih tinggi. Adakah anda hendak tampal text tanpa membuang format Word?",
+UnknownToolbarItem	: "Toolbar item tidak diketahui\"%1\"",
+UnknownCommand		: "Arahan tidak diketahui \"%1\"",
+NotImplemented		: "Arahan tidak terdapat didalam sistem",
+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
+BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",	//MISSING
+DialogBlocked		: "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",	//MISSING
+VisitLinkBlocked	: "It was not possible to open a new window. Make sure all popup blockers are disabled.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Batal",
+DlgBtnClose			: "Tutup",
+DlgBtnBrowseServer	: "Browse Server",
+DlgAdvancedTag		: "Advanced",
+DlgOpOther			: "<Lain-lain>",
+DlgInfoTab			: "Info",	//MISSING
+DlgAlertUrl			: "Please insert the URL",	//MISSING
+
+// General Dialogs Labels
+DlgGenNotSet		: "<tidak di set>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Arah Tulisan",
+DlgGenLangDirLtr	: "Kiri ke Kanan (LTR)",
+DlgGenLangDirRtl	: "Kanan ke Kiri (RTL)",
+DlgGenLangCode		: "Kod Bahasa",
+DlgGenAccessKey		: "Kunci Akses",
+DlgGenName			: "Nama",
+DlgGenTabIndex		: "Indeks Tab ",
+DlgGenLongDescr		: "Butiran Panjang URL",
+DlgGenClass			: "Kelas-kelas Stylesheet",
+DlgGenTitle			: "Tajuk Makluman",
+DlgGenContType		: "Jenis Kandungan Makluman",
+DlgGenLinkCharset	: "Linked Resource Charset",
+DlgGenStyle			: "Stail",
+
+// Image Dialog
+DlgImgTitle			: "Ciri-ciri Imej",
+DlgImgInfoTab		: "Info Imej",
+DlgImgBtnUpload		: "Hantar ke Server",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Muat Naik",
+DlgImgAlt			: "Text Alternatif",
+DlgImgWidth			: "Lebar",
+DlgImgHeight		: "Tinggi",
+DlgImgLockRatio		: "Tetapkan Nisbah",
+DlgBtnResetSize		: "Saiz Set Semula",
+DlgImgBorder		: "Border",
+DlgImgHSpace		: "Ruang Melintang",
+DlgImgVSpace		: "Ruang Menegak",
+DlgImgAlign			: "Jajaran",
+DlgImgAlignLeft		: "Kiri",
+DlgImgAlignAbsBottom: "Bawah Mutlak",
+DlgImgAlignAbsMiddle: "Pertengahan Mutlak",
+DlgImgAlignBaseline	: "Garis Dasar",
+DlgImgAlignBottom	: "Bawah",
+DlgImgAlignMiddle	: "Pertengahan",
+DlgImgAlignRight	: "Kanan",
+DlgImgAlignTextTop	: "Atas Text",
+DlgImgAlignTop		: "Atas",
+DlgImgPreview		: "Prebiu",
+DlgImgAlertUrl		: "Sila taip URL untuk fail gambar",
+DlgImgLinkTab		: "Sambungan",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash Properties",	//MISSING
+DlgFlashChkPlay		: "Auto Play",	//MISSING
+DlgFlashChkLoop		: "Loop",	//MISSING
+DlgFlashChkMenu		: "Enable Flash Menu",	//MISSING
+DlgFlashScale		: "Scale",	//MISSING
+DlgFlashScaleAll	: "Show all",	//MISSING
+DlgFlashScaleNoBorder	: "No Border",	//MISSING
+DlgFlashScaleFit	: "Exact Fit",	//MISSING
+
+// Link Dialog
+DlgLnkWindowTitle	: "Sambungan",
+DlgLnkInfoTab		: "Butiran Sambungan",
+DlgLnkTargetTab		: "Sasaran",
+
+DlgLnkType			: "Jenis Sambungan",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Pautan dalam muka surat ini",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protokol",
+DlgLnkProtoOther	: "<lain-lain>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Sila pilih pautan",
+DlgLnkAnchorByName	: "dengan menggunakan nama pautan",
+DlgLnkAnchorById	: "dengan menggunakan ID elemen",
+DlgLnkNoAnchors		: "(Tiada pautan terdapat dalam dokumen ini)",
+DlgLnkEMail			: "Alamat E-Mail",
+DlgLnkEMailSubject	: "Subjek Mesej",
+DlgLnkEMailBody		: "Isi Kandungan Mesej",
+DlgLnkUpload		: "Muat Naik",
+DlgLnkBtnUpload		: "Hantar ke Server",
+
+DlgLnkTarget		: "Sasaran",
+DlgLnkTargetFrame	: "<bingkai>",
+DlgLnkTargetPopup	: "<tetingkap popup>",
+DlgLnkTargetBlank	: "Tetingkap Baru (_blank)",
+DlgLnkTargetParent	: "Tetingkap Parent (_parent)",
+DlgLnkTargetSelf	: "Tetingkap yang Sama (_self)",
+DlgLnkTargetTop		: "Tetingkap yang paling atas (_top)",
+DlgLnkTargetFrameName	: "Nama Bingkai Sasaran",
+DlgLnkPopWinName	: "Nama Tetingkap Popup",
+DlgLnkPopWinFeat	: "Ciri Tetingkap Popup",
+DlgLnkPopResize		: "Saiz bolehubah",
+DlgLnkPopLocation	: "Bar Lokasi",
+DlgLnkPopMenu		: "Bar Menu",
+DlgLnkPopScroll		: "Bar-bar skrol",
+DlgLnkPopStatus		: "Bar Status",
+DlgLnkPopToolbar	: "Toolbar",
+DlgLnkPopFullScrn	: "Skrin Penuh (IE)",
+DlgLnkPopDependent	: "Bergantungan (Netscape)",
+DlgLnkPopWidth		: "Lebar",
+DlgLnkPopHeight		: "Tinggi",
+DlgLnkPopLeft		: "Posisi Kiri",
+DlgLnkPopTop		: "Posisi Atas",
+
+DlnLnkMsgNoUrl		: "Sila taip sambungan URL",
+DlnLnkMsgNoEMail	: "Sila taip alamat e-mail",
+DlnLnkMsgNoAnchor	: "Sila pilih pautan berkenaaan",
+DlnLnkMsgInvPopName	: "The popup name must begin with an alphabetic character and must not contain spaces",	//MISSING
+
+// Color Dialog
+DlgColorTitle		: "Pilihan Warna",
+DlgColorBtnClear	: "Nyahwarna",
+DlgColorHighlight	: "Terang",
+DlgColorSelected	: "Dipilih",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Masukkan Smiley",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Sila pilih huruf istimewa",
+
+// Table Dialog
+DlgTableTitle		: "Ciri-ciri Jadual",
+DlgTableRows		: "Barisan",
+DlgTableColumns		: "Jaluran",
+DlgTableBorder		: "Saiz Border",
+DlgTableAlign		: "Penjajaran",
+DlgTableAlignNotSet	: "<Tidak diset>",
+DlgTableAlignLeft	: "Kiri",
+DlgTableAlignCenter	: "Tengah",
+DlgTableAlignRight	: "Kanan",
+DlgTableWidth		: "Lebar",
+DlgTableWidthPx		: "piksel-piksel",
+DlgTableWidthPc		: "peratus",
+DlgTableHeight		: "Tinggi",
+DlgTableCellSpace	: "Ruangan Antara Sel",
+DlgTableCellPad		: "Tambahan Ruang Sel",
+DlgTableCaption		: "Keterangan",
+DlgTableSummary		: "Summary",	//MISSING
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "Ciri-ciri Sel",
+DlgCellWidth		: "Lebar",
+DlgCellWidthPx		: "piksel-piksel",
+DlgCellWidthPc		: "peratus",
+DlgCellHeight		: "Tinggi",
+DlgCellWordWrap		: "Mengulung Perkataan",
+DlgCellWordWrapNotSet	: "<Tidak diset>",
+DlgCellWordWrapYes	: "Ya",
+DlgCellWordWrapNo	: "Tidak",
+DlgCellHorAlign		: "Jajaran Membujur",
+DlgCellHorAlignNotSet	: "<Tidak diset>",
+DlgCellHorAlignLeft	: "Kiri",
+DlgCellHorAlignCenter	: "Tengah",
+DlgCellHorAlignRight: "Kanan",
+DlgCellVerAlign		: "Jajaran Menegak",
+DlgCellVerAlignNotSet	: "<Tidak diset>",
+DlgCellVerAlignTop	: "Atas",
+DlgCellVerAlignMiddle	: "Tengah",
+DlgCellVerAlignBottom	: "Bawah",
+DlgCellVerAlignBaseline	: "Garis Dasar",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "Penggunaan Baris",
+DlgCellCollSpan		: "Penggunaan Lajur",
+DlgCellBackColor	: "Warna Latarbelakang",
+DlgCellBorderColor	: "Warna Border",
+DlgCellBtnSelect	: "Pilih...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Find and Replace",	//MISSING
+
+// Find Dialog
+DlgFindTitle		: "Carian",
+DlgFindFindBtn		: "Cari",
+DlgFindNotFoundMsg	: "Text yang dicari tidak dijumpai.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Gantian",
+DlgReplaceFindLbl		: "Perkataan yang dicari:",
+DlgReplaceReplaceLbl	: "Diganti dengan:",
+DlgReplaceCaseChk		: "Padanan case huruf",
+DlgReplaceReplaceBtn	: "Ganti",
+DlgReplaceReplAllBtn	: "Ganti semua",
+DlgReplaceWordChk		: "Padana Keseluruhan perkataan",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "Keselamatan perisian browser anda tidak membenarkan operasi suntingan text/imej. Sila gunakan papan kekunci (Ctrl+X).",
+PasteErrorCopy	: "Keselamatan perisian browser anda tidak membenarkan operasi salinan text/imej. Sila gunakan papan kekunci (Ctrl+C).",
+
+PasteAsText		: "Tampal sebagai text biasa",
+PasteFromWord	: "Tampal dari perisian \"Word\"",
+
+DlgPasteMsg2	: "Please paste inside the following box using the keyboard (<strong>Ctrl+V</strong>) and hit <strong>OK</strong>.",	//MISSING
+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
+DlgPasteIgnoreFont		: "Ignore Font Face definitions",	//MISSING
+DlgPasteRemoveStyles	: "Remove Styles definitions",	//MISSING
+
+// Color Picker
+ColorAutomatic	: "Otomatik",
+ColorMoreColors	: "Warna lain-lain...",
+
+// Document Properties
+DocProps		: "Ciri-ciri dokumen",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Ciri-ciri Pautan",
+DlgAnchorName		: "Nama Pautan",
+DlgAnchorErrorName	: "Sila taip nama pautan",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Tidak terdapat didalam kamus",
+DlgSpellChangeTo		: "Tukarkan kepada",
+DlgSpellBtnIgnore		: "Biar",
+DlgSpellBtnIgnoreAll	: "Biarkan semua",
+DlgSpellBtnReplace		: "Ganti",
+DlgSpellBtnReplaceAll	: "Gantikan Semua",
+DlgSpellBtnUndo			: "Batalkan",
+DlgSpellNoSuggestions	: "- Tiada cadangan -",
+DlgSpellProgress		: "Pemeriksaan ejaan sedang diproses...",
+DlgSpellNoMispell		: "Pemeriksaan ejaan siap: Tiada salah ejaan",
+DlgSpellNoChanges		: "Pemeriksaan ejaan siap: Tiada perkataan diubah",
+DlgSpellOneChange		: "Pemeriksaan ejaan siap: Satu perkataan telah diubah",
+DlgSpellManyChanges		: "Pemeriksaan ejaan siap: %1 perkataan diubah",
+
+IeSpellDownload			: "Pemeriksa ejaan tidak dipasang. Adakah anda mahu muat turun sekarang?",
+
+// Button Dialog
+DlgButtonText		: "Teks (Nilai)",
+DlgButtonType		: "Jenis",
+DlgButtonTypeBtn	: "Button",	//MISSING
+DlgButtonTypeSbm	: "Submit",	//MISSING
+DlgButtonTypeRst	: "Reset",	//MISSING
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Nama",
+DlgCheckboxValue	: "Nilai",
+DlgCheckboxSelected	: "Dipilih",
+
+// Form Dialog
+DlgFormName		: "Nama",
+DlgFormAction	: "Tindakan borang",
+DlgFormMethod	: "Cara borang dihantar",
+
+// Select Field Dialog
+DlgSelectName		: "Nama",
+DlgSelectValue		: "Nilai",
+DlgSelectSize		: "Saiz",
+DlgSelectLines		: "garisan",
+DlgSelectChkMulti	: "Benarkan pilihan pelbagai",
+DlgSelectOpAvail	: "Pilihan sediada",
+DlgSelectOpText		: "Teks",
+DlgSelectOpValue	: "Nilai",
+DlgSelectBtnAdd		: "Tambah Pilihan",
+DlgSelectBtnModify	: "Ubah Pilihan",
+DlgSelectBtnUp		: "Naik ke atas",
+DlgSelectBtnDown	: "Turun ke bawah",
+DlgSelectBtnSetValue : "Set sebagai nilai terpilih",
+DlgSelectBtnDelete	: "Padam",
+
+// Textarea Dialog
+DlgTextareaName	: "Nama",
+DlgTextareaCols	: "Lajur",
+DlgTextareaRows	: "Baris",
+
+// Text Field Dialog
+DlgTextName			: "Nama",
+DlgTextValue		: "Nilai",
+DlgTextCharWidth	: "Lebar isian",
+DlgTextMaxChars		: "Isian Maksimum",
+DlgTextType			: "Jenis",
+DlgTextTypeText		: "Teks",
+DlgTextTypePass		: "Kata Laluan",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Nama",
+DlgHiddenValue	: "Nilai",
+
+// Bulleted List Dialog
+BulletedListProp	: "Ciri-ciri senarai berpeluru",
+NumberedListProp	: "Ciri-ciri senarai bernombor",
+DlgLstStart			: "Start",	//MISSING
+DlgLstType			: "Jenis",
+DlgLstTypeCircle	: "Circle",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Square",
+DlgLstTypeNumbers	: "Nombor-nombor (1, 2, 3)",
+DlgLstTypeLCase		: "Huruf-huruf kecil (a, b, c)",
+DlgLstTypeUCase		: "Huruf-huruf besar (A, B, C)",
+DlgLstTypeSRoman	: "Nombor Roman Kecil (i, ii, iii)",
+DlgLstTypeLRoman	: "Nombor Roman Besar (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Umum",
+DlgDocBackTab		: "Latarbelakang",
+DlgDocColorsTab		: "Warna dan margin",
+DlgDocMetaTab		: "Data Meta",
+
+DlgDocPageTitle		: "Tajuk Muka Surat",
+DlgDocLangDir		: "Arah Tulisan",
+DlgDocLangDirLTR	: "Kiri ke Kanan (LTR)",
+DlgDocLangDirRTL	: "Kanan ke Kiri (RTL)",
+DlgDocLangCode		: "Kod Bahasa",
+DlgDocCharSet		: "Enkod Set Huruf",
+DlgDocCharSetCE		: "Central European",	//MISSING
+DlgDocCharSetCT		: "Chinese Traditional (Big5)",	//MISSING
+DlgDocCharSetCR		: "Cyrillic",	//MISSING
+DlgDocCharSetGR		: "Greek",	//MISSING
+DlgDocCharSetJP		: "Japanese",	//MISSING
+DlgDocCharSetKR		: "Korean",	//MISSING
+DlgDocCharSetTR		: "Turkish",	//MISSING
+DlgDocCharSetUN		: "Unicode (UTF-8)",	//MISSING
+DlgDocCharSetWE		: "Western European",	//MISSING
+DlgDocCharSetOther	: "Enkod Set Huruf yang Lain",
+
+DlgDocDocType		: "Jenis Kepala Dokumen",
+DlgDocDocTypeOther	: "Jenis Kepala Dokumen yang Lain",
+DlgDocIncXHTML		: "Masukkan pemula kod XHTML",
+DlgDocBgColor		: "Warna Latarbelakang",
+DlgDocBgImage		: "URL Gambar Latarbelakang",
+DlgDocBgNoScroll	: "Imej Latarbelakang tanpa Skrol",
+DlgDocCText			: "Teks",
+DlgDocCLink			: "Sambungan",
+DlgDocCVisited		: "Sambungan telah Dilawati",
+DlgDocCActive		: "Sambungan Aktif",
+DlgDocMargins		: "Margin Muka Surat",
+DlgDocMaTop			: "Atas",
+DlgDocMaLeft		: "Kiri",
+DlgDocMaRight		: "Kanan",
+DlgDocMaBottom		: "Bawah",
+DlgDocMeIndex		: "Kata Kunci Indeks Dokumen (dipisahkan oleh koma)",
+DlgDocMeDescr		: "Keterangan Dokumen",
+DlgDocMeAuthor		: "Penulis",
+DlgDocMeCopy		: "Hakcipta",
+DlgDocPreview		: "Prebiu",
+
+// Templates Dialog
+Templates			: "Templat",
+DlgTemplatesTitle	: "Templat Kandungan",
+DlgTemplatesSelMsg	: "Sila pilih templat untuk dibuka oleh editor<br>(kandungan sebenar akan hilang):",
+DlgTemplatesLoading	: "Senarai Templat sedang diproses. Sila Tunggu...",
+DlgTemplatesNoTpl	: "(Tiada Templat Disimpan)",
+DlgTemplatesReplace	: "Replace actual contents",	//MISSING
+
+// About Dialog
+DlgAboutAboutTab	: "Tentang",
+DlgAboutBrowserInfoTab	: "Maklumat Perisian Browser",
+DlgAboutLicenseTab	: "License",	//MISSING
+DlgAboutVersion		: "versi",
+DlgAboutInfo		: "Untuk maklumat lanjut sila pergi ke",
+
+// Div Dialog
+DlgDivGeneralTab	: "General",	//MISSING
+DlgDivAdvancedTab	: "Advanced",	//MISSING
+DlgDivStyle		: "Style",	//MISSING
+DlgDivInlineStyle	: "Inline Style",	//MISSING
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/ro.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/ro.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/ro.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Romanian language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Ascunde bara cu opÅ£iuni",
+ToolbarExpand		: "ExpandeazÄƒ bara cu opÅ£iuni",
+
+// Toolbar Items and Context Menu
+Save				: "SalveazÄƒ",
+NewPage				: "PaginÄƒ nouÄƒ",
+Preview				: "Previzualizare",
+Cut					: "Taie",
+Copy				: "CopiazÄƒ",
+Paste				: "AdaugÄƒ",
+PasteText			: "AdaugÄƒ ca text simplu",
+PasteWord			: "AdaugÄƒ din Word",
+Print				: "PrinteazÄƒ",
+SelectAll			: "SelecteazÄƒ tot",
+RemoveFormat		: "ÃnlÄƒturÄƒ formatarea",
+InsertLinkLbl		: "Link (LegÄƒturÄƒ web)",
+InsertLink			: "InsereazÄƒ/EditeazÄƒ link (legÄƒturÄƒ web)",
+RemoveLink			: "ÃnlÄƒturÄƒ link (legÄƒturÄƒ web)",
+VisitLink			: "Open Link",	//MISSING
+Anchor				: "InsereazÄƒ/EditeazÄƒ ancorÄƒ",
+AnchorDelete		: "Återge ancorÄƒ",
+InsertImageLbl		: "Imagine",
+InsertImage			: "InsereazÄƒ/EditeazÄƒ imagine",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "InsereazÄƒ/EditeazÄƒ flash",
+InsertTableLbl		: "Tabel",
+InsertTable			: "InsereazÄƒ/EditeazÄƒ tabel",
+InsertLineLbl		: "Linie",
+InsertLine			: "InsereazÄƒ linie orizontÄƒ",
+InsertSpecialCharLbl: "Caracter special",
+InsertSpecialChar	: "InsereazÄƒ caracter special",
+InsertSmileyLbl		: "FigurÄƒ expresivÄƒ (Emoticon)",
+InsertSmiley		: "InsereazÄƒ FigurÄƒ expresivÄƒ (Emoticon)",
+About				: "Despre FCKeditor",
+Bold				: "ÃngroÅŸat (bold)",
+Italic				: "Ãnclinat (italic)",
+Underline			: "Subliniat (underline)",
+StrikeThrough		: "TÄƒiat (strike through)",
+Subscript			: "Indice (subscript)",
+Superscript			: "Putere (superscript)",
+LeftJustify			: "Aliniere la stÃ¢nga",
+CenterJustify		: "Aliniere centralÄƒ",
+RightJustify		: "Aliniere la dreapta",
+BlockJustify		: "Aliniere Ã®n bloc (Block Justify)",
+DecreaseIndent		: "Scade indentarea",
+IncreaseIndent		: "CreÅŸte indentarea",
+Blockquote			: "Citat",
+CreateDiv			: "Create Div Container",	//MISSING
+EditDiv				: "Edit Div Container",	//MISSING
+DeleteDiv			: "Remove Div Container",	//MISSING
+Undo				: "Starea anterioarÄƒ (undo)",
+Redo				: "Starea ulterioarÄƒ (redo)",
+NumberedListLbl		: "ListÄƒ numerotatÄƒ",
+NumberedList		: "InsereazÄƒ/Återge listÄƒ numerotatÄƒ",
+BulletedListLbl		: "ListÄƒ cu puncte",
+BulletedList		: "InsereazÄƒ/Återge listÄƒ cu puncte",
+ShowTableBorders	: "AratÄƒ marginile tabelului",
+ShowDetails			: "AratÄƒ detalii",
+Style				: "Stil",
+FontFormat			: "Formatare",
+Font				: "Font",
+FontSize			: "MÄƒrime",
+TextColor			: "Culoarea textului",
+BGColor				: "Coloarea fundalului",
+Source				: "Sursa",
+Find				: "GÄƒseÅŸte",
+Replace				: "ÃnlocuieÅŸte",
+SpellCheck			: "VerificÄƒ text",
+UniversalKeyboard	: "TastaturÄƒ universalÄƒ",
+PageBreakLbl		: "Separator de paginÄƒ (Page Break)",
+PageBreak			: "InsereazÄƒ separator de paginÄƒ (Page Break)",
+
+Form			: "Formular (Form)",
+Checkbox		: "BifÄƒ (Checkbox)",
+RadioButton		: "Buton radio (RadioButton)",
+TextField		: "CÃ¢mp text (TextField)",
+Textarea		: "SuprafaÅ£Äƒ text (Textarea)",
+HiddenField		: "CÃ¢mp ascuns (HiddenField)",
+Button			: "Buton",
+SelectionField	: "CÃ¢mp selecÅ£ie (SelectionField)",
+ImageButton		: "Buton imagine (ImageButton)",
+
+FitWindow		: "MaximizeazÄƒ mÄƒrimea editorului",
+ShowBlocks		: "AratÄƒ blocurile",
+
+// Context Menu
+EditLink			: "EditeazÄƒ Link",
+CellCM				: "CelulÄƒ",
+RowCM				: "Linie",
+ColumnCM			: "ColoanÄƒ",
+InsertRowAfter		: "InsereazÄƒ linie dupÄƒ",
+InsertRowBefore		: "InsereazÄƒ linie Ã®nainte",
+DeleteRows			: "Återge linii",
+InsertColumnAfter	: "InsereazÄƒ coloanÄƒ dupÄƒ",
+InsertColumnBefore	: "InsereazÄƒ coloanÄƒ Ã®nainte",
+DeleteColumns		: "Återge celule",
+InsertCellAfter		: "InsereazÄƒ celulÄƒ dupÄƒ",
+InsertCellBefore	: "InsereazÄƒ celulÄƒ Ã®nainte",
+DeleteCells			: "Återge celule",
+MergeCells			: "UneÅŸte celule",
+MergeRight			: "UneÅŸte la dreapta",
+MergeDown			: "UneÅŸte jos",
+HorizontalSplitCell	: "Ãmparte celula pe orizontalÄƒ",
+VerticalSplitCell	: "Ãmparte celula pe verticalÄƒ",
+TableDelete			: "Återge tabel",
+CellProperties		: "ProprietÄƒÅ£ile celulei",
+TableProperties		: "ProprietÄƒÅ£ile tabelului",
+ImageProperties		: "ProprietÄƒÅ£ile imaginii",
+FlashProperties		: "ProprietÄƒÅ£ile flash-ului",
+
+AnchorProp			: "ProprietÄƒÅ£i ancorÄƒ",
+ButtonProp			: "ProprietÄƒÅ£i buton",
+CheckboxProp		: "ProprietÄƒÅ£i bifÄƒ (Checkbox)",
+HiddenFieldProp		: "ProprietÄƒÅ£i cÃ¢mp ascuns (Hidden Field)",
+RadioButtonProp		: "ProprietÄƒÅ£i buton radio (Radio Button)",
+ImageButtonProp		: "ProprietÄƒÅ£i buton imagine (Image Button)",
+TextFieldProp		: "ProprietÄƒÅ£i cÃ¢mp text (Text Field)",
+SelectionFieldProp	: "ProprietÄƒÅ£i cÃ¢mp selecÅ£ie (Selection Field)",
+TextareaProp		: "ProprietÄƒÅ£i suprafaÅ£Äƒ text (Textarea)",
+FormProp			: "ProprietÄƒÅ£i formular (Form)",
+
+FontFormats			: "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",	//MISSING
+
+// Alerts and Messages
+ProcessingXHTML		: "ProcesÄƒm XHTML. VÄƒ rugÄƒm aÅŸteptaÅ£i...",
+Done				: "Am terminat",
+PasteWordConfirm	: "Textul pe care doriÅ£i sÄƒ-l adÄƒugaÅ£i pare a fi formatat pentru Word. DoriÅ£i sÄƒ-l curÄƒÅ£aÅ£i de aceastÄƒ formatare Ã®nainte de a-l adÄƒuga?",
+NotCompatiblePaste	: "AceastÄƒ facilitate e disponibilÄƒ doar pentru Microsoft Internet Explorer, versiunea 5.5 sau ulterioarÄƒ. VreÅ£i sÄƒ-l adÄƒugaÅ£i fÄƒrÄƒ a-i fi Ã®nlÄƒturat formatarea?",
+UnknownToolbarItem	: "Obiectul \"%1\" din bara cu opÅ£iuni necunoscut",
+UnknownCommand		: "Comanda \"%1\" necunoscutÄƒ",
+NotImplemented		: "ComandÄƒ neimplementatÄƒ",
+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Äƒ.",
+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).",
+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).",
+VisitLinkBlocked	: "It was not possible to open a new window. Make sure all popup blockers are disabled.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "Bine",
+DlgBtnCancel		: "Anulare",
+DlgBtnClose			: "Ãnchidere",
+DlgBtnBrowseServer	: "RÄƒsfoieÅŸte server",
+DlgAdvancedTag		: "Avansat",
+DlgOpOther			: "<Altul>",
+DlgInfoTab			: "InformaÅ£ii",
+DlgAlertUrl			: "VÄƒ rugÄƒm sÄƒ scrieÅ£i URL-ul",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<nesetat>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "DirecÅ£ia cuvintelor",
+DlgGenLangDirLtr	: "stÃ¢nga-dreapta (LTR)",
+DlgGenLangDirRtl	: "dreapta-stÃ¢nga (RTL)",
+DlgGenLangCode		: "Codul limbii",
+DlgGenAccessKey		: "Tasta de acces",
+DlgGenName			: "Nume",
+DlgGenTabIndex		: "Indexul tabului",
+DlgGenLongDescr		: "Descrierea lungÄƒ URL",
+DlgGenClass			: "Clasele cu stilul paginii (CSS)",
+DlgGenTitle			: "Titlul consultativ",
+DlgGenContType		: "Tipul consultativ al titlului",
+DlgGenLinkCharset	: "Setul de caractere al resursei legate",
+DlgGenStyle			: "Stil",
+
+// Image Dialog
+DlgImgTitle			: "ProprietÄƒÅ£ile imaginii",
+DlgImgInfoTab		: "InformaÅ£ii despre imagine",
+DlgImgBtnUpload		: "Trimite la server",
+DlgImgURL			: "URL",
+DlgImgUpload		: "ÃncarcÄƒ",
+DlgImgAlt			: "Text alternativ",
+DlgImgWidth			: "LÄƒÅ£ime",
+DlgImgHeight		: "ÃnÄƒlÅ£ime",
+DlgImgLockRatio		: "PÄƒstreazÄƒ proporÅ£iile",
+DlgBtnResetSize		: "ReseteazÄƒ mÄƒrimea",
+DlgImgBorder		: "Margine",
+DlgImgHSpace		: "HSpace",
+DlgImgVSpace		: "VSpace",
+DlgImgAlign			: "Aliniere",
+DlgImgAlignLeft		: "StÃ¢nga",
+DlgImgAlignAbsBottom: "Jos absolut (Abs Bottom)",
+DlgImgAlignAbsMiddle: "Mijloc absolut (Abs Middle)",
+DlgImgAlignBaseline	: "Linia de jos (Baseline)",
+DlgImgAlignBottom	: "Jos",
+DlgImgAlignMiddle	: "Mijloc",
+DlgImgAlignRight	: "Dreapta",
+DlgImgAlignTextTop	: "Text sus",
+DlgImgAlignTop		: "Sus",
+DlgImgPreview		: "Previzualizare",
+DlgImgAlertUrl		: "VÄƒ rugÄƒm sÄƒ scrieÅ£i URL-ul imaginii",
+DlgImgLinkTab		: "Link (LegÄƒturÄƒ web)",
+
+// Flash Dialog
+DlgFlashTitle		: "ProprietÄƒÅ£ile flash-ului",
+DlgFlashChkPlay		: "RuleazÄƒ automat",
+DlgFlashChkLoop		: "RepetÄƒ (Loop)",
+DlgFlashChkMenu		: "ActiveazÄƒ meniul flash",
+DlgFlashScale		: "ScalÄƒ",
+DlgFlashScaleAll	: "AratÄƒ tot",
+DlgFlashScaleNoBorder	: "FÄƒrÄƒ margini (No border)",
+DlgFlashScaleFit	: "PotriveÅŸte",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Link (LegÄƒturÄƒ web)",
+DlgLnkInfoTab		: "InformaÅ£ii despre link (LegÄƒturÄƒ web)",
+DlgLnkTargetTab		: "Å¢intÄƒ (Target)",
+
+DlgLnkType			: "Tipul link-ului (al legÄƒturii web)",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "AncorÄƒ Ã®n aceastÄƒ paginÄƒ",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protocol",
+DlgLnkProtoOther	: "<altul>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "SelectaÅ£i o ancorÄƒ",
+DlgLnkAnchorByName	: "dupÄƒ numele ancorei",
+DlgLnkAnchorById	: "dupÄƒ Id-ul elementului",
+DlgLnkNoAnchors		: "(Nicio ancorÄƒ disponibilÄƒ Ã®n document)",
+DlgLnkEMail			: "AdresÄƒ de e-mail",
+DlgLnkEMailSubject	: "Subiectul mesajului",
+DlgLnkEMailBody		: "ConÅ£inutul mesajului",
+DlgLnkUpload		: "ÃncarcÄƒ",
+DlgLnkBtnUpload		: "Trimite la server",
+
+DlgLnkTarget		: "Å¢intÄƒ (Target)",
+DlgLnkTargetFrame	: "<frame>",
+DlgLnkTargetPopup	: "<fereastra popup>",
+DlgLnkTargetBlank	: "FereastrÄƒ nouÄƒ (_blank)",
+DlgLnkTargetParent	: "Fereastra pÄƒrinte (_parent)",
+DlgLnkTargetSelf	: "AceeaÅŸi fereastrÄƒ (_self)",
+DlgLnkTargetTop		: "Fereastra din topul ierarhiei (_top)",
+DlgLnkTargetFrameName	: "Numele frame-ului Å£intÄƒ",
+DlgLnkPopWinName	: "Numele ferestrei popup",
+DlgLnkPopWinFeat	: "ProprietÄƒÅ£ile ferestrei popup",
+DlgLnkPopResize		: "ScalabilÄƒ",
+DlgLnkPopLocation	: "Bara de locaÅ£ie",
+DlgLnkPopMenu		: "Bara de meniu",
+DlgLnkPopScroll		: "Scroll Bars",
+DlgLnkPopStatus		: "Bara de status",
+DlgLnkPopToolbar	: "Bara de opÅ£iuni",
+DlgLnkPopFullScrn	: "Tot ecranul (Full Screen)(IE)",
+DlgLnkPopDependent	: "Dependent (Netscape)",
+DlgLnkPopWidth		: "LÄƒÅ£ime",
+DlgLnkPopHeight		: "ÃnÄƒlÅ£ime",
+DlgLnkPopLeft		: "PoziÅ£ia la stÃ¢nga",
+DlgLnkPopTop		: "PoziÅ£ia la dreapta",
+
+DlnLnkMsgNoUrl		: "VÄƒ rugÄƒm sÄƒ scrieÅ£i URL-ul",
+DlnLnkMsgNoEMail	: "VÄƒ rugÄƒm sÄƒ scrieÅ£i adresa de e-mail",
+DlnLnkMsgNoAnchor	: "VÄƒ rugÄƒm sÄƒ selectaÅ£i o ancorÄƒ",
+DlnLnkMsgInvPopName	: "Numele 'popup'-ului trebuie sÄƒ Ã®nceapÄƒ cu un caracter alfabetic ÅŸi trebuie sÄƒ nu conÅ£inÄƒ spaÅ£ii",
+
+// Color Dialog
+DlgColorTitle		: "SelecteazÄƒ culoare",
+DlgColorBtnClear	: "CurÄƒÅ£Äƒ",
+DlgColorHighlight	: "SubliniazÄƒ (Highlight)",
+DlgColorSelected	: "Selectat",
+
+// Smiley Dialog
+DlgSmileyTitle		: "InsereazÄƒ o figurÄƒ expresivÄƒ (Emoticon)",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "SelecteazÄƒ caracter special",
+
+// Table Dialog
+DlgTableTitle		: "ProprietÄƒÅ£ile tabelului",
+DlgTableRows		: "Linii",
+DlgTableColumns		: "Coloane",
+DlgTableBorder		: "MÄƒrimea marginii",
+DlgTableAlign		: "Aliniament",
+DlgTableAlignNotSet	: "<Nesetat>",
+DlgTableAlignLeft	: "StÃ¢nga",
+DlgTableAlignCenter	: "Centru",
+DlgTableAlignRight	: "Dreapta",
+DlgTableWidth		: "LÄƒÅ£ime",
+DlgTableWidthPx		: "pixeli",
+DlgTableWidthPc		: "procente",
+DlgTableHeight		: "ÃnÄƒlÅ£ime",
+DlgTableCellSpace	: "SpaÅ£iu Ã®ntre celule",
+DlgTableCellPad		: "SpaÅ£iu Ã®n cadrul celulei",
+DlgTableCaption		: "Titlu (Caption)",
+DlgTableSummary		: "Rezumat",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "ProprietÄƒÅ£ile celulei",
+DlgCellWidth		: "LÄƒÅ£ime",
+DlgCellWidthPx		: "pixeli",
+DlgCellWidthPc		: "procente",
+DlgCellHeight		: "ÃnÄƒlÅ£ime",
+DlgCellWordWrap		: "Desparte cuvintele (Wrap)",
+DlgCellWordWrapNotSet	: "<Nesetat>",
+DlgCellWordWrapYes	: "Da",
+DlgCellWordWrapNo	: "Nu",
+DlgCellHorAlign		: "Aliniament orizontal",
+DlgCellHorAlignNotSet	: "<Nesetat>",
+DlgCellHorAlignLeft	: "StÃ¢nga",
+DlgCellHorAlignCenter	: "Centru",
+DlgCellHorAlignRight: "Dreapta",
+DlgCellVerAlign		: "Aliniament vertical",
+DlgCellVerAlignNotSet	: "<Nesetat>",
+DlgCellVerAlignTop	: "Sus",
+DlgCellVerAlignMiddle	: "Mijloc",
+DlgCellVerAlignBottom	: "Jos",
+DlgCellVerAlignBaseline	: "Linia de jos (Baseline)",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "Lungimea Ã®n linii (Span)",
+DlgCellCollSpan		: "Lungimea Ã®n coloane (Span)",
+DlgCellBackColor	: "Culoarea fundalului",
+DlgCellBorderColor	: "Culoarea marginii",
+DlgCellBtnSelect	: "SelectaÅ£i...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "GÄƒseÅŸte ÅŸi Ã®nlocuieÅŸte",
+
+// Find Dialog
+DlgFindTitle		: "GÄƒseÅŸte",
+DlgFindFindBtn		: "GÄƒseÅŸte",
+DlgFindNotFoundMsg	: "Textul specificat nu a fost gÄƒsit.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Replace",
+DlgReplaceFindLbl		: "GÄƒseÅŸte:",
+DlgReplaceReplaceLbl	: "ÃnlocuieÅŸte cu:",
+DlgReplaceCaseChk		: "DeosebeÅŸte majuscule de minuscule (Match case)",
+DlgReplaceReplaceBtn	: "ÃnlocuieÅŸte",
+DlgReplaceReplAllBtn	: "ÃnlocuieÅŸte tot",
+DlgReplaceWordChk		: "Doar cuvintele Ã®ntregi",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "SetÄƒrile de securitate ale navigatorului (browser) pe care Ã®l folosiÅ£i nu permit editorului sÄƒ execute automat operaÅ£iunea de tÄƒiere. VÄƒ rugÄƒm folosiÅ£i tastatura (Ctrl+X).",
+PasteErrorCopy	: "SetÄƒrile de securitate ale navigatorului (browser) pe care Ã®l folosiÅ£i nu permit editorului sÄƒ execute automat operaÅ£iunea de copiere. VÄƒ rugÄƒm folosiÅ£i tastatura (Ctrl+C).",
+
+PasteAsText		: "AdaugÄƒ ca text simplu (Plain Text)",
+PasteFromWord	: "AdaugÄƒ din Word",
+
+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>.",
+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Äƒ.",
+DlgPasteIgnoreFont		: "IgnorÄƒ definiÅ£iile Font Face",
+DlgPasteRemoveStyles	: "Återge definiÅ£iile stilurilor",
+
+// Color Picker
+ColorAutomatic	: "Automatic",
+ColorMoreColors	: "Mai multe culori...",
+
+// Document Properties
+DocProps		: "ProprietÄƒÅ£ile documentului",
+
+// Anchor Dialog
+DlgAnchorTitle		: "ProprietÄƒÅ£ile ancorei",
+DlgAnchorName		: "Numele ancorei",
+DlgAnchorErrorName	: "VÄƒ rugÄƒm scrieÅ£i numele ancorei",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Nu e Ã®n dicÅ£ionar",
+DlgSpellChangeTo		: "SchimbÄƒ Ã®n",
+DlgSpellBtnIgnore		: "IgnorÄƒ",
+DlgSpellBtnIgnoreAll	: "IgnorÄƒ toate",
+DlgSpellBtnReplace		: "ÃnlocuieÅŸte",
+DlgSpellBtnReplaceAll	: "ÃnlocuieÅŸte tot",
+DlgSpellBtnUndo			: "Starea anterioarÄƒ (undo)",
+DlgSpellNoSuggestions	: "- FÄƒrÄƒ sugestii -",
+DlgSpellProgress		: "Verificarea textului Ã®n desfÄƒÅŸurare...",
+DlgSpellNoMispell		: "Verificarea textului terminatÄƒ: Nicio greÅŸealÄƒ gÄƒsitÄƒ",
+DlgSpellNoChanges		: "Verificarea textului terminatÄƒ: Niciun cuvÃ¢nt modificat",
+DlgSpellOneChange		: "Verificarea textului terminatÄƒ: Un cuvÃ¢nt modificat",
+DlgSpellManyChanges		: "Verificarea textului terminatÄƒ: 1% cuvinte modificate",
+
+IeSpellDownload			: "Unealta pentru verificat textul (Spell checker) neinstalatÄƒ. DoriÅ£i sÄƒ o descÄƒrcaÅ£i acum?",
+
+// Button Dialog
+DlgButtonText		: "Text (Valoare)",
+DlgButtonType		: "Tip",
+DlgButtonTypeBtn	: "Button",
+DlgButtonTypeSbm	: "Submit",
+DlgButtonTypeRst	: "Reset",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Nume",
+DlgCheckboxValue	: "Valoare",
+DlgCheckboxSelected	: "Selectat",
+
+// Form Dialog
+DlgFormName		: "Nume",
+DlgFormAction	: "AcÅ£iune",
+DlgFormMethod	: "MetodÄƒ",
+
+// Select Field Dialog
+DlgSelectName		: "Nume",
+DlgSelectValue		: "Valoare",
+DlgSelectSize		: "MÄƒrime",
+DlgSelectLines		: "linii",
+DlgSelectChkMulti	: "Permite selecÅ£ii multiple",
+DlgSelectOpAvail	: "OpÅ£iuni disponibile",
+DlgSelectOpText		: "Text",
+DlgSelectOpValue	: "Valoare",
+DlgSelectBtnAdd		: "AdaugÄƒ",
+DlgSelectBtnModify	: "ModificÄƒ",
+DlgSelectBtnUp		: "Sus",
+DlgSelectBtnDown	: "Jos",
+DlgSelectBtnSetValue : "SeteazÄƒ ca valoare selectatÄƒ",
+DlgSelectBtnDelete	: "Återge",
+
+// Textarea Dialog
+DlgTextareaName	: "Nume",
+DlgTextareaCols	: "Coloane",
+DlgTextareaRows	: "Linii",
+
+// Text Field Dialog
+DlgTextName			: "Nume",
+DlgTextValue		: "Valoare",
+DlgTextCharWidth	: "LÄƒrgimea caracterului",
+DlgTextMaxChars		: "Caractere maxime",
+DlgTextType			: "Tip",
+DlgTextTypeText		: "Text",
+DlgTextTypePass		: "ParolÄƒ",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Nume",
+DlgHiddenValue	: "Valoare",
+
+// Bulleted List Dialog
+BulletedListProp	: "ProprietÄƒÅ£ile listei punctate (Bulleted List)",
+NumberedListProp	: "ProprietÄƒÅ£ile listei numerotate (Numbered List)",
+DlgLstStart			: "Start",
+DlgLstType			: "Tip",
+DlgLstTypeCircle	: "Cerc",
+DlgLstTypeDisc		: "Disc",
+DlgLstTypeSquare	: "PÄƒtrat",
+DlgLstTypeNumbers	: "Numere (1, 2, 3)",
+DlgLstTypeLCase		: "Minuscule-litere mici (a, b, c)",
+DlgLstTypeUCase		: "Majuscule (A, B, C)",
+DlgLstTypeSRoman	: "Cifre romane mici (i, ii, iii)",
+DlgLstTypeLRoman	: "Cifre romane mari (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "General",
+DlgDocBackTab		: "Fundal",
+DlgDocColorsTab		: "Culori si margini",
+DlgDocMetaTab		: "Meta Data",
+
+DlgDocPageTitle		: "Titlul paginii",
+DlgDocLangDir		: "Descrierea limbii",
+DlgDocLangDirLTR	: "stÃ¢nga-dreapta (LTR)",
+DlgDocLangDirRTL	: "dreapta-stÃ¢nga (RTL)",
+DlgDocLangCode		: "Codul limbii",
+DlgDocCharSet		: "Encoding setului de caractere",
+DlgDocCharSetCE		: "Central european",
+DlgDocCharSetCT		: "Chinezesc tradiÅ£ional (Big5)",
+DlgDocCharSetCR		: "Chirilic",
+DlgDocCharSetGR		: "Grecesc",
+DlgDocCharSetJP		: "Japonez",
+DlgDocCharSetKR		: "Corean",
+DlgDocCharSetTR		: "Turcesc",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "Vest european",
+DlgDocCharSetOther	: "Alt encoding al setului de caractere",
+
+DlgDocDocType		: "Document Type Heading",
+DlgDocDocTypeOther	: "Alt Document Type Heading",
+DlgDocIncXHTML		: "Include declaraÅ£ii XHTML",
+DlgDocBgColor		: "Culoarea fundalului (Background Color)",
+DlgDocBgImage		: "URL-ul imaginii din fundal (Background Image URL)",
+DlgDocBgNoScroll	: "Fundal neflotant, fix (Nonscrolling Background)",
+DlgDocCText			: "Text",
+DlgDocCLink			: "Link (LegÄƒturÄƒ web)",
+DlgDocCVisited		: "Link (LegÄƒturÄƒ web) vizitat",
+DlgDocCActive		: "Link (LegÄƒturÄƒ web) activ",
+DlgDocMargins		: "Marginile paginii",
+DlgDocMaTop			: "Sus",
+DlgDocMaLeft		: "StÃ¢nga",
+DlgDocMaRight		: "Dreapta",
+DlgDocMaBottom		: "Jos",
+DlgDocMeIndex		: "Cuvinte cheie dupÄƒ care se va indexa documentul (separate prin virgulÄƒ)",
+DlgDocMeDescr		: "Descrierea documentului",
+DlgDocMeAuthor		: "Autor",
+DlgDocMeCopy		: "Drepturi de autor",
+DlgDocPreview		: "Previzualizare",
+
+// Templates Dialog
+Templates			: "Template-uri (ÅŸabloane)",
+DlgTemplatesTitle	: "Template-uri (ÅŸabloane) de conÅ£inut",
+DlgTemplatesSelMsg	: "VÄƒ rugÄƒm selectaÅ£i template-ul (ÅŸablonul) ce se va deschide Ã®n editor<br>(conÅ£inutul actual va fi pierdut):",
+DlgTemplatesLoading	: "Se Ã®ncarcÄƒ lista cu template-uri (ÅŸabloane). VÄƒ rugÄƒm aÅŸteptaÅ£i...",
+DlgTemplatesNoTpl	: "(Niciun template (ÅŸablon) definit)",
+DlgTemplatesReplace	: "ÃnlocuieÅŸte cuprinsul actual",
+
+// About Dialog
+DlgAboutAboutTab	: "Despre",
+DlgAboutBrowserInfoTab	: "InformaÅ£ii browser",
+DlgAboutLicenseTab	: "LicenÅ£Äƒ",
+DlgAboutVersion		: "versiune",
+DlgAboutInfo		: "Pentru informaÅ£ii amÄƒnunÅ£ite, vizitaÅ£i",
+
+// Div Dialog
+DlgDivGeneralTab	: "General",	//MISSING
+DlgDivAdvancedTab	: "Advanced",	//MISSING
+DlgDivStyle		: "Style",	//MISSING
+DlgDivInlineStyle	: "Inline Style",	//MISSING
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/pt-br.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/pt-br.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/pt-br.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Brazilian Portuguese language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Ocultar Barra de Ferramentas",
+ToolbarExpand		: "Exibir Barra de Ferramentas",
+
+// Toolbar Items and Context Menu
+Save				: "Salvar",
+NewPage				: "Novo",
+Preview				: "Visualizar",
+Cut					: "Recortar",
+Copy				: "Copiar",
+Paste				: "Colar",
+PasteText			: "Colar como Texto sem FormataÃ§Ã£o",
+PasteWord			: "Colar do Word",
+Print				: "Imprimir",
+SelectAll			: "Selecionar Tudo",
+RemoveFormat		: "Remover FormataÃ§Ã£o",
+InsertLinkLbl		: "Hiperlink",
+InsertLink			: "Inserir/Editar Hiperlink",
+RemoveLink			: "Remover Hiperlink",
+VisitLink			: "Open Link",	//MISSING
+Anchor				: "Inserir/Editar Ã‚ncora",
+AnchorDelete		: "Remover Ã‚ncora",
+InsertImageLbl		: "Figura",
+InsertImage			: "Inserir/Editar Figura",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Insere/Edita Flash",
+InsertTableLbl		: "Tabela",
+InsertTable			: "Inserir/Editar Tabela",
+InsertLineLbl		: "Linha",
+InsertLine			: "Inserir Linha Horizontal",
+InsertSpecialCharLbl: "Caracteres Especiais",
+InsertSpecialChar	: "Inserir Caractere Especial",
+InsertSmileyLbl		: "Emoticon",
+InsertSmiley		: "Inserir Emoticon",
+About				: "Sobre FCKeditor",
+Bold				: "Negrito",
+Italic				: "ItÃ¡lico",
+Underline			: "Sublinhado",
+StrikeThrough		: "Tachado",
+Subscript			: "Subscrito",
+Superscript			: "Sobrescrito",
+LeftJustify			: "Alinhar Esquerda",
+CenterJustify		: "Centralizar",
+RightJustify		: "Alinhar Direita",
+BlockJustify		: "Justificado",
+DecreaseIndent		: "Diminuir Recuo",
+IncreaseIndent		: "Aumentar Recuo",
+Blockquote			: "Recuo",
+CreateDiv			: "Create Div Container",	//MISSING
+EditDiv				: "Edit Div Container",	//MISSING
+DeleteDiv			: "Remove Div Container",	//MISSING
+Undo				: "Desfazer",
+Redo				: "Refazer",
+NumberedListLbl		: "NumeraÃ§Ã£o",
+NumberedList		: "Inserir/Remover NumeraÃ§Ã£o",
+BulletedListLbl		: "Marcadores",
+BulletedList		: "Inserir/Remover Marcadores",
+ShowTableBorders	: "Exibir Bordas da Tabela",
+ShowDetails			: "Exibir Detalhes",
+Style				: "Estilo",
+FontFormat			: "FormataÃ§Ã£o",
+Font				: "Fonte",
+FontSize			: "Tamanho",
+TextColor			: "Cor do Texto",
+BGColor				: "Cor do Plano de Fundo",
+Source				: "CÃ³digo-Fonte",
+Find				: "Localizar",
+Replace				: "Substituir",
+SpellCheck			: "Verificar Ortografia",
+UniversalKeyboard	: "Teclado Universal",
+PageBreakLbl		: "Quebra de PÃ¡gina",
+PageBreak			: "Inserir Quebra de PÃ¡gina",
+
+Form			: "FormulÃ¡rio",
+Checkbox		: "Caixa de SeleÃ§Ã£o",
+RadioButton		: "BotÃ£o de OpÃ§Ã£o",
+TextField		: "Caixa de Texto",
+Textarea		: "Ãrea de Texto",
+HiddenField		: "Campo Oculto",
+Button			: "BotÃ£o",
+SelectionField	: "Caixa de Listagem",
+ImageButton		: "BotÃ£o de Imagem",
+
+FitWindow		: "Maximizar o tamanho do editor",
+ShowBlocks		: "Mostrar blocos",
+
+// Context Menu
+EditLink			: "Editar Hiperlink",
+CellCM				: "CÃ©lula",
+RowCM				: "Linha",
+ColumnCM			: "Coluna",
+InsertRowAfter		: "Inserir linha abaixo",
+InsertRowBefore		: "Inserir linha acima",
+DeleteRows			: "Remover Linhas",
+InsertColumnAfter	: "Inserir coluna Ã  direita",
+InsertColumnBefore	: "Inserir coluna Ã  esquerda",
+DeleteColumns		: "Remover Colunas",
+InsertCellAfter		: "Inserir cÃ©lula Ã  direita",
+InsertCellBefore	: "Inserir cÃ©lula Ã  esquerda",
+DeleteCells			: "Remover CÃ©lulas",
+MergeCells			: "Mesclar CÃ©lulas",
+MergeRight			: "Mesclar com cÃ©lula Ã  direita",
+MergeDown			: "Mesclar com cÃ©lula abaixo",
+HorizontalSplitCell	: "Dividir cÃ©lula horizontalmente",
+VerticalSplitCell	: "Dividir cÃ©lula verticalmente",
+TableDelete			: "Apagar Tabela",
+CellProperties		: "Formatar CÃ©lula",
+TableProperties		: "Formatar Tabela",
+ImageProperties		: "Formatar Figura",
+FlashProperties		: "Propriedades Flash",
+
+AnchorProp			: "Formatar Ã‚ncora",
+ButtonProp			: "Formatar BotÃ£o",
+CheckboxProp		: "Formatar Caixa de SeleÃ§Ã£o",
+HiddenFieldProp		: "Formatar Campo Oculto",
+RadioButtonProp		: "Formatar BotÃ£o de OpÃ§Ã£o",
+ImageButtonProp		: "Formatar BotÃ£o de Imagem",
+TextFieldProp		: "Formatar Caixa de Texto",
+SelectionFieldProp	: "Formatar Caixa de Listagem",
+TextareaProp		: "Formatar Ãrea de Texto",
+FormProp			: "Formatar FormulÃ¡rio",
+
+FontFormats			: "Normal;Formatado;EndereÃ§o;TÃ­tulo 1;TÃ­tulo 2;TÃ­tulo 3;TÃ­tulo 4;TÃ­tulo 5;TÃ­tulo 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "Processando XHTML. Por favor, aguarde...",
+Done				: "Pronto",
+PasteWordConfirm	: "O texto que vocÃª deseja colar parece ter sido copiado do Word. VocÃª gostaria de remover a formataÃ§Ã£o antes de colar?",
+NotCompatiblePaste	: "Este comando estÃ¡ disponÃ­vel para o navegador Internet Explorer 5.5 ou superior. VocÃª gostaria de colar sem remover a formataÃ§Ã£o?",
+UnknownToolbarItem	: "O item da barra de ferramentas \"%1\" nÃ£o Ã© reconhecido",
+UnknownCommand		: "O comando \"%1\" nÃ£o Ã© reconhecido",
+NotImplemented		: "O comando nÃ£o foi implementado",
+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.",
+BrowseServerBlocked : "Os recursos do browser nÃ£o puderam ser abertos. Tenha certeza que todos os bloqueadores de popup estÃ£o desabilitados.",
+DialogBlocked		: "NÃ£o foi possÃ­vel abrir a janela de diÃ¡logo. Tenha certeza que todos os bloqueadores de popup estÃ£o desabilitados.",
+VisitLinkBlocked	: "It was not possible to open a new window. Make sure all popup blockers are disabled.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Cancelar",
+DlgBtnClose			: "Fechar",
+DlgBtnBrowseServer	: "Localizar no Servidor",
+DlgAdvancedTag		: "AvanÃ§ado",
+DlgOpOther			: "<Outros>",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "Inserir a URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<nÃ£o ajustado>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "DireÃ§Ã£o do idioma",
+DlgGenLangDirLtr	: "Esquerda para Direita (LTR)",
+DlgGenLangDirRtl	: "Direita para Esquerda (RTL)",
+DlgGenLangCode		: "Idioma",
+DlgGenAccessKey		: "Chave de Acesso",
+DlgGenName			: "Nome",
+DlgGenTabIndex		: "Ãndice de TabulaÃ§Ã£o",
+DlgGenLongDescr		: "DescriÃ§Ã£o da URL",
+DlgGenClass			: "Classe de Folhas de Estilo",
+DlgGenTitle			: "TÃ­tulo",
+DlgGenContType		: "Tipo de ConteÃºdo",
+DlgGenLinkCharset	: "Conjunto de Caracteres do Hiperlink",
+DlgGenStyle			: "Estilos",
+
+// Image Dialog
+DlgImgTitle			: "Formatar Figura",
+DlgImgInfoTab		: "InformaÃ§Ãµes da Figura",
+DlgImgBtnUpload		: "Enviar para o Servidor",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Submeter",
+DlgImgAlt			: "Texto Alternativo",
+DlgImgWidth			: "Largura",
+DlgImgHeight		: "Altura",
+DlgImgLockRatio		: "Manter proporÃ§Ãµes",
+DlgBtnResetSize		: "Redefinir para o Tamanho Original",
+DlgImgBorder		: "Borda",
+DlgImgHSpace		: "Horizontal",
+DlgImgVSpace		: "Vertical",
+DlgImgAlign			: "Alinhamento",
+DlgImgAlignLeft		: "Esquerda",
+DlgImgAlignAbsBottom: "Inferior Absoluto",
+DlgImgAlignAbsMiddle: "Centralizado Absoluto",
+DlgImgAlignBaseline	: "Baseline",
+DlgImgAlignBottom	: "Inferior",
+DlgImgAlignMiddle	: "Centralizado",
+DlgImgAlignRight	: "Direita",
+DlgImgAlignTextTop	: "Superior Absoluto",
+DlgImgAlignTop		: "Superior",
+DlgImgPreview		: "VisualizaÃ§Ã£o",
+DlgImgAlertUrl		: "Por favor, digite o URL da figura.",
+DlgImgLinkTab		: "Hiperlink",
+
+// Flash Dialog
+DlgFlashTitle		: "Propriedades Flash",
+DlgFlashChkPlay		: "Tocar Automaticamente",
+DlgFlashChkLoop		: "Loop",
+DlgFlashChkMenu		: "Habilita Menu Flash",
+DlgFlashScale		: "Escala",
+DlgFlashScaleAll	: "Mostrar tudo",
+DlgFlashScaleNoBorder	: "Sem Borda",
+DlgFlashScaleFit	: "Escala Exata",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Hiperlink",
+DlgLnkInfoTab		: "InformaÃ§Ãµes",
+DlgLnkTargetTab		: "Destino",
+
+DlgLnkType			: "Tipo de hiperlink",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Ã‚ncora nesta pÃ¡gina",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protocolo",
+DlgLnkProtoOther	: "<outro>",
+DlgLnkURL			: "URL do hiperlink",
+DlgLnkAnchorSel		: "Selecione uma Ã¢ncora",
+DlgLnkAnchorByName	: "Pelo Nome da Ã¢ncora",
+DlgLnkAnchorById	: "Pelo Id do Elemento",
+DlgLnkNoAnchors		: "(NÃ£o hÃ¡ Ã¢ncoras disponÃ­veis neste documento)",
+DlgLnkEMail			: "EndereÃ§o E-Mail",
+DlgLnkEMailSubject	: "Assunto da Mensagem",
+DlgLnkEMailBody		: "Corpo da Mensagem",
+DlgLnkUpload		: "Enviar ao Servidor",
+DlgLnkBtnUpload		: "Enviar ao Servidor",
+
+DlgLnkTarget		: "Destino",
+DlgLnkTargetFrame	: "<frame>",
+DlgLnkTargetPopup	: "<janela popup>",
+DlgLnkTargetBlank	: "Nova Janela (_blank)",
+DlgLnkTargetParent	: "Janela Pai (_parent)",
+DlgLnkTargetSelf	: "Mesma Janela (_self)",
+DlgLnkTargetTop		: "Janela Superior (_top)",
+DlgLnkTargetFrameName	: "Nome do Frame de Destino",
+DlgLnkPopWinName	: "Nome da Janela Pop-up",
+DlgLnkPopWinFeat	: "Atributos da Janela Pop-up",
+DlgLnkPopResize		: "RedimensionÃ¡vel",
+DlgLnkPopLocation	: "Barra de EndereÃ§os",
+DlgLnkPopMenu		: "Barra de Menus",
+DlgLnkPopScroll		: "Barras de Rolagem",
+DlgLnkPopStatus		: "Barra de Status",
+DlgLnkPopToolbar	: "Barra de Ferramentas",
+DlgLnkPopFullScrn	: "Modo Tela Cheia (IE)",
+DlgLnkPopDependent	: "Dependente (Netscape)",
+DlgLnkPopWidth		: "Largura",
+DlgLnkPopHeight		: "Altura",
+DlgLnkPopLeft		: "Esquerda",
+DlgLnkPopTop		: "Superior",
+
+DlnLnkMsgNoUrl		: "Por favor, digite o endereÃ§o do Hiperlink",
+DlnLnkMsgNoEMail	: "Por favor, digite o endereÃ§o de e-mail",
+DlnLnkMsgNoAnchor	: "Por favor, selecione uma Ã¢ncora",
+DlnLnkMsgInvPopName	: "O nome da janela popup deve comeÃ§ar com uma letra ou sublinhado (_) e nÃ£o pode conter espaÃ§os",
+
+// Color Dialog
+DlgColorTitle		: "Selecione uma Cor",
+DlgColorBtnClear	: "Limpar",
+DlgColorHighlight	: "VisualizaÃ§Ã£o",
+DlgColorSelected	: "Selecionada",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Inserir Emoticon",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Selecione um Caractere Especial",
+
+// Table Dialog
+DlgTableTitle		: "Formatar Tabela",
+DlgTableRows		: "Linhas",
+DlgTableColumns		: "Colunas",
+DlgTableBorder		: "Borda",
+DlgTableAlign		: "Alinhamento",
+DlgTableAlignNotSet	: "<NÃ£o ajustado>",
+DlgTableAlignLeft	: "Esquerda",
+DlgTableAlignCenter	: "Centralizado",
+DlgTableAlignRight	: "Direita",
+DlgTableWidth		: "Largura",
+DlgTableWidthPx		: "pixels",
+DlgTableWidthPc		: "%",
+DlgTableHeight		: "Altura",
+DlgTableCellSpace	: "EspaÃ§amento",
+DlgTableCellPad		: "Enchimento",
+DlgTableCaption		: "Legenda",
+DlgTableSummary		: "Resumo",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "Formatar cÃ©lula",
+DlgCellWidth		: "Largura",
+DlgCellWidthPx		: "pixels",
+DlgCellWidthPc		: "%",
+DlgCellHeight		: "Altura",
+DlgCellWordWrap		: "Quebra de Linha",
+DlgCellWordWrapNotSet	: "<NÃ£o ajustado>",
+DlgCellWordWrapYes	: "Sim",
+DlgCellWordWrapNo	: "NÃ£o",
+DlgCellHorAlign		: "Alinhamento Horizontal",
+DlgCellHorAlignNotSet	: "<NÃ£o ajustado>",
+DlgCellHorAlignLeft	: "Esquerda",
+DlgCellHorAlignCenter	: "Centralizado",
+DlgCellHorAlignRight: "Direita",
+DlgCellVerAlign		: "Alinhamento Vertical",
+DlgCellVerAlignNotSet	: "<NÃ£o ajustado>",
+DlgCellVerAlignTop	: "Superior",
+DlgCellVerAlignMiddle	: "Centralizado",
+DlgCellVerAlignBottom	: "Inferior",
+DlgCellVerAlignBaseline	: "Baseline",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "Transpor Linhas",
+DlgCellCollSpan		: "Transpor Colunas",
+DlgCellBackColor	: "Cor do Plano de Fundo",
+DlgCellBorderColor	: "Cor da Borda",
+DlgCellBtnSelect	: "Selecionar...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Localizar e Substituir",
+
+// Find Dialog
+DlgFindTitle		: "Localizar...",
+DlgFindFindBtn		: "Localizar",
+DlgFindNotFoundMsg	: "O texto especificado nÃ£o foi encontrado.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Substituir",
+DlgReplaceFindLbl		: "Procurar por:",
+DlgReplaceReplaceLbl	: "Substituir por:",
+DlgReplaceCaseChk		: "Coincidir MaiÃºsculas/MinÃºsculas",
+DlgReplaceReplaceBtn	: "Substituir",
+DlgReplaceReplAllBtn	: "Substituir Tudo",
+DlgReplaceWordChk		: "Coincidir a palavra inteira",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "As configuraÃ§Ãµes de seguranÃ§a do seu navegador nÃ£o permitem que o editor execute operaÃ§Ãµes de recortar automaticamente. Por favor, utilize o teclado para recortar (Ctrl+X).",
+PasteErrorCopy	: "As configuraÃ§Ãµes de seguranÃ§a do seu navegador nÃ£o permitem que o editor execute operaÃ§Ãµes de copiar automaticamente. Por favor, utilize o teclado para copiar (Ctrl+C).",
+
+PasteAsText		: "Colar como Texto sem FormataÃ§Ã£o",
+PasteFromWord	: "Colar do Word",
+
+DlgPasteMsg2	: "Transfira o link usado no box usando o teclado com (<STRONG>Ctrl+V</STRONG>) e <STRONG>OK</STRONG>.",
+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.",
+DlgPasteIgnoreFont		: "Ignorar definiÃ§Ãµes de fonte",
+DlgPasteRemoveStyles	: "Remove definiÃ§Ãµes de estilo",
+
+// Color Picker
+ColorAutomatic	: "AutomÃ¡tico",
+ColorMoreColors	: "Mais Cores...",
+
+// Document Properties
+DocProps		: "Propriedades Documento",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Formatar Ã‚ncora",
+DlgAnchorName		: "Nome da Ã‚ncora",
+DlgAnchorErrorName	: "Por favor, digite o nome da Ã¢ncora",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "NÃ£o encontrada",
+DlgSpellChangeTo		: "Alterar para",
+DlgSpellBtnIgnore		: "Ignorar uma vez",
+DlgSpellBtnIgnoreAll	: "Ignorar Todas",
+DlgSpellBtnReplace		: "Alterar",
+DlgSpellBtnReplaceAll	: "Alterar Todas",
+DlgSpellBtnUndo			: "Desfazer",
+DlgSpellNoSuggestions	: "-sem sugestÃµes de ortografia-",
+DlgSpellProgress		: "VerificaÃ§Ã£o ortogrÃ¡fica em andamento...",
+DlgSpellNoMispell		: "VerificaÃ§Ã£o encerrada: NÃ£o foram encontrados erros de ortografia",
+DlgSpellNoChanges		: "VerificaÃ§Ã£o ortogrÃ¡fica encerrada: NÃ£o houve alteraÃ§Ãµes",
+DlgSpellOneChange		: "VerificaÃ§Ã£o ortogrÃ¡fica encerrada: Uma palavra foi alterada",
+DlgSpellManyChanges		: "VerificaÃ§Ã£o ortogrÃ¡fica encerrada: %1 foram alteradas",
+
+IeSpellDownload			: "A verificaÃ§Ã£o ortogrÃ¡fica nÃ£o foi instalada. VocÃª gostaria de realizar o download agora?",
+
+// Button Dialog
+DlgButtonText		: "Texto (Valor)",
+DlgButtonType		: "Tipo",
+DlgButtonTypeBtn	: "BotÃ£o",
+DlgButtonTypeSbm	: "Enviar",
+DlgButtonTypeRst	: "Limpar",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Nome",
+DlgCheckboxValue	: "Valor",
+DlgCheckboxSelected	: "Selecionado",
+
+// Form Dialog
+DlgFormName		: "Nome",
+DlgFormAction	: "Action",
+DlgFormMethod	: "MÃ©todo",
+
+// Select Field Dialog
+DlgSelectName		: "Nome",
+DlgSelectValue		: "Valor",
+DlgSelectSize		: "Tamanho",
+DlgSelectLines		: "linhas",
+DlgSelectChkMulti	: "Permitir mÃºltiplas seleÃ§Ãµes",
+DlgSelectOpAvail	: "OpÃ§Ãµes disponÃ­veis",
+DlgSelectOpText		: "Texto",
+DlgSelectOpValue	: "Valor",
+DlgSelectBtnAdd		: "Adicionar",
+DlgSelectBtnModify	: "Modificar",
+DlgSelectBtnUp		: "Para cima",
+DlgSelectBtnDown	: "Para baixo",
+DlgSelectBtnSetValue : "Definir como selecionado",
+DlgSelectBtnDelete	: "Remover",
+
+// Textarea Dialog
+DlgTextareaName	: "Nome",
+DlgTextareaCols	: "Colunas",
+DlgTextareaRows	: "Linhas",
+
+// Text Field Dialog
+DlgTextName			: "Nome",
+DlgTextValue		: "Valor",
+DlgTextCharWidth	: "Comprimento (em caracteres)",
+DlgTextMaxChars		: "NÃºmero MÃ¡ximo de Caracteres",
+DlgTextType			: "Tipo",
+DlgTextTypeText		: "Texto",
+DlgTextTypePass		: "Senha",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Nome",
+DlgHiddenValue	: "Valor",
+
+// Bulleted List Dialog
+BulletedListProp	: "Formatar Marcadores",
+NumberedListProp	: "Formatar NumeraÃ§Ã£o",
+DlgLstStart			: "Iniciar",
+DlgLstType			: "Tipo",
+DlgLstTypeCircle	: "CÃ­rculo",
+DlgLstTypeDisc		: "Disco",
+DlgLstTypeSquare	: "Quadrado",
+DlgLstTypeNumbers	: "NÃºmeros (1, 2, 3)",
+DlgLstTypeLCase		: "Letras MinÃºsculas (a, b, c)",
+DlgLstTypeUCase		: "Letras MaiÃºsculas (A, B, C)",
+DlgLstTypeSRoman	: "NÃºmeros Romanos MinÃºsculos (i, ii, iii)",
+DlgLstTypeLRoman	: "NÃºmeros Romanos MaiÃºsculos (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Geral",
+DlgDocBackTab		: "Plano de Fundo",
+DlgDocColorsTab		: "Cores e Margens",
+DlgDocMetaTab		: "Meta Dados",
+
+DlgDocPageTitle		: "TÃ­tulo da PÃ¡gina",
+DlgDocLangDir		: "DireÃ§Ã£o do Idioma",
+DlgDocLangDirLTR	: "Esquerda para Direita (LTR)",
+DlgDocLangDirRTL	: "Direita para Esquerda (RTL)",
+DlgDocLangCode		: "CÃ³digo do Idioma",
+DlgDocCharSet		: "CodificaÃ§Ã£o de Caracteres",
+DlgDocCharSetCE		: "Europa Central",
+DlgDocCharSetCT		: "ChinÃªs Tradicional (Big5)",
+DlgDocCharSetCR		: "CirÃ­lico",
+DlgDocCharSetGR		: "Grego",
+DlgDocCharSetJP		: "JaponÃªs",
+DlgDocCharSetKR		: "Coreano",
+DlgDocCharSetTR		: "Turco",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "Europa Ocidental",
+DlgDocCharSetOther	: "Outra CodificaÃ§Ã£o de Caracteres",
+
+DlgDocDocType		: "CabeÃ§alho Tipo de Documento",
+DlgDocDocTypeOther	: "Other Document Type Heading",
+DlgDocIncXHTML		: "Incluir DeclaraÃ§Ãµes XHTML",
+DlgDocBgColor		: "Cor do Plano de Fundo",
+DlgDocBgImage		: "URL da Imagem de Plano de Fundo",
+DlgDocBgNoScroll	: "Plano de Fundo Fixo",
+DlgDocCText			: "Texto",
+DlgDocCLink			: "Hiperlink",
+DlgDocCVisited		: "Hiperlink Visitado",
+DlgDocCActive		: "Hiperlink Ativo",
+DlgDocMargins		: "Margens da PÃ¡gina",
+DlgDocMaTop			: "Superior",
+DlgDocMaLeft		: "Inferior",
+DlgDocMaRight		: "Direita",
+DlgDocMaBottom		: "Inferior",
+DlgDocMeIndex		: "Palavras-chave de IndexaÃ§Ã£o do Documento (separadas por vÃ­rgula)",
+DlgDocMeDescr		: "DescriÃ§Ã£o do Documento",
+DlgDocMeAuthor		: "Autor",
+DlgDocMeCopy		: "Direitos Autorais",
+DlgDocPreview		: "Visualizar",
+
+// Templates Dialog
+Templates			: "Modelos de layout",
+DlgTemplatesTitle	: "Modelo de layout do conteÃºdo",
+DlgTemplatesSelMsg	: "Selecione um modelo de layout para ser aberto no editor<br>(o conteÃºdo atual serÃ¡ perdido):",
+DlgTemplatesLoading	: "Carregando a lista de modelos de layout. Aguarde...",
+DlgTemplatesNoTpl	: "(NÃ£o foram definidos modelos de layout)",
+DlgTemplatesReplace	: "Substituir o conteÃºdo atual",
+
+// About Dialog
+DlgAboutAboutTab	: "Sobre",
+DlgAboutBrowserInfoTab	: "InformaÃ§Ãµes do Navegador",
+DlgAboutLicenseTab	: "LicenÃ§a",
+DlgAboutVersion		: "versÃ£o",
+DlgAboutInfo		: "Para maiores informaÃ§Ãµes visite",
+
+// Div Dialog
+DlgDivGeneralTab	: "General",	//MISSING
+DlgDivAdvancedTab	: "Advanced",	//MISSING
+DlgDivStyle		: "Style",	//MISSING
+DlgDivInlineStyle	: "Inline Style",	//MISSING
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/ru.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/ru.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/ru.js	(revision 1481)
@@ -0,0 +1,540 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Russian language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Ğ¡Ğ²ĞµÑ€Ğ½ÑƒÑ‚ÑŒ Ğ¿Ğ°Ğ½ĞµĞ»ÑŒ Ğ¸Ğ½ÑÑ‚Ñ€ÑƒĞ¼ĞµĞ½Ñ‚Ğ¾Ğ²",
+ToolbarExpand		: "Ğ Ğ°Ğ·Ğ²ĞµÑ€Ğ½ÑƒÑ‚ÑŒ Ğ¿Ğ°Ğ½ĞµĞ»ÑŒ Ğ¸Ğ½ÑÑ‚Ñ€ÑƒĞ¼ĞµĞ½Ñ‚Ğ¾Ğ²",
+
+// Toolbar Items and Context Menu
+Save				: "Ğ¡Ğ¾Ñ…Ñ€Ğ°Ğ½Ğ¸Ñ‚ÑŒ",
+NewPage				: "ĞĞ¾Ğ²Ğ°Ñ ÑÑ‚Ñ€Ğ°Ğ½Ğ¸Ñ†Ğ°",
+Preview				: "ĞŸÑ€ĞµĞ´Ğ²Ğ°Ñ€Ğ¸Ñ‚ĞµĞ»ÑŒĞ½Ñ‹Ğ¹ Ğ¿Ñ€Ğ¾ÑĞ¼Ğ¾Ñ‚Ñ€",
+Cut					: "Ğ’Ñ‹Ñ€ĞµĞ·Ğ°Ñ‚ÑŒ",
+Copy				: "ĞšĞ¾Ğ¿Ğ¸Ñ€Ğ¾Ğ²Ğ°Ñ‚ÑŒ",
+Paste				: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚ÑŒ",
+PasteText			: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚ÑŒ Ñ‚Ğ¾Ğ»ÑŒĞºĞ¾ Ñ‚ĞµĞºÑÑ‚",
+PasteWord			: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚ÑŒ Ğ¸Ğ· Word",
+Print				: "ĞŸĞµÑ‡Ğ°Ñ‚ÑŒ",
+SelectAll			: "Ğ’Ñ‹Ğ´ĞµĞ»Ğ¸Ñ‚ÑŒ Ğ²ÑĞµ",
+RemoveFormat		: "Ğ£Ğ±Ñ€Ğ°Ñ‚ÑŒ Ñ„Ğ¾Ñ€Ğ¼Ğ°Ñ‚Ğ¸Ñ€Ğ¾Ğ²Ğ°Ğ½Ğ¸Ğµ",
+InsertLinkLbl		: "Ğ¡ÑÑ‹Ğ»ĞºĞ°",
+InsertLink			: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚ÑŒ/Ğ ĞµĞ´Ğ°ĞºÑ‚Ğ¸Ñ€Ğ¾Ğ²Ğ°Ñ‚ÑŒ ÑÑÑ‹Ğ»ĞºÑƒ",
+RemoveLink			: "Ğ£Ğ±Ñ€Ğ°Ñ‚ÑŒ ÑÑÑ‹Ğ»ĞºÑƒ",
+VisitLink			: "ĞŸĞµÑ€ĞµĞ¹Ñ‚Ğ¸ Ğ¿Ğ¾ ÑÑÑ‹Ğ»ĞºĞµ",
+Anchor				: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚ÑŒ/Ğ ĞµĞ´Ğ°ĞºÑ‚Ğ¸Ñ€Ğ¾Ğ²Ğ°Ñ‚ÑŒ ÑĞºĞ¾Ñ€ÑŒ",
+AnchorDelete		: "Ğ£Ğ±Ñ€Ğ°Ñ‚ÑŒ ÑĞºĞ¾Ñ€ÑŒ",
+InsertImageLbl		: "Ğ˜Ğ·Ğ¾Ğ±Ñ€Ğ°Ğ¶ĞµĞ½Ğ¸Ğµ",
+InsertImage			: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚ÑŒ/Ğ ĞµĞ´Ğ°ĞºÑ‚Ğ¸Ñ€Ğ¾Ğ²Ğ°Ñ‚ÑŒ Ğ¸Ğ·Ğ¾Ğ±Ñ€Ğ°Ğ¶ĞµĞ½Ğ¸Ğµ",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚ÑŒ/Ğ ĞµĞ´Ğ°ĞºÑ‚Ğ¸Ñ€Ğ¾Ğ²Ğ°Ñ‚ÑŒ Flash",
+InsertTableLbl		: "Ğ¢Ğ°Ğ±Ğ»Ğ¸Ñ†Ğ°",
+InsertTable			: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚ÑŒ/Ğ ĞµĞ´Ğ°ĞºÑ‚Ğ¸Ñ€Ğ¾Ğ²Ğ°Ñ‚ÑŒ Ñ‚Ğ°Ğ±Ğ»Ğ¸Ñ†Ñƒ",
+InsertLineLbl		: "Ğ›Ğ¸Ğ½Ğ¸Ñ",
+InsertLine			: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚ÑŒ Ğ³Ğ¾Ñ€Ğ¸Ğ·Ğ¾Ğ½Ñ‚Ğ°Ğ»ÑŒĞ½ÑƒÑ Ğ»Ğ¸Ğ½Ğ¸Ñ",
+InsertSpecialCharLbl: "Ğ¡Ğ¿ĞµÑ†Ğ¸Ğ°Ğ»ÑŒĞ½Ñ‹Ğ¹ ÑĞ¸Ğ¼Ğ²Ğ¾Ğ»",
+InsertSpecialChar	: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚ÑŒ ÑĞ¿ĞµÑ†Ğ¸Ğ°Ğ»ÑŒĞ½Ñ‹Ğ¹ ÑĞ¸Ğ¼Ğ²Ğ¾Ğ»",
+InsertSmileyLbl		: "Ğ¡Ğ¼Ğ°Ğ¹Ğ»Ğ¸Ğº",
+InsertSmiley		: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚ÑŒ ÑĞ¼Ğ°Ğ¹Ğ»Ğ¸Ğº",
+About				: "Ğ FCKeditor",
+Bold				: "Ğ–Ğ¸Ñ€Ğ½Ñ‹Ğ¹",
+Italic				: "ĞšÑƒÑ€ÑĞ¸Ğ²",
+Underline			: "ĞŸĞ¾Ğ´Ñ‡ĞµÑ€ĞºĞ½ÑƒÑ‚Ñ‹Ğ¹",
+StrikeThrough		: "Ğ—Ğ°Ñ‡ĞµÑ€ĞºĞ½ÑƒÑ‚Ñ‹Ğ¹",
+Subscript			: "ĞŸĞ¾Ğ´ÑÑ‚Ñ€Ğ¾Ñ‡Ğ½Ñ‹Ğ¹ Ğ¸Ğ½Ğ´ĞµĞºÑ",
+Superscript			: "ĞĞ°Ğ´ÑÑ‚Ñ€Ğ¾Ñ‡Ğ½Ñ‹Ğ¹ Ğ¸Ğ½Ğ´ĞµĞºÑ",
+LeftJustify			: "ĞŸĞ¾ Ğ»ĞµĞ²Ğ¾Ğ¼Ñƒ ĞºÑ€Ğ°Ñ",
+CenterJustify		: "ĞŸĞ¾ Ñ†ĞµĞ½Ñ‚Ñ€Ñƒ",
+RightJustify		: "ĞŸĞ¾ Ğ¿Ñ€Ğ°Ğ²Ğ¾Ğ¼Ñƒ ĞºÑ€Ğ°Ñ",
+BlockJustify		: "ĞŸĞ¾ ÑˆĞ¸Ñ€Ğ¸Ğ½Ğµ",
+DecreaseIndent		: "Ğ£Ğ¼ĞµĞ½ÑŒÑˆĞ¸Ñ‚ÑŒ Ğ¾Ñ‚ÑÑ‚ÑƒĞ¿",
+IncreaseIndent		: "Ğ£Ğ²ĞµĞ»Ğ¸Ñ‡Ğ¸Ñ‚ÑŒ Ğ¾Ñ‚ÑÑ‚ÑƒĞ¿",
+Blockquote			: "Ğ¦Ğ¸Ñ‚Ğ°Ñ‚Ğ°",
+CreateDiv			: "Ğ¡Ğ¾Ğ·Ğ´Ğ°Ñ‚ÑŒ Div ĞºĞ¾Ğ½Ñ‚ĞµĞ¹Ğ½ĞµÑ€",
+EditDiv				: "Ğ ĞµĞ´Ğ°ĞºÑ‚Ğ¸Ñ€Ğ¾Ğ²Ğ°Ñ‚ÑŒ Div ĞºĞ¾Ğ½Ñ‚ĞµĞ¹Ğ½ĞµÑ€",
+DeleteDiv			: "Ğ£Ğ´Ğ°Ğ»Ğ¸Ñ‚ÑŒ Div ĞºĞ¾Ğ½Ñ‚ĞµĞ¹Ğ½ĞµÑ€",
+Undo				: "ĞÑ‚Ğ¼ĞµĞ½Ğ¸Ñ‚ÑŒ",
+Redo				: "ĞŸĞ¾Ğ²Ñ‚Ğ¾Ñ€Ğ¸Ñ‚ÑŒ",
+NumberedListLbl		: "ĞÑƒĞ¼ĞµÑ€Ğ¾Ğ²Ğ°Ğ½Ğ½Ñ‹Ğ¹ ÑĞ¿Ğ¸ÑĞ¾Ğº",
+NumberedList		: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚ÑŒ/Ğ£Ğ´Ğ°Ğ»Ğ¸Ñ‚ÑŒ Ğ½ÑƒĞ¼ĞµÑ€Ğ¾Ğ²Ğ°Ğ½Ğ½Ñ‹Ğ¹ ÑĞ¿Ğ¸ÑĞ¾Ğº",
+BulletedListLbl		: "ĞœĞ°Ñ€ĞºĞ¸Ñ€Ğ¾Ğ²Ğ°Ğ½Ğ½Ñ‹Ğ¹ ÑĞ¿Ğ¸ÑĞ¾Ğº",
+BulletedList		: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚ÑŒ/Ğ£Ğ´Ğ°Ğ»Ğ¸Ñ‚ÑŒ Ğ¼Ğ°Ñ€ĞºĞ¸Ñ€Ğ¾Ğ²Ğ°Ğ½Ğ½Ñ‹Ğ¹ ÑĞ¿Ğ¸ÑĞ¾Ğº",
+ShowTableBorders	: "ĞŸĞ¾ĞºĞ°Ğ·Ğ°Ñ‚ÑŒ Ğ±Ğ¾Ñ€Ğ´ÑÑ€Ñ‹ Ñ‚Ğ°Ğ±Ğ»Ğ¸Ñ†Ñ‹",
+ShowDetails			: "ĞŸĞ¾ĞºĞ°Ğ·Ğ°Ñ‚ÑŒ Ğ´ĞµÑ‚Ğ°Ğ»Ğ¸",
+Style				: "Ğ¡Ñ‚Ğ¸Ğ»ÑŒ",
+FontFormat			: "Ğ¤Ğ¾Ñ€Ğ¼Ğ°Ñ‚Ğ¸Ñ€Ğ¾Ğ²Ğ°Ğ½Ğ¸Ğµ",
+Font				: "Ğ¨Ñ€Ğ¸Ñ„Ñ‚",
+FontSize			: "Ğ Ğ°Ğ·Ğ¼ĞµÑ€",
+TextColor			: "Ğ¦Ğ²ĞµÑ‚ Ñ‚ĞµĞºÑÑ‚Ğ°",
+BGColor				: "Ğ¦Ğ²ĞµÑ‚ Ñ„Ğ¾Ğ½Ğ°",
+Source				: "Ğ˜ÑÑ‚Ğ¾Ñ‡Ğ½Ğ¸Ğº",
+Find				: "ĞĞ°Ğ¹Ñ‚Ğ¸",
+Replace				: "Ğ—Ğ°Ğ¼ĞµĞ½Ğ¸Ñ‚ÑŒ",
+SpellCheck			: "ĞŸÑ€Ğ¾Ğ²ĞµÑ€Ğ¸Ñ‚ÑŒ Ğ¾Ñ€Ñ„Ğ¾Ğ³Ñ€Ğ°Ñ„Ğ¸Ñ",
+UniversalKeyboard	: "Ğ£Ğ½Ğ¸Ğ²ĞµÑ€ÑĞ°Ğ»ÑŒĞ½Ğ°Ñ ĞºĞ»Ğ°Ğ²Ğ¸Ğ°Ñ‚ÑƒÑ€Ğ°",
+PageBreakLbl		: "Ğ Ğ°Ğ·Ñ€Ñ‹Ğ² ÑÑ‚Ñ€Ğ°Ğ½Ğ¸Ñ†Ñ‹",
+PageBreak			: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚ÑŒ Ñ€Ğ°Ğ·Ñ€Ñ‹Ğ² ÑÑ‚Ñ€Ğ°Ğ½Ğ¸Ñ†Ñ‹",
+
+Form			: "Ğ¤Ğ¾Ñ€Ğ¼Ğ°",
+Checkbox		: "Ğ¤Ğ»Ğ°Ğ³Ğ¾Ğ²Ğ°Ñ ĞºĞ½Ğ¾Ğ¿ĞºĞ°",
+RadioButton		: "ĞšĞ½Ğ¾Ğ¿ĞºĞ° Ğ²Ñ‹Ğ±Ğ¾Ñ€Ğ°",
+TextField		: "Ğ¢ĞµĞºÑÑ‚Ğ¾Ğ²Ğ¾Ğµ Ğ¿Ğ¾Ğ»Ğµ",
+Textarea		: "Ğ¢ĞµĞºÑÑ‚Ğ¾Ğ²Ğ°Ñ Ğ¾Ğ±Ğ»Ğ°ÑÑ‚ÑŒ",
+HiddenField		: "Ğ¡ĞºÑ€Ñ‹Ñ‚Ğ¾Ğµ Ğ¿Ğ¾Ğ»Ğµ",
+Button			: "ĞšĞ½Ğ¾Ğ¿ĞºĞ°",
+SelectionField	: "Ğ¡Ğ¿Ğ¸ÑĞ¾Ğº",
+ImageButton		: "ĞšĞ½Ğ¾Ğ¿ĞºĞ° Ñ Ğ¸Ğ·Ğ¾Ğ±Ñ€Ğ°Ğ¶ĞµĞ½Ğ¸ĞµĞ¼",
+
+FitWindow		: "Ğ Ğ°Ğ·Ğ²ĞµÑ€Ğ½ÑƒÑ‚ÑŒ Ğ¾ĞºĞ½Ğ¾ Ñ€ĞµĞ´Ğ°ĞºÑ‚Ğ¾Ñ€Ğ°",
+ShowBlocks		: "ĞŸĞ¾ĞºĞ°Ğ·Ğ°Ñ‚ÑŒ Ğ±Ğ»Ğ¾ĞºĞ¸",
+
+// Context Menu
+EditLink			: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚ÑŒ ÑÑÑ‹Ğ»ĞºÑƒ",
+CellCM				: "Ğ¯Ñ‡ĞµĞ¹ĞºĞ°",
+RowCM				: "Ğ¡Ñ‚Ñ€Ğ¾ĞºĞ°",
+ColumnCM			: "ĞšĞ¾Ğ»Ğ¾Ğ½ĞºĞ°",
+InsertRowAfter		: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚ÑŒ ÑÑ‚Ñ€Ğ¾ĞºÑƒ Ğ¿Ğ¾ÑĞ»Ğµ",
+InsertRowBefore		: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚ÑŒ ÑÑ‚Ñ€Ğ¾ĞºÑƒ Ğ´Ğ¾",
+DeleteRows			: "Ğ£Ğ´Ğ°Ğ»Ğ¸Ñ‚ÑŒ ÑÑ‚Ñ€Ğ¾ĞºĞ¸",
+InsertColumnAfter	: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚ÑŒ ĞºĞ¾Ğ»Ğ¾Ğ½ĞºÑƒ Ğ¿Ğ¾ÑĞ»Ğµ",
+InsertColumnBefore	: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚ÑŒ ĞºĞ¾Ğ»Ğ¾Ğ½ĞºÑƒ Ğ´Ğ¾",
+DeleteColumns		: "Ğ£Ğ´Ğ°Ğ»Ğ¸Ñ‚ÑŒ ĞºĞ¾Ğ»Ğ¾Ğ½ĞºĞ¸",
+InsertCellAfter		: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚ÑŒ ÑÑ‡ĞµĞ¹ĞºÑƒ Ğ¿Ğ¾ÑĞ»Ğµ",
+InsertCellBefore	: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚ÑŒ ÑÑ‡ĞµĞ¹ĞºÑƒ Ğ´Ğ¾",
+DeleteCells			: "Ğ£Ğ´Ğ°Ğ»Ğ¸Ñ‚ÑŒ ÑÑ‡ĞµĞ¹ĞºĞ¸",
+MergeCells			: "Ğ¡Ğ¾ĞµĞ´Ğ¸Ğ½Ğ¸Ñ‚ÑŒ ÑÑ‡ĞµĞ¹ĞºĞ¸",
+MergeRight			: "Ğ¡Ğ¾ĞµĞ´Ğ¸Ğ½Ğ¸Ñ‚ÑŒ Ğ²Ğ¿Ñ€Ğ°Ğ²Ğ¾",
+MergeDown			: "Ğ¡Ğ¾ĞµĞ´Ğ¸Ğ½Ğ¸Ñ‚ÑŒ Ğ²Ğ½Ğ¸Ğ·",
+HorizontalSplitCell	: "Ğ Ğ°Ğ·Ğ±Ğ¸Ñ‚ÑŒ ÑÑ‡ĞµĞ¹ĞºÑƒ Ğ³Ğ¾Ñ€Ğ¸Ğ·Ğ¾Ğ½Ñ‚Ğ°Ğ»ÑŒĞ½Ğ¾",
+VerticalSplitCell	: "Ğ Ğ°Ğ·Ğ±Ğ¸Ñ‚ÑŒ ÑÑ‡ĞµĞ¹ĞºÑƒ Ğ²ĞµÑ€Ñ‚Ğ¸ĞºĞ°Ğ»ÑŒĞ½Ğ¾",
+TableDelete			: "Ğ£Ğ´Ğ°Ğ»Ğ¸Ñ‚ÑŒ Ñ‚Ğ°Ğ±Ğ»Ğ¸Ñ†Ñƒ",
+CellProperties		: "Ğ¡Ğ²Ğ¾Ğ¹ÑÑ‚Ğ²Ğ° ÑÑ‡ĞµĞ¹ĞºĞ¸",
+TableProperties		: "Ğ¡Ğ²Ğ¾Ğ¹ÑÑ‚Ğ²Ğ° Ñ‚Ğ°Ğ±Ğ»Ğ¸Ñ†Ñ‹",
+ImageProperties		: "Ğ¡Ğ²Ğ¾Ğ¹ÑÑ‚Ğ²Ğ° Ğ¸Ğ·Ğ¾Ğ±Ñ€Ğ°Ğ¶ĞµĞ½Ğ¸Ñ",
+FlashProperties		: "Ğ¡Ğ²Ğ¾Ğ¹ÑÑ‚Ğ²Ğ° Flash",
+
+AnchorProp			: "Ğ¡Ğ²Ğ¾Ğ¹ÑÑ‚Ğ²Ğ° ÑĞºĞ¾Ñ€Ñ",
+ButtonProp			: "Ğ¡Ğ²Ğ¾Ğ¹ÑÑ‚Ğ²Ğ° ĞºĞ½Ğ¾Ğ¿ĞºĞ¸",
+CheckboxProp		: "Ğ¡Ğ²Ğ¾Ğ¹ÑÑ‚Ğ²Ğ° Ñ„Ğ»Ğ°Ğ³Ğ¾Ğ²Ğ¾Ğ¹ ĞºĞ½Ğ¾Ğ¿ĞºĞ¸",
+HiddenFieldProp		: "Ğ¡Ğ²Ğ¾Ğ¹ÑÑ‚Ğ²Ğ° ÑĞºÑ€Ñ‹Ñ‚Ğ¾Ğ³Ğ¾ Ğ¿Ğ¾Ğ»Ñ",
+RadioButtonProp		: "Ğ¡Ğ²Ğ¾Ğ¹ÑÑ‚Ğ²Ğ° ĞºĞ½Ğ¾Ğ¿ĞºĞ¸ Ğ²Ñ‹Ğ±Ğ¾Ñ€Ğ°",
+ImageButtonProp		: "Ğ¡Ğ²Ğ¾Ğ¹ÑÑ‚Ğ²Ğ° ĞºĞ½Ğ¾Ğ¿ĞºĞ¸ Ñ Ğ¸Ğ·Ğ¾Ğ±Ñ€Ğ°Ğ¶ĞµĞ½Ğ¸ĞµĞ¼",
+TextFieldProp		: "Ğ¡Ğ²Ğ¾Ğ¹ÑÑ‚Ğ²Ğ° Ñ‚ĞµĞºÑÑ‚Ğ¾Ğ²Ğ¾Ğ³Ğ¾ Ğ¿Ğ¾Ğ»Ñ",
+SelectionFieldProp	: "Ğ¡Ğ²Ğ¾Ğ¹ÑÑ‚Ğ²Ğ° ÑĞ¿Ğ¸ÑĞºĞ°",
+TextareaProp		: "Ğ¡Ğ²Ğ¾Ğ¹ÑÑ‚Ğ²Ğ° Ñ‚ĞµĞºÑÑ‚Ğ¾Ğ²Ğ¾Ğ¹ Ğ¾Ğ±Ğ»Ğ°ÑÑ‚Ğ¸",
+FormProp			: "Ğ¡Ğ²Ğ¾Ğ¹ÑÑ‚Ğ²Ğ° Ñ„Ğ¾Ñ€Ğ¼Ñ‹",
+
+FontFormats			: "ĞĞ¾Ñ€Ğ¼Ğ°Ğ»ÑŒĞ½Ñ‹Ğ¹;Ğ¤Ğ¾Ñ€Ğ¼Ğ°Ñ‚Ğ¸Ñ€Ğ¾Ğ²Ğ°Ğ½Ğ½Ñ‹Ğ¹;ĞĞ´Ñ€ĞµÑ;Ğ—Ğ°Ğ³Ğ¾Ğ»Ğ¾Ğ²Ğ¾Ğº 1;Ğ—Ğ°Ğ³Ğ¾Ğ»Ğ¾Ğ²Ğ¾Ğº 2;Ğ—Ğ°Ğ³Ğ¾Ğ»Ğ¾Ğ²Ğ¾Ğº 3;Ğ—Ğ°Ğ³Ğ¾Ğ»Ğ¾Ğ²Ğ¾Ğº 4;Ğ—Ğ°Ğ³Ğ¾Ğ»Ğ¾Ğ²Ğ¾Ğº 5;Ğ—Ğ°Ğ³Ğ¾Ğ»Ğ¾Ğ²Ğ¾Ğº 6;ĞĞ¾Ñ€Ğ¼Ğ°Ğ»ÑŒĞ½Ñ‹Ğ¹ (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "ĞĞ±Ñ€Ğ°Ğ±Ğ¾Ñ‚ĞºĞ° XHTML. ĞŸĞ¾Ğ¶Ğ°Ğ»ÑƒĞ¹ÑÑ‚Ğ°, Ğ¿Ğ¾Ğ´Ğ¾Ğ¶Ğ´Ğ¸Ñ‚Ğµ...",
+Done				: "Ğ¡Ğ´ĞµĞ»Ğ°Ğ½Ğ¾",
+PasteWordConfirm	: "Ğ¢ĞµĞºÑÑ‚, ĞºĞ¾Ñ‚Ğ¾Ñ€Ñ‹Ğ¹ Ğ²Ñ‹ Ñ…Ğ¾Ñ‚Ğ¸Ñ‚Ğµ Ğ²ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚ÑŒ, Ğ¿Ğ¾Ñ…Ğ¾Ğ¶ Ğ½Ğ° ĞºĞ¾Ğ¿Ğ¸Ñ€ÑƒĞµĞ¼Ñ‹Ğ¹ Ğ¸Ğ· Word. Ğ’Ñ‹ Ñ…Ğ¾Ñ‚Ğ¸Ñ‚Ğµ Ğ¾Ñ‡Ğ¸ÑÑ‚Ğ¸Ñ‚ÑŒ ĞµĞ³Ğ¾ Ğ¿ĞµÑ€ĞµĞ´ Ğ²ÑÑ‚Ğ°Ğ²ĞºĞ¾Ğ¹?",
+NotCompatiblePaste	: "Ğ­Ñ‚Ğ° ĞºĞ¾Ğ¼Ğ°Ğ½Ğ´Ğ° Ğ´Ğ¾ÑÑ‚ÑƒĞ¿Ğ½Ğ° Ğ´Ğ»Ñ Internet Explorer Ğ²ĞµÑ€ÑĞ¸Ğ¸ 5.5 Ğ¸Ğ»Ğ¸ Ğ²Ñ‹ÑˆĞµ. Ğ’Ñ‹ Ñ…Ğ¾Ñ‚Ğ¸Ñ‚Ğµ Ğ²ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚ÑŒ Ğ±ĞµĞ· Ğ¾Ñ‡Ğ¸ÑÑ‚ĞºĞ¸?",
+UnknownToolbarItem	: "ĞĞµ Ğ¸Ğ·Ğ²ĞµÑÑ‚Ğ½Ñ‹Ğ¹ ÑĞ»ĞµĞ¼ĞµĞ½Ñ‚ Ğ¿Ğ°Ğ½ĞµĞ»Ğ¸ Ğ¸Ğ½ÑÑ‚Ñ€ÑƒĞ¼ĞµĞ½Ñ‚Ğ¾Ğ² \"%1\"",
+UnknownCommand		: "ĞĞµ Ğ¸Ğ·Ğ²ĞµÑÑ‚Ğ½Ğ¾Ğµ Ğ¸Ğ¼Ñ ĞºĞ¾Ğ¼Ğ°Ğ½Ğ´Ñ‹ \"%1\"",
+NotImplemented		: "ĞšĞ¾Ğ¼Ğ°Ğ½Ğ´Ğ° Ğ½Ğµ Ñ€ĞµĞ°Ğ»Ğ¸Ğ·Ğ¾Ğ²Ğ°Ğ½Ğ°",
+UnknownToolbarSet	: "ĞŸĞ°Ğ½ĞµĞ»ÑŒ Ğ¸Ğ½ÑÑ‚Ñ€ÑƒĞ¼ĞµĞ½Ñ‚Ğ¾Ğ² \"%1\" Ğ½Ğµ ÑÑƒÑ‰ĞµÑÑ‚Ğ²ÑƒĞµÑ‚",
+NoActiveX			: "ĞĞ°ÑÑ‚Ñ€Ğ¾Ğ¹ĞºĞ¸ Ğ±ĞµĞ·Ğ¾Ğ¿Ğ°ÑĞ½Ğ¾ÑÑ‚Ğ¸ Ğ²Ğ°ÑˆĞµĞ³Ğ¾ Ğ±Ñ€Ğ°ÑƒĞ·ĞµÑ€Ğ° Ğ¼Ğ¾Ğ³ÑƒÑ‚ Ğ¾Ğ³Ñ€Ğ°Ğ½Ğ¸Ñ‡Ğ¸Ğ²Ğ°Ñ‚ÑŒ Ğ½ĞµĞºĞ¾Ñ‚Ğ¾Ñ€Ñ‹Ğµ ÑĞ²Ğ¾Ğ¹ÑÑ‚Ğ²Ğ° Ñ€ĞµĞ´Ğ°ĞºÑ‚Ğ¾Ñ€Ğ°. Ğ’Ñ‹ Ğ´Ğ¾Ğ»Ğ¶Ğ½Ñ‹ Ğ²ĞºĞ»ÑÑ‡Ğ¸Ñ‚ÑŒ Ğ¾Ğ¿Ñ†Ğ¸Ñ \"Ğ—Ğ°Ğ¿ÑƒÑĞºĞ°Ñ‚ÑŒ ÑĞ»ĞµĞ¼ĞµĞ½Ñ‚Ñ‹ ÑƒĞ¿Ñ€Ğ°Ğ²Ğ»ĞµĞ½Ğ¸Ñ ActiveX Ğ¸ Ğ¿Ğ»ÑƒĞ³Ğ¸Ğ½Ñ‹\". Ğ’Ñ‹ Ğ¼Ğ¾Ğ¶ĞµÑ‚Ğµ Ğ²Ğ¸Ğ´ĞµÑ‚ÑŒ Ğ¾ÑˆĞ¸Ğ±ĞºĞ¸ Ğ¸ Ğ·Ğ°Ğ¼ĞµÑ‡Ğ°Ñ‚ÑŒ Ğ¾Ñ‚ÑÑƒÑ‚ÑÑ‚Ğ²Ğ¸Ğµ Ğ²Ğ¾Ğ·Ğ¼Ğ¾Ğ¶Ğ½Ğ¾ÑÑ‚ĞµĞ¹.",
+BrowseServerBlocked : "Ğ ĞµÑÑƒÑ€ÑÑ‹ Ğ±Ñ€Ğ°ÑƒĞ·ĞµÑ€Ğ° Ğ½Ğµ Ğ¼Ğ¾Ğ³ÑƒÑ‚ Ğ±Ñ‹Ñ‚ÑŒ Ğ¾Ñ‚ĞºÑ€Ñ‹Ñ‚Ñ‹. ĞŸÑ€Ğ¾Ğ²ĞµÑ€ÑŒÑ‚Ğµ Ñ‡Ñ‚Ğ¾ Ğ±Ğ»Ğ¾ĞºĞ¸Ñ€Ğ¾Ğ²ĞºĞ¸ Ğ²ÑĞ¿Ğ»Ñ‹Ğ²Ğ°ÑÑ‰Ğ¸Ñ… Ğ¾ĞºĞ¾Ğ½ Ğ²Ñ‹ĞºĞ»ÑÑ‡ĞµĞ½Ñ‹.",
+DialogBlocked		: "ĞĞµĞ²Ğ¾Ğ·Ğ¼Ğ¾Ğ¶Ğ½Ğ¾ Ğ¾Ñ‚ĞºÑ€Ñ‹Ñ‚ÑŒ Ğ¾ĞºĞ½Ğ¾ Ğ´Ğ¸Ğ°Ğ»Ğ¾Ğ³Ğ°. ĞŸÑ€Ğ¾Ğ²ĞµÑ€ÑŒÑ‚Ğµ Ñ‡Ñ‚Ğ¾ Ğ±Ğ»Ğ¾ĞºĞ¸Ñ€Ğ¾Ğ²ĞºĞ¸ Ğ²ÑĞ¿Ğ»Ñ‹Ğ²Ğ°ÑÑ‰Ğ¸Ñ… Ğ¾ĞºĞ¾Ğ½ Ğ²Ñ‹ĞºĞ»ÑÑ‡ĞµĞ½Ñ‹.",
+VisitLinkBlocked	: "It was not possible to open a new window. Make sure all popup blockers are disabled.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "ĞĞš",
+DlgBtnCancel		: "ĞÑ‚Ğ¼ĞµĞ½Ğ°",
+DlgBtnClose			: "Ğ—Ğ°ĞºÑ€Ñ‹Ñ‚ÑŒ",
+DlgBtnBrowseServer	: "ĞŸÑ€Ğ¾ÑĞ¼Ğ¾Ñ‚Ñ€ĞµÑ‚ÑŒ Ğ½Ğ° ÑĞµÑ€Ğ²ĞµÑ€Ğµ",
+DlgAdvancedTag		: "Ğ Ğ°ÑÑˆĞ¸Ñ€ĞµĞ½Ğ½Ñ‹Ğ¹",
+DlgOpOther			: "<Ğ”Ñ€ÑƒĞ³Ğ¾Ğµ>",
+DlgInfoTab			: "Ğ˜Ğ½Ñ„Ğ¾Ñ€Ğ¼Ğ°Ñ†Ğ¸Ñ",
+DlgAlertUrl			: "ĞŸĞ¾Ğ¶Ğ°Ğ»ÑƒĞ¹ÑÑ‚Ğ°, Ğ²ÑÑ‚Ğ°Ğ²ÑŒÑ‚Ğµ URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<Ğ½Ğµ Ğ¾Ğ¿Ñ€ĞµĞ´ĞµĞ»ĞµĞ½Ğ¾>",
+DlgGenId			: "Ğ˜Ğ´ĞµĞ½Ñ‚Ğ¸Ñ„Ğ¸ĞºĞ°Ñ‚Ğ¾Ñ€",
+DlgGenLangDir		: "ĞĞ°Ğ¿Ñ€Ğ°Ğ²Ğ»ĞµĞ½Ğ¸Ğµ ÑĞ·Ñ‹ĞºĞ°",
+DlgGenLangDirLtr	: "Ğ¡Ğ»ĞµĞ²Ğ° Ğ½Ğ° Ğ¿Ñ€Ğ°Ğ²Ğ¾ (LTR)",
+DlgGenLangDirRtl	: "Ğ¡Ğ¿Ñ€Ğ°Ğ²Ğ° Ğ½Ğ° Ğ»ĞµĞ²Ğ¾ (RTL)",
+DlgGenLangCode		: "Ğ¯Ğ·Ñ‹Ğº",
+DlgGenAccessKey		: "Ğ“Ğ¾Ñ€ÑÑ‡Ğ°Ñ ĞºĞ»Ğ°Ğ²Ğ¸ÑˆĞ°",
+DlgGenName			: "Ğ˜Ğ¼Ñ",
+DlgGenTabIndex		: "ĞŸĞ¾ÑĞ»ĞµĞ´Ğ¾Ğ²Ğ°Ñ‚ĞµĞ»ÑŒĞ½Ğ¾ÑÑ‚ÑŒ Ğ¿ĞµÑ€ĞµÑ…Ğ¾Ğ´Ğ°",
+DlgGenLongDescr		: "Ğ”Ğ»Ğ¸Ğ½Ğ½Ğ¾Ğµ Ğ¾Ğ¿Ğ¸ÑĞ°Ğ½Ğ¸Ğµ URL",
+DlgGenClass			: "ĞšĞ»Ğ°ÑÑ CSS",
+DlgGenTitle			: "Ğ—Ğ°Ğ³Ğ¾Ğ»Ğ¾Ğ²Ğ¾Ğº",
+DlgGenContType		: "Ğ¢Ğ¸Ğ¿ ÑĞ¾Ğ´ĞµÑ€Ğ¶Ğ¸Ğ¼Ğ¾Ğ³Ğ¾",
+DlgGenLinkCharset	: "ĞšĞ¾Ğ´Ğ¸Ñ€Ğ¾Ğ²ĞºĞ°",
+DlgGenStyle			: "Ğ¡Ñ‚Ğ¸Ğ»ÑŒ CSS",
+
+// Image Dialog
+DlgImgTitle			: "Ğ¡Ğ²Ğ¾Ğ¹ÑÑ‚Ğ²Ğ° Ğ¸Ğ·Ğ¾Ğ±Ñ€Ğ°Ğ¶ĞµĞ½Ğ¸Ñ",
+DlgImgInfoTab		: "Ğ˜Ğ½Ñ„Ğ¾Ñ€Ğ¼Ğ°Ñ†Ğ¸Ñ Ğ¾ Ğ¸Ğ·Ğ¾Ğ±Ñ€Ğ°Ğ¶ĞµĞ½Ğ¸Ğ¸",
+DlgImgBtnUpload		: "ĞŸĞ¾ÑĞ»Ğ°Ñ‚ÑŒ Ğ½Ğ° ÑĞµÑ€Ğ²ĞµÑ€",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Ğ—Ğ°ĞºĞ°Ñ‡Ğ°Ñ‚ÑŒ",
+DlgImgAlt			: "ĞĞ»ÑŒÑ‚ĞµÑ€Ğ½Ğ°Ñ‚Ğ¸Ğ²Ğ½Ñ‹Ğ¹ Ñ‚ĞµĞºÑÑ‚",
+DlgImgWidth			: "Ğ¨Ğ¸Ñ€Ğ¸Ğ½Ğ°",
+DlgImgHeight		: "Ğ’Ñ‹ÑĞ¾Ñ‚Ğ°",
+DlgImgLockRatio		: "Ğ¡Ğ¾Ñ…Ñ€Ğ°Ğ½ÑÑ‚ÑŒ Ğ¿Ñ€Ğ¾Ğ¿Ğ¾Ñ€Ñ†Ğ¸Ğ¸",
+DlgBtnResetSize		: "Ğ¡Ğ±Ñ€Ğ¾ÑĞ¸Ñ‚ÑŒ Ñ€Ğ°Ğ·Ğ¼ĞµÑ€",
+DlgImgBorder		: "Ğ‘Ğ¾Ñ€Ğ´ÑÑ€",
+DlgImgHSpace		: "Ğ“Ğ¾Ñ€Ğ¸Ğ·Ğ¾Ğ½Ñ‚Ğ°Ğ»ÑŒĞ½Ñ‹Ğ¹ Ğ¾Ñ‚ÑÑ‚ÑƒĞ¿",
+DlgImgVSpace		: "Ğ’ĞµÑ€Ñ‚Ğ¸ĞºĞ°Ğ»ÑŒĞ½Ñ‹Ğ¹ Ğ¾Ñ‚ÑÑ‚ÑƒĞ¿",
+DlgImgAlign			: "Ğ’Ñ‹Ñ€Ğ°Ğ²Ğ½Ğ¸Ğ²Ğ°Ğ½Ğ¸Ğµ",
+DlgImgAlignLeft		: "ĞŸĞ¾ Ğ»ĞµĞ²Ğ¾Ğ¼Ñƒ ĞºÑ€Ğ°Ñ",
+DlgImgAlignAbsBottom: "ĞĞ±Ñ Ğ¿Ğ¾Ğ½Ğ¸Ğ·Ñƒ",
+DlgImgAlignAbsMiddle: "ĞĞ±Ñ Ğ¿Ğ¾ÑĞµÑ€ĞµĞ´Ğ¸Ğ½Ğµ",
+DlgImgAlignBaseline	: "ĞŸĞ¾ Ğ±Ğ°Ğ·Ğ¾Ğ²Ğ¾Ğ¹ Ğ»Ğ¸Ğ½Ğ¸Ğ¸",
+DlgImgAlignBottom	: "ĞŸĞ¾Ğ½Ğ¸Ğ·Ñƒ",
+DlgImgAlignMiddle	: "ĞŸĞ¾ÑĞµÑ€ĞµĞ´Ğ¸Ğ½Ğµ",
+DlgImgAlignRight	: "ĞŸĞ¾ Ğ¿Ñ€Ğ°Ğ²Ğ¾Ğ¼Ñƒ ĞºÑ€Ğ°Ñ",
+DlgImgAlignTextTop	: "Ğ¢ĞµĞºÑÑ‚ Ğ½Ğ°Ğ²ĞµÑ€Ñ…Ñƒ",
+DlgImgAlignTop		: "ĞŸĞ¾ Ğ²ĞµÑ€Ñ…Ñƒ",
+DlgImgPreview		: "ĞŸÑ€ĞµĞ´Ğ²Ğ°Ñ€Ğ¸Ñ‚ĞµĞ»ÑŒĞ½Ñ‹Ğ¹ Ğ¿Ñ€Ğ¾ÑĞ¼Ğ¾Ñ‚Ñ€",
+DlgImgAlertUrl		: "ĞŸĞ¾Ğ¶Ğ°Ğ»ÑƒĞ¹ÑÑ‚Ğ°, Ğ²Ğ²ĞµĞ´Ğ¸Ñ‚Ğµ URL Ğ¸Ğ·Ğ¾Ğ±Ñ€Ğ°Ğ¶ĞµĞ½Ğ¸Ñ",
+DlgImgLinkTab		: "Ğ¡ÑÑ‹Ğ»ĞºĞ°",
+
+// Flash Dialog
+DlgFlashTitle		: "Ğ¡Ğ²Ğ¾Ğ¹ÑÑ‚Ğ²Ğ° Flash",
+DlgFlashChkPlay		: "ĞĞ²Ñ‚Ğ¾ Ğ¿Ñ€Ğ¾Ğ¸Ğ³Ñ€Ñ‹Ğ²Ğ°Ğ½Ğ¸Ğµ",
+DlgFlashChkLoop		: "ĞŸĞ¾Ğ²Ñ‚Ğ¾Ñ€",
+DlgFlashChkMenu		: "Ğ’ĞºĞ»ÑÑ‡Ğ¸Ñ‚ÑŒ Ğ¼ĞµĞ½Ñ Flash",
+DlgFlashScale		: "ĞœĞ°ÑÑˆÑ‚Ğ°Ğ±Ğ¸Ñ€Ğ¾Ğ²Ğ°Ñ‚ÑŒ",
+DlgFlashScaleAll	: "ĞŸĞ¾ĞºĞ°Ğ·Ñ‹Ğ²Ğ°Ñ‚ÑŒ Ğ²ÑĞµ",
+DlgFlashScaleNoBorder	: "Ğ‘ĞµĞ· Ğ±Ğ¾Ñ€Ğ´ÑÑ€Ğ°",
+DlgFlashScaleFit	: "Ğ¢Ğ¾Ñ‡Ğ½Ğ¾Ğµ ÑĞ¾Ğ²Ğ¿Ğ°Ğ´ĞµĞ½Ğ¸Ğµ",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Ğ¡ÑÑ‹Ğ»ĞºĞ°",
+DlgLnkInfoTab		: "Ğ˜Ğ½Ñ„Ğ¾Ñ€Ğ¼Ğ°Ñ†Ğ¸Ñ ÑÑÑ‹Ğ»ĞºĞ¸",
+DlgLnkTargetTab		: "Ğ¦ĞµĞ»ÑŒ",
+
+DlgLnkType			: "Ğ¢Ğ¸Ğ¿ ÑÑÑ‹Ğ»ĞºĞ¸",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Ğ¯ĞºĞ¾Ñ€ÑŒ Ğ½Ğ° ÑÑ‚Ñƒ ÑÑ‚Ñ€Ğ°Ğ½Ğ¸Ñ†Ñƒ",
+DlgLnkTypeEMail		: "Ğ­Ğ». Ğ¿Ğ¾Ñ‡Ñ‚Ğ°",
+DlgLnkProto			: "ĞŸÑ€Ğ¾Ñ‚Ğ¾ĞºĞ¾Ğ»",
+DlgLnkProtoOther	: "<Ğ´Ñ€ÑƒĞ³Ğ¾Ğµ>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Ğ’Ñ‹Ğ±ĞµÑ€Ğ¸Ñ‚Ğµ ÑĞºĞ¾Ñ€ÑŒ",
+DlgLnkAnchorByName	: "ĞŸĞ¾ Ğ¸Ğ¼ĞµĞ½Ğ¸ ÑĞºĞ¾Ñ€Ñ",
+DlgLnkAnchorById	: "ĞŸĞ¾ Ğ¸Ğ´ĞµĞ½Ñ‚Ğ¸Ñ„Ğ¸ĞºĞ°Ñ‚Ğ¾Ñ€Ñƒ ÑĞ»ĞµĞ¼ĞµĞ½Ñ‚Ğ°",
+DlgLnkNoAnchors		: "(ĞĞµÑ‚ ÑĞºĞ¾Ñ€ĞµĞ¹ Ğ´Ğ¾ÑÑ‚ÑƒĞ¿Ğ½Ñ‹Ñ… Ğ² ÑÑ‚Ğ¾Ğ¼ Ğ´Ğ¾ĞºÑƒĞ¼ĞµĞ½Ñ‚Ğµ)",
+DlgLnkEMail			: "ĞĞ´Ñ€ĞµÑ ÑĞ». Ğ¿Ğ¾Ñ‡Ñ‚Ñ‹",
+DlgLnkEMailSubject	: "Ğ—Ğ°Ğ³Ğ¾Ğ»Ğ¾Ğ²Ğ¾Ğº ÑĞ¾Ğ¾Ğ±Ñ‰ĞµĞ½Ğ¸Ñ",
+DlgLnkEMailBody		: "Ğ¢ĞµĞ»Ğ¾ ÑĞ¾Ğ¾Ğ±Ñ‰ĞµĞ½Ğ¸Ñ",
+DlgLnkUpload		: "Ğ—Ğ°ĞºĞ°Ñ‡Ğ°Ñ‚ÑŒ",
+DlgLnkBtnUpload		: "ĞŸĞ¾ÑĞ»Ğ°Ñ‚ÑŒ Ğ½Ğ° ÑĞµÑ€Ğ²ĞµÑ€",
+
+DlgLnkTarget		: "Ğ¦ĞµĞ»ÑŒ",
+DlgLnkTargetFrame	: "<Ñ„Ñ€ĞµĞ¹Ğ¼>",
+DlgLnkTargetPopup	: "<Ğ²ÑĞ¿Ğ»Ñ‹Ğ²Ğ°ÑÑ‰ĞµĞµ Ğ¾ĞºĞ½Ğ¾>",
+DlgLnkTargetBlank	: "ĞĞ¾Ğ²Ğ¾Ğµ Ğ¾ĞºĞ½Ğ¾ (_blank)",
+DlgLnkTargetParent	: "Ğ Ğ¾Ğ´Ğ¸Ñ‚ĞµĞ»ÑŒÑĞºĞ¾Ğµ Ğ¾ĞºĞ½Ğ¾ (_parent)",
+DlgLnkTargetSelf	: "Ğ¢Ğ¾Ğ¶Ğµ Ğ¾ĞºĞ½Ğ¾ (_self)",
+DlgLnkTargetTop		: "Ğ¡Ğ°Ğ¼Ğ¾Ğµ Ğ²ĞµÑ€Ñ…Ğ½ĞµĞµ Ğ¾ĞºĞ½Ğ¾ (_top)",
+DlgLnkTargetFrameName	: "Ğ˜Ğ¼Ñ Ñ†ĞµĞ»ĞµĞ²Ğ¾Ğ³Ğ¾ Ñ„Ñ€ĞµĞ¹Ğ¼Ğ°",
+DlgLnkPopWinName	: "Ğ˜Ğ¼Ñ Ğ²ÑĞ¿Ğ»Ñ‹Ğ²Ğ°ÑÑ‰ĞµĞ³Ğ¾ Ğ¾ĞºĞ½Ğ°",
+DlgLnkPopWinFeat	: "Ğ¡Ğ²Ğ¾Ğ¹ÑÑ‚Ğ²Ğ° Ğ²ÑĞ¿Ğ»Ñ‹Ğ²Ğ°ÑÑ‰ĞµĞ³Ğ¾ Ğ¾ĞºĞ½Ğ°",
+DlgLnkPopResize		: "Ğ˜Ğ·Ğ¼ĞµĞ½ÑÑÑ‰ĞµĞµÑÑ Ğ² Ñ€Ğ°Ğ·Ğ¼ĞµÑ€Ğ°Ñ…",
+DlgLnkPopLocation	: "ĞŸĞ°Ğ½ĞµĞ»ÑŒ Ğ»Ğ¾ĞºĞ°Ñ†Ğ¸Ğ¸",
+DlgLnkPopMenu		: "ĞŸĞ°Ğ½ĞµĞ»ÑŒ Ğ¼ĞµĞ½Ñ",
+DlgLnkPopScroll		: "ĞŸĞ¾Ğ»Ğ¾ÑÑ‹ Ğ¿Ñ€Ğ¾ĞºÑ€ÑƒÑ‚ĞºĞ¸",
+DlgLnkPopStatus		: "Ğ¡Ñ‚Ñ€Ğ¾ĞºĞ° ÑĞ¾ÑÑ‚Ğ¾ÑĞ½Ğ¸Ñ",
+DlgLnkPopToolbar	: "ĞŸĞ°Ğ½ĞµĞ»ÑŒ Ğ¸Ğ½ÑÑ‚Ñ€ÑƒĞ¼ĞµĞ½Ñ‚Ğ¾Ğ²",
+DlgLnkPopFullScrn	: "ĞŸĞ¾Ğ»Ğ½Ñ‹Ğ¹ ÑĞºÑ€Ğ°Ğ½ (IE)",
+DlgLnkPopDependent	: "Ğ—Ğ°Ğ²Ğ¸ÑĞ¸Ğ¼Ñ‹Ğ¹ (Netscape)",
+DlgLnkPopWidth		: "Ğ¨Ğ¸Ñ€Ğ¸Ğ½Ğ°",
+DlgLnkPopHeight		: "Ğ’Ñ‹ÑĞ¾Ñ‚Ğ°",
+DlgLnkPopLeft		: "ĞŸĞ¾Ğ·Ğ¸Ñ†Ğ¸Ñ ÑĞ»ĞµĞ²Ğ°",
+DlgLnkPopTop		: "ĞŸĞ¾Ğ·Ğ¸Ñ†Ğ¸Ñ ÑĞ²ĞµÑ€Ñ…Ñƒ",
+
+DlnLnkMsgNoUrl		: "ĞŸĞ¾Ğ¶Ğ°Ğ»ÑƒĞ¹ÑÑ‚Ğ°, Ğ²Ğ²ĞµĞ´Ğ¸Ñ‚Ğµ URL ÑÑÑ‹Ğ»ĞºĞ¸",
+DlnLnkMsgNoEMail	: "ĞŸĞ¾Ğ¶Ğ°Ğ»ÑƒĞ¹ÑÑ‚Ğ°, Ğ²Ğ²ĞµĞ´Ğ¸Ñ‚Ğµ Ğ°Ğ´Ñ€ĞµÑ ÑĞ». Ğ¿Ğ¾Ñ‡Ñ‚Ñ‹",
+DlnLnkMsgNoAnchor	: "ĞŸĞ¾Ğ¶Ğ°Ğ»ÑƒĞ¹ÑÑ‚Ğ°, Ğ²Ñ‹Ğ±ĞµÑ€ĞµÑ‚Ğµ ÑĞºĞ¾Ñ€ÑŒ",
+DlnLnkMsgInvPopName	: "ĞĞ°Ğ·Ğ²Ğ°Ğ½Ğ¸Ğµ Ğ²ÑĞ¿Ñ‹Ğ²Ğ°ÑÑ‰ĞµĞ³Ğ¾ Ğ¾ĞºĞ½Ğ° Ğ´Ğ¾Ğ»Ğ¶Ğ½Ğ¾ Ğ½Ğ°Ñ‡Ğ¸Ğ½Ğ°Ñ‚ÑŒÑÑ Ğ±ÑƒĞºĞ²Ñ‹ Ğ¸ Ğ½Ğµ Ğ¼Ğ¾Ğ¶ĞµÑ‚ ÑĞ¾Ğ´ĞµÑ€Ğ¶Ğ°Ñ‚ÑŒ Ğ¿Ñ€Ğ¾Ğ±ĞµĞ»Ğ¾Ğ²",
+
+// Color Dialog
+DlgColorTitle		: "Ğ’Ñ‹Ğ±ĞµÑ€Ğ¸Ñ‚Ğµ Ñ†Ğ²ĞµÑ‚",
+DlgColorBtnClear	: "ĞÑ‡Ğ¸ÑÑ‚Ğ¸Ñ‚ÑŒ",
+DlgColorHighlight	: "ĞŸĞ¾Ğ´ÑĞ²ĞµÑ‡ĞµĞ½Ğ½Ñ‹Ğ¹",
+DlgColorSelected	: "Ğ’Ñ‹Ğ±Ñ€Ğ°Ğ½Ğ½Ñ‹Ğ¹",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚ÑŒ ÑĞ¼Ğ°Ğ¹Ğ»Ğ¸Ğº",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Ğ’Ñ‹Ğ±ĞµÑ€Ğ¸Ñ‚Ğµ ÑĞ¿ĞµÑ†Ğ¸Ğ°Ğ»ÑŒĞ½Ñ‹Ğ¹ ÑĞ¸Ğ¼Ğ²Ğ¾Ğ»",
+
+// Table Dialog
+DlgTableTitle		: "Ğ¡Ğ²Ğ¾Ğ¹ÑÑ‚Ğ²Ğ° Ñ‚Ğ°Ğ±Ğ»Ğ¸Ñ†Ñ‹",
+DlgTableRows		: "Ğ¡Ñ‚Ñ€Ğ¾ĞºĞ¸",
+DlgTableColumns		: "ĞšĞ¾Ğ»Ğ¾Ğ½ĞºĞ¸",
+DlgTableBorder		: "Ğ Ğ°Ğ·Ğ¼ĞµÑ€ Ğ±Ğ¾Ñ€Ğ´ÑÑ€Ğ°",
+DlgTableAlign		: "Ğ’Ñ‹Ñ€Ğ°Ğ²Ğ½Ğ¸Ğ²Ğ°Ğ½Ğ¸Ğµ",
+DlgTableAlignNotSet	: "<ĞĞµ ÑƒÑÑ‚.>",
+DlgTableAlignLeft	: "Ğ¡Ğ»ĞµĞ²Ğ°",
+DlgTableAlignCenter	: "ĞŸĞ¾ Ñ†ĞµĞ½Ñ‚Ñ€Ñƒ",
+DlgTableAlignRight	: "Ğ¡Ğ¿Ñ€Ğ°Ğ²Ğ°",
+DlgTableWidth		: "Ğ¨Ğ¸Ñ€Ğ¸Ğ½Ğ°",
+DlgTableWidthPx		: "Ğ¿Ğ¸ĞºÑĞµĞ»ĞµĞ¹",
+DlgTableWidthPc		: "Ğ¿Ñ€Ğ¾Ñ†ĞµĞ½Ñ‚Ğ¾Ğ²",
+DlgTableHeight		: "Ğ’Ñ‹ÑĞ¾Ñ‚Ğ°",
+DlgTableCellSpace	: "ĞŸÑ€Ğ¾Ğ¼ĞµĞ¶ÑƒÑ‚Ğ¾Ğº (spacing)",
+DlgTableCellPad		: "ĞÑ‚ÑÑ‚ÑƒĞ¿ (padding)",
+DlgTableCaption		: "Ğ—Ğ°Ğ³Ğ¾Ğ»Ğ¾Ğ²Ğ¾Ğº",
+DlgTableSummary		: "Ğ ĞµĞ·ÑĞ¼Ğµ",
+DlgTableHeaders		: "Ğ—Ğ°Ğ³Ğ¾Ğ»Ğ¾Ğ²ĞºĞ¸",
+DlgTableHeadersNone		: "ĞĞµÑ‚",
+DlgTableHeadersColumn	: "ĞŸĞµÑ€Ğ²Ñ‹Ğ¹ ÑÑ‚Ğ¾Ğ»Ğ±ĞµÑ†",
+DlgTableHeadersRow		: "ĞŸĞµÑ€Ğ²Ğ°Ñ ÑÑ‚Ñ€Ğ¾ĞºĞ°",
+DlgTableHeadersBoth		: "ĞĞ±Ğ° Ğ²Ğ°Ñ€Ğ¸Ğ°Ğ½Ñ‚Ğ°",
+
+// Table Cell Dialog
+DlgCellTitle		: "Ğ¡Ğ²Ğ¾Ğ¹ÑÑ‚Ğ²Ğ° ÑÑ‡ĞµĞ¹ĞºĞ¸",
+DlgCellWidth		: "Ğ¨Ğ¸Ñ€Ğ¸Ğ½Ğ°",
+DlgCellWidthPx		: "Ğ¿Ğ¸ĞºÑĞµĞ»ĞµĞ¹",
+DlgCellWidthPc		: "Ğ¿Ñ€Ğ¾Ñ†ĞµĞ½Ñ‚Ğ¾Ğ²",
+DlgCellHeight		: "Ğ’Ñ‹ÑĞ¾Ñ‚Ğ°",
+DlgCellWordWrap		: "Ğ—Ğ°Ğ²Ğ¾Ñ€Ğ°Ñ‡Ğ¸Ğ²Ğ°Ğ½Ğ¸Ğµ Ñ‚ĞµĞºÑÑ‚Ğ°",
+DlgCellWordWrapNotSet	: "<ĞĞµ ÑƒÑÑ‚.>",
+DlgCellWordWrapYes	: "Ğ”Ğ°",
+DlgCellWordWrapNo	: "ĞĞµÑ‚",
+DlgCellHorAlign		: "Ğ“Ğ¾Ñ€. Ğ²Ñ‹Ñ€Ğ°Ğ²Ğ½Ğ¸Ğ²Ğ°Ğ½Ğ¸Ğµ",
+DlgCellHorAlignNotSet	: "<ĞĞµ ÑƒÑÑ‚.>",
+DlgCellHorAlignLeft	: "Ğ¡Ğ»ĞµĞ²Ğ°",
+DlgCellHorAlignCenter	: "ĞŸĞ¾ Ñ†ĞµĞ½Ñ‚Ñ€Ñƒ",
+DlgCellHorAlignRight: "Ğ¡Ğ¿Ñ€Ğ°Ğ²Ğ°",
+DlgCellVerAlign		: "Ğ’ĞµÑ€Ñ‚. Ğ²Ñ‹Ñ€Ğ°Ğ²Ğ½Ğ¸Ğ²Ğ°Ğ½Ğ¸Ğµ",
+DlgCellVerAlignNotSet	: "<ĞĞµ ÑƒÑÑ‚.>",
+DlgCellVerAlignTop	: "Ğ¡Ğ²ĞµÑ€Ñ…Ñƒ",
+DlgCellVerAlignMiddle	: "ĞŸĞ¾ÑĞµÑ€ĞµĞ´Ğ¸Ğ½Ğµ",
+DlgCellVerAlignBottom	: "Ğ¡Ğ½Ğ¸Ğ·Ñƒ",
+DlgCellVerAlignBaseline	: "ĞŸĞ¾ Ğ±Ğ°Ğ·Ğ¾Ğ²Ğ¾Ğ¹ Ğ»Ğ¸Ğ½Ğ¸Ğ¸",
+DlgCellType		: "Ğ¢Ğ¸Ğ¿ ÑÑ‡ĞµĞ¹ĞºĞ¸",
+DlgCellTypeData		: "Ğ”Ğ°Ğ½Ğ½Ñ‹Ğµ",
+DlgCellTypeHeader	: "Ğ—Ğ°Ğ³Ğ¾Ğ»Ğ¾Ğ²Ğ¾Ğº",
+DlgCellRowSpan		: "Ğ”Ğ¸Ğ°Ğ¿Ğ°Ğ·Ğ¾Ğ½ ÑÑ‚Ñ€Ğ¾Ğº (span)",
+DlgCellCollSpan		: "Ğ”Ğ¸Ğ°Ğ¿Ğ°Ğ·Ğ¾Ğ½ ĞºĞ¾Ğ»Ğ¾Ğ½Ğ¾Ğº (span)",
+DlgCellBackColor	: "Ğ¦Ğ²ĞµÑ‚ Ñ„Ğ¾Ğ½Ğ°",
+DlgCellBorderColor	: "Ğ¦Ğ²ĞµÑ‚ Ğ±Ğ¾Ñ€Ğ´ÑÑ€Ğ°",
+DlgCellBtnSelect	: "Ğ’Ñ‹Ğ±ĞµÑ€Ğ¸Ñ‚Ğµ...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "ĞĞ°Ğ¹Ñ‚Ğ¸ Ğ¸ Ğ·Ğ°Ğ¼ĞµĞ½Ğ¸Ñ‚ÑŒ",
+
+// Find Dialog
+DlgFindTitle		: "ĞĞ°Ğ¹Ñ‚Ğ¸",
+DlgFindFindBtn		: "ĞĞ°Ğ¹Ñ‚Ğ¸",
+DlgFindNotFoundMsg	: "Ğ£ĞºĞ°Ğ·Ğ°Ğ½Ğ½Ñ‹Ğ¹ Ñ‚ĞµĞºÑÑ‚ Ğ½Ğµ Ğ½Ğ°Ğ¹Ğ´ĞµĞ½.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Ğ—Ğ°Ğ¼ĞµĞ½Ğ¸Ñ‚ÑŒ",
+DlgReplaceFindLbl		: "ĞĞ°Ğ¹Ñ‚Ğ¸:",
+DlgReplaceReplaceLbl	: "Ğ—Ğ°Ğ¼ĞµĞ½Ğ¸Ñ‚ÑŒ Ğ½Ğ°:",
+DlgReplaceCaseChk		: "Ğ£Ñ‡Ğ¸Ñ‚Ñ‹Ğ²Ğ°Ñ‚ÑŒ Ñ€ĞµĞ³Ğ¸ÑÑ‚Ñ€",
+DlgReplaceReplaceBtn	: "Ğ—Ğ°Ğ¼ĞµĞ½Ğ¸Ñ‚ÑŒ",
+DlgReplaceReplAllBtn	: "Ğ—Ğ°Ğ¼ĞµĞ½Ğ¸Ñ‚ÑŒ Ğ²ÑĞµ",
+DlgReplaceWordChk		: "Ğ¡Ğ¾Ğ²Ğ¿Ğ°Ğ´ĞµĞ½Ğ¸Ğµ Ñ†ĞµĞ»Ñ‹Ñ… ÑĞ»Ğ¾Ğ²",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "ĞĞ°ÑÑ‚Ñ€Ğ¾Ğ¹ĞºĞ¸ Ğ±ĞµĞ·Ğ¾Ğ¿Ğ°ÑĞ½Ğ¾ÑÑ‚Ğ¸ Ğ²Ğ°ÑˆĞµĞ³Ğ¾ Ğ±Ñ€Ğ°ÑƒĞ·ĞµÑ€Ğ° Ğ½Ğµ Ğ¿Ğ¾Ğ·Ğ²Ğ¾Ğ»ÑÑÑ‚ Ñ€ĞµĞ´Ğ°ĞºÑ‚Ğ¾Ñ€Ñƒ Ğ°Ğ²Ñ‚Ğ¾Ğ¼Ğ°Ñ‚Ğ¸Ñ‡ĞµÑĞºĞ¸ Ğ²Ñ‹Ğ¿Ğ¾Ğ»Ğ½ÑÑ‚ÑŒ Ğ¾Ğ¿ĞµÑ€Ğ°Ñ†Ğ¸Ğ¸ Ğ²Ñ‹Ñ€ĞµĞ·Ğ°Ğ½Ğ¸Ñ. ĞŸĞ¾Ğ¶Ğ°Ğ»ÑƒĞ¹ÑÑ‚Ğ°, Ğ¸ÑĞ¿Ğ¾Ğ»ÑŒĞ·ÑƒĞ¹Ñ‚Ğµ ĞºĞ»Ğ°Ğ²Ğ¸Ğ°Ñ‚ÑƒÑ€Ñƒ Ğ´Ğ»Ñ ÑÑ‚Ğ¾Ğ³Ğ¾ (Ctrl+X).",
+PasteErrorCopy	: "ĞĞ°ÑÑ‚Ñ€Ğ¾Ğ¹ĞºĞ¸ Ğ±ĞµĞ·Ğ¾Ğ¿Ğ°ÑĞ½Ğ¾ÑÑ‚Ğ¸ Ğ²Ğ°ÑˆĞµĞ³Ğ¾ Ğ±Ñ€Ğ°ÑƒĞ·ĞµÑ€Ğ° Ğ½Ğµ Ğ¿Ğ¾Ğ·Ğ²Ğ¾Ğ»ÑÑÑ‚ Ñ€ĞµĞ´Ğ°ĞºÑ‚Ğ¾Ñ€Ñƒ Ğ°Ğ²Ñ‚Ğ¾Ğ¼Ğ°Ñ‚Ğ¸Ñ‡ĞµÑĞºĞ¸ Ğ²Ñ‹Ğ¿Ğ¾Ğ»Ğ½ÑÑ‚ÑŒ Ğ¾Ğ¿ĞµÑ€Ğ°Ñ†Ğ¸Ğ¸ ĞºĞ¾Ğ¿Ğ¸Ñ€Ğ¾Ğ²Ğ°Ğ½Ğ¸Ñ. ĞŸĞ¾Ğ¶Ğ°Ğ»ÑƒĞ¹ÑÑ‚Ğ°, Ğ¸ÑĞ¿Ğ¾Ğ»ÑŒĞ·ÑƒĞ¹Ñ‚Ğµ ĞºĞ»Ğ°Ğ²Ğ¸Ğ°Ñ‚ÑƒÑ€Ñƒ Ğ´Ğ»Ñ ÑÑ‚Ğ¾Ğ³Ğ¾ (Ctrl+C).",
+
+PasteAsText		: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚ÑŒ Ñ‚Ğ¾Ğ»ÑŒĞºĞ¾ Ñ‚ĞµĞºÑÑ‚",
+PasteFromWord	: "Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚ÑŒ Ğ¸Ğ· Word",
+
+DlgPasteMsg2	: "ĞŸĞ¾Ğ¶Ğ°Ğ»ÑƒĞ¹ÑÑ‚Ğ°, Ğ²ÑÑ‚Ğ°Ğ²ÑŒÑ‚Ğµ Ñ‚ĞµĞºÑÑ‚ Ğ² Ğ¿Ñ€ÑĞ¼Ğ¾ÑƒĞ³Ğ¾Ğ»ÑŒĞ½Ğ¸Ğº, Ğ¸ÑĞ¿Ğ¾Ğ»ÑŒĞ·ÑƒÑ ÑĞ¾Ñ‡ĞµÑ‚Ğ°Ğ½Ğ¸Ğµ ĞºĞ»Ğ°Ğ²Ğ¸Ñˆ (<STRONG>Ctrl+V</STRONG>), Ğ¸ Ğ½Ğ°Ğ¶Ğ¼Ğ¸Ñ‚Ğµ <STRONG>OK</STRONG>.",
+DlgPasteSec		: "ĞŸĞ¾ Ğ¿Ñ€Ğ¸Ñ‡Ğ¸Ğ½Ğµ Ğ½Ğ°ÑÑ‚Ñ€Ğ¾ĞµĞº Ğ±ĞµĞ·Ğ¾Ğ¿Ğ°ÑĞ½Ğ¾ÑÑ‚Ğ¸ Ğ±Ñ€Ğ°ÑƒĞ·ĞµÑ€Ğ°, Ñ€ĞµĞ´Ğ°ĞºÑ‚Ğ¾Ñ€ Ğ½Ğµ Ğ¸Ğ¼ĞµĞµÑ‚ Ğ´Ğ¾ÑÑ‚ÑƒĞ¿Ğ° Ğº Ğ´Ğ°Ğ½Ğ½Ñ‹Ğ¼ Ğ±ÑƒÑ„ĞµÑ€Ğ° Ğ¾Ğ±Ğ¼ĞµĞ½Ğ° Ğ½Ğ°Ğ¿Ñ€ÑĞ¼ÑƒÑ. Ğ’Ğ°Ğ¼ Ğ½ĞµĞ¾Ğ±Ñ…Ğ¾Ğ´Ğ¸Ğ¼Ğ¾ Ğ²ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚ÑŒ Ñ‚ĞµĞºÑÑ‚ ÑĞ½Ğ¾Ğ²Ğ° Ğ² ÑÑ‚Ğ¾ Ğ¾ĞºĞ½Ğ¾.",
+DlgPasteIgnoreFont		: "Ğ˜Ğ³Ğ½Ğ¾Ñ€Ğ¸Ñ€Ğ¾Ğ²Ğ°Ñ‚ÑŒ Ğ¾Ğ¿Ñ€ĞµĞ´ĞµĞ»ĞµĞ½Ğ¸Ñ Ğ³Ğ°Ñ€Ğ½Ğ¸Ñ‚ÑƒÑ€Ñ‹",
+DlgPasteRemoveStyles	: "Ğ£Ğ±Ñ€Ğ°Ñ‚ÑŒ Ğ¾Ğ¿Ñ€ĞµĞ´ĞµĞ»ĞµĞ½Ğ¸Ñ ÑÑ‚Ğ¸Ğ»ĞµĞ¹",
+
+// Color Picker
+ColorAutomatic	: "ĞĞ²Ñ‚Ğ¾Ğ¼Ğ°Ñ‚Ğ¸Ñ‡ĞµÑĞºĞ¸Ğ¹",
+ColorMoreColors	: "Ğ¦Ğ²ĞµÑ‚Ğ°...",
+
+// Document Properties
+DocProps		: "Ğ¡Ğ²Ğ¾Ğ¹ÑÑ‚Ğ²Ğ° Ğ´Ğ¾ĞºÑƒĞ¼ĞµĞ½Ñ‚Ğ°",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Ğ¡Ğ²Ğ¾Ğ¹ÑÑ‚Ğ²Ğ° ÑĞºĞ¾Ñ€Ñ",
+DlgAnchorName		: "Ğ˜Ğ¼Ñ ÑĞºĞ¾Ñ€Ñ",
+DlgAnchorErrorName	: "ĞŸĞ¾Ğ¶Ğ°Ğ»ÑƒĞ¹ÑÑ‚Ğ°, Ğ²Ğ²ĞµĞ´Ğ¸Ñ‚Ğµ Ğ¸Ğ¼Ñ ÑĞºĞ¾Ñ€Ñ",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "ĞĞµÑ‚ Ğ² ÑĞ»Ğ¾Ğ²Ğ°Ñ€Ğµ",
+DlgSpellChangeTo		: "Ğ—Ğ°Ğ¼ĞµĞ½Ğ¸Ñ‚ÑŒ Ğ½Ğ°",
+DlgSpellBtnIgnore		: "Ğ˜Ğ³Ğ½Ğ¾Ñ€Ğ¸Ñ€Ğ¾Ğ²Ğ°Ñ‚ÑŒ",
+DlgSpellBtnIgnoreAll	: "Ğ˜Ğ³Ğ½Ğ¾Ñ€Ğ¸Ñ€Ğ¾Ğ²Ğ°Ñ‚ÑŒ Ğ²ÑĞµ",
+DlgSpellBtnReplace		: "Ğ—Ğ°Ğ¼ĞµĞ½Ğ¸Ñ‚ÑŒ",
+DlgSpellBtnReplaceAll	: "Ğ—Ğ°Ğ¼ĞµĞ½Ğ¸Ñ‚ÑŒ Ğ²ÑĞµ",
+DlgSpellBtnUndo			: "ĞÑ‚Ğ¼ĞµĞ½Ğ¸Ñ‚ÑŒ",
+DlgSpellNoSuggestions	: "- ĞĞµÑ‚ Ğ¿Ñ€ĞµĞ´Ğ¿Ğ¾Ğ»Ğ¾Ğ¶ĞµĞ½Ğ¸Ğ¹ -",
+DlgSpellProgress		: "Ğ˜Ğ´ĞµÑ‚ Ğ¿Ñ€Ğ¾Ğ²ĞµÑ€ĞºĞ° Ğ¾Ñ€Ñ„Ğ¾Ğ³Ñ€Ğ°Ñ„Ğ¸Ğ¸...",
+DlgSpellNoMispell		: "ĞŸÑ€Ğ¾Ğ²ĞµÑ€ĞºĞ° Ğ¾Ñ€Ñ„Ğ¾Ğ³Ñ€Ğ°Ñ„Ğ¸Ğ¸ Ğ·Ğ°ĞºĞ¾Ğ½Ñ‡ĞµĞ½Ğ°: Ğ¾ÑˆĞ¸Ğ±Ğ¾Ğº Ğ½Ğµ Ğ½Ğ°Ğ¹Ğ´ĞµĞ½Ğ¾",
+DlgSpellNoChanges		: "ĞŸÑ€Ğ¾Ğ²ĞµÑ€ĞºĞ° Ğ¾Ñ€Ñ„Ğ¾Ğ³Ñ€Ğ°Ñ„Ğ¸Ğ¸ Ğ·Ğ°ĞºĞ¾Ğ½Ñ‡ĞµĞ½Ğ°: Ğ½Ğ¸ Ğ¾Ğ´Ğ½Ğ¾Ğ³Ğ¾ ÑĞ»Ğ¾Ğ²Ğ° Ğ½Ğµ Ğ¸Ğ·Ğ¼ĞµĞ½ĞµĞ½Ğ¾",
+DlgSpellOneChange		: "ĞŸÑ€Ğ¾Ğ²ĞµÑ€ĞºĞ° Ğ¾Ñ€Ñ„Ğ¾Ğ³Ñ€Ğ°Ñ„Ğ¸Ğ¸ Ğ·Ğ°ĞºĞ¾Ğ½Ñ‡ĞµĞ½Ğ°: Ğ¾Ğ´Ğ½Ğ¾ ÑĞ»Ğ¾Ğ²Ğ¾ Ğ¸Ğ·Ğ¼ĞµĞ½ĞµĞ½Ğ¾",
+DlgSpellManyChanges		: "ĞŸÑ€Ğ¾Ğ²ĞµÑ€ĞºĞ° Ğ¾Ñ€Ñ„Ğ¾Ğ³Ñ€Ğ°Ñ„Ğ¸Ğ¸ Ğ·Ğ°ĞºĞ¾Ğ½Ñ‡ĞµĞ½Ğ°: 1% ÑĞ»Ğ¾Ğ² Ğ¸Ğ·Ğ¼ĞµĞ½ĞµĞ½",
+
+IeSpellDownload			: "ĞœĞ¾Ğ´ÑƒĞ»ÑŒ Ğ¿Ñ€Ğ¾Ğ²ĞµÑ€ĞºĞ¸ Ğ¾Ñ€Ñ„Ğ¾Ğ³Ñ€Ğ°Ñ„Ğ¸Ğ¸ Ğ½Ğµ ÑƒÑÑ‚Ğ°Ğ½Ğ¾Ğ²Ğ»ĞµĞ½. Ğ¥Ğ¾Ñ‚Ğ¸Ñ‚Ğµ ÑĞºĞ°Ñ‡Ğ°Ñ‚ÑŒ ĞµĞ³Ğ¾ ÑĞµĞ¹Ñ‡Ğ°Ñ?",
+
+// Button Dialog
+DlgButtonText		: "Ğ¢ĞµĞºÑÑ‚ (Ğ—Ğ½Ğ°Ñ‡ĞµĞ½Ğ¸Ğµ)",
+DlgButtonType		: "Ğ¢Ğ¸Ğ¿",
+DlgButtonTypeBtn	: "ĞšĞ½Ğ¾Ğ¿ĞºĞ°",
+DlgButtonTypeSbm	: "ĞÑ‚Ğ¿Ñ€Ğ°Ğ²Ğ¸Ñ‚ÑŒ",
+DlgButtonTypeRst	: "Ğ¡Ğ±Ñ€Ğ¾ÑĞ¸Ñ‚ÑŒ",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Ğ˜Ğ¼Ñ",
+DlgCheckboxValue	: "Ğ—Ğ½Ğ°Ñ‡ĞµĞ½Ğ¸Ğµ",
+DlgCheckboxSelected	: "Ğ’Ñ‹Ğ±Ñ€Ğ°Ğ½Ğ½Ğ°Ñ",
+
+// Form Dialog
+DlgFormName		: "Ğ˜Ğ¼Ñ",
+DlgFormAction	: "Ğ”ĞµĞ¹ÑÑ‚Ğ²Ğ¸Ğµ",
+DlgFormMethod	: "ĞœĞµÑ‚Ğ¾Ğ´",
+
+// Select Field Dialog
+DlgSelectName		: "Ğ˜Ğ¼Ñ",
+DlgSelectValue		: "Ğ—Ğ½Ğ°Ñ‡ĞµĞ½Ğ¸Ğµ",
+DlgSelectSize		: "Ğ Ğ°Ğ·Ğ¼ĞµÑ€",
+DlgSelectLines		: "Ğ»Ğ¸Ğ½Ğ¸Ğ¸",
+DlgSelectChkMulti	: "Ğ Ğ°Ğ·Ñ€ĞµÑˆĞ¸Ñ‚ÑŒ Ğ¼Ğ½Ğ¾Ğ¶ĞµÑÑ‚Ğ²ĞµĞ½Ğ½Ñ‹Ğ¹ Ğ²Ñ‹Ğ±Ğ¾Ñ€",
+DlgSelectOpAvail	: "Ğ”Ğ¾ÑÑ‚ÑƒĞ¿Ğ½Ñ‹Ğµ Ğ²Ğ°Ñ€Ğ¸Ğ°Ğ½Ñ‚Ñ‹",
+DlgSelectOpText		: "Ğ¢ĞµĞºÑÑ‚",
+DlgSelectOpValue	: "Ğ—Ğ½Ğ°Ñ‡ĞµĞ½Ğ¸Ğµ",
+DlgSelectBtnAdd		: "Ğ”Ğ¾Ğ±Ğ°Ğ²Ğ¸Ñ‚ÑŒ",
+DlgSelectBtnModify	: "ĞœĞ¾Ğ´Ğ¸Ñ„Ğ¸Ñ†Ğ¸Ñ€Ğ¾Ğ²Ğ°Ñ‚ÑŒ",
+DlgSelectBtnUp		: "Ğ’Ğ²ĞµÑ€Ñ…",
+DlgSelectBtnDown	: "Ğ’Ğ½Ğ¸Ğ·",
+DlgSelectBtnSetValue : "Ğ£ÑÑ‚Ğ°Ğ½Ğ¾Ğ²Ğ¸Ñ‚ÑŒ ĞºĞ°Ğº Ğ²Ñ‹Ğ±Ñ€Ğ°Ğ½Ğ½Ğ¾Ğµ Ğ·Ğ½Ğ°Ñ‡ĞµĞ½Ğ¸Ğµ",
+DlgSelectBtnDelete	: "Ğ£Ğ´Ğ°Ğ»Ğ¸Ñ‚ÑŒ",
+
+// Textarea Dialog
+DlgTextareaName	: "Ğ˜Ğ¼Ñ",
+DlgTextareaCols	: "ĞšĞ¾Ğ»Ğ¾Ğ½ĞºĞ¸",
+DlgTextareaRows	: "Ğ¡Ñ‚Ñ€Ğ¾ĞºĞ¸",
+
+// Text Field Dialog
+DlgTextName			: "Ğ˜Ğ¼Ñ",
+DlgTextValue		: "Ğ—Ğ½Ğ°Ñ‡ĞµĞ½Ğ¸Ğµ",
+DlgTextCharWidth	: "Ğ¨Ğ¸Ñ€Ğ¸Ğ½Ğ°",
+DlgTextMaxChars		: "ĞœĞ°ĞºÑ. ĞºĞ¾Ğ»-Ğ²Ğ¾ ÑĞ¸Ğ¼Ğ²Ğ¾Ğ»Ğ¾Ğ²",
+DlgTextType			: "Ğ¢Ğ¸Ğ¿",
+DlgTextTypeText		: "Ğ¢ĞµĞºÑÑ‚",
+DlgTextTypePass		: "ĞŸĞ°Ñ€Ğ¾Ğ»ÑŒ",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Ğ˜Ğ¼Ñ",
+DlgHiddenValue	: "Ğ—Ğ½Ğ°Ñ‡ĞµĞ½Ğ¸Ğµ",
+
+// Bulleted List Dialog
+BulletedListProp	: "Ğ¡Ğ²Ğ¾Ğ¹ÑÑ‚Ğ²Ğ° Ğ¼Ğ°Ñ€ĞºĞ¸Ñ€Ğ¾Ğ²Ğ°Ğ½Ğ½Ğ¾Ğ³Ğ¾ ÑĞ¿Ğ¸ÑĞºĞ°",
+NumberedListProp	: "Ğ¡Ğ²Ğ¾Ğ¹ÑÑ‚Ğ²Ğ° Ğ½ÑƒĞ¼ĞµÑ€Ğ¾Ğ²Ğ°Ğ½Ğ½Ğ¾Ğ³Ğ¾ ÑĞ¿Ğ¸ÑĞºĞ°",
+DlgLstStart			: "ĞĞ°Ñ‡Ğ°Ğ»Ğ¾",
+DlgLstType			: "Ğ¢Ğ¸Ğ¿",
+DlgLstTypeCircle	: "ĞšÑ€ÑƒĞ³",
+DlgLstTypeDisc		: "Ğ”Ğ¸ÑĞº",
+DlgLstTypeSquare	: "ĞšĞ²Ğ°Ğ´Ñ€Ğ°Ñ‚",
+DlgLstTypeNumbers	: "ĞĞ¾Ğ¼ĞµÑ€Ğ° (1, 2, 3)",
+DlgLstTypeLCase		: "Ğ‘ÑƒĞºĞ²Ñ‹ Ğ½Ğ¸Ğ¶Ğ½ĞµĞ³Ğ¾ Ñ€ĞµĞ³Ğ¸ÑÑ‚Ñ€Ğ° (a, b, c)",
+DlgLstTypeUCase		: "Ğ‘ÑƒĞºĞ²Ñ‹ Ğ²ĞµÑ€Ñ…Ğ½ĞµĞ³Ğ¾ Ñ€ĞµĞ³Ğ¸ÑÑ‚Ñ€Ğ° (A, B, C)",
+DlgLstTypeSRoman	: "ĞœĞ°Ğ»Ñ‹Ğµ Ñ€Ğ¸Ğ¼ÑĞºĞ¸Ğµ Ğ±ÑƒĞºĞ²Ñ‹ (i, ii, iii)",
+DlgLstTypeLRoman	: "Ğ‘Ğ¾Ğ»ÑŒÑˆĞ¸Ğµ Ñ€Ğ¸Ğ¼ÑĞºĞ¸Ğµ Ğ±ÑƒĞºĞ²Ñ‹ (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "ĞĞ±Ñ‰Ğ¸Ğµ",
+DlgDocBackTab		: "Ğ—Ğ°Ğ´Ğ½Ğ¸Ğ¹ Ñ„Ğ¾Ğ½",
+DlgDocColorsTab		: "Ğ¦Ğ²ĞµÑ‚Ğ° Ğ¸ Ğ¾Ñ‚ÑÑ‚ÑƒĞ¿Ñ‹",
+DlgDocMetaTab		: "ĞœĞµÑ‚Ğ° Ğ´Ğ°Ğ½Ğ½Ñ‹Ğµ",
+
+DlgDocPageTitle		: "Ğ—Ğ°Ğ³Ğ¾Ğ»Ğ¾Ğ²Ğ¾Ğº ÑÑ‚Ñ€Ğ°Ğ½Ğ¸Ñ†Ñ‹",
+DlgDocLangDir		: "ĞĞ°Ğ¿Ñ€Ğ°Ğ²Ğ»ĞµĞ½Ğ¸Ğµ Ñ‚ĞµĞºÑÑ‚Ğ°",
+DlgDocLangDirLTR	: "Ğ¡Ğ»ĞµĞ²Ğ° Ğ½Ğ°Ğ¿Ñ€Ğ°Ğ²Ğ¾ (LTR)",
+DlgDocLangDirRTL	: "Ğ¡Ğ¿Ñ€Ğ°Ğ²Ğ° Ğ½Ğ°Ğ»ĞµĞ²Ğ¾ (RTL)",
+DlgDocLangCode		: "ĞšĞ¾Ğ´ ÑĞ·Ñ‹ĞºĞ°",
+DlgDocCharSet		: "ĞšĞ¾Ğ´Ğ¸Ñ€Ğ¾Ğ²ĞºĞ° Ğ½Ğ°Ğ±Ğ¾Ñ€Ğ° ÑĞ¸Ğ¼Ğ²Ğ¾Ğ»Ğ¾Ğ²",
+DlgDocCharSetCE		: "Ğ¦ĞµĞ½Ñ‚Ñ€Ğ°Ğ»ÑŒĞ½Ğ¾-ĞµĞ²Ñ€Ğ¾Ğ¿ĞµĞ¹ÑĞºĞ°Ñ",
+DlgDocCharSetCT		: "ĞšĞ¸Ñ‚Ğ°Ğ¹ÑĞºĞ°Ñ Ñ‚Ñ€Ğ°Ğ´Ğ¸Ñ†Ğ¸Ğ¾Ğ½Ğ½Ğ°Ñ (Big5)",
+DlgDocCharSetCR		: "ĞšĞ¸Ñ€Ğ¸Ğ»Ğ»Ğ¸Ñ†Ğ°",
+DlgDocCharSetGR		: "Ğ“Ñ€ĞµÑ‡ĞµÑĞºĞ°Ñ",
+DlgDocCharSetJP		: "Ğ¯Ğ¿Ğ¾Ğ½ÑĞºĞ°Ñ",
+DlgDocCharSetKR		: "ĞšĞ¾Ñ€ĞµĞ¹ÑĞºĞ°Ñ",
+DlgDocCharSetTR		: "Ğ¢ÑƒÑ€ĞµÑ†ĞºĞ°Ñ",
+DlgDocCharSetUN		: "Ğ®Ğ½Ğ¸ĞºĞ¾Ğ´ (UTF-8)",
+DlgDocCharSetWE		: "Ğ—Ğ°Ğ¿Ğ°Ğ´Ğ½Ğ¾-ĞµĞ²Ñ€Ğ¾Ğ¿ĞµĞ¹ÑĞºĞ°Ñ",
+DlgDocCharSetOther	: "Ğ”Ñ€ÑƒĞ³Ğ°Ñ ĞºĞ¾Ğ´Ğ¸Ñ€Ğ¾Ğ²ĞºĞ° Ğ½Ğ°Ğ±Ğ¾Ñ€Ğ° ÑĞ¸Ğ¼Ğ²Ğ¾Ğ»Ğ¾Ğ²",
+
+DlgDocDocType		: "Ğ—Ğ°Ğ³Ğ¾Ğ»Ğ¾Ğ²Ğ¾Ğº Ñ‚Ğ¸Ğ¿Ğ° Ğ´Ğ¾ĞºÑƒĞ¼ĞµĞ½Ñ‚Ğ°",
+DlgDocDocTypeOther	: "Ğ”Ñ€ÑƒĞ³Ğ¾Ğ¹ Ğ·Ğ°Ğ³Ğ¾Ğ»Ğ¾Ğ²Ğ¾Ğº Ñ‚Ğ¸Ğ¿Ğ° Ğ´Ğ¾ĞºÑƒĞ¼ĞµĞ½Ñ‚Ğ°",
+DlgDocIncXHTML		: "Ğ’ĞºĞ»ÑÑ‡Ğ¸Ñ‚ÑŒ XHTML Ğ¾Ğ±ÑŠÑĞ²Ğ»ĞµĞ½Ğ¸Ñ",
+DlgDocBgColor		: "Ğ¦Ğ²ĞµÑ‚ Ñ„Ğ¾Ğ½Ğ°",
+DlgDocBgImage		: "URL Ğ¸Ğ·Ğ¾Ğ±Ñ€Ğ°Ğ¶ĞµĞ½Ğ¸Ñ Ñ„Ğ¾Ğ½Ğ°",
+DlgDocBgNoScroll	: "ĞĞµÑĞºÑ€Ğ¾Ğ»Ğ»Ğ¸Ñ€ÑƒĞµĞ¼Ñ‹Ğ¹ Ñ„Ğ¾Ğ½",
+DlgDocCText			: "Ğ¢ĞµĞºÑÑ‚",
+DlgDocCLink			: "Ğ¡ÑÑ‹Ğ»ĞºĞ°",
+DlgDocCVisited		: "ĞŸĞ¾ÑĞµÑ‰ĞµĞ½Ğ½Ğ°Ñ ÑÑÑ‹Ğ»ĞºĞ°",
+DlgDocCActive		: "ĞĞºÑ‚Ğ¸Ğ²Ğ½Ğ°Ñ ÑÑÑ‹Ğ»ĞºĞ°",
+DlgDocMargins		: "ĞÑ‚ÑÑ‚ÑƒĞ¿Ñ‹ ÑÑ‚Ñ€Ğ°Ğ½Ğ¸Ñ†Ñ‹",
+DlgDocMaTop			: "Ğ’ĞµÑ€Ñ…Ğ½Ğ¸Ğ¹",
+DlgDocMaLeft		: "Ğ›ĞµĞ²Ñ‹Ğ¹",
+DlgDocMaRight		: "ĞŸÑ€Ğ°Ğ²Ñ‹Ğ¹",
+DlgDocMaBottom		: "ĞĞ¸Ğ¶Ğ½Ğ¸Ğ¹",
+DlgDocMeIndex		: "ĞšĞ»ÑÑ‡ĞµĞ²Ñ‹Ğµ ÑĞ»Ğ¾Ğ²Ğ° Ğ´Ğ¾ĞºÑƒĞ¼ĞµĞ½Ñ‚Ğ° (Ñ€Ğ°Ğ·Ğ´ĞµĞ»ĞµĞ½Ğ½Ñ‹Ğµ Ğ·Ğ°Ğ¿ÑÑ‚Ğ¾Ğ¹)",
+DlgDocMeDescr		: "ĞĞ¿Ğ¸ÑĞ°Ğ½Ğ¸Ğµ Ğ´Ğ¾ĞºÑƒĞ¼ĞµĞ½Ñ‚Ğ°",
+DlgDocMeAuthor		: "ĞĞ²Ñ‚Ğ¾Ñ€",
+DlgDocMeCopy		: "ĞĞ²Ñ‚Ğ¾Ñ€ÑĞºĞ¸Ğµ Ğ¿Ñ€Ğ°Ğ²Ğ°",
+DlgDocPreview		: "ĞŸÑ€ĞµĞ´Ğ²Ğ°Ñ€Ğ¸Ñ‚ĞµĞ»ÑŒĞ½Ñ‹Ğ¹ Ğ¿Ñ€Ğ¾ÑĞ¼Ğ¾Ñ‚Ñ€",
+
+// Templates Dialog
+Templates			: "Ğ¨Ğ°Ğ±Ğ»Ğ¾Ğ½Ñ‹",
+DlgTemplatesTitle	: "Ğ¨Ğ°Ğ±Ğ»Ğ¾Ğ½Ñ‹ ÑĞ¾Ğ´ĞµÑ€Ğ¶Ğ¸Ğ¼Ğ¾Ğ³Ğ¾",
+DlgTemplatesSelMsg	: "ĞŸĞ¾Ğ¶Ğ°Ğ»ÑƒĞ¹ÑÑ‚Ğ°, Ğ²Ñ‹Ğ±ĞµÑ€ĞµÑ‚Ğµ ÑˆĞ°Ğ±Ğ»Ğ¾Ğ½ Ğ´Ğ»Ñ Ğ¾Ñ‚ĞºÑ€Ñ‹Ñ‚Ğ¸Ñ Ğ² Ñ€ĞµĞ´Ğ°ĞºÑ‚Ğ¾Ñ€Ğµ<br>(Ñ‚ĞµĞºÑƒÑ‰ĞµĞµ ÑĞ¾Ğ´ĞµÑ€Ğ¶Ğ¸Ğ¼Ğ¾Ğµ Ğ±ÑƒĞ´ĞµÑ‚ Ğ¿Ğ¾Ñ‚ĞµÑ€ÑĞ½Ğ¾):",
+DlgTemplatesLoading	: "Ğ—Ğ°Ğ³Ñ€ÑƒĞ·ĞºĞ° ÑĞ¿Ğ¸ÑĞºĞ° ÑˆĞ°Ğ±Ğ»Ğ¾Ğ½Ğ¾Ğ². ĞŸĞ¾Ğ¶Ğ°Ğ»ÑƒĞ¹ÑÑ‚Ğ°, Ğ¿Ğ¾Ğ´Ğ¾Ğ¶Ğ´Ğ¸Ñ‚Ğµ...",
+DlgTemplatesNoTpl	: "(ĞĞ¸ Ğ¾Ğ´Ğ½Ğ¾Ğ³Ğ¾ ÑˆĞ°Ğ±Ğ»Ğ¾Ğ½Ğ° Ğ½Ğµ Ğ¾Ğ¿Ñ€ĞµĞ´ĞµĞ»ĞµĞ½Ğ¾)",
+DlgTemplatesReplace	: "Ğ—Ğ°Ğ¼ĞµĞ½Ğ¸Ñ‚ÑŒ Ñ‚ĞµĞºÑƒÑ‰ĞµĞµ ÑĞ¾Ğ´ĞµÑ€Ğ¶Ğ°Ğ½Ğ¸Ğµ",
+
+// About Dialog
+DlgAboutAboutTab	: "Ğ Ğ¿Ñ€Ğ¾Ğ³Ñ€Ğ°Ğ¼Ğ¼Ğµ",
+DlgAboutBrowserInfoTab	: "Ğ˜Ğ½Ñ„Ğ¾Ñ€Ğ¼Ğ°Ñ†Ğ¸Ñ Ğ±Ñ€Ğ°ÑƒĞ·ĞµÑ€Ğ°",
+DlgAboutLicenseTab	: "Ğ›Ğ¸Ñ†ĞµĞ½Ğ·Ğ¸Ñ",
+DlgAboutVersion		: "Ğ’ĞµÑ€ÑĞ¸Ñ",
+DlgAboutInfo		: "Ğ”Ğ»Ñ Ğ±Ğ¾Ğ»ÑŒÑˆĞµĞ¹ Ğ¸Ğ½Ñ„Ğ¾Ñ€Ğ¼Ğ°Ñ†Ğ¸Ğ¸, Ğ¿Ğ¾ÑĞµÑ‚Ğ¸Ñ‚Ğµ",
+DlgAboutModule		: "Developed for Website Baker<br />modul version 2.9.4",
+
+// Div Dialog
+DlgDivGeneralTab	: "Ğ˜Ğ½Ñ„Ğ¾Ñ€Ğ¼Ğ°Ñ†Ğ¸Ñ",
+DlgDivAdvancedTab	: "Ğ Ğ°ÑÑˆĞ¸Ñ€ĞµĞ½Ğ½Ñ‹Ğµ Ğ½Ğ°ÑÑ‚Ñ€Ğ¾Ğ¹ĞºĞ¸",
+DlgDivStyle		: "Ğ¡Ñ‚Ğ¸Ğ»ÑŒ",
+DlgDivInlineStyle	: "Ğ’ÑÑ‚Ñ€Ğ¾ĞµĞ½Ğ½Ñ‹Ğµ ÑÑ‚Ğ¸Ğ»Ğ¸",
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/af.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/af.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/af.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Afrikaans language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Vou Gereedskaps balk toe",
+ToolbarExpand		: "Vou Gereedskaps balk oop",
+
+// Toolbar Items and Context Menu
+Save				: "Bewaar",
+NewPage				: "Nuwe Bladsy",
+Preview				: "Voorskou",
+Cut					: "Uitsny ",
+Copy				: "Kopieer",
+Paste				: "Byvoeg",
+PasteText			: "Slegs inhoud byvoeg",
+PasteWord			: "Van Word af byvoeg",
+Print				: "Druk",
+SelectAll			: "Selekteer alles",
+RemoveFormat		: "Formaat verweider",
+InsertLinkLbl		: "Skakel",
+InsertLink			: "Skakel byvoeg/verander",
+RemoveLink			: "Skakel verweider",
+VisitLink			: "Open Link",	//MISSING
+Anchor				: "Plekhouer byvoeg/verander",
+AnchorDelete		: "Remove Anchor",	//MISSING
+InsertImageLbl		: "Beeld",
+InsertImage			: "Beeld byvoeg/verander",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Flash byvoeg/verander",
+InsertTableLbl		: "Tabel",
+InsertTable			: "Tabel byvoeg/verander",
+InsertLineLbl		: "Lyn",
+InsertLine			: "Horisontale lyn byvoeg",
+InsertSpecialCharLbl: "Spesiaale karakter",
+InsertSpecialChar	: "Spesiaale Karakter byvoeg",
+InsertSmileyLbl		: "Smiley",
+InsertSmiley		: "Smiley byvoeg",
+About				: "Meer oor FCKeditor",
+Bold				: "Vet",
+Italic				: "Skuins",
+Underline			: "Onderstreep",
+StrikeThrough		: "Gestreik",
+Subscript			: "Subscript",
+Superscript			: "Superscript",
+LeftJustify			: "Links rig",
+CenterJustify		: "Rig Middel",
+RightJustify		: "Regs rig",
+BlockJustify		: "Blok paradeer",
+DecreaseIndent		: "Paradeering verkort",
+IncreaseIndent		: "Paradeering verleng",
+Blockquote			: "Blockquote",	//MISSING
+CreateDiv			: "Create Div Container",	//MISSING
+EditDiv				: "Edit Div Container",	//MISSING
+DeleteDiv			: "Remove Div Container",	//MISSING
+Undo				: "Ont-skep",
+Redo				: "Her-skep",
+NumberedListLbl		: "Genommerde lys",
+NumberedList		: "Genommerde lys byvoeg/verweider",
+BulletedListLbl		: "Gepunkte lys",
+BulletedList		: "Gepunkte lys byvoeg/verweider",
+ShowTableBorders	: "Wys tabel kante",
+ShowDetails			: "Wys informasie",
+Style				: "Styl",
+FontFormat			: "Karakter formaat",
+Font				: "Karakters",
+FontSize			: "Karakter grote",
+TextColor			: "Karakter kleur",
+BGColor				: "Agtergrond kleur",
+Source				: "Source",
+Find				: "Vind",
+Replace				: "Vervang",
+SpellCheck			: "Spelling nagaan",
+UniversalKeyboard	: "Universeele Sleutelbord",
+PageBreakLbl		: "Bladsy breek",
+PageBreak			: "Bladsy breek byvoeg",
+
+Form			: "Form",
+Checkbox		: "HakBox",
+RadioButton		: "PuntBox",
+TextField		: "Byvoegbare karakter strook",
+Textarea		: "Byvoegbare karakter area",
+HiddenField		: "Blinde strook",
+Button			: "Knop",
+SelectionField	: "Opklapbare keuse strook",
+ImageButton		: "Beeld knop",
+
+FitWindow		: "Maksimaliseer venster grote",
+ShowBlocks		: "Show Blocks",	//MISSING
+
+// Context Menu
+EditLink			: "Verander skakel",
+CellCM				: "Cell",
+RowCM				: "Ry",
+ColumnCM			: "Kolom",
+InsertRowAfter		: "Insert Row After",	//MISSING
+InsertRowBefore		: "Insert Row Before",	//MISSING
+DeleteRows			: "Ry verweider",
+InsertColumnAfter	: "Insert Column After",	//MISSING
+InsertColumnBefore	: "Insert Column Before",	//MISSING
+DeleteColumns		: "Kolom verweider",
+InsertCellAfter		: "Insert Cell After",	//MISSING
+InsertCellBefore	: "Insert Cell Before",	//MISSING
+DeleteCells			: "Cell verweider",
+MergeCells			: "Cell verenig",
+MergeRight			: "Merge Right",	//MISSING
+MergeDown			: "Merge Down",	//MISSING
+HorizontalSplitCell	: "Split Cell Horizontally",	//MISSING
+VerticalSplitCell	: "Split Cell Vertically",	//MISSING
+TableDelete			: "Tabel verweider",
+CellProperties		: "Cell eienskappe",
+TableProperties		: "Tabel eienskappe",
+ImageProperties		: "Beeld eienskappe",
+FlashProperties		: "Flash eienskappe",
+
+AnchorProp			: "Plekhouer eienskappe",
+ButtonProp			: "Knop eienskappe",
+CheckboxProp		: "HakBox eienskappe",
+HiddenFieldProp		: "Blinde strook eienskappe",
+RadioButtonProp		: "PuntBox eienskappe",
+ImageButtonProp		: "Beeld knop eienskappe",
+TextFieldProp		: "Karakter strook eienskappe",
+SelectionFieldProp	: "Opklapbare keuse strook eienskappe",
+TextareaProp		: "Karakter area eienskappe",
+FormProp			: "Form eienskappe",
+
+FontFormats			: "Normaal;Geformateerd;Adres;Opskrif 1;Opskrif 2;Opskrif 3;Opskrif 4;Opskrif 5;Opskrif 6;Normaal (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "XHTML word verarbeit. U geduld asseblief...",
+Done				: "Kompleet",
+PasteWordConfirm	: "Die informasie wat U probeer byvoeg is warskynlik van Word. Wil U dit reinig voor die byvoeging?",
+NotCompatiblePaste	: "Die instruksie is beskikbaar vir Internet Explorer weergawe 5.5 of hor. Wil U dir byvoeg sonder reiniging?",
+UnknownToolbarItem	: "Unbekende gereedskaps balk item \"%1\"",
+UnknownCommand		: "Unbekende instruksie naam \"%1\"",
+NotImplemented		: "Instruksie is nie geimplementeer nie.",
+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.",
+BrowseServerBlocked : "Die vorraad venster word geblok! Verseker asseblief dat U die \"popup blocker\" instelling verander.",
+DialogBlocked		: "Die dialoog venster vir verdere informasie word geblok. De-aktiveer asseblief die \"popup blocker\" instellings wat dit behinder.",
+VisitLinkBlocked	: "It was not possible to open a new window. Make sure all popup blockers are disabled.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Kanseleer",
+DlgBtnClose			: "Sluit",
+DlgBtnBrowseServer	: "Server deurblaai",
+DlgAdvancedTag		: "Ingewikkeld",
+DlgOpOther			: "<Ander>",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "Voeg asseblief die URL in",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<geen instelling>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Taal rigting",
+DlgGenLangDirLtr	: "Links na regs (LTR)",
+DlgGenLangDirRtl	: "Regs na links (RTL)",
+DlgGenLangCode		: "Taal kode",
+DlgGenAccessKey		: "Toegang sleutel",
+DlgGenName			: "Naam",
+DlgGenTabIndex		: "Tab Index",
+DlgGenLongDescr		: "Lang beskreiwing URL",
+DlgGenClass			: "Skakel Tiepe",
+DlgGenTitle			: "Voorbeveelings Titel",
+DlgGenContType		: "Voorbeveelings inhoud soort",
+DlgGenLinkCharset	: "Geskakelde voorbeeld karakterstel",
+DlgGenStyle			: "Styl",
+
+// Image Dialog
+DlgImgTitle			: "Beeld eienskappe",
+DlgImgInfoTab		: "Beeld informasie",
+DlgImgBtnUpload		: "Stuur dit na die Server",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Uplaai",
+DlgImgAlt			: "Alternatiewe beskrywing",
+DlgImgWidth			: "Weidte",
+DlgImgHeight		: "Hoogde",
+DlgImgLockRatio		: "Behou preporsie",
+DlgBtnResetSize		: "Herstel groote",
+DlgImgBorder		: "Kant",
+DlgImgHSpace		: "HSpasie",
+DlgImgVSpace		: "VSpasie",
+DlgImgAlign			: "Paradeer",
+DlgImgAlignLeft		: "Links",
+DlgImgAlignAbsBottom: "Abs Onder",
+DlgImgAlignAbsMiddle: "Abs Middel",
+DlgImgAlignBaseline	: "Baseline",
+DlgImgAlignBottom	: "Onder",
+DlgImgAlignMiddle	: "Middel",
+DlgImgAlignRight	: "Regs",
+DlgImgAlignTextTop	: "Text Bo",
+DlgImgAlignTop		: "Bo",
+DlgImgPreview		: "Voorskou",
+DlgImgAlertUrl		: "Voeg asseblief Beeld URL in.",
+DlgImgLinkTab		: "Skakel",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash eienskappe",
+DlgFlashChkPlay		: "Automaties Speel",
+DlgFlashChkLoop		: "Herhaling",
+DlgFlashChkMenu		: "Laat Flash Menu toe",
+DlgFlashScale		: "Scale",
+DlgFlashScaleAll	: "Wys alles",
+DlgFlashScaleNoBorder	: "Geen kante",
+DlgFlashScaleFit	: "Presiese pas",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Skakel",
+DlgLnkInfoTab		: "Skakel informasie",
+DlgLnkTargetTab		: "Mikpunt",
+
+DlgLnkType			: "Skakel soort",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Skakel na plekhouers in text",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protokol",
+DlgLnkProtoOther	: "<ander>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Kies 'n plekhouer",
+DlgLnkAnchorByName	: "Volgens plekhouer naam",
+DlgLnkAnchorById	: "Volgens element Id",
+DlgLnkNoAnchors		: "(Geen plekhouers beskikbaar in dokument}",
+DlgLnkEMail			: "E-Mail Adres",
+DlgLnkEMailSubject	: "Boodskap Opskrif",
+DlgLnkEMailBody		: "Boodskap Inhoud",
+DlgLnkUpload		: "Oplaai",
+DlgLnkBtnUpload		: "Stuur na Server",
+
+DlgLnkTarget		: "Mikpunt",
+DlgLnkTargetFrame	: "<raam>",
+DlgLnkTargetPopup	: "<popup venster>",
+DlgLnkTargetBlank	: "Nuwe Venster (_blank)",
+DlgLnkTargetParent	: "Vorige Venster (_parent)",
+DlgLnkTargetSelf	: "Selfde Venster (_self)",
+DlgLnkTargetTop		: "Boonste Venster (_top)",
+DlgLnkTargetFrameName	: "Mikpunt Venster Naam",
+DlgLnkPopWinName	: "Popup Venster Naam",
+DlgLnkPopWinFeat	: "Popup Venster Geaartheid",
+DlgLnkPopResize		: "Verstelbare Groote",
+DlgLnkPopLocation	: "Adres Balk",
+DlgLnkPopMenu		: "Menu Balk",
+DlgLnkPopScroll		: "Gleibalkstuk",
+DlgLnkPopStatus		: "Status Balk",
+DlgLnkPopToolbar	: "Gereedskap Balk",
+DlgLnkPopFullScrn	: "Voll Skerm (IE)",
+DlgLnkPopDependent	: "Afhanklik (Netscape)",
+DlgLnkPopWidth		: "Weite",
+DlgLnkPopHeight		: "Hoogde",
+DlgLnkPopLeft		: "Links Posisie",
+DlgLnkPopTop		: "Bo Posisie",
+
+DlnLnkMsgNoUrl		: "Voeg asseblief die URL in",
+DlnLnkMsgNoEMail	: "Voeg asseblief die e-mail adres in",
+DlnLnkMsgNoAnchor	: "Kies asseblief 'n plekhouer",
+DlnLnkMsgInvPopName	: "Die popup naam moet begin met alphabetiese karakters sonder spasies.",
+
+// Color Dialog
+DlgColorTitle		: "Kies Kleur",
+DlgColorBtnClear	: "Maak skoon",
+DlgColorHighlight	: "Highlight",
+DlgColorSelected	: "Geselekteer",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Voeg Smiley by",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Kies spesiale karakter",
+
+// Table Dialog
+DlgTableTitle		: "Tabel eienskappe",
+DlgTableRows		: "Reie",
+DlgTableColumns		: "Kolome",
+DlgTableBorder		: "Kant groote",
+DlgTableAlign		: "Parideering",
+DlgTableAlignNotSet	: "<geen instelling>",
+DlgTableAlignLeft	: "Links",
+DlgTableAlignCenter	: "Middel",
+DlgTableAlignRight	: "Regs",
+DlgTableWidth		: "Weite",
+DlgTableWidthPx		: "pixels",
+DlgTableWidthPc		: "percent",
+DlgTableHeight		: "Hoogde",
+DlgTableCellSpace	: "Cell spasieering",
+DlgTableCellPad		: "Cell buffer",
+DlgTableCaption		: "Beskreiwing",
+DlgTableSummary		: "Opsomming",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "Cell eienskappe",
+DlgCellWidth		: "Weite",
+DlgCellWidthPx		: "pixels",
+DlgCellWidthPc		: "percent",
+DlgCellHeight		: "Hoogde",
+DlgCellWordWrap		: "Woord Wrap",
+DlgCellWordWrapNotSet	: "<geen instelling>",
+DlgCellWordWrapYes	: "Ja",
+DlgCellWordWrapNo	: "Nee",
+DlgCellHorAlign		: "Horisontale rigting",
+DlgCellHorAlignNotSet	: "<geen instelling>",
+DlgCellHorAlignLeft	: "Links",
+DlgCellHorAlignCenter	: "Middel",
+DlgCellHorAlignRight: "Regs",
+DlgCellVerAlign		: "Vertikale rigting",
+DlgCellVerAlignNotSet	: "<geen instelling>",
+DlgCellVerAlignTop	: "Bo",
+DlgCellVerAlignMiddle	: "Middel",
+DlgCellVerAlignBottom	: "Onder",
+DlgCellVerAlignBaseline	: "Baseline",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "Rei strekking",
+DlgCellCollSpan		: "Kolom strekking",
+DlgCellBackColor	: "Agtergrond Kleur",
+DlgCellBorderColor	: "Kant Kleur",
+DlgCellBtnSelect	: "Keuse...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Find and Replace",	//MISSING
+
+// Find Dialog
+DlgFindTitle		: "Vind",
+DlgFindFindBtn		: "Vind",
+DlgFindNotFoundMsg	: "Die gespesifiseerde karakters word nie gevind nie.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Vervang",
+DlgReplaceFindLbl		: "Soek wat:",
+DlgReplaceReplaceLbl	: "Vervang met:",
+DlgReplaceCaseChk		: "Vergelyk karakter skryfweise",
+DlgReplaceReplaceBtn	: "Vervang",
+DlgReplaceReplAllBtn	: "Vervang alles",
+DlgReplaceWordChk		: "Vergelyk komplete woord",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "U browser se sekuriteit instelling behinder die uitsny aksie. Gebruik asseblief die sleutel kombenasie(Ctrl+X).",
+PasteErrorCopy	: "U browser se sekuriteit instelling behinder die kopieerings aksie. Gebruik asseblief die sleutel kombenasie(Ctrl+C).",
+
+PasteAsText		: "Voeg slegs karakters by",
+PasteFromWord	: "Byvoeging uit Word",
+
+DlgPasteMsg2	: "Voeg asseblief die inhoud in die gegewe box by met sleutel kombenasie(<STRONG>Ctrl+V</STRONG>) en druk <STRONG>OK</STRONG>.",
+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
+DlgPasteIgnoreFont		: "Ignoreer karakter soort defenisies",
+DlgPasteRemoveStyles	: "Verweider Styl defenisies",
+
+// Color Picker
+ColorAutomatic	: "Automaties",
+ColorMoreColors	: "Meer Kleure...",
+
+// Document Properties
+DocProps		: "Dokument Eienskappe",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Plekhouer Eienskappe",
+DlgAnchorName		: "Plekhouer Naam",
+DlgAnchorErrorName	: "Voltooi die plekhouer naam asseblief",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Nie in woordeboek nie",
+DlgSpellChangeTo		: "Verander na",
+DlgSpellBtnIgnore		: "Ignoreer",
+DlgSpellBtnIgnoreAll	: "Ignoreer na-volgende",
+DlgSpellBtnReplace		: "Vervang",
+DlgSpellBtnReplaceAll	: "vervang na-volgende",
+DlgSpellBtnUndo			: "Ont-skep",
+DlgSpellNoSuggestions	: "- Geen voorstel -",
+DlgSpellProgress		: "Spelling word beproef...",
+DlgSpellNoMispell		: "Spellproef kompleet: Geen foute",
+DlgSpellNoChanges		: "Spellproef kompleet: Geen woord veranderings",
+DlgSpellOneChange		: "Spellproef kompleet: Een woord verander",
+DlgSpellManyChanges		: "Spellproef kompleet: %1 woorde verander",
+
+IeSpellDownload			: "Geen Spellproefer geinstaleer nie. Wil U dit aflaai?",
+
+// Button Dialog
+DlgButtonText		: "Karakters (Waarde)",
+DlgButtonType		: "Soort",
+DlgButtonTypeBtn	: "Knop",
+DlgButtonTypeSbm	: "Indien",
+DlgButtonTypeRst	: "Reset",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Naam",
+DlgCheckboxValue	: "Waarde",
+DlgCheckboxSelected	: "Uitgekies",
+
+// Form Dialog
+DlgFormName		: "Naam",
+DlgFormAction	: "Aksie",
+DlgFormMethod	: "Metode",
+
+// Select Field Dialog
+DlgSelectName		: "Naam",
+DlgSelectValue		: "Waarde",
+DlgSelectSize		: "Grote",
+DlgSelectLines		: "lyne",
+DlgSelectChkMulti	: "Laat meerere keuses toe",
+DlgSelectOpAvail	: "Beskikbare Opsies",
+DlgSelectOpText		: "Karakters",
+DlgSelectOpValue	: "Waarde",
+DlgSelectBtnAdd		: "Byvoeg",
+DlgSelectBtnModify	: "Verander",
+DlgSelectBtnUp		: "Op",
+DlgSelectBtnDown	: "Af",
+DlgSelectBtnSetValue : "Stel as uitgekiesde waarde",
+DlgSelectBtnDelete	: "Verweider",
+
+// Textarea Dialog
+DlgTextareaName	: "Naam",
+DlgTextareaCols	: "Kolom",
+DlgTextareaRows	: "Reie",
+
+// Text Field Dialog
+DlgTextName			: "Naam",
+DlgTextValue		: "Waarde",
+DlgTextCharWidth	: "Karakter weite",
+DlgTextMaxChars		: "Maximale karakters",
+DlgTextType			: "Soort",
+DlgTextTypeText		: "Karakters",
+DlgTextTypePass		: "Wagwoord",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Naam",
+DlgHiddenValue	: "Waarde",
+
+// Bulleted List Dialog
+BulletedListProp	: "Gepunkte lys eienskappe",
+NumberedListProp	: "Genommerde lys eienskappe",
+DlgLstStart			: "Begin",
+DlgLstType			: "Soort",
+DlgLstTypeCircle	: "Sirkel",
+DlgLstTypeDisc		: "Skyf",
+DlgLstTypeSquare	: "Vierkant",
+DlgLstTypeNumbers	: "Nommer (1, 2, 3)",
+DlgLstTypeLCase		: "Klein Letters (a, b, c)",
+DlgLstTypeUCase		: "Hoof Letters (A, B, C)",
+DlgLstTypeSRoman	: "Klein Romeinse nommers (i, ii, iii)",
+DlgLstTypeLRoman	: "Groot Romeinse nommers (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Algemeen",
+DlgDocBackTab		: "Agtergrond",
+DlgDocColorsTab		: "Kleure en Rante",
+DlgDocMetaTab		: "Meta Data",
+
+DlgDocPageTitle		: "Bladsy Opskrif",
+DlgDocLangDir		: "Taal rigting",
+DlgDocLangDirLTR	: "Link na Regs (LTR)",
+DlgDocLangDirRTL	: "Regs na Links (RTL)",
+DlgDocLangCode		: "Taal Kode",
+DlgDocCharSet		: "Karakterstel Kodeering",
+DlgDocCharSetCE		: "Sentraal Europa",
+DlgDocCharSetCT		: "Chinees Traditioneel (Big5)",
+DlgDocCharSetCR		: "Cyrillic",
+DlgDocCharSetGR		: "Grieks",
+DlgDocCharSetJP		: "Japanees",
+DlgDocCharSetKR		: "Koreans",
+DlgDocCharSetTR		: "Turks",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "Western European",
+DlgDocCharSetOther	: "Ander Karakterstel Kodeering",
+
+DlgDocDocType		: "Dokument Opskrif Soort",
+DlgDocDocTypeOther	: "Ander Dokument Opskrif Soort",
+DlgDocIncXHTML		: "Voeg XHTML verklaring by",
+DlgDocBgColor		: "Agtergrond kleur",
+DlgDocBgImage		: "Agtergrond Beeld URL",
+DlgDocBgNoScroll	: "Vasgeklemde Agtergrond",
+DlgDocCText			: "Karakters",
+DlgDocCLink			: "Skakel",
+DlgDocCVisited		: "Besoekte Skakel",
+DlgDocCActive		: "Aktiewe Skakel",
+DlgDocMargins		: "Bladsy Rante",
+DlgDocMaTop			: "Bo",
+DlgDocMaLeft		: "Links",
+DlgDocMaRight		: "Regs",
+DlgDocMaBottom		: "Onder",
+DlgDocMeIndex		: "Dokument Index Sleutelwoorde(comma verdeelt)",
+DlgDocMeDescr		: "Dokument Beskrywing",
+DlgDocMeAuthor		: "Skrywer",
+DlgDocMeCopy		: "Kopiereg",
+DlgDocPreview		: "Voorskou",
+
+// Templates Dialog
+Templates			: "Templates",
+DlgTemplatesTitle	: "Inhoud Templates",
+DlgTemplatesSelMsg	: "Kies die template om te gebruik in die editor<br>(Inhoud word vervang!):",
+DlgTemplatesLoading	: "Templates word gelaai. U geduld asseblief...",
+DlgTemplatesNoTpl	: "(Geen templates gedefinieerd)",
+DlgTemplatesReplace	: "Vervang bestaande inhoud",
+
+// About Dialog
+DlgAboutAboutTab	: "Meer oor",
+DlgAboutBrowserInfoTab	: "Blaai Informasie deur",
+DlgAboutLicenseTab	: "Lesensie",
+DlgAboutVersion		: "weergawe",
+DlgAboutInfo		: "Vir meer informasie gaan na ",
+
+// Div Dialog
+DlgDivGeneralTab	: "General",	//MISSING
+DlgDivAdvancedTab	: "Advanced",	//MISSING
+DlgDivStyle		: "Style",	//MISSING
+DlgDivInlineStyle	: "Inline Style",	//MISSING
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/fr-ca.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/fr-ca.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/fr-ca.js	(revision 1481)
@@ -0,0 +1,540 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Canadian French language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Masquer Outils",
+ToolbarExpand		: "Afficher Outils",
+
+// Toolbar Items and Context Menu
+Save				: "Sauvegarder",
+NewPage				: "Nouvelle page",
+Preview				: "Previsualiser",
+Cut					: "Couper",
+Copy				: "Copier",
+Paste				: "Coller",
+PasteText			: "Coller en tant que texte",
+PasteWord			: "Coller en tant que Word (formatÃ©)",
+Print				: "Imprimer",
+SelectAll			: "Tout sÃ©lectionner",
+RemoveFormat		: "Supprimer le formatage",
+InsertLinkLbl		: "Lien",
+InsertLink			: "InsÃ©rer/modifier le lien",
+RemoveLink			: "Supprimer le lien",
+VisitLink			: "Suivre le lien",
+Anchor				: "InsÃ©rer/modifier l'ancre",
+AnchorDelete		: "Supprimer l'ancre",
+InsertImageLbl		: "Image",
+InsertImage			: "InsÃ©rer/modifier l'image",
+InsertFlashLbl		: "Animation Flash",
+InsertFlash			: "InsÃ©rer/modifier l'animation Flash",
+InsertTableLbl		: "Tableau",
+InsertTable			: "InsÃ©rer/modifier le tableau",
+InsertLineLbl		: "SÃ©parateur",
+InsertLine			: "InsÃ©rer un sÃ©parateur",
+InsertSpecialCharLbl: "CaractÃ¨res spÃ©ciaux",
+InsertSpecialChar	: "InsÃ©rer un caractÃ¨re spÃ©cial",
+InsertSmileyLbl		: "Emoticon",
+InsertSmiley		: "InsÃ©rer un Emoticon",
+About				: "A propos de FCKeditor",
+Bold				: "Gras",
+Italic				: "Italique",
+Underline			: "SoulignÃ©",
+StrikeThrough		: "Barrer",
+Subscript			: "Indice",
+Superscript			: "Exposant",
+LeftJustify			: "Aligner Ã  gauche",
+CenterJustify		: "Centrer",
+RightJustify		: "Aligner Ã  Droite",
+BlockJustify		: "Texte justifiÃ©",
+DecreaseIndent		: "Diminuer le retrait",
+IncreaseIndent		: "Augmenter le retrait",
+Blockquote			: "Citation",
+CreateDiv			: "CrÃ©er Balise Div",
+EditDiv				: "Modifier Balise Div",
+DeleteDiv			: "Supprimer Balise Div",
+Undo				: "Annuler",
+Redo				: "Refaire",
+NumberedListLbl		: "Liste numÃ©rotÃ©e",
+NumberedList		: "InsÃ©rer/supprimer la liste numÃ©rotÃ©e",
+BulletedListLbl		: "Liste Ã  puces",
+BulletedList		: "InsÃ©rer/supprimer la liste Ã  puces",
+ShowTableBorders	: "Afficher les bordures du tableau",
+ShowDetails			: "Afficher les caractÃ¨res invisibles",
+Style				: "Style",
+FontFormat			: "Format",
+Font				: "Police",
+FontSize			: "Taille",
+TextColor			: "Couleur de caractÃ¨re",
+BGColor				: "Couleur de fond",
+Source				: "Source",
+Find				: "Chercher",
+Replace				: "Remplacer",
+SpellCheck			: "Orthographe",
+UniversalKeyboard	: "Clavier universel",
+PageBreakLbl		: "Saut de page",
+PageBreak			: "InsÃ©rer un saut de page",
+
+Form			: "Formulaire",
+Checkbox		: "Case Ã  cocher",
+RadioButton		: "Bouton radio",
+TextField		: "Champ texte",
+Textarea		: "Zone de texte",
+HiddenField		: "Champ cachÃ©",
+Button			: "Bouton",
+SelectionField	: "Champ de sÃ©lection",
+ImageButton		: "Bouton image",
+
+FitWindow		: "Edition pleine page",
+ShowBlocks		: "Afficher les blocs",
+
+// Context Menu
+EditLink			: "Modifier le lien",
+CellCM				: "Cellule",
+RowCM				: "Ligne",
+ColumnCM			: "Colonne",
+InsertRowAfter		: "InsÃ©rer une ligne aprÃ¨s",
+InsertRowBefore		: "InsÃ©rer une ligne avant",
+DeleteRows			: "Supprimer des lignes",
+InsertColumnAfter	: "InsÃ©rer une colonne aprÃ¨s",
+InsertColumnBefore	: "InsÃ©rer une colonne avant",
+DeleteColumns		: "Supprimer des colonnes",
+InsertCellAfter		: "InsÃ©rer une cellule aprÃ¨s",
+InsertCellBefore	: "InsÃ©rer une cellule avant",
+DeleteCells			: "Supprimer des cellules",
+MergeCells			: "Fusionner les cellules",
+MergeRight			: "Fusionner Ã  droite",
+MergeDown			: "Fusionner en bas",
+HorizontalSplitCell	: "Scinder la cellule horizontalement",
+VerticalSplitCell	: "Scinder la cellule verticalement",
+TableDelete			: "Supprimer le tableau",
+CellProperties		: "PropriÃ©tÃ©s de cellule",
+TableProperties		: "PropriÃ©tÃ©s du tableau",
+ImageProperties		: "PropriÃ©tÃ©s de l'image",
+FlashProperties		: "PropriÃ©tÃ©s de l'animation Flash",
+
+AnchorProp			: "PropriÃ©tÃ©s de l'ancre",
+ButtonProp			: "PropriÃ©tÃ©s du bouton",
+CheckboxProp		: "PropriÃ©tÃ©s de la case Ã  cocher",
+HiddenFieldProp		: "PropriÃ©tÃ©s du champ cachÃ©",
+RadioButtonProp		: "PropriÃ©tÃ©s du bouton radio",
+ImageButtonProp		: "PropriÃ©tÃ©s du bouton image",
+TextFieldProp		: "PropriÃ©tÃ©s du champ texte",
+SelectionFieldProp	: "PropriÃ©tÃ©s de la liste/du menu",
+TextareaProp		: "PropriÃ©tÃ©s de la zone de texte",
+FormProp			: "PropriÃ©tÃ©s du formulaire",
+
+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)",
+
+// Alerts and Messages
+ProcessingXHTML		: "Calcul XHTML. Veuillez patienter...",
+Done				: "TerminÃ©",
+PasteWordConfirm	: "Le texte Ã  coller semble provenir de Word. DÃ©sirez-vous le nettoyer avant de coller?",
+NotCompatiblePaste	: "Cette commande nÃ©cessite Internet Explorer version 5.5 et plus. Souhaitez-vous coller sans nettoyage?",
+UnknownToolbarItem	: "Ã‰lÃ©ment de barre d'outil inconnu \"%1\"",
+UnknownCommand		: "Nom de commande inconnu \"%1\"",
+NotImplemented		: "Commande indisponible",
+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.",
+BrowseServerBlocked : "Le navigateur n'a pas pu Ãªtre ouvert. Assurez-vous que les bloqueurs de popups soient dÃ©sactivÃ©s.",
+DialogBlocked		: "La fenÃªtre de dialogue n'a pas pu s'ouvrir. Assurez-vous que les bloqueurs de popups soient dÃ©sactivÃ©s.",
+VisitLinkBlocked	: "It was not possible to open a new window. Make sure all popup blockers are disabled.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Annuler",
+DlgBtnClose			: "Fermer",
+DlgBtnBrowseServer	: "Parcourir le serveur",
+DlgAdvancedTag		: "AvancÃ©e",
+DlgOpOther			: "<autre>",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "Veuillez saisir l'URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<Par dÃ©faut>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Sens d'Ã©criture",
+DlgGenLangDirLtr	: "De gauche Ã  droite (LTR)",
+DlgGenLangDirRtl	: "De droite Ã  gauche (RTL)",
+DlgGenLangCode		: "Code langue",
+DlgGenAccessKey		: "Ã‰quivalent clavier",
+DlgGenName			: "Nom",
+DlgGenTabIndex		: "Ordre de tabulation",
+DlgGenLongDescr		: "URL de description longue",
+DlgGenClass			: "Classes de feuilles de style",
+DlgGenTitle			: "Titre",
+DlgGenContType		: "Type de contenu",
+DlgGenLinkCharset	: "Encodage de caractÃ¨re",
+DlgGenStyle			: "Style",
+
+// Image Dialog
+DlgImgTitle			: "PropriÃ©tÃ©s de l'image",
+DlgImgInfoTab		: "Informations sur l'image",
+DlgImgBtnUpload		: "Envoyer sur le serveur",
+DlgImgURL			: "URL",
+DlgImgUpload		: "TÃ©lÃ©charger",
+DlgImgAlt			: "Texte de remplacement",
+DlgImgWidth			: "Largeur",
+DlgImgHeight		: "Hauteur",
+DlgImgLockRatio		: "Garder les proportions",
+DlgBtnResetSize		: "Taille originale",
+DlgImgBorder		: "Bordure",
+DlgImgHSpace		: "Espacement horizontal",
+DlgImgVSpace		: "Espacement vertical",
+DlgImgAlign			: "Alignement",
+DlgImgAlignLeft		: "Gauche",
+DlgImgAlignAbsBottom: "Abs Bas",
+DlgImgAlignAbsMiddle: "Abs Milieu",
+DlgImgAlignBaseline	: "Bas du texte",
+DlgImgAlignBottom	: "Bas",
+DlgImgAlignMiddle	: "Milieu",
+DlgImgAlignRight	: "Droite",
+DlgImgAlignTextTop	: "Haut du texte",
+DlgImgAlignTop		: "Haut",
+DlgImgPreview		: "PrÃ©visualisation",
+DlgImgAlertUrl		: "Veuillez saisir l'URL de l'image",
+DlgImgLinkTab		: "Lien",
+
+// Flash Dialog
+DlgFlashTitle		: "PropriÃ©tÃ©s de l'animation Flash",
+DlgFlashChkPlay		: "Lecture automatique",
+DlgFlashChkLoop		: "Boucle",
+DlgFlashChkMenu		: "Activer le menu Flash",
+DlgFlashScale		: "Affichage",
+DlgFlashScaleAll	: "Par dÃ©faut (tout montrer)",
+DlgFlashScaleNoBorder	: "Sans bordure",
+DlgFlashScaleFit	: "Ajuster aux dimensions",
+
+// Link Dialog
+DlgLnkWindowTitle	: "PropriÃ©tÃ©s du lien",
+DlgLnkInfoTab		: "Informations sur le lien",
+DlgLnkTargetTab		: "Destination",
+
+DlgLnkType			: "Type de lien",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Ancre dans cette page",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protocole",
+DlgLnkProtoOther	: "<autre>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "SÃ©lectionner une ancre",
+DlgLnkAnchorByName	: "Par nom",
+DlgLnkAnchorById	: "Par id",
+DlgLnkNoAnchors		: "(Pas d'ancre disponible dans le document)",
+DlgLnkEMail			: "Adresse E-Mail",
+DlgLnkEMailSubject	: "Sujet du message",
+DlgLnkEMailBody		: "Corps du message",
+DlgLnkUpload		: "TÃ©lÃ©charger",
+DlgLnkBtnUpload		: "Envoyer sur le serveur",
+
+DlgLnkTarget		: "Destination",
+DlgLnkTargetFrame	: "<Cadre>",
+DlgLnkTargetPopup	: "<fenÃªtre popup>",
+DlgLnkTargetBlank	: "Nouvelle fenÃªtre (_blank)",
+DlgLnkTargetParent	: "FenÃªtre mÃ¨re (_parent)",
+DlgLnkTargetSelf	: "MÃªme fenÃªtre (_self)",
+DlgLnkTargetTop		: "FenÃªtre supÃ©rieure (_top)",
+DlgLnkTargetFrameName	: "Nom du cadre de destination",
+DlgLnkPopWinName	: "Nom de la fenÃªtre popup",
+DlgLnkPopWinFeat	: "CaractÃ©ristiques de la fenÃªtre popup",
+DlgLnkPopResize		: "Taille modifiable",
+DlgLnkPopLocation	: "Barre d'adresses",
+DlgLnkPopMenu		: "Barre de menu",
+DlgLnkPopScroll		: "Barres de dÃ©filement",
+DlgLnkPopStatus		: "Barre d'Ã©tat",
+DlgLnkPopToolbar	: "Barre d'outils",
+DlgLnkPopFullScrn	: "Plein Ã©cran (IE)",
+DlgLnkPopDependent	: "DÃ©pendante (Netscape)",
+DlgLnkPopWidth		: "Largeur",
+DlgLnkPopHeight		: "Hauteur",
+DlgLnkPopLeft		: "Position Ã  partir de la gauche",
+DlgLnkPopTop		: "Position Ã  partir du haut",
+
+DlnLnkMsgNoUrl		: "Veuillez saisir l'URL",
+DlnLnkMsgNoEMail	: "Veuillez saisir l'adresse e-mail",
+DlnLnkMsgNoAnchor	: "Veuillez sÃ©lectionner une ancre",
+DlnLnkMsgInvPopName	: "Le nom de la fenÃªtre popup doit commencer par une lettre et ne doit pas contenir d'espace",
+
+// Color Dialog
+DlgColorTitle		: "SÃ©lectionner",
+DlgColorBtnClear	: "Effacer",
+DlgColorHighlight	: "PrÃ©visualisation",
+DlgColorSelected	: "SÃ©lectionnÃ©",
+
+// Smiley Dialog
+DlgSmileyTitle		: "InsÃ©rer un Emoticon",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "InsÃ©rer un caractÃ¨re spÃ©cial",
+
+// Table Dialog
+DlgTableTitle		: "PropriÃ©tÃ©s du tableau",
+DlgTableRows		: "Lignes",
+DlgTableColumns		: "Colonnes",
+DlgTableBorder		: "Taille de la bordure",
+DlgTableAlign		: "Alignement",
+DlgTableAlignNotSet	: "<Par dÃ©faut>",
+DlgTableAlignLeft	: "Gauche",
+DlgTableAlignCenter	: "CentrÃ©",
+DlgTableAlignRight	: "Droite",
+DlgTableWidth		: "Largeur",
+DlgTableWidthPx		: "pixels",
+DlgTableWidthPc		: "pourcentage",
+DlgTableHeight		: "Hauteur",
+DlgTableCellSpace	: "Espacement",
+DlgTableCellPad		: "Contour",
+DlgTableCaption		: "Titre",
+DlgTableSummary		: "RÃ©sumÃ©",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "PropriÃ©tÃ©s de la cellule",
+DlgCellWidth		: "Largeur",
+DlgCellWidthPx		: "pixels",
+DlgCellWidthPc		: "pourcentage",
+DlgCellHeight		: "Hauteur",
+DlgCellWordWrap		: "Retour Ã  la ligne",
+DlgCellWordWrapNotSet	: "<Par dÃ©faut>",
+DlgCellWordWrapYes	: "Oui",
+DlgCellWordWrapNo	: "Non",
+DlgCellHorAlign		: "Alignement horizontal",
+DlgCellHorAlignNotSet	: "<Par dÃ©faut>",
+DlgCellHorAlignLeft	: "Gauche",
+DlgCellHorAlignCenter	: "CentrÃ©",
+DlgCellHorAlignRight: "Droite",
+DlgCellVerAlign		: "Alignement vertical",
+DlgCellVerAlignNotSet	: "<Par dÃ©faut>",
+DlgCellVerAlignTop	: "Haut",
+DlgCellVerAlignMiddle	: "Milieu",
+DlgCellVerAlignBottom	: "Bas",
+DlgCellVerAlignBaseline	: "Bas du texte",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "Lignes fusionnÃ©es",
+DlgCellCollSpan		: "Colonnes fusionnÃ©es",
+DlgCellBackColor	: "Couleur de fond",
+DlgCellBorderColor	: "Couleur de bordure",
+DlgCellBtnSelect	: "SÃ©lectionner...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Chercher et Remplacer",
+
+// Find Dialog
+DlgFindTitle		: "Chercher",
+DlgFindFindBtn		: "Chercher",
+DlgFindNotFoundMsg	: "Le texte indiquÃ© est introuvable.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Remplacer",
+DlgReplaceFindLbl		: "Rechercher:",
+DlgReplaceReplaceLbl	: "Remplacer par:",
+DlgReplaceCaseChk		: "Respecter la casse",
+DlgReplaceReplaceBtn	: "Remplacer",
+DlgReplaceReplAllBtn	: "Tout remplacer",
+DlgReplaceWordChk		: "Mot entier",
+
+// Paste Operations / Dialog
+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).",
+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).",
+
+PasteAsText		: "Coller comme texte",
+PasteFromWord	: "Coller Ã  partir de Word",
+
+DlgPasteMsg2	: "Veuillez coller dans la zone ci-dessous en utilisant le clavier (<STRONG>Ctrl+V</STRONG>) et appuyer sur <STRONG>OK</STRONG>.",
+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.",
+DlgPasteIgnoreFont		: "Ignorer les polices de caractÃ¨res",
+DlgPasteRemoveStyles	: "Supprimer les styles",
+
+// Color Picker
+ColorAutomatic	: "Automatique",
+ColorMoreColors	: "Plus de couleurs...",
+
+// Document Properties
+DocProps		: "PropriÃ©tÃ©s du document",
+
+// Anchor Dialog
+DlgAnchorTitle		: "PropriÃ©tÃ©s de l'ancre",
+DlgAnchorName		: "Nom de l'ancre",
+DlgAnchorErrorName	: "Veuillez saisir le nom de l'ancre",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Pas dans le dictionnaire",
+DlgSpellChangeTo		: "Changer en",
+DlgSpellBtnIgnore		: "Ignorer",
+DlgSpellBtnIgnoreAll	: "Ignorer tout",
+DlgSpellBtnReplace		: "Remplacer",
+DlgSpellBtnReplaceAll	: "Remplacer tout",
+DlgSpellBtnUndo			: "Annuler",
+DlgSpellNoSuggestions	: "- Pas de suggestion -",
+DlgSpellProgress		: "VÃ©rification d'orthographe en cours...",
+DlgSpellNoMispell		: "VÃ©rification d'orthographe terminÃ©e: pas d'erreur trouvÃ©e",
+DlgSpellNoChanges		: "VÃ©rification d'orthographe terminÃ©e: Pas de modifications",
+DlgSpellOneChange		: "VÃ©rification d'orthographe terminÃ©e: Un mot modifiÃ©",
+DlgSpellManyChanges		: "VÃ©rification d'orthographe terminÃ©e: %1 mots modifiÃ©s",
+
+IeSpellDownload			: "Le Correcteur d'orthographe n'est pas installÃ©. Souhaitez-vous le tÃ©lÃ©charger maintenant?",
+
+// Button Dialog
+DlgButtonText		: "Texte (Valeur)",
+DlgButtonType		: "Type",
+DlgButtonTypeBtn	: "Bouton",
+DlgButtonTypeSbm	: "Soumettre",
+DlgButtonTypeRst	: "RÃ©initialiser",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Nom",
+DlgCheckboxValue	: "Valeur",
+DlgCheckboxSelected	: "SÃ©lectionnÃ©",
+
+// Form Dialog
+DlgFormName		: "Nom",
+DlgFormAction	: "Action",
+DlgFormMethod	: "MÃ©thode",
+
+// Select Field Dialog
+DlgSelectName		: "Nom",
+DlgSelectValue		: "Valeur",
+DlgSelectSize		: "Taille",
+DlgSelectLines		: "lignes",
+DlgSelectChkMulti	: "SÃ©lection multiple",
+DlgSelectOpAvail	: "Options disponibles",
+DlgSelectOpText		: "Texte",
+DlgSelectOpValue	: "Valeur",
+DlgSelectBtnAdd		: "Ajouter",
+DlgSelectBtnModify	: "Modifier",
+DlgSelectBtnUp		: "Monter",
+DlgSelectBtnDown	: "Descendre",
+DlgSelectBtnSetValue : "Valeur sÃ©lectionnÃ©e",
+DlgSelectBtnDelete	: "Supprimer",
+
+// Textarea Dialog
+DlgTextareaName	: "Nom",
+DlgTextareaCols	: "Colonnes",
+DlgTextareaRows	: "Lignes",
+
+// Text Field Dialog
+DlgTextName			: "Nom",
+DlgTextValue		: "Valeur",
+DlgTextCharWidth	: "Largeur en caractÃ¨res",
+DlgTextMaxChars		: "Nombre maximum de caractÃ¨res",
+DlgTextType			: "Type",
+DlgTextTypeText		: "Texte",
+DlgTextTypePass		: "Mot de passe",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Nom",
+DlgHiddenValue	: "Valeur",
+
+// Bulleted List Dialog
+BulletedListProp	: "PropriÃ©tÃ©s de liste Ã  puces",
+NumberedListProp	: "PropriÃ©tÃ©s de liste numÃ©rotÃ©e",
+DlgLstStart			: "DÃ©but",
+DlgLstType			: "Type",
+DlgLstTypeCircle	: "Cercle",
+DlgLstTypeDisc		: "Disque",
+DlgLstTypeSquare	: "CarrÃ©",
+DlgLstTypeNumbers	: "Nombres (1, 2, 3)",
+DlgLstTypeLCase		: "Lettres minuscules (a, b, c)",
+DlgLstTypeUCase		: "Lettres majuscules (A, B, C)",
+DlgLstTypeSRoman	: "Chiffres romains minuscules (i, ii, iii)",
+DlgLstTypeLRoman	: "Chiffres romains majuscules (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "GÃ©nÃ©ral",
+DlgDocBackTab		: "Fond",
+DlgDocColorsTab		: "Couleurs et Marges",
+DlgDocMetaTab		: "MÃ©ta-DonnÃ©es",
+
+DlgDocPageTitle		: "Titre de la page",
+DlgDocLangDir		: "Sens d'Ã©criture",
+DlgDocLangDirLTR	: "De la gauche vers la droite (LTR)",
+DlgDocLangDirRTL	: "De la droite vers la gauche (RTL)",
+DlgDocLangCode		: "Code langue",
+DlgDocCharSet		: "Encodage de caractÃ¨re",
+DlgDocCharSetCE		: "Europe Centrale",
+DlgDocCharSetCT		: "Chinois Traditionnel (Big5)",
+DlgDocCharSetCR		: "Cyrillique",
+DlgDocCharSetGR		: "Grecque",
+DlgDocCharSetJP		: "Japonais",
+DlgDocCharSetKR		: "CorÃ©en",
+DlgDocCharSetTR		: "Turcque",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "Occidental",
+DlgDocCharSetOther	: "Autre encodage de caractÃ¨re",
+
+DlgDocDocType		: "Type de document",
+DlgDocDocTypeOther	: "Autre type de document",
+DlgDocIncXHTML		: "Inclure les dÃ©clarations XHTML",
+DlgDocBgColor		: "Couleur de fond",
+DlgDocBgImage		: "Image de fond",
+DlgDocBgNoScroll	: "Image fixe sans dÃ©filement",
+DlgDocCText			: "Texte",
+DlgDocCLink			: "Lien",
+DlgDocCVisited		: "Lien visitÃ©",
+DlgDocCActive		: "Lien activÃ©",
+DlgDocMargins		: "Marges",
+DlgDocMaTop			: "Haut",
+DlgDocMaLeft		: "Gauche",
+DlgDocMaRight		: "Droite",
+DlgDocMaBottom		: "Bas",
+DlgDocMeIndex		: "Mots-clÃ©s (sÃ©parÃ©s par des virgules)",
+DlgDocMeDescr		: "Description",
+DlgDocMeAuthor		: "Auteur",
+DlgDocMeCopy		: "Copyright",
+DlgDocPreview		: "PrÃ©visualisation",
+
+// Templates Dialog
+Templates			: "ModÃ¨les",
+DlgTemplatesTitle	: "ModÃ¨les de contenu",
+DlgTemplatesSelMsg	: "SÃ©lectionner le modÃ¨le Ã  ouvrir dans l'Ã©diteur<br>(le contenu actuel sera remplacÃ©):",
+DlgTemplatesLoading	: "Chargement de la liste des modÃ¨les. Veuillez patienter...",
+DlgTemplatesNoTpl	: "(Aucun modÃ¨le disponible)",
+DlgTemplatesReplace	: "Remplacer tout le contenu actuel",
+
+// About Dialog
+DlgAboutAboutTab	: "Ã propos de",
+DlgAboutBrowserInfoTab	: "Navigateur",
+DlgAboutLicenseTab	: "License",
+DlgAboutVersion		: "Version",
+DlgAboutInfo		: "Pour plus d'informations, visiter",
+DlgAboutModule		: "Developed for Website Baker<br />modul version 2.9.4",
+
+// Div Dialog
+DlgDivGeneralTab	: "GÃ©nÃ©ral",
+DlgDivAdvancedTab	: "AvancÃ©",
+DlgDivStyle		: "Style",
+DlgDivInlineStyle	: "Attribut Style",
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/nb.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/nb.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/nb.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Norwegian BokmÃ¥l language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Skjul verktÃ¸ylinje",
+ToolbarExpand		: "Vis verktÃ¸ylinje",
+
+// Toolbar Items and Context Menu
+Save				: "Lagre",
+NewPage				: "Ny Side",
+Preview				: "ForhÃ¥ndsvis",
+Cut					: "Klipp ut",
+Copy				: "Kopier",
+Paste				: "Lim inn",
+PasteText			: "Lim inn som ren tekst",
+PasteWord			: "Lim inn fra Word",
+Print				: "Skriv ut",
+SelectAll			: "Merk alt",
+RemoveFormat		: "Fjern format",
+InsertLinkLbl		: "Lenke",
+InsertLink			: "Sett inn/Rediger lenke",
+RemoveLink			: "Fjern lenke",
+VisitLink			: "Ã…pne lenke",
+Anchor				: "Sett inn/Rediger anker",
+AnchorDelete		: "Fjern anker",
+InsertImageLbl		: "Bilde",
+InsertImage			: "Sett inn/Rediger bilde",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Sett inn/Rediger Flash",
+InsertTableLbl		: "Tabell",
+InsertTable			: "Sett inn/Rediger tabell",
+InsertLineLbl		: "Linje",
+InsertLine			: "Sett inn horisontal linje",
+InsertSpecialCharLbl: "Spesielt tegn",
+InsertSpecialChar	: "Sett inn spesielt tegn",
+InsertSmileyLbl		: "Smil",
+InsertSmiley		: "Sett inn smil",
+About				: "Om FCKeditor",
+Bold				: "Fet",
+Italic				: "Kursiv",
+Underline			: "Understrek",
+StrikeThrough		: "Gjennomstrek",
+Subscript			: "Senket skrift",
+Superscript			: "Hevet skrift",
+LeftJustify			: "Venstrejuster",
+CenterJustify		: "Midtjuster",
+RightJustify		: "HÃ¸yrejuster",
+BlockJustify		: "Blokkjuster",
+DecreaseIndent		: "Senk nivÃ¥",
+IncreaseIndent		: "Ã˜k nivÃ¥",
+Blockquote			: "Blockquote",	//MISSING
+CreateDiv			: "Create Div Container",	//MISSING
+EditDiv				: "Edit Div Container",	//MISSING
+DeleteDiv			: "Remove Div Container",	//MISSING
+Undo				: "Angre",
+Redo				: "GjÃ¸r om",
+NumberedListLbl		: "Nummerert liste",
+NumberedList		: "Sett inn/Fjern nummerert liste",
+BulletedListLbl		: "Uordnet liste",
+BulletedList		: "Sett inn/Fjern uordnet liste",
+ShowTableBorders	: "Vis tabellrammer",
+ShowDetails			: "Vis detaljer",
+Style				: "Stil",
+FontFormat			: "Format",
+Font				: "Skrift",
+FontSize			: "StÃ¸rrelse",
+TextColor			: "Tekstfarge",
+BGColor				: "Bakgrunnsfarge",
+Source				: "Kilde",
+Find				: "SÃ¸k",
+Replace				: "Erstatt",
+SpellCheck			: "Stavekontroll",
+UniversalKeyboard	: "Universelt tastatur",
+PageBreakLbl		: "Sideskift",
+PageBreak			: "Sett inn sideskift",
+
+Form			: "Skjema",
+Checkbox		: "Avmerkingsboks",
+RadioButton		: "Alternativknapp",
+TextField		: "Tekstboks",
+Textarea		: "TekstomrÃ¥de",
+HiddenField		: "Skjult felt",
+Button			: "Knapp",
+SelectionField	: "Rullegardinliste",
+ImageButton		: "Bildeknapp",
+
+FitWindow		: "Maksimer stÃ¸rrelsen pÃ¥ redigeringsverktÃ¸yet",
+ShowBlocks		: "Show Blocks",	//MISSING
+
+// Context Menu
+EditLink			: "Rediger lenke",
+CellCM				: "Celle",
+RowCM				: "Rader",
+ColumnCM			: "Kolonne",
+InsertRowAfter		: "Sett inn rad etter",
+InsertRowBefore		: "Sett inn rad fÃ¸r",
+DeleteRows			: "Slett rader",
+InsertColumnAfter	: "Sett inn kolonne etter",
+InsertColumnBefore	: "Sett inn kolonne fÃ¸r",
+DeleteColumns		: "Slett kolonner",
+InsertCellAfter		: "Sett inn celle etter",
+InsertCellBefore	: "Sett inn celle fÃ¸r",
+DeleteCells			: "Slett celler",
+MergeCells			: "SlÃ¥ sammen celler",
+MergeRight			: "SlÃ¥ sammen hÃ¸yre",
+MergeDown			: "SlÃ¥ sammen ned",
+HorizontalSplitCell	: "Del celle horisontalt",
+VerticalSplitCell	: "Del celle vertikalt",
+TableDelete			: "Slett tabell",
+CellProperties		: "Egenskaper for celle",
+TableProperties		: "Egenskaper for tabell",
+ImageProperties		: "Egenskaper for bilde",
+FlashProperties		: "Egenskaper for Flash-objekt",
+
+AnchorProp			: "Egenskaper for anker",
+ButtonProp			: "Egenskaper for knapp",
+CheckboxProp		: "Egenskaper for avmerkingsboks",
+HiddenFieldProp		: "Egenskaper for skjult felt",
+RadioButtonProp		: "Egenskaper for alternativknapp",
+ImageButtonProp		: "Egenskaper for bildeknapp",
+TextFieldProp		: "Egenskaper for tekstfelt",
+SelectionFieldProp	: "Egenskaper for rullegardinliste",
+TextareaProp		: "Egenskaper for tekstomrÃ¥de",
+FormProp			: "Egenskaper for skjema",
+
+FontFormats			: "Normal;Formatert;Adresse;Tittel 1;Tittel 2;Tittel 3;Tittel 4;Tittel 5;Tittel 6;Normal (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "Lager XHTML. Vennligst vent...",
+Done				: "Ferdig",
+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?",
+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)",
+UnknownToolbarItem	: "Ukjent menyvalg \"%1\"",
+UnknownCommand		: "Ukjent kommando \"%1\"",
+NotImplemented		: "Kommando ikke implimentert",
+UnknownToolbarSet	: "VerktÃ¸ylinjesett \"%1\" finnes ikke",
+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",
+BrowseServerBlocked : "Kunne ikke Ã¥pne dialogboksen for filarkiv. Sjekk at popup-blokkering er deaktivert.",
+DialogBlocked		: "Kunne ikke Ã¥pne dialogboksen. Sjekk at popup-blokkering er deaktivert.",
+VisitLinkBlocked	: "Kunne ikke Ã¥pne et nytt vindu. Sjekk at popup-blokkering er deaktivert.",
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Avbryt",
+DlgBtnClose			: "Lukk",
+DlgBtnBrowseServer	: "Bla igjennom server",
+DlgAdvancedTag		: "Avansert",
+DlgOpOther			: "<Annet>",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "Vennligst skriv inn URL-en",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<ikke satt>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "SprÃ¥kretning",
+DlgGenLangDirLtr	: "Venstre til hÃ¸yre (VTH)",
+DlgGenLangDirRtl	: "HÃ¸yre til venstre (HTV)",
+DlgGenLangCode		: "SprÃ¥kkode",
+DlgGenAccessKey		: "Aksessknapp",
+DlgGenName			: "Navn",
+DlgGenTabIndex		: "Tab Indeks",
+DlgGenLongDescr		: "Utvidet beskrivelse",
+DlgGenClass			: "Stilarkklasser",
+DlgGenTitle			: "Tittel",
+DlgGenContType		: "Type",
+DlgGenLinkCharset	: "Lenket sprÃ¥kkart",
+DlgGenStyle			: "Stil",
+
+// Image Dialog
+DlgImgTitle			: "Bildeegenskaper",
+DlgImgInfoTab		: "Bildeinformasjon",
+DlgImgBtnUpload		: "Send det til serveren",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Last opp",
+DlgImgAlt			: "Alternativ tekst",
+DlgImgWidth			: "Bredde",
+DlgImgHeight		: "HÃ¸yde",
+DlgImgLockRatio		: "LÃ¥s forhold",
+DlgBtnResetSize		: "Tilbakestill stÃ¸rrelse",
+DlgImgBorder		: "Ramme",
+DlgImgHSpace		: "HMarg",
+DlgImgVSpace		: "VMarg",
+DlgImgAlign			: "Juster",
+DlgImgAlignLeft		: "Venstre",
+DlgImgAlignAbsBottom: "Abs bunn",
+DlgImgAlignAbsMiddle: "Abs midten",
+DlgImgAlignBaseline	: "Bunnlinje",
+DlgImgAlignBottom	: "Bunn",
+DlgImgAlignMiddle	: "Midten",
+DlgImgAlignRight	: "HÃ¸yre",
+DlgImgAlignTextTop	: "Tekst topp",
+DlgImgAlignTop		: "Topp",
+DlgImgPreview		: "ForhÃ¥ndsvis",
+DlgImgAlertUrl		: "Vennligst skriv bilde-urlen",
+DlgImgLinkTab		: "Lenke",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash-egenskaper",
+DlgFlashChkPlay		: "Autospill",
+DlgFlashChkLoop		: "Loop",
+DlgFlashChkMenu		: "SlÃ¥ pÃ¥ Flash-meny",
+DlgFlashScale		: "Skaler",
+DlgFlashScaleAll	: "Vis alt",
+DlgFlashScaleNoBorder	: "Ingen ramme",
+DlgFlashScaleFit	: "Skaler til Ã¥ passe",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Lenke",
+DlgLnkInfoTab		: "Lenkeinfo",
+DlgLnkTargetTab		: "MÃ¥l",
+
+DlgLnkType			: "Lenketype",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Lenke til anker i teksten",
+DlgLnkTypeEMail		: "E-post",
+DlgLnkProto			: "Protokoll",
+DlgLnkProtoOther	: "<annet>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Velg et anker",
+DlgLnkAnchorByName	: "Anker etter navn",
+DlgLnkAnchorById	: "Element etter ID",
+DlgLnkNoAnchors		: "(Ingen anker i dokumentet)",
+DlgLnkEMail			: "E-postadresse",
+DlgLnkEMailSubject	: "Meldingsemne",
+DlgLnkEMailBody		: "Melding",
+DlgLnkUpload		: "Last opp",
+DlgLnkBtnUpload		: "Send til server",
+
+DlgLnkTarget		: "MÃ¥l",
+DlgLnkTargetFrame	: "<ramme>",
+DlgLnkTargetPopup	: "<popup vindu>",
+DlgLnkTargetBlank	: "Nytt vindu (_blank)",
+DlgLnkTargetParent	: "Foreldrevindu (_parent)",
+DlgLnkTargetSelf	: "Samme vindu (_self)",
+DlgLnkTargetTop		: "Hele vindu (_top)",
+DlgLnkTargetFrameName	: "MÃ¥lramme",
+DlgLnkPopWinName	: "Navn pÃ¥ popup-vindus",
+DlgLnkPopWinFeat	: "Egenskaper for popup-vindu",
+DlgLnkPopResize		: "Endre stÃ¸rrelse",
+DlgLnkPopLocation	: "Adresselinje",
+DlgLnkPopMenu		: "Menylinje",
+DlgLnkPopScroll		: "Scrollbar",
+DlgLnkPopStatus		: "Statuslinje",
+DlgLnkPopToolbar	: "VerktÃ¸ylinje",
+DlgLnkPopFullScrn	: "Full skjerm (IE)",
+DlgLnkPopDependent	: "Avhenging (Netscape)",
+DlgLnkPopWidth		: "Bredde",
+DlgLnkPopHeight		: "HÃ¸yde",
+DlgLnkPopLeft		: "Venstre posisjon",
+DlgLnkPopTop		: "Topp-posisjon",
+
+DlnLnkMsgNoUrl		: "Vennligst skriv inn lenkens url",
+DlnLnkMsgNoEMail	: "Vennligst skriv inn e-postadressen",
+DlnLnkMsgNoAnchor	: "Vennligst velg et anker",
+DlnLnkMsgInvPopName	: "Popup-vinduets navn mÃ¥ begynne med en bokstav, og kan ikke inneholde mellomrom",
+
+// Color Dialog
+DlgColorTitle		: "Velg farge",
+DlgColorBtnClear	: "TÃ¸m",
+DlgColorHighlight	: "Marker",
+DlgColorSelected	: "Valgt",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Sett inn smil",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Velg spesielt tegn",
+
+// Table Dialog
+DlgTableTitle		: "Egenskaper for tabell",
+DlgTableRows		: "Rader",
+DlgTableColumns		: "Kolonner",
+DlgTableBorder		: "RammestÃ¸rrelse",
+DlgTableAlign		: "Justering",
+DlgTableAlignNotSet	: "<Ikke satt>",
+DlgTableAlignLeft	: "Venstre",
+DlgTableAlignCenter	: "Midtjuster",
+DlgTableAlignRight	: "HÃ¸yre",
+DlgTableWidth		: "Bredde",
+DlgTableWidthPx		: "piksler",
+DlgTableWidthPc		: "prosent",
+DlgTableHeight		: "HÃ¸yde",
+DlgTableCellSpace	: "Cellemarg",
+DlgTableCellPad		: "Cellepolstring",
+DlgTableCaption		: "Tittel",
+DlgTableSummary		: "Sammendrag",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "Celleegenskaper",
+DlgCellWidth		: "Bredde",
+DlgCellWidthPx		: "piksler",
+DlgCellWidthPc		: "prosent",
+DlgCellHeight		: "HÃ¸yde",
+DlgCellWordWrap		: "Tekstbrytning",
+DlgCellWordWrapNotSet	: "<Ikke satt>",
+DlgCellWordWrapYes	: "Ja",
+DlgCellWordWrapNo	: "Nei",
+DlgCellHorAlign		: "Horisontal justering",
+DlgCellHorAlignNotSet	: "<Ikke satt>",
+DlgCellHorAlignLeft	: "Venstre",
+DlgCellHorAlignCenter	: "Midtjuster",
+DlgCellHorAlignRight: "HÃ¸yre",
+DlgCellVerAlign		: "Vertikal justering",
+DlgCellVerAlignNotSet	: "<Ikke satt>",
+DlgCellVerAlignTop	: "Topp",
+DlgCellVerAlignMiddle	: "Midten",
+DlgCellVerAlignBottom	: "Bunn",
+DlgCellVerAlignBaseline	: "Bunnlinje",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "Radspenn",
+DlgCellCollSpan		: "Kolonnespenn",
+DlgCellBackColor	: "Bakgrunnsfarge",
+DlgCellBorderColor	: "Rammefarge",
+DlgCellBtnSelect	: "Velg...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "SÃ¸k og erstatt",
+
+// Find Dialog
+DlgFindTitle		: "SÃ¸k",
+DlgFindFindBtn		: "SÃ¸k",
+DlgFindNotFoundMsg	: "Fant ikke sÃ¸keteksten.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Erstatt",
+DlgReplaceFindLbl		: "SÃ¸k etter:",
+DlgReplaceReplaceLbl	: "Erstatt med:",
+DlgReplaceCaseChk		: "Skill mellom store og smÃ¥ bokstaver",
+DlgReplaceReplaceBtn	: "Erstatt",
+DlgReplaceReplAllBtn	: "Erstatt alle",
+DlgReplaceWordChk		: "Bare hele ord",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "Din nettlesers sikkerhetsinstillinger tillater ikke automatisk klipping av tekst. Vennligst bruk snareveien (Ctrl+X).",
+PasteErrorCopy	: "Din nettlesers sikkerhetsinstillinger tillater ikke automatisk kopiering av tekst. Vennligst bruk snareveien (Ctrl+C).",
+
+PasteAsText		: "Lim inn som ren tekst",
+PasteFromWord	: "Lim inn fra Word",
+
+DlgPasteMsg2	: "Vennligst lim inn i den fÃ¸lgende boksen med tastaturet (<STRONG>Ctrl+V</STRONG>) og trykk <STRONG>OK</STRONG>.",
+DlgPasteSec		: "Din nettlesers sikkerhetsinstillinger gir ikke redigeringsverktÃ¸yet direkte tilgang til utklippstavlen. Du mÃ¥ lime det igjen i dette vinduet.",
+DlgPasteIgnoreFont		: "Fjern skrifttyper",
+DlgPasteRemoveStyles	: "Fjern stildefinisjoner",
+
+// Color Picker
+ColorAutomatic	: "Automatisk",
+ColorMoreColors	: "Flere farger...",
+
+// Document Properties
+DocProps		: "Dokumentegenskaper",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Ankeregenskaper",
+DlgAnchorName		: "Ankernavn",
+DlgAnchorErrorName	: "Vennligst skriv inn ankernavnet",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Ikke i ordboken",
+DlgSpellChangeTo		: "Endre til",
+DlgSpellBtnIgnore		: "Ignorer",
+DlgSpellBtnIgnoreAll	: "Ignorer alle",
+DlgSpellBtnReplace		: "Erstatt",
+DlgSpellBtnReplaceAll	: "Erstatt alle",
+DlgSpellBtnUndo			: "Angre",
+DlgSpellNoSuggestions	: "- Ingen forslag -",
+DlgSpellProgress		: "Stavekontroll pÃ¥gÃ¥r...",
+DlgSpellNoMispell		: "Stavekontroll fullfÃ¸rt: ingen feilstavinger funnet",
+DlgSpellNoChanges		: "Stavekontroll fullfÃ¸rt: ingen ord endret",
+DlgSpellOneChange		: "Stavekontroll fullfÃ¸rt: Ett ord endret",
+DlgSpellManyChanges		: "Stavekontroll fullfÃ¸rt: %1 ord endret",
+
+IeSpellDownload			: "Stavekontroll er ikke installert. Vil du laste den ned nÃ¥?",
+
+// Button Dialog
+DlgButtonText		: "Tekst (verdi)",
+DlgButtonType		: "Type",
+DlgButtonTypeBtn	: "Knapp",
+DlgButtonTypeSbm	: "Send",
+DlgButtonTypeRst	: "Nullstill",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Navn",
+DlgCheckboxValue	: "Verdi",
+DlgCheckboxSelected	: "Valgt",
+
+// Form Dialog
+DlgFormName		: "Navn",
+DlgFormAction	: "Handling",
+DlgFormMethod	: "Metode",
+
+// Select Field Dialog
+DlgSelectName		: "Navn",
+DlgSelectValue		: "Verdi",
+DlgSelectSize		: "StÃ¸rrelse",
+DlgSelectLines		: "Linjer",
+DlgSelectChkMulti	: "Tillat flervalg",
+DlgSelectOpAvail	: "Tilgjenglige alternativer",
+DlgSelectOpText		: "Tekst",
+DlgSelectOpValue	: "Verdi",
+DlgSelectBtnAdd		: "Legg til",
+DlgSelectBtnModify	: "Endre",
+DlgSelectBtnUp		: "Opp",
+DlgSelectBtnDown	: "Ned",
+DlgSelectBtnSetValue : "Sett som valgt",
+DlgSelectBtnDelete	: "Slett",
+
+// Textarea Dialog
+DlgTextareaName	: "Navn",
+DlgTextareaCols	: "Kolonner",
+DlgTextareaRows	: "Rader",
+
+// Text Field Dialog
+DlgTextName			: "Navn",
+DlgTextValue		: "Verdi",
+DlgTextCharWidth	: "Tegnbredde",
+DlgTextMaxChars		: "Maks antall tegn",
+DlgTextType			: "Type",
+DlgTextTypeText		: "Tekst",
+DlgTextTypePass		: "Passord",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Navn",
+DlgHiddenValue	: "Verdi",
+
+// Bulleted List Dialog
+BulletedListProp	: "Egenskaper for uordnet liste",
+NumberedListProp	: "Egenskaper for ordnet liste",
+DlgLstStart			: "Start",
+DlgLstType			: "Type",
+DlgLstTypeCircle	: "Sirkel",
+DlgLstTypeDisc		: "Hel sirkel",
+DlgLstTypeSquare	: "Firkant",
+DlgLstTypeNumbers	: "Numre (1, 2, 3)",
+DlgLstTypeLCase		: "SmÃ¥ bokstaver (a, b, c)",
+DlgLstTypeUCase		: "Store bokstaver (A, B, C)",
+DlgLstTypeSRoman	: "SmÃ¥ romerske tall (i, ii, iii)",
+DlgLstTypeLRoman	: "Store romerske tall (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Generelt",
+DlgDocBackTab		: "Bakgrunn",
+DlgDocColorsTab		: "Farger og marginer",
+DlgDocMetaTab		: "Meta-data",
+
+DlgDocPageTitle		: "Sidetittel",
+DlgDocLangDir		: "SprÃ¥kretning",
+DlgDocLangDirLTR	: "Venstre til hÃ¸yre (LTR)",
+DlgDocLangDirRTL	: "HÃ¸yre til venstre (RTL)",
+DlgDocLangCode		: "SprÃ¥kkode",
+DlgDocCharSet		: "Tegnsett",
+DlgDocCharSetCE		: "Sentraleuropeisk",
+DlgDocCharSetCT		: "Tradisonell kinesisk(Big5)",
+DlgDocCharSetCR		: "Cyrillic",
+DlgDocCharSetGR		: "Gresk",
+DlgDocCharSetJP		: "Japansk",
+DlgDocCharSetKR		: "Koreansk",
+DlgDocCharSetTR		: "Tyrkisk",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "Vesteuropeisk",
+DlgDocCharSetOther	: "Annet tegnsett",
+
+DlgDocDocType		: "Dokumenttype header",
+DlgDocDocTypeOther	: "Annet dokumenttype header",
+DlgDocIncXHTML		: "Inkluder XHTML-deklarasjon",
+DlgDocBgColor		: "Bakgrunnsfarge",
+DlgDocBgImage		: "URL for bakgrunnsbilde",
+DlgDocBgNoScroll	: "LÃ¥s bakgrunnsbilde",
+DlgDocCText			: "Tekst",
+DlgDocCLink			: "Link",
+DlgDocCVisited		: "BesÃ¸kt lenke",
+DlgDocCActive		: "Aktiv lenke",
+DlgDocMargins		: "Sidemargin",
+DlgDocMaTop			: "Topp",
+DlgDocMaLeft		: "Venstre",
+DlgDocMaRight		: "HÃ¸yre",
+DlgDocMaBottom		: "Bunn",
+DlgDocMeIndex		: "Dokument nÃ¸kkelord (kommaseparert)",
+DlgDocMeDescr		: "Dokumentbeskrivelse",
+DlgDocMeAuthor		: "Forfatter",
+DlgDocMeCopy		: "Kopirett",
+DlgDocPreview		: "ForhÃ¥ndsvising",
+
+// Templates Dialog
+Templates			: "Maler",
+DlgTemplatesTitle	: "Innholdsmaler",
+DlgTemplatesSelMsg	: "Velg malen du vil Ã¥pne<br>(innholdet du har skrevet blir tapt!):",
+DlgTemplatesLoading	: "Laster malliste. Vennligst vent...",
+DlgTemplatesNoTpl	: "(Ingen maler definert)",
+DlgTemplatesReplace	: "Erstatt faktisk innold",
+
+// About Dialog
+DlgAboutAboutTab	: "Om",
+DlgAboutBrowserInfoTab	: "Nettleserinfo",
+DlgAboutLicenseTab	: "Lisens",
+DlgAboutVersion		: "versjon",
+DlgAboutInfo		: "For mer informasjon, se",
+
+// Div Dialog
+DlgDivGeneralTab	: "Generelt",
+DlgDivAdvancedTab	: "Avansert",
+DlgDivStyle		: "Stil",
+DlgDivInlineStyle	: "Inline Style",	//MISSING
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/bn.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/bn.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/bn.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Bengali/Bangla language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "à¦Ÿà§‚à¦²à¦¬à¦¾à¦° à¦—à§à¦Ÿà¦¿à§Ÿà§‡ à¦¦à¦¾à¦“",
+ToolbarExpand		: "à¦Ÿà§‚à¦²à¦¬à¦¾à¦° à¦›à§œà¦¿à§Ÿà§‡ à¦¦à¦¾à¦“",
+
+// Toolbar Items and Context Menu
+Save				: "à¦¸à¦‚à¦°à¦•à§à¦·à¦¨ à¦•à¦°",
+NewPage				: "à¦¨à¦¤à§à¦¨ à¦ªà§‡à¦œ",
+Preview				: "à¦ªà§à¦°à¦¿à¦­à¦¿à¦‰",
+Cut					: "à¦•à¦¾à¦Ÿ",
+Copy				: "à¦•à¦ªà¦¿",
+Paste				: "à¦ªà§‡à¦¸à§à¦Ÿ",
+PasteText			: "à¦ªà§‡à¦¸à§à¦Ÿ (à¦¸à¦¾à¦¦à¦¾ à¦Ÿà§‡à¦•à§à¦¸à¦Ÿ)",
+PasteWord			: "à¦ªà§‡à¦¸à§à¦Ÿ (à¦¶à¦¬à§à¦¦)",
+Print				: "à¦ªà§à¦°à¦¿à¦¨à§à¦Ÿ",
+SelectAll			: "à¦¸à¦¬ à¦¸à¦¿à¦²à§‡à¦•à§à¦Ÿ à¦•à¦°",
+RemoveFormat		: "à¦«à¦°à¦®à§‡à¦Ÿ à¦¸à¦°à¦¾à¦“",
+InsertLinkLbl		: "à¦²à¦¿à¦‚à¦•à§‡à¦° à¦¯à§à¦•à§à¦¤ à¦•à¦°à¦¾à¦° à¦²à§‡à¦¬à§‡à¦²",
+InsertLink			: "à¦²à¦¿à¦‚à¦• à¦¯à§à¦•à§à¦¤ à¦•à¦°",
+RemoveLink			: "à¦²à¦¿à¦‚à¦• à¦¸à¦°à¦¾à¦“",
+VisitLink			: "Open Link",	//MISSING
+Anchor				: "à¦¨à§‹à¦™à§à¦—à¦°",
+AnchorDelete		: "Remove Anchor",	//MISSING
+InsertImageLbl		: "à¦›à¦¬à¦¿à¦° à¦²à§‡à¦¬à§‡à¦² à¦¯à§à¦•à§à¦¤ à¦•à¦°",
+InsertImage			: "à¦›à¦¬à¦¿ à¦¯à§à¦•à§à¦¤ à¦•à¦°",
+InsertFlashLbl		: "à¦«à§à¦²à¦¾à¦¶ à¦²à§‡à¦¬à§‡à¦² à¦¯à§à¦•à§à¦¤ à¦•à¦°",
+InsertFlash			: "à¦«à§à¦²à¦¾à¦¶ à¦¯à§à¦•à§à¦¤ à¦•à¦°",
+InsertTableLbl		: "à¦Ÿà§‡à¦¬à¦¿à¦²à§‡à¦° à¦²à§‡à¦¬à§‡à¦² à¦¯à§à¦•à§à¦¤ à¦•à¦°",
+InsertTable			: "à¦Ÿà§‡à¦¬à¦¿à¦² à¦¯à§à¦•à§à¦¤ à¦•à¦°",
+InsertLineLbl		: "à¦°à§‡à¦–à¦¾ à¦¯à§à¦•à§à¦¤ à¦•à¦°",
+InsertLine			: "à¦°à§‡à¦–à¦¾ à¦¯à§à¦•à§à¦¤ à¦•à¦°",
+InsertSpecialCharLbl: "à¦¬à¦¿à¦¶à§‡à¦· à¦…à¦•à§à¦·à¦°à§‡à¦° à¦²à§‡à¦¬à§‡à¦² à¦¯à§à¦•à§à¦¤ à¦•à¦°",
+InsertSpecialChar	: "à¦¬à¦¿à¦¶à§‡à¦· à¦…à¦•à§à¦·à¦° à¦¯à§à¦•à§à¦¤ à¦•à¦°",
+InsertSmileyLbl		: "à¦¸à§à¦®à¦¾à¦‡à¦²à§€",
+InsertSmiley		: "à¦¸à§à¦®à¦¾à¦‡à¦²à§€ à¦¯à§à¦•à§à¦¤ à¦•à¦°",
+About				: "FCKeditor à¦•à§‡ à¦¬à¦¾à¦¨à¦¿à§Ÿà§‡à¦›à§‡",
+Bold				: "à¦¬à§‹à¦²à§à¦¡",
+Italic				: "à¦‡à¦Ÿà¦¾à¦²à¦¿à¦•",
+Underline			: "à¦†à¦¨à§à¦¡à¦¾à¦°à¦²à¦¾à¦‡à¦¨",
+StrikeThrough		: "à¦¸à§à¦Ÿà§à¦°à¦¾à¦‡à¦• à¦¥à§à¦°à§",
+Subscript			: "à¦…à¦§à§‹à¦²à§‡à¦–",
+Superscript			: "à¦…à¦­à¦¿à¦²à§‡à¦–",
+LeftJustify			: "à¦¬à¦¾ à¦¦à¦¿à¦•à§‡ à¦˜à§‡à¦à¦·à¦¾",
+CenterJustify		: "à¦®à¦¾à¦ à¦¬à¦°à¦¾à¦¬à¦° à¦˜à§‡à¦·à¦¾",
+RightJustify		: "à¦¡à¦¾à¦¨ à¦¦à¦¿à¦•à§‡ à¦˜à§‡à¦à¦·à¦¾",
+BlockJustify		: "à¦¬à§à¦²à¦• à¦œà¦¾à¦¸à§à¦Ÿà¦¿à¦«à¦¾à¦‡",
+DecreaseIndent		: "à¦‡à¦¨à¦¡à§‡à¦¨à§à¦Ÿ à¦•à¦®à¦¾à¦“",
+IncreaseIndent		: "à¦‡à¦¨à¦¡à§‡à¦¨à§à¦Ÿ à¦¬à¦¾à§œà¦¾à¦“",
+Blockquote			: "Blockquote",	//MISSING
+CreateDiv			: "Create Div Container",	//MISSING
+EditDiv				: "Edit Div Container",	//MISSING
+DeleteDiv			: "Remove Div Container",	//MISSING
+Undo				: "à¦†à¦¨à¦¡à§",
+Redo				: "à¦°à¦¿-à¦¡à§",
+NumberedListLbl		: "à¦¸à¦¾à¦‚à¦–à§à¦¯à¦¿à¦• à¦²à¦¿à¦¸à§à¦Ÿà§‡à¦° à¦²à§‡à¦¬à§‡à¦²",
+NumberedList		: "à¦¸à¦¾à¦‚à¦–à§à¦¯à¦¿à¦• à¦²à¦¿à¦¸à§à¦Ÿ",
+BulletedListLbl		: "à¦¬à§à¦²à§‡à¦Ÿ à¦²à¦¿à¦¸à§à¦Ÿ à¦²à§‡à¦¬à§‡à¦²",
+BulletedList		: "à¦¬à§à¦²à§‡à¦Ÿà§‡à¦¡ à¦²à¦¿à¦¸à§à¦Ÿ",
+ShowTableBorders	: "à¦Ÿà§‡à¦¬à¦¿à¦² à¦¬à¦°à§à¦¡à¦¾à¦°",
+ShowDetails			: "à¦¸à¦¬à¦Ÿà§à¦•à§ à¦¦à§‡à¦–à¦¾à¦“",
+Style				: "à¦¸à§à¦Ÿà¦¾à¦‡à¦²",
+FontFormat			: "à¦«à¦¨à§à¦Ÿ à¦«à¦°à¦®à§‡à¦Ÿ",
+Font				: "à¦«à¦¨à§à¦Ÿ",
+FontSize			: "à¦¸à¦¾à¦‡à¦œ",
+TextColor			: "à¦Ÿà§‡à¦•à§à¦¸à§à¦Ÿ à¦°à¦‚",
+BGColor				: "à¦¬à§‡à¦•à¦—à§à¦°à¦¾à¦‰à¦¨à§à¦¡ à¦°à¦‚",
+Source				: "à¦¸à§‹à¦°à§à¦¸",
+Find				: "à¦–à§‹à¦œà§‹",
+Replace				: "à¦°à¦¿à¦ªà§à¦²à§‡à¦¸",
+SpellCheck			: "à¦¬à¦¾à¦¨à¦¾à¦¨ à¦šà§‡à¦•",
+UniversalKeyboard	: "à¦¸à¦¾à¦°à§à¦¬à¦œà¦¨à§€à¦¨ à¦•à¦¿à¦¬à§‹à¦°à§à¦¡",
+PageBreakLbl		: "à¦ªà§‡à¦œ à¦¬à§à¦°à§‡à¦• à¦²à§‡à¦¬à§‡à¦²",
+PageBreak			: "à¦ªà§‡à¦œ à¦¬à§à¦°à§‡à¦•",
+
+Form			: "à¦«à¦°à§à¦®",
+Checkbox		: "à¦šà§‡à¦• à¦¬à¦¾à¦•à§à¦¸",
+RadioButton		: "à¦°à§‡à¦¡à¦¿à¦“ à¦¬à¦¾à¦Ÿà¦¨",
+TextField		: "à¦Ÿà§‡à¦•à§à¦¸à¦Ÿ à¦«à§€à¦²à§à¦¡",
+Textarea		: "à¦Ÿà§‡à¦•à§à¦¸à¦Ÿ à¦à¦°à¦¿à§Ÿà¦¾",
+HiddenField		: "à¦—à§à¦ªà§à¦¤ à¦«à§€à¦²à§à¦¡",
+Button			: "à¦¬à¦¾à¦Ÿà¦¨",
+SelectionField	: "à¦¬à¦¾à¦›à¦¾à¦‡ à¦«à§€à¦²à§à¦¡",
+ImageButton		: "à¦›à¦¬à¦¿à¦° à¦¬à¦¾à¦Ÿà¦¨",
+
+FitWindow		: "à¦‰à¦‡à¦¨à§à¦¡à§‹ à¦«à¦¿à¦Ÿ à¦•à¦°",
+ShowBlocks		: "Show Blocks",	//MISSING
+
+// Context Menu
+EditLink			: "à¦²à¦¿à¦‚à¦• à¦¸à¦®à§à¦ªà¦¾à¦¦à¦¨",
+CellCM				: "à¦¸à§‡à¦²",
+RowCM				: "à¦°à§‹",
+ColumnCM			: "à¦•à¦²à¦¾à¦®",
+InsertRowAfter		: "Insert Row After",	//MISSING
+InsertRowBefore		: "Insert Row Before",	//MISSING
+DeleteRows			: "à¦°à§‹ à¦®à§à¦›à§‡ à¦¦à¦¾à¦“",
+InsertColumnAfter	: "Insert Column After",	//MISSING
+InsertColumnBefore	: "Insert Column Before",	//MISSING
+DeleteColumns		: "à¦•à¦²à¦¾à¦® à¦®à§à¦›à§‡ à¦¦à¦¾à¦“",
+InsertCellAfter		: "Insert Cell After",	//MISSING
+InsertCellBefore	: "Insert Cell Before",	//MISSING
+DeleteCells			: "à¦¸à§‡à¦² à¦®à§à¦›à§‡ à¦¦à¦¾à¦“",
+MergeCells			: "à¦¸à§‡à¦² à¦œà§‹à§œà¦¾ à¦¦à¦¾à¦“",
+MergeRight			: "Merge Right",	//MISSING
+MergeDown			: "Merge Down",	//MISSING
+HorizontalSplitCell	: "Split Cell Horizontally",	//MISSING
+VerticalSplitCell	: "Split Cell Vertically",	//MISSING
+TableDelete			: "à¦Ÿà§‡à¦¬à¦¿à¦² à¦¡à¦¿à¦²à§€à¦Ÿ à¦•à¦°",
+CellProperties		: "à¦¸à§‡à¦²à§‡à¦° à¦ªà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿à¦œ",
+TableProperties		: "à¦Ÿà§‡à¦¬à¦¿à¦² à¦ªà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿",
+ImageProperties		: "à¦›à¦¬à¦¿ à¦ªà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿",
+FlashProperties		: "à¦«à§à¦²à¦¾à¦¶ à¦ªà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿",
+
+AnchorProp			: "à¦¨à§‹à¦™à¦° à¦ªà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿",
+ButtonProp			: "à¦¬à¦¾à¦Ÿà¦¨ à¦ªà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿",
+CheckboxProp		: "à¦šà§‡à¦• à¦¬à¦•à§à¦¸ à¦ªà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿",
+HiddenFieldProp		: "à¦—à§à¦ªà§à¦¤ à¦«à§€à¦²à§à¦¡ à¦ªà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿",
+RadioButtonProp		: "à¦°à§‡à¦¡à¦¿à¦“ à¦¬à¦¾à¦Ÿà¦¨ à¦ªà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿",
+ImageButtonProp		: "à¦›à¦¬à¦¿ à¦¬à¦¾à¦Ÿà¦¨ à¦ªà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿",
+TextFieldProp		: "à¦Ÿà§‡à¦•à§à¦¸à¦Ÿ à¦«à§€à¦²à§à¦¡ à¦ªà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿",
+SelectionFieldProp	: "à¦¬à¦¾à¦›à¦¾à¦‡ à¦«à§€à¦²à§à¦¡ à¦ªà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿",
+TextareaProp		: "à¦Ÿà§‡à¦•à§à¦¸à¦Ÿ à¦à¦°à¦¿à§Ÿà¦¾ à¦ªà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿",
+FormProp			: "à¦«à¦°à§à¦® à¦ªà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿",
+
+FontFormats			: "à¦¸à¦¾à¦§à¦¾à¦°à¦£;à¦«à¦°à§à¦®à§‡à¦Ÿà§‡à¦¡;à¦ à¦¿à¦•à¦¾à¦¨à¦¾;à¦¶à§€à¦°à§à¦·à¦• à§§;à¦¶à§€à¦°à§à¦·à¦• à§¨;à¦¶à§€à¦°à§à¦·à¦• à§©;à¦¶à§€à¦°à§à¦·à¦• à§ª;à¦¶à§€à¦°à§à¦·à¦• à§«;à¦¶à§€à¦°à§à¦·à¦• à§¬;à¦¶à§€à¦°à§à¦·à¦• (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "XHTML à¦ªà§à¦°à¦¸à§‡à¦¸ à¦•à¦°à¦¾ à¦¹à¦šà§à¦›à§‡",
+Done				: "à¦¶à§‡à¦· à¦¹à§Ÿà§‡à¦›à§‡",
+PasteWordConfirm	: "à¦¯à§‡ à¦Ÿà§‡à¦•à¦¸à§à¦Ÿà¦Ÿà¦¿ à¦†à¦ªà¦¨à¦¿ à¦ªà§‡à¦¸à§à¦Ÿ à¦•à¦°à¦¤à§‡ à¦šà¦¾à¦šà§à¦›à§‡à¦¨ à¦®à¦¨à§‡ à¦¹à¦šà§à¦›à§‡ à¦¸à§‡à¦Ÿà¦¿ à¦“à§Ÿà¦¾à¦°à§à¦¡ à¦¥à§‡à¦•à§‡ à¦•à¦ªà¦¿ à¦•à¦°à¦¾à¥¤ à¦†à¦ªà¦¨à¦¿ à¦•à¦¿ à¦ªà§‡à¦¸à§à¦Ÿ à¦•à¦°à¦¾à¦° à¦†à¦—à§‡ à¦à¦•à§‡ à¦ªà¦°à¦¿à¦·à§à¦•à¦¾à¦° à¦•à¦°à¦¤à§‡ à¦šà¦¾à¦¨?",
+NotCompatiblePaste	: "à¦à¦‡ à¦•à¦®à¦¾à¦¨à§à¦¡à¦Ÿà¦¿ à¦¶à§à¦§à§à¦®à¦¾à¦¤à§à¦° à¦‡à¦¨à§à¦Ÿà¦¾à¦°à¦¨à§‡à¦Ÿ à¦à¦•à§à¦¸à¦ªà§à¦²à§‹à¦°à¦¾à¦° à§«.à§¦ à¦¬à¦¾ à¦¤à¦¾à¦° à¦ªà¦°à§‡à¦° à¦­à¦¾à¦°à§à¦¸à¦¨à§‡ à¦ªà¦¾à¦“à§Ÿà¦¾ à¦¸à¦®à§à¦­à¦¬à¥¤ à¦†à¦ªà¦¨à¦¿ à¦•à¦¿ à¦ªà¦°à¦¿à¦·à§à¦•à¦¾à¦° à¦¨à¦¾ à¦•à¦°à§‡à¦‡ à¦ªà§‡à¦¸à§à¦Ÿ à¦•à¦°à¦¤à§‡ à¦šà¦¾à¦¨?",
+UnknownToolbarItem	: "à¦…à¦œà¦¾à¦¨à¦¾ à¦Ÿà§à¦²à¦¬à¦¾à¦° à¦†à¦‡à¦Ÿà§‡à¦® \"%1\"",
+UnknownCommand		: "à¦…à¦œà¦¾à¦¨à¦¾ à¦•à¦®à¦¾à¦¨à§à¦¡ \"%1\"",
+NotImplemented		: "à¦•à¦®à¦¾à¦¨à§à¦¡ à¦‡à¦®à¦ªà§à¦²à¦¿à¦®à§‡à¦¨à§à¦Ÿ à¦•à¦°à¦¾ à¦¹à§Ÿà¦¨à¦¿",
+UnknownToolbarSet	: "à¦Ÿà§à¦²à¦¬à¦¾à¦° à¦¸à§‡à¦Ÿ \"%1\" à¦à¦° à¦…à¦¸à§à¦¤à¦¿à¦¤à§à¦¬ à¦¨à§‡à¦‡",
+NoActiveX			: "à¦†à¦ªà¦¨à¦¾à¦° à¦¬à§à¦°à¦¾à¦‰à¦œà¦¾à¦°à§‡à¦° à¦¸à§à¦°à¦•à§à¦·à¦¾ à¦¸à§‡à¦Ÿà¦¿à¦‚à¦¸ à¦•à¦¾à¦°à¦¨à§‡ à¦à¦¡à¦¿à¦Ÿà¦°à§‡à¦° à¦•à¦¿à¦›à§ à¦«à¦¿à¦šà¦¾à¦° à¦ªà¦¾à¦“à§Ÿà¦¾ à¦¨à¦¾à¦“ à¦¯à§‡à¦¤à§‡ à¦ªà¦¾à¦°à§‡à¥¤ à¦†à¦ªà¦¨à¦¾à¦•à§‡ à¦…à¦¬à¦¶à§à¦¯à¦‡ \"Run ActiveX controls and plug-ins\" à¦à¦¨à¦¾à¦¬à§‡à¦² à¦•à¦°à§‡ à¦¨à¦¿à¦¤à§‡ à¦¹à¦¬à§‡à¥¤ à¦†à¦ªà¦¨à¦¿ à¦­à§à¦²à¦­à§à¦°à¦¾à¦¨à§à¦¤à¦¿ à¦•à¦¿à¦›à§ à¦•à¦¿à¦›à§ à¦«à¦¿à¦šà¦¾à¦°à§‡à¦° à¦…à¦¨à§à¦ªà¦¸à§à¦¥à¦¿à¦¤à¦¿ à¦‰à¦ªà¦²à¦¬à§à¦§à¦¿ à¦•à¦°à¦¤à§‡ à¦ªà¦¾à¦°à§‡à¦¨à¥¤",
+BrowseServerBlocked : "à¦°à¦¿à¦¸à§‹à¦°à§à¦¸ à¦¬à§à¦°à¦¾à¦‰à¦œà¦¾à¦° à¦–à§‹à¦²à¦¾ à¦—à§‡à¦² à¦¨à¦¾à¥¤ à¦¨à¦¿à¦¶à§à¦šà¦¿à¦¤ à¦•à¦°à§à¦¨ à¦¯à§‡ à¦¸à¦¬ à¦ªà¦ªà¦†à¦ª à¦¬à§à¦²à¦•à¦¾à¦° à¦¬à¦¨à§à¦§ à¦•à¦°à¦¾ à¦†à¦›à§‡à¥¤",
+DialogBlocked		: "à¦¡à¦¾à§Ÿà¦¾à¦²à¦— à¦‡à¦‰à¦¨à§à¦¡à§‹ à¦–à§‹à¦²à¦¾ à¦—à§‡à¦² à¦¨à¦¾à¥¤ à¦¨à¦¿à¦¶à§à¦šà¦¿à¦¤ à¦•à¦°à§à¦¨ à¦¯à§‡ à¦¸à¦¬ à¦ªà¦ªà¦†à¦ª à¦¬à§à¦²à¦•à¦¾à¦° à¦¬à¦¨à§à¦§ à¦•à¦°à¦¾ à¦†à¦›à§‡à¥¤",
+VisitLinkBlocked	: "It was not possible to open a new window. Make sure all popup blockers are disabled.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "à¦“à¦•à§‡",
+DlgBtnCancel		: "à¦¬à¦¾à¦¤à¦¿à¦²",
+DlgBtnClose			: "à¦¬à¦¨à§à¦§ à¦•à¦°",
+DlgBtnBrowseServer	: "à¦¬à§à¦°à¦¾à¦‰à¦œ à¦¸à¦¾à¦°à§à¦­à¦¾à¦°",
+DlgAdvancedTag		: "à¦à¦¡à¦­à¦¾à¦¨à§à¦¸à¦¡",
+DlgOpOther			: "<à¦…à¦¨à§à¦¯>",
+DlgInfoTab			: "à¦¤à¦¥à§à¦¯",
+DlgAlertUrl			: "à¦¦à§Ÿà¦¾ à¦•à¦°à§‡ URL à¦¯à§à¦•à§à¦¤ à¦•à¦°à§à¦¨",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<à¦¸à§‡à¦Ÿ à¦¨à§‡à¦‡>",
+DlgGenId			: "à¦†à¦‡à¦¡à¦¿",
+DlgGenLangDir		: "à¦­à¦¾à¦·à¦¾ à¦²à§‡à¦–à¦¾à¦° à¦¦à¦¿à¦•",
+DlgGenLangDirLtr	: "à¦¬à¦¾à¦® à¦¥à§‡à¦•à§‡ à¦¡à¦¾à¦¨ (LTR)",
+DlgGenLangDirRtl	: "à¦¡à¦¾à¦¨ à¦¥à§‡à¦•à§‡ à¦¬à¦¾à¦® (RTL)",
+DlgGenLangCode		: "à¦­à¦¾à¦·à¦¾ à¦•à§‹à¦¡",
+DlgGenAccessKey		: "à¦à¦•à§à¦¸à§‡à¦¸ à¦•à§€",
+DlgGenName			: "à¦¨à¦¾à¦®",
+DlgGenTabIndex		: "à¦Ÿà§à¦¯à¦¾à¦¬ à¦‡à¦¨à§à¦¡à§‡à¦•à§à¦¸",
+DlgGenLongDescr		: "URL à¦à¦° à¦²à¦®à§à¦¬à¦¾ à¦¬à¦°à§à¦£à¦¨à¦¾",
+DlgGenClass			: "à¦¸à§à¦Ÿà¦¾à¦‡à¦²-à¦¶à§€à¦Ÿ à¦•à§à¦²à¦¾à¦¸",
+DlgGenTitle			: "à¦ªà¦°à¦¾à¦®à¦°à§à¦¶ à¦¶à§€à¦°à§à¦·à¦•",
+DlgGenContType		: "à¦ªà¦°à¦¾à¦®à¦°à§à¦¶ à¦•à¦¨à§à¦Ÿà§‡à¦¨à§à¦Ÿà§‡à¦° à¦ªà§à¦°à¦•à¦¾à¦°",
+DlgGenLinkCharset	: "à¦²à¦¿à¦‚à¦• à¦°à¦¿à¦¸à§‹à¦°à§à¦¸ à¦•à§à¦¯à¦¾à¦°à§‡à¦•à§à¦Ÿà¦° à¦¸à§‡à¦Ÿ",
+DlgGenStyle			: "à¦¸à§à¦Ÿà¦¾à¦‡à¦²",
+
+// Image Dialog
+DlgImgTitle			: "à¦›à¦¬à¦¿à¦° à¦ªà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿",
+DlgImgInfoTab		: "à¦›à¦¬à¦¿à¦° à¦¤à¦¥à§à¦¯",
+DlgImgBtnUpload		: "à¦‡à¦¹à¦¾à¦•à§‡ à¦¸à¦¾à¦°à§à¦­à¦¾à¦°à§‡ à¦ªà§à¦°à§‡à¦°à¦¨ à¦•à¦°",
+DlgImgURL			: "URL",
+DlgImgUpload		: "à¦†à¦ªà¦²à§‹à¦¡",
+DlgImgAlt			: "à¦¬à¦¿à¦•à¦²à§à¦ª à¦Ÿà§‡à¦•à§à¦¸à¦Ÿ",
+DlgImgWidth			: "à¦ªà§à¦°à¦¸à§à¦¥",
+DlgImgHeight		: "à¦¦à§ˆà¦°à§à¦˜à§à¦¯",
+DlgImgLockRatio		: "à¦…à¦¨à§à¦ªà¦¾à¦¤ à¦²à¦• à¦•à¦°",
+DlgBtnResetSize		: "à¦¸à¦¾à¦‡à¦œ à¦ªà§‚à¦°à§à¦¬à¦¾à¦¬à¦¸à§à¦¥à¦¾à§Ÿ à¦«à¦¿à¦°à¦¿à§Ÿà§‡ à¦¦à¦¾à¦“",
+DlgImgBorder		: "à¦¬à¦°à§à¦¡à¦¾à¦°",
+DlgImgHSpace		: "à¦¹à¦°à¦¾à¦‡à¦œà¦¨à§à¦Ÿà¦¾à¦² à¦¸à§à¦ªà§‡à¦¸",
+DlgImgVSpace		: "à¦­à¦¾à¦°à§à¦Ÿà¦¿à¦•à§‡à¦² à¦¸à§à¦ªà§‡à¦¸",
+DlgImgAlign			: "à¦à¦²à¦¾à¦‡à¦¨",
+DlgImgAlignLeft		: "à¦¬à¦¾à¦®à§‡",
+DlgImgAlignAbsBottom: "Abs à¦¨à§€à¦šà§‡",
+DlgImgAlignAbsMiddle: "Abs à¦‰à¦ªà¦°",
+DlgImgAlignBaseline	: "à¦®à§‚à¦² à¦°à§‡à¦–à¦¾",
+DlgImgAlignBottom	: "à¦¨à§€à¦šà§‡",
+DlgImgAlignMiddle	: "à¦®à¦§à§à¦¯",
+DlgImgAlignRight	: "à¦¡à¦¾à¦¨à§‡",
+DlgImgAlignTextTop	: "à¦Ÿà§‡à¦•à§à¦¸à¦Ÿ à¦‰à¦ªà¦°",
+DlgImgAlignTop		: "à¦‰à¦ªà¦°",
+DlgImgPreview		: "à¦ªà§à¦°à§€à¦­à¦¿à¦‰",
+DlgImgAlertUrl		: "à¦…à¦¨à§à¦—à§à¦°à¦¹à¦• à¦•à¦°à§‡ à¦›à¦¬à¦¿à¦° URL à¦Ÿà¦¾à¦‡à¦ª à¦•à¦°à§à¦¨",
+DlgImgLinkTab		: "à¦²à¦¿à¦‚à¦•",
+
+// Flash Dialog
+DlgFlashTitle		: "à¦«à§à¦²à§à¦¯à¦¾à¦¶ à¦ªà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿",
+DlgFlashChkPlay		: "à¦…à¦Ÿà§‹ à¦ªà§à¦²à§‡",
+DlgFlashChkLoop		: "à¦²à§‚à¦ª",
+DlgFlashChkMenu		: "à¦«à§à¦²à§à¦¯à¦¾à¦¶ à¦®à§‡à¦¨à§ à¦à¦¨à¦¾à¦¬à¦² à¦•à¦°",
+DlgFlashScale		: "à¦¸à§à¦•à§‡à¦²",
+DlgFlashScaleAll	: "à¦¸à¦¬ à¦¦à§‡à¦–à¦¾à¦“",
+DlgFlashScaleNoBorder	: "à¦•à§‹à¦¨à§‹ à¦¬à¦°à§à¦¡à¦¾à¦° à¦¨à§‡à¦‡",
+DlgFlashScaleFit	: "à¦¨à¦¿à¦–à§à¦à¦¤ à¦«à¦¿à¦Ÿ",
+
+// Link Dialog
+DlgLnkWindowTitle	: "à¦²à¦¿à¦‚à¦•",
+DlgLnkInfoTab		: "à¦²à¦¿à¦‚à¦• à¦¤à¦¥à§à¦¯",
+DlgLnkTargetTab		: "à¦Ÿà¦¾à¦°à§à¦—à§‡à¦Ÿ",
+
+DlgLnkType			: "à¦²à¦¿à¦‚à¦• à¦ªà§à¦°à¦•à¦¾à¦°",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "à¦à¦‡ à¦ªà§‡à¦œà§‡ à¦¨à§‹à¦™à¦° à¦•à¦°",
+DlgLnkTypeEMail		: "à¦‡à¦®à§‡à¦‡à¦²",
+DlgLnkProto			: "à¦ªà§à¦°à§‹à¦Ÿà§‹à¦•à¦²",
+DlgLnkProtoOther	: "<à¦…à¦¨à§à¦¯>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "à¦¨à§‹à¦™à¦° à¦¬à¦¾à¦›à¦¾à¦‡",
+DlgLnkAnchorByName	: "à¦¨à§‹à¦™à¦°à§‡à¦° à¦¨à¦¾à¦® à¦¦à¦¿à§Ÿà§‡",
+DlgLnkAnchorById	: "à¦¨à§‹à¦™à¦°à§‡à¦° à¦†à¦‡à¦¡à¦¿ à¦¦à¦¿à§Ÿà§‡",
+DlgLnkNoAnchors		: "(No anchors available in the document)",	//MISSING
+DlgLnkEMail			: "à¦‡à¦®à§‡à¦‡à¦² à¦ à¦¿à¦•à¦¾à¦¨à¦¾",
+DlgLnkEMailSubject	: "à¦®à§‡à¦¸à§‡à¦œà§‡à¦° à¦¬à¦¿à¦·à§Ÿ",
+DlgLnkEMailBody		: "à¦®à§‡à¦¸à§‡à¦œà§‡à¦° à¦¦à§‡à¦¹",
+DlgLnkUpload		: "à¦†à¦ªà¦²à§‹à¦¡",
+DlgLnkBtnUpload		: "à¦à¦•à§‡ à¦¸à¦¾à¦°à§à¦­à¦¾à¦°à§‡ à¦ªà¦¾à¦ à¦¾à¦“",
+
+DlgLnkTarget		: "à¦Ÿà¦¾à¦°à§à¦—à§‡à¦Ÿ",
+DlgLnkTargetFrame	: "<à¦«à§à¦°à§‡à¦®>",
+DlgLnkTargetPopup	: "<à¦ªà¦ªà¦†à¦ª à¦‰à¦‡à¦¨à§à¦¡à§‹>",
+DlgLnkTargetBlank	: "à¦¨à¦¤à§à¦¨ à¦‰à¦‡à¦¨à§à¦¡à§‹ (_blank)",
+DlgLnkTargetParent	: "à¦®à§‚à¦² à¦‰à¦‡à¦¨à§à¦¡à§‹ (_parent)",
+DlgLnkTargetSelf	: "à¦à¦‡ à¦‰à¦‡à¦¨à§à¦¡à§‹ (_self)",
+DlgLnkTargetTop		: "à¦¶à§€à¦°à§à¦· à¦‰à¦‡à¦¨à§à¦¡à§‹ (_top)",
+DlgLnkTargetFrameName	: "à¦Ÿà¦¾à¦°à§à¦—à§‡à¦Ÿ à¦«à§à¦°à§‡à¦®à§‡à¦° à¦¨à¦¾à¦®",
+DlgLnkPopWinName	: "à¦ªà¦ªà¦†à¦ª à¦‰à¦‡à¦¨à§à¦¡à§‹à¦° à¦¨à¦¾à¦®",
+DlgLnkPopWinFeat	: "à¦ªà¦ªà¦†à¦ª à¦‰à¦‡à¦¨à§à¦¡à§‹ à¦«à§€à¦šà¦¾à¦° à¦¸à¦®à§‚à¦¹",
+DlgLnkPopResize		: "à¦°à¦¿à¦¸à¦¾à¦‡à¦œ à¦•à¦°à¦¾ à¦¸à¦®à§à¦­à¦¬",
+DlgLnkPopLocation	: "à¦²à§‹à¦•à§‡à¦¶à¦¨ à¦¬à¦¾à¦°",
+DlgLnkPopMenu		: "à¦®à§‡à¦¨à§à¦¯à§ à¦¬à¦¾à¦°",
+DlgLnkPopScroll		: "à¦¸à§à¦•à§à¦°à¦² à¦¬à¦¾à¦°",
+DlgLnkPopStatus		: "à¦¸à§à¦Ÿà§à¦¯à¦¾à¦Ÿà¦¾à¦¸ à¦¬à¦¾à¦°",
+DlgLnkPopToolbar	: "à¦Ÿà§à¦² à¦¬à¦¾à¦°",
+DlgLnkPopFullScrn	: "à¦ªà§‚à¦°à§à¦£ à¦ªà¦°à§à¦¦à¦¾ à¦œà§à§œà§‡ (IE)",
+DlgLnkPopDependent	: "à¦¡à¦¿à¦ªà§‡à¦¨à§à¦¡à§‡à¦¨à§à¦Ÿ (Netscape)",
+DlgLnkPopWidth		: "à¦ªà§à¦°à¦¸à§à¦¥",
+DlgLnkPopHeight		: "à¦¦à§ˆà¦°à§à¦˜à§à¦¯",
+DlgLnkPopLeft		: "à¦¬à¦¾à¦®à§‡à¦° à¦ªà¦œà¦¿à¦¶à¦¨",
+DlgLnkPopTop		: "à¦¡à¦¾à¦¨à§‡à¦° à¦ªà¦œà¦¿à¦¶à¦¨",
+
+DlnLnkMsgNoUrl		: "à¦…à¦¨à§à¦—à§à¦°à¦¹ à¦•à¦°à§‡ URL à¦²à¦¿à¦‚à¦• à¦Ÿà¦¾à¦‡à¦ª à¦•à¦°à§à¦¨",
+DlnLnkMsgNoEMail	: "à¦…à¦¨à§à¦—à§à¦°à¦¹ à¦•à¦°à§‡ à¦‡à¦®à§‡à¦‡à¦² à¦à¦¡à§à¦°à§‡à¦¸ à¦Ÿà¦¾à¦‡à¦ª à¦•à¦°à§à¦¨",
+DlnLnkMsgNoAnchor	: "à¦…à¦¨à§à¦—à§à¦°à¦¹ à¦•à¦°à§‡ à¦¨à§‹à¦™à¦° à¦¬à¦¾à¦›à¦¾à¦‡ à¦•à¦°à§à¦¨",
+DlnLnkMsgInvPopName	: "The popup name must begin with an alphabetic character and must not contain spaces",	//MISSING
+
+// Color Dialog
+DlgColorTitle		: "à¦°à¦‚ à¦¬à¦¾à¦›à¦¾à¦‡ à¦•à¦°",
+DlgColorBtnClear	: "à¦ªà¦°à¦¿à¦·à§à¦•à¦¾à¦° à¦•à¦°",
+DlgColorHighlight	: "à¦¹à¦¾à¦‡à¦²à¦¾à¦‡à¦Ÿ",
+DlgColorSelected	: "à¦¸à¦¿à¦²à§‡à¦•à§à¦Ÿà§‡à¦¡",
+
+// Smiley Dialog
+DlgSmileyTitle		: "à¦¸à§à¦®à¦¾à¦‡à¦²à§€ à¦¯à§à¦•à§à¦¤ à¦•à¦°",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "à¦¬à¦¿à¦¶à§‡à¦· à¦•à§à¦¯à¦¾à¦°à§‡à¦•à§à¦Ÿà¦¾à¦° à¦¬à¦¾à¦›à¦¾à¦‡ à¦•à¦°",
+
+// Table Dialog
+DlgTableTitle		: "à¦Ÿà§‡à¦¬à¦¿à¦² à¦ªà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿",
+DlgTableRows		: "à¦°à§‹",
+DlgTableColumns		: "à¦•à¦²à¦¾à¦®",
+DlgTableBorder		: "à¦¬à¦°à§à¦¡à¦¾à¦° à¦¸à¦¾à¦‡à¦œ",
+DlgTableAlign		: "à¦à¦²à¦¾à¦‡à¦¨à¦®à§‡à¦¨à§à¦Ÿ",
+DlgTableAlignNotSet	: "<à¦¸à§‡à¦Ÿ à¦¨à§‡à¦‡>",
+DlgTableAlignLeft	: "à¦¬à¦¾à¦®à§‡",
+DlgTableAlignCenter	: "à¦®à¦¾à¦à¦–à¦¾à¦¨à§‡",
+DlgTableAlignRight	: "à¦¡à¦¾à¦¨à§‡",
+DlgTableWidth		: "à¦ªà§à¦°à¦¸à§à¦¥",
+DlgTableWidthPx		: "à¦ªà¦¿à¦•à§à¦¸à§‡à¦²",
+DlgTableWidthPc		: "à¦¶à¦¤à¦•à¦°à¦¾",
+DlgTableHeight		: "à¦¦à§ˆà¦°à§à¦˜à§à¦¯",
+DlgTableCellSpace	: "à¦¸à§‡à¦² à¦¸à§à¦ªà§‡à¦¸",
+DlgTableCellPad		: "à¦¸à§‡à¦² à¦ªà§à¦¯à¦¾à¦¡à¦¿à¦‚",
+DlgTableCaption		: "à¦¶à§€à¦°à§à¦·à¦•",
+DlgTableSummary		: "à¦¸à¦¾à¦°à¦¾à¦‚à¦¶",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "à¦¸à§‡à¦² à¦ªà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿",
+DlgCellWidth		: "à¦ªà§à¦°à¦¸à§à¦¥",
+DlgCellWidthPx		: "à¦ªà¦¿à¦•à§à¦¸à§‡à¦²",
+DlgCellWidthPc		: "à¦¶à¦¤à¦•à¦°à¦¾",
+DlgCellHeight		: "à¦¦à§ˆà¦°à§à¦˜à§à¦¯",
+DlgCellWordWrap		: "à¦“à§Ÿà¦¾à¦°à§à¦¡ à¦°à§‡à¦ª",
+DlgCellWordWrapNotSet	: "<à¦¸à§‡à¦Ÿ à¦¨à§‡à¦‡>",
+DlgCellWordWrapYes	: "à¦¹à¦¾à¦",
+DlgCellWordWrapNo	: "à¦¨à¦¾",
+DlgCellHorAlign		: "à¦¹à¦°à¦¾à¦‡à¦œà¦¨à§à¦Ÿà¦¾à¦² à¦à¦²à¦¾à¦‡à¦¨à¦®à§‡à¦¨à§à¦Ÿ",
+DlgCellHorAlignNotSet	: "<à¦¸à§‡à¦Ÿ à¦¨à§‡à¦‡>",
+DlgCellHorAlignLeft	: "à¦¬à¦¾à¦®à§‡",
+DlgCellHorAlignCenter	: "à¦®à¦¾à¦à¦–à¦¾à¦¨à§‡",
+DlgCellHorAlignRight: "à¦¡à¦¾à¦¨à§‡",
+DlgCellVerAlign		: "à¦­à¦¾à¦°à§à¦Ÿà¦¿à¦•à§à¦¯à¦¾à¦² à¦à¦²à¦¾à¦‡à¦¨à¦®à§‡à¦¨à§à¦Ÿ",
+DlgCellVerAlignNotSet	: "<à¦¸à§‡à¦Ÿ à¦¨à§‡à¦‡>",
+DlgCellVerAlignTop	: "à¦‰à¦ªà¦°",
+DlgCellVerAlignMiddle	: "à¦®à¦§à§à¦¯",
+DlgCellVerAlignBottom	: "à¦¨à§€à¦šà§‡",
+DlgCellVerAlignBaseline	: "à¦®à§‚à¦²à¦°à§‡à¦–à¦¾",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "à¦°à§‹ à¦¸à§à¦ªà§à¦¯à¦¾à¦¨",
+DlgCellCollSpan		: "à¦•à¦²à¦¾à¦® à¦¸à§à¦ªà§à¦¯à¦¾à¦¨",
+DlgCellBackColor	: "à¦¬à§à¦¯à¦¾à¦•à¦—à§à¦°à¦¾à¦‰à¦¨à§à¦¡ à¦°à¦‚",
+DlgCellBorderColor	: "à¦¬à¦°à§à¦¡à¦¾à¦°à§‡à¦° à¦°à¦‚",
+DlgCellBtnSelect	: "à¦¬à¦¾à¦›à¦¾à¦‡ à¦•à¦°",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Find and Replace",	//MISSING
+
+// Find Dialog
+DlgFindTitle		: "à¦–à§‹à¦à¦œà§‹",
+DlgFindFindBtn		: "à¦–à§‹à¦à¦œà§‹",
+DlgFindNotFoundMsg	: "à¦†à¦ªà¦¨à¦¾à¦° à¦‰à¦²à§à¦²à§‡à¦–à¦¿à¦¤ à¦Ÿà§‡à¦•à¦¸à§à¦Ÿ à¦ªà¦¾à¦“à§Ÿà¦¾ à¦¯à¦¾à§Ÿà¦¨à¦¿",
+
+// Replace Dialog
+DlgReplaceTitle			: "à¦¬à¦¦à¦²à§‡ à¦¦à¦¾à¦“",
+DlgReplaceFindLbl		: "à¦¯à¦¾ à¦–à§à¦à¦œà¦¤à§‡ à¦¹à¦¬à§‡:",
+DlgReplaceReplaceLbl	: "à¦¯à¦¾à¦° à¦¸à¦¾à¦¥à§‡ à¦¬à¦¦à¦²à¦¾à¦¤à§‡ à¦¹à¦¬à§‡:",
+DlgReplaceCaseChk		: "à¦•à§‡à¦¸ à¦®à¦¿à¦²à¦¾à¦“",
+DlgReplaceReplaceBtn	: "à¦¬à¦¦à¦²à§‡ à¦¦à¦¾à¦“",
+DlgReplaceReplAllBtn	: "à¦¸à¦¬ à¦¬à¦¦à¦²à§‡ à¦¦à¦¾à¦“",
+DlgReplaceWordChk		: "à¦ªà§à¦°à¦¾ à¦¶à¦¬à§à¦¦ à¦®à§‡à¦²à¦¾à¦“",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "à¦†à¦ªà¦¨à¦¾à¦° à¦¬à§à¦°à¦¾à¦‰à¦œà¦¾à¦°à§‡à¦° à¦¸à§à¦°à¦•à§à¦·à¦¾ à¦¸à§‡à¦Ÿà¦¿à¦‚à¦¸ à¦à¦¡à¦¿à¦Ÿà¦°à¦•à§‡ à¦…à¦Ÿà§‹à¦®à§‡à¦Ÿà¦¿à¦• à¦•à¦¾à¦Ÿ à¦•à¦°à¦¾à¦° à¦…à¦¨à§à¦®à¦¤à¦¿ à¦¦à§‡à§Ÿà¦¨à¦¿à¥¤ à¦¦à§Ÿà¦¾ à¦•à¦°à§‡ à¦à¦‡ à¦•à¦¾à¦œà§‡à¦° à¦œà¦¨à§à¦¯ à¦•à¦¿à¦¬à§‹à¦°à§à¦¡ à¦¬à§à¦¯à¦¬à¦¹à¦¾à¦° à¦•à¦°à§à¦¨ (Ctrl+X)à¥¤",
+PasteErrorCopy	: "à¦†à¦ªà¦¨à¦¾à¦° à¦¬à§à¦°à¦¾à¦‰à¦œà¦¾à¦°à§‡à¦° à¦¸à§à¦°à¦•à§à¦·à¦¾ à¦¸à§‡à¦Ÿà¦¿à¦‚à¦¸ à¦à¦¡à¦¿à¦Ÿà¦°à¦•à§‡ à¦…à¦Ÿà§‹à¦®à§‡à¦Ÿà¦¿à¦• à¦•à¦ªà¦¿ à¦•à¦°à¦¾à¦° à¦…à¦¨à§à¦®à¦¤à¦¿ à¦¦à§‡à§Ÿà¦¨à¦¿à¥¤ à¦¦à§Ÿà¦¾ à¦•à¦°à§‡ à¦à¦‡ à¦•à¦¾à¦œà§‡à¦° à¦œà¦¨à§à¦¯ à¦•à¦¿à¦¬à§‹à¦°à§à¦¡ à¦¬à§à¦¯à¦¬à¦¹à¦¾à¦° à¦•à¦°à§à¦¨ (Ctrl+C)à¥¤",
+
+PasteAsText		: "à¦¸à¦¾à¦¦à¦¾ à¦Ÿà§‡à¦•à§à¦¸à¦Ÿ à¦¹à¦¿à¦¸à§‡à¦¬à§‡ à¦ªà§‡à¦¸à§à¦Ÿ à¦•à¦°",
+PasteFromWord	: "à¦“à§Ÿà¦¾à¦°à§à¦¡ à¦¥à§‡à¦•à§‡ à¦ªà§‡à¦¸à§à¦Ÿ à¦•à¦°",
+
+DlgPasteMsg2	: "à¦…à¦¨à§à¦—à§à¦°à¦¹ à¦•à¦°à§‡ à¦¨à§€à¦šà§‡à¦° à¦¬à¦¾à¦•à§à¦¸à§‡ à¦•à¦¿à¦¬à§‹à¦°à§à¦¡ à¦¬à§à¦¯à¦¬à¦¹à¦¾à¦° à¦•à¦°à§‡ (<STRONG>Ctrl+V</STRONG>) à¦ªà§‡à¦¸à§à¦Ÿ à¦•à¦°à§à¦¨ à¦à¦¬à¦‚ <STRONG>OK</STRONG> à¦šà¦¾à¦ª à¦¦à¦¿à¦¨",
+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
+DlgPasteIgnoreFont		: "à¦«à¦¨à§à¦Ÿ à¦«à§‡à¦¸ à¦¡à§‡à¦«à¦¿à¦¨à§‡à¦¶à¦¨ à¦‡à¦—à¦¨à§‹à¦° à¦•à¦°à§à¦¨",
+DlgPasteRemoveStyles	: "à¦¸à§à¦Ÿà¦¾à¦‡à¦² à¦¡à§‡à¦«à¦¿à¦¨à§‡à¦¶à¦¨ à¦¸à¦°à¦¿à§Ÿà§‡ à¦¦à¦¿à¦¨",
+
+// Color Picker
+ColorAutomatic	: "à¦…à¦Ÿà§‹à¦®à§‡à¦Ÿà¦¿à¦•",
+ColorMoreColors	: "à¦†à¦°à¦“ à¦°à¦‚...",
+
+// Document Properties
+DocProps		: "à¦¡à¦•à§à¦¯à§à¦®à§‡à¦¨à§à¦Ÿ à¦ªà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿",
+
+// Anchor Dialog
+DlgAnchorTitle		: "à¦¨à§‹à¦™à¦°à§‡à¦° à¦ªà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿",
+DlgAnchorName		: "à¦¨à§‹à¦™à¦°à§‡à¦° à¦¨à¦¾à¦®",
+DlgAnchorErrorName	: "à¦¨à§‹à¦™à¦°à§‡à¦° à¦¨à¦¾à¦® à¦Ÿà¦¾à¦‡à¦ª à¦•à¦°à§à¦¨",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "à¦¶à¦¬à§à¦¦à¦•à§‹à¦·à§‡ à¦¨à§‡à¦‡",
+DlgSpellChangeTo		: "à¦à¦¤à§‡ à¦¬à¦¦à¦²à¦¾à¦“",
+DlgSpellBtnIgnore		: "à¦‡à¦—à¦¨à§‹à¦° à¦•à¦°",
+DlgSpellBtnIgnoreAll	: "à¦¸à¦¬ à¦‡à¦—à¦¨à§‹à¦° à¦•à¦°",
+DlgSpellBtnReplace		: "à¦¬à¦¦à¦²à§‡ à¦¦à¦¾à¦“",
+DlgSpellBtnReplaceAll	: "à¦¸à¦¬ à¦¬à¦¦à¦²à§‡ à¦¦à¦¾à¦“",
+DlgSpellBtnUndo			: "à¦†à¦¨à§à¦¡à§",
+DlgSpellNoSuggestions	: "- à¦•à§‹à¦¨ à¦¸à¦¾à¦œà§‡à¦¶à¦¨ à¦¨à§‡à¦‡ -",
+DlgSpellProgress		: "à¦¬à¦¾à¦¨à¦¾à¦¨ à¦ªà¦°à§€à¦•à§à¦·à¦¾ à¦šà¦²à¦›à§‡...",
+DlgSpellNoMispell		: "à¦¬à¦¾à¦¨à¦¾à¦¨ à¦ªà¦°à§€à¦•à§à¦·à¦¾ à¦¶à§‡à¦·: à¦•à§‹à¦¨ à¦­à§à¦² à¦¬à¦¾à¦¨à¦¾à¦¨ à¦ªà¦¾à¦“à§Ÿà¦¾ à¦¯à¦¾à§Ÿà¦¨à¦¿",
+DlgSpellNoChanges		: "à¦¬à¦¾à¦¨à¦¾à¦¨ à¦ªà¦°à§€à¦•à§à¦·à¦¾ à¦¶à§‡à¦·: à¦•à§‹à¦¨ à¦¶à¦¬à§à¦¦ à¦ªà¦°à¦¿à¦¬à¦°à§à¦¤à¦¨ à¦•à¦°à¦¾ à¦¹à§Ÿà¦¨à¦¿",
+DlgSpellOneChange		: "à¦¬à¦¾à¦¨à¦¾à¦¨ à¦ªà¦°à§€à¦•à§à¦·à¦¾ à¦¶à§‡à¦·: à¦à¦•à¦Ÿà¦¿ à¦®à¦¾à¦¤à§à¦° à¦¶à¦¬à§à¦¦ à¦ªà¦°à¦¿à¦¬à¦°à§à¦¤à¦¨ à¦•à¦°à¦¾ à¦¹à§Ÿà§‡à¦›à§‡",
+DlgSpellManyChanges		: "à¦¬à¦¾à¦¨à¦¾à¦¨ à¦ªà¦°à§€à¦•à§à¦·à¦¾ à¦¶à§‡à¦·: %1 à¦—à§à¦²à§‹ à¦¶à¦¬à§à¦¦ à¦¬à¦¦à¦²à§‡ à¦—à§à¦¯à¦¾à¦›à§‡",
+
+IeSpellDownload			: "à¦¬à¦¾à¦¨à¦¾à¦¨ à¦ªà¦°à§€à¦•à§à¦·à¦• à¦‡à¦¨à¦¸à§à¦Ÿà¦² à¦•à¦°à¦¾ à¦¨à§‡à¦‡à¥¤ à¦†à¦ªà¦¨à¦¿ à¦•à¦¿ à¦à¦–à¦¨à¦‡ à¦à¦Ÿà¦¾ à¦¡à¦¾à¦‰à¦¨à¦²à§‹à¦¡ à¦•à¦°à¦¤à§‡ à¦šà¦¾à¦¨?",
+
+// Button Dialog
+DlgButtonText		: "à¦Ÿà§‡à¦•à§à¦¸à¦Ÿ (à¦­à§à¦¯à¦¾à¦²à§)",
+DlgButtonType		: "à¦ªà§à¦°à¦•à¦¾à¦°",
+DlgButtonTypeBtn	: "Button",	//MISSING
+DlgButtonTypeSbm	: "Submit",	//MISSING
+DlgButtonTypeRst	: "Reset",	//MISSING
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "à¦¨à¦¾à¦®",
+DlgCheckboxValue	: "à¦­à§à¦¯à¦¾à¦²à§",
+DlgCheckboxSelected	: "à¦¸à¦¿à¦²à§‡à¦•à§à¦Ÿà§‡à¦¡",
+
+// Form Dialog
+DlgFormName		: "à¦¨à¦¾à¦®",
+DlgFormAction	: "à¦à¦•à¦¶à§à¦¯à¦¨",
+DlgFormMethod	: "à¦ªà¦¦à§à¦§à¦¤à¦¿",
+
+// Select Field Dialog
+DlgSelectName		: "à¦¨à¦¾à¦®",
+DlgSelectValue		: "à¦­à§à¦¯à¦¾à¦²à§",
+DlgSelectSize		: "à¦¸à¦¾à¦‡à¦œ",
+DlgSelectLines		: "à¦²à¦¾à¦‡à¦¨ à¦¸à¦®à§‚à¦¹",
+DlgSelectChkMulti	: "à¦à¦•à¦¾à¦§à¦¿à¦• à¦¸à¦¿à¦²à§‡à¦•à¦¶à¦¨ à¦à¦²à¦¾à¦‰ à¦•à¦°",
+DlgSelectOpAvail	: "à¦…à¦¨à§à¦¯à¦¾à¦¨à§à¦¯ à¦¬à¦¿à¦•à¦²à§à¦ª",
+DlgSelectOpText		: "à¦Ÿà§‡à¦•à§à¦¸à¦Ÿ",
+DlgSelectOpValue	: "à¦­à§à¦¯à¦¾à¦²à§",
+DlgSelectBtnAdd		: "à¦¯à§à¦•à§à¦¤",
+DlgSelectBtnModify	: "à¦¬à¦¦à¦²à§‡ à¦¦à¦¾à¦“",
+DlgSelectBtnUp		: "à¦‰à¦ªà¦°",
+DlgSelectBtnDown	: "à¦¨à§€à¦šà§‡",
+DlgSelectBtnSetValue : "à¦¬à¦¾à¦›à¦¾à¦‡ à¦•à¦°à¦¾ à¦­à§à¦¯à¦¾à¦²à§ à¦¹à¦¿à¦¸à§‡à¦¬à§‡ à¦¸à§‡à¦Ÿ à¦•à¦°",
+DlgSelectBtnDelete	: "à¦¡à¦¿à¦²à§€à¦Ÿ",
+
+// Textarea Dialog
+DlgTextareaName	: "à¦¨à¦¾à¦®",
+DlgTextareaCols	: "à¦•à¦²à¦¾à¦®",
+DlgTextareaRows	: "à¦°à§‹",
+
+// Text Field Dialog
+DlgTextName			: "à¦¨à¦¾à¦®",
+DlgTextValue		: "à¦­à§à¦¯à¦¾à¦²à§",
+DlgTextCharWidth	: "à¦•à§à¦¯à¦¾à¦°à§‡à¦•à§à¦Ÿà¦¾à¦° à¦ªà§à¦°à¦¶à¦¸à§à¦¤à¦¤à¦¾",
+DlgTextMaxChars		: "à¦¸à¦°à§à¦¬à¦¾à¦§à¦¿à¦• à¦•à§à¦¯à¦¾à¦°à§‡à¦•à§à¦Ÿà¦¾à¦°",
+DlgTextType			: "à¦Ÿà¦¾à¦‡à¦ª",
+DlgTextTypeText		: "à¦Ÿà§‡à¦•à§à¦¸à¦Ÿ",
+DlgTextTypePass		: "à¦ªà¦¾à¦¸à¦“à§Ÿà¦¾à¦°à§à¦¡",
+
+// Hidden Field Dialog
+DlgHiddenName	: "à¦¨à¦¾à¦®",
+DlgHiddenValue	: "à¦­à§à¦¯à¦¾à¦²à§",
+
+// Bulleted List Dialog
+BulletedListProp	: "à¦¬à§à¦²à§‡à¦Ÿà§‡à¦¡ à¦¸à§‚à¦šà§€ à¦ªà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿",
+NumberedListProp	: "à¦¸à¦¾à¦‚à¦–à§à¦¯à¦¿à¦• à¦¸à§‚à¦šà§€ à¦ªà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿",
+DlgLstStart			: "Start",	//MISSING
+DlgLstType			: "à¦ªà§à¦°à¦•à¦¾à¦°",
+DlgLstTypeCircle	: "à¦—à§‹à¦²",
+DlgLstTypeDisc		: "à¦¡à¦¿à¦¸à§à¦•",
+DlgLstTypeSquare	: "à¦šà§Œà¦•à§‹à¦£à¦¾",
+DlgLstTypeNumbers	: "à¦¸à¦‚à¦–à§à¦¯à¦¾ (1, 2, 3)",
+DlgLstTypeLCase		: "à¦›à§‹à¦Ÿ à¦…à¦•à§à¦·à¦° (a, b, c)",
+DlgLstTypeUCase		: "à¦¬à§œ à¦…à¦•à§à¦·à¦° (A, B, C)",
+DlgLstTypeSRoman	: "à¦›à§‹à¦Ÿ à¦°à§‹à¦®à¦¾à¦¨ à¦¸à¦‚à¦–à§à¦¯à¦¾ (i, ii, iii)",
+DlgLstTypeLRoman	: "à¦¬à§œ à¦°à§‹à¦®à¦¾à¦¨ à¦¸à¦‚à¦–à§à¦¯à¦¾ (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "à¦¸à¦¾à¦§à¦¾à¦°à¦¨",
+DlgDocBackTab		: "à¦¬à§à¦¯à¦¾à¦•à¦—à§à¦°à¦¾à¦‰à¦¨à§à¦¡",
+DlgDocColorsTab		: "à¦°à¦‚ à¦à¦¬à¦‚ à¦®à¦¾à¦°à§à¦œà¦¿à¦¨",
+DlgDocMetaTab		: "à¦®à§‡à¦Ÿà¦¾à¦¡à§‡à¦Ÿà¦¾",
+
+DlgDocPageTitle		: "à¦ªà§‡à¦œ à¦¶à§€à¦°à§à¦·à¦•",
+DlgDocLangDir		: "à¦­à¦¾à¦·à¦¾ à¦²à¦¿à¦–à¦¾à¦° à¦¦à¦¿à¦•",
+DlgDocLangDirLTR	: "à¦¬à¦¾à¦® à¦¥à§‡à¦•à§‡ à¦¡à¦¾à¦¨à§‡ (LTR)",
+DlgDocLangDirRTL	: "à¦¡à¦¾à¦¨ à¦¥à§‡à¦•à§‡ à¦¬à¦¾à¦®à§‡ (RTL)",
+DlgDocLangCode		: "à¦­à¦¾à¦·à¦¾ à¦•à§‹à¦¡",
+DlgDocCharSet		: "à¦•à§à¦¯à¦¾à¦°à§‡à¦•à§à¦Ÿà¦¾à¦° à¦¸à§‡à¦Ÿ à¦à¦¨à¦•à§‹à¦¡à¦¿à¦‚",
+DlgDocCharSetCE		: "Central European",	//MISSING
+DlgDocCharSetCT		: "Chinese Traditional (Big5)",	//MISSING
+DlgDocCharSetCR		: "Cyrillic",	//MISSING
+DlgDocCharSetGR		: "Greek",	//MISSING
+DlgDocCharSetJP		: "Japanese",	//MISSING
+DlgDocCharSetKR		: "Korean",	//MISSING
+DlgDocCharSetTR		: "Turkish",	//MISSING
+DlgDocCharSetUN		: "Unicode (UTF-8)",	//MISSING
+DlgDocCharSetWE		: "Western European",	//MISSING
+DlgDocCharSetOther	: "à¦…à¦¨à§à¦¯ à¦•à§à¦¯à¦¾à¦°à§‡à¦•à§à¦Ÿà¦¾à¦° à¦¸à§‡à¦Ÿ à¦à¦¨à¦•à§‹à¦¡à¦¿à¦‚",
+
+DlgDocDocType		: "à¦¡à¦•à§à¦¯à§à¦®à§‡à¦¨à§à¦Ÿ à¦Ÿà¦¾à¦‡à¦ª à¦¹à§‡à¦¡à¦¿à¦‚",
+DlgDocDocTypeOther	: "à¦…à¦¨à§à¦¯ à¦¡à¦•à§à¦¯à§à¦®à§‡à¦¨à§à¦Ÿ à¦Ÿà¦¾à¦‡à¦ª à¦¹à§‡à¦¡à¦¿à¦‚",
+DlgDocIncXHTML		: "XHTML à¦¡à§‡à¦•à§à¦²à¦¾à¦°à§‡à¦¶à¦¨ à¦¯à§à¦•à§à¦¤ à¦•à¦°",
+DlgDocBgColor		: "à¦¬à§à¦¯à¦¾à¦•à¦—à§à¦°à¦¾à¦‰à¦¨à§à¦¡ à¦°à¦‚",
+DlgDocBgImage		: "à¦¬à§à¦¯à¦¾à¦•à¦—à§à¦°à¦¾à¦‰à¦¨à§à¦¡ à¦›à¦¬à¦¿à¦° URL",
+DlgDocBgNoScroll	: "à¦¸à§à¦•à§à¦°à¦²à¦¹à§€à¦¨ à¦¬à§à¦¯à¦¾à¦•à¦—à§à¦°à¦¾à¦‰à¦¨à§à¦¡",
+DlgDocCText			: "à¦Ÿà§‡à¦•à§à¦¸à¦Ÿ",
+DlgDocCLink			: "à¦²à¦¿à¦‚à¦•",
+DlgDocCVisited		: "à¦­à¦¿à¦œà¦¿à¦Ÿ à¦•à¦°à¦¾ à¦²à¦¿à¦‚à¦•",
+DlgDocCActive		: "à¦¸à¦•à§à¦°à¦¿à§Ÿ à¦²à¦¿à¦‚à¦•",
+DlgDocMargins		: "à¦ªà§‡à¦œ à¦®à¦¾à¦°à§à¦œà¦¿à¦¨",
+DlgDocMaTop			: "à¦‰à¦ªà¦°",
+DlgDocMaLeft		: "à¦¬à¦¾à¦®à§‡",
+DlgDocMaRight		: "à¦¡à¦¾à¦¨à§‡",
+DlgDocMaBottom		: "à¦¨à§€à¦šà§‡",
+DlgDocMeIndex		: "à¦¡à¦•à§à¦¯à§à¦®à§‡à¦¨à§à¦Ÿ à¦‡à¦¨à§à¦¡à§‡à¦•à§à¦¸ à¦•à¦¿à¦“à§Ÿà¦¾à¦°à§à¦¡ (à¦•à¦®à¦¾ à¦¦à§à¦¬à¦¾à¦°à¦¾ à¦¬à¦¿à¦šà§à¦›à¦¿à¦¨à§à¦¨)",
+DlgDocMeDescr		: "à¦¡à¦•à§à¦¯à§‚à¦®à§‡à¦¨à§à¦Ÿ à¦¬à¦°à§à¦£à¦¨à¦¾",
+DlgDocMeAuthor		: "à¦²à§‡à¦–à¦•",
+DlgDocMeCopy		: "à¦•à¦ªà§€à¦°à¦¾à¦‡à¦Ÿ",
+DlgDocPreview		: "à¦ªà§à¦°à§€à¦­à¦¿à¦‰",
+
+// Templates Dialog
+Templates			: "à¦Ÿà§‡à¦®à¦ªà§à¦²à§‡à¦Ÿ",
+DlgTemplatesTitle	: "à¦•à¦¨à¦Ÿà§‡à¦¨à§à¦Ÿ à¦Ÿà§‡à¦®à¦ªà§à¦²à§‡à¦Ÿ",
+DlgTemplatesSelMsg	: "à¦…à¦¨à§à¦—à§à¦°à¦¹ à¦•à¦°à§‡ à¦à¦¡à¦¿à¦Ÿà¦°à§‡ à¦“à¦ªà§‡à¦¨ à¦•à¦°à¦¾à¦° à¦œà¦¨à§à¦¯ à¦Ÿà§‡à¦®à¦ªà§à¦²à§‡à¦Ÿ à¦¬à¦¾à¦›à¦¾à¦‡ à¦•à¦°à§à¦¨<br>(à¦†à¦¸à¦² à¦•à¦¨à¦Ÿà§‡à¦¨à§à¦Ÿ à¦¹à¦¾à¦°à¦¿à§Ÿà§‡ à¦¯à¦¾à¦¬à§‡):",
+DlgTemplatesLoading	: "à¦Ÿà§‡à¦®à¦ªà§à¦²à§‡à¦Ÿ à¦²à¦¿à¦¸à§à¦Ÿ à¦¹à¦¾à¦°à¦¿à§Ÿà§‡ à¦¯à¦¾à¦¬à§‡à¥¤ à¦…à¦¨à§à¦—à§à¦°à¦¹ à¦•à¦°à§‡ à¦…à¦ªà§‡à¦•à§à¦·à¦¾ à¦•à¦°à§à¦¨...",
+DlgTemplatesNoTpl	: "(à¦•à§‹à¦¨ à¦Ÿà§‡à¦®à¦ªà§à¦²à§‡à¦Ÿ à¦¡à¦¿à¦«à¦¾à¦‡à¦¨ à¦•à¦°à¦¾ à¦¨à§‡à¦‡)",
+DlgTemplatesReplace	: "Replace actual contents",	//MISSING
+
+// About Dialog
+DlgAboutAboutTab	: "à¦•à§‡ à¦¬à¦¾à¦¨à¦¿à§Ÿà§‡à¦›à§‡",
+DlgAboutBrowserInfoTab	: "à¦¬à§à¦°à¦¾à¦‰à¦œà¦¾à¦°à§‡à¦° à¦¬à§à¦¯à¦¾à¦ªà¦¾à¦°à§‡ à¦¤à¦¥à§à¦¯",
+DlgAboutLicenseTab	: "à¦²à¦¾à¦‡à¦¸à§‡à¦¨à§à¦¸",
+DlgAboutVersion		: "à¦­à¦¾à¦°à§à¦¸à¦¨",
+DlgAboutInfo		: "à¦†à¦°à¦“ à¦¤à¦¥à§à¦¯à§‡à¦° à¦œà¦¨à§à¦¯ à¦¯à¦¾à¦¨",
+
+// Div Dialog
+DlgDivGeneralTab	: "General",	//MISSING
+DlgDivAdvancedTab	: "Advanced",	//MISSING
+DlgDivStyle		: "Style",	//MISSING
+DlgDivInlineStyle	: "Inline Style",	//MISSING
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/el.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/el.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/el.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Greek language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Î‘Ï€ÏŒÎºÏÏ…ÏˆÎ· ÎœÏ€Î¬ÏÎ±Ï‚ Î•ÏÎ³Î±Î»ÎµÎ¯Ï‰Î½",
+ToolbarExpand		: "Î•Î¼Ï†Î¬Î½Î¹ÏƒÎ· ÎœÏ€Î¬ÏÎ±Ï‚ Î•ÏÎ³Î±Î»ÎµÎ¯Ï‰Î½",
+
+// Toolbar Items and Context Menu
+Save				: "Î‘Ï€Î¿Î¸Î®ÎºÎµÏ…ÏƒÎ·",
+NewPage				: "ÎÎ­Î± Î£ÎµÎ»Î¯Î´Î±",
+Preview				: "Î ÏÎ¿ÎµÏ€Î¹ÏƒÎºÏŒÏ€Î¹ÏƒÎ·",
+Cut					: "Î‘Ï€Î¿ÎºÎ¿Ï€Î®",
+Copy				: "Î‘Î½Ï„Î¹Î³ÏÎ±Ï†Î®",
+Paste				: "Î•Ï€Î¹ÎºÏŒÎ»Î»Î·ÏƒÎ·",
+PasteText			: "Î•Ï€Î¹ÎºÏŒÎ»Î»Î·ÏƒÎ· (Î±Ï€Î»ÏŒ ÎºÎµÎ¯Î¼ÎµÎ½Î¿)",
+PasteWord			: "Î•Ï€Î¹ÎºÏŒÎ»Î»Î·ÏƒÎ· Î±Ï€ÏŒ Ï„Î¿ Word",
+Print				: "Î•ÎºÏ„ÏÏ€Ï‰ÏƒÎ·",
+SelectAll			: "Î•Ï€Î¹Î»Î¿Î³Î® ÏŒÎ»Ï‰Î½",
+RemoveFormat		: "Î‘Ï†Î±Î¯ÏÎµÏƒÎ· ÎœÎ¿ÏÏ†Î¿Ï€Î¿Î¯Î·ÏƒÎ·Ï‚",
+InsertLinkLbl		: "Î£ÏÎ½Î´ÎµÏƒÎ¼Î¿Ï‚ (Link)",
+InsertLink			: "Î•Î¹ÏƒÎ±Î³Ï‰Î³Î®/ÎœÎµÏ„Î±Î²Î¿Î»Î® Î£Ï…Î½Î´Î­ÏƒÎ¼Î¿Ï… (Link)",
+RemoveLink			: "Î‘Ï†Î±Î¯ÏÎµÏƒÎ· Î£Ï…Î½Î´Î­ÏƒÎ¼Î¿Ï… (Link)",
+VisitLink			: "Open Link",	//MISSING
+Anchor				: "Î•Î¹ÏƒÎ±Î³Ï‰Î³Î®/ÎµÏ€ÎµÎ¾ÎµÏÎ³Î±ÏƒÎ¯Î± Anchor",
+AnchorDelete		: "Remove Anchor",	//MISSING
+InsertImageLbl		: "Î•Î¹ÎºÏŒÎ½Î±",
+InsertImage			: "Î•Î¹ÏƒÎ±Î³Ï‰Î³Î®/ÎœÎµÏ„Î±Î²Î¿Î»Î® Î•Î¹ÎºÏŒÎ½Î±Ï‚",
+InsertFlashLbl		: "Î•Î¹ÏƒÎ±Î³Ï‰Î³Î® Flash",
+InsertFlash			: "Î•Î¹ÏƒÎ±Î³Ï‰Î³Î®/ÎµÏ€ÎµÎ¾ÎµÏÎ³Î±ÏƒÎ¯Î± Flash",
+InsertTableLbl		: "Î Î¯Î½Î±ÎºÎ±Ï‚",
+InsertTable			: "Î•Î¹ÏƒÎ±Î³Ï‰Î³Î®/ÎœÎµÏ„Î±Î²Î¿Î»Î® Î Î¯Î½Î±ÎºÎ±",
+InsertLineLbl		: "Î“ÏÎ±Î¼Î¼Î®",
+InsertLine			: "Î•Î¹ÏƒÎ±Î³Ï‰Î³Î® ÎŸÏÎ¹Î¶ÏŒÎ½Ï„Î¹Î±Ï‚ Î“ÏÎ±Î¼Î¼Î®Ï‚",
+InsertSpecialCharLbl: "Î•Î¹Î´Î¹ÎºÏŒ Î£ÏÎ¼Î²Î¿Î»Î¿",
+InsertSpecialChar	: "Î•Î¹ÏƒÎ±Î³Ï‰Î³Î® Î•Î¹Î´Î¹ÎºÎ¿Ï Î£Ï…Î¼Î²ÏŒÎ»Î¿Ï…",
+InsertSmileyLbl		: "Smiley",
+InsertSmiley		: "Î•Î¹ÏƒÎ±Î³Ï‰Î³Î® Smiley",
+About				: "Î ÎµÏÎ¯ Ï„Î¿Ï… FCKeditor",
+Bold				: "ÎˆÎ½Ï„Î¿Î½Î±",
+Italic				: "Î Î»Î¬Î³Î¹Î±",
+Underline			: "Î¥Ï€Î¿Î³ÏÎ¬Î¼Î¼Î¹ÏƒÎ·",
+StrikeThrough		: "Î”Î¹Î±Î³ÏÎ¬Î¼Î¼Î¹ÏƒÎ·",
+Subscript			: "Î”ÎµÎ¯ÎºÏ„Î·Ï‚",
+Superscript			: "Î•ÎºÎ¸Î­Ï„Î·Ï‚",
+LeftJustify			: "Î£Ï„Î¿Î¯Ï‡Î¹ÏƒÎ· Î‘ÏÎ¹ÏƒÏ„ÎµÏÎ¬",
+CenterJustify		: "Î£Ï„Î¿Î¯Ï‡Î¹ÏƒÎ· ÏƒÏ„Î¿ ÎšÎ­Î½Ï„ÏÎ¿",
+RightJustify		: "Î£Ï„Î¿Î¯Ï‡Î¹ÏƒÎ· Î”ÎµÎ¾Î¹Î¬",
+BlockJustify		: "Î Î»Î®ÏÎ·Ï‚ Î£Ï„Î¿Î¯Ï‡Î¹ÏƒÎ· (Block)",
+DecreaseIndent		: "ÎœÎµÎ¯Ï‰ÏƒÎ· Î•ÏƒÎ¿Ï‡Î®Ï‚",
+IncreaseIndent		: "Î‘ÏÎ¾Î·ÏƒÎ· Î•ÏƒÎ¿Ï‡Î®Ï‚",
+Blockquote			: "Blockquote",	//MISSING
+CreateDiv			: "Create Div Container",	//MISSING
+EditDiv				: "Edit Div Container",	//MISSING
+DeleteDiv			: "Remove Div Container",	//MISSING
+Undo				: "Î‘Î½Î±Î¯ÏÎµÏƒÎ·",
+Redo				: "Î•Ï€Î±Î½Î±Ï†Î¿ÏÎ¬",
+NumberedListLbl		: "Î›Î¯ÏƒÏ„Î± Î¼Îµ Î‘ÏÎ¹Î¸Î¼Î¿ÏÏ‚",
+NumberedList		: "Î•Î¹ÏƒÎ±Î³Ï‰Î³Î®/Î”Î¹Î±Î³ÏÎ±Ï†Î® Î›Î¯ÏƒÏ„Î±Ï‚ Î¼Îµ Î‘ÏÎ¹Î¸Î¼Î¿ÏÏ‚",
+BulletedListLbl		: "Î›Î¯ÏƒÏ„Î± Î¼Îµ Bullets",
+BulletedList		: "Î•Î¹ÏƒÎ±Î³Ï‰Î³Î®/Î”Î¹Î±Î³ÏÎ±Ï†Î® Î›Î¯ÏƒÏ„Î±Ï‚ Î¼Îµ Bullets",
+ShowTableBorders	: "Î ÏÎ¿Î²Î¿Î»Î® ÎŸÏÎ¯Ï‰Î½ Î Î¯Î½Î±ÎºÎ±",
+ShowDetails			: "Î ÏÎ¿Î²Î¿Î»Î® Î›ÎµÏ€Ï„Î¿Î¼ÎµÏÎµÎ¹ÏÎ½",
+Style				: "Î£Ï„Ï…Î»",
+FontFormat			: "ÎœÎ¿ÏÏ†Î® Î“ÏÎ±Î¼Î¼Î±Ï„Î¿ÏƒÎµÎ¹ÏÎ¬Ï‚",
+Font				: "Î“ÏÎ±Î¼Î¼Î±Ï„Î¿ÏƒÎµÎ¹ÏÎ¬",
+FontSize			: "ÎœÎ­Î³ÎµÎ¸Î¿Ï‚",
+TextColor			: "Î§ÏÏÎ¼Î± Î“ÏÎ±Î¼Î¼Î¬Ï„Ï‰Î½",
+BGColor				: "Î§ÏÏÎ¼Î± Î¥Ï€Î¿Î²Î¬Î¸ÏÎ¿Ï…",
+Source				: "HTML ÎºÏÎ´Î¹ÎºÎ±Ï‚",
+Find				: "Î‘Î½Î±Î¶Î®Ï„Î·ÏƒÎ·",
+Replace				: "Î‘Î½Ï„Î¹ÎºÎ±Ï„Î¬ÏƒÏ„Î±ÏƒÎ·",
+SpellCheck			: "ÎŸÏÎ¸Î¿Î³ÏÎ±Ï†Î¹ÎºÏŒÏ‚ Î­Î»ÎµÎ³Ï‡Î¿Ï‚",
+UniversalKeyboard	: "Î”Î¹ÎµÎ¸Î½Î®Ï‚ Ï€Î»Î·ÎºÏ„ÏÎ¿Î»ÏŒÎ³Î¹Î¿",
+PageBreakLbl		: "Î¤Î­Î»Î¿Ï‚ ÏƒÎµÎ»Î¯Î´Î±Ï‚",
+PageBreak			: "Î•Î¹ÏƒÎ±Î³Ï‰Î³Î® Ï„Î­Î»Î¿Ï…Ï‚ ÏƒÎµÎ»Î¯Î´Î±Ï‚",
+
+Form			: "Î¦ÏŒÏÎ¼Î±",
+Checkbox		: "ÎšÎ¿Ï…Ï„Î¯ ÎµÏ€Î¹Î»Î¿Î³Î®Ï‚",
+RadioButton		: "ÎšÎ¿Ï…Î¼Ï€Î¯ Radio",
+TextField		: "Î ÎµÎ´Î¯Î¿ ÎºÎµÎ¹Î¼Î­Î½Î¿Ï…",
+Textarea		: "Î ÎµÏÎ¹Î¿Ï‡Î® ÎºÎµÎ¹Î¼Î­Î½Î¿Ï…",
+HiddenField		: "ÎšÏÏ…Ï†ÏŒ Ï€ÎµÎ´Î¯Î¿",
+Button			: "ÎšÎ¿Ï…Î¼Ï€Î¯",
+SelectionField	: "Î ÎµÎ´Î¯Î¿ ÎµÏ€Î¹Î»Î¿Î³Î®Ï‚",
+ImageButton		: "ÎšÎ¿Ï…Î¼Ï€Î¯ ÎµÎ¹ÎºÏŒÎ½Î±Ï‚",
+
+FitWindow		: "ÎœÎµÎ³Î¹ÏƒÏ„Î¿Ï€Î¿Î¯Î·ÏƒÎ· Ï€ÏÎ¿Î³ÏÎ¬Î¼Î¼Î±Ï„Î¿Ï‚",
+ShowBlocks		: "Show Blocks",	//MISSING
+
+// Context Menu
+EditLink			: "ÎœÎµÏ„Î±Î²Î¿Î»Î® Î£Ï…Î½Î´Î­ÏƒÎ¼Î¿Ï… (Link)",
+CellCM				: "ÎšÎµÎ»Î¯",
+RowCM				: "Î£ÎµÎ¹ÏÎ¬",
+ColumnCM			: "Î£Ï„Î®Î»Î·",
+InsertRowAfter		: "Insert Row After",	//MISSING
+InsertRowBefore		: "Insert Row Before",	//MISSING
+DeleteRows			: "Î”Î¹Î±Î³ÏÎ±Ï†Î® Î“ÏÎ±Î¼Î¼ÏÎ½",
+InsertColumnAfter	: "Insert Column After",	//MISSING
+InsertColumnBefore	: "Insert Column Before",	//MISSING
+DeleteColumns		: "Î”Î¹Î±Î³ÏÎ±Ï†Î® ÎšÎ¿Î»Ï‰Î½ÏÎ½",
+InsertCellAfter		: "Insert Cell After",	//MISSING
+InsertCellBefore	: "Insert Cell Before",	//MISSING
+DeleteCells			: "Î”Î¹Î±Î³ÏÎ±Ï†Î® ÎšÎµÎ»Î¹ÏÎ½",
+MergeCells			: "Î•Î½Î¿Ï€Î¿Î¯Î·ÏƒÎ· ÎšÎµÎ»Î¹ÏÎ½",
+MergeRight			: "Merge Right",	//MISSING
+MergeDown			: "Merge Down",	//MISSING
+HorizontalSplitCell	: "Split Cell Horizontally",	//MISSING
+VerticalSplitCell	: "Split Cell Vertically",	//MISSING
+TableDelete			: "Î”Î¹Î±Î³ÏÎ±Ï†Î® Ï€Î¯Î½Î±ÎºÎ±",
+CellProperties		: "Î™Î´Î¹ÏŒÏ„Î·Ï„ÎµÏ‚ ÎšÎµÎ»Î¹Î¿Ï",
+TableProperties		: "Î™Î´Î¹ÏŒÏ„Î·Ï„ÎµÏ‚ Î Î¯Î½Î±ÎºÎ±",
+ImageProperties		: "Î™Î´Î¹ÏŒÏ„Î·Ï„ÎµÏ‚ Î•Î¹ÎºÏŒÎ½Î±Ï‚",
+FlashProperties		: "Î™Î´Î¹ÏŒÏ„Î·Ï„ÎµÏ‚ Flash",
+
+AnchorProp			: "Î™Î´Î¹ÏŒÏ„Î·Ï„ÎµÏ‚ Î¬Î³ÎºÏ…ÏÎ±Ï‚",
+ButtonProp			: "Î™Î´Î¹ÏŒÏ„Î·Ï„ÎµÏ‚ ÎºÎ¿Ï…Î¼Ï€Î¹Î¿Ï",
+CheckboxProp		: "Î™Î´Î¹ÏŒÏ„Î·Ï„ÎµÏ‚ ÎºÎ¿Ï…Î¼Ï€Î¹Î¿Ï ÎµÏ€Î¹Î»Î¿Î³Î®Ï‚",
+HiddenFieldProp		: "Î™Î´Î¹ÏŒÏ„Î·Ï„ÎµÏ‚ ÎºÏÏ…Ï†Î¿Ï Ï€ÎµÎ´Î¯Î¿Ï…",
+RadioButtonProp		: "Î™Î´Î¹ÏŒÏ„Î·Ï„ÎµÏ‚ ÎºÎ¿Ï…Î¼Ï€Î¹Î¿Ï radio",
+ImageButtonProp		: "Î™Î´Î¹ÏŒÏ„Î·Ï„ÎµÏ‚ ÎºÎ¿Ï…Î¼Ï€Î¹Î¿Ï ÎµÎ¹ÎºÏŒÎ½Î±Ï‚",
+TextFieldProp		: "Î™Î´Î¹ÏŒÏ„Î·Ï„ÎµÏ‚ Ï€ÎµÎ´Î¯Î¿Ï… ÎºÎµÎ¹Î¼Î­Î½Î¿Ï…",
+SelectionFieldProp	: "Î™Î´Î¹ÏŒÏ„Î·Ï„ÎµÏ‚ Ï€ÎµÎ´Î¯Î¿Ï… ÎµÏ€Î¹Î»Î¿Î³Î®Ï‚",
+TextareaProp		: "Î™Î´Î¹ÏŒÏ„Î·Ï„ÎµÏ‚ Ï€ÎµÏÎ¹Î¿Ï‡Î®Ï‚ ÎºÎµÎ¹Î¼Î­Î½Î¿Ï…",
+FormProp			: "Î™Î´Î¹ÏŒÏ„Î·Ï„ÎµÏ‚ Ï†ÏŒÏÎ¼Î±Ï‚",
+
+FontFormats			: "ÎšÎ±Î½Î¿Î½Î¹ÎºÏŒ;ÎœÎ¿ÏÏ†Î¿Ï€Î¿Î¹Î·Î¼Î­Î½Î¿;Î”Î¹ÎµÏÎ¸Ï…Î½ÏƒÎ·;Î•Ï€Î¹ÎºÎµÏ†Î±Î»Î¯Î´Î± 1;Î•Ï€Î¹ÎºÎµÏ†Î±Î»Î¯Î´Î± 2;Î•Ï€Î¹ÎºÎµÏ†Î±Î»Î¯Î´Î± 3;Î•Ï€Î¹ÎºÎµÏ†Î±Î»Î¯Î´Î± 4;Î•Ï€Î¹ÎºÎµÏ†Î±Î»Î¯Î´Î± 5;Î•Ï€Î¹ÎºÎµÏ†Î±Î»Î¯Î´Î± 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "Î•Ï€ÎµÎ¾ÎµÏÎ³Î±ÏƒÎ¯Î± XHTML. Î Î±ÏÎ±ÎºÎ±Î»Ï Ï€ÎµÏÎ¹Î¼Î­Î½ÎµÏ„Îµ...",
+Done				: "ÎˆÏ„Î¿Î¹Î¼Î¿",
+PasteWordConfirm	: "Î¤Î¿ ÎºÎµÎ¯Î¼ÎµÎ½Î¿ Ï€Î¿Ï… Î¸Î­Î»ÎµÏ„Îµ Î½Î± ÎµÏ€Î¹ÎºÎ¿Î»Î®ÏƒÎµÏ„Îµ, Ï†Î±Î¯Î½ÎµÏ„Î±Î¹ Ï€Ï‰Ï‚ Ï€ÏÎ¿Î­ÏÏ‡ÎµÏ„Î±Î¹ Î±Ï€ÏŒ Ï„Î¿ Word. Î˜Î­Î»ÎµÏ„Îµ Î½Î± ÎºÎ±Î¸Î±ÏÎ¹ÏƒÏ„ÎµÎ¯ Ï€ÏÎ¹Î½ ÎµÏ€Î¹ÎºÎ¿Î»Î·Î¸ÎµÎ¯;",
+NotCompatiblePaste	: "Î‘Ï…Ï„Î® Î· ÎµÏ€Î¹Î»Î¿Î³Î® ÎµÎ¯Î½Î±Î¹ Î´Î¹Î±Î¸Î­ÏƒÎ¹Î¼Î· ÏƒÏ„Î¿Î½ Internet Explorer Î­ÎºÎ´Î¿ÏƒÎ· 5.5+. Î˜Î­Î»ÎµÏ„Îµ Î½Î± Î³Î¯Î½ÎµÎ¹ Î· ÎµÏ€Î¹ÎºÏŒÎ»Î»Î·ÏƒÎ· Ï‡Ï‰ÏÎ¯Ï‚ ÎºÎ±Î¸Î±ÏÎ¹ÏƒÎ¼ÏŒ;",
+UnknownToolbarItem	: "Î†Î³Î½Ï‰ÏƒÏ„Î¿ Î±Î½Ï„Î¹ÎºÎµÎ¯Î¼ÎµÎ½Î¿ Ï„Î·Ï‚ Î¼Ï€Î¬ÏÎ±Ï‚ ÎµÏÎ³Î±Î»ÎµÎ¯Ï‰Î½ \"%1\"",
+UnknownCommand		: "Î†Î³Î½Ï‰ÏƒÏ„Î® ÎµÎ½Ï„Î¿Î»Î® \"%1\"",
+NotImplemented		: "Î— ÎµÎ½Ï„Î¿Î»Î® Î´ÎµÎ½ Î­Ï‡ÎµÎ¹ ÎµÎ½ÎµÏÎ³Î¿Ï€Î¿Î¹Î·Î¸ÎµÎ¯",
+UnknownToolbarSet	: "Î— Î¼Ï€Î¬ÏÎ± ÎµÏÎ³Î±Î»ÎµÎ¯Ï‰Î½ \"%1\" Î´ÎµÎ½ Ï…Ï€Î¬ÏÏ‡ÎµÎ¹",
+NoActiveX			: "ÎŸÎ¹ ÏÏ…Î¸Î¼Î¯ÏƒÎµÎ¹Ï‚ Î±ÏƒÏ†Î±Î»ÎµÎ¯Î±Ï‚ Ï„Î¿Ï… browser ÏƒÎ±Ï‚ Î¼Ï€Î¿ÏÎµÎ¯ Î½Î± Ï€ÎµÏÎ¹Î¿ÏÎ¯ÏƒÎ¿Ï…Î½ ÎºÎ¬Ï€Î¿Î¹ÎµÏ‚ ÏÏ…Î¸Î¼Î¯ÏƒÎµÎ¹Ï‚ Ï„Î¿Ï… Ï€ÏÎ¿Î³ÏÎ¬Î¼Î¼Î±Ï„Î¿Ï‚. Î§ÏÎµÎ¹Î¬Î¶ÎµÏ„Î±Î¹ Î½Î± ÎµÎ½ÎµÏÎ³Î¿Ï€Î¿Î¹Î®ÏƒÎµÏ„Îµ Ï„Î·Î½ ÎµÏ€Î¹Î»Î¿Î³Î® \"Run ActiveX controls and plug-ins\". ÎŠÏƒÏ‰Ï‚ Ï€Î±ÏÎ¿Ï…ÏƒÎ¹Î±ÏƒÏ„Î¿ÏÎ½ Î»Î¬Î¸Î· ÎºÎ±Î¹ Ï€Î±ÏÎ±Ï„Î·ÏÎ®ÏƒÎµÏ„Îµ ÎµÎ»ÎµÎ¹Ï€ÎµÎ¯Ï‚ Î»ÎµÎ¹Ï„Î¿Ï…ÏÎ³Î¯ÎµÏ‚.",
+BrowseServerBlocked : "ÎŸÎ¹ Ï€ÏŒÏÎ¿Î¹ Ï„Î¿Ï… browser ÏƒÎ±Ï‚ Î´ÎµÎ½ ÎµÎ¯Î½Î±Î¹ Ï€ÏÎ¿ÏƒÏ€ÎµÎ»Î¬ÏƒÎ¹Î¼Î¿Î¹. Î£Î¹Î³Î¿Ï…ÏÎµÏ…Ï„ÎµÎ¯Ï„Îµ ÏŒÏ„Î¹ Î´ÎµÎ½ Ï…Ï€Î¬ÏÏ‡Î¿Ï…Î½ ÎµÎ½ÎµÏÎ³Î¿Î¯ popup blockers.",
+DialogBlocked		: "Î”ÎµÎ½ Î®Ï„Î±Î½ Î´Ï…Î½Î±Ï„ÏŒ Î½Î± Î±Î½Î¿Î¯Î¾ÎµÎ¹ Ï„Î¿ Ï€Î±ÏÎ¬Î¸Ï…ÏÎ¿ Î´Î¹Î±Î»ÏŒÎ³Î¿Ï…. Î£Î¹Î³Î¿Ï…ÏÎµÏ…Ï„ÎµÎ¯Ï„Îµ ÏŒÏ„Î¹ Î´ÎµÎ½ Ï…Ï€Î¬ÏÏ‡Î¿Ï…Î½ ÎµÎ½ÎµÏÎ³Î¿Î¯ popup blockers.",
+VisitLinkBlocked	: "It was not possible to open a new window. Make sure all popup blockers are disabled.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Î‘ÎºÏÏÏ‰ÏƒÎ·",
+DlgBtnClose			: "ÎšÎ»ÎµÎ¯ÏƒÎ¹Î¼Î¿",
+DlgBtnBrowseServer	: "Î•Î¾ÎµÏÎµÏÎ½Î·ÏƒÎ· Î´Î¹Î±ÎºÎ¿Î¼Î¹ÏƒÏ„Î®",
+DlgAdvancedTag		: "Î“Î¹Î± Ï€ÏÎ¿Ï‡Ï‰ÏÎ·Î¼Î­Î½Î¿Ï…Ï‚",
+DlgOpOther			: "<Î†Î»Î»Î±>",
+DlgInfoTab			: "Î Î»Î·ÏÎ¿Ï†Î¿ÏÎ¯ÎµÏ‚",
+DlgAlertUrl			: "Î Î±ÏÎ±ÎºÎ±Î»Ï ÎµÎ¹ÏƒÎ¬Î³ÎµÏ„Îµ URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<Ï‡Ï‰ÏÎ¯Ï‚>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "ÎšÎ±Ï„ÎµÏÎ¸Ï…Î½ÏƒÎ· ÎºÎµÎ¹Î¼Î­Î½Î¿Ï…",
+DlgGenLangDirLtr	: "Î‘ÏÎ¹ÏƒÏ„ÎµÏÎ¬ Ï€ÏÎ¿Ï‚ Î”ÎµÎ¾Î¹Î¬ (LTR)",
+DlgGenLangDirRtl	: "Î”ÎµÎ¾Î¹Î¬ Ï€ÏÎ¿Ï‚ Î‘ÏÎ¹ÏƒÏ„ÎµÏÎ¬ (RTL)",
+DlgGenLangCode		: "ÎšÏ‰Î´Î¹ÎºÏŒÏ‚ Î“Î»ÏÏƒÏƒÎ±Ï‚",
+DlgGenAccessKey		: "Î£Ï…Î½Ï„ÏŒÎ¼ÎµÏ…ÏƒÎ· (Access Key)",
+DlgGenName			: "ÎŒÎ½Î¿Î¼Î±",
+DlgGenTabIndex		: "Tab Index",
+DlgGenLongDescr		: "Î‘Î½Î±Î»Ï…Ï„Î¹ÎºÎ® Ï€ÎµÏÎ¹Î³ÏÎ±Ï†Î® URL",
+DlgGenClass			: "Stylesheet Classes",
+DlgGenTitle			: "Î£Ï…Î¼Î²Î¿Ï…Î»ÎµÏ…Ï„Î¹ÎºÏŒÏ‚ Ï„Î¯Ï„Î»Î¿Ï‚",
+DlgGenContType		: "Î£Ï…Î¼Î²Î¿Ï…Î»ÎµÏ…Ï„Î¹ÎºÏŒÏ‚ Ï„Î¯Ï„Î»Î¿Ï‚ Ï€ÎµÏÎ¹ÎµÏ‡Î¿Î¼Î­Î½Î¿Ï…",
+DlgGenLinkCharset	: "Linked Resource Charset",
+DlgGenStyle			: "Î£Ï„ÏÎ»",
+
+// Image Dialog
+DlgImgTitle			: "Î™Î´Î¹ÏŒÏ„Î·Ï„ÎµÏ‚ Î•Î¹ÎºÏŒÎ½Î±Ï‚",
+DlgImgInfoTab		: "Î Î»Î·ÏÎ¿Ï†Î¿ÏÎ¯ÎµÏ‚ Î•Î¹ÎºÏŒÎ½Î±Ï‚",
+DlgImgBtnUpload		: "Î‘Ï€Î¿ÏƒÏ„Î¿Î»Î® ÏƒÏ„Î¿Î½ Î”Î¹Î±ÎºÎ¿Î¼Î¹ÏƒÏ„Î®",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Î‘Ï€Î¿ÏƒÏ„Î¿Î»Î®",
+DlgImgAlt			: "Î•Î½Î±Î»Î»Î±ÎºÏ„Î¹ÎºÏŒ ÎšÎµÎ¯Î¼ÎµÎ½Î¿ (ALT)",
+DlgImgWidth			: "Î Î»Î¬Ï„Î¿Ï‚",
+DlgImgHeight		: "ÎÏˆÎ¿Ï‚",
+DlgImgLockRatio		: "ÎšÎ»ÎµÎ¯Î´Ï‰Î¼Î± Î‘Î½Î±Î»Î¿Î³Î¯Î±Ï‚",
+DlgBtnResetSize		: "Î•Ï€Î±Î½Î±Ï†Î¿ÏÎ¬ Î‘ÏÏ‡Î¹ÎºÎ¿Ï ÎœÎµÎ³Î­Î¸Î¿Ï…Ï‚",
+DlgImgBorder		: "Î ÎµÏÎ¹Î¸ÏÏÎ¹Î¿",
+DlgImgHSpace		: "ÎŸÏÎ¹Î¶ÏŒÎ½Ï„Î¹Î¿Ï‚ Î§ÏÏÎ¿Ï‚ (HSpace)",
+DlgImgVSpace		: "ÎšÎ¬Î¸ÎµÏ„Î¿Ï‚ Î§ÏÏÎ¿Ï‚ (VSpace)",
+DlgImgAlign			: "Î•Ï…Î¸Ï…Î³ÏÎ¬Î¼Î¼Î¹ÏƒÎ· (Align)",
+DlgImgAlignLeft		: "Î‘ÏÎ¹ÏƒÏ„ÎµÏÎ¬",
+DlgImgAlignAbsBottom: "Î‘Ï€ÏŒÎ»Ï…Ï„Î± ÎšÎ¬Ï„Ï‰ (Abs Bottom)",
+DlgImgAlignAbsMiddle: "Î‘Ï€ÏŒÎ»Ï…Ï„Î± ÏƒÏ„Î· ÎœÎ­ÏƒÎ· (Abs Middle)",
+DlgImgAlignBaseline	: "Î“ÏÎ±Î¼Î¼Î® Î’Î¬ÏƒÎ·Ï‚ (Baseline)",
+DlgImgAlignBottom	: "ÎšÎ¬Ï„Ï‰ (Bottom)",
+DlgImgAlignMiddle	: "ÎœÎ­ÏƒÎ· (Middle)",
+DlgImgAlignRight	: "Î”ÎµÎ¾Î¹Î¬ (Right)",
+DlgImgAlignTextTop	: "ÎšÎ¿ÏÏ…Ï†Î® ÎšÎµÎ¹Î¼Î­Î½Î¿Ï… (Text Top)",
+DlgImgAlignTop		: "Î Î¬Î½Ï‰ (Top)",
+DlgImgPreview		: "Î ÏÎ¿ÎµÏ€Î¹ÏƒÎºÏŒÏ€Î¹ÏƒÎ·",
+DlgImgAlertUrl		: "Î•Î¹ÏƒÎ¬Î³ÎµÏ„Îµ Ï„Î·Î½ Ï„Î¿Ï€Î¿Î¸ÎµÏƒÎ¯Î± (URL) Ï„Î·Ï‚ ÎµÎ¹ÎºÏŒÎ½Î±Ï‚",
+DlgImgLinkTab		: "Î£ÏÎ½Î´ÎµÏƒÎ¼Î¿Ï‚",
+
+// Flash Dialog
+DlgFlashTitle		: "Î™Î´Î¹ÏŒÏ„Î·Ï„ÎµÏ‚ flash",
+DlgFlashChkPlay		: "Î‘Ï…Ï„ÏŒÎ¼Î±Ï„Î· Î­Î½Î±ÏÎ¾Î·",
+DlgFlashChkLoop		: "Î•Ï€Î±Î½Î¬Î»Î·ÏˆÎ·",
+DlgFlashChkMenu		: "Î•Î½ÎµÏÎ³Î¿Ï€Î¿Î¯Î·ÏƒÎ· Flash Menu",
+DlgFlashScale		: "ÎšÎ»Î¯Î¼Î±ÎºÎ±",
+DlgFlashScaleAll	: "Î•Î¼Ï†Î¬Î½Î¹ÏƒÎ· ÏŒÎ»Ï‰Î½",
+DlgFlashScaleNoBorder	: "Î§Ï‰ÏÎ¯Ï‚ ÏŒÏÎ¹Î±",
+DlgFlashScaleFit	: "Î‘ÎºÏÎ¹Î²Î®Ï‚ ÎµÏ†Î±ÏÎ¼Î¿Î³Î®",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Î£ÏÎ½Î´ÎµÏƒÎ¼Î¿Ï‚ (Link)",
+DlgLnkInfoTab		: "Link",
+DlgLnkTargetTab		: "Î Î±ÏÎ¬Î¸Ï…ÏÎ¿ Î£Ï„ÏŒÏ‡Î¿Ï‚ (Target)",
+
+DlgLnkType			: "Î¤ÏÏ€Î¿Ï‚ ÏƒÏ…Î½Î´Î­ÏƒÎ¼Î¿Ï… (Link)",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Î†Î³ÎºÏ…ÏÎ± ÏƒÎµ Î±Ï…Ï„Î® Ï„Î· ÏƒÎµÎ»Î¯Î´Î±",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Î ÏÎ¿Ï„ÏŒÎºÎ¿Î»Î¿",
+DlgLnkProtoOther	: "<Î¬Î»Î»Î¿>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Î•Ï€Î¹Î»Î­Î¾Ï„Îµ Î¼Î¹Î± Î¬Î³ÎºÏ…ÏÎ±",
+DlgLnkAnchorByName	: "Î’Î¬ÏƒÎµÎ¹ Ï„Î¿Ï… ÎŸÎ½ÏŒÎ¼Î±Ï„Î¿Ï‚ (Name) Ï„Î·Ï‚ Î¬Î³ÎºÏ…ÏÎ±Ï‚",
+DlgLnkAnchorById	: "Î’Î¬ÏƒÎµÎ¹ Ï„Î¿Ï… Element Id",
+DlgLnkNoAnchors		: "(Î”ÎµÎ½ Ï…Ï€Î¬ÏÏ‡Î¿Ï…Î½ Î¬Î³ÎºÏ…ÏÎµÏ‚ ÏƒÏ„Î¿ ÎºÎµÎ¯Î¼ÎµÎ½Î¿)",
+DlgLnkEMail			: "Î”Î¹ÎµÏÎ¸Ï…Î½ÏƒÎ· Î—Î»ÎµÎºÏ„ÏÎ¿Î½Î¹ÎºÎ¿Ï Î¤Î±Ï‡Ï…Î´ÏÎ¿Î¼ÎµÎ¯Î¿Ï…",
+DlgLnkEMailSubject	: "Î˜Î­Î¼Î± ÎœÎ·Î½ÏÎ¼Î±Ï„Î¿Ï‚",
+DlgLnkEMailBody		: "ÎšÎµÎ¯Î¼ÎµÎ½Î¿ ÎœÎ·Î½ÏÎ¼Î±Ï„Î¿Ï‚",
+DlgLnkUpload		: "Î‘Ï€Î¿ÏƒÏ„Î¿Î»Î®",
+DlgLnkBtnUpload		: "Î‘Ï€Î¿ÏƒÏ„Î¿Î»Î® ÏƒÏ„Î¿Î½ Î”Î¹Î±ÎºÎ¿Î¼Î¹ÏƒÏ„Î®",
+
+DlgLnkTarget		: "Î Î±ÏÎ¬Î¸Ï…ÏÎ¿ Î£Ï„ÏŒÏ‡Î¿Ï‚ (Target)",
+DlgLnkTargetFrame	: "<Ï€Î»Î±Î¯ÏƒÎ¹Î¿>",
+DlgLnkTargetPopup	: "<Ï€Î±ÏÎ¬Î¸Ï…ÏÎ¿ popup>",
+DlgLnkTargetBlank	: "ÎÎ­Î¿ Î Î±ÏÎ¬Î¸Ï…ÏÎ¿ (_blank)",
+DlgLnkTargetParent	: "Î“Î¿Î½Î¹ÎºÏŒ Î Î±ÏÎ¬Î¸Ï…ÏÎ¿ (_parent)",
+DlgLnkTargetSelf	: "ÎŠÎ´Î¹Î¿ Î Î±ÏÎ¬Î¸Ï…ÏÎ¿ (_self)",
+DlgLnkTargetTop		: "Î‘Î½ÏÏ„Î±Ï„Î¿ Î Î±ÏÎ¬Î¸Ï…ÏÎ¿ (_top)",
+DlgLnkTargetFrameName	: "ÎŒÎ½Î¿Î¼Î± Ï€Î»Î±Î¹ÏƒÎ¯Î¿Ï… ÏƒÏ„ÏŒÏ‡Î¿Ï…",
+DlgLnkPopWinName	: "ÎŒÎ½Î¿Î¼Î± Popup Window",
+DlgLnkPopWinFeat	: "Î•Ï€Î¹Î»Î¿Î³Î­Ï‚ Popup Window",
+DlgLnkPopResize		: "ÎœÎµ Î±Î»Î»Î±Î³Î® ÎœÎµÎ³Î­Î¸Î¿Ï…Ï‚",
+DlgLnkPopLocation	: "ÎœÏ€Î¬ÏÎ± Î¤Î¿Ï€Î¿Î¸ÎµÏƒÎ¯Î±Ï‚",
+DlgLnkPopMenu		: "ÎœÏ€Î¬ÏÎ± Menu",
+DlgLnkPopScroll		: "ÎœÏ€Î¬ÏÎµÏ‚ ÎšÏÎ»Î¹ÏƒÎ·Ï‚",
+DlgLnkPopStatus		: "ÎœÏ€Î¬ÏÎ± Status",
+DlgLnkPopToolbar	: "ÎœÏ€Î¬ÏÎ± Î•ÏÎ³Î±Î»ÎµÎ¯Ï‰Î½",
+DlgLnkPopFullScrn	: "ÎŸÎ»ÏŒÎºÎ»Î·ÏÎ· Î· ÎŸÎ¸ÏŒÎ½Î· (IE)",
+DlgLnkPopDependent	: "Dependent (Netscape)",
+DlgLnkPopWidth		: "Î Î»Î¬Ï„Î¿Ï‚",
+DlgLnkPopHeight		: "ÎÏˆÎ¿Ï‚",
+DlgLnkPopLeft		: "Î¤Î¿Ï€Î¿Î¸ÎµÏƒÎ¯Î± Î‘ÏÎ¹ÏƒÏ„ÎµÏÎ®Ï‚ Î†ÎºÏÎ·Ï‚",
+DlgLnkPopTop		: "Î¤Î¿Ï€Î¿Î¸ÎµÏƒÎ¯Î± Î Î¬Î½Ï‰ Î†ÎºÏÎ·Ï‚",
+
+DlnLnkMsgNoUrl		: "Î•Î¹ÏƒÎ¬Î³ÎµÏ„Îµ Ï„Î·Î½ Ï„Î¿Ï€Î¿Î¸ÎµÏƒÎ¯Î± (URL) Ï„Î¿Ï… Ï…Ï€ÎµÏÏƒÏ…Î½Î´Î­ÏƒÎ¼Î¿Ï… (Link)",
+DlnLnkMsgNoEMail	: "Î•Î¹ÏƒÎ¬Î³ÎµÏ„Îµ Ï„Î·Î½ Î´Î¹ÎµÏÎ¸Ï…Î½ÏƒÎ· Î·Î»ÎµÎºÏ„ÏÎ¿Î½Î¹ÎºÎ¿Ï Ï„Î±Ï‡Ï…Î´ÏÎ¿Î¼ÎµÎ¯Î¿Ï…",
+DlnLnkMsgNoAnchor	: "Î•Ï€Î¹Î»Î­Î¾Ï„Îµ Î­Î½Î± Anchor",
+DlnLnkMsgInvPopName	: "Î¤Î¿ ÏŒÎ½Î¿Î¼Î± Ï„Î¿Ï… popup Ï€ÏÎ­Ï€ÎµÎ¹ Î½Î± Î±ÏÏ‡Î¯Î¶ÎµÎ¹ Î¼Îµ Ï‡Î±ÏÎ±ÎºÏ„Î®ÏÎ± Ï„Î·Ï‚ Î±Î»Ï†Î±Î²Î®Ï„Î¿Ï… ÎºÎ±Î¹ Î½Î± Î¼Î·Î½ Ï€ÎµÏÎ¹Î­Ï‡ÎµÎ¹ ÎºÎµÎ½Î¬",
+
+// Color Dialog
+DlgColorTitle		: "Î•Ï€Î¹Î»Î¿Î³Î® Ï‡ÏÏÎ¼Î±Ï„Î¿Ï‚",
+DlgColorBtnClear	: "ÎšÎ±Î¸Î±ÏÎ¹ÏƒÎ¼ÏŒÏ‚",
+DlgColorHighlight	: "Î ÏÎ¿ÎµÏ€Î¹ÏƒÎºÏŒÏ€Î¹ÏƒÎ·",
+DlgColorSelected	: "Î•Ï€Î¹Î»ÎµÎ³Î¼Î­Î½Î¿",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Î•Ï€Î¹Î»Î­Î¾Ï„Îµ Î­Î½Î± Smiley",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Î•Ï€Î¹Î»Î­Î¾Ï„Îµ Î­Î½Î± Î•Î¹Î´Î¹ÎºÏŒ Î£ÏÎ¼Î²Î¿Î»Î¿",
+
+// Table Dialog
+DlgTableTitle		: "Î™Î´Î¹ÏŒÏ„Î·Ï„ÎµÏ‚ Î Î¯Î½Î±ÎºÎ±",
+DlgTableRows		: "Î“ÏÎ±Î¼Î¼Î­Ï‚",
+DlgTableColumns		: "ÎšÎ¿Î»ÏÎ½ÎµÏ‚",
+DlgTableBorder		: "ÎœÎ­Î³ÎµÎ¸Î¿Ï‚ Î ÎµÏÎ¹Î¸Ï‰ÏÎ¯Î¿Ï…",
+DlgTableAlign		: "Î£Ï„Î¿Î¯Ï‡Î¹ÏƒÎ·",
+DlgTableAlignNotSet	: "<Ï‡Ï‰ÏÎ¯Ï‚>",
+DlgTableAlignLeft	: "Î‘ÏÎ¹ÏƒÏ„ÎµÏÎ¬",
+DlgTableAlignCenter	: "ÎšÎ­Î½Ï„ÏÎ¿",
+DlgTableAlignRight	: "Î”ÎµÎ¾Î¹Î¬",
+DlgTableWidth		: "Î Î»Î¬Ï„Î¿Ï‚",
+DlgTableWidthPx		: "pixels",
+DlgTableWidthPc		: "\%",
+DlgTableHeight		: "ÎÏˆÎ¿Ï‚",
+DlgTableCellSpace	: "Î‘Ï€ÏŒÏƒÏ„Î±ÏƒÎ· ÎºÎµÎ»Î¹ÏÎ½",
+DlgTableCellPad		: "Î“Î­Î¼Î¹ÏƒÎ¼Î± ÎºÎµÎ»Î¹ÏÎ½",
+DlgTableCaption		: "Î¥Ï€Î­ÏÏ„Î¹Ï„Î»Î¿Ï‚",
+DlgTableSummary		: "Î ÎµÏÎ¯Î»Î·ÏˆÎ·",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "Î™Î´Î¹ÏŒÏ„Î·Ï„ÎµÏ‚ ÎšÎµÎ»Î¹Î¿Ï",
+DlgCellWidth		: "Î Î»Î¬Ï„Î¿Ï‚",
+DlgCellWidthPx		: "pixels",
+DlgCellWidthPc		: "\%",
+DlgCellHeight		: "ÎÏˆÎ¿Ï‚",
+DlgCellWordWrap		: "ÎœÎµ Î±Î»Î»Î±Î³Î® Î³ÏÎ±Î¼Î¼Î®Ï‚",
+DlgCellWordWrapNotSet	: "<Ï‡Ï‰ÏÎ¯Ï‚>",
+DlgCellWordWrapYes	: "ÎÎ±Î¹",
+DlgCellWordWrapNo	: "ÎŒÏ‡Î¹",
+DlgCellHorAlign		: "ÎŸÏÎ¹Î¶ÏŒÎ½Ï„Î¹Î± Î£Ï„Î¿Î¯Ï‡Î¹ÏƒÎ·",
+DlgCellHorAlignNotSet	: "<Ï‡Ï‰ÏÎ¯Ï‚>",
+DlgCellHorAlignLeft	: "Î‘ÏÎ¹ÏƒÏ„ÎµÏÎ¬",
+DlgCellHorAlignCenter	: "ÎšÎ­Î½Ï„ÏÎ¿",
+DlgCellHorAlignRight: "Î”ÎµÎ¾Î¹Î¬",
+DlgCellVerAlign		: "ÎšÎ¬Î¸ÎµÏ„Î· Î£Ï„Î¿Î¯Ï‡Î¹ÏƒÎ·",
+DlgCellVerAlignNotSet	: "<Ï‡Ï‰ÏÎ¯Ï‚>",
+DlgCellVerAlignTop	: "Î Î¬Î½Ï‰ (Top)",
+DlgCellVerAlignMiddle	: "ÎœÎ­ÏƒÎ· (Middle)",
+DlgCellVerAlignBottom	: "ÎšÎ¬Ï„Ï‰ (Bottom)",
+DlgCellVerAlignBaseline	: "Î“ÏÎ±Î¼Î¼Î® Î’Î¬ÏƒÎ·Ï‚ (Baseline)",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "Î‘ÏÎ¹Î¸Î¼ÏŒÏ‚ Î“ÏÎ±Î¼Î¼ÏÎ½ (Rows Span)",
+DlgCellCollSpan		: "Î‘ÏÎ¹Î¸Î¼ÏŒÏ‚ ÎšÎ¿Î»Ï‰Î½ÏÎ½ (Columns Span)",
+DlgCellBackColor	: "Î§ÏÏÎ¼Î± Î¥Ï€Î¿Î²Î¬Î¸ÏÎ¿Ï…",
+DlgCellBorderColor	: "Î§ÏÏÎ¼Î± Î ÎµÏÎ¹Î¸Ï‰ÏÎ¯Î¿Ï…",
+DlgCellBtnSelect	: "Î•Ï€Î¹Î»Î¿Î³Î®...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Find and Replace",	//MISSING
+
+// Find Dialog
+DlgFindTitle		: "Î‘Î½Î±Î¶Î®Ï„Î·ÏƒÎ·",
+DlgFindFindBtn		: "Î‘Î½Î±Î¶Î®Ï„Î·ÏƒÎ·",
+DlgFindNotFoundMsg	: "Î¤Î¿ ÎºÎµÎ¯Î¼ÎµÎ½Î¿ Î´ÎµÎ½ Î²ÏÎ­Î¸Î·ÎºÎµ.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Î‘Î½Ï„Î¹ÎºÎ±Ï„Î¬ÏƒÏ„Î±ÏƒÎ·",
+DlgReplaceFindLbl		: "Î‘Î½Î±Î¶Î®Ï„Î·ÏƒÎ·:",
+DlgReplaceReplaceLbl	: "Î‘Î½Ï„Î¹ÎºÎ±Ï„Î¬ÏƒÏ„Î±ÏƒÎ· Î¼Îµ:",
+DlgReplaceCaseChk		: "ÎˆÎ»ÎµÎ³Ï‡Î¿Ï‚ Ï€ÎµÎ¶ÏÎ½/ÎºÎµÏ†Î±Î»Î±Î¯Ï‰Î½",
+DlgReplaceReplaceBtn	: "Î‘Î½Ï„Î¹ÎºÎ±Ï„Î¬ÏƒÏ„Î±ÏƒÎ·",
+DlgReplaceReplAllBtn	: "Î‘Î½Ï„Î¹ÎºÎ±Ï„Î¬ÏƒÏ„Î±ÏƒÎ· ÎŒÎ»Ï‰Î½",
+DlgReplaceWordChk		: "Î•ÏÏÎµÏƒÎ· Ï€Î»Î®ÏÎ¿Ï…Ï‚ Î»Î­Î¾Î·Ï‚",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "ÎŸÎ¹ ÏÏ…Î¸Î¼Î¯ÏƒÎµÎ¹Ï‚ Î±ÏƒÏ†Î±Î»ÎµÎ¯Î±Ï‚ Ï„Î¿Ï… Ï†Ï…Î»Î»Î¿Î¼ÎµÏ„ÏÎ·Ï„Î® ÏƒÎ±Ï‚ Î´ÎµÎ½ ÎµÏ€Î¹Ï„ÏÎ­Ï€Î¿Ï…Î½ Ï„Î·Î½ ÎµÏ€Î¹Î»ÎµÎ³Î¼Î­Î½Î· ÎµÏÎ³Î±ÏƒÎ¯Î± Î±Ï€Î¿ÎºÎ¿Ï€Î®Ï‚. Î§ÏÎ·ÏƒÎ¹Î¼Î¿Ï€Î¿Î¹ÎµÎ¯ÏƒÏ„Îµ Ï„Î¿ Ï€Î»Î·ÎºÏ„ÏÎ¿Î»ÏŒÎ³Î¹Î¿ (Ctrl+X).",
+PasteErrorCopy	: "ÎŸÎ¹ ÏÏ…Î¸Î¼Î¯ÏƒÎµÎ¹Ï‚ Î±ÏƒÏ†Î±Î»ÎµÎ¯Î±Ï‚ Ï„Î¿Ï… Ï†Ï…Î»Î»Î¿Î¼ÎµÏ„ÏÎ·Ï„Î® ÏƒÎ±Ï‚ Î´ÎµÎ½ ÎµÏ€Î¹Ï„ÏÎ­Ï€Î¿Ï…Î½ Ï„Î·Î½ ÎµÏ€Î¹Î»ÎµÎ³Î¼Î­Î½Î· ÎµÏÎ³Î±ÏƒÎ¯Î± Î±Î½Ï„Î¹Î³ÏÎ±Ï†Î®Ï‚. Î§ÏÎ·ÏƒÎ¹Î¼Î¿Ï€Î¿Î¹ÎµÎ¯ÏƒÏ„Îµ Ï„Î¿ Ï€Î»Î·ÎºÏ„ÏÎ¿Î»ÏŒÎ³Î¹Î¿ (Ctrl+C).",
+
+PasteAsText		: "Î•Ï€Î¹ÎºÏŒÎ»Î»Î·ÏƒÎ· Ï‰Ï‚ Î‘Ï€Î»ÏŒ ÎšÎµÎ¯Î¼ÎµÎ½Î¿",
+PasteFromWord	: "Î•Ï€Î¹ÎºÏŒÎ»Î»Î·ÏƒÎ· Î±Ï€ÏŒ Ï„Î¿ Word",
+
+DlgPasteMsg2	: "Î Î±ÏÎ±ÎºÎ±Î»Ï ÎµÏ€Î¹ÎºÎ¿Î»Î®ÏƒÏ„Îµ ÏƒÏ„Î¿ Î±ÎºÏŒÎ»Î¿Ï…Î¸Î¿ ÎºÎ¿Ï…Ï„Î¯ Ï‡ÏÎ·ÏƒÎ¹Î¼Î¿Ï€Î¿Î¹ÏŒÎ½Ï„Î±Ï‚ Ï„Î¿ Ï€Î»Î·ÎºÏ„ÏÎ¿Î»ÏŒÎ³Î¹Î¿ (<STRONG>Ctrl+V</STRONG>) ÎºÎ±Î¹ Ï€Î±Ï„Î®ÏƒÏ„Îµ <STRONG>OK</STRONG>.",
+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
+DlgPasteIgnoreFont		: "Î‘Î³Î½ÏŒÎ·ÏƒÎ· Ï€ÏÎ¿Î´Î¹Î±Î³ÏÎ±Ï†ÏÎ½ Î³ÏÎ±Î¼Î¼Î±Ï„Î¿ÏƒÎµÎ¹ÏÎ¬Ï‚",
+DlgPasteRemoveStyles	: "Î‘Ï†Î±Î¯ÏÎµÏƒÎ· Ï€ÏÎ¿Î´Î¹Î±Î³ÏÎ±Ï†ÏÎ½ ÏƒÏ„ÏÎ»",
+
+// Color Picker
+ColorAutomatic	: "Î‘Ï…Ï„ÏŒÎ¼Î±Ï„Î¿",
+ColorMoreColors	: "Î ÎµÏÎ¹ÏƒÏƒÏŒÏ„ÎµÏÎ± Ï‡ÏÏÎ¼Î±Ï„Î±...",
+
+// Document Properties
+DocProps		: "Î™Î´Î¹ÏŒÏ„Î·Ï„ÎµÏ‚ ÎµÎ³Î³ÏÎ¬Ï†Î¿Ï…",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Î™Î´Î¹ÏŒÏ„Î·Ï„ÎµÏ‚ Î¬Î³ÎºÏ…ÏÎ±Ï‚",
+DlgAnchorName		: "ÎŒÎ½Î¿Î¼Î± Î¬Î³ÎºÏ…ÏÎ±Ï‚",
+DlgAnchorErrorName	: "Î Î±ÏÎ±ÎºÎ±Î»Î¿ÏÎ¼Îµ ÎµÎ¹ÏƒÎ¬Î³ÎµÏ„Îµ ÏŒÎ½Î¿Î¼Î± Î¬Î³ÎºÏ…ÏÎ±Ï‚",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Î”ÎµÎ½ Ï…Ï€Î¬ÏÏ‡ÎµÎ¹ ÏƒÏ„Î¿ Î»ÎµÎ¾Î¹ÎºÏŒ",
+DlgSpellChangeTo		: "Î‘Î»Î»Î±Î³Î® ÏƒÎµ",
+DlgSpellBtnIgnore		: "Î‘Î³Î½ÏŒÎ·ÏƒÎ·",
+DlgSpellBtnIgnoreAll	: "Î‘Î³Î½ÏŒÎ·ÏƒÎ· ÏŒÎ»Ï‰Î½",
+DlgSpellBtnReplace		: "Î‘Î½Ï„Î¹ÎºÎ±Ï„Î¬ÏƒÏ„Î±ÏƒÎ·",
+DlgSpellBtnReplaceAll	: "Î‘Î½Ï„Î¹ÎºÎ±Ï„Î¬ÏƒÏ„Î±ÏƒÎ· ÏŒÎ»Ï‰Î½",
+DlgSpellBtnUndo			: "Î‘Î½Î±Î¯ÏÎµÏƒÎ·",
+DlgSpellNoSuggestions	: "- Î”ÎµÎ½ Ï…Ï€Î¬ÏÏ‡Î¿Ï…Î½ Ï€ÏÎ¿Ï„Î¬ÏƒÎµÎ¹Ï‚ -",
+DlgSpellProgress		: "ÎŸÏÎ¸Î¿Î³ÏÎ±Ï†Î¹ÎºÏŒÏ‚ Î­Î»ÎµÎ³Ï‡Î¿Ï‚ ÏƒÎµ ÎµÎ¾Î­Î»Î¹Î¾Î·...",
+DlgSpellNoMispell		: "ÎŸ Î¿ÏÎ¸Î¿Î³ÏÎ±Ï†Î¹ÎºÏŒÏ‚ Î­Î»ÎµÎ³Ï‡Î¿Ï‚ Î¿Î»Î¿ÎºÎ»Î·ÏÏÎ¸Î·ÎºÎµ: Î”ÎµÎ½ Î²ÏÎ­Î¸Î·ÎºÎ±Î½ Î»Î¬Î¸Î·",
+DlgSpellNoChanges		: "ÎŸ Î¿ÏÎ¸Î¿Î³ÏÎ±Ï†Î¹ÎºÏŒÏ‚ Î­Î»ÎµÎ³Ï‡Î¿Ï‚ Î¿Î»Î¿ÎºÎ»Î·ÏÏÎ¸Î·ÎºÎµ: Î”ÎµÎ½ Î¬Î»Î»Î±Î¾Î±Î½ Î»Î­Î¾ÎµÎ¹Ï‚",
+DlgSpellOneChange		: "ÎŸ Î¿ÏÎ¸Î¿Î³ÏÎ±Ï†Î¹ÎºÏŒÏ‚ Î­Î»ÎµÎ³Ï‡Î¿Ï‚ Î¿Î»Î¿ÎºÎ»Î·ÏÏÎ¸Î·ÎºÎµ: ÎœÎ¹Î± Î»Î­Î¾Î· Î¬Î»Î»Î±Î¾Îµ",
+DlgSpellManyChanges		: "ÎŸ Î¿ÏÎ¸Î¿Î³ÏÎ±Ï†Î¹ÎºÏŒÏ‚ Î­Î»ÎµÎ³Ï‡Î¿Ï‚ Î¿Î»Î¿ÎºÎ»Î·ÏÏÎ¸Î·ÎºÎµ: %1 Î»Î­Î¾ÎµÎ¹Ï‚ Î¬Î»Î»Î±Î¾Î±Î½",
+
+IeSpellDownload			: "Î”ÎµÎ½ Ï…Ï€Î¬ÏÏ‡ÎµÎ¹ ÎµÎ³ÎºÎ±Ï„ÎµÏƒÏ„Î·Î¼Î­Î½Î¿Ï‚ Î¿ÏÎ¸Î¿Î³ÏÎ¬Ï†Î¿Ï‚. Î˜Î­Î»ÎµÏ„Îµ Î½Î± Ï„Î¿Î½ ÎºÎ±Ï„ÎµÎ²Î¬ÏƒÎµÏ„Îµ Ï„ÏÏÎ±;",
+
+// Button Dialog
+DlgButtonText		: "ÎšÎµÎ¯Î¼ÎµÎ½Î¿ (Î¤Î¹Î¼Î®)",
+DlgButtonType		: "Î¤ÏÏ€Î¿Ï‚",
+DlgButtonTypeBtn	: "ÎšÎ¿Ï…Î¼Ï€Î¯",
+DlgButtonTypeSbm	: "ÎšÎ±Ï„Î±Ï‡ÏÏÎ·ÏƒÎ·",
+DlgButtonTypeRst	: "Î•Ï€Î±Î½Î±Ï†Î¿ÏÎ¬",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "ÎŒÎ½Î¿Î¼Î±",
+DlgCheckboxValue	: "Î¤Î¹Î¼Î®",
+DlgCheckboxSelected	: "Î•Ï€Î¹Î»ÎµÎ³Î¼Î­Î½Î¿",
+
+// Form Dialog
+DlgFormName		: "ÎŒÎ½Î¿Î¼Î±",
+DlgFormAction	: "Î”ÏÎ¬ÏƒÎ·",
+DlgFormMethod	: "ÎœÎ¬Î¸Î¿Î´Î¿Ï‚",
+
+// Select Field Dialog
+DlgSelectName		: "ÎŒÎ½Î¿Î¼Î±",
+DlgSelectValue		: "Î¤Î¹Î¼Î®",
+DlgSelectSize		: "ÎœÎ­Î³ÎµÎ¸Î¿Ï‚",
+DlgSelectLines		: "Î³ÏÎ±Î¼Î¼Î­Ï‚",
+DlgSelectChkMulti	: "Î Î¿Î»Î»Î±Ï€Î»Î­Ï‚ ÎµÏ€Î¹Î»Î¿Î³Î­Ï‚",
+DlgSelectOpAvail	: "Î”Î¹Î±Î¸Î­ÏƒÎ¹Î¼ÎµÏ‚ ÎµÏ€Î¹Î»Î¿Î³Î­Ï‚",
+DlgSelectOpText		: "ÎšÎµÎ¯Î¼ÎµÎ½Î¿",
+DlgSelectOpValue	: "Î¤Î¹Î¼Î®",
+DlgSelectBtnAdd		: "Î ÏÎ¿ÏƒÎ¸Î®ÎºÎ·",
+DlgSelectBtnModify	: "Î‘Î»Î»Î±Î³Î®",
+DlgSelectBtnUp		: "Î Î¬Î½Ï‰",
+DlgSelectBtnDown	: "ÎšÎ¬Ï„Ï‰",
+DlgSelectBtnSetValue : "Î ÏÎ¿ÎµÏ€Î¹Î»ÎµÎ³Î¼Î­Î½Î· ÎµÏ€Î¹Î»Î¿Î³Î®",
+DlgSelectBtnDelete	: "Î”Î¹Î±Î³ÏÎ±Ï†Î®",
+
+// Textarea Dialog
+DlgTextareaName	: "ÎŒÎ½Î¿Î¼Î±",
+DlgTextareaCols	: "Î£Ï„Î®Î»ÎµÏ‚",
+DlgTextareaRows	: "Î£ÎµÎ¹ÏÎ­Ï‚",
+
+// Text Field Dialog
+DlgTextName			: "ÎŒÎ½Î¿Î¼Î±",
+DlgTextValue		: "Î¤Î¹Î¼Î®",
+DlgTextCharWidth	: "ÎœÎ®ÎºÎ¿Ï‚ Ï‡Î±ÏÎ±ÎºÏ„Î®ÏÏ‰Î½",
+DlgTextMaxChars		: "ÎœÎ­Î³Î¹ÏƒÏ„Î¿Î¹ Ï‡Î±ÏÎ±ÎºÏ„Î®ÏÎµÏ‚",
+DlgTextType			: "Î¤ÏÏ€Î¿Ï‚",
+DlgTextTypeText		: "ÎšÎµÎ¯Î¼ÎµÎ½Î¿",
+DlgTextTypePass		: "ÎšÏ‰Î´Î¹ÎºÏŒÏ‚",
+
+// Hidden Field Dialog
+DlgHiddenName	: "ÎŒÎ½Î¿Î¼Î±",
+DlgHiddenValue	: "Î¤Î¹Î¼Î®",
+
+// Bulleted List Dialog
+BulletedListProp	: "Î™Î´Î¹ÏŒÏ„Î·Ï„ÎµÏ‚ Î»Î¯ÏƒÏ„Î±Ï‚ Bulleted",
+NumberedListProp	: "Î™Î´Î¹ÏŒÏ„Î·Ï„ÎµÏ‚ Î±ÏÎ¹Î¸Î¼Î·Î¼Î­Î½Î·Ï‚ Î»Î¯ÏƒÏ„Î±Ï‚ ",
+DlgLstStart			: "Î‘ÏÏ‡Î®",
+DlgLstType			: "Î¤ÏÏ€Î¿Ï‚",
+DlgLstTypeCircle	: "ÎšÏÎºÎ»Î¿Ï‚",
+DlgLstTypeDisc		: "Î”Î¯ÏƒÎºÎ¿Ï‚",
+DlgLstTypeSquare	: "Î¤ÎµÏ„ÏÎ¬Î³Ï‰Î½Î¿",
+DlgLstTypeNumbers	: "Î‘ÏÎ¹Î¸Î¼Î¿Î¯ (1, 2, 3)",
+DlgLstTypeLCase		: "Î ÎµÎ¶Î¬ Î³ÏÎ¬Î¼Î¼Î±Ï„Î± (a, b, c)",
+DlgLstTypeUCase		: "ÎšÎµÏ†Î±Î»Î±Î¯Î± Î³ÏÎ¬Î¼Î¼Î±Ï„Î± (A, B, C)",
+DlgLstTypeSRoman	: "ÎœÎ¹ÎºÏÎ¬ Î»Î±Ï„Î¹Î½Î¹ÎºÎ¬ Î±ÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¬ (i, ii, iii)",
+DlgLstTypeLRoman	: "ÎœÎµÎ³Î¬Î»Î± Î»Î±Ï„Î¹Î½Î¹ÎºÎ¬ Î±ÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¬ (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Î“ÎµÎ½Î¹ÎºÎ¬",
+DlgDocBackTab		: "Î¦ÏŒÎ½Ï„Î¿",
+DlgDocColorsTab		: "Î§ÏÏÎ¼Î±Ï„Î± ÎºÎ±Î¹ Ï€ÎµÏÎ¹Î¸ÏÏÎ¹Î±",
+DlgDocMetaTab		: "Î”ÎµÎ´Î¿Î¼Î­Î½Î± Meta",
+
+DlgDocPageTitle		: "Î¤Î¯Ï„Î»Î¿Ï‚ ÏƒÎµÎ»Î¯Î´Î±Ï‚",
+DlgDocLangDir		: "ÎšÎ±Ï„ÎµÏÎ¸Ï…Î½ÏƒÎ· Î³ÏÎ±Ï†Î®Ï‚",
+DlgDocLangDirLTR	: "Î±ÏÎ¹ÏƒÏ„ÎµÏÎ¬ Ï€ÏÎ¿Ï‚ Î´ÎµÎ¾Î¹Î¬ (LTR)",
+DlgDocLangDirRTL	: "Î´ÎµÎ¾Î¹Î¬ Ï€ÏÎ¿Ï‚ Î±ÏÎ¹ÏƒÏ„ÎµÏÎ¬ (RTL)",
+DlgDocLangCode		: "ÎšÏ‰Î´Î¹ÎºÏŒÏ‚ Î³Î»ÏÏƒÏƒÎ±Ï‚",
+DlgDocCharSet		: "ÎšÏ‰Î´Î¹ÎºÎ¿Ï€Î¿Î¯Î·ÏƒÎ· Ï‡Î±ÏÎ±ÎºÏ„Î®ÏÏ‰Î½",
+DlgDocCharSetCE		: "ÎšÎµÎ½Ï„ÏÎ¹ÎºÎ®Ï‚ Î•Ï…ÏÏÏ€Î·Ï‚",
+DlgDocCharSetCT		: "Î Î±ÏÎ±Î´Î¿ÏƒÎ¹Î±ÎºÎ¬ ÎºÎ¹Î½Î­Î¶Î¹ÎºÎ± (Big5)",
+DlgDocCharSetCR		: "ÎšÏ…ÏÎ¹Î»Î»Î¹ÎºÎ®",
+DlgDocCharSetGR		: "Î•Î»Î»Î·Î½Î¹ÎºÎ®",
+DlgDocCharSetJP		: "Î™Î±Ï€Ï‰Î½Î¹ÎºÎ®",
+DlgDocCharSetKR		: "ÎšÎ¿ÏÎµÎ¬Ï„Î¹ÎºÎ·",
+DlgDocCharSetTR		: "Î¤Î¿Ï…ÏÎºÎ¹ÎºÎ®",
+DlgDocCharSetUN		: "Î”Î¹ÎµÎ¸Î½Î®Ï‚ (UTF-8)",
+DlgDocCharSetWE		: "Î”Ï…Ï„Î¹ÎºÎ®Ï‚ Î•Ï…ÏÏÏ€Î·Ï‚",
+DlgDocCharSetOther	: "Î†Î»Î»Î· ÎºÏ‰Î´Î¹ÎºÎ¿Ï€Î¿Î¯Î·ÏƒÎ· Ï‡Î±ÏÎ±ÎºÏ„Î®ÏÏ‰Î½",
+
+DlgDocDocType		: "Î•Ï€Î¹ÎºÎµÏ†Î±Î»Î¯Î´Î± Ï„ÏÏ€Î¿Ï… ÎµÎ³Î³ÏÎ¬Ï†Î¿Ï…",
+DlgDocDocTypeOther	: "Î†Î»Î»Î· ÎµÏ€Î¹ÎºÎµÏ†Î±Î»Î¯Î´Î± Ï„ÏÏ€Î¿Ï… ÎµÎ³Î³ÏÎ¬Ï†Î¿Ï…",
+DlgDocIncXHTML		: "ÎÎ± ÏƒÏ…Î¼Ï€ÎµÏÎ¹Î»Î·Ï†Î¸Î¿ÏÎ½ Î¿Î¹ Î´Î·Î»ÏÏƒÎµÎ¹Ï‚ XHTML",
+DlgDocBgColor		: "Î§ÏÏÎ¼Î± Ï†ÏŒÎ½Ï„Î¿Ï…",
+DlgDocBgImage		: "Î”Î¹ÎµÏÎ¸Ï…Î½ÏƒÎ· ÎµÎ¹ÎºÏŒÎ½Î±Ï‚ Ï†ÏŒÎ½Ï„Î¿Ï…",
+DlgDocBgNoScroll	: "Î¦ÏŒÎ½Ï„Î¿ Ï‡Ï‰ÏÎ¯Ï‚ ÎºÏÎ»Î¹ÏƒÎ·",
+DlgDocCText			: "ÎšÎµÎ¯Î¼ÎµÎ½Î¿",
+DlgDocCLink			: "Î£ÏÎ½Î´ÎµÏƒÎ¼Î¿Ï‚",
+DlgDocCVisited		: "Î£ÏÎ½Î´ÎµÏƒÎ¼Î¿Ï‚ Ï€Î¿Ï… Î­Ï‡ÎµÎ¹ ÎµÏ€Î¹ÏƒÎºÎµÏ…Î¸ÎµÎ¯",
+DlgDocCActive		: "Î•Î½ÎµÏÎ³ÏŒÏ‚ ÏƒÏÎ½Î´ÎµÏƒÎ¼Î¿Ï‚",
+DlgDocMargins		: "Î ÎµÏÎ¹Î¸ÏÏÎ¹Î± ÏƒÎµÎ»Î¯Î´Î±Ï‚",
+DlgDocMaTop			: "ÎšÎ¿ÏÏ…Ï†Î®",
+DlgDocMaLeft		: "Î‘ÏÎ¹ÏƒÏ„ÎµÏÎ¬",
+DlgDocMaRight		: "Î”ÎµÎ¾Î¹Î¬",
+DlgDocMaBottom		: "ÎšÎ¬Ï„Ï‰",
+DlgDocMeIndex		: "Î›Î­Î¾ÎµÎ¹Ï‚ ÎºÎ»ÎµÎ¹Î´Î¹Î¬ Î´ÎµÎ¯ÎºÏ„ÎµÏ‚ ÎµÎ³Î³ÏÎ¬Ï†Î¿Ï… (Î´Î¹Î±Ï‡Ï‰ÏÎ¹ÏƒÎ¼ÏŒÏ‚ Î¼Îµ ÎºÏŒÎ¼Î¼Î±)",
+DlgDocMeDescr		: "Î ÎµÏÎ¹Î³ÏÎ±Ï†Î® ÎµÎ³Î³ÏÎ¬Ï†Î¿Ï…",
+DlgDocMeAuthor		: "Î£Ï…Î³Î³ÏÎ±Ï†Î­Î±Ï‚",
+DlgDocMeCopy		: "Î Î½ÎµÏ…Î¼Î±Ï„Î¹ÎºÎ¬ Î´Î¹ÎºÎ±Î¹ÏÎ¼Î±Ï„Î±",
+DlgDocPreview		: "Î ÏÎ¿ÎµÏ€Î¹ÏƒÎºÏŒÏ€Î·ÏƒÎ·",
+
+// Templates Dialog
+Templates			: "Î ÏÏŒÏ„Ï…Ï€Î±",
+DlgTemplatesTitle	: "Î ÏÏŒÏ„Ï…Ï€Î± Ï€ÎµÏÎ¹ÎµÏ‡Î¿Î¼Î­Î½Î¿Ï…",
+DlgTemplatesSelMsg	: "Î Î±ÏÎ±ÎºÎ±Î»Ï ÎµÏ€Î¹Î»Î­Î¾Ï„Îµ Ï€ÏÏŒÏ„Ï…Ï€Î¿ Î³Î¹Î± ÎµÎ¹ÏƒÎ±Î³Ï‰Î³Î® ÏƒÏ„Î¿ Ï€ÏÏŒÎ³ÏÎ±Î¼Î¼Î±<br>(Ï„Î± Ï…Ï€Î¬ÏÏ‡Î¿Î½Ï„Î± Ï€ÎµÏÎ¹ÎµÏ‡ÏŒÎ¼ÎµÎ½Î± Î¸Î± Ï‡Î±Î¸Î¿ÏÎ½):",
+DlgTemplatesLoading	: "Î¦ÏŒÏÏ„Ï‰ÏƒÎ· ÎºÎ±Ï„Î±Î»ÏŒÎ³Î¿Ï… Ï€ÏÎ¿Ï„ÏÏ€Ï‰Î½. Î Î±ÏÎ±ÎºÎ±Î»Ï Ï€ÎµÏÎ¹Î¼Î­Î½ÎµÏ„Îµ...",
+DlgTemplatesNoTpl	: "(Î”ÎµÎ½ Î­Ï‡Î¿Ï…Î½ ÎºÎ±Î¸Î¿ÏÎ¹ÏƒÏ„ÎµÎ¯ Ï€ÏÏŒÏ„Ï…Ï€Î±)",
+DlgTemplatesReplace	: "Î‘Î½Ï„Î¹ÎºÎ±Ï„Î¬ÏƒÏ„Î±ÏƒÎ· Ï…Ï€Î¬ÏÏ‡Î¿Î½Ï„Ï‰Î½ Ï€ÎµÏÎ¹ÎµÏ‡Î¿Î¼Î­Î½Ï‰Î½",
+
+// About Dialog
+DlgAboutAboutTab	: "Î£Ï‡ÎµÏ„Î¹ÎºÎ¬",
+DlgAboutBrowserInfoTab	: "Î Î»Î·ÏÎ¿Ï†Î¿ÏÎ¯ÎµÏ‚ Browser",
+DlgAboutLicenseTab	: "Î†Î´ÎµÎ¹Î±",
+DlgAboutVersion		: "Î­ÎºÎ´Î¿ÏƒÎ·",
+DlgAboutInfo		: "Î“Î¹Î± Ï€ÎµÏÎ¹ÏƒÏƒÏŒÏ„ÎµÏÎµÏ‚ Ï€Î»Î·ÏÎ¿Ï†Î¿ÏÎ¯ÎµÏ‚",
+
+// Div Dialog
+DlgDivGeneralTab	: "General",	//MISSING
+DlgDivAdvancedTab	: "Advanced",	//MISSING
+DlgDivStyle		: "Style",	//MISSING
+DlgDivInlineStyle	: "Inline Style",	//MISSING
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/en.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/en.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/en.js	(revision 1481)
@@ -0,0 +1,541 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * English language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Collapse Toolbar",
+ToolbarExpand		: "Expand Toolbar",
+
+// Toolbar Items and Context Menu
+Save				: "Save",
+NewPage				: "New Page",
+Preview				: "Preview",
+Cut					: "Cut",
+Copy				: "Copy",
+Paste				: "Paste",
+PasteText			: "Paste as plain text",
+PasteWord			: "Paste from Word",
+Print				: "Print",
+SelectAll			: "Select All",
+RemoveFormat		: "Remove Format",
+InsertLinkLbl		: "Link",
+InsertLink			: "Insert/Edit Link",
+RemoveLink			: "Remove Link",
+VisitLink			: "Open Link",
+Anchor				: "Insert/Edit Anchor",
+AnchorDelete		: "Remove Anchor",
+InsertImageLbl		: "Image",
+InsertImage			: "Insert/Edit Image",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Insert/Edit Flash",
+InsertTableLbl		: "Table",
+InsertTable			: "Insert/Edit Table",
+InsertLineLbl		: "Line",
+InsertLine			: "Insert Horizontal Line",
+InsertSpecialCharLbl: "Special Character",
+InsertSpecialChar	: "Insert Special Character",
+InsertSmileyLbl		: "Smiley",
+InsertSmiley		: "Insert Smiley",
+About				: "About FCKeditor",
+Bold				: "Bold",
+Italic				: "Italic",
+Underline			: "Underline",
+StrikeThrough		: "Strike Through",
+Subscript			: "Subscript",
+Superscript			: "Superscript",
+LeftJustify			: "Left Justify",
+CenterJustify		: "Center Justify",
+RightJustify		: "Right Justify",
+BlockJustify		: "Block Justify",
+DecreaseIndent		: "Decrease Indent",
+IncreaseIndent		: "Increase Indent",
+Blockquote			: "Blockquote",
+CreateDiv			: "Create Div Container",
+EditDiv				: "Edit Div Container",
+DeleteDiv			: "Remove Div Container",
+Undo				: "Undo",
+Redo				: "Redo",
+NumberedListLbl		: "Numbered List",
+NumberedList		: "Insert/Remove Numbered List",
+BulletedListLbl		: "Bulleted List",
+BulletedList		: "Insert/Remove Bulleted List",
+ShowTableBorders	: "Show Table Borders",
+ShowDetails			: "Show Details",
+Style				: "Style",
+FontFormat			: "Format",
+Font				: "Font",
+FontSize			: "Size",
+TextColor			: "Text Color",
+BGColor				: "Background Color",
+Source				: "Source",
+Find				: "Find",
+Replace				: "Replace",
+SpellCheck			: "Check Spelling",
+UniversalKeyboard	: "Universal Keyboard",
+PageBreakLbl		: "Page Break",
+PageBreak			: "Insert Page Break",
+
+Form			: "Form",
+Checkbox		: "Checkbox",
+RadioButton		: "Radio Button",
+TextField		: "Text Field",
+Textarea		: "Textarea",
+HiddenField		: "Hidden Field",
+Button			: "Button",
+SelectionField	: "Selection Field",
+ImageButton		: "Image Button",
+
+FitWindow		: "Maximize the editor size",
+ShowBlocks		: "Show Blocks",
+
+// Context Menu
+EditLink			: "Edit Link",
+CellCM				: "Cell",
+RowCM				: "Row",
+ColumnCM			: "Column",
+InsertRowAfter		: "Insert Row After",
+InsertRowBefore		: "Insert Row Before",
+DeleteRows			: "Delete Rows",
+InsertColumnAfter	: "Insert Column After",
+InsertColumnBefore	: "Insert Column Before",
+DeleteColumns		: "Delete Columns",
+InsertCellAfter		: "Insert Cell After",
+InsertCellBefore	: "Insert Cell Before",
+DeleteCells			: "Delete Cells",
+MergeCells			: "Merge Cells",
+MergeRight			: "Merge Right",
+MergeDown			: "Merge Down",
+HorizontalSplitCell	: "Split Cell Horizontally",
+VerticalSplitCell	: "Split Cell Vertically",
+TableDelete			: "Delete Table",
+CellProperties		: "Cell Properties",
+TableProperties		: "Table Properties",
+ImageProperties		: "Image Properties",
+FlashProperties		: "Flash Properties",
+
+AnchorProp			: "Anchor Properties",
+ButtonProp			: "Button Properties",
+CheckboxProp		: "Checkbox Properties",
+HiddenFieldProp		: "Hidden Field Properties",
+RadioButtonProp		: "Radio Button Properties",
+ImageButtonProp		: "Image Button Properties",
+TextFieldProp		: "Text Field Properties",
+SelectionFieldProp	: "Selection Field Properties",
+TextareaProp		: "Textarea Properties",
+FormProp			: "Form Properties",
+
+FontFormats			: "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "Processing XHTML. Please wait...",
+Done				: "Done",
+PasteWordConfirm	: "The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?",
+NotCompatiblePaste	: "This command is available for Internet Explorer version 5.5 or more. Do you want to paste without cleaning?",
+UnknownToolbarItem	: "Unknown toolbar item \"%1\"",
+UnknownCommand		: "Unknown command name \"%1\"",
+NotImplemented		: "Command not implemented",
+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.",
+BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",
+DialogBlocked		: "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",
+VisitLinkBlocked	: "It was not possible to open a new window. Make sure all popup blockers are disabled.",
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Cancel",
+DlgBtnClose			: "Close",
+DlgBtnBrowseServer	: "Browse Server",
+DlgAdvancedTag		: "Advanced",
+DlgOpOther			: "<Other>",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "Please insert the URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<not set>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Language Direction",
+DlgGenLangDirLtr	: "Left to Right (LTR)",
+DlgGenLangDirRtl	: "Right to Left (RTL)",
+DlgGenLangCode		: "Language Code",
+DlgGenAccessKey		: "Access Key",
+DlgGenName			: "Name",
+DlgGenTabIndex		: "Tab Index",
+DlgGenLongDescr		: "Long Description URL",
+DlgGenClass			: "Stylesheet Classes",
+DlgGenTitle			: "Advisory Title",
+DlgGenContType		: "Advisory Content Type",
+DlgGenContRel		: "Relationtyp",
+DlgGenLinkCharset	: "Linked Resource Charset",
+DlgGenStyle			: "Style",
+
+// Image Dialog
+DlgImgTitle			: "Image Properties",
+DlgImgInfoTab		: "Image Info",
+DlgImgBtnUpload		: "Send it to the Server",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Upload",
+DlgImgAlt			: "Alternative Text",
+DlgImgWidth			: "Width",
+DlgImgHeight		: "Height",
+DlgImgLockRatio		: "Lock Ratio",
+DlgBtnResetSize		: "Reset Size",
+DlgImgBorder		: "Border",
+DlgImgHSpace		: "HSpace",
+DlgImgVSpace		: "VSpace",
+DlgImgAlign			: "Align",
+DlgImgAlignLeft		: "Left",
+DlgImgAlignAbsBottom: "Abs Bottom",
+DlgImgAlignAbsMiddle: "Abs Middle",
+DlgImgAlignBaseline	: "Baseline",
+DlgImgAlignBottom	: "Bottom",
+DlgImgAlignMiddle	: "Middle",
+DlgImgAlignRight	: "Right",
+DlgImgAlignTextTop	: "Text Top",
+DlgImgAlignTop		: "Top",
+DlgImgPreview		: "Preview",
+DlgImgAlertUrl		: "Please type the image URL",
+DlgImgLinkTab		: "Link",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash Properties",
+DlgFlashChkPlay		: "Auto Play",
+DlgFlashChkLoop		: "Loop",
+DlgFlashChkMenu		: "Enable Flash Menu",
+DlgFlashScale		: "Scale",
+DlgFlashScaleAll	: "Show all",
+DlgFlashScaleNoBorder	: "No Border",
+DlgFlashScaleFit	: "Exact Fit",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Link",
+DlgLnkInfoTab		: "Link Info",
+DlgLnkTargetTab		: "Target",
+
+DlgLnkType			: "Link Type",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Link to anchor in the text",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protocol",
+DlgLnkProtoOther	: "<other>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Select an Anchor",
+DlgLnkAnchorByName	: "By Anchor Name",
+DlgLnkAnchorById	: "By Element Id",
+DlgLnkNoAnchors		: "(No anchors available in the document)",
+DlgLnkEMail			: "E-Mail Address",
+DlgLnkEMailSubject	: "Message Subject",
+DlgLnkEMailBody		: "Message Body",
+DlgLnkUpload		: "Upload",
+DlgLnkBtnUpload		: "Send it to the Server",
+
+DlgLnkTarget		: "Target",
+DlgLnkTargetFrame	: "<frame>",
+DlgLnkTargetPopup	: "<popup window>",
+DlgLnkTargetBlank	: "New Window (_blank)",
+DlgLnkTargetParent	: "Parent Window (_parent)",
+DlgLnkTargetSelf	: "Same Window (_self)",
+DlgLnkTargetTop		: "Topmost Window (_top)",
+DlgLnkTargetFrameName	: "Target Frame Name",
+DlgLnkPopWinName	: "Popup Window Name",
+DlgLnkPopWinFeat	: "Popup Window Features",
+DlgLnkPopResize		: "Resizable",
+DlgLnkPopLocation	: "Location Bar",
+DlgLnkPopMenu		: "Menu Bar",
+DlgLnkPopScroll		: "Scroll Bars",
+DlgLnkPopStatus		: "Status Bar",
+DlgLnkPopToolbar	: "Toolbar",
+DlgLnkPopFullScrn	: "Full Screen (IE)",
+DlgLnkPopDependent	: "Dependent (Netscape)",
+DlgLnkPopWidth		: "Width",
+DlgLnkPopHeight		: "Height",
+DlgLnkPopLeft		: "Left Position",
+DlgLnkPopTop		: "Top Position",
+
+DlnLnkMsgNoUrl		: "Please type the link URL",
+DlnLnkMsgNoEMail	: "Please type the e-mail address",
+DlnLnkMsgNoAnchor	: "Please select an anchor",
+DlnLnkMsgInvPopName	: "The popup name must begin with an alphabetic character and must not contain spaces",
+
+// Color Dialog
+DlgColorTitle		: "Select Color",
+DlgColorBtnClear	: "Clear",
+DlgColorHighlight	: "Highlight",
+DlgColorSelected	: "Selected",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Insert a Smiley",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Select Special Character",
+
+// Table Dialog
+DlgTableTitle		: "Table Properties",
+DlgTableRows		: "Rows",
+DlgTableColumns		: "Columns",
+DlgTableBorder		: "Border size",
+DlgTableAlign		: "Alignment",
+DlgTableAlignNotSet	: "<Not set>",
+DlgTableAlignLeft	: "Left",
+DlgTableAlignCenter	: "Center",
+DlgTableAlignRight	: "Right",
+DlgTableWidth		: "Width",
+DlgTableWidthPx		: "pixels",
+DlgTableWidthPc		: "percent",
+DlgTableHeight		: "Height",
+DlgTableCellSpace	: "Cell spacing",
+DlgTableCellPad		: "Cell padding",
+DlgTableCaption		: "Caption",
+DlgTableSummary		: "Summary",
+DlgTableHeaders		: "Headers",
+DlgTableHeadersNone		: "None",
+DlgTableHeadersColumn	: "First column",
+DlgTableHeadersRow		: "First Row",
+DlgTableHeadersBoth		: "Both",
+
+// Table Cell Dialog
+DlgCellTitle		: "Cell Properties",
+DlgCellWidth		: "Width",
+DlgCellWidthPx		: "pixels",
+DlgCellWidthPc		: "percent",
+DlgCellHeight		: "Height",
+DlgCellWordWrap		: "Word Wrap",
+DlgCellWordWrapNotSet	: "<Not set>",
+DlgCellWordWrapYes	: "Yes",
+DlgCellWordWrapNo	: "No",
+DlgCellHorAlign		: "Horizontal Alignment",
+DlgCellHorAlignNotSet	: "<Not set>",
+DlgCellHorAlignLeft	: "Left",
+DlgCellHorAlignCenter	: "Center",
+DlgCellHorAlignRight: "Right",
+DlgCellVerAlign		: "Vertical Alignment",
+DlgCellVerAlignNotSet	: "<Not set>",
+DlgCellVerAlignTop	: "Top",
+DlgCellVerAlignMiddle	: "Middle",
+DlgCellVerAlignBottom	: "Bottom",
+DlgCellVerAlignBaseline	: "Baseline",
+DlgCellType		: "Cell Type",
+DlgCellTypeData		: "Data",
+DlgCellTypeHeader	: "Header",
+DlgCellRowSpan		: "Rows Span",
+DlgCellCollSpan		: "Columns Span",
+DlgCellBackColor	: "Background Color",
+DlgCellBorderColor	: "Border Color",
+DlgCellBtnSelect	: "Select...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Find and Replace",
+
+// Find Dialog
+DlgFindTitle		: "Find",
+DlgFindFindBtn		: "Find",
+DlgFindNotFoundMsg	: "The specified text was not found.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Replace",
+DlgReplaceFindLbl		: "Find what:",
+DlgReplaceReplaceLbl	: "Replace with:",
+DlgReplaceCaseChk		: "Match case",
+DlgReplaceReplaceBtn	: "Replace",
+DlgReplaceReplAllBtn	: "Replace All",
+DlgReplaceWordChk		: "Match whole word",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl+X).",
+PasteErrorCopy	: "Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl+C).",
+
+PasteAsText		: "Paste as Plain Text",
+PasteFromWord	: "Paste from Word",
+
+DlgPasteMsg2	: "Please paste inside the following box using the keyboard (<strong>Ctrl+V</strong>) and hit <strong>OK</strong>.",
+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.",
+DlgPasteIgnoreFont		: "Ignore Font Face definitions",
+DlgPasteRemoveStyles	: "Remove Styles definitions",
+
+// Color Picker
+ColorAutomatic	: "Automatic",
+ColorMoreColors	: "More Colors...",
+
+// Document Properties
+DocProps		: "Document Properties",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Anchor Properties",
+DlgAnchorName		: "Anchor Name",
+DlgAnchorErrorName	: "Please type the anchor name",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Not in dictionary",
+DlgSpellChangeTo		: "Change to",
+DlgSpellBtnIgnore		: "Ignore",
+DlgSpellBtnIgnoreAll	: "Ignore All",
+DlgSpellBtnReplace		: "Replace",
+DlgSpellBtnReplaceAll	: "Replace All",
+DlgSpellBtnUndo			: "Undo",
+DlgSpellNoSuggestions	: "- No suggestions -",
+DlgSpellProgress		: "Spell check in progress...",
+DlgSpellNoMispell		: "Spell check complete: No misspellings found",
+DlgSpellNoChanges		: "Spell check complete: No words changed",
+DlgSpellOneChange		: "Spell check complete: One word changed",
+DlgSpellManyChanges		: "Spell check complete: %1 words changed",
+
+IeSpellDownload			: "Spell checker not installed. Do you want to download it now?",
+
+// Button Dialog
+DlgButtonText		: "Text (Value)",
+DlgButtonType		: "Type",
+DlgButtonTypeBtn	: "Button",
+DlgButtonTypeSbm	: "Submit",
+DlgButtonTypeRst	: "Reset",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Name",
+DlgCheckboxValue	: "Value",
+DlgCheckboxSelected	: "Selected",
+
+// Form Dialog
+DlgFormName		: "Name",
+DlgFormAction	: "Action",
+DlgFormMethod	: "Method",
+
+// Select Field Dialog
+DlgSelectName		: "Name",
+DlgSelectValue		: "Value",
+DlgSelectSize		: "Size",
+DlgSelectLines		: "lines",
+DlgSelectChkMulti	: "Allow multiple selections",
+DlgSelectOpAvail	: "Available Options",
+DlgSelectOpText		: "Text",
+DlgSelectOpValue	: "Value",
+DlgSelectBtnAdd		: "Add",
+DlgSelectBtnModify	: "Modify",
+DlgSelectBtnUp		: "Up",
+DlgSelectBtnDown	: "Down",
+DlgSelectBtnSetValue : "Set as selected value",
+DlgSelectBtnDelete	: "Delete",
+
+// Textarea Dialog
+DlgTextareaName	: "Name",
+DlgTextareaCols	: "Columns",
+DlgTextareaRows	: "Rows",
+
+// Text Field Dialog
+DlgTextName			: "Name",
+DlgTextValue		: "Value",
+DlgTextCharWidth	: "Character Width",
+DlgTextMaxChars		: "Maximum Characters",
+DlgTextType			: "Type",
+DlgTextTypeText		: "Text",
+DlgTextTypePass		: "Password",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Name",
+DlgHiddenValue	: "Value",
+
+// Bulleted List Dialog
+BulletedListProp	: "Bulleted List Properties",
+NumberedListProp	: "Numbered List Properties",
+DlgLstStart			: "Start",
+DlgLstType			: "Type",
+DlgLstTypeCircle	: "Circle",
+DlgLstTypeDisc		: "Disc",
+DlgLstTypeSquare	: "Square",
+DlgLstTypeNumbers	: "Numbers (1, 2, 3)",
+DlgLstTypeLCase		: "Lowercase Letters (a, b, c)",
+DlgLstTypeUCase		: "Uppercase Letters (A, B, C)",
+DlgLstTypeSRoman	: "Small Roman Numerals (i, ii, iii)",
+DlgLstTypeLRoman	: "Large Roman Numerals (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "General",
+DlgDocBackTab		: "Background",
+DlgDocColorsTab		: "Colors and Margins",
+DlgDocMetaTab		: "Meta Data",
+
+DlgDocPageTitle		: "Page Title",
+DlgDocLangDir		: "Language Direction",
+DlgDocLangDirLTR	: "Left to Right (LTR)",
+DlgDocLangDirRTL	: "Right to Left (RTL)",
+DlgDocLangCode		: "Language Code",
+DlgDocCharSet		: "Character Set Encoding",
+DlgDocCharSetCE		: "Central European",
+DlgDocCharSetCT		: "Chinese Traditional (Big5)",
+DlgDocCharSetCR		: "Cyrillic",
+DlgDocCharSetGR		: "Greek",
+DlgDocCharSetJP		: "Japanese",
+DlgDocCharSetKR		: "Korean",
+DlgDocCharSetTR		: "Turkish",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "Western European",
+DlgDocCharSetOther	: "Other Character Set Encoding",
+
+DlgDocDocType		: "Document Type Heading",
+DlgDocDocTypeOther	: "Other Document Type Heading",
+DlgDocIncXHTML		: "Include XHTML Declarations",
+DlgDocBgColor		: "Background Color",
+DlgDocBgImage		: "Background Image URL",
+DlgDocBgNoScroll	: "Nonscrolling Background",
+DlgDocCText			: "Text",
+DlgDocCLink			: "Link",
+DlgDocCVisited		: "Visited Link",
+DlgDocCActive		: "Active Link",
+DlgDocMargins		: "Page Margins",
+DlgDocMaTop			: "Top",
+DlgDocMaLeft		: "Left",
+DlgDocMaRight		: "Right",
+DlgDocMaBottom		: "Bottom",
+DlgDocMeIndex		: "Document Indexing Keywords (comma separated)",
+DlgDocMeDescr		: "Document Description",
+DlgDocMeAuthor		: "Author",
+DlgDocMeCopy		: "Copyright",
+DlgDocPreview		: "Preview",
+
+// Templates Dialog
+Templates			: "Templates",
+DlgTemplatesTitle	: "Content Templates",
+DlgTemplatesSelMsg	: "Please select the template to open in the editor<br />(the actual contents will be lost):",
+DlgTemplatesLoading	: "Loading templates list. Please wait...",
+DlgTemplatesNoTpl	: "(No templates defined)",
+DlgTemplatesReplace	: "Replace actual contents",
+
+// About Dialog
+DlgAboutAboutTab	: "About",
+DlgAboutBrowserInfoTab	: "Browser Info",
+DlgAboutLicenseTab	: "License",
+DlgAboutVersion		: "version",
+DlgAboutInfo		: "For further information go to",
+DlgAboutModule		: "Developed for Website Baker<br />modul version 2.9.4",
+
+// Div Dialog
+DlgDivGeneralTab	: "General",
+DlgDivAdvancedTab	: "Advanced",
+DlgDivStyle		: "Style",
+DlgDivInlineStyle	: "Inline Style",
+
+ScaytTitle			: "SCAYT",
+ScaytTitleOptions	: "Options",
+ScaytTitleLangs		: "Languages",
+ScaytTitleAbout		: "About"
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/ar.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/ar.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/ar.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Arabic language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "rtl",
+
+ToolbarCollapse		: "Ø¶Ù… Ø´Ø±ÙŠØ· Ø§Ù„Ø£Ø¯ÙˆØ§Øª",
+ToolbarExpand		: "ØªÙ…Ø¯Ø¯ Ø´Ø±ÙŠØ· Ø§Ù„Ø£Ø¯ÙˆØ§Øª",
+
+// Toolbar Items and Context Menu
+Save				: "Ø­ÙØ¸",
+NewPage				: "ØµÙØ­Ø© Ø¬Ø¯ÙŠØ¯Ø©",
+Preview				: "Ù…Ø¹Ø§ÙŠÙ†Ø© Ø§Ù„ØµÙØ­Ø©",
+Cut					: "Ù‚Øµ",
+Copy				: "Ù†Ø³Ø®",
+Paste				: "Ù„ØµÙ‚",
+PasteText			: "Ù„ØµÙ‚ ÙƒÙ†Øµ Ø¨Ø³ÙŠØ·",
+PasteWord			: "Ù„ØµÙ‚ Ù…Ù† ÙˆÙˆØ±Ø¯",
+Print				: "Ø·Ø¨Ø§Ø¹Ø©",
+SelectAll			: "ØªØ­Ø¯ÙŠØ¯ Ø§Ù„ÙƒÙ„",
+RemoveFormat		: "Ø¥Ø²Ø§Ù„Ø© Ø§Ù„ØªÙ†Ø³ÙŠÙ‚Ø§Øª",
+InsertLinkLbl		: "Ø±Ø§Ø¨Ø·",
+InsertLink			: "Ø¥Ø¯Ø±Ø§Ø¬/ØªØ­Ø±ÙŠØ± Ø±Ø§Ø¨Ø·",
+RemoveLink			: "Ø¥Ø²Ø§Ù„Ø© Ø±Ø§Ø¨Ø·",
+VisitLink			: "Ø§ÙØªØ­ Ø§Ù„Ø±Ø§Ø¨Ø·",
+Anchor				: "Ø¥Ø¯Ø±Ø§Ø¬/ØªØ­Ø±ÙŠØ± Ø¥Ø´Ø§Ø±Ø© Ù…Ø±Ø¬Ø¹ÙŠØ©",
+AnchorDelete		: "Ø¥Ø²Ø§Ù„Ø© Ø¥Ø´Ø§Ø±Ø© Ù…Ø±Ø¬Ø¹ÙŠØ©",
+InsertImageLbl		: "ØµÙˆØ±Ø©",
+InsertImage			: "Ø¥Ø¯Ø±Ø§Ø¬/ØªØ­Ø±ÙŠØ± ØµÙˆØ±Ø©",
+InsertFlashLbl		: "ÙÙ„Ø§Ø´",
+InsertFlash			: "Ø¥Ø¯Ø±Ø§Ø¬/ØªØ­Ø±ÙŠØ± ÙÙŠÙ„Ù… ÙÙ„Ø§Ø´",
+InsertTableLbl		: "Ø¬Ø¯ÙˆÙ„",
+InsertTable			: "Ø¥Ø¯Ø±Ø§Ø¬/ØªØ­Ø±ÙŠØ± Ø¬Ø¯ÙˆÙ„",
+InsertLineLbl		: "Ø®Ø· ÙØ§ØµÙ„",
+InsertLine			: "Ø¥Ø¯Ø±Ø§Ø¬ Ø®Ø· ÙØ§ØµÙ„",
+InsertSpecialCharLbl: "Ø±Ù…ÙˆØ²",
+InsertSpecialChar	: "Ø¥Ø¯Ø±Ø§Ø¬  Ø±Ù…ÙˆØ²..Ù",
+InsertSmileyLbl		: "Ø§Ø¨ØªØ³Ø§Ù…Ø§Øª",
+InsertSmiley		: "Ø¥Ø¯Ø±Ø§Ø¬ Ø§Ø¨ØªØ³Ø§Ù…Ø§Øª",
+About				: "Ø­ÙˆÙ„ FCKeditor",
+Bold				: "ØºØ§Ù…Ù‚",
+Italic				: "Ù…Ø§Ø¦Ù„",
+Underline			: "ØªØ³Ø·ÙŠØ±",
+StrikeThrough		: "ÙŠØªÙˆØ³Ø·Ù‡ Ø®Ø·",
+Subscript			: "Ù…Ù†Ø®ÙØ¶",
+Superscript			: "Ù…Ø±ØªÙØ¹",
+LeftJustify			: "Ù…Ø­Ø§Ø°Ø§Ø© Ø¥Ù„Ù‰ Ø§Ù„ÙŠØ³Ø§Ø±",
+CenterJustify		: "ØªÙˆØ³ÙŠØ·",
+RightJustify		: "Ù…Ø­Ø§Ø°Ø§Ø© Ø¥Ù„Ù‰ Ø§Ù„ÙŠÙ…ÙŠÙ†",
+BlockJustify		: "Ø¶Ø¨Ø·",
+DecreaseIndent		: "Ø¥Ù†Ù‚Ø§Øµ Ø§Ù„Ù…Ø³Ø§ÙØ© Ø§Ù„Ø¨Ø§Ø¯Ø¦Ø©",
+IncreaseIndent		: "Ø²ÙŠØ§Ø¯Ø© Ø§Ù„Ù…Ø³Ø§ÙØ© Ø§Ù„Ø¨Ø§Ø¯Ø¦Ø©",
+Blockquote			: "Ø§Ù‚ØªØ¨Ø§Ø³",
+CreateDiv			: "Ø¥Ù†Ø´Ø§Ø¡ Ø­Ø§ÙˆÙŠØ© Div",
+EditDiv				: "ØªØ¹Ø¯ÙŠÙ„ Ø­Ø§ÙˆÙŠØ© Div",
+DeleteDiv			: "Ø¥Ø²Ø§Ù„Ø© Ø­Ø§ÙˆÙŠØ© Div",
+Undo				: "ØªØ±Ø§Ø¬Ø¹",
+Redo				: "Ø¥Ø¹Ø§Ø¯Ø©",
+NumberedListLbl		: "ØªØ¹Ø¯Ø§Ø¯ Ø±Ù‚Ù…ÙŠ",
+NumberedList		: "Ø¥Ø¯Ø±Ø§Ø¬/Ø¥Ù„ØºØ§Ø¡ ØªØ¹Ø¯Ø§Ø¯ Ø±Ù‚Ù…ÙŠ",
+BulletedListLbl		: "ØªØ¹Ø¯Ø§Ø¯ Ù†Ù‚Ø·ÙŠ",
+BulletedList		: "Ø¥Ø¯Ø±Ø§Ø¬/Ø¥Ù„ØºØ§Ø¡ ØªØ¹Ø¯Ø§Ø¯ Ù†Ù‚Ø·ÙŠ",
+ShowTableBorders	: "Ù…Ø¹Ø§ÙŠÙ†Ø© Ø­Ø¯ÙˆØ¯ Ø§Ù„Ø¬Ø¯Ø§ÙˆÙ„",
+ShowDetails			: "Ù…Ø¹Ø§ÙŠÙ†Ø© Ø§Ù„ØªÙØ§ØµÙŠÙ„",
+Style				: "Ù†Ù…Ø·",
+FontFormat			: "ØªÙ†Ø³ÙŠÙ‚",
+Font				: "Ø®Ø·",
+FontSize			: "Ø­Ø¬Ù… Ø§Ù„Ø®Ø·",
+TextColor			: "Ù„ÙˆÙ† Ø§Ù„Ù†Øµ",
+BGColor				: "Ù„ÙˆÙ† Ø§Ù„Ø®Ù„ÙÙŠØ©",
+Source				: "Ø´ÙØ±Ø© Ø§Ù„Ù…ØµØ¯Ø±",
+Find				: "Ø¨Ø­Ø«",
+Replace				: "Ø¥Ø³ØªØ¨Ø¯Ø§Ù„",
+SpellCheck			: "ØªØ¯Ù‚ÙŠÙ‚ Ø¥Ù…Ù„Ø§Ø¦ÙŠ",
+UniversalKeyboard	: "Ù„ÙˆØ­Ø© Ø§Ù„Ù…ÙØ§ØªÙŠØ­ Ø§Ù„Ø¹Ø§Ù„Ù…ÙŠØ©",
+PageBreakLbl		: "ÙØµÙ„ Ø§Ù„ØµÙØ­Ø©",
+PageBreak			: "Ø¥Ø¯Ø®Ø§Ù„ ØµÙØ­Ø© Ø¬Ø¯ÙŠØ¯Ø©",
+
+Form			: "Ù†Ù…ÙˆØ°Ø¬",
+Checkbox		: "Ø®Ø§Ù†Ø© Ø¥Ø®ØªÙŠØ§Ø±",
+RadioButton		: "Ø²Ø± Ø®ÙŠØ§Ø±",
+TextField		: "Ù…Ø±Ø¨Ø¹ Ù†Øµ",
+Textarea		: "Ù†Ø§Ø­ÙŠØ© Ù†Øµ",
+HiddenField		: "Ø¥Ø¯Ø±Ø§Ø¬ Ø­Ù‚Ù„ Ø®ÙÙŠ",
+Button			: "Ø²Ø± Ø¶ØºØ·",
+SelectionField	: "Ù‚Ø§Ø¦Ù…Ø© Ù…Ù†Ø³Ø¯Ù„Ø©",
+ImageButton		: "Ø²Ø± ØµÙˆØ±Ø©",
+
+FitWindow		: "ØªÙƒØ¨ÙŠØ± Ø­Ø¬Ù… Ø§Ù„Ù…Ø­Ø±Ø±",
+ShowBlocks		: "Ù…Ø®Ø·Ø· ØªÙØµÙŠÙ„ÙŠ",
+
+// Context Menu
+EditLink			: "ØªØ­Ø±ÙŠØ± Ø±Ø§Ø¨Ø·",
+CellCM				: "Ø®Ù„ÙŠØ©",
+RowCM				: "ØµÙ",
+ColumnCM			: "Ø¹Ù…ÙˆØ¯",
+InsertRowAfter		: "Ø¥Ø¯Ø±Ø§Ø¬ ØµÙ Ø¨Ø¹Ø¯",
+InsertRowBefore		: "Ø¥Ø¯Ø±Ø§Ø¬ ØµÙ Ù‚Ø¨Ù„",
+DeleteRows			: "Ø­Ø°Ù ØµÙÙˆÙ",
+InsertColumnAfter	: "Ø¥Ø¯Ø±Ø§Ø¬ Ø¹Ù…ÙˆØ¯ Ø¨Ø¹Ø¯",
+InsertColumnBefore	: "Ø¥Ø¯Ø±Ø§Ø¬ Ø¹Ù…ÙˆØ¯ Ù‚Ø¨Ù„",
+DeleteColumns		: "Ø­Ø°Ù Ø£Ø¹Ù…Ø¯Ø©",
+InsertCellAfter		: "Ø¥Ø¯Ø±Ø§Ø¬ Ø®Ù„ÙŠØ© Ø¨Ø¹Ø¯",
+InsertCellBefore	: "Ø¥Ø¯Ø±Ø§Ø¬ Ø®Ù„ÙŠØ© Ù‚Ø¨Ù„",
+DeleteCells			: "Ø­Ø°Ù Ø®Ù„Ø§ÙŠØ§",
+MergeCells			: "Ø¯Ù…Ø¬ Ø®Ù„Ø§ÙŠØ§",
+MergeRight			: "Ø¯Ù…Ø¬ Ù„Ù„ÙŠÙ…ÙŠÙ†",
+MergeDown			: "Ø¯Ù…Ø¬ Ù„Ù„Ø£Ø³ÙÙ„",
+HorizontalSplitCell	: "ØªÙ‚Ø³ÙŠÙ… Ø§Ù„Ø®Ù„ÙŠØ© Ø£ÙÙ‚ÙŠØ§Ù‹",
+VerticalSplitCell	: "ØªÙ‚Ø³ÙŠÙ… Ø§Ù„Ø®Ù„ÙŠØ© Ø¹Ù…ÙˆØ¯ÙŠØ§Ù‹",
+TableDelete			: "Ø­Ø°Ù Ø§Ù„Ø¬Ø¯ÙˆÙ„",
+CellProperties		: "Ø®ØµØ§Ø¦Øµ Ø§Ù„Ø®Ù„ÙŠØ©",
+TableProperties		: "Ø®ØµØ§Ø¦Øµ Ø§Ù„Ø¬Ø¯ÙˆÙ„",
+ImageProperties		: "Ø®ØµØ§Ø¦Øµ Ø§Ù„ØµÙˆØ±Ø©",
+FlashProperties		: "Ø®ØµØ§Ø¦Øµ ÙÙŠÙ„Ù… Ø§Ù„ÙÙ„Ø§Ø´",
+
+AnchorProp			: "Ø®ØµØ§Ø¦Øµ Ø§Ù„Ø¥Ø´Ø§Ø±Ø© Ø§Ù„Ù…Ø±Ø¬Ø¹ÙŠØ©",
+ButtonProp			: "Ø®ØµØ§Ø¦Øµ Ø²Ø± Ø§Ù„Ø¶ØºØ·",
+CheckboxProp		: "Ø®ØµØ§Ø¦Øµ Ø®Ø§Ù†Ø© Ø§Ù„Ø¥Ø®ØªÙŠØ§Ø±",
+HiddenFieldProp		: "Ø®ØµØ§Ø¦Øµ Ø§Ù„Ø­Ù‚Ù„ Ø§Ù„Ø®ÙÙŠ",
+RadioButtonProp		: "Ø®ØµØ§Ø¦Øµ Ø²Ø± Ø§Ù„Ø®ÙŠØ§Ø±",
+ImageButtonProp		: "Ø®ØµØ§Ø¦Øµ Ø²Ø± Ø§Ù„ØµÙˆØ±Ø©",
+TextFieldProp		: "Ø®ØµØ§Ø¦Øµ Ù…Ø±Ø¨Ø¹ Ø§Ù„Ù†Øµ",
+SelectionFieldProp	: "Ø®ØµØ§Ø¦Øµ Ø§Ù„Ù‚Ø§Ø¦Ù…Ø© Ø§Ù„Ù…Ù†Ø³Ø¯Ù„Ø©",
+TextareaProp		: "Ø®ØµØ§Ø¦Øµ Ù†Ø§Ø­ÙŠØ© Ø§Ù„Ù†Øµ",
+FormProp			: "Ø®ØµØ§Ø¦Øµ Ø§Ù„Ù†Ù…ÙˆØ°Ø¬",
+
+FontFormats			: "Ø¹Ø§Ø¯ÙŠ;Ù…Ù†Ø³Ù‘Ù‚;Ø¯ÙˆØ³;Ø§Ù„Ø¹Ù†ÙˆØ§Ù† 1;Ø§Ù„Ø¹Ù†ÙˆØ§Ù†  2;Ø§Ù„Ø¹Ù†ÙˆØ§Ù†  3;Ø§Ù„Ø¹Ù†ÙˆØ§Ù†  4;Ø§Ù„Ø¹Ù†ÙˆØ§Ù†  5;Ø§Ù„Ø¹Ù†ÙˆØ§Ù†  6",
+
+// Alerts and Messages
+ProcessingXHTML		: "Ø¥Ù†ØªØ¸Ø± Ù‚Ù„ÙŠÙ„Ø§Ù‹ Ø±ÙŠØ«Ù…Ø§ ØªØªÙ…   Ù…Ø¹Ø§Ù„ÙØ¬Ø©â€ XHTML. Ù„Ù† ÙŠØ³ØªØºØ±Ù‚ Ø·ÙˆÙŠÙ„Ø§Ù‹...",
+Done				: "ØªÙ…",
+PasteWordConfirm	: "ÙŠØ¨Ø¯Ùˆ Ø£Ù† Ø§Ù„Ù†Øµ Ø§Ù„Ù…Ø±Ø§Ø¯ Ù„ØµÙ‚Ù‡ Ù…Ù†Ø³ÙˆØ® Ù…Ù† Ø¨Ø±Ù†Ø§Ù…Ø¬ ÙˆÙˆØ±Ø¯. Ù‡Ù„ ØªÙˆØ¯ ØªÙ†Ø¸ÙŠÙÙ‡ Ù‚Ø¨Ù„ Ø§Ù„Ø´Ø±ÙˆØ¹ ÙÙŠ Ø¹Ù…Ù„ÙŠØ© Ø§Ù„Ù„ØµÙ‚ØŸ",
+NotCompatiblePaste	: "Ù‡Ø°Ù‡ Ø§Ù„Ù…ÙŠØ²Ø© ØªØ­ØªØ§Ø¬ Ù„Ù…ØªØµÙØ­ Ù…Ù† Ø§Ù„Ù†ÙˆØ¹Internet Explorer Ø¥ØµØ¯Ø§Ø± 5.5 ÙÙ…Ø§ ÙÙˆÙ‚. Ù‡Ù„ ØªÙˆØ¯ Ø§Ù„Ù„ØµÙ‚ Ø¯ÙˆÙ† ØªÙ†Ø¸ÙŠÙ Ø§Ù„ÙƒÙˆØ¯ØŸ",
+UnknownToolbarItem	: "Ø¹Ù†ØµØ± Ø´Ø±ÙŠØ· Ø£Ø¯ÙˆØ§Øª ØºÙŠØ± Ù…Ø¹Ø±ÙˆÙ \"%1\"",
+UnknownCommand		: "Ø£Ù…Ø± ØºÙŠØ± Ù…Ø¹Ø±ÙˆÙ \"%1\"",
+NotImplemented		: "Ù„Ù… ÙŠØªÙ… Ø¯Ø¹Ù… Ù‡Ø°Ø§ Ø§Ù„Ø£Ù…Ø±",
+UnknownToolbarSet	: "Ù„Ù… Ø£ØªÙ…ÙƒÙ† Ù…Ù† Ø§Ù„Ø¹Ø«ÙˆØ± Ø¹Ù„Ù‰ Ø·Ù‚Ù… Ø§Ù„Ø£Ø¯ÙˆØ§Øª \"%1\" ",
+NoActiveX			: "Ù„ØªØ£Ù…ÙŠÙ† Ù…ØªØµÙØ­Ùƒ ÙŠØ¬Ø¨ Ø£Ù† ØªØ­Ø¯Ø¯ Ø¨Ø¹Ø¶ Ù…Ù…ÙŠØ²Ø§Øª Ø§Ù„Ù…Ø­Ø±Ø±. ÙŠØªÙˆØ¬Ø¨ Ø¹Ù„ÙŠÙƒ ØªÙ…ÙƒÙŠÙ† Ø§Ù„Ø®ÙŠØ§Ø± \"Run ActiveX controls and plug-ins\". Ù‚Ø¯ ØªÙˆØ§Ø¬Ø© Ø£Ø®Ø·Ø§Ø¡ ÙˆØªÙ„Ø§Ø­Ø¸ Ù…Ù…ÙŠØ²Ø§Øª Ù…ÙÙ‚ÙˆØ¯Ø©",
+BrowseServerBlocked : "Ù„Ø§ÙŠÙ…ÙƒÙ† ÙØªØ­ Ù…ØµØ¯Ø± Ø§Ù„Ù…ØªØµÙØ­. ÙØ¶Ù„Ø§ ÙŠØ¬Ø¨ Ø§Ù„ØªØ£ÙƒØ¯ Ø¨Ø£Ù† Ø¬Ù…ÙŠØ¹ Ù…ÙˆØ§Ù†Ø¹ Ø§Ù„Ù†ÙˆØ§ÙØ° Ø§Ù„Ù…Ù†Ø¨Ø«Ù‚Ø© Ù…Ø¹Ø·Ù„Ø©",
+DialogBlocked		: "Ù„Ø§ÙŠÙ…ÙƒÙ† ÙØªØ­ Ù†Ø§ÙØ°Ø© Ø§Ù„Ø­ÙˆØ§Ø± . ÙØ¶Ù„Ø§ ØªØ£ÙƒØ¯ Ù…Ù† Ø£Ù†  Ù…Ø§Ù†Ø¹ Ø§Ù„Ù†ÙˆØ§ÙØ° Ø§Ù„Ù…Ù†Ø¨Ø«Ø© Ù…Ø¹Ø·Ù„ .",
+VisitLinkBlocked	: "Ù„Ø§ ÙŠÙ…ÙƒÙ† ÙØªØ­ Ù†Ø§ÙØ°Ø© Ø¬Ø¯ÙŠØ¯Ø©. ØªØ£ÙƒØ¯ Ù…Ù† Ø¥ÙŠÙ‚Ø§Ù ÙƒÙ„ Ù…Ø§Ù†Ø¹ÙŠ ÙØªØ­ Ø§Ù„Ù†ÙˆØ§ÙØ° Ù…Ù† Ø§Ù„Ø¹Ù…Ù„.",
+
+// Dialogs
+DlgBtnOK			: "Ù…ÙˆØ§ÙÙ‚",
+DlgBtnCancel		: "Ø¥Ù„ØºØ§Ø¡ Ø§Ù„Ø£Ù…Ø±",
+DlgBtnClose			: "Ø¥ØºÙ„Ø§Ù‚",
+DlgBtnBrowseServer	: "ØªØµÙØ­ Ø§Ù„Ø®Ø§Ø¯Ù…",
+DlgAdvancedTag		: "Ù…ØªÙ‚Ø¯Ù…",
+DlgOpOther			: "<Ø£Ø®Ø±Ù‰>",
+DlgInfoTab			: "Ù…Ø¹Ù„ÙˆÙ…Ø§Øª",
+DlgAlertUrl			: "Ø§Ù„Ø±Ø¬Ø§Ø¡ ÙƒØªØ§Ø¨Ø© Ø¹Ù†ÙˆØ§Ù† Ø§Ù„Ø¥Ù†ØªØ±Ù†Øª",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<Ø¨Ø¯ÙˆÙ† ØªØ­Ø¯ÙŠØ¯>",
+DlgGenId			: "Ø§Ù„Ø±Ù‚Ù…",
+DlgGenLangDir		: "Ø¥ØªØ¬Ø§Ù‡ Ø§Ù„Ù†Øµ",
+DlgGenLangDirLtr	: "Ø§Ù„ÙŠØ³Ø§Ø± Ù„Ù„ÙŠÙ…ÙŠÙ† (LTR)",
+DlgGenLangDirRtl	: "Ø§Ù„ÙŠÙ…ÙŠÙ† Ù„Ù„ÙŠØ³Ø§Ø± (RTL)",
+DlgGenLangCode		: "Ø±Ù…Ø² Ø§Ù„Ù„ØºØ©",
+DlgGenAccessKey		: "Ù…ÙØ§ØªÙŠØ­ Ø§Ù„Ø¥Ø®ØªØµØ§Ø±",
+DlgGenName			: "Ø§Ù„Ø§Ø³Ù…",
+DlgGenTabIndex		: "Ø§Ù„ØªØ±ØªÙŠØ¨",
+DlgGenLongDescr		: "Ø¹Ù†ÙˆØ§Ù† Ø§Ù„ÙˆØµÙ Ø§Ù„Ù…ÙØµÙ‘Ù„",
+DlgGenClass			: "ÙØ¦Ø§Øª Ø§Ù„ØªÙ†Ø³ÙŠÙ‚",
+DlgGenTitle			: "ØªÙ„Ù…ÙŠØ­ Ø§Ù„Ø´Ø§Ø´Ø©",
+DlgGenContType		: "Ù†ÙˆØ¹ Ø§Ù„ØªÙ„Ù…ÙŠØ­",
+DlgGenLinkCharset	: "ØªØ±Ù…ÙŠØ² Ø§Ù„Ù…Ø§Ø¯Ø© Ø§Ù„Ù…Ø·Ù„ÙˆØ¨Ø©",
+DlgGenStyle			: "Ù†Ù…Ø·",
+
+// Image Dialog
+DlgImgTitle			: "Ø®ØµØ§Ø¦Øµ Ø§Ù„ØµÙˆØ±Ø©",
+DlgImgInfoTab		: "Ù…Ø¹Ù„ÙˆÙ…Ø§Øª Ø§Ù„ØµÙˆØ±Ø©",
+DlgImgBtnUpload		: "Ø£Ø±Ø³Ù„Ù‡Ø§ Ù„Ù„Ø®Ø§Ø¯Ù…",
+DlgImgURL			: "Ù…ÙˆÙ‚Ø¹ Ø§Ù„ØµÙˆØ±Ø©",
+DlgImgUpload		: "Ø±ÙØ¹",
+DlgImgAlt			: "Ø§Ù„ÙˆØµÙ",
+DlgImgWidth			: "Ø§Ù„Ø¹Ø±Ø¶",
+DlgImgHeight		: "Ø§Ù„Ø¥Ø±ØªÙØ§Ø¹",
+DlgImgLockRatio		: "ØªÙ†Ø§Ø³Ù‚ Ø§Ù„Ø­Ø¬Ù…",
+DlgBtnResetSize		: "Ø¥Ø³ØªØ¹Ø§Ø¯Ø© Ø§Ù„Ø­Ø¬Ù… Ø§Ù„Ø£ØµÙ„ÙŠ",
+DlgImgBorder		: "Ø³Ù…Ùƒ Ø§Ù„Ø­Ø¯ÙˆØ¯",
+DlgImgHSpace		: "ØªØ¨Ø§Ø¹Ø¯ Ø£ÙÙ‚ÙŠ",
+DlgImgVSpace		: "ØªØ¨Ø§Ø¹Ø¯ Ø¹Ù…ÙˆØ¯ÙŠ",
+DlgImgAlign			: "Ù…Ø­Ø§Ø°Ø§Ø©",
+DlgImgAlignLeft		: "ÙŠØ³Ø§Ø±",
+DlgImgAlignAbsBottom: "Ø£Ø³ÙÙ„ Ø§Ù„Ù†Øµ",
+DlgImgAlignAbsMiddle: "ÙˆØ³Ø· Ø§Ù„Ø³Ø·Ø±",
+DlgImgAlignBaseline	: "Ø¹Ù„Ù‰ Ø§Ù„Ø³Ø·Ø±",
+DlgImgAlignBottom	: "Ø£Ø³ÙÙ„",
+DlgImgAlignMiddle	: "ÙˆØ³Ø·",
+DlgImgAlignRight	: "ÙŠÙ…ÙŠÙ†",
+DlgImgAlignTextTop	: "Ø£Ø¹Ù„Ù‰ Ø§Ù„Ù†Øµ",
+DlgImgAlignTop		: "Ø£Ø¹Ù„Ù‰",
+DlgImgPreview		: "Ù…Ø¹Ø§ÙŠÙ†Ø©",
+DlgImgAlertUrl		: "ÙØ¶Ù„Ø§Ù‹ Ø£ÙƒØªØ¨ Ø§Ù„Ù…ÙˆÙ‚Ø¹ Ø§Ù„Ø°ÙŠ ØªÙˆØ¬Ø¯ Ø¹Ù„ÙŠÙ‡ Ù‡Ø°Ù‡ Ø§Ù„ØµÙˆØ±Ø©.",
+DlgImgLinkTab		: "Ø§Ù„Ø±Ø§Ø¨Ø·",
+
+// Flash Dialog
+DlgFlashTitle		: "Ø®ØµØ§Ø¦Øµ ÙÙŠÙ„Ù… Ø§Ù„ÙÙ„Ø§Ø´",
+DlgFlashChkPlay		: "ØªØ´ØºÙŠÙ„ ØªÙ„Ù‚Ø§Ø¦ÙŠ",
+DlgFlashChkLoop		: "ØªÙƒØ±Ø§Ø±",
+DlgFlashChkMenu		: "ØªÙ…ÙƒÙŠÙ† Ù‚Ø§Ø¦Ù…Ø© ÙÙŠÙ„Ù… Ø§Ù„ÙÙ„Ø§Ø´",
+DlgFlashScale		: "Ø§Ù„Ø­Ø¬Ù…",
+DlgFlashScaleAll	: "Ø¥Ø¸Ù‡Ø§Ø± Ø§Ù„ÙƒÙ„",
+DlgFlashScaleNoBorder	: "Ø¨Ù„Ø§ Ø­Ø¯ÙˆØ¯",
+DlgFlashScaleFit	: "Ø¶Ø¨Ø· ØªØ§Ù…",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Ø¥Ø±ØªØ¨Ø§Ø· ØªØ´Ø¹Ø¨ÙŠ",
+DlgLnkInfoTab		: "Ù…Ø¹Ù„ÙˆÙ…Ø§Øª Ø§Ù„Ø±Ø§Ø¨Ø·",
+DlgLnkTargetTab		: "Ø§Ù„Ù‡Ø¯Ù",
+
+DlgLnkType			: "Ù†ÙˆØ¹ Ø§Ù„Ø±Ø¨Ø·",
+DlgLnkTypeURL		: "Ø§Ù„Ø¹Ù†ÙˆØ§Ù†",
+DlgLnkTypeAnchor	: "Ù…ÙƒØ§Ù† ÙÙŠ Ù‡Ø°Ø§ Ø§Ù„Ù…Ø³ØªÙ†Ø¯",
+DlgLnkTypeEMail		: "Ø¨Ø±ÙŠØ¯ Ø¥Ù„ÙƒØªØ±ÙˆÙ†ÙŠ",
+DlgLnkProto			: "Ø§Ù„Ø¨Ø±ÙˆØªÙˆÙƒÙˆÙ„",
+DlgLnkProtoOther	: "<Ø£Ø®Ø±Ù‰>",
+DlgLnkURL			: "Ø§Ù„Ù…ÙˆÙ‚Ø¹",
+DlgLnkAnchorSel		: "Ø§Ø®ØªØ± Ø¹Ù„Ø§Ù…Ø© Ù…Ø±Ø¬Ø¹ÙŠØ©",
+DlgLnkAnchorByName	: "Ø­Ø³Ø¨ Ø§Ø³Ù… Ø§Ù„Ø¹Ù„Ø§Ù…Ø©",
+DlgLnkAnchorById	: "Ø­Ø³Ø¨ ØªØ¹Ø±ÙŠÙ Ø§Ù„Ø¹Ù†ØµØ±",
+DlgLnkNoAnchors		: "(Ù„Ø§ ÙŠÙˆØ¬Ø¯ Ø¹Ù„Ø§Ù…Ø§Øª Ù…Ø±Ø¬Ø¹ÙŠØ© ÙÙŠ Ù‡Ø°Ø§ Ø§Ù„Ù…Ø³ØªÙ†Ø¯)",
+DlgLnkEMail			: "Ø¹Ù†ÙˆØ§Ù† Ø¨Ø±ÙŠØ¯ Ø¥Ù„ÙƒØªØ±ÙˆÙ†ÙŠ",
+DlgLnkEMailSubject	: "Ù…ÙˆØ¶ÙˆØ¹ Ø§Ù„Ø±Ø³Ø§Ù„Ø©",
+DlgLnkEMailBody		: "Ù…Ø­ØªÙˆÙ‰ Ø§Ù„Ø±Ø³Ø§Ù„Ø©",
+DlgLnkUpload		: "Ø±ÙØ¹",
+DlgLnkBtnUpload		: "Ø£Ø±Ø³Ù„Ù‡Ø§ Ù„Ù„Ø®Ø§Ø¯Ù…",
+
+DlgLnkTarget		: "Ø§Ù„Ù‡Ø¯Ù",
+DlgLnkTargetFrame	: "<Ø¥Ø·Ø§Ø±>",
+DlgLnkTargetPopup	: "<Ù†Ø§ÙØ°Ø© Ù…Ù†Ø¨Ø«Ù‚Ø©>",
+DlgLnkTargetBlank	: "Ø¥Ø·Ø§Ø± Ø¬Ø¯ÙŠØ¯ (_blank)",
+DlgLnkTargetParent	: "Ø§Ù„Ø¥Ø·Ø§Ø± Ø§Ù„Ø£ØµÙ„ (_parent)",
+DlgLnkTargetSelf	: "Ù†ÙØ³ Ø§Ù„Ø¥Ø·Ø§Ø± (_self)",
+DlgLnkTargetTop		: "ØµÙØ­Ø© ÙƒØ§Ù…Ù„Ø© (_top)",
+DlgLnkTargetFrameName	: "Ø§Ø³Ù… Ø§Ù„Ø¥Ø·Ø§Ø± Ø§Ù„Ù‡Ø¯Ù",
+DlgLnkPopWinName	: "ØªØ³Ù…ÙŠØ© Ø§Ù„Ù†Ø§ÙØ°Ø© Ø§Ù„Ù…Ù†Ø¨Ø«Ù‚Ø©",
+DlgLnkPopWinFeat	: "Ø®ØµØ§Ø¦Øµ Ø§Ù„Ù†Ø§ÙØ°Ø© Ø§Ù„Ù…Ù†Ø¨Ø«Ù‚Ø©",
+DlgLnkPopResize		: "Ù‚Ø§Ø¨Ù„Ø© Ù„Ù„ØªØ­Ø¬ÙŠÙ…",
+DlgLnkPopLocation	: "Ø´Ø±ÙŠØ· Ø§Ù„Ø¹Ù†ÙˆØ§Ù†",
+DlgLnkPopMenu		: "Ø§Ù„Ù‚ÙˆØ§Ø¦Ù… Ø§Ù„Ø±Ø¦ÙŠØ³ÙŠØ©",
+DlgLnkPopScroll		: "Ø£Ø´Ø±Ø·Ø© Ø§Ù„ØªÙ…Ø±ÙŠØ±",
+DlgLnkPopStatus		: "Ø´Ø±ÙŠØ· Ø§Ù„Ø­Ø§Ù„Ø© Ø§Ù„Ø³ÙÙ„ÙŠ",
+DlgLnkPopToolbar	: "Ø´Ø±ÙŠØ· Ø§Ù„Ø£Ø¯ÙˆØ§Øª",
+DlgLnkPopFullScrn	: "Ù…Ù„Ø¦ Ø§Ù„Ø´Ø§Ø´Ø© (IE)",
+DlgLnkPopDependent	: "ØªØ§Ø¨Ø¹ (Netscape)",
+DlgLnkPopWidth		: "Ø§Ù„Ø¹Ø±Ø¶",
+DlgLnkPopHeight		: "Ø§Ù„Ø¥Ø±ØªÙØ§Ø¹",
+DlgLnkPopLeft		: "Ø§Ù„ØªÙ…Ø±ÙƒØ² Ù„Ù„ÙŠØ³Ø§Ø±",
+DlgLnkPopTop		: "Ø§Ù„ØªÙ…Ø±ÙƒØ² Ù„Ù„Ø£Ø¹Ù„Ù‰",
+
+DlnLnkMsgNoUrl		: "ÙØ¶Ù„Ø§Ù‹ Ø£Ø¯Ø®Ù„ Ø¹Ù†ÙˆØ§Ù† Ø§Ù„Ù…ÙˆÙ‚Ø¹ Ø§Ù„Ø°ÙŠ ÙŠØ´ÙŠØ± Ø¥Ù„ÙŠÙ‡ Ø§Ù„Ø±Ø§Ø¨Ø·",
+DlnLnkMsgNoEMail	: "ÙØ¶Ù„Ø§Ù‹ Ø£Ø¯Ø®Ù„ Ø¹Ù†ÙˆØ§Ù† Ø§Ù„Ø¨Ø±ÙŠØ¯ Ø§Ù„Ø¥Ù„ÙƒØªØ±ÙˆÙ†ÙŠ",
+DlnLnkMsgNoAnchor	: "ÙØ¶Ù„Ø§Ù‹ Ø­Ø¯Ø¯ Ø§Ù„Ø¹Ù„Ø§Ù…Ø© Ø§Ù„Ù…Ø±Ø¬Ø¹ÙŠØ© Ø§Ù„Ù…Ø±ØºÙˆØ¨Ø©",
+DlnLnkMsgInvPopName	: "Ø§Ø³Ù… Ø§Ù„Ù†Ø§ÙØ°Ø© Ø§Ù„Ù…Ù†Ø¨Ø«Ù‚Ø© ÙŠØ¬Ø¨ Ø£Ù† ÙŠØ¨Ø¯Ø£ Ø¨Ø­Ø±Ù Ø£Ø¨Ø¬Ø¯ÙŠ Ø¯ÙˆÙ† Ù…Ø³Ø§ÙØ§Øª",
+
+// Color Dialog
+DlgColorTitle		: "Ø§Ø®ØªØ± Ù„ÙˆÙ†Ø§Ù‹",
+DlgColorBtnClear	: "Ù…Ø³Ø­",
+DlgColorHighlight	: "ØªØ­Ø¯ÙŠØ¯",
+DlgColorSelected	: "Ø¥Ø®ØªÙŠØ§Ø±",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Ø¥Ø¯Ø±Ø§Ø¬ Ø¥Ø¨ØªØ³Ø§Ù…Ø§Øª ",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Ø¥Ø¯Ø±Ø§Ø¬ Ø±Ù…Ø²",
+
+// Table Dialog
+DlgTableTitle		: "Ø¥Ø¯Ø±Ø§Ø¬ Ø¬Ø¯ÙˆÙ„",
+DlgTableRows		: "ØµÙÙˆÙ",
+DlgTableColumns		: "Ø£Ø¹Ù…Ø¯Ø©",
+DlgTableBorder		: "Ø³Ù…Ùƒ Ø§Ù„Ø­Ø¯ÙˆØ¯",
+DlgTableAlign		: "Ø§Ù„Ù…Ø­Ø§Ø°Ø§Ø©",
+DlgTableAlignNotSet	: "<Ø¨Ø¯ÙˆÙ† ØªØ­Ø¯ÙŠØ¯>",
+DlgTableAlignLeft	: "ÙŠØ³Ø§Ø±",
+DlgTableAlignCenter	: "ÙˆØ³Ø·",
+DlgTableAlignRight	: "ÙŠÙ…ÙŠÙ†",
+DlgTableWidth		: "Ø§Ù„Ø¹Ø±Ø¶",
+DlgTableWidthPx		: "Ø¨ÙƒØ³Ù„",
+DlgTableWidthPc		: "Ø¨Ø§Ù„Ù…Ø¦Ø©",
+DlgTableHeight		: "Ø§Ù„Ø¥Ø±ØªÙØ§Ø¹",
+DlgTableCellSpace	: "ØªØ¨Ø§Ø¹Ø¯ Ø§Ù„Ø®Ù„Ø§ÙŠØ§",
+DlgTableCellPad		: "Ø§Ù„Ù…Ø³Ø§ÙØ© Ø§Ù„Ø¨Ø§Ø¯Ø¦Ø©",
+DlgTableCaption		: "Ø§Ù„ÙˆØµÙ",
+DlgTableSummary		: "Ø§Ù„Ø®Ù„Ø§ØµØ©",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "Ø®ØµØ§Ø¦Øµ Ø§Ù„Ø®Ù„ÙŠØ©",
+DlgCellWidth		: "Ø§Ù„Ø¹Ø±Ø¶",
+DlgCellWidthPx		: "Ø¨ÙƒØ³Ù„",
+DlgCellWidthPc		: "Ø¨Ø§Ù„Ù…Ø¦Ø©",
+DlgCellHeight		: "Ø§Ù„Ø¥Ø±ØªÙØ§Ø¹",
+DlgCellWordWrap		: "Ø§Ù„ØªÙØ§Ù Ø§Ù„Ù†Øµ",
+DlgCellWordWrapNotSet	: "<Ø¨Ø¯ÙˆÙ† ØªØ­Ø¯ÙŠØ¯>",
+DlgCellWordWrapYes	: "Ù†Ø¹Ù…",
+DlgCellWordWrapNo	: "Ù„Ø§",
+DlgCellHorAlign		: "Ø§Ù„Ù…Ø­Ø§Ø°Ø§Ø© Ø§Ù„Ø£ÙÙ‚ÙŠØ©",
+DlgCellHorAlignNotSet	: "<Ø¨Ø¯ÙˆÙ† ØªØ­Ø¯ÙŠØ¯>",
+DlgCellHorAlignLeft	: "ÙŠØ³Ø§Ø±",
+DlgCellHorAlignCenter	: "ÙˆØ³Ø·",
+DlgCellHorAlignRight: "ÙŠÙ…ÙŠÙ†",
+DlgCellVerAlign		: "Ø§Ù„Ù…Ø­Ø§Ø°Ø§Ø© Ø§Ù„Ø¹Ù…ÙˆØ¯ÙŠØ©",
+DlgCellVerAlignNotSet	: "<Ø¨Ø¯ÙˆÙ† ØªØ­Ø¯ÙŠØ¯>",
+DlgCellVerAlignTop	: "Ø£Ø¹Ù„Ù‰",
+DlgCellVerAlignMiddle	: "ÙˆØ³Ø·",
+DlgCellVerAlignBottom	: "Ø£Ø³ÙÙ„",
+DlgCellVerAlignBaseline	: "Ø¹Ù„Ù‰ Ø§Ù„Ø³Ø·Ø±",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "Ø¥Ù…ØªØ¯Ø§Ø¯ Ø§Ù„ØµÙÙˆÙ",
+DlgCellCollSpan		: "Ø¥Ù…ØªØ¯Ø§Ø¯ Ø§Ù„Ø£Ø¹Ù…Ø¯Ø©",
+DlgCellBackColor	: "Ù„ÙˆÙ† Ø§Ù„Ø®Ù„ÙÙŠØ©",
+DlgCellBorderColor	: "Ù„ÙˆÙ† Ø§Ù„Ø­Ø¯ÙˆØ¯",
+DlgCellBtnSelect	: "Ø­Ø¯Ù‘Ø¯...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Ø¨Ø­Ø« ÙˆØ§Ø³ØªØ¨Ø¯Ø§Ù„",
+
+// Find Dialog
+DlgFindTitle		: "Ø¨Ø­Ø«",
+DlgFindFindBtn		: "Ø§Ø¨Ø­Ø«",
+DlgFindNotFoundMsg	: "Ù„Ù… ÙŠØªÙ… Ø§Ù„Ø¹Ø«ÙˆØ± Ø¹Ù„Ù‰ Ø§Ù„Ù†Øµ Ø§Ù„Ù…Ø­Ø¯Ø¯.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Ø¥Ø³ØªØ¨Ø¯Ø§Ù„",
+DlgReplaceFindLbl		: "Ø§Ù„Ø¨Ø­Ø« Ø¹Ù†:",
+DlgReplaceReplaceLbl	: "Ø¥Ø³ØªØ¨Ø¯Ø§Ù„ Ø¨Ù€:",
+DlgReplaceCaseChk		: "Ù…Ø·Ø§Ø¨Ù‚Ø© Ø­Ø§Ù„Ø© Ø§Ù„Ø£Ø­Ø±Ù",
+DlgReplaceReplaceBtn	: "Ø¥Ø³ØªØ¨Ø¯Ø§Ù„",
+DlgReplaceReplAllBtn	: "Ø¥Ø³ØªØ¨Ø¯Ø§Ù„ Ø§Ù„ÙƒÙ„",
+DlgReplaceWordChk		: "Ø§Ù„ÙƒÙ„Ù…Ø© Ø¨Ø§Ù„ÙƒØ§Ù…Ù„ ÙÙ‚Ø·",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "Ø§Ù„Ø¥Ø¹Ø¯Ø§Ø¯Ø§Øª Ø§Ù„Ø£Ù…Ù†ÙŠØ© Ù„Ù„Ù…ØªØµÙØ­ Ø§Ù„Ø°ÙŠ ØªØ³ØªØ®Ø¯Ù…Ù‡ ØªÙ…Ù†Ø¹ Ø§Ù„Ù‚Øµ Ø§Ù„ØªÙ„Ù‚Ø§Ø¦ÙŠ. ÙØ¶Ù„Ø§Ù‹ Ø¥Ø³ØªØ®Ø¯Ù… Ù„ÙˆØ­Ø© Ø§Ù„Ù…ÙØ§ØªÙŠØ­ Ù„ÙØ¹Ù„ Ø°Ù„Ùƒ (Ctrl+X).",
+PasteErrorCopy	: "Ø§Ù„Ø¥Ø¹Ø¯Ø§Ø¯Ø§Øª Ø§Ù„Ø£Ù…Ù†ÙŠØ© Ù„Ù„Ù…ØªØµÙØ­ Ø§Ù„Ø°ÙŠ ØªØ³ØªØ®Ø¯Ù…Ù‡ ØªÙ…Ù†Ø¹ Ø§Ù„Ù†Ø³Ø® Ø§Ù„ØªÙ„Ù‚Ø§Ø¦ÙŠ. ÙØ¶Ù„Ø§Ù‹ Ø¥Ø³ØªØ®Ø¯Ù… Ù„ÙˆØ­Ø© Ø§Ù„Ù…ÙØ§ØªÙŠØ­ Ù„ÙØ¹Ù„ Ø°Ù„Ùƒ (Ctrl+C).",
+
+PasteAsText		: "Ù„ØµÙ‚ ÙƒÙ†Øµ Ø¨Ø³ÙŠØ·",
+PasteFromWord	: "Ù„ØµÙ‚ Ù…Ù† ÙˆÙˆØ±Ø¯",
+
+DlgPasteMsg2	: "Ø§Ù„ØµÙ‚ Ø¯Ø§Ø®Ù„ Ø§Ù„ØµÙ†Ø¯ÙˆÙ‚ Ø¨Ø¥Ø³ØªØ®Ø¯Ø§Ù… Ø²Ø±Ù‘ÙŠ (<STRONG>Ctrl+V</STRONG>) ÙÙŠ Ù„ÙˆØ­Ø© Ø§Ù„Ù…ÙØ§ØªÙŠØ­ØŒ Ø«Ù… Ø§Ø¶ØºØ· Ø²Ø±  <STRONG>Ù…ÙˆØ§ÙÙ‚</STRONG>.",
+DlgPasteSec		: "Ù†Ø¸Ø±Ø§Ù‹ Ù„Ø¥Ø¹Ø¯Ø§Ø¯Ø§Øª Ø§Ù„Ø£Ù…Ø§Ù† Ø§Ù„Ø®Ø§ØµØ© Ø¨Ù…ØªØµÙØ­ÙƒØŒ Ù„Ù† ÙŠØªÙ…ÙƒÙ† Ù‡Ø°Ø§ Ø§Ù„Ù…Ø­Ø±Ø± Ù…Ù† Ø§Ù„ÙˆØµÙˆÙ„ Ù„Ù…Ø­ØªÙˆÙ‰ Ø­Ø§ÙØ¸ØªÙƒØŒ Ù„Ø°Ø§ ÙˆØ¬Ø¨ Ø¹Ù„ÙŠÙƒ Ù„ØµÙ‚ Ø§Ù„Ù…Ø­ØªÙˆÙ‰ Ù…Ø±Ø© Ø£Ø®Ø±Ù‰ ÙÙŠ Ù‡Ø°Ù‡ Ø§Ù„Ù†Ø§ÙØ°Ø©.",
+DlgPasteIgnoreFont		: "ØªØ¬Ø§Ù‡Ù„ ØªØ¹Ø±ÙŠÙØ§Øª Ø£Ø³Ù…Ø§Ø¡ Ø§Ù„Ø®Ø·ÙˆØ·",
+DlgPasteRemoveStyles	: "Ø¥Ø²Ø§Ù„Ø© ØªØ¹Ø±ÙŠÙØ§Øª Ø§Ù„Ø£Ù†Ù…Ø§Ø·",
+
+// Color Picker
+ColorAutomatic	: "ØªÙ„Ù‚Ø§Ø¦ÙŠ",
+ColorMoreColors	: "Ø£Ù„ÙˆØ§Ù† Ø¥Ø¶Ø§ÙÙŠØ©...",
+
+// Document Properties
+DocProps		: "Ø®ØµØ§Ø¦Øµ Ø§Ù„ØµÙØ­Ø©",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Ø®ØµØ§Ø¦Øµ Ø¥Ø´Ø§Ø±Ø© Ù…Ø±Ø¬Ø¹ÙŠØ©",
+DlgAnchorName		: "Ø§Ø³Ù… Ø§Ù„Ø¥Ø´Ø§Ø±Ø© Ø§Ù„Ù…Ø±Ø¬Ø¹ÙŠØ©",
+DlgAnchorErrorName	: "Ø§Ù„Ø±Ø¬Ø§Ø¡ ÙƒØªØ§Ø¨Ø© Ø§Ø³Ù… Ø§Ù„Ø¥Ø´Ø§Ø±Ø© Ø§Ù„Ù…Ø±Ø¬Ø¹ÙŠØ©",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Ù„ÙŠØ³Øª ÙÙŠ Ø§Ù„Ù‚Ø§Ù…ÙˆØ³",
+DlgSpellChangeTo		: "Ø§Ù„ØªØºÙŠÙŠØ± Ø¥Ù„Ù‰",
+DlgSpellBtnIgnore		: "ØªØ¬Ø§Ù‡Ù„",
+DlgSpellBtnIgnoreAll	: "ØªØ¬Ø§Ù‡Ù„ Ø§Ù„ÙƒÙ„",
+DlgSpellBtnReplace		: "ØªØºÙŠÙŠØ±",
+DlgSpellBtnReplaceAll	: "ØªØºÙŠÙŠØ± Ø§Ù„ÙƒÙ„",
+DlgSpellBtnUndo			: "ØªØ±Ø§Ø¬Ø¹",
+DlgSpellNoSuggestions	: "- Ù„Ø§ ØªÙˆØ¬Ø¯ Ø¥Ù‚ØªØ±Ø§Ø­Ø§Øª -",
+DlgSpellProgress		: "Ø¬Ø§Ø±ÙŠ Ø§Ù„ØªØ¯Ù‚ÙŠÙ‚ Ø¥Ù…Ù„Ø§Ø¦ÙŠØ§Ù‹",
+DlgSpellNoMispell		: "ØªÙ… Ø¥ÙƒÙ…Ø§Ù„ Ø§Ù„ØªØ¯Ù‚ÙŠÙ‚ Ø§Ù„Ø¥Ù…Ù„Ø§Ø¦ÙŠ: Ù„Ù… ÙŠØªÙ… Ø§Ù„Ø¹Ø«ÙˆØ± Ø¹Ù„Ù‰ Ø£ÙŠ Ø£Ø®Ø·Ø§Ø¡ Ø¥Ù…Ù„Ø§Ø¦ÙŠØ©",
+DlgSpellNoChanges		: "ØªÙ… Ø¥ÙƒÙ…Ø§Ù„ Ø§Ù„ØªØ¯Ù‚ÙŠÙ‚ Ø§Ù„Ø¥Ù…Ù„Ø§Ø¦ÙŠ: Ù„Ù… ÙŠØªÙ… ØªØºÙŠÙŠØ± Ø£ÙŠ ÙƒÙ„Ù…Ø©",
+DlgSpellOneChange		: "ØªÙ… Ø¥ÙƒÙ…Ø§Ù„ Ø§Ù„ØªØ¯Ù‚ÙŠÙ‚ Ø§Ù„Ø¥Ù…Ù„Ø§Ø¦ÙŠ: ØªÙ… ØªØºÙŠÙŠØ± ÙƒÙ„Ù…Ø© ÙˆØ§Ø­Ø¯Ø© ÙÙ‚Ø·",
+DlgSpellManyChanges		: "ØªÙ… Ø¥ÙƒÙ…Ø§Ù„ Ø§Ù„ØªØ¯Ù‚ÙŠÙ‚ Ø§Ù„Ø¥Ù…Ù„Ø§Ø¦ÙŠ: ØªÙ… ØªØºÙŠÙŠØ± %1 ÙƒÙ„Ù…Ø§Øª\ÙƒÙ„Ù…Ø©",
+
+IeSpellDownload			: "Ø§Ù„Ù…Ø¯Ù‚Ù‚ Ø§Ù„Ø¥Ù…Ù„Ø§Ø¦ÙŠ (Ø§Ù„Ø¥Ù†Ø¬Ù„ÙŠØ²ÙŠ) ØºÙŠØ± Ù…Ø«Ø¨Ù‘Øª. Ù‡Ù„ ØªÙˆØ¯ ØªØ­Ù…ÙŠÙ„Ù‡ Ø§Ù„Ø¢Ù†ØŸ",
+
+// Button Dialog
+DlgButtonText		: "Ø§Ù„Ù‚ÙŠÙ…Ø©/Ø§Ù„ØªØ³Ù…ÙŠØ©",
+DlgButtonType		: "Ù†ÙˆØ¹ Ø§Ù„Ø²Ø±",
+DlgButtonTypeBtn	: "Ø²Ø±",
+DlgButtonTypeSbm	: "Ø¥Ø±Ø³Ø§Ù„",
+DlgButtonTypeRst	: "Ø¥Ø¹Ø§Ø¯Ø© ØªØ¹ÙŠÙŠÙ†",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Ø§Ù„Ø§Ø³Ù…",
+DlgCheckboxValue	: "Ø§Ù„Ù‚ÙŠÙ…Ø©",
+DlgCheckboxSelected	: "Ù…Ø­Ø¯Ø¯",
+
+// Form Dialog
+DlgFormName		: "Ø§Ù„Ø§Ø³Ù…",
+DlgFormAction	: "Ø§Ø³Ù… Ø§Ù„Ù…Ù„Ù",
+DlgFormMethod	: "Ø§Ù„Ø£Ø³Ù„ÙˆØ¨",
+
+// Select Field Dialog
+DlgSelectName		: "Ø§Ù„Ø§Ø³Ù…",
+DlgSelectValue		: "Ø§Ù„Ù‚ÙŠÙ…Ø©",
+DlgSelectSize		: "Ø§Ù„Ø­Ø¬Ù…",
+DlgSelectLines		: "Ø§Ù„Ø£Ø³Ø·Ø±",
+DlgSelectChkMulti	: "Ø§Ù„Ø³Ù…Ø§Ø­ Ø¨ØªØ­Ø¯ÙŠØ¯Ø§Øª Ù…ØªØ¹Ø¯Ø¯Ø©",
+DlgSelectOpAvail	: "Ø§Ù„Ø®ÙŠØ§Ø±Ø§Øª Ø§Ù„Ù…ØªØ§Ø­Ø©",
+DlgSelectOpText		: "Ø§Ù„Ù†Øµ",
+DlgSelectOpValue	: "Ø§Ù„Ù‚ÙŠÙ…Ø©",
+DlgSelectBtnAdd		: "Ø¥Ø¶Ø§ÙØ©",
+DlgSelectBtnModify	: "ØªØ¹Ø¯ÙŠÙ„",
+DlgSelectBtnUp		: "ØªØ­Ø±ÙŠÙƒ Ù„Ø£Ø¹Ù„Ù‰",
+DlgSelectBtnDown	: "ØªØ­Ø±ÙŠÙƒ Ù„Ø£Ø³ÙÙ„",
+DlgSelectBtnSetValue : "Ø¥Ø¬Ø¹Ù„Ù‡Ø§ Ù…Ø­Ø¯Ø¯Ø©",
+DlgSelectBtnDelete	: "Ø¥Ø²Ø§Ù„Ø©",
+
+// Textarea Dialog
+DlgTextareaName	: "Ø§Ù„Ø§Ø³Ù…",
+DlgTextareaCols	: "Ø§Ù„Ø£Ø¹Ù…Ø¯Ø©",
+DlgTextareaRows	: "Ø§Ù„ØµÙÙˆÙ",
+
+// Text Field Dialog
+DlgTextName			: "Ø§Ù„Ø§Ø³Ù…",
+DlgTextValue		: "Ø§Ù„Ù‚ÙŠÙ…Ø©",
+DlgTextCharWidth	: "Ø§Ù„Ø¹Ø±Ø¶ Ø¨Ø§Ù„Ø£Ø­Ø±Ù",
+DlgTextMaxChars		: "Ø¹Ø¯Ø¯ Ø§Ù„Ø­Ø±ÙˆÙ Ø§Ù„Ø£Ù‚ØµÙ‰",
+DlgTextType			: "Ù†ÙˆØ¹ Ø§Ù„Ù…Ø­ØªÙˆÙ‰",
+DlgTextTypeText		: "Ù†Øµ",
+DlgTextTypePass		: "ÙƒÙ„Ù…Ø© Ù…Ø±ÙˆØ±",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Ø§Ù„Ø§Ø³Ù…",
+DlgHiddenValue	: "Ø§Ù„Ù‚ÙŠÙ…Ø©",
+
+// Bulleted List Dialog
+BulletedListProp	: "Ø®ØµØ§Ø¦Øµ Ø§Ù„ØªØ¹Ø¯Ø§Ø¯ Ø§Ù„Ù†Ù‚Ø·ÙŠ",
+NumberedListProp	: "Ø®ØµØ§Ø¦Øµ Ø§Ù„ØªØ¹Ø¯Ø§Ø¯ Ø§Ù„Ø±Ù‚Ù…ÙŠ",
+DlgLstStart			: "Ø§Ù„Ø¨Ø¯Ø¡ Ø¹Ù†Ø¯",
+DlgLstType			: "Ø§Ù„Ù†ÙˆØ¹",
+DlgLstTypeCircle	: "Ø¯Ø§Ø¦Ø±Ø©",
+DlgLstTypeDisc		: "Ù‚Ø±Øµ",
+DlgLstTypeSquare	: "Ù…Ø±Ø¨Ø¹",
+DlgLstTypeNumbers	: "Ø£Ø±Ù‚Ø§Ù… (1ØŒ 2ØŒ 3)Ù",
+DlgLstTypeLCase		: "Ø­Ø±ÙˆÙ ØµØºÙŠØ±Ø© (a, b, c)Ù",
+DlgLstTypeUCase		: "Ø­Ø±ÙˆÙ ÙƒØ¨ÙŠØ±Ø© (A, B, C)Ù",
+DlgLstTypeSRoman	: "ØªØ±Ù‚ÙŠÙ… Ø±ÙˆÙ…Ø§Ù†ÙŠ ØµØºÙŠØ± (i, ii, iii)Ù",
+DlgLstTypeLRoman	: "ØªØ±Ù‚ÙŠÙ… Ø±ÙˆÙ…Ø§Ù†ÙŠ ÙƒØ¨ÙŠØ± (I, II, III)Ù",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Ø¹Ø§Ù…",
+DlgDocBackTab		: "Ø§Ù„Ø®Ù„ÙÙŠØ©",
+DlgDocColorsTab		: "Ø§Ù„Ø£Ù„ÙˆØ§Ù† ÙˆØ§Ù„Ù‡ÙˆØ§Ù…Ø´",
+DlgDocMetaTab		: "Ø§Ù„Ù…Ø¹Ø±Ù‘ÙØ§Øª Ø§Ù„Ø±Ø£Ø³ÙŠØ©",
+
+DlgDocPageTitle		: "Ø¹Ù†ÙˆØ§Ù† Ø§Ù„ØµÙØ­Ø©",
+DlgDocLangDir		: "Ø¥ØªØ¬Ø§Ù‡ Ø§Ù„Ù„ØºØ©",
+DlgDocLangDirLTR	: "Ø§Ù„ÙŠØ³Ø§Ø± Ù„Ù„ÙŠÙ…ÙŠÙ† (LTR)",
+DlgDocLangDirRTL	: "Ø§Ù„ÙŠÙ…ÙŠÙ† Ù„Ù„ÙŠØ³Ø§Ø± (RTL)",
+DlgDocLangCode		: "Ø±Ù…Ø² Ø§Ù„Ù„ØºØ©",
+DlgDocCharSet		: "ØªØ±Ù…ÙŠØ² Ø§Ù„Ø­Ø±ÙˆÙ",
+DlgDocCharSetCE		: "Ø£ÙˆØ±ÙˆØ¨Ø§ Ø§Ù„ÙˆØ³Ø·Ù‰",
+DlgDocCharSetCT		: "Ø§Ù„ØµÙŠÙ†ÙŠØ© Ø§Ù„ØªÙ‚Ù„ÙŠØ¯ÙŠØ© (Big5)",
+DlgDocCharSetCR		: "Ø§Ù„Ø³ÙŠØ±ÙŠÙ„ÙŠØ©",
+DlgDocCharSetGR		: "Ø§Ù„ÙŠÙˆÙ†Ø§Ù†ÙŠØ©",
+DlgDocCharSetJP		: "Ø§Ù„ÙŠØ§Ø¨Ø§Ù†ÙŠØ©",
+DlgDocCharSetKR		: "Ø§Ù„ÙƒÙˆØ±ÙŠØ©",
+DlgDocCharSetTR		: "Ø§Ù„ØªØ±ÙƒÙŠØ©",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "Ø£ÙˆØ±ÙˆØ¨Ø§ Ø§Ù„ØºØ±Ø¨ÙŠØ©",
+DlgDocCharSetOther	: "ØªØ±Ù…ÙŠØ² Ø¢Ø®Ø±",
+
+DlgDocDocType		: "ØªØ±ÙˆÙŠØ³Ø© Ù†ÙˆØ¹  Ø§Ù„ØµÙØ­Ø©",
+DlgDocDocTypeOther	: "ØªØ±ÙˆÙŠØ³Ø© Ù†ÙˆØ¹  ØµÙØ­Ø© Ø£Ø®Ø±Ù‰",
+DlgDocIncXHTML		: "ØªØ¶Ù…ÙŠÙ†   Ø¥Ø¹Ù„Ø§Ù†Ø§Øªâ€ Ù„ØºØ© XHTMLÙ",
+DlgDocBgColor		: "Ù„ÙˆÙ† Ø§Ù„Ø®Ù„ÙÙŠØ©",
+DlgDocBgImage		: "Ø±Ø§Ø¨Ø· Ø§Ù„ØµÙˆØ±Ø© Ø§Ù„Ø®Ù„ÙÙŠØ©",
+DlgDocBgNoScroll	: "Ø¬Ø¹Ù„Ù‡Ø§ Ø¹Ù„Ø§Ù…Ø© Ù…Ø§Ø¦ÙŠØ©",
+DlgDocCText			: "Ø§Ù„Ù†Øµ",
+DlgDocCLink			: "Ø§Ù„Ø±ÙˆØ§Ø¨Ø·",
+DlgDocCVisited		: "Ø§Ù„Ù…Ø²Ø§Ø±Ø©",
+DlgDocCActive		: "Ø§Ù„Ù†Ø´Ø·Ø©",
+DlgDocMargins		: "Ù‡ÙˆØ§Ù…Ø´ Ø§Ù„ØµÙØ­Ø©",
+DlgDocMaTop			: "Ø¹Ù„ÙˆÙŠ",
+DlgDocMaLeft		: "Ø£ÙŠØ³Ø±",
+DlgDocMaRight		: "Ø£ÙŠÙ…Ù†",
+DlgDocMaBottom		: "Ø³ÙÙ„ÙŠ",
+DlgDocMeIndex		: "Ø§Ù„ÙƒÙ„Ù…Ø§Øª Ø§Ù„Ø£Ø³Ø§Ø³ÙŠØ© (Ù…ÙØµÙˆÙ„Ø© Ø¨ÙÙˆØ§ØµÙ„)Ù",
+DlgDocMeDescr		: "ÙˆØµÙ Ø§Ù„ØµÙØ­Ø©",
+DlgDocMeAuthor		: "Ø§Ù„ÙƒØ§ØªØ¨",
+DlgDocMeCopy		: "Ø§Ù„Ù…Ø§Ù„Ùƒ",
+DlgDocPreview		: "Ù…Ø¹Ø§ÙŠÙ†Ø©",
+
+// Templates Dialog
+Templates			: "Ø§Ù„Ù‚ÙˆØ§Ù„Ø¨",
+DlgTemplatesTitle	: "Ù‚ÙˆØ§Ù„Ø¨ Ø§Ù„Ù…Ø­ØªÙˆÙ‰",
+DlgTemplatesSelMsg	: "Ø§Ø®ØªØ± Ø§Ù„Ù‚Ø§Ù„Ø¨ Ø§Ù„Ø°ÙŠ ØªÙˆØ¯ ÙˆØ¶Ø¹Ù‡ ÙÙŠ Ø§Ù„Ù…Ø­Ø±Ø± <br>(Ø³ÙŠØªÙ… ÙÙ‚Ø¯Ø§Ù† Ø§Ù„Ù…Ø­ØªÙˆÙ‰ Ø§Ù„Ø­Ø§Ù„ÙŠ):",
+DlgTemplatesLoading	: "Ø¬Ø§Ø±ÙŠ ØªØ­Ù…ÙŠÙ„ Ù‚Ø§Ø¦Ù…Ø© Ø§Ù„Ù‚ÙˆØ§Ù„Ø¨ØŒ Ø§Ù„Ø±Ø¬Ø§Ø¡ Ø§Ù„Ø¥Ù†ØªØ¸Ø§Ø±...",
+DlgTemplatesNoTpl	: "(Ù„Ù… ÙŠØªÙ… ØªØ¹Ø±ÙŠÙ Ø£ÙŠ Ù‚Ø§Ù„Ø¨)",
+DlgTemplatesReplace	: "Ø§Ø³ØªØ¨Ø¯Ø§Ù„ Ø§Ù„Ù…Ø­ØªÙˆÙ‰",
+
+// About Dialog
+DlgAboutAboutTab	: "Ù†Ø¨Ø°Ø©",
+DlgAboutBrowserInfoTab	: "Ù…Ø¹Ù„ÙˆÙ…Ø§Øª Ù…ØªØµÙØ­Ùƒ",
+DlgAboutLicenseTab	: "Ø§Ù„ØªØ±Ø®ÙŠØµ",
+DlgAboutVersion		: "Ø§Ù„Ø¥ØµØ¯Ø§Ø±",
+DlgAboutInfo		: "Ù„Ù…Ø²ÙŠØ¯ Ù…Ù† Ø§Ù„Ù…Ø¹Ù„ÙˆÙ…Ø§Øª ØªÙØ¶Ù„ Ø¨Ø²ÙŠØ§Ø±Ø©",
+
+// Div Dialog
+DlgDivGeneralTab	: "Ø¹Ø§Ù…",
+DlgDivAdvancedTab	: "Ù…ØªÙ‚Ø¯Ù…",
+DlgDivStyle		: "Ø§Ù„Ù…Ø¸Ù‡Ø±",
+DlgDivInlineStyle	: "Ø§Ù„Ù…Ø¸Ù‡Ø± Ø§Ù„Ù…Ø¶Ù…Ù†",
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/gl.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/gl.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/gl.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Galician language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Ocultar Ferramentas",
+ToolbarExpand		: "Mostrar Ferramentas",
+
+// Toolbar Items and Context Menu
+Save				: "Gardar",
+NewPage				: "Nova PÃ¡xina",
+Preview				: "Vista Previa",
+Cut					: "Cortar",
+Copy				: "Copiar",
+Paste				: "Pegar",
+PasteText			: "Pegar como texto plano",
+PasteWord			: "Pegar dende Word",
+Print				: "Imprimir",
+SelectAll			: "Seleccionar todo",
+RemoveFormat		: "Eliminar Formato",
+InsertLinkLbl		: "LigazÃ³n",
+InsertLink			: "Inserir/Editar LigazÃ³n",
+RemoveLink			: "Eliminar LigazÃ³n",
+VisitLink			: "Open Link",	//MISSING
+Anchor				: "Inserir/Editar Referencia",
+AnchorDelete		: "Remove Anchor",	//MISSING
+InsertImageLbl		: "Imaxe",
+InsertImage			: "Inserir/Editar Imaxe",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Inserir/Editar Flash",
+InsertTableLbl		: "Tabla",
+InsertTable			: "Inserir/Editar Tabla",
+InsertLineLbl		: "LiÃ±a",
+InsertLine			: "Inserir LiÃ±a Horizontal",
+InsertSpecialCharLbl: "CarÃ¡cter Special",
+InsertSpecialChar	: "Inserir CarÃ¡cter Especial",
+InsertSmileyLbl		: "Smiley",
+InsertSmiley		: "Inserir Smiley",
+About				: "Acerca de FCKeditor",
+Bold				: "Negrita",
+Italic				: "Cursiva",
+Underline			: "Sub-raiado",
+StrikeThrough		: "Tachado",
+Subscript			: "SubÃ­ndice",
+Superscript			: "SuperÃ­ndice",
+LeftJustify			: "AliÃ±ar Ã¡ Esquerda",
+CenterJustify		: "Centrado",
+RightJustify		: "AliÃ±ar Ã¡ Dereita",
+BlockJustify		: "Xustificado",
+DecreaseIndent		: "Disminuir SangrÃ­a",
+IncreaseIndent		: "Aumentar SangrÃ­a",
+Blockquote			: "Blockquote",	//MISSING
+CreateDiv			: "Create Div Container",	//MISSING
+EditDiv				: "Edit Div Container",	//MISSING
+DeleteDiv			: "Remove Div Container",	//MISSING
+Undo				: "Desfacer",
+Redo				: "Refacer",
+NumberedListLbl		: "Lista Numerada",
+NumberedList		: "Inserir/Eliminar Lista Numerada",
+BulletedListLbl		: "Marcas",
+BulletedList		: "Inserir/Eliminar Marcas",
+ShowTableBorders	: "Mostrar Bordes das TÃ¡boas",
+ShowDetails			: "Mostrar Marcas ParÃ¡grafo",
+Style				: "Estilo",
+FontFormat			: "Formato",
+Font				: "Tipo",
+FontSize			: "TamaÃ±o",
+TextColor			: "Cor do Texto",
+BGColor				: "Cor do Fondo",
+Source				: "CÃ³digo Fonte",
+Find				: "Procurar",
+Replace				: "Substituir",
+SpellCheck			: "CorrecciÃ³n OrtogrÃ¡fica",
+UniversalKeyboard	: "Teclado Universal",
+PageBreakLbl		: "Salto de PÃ¡xina",
+PageBreak			: "Inserir Salto de PÃ¡xina",
+
+Form			: "Formulario",
+Checkbox		: "Cadro de VerificaciÃ³n",
+RadioButton		: "BotÃ³n de Radio",
+TextField		: "Campo de Texto",
+Textarea		: "Ãrea de Texto",
+HiddenField		: "Campo Oculto",
+Button			: "BotÃ³n",
+SelectionField	: "Campo de SelecciÃ³n",
+ImageButton		: "BotÃ³n de Imaxe",
+
+FitWindow		: "Maximizar o tamaÃ±o do editor",
+ShowBlocks		: "Show Blocks",	//MISSING
+
+// Context Menu
+EditLink			: "Editar LigazÃ³n",
+CellCM				: "Cela",
+RowCM				: "Fila",
+ColumnCM			: "Columna",
+InsertRowAfter		: "Insert Row After",	//MISSING
+InsertRowBefore		: "Insert Row Before",	//MISSING
+DeleteRows			: "Borrar Filas",
+InsertColumnAfter	: "Insert Column After",	//MISSING
+InsertColumnBefore	: "Insert Column Before",	//MISSING
+DeleteColumns		: "Borrar Columnas",
+InsertCellAfter		: "Insert Cell After",	//MISSING
+InsertCellBefore	: "Insert Cell Before",	//MISSING
+DeleteCells			: "Borrar Cela",
+MergeCells			: "Unir Celas",
+MergeRight			: "Merge Right",	//MISSING
+MergeDown			: "Merge Down",	//MISSING
+HorizontalSplitCell	: "Split Cell Horizontally",	//MISSING
+VerticalSplitCell	: "Split Cell Vertically",	//MISSING
+TableDelete			: "Borrar TÃ¡boa",
+CellProperties		: "Propriedades da Cela",
+TableProperties		: "Propriedades da TÃ¡boa",
+ImageProperties		: "Propriedades Imaxe",
+FlashProperties		: "Propriedades Flash",
+
+AnchorProp			: "Propriedades da Referencia",
+ButtonProp			: "Propriedades do BotÃ³n",
+CheckboxProp		: "Propriedades do Cadro de VerificaciÃ³n",
+HiddenFieldProp		: "Propriedades do Campo Oculto",
+RadioButtonProp		: "Propriedades do BotÃ³n de Radio",
+ImageButtonProp		: "Propriedades do BotÃ³n de Imaxe",
+TextFieldProp		: "Propriedades do Campo de Texto",
+SelectionFieldProp	: "Propriedades do Campo de SelecciÃ³n",
+TextareaProp		: "Propriedades da Ãrea de Texto",
+FormProp			: "Propriedades do Formulario",
+
+FontFormats			: "Normal;Formateado;Enderezo;Enacabezado 1;Encabezado 2;Encabezado 3;Encabezado 4;Encabezado 5;Encabezado 6;Paragraph (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "Procesando XHTML. Por facor, agarde...",
+Done				: "Feiro",
+PasteWordConfirm	: "Parece que o texto que quere pegar estÃ¡ copiado do Word.Â¿Quere limpar o formato antes de pegalo?",
+NotCompatiblePaste	: "Este comando estÃ¡ disponible para Internet Explorer versiÃ³n 5.5 ou superior. Â¿Quere pegalo sen limpar o formato?",
+UnknownToolbarItem	: "Ãtem de ferramentas descoÃ±ecido \"%1\"",
+UnknownCommand		: "Nome de comando descoÃ±ecido \"%1\"",
+NotImplemented		: "Comando non implementado",
+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",
+BrowseServerBlocked : "Non se poido abrir o navegador de recursos. AsegÃºrese de que estÃ¡n desactivados os bloqueadores de xanelas emerxentes",
+DialogBlocked		: "Non foi posible abrir a xanela de diÃ¡logo. AsegÃºrese de que estÃ¡n desactivados os bloqueadores de xanelas emerxentes",
+VisitLinkBlocked	: "It was not possible to open a new window. Make sure all popup blockers are disabled.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Cancelar",
+DlgBtnClose			: "Pechar",
+DlgBtnBrowseServer	: "Navegar no Servidor",
+DlgAdvancedTag		: "Advanzado",
+DlgOpOther			: "<Outro>",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "Por favor, insira a URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<non definido>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "OrientaciÃ³n do Idioma",
+DlgGenLangDirLtr	: "Esquerda a Dereita (LTR)",
+DlgGenLangDirRtl	: "Dereita a Esquerda (RTL)",
+DlgGenLangCode		: "CÃ³digo do Idioma",
+DlgGenAccessKey		: "Chave de Acceso",
+DlgGenName			: "Nome",
+DlgGenTabIndex		: "Ãndice de TabulaciÃ³n",
+DlgGenLongDescr		: "DescriciÃ³n Completa da URL",
+DlgGenClass			: "Clases da Folla de Estilos",
+DlgGenTitle			: "TÃ­tulo",
+DlgGenContType		: "Tipo de Contido",
+DlgGenLinkCharset	: "Fonte de Caracteres Vinculado",
+DlgGenStyle			: "Estilo",
+
+// Image Dialog
+DlgImgTitle			: "Propriedades da Imaxe",
+DlgImgInfoTab		: "InformaciÃ³n da Imaxe",
+DlgImgBtnUpload		: "Enviar Ã³ Servidor",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Carregar",
+DlgImgAlt			: "Texto Alternativo",
+DlgImgWidth			: "Largura",
+DlgImgHeight		: "Altura",
+DlgImgLockRatio		: "Proporcional",
+DlgBtnResetSize		: "TamaÃ±o Orixinal",
+DlgImgBorder		: "LÃ­mite",
+DlgImgHSpace		: "Esp. Horiz.",
+DlgImgVSpace		: "Esp. Vert.",
+DlgImgAlign			: "AliÃ±amento",
+DlgImgAlignLeft		: "Esquerda",
+DlgImgAlignAbsBottom: "Abs Inferior",
+DlgImgAlignAbsMiddle: "Abs Centro",
+DlgImgAlignBaseline	: "LiÃ±a Base",
+DlgImgAlignBottom	: "PÃ©",
+DlgImgAlignMiddle	: "Centro",
+DlgImgAlignRight	: "Dereita",
+DlgImgAlignTextTop	: "Tope do Texto",
+DlgImgAlignTop		: "Tope",
+DlgImgPreview		: "Vista Previa",
+DlgImgAlertUrl		: "Por favor, escriba a URL da imaxe",
+DlgImgLinkTab		: "LigazÃ³n",
+
+// Flash Dialog
+DlgFlashTitle		: "Propriedades Flash",
+DlgFlashChkPlay		: "Auto ExecuciÃ³n",
+DlgFlashChkLoop		: "Bucle",
+DlgFlashChkMenu		: "Activar MenÃº Flash",
+DlgFlashScale		: "Escalar",
+DlgFlashScaleAll	: "Amosar Todo",
+DlgFlashScaleNoBorder	: "Sen Borde",
+DlgFlashScaleFit	: "Encaixar axustando",
+
+// Link Dialog
+DlgLnkWindowTitle	: "LigazÃ³n",
+DlgLnkInfoTab		: "InformaciÃ³n da LigazÃ³n",
+DlgLnkTargetTab		: "Referencia a esta pÃ¡xina",
+
+DlgLnkType			: "Tipo de LigazÃ³n",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Referencia nesta pÃ¡xina",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protocolo",
+DlgLnkProtoOther	: "<outro>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Seleccionar unha Referencia",
+DlgLnkAnchorByName	: "Por Nome de Referencia",
+DlgLnkAnchorById	: "Por Element Id",
+DlgLnkNoAnchors		: "(Non hai referencias disponibles no documento)",
+DlgLnkEMail			: "Enderezo de E-Mail",
+DlgLnkEMailSubject	: "Asunto do Mensaxe",
+DlgLnkEMailBody		: "Corpo do Mensaxe",
+DlgLnkUpload		: "Carregar",
+DlgLnkBtnUpload		: "Enviar Ã³ servidor",
+
+DlgLnkTarget		: "Destino",
+DlgLnkTargetFrame	: "<frame>",
+DlgLnkTargetPopup	: "<Xanela Emerxente>",
+DlgLnkTargetBlank	: "Nova Xanela (_blank)",
+DlgLnkTargetParent	: "Xanela Pai (_parent)",
+DlgLnkTargetSelf	: "Mesma Xanela (_self)",
+DlgLnkTargetTop		: "Xanela Primaria (_top)",
+DlgLnkTargetFrameName	: "Nome do Marco Destino",
+DlgLnkPopWinName	: "Nome da Xanela Emerxente",
+DlgLnkPopWinFeat	: "CaracterÃ­sticas da Xanela Emerxente",
+DlgLnkPopResize		: "Axustable",
+DlgLnkPopLocation	: "Barra de LocalizaciÃ³n",
+DlgLnkPopMenu		: "Barra de MenÃº",
+DlgLnkPopScroll		: "Barras de Desplazamento",
+DlgLnkPopStatus		: "Barra de Estado",
+DlgLnkPopToolbar	: "Barra de Ferramentas",
+DlgLnkPopFullScrn	: "A Toda Pantalla (IE)",
+DlgLnkPopDependent	: "Dependente (Netscape)",
+DlgLnkPopWidth		: "Largura",
+DlgLnkPopHeight		: "Altura",
+DlgLnkPopLeft		: "PosiciÃ³n Esquerda",
+DlgLnkPopTop		: "PosiciÃ³n dende Arriba",
+
+DlnLnkMsgNoUrl		: "Por favor, escriba a ligazÃ³n URL",
+DlnLnkMsgNoEMail	: "Por favor, escriba o enderezo de e-mail",
+DlnLnkMsgNoAnchor	: "Por favor, seleccione un destino",
+DlnLnkMsgInvPopName	: "The popup name must begin with an alphabetic character and must not contain spaces",	//MISSING
+
+// Color Dialog
+DlgColorTitle		: "Seleccionar Color",
+DlgColorBtnClear	: "Nengunha",
+DlgColorHighlight	: "Destacado",
+DlgColorSelected	: "Seleccionado",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Inserte un Smiley",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Seleccione Caracter Especial",
+
+// Table Dialog
+DlgTableTitle		: "Propiedades da TÃ¡boa",
+DlgTableRows		: "Filas",
+DlgTableColumns		: "Columnas",
+DlgTableBorder		: "TamaÃ±o do Borde",
+DlgTableAlign		: "AliÃ±amento",
+DlgTableAlignNotSet	: "<Non Definido>",
+DlgTableAlignLeft	: "Esquerda",
+DlgTableAlignCenter	: "Centro",
+DlgTableAlignRight	: "Ereita",
+DlgTableWidth		: "Largura",
+DlgTableWidthPx		: "pixels",
+DlgTableWidthPc		: "percent",
+DlgTableHeight		: "Altura",
+DlgTableCellSpace	: "Marxe entre Celas",
+DlgTableCellPad		: "Marxe interior",
+DlgTableCaption		: "TÃ­tulo",
+DlgTableSummary		: "Sumario",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "Propriedades da Cela",
+DlgCellWidth		: "Largura",
+DlgCellWidthPx		: "pixels",
+DlgCellWidthPc		: "percent",
+DlgCellHeight		: "Altura",
+DlgCellWordWrap		: "Axustar LiÃ±as",
+DlgCellWordWrapNotSet	: "<Non Definido>",
+DlgCellWordWrapYes	: "Si",
+DlgCellWordWrapNo	: "Non",
+DlgCellHorAlign		: "AliÃ±amento Horizontal",
+DlgCellHorAlignNotSet	: "<Non definido>",
+DlgCellHorAlignLeft	: "Esquerda",
+DlgCellHorAlignCenter	: "Centro",
+DlgCellHorAlignRight: "Dereita",
+DlgCellVerAlign		: "AliÃ±amento Vertical",
+DlgCellVerAlignNotSet	: "<Non definido>",
+DlgCellVerAlignTop	: "Arriba",
+DlgCellVerAlignMiddle	: "Medio",
+DlgCellVerAlignBottom	: "Abaixo",
+DlgCellVerAlignBaseline	: "LiÃ±a de Base",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "Ocupar Filas",
+DlgCellCollSpan		: "Ocupar Columnas",
+DlgCellBackColor	: "Color de Fondo",
+DlgCellBorderColor	: "Color de Borde",
+DlgCellBtnSelect	: "Seleccionar...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Find and Replace",	//MISSING
+
+// Find Dialog
+DlgFindTitle		: "Procurar",
+DlgFindFindBtn		: "Procurar",
+DlgFindNotFoundMsg	: "Non te atopou o texto indicado.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Substituir",
+DlgReplaceFindLbl		: "Texto a procurar:",
+DlgReplaceReplaceLbl	: "Substituir con:",
+DlgReplaceCaseChk		: "Coincidir Mai./min.",
+DlgReplaceReplaceBtn	: "Substituir",
+DlgReplaceReplAllBtn	: "Substitiur Todo",
+DlgReplaceWordChk		: "Coincidir con toda a palabra",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "Os axustes de seguridade do seu navegador non permiten que o editor realice automÃ¡ticamente as tarefas de corte. Por favor, use o teclado para iso (Ctrl+X).",
+PasteErrorCopy	: "Os axustes de seguridade do seu navegador non permiten que o editor realice automÃ¡ticamente as tarefas de copia. Por favor, use o teclado para iso (Ctrl+C).",
+
+PasteAsText		: "Pegar como texto plano",
+PasteFromWord	: "Pegar dende Word",
+
+DlgPasteMsg2	: "Por favor, pegue dentro do seguinte cadro usando o teclado (<STRONG>Ctrl+V</STRONG>) e pulse <STRONG>OK</STRONG>.",
+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
+DlgPasteIgnoreFont		: "Ignorar as definiciÃ³ns de TipografÃ­a",
+DlgPasteRemoveStyles	: "Eliminar as definiciÃ³ns de Estilos",
+
+// Color Picker
+ColorAutomatic	: "AutomÃ¡tico",
+ColorMoreColors	: "MÃ¡is Cores...",
+
+// Document Properties
+DocProps		: "Propriedades do Documento",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Propriedades da Referencia",
+DlgAnchorName		: "Nome da Referencia",
+DlgAnchorErrorName	: "Por favor, escriba o nome da referencia",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Non estÃ¡ no diccionario",
+DlgSpellChangeTo		: "Cambiar a",
+DlgSpellBtnIgnore		: "Ignorar",
+DlgSpellBtnIgnoreAll	: "Ignorar Todas",
+DlgSpellBtnReplace		: "Substituir",
+DlgSpellBtnReplaceAll	: "Substituir Todas",
+DlgSpellBtnUndo			: "Desfacer",
+DlgSpellNoSuggestions	: "- Sen candidatos -",
+DlgSpellProgress		: "CorrecciÃ³n ortogrÃ¡fica en progreso...",
+DlgSpellNoMispell		: "CorrecciÃ³n ortogrÃ¡fica rematada: Non se atoparon erros",
+DlgSpellNoChanges		: "CorrecciÃ³n ortogrÃ¡fica rematada: Non se substituiu nengunha verba",
+DlgSpellOneChange		: "CorrecciÃ³n ortogrÃ¡fica rematada: Unha verba substituida",
+DlgSpellManyChanges		: "CorrecciÃ³n ortogrÃ¡fica rematada: %1 verbas substituidas",
+
+IeSpellDownload			: "O corrector ortogrÃ¡fico non estÃ¡ instalado. Â¿Quere descargalo agora?",
+
+// Button Dialog
+DlgButtonText		: "Texto (Valor)",
+DlgButtonType		: "Tipo",
+DlgButtonTypeBtn	: "Button",	//MISSING
+DlgButtonTypeSbm	: "Submit",	//MISSING
+DlgButtonTypeRst	: "Reset",	//MISSING
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Nome",
+DlgCheckboxValue	: "Valor",
+DlgCheckboxSelected	: "Seleccionado",
+
+// Form Dialog
+DlgFormName		: "Nome",
+DlgFormAction	: "AcciÃ³n",
+DlgFormMethod	: "MÃ©todo",
+
+// Select Field Dialog
+DlgSelectName		: "Nome",
+DlgSelectValue		: "Valor",
+DlgSelectSize		: "TamaÃ±o",
+DlgSelectLines		: "liÃ±as",
+DlgSelectChkMulti	: "Permitir mÃºltiples selecciÃ³ns",
+DlgSelectOpAvail	: "OpciÃ³ns Disponibles",
+DlgSelectOpText		: "Texto",
+DlgSelectOpValue	: "Valor",
+DlgSelectBtnAdd		: "Engadir",
+DlgSelectBtnModify	: "Modificar",
+DlgSelectBtnUp		: "Subir",
+DlgSelectBtnDown	: "Baixar",
+DlgSelectBtnSetValue : "Definir como valor por defecto",
+DlgSelectBtnDelete	: "Borrar",
+
+// Textarea Dialog
+DlgTextareaName	: "Nome",
+DlgTextareaCols	: "Columnas",
+DlgTextareaRows	: "Filas",
+
+// Text Field Dialog
+DlgTextName			: "Nome",
+DlgTextValue		: "Valor",
+DlgTextCharWidth	: "TamaÃ±o do Caracter",
+DlgTextMaxChars		: "MÃ¡ximo de Caracteres",
+DlgTextType			: "Tipo",
+DlgTextTypeText		: "Texto",
+DlgTextTypePass		: "Chave",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Nome",
+DlgHiddenValue	: "Valor",
+
+// Bulleted List Dialog
+BulletedListProp	: "Propriedades das Marcas",
+NumberedListProp	: "Propriedades da Lista de NumeraciÃ³n",
+DlgLstStart			: "Start",	//MISSING
+DlgLstType			: "Tipo",
+DlgLstTypeCircle	: "CÃ­rculo",
+DlgLstTypeDisc		: "Disco",
+DlgLstTypeSquare	: "Cuadrado",
+DlgLstTypeNumbers	: "NÃºmeros (1, 2, 3)",
+DlgLstTypeLCase		: "Letras MinÃºsculas (a, b, c)",
+DlgLstTypeUCase		: "Letras MaiÃºsculas (A, B, C)",
+DlgLstTypeSRoman	: "NÃºmeros Romanos en minÃºscula (i, ii, iii)",
+DlgLstTypeLRoman	: "NÃºmeros Romanos en MaiÃºscula (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Xeral",
+DlgDocBackTab		: "Fondo",
+DlgDocColorsTab		: "Cores e Marxes",
+DlgDocMetaTab		: "Meta Data",
+
+DlgDocPageTitle		: "TÃ­tulo da PÃ¡xina",
+DlgDocLangDir		: "OrientaciÃ³n do Idioma",
+DlgDocLangDirLTR	: "Esquerda a Dereita (LTR)",
+DlgDocLangDirRTL	: "Dereita a Esquerda (RTL)",
+DlgDocLangCode		: "CÃ³digo de Idioma",
+DlgDocCharSet		: "CodificaciÃ³n do Xogo de Caracteres",
+DlgDocCharSetCE		: "Central European",	//MISSING
+DlgDocCharSetCT		: "Chinese Traditional (Big5)",	//MISSING
+DlgDocCharSetCR		: "Cyrillic",	//MISSING
+DlgDocCharSetGR		: "Greek",	//MISSING
+DlgDocCharSetJP		: "Japanese",	//MISSING
+DlgDocCharSetKR		: "Korean",	//MISSING
+DlgDocCharSetTR		: "Turkish",	//MISSING
+DlgDocCharSetUN		: "Unicode (UTF-8)",	//MISSING
+DlgDocCharSetWE		: "Western European",	//MISSING
+DlgDocCharSetOther	: "Outra CodificaciÃ³n do Xogo de Caracteres",
+
+DlgDocDocType		: "Encabezado do Tipo de Documento",
+DlgDocDocTypeOther	: "Outro Encabezado do Tipo de Documento",
+DlgDocIncXHTML		: "Incluir DeclaraciÃ³ns XHTML",
+DlgDocBgColor		: "Cor de Fondo",
+DlgDocBgImage		: "URL da Imaxe de Fondo",
+DlgDocBgNoScroll	: "Fondo Fixo",
+DlgDocCText			: "Texto",
+DlgDocCLink			: "LigazÃ³ns",
+DlgDocCVisited		: "LigazÃ³n Visitada",
+DlgDocCActive		: "LigazÃ³n Activa",
+DlgDocMargins		: "Marxes da PÃ¡xina",
+DlgDocMaTop			: "Arriba",
+DlgDocMaLeft		: "Esquerda",
+DlgDocMaRight		: "Dereita",
+DlgDocMaBottom		: "Abaixo",
+DlgDocMeIndex		: "Palabras Chave de IndexaciÃ³n do Documento (separadas por comas)",
+DlgDocMeDescr		: "DescripciÃ³n do Documento",
+DlgDocMeAuthor		: "Autor",
+DlgDocMeCopy		: "Copyright",
+DlgDocPreview		: "Vista Previa",
+
+// Templates Dialog
+Templates			: "Plantillas",
+DlgTemplatesTitle	: "Plantillas de Contido",
+DlgTemplatesSelMsg	: "Por favor, seleccione a plantilla a abrir no editor<br>(o contido actual perderase):",
+DlgTemplatesLoading	: "Cargando listado de plantillas. Por favor, espere...",
+DlgTemplatesNoTpl	: "(Non hai plantillas definidas)",
+DlgTemplatesReplace	: "Replace actual contents",	//MISSING
+
+// About Dialog
+DlgAboutAboutTab	: "Acerca de",
+DlgAboutBrowserInfoTab	: "InformaciÃ³n do Navegador",
+DlgAboutLicenseTab	: "Licencia",
+DlgAboutVersion		: "versiÃ³n",
+DlgAboutInfo		: "Para mÃ¡is informaciÃ³n visitar:",
+
+// Div Dialog
+DlgDivGeneralTab	: "General",	//MISSING
+DlgDivAdvancedTab	: "Advanced",	//MISSING
+DlgDivStyle		: "Style",	//MISSING
+DlgDivInlineStyle	: "Inline Style",	//MISSING
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/_translationstatus.txt
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/_translationstatus.txt	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/_translationstatus.txt	(revision 1481)
@@ -0,0 +1,79 @@
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Translations Status.
+ */
+
+af.js      Found: 396   Missing: 36
+ar.js      Found: 420   Missing: 12
+bg.js      Found: 373   Missing: 59
+bn.js      Found: 380   Missing: 52
+bs.js      Found: 226   Missing: 206
+ca.js      Found: 420   Missing: 12
+cs.js      Found: 428   Missing: 4
+da.js      Found: 419   Missing: 13
+de.js      Found: 420   Missing: 12
+el.js      Found: 396   Missing: 36
+en-au.js   Found: 423   Missing: 9
+en-ca.js   Found: 423   Missing: 9
+en-uk.js   Found: 423   Missing: 9
+eo.js      Found: 346   Missing: 86
+es.js      Found: 428   Missing: 4
+et.js      Found: 411   Missing: 21
+eu.js      Found: 420   Missing: 12
+fa.js      Found: 413   Missing: 19
+fi.js      Found: 411   Missing: 21
+fo.js      Found: 420   Missing: 12
+fr-ca.js   Found: 419   Missing: 13
+fr.js      Found: 428   Missing: 4
+gl.js      Found: 381   Missing: 51
+gu.js      Found: 411   Missing: 21
+he.js      Found: 428   Missing: 4
+hi.js      Found: 420   Missing: 12
+hr.js      Found: 420   Missing: 12
+hu.js      Found: 411   Missing: 21
+is.js      Found: 428   Missing: 4
+it.js      Found: 410   Missing: 22
+ja.js      Found: 420   Missing: 12
+km.js      Found: 370   Missing: 62
+ko.js      Found: 391   Missing: 41
+lt.js      Found: 428   Missing: 4
+lv.js      Found: 381   Missing: 51
+mn.js      Found: 411   Missing: 21
+ms.js      Found: 352   Missing: 80
+nb.js      Found: 414   Missing: 18
+nl.js      Found: 420   Missing: 12
+no.js      Found: 414   Missing: 18
+pl.js      Found: 412   Missing: 20
+pt-br.js   Found: 411   Missing: 21
+pt.js      Found: 381   Missing: 51
+ro.js      Found: 410   Missing: 22
+ru.js      Found: 427   Missing: 5
+sk.js      Found: 420   Missing: 12
+sl.js      Found: 426   Missing: 6
+sr-latn.js Found: 368   Missing: 64
+sr.js      Found: 368   Missing: 64
+sv.js      Found: 409   Missing: 23
+th.js      Found: 393   Missing: 39
+tr.js      Found: 428   Missing: 4
+uk.js      Found: 419   Missing: 13
+vi.js      Found: 419   Missing: 13
+zh-cn.js   Found: 428   Missing: 4
+zh.js      Found: 423   Missing: 9
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/fr.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/fr.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/fr.js	(revision 1481)
@@ -0,0 +1,540 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * French language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Masquer Outils",
+ToolbarExpand		: "Afficher Outils",
+
+// Toolbar Items and Context Menu
+Save				: "Enregistrer",
+NewPage				: "Nouvelle page",
+Preview				: "PrÃ©visualisation",
+Cut					: "Couper",
+Copy				: "Copier",
+Paste				: "Coller",
+PasteText			: "Coller comme texte",
+PasteWord			: "Coller de Word",
+Print				: "Imprimer",
+SelectAll			: "Tout sÃ©lectionner",
+RemoveFormat		: "Supprimer le format",
+InsertLinkLbl		: "Lien",
+InsertLink			: "InsÃ©rer/modifier le lien",
+RemoveLink			: "Supprimer le lien",
+VisitLink			: "Suivre le lien",
+Anchor				: "InsÃ©rer/modifier l'ancre",
+AnchorDelete		: "Supprimer l'ancre",
+InsertImageLbl		: "Image",
+InsertImage			: "InsÃ©rer/modifier l'image",
+InsertFlashLbl		: "Animation Flash",
+InsertFlash			: "InsÃ©rer/modifier l'animation Flash",
+InsertTableLbl		: "Tableau",
+InsertTable			: "InsÃ©rer/modifier le tableau",
+InsertLineLbl		: "SÃ©parateur",
+InsertLine			: "InsÃ©rer un sÃ©parateur",
+InsertSpecialCharLbl: "CaractÃ¨res spÃ©ciaux",
+InsertSpecialChar	: "InsÃ©rer un caractÃ¨re spÃ©cial",
+InsertSmileyLbl		: "Smiley",
+InsertSmiley		: "InsÃ©rer un Smiley",
+About				: "A propos de FCKeditor",
+Bold				: "Gras",
+Italic				: "Italique",
+Underline			: "SoulignÃ©",
+StrikeThrough		: "BarrÃ©",
+Subscript			: "Indice",
+Superscript			: "Exposant",
+LeftJustify			: "AlignÃ© Ã  gauche",
+CenterJustify		: "CentrÃ©",
+RightJustify		: "AlignÃ© Ã  Droite",
+BlockJustify		: "Texte justifiÃ©",
+DecreaseIndent		: "Diminuer le retrait",
+IncreaseIndent		: "Augmenter le retrait",
+Blockquote			: "Citation",
+CreateDiv			: "CrÃ©er Balise Div",
+EditDiv				: "Modifier Balise Div",
+DeleteDiv			: "Supprimer Balise Div",
+Undo				: "Annuler",
+Redo				: "Refaire",
+NumberedListLbl		: "Liste numÃ©rotÃ©e",
+NumberedList		: "InsÃ©rer/supprimer la liste numÃ©rotÃ©e",
+BulletedListLbl		: "Liste Ã  puces",
+BulletedList		: "InsÃ©rer/supprimer la liste Ã  puces",
+ShowTableBorders	: "Afficher les bordures du tableau",
+ShowDetails			: "Afficher les caractÃ¨res invisibles",
+Style				: "Style",
+FontFormat			: "Format",
+Font				: "Police",
+FontSize			: "Taille",
+TextColor			: "Couleur de caractÃ¨re",
+BGColor				: "Couleur de fond",
+Source				: "Source",
+Find				: "Chercher",
+Replace				: "Remplacer",
+SpellCheck			: "Orthographe",
+UniversalKeyboard	: "Clavier universel",
+PageBreakLbl		: "Saut de page",
+PageBreak			: "InsÃ©rer un saut de page",
+
+Form			: "Formulaire",
+Checkbox		: "Case Ã  cocher",
+RadioButton		: "Bouton radio",
+TextField		: "Champ texte",
+Textarea		: "Zone de texte",
+HiddenField		: "Champ cachÃ©",
+Button			: "Bouton",
+SelectionField	: "Liste/menu",
+ImageButton		: "Bouton image",
+
+FitWindow		: "Edition pleine page",
+ShowBlocks		: "Afficher les blocs",
+
+// Context Menu
+EditLink			: "Modifier le lien",
+CellCM				: "Cellule",
+RowCM				: "Ligne",
+ColumnCM			: "Colonne",
+InsertRowAfter		: "InsÃ©rer une ligne aprÃ¨s",
+InsertRowBefore		: "InsÃ©rer une ligne avant",
+DeleteRows			: "Supprimer des lignes",
+InsertColumnAfter	: "InsÃ©rer une colonne aprÃ¨s",
+InsertColumnBefore	: "InsÃ©rer une colonne avant",
+DeleteColumns		: "Supprimer des colonnes",
+InsertCellAfter		: "InsÃ©rer une cellule aprÃ¨s",
+InsertCellBefore	: "InsÃ©rer une cellule avant",
+DeleteCells			: "Supprimer des cellules",
+MergeCells			: "Fusionner les cellules",
+MergeRight			: "Fusionner Ã  droite",
+MergeDown			: "Fusionner en bas",
+HorizontalSplitCell	: "Scinder la cellule horizontalement",
+VerticalSplitCell	: "Scinder la cellule verticalement",
+TableDelete			: "Supprimer le tableau",
+CellProperties		: "PropriÃ©tÃ©s de cellule",
+TableProperties		: "PropriÃ©tÃ©s du tableau",
+ImageProperties		: "PropriÃ©tÃ©s de l'image",
+FlashProperties		: "PropriÃ©tÃ©s de l'animation Flash",
+
+AnchorProp			: "PropriÃ©tÃ©s de l'ancre",
+ButtonProp			: "PropriÃ©tÃ©s du bouton",
+CheckboxProp		: "PropriÃ©tÃ©s de la case Ã  cocher",
+HiddenFieldProp		: "PropriÃ©tÃ©s du champ cachÃ©",
+RadioButtonProp		: "PropriÃ©tÃ©s du bouton radio",
+ImageButtonProp		: "PropriÃ©tÃ©s du bouton image",
+TextFieldProp		: "PropriÃ©tÃ©s du champ texte",
+SelectionFieldProp	: "PropriÃ©tÃ©s de la liste/du menu",
+TextareaProp		: "PropriÃ©tÃ©s de la zone de texte",
+FormProp			: "PropriÃ©tÃ©s du formulaire",
+
+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)",
+
+// Alerts and Messages
+ProcessingXHTML		: "Calcul XHTML. Veuillez patienter...",
+Done				: "TerminÃ©",
+PasteWordConfirm	: "Le texte Ã  coller semble provenir de Word. DÃ©sirez-vous le nettoyer avant de coller?",
+NotCompatiblePaste	: "Cette commande nÃ©cessite Internet Explorer version 5.5 minimum. Souhaitez-vous coller sans nettoyage?",
+UnknownToolbarItem	: "ElÃ©ment de barre d'outil inconnu \"%1\"",
+UnknownCommand		: "Nom de commande inconnu \"%1\"",
+NotImplemented		: "Commande non encore Ã©crite",
+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.",
+BrowseServerBlocked : "Le navigateur n'a pas pu Ãªtre ouvert. Assurez-vous que les bloqueurs de popups soient dÃ©sactivÃ©s.",
+DialogBlocked		: "La fenÃªtre de dialogue n'a pas pu s'ouvrir. Assurez-vous que les bloqueurs de popups soient dÃ©sactivÃ©s.",
+VisitLinkBlocked	: "Impossible d'ouvrir une nouvelle fenÃªtre. Assurez-vous que les bloqueurs de popups soient dÃ©sactivÃ©s.",
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Annuler",
+DlgBtnClose			: "Fermer",
+DlgBtnBrowseServer	: "Parcourir le serveur",
+DlgAdvancedTag		: "AvancÃ©",
+DlgOpOther			: "<Autre>",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "Veuillez saisir l'URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<Par dÃ©faut>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Sens d'Ã©criture",
+DlgGenLangDirLtr	: "De gauche Ã  droite (LTR)",
+DlgGenLangDirRtl	: "De droite Ã  gauche (RTL)",
+DlgGenLangCode		: "Code langue",
+DlgGenAccessKey		: "Equivalent clavier",
+DlgGenName			: "Nom",
+DlgGenTabIndex		: "Ordre de tabulation",
+DlgGenLongDescr		: "URL de description longue",
+DlgGenClass			: "Classes de feuilles de style",
+DlgGenTitle			: "Titre",
+DlgGenContType		: "Type de contenu",
+DlgGenLinkCharset	: "Encodage de caractÃ¨re",
+DlgGenStyle			: "Style",
+
+// Image Dialog
+DlgImgTitle			: "PropriÃ©tÃ©s de l'image",
+DlgImgInfoTab		: "Informations sur l'image",
+DlgImgBtnUpload		: "Envoyer sur le serveur",
+DlgImgURL			: "URL",
+DlgImgUpload		: "TÃ©lÃ©charger",
+DlgImgAlt			: "Texte de remplacement",
+DlgImgWidth			: "Largeur",
+DlgImgHeight		: "Hauteur",
+DlgImgLockRatio		: "Garder les proportions",
+DlgBtnResetSize		: "Taille originale",
+DlgImgBorder		: "Bordure",
+DlgImgHSpace		: "Espacement horizontal",
+DlgImgVSpace		: "Espacement vertical",
+DlgImgAlign			: "Alignement",
+DlgImgAlignLeft		: "Gauche",
+DlgImgAlignAbsBottom: "Abs Bas",
+DlgImgAlignAbsMiddle: "Abs Milieu",
+DlgImgAlignBaseline	: "Bas du texte",
+DlgImgAlignBottom	: "Bas",
+DlgImgAlignMiddle	: "Milieu",
+DlgImgAlignRight	: "Droite",
+DlgImgAlignTextTop	: "Haut du texte",
+DlgImgAlignTop		: "Haut",
+DlgImgPreview		: "PrÃ©visualisation",
+DlgImgAlertUrl		: "Veuillez saisir l'URL de l'image",
+DlgImgLinkTab		: "Lien",
+
+// Flash Dialog
+DlgFlashTitle		: "PropriÃ©tÃ©s de l'animation Flash",
+DlgFlashChkPlay		: "Lecture automatique",
+DlgFlashChkLoop		: "Boucle",
+DlgFlashChkMenu		: "Activer le menu Flash",
+DlgFlashScale		: "Affichage",
+DlgFlashScaleAll	: "Par dÃ©faut (tout montrer)",
+DlgFlashScaleNoBorder	: "Sans bordure",
+DlgFlashScaleFit	: "Ajuster aux dimensions",
+
+// Link Dialog
+DlgLnkWindowTitle	: "PropriÃ©tÃ©s du lien",
+DlgLnkInfoTab		: "Informations sur le lien",
+DlgLnkTargetTab		: "Destination",
+
+DlgLnkType			: "Type de lien",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Ancre dans cette page",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protocole",
+DlgLnkProtoOther	: "<autre>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "SÃ©lectionner une ancre",
+DlgLnkAnchorByName	: "Par nom",
+DlgLnkAnchorById	: "Par id",
+DlgLnkNoAnchors		: "(Pas d'ancre disponible dans le document)",
+DlgLnkEMail			: "Adresse E-Mail",
+DlgLnkEMailSubject	: "Sujet du message",
+DlgLnkEMailBody		: "Corps du message",
+DlgLnkUpload		: "TÃ©lÃ©charger",
+DlgLnkBtnUpload		: "Envoyer sur le serveur",
+
+DlgLnkTarget		: "Destination",
+DlgLnkTargetFrame	: "<Cadre>",
+DlgLnkTargetPopup	: "<fenÃªtre popup>",
+DlgLnkTargetBlank	: "Nouvelle fenÃªtre (_blank)",
+DlgLnkTargetParent	: "FenÃªtre mÃ¨re (_parent)",
+DlgLnkTargetSelf	: "MÃªme fenÃªtre (_self)",
+DlgLnkTargetTop		: "FenÃªtre supÃ©rieure (_top)",
+DlgLnkTargetFrameName	: "Nom du cadre de destination",
+DlgLnkPopWinName	: "Nom de la fenÃªtre popup",
+DlgLnkPopWinFeat	: "CaractÃ©ristiques de la fenÃªtre popup",
+DlgLnkPopResize		: "Taille modifiable",
+DlgLnkPopLocation	: "Barre d'adresses",
+DlgLnkPopMenu		: "Barre de menu",
+DlgLnkPopScroll		: "Barres de dÃ©filement",
+DlgLnkPopStatus		: "Barre d'Ã©tat",
+DlgLnkPopToolbar	: "Barre d'outils",
+DlgLnkPopFullScrn	: "Plein Ã©cran (IE)",
+DlgLnkPopDependent	: "DÃ©pendante (Netscape)",
+DlgLnkPopWidth		: "Largeur",
+DlgLnkPopHeight		: "Hauteur",
+DlgLnkPopLeft		: "Position Ã  partir de la gauche",
+DlgLnkPopTop		: "Position Ã  partir du haut",
+
+DlnLnkMsgNoUrl		: "Veuillez saisir l'URL",
+DlnLnkMsgNoEMail	: "Veuillez saisir l'adresse e-mail",
+DlnLnkMsgNoAnchor	: "Veuillez sÃ©lectionner une ancre",
+DlnLnkMsgInvPopName	: "Le nom de la fenÃªtre popup doit commencer par une lettre et ne doit pas contenir d'espace",
+
+// Color Dialog
+DlgColorTitle		: "SÃ©lectionner",
+DlgColorBtnClear	: "Effacer",
+DlgColorHighlight	: "PrÃ©visualisation",
+DlgColorSelected	: "SÃ©lectionnÃ©",
+
+// Smiley Dialog
+DlgSmileyTitle		: "InsÃ©rer un Smiley",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "InsÃ©rer un caractÃ¨re spÃ©cial",
+
+// Table Dialog
+DlgTableTitle		: "PropriÃ©tÃ©s du tableau",
+DlgTableRows		: "Lignes",
+DlgTableColumns		: "Colonnes",
+DlgTableBorder		: "Bordure",
+DlgTableAlign		: "Alignement",
+DlgTableAlignNotSet	: "<Par dÃ©faut>",
+DlgTableAlignLeft	: "Gauche",
+DlgTableAlignCenter	: "CentrÃ©",
+DlgTableAlignRight	: "Droite",
+DlgTableWidth		: "Largeur",
+DlgTableWidthPx		: "pixels",
+DlgTableWidthPc		: "pourcentage",
+DlgTableHeight		: "Hauteur",
+DlgTableCellSpace	: "Espacement",
+DlgTableCellPad		: "Contour",
+DlgTableCaption		: "Titre",
+DlgTableSummary		: "RÃ©sumÃ©",
+DlgTableHeaders		: "EntÃªtes",
+DlgTableHeadersNone		: "Sans",
+DlgTableHeadersColumn	: "PremiÃ¨re colonne",
+DlgTableHeadersRow		: "PremiÃ¨re Ligne",
+DlgTableHeadersBoth		: "Les 2",
+
+// Table Cell Dialog
+DlgCellTitle		: "PropriÃ©tÃ©s de la cellule",
+DlgCellWidth		: "Largeur",
+DlgCellWidthPx		: "pixels",
+DlgCellWidthPc		: "pourcentage",
+DlgCellHeight		: "Hauteur",
+DlgCellWordWrap		: "Retour Ã  la ligne",
+DlgCellWordWrapNotSet	: "<Par dÃ©faut>",
+DlgCellWordWrapYes	: "Oui",
+DlgCellWordWrapNo	: "Non",
+DlgCellHorAlign		: "Alignement horizontal",
+DlgCellHorAlignNotSet	: "<Par dÃ©faut>",
+DlgCellHorAlignLeft	: "Gauche",
+DlgCellHorAlignCenter	: "CentrÃ©",
+DlgCellHorAlignRight: "Droite",
+DlgCellVerAlign		: "Alignement vertical",
+DlgCellVerAlignNotSet	: "<Par dÃ©faut>",
+DlgCellVerAlignTop	: "Haut",
+DlgCellVerAlignMiddle	: "Milieu",
+DlgCellVerAlignBottom	: "Bas",
+DlgCellVerAlignBaseline	: "Bas du texte",
+DlgCellType		: "Type de Cellule",
+DlgCellTypeData		: "DonnÃ©es",
+DlgCellTypeHeader	: "EntÃªte",
+DlgCellRowSpan		: "Lignes fusionnÃ©es",
+DlgCellCollSpan		: "Colonnes fusionnÃ©es",
+DlgCellBackColor	: "Fond",
+DlgCellBorderColor	: "Bordure",
+DlgCellBtnSelect	: "Choisir...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Chercher et Remplacer",
+
+// Find Dialog
+DlgFindTitle		: "Chercher",
+DlgFindFindBtn		: "Chercher",
+DlgFindNotFoundMsg	: "Le texte indiquÃ© est introuvable.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Remplacer",
+DlgReplaceFindLbl		: "Rechercher:",
+DlgReplaceReplaceLbl	: "Remplacer par:",
+DlgReplaceCaseChk		: "Respecter la casse",
+DlgReplaceReplaceBtn	: "Remplacer",
+DlgReplaceReplAllBtn	: "Tout remplacer",
+DlgReplaceWordChk		: "Mot entier",
+
+// Paste Operations / Dialog
+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).",
+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).",
+
+PasteAsText		: "Coller comme texte",
+PasteFromWord	: "Coller Ã  partir de Word",
+
+DlgPasteMsg2	: "Veuillez coller dans la zone ci-dessous en utilisant le clavier (<STRONG>Ctrl+V</STRONG>) et cliquez sur <STRONG>OK</STRONG>.",
+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.",
+DlgPasteIgnoreFont		: "Ignorer les polices de caractÃ¨res",
+DlgPasteRemoveStyles	: "Supprimer les styles",
+
+// Color Picker
+ColorAutomatic	: "Automatique",
+ColorMoreColors	: "Plus de couleurs...",
+
+// Document Properties
+DocProps		: "PropriÃ©tÃ©s du document",
+
+// Anchor Dialog
+DlgAnchorTitle		: "PropriÃ©tÃ©s de l'ancre",
+DlgAnchorName		: "Nom de l'ancre",
+DlgAnchorErrorName	: "Veuillez saisir le nom de l'ancre",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Pas dans le dictionnaire",
+DlgSpellChangeTo		: "Changer en",
+DlgSpellBtnIgnore		: "Ignorer",
+DlgSpellBtnIgnoreAll	: "Ignorer tout",
+DlgSpellBtnReplace		: "Remplacer",
+DlgSpellBtnReplaceAll	: "Remplacer tout",
+DlgSpellBtnUndo			: "Annuler",
+DlgSpellNoSuggestions	: "- Aucune suggestion -",
+DlgSpellProgress		: "VÃ©rification d'orthographe en cours...",
+DlgSpellNoMispell		: "VÃ©rification d'orthographe terminÃ©e: Aucune erreur trouvÃ©e",
+DlgSpellNoChanges		: "VÃ©rification d'orthographe terminÃ©e: Pas de modifications",
+DlgSpellOneChange		: "VÃ©rification d'orthographe terminÃ©e: Un mot modifiÃ©",
+DlgSpellManyChanges		: "VÃ©rification d'orthographe terminÃ©e: %1 mots modifiÃ©s",
+
+IeSpellDownload			: "Le Correcteur n'est pas installÃ©. Souhaitez-vous le tÃ©lÃ©charger maintenant?",
+
+// Button Dialog
+DlgButtonText		: "Texte (valeur)",
+DlgButtonType		: "Type",
+DlgButtonTypeBtn	: "Bouton",
+DlgButtonTypeSbm	: "Envoyer",
+DlgButtonTypeRst	: "RÃ©initialiser",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Nom",
+DlgCheckboxValue	: "Valeur",
+DlgCheckboxSelected	: "SÃ©lectionnÃ©",
+
+// Form Dialog
+DlgFormName		: "Nom",
+DlgFormAction	: "Action",
+DlgFormMethod	: "MÃ©thode",
+
+// Select Field Dialog
+DlgSelectName		: "Nom",
+DlgSelectValue		: "Valeur",
+DlgSelectSize		: "Taille",
+DlgSelectLines		: "lignes",
+DlgSelectChkMulti	: "SÃ©lection multiple",
+DlgSelectOpAvail	: "Options disponibles",
+DlgSelectOpText		: "Texte",
+DlgSelectOpValue	: "Valeur",
+DlgSelectBtnAdd		: "Ajouter",
+DlgSelectBtnModify	: "Modifier",
+DlgSelectBtnUp		: "Monter",
+DlgSelectBtnDown	: "Descendre",
+DlgSelectBtnSetValue : "Valeur sÃ©lectionnÃ©e",
+DlgSelectBtnDelete	: "Supprimer",
+
+// Textarea Dialog
+DlgTextareaName	: "Nom",
+DlgTextareaCols	: "Colonnes",
+DlgTextareaRows	: "Lignes",
+
+// Text Field Dialog
+DlgTextName			: "Nom",
+DlgTextValue		: "Valeur",
+DlgTextCharWidth	: "Largeur en caractÃ¨res",
+DlgTextMaxChars		: "Nombre maximum de caractÃ¨res",
+DlgTextType			: "Type",
+DlgTextTypeText		: "Texte",
+DlgTextTypePass		: "Mot de passe",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Nom",
+DlgHiddenValue	: "Valeur",
+
+// Bulleted List Dialog
+BulletedListProp	: "PropriÃ©tÃ©s de liste Ã  puces",
+NumberedListProp	: "PropriÃ©tÃ©s de liste numÃ©rotÃ©e",
+DlgLstStart			: "DÃ©but",
+DlgLstType			: "Type",
+DlgLstTypeCircle	: "Cercle",
+DlgLstTypeDisc		: "Disque",
+DlgLstTypeSquare	: "CarrÃ©",
+DlgLstTypeNumbers	: "Nombres (1, 2, 3)",
+DlgLstTypeLCase		: "Lettres minuscules (a, b, c)",
+DlgLstTypeUCase		: "Lettres majuscules (A, B, C)",
+DlgLstTypeSRoman	: "Chiffres romains minuscules (i, ii, iii)",
+DlgLstTypeLRoman	: "Chiffres romains majuscules (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "GÃ©nÃ©ral",
+DlgDocBackTab		: "Fond",
+DlgDocColorsTab		: "Couleurs et marges",
+DlgDocMetaTab		: "MÃ©tadonnÃ©es",
+
+DlgDocPageTitle		: "Titre de la page",
+DlgDocLangDir		: "Sens d'Ã©criture",
+DlgDocLangDirLTR	: "De la gauche vers la droite (LTR)",
+DlgDocLangDirRTL	: "De la droite vers la gauche (RTL)",
+DlgDocLangCode		: "Code langue",
+DlgDocCharSet		: "Encodage de caractÃ¨re",
+DlgDocCharSetCE		: "Europe Centrale",
+DlgDocCharSetCT		: "Chinois Traditionnel (Big5)",
+DlgDocCharSetCR		: "Cyrillique",
+DlgDocCharSetGR		: "Grec",
+DlgDocCharSetJP		: "Japonais",
+DlgDocCharSetKR		: "CorÃ©en",
+DlgDocCharSetTR		: "Turc",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "Occidental",
+DlgDocCharSetOther	: "Autre encodage de caractÃ¨re",
+
+DlgDocDocType		: "Type de document",
+DlgDocDocTypeOther	: "Autre type de document",
+DlgDocIncXHTML		: "Inclure les dÃ©clarations XHTML",
+DlgDocBgColor		: "Couleur de fond",
+DlgDocBgImage		: "Image de fond",
+DlgDocBgNoScroll	: "Image fixe sans dÃ©filement",
+DlgDocCText			: "Texte",
+DlgDocCLink			: "Lien",
+DlgDocCVisited		: "Lien visitÃ©",
+DlgDocCActive		: "Lien activÃ©",
+DlgDocMargins		: "Marges",
+DlgDocMaTop			: "Haut",
+DlgDocMaLeft		: "Gauche",
+DlgDocMaRight		: "Droite",
+DlgDocMaBottom		: "Bas",
+DlgDocMeIndex		: "Mots-clÃ©s (sÃ©parÃ©s par des virgules)",
+DlgDocMeDescr		: "Description",
+DlgDocMeAuthor		: "Auteur",
+DlgDocMeCopy		: "Copyright",
+DlgDocPreview		: "PrÃ©visualisation",
+
+// Templates Dialog
+Templates			: "ModÃ¨les",
+DlgTemplatesTitle	: "ModÃ¨les de contenu",
+DlgTemplatesSelMsg	: "Veuillez sÃ©lectionner le modÃ¨le Ã  ouvrir dans l'Ã©diteur<br>(le contenu actuel sera remplacÃ©):",
+DlgTemplatesLoading	: "Chargement de la liste des modÃ¨les. Veuillez patienter...",
+DlgTemplatesNoTpl	: "(Aucun modÃ¨le disponible)",
+DlgTemplatesReplace	: "Remplacer tout le contenu",
+
+// About Dialog
+DlgAboutAboutTab	: "A propos de",
+DlgAboutBrowserInfoTab	: "Navigateur",
+DlgAboutLicenseTab	: "Licence",
+DlgAboutVersion		: "Version",
+DlgAboutInfo		: "Pour plus d'informations, aller Ã ",
+DlgAboutModule		: "Developed for Website Baker<br />modul version 2.9.4",
+
+// Div Dialog
+DlgDivGeneralTab	: "GÃ©nÃ©ral",
+DlgDivAdvancedTab	: "AvancÃ©",
+DlgDivStyle		: "Style",
+DlgDivInlineStyle	: "Attribut Style",
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/et.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/et.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/et.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Estonian language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Voldi tÃ¶Ã¶riistariba",
+ToolbarExpand		: "Laienda tÃ¶Ã¶riistariba",
+
+// Toolbar Items and Context Menu
+Save				: "Salvesta",
+NewPage				: "Uus leht",
+Preview				: "Eelvaade",
+Cut					: "LÃµika",
+Copy				: "Kopeeri",
+Paste				: "Kleebi",
+PasteText			: "Kleebi tavalise tekstina",
+PasteWord			: "Kleebi Wordist",
+Print				: "Prindi",
+SelectAll			: "Vali kÃµik",
+RemoveFormat		: "Eemalda vorming",
+InsertLinkLbl		: "Link",
+InsertLink			: "Sisesta link / Muuda linki",
+RemoveLink			: "Eemalda link",
+VisitLink			: "Open Link",	//MISSING
+Anchor				: "Sisesta ankur / Muuda ankrut",
+AnchorDelete		: "Eemalda ankur",
+InsertImageLbl		: "Pilt",
+InsertImage			: "Sisesta pilt / Muuda pilti",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Sisesta flash / Muuda flashi",
+InsertTableLbl		: "Tabel",
+InsertTable			: "Sisesta tabel / Muuda tabelit",
+InsertLineLbl		: "Joon",
+InsertLine			: "Sisesta horisontaaljoon",
+InsertSpecialCharLbl: "ErimÃ¤rgid",
+InsertSpecialChar	: "Sisesta erimÃ¤rk",
+InsertSmileyLbl		: "Emotikon",
+InsertSmiley		: "Sisesta emotikon",
+About				: "FCKeditor teave",
+Bold				: "Paks",
+Italic				: "Kursiiv",
+Underline			: "Allajoonitud",
+StrikeThrough		: "LÃ¤bijoonitud",
+Subscript			: "Allindeks",
+Superscript			: "Ãœlaindeks",
+LeftJustify			: "Vasakjoondus",
+CenterJustify		: "Keskjoondus",
+RightJustify		: "Paremjoondus",
+BlockJustify		: "RÃ¶Ã¶pjoondus",
+DecreaseIndent		: "VÃ¤henda taanet",
+IncreaseIndent		: "Suurenda taanet",
+Blockquote			: "Blokktsitaat",
+CreateDiv			: "Create Div Container",	//MISSING
+EditDiv				: "Edit Div Container",	//MISSING
+DeleteDiv			: "Remove Div Container",	//MISSING
+Undo				: "VÃµta tagasi",
+Redo				: "Korda toimingut",
+NumberedListLbl		: "Nummerdatud loetelu",
+NumberedList		: "Sisesta/Eemalda nummerdatud loetelu",
+BulletedListLbl		: "Punktiseeritud loetelu",
+BulletedList		: "Sisesta/Eemalda punktiseeritud loetelu",
+ShowTableBorders	: "NÃ¤ita tabeli jooni",
+ShowDetails			: "NÃ¤ita Ã¼ksikasju",
+Style				: "Laad",
+FontFormat			: "Vorming",
+Font				: "Kiri",
+FontSize			: "Suurus",
+TextColor			: "Teksti vÃ¤rv",
+BGColor				: "Tausta vÃ¤rv",
+Source				: "LÃ¤htekood",
+Find				: "Otsi",
+Replace				: "Asenda",
+SpellCheck			: "Kontrolli Ãµigekirja",
+UniversalKeyboard	: "Universaalne klaviatuur",
+PageBreakLbl		: "Lehepiir",
+PageBreak			: "Sisesta lehevahetuskoht",
+
+Form			: "Vorm",
+Checkbox		: "MÃ¤rkeruut",
+RadioButton		: "Raadionupp",
+TextField		: "Tekstilahter",
+Textarea		: "Tekstiala",
+HiddenField		: "Varjatud lahter",
+Button			: "Nupp",
+SelectionField	: "Valiklahter",
+ImageButton		: "Piltnupp",
+
+FitWindow		: "Maksimeeri redaktori mÃµÃµtmed",
+ShowBlocks		: "NÃ¤ita blokke",
+
+// Context Menu
+EditLink			: "Muuda linki",
+CellCM				: "Lahter",
+RowCM				: "Rida",
+ColumnCM			: "Veerg",
+InsertRowAfter		: "Sisesta rida peale",
+InsertRowBefore		: "Sisesta rida enne",
+DeleteRows			: "Eemalda read",
+InsertColumnAfter	: "Sisesta veerg peale",
+InsertColumnBefore	: "Sisesta veerg enne",
+DeleteColumns		: "Eemalda veerud",
+InsertCellAfter		: "Sisesta lahter peale",
+InsertCellBefore	: "Sisesta lahter enne",
+DeleteCells			: "Eemalda lahtrid",
+MergeCells			: "Ãœhenda lahtrid",
+MergeRight			: "Ãœhenda paremale",
+MergeDown			: "Ãœhenda alla",
+HorizontalSplitCell	: "Poolita lahter horisontaalselt",
+VerticalSplitCell	: "Poolita lahter vertikaalselt",
+TableDelete			: "Kustuta tabel",
+CellProperties		: "Lahtri atribuudid",
+TableProperties		: "Tabeli atribuudid",
+ImageProperties		: "Pildi atribuudid",
+FlashProperties		: "Flash omadused",
+
+AnchorProp			: "Ankru omadused",
+ButtonProp			: "Nupu omadused",
+CheckboxProp		: "MÃ¤rkeruudu omadused",
+HiddenFieldProp		: "Varjatud lahtri omadused",
+RadioButtonProp		: "Raadionupu omadused",
+ImageButtonProp		: "Piltnupu omadused",
+TextFieldProp		: "Tekstilahtri omadused",
+SelectionFieldProp	: "Valiklahtri omadused",
+TextareaProp		: "Tekstiala omadused",
+FormProp			: "Vormi omadused",
+
+FontFormats			: "Tavaline;Vormindatud;Aadress;Pealkiri 1;Pealkiri 2;Pealkiri 3;Pealkiri 4;Pealkiri 5;Pealkiri 6;Tavaline (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "TÃ¶Ã¶tlen XHTML'i. Palun oota...",
+Done				: "Tehtud",
+PasteWordConfirm	: "Tekst, mida soovid lisada paistab pÃ¤rinevat Word'ist. Kas soovid seda enne kleepimist puhastada?",
+NotCompatiblePaste	: "See kÃ¤sk on saadaval ainult Internet Explorer versioon 5.5 vÃµi uuema puhul. Kas soovid kleepida ilma puhastamata?",
+UnknownToolbarItem	: "Tundmatu tÃ¶Ã¶riistarea Ã¼ksus \"%1\"",
+UnknownCommand		: "Tundmatu kÃ¤sunimi \"%1\"",
+NotImplemented		: "KÃ¤sku ei tÃ¤idetud",
+UnknownToolbarSet	: "TÃ¶Ã¶riistariba \"%1\" ei eksisteeri",
+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.",
+BrowseServerBlocked : "Ressursside sirvija avamine ebaÃµnnestus. VÃµimalda pop-up akende avanemine.",
+DialogBlocked		: "Ei olenud vÃµimalik avada dialoogi akent. VÃµimalda pop-up akende avanemine.",
+VisitLinkBlocked	: "It was not possible to open a new window. Make sure all popup blockers are disabled.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Loobu",
+DlgBtnClose			: "Sulge",
+DlgBtnBrowseServer	: "Sirvi serverit",
+DlgAdvancedTag		: "TÃ¤psemalt",
+DlgOpOther			: "<Teine>",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "Palun sisesta URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<mÃ¤Ã¤ramata>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Keele suund",
+DlgGenLangDirLtr	: "Vasakult paremale (LTR)",
+DlgGenLangDirRtl	: "Paremalt vasakule (RTL)",
+DlgGenLangCode		: "Keele kood",
+DlgGenAccessKey		: "JuurdepÃ¤Ã¤su vÃµti",
+DlgGenName			: "Nimi",
+DlgGenTabIndex		: "Tab indeks",
+DlgGenLongDescr		: "Pikk kirjeldus URL",
+DlgGenClass			: "Stiilistiku klassid",
+DlgGenTitle			: "Juhendav tiitel",
+DlgGenContType		: "Juhendava sisu tÃ¼Ã¼p",
+DlgGenLinkCharset	: "Lingitud ressurssi mÃ¤rgistik",
+DlgGenStyle			: "Laad",
+
+// Image Dialog
+DlgImgTitle			: "Pildi atribuudid",
+DlgImgInfoTab		: "Pildi info",
+DlgImgBtnUpload		: "Saada serverissee",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Lae Ã¼les",
+DlgImgAlt			: "Alternatiivne tekst",
+DlgImgWidth			: "Laius",
+DlgImgHeight		: "KÃµrgus",
+DlgImgLockRatio		: "Lukusta kuvasuhe",
+DlgBtnResetSize		: "LÃ¤htesta suurus",
+DlgImgBorder		: "Joon",
+DlgImgHSpace		: "H. vaheruum",
+DlgImgVSpace		: "V. vaheruum",
+DlgImgAlign			: "Joondus",
+DlgImgAlignLeft		: "Vasak",
+DlgImgAlignAbsBottom: "Abs alla",
+DlgImgAlignAbsMiddle: "Abs keskele",
+DlgImgAlignBaseline	: "Baasjoonele",
+DlgImgAlignBottom	: "Alla",
+DlgImgAlignMiddle	: "Keskele",
+DlgImgAlignRight	: "Paremale",
+DlgImgAlignTextTop	: "Tekstit Ã¼les",
+DlgImgAlignTop		: "Ãœles",
+DlgImgPreview		: "Eelvaade",
+DlgImgAlertUrl		: "Palun kirjuta pildi URL",
+DlgImgLinkTab		: "Link",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash omadused",
+DlgFlashChkPlay		: "Automaatne start ",
+DlgFlashChkLoop		: "Korduv",
+DlgFlashChkMenu		: "VÃµimalda flash menÃ¼Ã¼",
+DlgFlashScale		: "Mastaap",
+DlgFlashScaleAll	: "NÃ¤ita kÃµike",
+DlgFlashScaleNoBorder	: "Ã„Ã¤rist ei ole",
+DlgFlashScaleFit	: "TÃ¤pne sobivus",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Link",
+DlgLnkInfoTab		: "Lingi info",
+DlgLnkTargetTab		: "Sihtkoht",
+
+DlgLnkType			: "Lingi tÃ¼Ã¼p",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Ankur sellel lehel",
+DlgLnkTypeEMail		: "E-post",
+DlgLnkProto			: "Protokoll",
+DlgLnkProtoOther	: "<muu>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Vali ankur",
+DlgLnkAnchorByName	: "Ankru nime jÃ¤rgi",
+DlgLnkAnchorById	: "Elemendi id jÃ¤rgi",
+DlgLnkNoAnchors		: "(Selles dokumendis ei ole ankruid)",
+DlgLnkEMail			: "E-posti aadress",
+DlgLnkEMailSubject	: "SÃµnumi teema",
+DlgLnkEMailBody		: "SÃµnumi tekst",
+DlgLnkUpload		: "Lae Ã¼les",
+DlgLnkBtnUpload		: "Saada serverisse",
+
+DlgLnkTarget		: "Sihtkoht",
+DlgLnkTargetFrame	: "<raam>",
+DlgLnkTargetPopup	: "<hÃ¼pikaken>",
+DlgLnkTargetBlank	: "Uus aken (_blank)",
+DlgLnkTargetParent	: "Esivanem aken (_parent)",
+DlgLnkTargetSelf	: "Sama aken (_self)",
+DlgLnkTargetTop		: "Pealmine aken (_top)",
+DlgLnkTargetFrameName	: "SihtmÃ¤rk raami nimi",
+DlgLnkPopWinName	: "HÃ¼pikakna nimi",
+DlgLnkPopWinFeat	: "HÃ¼pikakna omadused",
+DlgLnkPopResize		: "Suurendatav",
+DlgLnkPopLocation	: "Aadressiriba",
+DlgLnkPopMenu		: "MenÃ¼Ã¼riba",
+DlgLnkPopScroll		: "Kerimisribad",
+DlgLnkPopStatus		: "Olekuriba",
+DlgLnkPopToolbar	: "TÃ¶Ã¶riistariba",
+DlgLnkPopFullScrn	: "TÃ¤isekraan (IE)",
+DlgLnkPopDependent	: "SÃµltuv (Netscape)",
+DlgLnkPopWidth		: "Laius",
+DlgLnkPopHeight		: "KÃµrgus",
+DlgLnkPopLeft		: "Vasak asukoht",
+DlgLnkPopTop		: "Ãœlemine asukoht",
+
+DlnLnkMsgNoUrl		: "Palun kirjuta lingi URL",
+DlnLnkMsgNoEMail	: "Palun kirjuta E-Posti aadress",
+DlnLnkMsgNoAnchor	: "Palun vali ankur",
+DlnLnkMsgInvPopName	: "HÃ¼pikakna nimi peab algama alfabeetilise tÃ¤hega ja ei tohi sisaldada tÃ¼hikuid",
+
+// Color Dialog
+DlgColorTitle		: "Vali vÃ¤rv",
+DlgColorBtnClear	: "TÃ¼hjenda",
+DlgColorHighlight	: "MÃ¤rgi",
+DlgColorSelected	: "Valitud",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Sisesta emotikon",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Vali erimÃ¤rk",
+
+// Table Dialog
+DlgTableTitle		: "Tabeli atribuudid",
+DlgTableRows		: "Read",
+DlgTableColumns		: "Veerud",
+DlgTableBorder		: "Joone suurus",
+DlgTableAlign		: "Joondus",
+DlgTableAlignNotSet	: "<MÃ¤Ã¤ramata>",
+DlgTableAlignLeft	: "Vasak",
+DlgTableAlignCenter	: "Kesk",
+DlgTableAlignRight	: "Parem",
+DlgTableWidth		: "Laius",
+DlgTableWidthPx		: "pikslit",
+DlgTableWidthPc		: "protsenti",
+DlgTableHeight		: "KÃµrgus",
+DlgTableCellSpace	: "Lahtri vahe",
+DlgTableCellPad		: "Lahtri tÃ¤idis",
+DlgTableCaption		: "Tabeli tiitel",
+DlgTableSummary		: "KokkuvÃµte",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "Lahtri atribuudid",
+DlgCellWidth		: "Laius",
+DlgCellWidthPx		: "pikslit",
+DlgCellWidthPc		: "protsenti",
+DlgCellHeight		: "KÃµrgus",
+DlgCellWordWrap		: "SÃµna Ã¼lekanne",
+DlgCellWordWrapNotSet	: "<MÃ¤Ã¤ramata>",
+DlgCellWordWrapYes	: "Jah",
+DlgCellWordWrapNo	: "Ei",
+DlgCellHorAlign		: "Horisontaaljoondus",
+DlgCellHorAlignNotSet	: "<MÃ¤Ã¤ramata>",
+DlgCellHorAlignLeft	: "Vasak",
+DlgCellHorAlignCenter	: "Kesk",
+DlgCellHorAlignRight: "Parem",
+DlgCellVerAlign		: "Vertikaaljoondus",
+DlgCellVerAlignNotSet	: "<MÃ¤Ã¤ramata>",
+DlgCellVerAlignTop	: "Ãœles",
+DlgCellVerAlignMiddle	: "Keskele",
+DlgCellVerAlignBottom	: "Alla",
+DlgCellVerAlignBaseline	: "Baasjoonele",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "Reaulatus",
+DlgCellCollSpan		: "Veeruulatus",
+DlgCellBackColor	: "Tausta vÃ¤rv",
+DlgCellBorderColor	: "Joone vÃ¤rv",
+DlgCellBtnSelect	: "Vali...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Otsi ja asenda",
+
+// Find Dialog
+DlgFindTitle		: "Otsi",
+DlgFindFindBtn		: "Otsi",
+DlgFindNotFoundMsg	: "Valitud teksti ei leitud.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Asenda",
+DlgReplaceFindLbl		: "Leia mida:",
+DlgReplaceReplaceLbl	: "Asenda millega:",
+DlgReplaceCaseChk		: "Erista suur- ja vÃ¤iketÃ¤hti",
+DlgReplaceReplaceBtn	: "Asenda",
+DlgReplaceReplAllBtn	: "Asenda kÃµik",
+DlgReplaceWordChk		: "Otsi terviklike sÃµnu",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "Sinu veebisirvija turvaseaded ei luba redaktoril automaatselt lÃµigata. Palun kasutage selleks klaviatuuri klahvikombinatsiooni (Ctrl+X).",
+PasteErrorCopy	: "Sinu veebisirvija turvaseaded ei luba redaktoril automaatselt kopeerida. Palun kasutage selleks klaviatuuri klahvikombinatsiooni (Ctrl+C).",
+
+PasteAsText		: "Kleebi tavalise tekstina",
+PasteFromWord	: "Kleebi Wordist",
+
+DlgPasteMsg2	: "Palun kleebi jÃ¤rgnevasse kasti kasutades klaviatuuri klahvikombinatsiooni (<STRONG>Ctrl+V</STRONG>) ja vajuta seejÃ¤rel <STRONG>OK</STRONG>.",
+DlgPasteSec		: "Sinu veebisirvija turvaseadete tÃµttu, ei oma redaktor otsest ligipÃ¤Ã¤su lÃµikelaua andmetele. Sa pead kleepima need uuesti siia aknasse.",
+DlgPasteIgnoreFont		: "Ignoreeri kirja definitsioone",
+DlgPasteRemoveStyles	: "Eemalda stiilide definitsioonid",
+
+// Color Picker
+ColorAutomatic	: "Automaatne",
+ColorMoreColors	: "Rohkem vÃ¤rve...",
+
+// Document Properties
+DocProps		: "Dokumendi omadused",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Ankru omadused",
+DlgAnchorName		: "Ankru nimi",
+DlgAnchorErrorName	: "Palun sisest ankru nimi",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Puudub sÃµnastikust",
+DlgSpellChangeTo		: "Muuda",
+DlgSpellBtnIgnore		: "Ignoreeri",
+DlgSpellBtnIgnoreAll	: "Ignoreeri kÃµiki",
+DlgSpellBtnReplace		: "Asenda",
+DlgSpellBtnReplaceAll	: "Asenda kÃµik",
+DlgSpellBtnUndo			: "VÃµta tagasi",
+DlgSpellNoSuggestions	: "- Soovitused puuduvad -",
+DlgSpellProgress		: "Toimub Ãµigekirja kontroll...",
+DlgSpellNoMispell		: "Ã•igekirja kontroll sooritatud: Ãµigekirjuvigu ei leitud",
+DlgSpellNoChanges		: "Ã•igekirja kontroll sooritatud: Ã¼htegi sÃµna ei muudetud",
+DlgSpellOneChange		: "Ã•igekirja kontroll sooritatud: Ã¼ks sÃµna muudeti",
+DlgSpellManyChanges		: "Ã•igekirja kontroll sooritatud: %1 sÃµna muudetud",
+
+IeSpellDownload			: "Ã•igekirja kontrollija ei ole installeeritud. Soovid sa selle alla laadida?",
+
+// Button Dialog
+DlgButtonText		: "Tekst (vÃ¤Ã¤rtus)",
+DlgButtonType		: "TÃ¼Ã¼p",
+DlgButtonTypeBtn	: "Nupp",
+DlgButtonTypeSbm	: "Saada",
+DlgButtonTypeRst	: "LÃ¤htesta",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Nimi",
+DlgCheckboxValue	: "VÃ¤Ã¤rtus",
+DlgCheckboxSelected	: "Valitud",
+
+// Form Dialog
+DlgFormName		: "Nimi",
+DlgFormAction	: "Toiming",
+DlgFormMethod	: "Meetod",
+
+// Select Field Dialog
+DlgSelectName		: "Nimi",
+DlgSelectValue		: "VÃ¤Ã¤rtus",
+DlgSelectSize		: "Suurus",
+DlgSelectLines		: "ridu",
+DlgSelectChkMulti	: "VÃµimalda mitu valikut",
+DlgSelectOpAvail	: "VÃµimalikud valikud",
+DlgSelectOpText		: "Tekst",
+DlgSelectOpValue	: "VÃ¤Ã¤rtus",
+DlgSelectBtnAdd		: "Lisa",
+DlgSelectBtnModify	: "Muuda",
+DlgSelectBtnUp		: "Ãœles",
+DlgSelectBtnDown	: "Alla",
+DlgSelectBtnSetValue : "Sea valitud olekuna",
+DlgSelectBtnDelete	: "Kustuta",
+
+// Textarea Dialog
+DlgTextareaName	: "Nimi",
+DlgTextareaCols	: "Veerge",
+DlgTextareaRows	: "Ridu",
+
+// Text Field Dialog
+DlgTextName			: "Nimi",
+DlgTextValue		: "VÃ¤Ã¤rtus",
+DlgTextCharWidth	: "Laius (tÃ¤hemÃ¤rkides)",
+DlgTextMaxChars		: "Maksimaalselt tÃ¤hemÃ¤rke",
+DlgTextType			: "TÃ¼Ã¼p",
+DlgTextTypeText		: "Tekst",
+DlgTextTypePass		: "Parool",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Nimi",
+DlgHiddenValue	: "VÃ¤Ã¤rtus",
+
+// Bulleted List Dialog
+BulletedListProp	: "TÃ¤pitud loetelu omadused",
+NumberedListProp	: "Nummerdatud loetelu omadused",
+DlgLstStart			: "Alusta",
+DlgLstType			: "TÃ¼Ã¼p",
+DlgLstTypeCircle	: "Ring",
+DlgLstTypeDisc		: "Ketas",
+DlgLstTypeSquare	: "Ruut",
+DlgLstTypeNumbers	: "Numbrid (1, 2, 3)",
+DlgLstTypeLCase		: "VÃ¤iketÃ¤hed (a, b, c)",
+DlgLstTypeUCase		: "SuurtÃ¤hed (A, B, C)",
+DlgLstTypeSRoman	: "VÃ¤iksed Rooma numbrid (i, ii, iii)",
+DlgLstTypeLRoman	: "Suured Rooma numbrid (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Ãœldine",
+DlgDocBackTab		: "Taust",
+DlgDocColorsTab		: "VÃ¤rvid ja veerised",
+DlgDocMetaTab		: "Meta andmed",
+
+DlgDocPageTitle		: "LehekÃ¼lje tiitel",
+DlgDocLangDir		: "Kirja suund",
+DlgDocLangDirLTR	: "Vasakult paremale (LTR)",
+DlgDocLangDirRTL	: "Paremalt vasakule (RTL)",
+DlgDocLangCode		: "Keele kood",
+DlgDocCharSet		: "MÃ¤rgistiku kodeering",
+DlgDocCharSetCE		: "Kesk-Euroopa",
+DlgDocCharSetCT		: "Hiina traditsiooniline (Big5)",
+DlgDocCharSetCR		: "Kirillisa",
+DlgDocCharSetGR		: "Kreeka",
+DlgDocCharSetJP		: "Jaapani",
+DlgDocCharSetKR		: "Korea",
+DlgDocCharSetTR		: "TÃ¼rgi",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "LÃ¤Ã¤ne-Euroopa",
+DlgDocCharSetOther	: "ÃœlejÃ¤Ã¤nud mÃ¤rgistike kodeeringud",
+
+DlgDocDocType		: "Dokumendi tÃ¼Ã¼ppÃ¤is",
+DlgDocDocTypeOther	: "Teised dokumendi tÃ¼Ã¼ppÃ¤ised",
+DlgDocIncXHTML		: "Arva kaasa XHTML deklaratsioonid",
+DlgDocBgColor		: "TaustavÃ¤rv",
+DlgDocBgImage		: "Taustapildi URL",
+DlgDocBgNoScroll	: "Mittekeritav tagataust",
+DlgDocCText			: "Tekst",
+DlgDocCLink			: "Link",
+DlgDocCVisited		: "KÃ¼lastatud link",
+DlgDocCActive		: "Aktiivne link",
+DlgDocMargins		: "LehekÃ¼lje Ã¤Ã¤rised",
+DlgDocMaTop			: "Ãœlaserv",
+DlgDocMaLeft		: "Vasakserv",
+DlgDocMaRight		: "Paremserv",
+DlgDocMaBottom		: "Alaserv",
+DlgDocMeIndex		: "Dokumendi vÃµtmesÃµnad (eraldatud komadega)",
+DlgDocMeDescr		: "Dokumendi kirjeldus",
+DlgDocMeAuthor		: "Autor",
+DlgDocMeCopy		: "AutoriÃµigus",
+DlgDocPreview		: "Eelvaade",
+
+// Templates Dialog
+Templates			: "Å abloon",
+DlgTemplatesTitle	: "Sisu Å¡abloonid",
+DlgTemplatesSelMsg	: "Palun vali Å¡abloon, et avada see redaktoris<br />(praegune sisu lÃ¤heb kaotsi):",
+DlgTemplatesLoading	: "Laen Å¡abloonide nimekirja. Palun oota...",
+DlgTemplatesNoTpl	: "(Ãœhtegi Å¡ablooni ei ole defineeritud)",
+DlgTemplatesReplace	: "Asenda tegelik sisu",
+
+// About Dialog
+DlgAboutAboutTab	: "Teave",
+DlgAboutBrowserInfoTab	: "Veebisirvija info",
+DlgAboutLicenseTab	: "Litsents",
+DlgAboutVersion		: "versioon",
+DlgAboutInfo		: "TÃ¤psema info saamiseks mine",
+
+// Div Dialog
+DlgDivGeneralTab	: "General",	//MISSING
+DlgDivAdvancedTab	: "Advanced",	//MISSING
+DlgDivStyle		: "Style",	//MISSING
+DlgDivInlineStyle	: "Inline Style",	//MISSING
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/hr.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/hr.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/hr.js	(revision 1481)
@@ -0,0 +1,540 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Croatian language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Smanji trake s alatima",
+ToolbarExpand		: "ProÅ¡iri trake s alatima",
+
+// Toolbar Items and Context Menu
+Save				: "Snimi",
+NewPage				: "Nova stranica",
+Preview				: "Pregledaj",
+Cut					: "IzreÅ¾i",
+Copy				: "Kopiraj",
+Paste				: "Zalijepi",
+PasteText			: "Zalijepi kao Äisti tekst",
+PasteWord			: "Zalijepi iz Worda",
+Print				: "IspiÅ¡i",
+SelectAll			: "Odaberi sve",
+RemoveFormat		: "Ukloni formatiranje",
+InsertLinkLbl		: "Link",
+InsertLink			: "Ubaci/promijeni link",
+RemoveLink			: "Ukloni link",
+VisitLink			: "Otvori link",
+Anchor				: "Ubaci/promijeni sidro",
+AnchorDelete		: "Ukloni sidro",
+InsertImageLbl		: "Slika",
+InsertImage			: "Ubaci/promijeni sliku",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Ubaci/promijeni Flash",
+InsertTableLbl		: "Tablica",
+InsertTable			: "Ubaci/promijeni tablicu",
+InsertLineLbl		: "Linija",
+InsertLine			: "Ubaci vodoravnu liniju",
+InsertSpecialCharLbl: "Posebni karakteri",
+InsertSpecialChar	: "Ubaci posebne znakove",
+InsertSmileyLbl		: "SmjeÅ¡ko",
+InsertSmiley		: "Ubaci smjeÅ¡ka",
+About				: "O FCKeditoru",
+Bold				: "Podebljaj",
+Italic				: "Ukosi",
+Underline			: "Potcrtano",
+StrikeThrough		: "Precrtano",
+Subscript			: "Subscript",
+Superscript			: "Superscript",
+LeftJustify			: "Lijevo poravnanje",
+CenterJustify		: "SrediÅ¡nje poravnanje",
+RightJustify		: "Desno poravnanje",
+BlockJustify		: "Blok poravnanje",
+DecreaseIndent		: "Pomakni ulijevo",
+IncreaseIndent		: "Pomakni udesno",
+Blockquote			: "Blockquote",
+CreateDiv			: "Napravi Div kontejner",
+EditDiv				: "Uredi Div kontejner",
+DeleteDiv			: "Ukloni Div kontejner",
+Undo				: "PoniÅ¡ti",
+Redo				: "Ponovi",
+NumberedListLbl		: "BrojÄana lista",
+NumberedList		: "Ubaci/ukloni brojÄanu listu",
+BulletedListLbl		: "ObiÄna lista",
+BulletedList		: "Ubaci/ukloni obiÄnu listu",
+ShowTableBorders	: "PrikaÅ¾i okvir tablice",
+ShowDetails			: "PrikaÅ¾i detalje",
+Style				: "Stil",
+FontFormat			: "Format",
+Font				: "Font",
+FontSize			: "VeliÄina",
+TextColor			: "Boja teksta",
+BGColor				: "Boja pozadine",
+Source				: "KÃ´d",
+Find				: "PronaÄ‘i",
+Replace				: "Zamijeni",
+SpellCheck			: "Provjeri pravopis",
+UniversalKeyboard	: "Univerzalna tipkovnica",
+PageBreakLbl		: "Prijelom stranice",
+PageBreak			: "Ubaci prijelom stranice",
+
+Form			: "Form",
+Checkbox		: "Checkbox",
+RadioButton		: "Radio Button",
+TextField		: "Text Field",
+Textarea		: "Textarea",
+HiddenField		: "Hidden Field",
+Button			: "Button",
+SelectionField	: "Selection Field",
+ImageButton		: "Image Button",
+
+FitWindow		: "PoveÄ‡aj veliÄinu editora",
+ShowBlocks		: "PrikaÅ¾i blokove",
+
+// Context Menu
+EditLink			: "Promijeni link",
+CellCM				: "Ä†elija",
+RowCM				: "Red",
+ColumnCM			: "Kolona",
+InsertRowAfter		: "Ubaci red poslije",
+InsertRowBefore		: "Ubaci red prije",
+DeleteRows			: "IzbriÅ¡i redove",
+InsertColumnAfter	: "Ubaci kolonu poslije",
+InsertColumnBefore	: "Ubaci kolonu prije",
+DeleteColumns		: "IzbriÅ¡i kolone",
+InsertCellAfter		: "Ubaci Ä‡eliju poslije",
+InsertCellBefore	: "Ubaci Ä‡eliju prije",
+DeleteCells			: "IzbriÅ¡i Ä‡elije",
+MergeCells			: "Spoji Ä‡elije",
+MergeRight			: "Spoji desno",
+MergeDown			: "Spoji dolje",
+HorizontalSplitCell	: "Podijeli Ä‡eliju vodoravno",
+VerticalSplitCell	: "Podijeli Ä‡eliju okomito",
+TableDelete			: "IzbriÅ¡i tablicu",
+CellProperties		: "Svojstva Ä‡elije",
+TableProperties		: "Svojstva tablice",
+ImageProperties		: "Svojstva slike",
+FlashProperties		: "Flash svojstva",
+
+AnchorProp			: "Svojstva sidra",
+ButtonProp			: "Image Button svojstva",
+CheckboxProp		: "Checkbox svojstva",
+HiddenFieldProp		: "Hidden Field svojstva",
+RadioButtonProp		: "Radio Button svojstva",
+ImageButtonProp		: "Image Button svojstva",
+TextFieldProp		: "Text Field svojstva",
+SelectionFieldProp	: "Selection svojstva",
+TextareaProp		: "Textarea svojstva",
+FormProp			: "Form svojstva",
+
+FontFormats			: "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "ObraÄ‘ujem XHTML. Molimo priÄekajte...",
+Done				: "ZavrÅ¡io",
+PasteWordConfirm	: "Tekst koji Å¾elite zalijepiti Äini se da je kopiran iz Worda. Å½elite li prije oÄistiti tekst?",
+NotCompatiblePaste	: "Ova naredba je dostupna samo u Internet Exploreru 5.5 ili novijem. Å½elite li nastaviti bez ÄiÅ¡Ä‡enja?",
+UnknownToolbarItem	: "Nepoznati Älan trake s alatima \"%1\"",
+UnknownCommand		: "Nepoznata naredba \"%1\"",
+NotImplemented		: "Naredba nije implementirana",
+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.",
+BrowseServerBlocked : "PretraivaÄ nije moguÄ‡e otvoriti. Provjerite da li je ukljuÄeno blokiranje pop-up prozora.",
+DialogBlocked		: "Nije moguÄ‡e otvoriti novi prozor. Provjerite da li je ukljuÄeno blokiranje pop-up prozora.",
+VisitLinkBlocked	: "Nije moguÄ‡e otvoriti novi prozor. Provjerite da li je ukljuÄeno blokiranje pop-up prozora.",
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "PoniÅ¡ti",
+DlgBtnClose			: "Zatvori",
+DlgBtnBrowseServer	: "PretraÅ¾i server",
+DlgAdvancedTag		: "Napredno",
+DlgOpOther			: "<Drugo>",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "Molimo unesite URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<nije postavljeno>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Smjer jezika",
+DlgGenLangDirLtr	: "S lijeva na desno (LTR)",
+DlgGenLangDirRtl	: "S desna na lijevo (RTL)",
+DlgGenLangCode		: "KÃ´d jezika",
+DlgGenAccessKey		: "Pristupna tipka",
+DlgGenName			: "Naziv",
+DlgGenTabIndex		: "Tab Indeks",
+DlgGenLongDescr		: "DugaÄki opis URL",
+DlgGenClass			: "Stylesheet klase",
+DlgGenTitle			: "Advisory naslov",
+DlgGenContType		: "Advisory vrsta sadrÅ¾aja",
+DlgGenLinkCharset	: "Kodna stranica povezanih resursa",
+DlgGenStyle			: "Stil",
+
+// Image Dialog
+DlgImgTitle			: "Svojstva slika",
+DlgImgInfoTab		: "Info slike",
+DlgImgBtnUpload		: "PoÅ¡alji na server",
+DlgImgURL			: "URL",
+DlgImgUpload		: "PoÅ¡alji",
+DlgImgAlt			: "Alternativni tekst",
+DlgImgWidth			: "Å irina",
+DlgImgHeight		: "Visina",
+DlgImgLockRatio		: "ZakljuÄaj odnos",
+DlgBtnResetSize		: "ObriÅ¡i veliÄinu",
+DlgImgBorder		: "Okvir",
+DlgImgHSpace		: "HSpace",
+DlgImgVSpace		: "VSpace",
+DlgImgAlign			: "Poravnaj",
+DlgImgAlignLeft		: "Lijevo",
+DlgImgAlignAbsBottom: "Abs dolje",
+DlgImgAlignAbsMiddle: "Abs sredina",
+DlgImgAlignBaseline	: "Bazno",
+DlgImgAlignBottom	: "Dolje",
+DlgImgAlignMiddle	: "Sredina",
+DlgImgAlignRight	: "Desno",
+DlgImgAlignTextTop	: "Vrh teksta",
+DlgImgAlignTop		: "Vrh",
+DlgImgPreview		: "Pregledaj",
+DlgImgAlertUrl		: "Unesite URL slike",
+DlgImgLinkTab		: "Link",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash svojstva",
+DlgFlashChkPlay		: "Auto Play",
+DlgFlashChkLoop		: "Ponavljaj",
+DlgFlashChkMenu		: "OmoguÄ‡i Flash izbornik",
+DlgFlashScale		: "Omjer",
+DlgFlashScaleAll	: "PrikaÅ¾i sve",
+DlgFlashScaleNoBorder	: "Bez okvira",
+DlgFlashScaleFit	: "ToÄna veliÄina",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Link",
+DlgLnkInfoTab		: "Link Info",
+DlgLnkTargetTab		: "Meta",
+
+DlgLnkType			: "Link vrsta",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Sidro na ovoj stranici",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protokol",
+DlgLnkProtoOther	: "<drugo>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Odaberi sidro",
+DlgLnkAnchorByName	: "Po nazivu sidra",
+DlgLnkAnchorById	: "Po Id elementa",
+DlgLnkNoAnchors		: "(Nema dostupnih sidra)",
+DlgLnkEMail			: "E-Mail adresa",
+DlgLnkEMailSubject	: "Naslov",
+DlgLnkEMailBody		: "SadrÅ¾aj poruke",
+DlgLnkUpload		: "PoÅ¡alji",
+DlgLnkBtnUpload		: "PoÅ¡alji na server",
+
+DlgLnkTarget		: "Meta",
+DlgLnkTargetFrame	: "<okvir>",
+DlgLnkTargetPopup	: "<popup prozor>",
+DlgLnkTargetBlank	: "Novi prozor (_blank)",
+DlgLnkTargetParent	: "Roditeljski prozor (_parent)",
+DlgLnkTargetSelf	: "Isti prozor (_self)",
+DlgLnkTargetTop		: "VrÅ¡ni prozor (_top)",
+DlgLnkTargetFrameName	: "Ime ciljnog okvira",
+DlgLnkPopWinName	: "Naziv popup prozora",
+DlgLnkPopWinFeat	: "MoguÄ‡nosti popup prozora",
+DlgLnkPopResize		: "Promjenljive veliÄine",
+DlgLnkPopLocation	: "Traka za lokaciju",
+DlgLnkPopMenu		: "Izborna traka",
+DlgLnkPopScroll		: "Scroll traka",
+DlgLnkPopStatus		: "Statusna traka",
+DlgLnkPopToolbar	: "Traka s alatima",
+DlgLnkPopFullScrn	: "Cijeli ekran (IE)",
+DlgLnkPopDependent	: "Ovisno (Netscape)",
+DlgLnkPopWidth		: "Å irina",
+DlgLnkPopHeight		: "Visina",
+DlgLnkPopLeft		: "Lijeva pozicija",
+DlgLnkPopTop		: "Gornja pozicija",
+
+DlnLnkMsgNoUrl		: "Molimo upiÅ¡ite URL link",
+DlnLnkMsgNoEMail	: "Molimo upiÅ¡ite e-mail adresu",
+DlnLnkMsgNoAnchor	: "Molimo odaberite sidro",
+DlnLnkMsgInvPopName	: "Ime popup prozora mora poÄeti sa slovom i ne smije sadrÅ¾avati razmake",
+
+// Color Dialog
+DlgColorTitle		: "Odaberite boju",
+DlgColorBtnClear	: "ObriÅ¡i",
+DlgColorHighlight	: "Osvijetli",
+DlgColorSelected	: "Odaberi",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Ubaci smjeÅ¡ka",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Odaberite posebni karakter",
+
+// Table Dialog
+DlgTableTitle		: "Svojstva tablice",
+DlgTableRows		: "Redova",
+DlgTableColumns		: "Kolona",
+DlgTableBorder		: "VeliÄina okvira",
+DlgTableAlign		: "Poravnanje",
+DlgTableAlignNotSet	: "<nije postavljeno>",
+DlgTableAlignLeft	: "Lijevo",
+DlgTableAlignCenter	: "SrediÅ¡nje",
+DlgTableAlignRight	: "Desno",
+DlgTableWidth		: "Å irina",
+DlgTableWidthPx		: "piksela",
+DlgTableWidthPc		: "postotaka",
+DlgTableHeight		: "Visina",
+DlgTableCellSpace	: "Prostornost Ä‡elija",
+DlgTableCellPad		: "Razmak Ä‡elija",
+DlgTableCaption		: "Naslov",
+DlgTableSummary		: "SaÅ¾etak",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "Svojstva Ä‡elije",
+DlgCellWidth		: "Å irina",
+DlgCellWidthPx		: "piksela",
+DlgCellWidthPc		: "postotaka",
+DlgCellHeight		: "Visina",
+DlgCellWordWrap		: "Word Wrap",
+DlgCellWordWrapNotSet	: "<nije postavljeno>",
+DlgCellWordWrapYes	: "Da",
+DlgCellWordWrapNo	: "Ne",
+DlgCellHorAlign		: "Vodoravno poravnanje",
+DlgCellHorAlignNotSet	: "<nije postavljeno>",
+DlgCellHorAlignLeft	: "Lijevo",
+DlgCellHorAlignCenter	: "SrediÅ¡nje",
+DlgCellHorAlignRight: "Desno",
+DlgCellVerAlign		: "Okomito poravnanje",
+DlgCellVerAlignNotSet	: "<nije postavljeno>",
+DlgCellVerAlignTop	: "Gornje",
+DlgCellVerAlignMiddle	: "SredniÅ¡nje",
+DlgCellVerAlignBottom	: "Donje",
+DlgCellVerAlignBaseline	: "Bazno",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "Spajanje redova",
+DlgCellCollSpan		: "Spajanje kolona",
+DlgCellBackColor	: "Boja pozadine",
+DlgCellBorderColor	: "Boja okvira",
+DlgCellBtnSelect	: "Odaberi...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "PronaÄ‘i i zamijeni",
+
+// Find Dialog
+DlgFindTitle		: "PronaÄ‘i",
+DlgFindFindBtn		: "PronaÄ‘i",
+DlgFindNotFoundMsg	: "TraÅ¾eni tekst nije pronaÄ‘en.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Zamijeni",
+DlgReplaceFindLbl		: "PronaÄ‘i:",
+DlgReplaceReplaceLbl	: "Zamijeni s:",
+DlgReplaceCaseChk		: "Usporedi mala/velika slova",
+DlgReplaceReplaceBtn	: "Zamijeni",
+DlgReplaceReplAllBtn	: "Zamijeni sve",
+DlgReplaceWordChk		: "Usporedi cijele rijeÄi",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "Sigurnosne postavke VaÅ¡eg pretraÅ¾ivaÄa ne dozvoljavaju operacije automatskog izrezivanja. Molimo koristite kraticu na tipkovnici (Ctrl+X).",
+PasteErrorCopy	: "Sigurnosne postavke VaÅ¡eg pretraÅ¾ivaÄa ne dozvoljavaju operacije automatskog kopiranja. Molimo koristite kraticu na tipkovnici (Ctrl+C).",
+
+PasteAsText		: "Zalijepi kao Äisti tekst",
+PasteFromWord	: "Zalijepi iz Worda",
+
+DlgPasteMsg2	: "Molimo zaljepite unutar doljnjeg okvira koristeÄ‡i tipkovnicu (<STRONG>Ctrl+V</STRONG>) i kliknite <STRONG>OK</STRONG>.",
+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.",
+DlgPasteIgnoreFont		: "Zanemari definiciju vrste fonta",
+DlgPasteRemoveStyles	: "Ukloni definicije stilova",
+
+// Color Picker
+ColorAutomatic	: "Automatski",
+ColorMoreColors	: "ViÅ¡e boja...",
+
+// Document Properties
+DocProps		: "Svojstva dokumenta",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Svojstva sidra",
+DlgAnchorName		: "Ime sidra",
+DlgAnchorErrorName	: "Molimo unesite ime sidra",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Nije u rjeÄniku",
+DlgSpellChangeTo		: "Promijeni u",
+DlgSpellBtnIgnore		: "Zanemari",
+DlgSpellBtnIgnoreAll	: "Zanemari sve",
+DlgSpellBtnReplace		: "Zamijeni",
+DlgSpellBtnReplaceAll	: "Zamijeni sve",
+DlgSpellBtnUndo			: "Vrati",
+DlgSpellNoSuggestions	: "-Nema preporuke-",
+DlgSpellProgress		: "Provjera u tijeku...",
+DlgSpellNoMispell		: "Provjera zavrÅ¡ena: Nema greÅ¡aka",
+DlgSpellNoChanges		: "Provjera zavrÅ¡ena: Nije napravljena promjena",
+DlgSpellOneChange		: "Provjera zavrÅ¡ena: Jedna rijeÄ promjenjena",
+DlgSpellManyChanges		: "Provjera zavrÅ¡ena: Promijenjeno %1 rijeÄi",
+
+IeSpellDownload			: "Provjera pravopisa nije instalirana. Å½elite li skinuti provjeru pravopisa?",
+
+// Button Dialog
+DlgButtonText		: "Tekst (vrijednost)",
+DlgButtonType		: "Vrsta",
+DlgButtonTypeBtn	: "Gumb",
+DlgButtonTypeSbm	: "PoÅ¡alji",
+DlgButtonTypeRst	: "PoniÅ¡ti",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Ime",
+DlgCheckboxValue	: "Vrijednost",
+DlgCheckboxSelected	: "Odabrano",
+
+// Form Dialog
+DlgFormName		: "Ime",
+DlgFormAction	: "Akcija",
+DlgFormMethod	: "Metoda",
+
+// Select Field Dialog
+DlgSelectName		: "Ime",
+DlgSelectValue		: "Vrijednost",
+DlgSelectSize		: "VeliÄina",
+DlgSelectLines		: "linija",
+DlgSelectChkMulti	: "Dozvoli viÅ¡estruki odabir",
+DlgSelectOpAvail	: "Dostupne opcije",
+DlgSelectOpText		: "Tekst",
+DlgSelectOpValue	: "Vrijednost",
+DlgSelectBtnAdd		: "Dodaj",
+DlgSelectBtnModify	: "Promijeni",
+DlgSelectBtnUp		: "Gore",
+DlgSelectBtnDown	: "Dolje",
+DlgSelectBtnSetValue : "Postavi kao odabranu vrijednost",
+DlgSelectBtnDelete	: "ObriÅ¡i",
+
+// Textarea Dialog
+DlgTextareaName	: "Ime",
+DlgTextareaCols	: "Kolona",
+DlgTextareaRows	: "Redova",
+
+// Text Field Dialog
+DlgTextName			: "Ime",
+DlgTextValue		: "Vrijednost",
+DlgTextCharWidth	: "Å irina",
+DlgTextMaxChars		: "NajviÅ¡e karaktera",
+DlgTextType			: "Vrsta",
+DlgTextTypeText		: "Tekst",
+DlgTextTypePass		: "Å ifra",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Ime",
+DlgHiddenValue	: "Vrijednost",
+
+// Bulleted List Dialog
+BulletedListProp	: "Svojstva liste",
+NumberedListProp	: "Svojstva brojÄane liste",
+DlgLstStart			: "PoÄetak",
+DlgLstType			: "Vrsta",
+DlgLstTypeCircle	: "Krug",
+DlgLstTypeDisc		: "Disk",
+DlgLstTypeSquare	: "Kvadrat",
+DlgLstTypeNumbers	: "Brojevi (1, 2, 3)",
+DlgLstTypeLCase		: "Mala slova (a, b, c)",
+DlgLstTypeUCase		: "Velika slova (A, B, C)",
+DlgLstTypeSRoman	: "Male rimske brojke (i, ii, iii)",
+DlgLstTypeLRoman	: "Velike rimske brojke (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "OpÄ‡enito",
+DlgDocBackTab		: "Pozadina",
+DlgDocColorsTab		: "Boje i margine",
+DlgDocMetaTab		: "Meta Data",
+
+DlgDocPageTitle		: "Naslov stranice",
+DlgDocLangDir		: "Smjer jezika",
+DlgDocLangDirLTR	: "S lijeva na desno",
+DlgDocLangDirRTL	: "S desna na lijevo",
+DlgDocLangCode		: "KÃ´d jezika",
+DlgDocCharSet		: "Enkodiranje znakova",
+DlgDocCharSetCE		: "SrediÅ¡nja Europa",
+DlgDocCharSetCT		: "Tradicionalna kineska (Big5)",
+DlgDocCharSetCR		: "Ä†irilica",
+DlgDocCharSetGR		: "GrÄka",
+DlgDocCharSetJP		: "Japanska",
+DlgDocCharSetKR		: "Koreanska",
+DlgDocCharSetTR		: "Turska",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "Zapadna Europa",
+DlgDocCharSetOther	: "Ostalo enkodiranje znakova",
+
+DlgDocDocType		: "Zaglavlje vrste dokumenta",
+DlgDocDocTypeOther	: "Ostalo zaglavlje vrste dokumenta",
+DlgDocIncXHTML		: "Ubaci XHTML deklaracije",
+DlgDocBgColor		: "Boja pozadine",
+DlgDocBgImage		: "URL slike pozadine",
+DlgDocBgNoScroll	: "Pozadine se ne pomiÄe",
+DlgDocCText			: "Tekst",
+DlgDocCLink			: "Link",
+DlgDocCVisited		: "PosjeÄ‡eni link",
+DlgDocCActive		: "Aktivni link",
+DlgDocMargins		: "Margine stranice",
+DlgDocMaTop			: "Vrh",
+DlgDocMaLeft		: "Lijevo",
+DlgDocMaRight		: "Desno",
+DlgDocMaBottom		: "Dolje",
+DlgDocMeIndex		: "KljuÄne rijeÄi dokumenta (odvojene zarezom)",
+DlgDocMeDescr		: "Opis dokumenta",
+DlgDocMeAuthor		: "Autor",
+DlgDocMeCopy		: "Autorska prava",
+DlgDocPreview		: "Pregledaj",
+
+// Templates Dialog
+Templates			: "PredloÅ¡ci",
+DlgTemplatesTitle	: "PredloÅ¡ci sadrÅ¾aja",
+DlgTemplatesSelMsg	: "Molimo odaberite predloÅ¾ak koji Å¾elite otvoriti<br>(stvarni sadrÅ¾aj Ä‡e biti izgubljen):",
+DlgTemplatesLoading	: "UÄitavam listu predloÅ¾aka. Molimo priÄekajte...",
+DlgTemplatesNoTpl	: "(Nema definiranih predloÅ¾aka)",
+DlgTemplatesReplace	: "Zamijeni trenutne sadrÅ¾aje",
+
+// About Dialog
+DlgAboutAboutTab	: "O FCKEditoru",
+DlgAboutBrowserInfoTab	: "Podaci o pretraÅ¾ivaÄu",
+DlgAboutLicenseTab	: "Licenca",
+DlgAboutVersion		: "inaÄica",
+DlgAboutInfo		: "Za viÅ¡e informacija posjetite",
+DlgAboutModule		: "Developed for Website Baker<br />modul version 2.9.4",
+
+// Div Dialog
+DlgDivGeneralTab	: "OpÄ‡enito",
+DlgDivAdvancedTab	: "Napredno",
+DlgDivStyle		: "Stil",
+DlgDivInlineStyle	: "Stil u redu",
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/nl.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/nl.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/nl.js	(revision 1481)
@@ -0,0 +1,541 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Dutch language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Menubalk inklappen",
+ToolbarExpand		: "Menubalk uitklappen",
+
+// Toolbar Items and Context Menu
+Save				: "Opslaan",
+NewPage				: "Nieuwe pagina",
+Preview				: "Voorbeeld",
+Cut					: "Knippen",
+Copy				: "KopiÃ«ren",
+Paste				: "Plakken",
+PasteText			: "Plakken als platte tekst",
+PasteWord			: "Plakken als Word-gegevens",
+Print				: "Printen",
+SelectAll			: "Alles selecteren",
+RemoveFormat		: "Opmaak verwijderen",
+InsertLinkLbl		: "Link",
+InsertLink			: "Link invoegen/wijzigen",
+RemoveLink			: "Link verwijderen",
+VisitLink			: "Link volgen",
+Anchor				: "Interne link",
+AnchorDelete		: "Anker verwijderen",
+InsertImageLbl		: "Afbeelding",
+InsertImage			: "Afbeelding invoegen/wijzigen",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Flash invoegen/wijzigen",
+InsertTableLbl		: "Tabel",
+InsertTable			: "Tabel invoegen/wijzigen",
+InsertLineLbl		: "Lijn",
+InsertLine			: "Horizontale lijn invoegen",
+InsertSpecialCharLbl: "Speciale tekens",
+InsertSpecialChar	: "Speciaal teken invoegen",
+InsertSmileyLbl		: "Smiley",
+InsertSmiley		: "Smiley invoegen",
+About				: "Over FCKeditor",
+Bold				: "Vet",
+Italic				: "Schuingedrukt",
+Underline			: "Onderstreept",
+StrikeThrough		: "Doorhalen",
+Subscript			: "Subscript",
+Superscript			: "Superscript",
+LeftJustify			: "Links uitlijnen",
+CenterJustify		: "Centreren",
+RightJustify		: "Rechts uitlijnen",
+BlockJustify		: "Uitvullen",
+DecreaseIndent		: "Inspringen verkleinen",
+IncreaseIndent		: "Inspringen vergroten",
+Blockquote			: "Citaatblok",
+CreateDiv			: "DIV aanmaken",
+EditDiv				: "DIV wijzigen",
+DeleteDiv			: "DIV verwijderen",
+Undo				: "Ongedaan maken",
+Redo				: "Opnieuw uitvoeren",
+NumberedListLbl		: "Genummerde lijst",
+NumberedList		: "Genummerde lijst invoegen/verwijderen",
+BulletedListLbl		: "Opsomming",
+BulletedList		: "Opsomming invoegen/verwijderen",
+ShowTableBorders	: "Randen tabel weergeven",
+ShowDetails			: "Details weergeven",
+Style				: "Stijl",
+FontFormat			: "Opmaak",
+Font				: "Lettertype",
+FontSize			: "Grootte",
+TextColor			: "Tekstkleur",
+BGColor				: "Achtergrondkleur",
+Source				: "Code",
+Find				: "Zoeken",
+Replace				: "Vervangen",
+SpellCheck			: "Spellingscontrole",
+UniversalKeyboard	: "Universeel toetsenbord",
+PageBreakLbl		: "Pagina-einde",
+PageBreak			: "Pagina-einde invoegen",
+
+Form			: "Formulier",
+Checkbox		: "Aanvinkvakje",
+RadioButton		: "Selectievakje",
+TextField		: "Tekstveld",
+Textarea		: "Tekstvak",
+HiddenField		: "Verborgen veld",
+Button			: "Knop",
+SelectionField	: "Selectieveld",
+ImageButton		: "Afbeeldingsknop",
+
+FitWindow		: "De editor maximaliseren",
+ShowBlocks		: "Toon blokken",
+
+// Context Menu
+EditLink			: "Link wijzigen",
+CellCM				: "Cel",
+RowCM				: "Rij",
+ColumnCM			: "Kolom",
+InsertRowAfter		: "Voeg rij in achter",
+InsertRowBefore		: "Voeg rij in voor",
+DeleteRows			: "Rijen verwijderen",
+InsertColumnAfter	: "Voeg kolom in achter",
+InsertColumnBefore	: "Voeg kolom in voor",
+DeleteColumns		: "Kolommen verwijderen",
+InsertCellAfter		: "Voeg cel in achter",
+InsertCellBefore	: "Voeg cel in voor",
+DeleteCells			: "Cellen verwijderen",
+MergeCells			: "Cellen samenvoegen",
+MergeRight			: "Voeg samen naar rechts",
+MergeDown			: "Voeg samen naar beneden",
+HorizontalSplitCell	: "Splits cellen horizontaal",
+VerticalSplitCell	: "Splits cellen verticaal",
+TableDelete			: "Tabel verwijderen",
+CellProperties		: "Eigenschappen cel",
+TableProperties		: "Eigenschappen tabel",
+ImageProperties		: "Eigenschappen afbeelding",
+FlashProperties		: "Eigenschappen Flash",
+
+AnchorProp			: "Eigenschappen interne link",
+ButtonProp			: "Eigenschappen knop",
+CheckboxProp		: "Eigenschappen aanvinkvakje",
+HiddenFieldProp		: "Eigenschappen verborgen veld",
+RadioButtonProp		: "Eigenschappen selectievakje",
+ImageButtonProp		: "Eigenschappen afbeeldingsknop",
+TextFieldProp		: "Eigenschappen tekstveld",
+SelectionFieldProp	: "Eigenschappen selectieveld",
+TextareaProp		: "Eigenschappen tekstvak",
+FormProp			: "Eigenschappen formulier",
+
+FontFormats			: "Normaal;Met opmaak;Adres;Kop 1;Kop 2;Kop 3;Kop 4;Kop 5;Kop 6;Normaal (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "Bezig met verwerken XHTML. Even geduld aub...",
+Done				: "Klaar",
+PasteWordConfirm	: "De tekst die u plakte lijkt gekopieerd te zijn vanuit Word. Wilt u de tekst opschonen voordat deze geplakt wordt?",
+NotCompatiblePaste	: "Deze opdracht is beschikbaar voor Internet Explorer versie 5.5 of hoger. Wilt u plakken zonder op te schonen?",
+UnknownToolbarItem	: "Onbekend item op menubalk \"%1\"",
+UnknownCommand		: "Onbekende opdrachtnaam: \"%1\"",
+NotImplemented		: "Opdracht niet geÃ¯mplementeerd.",
+UnknownToolbarSet	: "Menubalk \"%1\" bestaat niet.",
+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.",
+BrowseServerBlocked : "De bestandsbrowser kon niet geopend worden. Zorg ervoor dat pop-up-blokkeerders uit staan.",
+DialogBlocked		: "Kan het dialoogvenster niet weergeven. Zorg ervoor dat pop-up-blokkeerders uit staan.",
+VisitLinkBlocked	: "Het was niet mogelijk een nieuw venster te openen. Controleer of er geen pop-up-blocker aktief is.",
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Annuleren",
+DlgBtnClose			: "Afsluiten",
+DlgBtnBrowseServer	: "Bladeren op server",
+DlgAdvancedTag		: "Geavanceerd",
+DlgOpOther			: "<Anders>",
+DlgInfoTab			: "Informatie",
+DlgAlertUrl			: "Geef URL op",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<niet ingevuld>",
+DlgGenId			: "Kenmerk",
+DlgGenLangDir		: "Schrijfrichting",
+DlgGenLangDirLtr	: "Links naar rechts (LTR)",
+DlgGenLangDirRtl	: "Rechts naar links (RTL)",
+DlgGenLangCode		: "Taalcode",
+DlgGenAccessKey		: "Toegangstoets",
+DlgGenName			: "Naam",
+DlgGenTabIndex		: "Tabvolgorde",
+DlgGenLongDescr		: "Lange URL-omschrijving",
+DlgGenClass			: "Stylesheet-klassen",
+DlgGenTitle			: "Aanbevolen titel",
+DlgGenContType		: "Aanbevolen content-type",
+DlgGenContRel		: "Relationtyp",
+DlgGenLinkCharset	: "Karakterset van gelinkte bron",
+DlgGenStyle			: "Stijl",
+
+// Image Dialog
+DlgImgTitle			: "Eigenschappen afbeelding",
+DlgImgInfoTab		: "Informatie afbeelding",
+DlgImgBtnUpload		: "Naar server verzenden",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Upload",
+DlgImgAlt			: "Alternatieve tekst",
+DlgImgWidth			: "Breedte",
+DlgImgHeight		: "Hoogte",
+DlgImgLockRatio		: "Afmetingen vergrendelen",
+DlgBtnResetSize		: "Afmetingen resetten",
+DlgImgBorder		: "Rand",
+DlgImgHSpace		: "HSpace",
+DlgImgVSpace		: "VSpace",
+DlgImgAlign			: "Uitlijning",
+DlgImgAlignLeft		: "Links",
+DlgImgAlignAbsBottom: "Absoluut-onder",
+DlgImgAlignAbsMiddle: "Absoluut-midden",
+DlgImgAlignBaseline	: "Basislijn",
+DlgImgAlignBottom	: "Beneden",
+DlgImgAlignMiddle	: "Midden",
+DlgImgAlignRight	: "Rechts",
+DlgImgAlignTextTop	: "Boven tekst",
+DlgImgAlignTop		: "Boven",
+DlgImgPreview		: "Voorbeeld",
+DlgImgAlertUrl		: "Geef de URL van de afbeelding",
+DlgImgLinkTab		: "Link",
+
+// Flash Dialog
+DlgFlashTitle		: "Eigenschappen Flash",
+DlgFlashChkPlay		: "Automatisch afspelen",
+DlgFlashChkLoop		: "Herhalen",
+DlgFlashChkMenu		: "Flashmenu\'s inschakelen",
+DlgFlashScale		: "Schaal",
+DlgFlashScaleAll	: "Alles tonen",
+DlgFlashScaleNoBorder	: "Geen rand",
+DlgFlashScaleFit	: "Precies passend",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Link",
+DlgLnkInfoTab		: "Linkomschrijving",
+DlgLnkTargetTab		: "Doel",
+
+DlgLnkType			: "Linktype",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Interne link in pagina",
+DlgLnkTypeEMail		: "E-mail",
+DlgLnkProto			: "Protocol",
+DlgLnkProtoOther	: "<anders>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Kies een interne link",
+DlgLnkAnchorByName	: "Op naam interne link",
+DlgLnkAnchorById	: "Op kenmerk interne link",
+DlgLnkNoAnchors		: "(Geen interne links in document gevonden)",
+DlgLnkEMail			: "E-mailadres",
+DlgLnkEMailSubject	: "Onderwerp bericht",
+DlgLnkEMailBody		: "Inhoud bericht",
+DlgLnkUpload		: "Upload",
+DlgLnkBtnUpload		: "Naar de server versturen",
+
+DlgLnkTarget		: "Doel",
+DlgLnkTargetFrame	: "<frame>",
+DlgLnkTargetPopup	: "<popup window>",
+DlgLnkTargetBlank	: "Nieuw venster (_blank)",
+DlgLnkTargetParent	: "Origineel venster (_parent)",
+DlgLnkTargetSelf	: "Zelfde venster (_self)",
+DlgLnkTargetTop		: "Hele venster (_top)",
+DlgLnkTargetFrameName	: "Naam doelframe",
+DlgLnkPopWinName	: "Naam popupvenster",
+DlgLnkPopWinFeat	: "Instellingen popupvenster",
+DlgLnkPopResize		: "Grootte wijzigen",
+DlgLnkPopLocation	: "Locatiemenu",
+DlgLnkPopMenu		: "Menubalk",
+DlgLnkPopScroll		: "Schuifbalken",
+DlgLnkPopStatus		: "Statusbalk",
+DlgLnkPopToolbar	: "Menubalk",
+DlgLnkPopFullScrn	: "Volledig scherm (IE)",
+DlgLnkPopDependent	: "Afhankelijk (Netscape)",
+DlgLnkPopWidth		: "Breedte",
+DlgLnkPopHeight		: "Hoogte",
+DlgLnkPopLeft		: "Positie links",
+DlgLnkPopTop		: "Positie boven",
+
+DlnLnkMsgNoUrl		: "Geef de link van de URL",
+DlnLnkMsgNoEMail	: "Geef een e-mailadres",
+DlnLnkMsgNoAnchor	: "Selecteer een interne link",
+DlnLnkMsgInvPopName	: "De naam van de popup moet met een alfa-numerieke waarde beginnen, en mag geen spaties bevatten.",
+
+// Color Dialog
+DlgColorTitle		: "Selecteer kleur",
+DlgColorBtnClear	: "Opschonen",
+DlgColorHighlight	: "Accentueren",
+DlgColorSelected	: "Geselecteerd",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Smiley invoegen",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Selecteer speciaal teken",
+
+// Table Dialog
+DlgTableTitle		: "Eigenschappen tabel",
+DlgTableRows		: "Rijen",
+DlgTableColumns		: "Kolommen",
+DlgTableBorder		: "Breedte rand",
+DlgTableAlign		: "Uitlijning",
+DlgTableAlignNotSet	: "<Niet ingevoerd>",
+DlgTableAlignLeft	: "Links",
+DlgTableAlignCenter	: "Centreren",
+DlgTableAlignRight	: "Rechts",
+DlgTableWidth		: "Breedte",
+DlgTableWidthPx		: "pixels",
+DlgTableWidthPc		: "procent",
+DlgTableHeight		: "Hoogte",
+DlgTableCellSpace	: "Afstand tussen cellen",
+DlgTableCellPad		: "Afstand vanaf rand cel",
+DlgTableCaption		: "Naam",
+DlgTableSummary		: "Samenvatting",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "Eigenschappen cel",
+DlgCellWidth		: "Breedte",
+DlgCellWidthPx		: "pixels",
+DlgCellWidthPc		: "procent",
+DlgCellHeight		: "Hoogte",
+DlgCellWordWrap		: "Afbreken woorden",
+DlgCellWordWrapNotSet	: "<Niet ingevoerd>",
+DlgCellWordWrapYes	: "Ja",
+DlgCellWordWrapNo	: "Nee",
+DlgCellHorAlign		: "Horizontale uitlijning",
+DlgCellHorAlignNotSet	: "<Niet ingevoerd>",
+DlgCellHorAlignLeft	: "Links",
+DlgCellHorAlignCenter	: "Centreren",
+DlgCellHorAlignRight: "Rechts",
+DlgCellVerAlign		: "Verticale uitlijning",
+DlgCellVerAlignNotSet	: "<Niet ingevoerd>",
+DlgCellVerAlignTop	: "Boven",
+DlgCellVerAlignMiddle	: "Midden",
+DlgCellVerAlignBottom	: "Beneden",
+DlgCellVerAlignBaseline	: "Basislijn",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "Overkoepeling rijen",
+DlgCellCollSpan		: "Overkoepeling kolommen",
+DlgCellBackColor	: "Achtergrondkleur",
+DlgCellBorderColor	: "Randkleur",
+DlgCellBtnSelect	: "Selecteren...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Zoeken en vervangen",
+
+// Find Dialog
+DlgFindTitle		: "Zoeken",
+DlgFindFindBtn		: "Zoeken",
+DlgFindNotFoundMsg	: "De opgegeven tekst is niet gevonden.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Vervangen",
+DlgReplaceFindLbl		: "Zoeken naar:",
+DlgReplaceReplaceLbl	: "Vervangen met:",
+DlgReplaceCaseChk		: "Hoofdlettergevoelig",
+DlgReplaceReplaceBtn	: "Vervangen",
+DlgReplaceReplAllBtn	: "Alles vervangen",
+DlgReplaceWordChk		: "Hele woord moet voorkomen",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "De beveiligingsinstelling van de browser verhinderen het automatisch knippen. Gebruik de sneltoets Ctrl+X van het toetsenbord.",
+PasteErrorCopy	: "De beveiligingsinstelling van de browser verhinderen het automatisch kopiÃ«ren. Gebruik de sneltoets Ctrl+C van het toetsenbord.",
+
+PasteAsText		: "Plakken als platte tekst",
+PasteFromWord	: "Plakken als Word-gegevens",
+
+DlgPasteMsg2	: "Plak de tekst in het volgende vak gebruik makend van uw toetsenbord (<strong>Ctrl+V</strong>) en klik op <strong>OK</strong>.",
+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.",
+DlgPasteIgnoreFont		: "Negeer \"Font Face\"-definities",
+DlgPasteRemoveStyles	: "Verwijder \"Style\"-definities",
+
+// Color Picker
+ColorAutomatic	: "Automatisch",
+ColorMoreColors	: "Meer kleuren...",
+
+// Document Properties
+DocProps		: "Eigenschappen document",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Eigenschappen interne link",
+DlgAnchorName		: "Naam interne link",
+DlgAnchorErrorName	: "Geef de naam van de interne link op",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Niet in het woordenboek",
+DlgSpellChangeTo		: "Wijzig in",
+DlgSpellBtnIgnore		: "Negeren",
+DlgSpellBtnIgnoreAll	: "Alles negeren",
+DlgSpellBtnReplace		: "Vervangen",
+DlgSpellBtnReplaceAll	: "Alles vervangen",
+DlgSpellBtnUndo			: "Ongedaan maken",
+DlgSpellNoSuggestions	: "-Geen suggesties-",
+DlgSpellProgress		: "Bezig met spellingscontrole...",
+DlgSpellNoMispell		: "Klaar met spellingscontrole: geen fouten gevonden",
+DlgSpellNoChanges		: "Klaar met spellingscontrole: geen woorden aangepast",
+DlgSpellOneChange		: "Klaar met spellingscontrole: Ã©Ã©n woord aangepast",
+DlgSpellManyChanges		: "Klaar met spellingscontrole: %1 woorden aangepast",
+
+IeSpellDownload			: "De spellingscontrole niet geÃ¯nstalleerd. Wilt u deze nu downloaden?",
+
+// Button Dialog
+DlgButtonText		: "Tekst (waarde)",
+DlgButtonType		: "Soort",
+DlgButtonTypeBtn	: "Knop",
+DlgButtonTypeSbm	: "Versturen",
+DlgButtonTypeRst	: "Leegmaken",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Naam",
+DlgCheckboxValue	: "Waarde",
+DlgCheckboxSelected	: "Geselecteerd",
+
+// Form Dialog
+DlgFormName		: "Naam",
+DlgFormAction	: "Actie",
+DlgFormMethod	: "Methode",
+
+// Select Field Dialog
+DlgSelectName		: "Naam",
+DlgSelectValue		: "Waarde",
+DlgSelectSize		: "Grootte",
+DlgSelectLines		: "Regels",
+DlgSelectChkMulti	: "Gecombineerde selecties toestaan",
+DlgSelectOpAvail	: "Beschikbare opties",
+DlgSelectOpText		: "Tekst",
+DlgSelectOpValue	: "Waarde",
+DlgSelectBtnAdd		: "Toevoegen",
+DlgSelectBtnModify	: "Wijzigen",
+DlgSelectBtnUp		: "Omhoog",
+DlgSelectBtnDown	: "Omlaag",
+DlgSelectBtnSetValue : "Als geselecteerde waarde instellen",
+DlgSelectBtnDelete	: "Verwijderen",
+
+// Textarea Dialog
+DlgTextareaName	: "Naam",
+DlgTextareaCols	: "Kolommen",
+DlgTextareaRows	: "Rijen",
+
+// Text Field Dialog
+DlgTextName			: "Naam",
+DlgTextValue		: "Waarde",
+DlgTextCharWidth	: "Breedte (tekens)",
+DlgTextMaxChars		: "Maximum aantal tekens",
+DlgTextType			: "Soort",
+DlgTextTypeText		: "Tekst",
+DlgTextTypePass		: "Wachtwoord",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Naam",
+DlgHiddenValue	: "Waarde",
+
+// Bulleted List Dialog
+BulletedListProp	: "Eigenschappen opsommingslijst",
+NumberedListProp	: "Eigenschappen genummerde opsommingslijst",
+DlgLstStart			: "Start",
+DlgLstType			: "Soort",
+DlgLstTypeCircle	: "Cirkel",
+DlgLstTypeDisc		: "Schijf",
+DlgLstTypeSquare	: "Vierkant",
+DlgLstTypeNumbers	: "Nummers (1, 2, 3)",
+DlgLstTypeLCase		: "Kleine letters (a, b, c)",
+DlgLstTypeUCase		: "Hoofdletters (A, B, C)",
+DlgLstTypeSRoman	: "Klein Romeins (i, ii, iii)",
+DlgLstTypeLRoman	: "Groot Romeins (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Algemeen",
+DlgDocBackTab		: "Achtergrond",
+DlgDocColorsTab		: "Kleuring en marges",
+DlgDocMetaTab		: "META-data",
+
+DlgDocPageTitle		: "Paginatitel",
+DlgDocLangDir		: "Schrijfrichting",
+DlgDocLangDirLTR	: "Links naar rechts",
+DlgDocLangDirRTL	: "Rechts naar links",
+DlgDocLangCode		: "Taalcode",
+DlgDocCharSet		: "Karakterset-encoding",
+DlgDocCharSetCE		: "Centraal Europees",
+DlgDocCharSetCT		: "Traditioneel Chinees (Big5)",
+DlgDocCharSetCR		: "Cyriliaans",
+DlgDocCharSetGR		: "Grieks",
+DlgDocCharSetJP		: "Japans",
+DlgDocCharSetKR		: "Koreaans",
+DlgDocCharSetTR		: "Turks",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "West europees",
+DlgDocCharSetOther	: "Andere karakterset-encoding",
+
+DlgDocDocType		: "Opschrift documentsoort",
+DlgDocDocTypeOther	: "Ander opschrift documentsoort",
+DlgDocIncXHTML		: "XHTML-declaraties meenemen",
+DlgDocBgColor		: "Achtergrondkleur",
+DlgDocBgImage		: "URL achtergrondplaatje",
+DlgDocBgNoScroll	: "Vaste achtergrond",
+DlgDocCText			: "Tekst",
+DlgDocCLink			: "Link",
+DlgDocCVisited		: "Bezochte link",
+DlgDocCActive		: "Active link",
+DlgDocMargins		: "Afstandsinstellingen document",
+DlgDocMaTop			: "Boven",
+DlgDocMaLeft		: "Links",
+DlgDocMaRight		: "Rechts",
+DlgDocMaBottom		: "Onder",
+DlgDocMeIndex		: "Trefwoorden betreffende document (kommagescheiden)",
+DlgDocMeDescr		: "Beschrijving document",
+DlgDocMeAuthor		: "Auteur",
+DlgDocMeCopy		: "Copyright",
+DlgDocPreview		: "Voorbeeld",
+
+// Templates Dialog
+Templates			: "Sjablonen",
+DlgTemplatesTitle	: "Inhoud sjabonen",
+DlgTemplatesSelMsg	: "Selecteer het sjabloon dat in de editor geopend moet worden (de actuele inhoud gaat verloren):",
+DlgTemplatesLoading	: "Bezig met laden sjabonen. Even geduld alstublieft...",
+DlgTemplatesNoTpl	: "(Geen sjablonen gedefinieerd)",
+DlgTemplatesReplace	: "Vervang de huidige inhoud",
+
+// About Dialog
+DlgAboutAboutTab	: "Over",
+DlgAboutBrowserInfoTab	: "Browserinformatie",
+DlgAboutLicenseTab	: "Licentie",
+DlgAboutVersion		: "Versie",
+DlgAboutInfo		: "Voor meer informatie ga naar ",
+DlgAboutModule		: "Developed for Website Baker<br />modul version 2.9.4",
+
+// Div Dialog
+DlgDivGeneralTab	: "Algemeen",
+DlgDivAdvancedTab	: "Geavanceerd",
+DlgDivStyle		: "Style",
+DlgDivInlineStyle	: "Inline Style",
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/mn.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/mn.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/mn.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Mongolian language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Ğ‘Ğ°Ğ³Ğ°Ğ¶Ğ½Ñ‹ Ñ…ÑÑÑĞ³ ÑĞ²Ğ´ÑÑ…",
+ToolbarExpand		: "Ğ‘Ğ°Ğ³Ğ°Ğ¶Ğ½Ñ‹ Ñ…ÑÑÑĞ³ Ó©Ñ€Ğ³Ó©Ñ‚Ğ³Ó©Ñ…",
+
+// Toolbar Items and Context Menu
+Save				: "Ğ¥Ğ°Ğ´Ğ³Ğ°Ğ»Ğ°Ñ…",
+NewPage				: "Ğ¨Ğ¸Ğ½Ñ Ñ…ÑƒÑƒĞ´Ğ°Ñ",
+Preview				: "Ğ£Ñ€Ğ¸Ğ´Ñ‡Ğ»Ğ°Ğ½ Ñ…Ğ°Ñ€Ğ°Ñ…",
+Cut					: "Ğ¥Ğ°Ğ¹Ñ‡Ğ»Ğ°Ñ…",
+Copy				: "Ğ¥ÑƒÑƒĞ»Ğ°Ñ…",
+Paste				: "Ğ‘ÑƒÑƒĞ»Ğ³Ğ°Ñ…",
+PasteText			: "plain text-ÑÑÑ Ğ±ÑƒÑƒĞ»Ğ³Ğ°Ñ…",
+PasteWord			: "Word-Ğ¾Ğ¾Ñ Ğ±ÑƒÑƒĞ»Ğ³Ğ°Ñ…",
+Print				: "Ğ¥ÑĞ²Ğ»ÑÑ…",
+SelectAll			: "Ğ‘Ò¯Ğ³Ğ´Ğ¸Ğ¹Ğ³ Ğ½ÑŒ ÑĞ¾Ğ½Ğ³Ğ¾Ñ…",
+RemoveFormat		: "Ğ¤Ğ¾Ñ€Ğ¼Ğ°Ñ‚ Ğ°Ğ²Ñ‡ Ñ…Ğ°ÑÑ…",
+InsertLinkLbl		: "Ğ›Ğ¸Ğ½Ğº",
+InsertLink			: "Ğ›Ğ¸Ğ½Ğº ĞÑ€ÑƒÑƒĞ»Ğ°Ñ…/Ğ—Ğ°ÑĞ²Ğ°Ñ€Ğ»Ğ°Ñ…",
+RemoveLink			: "Ğ›Ğ¸Ğ½Ğº Ğ°Ğ²Ñ‡ Ñ…Ğ°ÑÑ…",
+VisitLink			: "Open Link",	//MISSING
+Anchor				: "Ğ¥Ğ¾Ğ»Ğ±Ğ¾Ğ¾Ñ ĞÑ€ÑƒÑƒĞ»Ğ°Ñ…/Ğ—Ğ°ÑĞ²Ğ°Ñ€Ğ»Ğ°Ñ…",
+AnchorDelete		: "Ğ¥Ğ¾Ğ»Ğ±Ğ¾Ğ¾Ñ ĞĞ²Ğ°Ñ…",
+InsertImageLbl		: "Ğ—ÑƒÑ€Ğ°Ğ³",
+InsertImage			: "Ğ—ÑƒÑ€Ğ°Ğ³ ĞÑ€ÑƒÑƒĞ»Ğ°Ñ…/Ğ—Ğ°ÑĞ²Ğ°Ñ€Ğ»Ğ°Ñ…",
+InsertFlashLbl		: "Ğ¤Ğ»Ğ°Ñˆ",
+InsertFlash			: "Ğ¤Ğ»Ğ°Ñˆ ĞÑ€ÑƒÑƒĞ»Ğ°Ñ…/Ğ—Ğ°ÑĞ²Ğ°Ñ€Ğ»Ğ°Ñ…",
+InsertTableLbl		: "Ğ¥Ò¯ÑĞ½ÑĞ³Ñ‚",
+InsertTable			: "Ğ¥Ò¯ÑĞ½ÑĞ³Ñ‚ ĞÑ€ÑƒÑƒĞ»Ğ°Ñ…/Ğ—Ğ°ÑĞ²Ğ°Ñ€Ğ»Ğ°Ñ…",
+InsertLineLbl		: "Ğ—ÑƒÑ€Ğ°Ğ°Ñ",
+InsertLine			: "Ğ¥Ó©Ğ½Ğ´Ğ»Ó©Ğ½ Ğ·ÑƒÑ€Ğ°Ğ°Ñ Ğ¾Ñ€ÑƒÑƒĞ»Ğ°Ñ…",
+InsertSpecialCharLbl: "ĞĞ½Ñ†Ğ³Ğ¾Ğ¹ Ñ‚ÑĞ¼Ğ´ÑĞ³Ñ‚",
+InsertSpecialChar	: "ĞĞ½Ñ†Ğ³Ğ¾Ğ¹ Ñ‚ÑĞ¼Ğ´ÑĞ³Ñ‚ Ğ¾Ñ€ÑƒÑƒĞ»Ğ°Ñ…",
+InsertSmileyLbl		: "Ğ¢Ğ¾Ğ´Ğ¾Ñ€Ñ…Ğ¾Ğ¹Ğ»Ğ¾Ğ»Ñ‚",
+InsertSmiley		: "Ğ¢Ğ¾Ğ´Ğ¾Ñ€Ñ…Ğ¾Ğ¹Ğ»Ğ¾Ğ»Ñ‚ Ğ¾Ñ€ÑƒÑƒĞ»Ğ°Ñ…",
+About				: "FCKeditor-Ğ½ Ñ‚ÑƒÑ…Ğ°Ğ¹",
+Bold				: "Ğ¢Ğ¾Ğ´ Ğ±Ò¯Ğ´Ò¯Ò¯Ğ½",
+Italic				: "ĞĞ°Ğ»ÑƒÑƒ",
+Underline			: "Ğ”Ğ¾Ğ¾Ğ³ÑƒÑƒÑ€ Ğ½ÑŒ Ğ·ÑƒÑ€Ğ°Ğ°ÑÑ‚Ğ°Ğ¹ Ğ±Ğ¾Ğ»Ğ³Ğ¾Ñ…",
+StrikeThrough		: "Ğ”ÑƒĞ½Ğ´ÑƒÑƒÑ€ Ğ½ÑŒ Ğ·ÑƒÑ€Ğ°Ğ°ÑÑ‚Ğ°Ğ¹ Ğ±Ğ¾Ğ»Ğ³Ğ¾Ñ…",
+Subscript			: "Ğ¡ÑƒÑƒÑ€ÑŒ Ğ±Ğ¾Ğ»Ğ³Ğ¾Ñ…",
+Superscript			: "Ğ—ÑÑ€ÑĞ³ Ğ±Ğ¾Ğ»Ğ³Ğ¾Ñ…",
+LeftJustify			: "Ğ—Ò¯Ò¯Ğ½ Ñ‚Ğ°Ğ»Ğ´ Ğ±Ğ°Ğ¹Ñ€Ğ»ÑƒÑƒĞ»Ğ°Ñ…",
+CenterJustify		: "Ğ¢Ó©Ğ²Ğ´ Ğ±Ğ°Ğ¹Ñ€Ğ»ÑƒÑƒĞ»Ğ°Ñ…",
+RightJustify		: "Ğ‘Ğ°Ñ€ÑƒÑƒĞ½ Ñ‚Ğ°Ğ»Ğ´ Ğ±Ğ°Ğ¹Ñ€Ğ»ÑƒÑƒĞ»Ğ°Ñ…",
+BlockJustify		: "Ğ‘Ğ»Ğ¾Ğº Ñ…ÑĞ»Ğ±ÑÑ€ÑÑÑ€ Ğ±Ğ°Ğ¹Ñ€Ğ»ÑƒÑƒĞ»Ğ°Ñ…",
+DecreaseIndent		: "Ğ”Ğ¾Ğ³Ğ¾Ğ» Ğ¼Ó©Ñ€ Ğ½ÑĞ¼ÑÑ…",
+IncreaseIndent		: "Ğ”Ğ¾Ğ³Ğ¾Ğ» Ğ¼Ó©Ñ€ Ñ…Ğ°ÑĞ°Ñ…",
+Blockquote			: "Ğ¥Ğ°Ğ¹Ñ€Ñ†Ğ°Ğ³Ğ»Ğ°Ñ…",
+CreateDiv			: "Create Div Container",	//MISSING
+EditDiv				: "Edit Div Container",	//MISSING
+DeleteDiv			: "Remove Div Container",	//MISSING
+Undo				: "Ğ¥Ò¯Ñ‡Ğ¸Ğ½Ğ³Ò¯Ğ¹ Ğ±Ğ¾Ğ»Ğ³Ğ¾Ñ…",
+Redo				: "Ó¨Ğ¼Ğ½Ó©Ñ… Ò¯Ğ¹Ğ»Ğ´Ğ»ÑÑ ÑÑÑ€Ğ³ÑÑÑ…",
+NumberedListLbl		: "Ğ”ÑƒĞ³Ğ°Ğ°Ñ€Ğ»Ğ°Ğ³Ğ´ÑĞ°Ğ½ Ğ¶Ğ°Ğ³ÑĞ°Ğ°Ğ»Ñ‚",
+NumberedList		: "Ğ”ÑƒĞ³Ğ°Ğ°Ñ€Ğ»Ğ°Ğ³Ğ´ÑĞ°Ğ½ Ğ¶Ğ°Ğ³ÑĞ°Ğ°Ğ»Ñ‚ ĞÑ€ÑƒÑƒĞ»Ğ°Ñ…/ĞĞ²Ğ°Ñ…",
+BulletedListLbl		: "Ğ¦ÑĞ³Ñ‚ÑĞ¹ Ğ¶Ğ°Ğ³ÑĞ°Ğ°Ğ»Ñ‚",
+BulletedList		: "Ğ¦ÑĞ³Ñ‚ÑĞ¹ Ğ¶Ğ°Ğ³ÑĞ°Ğ°Ğ»Ñ‚ ĞÑ€ÑƒÑƒĞ»Ğ°Ñ…/ĞĞ²Ğ°Ñ…",
+ShowTableBorders	: "Ğ¥Ò¯ÑĞ½ÑĞ³Ñ‚Ğ¸Ğ¹Ğ½ Ñ…Ò¯Ñ€ÑÑĞ³ Ò¯Ğ·Ò¯Ò¯Ğ»ÑÑ…",
+ShowDetails			: "Ğ”ĞµÑ‚Ğ°Ğ»Ñ‡Ğ»Ğ°Ğ½ Ò¯Ğ·Ò¯Ò¯Ğ»ÑÑ…",
+Style				: "Ğ—Ğ°Ğ³Ğ²Ğ°Ñ€",
+FontFormat			: "Ğ¤Ğ¾Ñ€Ğ¼Ğ°Ñ‚",
+Font				: "Ğ¤Ğ¾Ğ½Ñ‚",
+FontSize			: "Ğ¥ÑĞ¼Ğ¶ÑÑ",
+TextColor			: "Ğ¤Ğ¾Ğ½Ñ‚Ğ½Ñ‹ Ó©Ğ½Ğ³Ó©",
+BGColor				: "Ğ¤Ğ¾Ğ½Ğ½Ñ‹ Ó©Ğ½Ğ³Ó©",
+Source				: "ĞšĞ¾Ğ´",
+Find				: "Ğ¥Ğ°Ğ¹Ñ…",
+Replace				: "Ğ¡Ğ¾Ğ»Ğ¸Ñ…",
+SpellCheck			: "Ò®Ğ³Ğ¸Ğ¹Ğ½ Ğ´Ò¯Ñ€ÑÑ… ÑˆĞ°Ğ»Ğ³Ğ°Ñ…",
+UniversalKeyboard	: "Ğ£Ğ½Ğ¸Ğ²Ğ°Ñ€ÑĞ°Ğ» Ğ³Ğ°Ñ€",
+PageBreakLbl		: "Ğ¥ÑƒÑƒĞ´Ğ°Ñ Ñ‚ÑƒÑĞ³Ğ°Ğ°Ñ€Ğ»Ğ°Ñ…",
+PageBreak			: "Ğ¥ÑƒÑƒĞ´Ğ°Ñ Ñ‚ÑƒÑĞ³Ğ°Ğ°Ñ€Ğ»Ğ°Ğ³Ñ‡ Ğ¾Ñ€ÑƒÑƒĞ»Ğ°Ñ…",
+
+Form			: "Ğ¤Ğ¾Ñ€Ğ¼",
+Checkbox		: "Ğ§ĞµĞºĞ±Ğ¾ĞºÑ",
+RadioButton		: "Ğ Ğ°Ğ´Ğ¸Ğ¾ Ñ‚Ğ¾Ğ²Ñ‡",
+TextField		: "Ğ¢ĞµÑ…Ñ‚ Ñ‚Ğ°Ğ»Ğ±Ğ°Ñ€",
+Textarea		: "Ğ¢ĞµÑ…Ñ‚ Ğ¾Ñ€Ñ‡Ğ¸Ğ½",
+HiddenField		: "ĞÑƒÑƒÑ† Ñ‚Ğ°Ğ»Ğ±Ğ°Ñ€",
+Button			: "Ğ¢Ğ¾Ğ²Ñ‡",
+SelectionField	: "Ğ¡Ğ¾Ğ½Ğ³Ğ¾Ğ³Ñ‡ Ñ‚Ğ°Ğ»Ğ±Ğ°Ñ€",
+ImageButton		: "Ğ—ÑƒÑ€Ğ°Ğ³Ñ‚Ğ°Ğ¹ Ñ‚Ğ¾Ğ²Ñ‡",
+
+FitWindow		: "editor-Ğ½ Ñ…ÑĞ¼Ğ¶ÑÑĞ³ Ñ‚Ğ¾Ğ¼Ñ€ÑƒÑƒĞ»Ğ°Ñ…",
+ShowBlocks		: "Block-ÑƒÑƒĞ´Ñ‹Ğ³ Ò¯Ğ·Ò¯Ò¯Ğ»ÑÑ…",
+
+// Context Menu
+EditLink			: "Ğ¥Ğ¾Ğ»Ğ±Ğ¾Ğ¾Ñ Ğ·Ğ°ÑĞ²Ğ°Ñ€Ğ»Ğ°Ñ…",
+CellCM				: "ĞÒ¯Ñ…/Ğ·Ğ°Ğ¹",
+RowCM				: "ĞœÓ©Ñ€",
+ColumnCM			: "Ğ‘Ğ°Ğ³Ğ°Ğ½Ğ°",
+InsertRowAfter		: "ĞœÓ©Ñ€ Ğ´Ğ°Ñ€Ğ°Ğ° Ğ½ÑŒ Ğ¾Ñ€ÑƒÑƒĞ»Ğ°Ñ…",
+InsertRowBefore		: "ĞœÓ©Ñ€ Ó©Ğ¼Ğ½Ó© Ğ½ÑŒ Ğ¾Ñ€ÑƒÑƒĞ»Ğ°Ñ…",
+DeleteRows			: "ĞœÓ©Ñ€ ÑƒÑÑ‚Ğ³Ğ°Ñ…",
+InsertColumnAfter	: "Ğ‘Ğ°Ğ³Ğ°Ğ½Ğ° Ğ´Ğ°Ñ€Ğ°Ğ° Ğ½ÑŒ Ğ¾Ñ€ÑƒÑƒĞ»Ğ°Ñ…",
+InsertColumnBefore	: "Ğ‘Ğ°Ğ³Ğ°Ğ½Ğ° Ó©Ğ¼Ğ½Ó© Ğ½ÑŒ Ğ¾Ñ€ÑƒÑƒĞ»Ğ°Ñ…",
+DeleteColumns		: "Ğ‘Ğ°Ğ³Ğ°Ğ½Ğ° ÑƒÑÑ‚Ğ³Ğ°Ñ…",
+InsertCellAfter		: "ĞÒ¯Ñ…/Ğ·Ğ°Ğ¹ Ğ´Ğ°Ñ€Ğ°Ğ° Ğ½ÑŒ Ğ¾Ñ€ÑƒÑƒĞ»Ğ°Ñ…",
+InsertCellBefore	: "ĞÒ¯Ñ…/Ğ·Ğ°Ğ¹ Ó©Ğ¼Ğ½Ó© Ğ½ÑŒ Ğ¾Ñ€ÑƒÑƒĞ»Ğ°Ñ…",
+DeleteCells			: "ĞÒ¯Ñ… ÑƒÑÑ‚Ğ³Ğ°Ñ…",
+MergeCells			: "ĞÒ¯Ñ… Ğ½ÑĞ³Ñ‚ÑÑ…",
+MergeRight			: "Ğ‘Ğ°Ñ€ÑƒÑƒĞ½ Ñ‚Ğ¸Ğ¹Ñˆ Ğ½ÑĞ³Ñ‚Ğ³ÑÑ…",
+MergeDown			: "Ğ”Ğ¾Ğ¾Ñˆ Ğ½ÑĞ³Ñ‚Ğ³ÑÑ…",
+HorizontalSplitCell	: "ĞÒ¯Ñ…/Ğ·Ğ°Ğ¹Ğ³ Ğ±Ğ¾ÑĞ¾Ğ¾Ğ³Ğ¾Ğ¾Ñ€ Ğ½ÑŒ Ñ‚ÑƒÑĞ³Ğ°Ğ°Ñ€Ğ»Ğ°Ñ…",
+VerticalSplitCell	: "ĞÒ¯Ñ…/Ğ·Ğ°Ğ¹Ğ³ Ñ…Ó©Ğ½Ğ´Ğ»Ó©Ğ½Ğ³Ó©Ó©Ñ€ Ğ½ÑŒ Ñ‚ÑƒÑĞ³Ğ°Ğ°Ñ€Ğ»Ğ°Ñ…",
+TableDelete			: "Ğ¥Ò¯ÑĞ½ÑĞ³Ñ‚ ÑƒÑÑ‚Ğ³Ğ°Ñ…",
+CellProperties		: "ĞÒ¯Ñ…/Ğ·Ğ°Ğ¹ Ğ·Ğ°Ğ¹Ğ½ ÑˆĞ¸Ğ½Ğ¶ Ñ‡Ğ°Ğ½Ğ°Ñ€",
+TableProperties		: "Ğ¥Ò¯ÑĞ½ÑĞ³Ñ‚",
+ImageProperties		: "Ğ—ÑƒÑ€Ğ°Ğ³",
+FlashProperties		: "Ğ¤Ğ»Ğ°Ñˆ ÑˆĞ¸Ğ½Ğ¶ Ñ‡Ğ°Ğ½Ğ°Ñ€",
+
+AnchorProp			: "Ğ¥Ğ¾Ğ»Ğ±Ğ¾Ğ¾Ñ ÑˆĞ¸Ğ½Ğ¶ Ñ‡Ğ°Ğ½Ğ°Ñ€",
+ButtonProp			: "Ğ¢Ğ¾Ğ²Ñ‡Ğ½Ñ‹ ÑˆĞ¸Ğ½Ğ¶ Ñ‡Ğ°Ğ½Ğ°Ñ€",
+CheckboxProp		: "Ğ§ĞµĞºĞ±Ğ¾ĞºÑĞ½Ñ‹ ÑˆĞ¸Ğ½Ğ¶ Ñ‡Ğ°Ğ½Ğ°Ñ€",
+HiddenFieldProp		: "ĞÑƒÑƒÑ† Ñ‚Ğ°Ğ»Ğ±Ğ°Ñ€Ñ‹Ğ½ ÑˆĞ¸Ğ½Ğ¶ Ñ‡Ğ°Ğ½Ğ°Ñ€",
+RadioButtonProp		: "Ğ Ğ°Ğ´Ğ¸Ğ¾ Ñ‚Ğ¾Ğ²Ñ‡Ğ½Ñ‹ ÑˆĞ¸Ğ½Ğ¶ Ñ‡Ğ°Ğ½Ğ°Ñ€",
+ImageButtonProp		: "Ğ—ÑƒÑ€Ğ³Ğ°Ğ½ Ñ‚Ğ¾Ğ²Ñ‡Ğ½Ñ‹ ÑˆĞ¸Ğ½Ğ¶ Ñ‡Ğ°Ğ½Ğ°Ñ€",
+TextFieldProp		: "Ğ¢ĞµĞºÑÑ‚ Ñ‚Ğ°Ğ»Ğ±Ğ°Ñ€Ñ‹Ğ½ ÑˆĞ¸Ğ½Ğ¶ Ñ‡Ğ°Ğ½Ğ°Ñ€",
+SelectionFieldProp	: "Ğ¡Ğ¾Ğ³Ğ¾Ğ³Ñ‡ Ñ‚Ğ°Ğ»Ğ±Ğ°Ñ€Ñ‹Ğ½ ÑˆĞ¸Ğ½Ğ¶ Ñ‡Ğ°Ğ½Ğ°Ñ€",
+TextareaProp		: "Ğ¢ĞµĞºÑÑ‚ Ğ¾Ñ€Ñ‡Ğ½Ñ‹ ÑˆĞ¸Ğ½Ğ¶ Ñ‡Ğ°Ğ½Ğ°Ñ€",
+FormProp			: "Ğ¤Ğ¾Ñ€Ğ¼ ÑˆĞ¸Ğ½Ğ¶ Ñ‡Ğ°Ğ½Ğ°Ñ€",
+
+FontFormats			: "Ğ¥ÑĞ²Ğ¸Ğ¹Ğ½;Formatted;Ğ¥Ğ°ÑĞ³;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Paragraph (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "XHTML Ò¯Ğ¹Ğ» ÑĞ²Ñ† ÑĞ²Ğ°Ğ³Ğ´Ğ°Ğ¶ Ğ±Ğ°Ğ¹Ğ½Ğ°. Ğ¥Ò¯Ğ»ÑÑĞ½Ñ Ò¯Ò¯...",
+Done				: "Ğ¥Ğ¸Ğ¹Ñ…",
+PasteWordConfirm	: "Word-Ğ¾Ğ¾Ñ Ñ…ÑƒÑƒĞ»ÑĞ°Ğ½ Ñ‚ĞµĞºÑÑ‚ÑÑ ÑĞ°Ğ½Ğ°Ğ¶ Ğ±Ğ°Ğ¹Ğ³Ğ°Ğ°Ğ³ Ğ½ÑŒ Ğ±ÑƒÑƒĞ»Ğ³Ğ°Ñ…Ñ‹Ğ³ Ñ‚Ğ° Ñ…Ò¯ÑÑ‡ Ğ±Ğ°Ğ¹Ğ½Ğ° ÑƒÑƒ. Ğ¢Ğ° Ñ‚ĞµĞºÑÑ‚-ÑÑ Ğ±ÑƒÑƒĞ»Ğ³Ğ°Ñ…Ñ‹Ğ½ Ó©Ğ¼Ğ½Ó© Ñ†ÑĞ²ÑÑ€Ğ»ÑÑ… Ò¯Ò¯?",
+NotCompatiblePaste	: "Ğ­Ğ½Ñ ĞºĞ¾Ğ¼Ğ¼Ğ°Ğ½Ğ´ Internet Explorer-Ñ‹Ğ½ 5.5 Ğ±ÑƒÑÑƒ Ñ‚Ò¯Ò¯Ğ½ÑÑÑ Ğ´ÑÑÑˆ Ñ…ÑƒĞ²Ğ¸Ğ»Ğ±Ğ°Ñ€Ñ‚ Ğ¸Ğ´Ğ²ÑÑ…ÑˆĞ¸Ğ½Ñ. Ğ¢Ğ° Ñ†ÑĞ²ÑÑ€Ğ»ÑÑ…Ğ³Ò¯Ğ¹Ğ³ÑÑÑ€ Ğ±ÑƒÑƒĞ»Ğ³Ğ°Ñ…Ñ‹Ğ³ Ñ…Ò¯ÑÑ‡ Ğ±Ğ°Ğ¹Ğ½Ğ°?",
+UnknownToolbarItem	: "Ğ‘Ğ°Ğ³Ğ°Ğ¶Ğ½Ñ‹ Ñ…ÑÑĞ³Ğ¸Ğ¹Ğ½ \"%1\" item Ğ¼ÑĞ´ÑĞ³Ğ´ÑÑ…Ğ³Ò¯Ğ¹ Ğ±Ğ°Ğ¹Ğ½Ğ°",
+UnknownCommand		: "\"%1\" ĞºĞ¾Ğ¼Ğ¼Ğ°Ğ½Ğ´ Ğ½ÑÑ€ Ğ¼ÑĞ´Ğ°Ğ³Ğ´ÑÑ…Ğ³Ò¯Ğ¹ Ğ±Ğ°Ğ¹Ğ½Ğ°",
+NotImplemented		: "Ğ—Ó©Ğ²ÑˆÓ©Ó©Ñ€Ó©Ğ³Ğ´Ó©Ñ…Ğ³Ò¯Ğ¹ ĞºĞ¾Ğ¼Ğ¼Ğ°Ğ½Ğ´",
+UnknownToolbarSet	: "Ğ‘Ğ°Ğ³Ğ°Ğ¶Ğ½Ñ‹ Ñ…ÑÑÑĞ³Ñ‚ \"%1\" Ğ¾Ğ½Ğ¾Ğ¾Ñ…, Ò¯Ò¯ÑÑÑĞ³Ò¯Ğ¹ Ğ±Ğ°Ğ¹Ğ½Ğ°",
+NoActiveX			: "Ğ¢Ğ°Ğ½Ñ‹ Ò¯Ğ·Ò¯Ò¯Ğ»ÑĞ³Ñ‡/browser-Ğ½ Ñ…Ğ°Ğ¼Ğ³Ğ°Ğ°Ğ»Ğ°Ğ»Ñ‚Ñ‹Ğ½ Ñ‚Ğ¾Ñ…Ğ¸Ñ€Ğ³Ğ¾Ğ¾ editor-Ğ½ Ğ·Ğ°Ñ€Ğ¸Ğ¼ Ğ±Ğ¾Ğ»Ğ¾Ğ¼Ğ¶Ğ¸Ğ¹Ğ³ Ñ…ÑĞ·Ğ³Ğ°Ğ°Ñ€Ğ»Ğ°Ğ¶ Ğ±Ğ°Ğ¹Ğ½Ğ°. Ğ¢Ğ° \"Run ActiveX controls Ğ±Ğ° plug-ins\" ÑĞ¾Ğ½Ğ³Ğ¾Ğ»Ñ‹Ğ³ Ğ¸Ğ´Ğ²ÑÑ…Ğ¸Ñ‚ÑĞ¹ Ğ±Ğ¾Ğ»Ğ³Ğ¾.",
+BrowseServerBlocked : "ĞÓ©Ó©Ñ† Ò¯Ğ·Ò¯Ò¯Ğ³Ñ‡ Ğ½ÑÑĞ¶ Ñ‡Ğ°Ğ´ÑĞ°Ğ½Ğ³Ò¯Ğ¹. Ğ‘Ò¯Ñ… popup blocker-Ğ³ disabled Ğ±Ğ¾Ğ»Ğ³Ğ¾Ğ½Ğ¾ ÑƒÑƒ.",
+DialogBlocked		: "Ğ¥Ğ°Ñ€Ğ¸Ğ»Ñ†Ğ°Ñ… Ñ†Ğ¾Ğ½Ñ…Ğ¾Ğ½Ğ´ ÑĞ½Ğ¸Ğ¹Ğ³ Ğ½ÑÑÑ…ÑĞ´ Ğ±Ğ¾Ğ»Ğ¾Ğ¼Ğ¶Ğ³Ò¯Ğ¹ ÑÑ. Ğ‘Ò¯Ñ… popup blocker-Ğ³ disabled Ğ±Ğ¾Ğ»Ğ³Ğ¾Ğ½Ğ¾ ÑƒÑƒ.",
+VisitLinkBlocked	: "It was not possible to open a new window. Make sure all popup blockers are disabled.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Ğ‘Ğ¾Ğ»Ğ¸Ñ…",
+DlgBtnClose			: "Ğ¥Ğ°Ğ°Ñ…",
+DlgBtnBrowseServer	: "Ğ¡ĞµÑ€Ğ²ĞµÑ€ Ñ…Ğ°Ñ€ÑƒÑƒĞ»Ğ°Ñ…",
+DlgAdvancedTag		: "ĞÑĞ¼ÑĞ»Ñ‚",
+DlgOpOther			: "<Ğ‘ÑƒÑĞ°Ğ´>",
+DlgInfoTab			: "ĞœÑĞ´ÑÑĞ»ÑĞ»",
+DlgAlertUrl			: "URL Ğ¾Ñ€ÑƒÑƒĞ»Ğ½Ğ° ÑƒÑƒ",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<ĞĞ½Ğ¾Ğ¾Ñ…Ğ³Ò¯Ğ¹>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Ğ¥ÑĞ»Ğ½Ğ¸Ğ¹ Ñ‡Ğ¸Ğ³Ğ»ÑĞ»",
+DlgGenLangDirLtr	: "Ğ—Ò¯Ò¯Ğ½ÑÑÑ Ğ±Ğ°Ñ€ÑƒÑƒĞ½ (LTR)",
+DlgGenLangDirRtl	: "Ğ‘Ğ°Ñ€ÑƒÑƒĞ½Ğ°Ğ°Ñ Ğ·Ò¯Ò¯Ğ½ (RTL)",
+DlgGenLangCode		: "Ğ¥ÑĞ»Ğ½Ğ¸Ğ¹ ĞºĞ¾Ğ´",
+DlgGenAccessKey		: "Ğ¥Ğ¾Ğ»Ğ±Ğ¾Ñ… Ñ‚Ò¯Ğ»Ñ…Ò¯Ò¯Ñ€",
+DlgGenName			: "ĞÑÑ€",
+DlgGenTabIndex		: "Tab Ğ¸Ğ½Ğ´ĞµĞºÑ",
+DlgGenLongDescr		: "URL-Ñ‹Ğ½ Ñ‚Ğ°Ğ¹Ğ»Ğ±Ğ°Ñ€",
+DlgGenClass			: "Stylesheet ĞºĞ»Ğ°ÑÑÑƒÑƒĞ´",
+DlgGenTitle			: "Ğ—Ó©Ğ²Ğ»Ó©Ğ»Ğ´Ó©Ñ… Ğ³Ğ°Ñ€Ñ‡Ğ¸Ğ³",
+DlgGenContType		: "Ğ—Ó©Ğ²Ğ»Ó©Ğ»Ğ´Ó©Ñ… Ñ‚Ó©Ñ€Ğ»Ğ¸Ğ¹Ğ½ Ğ°Ğ³ÑƒÑƒĞ»Ğ³Ğ°",
+DlgGenLinkCharset	: "Ğ¢ÑĞ¼Ğ´ÑĞ³Ñ‚ Ğ¾Ğ½Ğ¾Ğ¾Ñ… Ğ½Ó©Ó©Ñ†Ó©Ğ´ Ñ…Ğ¾Ğ»Ğ±Ğ¾Ğ³Ğ´ÑĞ¾Ğ½",
+DlgGenStyle			: "Ğ—Ğ°Ğ³Ğ²Ğ°Ñ€",
+
+// Image Dialog
+DlgImgTitle			: "Ğ—ÑƒÑ€Ğ°Ğ³",
+DlgImgInfoTab		: "Ğ—ÑƒÑ€Ğ°Ğ³Ğ½Ñ‹ Ğ¼ÑĞ´ÑÑĞ»ÑĞ»",
+DlgImgBtnUpload		: "Ò®Ò¯Ğ½Ğ¸Ğ¹Ğ³ ÑĞµÑ€Ğ²ÑÑ€Ñ€Ò¯Ò¯ Ğ¸Ğ»Ğ³ÑÑ",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Ğ¥ÑƒÑƒĞ»Ğ°Ñ…",
+DlgImgAlt			: "Ğ¢Ğ°Ğ¹Ğ»Ğ±Ğ°Ñ€ Ñ‚ĞµĞºÑÑ‚",
+DlgImgWidth			: "Ó¨Ñ€Ğ³Ó©Ğ½",
+DlgImgHeight		: "Ó¨Ğ½Ğ´Ó©Ñ€",
+DlgImgLockRatio		: "Ğ Ğ°Ğ´Ğ¸Ğ¾ Ñ‚Ò¯Ğ³Ğ¶Ğ¸Ñ…",
+DlgBtnResetSize		: "Ñ…ÑĞ¼Ğ¶ÑÑ Ğ´Ğ°Ñ…Ğ¸Ğ½ Ğ¾Ğ½Ğ¾Ğ¾Ñ…",
+DlgImgBorder		: "Ğ¥Ò¯Ñ€ÑÑ",
+DlgImgHSpace		: "Ğ¥Ó©Ğ½Ğ´Ğ»Ó©Ğ½ Ğ·Ğ°Ğ¹",
+DlgImgVSpace		: "Ğ‘Ğ¾ÑĞ¾Ğ¾ Ğ·Ğ°Ğ¹",
+DlgImgAlign			: "Ğ­Ğ³Ğ½ÑÑ",
+DlgImgAlignLeft		: "Ğ—Ò¯Ò¯Ğ½",
+DlgImgAlignAbsBottom: "Abs Ğ´Ğ¾Ğ¾Ğ´ Ñ‚Ğ°Ğ»Ğ´",
+DlgImgAlignAbsMiddle: "Abs Ğ”ÑƒĞ½Ğ´ Ñ‚Ğ°Ğ»Ğ´",
+DlgImgAlignBaseline	: "Baseline",
+DlgImgAlignBottom	: "Ğ”Ğ¾Ğ¾Ğ´ Ñ‚Ğ°Ğ»Ğ´",
+DlgImgAlignMiddle	: "Ğ”ÑƒĞ½Ğ´ Ñ‚Ğ°Ğ»Ğ´",
+DlgImgAlignRight	: "Ğ‘Ğ°Ñ€ÑƒÑƒĞ½",
+DlgImgAlignTextTop	: "Ğ¢ĞµĞºÑÑ‚ Ğ´ÑÑÑ€",
+DlgImgAlignTop		: "Ğ”ÑÑĞ´ Ñ‚Ğ°Ğ»Ğ´",
+DlgImgPreview		: "Ğ£Ñ€Ğ¸Ğ´Ñ‡Ğ»Ğ°Ğ½ Ñ…Ğ°Ñ€Ğ°Ñ…",
+DlgImgAlertUrl		: "Ğ—ÑƒÑ€Ğ°Ğ³Ğ½Ñ‹ URL-Ñ‹Ğ½ Ñ‚Ó©Ñ€Ğ»Ğ¸Ğ¹Ğ½ ÑĞ¾Ğ½Ğ³Ğ¾Ğ½Ğ¾ ÑƒÑƒ",
+DlgImgLinkTab		: "Ğ›Ğ¸Ğ½Ğº",
+
+// Flash Dialog
+DlgFlashTitle		: "Ğ¤Ğ»Ğ°Ñˆ  ÑˆĞ¸Ğ½Ğ¶ Ñ‡Ğ°Ğ½Ğ°Ñ€",
+DlgFlashChkPlay		: "ĞĞ²Ñ‚Ğ¾Ğ¼Ğ°Ñ‚Ğ°Ğ°Ñ€ Ñ‚Ğ¾Ğ³Ğ»Ğ¾Ñ…",
+DlgFlashChkLoop		: "Ğ”Ğ°Ğ²Ñ‚Ğ°Ñ…",
+DlgFlashChkMenu		: "Ğ¤Ğ»Ğ°Ñˆ Ñ†ÑÑ Ğ¸Ğ´Ğ²ÑÑ…Ğ¶Ò¯Ò¯Ğ»ÑÑ…",
+DlgFlashScale		: "Ó¨Ñ€Ğ³Ó©Ğ³Ñ‚Ğ³Ó©Ñ…",
+DlgFlashScaleAll	: "Ğ‘Ò¯Ğ³Ğ´Ğ¸Ğ¹Ğ³ Ñ…Ğ°Ñ€ÑƒÑƒĞ»Ğ°Ñ…",
+DlgFlashScaleNoBorder	: "Ğ¥Ò¯Ñ€ÑÑĞ³Ò¯Ğ¹",
+DlgFlashScaleFit	: "Ğ¯Ğ³ Ñ‚Ğ°Ğ°Ñ€ÑƒÑƒĞ»Ğ°Ñ…",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Ğ›Ğ¸Ğ½Ğº",
+DlgLnkInfoTab		: "Ğ›Ğ¸Ğ½ĞºĞ¸Ğ¹Ğ½ Ğ¼ÑĞ´ÑÑĞ»ÑĞ»",
+DlgLnkTargetTab		: "Ğ‘Ğ°Ğ¹Ñ€Ğ»Ğ°Ğ»",
+
+DlgLnkType			: "Ğ›Ğ¸Ğ½ĞºĞ¸Ğ¹Ğ½ Ñ‚Ó©Ñ€Ó©Ğ»",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Ğ­Ğ½Ñ Ñ…ÑƒÑƒĞ´Ğ°ÑĞ°Ğ½Ğ´Ğ°Ñ… Ñ…Ğ¾Ğ»Ğ±Ğ¾Ğ¾Ñ",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "ĞŸÑ€Ğ¾Ñ‚Ğ¾ĞºĞ¾Ğ»",
+DlgLnkProtoOther	: "<Ğ±ÑƒÑĞ°Ğ´>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Ğ¥Ğ¾Ğ»Ğ±Ğ¾Ğ¾Ñ ÑĞ¾Ğ½Ğ³Ğ¾Ñ…",
+DlgLnkAnchorByName	: "Ğ¥Ğ¾Ğ»Ğ±Ğ¾Ğ¾ÑÑ‹Ğ½ Ğ½ÑÑ€ÑÑÑ€",
+DlgLnkAnchorById	: "Ğ­Ğ»ĞµĞ¼ÑĞ½Ñ‚ Id-Ğ³Ğ°Ğ°Ñ€",
+DlgLnkNoAnchors		: "(Ğ‘Ğ°Ñ€Ğ¸Ğ¼Ñ‚ Ğ±Ğ¸Ñ‡Ğ¸Ğ³ Ñ…Ğ¾Ğ»Ğ±Ğ¾Ğ¾ÑĞ³Ò¯Ğ¹ Ğ±Ğ°Ğ¹Ğ½Ğ°)",
+DlgLnkEMail			: "E-Mail Ğ¥Ğ°ÑĞ³",
+DlgLnkEMailSubject	: "Message Ğ³Ğ°Ñ€Ñ‡Ğ¸Ğ³",
+DlgLnkEMailBody		: "Message-Ğ¸Ğ¹Ğ½ Ğ°Ğ³ÑƒÑƒĞ»Ğ³Ğ°",
+DlgLnkUpload		: "Ğ¥ÑƒÑƒĞ»Ğ°Ñ…",
+DlgLnkBtnUpload		: "Ò®Ò¯Ğ½Ğ¸Ğ¹Ğ³ ÑĞµÑ€Ğ²ĞµÑ€Ñ€Ò¯Ò¯ Ğ¸Ğ»Ğ³ÑÑ",
+
+DlgLnkTarget		: "Ğ‘Ğ°Ğ¹Ñ€Ğ»Ğ°Ğ»",
+DlgLnkTargetFrame	: "<ĞĞ³ÑƒÑƒĞ»Ğ°Ñ… Ñ…Ò¯Ñ€ÑÑ>",
+DlgLnkTargetPopup	: "<popup Ñ†Ğ¾Ğ½Ñ…>",
+DlgLnkTargetBlank	: "Ğ¨Ğ¸Ğ½Ñ Ñ†Ğ¾Ğ½Ñ… (_blank)",
+DlgLnkTargetParent	: "Ğ­Ñ†ÑĞ³ Ñ†Ğ¾Ğ½Ñ… (_parent)",
+DlgLnkTargetSelf	: "Ğ¢Ó©ÑÑ‚ÑĞ¹ Ñ†Ğ¾Ğ½Ñ… (_self)",
+DlgLnkTargetTop		: "Ğ¥Ğ°Ğ¼Ğ³Ğ¸Ğ¹Ğ½ Ñ‚Ò¯Ñ€Ò¯Ò¯Ğ½ Ğ±Ğ°Ğ¹Ñ… Ñ†Ğ¾Ğ½Ñ… (_top)",
+DlgLnkTargetFrameName	: "ĞÑ‡Ğ¸Ñ… Ñ„Ñ€ĞµĞ¼Ñ‹Ğ½ Ğ½ÑÑ€",
+DlgLnkPopWinName	: "Popup Ñ†Ğ¾Ğ½Ñ…Ğ½Ñ‹ Ğ½ÑÑ€",
+DlgLnkPopWinFeat	: "Popup Ñ†Ğ¾Ğ½Ñ…Ğ½Ñ‹ Ğ¾Ğ½Ñ†Ğ»Ğ¾Ğ³",
+DlgLnkPopResize		: "Ğ¥ÑĞ¼Ğ¶ÑÑ Ó©Ó©Ñ€Ñ‡Ğ»Ó©Ñ…",
+DlgLnkPopLocation	: "Location Ñ…ÑÑÑĞ³",
+DlgLnkPopMenu		: "MeĞ½Ñ Ñ…ÑÑÑĞ³",
+DlgLnkPopScroll		: "Ğ¡ĞºÑ€Ğ¾Ğ» Ñ…ÑÑÑĞ³Ò¯Ò¯Ğ´",
+DlgLnkPopStatus		: "Ğ¡Ñ‚Ğ°Ñ‚ÑƒÑ Ñ…ÑÑÑĞ³",
+DlgLnkPopToolbar	: "Ğ‘Ğ°Ğ³Ğ°Ğ¶Ğ½Ñ‹ Ñ…ÑÑÑĞ³",
+DlgLnkPopFullScrn	: "Ğ¦Ğ¾Ğ½Ñ… Ğ´Ò¯Ò¯Ñ€Ğ³ÑÑ… (IE)",
+DlgLnkPopDependent	: "Ğ¥Ğ°Ğ¼Ğ°Ğ°Ñ‚Ğ°Ğ¹ (Netscape)",
+DlgLnkPopWidth		: "Ó¨Ñ€Ğ³Ó©Ğ½",
+DlgLnkPopHeight		: "Ó¨Ğ½Ğ´Ó©Ñ€",
+DlgLnkPopLeft		: "Ğ—Ò¯Ò¯Ğ½ Ğ±Ğ°Ğ¹Ñ€Ğ»Ğ°Ğ»",
+DlgLnkPopTop		: "Ğ”ÑÑĞ´ Ğ±Ğ°Ğ¹Ñ€Ğ»Ğ°Ğ»",
+
+DlnLnkMsgNoUrl		: "Ğ›Ğ¸Ğ½Ğº URL-ÑÑ Ñ‚Ó©Ñ€Ó©Ğ»Ğ¶Ò¯Ò¯Ğ»Ğ½Ñ Ò¯Ò¯",
+DlnLnkMsgNoEMail	: "Ğ•-mail Ñ…Ğ°ÑĞ³Ğ°Ğ° Ñ‚Ó©Ñ€Ó©Ğ»Ğ¶Ò¯Ò¯Ğ»Ğ½Ñ Ò¯Ò¯",
+DlnLnkMsgNoAnchor	: "Ğ¥Ğ¾Ğ»Ğ±Ğ¾Ğ¾ÑĞ¾Ğ¾ ÑĞ¾Ğ½Ğ³Ğ¾Ğ½Ğ¾ ÑƒÑƒ",
+DlnLnkMsgInvPopName	: "popup Ğ½ÑÑ€ Ğ½ÑŒ Ò¯ÑĞ³ÑĞ½ Ñ‚ÑĞ¼Ğ´ÑĞ³Ñ‚ÑÑÑ€ ÑÑ…ÑĞ»ÑÑĞ½ Ğ±Ğ°Ğ¹Ñ… Ğ±Ğ° Ñ…Ğ¾Ğ¾ÑĞ¾Ğ½ Ğ·Ğ°Ğ¹ Ğ°Ğ³ÑƒÑƒĞ»Ğ°Ğ°Ğ³Ò¯Ğ¹ Ğ±Ğ°Ğ¹Ñ… Ñ‘ÑÑ‚Ğ¾Ğ¹.",
+
+// Color Dialog
+DlgColorTitle		: "Ó¨Ğ½Ğ³Ó© ÑĞ¾Ğ½Ğ³Ğ¾Ñ…",
+DlgColorBtnClear	: "Ğ¦ÑĞ²ÑÑ€Ğ»ÑÑ…",
+DlgColorHighlight	: "Ó¨Ğ½Ğ³Ó©",
+DlgColorSelected	: "Ğ¡Ğ¾Ğ½Ğ³Ğ¾Ğ³Ğ´ÑĞ¾Ğ½",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Ğ¢Ğ¾Ğ´Ğ¾Ñ€Ñ…Ğ¾Ğ¹Ğ»Ğ¾Ğ»Ñ‚ Ğ¾Ñ€ÑƒÑƒĞ»Ğ°Ñ…",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "ĞĞ½Ñ†Ğ³Ğ¾Ğ¹ Ñ‚ÑĞ¼Ğ´ÑĞ³Ñ‚ ÑĞ¾Ğ½Ğ³Ğ¾Ñ…",
+
+// Table Dialog
+DlgTableTitle		: "Ğ¥Ò¯ÑĞ½ÑĞ³Ñ‚",
+DlgTableRows		: "ĞœÓ©Ñ€",
+DlgTableColumns		: "Ğ‘Ğ°Ğ³Ğ°Ğ½Ğ°",
+DlgTableBorder		: "Ğ¥Ò¯Ñ€ÑÑĞ½Ğ¸Ğ¹ Ñ…ÑĞ¼Ğ¶ÑÑ",
+DlgTableAlign		: "Ğ­Ğ³Ğ½ÑÑ",
+DlgTableAlignNotSet	: "<ĞĞ½Ğ¾Ğ¾Ñ…Ğ³Ò¯Ğ¹>",
+DlgTableAlignLeft	: "Ğ—Ò¯Ò¯Ğ½ Ñ‚Ğ°Ğ»Ğ´",
+DlgTableAlignCenter	: "Ğ¢Ó©Ğ²Ğ´",
+DlgTableAlignRight	: "Ğ‘Ğ°Ñ€ÑƒÑƒĞ½ Ñ‚Ğ°Ğ»Ğ´",
+DlgTableWidth		: "Ó¨Ñ€Ğ³Ó©Ğ½",
+DlgTableWidthPx		: "Ñ†ÑĞ³",
+DlgTableWidthPc		: "Ñ…ÑƒĞ²ÑŒ",
+DlgTableHeight		: "Ó¨Ğ½Ğ´Ó©Ñ€",
+DlgTableCellSpace	: "ĞÒ¯Ñ… Ñ…Ğ¾Ğ¾Ñ€Ğ¾Ğ½Ğ´Ñ‹Ğ½ Ğ·Ğ°Ğ¹ (spacing)",
+DlgTableCellPad		: "ĞÒ¯Ñ… Ğ´Ğ¾Ñ‚Ğ¾Ñ€Ğ»Ğ¾Ñ…(padding)",
+DlgTableCaption		: "Ğ¢Ğ°Ğ¹Ğ»Ğ±Ğ°Ñ€",
+DlgTableSummary		: "Ğ¢Ğ°Ğ¹Ğ»Ğ±Ğ°Ñ€",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "Ğ¥Ğ¾Ğ¾ÑĞ¾Ğ½ Ğ·Ğ°Ğ¹Ğ½ ÑˆĞ¸Ğ½Ğ¶ Ñ‡Ğ°Ğ½Ğ°Ñ€",
+DlgCellWidth		: "Ó¨Ñ€Ğ³Ó©Ğ½",
+DlgCellWidthPx		: "Ñ†ÑĞ³",
+DlgCellWidthPc		: "Ñ…ÑƒĞ²ÑŒ",
+DlgCellHeight		: "Ó¨Ğ½Ğ´Ó©Ñ€",
+DlgCellWordWrap		: "Ò®Ğ³ Ñ‚Ğ°ÑĞ»Ğ°Ñ…",
+DlgCellWordWrapNotSet	: "<ĞĞ½Ğ¾Ğ¾Ñ…Ğ³Ò¯Ğ¹>",
+DlgCellWordWrapYes	: "Ğ¢Ğ¸Ğ¹Ğ¼",
+DlgCellWordWrapNo	: "Ò®Ğ³Ò¯Ğ¹",
+DlgCellHorAlign		: "Ğ‘Ğ¾ÑĞ¾Ğ¾ ÑĞ³Ğ½ÑÑ",
+DlgCellHorAlignNotSet	: "<ĞĞ½Ğ¾Ğ¾Ñ…Ğ³Ò¯Ğ¹>",
+DlgCellHorAlignLeft	: "Ğ—Ò¯Ò¯Ğ½",
+DlgCellHorAlignCenter	: "Ğ¢Ó©Ğ²",
+DlgCellHorAlignRight: "Ğ‘Ğ°Ñ€ÑƒÑƒĞ½",
+DlgCellVerAlign		: "Ğ¥Ó©Ğ½Ğ´Ğ»Ó©Ğ½ ÑĞ³Ğ½ÑÑ",
+DlgCellVerAlignNotSet	: "<ĞĞ½Ğ¾Ğ¾Ñ…Ğ³Ò¯Ğ¹>",
+DlgCellVerAlignTop	: "Ğ”ÑÑĞ´ Ñ‚Ğ°Ğ»",
+DlgCellVerAlignMiddle	: "Ğ”ÑƒĞ½Ğ´",
+DlgCellVerAlignBottom	: "Ğ”Ğ¾Ğ¾Ğ´ Ñ‚Ğ°Ğ»",
+DlgCellVerAlignBaseline	: "Baseline",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "ĞĞ¸Ğ¹Ñ‚ Ğ¼Ó©Ñ€ (span)",
+DlgCellCollSpan		: "ĞĞ¸Ğ¹Ñ‚ Ğ±Ğ°Ğ³Ğ°Ğ½Ğ° (span)",
+DlgCellBackColor	: "Ğ¤Ğ¾Ğ½Ğ½Ñ‹ Ó©Ğ½Ğ³Ó©",
+DlgCellBorderColor	: "Ğ¥Ò¯Ñ€ÑÑĞ½Ğ¸Ğ¹ Ó©Ğ½Ğ³Ó©",
+DlgCellBtnSelect	: "Ğ¡Ğ¾Ğ½Ğ³Ğ¾...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Ğ¥Ğ°Ğ¹ Ğ¼Ó©Ğ½ Ğ”Ğ°Ñ€Ğ¶ Ğ±Ğ¸Ñ‡",
+
+// Find Dialog
+DlgFindTitle		: "Ğ¥Ğ°Ğ¹Ñ…",
+DlgFindFindBtn		: "Ğ¥Ğ°Ğ¹Ñ…",
+DlgFindNotFoundMsg	: "Ğ¥Ğ°Ğ¹ÑĞ°Ğ½ Ñ‚ĞµĞºÑÑ‚ Ğ¾Ğ»ÑĞ¾Ğ½Ğ³Ò¯Ğ¹.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Ğ¡Ğ¾Ğ»Ğ¸Ñ…",
+DlgReplaceFindLbl		: "Ğ¥Ğ°Ğ¹Ñ… Ò¯Ğ³/Ò¯ÑÑĞ³:",
+DlgReplaceReplaceLbl	: "Ğ¡Ğ¾Ğ»Ğ¸Ñ… Ò¯Ğ³:",
+DlgReplaceCaseChk		: "Ğ¢ÑĞ½Ñ†ÑÑ… Ñ‚Ó©Ğ»Ó©Ğ²",
+DlgReplaceReplaceBtn	: "Ğ¡Ğ¾Ğ»Ğ¸Ñ…",
+DlgReplaceReplAllBtn	: "Ğ‘Ò¯Ğ³Ğ´Ğ¸Ğ¹Ğ³ Ğ½ÑŒ Ğ¡Ğ¾Ğ»Ğ¸Ñ…",
+DlgReplaceWordChk		: "Ğ¢ÑĞ½Ñ†ÑÑ… Ğ±Ò¯Ñ‚ÑĞ½ Ò¯Ğ³",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "Ğ¢Ğ°Ğ½Ñ‹ browser-Ñ‹Ğ½ Ñ…Ğ°Ğ¼Ğ³Ğ°Ğ°Ğ»Ğ°Ğ»Ñ‚Ñ‹Ğ½ Ñ‚Ğ¾Ñ…Ğ¸Ñ€Ğ³Ğ¾Ğ¾ editor-Ğ´ Ğ°Ğ²Ñ‚Ğ¾Ğ¼Ğ°Ñ‚Ğ°Ğ°Ñ€ Ñ…Ğ°Ğ¹Ñ‡Ğ»Ğ°Ñ… Ò¯Ğ¹Ğ»Ğ´ÑĞ»Ğ¸Ğ¹Ğ³ Ğ·Ó©Ğ²ÑˆÓ©Ó©Ñ€Ó©Ñ…Ğ³Ò¯Ğ¹ Ğ±Ğ°Ğ¹Ğ½Ğ°. (Ctrl+X) Ñ‚Ğ¾Ğ²Ñ‡Ğ½Ñ‹ Ñ…Ğ¾ÑĞ»Ğ¾Ğ»Ñ‹Ğ³ Ğ°ÑˆĞ¸Ğ³Ğ»Ğ°Ğ½Ğ° ÑƒÑƒ.",
+PasteErrorCopy	: "Ğ¢Ğ°Ğ½Ñ‹ browser-Ñ‹Ğ½ Ñ…Ğ°Ğ¼Ğ³Ğ°Ğ°Ğ»Ğ°Ğ»Ñ‚Ñ‹Ğ½ Ñ‚Ğ¾Ñ…Ğ¸Ñ€Ğ³Ğ¾Ğ¾ editor-Ğ´ Ğ°Ğ²Ñ‚Ğ¾Ğ¼Ğ°Ñ‚Ğ°Ğ°Ñ€ Ñ…ÑƒÑƒĞ»Ğ°Ñ… Ò¯Ğ¹Ğ»Ğ´ÑĞ»Ğ¸Ğ¹Ğ³ Ğ·Ó©Ğ²ÑˆÓ©Ó©Ñ€Ó©Ñ…Ğ³Ò¯Ğ¹ Ğ±Ğ°Ğ¹Ğ½Ğ°. (Ctrl+C) Ñ‚Ğ¾Ğ²Ñ‡Ğ½Ñ‹ Ñ…Ğ¾ÑĞ»Ğ¾Ğ»Ñ‹Ğ³ Ğ°ÑˆĞ¸Ğ³Ğ»Ğ°Ğ½Ğ° ÑƒÑƒ.",
+
+PasteAsText		: "Plain Text-ÑÑÑ Ğ±ÑƒÑƒĞ»Ğ³Ğ°Ñ…",
+PasteFromWord	: "Word-Ğ¾Ğ¾Ñ Ğ±ÑƒÑƒĞ»Ğ³Ğ°Ñ…",
+
+DlgPasteMsg2	: "(<strong>Ctrl+V</strong>) Ñ‚Ğ¾Ğ²Ñ‡Ğ¸Ğ¹Ğ³ Ğ°ÑˆĞ¸Ğ³Ğ»Ğ°Ğ½ paste Ñ…Ğ¸Ğ¹Ğ½Ñ Ò¯Ò¯. ĞœÓ©Ğ½ <strong>OK</strong> Ğ´Ğ°Ñ€.",
+DlgPasteSec		: "Ğ¢Ğ°Ğ½Ñ‹ Ò¯Ğ·Ò¯Ò¯Ğ»ÑĞ³Ñ‡/browser/-Ğ½ Ñ…Ğ°Ğ¼Ğ³Ğ°Ğ°Ğ»Ğ°Ğ»Ñ‚Ñ‹Ğ½ Ñ‚Ğ¾Ñ…Ğ¸Ñ€Ğ³Ğ¾Ğ¾Ğ½Ğ¾Ğ¾Ñ Ğ±Ğ¾Ğ»Ğ¾Ğ¾Ğ´ editor clipboard Ó©Ğ³Ó©Ğ³Ğ´Ó©Ğ»Ñ€Ò¯Ò¯ ÑˆÑƒÑƒĞ´ Ñ…Ğ°Ğ½Ğ´Ğ°Ñ… Ğ±Ğ¾Ğ»Ğ¾Ğ¼Ğ¶Ğ³Ò¯Ğ¹. Ğ­Ğ½Ñ Ñ†Ğ¾Ğ½Ñ…Ğ¾Ğ´ Ğ´Ğ°Ñ…Ğ¸Ğ½ paste Ñ…Ğ¸Ğ¹Ñ…Ğ¸Ğ¹Ğ³ Ğ¾Ñ€Ğ¾Ğ»Ğ´.",
+DlgPasteIgnoreFont		: "Ğ¢Ğ¾Ğ´Ğ¾Ñ€Ñ…Ğ¾Ğ¹Ğ»Ğ¾Ğ³Ğ´ÑĞ¾Ğ½ Font Face Ğ·Ó©Ğ²ÑˆÓ©Ó©Ñ€Ğ½Ó©",
+DlgPasteRemoveStyles	: "Ğ¢Ğ¾Ğ´Ğ¾Ñ€Ñ…Ğ¾Ğ¹Ğ»Ğ¾Ğ³Ğ´ÑĞ¾Ğ½ Ğ·Ğ°Ğ³Ğ²Ğ°Ñ€Ñ‹Ğ³ Ğ°Ğ²Ğ°Ñ…",
+
+// Color Picker
+ColorAutomatic	: "ĞĞ²Ñ‚Ğ¾Ğ¼Ğ°Ñ‚Ğ°Ğ°Ñ€",
+ColorMoreColors	: "ĞÑĞ¼ÑĞ»Ñ‚ Ó©Ğ½Ğ³Ó©Ğ½Ò¯Ò¯Ğ´...",
+
+// Document Properties
+DocProps		: "Ğ‘Ğ°Ñ€Ğ¸Ğ¼Ñ‚ Ğ±Ğ¸Ñ‡Ğ¸Ğ³ ÑˆĞ¸Ğ½Ğ¶ Ñ‡Ğ°Ğ½Ğ°Ñ€",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Ğ¥Ğ¾Ğ»Ğ±Ğ¾Ğ¾Ñ ÑˆĞ¸Ğ½Ğ¶ Ñ‡Ğ°Ğ½Ğ°Ñ€",
+DlgAnchorName		: "Ğ¥Ğ¾Ğ»Ğ±Ğ¾Ğ¾Ñ Ğ½ÑÑ€",
+DlgAnchorErrorName	: "Ğ¥Ğ¾Ğ»Ğ±Ğ¾Ğ¾Ñ Ñ‚Ó©Ñ€Ó©Ğ» Ğ¾Ñ€ÑƒÑƒĞ»Ğ½Ğ° ÑƒÑƒ",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Ğ¢Ğ¾Ğ»ÑŒ Ğ±Ğ¸Ñ‡Ğ¸Ğ³Ğ³Ò¯Ğ¹",
+DlgSpellChangeTo		: "Ó¨Ó©Ñ€Ñ‡Ğ»Ó©Ñ…",
+DlgSpellBtnIgnore		: "Ğ—Ó©Ğ²ÑˆÓ©Ó©Ñ€Ó©Ñ…",
+DlgSpellBtnIgnoreAll	: "Ğ‘Ò¯Ğ³Ğ´Ğ¸Ğ¹Ğ³ Ğ·Ó©Ğ²ÑˆÓ©Ó©Ñ€Ó©Ñ…",
+DlgSpellBtnReplace		: "Ğ”Ğ°Ñ€Ğ¶ Ğ±Ğ¸Ñ‡Ğ¸Ñ…",
+DlgSpellBtnReplaceAll	: "Ğ‘Ò¯Ğ³Ğ´Ğ¸Ğ¹Ğ³ Ğ”Ğ°Ñ€Ğ¶ Ğ±Ğ¸Ñ‡Ğ¸Ñ…",
+DlgSpellBtnUndo			: "Ğ‘ÑƒÑ†Ğ°Ğ°Ñ…",
+DlgSpellNoSuggestions	: "- Ğ¢Ğ°Ğ¹Ğ»Ğ±Ğ°Ñ€Ğ³Ò¯Ğ¹ -",
+DlgSpellProgress		: "Ğ”Ò¯Ñ€ÑĞ¼ ÑˆĞ°Ğ»Ğ³Ğ°Ğ¶ Ğ±Ğ°Ğ¹Ğ³Ğ°Ğ° Ò¯Ğ¹Ğ» ÑĞ²Ñ†...",
+DlgSpellNoMispell		: "Ğ”Ò¯Ñ€ÑĞ¼ ÑˆĞ°Ğ»Ğ³Ğ°Ğ°Ğ´ Ğ´ÑƒÑƒÑÑĞ°Ğ½: ĞĞ»Ğ´Ğ°Ğ° Ğ¾Ğ»Ğ´ÑĞ¾Ğ½Ğ³Ò¯Ğ¹",
+DlgSpellNoChanges		: "Ğ”Ò¯Ñ€ÑĞ¼ ÑˆĞ°Ğ»Ğ³Ğ°Ğ°Ğ´ Ğ´ÑƒÑƒÑÑĞ°Ğ½: Ò¯Ğ³ Ó©Ó©Ñ€Ñ‡Ğ»Ó©Ğ³Ğ´Ó©Ó©Ğ³Ò¯Ğ¹",
+DlgSpellOneChange		: "Ğ”Ò¯Ñ€ÑĞ¼ ÑˆĞ°Ğ»Ğ³Ğ°Ğ°Ğ´ Ğ´ÑƒÑƒÑÑĞ°Ğ½: 1 Ò¯Ğ³ Ó©Ó©Ñ€Ñ‡Ğ»Ó©Ğ³Ğ´ÑÓ©Ğ½",
+DlgSpellManyChanges		: "Ğ”Ò¯Ñ€ÑĞ¼ ÑˆĞ°Ğ»Ğ³Ğ°Ğ°Ğ´ Ğ´ÑƒÑƒÑÑĞ°Ğ½: %1 Ò¯Ğ³ Ó©Ó©Ñ€Ñ‡Ğ»Ó©Ğ³Ğ´ÑÓ©Ğ½",
+
+IeSpellDownload			: "Ğ”Ò¯Ñ€ÑĞ¼ ÑˆĞ°Ğ»Ğ³Ğ°Ğ³Ñ‡ ÑÑƒÑƒĞ³Ğ°Ğ°Ğ³Ò¯Ğ¹ Ğ±Ğ°Ğ¹Ğ½Ğ°. Ğ¢Ğ°Ñ‚Ğ°Ğ¶ Ğ°Ğ²Ğ°Ñ…Ñ‹Ğ³ Ñ…Ò¯ÑÑ‡ Ğ±Ğ°Ğ¹Ğ½Ğ° ÑƒÑƒ?",
+
+// Button Dialog
+DlgButtonText		: "Ğ¢ÑĞºÑÑ‚ (Ğ£Ñ‚Ğ³Ğ°)",
+DlgButtonType		: "Ğ¢Ó©Ñ€Ó©Ğ»",
+DlgButtonTypeBtn	: "Ğ¢Ğ¾Ğ²Ñ‡",
+DlgButtonTypeSbm	: "Submit",
+DlgButtonTypeRst	: "Ğ‘Ğ¾Ğ»Ğ¸Ñ…",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "ĞÑÑ€",
+DlgCheckboxValue	: "Ğ£Ñ‚Ğ³Ğ°",
+DlgCheckboxSelected	: "Ğ¡Ğ¾Ğ½Ğ³Ğ¾Ğ³Ğ´ÑĞ¾Ğ½",
+
+// Form Dialog
+DlgFormName		: "ĞÑÑ€",
+DlgFormAction	: "Ò®Ğ¹Ğ»Ğ´ÑĞ»",
+DlgFormMethod	: "ĞÑ€Ğ³Ğ°",
+
+// Select Field Dialog
+DlgSelectName		: "ĞÑÑ€",
+DlgSelectValue		: "Ğ£Ñ‚Ğ³Ğ°",
+DlgSelectSize		: "Ğ¥ÑĞ¼Ğ¶ÑÑ",
+DlgSelectLines		: "ĞœÓ©Ñ€",
+DlgSelectChkMulti	: "ĞĞ»Ğ¾Ğ½ ÑĞ¾Ğ½Ğ³Ğ¾Ğ»Ñ‚ Ğ·Ó©Ğ²ÑˆÓ©Ó©Ñ€Ó©Ñ…",
+DlgSelectOpAvail	: "Ğ˜Ğ´Ğ²ÑÑ…Ñ‚ÑĞ¹ ÑĞ¾Ğ½Ğ³Ğ¾Ğ»Ñ‚",
+DlgSelectOpText		: "Ğ¢ÑĞºÑÑ‚",
+DlgSelectOpValue	: "Ğ£Ñ‚Ğ³Ğ°",
+DlgSelectBtnAdd		: "ĞÑĞ¼ÑÑ…",
+DlgSelectBtnModify	: "Ó¨Ó©Ñ€Ñ‡Ğ»Ó©Ñ…",
+DlgSelectBtnUp		: "Ğ”ÑÑÑˆ",
+DlgSelectBtnDown	: "Ğ”Ğ¾Ğ¾Ñˆ",
+DlgSelectBtnSetValue : "Ğ¡Ğ¾Ğ½Ğ³Ğ¾Ğ³Ğ´ÑĞ°Ğ½ ÑƒÑ‚Ğ³Ğ° Ğ¾Ğ½Ğ¾Ğ¾Ñ…",
+DlgSelectBtnDelete	: "Ğ£ÑÑ‚Ğ³Ğ°Ñ…",
+
+// Textarea Dialog
+DlgTextareaName	: "ĞÑÑ€",
+DlgTextareaCols	: "Ğ‘Ğ°Ğ³Ğ°Ğ½Ğ°",
+DlgTextareaRows	: "ĞœÓ©Ñ€",
+
+// Text Field Dialog
+DlgTextName			: "ĞÑÑ€",
+DlgTextValue		: "Ğ£Ñ‚Ğ³Ğ°",
+DlgTextCharWidth	: "Ğ¢ÑĞ¼Ğ´ÑĞ³Ñ‚Ñ‹Ğ½ Ó©Ñ€Ğ³Ó©Ğ½",
+DlgTextMaxChars		: "Ğ¥Ğ°Ğ¼Ğ³Ğ¸Ğ¹Ğ½ Ğ¸Ñ… Ñ‚ÑĞ¼Ğ´ÑĞ³Ñ‚",
+DlgTextType			: "Ğ¢Ó©Ñ€Ó©Ğ»",
+DlgTextTypeText		: "Ğ¢ĞµĞºÑÑ‚",
+DlgTextTypePass		: "ĞÑƒÑƒÑ† Ò¯Ğ³",
+
+// Hidden Field Dialog
+DlgHiddenName	: "ĞÑÑ€",
+DlgHiddenValue	: "Ğ£Ñ‚Ğ³Ğ°",
+
+// Bulleted List Dialog
+BulletedListProp	: "Bulleted Ğ¶Ğ°Ğ³ÑĞ°Ğ°Ğ»Ñ‹Ğ½ ÑˆĞ¸Ğ½Ğ¶ Ñ‡Ğ°Ğ½Ğ°Ñ€",
+NumberedListProp	: "Ğ”ÑƒĞ³Ğ°Ğ°Ñ€Ğ»Ğ°ÑĞ°Ğ½ Ğ¶Ğ°Ğ³ÑĞ°Ğ°Ğ»Ñ‹Ğ½ ÑˆĞ¸Ğ½Ğ¶ Ñ‡Ğ°Ğ½Ğ°Ñ€",
+DlgLstStart			: "Ğ­Ñ…Ğ»ÑÑ…",
+DlgLstType			: "Ğ¢Ó©Ñ€Ó©Ğ»",
+DlgLstTypeCircle	: "Ğ¢Ğ¾Ğ¹Ñ€Ğ¾Ğ³",
+DlgLstTypeDisc		: "Ğ¢Ğ°Ğ¹Ğ»Ğ±Ğ°Ñ€",
+DlgLstTypeSquare	: "Square",
+DlgLstTypeNumbers	: "Ğ¢Ğ¾Ğ¾ (1, 2, 3)",
+DlgLstTypeLCase		: "Ğ–Ğ¸Ğ¶Ğ¸Ğ³ Ò¯ÑÑĞ³ (a, b, c)",
+DlgLstTypeUCase		: "Ğ¢Ğ¾Ğ¼ Ò¯ÑÑĞ³ (A, B, C)",
+DlgLstTypeSRoman	: "Ğ–Ğ¸Ğ¶Ğ¸Ğ³ Ğ Ğ¾Ğ¼ Ñ‚Ğ¾Ğ¾ (i, ii, iii)",
+DlgLstTypeLRoman	: "Ğ¢Ğ¾Ğ¼ Ğ Ğ¾Ğ¼ Ñ‚Ğ¾Ğ¾ (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Ğ•Ñ€Ó©Ğ½Ñ…Ğ¸Ğ¹",
+DlgDocBackTab		: "Ğ¤Ğ¾Ğ½Ğ¾",
+DlgDocColorsTab		: "Ğ—Ğ°Ñ…Ñ‹Ğ½ Ğ·Ğ°Ğ¹ Ğ±Ğ° Ó¨Ğ½Ğ³Ó©",
+DlgDocMetaTab		: "Meta Ó©Ğ³Ó©Ğ³Ğ´Ó©Ğ»",
+
+DlgDocPageTitle		: "Ğ¥ÑƒÑƒĞ´Ğ°ÑĞ½Ñ‹ Ğ³Ğ°Ñ€Ñ‡Ğ¸Ğ³",
+DlgDocLangDir		: "Ğ¥ÑĞ»Ğ½Ğ¸Ğ¹ Ñ‡Ğ¸Ğ³Ğ»ÑĞ»",
+DlgDocLangDirLTR	: "Ğ—Ò¯Ò¯Ğ½ÑÑÑ Ğ±Ğ°Ñ€ÑƒÑƒĞ½Ñ€ÑƒÑƒ (LTR)",
+DlgDocLangDirRTL	: "Ğ‘Ğ°Ñ€ÑƒÑƒĞ½Ğ°Ğ°Ñ Ğ·Ò¯Ò¯Ğ½Ñ€Ò¯Ò¯ (RTL)",
+DlgDocLangCode		: "Ğ¥ÑĞ»Ğ½Ğ¸Ğ¹ ĞºĞ¾Ğ´",
+DlgDocCharSet		: "Encoding Ñ‚ÑĞ¼Ğ´ÑĞ³Ñ‚",
+DlgDocCharSetCE		: "Ğ¢Ó©Ğ² ĞµĞ²Ñ€Ğ¾Ğ¿",
+DlgDocCharSetCT		: "Ğ¥ÑÑ‚Ğ°Ğ´Ñ‹Ğ½ ÑƒĞ»Ğ°Ğ¼Ğ¶Ğ»Ğ°Ğ»Ñ‚ (Big5)",
+DlgDocCharSetCR		: "ĞšÑ€Ğ¸Ğ»",
+DlgDocCharSetGR		: "Ğ“Ñ€ĞµĞ´",
+DlgDocCharSetJP		: "Ğ¯Ğ¿Ğ¾Ğ½",
+DlgDocCharSetKR		: "Ğ¡Ğ¾Ğ»Ğ¾Ğ½Ğ³Ğ¾Ñ",
+DlgDocCharSetTR		: "TÑƒÑ€Ğº",
+DlgDocCharSetUN		: "Ğ®Ğ½Ğ¸ĞºĞ¾Ğ´ (UTF-8)",
+DlgDocCharSetWE		: "Ğ‘Ğ°Ñ€ÑƒÑƒĞ½ ĞµĞ²Ñ€Ğ¾Ğ¿",
+DlgDocCharSetOther	: "Encoding-Ğ´ Ó©Ó©Ñ€ Ñ‚ÑĞ¼Ğ´ÑĞ³Ñ‚ Ğ¾Ğ½Ğ¾Ğ¾Ñ…",
+
+DlgDocDocType		: "Ğ‘Ğ°Ñ€Ğ¸Ğ¼Ñ‚ Ğ±Ğ¸Ñ‡Ğ³Ğ¸Ğ¹Ğ½ Ñ‚Ó©Ñ€Ó©Ğ» Heading",
+DlgDocDocTypeOther	: "Ğ‘ÑƒÑĞ°Ğ´ Ğ±Ğ°Ñ€Ğ¸Ğ¼Ñ‚ Ğ±Ğ¸Ñ‡Ğ³Ğ¸Ğ¹Ğ½ Ñ‚Ó©Ñ€Ó©Ğ» Heading",
+DlgDocIncXHTML		: "XHTML Ğ°Ğ³ÑƒÑƒĞ»Ğ¶ Ğ·Ğ°Ñ€Ğ»Ğ°Ñ…",
+DlgDocBgColor		: "Ğ¤Ğ¾Ğ½Ğ¾ Ó©Ğ½Ğ³Ó©",
+DlgDocBgImage		: "Ğ¤Ğ¾Ğ½Ğ¾ Ğ·ÑƒÑ€Ğ°Ğ³Ğ½Ñ‹ URL",
+DlgDocBgNoScroll	: "Ğ“Ò¯Ğ¹Ğ´ÑĞ³Ğ³Ò¯Ğ¹ Ñ„Ğ¾Ğ½Ğ¾",
+DlgDocCText			: "Ğ¢ĞµĞºÑÑ‚",
+DlgDocCLink			: "Ğ›Ğ¸Ğ½Ğº",
+DlgDocCVisited		: "Ğ—Ğ¾Ñ‡Ğ¸Ğ»ÑĞ¾Ğ½ Ğ»Ğ¸Ğ½Ğº",
+DlgDocCActive		: "Ğ˜Ğ´Ğ²ÑÑ…Ğ¸Ñ‚ÑĞ¹ Ğ»Ğ¸Ğ½Ğº",
+DlgDocMargins		: "Ğ¥ÑƒÑƒĞ´Ğ°ÑĞ½Ñ‹ Ğ·Ğ°Ñ…Ñ‹Ğ½ Ğ·Ğ°Ğ¹",
+DlgDocMaTop			: "Ğ”ÑÑĞ´ Ñ‚Ğ°Ğ»",
+DlgDocMaLeft		: "Ğ—Ò¯Ò¯Ğ½ Ñ‚Ğ°Ğ»",
+DlgDocMaRight		: "Ğ‘Ğ°Ñ€ÑƒÑƒĞ½ Ñ‚Ğ°Ğ»",
+DlgDocMaBottom		: "Ğ”Ğ¾Ğ¾Ğ´ Ñ‚Ğ°Ğ»",
+DlgDocMeIndex		: "Ğ‘Ğ°Ñ€Ğ¸Ğ¼Ñ‚ Ğ±Ğ¸Ñ‡Ğ³Ğ¸Ğ¹Ğ½ Ğ¸Ğ½Ğ´ĞµĞºÑ Ñ‚Ò¯Ğ»Ñ…Ò¯Ò¯Ñ€ Ò¯Ğ³ (Ñ‚Ğ°ÑĞ»Ğ°Ğ»Ğ°Ğ°Ñ€ Ñ‚ÑƒÑĞ³Ğ°Ğ°Ñ€Ğ»Ğ°Ğ³Ğ´Ğ°Ğ½Ğ°)",
+DlgDocMeDescr		: "Ğ‘Ğ°Ñ€Ğ¸Ğ¼Ñ‚ Ğ±Ğ¸Ñ‡Ğ³Ğ¸Ğ¹Ğ½ Ñ‚Ğ°Ğ¹Ğ»Ğ±Ğ°Ñ€",
+DlgDocMeAuthor		: "Ğ—Ğ¾Ñ…Ğ¸Ğ¾Ğ³Ñ‡",
+DlgDocMeCopy		: "Ğ—Ğ¾Ñ…Ğ¸Ğ¾Ğ³Ñ‡Ğ¸Ğ¹Ğ½ ÑÑ€Ñ…",
+DlgDocPreview		: "Ğ¥Ğ°Ñ€Ğ°Ñ…",
+
+// Templates Dialog
+Templates			: "Ğ—Ğ°Ğ³Ğ²Ğ°Ñ€ÑƒÑƒĞ´",
+DlgTemplatesTitle	: "Ğ—Ğ°Ğ³Ğ²Ğ°Ñ€Ñ‹Ğ½ Ğ°Ğ³ÑƒÑƒĞ»Ğ³Ğ°",
+DlgTemplatesSelMsg	: "Ğ—Ğ°Ğ³Ğ²Ğ°Ñ€Ñ‹Ğ³ Ğ½ÑÑĞ¶ editor-Ñ€Ò¯Ò¯ ÑĞ¾Ğ½Ğ³Ğ¾Ğ¶ Ğ¾Ñ€ÑƒÑƒĞ»Ğ½Ğ° ÑƒÑƒ<br />(ĞĞ´Ğ¾Ğ¾Ğ³Ğ¸Ğ¹Ğ½ Ğ°Ğ³ÑƒÑƒĞ»Ğ»Ğ°Ğ³Ñ‹Ğ³ ÑƒÑÑ‚Ğ°Ğ¶ Ğ¼Ğ°Ğ³Ğ°Ğ´Ğ³Ò¯Ğ¹):",
+DlgTemplatesLoading	: "Ğ—Ğ°Ğ³Ğ²Ğ°Ñ€ÑƒÑƒĞ´Ñ‹Ğ³ Ğ°Ñ‡Ğ°Ğ°Ğ»Ğ»Ğ°Ğ¶ Ğ±Ğ°Ğ¹Ğ½Ğ°. Ğ¢Ò¯Ñ€ Ñ…Ò¯Ğ»ÑÑĞ½Ñ Ò¯Ò¯...",
+DlgTemplatesNoTpl	: "(Ğ—Ğ°Ğ³Ğ²Ğ°Ñ€ Ñ‚Ğ¾Ğ´Ğ¾Ñ€Ñ…Ğ¾Ğ¹Ğ»Ğ¾Ğ³Ğ´Ğ¾Ğ¾Ğ³Ò¯Ğ¹ Ğ±Ğ°Ğ¹Ğ½Ğ°)",
+DlgTemplatesReplace	: "ĞĞ´Ğ¾Ğ¾Ğ³Ğ¸Ğ¹Ğ½ Ğ°Ğ³ÑƒÑƒĞ»Ğ»Ğ°Ğ³Ñ‹Ğ³ Ğ´Ğ°Ñ€Ğ¶ Ğ±Ğ¸Ñ‡Ğ¸Ñ…",
+
+// About Dialog
+DlgAboutAboutTab	: "Ğ¢ÑƒÑ…Ğ°Ğ¹",
+DlgAboutBrowserInfoTab	: "ĞœÑĞ´ÑÑĞ»ÑĞ» Ò¯Ğ·Ò¯Ò¯Ğ»ÑĞ³Ñ‡",
+DlgAboutLicenseTab	: "Ğ›Ğ¸Ñ†ĞµĞ½Ğ·",
+DlgAboutVersion		: "Ğ¥ÑƒĞ²Ğ¸Ğ»Ğ±Ğ°Ñ€",
+DlgAboutInfo		: "ĞœÑĞ´ÑÑĞ»Ğ»ÑÑÑ€ Ñ‚ÑƒÑĞ»Ğ°Ñ…",
+
+// Div Dialog
+DlgDivGeneralTab	: "General",	//MISSING
+DlgDivAdvancedTab	: "Advanced",	//MISSING
+DlgDivStyle		: "Style",	//MISSING
+DlgDivInlineStyle	: "Inline Style",	//MISSING
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/pl.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/pl.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/pl.js	(revision 1481)
@@ -0,0 +1,540 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Polish language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "ZwiÅ„ pasek narzÄ™dzi",
+ToolbarExpand		: "RozwiÅ„ pasek narzÄ™dzi",
+
+// Toolbar Items and Context Menu
+Save				: "Zapisz",
+NewPage				: "Nowa strona",
+Preview				: "PodglÄ…d",
+Cut					: "Wytnij",
+Copy				: "Kopiuj",
+Paste				: "Wklej",
+PasteText			: "Wklej jako czysty tekst",
+PasteWord			: "Wklej z Worda",
+Print				: "Drukuj",
+SelectAll			: "Zaznacz wszystko",
+RemoveFormat		: "UsuÅ„ formatowanie",
+InsertLinkLbl		: "HiperÅ‚Ä…cze",
+InsertLink			: "Wstaw/edytuj hiperÅ‚Ä…cze",
+RemoveLink			: "UsuÅ„ hiperÅ‚Ä…cze",
+VisitLink			: "Open Link",	//MISSING
+Anchor				: "Wstaw/edytuj kotwicÄ™",
+AnchorDelete		: "UsuÅ„ kotwicÄ™",
+InsertImageLbl		: "Obrazek",
+InsertImage			: "Wstaw/edytuj obrazek",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Dodaj/Edytuj element Flash",
+InsertTableLbl		: "Tabela",
+InsertTable			: "Wstaw/edytuj tabelÄ™",
+InsertLineLbl		: "Linia pozioma",
+InsertLine			: "Wstaw poziomÄ… liniÄ™",
+InsertSpecialCharLbl: "Znak specjalny",
+InsertSpecialChar	: "Wstaw znak specjalny",
+InsertSmileyLbl		: "Emotikona",
+InsertSmiley		: "Wstaw emotikonÄ™",
+About				: "O programie FCKeditor",
+Bold				: "Pogrubienie",
+Italic				: "Kursywa",
+Underline			: "PodkreÅ›lenie",
+StrikeThrough		: "PrzekreÅ›lenie",
+Subscript			: "Indeks dolny",
+Superscript			: "Indeks gÃ³rny",
+LeftJustify			: "WyrÃ³wnaj do lewej",
+CenterJustify		: "WyrÃ³wnaj do Å›rodka",
+RightJustify		: "WyrÃ³wnaj do prawej",
+BlockJustify		: "WyrÃ³wnaj do lewej i prawej",
+DecreaseIndent		: "Zmniejsz wciÄ™cie",
+IncreaseIndent		: "ZwiÄ™ksz wciÄ™cie",
+Blockquote			: "Cytat",
+CreateDiv			: "Create Div Container",	//MISSING
+EditDiv				: "Edit Div Container",	//MISSING
+DeleteDiv			: "Remove Div Container",	//MISSING
+Undo				: "Cofnij",
+Redo				: "PonÃ³w",
+NumberedListLbl		: "Lista numerowana",
+NumberedList		: "Wstaw/usuÅ„ numerowanie listy",
+BulletedListLbl		: "Lista wypunktowana",
+BulletedList		: "Wstaw/usuÅ„ wypunktowanie listy",
+ShowTableBorders	: "Pokazuj ramkÄ™ tabeli",
+ShowDetails			: "PokaÅ¼ szczegÃ³Å‚y",
+Style				: "Styl",
+FontFormat			: "Format",
+Font				: "Czcionka",
+FontSize			: "Rozmiar",
+TextColor			: "Kolor tekstu",
+BGColor				: "Kolor tÅ‚a",
+Source				: "Å¹rÃ³dÅ‚o dokumentu",
+Find				: "ZnajdÅº",
+Replace				: "ZamieÅ„",
+SpellCheck			: "SprawdÅº pisowniÄ™",
+UniversalKeyboard	: "Klawiatura Uniwersalna",
+PageBreakLbl		: "OdstÄ™p",
+PageBreak			: "Wstaw odstÄ™p",
+
+Form			: "Formularz",
+Checkbox		: "Pole wyboru (checkbox)",
+RadioButton		: "Pole wyboru (radio)",
+TextField		: "Pole tekstowe",
+Textarea		: "Obszar tekstowy",
+HiddenField		: "Pole ukryte",
+Button			: "Przycisk",
+SelectionField	: "Lista wyboru",
+ImageButton		: "Przycisk-obrazek",
+
+FitWindow		: "Maksymalizuj rozmiar edytora",
+ShowBlocks		: "PokaÅ¼ bloki",
+
+// Context Menu
+EditLink			: "Edytuj hiperÅ‚Ä…cze",
+CellCM				: "KomÃ³rka",
+RowCM				: "Wiersz",
+ColumnCM			: "Kolumna",
+InsertRowAfter		: "Wstaw wiersz poniÅ¼ej",
+InsertRowBefore		: "Wstaw wiersz powyÅ¼ej",
+DeleteRows			: "UsuÅ„ wiersze",
+InsertColumnAfter	: "Wstaw kolumnÄ™ z prawej",
+InsertColumnBefore	: "Wstaw kolumnÄ™ z lewej",
+DeleteColumns		: "UsuÅ„ kolumny",
+InsertCellAfter		: "Wstaw komÃ³rkÄ™ z prawej",
+InsertCellBefore	: "Wstaw komÃ³rkÄ™ z lewej",
+DeleteCells			: "UsuÅ„ komÃ³rki",
+MergeCells			: "PoÅ‚Ä…cz komÃ³rki",
+MergeRight			: "PoÅ‚Ä…cz z komÃ³rkÄ… z prawej",
+MergeDown			: "PoÅ‚Ä…cz z komÃ³rkÄ… poniÅ¼ej",
+HorizontalSplitCell	: "Podziel komÃ³rkÄ™ poziomo",
+VerticalSplitCell	: "Podziel komÃ³rkÄ™ pionowo",
+TableDelete			: "UsuÅ„ tabelÄ™",
+CellProperties		: "WÅ‚aÅ›ciwoÅ›ci komÃ³rki",
+TableProperties		: "WÅ‚aÅ›ciwoÅ›ci tabeli",
+ImageProperties		: "WÅ‚aÅ›ciwoÅ›ci obrazka",
+FlashProperties		: "WÅ‚aÅ›ciwoÅ›ci elementu Flash",
+
+AnchorProp			: "WÅ‚aÅ›ciwoÅ›ci kotwicy",
+ButtonProp			: "WÅ‚aÅ›ciwoÅ›ci przycisku",
+CheckboxProp		: "WÅ‚aÅ›ciwoÅ›ci pola wyboru (checkbox)",
+HiddenFieldProp		: "WÅ‚aÅ›ciwoÅ›ci pola ukrytego",
+RadioButtonProp		: "WÅ‚aÅ›ciwoÅ›ci pola wyboru (radio)",
+ImageButtonProp		: "WÅ‚aÅ›ciwoÅ›ci przycisku obrazka",
+TextFieldProp		: "WÅ‚aÅ›ciwoÅ›ci pola tekstowego",
+SelectionFieldProp	: "WÅ‚aÅ›ciwoÅ›ci listy wyboru",
+TextareaProp		: "WÅ‚aÅ›ciwoÅ›ci obszaru tekstowego",
+FormProp			: "WÅ‚aÅ›ciwoÅ›ci formularza",
+
+FontFormats			: "Normalny;Tekst sformatowany;Adres;NagÅ‚Ã³wek 1;NagÅ‚Ã³wek 2;NagÅ‚Ã³wek 3;NagÅ‚Ã³wek 4;NagÅ‚Ã³wek 5;NagÅ‚Ã³wek 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "Przetwarzanie XHTML. ProszÄ™ czekaÄ‡...",
+Done				: "Gotowe",
+PasteWordConfirm	: "Tekst, ktÃ³ry chcesz wkleiÄ‡, prawdopodobnie pochodzi z programu Word. Czy chcesz go wyczyÅ›cic przed wklejeniem?",
+NotCompatiblePaste	: "Ta funkcja jest dostÄ™pna w programie Internet Explorer w wersji 5.5 lub wyÅ¼szej. Czy chcesz wkleiÄ‡ tekst bez czyszczenia?",
+UnknownToolbarItem	: "Nieznany element paska narzÄ™dzi \"%1\"",
+UnknownCommand		: "Nieznana komenda \"%1\"",
+NotImplemented		: "Komenda niezaimplementowana",
+UnknownToolbarSet	: "Pasek narzÄ™dzi \"%1\" nie istnieje",
+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.",
+BrowseServerBlocked : "Nie moÅ¼na otworzyÄ‡ okno menadÅ¼era plikÃ³w. Upewnij siÄ™, Å¼e wszystkie blokady wyskakujÄ…cych okienek sÄ… wyÅ‚Ä…czone.",
+DialogBlocked		: "Nie moÅ¼na otworzyÄ‡ okna dialogowego. Upewnij siÄ™, Å¼e wszystkie blokady wyskakujÄ…cych okienek sÄ… wyÅ‚Ä…czone.",
+VisitLinkBlocked	: "It was not possible to open a new window. Make sure all popup blockers are disabled.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Anuluj",
+DlgBtnClose			: "Zamknij",
+DlgBtnBrowseServer	: "PrzeglÄ…daj",
+DlgAdvancedTag		: "Zaawansowane",
+DlgOpOther			: "<Inny>",
+DlgInfoTab			: "Informacje",
+DlgAlertUrl			: "ProszÄ™ podaÄ‡ URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<nie ustawione>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Kierunek tekstu",
+DlgGenLangDirLtr	: "Od lewej do prawej (LTR)",
+DlgGenLangDirRtl	: "Od prawej do lewej (RTL)",
+DlgGenLangCode		: "Kod jÄ™zyka",
+DlgGenAccessKey		: "Klawisz dostÄ™pu",
+DlgGenName			: "Nazwa",
+DlgGenTabIndex		: "Indeks tabeli",
+DlgGenLongDescr		: "DÅ‚ugi opis hiperÅ‚Ä…cza",
+DlgGenClass			: "Nazwa klasy CSS",
+DlgGenTitle			: "Opis obiektu docelowego",
+DlgGenContType		: "Typ MIME obiektu docelowego",
+DlgGenLinkCharset	: "Kodowanie znakÃ³w obiektu docelowego",
+DlgGenStyle			: "Styl",
+
+// Image Dialog
+DlgImgTitle			: "WÅ‚aÅ›ciwoÅ›ci obrazka",
+DlgImgInfoTab		: "Informacje o obrazku",
+DlgImgBtnUpload		: "WyÅ›lij",
+DlgImgURL			: "Adres URL",
+DlgImgUpload		: "WyÅ›lij",
+DlgImgAlt			: "Tekst zastÄ™pczy",
+DlgImgWidth			: "SzerokoÅ›Ä‡",
+DlgImgHeight		: "WysokoÅ›Ä‡",
+DlgImgLockRatio		: "Zablokuj proporcje",
+DlgBtnResetSize		: "PrzywrÃ³Ä‡ rozmiar",
+DlgImgBorder		: "Ramka",
+DlgImgHSpace		: "OdstÄ™p poziomy",
+DlgImgVSpace		: "OdstÄ™p pionowy",
+DlgImgAlign			: "WyrÃ³wnaj",
+DlgImgAlignLeft		: "Do lewej",
+DlgImgAlignAbsBottom: "Do doÅ‚u",
+DlgImgAlignAbsMiddle: "Do Å›rodka w pionie",
+DlgImgAlignBaseline	: "Do linii bazowej",
+DlgImgAlignBottom	: "Do doÅ‚u",
+DlgImgAlignMiddle	: "Do Å›rodka",
+DlgImgAlignRight	: "Do prawej",
+DlgImgAlignTextTop	: "Do gÃ³ry tekstu",
+DlgImgAlignTop		: "Do gÃ³ry",
+DlgImgPreview		: "PodglÄ…d",
+DlgImgAlertUrl		: "Podaj adres obrazka.",
+DlgImgLinkTab		: "HiperÅ‚Ä…cze",
+
+// Flash Dialog
+DlgFlashTitle		: "WÅ‚aÅ›ciwoÅ›ci elementu Flash",
+DlgFlashChkPlay		: "Auto Odtwarzanie",
+DlgFlashChkLoop		: "PÄ™tla",
+DlgFlashChkMenu		: "WÅ‚Ä…cz menu",
+DlgFlashScale		: "Skaluj",
+DlgFlashScaleAll	: "PokaÅ¼ wszystko",
+DlgFlashScaleNoBorder	: "Bez Ramki",
+DlgFlashScaleFit	: "DokÅ‚adne dopasowanie",
+
+// Link Dialog
+DlgLnkWindowTitle	: "HiperÅ‚Ä…cze",
+DlgLnkInfoTab		: "Informacje ",
+DlgLnkTargetTab		: "Cel",
+
+DlgLnkType			: "Typ hiperÅ‚Ä…cza",
+DlgLnkTypeURL		: "Adres URL",
+DlgLnkTypeAnchor	: "OdnoÅ›nik wewnÄ…trz strony",
+DlgLnkTypeEMail		: "Adres e-mail",
+DlgLnkProto			: "ProtokÃ³Å‚",
+DlgLnkProtoOther	: "<inny>",
+DlgLnkURL			: "Adres URL",
+DlgLnkAnchorSel		: "Wybierz etykietÄ™",
+DlgLnkAnchorByName	: "Wg etykiety",
+DlgLnkAnchorById	: "Wg identyfikatora elementu",
+DlgLnkNoAnchors		: "(W dokumencie nie zdefiniowano Å¼adnych etykiet)",
+DlgLnkEMail			: "Adres e-mail",
+DlgLnkEMailSubject	: "Temat",
+DlgLnkEMailBody		: "TreÅ›Ä‡",
+DlgLnkUpload		: "WyÅ›lij",
+DlgLnkBtnUpload		: "WyÅ›lij",
+
+DlgLnkTarget		: "Cel",
+DlgLnkTargetFrame	: "<ramka>",
+DlgLnkTargetPopup	: "<wyskakujÄ…ce okno>",
+DlgLnkTargetBlank	: "Nowe okno (_blank)",
+DlgLnkTargetParent	: "Okno nadrzÄ™dne (_parent)",
+DlgLnkTargetSelf	: "To samo okno (_self)",
+DlgLnkTargetTop		: "Okno najwyÅ¼sze w hierarchii (_top)",
+DlgLnkTargetFrameName	: "Nazwa Ramki Docelowej",
+DlgLnkPopWinName	: "Nazwa wyskakujÄ…cego okna",
+DlgLnkPopWinFeat	: "WÅ‚aÅ›ciwoÅ›ci wyskakujÄ…cego okna",
+DlgLnkPopResize		: "MoÅ¼liwa zmiana rozmiaru",
+DlgLnkPopLocation	: "Pasek adresu",
+DlgLnkPopMenu		: "Pasek menu",
+DlgLnkPopScroll		: "Paski przewijania",
+DlgLnkPopStatus		: "Pasek statusu",
+DlgLnkPopToolbar	: "Pasek narzÄ™dzi",
+DlgLnkPopFullScrn	: "PeÅ‚ny ekran (IE)",
+DlgLnkPopDependent	: "Okno zaleÅ¼ne (Netscape)",
+DlgLnkPopWidth		: "SzerokoÅ›Ä‡",
+DlgLnkPopHeight		: "WysokoÅ›Ä‡",
+DlgLnkPopLeft		: "Pozycja w poziomie",
+DlgLnkPopTop		: "Pozycja w pionie",
+
+DlnLnkMsgNoUrl		: "Podaj adres URL",
+DlnLnkMsgNoEMail	: "Podaj adres e-mail",
+DlnLnkMsgNoAnchor	: "Wybierz etykietÄ™",
+DlnLnkMsgInvPopName	: "Nazwa wyskakujÄ…cego okienka musi zaczynaÄ‡ siÄ™ od znaku alfanumerycznego i nie moÅ¼e zawieraÄ‡ spacji",
+
+// Color Dialog
+DlgColorTitle		: "Wybierz kolor",
+DlgColorBtnClear	: "WyczyÅ›Ä‡",
+DlgColorHighlight	: "PodglÄ…d",
+DlgColorSelected	: "Wybrane",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Wstaw emotikonÄ™",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Wybierz znak specjalny",
+
+// Table Dialog
+DlgTableTitle		: "WÅ‚aÅ›ciwoÅ›ci tabeli",
+DlgTableRows		: "Liczba wierszy",
+DlgTableColumns		: "Liczba kolumn",
+DlgTableBorder		: "GruboÅ›Ä‡ ramki",
+DlgTableAlign		: "WyrÃ³wnanie",
+DlgTableAlignNotSet	: "<brak ustawieÅ„>",
+DlgTableAlignLeft	: "Do lewej",
+DlgTableAlignCenter	: "Do Å›rodka",
+DlgTableAlignRight	: "Do prawej",
+DlgTableWidth		: "SzerokoÅ›Ä‡",
+DlgTableWidthPx		: "piksele",
+DlgTableWidthPc		: "%",
+DlgTableHeight		: "WysokoÅ›Ä‡",
+DlgTableCellSpace	: "OdstÄ™p pomiÄ™dzy komÃ³rkami",
+DlgTableCellPad		: "Margines wewnÄ™trzny komÃ³rek",
+DlgTableCaption		: "TytuÅ‚",
+DlgTableSummary		: "Podsumowanie",
+DlgTableHeaders		: "NagÅ‚Ã³wki",
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "WÅ‚aÅ›ciwoÅ›ci komÃ³rki",
+DlgCellWidth		: "SzerokoÅ›Ä‡",
+DlgCellWidthPx		: "piksele",
+DlgCellWidthPc		: "%",
+DlgCellHeight		: "WysokoÅ›Ä‡",
+DlgCellWordWrap		: "Zawijanie tekstu",
+DlgCellWordWrapNotSet	: "<brak ustawieÅ„>",
+DlgCellWordWrapYes	: "Tak",
+DlgCellWordWrapNo	: "Nie",
+DlgCellHorAlign		: "WyrÃ³wnanie poziome",
+DlgCellHorAlignNotSet	: "<brak ustawieÅ„>",
+DlgCellHorAlignLeft	: "Do lewej",
+DlgCellHorAlignCenter	: "Do Å›rodka",
+DlgCellHorAlignRight: "Do prawej",
+DlgCellVerAlign		: "WyrÃ³wnanie pionowe",
+DlgCellVerAlignNotSet	: "<brak ustawieÅ„>",
+DlgCellVerAlignTop	: "Do gÃ³ry",
+DlgCellVerAlignMiddle	: "Do Å›rodka",
+DlgCellVerAlignBottom	: "Do doÅ‚u",
+DlgCellVerAlignBaseline	: "Do linii bazowej",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "ZajÄ™toÅ›Ä‡ wierszy",
+DlgCellCollSpan		: "ZajÄ™toÅ›Ä‡ kolumn",
+DlgCellBackColor	: "Kolor tÅ‚a",
+DlgCellBorderColor	: "Kolor ramki",
+DlgCellBtnSelect	: "Wybierz...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "ZnajdÅº i zamieÅ„",
+
+// Find Dialog
+DlgFindTitle		: "ZnajdÅº",
+DlgFindFindBtn		: "ZnajdÅº",
+DlgFindNotFoundMsg	: "Nie znaleziono szukanego hasÅ‚a.",
+
+// Replace Dialog
+DlgReplaceTitle			: "ZamieÅ„",
+DlgReplaceFindLbl		: "ZnajdÅº:",
+DlgReplaceReplaceLbl	: "ZastÄ…p przez:",
+DlgReplaceCaseChk		: "UwzglÄ™dnij wielkoÅ›Ä‡ liter",
+DlgReplaceReplaceBtn	: "ZastÄ…p",
+DlgReplaceReplAllBtn	: "ZastÄ…p wszystko",
+DlgReplaceWordChk		: "CaÅ‚e sÅ‚owa",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "Ustawienia bezpieczeÅ„stwa Twojej przeglÄ…darki nie pozwalajÄ… na automatyczne wycinanie tekstu. UÅ¼yj skrÃ³tu klawiszowego Ctrl+X.",
+PasteErrorCopy	: "Ustawienia bezpieczeÅ„stwa Twojej przeglÄ…darki nie pozwalajÄ… na automatyczne kopiowanie tekstu. UÅ¼yj skrÃ³tu klawiszowego Ctrl+C.",
+
+PasteAsText		: "Wklej jako czysty tekst",
+PasteFromWord	: "Wklej z Worda",
+
+DlgPasteMsg2	: "ProszÄ™ wkleiÄ‡ w poniÅ¼szym polu uÅ¼ywajÄ…c klawiaturowego skrÃ³tu (<STRONG>Ctrl+V</STRONG>) i kliknÄ…Ä‡ <STRONG>OK</STRONG>.",
+DlgPasteSec		: "Zabezpieczenia przeglÄ…darki uniemoÅ¼liwiajÄ… wklejenie danych bezpoÅ›rednio do edytora. ProszÄ™ dane wkleiÄ‡ ponownie w tym okienku.",
+DlgPasteIgnoreFont		: "Ignoruj definicje 'Font Face'",
+DlgPasteRemoveStyles	: "UsuÅ„ definicje StylÃ³w",
+
+// Color Picker
+ColorAutomatic	: "Automatycznie",
+ColorMoreColors	: "WiÄ™cej kolorÃ³w...",
+
+// Document Properties
+DocProps		: "WÅ‚aÅ›ciwoÅ›ci dokumentu",
+
+// Anchor Dialog
+DlgAnchorTitle		: "WÅ‚aÅ›ciwoÅ›ci kotwicy",
+DlgAnchorName		: "Nazwa kotwicy",
+DlgAnchorErrorName	: "Wpisz nazwÄ™ kotwicy",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "SÅ‚owa nie ma w sÅ‚owniku",
+DlgSpellChangeTo		: "ZmieÅ„ na",
+DlgSpellBtnIgnore		: "Ignoruj",
+DlgSpellBtnIgnoreAll	: "Ignoruj wszystkie",
+DlgSpellBtnReplace		: "ZmieÅ„",
+DlgSpellBtnReplaceAll	: "ZmieÅ„ wszystkie",
+DlgSpellBtnUndo			: "Cofnij",
+DlgSpellNoSuggestions	: "- Brak sugestii -",
+DlgSpellProgress		: "Trwa sprawdzanie ...",
+DlgSpellNoMispell		: "Sprawdzanie zakoÅ„czone: nie znaleziono bÅ‚Ä™dÃ³w",
+DlgSpellNoChanges		: "Sprawdzanie zakoÅ„czone: nie zmieniono Å¼adnego sÅ‚owa",
+DlgSpellOneChange		: "Sprawdzanie zakoÅ„czone: zmieniono jedno sÅ‚owo",
+DlgSpellManyChanges		: "Sprawdzanie zakoÅ„czone: zmieniono %l sÅ‚Ã³w",
+
+IeSpellDownload			: "SÅ‚ownik nie jest zainstalowany. Chcesz go Å›ciÄ…gnÄ…Ä‡?",
+
+// Button Dialog
+DlgButtonText		: "Tekst (WartoÅ›Ä‡)",
+DlgButtonType		: "Typ",
+DlgButtonTypeBtn	: "Przycisk",
+DlgButtonTypeSbm	: "WyÅ›lij",
+DlgButtonTypeRst	: "Wyzeruj",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Nazwa",
+DlgCheckboxValue	: "WartoÅ›Ä‡",
+DlgCheckboxSelected	: "Zaznaczone",
+
+// Form Dialog
+DlgFormName		: "Nazwa",
+DlgFormAction	: "Akcja",
+DlgFormMethod	: "Metoda",
+
+// Select Field Dialog
+DlgSelectName		: "Nazwa",
+DlgSelectValue		: "WartoÅ›Ä‡",
+DlgSelectSize		: "Rozmiar",
+DlgSelectLines		: "linii",
+DlgSelectChkMulti	: "Wielokrotny wybÃ³r",
+DlgSelectOpAvail	: "DostÄ™pne opcje",
+DlgSelectOpText		: "Tekst",
+DlgSelectOpValue	: "WartoÅ›Ä‡",
+DlgSelectBtnAdd		: "Dodaj",
+DlgSelectBtnModify	: "ZmieÅ„",
+DlgSelectBtnUp		: "Do gÃ³ry",
+DlgSelectBtnDown	: "Do doÅ‚u",
+DlgSelectBtnSetValue : "Ustaw wartoÅ›Ä‡ zaznaczonÄ…",
+DlgSelectBtnDelete	: "UsuÅ„",
+
+// Textarea Dialog
+DlgTextareaName	: "Nazwa",
+DlgTextareaCols	: "Kolumnu",
+DlgTextareaRows	: "Wiersze",
+
+// Text Field Dialog
+DlgTextName			: "Nazwa",
+DlgTextValue		: "WartoÅ›Ä‡",
+DlgTextCharWidth	: "SzerokoÅ›Ä‡ w znakach",
+DlgTextMaxChars		: "Max. szerokoÅ›Ä‡",
+DlgTextType			: "Typ",
+DlgTextTypeText		: "Tekst",
+DlgTextTypePass		: "HasÅ‚o",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Nazwa",
+DlgHiddenValue	: "WartoÅ›Ä‡",
+
+// Bulleted List Dialog
+BulletedListProp	: "WÅ‚aÅ›ciwoÅ›ci listy punktowanej",
+NumberedListProp	: "WÅ‚aÅ›ciwoÅ›ci listy numerowanej",
+DlgLstStart			: "PoczÄ…tek",
+DlgLstType			: "Typ",
+DlgLstTypeCircle	: "KoÅ‚o",
+DlgLstTypeDisc		: "Dysk",
+DlgLstTypeSquare	: "Kwadrat",
+DlgLstTypeNumbers	: "Cyfry (1, 2, 3)",
+DlgLstTypeLCase		: "MaÅ‚e litery (a, b, c)",
+DlgLstTypeUCase		: "DuÅ¼e litery (A, B, C)",
+DlgLstTypeSRoman	: "Numeracja rzymska (i, ii, iii)",
+DlgLstTypeLRoman	: "Numeracja rzymska (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "OgÃ³lne",
+DlgDocBackTab		: "TÅ‚o",
+DlgDocColorsTab		: "Kolory i marginesy",
+DlgDocMetaTab		: "Meta Dane",
+
+DlgDocPageTitle		: "TytuÅ‚ strony",
+DlgDocLangDir		: "Kierunek pisania",
+DlgDocLangDirLTR	: "Od lewej do prawej (LTR)",
+DlgDocLangDirRTL	: "Od prawej do lewej (RTL)",
+DlgDocLangCode		: "Kod jÄ™zyka",
+DlgDocCharSet		: "Kodowanie znakÃ³w",
+DlgDocCharSetCE		: "Åšrodkowoeuropejskie",
+DlgDocCharSetCT		: "ChiÅ„skie tradycyjne (Big5)",
+DlgDocCharSetCR		: "Cyrylica",
+DlgDocCharSetGR		: "Greckie",
+DlgDocCharSetJP		: "JapoÅ„skie",
+DlgDocCharSetKR		: "KoreaÅ„skie",
+DlgDocCharSetTR		: "Tureckie",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "Zachodnioeuropejskie",
+DlgDocCharSetOther	: "Inne kodowanie znakÃ³w",
+
+DlgDocDocType		: "NagÅ‚Ã³wek typu dokumentu",
+DlgDocDocTypeOther	: "Inny typ dokumentu",
+DlgDocIncXHTML		: "DoÅ‚Ä…cz deklaracjÄ™ XHTML",
+DlgDocBgColor		: "Kolor tÅ‚a",
+DlgDocBgImage		: "Obrazek tÅ‚a",
+DlgDocBgNoScroll	: "TÅ‚o nieruchome",
+DlgDocCText			: "Tekst",
+DlgDocCLink			: "HiperÅ‚Ä…cze",
+DlgDocCVisited		: "Odwiedzane hiperÅ‚Ä…cze",
+DlgDocCActive		: "Aktywne hiperÅ‚Ä…cze",
+DlgDocMargins		: "Marginesy strony",
+DlgDocMaTop			: "GÃ³rny",
+DlgDocMaLeft		: "Lewy",
+DlgDocMaRight		: "Prawy",
+DlgDocMaBottom		: "Dolny",
+DlgDocMeIndex		: "SÅ‚owa kluczowe (oddzielone przecinkami)",
+DlgDocMeDescr		: "Opis dokumentu",
+DlgDocMeAuthor		: "Autor",
+DlgDocMeCopy		: "Prawa autorskie",
+DlgDocPreview		: "PodglÄ…d",
+
+// Templates Dialog
+Templates			: "Szablony",
+DlgTemplatesTitle	: "Szablony zawartoÅ›ci",
+DlgTemplatesSelMsg	: "Wybierz szablon do otwarcia w edytorze<br>(obecna zawartoÅ›Ä‡ okna edytora zostanie utracona):",
+DlgTemplatesLoading	: "Åadowanie listy szablonÃ³w. ProszÄ™ czekaÄ‡...",
+DlgTemplatesNoTpl	: "(Brak zdefiniowanych szablonÃ³w)",
+DlgTemplatesReplace	: "ZastÄ…p aktualnÄ… zawartoÅ›Ä‡",
+
+// About Dialog
+DlgAboutAboutTab	: "O ...",
+DlgAboutBrowserInfoTab	: "O przeglÄ…darce",
+DlgAboutLicenseTab	: "Licencja",
+DlgAboutVersion		: "wersja",
+DlgAboutInfo		: "WiÄ™cej informacji uzyskasz pod adresem",
+DlgAboutModule		: "Developed for Website Baker<br />modul version 2.9.4",
+
+// Div Dialog
+DlgDivGeneralTab	: "General",	//MISSING
+DlgDivAdvancedTab	: "Advanced",	//MISSING
+DlgDivStyle		: "Style",	//MISSING
+DlgDivInlineStyle	: "Inline Style",	//MISSING
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/th.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/th.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/th.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Thai language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "à¸‹à¹ˆà¸­à¸™à¹à¸–à¸šà¹€à¸„à¸£à¸·à¹ˆà¸­à¸‡à¸¡à¸·à¸­",
+ToolbarExpand		: "à¹à¸ªà¸”à¸‡à¹à¸–à¸šà¹€à¸„à¸£à¸·à¹ˆà¸­à¸‡à¸¡à¸·à¸­",
+
+// Toolbar Items and Context Menu
+Save				: "à¸šà¸±à¸™à¸—à¸¶à¸",
+NewPage				: "à¸ªà¸£à¹‰à¸²à¸‡à¸«à¸™à¹‰à¸²à¹€à¸­à¸à¸ªà¸²à¸£à¹ƒà¸«à¸¡à¹ˆ",
+Preview				: "à¸”à¸¹à¸«à¸™à¹‰à¸²à¹€à¸­à¸à¸ªà¸²à¸£à¸•à¸±à¸§à¸­à¸¢à¹ˆà¸²à¸‡",
+Cut					: "à¸•à¸±à¸”",
+Copy				: "à¸ªà¸³à¹€à¸™à¸²",
+Paste				: "à¸§à¸²à¸‡",
+PasteText			: "à¸§à¸²à¸‡à¸ªà¸³à¹€à¸™à¸²à¸ˆà¸²à¸à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¸˜à¸£à¸£à¸¡à¸”à¸²",
+PasteWord			: "à¸§à¸²à¸‡à¸ªà¸³à¹€à¸™à¸²à¸ˆà¸²à¸à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¹€à¸§à¸´à¸£à¹Œà¸”",
+Print				: "à¸ªà¸±à¹ˆà¸‡à¸à¸´à¸¡à¸à¹Œ",
+SelectAll			: "à¹€à¸¥à¸·à¸­à¸à¸—à¸±à¹‰à¸‡à¸«à¸¡à¸”",
+RemoveFormat		: "à¸¥à¹‰à¸²à¸‡à¸£à¸¹à¸›à¹à¸šà¸š",
+InsertLinkLbl		: "à¸¥à¸´à¸‡à¸„à¹Œà¹€à¸Šà¸·à¹ˆà¸­à¸¡à¹‚à¸¢à¸‡à¹€à¸§à¹‡à¸š à¸­à¸µà¹€à¸¡à¸¥à¹Œ à¸£à¸¹à¸›à¸ à¸²à¸ à¸«à¸£à¸·à¸­à¹„à¸Ÿà¸¥à¹Œà¸­à¸·à¹ˆà¸™à¹†",
+InsertLink			: "à¹à¸—à¸£à¸/à¹à¸à¹‰à¹„à¸‚ à¸¥à¸´à¸‡à¸„à¹Œ",
+RemoveLink			: "à¸¥à¸š à¸¥à¸´à¸‡à¸„à¹Œ",
+VisitLink			: "Open Link",	//MISSING
+Anchor				: "à¹à¸—à¸£à¸/à¹à¸à¹‰à¹„à¸‚ Anchor",
+AnchorDelete		: "Remove Anchor",	//MISSING
+InsertImageLbl		: "à¸£à¸¹à¸›à¸ à¸²à¸",
+InsertImage			: "à¹à¸—à¸£à¸/à¹à¸à¹‰à¹„à¸‚ à¸£à¸¹à¸›à¸ à¸²à¸",
+InsertFlashLbl		: "à¹„à¸Ÿà¸¥à¹Œ Flash",
+InsertFlash			: "à¹à¸—à¸£à¸/à¹à¸à¹‰à¹„à¸‚ à¹„à¸Ÿà¸¥à¹Œ Flash",
+InsertTableLbl		: "à¸•à¸²à¸£à¸²à¸‡",
+InsertTable			: "à¹à¸—à¸£à¸/à¹à¸à¹‰à¹„à¸‚ à¸•à¸²à¸£à¸²à¸‡",
+InsertLineLbl		: "à¹€à¸ªà¹‰à¸™à¸„à¸±à¹ˆà¸™à¸šà¸£à¸£à¸—à¸±à¸”",
+InsertLine			: "à¹à¸—à¸£à¸à¹€à¸ªà¹‰à¸™à¸„à¸±à¹ˆà¸™à¸šà¸£à¸£à¸—à¸±à¸”",
+InsertSpecialCharLbl: "à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¸à¸´à¹€à¸¨à¸©",
+InsertSpecialChar	: "à¹à¸—à¸£à¸à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¸à¸´à¹€à¸¨à¸©",
+InsertSmileyLbl		: "à¸£à¸¹à¸›à¸ªà¸·à¹ˆà¸­à¸­à¸²à¸£à¸¡à¸“à¹Œ",
+InsertSmiley		: "à¹à¸—à¸£à¸à¸£à¸¹à¸›à¸ªà¸·à¹ˆà¸­à¸­à¸²à¸£à¸¡à¸“à¹Œ",
+About				: "à¹€à¸à¸µà¹ˆà¸¢à¸§à¸à¸±à¸šà¹‚à¸›à¸£à¹à¸à¸£à¸¡ FCKeditor",
+Bold				: "à¸•à¸±à¸§à¸«à¸™à¸²",
+Italic				: "à¸•à¸±à¸§à¹€à¸­à¸µà¸¢à¸‡",
+Underline			: "à¸•à¸±à¸§à¸‚à¸µà¸”à¹€à¸ªà¹‰à¸™à¹ƒà¸•à¹‰",
+StrikeThrough		: "à¸•à¸±à¸§à¸‚à¸µà¸”à¹€à¸ªà¹‰à¸™à¸—à¸±à¸š",
+Subscript			: "à¸•à¸±à¸§à¸«à¹‰à¸­à¸¢",
+Superscript			: "à¸•à¸±à¸§à¸¢à¸",
+LeftJustify			: "à¸ˆà¸±à¸”à¸Šà¸´à¸”à¸‹à¹‰à¸²à¸¢",
+CenterJustify		: "à¸ˆà¸±à¸”à¸à¸¶à¹ˆà¸‡à¸à¸¥à¸²à¸‡",
+RightJustify		: "à¸ˆà¸±à¸”à¸Šà¸´à¸”à¸‚à¸§à¸²",
+BlockJustify		: "à¸ˆà¸±à¸”à¸à¸­à¸”à¸µà¸«à¸™à¹‰à¸²à¸à¸£à¸°à¸”à¸²à¸©",
+DecreaseIndent		: "à¸¥à¸”à¸£à¸°à¸¢à¸°à¸¢à¹ˆà¸­à¸«à¸™à¹‰à¸²",
+IncreaseIndent		: "à¹€à¸à¸´à¹ˆà¸¡à¸£à¸°à¸¢à¸°à¸¢à¹ˆà¸­à¸«à¸™à¹‰à¸²",
+Blockquote			: "Blockquote",	//MISSING
+CreateDiv			: "Create Div Container",	//MISSING
+EditDiv				: "Edit Div Container",	//MISSING
+DeleteDiv			: "Remove Div Container",	//MISSING
+Undo				: "à¸¢à¸à¹€à¸¥à¸´à¸à¸„à¸³à¸ªà¸±à¹ˆà¸‡",
+Redo				: "à¸—à¸³à¸‹à¹‰à¸³à¸„à¸³à¸ªà¸±à¹ˆà¸‡",
+NumberedListLbl		: "à¸¥à¸³à¸”à¸±à¸šà¸£à¸²à¸¢à¸à¸²à¸£à¹à¸šà¸šà¸•à¸±à¸§à¹€à¸¥à¸‚",
+NumberedList		: "à¹à¸—à¸£à¸/à¹à¸à¹‰à¹„à¸‚ à¸¥à¸³à¸”à¸±à¸šà¸£à¸²à¸¢à¸à¸²à¸£à¹à¸šà¸šà¸•à¸±à¸§à¹€à¸¥à¸‚",
+BulletedListLbl		: "à¸¥à¸³à¸”à¸±à¸šà¸£à¸²à¸¢à¸à¸²à¸£à¹à¸šà¸šà¸ªà¸±à¸à¸¥à¸±à¸à¸©à¸“à¹Œ",
+BulletedList		: "à¹à¸—à¸£à¸/à¹à¸à¹‰à¹„à¸‚ à¸¥à¸³à¸”à¸±à¸šà¸£à¸²à¸¢à¸à¸²à¸£à¹à¸šà¸šà¸ªà¸±à¸à¸¥à¸±à¸à¸©à¸“à¹Œ",
+ShowTableBorders	: "à¹à¸ªà¸”à¸‡à¸‚à¸­à¸šà¸‚à¸­à¸‡à¸•à¸²à¸£à¸²à¸‡",
+ShowDetails			: "à¹à¸ªà¸”à¸‡à¸£à¸²à¸¢à¸¥à¸°à¹€à¸­à¸µà¸¢à¸”",
+Style				: "à¸¥à¸±à¸à¸©à¸“à¸°",
+FontFormat			: "à¸£à¸¹à¸›à¹à¸šà¸š",
+Font				: "à¹à¸šà¸šà¸­à¸±à¸à¸©à¸£",
+FontSize			: "à¸‚à¸™à¸²à¸”",
+TextColor			: "à¸ªà¸µà¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£",
+BGColor				: "à¸ªà¸µà¸à¸·à¹‰à¸™à¸«à¸¥à¸±à¸‡",
+Source				: "à¸”à¸¹à¸£à¸«à¸±à¸ª HTML",
+Find				: "à¸„à¹‰à¸™à¸«à¸²",
+Replace				: "à¸„à¹‰à¸™à¸«à¸²à¹à¸¥à¸°à¹à¸—à¸™à¸—à¸µà¹ˆ",
+SpellCheck			: "à¸•à¸£à¸§à¸ˆà¸à¸²à¸£à¸ªà¸°à¸à¸”à¸„à¸³",
+UniversalKeyboard	: "à¸„à¸µà¸¢à¹Œà¸šà¸­à¸£à¹Œà¸”à¸«à¸¥à¸²à¸à¸ à¸²à¸©à¸²",
+PageBreakLbl		: "à¹ƒà¸ªà¹ˆà¸•à¸±à¸§à¹à¸šà¹ˆà¸‡à¸«à¸™à¹‰à¸² Page Break",
+PageBreak			: "à¹à¸—à¸£à¸à¸•à¸±à¸§à¹à¸šà¹ˆà¸‡à¸«à¸™à¹‰à¸² Page Break",
+
+Form			: "à¹à¸šà¸šà¸Ÿà¸­à¸£à¹Œà¸¡",
+Checkbox		: "à¹€à¸Šà¹‡à¸„à¸šà¹Šà¸­à¸",
+RadioButton		: "à¹€à¸£à¸”à¸´à¹‚à¸­à¸šà¸±à¸•à¸•à¸­à¸™",
+TextField		: "à¹€à¸—à¹‡à¸à¸‹à¹Œà¸Ÿà¸´à¸¥à¸”à¹Œ",
+Textarea		: "à¹€à¸—à¹‡à¸à¸‹à¹Œà¹à¸­à¹€à¸£à¸µà¸¢",
+HiddenField		: "à¸®à¸´à¸”à¹€à¸”à¸™à¸Ÿà¸´à¸¥à¸”à¹Œ",
+Button			: "à¸›à¸¸à¹ˆà¸¡",
+SelectionField	: "à¹à¸–à¸šà¸•à¸±à¸§à¹€à¸¥à¸·à¸­à¸",
+ImageButton		: "à¸›à¸¸à¹ˆà¸¡à¹à¸šà¸šà¸£à¸¹à¸›à¸ à¸²à¸",
+
+FitWindow		: "à¸‚à¸¢à¸²à¸¢à¸‚à¸™à¸²à¸”à¸•à¸±à¸§à¸­à¸µà¸”à¸´à¸•à¹€à¸•à¸­à¸£à¹Œ",
+ShowBlocks		: "Show Blocks",	//MISSING
+
+// Context Menu
+EditLink			: "à¹à¸à¹‰à¹„à¸‚ à¸¥à¸´à¸‡à¸„à¹Œ",
+CellCM				: "à¸Šà¹ˆà¸­à¸‡à¸•à¸²à¸£à¸²à¸‡",
+RowCM				: "à¹à¸–à¸§",
+ColumnCM			: "à¸„à¸­à¸¥à¸±à¸¡à¸™à¹Œ",
+InsertRowAfter		: "Insert Row After",	//MISSING
+InsertRowBefore		: "Insert Row Before",	//MISSING
+DeleteRows			: "à¸¥à¸šà¹à¸–à¸§",
+InsertColumnAfter	: "Insert Column After",	//MISSING
+InsertColumnBefore	: "Insert Column Before",	//MISSING
+DeleteColumns		: "à¸¥à¸šà¸ªà¸”à¸¡à¸™à¹Œ",
+InsertCellAfter		: "Insert Cell After",	//MISSING
+InsertCellBefore	: "Insert Cell Before",	//MISSING
+DeleteCells			: "à¸¥à¸šà¸Šà¹ˆà¸­à¸‡",
+MergeCells			: "à¸œà¸ªà¸²à¸™à¸Šà¹ˆà¸­à¸‡",
+MergeRight			: "Merge Right",	//MISSING
+MergeDown			: "Merge Down",	//MISSING
+HorizontalSplitCell	: "Split Cell Horizontally",	//MISSING
+VerticalSplitCell	: "Split Cell Vertically",	//MISSING
+TableDelete			: "à¸¥à¸šà¸•à¸²à¸£à¸²à¸‡",
+CellProperties		: "à¸„à¸¸à¸“à¸ªà¸¡à¸šà¸±à¸•à¸´à¸‚à¸­à¸‡à¸Šà¹ˆà¸­à¸‡",
+TableProperties		: "à¸„à¸¸à¸“à¸ªà¸¡à¸šà¸±à¸•à¸´à¸‚à¸­à¸‡à¸•à¸²à¸£à¸²à¸‡",
+ImageProperties		: "à¸„à¸¸à¸“à¸ªà¸¡à¸šà¸±à¸•à¸´à¸‚à¸­à¸‡à¸£à¸¹à¸›à¸ à¸²à¸",
+FlashProperties		: "à¸„à¸¸à¸“à¸ªà¸¡à¸šà¸±à¸•à¸´à¸‚à¸­à¸‡à¹„à¸Ÿà¸¥à¹Œ Flash",
+
+AnchorProp			: "à¸£à¸²à¸¢à¸¥à¸°à¹€à¸­à¸µà¸¢à¸” Anchor",
+ButtonProp			: "à¸£à¸²à¸¢à¸¥à¸°à¹€à¸­à¸µà¸¢à¸”à¸‚à¸­à¸‡ à¸›à¸¸à¹ˆà¸¡",
+CheckboxProp		: "à¸„à¸¸à¸“à¸ªà¸¡à¸šà¸±à¸•à¸´à¸‚à¸­à¸‡ à¹€à¸Šà¹‡à¸„à¸šà¹Šà¸­à¸",
+HiddenFieldProp		: "à¸„à¸¸à¸“à¸ªà¸¡à¸šà¸±à¸•à¸´à¸‚à¸­à¸‡ à¸®à¸´à¸”à¹€à¸”à¸™à¸Ÿà¸´à¸¥à¸”à¹Œ",
+RadioButtonProp		: "à¸„à¸¸à¸“à¸ªà¸¡à¸šà¸±à¸•à¸´à¸‚à¸­à¸‡ à¹€à¸£à¸”à¸´à¹‚à¸­à¸šà¸±à¸•à¸•à¸­à¸™",
+ImageButtonProp		: "à¸„à¸¸à¸“à¸ªà¸¡à¸šà¸±à¸•à¸´à¸‚à¸­à¸‡ à¸›à¸¸à¹ˆà¸¡à¹à¸šà¸šà¸£à¸¹à¸›à¸ à¸²à¸",
+TextFieldProp		: "à¸„à¸¸à¸“à¸ªà¸¡à¸šà¸±à¸•à¸´à¸‚à¸­à¸‡ à¹€à¸—à¹‡à¸à¸‹à¹Œà¸Ÿà¸´à¸¥à¸”à¹Œ",
+SelectionFieldProp	: "à¸„à¸¸à¸“à¸ªà¸¡à¸šà¸±à¸•à¸´à¸‚à¸­à¸‡ à¹à¸–à¸šà¸•à¸±à¸§à¹€à¸¥à¸·à¸­à¸",
+TextareaProp		: "à¸„à¸¸à¸“à¸ªà¸¡à¸šà¸±à¸•à¸´à¸‚à¸­à¸‡ à¹€à¸—à¹‡à¸à¹à¸­à¹€à¸£à¸µà¸¢",
+FormProp			: "à¸„à¸¸à¸“à¸ªà¸¡à¸šà¸±à¸•à¸´à¸‚à¸­à¸‡ à¹à¸šà¸šà¸Ÿà¸­à¸£à¹Œà¸¡",
+
+FontFormats			: "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Paragraph (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "à¹‚à¸›à¸£à¹à¸à¸£à¸¡à¸à¸³à¸¥à¸±à¸‡à¸—à¸³à¸‡à¸²à¸™à¸”à¹‰à¸§à¸¢à¹€à¸—à¸„à¹‚à¸™à¹‚à¸¥à¸¢à¸µ XHTML à¸à¸£à¸¸à¸“à¸²à¸£à¸­à¸ªà¸±à¸à¸„à¸£à¸¹à¹ˆ...",
+Done				: "à¹‚à¸›à¸£à¹à¸à¸£à¸¡à¸—à¸³à¸‡à¸²à¸™à¹€à¸ªà¸£à¹‡à¸ˆà¸ªà¸¡à¸šà¸¹à¸£à¸“à¹Œ",
+PasteWordConfirm	: "à¸‚à¹‰à¸­à¸¡à¸¹à¸¥à¸—à¸µà¹ˆà¸—à¹ˆà¸²à¸™à¸•à¹‰à¸­à¸‡à¸à¸²à¸£à¸§à¸²à¸‡à¸¥à¸‡à¹ƒà¸™à¹à¸œà¹ˆà¸™à¸‡à¸²à¸™ à¸–à¸¹à¸à¸ˆà¸±à¸”à¸£à¸¹à¸›à¹à¸šà¸šà¸ˆà¸²à¸à¹‚à¸›à¸£à¹à¸à¸£à¸¡à¹€à¸§à¸´à¸£à¹Œà¸”. à¸—à¹ˆà¸²à¸™à¸•à¹‰à¸­à¸‡à¸à¸²à¸£à¸¥à¹‰à¸²à¸‡à¸£à¸¹à¸›à¹à¸šà¸šà¸—à¸µà¹ˆà¸¡à¸²à¸ˆà¸²à¸à¹‚à¸›à¸£à¹à¸à¸£à¸¡à¹€à¸§à¸´à¸£à¹Œà¸”à¸«à¸£à¸·à¸­à¹„à¸¡à¹ˆ?",
+NotCompatiblePaste	: "à¸„à¸³à¸ªà¸±à¹ˆà¸‡à¸™à¸µà¹‰à¸—à¸³à¸‡à¸²à¸™à¹ƒà¸™à¹‚à¸›à¸£à¹à¸à¸£à¸¡à¸—à¹ˆà¸­à¸‡à¹€à¸§à¹‡à¸š Internet Explorer version à¸£à¸¸à¹ˆà¸™ 5.5 à¸«à¸£à¸·à¸­à¹ƒà¸«à¸¡à¹ˆà¸à¸§à¹ˆà¸²à¹€à¸—à¹ˆà¸²à¸™à¸±à¹‰à¸™. à¸—à¹ˆà¸²à¸™à¸•à¹‰à¸­à¸‡à¸à¸²à¸£à¸§à¸²à¸‡à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¹‚à¸”à¸¢à¹„à¸¡à¹ˆà¸¥à¹‰à¸²à¸‡à¸£à¸¹à¸›à¹à¸šà¸šà¸—à¸µà¹ˆà¸¡à¸²à¸ˆà¸²à¸à¹‚à¸›à¸£à¹à¸à¸£à¸¡à¹€à¸§à¸´à¸£à¹Œà¸”à¸«à¸£à¸·à¸­à¹„à¸¡à¹ˆ?",
+UnknownToolbarItem	: "à¹„à¸¡à¹ˆà¸ªà¸²à¸¡à¸²à¸£à¸–à¸£à¸°à¸šà¸¸à¸›à¸¸à¹ˆà¸¡à¹€à¸„à¸£à¸·à¹ˆà¸­à¸‡à¸¡à¸·à¸­à¹„à¸”à¹‰ \"%1\"",
+UnknownCommand		: "à¹„à¸¡à¹ˆà¸ªà¸²à¸¡à¸²à¸£à¸–à¸£à¸°à¸šà¸¸à¸Šà¸·à¹ˆà¸­à¸„à¸³à¸ªà¸±à¹ˆà¸‡à¹„à¸”à¹‰ \"%1\"",
+NotImplemented		: "à¹„à¸¡à¹ˆà¸ªà¸²à¸¡à¸²à¸£à¸–à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¸„à¸³à¸ªà¸±à¹ˆà¸‡à¹„à¸”à¹‰",
+UnknownToolbarSet	: "à¹„à¸¡à¹ˆà¸¡à¸µà¸à¸²à¸£à¸•à¸´à¸”à¸•à¸±à¹‰à¸‡à¸Šà¸¸à¸”à¸„à¸³à¸ªà¸±à¹ˆà¸‡à¹ƒà¸™à¹à¸–à¸šà¹€à¸„à¸£à¸·à¹ˆà¸­à¸‡à¸¡à¸·à¸­ \"%1\" à¸à¸£à¸¸à¸“à¸²à¸•à¸´à¸”à¸•à¹ˆà¸­à¸œà¸¹à¹‰à¸”à¸¹à¹à¸¥à¸£à¸°à¸šà¸š",
+NoActiveX			: "à¹‚à¸›à¸£à¹à¸à¸£à¸¡à¸—à¹ˆà¸­à¸‡à¸­à¸´à¸™à¹€à¸•à¸­à¸£à¹Œà¹€à¸™à¹‡à¸•à¸‚à¸­à¸‡à¸—à¹ˆà¸²à¸™à¹„à¸¡à¹ˆà¸­à¸™à¸¸à¸à¸²à¸•à¸´à¹ƒà¸«à¹‰à¸­à¸µà¸”à¸´à¸•à¹€à¸•à¸­à¸£à¹Œà¸—à¸³à¸‡à¸²à¸™ \"Run ActiveX controls and plug-ins\". à¸«à¸²à¸à¹„à¸¡à¹ˆà¸­à¸™à¸¸à¸à¸²à¸•à¸´à¹ƒà¸«à¹‰à¹ƒà¸Šà¹‰à¸‡à¸²à¸™ ActiveX controls à¸—à¹ˆà¸²à¸™à¸ˆà¸°à¹„à¸¡à¹ˆà¸ªà¸²à¸¡à¸²à¸£à¸–à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¹„à¸”à¹‰à¸­à¸¢à¹ˆà¸²à¸‡à¹€à¸•à¹‡à¸¡à¸›à¸£à¸°à¸ªà¸´à¸—à¸˜à¸´à¸ à¸²à¸.",
+BrowseServerBlocked : "à¹€à¸›à¸´à¸”à¸«à¸™à¹‰à¸²à¸•à¹ˆà¸²à¸‡à¸›à¹Šà¸­à¸šà¸­à¸±à¸à¹€à¸à¸·à¹ˆà¸­à¸—à¸³à¸‡à¸²à¸™à¸•à¹ˆà¸­à¹„à¸¡à¹ˆà¹„à¸”à¹‰ à¸à¸£à¸¸à¸“à¸²à¸›à¸´à¸”à¹€à¸„à¸£à¸·à¹ˆà¸­à¸‡à¸¡à¸·à¸­à¸›à¹‰à¸­à¸‡à¸à¸±à¸™à¸›à¹Šà¸­à¸šà¸­à¸±à¸à¹ƒà¸™à¹‚à¸›à¸£à¹à¸à¸£à¸¡à¸—à¹ˆà¸­à¸‡à¸­à¸´à¸™à¹€à¸•à¸­à¸£à¹Œà¹€à¸™à¹‡à¸•à¸‚à¸­à¸‡à¸—à¹ˆà¸²à¸™à¸”à¹‰à¸§à¸¢",
+DialogBlocked		: "à¹€à¸›à¸´à¸”à¸«à¸™à¹‰à¸²à¸•à¹ˆà¸²à¸‡à¸›à¹Šà¸­à¸šà¸­à¸±à¸à¹€à¸à¸·à¹ˆà¸­à¸—à¸³à¸‡à¸²à¸™à¸•à¹ˆà¸­à¹„à¸¡à¹ˆà¹„à¸”à¹‰ à¸à¸£à¸¸à¸“à¸²à¸›à¸´à¸”à¹€à¸„à¸£à¸·à¹ˆà¸­à¸‡à¸¡à¸·à¸­à¸›à¹‰à¸­à¸‡à¸à¸±à¸™à¸›à¹Šà¸­à¸šà¸­à¸±à¸à¹ƒà¸™à¹‚à¸›à¸£à¹à¸à¸£à¸¡à¸—à¹ˆà¸­à¸‡à¸­à¸´à¸™à¹€à¸•à¸­à¸£à¹Œà¹€à¸™à¹‡à¸•à¸‚à¸­à¸‡à¸—à¹ˆà¸²à¸™à¸”à¹‰à¸§à¸¢",
+VisitLinkBlocked	: "It was not possible to open a new window. Make sure all popup blockers are disabled.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "à¸•à¸à¸¥à¸‡",
+DlgBtnCancel		: "à¸¢à¸à¹€à¸¥à¸´à¸",
+DlgBtnClose			: "à¸›à¸´à¸”",
+DlgBtnBrowseServer	: "à¹€à¸›à¸´à¸”à¸«à¸™à¹‰à¸²à¸•à¹ˆà¸²à¸‡à¸ˆà¸±à¸”à¸à¸²à¸£à¹„à¸Ÿà¸¥à¹Œà¸­à¸±à¸à¹‚à¸«à¸¥à¸”",
+DlgAdvancedTag		: "à¸‚à¸±à¹‰à¸™à¸ªà¸¹à¸‡",
+DlgOpOther			: "<à¸­à¸·à¹ˆà¸™à¹†>",
+DlgInfoTab			: "à¸­à¸´à¸™à¹‚à¸Ÿ",
+DlgAlertUrl			: "à¸à¸£à¸¸à¸“à¸²à¸£à¸°à¸šà¸¸ URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<à¹„à¸¡à¹ˆà¸£à¸°à¸šà¸¸>",
+DlgGenId			: "à¹„à¸­à¸”à¸µ",
+DlgGenLangDir		: "à¸à¸²à¸£à¹€à¸‚à¸µà¸¢à¸™-à¸­à¹ˆà¸²à¸™à¸ à¸²à¸©à¸²",
+DlgGenLangDirLtr	: "à¸ˆà¸²à¸à¸‹à¹‰à¸²à¸¢à¹„à¸›à¸‚à¸§à¸² (LTR)",
+DlgGenLangDirRtl	: "à¸ˆà¸²à¸à¸‚à¸§à¸²à¸¡à¸²à¸‹à¹‰à¸²à¸¢ (RTL)",
+DlgGenLangCode		: "à¸£à¸«à¸±à¸ªà¸ à¸²à¸©à¸²",
+DlgGenAccessKey		: "à¹à¸­à¸„à¹€à¸‹à¸ª à¸„à¸µà¸¢à¹Œ",
+DlgGenName			: "à¸Šà¸·à¹ˆà¸­",
+DlgGenTabIndex		: "à¸¥à¸³à¸”à¸±à¸šà¸‚à¸­à¸‡ à¹à¸—à¹‡à¸š",
+DlgGenLongDescr		: "à¸„à¸³à¸­à¸˜à¸´à¸šà¸²à¸¢à¸›à¸£à¸°à¸à¸­à¸š URL",
+DlgGenClass			: "à¸„à¸¥à¸²à¸ªà¸‚à¸­à¸‡à¹„à¸Ÿà¸¥à¹Œà¸à¸³à¸«à¸™à¸”à¸¥à¸±à¸à¸©à¸“à¸°à¸à¸²à¸£à¹à¸ªà¸”à¸‡à¸œà¸¥",
+DlgGenTitle			: "à¸„à¸³à¹€à¸à¸£à¸´à¹ˆà¸™à¸™à¸³",
+DlgGenContType		: "à¸Šà¸™à¸´à¸”à¸‚à¸­à¸‡à¸„à¸³à¹€à¸à¸£à¸´à¹ˆà¸™à¸™à¸³",
+DlgGenLinkCharset	: "à¸¥à¸´à¸‡à¸„à¹Œà¹€à¸Šà¸·à¹ˆà¸­à¸¡à¹‚à¸¢à¸‡à¹„à¸›à¸¢à¸±à¸‡à¸Šà¸¸à¸”à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£",
+DlgGenStyle			: "à¸¥à¸±à¸à¸©à¸“à¸°à¸à¸²à¸£à¹à¸ªà¸”à¸‡à¸œà¸¥",
+
+// Image Dialog
+DlgImgTitle			: "à¸„à¸¸à¸“à¸ªà¸¡à¸šà¸±à¸•à¸´à¸‚à¸­à¸‡ à¸£à¸¹à¸›à¸ à¸²à¸",
+DlgImgInfoTab		: "à¸‚à¹‰à¸­à¸¡à¸¹à¸¥à¸‚à¸­à¸‡à¸£à¸¹à¸›à¸ à¸²à¸",
+DlgImgBtnUpload		: "à¸­à¸±à¸à¹‚à¸«à¸¥à¸”à¹„à¸Ÿà¸¥à¹Œà¹„à¸›à¹€à¸à¹‡à¸šà¹„à¸§à¹‰à¸—à¸µà¹ˆà¹€à¸„à¸£à¸·à¹ˆà¸­à¸‡à¹à¸¡à¹ˆà¸‚à¹ˆà¸²à¸¢ (à¹€à¸‹à¸´à¸£à¹Œà¸Ÿà¹€à¸§à¸­à¸£à¹Œ)",
+DlgImgURL			: "à¸—à¸µà¹ˆà¸­à¸¢à¸¹à¹ˆà¸­à¹‰à¸²à¸‡à¸­à¸´à¸‡ URL",
+DlgImgUpload		: "à¸­à¸±à¸à¹‚à¸«à¸¥à¸”à¹„à¸Ÿà¸¥à¹Œ",
+DlgImgAlt			: "à¸„à¸³à¸›à¸£à¸°à¸à¸­à¸šà¸£à¸¹à¸›à¸ à¸²à¸",
+DlgImgWidth			: "à¸„à¸§à¸²à¸¡à¸à¸§à¹‰à¸²à¸‡",
+DlgImgHeight		: "à¸„à¸§à¸²à¸¡à¸ªà¸¹à¸‡",
+DlgImgLockRatio		: "à¸à¸³à¸«à¸™à¸”à¸­à¸±à¸•à¸£à¸²à¸ªà¹ˆà¸§à¸™ à¸à¸§à¹‰à¸²à¸‡-à¸ªà¸¹à¸‡ à¹à¸šà¸šà¸„à¸‡à¸—à¸µà¹ˆ",
+DlgBtnResetSize		: "à¸à¸³à¸«à¸™à¸”à¸£à¸¹à¸›à¹€à¸—à¹ˆà¸²à¸‚à¸™à¸²à¸”à¸ˆà¸£à¸´à¸‡",
+DlgImgBorder		: "à¸‚à¸™à¸²à¸”à¸‚à¸­à¸šà¸£à¸¹à¸›",
+DlgImgHSpace		: "à¸£à¸°à¸¢à¸°à¹à¸™à¸§à¸™à¸­à¸™",
+DlgImgVSpace		: "à¸£à¸°à¸¢à¸°à¹à¸™à¸§à¸•à¸±à¹‰à¸‡",
+DlgImgAlign			: "à¸à¸²à¸£à¸ˆà¸±à¸”à¸§à¸²à¸‡",
+DlgImgAlignLeft		: "à¸Šà¸´à¸”à¸‹à¹‰à¸²à¸¢",
+DlgImgAlignAbsBottom: "à¸Šà¸´à¸”à¸”à¹‰à¸²à¸™à¸¥à¹ˆà¸²à¸‡à¸ªà¸¸à¸”",
+DlgImgAlignAbsMiddle: "à¸à¸¶à¹ˆà¸‡à¸à¸¥à¸²à¸‡",
+DlgImgAlignBaseline	: "à¸Šà¸´à¸”à¸šà¸£à¸£à¸—à¸±à¸”",
+DlgImgAlignBottom	: "à¸Šà¸´à¸”à¸”à¹‰à¸²à¸™à¸¥à¹ˆà¸²à¸‡",
+DlgImgAlignMiddle	: "à¸à¸¶à¹ˆà¸‡à¸à¸¥à¸²à¸‡à¹à¸™à¸§à¸•à¸±à¹‰à¸‡",
+DlgImgAlignRight	: "à¸Šà¸´à¸”à¸‚à¸§à¸²",
+DlgImgAlignTextTop	: "à¹ƒà¸•à¹‰à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£",
+DlgImgAlignTop		: "à¸šà¸™à¸ªà¸¸à¸”",
+DlgImgPreview		: "à¸«à¸™à¹‰à¸²à¹€à¸­à¸à¸ªà¸²à¸£à¸•à¸±à¸§à¸­à¸¢à¹ˆà¸²à¸‡",
+DlgImgAlertUrl		: "à¸à¸£à¸¸à¸“à¸²à¸£à¸°à¸šà¸¸à¸—à¸µà¹ˆà¸­à¸¢à¸¹à¹ˆà¸­à¹‰à¸²à¸‡à¸­à¸´à¸‡à¸­à¸­à¸™à¹„à¸¥à¸™à¹Œà¸‚à¸­à¸‡à¹„à¸Ÿà¸¥à¹Œà¸£à¸¹à¸›à¸ à¸²à¸ (URL)",
+DlgImgLinkTab		: "à¸¥à¸´à¹‰à¸‡à¸„à¹Œ",
+
+// Flash Dialog
+DlgFlashTitle		: "à¸„à¸¸à¸“à¸ªà¸¡à¸šà¸±à¸•à¸´à¸‚à¸­à¸‡à¹„à¸Ÿà¸¥à¹Œ Flash",
+DlgFlashChkPlay		: "à¹€à¸¥à¹ˆà¸™à¸­à¸±à¸•à¹‚à¸™à¸¡à¸±à¸•à¸´ Auto Play",
+DlgFlashChkLoop		: "à¹€à¸¥à¹ˆà¸™à¸§à¸™à¸£à¸­à¸š Loop",
+DlgFlashChkMenu		: "à¹ƒà¸«à¹‰à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¹€à¸¡à¸™à¸¹à¸‚à¸­à¸‡ Flash",
+DlgFlashScale		: "à¸­à¸±à¸•à¸£à¸²à¸ªà¹ˆà¸§à¸™ Scale",
+DlgFlashScaleAll	: "à¹à¸ªà¸”à¸‡à¹ƒà¸«à¹‰à¹€à¸«à¹‡à¸™à¸—à¸±à¹‰à¸‡à¸«à¸¡à¸” Show all",
+DlgFlashScaleNoBorder	: "à¹„à¸¡à¹ˆà¹à¸ªà¸”à¸‡à¹€à¸ªà¹‰à¸™à¸‚à¸­à¸š No Border",
+DlgFlashScaleFit	: "à¹à¸ªà¸”à¸‡à¹ƒà¸«à¹‰à¸à¸­à¸”à¸µà¸à¸±à¸šà¸à¸·à¹‰à¸™à¸—à¸µà¹ˆ Exact Fit",
+
+// Link Dialog
+DlgLnkWindowTitle	: "à¸¥à¸´à¸‡à¸„à¹Œà¹€à¸Šà¸·à¹ˆà¸­à¸¡à¹‚à¸¢à¸‡à¹€à¸§à¹‡à¸š à¸­à¸µà¹€à¸¡à¸¥à¹Œ à¸£à¸¹à¸›à¸ à¸²à¸ à¸«à¸£à¸·à¸­à¹„à¸Ÿà¸¥à¹Œà¸­à¸·à¹ˆà¸™à¹†",
+DlgLnkInfoTab		: "à¸£à¸²à¸¢à¸¥à¸°à¹€à¸­à¸µà¸¢à¸”",
+DlgLnkTargetTab		: "à¸à¸²à¸£à¹€à¸›à¸´à¸”à¸«à¸™à¹‰à¸²à¸ˆà¸­",
+
+DlgLnkType			: "à¸›à¸£à¸°à¹€à¸ à¸—à¸‚à¸­à¸‡à¸¥à¸´à¸‡à¸„à¹Œ",
+DlgLnkTypeURL		: "à¸—à¸µà¹ˆà¸­à¸¢à¸¹à¹ˆà¸­à¹‰à¸²à¸‡à¸­à¸´à¸‡à¸­à¸­à¸™à¹„à¸¥à¸™à¹Œ (URL)",
+DlgLnkTypeAnchor	: "à¸ˆà¸¸à¸”à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¹‚à¸¢à¸‡ (Anchor)",
+DlgLnkTypeEMail		: "à¸ªà¹ˆà¸‡à¸­à¸µà¹€à¸¡à¸¥à¹Œ (E-Mail)",
+DlgLnkProto			: "à¹‚à¸›à¸£à¹‚à¸•à¸„à¸­à¸¥",
+DlgLnkProtoOther	: "<à¸­à¸·à¹ˆà¸™à¹†>",
+DlgLnkURL			: "à¸—à¸µà¹ˆà¸­à¸¢à¸¹à¹ˆà¸­à¹‰à¸²à¸‡à¸­à¸´à¸‡à¸­à¸­à¸™à¹„à¸¥à¸™à¹Œ (URL)",
+DlgLnkAnchorSel		: "à¸£à¸°à¸šà¸¸à¸‚à¹‰à¸­à¸¡à¸¹à¸¥à¸‚à¸­à¸‡à¸ˆà¸¸à¸”à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¹‚à¸¢à¸‡ (Anchor)",
+DlgLnkAnchorByName	: "à¸Šà¸·à¹ˆà¸­",
+DlgLnkAnchorById	: "à¹„à¸­à¸”à¸µ",
+DlgLnkNoAnchors		: "(à¸¢à¸±à¸‡à¹„à¸¡à¹ˆà¸¡à¸µà¸ˆà¸¸à¸”à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¹‚à¸¢à¸‡à¸ à¸²à¸¢à¹ƒà¸™à¸«à¸™à¹‰à¸²à¹€à¸­à¸à¸ªà¸²à¸£à¸™à¸µà¹‰)",
+DlgLnkEMail			: "à¸­à¸µà¹€à¸¡à¸¥à¹Œ (E-Mail)",
+DlgLnkEMailSubject	: "à¸«à¸±à¸§à¹€à¸£à¸·à¹ˆà¸­à¸‡",
+DlgLnkEMailBody		: "à¸‚à¹‰à¸­à¸„à¸§à¸²à¸¡",
+DlgLnkUpload		: "à¸­à¸±à¸à¹‚à¸«à¸¥à¸”à¹„à¸Ÿà¸¥à¹Œ",
+DlgLnkBtnUpload		: "à¸šà¸±à¸™à¸—à¸¶à¸à¹„à¸Ÿà¸¥à¹Œà¹„à¸§à¹‰à¸šà¸™à¹€à¸‹à¸´à¸£à¹Œà¸Ÿà¹€à¸§à¸­à¸£à¹Œ",
+
+DlgLnkTarget		: "à¸à¸²à¸£à¹€à¸›à¸´à¸”à¸«à¸™à¹‰à¸²à¸¥à¸´à¸‡à¸„à¹Œ",
+DlgLnkTargetFrame	: "<à¹€à¸›à¸´à¸”à¹ƒà¸™à¹€à¸Ÿà¸£à¸¡>",
+DlgLnkTargetPopup	: "<à¹€à¸›à¸´à¸”à¸«à¸™à¹‰à¸²à¸ˆà¸­à¹€à¸¥à¹‡à¸ (Pop-up)>",
+DlgLnkTargetBlank	: "à¹€à¸›à¸´à¸”à¸«à¸™à¹‰à¸²à¸ˆà¸­à¹ƒà¸«à¸¡à¹ˆ (_blank)",
+DlgLnkTargetParent	: "à¹€à¸›à¸´à¸”à¹ƒà¸™à¸«à¸™à¹‰à¸²à¸«à¸¥à¸±à¸ (_parent)",
+DlgLnkTargetSelf	: "à¹€à¸›à¸´à¸”à¹ƒà¸™à¸«à¸™à¹‰à¸²à¸›à¸±à¸ˆà¸ˆà¸¸à¸šà¸±à¸™ (_self)",
+DlgLnkTargetTop		: "à¹€à¸›à¸´à¸”à¹ƒà¸™à¸«à¸™à¹‰à¸²à¸šà¸™à¸ªà¸¸à¸” (_top)",
+DlgLnkTargetFrameName	: "à¸Šà¸·à¹ˆà¸­à¸—à¸²à¸£à¹Œà¹€à¸à¹‡à¸•à¹€à¸Ÿà¸£à¸¡",
+DlgLnkPopWinName	: "à¸£à¸°à¸šà¸¸à¸Šà¸·à¹ˆà¸­à¸«à¸™à¹‰à¸²à¸ˆà¸­à¹€à¸¥à¹‡à¸ (Pop-up)",
+DlgLnkPopWinFeat	: "à¸„à¸¸à¸“à¸ªà¸¡à¸šà¸±à¸•à¸´à¸‚à¸­à¸‡à¸«à¸™à¹‰à¸²à¸ˆà¸­à¹€à¸¥à¹‡à¸ (Pop-up)",
+DlgLnkPopResize		: "à¸›à¸£à¸±à¸šà¸‚à¸™à¸²à¸”à¸«à¸™à¹‰à¸²à¸ˆà¸­",
+DlgLnkPopLocation	: "à¹à¸ªà¸”à¸‡à¸—à¸µà¹ˆà¸­à¸¢à¸¹à¹ˆà¸‚à¸­à¸‡à¹„à¸Ÿà¸¥à¹Œ",
+DlgLnkPopMenu		: "à¹à¸ªà¸”à¸‡à¹à¸–à¸šà¹€à¸¡à¸™à¸¹",
+DlgLnkPopScroll		: "à¹à¸ªà¸”à¸‡à¹à¸–à¸šà¹€à¸¥à¸·à¹ˆà¸­à¸™",
+DlgLnkPopStatus		: "à¹à¸ªà¸”à¸‡à¹à¸–à¸šà¸ªà¸–à¸²à¸™à¸°",
+DlgLnkPopToolbar	: "à¹à¸ªà¸”à¸‡à¹à¸–à¸šà¹€à¸„à¸£à¸·à¹ˆà¸­à¸‡à¸¡à¸·à¸­",
+DlgLnkPopFullScrn	: "à¹à¸ªà¸”à¸‡à¹€à¸•à¹‡à¸¡à¸«à¸™à¹‰à¸²à¸ˆà¸­ (IE5.5++ à¹€à¸—à¹ˆà¸²à¸™à¸±à¹‰à¸™)",
+DlgLnkPopDependent	: "à¹à¸ªà¸”à¸‡à¹€à¸•à¹‡à¸¡à¸«à¸™à¹‰à¸²à¸ˆà¸­ (Netscape)",
+DlgLnkPopWidth		: "à¸à¸§à¹‰à¸²à¸‡",
+DlgLnkPopHeight		: "à¸ªà¸¹à¸‡",
+DlgLnkPopLeft		: "à¸à¸´à¸à¸±à¸”à¸‹à¹‰à¸²à¸¢ (Left Position)",
+DlgLnkPopTop		: "à¸à¸´à¸à¸±à¸”à¸šà¸™ (Top Position)",
+
+DlnLnkMsgNoUrl		: "à¸à¸£à¸¸à¸“à¸²à¸£à¸°à¸šà¸¸à¸—à¸µà¹ˆà¸­à¸¢à¸¹à¹ˆà¸­à¹‰à¸²à¸‡à¸­à¸´à¸‡à¸­à¸­à¸™à¹„à¸¥à¸™à¹Œ (URL)",
+DlnLnkMsgNoEMail	: "à¸à¸£à¸¸à¸“à¸²à¸£à¸°à¸šà¸¸à¸­à¸µà¹€à¸¡à¸¥à¹Œ (E-mail)",
+DlnLnkMsgNoAnchor	: "à¸à¸£à¸¸à¸“à¸²à¸£à¸°à¸šà¸¸à¸ˆà¸¸à¸”à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¹‚à¸¢à¸‡ (Anchor)",
+DlnLnkMsgInvPopName	: "à¸Šà¸·à¹ˆà¸­à¸‚à¸­à¸‡à¸«à¸™à¹‰à¸²à¸•à¹ˆà¸²à¸‡à¸›à¹Šà¸­à¸šà¸­à¸±à¸ à¸ˆà¸°à¸•à¹‰à¸­à¸‡à¸‚à¸¶à¹‰à¸™à¸•à¹‰à¸™à¸”à¹‰à¸§à¸¢à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¹€à¸—à¹ˆà¸²à¸™à¸±à¹‰à¸™ à¹à¸¥à¸°à¸•à¹‰à¸­à¸‡à¹„à¸¡à¹ˆà¸¡à¸µà¸Šà¹ˆà¸­à¸‡à¸§à¹ˆà¸²à¸‡à¹ƒà¸™à¸Šà¸·à¹ˆà¸­",
+
+// Color Dialog
+DlgColorTitle		: "à¹€à¸¥à¸·à¸­à¸à¸ªà¸µ",
+DlgColorBtnClear	: "à¸¥à¹‰à¸²à¸‡à¸„à¹ˆà¸²à¸£à¸«à¸±à¸ªà¸ªà¸µ",
+DlgColorHighlight	: "à¸•à¸±à¸§à¸­à¸¢à¹ˆà¸²à¸‡à¸ªà¸µ",
+DlgColorSelected	: "à¸ªà¸µà¸—à¸µà¹ˆà¹€à¸¥à¸·à¸­à¸",
+
+// Smiley Dialog
+DlgSmileyTitle		: "à¹à¸—à¸£à¸à¸ªà¸±à¸à¸¥à¸±à¸à¸©à¸“à¹Œà¸ªà¸·à¹ˆà¸­à¸­à¸²à¸£à¸¡à¸“à¹Œ",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "à¹à¸—à¸£à¸à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¸à¸´à¹€à¸¨à¸©",
+
+// Table Dialog
+DlgTableTitle		: "à¸„à¸¸à¸“à¸ªà¸¡à¸šà¸±à¸•à¸´à¸‚à¸­à¸‡ à¸•à¸²à¸£à¸²à¸‡",
+DlgTableRows		: "à¹à¸–à¸§",
+DlgTableColumns		: "à¸ªà¸”à¸¡à¸™à¹Œ",
+DlgTableBorder		: "à¸‚à¸™à¸²à¸”à¹€à¸ªà¹‰à¸™à¸‚à¸­à¸š",
+DlgTableAlign		: "à¸à¸²à¸£à¸ˆà¸±à¸”à¸•à¸³à¹à¸«à¸™à¹ˆà¸‡",
+DlgTableAlignNotSet	: "<à¹„à¸¡à¹ˆà¸£à¸°à¸šà¸¸>",
+DlgTableAlignLeft	: "à¸Šà¸´à¸”à¸‹à¹‰à¸²à¸¢",
+DlgTableAlignCenter	: "à¸à¸¶à¹ˆà¸‡à¸à¸¥à¸²à¸‡",
+DlgTableAlignRight	: "à¸Šà¸´à¸”à¸‚à¸§à¸²",
+DlgTableWidth		: "à¸à¸§à¹‰à¸²à¸‡",
+DlgTableWidthPx		: "à¸ˆà¸¸à¸”à¸ªà¸µ",
+DlgTableWidthPc		: "à¹€à¸›à¸­à¸£à¹Œà¹€à¸‹à¹‡à¸™",
+DlgTableHeight		: "à¸ªà¸¹à¸‡",
+DlgTableCellSpace	: "à¸£à¸°à¸¢à¸°à¹à¸™à¸§à¸™à¸­à¸™à¸™",
+DlgTableCellPad		: "à¸£à¸°à¸¢à¸°à¹à¸™à¸§à¸•à¸±à¹‰à¸‡",
+DlgTableCaption		: "à¸«à¸±à¸§à¹€à¸£à¸·à¹ˆà¸­à¸‡à¸‚à¸­à¸‡à¸•à¸²à¸£à¸²à¸‡",
+DlgTableSummary		: "à¸ªà¸£à¸¸à¸›à¸„à¸§à¸²à¸¡",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "à¸„à¸¸à¸“à¸ªà¸¡à¸šà¸±à¸•à¸´à¸‚à¸­à¸‡ à¸Šà¹ˆà¸­à¸‡",
+DlgCellWidth		: "à¸à¸§à¹‰à¸²à¸‡",
+DlgCellWidthPx		: "à¸ˆà¸¸à¸”à¸ªà¸µ",
+DlgCellWidthPc		: "à¹€à¸›à¸­à¸£à¹Œà¹€à¸‹à¹‡à¸™",
+DlgCellHeight		: "à¸ªà¸¹à¸‡",
+DlgCellWordWrap		: "à¸•à¸±à¸”à¸šà¸£à¸£à¸—à¸±à¸”à¸­à¸±à¸•à¹‚à¸™à¸¡à¸±à¸•à¸´",
+DlgCellWordWrapNotSet	: "<à¹„à¸¡à¹ˆà¸£à¸°à¸šà¸¸>",
+DlgCellWordWrapYes	: "à¹ƒà¹ˆà¸Šà¹ˆ",
+DlgCellWordWrapNo	: "à¹„à¸¡à¹ˆ",
+DlgCellHorAlign		: "à¸à¸²à¸£à¸ˆà¸±à¸”à¸§à¸²à¸‡à¹à¸™à¸§à¸™à¸­à¸™",
+DlgCellHorAlignNotSet	: "<à¹„à¸¡à¹ˆà¸£à¸°à¸šà¸¸>",
+DlgCellHorAlignLeft	: "à¸Šà¸´à¸”à¸‹à¹‰à¸²à¸¢",
+DlgCellHorAlignCenter	: "à¸à¸¶à¹ˆà¸‡à¸à¸¥à¸²à¸‡",
+DlgCellHorAlignRight: "à¸Šà¸´à¸”à¸‚à¸§à¸²",
+DlgCellVerAlign		: "à¸à¸²à¸£à¸ˆà¸±à¸”à¸§à¸²à¸‡à¹à¸™à¸§à¸•à¸±à¹‰à¸‡",
+DlgCellVerAlignNotSet	: "<à¹„à¸¡à¹ˆà¸£à¸°à¸šà¸¸>",
+DlgCellVerAlignTop	: "à¸šà¸™à¸ªà¸¸à¸”",
+DlgCellVerAlignMiddle	: "à¸à¸¶à¹ˆà¸‡à¸à¸¥à¸²à¸‡",
+DlgCellVerAlignBottom	: "à¸¥à¹ˆà¸²à¸‡à¸ªà¸¸à¸”",
+DlgCellVerAlignBaseline	: "à¸­à¸´à¸‡à¸šà¸£à¸£à¸—à¸±à¸”",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "à¸ˆà¸³à¸™à¸§à¸™à¹à¸–à¸§à¸—à¸µà¹ˆà¸„à¸£à¹ˆà¸­à¸¡à¸à¸±à¸™",
+DlgCellCollSpan		: "à¸ˆà¸³à¸™à¸§à¸™à¸ªà¸”à¸¡à¸™à¹Œà¸—à¸µà¹ˆà¸„à¸£à¹ˆà¸­à¸¡à¸à¸±à¸™",
+DlgCellBackColor	: "à¸ªà¸µà¸à¸·à¹‰à¸™à¸«à¸¥à¸±à¸‡",
+DlgCellBorderColor	: "à¸ªà¸µà¹€à¸ªà¹‰à¸™à¸‚à¸­à¸š",
+DlgCellBtnSelect	: "à¹€à¸¥à¸·à¸­à¸..",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Find and Replace",	//MISSING
+
+// Find Dialog
+DlgFindTitle		: "à¸„à¹‰à¸™à¸«à¸²",
+DlgFindFindBtn		: "à¸„à¹‰à¸™à¸«à¸²",
+DlgFindNotFoundMsg	: "à¹„à¸¡à¹ˆà¸à¸šà¸„à¸³à¸—à¸µà¹ˆà¸„à¹‰à¸™à¸«à¸².",
+
+// Replace Dialog
+DlgReplaceTitle			: "à¸„à¹‰à¸™à¸«à¸²à¹à¸¥à¸°à¹à¸—à¸™à¸—à¸µà¹ˆ",
+DlgReplaceFindLbl		: "à¸„à¹‰à¸™à¸«à¸²à¸„à¸³à¸§à¹ˆà¸²:",
+DlgReplaceReplaceLbl	: "à¹à¸—à¸™à¸—à¸µà¹ˆà¸”à¹‰à¸§à¸¢:",
+DlgReplaceCaseChk		: "à¸•à¸±à¸§à¹‚à¸«à¸à¹ˆ-à¹€à¸¥à¹‡à¸ à¸•à¹‰à¸­à¸‡à¸•à¸£à¸‡à¸à¸±à¸™",
+DlgReplaceReplaceBtn	: "à¹à¸—à¸™à¸—à¸µà¹ˆ",
+DlgReplaceReplAllBtn	: "à¹à¸—à¸™à¸—à¸µà¹ˆà¸—à¸±à¹‰à¸‡à¸«à¸¡à¸”à¸—à¸µà¹ˆà¸à¸š",
+DlgReplaceWordChk		: "à¸•à¹‰à¸­à¸‡à¸•à¸£à¸‡à¸à¸±à¸™à¸—à¸¸à¸à¸„à¸³",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "à¹„à¸¡à¹ˆà¸ªà¸²à¸¡à¸²à¸£à¸–à¸•à¸±à¸”à¸‚à¹‰à¸­à¸„à¸§à¸²à¸¡à¸—à¸µà¹ˆà¹€à¸¥à¸·à¸­à¸à¹„à¸§à¹‰à¹„à¸”à¹‰à¹€à¸™à¸·à¹ˆà¸­à¸‡à¸ˆà¸²à¸à¸à¸²à¸£à¸à¸³à¸«à¸™à¸”à¸„à¹ˆà¸²à¸£à¸°à¸”à¸±à¸šà¸„à¸§à¸²à¸¡à¸›à¸¥à¸­à¸”à¸ à¸±à¸¢. à¸à¸£à¸¸à¸“à¸²à¹ƒà¸Šà¹‰à¸›à¸¸à¹ˆà¸¡à¸¥à¸±à¸”à¹€à¸à¸·à¹ˆà¸­à¸§à¸²à¸‡à¸‚à¹‰à¸­à¸„à¸§à¸²à¸¡à¹à¸—à¸™ (à¸à¸”à¸›à¸¸à¹ˆà¸¡ Ctrl à¹à¸¥à¸°à¸•à¸±à¸§ X à¸à¸£à¹‰à¸­à¸¡à¸à¸±à¸™).",
+PasteErrorCopy	: "à¹„à¸¡à¹ˆà¸ªà¸²à¸¡à¸²à¸£à¸–à¸ªà¸³à¹€à¸™à¸²à¸‚à¹‰à¸­à¸„à¸§à¸²à¸¡à¸—à¸µà¹ˆà¹€à¸¥à¸·à¸­à¸à¹„à¸§à¹‰à¹„à¸”à¹‰à¹€à¸™à¸·à¹ˆà¸­à¸‡à¸ˆà¸²à¸à¸à¸²à¸£à¸à¸³à¸«à¸™à¸”à¸„à¹ˆà¸²à¸£à¸°à¸”à¸±à¸šà¸„à¸§à¸²à¸¡à¸›à¸¥à¸­à¸”à¸ à¸±à¸¢. à¸à¸£à¸¸à¸“à¸²à¹ƒà¸Šà¹‰à¸›à¸¸à¹ˆà¸¡à¸¥à¸±à¸”à¹€à¸à¸·à¹ˆà¸­à¸§à¸²à¸‡à¸‚à¹‰à¸­à¸„à¸§à¸²à¸¡à¹à¸—à¸™ (à¸à¸”à¸›à¸¸à¹ˆà¸¡ Ctrl à¹à¸¥à¸°à¸•à¸±à¸§ C à¸à¸£à¹‰à¸­à¸¡à¸à¸±à¸™).",
+
+PasteAsText		: "à¸§à¸²à¸‡à¹à¸šà¸šà¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¸˜à¸£à¸£à¸¡à¸”à¸²",
+PasteFromWord	: "à¸§à¸²à¸‡à¹à¸šà¸šà¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¸ˆà¸²à¸à¹‚à¸›à¸£à¹à¸à¸£à¸¡à¹€à¸§à¸´à¸£à¹Œà¸”",
+
+DlgPasteMsg2	: "à¸à¸£à¸¸à¸“à¸²à¹ƒà¸Šà¹‰à¸„à¸µà¸¢à¹Œà¸šà¸­à¸£à¹Œà¸”à¹€à¸—à¹ˆà¸²à¸™à¸±à¹‰à¸™ à¹‚à¸”à¸¢à¸à¸”à¸›à¸¸à¹‹à¸¡ (<strong>Ctrl à¹à¸¥à¸° V</strong>)à¸à¸£à¹‰à¸­à¸¡à¹†à¸à¸±à¸™ à¹à¸¥à¸°à¸à¸” <strong>OK</strong>.",
+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
+DlgPasteIgnoreFont		: "à¹„à¸¡à¹ˆà¸ªà¸™à¹ƒà¸ˆ Font Face definitions",
+DlgPasteRemoveStyles	: "à¸¥à¸š Styles definitions",
+
+// Color Picker
+ColorAutomatic	: "à¸ªà¸µà¸­à¸±à¸•à¹‚à¸™à¸¡à¸±à¸•à¸´",
+ColorMoreColors	: "à¹€à¸¥à¸·à¸­à¸à¸ªà¸µà¸­à¸·à¹ˆà¸™à¹†...",
+
+// Document Properties
+DocProps		: "à¸„à¸¸à¸“à¸ªà¸¡à¸šà¸±à¸•à¸´à¸‚à¸­à¸‡à¹€à¸­à¸à¸ªà¸²à¸£",
+
+// Anchor Dialog
+DlgAnchorTitle		: "à¸„à¸¸à¸“à¸ªà¸¡à¸šà¸±à¸•à¸´à¸‚à¸­à¸‡ Anchor",
+DlgAnchorName		: "à¸Šà¸·à¹ˆà¸­ Anchor",
+DlgAnchorErrorName	: "à¸à¸£à¸¸à¸“à¸²à¸£à¸°à¸šà¸¸à¸Šà¸·à¹ˆà¸­à¸‚à¸­à¸‡ Anchor",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "à¹„à¸¡à¹ˆà¸à¸šà¹ƒà¸™à¸”à¸´à¸à¸Šà¸±à¸™à¸™à¸²à¸£à¸µ",
+DlgSpellChangeTo		: "à¹à¸à¹‰à¹„à¸‚à¹€à¸›à¹‡à¸™",
+DlgSpellBtnIgnore		: "à¸¢à¸à¹€à¸§à¹‰à¸™",
+DlgSpellBtnIgnoreAll	: "à¸¢à¸à¹€à¸§à¹‰à¸™à¸—à¸±à¹‰à¸‡à¸«à¸¡à¸”",
+DlgSpellBtnReplace		: "à¹à¸—à¸™à¸—à¸µà¹ˆ",
+DlgSpellBtnReplaceAll	: "à¹à¸—à¸™à¸—à¸µà¹ˆà¸—à¸±à¹‰à¸‡à¸«à¸¡à¸”",
+DlgSpellBtnUndo			: "à¸¢à¸à¹€à¸¥à¸´à¸",
+DlgSpellNoSuggestions	: "- à¹„à¸¡à¹ˆà¸¡à¸µà¸„à¸³à¹à¸™à¸°à¸™à¸³à¹ƒà¸”à¹† -",
+DlgSpellProgress		: "à¸à¸³à¸¥à¸±à¸‡à¸•à¸£à¸§à¸ˆà¸ªà¸­à¸šà¸„à¸³à¸ªà¸°à¸à¸”...",
+DlgSpellNoMispell		: "à¸•à¸£à¸§à¸ˆà¸ªà¸­à¸šà¸„à¸³à¸ªà¸°à¸à¸”à¹€à¸ªà¸£à¹‡à¸ˆà¸ªà¸´à¹‰à¸™: à¹„à¸¡à¹ˆà¸à¸šà¸„à¸³à¸ªà¸°à¸à¸”à¸œà¸´à¸”",
+DlgSpellNoChanges		: "à¸•à¸£à¸§à¸ˆà¸ªà¸­à¸šà¸„à¸³à¸ªà¸°à¸à¸”à¹€à¸ªà¸£à¹‡à¸ˆà¸ªà¸´à¹‰à¸™: à¹„à¸¡à¹ˆà¸¡à¸µà¸à¸²à¸£à¹à¸à¹‰à¸„à¸³à¹ƒà¸”à¹†",
+DlgSpellOneChange		: "à¸•à¸£à¸§à¸ˆà¸ªà¸­à¸šà¸„à¸³à¸ªà¸°à¸à¸”à¹€à¸ªà¸£à¹‡à¸ˆà¸ªà¸´à¹‰à¸™: à¹à¸à¹‰à¹„à¸‚1à¸„à¸³",
+DlgSpellManyChanges		: "à¸•à¸£à¸§à¸ˆà¸ªà¸­à¸šà¸„à¸³à¸ªà¸°à¸à¸”à¹€à¸ªà¸£à¹‡à¸ˆà¸ªà¸´à¹‰à¸™:: à¹à¸à¹‰à¹„à¸‚ %1 à¸„à¸³",
+
+IeSpellDownload			: "à¹„à¸¡à¹ˆà¹„à¸”à¹‰à¸•à¸´à¸”à¸•à¸±à¹‰à¸‡à¸£à¸°à¸šà¸šà¸•à¸£à¸§à¸ˆà¸ªà¸­à¸šà¸„à¸³à¸ªà¸°à¸à¸”. à¸•à¹‰à¸­à¸‡à¸à¸²à¸£à¸•à¸´à¸”à¸•à¸±à¹‰à¸‡à¹„à¸«à¸¡à¸„à¸£à¸±à¸š?",
+
+// Button Dialog
+DlgButtonText		: "à¸‚à¹‰à¸­à¸„à¸§à¸²à¸¡ (à¸„à¹ˆà¸²à¸•à¸±à¸§à¹à¸›à¸£)",
+DlgButtonType		: "à¸‚à¹‰à¸­à¸„à¸§à¸²à¸¡",
+DlgButtonTypeBtn	: "Button",
+DlgButtonTypeSbm	: "Submit",
+DlgButtonTypeRst	: "Reset",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "à¸Šà¸·à¹ˆà¸­",
+DlgCheckboxValue	: "à¸„à¹ˆà¸²à¸•à¸±à¸§à¹à¸›à¸£",
+DlgCheckboxSelected	: "à¹€à¸¥à¸·à¸­à¸à¹€à¸›à¹‡à¸™à¸„à¹ˆà¸²à¹€à¸£à¸´à¹ˆà¸¡à¸•à¹‰à¸™",
+
+// Form Dialog
+DlgFormName		: "à¸Šà¸·à¹ˆà¸­",
+DlgFormAction	: "à¹à¸­à¸„à¸Šà¸±à¹ˆà¸™",
+DlgFormMethod	: "à¹€à¸¡à¸˜à¸­à¸”",
+
+// Select Field Dialog
+DlgSelectName		: "à¸Šà¸·à¹ˆà¸­",
+DlgSelectValue		: "à¸„à¹ˆà¸²à¸•à¸±à¸§à¹à¸›à¸£",
+DlgSelectSize		: "à¸‚à¸™à¸²à¸”",
+DlgSelectLines		: "à¸šà¸£à¸£à¸—à¸±à¸”",
+DlgSelectChkMulti	: "à¹€à¸¥à¸·à¸­à¸à¸«à¸¥à¸²à¸¢à¸„à¹ˆà¸²à¹„à¸”à¹‰",
+DlgSelectOpAvail	: "à¸£à¸²à¸¢à¸à¸²à¸£à¸•à¸±à¸§à¹€à¸¥à¸·à¸­à¸",
+DlgSelectOpText		: "à¸‚à¹‰à¸­à¸„à¸§à¸²à¸¡",
+DlgSelectOpValue	: "à¸„à¹ˆà¸²à¸•à¸±à¸§à¹à¸›à¸£",
+DlgSelectBtnAdd		: "à¹€à¸à¸´à¹ˆà¸¡",
+DlgSelectBtnModify	: "à¹à¸à¹‰à¹„à¸‚",
+DlgSelectBtnUp		: "à¸šà¸™",
+DlgSelectBtnDown	: "à¸¥à¹ˆà¸²à¸‡",
+DlgSelectBtnSetValue : "à¹€à¸¥à¸·à¸­à¸à¹€à¸›à¹‡à¸™à¸„à¹ˆà¸²à¹€à¸£à¸´à¹ˆà¸¡à¸•à¹‰à¸™",
+DlgSelectBtnDelete	: "à¸¥à¸š",
+
+// Textarea Dialog
+DlgTextareaName	: "à¸Šà¸·à¹ˆà¸­",
+DlgTextareaCols	: "à¸ªà¸”à¸¡à¸ à¹Œ",
+DlgTextareaRows	: "à¹à¸–à¸§",
+
+// Text Field Dialog
+DlgTextName			: "à¸Šà¸·à¹ˆà¸­",
+DlgTextValue		: "à¸„à¹ˆà¸²à¸•à¸±à¸§à¹à¸›à¸£",
+DlgTextCharWidth	: "à¸„à¸§à¸²à¸¡à¸à¸§à¹‰à¸²à¸‡",
+DlgTextMaxChars		: "à¸ˆà¸³à¸™à¸§à¸™à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¸ªà¸¹à¸‡à¸ªà¸¸à¸”",
+DlgTextType			: "à¸Šà¸™à¸´à¸”",
+DlgTextTypeText		: "à¸‚à¹‰à¸­à¸„à¸§à¸²à¸¡",
+DlgTextTypePass		: "à¸£à¸«à¸±à¸ªà¸œà¹ˆà¸²à¸™",
+
+// Hidden Field Dialog
+DlgHiddenName	: "à¸Šà¸·à¹ˆà¸­",
+DlgHiddenValue	: "à¸„à¹ˆà¸²à¸•à¸±à¸§à¹à¸›à¸£",
+
+// Bulleted List Dialog
+BulletedListProp	: "à¸„à¸¸à¸“à¸ªà¸¡à¸šà¸±à¸•à¸´à¸‚à¸­à¸‡ à¸šà¸¹à¸¥à¹€à¸¥à¹‡à¸•à¸¥à¸´à¸ªà¸•à¹Œ",
+NumberedListProp	: "à¸„à¸¸à¸“à¸ªà¸¡à¸šà¸±à¸•à¸´à¸‚à¸­à¸‡ à¸™à¸±à¸¡à¹€à¸šà¸­à¸£à¹Œà¸¥à¸´à¸ªà¸•à¹Œ",
+DlgLstStart			: "Start",	//MISSING
+DlgLstType			: "à¸Šà¸™à¸´à¸”",
+DlgLstTypeCircle	: "à¸£à¸¹à¸›à¸§à¸‡à¸à¸¥à¸¡",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "à¸£à¸¹à¸›à¸ªà¸µà¹ˆà¹€à¸«à¸¥à¸µà¹ˆà¸¢à¸¡",
+DlgLstTypeNumbers	: "à¸«à¸¡à¸²à¸¢à¹€à¸¥à¸‚ (1, 2, 3)",
+DlgLstTypeLCase		: "à¸•à¸±à¸§à¸à¸´à¸¡à¸à¹Œà¹€à¸¥à¹‡à¸ (a, b, c)",
+DlgLstTypeUCase		: "à¸•à¸±à¸§à¸à¸´à¸¡à¸à¹Œà¹ƒà¸«à¸à¹ˆ (A, B, C)",
+DlgLstTypeSRoman	: "à¹€à¸¥à¸‚à¹‚à¸£à¸¡à¸±à¸™à¸à¸´à¸¡à¸à¹Œà¹€à¸¥à¹‡à¸ (i, ii, iii)",
+DlgLstTypeLRoman	: "à¹€à¸¥à¸‚à¹‚à¸£à¸¡à¸±à¸™à¸à¸´à¸¡à¸à¹Œà¹ƒà¸«à¸à¹ˆ (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "à¸¥à¸±à¸à¸©à¸“à¸°à¸—à¸±à¹ˆà¸§à¹„à¸›à¸‚à¸­à¸‡à¹€à¸­à¸à¸ªà¸²à¸£",
+DlgDocBackTab		: "à¸à¸·à¹‰à¸™à¸«à¸¥à¸±à¸‡",
+DlgDocColorsTab		: "à¸ªà¸µà¹à¸¥à¸°à¸£à¸°à¸¢à¸°à¸‚à¸­à¸š",
+DlgDocMetaTab		: "à¸‚à¹‰à¸­à¸¡à¸¹à¸¥à¸ªà¸³à¸«à¸£à¸±à¸šà¹€à¸ªà¸´à¸£à¹Œà¸Šà¹€à¸­à¸™à¸ˆà¸´à¹‰à¸™",
+
+DlgDocPageTitle		: "à¸Šà¸·à¹ˆà¸­à¹„à¸•à¹€à¸•à¸´à¹‰à¸¥",
+DlgDocLangDir		: "à¸à¸²à¸£à¸­à¹ˆà¸²à¸™à¸ à¸²à¸©à¸²",
+DlgDocLangDirLTR	: "à¸ˆà¸²à¸à¸‹à¹‰à¸²à¸¢à¹„à¸›à¸‚à¸§à¸² (LTR)",
+DlgDocLangDirRTL	: "à¸ˆà¸²à¸à¸‚à¸§à¸²à¹„à¸›à¸‹à¹‰à¸²à¸¢ (RTL)",
+DlgDocLangCode		: "à¸£à¸«à¸±à¸ªà¸ à¸²à¸©à¸²",
+DlgDocCharSet		: "à¸Šà¸¸à¸”à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£",
+DlgDocCharSetCE		: "Central European",
+DlgDocCharSetCT		: "Chinese Traditional (Big5)",
+DlgDocCharSetCR		: "Cyrillic",
+DlgDocCharSetGR		: "Greek",
+DlgDocCharSetJP		: "Japanese",
+DlgDocCharSetKR		: "Korean",
+DlgDocCharSetTR		: "Turkish",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "Western European",
+DlgDocCharSetOther	: "à¸Šà¸¸à¸”à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¸­à¸·à¹ˆà¸™à¹†",
+
+DlgDocDocType		: "à¸›à¸£à¸°à¹€à¸ à¸—à¸‚à¸­à¸‡à¹€à¸­à¸à¸ªà¸²à¸£",
+DlgDocDocTypeOther	: "à¸›à¸£à¸°à¹€à¸ à¸—à¹€à¸­à¸à¸ªà¸²à¸£à¸­à¸·à¹ˆà¸™à¹†",
+DlgDocIncXHTML		: "à¸£à¸§à¸¡à¹€à¸­à¸²  XHTML Declarations à¹„à¸§à¹‰à¸”à¹‰à¸§à¸¢",
+DlgDocBgColor		: "à¸ªà¸µà¸à¸·à¹‰à¸™à¸«à¸¥à¸±à¸‡",
+DlgDocBgImage		: "à¸—à¸µà¹ˆà¸­à¸¢à¸¹à¹ˆà¸­à¹‰à¸²à¸‡à¸­à¸´à¸‡à¸­à¸­à¸™à¹„à¸¥à¸™à¹Œà¸‚à¸­à¸‡à¸£à¸¹à¸›à¸à¸·à¹‰à¸™à¸«à¸¥à¸±à¸‡ (Image URL)",
+DlgDocBgNoScroll	: "à¸à¸·à¹‰à¸™à¸«à¸¥à¸±à¸‡à¹à¸šà¸šà¹„à¸¡à¹ˆà¸¡à¸µà¹à¸–à¸šà¹€à¸¥à¸·à¹ˆà¸­à¸™",
+DlgDocCText			: "à¸‚à¹‰à¸­à¸„à¸§à¸²à¸¡",
+DlgDocCLink			: "à¸¥à¸´à¸‡à¸„à¹Œ",
+DlgDocCVisited		: "à¸¥à¸´à¸‡à¸„à¹Œà¸—à¸µà¹ˆà¹€à¸„à¸¢à¸„à¸¥à¸´à¹‰à¸à¹à¸¥à¹‰à¸§ Visited Link",
+DlgDocCActive		: "à¸¥à¸´à¸‡à¸„à¹Œà¸—à¸µà¹ˆà¸à¸³à¸¥à¸±à¸‡à¸„à¸¥à¸´à¹‰à¸ Active Link",
+DlgDocMargins		: "à¸£à¸°à¸¢à¸°à¸‚à¸­à¸šà¸‚à¸­à¸‡à¸«à¸™à¹‰à¸²à¹€à¸­à¸à¸ªà¸²à¸£",
+DlgDocMaTop			: "à¸”à¹‰à¸²à¸™à¸šà¸™",
+DlgDocMaLeft		: "à¸”à¹‰à¸²à¸™à¸‹à¹‰à¸²à¸¢",
+DlgDocMaRight		: "à¸”à¹‰à¸²à¸™à¸‚à¸§à¸²",
+DlgDocMaBottom		: "à¸”à¹‰à¸²à¸™à¸¥à¹ˆà¸²à¸‡",
+DlgDocMeIndex		: "à¸„à¸³à¸ªà¸³à¸„à¸±à¸à¸­à¸˜à¸´à¸šà¸²à¸¢à¹€à¸­à¸à¸ªà¸²à¸£ (à¸„à¸±à¹ˆà¸™à¸„à¸³à¸”à¹‰à¸§à¸¢ à¸„à¸­à¸¡à¸¡à¹ˆà¸²)",
+DlgDocMeDescr		: "à¸›à¸£à¸°à¹‚à¸¢à¸„à¸­à¸˜à¸´à¸šà¸²à¸¢à¹€à¸à¸µà¹ˆà¸¢à¸§à¸à¸±à¸šà¹€à¸­à¸à¸ªà¸²à¸£",
+DlgDocMeAuthor		: "à¸œà¸¹à¹‰à¸ªà¸£à¹‰à¸²à¸‡à¹€à¸­à¸à¸ªà¸²à¸£",
+DlgDocMeCopy		: "à¸ªà¸‡à¸§à¸™à¸¥à¸´à¸‚à¸ªà¸´à¸—à¸˜à¸´à¹Œ",
+DlgDocPreview		: "à¸•à¸±à¸§à¸­à¸¢à¹ˆà¸²à¸‡à¸«à¸™à¹‰à¸²à¹€à¸­à¸à¸ªà¸²à¸£",
+
+// Templates Dialog
+Templates			: "à¹€à¸—à¸¡à¹€à¸à¸¥à¸•",
+DlgTemplatesTitle	: "à¹€à¸—à¸¡à¹€à¸à¸¥à¸•à¸‚à¸­à¸‡à¸ªà¹ˆà¸§à¸™à¹€à¸™à¸·à¹‰à¸­à¸«à¸²à¹€à¸§à¹‡à¸šà¹„à¸‹à¸•à¹Œ",
+DlgTemplatesSelMsg	: "à¸à¸£à¸¸à¸“à¸²à¹€à¸¥à¸·à¸­à¸ à¹€à¸—à¸¡à¹€à¸à¸¥à¸• à¹€à¸à¸·à¹ˆà¸­à¸™à¸³à¹„à¸›à¹à¸à¹‰à¹„à¸‚à¹ƒà¸™à¸­à¸µà¸”à¸´à¸•à¹€à¸•à¸­à¸£à¹Œ<br />(à¹€à¸™à¸·à¹‰à¸­à¸«à¸²à¸ªà¹ˆà¸§à¸™à¸™à¸µà¹‰à¸ˆà¸°à¸«à¸²à¸¢à¹„à¸›):",
+DlgTemplatesLoading	: "à¸à¸³à¸¥à¸±à¸‡à¹‚à¸«à¸¥à¸”à¸£à¸²à¸¢à¸à¸²à¸£à¹€à¸—à¸¡à¹€à¸à¸¥à¸•à¸—à¸±à¹‰à¸‡à¸«à¸¡à¸”...",
+DlgTemplatesNoTpl	: "(à¸¢à¸±à¸‡à¹„à¸¡à¹ˆà¸¡à¸µà¸à¸²à¸£à¸à¸³à¸«à¸™à¸”à¹€à¸—à¸¡à¹€à¸à¸¥à¸•)",
+DlgTemplatesReplace	: "à¹à¸—à¸™à¸—à¸µà¹ˆà¹€à¸™à¸·à¹‰à¸­à¸«à¸²à¹€à¸§à¹‡à¸šà¹„à¸‹à¸•à¹Œà¸—à¸µà¹ˆà¹€à¸¥à¸·à¸­à¸",
+
+// About Dialog
+DlgAboutAboutTab	: "à¹€à¸à¸µà¹ˆà¸¢à¸§à¸à¸±à¸šà¹‚à¸›à¸£à¹à¸à¸£à¸¡",
+DlgAboutBrowserInfoTab	: "à¹‚à¸›à¸£à¹à¸à¸£à¸¡à¸—à¹ˆà¸­à¸‡à¹€à¸§à¹‡à¸šà¸—à¸µà¹ˆà¸—à¹ˆà¸²à¸™à¹ƒà¸Šà¹‰",
+DlgAboutLicenseTab	: "à¸¥à¸´à¸‚à¸ªà¸´à¸—à¸˜à¸´à¹Œ",
+DlgAboutVersion		: "à¸£à¸¸à¹ˆà¸™",
+DlgAboutInfo		: "For further information go to",	//MISSING
+
+// Div Dialog
+DlgDivGeneralTab	: "General",	//MISSING
+DlgDivAdvancedTab	: "Advanced",	//MISSING
+DlgDivStyle		: "Style",	//MISSING
+DlgDivInlineStyle	: "Inline Style",	//MISSING
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/it.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/it.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/it.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Italian language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Nascondi la barra degli strumenti",
+ToolbarExpand		: "Mostra la barra degli strumenti",
+
+// Toolbar Items and Context Menu
+Save				: "Salva",
+NewPage				: "Nuova pagina vuota",
+Preview				: "Anteprima",
+Cut					: "Taglia",
+Copy				: "Copia",
+Paste				: "Incolla",
+PasteText			: "Incolla come testo semplice",
+PasteWord			: "Incolla da Word",
+Print				: "Stampa",
+SelectAll			: "Seleziona tutto",
+RemoveFormat		: "Elimina formattazione",
+InsertLinkLbl		: "Collegamento",
+InsertLink			: "Inserisci/Modifica collegamento",
+RemoveLink			: "Elimina collegamento",
+VisitLink			: "Open Link",	//MISSING
+Anchor				: "Inserisci/Modifica Ancora",
+AnchorDelete		: "Rimuovi Ancora",
+InsertImageLbl		: "Immagine",
+InsertImage			: "Inserisci/Modifica immagine",
+InsertFlashLbl		: "Oggetto Flash",
+InsertFlash			: "Inserisci/Modifica Oggetto Flash",
+InsertTableLbl		: "Tabella",
+InsertTable			: "Inserisci/Modifica tabella",
+InsertLineLbl		: "Riga orizzontale",
+InsertLine			: "Inserisci riga orizzontale",
+InsertSpecialCharLbl: "Caratteri speciali",
+InsertSpecialChar	: "Inserisci carattere speciale",
+InsertSmileyLbl		: "Emoticon",
+InsertSmiley		: "Inserisci emoticon",
+About				: "Informazioni su FCKeditor",
+Bold				: "Grassetto",
+Italic				: "Corsivo",
+Underline			: "Sottolineato",
+StrikeThrough		: "Barrato",
+Subscript			: "Pedice",
+Superscript			: "Apice",
+LeftJustify			: "Allinea a sinistra",
+CenterJustify		: "Centra",
+RightJustify		: "Allinea a destra",
+BlockJustify		: "Giustifica",
+DecreaseIndent		: "Riduci rientro",
+IncreaseIndent		: "Aumenta rientro",
+Blockquote			: "Blockquote",	//MISSING
+CreateDiv			: "Create Div Container",	//MISSING
+EditDiv				: "Edit Div Container",	//MISSING
+DeleteDiv			: "Remove Div Container",	//MISSING
+Undo				: "Annulla",
+Redo				: "Ripristina",
+NumberedListLbl		: "Elenco numerato",
+NumberedList		: "Inserisci/Modifica elenco numerato",
+BulletedListLbl		: "Elenco puntato",
+BulletedList		: "Inserisci/Modifica elenco puntato",
+ShowTableBorders	: "Mostra bordi tabelle",
+ShowDetails			: "Mostra dettagli",
+Style				: "Stile",
+FontFormat			: "Formato",
+Font				: "Font",
+FontSize			: "Dimensione",
+TextColor			: "Colore testo",
+BGColor				: "Colore sfondo",
+Source				: "Codice Sorgente",
+Find				: "Trova",
+Replace				: "Sostituisci",
+SpellCheck			: "Correttore ortografico",
+UniversalKeyboard	: "Tastiera universale",
+PageBreakLbl		: "Interruzione di pagina",
+PageBreak			: "Inserisci interruzione di pagina",
+
+Form			: "Modulo",
+Checkbox		: "Checkbox",
+RadioButton		: "Radio Button",
+TextField		: "Campo di testo",
+Textarea		: "Area di testo",
+HiddenField		: "Campo nascosto",
+Button			: "Bottone",
+SelectionField	: "Menu di selezione",
+ImageButton		: "Bottone immagine",
+
+FitWindow		: "Massimizza l'area dell'editor",
+ShowBlocks		: "Visualizza Blocchi",
+
+// Context Menu
+EditLink			: "Modifica collegamento",
+CellCM				: "Cella",
+RowCM				: "Riga",
+ColumnCM			: "Colonna",
+InsertRowAfter		: "Inserisci Riga Dopo",
+InsertRowBefore		: "Inserisci Riga Prima",
+DeleteRows			: "Elimina righe",
+InsertColumnAfter	: "Inserisci Colonna Dopo",
+InsertColumnBefore	: "Inserisci Colonna Prima",
+DeleteColumns		: "Elimina colonne",
+InsertCellAfter		: "Inserisci Cella Dopo",
+InsertCellBefore	: "Inserisci Cella Prima",
+DeleteCells			: "Elimina celle",
+MergeCells			: "Unisce celle",
+MergeRight			: "Unisci a Destra",
+MergeDown			: "Unisci in Basso",
+HorizontalSplitCell	: "Dividi Cella Orizzontalmente",
+VerticalSplitCell	: "Dividi Cella Verticalmente",
+TableDelete			: "Cancella Tabella",
+CellProperties		: "ProprietÃ  cella",
+TableProperties		: "ProprietÃ  tabella",
+ImageProperties		: "ProprietÃ  immagine",
+FlashProperties		: "ProprietÃ  Oggetto Flash",
+
+AnchorProp			: "ProprietÃ  ancora",
+ButtonProp			: "ProprietÃ  bottone",
+CheckboxProp		: "ProprietÃ  checkbox",
+HiddenFieldProp		: "ProprietÃ  campo nascosto",
+RadioButtonProp		: "ProprietÃ  radio button",
+ImageButtonProp		: "ProprietÃ  bottone immagine",
+TextFieldProp		: "ProprietÃ  campo di testo",
+SelectionFieldProp	: "ProprietÃ  menu di selezione",
+TextareaProp		: "ProprietÃ  area di testo",
+FormProp			: "ProprietÃ  modulo",
+
+FontFormats			: "Normale;Formattato;Indirizzo;Titolo 1;Titolo 2;Titolo 3;Titolo 4;Titolo 5;Titolo 6;Paragrafo (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "Elaborazione XHTML in corso. Attendere prego...",
+Done				: "Completato",
+PasteWordConfirm	: "Il testo da incollare sembra provenire da Word. Desideri pulirlo prima di incollare?",
+NotCompatiblePaste	: "Questa funzione Ã¨ disponibile solo per Internet Explorer 5.5 o superiore. Desideri incollare il testo senza pulirlo?",
+UnknownToolbarItem	: "Elemento della barra strumenti sconosciuto \"%1\"",
+UnknownCommand		: "Comando sconosciuto \"%1\"",
+NotImplemented		: "Comando non implementato",
+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.",
+BrowseServerBlocked : "Non Ã¨ possibile aprire la finestra di espolorazione risorse. Verifica che tutti i blocca popup siano bloccati.",
+DialogBlocked		: "Non Ã¨ possibile aprire la finestra di dialogo. Verifica che tutti i blocca popup siano bloccati.",
+VisitLinkBlocked	: "It was not possible to open a new window. Make sure all popup blockers are disabled.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Annulla",
+DlgBtnClose			: "Chiudi",
+DlgBtnBrowseServer	: "Cerca sul server",
+DlgAdvancedTag		: "Avanzate",
+DlgOpOther			: "<Altro>",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "Devi inserire l'URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<non impostato>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Direzione scrittura",
+DlgGenLangDirLtr	: "Da Sinistra a Destra (LTR)",
+DlgGenLangDirRtl	: "Da Destra a Sinistra (RTL)",
+DlgGenLangCode		: "Codice Lingua",
+DlgGenAccessKey		: "Scorciatoia<br />da tastiera",
+DlgGenName			: "Nome",
+DlgGenTabIndex		: "Ordine di tabulazione",
+DlgGenLongDescr		: "URL descrizione estesa",
+DlgGenClass			: "Nome classe CSS",
+DlgGenTitle			: "Titolo",
+DlgGenContType		: "Tipo della risorsa collegata",
+DlgGenLinkCharset	: "Set di caretteri della risorsa collegata",
+DlgGenStyle			: "Stile",
+
+// Image Dialog
+DlgImgTitle			: "ProprietÃ  immagine",
+DlgImgInfoTab		: "Informazioni immagine",
+DlgImgBtnUpload		: "Invia al server",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Carica",
+DlgImgAlt			: "Testo alternativo",
+DlgImgWidth			: "Larghezza",
+DlgImgHeight		: "Altezza",
+DlgImgLockRatio		: "Blocca rapporto",
+DlgBtnResetSize		: "Reimposta dimensione",
+DlgImgBorder		: "Bordo",
+DlgImgHSpace		: "HSpace",
+DlgImgVSpace		: "VSpace",
+DlgImgAlign			: "Allineamento",
+DlgImgAlignLeft		: "Sinistra",
+DlgImgAlignAbsBottom: "In basso assoluto",
+DlgImgAlignAbsMiddle: "Centrato assoluto",
+DlgImgAlignBaseline	: "Linea base",
+DlgImgAlignBottom	: "In Basso",
+DlgImgAlignMiddle	: "Centrato",
+DlgImgAlignRight	: "Destra",
+DlgImgAlignTextTop	: "In alto al testo",
+DlgImgAlignTop		: "In Alto",
+DlgImgPreview		: "Anteprima",
+DlgImgAlertUrl		: "Devi inserire l'URL per l'immagine",
+DlgImgLinkTab		: "Collegamento",
+
+// Flash Dialog
+DlgFlashTitle		: "ProprietÃ  Oggetto Flash",
+DlgFlashChkPlay		: "Avvio Automatico",
+DlgFlashChkLoop		: "Cicla",
+DlgFlashChkMenu		: "Abilita Menu di Flash",
+DlgFlashScale		: "Ridimensiona",
+DlgFlashScaleAll	: "Mostra Tutto",
+DlgFlashScaleNoBorder	: "Senza Bordo",
+DlgFlashScaleFit	: "Dimensione Esatta",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Collegamento",
+DlgLnkInfoTab		: "Informazioni collegamento",
+DlgLnkTargetTab		: "Destinazione",
+
+DlgLnkType			: "Tipo di Collegamento",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Ancora nella pagina",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protocollo",
+DlgLnkProtoOther	: "<altro>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Scegli Ancora",
+DlgLnkAnchorByName	: "Per Nome",
+DlgLnkAnchorById	: "Per id elemento",
+DlgLnkNoAnchors		: "(Nessuna ancora disponibile nel documento)",
+DlgLnkEMail			: "Indirizzo E-Mail",
+DlgLnkEMailSubject	: "Oggetto del messaggio",
+DlgLnkEMailBody		: "Corpo del messaggio",
+DlgLnkUpload		: "Carica",
+DlgLnkBtnUpload		: "Invia al Server",
+
+DlgLnkTarget		: "Destinazione",
+DlgLnkTargetFrame	: "<riquadro>",
+DlgLnkTargetPopup	: "<finestra popup>",
+DlgLnkTargetBlank	: "Nuova finestra (_blank)",
+DlgLnkTargetParent	: "Finestra padre (_parent)",
+DlgLnkTargetSelf	: "Stessa finestra (_self)",
+DlgLnkTargetTop		: "Finestra superiore (_top)",
+DlgLnkTargetFrameName	: "Nome del riquadro di destinazione",
+DlgLnkPopWinName	: "Nome finestra popup",
+DlgLnkPopWinFeat	: "Caratteristiche finestra popup",
+DlgLnkPopResize		: "Ridimensionabile",
+DlgLnkPopLocation	: "Barra degli indirizzi",
+DlgLnkPopMenu		: "Barra del menu",
+DlgLnkPopScroll		: "Barre di scorrimento",
+DlgLnkPopStatus		: "Barra di stato",
+DlgLnkPopToolbar	: "Barra degli strumenti",
+DlgLnkPopFullScrn	: "A tutto schermo (IE)",
+DlgLnkPopDependent	: "Dipendente (Netscape)",
+DlgLnkPopWidth		: "Larghezza",
+DlgLnkPopHeight		: "Altezza",
+DlgLnkPopLeft		: "Posizione da sinistra",
+DlgLnkPopTop		: "Posizione dall'alto",
+
+DlnLnkMsgNoUrl		: "Devi inserire l'URL del collegamento",
+DlnLnkMsgNoEMail	: "Devi inserire un'indirizzo e-mail",
+DlnLnkMsgNoAnchor	: "Devi selezionare un'ancora",
+DlnLnkMsgInvPopName	: "Il nome del popup deve iniziare con una lettera, e non puÃ² contenere spazi",
+
+// Color Dialog
+DlgColorTitle		: "Seleziona colore",
+DlgColorBtnClear	: "Vuota",
+DlgColorHighlight	: "Evidenziato",
+DlgColorSelected	: "Selezionato",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Inserisci emoticon",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Seleziona carattere speciale",
+
+// Table Dialog
+DlgTableTitle		: "ProprietÃ  tabella",
+DlgTableRows		: "Righe",
+DlgTableColumns		: "Colonne",
+DlgTableBorder		: "Dimensione bordo",
+DlgTableAlign		: "Allineamento",
+DlgTableAlignNotSet	: "<non impostato>",
+DlgTableAlignLeft	: "Sinistra",
+DlgTableAlignCenter	: "Centrato",
+DlgTableAlignRight	: "Destra",
+DlgTableWidth		: "Larghezza",
+DlgTableWidthPx		: "pixel",
+DlgTableWidthPc		: "percento",
+DlgTableHeight		: "Altezza",
+DlgTableCellSpace	: "Spaziatura celle",
+DlgTableCellPad		: "Padding celle",
+DlgTableCaption		: "Intestazione",
+DlgTableSummary		: "Indice",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "ProprietÃ  cella",
+DlgCellWidth		: "Larghezza",
+DlgCellWidthPx		: "pixel",
+DlgCellWidthPc		: "percento",
+DlgCellHeight		: "Altezza",
+DlgCellWordWrap		: "A capo automatico",
+DlgCellWordWrapNotSet	: "<non impostato>",
+DlgCellWordWrapYes	: "Si",
+DlgCellWordWrapNo	: "No",
+DlgCellHorAlign		: "Allineamento orizzontale",
+DlgCellHorAlignNotSet	: "<non impostato>",
+DlgCellHorAlignLeft	: "Sinistra",
+DlgCellHorAlignCenter	: "Centrato",
+DlgCellHorAlignRight: "Destra",
+DlgCellVerAlign		: "Allineamento verticale",
+DlgCellVerAlignNotSet	: "<non impostato>",
+DlgCellVerAlignTop	: "In Alto",
+DlgCellVerAlignMiddle	: "Centrato",
+DlgCellVerAlignBottom	: "In Basso",
+DlgCellVerAlignBaseline	: "Linea base",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "Righe occupate",
+DlgCellCollSpan		: "Colonne occupate",
+DlgCellBackColor	: "Colore sfondo",
+DlgCellBorderColor	: "Colore bordo",
+DlgCellBtnSelect	: "Scegli...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Cerca e Sostituisci",
+
+// Find Dialog
+DlgFindTitle		: "Trova",
+DlgFindFindBtn		: "Trova",
+DlgFindNotFoundMsg	: "L'elemento cercato non Ã¨ stato trovato.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Sostituisci",
+DlgReplaceFindLbl		: "Trova:",
+DlgReplaceReplaceLbl	: "Sostituisci con:",
+DlgReplaceCaseChk		: "Maiuscole/minuscole",
+DlgReplaceReplaceBtn	: "Sostituisci",
+DlgReplaceReplAllBtn	: "Sostituisci tutto",
+DlgReplaceWordChk		: "Solo parole intere",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "Le impostazioni di sicurezza del browser non permettono di tagliare automaticamente il testo. Usa la tastiera (Ctrl+X).",
+PasteErrorCopy	: "Le impostazioni di sicurezza del browser non permettono di copiare automaticamente il testo. Usa la tastiera (Ctrl+C).",
+
+PasteAsText		: "Incolla come testo semplice",
+PasteFromWord	: "Incolla da Word",
+
+DlgPasteMsg2	: "Incolla il testo all'interno dell'area sottostante usando la scorciatoia di tastiere (<STRONG>Ctrl+V</STRONG>) e premi <STRONG>OK</STRONG>.",
+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.",
+DlgPasteIgnoreFont		: "Ignora le definizioni di Font",
+DlgPasteRemoveStyles	: "Rimuovi le definizioni di Stile",
+
+// Color Picker
+ColorAutomatic	: "Automatico",
+ColorMoreColors	: "Altri colori...",
+
+// Document Properties
+DocProps		: "ProprietÃ  del Documento",
+
+// Anchor Dialog
+DlgAnchorTitle		: "ProprietÃ  ancora",
+DlgAnchorName		: "Nome ancora",
+DlgAnchorErrorName	: "Inserici il nome dell'ancora",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Non nel dizionario",
+DlgSpellChangeTo		: "Cambia in",
+DlgSpellBtnIgnore		: "Ignora",
+DlgSpellBtnIgnoreAll	: "Ignora tutto",
+DlgSpellBtnReplace		: "Cambia",
+DlgSpellBtnReplaceAll	: "Cambia tutto",
+DlgSpellBtnUndo			: "Annulla",
+DlgSpellNoSuggestions	: "- Nessun suggerimento -",
+DlgSpellProgress		: "Controllo ortografico in corso",
+DlgSpellNoMispell		: "Controllo ortografico completato: nessun errore trovato",
+DlgSpellNoChanges		: "Controllo ortografico completato: nessuna parola cambiata",
+DlgSpellOneChange		: "Controllo ortografico completato: 1 parola cambiata",
+DlgSpellManyChanges		: "Controllo ortografico completato: %1 parole cambiate",
+
+IeSpellDownload			: "Contollo ortografico non installato. Lo vuoi scaricare ora?",
+
+// Button Dialog
+DlgButtonText		: "Testo (Value)",
+DlgButtonType		: "Tipo",
+DlgButtonTypeBtn	: "Bottone",
+DlgButtonTypeSbm	: "Invio",
+DlgButtonTypeRst	: "Annulla",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Nome",
+DlgCheckboxValue	: "Valore",
+DlgCheckboxSelected	: "Selezionato",
+
+// Form Dialog
+DlgFormName		: "Nome",
+DlgFormAction	: "Azione",
+DlgFormMethod	: "Metodo",
+
+// Select Field Dialog
+DlgSelectName		: "Nome",
+DlgSelectValue		: "Valore",
+DlgSelectSize		: "Dimensione",
+DlgSelectLines		: "righe",
+DlgSelectChkMulti	: "Permetti selezione multipla",
+DlgSelectOpAvail	: "Opzioni disponibili",
+DlgSelectOpText		: "Testo",
+DlgSelectOpValue	: "Valore",
+DlgSelectBtnAdd		: "Aggiungi",
+DlgSelectBtnModify	: "Modifica",
+DlgSelectBtnUp		: "Su",
+DlgSelectBtnDown	: "Gi",
+DlgSelectBtnSetValue : "Imposta come predefinito",
+DlgSelectBtnDelete	: "Rimuovi",
+
+// Textarea Dialog
+DlgTextareaName	: "Nome",
+DlgTextareaCols	: "Colonne",
+DlgTextareaRows	: "Righe",
+
+// Text Field Dialog
+DlgTextName			: "Nome",
+DlgTextValue		: "Valore",
+DlgTextCharWidth	: "Larghezza",
+DlgTextMaxChars		: "Numero massimo di caratteri",
+DlgTextType			: "Tipo",
+DlgTextTypeText		: "Testo",
+DlgTextTypePass		: "Password",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Nome",
+DlgHiddenValue	: "Valore",
+
+// Bulleted List Dialog
+BulletedListProp	: "ProprietÃ  lista puntata",
+NumberedListProp	: "ProprietÃ  lista numerata",
+DlgLstStart			: "Inizio",
+DlgLstType			: "Tipo",
+DlgLstTypeCircle	: "Tondo",
+DlgLstTypeDisc		: "Disco",
+DlgLstTypeSquare	: "Quadrato",
+DlgLstTypeNumbers	: "Numeri (1, 2, 3)",
+DlgLstTypeLCase		: "Caratteri minuscoli (a, b, c)",
+DlgLstTypeUCase		: "Caratteri maiuscoli (A, B, C)",
+DlgLstTypeSRoman	: "Numeri Romani minuscoli (i, ii, iii)",
+DlgLstTypeLRoman	: "Numeri Romani maiuscoli (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Genarale",
+DlgDocBackTab		: "Sfondo",
+DlgDocColorsTab		: "Colori e margini",
+DlgDocMetaTab		: "Meta Data",
+
+DlgDocPageTitle		: "Titolo pagina",
+DlgDocLangDir		: "Direzione scrittura",
+DlgDocLangDirLTR	: "Da Sinistra a Destra (LTR)",
+DlgDocLangDirRTL	: "Da Destra a Sinistra (RTL)",
+DlgDocLangCode		: "Codice Lingua",
+DlgDocCharSet		: "Set di caretteri",
+DlgDocCharSetCE		: "Europa Centrale",
+DlgDocCharSetCT		: "Cinese Tradizionale (Big5)",
+DlgDocCharSetCR		: "Cirillico",
+DlgDocCharSetGR		: "Greco",
+DlgDocCharSetJP		: "Giapponese",
+DlgDocCharSetKR		: "Coreano",
+DlgDocCharSetTR		: "Turco",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "Europa Occidentale",
+DlgDocCharSetOther	: "Altro set di caretteri",
+
+DlgDocDocType		: "Intestazione DocType",
+DlgDocDocTypeOther	: "Altra intestazione DocType",
+DlgDocIncXHTML		: "Includi dichiarazione XHTML",
+DlgDocBgColor		: "Colore di sfondo",
+DlgDocBgImage		: "Immagine di sfondo",
+DlgDocBgNoScroll	: "Sfondo fissato",
+DlgDocCText			: "Testo",
+DlgDocCLink			: "Collegamento",
+DlgDocCVisited		: "Collegamento visitato",
+DlgDocCActive		: "Collegamento attivo",
+DlgDocMargins		: "Margini",
+DlgDocMaTop			: "In Alto",
+DlgDocMaLeft		: "A Sinistra",
+DlgDocMaRight		: "A Destra",
+DlgDocMaBottom		: "In Basso",
+DlgDocMeIndex		: "Chiavi di indicizzazione documento (separate da virgola)",
+DlgDocMeDescr		: "Descrizione documento",
+DlgDocMeAuthor		: "Autore",
+DlgDocMeCopy		: "Copyright",
+DlgDocPreview		: "Anteprima",
+
+// Templates Dialog
+Templates			: "Modelli",
+DlgTemplatesTitle	: "Contenuto dei modelli",
+DlgTemplatesSelMsg	: "Seleziona il modello da aprire nell'editor<br />(il contenuto attuale verrÃ  eliminato):",
+DlgTemplatesLoading	: "Caricamento modelli in corso. Attendere prego...",
+DlgTemplatesNoTpl	: "(Nessun modello definito)",
+DlgTemplatesReplace	: "Cancella il contenuto corrente",
+
+// About Dialog
+DlgAboutAboutTab	: "Informazioni",
+DlgAboutBrowserInfoTab	: "Informazioni Browser",
+DlgAboutLicenseTab	: "Licenza",
+DlgAboutVersion		: "versione",
+DlgAboutInfo		: "Per maggiori informazioni visitare",
+
+// Div Dialog
+DlgDivGeneralTab	: "General",	//MISSING
+DlgDivAdvancedTab	: "Advanced",	//MISSING
+DlgDivStyle		: "Style",	//MISSING
+DlgDivInlineStyle	: "Inline Style",	//MISSING
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/sl.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/sl.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/sl.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Slovenian language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "ZloÅ¾i orodno vrstico",
+ToolbarExpand		: "RazÅ¡iri orodno vrstico",
+
+// Toolbar Items and Context Menu
+Save				: "Shrani",
+NewPage				: "Nova stran",
+Preview				: "Predogled",
+Cut					: "IzreÅ¾i",
+Copy				: "Kopiraj",
+Paste				: "Prilepi",
+PasteText			: "Prilepi kot golo besedilo",
+PasteWord			: "Prilepi iz Worda",
+Print				: "Natisni",
+SelectAll			: "Izberi vse",
+RemoveFormat		: "Odstrani oblikovanje",
+InsertLinkLbl		: "Povezava",
+InsertLink			: "Vstavi/uredi povezavo",
+RemoveLink			: "Odstrani povezavo",
+VisitLink			: "Open Link",	//MISSING
+Anchor				: "Vstavi/uredi zaznamek",
+AnchorDelete		: "Odstrani zaznamek",
+InsertImageLbl		: "Slika",
+InsertImage			: "Vstavi/uredi sliko",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Vstavi/Uredi Flash",
+InsertTableLbl		: "Tabela",
+InsertTable			: "Vstavi/uredi tabelo",
+InsertLineLbl		: "ÄŒrta",
+InsertLine			: "Vstavi vodoravno Ärto",
+InsertSpecialCharLbl: "Posebni znak",
+InsertSpecialChar	: "Vstavi posebni znak",
+InsertSmileyLbl		: "SmeÅ¡ko",
+InsertSmiley		: "Vstavi smeÅ¡ka",
+About				: "O FCKeditorju",
+Bold				: "Krepko",
+Italic				: "LeÅ¾eÄe",
+Underline			: "PodÄrtano",
+StrikeThrough		: "PreÄrtano",
+Subscript			: "Podpisano",
+Superscript			: "Nadpisano",
+LeftJustify			: "Leva poravnava",
+CenterJustify		: "Sredinska poravnava",
+RightJustify		: "Desna poravnava",
+BlockJustify		: "Obojestranska poravnava",
+DecreaseIndent		: "ZmanjÅ¡aj zamik",
+IncreaseIndent		: "PoveÄaj zamik",
+Blockquote			: "Citat",
+CreateDiv			: "Ustvari Div element",
+EditDiv				: "Uredi Div element",
+DeleteDiv			: "Odstrani Div element",
+Undo				: "Razveljavi",
+Redo				: "Ponovi",
+NumberedListLbl		: "OÅ¡tevilÄen seznam",
+NumberedList		: "Vstavi/odstrani oÅ¡tevilÄevanje",
+BulletedListLbl		: "OznaÄen seznam",
+BulletedList		: "Vstavi/odstrani oznaÄevanje",
+ShowTableBorders	: "PokaÅ¾i meje tabele",
+ShowDetails			: "PokaÅ¾i podrobnosti",
+Style				: "Slog",
+FontFormat			: "Oblika",
+Font				: "Pisava",
+FontSize			: "Velikost",
+TextColor			: "Barva besedila",
+BGColor				: "Barva ozadja",
+Source				: "Izvorna koda",
+Find				: "Najdi",
+Replace				: "Zamenjaj",
+SpellCheck			: "Preveri Ärkovanje",
+UniversalKeyboard	: "VeÄjeziÄna tipkovnica",
+PageBreakLbl		: "Prelom strani",
+PageBreak			: "Vstavi prelom strani",
+
+Form			: "Obrazec",
+Checkbox		: "Potrditveno polje",
+RadioButton		: "Izbirno polje",
+TextField		: "Vnosno polje",
+Textarea		: "Vnosno obmoÄje",
+HiddenField		: "Skrito polje",
+Button			: "Gumb",
+SelectionField	: "Spustni seznam",
+ImageButton		: "Gumb s sliko",
+
+FitWindow		: "RazÅ¡iri velikost urejevalnika Äez cel zaslon",
+ShowBlocks		: "PrikaÅ¾i ograde",
+
+// Context Menu
+EditLink			: "Uredi povezavo",
+CellCM				: "Celica",
+RowCM				: "Vrstica",
+ColumnCM			: "Stolpec",
+InsertRowAfter		: "Vstavi vrstico za",
+InsertRowBefore		: "Vstavi vrstico pred",
+DeleteRows			: "IzbriÅ¡i vrstice",
+InsertColumnAfter	: "Vstavi stolpec za",
+InsertColumnBefore	: "Vstavi stolpec pred",
+DeleteColumns		: "IzbriÅ¡i stolpce",
+InsertCellAfter		: "Vstavi celico za",
+InsertCellBefore	: "Vstavi celico pred",
+DeleteCells			: "IzbriÅ¡i celice",
+MergeCells			: "ZdruÅ¾i celice",
+MergeRight			: "ZdruÅ¾i desno",
+MergeDown			: "DruÅ¾i navzdol",
+HorizontalSplitCell	: "Razdeli celico vodoravno",
+VerticalSplitCell	: "Razdeli celico navpiÄno",
+TableDelete			: "IzbriÅ¡i tabelo",
+CellProperties		: "Lastnosti celice",
+TableProperties		: "Lastnosti tabele",
+ImageProperties		: "Lastnosti slike",
+FlashProperties		: "Lastnosti Flash",
+
+AnchorProp			: "Lastnosti zaznamka",
+ButtonProp			: "Lastnosti gumba",
+CheckboxProp		: "Lastnosti potrditvenega polja",
+HiddenFieldProp		: "Lastnosti skritega polja",
+RadioButtonProp		: "Lastnosti izbirnega polja",
+ImageButtonProp		: "Lastnosti gumba s sliko",
+TextFieldProp		: "Lastnosti vnosnega polja",
+SelectionFieldProp	: "Lastnosti spustnega seznama",
+TextareaProp		: "Lastnosti vnosnega obmoÄja",
+FormProp			: "Lastnosti obrazca",
+
+FontFormats			: "Navaden;Oblikovan;Napis;Naslov 1;Naslov 2;Naslov 3;Naslov 4;Naslov 5;Naslov 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "Obdelujem XHTML. Prosim poÄakajte...",
+Done				: "Narejeno",
+PasteWordConfirm	: "Izgleda, da Å¾elite prilepiti besedilo iz Worda. Ali ga Å¾elite oÄistiti, preden ga prilepite?",
+NotCompatiblePaste	: "Ta ukaz deluje le v Internet Explorerje razliÄice 5.5 ali viÅ¡je. Ali Å¾elite prilepiti brez ÄiÅ¡Äenja?",
+UnknownToolbarItem	: "Neznan element orodne vrstice \"%1\"",
+UnknownCommand		: "Neznano ime ukaza \"%1\"",
+NotImplemented		: "Ukaz ni izdelan",
+UnknownToolbarSet	: "Skupina orodnih vrstic \"%1\" ne obstoja",
+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\".",
+BrowseServerBlocked : "Brskalnik virov se ne more odpreti. PrepriÄajte se, da je prepreÄevanje pojavnih oken onemogoÄeno.",
+DialogBlocked		: "Pogovorno okno se ni moglo odpreti. PrepriÄajte se, da je prepreÄevanje pojavnih oken onemogoÄeno.",
+VisitLinkBlocked	: "Pogovorno okno se ni moglo odpreti. PrepriÄajte se, da je prepreÄevanje pojavnih oken onemogoÄeno.",
+
+// Dialogs
+DlgBtnOK			: "V redu",
+DlgBtnCancel		: "PrekliÄi",
+DlgBtnClose			: "Zapri",
+DlgBtnBrowseServer	: "Prebrskaj na streÅ¾niku",
+DlgAdvancedTag		: "Napredno",
+DlgOpOther			: "<Ostalo>",
+DlgInfoTab			: "Podatki",
+DlgAlertUrl			: "Prosim vpiÅ¡i spletni naslov",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<ni postavljen>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Smer jezika",
+DlgGenLangDirLtr	: "Od leve proti desni (LTR)",
+DlgGenLangDirRtl	: "Od desne proti levi (RTL)",
+DlgGenLangCode		: "Oznaka jezika",
+DlgGenAccessKey		: "Vstopno geslo",
+DlgGenName			: "Ime",
+DlgGenTabIndex		: "Å tevilka tabulatorja",
+DlgGenLongDescr		: "Dolg opis URL-ja",
+DlgGenClass			: "Razred stilne predloge",
+DlgGenTitle			: "Predlagani naslov",
+DlgGenContType		: "Predlagani tip vsebine (content-type)",
+DlgGenLinkCharset	: "Kodna tabela povezanega vira",
+DlgGenStyle			: "Slog",
+
+// Image Dialog
+DlgImgTitle			: "Lastnosti slike",
+DlgImgInfoTab		: "Podatki o sliki",
+DlgImgBtnUpload		: "PoÅ¡lji na streÅ¾nik",
+DlgImgURL			: "URL",
+DlgImgUpload		: "PoÅ¡lji",
+DlgImgAlt			: "Nadomestno besedilo",
+DlgImgWidth			: "Å irina",
+DlgImgHeight		: "ViÅ¡ina",
+DlgImgLockRatio		: "Zakleni razmerje",
+DlgBtnResetSize		: "Ponastavi velikost",
+DlgImgBorder		: "Obroba",
+DlgImgHSpace		: "Vodoravni razmik",
+DlgImgVSpace		: "NavpiÄni razmik",
+DlgImgAlign			: "Poravnava",
+DlgImgAlignLeft		: "Levo",
+DlgImgAlignAbsBottom: "Popolnoma na dno",
+DlgImgAlignAbsMiddle: "Popolnoma v sredino",
+DlgImgAlignBaseline	: "Na osnovno Ärto",
+DlgImgAlignBottom	: "Na dno",
+DlgImgAlignMiddle	: "V sredino",
+DlgImgAlignRight	: "Desno",
+DlgImgAlignTextTop	: "Besedilo na vrh",
+DlgImgAlignTop		: "Na vrh",
+DlgImgPreview		: "Predogled",
+DlgImgAlertUrl		: "Vnesite URL slike",
+DlgImgLinkTab		: "Povezava",
+
+// Flash Dialog
+DlgFlashTitle		: "Lastnosti Flash",
+DlgFlashChkPlay		: "Samodejno predvajaj",
+DlgFlashChkLoop		: "Ponavljanje",
+DlgFlashChkMenu		: "OmogoÄi Flash Meni",
+DlgFlashScale		: "PoveÄava",
+DlgFlashScaleAll	: "PokaÅ¾i vse",
+DlgFlashScaleNoBorder	: "Brez obrobe",
+DlgFlashScaleFit	: "NatanÄno prileganje",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Povezava",
+DlgLnkInfoTab		: "Podatki o povezavi",
+DlgLnkTargetTab		: "Cilj",
+
+DlgLnkType			: "Vrsta povezave",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Zaznamek na tej strani",
+DlgLnkTypeEMail		: "Elektronski naslov",
+DlgLnkProto			: "Protokol",
+DlgLnkProtoOther	: "<drugo>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Izberi zaznamek",
+DlgLnkAnchorByName	: "Po imenu zaznamka",
+DlgLnkAnchorById	: "Po ID-ju elementa",
+DlgLnkNoAnchors		: "(V tem dokumentu ni zaznamkov)",
+DlgLnkEMail			: "Elektronski naslov",
+DlgLnkEMailSubject	: "Predmet sporoÄila",
+DlgLnkEMailBody		: "Vsebina sporoÄila",
+DlgLnkUpload		: "Prenesi",
+DlgLnkBtnUpload		: "PoÅ¡lji na streÅ¾nik",
+
+DlgLnkTarget		: "Cilj",
+DlgLnkTargetFrame	: "<okvir>",
+DlgLnkTargetPopup	: "<pojavno okno>",
+DlgLnkTargetBlank	: "Novo okno (_blank)",
+DlgLnkTargetParent	: "StarÅ¡evsko okno (_parent)",
+DlgLnkTargetSelf	: "Isto okno (_self)",
+DlgLnkTargetTop		: "NajviÅ¡je okno (_top)",
+DlgLnkTargetFrameName	: "Ime ciljnega okvirja",
+DlgLnkPopWinName	: "Ime pojavnega okna",
+DlgLnkPopWinFeat	: "ZnaÄilnosti pojavnega okna",
+DlgLnkPopResize		: "Spremenljive velikosti",
+DlgLnkPopLocation	: "Naslovna vrstica",
+DlgLnkPopMenu		: "Menijska vrstica",
+DlgLnkPopScroll		: "Drsniki",
+DlgLnkPopStatus		: "Vrstica stanja",
+DlgLnkPopToolbar	: "Orodna vrstica",
+DlgLnkPopFullScrn	: "Celozaslonska slika (IE)",
+DlgLnkPopDependent	: "Podokno (Netscape)",
+DlgLnkPopWidth		: "Å irina",
+DlgLnkPopHeight		: "ViÅ¡ina",
+DlgLnkPopLeft		: "Lega levo",
+DlgLnkPopTop		: "Lega na vrhu",
+
+DlnLnkMsgNoUrl		: "Vnesite URL povezave",
+DlnLnkMsgNoEMail	: "Vnesite elektronski naslov",
+DlnLnkMsgNoAnchor	: "Izberite zaznamek",
+DlnLnkMsgInvPopName	: "Ime pojavnega okna se mora zaÄeti s Ärko ali Å¡tevilko in ne sme vsebovati presledkov",
+
+// Color Dialog
+DlgColorTitle		: "Izberite barvo",
+DlgColorBtnClear	: "PoÄisti",
+DlgColorHighlight	: "OznaÄi",
+DlgColorSelected	: "Izbrano",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Vstavi smeÅ¡ka",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Izberi posebni znak",
+
+// Table Dialog
+DlgTableTitle		: "Lastnosti tabele",
+DlgTableRows		: "Vrstice",
+DlgTableColumns		: "Stolpci",
+DlgTableBorder		: "Velikost obrobe",
+DlgTableAlign		: "Poravnava",
+DlgTableAlignNotSet	: "<Ni nastavljeno>",
+DlgTableAlignLeft	: "Levo",
+DlgTableAlignCenter	: "Sredinsko",
+DlgTableAlignRight	: "Desno",
+DlgTableWidth		: "Å irina",
+DlgTableWidthPx		: "pik",
+DlgTableWidthPc		: "procentov",
+DlgTableHeight		: "ViÅ¡ina",
+DlgTableCellSpace	: "Razmik med celicami",
+DlgTableCellPad		: "Polnilo med celicami",
+DlgTableCaption		: "Naslov",
+DlgTableSummary		: "Povzetek",
+DlgTableHeaders		: "Glava",
+DlgTableHeadersNone		: "Brez",
+DlgTableHeadersColumn	: "Prvi stolpec",
+DlgTableHeadersRow		: "Prva vrstica",
+DlgTableHeadersBoth		: "Oboje",
+
+// Table Cell Dialog
+DlgCellTitle		: "Lastnosti celice",
+DlgCellWidth		: "Å irina",
+DlgCellWidthPx		: "pik",
+DlgCellWidthPc		: "procentov",
+DlgCellHeight		: "ViÅ¡ina",
+DlgCellWordWrap		: "Pomikanje besedila",
+DlgCellWordWrapNotSet	: "<Ni nastavljeno>",
+DlgCellWordWrapYes	: "Da",
+DlgCellWordWrapNo	: "Ne",
+DlgCellHorAlign		: "Vodoravna poravnava",
+DlgCellHorAlignNotSet	: "<Ni nastavljeno>",
+DlgCellHorAlignLeft	: "Levo",
+DlgCellHorAlignCenter	: "Sredinsko",
+DlgCellHorAlignRight: "Desno",
+DlgCellVerAlign		: "NavpiÄna poravnava",
+DlgCellVerAlignNotSet	: "<Ni nastavljeno>",
+DlgCellVerAlignTop	: "Na vrh",
+DlgCellVerAlignMiddle	: "V sredino",
+DlgCellVerAlignBottom	: "Na dno",
+DlgCellVerAlignBaseline	: "Na osnovno Ärto",
+DlgCellType		: "Tip celice",
+DlgCellTypeData		: "Podatek",
+DlgCellTypeHeader	: "Naslov",
+DlgCellRowSpan		: "Spojenih vrstic (row-span)",
+DlgCellCollSpan		: "Spojenih stolpcev (col-span)",
+DlgCellBackColor	: "Barva ozadja",
+DlgCellBorderColor	: "Barva obrobe",
+DlgCellBtnSelect	: "Izberi...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Najdi in zamenjaj",
+
+// Find Dialog
+DlgFindTitle		: "Najdi",
+DlgFindFindBtn		: "Najdi",
+DlgFindNotFoundMsg	: "Navedeno besedilo ni bilo najdeno.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Zamenjaj",
+DlgReplaceFindLbl		: "Najdi:",
+DlgReplaceReplaceLbl	: "Zamenjaj z:",
+DlgReplaceCaseChk		: "Razlikuj velike in male Ärke",
+DlgReplaceReplaceBtn	: "Zamenjaj",
+DlgReplaceReplAllBtn	: "Zamenjaj vse",
+DlgReplaceWordChk		: "Samo cele besede",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "Varnostne nastavitve brskalnika ne dopuÅ¡Äajo samodejnega izrezovanja. Uporabite kombinacijo tipk na tipkovnici (Ctrl+X).",
+PasteErrorCopy	: "Varnostne nastavitve brskalnika ne dopuÅ¡Äajo samodejnega kopiranja. Uporabite kombinacijo tipk na tipkovnici (Ctrl+C).",
+
+PasteAsText		: "Prilepi kot golo besedilo",
+PasteFromWord	: "Prilepi iz Worda",
+
+DlgPasteMsg2	: "Prosim prilepite v sleÄi okvir s pomoÄjo tipkovnice (<STRONG>Ctrl+V</STRONG>) in pritisnite <STRONG>V redu</STRONG>.",
+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.",
+DlgPasteIgnoreFont		: "Prezri obliko pisave",
+DlgPasteRemoveStyles	: "Odstrani nastavitve stila",
+
+// Color Picker
+ColorAutomatic	: "Samodejno",
+ColorMoreColors	: "VeÄ barv...",
+
+// Document Properties
+DocProps		: "Lastnosti dokumenta",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Lastnosti zaznamka",
+DlgAnchorName		: "Ime zaznamka",
+DlgAnchorErrorName	: "Prosim vnesite ime zaznamka",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Ni v slovarju",
+DlgSpellChangeTo		: "Spremeni v",
+DlgSpellBtnIgnore		: "Prezri",
+DlgSpellBtnIgnoreAll	: "Prezri vse",
+DlgSpellBtnReplace		: "Zamenjaj",
+DlgSpellBtnReplaceAll	: "Zamenjaj vse",
+DlgSpellBtnUndo			: "Razveljavi",
+DlgSpellNoSuggestions	: "- Ni predlogov -",
+DlgSpellProgress		: "Preverjanje Ärkovanja se izvaja...",
+DlgSpellNoMispell		: "ÄŒrkovanje je konÄano: Brez napak",
+DlgSpellNoChanges		: "ÄŒrkovanje je konÄano: Nobena beseda ni bila spremenjena",
+DlgSpellOneChange		: "ÄŒrkovanje je konÄano: Spremenjena je bila ena beseda",
+DlgSpellManyChanges		: "ÄŒrkovanje je konÄano: Spremenjenih je bilo %1 besed",
+
+IeSpellDownload			: "ÄŒrkovalnik ni nameÅ¡Äen. Ali ga Å¾elite prenesti sedaj?",
+
+// Button Dialog
+DlgButtonText		: "Besedilo (Vrednost)",
+DlgButtonType		: "Tip",
+DlgButtonTypeBtn	: "Gumb",
+DlgButtonTypeSbm	: "Potrdi",
+DlgButtonTypeRst	: "Ponastavi",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Ime",
+DlgCheckboxValue	: "Vrednost",
+DlgCheckboxSelected	: "Izbrano",
+
+// Form Dialog
+DlgFormName		: "Ime",
+DlgFormAction	: "Akcija",
+DlgFormMethod	: "Metoda",
+
+// Select Field Dialog
+DlgSelectName		: "Ime",
+DlgSelectValue		: "Vrednost",
+DlgSelectSize		: "Velikost",
+DlgSelectLines		: "vrstic",
+DlgSelectChkMulti	: "Dovoli izbor veÄih vrstic",
+DlgSelectOpAvail	: "RazpoloÅ¾ljive izbire",
+DlgSelectOpText		: "Besedilo",
+DlgSelectOpValue	: "Vrednost",
+DlgSelectBtnAdd		: "Dodaj",
+DlgSelectBtnModify	: "Spremeni",
+DlgSelectBtnUp		: "Gor",
+DlgSelectBtnDown	: "Dol",
+DlgSelectBtnSetValue : "Postavi kot privzeto izbiro",
+DlgSelectBtnDelete	: "IzbriÅ¡i",
+
+// Textarea Dialog
+DlgTextareaName	: "Ime",
+DlgTextareaCols	: "Stolpcev",
+DlgTextareaRows	: "Vrstic",
+
+// Text Field Dialog
+DlgTextName			: "Ime",
+DlgTextValue		: "Vrednost",
+DlgTextCharWidth	: "DolÅ¾ina",
+DlgTextMaxChars		: "NajveÄje Å¡tevilo znakov",
+DlgTextType			: "Tip",
+DlgTextTypeText		: "Besedilo",
+DlgTextTypePass		: "Geslo",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Ime",
+DlgHiddenValue	: "Vrednost",
+
+// Bulleted List Dialog
+BulletedListProp	: "Lastnosti oznaÄenega seznama",
+NumberedListProp	: "Lastnosti oÅ¡tevilÄenega seznama",
+DlgLstStart			: "ZaÄetek",
+DlgLstType			: "Tip",
+DlgLstTypeCircle	: "Pikica",
+DlgLstTypeDisc		: "Kroglica",
+DlgLstTypeSquare	: "Kvadratek",
+DlgLstTypeNumbers	: "Å tevilke (1, 2, 3)",
+DlgLstTypeLCase		: "Male Ärke (a, b, c)",
+DlgLstTypeUCase		: "Velike Ärke (A, B, C)",
+DlgLstTypeSRoman	: "Male rimske Å¡tevilke (i, ii, iii)",
+DlgLstTypeLRoman	: "Velike rimske Å¡tevilke (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "SploÅ¡no",
+DlgDocBackTab		: "Ozadje",
+DlgDocColorsTab		: "Barve in zamiki",
+DlgDocMetaTab		: "Meta podatki",
+
+DlgDocPageTitle		: "Naslov strani",
+DlgDocLangDir		: "Smer jezika",
+DlgDocLangDirLTR	: "Od leve proti desni (LTR)",
+DlgDocLangDirRTL	: "Od desne proti levi (RTL)",
+DlgDocLangCode		: "Oznaka jezika",
+DlgDocCharSet		: "Kodna tabela",
+DlgDocCharSetCE		: "Srednjeevropsko",
+DlgDocCharSetCT		: "Tradicionalno Kitajsko (Big5)",
+DlgDocCharSetCR		: "Cirilica",
+DlgDocCharSetGR		: "GrÅ¡ko",
+DlgDocCharSetJP		: "Japonsko",
+DlgDocCharSetKR		: "Korejsko",
+DlgDocCharSetTR		: "TurÅ¡ko",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "Zahodnoevropsko",
+DlgDocCharSetOther	: "Druga kodna tabela",
+
+DlgDocDocType		: "Glava tipa dokumenta",
+DlgDocDocTypeOther	: "Druga glava tipa dokumenta",
+DlgDocIncXHTML		: "Vstavi XHTML deklaracije",
+DlgDocBgColor		: "Barva ozadja",
+DlgDocBgImage		: "URL slike za ozadje",
+DlgDocBgNoScroll	: "NepremiÄno ozadje",
+DlgDocCText			: "Besedilo",
+DlgDocCLink			: "Povezava",
+DlgDocCVisited		: "Obiskana povezava",
+DlgDocCActive		: "Aktivna povezava",
+DlgDocMargins		: "Zamiki strani",
+DlgDocMaTop			: "Na vrhu",
+DlgDocMaLeft		: "Levo",
+DlgDocMaRight		: "Desno",
+DlgDocMaBottom		: "Spodaj",
+DlgDocMeIndex		: "KljuÄne besede (loÄene z vejicami)",
+DlgDocMeDescr		: "Opis strani",
+DlgDocMeAuthor		: "Avtor",
+DlgDocMeCopy		: "Avtorske pravice",
+DlgDocPreview		: "Predogled",
+
+// Templates Dialog
+Templates			: "Predloge",
+DlgTemplatesTitle	: "Vsebinske predloge",
+DlgTemplatesSelMsg	: "Izberite predlogo, ki jo Å¾elite odpreti v urejevalniku<br>(trenutna vsebina bo izgubljena):",
+DlgTemplatesLoading	: "Nalagam seznam predlog. Prosim poÄakajte...",
+DlgTemplatesNoTpl	: "(Ni pripravljenih predlog)",
+DlgTemplatesReplace	: "Zamenjaj trenutno vsebino",
+
+// About Dialog
+DlgAboutAboutTab	: "Vizitka",
+DlgAboutBrowserInfoTab	: "Informacije o brskalniku",
+DlgAboutLicenseTab	: "Dovoljenja",
+DlgAboutVersion		: "razliÄica",
+DlgAboutInfo		: "Za veÄ informacij obiÅ¡Äite",
+
+// Div Dialog
+DlgDivGeneralTab	: "SploÅ¡no",
+DlgDivAdvancedTab	: "Napredno",
+DlgDivStyle		: "Oblika",
+DlgDivInlineStyle	: "Inline Style",	//MISSING
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/lt.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/lt.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/lt.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Lithuanian language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Sutraukti mygtukÅ³ juostÄ…",
+ToolbarExpand		: "IÅ¡plÄ—sti mygtukÅ³ juostÄ…",
+
+// Toolbar Items and Context Menu
+Save				: "IÅ¡saugoti",
+NewPage				: "Naujas puslapis",
+Preview				: "PerÅ¾iÅ«ra",
+Cut					: "IÅ¡kirpti",
+Copy				: "Kopijuoti",
+Paste				: "Ä®dÄ—ti",
+PasteText			: "Ä®dÄ—ti kaip grynÄ… tekstÄ…",
+PasteWord			: "Ä®dÄ—ti iÅ¡ Word",
+Print				: "Spausdinti",
+SelectAll			: "PaÅ¾ymÄ—ti viskÄ…",
+RemoveFormat		: "Panaikinti formatÄ…",
+InsertLinkLbl		: "Nuoroda",
+InsertLink			: "Ä®terpti/taisyti nuorodÄ…",
+RemoveLink			: "Panaikinti nuorodÄ…",
+VisitLink			: "Atidaryti nuorodÄ…",
+Anchor				: "Ä®terpti/modifikuoti Å¾ymÄ™",
+AnchorDelete		: "Naikinti Å¾ymÄ™",
+InsertImageLbl		: "Vaizdas",
+InsertImage			: "Ä®terpti/taisyti vaizdÄ…",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Ä®terpti/taisyti Flash",
+InsertTableLbl		: "LentelÄ—",
+InsertTable			: "Ä®terpti/taisyti lentelÄ™",
+InsertLineLbl		: "Linija",
+InsertLine			: "Ä®terpti horizontaliÄ… linijÄ…",
+InsertSpecialCharLbl: "Spec. simbolis",
+InsertSpecialChar	: "Ä®terpti specialÅ³ simbolÄ¯",
+InsertSmileyLbl		: "Veideliai",
+InsertSmiley		: "Ä®terpti veidelÄ¯",
+About				: "Apie FCKeditor",
+Bold				: "Pusjuodis",
+Italic				: "Kursyvas",
+Underline			: "Pabrauktas",
+StrikeThrough		: "Perbrauktas",
+Subscript			: "Apatinis indeksas",
+Superscript			: "VirÅ¡utinis indeksas",
+LeftJustify			: "Lygiuoti kairÄ™",
+CenterJustify		: "Centruoti",
+RightJustify		: "Lygiuoti deÅ¡inÄ™",
+BlockJustify		: "Lygiuoti abi puses",
+DecreaseIndent		: "SumaÅ¾inti Ä¯traukÄ…",
+IncreaseIndent		: "Padidinti Ä¯traukÄ…",
+Blockquote			: "Citata",
+CreateDiv			: "Sukurti Div elementÄ…",
+EditDiv				: "Reaguoti Div elementÄ…",
+DeleteDiv			: "Å alinti Div elementÄ…",
+Undo				: "AtÅ¡aukti",
+Redo				: "Atstatyti",
+NumberedListLbl		: "Numeruotas sÄ…raÅ¡as",
+NumberedList		: "Ä®terpti/Panaikinti numeruotÄ… sÄ…raÅ¡Ä…",
+BulletedListLbl		: "SuÅ¾enklintas sÄ…raÅ¡as",
+BulletedList		: "Ä®terpti/Panaikinti suÅ¾enklintÄ… sÄ…raÅ¡Ä…",
+ShowTableBorders	: "Rodyti lentelÄ—s rÄ—mus",
+ShowDetails			: "Rodyti detales",
+Style				: "Stilius",
+FontFormat			: "Å rifto formatas",
+Font				: "Å riftas",
+FontSize			: "Å rifto dydis",
+TextColor			: "Teksto spalva",
+BGColor				: "Fono spalva",
+Source				: "Å altinis",
+Find				: "Rasti",
+Replace				: "Pakeisti",
+SpellCheck			: "RaÅ¡ybos tikrinimas",
+UniversalKeyboard	: "Universali klaviatÅ«ra",
+PageBreakLbl		: "PuslapiÅ³ skirtukas",
+PageBreak			: "Ä®terpti puslapiÅ³ skirtukÄ…",
+
+Form			: "Forma",
+Checkbox		: "Å½ymimasis langelis",
+RadioButton		: "Å½ymimoji akutÄ—",
+TextField		: "Teksto laukas",
+Textarea		: "Teksto sritis",
+HiddenField		: "Nerodomas laukas",
+Button			: "Mygtukas",
+SelectionField	: "Atrankos laukas",
+ImageButton		: "Vaizdinis mygtukas",
+
+FitWindow		: "Padidinti redaktoriÅ³",
+ShowBlocks		: "Rodyti blokus",
+
+// Context Menu
+EditLink			: "Taisyti nuorodÄ…",
+CellCM				: "Langelis",
+RowCM				: "EilutÄ—",
+ColumnCM			: "Stulpelis",
+InsertRowAfter		: "Ä®terpti eilutÄ™ po",
+InsertRowBefore		: "Ä®terpti eilutÄ™ prieÅ¡",
+DeleteRows			: "Å alinti eilutes",
+InsertColumnAfter	: "Ä®terpti stulpelÄ¯ po",
+InsertColumnBefore	: "Ä®terpti stulpelÄ¯ prieÅ¡",
+DeleteColumns		: "Å alinti stulpelius",
+InsertCellAfter		: "Ä®terpti langelÄ¯ po",
+InsertCellBefore	: "Ä®terpti langelÄ¯ prieÅ¡",
+DeleteCells			: "Å alinti langelius",
+MergeCells			: "Sujungti langelius",
+MergeRight			: "Sujungti su deÅ¡ine",
+MergeDown			: "Sujungti su apaÄia",
+HorizontalSplitCell	: "Skaidyti langelÄ¯ horizontaliai",
+VerticalSplitCell	: "Skaidyti langelÄ¯ vertikaliai",
+TableDelete			: "Å alinti lentelÄ™",
+CellProperties		: "Langelio savybÄ—s",
+TableProperties		: "LentelÄ—s savybÄ—s",
+ImageProperties		: "Vaizdo savybÄ—s",
+FlashProperties		: "Flash savybÄ—s",
+
+AnchorProp			: "Å½ymÄ—s savybÄ—s",
+ButtonProp			: "Mygtuko savybÄ—s",
+CheckboxProp		: "Å½ymimojo langelio savybÄ—s",
+HiddenFieldProp		: "Nerodomo lauko savybÄ—s",
+RadioButtonProp		: "Å½ymimosios akutÄ—s savybÄ—s",
+ImageButtonProp		: "Vaizdinio mygtuko savybÄ—s",
+TextFieldProp		: "Teksto lauko savybÄ—s",
+SelectionFieldProp	: "Atrankos lauko savybÄ—s",
+TextareaProp		: "Teksto srities savybÄ—s",
+FormProp			: "Formos savybÄ—s",
+
+FontFormats			: "Normalus;Formuotas;Kreipinio;AntraÅ¡tinis 1;AntraÅ¡tinis 2;AntraÅ¡tinis 3;AntraÅ¡tinis 4;AntraÅ¡tinis 5;AntraÅ¡tinis 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "Apdorojamas XHTML. PraÅ¡ome palaukti...",
+Done				: "Baigta",
+PasteWordConfirm	: "Ä®dedamas tekstas yra panaÅ¡us Ä¯ kopijÄ… iÅ¡ Word. Ar JÅ«s norite prieÅ¡ Ä¯dÄ—jimÄ… iÅ¡valyti jÄ¯?",
+NotCompatiblePaste	: "Å i komanda yra prieinama tik per Internet Explorer 5.5 ar aukÅ¡tesnÄ™ versijÄ…. Ar JÅ«s norite Ä¯terpti be valymo?",
+UnknownToolbarItem	: "NeÅ¾inomas mygtukÅ³ juosta elementas \"%1\"",
+UnknownCommand		: "NeÅ¾inomas komandos vardas \"%1\"",
+NotImplemented		: "Komanda nÄ—ra Ä¯gyvendinta",
+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.",
+BrowseServerBlocked : "NeÄ¯manoma atidaryti naujo narÅ¡yklÄ—s lango. Ä®sitikinkite, kad iÅ¡kylanÄiÅ³ langÅ³ blokavimo programos neveiksnios.",
+DialogBlocked		: "NeÄ¯manoma atidaryti dialogo lango. Ä®sitikinkite, kad iÅ¡kylanÄiÅ³ langÅ³ blokavimo programos neveiksnios.",
+VisitLinkBlocked	: "NeÄ¯manoma atidaryti naujo lango. Ä®sitikinkite, kad iÅ¡kylanÄiÅ³ langÅ³ blokavimo programos neveiksnios.",
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Nutraukti",
+DlgBtnClose			: "UÅ¾daryti",
+DlgBtnBrowseServer	: "NarÅ¡yti po serverÄ¯",
+DlgAdvancedTag		: "Papildomas",
+DlgOpOther			: "<Kita>",
+DlgInfoTab			: "Informacija",
+DlgAlertUrl			: "PraÅ¡ome Ä¯raÅ¡yti URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<nÄ—ra nustatyta>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Teksto kryptis",
+DlgGenLangDirLtr	: "IÅ¡ kairÄ—s Ä¯ deÅ¡inÄ™ (LTR)",
+DlgGenLangDirRtl	: "IÅ¡ deÅ¡inÄ—s Ä¯ kairÄ™ (RTL)",
+DlgGenLangCode		: "Kalbos kodas",
+DlgGenAccessKey		: "Prieigos raktas",
+DlgGenName			: "Vardas",
+DlgGenTabIndex		: "Tabuliavimo indeksas",
+DlgGenLongDescr		: "Ilgas apraÅ¡ymas URL",
+DlgGenClass			: "StiliÅ³ lentelÄ—s klasÄ—s",
+DlgGenTitle			: "KonsultacinÄ— antraÅ¡tÄ—",
+DlgGenContType		: "Konsultacinio turinio tipas",
+DlgGenLinkCharset	: "SusietÅ³ iÅ¡tekliÅ³ simboliÅ³ lentelÄ—",
+DlgGenStyle			: "Stilius",
+
+// Image Dialog
+DlgImgTitle			: "Vaizdo savybÄ—s",
+DlgImgInfoTab		: "Vaizdo informacija",
+DlgImgBtnUpload		: "SiÅ³sti Ä¯ serverÄ¯",
+DlgImgURL			: "URL",
+DlgImgUpload		: "NusiÅ³sti",
+DlgImgAlt			: "Alternatyvus Tekstas",
+DlgImgWidth			: "Plotis",
+DlgImgHeight		: "AukÅ¡tis",
+DlgImgLockRatio		: "IÅ¡laikyti proporcijÄ…",
+DlgBtnResetSize		: "Atstatyti dydÄ¯",
+DlgImgBorder		: "RÄ—melis",
+DlgImgHSpace		: "Hor.ErdvÄ—",
+DlgImgVSpace		: "Vert.ErdvÄ—",
+DlgImgAlign			: "Lygiuoti",
+DlgImgAlignLeft		: "KairÄ™",
+DlgImgAlignAbsBottom: "AbsoliuÄiÄ… apaÄiÄ…",
+DlgImgAlignAbsMiddle: "AbsoliutÅ³ vidurÄ¯",
+DlgImgAlignBaseline	: "ApatinÄ™ linijÄ…",
+DlgImgAlignBottom	: "ApaÄiÄ…",
+DlgImgAlignMiddle	: "VidurÄ¯",
+DlgImgAlignRight	: "DeÅ¡inÄ™",
+DlgImgAlignTextTop	: "Teksto virÅ¡Å«nÄ™",
+DlgImgAlignTop		: "VirÅ¡Å«nÄ™",
+DlgImgPreview		: "PerÅ¾iÅ«ra",
+DlgImgAlertUrl		: "PraÅ¡ome Ä¯vesti vaizdo URL",
+DlgImgLinkTab		: "Nuoroda",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash savybÄ—s",
+DlgFlashChkPlay		: "Automatinis paleidimas",
+DlgFlashChkLoop		: "Ciklas",
+DlgFlashChkMenu		: "Leisti Flash meniu",
+DlgFlashScale		: "Mastelis",
+DlgFlashScaleAll	: "Rodyti visÄ…",
+DlgFlashScaleNoBorder	: "Be rÄ—melio",
+DlgFlashScaleFit	: "Tikslus atitikimas",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Nuoroda",
+DlgLnkInfoTab		: "Nuorodos informacija",
+DlgLnkTargetTab		: "Paskirtis",
+
+DlgLnkType			: "Nuorodos tipas",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Å½ymÄ— Å¡iame puslapyje",
+DlgLnkTypeEMail		: "El.paÅ¡tas",
+DlgLnkProto			: "Protokolas",
+DlgLnkProtoOther	: "<kitas>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Pasirinkite Å¾ymÄ™",
+DlgLnkAnchorByName	: "Pagal Å¾ymÄ—s vardÄ…",
+DlgLnkAnchorById	: "Pagal Å¾ymÄ—s Id",
+DlgLnkNoAnchors		: "(Å iame dokumente Å¾ymiÅ³ nÄ—ra)",
+DlgLnkEMail			: "El.paÅ¡to adresas",
+DlgLnkEMailSubject	: "Å½inutÄ—s tema",
+DlgLnkEMailBody		: "Å½inutÄ—s turinys",
+DlgLnkUpload		: "SiÅ³sti",
+DlgLnkBtnUpload		: "SiÅ³sti Ä¯ serverÄ¯",
+
+DlgLnkTarget		: "Paskirties vieta",
+DlgLnkTargetFrame	: "<kadras>",
+DlgLnkTargetPopup	: "<iÅ¡skleidÅ¾iamas langas>",
+DlgLnkTargetBlank	: "Naujas langas (_blank)",
+DlgLnkTargetParent	: "Pirminis langas (_parent)",
+DlgLnkTargetSelf	: "Tas pats langas (_self)",
+DlgLnkTargetTop		: "Svarbiausias langas (_top)",
+DlgLnkTargetFrameName	: "Paskirties kadro vardas",
+DlgLnkPopWinName	: "Paskirties lango vardas",
+DlgLnkPopWinFeat	: "IÅ¡skleidÅ¾iamo lango savybÄ—s",
+DlgLnkPopResize		: "KeiÄiamas dydis",
+DlgLnkPopLocation	: "Adreso juosta",
+DlgLnkPopMenu		: "Meniu juosta",
+DlgLnkPopScroll		: "Slinkties juostos",
+DlgLnkPopStatus		: "BÅ«senos juosta",
+DlgLnkPopToolbar	: "MygtukÅ³ juosta",
+DlgLnkPopFullScrn	: "Visas ekranas (IE)",
+DlgLnkPopDependent	: "Priklausomas (Netscape)",
+DlgLnkPopWidth		: "Plotis",
+DlgLnkPopHeight		: "AukÅ¡tis",
+DlgLnkPopLeft		: "KairÄ— pozicija",
+DlgLnkPopTop		: "VirÅ¡utinÄ— pozicija",
+
+DlnLnkMsgNoUrl		: "PraÅ¡ome Ä¯vesti nuorodos URL",
+DlnLnkMsgNoEMail	: "PraÅ¡ome Ä¯vesti el.paÅ¡to adresÄ…",
+DlnLnkMsgNoAnchor	: "PraÅ¡ome pasirinkti Å¾ymÄ™",
+DlnLnkMsgInvPopName	: "IÅ¡Å¡okanÄio lango pavadinimas privalo prasidÄ—ti lotyniÅ¡ka raide ir negali turÄ—ti tarpÅ³",
+
+// Color Dialog
+DlgColorTitle		: "Pasirinkite spalvÄ…",
+DlgColorBtnClear	: "Trinti",
+DlgColorHighlight	: "ParyÅ¡kinta",
+DlgColorSelected	: "PaÅ¾ymÄ—ta",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Ä®terpti veidelÄ¯",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Pasirinkite specialÅ³ simbolÄ¯",
+
+// Table Dialog
+DlgTableTitle		: "LentelÄ—s savybÄ—s",
+DlgTableRows		: "EilutÄ—s",
+DlgTableColumns		: "Stulpeliai",
+DlgTableBorder		: "RÄ—melio dydis",
+DlgTableAlign		: "Lygiuoti",
+DlgTableAlignNotSet	: "<Nenustatyta>",
+DlgTableAlignLeft	: "KairÄ™",
+DlgTableAlignCenter	: "CentrÄ…",
+DlgTableAlignRight	: "DeÅ¡inÄ™",
+DlgTableWidth		: "Plotis",
+DlgTableWidthPx		: "taÅ¡kais",
+DlgTableWidthPc		: "procentais",
+DlgTableHeight		: "AukÅ¡tis",
+DlgTableCellSpace	: "Tarpas tarp langeliÅ³",
+DlgTableCellPad		: "Trapas nuo langelio rÄ—mo iki teksto",
+DlgTableCaption		: "AntraÅ¡tÄ—",
+DlgTableSummary		: "Santrauka",
+DlgTableHeaders		: "AntraÅ¡tÄ—s",
+DlgTableHeadersNone		: "NÄ—ra",
+DlgTableHeadersColumn	: "Pirmas stulpelis",
+DlgTableHeadersRow		: "Pirma eilutÄ—",
+DlgTableHeadersBoth		: "Abu",
+
+// Table Cell Dialog
+DlgCellTitle		: "Langelio savybÄ—s",
+DlgCellWidth		: "Plotis",
+DlgCellWidthPx		: "taÅ¡kais",
+DlgCellWidthPc		: "procentais",
+DlgCellHeight		: "AukÅ¡tis",
+DlgCellWordWrap		: "Teksto lauÅ¾ymas",
+DlgCellWordWrapNotSet	: "<Nenustatyta>",
+DlgCellWordWrapYes	: "Taip",
+DlgCellWordWrapNo	: "Ne",
+DlgCellHorAlign		: "Horizontaliai lygiuoti",
+DlgCellHorAlignNotSet	: "<Nenustatyta>",
+DlgCellHorAlignLeft	: "KairÄ™",
+DlgCellHorAlignCenter	: "CentrÄ…",
+DlgCellHorAlignRight: "DeÅ¡inÄ™",
+DlgCellVerAlign		: "Vertikaliai lygiuoti",
+DlgCellVerAlignNotSet	: "<Nenustatyta>",
+DlgCellVerAlignTop	: "VirÅ¡Å³",
+DlgCellVerAlignMiddle	: "VidurÄ¯",
+DlgCellVerAlignBottom	: "ApaÄiÄ…",
+DlgCellVerAlignBaseline	: "ApatinÄ™ linijÄ…",
+DlgCellType		: "Langelio tipas",
+DlgCellTypeData		: "Duomenys",
+DlgCellTypeHeader	: "AntraÅ¡tÄ—",
+DlgCellRowSpan		: "EiluÄiÅ³ apjungimas",
+DlgCellCollSpan		: "StulpeliÅ³ apjungimas",
+DlgCellBackColor	: "Fono spalva",
+DlgCellBorderColor	: "RÄ—melio spalva",
+DlgCellBtnSelect	: "PaÅ¾ymÄ—ti...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Surasti ir pakeisti",
+
+// Find Dialog
+DlgFindTitle		: "PaieÅ¡ka",
+DlgFindFindBtn		: "Surasti",
+DlgFindNotFoundMsg	: "Nurodytas tekstas nerastas.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Pakeisti",
+DlgReplaceFindLbl		: "Surasti tekstÄ…:",
+DlgReplaceReplaceLbl	: "Pakeisti tekstu:",
+DlgReplaceCaseChk		: "Skirti didÅ¾iÄ…sias ir maÅ¾Ä…sias raides",
+DlgReplaceReplaceBtn	: "Pakeisti",
+DlgReplaceReplAllBtn	: "Pakeisti viskÄ…",
+DlgReplaceWordChk		: "Atitikti pilnÄ… Å¾odÄ¯",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "JÅ«sÅ³ narÅ¡yklÄ—s saugumo nustatymai neleidÅ¾ia redaktoriui automatiÅ¡kai Ä¯vykdyti iÅ¡kirpimo operacijÅ³. Tam praÅ¡ome naudoti klaviatÅ«rÄ… (Ctrl+X).",
+PasteErrorCopy	: "JÅ«sÅ³ narÅ¡yklÄ—s saugumo nustatymai neleidÅ¾ia redaktoriui automatiÅ¡kai Ä¯vykdyti kopijavimo operacijÅ³. Tam praÅ¡ome naudoti klaviatÅ«rÄ… (Ctrl+C).",
+
+PasteAsText		: "Ä®dÄ—ti kaip grynÄ… tekstÄ…",
+PasteFromWord	: "Ä®dÄ—ti iÅ¡ Word",
+
+DlgPasteMsg2	: "Å½emiau esanÄiame Ä¯vedimo lauke Ä¯dÄ—kite tekstÄ…, naudodami klaviatÅ«rÄ… (<STRONG>Ctrl+V</STRONG>) ir paspauskite mygtukÄ… <STRONG>OK</STRONG>.",
+DlgPasteSec		: "DÄ—l jÅ«sÅ³ narÅ¡yklÄ—s saugumo nustatymÅ³, redaktorius negali tiesiogiai pasiekti laikinosios atminties. Jums reikia nukopijuoti dar kartÄ… Ä¯ Å¡Ä¯ langÄ….",
+DlgPasteIgnoreFont		: "Ignoruoti Å¡riftÅ³ nustatymus",
+DlgPasteRemoveStyles	: "PaÅ¡alinti stiliÅ³ nustatymus",
+
+// Color Picker
+ColorAutomatic	: "Automatinis",
+ColorMoreColors	: "Daugiau spalvÅ³...",
+
+// Document Properties
+DocProps		: "Dokumento savybÄ—s",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Å½ymÄ—s savybÄ—s",
+DlgAnchorName		: "Å½ymÄ—s vardas",
+DlgAnchorErrorName	: "PraÅ¡ome Ä¯vesti Å¾ymÄ—s vardÄ…",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Å½odyne nerastas",
+DlgSpellChangeTo		: "Pakeisti Ä¯",
+DlgSpellBtnIgnore		: "Ignoruoti",
+DlgSpellBtnIgnoreAll	: "Ignoruoti visus",
+DlgSpellBtnReplace		: "Pakeisti",
+DlgSpellBtnReplaceAll	: "Pakeisti visus",
+DlgSpellBtnUndo			: "AtÅ¡aukti",
+DlgSpellNoSuggestions	: "- NÄ—ra pasiÅ«lymÅ³ -",
+DlgSpellProgress		: "Vyksta raÅ¡ybos tikrinimas...",
+DlgSpellNoMispell		: "RaÅ¡ybos tikrinimas baigtas: Nerasta raÅ¡ybos klaidÅ³",
+DlgSpellNoChanges		: "RaÅ¡ybos tikrinimas baigtas: NÄ—ra pakeistÅ³ Å¾odÅ¾iÅ³",
+DlgSpellOneChange		: "RaÅ¡ybos tikrinimas baigtas: Vienas Å¾odis pakeistas",
+DlgSpellManyChanges		: "RaÅ¡ybos tikrinimas baigtas: Pakeista %1 Å¾odÅ¾iÅ³",
+
+IeSpellDownload			: "RaÅ¡ybos tikrinimas neinstaliuotas. Ar JÅ«s norite jÄ¯ dabar atsisiÅ³sti?",
+
+// Button Dialog
+DlgButtonText		: "Tekstas (ReikÅ¡mÄ—)",
+DlgButtonType		: "Tipas",
+DlgButtonTypeBtn	: "Mygtukas",
+DlgButtonTypeSbm	: "SiÅ³sti",
+DlgButtonTypeRst	: "IÅ¡valyti",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Vardas",
+DlgCheckboxValue	: "ReikÅ¡mÄ—",
+DlgCheckboxSelected	: "PaÅ¾ymÄ—tas",
+
+// Form Dialog
+DlgFormName		: "Vardas",
+DlgFormAction	: "Veiksmas",
+DlgFormMethod	: "Metodas",
+
+// Select Field Dialog
+DlgSelectName		: "Vardas",
+DlgSelectValue		: "ReikÅ¡mÄ—",
+DlgSelectSize		: "Dydis",
+DlgSelectLines		: "eiluÄiÅ³",
+DlgSelectChkMulti	: "Leisti daugeriopÄ… atrankÄ…",
+DlgSelectOpAvail	: "Galimos parinktys",
+DlgSelectOpText		: "Tekstas",
+DlgSelectOpValue	: "ReikÅ¡mÄ—",
+DlgSelectBtnAdd		: "Ä®traukti",
+DlgSelectBtnModify	: "Modifikuoti",
+DlgSelectBtnUp		: "AukÅ¡tyn",
+DlgSelectBtnDown	: "Å½emyn",
+DlgSelectBtnSetValue : "Laikyti paÅ¾ymÄ—ta reikÅ¡me",
+DlgSelectBtnDelete	: "Trinti",
+
+// Textarea Dialog
+DlgTextareaName	: "Vardas",
+DlgTextareaCols	: "Ilgis",
+DlgTextareaRows	: "Plotis",
+
+// Text Field Dialog
+DlgTextName			: "Vardas",
+DlgTextValue		: "ReikÅ¡mÄ—",
+DlgTextCharWidth	: "Ilgis simboliais",
+DlgTextMaxChars		: "Maksimalus simboliÅ³ skaiÄius",
+DlgTextType			: "Tipas",
+DlgTextTypeText		: "Tekstas",
+DlgTextTypePass		: "SlaptaÅ¾odis",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Vardas",
+DlgHiddenValue	: "ReikÅ¡mÄ—",
+
+// Bulleted List Dialog
+BulletedListProp	: "SuÅ¾enklinto sÄ…raÅ¡o savybÄ—s",
+NumberedListProp	: "Numeruoto sÄ…raÅ¡o savybÄ—s",
+DlgLstStart			: "PradÄ—ti nuo",
+DlgLstType			: "Tipas",
+DlgLstTypeCircle	: "Apskritimas",
+DlgLstTypeDisc		: "Diskas",
+DlgLstTypeSquare	: "Kvadratas",
+DlgLstTypeNumbers	: "SkaiÄiai (1, 2, 3)",
+DlgLstTypeLCase		: "MaÅ¾osios raidÄ—s (a, b, c)",
+DlgLstTypeUCase		: "DidÅ¾iosios raidÄ—s (A, B, C)",
+DlgLstTypeSRoman	: "RomÄ—nÅ³ maÅ¾ieji skaiÄiai (i, ii, iii)",
+DlgLstTypeLRoman	: "RomÄ—nÅ³ didieji skaiÄiai (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Bendros savybÄ—s",
+DlgDocBackTab		: "Fonas",
+DlgDocColorsTab		: "Spalvos ir kraÅ¡tinÄ—s",
+DlgDocMetaTab		: "Meta duomenys",
+
+DlgDocPageTitle		: "Puslapio antraÅ¡tÄ—",
+DlgDocLangDir		: "Kalbos kryptis",
+DlgDocLangDirLTR	: "IÅ¡ kairÄ—s Ä¯ deÅ¡inÄ™ (LTR)",
+DlgDocLangDirRTL	: "IÅ¡ deÅ¡inÄ—s Ä¯ kairÄ™ (RTL)",
+DlgDocLangCode		: "Kalbos kodas",
+DlgDocCharSet		: "SimboliÅ³ kodavimo lentelÄ—",
+DlgDocCharSetCE		: "CentrinÄ—s Europos",
+DlgDocCharSetCT		: "TradicinÄ—s kinÅ³ (Big5)",
+DlgDocCharSetCR		: "Kirilica",
+DlgDocCharSetGR		: "GraikÅ³",
+DlgDocCharSetJP		: "JaponÅ³",
+DlgDocCharSetKR		: "KorÄ—jieÄiÅ³",
+DlgDocCharSetTR		: "TurkÅ³",
+DlgDocCharSetUN		: "Unikodas (UTF-8)",
+DlgDocCharSetWE		: "VakarÅ³ Europos",
+DlgDocCharSetOther	: "Kita simboliÅ³ kodavimo lentelÄ—",
+
+DlgDocDocType		: "Dokumento tipo antraÅ¡tÄ—",
+DlgDocDocTypeOther	: "Kita dokumento tipo antraÅ¡tÄ—",
+DlgDocIncXHTML		: "Ä®traukti XHTML deklaracijas",
+DlgDocBgColor		: "Fono spalva",
+DlgDocBgImage		: "Fono paveikslÄ—lio nuoroda (URL)",
+DlgDocBgNoScroll	: "Neslenkantis fonas",
+DlgDocCText			: "Tekstas",
+DlgDocCLink			: "Nuoroda",
+DlgDocCVisited		: "Aplankyta nuoroda",
+DlgDocCActive		: "Aktyvi nuoroda",
+DlgDocMargins		: "Puslapio kraÅ¡tinÄ—s",
+DlgDocMaTop			: "VirÅ¡uje",
+DlgDocMaLeft		: "KairÄ—je",
+DlgDocMaRight		: "DeÅ¡inÄ—je",
+DlgDocMaBottom		: "ApaÄioje",
+DlgDocMeIndex		: "Dokumento indeksavimo raktiniai Å¾odÅ¾iai (atskirti kableliais)",
+DlgDocMeDescr		: "Dokumento apibÅ«dinimas",
+DlgDocMeAuthor		: "Autorius",
+DlgDocMeCopy		: "AutorinÄ—s teisÄ—s",
+DlgDocPreview		: "PerÅ¾iÅ«ra",
+
+// Templates Dialog
+Templates			: "Å ablonai",
+DlgTemplatesTitle	: "Turinio Å¡ablonai",
+DlgTemplatesSelMsg	: "Pasirinkite norimÄ… Å¡ablonÄ…<br>(<b>DÄ—mesio!</b> esamas turinys bus prarastas):",
+DlgTemplatesLoading	: "Ä®keliamas Å¡ablonÅ³ sÄ…raÅ¡as. PraÅ¡ome palaukti...",
+DlgTemplatesNoTpl	: "(Å ablonÅ³ sÄ…raÅ¡as tuÅ¡Äias)",
+DlgTemplatesReplace	: "Pakeisti dabartinÄ¯ turinÄ¯ pasirinktu Å¡ablonu",
+
+// About Dialog
+DlgAboutAboutTab	: "Apie",
+DlgAboutBrowserInfoTab	: "NarÅ¡yklÄ—s informacija",
+DlgAboutLicenseTab	: "Licenzija",
+DlgAboutVersion		: "versija",
+DlgAboutInfo		: "PapildomÄ… informacijÄ… galima gauti",
+
+// Div Dialog
+DlgDivGeneralTab	: "Bendros savybÄ—s",
+DlgDivAdvancedTab	: "Papildomos savybÄ—s",
+DlgDivStyle		: "Stilius",
+DlgDivInlineStyle	: "Stilius kode",
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/sr-latn.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/sr-latn.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/sr-latn.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Serbian (Latin) language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Smanji liniju sa alatkama",
+ToolbarExpand		: "Proiri liniju sa alatkama",
+
+// Toolbar Items and Context Menu
+Save				: "SaÄuvaj",
+NewPage				: "Nova stranica",
+Preview				: "Izgled stranice",
+Cut					: "Iseci",
+Copy				: "Kopiraj",
+Paste				: "Zalepi",
+PasteText			: "Zalepi kao neformatiran tekst",
+PasteWord			: "Zalepi iz Worda",
+Print				: "Å tampa",
+SelectAll			: "OznaÄi sve",
+RemoveFormat		: "Ukloni formatiranje",
+InsertLinkLbl		: "Link",
+InsertLink			: "Unesi/izmeni link",
+RemoveLink			: "Ukloni link",
+VisitLink			: "Open Link",	//MISSING
+Anchor				: "Unesi/izmeni sidro",
+AnchorDelete		: "Remove Anchor",	//MISSING
+InsertImageLbl		: "Slika",
+InsertImage			: "Unesi/izmeni sliku",
+InsertFlashLbl		: "FleÅ¡",
+InsertFlash			: "Unesi/izmeni fleÅ¡",
+InsertTableLbl		: "Tabela",
+InsertTable			: "Unesi/izmeni tabelu",
+InsertLineLbl		: "Linija",
+InsertLine			: "Unesi horizontalnu liniju",
+InsertSpecialCharLbl: "Specijalni karakteri",
+InsertSpecialChar	: "Unesi specijalni karakter",
+InsertSmileyLbl		: "Smajli",
+InsertSmiley		: "Unesi smajlija",
+About				: "O FCKeditoru",
+Bold				: "Podebljano",
+Italic				: "Kurziv",
+Underline			: "PodvuÄeno",
+StrikeThrough		: "Precrtano",
+Subscript			: "Indeks",
+Superscript			: "Stepen",
+LeftJustify			: "Levo ravnanje",
+CenterJustify		: "Centriran tekst",
+RightJustify		: "Desno ravnanje",
+BlockJustify		: "Obostrano ravnanje",
+DecreaseIndent		: "Smanji levu marginu",
+IncreaseIndent		: "UveÄ‡aj levu marginu",
+Blockquote			: "Blockquote",	//MISSING
+CreateDiv			: "Create Div Container",	//MISSING
+EditDiv				: "Edit Div Container",	//MISSING
+DeleteDiv			: "Remove Div Container",	//MISSING
+Undo				: "Poniï¿½ti akciju",
+Redo				: "Ponovi akciju",
+NumberedListLbl		: "Nabrojiva lista",
+NumberedList		: "Unesi/ukloni nabrojivu listu",
+BulletedListLbl		: "Nenabrojiva lista",
+BulletedList		: "Unesi/ukloni nenabrojivu listu",
+ShowTableBorders	: "PrikaÅ¾i okvir tabele",
+ShowDetails			: "PrikaÅ¾i detalje",
+Style				: "Stil",
+FontFormat			: "Format",
+Font				: "Font",
+FontSize			: "VeliÄina fonta",
+TextColor			: "Boja teksta",
+BGColor				: "Boja pozadine",
+Source				: "KÃ´d",
+Find				: "Pretraga",
+Replace				: "Zamena",
+SpellCheck			: "Proveri spelovanje",
+UniversalKeyboard	: "Univerzalna tastatura",
+PageBreakLbl		: "Page Break",	//MISSING
+PageBreak			: "Insert Page Break",	//MISSING
+
+Form			: "Forma",
+Checkbox		: "Polje za potvrdu",
+RadioButton		: "Radio-dugme",
+TextField		: "Tekstualno polje",
+Textarea		: "Zona teksta",
+HiddenField		: "Skriveno polje",
+Button			: "Dugme",
+SelectionField	: "Izborno polje",
+ImageButton		: "Dugme sa slikom",
+
+FitWindow		: "Maximize the editor size",	//MISSING
+ShowBlocks		: "Show Blocks",	//MISSING
+
+// Context Menu
+EditLink			: "Izmeni link",
+CellCM				: "Cell",	//MISSING
+RowCM				: "Row",	//MISSING
+ColumnCM			: "Column",	//MISSING
+InsertRowAfter		: "Insert Row After",	//MISSING
+InsertRowBefore		: "Insert Row Before",	//MISSING
+DeleteRows			: "ObriÅ¡i redove",
+InsertColumnAfter	: "Insert Column After",	//MISSING
+InsertColumnBefore	: "Insert Column Before",	//MISSING
+DeleteColumns		: "ObriÅ¡i kolone",
+InsertCellAfter		: "Insert Cell After",	//MISSING
+InsertCellBefore	: "Insert Cell Before",	//MISSING
+DeleteCells			: "ObriÅ¡i Ä‡elije",
+MergeCells			: "Spoj celije",
+MergeRight			: "Merge Right",	//MISSING
+MergeDown			: "Merge Down",	//MISSING
+HorizontalSplitCell	: "Split Cell Horizontally",	//MISSING
+VerticalSplitCell	: "Split Cell Vertically",	//MISSING
+TableDelete			: "Delete Table",	//MISSING
+CellProperties		: "Osobine celije",
+TableProperties		: "Osobine tabele",
+ImageProperties		: "Osobine slike",
+FlashProperties		: "Osobine fleÅ¡a",
+
+AnchorProp			: "Osobine sidra",
+ButtonProp			: "Osobine dugmeta",
+CheckboxProp		: "Osobine polja za potvrdu",
+HiddenFieldProp		: "Osobine skrivenog polja",
+RadioButtonProp		: "Osobine radio-dugmeta",
+ImageButtonProp		: "Osobine dugmeta sa slikom",
+TextFieldProp		: "Osobine tekstualnog polja",
+SelectionFieldProp	: "Osobine izbornog polja",
+TextareaProp		: "Osobine zone teksta",
+FormProp			: "Osobine forme",
+
+FontFormats			: "Normal;Formatirano;Adresa;Naslov 1;Naslov 2;Naslov 3;Naslov 4;Naslov 5;Naslov 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "Obradujem XHTML. Malo strpljenja...",
+Done				: "ZavrÅ¡io",
+PasteWordConfirm	: "Tekst koji Å¾elite da nalepite kopiran je iz Worda. Da li Å¾elite da bude oÄiÅ¡Ä‡en od formata pre lepljenja?",
+NotCompatiblePaste	: "Ova komanda je dostupna samo za Internet Explorer od verzije 5.5. Da li Å¾elite da nalepim tekst bez ÄiÅ¡Ä‡enja?",
+UnknownToolbarItem	: "Nepoznata stavka toolbara \"%1\"",
+UnknownCommand		: "Nepoznata naredba \"%1\"",
+NotImplemented		: "Naredba nije implementirana",
+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
+BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",	//MISSING
+DialogBlocked		: "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",	//MISSING
+VisitLinkBlocked	: "It was not possible to open a new window. Make sure all popup blockers are disabled.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "OtkaÅ¾i",
+DlgBtnClose			: "Zatvori",
+DlgBtnBrowseServer	: "PretraÅ¾i server",
+DlgAdvancedTag		: "Napredni tagovi",
+DlgOpOther			: "<Ostali>",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "Molimo Vas, unesite URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<nije postavljeno>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Smer jezika",
+DlgGenLangDirLtr	: "S leva na desno (LTR)",
+DlgGenLangDirRtl	: "S desna na levo (RTL)",
+DlgGenLangCode		: "KÃ´d jezika",
+DlgGenAccessKey		: "Pristupni taster",
+DlgGenName			: "Naziv",
+DlgGenTabIndex		: "Tab indeks",
+DlgGenLongDescr		: "Pun opis URL",
+DlgGenClass			: "Stylesheet klase",
+DlgGenTitle			: "Advisory naslov",
+DlgGenContType		: "Advisory vrsta sadrÅ¾aja",
+DlgGenLinkCharset	: "Linked Resource Charset",
+DlgGenStyle			: "Stil",
+
+// Image Dialog
+DlgImgTitle			: "Osobine slika",
+DlgImgInfoTab		: "Info slike",
+DlgImgBtnUpload		: "PoÅ¡alji na server",
+DlgImgURL			: "URL",
+DlgImgUpload		: "PoÅ¡alji",
+DlgImgAlt			: "Alternativni tekst",
+DlgImgWidth			: "Å irina",
+DlgImgHeight		: "Visina",
+DlgImgLockRatio		: "ZakljuÄaj odnos",
+DlgBtnResetSize		: "Resetuj veliÄinu",
+DlgImgBorder		: "Okvir",
+DlgImgHSpace		: "HSpace",
+DlgImgVSpace		: "VSpace",
+DlgImgAlign			: "Ravnanje",
+DlgImgAlignLeft		: "Levo",
+DlgImgAlignAbsBottom: "Abs dole",
+DlgImgAlignAbsMiddle: "Abs sredina",
+DlgImgAlignBaseline	: "Bazno",
+DlgImgAlignBottom	: "Dole",
+DlgImgAlignMiddle	: "Sredina",
+DlgImgAlignRight	: "Desno",
+DlgImgAlignTextTop	: "Vrh teksta",
+DlgImgAlignTop		: "Vrh",
+DlgImgPreview		: "Izgled",
+DlgImgAlertUrl		: "Unesite URL slike",
+DlgImgLinkTab		: "Link",
+
+// Flash Dialog
+DlgFlashTitle		: "Osobine fleÅ¡a",
+DlgFlashChkPlay		: "Automatski start",
+DlgFlashChkLoop		: "Ponavljaj",
+DlgFlashChkMenu		: "UkljuÄi fleÅ¡ meni",
+DlgFlashScale		: "Skaliraj",
+DlgFlashScaleAll	: "PrikaÅ¾i sve",
+DlgFlashScaleNoBorder	: "Bez ivice",
+DlgFlashScaleFit	: "Popuni povrÅ¡inu",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Link",
+DlgLnkInfoTab		: "Link Info",
+DlgLnkTargetTab		: "Meta",
+
+DlgLnkType			: "Vrsta linka",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Sidro na ovoj stranici",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protokol",
+DlgLnkProtoOther	: "<drugo>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Odaberi sidro",
+DlgLnkAnchorByName	: "Po nazivu sidra",
+DlgLnkAnchorById	: "Po Id-ju elementa",
+DlgLnkNoAnchors		: "(Nema dostupnih sidra)",
+DlgLnkEMail			: "E-Mail adresa",
+DlgLnkEMailSubject	: "Naslov",
+DlgLnkEMailBody		: "SadrÅ¾aj poruke",
+DlgLnkUpload		: "PoÅ¡alji",
+DlgLnkBtnUpload		: "PoÅ¡alji na server",
+
+DlgLnkTarget		: "Meta",
+DlgLnkTargetFrame	: "<okvir>",
+DlgLnkTargetPopup	: "<popup prozor>",
+DlgLnkTargetBlank	: "Novi prozor (_blank)",
+DlgLnkTargetParent	: "Roditeljski prozor (_parent)",
+DlgLnkTargetSelf	: "Isti prozor (_self)",
+DlgLnkTargetTop		: "Prozor na vrhu (_top)",
+DlgLnkTargetFrameName	: "Naziv odrediÅ¡nog frejma",
+DlgLnkPopWinName	: "Naziv popup prozora",
+DlgLnkPopWinFeat	: "MoguÄ‡nosti popup prozora",
+DlgLnkPopResize		: "Promenljiva velicina",
+DlgLnkPopLocation	: "Lokacija",
+DlgLnkPopMenu		: "Kontekstni meni",
+DlgLnkPopScroll		: "Scroll bar",
+DlgLnkPopStatus		: "Statusna linija",
+DlgLnkPopToolbar	: "Toolbar",
+DlgLnkPopFullScrn	: "Prikaz preko celog ekrana (IE)",
+DlgLnkPopDependent	: "Zavisno (Netscape)",
+DlgLnkPopWidth		: "Å irina",
+DlgLnkPopHeight		: "Visina",
+DlgLnkPopLeft		: "Od leve ivice ekrana (px)",
+DlgLnkPopTop		: "Od vrha ekrana (px)",
+
+DlnLnkMsgNoUrl		: "Unesite URL linka",
+DlnLnkMsgNoEMail	: "Otkucajte adresu elektronske pote",
+DlnLnkMsgNoAnchor	: "Odaberite sidro",
+DlnLnkMsgInvPopName	: "The popup name must begin with an alphabetic character and must not contain spaces",	//MISSING
+
+// Color Dialog
+DlgColorTitle		: "Odaberite boju",
+DlgColorBtnClear	: "ObriÅ¡i",
+DlgColorHighlight	: "Posvetli",
+DlgColorSelected	: "Odaberi",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Unesi smajlija",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Odaberite specijalni karakter",
+
+// Table Dialog
+DlgTableTitle		: "Osobine tabele",
+DlgTableRows		: "Redova",
+DlgTableColumns		: "Kolona",
+DlgTableBorder		: "VeliÄina okvira",
+DlgTableAlign		: "Ravnanje",
+DlgTableAlignNotSet	: "<nije postavljeno>",
+DlgTableAlignLeft	: "Levo",
+DlgTableAlignCenter	: "Sredina",
+DlgTableAlignRight	: "Desno",
+DlgTableWidth		: "Å irina",
+DlgTableWidthPx		: "piksela",
+DlgTableWidthPc		: "procenata",
+DlgTableHeight		: "Visina",
+DlgTableCellSpace	: "Ä†elijski prostor",
+DlgTableCellPad		: "Razmak Ä‡elija",
+DlgTableCaption		: "Naslov tabele",
+DlgTableSummary		: "Summary",	//MISSING
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "Osobine Ä‡elije",
+DlgCellWidth		: "Å irina",
+DlgCellWidthPx		: "piksela",
+DlgCellWidthPc		: "procenata",
+DlgCellHeight		: "Visina",
+DlgCellWordWrap		: "Deljenje reÄi",
+DlgCellWordWrapNotSet	: "<nije postavljeno>",
+DlgCellWordWrapYes	: "Da",
+DlgCellWordWrapNo	: "Ne",
+DlgCellHorAlign		: "Vodoravno ravnanje",
+DlgCellHorAlignNotSet	: "<nije postavljeno>",
+DlgCellHorAlignLeft	: "Levo",
+DlgCellHorAlignCenter	: "Sredina",
+DlgCellHorAlignRight: "Desno",
+DlgCellVerAlign		: "Vertikalno ravnanje",
+DlgCellVerAlignNotSet	: "<nije postavljeno>",
+DlgCellVerAlignTop	: "Gornje",
+DlgCellVerAlignMiddle	: "Sredina",
+DlgCellVerAlignBottom	: "Donje",
+DlgCellVerAlignBaseline	: "Bazno",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "Spajanje redova",
+DlgCellCollSpan		: "Spajanje kolona",
+DlgCellBackColor	: "Boja pozadine",
+DlgCellBorderColor	: "Boja okvira",
+DlgCellBtnSelect	: "Odaberi...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Find and Replace",	//MISSING
+
+// Find Dialog
+DlgFindTitle		: "PronaÄ‘i",
+DlgFindFindBtn		: "PronaÄ‘i",
+DlgFindNotFoundMsg	: "TraÅ¾eni tekst nije pronaÄ‘en.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Zameni",
+DlgReplaceFindLbl		: "Pronadi:",
+DlgReplaceReplaceLbl	: "Zameni sa:",
+DlgReplaceCaseChk		: "Razlikuj mala i velika slova",
+DlgReplaceReplaceBtn	: "Zameni",
+DlgReplaceReplAllBtn	: "Zameni sve",
+DlgReplaceWordChk		: "Uporedi cele reci",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "Sigurnosna podeÅ¡avanja VaÅ¡eg pretraÅ¾ivaÄa ne dozvoljavaju operacije automatskog isecanja teksta. Molimo Vas da koristite preÄicu sa tastature (Ctrl+X).",
+PasteErrorCopy	: "Sigurnosna podeÅ¡avanja VaÅ¡eg pretraÅ¾ivaÄa ne dozvoljavaju operacije automatskog kopiranja teksta. Molimo Vas da koristite preÄicu sa tastature (Ctrl+C).",
+
+PasteAsText		: "Zalepi kao Äist tekst",
+PasteFromWord	: "Zalepi iz Worda",
+
+DlgPasteMsg2	: "Molimo Vas da zalepite unutar donje povrine koristeÄ‡i tastaturnu preÄicu (<STRONG>Ctrl+V</STRONG>) i da pritisnete <STRONG>OK</STRONG>.",
+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
+DlgPasteIgnoreFont		: "IgnoriÅ¡i definicije fontova",
+DlgPasteRemoveStyles	: "Ukloni definicije stilova",
+
+// Color Picker
+ColorAutomatic	: "Automatski",
+ColorMoreColors	: "ViÅ¡e boja...",
+
+// Document Properties
+DocProps		: "Osobine dokumenta",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Osobine sidra",
+DlgAnchorName		: "Ime sidra",
+DlgAnchorErrorName	: "Unesite ime sidra",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Nije u reÄniku",
+DlgSpellChangeTo		: "Izmeni",
+DlgSpellBtnIgnore		: "IgnoriÅ¡i",
+DlgSpellBtnIgnoreAll	: "IgnoriÅ¡i sve",
+DlgSpellBtnReplace		: "Zameni",
+DlgSpellBtnReplaceAll	: "Zameni sve",
+DlgSpellBtnUndo			: "Vrati akciju",
+DlgSpellNoSuggestions	: "- Bez sugestija -",
+DlgSpellProgress		: "Provera spelovanja u toku...",
+DlgSpellNoMispell		: "Provera spelovanja zavrÅ¡ena: greÅ¡ke nisu pronadene",
+DlgSpellNoChanges		: "Provera spelovanja zavrÅ¡ena: Nije izmenjena nijedna rec",
+DlgSpellOneChange		: "Provera spelovanja zavrÅ¡ena: Izmenjena je jedna reÄ",
+DlgSpellManyChanges		: "Provera spelovanja zavrÅ¡ena: %1 reÄ(i) je izmenjeno",
+
+IeSpellDownload			: "Provera spelovanja nije instalirana. Da li Å¾elite da je skinete sa Interneta?",
+
+// Button Dialog
+DlgButtonText		: "Tekst (vrednost)",
+DlgButtonType		: "Tip",
+DlgButtonTypeBtn	: "Button",	//MISSING
+DlgButtonTypeSbm	: "Submit",	//MISSING
+DlgButtonTypeRst	: "Reset",	//MISSING
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Naziv",
+DlgCheckboxValue	: "Vrednost",
+DlgCheckboxSelected	: "OznaÄeno",
+
+// Form Dialog
+DlgFormName		: "Naziv",
+DlgFormAction	: "Akcija",
+DlgFormMethod	: "Metoda",
+
+// Select Field Dialog
+DlgSelectName		: "Naziv",
+DlgSelectValue		: "Vrednost",
+DlgSelectSize		: "VeliÄina",
+DlgSelectLines		: "linija",
+DlgSelectChkMulti	: "Dozvoli viÅ¡estruku selekciju",
+DlgSelectOpAvail	: "Dostupne opcije",
+DlgSelectOpText		: "Tekst",
+DlgSelectOpValue	: "Vrednost",
+DlgSelectBtnAdd		: "Dodaj",
+DlgSelectBtnModify	: "Izmeni",
+DlgSelectBtnUp		: "Gore",
+DlgSelectBtnDown	: "Dole",
+DlgSelectBtnSetValue : "Podesi kao oznaÄenu vrednost",
+DlgSelectBtnDelete	: "ObriÅ¡i",
+
+// Textarea Dialog
+DlgTextareaName	: "Naziv",
+DlgTextareaCols	: "Broj kolona",
+DlgTextareaRows	: "Broj redova",
+
+// Text Field Dialog
+DlgTextName			: "Naziv",
+DlgTextValue		: "Vrednost",
+DlgTextCharWidth	: "Å irina (karaktera)",
+DlgTextMaxChars		: "Maksimalno karaktera",
+DlgTextType			: "Tip",
+DlgTextTypeText		: "Tekst",
+DlgTextTypePass		: "Lozinka",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Naziv",
+DlgHiddenValue	: "Vrednost",
+
+// Bulleted List Dialog
+BulletedListProp	: "Osobine nenabrojive liste",
+NumberedListProp	: "Osobine nabrojive liste",
+DlgLstStart			: "Start",	//MISSING
+DlgLstType			: "Tip",
+DlgLstTypeCircle	: "Krug",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Kvadrat",
+DlgLstTypeNumbers	: "Brojevi (1, 2, 3)",
+DlgLstTypeLCase		: "mala slova (a, b, c)",
+DlgLstTypeUCase		: "VELIKA slova (A, B, C)",
+DlgLstTypeSRoman	: "Male rimske cifre (i, ii, iii)",
+DlgLstTypeLRoman	: "Velike rimske cifre (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "OpÅ¡te osobine",
+DlgDocBackTab		: "Pozadina",
+DlgDocColorsTab		: "Boje i margine",
+DlgDocMetaTab		: "Metapodaci",
+
+DlgDocPageTitle		: "Naslov stranice",
+DlgDocLangDir		: "Smer jezika",
+DlgDocLangDirLTR	: "Sleva nadesno (LTR)",
+DlgDocLangDirRTL	: "Zdesna nalevo (RTL)",
+DlgDocLangCode		: "Å ifra jezika",
+DlgDocCharSet		: "Kodiranje skupa karaktera",
+DlgDocCharSetCE		: "Central European",	//MISSING
+DlgDocCharSetCT		: "Chinese Traditional (Big5)",	//MISSING
+DlgDocCharSetCR		: "Cyrillic",	//MISSING
+DlgDocCharSetGR		: "Greek",	//MISSING
+DlgDocCharSetJP		: "Japanese",	//MISSING
+DlgDocCharSetKR		: "Korean",	//MISSING
+DlgDocCharSetTR		: "Turkish",	//MISSING
+DlgDocCharSetUN		: "Unicode (UTF-8)",	//MISSING
+DlgDocCharSetWE		: "Western European",	//MISSING
+DlgDocCharSetOther	: "Ostala kodiranja skupa karaktera",
+
+DlgDocDocType		: "Zaglavlje tipa dokumenta",
+DlgDocDocTypeOther	: "Ostala zaglavlja tipa dokumenta",
+DlgDocIncXHTML		: "Ukljuci XHTML deklaracije",
+DlgDocBgColor		: "Boja pozadine",
+DlgDocBgImage		: "URL pozadinske slike",
+DlgDocBgNoScroll	: "Fiksirana pozadina",
+DlgDocCText			: "Tekst",
+DlgDocCLink			: "Link",
+DlgDocCVisited		: "PoseÄ‡eni link",
+DlgDocCActive		: "Aktivni link",
+DlgDocMargins		: "Margine stranice",
+DlgDocMaTop			: "Gornja",
+DlgDocMaLeft		: "Leva",
+DlgDocMaRight		: "Desna",
+DlgDocMaBottom		: "Donja",
+DlgDocMeIndex		: "KljuÄne reci za indeksiranje dokumenta (razdvojene zarezima)",
+DlgDocMeDescr		: "Opis dokumenta",
+DlgDocMeAuthor		: "Autor",
+DlgDocMeCopy		: "Autorska prava",
+DlgDocPreview		: "Izgled stranice",
+
+// Templates Dialog
+Templates			: "Obrasci",
+DlgTemplatesTitle	: "Obrasci za sadrÅ¾aj",
+DlgTemplatesSelMsg	: "Molimo Vas da odaberete obrazac koji ce biti primenjen na stranicu (trenutni sadrÅ¾aj ce biti obrisan):",
+DlgTemplatesLoading	: "UÄitavam listu obrazaca. Malo strpljenja...",
+DlgTemplatesNoTpl	: "(Nema definisanih obrazaca)",
+DlgTemplatesReplace	: "Replace actual contents",	//MISSING
+
+// About Dialog
+DlgAboutAboutTab	: "O editoru",
+DlgAboutBrowserInfoTab	: "Informacije o pretraÅ¾ivacu",
+DlgAboutLicenseTab	: "License",	//MISSING
+DlgAboutVersion		: "verzija",
+DlgAboutInfo		: "Za viÅ¡e informacija posetite",
+
+// Div Dialog
+DlgDivGeneralTab	: "General",	//MISSING
+DlgDivAdvancedTab	: "Advanced",	//MISSING
+DlgDivStyle		: "Style",	//MISSING
+DlgDivInlineStyle	: "Inline Style",	//MISSING
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/lv.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/lv.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/lv.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Latvian language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "SamazinÄt rÄ«ku joslu",
+ToolbarExpand		: "PaplaÅ¡inÄt rÄ«ku joslu",
+
+// Toolbar Items and Context Menu
+Save				: "SaglabÄt",
+NewPage				: "Jauna lapa",
+Preview				: "PÄrskatÄ«t",
+Cut					: "Izgriezt",
+Copy				: "KopÄ“t",
+Paste				: "Ievietot",
+PasteText			: "Ievietot kÄ vienkÄrÅ¡u tekstu",
+PasteWord			: "Ievietot no Worda",
+Print				: "DrukÄt",
+SelectAll			: "IezÄ«mÄ“t visu",
+RemoveFormat		: "NoÅ†emt stilus",
+InsertLinkLbl		: "Hipersaite",
+InsertLink			: "Ievietot/Labot hipersaiti",
+RemoveLink			: "NoÅ†emt hipersaiti",
+VisitLink			: "Open Link",	//MISSING
+Anchor				: "Ievietot/Labot iezÄ«mi",
+AnchorDelete		: "Remove Anchor",	//MISSING
+InsertImageLbl		: "AttÄ“ls",
+InsertImage			: "Ievietot/Labot AttÄ“lu",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Ievietot/Labot Flash",
+InsertTableLbl		: "Tabula",
+InsertTable			: "Ievietot/Labot Tabulu",
+InsertLineLbl		: "AtdalÄ«tÄjsvÄ«tra",
+InsertLine			: "Ievietot horizontÄlu AtdalÄ«tÄjsvÄ«tru",
+InsertSpecialCharLbl: "ÄªpaÅ¡s simbols",
+InsertSpecialChar	: "Ievietot speciÄlo simbolu",
+InsertSmileyLbl		: "SmaidiÅ†i",
+InsertSmiley		: "Ievietot smaidiÅ†u",
+About				: "ÄªsumÄ par FCKeditor",
+Bold				: "Treknu Å¡riftu",
+Italic				: "SlÄ«prakstÄ",
+Underline			: "ApakÅ¡svÄ«tra",
+StrikeThrough		: "PÄrsvÄ«trots",
+Subscript			: "ZemrakstÄ",
+Superscript			: "AugÅ¡rakstÄ",
+LeftJustify			: "IzlÄ«dzinÄt pa kreisi",
+CenterJustify		: "IzlÄ«dzinÄt pret centru",
+RightJustify		: "IzlÄ«dzinÄt pa labi",
+BlockJustify		: "IzlÄ«dzinÄt malas",
+DecreaseIndent		: "SamazinÄt atkÄpi",
+IncreaseIndent		: "PalielinÄt atkÄpi",
+Blockquote			: "Blockquote",	//MISSING
+CreateDiv			: "Create Div Container",	//MISSING
+EditDiv				: "Edit Div Container",	//MISSING
+DeleteDiv			: "Remove Div Container",	//MISSING
+Undo				: "Atcelt",
+Redo				: "AtkÄrtot",
+NumberedListLbl		: "NumurÄ“ts saraksts",
+NumberedList		: "Ievietot/NoÅ†emt numerÄ“to sarakstu",
+BulletedListLbl		: "Izcelts saraksts",
+BulletedList		: "Ievietot/NoÅ†emt izceltu sarakstu",
+ShowTableBorders	: "ParÄdÄ«t tabulas robeÅ¾as",
+ShowDetails			: "ParÄdÄ«t sÄ«kÄku informÄciju",
+Style				: "Stils",
+FontFormat			: "FormÄts",
+Font				: "Å rifts",
+FontSize			: "IzmÄ“rs",
+TextColor			: "Teksta krÄsa",
+BGColor				: "Fona krÄsa",
+Source				: "HTML kods",
+Find				: "MeklÄ“t",
+Replace				: "NomainÄ«t",
+SpellCheck			: "PareizrakstÄ«bas pÄrbaude",
+UniversalKeyboard	: "UniversÄla klaviatÅ«ra",
+PageBreakLbl		: "Lapas pÄrtraukums",
+PageBreak			: "Ievietot lapas pÄrtraukumu",
+
+Form			: "Forma",
+Checkbox		: "AtzÄ«mÄ“Å¡anas kastÄ«te",
+RadioButton		: "IzvÄ“les poga",
+TextField		: "Teksta rinda",
+Textarea		: "Teksta laukums",
+HiddenField		: "PaslÄ“pta teksta rinda",
+Button			: "Poga",
+SelectionField	: "IezÄ«mÄ“Å¡anas lauks",
+ImageButton		: "AttÄ“lpoga",
+
+FitWindow		: "MaksimizÄ“t redaktora izmÄ“ru",
+ShowBlocks		: "Show Blocks",	//MISSING
+
+// Context Menu
+EditLink			: "Labot hipersaiti",
+CellCM				: "Å Å«na",
+RowCM				: "Rinda",
+ColumnCM			: "Kolonna",
+InsertRowAfter		: "Insert Row After",	//MISSING
+InsertRowBefore		: "Insert Row Before",	//MISSING
+DeleteRows			: "DzÄ“st rindas",
+InsertColumnAfter	: "Insert Column After",	//MISSING
+InsertColumnBefore	: "Insert Column Before",	//MISSING
+DeleteColumns		: "DzÄ“st kolonnas",
+InsertCellAfter		: "Insert Cell After",	//MISSING
+InsertCellBefore	: "Insert Cell Before",	//MISSING
+DeleteCells			: "DzÄ“st rÅ«tiÅ†as",
+MergeCells			: "Apvienot rÅ«tiÅ†as",
+MergeRight			: "Merge Right",	//MISSING
+MergeDown			: "Merge Down",	//MISSING
+HorizontalSplitCell	: "Split Cell Horizontally",	//MISSING
+VerticalSplitCell	: "Split Cell Vertically",	//MISSING
+TableDelete			: "DzÄ“st tabulu",
+CellProperties		: "RÅ«tiÅ†as Ä«paÅ¡Ä«bas",
+TableProperties		: "Tabulas Ä«paÅ¡Ä«bas",
+ImageProperties		: "AttÄ“la Ä«paÅ¡Ä«bas",
+FlashProperties		: "Flash Ä«paÅ¡Ä«bas",
+
+AnchorProp			: "IezÄ«mes Ä«paÅ¡Ä«bas",
+ButtonProp			: "Pogas Ä«paÅ¡Ä«bas",
+CheckboxProp		: "AtzÄ«mÄ“Å¡anas kastÄ«tes Ä«paÅ¡Ä«bas",
+HiddenFieldProp		: "PaslÄ“ptÄs teksta rindas Ä«paÅ¡Ä«bas",
+RadioButtonProp		: "IzvÄ“les poga Ä«paÅ¡Ä«bas",
+ImageButtonProp		: "AttÄ“lpogas Ä«paÅ¡Ä«bas",
+TextFieldProp		: "Teksta rindas  Ä«paÅ¡Ä«bas",
+SelectionFieldProp	: "IezÄ«mÄ“Å¡anas lauka Ä«paÅ¡Ä«bas",
+TextareaProp		: "Teksta laukuma Ä«paÅ¡Ä«bas",
+FormProp			: "Formas Ä«paÅ¡Ä«bas",
+
+FontFormats			: "NormÄls teksts;FormatÄ“ts teksts;Adrese;Virsraksts 1;Virsraksts 2;Virsraksts 3;Virsraksts 4;Virsraksts 5;Virsraksts 6;Rindkopa (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "Tiek apstrÄdÄts XHTML. LÅ«dzu uzgaidiet...",
+Done				: "DarÄ«ts",
+PasteWordConfirm	: "Teksta fragments, kas tiek ievietots, izskatÄs, ka bÅ«tu sagatavots Word'Ä. Vai vÄ“laties to apstrÄdÄt pirms ievietoÅ¡anas?",
+NotCompatiblePaste	: "Å Ä« darbÄ«ba ir pieejama Internet Explorer'Ä«, kas jaunÄks par 5.5 versiju. Vai vÄ“laties ievietot bez apstrÄdes?",
+UnknownToolbarItem	: "NezinÄms rÄ«ku joslas objekts \"%1\"",
+UnknownCommand		: "NezinÄmas darbÄ«bas nosaukums \"%1\"",
+NotImplemented		: "DarbÄ«ba netika paveikta",
+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.",
+BrowseServerBlocked : "Resursu pÄrlÅ«ks nevar tikt atvÄ“rts. PÄrliecinieties, ka uznirstoÅ¡o logu bloÄ·Ä“tÄji ir atslÄ“gti.",
+DialogBlocked		: "Nav iespÄ“jams atvÄ“rt dialoglogu. PÄrliecinieties, ka uznirstoÅ¡o logu bloÄ·Ä“tÄji ir atslÄ“gti.",
+VisitLinkBlocked	: "It was not possible to open a new window. Make sure all popup blockers are disabled.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "DarÄ«ts!",
+DlgBtnCancel		: "Atcelt",
+DlgBtnClose			: "AizvÄ“rt",
+DlgBtnBrowseServer	: "SkatÄ«t servera saturu",
+DlgAdvancedTag		: "IzvÄ“rstais",
+DlgOpOther			: "<Cits>",
+DlgInfoTab			: "InformÄcija",
+DlgAlertUrl			: "LÅ«dzu, ievietojiet hipersaiti",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<nav iestatÄ«ts>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Valodas lasÄ«Å¡anas virziens",
+DlgGenLangDirLtr	: "No kreisÄs uz labo (LTR)",
+DlgGenLangDirRtl	: "No labÄs uz kreiso (RTL)",
+DlgGenLangCode		: "Valodas kods",
+DlgGenAccessKey		: "Pieejas kods",
+DlgGenName			: "Nosaukums",
+DlgGenTabIndex		: "CiÄ¼Å†u indekss",
+DlgGenLongDescr		: "Gara apraksta Hipersaite",
+DlgGenClass			: "Stilu saraksta klases",
+DlgGenTitle			: "KonsultatÄ«vs virsraksts",
+DlgGenContType		: "KonsultatÄ«vs satura tips",
+DlgGenLinkCharset	: "PievienotÄ resursa kodu tabula",
+DlgGenStyle			: "Stils",
+
+// Image Dialog
+DlgImgTitle			: "AttÄ“la Ä«paÅ¡Ä«bas",
+DlgImgInfoTab		: "InformÄcija par attÄ“lu",
+DlgImgBtnUpload		: "NosÅ«tÄ«t serverim",
+DlgImgURL			: "URL",
+DlgImgUpload		: "AugÅ¡upielÄdÄ“t",
+DlgImgAlt			: "AlternatÄ«vais teksts",
+DlgImgWidth			: "Platums",
+DlgImgHeight		: "Augstums",
+DlgImgLockRatio		: "NemainÄ«ga Augstuma/Platuma attiecÄ«ba",
+DlgBtnResetSize		: "Atjaunot sÄkotnÄ“jo izmÄ“ru",
+DlgImgBorder		: "RÄmis",
+DlgImgHSpace		: "HorizontÄlÄ telpa",
+DlgImgVSpace		: "VertikÄlÄ telpa",
+DlgImgAlign			: "NolÄ«dzinÄt",
+DlgImgAlignLeft		: "Pa kreisi",
+DlgImgAlignAbsBottom: "AbsolÅ«ti apakÅ¡Ä",
+DlgImgAlignAbsMiddle: "AbsolÅ«ti vertikÄli centrÄ“ts",
+DlgImgAlignBaseline	: "PamatrindÄ",
+DlgImgAlignBottom	: "ApakÅ¡Ä",
+DlgImgAlignMiddle	: "VertikÄli centrÄ“ts",
+DlgImgAlignRight	: "Pa labi",
+DlgImgAlignTextTop	: "Teksta augÅ¡Ä",
+DlgImgAlignTop		: "AugÅ¡Ä",
+DlgImgPreview		: "PÄrskats",
+DlgImgAlertUrl		: "LÅ«dzu norÄdÄ«t attÄ“la hipersaiti",
+DlgImgLinkTab		: "Hipersaite",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash Ä«paÅ¡Ä«bas",
+DlgFlashChkPlay		: "AutomÄtiska atskaÅ†oÅ¡ana",
+DlgFlashChkLoop		: "NepÄrtraukti",
+DlgFlashChkMenu		: "AtÄ¼aut Flash izvÄ“lni",
+DlgFlashScale		: "MainÄ«t izmÄ“ru",
+DlgFlashScaleAll	: "RÄdÄ«t visu",
+DlgFlashScaleNoBorder	: "Bez rÄmja",
+DlgFlashScaleFit	: "PrecÄ«zs izmÄ“rs",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Hipersaite",
+DlgLnkInfoTab		: "Hipersaites informÄcija",
+DlgLnkTargetTab		: "MÄ“rÄ·is",
+
+DlgLnkType			: "Hipersaites tips",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "IezÄ«me Å¡ajÄ lapÄ",
+DlgLnkTypeEMail		: "E-pasts",
+DlgLnkProto			: "Protokols",
+DlgLnkProtoOther	: "<cits>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "IzvÄ“lÄ“ties iezÄ«mi",
+DlgLnkAnchorByName	: "PÄ“c iezÄ«mes nosaukuma",
+DlgLnkAnchorById	: "PÄ“c elementa ID",
+DlgLnkNoAnchors		: "(Å ajÄ dokumentÄ nav iezÄ«mju)",
+DlgLnkEMail			: "E-pasta adrese",
+DlgLnkEMailSubject	: "ZiÅ†as tÄ“ma",
+DlgLnkEMailBody		: "ZiÅ†as saturs",
+DlgLnkUpload		: "AugÅ¡upielÄdÄ“t",
+DlgLnkBtnUpload		: "NosÅ«tÄ«t serverim",
+
+DlgLnkTarget		: "MÄ“rÄ·is",
+DlgLnkTargetFrame	: "<ietvars>",
+DlgLnkTargetPopup	: "<uznirstoÅ¡Ä logÄ>",
+DlgLnkTargetBlank	: "JaunÄ logÄ (_blank)",
+DlgLnkTargetParent	: "EsoÅ¡ajÄ logÄ (_parent)",
+DlgLnkTargetSelf	: "TajÄ paÅ¡Ä logÄ (_self)",
+DlgLnkTargetTop		: "VisredzamÄkajÄ logÄ (_top)",
+DlgLnkTargetFrameName	: "MÄ“rÄ·a ietvara nosaukums",
+DlgLnkPopWinName	: "UznirstoÅ¡Ä loga nosaukums",
+DlgLnkPopWinFeat	: "UznirstoÅ¡Ä loga nosaukums Ä«paÅ¡Ä«bas",
+DlgLnkPopResize		: "Ar mainÄmu izmÄ“ru",
+DlgLnkPopLocation	: "AtraÅ¡anÄs vietas josla",
+DlgLnkPopMenu		: "IzvÄ“lnes josla",
+DlgLnkPopScroll		: "Ritjoslas",
+DlgLnkPopStatus		: "Statusa josla",
+DlgLnkPopToolbar	: "RÄ«ku josla",
+DlgLnkPopFullScrn	: "PilnÄ ekrÄnÄ (IE)",
+DlgLnkPopDependent	: "AtkarÄ«gs (Netscape)",
+DlgLnkPopWidth		: "Platums",
+DlgLnkPopHeight		: "Augstums",
+DlgLnkPopLeft		: "KreisÄ koordinÄte",
+DlgLnkPopTop		: "AugÅ¡Ä“jÄ koordinÄte",
+
+DlnLnkMsgNoUrl		: "LÅ«dzu norÄdi hipersaiti",
+DlnLnkMsgNoEMail	: "LÅ«dzu norÄdi e-pasta adresi",
+DlnLnkMsgNoAnchor	: "LÅ«dzu norÄdi iezÄ«mi",
+DlnLnkMsgInvPopName	: "The popup name must begin with an alphabetic character and must not contain spaces",	//MISSING
+
+// Color Dialog
+DlgColorTitle		: "IzvÄ“lies krÄsu",
+DlgColorBtnClear	: "DzÄ“st",
+DlgColorHighlight	: "Izcelt",
+DlgColorSelected	: "IezÄ«mÄ“tais",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Ievietot smaidiÅ†u",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Ievietot Ä«paÅ¡u simbolu",
+
+// Table Dialog
+DlgTableTitle		: "Tabulas Ä«paÅ¡Ä«bas",
+DlgTableRows		: "Rindas",
+DlgTableColumns		: "Kolonnas",
+DlgTableBorder		: "RÄmja izmÄ“rs",
+DlgTableAlign		: "Novietojums",
+DlgTableAlignNotSet	: "<nav norÄdÄ«ts>",
+DlgTableAlignLeft	: "Pa kreisi",
+DlgTableAlignCenter	: "CentrÄ“ti",
+DlgTableAlignRight	: "Pa labi",
+DlgTableWidth		: "Platums",
+DlgTableWidthPx		: "pikseÄ¼os",
+DlgTableWidthPc		: "procentuÄli",
+DlgTableHeight		: "Augstums",
+DlgTableCellSpace	: "RÅ«tiÅ†u atstatums",
+DlgTableCellPad		: "RÅ«tiÅ†u nobÄ«de",
+DlgTableCaption		: "LeÄ£enda",
+DlgTableSummary		: "AnotÄcija",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "RÅ«tiÅ†as Ä«paÅ¡Ä«bas",
+DlgCellWidth		: "Platums",
+DlgCellWidthPx		: "pikseÄ¼i",
+DlgCellWidthPc		: "procentos",
+DlgCellHeight		: "Augstums",
+DlgCellWordWrap		: "Teksta pÄrnese",
+DlgCellWordWrapNotSet	: "<nav norÄdÄ«ta>",
+DlgCellWordWrapYes	: "JÄ",
+DlgCellWordWrapNo	: "NÄ“",
+DlgCellHorAlign		: "HorizontÄla novietojums",
+DlgCellHorAlignNotSet	: "<Nav norÄdÄ«ts>",
+DlgCellHorAlignLeft	: "Pa kreisi",
+DlgCellHorAlignCenter	: "CentrÄ“ti",
+DlgCellHorAlignRight: "Pa labi",
+DlgCellVerAlign		: "VertikÄlais novietojums",
+DlgCellVerAlignNotSet	: "<nav norÄdÄ«ts>",
+DlgCellVerAlignTop	: "AugÅ¡a",
+DlgCellVerAlignMiddle	: "Vidus",
+DlgCellVerAlignBottom	: "ApakÅ¡a",
+DlgCellVerAlignBaseline	: "PamatrindÄ",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "Rindu pÄrnese",
+DlgCellCollSpan		: "Kolonnu pÄrnese",
+DlgCellBackColor	: "Fona krÄsa",
+DlgCellBorderColor	: "RÄmja krÄsa",
+DlgCellBtnSelect	: "IezÄ«mÄ“...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Find and Replace",	//MISSING
+
+// Find Dialog
+DlgFindTitle		: "MeklÄ“tÄjs",
+DlgFindFindBtn		: "MeklÄ“t",
+DlgFindNotFoundMsg	: "NorÄdÄ«tÄ frÄze netika atrasta.",
+
+// Replace Dialog
+DlgReplaceTitle			: "AizvietoÅ¡ana",
+DlgReplaceFindLbl		: "MeklÄ“t:",
+DlgReplaceReplaceLbl	: "NomainÄ«t uz:",
+DlgReplaceCaseChk		: "ReÄ£istrjÅ«tÄ«gs",
+DlgReplaceReplaceBtn	: "Aizvietot",
+DlgReplaceReplAllBtn	: "Aizvietot visu",
+DlgReplaceWordChk		: "JÄsakrÄ«t pilnÄ«bÄ",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "JÅ«su pÄrlÅ«kprogrammas droÅ¡Ä«bas iestatÄ«jumi nepieÄ¼auj editoram automÄtiski veikt izgrieÅ¡anas darbÄ«bu.  LÅ«dzu, izmantojiet (Ctrl+X, lai veiktu Å¡o darbÄ«bu.",
+PasteErrorCopy	: "JÅ«su pÄrlÅ«kprogrammas droÅ¡Ä«bas iestatÄ«jumi nepieÄ¼auj editoram automÄtiski veikt kopÄ“Å¡anas darbÄ«bu.  LÅ«dzu, izmantojiet (Ctrl+C), lai veiktu Å¡o darbÄ«bu.",
+
+PasteAsText		: "Ievietot kÄ vienkÄrÅ¡u tekstu",
+PasteFromWord	: "Ievietot no Worda",
+
+DlgPasteMsg2	: "LÅ«dzu, ievietojiet tekstu Å¡ajÄ laukumÄ, izmantojot klaviatÅ«ru (<STRONG>Ctrl+V</STRONG>) un apstipriniet ar <STRONG>DarÄ«ts!</STRONG>.",
+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
+DlgPasteIgnoreFont		: "IgnorÄ“t iepriekÅ¡ norÄdÄ«tos fontus",
+DlgPasteRemoveStyles	: "NoÅ†emt norÄdÄ«tos stilus",
+
+// Color Picker
+ColorAutomatic	: "AutomÄtiska",
+ColorMoreColors	: "PlaÅ¡Äka palete...",
+
+// Document Properties
+DocProps		: "Dokumenta Ä«paÅ¡Ä«bas",
+
+// Anchor Dialog
+DlgAnchorTitle		: "IezÄ«mes Ä«paÅ¡Ä«bas",
+DlgAnchorName		: "IezÄ«mes nosaukums",
+DlgAnchorErrorName	: "LÅ«dzu norÄdiet iezÄ«mes nosaukumu",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Netika atrasts vÄrdnÄ«cÄ",
+DlgSpellChangeTo		: "NomainÄ«t uz",
+DlgSpellBtnIgnore		: "IgnorÄ“t",
+DlgSpellBtnIgnoreAll	: "IgnorÄ“t visu",
+DlgSpellBtnReplace		: "Aizvietot",
+DlgSpellBtnReplaceAll	: "Aizvietot visu",
+DlgSpellBtnUndo			: "Atcelt",
+DlgSpellNoSuggestions	: "- Nav ieteikumu -",
+DlgSpellProgress		: "Notiek pareizrakstÄ«bas pÄrbaude...",
+DlgSpellNoMispell		: "PareizrakstÄ«bas pÄrbaude pabeigta: kÄ¼Å«das netika atrastas",
+DlgSpellNoChanges		: "PareizrakstÄ«bas pÄrbaude pabeigta: nekas netika labots",
+DlgSpellOneChange		: "PareizrakstÄ«bas pÄrbaude pabeigta: 1 vÄrds izmainÄ«ts",
+DlgSpellManyChanges		: "PareizrakstÄ«bas pÄrbaude pabeigta: %1 vÄrdi tika mainÄ«ti",
+
+IeSpellDownload			: "PareizrakstÄ«bas pÄrbaudÄ«tÄjs nav pievienots. Vai vÄ“laties to lejupielÄdÄ“t tagad?",
+
+// Button Dialog
+DlgButtonText		: "Teksts (vÄ“rtÄ«ba)",
+DlgButtonType		: "Tips",
+DlgButtonTypeBtn	: "Button",	//MISSING
+DlgButtonTypeSbm	: "Submit",	//MISSING
+DlgButtonTypeRst	: "Reset",	//MISSING
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Nosaukums",
+DlgCheckboxValue	: "VÄ“rtÄ«ba",
+DlgCheckboxSelected	: "IezÄ«mÄ“ts",
+
+// Form Dialog
+DlgFormName		: "Nosaukums",
+DlgFormAction	: "DarbÄ«ba",
+DlgFormMethod	: "Metode",
+
+// Select Field Dialog
+DlgSelectName		: "Nosaukums",
+DlgSelectValue		: "VÄ“rtÄ«ba",
+DlgSelectSize		: "IzmÄ“rs",
+DlgSelectLines		: "rindas",
+DlgSelectChkMulti	: "AtÄ¼aut vairÄkus iezÄ«mÄ“jumus",
+DlgSelectOpAvail	: "PieejamÄs iespÄ“jas",
+DlgSelectOpText		: "Teksts",
+DlgSelectOpValue	: "VÄ“rtÄ«ba",
+DlgSelectBtnAdd		: "Pievienot",
+DlgSelectBtnModify	: "Veikt izmaiÅ†as",
+DlgSelectBtnUp		: "AugÅ¡up",
+DlgSelectBtnDown	: "Lejup",
+DlgSelectBtnSetValue : "Noteikt kÄ iezÄ«mÄ“to vÄ“rtÄ«bu",
+DlgSelectBtnDelete	: "DzÄ“st",
+
+// Textarea Dialog
+DlgTextareaName	: "Nosaukums",
+DlgTextareaCols	: "Kolonnas",
+DlgTextareaRows	: "Rindas",
+
+// Text Field Dialog
+DlgTextName			: "Nosaukums",
+DlgTextValue		: "VÄ“rtÄ«ba",
+DlgTextCharWidth	: "Simbolu platums",
+DlgTextMaxChars		: "Simbolu maksimÄlais daudzums",
+DlgTextType			: "Tips",
+DlgTextTypeText		: "Teksts",
+DlgTextTypePass		: "Parole",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Nosaukums",
+DlgHiddenValue	: "VÄ“rtÄ«ba",
+
+// Bulleted List Dialog
+BulletedListProp	: "AizzÄ«mju saraksta Ä«paÅ¡Ä«bas",
+NumberedListProp	: "NumerÄ“tÄ saraksta Ä«paÅ¡Ä«bas",
+DlgLstStart			: "Start",	//MISSING
+DlgLstType			: "Tips",
+DlgLstTypeCircle	: "Aplis",
+DlgLstTypeDisc		: "Disks",
+DlgLstTypeSquare	: "KvadrÄts",
+DlgLstTypeNumbers	: "SkaitÄ¼i (1, 2, 3)",
+DlgLstTypeLCase		: "Maziem burtiem (a, b, c)",
+DlgLstTypeUCase		: "Lieliem burtiem (A, B, C)",
+DlgLstTypeSRoman	: "Maziem romieÅ¡u cipariem (i, ii, iii)",
+DlgLstTypeLRoman	: "Lieliem romieÅ¡u cipariem (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "VispÄrÄ«ga informÄcija",
+DlgDocBackTab		: "Fons",
+DlgDocColorsTab		: "KrÄsas un robeÅ¾u nobÄ«des",
+DlgDocMetaTab		: "META dati",
+
+DlgDocPageTitle		: "Dokumenta virsraksts <Title>",
+DlgDocLangDir		: "Valodas lasÄ«Å¡anas virziens",
+DlgDocLangDirLTR	: "No kreisÄs uz labo (LTR)",
+DlgDocLangDirRTL	: "No labÄs uz kreiso (RTL)",
+DlgDocLangCode		: "Valodas kods",
+DlgDocCharSet		: "Simbolu kodÄ“jums",
+DlgDocCharSetCE		: "Central European",	//MISSING
+DlgDocCharSetCT		: "Chinese Traditional (Big5)",	//MISSING
+DlgDocCharSetCR		: "Cyrillic",	//MISSING
+DlgDocCharSetGR		: "Greek",	//MISSING
+DlgDocCharSetJP		: "Japanese",	//MISSING
+DlgDocCharSetKR		: "Korean",	//MISSING
+DlgDocCharSetTR		: "Turkish",	//MISSING
+DlgDocCharSetUN		: "Unicode (UTF-8)",	//MISSING
+DlgDocCharSetWE		: "Western European",	//MISSING
+DlgDocCharSetOther	: "Cits simbolu kodÄ“jums",
+
+DlgDocDocType		: "Dokumenta tips",
+DlgDocDocTypeOther	: "Cits dokumenta tips",
+DlgDocIncXHTML		: "Ietvert XHTML deklarÄcijas",
+DlgDocBgColor		: "Fona krÄsa",
+DlgDocBgImage		: "Fona attÄ“la hipersaite",
+DlgDocBgNoScroll	: "Fona attÄ“ls ir fiksÄ“ts",
+DlgDocCText			: "Teksts",
+DlgDocCLink			: "Hipersaite",
+DlgDocCVisited		: "ApmeklÄ“ta hipersaite",
+DlgDocCActive		: "AktÄ«va hipersaite",
+DlgDocMargins		: "Lapas robeÅ¾as",
+DlgDocMaTop			: "AugÅ¡Ä",
+DlgDocMaLeft		: "Pa kreisi",
+DlgDocMaRight		: "Pa labi",
+DlgDocMaBottom		: "ApakÅ¡Ä",
+DlgDocMeIndex		: "Dokumentu aprakstoÅ¡i atslÄ“gvÄrdi (atdalÄ«ti ar komatu)",
+DlgDocMeDescr		: "Dokumenta apraksts",
+DlgDocMeAuthor		: "Autors",
+DlgDocMeCopy		: "AutortiesÄ«bas",
+DlgDocPreview		: "PriekÅ¡skats",
+
+// Templates Dialog
+Templates			: "Sagataves",
+DlgTemplatesTitle	: "Satura sagataves",
+DlgTemplatesSelMsg	: "LÅ«dzu, norÄdiet sagatavi, ko atvÄ“rt editorÄ<br>(patreizÄ“jie dati tiks zaudÄ“ti):",
+DlgTemplatesLoading	: "Notiek sagatavju saraksta ielÄde. LÅ«dzu, uzgaidiet...",
+DlgTemplatesNoTpl	: "(Nav norÄdÄ«tas sagataves)",
+DlgTemplatesReplace	: "Replace actual contents",	//MISSING
+
+// About Dialog
+DlgAboutAboutTab	: "Par",
+DlgAboutBrowserInfoTab	: "InformÄcija par pÄrlÅ«kprogrammu",
+DlgAboutLicenseTab	: "Licence",
+DlgAboutVersion		: "versija",
+DlgAboutInfo		: "Papildus informÄcija ir pieejama",
+
+// Div Dialog
+DlgDivGeneralTab	: "General",	//MISSING
+DlgDivAdvancedTab	: "Advanced",	//MISSING
+DlgDivStyle		: "Style",	//MISSING
+DlgDivInlineStyle	: "Inline Style",	//MISSING
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/zh.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/zh.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/zh.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Chinese Traditional language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "éš±è—é¢æ¿",
+ToolbarExpand		: "é¡¯ç¤ºé¢æ¿",
+
+// Toolbar Items and Context Menu
+Save				: "å„²å­˜",
+NewPage				: "é–‹æ–°æª”æ¡ˆ",
+Preview				: "é è¦½",
+Cut					: "å‰ªä¸‹",
+Copy				: "è¤‡è£½",
+Paste				: "è²¼ä¸Š",
+PasteText			: "è²¼ç‚ºç´”æ–‡å­—æ ¼å¼",
+PasteWord			: "è‡ª Word è²¼ä¸Š",
+Print				: "åˆ—å°",
+SelectAll			: "å…¨é¸",
+RemoveFormat		: "æ¸…é™¤æ ¼å¼",
+InsertLinkLbl		: "è¶…é€£çµ",
+InsertLink			: "æ’å…¥/ç·¨è¼¯è¶…é€£çµ",
+RemoveLink			: "ç§»é™¤è¶…é€£çµ",
+VisitLink			: "é–‹å•Ÿè¶…é€£çµ",
+Anchor				: "æ’å…¥/ç·¨è¼¯éŒ¨é»",
+AnchorDelete		: "ç§»é™¤éŒ¨é»",
+InsertImageLbl		: "å½±åƒ",
+InsertImage			: "æ’å…¥/ç·¨è¼¯å½±åƒ",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "æ’å…¥/ç·¨è¼¯ Flash",
+InsertTableLbl		: "è¡¨æ ¼",
+InsertTable			: "æ’å…¥/ç·¨è¼¯è¡¨æ ¼",
+InsertLineLbl		: "æ°´å¹³ç·š",
+InsertLine			: "æ’å…¥æ°´å¹³ç·š",
+InsertSpecialCharLbl: "ç‰¹æ®Šç¬¦è™Ÿ",
+InsertSpecialChar	: "æ’å…¥ç‰¹æ®Šç¬¦è™Ÿ",
+InsertSmileyLbl		: "è¡¨æƒ…ç¬¦è™Ÿ",
+InsertSmiley		: "æ’å…¥è¡¨æƒ…ç¬¦è™Ÿ",
+About				: "é—œæ–¼ FCKeditor",
+Bold				: "ç²—é«”",
+Italic				: "æ–œé«”",
+Underline			: "åº•ç·š",
+StrikeThrough		: "åˆªé™¤ç·š",
+Subscript			: "ä¸‹æ¨™",
+Superscript			: "ä¸Šæ¨™",
+LeftJustify			: "é å·¦å°é½Š",
+CenterJustify		: "ç½®ä¸­",
+RightJustify		: "é å³å°é½Š",
+BlockJustify		: "å·¦å³å°é½Š",
+DecreaseIndent		: "æ¸›å°‘ç¸®æ’",
+IncreaseIndent		: "å¢åŠ ç¸®æ’",
+Blockquote			: "å¼•ç”¨æ–‡å­—",
+CreateDiv			: "æ–°å¢ Div æ¨™ç±¤",
+EditDiv				: "è®Šæ›´ Div æ¨™ç±¤",
+DeleteDiv			: "ç§»é™¤ Div æ¨™ç±¤",
+Undo				: "å¾©åŸ",
+Redo				: "é‡è¤‡",
+NumberedListLbl		: "ç·¨è™Ÿæ¸…å–®",
+NumberedList		: "æ’å…¥/ç§»é™¤ç·¨è™Ÿæ¸…å–®",
+BulletedListLbl		: "é …ç›®æ¸…å–®",
+BulletedList		: "æ’å…¥/ç§»é™¤é …ç›®æ¸…å–®",
+ShowTableBorders	: "é¡¯ç¤ºè¡¨æ ¼é‚Šæ¡†",
+ShowDetails			: "é¡¯ç¤ºè©³ç´°è³‡æ–™",
+Style				: "æ¨£å¼",
+FontFormat			: "æ ¼å¼",
+Font				: "å­—é«”",
+FontSize			: "å¤§å°",
+TextColor			: "æ–‡å­—é¡è‰²",
+BGColor				: "èƒŒæ™¯é¡è‰²",
+Source				: "åŸå§‹ç¢¼",
+Find				: "å°‹æ‰¾",
+Replace				: "å–ä»£",
+SpellCheck			: "æ‹¼å­—æª¢æŸ¥",
+UniversalKeyboard	: "è¬åœ‹éµç›¤",
+PageBreakLbl		: "åˆ†é ç¬¦è™Ÿ",
+PageBreak			: "æ’å…¥åˆ†é ç¬¦è™Ÿ",
+
+Form			: "è¡¨å–®",
+Checkbox		: "æ ¸å–æ–¹å¡Š",
+RadioButton		: "é¸é …æŒ‰éˆ•",
+TextField		: "æ–‡å­—æ–¹å¡Š",
+Textarea		: "æ–‡å­—å€åŸŸ",
+HiddenField		: "éš±è—æ¬„ä½",
+Button			: "æŒ‰éˆ•",
+SelectionField	: "æ¸…å–®/é¸å–®",
+ImageButton		: "å½±åƒæŒ‰éˆ•",
+
+FitWindow		: "ç·¨è¼¯å™¨æœ€å¤§åŒ–",
+ShowBlocks		: "é¡¯ç¤ºå€å¡Š",
+
+// Context Menu
+EditLink			: "ç·¨è¼¯è¶…é€£çµ",
+CellCM				: "å„²å­˜æ ¼",
+RowCM				: "åˆ—",
+ColumnCM			: "æ¬„",
+InsertRowAfter		: "å‘ä¸‹æ’å…¥åˆ—",
+InsertRowBefore		: "å‘ä¸Šæ’å…¥åˆ—",
+DeleteRows			: "åˆªé™¤åˆ—",
+InsertColumnAfter	: "å‘å³æ’å…¥æ¬„",
+InsertColumnBefore	: "å‘å·¦æ’å…¥æ¬„",
+DeleteColumns		: "åˆªé™¤æ¬„",
+InsertCellAfter		: "å‘å³æ’å…¥å„²å­˜æ ¼",
+InsertCellBefore	: "å‘å·¦æ’å…¥å„²å­˜æ ¼",
+DeleteCells			: "åˆªé™¤å„²å­˜æ ¼",
+MergeCells			: "åˆä½µå„²å­˜æ ¼",
+MergeRight			: "å‘å³åˆä½µå„²å­˜æ ¼",
+MergeDown			: "å‘ä¸‹åˆä½µå„²å­˜æ ¼",
+HorizontalSplitCell	: "æ©«å‘åˆ†å‰²å„²å­˜æ ¼",
+VerticalSplitCell	: "ç¸±å‘åˆ†å‰²å„²å­˜æ ¼",
+TableDelete			: "åˆªé™¤è¡¨æ ¼",
+CellProperties		: "å„²å­˜æ ¼å±¬æ€§",
+TableProperties		: "è¡¨æ ¼å±¬æ€§",
+ImageProperties		: "å½±åƒå±¬æ€§",
+FlashProperties		: "Flash å±¬æ€§",
+
+AnchorProp			: "éŒ¨é»å±¬æ€§",
+ButtonProp			: "æŒ‰éˆ•å±¬æ€§",
+CheckboxProp		: "æ ¸å–æ–¹å¡Šå±¬æ€§",
+HiddenFieldProp		: "éš±è—æ¬„ä½å±¬æ€§",
+RadioButtonProp		: "é¸é …æŒ‰éˆ•å±¬æ€§",
+ImageButtonProp		: "å½±åƒæŒ‰éˆ•å±¬æ€§",
+TextFieldProp		: "æ–‡å­—æ–¹å¡Šå±¬æ€§",
+SelectionFieldProp	: "æ¸…å–®/é¸å–®å±¬æ€§",
+TextareaProp		: "æ–‡å­—å€åŸŸå±¬æ€§",
+FormProp			: "è¡¨å–®å±¬æ€§",
+
+FontFormats			: "ä¸€èˆ¬;å·²æ ¼å¼åŒ–;ä½å€;æ¨™é¡Œ 1;æ¨™é¡Œ 2;æ¨™é¡Œ 3;æ¨™é¡Œ 4;æ¨™é¡Œ 5;æ¨™é¡Œ 6;ä¸€èˆ¬ (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "è™•ç† XHTML ä¸­ï¼Œè«‹ç¨å€™â€¦",
+Done				: "å®Œæˆ",
+PasteWordConfirm	: "æ‚¨æƒ³è²¼ä¸Šçš„æ–‡å­—ä¼¼ä¹æ˜¯è‡ª Word è¤‡è£½è€Œä¾†ï¼Œè«‹å•æ‚¨æ˜¯å¦è¦å…ˆæ¸…é™¤ Word çš„æ ¼å¼å¾Œå†è¡Œè²¼ä¸Šï¼Ÿ",
+NotCompatiblePaste	: "æ­¤æŒ‡ä»¤åƒ…åœ¨ Internet Explorer 5.5 æˆ–ä»¥ä¸Šçš„ç‰ˆæœ¬æœ‰æ•ˆã€‚è«‹å•æ‚¨æ˜¯å¦åŒæ„ä¸æ¸…é™¤æ ¼å¼å³è²¼ä¸Šï¼Ÿ",
+UnknownToolbarItem	: "æœªçŸ¥å·¥å…·åˆ—é …ç›® \"%1\"",
+UnknownCommand		: "æœªçŸ¥æŒ‡ä»¤åç¨± \"%1\"",
+NotImplemented		: "å°šæœªå®‰è£æ­¤æŒ‡ä»¤",
+UnknownToolbarSet	: "å·¥å…·åˆ—è¨­å®š \"%1\" ä¸å­˜åœ¨",
+NoActiveX			: "ç€è¦½å™¨çš„å®‰å…¨æ€§è¨­å®šé™åˆ¶äº†æœ¬ç·¨è¼¯å™¨çš„æŸäº›åŠŸèƒ½ã€‚æ‚¨å¿…é ˆå•Ÿç”¨å®‰å…¨æ€§è¨­å®šä¸­çš„ã€ŒåŸ·è¡ŒActiveXæ§åˆ¶é …èˆ‡å¤–æ›ç¨‹å¼ã€é …ç›®ï¼Œå¦å‰‡æœ¬ç·¨è¼¯å™¨å°‡æœƒå‡ºç¾éŒ¯èª¤ä¸¦ç¼ºå°‘æŸäº›åŠŸèƒ½",
+BrowseServerBlocked : "ç„¡æ³•é–‹å•Ÿè³‡æºç€è¦½å™¨ï¼Œè«‹ç¢ºå®šæ‰€æœ‰å¿«é¡¯è¦–çª—å°é–ç¨‹å¼æ˜¯å¦é—œé–‰",
+DialogBlocked		: "ç„¡æ³•é–‹å•Ÿå°è©±è¦–çª—ï¼Œè«‹ç¢ºå®šæ‰€æœ‰å¿«é¡¯è¦–çª—å°é–ç¨‹å¼æ˜¯å¦é—œé–‰",
+VisitLinkBlocked	: "ç„¡æ³•é–‹å•Ÿæ–°è¦–çª—ï¼Œè«‹ç¢ºå®šæ‰€æœ‰å¿«é¡¯è¦–çª—å°é–ç¨‹å¼æ˜¯å¦é—œé–‰",
+
+// Dialogs
+DlgBtnOK			: "ç¢ºå®š",
+DlgBtnCancel		: "å–æ¶ˆ",
+DlgBtnClose			: "é—œé–‰",
+DlgBtnBrowseServer	: "ç€è¦½ä¼ºæœå™¨ç«¯",
+DlgAdvancedTag		: "é€²éš",
+DlgOpOther			: "<å…¶ä»–>",
+DlgInfoTab			: "è³‡è¨Š",
+DlgAlertUrl			: "è«‹æ’å…¥ URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<å°šæœªè¨­å®š>",
+DlgGenId			: "ID",
+DlgGenLangDir		: "èªè¨€æ–¹å‘",
+DlgGenLangDirLtr	: "ç”±å·¦è€Œå³ (LTR)",
+DlgGenLangDirRtl	: "ç”±å³è€Œå·¦ (RTL)",
+DlgGenLangCode		: "èªè¨€ä»£ç¢¼",
+DlgGenAccessKey		: "å­˜å–éµ",
+DlgGenName			: "åç¨±",
+DlgGenTabIndex		: "å®šä½é †åº",
+DlgGenLongDescr		: "è©³ç´° URL",
+DlgGenClass			: "æ¨£å¼è¡¨é¡åˆ¥",
+DlgGenTitle			: "æ¨™é¡Œ",
+DlgGenContType		: "å…§å®¹é¡å‹",
+DlgGenLinkCharset	: "é€£çµè³‡æºä¹‹ç·¨ç¢¼",
+DlgGenStyle			: "æ¨£å¼",
+
+// Image Dialog
+DlgImgTitle			: "å½±åƒå±¬æ€§",
+DlgImgInfoTab		: "å½±åƒè³‡è¨Š",
+DlgImgBtnUpload		: "ä¸Šå‚³è‡³ä¼ºæœå™¨",
+DlgImgURL			: "URL",
+DlgImgUpload		: "ä¸Šå‚³",
+DlgImgAlt			: "æ›¿ä»£æ–‡å­—",
+DlgImgWidth			: "å¯¬åº¦",
+DlgImgHeight		: "é«˜åº¦",
+DlgImgLockRatio		: "ç­‰æ¯”ä¾‹",
+DlgBtnResetSize		: "é‡è¨­ç‚ºåŸå¤§å°",
+DlgImgBorder		: "é‚Šæ¡†",
+DlgImgHSpace		: "æ°´å¹³è·é›¢",
+DlgImgVSpace		: "å‚ç›´è·é›¢",
+DlgImgAlign			: "å°é½Š",
+DlgImgAlignLeft		: "é å·¦å°é½Š",
+DlgImgAlignAbsBottom: "çµ•å°ä¸‹æ–¹",
+DlgImgAlignAbsMiddle: "çµ•å°ä¸­é–“",
+DlgImgAlignBaseline	: "åŸºæº–ç·š",
+DlgImgAlignBottom	: "é ä¸‹å°é½Š",
+DlgImgAlignMiddle	: "ç½®ä¸­å°é½Š",
+DlgImgAlignRight	: "é å³å°é½Š",
+DlgImgAlignTextTop	: "æ–‡å­—ä¸Šæ–¹",
+DlgImgAlignTop		: "é ä¸Šå°é½Š",
+DlgImgPreview		: "é è¦½",
+DlgImgAlertUrl		: "è«‹è¼¸å…¥å½±åƒ URL",
+DlgImgLinkTab		: "è¶…é€£çµ",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash å±¬æ€§",
+DlgFlashChkPlay		: "è‡ªå‹•æ’­æ”¾",
+DlgFlashChkLoop		: "é‡è¤‡",
+DlgFlashChkMenu		: "é–‹å•Ÿé¸å–®",
+DlgFlashScale		: "ç¸®æ”¾",
+DlgFlashScaleAll	: "å…¨éƒ¨é¡¯ç¤º",
+DlgFlashScaleNoBorder	: "ç„¡é‚Šæ¡†",
+DlgFlashScaleFit	: "ç²¾ç¢ºç¬¦åˆ",
+
+// Link Dialog
+DlgLnkWindowTitle	: "è¶…é€£çµ",
+DlgLnkInfoTab		: "è¶…é€£çµè³‡è¨Š",
+DlgLnkTargetTab		: "ç›®æ¨™",
+
+DlgLnkType			: "è¶…é€£æ¥é¡å‹",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "æœ¬é éŒ¨é»",
+DlgLnkTypeEMail		: "é›»å­éƒµä»¶",
+DlgLnkProto			: "é€šè¨Šå”å®š",
+DlgLnkProtoOther	: "<å…¶ä»–>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "è«‹é¸æ“‡éŒ¨é»",
+DlgLnkAnchorByName	: "ä¾éŒ¨é»åç¨±",
+DlgLnkAnchorById	: "ä¾å…ƒä»¶ ID",
+DlgLnkNoAnchors		: "(æœ¬æ–‡ä»¶å°šç„¡å¯ç”¨ä¹‹éŒ¨é»)",
+DlgLnkEMail			: "é›»å­éƒµä»¶",
+DlgLnkEMailSubject	: "éƒµä»¶ä¸»æ—¨",
+DlgLnkEMailBody		: "éƒµä»¶å…§å®¹",
+DlgLnkUpload		: "ä¸Šå‚³",
+DlgLnkBtnUpload		: "å‚³é€è‡³ä¼ºæœå™¨",
+
+DlgLnkTarget		: "ç›®æ¨™",
+DlgLnkTargetFrame	: "<æ¡†æ¶>",
+DlgLnkTargetPopup	: "<å¿«é¡¯è¦–çª—>",
+DlgLnkTargetBlank	: "æ–°è¦–çª— (_blank)",
+DlgLnkTargetParent	: "çˆ¶è¦–çª— (_parent)",
+DlgLnkTargetSelf	: "æœ¬è¦–çª— (_self)",
+DlgLnkTargetTop		: "æœ€ä¸Šå±¤è¦–çª— (_top)",
+DlgLnkTargetFrameName	: "ç›®æ¨™æ¡†æ¶åç¨±",
+DlgLnkPopWinName	: "å¿«é¡¯è¦–çª—åç¨±",
+DlgLnkPopWinFeat	: "å¿«é¡¯è¦–çª—å±¬æ€§",
+DlgLnkPopResize		: "å¯èª¿æ•´å¤§å°",
+DlgLnkPopLocation	: "ç¶²å€åˆ—",
+DlgLnkPopMenu		: "é¸å–®åˆ—",
+DlgLnkPopScroll		: "æ²è»¸",
+DlgLnkPopStatus		: "ç‹€æ…‹åˆ—",
+DlgLnkPopToolbar	: "å·¥å…·åˆ—",
+DlgLnkPopFullScrn	: "å…¨è¢å¹• (IE)",
+DlgLnkPopDependent	: "å¾å±¬ (NS)",
+DlgLnkPopWidth		: "å¯¬",
+DlgLnkPopHeight		: "é«˜",
+DlgLnkPopLeft		: "å·¦",
+DlgLnkPopTop		: "å³",
+
+DlnLnkMsgNoUrl		: "è«‹è¼¸å…¥æ¬²é€£çµçš„ URL",
+DlnLnkMsgNoEMail	: "è«‹è¼¸å…¥é›»å­éƒµä»¶ä½å€",
+DlnLnkMsgNoAnchor	: "è«‹é¸æ“‡éŒ¨é»",
+DlnLnkMsgInvPopName	: "å¿«é¡¯åç¨±å¿…é ˆä»¥ã€Œè‹±æ–‡å­—æ¯ã€ç‚ºé–‹é ­ï¼Œä¸”ä¸å¾—å«æœ‰ç©ºç™½",
+
+// Color Dialog
+DlgColorTitle		: "è«‹é¸æ“‡é¡è‰²",
+DlgColorBtnClear	: "æ¸…é™¤",
+DlgColorHighlight	: "é è¦½",
+DlgColorSelected	: "é¸æ“‡",
+
+// Smiley Dialog
+DlgSmileyTitle		: "æ’å…¥è¡¨æƒ…ç¬¦è™Ÿ",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "è«‹é¸æ“‡ç‰¹æ®Šç¬¦è™Ÿ",
+
+// Table Dialog
+DlgTableTitle		: "è¡¨æ ¼å±¬æ€§",
+DlgTableRows		: "åˆ—æ•¸",
+DlgTableColumns		: "æ¬„æ•¸",
+DlgTableBorder		: "é‚Šæ¡†",
+DlgTableAlign		: "å°é½Š",
+DlgTableAlignNotSet	: "<æœªè¨­å®š>",
+DlgTableAlignLeft	: "é å·¦å°é½Š",
+DlgTableAlignCenter	: "ç½®ä¸­",
+DlgTableAlignRight	: "é å³å°é½Š",
+DlgTableWidth		: "å¯¬åº¦",
+DlgTableWidthPx		: "åƒç´ ",
+DlgTableWidthPc		: "ç™¾åˆ†æ¯”",
+DlgTableHeight		: "é«˜åº¦",
+DlgTableCellSpace	: "é–“è·",
+DlgTableCellPad		: "å…§è·",
+DlgTableCaption		: "æ¨™é¡Œ",
+DlgTableSummary		: "æ‘˜è¦",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "å„²å­˜æ ¼å±¬æ€§",
+DlgCellWidth		: "å¯¬åº¦",
+DlgCellWidthPx		: "åƒç´ ",
+DlgCellWidthPc		: "ç™¾åˆ†æ¯”",
+DlgCellHeight		: "é«˜åº¦",
+DlgCellWordWrap		: "è‡ªå‹•æ›è¡Œ",
+DlgCellWordWrapNotSet	: "<å°šæœªè¨­å®š>",
+DlgCellWordWrapYes	: "æ˜¯",
+DlgCellWordWrapNo	: "å¦",
+DlgCellHorAlign		: "æ°´å¹³å°é½Š",
+DlgCellHorAlignNotSet	: "<å°šæœªè¨­å®š>",
+DlgCellHorAlignLeft	: "é å·¦å°é½Š",
+DlgCellHorAlignCenter	: "ç½®ä¸­",
+DlgCellHorAlignRight: "é å³å°é½Š",
+DlgCellVerAlign		: "å‚ç›´å°é½Š",
+DlgCellVerAlignNotSet	: "<å°šæœªè¨­å®š>",
+DlgCellVerAlignTop	: "é ä¸Šå°é½Š",
+DlgCellVerAlignMiddle	: "ç½®ä¸­",
+DlgCellVerAlignBottom	: "é ä¸‹å°é½Š",
+DlgCellVerAlignBaseline	: "åŸºæº–ç·š",
+DlgCellType		: "å„²å­˜æ ¼é¡å‹",
+DlgCellTypeData		: "è³‡æ–™",
+DlgCellTypeHeader	: "æ¨™é¡Œ",
+DlgCellRowSpan		: "åˆä½µåˆ—æ•¸",
+DlgCellCollSpan		: "åˆä½µæ¬„æ•°",
+DlgCellBackColor	: "èƒŒæ™¯é¡è‰²",
+DlgCellBorderColor	: "é‚Šæ¡†é¡è‰²",
+DlgCellBtnSelect	: "è«‹é¸æ“‡â€¦",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "å°‹æ‰¾èˆ‡å–ä»£",
+
+// Find Dialog
+DlgFindTitle		: "å°‹æ‰¾",
+DlgFindFindBtn		: "å°‹æ‰¾",
+DlgFindNotFoundMsg	: "æœªæ‰¾åˆ°æŒ‡å®šçš„æ–‡å­—ã€‚",
+
+// Replace Dialog
+DlgReplaceTitle			: "å–ä»£",
+DlgReplaceFindLbl		: "å°‹æ‰¾:",
+DlgReplaceReplaceLbl	: "å–ä»£:",
+DlgReplaceCaseChk		: "å¤§å°å¯«é ˆç›¸ç¬¦",
+DlgReplaceReplaceBtn	: "å–ä»£",
+DlgReplaceReplAllBtn	: "å…¨éƒ¨å–ä»£",
+DlgReplaceWordChk		: "å…¨å­—ç›¸ç¬¦",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "ç€è¦½å™¨çš„å®‰å…¨æ€§è¨­å®šä¸å…è¨±ç·¨è¼¯å™¨è‡ªå‹•åŸ·è¡Œå‰ªä¸‹å‹•ä½œã€‚è«‹ä½¿ç”¨å¿«æ·éµ (Ctrl+X) å‰ªä¸‹ã€‚",
+PasteErrorCopy	: "ç€è¦½å™¨çš„å®‰å…¨æ€§è¨­å®šä¸å…è¨±ç·¨è¼¯å™¨è‡ªå‹•åŸ·è¡Œè¤‡è£½å‹•ä½œã€‚è«‹ä½¿ç”¨å¿«æ·éµ (Ctrl+C) è¤‡è£½ã€‚",
+
+PasteAsText		: "è²¼ç‚ºç´”æ–‡å­—æ ¼å¼",
+PasteFromWord	: "è‡ª Word è²¼ä¸Š",
+
+DlgPasteMsg2	: "è«‹ä½¿ç”¨å¿«æ·éµ (<strong>Ctrl+V</strong>) è²¼åˆ°ä¸‹æ–¹å€åŸŸä¸­ä¸¦æŒ‰ä¸‹ <strong>ç¢ºå®š</strong>",
+DlgPasteSec		: "å› ç‚ºç€è¦½å™¨çš„å®‰å…¨æ€§è¨­å®šï¼Œæœ¬ç·¨è¼¯å™¨ç„¡æ³•ç›´æ¥å­˜å–æ‚¨çš„å‰ªè²¼ç°¿è³‡æ–™ï¼Œè«‹æ‚¨è‡ªè¡Œåœ¨æœ¬è¦–çª—é€²è¡Œè²¼ä¸Šå‹•ä½œã€‚",
+DlgPasteIgnoreFont		: "ç§»é™¤å­—å‹è¨­å®š",
+DlgPasteRemoveStyles	: "ç§»é™¤æ¨£å¼è¨­å®š",
+
+// Color Picker
+ColorAutomatic	: "è‡ªå‹•",
+ColorMoreColors	: "æ›´å¤šé¡è‰²â€¦",
+
+// Document Properties
+DocProps		: "æ–‡ä»¶å±¬æ€§",
+
+// Anchor Dialog
+DlgAnchorTitle		: "å‘½åéŒ¨é»",
+DlgAnchorName		: "éŒ¨é»åç¨±",
+DlgAnchorErrorName	: "è«‹è¼¸å…¥éŒ¨é»åç¨±",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "ä¸åœ¨å­—å…¸ä¸­",
+DlgSpellChangeTo		: "æ›´æ”¹ç‚º",
+DlgSpellBtnIgnore		: "å¿½ç•¥",
+DlgSpellBtnIgnoreAll	: "å…¨éƒ¨å¿½ç•¥",
+DlgSpellBtnReplace		: "å–ä»£",
+DlgSpellBtnReplaceAll	: "å…¨éƒ¨å–ä»£",
+DlgSpellBtnUndo			: "å¾©åŸ",
+DlgSpellNoSuggestions	: "- ç„¡å»ºè­°å€¼ -",
+DlgSpellProgress		: "é€²è¡Œæ‹¼å­—æª¢æŸ¥ä¸­â€¦",
+DlgSpellNoMispell		: "æ‹¼å­—æª¢æŸ¥å®Œæˆï¼šæœªç™¼ç¾æ‹¼å­—éŒ¯èª¤",
+DlgSpellNoChanges		: "æ‹¼å­—æª¢æŸ¥å®Œæˆï¼šæœªæ›´æ”¹ä»»ä½•å–®å­—",
+DlgSpellOneChange		: "æ‹¼å­—æª¢æŸ¥å®Œæˆï¼šæ›´æ”¹äº† 1 å€‹å–®å­—",
+DlgSpellManyChanges		: "æ‹¼å­—æª¢æŸ¥å®Œæˆï¼šæ›´æ”¹äº† %1 å€‹å–®å­—",
+
+IeSpellDownload			: "å°šæœªå®‰è£æ‹¼å­—æª¢æŸ¥å…ƒä»¶ã€‚æ‚¨æ˜¯å¦æƒ³è¦ç¾åœ¨ä¸‹è¼‰ï¼Ÿ",
+
+// Button Dialog
+DlgButtonText		: "é¡¯ç¤ºæ–‡å­— (å€¼)",
+DlgButtonType		: "é¡å‹",
+DlgButtonTypeBtn	: "æŒ‰éˆ• (Button)",
+DlgButtonTypeSbm	: "é€å‡º (Submit)",
+DlgButtonTypeRst	: "é‡è¨­ (Reset)",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "åç¨±",
+DlgCheckboxValue	: "é¸å–å€¼",
+DlgCheckboxSelected	: "å·²é¸å–",
+
+// Form Dialog
+DlgFormName		: "åç¨±",
+DlgFormAction	: "å‹•ä½œ",
+DlgFormMethod	: "æ–¹æ³•",
+
+// Select Field Dialog
+DlgSelectName		: "åç¨±",
+DlgSelectValue		: "é¸å–å€¼",
+DlgSelectSize		: "å¤§å°",
+DlgSelectLines		: "è¡Œ",
+DlgSelectChkMulti	: "å¯å¤šé¸",
+DlgSelectOpAvail	: "å¯ç”¨é¸é …",
+DlgSelectOpText		: "é¡¯ç¤ºæ–‡å­—",
+DlgSelectOpValue	: "å€¼",
+DlgSelectBtnAdd		: "æ–°å¢",
+DlgSelectBtnModify	: "ä¿®æ”¹",
+DlgSelectBtnUp		: "ä¸Šç§»",
+DlgSelectBtnDown	: "ä¸‹ç§»",
+DlgSelectBtnSetValue : "è¨­ç‚ºé è¨­å€¼",
+DlgSelectBtnDelete	: "åˆªé™¤",
+
+// Textarea Dialog
+DlgTextareaName	: "åç¨±",
+DlgTextareaCols	: "å­—å…ƒå¯¬åº¦",
+DlgTextareaRows	: "åˆ—æ•¸",
+
+// Text Field Dialog
+DlgTextName			: "åç¨±",
+DlgTextValue		: "å€¼",
+DlgTextCharWidth	: "å­—å…ƒå¯¬åº¦",
+DlgTextMaxChars		: "æœ€å¤šå­—å…ƒæ•¸",
+DlgTextType			: "é¡å‹",
+DlgTextTypeText		: "æ–‡å­—",
+DlgTextTypePass		: "å¯†ç¢¼",
+
+// Hidden Field Dialog
+DlgHiddenName	: "åç¨±",
+DlgHiddenValue	: "å€¼",
+
+// Bulleted List Dialog
+BulletedListProp	: "é …ç›®æ¸…å–®å±¬æ€§",
+NumberedListProp	: "ç·¨è™Ÿæ¸…å–®å±¬æ€§",
+DlgLstStart			: "èµ·å§‹ç·¨è™Ÿ",
+DlgLstType			: "æ¸…å–®é¡å‹",
+DlgLstTypeCircle	: "åœ“åœˆ",
+DlgLstTypeDisc		: "åœ“é»",
+DlgLstTypeSquare	: "æ–¹å¡Š",
+DlgLstTypeNumbers	: "æ•¸å­— (1, 2, 3)",
+DlgLstTypeLCase		: "å°å¯«å­—æ¯ (a, b, c)",
+DlgLstTypeUCase		: "å¤§å¯«å­—æ¯ (A, B, C)",
+DlgLstTypeSRoman	: "å°å¯«ç¾…é¦¬æ•¸å­— (i, ii, iii)",
+DlgLstTypeLRoman	: "å¤§å¯«ç¾…é¦¬æ•¸å­— (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "ä¸€èˆ¬",
+DlgDocBackTab		: "èƒŒæ™¯",
+DlgDocColorsTab		: "é¡¯è‰²èˆ‡é‚Šç•Œ",
+DlgDocMetaTab		: "Meta è³‡æ–™",
+
+DlgDocPageTitle		: "é é¢æ¨™é¡Œ",
+DlgDocLangDir		: "èªè¨€æ–¹å‘",
+DlgDocLangDirLTR	: "ç”±å·¦è€Œå³ (LTR)",
+DlgDocLangDirRTL	: "ç”±å³è€Œå·¦ (RTL)",
+DlgDocLangCode		: "èªè¨€ä»£ç¢¼",
+DlgDocCharSet		: "å­—å…ƒç·¨ç¢¼",
+DlgDocCharSetCE		: "ä¸­æ­èªç³»",
+DlgDocCharSetCT		: "æ­£é«”ä¸­æ–‡ (Big5)",
+DlgDocCharSetCR		: "æ–¯æ‹‰å¤«æ–‡",
+DlgDocCharSetGR		: "å¸Œè‡˜æ–‡",
+DlgDocCharSetJP		: "æ—¥æ–‡",
+DlgDocCharSetKR		: "éŸ“æ–‡",
+DlgDocCharSetTR		: "åœŸè€³å…¶æ–‡",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "è¥¿æ­èªç³»",
+DlgDocCharSetOther	: "å…¶ä»–å­—å…ƒç·¨ç¢¼",
+
+DlgDocDocType		: "æ–‡ä»¶é¡å‹",
+DlgDocDocTypeOther	: "å…¶ä»–æ–‡ä»¶é¡å‹",
+DlgDocIncXHTML		: "åŒ…å« XHTML å®šç¾©",
+DlgDocBgColor		: "èƒŒæ™¯é¡è‰²",
+DlgDocBgImage		: "èƒŒæ™¯å½±åƒ",
+DlgDocBgNoScroll	: "æµ®æ°´å°",
+DlgDocCText			: "æ–‡å­—",
+DlgDocCLink			: "è¶…é€£çµ",
+DlgDocCVisited		: "å·²ç€è¦½éçš„è¶…é€£çµ",
+DlgDocCActive		: "ä½œç”¨ä¸­çš„è¶…é€£çµ",
+DlgDocMargins		: "é é¢é‚Šç•Œ",
+DlgDocMaTop			: "ä¸Š",
+DlgDocMaLeft		: "å·¦",
+DlgDocMaRight		: "å³",
+DlgDocMaBottom		: "ä¸‹",
+DlgDocMeIndex		: "æ–‡ä»¶ç´¢å¼•é—œéµå­— (ç”¨åŠå½¢é€—è™Ÿ[,]åˆ†éš”)",
+DlgDocMeDescr		: "æ–‡ä»¶èªªæ˜",
+DlgDocMeAuthor		: "ä½œè€…",
+DlgDocMeCopy		: "ç‰ˆæ¬Šæ‰€æœ‰",
+DlgDocPreview		: "é è¦½",
+
+// Templates Dialog
+Templates			: "æ¨£ç‰ˆ",
+DlgTemplatesTitle	: "å…§å®¹æ¨£ç‰ˆ",
+DlgTemplatesSelMsg	: "è«‹é¸æ“‡æ¬²é–‹å•Ÿçš„æ¨£ç‰ˆ<br> (åŸæœ‰çš„å…§å®¹å°‡æœƒè¢«æ¸…é™¤):",
+DlgTemplatesLoading	: "è®€å–æ¨£ç‰ˆæ¸…å–®ä¸­ï¼Œè«‹ç¨å€™â€¦",
+DlgTemplatesNoTpl	: "(ç„¡æ¨£ç‰ˆ)",
+DlgTemplatesReplace	: "å–ä»£åŸæœ‰å…§å®¹",
+
+// About Dialog
+DlgAboutAboutTab	: "é—œæ–¼",
+DlgAboutBrowserInfoTab	: "ç€è¦½å™¨è³‡è¨Š",
+DlgAboutLicenseTab	: "è¨±å¯è­‰",
+DlgAboutVersion		: "ç‰ˆæœ¬",
+DlgAboutInfo		: "æƒ³ç²å¾—æ›´å¤šè³‡è¨Šè«‹è‡³ ",
+
+// Div Dialog
+DlgDivGeneralTab	: "ä¸€èˆ¬",
+DlgDivAdvancedTab	: "é€²éš",
+DlgDivStyle		: "æ¨£å¼",
+DlgDivInlineStyle	: "CSS æ¨£å¼",
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/ca.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/ca.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/ca.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Catalan language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Redueix la barra d'eines",
+ToolbarExpand		: "Amplia la barra d'eines",
+
+// Toolbar Items and Context Menu
+Save				: "Desa",
+NewPage				: "Nova PÃ gina",
+Preview				: "VisualitzaciÃ³ prÃ¨via",
+Cut					: "Retalla",
+Copy				: "Copia",
+Paste				: "Enganxa",
+PasteText			: "Enganxa com a text no formatat",
+PasteWord			: "Enganxa des del Word",
+Print				: "Imprimeix",
+SelectAll			: "Selecciona-ho tot",
+RemoveFormat		: "Elimina Format",
+InsertLinkLbl		: "EnllaÃ§",
+InsertLink			: "Insereix/Edita enllaÃ§",
+RemoveLink			: "Elimina l'enllaÃ§",
+VisitLink			: "Obre l'enllaÃ§",
+Anchor				: "Insereix/Edita Ã ncora",
+AnchorDelete		: "Elimina Ã ncora",
+InsertImageLbl		: "Imatge",
+InsertImage			: "Insereix/Edita imatge",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Insereix/Edita Flash",
+InsertTableLbl		: "Taula",
+InsertTable			: "Insereix/Edita taula",
+InsertLineLbl		: "LÃ­nia",
+InsertLine			: "Insereix lÃ­nia horitzontal",
+InsertSpecialCharLbl: "CarÃ cter Especial",
+InsertSpecialChar	: "Insereix carÃ cter especial",
+InsertSmileyLbl		: "Icona",
+InsertSmiley		: "Insereix icona",
+About				: "Quant a l'FCKeditor",
+Bold				: "Negreta",
+Italic				: "Cursiva",
+Underline			: "Subratllat",
+StrikeThrough		: "Barrat",
+Subscript			: "SubÃ­ndex",
+Superscript			: "SuperÃ­ndex",
+LeftJustify			: "Alinia a l'esquerra",
+CenterJustify		: "Centrat",
+RightJustify		: "Alinia a la dreta",
+BlockJustify		: "Justificat",
+DecreaseIndent		: "Redueix el sagnat",
+IncreaseIndent		: "Augmenta el sagnat",
+Blockquote			: "Bloc de cita",
+CreateDiv			: "Crea un contenidor Div",
+EditDiv				: "Edita el contenidor Div",
+DeleteDiv			: "Elimina el contenidor Div",
+Undo				: "DesfÃ©s",
+Redo				: "RefÃ©s",
+NumberedListLbl		: "Llista numerada",
+NumberedList		: "NumeraciÃ³ activada/desactivada",
+BulletedListLbl		: "Llista de pics",
+BulletedList		: "Pics activats/descativats",
+ShowTableBorders	: "Mostra les vores de les taules",
+ShowDetails			: "Mostra detalls",
+Style				: "Estil",
+FontFormat			: "Format",
+Font				: "Tipus de lletra",
+FontSize			: "Mida",
+TextColor			: "Color de Text",
+BGColor				: "Color de Fons",
+Source				: "Codi font",
+Find				: "Cerca",
+Replace				: "ReemplaÃ§a",
+SpellCheck			: "Revisa l'ortografia",
+UniversalKeyboard	: "Teclat universal",
+PageBreakLbl		: "Salt de pÃ gina",
+PageBreak			: "Insereix salt de pÃ gina",
+
+Form			: "Formulari",
+Checkbox		: "Casella de verificaciÃ³",
+RadioButton		: "BotÃ³ d'opciÃ³",
+TextField		: "Camp de text",
+Textarea		: "Ã€rea de text",
+HiddenField		: "Camp ocult",
+Button			: "BotÃ³",
+SelectionField	: "Camp de selecciÃ³",
+ImageButton		: "BotÃ³ d'imatge",
+
+FitWindow		: "Maximiza la mida de l'editor",
+ShowBlocks		: "Mostra els blocs",
+
+// Context Menu
+EditLink			: "Edita l'enllaÃ§",
+CellCM				: "CelÂ·la",
+RowCM				: "Fila",
+ColumnCM			: "Columna",
+InsertRowAfter		: "Insereix fila darrera",
+InsertRowBefore		: "Insereix fila abans de",
+DeleteRows			: "Suprimeix una fila",
+InsertColumnAfter	: "Insereix columna darrera",
+InsertColumnBefore	: "Insereix columna abans de",
+DeleteColumns		: "Suprimeix una columna",
+InsertCellAfter		: "Insereix celÂ·la darrera",
+InsertCellBefore	: "Insereix celÂ·la abans de",
+DeleteCells			: "Suprimeix les celÂ·les",
+MergeCells			: "Fusiona les celÂ·les",
+MergeRight			: "Fusiona cap a la dreta",
+MergeDown			: "Fusiona cap avall",
+HorizontalSplitCell	: "Divideix la celÂ·la horitzontalment",
+VerticalSplitCell	: "Divideix la celÂ·la verticalment",
+TableDelete			: "Suprimeix la taula",
+CellProperties		: "Propietats de la celÂ·la",
+TableProperties		: "Propietats de la taula",
+ImageProperties		: "Propietats de la imatge",
+FlashProperties		: "Propietats del Flash",
+
+AnchorProp			: "Propietats de l'Ã ncora",
+ButtonProp			: "Propietats del botÃ³",
+CheckboxProp		: "Propietats de la casella de verificaciÃ³",
+HiddenFieldProp		: "Propietats del camp ocult",
+RadioButtonProp		: "Propietats del botÃ³ d'opciÃ³",
+ImageButtonProp		: "Propietats del botÃ³ d'imatge",
+TextFieldProp		: "Propietats del camp de text",
+SelectionFieldProp	: "Propietats del camp de selecciÃ³",
+TextareaProp		: "Propietats de l'Ã rea de text",
+FormProp			: "Propietats del formulari",
+
+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)",
+
+// Alerts and Messages
+ProcessingXHTML		: "Processant XHTML. Si us plau esperi...",
+Done				: "Fet",
+PasteWordConfirm	: "El text que voleu enganxar sembla provenir de Word. Voleu netejar aquest text abans que sigui enganxat?",
+NotCompatiblePaste	: "Aquesta funciÃ³ Ã©s disponible per a Internet Explorer versiÃ³ 5.5 o superior. Voleu enganxar sense netejar?",
+UnknownToolbarItem	: "Element de la barra d'eines desconegut \"%1\"",
+UnknownCommand		: "Nom de comanda desconegut \"%1\"",
+NotImplemented		: "MÃ¨tode no implementat",
+UnknownToolbarSet	: "Conjunt de barra d'eines \"%1\" inexistent",
+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.",
+BrowseServerBlocked : "El visualitzador de recursos no s'ha pogut obrir. Assegura't de que els bloquejos de finestres emergents estan desactivats.",
+DialogBlocked		: "No ha estat possible obrir una finestra de diÃ leg. Assegureu-vos que els bloquejos de finestres emergents estan desactivats.",
+VisitLinkBlocked	: "No ha estat possible obrir una nova finestra. Assegureu-vos que els bloquejos de finestres emergents estan desactivats.",
+
+// Dialogs
+DlgBtnOK			: "D'acord",
+DlgBtnCancel		: "CancelÂ·la",
+DlgBtnClose			: "Tanca",
+DlgBtnBrowseServer	: "Veure servidor",
+DlgAdvancedTag		: "AvanÃ§at",
+DlgOpOther			: "Altres",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "Si us plau, afegiu la URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<no definit>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "DirecciÃ³ de l'idioma",
+DlgGenLangDirLtr	: "D'esquerra a dreta (LTR)",
+DlgGenLangDirRtl	: "De dreta a esquerra (RTL)",
+DlgGenLangCode		: "Codi d'idioma",
+DlgGenAccessKey		: "Clau d'accÃ©s",
+DlgGenName			: "Nom",
+DlgGenTabIndex		: "Index de Tab",
+DlgGenLongDescr		: "DescripciÃ³ llarga de la URL",
+DlgGenClass			: "Classes del full d'estil",
+DlgGenTitle			: "TÃ­tol consultiu",
+DlgGenContType		: "Tipus de contingut consultiu",
+DlgGenLinkCharset	: "Conjunt de carÃ cters font enllaÃ§at",
+DlgGenStyle			: "Estil",
+
+// Image Dialog
+DlgImgTitle			: "Propietats de la imatge",
+DlgImgInfoTab		: "InformaciÃ³ de la imatge",
+DlgImgBtnUpload		: "Envia-la al servidor",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Puja",
+DlgImgAlt			: "Text alternatiu",
+DlgImgWidth			: "Amplada",
+DlgImgHeight		: "AlÃ§ada",
+DlgImgLockRatio		: "Bloqueja les proporcions",
+DlgBtnResetSize		: "Restaura la mida",
+DlgImgBorder		: "Vora",
+DlgImgHSpace		: "Espaiat horit.",
+DlgImgVSpace		: "Espaiat vert.",
+DlgImgAlign			: "AlineaciÃ³",
+DlgImgAlignLeft		: "Ajusta a l'esquerra",
+DlgImgAlignAbsBottom: "Abs Bottom",
+DlgImgAlignAbsMiddle: "Abs Middle",
+DlgImgAlignBaseline	: "Baseline",
+DlgImgAlignBottom	: "Bottom",
+DlgImgAlignMiddle	: "Middle",
+DlgImgAlignRight	: "Ajusta a la dreta",
+DlgImgAlignTextTop	: "Text Top",
+DlgImgAlignTop		: "Top",
+DlgImgPreview		: "Vista prÃ¨via",
+DlgImgAlertUrl		: "Si us plau, escriviu la URL de la imatge",
+DlgImgLinkTab		: "EnllaÃ§",
+
+// Flash Dialog
+DlgFlashTitle		: "Propietats del Flash",
+DlgFlashChkPlay		: "ReproduciÃ³ automÃ tica",
+DlgFlashChkLoop		: "Bucle",
+DlgFlashChkMenu		: "Habilita menÃº Flash",
+DlgFlashScale		: "Escala",
+DlgFlashScaleAll	: "Mostra-ho tot",
+DlgFlashScaleNoBorder	: "Sense vores",
+DlgFlashScaleFit	: "Mida exacta",
+
+// Link Dialog
+DlgLnkWindowTitle	: "EnllaÃ§",
+DlgLnkInfoTab		: "InformaciÃ³ de l'enllaÃ§",
+DlgLnkTargetTab		: "DestÃ­",
+
+DlgLnkType			: "Tipus d'enllaÃ§",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Ã€ncora en aquesta pÃ gina",
+DlgLnkTypeEMail		: "Correu electrÃ²nic",
+DlgLnkProto			: "Protocol",
+DlgLnkProtoOther	: "<altra>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Selecciona una Ã ncora",
+DlgLnkAnchorByName	: "Per nom d'Ã ncora",
+DlgLnkAnchorById	: "Per Id d'element",
+DlgLnkNoAnchors		: "(No hi ha Ã ncores disponibles en aquest document)",
+DlgLnkEMail			: "AdreÃ§a de correu electrÃ²nic",
+DlgLnkEMailSubject	: "Assumpte del missatge",
+DlgLnkEMailBody		: "Cos del missatge",
+DlgLnkUpload		: "Puja",
+DlgLnkBtnUpload		: "Envia al servidor",
+
+DlgLnkTarget		: "DestÃ­",
+DlgLnkTargetFrame	: "<marc>",
+DlgLnkTargetPopup	: "<finestra emergent>",
+DlgLnkTargetBlank	: "Nova finestra (_blank)",
+DlgLnkTargetParent	: "Finestra pare (_parent)",
+DlgLnkTargetSelf	: "Mateixa finestra (_self)",
+DlgLnkTargetTop		: "Finestra Major (_top)",
+DlgLnkTargetFrameName	: "Nom del marc de destÃ­",
+DlgLnkPopWinName	: "Nom finestra popup",
+DlgLnkPopWinFeat	: "CaracterÃ­stiques finestra popup",
+DlgLnkPopResize		: "Redimensionable",
+DlgLnkPopLocation	: "Barra d'adreÃ§a",
+DlgLnkPopMenu		: "Barra de menÃº",
+DlgLnkPopScroll		: "Barres d'scroll",
+DlgLnkPopStatus		: "Barra d'estat",
+DlgLnkPopToolbar	: "Barra d'eines",
+DlgLnkPopFullScrn	: "Pantalla completa (IE)",
+DlgLnkPopDependent	: "Depenent (Netscape)",
+DlgLnkPopWidth		: "Amplada",
+DlgLnkPopHeight		: "AlÃ§ada",
+DlgLnkPopLeft		: "PosiciÃ³ esquerra",
+DlgLnkPopTop		: "PosiciÃ³ dalt",
+
+DlnLnkMsgNoUrl		: "Si us plau, escrigui l'enllaÃ§ URL",
+DlnLnkMsgNoEMail	: "Si us plau, escrigui l'adreÃ§a correu electrÃ²nic",
+DlnLnkMsgNoAnchor	: "Si us plau, escrigui l'Ã ncora",
+DlnLnkMsgInvPopName	: "El nom de la finestra emergent ha de comenÃ§ar amb una lletra i no pot tenir espais",
+
+// Color Dialog
+DlgColorTitle		: "Selecciona el color",
+DlgColorBtnClear	: "Neteja",
+DlgColorHighlight	: "RealÃ§a",
+DlgColorSelected	: "Selecciona",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Insereix una icona",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Selecciona el carÃ cter especial",
+
+// Table Dialog
+DlgTableTitle		: "Propietats de la taula",
+DlgTableRows		: "Files",
+DlgTableColumns		: "Columnes",
+DlgTableBorder		: "Mida vora",
+DlgTableAlign		: "AlineaciÃ³",
+DlgTableAlignNotSet	: "<No Definit>",
+DlgTableAlignLeft	: "Esquerra",
+DlgTableAlignCenter	: "Centre",
+DlgTableAlignRight	: "Dreta",
+DlgTableWidth		: "Amplada",
+DlgTableWidthPx		: "pÃ­xels",
+DlgTableWidthPc		: "percentatge",
+DlgTableHeight		: "AlÃ§ada",
+DlgTableCellSpace	: "Espaiat de celÂ·les",
+DlgTableCellPad		: "Encoixinament de celÂ·les",
+DlgTableCaption		: "TÃ­tol",
+DlgTableSummary		: "Resum",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "Propietats de la celÂ·la",
+DlgCellWidth		: "Amplada",
+DlgCellWidthPx		: "pÃ­xels",
+DlgCellWidthPc		: "percentatge",
+DlgCellHeight		: "AlÃ§ada",
+DlgCellWordWrap		: "Ajust de paraula",
+DlgCellWordWrapNotSet	: "<No Definit>",
+DlgCellWordWrapYes	: "Si",
+DlgCellWordWrapNo	: "No",
+DlgCellHorAlign		: "AlineaciÃ³ horitzontal",
+DlgCellHorAlignNotSet	: "<No Definit>",
+DlgCellHorAlignLeft	: "Esquerra",
+DlgCellHorAlignCenter	: "Centre",
+DlgCellHorAlignRight: "Dreta",
+DlgCellVerAlign		: "AlineaciÃ³ vertical",
+DlgCellVerAlignNotSet	: "<No definit>",
+DlgCellVerAlignTop	: "Top",
+DlgCellVerAlignMiddle	: "Middle",
+DlgCellVerAlignBottom	: "Bottom",
+DlgCellVerAlignBaseline	: "Baseline",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "Rows Span",
+DlgCellCollSpan		: "Columns Span",
+DlgCellBackColor	: "Color de fons",
+DlgCellBorderColor	: "Color de la vora",
+DlgCellBtnSelect	: "Seleccioneu...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Cerca i reemplaÃ§a",
+
+// Find Dialog
+DlgFindTitle		: "Cerca",
+DlgFindFindBtn		: "Cerca",
+DlgFindNotFoundMsg	: "El text especificat no s'ha trobat.",
+
+// Replace Dialog
+DlgReplaceTitle			: "ReemplaÃ§a",
+DlgReplaceFindLbl		: "Cerca:",
+DlgReplaceReplaceLbl	: "RemplaÃ§a amb:",
+DlgReplaceCaseChk		: "Distingeix majÃºscules/minÃºscules",
+DlgReplaceReplaceBtn	: "ReemplaÃ§a",
+DlgReplaceReplAllBtn	: "ReemplaÃ§a-ho tot",
+DlgReplaceWordChk		: "NomÃ©s paraules completes",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "La seguretat del vostre navegador no permet executar automÃ ticament les operacions de retallar. Si us plau, utilitzeu el teclat (Ctrl+X).",
+PasteErrorCopy	: "La seguretat del vostre navegador no permet executar automÃ ticament les operacions de copiar. Si us plau, utilitzeu el teclat (Ctrl+C).",
+
+PasteAsText		: "Enganxa com a text no formatat",
+PasteFromWord	: "Enganxa com a Word",
+
+DlgPasteMsg2	: "Si us plau, enganxeu dins del segÃ¼ent camp utilitzant el teclat (<STRONG>Ctrl+V</STRONG>) i premeu <STRONG>OK</STRONG>.",
+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.",
+DlgPasteIgnoreFont		: "Ignora definicions de font",
+DlgPasteRemoveStyles	: "Elimina definicions d'estil",
+
+// Color Picker
+ColorAutomatic	: "AutomÃ tic",
+ColorMoreColors	: "MÃ©s colors...",
+
+// Document Properties
+DocProps		: "Propietats del document",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Propietats de l'Ã ncora",
+DlgAnchorName		: "Nom de l'Ã ncora",
+DlgAnchorErrorName	: "Si us plau, escriviu el nom de l'ancora",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "No Ã©s al diccionari",
+DlgSpellChangeTo		: "ReemplaÃ§a amb",
+DlgSpellBtnIgnore		: "Ignora",
+DlgSpellBtnIgnoreAll	: "Ignora-les totes",
+DlgSpellBtnReplace		: "Canvia",
+DlgSpellBtnReplaceAll	: "Canvia-les totes",
+DlgSpellBtnUndo			: "DesfÃ©s",
+DlgSpellNoSuggestions	: "Cap suggeriment",
+DlgSpellProgress		: "VerificaciÃ³ ortogrÃ fica en curs...",
+DlgSpellNoMispell		: "VerificaciÃ³ ortogrÃ fica acabada: no hi ha cap paraula mal escrita",
+DlgSpellNoChanges		: "VerificaciÃ³ ortogrÃ fica: no s'ha canviat cap paraula",
+DlgSpellOneChange		: "VerificaciÃ³ ortogrÃ fica: s'ha canviat una paraula",
+DlgSpellManyChanges		: "VerificaciÃ³ ortogrÃ fica: s'han canviat %1 paraules",
+
+IeSpellDownload			: "VerificaciÃ³ ortogrÃ fica no instalÂ·lada. Voleu descarregar-ho ara?",
+
+// Button Dialog
+DlgButtonText		: "Text (Valor)",
+DlgButtonType		: "Tipus",
+DlgButtonTypeBtn	: "BotÃ³",
+DlgButtonTypeSbm	: "Transmet formulari",
+DlgButtonTypeRst	: "Reinicia formulari",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Nom",
+DlgCheckboxValue	: "Valor",
+DlgCheckboxSelected	: "Seleccionat",
+
+// Form Dialog
+DlgFormName		: "Nom",
+DlgFormAction	: "AcciÃ³",
+DlgFormMethod	: "MÃ¨tode",
+
+// Select Field Dialog
+DlgSelectName		: "Nom",
+DlgSelectValue		: "Valor",
+DlgSelectSize		: "Mida",
+DlgSelectLines		: "LÃ­nies",
+DlgSelectChkMulti	: "Permet mÃºltiples seleccions",
+DlgSelectOpAvail	: "Opcions disponibles",
+DlgSelectOpText		: "Text",
+DlgSelectOpValue	: "Valor",
+DlgSelectBtnAdd		: "Afegeix",
+DlgSelectBtnModify	: "Modifica",
+DlgSelectBtnUp		: "Amunt",
+DlgSelectBtnDown	: "Avall",
+DlgSelectBtnSetValue : "Selecciona per defecte",
+DlgSelectBtnDelete	: "Elimina",
+
+// Textarea Dialog
+DlgTextareaName	: "Nom",
+DlgTextareaCols	: "Columnes",
+DlgTextareaRows	: "Files",
+
+// Text Field Dialog
+DlgTextName			: "Nom",
+DlgTextValue		: "Valor",
+DlgTextCharWidth	: "Amplada",
+DlgTextMaxChars		: "Nombre mÃ xim de carÃ cters",
+DlgTextType			: "Tipus",
+DlgTextTypeText		: "Text",
+DlgTextTypePass		: "Contrasenya",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Nom",
+DlgHiddenValue	: "Valor",
+
+// Bulleted List Dialog
+BulletedListProp	: "Propietats de la llista de pics",
+NumberedListProp	: "Propietats de llista numerada",
+DlgLstStart			: "Inici",
+DlgLstType			: "Tipus",
+DlgLstTypeCircle	: "Cercle",
+DlgLstTypeDisc		: "Disc",
+DlgLstTypeSquare	: "Quadrat",
+DlgLstTypeNumbers	: "NÃºmeros (1, 2, 3)",
+DlgLstTypeLCase		: "Lletres minÃºscules (a, b, c)",
+DlgLstTypeUCase		: "Lletres majÃºscules (A, B, C)",
+DlgLstTypeSRoman	: "NÃºmeros romans en minÃºscules (i, ii, iii)",
+DlgLstTypeLRoman	: "NÃºmeros romans en majÃºscules (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "General",
+DlgDocBackTab		: "Fons",
+DlgDocColorsTab		: "Colors i marges",
+DlgDocMetaTab		: "Metadades",
+
+DlgDocPageTitle		: "TÃ­tol de la pÃ gina",
+DlgDocLangDir		: "DirecciÃ³ idioma",
+DlgDocLangDirLTR	: "Esquerra a dreta (LTR)",
+DlgDocLangDirRTL	: "Dreta a esquerra (RTL)",
+DlgDocLangCode		: "Codi d'idioma",
+DlgDocCharSet		: "CodificaciÃ³ de conjunt de carÃ cters",
+DlgDocCharSetCE		: "Centreeuropeu",
+DlgDocCharSetCT		: "XinÃ¨s tradicional (Big5)",
+DlgDocCharSetCR		: "CirÃ­lÂ·lic",
+DlgDocCharSetGR		: "Grec",
+DlgDocCharSetJP		: "JaponÃ¨s",
+DlgDocCharSetKR		: "CoreÃ ",
+DlgDocCharSetTR		: "Turc",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "Europeu occidental",
+DlgDocCharSetOther	: "Una altra codificaciÃ³ de carÃ cters",
+
+DlgDocDocType		: "CapÃ§alera de tipus de document",
+DlgDocDocTypeOther	: "Un altra capÃ§alera de tipus de document",
+DlgDocIncXHTML		: "Incloure declaracions XHTML",
+DlgDocBgColor		: "Color de fons",
+DlgDocBgImage		: "URL de la imatge de fons",
+DlgDocBgNoScroll	: "Fons fixe",
+DlgDocCText			: "Text",
+DlgDocCLink			: "EnllaÃ§",
+DlgDocCVisited		: "EnllaÃ§ visitat",
+DlgDocCActive		: "EnllaÃ§ actiu",
+DlgDocMargins		: "Marges de pÃ gina",
+DlgDocMaTop			: "Cap",
+DlgDocMaLeft		: "Esquerra",
+DlgDocMaRight		: "Dreta",
+DlgDocMaBottom		: "Peu",
+DlgDocMeIndex		: "Mots clau per a indexaciÃ³ (separats per coma)",
+DlgDocMeDescr		: "DescripciÃ³ del document",
+DlgDocMeAuthor		: "Autor",
+DlgDocMeCopy		: "Copyright",
+DlgDocPreview		: "Vista prÃ¨via",
+
+// Templates Dialog
+Templates			: "Plantilles",
+DlgTemplatesTitle	: "Contingut plantilles",
+DlgTemplatesSelMsg	: "Si us plau, seleccioneu la plantilla per obrir a l'editor<br>(el contingut actual no serÃ  enregistrat):",
+DlgTemplatesLoading	: "Carregant la llista de plantilles. Si us plau, espereu...",
+DlgTemplatesNoTpl	: "(No hi ha plantilles definides)",
+DlgTemplatesReplace	: "ReemplaÃ§a el contingut actual",
+
+// About Dialog
+DlgAboutAboutTab	: "Quant a",
+DlgAboutBrowserInfoTab	: "InformaciÃ³ del navegador",
+DlgAboutLicenseTab	: "LlicÃ¨ncia",
+DlgAboutVersion		: "versiÃ³",
+DlgAboutInfo		: "Per a mÃ©s informaciÃ³ aneu a",
+
+// Div Dialog
+DlgDivGeneralTab	: "General",
+DlgDivAdvancedTab	: "AvanÃ§at",
+DlgDivStyle		: "Estil",
+DlgDivInlineStyle	: "Estil en lÃ­nia",
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/en-ca.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/en-ca.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/en-ca.js	(revision 1481)
@@ -0,0 +1,540 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * English (Canadian) language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Collapse Toolbar",
+ToolbarExpand		: "Expand Toolbar",
+
+// Toolbar Items and Context Menu
+Save				: "Save",
+NewPage				: "New Page",
+Preview				: "Preview",
+Cut					: "Cut",
+Copy				: "Copy",
+Paste				: "Paste",
+PasteText			: "Paste as plain text",
+PasteWord			: "Paste from Word",
+Print				: "Print",
+SelectAll			: "Select All",
+RemoveFormat		: "Remove Format",
+InsertLinkLbl		: "Link",
+InsertLink			: "Insert/Edit Link",
+RemoveLink			: "Remove Link",
+VisitLink			: "Open Link",
+Anchor				: "Insert/Edit Anchor",
+AnchorDelete		: "Remove Anchor",
+InsertImageLbl		: "Image",
+InsertImage			: "Insert/Edit Image",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Insert/Edit Flash",
+InsertTableLbl		: "Table",
+InsertTable			: "Insert/Edit Table",
+InsertLineLbl		: "Line",
+InsertLine			: "Insert Horizontal Line",
+InsertSpecialCharLbl: "Special Character",
+InsertSpecialChar	: "Insert Special Character",
+InsertSmileyLbl		: "Smiley",
+InsertSmiley		: "Insert Smiley",
+About				: "About FCKeditor",
+Bold				: "Bold",
+Italic				: "Italic",
+Underline			: "Underline",
+StrikeThrough		: "Strike Through",
+Subscript			: "Subscript",
+Superscript			: "Superscript",
+LeftJustify			: "Left Justify",
+CenterJustify		: "Centre Justify",
+RightJustify		: "Right Justify",
+BlockJustify		: "Block Justify",
+DecreaseIndent		: "Decrease Indent",
+IncreaseIndent		: "Increase Indent",
+Blockquote			: "Blockquote",
+CreateDiv			: "Create Div Container",
+EditDiv				: "Edit Div Container",
+DeleteDiv			: "Remove Div Container",
+Undo				: "Undo",
+Redo				: "Redo",
+NumberedListLbl		: "Numbered List",
+NumberedList		: "Insert/Remove Numbered List",
+BulletedListLbl		: "Bulleted List",
+BulletedList		: "Insert/Remove Bulleted List",
+ShowTableBorders	: "Show Table Borders",
+ShowDetails			: "Show Details",
+Style				: "Style",
+FontFormat			: "Format",
+Font				: "Font",
+FontSize			: "Size",
+TextColor			: "Text Colour",
+BGColor				: "Background Colour",
+Source				: "Source",
+Find				: "Find",
+Replace				: "Replace",
+SpellCheck			: "Check Spelling",
+UniversalKeyboard	: "Universal Keyboard",
+PageBreakLbl		: "Page Break",
+PageBreak			: "Insert Page Break",
+
+Form			: "Form",
+Checkbox		: "Checkbox",
+RadioButton		: "Radio Button",
+TextField		: "Text Field",
+Textarea		: "Textarea",
+HiddenField		: "Hidden Field",
+Button			: "Button",
+SelectionField	: "Selection Field",
+ImageButton		: "Image Button",
+
+FitWindow		: "Maximize the editor size",
+ShowBlocks		: "Show Blocks",
+
+// Context Menu
+EditLink			: "Edit Link",
+CellCM				: "Cell",
+RowCM				: "Row",
+ColumnCM			: "Column",
+InsertRowAfter		: "Insert Row After",
+InsertRowBefore		: "Insert Row Before",
+DeleteRows			: "Delete Rows",
+InsertColumnAfter	: "Insert Column After",
+InsertColumnBefore	: "Insert Column Before",
+DeleteColumns		: "Delete Columns",
+InsertCellAfter		: "Insert Cell After",
+InsertCellBefore	: "Insert Cell Before",
+DeleteCells			: "Delete Cells",
+MergeCells			: "Merge Cells",
+MergeRight			: "Merge Right",
+MergeDown			: "Merge Down",
+HorizontalSplitCell	: "Split Cell Horizontally",
+VerticalSplitCell	: "Split Cell Vertically",
+TableDelete			: "Delete Table",
+CellProperties		: "Cell Properties",
+TableProperties		: "Table Properties",
+ImageProperties		: "Image Properties",
+FlashProperties		: "Flash Properties",
+
+AnchorProp			: "Anchor Properties",
+ButtonProp			: "Button Properties",
+CheckboxProp		: "Checkbox Properties",
+HiddenFieldProp		: "Hidden Field Properties",
+RadioButtonProp		: "Radio Button Properties",
+ImageButtonProp		: "Image Button Properties",
+TextFieldProp		: "Text Field Properties",
+SelectionFieldProp	: "Selection Field Properties",
+TextareaProp		: "Textarea Properties",
+FormProp			: "Form Properties",
+
+FontFormats			: "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "Processing XHTML. Please wait...",
+Done				: "Done",
+PasteWordConfirm	: "The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?",
+NotCompatiblePaste	: "This command is available for Internet Explorer version 5.5 or more. Do you want to paste without cleaning?",
+UnknownToolbarItem	: "Unknown toolbar item \"%1\"",
+UnknownCommand		: "Unknown command name \"%1\"",
+NotImplemented		: "Command not implemented",
+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.",
+BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",
+DialogBlocked		: "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",
+VisitLinkBlocked	: "It was not possible to open a new window. Make sure all popup blockers are disabled.",
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Cancel",
+DlgBtnClose			: "Close",
+DlgBtnBrowseServer	: "Browse Server",
+DlgAdvancedTag		: "Advanced",
+DlgOpOther			: "<Other>",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "Please insert the URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<not set>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Language Direction",
+DlgGenLangDirLtr	: "Left to Right (LTR)",
+DlgGenLangDirRtl	: "Right to Left (RTL)",
+DlgGenLangCode		: "Language Code",
+DlgGenAccessKey		: "Access Key",
+DlgGenName			: "Name",
+DlgGenTabIndex		: "Tab Index",
+DlgGenLongDescr		: "Long Description URL",
+DlgGenClass			: "Stylesheet Classes",
+DlgGenTitle			: "Advisory Title",
+DlgGenContType		: "Advisory Content Type",
+DlgGenLinkCharset	: "Linked Resource Charset",
+DlgGenStyle			: "Style",
+
+// Image Dialog
+DlgImgTitle			: "Image Properties",
+DlgImgInfoTab		: "Image Info",
+DlgImgBtnUpload		: "Send it to the Server",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Upload",
+DlgImgAlt			: "Alternative Text",
+DlgImgWidth			: "Width",
+DlgImgHeight		: "Height",
+DlgImgLockRatio		: "Lock Ratio",
+DlgBtnResetSize		: "Reset Size",
+DlgImgBorder		: "Border",
+DlgImgHSpace		: "HSpace",
+DlgImgVSpace		: "VSpace",
+DlgImgAlign			: "Align",
+DlgImgAlignLeft		: "Left",
+DlgImgAlignAbsBottom: "Abs Bottom",
+DlgImgAlignAbsMiddle: "Abs Middle",
+DlgImgAlignBaseline	: "Baseline",
+DlgImgAlignBottom	: "Bottom",
+DlgImgAlignMiddle	: "Middle",
+DlgImgAlignRight	: "Right",
+DlgImgAlignTextTop	: "Text Top",
+DlgImgAlignTop		: "Top",
+DlgImgPreview		: "Preview",
+DlgImgAlertUrl		: "Please type the image URL",
+DlgImgLinkTab		: "Link",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash Properties",
+DlgFlashChkPlay		: "Auto Play",
+DlgFlashChkLoop		: "Loop",
+DlgFlashChkMenu		: "Enable Flash Menu",
+DlgFlashScale		: "Scale",
+DlgFlashScaleAll	: "Show all",
+DlgFlashScaleNoBorder	: "No Border",
+DlgFlashScaleFit	: "Exact Fit",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Link",
+DlgLnkInfoTab		: "Link Info",
+DlgLnkTargetTab		: "Target",
+
+DlgLnkType			: "Link Type",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Link to anchor in the text",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protocol",
+DlgLnkProtoOther	: "<other>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Select an Anchor",
+DlgLnkAnchorByName	: "By Anchor Name",
+DlgLnkAnchorById	: "By Element Id",
+DlgLnkNoAnchors		: "(No anchors available in the document)",
+DlgLnkEMail			: "E-Mail Address",
+DlgLnkEMailSubject	: "Message Subject",
+DlgLnkEMailBody		: "Message Body",
+DlgLnkUpload		: "Upload",
+DlgLnkBtnUpload		: "Send it to the Server",
+
+DlgLnkTarget		: "Target",
+DlgLnkTargetFrame	: "<frame>",
+DlgLnkTargetPopup	: "<popup window>",
+DlgLnkTargetBlank	: "New Window (_blank)",
+DlgLnkTargetParent	: "Parent Window (_parent)",
+DlgLnkTargetSelf	: "Same Window (_self)",
+DlgLnkTargetTop		: "Topmost Window (_top)",
+DlgLnkTargetFrameName	: "Target Frame Name",
+DlgLnkPopWinName	: "Popup Window Name",
+DlgLnkPopWinFeat	: "Popup Window Features",
+DlgLnkPopResize		: "Resizable",
+DlgLnkPopLocation	: "Location Bar",
+DlgLnkPopMenu		: "Menu Bar",
+DlgLnkPopScroll		: "Scroll Bars",
+DlgLnkPopStatus		: "Status Bar",
+DlgLnkPopToolbar	: "Toolbar",
+DlgLnkPopFullScrn	: "Full Screen (IE)",
+DlgLnkPopDependent	: "Dependent (Netscape)",
+DlgLnkPopWidth		: "Width",
+DlgLnkPopHeight		: "Height",
+DlgLnkPopLeft		: "Left Position",
+DlgLnkPopTop		: "Top Position",
+
+DlnLnkMsgNoUrl		: "Please type the link URL",
+DlnLnkMsgNoEMail	: "Please type the e-mail address",
+DlnLnkMsgNoAnchor	: "Please select an anchor",
+DlnLnkMsgInvPopName	: "The popup name must begin with an alphabetic character and must not contain spaces",
+
+// Color Dialog
+DlgColorTitle		: "Select Colour",
+DlgColorBtnClear	: "Clear",
+DlgColorHighlight	: "Highlight",
+DlgColorSelected	: "Selected",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Insert a Smiley",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Select Special Character",
+
+// Table Dialog
+DlgTableTitle		: "Table Properties",
+DlgTableRows		: "Rows",
+DlgTableColumns		: "Columns",
+DlgTableBorder		: "Border size",
+DlgTableAlign		: "Alignment",
+DlgTableAlignNotSet	: "<Not set>",
+DlgTableAlignLeft	: "Left",
+DlgTableAlignCenter	: "Centre",
+DlgTableAlignRight	: "Right",
+DlgTableWidth		: "Width",
+DlgTableWidthPx		: "pixels",
+DlgTableWidthPc		: "percent",
+DlgTableHeight		: "Height",
+DlgTableCellSpace	: "Cell spacing",
+DlgTableCellPad		: "Cell padding",
+DlgTableCaption		: "Caption",
+DlgTableSummary		: "Summary",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "Cell Properties",
+DlgCellWidth		: "Width",
+DlgCellWidthPx		: "pixels",
+DlgCellWidthPc		: "percent",
+DlgCellHeight		: "Height",
+DlgCellWordWrap		: "Word Wrap",
+DlgCellWordWrapNotSet	: "<Not set>",
+DlgCellWordWrapYes	: "Yes",
+DlgCellWordWrapNo	: "No",
+DlgCellHorAlign		: "Horizontal Alignment",
+DlgCellHorAlignNotSet	: "<Not set>",
+DlgCellHorAlignLeft	: "Left",
+DlgCellHorAlignCenter	: "Centre",
+DlgCellHorAlignRight: "Right",
+DlgCellVerAlign		: "Vertical Alignment",
+DlgCellVerAlignNotSet	: "<Not set>",
+DlgCellVerAlignTop	: "Top",
+DlgCellVerAlignMiddle	: "Middle",
+DlgCellVerAlignBottom	: "Bottom",
+DlgCellVerAlignBaseline	: "Baseline",
+DlgCellType		: "Cell Type",
+DlgCellTypeData		: "Data",
+DlgCellTypeHeader	: "Header",
+DlgCellRowSpan		: "Rows Span",
+DlgCellCollSpan		: "Columns Span",
+DlgCellBackColor	: "Background Colour",
+DlgCellBorderColor	: "Border Colour",
+DlgCellBtnSelect	: "Select...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Find and Replace",
+
+// Find Dialog
+DlgFindTitle		: "Find",
+DlgFindFindBtn		: "Find",
+DlgFindNotFoundMsg	: "The specified text was not found.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Replace",
+DlgReplaceFindLbl		: "Find what:",
+DlgReplaceReplaceLbl	: "Replace with:",
+DlgReplaceCaseChk		: "Match case",
+DlgReplaceReplaceBtn	: "Replace",
+DlgReplaceReplAllBtn	: "Replace All",
+DlgReplaceWordChk		: "Match whole word",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl+X).",
+PasteErrorCopy	: "Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl+C).",
+
+PasteAsText		: "Paste as Plain Text",
+PasteFromWord	: "Paste from Word",
+
+DlgPasteMsg2	: "Please paste inside the following box using the keyboard (<strong>Ctrl+V</strong>) and hit <strong>OK</strong>.",
+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.",
+DlgPasteIgnoreFont		: "Ignore Font Face definitions",
+DlgPasteRemoveStyles	: "Remove Styles definitions",
+
+// Color Picker
+ColorAutomatic	: "Automatic",
+ColorMoreColors	: "More Colours...",
+
+// Document Properties
+DocProps		: "Document Properties",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Anchor Properties",
+DlgAnchorName		: "Anchor Name",
+DlgAnchorErrorName	: "Please type the anchor name",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Not in dictionary",
+DlgSpellChangeTo		: "Change to",
+DlgSpellBtnIgnore		: "Ignore",
+DlgSpellBtnIgnoreAll	: "Ignore All",
+DlgSpellBtnReplace		: "Replace",
+DlgSpellBtnReplaceAll	: "Replace All",
+DlgSpellBtnUndo			: "Undo",
+DlgSpellNoSuggestions	: "- No suggestions -",
+DlgSpellProgress		: "Spell check in progress...",
+DlgSpellNoMispell		: "Spell check complete: No misspellings found",
+DlgSpellNoChanges		: "Spell check complete: No words changed",
+DlgSpellOneChange		: "Spell check complete: One word changed",
+DlgSpellManyChanges		: "Spell check complete: %1 words changed",
+
+IeSpellDownload			: "Spell checker not installed. Do you want to download it now?",
+
+// Button Dialog
+DlgButtonText		: "Text (Value)",
+DlgButtonType		: "Type",
+DlgButtonTypeBtn	: "Button",
+DlgButtonTypeSbm	: "Submit",
+DlgButtonTypeRst	: "Reset",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Name",
+DlgCheckboxValue	: "Value",
+DlgCheckboxSelected	: "Selected",
+
+// Form Dialog
+DlgFormName		: "Name",
+DlgFormAction	: "Action",
+DlgFormMethod	: "Method",
+
+// Select Field Dialog
+DlgSelectName		: "Name",
+DlgSelectValue		: "Value",
+DlgSelectSize		: "Size",
+DlgSelectLines		: "lines",
+DlgSelectChkMulti	: "Allow multiple selections",
+DlgSelectOpAvail	: "Available Options",
+DlgSelectOpText		: "Text",
+DlgSelectOpValue	: "Value",
+DlgSelectBtnAdd		: "Add",
+DlgSelectBtnModify	: "Modify",
+DlgSelectBtnUp		: "Up",
+DlgSelectBtnDown	: "Down",
+DlgSelectBtnSetValue : "Set as selected value",
+DlgSelectBtnDelete	: "Delete",
+
+// Textarea Dialog
+DlgTextareaName	: "Name",
+DlgTextareaCols	: "Columns",
+DlgTextareaRows	: "Rows",
+
+// Text Field Dialog
+DlgTextName			: "Name",
+DlgTextValue		: "Value",
+DlgTextCharWidth	: "Character Width",
+DlgTextMaxChars		: "Maximum Characters",
+DlgTextType			: "Type",
+DlgTextTypeText		: "Text",
+DlgTextTypePass		: "Password",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Name",
+DlgHiddenValue	: "Value",
+
+// Bulleted List Dialog
+BulletedListProp	: "Bulleted List Properties",
+NumberedListProp	: "Numbered List Properties",
+DlgLstStart			: "Start",
+DlgLstType			: "Type",
+DlgLstTypeCircle	: "Circle",
+DlgLstTypeDisc		: "Disc",
+DlgLstTypeSquare	: "Square",
+DlgLstTypeNumbers	: "Numbers (1, 2, 3)",
+DlgLstTypeLCase		: "Lowercase Letters (a, b, c)",
+DlgLstTypeUCase		: "Uppercase Letters (A, B, C)",
+DlgLstTypeSRoman	: "Small Roman Numerals (i, ii, iii)",
+DlgLstTypeLRoman	: "Large Roman Numerals (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "General",
+DlgDocBackTab		: "Background",
+DlgDocColorsTab		: "Colours and Margins",
+DlgDocMetaTab		: "Meta Data",
+
+DlgDocPageTitle		: "Page Title",
+DlgDocLangDir		: "Language Direction",
+DlgDocLangDirLTR	: "Left to Right (LTR)",
+DlgDocLangDirRTL	: "Right to Left (RTL)",
+DlgDocLangCode		: "Language Code",
+DlgDocCharSet		: "Character Set Encoding",
+DlgDocCharSetCE		: "Central European",
+DlgDocCharSetCT		: "Chinese Traditional (Big5)",
+DlgDocCharSetCR		: "Cyrillic",
+DlgDocCharSetGR		: "Greek",
+DlgDocCharSetJP		: "Japanese",
+DlgDocCharSetKR		: "Korean",
+DlgDocCharSetTR		: "Turkish",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "Western European",
+DlgDocCharSetOther	: "Other Character Set Encoding",
+
+DlgDocDocType		: "Document Type Heading",
+DlgDocDocTypeOther	: "Other Document Type Heading",
+DlgDocIncXHTML		: "Include XHTML Declarations",
+DlgDocBgColor		: "Background Colour",
+DlgDocBgImage		: "Background Image URL",
+DlgDocBgNoScroll	: "Nonscrolling Background",
+DlgDocCText			: "Text",
+DlgDocCLink			: "Link",
+DlgDocCVisited		: "Visited Link",
+DlgDocCActive		: "Active Link",
+DlgDocMargins		: "Page Margins",
+DlgDocMaTop			: "Top",
+DlgDocMaLeft		: "Left",
+DlgDocMaRight		: "Right",
+DlgDocMaBottom		: "Bottom",
+DlgDocMeIndex		: "Document Indexing Keywords (comma separated)",
+DlgDocMeDescr		: "Document Description",
+DlgDocMeAuthor		: "Author",
+DlgDocMeCopy		: "Copyright",
+DlgDocPreview		: "Preview",
+
+// Templates Dialog
+Templates			: "Templates",
+DlgTemplatesTitle	: "Content Templates",
+DlgTemplatesSelMsg	: "Please select the template to open in the editor<br />(the actual contents will be lost):",
+DlgTemplatesLoading	: "Loading templates list. Please wait...",
+DlgTemplatesNoTpl	: "(No templates defined)",
+DlgTemplatesReplace	: "Replace actual contents",
+
+// About Dialog
+DlgAboutAboutTab	: "About",
+DlgAboutBrowserInfoTab	: "Browser Info",
+DlgAboutLicenseTab	: "License",
+DlgAboutVersion		: "version",
+DlgAboutInfo		: "For further information go to",
+DlgAboutModule		: "Developed for Website Baker<br />modul version 2.9.4",
+
+// Div Dialog
+DlgDivGeneralTab	: "General",
+DlgDivAdvancedTab	: "Advanced",
+DlgDivStyle		: "Style",
+DlgDivInlineStyle	: "Inline Style",
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/pt.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/pt.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/pt.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Portuguese language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Fechar Barra",
+ToolbarExpand		: "Expandir Barra",
+
+// Toolbar Items and Context Menu
+Save				: "Guardar",
+NewPage				: "Nova PÃ¡gina",
+Preview				: "PrÃ©-visualizar",
+Cut					: "Cortar",
+Copy				: "Copiar",
+Paste				: "Colar",
+PasteText			: "Colar como texto nÃ£o formatado",
+PasteWord			: "Colar do Word",
+Print				: "Imprimir",
+SelectAll			: "Seleccionar Tudo",
+RemoveFormat		: "Eliminar Formato",
+InsertLinkLbl		: "HiperligaÃ§Ã£o",
+InsertLink			: "Inserir/Editar HiperligaÃ§Ã£o",
+RemoveLink			: "Eliminar HiperligaÃ§Ã£o",
+VisitLink			: "Open Link",	//MISSING
+Anchor				: " Inserir/Editar Ã‚ncora",
+AnchorDelete		: "Remove Anchor",	//MISSING
+InsertImageLbl		: "Imagem",
+InsertImage			: "Inserir/Editar Imagem",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Inserir/Editar Flash",
+InsertTableLbl		: "Tabela",
+InsertTable			: "Inserir/Editar Tabela",
+InsertLineLbl		: "Linha",
+InsertLine			: "Inserir Linha Horizontal",
+InsertSpecialCharLbl: "Caracter Especial",
+InsertSpecialChar	: "Inserir Caracter Especial",
+InsertSmileyLbl		: "Emoticons",
+InsertSmiley		: "Inserir Emoticons",
+About				: "Acerca do FCKeditor",
+Bold				: "Negrito",
+Italic				: "ItÃ¡lico",
+Underline			: "Sublinhado",
+StrikeThrough		: "Rasurado",
+Subscript			: "Superior Ã  Linha",
+Superscript			: "Inferior Ã  Linha",
+LeftJustify			: "Alinhar Ã  Esquerda",
+CenterJustify		: "Alinhar ao Centro",
+RightJustify		: "Alinhar Ã  Direita",
+BlockJustify		: "Justificado",
+DecreaseIndent		: "Diminuir AvanÃ§o",
+IncreaseIndent		: "Aumentar AvanÃ§o",
+Blockquote			: "Blockquote",	//MISSING
+CreateDiv			: "Create Div Container",	//MISSING
+EditDiv				: "Edit Div Container",	//MISSING
+DeleteDiv			: "Remove Div Container",	//MISSING
+Undo				: "Anular",
+Redo				: "Repetir",
+NumberedListLbl		: "NumeraÃ§Ã£o",
+NumberedList		: "Inserir/Eliminar NumeraÃ§Ã£o",
+BulletedListLbl		: "Marcas",
+BulletedList		: "Inserir/Eliminar Marcas",
+ShowTableBorders	: "Mostrar Limites da Tabelas",
+ShowDetails			: "Mostrar ParÃ¡grafo",
+Style				: "Estilo",
+FontFormat			: "Formato",
+Font				: "Tipo de Letra",
+FontSize			: "Tamanho",
+TextColor			: "Cor do Texto",
+BGColor				: "Cor de Fundo",
+Source				: "Fonte",
+Find				: "Procurar",
+Replace				: "Substituir",
+SpellCheck			: "VerificaÃ§Ã£o OrtogrÃ¡fica",
+UniversalKeyboard	: "Teclado Universal",
+PageBreakLbl		: "Quebra de PÃ¡gina",
+PageBreak			: "Inserir Quebra de PÃ¡gina",
+
+Form			: "FormulÃ¡rio",
+Checkbox		: "Caixa de VerificaÃ§Ã£o",
+RadioButton		: "BotÃ£o de OpÃ§Ã£o",
+TextField		: "Campo de Texto",
+Textarea		: "Ãrea de Texto",
+HiddenField		: "Campo Escondido",
+Button			: "BotÃ£o",
+SelectionField	: "Caixa de CombinaÃ§Ã£o",
+ImageButton		: "BotÃ£o de Imagem",
+
+FitWindow		: "Maximizar o tamanho do editor",
+ShowBlocks		: "Show Blocks",	//MISSING
+
+// Context Menu
+EditLink			: "Editar HiperligaÃ§Ã£o",
+CellCM				: "CÃ©lula",
+RowCM				: "Linha",
+ColumnCM			: "Coluna",
+InsertRowAfter		: "Insert Row After",	//MISSING
+InsertRowBefore		: "Insert Row Before",	//MISSING
+DeleteRows			: "Eliminar Linhas",
+InsertColumnAfter	: "Insert Column After",	//MISSING
+InsertColumnBefore	: "Insert Column Before",	//MISSING
+DeleteColumns		: "Eliminar Coluna",
+InsertCellAfter		: "Insert Cell After",	//MISSING
+InsertCellBefore	: "Insert Cell Before",	//MISSING
+DeleteCells			: "Eliminar CÃ©lula",
+MergeCells			: "Unir CÃ©lulas",
+MergeRight			: "Merge Right",	//MISSING
+MergeDown			: "Merge Down",	//MISSING
+HorizontalSplitCell	: "Split Cell Horizontally",	//MISSING
+VerticalSplitCell	: "Split Cell Vertically",	//MISSING
+TableDelete			: "Eliminar Tabela",
+CellProperties		: "Propriedades da CÃ©lula",
+TableProperties		: "Propriedades da Tabela",
+ImageProperties		: "Propriedades da Imagem",
+FlashProperties		: "Propriedades do Flash",
+
+AnchorProp			: "Propriedades da Ã‚ncora",
+ButtonProp			: "Propriedades do BotÃ£o",
+CheckboxProp		: "Propriedades da Caixa de VerificaÃ§Ã£o",
+HiddenFieldProp		: "Propriedades do Campo Escondido",
+RadioButtonProp		: "Propriedades do BotÃ£o de OpÃ§Ã£o",
+ImageButtonProp		: "Propriedades do BotÃ£o de imagens",
+TextFieldProp		: "Propriedades do Campo de Texto",
+SelectionFieldProp	: "Propriedades da Caixa de CombinaÃ§Ã£o",
+TextareaProp		: "Propriedades da Ãrea de Texto",
+FormProp			: "Propriedades do FormulÃ¡rio",
+
+FontFormats			: "Normal;Formatado;EndereÃ§o;TÃ­tulo 1;TÃ­tulo 2;TÃ­tulo 3;TÃ­tulo 4;TÃ­tulo 5;TÃ­tulo 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "A Processar XHTML. Por favor, espere...",
+Done				: "ConcluÃ­do",
+PasteWordConfirm	: "O texto que deseja parece ter sido copiado do Word. Deseja limpar a formataÃ§Ã£o antes de colar?",
+NotCompatiblePaste	: "Este comando sÃ³ estÃ¡ disponÃ­vel para Internet Explorer versÃ£o 5.5 ou superior. Deseja colar sem limpar a formataÃ§Ã£o?",
+UnknownToolbarItem	: "Item de barra desconhecido \"%1\"",
+UnknownCommand		: "Nome de comando desconhecido \"%1\"",
+NotImplemented		: "Comando nÃ£o implementado",
+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.",
+BrowseServerBlocked : "NÃ£o foi possÃ­vel abrir o navegador de recursos. Certifique-se que todos os bloqueadores de popup estÃ£o desactivados.",
+DialogBlocked		: "NÃ£o foi possÃ­vel abrir a janela de diÃ¡logo. Certifique-se que todos os bloqueadores de popup estÃ£o desactivados.",
+VisitLinkBlocked	: "It was not possible to open a new window. Make sure all popup blockers are disabled.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Cancelar",
+DlgBtnClose			: "Fechar",
+DlgBtnBrowseServer	: "Navegar no Servidor",
+DlgAdvancedTag		: "AvanÃ§ado",
+DlgOpOther			: "<Outro>",
+DlgInfoTab			: "InformaÃ§Ã£o",
+DlgAlertUrl			: "Por favor introduza o URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<NÃ£o definido>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "OrientaÃ§Ã£o de idioma",
+DlgGenLangDirLtr	: "Esquerda Ã  Direita (LTR)",
+DlgGenLangDirRtl	: "Direita a Esquerda (RTL)",
+DlgGenLangCode		: "CÃ³digo de Idioma",
+DlgGenAccessKey		: "Chave de Acesso",
+DlgGenName			: "Nome",
+DlgGenTabIndex		: "Ãndice de TubulaÃ§Ã£o",
+DlgGenLongDescr		: "DescriÃ§Ã£o Completa do URL",
+DlgGenClass			: "Classes de Estilo de Folhas Classes",
+DlgGenTitle			: "TÃ­tulo",
+DlgGenContType		: "Tipo de ConteÃºdo",
+DlgGenLinkCharset	: "Fonte de caracteres vinculado",
+DlgGenStyle			: "Estilo",
+
+// Image Dialog
+DlgImgTitle			: "Propriedades da Imagem",
+DlgImgInfoTab		: "InformaÃ§Ã£o da Imagem",
+DlgImgBtnUpload		: "Enviar para o Servidor",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Carregar",
+DlgImgAlt			: "Texto Alternativo",
+DlgImgWidth			: "Largura",
+DlgImgHeight		: "Altura",
+DlgImgLockRatio		: "Proporcional",
+DlgBtnResetSize		: "Tamanho Original",
+DlgImgBorder		: "Limite",
+DlgImgHSpace		: "Esp.Horiz",
+DlgImgVSpace		: "Esp.Vert",
+DlgImgAlign			: "Alinhamento",
+DlgImgAlignLeft		: "Esquerda",
+DlgImgAlignAbsBottom: "Abs inferior",
+DlgImgAlignAbsMiddle: "Abs centro",
+DlgImgAlignBaseline	: "Linha de base",
+DlgImgAlignBottom	: "Fundo",
+DlgImgAlignMiddle	: "Centro",
+DlgImgAlignRight	: "Direita",
+DlgImgAlignTextTop	: "Topo do texto",
+DlgImgAlignTop		: "Topo",
+DlgImgPreview		: "PrÃ©-visualizar",
+DlgImgAlertUrl		: "Por favor introduza o URL da imagem",
+DlgImgLinkTab		: "HiperligaÃ§Ã£o",
+
+// Flash Dialog
+DlgFlashTitle		: "Propriedades do Flash",
+DlgFlashChkPlay		: "Reproduzir automaticamente",
+DlgFlashChkLoop		: "Loop",
+DlgFlashChkMenu		: "Permitir Menu do Flash",
+DlgFlashScale		: "Escala",
+DlgFlashScaleAll	: "Mostrar tudo",
+DlgFlashScaleNoBorder	: "Sem Limites",
+DlgFlashScaleFit	: "Tamanho Exacto",
+
+// Link Dialog
+DlgLnkWindowTitle	: "HiperligaÃ§Ã£o",
+DlgLnkInfoTab		: "InformaÃ§Ã£o de HiperligaÃ§Ã£o",
+DlgLnkTargetTab		: "Destino",
+
+DlgLnkType			: "Tipo de HiperligaÃ§Ã£o",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "ReferÃªncia a esta pÃ¡gina",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protocolo",
+DlgLnkProtoOther	: "<outro>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Seleccionar una referÃªncia",
+DlgLnkAnchorByName	: "Por Nome de ReferÃªncia",
+DlgLnkAnchorById	: "Por ID de elemento",
+DlgLnkNoAnchors		: "(NÃ£o hÃ¡ referÃªncias disponÃ­veis no documento)",
+DlgLnkEMail			: "EndereÃ§o de E-Mail",
+DlgLnkEMailSubject	: "TÃ­tulo de Mensagem",
+DlgLnkEMailBody		: "Corpo da Mensagem",
+DlgLnkUpload		: "Carregar",
+DlgLnkBtnUpload		: "Enviar ao Servidor",
+
+DlgLnkTarget		: "Destino",
+DlgLnkTargetFrame	: "<Frame>",
+DlgLnkTargetPopup	: "<Janela de popup>",
+DlgLnkTargetBlank	: "Nova Janela(_blank)",
+DlgLnkTargetParent	: "Janela Pai (_parent)",
+DlgLnkTargetSelf	: "Mesma janela (_self)",
+DlgLnkTargetTop		: "Janela primaria (_top)",
+DlgLnkTargetFrameName	: "Nome do Frame Destino",
+DlgLnkPopWinName	: "Nome da Janela de Popup",
+DlgLnkPopWinFeat	: "CaracterÃ­sticas de Janela de Popup",
+DlgLnkPopResize		: "AjustÃ¡vel",
+DlgLnkPopLocation	: "Barra de localizaÃ§Ã£o",
+DlgLnkPopMenu		: "Barra de Menu",
+DlgLnkPopScroll		: "Barras de deslocamento",
+DlgLnkPopStatus		: "Barra de Estado",
+DlgLnkPopToolbar	: "Barra de Ferramentas",
+DlgLnkPopFullScrn	: "Janela Completa (IE)",
+DlgLnkPopDependent	: "Dependente (Netscape)",
+DlgLnkPopWidth		: "Largura",
+DlgLnkPopHeight		: "Altura",
+DlgLnkPopLeft		: "PosiÃ§Ã£o Esquerda",
+DlgLnkPopTop		: "PosiÃ§Ã£o Direita",
+
+DlnLnkMsgNoUrl		: "Por favor introduza a hiperligaÃ§Ã£o URL",
+DlnLnkMsgNoEMail	: "Por favor introduza o endereÃ§o de e-mail",
+DlnLnkMsgNoAnchor	: "Por favor seleccione uma referÃªncia",
+DlnLnkMsgInvPopName	: "The popup name must begin with an alphabetic character and must not contain spaces",	//MISSING
+
+// Color Dialog
+DlgColorTitle		: "Seleccionar Cor",
+DlgColorBtnClear	: "Nenhuma",
+DlgColorHighlight	: "Destacado",
+DlgColorSelected	: "Seleccionado",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Inserir um Emoticon",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Seleccione um caracter especial",
+
+// Table Dialog
+DlgTableTitle		: "Propriedades da Tabela",
+DlgTableRows		: "Linhas",
+DlgTableColumns		: "Colunas",
+DlgTableBorder		: "Tamanho do Limite",
+DlgTableAlign		: "Alinhamento",
+DlgTableAlignNotSet	: "<NÃ£o definido>",
+DlgTableAlignLeft	: "Esquerda",
+DlgTableAlignCenter	: "Centrado",
+DlgTableAlignRight	: "Direita",
+DlgTableWidth		: "Largura",
+DlgTableWidthPx		: "pixeis",
+DlgTableWidthPc		: "percentagem",
+DlgTableHeight		: "Altura",
+DlgTableCellSpace	: "Esp. e/cÃ©lulas",
+DlgTableCellPad		: "Esp. interior",
+DlgTableCaption		: "TÃ­tulo",
+DlgTableSummary		: "SumÃ¡rio",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "Propriedades da CÃ©lula",
+DlgCellWidth		: "Largura",
+DlgCellWidthPx		: "pixeis",
+DlgCellWidthPc		: "percentagem",
+DlgCellHeight		: "Altura",
+DlgCellWordWrap		: "Moldar Texto",
+DlgCellWordWrapNotSet	: "<NÃ£o definido>",
+DlgCellWordWrapYes	: "Sim",
+DlgCellWordWrapNo	: "NÃ£o",
+DlgCellHorAlign		: "Alinhamento Horizontal",
+DlgCellHorAlignNotSet	: "<NÃ£o definido>",
+DlgCellHorAlignLeft	: "Esquerda",
+DlgCellHorAlignCenter	: "Centrado",
+DlgCellHorAlignRight: "Direita",
+DlgCellVerAlign		: "Alinhamento Vertical",
+DlgCellVerAlignNotSet	: "<NÃ£o definido>",
+DlgCellVerAlignTop	: "Topo",
+DlgCellVerAlignMiddle	: "MÃ©dio",
+DlgCellVerAlignBottom	: "Fundi",
+DlgCellVerAlignBaseline	: "Linha de Base",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "Unir Linhas",
+DlgCellCollSpan		: "Unir Colunas",
+DlgCellBackColor	: "Cor do Fundo",
+DlgCellBorderColor	: "Cor do Limite",
+DlgCellBtnSelect	: "Seleccione...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Find and Replace",	//MISSING
+
+// Find Dialog
+DlgFindTitle		: "Procurar",
+DlgFindFindBtn		: "Procurar",
+DlgFindNotFoundMsg	: "O texto especificado nÃ£o foi encontrado.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Substituir",
+DlgReplaceFindLbl		: "Texto a Procurar:",
+DlgReplaceReplaceLbl	: "Substituir por:",
+DlgReplaceCaseChk		: "MaiÃºsculas/MinÃºsculas",
+DlgReplaceReplaceBtn	: "Substituir",
+DlgReplaceReplAllBtn	: "Substituir Tudo",
+DlgReplaceWordChk		: "Coincidir com toda a palavra",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "A configuraÃ§Ã£o de seguranÃ§a do navegador nÃ£o permite a execuÃ§Ã£o automÃ¡tica de operaÃ§Ãµes de cortar. Por favor use o teclado (Ctrl+X).",
+PasteErrorCopy	: "A configuraÃ§Ã£o de seguranÃ§a do navegador nÃ£o permite a execuÃ§Ã£o automÃ¡tica de operaÃ§Ãµes de copiar. Por favor use o teclado (Ctrl+C).",
+
+PasteAsText		: "Colar como Texto Simples",
+PasteFromWord	: "Colar do Word",
+
+DlgPasteMsg2	: "Por favor, cole dentro da seguinte caixa usando o teclado (<STRONG>Ctrl+V</STRONG>) e prima <STRONG>OK</STRONG>.",
+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
+DlgPasteIgnoreFont		: "Ignorar da definiÃ§Ãµes do Tipo de Letra ",
+DlgPasteRemoveStyles	: "Remover as definiÃ§Ãµes de Estilos",
+
+// Color Picker
+ColorAutomatic	: "AutomÃ¡tico",
+ColorMoreColors	: "Mais Cores...",
+
+// Document Properties
+DocProps		: "Propriedades do Documento",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Propriedades da Ã‚ncora",
+DlgAnchorName		: "Nome da Ã‚ncora",
+DlgAnchorErrorName	: "Por favor, introduza o nome da Ã¢ncora",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "NÃ£o estÃ¡ num directÃ³rio",
+DlgSpellChangeTo		: "Mudar para",
+DlgSpellBtnIgnore		: "Ignorar",
+DlgSpellBtnIgnoreAll	: "Ignorar Tudo",
+DlgSpellBtnReplace		: "Substituir",
+DlgSpellBtnReplaceAll	: "Substituir Tudo",
+DlgSpellBtnUndo			: "Anular",
+DlgSpellNoSuggestions	: "- Sem sugestÃµes -",
+DlgSpellProgress		: "VerificaÃ§Ã£o ortogrÃ¡fica em progressoâ€¦",
+DlgSpellNoMispell		: "VerificaÃ§Ã£o ortogrÃ¡fica completa: nÃ£o foram encontrados erros",
+DlgSpellNoChanges		: "VerificaÃ§Ã£o ortogrÃ¡fica completa: nÃ£o houve alteraÃ§Ã£o de palavras",
+DlgSpellOneChange		: "VerificaÃ§Ã£o ortogrÃ¡fica completa: uma palavra alterada",
+DlgSpellManyChanges		: "VerificaÃ§Ã£o ortogrÃ¡fica completa: %1 palavras alteradas",
+
+IeSpellDownload			: " VerificaÃ§Ã£o ortogrÃ¡fica nÃ£o instalada. Quer descarregar agora?",
+
+// Button Dialog
+DlgButtonText		: "Texto (Valor)",
+DlgButtonType		: "Tipo",
+DlgButtonTypeBtn	: "Button",	//MISSING
+DlgButtonTypeSbm	: "Submit",	//MISSING
+DlgButtonTypeRst	: "Reset",	//MISSING
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Nome",
+DlgCheckboxValue	: "Valor",
+DlgCheckboxSelected	: "Seleccionado",
+
+// Form Dialog
+DlgFormName		: "Nome",
+DlgFormAction	: "AcÃ§Ã£o",
+DlgFormMethod	: "MÃ©todo",
+
+// Select Field Dialog
+DlgSelectName		: "Nome",
+DlgSelectValue		: "Valor",
+DlgSelectSize		: "Tamanho",
+DlgSelectLines		: "linhas",
+DlgSelectChkMulti	: "Permitir selecÃ§Ãµes mÃºltiplas",
+DlgSelectOpAvail	: "OpÃ§Ãµes PossÃ­veis",
+DlgSelectOpText		: "Texto",
+DlgSelectOpValue	: "Valor",
+DlgSelectBtnAdd		: "Adicionar",
+DlgSelectBtnModify	: "Modificar",
+DlgSelectBtnUp		: "Para cima",
+DlgSelectBtnDown	: "Para baixo",
+DlgSelectBtnSetValue : "Definir um valor por defeito",
+DlgSelectBtnDelete	: "Apagar",
+
+// Textarea Dialog
+DlgTextareaName	: "Nome",
+DlgTextareaCols	: "Colunas",
+DlgTextareaRows	: "Linhas",
+
+// Text Field Dialog
+DlgTextName			: "Nome",
+DlgTextValue		: "Valor",
+DlgTextCharWidth	: "Tamanho do caracter",
+DlgTextMaxChars		: "Nr. MÃ¡ximo de Caracteres",
+DlgTextType			: "Tipo",
+DlgTextTypeText		: "Texto",
+DlgTextTypePass		: "Palavra-chave",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Nome",
+DlgHiddenValue	: "Valor",
+
+// Bulleted List Dialog
+BulletedListProp	: "Propriedades da Marca",
+NumberedListProp	: "Propriedades da NumeraÃ§Ã£o",
+DlgLstStart			: "Start",	//MISSING
+DlgLstType			: "Tipo",
+DlgLstTypeCircle	: "Circulo",
+DlgLstTypeDisc		: "Disco",
+DlgLstTypeSquare	: "Quadrado",
+DlgLstTypeNumbers	: "NÃºmeros (1, 2, 3)",
+DlgLstTypeLCase		: "Letras MinÃºsculas (a, b, c)",
+DlgLstTypeUCase		: "Letras MaiÃºsculas (A, B, C)",
+DlgLstTypeSRoman	: "NumeraÃ§Ã£o Romana em MinÃºsculas (i, ii, iii)",
+DlgLstTypeLRoman	: "NumeraÃ§Ã£o Romana em MaiÃºsculas (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Geral",
+DlgDocBackTab		: "Fundo",
+DlgDocColorsTab		: "Cores e Margens",
+DlgDocMetaTab		: "Meta Data",
+
+DlgDocPageTitle		: "TÃ­tulo da PÃ¡gina",
+DlgDocLangDir		: "OrientaÃ§Ã£o de idioma",
+DlgDocLangDirLTR	: "Esquerda Ã  Direita (LTR)",
+DlgDocLangDirRTL	: "Direita Ã  Esquerda (RTL)",
+DlgDocLangCode		: "CÃ³digo de Idioma",
+DlgDocCharSet		: "CodificaÃ§Ã£o de Caracteres",
+DlgDocCharSetCE		: "Central European",	//MISSING
+DlgDocCharSetCT		: "Chinese Traditional (Big5)",	//MISSING
+DlgDocCharSetCR		: "Cyrillic",	//MISSING
+DlgDocCharSetGR		: "Greek",	//MISSING
+DlgDocCharSetJP		: "Japanese",	//MISSING
+DlgDocCharSetKR		: "Korean",	//MISSING
+DlgDocCharSetTR		: "Turkish",	//MISSING
+DlgDocCharSetUN		: "Unicode (UTF-8)",	//MISSING
+DlgDocCharSetWE		: "Western European",	//MISSING
+DlgDocCharSetOther	: "Outra CodificaÃ§Ã£o de Caracteres",
+
+DlgDocDocType		: "Tipo de CabeÃ§alho do Documento",
+DlgDocDocTypeOther	: "Outro Tipo de CabeÃ§alho do Documento",
+DlgDocIncXHTML		: "Incluir DeclaraÃ§Ãµes XHTML",
+DlgDocBgColor		: "Cor de Fundo",
+DlgDocBgImage		: "Caminho para a Imagem de Fundo",
+DlgDocBgNoScroll	: "Fundo Fixo",
+DlgDocCText			: "Texto",
+DlgDocCLink			: "HiperligaÃ§Ã£o",
+DlgDocCVisited		: "HiperligaÃ§Ã£o Visitada",
+DlgDocCActive		: "HiperligaÃ§Ã£o Activa",
+DlgDocMargins		: "Margem das PÃ¡ginas",
+DlgDocMaTop			: "Topo",
+DlgDocMaLeft		: "Esquerda",
+DlgDocMaRight		: "Direita",
+DlgDocMaBottom		: "Fundo",
+DlgDocMeIndex		: "Palavras de IndexaÃ§Ã£o do Documento (separadas por virgula)",
+DlgDocMeDescr		: "DescriÃ§Ã£o do Documento",
+DlgDocMeAuthor		: "Autor",
+DlgDocMeCopy		: "Direitos de Autor",
+DlgDocPreview		: "PrÃ©-visualizar",
+
+// Templates Dialog
+Templates			: "Modelos",
+DlgTemplatesTitle	: "Modelo de ConteÃºdo",
+DlgTemplatesSelMsg	: "Por favor, seleccione o modelo a abrir no editor<br>(o conteÃºdo actual serÃ¡ perdido):",
+DlgTemplatesLoading	: "A carregar a lista de modelos. Aguarde por favor...",
+DlgTemplatesNoTpl	: "(Sem modelos definidos)",
+DlgTemplatesReplace	: "Replace actual contents",	//MISSING
+
+// About Dialog
+DlgAboutAboutTab	: "Acerca",
+DlgAboutBrowserInfoTab	: "InformaÃ§Ã£o do Nevegador",
+DlgAboutLicenseTab	: "LicenÃ§a",
+DlgAboutVersion		: "versÃ£o",
+DlgAboutInfo		: "Para mais informaÃ§Ãµes por favor dirija-se a",
+
+// Div Dialog
+DlgDivGeneralTab	: "General",	//MISSING
+DlgDivAdvancedTab	: "Advanced",	//MISSING
+DlgDivStyle		: "Style",	//MISSING
+DlgDivInlineStyle	: "Inline Style",	//MISSING
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/da.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/da.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/da.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Danish language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Skjul vÃ¦rktÃ¸jslinier",
+ToolbarExpand		: "Vis vÃ¦rktÃ¸jslinier",
+
+// Toolbar Items and Context Menu
+Save				: "Gem",
+NewPage				: "Ny side",
+Preview				: "Vis eksempel",
+Cut					: "Klip",
+Copy				: "Kopier",
+Paste				: "IndsÃ¦t",
+PasteText			: "IndsÃ¦t som ikke-formateret tekst",
+PasteWord			: "IndsÃ¦t fra Word",
+Print				: "Udskriv",
+SelectAll			: "VÃ¦lg alt",
+RemoveFormat		: "Fjern formatering",
+InsertLinkLbl		: "Hyperlink",
+InsertLink			: "IndsÃ¦t/rediger hyperlink",
+RemoveLink			: "Fjern hyperlink",
+VisitLink			: "Ã…bn hyperlink",
+Anchor				: "IndsÃ¦t/rediger bogmÃ¦rke",
+AnchorDelete		: "Fjern bogmÃ¦rke",
+InsertImageLbl		: "IndsÃ¦t billede",
+InsertImage			: "IndsÃ¦t/rediger billede",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "IndsÃ¦t/rediger Flash",
+InsertTableLbl		: "Table",
+InsertTable			: "IndsÃ¦t/rediger tabel",
+InsertLineLbl		: "Linie",
+InsertLine			: "IndsÃ¦t vandret linie",
+InsertSpecialCharLbl: "Symbol",
+InsertSpecialChar	: "IndsÃ¦t symbol",
+InsertSmileyLbl		: "Smiley",
+InsertSmiley		: "IndsÃ¦t smiley",
+About				: "Om FCKeditor",
+Bold				: "Fed",
+Italic				: "Kursiv",
+Underline			: "Understreget",
+StrikeThrough		: "Overstreget",
+Subscript			: "SÃ¦nket skrift",
+Superscript			: "HÃ¦vet skrift",
+LeftJustify			: "Venstrestillet",
+CenterJustify		: "Centreret",
+RightJustify		: "HÃ¸jrestillet",
+BlockJustify		: "Lige margener",
+DecreaseIndent		: "Formindsk indrykning",
+IncreaseIndent		: "ForÃ¸g indrykning",
+Blockquote			: "Blokcitat",
+CreateDiv			: "Opret div container",
+EditDiv				: "Rediger div container",
+DeleteDiv			: "Fjern div container",
+Undo				: "Fortryd",
+Redo				: "Annuller fortryd",
+NumberedListLbl		: "Talopstilling",
+NumberedList		: "IndsÃ¦t/fjern talopstilling",
+BulletedListLbl		: "Punktopstilling",
+BulletedList		: "IndsÃ¦t/fjern punktopstilling",
+ShowTableBorders	: "Vis tabelkanter",
+ShowDetails			: "Vis detaljer",
+Style				: "Typografi",
+FontFormat			: "Formatering",
+Font				: "Skrifttype",
+FontSize			: "SkriftstÃ¸rrelse",
+TextColor			: "Tekstfarve",
+BGColor				: "Baggrundsfarve",
+Source				: "Kilde",
+Find				: "SÃ¸g",
+Replace				: "Erstat",
+SpellCheck			: "Stavekontrol",
+UniversalKeyboard	: "Universaltastatur",
+PageBreakLbl		: "Sidskift",
+PageBreak			: "IndsÃ¦t sideskift",
+
+Form			: "IndsÃ¦t formular",
+Checkbox		: "IndsÃ¦t afkrydsningsfelt",
+RadioButton		: "IndsÃ¦t alternativknap",
+TextField		: "IndsÃ¦t tekstfelt",
+Textarea		: "IndsÃ¦t tekstboks",
+HiddenField		: "IndsÃ¦t skjult felt",
+Button			: "IndsÃ¦t knap",
+SelectionField	: "IndsÃ¦t liste",
+ImageButton		: "IndsÃ¦t billedknap",
+
+FitWindow		: "Maksimer editor vinduet",
+ShowBlocks		: "Show Blocks",	//MISSING
+
+// Context Menu
+EditLink			: "Rediger hyperlink",
+CellCM				: "Celle",
+RowCM				: "RÃ¦kke",
+ColumnCM			: "Kolonne",
+InsertRowAfter		: "IndsÃ¦t rÃ¦kke efter",
+InsertRowBefore		: "IndsÃ¦t rÃ¦kke fÃ¸r",
+DeleteRows			: "Slet rÃ¦kke",
+InsertColumnAfter	: "IndsÃ¦t kolonne efter",
+InsertColumnBefore	: "IndsÃ¦t kolonne fÃ¸r",
+DeleteColumns		: "Slet kolonne",
+InsertCellAfter		: "IndsÃ¦t celle efter",
+InsertCellBefore	: "IndsÃ¦t celle fÃ¸r",
+DeleteCells			: "Slet celle",
+MergeCells			: "Flet celler",
+MergeRight			: "Flet til hÃ¸jre",
+MergeDown			: "Flet nedad",
+HorizontalSplitCell	: "Del celle vandret",
+VerticalSplitCell	: "Del celle lodret",
+TableDelete			: "Slet tabel",
+CellProperties		: "Egenskaber for celle",
+TableProperties		: "Egenskaber for tabel",
+ImageProperties		: "Egenskaber for billede",
+FlashProperties		: "Egenskaber for Flash",
+
+AnchorProp			: "Egenskaber for bogmÃ¦rke",
+ButtonProp			: "Egenskaber for knap",
+CheckboxProp		: "Egenskaber for afkrydsningsfelt",
+HiddenFieldProp		: "Egenskaber for skjult felt",
+RadioButtonProp		: "Egenskaber for alternativknap",
+ImageButtonProp		: "Egenskaber for billedknap",
+TextFieldProp		: "Egenskaber for tekstfelt",
+SelectionFieldProp	: "Egenskaber for liste",
+TextareaProp		: "Egenskaber for tekstboks",
+FormProp			: "Egenskaber for formular",
+
+FontFormats			: "Normal;Formateret;Adresse;Overskrift 1;Overskrift 2;Overskrift 3;Overskrift 4;Overskrift 5;Overskrift 6;Normal (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "Behandler XHTML...",
+Done				: "FÃ¦rdig",
+PasteWordConfirm	: "Den tekst du forsÃ¸ger at indsÃ¦tte ser ud til at komme fra Word.<br>Vil du rense teksten fÃ¸r den indsÃ¦ttes?",
+NotCompatiblePaste	: "Denne kommando er tilgÃ¦ndelig i Internet Explorer 5.5 eller senere.<br>Vil du indsÃ¦tte teksten uden at rense den ?",
+UnknownToolbarItem	: "Ukendt vÃ¦rktÃ¸jslinjeobjekt \"%1\"!",
+UnknownCommand		: "Ukendt kommandonavn \"%1\"!",
+NotImplemented		: "Kommandoen er ikke implementeret!",
+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.",
+BrowseServerBlocked : "Browseren kunne ikke Ã¥bne de nÃ¸dvendige ressourcer!<br>SlÃ¥ pop-up blokering fra.",
+DialogBlocked		: "Dialogvinduet kunne ikke Ã¥bnes!<br>SlÃ¥ pop-up blokering fra.",
+VisitLinkBlocked	: "Det var ikke muligt at Ã¥bne et nyt vindue. Tjek, at ingen popup-blokkere er aktive.",
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Annuller",
+DlgBtnClose			: "Luk",
+DlgBtnBrowseServer	: "Gennemse...",
+DlgAdvancedTag		: "Avanceret",
+DlgOpOther			: "<Andet>",
+DlgInfoTab			: "Generelt",
+DlgAlertUrl			: "Indtast URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<intet valgt>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Tekstretning",
+DlgGenLangDirLtr	: "Fra venstre mod hÃ¸jre (LTR)",
+DlgGenLangDirRtl	: "Fra hÃ¸jre mod venstre (RTL)",
+DlgGenLangCode		: "Sprogkode",
+DlgGenAccessKey		: "Genvejstast",
+DlgGenName			: "Navn",
+DlgGenTabIndex		: "Tabulator indeks",
+DlgGenLongDescr		: "Udvidet beskrivelse",
+DlgGenClass			: "Typografiark",
+DlgGenTitle			: "Titel",
+DlgGenContType		: "Indholdstype",
+DlgGenLinkCharset	: "TegnsÃ¦t",
+DlgGenStyle			: "Typografi",
+
+// Image Dialog
+DlgImgTitle			: "Egenskaber for billede",
+DlgImgInfoTab		: "Generelt",
+DlgImgBtnUpload		: "Upload",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Upload",
+DlgImgAlt			: "Alternativ tekst",
+DlgImgWidth			: "Bredde",
+DlgImgHeight		: "HÃ¸jde",
+DlgImgLockRatio		: "LÃ¥s stÃ¸rrelsesforhold",
+DlgBtnResetSize		: "Nulstil stÃ¸rrelse",
+DlgImgBorder		: "Ramme",
+DlgImgHSpace		: "HMargen",
+DlgImgVSpace		: "VMargen",
+DlgImgAlign			: "Justering",
+DlgImgAlignLeft		: "Venstre",
+DlgImgAlignAbsBottom: "Absolut nederst",
+DlgImgAlignAbsMiddle: "Absolut centreret",
+DlgImgAlignBaseline	: "Grundlinje",
+DlgImgAlignBottom	: "Nederst",
+DlgImgAlignMiddle	: "Centreret",
+DlgImgAlignRight	: "HÃ¸jre",
+DlgImgAlignTextTop	: "Toppen af teksten",
+DlgImgAlignTop		: "Ã˜verst",
+DlgImgPreview		: "Vis eksempel",
+DlgImgAlertUrl		: "Indtast stien til billedet",
+DlgImgLinkTab		: "Hyperlink",
+
+// Flash Dialog
+DlgFlashTitle		: "Egenskaber for Flash",
+DlgFlashChkPlay		: "Automatisk afspilning",
+DlgFlashChkLoop		: "Gentagelse",
+DlgFlashChkMenu		: "Vis Flash menu",
+DlgFlashScale		: "SkalÃ©r",
+DlgFlashScaleAll	: "Vis alt",
+DlgFlashScaleNoBorder	: "Ingen ramme",
+DlgFlashScaleFit	: "Tilpas stÃ¸rrelse",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Egenskaber for hyperlink",
+DlgLnkInfoTab		: "Generelt",
+DlgLnkTargetTab		: "MÃ¥l",
+
+DlgLnkType			: "Hyperlink type",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "BogmÃ¦rke pÃ¥ denne side",
+DlgLnkTypeEMail		: "E-mail",
+DlgLnkProto			: "Protokol",
+DlgLnkProtoOther	: "<anden>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "VÃ¦lg et anker",
+DlgLnkAnchorByName	: "Efter anker navn",
+DlgLnkAnchorById	: "Efter element Id",
+DlgLnkNoAnchors		: "(Ingen bogmÃ¦rker dokumentet)",
+DlgLnkEMail			: "E-mailadresse",
+DlgLnkEMailSubject	: "Emne",
+DlgLnkEMailBody		: "BrÃ¸dtekst",
+DlgLnkUpload		: "Upload",
+DlgLnkBtnUpload		: "Upload",
+
+DlgLnkTarget		: "MÃ¥l",
+DlgLnkTargetFrame	: "<ramme>",
+DlgLnkTargetPopup	: "<popup vindue>",
+DlgLnkTargetBlank	: "Nyt vindue (_blank)",
+DlgLnkTargetParent	: "Overordnet ramme (_parent)",
+DlgLnkTargetSelf	: "Samme vindue (_self)",
+DlgLnkTargetTop		: "Hele vinduet (_top)",
+DlgLnkTargetFrameName	: "Destinationsvinduets navn",
+DlgLnkPopWinName	: "Pop-up vinduets navn",
+DlgLnkPopWinFeat	: "Egenskaber for pop-up",
+DlgLnkPopResize		: "Skalering",
+DlgLnkPopLocation	: "Adresselinje",
+DlgLnkPopMenu		: "Menulinje",
+DlgLnkPopScroll		: "Scrollbars",
+DlgLnkPopStatus		: "Statuslinje",
+DlgLnkPopToolbar	: "VÃ¦rktÃ¸jslinje",
+DlgLnkPopFullScrn	: "Fuld skÃ¦rm (IE)",
+DlgLnkPopDependent	: "Koblet/dependent (Netscape)",
+DlgLnkPopWidth		: "Bredde",
+DlgLnkPopHeight		: "HÃ¸jde",
+DlgLnkPopLeft		: "Position fra venstre",
+DlgLnkPopTop		: "Position fra toppen",
+
+DlnLnkMsgNoUrl		: "Indtast hyperlink URL!",
+DlnLnkMsgNoEMail	: "Indtast e-mailaddresse!",
+DlnLnkMsgNoAnchor	: "VÃ¦lg bogmÃ¦rke!",
+DlnLnkMsgInvPopName	: "Navnet pÃ¥ popup'en skal starte med et bogstav og mÃ¥ ikke indeholde mellemrum",
+
+// Color Dialog
+DlgColorTitle		: "VÃ¦lg farve",
+DlgColorBtnClear	: "Nulstil",
+DlgColorHighlight	: "Markeret",
+DlgColorSelected	: "Valgt",
+
+// Smiley Dialog
+DlgSmileyTitle		: "VÃ¦lg smiley",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "VÃ¦lg symbol",
+
+// Table Dialog
+DlgTableTitle		: "Egenskaber for tabel",
+DlgTableRows		: "RÃ¦kker",
+DlgTableColumns		: "Kolonner",
+DlgTableBorder		: "Rammebredde",
+DlgTableAlign		: "Justering",
+DlgTableAlignNotSet	: "<intet valgt>",
+DlgTableAlignLeft	: "Venstrestillet",
+DlgTableAlignCenter	: "Centreret",
+DlgTableAlignRight	: "HÃ¸jrestillet",
+DlgTableWidth		: "Bredde",
+DlgTableWidthPx		: "pixels",
+DlgTableWidthPc		: "procent",
+DlgTableHeight		: "HÃ¸jde",
+DlgTableCellSpace	: "Celleafstand",
+DlgTableCellPad		: "Cellemargen",
+DlgTableCaption		: "Titel",
+DlgTableSummary		: "Resume",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "Egenskaber for celle",
+DlgCellWidth		: "Bredde",
+DlgCellWidthPx		: "pixels",
+DlgCellWidthPc		: "procent",
+DlgCellHeight		: "HÃ¸jde",
+DlgCellWordWrap		: "Orddeling",
+DlgCellWordWrapNotSet	: "<intet valgt>",
+DlgCellWordWrapYes	: "Ja",
+DlgCellWordWrapNo	: "Nej",
+DlgCellHorAlign		: "Vandret justering",
+DlgCellHorAlignNotSet	: "<intet valgt>",
+DlgCellHorAlignLeft	: "Venstrestillet",
+DlgCellHorAlignCenter	: "Centreret",
+DlgCellHorAlignRight: "HÃ¸jrestillet",
+DlgCellVerAlign		: "Lodret justering",
+DlgCellVerAlignNotSet	: "<intet valgt>",
+DlgCellVerAlignTop	: "Ã˜verst",
+DlgCellVerAlignMiddle	: "Centreret",
+DlgCellVerAlignBottom	: "Nederst",
+DlgCellVerAlignBaseline	: "Grundlinje",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "HÃ¸jde i antal rÃ¦kker",
+DlgCellCollSpan		: "Bredde i antal kolonner",
+DlgCellBackColor	: "Baggrundsfarve",
+DlgCellBorderColor	: "Rammefarve",
+DlgCellBtnSelect	: "VÃ¦lg...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "SÃ¸g og erstat",
+
+// Find Dialog
+DlgFindTitle		: "Find",
+DlgFindFindBtn		: "Find",
+DlgFindNotFoundMsg	: "SÃ¸geteksten blev ikke fundet!",
+
+// Replace Dialog
+DlgReplaceTitle			: "Erstat",
+DlgReplaceFindLbl		: "SÃ¸g efter:",
+DlgReplaceReplaceLbl	: "Erstat med:",
+DlgReplaceCaseChk		: "Forskel pÃ¥ store og smÃ¥ bogstaver",
+DlgReplaceReplaceBtn	: "Erstat",
+DlgReplaceReplAllBtn	: "Erstat alle",
+DlgReplaceWordChk		: "Kun hele ord",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "Din browsers sikkerhedsindstillinger tillader ikke editoren at klippe tekst automatisk!<br>Brug i stedet tastaturet til at klippe teksten (Ctrl+X).",
+PasteErrorCopy	: "Din browsers sikkerhedsindstillinger tillader ikke editoren at kopiere tekst automatisk!<br>Brug i stedet tastaturet til at kopiere teksten (Ctrl+C).",
+
+PasteAsText		: "IndsÃ¦t som ikke-formateret tekst",
+PasteFromWord	: "IndsÃ¦t fra Word",
+
+DlgPasteMsg2	: "IndsÃ¦t i feltet herunder (<STRONG>Ctrl+V</STRONG>) og klik <STRONG>OK</STRONG>.",
+DlgPasteSec		: "PÃ¥ grund af browserens sikkerhedsindstillinger kan editoren ikke tilgÃ¥ udklipsholderen direkte. Du skal indsÃ¦tte udklipsholderens indhold i dette vindue igen.",
+DlgPasteIgnoreFont		: "Ignorer font definitioner",
+DlgPasteRemoveStyles	: "Ignorer typografi",
+
+// Color Picker
+ColorAutomatic	: "Automatisk",
+ColorMoreColors	: "Flere farver...",
+
+// Document Properties
+DocProps		: "Egenskaber for dokument",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Egenskaber for bogmÃ¦rke",
+DlgAnchorName		: "BogmÃ¦rke navn",
+DlgAnchorErrorName	: "Indtast bogmÃ¦rke navn!",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Ikke i ordbogen",
+DlgSpellChangeTo		: "Forslag",
+DlgSpellBtnIgnore		: "Ignorer",
+DlgSpellBtnIgnoreAll	: "Ignorer alle",
+DlgSpellBtnReplace		: "Erstat",
+DlgSpellBtnReplaceAll	: "Erstat alle",
+DlgSpellBtnUndo			: "Tilbage",
+DlgSpellNoSuggestions	: "- ingen forslag -",
+DlgSpellProgress		: "Stavekontrolen arbejder...",
+DlgSpellNoMispell		: "Stavekontrol fÃ¦rdig: Ingen fejl fundet",
+DlgSpellNoChanges		: "Stavekontrol fÃ¦rdig: Ingen ord Ã¦ndret",
+DlgSpellOneChange		: "Stavekontrol fÃ¦rdig: Et ord Ã¦ndret",
+DlgSpellManyChanges		: "Stavekontrol fÃ¦rdig: %1 ord Ã¦ndret",
+
+IeSpellDownload			: "Stavekontrol ikke installeret.<br>Vil du hente den nu?",
+
+// Button Dialog
+DlgButtonText		: "Tekst",
+DlgButtonType		: "Type",
+DlgButtonTypeBtn	: "Knap",
+DlgButtonTypeSbm	: "Send",
+DlgButtonTypeRst	: "Nulstil",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Navn",
+DlgCheckboxValue	: "VÃ¦rdi",
+DlgCheckboxSelected	: "Valgt",
+
+// Form Dialog
+DlgFormName		: "Navn",
+DlgFormAction	: "Handling",
+DlgFormMethod	: "Metod",
+
+// Select Field Dialog
+DlgSelectName		: "Navn",
+DlgSelectValue		: "VÃ¦rdi",
+DlgSelectSize		: "StÃ¸rrelse",
+DlgSelectLines		: "linier",
+DlgSelectChkMulti	: "Tillad flere valg",
+DlgSelectOpAvail	: "Valgmuligheder",
+DlgSelectOpText		: "Tekst",
+DlgSelectOpValue	: "VÃ¦rdi",
+DlgSelectBtnAdd		: "TilfÃ¸j",
+DlgSelectBtnModify	: "Rediger",
+DlgSelectBtnUp		: "Op",
+DlgSelectBtnDown	: "Ned",
+DlgSelectBtnSetValue : "SÃ¦t som valgt",
+DlgSelectBtnDelete	: "Slet",
+
+// Textarea Dialog
+DlgTextareaName	: "Navn",
+DlgTextareaCols	: "Kolonner",
+DlgTextareaRows	: "RÃ¦kker",
+
+// Text Field Dialog
+DlgTextName			: "Navn",
+DlgTextValue		: "VÃ¦rdi",
+DlgTextCharWidth	: "Bredde (tegn)",
+DlgTextMaxChars		: "Max antal tegn",
+DlgTextType			: "Type",
+DlgTextTypeText		: "Tekst",
+DlgTextTypePass		: "Adgangskode",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Navn",
+DlgHiddenValue	: "VÃ¦rdi",
+
+// Bulleted List Dialog
+BulletedListProp	: "Egenskaber for punktopstilling",
+NumberedListProp	: "Egenskaber for talopstilling",
+DlgLstStart			: "Start",
+DlgLstType			: "Type",
+DlgLstTypeCircle	: "Cirkel",
+DlgLstTypeDisc		: "Udfyldt cirkel",
+DlgLstTypeSquare	: "Firkant",
+DlgLstTypeNumbers	: "Nummereret (1, 2, 3)",
+DlgLstTypeLCase		: "SmÃ¥ bogstaver (a, b, c)",
+DlgLstTypeUCase		: "Store bogstaver (A, B, C)",
+DlgLstTypeSRoman	: "SmÃ¥ romertal (i, ii, iii)",
+DlgLstTypeLRoman	: "Store romertal (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Generelt",
+DlgDocBackTab		: "Baggrund",
+DlgDocColorsTab		: "Farver og margen",
+DlgDocMetaTab		: "Metadata",
+
+DlgDocPageTitle		: "Sidetitel",
+DlgDocLangDir		: "Sprog",
+DlgDocLangDirLTR	: "Fra venstre mod hÃ¸jre (LTR)",
+DlgDocLangDirRTL	: "Fra hÃ¸jre mod venstre (RTL)",
+DlgDocLangCode		: "Landekode",
+DlgDocCharSet		: "TegnsÃ¦t kode",
+DlgDocCharSetCE		: "CentraleuropÃ¦isk",
+DlgDocCharSetCT		: "Traditionel kinesisk (Big5)",
+DlgDocCharSetCR		: "Kyrillisk",
+DlgDocCharSetGR		: "GrÃ¦sk",
+DlgDocCharSetJP		: "Japansk",
+DlgDocCharSetKR		: "Koreansk",
+DlgDocCharSetTR		: "Tyrkisk",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "VesteuropÃ¦isk",
+DlgDocCharSetOther	: "Anden tegnsÃ¦t kode",
+
+DlgDocDocType		: "Dokumenttype kategori",
+DlgDocDocTypeOther	: "Anden dokumenttype kategori",
+DlgDocIncXHTML		: "Inkludere XHTML deklartion",
+DlgDocBgColor		: "Baggrundsfarve",
+DlgDocBgImage		: "Baggrundsbillede URL",
+DlgDocBgNoScroll	: "FastlÃ¥st baggrund",
+DlgDocCText			: "Tekst",
+DlgDocCLink			: "Hyperlink",
+DlgDocCVisited		: "BesÃ¸gt hyperlink",
+DlgDocCActive		: "Aktivt hyperlink",
+DlgDocMargins		: "Sidemargen",
+DlgDocMaTop			: "Ã˜verst",
+DlgDocMaLeft		: "Venstre",
+DlgDocMaRight		: "HÃ¸jre",
+DlgDocMaBottom		: "Nederst",
+DlgDocMeIndex		: "Dokument index nÃ¸gleord (kommasepareret)",
+DlgDocMeDescr		: "Dokument beskrivelse",
+DlgDocMeAuthor		: "Forfatter",
+DlgDocMeCopy		: "Copyright",
+DlgDocPreview		: "Vis",
+
+// Templates Dialog
+Templates			: "Skabeloner",
+DlgTemplatesTitle	: "Indholdsskabeloner",
+DlgTemplatesSelMsg	: "VÃ¦lg den skabelon, som skal Ã¥bnes i editoren.<br>(NuvÃ¦rende indhold vil blive overskrevet!):",
+DlgTemplatesLoading	: "Henter liste over skabeloner...",
+DlgTemplatesNoTpl	: "(Der er ikke defineret nogen skabelon!)",
+DlgTemplatesReplace	: "Erstat det faktiske indhold",
+
+// About Dialog
+DlgAboutAboutTab	: "Om",
+DlgAboutBrowserInfoTab	: "Generelt",
+DlgAboutLicenseTab	: "Licens",
+DlgAboutVersion		: "version",
+DlgAboutInfo		: "For yderlig information gÃ¥ til",
+
+// Div Dialog
+DlgDivGeneralTab	: "Generelt",
+DlgDivAdvancedTab	: "Avanceret",
+DlgDivStyle		: "Style",
+DlgDivInlineStyle	: "Inline style",
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/sr.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/sr.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/sr.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Serbian (Cyrillic) language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Ğ¡Ğ¼Ğ°ÑšĞ¸ Ğ»Ğ¸Ğ½Ğ¸Ñ˜Ñƒ ÑĞ° Ğ°Ğ»Ğ°Ñ‚ĞºĞ°Ğ¼Ğ°",
+ToolbarExpand		: "ĞŸÑ€Ğ¾ÑˆĞ¸Ñ€Ğ¸ Ğ»Ğ¸Ğ½Ğ¸Ñ˜Ñƒ ÑĞ° Ğ°Ğ»Ğ°Ñ‚ĞºĞ°Ğ¼Ğ°",
+
+// Toolbar Items and Context Menu
+Save				: "Ğ¡Ğ°Ñ‡ÑƒĞ²Ğ°Ñ˜",
+NewPage				: "ĞĞ¾Ğ²Ğ° ÑÑ‚Ñ€Ğ°Ğ½Ğ¸Ñ†Ğ°",
+Preview				: "Ğ˜Ğ·Ğ³Ğ»ĞµĞ´ ÑÑ‚Ñ€Ğ°Ğ½Ğ¸Ñ†Ğµ",
+Cut					: "Ğ˜ÑĞµÑ†Ğ¸",
+Copy				: "ĞšĞ¾Ğ¿Ğ¸Ñ€Ğ°Ñ˜",
+Paste				: "Ğ—Ğ°Ğ»ĞµĞ¿Ğ¸",
+PasteText			: "Ğ—Ğ°Ğ»ĞµĞ¿Ğ¸ ĞºĞ°Ğ¾ Ğ½ĞµÑ„Ğ¾Ñ€Ğ¼Ğ°Ñ‚Ğ¸Ñ€Ğ°Ğ½ Ñ‚ĞµĞºÑÑ‚",
+PasteWord			: "Ğ—Ğ°Ğ»ĞµĞ¿Ğ¸ Ğ¸Ğ· Worda",
+Print				: "Ğ¨Ñ‚Ğ°Ğ¼Ğ¿Ğ°",
+SelectAll			: "ĞĞ·Ğ½Ğ°Ñ‡Ğ¸ ÑĞ²Ğµ",
+RemoveFormat		: "Ğ£ĞºĞ»Ğ¾Ğ½Ğ¸ Ñ„Ğ¾Ñ€Ğ¼Ğ°Ñ‚Ğ¸Ñ€Ğ°ÑšĞµ",
+InsertLinkLbl		: "Ğ›Ğ¸Ğ½Ğº",
+InsertLink			: "Ğ£Ğ½ĞµÑĞ¸/Ğ¸Ğ·Ğ¼ĞµĞ½Ğ¸ Ğ»Ğ¸Ğ½Ğº",
+RemoveLink			: "Ğ£ĞºĞ»Ğ¾Ğ½Ğ¸ Ğ»Ğ¸Ğ½Ğº",
+VisitLink			: "Open Link",	//MISSING
+Anchor				: "Ğ£Ğ½ĞµÑĞ¸/Ğ¸Ğ·Ğ¼ĞµĞ½Ğ¸ ÑĞ¸Ğ´Ñ€Ğ¾",
+AnchorDelete		: "Remove Anchor",	//MISSING
+InsertImageLbl		: "Ğ¡Ğ»Ğ¸ĞºĞ°",
+InsertImage			: "Ğ£Ğ½ĞµÑĞ¸/Ğ¸Ğ·Ğ¼ĞµĞ½Ğ¸ ÑĞ»Ğ¸ĞºÑƒ",
+InsertFlashLbl		: "Ğ¤Ğ»ĞµÑˆ ĞµĞ»ĞµĞ¼ĞµĞ½Ñ‚",
+InsertFlash			: "Ğ£Ğ½ĞµÑĞ¸/Ğ¸Ğ·Ğ¼ĞµĞ½Ğ¸ Ñ„Ğ»ĞµÑˆ",
+InsertTableLbl		: "Ğ¢Ğ°Ğ±ĞµĞ»Ğ°",
+InsertTable			: "Ğ£Ğ½ĞµÑĞ¸/Ğ¸Ğ·Ğ¼ĞµĞ½Ğ¸ Ñ‚Ğ°Ğ±ĞµĞ»Ñƒ",
+InsertLineLbl		: "Ğ›Ğ¸Ğ½Ğ¸Ñ˜Ğ°",
+InsertLine			: "Ğ£Ğ½ĞµÑĞ¸ Ñ…Ğ¾Ñ€Ğ¸Ğ·Ğ¾Ğ½Ñ‚Ğ°Ğ»Ğ½Ñƒ Ğ»Ğ¸Ğ½Ğ¸Ñ˜Ñƒ",
+InsertSpecialCharLbl: "Ğ¡Ğ¿ĞµÑ†Ğ¸Ñ˜Ğ°Ğ»Ğ½Ğ¸ ĞºĞ°Ñ€Ğ°ĞºÑ‚ĞµÑ€Ğ¸",
+InsertSpecialChar	: "Ğ£Ğ½ĞµÑĞ¸ ÑĞ¿ĞµÑ†Ğ¸Ñ˜Ğ°Ğ»Ğ½Ğ¸ ĞºĞ°Ñ€Ğ°ĞºÑ‚ĞµÑ€",
+InsertSmileyLbl		: "Ğ¡Ğ¼Ğ°Ñ˜Ğ»Ğ¸",
+InsertSmiley		: "Ğ£Ğ½ĞµÑĞ¸ ÑĞ¼Ğ°Ñ˜Ğ»Ğ¸Ñ˜Ğ°",
+About				: "Ğ Ğ¤Ğ¦ĞšĞµĞ´Ğ¸Ñ‚Ğ¾Ñ€Ñƒ",
+Bold				: "ĞŸĞ¾Ğ´ĞµĞ±Ñ™Ğ°Ğ½Ğ¾",
+Italic				: "ĞšÑƒÑ€Ğ·Ğ¸Ğ²",
+Underline			: "ĞŸĞ¾Ğ´Ğ²ÑƒÑ‡ĞµĞ½Ğ¾",
+StrikeThrough		: "ĞŸÑ€ĞµÑ†Ñ€Ñ‚Ğ°Ğ½Ğ¾",
+Subscript			: "Ğ˜Ğ½Ğ´ĞµĞºÑ",
+Superscript			: "Ğ¡Ñ‚ĞµĞ¿ĞµĞ½",
+LeftJustify			: "Ğ›ĞµĞ²Ğ¾ Ñ€Ğ°Ğ²Ğ½Ğ°ÑšĞµ",
+CenterJustify		: "Ğ¦ĞµĞ½Ñ‚Ñ€Ğ¸Ñ€Ğ°Ğ½ Ñ‚ĞµĞºÑÑ‚",
+RightJustify		: "Ğ”ĞµÑĞ½Ğ¾ Ñ€Ğ°Ğ²Ğ½Ğ°ÑšĞµ",
+BlockJustify		: "ĞĞ±Ğ¾ÑÑ‚Ñ€Ğ°Ğ½Ğ¾ Ñ€Ğ°Ğ²Ğ½Ğ°ÑšĞµ",
+DecreaseIndent		: "Ğ¡Ğ¼Ğ°ÑšĞ¸ Ğ»ĞµĞ²Ñƒ Ğ¼Ğ°Ñ€Ğ³Ğ¸Ğ½Ñƒ",
+IncreaseIndent		: "Ğ£Ğ²ĞµÑ›Ğ°Ñ˜ Ğ»ĞµĞ²Ñƒ Ğ¼Ğ°Ñ€Ğ³Ğ¸Ğ½Ñƒ",
+Blockquote			: "Blockquote",	//MISSING
+CreateDiv			: "Create Div Container",	//MISSING
+EditDiv				: "Edit Div Container",	//MISSING
+DeleteDiv			: "Remove Div Container",	//MISSING
+Undo				: "ĞŸĞ¾Ğ½Ğ¸ÑˆÑ‚Ğ¸ Ğ°ĞºÑ†Ğ¸Ñ˜Ñƒ",
+Redo				: "ĞŸĞ¾Ğ½Ğ¾Ğ²Ğ¸ Ğ°ĞºÑ†Ğ¸Ñ˜Ñƒ",
+NumberedListLbl		: "ĞĞ°Ğ±Ñ€Ğ¾Ñ˜Ğ¸Ğ²Ñƒ Ğ»Ğ¸ÑÑ‚Ñƒ",
+NumberedList		: "Ğ£Ğ½ĞµÑĞ¸/ÑƒĞºĞ»Ğ¾Ğ½Ğ¸ Ğ½Ğ°Ğ±Ñ€Ğ¾Ñ˜Ğ¸Ğ²Ñƒ Ğ»Ğ¸ÑÑ‚Ñƒ",
+BulletedListLbl		: "ĞĞµĞ½Ğ°Ğ±Ñ€Ğ¾Ñ˜Ğ¸Ğ²Ğ° Ğ»Ğ¸ÑÑ‚Ğ°",
+BulletedList		: "Ğ£Ğ½ĞµÑĞ¸/ÑƒĞºĞ»Ğ¾Ğ½Ğ¸ Ğ½ĞµĞ½Ğ°Ğ±Ñ€Ğ¾Ñ˜Ğ¸Ğ²Ñƒ Ğ»Ğ¸ÑÑ‚Ñƒ",
+ShowTableBorders	: "ĞŸÑ€Ğ¸ĞºĞ°Ğ¶Ğ¸ Ğ¾ĞºĞ²Ğ¸Ñ€ Ñ‚Ğ°Ğ±ĞµĞ»Ğµ",
+ShowDetails			: "ĞŸÑ€Ğ¸ĞºĞ°Ğ¶Ğ¸ Ğ´ĞµÑ‚Ğ°Ñ™Ğµ",
+Style				: "Ğ¡Ñ‚Ğ¸Ğ»",
+FontFormat			: "Ğ¤Ğ¾Ñ€Ğ¼Ğ°Ñ‚",
+Font				: "Ğ¤Ğ¾Ğ½Ñ‚",
+FontSize			: "Ğ’ĞµĞ»Ğ¸Ñ‡Ğ¸Ğ½Ğ° Ñ„Ğ¾Ğ½Ñ‚Ğ°",
+TextColor			: "Ğ‘Ğ¾Ñ˜Ğ° Ñ‚ĞµĞºÑÑ‚Ğ°",
+BGColor				: "Ğ‘Ğ¾Ñ˜Ğ° Ğ¿Ğ¾Ğ·Ğ°Ğ´Ğ¸Ğ½Ğµ",
+Source				: "KÃ´Ğ´",
+Find				: "ĞŸÑ€ĞµÑ‚Ñ€Ğ°Ğ³Ğ°",
+Replace				: "Ğ—Ğ°Ğ¼ĞµĞ½Ğ°",
+SpellCheck			: "ĞŸÑ€Ğ¾Ğ²ĞµÑ€Ğ¸ ÑĞ¿ĞµĞ»Ğ¾Ğ²Ğ°ÑšĞµ",
+UniversalKeyboard	: "Ğ£Ğ½Ğ¸Ğ²ĞµÑ€Ğ·Ğ°Ğ»Ğ½Ğ° Ñ‚Ğ°ÑÑ‚Ğ°Ñ‚ÑƒÑ€Ğ°",
+PageBreakLbl		: "Page Break",	//MISSING
+PageBreak			: "Insert Page Break",	//MISSING
+
+Form			: "Ğ¤Ğ¾Ñ€Ğ¼Ğ°",
+Checkbox		: "ĞŸĞ¾Ñ™Ğµ Ğ·Ğ° Ğ¿Ğ¾Ñ‚Ğ²Ñ€Ğ´Ñƒ",
+RadioButton		: "Ğ Ğ°Ğ´Ğ¸Ğ¾-Ğ´ÑƒĞ³Ğ¼Ğµ",
+TextField		: "Ğ¢ĞµĞºÑÑ‚ÑƒĞ°Ğ»Ğ½Ğ¾ Ğ¿Ğ¾Ñ™Ğµ",
+Textarea		: "Ğ—Ğ¾Ğ½Ğ° Ñ‚ĞµĞºÑÑ‚Ğ°",
+HiddenField		: "Ğ¡ĞºÑ€Ğ¸Ğ²ĞµĞ½Ğ¾ Ğ¿Ğ¾Ñ™Ğµ",
+Button			: "Ğ”ÑƒĞ³Ğ¼Ğµ",
+SelectionField	: "Ğ˜Ğ·Ğ±Ğ¾Ñ€Ğ½Ğ¾ Ğ¿Ğ¾Ñ™Ğµ",
+ImageButton		: "Ğ”ÑƒĞ³Ğ¼Ğµ ÑĞ° ÑĞ»Ğ¸ĞºĞ¾Ğ¼",
+
+FitWindow		: "Maximize the editor size",	//MISSING
+ShowBlocks		: "Show Blocks",	//MISSING
+
+// Context Menu
+EditLink			: "ĞŸÑ€Ğ¾Ğ¼ĞµĞ½Ğ¸ Ğ»Ğ¸Ğ½Ğº",
+CellCM				: "Cell",	//MISSING
+RowCM				: "Row",	//MISSING
+ColumnCM			: "Column",	//MISSING
+InsertRowAfter		: "Insert Row After",	//MISSING
+InsertRowBefore		: "Insert Row Before",	//MISSING
+DeleteRows			: "ĞĞ±Ñ€Ğ¸ÑˆĞ¸ Ñ€ĞµĞ´Ğ¾Ğ²Ğµ",
+InsertColumnAfter	: "Insert Column After",	//MISSING
+InsertColumnBefore	: "Insert Column Before",	//MISSING
+DeleteColumns		: "ĞĞ±Ñ€Ğ¸ÑˆĞ¸ ĞºĞ¾Ğ»Ğ¾Ğ½Ğµ",
+InsertCellAfter		: "Insert Cell After",	//MISSING
+InsertCellBefore	: "Insert Cell Before",	//MISSING
+DeleteCells			: "ĞĞ±Ñ€Ğ¸ÑˆĞ¸ Ñ›ĞµĞ»Ğ¸Ñ˜Ğµ",
+MergeCells			: "Ğ¡Ğ¿Ğ¾Ñ˜ Ñ›ĞµĞ»Ğ¸Ñ˜Ğµ",
+MergeRight			: "Merge Right",	//MISSING
+MergeDown			: "Merge Down",	//MISSING
+HorizontalSplitCell	: "Split Cell Horizontally",	//MISSING
+VerticalSplitCell	: "Split Cell Vertically",	//MISSING
+TableDelete			: "Delete Table",	//MISSING
+CellProperties		: "ĞÑĞ¾Ğ±Ğ¸Ğ½Ğµ Ñ›ĞµĞ»Ğ¸Ñ˜Ğµ",
+TableProperties		: "ĞÑĞ¾Ğ±Ğ¸Ğ½Ğµ Ñ‚Ğ°Ğ±ĞµĞ»Ğµ",
+ImageProperties		: "ĞÑĞ¾Ğ±Ğ¸Ğ½Ğµ ÑĞ»Ğ¸ĞºĞµ",
+FlashProperties		: "ĞÑĞ¾Ğ±Ğ¸Ğ½Ğµ Ğ¤Ğ»ĞµÑˆĞ°",
+
+AnchorProp			: "ĞÑĞ¾Ğ±Ğ¸Ğ½Ğµ ÑĞ¸Ğ´Ñ€Ğ°",
+ButtonProp			: "ĞÑĞ¾Ğ±Ğ¸Ğ½Ğµ Ğ´ÑƒĞ³Ğ¼ĞµÑ‚Ğ°",
+CheckboxProp		: "ĞÑĞ¾Ğ±Ğ¸Ğ½Ğµ Ğ¿Ğ¾Ñ™Ğ° Ğ·Ğ° Ğ¿Ğ¾Ñ‚Ğ²Ñ€Ğ´Ñƒ",
+HiddenFieldProp		: "ĞÑĞ¾Ğ±Ğ¸Ğ½Ğµ ÑĞºÑ€Ğ¸Ğ²ĞµĞ½Ğ¾Ğ³ Ğ¿Ğ¾Ñ™Ğ°",
+RadioButtonProp		: "ĞÑĞ¾Ğ±Ğ¸Ğ½Ğµ Ñ€Ğ°Ğ´Ğ¸Ğ¾-Ğ´ÑƒĞ³Ğ¼ĞµÑ‚Ğ°",
+ImageButtonProp		: "ĞÑĞ¾Ğ±Ğ¸Ğ½Ğµ Ğ´ÑƒĞ³Ğ¼ĞµÑ‚Ğ° ÑĞ° ÑĞ»Ğ¸ĞºĞ¾Ğ¼",
+TextFieldProp		: "ĞÑĞ¾Ğ±Ğ¸Ğ½Ğµ Ñ‚ĞµĞºÑÑ‚ÑƒĞ°Ğ»Ğ½Ğ¾Ğ³ Ğ¿Ğ¾Ñ™Ğ°",
+SelectionFieldProp	: "ĞÑĞ¾Ğ±Ğ¸Ğ½Ğµ Ğ¸Ğ·Ğ±Ğ¾Ñ€Ğ½Ğ¾Ğ³ Ğ¿Ğ¾Ñ™Ğ°",
+TextareaProp		: "ĞÑĞ¾Ğ±Ğ¸Ğ½Ğµ Ğ·Ğ¾Ğ½Ğµ Ñ‚ĞµĞºÑÑ‚Ğ°",
+FormProp			: "ĞÑĞ¾Ğ±Ğ¸Ğ½Ğµ Ñ„Ğ¾Ñ€Ğ¼Ğµ",
+
+FontFormats			: "Normal;Formatirano;Adresa;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "ĞĞ±Ñ€Ğ°Ñ’ÑƒÑ˜ĞµĞ¼ XHTML. MaĞ»o ÑÑ‚Ñ€Ğ¿Ñ™ĞµÑšĞ°...",
+Done				: "Ğ—Ğ°Ğ²Ñ€ÑˆĞ¸Ğ¾",
+PasteWordConfirm	: "Ğ¢ĞµĞºÑÑ‚ ĞºĞ¾Ñ˜Ğ¸ Ğ¶ĞµĞ»Ğ¸Ñ‚Ğµ Ğ´Ğ° Ğ½Ğ°Ğ»ĞµĞ¿Ğ¸Ñ‚Ğµ ĞºĞ¾Ğ¿Ğ¸Ñ€Ğ°Ğ½ Ñ˜Ğµ Ğ¸Ğ· Worda. Ğ”Ğ° Ğ»Ğ¸ Ğ¶ĞµĞ»Ğ¸Ñ‚Ğµ Ğ´Ğ° Ğ±ÑƒĞ´Ğµ Ğ¾Ñ‡Ğ¸ÑˆÑ›ĞµĞ½ Ğ¾Ğ´ Ñ„Ğ¾Ñ€Ğ¼Ğ°Ñ‚Ğ° Ğ¿Ñ€Ğµ Ğ»ĞµĞ¿Ñ™ĞµÑšĞ°?",
+NotCompatiblePaste	: "ĞĞ²Ğ° ĞºĞ¾Ğ¼Ğ°Ğ½Ğ´Ğ° Ñ˜Ğµ Ğ´Ğ¾ÑÑ‚ÑƒĞ¿Ğ½Ğ° ÑĞ°Ğ¼Ğ¾ Ğ·Ğ° Ğ˜Ğ½Ñ‚ĞµÑ€Ğ½ĞµÑ‚ Ğ•ĞºĞ¿Ğ»Ğ¾Ñ€ĞµÑ€ Ğ¾Ğ´ Ğ²ĞµÑ€Ğ·Ğ¸Ñ˜Ğµ 5.5. Ğ”Ğ° Ğ»Ğ¸ Ğ¶ĞµĞ»Ğ¸Ñ‚Ğµ Ğ´Ğ° Ğ½Ğ°Ğ»ĞµĞ¿Ğ¸Ğ¼ Ñ‚ĞµĞºÑÑ‚ Ğ±ĞµĞ· Ñ‡Ğ¸ÑˆÑ›ĞµÑšĞ°?",
+UnknownToolbarItem	: "ĞĞµĞ¿Ğ¾Ğ·Ğ½Ğ°Ñ‚Ğ° ÑÑ‚Ğ°Ğ²ĞºĞ° toolbara \"%1\"",
+UnknownCommand		: "ĞĞµĞ¿Ğ¾Ğ·Ğ½Ğ°Ñ‚Ğ° Ğ½Ğ°Ñ€ĞµĞ´Ğ±Ğ° \"%1\"",
+NotImplemented		: "ĞĞ°Ñ€ĞµĞ´Ğ±Ğ° Ğ½Ğ¸Ñ˜Ğµ Ğ¸Ğ¼Ğ¿Ğ»ĞµĞ¼ĞµĞ½Ñ‚Ğ¸Ñ€Ğ°Ğ½Ğ°",
+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
+BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",	//MISSING
+DialogBlocked		: "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",	//MISSING
+VisitLinkBlocked	: "It was not possible to open a new window. Make sure all popup blockers are disabled.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "OÑ‚ĞºĞ°Ğ¶Ğ¸",
+DlgBtnClose			: "Ğ—Ğ°Ñ‚Ğ²Ğ¾Ñ€Ğ¸",
+DlgBtnBrowseServer	: "ĞŸÑ€ĞµÑ‚Ñ€Ğ°Ğ¶Ğ¸ ÑĞµÑ€Ğ²ĞµÑ€",
+DlgAdvancedTag		: "ĞĞ°Ğ¿Ñ€ĞµĞ´Ğ½Ğ¸ Ñ‚Ğ°Ğ³Ğ¾Ğ²Ğ¸",
+DlgOpOther			: "<ĞÑÑ‚Ğ°Ğ»Ğ¸>",
+DlgInfoTab			: "Ğ˜Ğ½Ñ„Ğ¾",
+DlgAlertUrl			: "ĞœĞ¾Ğ»Ğ¸Ğ¼Ğ¾ Ğ’Ğ°Ñ, ÑƒĞ½ĞµÑĞ¸Ñ‚Ğµ Ğ£Ğ Ğ›",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<Ğ½Ğ¸Ñ˜Ğµ Ğ¿Ğ¾ÑÑ‚Ğ°Ğ²Ñ™ĞµĞ½Ğ¾>",
+DlgGenId			: "Ğ˜Ğ´",
+DlgGenLangDir		: "Ğ¡Ğ¼ĞµÑ€ Ñ˜ĞµĞ·Ğ¸ĞºĞ°",
+DlgGenLangDirLtr	: "Ğ¡ Ğ»ĞµĞ²Ğ° Ğ½Ğ° Ğ´ĞµÑĞ½Ğ¾ (LTR)",
+DlgGenLangDirRtl	: "Ğ¡ Ğ´ĞµÑĞ½Ğ° Ğ½Ğ° Ğ»ĞµĞ²Ğ¾ (RTL)",
+DlgGenLangCode		: "KÃ´Ğ´ Ñ˜ĞµĞ·Ğ¸ĞºĞ°",
+DlgGenAccessKey		: "ĞŸÑ€Ğ¸ÑÑ‚ÑƒĞ¿Ğ½Ğ¸ Ñ‚Ğ°ÑÑ‚ĞµÑ€",
+DlgGenName			: "ĞĞ°Ğ·Ğ¸Ğ²",
+DlgGenTabIndex		: "Ğ¢Ğ°Ğ± Ğ¸Ğ½Ğ´ĞµĞºÑ",
+DlgGenLongDescr		: "ĞŸÑƒĞ½ Ğ¾Ğ¿Ğ¸Ñ Ğ£Ğ Ğ›",
+DlgGenClass			: "Stylesheet ĞºĞ»Ğ°ÑĞµ",
+DlgGenTitle			: "Advisory Ğ½Ğ°ÑĞ»Ğ¾Ğ²",
+DlgGenContType		: "Advisory Ğ²Ñ€ÑÑ‚Ğ° ÑĞ°Ğ´Ñ€Ğ¶Ğ°Ñ˜Ğ°",
+DlgGenLinkCharset	: "Linked Resource Charset",
+DlgGenStyle			: "Ğ¡Ñ‚Ğ¸Ğ»",
+
+// Image Dialog
+DlgImgTitle			: "ĞÑĞ¾Ğ±Ğ¸Ğ½Ğµ ÑĞ»Ğ¸ĞºĞ°",
+DlgImgInfoTab		: "Ğ˜Ğ½Ñ„Ğ¾ ÑĞ»Ğ¸ĞºĞµ",
+DlgImgBtnUpload		: "ĞŸĞ¾ÑˆĞ°Ñ™Ğ¸ Ğ½Ğ° ÑĞµÑ€Ğ²ĞµÑ€",
+DlgImgURL			: "Ğ£Ğ Ğ›",
+DlgImgUpload		: "ĞŸĞ¾ÑˆĞ°Ñ™Ğ¸",
+DlgImgAlt			: "ĞĞ»Ñ‚ĞµÑ€Ğ½Ğ°Ñ‚Ğ¸Ğ²Ğ½Ğ¸ Ñ‚ĞµĞºÑÑ‚",
+DlgImgWidth			: "Ğ¨Ğ¸Ñ€Ğ¸Ğ½Ğ°",
+DlgImgHeight		: "Ğ’Ğ¸ÑĞ¸Ğ½Ğ°",
+DlgImgLockRatio		: "Ğ—Ğ°ĞºÑ™ÑƒÑ‡Ğ°Ñ˜ Ğ¾Ğ´Ğ½Ğ¾Ñ",
+DlgBtnResetSize		: "Ğ ĞµÑĞµÑ‚ÑƒÑ˜ Ğ²ĞµĞ»Ğ¸Ñ‡Ğ¸Ğ½Ñƒ",
+DlgImgBorder		: "ĞĞºĞ²Ğ¸Ñ€",
+DlgImgHSpace		: "HSpace",
+DlgImgVSpace		: "VSpace",
+DlgImgAlign			: "Ğ Ğ°Ğ²Ğ½Ğ°ÑšĞµ",
+DlgImgAlignLeft		: "Ğ›ĞµĞ²Ğ¾",
+DlgImgAlignAbsBottom: "Abs Ğ´Ğ¾Ğ»Ğµ",
+DlgImgAlignAbsMiddle: "Abs ÑÑ€ĞµĞ´Ğ¸Ğ½Ğ°",
+DlgImgAlignBaseline	: "Ğ‘Ğ°Ğ·Ğ½Ğ¾",
+DlgImgAlignBottom	: "Ğ”Ğ¾Ğ»Ğµ",
+DlgImgAlignMiddle	: "Ğ¡Ñ€ĞµĞ´Ğ¸Ğ½Ğ°",
+DlgImgAlignRight	: "Ğ”ĞµÑĞ½Ğ¾",
+DlgImgAlignTextTop	: "Ğ’Ñ€Ñ… Ñ‚ĞµĞºÑÑ‚Ğ°",
+DlgImgAlignTop		: "Ğ’Ñ€Ñ…",
+DlgImgPreview		: "Ğ˜Ğ·Ğ³Ğ»ĞµĞ´",
+DlgImgAlertUrl		: "Ğ£Ğ½ĞµÑĞ¸Ñ‚Ğµ Ğ£Ğ Ğ› ÑĞ»Ğ¸ĞºĞµ",
+DlgImgLinkTab		: "Ğ›Ğ¸Ğ½Ğº",
+
+// Flash Dialog
+DlgFlashTitle		: "ĞÑĞ¾Ğ±Ğ¸Ğ½Ğµ Ñ„Ğ»ĞµÑˆĞ°",
+DlgFlashChkPlay		: "ĞÑƒÑ‚Ğ¾Ğ¼Ğ°Ñ‚ÑĞºĞ¸ ÑÑ‚Ğ°Ñ€Ñ‚",
+DlgFlashChkLoop		: "ĞŸĞ¾Ğ½Ğ°Ğ²Ñ™Ğ°Ñ˜",
+DlgFlashChkMenu		: "Ğ£ĞºÑ™ÑƒÑ‡Ğ¸ Ñ„Ğ»ĞµÑˆ Ğ¼ĞµĞ½Ğ¸",
+DlgFlashScale		: "Ğ¡ĞºĞ°Ğ»Ğ¸Ñ€Ğ°Ñ˜",
+DlgFlashScaleAll	: "ĞŸÑ€Ğ¸ĞºĞ°Ğ¶Ğ¸ ÑĞ²Ğµ",
+DlgFlashScaleNoBorder	: "Ğ‘ĞµĞ· Ğ¸Ğ²Ğ¸Ñ†Ğµ",
+DlgFlashScaleFit	: "ĞŸĞ¾Ğ¿ÑƒĞ½Ğ¸ Ğ¿Ğ¾Ğ²Ñ€ÑˆĞ¸Ğ½Ñƒ",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Ğ›Ğ¸Ğ½Ğº",
+DlgLnkInfoTab		: "Ğ›Ğ¸Ğ½Ğº Ğ¸Ğ½Ñ„Ğ¾",
+DlgLnkTargetTab		: "ĞœĞµÑ‚Ğ°",
+
+DlgLnkType			: "Ğ’Ñ€ÑÑ‚Ğ° Ğ»Ğ¸Ğ½ĞºĞ°",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Ğ¡Ğ¸Ğ´Ñ€Ğ¾ Ğ½Ğ° Ğ¾Ğ²Ğ¾Ñ˜ ÑÑ‚Ñ€Ğ°Ğ½Ğ¸Ñ†Ğ¸",
+DlgLnkTypeEMail		: "EĞ»ĞµĞºÑ‚Ñ€Ğ¾Ğ½ÑĞºĞ° Ğ¿Ğ¾ÑˆÑ‚Ğ°",
+DlgLnkProto			: "ĞŸÑ€Ğ¾Ñ‚Ğ¾ĞºĞ¾Ğ»",
+DlgLnkProtoOther	: "<Ğ´Ñ€ÑƒĞ³Ğ¾>",
+DlgLnkURL			: "Ğ£Ğ Ğ›",
+DlgLnkAnchorSel		: "ĞĞ´Ğ°Ğ±ĞµÑ€Ğ¸ ÑĞ¸Ğ´Ñ€Ğ¾",
+DlgLnkAnchorByName	: "ĞŸĞ¾ Ğ½Ğ°Ğ·Ğ¸Ğ²Ñƒ ÑĞ¸Ğ´Ñ€Ğ°",
+DlgLnkAnchorById	: "ĞŸo Ğ˜Ğ´-jÑƒ ĞµĞ»ĞµĞ¼ĞµĞ½Ñ‚Ğ°",
+DlgLnkNoAnchors		: "(ĞĞµĞ¼Ğ° Ğ´Ğ¾ÑÑ‚ÑƒĞ¿Ğ½Ğ¸Ñ… ÑĞ¸Ğ´Ñ€Ğ°)",
+DlgLnkEMail			: "ĞĞ´Ñ€ĞµÑĞ° ĞµĞ»ĞµĞºÑ‚Ñ€Ğ¾Ğ½ÑĞºĞµ Ğ¿Ğ¾ÑˆÑ‚Ğµ",
+DlgLnkEMailSubject	: "ĞĞ°ÑĞ»Ğ¾Ğ²",
+DlgLnkEMailBody		: "Ğ¡Ğ°Ğ´Ñ€Ğ¶Ğ°Ñ˜ Ğ¿Ğ¾Ñ€ÑƒĞºĞµ",
+DlgLnkUpload		: "ĞŸĞ¾ÑˆĞ°Ñ™Ğ¸",
+DlgLnkBtnUpload		: "ĞŸĞ¾ÑˆĞ°Ñ™Ğ¸ Ğ½Ğ° ÑĞµÑ€Ğ²ĞµÑ€",
+
+DlgLnkTarget		: "MeÑ‚a",
+DlgLnkTargetFrame	: "<Ğ¾ĞºĞ²Ğ¸Ñ€>",
+DlgLnkTargetPopup	: "<Ğ¸ÑĞºĞ°Ñ‡ÑƒÑ›Ğ¸ Ğ¿Ñ€Ğ¾Ğ·Ğ¾Ñ€>",
+DlgLnkTargetBlank	: "ĞĞ¾Ğ²Ğ¸ Ğ¿Ñ€Ğ¾Ğ·Ğ¾Ñ€ (_blank)",
+DlgLnkTargetParent	: "Ğ Ğ¾Ğ´Ğ¸Ñ‚ĞµÑ™ÑĞºĞ¸ Ğ¿Ñ€Ğ¾Ğ·Ğ¾Ñ€ (_parent)",
+DlgLnkTargetSelf	: "Ğ˜ÑÑ‚Ğ¸ Ğ¿Ñ€Ğ¾Ğ·Ğ¾Ñ€ (_self)",
+DlgLnkTargetTop		: "ĞŸÑ€Ğ¾Ğ·Ğ¾Ñ€ Ğ½Ğ° Ğ²Ñ€Ñ…Ñƒ (_top)",
+DlgLnkTargetFrameName	: "ĞĞ°Ğ·Ğ¸Ğ² Ğ¾Ğ´Ñ€ĞµĞ´Ğ¸ÑˆĞ½Ğ¾Ğ³ Ñ„Ñ€ĞµÑ˜Ğ¼Ğ°",
+DlgLnkPopWinName	: "ĞĞ°Ğ·Ğ¸Ğ² Ğ¸ÑĞºĞ°Ñ‡ÑƒÑ›ĞµĞ³ Ğ¿Ñ€Ğ¾Ğ·Ğ¾Ñ€Ğ°",
+DlgLnkPopWinFeat	: "ĞœĞ¾Ğ³ÑƒÑ›Ğ½Ğ¾ÑÑ‚Ğ¸ Ğ¸ÑĞºĞ°Ñ‡ÑƒÑ›ĞµĞ³ Ğ¿Ñ€Ğ¾Ğ·Ğ¾Ñ€Ğ°",
+DlgLnkPopResize		: "ĞŸÑ€Ğ¾Ğ¼ĞµĞ½Ñ™Ğ¸Ğ²Ğ° Ğ²ĞµĞ»Ğ¸Ñ‡Ğ¸Ğ½Ğ°",
+DlgLnkPopLocation	: "Ğ›Ğ¾ĞºĞ°Ñ†Ğ¸Ñ˜Ğ°",
+DlgLnkPopMenu		: "ĞšĞ¾Ğ½Ñ‚ĞµĞºÑÑ‚Ğ½Ğ¸ Ğ¼ĞµĞ½Ğ¸",
+DlgLnkPopScroll		: "Ğ¡ĞºÑ€Ğ¾Ğ» Ğ±Ğ°Ñ€",
+DlgLnkPopStatus		: "Ğ¡Ñ‚Ğ°Ñ‚ÑƒÑĞ½Ğ° Ğ»Ğ¸Ğ½Ğ¸Ñ˜Ğ°",
+DlgLnkPopToolbar	: "Toolbar",
+DlgLnkPopFullScrn	: "ĞŸÑ€Ğ¸ĞºĞ°Ğ· Ğ¿Ñ€ĞµĞºĞ¾ Ñ†ĞµĞ»Ğ¾Ğ³ ĞµĞºÑ€Ğ°Ğ½Ğ° (Ğ˜E)",
+DlgLnkPopDependent	: "Ğ—Ğ°Ğ²Ğ¸ÑĞ½Ğ¾ (Netscape)",
+DlgLnkPopWidth		: "Ğ¨Ğ¸Ñ€Ğ¸Ğ½Ğ°",
+DlgLnkPopHeight		: "Ğ’Ğ¸ÑĞ¸Ğ½Ğ°",
+DlgLnkPopLeft		: "ĞĞ´ Ğ»ĞµĞ²Ğµ Ğ¸Ğ²Ğ¸Ñ†Ğµ ĞµĞºÑ€Ğ°Ğ½Ğ° (Ğ¿Ğ¸ĞºÑĞµĞ»Ğ°)",
+DlgLnkPopTop		: "ĞĞ´ Ğ²Ñ€Ñ…Ğ° ĞµĞºÑ€Ğ°Ğ½Ğ° (Ğ¿Ğ¸ĞºÑĞµĞ»Ğ°)",
+
+DlnLnkMsgNoUrl		: "Ğ£Ğ½ĞµÑĞ¸Ñ‚Ğµ Ğ£Ğ Ğ› Ğ»Ğ¸Ğ½ĞºĞ°",
+DlnLnkMsgNoEMail	: "ĞÑ‚ĞºÑƒÑ†Ğ°Ñ˜Ñ‚Ğµ Ğ°Ğ´Ñ€ĞµÑÑƒ ĞµĞ»ĞµĞºÑ‚Ñ€Ğ¾Ğ½ÑĞºĞµ Ğ¿Ğ¾ÑˆÑ‚Ğµ",
+DlnLnkMsgNoAnchor	: "ĞĞ´Ğ°Ğ±ĞµÑ€Ğ¸Ñ‚Ğµ ÑĞ¸Ğ´Ñ€Ğ¾",
+DlnLnkMsgInvPopName	: "The popup name must begin with an alphabetic character and must not contain spaces",	//MISSING
+
+// Color Dialog
+DlgColorTitle		: "ĞĞ´Ğ°Ğ±ĞµÑ€Ğ¸Ñ‚Ğµ Ğ±Ğ¾Ñ˜Ñƒ",
+DlgColorBtnClear	: "ĞĞ±Ñ€Ğ¸ÑˆĞ¸",
+DlgColorHighlight	: "ĞŸĞ¾ÑĞ²ĞµÑ‚Ğ»Ğ¸",
+DlgColorSelected	: "ĞĞ´Ğ°Ğ±ĞµÑ€Ğ¸",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Ğ£Ğ½ĞµÑĞ¸ ÑĞ¼Ğ°Ñ˜Ğ»Ğ¸Ñ˜Ğ°",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "ĞĞ´Ğ°Ğ±ĞµÑ€Ğ¸Ñ‚Ğµ ÑĞ¿ĞµÑ†Ğ¸Ñ˜Ğ°Ğ»Ğ½Ğ¸ ĞºĞ°Ñ€Ğ°ĞºÑ‚ĞµÑ€",
+
+// Table Dialog
+DlgTableTitle		: "ĞÑĞ¾Ğ±Ğ¸Ğ½Ğµ Ñ‚Ğ°Ğ±ĞµĞ»Ğµ",
+DlgTableRows		: "Ğ ĞµĞ´Ğ¾Ğ²Ğ°",
+DlgTableColumns		: "KĞ¾Ğ»Ğ¾Ğ½Ğ°",
+DlgTableBorder		: "Ğ’ĞµĞ»Ğ¸Ñ‡Ğ¸Ğ½Ğ° Ğ¾ĞºĞ²Ğ¸Ñ€Ğ°",
+DlgTableAlign		: "Ğ Ğ°Ğ²Ğ½Ğ°ÑšĞµ",
+DlgTableAlignNotSet	: "<Ğ½Ğ¸Ñ˜Ğµ Ğ¿Ğ¾ÑÑ‚Ğ°Ğ²Ñ™ĞµĞ½Ğ¾>",
+DlgTableAlignLeft	: "Ğ›ĞµĞ²Ğ¾",
+DlgTableAlignCenter	: "Ğ¡Ñ€ĞµĞ´Ğ¸Ğ½Ğ°",
+DlgTableAlignRight	: "Ğ”ĞµÑĞ½Ğ¾",
+DlgTableWidth		: "Ğ¨Ğ¸Ñ€Ğ¸Ğ½Ğ°",
+DlgTableWidthPx		: "Ğ¿Ğ¸ĞºÑĞµĞ»Ğ°",
+DlgTableWidthPc		: "Ğ¿Ñ€Ğ¾Ñ†ĞµĞ½Ğ°Ñ‚Ğ°",
+DlgTableHeight		: "Ğ’Ğ¸ÑĞ¸Ğ½Ğ°",
+DlgTableCellSpace	: "Ğ‹ĞµĞ»Ğ¸Ñ˜ÑĞºĞ¸ Ğ¿Ñ€Ğ¾ÑÑ‚Ğ¾Ñ€",
+DlgTableCellPad		: "Ğ Ğ°Ğ·Ğ¼Ğ°Ğº Ñ›ĞµĞ»Ğ¸Ñ˜Ğ°",
+DlgTableCaption		: "ĞĞ°ÑĞ»Ğ¾Ğ² Ñ‚Ğ°Ğ±ĞµĞ»Ğµ",
+DlgTableSummary		: "Summary",	//MISSING
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "ĞÑĞ¾Ğ±Ğ¸Ğ½Ğµ Ñ›ĞµĞ»Ğ¸Ñ˜Ğµ",
+DlgCellWidth		: "Ğ¨Ğ¸Ñ€Ğ¸Ğ½Ğ°",
+DlgCellWidthPx		: "Ğ¿Ğ¸ĞºÑĞµĞ»Ğ°",
+DlgCellWidthPc		: "Ğ¿Ñ€Ğ¾Ñ†ĞµĞ½Ğ°Ñ‚Ğ°",
+DlgCellHeight		: "Ğ’Ğ¸ÑĞ¸Ğ½Ğ°",
+DlgCellWordWrap		: "Ğ”ĞµÑ™ĞµÑšĞµ Ñ€ĞµÑ‡Ğ¸",
+DlgCellWordWrapNotSet	: "<Ğ½Ğ¸Ñ˜Ğµ Ğ¿Ğ¾ÑÑ‚Ğ°Ğ²Ñ™ĞµĞ½Ğ¾>",
+DlgCellWordWrapYes	: "Ğ”Ğ°",
+DlgCellWordWrapNo	: "ĞĞµ",
+DlgCellHorAlign		: "Ğ’Ğ¾Ğ´Ğ¾Ñ€Ğ°Ğ²Ğ½Ğ¾ Ñ€Ğ°Ğ²Ğ½Ğ°ÑšĞµ",
+DlgCellHorAlignNotSet	: "<Ğ½Ğ¸Ñ˜Ğµ Ğ¿Ğ¾ÑÑ‚Ğ°Ğ²Ñ™ĞµĞ½Ğ¾>",
+DlgCellHorAlignLeft	: "Ğ›ĞµĞ²Ğ¾",
+DlgCellHorAlignCenter	: "Ğ¡Ñ€ĞµĞ´Ğ¸Ğ½Ğ°",
+DlgCellHorAlignRight: "Ğ”ĞµÑĞ½Ğ¾",
+DlgCellVerAlign		: "Ğ’ĞµÑ€Ñ‚Ğ¸ĞºĞ°Ğ»Ğ½Ğ¾ Ñ€Ğ°Ğ²Ğ½Ğ°ÑšĞµ",
+DlgCellVerAlignNotSet	: "<Ğ½Ğ¸Ñ˜Ğµ Ğ¿Ğ¾ÑÑ‚Ğ°Ğ²Ñ™ĞµĞ½Ğ¾>",
+DlgCellVerAlignTop	: "Ğ“Ğ¾Ñ€ÑšĞµ",
+DlgCellVerAlignMiddle	: "Ğ¡Ñ€ĞµĞ´Ğ¸Ğ½Ğ°",
+DlgCellVerAlignBottom	: "Ğ”Ğ¾ÑšĞµ",
+DlgCellVerAlignBaseline	: "Ğ‘Ğ°Ğ·Ğ½Ğ¾",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "Ğ¡Ğ¿Ğ°Ñ˜Ğ°ÑšĞµ Ñ€ĞµĞ´Ğ¾Ğ²Ğ°",
+DlgCellCollSpan		: "Ğ¡Ğ¿Ğ°Ñ˜Ğ°ÑšĞµ ĞºĞ¾Ğ»Ğ¾Ğ½Ğ°",
+DlgCellBackColor	: "Ğ‘Ğ¾Ñ˜Ğ° Ğ¿Ğ¾Ğ·Ğ°Ğ´Ğ¸Ğ½Ğµ",
+DlgCellBorderColor	: "Ğ‘Ğ¾Ñ˜Ğ° Ğ¾ĞºĞ²Ğ¸Ñ€Ğ°",
+DlgCellBtnSelect	: "OĞ´Ğ°Ğ±ĞµÑ€Ğ¸...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Find and Replace",	//MISSING
+
+// Find Dialog
+DlgFindTitle		: "ĞŸÑ€Ğ¾Ğ½Ğ°Ñ’Ğ¸",
+DlgFindFindBtn		: "ĞŸÑ€Ğ¾Ğ½Ğ°Ñ’Ğ¸",
+DlgFindNotFoundMsg	: "Ğ¢Ñ€Ğ°Ğ¶ĞµĞ½Ğ¸ Ñ‚ĞµĞºÑÑ‚ Ğ½Ğ¸Ñ˜Ğµ Ğ¿Ñ€Ğ¾Ğ½Ğ°Ñ’ĞµĞ½.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Ğ—Ğ°Ğ¼ĞµĞ½Ğ¸",
+DlgReplaceFindLbl		: "ĞŸÑ€Ğ¾Ğ½Ğ°Ñ’Ğ¸:",
+DlgReplaceReplaceLbl	: "Ğ—Ğ°Ğ¼ĞµĞ½Ğ¸ ÑĞ°:",
+DlgReplaceCaseChk		: "Ğ Ğ°Ğ·Ğ»Ğ¸ĞºÑƒÑ˜ Ğ²ĞµĞ»Ğ¸ĞºĞ° Ğ¸ Ğ¼Ğ°Ğ»Ğ° ÑĞ»Ğ¾Ğ²Ğ°",
+DlgReplaceReplaceBtn	: "Ğ—Ğ°Ğ¼ĞµĞ½Ğ¸",
+DlgReplaceReplAllBtn	: "Ğ—Ğ°Ğ¼ĞµĞ½Ğ¸ ÑĞ²Ğµ",
+DlgReplaceWordChk		: "Ğ£Ğ¿Ğ¾Ñ€ĞµĞ´Ğ¸ Ñ†ĞµĞ»Ğµ Ñ€ĞµÑ‡Ğ¸",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "Ğ¡Ğ¸Ğ³ÑƒÑ€Ğ½Ğ¾ÑĞ½Ğ° Ğ¿Ğ¾Ğ´ĞµÑˆĞ°Ğ²Ğ°ÑšĞ° Ğ’Ğ°ÑˆĞµĞ³ Ğ¿Ñ€ĞµÑ‚Ñ€Ğ°Ğ¶Ğ¸Ğ²Ğ°Ñ‡Ğ° Ğ½Ğµ Ğ´Ğ¾Ğ·Ğ²Ğ¾Ñ™Ğ°Ğ²Ğ°Ñ˜Ñƒ Ğ¾Ğ¿ĞµÑ€Ğ°Ñ†Ğ¸Ñ˜Ğµ Ğ°ÑƒÑ‚Ğ¾Ğ¼Ğ°Ñ‚ÑĞºĞ¾Ğ³ Ğ¸ÑĞµÑ†Ğ°ÑšĞ° Ñ‚ĞµĞºÑÑ‚Ğ°. ĞœĞ¾Ğ»Ğ¸Ğ¼Ğ¾ Ğ’Ğ°Ñ Ğ´Ğ° ĞºĞ¾Ñ€Ğ¸ÑÑ‚Ğ¸Ñ‚Ğµ Ğ¿Ñ€ĞµÑ‡Ğ¸Ñ†Ñƒ ÑĞ° Ñ‚Ğ°ÑÑ‚Ğ°Ñ‚ÑƒÑ€Ğµ (Ctrl+X).",
+PasteErrorCopy	: "Ğ¡Ğ¸Ğ³ÑƒÑ€Ğ½Ğ¾ÑĞ½Ğ° Ğ¿Ğ¾Ğ´ĞµÑˆĞ°Ğ²Ğ°ÑšĞ° Ğ’Ğ°ÑˆĞµĞ³ Ğ¿Ñ€ĞµÑ‚Ñ€Ğ°Ğ¶Ğ¸Ğ²Ğ°Ñ‡Ğ° Ğ½Ğµ Ğ´Ğ¾Ğ·Ğ²Ğ¾Ñ™Ğ°Ğ²Ğ°Ñ˜Ñƒ Ğ¾Ğ¿ĞµÑ€Ğ°Ñ†Ğ¸Ñ˜Ğµ Ğ°ÑƒÑ‚Ğ¾Ğ¼Ğ°Ñ‚ÑĞºĞ¾Ğ³ ĞºĞ¾Ğ¿Ğ¸Ñ€Ğ°ÑšĞ° Ñ‚ĞµĞºÑÑ‚Ğ°. ĞœĞ¾Ğ»Ğ¸Ğ¼Ğ¾ Ğ’Ğ°Ñ Ğ´Ğ° ĞºĞ¾Ñ€Ğ¸ÑÑ‚Ğ¸Ñ‚Ğµ Ğ¿Ñ€ĞµÑ‡Ğ¸Ñ†Ñƒ ÑĞ° Ñ‚Ğ°ÑÑ‚Ğ°Ñ‚ÑƒÑ€Ğµ (Ctrl+C).",
+
+PasteAsText		: "Ğ—Ğ°Ğ»ĞµĞ¿Ğ¸ ĞºĞ°Ğ¾ Ñ‡Ğ¸ÑÑ‚ Ñ‚ĞµĞºÑÑ‚",
+PasteFromWord	: "Ğ—Ğ°Ğ»ĞµĞ¿Ğ¸ Ğ¸Ğ· Worda",
+
+DlgPasteMsg2	: "ĞœĞ¾Ğ»Ğ¸Ğ¼Ğ¾ Ğ’Ğ°Ñ Ğ´Ğ° Ğ·Ğ°Ğ»ĞµĞ¿Ğ¸Ñ‚Ğµ ÑƒĞ½ÑƒÑ‚Ğ°Ñ€ Ğ´Ğ¾ÑšĞµ Ğ¿Ğ¾Ğ²Ñ€ÑˆĞ¸Ğ½Ğµ ĞºĞ¾Ñ€Ğ¸ÑÑ‚ĞµÑ›Ğ¸ Ñ‚Ğ°ÑÑ‚Ğ°Ñ‚ÑƒÑ€Ğ½Ñƒ Ğ¿Ñ€ĞµÑ‡Ğ¸Ñ†Ñƒ (<STRONG>Ctrl+V</STRONG>) Ğ¸ Ğ´Ğ° Ğ¿Ñ€Ğ¸Ñ‚Ğ¸ÑĞ½ĞµÑ‚Ğµ <STRONG>OK</STRONG>.",
+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
+DlgPasteIgnoreFont		: "Ğ˜Ğ³Ğ½Ğ¾Ñ€Ğ¸ÑˆĞ¸ Font Face Ğ´ĞµÑ„Ğ¸Ğ½Ğ¸Ñ†Ğ¸Ñ˜Ğµ",
+DlgPasteRemoveStyles	: "Ğ£ĞºĞ»Ğ¾Ğ½Ğ¸ Ğ´ĞµÑ„Ğ¸Ğ½Ğ¸Ñ†Ğ¸Ñ˜Ğµ ÑÑ‚Ğ¸Ğ»Ğ¾Ğ²Ğ°",
+
+// Color Picker
+ColorAutomatic	: "ĞÑƒÑ‚Ğ¾Ğ¼Ğ°Ñ‚ÑĞºĞ¸",
+ColorMoreColors	: "Ğ’Ğ¸ÑˆĞµ Ğ±Ğ¾Ñ˜Ğ°...",
+
+// Document Properties
+DocProps		: "ĞÑĞ¾Ğ±Ğ¸Ğ½Ğµ Ğ´Ğ¾ĞºÑƒĞ¼ĞµĞ½Ñ‚Ğ°",
+
+// Anchor Dialog
+DlgAnchorTitle		: "ĞÑĞ¾Ğ±Ğ¸Ğ½Ğµ ÑĞ¸Ğ´Ñ€Ğ°",
+DlgAnchorName		: "Ğ˜Ğ¼Ğµ ÑĞ¸Ğ´Ñ€Ğ°",
+DlgAnchorErrorName	: "ĞœĞ¾Ğ»Ğ¸Ğ¼Ğ¾ Ğ’Ğ°Ñ Ğ´Ğ° ÑƒĞ½ĞµÑĞµÑ‚Ğµ Ğ¸Ğ¼Ğµ ÑĞ¸Ğ´Ñ€Ğ°",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "ĞĞ¸Ñ˜Ğµ Ñƒ Ñ€ĞµÑ‡Ğ½Ğ¸ĞºÑƒ",
+DlgSpellChangeTo		: "Ğ˜Ğ·Ğ¼ĞµĞ½Ğ¸",
+DlgSpellBtnIgnore		: "Ğ˜Ğ³Ğ½Ğ¾Ñ€Ğ¸ÑˆĞ¸",
+DlgSpellBtnIgnoreAll	: "Ğ˜Ğ³Ğ½Ğ¾Ñ€Ğ¸ÑˆĞ¸ ÑĞ²Ğµ",
+DlgSpellBtnReplace		: "Ğ—Ğ°Ğ¼ĞµĞ½Ğ¸",
+DlgSpellBtnReplaceAll	: "Ğ—Ğ°Ğ¼ĞµĞ½Ğ¸ ÑĞ²Ğµ",
+DlgSpellBtnUndo			: "Ğ’Ñ€Ğ°Ñ‚Ğ¸ Ğ°ĞºÑ†Ğ¸Ñ˜Ñƒ",
+DlgSpellNoSuggestions	: "- Ğ‘ĞµĞ· ÑÑƒĞ³ĞµÑÑ‚Ğ¸Ñ˜Ğ° -",
+DlgSpellProgress		: "ĞŸÑ€Ğ¾Ğ²ĞµÑ€Ğ° ÑĞ¿ĞµĞ»Ğ¾Ğ²Ğ°ÑšĞ° Ñƒ Ñ‚Ğ¾ĞºÑƒ...",
+DlgSpellNoMispell		: "ĞŸÑ€Ğ¾Ğ²ĞµÑ€Ğ° ÑĞ¿ĞµĞ»Ğ¾Ğ²Ğ°ÑšĞ° Ğ·Ğ°Ğ²Ñ€ÑˆĞµĞ½Ğ°: Ğ³Ñ€ĞµÑˆĞºĞµ Ğ½Ğ¸ÑÑƒ Ğ¿Ñ€Ğ¾Ğ½Ğ°Ñ’ĞµĞ½Ğµ",
+DlgSpellNoChanges		: "ĞŸÑ€Ğ¾Ğ²ĞµÑ€Ğ° ÑĞ¿ĞµĞ»Ğ¾Ğ²Ğ°ÑšĞ° Ğ·Ğ°Ğ²Ñ€ÑˆĞµĞ½Ğ°: ĞĞ¸Ñ˜Ğµ Ğ¸Ğ·Ğ¼ĞµÑšĞµĞ½Ğ° Ğ½Ğ¸Ñ˜ĞµĞ´Ğ½Ğ° Ñ€ĞµÑ‡",
+DlgSpellOneChange		: "ĞŸÑ€Ğ¾Ğ²ĞµÑ€Ğ° ÑĞ¿ĞµĞ»Ğ¾Ğ²Ğ°ÑšĞ° Ğ·Ğ°Ğ²Ñ€ÑˆĞµĞ½Ğ°: Ğ˜Ğ·Ğ¼ĞµÑšĞµĞ½Ğ° Ñ˜Ğµ Ñ˜ĞµĞ´Ğ½Ğ° Ñ€ĞµÑ‡",
+DlgSpellManyChanges		: "ĞŸÑ€Ğ¾Ğ²ĞµÑ€Ğ° ÑĞ¿ĞµĞ»Ğ¾Ğ²Ğ°ÑšĞ° Ğ·Ğ°Ğ²Ñ€ÑˆĞµĞ½Ğ°:  %1 Ñ€ĞµÑ‡(Ğ¸) Ñ˜Ğµ Ğ¸Ğ·Ğ¼ĞµÑšĞµĞ½Ğ¾",
+
+IeSpellDownload			: "ĞŸÑ€Ğ¾Ğ²ĞµÑ€Ğ° ÑĞ¿ĞµĞ»Ğ¾Ğ²Ğ°ÑšĞ° Ğ½Ğ¸Ñ˜Ğµ Ğ¸Ğ½ÑÑ‚Ğ°Ğ»Ğ¸Ñ€Ğ°Ğ½Ğ°. Ğ”Ğ° Ğ»Ğ¸ Ğ¶ĞµĞ»Ğ¸Ñ‚Ğµ Ğ´Ğ° Ñ˜Ğµ ÑĞºĞ¸Ğ½ĞµÑ‚Ğµ ÑĞ° Ğ˜Ğ½Ñ‚ĞµÑ€Ğ½ĞµÑ‚Ğ°?",
+
+// Button Dialog
+DlgButtonText		: "Ğ¢ĞµĞºÑÑ‚ (Ğ²Ñ€ĞµĞ´Ğ½Ğ¾ÑÑ‚)",
+DlgButtonType		: "TĞ¸Ğ¿",
+DlgButtonTypeBtn	: "Button",	//MISSING
+DlgButtonTypeSbm	: "Submit",	//MISSING
+DlgButtonTypeRst	: "Reset",	//MISSING
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "ĞĞ°Ğ·Ğ¸Ğ²",
+DlgCheckboxValue	: "Ğ’Ñ€ĞµĞ´Ğ½Ğ¾ÑÑ‚",
+DlgCheckboxSelected	: "ĞĞ·Ğ½Ğ°Ñ‡ĞµĞ½Ğ¾",
+
+// Form Dialog
+DlgFormName		: "ĞĞ°Ğ·Ğ¸Ğ²",
+DlgFormAction	: "AĞºÑ†Ğ¸Ñ˜Ğ°",
+DlgFormMethod	: "MĞµÑ‚Ğ¾Ğ´Ğ°",
+
+// Select Field Dialog
+DlgSelectName		: "ĞĞ°Ğ·Ğ¸Ğ²",
+DlgSelectValue		: "Ğ’Ñ€ĞµĞ´Ğ½Ğ¾ÑÑ‚",
+DlgSelectSize		: "Ğ’ĞµĞ»Ğ¸Ñ‡Ğ¸Ğ½Ğ°",
+DlgSelectLines		: "Ğ»Ğ¸Ğ½Ğ¸Ñ˜Ğ°",
+DlgSelectChkMulti	: "Ğ”Ğ¾Ğ·Ğ²Ğ¾Ğ»Ğ¸ Ğ²Ğ¸ÑˆĞµÑÑ‚Ñ€ÑƒĞºÑƒ ÑĞµĞ»ĞµĞºÑ†Ğ¸Ñ˜Ñƒ",
+DlgSelectOpAvail	: "Ğ”Ğ¾ÑÑ‚ÑƒĞ¿Ğ½Ğµ Ğ¾Ğ¿Ñ†Ğ¸Ñ˜Ğµ",
+DlgSelectOpText		: "Ğ¢ĞµĞºÑÑ‚",
+DlgSelectOpValue	: "Ğ’Ñ€ĞµĞ´Ğ½Ğ¾ÑÑ‚",
+DlgSelectBtnAdd		: "Ğ”Ğ¾Ğ´Ğ°Ñ˜",
+DlgSelectBtnModify	: "Ğ˜Ğ·Ğ¼ĞµĞ½Ğ¸",
+DlgSelectBtnUp		: "Ğ“Ğ¾Ñ€Ğµ",
+DlgSelectBtnDown	: "Ğ”Ğ¾Ğ»Ğµ",
+DlgSelectBtnSetValue : "ĞŸĞ¾Ğ´ĞµÑĞ¸ ĞºĞ°Ğ¾ Ğ¾Ğ·Ğ½Ğ°Ñ‡ĞµĞ½Ñƒ Ğ²Ñ€ĞµĞ´Ğ½Ğ¾ÑÑ‚",
+DlgSelectBtnDelete	: "ĞĞ±Ñ€Ğ¸ÑˆĞ¸",
+
+// Textarea Dialog
+DlgTextareaName	: "ĞĞ°Ğ·Ğ¸Ğ²",
+DlgTextareaCols	: "Ğ‘Ñ€Ğ¾Ñ˜ ĞºĞ¾Ğ»Ğ¾Ğ½Ğ°",
+DlgTextareaRows	: "Ğ‘Ñ€Ğ¾Ñ˜ Ñ€ĞµĞ´Ğ¾Ğ²Ğ°",
+
+// Text Field Dialog
+DlgTextName			: "ĞĞ°Ğ·Ğ¸Ğ²",
+DlgTextValue		: "Ğ’Ñ€ĞµĞ´Ğ½Ğ¾ÑÑ‚",
+DlgTextCharWidth	: "Ğ¨Ğ¸Ñ€Ğ¸Ğ½Ğ° (ĞºĞ°Ñ€Ğ°ĞºÑ‚ĞµÑ€Ğ°)",
+DlgTextMaxChars		: "ĞœĞ°ĞºÑĞ¸Ğ¼Ğ°Ğ»Ğ½Ğ¾ ĞºĞ°Ñ€Ğ°ĞºÑ‚ĞµÑ€Ğ°",
+DlgTextType			: "Ğ¢Ğ¸Ğ¿",
+DlgTextTypeText		: "Ğ¢ĞµĞºÑÑ‚",
+DlgTextTypePass		: "Ğ›Ğ¾Ğ·Ğ¸Ğ½ĞºĞ°",
+
+// Hidden Field Dialog
+DlgHiddenName	: "ĞĞ°Ğ·Ğ¸Ğ²",
+DlgHiddenValue	: "Ğ’Ñ€ĞµĞ´Ğ½Ğ¾ÑÑ‚",
+
+// Bulleted List Dialog
+BulletedListProp	: "ĞÑĞ¾Ğ±Ğ¸Ğ½Ğµ Bulleted Ğ»Ğ¸ÑÑ‚Ğµ",
+NumberedListProp	: "ĞÑĞ¾Ğ±Ğ¸Ğ½Ğµ Ğ½Ğ°Ğ±Ñ€Ğ¾Ñ˜Ğ¸Ğ²Ğµ Ğ»Ğ¸ÑÑ‚Ğµ",
+DlgLstStart			: "Start",	//MISSING
+DlgLstType			: "Ğ¢Ğ¸Ğ¿",
+DlgLstTypeCircle	: "ĞšÑ€ÑƒĞ³",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "ĞšĞ²Ğ°Ğ´Ñ€Ğ°Ñ‚",
+DlgLstTypeNumbers	: "Ğ‘Ñ€Ğ¾Ñ˜ĞµĞ²Ğ¸ (1, 2, 3)",
+DlgLstTypeLCase		: "Ğ¼Ğ°Ğ»Ğ° ÑĞ»Ğ¾Ğ²Ğ° (a, b, c)",
+DlgLstTypeUCase		: "Ğ’Ğ•Ğ›Ğ˜ĞšĞ Ğ¡Ğ›ĞĞ’Ğ (A, B, C)",
+DlgLstTypeSRoman	: "ĞœĞ°Ğ»Ğµ Ñ€Ğ¸Ğ¼ÑĞºĞµ Ñ†Ğ¸Ñ„Ñ€Ğµ (i, ii, iii)",
+DlgLstTypeLRoman	: "Ğ’ĞµĞ»Ğ¸ĞºĞµ Ñ€Ğ¸Ğ¼ÑĞºĞµ Ñ†Ğ¸Ñ„Ñ€Ğµ (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "ĞĞ¿ÑˆÑ‚Ğµ Ğ¾ÑĞ¾Ğ±Ğ¸Ğ½Ğµ",
+DlgDocBackTab		: "ĞŸĞ¾Ğ·Ğ°Ğ´Ğ¸Ğ½Ğ°",
+DlgDocColorsTab		: "Ğ‘Ğ¾Ñ˜Ğµ Ğ¸ Ğ¼Ğ°Ñ€Ğ³Ğ¸Ğ½Ğµ",
+DlgDocMetaTab		: "ĞœĞµÑ‚Ğ°Ğ¿Ğ¾Ğ´Ğ°Ñ†Ğ¸",
+
+DlgDocPageTitle		: "ĞĞ°ÑĞ»Ğ¾Ğ² ÑÑ‚Ñ€Ğ°Ğ½Ğ¸Ñ†Ğµ",
+DlgDocLangDir		: "Ğ¡Ğ¼ĞµÑ€ Ñ˜ĞµĞ·Ğ¸ĞºĞ°",
+DlgDocLangDirLTR	: "Ğ¡Ğ»ĞµĞ²Ğ° Ğ½Ğ°Ğ´ĞµÑĞ½Ğ¾ (LTR)",
+DlgDocLangDirRTL	: "Ğ—Ğ´ĞµÑĞ½Ğ° Ğ½Ğ°Ğ»ĞµĞ²Ğ¾ (RTL)",
+DlgDocLangCode		: "Ğ¨Ğ¸Ñ„Ñ€Ğ° Ñ˜ĞµĞ·Ğ¸ĞºĞ°",
+DlgDocCharSet		: "ĞšĞ¾Ğ´Ğ¸Ñ€Ğ°ÑšĞµ ÑĞºÑƒĞ¿Ğ° ĞºĞ°Ñ€Ğ°ĞºÑ‚ĞµÑ€Ğ°",
+DlgDocCharSetCE		: "Central European",	//MISSING
+DlgDocCharSetCT		: "Chinese Traditional (Big5)",	//MISSING
+DlgDocCharSetCR		: "Cyrillic",	//MISSING
+DlgDocCharSetGR		: "Greek",	//MISSING
+DlgDocCharSetJP		: "Japanese",	//MISSING
+DlgDocCharSetKR		: "Korean",	//MISSING
+DlgDocCharSetTR		: "Turkish",	//MISSING
+DlgDocCharSetUN		: "Unicode (UTF-8)",	//MISSING
+DlgDocCharSetWE		: "Western European",	//MISSING
+DlgDocCharSetOther	: "ĞÑÑ‚Ğ°Ğ»Ğ° ĞºĞ¾Ğ´Ğ¸Ñ€Ğ°ÑšĞ° ÑĞºÑƒĞ¿Ğ° ĞºĞ°Ñ€Ğ°ĞºÑ‚ĞµÑ€Ğ°",
+
+DlgDocDocType		: "Ğ—Ğ°Ğ³Ğ»Ğ°Ğ²Ñ™Ğµ Ñ‚Ğ¸Ğ¿Ğ° Ğ´Ğ¾ĞºÑƒĞ¼ĞµĞ½Ñ‚Ğ°",
+DlgDocDocTypeOther	: "ĞÑÑ‚Ğ°Ğ»Ğ° Ğ·Ğ°Ğ³Ğ»Ğ°Ğ²Ñ™Ğ° Ñ‚Ğ¸Ğ¿Ğ° Ğ´Ğ¾ĞºÑƒĞ¼ĞµĞ½Ñ‚Ğ°",
+DlgDocIncXHTML		: "Ğ£Ğ»Ñ™ÑƒÑ‡Ğ¸ XHTML Ğ´ĞµĞºĞ»Ğ°Ñ€Ğ°Ñ†Ğ¸Ñ˜Ğµ",
+DlgDocBgColor		: "Ğ‘Ğ¾Ñ˜Ğ° Ğ¿Ğ¾Ğ·Ğ°Ğ´Ğ¸Ğ½Ğµ",
+DlgDocBgImage		: "Ğ£Ğ Ğ› Ğ¿Ğ¾Ğ·Ğ°Ğ´Ğ¸Ğ½ÑĞºĞµ ÑĞ»Ğ¸ĞºĞµ",
+DlgDocBgNoScroll	: "Ğ¤Ğ¸ĞºÑĞ¸Ñ€Ğ°Ğ½Ğ° Ğ¿Ğ¾Ğ·Ğ°Ğ´Ğ¸Ğ½Ğ°",
+DlgDocCText			: "Ğ¢ĞµĞºÑÑ‚",
+DlgDocCLink			: "Ğ›Ğ¸Ğ½Ğº",
+DlgDocCVisited		: "ĞŸĞ¾ÑĞµÑ›ĞµĞ½Ğ¸ Ğ»Ğ¸Ğ½Ğº",
+DlgDocCActive		: "ĞĞºÑ‚Ğ¸Ğ²Ğ½Ğ¸ Ğ»Ğ¸Ğ½Ğº",
+DlgDocMargins		: "ĞœĞ°Ñ€Ğ³Ğ¸Ğ½Ğµ ÑÑ‚Ñ€Ğ°Ğ½Ğ¸Ñ†Ğµ",
+DlgDocMaTop			: "Ğ“Ğ¾Ñ€ÑšĞ°",
+DlgDocMaLeft		: "Ğ›ĞµĞ²Ğ°",
+DlgDocMaRight		: "Ğ”ĞµÑĞ½Ğ°",
+DlgDocMaBottom		: "Ğ”Ğ¾ÑšĞ°",
+DlgDocMeIndex		: "ĞšÑ™ÑƒÑ‡Ğ½Ğµ Ñ€ĞµÑ‡Ğ¸ Ğ·Ğ° Ğ¸Ğ½Ğ´ĞµĞºÑĞ¸Ñ€Ğ°ÑšĞµ Ğ´Ğ¾ĞºÑƒĞ¼ĞµĞ½Ñ‚Ğ° (Ñ€Ğ°Ğ·Ğ´Ğ²Ğ¾Ñ˜ĞµĞ½Ğµ Ğ·Ğ°Ñ€ĞµĞ·Ğ¾Ğ¼)",
+DlgDocMeDescr		: "ĞĞ¿Ğ¸Ñ Ğ´Ğ¾ĞºÑƒĞ¼ĞµĞ½Ñ‚Ğ°",
+DlgDocMeAuthor		: "ĞÑƒÑ‚Ğ¾Ñ€",
+DlgDocMeCopy		: "ĞÑƒÑ‚Ğ¾Ñ€ÑĞºĞ° Ğ¿Ñ€Ğ°Ğ²Ğ°",
+DlgDocPreview		: "Ğ˜Ğ·Ğ³Ğ»ĞµĞ´ ÑÑ‚Ñ€Ğ°Ğ½Ğ¸Ñ†Ğµ",
+
+// Templates Dialog
+Templates			: "ĞĞ±Ñ€Ğ°ÑÑ†Ğ¸",
+DlgTemplatesTitle	: "ĞĞ±Ñ€Ğ°ÑÑ†Ğ¸ Ğ·Ğ° ÑĞ°Ğ´Ñ€Ğ¶Ğ°Ñ˜",
+DlgTemplatesSelMsg	: "ĞœĞ¾Ğ»Ğ¸Ğ¼Ğ¾ Ğ’Ğ°Ñ Ğ´Ğ° Ğ¾Ğ´Ğ°Ğ±ĞµÑ€ĞµÑ‚Ğµ Ğ¾Ğ±Ñ€Ğ°Ğ·Ğ°Ñ† ĞºĞ¾Ñ˜Ğ¸ Ñ›Ğµ Ğ±Ğ¸Ñ‚Ğ¸ Ğ¿Ñ€Ğ¸Ğ¼ĞµÑšĞµĞ½ Ğ½Ğ° ÑÑ‚Ñ€Ğ°Ğ½Ğ¸Ñ†Ñƒ (Ñ‚Ñ€ĞµĞ½ÑƒÑ‚Ğ½Ğ¸ ÑĞ°Ğ´Ñ€Ğ¶Ğ°Ñ˜ Ñ›Ğµ Ğ±Ğ¸Ñ‚Ğ¸ Ğ¾Ğ±Ñ€Ğ¸ÑĞ°Ğ½):",
+DlgTemplatesLoading	: "Ğ£Ñ‡Ğ¸Ñ‚Ğ°Ğ²Ğ°Ğ¼ Ğ»Ğ¸ÑÑ‚Ñƒ Ğ¾Ğ±Ñ€Ğ°Ğ·Ğ°Ñ†Ğ°. ĞœĞ°Ğ»Ğ¾ ÑÑ‚Ñ€Ğ¿Ñ™ĞµÑšĞ°...",
+DlgTemplatesNoTpl	: "(ĞĞµĞ¼Ğ° Ğ´ĞµÑ„Ğ¸Ğ½Ğ¸ÑĞ°Ğ½Ğ¸Ñ… Ğ¾Ğ±Ñ€Ğ°Ğ·Ğ°Ñ†Ğ°)",
+DlgTemplatesReplace	: "Replace actual contents",	//MISSING
+
+// About Dialog
+DlgAboutAboutTab	: "Ğ ĞµĞ´Ğ¸Ñ‚Ğ¾Ñ€Ñƒ",
+DlgAboutBrowserInfoTab	: "Ğ˜Ğ½Ñ„Ğ¾Ñ€Ğ¼Ğ°Ñ†Ğ¸Ñ˜Ğµ Ğ¾ Ğ¿Ñ€ĞµÑ‚Ñ€Ğ°Ğ¶Ğ¸Ğ²Ğ°Ñ‡Ñƒ",
+DlgAboutLicenseTab	: "License",	//MISSING
+DlgAboutVersion		: "Ğ²ĞµÑ€Ğ·Ğ¸Ñ˜Ğ°",
+DlgAboutInfo		: "Ğ—Ğ° Ğ²Ğ¸ÑˆĞµ Ğ¸Ğ½Ñ„Ğ¾Ñ€Ğ¼Ğ°Ñ†Ğ¸Ñ˜Ğ° Ğ¿Ğ¾ÑĞµÑ‚Ğ¸Ñ‚Ğµ",
+
+// Div Dialog
+DlgDivGeneralTab	: "General",	//MISSING
+DlgDivAdvancedTab	: "Advanced",	//MISSING
+DlgDivStyle		: "Style",	//MISSING
+DlgDivInlineStyle	: "Inline Style",	//MISSING
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/tr.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/tr.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/tr.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Turkish language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "AraÃ§ Ã‡ubuÄŸunu Kapat",
+ToolbarExpand		: "AraÃ§ Ã‡ubuÄŸunu AÃ§",
+
+// Toolbar Items and Context Menu
+Save				: "Kaydet",
+NewPage				: "Yeni Sayfa",
+Preview				: "Ã–n Ä°zleme",
+Cut					: "Kes",
+Copy				: "Kopyala",
+Paste				: "YapÄ±ÅŸtÄ±r",
+PasteText			: "DÃ¼zyazÄ± Olarak YapÄ±ÅŸtÄ±r",
+PasteWord			: "Word'den YapÄ±ÅŸtÄ±r",
+Print				: "YazdÄ±r",
+SelectAll			: "TÃ¼mÃ¼nÃ¼ SeÃ§",
+RemoveFormat		: "BiÃ§imi KaldÄ±r",
+InsertLinkLbl		: "KÃ¶prÃ¼",
+InsertLink			: "KÃ¶prÃ¼ Ekle/DÃ¼zenle",
+RemoveLink			: "KÃ¶prÃ¼ KaldÄ±r",
+VisitLink			: "KÃ¶prÃ¼ AÃ§",
+Anchor				: "Ã‡apa Ekle/DÃ¼zenle",
+AnchorDelete		: "Ã‡apa Sil",
+InsertImageLbl		: "Resim",
+InsertImage			: "Resim Ekle/DÃ¼zenle",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Flash Ekle/DÃ¼zenle",
+InsertTableLbl		: "Tablo",
+InsertTable			: "Tablo Ekle/DÃ¼zenle",
+InsertLineLbl		: "SatÄ±r",
+InsertLine			: "Yatay SatÄ±r Ekle",
+InsertSpecialCharLbl: "Ã–zel Karakter",
+InsertSpecialChar	: "Ã–zel Karakter Ekle",
+InsertSmileyLbl		: "Ä°fade",
+InsertSmiley		: "Ä°fade Ekle",
+About				: "FCKeditor HakkÄ±nda",
+Bold				: "KalÄ±n",
+Italic				: "Ä°talik",
+Underline			: "AltÄ± Ã‡izgili",
+StrikeThrough		: "ÃœstÃ¼ Ã‡izgili",
+Subscript			: "Alt Simge",
+Superscript			: "Ãœst Simge",
+LeftJustify			: "Sola DayalÄ±",
+CenterJustify		: "OrtalanmÄ±ÅŸ",
+RightJustify		: "SaÄŸa DayalÄ±",
+BlockJustify		: "Ä°ki Kenara YaslanmÄ±ÅŸ",
+DecreaseIndent		: "Sekme Azalt",
+IncreaseIndent		: "Sekme ArttÄ±r",
+Blockquote			: "Blok OluÅŸtur",
+CreateDiv			: "Div Ekle",
+EditDiv				: "Div DÃ¼zenle",
+DeleteDiv			: "Div Sil",
+Undo				: "Geri Al",
+Redo				: "Tekrarla",
+NumberedListLbl		: "NumaralÄ± Liste",
+NumberedList		: "NumaralÄ± Liste Ekle/KaldÄ±r",
+BulletedListLbl		: "Simgeli Liste",
+BulletedList		: "Simgeli Liste Ekle/KaldÄ±r",
+ShowTableBorders	: "Tablo KenarlarÄ±nÄ± GÃ¶ster",
+ShowDetails			: "DetaylarÄ± GÃ¶ster",
+Style				: "BiÃ§em",
+FontFormat			: "BiÃ§im",
+Font				: "YazÄ± TÃ¼rÃ¼",
+FontSize			: "Boyut",
+TextColor			: "YazÄ± Rengi",
+BGColor				: "Arka Renk",
+Source				: "Kaynak",
+Find				: "Bul",
+Replace				: "DeÄŸiÅŸtir",
+SpellCheck			: "YazÄ±m Denetimi",
+UniversalKeyboard	: "Evrensel Klavye",
+PageBreakLbl		: "Sayfa sonu",
+PageBreak			: "Sayfa Sonu Ekle",
+
+Form			: "Form",
+Checkbox		: "Onay Kutusu",
+RadioButton		: "SeÃ§enek DÃ¼ÄŸmesi",
+TextField		: "Metin GiriÅŸi",
+Textarea		: "Ã‡ok SatÄ±rlÄ± Metin",
+HiddenField		: "Gizli Veri",
+Button			: "DÃ¼ÄŸme",
+SelectionField	: "SeÃ§im MenÃ¼sÃ¼",
+ImageButton		: "Resimli DÃ¼ÄŸme",
+
+FitWindow		: "DÃ¼zenleyici boyutunu bÃ¼yÃ¼t",
+ShowBlocks		: "BloklarÄ± GÃ¶ster",
+
+// Context Menu
+EditLink			: "KÃ¶prÃ¼ DÃ¼zenle",
+CellCM				: "HÃ¼cre",
+RowCM				: "SatÄ±r",
+ColumnCM			: "SÃ¼tun",
+InsertRowAfter		: "SatÄ±r Ekle - Sonra",
+InsertRowBefore		: "SatÄ±r Ekle - Ã–nce",
+DeleteRows			: "SatÄ±r Sil",
+InsertColumnAfter	: "Kolon Ekle - Sonra",
+InsertColumnBefore	: "Kolon Ekle - Ã–nce",
+DeleteColumns		: "SÃ¼tun Sil",
+InsertCellAfter		: "HÃ¼cre Ekle - Sonra",
+InsertCellBefore	: "HÃ¼cre Ekle - Ã–nce",
+DeleteCells			: "HÃ¼cre Sil",
+MergeCells			: "HÃ¼creleri BirleÅŸtir",
+MergeRight			: "BirleÅŸtir - SaÄŸdaki Ä°le ",
+MergeDown			: "BirleÅŸtir - AÅŸaÄŸÄ±daki Ä°le ",
+HorizontalSplitCell	: "HÃ¼creyi Yatay BÃ¶l",
+VerticalSplitCell	: "HÃ¼creyi Dikey BÃ¶l",
+TableDelete			: "Tabloyu Sil",
+CellProperties		: "HÃ¼cre Ã–zellikleri",
+TableProperties		: "Tablo Ã–zellikleri",
+ImageProperties		: "Resim Ã–zellikleri",
+FlashProperties		: "Flash Ã–zellikleri",
+
+AnchorProp			: "Ã‡apa Ã–zellikleri",
+ButtonProp			: "DÃ¼ÄŸme Ã–zellikleri",
+CheckboxProp		: "Onay Kutusu Ã–zellikleri",
+HiddenFieldProp		: "Gizli Veri Ã–zellikleri",
+RadioButtonProp		: "SeÃ§enek DÃ¼ÄŸmesi Ã–zellikleri",
+ImageButtonProp		: "Resimli DÃ¼ÄŸme Ã–zellikleri",
+TextFieldProp		: "Metin GiriÅŸi Ã–zellikleri",
+SelectionFieldProp	: "SeÃ§im MenÃ¼sÃ¼ Ã–zellikleri",
+TextareaProp		: "Ã‡ok SatÄ±rlÄ± Metin Ã–zellikleri",
+FormProp			: "Form Ã–zellikleri",
+
+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)",
+
+// Alerts and Messages
+ProcessingXHTML		: "XHTML iÅŸleniyor. LÃ¼tfen bekleyin...",
+Done				: "Bitti",
+PasteWordConfirm	: "YapÄ±ÅŸtÄ±rdÄ±ÄŸÄ±nÄ±z yazÄ± Word'den gelmiÅŸe benziyor. YapÄ±ÅŸtÄ±rmadan Ã¶nce gereksiz eklentileri silmek ister misiniz?",
+NotCompatiblePaste	: "Bu komut Internet Explorer 5.5 ve ileriki sÃ¼rÃ¼mleri iÃ§in mevcuttur. Temizlenmeden yapÄ±ÅŸtÄ±rÄ±lmasÄ±nÄ± ister misiniz ?",
+UnknownToolbarItem	: "Bilinmeyen araÃ§ Ã§ubugu Ã¶ÄŸesi \"%1\"",
+UnknownCommand		: "Bilinmeyen komut \"%1\"",
+NotImplemented		: "Komut uyarlanamadÄ±",
+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.",
+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)",
+DialogBlocked		: "Diyalog aÃ§mak mÃ¼mkÃ¼n olmadÄ±. TÃ¼m \"Popup Blocker\" programlarÄ±nÄ±n devre dÄ±ÅŸÄ± olduÄŸundan emin olun.",
+VisitLinkBlocked	: "Yeni pencere aÃ§mak mÃ¼mkÃ¼n olmadÄ±. TÃ¼m \"Popup Blocker\" programlarÄ±nÄ±n devre dÄ±ÅŸÄ± olduÄŸundan emin olun",
+
+// Dialogs
+DlgBtnOK			: "Tamam",
+DlgBtnCancel		: "Ä°ptal",
+DlgBtnClose			: "Kapat",
+DlgBtnBrowseServer	: "Sunucuyu Gez",
+DlgAdvancedTag		: "GeliÅŸmiÅŸ",
+DlgOpOther			: "<DiÄŸer>",
+DlgInfoTab			: "Bilgi",
+DlgAlertUrl			: "LÃ¼tfen URL girin",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<tanÄ±mlanmamÄ±ÅŸ>",
+DlgGenId			: "Kimlik",
+DlgGenLangDir		: "Dil YÃ¶nÃ¼",
+DlgGenLangDirLtr	: "Soldan SaÄŸa (LTR)",
+DlgGenLangDirRtl	: "SaÄŸdan Sola (RTL)",
+DlgGenLangCode		: "Dil KodlamasÄ±",
+DlgGenAccessKey		: "EriÅŸim TuÅŸu",
+DlgGenName			: "Ad",
+DlgGenTabIndex		: "Sekme Ä°ndeksi",
+DlgGenLongDescr		: "Uzun TanÄ±mlÄ± URL",
+DlgGenClass			: "BiÃ§em SayfasÄ± SÄ±nÄ±flarÄ±",
+DlgGenTitle			: "DanÄ±ÅŸma BaÅŸlÄ±ÄŸÄ±",
+DlgGenContType		: "DanÄ±ÅŸma Ä°Ã§erik TÃ¼rÃ¼",
+DlgGenLinkCharset	: "BaÄŸlÄ± Kaynak Karakter Gurubu",
+DlgGenStyle			: "BiÃ§em",
+
+// Image Dialog
+DlgImgTitle			: "Resim Ã–zellikleri",
+DlgImgInfoTab		: "Resim Bilgisi",
+DlgImgBtnUpload		: "Sunucuya Yolla",
+DlgImgURL			: "URL",
+DlgImgUpload		: "KarÅŸÄ±ya YÃ¼kle",
+DlgImgAlt			: "Alternatif YazÄ±",
+DlgImgWidth			: "GeniÅŸlik",
+DlgImgHeight		: "YÃ¼kseklik",
+DlgImgLockRatio		: "OranÄ± Kilitle",
+DlgBtnResetSize		: "Boyutu BaÅŸa DÃ¶ndÃ¼r",
+DlgImgBorder		: "Kenar",
+DlgImgHSpace		: "Yatay BoÅŸluk",
+DlgImgVSpace		: "Dikey BoÅŸluk",
+DlgImgAlign			: "Hizalama",
+DlgImgAlignLeft		: "Sol",
+DlgImgAlignAbsBottom: "Tam AltÄ±",
+DlgImgAlignAbsMiddle: "Tam OrtasÄ±",
+DlgImgAlignBaseline	: "Taban Ã‡izgisi",
+DlgImgAlignBottom	: "Alt",
+DlgImgAlignMiddle	: "Orta",
+DlgImgAlignRight	: "SaÄŸ",
+DlgImgAlignTextTop	: "YazÄ± Tepeye",
+DlgImgAlignTop		: "Tepe",
+DlgImgPreview		: "Ã–n Ä°zleme",
+DlgImgAlertUrl		: "LÃ¼tfen resmin URL'sini yazÄ±nÄ±z",
+DlgImgLinkTab		: "KÃ¶prÃ¼",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash Ã–zellikleri",
+DlgFlashChkPlay		: "Otomatik Oynat",
+DlgFlashChkLoop		: "DÃ¶ngÃ¼",
+DlgFlashChkMenu		: "Flash MenÃ¼sÃ¼nÃ¼ Kullan",
+DlgFlashScale		: "BoyutlandÄ±r",
+DlgFlashScaleAll	: "Hepsini GÃ¶ster",
+DlgFlashScaleNoBorder	: "Kenar Yok",
+DlgFlashScaleFit	: "Tam SÄ±ÄŸdÄ±r",
+
+// Link Dialog
+DlgLnkWindowTitle	: "KÃ¶prÃ¼",
+DlgLnkInfoTab		: "KÃ¶prÃ¼ Bilgisi",
+DlgLnkTargetTab		: "Hedef",
+
+DlgLnkType			: "KÃ¶prÃ¼ TÃ¼rÃ¼",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Bu sayfada Ã§apa",
+DlgLnkTypeEMail		: "E-Posta",
+DlgLnkProto			: "Protokol",
+DlgLnkProtoOther	: "<diÄŸer>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Ã‡apa SeÃ§",
+DlgLnkAnchorByName	: "Ã‡apa AdÄ± ile",
+DlgLnkAnchorById	: "Eleman Kimlik NumarasÄ± ile",
+DlgLnkNoAnchors		: "(Bu belgede hiÃ§ Ã§apa yok)",
+DlgLnkEMail			: "E-Posta Adresi",
+DlgLnkEMailSubject	: "Ä°leti Konusu",
+DlgLnkEMailBody		: "Ä°leti GÃ¶vdesi",
+DlgLnkUpload		: "KarÅŸÄ±ya YÃ¼kle",
+DlgLnkBtnUpload		: "Sunucuya GÃ¶nder",
+
+DlgLnkTarget		: "Hedef",
+DlgLnkTargetFrame	: "<Ã§erÃ§eve>",
+DlgLnkTargetPopup	: "<yeni aÃ§Ä±lan pencere>",
+DlgLnkTargetBlank	: "Yeni Pencere(_blank)",
+DlgLnkTargetParent	: "Anne Pencere (_parent)",
+DlgLnkTargetSelf	: "Kendi Penceresi (_self)",
+DlgLnkTargetTop		: "En Ãœst Pencere (_top)",
+DlgLnkTargetFrameName	: "Hedef Ã‡erÃ§eve AdÄ±",
+DlgLnkPopWinName	: "Yeni AÃ§Ä±lan Pencere AdÄ±",
+DlgLnkPopWinFeat	: "Yeni AÃ§Ä±lan Pencere Ã–zellikleri",
+DlgLnkPopResize		: "BoyutlandÄ±rÄ±labilir",
+DlgLnkPopLocation	: "Yer Ã‡ubuÄŸu",
+DlgLnkPopMenu		: "MenÃ¼ Ã‡ubuÄŸu",
+DlgLnkPopScroll		: "KaydÄ±rma Ã‡ubuklarÄ±",
+DlgLnkPopStatus		: "Durum Ã‡ubuÄŸu",
+DlgLnkPopToolbar	: "AraÃ§ Ã‡ubuÄŸu",
+DlgLnkPopFullScrn	: "Tam Ekran (IE)",
+DlgLnkPopDependent	: "BaÄŸÄ±mlÄ± (Netscape)",
+DlgLnkPopWidth		: "GeniÅŸlik",
+DlgLnkPopHeight		: "YÃ¼kseklik",
+DlgLnkPopLeft		: "Sola GÃ¶re Konum",
+DlgLnkPopTop		: "YukarÄ±ya GÃ¶re Konum",
+
+DlnLnkMsgNoUrl		: "LÃ¼tfen kÃ¶prÃ¼ URL'sini yazÄ±n",
+DlnLnkMsgNoEMail	: "LÃ¼tfen E-posta adresini yazÄ±n",
+DlnLnkMsgNoAnchor	: "LÃ¼tfen bir Ã§apa seÃ§in",
+DlnLnkMsgInvPopName	: "AÃ§Ä±lÄ±r pencere adÄ± abecesel bir karakterle baÅŸlamalÄ± ve boÅŸluk iÃ§ermemelidir",
+
+// Color Dialog
+DlgColorTitle		: "Renk SeÃ§",
+DlgColorBtnClear	: "Temizle",
+DlgColorHighlight	: "Vurgula",
+DlgColorSelected	: "SeÃ§ilmiÅŸ",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Ä°fade Ekle",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Ã–zel Karakter SeÃ§",
+
+// Table Dialog
+DlgTableTitle		: "Tablo Ã–zellikleri",
+DlgTableRows		: "SatÄ±rlar",
+DlgTableColumns		: "SÃ¼tunlar",
+DlgTableBorder		: "Kenar KalÄ±nlÄ±ÄŸÄ±",
+DlgTableAlign		: "Hizalama",
+DlgTableAlignNotSet	: "<TanÄ±mlanmamÄ±ÅŸ>",
+DlgTableAlignLeft	: "Sol",
+DlgTableAlignCenter	: "Merkez",
+DlgTableAlignRight	: "SaÄŸ",
+DlgTableWidth		: "GeniÅŸlik",
+DlgTableWidthPx		: "piksel",
+DlgTableWidthPc		: "yÃ¼zde",
+DlgTableHeight		: "YÃ¼kseklik",
+DlgTableCellSpace	: "Izgara kalÄ±nlÄ±ÄŸÄ±",
+DlgTableCellPad		: "Izgara yazÄ± arasÄ±",
+DlgTableCaption		: "BaÅŸlÄ±k",
+DlgTableSummary		: "Ã–zet",
+DlgTableHeaders		: "BaÅŸlÄ±klar",
+DlgTableHeadersNone		: "Yok",
+DlgTableHeadersColumn	: "Ä°lk SÃ¼tun",
+DlgTableHeadersRow		: "Ä°lk SatÄ±r",
+DlgTableHeadersBoth		: "Her Ä°kisi",
+
+// Table Cell Dialog
+DlgCellTitle		: "HÃ¼cre Ã–zellikleri",
+DlgCellWidth		: "GeniÅŸlik",
+DlgCellWidthPx		: "piksel",
+DlgCellWidthPc		: "yÃ¼zde",
+DlgCellHeight		: "YÃ¼kseklik",
+DlgCellWordWrap		: "SÃ¶zcÃ¼k KaydÄ±r",
+DlgCellWordWrapNotSet	: "<TanÄ±mlanmamÄ±ÅŸ>",
+DlgCellWordWrapYes	: "Evet",
+DlgCellWordWrapNo	: "HayÄ±r",
+DlgCellHorAlign		: "Yatay Hizalama",
+DlgCellHorAlignNotSet	: "<TanÄ±mlanmamÄ±ÅŸ>",
+DlgCellHorAlignLeft	: "Sol",
+DlgCellHorAlignCenter	: "Merkez",
+DlgCellHorAlignRight: "SaÄŸ",
+DlgCellVerAlign		: "Dikey Hizalama",
+DlgCellVerAlignNotSet	: "<TanÄ±mlanmamÄ±ÅŸ>",
+DlgCellVerAlignTop	: "Tepe",
+DlgCellVerAlignMiddle	: "Orta",
+DlgCellVerAlignBottom	: "Alt",
+DlgCellVerAlignBaseline	: "Taban Ã‡izgisi",
+DlgCellType		: "HÃ¼cre Tipi",
+DlgCellTypeData		: "Veri",
+DlgCellTypeHeader	: "BaÅŸlÄ±k",
+DlgCellRowSpan		: "SatÄ±r Kapla",
+DlgCellCollSpan		: "SÃ¼tun Kapla",
+DlgCellBackColor	: "Arka Plan Rengi",
+DlgCellBorderColor	: "Kenar Rengi",
+DlgCellBtnSelect	: "SeÃ§...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Bul ve DeÄŸiÅŸtir",
+
+// Find Dialog
+DlgFindTitle		: "Bul",
+DlgFindFindBtn		: "Bul",
+DlgFindNotFoundMsg	: "Belirtilen yazÄ± bulunamadÄ±.",
+
+// Replace Dialog
+DlgReplaceTitle			: "DeÄŸiÅŸtir",
+DlgReplaceFindLbl		: "Aranan:",
+DlgReplaceReplaceLbl	: "Bununla deÄŸiÅŸtir:",
+DlgReplaceCaseChk		: "BÃ¼yÃ¼k/kÃ¼Ã§Ã¼k harf duyarlÄ±",
+DlgReplaceReplaceBtn	: "DeÄŸiÅŸtir",
+DlgReplaceReplAllBtn	: "TÃ¼mÃ¼nÃ¼ DeÄŸiÅŸtir",
+DlgReplaceWordChk		: "Kelimenin tamamÄ± uysun",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "Gezgin yazÄ±lÄ±mÄ±nÄ±zÄ±n gÃ¼venlik ayarlarÄ± dÃ¼zenleyicinin otomatik kesme iÅŸlemine izin vermiyor. Ä°ÅŸlem iÃ§in (Ctrl+X) tuÅŸlarÄ±nÄ± kullanÄ±n.",
+PasteErrorCopy	: "Gezgin yazÄ±lÄ±mÄ±nÄ±zÄ±n gÃ¼venlik ayarlarÄ± dÃ¼zenleyicinin otomatik kopyalama iÅŸlemine izin vermiyor. Ä°ÅŸlem iÃ§in (Ctrl+C) tuÅŸlarÄ±nÄ± kullanÄ±n.",
+
+PasteAsText		: "DÃ¼z Metin Olarak YapÄ±ÅŸtÄ±r",
+PasteFromWord	: "Word'den yapÄ±ÅŸtÄ±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.",
+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..",
+DlgPasteIgnoreFont		: "YazÄ± Tipi tanÄ±mlarÄ±nÄ± yoksay",
+DlgPasteRemoveStyles	: "BiÃ§em TanÄ±mlarÄ±nÄ± Ã§Ä±kar",
+
+// Color Picker
+ColorAutomatic	: "Otomatik",
+ColorMoreColors	: "DiÄŸer renkler...",
+
+// Document Properties
+DocProps		: "Belge Ã–zellikleri",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Ã‡apa Ã–zellikleri",
+DlgAnchorName		: "Ã‡apa AdÄ±",
+DlgAnchorErrorName	: "LÃ¼tfen Ã§apa iÃ§in ad giriniz",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "SÃ¶zlÃ¼kte Yok",
+DlgSpellChangeTo		: "Åuna deÄŸiÅŸtir:",
+DlgSpellBtnIgnore		: "Yoksay",
+DlgSpellBtnIgnoreAll	: "TÃ¼mÃ¼nÃ¼ Yoksay",
+DlgSpellBtnReplace		: "DeÄŸiÅŸtir",
+DlgSpellBtnReplaceAll	: "TÃ¼mÃ¼nÃ¼ DeÄŸiÅŸtir",
+DlgSpellBtnUndo			: "Geri Al",
+DlgSpellNoSuggestions	: "- Ã–neri Yok -",
+DlgSpellProgress		: "YazÄ±m denetimi iÅŸlemde...",
+DlgSpellNoMispell		: "YazÄ±m denetimi tamamlandÄ±: YanlÄ±ÅŸ yazÄ±ma rastlanmadÄ±",
+DlgSpellNoChanges		: "YazÄ±m denetimi tamamlandÄ±: HiÃ§bir kelime deÄŸiÅŸtirilmedi",
+DlgSpellOneChange		: "YazÄ±m denetimi tamamlandÄ±: Bir kelime deÄŸiÅŸtirildi",
+DlgSpellManyChanges		: "YazÄ±m denetimi tamamlandÄ±: %1 kelime deÄŸiÅŸtirildi",
+
+IeSpellDownload			: "YazÄ±m denetimi yÃ¼klenmemiÅŸ. Åimdi yÃ¼klemek ister misiniz?",
+
+// Button Dialog
+DlgButtonText		: "Metin (DeÄŸer)",
+DlgButtonType		: "Tip",
+DlgButtonTypeBtn	: "DÃ¼ÄŸme",
+DlgButtonTypeSbm	: "GÃ¶nder",
+DlgButtonTypeRst	: "SÄ±fÄ±rla",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Ad",
+DlgCheckboxValue	: "DeÄŸer",
+DlgCheckboxSelected	: "SeÃ§ili",
+
+// Form Dialog
+DlgFormName		: "Ad",
+DlgFormAction	: "Ä°ÅŸlem",
+DlgFormMethod	: "YÃ¶ntem",
+
+// Select Field Dialog
+DlgSelectName		: "Ad",
+DlgSelectValue		: "DeÄŸer",
+DlgSelectSize		: "Boyut",
+DlgSelectLines		: "satÄ±r",
+DlgSelectChkMulti	: "Ã‡oklu seÃ§ime izin ver",
+DlgSelectOpAvail	: "Mevcut SeÃ§enekler",
+DlgSelectOpText		: "Metin",
+DlgSelectOpValue	: "DeÄŸer",
+DlgSelectBtnAdd		: "Ekle",
+DlgSelectBtnModify	: "DÃ¼zenle",
+DlgSelectBtnUp		: "YukarÄ±",
+DlgSelectBtnDown	: "AÅŸaÄŸÄ±",
+DlgSelectBtnSetValue : "SeÃ§ili deÄŸer olarak ata",
+DlgSelectBtnDelete	: "Sil",
+
+// Textarea Dialog
+DlgTextareaName	: "Ad",
+DlgTextareaCols	: "SÃ¼tunlar",
+DlgTextareaRows	: "SatÄ±rlar",
+
+// Text Field Dialog
+DlgTextName			: "Ad",
+DlgTextValue		: "DeÄŸer",
+DlgTextCharWidth	: "Karakter GeniÅŸliÄŸi",
+DlgTextMaxChars		: "En Fazla Karakter",
+DlgTextType			: "TÃ¼r",
+DlgTextTypeText		: "Metin",
+DlgTextTypePass		: "Parola",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Ad",
+DlgHiddenValue	: "DeÄŸer",
+
+// Bulleted List Dialog
+BulletedListProp	: "Simgeli Liste Ã–zellikleri",
+NumberedListProp	: "NumaralÄ± Liste Ã–zellikleri",
+DlgLstStart			: "BaÅŸlangÄ±Ã§",
+DlgLstType			: "Tip",
+DlgLstTypeCircle	: "Ã‡ember",
+DlgLstTypeDisc		: "Disk",
+DlgLstTypeSquare	: "Kare",
+DlgLstTypeNumbers	: "SayÄ±lar (1, 2, 3)",
+DlgLstTypeLCase		: "KÃ¼Ã§Ã¼k Harfler (a, b, c)",
+DlgLstTypeUCase		: "BÃ¼yÃ¼k Harfler (A, B, C)",
+DlgLstTypeSRoman	: "KÃ¼Ã§Ã¼k Romen RakamlarÄ± (i, ii, iii)",
+DlgLstTypeLRoman	: "BÃ¼yÃ¼k Romen RakamlarÄ± (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Genel",
+DlgDocBackTab		: "Arka Plan",
+DlgDocColorsTab		: "Renkler ve Kenar BoÅŸluklarÄ±",
+DlgDocMetaTab		: "TanÄ±m Bilgisi (Meta)",
+
+DlgDocPageTitle		: "Sayfa BaÅŸlÄ±ÄŸÄ±",
+DlgDocLangDir		: "Dil YÃ¶nÃ¼",
+DlgDocLangDirLTR	: "Soldan SaÄŸa (LTR)",
+DlgDocLangDirRTL	: "SaÄŸdan Sola (RTL)",
+DlgDocLangCode		: "Dil Kodu",
+DlgDocCharSet		: "Karakter KÃ¼mesi KodlamasÄ±",
+DlgDocCharSetCE		: "Orta Avrupa",
+DlgDocCharSetCT		: "Geleneksel Ã‡ince (Big5)",
+DlgDocCharSetCR		: "Kiril",
+DlgDocCharSetGR		: "Yunanca",
+DlgDocCharSetJP		: "Japonca",
+DlgDocCharSetKR		: "Korece",
+DlgDocCharSetTR		: "TÃ¼rkÃ§e",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "BatÄ± Avrupa",
+DlgDocCharSetOther	: "DiÄŸer Karakter KÃ¼mesi KodlamasÄ±",
+
+DlgDocDocType		: "Belge TÃ¼rÃ¼ BaÅŸlÄ±ÄŸÄ±",
+DlgDocDocTypeOther	: "DiÄŸer Belge TÃ¼rÃ¼ BaÅŸlÄ±ÄŸÄ±",
+DlgDocIncXHTML		: "XHTML Bildirimlerini Dahil Et",
+DlgDocBgColor		: "Arka Plan Rengi",
+DlgDocBgImage		: "Arka Plan Resim URLsi",
+DlgDocBgNoScroll	: "Sabit Arka Plan",
+DlgDocCText			: "Metin",
+DlgDocCLink			: "KÃ¶prÃ¼",
+DlgDocCVisited		: "Ziyaret EdilmiÅŸ KÃ¶prÃ¼",
+DlgDocCActive		: "Etkin KÃ¶prÃ¼",
+DlgDocMargins		: "Kenar BoÅŸluklarÄ±",
+DlgDocMaTop			: "Tepe",
+DlgDocMaLeft		: "Sol",
+DlgDocMaRight		: "SaÄŸ",
+DlgDocMaBottom		: "Alt",
+DlgDocMeIndex		: "Belge Dizinleme Anahtar Kelimeleri (virgÃ¼lle ayrÄ±lmÄ±ÅŸ)",
+DlgDocMeDescr		: "Belge TanÄ±mÄ±",
+DlgDocMeAuthor		: "Yazar",
+DlgDocMeCopy		: "Telif",
+DlgDocPreview		: "Ã–n Ä°zleme",
+
+// Templates Dialog
+Templates			: "Åablonlar",
+DlgTemplatesTitle	: "Ä°Ã§erik ÅablonlarÄ±",
+DlgTemplatesSelMsg	: "DÃ¼zenleyicide aÃ§mak iÃ§in lÃ¼tfen bir ÅŸablon seÃ§in.<br>(hali hazÄ±rdaki iÃ§erik kaybolacaktÄ±r.):",
+DlgTemplatesLoading	: "Åablon listesi yÃ¼klenmekte. LÃ¼tfen bekleyiniz...",
+DlgTemplatesNoTpl	: "(Belirli bir ÅŸablon seÃ§ilmedi)",
+DlgTemplatesReplace	: "Mevcut iÃ§erik ile deÄŸiÅŸtir",
+
+// About Dialog
+DlgAboutAboutTab	: "HakkÄ±nda",
+DlgAboutBrowserInfoTab	: "Gezgin Bilgisi",
+DlgAboutLicenseTab	: "Lisans",
+DlgAboutVersion		: "sÃ¼rÃ¼m",
+DlgAboutInfo		: "Daha fazla bilgi iÃ§in:",
+
+// Div Dialog
+DlgDivGeneralTab	: "Genel",
+DlgDivAdvancedTab	: "GeliÅŸmiÅŸ",
+DlgDivStyle		: "Sitil",
+DlgDivInlineStyle	: "SatÄ±riÃ§i Sitil",
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/fa.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/fa.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/fa.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Persian language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "rtl",
+
+ToolbarCollapse		: "Ø¨Ø±Ú†ÛŒØ¯Ù† Ù†ÙˆØ§Ø±Ø§Ø¨Ø²Ø§Ø±",
+ToolbarExpand		: "Ú¯Ø³ØªØ±Ø¯Ù† Ù†ÙˆØ§Ø±Ø§Ø¨Ø²Ø§Ø±",
+
+// Toolbar Items and Context Menu
+Save				: "Ø°Ø®ÛŒØ±Ù‡",
+NewPage				: "Ø¨Ø±Ú¯Ù‡Ù´ ØªØ§Ø²Ù‡",
+Preview				: "Ù¾ÛŒØ´â€ŒÙ†Ù…Ø§ÛŒØ´",
+Cut					: "Ø¨Ø±Ø´",
+Copy				: "Ú©Ù¾ÛŒ",
+Paste				: "Ú†Ø³Ø¨Ø§Ù†Ø¯Ù†",
+PasteText			: "Ú†Ø³Ø¨Ø§Ù†Ø¯Ù† Ø¨Ù‡ Ø¹Ù†ÙˆØ§Ù† Ù…ØªÙ† ÙØ³Ø§Ø¯Ù‡",
+PasteWord			: "Ú†Ø³Ø¨Ø§Ù†Ø¯Ù† Ø§Ø² Word",
+Print				: "Ú†Ø§Ù¾",
+SelectAll			: "Ú¯Ø²ÛŒÙ†Ø´ Ù‡Ù…Ù‡",
+RemoveFormat		: "Ø¨Ø±Ø¯Ø§Ø´ØªÙ† ÙØ±Ù…Øª",
+InsertLinkLbl		: "Ù¾ÛŒÙˆÙ†Ø¯",
+InsertLink			: "Ú¯Ù†Ø¬Ø§Ù†Ø¯Ù†/ÙˆÛŒØ±Ø§ÛŒØ´ ÙÙ¾ÛŒÙˆÙ†Ø¯",
+RemoveLink			: "Ø¨Ø±Ø¯Ø§Ø´ØªÙ† Ù¾ÛŒÙˆÙ†Ø¯",
+VisitLink			: "Ø¨Ø§Ø² Ú©Ø±Ø¯Ù† Ù¾ÛŒÙˆÙ†Ø¯",
+Anchor				: "Ú¯Ù†Ø¬Ø§Ù†Ø¯Ù†/ÙˆÛŒØ±Ø§ÛŒØ´ ÙÙ„Ù†Ú¯Ø±",
+AnchorDelete		: "Ø¨Ø±Ø¯Ø§Ø´ØªÙ† Ù„Ù†Ú¯Ø±",
+InsertImageLbl		: "ØªØµÙˆÛŒØ±",
+InsertImage			: "Ú¯Ù†Ø¬Ø§Ù†Ø¯Ù†/ÙˆÛŒØ±Ø§ÛŒØ´ ÙØªØµÙˆÛŒØ±",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Ú¯Ù†Ø¬Ø§Ù†Ø¯Ù†/ÙˆÛŒØ±Ø§ÛŒØ´ ÙFlash",
+InsertTableLbl		: "Ø¬Ø¯ÙˆÙ„",
+InsertTable			: "Ú¯Ù†Ø¬Ø§Ù†Ø¯Ù†/ÙˆÛŒØ±Ø§ÛŒØ´ ÙØ¬Ø¯ÙˆÙ„",
+InsertLineLbl		: "Ø®Ø·",
+InsertLine			: "Ú¯Ù†Ø¬Ø§Ù†Ø¯Ù† Ø®Ø· ÙØ§ÙÙ‚ÛŒ",
+InsertSpecialCharLbl: "Ù†ÙˆÛŒØ³Ù‡Ù´ ÙˆÛŒÚ˜Ù‡",
+InsertSpecialChar	: "Ú¯Ù†Ø¬Ø§Ù†Ø¯Ù† Ù†ÙˆÛŒØ³Ù‡Ù´ ÙˆÛŒÚ˜Ù‡",
+InsertSmileyLbl		: "Ø®Ù†Ø¯Ø§Ù†Ú©",
+InsertSmiley		: "Ú¯Ù†Ø¬Ø§Ù†Ø¯Ù† Ø®Ù†Ø¯Ø§Ù†Ú©",
+About				: "Ø¯Ø±Ø¨Ø§Ø±Ù‡Ù´ FCKeditor",
+Bold				: "Ø¯Ø±Ø´Øª",
+Italic				: "Ø®Ù…ÛŒØ¯Ù‡",
+Underline			: "Ø®Ø·â€ŒØ²ÛŒØ±Ø¯Ø§Ø±",
+StrikeThrough		: "Ù…ÛŒØ§Ù†â€ŒØ®Ø·",
+Subscript			: "Ø²ÛŒØ±Ù†ÙˆÛŒØ³",
+Superscript			: "Ø¨Ø§Ù„Ø§Ù†ÙˆÛŒØ³",
+LeftJustify			: "Ú†Ù¾â€ŒÚ†ÛŒÙ†",
+CenterJustify		: "Ù…ÛŒØ§Ù†â€ŒÚ†ÛŒÙ†",
+RightJustify		: "Ø±Ø§Ø³Øªâ€ŒÚ†ÛŒÙ†",
+BlockJustify		: "Ø¨Ù„ÙˆÚ©â€ŒÚ†ÛŒÙ†",
+DecreaseIndent		: "Ú©Ø§Ù‡Ø´ ØªÙˆØ±ÙØªÚ¯ÛŒ",
+IncreaseIndent		: "Ø§ÙØ²Ø§ÛŒØ´ ØªÙˆØ±ÙØªÚ¯ÛŒ",
+Blockquote			: "Ø¨Ù„ÙˆÚ© Ù†Ù‚Ù„ Ù‚ÙˆÙ„",
+CreateDiv			: "Create Div Container",	//MISSING
+EditDiv				: "Edit Div Container",	//MISSING
+DeleteDiv			: "Remove Div Container",	//MISSING
+Undo				: "ÙˆØ§Ú†ÛŒØ¯Ù†",
+Redo				: "Ø¨Ø§Ø²Ú†ÛŒØ¯Ù†",
+NumberedListLbl		: "ÙÙ‡Ø±Ø³Øª Ø´Ù…Ø§Ø±Ù‡â€ŒØ¯Ø§Ø±",
+NumberedList		: "Ú¯Ù†Ø¬Ø§Ù†Ø¯Ù†/Ø¨Ø±Ø¯Ø§Ø´ØªÙ† ÙÙ‡Ø±Ø³Øª Ø´Ù…Ø§Ø±Ù‡â€ŒØ¯Ø§Ø±",
+BulletedListLbl		: "ÙÙ‡Ø±Ø³Øª Ù†Ù‚Ø·Ù‡â€ŒØ§ÛŒ",
+BulletedList		: "Ú¯Ù†Ø¬Ø§Ù†Ø¯Ù†/Ø¨Ø±Ø¯Ø§Ø´ØªÙ† ÙÙ‡Ø±Ø³Øª Ù†Ù‚Ø·Ù‡â€ŒØ§ÛŒ",
+ShowTableBorders	: "Ù†Ù…Ø§ÛŒØ´ Ù„Ø¨Ù‡Ù´ Ø¬Ø¯ÙˆÙ„",
+ShowDetails			: "Ù†Ù…Ø§ÛŒØ´ Ø¬Ø²Ø¦ÛŒØ§Øª",
+Style				: "Ø³Ø¨Ú©",
+FontFormat			: "ÙØ±Ù…Øª",
+Font				: "Ù‚Ù„Ù…",
+FontSize			: "Ø§Ù†Ø¯Ø§Ø²Ù‡",
+TextColor			: "Ø±Ù†Ú¯ Ù…ØªÙ†",
+BGColor				: "Ø±Ù†Ú¯ Ù¾Ø³â€ŒØ²Ù…ÛŒÙ†Ù‡",
+Source				: "Ù…Ù†Ø¨Ø¹",
+Find				: "Ø¬Ø³ØªØ¬Ùˆ",
+Replace				: "Ø¬Ø§ÛŒÚ¯Ø²ÛŒÙ†ÛŒ",
+SpellCheck			: "Ø¨Ø±Ø±Ø³ÛŒ Ø§Ù…Ù„Ø§",
+UniversalKeyboard	: "ØµÙØ­Ù‡â€ŒÚ©Ù„ÛŒØ¯ Ø¬Ù‡Ø§Ù†ÛŒ",
+PageBreakLbl		: "Ø´Ú©Ø³ØªÚ¯ÛŒ ÙÙ¾Ø§ÛŒØ§Ù† ÙØ¨Ø±Ú¯Ù‡",
+PageBreak			: "Ú¯Ù†Ø¬Ø§Ù†Ø¯Ù† Ø´Ú©Ø³ØªÚ¯ÛŒ ÙÙ¾Ø§ÛŒØ§Ù† ÙØ¨Ø±Ú¯Ù‡",
+
+Form			: "ÙØ±Ù…",
+Checkbox		: "Ø®Ø§Ù†Ù‡Ù´ Ú¯Ø²ÛŒÙ†Ù‡â€ŒØ§ÛŒ",
+RadioButton		: "Ø¯Ú©Ù…Ù‡Ù´ Ø±Ø§Ø¯ÛŒÙˆÛŒÛŒ",
+TextField		: "ÙÛŒÙ„Ø¯ Ù…ØªÙ†ÛŒ",
+Textarea		: "Ù†Ø§Ø­ÛŒÙ‡Ù´ Ù…ØªÙ†ÛŒ",
+HiddenField		: "ÙÛŒÙ„Ø¯ Ù¾Ù†Ù‡Ø§Ù†",
+Button			: "Ø¯Ú©Ù…Ù‡",
+SelectionField	: "ÙÛŒÙ„Ø¯ Ú†Ù†Ø¯Ú¯Ø²ÛŒÙ†Ù‡â€ŒØ§ÛŒ",
+ImageButton		: "Ø¯Ú©Ù…Ù‡Ù´ ØªØµÙˆÛŒØ±ÛŒ",
+
+FitWindow		: "Ø¨ÛŒØ´ÛŒÙ†Ù‡â€ŒØ³Ø§Ø²ÛŒ ÙØ§Ù†Ø¯Ø§Ø²Ù‡Ù´ ÙˆÛŒØ±Ø§ÛŒØ´Ú¯Ø±",
+ShowBlocks		: "Ù†Ù…Ø§ÛŒØ´ Ø¨Ù„ÙˆÚ©â€ŒÙ‡Ø§",
+
+// Context Menu
+EditLink			: "ÙˆÛŒØ±Ø§ÛŒØ´ Ù¾ÛŒÙˆÙ†Ø¯",
+CellCM				: "Ø³Ù„ÙˆÙ„",
+RowCM				: "Ø³Ø·Ø±",
+ColumnCM			: "Ø³ØªÙˆÙ†",
+InsertRowAfter		: "Ø§ÙØ²ÙˆØ¯Ù† Ø³Ø·Ø± Ø¨Ø¹Ø¯ Ø§Ø²",
+InsertRowBefore		: "Ø§ÙØ²ÙˆØ¯Ù† Ø³Ø·Ø± Ù‚Ø¨Ù„ Ø§Ø²",
+DeleteRows			: "Ø­Ø°Ù Ø³Ø·Ø±Ù‡Ø§",
+InsertColumnAfter	: "Ø§ÙØ²ÙˆØ¯Ù† Ø³ØªÙˆÙ† Ø¨Ø¹Ø¯ Ø§Ø²",
+InsertColumnBefore	: "Ø§ÙØ²ÙˆØ¯Ù† Ø³ØªÙˆÙ† Ù‚Ø¨Ù„ Ø§Ø²",
+DeleteColumns		: "Ø­Ø°Ù Ø³ØªÙˆÙ†Ù‡Ø§",
+InsertCellAfter		: "Ø§ÙØ²ÙˆØ¯Ù† Ø³Ù„ÙˆÙ„ Ø¨Ø¹Ø¯ Ø§Ø²",
+InsertCellBefore	: "Ø§ÙØ²ÙˆØ¯Ù† Ø³Ù„ÙˆÙ„ Ù‚Ø¨Ù„ Ø§Ø²",
+DeleteCells			: "Ø­Ø°Ù Ø³Ù„ÙˆÙ„Ù‡Ø§",
+MergeCells			: "Ø§Ø¯ØºØ§Ù… Ø³Ù„ÙˆÙ„Ù‡Ø§",
+MergeRight			: "Ø§Ø¯ØºØ§Ù… Ø¨Ù‡ Ø±Ø§Ø³Øª",
+MergeDown			: "Ø§Ø¯ØºØ§Ù… Ø¨Ù‡ Ù¾Ø§ÛŒÛŒÙ†",
+HorizontalSplitCell	: "Ø¬Ø¯Ø§ Ú©Ø±Ø¯Ù† Ø§ÙÙ‚ÛŒ Ø³Ù„ÙˆÙ„",
+VerticalSplitCell	: "Ø¬Ø¯Ø§ Ú©Ø±Ø¯Ù† Ø¹Ù…ÙˆØ¯ÛŒ Ø³Ù„ÙˆÙ„",
+TableDelete			: "Ù¾Ø§Ú©â€ŒÚ©Ø±Ø¯Ù† Ø¬Ø¯ÙˆÙ„",
+CellProperties		: "ÙˆÛŒÚ˜Ú¯ÛŒÙ‡Ø§ÛŒ Ø³Ù„ÙˆÙ„",
+TableProperties		: "ÙˆÛŒÚ˜Ú¯ÛŒÙ‡Ø§ÛŒ Ø¬Ø¯ÙˆÙ„",
+ImageProperties		: "ÙˆÛŒÚ˜Ú¯ÛŒÙ‡Ø§ÛŒ ØªØµÙˆÛŒØ±",
+FlashProperties		: "ÙˆÛŒÚ˜Ú¯ÛŒÙ‡Ø§ÛŒ Flash",
+
+AnchorProp			: "ÙˆÛŒÚ˜Ú¯ÛŒÙ‡Ø§ÛŒ Ù„Ù†Ú¯Ø±",
+ButtonProp			: "ÙˆÛŒÚ˜Ú¯ÛŒÙ‡Ø§ÛŒ Ø¯Ú©Ù…Ù‡",
+CheckboxProp		: "ÙˆÛŒÚ˜Ú¯ÛŒÙ‡Ø§ÛŒ Ø®Ø§Ù†Ù‡Ù´ Ú¯Ø²ÛŒÙ†Ù‡â€ŒØ§ÛŒ",
+HiddenFieldProp		: "ÙˆÛŒÚ˜Ú¯ÛŒÙ‡Ø§ÛŒ ÙÛŒÙ„Ø¯ Ù¾Ù†Ù‡Ø§Ù†",
+RadioButtonProp		: "ÙˆÛŒÚ˜Ú¯ÛŒÙ‡Ø§ÛŒ Ø¯Ú©Ù…Ù‡Ù´ Ø±Ø§Ø¯ÛŒÙˆÛŒÛŒ",
+ImageButtonProp		: "ÙˆÛŒÚ˜Ú¯ÛŒÙ‡Ø§ÛŒ Ø¯Ú©Ù…Ù‡Ù´ ØªØµÙˆÛŒØ±ÛŒ",
+TextFieldProp		: "ÙˆÛŒÚ˜Ú¯ÛŒÙ‡Ø§ÛŒ ÙÛŒÙ„Ø¯ Ù…ØªÙ†ÛŒ",
+SelectionFieldProp	: "ÙˆÛŒÚ˜Ú¯ÛŒÙ‡Ø§ÛŒ ÙÛŒÙ„Ø¯ Ú†Ù†Ø¯Ú¯Ø²ÛŒÙ†Ù‡â€ŒØ§ÛŒ",
+TextareaProp		: "ÙˆÛŒÚ˜Ú¯ÛŒÙ‡Ø§ÛŒ Ù†Ø§Ø­ÛŒÙ‡Ù´ Ù…ØªÙ†ÛŒ",
+FormProp			: "ÙˆÛŒÚ˜Ú¯ÛŒÙ‡Ø§ÛŒ ÙØ±Ù…",
+
+FontFormats			: "Ù†Ø±Ù…Ø§Ù„;ÙØ±Ù…Øªâ€ŒØ´Ø¯Ù‡;Ø¢Ø¯Ø±Ø³;Ø³Ø±Ù†ÙˆÛŒØ³ 1;Ø³Ø±Ù†ÙˆÛŒØ³ 2;Ø³Ø±Ù†ÙˆÛŒØ³ 3;Ø³Ø±Ù†ÙˆÛŒØ³ 4;Ø³Ø±Ù†ÙˆÛŒØ³ 5;Ø³Ø±Ù†ÙˆÛŒØ³ 6;Ø¨Ù†Ø¯;(DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "Ù¾Ø±Ø¯Ø§Ø²Ø´ XHTML. Ù„Ø·ÙØ§ ØµØ¨Ø± Ú©Ù†ÛŒØ¯...",
+Done				: "Ø§Ù†Ø¬Ø§Ù… Ø´Ø¯",
+PasteWordConfirm	: "Ù…ØªÙ†ÛŒ Ú©Ù‡ Ù…ÛŒâ€ŒØ®ÙˆØ§Ù‡ÛŒØ¯ Ø¨Ú†Ø³Ø¨Ø§Ù†ÛŒØ¯ Ø¨Ù‡ Ù†Ø¸Ø± Ù…ÛŒâ€ŒØ±Ø³Ø¯ Ø§Ø² Word Ú©Ù¾ÛŒ Ø´Ø¯Ù‡ Ø§Ø³Øª. Ø¢ÛŒØ§ Ù…ÛŒâ€ŒØ®ÙˆØ§Ù‡ÛŒØ¯ Ù‚Ø¨Ù„ Ø§Ø² Ú†Ø³Ø¨Ø§Ù†Ø¯Ù† Ø¢Ù† Ø±Ø§ Ù¾Ø§Ú©â€ŒØ³Ø§Ø²ÛŒ Ú©Ù†ÛŒØ¯ØŸ",
+NotCompatiblePaste	: "Ø§ÛŒÙ† ÙØ±Ù…Ø§Ù† Ø¨Ø±Ø§ÛŒ Ù…Ø±ÙˆØ±Ú¯Ø± Internet Explorer Ø§Ø² Ù†Ú¯Ø§Ø±Ø´ 5.5 ÛŒØ§ Ø¨Ø§Ù„Ø§ØªØ± Ø¯Ø± Ø¯Ø³ØªØ±Ø³ Ø§Ø³Øª. Ø¢ÛŒØ§ Ù…ÛŒâ€ŒØ®ÙˆØ§Ù‡ÛŒØ¯ Ø¨Ø¯ÙˆÙ† Ù¾Ø§Ú©â€ŒØ³Ø§Ø²ÛŒØŒ Ù…ØªÙ† Ø±Ø§ Ø¨Ú†Ø³Ø¨Ø§Ù†ÛŒØ¯ØŸ",
+UnknownToolbarItem	: "ÙÙ‚Ø±Ù‡Ù´ Ù†ÙˆØ§Ø±Ø§Ø¨Ø²Ø§Ø± Ù†Ø§Ø´Ù†Ø§Ø®ØªÙ‡ \"%1\"",
+UnknownCommand		: "Ù†Ø§Ù… Ø¯Ø³ØªÙˆØ± Ù†Ø§Ø´Ù†Ø§Ø®ØªÙ‡ \"%1\"",
+NotImplemented		: "Ø¯Ø³ØªÙˆØ± Ù¾ÛŒØ§Ø¯Ù‡â€ŒØ³Ø§Ø²ÛŒâ€ŒÙ†Ø´Ø¯Ù‡",
+UnknownToolbarSet	: "Ù…Ø¬Ù…ÙˆØ¹Ù‡Ù´ Ù†ÙˆØ§Ø±Ø§Ø¨Ø²Ø§Ø± \"%1\" ÙˆØ¬ÙˆØ¯ Ù†Ø¯Ø§Ø±Ø¯",
+NoActiveX			: "ØªÙ†Ø¸ÛŒÙ…Ø§Øª Ø§Ù…Ù†ÛŒØªÛŒ Ù…Ø±ÙˆØ±Ú¯Ø± Ø´Ù…Ø§ Ù…Ù…Ú©Ù† Ø§Ø³Øª Ø¯Ø± Ø¨Ø¹Ø¶ÛŒ Ø§Ø² ÙˆÛŒÚ˜Ú¯ÛŒÙ‡Ø§ÛŒ Ù…Ø±ÙˆØ±Ú¯Ø± Ù…Ø­Ø¯ÙˆØ¯ÛŒØª Ø§ÛŒØ¬Ø§Ø¯ Ú©Ù†Ø¯. Ø´Ù…Ø§ Ø¨Ø§ÛŒØ¯ Ú¯Ø²ÛŒÙ†Ù‡Ù´ \"Run ActiveX controls and plug-ins\" Ø±Ø§ ÙØ¹Ø§Ù„ Ú©Ù†ÛŒØ¯. Ù…Ù…Ú©Ù† Ø§Ø³Øª Ø´Ù…Ø§ Ø¨Ø§ Ø®Ø·Ø§Ù‡Ø§ÛŒÛŒ Ø±ÙˆØ¨Ø±Ùˆ Ø¨Ø§Ø´ÛŒØ¯ Ùˆ Ù…ØªÙˆØ¬Ù‡ Ú©Ù…Ø¨ÙˆØ¯ ÙˆÛŒÚ˜Ú¯ÛŒÙ‡Ø§ÛŒÛŒ Ø´ÙˆÛŒØ¯.",
+BrowseServerBlocked : "ØªÙˆØ§Ù†Ø§ÛŒÛŒ Ø¨Ø§Ø²Ú¯Ø´Ø§ÛŒÛŒ Ù…Ø±ÙˆØ±Ú¯Ø± Ù…Ù†Ø§Ø¨Ø¹ ÙØ±Ø§Ù‡Ù… Ù†ÛŒØ³Øª. Ø§Ø·Ù…ÛŒÙ†Ø§Ù† Ø­Ø§ØµÙ„ Ú©Ù†ÛŒØ¯ Ú©Ù‡ ØªÙ…Ø§Ù…ÛŒ Ø¨Ø±Ù†Ø§Ù…Ù‡â€ŒÙ‡Ø§ÛŒ Ù¾ÛŒØ´Ú¯ÛŒØ±ÛŒ Ø§Ø² Ù†Ù…Ø§ÛŒØ´ popup Ø±Ø§ Ø§Ø² Ú©Ø§Ø± Ø¨Ø§Ø²Ø¯Ø§Ø´ØªÙ‡â€ŒØ§ÛŒØ¯.",
+DialogBlocked		: "ØªÙˆØ§Ù†Ø§ÛŒÛŒ Ø¨Ø§Ø²Ú¯Ø´Ø§ÛŒÛŒ Ù¾Ù†Ø¬Ø±Ù‡Ù´ Ú©ÙˆÚ†Ú© ÙÚ¯ÙØªÚ¯Ùˆ ÙØ±Ø§Ù‡Ù… Ù†ÛŒØ³Øª. Ø§Ø·Ù…ÛŒÙ†Ø§Ù† Ø­Ø§ØµÙ„ Ú©Ù†ÛŒØ¯ Ú©Ù‡ ØªÙ…Ø§Ù…ÛŒ Ø¨Ø±Ù†Ø§Ù…Ù‡â€ŒÙ‡Ø§ÛŒ Ù¾ÛŒØ´Ú¯ÛŒØ±ÛŒ Ø§Ø² Ù†Ù…Ø§ÛŒØ´ popup Ø±Ø§ Ø§Ø² Ú©Ø§Ø± Ø¨Ø§Ø²Ø¯Ø§Ø´ØªÙ‡â€ŒØ§ÛŒØ¯.",
+VisitLinkBlocked	: "Ø§Ù…Ú©Ø§Ù† Ø¨Ø§Ø²Ú©Ø±Ø¯Ù† ÛŒÚ© Ù¾Ù†Ø¬Ø±Ù‡ Ø¬Ø¯ÛŒØ¯ Ù†ÛŒØ³Øª. Ø§Ø·Ù…ÛŒÙ†Ø§Ù† Ø­Ø§ØµÙ„ Ú©Ù†ÛŒØ¯ Ú©Ù‡ ØªÙ…Ø§Ù…ÛŒ Ø¨Ø±Ù†Ø§Ù…Ù‡â€ŒÙ‡Ø§ÛŒ Ù¾ÛŒØ´Ú¯ÛŒØ±ÛŒ Ø§Ø² Ù†Ù…Ø§ÛŒØ´ popup Ø±Ø§ Ø§Ø² Ú©Ø§Ø± Ø¨Ø§Ø²Ø¯Ø§Ø´ØªÙ‡â€ŒØ§ÛŒØ¯.",
+
+// Dialogs
+DlgBtnOK			: "Ù¾Ø°ÛŒØ±Ø´",
+DlgBtnCancel		: "Ø§Ù†ØµØ±Ø§Ù",
+DlgBtnClose			: "Ø¨Ø³ØªÙ†",
+DlgBtnBrowseServer	: "ÙÙ‡Ø±Ø³Øªâ€ŒÙ†Ù…Ø§ÛŒÛŒ Ø³Ø±ÙˆØ±",
+DlgAdvancedTag		: "Ù¾ÛŒØ´Ø±ÙØªÙ‡",
+DlgOpOther			: "<ØºÛŒØ±Ù‡>",
+DlgInfoTab			: "Ø§Ø·Ù„Ø§Ø¹Ø§Øª",
+DlgAlertUrl			: "Ù„Ø·ÙØ§Ù‹ URL Ø±Ø§ Ø¨Ù†ÙˆÛŒØ³ÛŒØ¯",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<ØªØ¹ÛŒÙ†â€ŒÙ†Ø´Ø¯Ù‡>",
+DlgGenId			: "Ø´Ù†Ø§Ø³Ù‡",
+DlgGenLangDir		: "Ø¬Ù‡Øªâ€ŒÙ†Ù…Ø§ÛŒ Ø²Ø¨Ø§Ù†",
+DlgGenLangDirLtr	: "Ú†Ù¾ Ø¨Ù‡ Ø±Ø§Ø³Øª (LTR)",
+DlgGenLangDirRtl	: "Ø±Ø§Ø³Øª Ø¨Ù‡ Ú†Ù¾ (RTL)",
+DlgGenLangCode		: "Ú©Ø¯ Ø²Ø¨Ø§Ù†",
+DlgGenAccessKey		: "Ú©Ù„ÛŒØ¯ Ø¯Ø³ØªÛŒØ§Ø¨ÛŒ",
+DlgGenName			: "Ù†Ø§Ù…",
+DlgGenTabIndex		: "Ù†Ù…Ø§ÛŒÙ‡Ù´ Ø¯Ø³ØªØ±Ø³ÛŒ Ø¨Ø§ Tab",
+DlgGenLongDescr		: "URL ØªÙˆØµÛŒÙ Ø·ÙˆÙ„Ø§Ù†ÛŒ",
+DlgGenClass			: "Ú©Ù„Ø§Ø³Ù‡Ø§ÛŒ Ø´ÛŒÙˆÙ‡â€ŒÙ†Ø§Ù…Ù‡(Stylesheet)",
+DlgGenTitle			: "Ø¹Ù†ÙˆØ§Ù† Ú©Ù…Ú©ÛŒ",
+DlgGenContType		: "Ù†ÙˆØ¹ Ù…Ø­ØªÙˆØ§ÛŒ Ú©Ù…Ú©ÛŒ",
+DlgGenLinkCharset	: "Ù†ÙˆÛŒØ³Ù‡â€ŒÚ¯Ø§Ù† Ù…Ù†Ø¨Ø¹ ÙÙ¾ÛŒÙˆÙ†Ø¯Ø´Ø¯Ù‡",
+DlgGenStyle			: "Ø´ÛŒÙˆÙ‡(style)",
+
+// Image Dialog
+DlgImgTitle			: "ÙˆÛŒÚ˜Ú¯ÛŒÙ‡Ø§ÛŒ ØªØµÙˆÛŒØ±",
+DlgImgInfoTab		: "Ø§Ø·Ù„Ø§Ø¹Ø§Øª ØªØµÙˆÛŒØ±",
+DlgImgBtnUpload		: "Ø¨Ù‡ Ø³Ø±ÙˆØ± Ø¨ÙØ±Ø³Øª",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Ø§Ù†ØªÙ‚Ø§Ù„ Ø¨Ù‡ Ø³Ø±ÙˆØ±",
+DlgImgAlt			: "Ù…ØªÙ† Ø¬Ø§ÛŒÚ¯Ø²ÛŒÙ†",
+DlgImgWidth			: "Ù¾Ù‡Ù†Ø§",
+DlgImgHeight		: "Ø¯Ø±Ø§Ø²Ø§",
+DlgImgLockRatio		: "Ù‚ÙÙ„â€ŒÚ©Ø±Ø¯Ù† ÙÙ†Ø³Ø¨Øª",
+DlgBtnResetSize		: "Ø¨Ø§Ø²Ù†Ø´Ø§Ù†ÛŒ Ø§Ù†Ø¯Ø§Ø²Ù‡",
+DlgImgBorder		: "Ù„Ø¨Ù‡",
+DlgImgHSpace		: "ÙØ§ØµÙ„Ù‡Ù´ Ø§ÙÙ‚ÛŒ",
+DlgImgVSpace		: "ÙØ§ØµÙ„Ù‡Ù´ Ø¹Ù…ÙˆØ¯ÛŒ",
+DlgImgAlign			: "Ú†ÛŒÙ†Ø´",
+DlgImgAlignLeft		: "Ú†Ù¾",
+DlgImgAlignAbsBottom: "Ù¾Ø§Ø¦ÛŒÙ† Ù…Ø·Ù„Ù‚",
+DlgImgAlignAbsMiddle: "ÙˆØ³Ø· Ù…Ø·Ù„Ù‚",
+DlgImgAlignBaseline	: "Ø®Ø·â€ŒÙ¾Ø§ÛŒÙ‡",
+DlgImgAlignBottom	: "Ù¾Ø§Ø¦ÛŒÙ†",
+DlgImgAlignMiddle	: "ÙˆØ³Ø·",
+DlgImgAlignRight	: "Ø±Ø§Ø³Øª",
+DlgImgAlignTextTop	: "Ù…ØªÙ† Ø¨Ø§Ù„Ø§",
+DlgImgAlignTop		: "Ø¨Ø§Ù„Ø§",
+DlgImgPreview		: "Ù¾ÛŒØ´â€ŒÙ†Ù…Ø§ÛŒØ´",
+DlgImgAlertUrl		: "Ù„Ø·ÙØ§ URL ØªØµÙˆÛŒØ± Ø±Ø§ Ø¨Ù†ÙˆÛŒØ³ÛŒØ¯",
+DlgImgLinkTab		: "Ù¾ÛŒÙˆÙ†Ø¯",
+
+// Flash Dialog
+DlgFlashTitle		: "ÙˆÛŒÚ˜Ú¯ÛŒÙ‡Ø§ÛŒ Flash",
+DlgFlashChkPlay		: "Ø¢ØºØ§Ø² ÙØ®ÙˆØ¯Ú©Ø§Ø±",
+DlgFlashChkLoop		: "Ø§Ø¬Ø±Ø§ÛŒ Ù¾ÛŒØ§Ù¾ÛŒ",
+DlgFlashChkMenu		: "Ø¯Ø±Ø¯Ø³ØªØ±Ø³â€ŒØ¨ÙˆØ¯Ù† Ù…Ù†ÙˆÛŒ Flash",
+DlgFlashScale		: "Ù…Ù‚ÛŒØ§Ø³",
+DlgFlashScaleAll	: "Ù†Ù…Ø§ÛŒØ´ Ù‡Ù…Ù‡",
+DlgFlashScaleNoBorder	: "Ø¨Ø¯ÙˆÙ† Ú©Ø±Ø§Ù†",
+DlgFlashScaleFit	: "Ø¬Ø§ÛŒÚ¯ÛŒØ±ÛŒ Ú©Ø§Ù…Ù„",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Ù¾ÛŒÙˆÙ†Ø¯",
+DlgLnkInfoTab		: "Ø§Ø·Ù„Ø§Ø¹Ø§Øª Ù¾ÛŒÙˆÙ†Ø¯",
+DlgLnkTargetTab		: "Ù…Ù‚ØµØ¯",
+
+DlgLnkType			: "Ù†ÙˆØ¹ Ù¾ÛŒÙˆÙ†Ø¯",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Ù„Ù†Ú¯Ø± Ø¯Ø± Ù‡Ù…ÛŒÙ† ØµÙØ­Ù‡",
+DlgLnkTypeEMail		: "Ù¾Ø³Øª Ø§Ù„Ú©ØªØ±ÙˆÙ†ÛŒÚ©ÛŒ",
+DlgLnkProto			: "Ù¾Ø±ÙˆØªÚ©Ù„",
+DlgLnkProtoOther	: "<Ø¯ÛŒÚ¯Ø±>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "ÛŒÚ© Ù„Ù†Ú¯Ø± Ø¨Ø±Ú¯Ø²ÛŒÙ†ÛŒØ¯",
+DlgLnkAnchorByName	: "Ø¨Ø§ Ù†Ø§Ù… Ù„Ù†Ú¯Ø±",
+DlgLnkAnchorById	: "Ø¨Ø§ Ø´Ù†Ø§Ø³Ù‡Ù´ Ø§Ù„Ù…Ø§Ù†",
+DlgLnkNoAnchors		: "(Ø¯Ø± Ø§ÛŒÙ† Ø³Ù†Ø¯ Ù„Ù†Ú¯Ø±ÛŒ Ø¯Ø±Ø¯Ø³ØªØ±Ø³ Ù†ÛŒØ³Øª)",
+DlgLnkEMail			: "Ù†Ø´Ø§Ù†ÛŒ Ù¾Ø³Øª Ø§Ù„Ú©ØªØ±ÙˆÙ†ÛŒÚ©ÛŒ",
+DlgLnkEMailSubject	: "Ù…ÙˆØ¶ÙˆØ¹ Ù¾ÛŒØ§Ù…",
+DlgLnkEMailBody		: "Ù…ØªÙ† Ù¾ÛŒØ§Ù…",
+DlgLnkUpload		: "Ø§Ù†ØªÙ‚Ø§Ù„ Ø¨Ù‡ Ø³Ø±ÙˆØ±",
+DlgLnkBtnUpload		: "Ø¨Ù‡ Ø³Ø±ÙˆØ± Ø¨ÙØ±Ø³Øª",
+
+DlgLnkTarget		: "Ù…Ù‚ØµØ¯",
+DlgLnkTargetFrame	: "<ÙØ±ÛŒÙ…>",
+DlgLnkTargetPopup	: "<Ù¾Ù†Ø¬Ø±Ù‡Ù´ Ù¾Ø§Ù¾Ø§Ù¾>",
+DlgLnkTargetBlank	: "Ù¾Ù†Ø¬Ø±Ù‡Ù´ Ø¯ÛŒÚ¯Ø± (_blank)",
+DlgLnkTargetParent	: "Ù¾Ù†Ø¬Ø±Ù‡Ù´ ÙˆØ§Ù„Ø¯ (_parent)",
+DlgLnkTargetSelf	: "Ù‡Ù…Ø§Ù† Ù¾Ù†Ø¬Ø±Ù‡ (_self)",
+DlgLnkTargetTop		: "Ø¨Ø§Ù„Ø§ØªØ±ÛŒÙ† Ù¾Ù†Ø¬Ø±Ù‡ (_top)",
+DlgLnkTargetFrameName	: "Ù†Ø§Ù… ÙØ±ÛŒÙ… Ù…Ù‚ØµØ¯",
+DlgLnkPopWinName	: "Ù†Ø§Ù… Ù¾Ù†Ø¬Ø±Ù‡Ù´ Ù¾Ø§Ù¾Ø§Ù¾",
+DlgLnkPopWinFeat	: "ÙˆÛŒÚ˜Ú¯ÛŒÙ‡Ø§ÛŒ Ù¾Ù†Ø¬Ø±Ù‡Ù´ Ù¾Ø§Ù¾Ø§Ù¾",
+DlgLnkPopResize		: "Ù‚Ø§Ø¨Ù„ ØªØºÛŒÛŒØ± Ø§Ù†Ø¯Ø§Ø²Ù‡",
+DlgLnkPopLocation	: "Ù†ÙˆØ§Ø± Ù…ÙˆÙ‚Ø¹ÛŒØª",
+DlgLnkPopMenu		: "Ù†ÙˆØ§Ø± Ù…Ù†Ùˆ",
+DlgLnkPopScroll		: "Ù…ÛŒÙ„Ù‡â€ŒÙ‡Ø§ÛŒ Ù¾ÛŒÙ…Ø§ÛŒØ´",
+DlgLnkPopStatus		: "Ù†ÙˆØ§Ø± ÙˆØ¶Ø¹ÛŒØª",
+DlgLnkPopToolbar	: "Ù†ÙˆØ§Ø±Ø§Ø¨Ø²Ø§Ø±",
+DlgLnkPopFullScrn	: "ØªÙ…Ø§Ù…â€ŒØµÙØ­Ù‡ (IE)",
+DlgLnkPopDependent	: "ÙˆØ§Ø¨Ø³ØªÙ‡ (Netscape)",
+DlgLnkPopWidth		: "Ù¾Ù‡Ù†Ø§",
+DlgLnkPopHeight		: "Ø¯Ø±Ø§Ø²Ø§",
+DlgLnkPopLeft		: "Ù…ÙˆÙ‚Ø¹ÛŒØª ÙÚ†Ù¾",
+DlgLnkPopTop		: "Ù…ÙˆÙ‚Ø¹ÛŒØª ÙØ¨Ø§Ù„Ø§",
+
+DlnLnkMsgNoUrl		: "Ù„Ø·ÙØ§ URL Ù¾ÛŒÙˆÙ†Ø¯ Ø±Ø§ Ø¨Ù†ÙˆÛŒØ³ÛŒØ¯",
+DlnLnkMsgNoEMail	: "Ù„Ø·ÙØ§ Ù†Ø´Ø§Ù†ÛŒ Ù¾Ø³Øª Ø§Ù„Ú©ØªØ±ÙˆÙ†ÛŒÚ©ÛŒ Ø±Ø§ Ø¨Ù†ÙˆÛŒØ³ÛŒØ¯",
+DlnLnkMsgNoAnchor	: "Ù„Ø·ÙØ§ Ù„Ù†Ú¯Ø±ÛŒ Ø±Ø§ Ø¨Ø±Ú¯Ø²ÛŒÙ†ÛŒØ¯",
+DlnLnkMsgInvPopName	: "Ù†Ø§Ù… Ù¾Ù†Ø¬Ø±Ù‡Ù´ Ù¾Ø§Ù¾Ø§Ù¾ Ø¨Ø§ÛŒØ¯ Ø¨Ø§ ÛŒÚ© Ù†ÙˆÛŒØ³Ù‡Ù´ Ø§Ù„ÙØ¨Ø§ÛŒÛŒ Ø¢ØºØ§Ø² Ú¯Ø±Ø¯Ø¯ Ùˆ Ù†Ø¨Ø§ÛŒØ¯ ÙØ§ØµÙ„Ù‡â€ŒÙ‡Ø§ÛŒ Ø®Ø§Ù„ÛŒ Ø¯Ø± Ø¢Ù† Ø¨Ø§Ø´Ù†Ø¯",
+
+// Color Dialog
+DlgColorTitle		: "Ú¯Ø²ÛŒÙ†Ø´ Ø±Ù†Ú¯",
+DlgColorBtnClear	: "Ù¾Ø§Ú©â€ŒÚ©Ø±Ø¯Ù†",
+DlgColorHighlight	: "Ù†Ù…ÙˆÙ†Ù‡",
+DlgColorSelected	: "Ø¨Ø±Ú¯Ø²ÛŒØ¯Ù‡",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Ú¯Ù†Ø¬Ø§Ù†Ø¯Ù† Ø®Ù†Ø¯Ø§Ù†Ú©",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Ú¯Ø²ÛŒÙ†Ø´ Ù†ÙˆÛŒØ³Ù‡Ù´â€ŒÙˆÛŒÚ˜Ù‡",
+
+// Table Dialog
+DlgTableTitle		: "ÙˆÛŒÚ˜Ú¯ÛŒÙ‡Ø§ÛŒ Ø¬Ø¯ÙˆÙ„",
+DlgTableRows		: "Ø³Ø·Ø±Ù‡Ø§",
+DlgTableColumns		: "Ø³ØªÙˆÙ†Ù‡Ø§",
+DlgTableBorder		: "Ø§Ù†Ø¯Ø§Ø²Ù‡Ù´ Ù„Ø¨Ù‡",
+DlgTableAlign		: "Ú†ÛŒÙ†Ø´",
+DlgTableAlignNotSet	: "<ØªØ¹ÛŒÙ†â€ŒÙ†Ø´Ø¯Ù‡>",
+DlgTableAlignLeft	: "Ú†Ù¾",
+DlgTableAlignCenter	: "ÙˆØ³Ø·",
+DlgTableAlignRight	: "Ø±Ø§Ø³Øª",
+DlgTableWidth		: "Ù¾Ù‡Ù†Ø§",
+DlgTableWidthPx		: "Ù¾ÛŒÚ©Ø³Ù„",
+DlgTableWidthPc		: "Ø¯Ø±ØµØ¯",
+DlgTableHeight		: "Ø¯Ø±Ø§Ø²Ø§",
+DlgTableCellSpace	: "ÙØ§ØµÙ„Ù‡Ù´ Ù…ÛŒØ§Ù† Ø³Ù„ÙˆÙ„Ù‡Ø§",
+DlgTableCellPad		: "ÙØ§ØµÙ„Ù‡Ù´ Ù¾Ø±Ø´Ø¯Ù‡ Ø¯Ø± Ø³Ù„ÙˆÙ„",
+DlgTableCaption		: "Ø¹Ù†ÙˆØ§Ù†",
+DlgTableSummary		: "Ø®Ù„Ø§ØµÙ‡",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "ÙˆÛŒÚ˜Ú¯ÛŒÙ‡Ø§ÛŒ Ø³Ù„ÙˆÙ„",
+DlgCellWidth		: "Ù¾Ù‡Ù†Ø§",
+DlgCellWidthPx		: "Ù¾ÛŒÚ©Ø³Ù„",
+DlgCellWidthPc		: "Ø¯Ø±ØµØ¯",
+DlgCellHeight		: "Ø¯Ø±Ø§Ø²Ø§",
+DlgCellWordWrap		: "Ø´Ú©Ø³ØªÙ† ÙˆØ§Ú˜Ù‡â€ŒÙ‡Ø§",
+DlgCellWordWrapNotSet	: "<ØªØ¹ÛŒÙ†â€ŒÙ†Ø´Ø¯Ù‡>",
+DlgCellWordWrapYes	: "Ø¨Ù„Ù‡",
+DlgCellWordWrapNo	: "Ø®ÛŒØ±",
+DlgCellHorAlign		: "Ú†ÛŒÙ†Ø´ ÙØ§ÙÙ‚ÛŒ",
+DlgCellHorAlignNotSet	: "<ØªØ¹ÛŒÙ†â€ŒÙ†Ø´Ø¯Ù‡>",
+DlgCellHorAlignLeft	: "Ú†Ù¾",
+DlgCellHorAlignCenter	: "ÙˆØ³Ø·",
+DlgCellHorAlignRight: "Ø±Ø§Ø³Øª",
+DlgCellVerAlign		: "Ú†ÛŒÙ†Ø´ ÙØ¹Ù…ÙˆØ¯ÛŒ",
+DlgCellVerAlignNotSet	: "<ØªØ¹ÛŒÙ†â€ŒÙ†Ø´Ø¯Ù‡>",
+DlgCellVerAlignTop	: "Ø¨Ø§Ù„Ø§",
+DlgCellVerAlignMiddle	: "Ù…ÛŒØ§Ù†",
+DlgCellVerAlignBottom	: "Ù¾Ø§Ø¦ÛŒÙ†",
+DlgCellVerAlignBaseline	: "Ø®Ø·â€ŒÙ¾Ø§ÛŒÙ‡",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "Ú¯Ø³ØªØ±Ø¯Ú¯ÛŒ Ø³Ø·Ø±Ù‡Ø§",
+DlgCellCollSpan		: "Ú¯Ø³ØªØ±Ø¯Ú¯ÛŒ Ø³ØªÙˆÙ†Ù‡Ø§",
+DlgCellBackColor	: "Ø±Ù†Ú¯ Ù¾Ø³â€ŒØ²Ù…ÛŒÙ†Ù‡",
+DlgCellBorderColor	: "Ø±Ù†Ú¯ Ù„Ø¨Ù‡",
+DlgCellBtnSelect	: "Ø¨Ø±Ú¯Ø²ÛŒÙ†ÛŒØ¯...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Ø¬Ø³ØªØ¬Ùˆ Ùˆ Ø¬Ø§ÛŒÚ¯Ø²ÛŒÙ†ÛŒ",
+
+// Find Dialog
+DlgFindTitle		: "ÛŒØ§ÙØªÙ†",
+DlgFindFindBtn		: "ÛŒØ§ÙØªÙ†",
+DlgFindNotFoundMsg	: "Ù…ØªÙ† Ù…ÙˆØ±Ø¯Ù†Ø¸Ø± ÛŒØ§ÙØª Ù†Ø´Ø¯.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Ø¬Ø§ÛŒÚ¯Ø²ÛŒÙ†ÛŒ",
+DlgReplaceFindLbl		: "Ú†Ù‡â€ŒÚ†ÛŒØ² Ø±Ø§ Ù…ÛŒâ€ŒÛŒØ§Ø¨ÛŒØ¯:",
+DlgReplaceReplaceLbl	: "Ø¬Ø§ÛŒÚ¯Ø²ÛŒÙ†ÛŒ Ø¨Ø§:",
+DlgReplaceCaseChk		: "Ù‡Ù…Ø³Ø§Ù†ÛŒ Ø¯Ø± Ø¨Ø²Ø±Ú¯ÛŒ Ùˆ Ú©ÙˆÚ†Ú©ÛŒ Ù†ÙˆÛŒØ³Ù‡â€ŒÙ‡Ø§",
+DlgReplaceReplaceBtn	: "Ø¬Ø§ÛŒÚ¯Ø²ÛŒÙ†ÛŒ",
+DlgReplaceReplAllBtn	: "Ø¬Ø§ÛŒÚ¯Ø²ÛŒÙ†ÛŒ Ù‡Ù…Ù‡Ù´ ÛŒØ§ÙØªÙ‡â€ŒÙ‡Ø§",
+DlgReplaceWordChk		: "Ù‡Ù…Ø³Ø§Ù†ÛŒ Ø¨Ø§ ÙˆØ§Ú˜Ù‡Ù´ Ú©Ø§Ù…Ù„",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "ØªÙ†Ø¸ÛŒÙ…Ø§Øª Ø§Ù…Ù†ÛŒØªÛŒ Ù…Ø±ÙˆØ±Ú¯Ø± Ø´Ù…Ø§ Ø§Ø¬Ø§Ø²Ù‡ Ù†Ù…ÛŒâ€ŒØ¯Ù‡Ø¯ Ú©Ù‡ ÙˆÛŒØ±Ø§ÛŒØ´Ú¯Ø± Ø¨Ù‡ Ø·ÙˆØ± Ø®ÙˆØ¯Ú©Ø§Ø± Ø¹Ù…Ù„Ú©Ø±Ø¯Ù‡Ø§ÛŒ Ø¨Ø±Ø´ Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¯Ù‡Ø¯. Ù„Ø·ÙØ§ Ø¨Ø§ Ø¯Ú©Ù…Ù‡â€ŒÙ‡Ø§ÛŒ ØµÙØ­Ù‡â€ŒÚ©Ù„ÛŒØ¯ Ø§ÛŒÙ† Ú©Ø§Ø± Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¯Ù‡ÛŒØ¯ (Ctrl+X).",
+PasteErrorCopy	: "ØªÙ†Ø¸ÛŒÙ…Ø§Øª Ø§Ù…Ù†ÛŒØªÛŒ Ù…Ø±ÙˆØ±Ú¯Ø± Ø´Ù…Ø§ Ø§Ø¬Ø§Ø²Ù‡ Ù†Ù…ÛŒâ€ŒØ¯Ù‡Ø¯ Ú©Ù‡ ÙˆÛŒØ±Ø§ÛŒØ´Ú¯Ø± Ø¨Ù‡ Ø·ÙˆØ± Ø®ÙˆØ¯Ú©Ø§Ø± Ø¹Ù…Ù„Ú©Ø±Ø¯Ù‡Ø§ÛŒ Ú©Ù¾ÛŒâ€ŒÚ©Ø±Ø¯Ù† Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¯Ù‡Ø¯. Ù„Ø·ÙØ§ Ø¨Ø§ Ø¯Ú©Ù…Ù‡â€ŒÙ‡Ø§ÛŒ ØµÙØ­Ù‡â€ŒÚ©Ù„ÛŒØ¯ Ø§ÛŒÙ† Ú©Ø§Ø± Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¯Ù‡ÛŒØ¯ (Ctrl+C).",
+
+PasteAsText		: "Ú†Ø³Ø¨Ø§Ù†Ø¯Ù† Ø¨Ù‡ Ø¹Ù†ÙˆØ§Ù† Ù…ØªÙ† ÙØ³Ø§Ø¯Ù‡",
+PasteFromWord	: "Ú†Ø³Ø¨Ø§Ù†Ø¯Ù† Ø§Ø² Word",
+
+DlgPasteMsg2	: "Ù„Ø·ÙØ§ Ù…ØªÙ† Ø±Ø§ Ø¨Ø§ Ú©Ù„ÛŒØ¯Ù‡Ø§ÛŒ (<STRONG>Ctrl+V</STRONG>) Ø¯Ø± Ø§ÛŒÙ† Ø¬Ø¹Ø¨Ù‡Ù´ Ù…ØªÙ†ÛŒ Ø¨Ú†Ø³Ø¨Ø§Ù†ÛŒØ¯ Ùˆ <STRONG>Ù¾Ø°ÛŒØ±Ø´</STRONG> Ø±Ø§ Ø¨Ø²Ù†ÛŒØ¯.",
+DlgPasteSec		: "Ø¨Ù‡ Ø®Ø§Ø·Ø± ØªÙ†Ø¸ÛŒÙ…Ø§Øª Ø§Ù…Ù†ÛŒØªÛŒ Ù…Ø±ÙˆØ±Ú¯Ø± Ø´Ù…Ø§ØŒ ÙˆÛŒØ±Ø§ÛŒØ´Ú¯Ø± Ù†Ù…ÛŒâ€ŒØªÙˆØ§Ù†Ø¯ Ø¯Ø³ØªØ±Ø³ÛŒ Ù…Ø³ØªÙ‚ÛŒÙ… Ø¨Ù‡ Ø¯Ø§Ø¯Ù‡â€ŒÙ‡Ø§ÛŒ clipboard Ø¯Ø§Ø´ØªÙ‡ Ø¨Ø§Ø´Ø¯. Ø´Ù…Ø§ Ø¨Ø§ÛŒØ¯ Ø¯ÙˆØ¨Ø§Ø±Ù‡ Ø¢Ù†Ø±Ø§ Ø¯Ø± Ø§ÛŒÙ† Ù¾Ù†Ø¬Ø±Ù‡ Ø¨Ú†Ø³Ø¨Ø§Ù†ÛŒØ¯.",
+DlgPasteIgnoreFont		: "Ú†Ø´Ù…â€ŒÙ¾ÙˆØ´ÛŒ Ø§Ø² ØªØ¹Ø§Ø±ÛŒÙ Ù†ÙˆØ¹ Ù‚Ù„Ù…",
+DlgPasteRemoveStyles	: "Ú†Ø´Ù…â€ŒÙ¾ÙˆØ´ÛŒ Ø§Ø² ØªØ¹Ø§Ø±ÛŒÙ Ø³Ø¨Ú© (style)",
+
+// Color Picker
+ColorAutomatic	: "Ø®ÙˆØ¯Ú©Ø§Ø±",
+ColorMoreColors	: "Ø±Ù†Ú¯Ù‡Ø§ÛŒ Ø¨ÛŒØ´ØªØ±...",
+
+// Document Properties
+DocProps		: "ÙˆÛŒÚ˜Ú¯ÛŒÙ‡Ø§ÛŒ Ø³Ù†Ø¯",
+
+// Anchor Dialog
+DlgAnchorTitle		: "ÙˆÛŒÚ˜Ú¯ÛŒÙ‡Ø§ÛŒ Ù„Ù†Ú¯Ø±",
+DlgAnchorName		: "Ù†Ø§Ù… Ù„Ù†Ú¯Ø±",
+DlgAnchorErrorName	: "Ù„Ø·ÙØ§ Ù†Ø§Ù… Ù„Ù†Ú¯Ø± Ø±Ø§ Ø¨Ù†ÙˆÛŒØ³ÛŒØ¯",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Ø¯Ø± ÙˆØ§Ú˜Ù‡â€ŒÙ†Ø§Ù…Ù‡ ÛŒØ§ÙØª Ù†Ø´Ø¯",
+DlgSpellChangeTo		: "ØªØºÛŒÛŒØ± Ø¨Ù‡",
+DlgSpellBtnIgnore		: "Ú†Ø´Ù…â€ŒÙ¾ÙˆØ´ÛŒ",
+DlgSpellBtnIgnoreAll	: "Ú†Ø´Ù…â€ŒÙ¾ÙˆØ´ÛŒ Ù‡Ù…Ù‡",
+DlgSpellBtnReplace		: "Ø¬Ø§ÛŒÚ¯Ø²ÛŒÙ†ÛŒ",
+DlgSpellBtnReplaceAll	: "Ø¬Ø§ÛŒÚ¯Ø²ÛŒÙ†ÛŒ Ù‡Ù…Ù‡",
+DlgSpellBtnUndo			: "ÙˆØ§Ú†ÛŒÙ†Ø´",
+DlgSpellNoSuggestions	: "- Ù¾ÛŒØ´Ù†Ù‡Ø§Ø¯ÛŒ Ù†ÛŒØ³Øª -",
+DlgSpellProgress		: "Ø¨Ø±Ø±Ø³ÛŒ Ø§Ù…Ù„Ø§ Ø¯Ø± Ø­Ø§Ù„ Ø§Ù†Ø¬Ø§Ù…...",
+DlgSpellNoMispell		: "Ø¨Ø±Ø±Ø³ÛŒ Ø§Ù…Ù„Ø§ Ø§Ù†Ø¬Ø§Ù… Ø´Ø¯. Ù‡ÛŒÚ† ØºÙ„Ø·â€ŒØ§Ù…Ù„Ø§Ø¦ÛŒ ÛŒØ§ÙØª Ù†Ø´Ø¯",
+DlgSpellNoChanges		: "Ø¨Ø±Ø±Ø³ÛŒ Ø§Ù…Ù„Ø§ Ø§Ù†Ø¬Ø§Ù… Ø´Ø¯. Ù‡ÛŒÚ† ÙˆØ§Ú˜Ù‡â€ŒØ§ÛŒ ØªØºÛŒÛŒØ± Ù†ÛŒØ§ÙØª",
+DlgSpellOneChange		: "Ø¨Ø±Ø±Ø³ÛŒ Ø§Ù…Ù„Ø§ Ø§Ù†Ø¬Ø§Ù… Ø´Ø¯. ÛŒÚ© ÙˆØ§Ú˜Ù‡ ØªØºÛŒÛŒØ± ÛŒØ§ÙØª",
+DlgSpellManyChanges		: "Ø¨Ø±Ø±Ø³ÛŒ Ø§Ù…Ù„Ø§ Ø§Ù†Ø¬Ø§Ù… Ø´Ø¯. %1 ÙˆØ§Ú˜Ù‡ ØªØºÛŒÛŒØ± ÛŒØ§ÙØª",
+
+IeSpellDownload			: "Ø¨Ø±Ø±Ø³ÛŒâ€ŒÚ©Ù†Ù†Ø¯Ù‡Ù´ Ø§Ù…Ù„Ø§ Ù†ØµØ¨ Ù†Ø´Ø¯Ù‡ Ø§Ø³Øª. Ø¢ÛŒØ§ Ù…ÛŒâ€ŒØ®ÙˆØ§Ù‡ÛŒØ¯ Ø¢Ù† Ø±Ø§ Ù‡Ù…â€ŒØ§Ú©Ù†ÙˆÙ† Ø¯Ø±ÛŒØ§ÙØª Ú©Ù†ÛŒØ¯ØŸ",
+
+// Button Dialog
+DlgButtonText		: "Ù…ØªÙ† (Ù…Ù‚Ø¯Ø§Ø±)",
+DlgButtonType		: "Ù†ÙˆØ¹",
+DlgButtonTypeBtn	: "Ø¯Ú©Ù…Ù‡",
+DlgButtonTypeSbm	: "Submit",
+DlgButtonTypeRst	: "Ø¨Ø§Ø²Ù†Ø´Ø§Ù†ÛŒ (Reset)",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Ù†Ø§Ù…",
+DlgCheckboxValue	: "Ù…Ù‚Ø¯Ø§Ø±",
+DlgCheckboxSelected	: "Ø¨Ø±Ú¯Ø²ÛŒØ¯Ù‡",
+
+// Form Dialog
+DlgFormName		: "Ù†Ø§Ù…",
+DlgFormAction	: "Ø±ÙˆÛŒØ¯Ø§Ø¯",
+DlgFormMethod	: "Ù…ØªØ¯",
+
+// Select Field Dialog
+DlgSelectName		: "Ù†Ø§Ù…",
+DlgSelectValue		: "Ù…Ù‚Ø¯Ø§Ø±",
+DlgSelectSize		: "Ø§Ù†Ø¯Ø§Ø²Ù‡",
+DlgSelectLines		: "Ø®Ø·ÙˆØ·",
+DlgSelectChkMulti	: "Ú¯Ø²ÛŒÙ†Ø´ Ú†Ù†Ø¯Ú¯Ø§Ù†Ù‡ ÙØ±Ø§Ù‡Ù… Ø¨Ø§Ø´Ø¯",
+DlgSelectOpAvail	: "Ú¯Ø²ÛŒÙ†Ù‡â€ŒÙ‡Ø§ÛŒ Ø¯Ø±Ø¯Ø³ØªØ±Ø³",
+DlgSelectOpText		: "Ù…ØªÙ†",
+DlgSelectOpValue	: "Ù…Ù‚Ø¯Ø§Ø±",
+DlgSelectBtnAdd		: "Ø§ÙØ²ÙˆØ¯Ù†",
+DlgSelectBtnModify	: "ÙˆÛŒØ±Ø§ÛŒØ´",
+DlgSelectBtnUp		: "Ø¨Ø§Ù„Ø§",
+DlgSelectBtnDown	: "Ù¾Ø§Ø¦ÛŒÙ†",
+DlgSelectBtnSetValue : "ØªÙ†Ø¸ÛŒÙ… Ø¨Ù‡ Ø¹Ù†ÙˆØ§Ù† Ù…Ù‚Ø¯Ø§Ø± ÙØ¨Ø±Ú¯Ø²ÛŒØ¯Ù‡",
+DlgSelectBtnDelete	: "Ù¾Ø§Ú©â€ŒÚ©Ø±Ø¯Ù†",
+
+// Textarea Dialog
+DlgTextareaName	: "Ù†Ø§Ù…",
+DlgTextareaCols	: "Ø³ØªÙˆÙ†Ù‡Ø§",
+DlgTextareaRows	: "Ø³Ø·Ø±Ù‡Ø§",
+
+// Text Field Dialog
+DlgTextName			: "Ù†Ø§Ù…",
+DlgTextValue		: "Ù…Ù‚Ø¯Ø§Ø±",
+DlgTextCharWidth	: "Ù¾Ù‡Ù†Ø§ÛŒ Ù†ÙˆÛŒØ³Ù‡",
+DlgTextMaxChars		: "Ø¨ÛŒØ´ÛŒÙ†Ù‡Ù´ Ù†ÙˆÛŒØ³Ù‡â€ŒÙ‡Ø§",
+DlgTextType			: "Ù†ÙˆØ¹",
+DlgTextTypeText		: "Ù…ØªÙ†",
+DlgTextTypePass		: "Ú¯Ø°Ø±ÙˆØ§Ú˜Ù‡",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Ù†Ø§Ù…",
+DlgHiddenValue	: "Ù…Ù‚Ø¯Ø§Ø±",
+
+// Bulleted List Dialog
+BulletedListProp	: "ÙˆÛŒÚ˜Ú¯ÛŒÙ‡Ø§ÛŒ ÙÙ‡Ø±Ø³Øª Ù†Ù‚Ø·Ù‡â€ŒØ§ÛŒ",
+NumberedListProp	: "ÙˆÛŒÚ˜Ú¯ÛŒÙ‡Ø§ÛŒ ÙÙ‡Ø±Ø³Øª Ø´Ù…Ø§Ø±Ù‡â€ŒØ¯Ø§Ø±",
+DlgLstStart			: "Ø¢ØºØ§Ø²",
+DlgLstType			: "Ù†ÙˆØ¹",
+DlgLstTypeCircle	: "Ø¯Ø§ÛŒØ±Ù‡",
+DlgLstTypeDisc		: "Ù‚Ø±Øµ",
+DlgLstTypeSquare	: "Ú†Ù‡Ø§Ø±Ú¯ÙˆØ´",
+DlgLstTypeNumbers	: "Ø´Ù…Ø§Ø±Ù‡â€ŒÙ‡Ø§ (1ØŒ 2ØŒ 3)",
+DlgLstTypeLCase		: "Ù†ÙˆÛŒØ³Ù‡â€ŒÙ‡Ø§ÛŒ Ú©ÙˆÚ†Ú© (aØŒ bØŒ c)",
+DlgLstTypeUCase		: "Ù†ÙˆÛŒØ³Ù‡â€ŒÙ‡Ø§ÛŒ Ø¨Ø²Ø±Ú¯ (AØŒ BØŒ C)",
+DlgLstTypeSRoman	: "Ø´Ù…Ø§Ø±Ú¯Ø§Ù† Ø±ÙˆÙ…ÛŒ Ú©ÙˆÚ†Ú© (iØŒ iiØŒ iii)",
+DlgLstTypeLRoman	: "Ø´Ù…Ø§Ø±Ú¯Ø§Ù† Ø±ÙˆÙ…ÛŒ Ø¨Ø²Ø±Ú¯ (IØŒ IIØŒ III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Ø¹Ù…ÙˆÙ…ÛŒ",
+DlgDocBackTab		: "Ù¾Ø³â€ŒØ²Ù…ÛŒÙ†Ù‡",
+DlgDocColorsTab		: "Ø±Ù†Ú¯Ù‡Ø§ Ùˆ Ø­Ø§Ø´ÛŒÙ‡â€ŒÙ‡Ø§",
+DlgDocMetaTab		: "ÙØ±Ø§Ø¯Ø§Ø¯Ù‡",
+
+DlgDocPageTitle		: "Ø¹Ù†ÙˆØ§Ù† ØµÙØ­Ù‡",
+DlgDocLangDir		: "Ø¬Ù‡Øª Ø²Ø¨Ø§Ù†",
+DlgDocLangDirLTR	: "Ú†Ù¾ Ø¨Ù‡ Ø±Ø§Ø³Øª (LTR(",
+DlgDocLangDirRTL	: "Ø±Ø§Ø³Øª Ø¨Ù‡ Ú†Ù¾ (RTL(",
+DlgDocLangCode		: "Ú©Ø¯ Ø²Ø¨Ø§Ù†",
+DlgDocCharSet		: "Ø±Ù…Ø²Ú¯Ø°Ø§Ø±ÛŒ Ù†ÙˆÛŒØ³Ù‡â€ŒÚ¯Ø§Ù†",
+DlgDocCharSetCE		: "Ø§Ø±ÙˆÙ¾Ø§ÛŒ Ù…Ø±Ú©Ø²ÛŒ",
+DlgDocCharSetCT		: "Ú†ÛŒÙ†ÛŒ Ø±Ø³Ù…ÛŒ (Big5)",
+DlgDocCharSetCR		: "Ø³ÛŒØ±ÛŒÙ„ÛŒÚ©",
+DlgDocCharSetGR		: "ÛŒÙˆÙ†Ø§Ù†ÛŒ",
+DlgDocCharSetJP		: "Ú˜Ø§Ù¾Ù†ÛŒ",
+DlgDocCharSetKR		: "Ú©Ø±Ù‡â€ŒØ§ÛŒ",
+DlgDocCharSetTR		: "ØªØ±Ú©ÛŒ",
+DlgDocCharSetUN		: "ÛŒÙˆÙ†ÛŒÚ©ÙØ¯ (UTF-8)",
+DlgDocCharSetWE		: "Ø§Ø±ÙˆÙ¾Ø§ÛŒ ØºØ±Ø¨ÛŒ",
+DlgDocCharSetOther	: "Ø±Ù…Ø²Ú¯Ø°Ø§Ø±ÛŒ Ù†ÙˆÛŒØ³Ù‡â€ŒÚ¯Ø§Ù† Ø¯ÛŒÚ¯Ø±",
+
+DlgDocDocType		: "Ø¹Ù†ÙˆØ§Ù† Ù†ÙˆØ¹ Ø³Ù†Ø¯",
+DlgDocDocTypeOther	: "Ø¹Ù†ÙˆØ§Ù† Ù†ÙˆØ¹ Ø³Ù†Ø¯ Ø¯ÛŒÚ¯Ø±",
+DlgDocIncXHTML		: "Ø´Ø§Ù…Ù„ ØªØ¹Ø§Ø±ÛŒÙ XHTML",
+DlgDocBgColor		: "Ø±Ù†Ú¯ Ù¾Ø³â€ŒØ²Ù…ÛŒÙ†Ù‡",
+DlgDocBgImage		: "URL ØªØµÙˆÛŒØ± Ù¾Ø³â€ŒØ²Ù…ÛŒÙ†Ù‡",
+DlgDocBgNoScroll	: "Ù¾Ø³â€ŒØ²Ù…ÛŒÙ†Ù‡Ù´ Ù¾ÛŒÙ…Ø§ÛŒØ´â€ŒÙ†Ø§Ù¾Ø°ÛŒØ±",
+DlgDocCText			: "Ù…ØªÙ†",
+DlgDocCLink			: "Ù¾ÛŒÙˆÙ†Ø¯",
+DlgDocCVisited		: "Ù¾ÛŒÙˆÙ†Ø¯ Ù…Ø´Ø§Ù‡Ø¯Ù‡â€ŒØ´Ø¯Ù‡",
+DlgDocCActive		: "Ù¾ÛŒÙˆÙ†Ø¯ ÙØ¹Ø§Ù„",
+DlgDocMargins		: "Ø­Ø§Ø´ÛŒÙ‡â€ŒÙ‡Ø§ÛŒ ØµÙØ­Ù‡",
+DlgDocMaTop			: "Ø¨Ø§Ù„Ø§",
+DlgDocMaLeft		: "Ú†Ù¾",
+DlgDocMaRight		: "Ø±Ø§Ø³Øª",
+DlgDocMaBottom		: "Ù¾Ø§ÛŒÛŒÙ†",
+DlgDocMeIndex		: "Ú©Ù„ÛŒØ¯ÙˆØ§Ú˜Ú¯Ø§Ù† Ù†Ù…Ø§ÛŒÙ‡â€ŒÚ¯Ø°Ø§Ø±ÛŒ Ø³Ù†Ø¯ (Ø¨Ø§ Ú©Ø§Ù…Ø§ Ø¬Ø¯Ø§ Ø´ÙˆÙ†Ø¯)",
+DlgDocMeDescr		: "ØªÙˆØµÛŒÙ Ø³Ù†Ø¯",
+DlgDocMeAuthor		: "Ù†ÙˆÛŒØ³Ù†Ø¯Ù‡",
+DlgDocMeCopy		: "Ú©Ù¾ÛŒâ€ŒØ±Ø§ÛŒØª",
+DlgDocPreview		: "Ù¾ÛŒØ´â€ŒÙ†Ù…Ø§ÛŒØ´",
+
+// Templates Dialog
+Templates			: "Ø§Ù„Ú¯ÙˆÙ‡Ø§",
+DlgTemplatesTitle	: "Ø§Ù„Ú¯ÙˆÙ‡Ø§ÛŒ Ù…Ø­ØªÙˆÛŒØ§Øª",
+DlgTemplatesSelMsg	: "Ù„Ø·ÙØ§ Ø§Ù„Ú¯ÙˆÛŒ Ù…ÙˆØ±Ø¯Ù†Ø¸Ø± Ø±Ø§ Ø¨Ø±Ø§ÛŒ Ø¨Ø§Ø²Ú©Ø±Ø¯Ù† Ø¯Ø± ÙˆÛŒØ±Ø§ÛŒØ´Ú¯Ø± Ø¨Ø±Ú¯Ø²ÛŒÙ†ÛŒØ¯<br>(Ù…Ø­ØªÙˆÛŒØ§Øª Ú©Ù†ÙˆÙ†ÛŒ Ø§Ø² Ø¯Ø³Øª Ø®ÙˆØ§Ù‡Ù†Ø¯ Ø±ÙØª):",
+DlgTemplatesLoading	: "Ø¨Ø§Ø±Ú¯Ø°Ø§Ø±ÛŒ ÙÙ‡Ø±Ø³Øª Ø§Ù„Ú¯ÙˆÙ‡Ø§. Ù„Ø·ÙØ§ ØµØ¨Ø± Ú©Ù†ÛŒØ¯...",
+DlgTemplatesNoTpl	: "(Ø§Ù„Ú¯ÙˆØ¦ÛŒ ØªØ¹Ø±ÛŒÙ Ù†Ø´Ø¯Ù‡ Ø§Ø³Øª)",
+DlgTemplatesReplace	: "Ù…Ø­ØªÙˆÛŒØ§Øª Ú©Ù†ÙˆÙ†ÛŒ Ø¬Ø§ÛŒÚ¯Ø²ÛŒÙ† Ø´ÙˆÙ†Ø¯",
+
+// About Dialog
+DlgAboutAboutTab	: "Ø¯Ø±Ø¨Ø§Ø±Ù‡",
+DlgAboutBrowserInfoTab	: "Ø§Ø·Ù„Ø§Ø¹Ø§Øª Ù…Ø±ÙˆØ±Ú¯Ø±",
+DlgAboutLicenseTab	: "Ú¯ÙˆØ§Ù‡ÛŒÙ†Ø§Ù…Ù‡",
+DlgAboutVersion		: "Ù†Ú¯Ø§Ø±Ø´",
+DlgAboutInfo		: "Ø¨Ø±Ø§ÛŒ Ø¢Ú¯Ø§Ù‡ÛŒ Ø¨ÛŒØ´ØªØ± Ø¨Ù‡ Ø§ÛŒÙ† Ù†Ø´Ø§Ù†ÛŒ Ø¨Ø±ÙˆÛŒØ¯",
+
+// Div Dialog
+DlgDivGeneralTab	: "General",	//MISSING
+DlgDivAdvancedTab	: "Advanced",	//MISSING
+DlgDivStyle		: "Style",	//MISSING
+DlgDivInlineStyle	: "Inline Style",	//MISSING
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/bg.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/bg.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/bg.js	(revision 1481)
@@ -0,0 +1,540 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Bulgarian language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Ğ¡ĞºÑ€Ğ¸Ğ¹ Ğ¿Ğ°Ğ½ĞµĞ»Ğ° Ñ Ğ¸Ğ½ÑÑ‚Ñ€ÑƒĞ¼ĞµĞ½Ñ‚Ğ¸Ñ‚Ğµ",
+ToolbarExpand		: "ĞŸĞ¾ĞºĞ°Ğ¶Ğ¸ Ğ¿Ğ°Ğ½ĞµĞ»Ğ° Ñ Ğ¸Ğ½ÑÑ‚Ñ€ÑƒĞ¼ĞµĞ½Ñ‚Ğ¸Ñ‚Ğµ",
+
+// Toolbar Items and Context Menu
+Save				: "Ğ—Ğ°Ğ¿Ğ°Ğ·Ğ¸",
+NewPage				: "ĞĞ¾Ğ²Ğ° ÑÑ‚Ñ€Ğ°Ğ½Ğ¸Ñ†Ğ°",
+Preview				: "ĞŸÑ€ĞµĞ´Ğ²Ğ°Ñ€Ğ¸Ñ‚ĞµĞ»ĞµĞ½ Ğ¸Ğ·Ğ³Ğ»ĞµĞ´",
+Cut					: "Ğ˜Ğ·Ñ€ĞµĞ¶Ğ¸",
+Copy				: "Ğ—Ğ°Ğ¿Ğ°Ğ¼ĞµÑ‚Ğ¸",
+Paste				: "Ğ’Ğ¼ÑŠĞºĞ½Ğ¸",
+PasteText			: "Ğ’Ğ¼ÑŠĞºĞ½Ğ¸ ÑĞ°Ğ¼Ğ¾ Ñ‚ĞµĞºÑÑ‚",
+PasteWord			: "Ğ’Ğ¼ÑŠĞºĞ½Ğ¸ Ğ¾Ñ‚ MS Word",
+Print				: "ĞŸĞµÑ‡Ğ°Ñ‚",
+SelectAll			: "Ğ¡ĞµĞ»ĞµĞºÑ‚Ğ¸Ñ€Ğ°Ğ¹ Ğ²ÑĞ¸Ñ‡ĞºĞ¾",
+RemoveFormat		: "Ğ˜Ğ·Ñ‚Ñ€Ğ¸Ğ¹ Ñ„Ğ¾Ñ€Ğ¼Ğ°Ñ‚Ğ¸Ñ€Ğ°Ğ½ĞµÑ‚Ğ¾",
+InsertLinkLbl		: "Ğ’Ñ€ÑŠĞ·ĞºĞ°",
+InsertLink			: "Ğ”Ğ¾Ğ±Ğ°Ğ²Ğ¸/Ğ ĞµĞ´Ğ°ĞºÑ‚Ğ¸Ñ€Ğ°Ğ¹ Ğ²Ñ€ÑŠĞ·ĞºĞ°",
+RemoveLink			: "Ğ˜Ğ·Ñ‚Ñ€Ğ¸Ğ¹ Ğ²Ñ€ÑŠĞ·ĞºĞ°",
+VisitLink			: "Open Link",	//MISSING
+Anchor				: "Ğ”Ğ¾Ğ±Ğ°Ğ²Ğ¸/Ğ ĞµĞ´Ğ°ĞºÑ‚Ğ¸Ñ€Ğ°Ğ¹ ĞºĞ¾Ñ‚Ğ²Ğ°",
+AnchorDelete		: "Remove Anchor",	//MISSING
+InsertImageLbl		: "Ğ˜Ğ·Ğ¾Ğ±Ñ€Ğ°Ğ¶ĞµĞ½Ğ¸Ğµ",
+InsertImage			: "Ğ”Ğ¾Ğ±Ğ°Ğ²Ğ¸/Ğ ĞµĞ´Ğ°ĞºÑ‚Ğ¸Ñ€Ğ°Ğ¹ Ğ¸Ğ·Ğ¾Ğ±Ñ€Ğ°Ğ¶ĞµĞ½Ğ¸Ğµ",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Ğ”Ğ¾Ğ±Ğ°Ğ²Ğ¸/Ğ ĞµĞ´Ğ°ĞºÑ‚Ğ¸Ğ°Ğ¹ Flash Ğ¾Ğ±ĞµĞºÑ‚",
+InsertTableLbl		: "Ğ¢Ğ°Ğ±Ğ»Ğ¸Ñ†Ğ°",
+InsertTable			: "Ğ”Ğ¾Ğ±Ğ°Ğ²Ğ¸/Ğ ĞµĞ´Ğ°ĞºÑ‚Ğ¸Ñ€Ğ°Ğ¹ Ñ‚Ğ°Ğ±Ğ»Ğ¸Ñ†Ğ°",
+InsertLineLbl		: "Ğ›Ğ¸Ğ½Ğ¸Ñ",
+InsertLine			: "Ğ’Ğ¼ÑŠĞºĞ½Ğ¸ Ñ…Ğ¾Ñ€Ğ¸Ğ·Ğ¾Ğ½Ñ‚Ğ°Ğ»Ğ½Ğ° Ğ»Ğ¸Ğ½Ğ¸Ñ",
+InsertSpecialCharLbl: "Ğ¡Ğ¿ĞµÑ†Ğ¸Ğ°Ğ»ĞµĞ½ ÑĞ¸Ğ¼Ğ²Ğ¾Ğ»",
+InsertSpecialChar	: "Ğ’Ğ¼ÑŠĞºĞ½Ğ¸ ÑĞ¿ĞµÑ†Ğ¸Ğ°Ğ»ĞµĞ½ ÑĞ¸Ğ¼Ğ²Ğ¾Ğ»",
+InsertSmileyLbl		: "Ğ£ÑĞ¼Ğ¸Ğ²ĞºĞ°",
+InsertSmiley		: "Ğ”Ğ¾Ğ±Ğ°Ğ²Ğ¸ ÑƒÑĞ¼Ğ¸Ğ²ĞºĞ°",
+About				: "Ğ—Ğ° FCKeditor",
+Bold				: "Ğ£Ğ´ĞµĞ±ĞµĞ»ĞµĞ½",
+Italic				: "ĞšÑƒÑ€ÑĞ¸Ğ²",
+Underline			: "ĞŸĞ¾Ğ´Ñ‡ĞµÑ€Ñ‚Ğ°Ğ½",
+StrikeThrough		: "Ğ—Ğ°Ñ‡ĞµÑ€Ñ‚Ğ°Ğ½",
+Subscript			: "Ğ˜Ğ½Ğ´ĞµĞºÑ Ğ·Ğ° Ğ±Ğ°Ğ·Ğ°",
+Superscript			: "Ğ˜Ğ½Ğ´ĞµĞºÑ Ğ·Ğ° ÑÑ‚ĞµĞ¿ĞµĞ½",
+LeftJustify			: "ĞŸĞ¾Ğ´Ñ€Ğ°Ğ²Ğ½ÑĞ²Ğ°Ğ½Ğµ Ğ² Ğ»ÑĞ²Ğ¾",
+CenterJustify		: "ĞŸĞ¾Ğ´Ñ€Ğ°Ğ²Ğ½ÑĞ²Ğ½Ğµ Ğ² ÑÑ€ĞµĞ´Ğ°Ñ‚Ğ°",
+RightJustify		: "ĞŸĞ¾Ğ´Ñ€Ğ°Ğ²Ğ½ÑĞ²Ğ°Ğ½Ğµ Ğ² Ğ´ÑÑĞ½Ğ¾",
+BlockJustify		: "Ğ”Ğ²ÑƒÑÑ‚Ñ€Ğ°Ğ½Ğ½Ğ¾ Ğ¿Ğ¾Ğ´Ñ€Ğ°Ğ²Ğ½ÑĞ²Ğ°Ğ½Ğµ",
+DecreaseIndent		: "ĞĞ°Ğ¼Ğ°Ğ»Ğ¸ Ğ¾Ñ‚ÑÑ‚ÑŠĞ¿Ğ°",
+IncreaseIndent		: "Ğ£Ğ²ĞµĞ»Ğ¸Ñ‡Ğ¸ Ğ¾Ñ‚ÑÑ‚ÑŠĞ¿Ğ°",
+Blockquote			: "Blockquote",	//MISSING
+CreateDiv			: "Create Div Container",	//MISSING
+EditDiv				: "Edit Div Container",	//MISSING
+DeleteDiv			: "Remove Div Container",	//MISSING
+Undo				: "ĞÑ‚Ğ¼ĞµĞ½Ğ¸",
+Redo				: "ĞŸĞ¾Ğ²Ñ‚Ğ¾Ñ€Ğ¸",
+NumberedListLbl		: "ĞÑƒĞ¼ĞµÑ€Ğ¸Ñ€Ğ°Ğ½ ÑĞ¿Ğ¸ÑÑŠĞº",
+NumberedList		: "Ğ”Ğ¾Ğ±Ğ°Ğ²Ğ¸/Ğ˜Ğ·Ñ‚Ñ€Ğ¸Ğ¹ Ğ½ÑƒĞ¼ĞµÑ€Ğ¸Ñ€Ğ°Ğ½ ÑĞ¿Ğ¸ÑÑŠĞº",
+BulletedListLbl		: "ĞĞµĞ½ÑƒĞ¼ĞµÑ€Ğ¸Ñ€Ğ°Ğ½ ÑĞ¿Ğ¸ÑÑŠĞº",
+BulletedList		: "Ğ”Ğ¾Ğ±Ğ°Ğ²Ğ¸/Ğ˜Ğ·Ñ‚Ñ€Ğ¸Ğ¹ Ğ½ĞµĞ½ÑƒĞ¼ĞµÑ€Ğ¸Ñ€Ğ°Ğ½ ÑĞ¿Ğ¸ÑÑŠĞº",
+ShowTableBorders	: "ĞŸĞ¾ĞºĞ°Ğ¶Ğ¸ Ñ€Ğ°Ğ¼ĞºĞ¸Ñ‚Ğµ Ğ½Ğ° Ñ‚Ğ°Ğ±Ğ»Ğ¸Ñ†Ğ°Ñ‚Ğ°",
+ShowDetails			: "ĞŸĞ¾ĞºĞ°Ğ¶Ğ¸ Ğ¿Ğ¾Ğ´Ñ€Ğ¾Ğ±Ğ½Ğ¾ÑÑ‚Ğ¸",
+Style				: "Ğ¡Ñ‚Ğ¸Ğ»",
+FontFormat			: "Ğ¤Ğ¾Ñ€Ğ¼Ğ°Ñ‚",
+Font				: "Ğ¨Ñ€Ğ¸Ñ„Ñ‚",
+FontSize			: "Ğ Ğ°Ğ·Ğ¼ĞµÑ€",
+TextColor			: "Ğ¦Ğ²ÑÑ‚ Ğ½Ğ° Ñ‚ĞµĞºÑÑ‚Ğ°",
+BGColor				: "Ğ¦Ğ²ÑÑ‚ Ğ½Ğ° Ñ„Ğ¾Ğ½Ğ°",
+Source				: "ĞšĞ¾Ğ´",
+Find				: "Ğ¢ÑŠÑ€ÑĞ¸",
+Replace				: "Ğ—Ğ°Ğ¼ĞµÑÑ‚Ğ¸",
+SpellCheck			: "ĞŸÑ€Ğ¾Ğ²ĞµÑ€Ğ¸ Ğ¿Ñ€Ğ°Ğ²Ğ¾Ğ¿Ğ¸ÑĞ°",
+UniversalKeyboard	: "Ğ£Ğ½Ğ¸Ğ²ĞµÑ€ÑĞ°Ğ»Ğ½Ğ° ĞºĞ»Ğ°Ğ²Ğ¸Ğ°Ñ‚ÑƒÑ€Ğ°",
+PageBreakLbl		: "ĞĞ¾Ğ² Ñ€ĞµĞ´",
+PageBreak			: "Ğ’Ğ¼ÑŠĞºĞ½Ğ¸ Ğ½Ğ¾Ğ² Ñ€ĞµĞ´",
+
+Form			: "Ğ¤Ğ¾Ñ€Ğ¼ÑƒĞ»ÑÑ€",
+Checkbox		: "ĞŸĞ¾Ğ»Ğµ Ğ·Ğ° Ğ¾Ñ‚Ğ¼ĞµÑ‚ĞºĞ°",
+RadioButton		: "ĞŸĞ¾Ğ»Ğµ Ğ·Ğ° Ğ¾Ğ¿Ñ†Ğ¸Ñ",
+TextField		: "Ğ¢ĞµĞºÑÑ‚Ğ¾Ğ²Ğ¾ Ğ¿Ğ¾Ğ»Ğµ",
+Textarea		: "Ğ¢ĞµĞºÑÑ‚Ğ¾Ğ²Ğ° Ğ¾Ğ±Ğ»Ğ°ÑÑ‚",
+HiddenField		: "Ğ¡ĞºÑ€Ğ¸Ñ‚Ğ¾ Ğ¿Ğ¾Ğ»Ğµ",
+Button			: "Ğ‘ÑƒÑ‚Ğ¾Ğ½",
+SelectionField	: "ĞŸĞ°Ğ´Ğ°Ñ‰Ğ¾ Ğ¼ĞµĞ½Ñ Ñ Ğ¾Ğ¿Ñ†Ğ¸Ğ¸",
+ImageButton		: "Ğ‘ÑƒÑ‚Ğ¾Ğ½-Ğ¸Ğ·Ğ¾Ğ±Ñ€Ğ°Ğ¶ĞµĞ½Ğ¸Ğµ",
+
+FitWindow		: "Maximize the editor size",	//MISSING
+ShowBlocks		: "Show Blocks",	//MISSING
+
+// Context Menu
+EditLink			: "Ğ ĞµĞ´Ğ°ĞºÑ‚Ğ¸Ñ€Ğ°Ğ¹ Ğ²Ñ€ÑŠĞ·ĞºĞ°",
+CellCM				: "Cell",	//MISSING
+RowCM				: "Row",	//MISSING
+ColumnCM			: "Column",	//MISSING
+InsertRowAfter		: "Insert Row After",	//MISSING
+InsertRowBefore		: "Insert Row Before",	//MISSING
+DeleteRows			: "Ğ˜Ğ·Ñ‚Ñ€Ğ¸Ğ¹ Ñ€ĞµĞ´Ğ¾Ğ²ĞµÑ‚Ğµ",
+InsertColumnAfter	: "Insert Column After",	//MISSING
+InsertColumnBefore	: "Insert Column Before",	//MISSING
+DeleteColumns		: "Ğ˜Ğ·Ñ‚Ñ€Ğ¸Ğ¹ ĞºĞ¾Ğ»Ğ¾Ğ½Ğ¸Ñ‚Ğµ",
+InsertCellAfter		: "Insert Cell After",	//MISSING
+InsertCellBefore	: "Insert Cell Before",	//MISSING
+DeleteCells			: "Ğ˜Ğ·Ñ‚Ñ€Ğ¸Ğ¹ ĞºĞ»ĞµÑ‚ĞºĞ¸Ñ‚Ğµ",
+MergeCells			: "ĞĞ±ĞµĞ´Ğ¸Ğ½Ğ¸ ĞºĞ»ĞµÑ‚ĞºĞ¸Ñ‚Ğµ",
+MergeRight			: "Merge Right",	//MISSING
+MergeDown			: "Merge Down",	//MISSING
+HorizontalSplitCell	: "Split Cell Horizontally",	//MISSING
+VerticalSplitCell	: "Split Cell Vertically",	//MISSING
+TableDelete			: "Ğ˜Ğ·Ñ‚Ñ€Ğ¸Ğ¹ Ñ‚Ğ°Ğ±Ğ»Ğ¸Ñ†Ğ°Ñ‚Ğ°",
+CellProperties		: "ĞŸĞ°Ñ€Ğ°Ğ¼ĞµÑ‚Ñ€Ğ¸ Ğ½Ğ° ĞºĞ»ĞµÑ‚ĞºĞ°Ñ‚Ğ°",
+TableProperties		: "ĞŸĞ°Ñ€Ğ°Ğ¼ĞµÑ‚Ñ€Ğ¸ Ğ½Ğ° Ñ‚Ğ°Ğ±Ğ»Ğ¸Ñ†Ğ°Ñ‚Ğ°",
+ImageProperties		: "ĞŸĞ°Ñ€Ğ°Ğ¼ĞµÑ‚Ñ€Ğ¸ Ğ½Ğ° Ğ¸Ğ·Ğ¾Ğ±Ñ€Ğ°Ğ¶ĞµĞ½Ğ¸ĞµÑ‚Ğ¾",
+FlashProperties		: "ĞŸĞ°Ñ€Ğ°Ğ¼ĞµÑ‚Ñ€Ğ¸ Ğ½Ğ° Flash Ğ¾Ğ±ĞµĞºÑ‚Ğ°",
+
+AnchorProp			: "ĞŸĞ°Ñ€Ğ°Ğ¼ĞµÑ‚Ñ€Ğ¸ Ğ½Ğ° ĞºĞ¾Ñ‚Ğ²Ğ°Ñ‚Ğ°",
+ButtonProp			: "ĞŸĞ°Ñ€Ğ°Ğ¼ĞµÑ‚Ñ€Ğ¸ Ğ½Ğ° Ğ±ÑƒÑ‚Ğ¾Ğ½Ğ°",
+CheckboxProp		: "ĞŸĞ°Ñ€Ğ°Ğ¼ĞµÑ‚Ñ€Ğ¸ Ğ½Ğ° Ğ¿Ğ¾Ğ»ĞµÑ‚Ğ¾ Ğ·Ğ° Ğ¾Ñ‚Ğ¼ĞµÑ‚ĞºĞ°",
+HiddenFieldProp		: "ĞŸĞ°Ñ€Ğ°Ğ¼ĞµÑ‚Ñ€Ğ¸ Ğ½Ğ° ÑĞºÑ€Ğ¸Ñ‚Ğ¾Ñ‚Ğ¾ Ğ¿Ğ¾Ğ»Ğµ",
+RadioButtonProp		: "ĞŸĞ°Ñ€Ğ°Ğ¼ĞµÑ‚Ñ€Ğ¸ Ğ½Ğ° Ğ¿Ğ¾Ğ»ĞµÑ‚Ğ¾ Ğ·Ğ° Ğ¾Ğ¿Ñ†Ğ¸Ñ",
+ImageButtonProp		: "ĞŸĞ°Ñ€Ğ°Ğ¼ĞµÑ‚Ñ€Ğ¸ Ğ½Ğ° Ğ±ÑƒÑ‚Ğ¾Ğ½Ğ°-Ğ¸Ğ·Ğ¾Ğ±Ñ€Ğ°Ğ¶ĞµĞ½Ğ¸Ğµ",
+TextFieldProp		: "ĞŸĞ°Ñ€Ğ°Ğ¼ĞµÑ‚Ñ€Ğ¸ Ğ½Ğ° Ñ‚ĞµĞºÑÑ‚Ğ¾Ğ²Ğ¾Ñ‚Ğ¾-Ğ¿Ğ¾Ğ»Ğµ",
+SelectionFieldProp	: "ĞŸĞ°Ñ€Ğ°Ğ¼ĞµÑ‚Ñ€Ğ¸ Ğ½Ğ° Ğ¿Ğ°Ğ´Ğ°Ñ‰Ğ¾Ñ‚Ğ¾ Ğ¼ĞµĞ½Ñ Ñ Ğ¾Ğ¿Ñ†Ğ¸Ğ¸",
+TextareaProp		: "ĞŸĞ°Ñ€Ğ°Ğ¼ĞµÑ‚Ñ€Ğ¸ Ğ½Ğ° Ñ‚ĞµĞºÑÑ‚Ğ¾Ğ²Ğ°Ñ‚Ğ° Ğ¾Ğ±Ğ»Ğ°ÑÑ‚",
+FormProp			: "ĞŸĞ°Ñ€Ğ°Ğ¼ĞµÑ‚Ñ€Ğ¸ Ğ½Ğ° Ñ„Ğ¾Ñ€Ğ¼ÑƒĞ»ÑÑ€Ğ°",
+
+FontFormats			: "ĞĞ¾Ñ€Ğ¼Ğ°Ğ»ĞµĞ½;Ğ¤Ğ¾Ñ€Ğ¼Ğ°Ñ‚Ğ¸Ñ€Ğ°Ğ½;ĞĞ´Ñ€ĞµÑ;Ğ—Ğ°Ğ³Ğ»Ğ°Ğ²Ğ¸Ğµ 1;Ğ—Ğ°Ğ³Ğ»Ğ°Ğ²Ğ¸Ğµ 2;Ğ—Ğ°Ğ³Ğ»Ğ°Ğ²Ğ¸Ğµ 3;Ğ—Ğ°Ğ³Ğ»Ğ°Ğ²Ğ¸Ğµ 4;Ğ—Ğ°Ğ³Ğ»Ğ°Ğ²Ğ¸Ğµ 5;Ğ—Ğ°Ğ³Ğ»Ğ°Ğ²Ğ¸Ğµ 6;ĞŸĞ°Ñ€Ğ°Ğ³Ñ€Ğ°Ñ„ (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "ĞĞ±Ñ€Ğ°Ğ±Ğ¾Ñ‚ĞºĞ° Ğ½Ğ° XHTML. ĞœĞ¾Ğ»Ñ Ğ¸Ğ·Ñ‡Ğ°ĞºĞ°Ğ¹Ñ‚Ğµ...",
+Done				: "Ğ“Ğ¾Ñ‚Ğ¾Ğ²Ğ¾",
+PasteWordConfirm	: "Ğ¢ĞµĞºÑÑ‚ÑŠÑ‚, ĞºĞ¾Ğ¹Ñ‚Ğ¾ Ğ¸ÑĞºĞ°Ñ‚Ğµ Ğ´Ğ° Ğ²Ğ¼ÑŠĞºĞ½ĞµÑ‚Ğµ Ğµ ĞºĞ¾Ğ¿Ğ¸Ñ€Ğ°Ğ½ Ğ¾Ñ‚ MS Word. Ğ–ĞµĞ»Ğ°ĞµÑ‚Ğµ Ğ»Ğ¸ Ğ´Ğ° Ğ±ÑŠĞ´Ğµ Ğ¸Ğ·Ñ‡Ğ¸ÑÑ‚ĞµĞ½ Ğ¿Ñ€ĞµĞ´Ğ¸ Ğ²Ğ¼ÑŠĞºĞ²Ğ°Ğ½ĞµÑ‚Ğ¾?",
+NotCompatiblePaste	: "Ğ¢Ğ°Ğ·Ğ¸ Ğ¾Ğ¿ĞµÑ€Ğ°Ñ†Ğ¸Ñ Ğ¸Ğ·Ğ¸ÑĞºĞ²Ğ° MS Internet Explorer Ğ²ĞµÑ€ÑĞ¸Ñ 5.5 Ğ¸Ğ»Ğ¸ Ğ¿Ğ¾-Ğ²Ğ¸ÑĞ¾ĞºĞ°. Ğ–ĞµĞ»Ğ°ĞµÑ‚Ğµ Ğ»Ğ¸ Ğ´Ğ° Ğ²Ğ¼ÑŠĞºĞ½ĞµÑ‚Ğµ Ğ·Ğ°Ğ¿Ğ°Ğ¼ĞµÑ‚ĞµĞ½Ğ¾Ñ‚Ğ¾ Ğ±ĞµĞ· Ğ¸Ğ·Ñ‡Ğ¸ÑÑ‚Ğ²Ğ°Ğ½Ğµ?",
+UnknownToolbarItem	: "ĞĞµĞ¿Ğ¾Ğ·Ğ½Ğ°Ñ‚ Ğ¸Ğ½ÑÑ‚Ñ€ÑƒĞ¼ĞµĞ½Ñ‚ \"%1\"",
+UnknownCommand		: "ĞĞµĞ¿Ğ¾Ğ·Ğ½Ğ°Ñ‚Ğ° ĞºĞ¾Ğ¼Ğ°Ğ½Ğ´Ğ° \"%1\"",
+NotImplemented		: "ĞšĞ¾Ğ¼Ğ°Ğ½Ğ´Ğ°Ñ‚Ğ° Ğ½Ğµ Ğµ Ğ¸Ğ¼Ğ¿Ğ»ĞµĞ¼ĞµĞ½Ñ‚Ğ¸Ñ€Ğ°Ğ½Ğ°",
+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
+BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",	//MISSING
+DialogBlocked		: "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",	//MISSING
+VisitLinkBlocked	: "It was not possible to open a new window. Make sure all popup blockers are disabled.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "ĞĞš",
+DlgBtnCancel		: "ĞÑ‚ĞºĞ°Ğ·",
+DlgBtnClose			: "Ğ—Ğ°Ñ‚Ğ²Ğ¾Ñ€Ğ¸",
+DlgBtnBrowseServer	: "Ğ Ğ°Ğ·Ğ³Ğ»ĞµĞ´Ğ°Ğ¹ ÑÑŠÑ€Ğ²ÑŠÑ€Ğ°",
+DlgAdvancedTag		: "ĞŸĞ¾Ğ´Ñ€Ğ¾Ğ±Ğ½Ğ¾ÑÑ‚Ğ¸...",
+DlgOpOther			: "<Ğ”Ñ€ÑƒĞ³Ğ¾>",
+DlgInfoTab			: "Ğ˜Ğ½Ñ„Ğ¾Ñ€Ğ¼Ğ°Ñ†Ğ¸Ñ",
+DlgAlertUrl			: "ĞœĞ¾Ğ»Ñ, Ğ²ÑŠĞ²ĞµĞ´ĞµÑ‚Ğµ Ğ¿ÑŠĞ»Ğ½Ğ¸Ñ Ğ¿ÑŠÑ‚ (URL)",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<Ğ½Ğµ Ğµ Ğ½Ğ°ÑÑ‚Ñ€Ğ¾ĞµĞ½>",
+DlgGenId			: "Ğ˜Ğ´ĞµĞ½Ñ‚Ğ¸Ñ„Ğ¸ĞºĞ°Ñ‚Ğ¾Ñ€",
+DlgGenLangDir		: "Ğ¿Ğ¾ÑĞ¾ĞºĞ° Ğ½Ğ° Ñ€ĞµÑ‡Ñ‚Ğ°",
+DlgGenLangDirLtr	: "ĞÑ‚ Ğ»ÑĞ²Ğ¾ Ğ½Ğ° Ğ´ÑÑĞ½Ğ¾",
+DlgGenLangDirRtl	: "ĞÑ‚ Ğ´ÑÑĞ½Ğ¾ Ğ½Ğ° Ğ»ÑĞ²Ğ¾",
+DlgGenLangCode		: "ĞšĞ¾Ğ´ Ğ½Ğ° ĞµĞ·Ğ¸ĞºĞ°",
+DlgGenAccessKey		: "Ğ‘ÑŠÑ€Ğ· ĞºĞ»Ğ°Ğ²Ğ¸Ñˆ",
+DlgGenName			: "Ğ˜Ğ¼Ğµ",
+DlgGenTabIndex		: "Ğ ĞµĞ´ Ğ½Ğ° Ğ´Ğ¾ÑÑ‚ÑŠĞ¿",
+DlgGenLongDescr		: "ĞĞ¿Ğ¸ÑĞ°Ğ½Ğ¸Ğµ Ğ½Ğ° Ğ²Ñ€ÑŠĞ·ĞºĞ°Ñ‚Ğ°",
+DlgGenClass			: "ĞšĞ»Ğ°Ñ Ğ¾Ñ‚ ÑÑ‚Ğ¸Ğ»Ğ¾Ğ²Ğ¸Ñ‚Ğµ Ñ‚Ğ°Ğ±Ğ»Ğ¸Ñ†Ğ¸",
+DlgGenTitle			: "ĞŸÑ€ĞµĞ¿Ğ¾Ñ€ÑŠÑ‡Ğ¸Ñ‚ĞµĞ»Ğ½Ğ¾ Ğ·Ğ°Ğ³Ğ»Ğ°Ğ²Ğ¸Ğµ",
+DlgGenContType		: "ĞŸÑ€ĞµĞ¿Ğ¾Ñ€ÑŠÑ‡Ğ¸Ñ‚ĞµĞ»ĞµĞ½ Ñ‚Ğ¸Ğ¿ Ğ½Ğ° ÑÑŠĞ´ÑŠÑ€Ğ¶Ğ°Ğ½Ğ¸ĞµÑ‚Ğ¾",
+DlgGenLinkCharset	: "Ğ¢Ğ¸Ğ¿ Ğ½Ğ° ÑĞ²ÑŠÑ€Ğ·Ğ°Ğ½Ğ¸Ñ Ñ€ĞµÑÑƒÑ€Ñ",
+DlgGenStyle			: "Ğ¡Ñ‚Ğ¸Ğ»",
+
+// Image Dialog
+DlgImgTitle			: "ĞŸĞ°Ñ€Ğ°Ğ¼ĞµÑ‚Ñ€Ğ¸ Ğ½Ğ° Ğ¸Ğ·Ğ¾Ğ±Ñ€Ğ°Ğ¶ĞµĞ½Ğ¸ĞµÑ‚Ğ¾",
+DlgImgInfoTab		: "Ğ˜Ğ½Ñ„Ğ¾Ñ€Ğ¼Ğ°Ñ†Ğ¸Ñ Ğ·Ğ° Ğ¸Ğ·Ğ¾Ğ±Ñ€Ğ°Ğ¶ĞµĞ½Ğ¸ĞµÑ‚Ğ¾",
+DlgImgBtnUpload		: "ĞŸÑ€Ğ°Ñ‚Ğ¸ ĞºÑŠĞ¼ ÑÑŠÑ€Ğ²ÑŠÑ€Ğ°",
+DlgImgURL			: "ĞŸÑŠĞ»ĞµĞ½ Ğ¿ÑŠÑ‚ (URL)",
+DlgImgUpload		: "ĞšĞ°Ñ‡Ğ¸",
+DlgImgAlt			: "ĞĞ»Ñ‚ĞµÑ€Ğ½Ğ°Ñ‚Ğ¸Ğ²ĞµĞ½ Ñ‚ĞµĞºÑÑ‚",
+DlgImgWidth			: "Ğ¨Ğ¸Ñ€Ğ¸Ğ½Ğ°",
+DlgImgHeight		: "Ğ’Ğ¸ÑĞ¾Ñ‡Ğ¸Ğ½Ğ°",
+DlgImgLockRatio		: "Ğ—Ğ°Ğ¿Ğ°Ğ·Ğ¸ Ğ¿Ñ€Ğ¾Ğ¿Ğ¾Ñ€Ñ†Ğ¸ÑÑ‚Ğ°",
+DlgBtnResetSize		: "Ğ’ÑŠĞ·ÑÑ‚Ğ°Ğ½Ğ¾Ğ²Ğ¸ Ñ€Ğ°Ğ·Ğ¼ĞµÑ€Ğ°",
+DlgImgBorder		: "Ğ Ğ°Ğ¼ĞºĞ°",
+DlgImgHSpace		: "Ğ¥Ğ¾Ñ€Ğ¸Ğ·Ğ¾Ğ½Ñ‚Ğ°Ğ»ĞµĞ½ Ğ¾Ñ‚ÑÑ‚ÑŠĞ¿",
+DlgImgVSpace		: "Ğ’ĞµÑ€Ñ‚Ğ¸ĞºĞ°Ğ»ĞµĞ½ Ğ¾Ñ‚ÑÑ‚ÑŠĞ¿",
+DlgImgAlign			: "ĞŸĞ¾Ğ´Ñ€Ğ°Ğ²Ğ½ÑĞ²Ğ°Ğ½Ğµ",
+DlgImgAlignLeft		: "Ğ›ÑĞ²Ğ¾",
+DlgImgAlignAbsBottom: "ĞĞ°Ğ¹-Ğ´Ğ¾Ğ»Ñƒ",
+DlgImgAlignAbsMiddle: "Ğ¢Ğ¾Ñ‡Ğ½Ğ¾ Ğ¿Ğ¾ ÑÑ€ĞµĞ´Ğ°Ñ‚Ğ°",
+DlgImgAlignBaseline	: "ĞŸĞ¾ Ğ±Ğ°Ğ·Ğ¾Ğ²Ğ°Ñ‚Ğ° Ğ»Ğ¸Ğ½Ğ¸Ñ",
+DlgImgAlignBottom	: "Ğ”Ğ¾Ğ»Ñƒ",
+DlgImgAlignMiddle	: "ĞŸĞ¾ ÑÑ€ĞµĞ´Ğ°Ñ‚Ğ°",
+DlgImgAlignRight	: "Ğ”ÑÑĞ½Ğ¾",
+DlgImgAlignTextTop	: "Ğ’ÑŠÑ€Ñ…Ñƒ Ñ‚ĞµĞºÑÑ‚Ğ°",
+DlgImgAlignTop		: "ĞÑ‚Ğ³Ğ¾Ñ€Ğµ",
+DlgImgPreview		: "Ğ˜Ğ·Ğ³Ğ»ĞµĞ´",
+DlgImgAlertUrl		: "ĞœĞ¾Ğ»Ñ, Ğ²ÑŠĞ²ĞµĞ´ĞµÑ‚Ğµ Ğ¿ÑŠĞ»Ğ½Ğ¸Ñ Ğ¿ÑŠÑ‚ Ğ´Ğ¾ Ğ¸Ğ·Ğ¾Ğ±Ñ€Ğ°Ğ¶ĞµĞ½Ğ¸ĞµÑ‚Ğ¾",
+DlgImgLinkTab		: "Ğ’Ñ€ÑŠĞ·ĞºĞ°",
+
+// Flash Dialog
+DlgFlashTitle		: "ĞŸĞ°Ñ€Ğ°Ğ¼ĞµÑ‚Ñ€Ğ¸ Ğ½Ğ° Flash Ğ¾Ğ±ĞµĞºÑ‚Ğ°",
+DlgFlashChkPlay		: "ĞĞ²Ñ‚Ğ¾Ğ¼Ğ°Ñ‚Ğ¸Ñ‡Ğ½Ğ¾ ÑÑ‚Ğ°Ñ€Ñ‚Ğ¸Ñ€Ğ°Ğ½Ğµ",
+DlgFlashChkLoop		: "ĞĞ¾Ğ²Ğ¾ ÑÑ‚Ğ°Ñ€Ñ‚Ğ¸Ñ€Ğ°Ğ½Ğµ ÑĞ»ĞµĞ´ Ğ·Ğ°Ğ²ÑŠÑ€ÑˆĞ²Ğ°Ğ½ĞµÑ‚Ğ¾",
+DlgFlashChkMenu		: "Ğ Ğ°Ğ·Ñ€ĞµÑˆĞµĞ½Ğ¾ Flash Ğ¼ĞµĞ½Ñ",
+DlgFlashScale		: "ĞÑ€Ğ°Ğ·Ğ¼ĞµÑ€ÑĞ²Ğ°Ğ½Ğµ",
+DlgFlashScaleAll	: "ĞŸĞ¾ĞºĞ°Ğ¶Ğ¸ Ñ†ĞµĞ»Ğ¸Ñ Ğ¾Ğ±ĞµĞºÑ‚",
+DlgFlashScaleNoBorder	: "Ğ‘ĞµĞ· Ñ€Ğ°Ğ¼ĞºĞ°",
+DlgFlashScaleFit	: "Ğ¡Ğ¿Ğ¾Ñ€ĞµĞ´ Ğ¼ÑÑÑ‚Ğ¾Ñ‚Ğ¾",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Ğ’Ñ€ÑŠĞ·ĞºĞ°",
+DlgLnkInfoTab		: "Ğ˜Ğ½Ñ„Ğ¾Ñ€Ğ¼Ğ°Ñ†Ğ¸Ñ Ğ·Ğ° Ğ²Ñ€ÑŠĞ·ĞºĞ°Ñ‚Ğ°",
+DlgLnkTargetTab		: "Ğ¦ĞµĞ»",
+
+DlgLnkType			: "Ğ’Ğ¸Ğ´ Ğ½Ğ° Ğ²Ñ€ÑŠĞ·ĞºĞ°Ñ‚Ğ°",
+DlgLnkTypeURL		: "ĞŸÑŠĞ»ĞµĞ½ Ğ¿ÑŠÑ‚ (URL)",
+DlgLnkTypeAnchor	: "ĞšĞ¾Ñ‚Ğ²Ğ° Ğ² Ñ‚ĞµĞºÑƒÑ‰Ğ°Ñ‚Ğ° ÑÑ‚Ñ€Ğ°Ğ½Ğ¸Ñ†Ğ°",
+DlgLnkTypeEMail		: "Ğ•-Ğ¿Ğ¾Ñ‰Ğ°",
+DlgLnkProto			: "ĞŸÑ€Ğ¾Ñ‚Ğ¾ĞºĞ¾Ğ»",
+DlgLnkProtoOther	: "<Ğ´Ñ€ÑƒĞ³Ğ¾>",
+DlgLnkURL			: "ĞŸÑŠĞ»ĞµĞ½ Ğ¿ÑŠÑ‚ (URL)",
+DlgLnkAnchorSel		: "Ğ˜Ğ·Ğ±ĞµÑ€ĞµÑ‚Ğµ ĞºĞ¾Ñ‚Ğ²Ğ°",
+DlgLnkAnchorByName	: "ĞŸĞ¾ Ğ¸Ğ¼Ğµ Ğ½Ğ° ĞºĞ¾Ñ‚Ğ²Ğ°Ñ‚Ğ°",
+DlgLnkAnchorById	: "ĞŸĞ¾ Ğ¸Ğ´ĞµĞ½Ñ‚Ğ¸Ñ„Ğ¸ĞºĞ°Ñ‚Ğ¾Ñ€ Ğ½Ğ° ĞµĞ»ĞµĞ¼ĞµĞ½Ñ‚",
+DlgLnkNoAnchors		: "(ĞÑĞ¼Ğ° ĞºĞ¾Ñ‚Ğ²Ğ¸ Ğ² Ñ‚ĞµĞºÑƒÑ‰Ğ¸Ñ Ğ´Ğ¾ĞºÑƒĞ¼ĞµĞ½Ñ‚)",
+DlgLnkEMail			: "ĞĞ´Ñ€ĞµÑ Ğ·Ğ° Ğµ-Ğ¿Ğ¾Ñ‰Ğ°",
+DlgLnkEMailSubject	: "Ğ¢ĞµĞ¼Ğ° Ğ½Ğ° Ğ¿Ğ¸ÑĞ¼Ğ¾Ñ‚Ğ¾",
+DlgLnkEMailBody		: "Ğ¢ĞµĞºÑÑ‚ Ğ½Ğ° Ğ¿Ğ¸ÑĞ¼Ğ¾Ñ‚Ğ¾",
+DlgLnkUpload		: "ĞšĞ°Ñ‡Ğ¸",
+DlgLnkBtnUpload		: "ĞŸÑ€Ğ°Ñ‚Ğ¸ Ğ½Ğ° ÑÑŠÑ€Ğ²ÑŠÑ€Ğ°",
+
+DlgLnkTarget		: "Ğ¦ĞµĞ»",
+DlgLnkTargetFrame	: "<Ñ€Ğ°Ğ¼ĞºĞ°>",
+DlgLnkTargetPopup	: "<Ğ´ÑŠÑ‰ĞµÑ€ĞµĞ½ Ğ¿Ñ€Ğ¾Ğ·Ğ¾Ñ€ĞµÑ†>",
+DlgLnkTargetBlank	: "ĞĞ¾Ğ² Ğ¿Ñ€Ğ¾Ğ·Ğ¾Ñ€ĞµÑ† (_blank)",
+DlgLnkTargetParent	: "Ğ Ğ¾Ğ´Ğ¸Ñ‚ĞµĞ»ÑĞºĞ¸ Ğ¿Ñ€Ğ¾Ğ·Ğ¾Ñ€ĞµÑ† (_parent)",
+DlgLnkTargetSelf	: "ĞĞºÑ‚Ğ¸Ğ²Ğ½Ğ¸Ñ Ğ¿Ñ€Ğ¾Ğ·Ğ¾Ñ€ĞµÑ† (_self)",
+DlgLnkTargetTop		: "Ğ¦ĞµĞ»Ğ¸Ñ Ğ¿Ñ€Ğ¾Ğ·Ğ¾Ñ€ĞµÑ† (_top)",
+DlgLnkTargetFrameName	: "Ğ˜Ğ¼Ğµ Ğ½Ğ° Ñ†ĞµĞ»ĞµĞ²Ğ¸Ñ Ğ¿Ñ€Ğ¾Ğ·Ğ¾Ñ€ĞµÑ†",
+DlgLnkPopWinName	: "Ğ˜Ğ¼Ğµ Ğ½Ğ° Ğ´ÑŠÑ‰ĞµÑ€Ğ½Ğ¸Ñ Ğ¿Ñ€Ğ¾Ğ·Ğ¾Ñ€ĞµÑ†",
+DlgLnkPopWinFeat	: "ĞŸĞ°Ñ€Ğ°Ğ¼ĞµÑ‚Ñ€Ğ¸ Ğ½Ğ° Ğ´ÑŠÑ‰ĞµÑ€Ğ½Ğ¸Ñ Ğ¿Ñ€Ğ¾Ğ·Ğ¾Ñ€ĞµÑ†",
+DlgLnkPopResize		: "Ğ¡ Ğ¿Ñ€Ğ¾Ğ¼ĞµĞ½Ğ»Ğ¸Ğ²Ğ¸ Ñ€Ğ°Ğ·Ğ¼ĞµÑ€Ğ¸",
+DlgLnkPopLocation	: "ĞŸĞ¾Ğ»Ğµ Ğ·Ğ° Ğ°Ğ´Ñ€ĞµÑ",
+DlgLnkPopMenu		: "ĞœĞµĞ½Ñ",
+DlgLnkPopScroll		: "ĞŸĞ»ÑŠĞ·Ğ³Ğ°Ñ‡",
+DlgLnkPopStatus		: "ĞŸĞ¾Ğ»Ğµ Ğ·Ğ° ÑÑ‚Ğ°Ñ‚ÑƒÑ",
+DlgLnkPopToolbar	: "ĞŸĞ°Ğ½ĞµĞ» Ñ Ğ±ÑƒÑ‚Ğ¾Ğ½Ğ¸",
+DlgLnkPopFullScrn	: "Ğ“Ğ¾Ğ»ÑĞ¼ ĞµĞºÑ€Ğ°Ğ½ (MS IE)",
+DlgLnkPopDependent	: "Ğ—Ğ°Ğ²Ğ¸ÑĞ¸Ğ¼ (Netscape)",
+DlgLnkPopWidth		: "Ğ¨Ğ¸Ñ€Ğ¸Ğ½Ğ°",
+DlgLnkPopHeight		: "Ğ’Ğ¸ÑĞ¾Ñ‡Ğ¸Ğ½Ğ°",
+DlgLnkPopLeft		: "ĞšĞ¾Ğ¾Ñ€Ğ´Ğ¸Ğ½Ğ°Ñ‚Ğ¸ - X",
+DlgLnkPopTop		: "ĞšĞ¾Ğ¾Ñ€Ğ´Ğ¸Ğ½Ğ°Ñ‚Ğ¸ - Y",
+
+DlnLnkMsgNoUrl		: "ĞœĞ¾Ğ»Ñ, Ğ½Ğ°Ğ¿Ğ¸ÑˆĞµÑ‚Ğµ Ğ¿ÑŠĞ»Ğ½Ğ¸Ñ Ğ¿ÑŠÑ‚ (URL)",
+DlnLnkMsgNoEMail	: "ĞœĞ¾Ğ»Ñ, Ğ½Ğ°Ğ¿Ğ¸ÑˆĞµÑ‚Ğµ Ğ°Ğ´Ñ€ĞµÑĞ° Ğ·Ğ° Ğµ-Ğ¿Ğ¾Ñ‰Ğ°",
+DlnLnkMsgNoAnchor	: "ĞœĞ¾Ğ»Ñ, Ğ¸Ğ·Ğ±ĞµÑ€ĞµÑ‚Ğµ ĞºĞ¾Ñ‚Ğ²Ğ°",
+DlnLnkMsgInvPopName	: "The popup name must begin with an alphabetic character and must not contain spaces",	//MISSING
+
+// Color Dialog
+DlgColorTitle		: "Ğ˜Ğ·Ğ±ĞµÑ€ĞµÑ‚Ğµ Ñ†Ğ²ÑÑ‚",
+DlgColorBtnClear	: "Ğ˜Ğ·Ñ‡Ğ¸ÑÑ‚Ğ¸",
+DlgColorHighlight	: "Ğ¢ĞµĞºÑƒÑ‰",
+DlgColorSelected	: "Ğ˜Ğ·Ğ±Ñ€Ğ°Ğ½",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Ğ”Ğ¾Ğ±Ğ°Ğ²Ğ¸ ÑƒÑĞ¼Ğ¸Ğ²ĞºĞ°",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Ğ˜Ğ·Ğ±ĞµÑ€ĞµÑ‚Ğµ ÑĞ¿ĞµÑ†Ğ¸Ğ°Ğ»ĞµĞ½ ÑĞ¸Ğ¼Ğ²Ğ¾Ğ»",
+
+// Table Dialog
+DlgTableTitle		: "ĞŸĞ°Ñ€Ğ°Ğ¼ĞµÑ‚Ñ€Ğ¸ Ğ½Ğ° Ñ‚Ğ°Ğ±Ğ»Ğ¸Ñ†Ğ°Ñ‚Ğ°",
+DlgTableRows		: "Ğ ĞµĞ´Ğ¾Ğ²Ğµ",
+DlgTableColumns		: "ĞšĞ¾Ğ»Ğ¾Ğ½Ğ¸",
+DlgTableBorder		: "Ğ Ğ°Ğ·Ğ¼ĞµÑ€ Ğ½Ğ° Ñ€Ğ°Ğ¼ĞºĞ°Ñ‚Ğ°",
+DlgTableAlign		: "ĞŸĞ¾Ğ´Ñ€Ğ°Ğ²Ğ½ÑĞ²Ğ°Ğ½Ğµ",
+DlgTableAlignNotSet	: "<ĞĞµ Ğµ Ğ¸Ğ·Ğ±Ñ€Ğ°Ğ½Ğ¾>",
+DlgTableAlignLeft	: "Ğ›ÑĞ²Ğ¾",
+DlgTableAlignCenter	: "Ğ¦ĞµĞ½Ñ‚ÑŠÑ€",
+DlgTableAlignRight	: "Ğ”ÑÑĞ½Ğ¾",
+DlgTableWidth		: "Ğ¨Ğ¸Ñ€Ğ¸Ğ½Ğ°",
+DlgTableWidthPx		: "Ğ¿Ğ¸ĞºÑĞµĞ»Ğ¸",
+DlgTableWidthPc		: "Ğ¿Ñ€Ğ¾Ñ†ĞµĞ½Ñ‚Ğ¸",
+DlgTableHeight		: "Ğ’Ğ¸ÑĞ¾Ñ‡Ğ¸Ğ½Ğ°",
+DlgTableCellSpace	: "Ğ Ğ°Ğ·ÑÑ‚Ğ¾ÑĞ½Ğ¸Ğµ Ğ¼ĞµĞ¶Ğ´Ñƒ ĞºĞ»ĞµÑ‚ĞºĞ¸Ñ‚Ğµ",
+DlgTableCellPad		: "ĞÑ‚ÑÑ‚ÑŠĞ¿ Ğ½Ğ° ÑÑŠĞ´ÑŠÑ€Ğ¶Ğ°Ğ½Ğ¸ĞµÑ‚Ğ¾ Ğ² ĞºĞ»ĞµÑ‚ĞºĞ¸Ñ‚Ğµ",
+DlgTableCaption		: "Ğ—Ğ°Ğ³Ğ»Ğ°Ğ²Ğ¸Ğµ",
+DlgTableSummary		: "Ğ ĞµĞ·ÑĞ¼Ğµ",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "ĞŸĞ°Ñ€Ğ°Ğ¼ĞµÑ‚Ñ€Ğ¸ Ğ½Ğ° ĞºĞ»ĞµÑ‚ĞºĞ°Ñ‚Ğ°",
+DlgCellWidth		: "Ğ¨Ğ¸Ñ€Ğ¸Ğ½Ğ°",
+DlgCellWidthPx		: "Ğ¿Ğ¸ĞºÑĞµĞ»Ğ¸",
+DlgCellWidthPc		: "Ğ¿Ñ€Ğ¾Ñ†ĞµĞ½Ñ‚Ğ¸",
+DlgCellHeight		: "Ğ’Ğ¸ÑĞ¾Ñ‡Ğ¸Ğ½Ğ°",
+DlgCellWordWrap		: "Ğ¿Ñ€ĞµĞ½Ğ°ÑÑĞ½Ğµ Ğ½Ğ° Ğ½Ğ¾Ğ² Ñ€ĞµĞ´",
+DlgCellWordWrapNotSet	: "<ĞĞµ Ğµ Ğ½Ğ°ÑÑ‚Ñ€Ğ¾ĞµĞ½Ğ¾>",
+DlgCellWordWrapYes	: "Ğ”Ğ°",
+DlgCellWordWrapNo	: "Ğ½Ğµ",
+DlgCellHorAlign		: "Ğ¥Ğ¾Ñ€Ğ¸Ğ·Ğ¾Ğ½Ñ‚Ğ°Ğ»Ğ½Ğ¾ Ğ¿Ğ¾Ğ´Ñ€Ğ°Ğ²Ğ½ÑĞ²Ğ°Ğ½Ğµ",
+DlgCellHorAlignNotSet	: "<ĞĞµ Ğµ Ğ½Ğ°ÑÑ‚Ñ€Ğ¾ĞµĞ½Ğ¾>",
+DlgCellHorAlignLeft	: "Ğ›ÑĞ²Ğ¾",
+DlgCellHorAlignCenter	: "Ğ¦ĞµĞ½Ñ‚ÑŠÑ€",
+DlgCellHorAlignRight: "Ğ”ÑÑĞ½Ğ¾",
+DlgCellVerAlign		: "Ğ’ĞµÑ€Ñ‚Ğ¸ĞºĞ°Ğ»Ğ½Ğ¾ Ğ¿Ğ¾Ğ´Ñ€Ğ°Ğ²Ğ½ÑĞ²Ğ°Ğ½Ğµ",
+DlgCellVerAlignNotSet	: "<ĞĞµ Ğµ Ğ½Ğ°ÑÑ‚Ñ€Ğ¾ĞµĞ½Ğ¾>",
+DlgCellVerAlignTop	: "Ğ“Ğ¾Ñ€Ğµ",
+DlgCellVerAlignMiddle	: "ĞŸĞ¾ ÑÑ€ĞµĞ´Ğ°Ñ‚Ğ°",
+DlgCellVerAlignBottom	: "Ğ”Ğ¾Ğ»Ñƒ",
+DlgCellVerAlignBaseline	: "ĞŸĞ¾ Ğ±Ğ°Ğ·Ğ¾Ğ²Ğ°Ñ‚Ğ° Ğ»Ğ¸Ğ½Ğ¸Ñ",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "Ğ¿Ğ¾Ğ²ĞµÑ‡Ğµ Ğ¾Ñ‚ ĞµĞ´Ğ¸Ğ½ Ñ€ĞµĞ´",
+DlgCellCollSpan		: "Ğ¿Ğ¾Ğ²ĞµÑ‡Ğµ Ğ¾Ñ‚ ĞµĞ´Ğ½Ğ° ĞºĞ¾Ğ»Ğ¾Ğ½Ğ°",
+DlgCellBackColor	: "Ñ„Ğ¾Ğ½Ğ¾Ğ² Ñ†Ğ²ÑÑ‚",
+DlgCellBorderColor	: "Ñ†Ğ²ÑÑ‚ Ğ½Ğ° Ñ€Ğ°Ğ¼ĞºĞ°Ñ‚Ğ°",
+DlgCellBtnSelect	: "Ğ˜Ğ·Ğ±ĞµÑ€ĞµÑ‚Ğµ...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Find and Replace",	//MISSING
+
+// Find Dialog
+DlgFindTitle		: "Ğ¢ÑŠÑ€ÑĞ¸",
+DlgFindFindBtn		: "Ğ¢ÑŠÑ€ÑĞ¸",
+DlgFindNotFoundMsg	: "Ğ£ĞºĞ°Ğ·Ğ°Ğ½Ğ¸Ñ Ñ‚ĞµĞºÑÑ‚ Ğ½Ğµ Ğ±ĞµÑˆĞµ Ğ½Ğ°Ğ¼ĞµÑ€ĞµĞ½.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Ğ—Ğ°Ğ¼ĞµÑÑ‚Ğ¸",
+DlgReplaceFindLbl		: "Ğ¢ÑŠÑ€ÑĞ¸:",
+DlgReplaceReplaceLbl	: "Ğ—Ğ°Ğ¼ĞµÑÑ‚Ğ¸ Ñ:",
+DlgReplaceCaseChk		: "Ğ¡ÑŠÑ ÑÑŠÑ‰Ğ¸Ñ Ñ€ĞµĞ³Ğ¸ÑÑ‚ÑŠÑ€",
+DlgReplaceReplaceBtn	: "Ğ—Ğ°Ğ¼ĞµÑÑ‚Ğ¸",
+DlgReplaceReplAllBtn	: "Ğ—Ğ°Ğ¼ĞµÑÑ‚Ğ¸ Ğ²ÑĞ¸Ñ‡ĞºĞ¸",
+DlgReplaceWordChk		: "Ğ¢ÑŠÑ€ÑĞ¸ ÑÑŠÑ‰Ğ°Ñ‚Ğ° Ğ´ÑƒĞ¼Ğ°",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "ĞĞ°ÑÑ‚Ñ€Ğ¾Ğ¹ĞºĞ¸Ñ‚Ğµ Ğ·Ğ° ÑĞ¸Ğ³ÑƒÑ€Ğ½Ğ¾ÑÑ‚ Ğ½Ğ° Ğ²Ğ°ÑˆĞ¸Ñ Ğ±Ñ€Ğ°Ğ·ÑƒÑŠÑ€ Ğ½Ğµ Ñ€Ğ°Ğ·Ñ€ĞµÑˆĞ°Ğ²Ğ°Ñ‚ Ğ½Ğ° Ñ€ĞµĞ´Ğ°ĞºÑ‚Ğ¾Ñ€Ğ° Ğ´Ğ° Ğ¸Ğ·Ğ¿ÑŠĞ»Ğ½Ğ¸ Ğ¸Ğ·Ñ€ÑĞ·Ğ²Ğ°Ğ½ĞµÑ‚Ğ¾. Ğ—Ğ° Ñ†ĞµĞ»Ñ‚Ğ° Ğ¸Ğ·Ğ¿Ğ¾Ğ»Ğ·Ğ²Ğ°Ğ¹Ñ‚Ğµ ĞºĞ»Ğ°Ğ²Ğ¸Ğ°Ñ‚ÑƒÑ€Ğ°Ñ‚Ğ° (Ctrl+X).",
+PasteErrorCopy	: "ĞĞ°ÑÑ‚Ñ€Ğ¾Ğ¹ĞºĞ¸Ñ‚Ğµ Ğ·Ğ° ÑĞ¸Ğ³ÑƒÑ€Ğ½Ğ¾ÑÑ‚ Ğ½Ğ° Ğ²Ğ°ÑˆĞ¸Ñ Ğ±Ñ€Ğ°Ğ·ÑƒÑŠÑ€ Ğ½Ğµ Ñ€Ğ°Ğ·Ñ€ĞµÑˆĞ°Ğ²Ğ°Ñ‚ Ğ½Ğ° Ñ€ĞµĞ´Ğ°ĞºÑ‚Ğ¾Ñ€Ğ° Ğ´Ğ° Ğ¸Ğ·Ğ¿ÑŠĞ»Ğ½Ğ¸ Ğ·Ğ°Ğ¿Ğ°Ğ¼ĞµÑ‚ÑĞ²Ğ°Ğ½ĞµÑ‚Ğ¾. Ğ—Ğ° Ñ†ĞµĞ»Ñ‚Ğ° Ğ¸Ğ·Ğ¿Ğ¾Ğ»Ğ·Ğ²Ğ°Ğ¹Ñ‚Ğµ ĞºĞ»Ğ°Ğ²Ğ¸Ğ°Ñ‚ÑƒÑ€Ğ°Ñ‚Ğ° (Ctrl+C).",
+
+PasteAsText		: "Ğ’Ğ¼ÑŠĞºĞ½Ğ¸ ĞºĞ°Ñ‚Ğ¾ Ñ‡Ğ¸ÑÑ‚ Ñ‚ĞµĞºÑÑ‚",
+PasteFromWord	: "Ğ’Ğ¼ÑŠĞºĞ½Ğ¸ Ğ¾Ñ‚ MS Word",
+
+DlgPasteMsg2	: "Ğ’Ğ¼ÑŠĞºĞ½ĞµÑ‚Ğµ Ñ‚ÑƒĞº ÑÑŠĞ´ÑŠĞ¶Ğ°Ğ½Ğ¸ĞµÑ‚Ğ¾ Ñ ĞºĞ»Ğ°Ğ²Ğ¸Ğ°Ñ‚ÑƒĞ°Ñ€Ğ°Ñ‚Ğ° (<STRONG>Ctrl+V</STRONG>) Ğ¸ Ğ½Ğ°Ñ‚Ğ¸ÑĞ½ĞµÑ‚Ğµ <STRONG>OK</STRONG>.",
+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
+DlgPasteIgnoreFont		: "Ğ˜Ğ³Ğ½Ğ¾Ñ€Ğ¸Ñ€Ğ°Ğ¹ ÑˆÑ€Ğ¸Ñ„Ñ‚Ğ¾Ğ²Ğ¸Ñ‚Ğµ Ğ´ĞµÑ„Ğ¸Ğ½Ğ¸Ñ†Ğ¸Ğ¸",
+DlgPasteRemoveStyles	: "Ğ˜Ğ·Ñ‚Ñ€Ğ¸Ğ¹ ÑÑ‚Ğ¸Ğ»Ğ¾Ğ²Ğ¸Ñ‚Ğµ Ğ´ĞµÑ„Ğ¸Ğ½Ğ¸Ñ†Ğ¸Ğ¸",
+
+// Color Picker
+ColorAutomatic	: "ĞŸĞ¾ Ğ¿Ğ¾Ğ´Ñ€Ğ°Ğ·Ğ±Ğ¸Ñ€Ğ°Ğ½Ğµ",
+ColorMoreColors	: "Ğ”Ñ€ÑƒĞ³Ğ¸ Ñ†Ğ²ĞµÑ‚Ğ¾Ğ²Ğµ...",
+
+// Document Properties
+DocProps		: "ĞŸĞ°Ñ€Ğ°Ğ¼ĞµÑ‚Ñ€Ğ¸ Ğ½Ğ° Ğ´Ğ¾ĞºÑƒĞ¼ĞµĞ½Ñ‚Ğ°",
+
+// Anchor Dialog
+DlgAnchorTitle		: "ĞŸĞ°Ñ€Ğ°Ğ¼ĞµÑ‚Ñ€Ğ¸ Ğ½Ğ° ĞºĞ¾Ñ‚Ğ²Ğ°Ñ‚Ğ°",
+DlgAnchorName		: "Ğ˜Ğ¼Ğµ Ğ½Ğ° ĞºĞ¾Ñ‚Ğ²Ğ°Ñ‚Ğ°",
+DlgAnchorErrorName	: "ĞœĞ¾Ğ»Ñ, Ğ²ÑŠĞ²ĞµĞ´ĞµÑ‚Ğµ Ğ¸Ğ¼Ğµ Ğ½Ğ° ĞºĞ¾Ñ‚Ğ²Ğ°Ñ‚Ğ°",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Ğ›Ğ¸Ğ¿ÑĞ²Ğ° Ğ² Ñ€ĞµÑ‡Ğ½Ğ¸ĞºĞ°",
+DlgSpellChangeTo		: "ĞŸÑ€Ğ¾Ğ¼ĞµĞ½Ğ¸ Ğ½Ğ°",
+DlgSpellBtnIgnore		: "Ğ˜Ğ³Ğ½Ğ¾Ñ€Ğ¸Ñ€Ğ°Ğ¹",
+DlgSpellBtnIgnoreAll	: "Ğ˜Ğ³Ğ½Ğ¾Ñ€Ğ¸Ñ€Ğ°Ğ¹ Ğ²ÑĞ¸Ñ‡ĞºĞ¸",
+DlgSpellBtnReplace		: "Ğ—Ğ°Ğ¼ĞµÑÑ‚Ğ¸",
+DlgSpellBtnReplaceAll	: "Ğ—Ğ°Ğ¼ĞµÑÑ‚Ğ¸ Ğ²ÑĞ¸Ñ‡ĞºĞ¸",
+DlgSpellBtnUndo			: "ĞÑ‚Ğ¼ĞµĞ½Ğ¸",
+DlgSpellNoSuggestions	: "- ĞÑĞ¼Ğ° Ğ¿Ñ€ĞµĞ´Ğ»Ğ¾Ğ¶ĞµĞ½Ğ¸Ñ -",
+DlgSpellProgress		: "Ğ˜Ğ·Ğ²ÑŠÑ€ÑˆĞ²Ğ°Ğ½Ğµ Ğ½Ğ° Ğ¿Ñ€Ğ¾Ğ²ĞµÑ€ĞºĞ°Ñ‚Ğ° Ğ·Ğ° Ğ¿Ñ€Ğ°Ğ²Ğ¾Ğ¿Ğ¸Ñ...",
+DlgSpellNoMispell		: "ĞŸÑ€Ğ¾Ğ²ĞµÑ€ĞºĞ°Ñ‚Ğ° Ğ·Ğ° Ğ¿Ñ€Ğ°Ğ²Ğ¾Ğ¿Ğ¸Ñ Ğ·Ğ°Ğ²ÑŠÑ€ÑˆĞµĞ½Ğ°: Ğ½Ğµ ÑĞ° Ğ¾Ñ‚ĞºÑ€Ğ¸Ñ‚Ğ¸ Ğ¿Ñ€Ğ°Ğ²Ğ¾Ğ¿Ğ¸ÑĞ½Ğ¸ Ğ³Ñ€ĞµÑˆĞºĞ¸",
+DlgSpellNoChanges		: "ĞŸÑ€Ğ¾Ğ²ĞµÑ€ĞºĞ°Ñ‚Ğ° Ğ·Ğ° Ğ¿Ñ€Ğ°Ğ²Ğ¾Ğ¿Ğ¸Ñ Ğ·Ğ°Ğ²ÑŠÑ€ÑˆĞµĞ½Ğ°: Ğ½ÑĞ¼Ğ° Ğ¿Ñ€Ğ¾Ğ¼ĞµĞ½ĞµĞ½Ğ¸ Ğ´ÑƒĞ¼Ğ¸",
+DlgSpellOneChange		: "ĞŸÑ€Ğ¾Ğ²ĞµÑ€ĞºĞ°Ñ‚Ğ° Ğ·Ğ° Ğ¿Ñ€Ğ°Ğ²Ğ¾Ğ¿Ğ¸Ñ Ğ·Ğ°Ğ²ÑŠÑ€ÑˆĞµĞ½Ğ°: ĞµĞ´Ğ½Ğ° Ğ´ÑƒĞ¼Ğ° Ğµ Ğ¿Ñ€Ğ¾Ğ¼ĞµĞ½ĞµĞ½Ğ°",
+DlgSpellManyChanges		: "ĞŸÑ€Ğ¾Ğ²ĞµÑ€ĞºĞ°Ñ‚Ğ° Ğ·Ğ° Ğ¿Ñ€Ğ°Ğ²Ğ¾Ğ¿Ğ¸Ñ Ğ·Ğ°Ğ²ÑŠÑ€ÑˆĞµĞ½Ğ°: %1 Ğ´ÑƒĞ¼Ğ¸ ÑĞ° Ğ¿Ñ€Ğ¾Ğ¼ĞµĞ½ĞµĞ½Ğ¸",
+
+IeSpellDownload			: "Ğ˜Ğ½ÑÑ‚Ñ€ÑƒĞ¼ĞµĞ½Ñ‚ÑŠÑ‚ Ğ·Ğ° Ğ¿Ñ€Ğ¾Ğ²ĞµÑ€ĞºĞ° Ğ½Ğ° Ğ¿Ñ€Ğ°Ğ²Ğ¾Ğ¿Ğ¸Ñ Ğ½Ğµ Ğµ Ğ¸Ğ½ÑÑ‚Ğ°Ğ»Ğ¸Ñ€Ğ°Ğ½. Ğ–ĞµĞ»Ğ°ĞµÑ‚Ğµ Ğ»Ğ¸ Ğ´Ğ° Ğ³Ğ¾ Ğ¸Ğ½ÑÑ‚Ğ°Ğ»Ğ¸Ñ€Ğ°Ñ‚Ğµ ?",
+
+// Button Dialog
+DlgButtonText		: "Ğ¢ĞµĞºÑÑ‚ (Ğ¡Ñ‚Ğ¾Ğ¹Ğ½Ğ¾ÑÑ‚)",
+DlgButtonType		: "Ğ¢Ğ¸Ğ¿",
+DlgButtonTypeBtn	: "Button",	//MISSING
+DlgButtonTypeSbm	: "Submit",	//MISSING
+DlgButtonTypeRst	: "Reset",	//MISSING
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Ğ˜Ğ¼Ğµ",
+DlgCheckboxValue	: "Ğ¡Ñ‚Ğ¾Ğ¹Ğ½Ğ¾ÑÑ‚",
+DlgCheckboxSelected	: "ĞÑ‚Ğ¼ĞµÑ‚Ğ½Ğ°Ñ‚Ğ¾",
+
+// Form Dialog
+DlgFormName		: "Ğ˜Ğ¼Ğµ",
+DlgFormAction	: "Ğ”ĞµĞ¹ÑÑ‚Ğ²Ğ¸Ğµ",
+DlgFormMethod	: "ĞœĞµÑ‚Ğ¾Ğ´",
+
+// Select Field Dialog
+DlgSelectName		: "Ğ˜Ğ¼Ğµ",
+DlgSelectValue		: "Ğ¡Ñ‚Ğ¾Ğ¹Ğ½Ğ¾ÑÑ‚",
+DlgSelectSize		: "Ğ Ğ°Ğ·Ğ¼ĞµÑ€",
+DlgSelectLines		: "Ğ»Ğ¸Ğ½Ğ¸Ğ¸",
+DlgSelectChkMulti	: "Ğ Ğ°Ğ·Ñ€ĞµÑˆĞµĞ½Ğ¾ Ğ¼Ğ½Ğ¾Ğ¶ĞµÑÑ‚Ğ²ĞµĞ½Ğ¾ ÑĞµĞ»ĞµĞºÑ‚Ğ¸Ñ€Ğ°Ğ½Ğµ",
+DlgSelectOpAvail	: "Ğ’ÑŠĞ·Ğ¼Ğ¾Ğ¶Ğ½Ğ¸ Ğ¾Ğ¿Ñ†Ğ¸Ğ¸",
+DlgSelectOpText		: "Ğ¢ĞµĞºÑÑ‚",
+DlgSelectOpValue	: "Ğ¡Ñ‚Ğ¾Ğ¹Ğ½Ğ¾ÑÑ‚",
+DlgSelectBtnAdd		: "Ğ”Ğ¾Ğ±Ğ°Ğ²Ğ¸",
+DlgSelectBtnModify	: "ĞŸÑ€Ğ¾Ğ¼ĞµĞ½Ğ¸",
+DlgSelectBtnUp		: "ĞĞ°Ğ³Ğ¾Ñ€Ğµ",
+DlgSelectBtnDown	: "ĞĞ°Ğ´Ğ¾Ğ»Ñƒ",
+DlgSelectBtnSetValue : "ĞĞ°ÑÑ‚Ñ€Ğ¾Ğ¹ ĞºĞ°Ñ‚Ğ¾ Ğ¸Ğ·Ğ±Ñ€Ğ°Ğ½Ğ° ÑÑ‚Ğ¾Ğ¹Ğ½Ğ¾ÑÑ‚",
+DlgSelectBtnDelete	: "Ğ˜Ğ·Ñ‚Ñ€Ğ¸Ğ¹",
+
+// Textarea Dialog
+DlgTextareaName	: "Ğ˜Ğ¼Ğµ",
+DlgTextareaCols	: "ĞšĞ¾Ğ»Ğ¾Ğ½Ğ¸",
+DlgTextareaRows	: "Ğ ĞµĞ´Ğ¾Ğ²Ğµ",
+
+// Text Field Dialog
+DlgTextName			: "Ğ˜Ğ¼Ğµ",
+DlgTextValue		: "Ğ¡Ñ‚Ğ¾Ğ¹Ğ½Ğ¾ÑÑ‚",
+DlgTextCharWidth	: "Ğ¨Ğ¸Ñ€Ğ¸Ğ½Ğ° Ğ½Ğ° ÑĞ¸Ğ¼Ğ²Ğ¾Ğ»Ğ¸Ñ‚Ğµ",
+DlgTextMaxChars		: "ĞœĞ°ĞºÑĞ¸Ğ¼ÑƒĞ¼ ÑĞ¸Ğ¼Ğ²Ğ¾Ğ»Ğ¸",
+DlgTextType			: "Ğ¢Ğ¸Ğ¿",
+DlgTextTypeText		: "Ğ¢ĞµĞºÑÑ‚",
+DlgTextTypePass		: "ĞŸĞ°Ñ€Ğ¾Ğ»Ğ°",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Ğ˜Ğ¼Ğµ",
+DlgHiddenValue	: "Ğ¡Ñ‚Ğ¾Ğ¹Ğ½Ğ¾ÑÑ‚",
+
+// Bulleted List Dialog
+BulletedListProp	: "ĞŸĞ°Ñ€Ğ°Ğ¼ĞµÑ‚Ñ€Ğ¸ Ğ½Ğ° Ğ½ĞµĞ½ÑƒĞ¼ĞµÑ€Ğ¸Ñ€Ğ°Ğ½Ğ¸Ñ ÑĞ¿Ğ¸ÑÑŠĞº",
+NumberedListProp	: "ĞŸĞ°Ñ€Ğ°Ğ¼ĞµÑ‚Ñ€Ğ¸ Ğ½Ğ° Ğ½ÑƒĞ¼ĞµÑ€Ğ¸Ñ€Ğ°Ğ½Ğ¸Ñ ÑĞ¿Ğ¸ÑÑŠĞº",
+DlgLstStart			: "Start",	//MISSING
+DlgLstType			: "Ğ¢Ğ¸Ğ¿",
+DlgLstTypeCircle	: "ĞĞºÑ€ÑŠĞ¶Ğ½Ğ¾ÑÑ‚",
+DlgLstTypeDisc		: "ĞšÑ€ÑŠĞ³",
+DlgLstTypeSquare	: "ĞšĞ²Ğ°Ğ´Ñ€Ğ°Ñ‚",
+DlgLstTypeNumbers	: "Ğ§Ğ¸ÑĞ»Ğ° (1, 2, 3)",
+DlgLstTypeLCase		: "ĞœĞ°Ğ»ĞºĞ¸ Ğ±ÑƒĞºĞ²Ğ¸ (a, b, c)",
+DlgLstTypeUCase		: "Ğ“Ğ¾Ğ»ĞµĞ¼Ğ¸ Ğ±ÑƒĞºĞ²Ğ¸ (A, B, C)",
+DlgLstTypeSRoman	: "ĞœĞ°Ğ»ĞºĞ¸ Ñ€Ğ¸Ğ¼ÑĞºĞ¸ Ñ‡Ğ¸ÑĞ»Ğ° (i, ii, iii)",
+DlgLstTypeLRoman	: "Ğ“Ğ¾Ğ»ĞµĞ¼Ğ¸ Ñ€Ğ¸Ğ¼ÑĞºĞ¸ Ñ‡Ğ¸ÑĞ»Ğ° (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "ĞĞ±Ñ‰Ğ¸",
+DlgDocBackTab		: "Ğ¤Ğ¾Ğ½",
+DlgDocColorsTab		: "Ğ¦Ğ²ĞµÑ‚Ğ¾Ğ²Ğµ Ğ¸ Ğ¾Ñ‚ÑÑ‚ÑŠĞ¿Ğ¸",
+DlgDocMetaTab		: "ĞœĞµÑ‚Ğ° Ğ´Ğ°Ğ½Ğ½Ğ¸",
+
+DlgDocPageTitle		: "Ğ—Ğ°Ğ³Ğ»Ğ°Ğ²Ğ¸Ğµ Ğ½Ğ° ÑÑ‚Ñ€Ğ°Ğ½Ğ¸Ñ†Ğ°Ñ‚Ğ°",
+DlgDocLangDir		: "ĞŸĞ¾ÑĞ¾ĞºĞ° Ğ½Ğ° Ñ€ĞµÑ‡Ñ‚Ğ°",
+DlgDocLangDirLTR	: "ĞÑ‚ Ğ»ÑĞ²Ğ¾ Ğ½Ğ° Ğ´ÑÑĞ½Ğ¾",
+DlgDocLangDirRTL	: "ĞÑ‚ Ğ´ÑÑĞ½Ğ¾ Ğ½Ğ° Ğ»ÑĞ²Ğ¾",
+DlgDocLangCode		: "ĞšĞ¾Ğ´ Ğ½Ğ° ĞµĞ·Ğ¸ĞºĞ°",
+DlgDocCharSet		: "ĞšĞ¾Ğ´Ğ¸Ñ€Ğ°Ğ½Ğµ Ğ½Ğ° ÑĞ¸Ğ¼Ğ²Ğ¾Ğ»Ğ¸Ñ‚Ğµ",
+DlgDocCharSetCE		: "Central European",	//MISSING
+DlgDocCharSetCT		: "Chinese Traditional (Big5)",	//MISSING
+DlgDocCharSetCR		: "Cyrillic",	//MISSING
+DlgDocCharSetGR		: "Greek",	//MISSING
+DlgDocCharSetJP		: "Japanese",	//MISSING
+DlgDocCharSetKR		: "Korean",	//MISSING
+DlgDocCharSetTR		: "Turkish",	//MISSING
+DlgDocCharSetUN		: "Unicode (UTF-8)",	//MISSING
+DlgDocCharSetWE		: "Western European",	//MISSING
+DlgDocCharSetOther	: "Ğ”Ñ€ÑƒĞ³Ğ¾ ĞºĞ¾Ğ´Ğ¸Ñ€Ğ°Ğ½Ğµ Ğ½Ğ° ÑĞ¸Ğ¼Ğ²Ğ¾Ğ»Ğ¸Ñ‚Ğµ",
+
+DlgDocDocType		: "Ğ¢Ğ¸Ğ¿ Ğ½Ğ° Ğ´Ğ¾ĞºÑƒĞ¼ĞµĞ½Ñ‚Ğ°",
+DlgDocDocTypeOther	: "Ğ”Ñ€ÑƒĞ³ Ñ‚Ğ¸Ğ¿ Ğ½Ğ° Ğ´Ğ¾ĞºÑƒĞ¼ĞµĞ½Ñ‚Ğ°",
+DlgDocIncXHTML		: "Ğ’ĞºĞ»ÑÑ‡Ğ¸ XHTML Ğ´ĞµĞºĞ»Ğ°Ñ€Ğ°Ñ†Ğ¸Ñ",
+DlgDocBgColor		: "Ğ¦Ğ²ÑÑ‚ Ğ½Ğ° Ñ„Ğ¾Ğ½Ğ°",
+DlgDocBgImage		: "ĞŸÑŠĞ»ĞµĞ½ Ğ¿ÑŠÑ‚ Ğ´Ğ¾ Ñ„Ğ¾Ğ½Ğ¾Ğ²Ğ¾Ñ‚Ğ¾ Ğ¸Ğ·Ğ¾Ğ±Ñ€Ğ°Ğ¶ĞµĞ½Ğ¸Ğµ",
+DlgDocBgNoScroll	: "ĞĞµ-Ğ¿Ğ¾Ğ²Ñ‚Ğ°Ñ€ÑÑ‰Ğ¾ ÑĞµ Ñ„Ğ¾Ğ½Ğ¾Ğ²Ğ¾ Ğ¸Ğ·Ğ¾Ğ±Ñ€Ğ°Ğ¶ĞµĞ½Ğ¸Ğµ",
+DlgDocCText			: "Ğ¢ĞµĞºÑÑ‚",
+DlgDocCLink			: "Ğ’Ñ€ÑŠĞ·ĞºĞ°",
+DlgDocCVisited		: "ĞŸĞ¾ÑĞµÑ‚ĞµĞ½Ğ° Ğ²Ñ€ÑŠĞ·ĞºĞ°",
+DlgDocCActive		: "ĞĞºÑ‚Ğ¸Ğ²Ğ½Ğ° Ğ²Ñ€ÑŠĞ·ĞºĞ°",
+DlgDocMargins		: "ĞÑ‚ÑÑ‚ÑŠĞ¿Ğ¸ Ğ½Ğ° ÑÑ‚Ñ€Ğ°Ğ½Ğ¸Ñ†Ğ°Ñ‚Ğ°",
+DlgDocMaTop			: "Ğ“Ğ¾Ñ€Ğµ",
+DlgDocMaLeft		: "Ğ›ÑĞ²Ğ¾",
+DlgDocMaRight		: "Ğ”ÑÑĞ½Ğ¾",
+DlgDocMaBottom		: "Ğ”Ğ¾Ğ»Ñƒ",
+DlgDocMeIndex		: "ĞšĞ»ÑÑ‡Ğ¾Ğ²Ğ¸ Ğ´ÑƒĞ¼Ğ¸ Ğ·Ğ° Ğ´Ğ¾ĞºÑƒĞ¼ĞµĞ½Ñ‚Ğ° (Ñ€Ğ°Ğ·Ğ´ĞµĞ»ĞµĞ½Ğ¸ ÑÑŠÑ Ğ·Ğ°Ğ¿ĞµÑ‚Ğ°Ğ¸)",
+DlgDocMeDescr		: "ĞĞ¿Ğ¸ÑĞ°Ğ½Ğ¸Ğµ Ğ½Ğ° Ğ´Ğ¾ĞºÑƒĞ¼ĞµĞ½Ñ‚Ğ°",
+DlgDocMeAuthor		: "ĞĞ²Ñ‚Ğ¾Ñ€",
+DlgDocMeCopy		: "ĞĞ²Ñ‚Ğ¾Ñ€ÑĞºĞ¸ Ğ¿Ñ€Ğ°Ğ²Ğ°",
+DlgDocPreview		: "Ğ˜Ğ·Ğ³Ğ»ĞµĞ´",
+
+// Templates Dialog
+Templates			: "Ğ¨Ğ°Ğ±Ğ»Ğ¾Ğ½Ğ¸",
+DlgTemplatesTitle	: "Ğ¨Ğ°Ğ±Ğ»Ğ¾Ğ½Ğ¸",
+DlgTemplatesSelMsg	: "Ğ˜Ğ·Ğ±ĞµÑ€ĞµÑ‚Ğµ ÑˆĞ°Ğ±Ğ»Ğ¾Ğ½ <br>(Ñ‚ĞµĞºÑƒÑ‰Ğ¾Ñ‚Ğ¾ ÑÑŠĞ´ÑŠÑ€Ğ¶Ğ°Ğ½Ğ¸Ğµ Ğ½Ğ° Ñ€ĞµĞ´Ğ°ĞºÑ‚Ğ¾Ñ€Ğ° Ñ‰Ğµ Ğ±ÑŠĞ´Ğµ Ğ·Ğ°Ğ³ÑƒĞ±ĞµĞ½Ğ¾):",
+DlgTemplatesLoading	: "Ğ—Ğ°Ñ€ĞµĞ¶Ğ´Ğ°Ğ½Ğµ Ğ½Ğ° ÑĞ¿Ğ¸ÑÑŠĞºĞ° Ñ ÑˆĞ°Ğ±Ğ»Ğ¾Ğ½Ğ¸Ñ‚Ğµ. ĞœĞ¾Ğ»Ñ Ğ¸Ğ·Ñ‡Ğ°ĞºĞ°Ğ¹Ñ‚Ğµ...",
+DlgTemplatesNoTpl	: "(ĞÑĞ¼Ğ° Ğ´ĞµÑ„Ğ¸Ğ½Ğ¸Ñ€Ğ°Ğ½Ğ¸ ÑˆĞ°Ğ±Ğ»Ğ¾Ğ½Ğ¸)",
+DlgTemplatesReplace	: "Replace actual contents",	//MISSING
+
+// About Dialog
+DlgAboutAboutTab	: "Ğ—Ğ°",
+DlgAboutBrowserInfoTab	: "Ğ˜Ğ½Ñ„Ğ¾Ñ€Ğ¼Ğ°Ñ†Ğ¸Ñ Ğ·Ğ° Ğ±Ñ€Ğ°ÑƒĞ·ÑŠÑ€Ğ°",
+DlgAboutLicenseTab	: "License",	//MISSING
+DlgAboutVersion		: "Ğ²ĞµÑ€ÑĞ¸Ñ",
+DlgAboutInfo		: "Ğ—Ğ° Ğ¿Ğ¾Ğ²ĞµÑ‡Ğµ Ğ¸Ğ½Ñ„Ğ¾Ñ€Ğ¼Ğ°Ñ†Ğ¸Ñ Ğ¿Ğ¾ÑĞµÑ‚ĞµÑ‚Ğµ",
+DlgAboutModule		: "Developed for Website Baker<br />modul version 2.9.4",
+
+// Div Dialog
+DlgDivGeneralTab	: "General",	//MISSING
+DlgDivAdvancedTab	: "Advanced",	//MISSING
+DlgDivStyle		: "Style",	//MISSING
+DlgDivInlineStyle	: "Inline Style",	//MISSING
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/de.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/de.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/de.js	(revision 1481)
@@ -0,0 +1,541 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * German language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Symbolleiste einklappen",
+ToolbarExpand		: "Symbolleiste ausklappen",
+
+// Toolbar Items and Context Menu
+Save				: "Speichern",
+NewPage				: "Neue Seite",
+Preview				: "Vorschau",
+Cut					: "Ausschneiden",
+Copy				: "Kopieren",
+Paste				: "EinfÃ¼gen",
+PasteText			: "aus Textdatei einfÃ¼gen",
+PasteWord			: "aus MS-Word einfÃ¼gen",
+Print				: "Drucken",
+SelectAll			: "Alles auswÃ¤hlen",
+RemoveFormat		: "Formatierungen entfernen",
+InsertLinkLbl		: "Link",
+InsertLink			: "Link einfÃ¼gen/editieren",
+RemoveLink			: "Link entfernen",
+VisitLink			: "Link aufrufen",
+Anchor				: "Anker einfÃ¼gen/editieren",
+AnchorDelete		: "Anker entfernen",
+InsertImageLbl		: "Bild",
+InsertImage			: "Bild einfÃ¼gen/editieren",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Flash einfÃ¼gen/editieren",
+InsertTableLbl		: "Tabelle",
+InsertTable			: "Tabelle einfÃ¼gen/editieren",
+InsertLineLbl		: "Linie",
+InsertLine			: "Horizontale Linie einfÃ¼gen",
+InsertSpecialCharLbl: "Sonderzeichen",
+InsertSpecialChar	: "Sonderzeichen einfÃ¼gen/editieren",
+InsertSmileyLbl		: "Smiley",
+InsertSmiley		: "Smiley einfÃ¼gen",
+About				: "Ãœber FCKeditor",
+Bold				: "Fett",
+Italic				: "Kursiv",
+Underline			: "Unterstrichen",
+StrikeThrough		: "Durchgestrichen",
+Subscript			: "Tiefgestellt",
+Superscript			: "Hochgestellt",
+LeftJustify			: "LinksbÃ¼ndig",
+CenterJustify		: "Zentriert",
+RightJustify		: "RechtsbÃ¼ndig",
+BlockJustify		: "Blocksatz",
+DecreaseIndent		: "Einzug verringern",
+IncreaseIndent		: "Einzug erhÃ¶hen",
+Blockquote			: "Zitatblock",
+CreateDiv			: "Erzeuge Div Block",
+EditDiv				: "Bearbeite Div Block",
+DeleteDiv			: "Entferne Div Block",
+Undo				: "RÃ¼ckgÃ¤ngig",
+Redo				: "Wiederherstellen",
+NumberedListLbl		: "Nummerierte Liste",
+NumberedList		: "Nummerierte Liste einfÃ¼gen/entfernen",
+BulletedListLbl		: "Liste",
+BulletedList		: "Liste einfÃ¼gen/entfernen",
+ShowTableBorders	: "Zeige Tabellenrahmen",
+ShowDetails			: "Zeige Details",
+Style				: "Stil",
+FontFormat			: "Format",
+Font				: "Schriftart",
+FontSize			: "GrÃ¶ÃŸe",
+TextColor			: "Textfarbe",
+BGColor				: "Hintergrundfarbe",
+Source				: "Quellcode",
+Find				: "Suchen",
+Replace				: "Ersetzen",
+SpellCheck			: "RechtschreibprÃ¼fung",
+UniversalKeyboard	: "Universal-Tastatur",
+PageBreakLbl		: "Seitenumbruch",
+PageBreak			: "Seitenumbruch einfÃ¼gen",
+
+Form			: "Formular",
+Checkbox		: "Checkbox",
+RadioButton		: "Radiobutton",
+TextField		: "Textfeld einzeilig",
+Textarea		: "Textfeld mehrzeilig",
+HiddenField		: "verstecktes Feld",
+Button			: "Klickbutton",
+SelectionField	: "Auswahlfeld",
+ImageButton		: "Bildbutton",
+
+FitWindow		: "Editor maximieren",
+ShowBlocks		: "BlÃ¶cke anzeigen",
+
+// Context Menu
+EditLink			: "Link editieren",
+CellCM				: "Zelle",
+RowCM				: "Zeile",
+ColumnCM			: "Spalte",
+InsertRowAfter		: "Zeile unterhalb einfÃ¼gen",
+InsertRowBefore		: "Zeile oberhalb einfÃ¼gen",
+DeleteRows			: "Zeile entfernen",
+InsertColumnAfter	: "Spalte rechts danach einfÃ¼gen",
+InsertColumnBefore	: "Spalte links davor einfÃ¼gen",
+DeleteColumns		: "Spalte lÃ¶schen",
+InsertCellAfter		: "Zelle danach einfÃ¼gen",
+InsertCellBefore	: "Zelle davor einfÃ¼gen",
+DeleteCells			: "Zelle lÃ¶schen",
+MergeCells			: "Zellen verbinden",
+MergeRight			: "nach rechts verbinden",
+MergeDown			: "nach unten verbinden",
+HorizontalSplitCell	: "Zelle horizontal teilen",
+VerticalSplitCell	: "Zelle vertikal teilen",
+TableDelete			: "Tabelle lÃ¶schen",
+CellProperties		: "Zellen-Eigenschaften",
+TableProperties		: "Tabellen-Eigenschaften",
+ImageProperties		: "Bild-Eigenschaften",
+FlashProperties		: "Flash-Eigenschaften",
+
+AnchorProp			: "Anker-Eigenschaften",
+ButtonProp			: "Button-Eigenschaften",
+CheckboxProp		: "Checkbox-Eigenschaften",
+HiddenFieldProp		: "Verstecktes Feld-Eigenschaften",
+RadioButtonProp		: "Optionsfeld-Eigenschaften",
+ImageButtonProp		: "Bildbutton-Eigenschaften",
+TextFieldProp		: "Textfeld (einzeilig) Eigenschaften",
+SelectionFieldProp	: "Auswahlfeld-Eigenschaften",
+TextareaProp		: "Textfeld (mehrzeilig) Eigenschaften",
+FormProp			: "Formular-Eigenschaften",
+
+FontFormats			: "Normal;Formatiert;Addresse;Ãœberschrift 1;Ãœberschrift 2;Ãœberschrift 3;Ãœberschrift 4;Ãœberschrift 5;Ãœberschrift 6;Normal (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "Bearbeite XHTML. Bitte warten...",
+Done				: "Fertig",
+PasteWordConfirm	: "Der Text, den Sie einfÃ¼gen mÃ¶chten, scheint aus MS-Word kopiert zu sein. MÃ¶chten Sie ihn zuvor bereinigen lassen?",
+NotCompatiblePaste	: "Diese Funktion steht nur im Internet Explorer ab Version 5.5 zur VerfÃ¼gung. MÃ¶chten Sie den Text unbereinigt einfÃ¼gen?",
+UnknownToolbarItem	: "Unbekanntes MenÃ¼leisten-Objekt \"%1\"",
+UnknownCommand		: "Unbekannter Befehl \"%1\"",
+NotImplemented		: "Befehl nicht implementiert",
+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",
+BrowseServerBlocked : "Ein Auswahlfenster konnte nicht geÃ¶ffnet werden. Stellen Sie sicher, das alle Popup-Blocker ausgeschaltet sind.",
+DialogBlocked		: "Das Dialog-Fenster konnte nicht geÃ¶ffnet werden. Stellen Sie sicher, das alle Popup-Blocker ausgeschaltet sind.",
+VisitLinkBlocked	: "Es war leider nicht mÃ¶glich ein neues Fenster zu Ã¶ffnen. Bitte versichern Sie sich das der Popup-Blocker ausgeschaltet ist.",
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Abbrechen",
+DlgBtnClose			: "SchlieÃŸen",
+DlgBtnBrowseServer	: "Server durchsuchen",
+DlgAdvancedTag		: "Erweitert",
+DlgOpOther			: "<andere>",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "Bitte tragen Sie die URL ein",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<nichts>",
+DlgGenId			: "ID",
+DlgGenLangDir		: "Schreibrichtung",
+DlgGenLangDirLtr	: "Links nach Rechts (LTR)",
+DlgGenLangDirRtl	: "Rechts nach Links (RTL)",
+DlgGenLangCode		: "SprachenkÃ¼rzel",
+DlgGenAccessKey		: "Zugriffstaste",
+DlgGenName			: "Name",
+DlgGenTabIndex		: "Tab-Index",
+DlgGenLongDescr		: "Langform URL",
+DlgGenClass			: "Stylesheet Klasse",
+DlgGenTitle			: "Titel Beschreibung",
+DlgGenContType		: "Inhaltstyp",
+DlgGenContRel		: "Relationtyp",
+DlgGenLinkCharset	: "Ziel-Zeichensatz",
+DlgGenStyle			: "Style",
+
+// Image Dialog
+DlgImgTitle			: "Bild-Eigenschaften",
+DlgImgInfoTab		: "Bild-Info",
+DlgImgBtnUpload		: "Zum Server senden",
+DlgImgURL			: "Bildauswahl",
+DlgImgUpload		: "Upload",
+DlgImgAlt			: "Alternativer Text",
+DlgImgWidth			: "Breite",
+DlgImgHeight		: "HÃ¶he",
+DlgImgLockRatio		: "GrÃ¶ÃŸenverhÃ¤ltniss beibehalten",
+DlgBtnResetSize		: "GrÃ¶ÃŸe zurÃ¼cksetzen",
+DlgImgBorder		: "Rahmen",
+DlgImgHSpace		: "Horizontal-Abstand",
+DlgImgVSpace		: "Vertikal-Abstand",
+DlgImgAlign			: "Ausrichtung",
+DlgImgAlignLeft		: "Links",
+DlgImgAlignAbsBottom: "Abs Unten",
+DlgImgAlignAbsMiddle: "Abs Mitte",
+DlgImgAlignBaseline	: "Baseline",
+DlgImgAlignBottom	: "Unten",
+DlgImgAlignMiddle	: "Mitte",
+DlgImgAlignRight	: "Rechts",
+DlgImgAlignTextTop	: "Text Oben",
+DlgImgAlignTop		: "Oben",
+DlgImgPreview		: "Vorschau",
+DlgImgAlertUrl		: "Bitte geben Sie die Bild-URL an",
+DlgImgLinkTab		: "Link",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash-Eigenschaften",
+DlgFlashChkPlay		: "autom. Abspielen",
+DlgFlashChkLoop		: "Endlosschleife",
+DlgFlashChkMenu		: "Flash-MenÃ¼ aktivieren",
+DlgFlashScale		: "Skalierung",
+DlgFlashScaleAll	: "Alles anzeigen",
+DlgFlashScaleNoBorder	: "ohne Rand",
+DlgFlashScaleFit	: "Passgenau",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Link",
+DlgLnkInfoTab		: "Link-Info",
+DlgLnkTargetTab		: "Zielseite",
+
+DlgLnkType			: "Link-Typ",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Anker in dieser Seite",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protokoll",
+DlgLnkProtoOther	: "<anderes>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Anker auswÃ¤hlen",
+DlgLnkAnchorByName	: "nach Anker Name",
+DlgLnkAnchorById	: "nach Element Id",
+DlgLnkNoAnchors		: "(keine Anker im Dokument vorhanden)",
+DlgLnkEMail			: "E-Mail Addresse",
+DlgLnkEMailSubject	: "Betreffzeile",
+DlgLnkEMailBody		: "Nachrichtentext",
+DlgLnkUpload		: "Upload",
+DlgLnkBtnUpload		: "Zum Server senden",
+
+DlgLnkTarget		: "Zielseite",
+DlgLnkTargetFrame	: "<Frame>",
+DlgLnkTargetPopup	: "<Pop-up Fenster>",
+DlgLnkTargetBlank	: "Neues Fenster (_blank)",
+DlgLnkTargetParent	: "Oberes Fenster (_parent)",
+DlgLnkTargetSelf	: "Gleiches Fenster (_self)",
+DlgLnkTargetTop		: "Oberstes Fenster (_top)",
+DlgLnkTargetFrameName	: "Ziel-Fenster-Name",
+DlgLnkPopWinName	: "Pop-up Fenster-Name",
+DlgLnkPopWinFeat	: "Pop-up Fenster-Eigenschaften",
+DlgLnkPopResize		: "VergrÃ¶ÃŸerbar",
+DlgLnkPopLocation	: "Adress-Leiste",
+DlgLnkPopMenu		: "MenÃ¼-Leiste",
+DlgLnkPopScroll		: "Rollbalken",
+DlgLnkPopStatus		: "Statusleiste",
+DlgLnkPopToolbar	: "Werkzeugleiste",
+DlgLnkPopFullScrn	: "Vollbild (IE)",
+DlgLnkPopDependent	: "AbhÃ¤ngig (Netscape)",
+DlgLnkPopWidth		: "Breite",
+DlgLnkPopHeight		: "HÃ¶he",
+DlgLnkPopLeft		: "Linke Position",
+DlgLnkPopTop		: "Obere Position",
+
+DlnLnkMsgNoUrl		: "Bitte geben Sie die Link-URL an",
+DlnLnkMsgNoEMail	: "Bitte geben Sie e-Mail Adresse an",
+DlnLnkMsgNoAnchor	: "Bitte wÃ¤hlen Sie einen Anker aus",
+DlnLnkMsgInvPopName	: "Der Name des Popups muss mit einem Buchstaben beginnen und darf keine Leerzeichen enthalten",
+
+// Color Dialog
+DlgColorTitle		: "Farbauswahl",
+DlgColorBtnClear	: "Keine Farbe",
+DlgColorHighlight	: "Vorschau",
+DlgColorSelected	: "AusgewÃ¤hlt",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Smiley auswÃ¤hlen",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Sonderzeichen auswÃ¤hlen",
+
+// Table Dialog
+DlgTableTitle		: "Tabellen-Eigenschaften",
+DlgTableRows		: "Zeile",
+DlgTableColumns		: "Spalte",
+DlgTableBorder		: "Rahmen",
+DlgTableAlign		: "Ausrichtung",
+DlgTableAlignNotSet	: "<keine>",
+DlgTableAlignLeft	: "Links",
+DlgTableAlignCenter	: "Zentriert",
+DlgTableAlignRight	: "Rechts",
+DlgTableWidth		: "Breite",
+DlgTableWidthPx		: "Pixel",
+DlgTableWidthPc		: "%",
+DlgTableHeight		: "HÃ¶he",
+DlgTableCellSpace	: "Zellenabstand auÃŸen",
+DlgTableCellPad		: "Zellenabstand innen",
+DlgTableCaption		: "Ãœberschrift",
+DlgTableSummary		: "InhaltsÃ¼bersicht",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "Zellen-Eigenschaften",
+DlgCellWidth		: "Breite",
+DlgCellWidthPx		: "Pixel",
+DlgCellWidthPc		: "%",
+DlgCellHeight		: "HÃ¶he",
+DlgCellWordWrap		: "Umbruch",
+DlgCellWordWrapNotSet	: "<keiner>",
+DlgCellWordWrapYes	: "Ja",
+DlgCellWordWrapNo	: "Nein",
+DlgCellHorAlign		: "Horizontale Ausrichtung",
+DlgCellHorAlignNotSet	: "<keine>",
+DlgCellHorAlignLeft	: "Links",
+DlgCellHorAlignCenter	: "Zentriert",
+DlgCellHorAlignRight: "Rechts",
+DlgCellVerAlign		: "Vertikale Ausrichtung",
+DlgCellVerAlignNotSet	: "<keine>",
+DlgCellVerAlignTop	: "Oben",
+DlgCellVerAlignMiddle	: "Mitte",
+DlgCellVerAlignBottom	: "Unten",
+DlgCellVerAlignBaseline	: "Grundlinie",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "Zeilen zusammenfassen",
+DlgCellCollSpan		: "Spalten zusammenfassen",
+DlgCellBackColor	: "Hintergrundfarbe",
+DlgCellBorderColor	: "Rahmenfarbe",
+DlgCellBtnSelect	: "Auswahl...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Suchen und Ersetzen",
+
+// Find Dialog
+DlgFindTitle		: "Finden",
+DlgFindFindBtn		: "Finden",
+DlgFindNotFoundMsg	: "Der gesuchte Text wurde nicht gefunden.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Ersetzen",
+DlgReplaceFindLbl		: "Suche nach:",
+DlgReplaceReplaceLbl	: "Ersetze mit:",
+DlgReplaceCaseChk		: "GroÃŸ-Kleinschreibung beachten",
+DlgReplaceReplaceBtn	: "Ersetzen",
+DlgReplaceReplAllBtn	: "Alle Ersetzen",
+DlgReplaceWordChk		: "Nur ganze Worte suchen",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch auszuschneiden. Bitte benutzen Sie die System-Zwischenablage Ã¼ber STRG-X (ausschneiden) und STRG-V (einfÃ¼gen).",
+PasteErrorCopy	: "Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch kopieren. Bitte benutzen Sie die System-Zwischenablage Ã¼ber STRG-C (kopieren).",
+
+PasteAsText		: "Als Text einfÃ¼gen",
+PasteFromWord	: "Aus Word einfÃ¼gen",
+
+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>.",
+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.",
+DlgPasteIgnoreFont		: "Ignoriere Schriftart-Definitionen",
+DlgPasteRemoveStyles	: "Entferne Style-Definitionen",
+
+// Color Picker
+ColorAutomatic	: "Automatisch",
+ColorMoreColors	: "Weitere Farben...",
+
+// Document Properties
+DocProps		: "Dokument-Eigenschaften",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Anker-Eigenschaften",
+DlgAnchorName		: "Anker Name",
+DlgAnchorErrorName	: "Bitte geben Sie den Namen des Ankers ein",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Nicht im WÃ¶rterbuch",
+DlgSpellChangeTo		: "Ã„ndern in",
+DlgSpellBtnIgnore		: "Ignorieren",
+DlgSpellBtnIgnoreAll	: "Alle Ignorieren",
+DlgSpellBtnReplace		: "Ersetzen",
+DlgSpellBtnReplaceAll	: "Alle Ersetzen",
+DlgSpellBtnUndo			: "RÃ¼ckgÃ¤ngig",
+DlgSpellNoSuggestions	: " - keine VorschlÃ¤ge - ",
+DlgSpellProgress		: "RechtschreibprÃ¼fung lÃ¤uft...",
+DlgSpellNoMispell		: "RechtschreibprÃ¼fung abgeschlossen - keine Fehler gefunden",
+DlgSpellNoChanges		: "RechtschreibprÃ¼fung abgeschlossen - keine Worte geÃ¤ndert",
+DlgSpellOneChange		: "RechtschreibprÃ¼fung abgeschlossen - ein Wort geÃ¤ndert",
+DlgSpellManyChanges		: "RechtschreibprÃ¼fung abgeschlossen - %1 WÃ¶rter geÃ¤ndert",
+
+IeSpellDownload			: "RechtschreibprÃ¼fung nicht installiert. MÃ¶chten Sie sie jetzt herunterladen?",
+
+// Button Dialog
+DlgButtonText		: "Text (Wert)",
+DlgButtonType		: "Typ",
+DlgButtonTypeBtn	: "Button",
+DlgButtonTypeSbm	: "Absenden",
+DlgButtonTypeRst	: "ZurÃ¼cksetzen",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Name",
+DlgCheckboxValue	: "Wert",
+DlgCheckboxSelected	: "ausgewÃ¤hlt",
+
+// Form Dialog
+DlgFormName		: "Name",
+DlgFormAction	: "Action",
+DlgFormMethod	: "Method",
+
+// Select Field Dialog
+DlgSelectName		: "Name",
+DlgSelectValue		: "Wert",
+DlgSelectSize		: "GrÃ¶ÃŸe",
+DlgSelectLines		: "Linien",
+DlgSelectChkMulti	: "Erlaube Mehrfachauswahl",
+DlgSelectOpAvail	: "MÃ¶gliche Optionen",
+DlgSelectOpText		: "Text",
+DlgSelectOpValue	: "Wert",
+DlgSelectBtnAdd		: "HinzufÃ¼gen",
+DlgSelectBtnModify	: "Ã„ndern",
+DlgSelectBtnUp		: "Hoch",
+DlgSelectBtnDown	: "Runter",
+DlgSelectBtnSetValue : "Setze als Standardwert",
+DlgSelectBtnDelete	: "Entfernen",
+
+// Textarea Dialog
+DlgTextareaName	: "Name",
+DlgTextareaCols	: "Spalten",
+DlgTextareaRows	: "Reihen",
+
+// Text Field Dialog
+DlgTextName			: "Name",
+DlgTextValue		: "Wert",
+DlgTextCharWidth	: "Zeichenbreite",
+DlgTextMaxChars		: "Max. Zeichen",
+DlgTextType			: "Typ",
+DlgTextTypeText		: "Text",
+DlgTextTypePass		: "Passwort",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Name",
+DlgHiddenValue	: "Wert",
+
+// Bulleted List Dialog
+BulletedListProp	: "Listen-Eigenschaften",
+NumberedListProp	: "Nummerierte Listen-Eigenschaften",
+DlgLstStart			: "Start",
+DlgLstType			: "Typ",
+DlgLstTypeCircle	: "Ring",
+DlgLstTypeDisc		: "Kreis",
+DlgLstTypeSquare	: "Quadrat",
+DlgLstTypeNumbers	: "Nummern (1, 2, 3)",
+DlgLstTypeLCase		: "Kleinbuchstaben (a, b, c)",
+DlgLstTypeUCase		: "GroÃŸbuchstaben (A, B, C)",
+DlgLstTypeSRoman	: "Kleine rÃ¶mische Zahlen (i, ii, iii)",
+DlgLstTypeLRoman	: "GroÃŸe rÃ¶mische Zahlen (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Allgemein",
+DlgDocBackTab		: "Hintergrund",
+DlgDocColorsTab		: "Farben und AbstÃ¤nde",
+DlgDocMetaTab		: "Metadaten",
+
+DlgDocPageTitle		: "Seitentitel",
+DlgDocLangDir		: "Schriftrichtung",
+DlgDocLangDirLTR	: "Links nach Rechts",
+DlgDocLangDirRTL	: "Rechts nach Links",
+DlgDocLangCode		: "SprachkÃ¼rzel",
+DlgDocCharSet		: "Zeichenkodierung",
+DlgDocCharSetCE		: "ZentraleuropÃ¤isch",
+DlgDocCharSetCT		: "traditionell Chinesisch (Big5)",
+DlgDocCharSetCR		: "Kyrillisch",
+DlgDocCharSetGR		: "Griechisch",
+DlgDocCharSetJP		: "Japanisch",
+DlgDocCharSetKR		: "Koreanisch",
+DlgDocCharSetTR		: "TÃ¼rkisch",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "WesteuropÃ¤isch",
+DlgDocCharSetOther	: "Andere Zeichenkodierung",
+
+DlgDocDocType		: "Dokumententyp",
+DlgDocDocTypeOther	: "Anderer Dokumententyp",
+DlgDocIncXHTML		: "Beziehe XHTML Deklarationen ein",
+DlgDocBgColor		: "Hintergrundfarbe",
+DlgDocBgImage		: "Hintergrundbild URL",
+DlgDocBgNoScroll	: "feststehender Hintergrund",
+DlgDocCText			: "Text",
+DlgDocCLink			: "Link",
+DlgDocCVisited		: "Besuchter Link",
+DlgDocCActive		: "Aktiver Link",
+DlgDocMargins		: "SeitenrÃ¤nder",
+DlgDocMaTop			: "Oben",
+DlgDocMaLeft		: "Links",
+DlgDocMaRight		: "Rechts",
+DlgDocMaBottom		: "Unten",
+DlgDocMeIndex		: "SchlÃ¼sselwÃ¶rter (durch Komma getrennt)",
+DlgDocMeDescr		: "Dokument-Beschreibung",
+DlgDocMeAuthor		: "Autor",
+DlgDocMeCopy		: "Copyright",
+DlgDocPreview		: "Vorschau",
+
+// Templates Dialog
+Templates			: "Vorlagen",
+DlgTemplatesTitle	: "Vorlagen",
+DlgTemplatesSelMsg	: "Klicken Sie auf eine Vorlage, um sie im Editor zu Ã¶ffnen (der aktuelle Inhalt wird dabei gelÃ¶scht!):",
+DlgTemplatesLoading	: "Liste der Vorlagen wird geladen. Bitte warten...",
+DlgTemplatesNoTpl	: "(keine Vorlagen definiert)",
+DlgTemplatesReplace	: "Aktuellen Inhalt ersetzen",
+
+// About Dialog
+DlgAboutAboutTab	: "Ãœber",
+DlgAboutBrowserInfoTab	: "Browser-Info",
+DlgAboutLicenseTab	: "Lizenz",
+DlgAboutVersion		: "Version",
+DlgAboutInfo		: "FÃ¼r weitere Informationen siehe",
+DlgAboutModule		: "Anpassung fÃ¼r Website Baker<br />Modul Version 2.9.4",
+
+// Div Dialog
+DlgDivGeneralTab	: "Allgemein",
+DlgDivAdvancedTab	: "Erweitert",
+DlgDivStyle		: "Style",
+DlgDivInlineStyle	: "Inline Style",
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/sv.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/sv.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/sv.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Swedish language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "DÃ¶lj verktygsfÃ¤lt",
+ToolbarExpand		: "Visa verktygsfÃ¤lt",
+
+// Toolbar Items and Context Menu
+Save				: "Spara",
+NewPage				: "Ny sida",
+Preview				: "FÃ¶rhandsgranska",
+Cut					: "Klipp ut",
+Copy				: "Kopiera",
+Paste				: "Klistra in",
+PasteText			: "Klistra in som text",
+PasteWord			: "Klistra in frÃ¥n Word",
+Print				: "Skriv ut",
+SelectAll			: "Markera allt",
+RemoveFormat		: "Radera formatering",
+InsertLinkLbl		: "LÃ¤nk",
+InsertLink			: "Infoga/Redigera lÃ¤nk",
+RemoveLink			: "Radera lÃ¤nk",
+VisitLink			: "Open Link",	//MISSING
+Anchor				: "Infoga/Redigera ankarlÃ¤nk",
+AnchorDelete		: "Radera ankarlÃ¤nk",
+InsertImageLbl		: "Bild",
+InsertImage			: "Infoga/Redigera bild",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Infoga/Redigera Flash",
+InsertTableLbl		: "Tabell",
+InsertTable			: "Infoga/Redigera tabell",
+InsertLineLbl		: "Linje",
+InsertLine			: "Infoga horisontal linje",
+InsertSpecialCharLbl: "UtÃ¶kade tecken",
+InsertSpecialChar	: "Klistra in utÃ¶kat tecken",
+InsertSmileyLbl		: "Smiley",
+InsertSmiley		: "Infoga Smiley",
+About				: "Om FCKeditor",
+Bold				: "Fet",
+Italic				: "Kursiv",
+Underline			: "Understruken",
+StrikeThrough		: "Genomstruken",
+Subscript			: "NedsÃ¤nkta tecken",
+Superscript			: "UpphÃ¶jda tecken",
+LeftJustify			: "VÃ¤nsterjustera",
+CenterJustify		: "Centrera",
+RightJustify		: "HÃ¶gerjustera",
+BlockJustify		: "Justera till marginaler",
+DecreaseIndent		: "Minska indrag",
+IncreaseIndent		: "Ã–ka indrag",
+Blockquote			: "Blockquote",	//MISSING
+CreateDiv			: "Create Div Container",	//MISSING
+EditDiv				: "Edit Div Container",	//MISSING
+DeleteDiv			: "Remove Div Container",	//MISSING
+Undo				: "Ã…ngra",
+Redo				: "GÃ¶r om",
+NumberedListLbl		: "Numrerad lista",
+NumberedList		: "Infoga/Radera numrerad lista",
+BulletedListLbl		: "Punktlista",
+BulletedList		: "Infoga/Radera punktlista",
+ShowTableBorders	: "Visa tabellkant",
+ShowDetails			: "Visa radbrytningar",
+Style				: "Anpassad stil",
+FontFormat			: "Teckenformat",
+Font				: "Typsnitt",
+FontSize			: "Storlek",
+TextColor			: "TextfÃ¤rg",
+BGColor				: "BakgrundsfÃ¤rg",
+Source				: "KÃ¤lla",
+Find				: "SÃ¶k",
+Replace				: "ErsÃ¤tt",
+SpellCheck			: "Stavningskontroll",
+UniversalKeyboard	: "Universellt tangentbord",
+PageBreakLbl		: "Sidbrytning",
+PageBreak			: "Infoga sidbrytning",
+
+Form			: "FormulÃ¤r",
+Checkbox		: "Kryssruta",
+RadioButton		: "Alternativknapp",
+TextField		: "TextfÃ¤lt",
+Textarea		: "Textruta",
+HiddenField		: "Dolt fÃ¤lt",
+Button			: "Knapp",
+SelectionField	: "Flervalslista",
+ImageButton		: "Bildknapp",
+
+FitWindow		: "Anpassa till fÃ¶nstrets storlek",
+ShowBlocks		: "Show Blocks",	//MISSING
+
+// Context Menu
+EditLink			: "Redigera lÃ¤nk",
+CellCM				: "Cell",
+RowCM				: "Rad",
+ColumnCM			: "Kolumn",
+InsertRowAfter		: "LÃ¤gg till Rad Efter",
+InsertRowBefore		: "LÃ¤gg till Rad FÃ¶re",
+DeleteRows			: "Radera rad",
+InsertColumnAfter	: "LÃ¤gg till Kolumn Efter",
+InsertColumnBefore	: "LÃ¤gg till Kolumn FÃ¶re",
+DeleteColumns		: "Radera kolumn",
+InsertCellAfter		: "LÃ¤gg till Cell Efter",
+InsertCellBefore	: "LÃ¤gg till Cell FÃ¶re",
+DeleteCells			: "Radera celler",
+MergeCells			: "Sammanfoga celler",
+MergeRight			: "Sammanfoga HÃ¶ger",
+MergeDown			: "Sammanfoga Ner",
+HorizontalSplitCell	: "Dela Cell Horisontellt",
+VerticalSplitCell	: "Dela Cell Vertikalt",
+TableDelete			: "Radera tabell",
+CellProperties		: "Cellegenskaper",
+TableProperties		: "Tabellegenskaper",
+ImageProperties		: "Bildegenskaper",
+FlashProperties		: "Flashegenskaper",
+
+AnchorProp			: "Egenskaper fÃ¶r ankarlÃ¤nk",
+ButtonProp			: "Egenskaper fÃ¶r knapp",
+CheckboxProp		: "Egenskaper fÃ¶r kryssruta",
+HiddenFieldProp		: "Egenskaper fÃ¶r dolt fÃ¤lt",
+RadioButtonProp		: "Egenskaper fÃ¶r alternativknapp",
+ImageButtonProp		: "Egenskaper fÃ¶r bildknapp",
+TextFieldProp		: "Egenskaper fÃ¶r textfÃ¤lt",
+SelectionFieldProp	: "Egenskaper fÃ¶r flervalslista",
+TextareaProp		: "Egenskaper fÃ¶r textruta",
+FormProp			: "Egenskaper fÃ¶r formulÃ¤r",
+
+FontFormats			: "Normal;Formaterad;Adress;Rubrik 1;Rubrik 2;Rubrik 3;Rubrik 4;Rubrik 5;Rubrik 6;Normal (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "Bearbetar XHTML. Var god vÃ¤nta...",
+Done				: "Klar",
+PasteWordConfirm	: "Texten du vill klistra in verkar vara kopierad frÃ¥n Word. Vill du rensa innan du klistar in?",
+NotCompatiblePaste	: "Denna Ã¥tgÃ¤rd Ã¤r inte tillgÃ¤ngligt fÃ¶r Internet Explorer version 5.5 eller hÃ¶gre. Vill du klistra in utan att rensa?",
+UnknownToolbarItem	: "OkÃ¤nt verktygsfÃ¤lt \"%1\"",
+UnknownCommand		: "OkÃ¤nt kommando \"%1\"",
+NotImplemented		: "Kommandot finns ej",
+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Ã¥.",
+BrowseServerBlocked : "Kunde Ej Ã¶ppna resursfÃ¶nstret. Var god och avaktivera alla popup-blockerare.",
+DialogBlocked		: "Kunde Ej Ã¶ppna dialogfÃ¶nstret. Var god och avaktivera alla popup-blockerare.",
+VisitLinkBlocked	: "It was not possible to open a new window. Make sure all popup blockers are disabled.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Avbryt",
+DlgBtnClose			: "StÃ¤ng",
+DlgBtnBrowseServer	: "BlÃ¤ddra pÃ¥ server",
+DlgAdvancedTag		: "Avancerad",
+DlgOpOther			: "Ã–vrigt",
+DlgInfoTab			: "Information",
+DlgAlertUrl			: "Var god och ange en URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<ej angivet>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "SprÃ¥kriktning",
+DlgGenLangDirLtr	: "VÃ¤nster till HÃ¶ger (VTH)",
+DlgGenLangDirRtl	: "HÃ¶ger till VÃ¤nster (HTV)",
+DlgGenLangCode		: "SprÃ¥kkod",
+DlgGenAccessKey		: "BehÃ¶righetsnyckel",
+DlgGenName			: "Namn",
+DlgGenTabIndex		: "Tabindex",
+DlgGenLongDescr		: "URL-beskrivning",
+DlgGenClass			: "Stylesheet class",
+DlgGenTitle			: "Titel",
+DlgGenContType		: "InnehÃ¥llstyp",
+DlgGenLinkCharset	: "TeckenuppstÃ¤llning",
+DlgGenStyle			: "Style",
+
+// Image Dialog
+DlgImgTitle			: "Bildegenskaper",
+DlgImgInfoTab		: "Bildinformation",
+DlgImgBtnUpload		: "Skicka till server",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Ladda upp",
+DlgImgAlt			: "Alternativ text",
+DlgImgWidth			: "Bredd",
+DlgImgHeight		: "HÃ¶jd",
+DlgImgLockRatio		: "LÃ¥s hÃ¶jd/bredd fÃ¶rhÃ¥llanden",
+DlgBtnResetSize		: "Ã…terstÃ¤ll storlek",
+DlgImgBorder		: "Kant",
+DlgImgHSpace		: "Horis. marginal",
+DlgImgVSpace		: "Vert. marginal",
+DlgImgAlign			: "Justering",
+DlgImgAlignLeft		: "VÃ¤nster",
+DlgImgAlignAbsBottom: "Absolut nederkant",
+DlgImgAlignAbsMiddle: "Absolut centrering",
+DlgImgAlignBaseline	: "Baslinje",
+DlgImgAlignBottom	: "Nederkant",
+DlgImgAlignMiddle	: "Mitten",
+DlgImgAlignRight	: "HÃ¶ger",
+DlgImgAlignTextTop	: "Text Ã¶verkant",
+DlgImgAlignTop		: "Ã–verkant",
+DlgImgPreview		: "FÃ¶rhandsgranska",
+DlgImgAlertUrl		: "Var god och ange bildens URL",
+DlgImgLinkTab		: "LÃ¤nk",
+
+// Flash Dialog
+DlgFlashTitle		: "Flashegenskaper",
+DlgFlashChkPlay		: "Automatisk uppspelning",
+DlgFlashChkLoop		: "Upprepa/Loopa",
+DlgFlashChkMenu		: "Aktivera Flashmeny",
+DlgFlashScale		: "Skala",
+DlgFlashScaleAll	: "Visa allt",
+DlgFlashScaleNoBorder	: "Ingen ram",
+DlgFlashScaleFit	: "Exakt passning",
+
+// Link Dialog
+DlgLnkWindowTitle	: "LÃ¤nk",
+DlgLnkInfoTab		: "LÃ¤nkinformation",
+DlgLnkTargetTab		: "MÃ¥l",
+
+DlgLnkType			: "LÃ¤nktyp",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Ankare i sidan",
+DlgLnkTypeEMail		: "E-post",
+DlgLnkProto			: "Protokoll",
+DlgLnkProtoOther	: "<Ã¶vrigt>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "VÃ¤lj ett ankare",
+DlgLnkAnchorByName	: "efter ankarnamn",
+DlgLnkAnchorById	: "efter objektid",
+DlgLnkNoAnchors		: "(Inga ankare kunde hittas)",
+DlgLnkEMail			: "E-postadress",
+DlgLnkEMailSubject	: "Ã„mne",
+DlgLnkEMailBody		: "InnehÃ¥ll",
+DlgLnkUpload		: "Ladda upp",
+DlgLnkBtnUpload		: "Skicka till servern",
+
+DlgLnkTarget		: "MÃ¥l",
+DlgLnkTargetFrame	: "<ram>",
+DlgLnkTargetPopup	: "<popup-fÃ¶nster>",
+DlgLnkTargetBlank	: "Nytt fÃ¶nster (_blank)",
+DlgLnkTargetParent	: "FÃ¶regÃ¥ende Window (_parent)",
+DlgLnkTargetSelf	: "Detta fÃ¶nstret (_self)",
+DlgLnkTargetTop		: "Ã–versta fÃ¶nstret (_top)",
+DlgLnkTargetFrameName	: "MÃ¥lets ramnamn",
+DlgLnkPopWinName	: "Popup-fÃ¶nstrets namn",
+DlgLnkPopWinFeat	: "Popup-fÃ¶nstrets egenskaper",
+DlgLnkPopResize		: "Kan Ã¤ndra storlek",
+DlgLnkPopLocation	: "AdressfÃ¤lt",
+DlgLnkPopMenu		: "MenyfÃ¤lt",
+DlgLnkPopScroll		: "Scrolllista",
+DlgLnkPopStatus		: "StatusfÃ¤lt",
+DlgLnkPopToolbar	: "VerktygsfÃ¤lt",
+DlgLnkPopFullScrn	: "HelskÃ¤rm (endast IE)",
+DlgLnkPopDependent	: "Beroende (endest Netscape)",
+DlgLnkPopWidth		: "Bredd",
+DlgLnkPopHeight		: "HÃ¶jd",
+DlgLnkPopLeft		: "Position frÃ¥n vÃ¤nster",
+DlgLnkPopTop		: "Position frÃ¥n sidans topp",
+
+DlnLnkMsgNoUrl		: "Var god ange lÃ¤nkens URL",
+DlnLnkMsgNoEMail	: "Var god ange E-postadress",
+DlnLnkMsgNoAnchor	: "Var god ange ett ankare",
+DlnLnkMsgInvPopName	: "Popup-rutans namn mÃ¥ste bÃ¶rja med en alfabetisk bokstav och fÃ¥r inte innehÃ¥lla mellanslag",
+
+// Color Dialog
+DlgColorTitle		: "VÃ¤lj fÃ¤rg",
+DlgColorBtnClear	: "Rensa",
+DlgColorHighlight	: "Markera",
+DlgColorSelected	: "Vald",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Infoga smiley",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "VÃ¤lj utÃ¶kat tecken",
+
+// Table Dialog
+DlgTableTitle		: "Tabellegenskaper",
+DlgTableRows		: "Rader",
+DlgTableColumns		: "Kolumner",
+DlgTableBorder		: "Kantstorlek",
+DlgTableAlign		: "Justering",
+DlgTableAlignNotSet	: "<ej angivet>",
+DlgTableAlignLeft	: "VÃ¤nster",
+DlgTableAlignCenter	: "Centrerad",
+DlgTableAlignRight	: "HÃ¶ger",
+DlgTableWidth		: "Bredd",
+DlgTableWidthPx		: "pixlar",
+DlgTableWidthPc		: "procent",
+DlgTableHeight		: "HÃ¶jd",
+DlgTableCellSpace	: "CellavstÃ¥nd",
+DlgTableCellPad		: "Cellutfyllnad",
+DlgTableCaption		: "Rubrik",
+DlgTableSummary		: "Sammanfattning",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "Cellegenskaper",
+DlgCellWidth		: "Bredd",
+DlgCellWidthPx		: "pixlar",
+DlgCellWidthPc		: "procent",
+DlgCellHeight		: "HÃ¶jd",
+DlgCellWordWrap		: "Automatisk radbrytning",
+DlgCellWordWrapNotSet	: "<Ej angivet>",
+DlgCellWordWrapYes	: "Ja",
+DlgCellWordWrapNo	: "Nej",
+DlgCellHorAlign		: "Horisontal justering",
+DlgCellHorAlignNotSet	: "<Ej angivet>",
+DlgCellHorAlignLeft	: "VÃ¤nster",
+DlgCellHorAlignCenter	: "Centrerad",
+DlgCellHorAlignRight: "HÃ¶ger",
+DlgCellVerAlign		: "Vertikal justering",
+DlgCellVerAlignNotSet	: "<Ej angivet>",
+DlgCellVerAlignTop	: "Topp",
+DlgCellVerAlignMiddle	: "Mitten",
+DlgCellVerAlignBottom	: "Nederkant",
+DlgCellVerAlignBaseline	: "Underst",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "RadomfÃ¥ng",
+DlgCellCollSpan		: "KolumnomfÃ¥ng",
+DlgCellBackColor	: "BakgrundsfÃ¤rg",
+DlgCellBorderColor	: "KantfÃ¤rg",
+DlgCellBtnSelect	: "VÃ¤lj...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "SÃ¶k och ersÃ¤tt",
+
+// Find Dialog
+DlgFindTitle		: "SÃ¶k",
+DlgFindFindBtn		: "SÃ¶k",
+DlgFindNotFoundMsg	: "Angiven text kunde ej hittas.",
+
+// Replace Dialog
+DlgReplaceTitle			: "ErsÃ¤tt",
+DlgReplaceFindLbl		: "SÃ¶k efter:",
+DlgReplaceReplaceLbl	: "ErsÃ¤tt med:",
+DlgReplaceCaseChk		: "SkiftlÃ¤ge",
+DlgReplaceReplaceBtn	: "ErsÃ¤tt",
+DlgReplaceReplAllBtn	: "ErsÃ¤tt alla",
+DlgReplaceWordChk		: "Inkludera hela ord",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "SÃ¤kerhetsinstÃ¤llningar i Er weblÃ¤sare tillÃ¥ter inte Ã¥tgÃ¥rden Klipp ut. AnvÃ¤nd (Ctrl+X) istÃ¤llet.",
+PasteErrorCopy	: "SÃ¤kerhetsinstÃ¤llningar i Er weblÃ¤sare tillÃ¥ter inte Ã¥tgÃ¥rden Kopiera. AnvÃ¤nd (Ctrl+C) istÃ¤llet",
+
+PasteAsText		: "Klistra in som vanlig text",
+PasteFromWord	: "Klistra in frÃ¥n Word",
+
+DlgPasteMsg2	: "Var god och klistra in Er text i rutan nedan genom att anvÃ¤nda (<STRONG>Ctrl+V</STRONG>) klicka sen pÃ¥ <STRONG>OK</STRONG>.",
+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.",
+DlgPasteIgnoreFont		: "Ignorera typsnittsdefinitioner",
+DlgPasteRemoveStyles	: "Radera Stildefinitioner",
+
+// Color Picker
+ColorAutomatic	: "Automatisk",
+ColorMoreColors	: "Fler fÃ¤rger...",
+
+// Document Properties
+DocProps		: "Dokumentegenskaper",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Ankaregenskaper",
+DlgAnchorName		: "Ankarnamn",
+DlgAnchorErrorName	: "Var god ange ett ankarnamn",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Saknas i ordlistan",
+DlgSpellChangeTo		: "Ã„ndra till",
+DlgSpellBtnIgnore		: "Ignorera",
+DlgSpellBtnIgnoreAll	: "Ignorera alla",
+DlgSpellBtnReplace		: "ErsÃ¤tt",
+DlgSpellBtnReplaceAll	: "ErsÃ¤tt alla",
+DlgSpellBtnUndo			: "Ã…ngra",
+DlgSpellNoSuggestions	: "- FÃ¶rslag saknas -",
+DlgSpellProgress		: "Stavningskontroll pÃ¥gÃ¥r...",
+DlgSpellNoMispell		: "Stavningskontroll slutfÃ¶rd: Inga stavfel pÃ¥trÃ¤ffades.",
+DlgSpellNoChanges		: "Stavningskontroll slutfÃ¶rd: Inga ord rÃ¤ttades.",
+DlgSpellOneChange		: "Stavningskontroll slutfÃ¶rd: Ett ord rÃ¤ttades.",
+DlgSpellManyChanges		: "Stavningskontroll slutfÃ¶rd: %1 ord rÃ¤ttades.",
+
+IeSpellDownload			: "Stavningskontrollen Ã¤r ej installerad. Vill du gÃ¶ra det nu?",
+
+// Button Dialog
+DlgButtonText		: "Text (VÃ¤rde)",
+DlgButtonType		: "Typ",
+DlgButtonTypeBtn	: "Knapp",
+DlgButtonTypeSbm	: "Skicka",
+DlgButtonTypeRst	: "Ã…terstÃ¤ll",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Namn",
+DlgCheckboxValue	: "VÃ¤rde",
+DlgCheckboxSelected	: "Vald",
+
+// Form Dialog
+DlgFormName		: "Namn",
+DlgFormAction	: "Funktion",
+DlgFormMethod	: "Metod",
+
+// Select Field Dialog
+DlgSelectName		: "Namn",
+DlgSelectValue		: "VÃ¤rde",
+DlgSelectSize		: "Storlek",
+DlgSelectLines		: "Linjer",
+DlgSelectChkMulti	: "TillÃ¥t flerval",
+DlgSelectOpAvail	: "Befintliga val",
+DlgSelectOpText		: "Text",
+DlgSelectOpValue	: "VÃ¤rde",
+DlgSelectBtnAdd		: "LÃ¤gg till",
+DlgSelectBtnModify	: "Redigera",
+DlgSelectBtnUp		: "Upp",
+DlgSelectBtnDown	: "Ner",
+DlgSelectBtnSetValue : "Markera som valt vÃ¤rde",
+DlgSelectBtnDelete	: "Radera",
+
+// Textarea Dialog
+DlgTextareaName	: "Namn",
+DlgTextareaCols	: "Kolumner",
+DlgTextareaRows	: "Rader",
+
+// Text Field Dialog
+DlgTextName			: "Namn",
+DlgTextValue		: "VÃ¤rde",
+DlgTextCharWidth	: "Teckenbredd",
+DlgTextMaxChars		: "Max antal tecken",
+DlgTextType			: "Typ",
+DlgTextTypeText		: "Text",
+DlgTextTypePass		: "LÃ¶senord",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Namn",
+DlgHiddenValue	: "VÃ¤rde",
+
+// Bulleted List Dialog
+BulletedListProp	: "Egenskaper fÃ¶r punktlista",
+NumberedListProp	: "Egenskaper fÃ¶r numrerad lista",
+DlgLstStart			: "Start",
+DlgLstType			: "Typ",
+DlgLstTypeCircle	: "Cirkel",
+DlgLstTypeDisc		: "Punkt",
+DlgLstTypeSquare	: "Ruta",
+DlgLstTypeNumbers	: "Nummer (1, 2, 3)",
+DlgLstTypeLCase		: "Gemener (a, b, c)",
+DlgLstTypeUCase		: "Versaler (A, B, C)",
+DlgLstTypeSRoman	: "SmÃ¥ romerska siffror (i, ii, iii)",
+DlgLstTypeLRoman	: "Stora romerska siffror (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "AllmÃ¤n",
+DlgDocBackTab		: "Bakgrund",
+DlgDocColorsTab		: "FÃ¤rg och marginal",
+DlgDocMetaTab		: "Metadata",
+
+DlgDocPageTitle		: "Sidtitel",
+DlgDocLangDir		: "SprÃ¥kriktning",
+DlgDocLangDirLTR	: "VÃ¤nster till HÃ¶ger",
+DlgDocLangDirRTL	: "HÃ¶ger till VÃ¤nster",
+DlgDocLangCode		: "SprÃ¥kkod",
+DlgDocCharSet		: "TeckenuppsÃ¤ttningar",
+DlgDocCharSetCE		: "Central Europa",
+DlgDocCharSetCT		: "Traditionell Kinesisk (Big5)",
+DlgDocCharSetCR		: "Kyrillisk",
+DlgDocCharSetGR		: "Grekiska",
+DlgDocCharSetJP		: "Japanska",
+DlgDocCharSetKR		: "Koreanska",
+DlgDocCharSetTR		: "Turkiska",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "VÃ¤st Europa",
+DlgDocCharSetOther	: "Ã–vriga teckenuppsÃ¤ttningar",
+
+DlgDocDocType		: "Sidhuvud",
+DlgDocDocTypeOther	: "Ã–vriga sidhuvuden",
+DlgDocIncXHTML		: "Inkludera XHTML deklaration",
+DlgDocBgColor		: "BakgrundsfÃ¤rg",
+DlgDocBgImage		: "Bakgrundsbildens URL",
+DlgDocBgNoScroll	: "Fast bakgrund",
+DlgDocCText			: "Text",
+DlgDocCLink			: "LÃ¤nk",
+DlgDocCVisited		: "BesÃ¶kt lÃ¤nk",
+DlgDocCActive		: "Aktiv lÃ¤nk",
+DlgDocMargins		: "Sidmarginal",
+DlgDocMaTop			: "Topp",
+DlgDocMaLeft		: "VÃ¤nster",
+DlgDocMaRight		: "HÃ¶ger",
+DlgDocMaBottom		: "Botten",
+DlgDocMeIndex		: "Sidans nyckelord",
+DlgDocMeDescr		: "Sidans beskrivning",
+DlgDocMeAuthor		: "FÃ¶rfattare",
+DlgDocMeCopy		: "UpphovsrÃ¤tt",
+DlgDocPreview		: "FÃ¶rhandsgranska",
+
+// Templates Dialog
+Templates			: "Sidmallar",
+DlgTemplatesTitle	: "Sidmallar",
+DlgTemplatesSelMsg	: "Var god vÃ¤lj en mall att anvÃ¤nda med editorn<br>(allt nuvarande innehÃ¥ll raderas):",
+DlgTemplatesLoading	: "Laddar mallar. Var god vÃ¤nta...",
+DlgTemplatesNoTpl	: "(Ingen mall Ã¤r vald)",
+DlgTemplatesReplace	: "ErsÃ¤tt aktuellt innehÃ¥ll",
+
+// About Dialog
+DlgAboutAboutTab	: "Om",
+DlgAboutBrowserInfoTab	: "WeblÃ¤sare",
+DlgAboutLicenseTab	: "Licens",
+DlgAboutVersion		: "version",
+DlgAboutInfo		: "FÃ¶r mer information se",
+
+// Div Dialog
+DlgDivGeneralTab	: "General",	//MISSING
+DlgDivAdvancedTab	: "Advanced",	//MISSING
+DlgDivStyle		: "Style",	//MISSING
+DlgDivInlineStyle	: "Inline Style",	//MISSING
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/ja.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/ja.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/ja.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Japanese language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "ãƒ„ãƒ¼ãƒ«ãƒãƒ¼ã‚’éš ã™",
+ToolbarExpand		: "ãƒ„ãƒ¼ãƒ«ãƒãƒ¼ã‚’è¡¨ç¤º",
+
+// Toolbar Items and Context Menu
+Save				: "ä¿å­˜",
+NewPage				: "æ–°ã—ã„ãƒšãƒ¼ã‚¸",
+Preview				: "ãƒ—ãƒ¬ãƒ“ãƒ¥ãƒ¼",
+Cut					: "åˆ‡ã‚Šå–ã‚Š",
+Copy				: "ã‚³ãƒ”ãƒ¼",
+Paste				: "è²¼ã‚Šä»˜ã‘",
+PasteText			: "ãƒ—ãƒ¬ãƒ¼ãƒ³ãƒ†ã‚­ã‚¹ãƒˆè²¼ã‚Šä»˜ã‘",
+PasteWord			: "ãƒ¯ãƒ¼ãƒ‰æ–‡ç« ã‹ã‚‰è²¼ã‚Šä»˜ã‘",
+Print				: "å°åˆ·",
+SelectAll			: "ã™ã¹ã¦é¸æŠ",
+RemoveFormat		: "ãƒ•ã‚©ãƒ¼ãƒãƒƒãƒˆå‰Šé™¤",
+InsertLinkLbl		: "ãƒªãƒ³ã‚¯",
+InsertLink			: "ãƒªãƒ³ã‚¯æŒ¿å…¥/ç·¨é›†",
+RemoveLink			: "ãƒªãƒ³ã‚¯å‰Šé™¤",
+VisitLink			: "ãƒªãƒ³ã‚¯ã‚’é–‹ã",
+Anchor				: "ã‚¢ãƒ³ã‚«ãƒ¼æŒ¿å…¥/ç·¨é›†",
+AnchorDelete		: "ã‚¢ãƒ³ã‚«ãƒ¼å‰Šé™¤",
+InsertImageLbl		: "ã‚¤ãƒ¡ãƒ¼ã‚¸",
+InsertImage			: "ã‚¤ãƒ¡ãƒ¼ã‚¸æŒ¿å…¥/ç·¨é›†",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "FlashæŒ¿å…¥/ç·¨é›†",
+InsertTableLbl		: "ãƒ†ãƒ¼ãƒ–ãƒ«",
+InsertTable			: "ãƒ†ãƒ¼ãƒ–ãƒ«æŒ¿å…¥/ç·¨é›†",
+InsertLineLbl		: "ãƒ©ã‚¤ãƒ³",
+InsertLine			: "æ¨ªç½«ç·š",
+InsertSpecialCharLbl: "ç‰¹æ®Šæ–‡å­—",
+InsertSpecialChar	: "ç‰¹æ®Šæ–‡å­—æŒ¿å…¥",
+InsertSmileyLbl		: "çµµæ–‡å­—",
+InsertSmiley		: "çµµæ–‡å­—æŒ¿å…¥",
+About				: "FCKeditorãƒ˜ãƒ«ãƒ—",
+Bold				: "å¤ªå­—",
+Italic				: "æ–œä½“",
+Underline			: "ä¸‹ç·š",
+StrikeThrough		: "æ‰“ã¡æ¶ˆã—ç·š",
+Subscript			: "æ·»ãˆå­—",
+Superscript			: "ä¸Šä»˜ãæ–‡å­—",
+LeftJustify			: "å·¦æƒãˆ",
+CenterJustify		: "ä¸­å¤®æƒãˆ",
+RightJustify		: "å³æƒãˆ",
+BlockJustify		: "ä¸¡ç«¯æƒãˆ",
+DecreaseIndent		: "ã‚¤ãƒ³ãƒ‡ãƒ³ãƒˆè§£é™¤",
+IncreaseIndent		: "ã‚¤ãƒ³ãƒ‡ãƒ³ãƒˆ",
+Blockquote			: "ãƒ–ãƒ­ãƒƒã‚¯å¼•ç”¨",
+CreateDiv			: "Div ä½œæˆ",
+EditDiv				: "Div ç·¨é›†",
+DeleteDiv			: "Div å‰Šé™¤",
+Undo				: "å…ƒã«æˆ»ã™",
+Redo				: "ã‚„ã‚Šç›´ã—",
+NumberedListLbl		: "æ®µè½ç•ªå·",
+NumberedList		: "æ®µè½ç•ªå·ã®è¿½åŠ /å‰Šé™¤",
+BulletedListLbl		: "ç®‡æ¡æ›¸ã",
+BulletedList		: "ç®‡æ¡æ›¸ãã®è¿½åŠ /å‰Šé™¤",
+ShowTableBorders	: "ãƒ†ãƒ¼ãƒ–ãƒ«ãƒœãƒ¼ãƒ€ãƒ¼è¡¨ç¤º",
+ShowDetails			: "è©³ç´°è¡¨ç¤º",
+Style				: "ã‚¹ã‚¿ã‚¤ãƒ«",
+FontFormat			: "ãƒ•ã‚©ãƒ¼ãƒãƒƒãƒˆ",
+Font				: "ãƒ•ã‚©ãƒ³ãƒˆ",
+FontSize			: "ã‚µã‚¤ã‚º",
+TextColor			: "ãƒ†ã‚­ã‚¹ãƒˆè‰²",
+BGColor				: "èƒŒæ™¯è‰²",
+Source				: "ã‚½ãƒ¼ã‚¹",
+Find				: "æ¤œç´¢",
+Replace				: "ç½®ãæ›ãˆ",
+SpellCheck			: "ã‚¹ãƒšãƒ«ãƒã‚§ãƒƒã‚¯",
+UniversalKeyboard	: "ãƒ¦ãƒ‹ãƒãƒ¼ã‚µãƒ«ãƒ»ã‚­ãƒ¼ãƒœãƒ¼ãƒ‰",
+PageBreakLbl		: "æ”¹ãƒšãƒ¼ã‚¸",
+PageBreak			: "æ”¹ãƒšãƒ¼ã‚¸æŒ¿å…¥",
+
+Form			: "ãƒ•ã‚©ãƒ¼ãƒ ",
+Checkbox		: "ãƒã‚§ãƒƒã‚¯ãƒœãƒƒã‚¯ã‚¹",
+RadioButton		: "ãƒ©ã‚¸ã‚ªãƒœã‚¿ãƒ³",
+TextField		: "ï¼‘è¡Œãƒ†ã‚­ã‚¹ãƒˆ",
+Textarea		: "ãƒ†ã‚­ã‚¹ãƒˆã‚¨ãƒªã‚¢",
+HiddenField		: "ä¸å¯è¦–ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰",
+Button			: "ãƒœã‚¿ãƒ³",
+SelectionField	: "é¸æŠãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰",
+ImageButton		: "ç”»åƒãƒœã‚¿ãƒ³",
+
+FitWindow		: "ã‚¨ãƒ‡ã‚£ã‚¿ã‚µã‚¤ã‚ºã‚’æœ€å¤§ã«ã—ã¾ã™",
+ShowBlocks		: "ãƒ–ãƒ­ãƒƒã‚¯è¡¨ç¤º",
+
+// Context Menu
+EditLink			: "ãƒªãƒ³ã‚¯ç·¨é›†",
+CellCM				: "ã‚»ãƒ«",
+RowCM				: "è¡Œ",
+ColumnCM			: "ã‚«ãƒ©ãƒ ",
+InsertRowAfter		: "åˆ—ã®å¾Œã«æŒ¿å…¥",
+InsertRowBefore		: "åˆ—ã®å‰ã«æŒ¿å…¥",
+DeleteRows			: "è¡Œå‰Šé™¤",
+InsertColumnAfter	: "ã‚«ãƒ©ãƒ ã®å¾Œã«æŒ¿å…¥",
+InsertColumnBefore	: "ã‚«ãƒ©ãƒ ã®å‰ã«æŒ¿å…¥",
+DeleteColumns		: "åˆ—å‰Šé™¤",
+InsertCellAfter		: "ã‚»ãƒ«ã®å¾Œã«æŒ¿å…¥",
+InsertCellBefore	: "ã‚»ãƒ«ã®å‰ã«æŒ¿å…¥",
+DeleteCells			: "ã‚»ãƒ«å‰Šé™¤",
+MergeCells			: "ã‚»ãƒ«çµåˆ",
+MergeRight			: "å³ã«çµåˆ",
+MergeDown			: "ä¸‹ã«çµåˆ",
+HorizontalSplitCell	: "ã‚»ãƒ«ã‚’æ°´å¹³æ–¹å‘åˆ†å‰²",
+VerticalSplitCell	: "ã‚»ãƒ«ã‚’å‚ç›´æ–¹å‘ã«åˆ†å‰²",
+TableDelete			: "ãƒ†ãƒ¼ãƒ–ãƒ«å‰Šé™¤",
+CellProperties		: "ã‚»ãƒ« ãƒ—ãƒ­ãƒ‘ãƒ†ã‚£",
+TableProperties		: "ãƒ†ãƒ¼ãƒ–ãƒ« ãƒ—ãƒ­ãƒ‘ãƒ†ã‚£",
+ImageProperties		: "ã‚¤ãƒ¡ãƒ¼ã‚¸ ãƒ—ãƒ­ãƒ‘ãƒ†ã‚£",
+FlashProperties		: "Flash ãƒ—ãƒ­ãƒ‘ãƒ†ã‚£",
+
+AnchorProp			: "ã‚¢ãƒ³ã‚«ãƒ¼ ãƒ—ãƒ­ãƒ‘ãƒ†ã‚£",
+ButtonProp			: "ãƒœã‚¿ãƒ³ ãƒ—ãƒ­ãƒ‘ãƒ†ã‚£",
+CheckboxProp		: "ãƒã‚§ãƒƒã‚¯ãƒœãƒƒã‚¯ã‚¹ ãƒ—ãƒ­ãƒ‘ãƒ†ã‚£",
+HiddenFieldProp		: "ä¸å¯è¦–ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ ãƒ—ãƒ­ãƒ‘ãƒ†ã‚£",
+RadioButtonProp		: "ãƒ©ã‚¸ã‚ªãƒœã‚¿ãƒ³ ãƒ—ãƒ­ãƒ‘ãƒ†ã‚£",
+ImageButtonProp		: "ç”»åƒãƒœã‚¿ãƒ³ ãƒ—ãƒ­ãƒ‘ãƒ†ã‚£",
+TextFieldProp		: "ï¼‘è¡Œãƒ†ã‚­ã‚¹ãƒˆ ãƒ—ãƒ­ãƒ‘ãƒ†ã‚£",
+SelectionFieldProp	: "é¸æŠãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ ãƒ—ãƒ­ãƒ‘ãƒ†ã‚£",
+TextareaProp		: "ãƒ†ã‚­ã‚¹ãƒˆã‚¨ãƒªã‚¢ ãƒ—ãƒ­ãƒ‘ãƒ†ã‚£",
+FormProp			: "ãƒ•ã‚©ãƒ¼ãƒ  ãƒ—ãƒ­ãƒ‘ãƒ†ã‚£",
+
+FontFormats			: "æ¨™æº–;æ›¸å¼ä»˜ã;ã‚¢ãƒ‰ãƒ¬ã‚¹;è¦‹å‡ºã— 1;è¦‹å‡ºã— 2;è¦‹å‡ºã— 3;è¦‹å‡ºã— 4;è¦‹å‡ºã— 5;è¦‹å‡ºã— 6;æ¨™æº– (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "XHTMLå‡¦ç†ä¸­. ã—ã°ã‚‰ããŠå¾…ã¡ãã ã•ã„...",
+Done				: "å®Œäº†",
+PasteWordConfirm	: "è²¼ã‚Šä»˜ã‘ã‚’è¡Œã†ãƒ†ã‚­ã‚¹ãƒˆã¯ã€ãƒ¯ãƒ¼ãƒ‰æ–‡ç« ã‹ã‚‰ã‚³ãƒ”ãƒ¼ã•ã‚Œã‚ˆã†ã¨ã—ã¦ã„ã¾ã™ã€‚è²¼ã‚Šä»˜ã‘ã‚‹å‰ã«ã‚¯ãƒªãƒ¼ãƒ‹ãƒ³ã‚°ã‚’è¡Œã„ã¾ã™ã‹ï¼Ÿ",
+NotCompatiblePaste	: "ã“ã®ã‚³ãƒãƒ³ãƒ‰ã¯ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆãƒ»ã‚¨ã‚¯ã‚¹ãƒ—ãƒ­ãƒ¼ãƒ©ãƒ¼ãƒãƒ¼ã‚¸ãƒ§ãƒ³5.5ä»¥ä¸Šã§åˆ©ç”¨å¯èƒ½ã§ã™ã€‚ã‚¯ãƒªãƒ¼ãƒ‹ãƒ³ã‚°ã—ãªã„ã§è²¼ã‚Šä»˜ã‘ã‚’è¡Œã„ã¾ã™ã‹ï¼Ÿ",
+UnknownToolbarItem	: "æœªçŸ¥ã®ãƒ„ãƒ¼ãƒ«ãƒãƒ¼é …ç›® \"%1\"",
+UnknownCommand		: "æœªçŸ¥ã®ã‚³ãƒãƒ³ãƒ‰å \"%1\"",
+NotImplemented		: "ã‚³ãƒãƒ³ãƒ‰ã¯ã‚¤ãƒ³ãƒ—ãƒªãƒ¡ãƒ³ãƒˆã•ã‚Œã¾ã›ã‚“ã§ã—ãŸã€‚",
+UnknownToolbarSet	: "ãƒ„ãƒ¼ãƒ«ãƒãƒ¼è¨­å®š \"%1\" å­˜åœ¨ã—ã¾ã›ã‚“ã€‚",
+NoActiveX			: "ã‚¨ãƒ©ãƒ¼ã€è­¦å‘Šãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãªã©ãŒç™ºç”Ÿã—ãŸå ´åˆã€ãƒ–ãƒ©ã‚¦ã‚¶ãƒ¼ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£è¨­å®šã«ã‚ˆã‚Šã‚¨ãƒ‡ã‚£ã‚¿ã®ã„ãã¤ã‹ã®æ©Ÿèƒ½ãŒåˆ¶é™ã•ã‚Œã¦ã„ã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£è¨­å®šã®ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã§\"ActiveXã‚³ãƒ³ãƒˆãƒ­ãƒ¼ãƒ«ã¨ãƒ—ãƒ©ã‚°ã‚¤ãƒ³ã®å®Ÿè¡Œ\"ã‚’æœ‰åŠ¹ã«ã™ã‚‹ã«ã—ã¦ãã ã•ã„ã€‚",
+BrowseServerBlocked : "ã‚µãƒ¼ãƒãƒ¼ãƒ–ãƒ©ã‚¦ã‚¶ãƒ¼ã‚’é–‹ãã“ã¨ãŒã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ãƒãƒƒãƒ—ã‚¢ãƒƒãƒ—ãƒ»ãƒ–ãƒ­ãƒƒã‚¯æ©Ÿèƒ½ãŒç„¡åŠ¹ã«ãªã£ã¦ã„ã‚‹ã‹ç¢ºèªã—ã¦ãã ã•ã„ã€‚",
+DialogBlocked		: "ãƒ€ã‚¤ã‚¢ãƒ­ã‚°ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã‚’é–‹ãã“ã¨ãŒã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ãƒãƒƒãƒ—ã‚¢ãƒƒãƒ—ãƒ»ãƒ–ãƒ­ãƒƒã‚¯æ©Ÿèƒ½ãŒç„¡åŠ¹ã«ãªã£ã¦ã„ã‚‹ã‹ç¢ºèªã—ã¦ãã ã•ã„ã€‚",
+VisitLinkBlocked	: "æ–°ã—ã„ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã‚’é–‹ãã“ã¨ãŒã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ãƒãƒƒãƒ—ã‚¢ãƒƒãƒ—ãƒ»ãƒ–ãƒ­ãƒƒã‚¯æ©Ÿèƒ½ãŒç„¡åŠ¹ã«ãªã£ã¦ã„ã‚‹ã‹ç¢ºèªã—ã¦ãã ã•ã„ã€‚",
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "ã‚­ãƒ£ãƒ³ã‚»ãƒ«",
+DlgBtnClose			: "é–‰ã˜ã‚‹",
+DlgBtnBrowseServer	: "ã‚µãƒ¼ãƒãƒ¼ãƒ–ãƒ©ã‚¦ã‚¶ãƒ¼",
+DlgAdvancedTag		: "é«˜åº¦ãªè¨­å®š",
+DlgOpOther			: "<ãã®ä»–>",
+DlgInfoTab			: "æƒ…å ±",
+DlgAlertUrl			: "URLã‚’æŒ¿å…¥ã—ã¦ãã ã•ã„",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<ãªã—>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "æ–‡å­—è¡¨è¨˜ã®æ–¹å‘",
+DlgGenLangDirLtr	: "å·¦ã‹ã‚‰å³ (LTR)",
+DlgGenLangDirRtl	: "å³ã‹ã‚‰å·¦ (RTL)",
+DlgGenLangCode		: "è¨€èªã‚³ãƒ¼ãƒ‰",
+DlgGenAccessKey		: "ã‚¢ã‚¯ã‚»ã‚¹ã‚­ãƒ¼",
+DlgGenName			: "Nameå±æ€§",
+DlgGenTabIndex		: "ã‚¿ãƒ–ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹",
+DlgGenLongDescr		: "longdescå±æ€§(é•·æ–‡èª¬æ˜)",
+DlgGenClass			: "ã‚¹ã‚¿ã‚¤ãƒ«ã‚·ãƒ¼ãƒˆã‚¯ãƒ©ã‚¹",
+DlgGenTitle			: "Titleå±æ€§",
+DlgGenContType		: "Content Typeå±æ€§",
+DlgGenLinkCharset	: "ãƒªãƒ³ã‚¯charsetå±æ€§",
+DlgGenStyle			: "ã‚¹ã‚¿ã‚¤ãƒ«ã‚·ãƒ¼ãƒˆ",
+
+// Image Dialog
+DlgImgTitle			: "ã‚¤ãƒ¡ãƒ¼ã‚¸ ãƒ—ãƒ­ãƒ‘ãƒ†ã‚£",
+DlgImgInfoTab		: "ã‚¤ãƒ¡ãƒ¼ã‚¸ æƒ…å ±",
+DlgImgBtnUpload		: "ã‚µãƒ¼ãƒãƒ¼ã«é€ä¿¡",
+DlgImgURL			: "URL",
+DlgImgUpload		: "ã‚¢ãƒƒãƒ—ãƒ­ãƒ¼ãƒ‰",
+DlgImgAlt			: "ä»£æ›¿ãƒ†ã‚­ã‚¹ãƒˆ",
+DlgImgWidth			: "å¹…",
+DlgImgHeight		: "é«˜ã•",
+DlgImgLockRatio		: "ãƒ­ãƒƒã‚¯æ¯”ç‡",
+DlgBtnResetSize		: "ã‚µã‚¤ã‚ºãƒªã‚»ãƒƒãƒˆ",
+DlgImgBorder		: "ãƒœãƒ¼ãƒ€ãƒ¼",
+DlgImgHSpace		: "æ¨ªé–“éš”",
+DlgImgVSpace		: "ç¸¦é–“éš”",
+DlgImgAlign			: "è¡Œæƒãˆ",
+DlgImgAlignLeft		: "å·¦",
+DlgImgAlignAbsBottom: "ä¸‹éƒ¨(çµ¶å¯¾çš„)",
+DlgImgAlignAbsMiddle: "ä¸­å¤®(çµ¶å¯¾çš„)",
+DlgImgAlignBaseline	: "ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³",
+DlgImgAlignBottom	: "ä¸‹",
+DlgImgAlignMiddle	: "ä¸­å¤®",
+DlgImgAlignRight	: "å³",
+DlgImgAlignTextTop	: "ãƒ†ã‚­ã‚¹ãƒˆä¸Šéƒ¨",
+DlgImgAlignTop		: "ä¸Š",
+DlgImgPreview		: "ãƒ—ãƒ¬ãƒ“ãƒ¥ãƒ¼",
+DlgImgAlertUrl		: "ã‚¤ãƒ¡ãƒ¼ã‚¸ã®URLã‚’å…¥åŠ›ã—ã¦ãã ã•ã„ã€‚",
+DlgImgLinkTab		: "ãƒªãƒ³ã‚¯",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash ãƒ—ãƒ­ãƒ‘ãƒ†ã‚£",
+DlgFlashChkPlay		: "å†ç”Ÿ",
+DlgFlashChkLoop		: "ãƒ«ãƒ¼ãƒ—å†ç”Ÿ",
+DlgFlashChkMenu		: "Flashãƒ¡ãƒ‹ãƒ¥ãƒ¼å¯èƒ½",
+DlgFlashScale		: "æ‹¡å¤§ç¸®å°è¨­å®š",
+DlgFlashScaleAll	: "ã™ã¹ã¦è¡¨ç¤º",
+DlgFlashScaleNoBorder	: "å¤–ãŒè¦‹ãˆãªã„æ§˜ã«æ‹¡å¤§",
+DlgFlashScaleFit	: "ä¸Šä¸‹å·¦å³ã«ãƒ•ã‚£ãƒƒãƒˆ",
+
+// Link Dialog
+DlgLnkWindowTitle	: "ãƒã‚¤ãƒ‘ãƒ¼ãƒªãƒ³ã‚¯",
+DlgLnkInfoTab		: "ãƒã‚¤ãƒ‘ãƒ¼ãƒªãƒ³ã‚¯ æƒ…å ±",
+DlgLnkTargetTab		: "ã‚¿ãƒ¼ã‚²ãƒƒãƒˆ",
+
+DlgLnkType			: "ãƒªãƒ³ã‚¯ã‚¿ã‚¤ãƒ—",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "ã“ã®ãƒšãƒ¼ã‚¸ã®ã‚¢ãƒ³ã‚«ãƒ¼",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "ãƒ—ãƒ­ãƒˆã‚³ãƒ«",
+DlgLnkProtoOther	: "<ãã®ä»–>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "ã‚¢ãƒ³ã‚«ãƒ¼ã‚’é¸æŠ",
+DlgLnkAnchorByName	: "ã‚¢ãƒ³ã‚«ãƒ¼å",
+DlgLnkAnchorById	: "ã‚¨ãƒ¬ãƒ¡ãƒ³ãƒˆID",
+DlgLnkNoAnchors		: "(ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã«ãŠã„ã¦åˆ©ç”¨å¯èƒ½ãªã‚¢ãƒ³ã‚«ãƒ¼ã¯ã‚ã‚Šã¾ã›ã‚“ã€‚)",
+DlgLnkEMail			: "E-Mail ã‚¢ãƒ‰ãƒ¬ã‚¹",
+DlgLnkEMailSubject	: "ä»¶å",
+DlgLnkEMailBody		: "æœ¬æ–‡",
+DlgLnkUpload		: "ã‚¢ãƒƒãƒ—ãƒ­ãƒ¼ãƒ‰",
+DlgLnkBtnUpload		: "ã‚µãƒ¼ãƒãƒ¼ã«é€ä¿¡",
+
+DlgLnkTarget		: "ã‚¿ãƒ¼ã‚²ãƒƒãƒˆ",
+DlgLnkTargetFrame	: "<ãƒ•ãƒ¬ãƒ¼ãƒ >",
+DlgLnkTargetPopup	: "<ãƒãƒƒãƒ—ã‚¢ãƒƒãƒ—ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦>",
+DlgLnkTargetBlank	: "æ–°ã—ã„ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ (_blank)",
+DlgLnkTargetParent	: "è¦ªã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ (_parent)",
+DlgLnkTargetSelf	: "åŒã˜ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ (_self)",
+DlgLnkTargetTop		: "æœ€ä¸Šä½ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ (_top)",
+DlgLnkTargetFrameName	: "ç›®çš„ã®ãƒ•ãƒ¬ãƒ¼ãƒ å",
+DlgLnkPopWinName	: "ãƒãƒƒãƒ—ã‚¢ãƒƒãƒ—ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦å",
+DlgLnkPopWinFeat	: "ãƒãƒƒãƒ—ã‚¢ãƒƒãƒ—ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ç‰¹å¾´",
+DlgLnkPopResize		: "ãƒªã‚µã‚¤ã‚ºå¯èƒ½",
+DlgLnkPopLocation	: "ãƒ­ã‚±ãƒ¼ã‚·ãƒ§ãƒ³ãƒãƒ¼",
+DlgLnkPopMenu		: "ãƒ¡ãƒ‹ãƒ¥ãƒ¼ãƒãƒ¼",
+DlgLnkPopScroll		: "ã‚¹ã‚¯ãƒ­ãƒ¼ãƒ«ãƒãƒ¼",
+DlgLnkPopStatus		: "ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ãƒãƒ¼",
+DlgLnkPopToolbar	: "ãƒ„ãƒ¼ãƒ«ãƒãƒ¼",
+DlgLnkPopFullScrn	: "å…¨ç”»é¢ãƒ¢ãƒ¼ãƒ‰(IE)",
+DlgLnkPopDependent	: "é–‹ã„ãŸã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã«é€£å‹•ã—ã¦é–‰ã˜ã‚‹ (Netscape)",
+DlgLnkPopWidth		: "å¹…",
+DlgLnkPopHeight		: "é«˜ã•",
+DlgLnkPopLeft		: "å·¦ç«¯ã‹ã‚‰ã®åº§æ¨™ã§æŒ‡å®š",
+DlgLnkPopTop		: "ä¸Šç«¯ã‹ã‚‰ã®åº§æ¨™ã§æŒ‡å®š",
+
+DlnLnkMsgNoUrl		: "ãƒªãƒ³ã‚¯URLã‚’å…¥åŠ›ã—ã¦ãã ã•ã„ã€‚",
+DlnLnkMsgNoEMail	: "ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’å…¥åŠ›ã—ã¦ãã ã•ã„ã€‚",
+DlnLnkMsgNoAnchor	: "ã‚¢ãƒ³ã‚«ãƒ¼ã‚’é¸æŠã—ã¦ãã ã•ã„ã€‚",
+DlnLnkMsgInvPopName	: "ãƒãƒƒãƒ—ãƒ»ã‚¢ãƒƒãƒ—åã¯è‹±å­—ã§å§‹ã¾ã‚‹æ–‡å­—ã§æŒ‡å®šã—ã¦ãã ã„ã€‚ãƒãƒƒãƒ—ãƒ»ã‚¢ãƒƒãƒ—åã«ã‚¹ãƒšãƒ¼ã‚¹ã¯å«ã‚ã¾ã›ã‚“",
+
+// Color Dialog
+DlgColorTitle		: "è‰²é¸æŠ",
+DlgColorBtnClear	: "ã‚¯ãƒªã‚¢",
+DlgColorHighlight	: "ãƒã‚¤ãƒ©ã‚¤ãƒˆ",
+DlgColorSelected	: "é¸æŠè‰²",
+
+// Smiley Dialog
+DlgSmileyTitle		: "é¡”æ–‡å­—æŒ¿å…¥",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "ç‰¹æ®Šæ–‡å­—é¸æŠ",
+
+// Table Dialog
+DlgTableTitle		: "ãƒ†ãƒ¼ãƒ–ãƒ« ãƒ—ãƒ­ãƒ‘ãƒ†ã‚£",
+DlgTableRows		: "è¡Œ",
+DlgTableColumns		: "åˆ—",
+DlgTableBorder		: "ãƒœãƒ¼ãƒ€ãƒ¼ã‚µã‚¤ã‚º",
+DlgTableAlign		: "ã‚­ãƒ£ãƒ—ã‚·ãƒ§ãƒ³ã®æ•´åˆ—",
+DlgTableAlignNotSet	: "<ãªã—>",
+DlgTableAlignLeft	: "å·¦",
+DlgTableAlignCenter	: "ä¸­å¤®",
+DlgTableAlignRight	: "å³",
+DlgTableWidth		: "ãƒ†ãƒ¼ãƒ–ãƒ«å¹…",
+DlgTableWidthPx		: "ãƒ”ã‚¯ã‚»ãƒ«",
+DlgTableWidthPc		: "ãƒ‘ãƒ¼ã‚»ãƒ³ãƒˆ",
+DlgTableHeight		: "ãƒ†ãƒ¼ãƒ–ãƒ«é«˜ã•",
+DlgTableCellSpace	: "ã‚»ãƒ«å†…ä½™ç™½",
+DlgTableCellPad		: "ã‚»ãƒ«å†…é–“éš”",
+DlgTableCaption		: "ï½·ï½¬ï¾Œï¾Ÿï½¼ï½®ï¾",
+DlgTableSummary		: "ãƒ†ãƒ¼ãƒ–ãƒ«ç›®çš„/æ§‹é€ ",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "ã‚»ãƒ« ãƒ—ãƒ­ãƒ‘ãƒ†ã‚£",
+DlgCellWidth		: "å¹…",
+DlgCellWidthPx		: "ãƒ”ã‚¯ã‚»ãƒ«",
+DlgCellWidthPc		: "ãƒ‘ãƒ¼ã‚»ãƒ³ãƒˆ",
+DlgCellHeight		: "é«˜ã•",
+DlgCellWordWrap		: "æŠ˜ã‚Šè¿”ã—",
+DlgCellWordWrapNotSet	: "<ãªã—>",
+DlgCellWordWrapYes	: "Yes",
+DlgCellWordWrapNo	: "No",
+DlgCellHorAlign		: "ã‚»ãƒ«æ¨ªã®æ•´åˆ—",
+DlgCellHorAlignNotSet	: "<ãªã—>",
+DlgCellHorAlignLeft	: "å·¦",
+DlgCellHorAlignCenter	: "ä¸­å¤®",
+DlgCellHorAlignRight: "å³",
+DlgCellVerAlign		: "ã‚»ãƒ«ç¸¦ã®æ•´åˆ—",
+DlgCellVerAlignNotSet	: "<ãªã—>",
+DlgCellVerAlignTop	: "ä¸Š",
+DlgCellVerAlignMiddle	: "ä¸­å¤®",
+DlgCellVerAlignBottom	: "ä¸‹",
+DlgCellVerAlignBaseline	: "ãƒ™ãƒ¼ã‚¹ãƒ©ã‚¤ãƒ³",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "ç¸¦å¹…(è¡Œæ•°)",
+DlgCellCollSpan		: "æ¨ªå¹…(åˆ—æ•°)",
+DlgCellBackColor	: "èƒŒæ™¯è‰²",
+DlgCellBorderColor	: "ãƒœãƒ¼ãƒ€ãƒ¼ã‚«ãƒ©ãƒ¼",
+DlgCellBtnSelect	: "é¸æŠ...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "æ¤œç´¢ã—ã¦ç½®æ›",
+
+// Find Dialog
+DlgFindTitle		: "æ¤œç´¢",
+DlgFindFindBtn		: "æ¤œç´¢",
+DlgFindNotFoundMsg	: "æŒ‡å®šã•ã‚ŒãŸæ–‡å­—åˆ—ã¯è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚",
+
+// Replace Dialog
+DlgReplaceTitle			: "ç½®ãæ›ãˆ",
+DlgReplaceFindLbl		: "æ¤œç´¢ã™ã‚‹æ–‡å­—åˆ—:",
+DlgReplaceReplaceLbl	: "ç½®æ›ãˆã™ã‚‹æ–‡å­—åˆ—:",
+DlgReplaceCaseChk		: "éƒ¨åˆ†ä¸€è‡´",
+DlgReplaceReplaceBtn	: "ç½®æ›ãˆ",
+DlgReplaceReplAllBtn	: "ã™ã¹ã¦ç½®æ›ãˆ",
+DlgReplaceWordChk		: "å˜èªå˜ä½ã§ä¸€è‡´",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "ãƒ–ãƒ©ã‚¦ã‚¶ãƒ¼ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£è¨­å®šã«ã‚ˆã‚Šã‚¨ãƒ‡ã‚£ã‚¿ã®åˆ‡ã‚Šå–ã‚Šæ“ä½œãŒè‡ªå‹•ã§å®Ÿè¡Œã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ã€‚å®Ÿè¡Œã™ã‚‹ã«ã¯æ‰‹å‹•ã§ã‚­ãƒ¼ãƒœãƒ¼ãƒ‰ã®(Ctrl+X)ã‚’ä½¿ç”¨ã—ã¦ãã ã•ã„ã€‚",
+PasteErrorCopy	: "ãƒ–ãƒ©ã‚¦ã‚¶ãƒ¼ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£è¨­å®šã«ã‚ˆã‚Šã‚¨ãƒ‡ã‚£ã‚¿ã®ã‚³ãƒ”ãƒ¼æ“ä½œãŒè‡ªå‹•ã§å®Ÿè¡Œã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ã€‚å®Ÿè¡Œã™ã‚‹ã«ã¯æ‰‹å‹•ã§ã‚­ãƒ¼ãƒœãƒ¼ãƒ‰ã®(Ctrl+C)ã‚’ä½¿ç”¨ã—ã¦ãã ã•ã„ã€‚",
+
+PasteAsText		: "ãƒ—ãƒ¬ãƒ¼ãƒ³ãƒ†ã‚­ã‚¹ãƒˆè²¼ã‚Šä»˜ã‘",
+PasteFromWord	: "ãƒ¯ãƒ¼ãƒ‰æ–‡ç« ã‹ã‚‰è²¼ã‚Šä»˜ã‘",
+
+DlgPasteMsg2	: "ã‚­ãƒ¼ãƒœãƒ¼ãƒ‰(<STRONG>Ctrl+V</STRONG>)ã‚’ä½¿ç”¨ã—ã¦ã€æ¬¡ã®å…¥åŠ›ã‚¨ãƒªã‚¢å†…ã§è²¼ã£ã¦ã€<STRONG>OK</STRONG>ã‚’æŠ¼ã—ã¦ãã ã•ã„ã€‚",
+DlgPasteSec		: "ãƒ–ãƒ©ã‚¦ã‚¶ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£è¨­å®šã«ã‚ˆã‚Šã€ã‚¨ãƒ‡ã‚£ã‚¿ã¯ã‚¯ãƒªãƒƒãƒ—ãƒœãƒ¼ãƒ‰ãƒ»ãƒ‡ãƒ¼ã‚¿ã«ç›´æ¥ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ã€‚ã“ã®ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã¯è²¼ã‚Šä»˜ã‘æ“ä½œã‚’è¡Œã†åº¦ã«è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚",
+DlgPasteIgnoreFont		: "Fontã‚¿ã‚°ã®Faceå±æ€§ã‚’ç„¡è¦–ã—ã¾ã™ã€‚",
+DlgPasteRemoveStyles	: "ã‚¹ã‚¿ã‚¤ãƒ«å®šç¾©ã‚’å‰Šé™¤ã—ã¾ã™ã€‚",
+
+// Color Picker
+ColorAutomatic	: "è‡ªå‹•",
+ColorMoreColors	: "ãã®ä»–ã®è‰²...",
+
+// Document Properties
+DocProps		: "æ–‡æ›¸ ãƒ—ãƒ­ãƒ‘ãƒ†ã‚£",
+
+// Anchor Dialog
+DlgAnchorTitle		: "ã‚¢ãƒ³ã‚«ãƒ¼ ãƒ—ãƒ­ãƒ‘ãƒ†ã‚£",
+DlgAnchorName		: "ã‚¢ãƒ³ã‚«ãƒ¼å",
+DlgAnchorErrorName	: "ã‚¢ãƒ³ã‚«ãƒ¼åã‚’å¿…ãšå…¥åŠ›ã—ã¦ãã ã•ã„ã€‚",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "è¾æ›¸ã«ã‚ã‚Šã¾ã›ã‚“",
+DlgSpellChangeTo		: "å¤‰æ›´",
+DlgSpellBtnIgnore		: "ç„¡è¦–",
+DlgSpellBtnIgnoreAll	: "ã™ã¹ã¦ç„¡è¦–",
+DlgSpellBtnReplace		: "ç½®æ›",
+DlgSpellBtnReplaceAll	: "ã™ã¹ã¦ç½®æ›",
+DlgSpellBtnUndo			: "ã‚„ã‚Šç›´ã—",
+DlgSpellNoSuggestions	: "- è©²å½“ãªã— -",
+DlgSpellProgress		: "ã‚¹ãƒšãƒ«ãƒã‚§ãƒƒã‚¯å‡¦ç†ä¸­...",
+DlgSpellNoMispell		: "ã‚¹ãƒšãƒ«ãƒã‚§ãƒƒã‚¯å®Œäº†: ã‚¹ãƒšãƒ«ã®èª¤ã‚Šã¯ã‚ã‚Šã¾ã›ã‚“ã§ã—ãŸ",
+DlgSpellNoChanges		: "ã‚¹ãƒšãƒ«ãƒã‚§ãƒƒã‚¯å®Œäº†: èªå¥ã¯å¤‰æ›´ã•ã‚Œã¾ã›ã‚“ã§ã—ãŸ",
+DlgSpellOneChange		: "ã‚¹ãƒšãƒ«ãƒã‚§ãƒƒã‚¯å®Œäº†: ï¼‘èªå¥å¤‰æ›´ã•ã‚Œã¾ã—ãŸ",
+DlgSpellManyChanges		: "ã‚¹ãƒšãƒ«ãƒã‚§ãƒƒã‚¯å®Œäº†: %1 èªå¥å¤‰æ›´ã•ã‚Œã¾ã—ãŸ",
+
+IeSpellDownload			: "ã‚¹ãƒšãƒ«ãƒã‚§ãƒƒã‚«ãƒ¼ãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã¾ã›ã‚“ã€‚ä»Šã™ããƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã—ã¾ã™ã‹?",
+
+// Button Dialog
+DlgButtonText		: "ãƒ†ã‚­ã‚¹ãƒˆ (å€¤)",
+DlgButtonType		: "ã‚¿ã‚¤ãƒ—",
+DlgButtonTypeBtn	: "ãƒœã‚¿ãƒ³",
+DlgButtonTypeSbm	: "é€ä¿¡",
+DlgButtonTypeRst	: "ãƒªã‚»ãƒƒãƒˆ",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "åå‰",
+DlgCheckboxValue	: "å€¤",
+DlgCheckboxSelected	: "é¸æŠæ¸ˆã¿",
+
+// Form Dialog
+DlgFormName		: "ãƒ•ã‚©ãƒ¼ãƒ å",
+DlgFormAction	: "ã‚¢ã‚¯ã‚·ãƒ§ãƒ³",
+DlgFormMethod	: "ãƒ¡ã‚½ãƒƒãƒ‰",
+
+// Select Field Dialog
+DlgSelectName		: "åå‰",
+DlgSelectValue		: "å€¤",
+DlgSelectSize		: "ã‚µã‚¤ã‚º",
+DlgSelectLines		: "è¡Œ",
+DlgSelectChkMulti	: "è¤‡æ•°é …ç›®é¸æŠã‚’è¨±å¯",
+DlgSelectOpAvail	: "åˆ©ç”¨å¯èƒ½ãªã‚ªãƒ—ã‚·ãƒ§ãƒ³",
+DlgSelectOpText		: "é¸æŠé …ç›®å",
+DlgSelectOpValue	: "é¸æŠé …ç›®å€¤",
+DlgSelectBtnAdd		: "è¿½åŠ ",
+DlgSelectBtnModify	: "ç·¨é›†",
+DlgSelectBtnUp		: "ä¸Šã¸",
+DlgSelectBtnDown	: "ä¸‹ã¸",
+DlgSelectBtnSetValue : "é¸æŠã—ãŸå€¤ã‚’è¨­å®š",
+DlgSelectBtnDelete	: "å‰Šé™¤",
+
+// Textarea Dialog
+DlgTextareaName	: "åå‰",
+DlgTextareaCols	: "åˆ—",
+DlgTextareaRows	: "è¡Œ",
+
+// Text Field Dialog
+DlgTextName			: "åå‰",
+DlgTextValue		: "å€¤",
+DlgTextCharWidth	: "ã‚µã‚¤ã‚º",
+DlgTextMaxChars		: "æœ€å¤§é•·",
+DlgTextType			: "ã‚¿ã‚¤ãƒ—",
+DlgTextTypeText		: "ãƒ†ã‚­ã‚¹ãƒˆ",
+DlgTextTypePass		: "ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰å…¥åŠ›",
+
+// Hidden Field Dialog
+DlgHiddenName	: "åå‰",
+DlgHiddenValue	: "å€¤",
+
+// Bulleted List Dialog
+BulletedListProp	: "ç®‡æ¡æ›¸ã ãƒ—ãƒ­ãƒ‘ãƒ†ã‚£",
+NumberedListProp	: "æ®µè½ç•ªå· ãƒ—ãƒ­ãƒ‘ãƒ†ã‚£",
+DlgLstStart			: "é–‹å§‹æ–‡å­—",
+DlgLstType			: "ã‚¿ã‚¤ãƒ—",
+DlgLstTypeCircle	: "ç™½ä¸¸",
+DlgLstTypeDisc		: "é»’ä¸¸",
+DlgLstTypeSquare	: "å››è§’",
+DlgLstTypeNumbers	: "ã‚¢ãƒ©ãƒ“ã‚¢æ•°å­— (1, 2, 3)",
+DlgLstTypeLCase		: "è‹±å­—å°æ–‡å­— (a, b, c)",
+DlgLstTypeUCase		: "è‹±å­—å¤§æ–‡å­— (A, B, C)",
+DlgLstTypeSRoman	: "ãƒ­ãƒ¼ãƒæ•°å­—å°æ–‡å­— (i, ii, iii)",
+DlgLstTypeLRoman	: "ãƒ­ãƒ¼ãƒæ•°å­—å¤§æ–‡å­— (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "å…¨èˆ¬",
+DlgDocBackTab		: "èƒŒæ™¯",
+DlgDocColorsTab		: "è‰²ã¨ãƒãƒ¼ã‚¸ãƒ³",
+DlgDocMetaTab		: "ãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿",
+
+DlgDocPageTitle		: "ãƒšãƒ¼ã‚¸ã‚¿ã‚¤ãƒˆãƒ«",
+DlgDocLangDir		: "è¨€èªæ–‡å­—è¡¨è¨˜ã®æ–¹å‘",
+DlgDocLangDirLTR	: "å·¦ã‹ã‚‰å³ã«è¡¨è¨˜(LTR)",
+DlgDocLangDirRTL	: "å³ã‹ã‚‰å·¦ã«è¡¨è¨˜(RTL)",
+DlgDocLangCode		: "è¨€èªã‚³ãƒ¼ãƒ‰",
+DlgDocCharSet		: "æ–‡å­—ã‚»ãƒƒãƒˆç¬¦å·åŒ–",
+DlgDocCharSetCE		: "Central European",
+DlgDocCharSetCT		: "Chinese Traditional (Big5)",
+DlgDocCharSetCR		: "Cyrillic",
+DlgDocCharSetGR		: "Greek",
+DlgDocCharSetJP		: "Japanese",
+DlgDocCharSetKR		: "Korean",
+DlgDocCharSetTR		: "Turkish",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "Western European",
+DlgDocCharSetOther	: "ä»–ã®æ–‡å­—ã‚»ãƒƒãƒˆç¬¦å·åŒ–",
+
+DlgDocDocType		: "æ–‡æ›¸ã‚¿ã‚¤ãƒ—ãƒ˜ãƒƒãƒ€ãƒ¼",
+DlgDocDocTypeOther	: "ãã®ä»–æ–‡æ›¸ã‚¿ã‚¤ãƒ—ãƒ˜ãƒƒãƒ€ãƒ¼",
+DlgDocIncXHTML		: "XHTMLå®£è¨€ã‚’ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰",
+DlgDocBgColor		: "èƒŒæ™¯è‰²",
+DlgDocBgImage		: "èƒŒæ™¯ç”»åƒ URL",
+DlgDocBgNoScroll	: "ã‚¹ã‚¯ãƒ­ãƒ¼ãƒ«ã—ãªã„èƒŒæ™¯",
+DlgDocCText			: "ãƒ†ã‚­ã‚¹ãƒˆ",
+DlgDocCLink			: "ãƒªãƒ³ã‚¯",
+DlgDocCVisited		: "ã‚¢ã‚¯ã‚»ã‚¹æ¸ˆã¿ãƒªãƒ³ã‚¯",
+DlgDocCActive		: "ã‚¢ã‚¯ã‚»ã‚¹ä¸­ãƒªãƒ³ã‚¯",
+DlgDocMargins		: "ãƒšãƒ¼ã‚¸ãƒ»ãƒãƒ¼ã‚¸ãƒ³",
+DlgDocMaTop			: "ä¸Šéƒ¨",
+DlgDocMaLeft		: "å·¦",
+DlgDocMaRight		: "å³",
+DlgDocMaBottom		: "ä¸‹éƒ¨",
+DlgDocMeIndex		: "æ–‡æ›¸ã®ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰(ã‚«ãƒ³ãƒåŒºåˆ‡ã‚Š)",
+DlgDocMeDescr		: "æ–‡æ›¸ã®æ¦‚è¦",
+DlgDocMeAuthor		: "æ–‡æ›¸ã®ä½œè€…",
+DlgDocMeCopy		: "æ–‡æ›¸ã®è‘—ä½œæ¨©",
+DlgDocPreview		: "ãƒ—ãƒ¬ãƒ“ãƒ¥ãƒ¼",
+
+// Templates Dialog
+Templates			: "ãƒ†ãƒ³ãƒ—ãƒ¬ãƒ¼ãƒˆ(é››å½¢)",
+DlgTemplatesTitle	: "ãƒ†ãƒ³ãƒ—ãƒ¬ãƒ¼ãƒˆå†…å®¹",
+DlgTemplatesSelMsg	: "ã‚¨ãƒ‡ã‚£ã‚¿ãƒ¼ã§ä½¿ç”¨ã™ã‚‹ãƒ†ãƒ³ãƒ—ãƒ¬ãƒ¼ãƒˆã‚’é¸æŠã—ã¦ãã ã•ã„ã€‚<br>(ç¾åœ¨ã®ã‚¨ãƒ‡ã‚£ã‚¿ã®å†…å®¹ã¯å¤±ã‚ã‚Œã¾ã™):",
+DlgTemplatesLoading	: "ãƒ†ãƒ³ãƒ—ãƒ¬ãƒ¼ãƒˆä¸€è¦§èª­ã¿è¾¼ã¿ä¸­. ã—ã°ã‚‰ããŠå¾…ã¡ãã ã•ã„...",
+DlgTemplatesNoTpl	: "(ãƒ†ãƒ³ãƒ—ãƒ¬ãƒ¼ãƒˆãŒå®šç¾©ã•ã‚Œã¦ã„ã¾ã›ã‚“)",
+DlgTemplatesReplace	: "ç¾åœ¨ã®ã‚¨ãƒ‡ã‚£ã‚¿ã®å†…å®¹ã¨ç½®æ›ãˆã‚’ã—ã¾ã™",
+
+// About Dialog
+DlgAboutAboutTab	: "ãƒãƒ¼ã‚¸ãƒ§ãƒ³æƒ…å ±",
+DlgAboutBrowserInfoTab	: "ãƒ–ãƒ©ã‚¦ã‚¶æƒ…å ±",
+DlgAboutLicenseTab	: "ãƒ©ã‚¤ã‚»ãƒ³ã‚¹",
+DlgAboutVersion		: "ãƒãƒ¼ã‚¸ãƒ§ãƒ³",
+DlgAboutInfo		: "ã‚ˆã‚Šè©³ã—ã„æƒ…å ±ã¯ã“ã¡ã‚‰ã§",
+
+// Div Dialog
+DlgDivGeneralTab	: "å…¨èˆ¬",
+DlgDivAdvancedTab	: "é«˜åº¦ãªè¨­å®š",
+DlgDivStyle		: "ã‚¹ã‚¿ã‚¤ãƒ«",
+DlgDivInlineStyle	: "ã‚¤ãƒ³ãƒ©ã‚¤ãƒ³ã‚¹ã‚¿ã‚¤ãƒ«",
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/he.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/he.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/he.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Hebrew language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "rtl",
+
+ToolbarCollapse		: "×›×™×•×•×¥ ×¡×¨×’×œ ×”×›×œ×™×",
+ToolbarExpand		: "×¤×ª×™×—×ª ×¡×¨×’×œ ×”×›×œ×™×",
+
+// Toolbar Items and Context Menu
+Save				: "×©××™×¨×”",
+NewPage				: "×“×£ ×—×“×©",
+Preview				: "×ª×¦×•×’×” ××§×“×™××”",
+Cut					: "×’×–×™×¨×”",
+Copy				: "×”×¢×ª×§×”",
+Paste				: "×”×“×‘×§×”",
+PasteText			: "×”×“×‘×§×” ×›×˜×§×¡×˜ ×¤×©×•×˜",
+PasteWord			: "×”×“×‘×§×” ×-×•×•×¨×“",
+Print				: "×”×“×¤×¡×”",
+SelectAll			: "×‘×—×™×¨×ª ×”×›×œ",
+RemoveFormat		: "×”×¡×¨×ª ×”×¢×™×¦×•×‘",
+InsertLinkLbl		: "×§×™×©×•×¨",
+InsertLink			: "×”×•×¡×¤×ª/×¢×¨×™×›×ª ×§×™×©×•×¨",
+RemoveLink			: "×”×¡×¨×ª ×”×§×™×©×•×¨",
+VisitLink			: "×¤×ª×— ×§×™×©×•×¨",
+Anchor				: "×”×•×¡×¤×ª/×¢×¨×™×›×ª × ×§×•×“×ª ×¢×™×’×•×Ÿ",
+AnchorDelete		: "×”×¡×¨ × ×§×•×“×ª ×¢×™×’×•×Ÿ",
+InsertImageLbl		: "×ª××•× ×”",
+InsertImage			: "×”×•×¡×¤×ª/×¢×¨×™×›×ª ×ª××•× ×”",
+InsertFlashLbl		: "×¤×œ××©",
+InsertFlash			: "×”×•×¡×£/×¢×¨×•×š ×¤×œ××©",
+InsertTableLbl		: "×˜×‘×œ×”",
+InsertTable			: "×”×•×¡×¤×ª/×¢×¨×™×›×ª ×˜×‘×œ×”",
+InsertLineLbl		: "×§×•",
+InsertLine			: "×”×•×¡×¤×ª ×§×• ××•×¤×§×™",
+InsertSpecialCharLbl: "×ª×• ××™×•×—×“",
+InsertSpecialChar	: "×”×•×¡×¤×ª ×ª×• ××™×•×—×“",
+InsertSmileyLbl		: "×¡××™×™×œ×™",
+InsertSmiley		: "×”×•×¡×¤×ª ×¡××™×™×œ×™",
+About				: "××•×“×•×ª FCKeditor",
+Bold				: "××•×“×’×©",
+Italic				: "× ×˜×•×™",
+Underline			: "×§×• ×ª×—×ª×•×Ÿ",
+StrikeThrough		: "×›×ª×™×‘ ××—×•×§",
+Subscript			: "×›×ª×™×‘ ×ª×—×ª×•×Ÿ",
+Superscript			: "×›×ª×™×‘ ×¢×œ×™×•×Ÿ",
+LeftJustify			: "×™×™×©×•×¨ ×œ×©×××œ",
+CenterJustify		: "××¨×›×•×–",
+RightJustify		: "×™×™×©×•×¨ ×œ×™××™×Ÿ",
+BlockJustify		: "×™×™×©×•×¨ ×œ×©×•×œ×™×™×",
+DecreaseIndent		: "×”×§×˜× ×ª ××™× ×“× ×˜×¦×™×”",
+IncreaseIndent		: "×”×’×“×œ×ª ××™× ×“× ×˜×¦×™×”",
+Blockquote			: "×‘×œ×•×§ ×¦×™×˜×•×˜",
+CreateDiv			: "×¦×•×¨ ××™×›×œ(×ª×’)DIV",
+EditDiv				: "×¢×¨×•×š ××™×›×œ (×ª×’)DIV",
+DeleteDiv			: "×”×¡×¨ ××™×›×œ(×ª×’) DIV",
+Undo				: "×‘×™×˜×•×œ ×¦×¢×“ ××—×¨×•×Ÿ",
+Redo				: "×—×–×¨×” ×¢×œ ×¦×¢×“ ××—×¨×•×Ÿ",
+NumberedListLbl		: "×¨×©×™××” ×××•×¡×¤×¨×ª",
+NumberedList		: "×”×•×¡×¤×ª/×”×¡×¨×ª ×¨×©×™××” ×××•×¡×¤×¨×ª",
+BulletedListLbl		: "×¨×©×™××ª × ×§×•×“×•×ª",
+BulletedList		: "×”×•×¡×¤×ª/×”×¡×¨×ª ×¨×©×™××ª × ×§×•×“×•×ª",
+ShowTableBorders	: "×”×¦×’×ª ××¡×’×¨×ª ×”×˜×‘×œ×”",
+ShowDetails			: "×”×¦×’×ª ×¤×¨×˜×™×",
+Style				: "×¡×’× ×•×Ÿ",
+FontFormat			: "×¢×™×¦×•×‘",
+Font				: "×’×•×¤×Ÿ",
+FontSize			: "×’×•×“×œ",
+TextColor			: "×¦×‘×¢ ×˜×§×¡×˜",
+BGColor				: "×¦×‘×¢ ×¨×§×¢",
+Source				: "××§×•×¨",
+Find				: "×—×™×¤×•×©",
+Replace				: "×”×—×œ×¤×”",
+SpellCheck			: "×‘×“×™×§×ª ××™×•×ª",
+UniversalKeyboard	: "××§×œ×“×ª ××•× ×™×‘×¨×¡×œ×™×ª",
+PageBreakLbl		: "×©×‘×™×¨×ª ×“×£",
+PageBreak			: "×”×•×¡×£ ×©×‘×™×¨×ª ×“×£",
+
+Form			: "×˜×•×¤×¡",
+Checkbox		: "×ª×™×‘×ª ×¡×™××•×Ÿ",
+RadioButton		: "×œ×—×¦×Ÿ ××¤×©×¨×•×™×•×ª",
+TextField		: "×©×“×” ×˜×§×¡×˜",
+Textarea		: "××™×–×•×¨ ×˜×§×¡×˜",
+HiddenField		: "×©×“×” ×—×‘×•×™",
+Button			: "×›×¤×ª×•×¨",
+SelectionField	: "×©×“×” ×‘×—×™×¨×”",
+ImageButton		: "×›×¤×ª×•×¨ ×ª××•× ×”",
+
+FitWindow		: "×”×’×“×œ ××ª ×’×•×“×œ ×”×¢×•×¨×š",
+ShowBlocks		: "×”×¦×’ ×‘×œ×•×§×™×",
+
+// Context Menu
+EditLink			: "×¢×¨×™×›×ª ×§×™×©×•×¨",
+CellCM				: "×ª×",
+RowCM				: "×©×•×¨×”",
+ColumnCM			: "×¢××•×“×”",
+InsertRowAfter		: "×”×•×¡×£ ×©×•×¨×” ××—×¨×™",
+InsertRowBefore		: "×”×•×¡×£ ×©×•×¨×” ×œ×¤× ×™",
+DeleteRows			: "××—×™×§×ª ×©×•×¨×•×ª",
+InsertColumnAfter	: "×”×•×¡×£ ×¢××•×“×” ××—×¨×™",
+InsertColumnBefore	: "×”×•×¡×£ ×¢××•×“×” ×œ×¤× ×™",
+DeleteColumns		: "××—×™×§×ª ×¢××•×“×•×ª",
+InsertCellAfter		: "×”×•×¡×£ ×ª× ××—×¨×™",
+InsertCellBefore	: "×”×•×¡×£ ×ª× ××—×¨×™",
+DeleteCells			: "××—×™×§×ª ×ª××™×",
+MergeCells			: "××™×–×•×’ ×ª××™×",
+MergeRight			: "××–×’ ×™××™× ×”",
+MergeDown			: "××–×’ ×œ××˜×”",
+HorizontalSplitCell	: "×¤×¦×œ ×ª× ××•×¤×§×™×ª",
+VerticalSplitCell	: "×¤×¦×œ ×ª× ×× ×›×™×ª",
+TableDelete			: "××—×§ ×˜×‘×œ×”",
+CellProperties		: "×ª×›×•× ×•×ª ×”×ª×",
+TableProperties		: "×ª×›×•× ×•×ª ×”×˜×‘×œ×”",
+ImageProperties		: "×ª×›×•× ×•×ª ×”×ª××•× ×”",
+FlashProperties		: "×××¤×™×™× ×™ ×¤×œ××©",
+
+AnchorProp			: "×××¤×™×™× ×™ × ×§×•×“×ª ×¢×™×’×•×Ÿ",
+ButtonProp			: "×××¤×™×™× ×™ ×›×¤×ª×•×¨",
+CheckboxProp		: "×××¤×™×™× ×™ ×ª×™×‘×ª ×¡×™××•×Ÿ",
+HiddenFieldProp		: "×××¤×™× ×™ ×©×“×” ×—×‘×•×™",
+RadioButtonProp		: "×××¤×™×™× ×™ ×œ×—×¦×Ÿ ××¤×©×¨×•×™×•×ª",
+ImageButtonProp		: "×××¤×™× ×™ ×›×¤×ª×•×¨ ×ª××•× ×”",
+TextFieldProp		: "×××¤×™×™× ×™ ×©×“×” ×˜×§×¡×˜",
+SelectionFieldProp	: "×××¤×™×™× ×™ ×©×“×” ×‘×—×™×¨×”",
+TextareaProp		: "×××¤×™× ×™ ××™×–×•×¨ ×˜×§×¡×˜",
+FormProp			: "×××¤×™× ×™ ×˜×•×¤×¡",
+
+FontFormats			: "× ×•×¨××œ×™;×§×•×“;×›×ª×•×‘×ª;×›×•×ª×¨×ª;×›×•×ª×¨×ª 2;×›×•×ª×¨×ª 3;×›×•×ª×¨×ª 4;×›×•×ª×¨×ª 5;×›×•×ª×¨×ª 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "××¢×‘×“ XHTML, × × ×œ×”××ª×™×Ÿ...",
+Done				: "×”××©×™××” ×”×•×©×œ××”",
+PasteWordConfirm	: "× ×¨××” ×”×˜×§×¡×˜ ×©×‘×›×•×•× ×ª×š ×œ×”×“×‘×™×§ ××§×•×¨×• ×‘×§×•×‘×¥ ×•×•×¨×“. ×”×× ×‘×¨×¦×•× ×š ×œ× ×§×•×ª ××•×ª×• ×˜×¨× ×”×”×“×‘×§×”?",
+NotCompatiblePaste	: "×¤×¢×•×œ×” ×–×• ×–××™× ×” ×œ×“×¤×“×¤×Ÿ ××™× ×˜×¨× ×˜ ××§×¡×¤×œ×•×¨×¨ ××’×™×¨×¡× 5.5 ×•××¢×œ×”. ×”×× ×œ×”××©×™×š ×‘×”×“×‘×§×” ×œ×œ× ×”× ×™×§×•×™?",
+UnknownToolbarItem	: "×¤×¨×™×˜ ×œ× ×™×“×•×¢ ×‘×¡×¨×’×œ ×”×›×œ×™× \"%1\"",
+UnknownCommand		: "×©× ×¤×¢×•×œ×” ×œ× ×™×“×•×¢ \"%1\"",
+NotImplemented		: "×”×¤×§×•×“×” ×œ× ××™×•×©××ª",
+UnknownToolbarSet	: "×¢×¨×›×ª ×¡×¨×’×œ ×”×›×œ×™× \"%1\" ×œ× ×§×™×™××ª",
+NoActiveX			: "×”×’×“×¨×•×ª ××‘×˜×—×” ×©×œ ×”×“×¤×“×¤×Ÿ ×¢×œ×•×œ×•×ª ×œ×’×‘×™×œ ××ª ××¤×©×¨×•×™×•×ª ×”×¢×¨×™×›×”.×™×© ×œ××¤×©×¨ ××ª ×”××•×¤×¦×™×” \"×”×¨×¥ ×¤×§×“×™× ×¤×¢×™×œ×™× ×•×ª×•×¡×¤×•×ª\". ×ª×•×›×œ ×œ×—×•×•×ª ×˜×¢×•×™×•×ª ×•×—×™×•×•×™× ×©×œ ××¤×©×¨×•×™×•×ª ×©×—×¡×¨×™×.",
+BrowseServerBlocked : "×œ× × ×™×ª×Ÿ ×œ×’×©×ª ×œ×“×¤×“×¤×Ÿ ××©××‘×™×.×× × ×•×•×“× ×©×—×•×¡× ×—×œ×•× ×•×ª ×”×§×•×¤×¦×™× ×œ× ×¤×¢×™×œ.",
+DialogBlocked		: "×œ× ×”×™×” × ×™×ª×Ÿ ×œ×¤×ª×•×— ×—×œ×•×Ÿ ×“×™××œ×•×’. ×× × ×•×•×“× ×©×—×•×¡× ×—×œ×•× ×•×ª ×§×•×¤×¦×™× ×œ× ×¤×¢×™×œ.",
+VisitLinkBlocked	: "×œ× × ×™×ª×Ÿ ×œ×¤×ª×•×— ×—×œ×•×Ÿ ×—×“×©.× × ×œ×•×•×“× ×©×—×•×¡××™ ×”×—×œ×•× ×•×ª ×”×§×•×¤×¦×™× ×œ× ×¤×¢×™×œ×™×.",
+
+// Dialogs
+DlgBtnOK			: "××™×©×•×¨",
+DlgBtnCancel		: "×‘×™×˜×•×œ",
+DlgBtnClose			: "×¡×’×™×¨×”",
+DlgBtnBrowseServer	: "×¡×™×™×¨ ×”×©×¨×ª",
+DlgAdvancedTag		: "××¤×©×¨×•×™×•×ª ××ª×§×“××•×ª",
+DlgOpOther			: "<××—×¨>",
+DlgInfoTab			: "××™×“×¢",
+DlgAlertUrl			: "×× × ×”×–×Ÿ URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<×œ× × ×§×‘×¢>",
+DlgGenId			: "×–×™×”×•×™ (Id)",
+DlgGenLangDir		: "×›×™×•×•×Ÿ ×©×¤×”",
+DlgGenLangDirLtr	: "×©×××œ ×œ×™××™×Ÿ (LTR)",
+DlgGenLangDirRtl	: "×™××™×Ÿ ×œ×©×××œ (RTL)",
+DlgGenLangCode		: "×§×•×“ ×©×¤×”",
+DlgGenAccessKey		: "××§×© ×’×™×©×”",
+DlgGenName			: "×©×",
+DlgGenTabIndex		: "××¡×¤×¨ ×˜××‘",
+DlgGenLongDescr		: "×§×™×©×•×¨ ×œ×ª×™××•×¨ ××¤×•×¨×˜",
+DlgGenClass			: "×’×™×œ×™×•× ×•×ª ×¢×™×¦×•×‘ ×§×‘×•×¦×•×ª",
+DlgGenTitle			: "×›×•×ª×¨×ª ××•×¦×¢×ª",
+DlgGenContType		: "Content Type ××•×¦×¢",
+DlgGenLinkCharset	: "×§×™×“×•×“ ×”××©××‘ ×”××§×•×©×¨",
+DlgGenStyle			: "×¡×’× ×•×Ÿ",
+
+// Image Dialog
+DlgImgTitle			: "×ª×›×•× ×•×ª ×”×ª××•× ×”",
+DlgImgInfoTab		: "××™×“×¢ ×¢×œ ×”×ª××•× ×”",
+DlgImgBtnUpload		: "×©×œ×™×—×” ×œ×©×¨×ª",
+DlgImgURL			: "×›×ª×•×‘×ª (URL)",
+DlgImgUpload		: "×”×¢×œ××”",
+DlgImgAlt			: "×˜×§×¡×˜ ×—×œ×•×¤×™",
+DlgImgWidth			: "×¨×•×—×‘",
+DlgImgHeight		: "×’×•×‘×”",
+DlgImgLockRatio		: "× ×¢×™×œ×ª ×”×™×—×¡",
+DlgBtnResetSize		: "××™×¤×•×¡ ×”×’×•×“×œ",
+DlgImgBorder		: "××¡×’×¨×ª",
+DlgImgHSpace		: "××¨×•×•×— ××•×¤×§×™",
+DlgImgVSpace		: "××¨×•×•×— ×× ×›×™",
+DlgImgAlign			: "×™×™×©×•×¨",
+DlgImgAlignLeft		: "×œ×©×××œ",
+DlgImgAlignAbsBottom: "×œ×ª×—×ª×™×ª ×”××‘×¡×•×œ×•×˜×™×ª",
+DlgImgAlignAbsMiddle: "××¨×›×•×– ××‘×¡×•×œ×•×˜×™",
+DlgImgAlignBaseline	: "×œ×§×• ×”×ª×—×ª×™×ª",
+DlgImgAlignBottom	: "×œ×ª×—×ª×™×ª",
+DlgImgAlignMiddle	: "×œ×××¦×¢",
+DlgImgAlignRight	: "×œ×™××™×Ÿ",
+DlgImgAlignTextTop	: "×œ×¨××© ×”×˜×§×¡×˜",
+DlgImgAlignTop		: "×œ××¢×œ×”",
+DlgImgPreview		: "×ª×¦×•×’×” ××§×“×™××”",
+DlgImgAlertUrl		: "× × ×œ×”×§×œ×™×“ ××ª ×›×ª×•×‘×ª ×”×ª××•× ×”",
+DlgImgLinkTab		: "×§×™×©×•×¨",
+
+// Flash Dialog
+DlgFlashTitle		: "×××¤×™× ×™ ×¤×œ××©",
+DlgFlashChkPlay		: "× ×’×Ÿ ××•×˜×•××˜×™",
+DlgFlashChkLoop		: "×œ×•×œ××”",
+DlgFlashChkMenu		: "××¤×©×¨ ×ª×¤×¨×™×˜ ×¤×œ××©",
+DlgFlashScale		: "×’×•×“×œ",
+DlgFlashScaleAll	: "×”×¦×’ ×”×›×œ",
+DlgFlashScaleNoBorder	: "×œ×œ× ×’×‘×•×œ×•×ª",
+DlgFlashScaleFit	: "×”×ª×××” ××•×©×œ××ª",
+
+// Link Dialog
+DlgLnkWindowTitle	: "×§×™×©×•×¨",
+DlgLnkInfoTab		: "××™×“×¢ ×¢×œ ×”×§×™×©×•×¨",
+DlgLnkTargetTab		: "××˜×¨×”",
+
+DlgLnkType			: "×¡×•×’ ×§×™×©×•×¨",
+DlgLnkTypeURL		: "×›×ª×•×‘×ª (URL)",
+DlgLnkTypeAnchor	: "×¢×•×’×Ÿ ×‘×¢××•×“ ×–×”",
+DlgLnkTypeEMail		: "×“×•×''×œ",
+DlgLnkProto			: "×¤×¨×•×˜×•×§×•×œ",
+DlgLnkProtoOther	: "<××—×¨>",
+DlgLnkURL			: "×›×ª×•×‘×ª (URL)",
+DlgLnkAnchorSel		: "×‘×—×™×¨×ª ×¢×•×’×Ÿ",
+DlgLnkAnchorByName	: "×¢×¤''×™ ×©× ×”×¢×•×’×Ÿ",
+DlgLnkAnchorById	: "×¢×¤''×™ ×–×™×”×•×™ (Id) ×”×¨×›×™×‘",
+DlgLnkNoAnchors		: "(××™×Ÿ ×¢×•×’× ×™× ×–××™× ×™× ×‘×“×£)",
+DlgLnkEMail			: "×›×ª×•×‘×ª ×”×“×•×''×œ",
+DlgLnkEMailSubject	: "× ×•×©× ×”×”×•×“×¢×”",
+DlgLnkEMailBody		: "×’×•×£ ×”×”×•×“×¢×”",
+DlgLnkUpload		: "×”×¢×œ××”",
+DlgLnkBtnUpload		: "×©×œ×™×—×” ×œ×©×¨×ª",
+
+DlgLnkTarget		: "××˜×¨×”",
+DlgLnkTargetFrame	: "<××¡×’×¨×ª>",
+DlgLnkTargetPopup	: "<×—×œ×•×Ÿ ×§×•×¤×¥>",
+DlgLnkTargetBlank	: "×—×œ×•×Ÿ ×—×“×© (_blank)",
+DlgLnkTargetParent	: "×—×œ×•×Ÿ ×”××‘ (_parent)",
+DlgLnkTargetSelf	: "×‘××•×ª×• ×”×—×œ×•×Ÿ (_self)",
+DlgLnkTargetTop		: "×—×œ×•×Ÿ ×¨××©×™ (_top)",
+DlgLnkTargetFrameName	: "×©× ××¡×’×¨×ª ×”×™×¢×“",
+DlgLnkPopWinName	: "×©× ×”×—×œ×•×Ÿ ×”×§×•×¤×¥",
+DlgLnkPopWinFeat	: "×ª×›×•× ×•×ª ×”×—×œ×•×Ÿ ×”×§×•×¤×¥",
+DlgLnkPopResize		: "×‘×¢×œ ×’×•×“×œ × ×™×ª×Ÿ ×œ×©×™× ×•×™",
+DlgLnkPopLocation	: "×¡×¨×’×œ ×›×ª×•×‘×ª",
+DlgLnkPopMenu		: "×¡×¨×’×œ ×ª×¤×¨×™×˜",
+DlgLnkPopScroll		: "× ×™×ª×Ÿ ×œ×’×œ×™×œ×”",
+DlgLnkPopStatus		: "×¡×¨×’×œ ×—×™×•×•×™",
+DlgLnkPopToolbar	: "×¡×¨×’×œ ×”×›×œ×™×",
+DlgLnkPopFullScrn	: "××¡×š ××œ× (IE)",
+DlgLnkPopDependent	: "×ª×œ×•×™ (Netscape)",
+DlgLnkPopWidth		: "×¨×•×—×‘",
+DlgLnkPopHeight		: "×’×•×‘×”",
+DlgLnkPopLeft		: "××™×§×•× ×¦×“ ×©×××œ",
+DlgLnkPopTop		: "××™×§×•× ×¦×“ ×¢×œ×™×•×Ÿ",
+
+DlnLnkMsgNoUrl		: "× × ×œ×”×§×œ×™×“ ××ª ×›×ª×•×‘×ª ×”×§×™×©×•×¨ (URL)",
+DlnLnkMsgNoEMail	: "× × ×œ×”×§×œ×™×“ ××ª ×›×ª×•×‘×ª ×”×“×•×''×œ",
+DlnLnkMsgNoAnchor	: "× × ×œ×‘×—×•×¨ ×¢×•×’×Ÿ ×‘××¡××š",
+DlnLnkMsgInvPopName	: "×©× ×”×—×œ×•×Ÿ ×”×§×•×¤×¥ ×—×™×™×‘ ×œ×”×ª×—×™×œ ×‘××•×ª×™×•×ª ×•××¡×•×¨ ×œ×›×œ×•×œ ×¨×•×•×—×™×",
+
+// Color Dialog
+DlgColorTitle		: "×‘×—×™×¨×ª ×¦×‘×¢",
+DlgColorBtnClear	: "××™×¤×•×¡",
+DlgColorHighlight	: "× ×•×›×—×™",
+DlgColorSelected	: "× ×‘×—×¨",
+
+// Smiley Dialog
+DlgSmileyTitle		: "×”×•×¡×¤×ª ×¡××™×™×œ×™",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "×‘×—×™×¨×ª ×ª×• ××™×•×—×“",
+
+// Table Dialog
+DlgTableTitle		: "×ª×›×•× ×•×ª ×˜×‘×œ×”",
+DlgTableRows		: "×©×•×¨×•×ª",
+DlgTableColumns		: "×¢××•×“×•×ª",
+DlgTableBorder		: "×’×•×“×œ ××¡×’×¨×ª",
+DlgTableAlign		: "×™×™×©×•×¨",
+DlgTableAlignNotSet	: "<×œ× × ×§×‘×¢>",
+DlgTableAlignLeft	: "×©×××œ",
+DlgTableAlignCenter	: "××¨×›×–",
+DlgTableAlignRight	: "×™××™×Ÿ",
+DlgTableWidth		: "×¨×•×—×‘",
+DlgTableWidthPx		: "×¤×™×§×¡×œ×™×",
+DlgTableWidthPc		: "××—×•×–",
+DlgTableHeight		: "×’×•×‘×”",
+DlgTableCellSpace	: "××¨×•×•×— ×ª×",
+DlgTableCellPad		: "×¨×™×¤×•×“ ×ª×",
+DlgTableCaption		: "×›×™×ª×•×‘",
+DlgTableSummary		: "×¡×™×›×•×",
+DlgTableHeaders		: "×›×•×ª×¨×•×ª",
+DlgTableHeadersNone		: "××™×Ÿ",
+DlgTableHeadersColumn	: "×¢××•×“×” ×¨××©×•× ×”",
+DlgTableHeadersRow		: "×©×•×¨×” ×¨××©×•× ×”",
+DlgTableHeadersBoth		: "×©× ×™×”×",
+
+// Table Cell Dialog
+DlgCellTitle		: "×ª×›×•× ×•×ª ×ª×",
+DlgCellWidth		: "×¨×•×—×‘",
+DlgCellWidthPx		: "×¤×™×§×¡×œ×™×",
+DlgCellWidthPc		: "××—×•×–",
+DlgCellHeight		: "×’×•×‘×”",
+DlgCellWordWrap		: "×’×œ×™×œ×ª ×©×•×¨×•×ª",
+DlgCellWordWrapNotSet	: "<×œ× × ×§×‘×¢>",
+DlgCellWordWrapYes	: "×›×Ÿ",
+DlgCellWordWrapNo	: "×œ×",
+DlgCellHorAlign		: "×™×™×©×•×¨ ××•×¤×§×™",
+DlgCellHorAlignNotSet	: "<×œ× × ×§×‘×¢>",
+DlgCellHorAlignLeft	: "×©×××œ",
+DlgCellHorAlignCenter	: "××¨×›×–",
+DlgCellHorAlignRight: "×™××™×Ÿ",
+DlgCellVerAlign		: "×™×™×©×•×¨ ×× ×›×™",
+DlgCellVerAlignNotSet	: "<×œ× × ×§×‘×¢>",
+DlgCellVerAlignTop	: "×œ××¢×œ×”",
+DlgCellVerAlignMiddle	: "×œ×××¦×¢",
+DlgCellVerAlignBottom	: "×œ×ª×—×ª×™×ª",
+DlgCellVerAlignBaseline	: "×§×• ×ª×—×ª×™×ª",
+DlgCellType		: "×¡×•×’ ×ª×",
+DlgCellTypeData		: "×¡×•×’",
+DlgCellTypeHeader	: "×›×•×ª×¨×ª",
+DlgCellRowSpan		: "×˜×•×•×— ×©×•×¨×•×ª",
+DlgCellCollSpan		: "×˜×•×•×— ×¢××•×“×•×ª",
+DlgCellBackColor	: "×¦×‘×¢ ×¨×§×¢",
+DlgCellBorderColor	: "×¦×‘×¢ ××¡×’×¨×ª",
+DlgCellBtnSelect	: "×‘×—×™×¨×”...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "×—×¤×© ×•×”×—×œ×£",
+
+// Find Dialog
+DlgFindTitle		: "×—×™×¤×•×©",
+DlgFindFindBtn		: "×—×™×¤×•×©",
+DlgFindNotFoundMsg	: "×”×˜×§×¡×˜ ×”××‘×•×§×© ×œ× × ××¦×.",
+
+// Replace Dialog
+DlgReplaceTitle			: "×”×—×œ×¤×”",
+DlgReplaceFindLbl		: "×—×™×¤×•×© ××—×¨×•×–×ª:",
+DlgReplaceReplaceLbl	: "×”×—×œ×¤×” ×‘××—×¨×•×–×ª:",
+DlgReplaceCaseChk		: "×”×ª×××ª ×¡×•×’ ××•×ª×™×•×ª (Case)",
+DlgReplaceReplaceBtn	: "×”×—×œ×¤×”",
+DlgReplaceReplAllBtn	: "×”×—×œ×¤×” ×‘×›×œ ×”×¢××•×“",
+DlgReplaceWordChk		: "×”×ª×××” ×œ××™×œ×” ×”××œ××”",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "×”×’×“×¨×•×ª ×”××‘×˜×—×” ×‘×“×¤×“×¤×Ÿ ×©×œ×š ×œ× ×××¤×©×¨×•×ª ×œ×¢×•×¨×š ×œ×‘×¦×¢ ×¤×¢×•×œ×•×ª ×’×–×™×¨×”  ××•×˜×•××˜×™×•×ª. ×™×© ×œ×”×©×ª××© ×‘××§×œ×“×ª ×œ×©× ×›×š (Ctrl+X).",
+PasteErrorCopy	: "×”×’×“×¨×•×ª ×”××‘×˜×—×” ×‘×“×¤×“×¤×Ÿ ×©×œ×š ×œ× ×××¤×©×¨×•×ª ×œ×¢×•×¨×š ×œ×‘×¦×¢ ×¤×¢×•×œ×•×ª ×”×¢×ª×§×” ××•×˜×•××˜×™×•×ª. ×™×© ×œ×”×©×ª××© ×‘××§×œ×“×ª ×œ×©× ×›×š (Ctrl+C).",
+
+PasteAsText		: "×”×“×‘×§×” ×›×˜×§×¡×˜ ×¤×©×•×˜",
+PasteFromWord	: "×”×“×‘×§×” ×-×•×•×¨×“",
+
+DlgPasteMsg2	: "×× × ×”×“×‘×§ ×‘×ª×•×š ×”×§×•×¤×¡×” ×‘×××¦×¢×•×ª  (<STRONG>Ctrl+V</STRONG>) ×•×œ×—×¥ ×¢×œ  <STRONG>××™×©×•×¨</STRONG>.",
+DlgPasteSec		: "×¢×§×‘ ×”×’×“×¨×•×ª ××‘×˜×—×” ×‘×“×¤×“×¤×Ÿ, ×œ× × ×™×ª×Ÿ ×œ×’×©×ª ××œ ×œ×•×— ×”×’×–×™×¨×™× (clipboard) ×‘×¦×•×¨×” ×™×©×™×¨×”.×× × ×‘×¦×¢ ×”×“×‘×§ ×©×•×‘ ×‘×—×œ×•×Ÿ ×–×”.",
+DlgPasteIgnoreFont		: "×”×ª×¢×œ× ××”×’×“×¨×•×ª ×¡×•×’ ×¤×•× ×˜",
+DlgPasteRemoveStyles	: "×”×¡×¨ ×”×’×“×¨×•×ª ×¡×’× ×•×Ÿ",
+
+// Color Picker
+ColorAutomatic	: "××•×˜×•××˜×™",
+ColorMoreColors	: "×¦×‘×¢×™× × ×•×¡×¤×™×...",
+
+// Document Properties
+DocProps		: "×××¤×™× ×™ ××¡××š",
+
+// Anchor Dialog
+DlgAnchorTitle		: "×××¤×™× ×™ × ×§×•×“×ª ×¢×™×’×•×Ÿ",
+DlgAnchorName		: "×©× ×œ× ×§×•×“×ª ×¢×™×’×•×Ÿ",
+DlgAnchorErrorName	: "×× × ×”×–×Ÿ ×©× ×œ× ×§×•×“×ª ×¢×™×’×•×Ÿ",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "×œ× × ××¦× ×‘××™×œ×•×Ÿ",
+DlgSpellChangeTo		: "×©× ×” ×œ",
+DlgSpellBtnIgnore		: "×”×ª×¢×œ×",
+DlgSpellBtnIgnoreAll	: "×”×ª×¢×œ× ××”×›×œ",
+DlgSpellBtnReplace		: "×”×—×œ×£",
+DlgSpellBtnReplaceAll	: "×”×—×œ×£ ×”×›×œ",
+DlgSpellBtnUndo			: "×”×—×–×¨",
+DlgSpellNoSuggestions	: "- ××™×Ÿ ×”×¦×¢×•×ª -",
+DlgSpellProgress		: "×‘×“×™×§×•×ª ××™×•×ª ×‘×ª×”×œ×™×š ....",
+DlgSpellNoMispell		: "×‘×“×™×§×•×ª ××™×•×ª ×”×¡×ª×™×™××”: ×œ× × ××¦××• ×©×’×™×¢×•×ª ×›×ª×™×‘",
+DlgSpellNoChanges		: "×‘×“×™×§×•×ª ××™×•×ª ×”×¡×ª×™×™××”: ×œ× ×©×•× ×ª×” ××£ ××™×œ×”",
+DlgSpellOneChange		: "×‘×“×™×§×•×ª ××™×•×ª ×”×¡×ª×™×™××”: ×©×•× ×ª×” ××™×œ×” ××—×ª",
+DlgSpellManyChanges		: "×‘×“×™×§×•×ª ××™×•×ª ×”×¡×ª×™×™××”: %1 ××™×œ×™× ×©×•× ×•",
+
+IeSpellDownload			: "×‘×•×“×§ ×”××™×•×ª ×œ× ××•×ª×§×Ÿ, ×”×× ××ª×” ××¢×•× ×™×™×Ÿ ×œ×”×•×¨×™×“?",
+
+// Button Dialog
+DlgButtonText		: "×˜×§×¡×˜ (×¢×¨×š)",
+DlgButtonType		: "×¡×•×’",
+DlgButtonTypeBtn	: "×›×¤×ª×•×¨",
+DlgButtonTypeSbm	: "×©×œ×—",
+DlgButtonTypeRst	: "××¤×¡",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "×©×",
+DlgCheckboxValue	: "×¢×¨×š",
+DlgCheckboxSelected	: "×‘×—×•×¨",
+
+// Form Dialog
+DlgFormName		: "×©×",
+DlgFormAction	: "×©×œ×— ××œ",
+DlgFormMethod	: "×¡×•×’ ×©×œ×™×—×”",
+
+// Select Field Dialog
+DlgSelectName		: "×©×",
+DlgSelectValue		: "×¢×¨×š",
+DlgSelectSize		: "×’×•×“×œ",
+DlgSelectLines		: "×©×•×¨×•×ª",
+DlgSelectChkMulti	: "××¤×©×¨ ×‘×—×™×¨×•×ª ××¨×•×‘×•×ª",
+DlgSelectOpAvail	: "××¤×©×¨×•×™×•×ª ×–××™× ×•×ª",
+DlgSelectOpText		: "×˜×§×¡×˜",
+DlgSelectOpValue	: "×¢×¨×š",
+DlgSelectBtnAdd		: "×”×•×¡×£",
+DlgSelectBtnModify	: "×©× ×”",
+DlgSelectBtnUp		: "×œ××¢×œ×”",
+DlgSelectBtnDown	: "×œ××˜×”",
+DlgSelectBtnSetValue : "×§×‘×¢ ×›×‘×¨×™×¨×ª ××—×“×œ",
+DlgSelectBtnDelete	: "××—×§",
+
+// Textarea Dialog
+DlgTextareaName	: "×©×",
+DlgTextareaCols	: "×¢××•×“×•×ª",
+DlgTextareaRows	: "×©×•×¨×•×ª",
+
+// Text Field Dialog
+DlgTextName			: "×©×",
+DlgTextValue		: "×¢×¨×š",
+DlgTextCharWidth	: "×¨×•×—×‘ ×‘××•×ª×™×•×ª",
+DlgTextMaxChars		: "××§×¡×™××•×ª ××•×ª×™×•×ª",
+DlgTextType			: "×¡×•×’",
+DlgTextTypeText		: "×˜×§×¡×˜",
+DlgTextTypePass		: "×¡×™×¡××”",
+
+// Hidden Field Dialog
+DlgHiddenName	: "×©×",
+DlgHiddenValue	: "×¢×¨×š",
+
+// Bulleted List Dialog
+BulletedListProp	: "×××¤×™×™× ×™ ×¨×©×™××”",
+NumberedListProp	: "×××¤×™×™× ×™ ×¨×©×™××” ×××•×¡×¤×¨×ª",
+DlgLstStart			: "×”×ª×—×œ×”",
+DlgLstType			: "×¡×•×’",
+DlgLstTypeCircle	: "×¢×™×’×•×œ",
+DlgLstTypeDisc		: "×“×™×¡×§",
+DlgLstTypeSquare	: "××¨×•×‘×¢",
+DlgLstTypeNumbers	: "××¡×¤×¨×™× (1, 2, 3)",
+DlgLstTypeLCase		: "××•×ª×™×•×ª ×§×˜× ×•×ª (a, b, c)",
+DlgLstTypeUCase		: "××•×ª×™×•×ª ×’×“×•×œ×•×ª (A, B, C)",
+DlgLstTypeSRoman	: "×¡×¤×¨×•×ª ×¨×•×××™×•×ª ×§×˜× ×•×ª (i, ii, iii)",
+DlgLstTypeLRoman	: "×¡×¤×¨×•×ª ×¨×•×××™×•×ª ×’×“×•×œ×•×ª (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "×›×œ×œ×™",
+DlgDocBackTab		: "×¨×§×¢",
+DlgDocColorsTab		: "×¦×‘×¢×™× ×•×’×‘×•×œ×•×ª",
+DlgDocMetaTab		: "× ×ª×•× ×™ META",
+
+DlgDocPageTitle		: "×›×•×ª×¨×ª ×“×£",
+DlgDocLangDir		: "×›×™×•×•×Ÿ ×©×¤×”",
+DlgDocLangDirLTR	: "×©×××œ ×œ×™××™×Ÿ (LTR)",
+DlgDocLangDirRTL	: "×™××™×Ÿ ×œ×©×××œ (RTL)",
+DlgDocLangCode		: "×§×•×“ ×©×¤×”",
+DlgDocCharSet		: "×§×™×“×•×“ ××•×ª×™×•×ª",
+DlgDocCharSetCE		: "××¨×›×– ××™×¨×•×¤×”",
+DlgDocCharSetCT		: "×¡×™× ×™ ××¡×•×¨×ª×™ (Big5)",
+DlgDocCharSetCR		: "×§×™×¨×™×œ×™",
+DlgDocCharSetGR		: "×™×•×•× ×™×ª",
+DlgDocCharSetJP		: "×™×¤× ×™×ª",
+DlgDocCharSetKR		: "×§×•×¨×× ×™×ª",
+DlgDocCharSetTR		: "×˜×•×¨×§×™×ª",
+DlgDocCharSetUN		: "×™×•× ×™ ×§×•×“ (UTF-8)",
+DlgDocCharSetWE		: "××¢×¨×‘ ××™×¨×•×¤×”",
+DlgDocCharSetOther	: "×§×™×“×•×“ ××•×ª×™×•×ª ××—×¨",
+
+DlgDocDocType		: "×”×’×“×¨×•×ª ×¡×•×’ ××¡××š",
+DlgDocDocTypeOther	: "×”×’×“×¨×•×ª ×¡×•×’ ××¡××š ××—×¨×•×ª",
+DlgDocIncXHTML		: "×›×œ×•×œ ×”×’×“×¨×•×ª XHTML",
+DlgDocBgColor		: "×¦×‘×¢ ×¨×§×¢",
+DlgDocBgImage		: "URL ×œ×ª××•× ×ª ×¨×§×¢",
+DlgDocBgNoScroll	: "×¨×’×¢ ×œ×œ× ×’×œ×™×œ×”",
+DlgDocCText			: "×˜×§×¡×˜",
+DlgDocCLink			: "×§×™×©×•×¨",
+DlgDocCVisited		: "×§×™×©×•×¨ ×©×‘×•×§×¨",
+DlgDocCActive		: " ×§×™×©×•×¨ ×¤×¢×™×œ",
+DlgDocMargins		: "×’×‘×•×œ×•×ª ×“×£",
+DlgDocMaTop			: "×œ××¢×œ×”",
+DlgDocMaLeft		: "×©×××œ×”",
+DlgDocMaRight		: "×™××™× ×”",
+DlgDocMaBottom		: "×œ××˜×”",
+DlgDocMeIndex		: "××¤×ª×— ×¢× ×™×™× ×™× ×©×œ ×”××¡××š )××•×¤×¨×“ ×‘×¤×¡×™×§(",
+DlgDocMeDescr		: "×ª××•×¨ ××¡××š",
+DlgDocMeAuthor		: "××—×‘×¨",
+DlgDocMeCopy		: "×–×›×•×™×•×ª ×™×•×¦×¨×™×",
+DlgDocPreview		: "×ª×¦×•×’×” ××§×“×™××”",
+
+// Templates Dialog
+Templates			: "×ª×‘× ×™×•×ª",
+DlgTemplatesTitle	: "×ª×‘×™×•×ª ×ª×•×›×Ÿ",
+DlgTemplatesSelMsg	: "×× × ×‘×—×¨ ×ª×‘× ×™×ª ×œ×¤×ª×™×—×” ×‘×¢×•×¨×š <BR>×”×ª×•×›×Ÿ ×”××§×•×¨×™ ×™××—×§:",
+DlgTemplatesLoading	: "××¢×œ×” ×¨×©×™××ª ×ª×‘× ×™×•×ª ×× × ×”××ª×Ÿ",
+DlgTemplatesNoTpl	: "(×œ× ×”×•×’×“×¨×• ×ª×‘× ×™×•×ª)",
+DlgTemplatesReplace	: "×”×—×œ×¤×ª ×ª×•×›×Ÿ ×××©×™",
+
+// About Dialog
+DlgAboutAboutTab	: "××•×“×•×ª",
+DlgAboutBrowserInfoTab	: "×’×™×¨×¡×ª ×“×¤×“×¤×Ÿ",
+DlgAboutLicenseTab	: "×¨×©×™×•×Ÿ",
+DlgAboutVersion		: "×’×™×¨×¡×",
+DlgAboutInfo		: "××™×“×¢ × ×•×¡×£ × ×™×ª×Ÿ ×œ××¦×•× ×›××Ÿ:",
+
+// Div Dialog
+DlgDivGeneralTab	: "×›×œ×œ×™",
+DlgDivAdvancedTab	: "××ª×§×“×",
+DlgDivStyle		: "×¡×’× ×•×Ÿ",
+DlgDivInlineStyle	: "×¡×’× ×•×Ÿ ×‘×ª×•×š ×”×©×•×¨×”",
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/fi.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/fi.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/fi.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Finnish language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Piilota tyÃ¶kalurivi",
+ToolbarExpand		: "NÃ¤ytÃ¤ tyÃ¶kalurivi",
+
+// Toolbar Items and Context Menu
+Save				: "Tallenna",
+NewPage				: "TyhjennÃ¤",
+Preview				: "Esikatsele",
+Cut					: "Leikkaa",
+Copy				: "Kopioi",
+Paste				: "LiitÃ¤",
+PasteText			: "LiitÃ¤ tekstinÃ¤",
+PasteWord			: "LiitÃ¤ Wordista",
+Print				: "Tulosta",
+SelectAll			: "Valitse kaikki",
+RemoveFormat		: "Poista muotoilu",
+InsertLinkLbl		: "Linkki",
+InsertLink			: "LisÃ¤Ã¤ linkki/muokkaa linkkiÃ¤",
+RemoveLink			: "Poista linkki",
+VisitLink			: "Open Link",	//MISSING
+Anchor				: "LisÃ¤Ã¤ ankkuri/muokkaa ankkuria",
+AnchorDelete		: "Poista ankkuri",
+InsertImageLbl		: "Kuva",
+InsertImage			: "LisÃ¤Ã¤ kuva/muokkaa kuvaa",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "LisÃ¤Ã¤/muokkaa Flashia",
+InsertTableLbl		: "Taulu",
+InsertTable			: "LisÃ¤Ã¤ taulu/muokkaa taulua",
+InsertLineLbl		: "Murtoviiva",
+InsertLine			: "LisÃ¤Ã¤ murtoviiva",
+InsertSpecialCharLbl: "Erikoismerkki",
+InsertSpecialChar	: "LisÃ¤Ã¤ erikoismerkki",
+InsertSmileyLbl		: "HymiÃ¶",
+InsertSmiley		: "LisÃ¤Ã¤ hymiÃ¶",
+About				: "FCKeditorista",
+Bold				: "Lihavoitu",
+Italic				: "Kursivoitu",
+Underline			: "Alleviivattu",
+StrikeThrough		: "Yliviivattu",
+Subscript			: "Alaindeksi",
+Superscript			: "YlÃ¤indeksi",
+LeftJustify			: "Tasaa vasemmat reunat",
+CenterJustify		: "KeskitÃ¤",
+RightJustify		: "Tasaa oikeat reunat",
+BlockJustify		: "Tasaa molemmat reunat",
+DecreaseIndent		: "PienennÃ¤ sisennystÃ¤",
+IncreaseIndent		: "Suurenna sisennystÃ¤",
+Blockquote			: "Lainaus",
+CreateDiv			: "Create Div Container",	//MISSING
+EditDiv				: "Edit Div Container",	//MISSING
+DeleteDiv			: "Remove Div Container",	//MISSING
+Undo				: "Kumoa",
+Redo				: "Toista",
+NumberedListLbl		: "Numerointi",
+NumberedList		: "LisÃ¤Ã¤/poista numerointi",
+BulletedListLbl		: "Luottelomerkit",
+BulletedList		: "LisÃ¤Ã¤/poista luottelomerkit",
+ShowTableBorders	: "NÃ¤ytÃ¤ taulun rajat",
+ShowDetails			: "NÃ¤ytÃ¤ muotoilu",
+Style				: "Tyyli",
+FontFormat			: "Muotoilu",
+Font				: "Fontti",
+FontSize			: "Koko",
+TextColor			: "TekstivÃ¤ri",
+BGColor				: "TaustavÃ¤ri",
+Source				: "Koodi",
+Find				: "Etsi",
+Replace				: "Korvaa",
+SpellCheck			: "Tarkista oikeinkirjoitus",
+UniversalKeyboard	: "Universaali nÃ¤ppÃ¤imistÃ¶",
+PageBreakLbl		: "Sivun vaihto",
+PageBreak			: "LisÃ¤Ã¤ sivun vaihto",
+
+Form			: "Lomake",
+Checkbox		: "Valintaruutu",
+RadioButton		: "Radiopainike",
+TextField		: "TekstikenttÃ¤",
+Textarea		: "Tekstilaatikko",
+HiddenField		: "PiilokenttÃ¤",
+Button			: "Painike",
+SelectionField	: "ValintakenttÃ¤",
+ImageButton		: "Kuvapainike",
+
+FitWindow		: "Suurenna editori koko ikkunaan",
+ShowBlocks		: "NÃ¤ytÃ¤ elementit",
+
+// Context Menu
+EditLink			: "Muokkaa linkkiÃ¤",
+CellCM				: "Solu",
+RowCM				: "Rivi",
+ColumnCM			: "Sarake",
+InsertRowAfter		: "LisÃ¤Ã¤ rivi alapuolelle",
+InsertRowBefore		: "LisÃ¤Ã¤ rivi ylÃ¤puolelle",
+DeleteRows			: "Poista rivit",
+InsertColumnAfter	: "LisÃ¤Ã¤ sarake oikealle",
+InsertColumnBefore	: "LisÃ¤Ã¤ sarake vasemmalle",
+DeleteColumns		: "Poista sarakkeet",
+InsertCellAfter		: "LisÃ¤Ã¤ solu perÃ¤Ã¤n",
+InsertCellBefore	: "LisÃ¤Ã¤ solu eteen",
+DeleteCells			: "Poista solut",
+MergeCells			: "YhdistÃ¤ solut",
+MergeRight			: "YhdistÃ¤ oikealla olevan kanssa",
+MergeDown			: "YhdistÃ¤ alla olevan kanssa",
+HorizontalSplitCell	: "Jaa solu vaakasuunnassa",
+VerticalSplitCell	: "Jaa solu pystysuunnassa",
+TableDelete			: "Poista taulu",
+CellProperties		: "Solun ominaisuudet",
+TableProperties		: "Taulun ominaisuudet",
+ImageProperties		: "Kuvan ominaisuudet",
+FlashProperties		: "Flash ominaisuudet",
+
+AnchorProp			: "Ankkurin ominaisuudet",
+ButtonProp			: "Painikkeen ominaisuudet",
+CheckboxProp		: "Valintaruudun ominaisuudet",
+HiddenFieldProp		: "PiilokentÃ¤n ominaisuudet",
+RadioButtonProp		: "Radiopainikkeen ominaisuudet",
+ImageButtonProp		: "Kuvapainikkeen ominaisuudet",
+TextFieldProp		: "TekstikentÃ¤n ominaisuudet",
+SelectionFieldProp	: "ValintakentÃ¤n ominaisuudet",
+TextareaProp		: "Tekstilaatikon ominaisuudet",
+FormProp			: "Lomakkeen ominaisuudet",
+
+FontFormats			: "Normaali;Muotoiltu;Osoite;Otsikko 1;Otsikko 2;Otsikko 3;Otsikko 4;Otsikko 5;Otsikko 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "Prosessoidaan XHTML:Ã¤Ã¤. Odota hetki...",
+Done				: "Valmis",
+PasteWordConfirm	: "Teksti, jonka haluat liittÃ¤Ã¤, nÃ¤yttÃ¤Ã¤ olevan kopioitu Wordista. Haluatko puhdistaa sen ennen liittÃ¤mistÃ¤?",
+NotCompatiblePaste	: "TÃ¤mÃ¤ komento toimii vain Internet Explorer 5.5:ssa tai uudemmassa. Haluatko liittÃ¤Ã¤ ilman puhdistusta?",
+UnknownToolbarItem	: "Tuntemanton tyÃ¶kalu \"%1\"",
+UnknownCommand		: "Tuntematon komento \"%1\"",
+NotImplemented		: "Komentoa ei ole liitetty sovellukseen",
+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.",
+BrowseServerBlocked : "Resurssiselainta ei voitu avata. Varmista, ettÃ¤ ponnahdusikkunoiden estÃ¤jÃ¤t eivÃ¤t ole pÃ¤Ã¤llÃ¤.",
+DialogBlocked		: "Apuikkunaa ei voitu avaata. Varmista, ettÃ¤ ponnahdusikkunoiden estÃ¤jÃ¤t eivÃ¤t ole pÃ¤Ã¤llÃ¤.",
+VisitLinkBlocked	: "It was not possible to open a new window. Make sure all popup blockers are disabled.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Peruuta",
+DlgBtnClose			: "Sulje",
+DlgBtnBrowseServer	: "Selaa palvelinta",
+DlgAdvancedTag		: "LisÃ¤ominaisuudet",
+DlgOpOther			: "Muut",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "LisÃ¤Ã¤ URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<ei asetettu>",
+DlgGenId			: "Tunniste",
+DlgGenLangDir		: "Kielen suunta",
+DlgGenLangDirLtr	: "Vasemmalta oikealle (LTR)",
+DlgGenLangDirRtl	: "Oikealta vasemmalle (RTL)",
+DlgGenLangCode		: "Kielikoodi",
+DlgGenAccessKey		: "PikanÃ¤ppÃ¤in",
+DlgGenName			: "Nimi",
+DlgGenTabIndex		: "Tabulaattori indeksi",
+DlgGenLongDescr		: "PitkÃ¤n kuvauksen URL",
+DlgGenClass			: "Tyyliluokat",
+DlgGenTitle			: "Avustava otsikko",
+DlgGenContType		: "Avustava sisÃ¤llÃ¶n tyyppi",
+DlgGenLinkCharset	: "Linkitetty kirjaimisto",
+DlgGenStyle			: "Tyyli",
+
+// Image Dialog
+DlgImgTitle			: "Kuvan ominaisuudet",
+DlgImgInfoTab		: "Kuvan tiedot",
+DlgImgBtnUpload		: "LÃ¤hetÃ¤ palvelimelle",
+DlgImgURL			: "Osoite",
+DlgImgUpload		: "LisÃ¤Ã¤ kuva",
+DlgImgAlt			: "Vaihtoehtoinen teksti",
+DlgImgWidth			: "Leveys",
+DlgImgHeight		: "Korkeus",
+DlgImgLockRatio		: "Lukitse suhteet",
+DlgBtnResetSize		: "AlkuperÃ¤inen koko",
+DlgImgBorder		: "Raja",
+DlgImgHSpace		: "Vaakatila",
+DlgImgVSpace		: "Pystytila",
+DlgImgAlign			: "Kohdistus",
+DlgImgAlignLeft		: "Vasemmalle",
+DlgImgAlignAbsBottom: "Aivan alas",
+DlgImgAlignAbsMiddle: "Aivan keskelle",
+DlgImgAlignBaseline	: "Alas (teksti)",
+DlgImgAlignBottom	: "Alas",
+DlgImgAlignMiddle	: "Keskelle",
+DlgImgAlignRight	: "Oikealle",
+DlgImgAlignTextTop	: "YlÃ¶s (teksti)",
+DlgImgAlignTop		: "YlÃ¶s",
+DlgImgPreview		: "Esikatselu",
+DlgImgAlertUrl		: "Kirjoita kuvan osoite (URL)",
+DlgImgLinkTab		: "Linkki",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash ominaisuudet",
+DlgFlashChkPlay		: "Automaattinen kÃ¤ynnistys",
+DlgFlashChkLoop		: "Toisto",
+DlgFlashChkMenu		: "NÃ¤ytÃ¤ Flash-valikko",
+DlgFlashScale		: "LevitÃ¤",
+DlgFlashScaleAll	: "NÃ¤ytÃ¤ kaikki",
+DlgFlashScaleNoBorder	: "Ei rajaa",
+DlgFlashScaleFit	: "Tarkka koko",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Linkki",
+DlgLnkInfoTab		: "Linkin tiedot",
+DlgLnkTargetTab		: "Kohde",
+
+DlgLnkType			: "Linkkityyppi",
+DlgLnkTypeURL		: "Osoite",
+DlgLnkTypeAnchor	: "Ankkuri tÃ¤ssÃ¤ sivussa",
+DlgLnkTypeEMail		: "SÃ¤hkÃ¶posti",
+DlgLnkProto			: "Protokolla",
+DlgLnkProtoOther	: "<muu>",
+DlgLnkURL			: "Osoite",
+DlgLnkAnchorSel		: "Valitse ankkuri",
+DlgLnkAnchorByName	: "Ankkurin nimen mukaan",
+DlgLnkAnchorById	: "Ankkurin ID:n mukaan",
+DlgLnkNoAnchors		: "(Ei ankkureita tÃ¤ssÃ¤ dokumentissa)",
+DlgLnkEMail			: "SÃ¤hkÃ¶postiosoite",
+DlgLnkEMailSubject	: "Aihe",
+DlgLnkEMailBody		: "Viesti",
+DlgLnkUpload		: "LisÃ¤Ã¤ tiedosto",
+DlgLnkBtnUpload		: "LÃ¤hetÃ¤ palvelimelle",
+
+DlgLnkTarget		: "Kohde",
+DlgLnkTargetFrame	: "<kehys>",
+DlgLnkTargetPopup	: "<popup ikkuna>",
+DlgLnkTargetBlank	: "Uusi ikkuna (_blank)",
+DlgLnkTargetParent	: "Emoikkuna (_parent)",
+DlgLnkTargetSelf	: "Sama ikkuna (_self)",
+DlgLnkTargetTop		: "PÃ¤Ã¤llimmÃ¤isin ikkuna (_top)",
+DlgLnkTargetFrameName	: "Kohdekehyksen nimi",
+DlgLnkPopWinName	: "Popup ikkunan nimi",
+DlgLnkPopWinFeat	: "Popup ikkunan ominaisuudet",
+DlgLnkPopResize		: "VenytettÃ¤vÃ¤",
+DlgLnkPopLocation	: "Osoiterivi",
+DlgLnkPopMenu		: "Valikkorivi",
+DlgLnkPopScroll		: "Vierityspalkit",
+DlgLnkPopStatus		: "Tilarivi",
+DlgLnkPopToolbar	: "Vakiopainikkeet",
+DlgLnkPopFullScrn	: "TÃ¤ysi ikkuna (IE)",
+DlgLnkPopDependent	: "Riippuva (Netscape)",
+DlgLnkPopWidth		: "Leveys",
+DlgLnkPopHeight		: "Korkeus",
+DlgLnkPopLeft		: "Vasemmalta (px)",
+DlgLnkPopTop		: "YlhÃ¤Ã¤ltÃ¤ (px)",
+
+DlnLnkMsgNoUrl		: "Linkille on kirjoitettava URL",
+DlnLnkMsgNoEMail	: "Kirjoita sÃ¤hkÃ¶postiosoite",
+DlnLnkMsgNoAnchor	: "Valitse ankkuri",
+DlnLnkMsgInvPopName	: "Popup-ikkunan nimi pitÃ¤Ã¤ alkaa aakkosella ja ei saa sisÃ¤ltÃ¤Ã¤ vÃ¤lejÃ¤",
+
+// Color Dialog
+DlgColorTitle		: "Valitse vÃ¤ri",
+DlgColorBtnClear	: "TyhjennÃ¤",
+DlgColorHighlight	: "Kohdalla",
+DlgColorSelected	: "Valittu",
+
+// Smiley Dialog
+DlgSmileyTitle		: "LisÃ¤Ã¤ hymiÃ¶",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Valitse erikoismerkki",
+
+// Table Dialog
+DlgTableTitle		: "Taulun ominaisuudet",
+DlgTableRows		: "Rivit",
+DlgTableColumns		: "Sarakkeet",
+DlgTableBorder		: "Rajan paksuus",
+DlgTableAlign		: "Kohdistus",
+DlgTableAlignNotSet	: "<ei asetettu>",
+DlgTableAlignLeft	: "Vasemmalle",
+DlgTableAlignCenter	: "Keskelle",
+DlgTableAlignRight	: "Oikealle",
+DlgTableWidth		: "Leveys",
+DlgTableWidthPx		: "pikseliÃ¤",
+DlgTableWidthPc		: "prosenttia",
+DlgTableHeight		: "Korkeus",
+DlgTableCellSpace	: "Solujen vÃ¤li",
+DlgTableCellPad		: "Solujen sisennys",
+DlgTableCaption		: "Otsikko",
+DlgTableSummary		: "Yhteenveto",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "Solun ominaisuudet",
+DlgCellWidth		: "Leveys",
+DlgCellWidthPx		: "pikseliÃ¤",
+DlgCellWidthPc		: "prosenttia",
+DlgCellHeight		: "Korkeus",
+DlgCellWordWrap		: "TekstikierrÃ¤tys",
+DlgCellWordWrapNotSet	: "<Ei asetettu>",
+DlgCellWordWrapYes	: "KyllÃ¤",
+DlgCellWordWrapNo	: "Ei",
+DlgCellHorAlign		: "Vaakakohdistus",
+DlgCellHorAlignNotSet	: "<Ei asetettu>",
+DlgCellHorAlignLeft	: "Vasemmalle",
+DlgCellHorAlignCenter	: "Keskelle",
+DlgCellHorAlignRight: "Oikealle",
+DlgCellVerAlign		: "Pystykohdistus",
+DlgCellVerAlignNotSet	: "<Ei asetettu>",
+DlgCellVerAlignTop	: "YlÃ¶s",
+DlgCellVerAlignMiddle	: "Keskelle",
+DlgCellVerAlignBottom	: "Alas",
+DlgCellVerAlignBaseline	: "Tekstin alas",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "Rivin jatkuvuus",
+DlgCellCollSpan		: "Sarakkeen jatkuvuus",
+DlgCellBackColor	: "TaustavÃ¤ri",
+DlgCellBorderColor	: "Rajan vÃ¤ri",
+DlgCellBtnSelect	: "Valitse...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Etsi ja korvaa",
+
+// Find Dialog
+DlgFindTitle		: "Etsi",
+DlgFindFindBtn		: "Etsi",
+DlgFindNotFoundMsg	: "EtsittyÃ¤ tekstiÃ¤ ei lÃ¶ytynyt.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Korvaa",
+DlgReplaceFindLbl		: "Etsi mitÃ¤:",
+DlgReplaceReplaceLbl	: "Korvaa tÃ¤llÃ¤:",
+DlgReplaceCaseChk		: "Sama kirjainkoko",
+DlgReplaceReplaceBtn	: "Korvaa",
+DlgReplaceReplAllBtn	: "Korvaa kaikki",
+DlgReplaceWordChk		: "Koko sana",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "Selaimesi turva-asetukset eivÃ¤t salli editorin toteuttaa leikkaamista. KÃ¤ytÃ¤ nÃ¤ppÃ¤imistÃ¶Ã¤ leikkaamiseen (Ctrl+X).",
+PasteErrorCopy	: "Selaimesi turva-asetukset eivÃ¤t salli editorin toteuttaa kopioimista. KÃ¤ytÃ¤ nÃ¤ppÃ¤imistÃ¶Ã¤ kopioimiseen (Ctrl+C).",
+
+PasteAsText		: "LiitÃ¤ tekstinÃ¤",
+PasteFromWord	: "LiitÃ¤ Wordista",
+
+DlgPasteMsg2	: "LiitÃ¤ painamalla (<STRONG>Ctrl+V</STRONG>) ja painamalla <STRONG>OK</STRONG>.",
+DlgPasteSec		: "Selaimesi turva-asetukset eivÃ¤t salli editorin kÃ¤yttÃ¤Ã¤ leikepÃ¶ytÃ¤Ã¤ suoraan. Sinun pitÃ¤Ã¤ suorittaa liittÃ¤minen tÃ¤ssÃ¤ ikkunassa.",
+DlgPasteIgnoreFont		: "JÃ¤tÃ¤ huomioimatta fonttimÃ¤Ã¤ritykset",
+DlgPasteRemoveStyles	: "Poista tyylimÃ¤Ã¤ritykset",
+
+// Color Picker
+ColorAutomatic	: "Automaattinen",
+ColorMoreColors	: "LisÃ¤Ã¤ vÃ¤rejÃ¤...",
+
+// Document Properties
+DocProps		: "Dokumentin ominaisuudet",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Ankkurin ominaisuudet",
+DlgAnchorName		: "Nimi",
+DlgAnchorErrorName	: "Ankkurille on kirjoitettava nimi",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Ei sanakirjassa",
+DlgSpellChangeTo		: "Vaihda",
+DlgSpellBtnIgnore		: "JÃ¤tÃ¤ huomioimatta",
+DlgSpellBtnIgnoreAll	: "JÃ¤tÃ¤ kaikki huomioimatta",
+DlgSpellBtnReplace		: "Korvaa",
+DlgSpellBtnReplaceAll	: "Korvaa kaikki",
+DlgSpellBtnUndo			: "Kumoa",
+DlgSpellNoSuggestions	: "Ei ehdotuksia",
+DlgSpellProgress		: "Tarkistus kÃ¤ynnissÃ¤...",
+DlgSpellNoMispell		: "Tarkistus valmis: Ei virheitÃ¤",
+DlgSpellNoChanges		: "Tarkistus valmis: YhtÃ¤Ã¤n sanaa ei muutettu",
+DlgSpellOneChange		: "Tarkistus valmis: Yksi sana muutettiin",
+DlgSpellManyChanges		: "Tarkistus valmis: %1 sanaa muutettiin",
+
+IeSpellDownload			: "Oikeinkirjoituksen tarkistusta ei ole asennettu. Haluatko ladata sen nyt?",
+
+// Button Dialog
+DlgButtonText		: "Teksti (arvo)",
+DlgButtonType		: "Tyyppi",
+DlgButtonTypeBtn	: "Painike",
+DlgButtonTypeSbm	: "LÃ¤hetÃ¤",
+DlgButtonTypeRst	: "TyhjennÃ¤",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Nimi",
+DlgCheckboxValue	: "Arvo",
+DlgCheckboxSelected	: "Valittu",
+
+// Form Dialog
+DlgFormName		: "Nimi",
+DlgFormAction	: "Toiminto",
+DlgFormMethod	: "Tapa",
+
+// Select Field Dialog
+DlgSelectName		: "Nimi",
+DlgSelectValue		: "Arvo",
+DlgSelectSize		: "Koko",
+DlgSelectLines		: "Rivit",
+DlgSelectChkMulti	: "Salli usea valinta",
+DlgSelectOpAvail	: "Ominaisuudet",
+DlgSelectOpText		: "Teksti",
+DlgSelectOpValue	: "Arvo",
+DlgSelectBtnAdd		: "LisÃ¤Ã¤",
+DlgSelectBtnModify	: "Muuta",
+DlgSelectBtnUp		: "YlÃ¶s",
+DlgSelectBtnDown	: "Alas",
+DlgSelectBtnSetValue : "Aseta valituksi",
+DlgSelectBtnDelete	: "Poista",
+
+// Textarea Dialog
+DlgTextareaName	: "Nimi",
+DlgTextareaCols	: "Sarakkeita",
+DlgTextareaRows	: "RivejÃ¤",
+
+// Text Field Dialog
+DlgTextName			: "Nimi",
+DlgTextValue		: "Arvo",
+DlgTextCharWidth	: "Leveys",
+DlgTextMaxChars		: "Maksimi merkkimÃ¤Ã¤rÃ¤",
+DlgTextType			: "Tyyppi",
+DlgTextTypeText		: "Teksti",
+DlgTextTypePass		: "Salasana",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Nimi",
+DlgHiddenValue	: "Arvo",
+
+// Bulleted List Dialog
+BulletedListProp	: "Luettelon ominaisuudet",
+NumberedListProp	: "Numeroinnin ominaisuudet",
+DlgLstStart			: "Alku",
+DlgLstType			: "Tyyppi",
+DlgLstTypeCircle	: "KehÃ¤",
+DlgLstTypeDisc		: "YmpyrÃ¤",
+DlgLstTypeSquare	: "NeliÃ¶",
+DlgLstTypeNumbers	: "Numerot (1, 2, 3)",
+DlgLstTypeLCase		: "Pienet kirjaimet (a, b, c)",
+DlgLstTypeUCase		: "Isot kirjaimet (A, B, C)",
+DlgLstTypeSRoman	: "Pienet roomalaiset numerot (i, ii, iii)",
+DlgLstTypeLRoman	: "Isot roomalaiset numerot (Ii, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Yleiset",
+DlgDocBackTab		: "Tausta",
+DlgDocColorsTab		: "VÃ¤rit ja marginaalit",
+DlgDocMetaTab		: "Meta-tieto",
+
+DlgDocPageTitle		: "Sivun nimi",
+DlgDocLangDir		: "Kielen suunta",
+DlgDocLangDirLTR	: "Vasemmalta oikealle (LTR)",
+DlgDocLangDirRTL	: "Oikealta vasemmalle (RTL)",
+DlgDocLangCode		: "Kielikoodi",
+DlgDocCharSet		: "MerkistÃ¶koodaus",
+DlgDocCharSetCE		: "Keskieurooppalainen",
+DlgDocCharSetCT		: "Kiina, perinteinen (Big5)",
+DlgDocCharSetCR		: "Kyrillinen",
+DlgDocCharSetGR		: "Kreikka",
+DlgDocCharSetJP		: "Japani",
+DlgDocCharSetKR		: "Korealainen",
+DlgDocCharSetTR		: "Turkkilainen",
+DlgDocCharSetUN		: "Unicode (UTF-8)",
+DlgDocCharSetWE		: "LÃ¤nsieurooppalainen",
+DlgDocCharSetOther	: "Muu merkistÃ¶koodaus",
+
+DlgDocDocType		: "Dokumentin tyyppi",
+DlgDocDocTypeOther	: "Muu dokumentin tyyppi",
+DlgDocIncXHTML		: "LisÃ¤Ã¤ XHTML julistukset",
+DlgDocBgColor		: "TaustavÃ¤ri",
+DlgDocBgImage		: "Taustakuva",
+DlgDocBgNoScroll	: "PaikallaanpysyvÃ¤ tausta",
+DlgDocCText			: "Teksti",
+DlgDocCLink			: "Linkki",
+DlgDocCVisited		: "Vierailtu linkki",
+DlgDocCActive		: "Aktiivinen linkki",
+DlgDocMargins		: "Sivun marginaalit",
+DlgDocMaTop			: "YlÃ¤",
+DlgDocMaLeft		: "Vasen",
+DlgDocMaRight		: "Oikea",
+DlgDocMaBottom		: "Ala",
+DlgDocMeIndex		: "Hakusanat (pilkulla erotettuna)",
+DlgDocMeDescr		: "Kuvaus",
+DlgDocMeAuthor		: "TekijÃ¤",
+DlgDocMeCopy		: "TekijÃ¤noikeudet",
+DlgDocPreview		: "Esikatselu",
+
+// Templates Dialog
+Templates			: "Pohjat",
+DlgTemplatesTitle	: "SisÃ¤ltÃ¶pohjat",
+DlgTemplatesSelMsg	: "Valitse pohja editoriin<br>(aiempi sisÃ¤ltÃ¶ menetetÃ¤Ã¤n):",
+DlgTemplatesLoading	: "Ladataan listaa pohjista. Hetkinen...",
+DlgTemplatesNoTpl	: "(Ei mÃ¤Ã¤riteltyjÃ¤ pohjia)",
+DlgTemplatesReplace	: "Korvaa editorin koko sisÃ¤ltÃ¶",
+
+// About Dialog
+DlgAboutAboutTab	: "Editorista",
+DlgAboutBrowserInfoTab	: "Selaimen tiedot",
+DlgAboutLicenseTab	: "Lisenssi",
+DlgAboutVersion		: "versio",
+DlgAboutInfo		: "LisÃ¤Ã¤ tietoa osoitteesta",
+
+// Div Dialog
+DlgDivGeneralTab	: "General",	//MISSING
+DlgDivAdvancedTab	: "Advanced",	//MISSING
+DlgDivStyle		: "Style",	//MISSING
+DlgDivInlineStyle	: "Inline Style",	//MISSING
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/hi.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/hi.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/hi.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Hindi language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "à¤Ÿà¥‚à¤²à¤¬à¤¾à¤° à¤¸à¤¿à¤®à¤Ÿà¤¾à¤¯à¥‡à¤‚",
+ToolbarExpand		: "à¤Ÿà¥‚à¤²à¤¬à¤¾à¤° à¤•à¤¾ à¤µà¤¿à¤¸à¥à¤¤à¤¾à¤° à¤•à¤°à¥‡à¤‚",
+
+// Toolbar Items and Context Menu
+Save				: "à¤¸à¥‡à¤µ",
+NewPage				: "à¤¨à¤¯à¤¾ à¤ªà¥‡à¤œ",
+Preview				: "à¤ªà¥à¤°à¥€à¤µà¥à¤¯à¥‚",
+Cut					: "à¤•à¤Ÿ",
+Copy				: "à¤•à¥‰à¤ªà¥€",
+Paste				: "à¤ªà¥‡à¤¸à¥à¤Ÿ",
+PasteText			: "à¤ªà¥‡à¤¸à¥à¤Ÿ (à¤¸à¤¾à¤¦à¤¾ à¤Ÿà¥…à¤•à¥à¤¸à¥à¤Ÿ)",
+PasteWord			: "à¤ªà¥‡à¤¸à¥à¤Ÿ (à¤µà¤°à¥à¤¡ à¤¸à¥‡)",
+Print				: "à¤ªà¥à¤°à¤¿à¤¨à¥à¤Ÿ",
+SelectAll			: "à¤¸à¤¬ à¤¸à¥…à¤²à¥…à¤•à¥à¤Ÿ à¤•à¤°à¥‡à¤‚",
+RemoveFormat		: "à¥à¥‰à¤°à¥à¤®à¥ˆà¤Ÿ à¤¹à¤Ÿà¤¾à¤¯à¥‡à¤‚",
+InsertLinkLbl		: "à¤²à¤¿à¤‚à¤•",
+InsertLink			: "à¤²à¤¿à¤‚à¤• à¤‡à¤¨à¥à¤¸à¤°à¥à¤Ÿ/à¤¸à¤‚à¤ªà¤¾à¤¦à¤¨",
+RemoveLink			: "à¤²à¤¿à¤‚à¤• à¤¹à¤Ÿà¤¾à¤¯à¥‡à¤‚",
+VisitLink			: "à¤²à¤¿à¤‚à¤• à¤–à¥‹à¤²à¥‡à¤‚",
+Anchor				: "à¤à¤‚à¤•à¤° à¤‡à¤¨à¥à¤¸à¤°à¥à¤Ÿ/à¤¸à¤‚à¤ªà¤¾à¤¦à¤¨",
+AnchorDelete		: "à¤à¤‚à¤•à¤° à¤¹à¤Ÿà¤¾à¤¯à¥‡à¤‚",
+InsertImageLbl		: "à¤¤à¤¸à¥à¤µà¥€à¤°",
+InsertImage			: "à¤¤à¤¸à¥à¤µà¥€à¤° à¤‡à¤¨à¥à¤¸à¤°à¥à¤Ÿ/à¤¸à¤‚à¤ªà¤¾à¤¦à¤¨",
+InsertFlashLbl		: "à¥à¥à¤²à¥ˆà¤¶",
+InsertFlash			: "à¥à¥à¤²à¥ˆà¤¶ à¤‡à¤¨à¥à¤¸à¤°à¥à¤Ÿ/à¤¸à¤‚à¤ªà¤¾à¤¦à¤¨",
+InsertTableLbl		: "à¤Ÿà¥‡à¤¬à¤²",
+InsertTable			: "à¤Ÿà¥‡à¤¬à¤² à¤‡à¤¨à¥à¤¸à¤°à¥à¤Ÿ/à¤¸à¤‚à¤ªà¤¾à¤¦à¤¨",
+InsertLineLbl		: "à¤°à¥‡à¤–à¤¾",
+InsertLine			: "à¤¹à¥‰à¤°à¤¿à¥›à¥‰à¤¨à¥à¤Ÿà¤² à¤°à¥‡à¤–à¤¾ à¤‡à¤¨à¥à¤¸à¤°à¥à¤Ÿ à¤•à¤°à¥‡à¤‚",
+InsertSpecialCharLbl: "à¤µà¤¿à¤¶à¥‡à¤· à¤•à¤°à¥…à¤•à¥à¤Ÿà¤°",
+InsertSpecialChar	: "à¤µà¤¿à¤¶à¥‡à¤· à¤•à¤°à¥…à¤•à¥à¤Ÿà¤° à¤‡à¤¨à¥à¤¸à¤°à¥à¤Ÿ à¤•à¤°à¥‡à¤‚",
+InsertSmileyLbl		: "à¤¸à¥à¤®à¤¾à¤‡à¤²à¥€",
+InsertSmiley		: "à¤¸à¥à¤®à¤¾à¤‡à¤²à¥€ à¤‡à¤¨à¥à¤¸à¤°à¥à¤Ÿ à¤•à¤°à¥‡à¤‚",
+About				: "FCKeditor à¤•à¥‡ à¤¬à¤¾à¤°à¥‡ à¤®à¥‡à¤‚",
+Bold				: "à¤¬à¥‹à¤²à¥à¤¡",
+Italic				: "à¤‡à¤Ÿà¥ˆà¤²à¤¿à¤•",
+Underline			: "à¤°à¥‡à¤–à¤¾à¤‚à¤•à¤£",
+StrikeThrough		: "à¤¸à¥à¤Ÿà¥à¤°à¤¾à¤‡à¤• à¤¥à¥à¤°à¥‚",
+Subscript			: "à¤…à¤§à¥‹à¤²à¥‡à¤–",
+Superscript			: "à¤…à¤­à¤¿à¤²à¥‡à¤–",
+LeftJustify			: "à¤¬à¤¾à¤¯à¥€à¤‚ à¤¤à¤°à¤«",
+CenterJustify		: "à¤¬à¥€à¤š à¤®à¥‡à¤‚",
+RightJustify		: "à¤¦à¤¾à¤¯à¥€à¤‚ à¤¤à¤°à¤«",
+BlockJustify		: "à¤¬à¥à¤²à¥‰à¤• à¤œà¤¸à¥à¤Ÿà¥€à¥à¤¾à¤ˆ",
+DecreaseIndent		: "à¤‡à¤¨à¥à¤¡à¥…à¤¨à¥à¤Ÿ à¤•à¤® à¤•à¤°à¥‡à¤‚",
+IncreaseIndent		: "à¤‡à¤¨à¥à¤¡à¥…à¤¨à¥à¤Ÿ à¤¬à¥à¤¾à¤¯à¥‡à¤‚",
+Blockquote			: "à¤¬à¥à¤²à¥‰à¤•-à¤•à¥‹à¤Ÿ",
+CreateDiv			: "à¤¡à¤¿à¤µ (Div) à¤•à¤¨à¥à¤Ÿà¥‡à¤¨à¤° à¤¬à¤¨à¤¾à¤¯à¥‡à¤‚",
+EditDiv				: "à¤¡à¤¿à¤µ (Div) à¤•à¤¨à¥à¤Ÿà¥‡à¤¨à¤° à¤¬à¤¦à¤²à¥‡à¤‚",
+DeleteDiv			: "à¤¡à¤¿à¤µ à¤•à¤¨à¥à¤Ÿà¥‡à¤¨à¤° à¤¹à¤Ÿà¤¾à¤¯à¥‡à¤‚",
+Undo				: "à¤…à¤¨à¥à¤¡à¥‚",
+Redo				: "à¤°à¥€à¤¡à¥‚",
+NumberedListLbl		: "à¤…à¤‚à¤•à¥€à¤¯ à¤¸à¥‚à¤šà¥€",
+NumberedList		: "à¤…à¤‚à¤•à¥€à¤¯ à¤¸à¥‚à¤šà¥€ à¤‡à¤¨à¥à¤¸à¤°à¥à¤Ÿ/à¤¸à¤‚à¤ªà¤¾à¤¦à¤¨",
+BulletedListLbl		: "à¤¬à¥à¤²à¥…à¤Ÿ à¤¸à¥‚à¤šà¥€",
+BulletedList		: "à¤¬à¥à¤²à¥…à¤Ÿ à¤¸à¥‚à¤šà¥€ à¤‡à¤¨à¥à¤¸à¤°à¥à¤Ÿ/à¤¸à¤‚à¤ªà¤¾à¤¦à¤¨",
+ShowTableBorders	: "à¤Ÿà¥‡à¤¬à¤² à¤¬à¥‰à¤°à¥à¤¡à¤°à¤¯à¥‡à¤‚ à¤¦à¤¿à¤–à¤¾à¤¯à¥‡à¤‚",
+ShowDetails			: "à¤œà¥à¤¯à¤¾à¤¦à¤¾   à¤¦à¤¿à¤–à¤¾à¤¯à¥‡à¤‚",
+Style				: "à¤¸à¥à¤Ÿà¤¾à¤‡à¤²",
+FontFormat			: "à¥à¥‰à¤°à¥à¤®à¥ˆà¤Ÿ",
+Font				: "à¥à¥‰à¤¨à¥à¤Ÿ",
+FontSize			: "à¤¸à¤¾à¤‡à¥›",
+TextColor			: "à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ à¤°à¤‚à¤—",
+BGColor				: "à¤¬à¥ˆà¤•à¥à¤—à¥à¤°à¤¾à¤‰à¤¨à¥à¤¡ à¤°à¤‚à¤—",
+Source				: "à¤¸à¥‹à¤°à¥à¤¸",
+Find				: "à¤–à¥‹à¤œà¥‡à¤‚",
+Replace				: "à¤°à¥€à¤ªà¥à¤²à¥‡à¤¸",
+SpellCheck			: "à¤µà¤°à¥à¤¤à¤¨à¥€ (à¤¸à¥à¤ªà¥‡à¤²à¤¿à¤‚à¤—) à¤œà¤¾à¤à¤š",
+UniversalKeyboard	: "à¤¯à¥‚à¤¨à¥€à¤µà¤°à¥à¤¸à¤² à¤•à¥€à¤¬à¥‹à¤°à¥à¤¡",
+PageBreakLbl		: "à¤ªà¥‡à¤œ à¤¬à¥à¤°à¥‡à¤•",
+PageBreak			: "à¤ªà¥‡à¤œ à¤¬à¥à¤°à¥‡à¤• à¤‡à¤¨à¥à¤¸à¤°à¥à¤Ÿà¥ à¤•à¤°à¥‡à¤‚",
+
+Form			: "à¥à¥‰à¤°à¥à¤®",
+Checkbox		: "à¤šà¥…à¤• à¤¬à¥‰à¤•à¥à¤¸",
+RadioButton		: "à¤°à¥‡à¤¡à¤¿à¤“ à¤¬à¤Ÿà¤¨",
+TextField		: "à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ à¥à¥€à¤²à¥à¤¡",
+Textarea		: "à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ à¤à¤°à¤¿à¤¯à¤¾",
+HiddenField		: "à¤—à¥à¤ªà¥à¤¤ à¥à¥€à¤²à¥à¤¡",
+Button			: "à¤¬à¤Ÿà¤¨",
+SelectionField	: "à¤šà¥à¤¨à¤¾à¤µ à¥à¥€à¤²à¥à¤¡",
+ImageButton		: "à¤¤à¤¸à¥à¤µà¥€à¤° à¤¬à¤Ÿà¤¨",
+
+FitWindow		: "à¤à¤¡à¤¿à¤Ÿà¤° à¤¸à¤¾à¤‡à¥› à¤•à¥‹ à¤šà¤°à¤® à¤¸à¥€à¤®à¤¾ à¤¤à¤• à¤¬à¥à¤¾à¤¯à¥‡à¤‚",
+ShowBlocks		: "à¤¬à¥à¤²à¥‰à¤• à¤¦à¤¿à¤–à¤¾à¤¯à¥‡à¤‚",
+
+// Context Menu
+EditLink			: "à¤²à¤¿à¤‚à¤• à¤¸à¤‚à¤ªà¤¾à¤¦à¤¨",
+CellCM				: "à¤–à¤¾à¤¨à¤¾",
+RowCM				: "à¤ªà¤‚à¤•à¥à¤¤à¤¿",
+ColumnCM			: "à¤•à¤¾à¤²à¤®",
+InsertRowAfter		: "à¤¬à¤¾à¤¦ à¤®à¥‡à¤‚ à¤ªà¤‚à¤•à¥à¤¤à¤¿ à¤¡à¤¾à¤²à¥‡à¤‚",
+InsertRowBefore		: "à¤ªà¤¹à¤²à¥‡ à¤ªà¤‚à¤•à¥à¤¤à¤¿ à¤¡à¤¾à¤²à¥‡à¤‚",
+DeleteRows			: "à¤ªà¤‚à¤•à¥à¤¤à¤¿à¤¯à¤¾à¤ à¤¡à¤¿à¤²à¥€à¤Ÿ à¤•à¤°à¥‡à¤‚",
+InsertColumnAfter	: "à¤¬à¤¾à¤¦ à¤®à¥‡à¤‚ à¤•à¤¾à¤²à¤® à¤¡à¤¾à¤²à¥‡à¤‚",
+InsertColumnBefore	: "à¤ªà¤¹à¤²à¥‡ à¤•à¤¾à¤²à¤® à¤¡à¤¾à¤²à¥‡à¤‚",
+DeleteColumns		: "à¤•à¤¾à¤²à¤® à¤¡à¤¿à¤²à¥€à¤Ÿ à¤•à¤°à¥‡à¤‚",
+InsertCellAfter		: "à¤¬à¤¾à¤¦ à¤®à¥‡à¤‚ à¤¸à¥ˆà¤² à¤¡à¤¾à¤²à¥‡à¤‚",
+InsertCellBefore	: "à¤ªà¤¹à¤²à¥‡ à¤¸à¥ˆà¤² à¤¡à¤¾à¤²à¥‡à¤‚",
+DeleteCells			: "à¤¸à¥ˆà¤² à¤¡à¤¿à¤²à¥€à¤Ÿ à¤•à¤°à¥‡à¤‚",
+MergeCells			: "à¤¸à¥ˆà¤² à¤®à¤¿à¤²à¤¾à¤¯à¥‡à¤‚",
+MergeRight			: "à¤¬à¤¾à¤à¤¯à¤¾ à¤µà¤¿à¤²à¤¯",
+MergeDown			: "à¤¨à¥€à¤šà¥‡ à¤µà¤¿à¤²à¤¯ à¤•à¤°à¥‡à¤‚",
+HorizontalSplitCell	: "à¤¸à¥ˆà¤² à¤•à¥‹ à¤•à¥à¤·à¥ˆà¤¤à¤¿à¤œ à¤¸à¥à¤¥à¤¿à¤¤à¤¿ à¤®à¥‡à¤‚ à¤µà¤¿à¤­à¤¾à¤œà¤¿à¤¤ à¤•à¤°à¥‡à¤‚",
+VerticalSplitCell	: "à¤¸à¥ˆà¤² à¤•à¥‹ à¤²à¤®à¥à¤¬à¤¾à¤•à¤¾à¤° à¤®à¥‡à¤‚ à¤µà¤¿à¤­à¤¾à¤œà¤¿à¤¤ à¤•à¤°à¥‡à¤‚",
+TableDelete			: "à¤Ÿà¥‡à¤¬à¤² à¤¡à¤¿à¤²à¥€à¤Ÿ à¤•à¤°à¥‡à¤‚",
+CellProperties		: "à¤¸à¥ˆà¤² à¤ªà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›",
+TableProperties		: "à¤Ÿà¥‡à¤¬à¤² à¤ªà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›",
+ImageProperties		: "à¤¤à¤¸à¥à¤µà¥€à¤° à¤ªà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›",
+FlashProperties		: "à¥à¥à¤²à¥ˆà¤¶ à¤ªà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›",
+
+AnchorProp			: "à¤à¤‚à¤•à¤° à¤ªà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›",
+ButtonProp			: "à¤¬à¤Ÿà¤¨ à¤ªà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›",
+CheckboxProp		: "à¤šà¥…à¤• à¤¬à¥‰à¤•à¥à¤¸ à¤ªà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›",
+HiddenFieldProp		: "à¤—à¥à¤ªà¥à¤¤ à¥à¥€à¤²à¥à¤¡ à¤ªà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›",
+RadioButtonProp		: "à¤°à¥‡à¤¡à¤¿à¤“ à¤¬à¤Ÿà¤¨ à¤ªà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›",
+ImageButtonProp		: "à¤¤à¤¸à¥à¤µà¥€à¤° à¤¬à¤Ÿà¤¨ à¤ªà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›",
+TextFieldProp		: "à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ à¥à¥€à¤²à¥à¤¡ à¤ªà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›",
+SelectionFieldProp	: "à¤šà¥à¤¨à¤¾à¤µ à¥à¥€à¤²à¥à¤¡ à¤ªà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›",
+TextareaProp		: "à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤¤ à¤à¤°à¤¿à¤¯à¤¾ à¤ªà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›",
+FormProp			: "à¥à¥‰à¤°à¥à¤® à¤ªà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›",
+
+FontFormats			: "à¤¸à¤¾à¤§à¤¾à¤°à¤£;à¥à¥‰à¤°à¥à¤®à¥ˆà¤Ÿà¥…à¤¡;à¤ªà¤¤à¤¾;à¤¶à¥€à¤°à¥à¤·à¤• 1;à¤¶à¥€à¤°à¥à¤·à¤• 2;à¤¶à¥€à¤°à¥à¤·à¤• 3;à¤¶à¥€à¤°à¥à¤·à¤• 4;à¤¶à¥€à¤°à¥à¤·à¤• 5;à¤¶à¥€à¤°à¥à¤·à¤• 6;à¤¶à¥€à¤°à¥à¤·à¤• (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "XHTML à¤ªà¥à¤°à¥‹à¤¸à¥…à¤¸ à¤¹à¥‹ à¤°à¤¹à¤¾ à¤¹à¥ˆà¥¤ à¥›à¤°à¤¾ à¤ à¤¹à¤°à¥‡à¤‚...",
+Done				: "à¤ªà¥‚à¤°à¤¾ à¤¹à¥à¤†",
+PasteWordConfirm	: "à¤†à¤ª à¤œà¥‹ à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ à¤ªà¥‡à¤¸à¥à¤Ÿ à¤•à¤°à¤¨à¤¾ à¤šà¤¾à¤¹à¤¤à¥‡ à¤¹à¥ˆà¤‚, à¤µà¤¹ à¤µà¤°à¥à¤¡ à¤¸à¥‡ à¤•à¥‰à¤ªà¥€ à¤•à¤¿à¤¯à¤¾ à¤¹à¥à¤† à¤²à¤— à¤°à¤¹à¤¾ à¤¹à¥ˆà¥¤ à¤•à¥à¤¯à¤¾ à¤ªà¥‡à¤¸à¥à¤Ÿ à¤•à¤°à¤¨à¥‡ à¤¸à¥‡ à¤ªà¤¹à¤²à¥‡ à¤†à¤ª à¤‡à¤¸à¥‡ à¤¸à¤¾à¥ à¤•à¤°à¤¨à¤¾ à¤šà¤¾à¤¹à¥‡à¤‚à¤—à¥‡?",
+NotCompatiblePaste	: "à¤¯à¤¹ à¤•à¤®à¤¾à¤‚à¤¡ à¤‡à¤¨à¥à¤Ÿà¤°à¤¨à¥…à¤Ÿ à¤à¤•à¥à¤¸à¥à¤ªà¥à¤²à¥‹à¤°à¤°(Internet Explorer) 5.5 à¤¯à¤¾ à¤‰à¤¸à¤•à¥‡ à¤¬à¤¾à¤¦ à¤•à¥‡ à¤µà¤°à¥à¥›à¤¨ à¤•à¥‡ à¤²à¤¿à¤ à¤¹à¥€ à¤‰à¤ªà¤²à¤¬à¥à¤§ à¤¹à¥ˆà¥¤ à¤•à¥à¤¯à¤¾ à¤†à¤ª à¤¬à¤¿à¤¨à¤¾ à¤¸à¤¾à¥ à¤•à¤¿à¤ à¤ªà¥‡à¤¸à¥à¤Ÿ à¤•à¤°à¤¨à¤¾ à¤šà¤¾à¤¹à¥‡à¤‚à¤—à¥‡?",
+UnknownToolbarItem	: "à¤…à¤¨à¤œà¤¾à¤¨ à¤Ÿà¥‚à¤²à¤¬à¤¾à¤° à¤†à¤‡à¤Ÿà¤® \"%1\"",
+UnknownCommand		: "à¤…à¤¨à¤œà¤¾à¤¨ à¤•à¤®à¤¾à¤¨à¥à¤¡ \"%1\"",
+NotImplemented		: "à¤•à¤®à¤¾à¤¨à¥à¤¡ à¤‡à¤®à¥à¤ªà¥à¤²à¥€à¤®à¥…à¤¨à¥à¤Ÿ à¤¨à¤¹à¥€à¤‚ à¤•à¤¿à¤¯à¤¾ à¤—à¤¯à¤¾ à¤¹à¥ˆ",
+UnknownToolbarSet	: "à¤Ÿà¥‚à¤²à¤¬à¤¾à¤° à¤¸à¥…à¤Ÿ \"%1\" à¤‰à¤ªà¤²à¤¬à¥à¤§ à¤¨à¤¹à¥€à¤‚ à¤¹à¥ˆ",
+NoActiveX			: "à¤†à¤ªà¤•à¥‡ à¤¬à¥à¤°à¤¾à¤‰à¥›à¤°à¥ à¤•à¥€ à¤¸à¥à¤°à¤•à¥à¤¶à¤¾ à¤¸à¥‡à¤Ÿà¤¿à¤‚à¤—à¥à¤¸à¥ à¤à¤¡à¤¿à¤Ÿà¤° à¤•à¥€ à¤•à¥à¤›à¥ à¥à¥€à¤šà¤°à¥‹à¤‚ à¤•à¥‹ à¤¸à¥€à¤®à¤¿à¤¤ à¤•à¤°à¥ à¤¸à¤•à¤¤à¥€ à¤¹à¥ˆà¤‚à¥¤ à¤•à¥à¤°à¤¿à¤ªà¤¯à¤¾ \"Run ActiveX controls and plug-ins\" à¤µà¤¿à¤•à¤²à¥à¤ª à¤•à¥‹ à¤à¤¨à¥‡à¤¬à¤² à¤•à¤°à¥‡à¤‚. à¤†à¤ªà¤•à¥‹ à¤à¤°à¤°à¥à¤¸à¥ à¤”à¤° à¤—à¤¾à¤¯à¤¬ à¥à¥€à¤šà¤°à¥à¤¸à¥ à¤•à¤¾ à¤…à¤¨à¥à¤­à¤µ à¤¹à¥‹ à¤¸à¤•à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+BrowseServerBlocked : "à¤°à¤¿à¤¸à¥‹à¤°à¥à¤¸à¥‡à¥› à¤¬à¥à¤°à¤¾à¤‰à¥›à¤°à¥ à¤¨à¤¹à¥€à¤‚ à¤–à¥‹à¤²à¤¾ à¤œà¤¾ à¤¸à¤•à¤¾à¥¤ à¤•à¥à¤°à¤¿à¤ªà¤¯à¤¾ à¤¸à¤­à¥€ à¤ªà¥‰à¤ªà¥-à¤…à¤ªà¥ à¤¬à¥à¤²à¥‰à¤•à¤°à¥à¤¸à¥ à¤•à¥‹ à¤¨à¤¿à¤·à¥à¤•à¥à¤°à¤¿à¤¯ à¤•à¤°à¥‡à¤‚à¥¤",
+DialogBlocked		: "à¤¡à¤¾à¤¯à¤²à¤— à¤µà¤¿à¤¨à¥à¤¡à¥‹ à¤¨à¤¹à¥€à¤‚ à¤–à¥‹à¤²à¤¾ à¤œà¤¾ à¤¸à¤•à¤¾à¥¤ à¤•à¥à¤°à¤¿à¤ªà¤¯à¤¾ à¤¸à¤­à¥€ à¤ªà¥‰à¤ªà¥-à¤…à¤ªà¥ à¤¬à¥à¤²à¥‰à¤•à¤°à¥à¤¸à¥ à¤•à¥‹ à¤¨à¤¿à¤·à¥à¤•à¥à¤°à¤¿à¤¯ à¤•à¤°à¥‡à¤‚à¥¤",
+VisitLinkBlocked	: "à¤¨à¤¯à¤¾ à¤µà¤¿à¤¨à¥à¤¡à¥‹ à¤¨à¤¹à¥€à¤‚ à¤–à¥‹à¤²à¤¾ à¤œà¤¾ à¤¸à¤•à¤¾à¥¤ à¤•à¥à¤°à¤¿à¤ªà¤¯à¤¾ à¤¸à¤­à¥€ à¤ªà¥‰à¤ªà¥-à¤…à¤ªà¥ à¤¬à¥à¤²à¥‰à¤•à¤°à¥à¤¸à¥ à¤•à¥‹ à¤¨à¤¿à¤·à¥à¤•à¥à¤°à¤¿à¤¯ à¤•à¤°à¥‡à¤‚à¥¤",
+
+// Dialogs
+DlgBtnOK			: "à¤ à¥€à¤• à¤¹à¥ˆ",
+DlgBtnCancel		: "à¤°à¤¦à¥à¤¦ à¤•à¤°à¥‡à¤‚",
+DlgBtnClose			: "à¤¬à¤¨à¥à¤¦ à¤•à¤°à¥‡à¤‚",
+DlgBtnBrowseServer	: "à¤¸à¤°à¥à¤µà¤° à¤¬à¥à¤°à¤¾à¤‰à¥› à¤•à¤°à¥‡à¤‚",
+DlgAdvancedTag		: "à¤à¤¡à¥à¤µà¤¾à¤¨à¥à¤¸à¥à¤¡",
+DlgOpOther			: "<à¤…à¤¨à¥à¤¯>",
+DlgInfoTab			: "à¤¸à¥‚à¤šà¤¨à¤¾",
+DlgAlertUrl			: "URL à¤‡à¤¨à¥à¤¸à¤°à¥à¤Ÿ à¤•à¤°à¥‡à¤‚",
+
+// General Dialogs Labels
+DlgGenNotSet		: "<à¤¸à¥…à¤Ÿ à¤¨à¤¹à¥€à¤‚>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "à¤­à¤¾à¤·à¤¾ à¤²à¤¿à¤–à¤¨à¥‡ à¤•à¥€ à¤¦à¤¿à¤¶à¤¾",
+DlgGenLangDirLtr	: "à¤¬à¤¾à¤¯à¥‡à¤‚ à¤¸à¥‡ à¤¦à¤¾à¤¯à¥‡à¤‚ (LTR)",
+DlgGenLangDirRtl	: "à¤¦à¤¾à¤¯à¥‡à¤‚ à¤¸à¥‡ à¤¬à¤¾à¤¯à¥‡à¤‚ (RTL)",
+DlgGenLangCode		: "à¤­à¤¾à¤·à¤¾ à¤•à¥‹à¤¡",
+DlgGenAccessKey		: "à¤à¤•à¥à¤¸à¥…à¤¸ à¤•à¥€",
+DlgGenName			: "à¤¨à¤¾à¤®",
+DlgGenTabIndex		: "à¤Ÿà¥ˆà¤¬ à¤‡à¤¨à¥à¤¡à¥…à¤•à¥à¤¸",
+DlgGenLongDescr		: "à¤…à¤§à¤¿à¤• à¤µà¤¿à¤µà¤°à¤£ à¤•à¥‡ à¤²à¤¿à¤ URL",
+DlgGenClass			: "à¤¸à¥à¤Ÿà¤¾à¤‡à¤²-à¤¶à¥€à¤Ÿ à¤•à¥à¤²à¤¾à¤¸",
+DlgGenTitle			: "à¤ªà¤°à¤¾à¤®à¤°à¥à¤¶ à¤¶à¥€à¤°à¥à¤¶à¤•",
+DlgGenContType		: "à¤ªà¤°à¤¾à¤®à¤°à¥à¤¶ à¤•à¤¨à¥à¤Ÿà¥…à¤¨à¥à¤Ÿ à¤ªà¥à¤°à¤•à¤¾à¤°",
+DlgGenLinkCharset	: "à¤²à¤¿à¤‚à¤• à¤°à¤¿à¤¸à¥‹à¤°à¥à¤¸ à¤•à¤°à¥…à¤•à¥à¤Ÿà¤° à¤¸à¥…à¤Ÿ",
+DlgGenStyle			: "à¤¸à¥à¤Ÿà¤¾à¤‡à¤²",
+
+// Image Dialog
+DlgImgTitle			: "à¤¤à¤¸à¥à¤µà¥€à¤° à¤ªà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›",
+DlgImgInfoTab		: "à¤¤à¤¸à¥à¤µà¥€à¤° à¤•à¥€ à¤œà¤¾à¤¨à¤•à¤¾à¤°à¥€",
+DlgImgBtnUpload		: "à¤‡à¤¸à¥‡ à¤¸à¤°à¥à¤µà¤° à¤•à¥‹ à¤­à¥‡à¤œà¥‡à¤‚",
+DlgImgURL			: "URL",
+DlgImgUpload		: "à¤…à¤ªà¤²à¥‹à¤¡",
+DlgImgAlt			: "à¤µà¥ˆà¤•à¤²à¥à¤ªà¤¿à¤• à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ",
+DlgImgWidth			: "à¤šà¥Œà¥œà¤¾à¤ˆ",
+DlgImgHeight		: "à¤Šà¤à¤šà¤¾à¤ˆ",
+DlgImgLockRatio		: "à¤²à¥‰à¤• à¤…à¤¨à¥à¤ªà¤¾à¤¤",
+DlgBtnResetSize		: "à¤°à¥€à¤¸à¥…à¤Ÿ à¤¸à¤¾à¤‡à¥›",
+DlgImgBorder		: "à¤¬à¥‰à¤°à¥à¤¡à¤°",
+DlgImgHSpace		: "à¤¹à¥‰à¤°à¤¿à¥›à¥‰à¤¨à¥à¤Ÿà¤² à¤¸à¥à¤ªà¥‡à¤¸",
+DlgImgVSpace		: "à¤µà¤°à¥à¤Ÿà¤¿à¤•à¤² à¤¸à¥à¤ªà¥‡à¤¸",
+DlgImgAlign			: "à¤à¤²à¤¾à¤‡à¤¨",
+DlgImgAlignLeft		: "à¤¦à¤¾à¤¯à¥‡à¤‚",
+DlgImgAlignAbsBottom: "Abs à¤¨à¥€à¤šà¥‡",
+DlgImgAlignAbsMiddle: "Abs à¤Šà¤ªà¤°",
+DlgImgAlignBaseline	: "à¤®à¥‚à¤² à¤°à¥‡à¤–à¤¾",
+DlgImgAlignBottom	: "à¤¨à¥€à¤šà¥‡",
+DlgImgAlignMiddle	: "à¤®à¤§à¥à¤¯",
+DlgImgAlignRight	: "à¤¦à¤¾à¤¯à¥‡à¤‚",
+DlgImgAlignTextTop	: "à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ à¤Šà¤ªà¤°",
+DlgImgAlignTop		: "à¤Šà¤ªà¤°",
+DlgImgPreview		: "à¤ªà¥à¤°à¥€à¤µà¥à¤¯à¥‚",
+DlgImgAlertUrl		: "à¤¤à¤¸à¥à¤µà¥€à¤° à¤•à¤¾ URL à¤Ÿà¤¾à¤‡à¤ª à¤•à¤°à¥‡à¤‚ ",
+DlgImgLinkTab		: "à¤²à¤¿à¤‚à¤•",
+
+// Flash Dialog
+DlgFlashTitle		: "à¥à¥à¤²à¥ˆà¤¶ à¤ªà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›",
+DlgFlashChkPlay		: "à¤‘à¤Ÿà¥‹ à¤ªà¥à¤²à¥‡",
+DlgFlashChkLoop		: "à¤²à¥‚à¤ª",
+DlgFlashChkMenu		: "à¥à¥à¤²à¥ˆà¤¶ à¤®à¥…à¤¨à¥à¤¯à¥‚ à¤•à¤¾ à¤ªà¥à¤°à¤¯à¥‹à¤— à¤•à¤°à¥‡à¤‚",
+DlgFlashScale		: "à¤¸à¥à¤•à¥‡à¤²",
+DlgFlashScaleAll	: "à¤¸à¤­à¥€ à¤¦à¤¿à¤–à¤¾à¤¯à¥‡à¤‚",
+DlgFlashScaleNoBorder	: "à¤•à¥‹à¤ˆ à¤¬à¥‰à¤°à¥à¤¡à¤° à¤¨à¤¹à¥€à¤‚",
+DlgFlashScaleFit	: "à¤¬à¤¿à¤²à¥à¤•à¥à¤² à¥à¤¿à¤Ÿ",
+
+// Link Dialog
+DlgLnkWindowTitle	: "à¤²à¤¿à¤‚à¤•",
+DlgLnkInfoTab		: "à¤²à¤¿à¤‚à¤•  ",
+DlgLnkTargetTab		: "à¤Ÿà¤¾à¤°à¥à¤—à¥‡à¤Ÿ",
+
+DlgLnkType			: "à¤²à¤¿à¤‚à¤• à¤ªà¥à¤°à¤•à¤¾à¤°",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "à¤‡à¤¸ à¤ªà¥‡à¤œ à¤•à¤¾ à¤à¤‚à¤•à¤°",
+DlgLnkTypeEMail		: "à¤ˆ-à¤®à¥‡à¤²",
+DlgLnkProto			: "à¤ªà¥à¤°à¥‹à¤Ÿà¥‹à¤•à¥‰à¤²",
+DlgLnkProtoOther	: "<à¤…à¤¨à¥à¤¯>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "à¤à¤‚à¤•à¤° à¤šà¥à¤¨à¥‡à¤‚",
+DlgLnkAnchorByName	: "à¤à¤‚à¤•à¤° à¤¨à¤¾à¤® à¤¸à¥‡",
+DlgLnkAnchorById	: "à¤à¤²à¥€à¤®à¥…à¤¨à¥à¤Ÿ Id à¤¸à¥‡",
+DlgLnkNoAnchors		: "(à¤¡à¥‰à¤•à¥à¤¯à¥‚à¤®à¥…à¤¨à¥à¤Ÿ à¤®à¥‡à¤‚ à¤à¤‚à¤•à¤°à¥à¤¸ à¤•à¥€ à¤¸à¤‚à¤–à¥à¤¯à¤¾)",
+DlgLnkEMail			: "à¤ˆ-à¤®à¥‡à¤² à¤ªà¤¤à¤¾",
+DlgLnkEMailSubject	: "à¤¸à¤‚à¤¦à¥‡à¤¶ à¤µà¤¿à¤·à¤¯",
+DlgLnkEMailBody		: "à¤¸à¤‚à¤¦à¥‡à¤¶",
+DlgLnkUpload		: "à¤…à¤ªà¤²à¥‹à¤¡",
+DlgLnkBtnUpload		: "à¤‡à¤¸à¥‡ à¤¸à¤°à¥à¤µà¤° à¤•à¥‹ à¤­à¥‡à¤œà¥‡à¤‚",
+
+DlgLnkTarget		: "à¤Ÿà¤¾à¤°à¥à¤—à¥‡à¤Ÿ",
+DlgLnkTargetFrame	: "<à¥à¥à¤°à¥‡à¤®>",
+DlgLnkTargetPopup	: "<à¤ªà¥‰à¤ª-à¤…à¤ª à¤µà¤¿à¤¨à¥à¤¡à¥‹>",
+DlgLnkTargetBlank	: "à¤¨à¤¯à¤¾ à¤µà¤¿à¤¨à¥à¤¡à¥‹ (_blank)",
+DlgLnkTargetParent	: "à¤®à¥‚à¤² à¤µà¤¿à¤¨à¥à¤¡à¥‹ (_parent)",
+DlgLnkTargetSelf	: "à¤‡à¤¸à¥€ à¤µà¤¿à¤¨à¥à¤¡à¥‹ (_self)",
+DlgLnkTargetTop		: "à¤¶à¥€à¤°à¥à¤· à¤µà¤¿à¤¨à¥à¤¡à¥‹ (_top)",
+DlgLnkTargetFrameName	: "à¤Ÿà¤¾à¤°à¥à¤—à¥‡à¤Ÿ à¥à¥à¤°à¥‡à¤® à¤•à¤¾ à¤¨à¤¾à¤®",
+DlgLnkPopWinName	: "à¤ªà¥‰à¤ª-à¤…à¤ª à¤µà¤¿à¤¨à¥à¤¡à¥‹ à¤•à¤¾ à¤¨à¤¾à¤®",
+DlgLnkPopWinFeat	: "à¤ªà¥‰à¤ª-à¤…à¤ª à¤µà¤¿à¤¨à¥à¤¡à¥‹ à¥à¥€à¤šà¤°à¥à¤¸",
+DlgLnkPopResize		: "à¤¸à¤¾à¤‡à¥› à¤¬à¤¦à¤²à¤¾ à¤œà¤¾ à¤¸à¤•à¤¤à¤¾ à¤¹à¥ˆ",
+DlgLnkPopLocation	: "à¤²à¥‹à¤•à¥‡à¤¶à¤¨ à¤¬à¤¾à¤°",
+DlgLnkPopMenu		: "à¤®à¥…à¤¨à¥à¤¯à¥‚ à¤¬à¤¾à¤°",
+DlgLnkPopScroll		: "à¤¸à¥à¤•à¥à¤°à¥‰à¤² à¤¬à¤¾à¤°",
+DlgLnkPopStatus		: "à¤¸à¥à¤Ÿà¥‡à¤Ÿà¤¸ à¤¬à¤¾à¤°",
+DlgLnkPopToolbar	: "à¤Ÿà¥‚à¤² à¤¬à¤¾à¤°",
+DlgLnkPopFullScrn	: "à¥à¥à¤² à¤¸à¥à¤•à¥à¤°à¥€à¤¨ (IE)",
+DlgLnkPopDependent	: "à¤¡à¤¿à¤ªà¥‡à¤¨à¥à¤¡à¥…à¤¨à¥à¤Ÿ (Netscape)",
+DlgLnkPopWidth		: "à¤šà¥Œà¥œà¤¾à¤ˆ",
+DlgLnkPopHeight		: "à¤Šà¤à¤šà¤¾à¤ˆ",
+DlgLnkPopLeft		: "à¤¬à¤¾à¤¯à¥€à¤‚ à¤¤à¤°à¤«",
+DlgLnkPopTop		: "à¤¦à¤¾à¤¯à¥€à¤‚ à¤¤à¤°à¤«",
+
+DlnLnkMsgNoUrl		: "à¤²à¤¿à¤‚à¤• URL à¤Ÿà¤¾à¤‡à¤ª à¤•à¤°à¥‡à¤‚",
+DlnLnkMsgNoEMail	: "à¤ˆ-à¤®à¥‡à¤² à¤ªà¤¤à¤¾ à¤Ÿà¤¾à¤‡à¤ª à¤•à¤°à¥‡à¤‚",
+DlnLnkMsgNoAnchor	: "à¤à¤‚à¤•à¤° à¤šà¥à¤¨à¥‡à¤‚",
+DlnLnkMsgInvPopName	: "à¤ªà¥‰à¤ª-à¤…à¤ª à¤•à¤¾ à¤¨à¤¾à¤® à¤…à¤²à¥à¤«à¤¾à¤¬à¥‡à¤Ÿ à¤¸à¥‡ à¤¶à¥à¤°à¥‚ à¤¹à¥‹à¤¨à¤¾ à¤šà¤¾à¤¹à¤¿à¤¯à¥‡ à¤”à¤° à¤‰à¤¸à¤®à¥‡à¤‚ à¤¸à¥à¤ªà¥‡à¤¸ à¤¨à¤¹à¥€à¤‚ à¤¹à¥‹à¤¨à¥‡ à¤šà¤¾à¤¹à¤¿à¤",
+
+// Color Dialog
+DlgColorTitle		: "à¤°à¤‚à¤— à¤šà¥à¤¨à¥‡à¤‚",
+DlgColorBtnClear	: "à¤¸à¤¾à¥ à¤•à¤°à¥‡à¤‚",
+DlgColorHighlight	: "à¤¹à¤¾à¤‡à¤²à¤¾à¤‡à¤Ÿ",
+DlgColorSelected	: "à¤¸à¥…à¤²à¥…à¤•à¥à¤Ÿà¥…à¤¡",
+
+// Smiley Dialog
+DlgSmileyTitle		: "à¤¸à¥à¤®à¤¾à¤‡à¤²à¥€ à¤‡à¤¨à¥à¤¸à¤°à¥à¤Ÿ à¤•à¤°à¥‡à¤‚",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "à¤µà¤¿à¤¶à¥‡à¤· à¤•à¤°à¥…à¤•à¥à¤Ÿà¤° à¤šà¥à¤¨à¥‡à¤‚",
+
+// Table Dialog
+DlgTableTitle		: "à¤Ÿà¥‡à¤¬à¤² à¤ªà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›",
+DlgTableRows		: "à¤ªà¤‚à¤•à¥à¤¤à¤¿à¤¯à¤¾à¤",
+DlgTableColumns		: "à¤•à¤¾à¤²à¤®",
+DlgTableBorder		: "à¤¬à¥‰à¤°à¥à¤¡à¤° à¤¸à¤¾à¤‡à¥›",
+DlgTableAlign		: "à¤à¤²à¤¾à¤‡à¤¨à¥à¤®à¥…à¤¨à¥à¤Ÿ",
+DlgTableAlignNotSet	: "<à¤¸à¥…à¤Ÿ à¤¨à¤¹à¥€à¤‚>",
+DlgTableAlignLeft	: "à¤¦à¤¾à¤¯à¥‡à¤‚",
+DlgTableAlignCenter	: "à¤¬à¥€à¤š à¤®à¥‡à¤‚",
+DlgTableAlignRight	: "à¤¬à¤¾à¤¯à¥‡à¤‚",
+DlgTableWidth		: "à¤šà¥Œà¥œà¤¾à¤ˆ",
+DlgTableWidthPx		: "à¤ªà¤¿à¤•à¥à¤¸à¥ˆà¤²",
+DlgTableWidthPc		: "à¤ªà¥à¤°à¤¤à¤¿à¤¶à¤¤",
+DlgTableHeight		: "à¤Šà¤à¤šà¤¾à¤ˆ",
+DlgTableCellSpace	: "à¤¸à¥ˆà¤² à¤…à¤‚à¤¤à¤°",
+DlgTableCellPad		: "à¤¸à¥ˆà¤² à¤ªà¥ˆà¤¡à¤¿à¤‚à¤—",
+DlgTableCaption		: "à¤¶à¥€à¤°à¥à¤·à¤•",
+DlgTableSummary		: "à¤¸à¤¾à¤°à¤¾à¤‚à¤¶",
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "à¤¸à¥ˆà¤² à¤ªà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›",
+DlgCellWidth		: "à¤šà¥Œà¥œà¤¾à¤ˆ",
+DlgCellWidthPx		: "à¤ªà¤¿à¤•à¥à¤¸à¥ˆà¤²",
+DlgCellWidthPc		: "à¤ªà¥à¤°à¤¤à¤¿à¤¶à¤¤",
+DlgCellHeight		: "à¤Šà¤à¤šà¤¾à¤ˆ",
+DlgCellWordWrap		: "à¤µà¤°à¥à¤¡ à¤°à¥ˆà¤ª",
+DlgCellWordWrapNotSet	: "<à¤¸à¥…à¤Ÿ à¤¨à¤¹à¥€à¤‚>",
+DlgCellWordWrapYes	: "à¤¹à¤¾à¤",
+DlgCellWordWrapNo	: "à¤¨à¤¹à¥€à¤‚",
+DlgCellHorAlign		: "à¤¹à¥‰à¤°à¤¿à¥›à¥‰à¤¨à¥à¤Ÿà¤² à¤à¤²à¤¾à¤‡à¤¨à¥à¤®à¥…à¤¨à¥à¤Ÿ",
+DlgCellHorAlignNotSet	: "<à¤¸à¥…à¤Ÿ à¤¨à¤¹à¥€à¤‚>",
+DlgCellHorAlignLeft	: "à¤¦à¤¾à¤¯à¥‡à¤‚",
+DlgCellHorAlignCenter	: "à¤¬à¥€à¤š à¤®à¥‡à¤‚",
+DlgCellHorAlignRight: "à¤¬à¤¾à¤¯à¥‡à¤‚",
+DlgCellVerAlign		: "à¤µà¤°à¥à¤Ÿà¤¿à¤•à¤² à¤à¤²à¤¾à¤‡à¤¨à¥à¤®à¥…à¤¨à¥à¤Ÿ",
+DlgCellVerAlignNotSet	: "<à¤¸à¥…à¤Ÿ à¤¨à¤¹à¥€à¤‚>",
+DlgCellVerAlignTop	: "à¤Šà¤ªà¤°",
+DlgCellVerAlignMiddle	: "à¤®à¤§à¥à¤¯",
+DlgCellVerAlignBottom	: "à¤¨à¥€à¤šà¥‡",
+DlgCellVerAlignBaseline	: "à¤®à¥‚à¤²à¤°à¥‡à¤–à¤¾",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "à¤ªà¤‚à¤•à¥à¤¤à¤¿ à¤¸à¥à¤ªà¥ˆà¤¨",
+DlgCellCollSpan		: "à¤•à¤¾à¤²à¤® à¤¸à¥à¤ªà¥ˆà¤¨",
+DlgCellBackColor	: "à¤¬à¥ˆà¤•à¥à¤—à¥à¤°à¤¾à¤‰à¤¨à¥à¤¡ à¤°à¤‚à¤—",
+DlgCellBorderColor	: "à¤¬à¥‰à¤°à¥à¤¡à¤° à¤•à¤¾ à¤°à¤‚à¤—",
+DlgCellBtnSelect	: "à¤šà¥à¤¨à¥‡à¤‚...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "à¤–à¥‹à¤œà¥‡à¤‚ à¤”à¤° à¤¬à¤¦à¤²à¥‡à¤‚",
+
+// Find Dialog
+DlgFindTitle		: "à¤–à¥‹à¤œà¥‡à¤‚",
+DlgFindFindBtn		: "à¤–à¥‹à¤œà¥‡à¤‚",
+DlgFindNotFoundMsg	: "à¤†à¤ªà¤•à¥‡ à¤¦à¥à¤µà¤¾à¤°à¤¾ à¤¦à¤¿à¤¯à¤¾ à¤—à¤¯à¤¾ à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ à¤¨à¤¹à¥€à¤‚ à¤®à¤¿à¤²à¤¾",
+
+// Replace Dialog
+DlgReplaceTitle			: "à¤°à¤¿à¤ªà¥à¤²à¥‡à¤¸",
+DlgReplaceFindLbl		: "à¤¯à¤¹ à¤–à¥‹à¤œà¥‡à¤‚:",
+DlgReplaceReplaceLbl	: "à¤‡à¤¸à¤¸à¥‡ à¤°à¤¿à¤ªà¥à¤²à¥‡à¤¸ à¤•à¤°à¥‡à¤‚:",
+DlgReplaceCaseChk		: "à¤•à¥‡à¤¸ à¤®à¤¿à¤²à¤¾à¤¯à¥‡à¤‚",
+DlgReplaceReplaceBtn	: "à¤°à¤¿à¤ªà¥à¤²à¥‡à¤¸",
+DlgReplaceReplAllBtn	: "à¤¸à¤­à¥€ à¤°à¤¿à¤ªà¥à¤²à¥‡à¤¸ à¤•à¤°à¥‡à¤‚",
+DlgReplaceWordChk		: "à¤ªà¥‚à¤°à¤¾ à¤¶à¤¬à¥à¤¦ à¤®à¤¿à¤²à¤¾à¤¯à¥‡à¤‚",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "à¤†à¤ªà¤•à¥‡ à¤¬à¥à¤°à¤¾à¤‰à¥›à¤° à¤•à¥€ à¤¸à¥à¤°à¤•à¥à¤·à¤¾ à¤¸à¥…à¤Ÿà¤¿à¤¨à¥à¤—à¥à¤¸ à¤¨à¥‡ à¤•à¤Ÿ à¤•à¤°à¤¨à¥‡ à¤•à¥€ à¤…à¤¨à¥à¤®à¤¤à¤¿ à¤¨à¤¹à¥€à¤‚ à¤ªà¥à¤°à¤¦à¤¾à¤¨ à¤•à¥€ à¤¹à¥ˆà¥¤ (Ctrl+X) à¤•à¤¾ à¤ªà¥à¤°à¤¯à¥‹à¤— à¤•à¤°à¥‡à¤‚à¥¤",
+PasteErrorCopy	: "à¤†à¤ªà¤•à¥‡ à¤¬à¥à¤°à¤¾à¤†à¤‰à¥›à¤° à¤•à¥€ à¤¸à¥à¤°à¤•à¥à¤·à¤¾ à¤¸à¥…à¤Ÿà¤¿à¤¨à¥à¤—à¥à¤¸ à¤¨à¥‡ à¤•à¥‰à¤ªà¥€ à¤•à¤°à¤¨à¥‡ à¤•à¥€ à¤…à¤¨à¥à¤®à¤¤à¤¿ à¤¨à¤¹à¥€à¤‚ à¤ªà¥à¤°à¤¦à¤¾à¤¨ à¤•à¥€ à¤¹à¥ˆà¥¤ (Ctrl+C) à¤•à¤¾ à¤ªà¥à¤°à¤¯à¥‹à¤— à¤•à¤°à¥‡à¤‚à¥¤",
+
+PasteAsText		: "à¤ªà¥‡à¤¸à¥à¤Ÿ (à¤¸à¤¾à¤¦à¤¾ à¤Ÿà¥…à¤•à¥à¤¸à¥à¤Ÿ)",
+PasteFromWord	: "à¤ªà¥‡à¤¸à¥à¤Ÿ (à¤µà¤°à¥à¤¡ à¤¸à¥‡)",
+
+DlgPasteMsg2	: "Ctrl+V à¤•à¤¾ à¤ªà¥à¤°à¤¯à¥‹à¤— à¤•à¤°à¤•à¥‡ à¤ªà¥‡à¤¸à¥à¤Ÿ à¤•à¤°à¥‡à¤‚ à¤”à¤° à¤ à¥€à¤• à¤¹à¥ˆ à¤•à¤°à¥‡à¤‚.",
+DlgPasteSec		: "à¤†à¤ªà¤•à¥‡ à¤¬à¥à¤°à¤¾à¤‰à¥›à¤° à¤•à¥€ à¤¸à¥à¤°à¤•à¥à¤·à¤¾ à¤†à¤ªà¤•à¥‡ à¤¬à¥à¤°à¤¾à¤‰à¥›à¤° à¤•à¥€ à¤¸à¥à¤°Kà¤¶ à¤¸à¥ˆà¤Ÿà¤¿à¤‚à¤— à¤•à¥‡ à¤•à¤¾à¤°à¤£, à¤à¤¡à¤¿à¤Ÿà¤° à¤†à¤ªà¤•à¥‡ à¤•à¥à¤²à¤¿à¤ªà¤¬à¥‹à¤°à¥à¤¡ à¤¡à¥‡à¤Ÿà¤¾ à¤•à¥‹ à¤¨à¤¹à¥€à¤‚ à¤ªà¤¾ à¤¸à¤•à¤¤à¤¾ à¤¹à¥ˆ. à¤†à¤ªà¤•à¥‹ à¤‰à¤¸à¥‡ à¤‡à¤¸ à¤µà¤¿à¤¨à¥à¤¡à¥‹ à¤®à¥‡à¤‚ à¤¦à¥‹à¤¬à¤¾à¤°à¤¾ à¤ªà¥‡à¤¸à¥à¤Ÿ à¤•à¤°à¤¨à¤¾ à¤¹à¥‹à¤—à¤¾.",
+DlgPasteIgnoreFont		: "à¥à¥‰à¤¨à¥à¤Ÿ à¤ªà¤°à¤¿à¤­à¤¾à¤·à¤¾ à¤¨à¤¿à¤•à¤¾à¤²à¥‡à¤‚",
+DlgPasteRemoveStyles	: "à¤¸à¥à¤Ÿà¤¾à¤‡à¤² à¤ªà¤°à¤¿à¤­à¤¾à¤·à¤¾ à¤¨à¤¿à¤•à¤¾à¤²à¥‡à¤‚",
+
+// Color Picker
+ColorAutomatic	: "à¤¸à¥à¤µà¤šà¤¾à¤²à¤¿à¤¤",
+ColorMoreColors	: "à¤”à¤° à¤°à¤‚à¤—...",
+
+// Document Properties
+DocProps		: "à¤¡à¥‰à¤•à¥à¤¯à¥‚à¤®à¥…à¤¨à¥à¤Ÿ à¤ªà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›",
+
+// Anchor Dialog
+DlgAnchorTitle		: "à¤à¤‚à¤•à¤° à¤ªà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›",
+DlgAnchorName		: "à¤à¤‚à¤•à¤° à¤•à¤¾ à¤¨à¤¾à¤®",
+DlgAnchorErrorName	: "à¤à¤‚à¤•à¤° à¤•à¤¾ à¤¨à¤¾à¤® à¤Ÿà¤¾à¤‡à¤ª à¤•à¤°à¥‡à¤‚",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "à¤¶à¤¬à¥à¤¦à¤•à¥‹à¤¶ à¤®à¥‡à¤‚ à¤¨à¤¹à¥€à¤‚",
+DlgSpellChangeTo		: "à¤‡à¤¸à¤®à¥‡à¤‚ à¤¬à¤¦à¤²à¥‡à¤‚",
+DlgSpellBtnIgnore		: "à¤‡à¤—à¥à¤¨à¥‹à¤°",
+DlgSpellBtnIgnoreAll	: "à¤¸à¤­à¥€ à¤‡à¤—à¥à¤¨à¥‹à¤° à¤•à¤°à¥‡à¤‚",
+DlgSpellBtnReplace		: "à¤°à¤¿à¤ªà¥à¤²à¥‡à¤¸",
+DlgSpellBtnReplaceAll	: "à¤¸à¤­à¥€ à¤°à¤¿à¤ªà¥à¤²à¥‡à¤¸ à¤•à¤°à¥‡à¤‚",
+DlgSpellBtnUndo			: "à¤…à¤¨à¥à¤¡à¥‚",
+DlgSpellNoSuggestions	: "- à¤•à¥‹à¤ˆ à¤¸à¥à¤à¤¾à¤µ à¤¨à¤¹à¥€à¤‚ -",
+DlgSpellProgress		: "à¤µà¤°à¥à¤¤à¤¨à¥€ à¤•à¥€ à¤œà¤¾à¤à¤š (à¤¸à¥à¤ªà¥…à¤²-à¤šà¥…à¤•) à¤œà¤¾à¤°à¥€ à¤¹à¥ˆ...",
+DlgSpellNoMispell		: "à¤µà¤°à¥à¤¤à¤¨à¥€ à¤•à¥€ à¤œà¤¾à¤à¤š : à¤•à¥‹à¤ˆ à¤—à¤²à¤¤ à¤µà¤°à¥à¤¤à¤¨à¥€ (à¤¸à¥à¤ªà¥…à¤²à¤¿à¤‚à¤—) à¤¨à¤¹à¥€à¤‚ à¤ªà¤¾à¤ˆ à¤—à¤ˆ",
+DlgSpellNoChanges		: "à¤µà¤°à¥à¤¤à¤¨à¥€ à¤•à¥€ à¤œà¤¾à¤à¤š :à¤•à¥‹à¤ˆ à¤¶à¤¬à¥à¤¦ à¤¨à¤¹à¥€à¤‚ à¤¬à¤¦à¤²à¤¾ à¤—à¤¯à¤¾",
+DlgSpellOneChange		: "à¤µà¤°à¥à¤¤à¤¨à¥€ à¤•à¥€ à¤œà¤¾à¤à¤š : à¤à¤• à¤¶à¤¬à¥à¤¦ à¤¬à¤¦à¤²à¤¾ à¤—à¤¯à¤¾",
+DlgSpellManyChanges		: "à¤µà¤°à¥à¤¤à¤¨à¥€ à¤•à¥€ à¤œà¤¾à¤à¤š : %1 à¤¶à¤¬à¥à¤¦ à¤¬à¤¦à¤²à¥‡ à¤—à¤¯à¥‡",
+
+IeSpellDownload			: "à¤¸à¥à¤ªà¥…à¤²-à¤šà¥…à¤•à¤° à¤‡à¤¨à¥à¤¸à¥à¤Ÿà¤¾à¤² à¤¨à¤¹à¥€à¤‚ à¤•à¤¿à¤¯à¤¾ à¤—à¤¯à¤¾ à¤¹à¥ˆà¥¤ à¤•à¥à¤¯à¤¾ à¤†à¤ª à¤‡à¤¸à¥‡ à¤¡à¤¾â€Œà¤‰à¤¨à¤²à¥‹à¤¡ à¤•à¤°à¤¨à¤¾ à¤šà¤¾à¤¹à¥‡à¤‚à¤—à¥‡?",
+
+// Button Dialog
+DlgButtonText		: "à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ (à¤µà¥ˆà¤²à¥à¤¯à¥‚)",
+DlgButtonType		: "à¤ªà¥à¤°à¤•à¤¾à¤°",
+DlgButtonTypeBtn	: "à¤¬à¤Ÿà¤¨",
+DlgButtonTypeSbm	: "à¤¸à¤¬à¥à¤®à¤¿à¤Ÿ",
+DlgButtonTypeRst	: "à¤°à¤¿à¤¸à¥‡à¤Ÿ",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "à¤¨à¤¾à¤®",
+DlgCheckboxValue	: "à¤µà¥ˆà¤²à¥à¤¯à¥‚",
+DlgCheckboxSelected	: "à¤¸à¥…à¤²à¥…à¤•à¥à¤Ÿà¥…à¤¡",
+
+// Form Dialog
+DlgFormName		: "à¤¨à¤¾à¤®",
+DlgFormAction	: "à¤•à¥à¤°à¤¿à¤¯à¤¾",
+DlgFormMethod	: "à¤¤à¤°à¥€à¤•à¤¾",
+
+// Select Field Dialog
+DlgSelectName		: "à¤¨à¤¾à¤®",
+DlgSelectValue		: "à¤µà¥ˆà¤²à¥à¤¯à¥‚",
+DlgSelectSize		: "à¤¸à¤¾à¤‡à¥›",
+DlgSelectLines		: "à¤ªà¤‚à¤•à¥à¤¤à¤¿à¤¯à¤¾à¤",
+DlgSelectChkMulti	: "à¤à¤• à¤¸à¥‡ à¤œà¥à¤¯à¤¾à¤¦à¤¾ à¤µà¤¿à¤•à¤²à¥à¤ª à¤šà¥à¤¨à¤¨à¥‡ à¤¦à¥‡à¤‚",
+DlgSelectOpAvail	: "à¤‰à¤ªà¤²à¤¬à¥à¤§ à¤µà¤¿à¤•à¤²à¥à¤ª",
+DlgSelectOpText		: "à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ",
+DlgSelectOpValue	: "à¤µà¥ˆà¤²à¥à¤¯à¥‚",
+DlgSelectBtnAdd		: "à¤œà¥‹à¥œà¥‡à¤‚",
+DlgSelectBtnModify	: "à¤¬à¤¦à¤²à¥‡à¤‚",
+DlgSelectBtnUp		: "à¤Šà¤ªà¤°",
+DlgSelectBtnDown	: "à¤¨à¥€à¤šà¥‡",
+DlgSelectBtnSetValue : "à¤šà¥à¤¨à¥€ à¤—à¤ˆ à¤µà¥ˆà¤²à¥à¤¯à¥‚ à¤¸à¥…à¤Ÿ à¤•à¤°à¥‡à¤‚",
+DlgSelectBtnDelete	: "à¤¡à¤¿à¤²à¥€à¤Ÿ",
+
+// Textarea Dialog
+DlgTextareaName	: "à¤¨à¤¾à¤®",
+DlgTextareaCols	: "à¤•à¤¾à¤²à¤®",
+DlgTextareaRows	: "à¤ªà¤‚à¤•à¥à¤¤à¤¿à¤¯à¤¾à¤‚",
+
+// Text Field Dialog
+DlgTextName			: "à¤¨à¤¾à¤®",
+DlgTextValue		: "à¤µà¥ˆà¤²à¥à¤¯à¥‚",
+DlgTextCharWidth	: "à¤•à¤°à¥…à¤•à¥à¤Ÿà¤° à¤•à¥€ à¤šà¥Œà¥à¤¾à¤ˆ",
+DlgTextMaxChars		: "à¤…à¤§à¤¿à¤•à¤¤à¤® à¤•à¤°à¥…à¤•à¥à¤Ÿà¤°",
+DlgTextType			: "à¤Ÿà¤¾à¤‡à¤ª",
+DlgTextTypeText		: "à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ",
+DlgTextTypePass		: "à¤ªà¤¾à¤¸à¥à¤µà¤°à¥à¤¡",
+
+// Hidden Field Dialog
+DlgHiddenName	: "à¤¨à¤¾à¤®",
+DlgHiddenValue	: "à¤µà¥ˆà¤²à¥à¤¯à¥‚",
+
+// Bulleted List Dialog
+BulletedListProp	: "à¤¬à¥à¤²à¥…à¤Ÿ à¤¸à¥‚à¤šà¥€ à¤ªà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›",
+NumberedListProp	: "à¤…à¤‚à¤•à¥€à¤¯ à¤¸à¥‚à¤šà¥€ à¤ªà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›",
+DlgLstStart			: "à¤ªà¥à¤°à¤¾à¤°à¤®à¥à¤­",
+DlgLstType			: "à¤ªà¥à¤°à¤•à¤¾à¤°",
+DlgLstTypeCircle	: "à¤—à¥‹à¤²",
+DlgLstTypeDisc		: "à¤¡à¤¿à¤¸à¥à¤•",
+DlgLstTypeSquare	: "à¤šà¥Œà¤•à¥Šà¤£",
+DlgLstTypeNumbers	: "à¤…à¤‚à¤• (1, 2, 3)",
+DlgLstTypeLCase		: "à¤›à¥‹à¤Ÿà¥‡ à¤…à¤•à¥à¤·à¤° (a, b, c)",
+DlgLstTypeUCase		: "à¤¬à¥œà¥‡ à¤…à¤•à¥à¤·à¤° (A, B, C)",
+DlgLstTypeSRoman	: "à¤›à¥‹à¤Ÿà¥‡ à¤°à¥‹à¤®à¤¨ à¤…à¤‚à¤• (i, ii, iii)",
+DlgLstTypeLRoman	: "à¤¬à¥œà¥‡ à¤°à¥‹à¤®à¤¨ à¤…à¤‚à¤• (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "à¤†à¤®",
+DlgDocBackTab		: "à¤¬à¥ˆà¤•à¥à¤—à¥à¤°à¤¾à¤‰à¤¨à¥à¤¡",
+DlgDocColorsTab		: "à¤°à¤‚à¤— à¤”à¤° à¤®à¤¾à¤°à¥à¤œà¤¿à¤¨",
+DlgDocMetaTab		: "à¤®à¥…à¤Ÿà¤¾à¤¡à¥‡à¤Ÿà¤¾",
+
+DlgDocPageTitle		: "à¤ªà¥‡à¤œ à¤¶à¥€à¤°à¥à¤·à¤•",
+DlgDocLangDir		: "à¤­à¤¾à¤·à¤¾ à¤²à¤¿à¤–à¤¨à¥‡ à¤•à¥€ à¤¦à¤¿à¤¶à¤¾",
+DlgDocLangDirLTR	: "à¤¬à¤¾à¤¯à¥‡à¤‚ à¤¸à¥‡ à¤¦à¤¾à¤¯à¥‡à¤‚ (LTR)",
+DlgDocLangDirRTL	: "à¤¦à¤¾à¤¯à¥‡à¤‚ à¤¸à¥‡ à¤¬à¤¾à¤¯à¥‡à¤‚ (RTL)",
+DlgDocLangCode		: "à¤­à¤¾à¤·à¤¾ à¤•à¥‹à¤¡",
+DlgDocCharSet		: "à¤•à¤°à¥‡à¤•à¥à¤Ÿà¤° à¤¸à¥…à¤Ÿ à¤à¤¨à¥à¤•à¥‹à¤¡à¤¿à¤‚à¤—",
+DlgDocCharSetCE		: "à¤®à¤§à¥à¤¯ à¤¯à¥‚à¤°à¥‹à¤ªà¥€à¤¯ (Central European)",
+DlgDocCharSetCT		: "à¤šà¥€à¤¨à¥€ (Chinese Traditional Big5)",
+DlgDocCharSetCR		: "à¤¸à¤¿à¤°à¥€à¤²à¤¿à¤• (Cyrillic)",
+DlgDocCharSetGR		: "à¤¯à¤µà¤¨ (Greek)",
+DlgDocCharSetJP		: "à¤œà¤¾à¤ªà¤¾à¤¨à¥€ (Japanese)",
+DlgDocCharSetKR		: "à¤•à¥‹à¤°à¥€à¤¯à¤¨ (Korean)",
+DlgDocCharSetTR		: "à¤¤à¥à¤°à¥à¤•à¥€ (Turkish)",
+DlgDocCharSetUN		: "à¤¯à¥‚à¤¨à¥€à¤•à¥‹à¤¡ (UTF-8)",
+DlgDocCharSetWE		: "à¤ªà¤¶à¥à¤šà¤¿à¤® à¤¯à¥‚à¤°à¥‹à¤ªà¥€à¤¯ (Western European)",
+DlgDocCharSetOther	: "à¤…à¤¨à¥à¤¯ à¤•à¤°à¥‡à¤•à¥à¤Ÿà¤° à¤¸à¥…à¤Ÿ à¤à¤¨à¥à¤•à¥‹à¤¡à¤¿à¤‚à¤—",
+
+DlgDocDocType		: "à¤¡à¥‰à¤•à¥à¤¯à¥‚à¤®à¥…à¤¨à¥à¤Ÿ à¤ªà¥à¤°à¤•à¤¾à¤° à¤¶à¥€à¤°à¥à¤·à¤•",
+DlgDocDocTypeOther	: "à¤…à¤¨à¥à¤¯ à¤¡à¥‰à¤•à¥à¤¯à¥‚à¤®à¥…à¤¨à¥à¤Ÿ à¤ªà¥à¤°à¤•à¤¾à¤° à¤¶à¥€à¤°à¥à¤·à¤•",
+DlgDocIncXHTML		: "XHTML à¤¸à¥‚à¤šà¤¨à¤¾ à¤¸à¤®à¥à¤®à¤¿à¤²à¤¿à¤¤ à¤•à¤°à¥‡à¤‚",
+DlgDocBgColor		: "à¤¬à¥ˆà¤•à¥à¤—à¥à¤°à¤¾à¤‰à¤¨à¥à¤¡ à¤°à¤‚à¤—",
+DlgDocBgImage		: "à¤¬à¥ˆà¤•à¥à¤—à¥à¤°à¤¾à¤‰à¤¨à¥à¤¡ à¤¤à¤¸à¥à¤µà¥€à¤° URL",
+DlgDocBgNoScroll	: "à¤¸à¥à¤•à¥à¤°à¥‰à¤² à¤¨ à¤•à¤°à¤¨à¥‡ à¤µà¤¾à¤²à¤¾ à¤¬à¥ˆà¤•à¥à¤—à¥à¤°à¤¾à¤‰à¤¨à¥à¤¡",
+DlgDocCText			: "à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ",
+DlgDocCLink			: "à¤²à¤¿à¤‚à¤•",
+DlgDocCVisited		: "à¤µà¤¿à¥›à¤¿à¤Ÿ à¤•à¤¿à¤¯à¤¾ à¤—à¤¯à¤¾ à¤²à¤¿à¤‚à¤•",
+DlgDocCActive		: "à¤¸à¤•à¥à¤°à¤¿à¤¯ à¤²à¤¿à¤‚à¤•",
+DlgDocMargins		: "à¤ªà¥‡à¤œ à¤®à¤¾à¤°à¥à¤œà¤¿à¤¨",
+DlgDocMaTop			: "à¤Šà¤ªà¤°",
+DlgDocMaLeft		: "à¤¬à¤¾à¤¯à¥‡à¤‚",
+DlgDocMaRight		: "à¤¦à¤¾à¤¯à¥‡à¤‚",
+DlgDocMaBottom		: "à¤¨à¥€à¤šà¥‡",
+DlgDocMeIndex		: "à¤¡à¥‰à¤•à¥à¤¯à¥à¤®à¥…à¤¨à¥à¤Ÿ à¤‡à¤¨à¥à¤¡à¥‡à¤•à¥à¤¸ à¤¸à¤‚à¤•à¥‡à¤¤à¤¶à¤¬à¥à¤¦ (à¤…à¤²à¥à¤ªà¤µà¤¿à¤°à¤¾à¤® à¤¸à¥‡ à¤…à¤²à¤— à¤•à¤°à¥‡à¤‚)",
+DlgDocMeDescr		: "à¤¡à¥‰à¤•à¥à¤¯à¥‚à¤®à¥…à¤¨à¥à¤Ÿ à¤•à¤°à¥…à¤•à¥à¤Ÿà¤°à¤¨",
+DlgDocMeAuthor		: "à¤²à¥‡à¤–à¤•",
+DlgDocMeCopy		: "à¤•à¥‰à¤ªà¥€à¤°à¤¾à¤‡à¤Ÿ",
+DlgDocPreview		: "à¤ªà¥à¤°à¥€à¤µà¥à¤¯à¥‚",
+
+// Templates Dialog
+Templates			: "à¤Ÿà¥…à¤®à¥à¤ªà¥à¤²à¥‡à¤Ÿ",
+DlgTemplatesTitle	: "à¤•à¤¨à¥à¤Ÿà¥‡à¤¨à¥à¤Ÿ à¤Ÿà¥…à¤®à¥à¤ªà¥à¤²à¥‡à¤Ÿ",
+DlgTemplatesSelMsg	: "à¤à¤¡à¤¿à¤Ÿà¤° à¤®à¥‡à¤‚ à¤“à¤ªà¤¨ à¤•à¤°à¤¨à¥‡ à¤¹à¥‡à¤¤à¥ à¤Ÿà¥…à¤®à¥à¤ªà¥à¤²à¥‡à¤Ÿ à¤šà¥à¤¨à¥‡à¤‚(à¤µà¤°à¥à¤¤à¤®à¤¾à¤¨ à¤•à¤¨à¥à¤Ÿà¥…à¤¨à¥à¤Ÿ à¤¸à¥‡à¤µ à¤¨à¤¹à¥€à¤‚ à¤¹à¥‹à¤‚à¤—à¥‡):",
+DlgTemplatesLoading	: "à¤Ÿà¥…à¤®à¥à¤ªà¥à¤²à¥‡à¤Ÿ à¤¸à¥‚à¤šà¥€ à¤²à¥‹à¤¡ à¤•à¥€ à¤œà¤¾ à¤°à¤¹à¥€ à¤¹à¥ˆà¥¤ à¥›à¤°à¤¾ à¤ à¤¹à¤°à¥‡à¤‚...",
+DlgTemplatesNoTpl	: "(à¤•à¥‹à¤ˆ à¤Ÿà¥…à¤®à¥à¤ªà¥à¤²à¥‡à¤Ÿ à¤¡à¤¿à¥à¤¾à¤‡à¤¨ à¤¨à¤¹à¥€à¤‚ à¤•à¤¿à¤¯à¤¾ à¤—à¤¯à¤¾ à¤¹à¥ˆ)",
+DlgTemplatesReplace	: "à¤®à¥‚à¤² à¤¶à¤¬à¥à¤¦à¥‹à¤‚ à¤•à¥‹ à¤¬à¤¦à¤²à¥‡à¤‚",
+
+// About Dialog
+DlgAboutAboutTab	: "FCKEditor à¤•à¥‡ à¤¬à¤¾à¤°à¥‡ à¤®à¥‡à¤‚",
+DlgAboutBrowserInfoTab	: "à¤¬à¥à¤°à¤¾à¤‰à¥›à¤° à¤•à¥‡ à¤¬à¤¾à¤°à¥‡ à¤®à¥‡à¤‚",
+DlgAboutLicenseTab	: "à¤²à¤¾à¤‡à¤¸à¥ˆà¤¨à¥à¤¸",
+DlgAboutVersion		: "à¤µà¤°à¥à¥›à¤¨",
+DlgAboutInfo		: "à¤…à¤§à¤¿à¤• à¤œà¤¾à¤¨à¤•à¤¾à¤°à¥€ à¤•à¥‡ à¤²à¤¿à¤¯à¥‡ à¤¯à¤¹à¤¾à¤ à¤œà¤¾à¤¯à¥‡à¤‚:",
+
+// Div Dialog
+DlgDivGeneralTab	: "à¤¸à¤¾à¤®à¤¾à¤¨à¥à¤¯",
+DlgDivAdvancedTab	: "à¤à¤¡à¥à¤µà¤¾à¤¨à¥à¤¸à¥à¤¡",
+DlgDivStyle		: "à¤¸à¥à¤Ÿà¤¾à¤‡à¤²",
+DlgDivInlineStyle	: "à¤‡à¤¨à¤²à¤¾à¤‡à¤¨ à¤¸à¥à¤Ÿà¤¾à¤‡à¤²",
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/eo.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/eo.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/lang/eo.js	(revision 1481)
@@ -0,0 +1,539 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Esperanto language file.
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "KaÅi Ilobreton",
+ToolbarExpand		: "Vidigi Ilojn",
+
+// Toolbar Items and Context Menu
+Save				: "Sekurigi",
+NewPage				: "Nova PaÄo",
+Preview				: "Vidigi Aspekton",
+Cut					: "Eltondi",
+Copy				: "Kopii",
+Paste				: "Interglui",
+PasteText			: "Interglui kiel Tekston",
+PasteWord			: "Interglui el Word",
+Print				: "Presi",
+SelectAll			: "Elekti Ä‰ion",
+RemoveFormat		: "Forigi Formaton",
+InsertLinkLbl		: "Ligilo",
+InsertLink			: "Enmeti/ÅœanÄi Ligilon",
+RemoveLink			: "Forigi Ligilon",
+VisitLink			: "Open Link",	//MISSING
+Anchor				: "Enmeti/ÅœanÄi Ankron",
+AnchorDelete		: "Remove Anchor",	//MISSING
+InsertImageLbl		: "Bildo",
+InsertImage			: "Enmeti/ÅœanÄi Bildon",
+InsertFlashLbl		: "Flash",	//MISSING
+InsertFlash			: "Insert/Edit Flash",	//MISSING
+InsertTableLbl		: "Tabelo",
+InsertTable			: "Enmeti/ÅœanÄi Tabelon",
+InsertLineLbl		: "Horizonta Linio",
+InsertLine			: "Enmeti Horizonta Linio",
+InsertSpecialCharLbl: "Speciala Signo",
+InsertSpecialChar	: "Enmeti Specialan Signon",
+InsertSmileyLbl		: "Mienvinjeto",
+InsertSmiley		: "Enmeti Mienvinjeton",
+About				: "Pri FCKeditor",
+Bold				: "Grasa",
+Italic				: "Kursiva",
+Underline			: "Substreko",
+StrikeThrough		: "Trastreko",
+Subscript			: "Subskribo",
+Superscript			: "Superskribo",
+LeftJustify			: "Maldekstrigi",
+CenterJustify		: "Centrigi",
+RightJustify		: "Dekstrigi",
+BlockJustify		: "Äœisrandigi AmbaÅ­flanke",
+DecreaseIndent		: "Malpligrandigi KrommarÄenon",
+IncreaseIndent		: "Pligrandigi KrommarÄenon",
+Blockquote			: "Blockquote",	//MISSING
+CreateDiv			: "Create Div Container",	//MISSING
+EditDiv				: "Edit Div Container",	//MISSING
+DeleteDiv			: "Remove Div Container",	//MISSING
+Undo				: "Malfari",
+Redo				: "Refari",
+NumberedListLbl		: "Numera Listo",
+NumberedList		: "Enmeti/Forigi Numeran Liston",
+BulletedListLbl		: "Bula Listo",
+BulletedList		: "Enmeti/Forigi Bulan Liston",
+ShowTableBorders	: "Vidigi Borderojn de Tabelo",
+ShowDetails			: "Vidigi Detalojn",
+Style				: "Stilo",
+FontFormat			: "Formato",
+Font				: "Tiparo",
+FontSize			: "Grando",
+TextColor			: "Teksta Koloro",
+BGColor				: "Fona Koloro",
+Source				: "Fonto",
+Find				: "SerÄ‰i",
+Replace				: "AnstataÅ­igi",
+SpellCheck			: "Literumada Kontrolilo",
+UniversalKeyboard	: "Universala Klavaro",
+PageBreakLbl		: "Page Break",	//MISSING
+PageBreak			: "Insert Page Break",	//MISSING
+
+Form			: "Formularo",
+Checkbox		: "Markobutono",
+RadioButton		: "Radiobutono",
+TextField		: "Teksta kampo",
+Textarea		: "Teksta Areo",
+HiddenField		: "KaÅita Kampo",
+Button			: "Butono",
+SelectionField	: "Elekta Kampo",
+ImageButton		: "Bildbutono",
+
+FitWindow		: "Maximize the editor size",	//MISSING
+ShowBlocks		: "Show Blocks",	//MISSING
+
+// Context Menu
+EditLink			: "Modifier Ligilon",
+CellCM				: "Cell",	//MISSING
+RowCM				: "Row",	//MISSING
+ColumnCM			: "Column",	//MISSING
+InsertRowAfter		: "Insert Row After",	//MISSING
+InsertRowBefore		: "Insert Row Before",	//MISSING
+DeleteRows			: "Forigi Liniojn",
+InsertColumnAfter	: "Insert Column After",	//MISSING
+InsertColumnBefore	: "Insert Column Before",	//MISSING
+DeleteColumns		: "Forigi Kolumnojn",
+InsertCellAfter		: "Insert Cell After",	//MISSING
+InsertCellBefore	: "Insert Cell Before",	//MISSING
+DeleteCells			: "Forigi Äˆelojn",
+MergeCells			: "Kunfandi Äˆelojn",
+MergeRight			: "Merge Right",	//MISSING
+MergeDown			: "Merge Down",	//MISSING
+HorizontalSplitCell	: "Split Cell Horizontally",	//MISSING
+VerticalSplitCell	: "Split Cell Vertically",	//MISSING
+TableDelete			: "Delete Table",	//MISSING
+CellProperties		: "Atributoj de Äˆelo",
+TableProperties		: "Atributoj de Tabelo",
+ImageProperties		: "Atributoj de Bildo",
+FlashProperties		: "Flash Properties",	//MISSING
+
+AnchorProp			: "Ankraj Atributoj",
+ButtonProp			: "Butonaj Atributoj",
+CheckboxProp		: "Markobutonaj Atributoj",
+HiddenFieldProp		: "Atributoj de KaÅita Kampo",
+RadioButtonProp		: "Radiobutonaj Atributoj",
+ImageButtonProp		: "Bildbutonaj Atributoj",
+TextFieldProp		: "Atributoj de Teksta Kampo",
+SelectionFieldProp	: "Atributoj de Elekta Kampo",
+TextareaProp		: "Atributoj de Teksta Areo",
+FormProp			: "Formularaj Atributoj",
+
+FontFormats			: "Normala;Formatita;Adreso;Titolo 1;Titolo 2;Titolo 3;Titolo 4;Titolo 5;Titolo 6;Paragrafo (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "Traktado de XHTML. Bonvolu pacienci...",
+Done				: "Finita",
+PasteWordConfirm	: "La algluota teksto Åajnas esti Word-devena. Äˆu vi volas purigi Äin antaÅ­ ol interglui?",
+NotCompatiblePaste	: "Tiu Ä‰i komando bezonas almenaÅ­ Internet Explorer 5.5. Äˆu vi volas daÅ­rigi sen purigado?",
+UnknownToolbarItem	: "Ilobretero nekonata \"%1\"",
+UnknownCommand		: "Komandonomo nekonata \"%1\"",
+NotImplemented		: "Komando ne ankoraÅ­ realigita",
+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
+BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",	//MISSING
+DialogBlocked		: "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",	//MISSING
+VisitLinkBlocked	: "It was not possible to open a new window. Make sure all popup blockers are disabled.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "Akcepti",
+DlgBtnCancel		: "Rezigni",
+DlgBtnClose			: "Fermi",
+DlgBtnBrowseServer	: "Foliumi en la Servilo",
+DlgAdvancedTag		: "Speciala",
+DlgOpOther			: "<Alia>",
+DlgInfoTab			: "Info",	//MISSING
+DlgAlertUrl			: "Please insert the URL",	//MISSING
+
+// General Dialogs Labels
+DlgGenNotSet		: "<DefaÅ­lta>",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Skribdirekto",
+DlgGenLangDirLtr	: "De maldekstro dekstren (LTR)",
+DlgGenLangDirRtl	: "De dekstro maldekstren (RTL)",
+DlgGenLangCode		: "Lingva Kodo",
+DlgGenAccessKey		: "Fulmoklavo",
+DlgGenName			: "Nomo",
+DlgGenTabIndex		: "Taba Ordo",
+DlgGenLongDescr		: "URL de Longa Priskribo",
+DlgGenClass			: "Klasoj de Stilfolioj",
+DlgGenTitle			: "Indika Titolo",
+DlgGenContType		: "Indika Enhavotipo",
+DlgGenLinkCharset	: "Signaro de la Ligita Rimedo",
+DlgGenStyle			: "Stilo",
+
+// Image Dialog
+DlgImgTitle			: "Atributoj de Bildo",
+DlgImgInfoTab		: "Informoj pri Bildo",
+DlgImgBtnUpload		: "Sendu al Servilo",
+DlgImgURL			: "URL",
+DlgImgUpload		: "AlÅuti",
+DlgImgAlt			: "AnstataÅ­iga Teksto",
+DlgImgWidth			: "LarÄo",
+DlgImgHeight		: "Alto",
+DlgImgLockRatio		: "Konservi Proporcion",
+DlgBtnResetSize		: "Origina Grando",
+DlgImgBorder		: "Bordero",
+DlgImgHSpace		: "HSpaco",
+DlgImgVSpace		: "VSpaco",
+DlgImgAlign			: "Äœisrandigo",
+DlgImgAlignLeft		: "Maldekstre",
+DlgImgAlignAbsBottom: "Abs Malsupre",
+DlgImgAlignAbsMiddle: "Abs Centre",
+DlgImgAlignBaseline	: "Je Malsupro de Teksto",
+DlgImgAlignBottom	: "Malsupre",
+DlgImgAlignMiddle	: "Centre",
+DlgImgAlignRight	: "Dekstre",
+DlgImgAlignTextTop	: "Je Supro de Teksto",
+DlgImgAlignTop		: "Supre",
+DlgImgPreview		: "Vidigi Aspekton",
+DlgImgAlertUrl		: "Bonvolu tajpi la URL de la bildo",
+DlgImgLinkTab		: "Link",	//MISSING
+
+// Flash Dialog
+DlgFlashTitle		: "Flash Properties",	//MISSING
+DlgFlashChkPlay		: "Auto Play",	//MISSING
+DlgFlashChkLoop		: "Loop",	//MISSING
+DlgFlashChkMenu		: "Enable Flash Menu",	//MISSING
+DlgFlashScale		: "Scale",	//MISSING
+DlgFlashScaleAll	: "Show all",	//MISSING
+DlgFlashScaleNoBorder	: "No Border",	//MISSING
+DlgFlashScaleFit	: "Exact Fit",	//MISSING
+
+// Link Dialog
+DlgLnkWindowTitle	: "Ligilo",
+DlgLnkInfoTab		: "Informoj pri la Ligilo",
+DlgLnkTargetTab		: "Celo",
+
+DlgLnkType			: "Tipo de Ligilo",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Ankri en tiu Ä‰i paÄo",
+DlgLnkTypeEMail		: "RetpoÅto",
+DlgLnkProto			: "Protokolo",
+DlgLnkProtoOther	: "<alia>",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Elekti Ankron",
+DlgLnkAnchorByName	: "Per Ankronomo",
+DlgLnkAnchorById	: "Per Elementidentigilo",
+DlgLnkNoAnchors		: "<Ne disponeblas ankroj en la dokumento>",
+DlgLnkEMail			: "Retadreso",
+DlgLnkEMailSubject	: "Temlinio",
+DlgLnkEMailBody		: "MesaÄa korpo",
+DlgLnkUpload		: "AlÅuti",
+DlgLnkBtnUpload		: "Sendi al Servilo",
+
+DlgLnkTarget		: "Celo",
+DlgLnkTargetFrame	: "<kadro>",
+DlgLnkTargetPopup	: "<Åprucfenestro>",
+DlgLnkTargetBlank	: "Nova Fenestro (_blank)",
+DlgLnkTargetParent	: "Gepatra Fenestro (_parent)",
+DlgLnkTargetSelf	: "Sama Fenestro (_self)",
+DlgLnkTargetTop		: "Plej Supra Fenestro (_top)",
+DlgLnkTargetFrameName	: "Nomo de Kadro",
+DlgLnkPopWinName	: "Nomo de Åœprucfenestro",
+DlgLnkPopWinFeat	: "Atributoj de la Åœprucfenestro",
+DlgLnkPopResize		: "Grando ÅœanÄebla",
+DlgLnkPopLocation	: "Adresobreto",
+DlgLnkPopMenu		: "Menubreto",
+DlgLnkPopScroll		: "Rulumlisteloj",
+DlgLnkPopStatus		: "Statobreto",
+DlgLnkPopToolbar	: "Ilobreto",
+DlgLnkPopFullScrn	: "Tutekrane (IE)",
+DlgLnkPopDependent	: "Dependa (Netscape)",
+DlgLnkPopWidth		: "LarÄo",
+DlgLnkPopHeight		: "Alto",
+DlgLnkPopLeft		: "Pozicio de Maldekstro",
+DlgLnkPopTop		: "Pozicio de Supro",
+
+DlnLnkMsgNoUrl		: "Bonvolu entajpi la URL-on",
+DlnLnkMsgNoEMail	: "Bonvolu entajpi la retadreson",
+DlnLnkMsgNoAnchor	: "Bonvolu elekti ankron",
+DlnLnkMsgInvPopName	: "The popup name must begin with an alphabetic character and must not contain spaces",	//MISSING
+
+// Color Dialog
+DlgColorTitle		: "Elekti",
+DlgColorBtnClear	: "Forigi",
+DlgColorHighlight	: "Emfazi",
+DlgColorSelected	: "Elektita",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Enmeti Mienvinjeton",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Enmeti Specialan Signon",
+
+// Table Dialog
+DlgTableTitle		: "Atributoj de Tabelo",
+DlgTableRows		: "Linioj",
+DlgTableColumns		: "Kolumnoj",
+DlgTableBorder		: "Bordero",
+DlgTableAlign		: "Äœisrandigo",
+DlgTableAlignNotSet	: "<DefaÅ­lte>",
+DlgTableAlignLeft	: "Maldekstre",
+DlgTableAlignCenter	: "Centre",
+DlgTableAlignRight	: "Dekstre",
+DlgTableWidth		: "LarÄo",
+DlgTableWidthPx		: "Bitbilderoj",
+DlgTableWidthPc		: "elcentoj",
+DlgTableHeight		: "Alto",
+DlgTableCellSpace	: "Interspacigo de Äˆeloj",
+DlgTableCellPad		: "ÄˆirkaÅ­enhava Plenigado",
+DlgTableCaption		: "Titolo",
+DlgTableSummary		: "Summary",	//MISSING
+DlgTableHeaders		: "Headers",	//MISSING
+DlgTableHeadersNone		: "None",	//MISSING
+DlgTableHeadersColumn	: "First column",	//MISSING
+DlgTableHeadersRow		: "First Row",	//MISSING
+DlgTableHeadersBoth		: "Both",	//MISSING
+
+// Table Cell Dialog
+DlgCellTitle		: "Atributoj de Celo",
+DlgCellWidth		: "LarÄo",
+DlgCellWidthPx		: "bitbilderoj",
+DlgCellWidthPc		: "elcentoj",
+DlgCellHeight		: "Alto",
+DlgCellWordWrap		: "Linifaldo",
+DlgCellWordWrapNotSet	: "<DefaÅ­lte>",
+DlgCellWordWrapYes	: "Jes",
+DlgCellWordWrapNo	: "Ne",
+DlgCellHorAlign		: "Horizonta Äœisrandigo",
+DlgCellHorAlignNotSet	: "<DefaÅ­lte>",
+DlgCellHorAlignLeft	: "Maldekstre",
+DlgCellHorAlignCenter	: "Centre",
+DlgCellHorAlignRight: "Dekstre",
+DlgCellVerAlign		: "Vertikala Äœisrandigo",
+DlgCellVerAlignNotSet	: "<DefaÅ­lte>",
+DlgCellVerAlignTop	: "Supre",
+DlgCellVerAlignMiddle	: "Centre",
+DlgCellVerAlignBottom	: "Malsupre",
+DlgCellVerAlignBaseline	: "Je Malsupro de Teksto",
+DlgCellType		: "Cell Type",	//MISSING
+DlgCellTypeData		: "Data",	//MISSING
+DlgCellTypeHeader	: "Header",	//MISSING
+DlgCellRowSpan		: "Linioj Kunfanditaj",
+DlgCellCollSpan		: "Kolumnoj Kunfanditaj",
+DlgCellBackColor	: "Fono",
+DlgCellBorderColor	: "Bordero",
+DlgCellBtnSelect	: "Elekti...",
+
+// Find and Replace Dialog
+DlgFindAndReplaceTitle	: "Find and Replace",	//MISSING
+
+// Find Dialog
+DlgFindTitle		: "SerÄ‰i",
+DlgFindFindBtn		: "SerÄ‰i",
+DlgFindNotFoundMsg	: "La celteksto ne estas trovita.",
+
+// Replace Dialog
+DlgReplaceTitle			: "AnstataÅ­igi",
+DlgReplaceFindLbl		: "SerÄ‰i:",
+DlgReplaceReplaceLbl	: "AnstataÅ­igi per:",
+DlgReplaceCaseChk		: "Kongruigi Usklecon",
+DlgReplaceReplaceBtn	: "AnstataÅ­igi",
+DlgReplaceReplAllBtn	: "AnstataÅ­igi Äˆiun",
+DlgReplaceWordChk		: "Tuta Vorto",
+
+// Paste Operations / Dialog
+PasteErrorCut	: "La sekurecagordo de via TTT-legilo ne permesas, ke la redaktilo faras eltondajn operaciojn. Bonvolu uzi la klavaron por tio (ctrl-X).",
+PasteErrorCopy	: "La sekurecagordo de via TTT-legilo ne permesas, ke la redaktilo faras kopiajn operaciojn. Bonvolu uzi la klavaron por tio (ctrl-C).",
+
+PasteAsText		: "Interglui kiel Tekston",
+PasteFromWord	: "Interglui el Word",
+
+DlgPasteMsg2	: "Please paste inside the following box using the keyboard (<strong>Ctrl+V</strong>) and hit <strong>OK</strong>.",	//MISSING
+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
+DlgPasteIgnoreFont		: "Ignore Font Face definitions",	//MISSING
+DlgPasteRemoveStyles	: "Remove Styles definitions",	//MISSING
+
+// Color Picker
+ColorAutomatic	: "AÅ­tomata",
+ColorMoreColors	: "Pli da Koloroj...",
+
+// Document Properties
+DocProps		: "Dokumentaj Atributoj",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Ankraj Atributoj",
+DlgAnchorName		: "Ankra Nomo",
+DlgAnchorErrorName	: "Bv tajpi la ankran nomon",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Ne trovita en la vortaro",
+DlgSpellChangeTo		: "ÅœanÄi al",
+DlgSpellBtnIgnore		: "Malatenti",
+DlgSpellBtnIgnoreAll	: "Malatenti Äˆiun",
+DlgSpellBtnReplace		: "AnstataÅ­igi",
+DlgSpellBtnReplaceAll	: "AnstataÅ­igi Äˆiun",
+DlgSpellBtnUndo			: "Malfari",
+DlgSpellNoSuggestions	: "- Neniu propono -",
+DlgSpellProgress		: "Literumkontrolado daÅ­ras...",
+DlgSpellNoMispell		: "Literumkontrolado finita: neniu fuÅo trovita",
+DlgSpellNoChanges		: "Literumkontrolado finita: neniu vorto ÅanÄita",
+DlgSpellOneChange		: "Literumkontrolado finita: unu vorto ÅanÄita",
+DlgSpellManyChanges		: "Literumkontrolado finita: %1 vortoj ÅanÄitaj",
+
+IeSpellDownload			: "Literumada Kontrolilo ne instalita. Äˆu vi volas elÅuti Äin nun?",
+
+// Button Dialog
+DlgButtonText		: "Teksto (Valoro)",
+DlgButtonType		: "Tipo",
+DlgButtonTypeBtn	: "Button",	//MISSING
+DlgButtonTypeSbm	: "Submit",	//MISSING
+DlgButtonTypeRst	: "Reset",	//MISSING
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Nomo",
+DlgCheckboxValue	: "Valoro",
+DlgCheckboxSelected	: "Elektita",
+
+// Form Dialog
+DlgFormName		: "Nomo",
+DlgFormAction	: "Ago",
+DlgFormMethod	: "Metodo",
+
+// Select Field Dialog
+DlgSelectName		: "Nomo",
+DlgSelectValue		: "Valoro",
+DlgSelectSize		: "Grando",
+DlgSelectLines		: "Linioj",
+DlgSelectChkMulti	: "Permesi Plurajn Elektojn",
+DlgSelectOpAvail	: "Elektoj Disponeblaj",
+DlgSelectOpText		: "Teksto",
+DlgSelectOpValue	: "Valoro",
+DlgSelectBtnAdd		: "Aldoni",
+DlgSelectBtnModify	: "Modifi",
+DlgSelectBtnUp		: "Supren",
+DlgSelectBtnDown	: "Malsupren",
+DlgSelectBtnSetValue : "Agordi kiel Elektitan Valoron",
+DlgSelectBtnDelete	: "Forigi",
+
+// Textarea Dialog
+DlgTextareaName	: "Nomo",
+DlgTextareaCols	: "Kolumnoj",
+DlgTextareaRows	: "Vicoj",
+
+// Text Field Dialog
+DlgTextName			: "Nomo",
+DlgTextValue		: "Valoro",
+DlgTextCharWidth	: "SignolarÄo",
+DlgTextMaxChars		: "Maksimuma Nombro da Signoj",
+DlgTextType			: "Tipo",
+DlgTextTypeText		: "Teksto",
+DlgTextTypePass		: "Pasvorto",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Nomo",
+DlgHiddenValue	: "Valoro",
+
+// Bulleted List Dialog
+BulletedListProp	: "Atributoj de Bula Listo",
+NumberedListProp	: "Atributoj de Numera Listo",
+DlgLstStart			: "Start",	//MISSING
+DlgLstType			: "Tipo",
+DlgLstTypeCircle	: "Cirklo",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Kvadrato",
+DlgLstTypeNumbers	: "Ciferoj (1, 2, 3)",
+DlgLstTypeLCase		: "Minusklaj Literoj (a, b, c)",
+DlgLstTypeUCase		: "Majusklaj Literoj (A, B, C)",
+DlgLstTypeSRoman	: "Malgrandaj Romanaj Ciferoj (i, ii, iii)",
+DlgLstTypeLRoman	: "Grandaj Romanaj Ciferoj (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "ÄœeneralaÄµoj",
+DlgDocBackTab		: "Fono",
+DlgDocColorsTab		: "Koloroj kaj MarÄenoj",
+DlgDocMetaTab		: "Metadatumoj",
+
+DlgDocPageTitle		: "PaÄotitolo",
+DlgDocLangDir		: "Skribdirekto de la Lingvo",
+DlgDocLangDirLTR	: "De maldekstro dekstren (LTR)",
+DlgDocLangDirRTL	: "De dekstro maldekstren (LTR)",
+DlgDocLangCode		: "Lingvokodo",
+DlgDocCharSet		: "Signara Kodo",
+DlgDocCharSetCE		: "Central European",	//MISSING
+DlgDocCharSetCT		: "Chinese Traditional (Big5)",	//MISSING
+DlgDocCharSetCR		: "Cyrillic",	//MISSING
+DlgDocCharSetGR		: "Greek",	//MISSING
+DlgDocCharSetJP		: "Japanese",	//MISSING
+DlgDocCharSetKR		: "Korean",	//MISSING
+DlgDocCharSetTR		: "Turkish",	//MISSING
+DlgDocCharSetUN		: "Unicode (UTF-8)",	//MISSING
+DlgDocCharSetWE		: "Western European",	//MISSING
+DlgDocCharSetOther	: "Alia Signara Kodo",
+
+DlgDocDocType		: "Dokumenta Tipo",
+DlgDocDocTypeOther	: "Alia Dokumenta Tipo",
+DlgDocIncXHTML		: "Inkluzivi XHTML Deklaroj",
+DlgDocBgColor		: "Fona Koloro",
+DlgDocBgImage		: "URL de Fona Bildo",
+DlgDocBgNoScroll	: "Neruluma Fono",
+DlgDocCText			: "Teksto",
+DlgDocCLink			: "Ligilo",
+DlgDocCVisited		: "Vizitita Ligilo",
+DlgDocCActive		: "Aktiva Ligilo",
+DlgDocMargins		: "PaÄaj MarÄenoj",
+DlgDocMaTop			: "Supra",
+DlgDocMaLeft		: "Maldekstra",
+DlgDocMaRight		: "Dekstra",
+DlgDocMaBottom		: "Malsupra",
+DlgDocMeIndex		: "Åœlosilvortoj de la Dokumento (apartigita de komoj)",
+DlgDocMeDescr		: "Dokumenta Priskribo",
+DlgDocMeAuthor		: "Verkinto",
+DlgDocMeCopy		: "Kopirajto",
+DlgDocPreview		: "Aspekto",
+
+// Templates Dialog
+Templates			: "Templates",	//MISSING
+DlgTemplatesTitle	: "Content Templates",	//MISSING
+DlgTemplatesSelMsg	: "Please select the template to open in the editor<br />(the actual contents will be lost):",	//MISSING
+DlgTemplatesLoading	: "Loading templates list. Please wait...",	//MISSING
+DlgTemplatesNoTpl	: "(No templates defined)",	//MISSING
+DlgTemplatesReplace	: "Replace actual contents",	//MISSING
+
+// About Dialog
+DlgAboutAboutTab	: "Pri",
+DlgAboutBrowserInfoTab	: "Informoj pri TTT-legilo",
+DlgAboutLicenseTab	: "License",	//MISSING
+DlgAboutVersion		: "versio",
+DlgAboutInfo		: "Por pli da informoj, vizitu",
+
+// Div Dialog
+DlgDivGeneralTab	: "General",	//MISSING
+DlgDivAdvancedTab	: "Advanced",	//MISSING
+DlgDivStyle		: "Style",	//MISSING
+DlgDivInlineStyle	: "Inline Style",	//MISSING
+
+ScaytTitle			: "SCAYT",	//MISSING
+ScaytTitleOptions	: "Options",	//MISSING
+ScaytTitleLangs		: "Languages",	//MISSING
+ScaytTitleAbout		: "About"	//MISSING
+};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/dialog/fck_syntaxhighlight.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/dialog/fck_syntaxhighlight.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/dialog/fck_syntaxhighlight.html	(revision 1481)
@@ -0,0 +1,201 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2008 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Syntax highlighter plugin
+-->
+<html>
+<head>
+    <title>Syntax Highlighter 2</title>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta content="noindex, nofollow" name="robots">
+   
+   <script type="text/javascript">
+       var oEditor = window.parent.InnerDialogLoaded();
+       var FCKConfig = oEditor.FCKConfig;
+       document.write('<script src="' + FCKConfig.BasePath + 'dialog/common/fck_dialog_common.js" type="text/javascript"><\/script>');
+</script>
+
+    <script src="syntaxhighlight.js" type="text/javascript"></script>
+
+</head>
+<body scroll="no" style="overflow: hidden">
+    <div id="divSourceCode" class="box">
+        <table height="100%" cellspacing="0" cellpadding="5" width="100%" align="center"
+            border="0">
+            <tr>
+                <td width="108">
+                    <span fcklang="SyntaxHightlightLang">Select language</span>
+                </td>
+                <td width="372">
+                    <select id="ddLang">
+                        <option value="c++">C++</option>
+                        <option value="csharp">C# </option>
+                        <option value="css">CSS </option>
+                        <option value="delphi">Delphi</option>
+                        <option value="java">Java </option>
+                        <option value="jscript">Java Script</option>
+                        <option value="php">PHP</option>
+                        <option value="python">Python</option>
+                        <option value="ruby">Ruby</option>
+                        <option value="sql">SQL</option>
+                        <option value="vb">VB.NET</option>
+                        <option value="xhtml">XML/HTML</option>
+                    </select>
+                </td>
+            </tr>
+            <tr>
+                <td colspan="2" valign="top">
+                    <span fcklang="SyntaxHightlightEnterCode">Enter source code</span><br>
+                    <textarea rows="22" style="width: 100%; font-weight: normal; font-family: 'Courier New',Courier,mono,serif;"
+                        id="txtCode"></textarea>
+                </td>
+            </tr>
+        </table>
+    </div>
+    <div id="divAdvanced" class="box" style="display:none;">
+        <table cellspacing="0" cellpadding="3" width="100%" align="center" border="0">
+            <tr>
+                <td colspan="3">
+                    <strong><span fcklang="SyntaxHightlightGutter">Gutter</span></strong>
+                </td>
+            </tr>
+            <tr>
+                <td width="20">
+                    <input name="chkGutter" type="checkbox" value="1" id="chkGutter">
+                </td>
+                <td colspan="2">
+                    <span fcklang="SyntaxHightlightGutterDetail">Hide gutter &amp; line numbers</span>
+                </td>
+            </tr>
+            <tr>
+                <td colspan="3">
+                    <strong><span fcklang="SyntaxHightlightNoControls">Controls</span></strong>
+                </td>
+            </tr>
+            <tr>
+                <td>
+                    <input name="chkNoControls" type="checkbox" value="1" id="chkNoControls">
+                </td>
+                <td colspan="2">
+                    <span fcklang="SyntaxHightlightNoControlsDetail">
+                    Hide code controls at the top of the code block.
+                    </span>
+                </td>
+            </tr>
+            <tr>
+                <td colspan="3">
+                    <strong><span fcklang="SyntaxHightlightCollapse">Collapse</span></strong>
+                </td>
+            </tr>
+            <tr>
+                <td>
+                    <input name="chkCollapse" type="checkbox" id="chkCollapse" value="1">
+                </td>
+                <td colspan="2">
+                <span fcklang="SyntaxHightlightCollapseDetail">
+                    Collapse the code block by default. (controls need to be turned on)
+                </span>
+                </td>
+            </tr>
+            <tr>
+                <td colspan="3">
+                    <strong><span fcklang="SyntaxHightlightShowcolumns">Show columns</span></strong>
+                </td>
+            </tr>
+            <tr>
+                <td>
+                    <input name="chkShowColumns" type="checkbox" value="1" id="chkShowColumns">
+                </td>
+                <td colspan="2">
+                    <span fcklang="SyntaxHightlightShowcolumnsDetail">
+                    Show row columns in the first line.
+                    </span>
+                </td>
+            </tr>
+        </table>
+        
+        <!-- enable line count start -->
+        <table cellspacing="0" cellpadding="3" width="100%" align="center" border="0">
+            <tr>
+                <td colspan="3">
+                    <strong>
+                    <span fcklang="SyntaxHightlightLineCount">Default line count</span>
+                    </strong></td>
+            </tr>
+            <tr>
+                <td width="20">
+                    <input name="chkLineCount" onClick="changechk(this, 'txtLineCount');" type="checkbox"
+                        value="1" id="chkLineCount"></td>
+                <td width="20">
+                    <input name="txtLineCount" disabled="disabled" style="width: 50px;" type="text" id="txtLineCount"
+                        maxlength="4"></td>
+                <td>
+                <span fcklang="SyntaxHightlightLineCountDetail">
+                Will begin line count at value. Default value is 1.
+                </span></td>
+            </tr>
+            </table>
+            
+            
+            <!-- enable highlighted lines -->
+             <table cellspacing="0" cellpadding="3" width="100%" align="center" border="0">
+            <tr>
+                <td colspan="3">
+                    <strong>
+                    <span fcklang="SyntaxHightlightLines">Highlight lines</span>
+                    </strong></td>
+            </tr>
+            <tr>
+                <td width="20">
+                    <input name="chkHighlightLine" onClick="changechk(this, 'txtHighlightLines');" type="checkbox"
+                        value="1" id="chkHighlightLine"></td>
+                <td>
+                    <input name="txtHighlightLines" disabled="disabled" style="width: 150px;" type="text" id="txtHighlightLines"
+                        maxlength="25"></td>
+                <td>
+                </td>
+            </tr>
+            <tr>
+            <td></td>
+            <td colspan="2">
+            <span fcklang="SyntaxHightlightLinesDetail">
+                Enter a comma seperated lines of lines you want to highlight, eg <em>3,10,15</em>.
+                </span>
+            </td>
+            </tr>
+            </table>
+            
+            
+            
+            <table cellspacing="0" cellpadding="3" width="100%" align="center" border="0">
+            <tr>
+              <td colspan="3" class="DarkBackground">
+              <p><span fcklang="SyntaxHightlightInformation"><strong>NOTE:</strong><br>This plugin makes use of the <strong>Java Script SyntaxHighlighter v2.0.x</strong> available from <a href="http://alexgorbatchev.com/wiki/SyntaxHighlighter">alexgorbatchev.com</a>. Without configuring your website to use the SyntaxHighlighter this plugin will not have much effect!</span></p>
+              
+              <p><strong>Plugin Version: </strong><span id="syntaxhighlight-version"></span></p>
+              </td>
+            </tr>
+        </table>
+</div>
+
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/dialog/syntaxhighlight.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/dialog/syntaxhighlight.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/dialog/syntaxhighlight.js	(revision 1481)
@@ -0,0 +1,297 @@
+/*
+*   Syntax Highlighter 2.0 plugin for FCKEditor
+*   ========================
+*   Copyright (C) 2008  Darren James
+*   Email : darren.james@gmail.com
+*   URL : http://www.psykoptic.com/blog/
+*
+*   NOTE:
+*   ========================
+*   This plugin will add or edit a formatted <pre> tag for FCKEditor
+*   To see results on the front end of your website
+*   You will need to install SyntaxHighlighter 2.0.x from
+*   http://alexgorbatchev.com/wiki/SyntaxHighlighter
+*
+*
+*   This program is free software: you can redistribute it and/or modify
+*   it under the terms of the GNU General Public License as published by
+*   the Free Software Foundation, either version 3 of the License, or
+*   (at your option) any later version.
+
+*   This program is distributed in the hope that it will be useful,
+*   but WITHOUT ANY WARRANTY; without even the implied warranty of
+*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+*   GNU General Public License for more details.
+
+*   You should have received a copy of the GNU General Public License
+*   along with this program.  If not, see <http:*www.gnu.org/licenses/>.
+
+*   This program comes with ABSOLUTELY NO WARRANTY.
+*/
+
+var version = "2.1.0";
+var dialog = window.parent; // IE7 needs this
+var oEditor = window.parent.InnerDialogLoaded();
+var FCK = oEditor.FCK;
+var FCKLang = oEditor.FCKLang;
+var FCKConfig = oEditor.FCKConfig;
+var FCKTools = oEditor.FCKTools;
+var FCKBrowserInfo = oEditor.FCKBrowserInfo;
+
+
+// default syntax object
+function CodeSyntax() {
+    var oCodeSyntax = new Object();
+    oCodeSyntax.Code = oContainerPre.innerHTML;
+    oCodeSyntax.Advanced = false;
+    oCodeSyntax.Gutter = false;
+    oCodeSyntax.NoControls = false;
+    oCodeSyntax.Collapse = false;
+    oCodeSyntax.Firstline = 0;
+    oCodeSyntax.Showcolumns = false;
+    oCodeSyntax.Highlight = null;
+
+    return oCodeSyntax;
+}
+
+var oContainerPre = FCK.Selection.MoveToAncestorNode('PRE');
+var oCodeSyntax = null;
+
+// ----------------------
+// populate our oCodeSyntax object
+if (oContainerPre) {
+    if (oContainerPre.tagName == 'PRE' && GetAttribute(oContainerPre, 'title') == 'code') {
+
+        var CodeSettings = GetAttribute(oContainerPre, 'class', '');
+        if (CodeSettings.length > 0) {
+
+            // found valid code snippet, populate our CodeSyntax object
+            oCodeSyntax = new CodeSyntax();
+
+            if (CodeSettings.indexOf(";") > -1) {
+                // advanced options set
+
+                oCodeSyntax.Advanced = true;
+                oCodeSyntax.Lang = CodeSettings.substring(CodeSettings.indexOf(":") + 1, CodeSettings.indexOf(";")).replace(/^\s+|\s+$/g, "");
+                
+                if (CodeSettings.indexOf("gutter") > -1)
+                    oCodeSyntax.Gutter = true;
+
+                if (CodeSettings.indexOf("toolbar") > -1)
+                    oCodeSyntax.NoControls = true;
+
+                if (CodeSettings.indexOf("collapse") > -1)
+                    oCodeSyntax.Collapse = true;
+
+                if (CodeSettings.indexOf("first-line") > -1) {
+
+                    var match = /first-line: ([0-9]{1,4})/.exec(CodeSettings);
+                    if (match != null && match.length > 0) {
+                        oCodeSyntax.Firstline = match[1];
+                    }
+                    else {
+                        oCodeSyntax.Firstline = 0;
+                    }
+                }
+                
+                // highlighted numbers
+                if (CodeSettings.indexOf("highlight") > -1) {
+
+                    // make sure we have a comma-seperated list
+                    if (CodeSettings.match(/highlight: \[[0-9]+(,[0-9]+)*\]/)) {
+                        // now grab the list
+                        var match_hl = /highlight: \[(.*)\]/.exec(CodeSettings);
+                        if (match_hl != null && match_hl.length > 0) {
+                            oCodeSyntax.Highlight = match_hl[1];
+                        }
+                    }
+                }
+
+
+                if (CodeSettings.indexOf("ruler") > -1)
+                    oCodeSyntax.Showcolumns = true;
+            }
+            else {
+                oCodeSyntax.Lang = CodeSettings;
+            }
+
+        }
+
+    } else {
+        oContainerPre = null;
+    }
+}
+
+// ----------------------
+// config tabs
+window.parent.AddTab('TabSourceCode', FCKLang.SyntaxHightlightTab1);
+window.parent.AddTab('TabAdvanced', FCKLang.SyntaxHightlightTab2);
+
+function OnDialogTabChange(tabCode) {
+    ShowE('divSourceCode', (tabCode == 'TabSourceCode'));
+    ShowE('divAdvanced', (tabCode == 'TabAdvanced'));
+}
+// ----------------------
+
+window.onload = function() {
+
+    // translate the dialog box texts
+    oEditor.FCKLanguageManager.TranslatePage(document);
+    // load current PRE block
+    LoadSelected();
+    // Show the "Ok" button.
+    dialog.SetOkButton(true);
+    // Select text field on load.
+    SelectField('txtCode');
+
+    // set version
+    GetE('syntaxhighlight-version').innerHTML = version;
+
+}
+
+// ----------------------
+// setup dialogue
+function LoadSelected() {
+
+    var ddLang = GetE('ddLang');
+
+    if (!oCodeSyntax) {
+        // creating new element
+        if (FCKConfig.SyntaxHighlight2LangDefault != null) {
+
+            for (count = 0; count < ddLang.length; count++) {
+
+                if (ddLang.options[count].value == FCKConfig.SyntaxHighlight2LangDefault) {
+                    ddLang.selectedIndex = count;
+                    break;
+                }
+            }
+        }
+
+    }
+    else {
+
+        // editing existing element
+        document.getElementById('txtCode').value = HTMLDecode(oCodeSyntax.Code);
+        ddLang.value = oCodeSyntax.Lang;
+
+        // set any advanced options
+        if (oCodeSyntax.Advanced) {
+            if (oCodeSyntax.Gutter)
+                GetE('chkGutter').checked = true;
+
+            if (oCodeSyntax.NoControls)
+                GetE('chkNoControls').checked = true;
+
+            if (oCodeSyntax.Collapse)
+                GetE('chkCollapse').checked = true;
+
+            if (oCodeSyntax.Firstline > 0) {
+                GetE('chkLineCount').checked = true;
+                GetE('txtLineCount').disabled = false;
+                GetE('txtLineCount').value = oCodeSyntax.Firstline
+
+            }
+
+            if (oCodeSyntax.Highlight != null) {
+                GetE('chkHighlightLine').checked = true;
+                GetE('txtHighlightLines').disabled = false;
+                GetE('txtHighlightLines').value = oCodeSyntax.Highlight
+
+            }
+            
+            if (oCodeSyntax.Showcolumns)
+                GetE('chkShowColumns').checked = true;
+
+        }
+
+    }
+}
+
+// ----------------------
+// action on dialogue submit
+function Ok() {
+    var sCode = GetE('txtCode').value;
+    var ddLang = GetE('ddLang').value + ";";
+    var advanced = '';
+
+    oEditor.FCKUndo.SaveUndoStep();
+
+    if (!oContainerPre) {
+        oContainerPre = FCK.CreateElement('PRE');
+    }
+
+
+    if (GetE('chkGutter').checked)
+        advanced += "gutter: false; ";
+
+    if (GetE('chkNoControls').checked)
+        advanced += "toolbar: false; ";
+
+    if (GetE('chkCollapse').checked)
+        advanced += "collapse: true; ";
+
+    // start line count from custom
+    if (GetE('chkLineCount').checked)
+        advanced += "first-line: " + GetE('txtLineCount').value + "; ";
+
+    // highlight lines (strip all spaces)
+    if (GetE('chkHighlightLine').checked)
+        advanced += "highlight: [" + GetE('txtHighlightLines').value.replace(/\s/gi, "") + "]; ";
+
+    // show ruler/column tool
+    if (GetE('chkShowColumns').checked)
+        advanced += "ruler: true; ";
+   
+
+    if (FCKBrowserInfo.IsIE) {
+        // a bug in IE removes linebreaks in innerHTML, so lets use outerHTML instead
+        oContainerPre.outerHTML = '<pre title="code" class="brush: ' + ddLang + advanced + '">' + HTMLEncode(sCode) + '</pre>';
+    }
+    else {
+        oContainerPre.setAttribute("title", "code");
+        oContainerPre.setAttribute("class", "brush: " + ddLang + advanced);
+        oContainerPre.innerHTML = HTMLEncode(sCode);       
+    }
+
+    return true;
+}
+
+// ----------------------
+// Helper functions
+// ----------------------
+function HTMLEncode(text) {
+    if (!text)
+        return '';
+
+    text = text.replace(/&/g, '&amp;');
+    text = text.replace(/</g, '&lt;');
+    text = text.replace(/>/g, '&gt;');
+
+    return text;
+}
+
+function HTMLDecode(text) {
+    if (!text)
+        return '';
+
+    text = text.replace(/&gt;/g, '>');
+    text = text.replace(/&lt;/g, '<');
+    text = text.replace(/&amp;/g, '&');
+    text = text.replace(/<br>/g, '\n');
+    text = text.replace(/&quot;/g, '"');
+
+    return text;
+}
+
+function changechk(checkbox, textfield) {
+
+    if (checkbox.checked == true) {
+        GetE(textfield).disabled = false;
+    }
+    else {
+        GetE(textfield).disabled = true;
+    }
+
+}
+
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/dialog/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/dialog/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/dialog/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/dialog/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+ID
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/lang/en.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/lang/en.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/lang/en.js	(revision 1481)
@@ -0,0 +1,50 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2008 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Placholder English language file.
+ */
+
+FCKLang.SyntaxhighlightBtn      = 'Insert/Edit Syntax highlighted code';
+FCKLang.DlgSyntaxhighlightTitle = 'Syntax Highlighter 2';
+FCKLang.SyntaxHightlightTab1 = 'Source code';
+FCKLang.SyntaxHightlightTab2 = 'Advanced';
+
+// source code tab
+FCKLang.SyntaxHightlightLang = 'Select language';
+FCKLang.SyntaxHightlightEnterCode = 'Enter source code';
+
+// advanced tab
+FCKLang.SyntaxHightlightGutter = 'Hide gutter';
+FCKLang.SyntaxHightlightGutterDetail = 'Hide gutter &amp; line numbers';
+FCKLang.SyntaxHightlightNoControls = 'Hide Controls';
+FCKLang.SyntaxHightlightNoControlsDetail = 'Hide code controls at the top of the code block.';
+FCKLang.SyntaxHightlightCollapse = 'Collapse';
+FCKLang.SyntaxHightlightCollapseDetail = 'Collapse the code block by default. (controls need to be turned on)';
+FCKLang.SyntaxHightlightLineCount = 'Default line count';
+FCKLang.SyntaxHightlightLineCountDetail = 'Will begin line count at specified value. Default value is 1.';
+
+FCKLang.SyntaxHightlightShowcolumns = 'Show columns';
+FCKLang.SyntaxHightlightShowcolumnsDetail = 'Show row columns in the first line.';
+
+FCKLang.SyntaxHightlightLines = 'Highlight lines';
+FCKLang.SyntaxHightlightLinesDetail = 'Enter a comma seperated lines of lines you want to highlight, eg <em>3,10,15</em>.';
+
+
+FCKLang.SyntaxHightlightInformation = '<strong>NOTE:</strong><br>This plugin makes use of the <strong>Java Script SyntaxHighlighter v2.0.x</strong> available from <a href="http://alexgorbatchev.com/wiki/SyntaxHighlighter" target="_blank">alexgorbatchev.com</a>. Without configuring your website to use the SyntaxHighlighter this plugin will not have much effect!';
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/lang/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/lang/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/lang/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/lang/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+ID
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/images/syntaxhighlight.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/images/syntaxhighlight.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/images/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/images/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/images/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/images/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+ID
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/docs/folder-setup.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/docs/folder-setup.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/docs/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/docs/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/docs/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/docs/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+ID
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/README.txt
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/README.txt	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/README.txt	(revision 1481)
@@ -0,0 +1,47 @@
+ï»¿/*
+*   Syntax Highlighter 2.0 plugin for FCKEditor
+*   ========================
+*   Copyright (C) 2008  Darren James
+*   Email : darren.james@gmail.com
+*   URL : http://www.psykoptic.com/blog/
+*
+*   NOTE:
+*   ========================
+*   This plugin will add or edit a formatted <pre> tag for FCKEditor
+*   To see results on the front end of your website
+*   You will need to install SyntaxHighlighter 2.0.x from
+*   http://alexgorbatchev.com/wiki/SyntaxHighlighter
+*
+*
+*   This program is free software: you can redistribute it and/or modify
+*   it under the terms of the GNU General Public License as published by
+*   the Free Software Foundation, either version 3 of the License, or
+*   (at your option) any later version.
+
+*   This program is distributed in the hope that it will be useful,
+*   but WITHOUT ANY WARRANTY; without even the implied warranty of
+*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+*   GNU General Public License for more details.
+
+*   You should have received a copy of the GNU General Public License
+*   along with this program.  If not, see <http:*www.gnu.org/licenses/>.
+
+*   This program comes with ABSOLUTELY NO WARRANTY.
+*/
+
+/*
+*   History
+*   ========================
+*   2.1.0	May 2009
+*			- Plugin version information now being displayed
+*			- Line highlighting feature added
+*
+*   2.0.1	March 2009
+*			- Minor bug fix where semi-colons were sometimes positioned in the wrong place when no advanced options were selected
+			
+*   2.0		March 2009
+*			- First Release with support for SyntaxHighlighter 2.0.x available. Many thanks to 
+			Sergey Gurevich for providing bug fixes and patches used in this release.
+
+			
+*/
\ No newline at end of file
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/fckplugin.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/fckplugin.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/fckplugin.js	(revision 1481)
@@ -0,0 +1,49 @@
+ï»¿/*
+*   Syntax Highlighter 2.0 plugin for FCKEditor
+*   ========================
+*   Copyright (C) 2008  Darren James
+*   Email : darren.james@gmail.com
+*   URL : http://www.psykoptic.com/blog/
+*
+*   NOTE:
+*   ========================
+*   This plugin will add or edit a formatted <pre> tag for FCKEditor
+*   To see results on the front end of your website
+*   You will need to install SyntaxHighlighter 2.0.x from
+*   http://alexgorbatchev.com/wiki/SyntaxHighlighter
+*
+*
+*   This program is free software: you can redistribute it and/or modify
+*   it under the terms of the GNU General Public License as published by
+*   the Free Software Foundation, either version 3 of the License, or
+*   (at your option) any later version.
+
+*   This program is distributed in the hope that it will be useful,
+*   but WITHOUT ANY WARRANTY; without even the implied warranty of
+*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+*   GNU General Public License for more details.
+
+*   You should have received a copy of the GNU General Public License
+*   along with this program.  If not, see <http:*www.gnu.org/licenses/>.
+
+*   This program comes with ABSOLUTELY NO WARRANTY.
+*/
+
+
+// Register the related command.
+
+/*
+NOTE - Values are case sensitive
+- syntaxhighlight2: name of the plugin and directory name (must be the same!)
+- SyntaxHighLight2: Name of command used to identify the new toolbar button
+*/
+
+FCKCommands.RegisterCommand('SyntaxHighLight2', new FCKDialogCommand('SyntaxHighLight2', FCKLang.DlgSyntaxhighlightTitle, FCKPlugins.Items['syntaxhighlight2'].Path + 'dialog/fck_syntaxhighlight.html', 500, 500));
+
+// Create the "SyntaxHighLight" toolbar button.
+var oSyntaxhighlightItem = new FCKToolbarButton('SyntaxHighLight2', FCKLang.SyntaxhighlightBtn);
+oSyntaxhighlightItem.IconPath = FCKPlugins.Items['syntaxhighlight2'].Path + 'images/syntaxhighlight.gif';
+
+FCKToolbarItems.RegisterItem('SyntaxHighLight2', oSyntaxhighlightItem);
+
+
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/syntaxhighlight2/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+ID
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/wbmodules.htt
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/wbmodules.htt	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/wbmodules.htt	(revision 1481)
@@ -0,0 +1,102 @@
+<!-- BEGIN main_block -->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<title>WB Link - Insert Website Baker Link</title>
+		<meta http-equiv="Content-Type" content="text/html; charset={CHARSET}">
+		<meta content="noindex, nofollow" name="robots">
+		<script type="text/javascript" src="fckwbmodules.js"></script>
+		<script type="text/javascript">
+		<!--
+			var oEditor			= window.parent.InnerDialogLoaded(); 
+			var FCK				= oEditor.FCK; 
+			var FCKLang			= oEditor.FCKLang ;
+			var FCKConfig		= oEditor.FCKConfig ;
+			//var FCKCMSCCMSModules	= oEditor.FCKCMSModules; 
+			 
+			// oLink: The actual selected link in the editor.
+			var oLink = FCK.Selection.MoveToAncestorNode( 'A' ) ;
+			if ( oLink )
+				FCK.Selection.SelectNode( oLink ) ;
+	
+			window.onload = function ()	{ 
+				// First of all, translates the dialog box texts.
+				oEditor.FCKLanguageManager.TranslatePage(document);
+				
+				LoadSelected();							//See function below 
+				window.parent.SetOkButton( true );		//Show the "Ok" button. 
+				
+			} 
+			 
+			//If an anchor (A) object is currently selected, load the properties into the dialog 
+			function LoadSelected()	{
+				var sSelected;
+
+				if ( oEditor.FCKBrowserInfo.IsGecko || oEditor.FCKBrowserInfo.IsSafari || oEditor.FCKBrowserInfo.IsChrome ) {
+					sSelected = FCK.EditorWindow.getSelection();
+				} else {
+					sSelected = FCK.EditorDocument.selection.createRange().text;
+				}
+
+				if ( sSelected == "" ) {
+					alert( FCKLang.WBModulesErrSelection );
+					window.parent.Cancel();
+				}
+
+			}
+
+			//Code that runs after the OK button is clicked 
+			function Ok() {
+				//Validate is option is selected
+				var oPageList = document.getElementById( 'cmbPages' ) ;
+				if(oPageList.selectedIndex == -1) {
+					alert( FCKLang.WBModulesErrPageSelect );
+					return false;
+				}
+				
+				var oTagLink = document.getElementById( 'chkTaglink' );
+				
+				var sPageId = oPageList[oPageList.selectedIndex].value;
+				oLink = oEditor.FCK.CreateLink( sPageId ) ;
+				// the following line was commented out as it creates an error message in some browser (e.g. IE)
+				// even Firefox seems not to make use of the title so we remove this option for know (doc)
+				// SetAttribute( oLink, 'title', document.getElementById( 'txtTitle' ).value ) ;
+			return true;
+
+			} 
+			
+		//-->
+		</script>
+	</head>
+			
+	<body scroll="no" style="overflow:hidden;">
+		 <table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0"> 
+		 	<tr> 
+				<td>
+					<table width="100%">
+						<tr>
+							<td colspan="2"><span fckLang="WBModuleslblPageSelection">Select a WB Page to link to:</span>&nbsp;</td>
+						</tr>
+						<tr>
+							<td colspan="2">
+								<select id="cmbPages" style="WIDTH: 100%" size="14" name="cmbPages">
+									<!-- BEGIN page_list_block -->
+									<option value="{LINK}"{SELECTED}>{TITLE}</option>
+									<!-- END page_list_block -->
+								</select>
+							</td>
+						</tr>
+						<!-- commented out as this option will not work in all browsers (doc)
+						<tr>
+							<td nowrap><span fckLang="WBModuleslblTitle">Title</span>&nbsp;</td>
+							<td width="100%" style="align:right;"><input id="txtTitle" style="WIDTH: 98%" type="text" name="txtTitle"></td>
+						</tr>
+						-->
+					</table>
+				</td>
+			</tr>
+		</table>
+		
+	</body>
+</html> 
+<!-- END main_block -->
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/wbmodules.htt
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/lang/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/lang/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/lang/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2008, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../../../../../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/lang/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/lang/ru.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/lang/ru.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/lang/ru.js	(revision 1481)
@@ -0,0 +1,7 @@
+FCKLang.WBModulesBtn			= 'Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚ÑŒ/Ğ ĞµĞ´Ğ°ĞºÑ‚Ğ¸Ñ€Ğ¾Ğ²Ğ°Ñ‚ÑŒ Ğ²Ğ½ÑƒÑ‚Ñ€ĞµĞ½Ğ½ÑÑ ÑÑÑ‹Ğ»ĞºÑƒ' ;
+FCKLang.WBModulesDlgTitle		= ' Ğ’ÑÑ‚Ğ°Ğ²Ğ¸Ñ‚ÑŒ Ğ²Ğ½ÑƒÑ‚Ñ€ĞµĞ½Ğ½ÑÑ ÑÑÑ‹Ğ»ĞºÑƒ' ;
+FCKLang.WBModulesDlgName		= 'Ğ’ÑÑ‚Ğ°Ğ²ĞºĞ° Ğ²Ğ½ÑƒÑ‚Ñ€ĞµĞ½Ğ½ĞµĞ¹ ÑÑÑ‹Ğ»ĞºĞ¸' ;
+FCKLang.WBModulesErrSelection		= 'ĞŸĞ¾Ğ¶Ğ°Ğ»ÑƒĞ¹ÑÑ‚Ğ° Ğ²Ñ‹Ğ´ĞµĞ»Ğ¸Ñ‚Ğµ ÑÑÑ‹Ğ»Ğ°ÑÑ‰Ğ¸Ğ¹ÑÑ Ñ‚ĞµĞºÑÑ‚' ;
+FCKLang.WBModulesErrPageSelect		= 'Ğ’Ñ‹Ğ±ĞµÑ€Ğ¸Ñ‚Ğµ ÑÑ‚Ñ€Ğ°Ğ½Ğ¸Ñ†Ñƒ Ñ‡Ñ‚Ğ¾Ğ±Ñ‹ ÑĞ´ĞµĞ»Ğ°Ñ‚ÑŒ ÑÑÑ‹Ğ»ĞºÑƒ' ;
+FCKLang.WBModuleslblPageSelection	= 'Ğ’Ñ‹Ğ±ĞµÑ€Ğ¸Ñ‚Ğµ ÑÑ‚Ñ€Ğ°Ğ½Ğ¸Ñ†Ñƒ Ğ´Ğ»Ñ ÑÑÑ‹Ğ»ĞºĞ¸:';
+FCKLang.WBModuleslblTitle		= 'Ğ—Ğ°Ğ³Ğ¾Ğ»Ğ¾Ğ²Ğ¾Ğº';
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/lang/ru.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/lang/de.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/lang/de.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/lang/de.js	(revision 1481)
@@ -0,0 +1,7 @@
+FCKLang.WBModulesBtn			= 'WB Seitenlink einf\u00fcgen/\u00e4ndern' ;
+FCKLang.WBModulesDlgTitle		= 'WB Link - Internen Link einf\u00fcgen' ;
+FCKLang.WBModulesDlgName		= 'Website Baker Link einf\u00fcgen' ;
+FCKLang.WBModulesErrSelection		= 'Bitte zuerst einen Text markieren, der verlinkt werden soll!' ;
+FCKLang.WBModulesErrPageSelect		= 'Bitte eine WB-Seite markieren, auf die verlinkt werden soll!' ;
+FCKLang.WBModuleslblPageSelection	= 'Auswahlfenster der m\u00f6glichen WB-Seiten:';
+FCKLang.WBModuleslblTitle		= 'Linktitel:';
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/lang/de.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/lang/nl.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/lang/nl.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/lang/nl.js	(revision 1481)
@@ -0,0 +1,7 @@
+FCKLang.WBModulesBtn			= 'Interne WB link toevoegen' ;
+FCKLang.WBModulesDlgTitle		= 'WB Link - voeg interne link toe' ;
+FCKLang.WBModulesDlgName		= 'Website Baker link toevoegen' ;
+FCKLang.WBModulesErrSelection		= 'Eerst een selectie maken voordat u een link wilt toevoegen' ;
+FCKLang.WBModulesErrPageSelect		= 'Eerst een pagina selecteren als u een link wilt creeren' ;
+FCKLang.WBModuleslblPageSelection	= 'Selecteer een WB Pagina om te linken:';
+FCKLang.WBModuleslblTitle		= 'Titel';
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/lang/nl.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/lang/en.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/lang/en.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/lang/en.js	(revision 1481)
@@ -0,0 +1,7 @@
+FCKLang.WBModulesBtn			= 'Insert/Edit Website Baker link' ;
+FCKLang.WBModulesDlgTitle		= 'WB Link - Insert internal link' ;
+FCKLang.WBModulesDlgName		= 'Website Baker Link insert' ;
+FCKLang.WBModulesErrSelection		= 'Please select a text in order to create a (internal) link' ;
+FCKLang.WBModulesErrPageSelect		= 'Please select a page in order to create a link' ;
+FCKLang.WBModuleslblPageSelection	= 'Select a WB Page to link to:';
+FCKLang.WBModuleslblTitle		= 'Title';
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/lang/en.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/fck_wbmodules.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/fck_wbmodules.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/fck_wbmodules.php	(revision 1481)
@@ -0,0 +1,96 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Include the config file
+require('../../../../../../config.php');
+
+// Create new admin object
+require(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Pages', 'pages_modify', false);
+
+// Setup the template
+$template = new Template(WB_PATH.'/modules/fckeditor/fckeditor/editor/plugins/WBModules');
+$template->set_file('page', 'wbmodules.htt');
+$template->set_block('page', 'main_block', 'main');
+
+// Function to generate page list
+function gen_page_list($parent) {
+	global $template, $database, $admin;
+	$get_pages = $database->query("SELECT * FROM ".TABLE_PREFIX."pages WHERE parent = '$parent' order by position");
+	while($page = $get_pages->fetchRow()) {
+		// method page_is_visible was introduced with WB 2.7
+		if(method_exists($admin, 'page_is_visible') && !$admin->page_is_visible($page))
+			continue;
+		$title = stripslashes($page['menu_title']);
+		// Add leading -'s so we can tell what level a page is at
+		$leading_dashes = '';
+		for($i = 0; $i < $page['level']; $i++) {
+			$leading_dashes .= '- ';
+		}
+		$template->set_var('TITLE', $leading_dashes.' '.$title);
+		$template->set_var('LINK', '[wblink'.$page['page_id'].']');
+		/**
+			Note: FCK uses the header defined in /fckeditor/fckeditor/editor/fckdialog.html
+			Therefore the WB charset defined in the template: wbmodules.html will be overwritten
+			Routine kept for now, maybe it is possible to define custom plugin charsets in a future FCK releases (doc)
+		*/
+		// work out the specified WB charset 
+		if(defined('DEFAULT_CHARSET')) { 
+			$template->set_var('CHARSET', DEFAULT_CHARSET);
+		} else { 
+			$template->set_var('CHARSET', 'utf-8');
+		}
+		$template->parse('page_list', 'page_list_block', true);
+		gen_page_list($page['page_id']);
+	}
+}
+
+// Get pages and put them into the pages list
+$template->set_block('main_block', 'page_list_block', 'page_list');
+$database = new database();
+$get_pages = $database->query("SELECT * FROM ".TABLE_PREFIX."pages WHERE parent = '0' order by position");
+if($get_pages->numRows() > 0) {
+	// Loop through pages
+	while($page = $get_pages->fetchRow()) {
+		// method page_is_visible was introduced with WB 2.7
+		if(method_exists($admin, 'page_is_visible') && !$admin->page_is_visible($page))
+			continue;
+		$title = stripslashes($page['menu_title']);
+		$template->set_var('TITLE', $title);
+		$template->set_var('LINK', '[wblink'.$page['page_id'].']');
+		$template->parse('page_list', 'page_list_block', true);
+		gen_page_list($page['page_id']);
+	}
+} else {
+	$template->set_var('TITLE', 'None found');
+	$template->set_var('LINK', 'None found');
+	$template->parse('page_list', 'page_list_block', false);
+}
+
+// Parse the template object
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/fck_wbmodules.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../../../../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/wbmodules.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/wbmodules.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/fckwbmodules.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/fckwbmodules.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/fckwbmodules.js	(revision 1481)
@@ -0,0 +1,8 @@
+// Function to set special attributes. Copied from FCK Core function
+function SetAttribute( element, attName, attValue )
+{
+	if ( attValue == null || attValue.length == 0 )
+		element.removeAttribute( attName, 0 ) ;			// 0 : Case Insensitive
+	else
+		element.setAttribute( attName, attValue, 0 ) ;	// 0 : Case Insensitive
+}
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/fckwbmodules.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/fckwbmodules.css
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/fckwbmodules.css	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/fckwbmodules.css	(revision 1481)
@@ -0,0 +1,35 @@
+#fckComment a, #fckComment a:visited {
+	position: relative;
+	text-decoration: none;
+	border: 0;
+}
+
+#fckComment a span {
+	display:none;
+}
+
+#fckComment a:hover {
+	color: #d00;
+	border: 0px solid #fff;
+}
+
+#fckComment a img {	
+	border: 0;
+	height: 20px;
+	width: 20px;
+}
+
+#fckComment a:hover span {
+	text-align:left;	
+	display:block;
+	border:1px solid #CCCCCC;
+	position: absolute;
+	top: 0px;
+	left: 20px;
+	width: 300px;
+	padding:5px;	
+	color:#000000;
+	background-color:#FFFFCC;
+	opacity: 0.8;
+	filter:alpha(opacity=80);
+}
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/fckwbmodules.css
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/fckplugin.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/fckplugin.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/fckplugin.js	(revision 1481)
@@ -0,0 +1,30 @@
+/* 
+ *  FCKPlugin.js
+ *  ------------
+ *  This is a generic file which is needed for plugins that are developed
+ *  for FCKEditor. With the below statements that toolbar is created and
+ *  several options are being activated.
+ *
+ *  See the online documentation for more information:
+ *  http://wiki.fckeditor.net/
+ */
+
+// Register the related commands.
+FCKCommands.RegisterCommand(
+	'WBModules',
+	new FCKDialogCommand(
+		'WBModules',
+		FCKLang["WBModulesDlgTitle"],
+		FCKPlugins.Items['WBModules'].Path + 'fck_wbmodules.php',
+		370,
+		370
+	)
+);
+ 
+// Create the "WBModules" toolbar button.
+// FCKToolbarButton( commandName, label, tooltip, style, sourceView, contextSensitive )
+var oWBModulesItem = new FCKToolbarButton( 'WBModules', FCKLang["WBModulesBtn"], null, null, false, true ); 
+oWBModulesItem.IconPath = FCKConfig.PluginsPath + 'WBModules/wbmodules.gif'; 
+
+// 'CMSContent' is the name that is used in the toolbar config.
+FCKToolbarItems.RegisterItem( 'WBModules', oWBModulesItem );

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBModules/fckplugin.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/lang/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/lang/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/lang/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/lang/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/lang/es.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/lang/es.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/lang/es.js	(revision 1481)
@@ -0,0 +1,27 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Placholder Spanish language file.
+ */
+FCKLang.PlaceholderBtn			= 'Insertar/Editar contenedor' ;
+FCKLang.PlaceholderDlgTitle		= 'Propiedades del contenedor ' ;
+FCKLang.PlaceholderDlgName		= 'Nombre de contenedor' ;
+FCKLang.PlaceholderErrNoName	= 'Por favor escriba el nombre de contenedor' ;
+FCKLang.PlaceholderErrNameInUse	= 'El nombre especificado ya esta en uso' ;
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/lang/fr.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/lang/fr.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/lang/fr.js	(revision 1481)
@@ -0,0 +1,27 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Placeholder French language file.
+ */
+FCKLang.PlaceholderBtn			= "InsÃ©rer/Modifier l'Espace rÃ©servÃ©" ;
+FCKLang.PlaceholderDlgTitle		= "PropriÃ©tÃ©s de l'Espace rÃ©servÃ©" ;
+FCKLang.PlaceholderDlgName		= "Nom de l'Espace rÃ©servÃ©" ;
+FCKLang.PlaceholderErrNoName	= "Veuillez saisir le nom de l'Espace rÃ©servÃ©" ;
+FCKLang.PlaceholderErrNameInUse	= "Ce nom est dÃ©jÃ  utilisÃ©" ;
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/lang/de.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/lang/de.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/lang/de.js	(revision 1481)
@@ -0,0 +1,27 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Placholder German language file.
+ */
+FCKLang.PlaceholderBtn			= 'EinfÃ¼gen/editieren Platzhalter' ;
+FCKLang.PlaceholderDlgTitle		= 'Platzhalter Eigenschaften' ;
+FCKLang.PlaceholderDlgName		= 'Platzhalter Name' ;
+FCKLang.PlaceholderErrNoName	= 'Bitte den Namen des Platzhalters schreiben' ;
+FCKLang.PlaceholderErrNameInUse	= 'Der angegebene Namen ist schon in Gebrauch' ;
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/lang/pl.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/lang/pl.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/lang/pl.js	(revision 1481)
@@ -0,0 +1,27 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Placholder Polish language file.
+ */
+FCKLang.PlaceholderBtn			= 'Wstaw/Edytuj nagÅ‚Ã³wek' ;
+FCKLang.PlaceholderDlgTitle		= 'WÅ‚aÅ›noÅ›ci nagÅ‚Ã³wka' ;
+FCKLang.PlaceholderDlgName		= 'Nazwa nagÅ‚Ã³wka' ;
+FCKLang.PlaceholderErrNoName	= 'ProszÄ™ wprowadziÄ‡ nazwÄ™ nagÅ‚Ã³wka' ;
+FCKLang.PlaceholderErrNameInUse	= 'Podana nazwa jest juÅ¼ w uÅ¼yciu' ;
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/lang/it.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/lang/it.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/lang/it.js	(revision 1481)
@@ -0,0 +1,27 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Placholder Italian language file.
+ */
+FCKLang.PlaceholderBtn			= 'Aggiungi/Modifica Placeholder' ;
+FCKLang.PlaceholderDlgTitle		= 'ProprietÃ  del Placeholder' ;
+FCKLang.PlaceholderDlgName		= 'Nome del Placeholder' ;
+FCKLang.PlaceholderErrNoName	= 'Digitare il nome del placeholder' ;
+FCKLang.PlaceholderErrNameInUse	= 'Il nome inserito Ã¨ giÃ  in uso' ;
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/lang/en.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/lang/en.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/lang/en.js	(revision 1481)
@@ -0,0 +1,27 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Placholder English language file.
+ */
+FCKLang.PlaceholderBtn			= 'Insert/Edit Placeholder' ;
+FCKLang.PlaceholderDlgTitle		= 'Placeholder Properties' ;
+FCKLang.PlaceholderDlgName		= 'Placeholder Name' ;
+FCKLang.PlaceholderErrNoName	= 'Please type the placeholder name' ;
+FCKLang.PlaceholderErrNameInUse	= 'The specified name is already in use' ;
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/fck_placeholder.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/fck_placeholder.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/fck_placeholder.html	(revision 1481)
@@ -0,0 +1,105 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Placeholder Plugin.
+-->
+<html>
+	<head>
+		<title>Placeholder Properties</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta content="noindex, nofollow" name="robots">
+		<script src="../../dialog/common/fck_dialog_common.js" type="text/javascript"></script>
+		<script language="javascript">
+
+var dialog = window.parent ;
+var oEditor = dialog.InnerDialogLoaded() ;
+var FCKLang = oEditor.FCKLang ;
+var FCKPlaceholders = oEditor.FCKPlaceholders ;
+
+window.onload = function ()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage( document ) ;
+
+	LoadSelected() ;
+
+	// Show the "Ok" button.
+	dialog.SetOkButton( true ) ;
+
+	// Select text field on load.
+	SelectField( 'txtName' ) ;
+}
+
+var eSelected = dialog.Selection.GetSelectedElement() ;
+
+function LoadSelected()
+{
+	if ( !eSelected )
+		return ;
+
+	if ( eSelected.tagName == 'SPAN' && eSelected._fckplaceholder )
+		document.getElementById('txtName').value = eSelected._fckplaceholder ;
+	else
+		eSelected == null ;
+}
+
+function Ok()
+{
+	var sValue = document.getElementById('txtName').value ;
+
+	if ( eSelected && eSelected._fckplaceholder == sValue )
+		return true ;
+
+	if ( sValue.length == 0 )
+	{
+		alert( FCKLang.PlaceholderErrNoName ) ;
+		return false ;
+	}
+
+	if ( FCKPlaceholders.Exist( sValue ) )
+	{
+		alert( FCKLang.PlaceholderErrNameInUse ) ;
+		return false ;
+	}
+
+	FCKPlaceholders.Add( sValue ) ;
+	return true ;
+}
+
+		</script>
+	</head>
+	<body scroll="no" style="OVERFLOW: hidden">
+		<table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0">
+			<tr>
+				<td>
+					<table cellSpacing="0" cellPadding="0" align="center" border="0">
+						<tr>
+							<td>
+								<span fckLang="PlaceholderDlgName">Placeholder Name</span><br>
+								<input id="txtName" type="text">
+							</td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/fckplugin.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/fckplugin.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/fckplugin.js	(revision 1481)
@@ -0,0 +1,187 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Plugin to insert "Placeholders" in the editor.
+ */
+
+// Register the related command.
+FCKCommands.RegisterCommand( 'Placeholder', new FCKDialogCommand( 'Placeholder', FCKLang.PlaceholderDlgTitle, FCKPlugins.Items['placeholder'].Path + 'fck_placeholder.html', 340, 160 ) ) ;
+
+// Create the "Plaholder" toolbar button.
+var oPlaceholderItem = new FCKToolbarButton( 'Placeholder', FCKLang.PlaceholderBtn ) ;
+oPlaceholderItem.IconPath = FCKPlugins.Items['placeholder'].Path + 'placeholder.gif' ;
+
+FCKToolbarItems.RegisterItem( 'Placeholder', oPlaceholderItem ) ;
+
+
+// The object used for all Placeholder operations.
+var FCKPlaceholders = new Object() ;
+
+// Add a new placeholder at the actual selection.
+FCKPlaceholders.Add = function( name )
+{
+	var oSpan = FCK.InsertElement( 'span' ) ;
+	this.SetupSpan( oSpan, name ) ;
+}
+
+FCKPlaceholders.SetupSpan = function( span, name )
+{
+	span.innerHTML = '[[ ' + name + ' ]]' ;
+
+	span.style.backgroundColor = '#ffff00' ;
+	span.style.color = '#000000' ;
+
+	if ( FCKBrowserInfo.IsGecko )
+		span.style.cursor = 'default' ;
+
+	span._fckplaceholder = name ;
+	span.contentEditable = false ;
+
+	// To avoid it to be resized.
+	span.onresizestart = function()
+	{
+		FCK.EditorWindow.event.returnValue = false ;
+		return false ;
+	}
+}
+
+// On Gecko we must do this trick so the user select all the SPAN when clicking on it.
+FCKPlaceholders._SetupClickListener = function()
+{
+	FCKPlaceholders._ClickListener = function( e )
+	{
+		if ( e.target.tagName == 'SPAN' && e.target._fckplaceholder )
+			FCKSelection.SelectNode( e.target ) ;
+	}
+
+	FCK.EditorDocument.addEventListener( 'click', FCKPlaceholders._ClickListener, true ) ;
+}
+
+// Open the Placeholder dialog on double click.
+FCKPlaceholders.OnDoubleClick = function( span )
+{
+	if ( span.tagName == 'SPAN' && span._fckplaceholder )
+		FCKCommands.GetCommand( 'Placeholder' ).Execute() ;
+}
+
+FCK.RegisterDoubleClickHandler( FCKPlaceholders.OnDoubleClick, 'SPAN' ) ;
+
+// Check if a Placholder name is already in use.
+FCKPlaceholders.Exist = function( name )
+{
+	var aSpans = FCK.EditorDocument.getElementsByTagName( 'SPAN' ) ;
+
+	for ( var i = 0 ; i < aSpans.length ; i++ )
+	{
+		if ( aSpans[i]._fckplaceholder == name )
+			return true ;
+	}
+
+	return false ;
+}
+
+if ( FCKBrowserInfo.IsIE )
+{
+	FCKPlaceholders.Redraw = function()
+	{
+		if ( FCK.EditMode != FCK_EDITMODE_WYSIWYG )
+			return ;
+
+		var aPlaholders = FCK.EditorDocument.body.innerText.match( /\[\[[^\[\]]+\]\]/g ) ;
+		if ( !aPlaholders )
+			return ;
+
+		var oRange = FCK.EditorDocument.body.createTextRange() ;
+
+		for ( var i = 0 ; i < aPlaholders.length ; i++ )
+		{
+			if ( oRange.findText( aPlaholders[i] ) )
+			{
+				var sName = aPlaholders[i].match( /\[\[\s*([^\]]*?)\s*\]\]/ )[1] ;
+				oRange.pasteHTML( '<span style="color: #000000; background-color: #ffff00" contenteditable="false" _fckplaceholder="' + sName + '">' + aPlaholders[i] + '</span>' ) ;
+			}
+		}
+	}
+}
+else
+{
+	FCKPlaceholders.Redraw = function()
+	{
+		if ( FCK.EditMode != FCK_EDITMODE_WYSIWYG )
+			return ;
+
+		var oInteractor = FCK.EditorDocument.createTreeWalker( FCK.EditorDocument.body, NodeFilter.SHOW_TEXT, FCKPlaceholders._AcceptNode, true ) ;
+
+		var	aNodes = new Array() ;
+
+		while ( ( oNode = oInteractor.nextNode() ) )
+		{
+			aNodes[ aNodes.length ] = oNode ;
+		}
+
+		for ( var n = 0 ; n < aNodes.length ; n++ )
+		{
+			var aPieces = aNodes[n].nodeValue.split( /(\[\[[^\[\]]+\]\])/g ) ;
+
+			for ( var i = 0 ; i < aPieces.length ; i++ )
+			{
+				if ( aPieces[i].length > 0 )
+				{
+					if ( aPieces[i].indexOf( '[[' ) == 0 )
+					{
+						var sName = aPieces[i].match( /\[\[\s*([^\]]*?)\s*\]\]/ )[1] ;
+
+						var oSpan = FCK.EditorDocument.createElement( 'span' ) ;
+						FCKPlaceholders.SetupSpan( oSpan, sName ) ;
+
+						aNodes[n].parentNode.insertBefore( oSpan, aNodes[n] ) ;
+					}
+					else
+						aNodes[n].parentNode.insertBefore( FCK.EditorDocument.createTextNode( aPieces[i] ) , aNodes[n] ) ;
+				}
+			}
+
+			aNodes[n].parentNode.removeChild( aNodes[n] ) ;
+		}
+
+		FCKPlaceholders._SetupClickListener() ;
+	}
+
+	FCKPlaceholders._AcceptNode = function( node )
+	{
+		if ( /\[\[[^\[\]]+\]\]/.test( node.nodeValue ) )
+			return NodeFilter.FILTER_ACCEPT ;
+		else
+			return NodeFilter.FILTER_SKIP ;
+	}
+}
+
+FCK.Events.AttachEvent( 'OnAfterSetHTML', FCKPlaceholders.Redraw ) ;
+
+// We must process the SPAN tags to replace then with the real resulting value of the placeholder.
+FCKXHtml.TagProcessors['span'] = function( node, htmlNode )
+{
+	if ( htmlNode._fckplaceholder )
+		node = FCKXHtml.XML.createTextNode( '[[' + htmlNode._fckplaceholder + ']]' ) ;
+	else
+		FCKXHtml._AppendChildNodes( node, htmlNode, false ) ;
+
+	return node ;
+}
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/placeholder.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/placeholder/placeholder.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/flvPlayer.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/flvPlayer.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/flvPlayer.js	(revision 1481)
@@ -0,0 +1,575 @@
+var oEditor = window.parent.InnerDialogLoaded() ;
+var FCK		= oEditor.FCK ;
+
+// Set the language direction.
+window.document.dir = oEditor.FCKLang.Dir ;
+
+// Set the Skin CSS.
+document.write( '<link href="' + oEditor.FCKConfig.SkinPath + 'fck_dialog.css" type="text/css" rel="stylesheet">' ) ;
+
+var sAgent = navigator.userAgent.toLowerCase() ;
+
+var is_ie = (sAgent.indexOf("msie") != -1); // FCKBrowserInfo.IsIE
+var is_gecko = !is_ie; // FCKBrowserInfo.IsGecko
+
+var oMedia = null;
+var is_new_flvplayer = true;
+
+function window_onload()
+{
+	// Translate the dialog box texts.
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	// Load the selected element information (if any).
+	LoadSelection() ;
+
+	// Show/Hide the "Browse Server" button.
+	GetE('tdBrowse').style.display = oEditor.FCKConfig.FlashBrowser ? '' : 'none' ;
+
+	// Activate the "OK" button.
+	window.parent.SetOkButton( true ) ;
+}
+
+
+function getSelectedMovie(){
+	var oSel = null;
+	oMedia = new Media();
+	oSel = FCK.Selection.GetParentElement();
+	// If in "Get the Flash Player" a href, do it again
+	if (oSel.id != null && !oSel.id.match(/^player[0-9]*$/)) {
+		oSel = oSel.parentNode;
+	}
+	if (oSel.id != null && oSel.id.match(/^player[0-9]*$/)) {
+		for (var i = 0; i < oSel.childNodes.length; i++) {
+			if (oSel.childNodes.item(i).nodeName=="DIV") {
+				var oC=oSel.childNodes.item(i).innerHTML.split(' ');
+				for (var o = 0; o < oC.length ; o++) {
+					var tmp=oC[o].split('=');
+					oMedia.setAttribute(tmp[0],tmp[1]);
+				}
+				is_new_flvplayer = false;
+			}
+		}
+	}
+	return oMedia;
+}
+
+function updatePlaylistOption () {
+	if (GetE('selDispPlaylist').value == "right" || GetE('selDispPlaylist').value == "below") {
+		GetE('chkPLThumbs').disabled=false;
+		GetE('chkPLThumbs').checked=true;
+		GetE('txtPLDim').disabled=false;
+		GetE('txtPLDim').style.background='#ffffff';
+		GetE('spanDimText').style.display='none';
+		if (GetE('selDispPlaylist').value == "right") {
+			GetE('spanDimWText').style.display='';
+			GetE('spanDimHText').style.display='none';
+		} else if (GetE('selDispPlaylist').value == "below") {
+			GetE('spanDimWText').style.display='none';
+			GetE('spanDimHText').style.display='';
+		}
+	} else {
+		GetE('chkPLThumbs').disabled=true;
+		GetE('chkPLThumbs').checked=false;
+		GetE('txtPLDim').value = "";
+		GetE('txtPLDim').disabled=true;
+		GetE('txtPLDim').style.background='transparent';
+		GetE('spanDimText').style.display='';
+		GetE('spanDimWText').style.display='none';
+		GetE('spanDimHText').style.display='none';
+	}
+}
+
+
+function LoadSelection()
+{
+	oMedia = new Media();
+	oMedia = getSelectedMovie();
+	//alert('test');
+/*	
+	alert (
+		"id: " + oMedia.id +
+		"\nUrl: " + oMedia.url + 
+		"\nWidth: " + oMedia.width +
+		"\nHeight: " + oMedia.height +
+		"\nQuality: " + oMedia.quality +
+		"\nScale: " + oMedia.scale +
+		"\nVSpace: " + oMedia.vspace +
+		"\nHSpace: " + oMedia.hspace +
+		"\nAlign: " + oMedia.align +
+		"\nBgcolor: " + oMedia.bgcolor +
+		"\nLoop: " + oMedia.loop +
+		"\nPlay: " + oMedia.play
+	);
+*/
+	GetE('rbFileType').value	= oMedia.fileType;
+	GetE('txtURL').value    	= oMedia.url;
+	GetE('txtPlaylist').value   = oMedia.purl;
+	GetE('txtImgURL').value    	= oMedia.iurl;
+	GetE('txtWMURL').value    	= oMedia.wmurl;
+	GetE('txtWidth').value		= oMedia.width;
+	GetE('txtHeight').value		= oMedia.height;
+	GetE('chkLoop').checked		= oMedia.loop;
+	GetE('chkAutoplay').checked	= oMedia.play;
+	GetE('chkDownload').checked 	= oMedia.downloadable;
+	GetE('chkFullscreen').checked	= oMedia.fullscreen;
+	GetE('txtBgColor').value	= oMedia.bgcolor;
+	GetE('txtToolbarColor').value	= oMedia.toolcolor;
+	GetE('txtToolbarTxtColor').value	= oMedia.tooltcolor;
+	GetE('txtToolbarTxtRColor').value	= oMedia.tooltrcolor;
+	GetE('chkShowNavigation').checked	= oMedia.displayNavigation;
+	GetE('chkShowDigits').checked	= oMedia.displayDigits;
+	GetE('selAlign').value		= oMedia.align;
+	GetE('selDispPlaylist').value = oMedia.dispPlaylist;
+	GetE('txtRURL').value = oMedia.rurl;
+	GetE('txtPLDim').value = oMedia.playlistDim;
+	GetE('chkPLThumbs').checked = oMedia.playlistThumbs;
+
+	//updatePreview();
+}
+
+//#### The OK button was hit.
+function Ok()
+{
+	var rbFileTypeVal = "single";
+	if (GetE('rbFileType').checked == false) {
+		rbFileTypeVal = "list";
+	}
+
+	if ( rbFileTypeVal == "single") {
+		if ( GetE('txtURL').value.length == 0 )
+		{
+			GetE('txtURL').focus() ;	
+
+			alert( oEditor.FCKLang.DlgFLVPlayerAlertUrl ) ;
+			return false ;
+		}
+	}
+
+	if (rbFileTypeVal == "list") {
+		if ( GetE('txtPlaylist').value.length == 0 )
+		{
+			GetE('txtPlaylist').focus() ;	
+
+			alert( oEditor.FCKLang.DlgFLVPlayerAlertPlaylist ) ;
+			return false ;
+		}
+	}
+
+
+	if ( GetE('txtWidth').value.length == 0 )
+	{
+		GetE('txtWidth').focus() ;	
+
+		alert( oEditor.FCKLang.DlgFLVPlayerAlertWidth ) ;
+		return false ;
+	}
+
+	if ( GetE('txtHeight').value.length == 0 )
+	{
+		GetE('txtHeight').focus() ;	
+
+		alert( oEditor.FCKLang.DlgFLVPlayerAlertHeight ) ;
+		return false ;
+	}
+
+
+	var e = (oMedia || new Media()) ;
+
+	updateMovie(e) ;
+
+	// Replace or insert?
+	if (!is_new_flvplayer) {
+		// Find parent..
+	        oSel = FCK.Selection.GetParentElement();
+		while (oSel != null && !oSel.id.match(/^player[0-9]*-parent$/)) {
+			oSel=oSel.parentNode;
+		}
+		// Found - So replace
+		if (oSel != null) {
+			oSel.parentNode.removeChild(oSel);
+			FCK.InsertHtml(e.getInnerHTML());
+		}
+	} else {
+		FCK.InsertHtml(e.getInnerHTML());
+	}
+
+	return true ;
+}
+
+
+function updateMovie(e){
+	e.fileType = GetE('rbFileType').value;
+	e.url = GetE('txtURL').value;
+	e.purl = GetE('txtPlaylist').value;
+	e.iurl = GetE('txtImgURL').value;
+	e.wmurl = GetE('txtWMURL').value;
+	e.bgcolor = GetE('txtBgColor').value;
+	e.toolcolor = GetE('txtToolbarColor').value;
+	e.tooltcolor = GetE('txtToolbarTxtColor').value;
+	e.tooltrcolor = GetE('txtToolbarTxtRColor').value;
+	e.width = (isNaN(GetE('txtWidth').value)) ? 0 : parseInt(GetE('txtWidth').value);
+	e.height = (isNaN(GetE('txtHeight').value)) ? 0 : parseInt(GetE('txtHeight').value);
+	e.loop = (GetE('chkLoop').checked) ? 'true' : 'false';
+	e.play = (GetE('chkAutoplay').checked) ? 'true' : 'false';
+	e.downloadable = (GetE('chkDownload').checked) ? 'true' : 'false';
+	e.fullscreen = (GetE('chkFullscreen').checked) ? 'true' : 'false';
+	e.displayNavigation = (GetE('chkShowNavigation').checked) ? 'true' : 'false';
+	e.displayDigits = (GetE('chkShowDigits').checked) ? 'true' : 'false';
+	e.align =	GetE('selAlign').value;
+	e.dispPlaylist =	GetE('selDispPlaylist').value;
+	e.rurl = GetE('txtRURL').value;
+	e.playlistDim = GetE('txtPLDim').value;
+	e.playlistThumbs = (GetE('chkPLThumbs').checked) ? 'true' : 'false';
+}
+
+
+function BrowseServer()
+{
+	OpenServerBrowser(
+		'flv',
+		oEditor.FCKConfig.MediaBrowserURL,
+		oEditor.FCKConfig.MediaBrowserWindowWidth,
+		oEditor.FCKConfig.MediaBrowserWindowHeight ) ;
+}
+
+
+function LnkBrowseServer()
+{
+	OpenServerBrowser(
+		'link',
+		oEditor.FCKConfig.LinkBrowserURL,
+		oEditor.FCKConfig.LinkBrowserWindowWidth,
+		oEditor.FCKConfig.LinkBrowserWindowHeight ) ;
+}
+
+function Lnk2BrowseServer()
+{
+	OpenServerBrowser(
+		'link2',
+		oEditor.FCKConfig.LinkBrowserURL,
+		oEditor.FCKConfig.LinkBrowserWindowWidth,
+		oEditor.FCKConfig.LinkBrowserWindowHeight ) ;
+}
+
+function img1BrowseServer()
+{
+	OpenServerBrowser(
+		'img1',
+		oEditor.FCKConfig.ImageBrowserURL,
+		oEditor.FCKConfig.ImageBrowserWindowWidth,
+		oEditor.FCKConfig.ImageBrowserWindowHeight ) ;
+}
+
+function img2BrowseServer()
+{
+	OpenServerBrowser(
+		'img2',
+		oEditor.FCKConfig.ImageBrowserURL,
+		oEditor.FCKConfig.ImageBrowserWindowWidth,
+		oEditor.FCKConfig.ImageBrowserWindowHeight ) ;
+}
+
+
+function OpenServerBrowser( type, url, width, height )
+{
+	sActualBrowser = type ;
+	OpenFileBrowser( url, width, height ) ;
+}
+
+var sActualBrowser ;
+
+
+function SetUrl( url ) {
+	if ( sActualBrowser == 'flv' ) {
+		document.getElementById('txtURL').value = url ;
+		GetE('txtHeight').value = GetE('txtWidth').value = '' ;
+	} else if ( sActualBrowser == 'link' ) {
+		document.getElementById('txtPlaylist').value = url ;
+	} else if ( sActualBrowser == 'link2' ) {
+		document.getElementById('txtRURL').value = url ;
+	} else if ( sActualBrowser == 'img1' ) {
+		document.getElementById('txtImgURL').value = url ;
+	} else if ( sActualBrowser == 'img2' ) {
+		document.getElementById('txtWMURL').value = url ;
+	}
+}
+
+
+
+
+var Media = function (o){
+	this.fileType = '';
+	this.url = '';
+	this.purl = '';
+	this.iurl = '';
+	this.wmurl = '';
+	this.width = '';
+	this.height = '';
+	this.loop = '';
+	this.play = '';
+	this.downloadable = '';
+	this.fullscreen = true;
+	this.bgcolor = '';
+	this.toolcolor = '';
+	this.tooltcolor = '';
+	this.tooltrcolor = '';
+	this.displayNavigation = true;
+	this.displayDigits = true;
+	this.align = '';
+	this.dispPlaylist = '';
+	this.rurl = '';
+	this.playlistDim = '';
+	this.playlistThumbs = '';
+
+	if (o) 
+		this.setObjectElement(o);
+};
+
+Media.prototype.setObjectElement = function (e){
+	if (!e) return ;
+	this.width = GetAttribute( e, 'width', this.width );
+	this.height = GetAttribute( e, 'height', this.height );
+};
+
+Media.prototype.setAttribute = function(attr, val) {
+	if (val=="true") {
+		this[attr]=true;
+	} else if (val=="false") {
+		this[attr]=false;
+	} else {
+		this[attr]=val;
+	}
+};
+
+Media.prototype.getInnerHTML = function (objectId){
+	var randomnumber = Math.floor(Math.random()*1000001);
+	var thisWidth = this.width;
+	var thisHeight = this.height;
+
+	var thisMediaType = "single";
+	if (GetE('rbFileType').checked == false) {
+		thisMediaType = "mpl";
+	}
+
+	// Align
+	var cssalign='';
+	var cssfloat='';
+	if (this.align=="center") {
+		cssalign='margin-left: auto;margin-right: auto;';
+	} else if (this.align=="right") {
+		cssfloat='float: right;';
+	} else if (this.align=="left") {
+		cssfloat='float: left;';
+	}
+
+	var s = "";
+	//s+= '<p>\n';
+	s+= '<div id="player' + randomnumber + '-parent" style="text-align: center;' + cssfloat + '">\n';
+	s+= '<div style="border-style: none; height: ' + thisHeight + 'px; width: ' + thisWidth + 'px; overflow: hidden; background-color: rgb(220, 220, 220); background-image: url(' + oEditor.FCKConfig.PluginsPath + 'flvPlayer/flvPlayer.gif); background-repeat:no-repeat; background-position:center;' + cssalign + '">';
+	s+= '<script src="' + oEditor.FCKConfig.PluginsPath + 'flvPlayer/swfobject.js" type="text/javascript"></script>\n';
+	s+= '<div id="player' + randomnumber + '">';
+	s+= '<a href="http://www.macromedia.com/go/getflashplayer">Get the Flash Player</a> to see this player.';
+	// Moved after info - Added width,height,overflow for MSIE7
+	s+= '<div id="player' + randomnumber + '-config" style="display: none;visibility: hidden;width: 0px;height:0px;overflow: hidden;">';
+	// Save settings
+	for (var i in this) {
+		if (!i || !this[i]) continue;
+	        if (!i.match(/(set|get)/)) {
+        	        s+=i+"="+this[i]+" ";
+        	}
+	}
+	s+= '</div>';
+	s+= '</div>';
+	s+= '<script type="text/javascript">\n';
+	//s+= '	//NOTE: FOR LIST OF POSSIBLE SETTINGS GOTO http://www.jeroenwijering.com/extras/readme.html\n';
+	s+= '	var s1 = new SWFObject("' + oEditor.FCKConfig.PluginsPath + 'flvPlayer/mediaplayer.swf","' + thisMediaType + '","' + thisWidth + '","' + thisHeight + '","7");\n';
+	s+= '	s1.addVariable("width","' + thisWidth + '");\n';
+	s+= '	s1.addVariable("height","' + thisHeight + '");\n';
+	s+= '	s1.addVariable("autostart","' + this.play + '");\n';
+
+	if (thisMediaType == 'mpl') {
+		s+= '	s1.addVariable("file","' + this.purl + '");\n';
+		s+= '	s1.addVariable("autoscroll","true");\n';
+		s+= '	s1.addParam("allowscriptaccess","always");\n';
+
+		var dispWidth = thisWidth
+		var dispHeight = thisHeight
+		var dispThumbs = false
+
+		if (this.dispPlaylist != "none") {
+			if (this.dispPlaylist == "right") {
+
+				if (this.playlistDim.length > 0) {
+					dispWidth = thisWidth - this.playlistDim
+					if (this.playlistDim < 100) {
+						dispThumbs = false
+					} else {
+						dispThumbs = true
+					}
+				} else {
+					if (thisWidth >= 550) {
+						dispWidth = thisWidth - 200
+						dispThumbs = true
+					} else if (thisWidth >= 450) {
+						dispWidth = thisWidth - 100
+						dispThumbs = false
+					} else if (thisWidth >= 350) {
+						dispWidth = thisWidth - 50
+						dispThumbs = false
+					}
+				}
+
+				s+= '	s1.addVariable("displaywidth","' + dispWidth + '");\n';
+			} else if (this.dispPlaylist == "below") {
+				dispThumbs = true
+				
+				if (this.playlistDim.length > 0) {
+					dispHeight = thisWidth - this.playlistDim
+				} else {
+					if (thisHeight >= 550) {
+						dispHeight = thisWidth - 200
+					} else if (thisHeight >= 450) {
+						dispHeight = thisHeight - 150
+					} else if (thisHeight >= 350) {
+						dispHeight = thisHeight - 100
+					}
+				}
+
+				s+= '	s1.addVariable("displayheight","' + dispHeight + '");\n';
+			}
+
+			if (this.playlistThumbs == "false") {
+				dispThumbs = false;
+			}
+				
+			s+= '	s1.addVariable("thumbsinplaylist","' + dispThumbs + '");\n';
+		}
+
+		s+= '	s1.addVariable("shuffle","false");\n';
+		if (this.loop == true) {
+			s+= '	s1.addVariable("repeat","list");\n';
+		} else {
+			s+= '	s1.addVariable("repeat","' + this.loop + '");\n';
+		}
+		s+= '	//s1.addVariable("transition","bgfade");\n';
+	} else {
+		s+= '	s1.addVariable("file","' + this.url + '");\n';
+		s+= '	s1.addVariable("repeat","' + this.loop + '");\n';
+		s+= '	s1.addVariable("image","' + this.iurl + '");\n';
+	}
+
+	s+= '	s1.addVariable("showdownload","' + this.downloadable + '");\n';
+	s+= '	s1.addVariable("link","' + this.url + '");\n';
+	s+= '	s1.addParam("allowfullscreen","' + this.fullscreen + '");\n';
+	s+= '	s1.addVariable("showdigits","' + this.displayDigits + '");\n';
+	s+= '	s1.addVariable("shownavigation","' + this.displayNavigation + '");\n';
+
+	// SET THE COLOR OF THE TOOLBAR
+	var colorChoice1 = this.toolcolor
+	if (colorChoice1.length > 0) {
+		colorChoice1 = colorChoice1.replace("#","0x")
+		s+= '	s1.addVariable("backcolor","' + colorChoice1 + '");\n';
+	}
+	// SET THE COLOR OF THE TOOLBARS TEXT AND BUTTONS
+	var colorChoice2 = this.tooltcolor
+	if (colorChoice2.length > 0) {
+		colorChoice2 = colorChoice2.replace("#","0x")
+		s+= '	s1.addVariable("frontcolor","' + colorChoice2 + '");\n';
+	}
+	//SET COLOR OF ROLLOVER TEXT AND BUTTONS
+	var colorChoice3 = this.tooltrcolor
+	if (colorChoice3.length > 0) {
+		colorChoice3 = colorChoice3.replace("#","0x")
+		s+= '	s1.addVariable("lightcolor","' + colorChoice3 + '");\n';
+	}
+	//SET COLOR OF BACKGROUND
+	var colorChoice4 = this.bgcolor
+	if (colorChoice4.length > 0) {
+		colorChoice4 = colorChoice4.replace("#","0x")
+		s+= '	s1.addVariable("screencolor","' + colorChoice4 + '");\n';
+	}
+
+	s+= '	s1.addVariable("logo","' + this.wmurl + '");\n';
+	if (this.rurl.length > 0) {
+		s+= '	s1.addVariable("recommendations","' + this.rurl + '");\n';
+	}
+
+	//s+= '	//s1.addVariable("largecontrols","true");\n';
+	//s+= '	//s1.addVariable("bufferlength","3");\n';
+	//s+= '	//s1.addVariable("audio","http://www.jeroenwijering.com/extras/readme.html");\n';
+
+	s+= '	s1.write("player' + randomnumber + '");\n';
+	s+= '</script>\n';
+	s+= '</div>\n';
+	s+= '</div>\n';
+	//s+= '</p>\n';
+
+	return s;
+};
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+function SelectColor1()
+{
+	oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', oEditor.FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, SelectBackColor, window ) ;
+}
+
+function SelectColor2()
+{
+	oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', oEditor.FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, SelectToolColor, window ) ;
+}
+
+function SelectColor3()
+{
+	oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', oEditor.FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, SelectToolTextColor, window ) ;
+}
+
+function SelectColor4()
+{
+	oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', oEditor.FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, SelectToolTextRColor, window ) ;
+}
+
+function SelectBackColor( color )
+{
+	if ( color && color.length > 0 ) {
+		GetE('txtBgColor').value = color ;
+		//updatePreview()
+	}
+}
+
+function SelectToolColor( color )
+{
+	if ( color && color.length > 0 ) {
+		GetE('txtToolbarColor').value = color ;
+		//updatePreview()
+	}
+}
+
+function SelectToolTextColor( color )
+{
+	if ( color && color.length > 0 ) {
+		GetE('txtToolbarTxtColor').value = color ;
+		//updatePreview()
+	}
+}
+
+function SelectToolTextRColor( color )
+{
+	if ( color && color.length > 0 ) {
+		GetE('txtToolbarTxtRColor').value = color ;
+		//updatePreview()
+	}
+}
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/mediaplayer.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/mediaplayer.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/mediaplayer.html	(revision 1481)
@@ -0,0 +1,46 @@
+<html>
+<head>
+<style type="text/css">
+	body { background-color: #fff; padding: 0 50px; color:#000; font: 13px/18px Arial, sans-serif; }
+	a { color: #069; }
+	h3 { padding-top: 50px; }
+	ol { margin:5px 0 15px 16px; padding:0; list-style-type:square; }
+</style>
+</head>
+<body>
+
+
+<h3>Example</h3>
+<p>Here's a simple example of the mediaplayer embedded in a page. Copy-paste the code to get started.</p>
+
+
+
+<div id="container"><a href="http://www.macromedia.com/go/getflashplayer">Get the Flash Player</a> to see this player.</div>
+<script type="text/javascript" src="swfobject.js"></script>
+<script type="text/javascript">
+	var s1 = new SWFObject("mediaplayer.swf","mediaplayer","300","170","7");
+	s1.addParam("allowfullscreen","true");
+	s1.addVariable("width","300");
+	s1.addVariable("height","170");
+	s1.addVariable("file","video.flv");
+	s1.addVariable("image","video.jpg");
+	s1.write("container");
+</script>
+
+
+
+<h3 id="documentation">Documentation</h3>
+<p>The easiest way to get going with the mediaplayer is <a href="http://www.jeroenwijering.com/?page=wizard" title="the flv mp3 media player wizard">by using the setup wizard</a>. Select an example, set the file or playlist you want to play and copy-paste the embed code to your site! If you want to learn more, here's the complete documentation:</p>
+<ol>
+<li>All <a href="http://www.jeroenwijering.com/?item=Supported_Flashvars" title="All Flashvars supported by the FLV Media Player">supported flashvars</a> (variables) you can set to customize the mediaplayer.</li>
+<li>All <a href="http://www.jeroenwijering.com/?item=Supported_Playlists" title="All playlist formats by the FLV Media Player">supported playlist formats</a> you can use, plus some implementation info.</li>
+<li>A large list <a href="http://www.jeroenwijering.com/?item=Third_Party_Plugins" title="WordPress, Joomla, Drupal, CMS Plugins">of all third-party plugins</a> for the mediaplayer.<br/>&nbsp;</li>
+<li>A tutorial on <a href="http://www.jeroenwijering.com/?item=Embedding_Flash" title="embedding Flash"> embedding the mediaplayer</a> in your site.</li>
+<li>A tutorial with <a href="http://www.jeroenwijering.com/?item=Javascript_interaction" title="Javascript interaction">all functions of the javascript API</a>.</li>
+<li>A tutorial on <a href="http://www.jeroenwijering.com/?item=Making_Video_Accessible" title="W3C video Accessibility and the player">adding captions and an audiodescription</a> (accessibility).</li>
+</ol>
+
+
+
+</body>
+</html>
\ No newline at end of file
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/readme.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/readme.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/readme.html	(revision 1481)
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+<title>Untitled Document</title>
+<style type="text/css">
+<!--
+.style1 {color: #FF6600}
+.style3 {color: #333399}
+body {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 12px;
+}
+-->
+</style>
+</head>
+
+<body>
+<h1>flvPlayer - A plugin for FCKeditor</h1>
+<h3>Overview</h3>
+<blockquote>
+  <p>The flvPlayer plugin allows you to add and configure a small media player that playes flv and mp3's.</p>
+</blockquote>
+<h3>Installation and Configuration </h3>
+<ol>
+  <li>Unzip the files into the plugins folder.</li>
+  <li>Configure the editor to see the plugin. In your editor configuration file, add the line below:<br />
+    <br />
+    <span class="style1">FCKConfig.Plugins.Add( 'flvPlayer','en') ;</span><br />
+  <br />
+  </li>
+  <li>Add the toolbar button to your preferred menu.<br />
+    <br />
+    <span class="style1">FCKConfig.ToolbarSets[    &quot;Default&quot;] = [<br />
+    ['Source','DocProps','-','Save','NewPage','Preview','-','Templates',<span class="style3">'flvPlayer'</span>],</span><br />
+    <br />
+  </li>
+  <li>Save and upload your configuration file. If all goes well, you should see the flvPlayer icon <img src="flvPlayer.gif" alt="flvPlayer" width="16" height="16" />on your toolbar. </li>
+</ol>
+<p>&nbsp; </p>
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/lang/ru.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/lang/ru.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/lang/ru.js	(revision 1481)
@@ -0,0 +1,45 @@
+ï»¿// FLV Player Dialog
+FCKLang["DlgFLVPlayerTitle"]          = "FLV Media Player";
+FCKLang["DlgFLVPlayerURL"]            = "Movie/Media File" ;
+FCKLang["DlgFLVPlayerBtnBrowse"]      = "Browse..." ;
+FCKLang["DlgFLVPlayerImgURL"]         = "Preview Image" ;
+FCKLang["DlgFLVPlayerWidth"]          = "Player Width (px)" ;
+FCKLang["DlgFLVPlayerHeight"]         = "Player Height (px)" ;
+FCKLang["DlgFLVPlayerAlign"]          = "Player Alignment" ;
+FCKLang["DlgFLVPlayerAlignLeft"]      = "Left" ;
+FCKLang["DlgFLVPlayerAlignRight"]     = "Right" ;
+FCKLang["DlgFLVPlayerAlignCenter"]    = "Center" ;
+FCKLang["DlgFLVPlayerHSpace"]         = "HSpace" ;
+FCKLang["DlgFLVPlayerVSpace"]         = "VSpace" ;
+FCKLang["DlgFLVPlayerBgColor"]        = "Background Color"
+FCKLang["DlgFLVPlayerTBColor"]        = "Toolbar Color"
+FCKLang["DlgFLVPlayerTBTColor"]       = "Text Color"
+FCKLang["DlgFLVPlayerTBTRColor"]      = "Rollover Text Color"
+FCKLang["DlgFLVPlayerBtnSelect"]      = "Select..."
+FCKLang["DlgFLVPlayerAutoplay"]       = "Autoplay" ;
+FCKLang["DlgFLVPlayerLoop"]           = "Loop" ;
+FCKLang["DlgFLVPlayerDownload"]       = "Downloadable" ;
+FCKLang["DlgFLVPlayerFullscreen"]     = "Allow Fullscreen" ;
+FCKLang["DlgFLVPlayerAlertUrl"]       = "Please input the URL"
+FCKLang["DlgFLVPlayerAlertPlaylist"]  = "Please input the Playlist URL"
+FCKLang["DlgFLVPlayerAlertWidth"]     = "Please input the Width"
+FCKLang["DlgFLVPlayerAlertHeight"]    = "Please input the Height"
+FCKLang["DlgFLVPlayerPlayerAttrs"]    = "Player Attributes"
+FCKLang["DlgFLVPlayerMovieAttrs"]     = "Media Attributes"
+FCKLang["DlgFLVPlayerShowNavigation"] = "Display Navigation"
+FCKLang["DlgFLVPlayerShowDigits"]     = "Display Time"
+FCKLang["DlgFLVPlayerWatermarkURL"]   = "Watermark Image"
+FCKLang["DlgFLVPlayerFileType"]		  = "File Type"
+FCKLang["DlgFLVPlayerSingleFile"]     = "Single Media File"
+FCKLang["DlgFLVPlayerPlaylistFile"]   = "Media Playlist"
+FCKLang["DlgFLVPlayerPlaylistURL"]    = "Playlist URL"
+FCKLang["DlgFLVPlayerDispPlaylist"]   = "Display Playlist"
+FCKLang["DlgFLVPlayerDispPLNone"]     = "Do Not Display"
+FCKLang["DlgFLVPlayerDispPLRight"]    = "Display On Right"
+FCKLang["DlgFLVPlayerDispPLBelow"]    = "Display Below"
+FCKLang["DlgFLVPlayerRecommendURL"]   = "Recommendations List"
+FCKLang["DlgFLVPlaylistWidth"]        = "Playlist Width (px)"
+FCKLang["DlgFLVPlaylistHeight"]       = "Playlist Height (px)"
+FCKLang["DlgFLVPlaylistDimText"]      = "Playlist Dimension"
+FCKLang["DlgFLVPlayerPLThumbs"]       = "Display Thumbnails in Playlist"
+
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/lang/fr.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/lang/fr.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/lang/fr.js	(revision 1481)
@@ -0,0 +1,45 @@
+ï»¿// FLV Player Dialog
+FCKLang["DlgFLVPlayerTitle"]          = "FLV Media Player";
+FCKLang["DlgFLVPlayerURL"]            = "Movie/Media File" ;
+FCKLang["DlgFLVPlayerBtnBrowse"]      = "Browse..." ;
+FCKLang["DlgFLVPlayerImgURL"]         = "Preview Image" ;
+FCKLang["DlgFLVPlayerWidth"]          = "Player Width (px)" ;
+FCKLang["DlgFLVPlayerHeight"]         = "Player Height (px)" ;
+FCKLang["DlgFLVPlayerAlign"]          = "Player Alignment" ;
+FCKLang["DlgFLVPlayerAlignLeft"]      = "Left" ;
+FCKLang["DlgFLVPlayerAlignRight"]     = "Right" ;
+FCKLang["DlgFLVPlayerAlignCenter"]    = "Center" ;
+FCKLang["DlgFLVPlayerHSpace"]         = "HSpace" ;
+FCKLang["DlgFLVPlayerVSpace"]         = "VSpace" ;
+FCKLang["DlgFLVPlayerBgColor"]        = "Background Color"
+FCKLang["DlgFLVPlayerTBColor"]        = "Toolbar Color"
+FCKLang["DlgFLVPlayerTBTColor"]       = "Text Color"
+FCKLang["DlgFLVPlayerTBTRColor"]      = "Rollover Text Color"
+FCKLang["DlgFLVPlayerBtnSelect"]      = "Select..."
+FCKLang["DlgFLVPlayerAutoplay"]       = "Autoplay" ;
+FCKLang["DlgFLVPlayerLoop"]           = "Loop" ;
+FCKLang["DlgFLVPlayerDownload"]       = "Downloadable" ;
+FCKLang["DlgFLVPlayerFullscreen"]     = "Allow Fullscreen" ;
+FCKLang["DlgFLVPlayerAlertUrl"]       = "Please input the URL"
+FCKLang["DlgFLVPlayerAlertPlaylist"]  = "Please input the Playlist URL"
+FCKLang["DlgFLVPlayerAlertWidth"]     = "Please input the Width"
+FCKLang["DlgFLVPlayerAlertHeight"]    = "Please input the Height"
+FCKLang["DlgFLVPlayerPlayerAttrs"]    = "Player Attributes"
+FCKLang["DlgFLVPlayerMovieAttrs"]     = "Media Attributes"
+FCKLang["DlgFLVPlayerShowNavigation"] = "Display Navigation"
+FCKLang["DlgFLVPlayerShowDigits"]     = "Display Time"
+FCKLang["DlgFLVPlayerWatermarkURL"]   = "Watermark Image"
+FCKLang["DlgFLVPlayerFileType"]		  = "File Type"
+FCKLang["DlgFLVPlayerSingleFile"]     = "Single Media File"
+FCKLang["DlgFLVPlayerPlaylistFile"]   = "Media Playlist"
+FCKLang["DlgFLVPlayerPlaylistURL"]    = "Playlist URL"
+FCKLang["DlgFLVPlayerDispPlaylist"]   = "Display Playlist"
+FCKLang["DlgFLVPlayerDispPLNone"]     = "Do Not Display"
+FCKLang["DlgFLVPlayerDispPLRight"]    = "Display On Right"
+FCKLang["DlgFLVPlayerDispPLBelow"]    = "Display Below"
+FCKLang["DlgFLVPlayerRecommendURL"]   = "Recommendations List"
+FCKLang["DlgFLVPlaylistWidth"]        = "Playlist Width (px)"
+FCKLang["DlgFLVPlaylistHeight"]       = "Playlist Height (px)"
+FCKLang["DlgFLVPlaylistDimText"]      = "Playlist Dimension"
+FCKLang["DlgFLVPlayerPLThumbs"]       = "Display Thumbnails in Playlist"
+
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/lang/de.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/lang/de.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/lang/de.js	(revision 1481)
@@ -0,0 +1,45 @@
+ï»¿// FLV Player Dialog
+FCKLang["DlgFLVPlayerTitle"]          = "FLV Media Player";
+FCKLang["DlgFLVPlayerURL"]            = "Movie/Media File" ;
+FCKLang["DlgFLVPlayerBtnBrowse"]      = "Browse..." ;
+FCKLang["DlgFLVPlayerImgURL"]         = "Preview Image" ;
+FCKLang["DlgFLVPlayerWidth"]          = "Player Width (px)" ;
+FCKLang["DlgFLVPlayerHeight"]         = "Player Height (px)" ;
+FCKLang["DlgFLVPlayerAlign"]          = "Player Alignment" ;
+FCKLang["DlgFLVPlayerAlignLeft"]      = "Left" ;
+FCKLang["DlgFLVPlayerAlignRight"]     = "Right" ;
+FCKLang["DlgFLVPlayerAlignCenter"]    = "Center" ;
+FCKLang["DlgFLVPlayerHSpace"]         = "HSpace" ;
+FCKLang["DlgFLVPlayerVSpace"]         = "VSpace" ;
+FCKLang["DlgFLVPlayerBgColor"]        = "Background Color"
+FCKLang["DlgFLVPlayerTBColor"]        = "Toolbar Color"
+FCKLang["DlgFLVPlayerTBTColor"]       = "Text Color"
+FCKLang["DlgFLVPlayerTBTRColor"]      = "Rollover Text Color"
+FCKLang["DlgFLVPlayerBtnSelect"]      = "Select..."
+FCKLang["DlgFLVPlayerAutoplay"]       = "Autoplay" ;
+FCKLang["DlgFLVPlayerLoop"]           = "Loop" ;
+FCKLang["DlgFLVPlayerDownload"]       = "Downloadable" ;
+FCKLang["DlgFLVPlayerFullscreen"]     = "Allow Fullscreen" ;
+FCKLang["DlgFLVPlayerAlertUrl"]       = "Please input the URL"
+FCKLang["DlgFLVPlayerAlertPlaylist"]  = "Please input the Playlist URL"
+FCKLang["DlgFLVPlayerAlertWidth"]     = "Please input the Width"
+FCKLang["DlgFLVPlayerAlertHeight"]    = "Please input the Height"
+FCKLang["DlgFLVPlayerPlayerAttrs"]    = "Player Attributes"
+FCKLang["DlgFLVPlayerMovieAttrs"]     = "Media Attributes"
+FCKLang["DlgFLVPlayerShowNavigation"] = "Display Navigation"
+FCKLang["DlgFLVPlayerShowDigits"]     = "Display Time"
+FCKLang["DlgFLVPlayerWatermarkURL"]   = "Watermark Image"
+FCKLang["DlgFLVPlayerFileType"]		  = "File Type"
+FCKLang["DlgFLVPlayerSingleFile"]     = "Single Media File"
+FCKLang["DlgFLVPlayerPlaylistFile"]   = "Media Playlist"
+FCKLang["DlgFLVPlayerPlaylistURL"]    = "Playlist URL"
+FCKLang["DlgFLVPlayerDispPlaylist"]   = "Display Playlist"
+FCKLang["DlgFLVPlayerDispPLNone"]     = "Do Not Display"
+FCKLang["DlgFLVPlayerDispPLRight"]    = "Display On Right"
+FCKLang["DlgFLVPlayerDispPLBelow"]    = "Display Below"
+FCKLang["DlgFLVPlayerRecommendURL"]   = "Recommendations List"
+FCKLang["DlgFLVPlaylistWidth"]        = "Playlist Width (px)"
+FCKLang["DlgFLVPlaylistHeight"]       = "Playlist Height (px)"
+FCKLang["DlgFLVPlaylistDimText"]      = "Playlist Dimension"
+FCKLang["DlgFLVPlayerPLThumbs"]       = "Display Thumbnails in Playlist"
+
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/lang/sv.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/lang/sv.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/lang/sv.js	(revision 1481)
@@ -0,0 +1,45 @@
+ï»¿// FLV Player Dialog
+FCKLang["DlgFLVPlayerTitle"]          = "FLV Media Player";
+FCKLang["DlgFLVPlayerURL"]            = "Movie/Media File" ;
+FCKLang["DlgFLVPlayerBtnBrowse"]      = "Browse..." ;
+FCKLang["DlgFLVPlayerImgURL"]         = "Preview Image" ;
+FCKLang["DlgFLVPlayerWidth"]          = "Player Width (px)" ;
+FCKLang["DlgFLVPlayerHeight"]         = "Player Height (px)" ;
+FCKLang["DlgFLVPlayerAlign"]          = "Player Alignment" ;
+FCKLang["DlgFLVPlayerAlignLeft"]      = "Left" ;
+FCKLang["DlgFLVPlayerAlignRight"]     = "Right" ;
+FCKLang["DlgFLVPlayerAlignCenter"]    = "Center" ;
+FCKLang["DlgFLVPlayerHSpace"]         = "HSpace" ;
+FCKLang["DlgFLVPlayerVSpace"]         = "VSpace" ;
+FCKLang["DlgFLVPlayerBgColor"]        = "Background Color"
+FCKLang["DlgFLVPlayerTBColor"]        = "Toolbar Color"
+FCKLang["DlgFLVPlayerTBTColor"]       = "Text Color"
+FCKLang["DlgFLVPlayerTBTRColor"]      = "Rollover Text Color"
+FCKLang["DlgFLVPlayerBtnSelect"]      = "Select..."
+FCKLang["DlgFLVPlayerAutoplay"]       = "Autoplay" ;
+FCKLang["DlgFLVPlayerLoop"]           = "Loop" ;
+FCKLang["DlgFLVPlayerDownload"]       = "Downloadable" ;
+FCKLang["DlgFLVPlayerFullscreen"]     = "Allow Fullscreen" ;
+FCKLang["DlgFLVPlayerAlertUrl"]       = "Please input the URL"
+FCKLang["DlgFLVPlayerAlertPlaylist"]  = "Please input the Playlist URL"
+FCKLang["DlgFLVPlayerAlertWidth"]     = "Please input the Width"
+FCKLang["DlgFLVPlayerAlertHeight"]    = "Please input the Height"
+FCKLang["DlgFLVPlayerPlayerAttrs"]    = "Player Attributes"
+FCKLang["DlgFLVPlayerMovieAttrs"]     = "Media Attributes"
+FCKLang["DlgFLVPlayerShowNavigation"] = "Display Navigation"
+FCKLang["DlgFLVPlayerShowDigits"]     = "Display Time"
+FCKLang["DlgFLVPlayerWatermarkURL"]   = "Watermark Image"
+FCKLang["DlgFLVPlayerFileType"]		  = "File Type"
+FCKLang["DlgFLVPlayerSingleFile"]     = "Single Media File"
+FCKLang["DlgFLVPlayerPlaylistFile"]   = "Media Playlist"
+FCKLang["DlgFLVPlayerPlaylistURL"]    = "Playlist URL"
+FCKLang["DlgFLVPlayerDispPlaylist"]   = "Display Playlist"
+FCKLang["DlgFLVPlayerDispPLNone"]     = "Do Not Display"
+FCKLang["DlgFLVPlayerDispPLRight"]    = "Display On Right"
+FCKLang["DlgFLVPlayerDispPLBelow"]    = "Display Below"
+FCKLang["DlgFLVPlayerRecommendURL"]   = "Recommendations List"
+FCKLang["DlgFLVPlaylistWidth"]        = "Playlist Width (px)"
+FCKLang["DlgFLVPlaylistHeight"]       = "Playlist Height (px)"
+FCKLang["DlgFLVPlaylistDimText"]      = "Playlist Dimension"
+FCKLang["DlgFLVPlayerPLThumbs"]       = "Display Thumbnails in Playlist"
+
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/lang/ee.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/lang/ee.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/lang/ee.js	(revision 1481)
@@ -0,0 +1,45 @@
+ï»¿// FLV Player Dialog
+FCKLang["DlgFLVPlayerTitle"]          = "FLV Media Player";
+FCKLang["DlgFLVPlayerURL"]            = "Movie/Media File" ;
+FCKLang["DlgFLVPlayerBtnBrowse"]      = "Browse..." ;
+FCKLang["DlgFLVPlayerImgURL"]         = "Preview Image" ;
+FCKLang["DlgFLVPlayerWidth"]          = "Player Width (px)" ;
+FCKLang["DlgFLVPlayerHeight"]         = "Player Height (px)" ;
+FCKLang["DlgFLVPlayerAlign"]          = "Player Alignment" ;
+FCKLang["DlgFLVPlayerAlignLeft"]      = "Left" ;
+FCKLang["DlgFLVPlayerAlignRight"]     = "Right" ;
+FCKLang["DlgFLVPlayerAlignCenter"]    = "Center" ;
+FCKLang["DlgFLVPlayerHSpace"]         = "HSpace" ;
+FCKLang["DlgFLVPlayerVSpace"]         = "VSpace" ;
+FCKLang["DlgFLVPlayerBgColor"]        = "Background Color"
+FCKLang["DlgFLVPlayerTBColor"]        = "Toolbar Color"
+FCKLang["DlgFLVPlayerTBTColor"]       = "Text Color"
+FCKLang["DlgFLVPlayerTBTRColor"]      = "Rollover Text Color"
+FCKLang["DlgFLVPlayerBtnSelect"]      = "Select..."
+FCKLang["DlgFLVPlayerAutoplay"]       = "Autoplay" ;
+FCKLang["DlgFLVPlayerLoop"]           = "Loop" ;
+FCKLang["DlgFLVPlayerDownload"]       = "Downloadable" ;
+FCKLang["DlgFLVPlayerFullscreen"]     = "Allow Fullscreen" ;
+FCKLang["DlgFLVPlayerAlertUrl"]       = "Please input the URL"
+FCKLang["DlgFLVPlayerAlertPlaylist"]  = "Please input the Playlist URL"
+FCKLang["DlgFLVPlayerAlertWidth"]     = "Please input the Width"
+FCKLang["DlgFLVPlayerAlertHeight"]    = "Please input the Height"
+FCKLang["DlgFLVPlayerPlayerAttrs"]    = "Player Attributes"
+FCKLang["DlgFLVPlayerMovieAttrs"]     = "Media Attributes"
+FCKLang["DlgFLVPlayerShowNavigation"] = "Display Navigation"
+FCKLang["DlgFLVPlayerShowDigits"]     = "Display Time"
+FCKLang["DlgFLVPlayerWatermarkURL"]   = "Watermark Image"
+FCKLang["DlgFLVPlayerFileType"]		  = "File Type"
+FCKLang["DlgFLVPlayerSingleFile"]     = "Single Media File"
+FCKLang["DlgFLVPlayerPlaylistFile"]   = "Media Playlist"
+FCKLang["DlgFLVPlayerPlaylistURL"]    = "Playlist URL"
+FCKLang["DlgFLVPlayerDispPlaylist"]   = "Display Playlist"
+FCKLang["DlgFLVPlayerDispPLNone"]     = "Do Not Display"
+FCKLang["DlgFLVPlayerDispPLRight"]    = "Display On Right"
+FCKLang["DlgFLVPlayerDispPLBelow"]    = "Display Below"
+FCKLang["DlgFLVPlayerRecommendURL"]   = "Recommendations List"
+FCKLang["DlgFLVPlaylistWidth"]        = "Playlist Width (px)"
+FCKLang["DlgFLVPlaylistHeight"]       = "Playlist Height (px)"
+FCKLang["DlgFLVPlaylistDimText"]      = "Playlist Dimension"
+FCKLang["DlgFLVPlayerPLThumbs"]       = "Display Thumbnails in Playlist"
+
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/lang/nl.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/lang/nl.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/lang/nl.js	(revision 1481)
@@ -0,0 +1,45 @@
+ï»¿// FLV Player Dialog
+FCKLang["DlgFLVPlayerTitle"]          = "FLV Media Player";
+FCKLang["DlgFLVPlayerURL"]            = "Movie/Media File" ;
+FCKLang["DlgFLVPlayerBtnBrowse"]      = "Browse..." ;
+FCKLang["DlgFLVPlayerImgURL"]         = "Preview Image" ;
+FCKLang["DlgFLVPlayerWidth"]          = "Player Width (px)" ;
+FCKLang["DlgFLVPlayerHeight"]         = "Player Height (px)" ;
+FCKLang["DlgFLVPlayerAlign"]          = "Player Alignment" ;
+FCKLang["DlgFLVPlayerAlignLeft"]      = "Left" ;
+FCKLang["DlgFLVPlayerAlignRight"]     = "Right" ;
+FCKLang["DlgFLVPlayerAlignCenter"]    = "Center" ;
+FCKLang["DlgFLVPlayerHSpace"]         = "HSpace" ;
+FCKLang["DlgFLVPlayerVSpace"]         = "VSpace" ;
+FCKLang["DlgFLVPlayerBgColor"]        = "Background Color"
+FCKLang["DlgFLVPlayerTBColor"]        = "Toolbar Color"
+FCKLang["DlgFLVPlayerTBTColor"]       = "Text Color"
+FCKLang["DlgFLVPlayerTBTRColor"]      = "Rollover Text Color"
+FCKLang["DlgFLVPlayerBtnSelect"]      = "Select..."
+FCKLang["DlgFLVPlayerAutoplay"]       = "Autoplay" ;
+FCKLang["DlgFLVPlayerLoop"]           = "Loop" ;
+FCKLang["DlgFLVPlayerDownload"]       = "Downloadable" ;
+FCKLang["DlgFLVPlayerFullscreen"]     = "Allow Fullscreen" ;
+FCKLang["DlgFLVPlayerAlertUrl"]       = "Please input the URL"
+FCKLang["DlgFLVPlayerAlertPlaylist"]  = "Please input the Playlist URL"
+FCKLang["DlgFLVPlayerAlertWidth"]     = "Please input the Width"
+FCKLang["DlgFLVPlayerAlertHeight"]    = "Please input the Height"
+FCKLang["DlgFLVPlayerPlayerAttrs"]    = "Player Attributes"
+FCKLang["DlgFLVPlayerMovieAttrs"]     = "Media Attributes"
+FCKLang["DlgFLVPlayerShowNavigation"] = "Display Navigation"
+FCKLang["DlgFLVPlayerShowDigits"]     = "Display Time"
+FCKLang["DlgFLVPlayerWatermarkURL"]   = "Watermark Image"
+FCKLang["DlgFLVPlayerFileType"]		  = "File Type"
+FCKLang["DlgFLVPlayerSingleFile"]     = "Single Media File"
+FCKLang["DlgFLVPlayerPlaylistFile"]   = "Media Playlist"
+FCKLang["DlgFLVPlayerPlaylistURL"]    = "Playlist URL"
+FCKLang["DlgFLVPlayerDispPlaylist"]   = "Display Playlist"
+FCKLang["DlgFLVPlayerDispPLNone"]     = "Do Not Display"
+FCKLang["DlgFLVPlayerDispPLRight"]    = "Display On Right"
+FCKLang["DlgFLVPlayerDispPLBelow"]    = "Display Below"
+FCKLang["DlgFLVPlayerRecommendURL"]   = "Recommendations List"
+FCKLang["DlgFLVPlaylistWidth"]        = "Playlist Width (px)"
+FCKLang["DlgFLVPlaylistHeight"]       = "Playlist Height (px)"
+FCKLang["DlgFLVPlaylistDimText"]      = "Playlist Dimension"
+FCKLang["DlgFLVPlayerPLThumbs"]       = "Display Thumbnails in Playlist"
+
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/lang/fi.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/lang/fi.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/lang/fi.js	(revision 1481)
@@ -0,0 +1,45 @@
+ï»¿// FLV Player Dialog
+FCKLang["DlgFLVPlayerTitle"]          = "FLV Mediasoitin";
+FCKLang["DlgFLVPlayerURL"]            = "Video/Media tiedosto" ;
+FCKLang["DlgFLVPlayerBtnBrowse"]      = "Selaa..." ;
+FCKLang["DlgFLVPlayerImgURL"]         = "Esikatselu kuva" ;
+FCKLang["DlgFLVPlayerWidth"]          = "Soittimen leveys (px)" ;
+FCKLang["DlgFLVPlayerHeight"]         = "Soittimen korkeus (px)" ;
+FCKLang["DlgFLVPlayerAlign"]          = "Soittimen kohdistus" ;
+FCKLang["DlgFLVPlayerAlignLeft"]      = "Vasen" ;
+FCKLang["DlgFLVPlayerAlignRight"]     = "Oikea" ;
+FCKLang["DlgFLVPlayerAlignCenter"]    = "Keskitetty" ;
+FCKLang["DlgFLVPlayerHSpace"]         = "Vaakatila" ;
+FCKLang["DlgFLVPlayerVSpace"]         = "Pystytila" ;
+FCKLang["DlgFLVPlayerBgColor"]        = "TaustavÃ¤ri"
+FCKLang["DlgFLVPlayerTBColor"]        = "Toolbar Color"
+FCKLang["DlgFLVPlayerTBTColor"]       = "Tekstin vÃ¤ri"
+FCKLang["DlgFLVPlayerTBTRColor"]      = "Rollover Text Color"
+FCKLang["DlgFLVPlayerBtnSelect"]      = "Valitse..."
+FCKLang["DlgFLVPlayerAutoplay"]       = "Automaattinen toisto" ;
+FCKLang["DlgFLVPlayerLoop"]           = "Jatkuva" ;
+FCKLang["DlgFLVPlayerDownload"]       = "Ladattavissa" ;
+FCKLang["DlgFLVPlayerFullscreen"]     = "Salli koko nÃ¤yttÃ¶tila" ;
+FCKLang["DlgFLVPlayerAlertUrl"]       = "Anna osoite (URL)"
+FCKLang["DlgFLVPlayerAlertPlaylist"]  = "Anna soittolistan osoite (URL)"
+FCKLang["DlgFLVPlayerAlertWidth"]     = "Anna leveys"
+FCKLang["DlgFLVPlayerAlertHeight"]    = "Anna korkeus"
+FCKLang["DlgFLVPlayerPlayerAttrs"]    = "Soittimen asetukset"
+FCKLang["DlgFLVPlayerMovieAttrs"]     = "Media asetukset"
+FCKLang["DlgFLVPlayerShowNavigation"] = "NÃ¤ytÃ¤ navigaatio"
+FCKLang["DlgFLVPlayerShowDigits"]     = "NÃ¤ytÃ¤ aika"
+FCKLang["DlgFLVPlayerWatermarkURL"]   = "Vesileiman kuva"
+FCKLang["DlgFLVPlayerFileType"]	      = "Tiedostotyyppi"
+FCKLang["DlgFLVPlayerSingleFile"]     = "YksittÃ¤inen media tiedosto"
+FCKLang["DlgFLVPlayerPlaylistFile"]   = "Media soittolista"
+FCKLang["DlgFLVPlayerPlaylistURL"]    = "Soittolistan osoite (URL)"
+FCKLang["DlgFLVPlayerDispPlaylist"]   = "NÃ¤ytÃ¤ soittolista"
+FCKLang["DlgFLVPlayerDispPLNone"]     = "Ã„lÃ¤ nÃ¤ytÃ¤"
+FCKLang["DlgFLVPlayerDispPLRight"]    = "NÃ¤ytÃ¤ oikella"
+FCKLang["DlgFLVPlayerDispPLBelow"]    = "NÃ¤ytÃ¤ alla"
+FCKLang["DlgFLVPlayerRecommendURL"]   = "Suosituslista"
+FCKLang["DlgFLVPlaylistWidth"]        = "Soittolistan leveys (px)"
+FCKLang["DlgFLVPlaylistHeight"]       = "Soittolistan korkeus (px)"
+FCKLang["DlgFLVPlaylistDimText"]      = "Soittolistan koko"
+FCKLang["DlgFLVPlayerPLThumbs"]       = "NÃ¤ytÃ¤ esikatselukuva soittolistassa"
+
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/lang/en.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/lang/en.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/lang/en.js	(revision 1481)
@@ -0,0 +1,45 @@
+ï»¿// FLV Player Dialog
+FCKLang["DlgFLVPlayerTitle"]          = "FLV Media Player";
+FCKLang["DlgFLVPlayerURL"]            = "Movie/Media File" ;
+FCKLang["DlgFLVPlayerBtnBrowse"]      = "Browse..." ;
+FCKLang["DlgFLVPlayerImgURL"]         = "Preview Image" ;
+FCKLang["DlgFLVPlayerWidth"]          = "Player Width (px)" ;
+FCKLang["DlgFLVPlayerHeight"]         = "Player Height (px)" ;
+FCKLang["DlgFLVPlayerAlign"]          = "Player Alignment" ;
+FCKLang["DlgFLVPlayerAlignLeft"]      = "Left" ;
+FCKLang["DlgFLVPlayerAlignRight"]     = "Right" ;
+FCKLang["DlgFLVPlayerAlignCenter"]    = "Center" ;
+FCKLang["DlgFLVPlayerHSpace"]         = "HSpace" ;
+FCKLang["DlgFLVPlayerVSpace"]         = "VSpace" ;
+FCKLang["DlgFLVPlayerBgColor"]        = "Background Color"
+FCKLang["DlgFLVPlayerTBColor"]        = "Toolbar Color"
+FCKLang["DlgFLVPlayerTBTColor"]       = "Text Color"
+FCKLang["DlgFLVPlayerTBTRColor"]      = "Rollover Text Color"
+FCKLang["DlgFLVPlayerBtnSelect"]      = "Select..."
+FCKLang["DlgFLVPlayerAutoplay"]       = "Autoplay" ;
+FCKLang["DlgFLVPlayerLoop"]           = "Loop" ;
+FCKLang["DlgFLVPlayerDownload"]       = "Downloadable" ;
+FCKLang["DlgFLVPlayerFullscreen"]     = "Allow Fullscreen" ;
+FCKLang["DlgFLVPlayerAlertUrl"]       = "Please input the URL"
+FCKLang["DlgFLVPlayerAlertPlaylist"]  = "Please input the Playlist URL"
+FCKLang["DlgFLVPlayerAlertWidth"]     = "Please input the Width"
+FCKLang["DlgFLVPlayerAlertHeight"]    = "Please input the Height"
+FCKLang["DlgFLVPlayerPlayerAttrs"]    = "Player Attributes"
+FCKLang["DlgFLVPlayerMovieAttrs"]     = "Media Attributes"
+FCKLang["DlgFLVPlayerShowNavigation"] = "Display Navigation"
+FCKLang["DlgFLVPlayerShowDigits"]     = "Display Time"
+FCKLang["DlgFLVPlayerWatermarkURL"]   = "Watermark Image"
+FCKLang["DlgFLVPlayerFileType"]		  = "File Type"
+FCKLang["DlgFLVPlayerSingleFile"]     = "Single Media File"
+FCKLang["DlgFLVPlayerPlaylistFile"]   = "Media Playlist"
+FCKLang["DlgFLVPlayerPlaylistURL"]    = "Playlist URL"
+FCKLang["DlgFLVPlayerDispPlaylist"]   = "Display Playlist"
+FCKLang["DlgFLVPlayerDispPLNone"]     = "Do Not Display"
+FCKLang["DlgFLVPlayerDispPLRight"]    = "Display On Right"
+FCKLang["DlgFLVPlayerDispPLBelow"]    = "Display Below"
+FCKLang["DlgFLVPlayerRecommendURL"]   = "Recommendations List"
+FCKLang["DlgFLVPlaylistWidth"]        = "Playlist Width (px)"
+FCKLang["DlgFLVPlaylistHeight"]       = "Playlist Height (px)"
+FCKLang["DlgFLVPlaylistDimText"]      = "Playlist Dimension"
+FCKLang["DlgFLVPlayerPLThumbs"]       = "Display Thumbnails in Playlist"
+
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/lang/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/lang/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/lang/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/lang/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+ID
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/lang/br.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/lang/br.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/lang/br.js	(revision 1481)
@@ -0,0 +1,45 @@
+ï»¿// FLV Player Dialog
+FCKLang["DlgFLVPlayerTitle"]          = "FLV Media Player";
+FCKLang["DlgFLVPlayerURL"]            = "Movie/Media File" ;
+FCKLang["DlgFLVPlayerBtnBrowse"]      = "Browse..." ;
+FCKLang["DlgFLVPlayerImgURL"]         = "Preview Image" ;
+FCKLang["DlgFLVPlayerWidth"]          = "Player Width (px)" ;
+FCKLang["DlgFLVPlayerHeight"]         = "Player Height (px)" ;
+FCKLang["DlgFLVPlayerAlign"]          = "Player Alignment" ;
+FCKLang["DlgFLVPlayerAlignLeft"]      = "Left" ;
+FCKLang["DlgFLVPlayerAlignRight"]     = "Right" ;
+FCKLang["DlgFLVPlayerAlignCenter"]    = "Center" ;
+FCKLang["DlgFLVPlayerHSpace"]         = "HSpace" ;
+FCKLang["DlgFLVPlayerVSpace"]         = "VSpace" ;
+FCKLang["DlgFLVPlayerBgColor"]        = "Background Color"
+FCKLang["DlgFLVPlayerTBColor"]        = "Toolbar Color"
+FCKLang["DlgFLVPlayerTBTColor"]       = "Text Color"
+FCKLang["DlgFLVPlayerTBTRColor"]      = "Rollover Text Color"
+FCKLang["DlgFLVPlayerBtnSelect"]      = "Select..."
+FCKLang["DlgFLVPlayerAutoplay"]       = "Autoplay" ;
+FCKLang["DlgFLVPlayerLoop"]           = "Loop" ;
+FCKLang["DlgFLVPlayerDownload"]       = "Downloadable" ;
+FCKLang["DlgFLVPlayerFullscreen"]     = "Allow Fullscreen" ;
+FCKLang["DlgFLVPlayerAlertUrl"]       = "Please input the URL"
+FCKLang["DlgFLVPlayerAlertPlaylist"]  = "Please input the Playlist URL"
+FCKLang["DlgFLVPlayerAlertWidth"]     = "Please input the Width"
+FCKLang["DlgFLVPlayerAlertHeight"]    = "Please input the Height"
+FCKLang["DlgFLVPlayerPlayerAttrs"]    = "Player Attributes"
+FCKLang["DlgFLVPlayerMovieAttrs"]     = "Media Attributes"
+FCKLang["DlgFLVPlayerShowNavigation"] = "Display Navigation"
+FCKLang["DlgFLVPlayerShowDigits"]     = "Display Time"
+FCKLang["DlgFLVPlayerWatermarkURL"]   = "Watermark Image"
+FCKLang["DlgFLVPlayerFileType"]		  = "File Type"
+FCKLang["DlgFLVPlayerSingleFile"]     = "Single Media File"
+FCKLang["DlgFLVPlayerPlaylistFile"]   = "Media Playlist"
+FCKLang["DlgFLVPlayerPlaylistURL"]    = "Playlist URL"
+FCKLang["DlgFLVPlayerDispPlaylist"]   = "Display Playlist"
+FCKLang["DlgFLVPlayerDispPLNone"]     = "Do Not Display"
+FCKLang["DlgFLVPlayerDispPLRight"]    = "Display On Right"
+FCKLang["DlgFLVPlayerDispPLBelow"]    = "Display Below"
+FCKLang["DlgFLVPlayerRecommendURL"]   = "Recommendations List"
+FCKLang["DlgFLVPlaylistWidth"]        = "Playlist Width (px)"
+FCKLang["DlgFLVPlaylistHeight"]       = "Playlist Height (px)"
+FCKLang["DlgFLVPlaylistDimText"]      = "Playlist Dimension"
+FCKLang["DlgFLVPlayerPLThumbs"]       = "Display Thumbnails in Playlist"
+
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/swfobject.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/swfobject.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/swfobject.js	(revision 1481)
@@ -0,0 +1,8 @@
+/**
+ * SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
+ *
+ * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License:
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+if(typeof deconcept=="undefined"){var deconcept=new Object();}if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!document.getElementById){return;}this.DETECT_KEY=_a?_a:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id",id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height",h);}if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=true;}if(c){this.addParam("bgcolor",c);}var q=_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var _c=(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.setAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);}};deconcept.SWFObject.prototype={useExpressInstall:function(_d){this.xiSWFPath=!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInstall",true);},setAttribute:function(_e,_f){this.attributes[_e]=_f;},getAttribute:function(_10){return this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=_12;},getParams:function(){return this.params;},addVariable:function(_13,_14){this.variables[_13]=_14;},getVariable:function(_15){return this.variables[_15];},getVariables:function(){return this.variables;},getVariablePairs:function(){var _16=new Array();var key;var _18=this.getVariables();for(key in _18){_16[_16.length]=key+"="+_18[key];}return _16;},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\"";_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";var _1a=this.getParams();for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}var _1c=this.getVariablePairs().join("&");if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath);}_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\">";_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";var _1d=this.getParams();for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}var _1f=this.getVariablePairs().join("&");if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}return _19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var _21=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}}if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var n=(typeof _20=="string")?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}return false;}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var _23=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var axo=1;var _26=3;while(axo){try{_26++;axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);_23=new deconcept.PlayerVersion([_26,0,0]);}catch(e){axo=null;}}}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}}return _23;};deconcept.PlayerVersion=function(_29){this.major=_29[0]!=null?parseInt(_29[0]):0;this.minor=_29[1]!=null?parseInt(_29[1]):0;this.rev=_29[2]!=null?parseInt(_29[2]):0;};deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.major<fv.major){return false;}if(this.major>fv.major){return true;}if(this.minor<fv.minor){return false;}if(this.minor>fv.minor){return true;}if(this.rev<fv.rev){return false;}return true;};deconcept.util={getRequestParameter:function(_2b){var q=document.location.search||document.location.hash;if(_2b==null){return q;}if(q){var _2d=q.substring(1).split("&");for(var i=0;i<_2d.length;i++){if(_2d[i].substring(0,_2d[i].indexOf("="))==_2b){return _2d[i].substring((_2d[i].indexOf("=")+1));}}}return "";}};deconcept.SWFObjectUtil.cleanupSWFs=function(){var _2f=document.getElementsByTagName("OBJECT");for(var i=_2f.length-1;i>=0;i--){_2f[i].style.display="none";for(var x in _2f[i]){if(typeof _2f[i][x]=="function"){_2f[i][x]=function(){};}}}};if(deconcept.SWFObject.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);deconcept.unloadSet=true;}}if(!document.getElementById&&document.all){document.getElementById=function(id){return document.all[id];};}var getQueryParamValue=deconcept.util.getRequestParameter;var FlashObject=deconcept.SWFObject;var SWFObject=deconcept.SWFObject;
\ No newline at end of file
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/JW_FLV_MEDIA_PLAYER_README.HTML
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/JW_FLV_MEDIA_PLAYER_README.HTML	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/JW_FLV_MEDIA_PLAYER_README.HTML	(revision 1481)
@@ -0,0 +1,53 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+
+	<title>JW FLV Media Player</title>
+
+	<style type="text/css">
+		body { background-color: #fff; padding: 0 25px; color:#000; font: 13px/18px Arial, sans-serif; }
+		a { color: #360; }
+		h3 { padding-top: 50px; }
+		ol { margin:5px 0 15px 16px; padding:0; list-style-type:square; }
+	</style>
+
+</head>
+<body>
+
+	<h3>Example</h3>
+	<p>Here's a simple example of the <a href="http://www.jeroenwijering.com/?item=JW_FLV_Media_Player">JW FLV Media Player</a> embedded in a page. Copy-paste the source code and put the files on your site to get started.</p>
+
+
+
+
+	<div id="container"><a href="http://www.macromedia.com/go/getflashplayer">Get the Flash Player</a> to see this player.</div>
+	<script type="text/javascript" src="swfobject.js"></script>
+	<script type="text/javascript">
+		var s1 = new SWFObject("mediaplayer.swf","mediaplayer","300","185","8");
+		s1.addParam("allowfullscreen","true");
+		s1.addVariable("width","300");
+		s1.addVariable("height","185");
+		s1.addVariable("file","video.flv");
+		s1.write("container");
+	</script>
+
+
+
+	<h3>Quickstart</h3>
+	<p>The easiest way to get going with the mediaplayer is <a href="http://www.jeroenwijering.com/?page=wizard">by using the setup wizard</a>. Select an example, set the file or playlist you want to play and copy-paste the embed code to your site!</p>
+
+	<h3>Licensing</h3>
+	<p>The FLV Media Player is licensed under a <a href="http://creativecommons.org/licenses/by-nc-sa/2.0/">Creative Commons License</a>. It allows you to use, modify and redistribute the script for free for noncommercial purposes. For corporate use, <a href="http://www.jeroenwijering.com/?page=order" title="Order commercial licenses">please apply for a 20 euros commercial license</a>!</p>
+
+	<h3>Documentation</h3>
+	<ol>
+	<li>All <a href="http://www.jeroenwijering.com/?item=Supported_Flashvars">supported flashvars</a> (variables) you can set to customize the mediaplayer.</li>
+	<li>All <a href="http://www.jeroenwijering.com/?item=Supported_Playlists">supported playlist formats</a> you can use, plus some implementation info.</li>
+	<li>A large list <a href="http://www.jeroenwijering.com/?item=Third_Party_Plugins">of all third-party plugins</a> for the mediaplayer.</li>
+	<li>A tutorial on <a href="http://www.jeroenwijering.com/?item=Embedding_Flash"> embedding the mediaplayer</a> in your site.</li>
+	<li>A tutorial with <a href="http://www.jeroenwijering.com/?item=Javascript_interaction">all functions of the javascript API</a>.</li>
+	<li>A tutorial on <a href="http://www.jeroenwijering.com/?item=Making_Video_Accessible">adding captions and an audiodescription</a> (accessibility).</li>
+	</ol>
+
+</body>
+</html>
\ No newline at end of file
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/flvPlayer_xspf_sample.xml
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/flvPlayer_xspf_sample.xml	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/flvPlayer_xspf_sample.xml	(revision 1481)
@@ -0,0 +1,57 @@
+<playlist version="1" xmlns="http://xspf.org/ns/0/">
+	<title>XSPF Example Playlist</title>
+	<info>http:/xspf.org/xspf-v1.html</info>
+	<trackList>
+
+		<track>
+			<title>Afraid of the Dark</title>
+			<location>http://www.jeroenwijering.com/upload/afraid.flv</location>
+		</track>
+
+		<track>
+			<title>Sunshine up Ahead</title>
+			<creator>Peter Jones</creator>
+			<location>http://www.jeroenwijering.com/upload/peterjones_sunshine_lofi.mp3</location>
+			<info>http://www.peterjonesmusic.net/</info>
+			<image>http://www.jeroenwijering.com/upload/peterjones.jpg</image>
+		</track>
+
+		<track>
+			<title>Aggressive Wallpaper</title>
+			<creator>Jeroen Wijering</creator>
+			<annotation>
+				This is an aggressive wallpaper for public spaces where you don't want 
+				people to linger around (eg. subway tunnels or parking lots). People 
+				feel offended by the aggressive wallpaper and make sure they get out 
+				of these places as soon as their business is done there.
+			</annotation>
+			<location>http://www.jeroenwijering.com/upload/behang.jpg</location>
+			<info>http://www.jeroenwijering.com/?item=Aggressive_Wallpaper</info>
+			<meta rel="duration">12.5</meta>
+		</track>
+
+
+		<track>
+			<title>ITV's Coronation Street</title>
+			<annotation>
+				This example features accessibility content 
+				(closed captions and a descriptive audiotrack).
+			</annotation>
+			<info>http://www.jeroenwijering.com/?item=Making_Video_Accessible</info>
+			<location>http://www.jeroenwijering.com/upload/corrie.flv</location>
+			<image>http://www.jeroenwijering.com/upload/corrie.jpg</image>
+			<meta rel="captions">http://www.jeroenwijering.com/upload/corrie.xml</meta>
+			<meta rel="audio">http://www.jeroenwijering.com/upload/corrie.mp3</meta>
+			<meta rel="duration">00:00:45</meta>
+		</track>
+
+		<track>
+			<title>Bleed It Out</title>
+			<creator>Linkin Park</creator>
+			<location>upload/media/04 Bleed It Out.mp3</location>
+			<info>http://www.linkinpark.com/</info>
+			<image>upload/image/Sample_Preview.jpg</image>
+		</track>
+
+	</trackList>
+</playlist>
\ No newline at end of file
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/flvPlayer.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/flvPlayer.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/flvPlayer.html	(revision 1481)
@@ -0,0 +1,234 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FLV Movie Player</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta content="noindex, nofollow" name="robots">
+		<script src="../../dialog/common/fck_dialog_common.js" type="text/javascript"></script>
+		<script src="flvPlayer.js" type="text/javascript"></script>
+		<link href="../../dialog/common/fck_dialog_common.css" rel="stylesheet" type="text/css" />
+		<style>
+			body, td, input, textarea, select, label {font-family: Verdana, Geneva, Arial, helvetica, sans-serif; font-size: 10px; }
+		</style>
+		<script type="text/javascript">
+		<!--
+		document.writeln(FCK.TempBaseTag);
+		-->
+		</script>
+	</head>
+	<body scroll="no">
+		<div id="divInfo">
+			<table cellspacing="1" cellpadding="1" border="0" width="100%" height="100%">
+				<tr>
+					<td valign="top" colspan=3>
+						<fieldset>
+							<legend><span fcklang="DlgFLVPlayerFileType">File Type</span></legend>
+							<input type="radio" id="rbFileType" name="rbFileType" value="single" onclick="btnBrowse.disabled=false; btnImgBrowse.disabled=false; btnLnkBrowse.disabled=true; txtURL.disabled=false; txtImgURL.disabled=false; txtPlaylist.disabled=true; txtPlaylist.value=''; txtURL.style.background='#ffffff'; txtImgURL.style.background='#ffffff'; txtPlaylist.style.background='transparent'; selDispPlaylist.disabled=true;" checked="checked" />&nbsp;<span fckLang="DlgFLVPlayerSingleFile">Single File</span><br>
+							<input type="radio" id="rbFileType" name="rbFileType" value="list" onclick="btnBrowse.disabled=true; btnImgBrowse.disabled=true; btnLnkBrowse.disabled=false; txtURL.disabled=true; txtImgURL.disabled=true; txtPlaylist.disabled=false; txtURL.value=''; txtImgURL.value=''; txtURL.style.background='transparent'; txtImgURL.style.background='transparent'; txtPlaylist.style.background='#ffffff'; selDispPlaylist.disabled=false;" />&nbsp;<span fckLang="DlgFLVPlayerPlaylistFile">Playlist</span>
+						</fieldset>
+					</td>
+				</tr>
+				<tr>
+					<td valign="top" colspan=3>
+						<table cellspacing="0" cellpadding="0" width="100%" border="0">
+							<tr>
+								<td valign="top" width="100%">								
+									<span fckLang="DlgFLVPlayerURL">.FLV Movie</span><br>
+									<input style="WIDTH: 100%" type="text" id="txtURL">
+								</td>
+								<td id="tdBrowse" valign="bottom" nowrap>
+									<input type="button" fckLang="DlgFLVPlayerBtnBrowse" value="Browse Server" onclick="BrowseServer();" id="btnBrowse">
+								</td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+				<tr>
+					<td valign="top" colspan=3>
+						<table cellspacing="0" cellpadding="0" width="100%" border="0">
+							<tr>
+								<td valign="top" width="100%">								
+									<span fckLang="DlgFLVPlayerImgURL">Preview Image</span><br>
+									<input style="WIDTH: 100%" type="text" id="txtImgURL">
+								</td>
+								<td id="tdBrowse" valign="bottom" nowrap>
+									<input type="button" fckLang="DlgFLVPlayerBtnBrowse" value="Browse Server" onclick="img1BrowseServer();" id="btnImgBrowse">
+								</td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+				<tr>
+					<td valign="top" colspan=3>
+						<table cellspacing="0" cellpadding="0" width="100%" border="0">
+							<tr>
+								<td valign="top" width="100%">								
+									<span fckLang="DlgFLVPlayerPlaylistURL">Playlist URL</span><br>
+									<input style="WIDTH: 100%" type="text" id="txtPlaylist" style="background:transparent;" disabled>
+								</td>
+								<td id="tdBrowse" valign="bottom" nowrap>
+									<input type="button" fckLang="DlgFLVPlayerBtnBrowse" value="Browse Server" onclick="LnkBrowseServer();" id="btnLnkBrowse" disabled>
+								</td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+
+				<tr>
+					<td valign="top" colspan=3>&nbsp;</td>
+				</tr>
+				<tr>
+					<td valign="top" width="50%">
+						<fieldset>
+							<legend><span fcklang="DlgFLVPlayerMovieAttrs">Movie Attributes</span></legend>
+								<table cellspacing="0" cellpadding="0" width="100%" border="0">
+									<tr>
+										<td valign="top" colspan=2>
+											<table cellspacing="0" cellpadding="0" width="100%" border="0">
+												<tr>
+													<td valign="top" width="100%">								
+														<span fckLang="DlgFLVPlayerWatermarkURL">Watermark Image</span><br>
+														<input style="WIDTH: 100%" type="text" id="txtWMURL">
+													</td>
+													<td id="tdBrowse" valign="bottom" nowrap>
+														<input type="button" fckLang="DlgFLVPlayerBtnBrowse" value="Browse Server" onclick="img2BrowseServer();" id="btnImg2Browse">
+													</td>
+												</tr>
+											</table>
+										</td>
+									</tr>
+									<tr>
+										<td valign="top" colspan=2>
+											<table cellspacing="0" cellpadding="0" width="100%" border="0">
+												<tr>
+													<td valign="top" width="100%">								
+														<span fckLang="DlgFLVPlayerRecommendURL">Recommendations List</span><br>
+														<input style="WIDTH: 100%" type="text" id="txtRURL">
+													</td>
+													<td id="tdBrowse" valign="bottom" nowrap>
+														<input type="button" fckLang="DlgFLVPlayerBtnBrowse" value="Browse Server" onclick="Lnk2BrowseServer();" id="btnLnk2Browse">
+													</td>
+												</tr>
+											</table>
+										</td>
+									</tr>
+
+									<tr>
+										<td valign="top" colspan=2>
+											<input type="checkbox" class="CheckBox" id="chkAutoplay">
+											<span fckLang="DlgFLVPlayerAutoplay">Autoplay</span>
+										</td>
+									</tr>
+									<tr>
+										<td valign="top" colspan=2>
+											<input type="checkbox" class="CheckBox" id="chkLoop">
+											<span fckLang="DlgFLVPlayerLoop">Loop</span>
+										</td>
+									</tr>
+									<tr>
+										<td valign="top" colspan=2>
+											<input type="checkbox" class="CheckBox" checked id="chkDownload">
+											<span fckLang="DlgFLVPlayerDownload">Downloadable</span>
+										</td>
+									</tr>
+									<tr>
+										<td valign="top" colspan=2>
+											<input type="checkbox" class="CheckBox" checked id="chkFullscreen">
+											<span fckLang="DlgFLVPlayerFullscreen">Allow Fullscreen</span>
+										</td>
+									</tr>
+									<tr>
+										<td><span fckLang="DlgFLVPlayerDispPlaylist">Display Playlist</span>&nbsp;</td>
+										<td>
+											<select name="selDispPlaylist" id="selDispPlaylist" style="width:120px;" disabled onchange="updatePlaylistOption();">
+												<option fckLang="DlgFLVPlayerDispPLNone" value="none" selected>None</option>
+												<option fckLang="DlgFLVPlayerDispPLRight" value="right">Right</option>
+												<option fckLang="DlgFLVPlayerDispPLBelow" value="below">Below</option>
+											</select>
+										</td>
+									</tr>
+									<tr>
+										<td valign="top"><span id="spanDimText" fckLang="DlgFLVPlaylistDimText">Playlist Dimension</span><span id="spanDimWText" fckLang="DlgFLVPlaylistWidth" style="display: none;">Playlist Width (px)</span><span id="spanDimHText" fckLang="DlgFLVPlaylistHeight" style="display: none;">Playlist Height (px)</span>&nbsp;</td>
+										<td valign="top"><input type="text" size="5" id="txtPLDim" style="background:transparent;" disabled></td>
+									</tr>
+									<tr>
+										<td valign="top" colspan=2>
+											<input type="checkbox" class="CheckBox" id="chkPLThumbs" disabled>
+											<span fckLang="DlgFLVPlayerPLThumbs">Display Thumbnails in Playlist</span>
+										</td>
+									</tr>
+
+								</table>
+						</fieldset>
+					</td>
+					<td valign="top">&nbsp;</td>
+					<td valign="top" width="50%">
+						<fieldset>
+							<legend><span fcklang="DlgFLVPlayerPlayerAttrs">Player Attributes</span></legend>
+								<table cellspacing="0" cellpadding="0" width="100%" border="0">
+									<tr>
+										<td valign="top"><span fckLang="DlgFLVPlayerWidth">Movie Width (px)</span>&nbsp;</td>
+										<td valign="top"><input type="text" size="5" id="txtWidth"></td>
+									</tr>
+									<tr>
+										<td valign="top"><span fckLang="DlgFLVPlayerHeight">Movie Height (px)</span>&nbsp;</td>
+										<td valign="top"><input type="text" size="5" id="txtHeight"></td>
+									</tr>
+									<tr> 
+										<td><span fckLang="DlgFLVPlayerBgColor">Bg Color</span>&nbsp;</td>
+										<td><input id="txtBgColor" type="text" size="8">
+										<input type="button" fckLang="DlgFLVPlayerBtnSelect" value="Select..." onclick="SelectColor1()">
+										</td>
+									</tr>
+									<tr> 
+										<td><span fckLang="DlgFLVPlayerTBColor">Toolbar Color</span>&nbsp;</td>
+										<td><input id="txtToolbarColor" type="text" size="8">
+										<input type="button" fckLang="DlgFLVPlayerBtnSelect" value="Select..." onclick="SelectColor2()">
+										</td>
+									</tr>
+									<tr> 
+										<td><span fckLang="DlgFLVPlayerTBTColor">Toolbar Text Color</span>&nbsp;</td>
+										<td><input id="txtToolbarTxtColor" type="text" size="8">
+										<input type="button" fckLang="DlgFLVPlayerBtnSelect" value="Select..." onclick="SelectColor3()">
+										</td>
+									</tr>
+									<tr> 
+										<td><span fckLang="DlgFLVPlayerTBTRColor">Toolbar Text Rollover Color</span>&nbsp;</td>
+										<td><input id="txtToolbarTxtRColor" type="text" size="8">
+										<input type="button" fckLang="DlgFLVPlayerBtnSelect" value="Select..." onclick="SelectColor4()">
+										</td>
+									</tr>
+									<tr>
+										<td valign="top" colspan=2>
+											<input type="checkbox" class="CheckBox" checked id="chkShowNavigation">
+											<span fckLang="DlgFLVPlayerShowNavigation">Display Navigation</span>
+										</td>
+									</tr>
+									<tr>
+										<td valign="top" colspan=2>
+											<input type="checkbox" class="CheckBox" checked id="chkShowDigits">
+											<span fckLang="DlgFLVPlayerShowDigits">Display Time</span>
+										</td>
+									</tr>
+									<tr>
+										<td><span fckLang="DlgFLVPlayerAlign">Align</span>&nbsp;</td>
+										<td>
+											<select name="selAlign" id="selAlign" style="width:120px;">
+												<option fckLang="DlgFLVPlayerAlignLeft" value="left" selected>Left</option>
+												<option fckLang="DlgFLVPlayerAlignCenter" value="center">Center</option>
+												<option fckLang="DlgFLVPlayerAlignRight" value="right">Right</option>
+											</select>
+										</td>
+									</tr>
+									<tr>
+										<td valign="top" colspan=2>&nbsp;</td>
+									</tr>
+								</table>
+						</fieldset>
+					</td>
+				</tr>
+		  </table>
+		</div>
+		<script type="text/javascript">window_onload();</script>
+	</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/flvPlayer.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/flvPlayer.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/mediaplayer.swf
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/mediaplayer.swf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/flvPlayer_recommendations_sample.xml
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/flvPlayer_recommendations_sample.xml	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/flvPlayer_recommendations_sample.xml	(revision 1481)
@@ -0,0 +1,33 @@
+<recommendations>
+
+	<recommendation>
+		<title>Reporting screenshot from Mint</title>
+		<image>http://www.jeroenwijering.com/upload/thumb1.jpg</image>
+		<link>http://www.haveamint.com</link>
+	</recommendation>
+
+	<recommendation>
+		<title>Joost introduction video</title>
+		<image>http://www.jeroenwijering.com/upload/thumb2.jpg</image>
+		<link>http://www.joost.com</link>
+	</recommendation>
+
+	<recommendation>
+		<title>The one and only VideoEgg egg</title>
+		<image>http://www.jeroenwijering.com/upload/thumb3.jpg</image>
+		<link>http://www.videoegg.com</link>
+	</recommendation>
+
+	<recommendation>
+		<title>Cool long-exposure video from Flickr</title>
+		<image>http://www.jeroenwijering.com/upload/thumb4.jpg</image>
+		<link>http://www.flickr.com</link>
+	</recommendation>
+
+	<recommendation>
+		<title>Extreme closeup of the MT logo</title>
+		<image>http://www.jeroenwijering.com/upload/thumb5.jpg</image>
+		<link>http://www.movabletype.com</link>
+	</recommendation>
+
+</recommendations>
\ No newline at end of file
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/flvPlayer_rss_sample.xml
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/flvPlayer_rss_sample.xml	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/flvPlayer_rss_sample.xml	(revision 1481)
@@ -0,0 +1,52 @@
+<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss">
+	<channel>
+		<title>RSS  Example Playlist</title>
+		<link>http://cyber.law.harvard.edu/rss/rss.html</link>
+
+		<item>
+			<title>Afraid of the dark</title>
+			<enclosure url="http://www.jeroenwijering.com/upload/afraid.flv" type="video/x-flv" />
+		</item>
+
+		<item>
+			<title>Sunshine up Ahead</title>
+			<author>Peter Jones</author>
+			<link>http://www.peterjonesmusic.net/</link>
+			<media:content url="http://www.jeroenwijering.com/upload/peterjones_sunshine_lofi.mp3" type="audio/mpeg"/>
+			<media:thumbnail href="http://www.jeroenwijering.com/upload/peterjones.jpg" />
+		</item>
+
+		<item>
+			<title>Aggressive Wallpaper</title>
+			<author>Jeroen Wijering</author>
+			<link>http://www.jeroenwijering.com/?item=Aggressive_Wallpaper</link>
+			<description>
+				This is an aggressive wallpaper for public spaces where you don't want 
+				people to linger around (eg. subway tunnels or parking lots). People 
+				feel offended by the aggressive wallpaper and make sure they get out 
+				of these places as soon as their business is done there.
+			</description>
+			<media:content url="http://www.jeroenwijering.com/upload/behang.jpg" type="image/jpeg" duration="12.5"/>
+		</item>
+
+		<item>
+			<title>ITV's Coronation Street</title>
+			<link>http://www.jeroenwijering.com/?item=Making_Video_Accessible</link>
+			<description>
+				Unfortunately, accessibility content cannot be included with the RSS file format. 
+				The SMIL format is more suitable for this type of playlists.
+			</description>
+			<media:content url="http://www.jeroenwijering.com/upload/corrie.flv" type="video/x-flv" duration="00:00:45"/>
+			<media:thumbnail url="http://www.jeroenwijering.com/upload/corrie.jpg"/>
+		</item>
+
+		<item>
+			<title>Bleed It Out</title>
+			<author>Linkin Park</author>
+			<link>http://www.linkinpark.com/</link>
+			<media:content url="upload/media/04 Bleed It Out.mp3" type="audio/mpeg"/>
+			<media:thumbnail href="upload/image/Sample_Preview.jpg" />
+		</item>
+
+	</channel>
+</rss>
\ No newline at end of file
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/fckplugin.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/fckplugin.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/fckplugin.js	(revision 1481)
@@ -0,0 +1,12 @@
+ï»¿// Register the related commands.
+var dialogPath = FCKConfig.PluginsPath + 'flvPlayer/flvPlayer.html';
+var flvPlayerDialogCmd = new FCKDialogCommand( FCKLang["DlgFLVPlayerTitle"], FCKLang["DlgFLVPlayerTitle"], dialogPath, 600, 520 );
+FCKCommands.RegisterCommand( 'flvPlayer', flvPlayerDialogCmd ) ;
+
+// Create the Flash toolbar button.
+var oFlvPlayerItem		= new FCKToolbarButton( 'flvPlayer', FCKLang["DlgFLVPlayerTitle"]) ;
+oFlvPlayerItem.IconPath	= FCKPlugins.Items['flvPlayer'].Path + 'flvPlayer.gif' ;
+
+FCKToolbarItems.RegisterItem( 'flvPlayer', oFlvPlayerItem ) ;			
+// 'Flash' is the name used in the Toolbar config.
+
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/flvPlayer/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+ID
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/lang/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/lang/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/lang/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../../../../../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/lang/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/lang/de.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/lang/de.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/lang/de.js	(revision 1481)
@@ -0,0 +1,6 @@
+FCKLang.WBDropletsBtn			= 'WB Droplets einf\u00fcgen' ;
+FCKLang.WBDropletsDlgTitle		= 'WB Droplets' ;
+FCKLang.WBDropletsDlgName		= 'Website Baker Droplet einf\u00fcgen' ;
+FCKLang.WBDropletsErrPageSelect		= 'Bitte eine Droplet markieren, das eingef\u00fcgt werden soll!' ;
+FCKLang.WBDropletslblPageSelection	= 'Auswahlfenster der m\u00f6glichen Droplets:';
+FCKLang.WBDropletslblTitle		= 'Titel:';
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/lang/de.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/lang/nl.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/lang/nl.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/lang/nl.js	(revision 1481)
@@ -0,0 +1,6 @@
+FCKLang.WBDropletsBtn			= 'WB droplets toevoegen' ;
+FCKLang.WBDropletsDlgTitle		= 'WB droplets' ;
+FCKLang.WBDropletsDlgName		= 'Website Baker droplet toevoegen' ;
+FCKLang.WBDropletsErrPageSelect		= 'Eerst een droplet selecteren' ;
+FCKLang.WBDropletslblPageSelection	= 'Selecteer een droplet:';
+FCKLang.WBDropletslblTitle		= 'Titel';
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/lang/nl.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/lang/en.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/lang/en.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/lang/en.js	(revision 1481)
@@ -0,0 +1,6 @@
+FCKLang.WBDropletsBtn			= 'Insert WB Droplets into page' ;
+FCKLang.WBDropletsDlgTitle		= 'WB Droplets' ;
+FCKLang.WBDropletsDlgName		= 'Website Baker droplet insert' ;
+FCKLang.WBDropletsErrPageSelect		= 'Please select a Droplet to insert on page' ;
+FCKLang.WBDropletslblPageSelection	= 'Select a Droplet to insert on page:';
+FCKLang.WBDropletslblTitle		= 'Title';
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/lang/en.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../../../../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/fck_wbdroplets.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/fck_wbdroplets.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/fck_wbdroplets.php	(revision 1481)
@@ -0,0 +1,66 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+// Include the config file
+require('../../../../../../config.php');
+
+// Create new admin object
+require(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Pages', 'pages_modify', false);
+
+// Setup the template
+$template = new Template(WB_PATH.'/modules/fckeditor/fckeditor/editor/plugins/WBDroplets');
+$template->set_file('page', 'wbdroplets.htt');
+$template->set_block('page', 'main_block', 'main');
+
+// Get pages and put them into the pages list
+$template->set_block('main_block', 'droplets_list_block', 'page_list');
+$database = new database();
+$get_droplet = $database->query("SELECT * FROM ".TABLE_PREFIX."mod_droplets where active=1 ORDER BY name");
+if($get_droplet->numRows() > 0) {
+	// Loop through pages
+	$list = "";
+	while($droplet = $get_droplet->fetchRow()) {
+		// method page_is_visible was introduced with WB 2.7
+		$title = stripslashes($droplet['name']);
+		$desc = stripslashes($droplet['description']);
+		$comm = stripslashes($droplet['comments']);
+		$template->set_var('TITLE', $title);
+		$template->set_var('DESC', $desc);
+		$list .= "<div id='".$title."' class='hidden'><b>".$title.": </b> ".$desc."<br>".$comm."</div>";
+		$template->parse('page_list', 'droplets_list_block', true);
+	}
+} else {
+	$template->set_var('TITLE', 'None found');
+	$template->parse('page_list', 'droplets_list_block', false);
+}
+$template->set_var('LIST', $list);
+$template->set_var("CHARSET", defined('DEFAULT_CHARSET') ? DEFAULT_CHARSET : 'utf-8' );
+
+// Parse the template object
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/fck_wbdroplets.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/wbdroplets.htt
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/wbdroplets.htt	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/wbdroplets.htt	(revision 1481)
@@ -0,0 +1,101 @@
+<!-- BEGIN main_block -->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<title>WB Link - Insert Website Baker Droplet</title>
+		<meta http-equiv="Content-Type" content="text/html; charset={CHARSET}" />
+		<meta name="robots" content="noindex, nofollow" />
+		<script type="text/javascript" src="fckwbdroplets.js"></script>
+		<script type="text/javascript">
+		<!--
+			var oEditor			= window.parent.InnerDialogLoaded(); 
+			var FCK				= oEditor.FCK; 
+			var FCKLang			= oEditor.FCKLang ;
+			var FCKConfig		= oEditor.FCKConfig ;
+			//var FCKCMSCCMSModules	= oEditor.FCKCMSModules; 
+			 
+			// oLink: The actual selected link in the editor.
+			var oLink = FCK.Selection.MoveToAncestorNode( 'A' ) ;
+			if ( oLink )
+				FCK.Selection.SelectNode( oLink ) ;
+	
+			window.onload = function ()	{ 
+				// First of all, translates the dialog box texts.
+				oEditor.FCKLanguageManager.TranslatePage(document);
+				
+				window.parent.SetOkButton( true );		//Show the "Ok" button. 
+				
+			} 
+			 
+			//If an anchor (A) object is currently selected, load the properties into the dialog 
+			function LoadSelected()	{
+				var sSelected;
+				
+				if ( oEditor.FCKBrowserInfo.IsGecko ) {
+					sSelected = FCK.EditorWindow.getSelection();
+				} else {
+					sSelected = FCK.EditorDocument.selection.createRange().text;
+				}
+			}
+
+			//Code that runs after the OK button is clicked 
+			function Ok() {
+				//Validate is option is selected
+				var oDropletList = document.getElementById( 'cmbDroplets' ) ;
+				if(oDropletList.selectedIndex == -1) {
+					alert( FCKLang.WBDropletsErrPageSelect );
+					return false;
+				}
+				
+				var oTagLink = document.getElementById( 'chkTaglink' );
+				
+				var sDropletStr = oDropletList[oDropletList.selectedIndex].value;
+				FCK.InsertHtml("[[" + sDropletStr + "]]");
+				// the following line was commented out as it creates an error message in some browser (e.g. IE)
+				// even Firefox seems not to make use of the title so we remove this option for know (doc)
+				// SetAttribute( oLink, 'title', document.getElementById( 'txtTitle' ).value ) ;
+			return true;
+
+			}
+			
+			var oldid = 'LoginBox';
+			
+			function showdetail(obj) {
+				var olditem = document.getElementById(oldid);
+				var newitem = document.getElementById(obj.value);
+				olditem.className='hidden';
+				newitem.className='unhidden';
+				oldid = obj.value;
+			}
+		//-->
+		</script>
+		<style>
+			.hidden { display: none; }
+			.unhidden { display: block; }
+		</style>
+	</head>
+	<body scroll="yes" >
+		<table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0"> 
+			<tr> 
+				<td>
+					<table width="100%">
+						<tr> 
+							<td colspan="2"><span fckLang="WBDropletslblPageSelection">Select a Droplet to insert on page:</span>&nbsp;</td>
+						</tr>
+						<tr>
+							<td colspan="2">
+								<select id="cmbDroplets" style="WIDTH: 100%" size="10" name="cmbDroplets"  onchange="javascript:showdetail(this);" >
+									<!-- BEGIN droplets_list_block -->
+									<option value="{TITLE}"{SELECTED}>{TITLE}</option>
+									<!-- END droplets_list_block -->
+								</select>
+							</td>
+						</tr>
+					</table>
+					{LIST}
+				</td>
+			</tr>
+		</table>		
+	</body>
+</html> 
+<!-- END main_block -->
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/wbdroplets.htt
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/wbdroplets.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/wbdroplets.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/fckwbdroplets.css
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/fckwbdroplets.css	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/fckwbdroplets.css	(revision 1481)
@@ -0,0 +1,35 @@
+#fckComment a, #fckComment a:visited {
+	position: relative;
+	text-decoration: none;
+	border: 0;
+}
+
+#fckComment a span {
+	display:none;
+}
+
+#fckComment a:hover {
+	color: #d00;
+	border: 0px solid #fff;
+}
+
+#fckComment a img {	
+	border: 0;
+	height: 20px;
+	width: 20px;
+}
+
+#fckComment a:hover span {
+	text-align:left;	
+	display:block;
+	border:1px solid #CCCCCC;
+	position: absolute;
+	top: 0px;
+	left: 20px;
+	width: 300px;
+	padding:5px;	
+	color:#000000;
+	background-color:#FFFFCC;
+	opacity: 0.8;
+	filter:alpha(opacity=80);
+}
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/fckwbdroplets.css
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/fckwbdroplets.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/fckwbdroplets.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/fckwbdroplets.js	(revision 1481)
@@ -0,0 +1,8 @@
+// Function to set special attributes. Copied from FCK Core function
+function SetAttribute( element, attName, attValue )
+{
+	if ( attValue == null || attValue.length == 0 )
+		element.removeAttribute( attName, 0 ) ;			// 0 : Case Insensitive
+	else
+		element.setAttribute( attName, attValue, 0 ) ;	// 0 : Case Insensitive
+}
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/fckwbdroplets.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/fckplugin.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/fckplugin.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/fckplugin.js	(revision 1481)
@@ -0,0 +1,30 @@
+/* 
+ *  FCKPlugin.js
+ *  ------------
+ *  This is a generic file which is needed for plugins that are developed
+ *  for FCKEditor. With the below statements that toolbar is created and
+ *  several options are being activated.
+ *
+ *  See the online documentation for more information:
+ *  http://wiki.fckeditor.net/
+*/
+
+// Register the related commands.
+FCKCommands.RegisterCommand(
+	'WBDroplets',
+	new FCKDialogCommand(
+		'WBDroplets',
+		FCKLang["WBDropletsDlgTitle"],
+		FCKPlugins.Items['WBDroplets'].Path + 'fck_wbdroplets.php',
+		370,
+		370
+	)
+);
+ 
+// Create the "WBModules" toolbar button.
+// FCKToolbarButton( commandName, label, tooltip, style, sourceView, contextSensitive )
+var oWBModulesItem = new FCKToolbarButton( 'WBDroplets', FCKLang["WBDropletsBtn"], null, null, false, true ); 
+oWBModulesItem.IconPath = FCKConfig.PluginsPath + 'WBDroplets/wbdroplets.gif'; 
+
+// 'CMSContent' is the name that is used in the toolbar config.
+FCKToolbarItems.RegisterItem( 'WBDroplets', oWBModulesItem );
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/WBDroplets/fckplugin.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/dialog/fck_flash.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/dialog/fck_flash.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/dialog/fck_flash.html	(revision 1481)
@@ -0,0 +1,214 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2008 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Flash Properties dialog window.
+-->
+<html>
+	<head>
+		<title>Flash Properties</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta content="noindex, nofollow" name="robots">
+		<script src="fck_flash.js" type="text/javascript"></script>
+		<script type="text/javascript">
+
+// Set the Skin CSS.
+if (FCKTools.GetStyleHtml)
+	document.write( FCKTools.GetStyleHtml( GetCommonDialogCss( FCKConfig.FullBasePath + 'dialog/' ) ) ) ;
+else
+	document.write( '<link href="' + oEditor.FCKConfig.SkinPath + 'fck_dialog.css" type="text/css" rel="stylesheet">' ) ;
+
+		</script>
+	</head>
+	<body scroll="no" style="OVERFLOW: hidden">
+		<div id="divInfo">
+			<table cellSpacing="1" cellPadding="1" width="100%" border="0">
+				<tr>
+					<td>
+						<table cellSpacing="0" cellPadding="0" width="100%" border="0">
+							<tr>
+								<td width="100%"><label for="txtUrl" fckLang="DlgImgURL">URL</label>
+								</td>
+								<td id="tdBrowse" style="DISPLAY: none" noWrap rowSpan="2">&nbsp; <input id="btnBrowse" onclick="BrowseServer();" type="button" value="Browse Server" fckLang="DlgBtnBrowseServer">
+								</td>
+							</tr>
+							<tr>
+								<td vAlign="top"><input id="txtUrl" onblur="UpdatePreview();" style="WIDTH: 100%" type="text">
+								</td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+				<TR>
+					<TD>
+						<table cellSpacing="0" cellPadding="0" border="0">
+							<TR>
+								<TD nowrap>
+									<label for="txtWidth" fckLang="DlgImgWidth">Width</label><br>
+									<input id="txtWidth" onkeypress="return IsDigit(event);" type="text" size="3">
+								</TD>
+								<TD>&nbsp;</TD>
+								<TD>
+									<label for="txtHeight" fckLang="DlgImgHeight">Height</label><br>
+									<input id="txtHeight" onkeypress="return IsDigit(event);" type="text" size="3">
+								</TD>
+							</TR>
+						</table>
+					</TD>
+				</TR>
+				<tr>
+					<td vAlign="top">
+						<table cellSpacing="0" cellPadding="0" width="100%" border="0">
+							<tr>
+								<td valign="top" width="100%">
+									<table cellSpacing="0" cellPadding="0" width="100%">
+										<tr>
+											<td><span fckLang="DlgImgPreview">Preview</span></td>
+										</tr>
+										<tr>
+											<td id="ePreviewCell" valign="top" class="FlashPreviewArea"><iframe src="fck_flash_preview.html" frameborder="0" marginheight="0" marginwidth="0"></iframe></td>
+										</tr>
+									</table>
+								</td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+			</table>
+		</div>
+		<div id="divUpload" style="DISPLAY: none">
+			<form id="frmUpload" method="post" target="UploadWindow" enctype="multipart/form-data" action="" onsubmit="return CheckUpload();">
+				<span fckLang="DlgLnkUpload">Upload</span><br />
+				<input id="txtUploadFile" style="WIDTH: 100%" type="file" size="40" name="NewFile" /><br />
+				<br />
+				<input id="btnUpload" type="submit" value="Send it to the Server" fckLang="DlgLnkBtnUpload" />
+				<script type="text/javascript">
+					var voidUrl = 'javascript:void(0)' ;
+					if (typeof FCKTools.GetVoidUrl == 'function')
+						voidUrl = FCKTools.GetVoidUrl();
+
+					document.write( '<iframe name="UploadWindow" style="DISPLAY: none" src="' + voidUrl + '"><\/iframe>' ) ;
+				</script>
+			</form>
+		</div>
+		<div id="divAdvanced" style="DISPLAY: none">
+			<TABLE cellSpacing="0" cellPadding="0" border="0">
+				<TR>
+					<TD nowrap>
+						<label fckLang="DlgFlashScale" for="cmbScale">Scale</label><BR>
+						<select id="cmbScale">
+							<option value="" selected></option>
+							<option value="showall" fckLang="DlgFlashScaleAll">Show all</option>
+							<option value="noborder" fckLang="DlgFlashScaleNoBorder">No Border</option>
+							<option value="exactfit" fckLang="DlgFlashScaleFit">Exact Fit</option>
+						</select></TD>
+					<TD>&nbsp;&nbsp;&nbsp; &nbsp;
+					</TD>
+					<td valign="bottom">
+						<table>
+							<tr>
+								<td><input id="chkAutoPlay" type="checkbox" checked></td>
+								<td><label for="chkAutoPlay" nowrap fckLang="DlgFlashChkPlay">Auto Play</label>&nbsp;&nbsp;</td>
+								<td><input id="chkLoop" type="checkbox" checked></td>
+								<td><label for="chkLoop" nowrap fckLang="DlgFlashChkLoop">Loop</label>&nbsp;&nbsp;</td>
+								<td><input id="chkMenu" type="checkbox" checked></td>
+								<td><label for="chkMenu" nowrap fckLang="DlgFlashChkMenu">Enable Flash Menu</label></td>
+							</tr>
+						</table>
+					</td>
+				</TR>
+				<tr>
+					<td>
+						<label for="allowscriptaccess" fckLang="DlgFlashScriptaccess">Script access</label><br>
+						<select id="allowscriptaccess">
+							<option value=""></option>
+							<option value="always" fckLang="DlgFlashAlways">Always</option>
+							<option value="sameDomain" fckLang="DlgFlashSameDomain">Same Domain</option>
+							<option value="never" fckLang="DlgFlashNever">Never</option>
+						</select>
+					</td>
+					<td></td>
+					<td>
+						<label for="wmode" fckLang="DlgFlashWindowMode">Window mode</label><br>
+						<select id="wmode">
+							<option value=""></option>
+							<option value="window" fckLang="DlgFlashWindow">Window</option>
+							<option value="opaque" fckLang="DlgFlashOpaque">Opaque</option>
+							<option value="transparent" fckLang="DlgFlashTransparent">Transparent</option>
+						</select>
+						&nbsp;&nbsp;&nbsp;
+						<input id="allowfullscreen" type="checkbox">
+						<label for="allowfullscreen" nowrap fckLang="DlgFlashAllowfullscreen">Allow Full Screen</label>
+
+					</td>
+				</tr>
+			</TABLE>
+
+			<br>
+			&nbsp;
+			<table cellSpacing="0" cellPadding="0" width="100%" align="center" border="0">
+				<tr>
+					<td vAlign="top" width="50%"><label fckLang="DlgGenId" for="txtAttId">Id</label><br>
+						<input id="txtAttId" style="WIDTH: 100%" type="text">
+					</td>
+					<td>&nbsp;&nbsp;</td>
+					<td vAlign="top" nowrap><label fckLang="DlgGenClass" for="txtAttClasses">Stylesheet Classes</label><br>
+						<input id="txtAttClasses" style="WIDTH: 100%" type="text">
+					</td>
+					<td>&nbsp;&nbsp;</td>
+					<td vAlign="top" nowrap width="50%" for="txtAttTitle">&nbsp;<label fckLang="DlgGenTitle">Advisory Title</label><br>
+						<input id="txtAttTitle" style="WIDTH: 100%" type="text">
+					</td>
+				</tr>
+			</table>
+			<label fckLang="DlgGenStyle" for="txtAttStyle">Style</label><br>
+			<input id="txtAttStyle" style="WIDTH: 100%" type="text">
+		</div>
+
+		<div id="divFlashvars" style="DISPLAY: none">
+					<table width="100%">
+						<tr>
+							<td width="50%"><span fckLang="DlgSelectOpText">Text</span><br>
+								<input id="txtText" style="WIDTH: 100%" type="text">
+							</td>
+							<td width="50%"><span fckLang="DlgSelectOpValue">Value</span><br>
+								<input id="txtValue" style="WIDTH: 100%" type="text">
+							</td>
+							<td vAlign="bottom"><input onclick="Add();" type="button" fckLang="DlgSelectBtnAdd" value="Add"></td>
+							<td vAlign="bottom"><input onclick="Modify();" type="button" fckLang="DlgSelectBtnModify" value="Modify"></td>
+						</tr>
+						<tr>
+							<td rowSpan="2"><select id="cmbText" style="WIDTH: 100%" onchange="GetE('cmbValue').selectedIndex = this.selectedIndex;Select(this);"
+									size="5"></select>
+							</td>
+							<td rowSpan="2"><select id="cmbValue" style="WIDTH: 100%" onchange="GetE('cmbText').selectedIndex = this.selectedIndex;Select(this);"
+									size="5"></select>
+							</td>
+							<td vAlign="top" colSpan="2">
+							</td>
+						</tr>
+						<TR>
+							<TD vAlign="bottom" colSpan="4">
+								<input onclick="Delete();" type="button" fckLang="DlgSelectBtnDelete" value="Delete"></TD>
+						</TR>
+					</table>
+		</div>
+	</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/dialog/fck_flash_preview.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/dialog/fck_flash_preview.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/dialog/fck_flash_preview.html	(revision 1481)
@@ -0,0 +1,65 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2008 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Preview page for the Flash dialog window.
+-->
+<html>
+	<head>
+		<title></title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<script type="text/javascript">
+
+var FCKTools	= window.parent.FCKTools ;
+var FCKConfig	= window.parent.FCKConfig ;
+
+function Import(aSrc) {
+   document.write('<scr'+'ipt type="text/javascript" src="' + aSrc + '"></sc' + 'ript>');
+}
+
+Import(FCKConfig.FullBasePath + 'dialog/common/fck_dialog_common.js');
+
+		</script>
+		<script type="text/javascript">
+// Set the Skin CSS.
+if (FCKTools.GetStyleHtml)
+{
+	document.write( FCKTools.GetStyleHtml( GetCommonDialogCss( FCKConfig.FullBasePath + 'dialog/' ) ) ) ;
+	document.write( FCKTools.GetStyleHtml( FCKConfig.SkinDialogCSS ) ) ;
+}
+else
+{
+	document.write( '<link href="' + window.parent.FCKConfig.SkinPath + 'fck_dialog.css" type="text/css" rel="stylesheet">' ) ;
+	document.write( '<link href="' + window.parent.FCKConfig.BasePath + 'dialog/common/fck_dialog_common.css" type="text/css" rel="stylesheet">' ) ;
+}
+
+if ( window.parent.FCKConfig.BaseHref.length > 0 )
+	document.write( '<base href="' + window.parent.FCKConfig.BaseHref + '">' ) ;
+
+window.onload = function()
+{
+	window.parent.SetPreviewElement( document.body ) ;
+}
+
+		</script>
+	</head>
+	<body style="COLOR: #000000; BACKGROUND-COLOR: #ffffff"></body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/dialog/fck_flash.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/dialog/fck_flash.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/dialog/fck_flash.js	(revision 1481)
@@ -0,0 +1,558 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2008 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Scripts related to the Flash dialog window (see fck_flash.html).
+ */
+function Import(aSrc) {
+   document.write('<scr'+'ipt type="text/javascript" src="' + aSrc + '"></sc' + 'ript>');
+}
+
+var dialog		= window.parent ;
+var oEditor		= dialog.InnerDialogLoaded() ;
+var FCK			= oEditor.FCK ;
+var FCKLang		= oEditor.FCKLang ;
+var FCKConfig	= oEditor.FCKConfig ;
+var FCKTools	= oEditor.FCKTools ;
+
+Import(FCKConfig.FullBasePath + 'dialog/common/fck_dialog_common.js');
+
+var oListText ;
+var oListValue ;
+
+//#### Dialog Tabs
+
+// Set the dialog tabs.
+dialog.AddTab( 'Info', oEditor.FCKLang.DlgInfoTab ) ;
+
+if ( FCKConfig.FlashUpload )
+	dialog.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ;
+
+if ( !FCKConfig.FlashDlgHideAdvanced )
+{
+	dialog.AddTab( 'Advanced', oEditor.FCKLang.DlgAdvancedTag ) ;
+	dialog.AddTab( 'Flashvars', oEditor.FCKLang.DlgFlashvars ) ;
+}
+
+// Function called when a dialog tag is selected.
+function OnDialogTabChange( tabCode )
+{
+	ShowE('divInfo'		, ( tabCode == 'Info' ) ) ;
+	ShowE('divUpload'	, ( tabCode == 'Upload' ) ) ;
+	ShowE('divAdvanced'	, ( tabCode == 'Advanced' ) ) ;
+	ShowE('divFlashvars'	, ( tabCode == 'Flashvars' ) ) ;
+}
+
+// Get the selected flash embed (if available).
+var oFakeImage = FCK.Selection.GetSelectedElement() ;
+var oParsedFlash ;
+var oEmbed;
+
+if ( oFakeImage )
+{
+	if ( oFakeImage.getAttribute( 'SwfObjectNumber' ) )
+	{
+		oParsedFlash = FCK.SwfobjectHandler.getItem( oFakeImage.getAttribute( 'SwfObjectNumber' ) );
+		oParsedFlash.updateDimensions( oFakeImage );
+	}
+	else
+	{
+		if ( oFakeImage.tagName == 'IMG' && oFakeImage.getAttribute('_fckflash') )
+			oEmbed = FCK.GetRealElement( oFakeImage ) ;
+
+		oFakeImage = null ;
+	}
+}
+if ( !oParsedFlash )
+		oParsedFlash = FCK.SwfobjectHandler.createNew() ;
+
+window.onload = function()
+{
+	// Translate the dialog box texts.
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	oListText	= document.getElementById( 'cmbText' ) ;
+	oListValue	= document.getElementById( 'cmbValue' ) ;
+
+	// Fix the lists widths. (Bug #970)
+	oListText.style.width = "120px"; //oListText.offsetWidth ;
+	oListValue.style.width = "120px"; //oListValue.offsetWidth ;
+
+	// Load the selected element information (if any).
+	LoadSelection() ;
+
+	// Show/Hide the "Browse Server" button.
+	GetE('tdBrowse').style.display = FCKConfig.FlashBrowser	? '' : 'none' ;
+
+	// Set the actual uploader URL.
+	if ( FCKConfig.FlashUpload )
+		GetE('frmUpload').action = FCKConfig.FlashUploadURL ;
+
+	dialog.SetAutoSize( true ) ;
+
+	// Activate the "OK" button.
+	dialog.SetOkButton( true ) ;
+
+	if (typeof SelectField == 'function') SelectField( 'txtUrl' ) ;
+}
+
+function LoadSelection()
+{
+	// parse old embeds
+	if (oEmbed)
+	{
+		oParsedFlash.file    = GetAttribute( oEmbed, 'src', '' ) ;
+		oParsedFlash.width  = GetAttribute( oEmbed, 'width', '' ) ;
+		oParsedFlash.height = GetAttribute( oEmbed, 'height', '' ) ;
+
+		// Get Advances Attributes
+		oParsedFlash.attributes.id		= oEmbed.id ;
+		oParsedFlash.attributes.title		= oEmbed.title ;
+
+		if ( oEditor.FCKBrowserInfo.IsIE )
+		{
+			oParsedFlash.attributes['class'] = oEmbed.getAttribute('className') || '' ;
+			oParsedFlash.attributes.style = oEmbed.style.cssText ;
+		}
+		else
+		{
+			oParsedFlash.attributes['class'] = oEmbed.getAttribute('class',2) || '' ;
+			oParsedFlash.attributes.style = oEmbed.getAttribute('style',2) || '' ;
+		}
+
+		oParsedFlash.params.play	= GetAttribute( oEmbed, 'play', 'true' ) == 'true' ;
+		oParsedFlash.params.loop	= GetAttribute( oEmbed, 'loop', 'true' ) == 'true' ;
+		oParsedFlash.params.menu	= GetAttribute( oEmbed, 'menu', 'true' ) == 'true' ;
+		oParsedFlash.params.scale	= GetAttribute( oEmbed, 'scale', '' ).toLowerCase() ;
+	}
+
+	GetE('txtUrl').value    = oParsedFlash.file ;
+	GetE('txtWidth').value  = oParsedFlash.width ;
+	GetE('txtHeight').value = oParsedFlash.height ;
+
+	// Get Advances Attributes
+	GetE('txtAttId').value		= oParsedFlash.attributes.id || '' ;
+	GetE('txtAttTitle').value		= oParsedFlash.attributes.title || '' ;
+	GetE('txtAttClasses').value = oParsedFlash.attributes['class'] || '' ;
+	GetE('txtAttStyle').value = oParsedFlash.attributes.style ;
+
+	GetE('chkAutoPlay').checked	= oParsedFlash.params.play ;
+	GetE('chkLoop').checked		= oParsedFlash.params.loop ;
+	GetE('chkMenu').checked		= oParsedFlash.params.menu ;
+	GetE('cmbScale').value		= oParsedFlash.params.scale || '' ;
+
+	GetE('allowscriptaccess').value		= oParsedFlash.params.allowscriptaccess || '' ;
+	GetE('wmode').value		= oParsedFlash.params.wmode || '' ;
+	GetE('allowfullscreen').checked		= oParsedFlash.params.allowfullscreen ;
+
+	// flashvars
+	var opts = oParsedFlash.flashvars ;
+	for ( var v in opts )
+	{
+		var sText	= v ;
+		var sValue	= opts[v] ;
+
+		AddComboOption( oListText, sText, sText ) ;
+		AddComboOption( oListValue, sValue, sValue ) ;
+	}
+
+	UpdatePreview() ;
+}
+
+//#### The OK button was hit.
+function Ok()
+{
+	if ( GetE('txtUrl').value.length == 0 )
+	{
+		dialog.SetSelectedTab( 'Info' ) ;
+		GetE('txtUrl').focus() ;
+
+		alert( oEditor.FCKLang.DlgAlertUrl ) ;
+
+		return false ;
+	}
+
+	oEditor.FCKUndo.SaveUndoStep() ;
+
+	updateObject(oParsedFlash) ;
+
+	if ( !oFakeImage )
+		oFakeImage = oParsedFlash.createHtmlElement() ;
+
+	oParsedFlash.updateHTMLElement(oFakeImage);
+
+	return true ;
+}
+
+function updateObject( e )
+{
+	e.file = GetE('txtUrl').value;
+	e.width = GetE('txtWidth').value;
+	e.height = GetE('txtHeight').value;
+	if (e.width=='') e.width = '100';
+	if (e.height=='') e.height = '100';
+
+	// Advances Attributes
+	e.attributes.id = GetE('txtAttId').value;
+	e.attributes['class'] = GetE('txtAttClasses').value;
+	e.attributes.style = GetE('txtAttStyle').value;
+	e.attributes.title = GetE('txtAttTitle').value;
+
+	e.params.scale = GetE('cmbScale').value;
+	e.params.play = GetE('chkAutoPlay').checked;
+	e.params.loop = GetE('chkLoop').checked;
+	e.params.menu = GetE('chkMenu').checked;
+
+	e.params.allowscriptaccess = GetE('allowscriptaccess').value;
+	e.params.wmode = GetE('wmode').value;
+	e.params.allowfullscreen = GetE('allowfullscreen').checked;
+
+	// Add all available options.
+	var vars = {};
+	for ( var i = 0 ; i < oListText.options.length ; i++ )
+	{
+		var sText	= oListText.options[i].value ;
+		var sValue	= oListValue.options[i].value ;
+		if ( sValue.length == 0 ) sValue = sText ;
+		vars[sText] = sValue ;
+	}
+	e.flashvars = vars;
+}
+
+var ePreview ;
+
+function SetPreviewElement( previewEl )
+{
+	ePreview = previewEl ;
+
+	if ( GetE('txtUrl').value.length > 0 )
+		UpdatePreview() ;
+}
+
+function UpdatePreview()
+{
+	if ( !ePreview )
+		return ;
+
+	while ( ePreview.firstChild )
+		ePreview.removeChild( ePreview.firstChild ) ;
+
+	if ( GetE('txtUrl').value.length == 0 )
+		ePreview.innerHTML = '&nbsp;' ;
+	else
+	{
+		// Skip reloading the swf if it's the current preview
+		var url = GetE('txtUrl').value ;
+		if (ePreview.dataUrl == url)
+			return ;
+
+		// check if it isn't a swf file or some mix of html or an embedding page:
+		var oData = oWebVideo.ParseHtml(url, GetE('txtWidth').value, GetE('txtHeight').value );
+		GetE('txtUrl').value = oData.url ;
+		GetE('txtWidth').value = oData.width ;
+		GetE('txtHeight').value = oData.height ;
+		ePreview.dataUrl = oData.url ;
+
+		var oDoc	= ePreview.ownerDocument || ePreview.document ;
+		var e		= oDoc.createElement( 'EMBED' ) ;
+
+		SetAttribute( e, 'src', GetE('txtUrl').value ) ;
+		SetAttribute( e, 'type', 'application/x-shockwave-flash' ) ;
+		SetAttribute( e, 'width', '100%' ) ;
+		SetAttribute( e, 'height', '100%' ) ;
+
+		ePreview.appendChild( e ) ;
+	}
+}
+
+// <embed id="ePreview" src="fck_flash/claims.swf" width="100%" height="100%" style="visibility:hidden" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">
+
+function BrowseServer()
+{
+	OpenFileBrowser( FCKConfig.FlashBrowserURL, FCKConfig.FlashBrowserWindowWidth, FCKConfig.FlashBrowserWindowHeight ) ;
+}
+
+function SetUrl( url, width, height )
+{
+	GetE('txtUrl').value = url ;
+
+	if ( width )
+		GetE('txtWidth').value = width ;
+
+	if ( height )
+		GetE('txtHeight').value = height ;
+
+	UpdatePreview() ;
+
+	dialog.SetSelectedTab( 'Info' ) ;
+}
+
+function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
+{
+	// Remove animation
+	window.parent.Throbber.Hide() ;
+	GetE( 'divUpload' ).style.display  = '' ;
+
+	switch ( errorNumber )
+	{
+		case 0 :	// No errors
+			alert( 'Your file has been successfully uploaded' ) ;
+			break ;
+		case 1 :	// Custom error
+			alert( customMsg ) ;
+			return ;
+		case 101 :	// Custom warning
+			alert( customMsg ) ;
+			break ;
+		case 201 :
+			alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ;
+			break ;
+		case 202 :
+			alert( 'Invalid file type' ) ;
+			return ;
+		case 203 :
+			alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ;
+			return ;
+		case 500 :
+			alert( 'The connector is disabled' ) ;
+			break ;
+		default :
+			alert( 'Error on file upload. Error number: ' + errorNumber ) ;
+			return ;
+	}
+
+	SetUrl( fileUrl ) ;
+	GetE('frmUpload').reset() ;
+}
+
+var oUploadAllowedExtRegex	= new RegExp( FCKConfig.FlashUploadAllowedExtensions, 'i' ) ;
+var oUploadDeniedExtRegex	= new RegExp( FCKConfig.FlashUploadDeniedExtensions, 'i' ) ;
+
+function CheckUpload()
+{
+	var sFile = GetE('txtUploadFile').value ;
+
+	if ( sFile.length == 0 )
+	{
+		alert( 'Please select a file to upload' ) ;
+		return false ;
+	}
+
+	if ( ( FCKConfig.FlashUploadAllowedExtensions.length > 0 && !oUploadAllowedExtRegex.test( sFile ) ) ||
+		( FCKConfig.FlashUploadDeniedExtensions.length > 0 && oUploadDeniedExtRegex.test( sFile ) ) )
+	{
+		OnUploadCompleted( 202 ) ;
+		return false ;
+	}
+
+	// Show animation
+	window.parent.Throbber.Show( 100 ) ;
+	GetE( 'divUpload' ).style.display  = 'none' ;
+
+	return true ;
+}
+
+
+/* flashvars selects*/
+
+function Select( combo )
+{
+	var iIndex = combo.selectedIndex ;
+
+	oListText.selectedIndex		= iIndex ;
+	oListValue.selectedIndex	= iIndex ;
+
+	var oTxtText	= document.getElementById( "txtText" ) ;
+	var oTxtValue	= document.getElementById( "txtValue" ) ;
+
+	oTxtText.value	= oListText.value ;
+	oTxtValue.value	= oListValue.value ;
+}
+
+function Add()
+{
+	var oTxtText	= document.getElementById( "txtText" ) ;
+	var oTxtValue	= document.getElementById( "txtValue" ) ;
+
+	AddComboOption( oListText, oTxtText.value, oTxtText.value ) ;
+	AddComboOption( oListValue, oTxtValue.value, oTxtValue.value ) ;
+
+	oListText.selectedIndex = oListText.options.length - 1 ;
+	oListValue.selectedIndex = oListValue.options.length - 1 ;
+
+	oTxtText.value	= '' ;
+	oTxtValue.value	= '' ;
+
+	oTxtText.focus() ;
+}
+
+function Modify()
+{
+	var iIndex = oListText.selectedIndex ;
+
+	if ( iIndex < 0 ) return ;
+
+	var oTxtText	= document.getElementById( "txtText" ) ;
+	var oTxtValue	= document.getElementById( "txtValue" ) ;
+
+	oListText.options[ iIndex ].innerHTML	= HTMLEncode( oTxtText.value ) ;
+	oListText.options[ iIndex ].value		= oTxtText.value ;
+
+	oListValue.options[ iIndex ].innerHTML	= HTMLEncode( oTxtValue.value ) ;
+	oListValue.options[ iIndex ].value		= oTxtValue.value ;
+
+	oTxtText.value	= '' ;
+	oTxtValue.value	= '' ;
+
+	oTxtText.focus() ;
+}
+
+function Delete()
+{
+	RemoveSelectedOptions( oListText ) ;
+	RemoveSelectedOptions( oListValue ) ;
+}
+
+// Remove all selected options from a SELECT object
+function RemoveSelectedOptions(combo)
+{
+	// Save the selected index
+	var iSelectedIndex = combo.selectedIndex ;
+
+	var oOptions = combo.options ;
+
+	// Remove all selected options
+	for ( var i = oOptions.length - 1 ; i >= 0 ; i-- )
+	{
+		if (oOptions[i].selected) combo.remove(i) ;
+	}
+
+	// Reset the selection based on the original selected index
+	if ( combo.options.length > 0 )
+	{
+		if ( iSelectedIndex >= combo.options.length ) iSelectedIndex = combo.options.length - 1 ;
+		combo.selectedIndex = iSelectedIndex ;
+	}
+}
+
+// Add a new option to a SELECT object (combo or list)
+function AddComboOption( combo, optionText, optionValue, documentObject, index )
+{
+	var oOption ;
+
+	if ( documentObject )
+		oOption = documentObject.createElement("OPTION") ;
+	else
+		oOption = document.createElement("OPTION") ;
+
+	if ( index != null )
+		combo.options.add( oOption, index ) ;
+	else
+		combo.options.add( oOption ) ;
+
+	oOption.innerHTML = optionText.length > 0 ? HTMLEncode( optionText ) : '&nbsp;' ;
+	oOption.value     = optionValue ;
+
+	return oOption ;
+}
+
+function HTMLEncode( text )
+{
+	if ( !text )
+		return '' ;
+
+	text = text.replace( /&/g, '&amp;' ) ;
+	text = text.replace( /</g, '&lt;' ) ;
+	text = text.replace( />/g, '&gt;' ) ;
+
+	return text ;
+}
+
+
+function HTMLDecode( text )
+{
+	if ( !text )
+		return '' ;
+
+	text = text.replace( /&gt;/g, '>' ) ;
+	text = text.replace( /&lt;/g, '<' ) ;
+	text = text.replace( /&amp;/g, '&' ) ;
+
+	return text ;
+}
+
+
+
+
+// The object used for all Web Video operations.
+var oWebVideo = {
+	Objects : [ "<object width=\"(?<width>\\d+)\" height=\"(?<height>\\d+)\".* name=\"movie\"\\s+value=\"(?<url>[^\"]*)\".*<\\/object>" ,
+			// youtube style only embed
+					"<embed src=\"(?<url>[^\"]*)\".* width=\"(?<width>\\d+)\" height=\"(?<height>\\d+)\".*<\\/embed>" ,
+			// google video
+					"<embed .*width:(?<width>\\d+)px.*height:(?<height>\\d+)px.* src=\"(?<url>[^\"]*)\".*<\\/embed>" ,
+			// invalid syntax but anyway...
+					"<embed src=\"(?<url>[^\"]*)\".* width=\"(?<width>\\d+)px\" height=\"(?<height>\\d+)px\".*<\\/embed>"
+	] ,
+
+	webPages : [{re:/http:\/\/www\.youtube\.com\/watch\?v=([^&]*)(&.*|$)/, url:'http://www.youtube.com/v/$1', width:425, height:344} ,
+							{re:/http:\/\/video\.google\.(.*)\/videoplay\?docid=([^&]*)(&.*|$)/, url:'http://video.google.$1/googleplayer.swf?docid=$2', width:400, height:326}, 
+							{re:/http:\/\/www\.mtvmusic\.com\/video\/\?id=([^&]*)(&.*|$)/, url:'http://media.mtvnservices.com/mgid:uma:video:mtvmusic.com:$1', width:320, height:271} ,
+							{re:/http:\/\/www\.metacafe\.com\/watch\/(.*?)\/(.*?)(\/.*|$)/, url:'http://www.metacafe.com/fplayer/$1/$2.swf', width:400, height:345} 
+	],
+
+	// Parses the suplied HTML and returns an object with the url of the video, its width and height
+	ParseHtml : function( html, width, height )
+	{
+		// Check if it's a valid swf and skip the tests
+		var swfFile = new RegExp(".*\.swf$", i) ;
+		if ( swfFile.test(html) )
+				return {url: html, width: width, height: height } ;
+
+		// Generic system to work with any proposed embed by the site (as long as it matches the previous regexps
+		for(var i=0; i< this.Objects.length; i++)
+		{
+			// Using XRegExp to work with named captures: http://stevenlevithan.com/regex/xregexp/
+			var re = new XRegExp( this.Objects[i] ) ;
+			var parts = re.exec( html ) ;
+			if (parts)
+				return {url: parts.url, width: parts.width, height: parts.height };
+		}
+
+		// Ability to paste the url of the web site and extract the correct info. It needs to be adjusted for every site.
+		for(var i=0; i< this.webPages.length; i++)
+		{
+			var page = this.webPages[i] ;
+			var oMatch = html.match( page.re ) ;
+			if (oMatch)
+			{
+				return {url: html.replace(page.re, page.url), width: page.width, height: page.height};
+			}
+		}
+		
+		return {url: html, width: width, height: height } ;
+	}
+};
+
+
+
+
+
+// XRegExp 0.5.1, <stevenlevithan.com>, MIT License
+if(!window.XRegExp){(function(){var D={exec:RegExp.prototype.exec,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},C={part:/(?:[^\\([#\s.]+|\\(?!k<[\w$]+>)[\S\s]?|\((?=\?(?!#|<[\w$]+>)))+|(\()(?:\?(?:(#)[^)]*\)|<([$\w]+)>))?|\\k<([\w$]+)>|(\[\^?)|([\S\s])/g,replaceVar:/(?:[^$]+|\$(?![1-9$&`']|{[$\w]+}))+|\$(?:([1-9]\d*|[$&`'])|{([$\w]+)})/g,extended:/^(?:\s+|#.*)+/,quantifier:/^(?:[?*+]|{\d+(?:,\d*)?})/,classLeft:/&&\[\^?/g,classRight:/]/g},A=function(H,F,G){for(var E=G||0;E<H.length;E++){if(H[E]===F){return E}}return -1},B=/()??/.exec("")[1]!==undefined;XRegExp=function(N,H){if(N instanceof RegExp){if(H!==undefined){throw TypeError("can't supply flags when constructing one RegExp from another")}return N.addFlags()}var H=H||"",E=H.indexOf("s")>-1,J=H.indexOf("x")>-1,O=false,Q=[],G=[],F=C.part,K,I,M,L,P;F.lastIndex=0;while(K=D.exec.call(F,N)){if(K[2]){if(!C.quantifier.test(N.slice(F.lastIndex))){G.push("(?:)")}}else{if(K[1]){Q.push(K[3]||null);if(K[3]){O=true}G.push("(")}else{if(K[4]){L=A(Q,K[4]);G.push(L>-1?"\\"+(L+1)+(isNaN(N.charAt(F.lastIndex))?"":"(?:)"):K[0])}else{if(K[5]){if(N.charAt(F.lastIndex)==="]"){G.push(K[5]==="["?"(?!)":"[\\S\\s]");F.lastIndex++}else{I=XRegExp.matchRecursive("&&"+N.slice(K.index),C.classLeft,C.classRight,"",{escapeChar:"\\"})[0];G.push(K[5]+I+"]");F.lastIndex+=I.length+1}}else{if(K[6]){if(E&&K[6]==="."){G.push("[\\S\\s]")}else{if(J&&C.extended.test(K[6])){M=D.exec.call(C.extended,N.slice(F.lastIndex-1))[0].length;if(!C.quantifier.test(N.slice(F.lastIndex-1+M))){G.push("(?:)")}F.lastIndex+=M-1}else{G.push(K[6])}}}else{G.push(K[0])}}}}}}P=RegExp(G.join(""),D.replace.call(H,/[sx]+/g,""));P._x={source:N,captureNames:O?Q:null};return P};RegExp.prototype.exec=function(I){var G=D.exec.call(this,I),F,H,E;if(G){if(B&&G.length>1){E=new RegExp("^"+this.source+"$(?!\\s)",this.getNativeFlags());D.replace.call(G[0],E,function(){for(H=1;H<arguments.length-2;H++){if(arguments[H]===undefined){G[H]=undefined}}})}if(this._x&&this._x.captureNames){for(H=1;H<G.length;H++){F=this._x.captureNames[H-1];if(F){G[F]=G[H]}}}if(this.global&&this.lastIndex>(G.index+G[0].length)){this.lastIndex--}}return G};String.prototype.match=function(E){if(!(E instanceof RegExp)){E=new XRegExp(E)}if(E.global){return D.match.call(this,E)}return E.exec(this)};String.prototype.replace=function(F,G){var E=(F._x||{}).captureNames;if(!(F instanceof RegExp&&E)){return D.replace.apply(this,arguments)}if(typeof G==="function"){return D.replace.call(this,F,function(){arguments[0]=new String(arguments[0]);for(var H=0;H<E.length;H++){if(E[H]){arguments[0][E[H]]=arguments[H+1]}}return G.apply(window,arguments)})}else{return D.replace.call(this,F,function(){var H=arguments;return D.replace.call(G,C.replaceVar,function(J,I,M){if(I){switch(I){case"$":return"$";case"&":return H[0];case"`":return H[H.length-1].slice(0,H[H.length-2]);case"'":return H[H.length-1].slice(H[H.length-2]+H[0].length);default:var K="";I=+I;while(I>E.length){K=D.split.call(I,"").pop()+K;I=Math.floor(I/10)}return(I?H[I]:"$")+K}}else{if(M){var L=A(E,M);return L>-1?H[L+1]:J}else{return J}}})})}};String.prototype.split=function(J,F){if(!(J instanceof RegExp)){return D.split.apply(this,arguments)}var G=[],E=J.lastIndex,K=0,I=0,H;if(F===undefined||+F<0){F=false}else{F=Math.floor(+F);if(!F){return[]}}if(!J.global){J=J.addFlags("g")}else{J.lastIndex=0}while((!F||I++<=F)&&(H=J.exec(this))){if(J.lastIndex>K){G=G.concat(this.slice(K,H.index),(H.index===this.length?[]:H.slice(1)));K=J.lastIndex}if(!H[0].length){J.lastIndex++}}G=K===this.length?(J.test("")?G:G.concat("")):(F?G:G.concat(this.slice(K)));J.lastIndex=E;return G}})()}RegExp.prototype.getNativeFlags=function(){return(this.global?"g":"")+(this.ignoreCase?"i":"")+(this.multiline?"m":"")+(this.extended?"x":"")+(this.sticky?"y":"")};RegExp.prototype.addFlags=function(A){var B=new XRegExp(this.source,(A||"")+this.getNativeFlags());if(this._x){B._x={source:this._x.source,captureNames:this._x.captureNames?this._x.captureNames.slice(0):null}}return B};RegExp.prototype.call=function(A,B){return this.exec(B)};RegExp.prototype.apply=function(B,A){return this.exec(A[0])};XRegExp.cache=function(C,A){var B="/"+C+"/"+(A||"");return XRegExp.cache[B]||(XRegExp.cache[B]=new XRegExp(C,A))};XRegExp.escape=function(A){return A.replace(/[-[\]{}()*+?.\\^$|,#\s]/g,"\\$&")};XRegExp.matchRecursive=function(P,D,S,F,B){var B=B||{},V=B.escapeChar,K=B.valueNames,F=F||"",Q=F.indexOf("g")>-1,C=F.indexOf("i")>-1,H=F.indexOf("m")>-1,U=F.indexOf("y")>-1,F=F.replace(/y/g,""),D=D instanceof RegExp?(D.global?D:D.addFlags("g")):new XRegExp(D,"g"+F),S=S instanceof RegExp?(S.global?S:S.addFlags("g")):new XRegExp(S,"g"+F),I=[],A=0,J=0,N=0,L=0,M,E,O,R,G,T;if(V){if(V.length>1){throw SyntaxError("can't supply more than one escape character")}if(H){throw TypeError("can't supply escape character when using the multiline flag")}G=XRegExp.escape(V);T=new RegExp("^(?:"+G+"[\\S\\s]|(?:(?!"+D.source+"|"+S.source+")[^"+G+"])+)+",C?"i":"")}while(true){D.lastIndex=S.lastIndex=N+(V?(T.exec(P.slice(N))||[""])[0].length:0);O=D.exec(P);R=S.exec(P);if(O&&R){if(O.index<=R.index){R=null}else{O=null}}if(O||R){J=(O||R).index;N=(O?D:S).lastIndex}else{if(!A){break}}if(U&&!A&&J>L){break}if(O){if(!A++){M=J;E=N}}else{if(R&&A){if(!--A){if(K){if(K[0]&&M>L){I.push([K[0],P.slice(L,M),L,M])}if(K[1]){I.push([K[1],P.slice(M,E),M,E])}if(K[2]){I.push([K[2],P.slice(E,J),E,J])}if(K[3]){I.push([K[3],P.slice(J,N),J,N])}L=N}else{I.push(P.slice(E,J))}if(!Q){break}}}else{D.lastIndex=S.lastIndex=0;throw Error("subject data contains unbalanced delimiters")}}if(J===N){N++}}if(Q&&!U&&K&&K[0]&&P.length>L){I.push([K[0],P.slice(L),L,P.length])}D.lastIndex=S.lastIndex=0;return I};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/dialog/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/dialog/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/dialog/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/dialog/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+ID
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/readme.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/readme.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/readme.html	(revision 1481)
@@ -0,0 +1,11 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+ <title>googlemaps plugin index</title>
+ <META http-equiv="refresh" content="0;URL=docs/install.html">
+</head> 
+<body>
+	<p>You should have been redirected <a href="docs/install.html">to the documentation</a></p>
+</body>
+</html> 
\ No newline at end of file
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/lang/es.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/lang/es.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/lang/es.js	(revision 1481)
@@ -0,0 +1,14 @@
+FCKLang.DlgFlashvars			= 'Flashvars';
+
+FCKLang.DlgFlashScriptaccess = 'Acceso de Scripts';
+FCKLang.DlgFlashAlways = 'Siempre';
+FCKLang.DlgFlashSameDomain = 'El mismo dominio';
+FCKLang.DlgFlashNever = 'Nunca';
+FCKLang.DlgFlashWindowMode = 'Wmode';
+FCKLang.DlgFlashWindow = 'Ventana';
+FCKLang.DlgFlashOpaque = 'Opaco';
+FCKLang.DlgFlashTransparent = 'Transparente';
+FCKLang.DlgFlashAllowfullscreen = 'Permitir ventana completa';
+
+// para que quede en una linea
+FCKLang.DlgFlashChkMenu = 'MenÃº Flash';
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/lang/en.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/lang/en.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/lang/en.js	(revision 1481)
@@ -0,0 +1,11 @@
+FCKLang.DlgFlashvars			= 'Flashvars';
+
+FCKLang.DlgFlashScriptaccess = 'Script Access';
+FCKLang.DlgFlashAlways = 'Always';
+FCKLang.DlgFlashSameDomain = 'Same Domain';
+FCKLang.DlgFlashNever = 'Never';
+FCKLang.DlgFlashWindowMode = 'Window Mode';
+FCKLang.DlgFlashWindow = 'Window';
+FCKLang.DlgFlashOpaque = 'Opaque';
+FCKLang.DlgFlashTransparent = 'Transparent';
+FCKLang.DlgFlashAllowfullscreen = 'Allow Fullscreen';
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/lang/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/lang/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/lang/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/lang/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+ID
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/images/preview.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/images/preview.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/images/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/images/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/images/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/images/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+ID
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/docs/installation.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/docs/installation.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/docs/install.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/docs/install.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/docs/install.html	(revision 1481)
@@ -0,0 +1,113 @@
+ï»¿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>SWFObject plugin</title>
+<link href="styles.css" rel="stylesheet" type="text/css">
+</head>
+
+<body>
+<h1>SWFObject Plugin for FCKeditor</h1>
+<!--
+<div id="languages"> Change your language 
+  <ul>
+    <li><a href="install_es.html" lang="es"><img src="es.png" alt="EspaÃ±ol" width="23" height="15" border="0"></a></li>
+  </ul>
+</div>
+-->
+<h2>Introduction</h2>
+<p>This is a dialog-based plugin to replace the default flash insertion in <a href="http://www.fckeditor.net">FCKeditor</a> (using &lt;embed&gt;) with <a href="http://code.google.com/p/swfobject/">SWFObject 2</a> (with the dynamic publishing method, &lt;script&gt;)</p>
+<p>Besides generating the code with SWFObject, the insertion dialog allows to set the allowscriptaccess, wmode and allowfullscreen Flash parameters, and the posibility to add any flashvars that you need.</p>
+<h3 id="contact">Author:</h3>
+<p><a href="mailto:amla70@gmail.com">Alfonso Mart&iacute;nez de Lizarrondo</a></p>
+<h3>Sponsored by:</h3>
+<p><a href="http://www.incontrolsolutions.com">InControl Solutions</a></p>
+<p><a href="http://www.uritec.net">Uritec</a></p>
+<h3>Version history: </h3>
+<ol>
+  <li>1.0: 14/09/2008. Based on standard flash dialog.</li>
+  <li>1.1: 15/09/2008. Fixes, add flashvars editor, fullscreen, allowscriptaccess, wmode</li>
+  <li>1.2: 21/09/2008. Fixes for IE, added the swfobject_WrapperClass option. Included the FCKCommentsProcessor code. Change behavior according to the swfObjectPath value.</li>
+  <li>1.3: 26/09/2008. More fixes for IE. It should work also in FCKeditor 2.5.</li>
+  <li>1.4: 26/10/2008. Automatic parsing of embedding code pasted in the url field. Added the swfObject_FlashVersion and swfObject_ExpressInstall configuration options.</li>
+	<li>1.5: 26/11/2008. Use by default a library hosted by Google, so no extra steps required to install. Added CDATA coments for the generated script.</li>
+	<li>1.6: 06/08/2009. Updated the default linked library to <a href="http://code.google.com/p/swfobject/wiki/whats_new">SWFObject 2.2</a>.</li>
+</ol>
+<p><a href="http://martinezdelizarrondo.com/swfobject/">Get the latest version and/or updated info</a> </p>
+
+<h2>Installation</h2>
+<h3>1. Copying the files</h3>
+<p>Extract the contents of the zip in you plugins directory, so it ends up like
+    this<br>
+    <img src="installation.png" alt="Screenshot of installation" width="311" height="346" longdesc="#install"></p>
+<pre id="install">
+editor\
+	...
+	js\
+	lang\
+	plugins\
+		...
+		swfobject
+			fckplugin.js
+			readme.html
+			dialog\
+			docs\
+			images\
+			lang\
+		...
+	skins\
+</pre>
+<h3>2. Adding it to FCKeditor</h3>
+<p>Now add in your <em>fckconfig.js</em> or custom js configuration
+file the following line:
+<code>FCKConfig.Plugins.Add( 'swfobject', 'en,es') ;</code>
+</p>
+<h3>3. Adding it to the toolbarset</h3>
+<p>This plugin replaces the default flash dialog, just use the normal 'Flash' button.
+</p>
+<h3 id="configure">4. Configure the plugin</h3>
+<p>These are the possible config values:</p>
+<ul>
+	<li id="swfObjectPath">FCKConfig.<strong>swfObjectPath</strong>: It's the path to the version of the SwfObject script<br>
+	Since 1.5, if this entry is missing then it will default to use a <a href="http://code.google.com/p/swfobject/wiki/hosted_library">version hosted by Google</a>. If you want to use a script hosted in your server, then go to the <a href="http://code.google.com/p/swfobject/">SWFObject page</a> and download it, extract it in some place in your server, and then put the path to the swfobject.js file in this entry.<br>
+	Note: if you leave an empty string (FCKConfig.swfObjectPath = "") then the plugin won't generate the code to include the SWFObject plugin, it's assumed that you have already included it in your page.
+	</li>
+	<li id="WrapperClass">FCKConfig.<strong>swfobject_WrapperClass</strong>: If this entry contains a non-empty value then a div
+	will be generated with this class wrapping the flash object<br>
+	Important: in the preview inside the editor, the class will be applied to an image, not a div!</li>
+	<li id="FlashVersion">FCKConfig.<strong>swfobject_FlashVersion</strong>: It represents the version of the flash player that your movie
+	was published for. If this entry doesn't exist it defaults to "7.0.0". </li>
+	<li id="ExpressInstall">FCKConfig.<strong>swfObject_ExpressInstall</strong>: It can contain the path to a swf movie to activate the Express install feature. It's the parameter explained in the third point of <a href="http://code.google.com/p/swfobject/wiki/documentation#STEP_3:_Register_your_Flash_content_with_the_SWFObject_library_a">the SWFObject documentation</a></li>
+</ul>
+
+<p>All these values can be set in the <em>fckconfig.js</em> file, a custom js configuration
+  file, or at the moment of the <a href="http://alfonsoml.blogspot.com/2008/02/adding-configuration-entries-when.html">creation of the FCKeditor instance using any
+  language</a>.</p>
+<h3>5. Use it</h3>
+<p align="right">Now empty the cache of your browser and reload the editor, the new Flash dialog will be shown.</p>
+<p>Besides generating the code with SWFObject, the insertion dialog allows to set the allowscriptaccess, wmode and allowfullscreen Flash parameters, and the posibility to add any flashvars that you need.</p>
+<p>Since version 1.4, pasting embedding code generated by external sites as YouTube 
+<code>&lt;object width="425" height="344"&gt;
+&lt;param name="movie" value="http://www.youtube.com/v/nj2hewPBQh0&hl=es&fs=1"&gt;&lt;/param&gt;
+&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;
+&lt;embed src="http://www.youtube.com/v/nj2hewPBQh0&hl=es&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;
+&lt;/object&gt;
+</code> does generate the proper code in FCKeditor</p>
+<h2>Final notes</h2>
+<p>If you find this plugin useful, consider making a donation so it can be further
+improved, any amount can help to keep the development running.</p>
+<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
+<input type="hidden" name="cmd" value="_s-xclick">
+<input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-but04.gif" name="submit" alt="Make payments with PayPal - it's fast, free and secure!">
+<img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
+<input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----MIIH2QYJKoZIhvcNAQcEoIIHyjCCB8YCAQExggEwMIIBLAIBADCBlDCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20CAQAwDQYJKoZIhvcNAQEBBQAEgYAbYIYvNE50oNSFj8nHIeZ0/T5OzQfY8n+5fliwYQtSYuvHnix6+DAVVKVuRmpV4EnbzXNssyi+sdCZb+Sn7nBH7+KWP5+4L4NMIcA7OkXsoPz6qV/nBwUBnovch1hU7sqREOZJAUc42/SzvEQ5Hn+aMuGUVeLlp8BLlif2wmPkhDELMAkGBSsOAwIaBQAwggFVBgkqhkiG9w0BBwEwFAYIKoZIhvcNAwcECI9Erh51StqNgIIBMBptZf5Yd10wgcMUGRODhBxYbwKlGL8FUm5S+AftDhUnXUK6IzYorscKgaxI0ks1k+KnIO9QH7L9WwlQjSiDWXtcMjEkY7qMc99MpForo2gobt7U3OK3u00vNUm9krXwLN7S56hpvn9iyXuMi5V+4FbYe8pjn1OA/+tA7wOTgyGDhthQbLiQRQq9zWXiclYUjuhdMdeNfDHbpjeCiIoWb8AasDokSjgM8Xl0ls3nPEH4haiVTJ+uo2D28GfbDnjohaUq1A/ykweP3cBRMqYuXe6aqbciDA6NqRzrHQ7IjaXAMnLaGkV+1PjNWJi/TEAWeHD3p/JP1lAOX3vXW0tDQc0ylcJuy4khtoLjxg9/ZHFzSPfTh0ajUL1IzDremTfetBUelmiVsgZvycuWpIyUzLGgggOHMIIDgzCCAuygAwIBAgIBADANBgkqhkiG9w0BAQUFADCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20wHhcNMDQwMjEzMTAxMzE1WhcNMzUwMjEzMTAxMzE1WjCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMFHTt38RMxLXJyO2SmS+Ndl72T7oKJ4u4uw+6awntALWh03PewmIJuzbALScsTS4sZoS1fKciBGoh11gIfHzylvkdNe/hJl66/RGqrj5rFb08sAABNTzDTiqqNpJeBsYs/c2aiGozptX2RlnBktH+SUNpAajW724Nv2Wvhif6sFAgMBAAGjge4wgeswHQYDVR0OBBYEFJaffLvGbxe9WT9S1wob7BDWZJRrMIG7BgNVHSMEgbMwgbCAFJaffLvGbxe9WT9S1wob7BDWZJRroYGUpIGRMIGOMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC1BheVBhbCBJbmMuMRMwEQYDVQQLFApsaXZlX2NlcnRzMREwDwYDVQQDFAhsaXZlX2FwaTEcMBoGCSqGSIb3DQEJARYNcmVAcGF5cGFsLmNvbYIBADAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBAIFfOlaagFrl71+jq6OKidbWFSE+Q4FqROvdgIONth+8kSK//Y/4ihuE4Ymvzn5ceE3S/iBSQQMjyvb+s2TWbQYDwcp129OPIbD9epdr4tJOUNiSojw7BHwYRiPh58S1xGlFgHFXwrEBb3dgNbMUa+u4qectsMAXpVHnD9wIyfmHMYIBmjCCAZYCAQEwgZQwgY4xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLUGF5UGFsIEluYy4xEzARBgNVBAsUCmxpdmVfY2VydHMxETAPBgNVBAMUCGxpdmVfYXBpMRwwGgYJKoZIhvcNAQkBFg1yZUBwYXlwYWwuY29tAgEAMAkGBSsOAwIaBQCgXTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0wNzA4MzEyMDU2NDhaMCMGCSqGSIb3DQEJBDEWBBQjaqRi8z31g3jdLrk+d0klj24zkjANBgkqhkiG9w0BAQEFAASBgFDK8nFr91urBOkipQBqjhhXY/tTNSVhFV0GsJSMQ3zdsgyMcZP5b4WohD5NLoPCibKL7nihgPd9AFCVyw6fLOg82F1MojGS2Gu6c6bGD2L827VCyg1WRm14svHTEwSnprvxBEbi91cBrQcNP5MZFDOuoucZg9uPGr/S8xzp0+Af-----END PKCS7-----
+">
+</form>
+<p>If you need some special feature for this plugin, or if you need any other kind of plugin 
+for FCKeditor then <a href="#contact">contact me</a> and we can discuss it</p>
+<h2>Disclaimers</h2>
+<p>FCKeditor is &copy; FredCK.com</p>
+<p>The SWFObject is Copyright &copy; 2007-2008 Geoff Stearns, Michael Williams, and Bobby van der Sluis</p>
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/docs/index.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/docs/index.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/docs/index.html	(revision 1481)
@@ -0,0 +1,11 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+ <title>googlemaps plugin index</title>
+ <META http-equiv="refresh" content="0;URL=install.html">
+</head> 
+<body>
+	<p>You should have been redirected <a href="install.html">to the documentation</a></p>
+</body>
+</html> 
\ No newline at end of file
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/docs/styles.css
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/docs/styles.css	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/docs/styles.css	(revision 1481)
@@ -0,0 +1,59 @@
+body {
+	font-family: Arial, Helvetica, sans-serif;
+	font-size: 90%;
+}
+h1 {
+	text-align:center;
+	font-size:180%;
+}
+h2 {
+	border-bottom:2px solid #CCC;
+	margin:1em 0 0.4em 0;
+}
+h3 {
+	margin-bottom:0.4em;
+}
+p {
+	margin:0 0 1em 1em;
+	text-align:justify;
+}
+ol {
+	margin:0 0 1.2em 1em;
+	padding:0;
+	list-style-type:none;
+}
+ol li {
+	margin:0.2em 0;
+}
+pre, code {
+	font-size:100%;
+	font-family:"Courier New", Courier, mono;
+	background-color: #CCCCCC;
+	border:1px solid #999;
+	padding:0.2em 1em;
+	margin: 0.4em 0;
+	display:block;
+	white-space: pre;
+	overflow: auto;
+}
+form {
+	margin:0 0 0 1em;
+}
+span.key {
+	color: #006600;
+}
+#install {
+	display:none
+}
+#languages ul {
+	display:inline;
+	list-style-type:none;
+	margin:0;
+	padding:0;
+}
+#languages li {
+	display:inline;
+	margin:0;
+	padding:0;
+	vertical-align:bottom;
+}
\ No newline at end of file
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/docs/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/docs/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/docs/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/docs/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+ID
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/fckplugin.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/fckplugin.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/fckplugin.js	(revision 1481)
@@ -0,0 +1,548 @@
+ï»¿/*
+ *
+ * File Name: fckplugin.js
+ * 	Plugin to add flash files using SwfObject 2
+ *
+ * File Authors:
+ * 		Alfonso MartÃ­nez de Lizarrondo
+ *
+ * Developed for InControlSolutions
+ *
+ * Version: 1.5
+ */
+
+
+/**
+	FCKCommentsProcessor
+	---------------------------
+	It's run after a document has been loaded, it detects all the protected source elements
+
+	In order to use it, you add your comment parser with
+	FCKCommentsProcessor.AddParser( function )
+*/
+if (typeof FCKCommentsProcessor === 'undefined')
+{
+	var FCKCommentsProcessor = FCKDocumentProcessor.AppendNew() ;
+	FCKCommentsProcessor.ProcessDocument = function( oDoc )
+	{
+		if ( FCK.EditMode != FCK_EDITMODE_WYSIWYG )
+			return ;
+
+		if ( !oDoc )
+			return ;
+
+	//Find all the comments: <!--{PS..0}-->
+	//try to choose the best approach according to the browser:
+		if ( oDoc.evaluate )
+			this.findCommentsXPath( oDoc );
+		else
+		{
+			if (oDoc.all)
+				this.findCommentsIE( oDoc.body ) ;
+			else
+				this.findComments( oDoc.body ) ;
+		}
+
+	}
+
+	FCKCommentsProcessor.findCommentsXPath = function(oDoc) {
+		var nodesSnapshot = oDoc.evaluate('//body//comment()', oDoc.body, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null );
+
+		for ( var i=0 ; i < nodesSnapshot.snapshotLength; i++ )
+		{
+			this.parseComment( nodesSnapshot.snapshotItem(i) ) ;
+		}
+	}
+
+	FCKCommentsProcessor.findCommentsIE = function(oNode) {
+		var aComments = oNode.getElementsByTagName( '!' );
+		for(var i=aComments.length-1; i >=0 ; i--)
+		{
+			var comment = aComments[i] ;
+			if (comment.nodeType == 8 ) // oNode.COMMENT_NODE)
+				this.parseComment( comment ) ;
+		}
+	}
+
+	// Fallback function, iterate all the nodes and its children searching for comments.
+	FCKCommentsProcessor.findComments = function( oNode )
+	{
+		if (oNode.nodeType == 8 ) // oNode.COMMENT_NODE)
+		{
+			this.parseComment( oNode ) ;
+		}
+		else
+		{
+			if (oNode.hasChildNodes())
+			{
+				var children = oNode.childNodes ;
+				for (var i = children.length-1; i >=0 ; i--)
+					this.findComments( children[ i ] );
+			}
+		}
+	}
+
+	// We get a comment node
+	// Check that it's one that we are interested on:
+	FCKCommentsProcessor.parseComment = function( oNode )
+	{
+		var value = oNode.nodeValue ;
+
+		// Difference between 2.4.3 and 2.5
+		var prefix = ( FCKConfig.ProtectedSource._CodeTag || 'PS\\.\\.' ) ;
+
+		var regex = new RegExp( "\\{" + prefix + "(\\d+)\\}", "g" ) ;
+
+		if ( regex.test( value ) )
+		{
+			var index = RegExp.$1 ;
+			var content = FCKTempBin.Elements[ index ] ;
+
+			// Now call the registered parser handlers.
+			var oCalls = this.ParserHandlers ;
+			if ( oCalls )
+			{
+				for ( var i = 0 ; i < oCalls.length ; i++ )
+					oCalls[ i ]( oNode, content, index ) ;
+
+			}
+
+		}
+	}
+
+	/**
+		The users of the object will add a parser here, the callback function gets two parameters:
+			oNode: it's the node in the editorDocument that holds the position of our content
+			oContent: it's the node (removed from the document) that holds the original contents
+			index: the reference in the FCKTempBin of our content
+	*/
+	FCKCommentsProcessor.AddParser = function( handlerFunction )
+	{
+		if ( !this.ParserHandlers )
+			this.ParserHandlers = [ handlerFunction ] ;
+		else
+		{
+			// Check that the event handler isn't already registered with the same listener
+			// It doesn't detect function pointers belonging to an object (at least in Gecko)
+			if ( this.ParserHandlers.IndexOf( handlerFunction ) == -1 )
+				this.ParserHandlers.push( handlerFunction ) ;
+		}
+	}
+}
+/**
+	END of FCKCommentsProcessor
+	---------------------------
+*/
+
+/**
+  @desc  inject the function
+  @author  Aimingoo&Riceball
+*/
+function Inject( aOrgFunc, aBeforeExec, aAtferExec ) {
+  return function() {
+    if (typeof(aBeforeExec) == 'function') arguments = aBeforeExec.apply(this, arguments) || arguments;
+    //convert arguments object to array
+    var Result, args = [].slice.call(arguments);
+    args.push(aOrgFunc.apply(this, args));
+    if (typeof(aAtferExec) == 'function') Result = aAtferExec.apply(this, args);
+    return (typeof(Result) != 'undefined')?Result:args.pop();
+  } ;
+}
+
+// If it hasn't been set, then use a version hosted by Google.
+if (typeof FCKConfig.swfObjectPath === 'undefined')
+	FCKConfig.swfObjectPath = "http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js" ;
+
+
+// Replace the default flash dialog:
+FCKCommands.LoadedCommands[ 'Flash' ] = new FCKDialogCommand( 'Flash', FCKLang.DlgFlashTitle, FCKPlugins.Items['swfobject'].Path + 'dialog/fck_flash.html', 450, 390 ) ;
+
+// Check if the comment it's one of our scripts:
+FCKCommentsProcessor.AddParser(  function( oNode, oContent, index)
+{
+		if ( FCK.SwfobjectHandler.detectScript( oContent ) )
+		{
+			var oSWF = FCK.SwfobjectHandler.createNew() ;
+			oSWF.parse( oContent ) ;
+			oSWF.createHtmlElement( oNode, index ) ;
+		}
+		else
+		{
+			if ( FCK.SwfobjectHandler.detectSwfObjectScript( oContent ) )
+				oNode.parentNode.removeChild( oNode );
+		}
+} );
+
+// Context menu
+FCK.ContextMenu.RegisterListener( {
+	AddItems : function( menu, tag, tagName )
+	{
+		// under what circumstances do we display this option
+		if ( tagName == 'IMG' && tag.getAttribute( 'swfobjectnumber' ) )
+		{
+//			menu.AddSeparator() ;
+			// No other options:
+			menu.RemoveAllItems() ;
+			// the command needs the registered command name, the title for the context menu, and the icon path
+			menu.AddItem( 'Flash', FCKLang.FlashProperties, 38 ) ;
+		}
+	}}
+);
+
+// Double click
+FCK.RegisterDoubleClickHandler( function( oNode )
+{
+	if ( !oNode.getAttribute( 'swfobjectnumber' ))
+		return ;
+
+	FCK.Commands.GetCommand( 'Flash' ).Execute() ;
+}, 'IMG' ) ;
+
+
+// Object that handles the common functions about all the players
+FCK.SwfobjectHandler = {
+	// Object to store a reference to each player
+	Items: {},
+
+	getItem: function(id){
+		return this.Items[id];
+	},
+
+	// Verify that the node is a script generated by this plugin.
+	detectScript: function( script )
+	{
+		// We only know about version 1:
+		if ( !(/FCK swfobject v1\.(\d+)/.test(script)) )
+			return false;
+
+		return true ;
+	},
+
+	// Detects both the google script as well as our ending block
+	// both must be removed and then added later only if neccesary
+	detectSwfObjectScript: function( script )
+	{
+		return (/<script.*>\/\/swfobject plugin<\/script>/.test(script) ) ;
+	},
+
+	SwfObjectScript : function()
+	{
+		return (FCKConfig.swfObjectPath === '' ? '' : '\r\n<script src="' + FCKConfig.swfObjectPath + '" type="text/javascript">//swfobject plugin<\/script>'	) ;
+	}() ,
+
+	// This can be called from the dialog
+	createNew: function()
+	{
+		var item = new swfobject() ;
+		this.Items[ item.number ] = item;
+		return item;
+	},
+
+	// We will use this to track the number of maps that are generated
+	// This way we know if we must add the Google Script or not.
+	// We store their names so they are called properly from BuildEndingScript
+	CreatedItemsNames : [],
+
+	// Function that will be injected into the normal core
+	GetXHTMLAfter: function( node, includeNode, format, Result )
+	{
+/*
+		if (FCK.SwfobjectHandler.CreatedItemsNames.length > 0)
+		{
+			Result += FCK.SwfobjectHandler.BuildEndingScript() ;
+		}
+*/
+		// Reset the counter each time the GetXHTML function is called
+		FCK.SwfobjectHandler.CreatedItemsNames = [];
+
+		return Result ;
+	},
+
+	// Store any previous processor so nothing breaks
+	previousProcessor: FCKXHtml.TagProcessors[ 'img' ]
+}
+
+
+
+
+
+// Our object that will handle parsing of the script and creating the new one.
+var swfobject = function()
+{
+	var now = new Date() ;
+	this.number = '' + now.getFullYear() + now.getMonth() + now.getDate() + now.getHours() + now.getMinutes() + now.getSeconds() ;
+
+	this.file = '';
+	this.width = FCKConfig.swfobject_Width || '';
+	this.height = FCKConfig.swfobject_Height || '';
+	this.version = FCKConfig.swfObject_FlashVersion || '7.0.0' ;
+	this.expressInstall = FCKConfig.swfObject_ExpressInstall || false ;
+	if (this.expressInstall) this.expressInstall = '"' + this.expressInstall + '"' ;
+
+	this.flashvars = {};
+	this.params = {scale:'',play:true,menu:true,loop:true,allowfullscreen:false,wmode:'',allowscriptaccess:''};
+	this.attributes = {id:'',"class":'',style:'',title:''};
+
+	this.WrapperClass = FCKConfig.swfobject_WrapperClass || '' ;
+}
+
+
+swfobject.prototype.createHtmlElement = function( oReplacedNode, index)
+{
+	var oFakeNode = FCK.EditorDocument.createElement( 'IMG' ) ;
+
+	// Are we creating a new map?
+	if ( !oReplacedNode )
+	{
+    index = FCKTempBin.AddElement( this.BuildScript() ) ;
+		var prefix = ( FCKConfig.ProtectedSource._CodeTag || 'PS..' ) ;
+		oReplacedNode = FCK.EditorDocument.createComment( '{' + prefix + index + '}' ) ;
+		FCK.InsertElement(oReplacedNode);
+	}
+//	oFakeNode.contentEditable = false ;
+//	oFakeNode.setAttribute( '_fckfakelement', 'true', 0 ) ;
+
+	oFakeNode.setAttribute( '_fckrealelement', FCKTempBin.AddElement( oReplacedNode ), 0 ) ;
+	oFakeNode.setAttribute( '_fckBinNode', index, 0 ) ;
+
+	oFakeNode.src = FCKConfig.FullBasePath + 'images/spacer.gif' ;
+	oFakeNode.style.display = 'block' ;
+	oFakeNode.style.border = '1px solid black' ;
+	oFakeNode.style.background = 'white center center url("' + FCKPlugins.Items['swfobject'].Path + 'images/preview.png' + '") no-repeat' ;
+
+	oFakeNode.setAttribute("SwfObjectNumber", this.number, 0) ;
+
+	oReplacedNode.parentNode.insertBefore( oFakeNode, oReplacedNode ) ;
+	oReplacedNode.parentNode.removeChild( oReplacedNode ) ;
+
+	// dimensions
+	this.updateHTMLElement( oFakeNode );
+
+	return oFakeNode ;
+}
+
+swfobject.prototype.updateScript = function( oFakeNode )
+{
+	this.updateDimensions( oFakeNode ) ;
+
+	var index = oFakeNode.getAttribute( '_fckBinNode' );
+	FCKTempBin.Elements[ index ] =  this.BuildScript() ;
+}
+
+swfobject.prototype.updateHTMLElement = function( oFakeNode )
+{
+	oFakeNode.width = this.width ;
+	oFakeNode.height = this.height ;
+
+	// The wrapper class is applied to the IMG not to a wrapping DIV !!!
+	if ( this.WrapperClass !== '')
+		oFakeNode.className = this.WrapperClass ;
+}
+
+// Read the dimensions back from the fake node (the user might have manually resized it)
+swfobject.prototype.updateDimensions = function( oFakeNode )
+{
+	var iWidth, iHeight ;
+	var regexSize = /^\s*(\d+)px\s*$/i ;
+
+	if ( oFakeNode.style.width )
+	{
+		var aMatchW  = oFakeNode.style.width.match( regexSize ) ;
+		if ( aMatchW )
+		{
+			iWidth = aMatchW[1] ;
+			oFakeNode.style.width = '' ;
+			oFakeNode.width = iWidth ;
+		}
+	}
+
+	if ( oFakeNode.style.height )
+	{
+		var aMatchH  = oFakeNode.style.height.match( regexSize ) ;
+		if ( aMatchH )
+		{
+			iHeight = aMatchH[1] ;
+			oFakeNode.style.height = '' ;
+			oFakeNode.height = iHeight ;
+		}
+	}
+
+	this.width	= iWidth ? iWidth : oFakeNode.width ;
+	this.height	= iHeight ? iHeight : oFakeNode.height ;
+}
+
+swfobject.prototype.parse = function( script )
+{
+	function parseValue(value)
+	{
+		if (value==="true")
+			return true;
+		if (value==="false")
+			return false;
+		return value ;
+	}
+
+	// We only know about version 1:
+	if ( !(/FCK swfobject v1\.(\d+)/.test(script)) )
+		return false;
+
+	var version = parseInt(RegExp.$1, 10) ;
+
+	// dimensions:
+	var regexpDimensions = /<div id="flash(\d+)" style="width\:\s*(\d+)px; height\:\s*(\d+)px;">/ ;
+	if (regexpDimensions.test( script ) )
+	{
+		delete FCK.SwfobjectHandler.Items[this.number] ;
+		this.number = RegExp.$1 ;
+		FCK.SwfobjectHandler.Items[this.number] = this ;
+
+		this.width = RegExp.$2 ;
+		this.height = RegExp.$3 ;
+	}
+
+	var regexpWrapper = /<div class=("|')(.*)\1.*\/\/wrapper/ ;
+	if (regexpWrapper.test( script ) )
+		this.WrapperClass = RegExp.$2 ;
+	else
+		this.WrapperClass = '' ;
+
+// swfobject.embedSWF("/userfiles/flash/gridlock.swf", "flash200881416419", 300, 100, "7.0.0", "", flashvars, params, attributes);
+	var regexpFile = /swfobject\.embedSWF\("(.*?)",/ ;
+	if (regexpFile.test( script ) )
+		this.file = RegExp.$1 ;
+
+	// parse automatically all the variables.
+	var regexpParams = /params\["(.*)"\]="(.*)"/g ;
+	var regexpAttributes = /attributes\["(.*)"\]="(.*)"/g ;
+	var regexpFlashvars = /flashvars\["(.*)"\]="(.*)"/g ;
+	if (version<3)
+	{
+		regexpParams = /params.(.*)="(.*)"/g ;
+		regexpAttributes = /attributes.(.*)="(.*)"/g ;
+		regexpFlashvars = /flashvars.(.*)="(.*)"/g ;
+	}
+
+	while( (result = regexpParams.exec(script)) )
+	{
+		this.params[result[1]] = parseValue(result[2]) ;
+	}
+
+	while( (result = regexpAttributes.exec(script)) )
+	{
+		this.attributes[result[1]] = parseValue(result[2]) ;
+	}
+
+	while( (result = regexpFlashvars.exec(script)) )
+	{
+		this.flashvars[result[1]] = parseValue(result[2]) ;
+	}
+
+	return true;
+}
+
+swfobject.prototype.BuildScript = function()
+{
+	var versionMarker = '/* FCK swfobject v1.5 */' ;
+
+	var v, aScript = [] ;
+	aScript.push('\r\n<script type="text/javascript">') ;
+	aScript.push('/*<![CDATA[*/');
+	aScript.push( versionMarker ) ;
+
+	if ( this.WrapperClass !== '')
+		aScript.push('document.write(\'<div class="' + this.WrapperClass + '">\'); //wrapper');
+
+	aScript.push('document.write(\'<div id="flash' + this.number + '" style="width:' + this.width + 'px; height:' + this.height + 'px;"><a href="http://www.macromedia.com/go/getflashplayer">Get the Flash Player<\\\/a> to see this player.<\\\/div>\');');
+
+	if ( this.WrapperClass !== '')
+		aScript.push('document.write(\'<\\\/div>\'); ');
+
+
+	aScript.push('var params={};');
+	aScript.push('var attributes={};');
+	aScript.push('var flashvars = {};');
+
+	for(v in this.params)
+	{
+		if (this.params[v]!=='')
+			aScript.push('	params["' + v + '"]="' + this.params[v] + '";');
+	}
+
+	for(v in this.attributes)
+	{
+		if (this.attributes[v]!=='')
+			aScript.push('	attributes["' + v + '"]="' + this.attributes[v] + '";');
+	}
+
+	for(v in this.flashvars)
+	{
+		if (this.flashvars[v]!=='')
+			aScript.push('	flashvars["' + v + '"]="' + this.flashvars[v] + '";');
+	}
+
+	aScript.push('swfobject.embedSWF("' + this.file + '", "flash' + this.number + '", ' + this.width + ', ' + this.height + ', "' + this.version + '", ' + this.expressInstall + ', flashvars, params, attributes);') ;
+
+	aScript.push('/*]]>*/');
+	aScript.push('</script>');
+
+	return aScript.join('\r\n');
+}
+
+
+
+
+// Modifications of the core routines of FCKeditor:
+
+FCKXHtml.GetXHTML = Inject(FCKXHtml.GetXHTML, null, FCK.SwfobjectHandler.GetXHTMLAfter ) ;
+
+FCKXHtml.TagProcessors.img = function( node, htmlNode, xmlNode )
+{
+	if ( htmlNode.getAttribute( 'SwfObjectNumber' ) )
+	{
+		var oMap = FCK.SwfobjectHandler.getItem( htmlNode.getAttribute( 'SwfObjectNumber' ) ) ;
+		FCK.SwfobjectHandler.CreatedItemsNames.push( oMap.number ) ;
+
+		oMap.updateScript( htmlNode );
+		node = FCK.GetRealElement( htmlNode ) ;
+		if ( FCK.SwfobjectHandler.CreatedItemsNames.length == 1 )
+		{
+			// If it is the first map, insert the google maps script
+			var index = FCKTempBin.AddElement( FCK.SwfobjectHandler.SwfObjectScript ) ;
+			var prefix = ( FCKConfig.ProtectedSource._CodeTag || 'PS..' ) ;
+			oScriptCommentNode = xmlNode.ownerDocument.createComment( '{' + prefix + index + '}' ) ;
+			xmlNode.appendChild( oScriptCommentNode ) ;
+		}
+
+		return xmlNode.ownerDocument.createComment( node.nodeValue ) ;
+	}
+
+	if (typeof FCK.SwfobjectHandler.previousProcessor == 'function')
+		node = FCK.SwfobjectHandler.previousProcessor( node, htmlNode, xmlNode ) ;
+	else
+		node = FCKXHtml._AppendChildNodes( node, htmlNode, false ) ;
+
+	return node ;
+};
+
+
+// Returns an array with the available classes defined in the Styles
+function GetAvailableClasses( nodeName )
+{
+	var styles = FCK.Styles.GetStyles() ;
+	var aClasses = [{name:'', classname:''}];
+
+	for ( var styleName in styles )
+	{
+		var style = styles[styleName] ;
+		if (style.IsCore)
+			continue;
+
+		if (style.Element == nodeName)
+		{
+			if (style._StyleDesc.Attributes && style._StyleDesc.Attributes['class'] )
+				aClasses.push( {name:styleName, classname:style._StyleDesc.Attributes['class']} ) ;
+		}
+	}
+
+	return aClasses ;
+}
\ No newline at end of file
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+ID
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/autogrow/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/autogrow/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/autogrow/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/autogrow/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/autogrow/fckplugin.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/autogrow/fckplugin.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/autogrow/fckplugin.js	(revision 1481)
@@ -0,0 +1,111 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Plugin: automatically resizes the editor until a configurable maximun
+ * height (FCKConfig.AutoGrowMax), based on its contents.
+ */
+
+var FCKAutoGrow = {
+	MIN_HEIGHT : window.frameElement.offsetHeight,
+
+	Check : function()
+	{
+		var delta = FCKAutoGrow.GetHeightDelta() ;
+		if ( delta != 0 )
+		{
+			var newHeight = window.frameElement.offsetHeight + delta ;
+
+			newHeight = FCKAutoGrow.GetEffectiveHeight( newHeight ) ;
+
+			if ( newHeight != window.frameElement.height )
+			{
+				window.frameElement.style.height = newHeight + "px" ;
+
+				// Gecko browsers use an onresize handler to update the innermost
+				// IFRAME's height. If the document is modified before the onresize
+				// is triggered, the plugin will miscalculate the new height. Thus,
+				// forcibly trigger onresize. #1336
+				if ( typeof window.onresize == 'function' )
+				{
+					window.onresize() ;
+				}
+			}
+		}
+	},
+
+	CheckEditorStatus : function( sender, status )
+	{
+		if ( status == FCK_STATUS_COMPLETE )
+			FCKAutoGrow.Check() ;
+	},
+
+	GetEffectiveHeight : function( height )
+	{
+		if ( height < FCKAutoGrow.MIN_HEIGHT )
+			height = FCKAutoGrow.MIN_HEIGHT;
+		else
+		{
+			var max = FCKConfig.AutoGrowMax;
+			if ( max && max > 0 && height > max )
+				height = max;
+		}
+
+		return height;
+	},
+
+	GetHeightDelta : function()
+	{
+		var oInnerDoc = FCK.EditorDocument ;
+
+		var iFrameHeight ;
+		var iInnerHeight ;
+
+		if ( FCKBrowserInfo.IsIE )
+		{
+			iFrameHeight = FCK.EditorWindow.frameElement.offsetHeight ;
+			iInnerHeight = oInnerDoc.body.scrollHeight ;
+		}
+		else
+		{
+			iFrameHeight = FCK.EditorWindow.innerHeight ;
+			iInnerHeight = oInnerDoc.body.offsetHeight +
+				( parseInt( FCKDomTools.GetCurrentElementStyle( oInnerDoc.body, 'margin-top' ), 10 ) || 0 ) +
+				( parseInt( FCKDomTools.GetCurrentElementStyle( oInnerDoc.body, 'margin-bottom' ), 10 ) || 0 ) ;
+		}
+
+		return iInnerHeight - iFrameHeight ;
+	},
+
+	SetListeners : function()
+	{
+		if ( FCK.EditMode != FCK_EDITMODE_WYSIWYG )
+			return ;
+
+		FCK.EditorWindow.attachEvent( 'onscroll', FCKAutoGrow.Check ) ;
+		FCK.EditorDocument.attachEvent( 'onkeyup', FCKAutoGrow.Check ) ;
+	}
+};
+
+FCK.AttachToOnSelectionChange( FCKAutoGrow.Check ) ;
+
+if ( FCKBrowserInfo.IsIE )
+	FCK.Events.AttachEvent( 'OnAfterSetHTML', FCKAutoGrow.SetListeners ) ;
+
+FCK.Events.AttachEvent( 'OnStatusChange', FCKAutoGrow.CheckEditorStatus ) ;
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/dragresizetable/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/dragresizetable/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/dragresizetable/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/dragresizetable/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/dragresizetable/fckplugin.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/dragresizetable/fckplugin.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/dragresizetable/fckplugin.js	(revision 1481)
@@ -0,0 +1,529 @@
+ï»¿var FCKDragTableHandler =
+{
+	"_DragState" : 0,
+	"_LeftCell" : null,
+	"_RightCell" : null,
+	"_MouseMoveMode" : 0,	// 0 - find candidate cells for resizing, 1 - drag to resize
+	"_ResizeBar" : null,
+	"_OriginalX" : null,
+	"_MinimumX" : null,
+	"_MaximumX" : null,
+	"_LastX" : null,
+	"_TableMap" : null,
+	"_doc" : document,
+	"_IsInsideNode" : function( w, domNode, pos )
+	{
+		var myCoords = FCKTools.GetWindowPosition( w, domNode ) ;
+		var xMin = myCoords.x ;
+		var yMin = myCoords.y ;
+		var xMax = parseInt( xMin, 10 ) + parseInt( domNode.offsetWidth, 10 ) ;
+		var yMax = parseInt( yMin, 10 ) + parseInt( domNode.offsetHeight, 10 ) ;
+		if ( pos.x >= xMin && pos.x <= xMax && pos.y >= yMin && pos.y <= yMax )
+			return true;
+		return false;
+	},
+	"_GetBorderCells" : function( w, tableNode, tableMap, mouse )
+	{
+		// Enumerate all the cells in the table.
+		var cells = [] ;
+		for ( var i = 0 ; i < tableNode.rows.length ; i++ )
+		{
+			var r = tableNode.rows[i] ;
+			for ( var j = 0 ; j < r.cells.length ; j++ )
+				cells.push( r.cells[j] ) ;
+		}
+
+		if ( cells.length < 1 )
+			return null ;
+
+		// Get the cells whose right or left border is nearest to the mouse cursor's x coordinate.
+		var minRxDist = null ;
+		var lxDist = null ;
+		var minYDist = null ;
+		var rbCell = null ;
+		var lbCell = null ;
+		for ( var i = 0 ; i < cells.length ; i++ )
+		{
+			var pos = FCKTools.GetWindowPosition( w, cells[i] ) ;
+			var rightX = pos.x + parseInt( cells[i].clientWidth, 10 ) ;
+			var rxDist = mouse.x - rightX ;
+			var yDist = mouse.y - ( pos.y + ( cells[i].clientHeight / 2 ) ) ;
+			if ( minRxDist == null ||
+					( Math.abs( rxDist ) <= Math.abs( minRxDist ) &&
+					  ( minYDist == null || Math.abs( yDist ) <= Math.abs( minYDist ) ) ) )
+			{
+				minRxDist = rxDist ;
+				minYDist = yDist ;
+				rbCell = cells[i] ;
+			}
+		}
+		/*
+		var rowNode = FCKTools.GetElementAscensor( rbCell, "tr" ) ;
+		var cellIndex = rbCell.cellIndex + 1 ;
+		if ( cellIndex >= rowNode.cells.length )
+			return null ;
+		lbCell = rowNode.cells.item( cellIndex ) ;
+		*/
+		var rowIdx = rbCell.parentNode.rowIndex ;
+		var colIdx = FCKTableHandler._GetCellIndexSpan( tableMap, rowIdx, rbCell ) ;
+		var colSpan = isNaN( rbCell.colSpan ) ? 1 : rbCell.colSpan ;
+		lbCell = tableMap[rowIdx][colIdx + colSpan] ;
+
+		if ( ! lbCell )
+			return null ;
+
+		// Abort if too far from the border.
+		lxDist = mouse.x - FCKTools.GetWindowPosition( w, lbCell ).x ;
+		if ( lxDist < 0 && minRxDist < 0 && minRxDist < -2 )
+			return null ;
+		if ( lxDist > 0 && minRxDist > 0 && lxDist > 3 )
+			return null ;
+
+		return { "leftCell" : rbCell, "rightCell" : lbCell } ;
+	},
+	"_GetResizeBarPosition" : function()
+	{
+		var row = FCKTools.GetElementAscensor( this._RightCell, "tr" ) ;
+		return FCKTableHandler._GetCellIndexSpan( this._TableMap, row.rowIndex, this._RightCell ) ;
+	},
+	"_ResizeBarMouseDownListener" : function( evt )
+	{
+		if ( FCKDragTableHandler._LeftCell )
+			FCKDragTableHandler._MouseMoveMode = 1 ;
+		if ( FCKBrowserInfo.IsIE )
+			FCKDragTableHandler._ResizeBar.filters.item("DXImageTransform.Microsoft.Alpha").opacity = 50 ;
+		else
+			FCKDragTableHandler._ResizeBar.style.opacity = 0.5 ;
+		FCKDragTableHandler._OriginalX = evt.clientX ;
+
+		// Calculate maximum and minimum x-coordinate delta.
+		var borderIndex = FCKDragTableHandler._GetResizeBarPosition() ;
+		var offset = FCKDragTableHandler._GetIframeOffset();
+		var table = FCKTools.GetElementAscensor( FCKDragTableHandler._LeftCell, "table" );
+		var minX = null ;
+		var maxX = null ;
+		for ( var r = 0 ; r < FCKDragTableHandler._TableMap.length ; r++ )
+		{
+			var leftCell = FCKDragTableHandler._TableMap[r][borderIndex - 1] ;
+			var rightCell = FCKDragTableHandler._TableMap[r][borderIndex] ;
+			var leftPosition = FCKTools.GetWindowPosition( FCK.EditorWindow, leftCell ) ;
+			var rightPosition = FCKTools.GetWindowPosition( FCK.EditorWindow, rightCell ) ;
+			var leftPadding = FCKDragTableHandler._GetCellPadding( table, leftCell ) ;
+			var rightPadding = FCKDragTableHandler._GetCellPadding( table, rightCell ) ;
+			if ( minX == null || leftPosition.x + leftPadding > minX )
+				minX = leftPosition.x + leftPadding ;
+			if ( maxX == null || rightPosition.x + rightCell.clientWidth - rightPadding < maxX )
+				maxX = rightPosition.x + rightCell.clientWidth - rightPadding ;
+		}
+
+		FCKDragTableHandler._MinimumX = minX + offset.x ;
+		FCKDragTableHandler._MaximumX = maxX + offset.x ;
+		FCKDragTableHandler._LastX = null ;
+
+		if (evt.preventDefault)
+			evt.preventDefault();
+		else
+			evt.returnValue = false;
+	},
+	"_ResizeBarMouseUpListener" : function( evt )
+	{
+		FCKDragTableHandler._MouseMoveMode = 0 ;
+		FCKDragTableHandler._HideResizeBar() ;
+
+		if ( FCKDragTableHandler._LastX == null )
+			return ;
+
+		// Calculate the delta value.
+		var deltaX = FCKDragTableHandler._LastX - FCKDragTableHandler._OriginalX ;
+
+		// Then, build an array of current column width values.
+		// This algorithm can be very slow if the cells have insane colSpan values. (e.g. colSpan=1000).
+		var table = FCKTools.GetElementAscensor( FCKDragTableHandler._LeftCell, "table" ) ;
+		var colArray = [] ;
+		var tableMap = FCKDragTableHandler._TableMap ;
+		for ( var i = 0 ; i < tableMap.length ; i++ )
+		{
+			for ( var j = 0 ; j < tableMap[i].length ; j++ )
+			{
+				var cell = tableMap[i][j] ;
+				var width = FCKDragTableHandler._GetCellWidth( table, cell ) ;
+				var colSpan = isNaN( cell.colSpan) ? 1 : cell.colSpan ;
+				if ( colArray.length <= j )
+					colArray.push( { width : width / colSpan, colSpan : colSpan } ) ;
+				else
+				{
+					var guessItem = colArray[j] ;
+					if ( guessItem.colSpan > colSpan )
+					{
+						guessItem.width = width / colSpan ;
+						guessItem.colSpan = colSpan ;
+					}
+				}
+			}
+		}
+
+		// Find out the equivalent column index of the two cells selected for resizing.
+		colIndex = FCKDragTableHandler._GetResizeBarPosition() ;
+
+		// Note that colIndex must be at least 1 here, so it's safe to subtract 1 from it.
+		colIndex-- ;
+
+		// Modify the widths in the colArray according to the mouse coordinate delta value.
+		colArray[colIndex].width += deltaX ;
+		colArray[colIndex + 1].width -= deltaX ;
+
+		// Clear all cell widths, delete all <col> elements from the table.
+		for ( var r = 0 ; r < table.rows.length ; r++ )
+		{
+			var row = table.rows.item( r ) ;
+			for ( var c = 0 ; c < row.cells.length ; c++ )
+			{
+				var cell = row.cells.item( c ) ;
+				cell.width = "" ;
+				cell.style.width = "" ;
+			}
+		}
+		var colElements = table.getElementsByTagName( "col" ) ;
+		for ( var i = colElements.length - 1 ; i >= 0 ; i-- )
+			colElements[i].parentNode.removeChild( colElements[i] ) ;
+
+		// Set new cell widths.
+		var processedCells = [] ;
+		for ( var i = 0 ; i < tableMap.length ; i++ )
+		{
+			for ( var j = 0 ; j < tableMap[i].length ; j++ )
+			{
+				var cell = tableMap[i][j] ;
+				if ( cell._Processed )
+					continue ;
+				if ( tableMap[i][j-1] != cell )
+					cell.width = colArray[j].width ;
+				else
+					cell.width = parseInt( cell.width, 10 ) + parseInt( colArray[j].width, 10 ) ;
+				if ( tableMap[i][j+1] != cell )
+				{
+					processedCells.push( cell ) ;
+					cell._Processed = true ;
+				}
+			}
+		}
+		for ( var i = 0 ; i < processedCells.length ; i++ )
+		{
+			if ( FCKBrowserInfo.IsIE )
+				processedCells[i].removeAttribute( '_Processed' ) ;
+			else
+				delete processedCells[i]._Processed ;
+		}
+
+		FCKDragTableHandler._LastX = null ;
+	},
+	"_ResizeBarMouseMoveListener" : function( evt )
+	{
+		if ( FCKDragTableHandler._MouseMoveMode == 0 )
+			return FCKDragTableHandler._MouseFindHandler( FCK, evt ) ;
+		else
+			return FCKDragTableHandler._MouseDragHandler( FCK, evt ) ;
+	},
+	// Calculate the padding of a table cell.
+	// It returns the value of paddingLeft + paddingRight of a table cell.
+	// This function is used, in part, to calculate the width parameter that should be used for setting cell widths.
+	// The equation in question is clientWidth = paddingLeft + paddingRight + width.
+	// So that width = clientWidth - paddingLeft - paddingRight.
+	// The return value of this function must be pixel accurate acorss all supported browsers, so be careful if you need to modify it.
+	"_GetCellPadding" : function( table, cell )
+	{
+		var attrGuess = parseInt( table.cellPadding, 10 ) * 2 ;
+		var cssGuess = null ;
+		if ( typeof( window.getComputedStyle ) == "function" )
+		{
+			var styleObj = window.getComputedStyle( cell, null ) ;
+			cssGuess = parseInt( styleObj.getPropertyValue( "padding-left" ), 10 ) +
+				parseInt( styleObj.getPropertyValue( "padding-right" ), 10 ) ;
+		}
+		else
+			cssGuess = parseInt( cell.currentStyle.paddingLeft, 10 ) + parseInt (cell.currentStyle.paddingRight, 10 ) ;
+
+		var cssRuntime = cell.style.padding ;
+		if ( isFinite( cssRuntime ) )
+			cssGuess = parseInt( cssRuntime, 10 ) * 2 ;
+		else
+		{
+			cssRuntime = cell.style.paddingLeft ;
+			if ( isFinite( cssRuntime ) )
+				cssGuess = parseInt( cssRuntime, 10 ) ;
+			cssRuntime = cell.style.paddingRight ;
+			if ( isFinite( cssRuntime ) )
+				cssGuess += parseInt( cssRuntime, 10 ) ;
+		}
+
+		attrGuess = parseInt( attrGuess, 10 ) ;
+		cssGuess = parseInt( cssGuess, 10 ) ;
+		if ( isNaN( attrGuess ) )
+			attrGuess = 0 ;
+		if ( isNaN( cssGuess ) )
+			cssGuess = 0 ;
+		return Math.max( attrGuess, cssGuess ) ;
+	},
+	// Calculate the real width of the table cell.
+	// 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
+	// that, the table cell should be of exactly the same width as before.
+	// The real width of a table cell can be calculated as:
+	// width = clientWidth - paddingLeft - paddingRight.
+	"_GetCellWidth" : function( table, cell )
+	{
+		var clientWidth = cell.clientWidth ;
+		if ( isNaN( clientWidth ) )
+			clientWidth = 0 ;
+		return clientWidth - this._GetCellPadding( table, cell ) ;
+	},
+	"MouseMoveListener" : function( FCK, evt )
+	{
+		if ( FCKDragTableHandler._MouseMoveMode == 0 )
+			return FCKDragTableHandler._MouseFindHandler( FCK, evt ) ;
+		else
+			return FCKDragTableHandler._MouseDragHandler( FCK, evt ) ;
+	},
+	"_MouseFindHandler" : function( FCK, evt )
+	{
+		if ( FCK.MouseDownFlag )
+			return ;
+		var node = evt.srcElement || evt.target ;
+		try
+		{
+			if ( ! node || node.nodeType != 1 )
+			{
+				this._HideResizeBar() ;
+				return ;
+			}
+		}
+		catch ( e )
+		{
+			this._HideResizeBar() ;
+			return ;
+		}
+
+		// Since this function might be called from the editing area iframe or the outer fckeditor iframe,
+		// the mouse point coordinates from evt.clientX/Y can have different reference points.
+		// We need to resolve the mouse pointer position relative to the editing area iframe.
+		var mouseX = evt.clientX ;
+		var mouseY = evt.clientY ;
+		if ( FCKTools.GetElementDocument( node ) == document )
+		{
+			var offset = this._GetIframeOffset() ;
+			mouseX -= offset.x ;
+			mouseY -= offset.y ;
+		}
+
+
+		if ( this._ResizeBar && this._LeftCell )
+		{
+			var leftPos = FCKTools.GetWindowPosition( FCK.EditorWindow, this._LeftCell ) ;
+			var rightPos = FCKTools.GetWindowPosition( FCK.EditorWindow, this._RightCell ) ;
+			var rxDist = mouseX - ( leftPos.x + this._LeftCell.clientWidth ) ;
+			var lxDist = mouseX - rightPos.x ;
+			var inRangeFlag = false ;
+			if ( lxDist >= 0 && rxDist <= 0 )
+				inRangeFlag = true ;
+			else if ( rxDist > 0 && lxDist <= 3 )
+				inRangeFlag = true ;
+			else if ( lxDist < 0 && rxDist >= -2 )
+				inRangeFlag = true ;
+			if ( inRangeFlag )
+			{
+				this._ShowResizeBar( FCK.EditorWindow,
+					FCKTools.GetElementAscensor( this._LeftCell, "table" ),
+					{ "x" : mouseX, "y" : mouseY } ) ;
+				return ;
+			}
+		}
+
+		var tagName = node.tagName.toLowerCase() ;
+		if ( tagName != "table" && tagName != "td" && tagName != "th" )
+		{
+			if ( this._LeftCell )
+				this._LeftCell = this._RightCell = this._TableMap = null ;
+			this._HideResizeBar() ;
+			return ;
+		}
+		node = FCKTools.GetElementAscensor( node, "table" ) ;
+		var tableMap = FCKTableHandler._CreateTableMap( node ) ;
+		var cellTuple = this._GetBorderCells( FCK.EditorWindow, node, tableMap, { "x" : mouseX, "y" : mouseY } ) ;
+
+		if ( cellTuple == null )
+		{
+			if ( this._LeftCell )
+				this._LeftCell = this._RightCell = this._TableMap = null ;
+			this._HideResizeBar() ;
+		}
+		else
+		{
+			this._LeftCell = cellTuple["leftCell"] ;
+			this._RightCell = cellTuple["rightCell"] ;
+			this._TableMap = tableMap ;
+			this._ShowResizeBar( FCK.EditorWindow,
+					FCKTools.GetElementAscensor( this._LeftCell, "table" ),
+					{ "x" : mouseX, "y" : mouseY } ) ;
+		}
+	},
+	"_MouseDragHandler" : function( FCK, evt )
+	{
+		var mouse = { "x" : evt.clientX, "y" : evt.clientY } ;
+
+		// Convert mouse coordinates in reference to the outer iframe.
+		var node = evt.srcElement || evt.target ;
+		if ( FCKTools.GetElementDocument( node ) == FCK.EditorDocument )
+		{
+			var offset = this._GetIframeOffset() ;
+			mouse.x += offset.x ;
+			mouse.y += offset.y ;
+		}
+
+		// Calculate the mouse position delta and see if we've gone out of range.
+		if ( mouse.x >= this._MaximumX - 5 )
+			mouse.x = this._MaximumX - 5 ;
+		if ( mouse.x <= this._MinimumX + 5 )
+			mouse.x = this._MinimumX + 5 ;
+
+		var docX = mouse.x + FCKTools.GetScrollPosition( window ).X ;
+		this._ResizeBar.style.left = ( docX - this._ResizeBar.offsetWidth / 2 ) + "px" ;
+		this._LastX = mouse.x ;
+	},
+	"_ShowResizeBar" : function( w, table, mouse )
+	{
+		if ( this._ResizeBar == null )
+		{
+			this._ResizeBar = this._doc.createElement( "div" ) ;
+			var paddingBar = this._ResizeBar ;
+			var paddingStyles = { 'position' : 'absolute', 'cursor' : 'e-resize' } ;
+			if ( FCKBrowserInfo.IsIE )
+				paddingStyles.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=10,enabled=true)" ;
+			else
+				paddingStyles.opacity = 0.10 ;
+			FCKDomTools.SetElementStyles( paddingBar, paddingStyles ) ;
+			this._avoidStyles( paddingBar );
+			paddingBar.setAttribute('_fcktemp', true);
+			this._doc.body.appendChild( paddingBar ) ;
+			FCKTools.AddEventListener( paddingBar, "mousemove", this._ResizeBarMouseMoveListener ) ;
+			FCKTools.AddEventListener( paddingBar, "mousedown", this._ResizeBarMouseDownListener ) ;
+			FCKTools.AddEventListener( document, "mouseup", this._ResizeBarMouseUpListener ) ;
+			FCKTools.AddEventListener( FCK.EditorDocument, "mouseup", this._ResizeBarMouseUpListener ) ;
+
+			// IE doesn't let the tranparent part of the padding block to receive mouse events unless there's something inside.
+			// So we need to create a spacer image to fill the block up.
+			var filler = this._doc.createElement( "img" ) ;
+			filler.setAttribute('_fcktemp', true);
+			filler.border = 0 ;
+			filler.src = FCKConfig.BasePath + "images/spacer.gif" ;
+			filler.style.position = "absolute" ;
+			paddingBar.appendChild( filler ) ;
+
+			// Disable drag and drop, and selection for the filler image.
+			var disabledListener = function( evt )
+			{
+				if ( evt.preventDefault )
+					evt.preventDefault() ;
+				else
+					evt.returnValue = false ;
+			}
+			FCKTools.AddEventListener( filler, "dragstart", disabledListener ) ;
+			FCKTools.AddEventListener( filler, "selectstart", disabledListener ) ;
+		}
+
+		var paddingBar = this._ResizeBar ;
+		var offset = this._GetIframeOffset() ;
+		var tablePos = this._GetTablePosition( w, table ) ;
+		var barHeight = table.offsetHeight ;
+		var barTop = offset.y + tablePos.y ;
+		// Do not let the resize bar intrude into the toolbar area.
+		if ( tablePos.y < 0 )
+		{
+			barHeight += tablePos.y ;
+			barTop -= tablePos.y ;
+		}
+		var bw = parseInt( table.border, 10 ) ;
+		if ( isNaN( bw ) )
+			bw = 0 ;
+		var cs = parseInt( table.cellSpacing, 10 ) ;
+		if ( isNaN( cs ) )
+			cs = 0 ;
+		var barWidth = Math.max( bw+100, cs+100 ) ;
+		var paddingStyles =
+		{
+			'top'		: barTop + 'px',
+			'height'	: barHeight + 'px',
+			'width'		: barWidth + 'px',
+			'left'		: ( offset.x + mouse.x + FCKTools.GetScrollPosition( w ).X - barWidth / 2 ) + 'px'
+		} ;
+		if ( FCKBrowserInfo.IsIE )
+			paddingBar.filters.item("DXImageTransform.Microsoft.Alpha").opacity = 10 ;
+		else
+			paddingStyles.opacity = 0.1 ;
+
+		FCKDomTools.SetElementStyles( paddingBar, paddingStyles ) ;
+		var filler = paddingBar.getElementsByTagName( "img" )[0] ;
+
+		FCKDomTools.SetElementStyles( filler,
+			{
+				width	: paddingBar.offsetWidth + 'px',
+				height	: barHeight + 'px'
+			} ) ;
+
+		barWidth = Math.max( bw, cs, 3 ) ;
+		var visibleBar = null ;
+		if ( paddingBar.getElementsByTagName( "div" ).length < 1 )
+		{
+			visibleBar = this._doc.createElement( "div" ) ;
+			this._avoidStyles( visibleBar );
+			visibleBar.setAttribute('_fcktemp', true);
+			paddingBar.appendChild( visibleBar ) ;
+		}
+		else
+			visibleBar = paddingBar.getElementsByTagName( "div" )[0] ;
+
+		FCKDomTools.SetElementStyles( visibleBar,
+			{
+				position		: 'absolute',
+				backgroundColor	: 'blue',
+				width			: barWidth + 'px',
+				height			: barHeight + 'px',
+				left			: '50px',
+				top				: '0px'
+			} ) ;
+	},
+	"_HideResizeBar" : function()
+	{
+		if ( this._ResizeBar )
+			// IE bug: display : none does not hide the resize bar for some reason.
+			// so set the position to somewhere invisible.
+			FCKDomTools.SetElementStyles( this._ResizeBar,
+				{
+					top		: '-100000px',
+					left	: '-100000px'
+				} ) ;
+	},
+	"_GetIframeOffset" : function ()
+	{
+		return FCKTools.GetDocumentPosition( window, FCK.EditingArea.IFrame ) ;
+	},
+	"_GetTablePosition" : function ( w, table )
+	{
+		return FCKTools.GetWindowPosition( w, table ) ;
+	},
+	"_avoidStyles" : function( element )
+	{
+		FCKDomTools.SetElementStyles( element,
+			{
+				padding		: '0',
+				backgroundImage	: 'none',
+				border		: '0'
+			} ) ;
+	},
+	"Reset" : function()
+	{
+		FCKDragTableHandler._LeftCell = FCKDragTableHandler._RightCell = FCKDragTableHandler._TableMap = null ;
+	}
+
+};
+
+FCK.Events.AttachEvent( "OnMouseMove", FCKDragTableHandler.MouseMoveListener ) ;
+FCK.Events.AttachEvent( "OnAfterSetHTML", FCKDragTableHandler.Reset ) ;
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/tablecommands/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/tablecommands/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/tablecommands/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../../../../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/tablecommands/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/tablecommands/fckplugin.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/tablecommands/fckplugin.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/tablecommands/fckplugin.js	(revision 1481)
@@ -0,0 +1,33 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This plugin register the required Toolbar items to be able to insert the
+ * table commands in the toolbar.
+ */
+
+FCKToolbarItems.RegisterItem( 'TableInsertRowAfter'		, new FCKToolbarButton( 'TableInsertRowAfter'	, FCKLang.InsertRowAfter, null, null, null, true, 62 ) ) ;
+FCKToolbarItems.RegisterItem( 'TableDeleteRows'		, new FCKToolbarButton( 'TableDeleteRows'	, FCKLang.DeleteRows, null, null, null, true, 63 ) ) ;
+FCKToolbarItems.RegisterItem( 'TableInsertColumnAfter'	, new FCKToolbarButton( 'TableInsertColumnAfter'	, FCKLang.InsertColumnAfter, null, null, null, true, 64 ) ) ;
+FCKToolbarItems.RegisterItem( 'TableDeleteColumns'	, new FCKToolbarButton( 'TableDeleteColumns', FCKLang.DeleteColumns, null, null, null, true, 65 ) ) ;
+FCKToolbarItems.RegisterItem( 'TableInsertCellAfter'		, new FCKToolbarButton( 'TableInsertCellAfter'	, FCKLang.InsertCellAfter, null, null, null, true, 58 ) ) ;
+FCKToolbarItems.RegisterItem( 'TableDeleteCells'	, new FCKToolbarButton( 'TableDeleteCells'	, FCKLang.DeleteCells, null, null, null, true, 59 ) ) ;
+FCKToolbarItems.RegisterItem( 'TableMergeCells'		, new FCKToolbarButton( 'TableMergeCells'	, FCKLang.MergeCells, null, null, null, true, 60 ) ) ;
+FCKToolbarItems.RegisterItem( 'TableHorizontalSplitCell'		, new FCKToolbarButton( 'TableHorizontalSplitCell'	, FCKLang.SplitCell, null, null, null, true, 61 ) ) ;
+FCKToolbarItems.RegisterItem( 'TableCellProp'		, new FCKToolbarButton( 'TableCellProp'	, FCKLang.CellProperties, null, null, null, true, 57 ) ) ;
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/simplecommands/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/simplecommands/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/simplecommands/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/simplecommands/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/simplecommands/fckplugin.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/simplecommands/fckplugin.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/simplecommands/fckplugin.js	(revision 1481)
@@ -0,0 +1,29 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This plugin register Toolbar items for the combos modifying the style to
+ * not show the box.
+ */
+
+FCKToolbarItems.RegisterItem( 'SourceSimple'	, new FCKToolbarButton( 'Source', FCKLang.Source, null, FCK_TOOLBARITEM_ONLYICON, true, true, 1 ) ) ;
+FCKToolbarItems.RegisterItem( 'StyleSimple'		, new FCKToolbarStyleCombo( null, FCK_TOOLBARITEM_ONLYTEXT ) ) ;
+FCKToolbarItems.RegisterItem( 'FontNameSimple'	, new FCKToolbarFontsCombo( null, FCK_TOOLBARITEM_ONLYTEXT ) ) ;
+FCKToolbarItems.RegisterItem( 'FontSizeSimple'	, new FCKToolbarFontSizeCombo( null, FCK_TOOLBARITEM_ONLYTEXT ) ) ;
+FCKToolbarItems.RegisterItem( 'FontFormatSimple', new FCKToolbarFontFormatCombo( null, FCK_TOOLBARITEM_ONLYTEXT ) ) ;
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/bbcode/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/bbcode/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/bbcode/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/bbcode/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/bbcode/fckplugin.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/bbcode/fckplugin.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/plugins/bbcode/fckplugin.js	(revision 1481)
@@ -0,0 +1,123 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This is a sample implementation for a custom Data Processor for basic BBCode.
+ */
+
+FCK.DataProcessor =
+{
+	/*
+	 * Returns a string representing the HTML format of "data". The returned
+	 * value will be loaded in the editor.
+	 * The HTML must be from <html> to </html>, eventually including
+	 * the DOCTYPE.
+	 *     @param {String} data The data to be converted in the
+	 *            DataProcessor specific format.
+	 */
+	ConvertToHtml : function( data )
+	{
+		// Convert < and > to their HTML entities.
+        data = data.replace( /</g, '&lt;' ) ;
+        data = data.replace( />/g, '&gt;' ) ;
+
+        // Convert line breaks to <br>.
+        data = data.replace( /(?:\r\n|\n|\r)/g, '<br>' ) ;
+
+        // [url]
+        data = data.replace( /\[url\](.+?)\[\/url]/gi, '<a href="$1">$1</a>' ) ;
+        data = data.replace( /\[url\=([^\]]+)](.+?)\[\/url]/gi, '<a href="$1">$2</a>' ) ;
+
+        // [b]
+        data = data.replace( /\[b\](.+?)\[\/b]/gi, '<b>$1</b>' ) ;
+
+        // [i]
+        data = data.replace( /\[i\](.+?)\[\/i]/gi, '<i>$1</i>' ) ;
+
+        // [u]
+        data = data.replace( /\[u\](.+?)\[\/u]/gi, '<u>$1</u>' ) ;
+
+		return '<html><head><title></title></head><body>' + data + '</body></html>' ;
+	},
+
+	/*
+	 * Converts a DOM (sub-)tree to a string in the data format.
+	 *     @param {Object} rootNode The node that contains the DOM tree to be
+	 *            converted to the data format.
+	 *     @param {Boolean} excludeRoot Indicates that the root node must not
+	 *            be included in the conversion, only its children.
+	 *     @param {Boolean} format Indicates that the data must be formatted
+	 *            for human reading. Not all Data Processors may provide it.
+	 */
+	ConvertToDataFormat : function( rootNode, excludeRoot, ignoreIfEmptyParagraph, format )
+	{
+		var data = rootNode.innerHTML ;
+
+		// Convert <br> to line breaks.
+		data = data.replace( /<br(?=[ \/>]).*?>/gi, '\r\n') ;
+
+		// [url]
+		data = data.replace( /<a .*?href=(["'])(.+?)\1.*?>(.+?)<\/a>/gi, '[url=$2]$3[/url]') ;
+
+		// [b]
+		data = data.replace( /<(?:b|strong)>/gi, '[b]') ;
+		data = data.replace( /<\/(?:b|strong)>/gi, '[/b]') ;
+
+		// [i]
+		data = data.replace( /<(?:i|em)>/gi, '[i]') ;
+		data = data.replace( /<\/(?:i|em)>/gi, '[/i]') ;
+
+		// [u]
+		data = data.replace( /<u>/gi, '[u]') ;
+		data = data.replace( /<\/u>/gi, '[/u]') ;
+
+		// Remove remaining tags.
+		data = data.replace( /<[^>]+>/g, '') ;
+
+		return data ;
+	},
+
+	/*
+	 * Makes any necessary changes to a piece of HTML for insertion in the
+	 * editor selection position.
+	 *     @param {String} html The HTML to be fixed.
+	 */
+	FixHtml : function( html )
+	{
+		return html ;
+	}
+} ;
+
+// This Data Processor doesn't support <p>, so let's use <br>.
+FCKConfig.EnterMode = 'br' ;
+
+// To avoid pasting invalid markup (which is discarded in any case), let's
+// force pasting to plain text.
+FCKConfig.ForcePasteAsPlainText	= true ;
+
+// Rename the "Source" buttom to "BBCode".
+FCKToolbarItems.RegisterItem( 'Source', new FCKToolbarButton( 'Source', 'BBCode', null, FCK_TOOLBARITEM_ICONTEXT, true, true, 1 ) ) ;
+
+// Let's enforce the toolbar to the limits of this Data Processor. A custom
+// toolbar set may be defined in the configuration file with more or less entries.
+FCKConfig.ToolbarSets["Default"] = [
+	['Source'],
+	['Bold','Italic','Underline','-','Link'],
+	['About']
+] ;
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/omg_smile.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/omg_smile.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/lightbulb.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/lightbulb.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/envelope.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/envelope.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/angel_smile.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/angel_smile.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/cry_smile.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/cry_smile.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/thumbs_down.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/thumbs_down.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/tounge_smile.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/tounge_smile.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/regular_smile.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/regular_smile.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/devil_smile.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/devil_smile.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/confused_smile.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/confused_smile.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/shades_smile.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/shades_smile.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/sad_smile.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/sad_smile.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/wink_smile.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/wink_smile.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/whatchutalkingabout_smile.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/whatchutalkingabout_smile.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/teeth_smile.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/teeth_smile.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/heart.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/heart.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/embaressed_smile.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/embaressed_smile.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/cake.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/cake.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/broken_heart.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/broken_heart.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/thumbs_up.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/thumbs_up.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/kiss.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/kiss.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/angry_smile.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/smiley/msn/angry_smile.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/arrow_ltr.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/arrow_ltr.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/arrow_rtl.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/arrow_rtl.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/spacer.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/spacer.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/anchor.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/images/anchor.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/fck_editor.css
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/fck_editor.css	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/fck_editor.css	(revision 1481)
@@ -0,0 +1,98 @@
+@charset "UTF-8";
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Styles used by the editor IFRAME and Toolbar.
+ */
+/*
+	### Basic Editor IFRAME Styles.
+*/
+body { padding: 1px; margin: 0; background-color: #ffffff; }
+#xEditingArea { border: #696969 1px solid; }
+.SourceField { padding: 5px; margin: 0px; font-family: Monospace; }
+/*
+	Toolbar
+*/
+.TB_ToolbarSet, .TB_Expand, .TB_Collapse { background-color: #f7f8fd; cursor: default; }
+.TB_ToolbarSet { border-top: #f7f8fd 1px outset; border-bottom: #f7f8fd 1px outset; }
+.TB_Toolbar { display: inline-table; background-color: #d6dff7; background-image: url(images/toolbar.bg.gif); background-repeat: repeat-x; }
+.TB_Separator { width: 1px; margin: 2px; background-color: #B2CBFF; height: 16px; }
+.TB_Start { margin: 0px; width: 7px; background-image: url(images/toolbar.start.gif); background-repeat: no-repeat; background-position: center center; height: 24px; }
+.TB_End { width: 4px; background-image: url(images/toolbar.end.gif); background-repeat: no-repeat; background-position: center left; height: 24px; }
+.TB_ExpandImg { background-image: url(images/toolbar.expand.gif); background-repeat: no-repeat; }
+.TB_CollapseImg { background-image: url(images/toolbar.collapse.gif); background-repeat: no-repeat; }
+.TB_SideBorder { background-color: #696969; }
+.TB_Expand, .TB_Collapse { padding: 2px 2px 2px 2px; border: #f7f8fd 1px outset; }
+.TB_Collapse { width: 5px; }
+.TB_Break { height: 24px; /* IE needs the height to be set, otherwise no break */ }
+/*
+	Toolbar Button
+*/
+.TB_Button_On, .TB_Button_Off, .TB_Button_On_Over, .TB_Button_Off_Over, .TB_Button_Disabled { margin: 1px; height: 22px; /* The height is necessary, otherwise IE will not apply the alpha */ }
+.TB_Button_On { margin: 0px; border: #316ac5 1px solid; background-color: #c1d2ee; }
+.TB_Button_On_Over, .TB_Button_Off_Over { margin: 0px; border: #316ac5 1px solid; background-color: #dff1ff; }
+.TB_Button_Padding { width: 3px; visibility: hidden; height: 22px; }
+.TB_Button_Image { width: 16px; margin: 3px; background-repeat: no-repeat; overflow: hidden; height: 16px; }
+.TB_Button_Image img { position: relative; }
+.TB_ConnectionLine { margin-left: 1px; /* ltr */ margin-right: 1px; /* rtl */ background-color: #f7f8fd; height: 1px; }
+.TB_Button_On_Over .TB_Text { background-color: #dff1ff; /* Needed because of a bug on ClearType */ }
+/*
+	Menu
+*/
+.MN_Menu { border: 1px solid #8f8f73; padding: 2px; background-color: #f7f8fd; cursor: default; }
+.MN_Item_Padding { width: 3px; visibility: hidden; height: 20px; }
+.MN_Icon { background-color: #d6dff7; text-align: center; height: 20px; }
+.MN_Separator { height: 3px; }
+.MN_Separator_Line { border-top: #b9b99d 1px solid; }
+.MN_Item_Over { color: #ffffff; background-color: #7096FA; }
+.MN_Item_Over .MN_Icon { background-color: #466ca6; }
+.MN_Item_Disabled .MN_Label { color: #b7b7b7; }
+.MN_ConnectionLine { background-color: #f7f8fd; }
+.Menu .TB_Button_On, .Menu .TB_Button_On_Over { border: #8f8f73 1px solid; background-color: #f7f8fd; }
+/*
+	### Panel Styles
+*/
+.FCK_Panel { border: #8f8f73 1px solid; padding: 2px; background-color: #f7f8fd; }
+/*
+	### Special Combos
+*/
+.SC_Panel { border: 1px solid #8f8f73; padding-left: 2px; padding-right: 2px; white-space: nowrap; overflow: auto; cursor: default; }
+.SC_Item, .SC_ItemSelected { margin-top: 2px; margin-bottom: 2px; padding-left: 11px; padding-right: 3px; padding-top: 2px; padding-bottom: 2px; border: #dddddd 1px solid; background-position: left center; background-repeat: no-repeat; overflow: hidden; text-overflow: ellipsis; }
+.SC_Item *, .SC_ItemSelected * { margin-top: 0px; margin-bottom: 0px; }
+.SC_ItemSelected { border: #9a9afb 1px solid; background-image: url(images/toolbar.arrowright.gif); }
+.SC_Field { margin-top: 2px; border: #b7b7a6 1px solid; cursor: default; }
+.SC_FieldCaption { padding-right: 5px; padding-left: 5px; background-color: #d6dff7; /* Needed because of a bug on ClearType */ background-image: url(images/toolbar.bg.gif); background-repeat: repeat-x; /*    background-color:  inherit;     Maybe this is needed wait to check */ overflow: visible; height: 23px; /* -moz-opacity: 0.75; Mozilla (Old) */ opacity: 0.75; /* Safari, Opera and Mozilla */ filter: alpha(opacity=70); /* IE */ }
+.SC_FieldLabel { padding: 2px; width: 100%; white-space: nowrap; background-color: #ffffff; cursor: default; overflow: hidden; text-overflow: ellipsis; }
+.SC_FieldButton { border-left: #b7b7a6 1px solid; width: 14px; background-position: center center; background-image: url(images/toolbar.buttonarrow.gif); background-repeat: no-repeat; }
+.SC_FieldOver .SC_FieldButton { border-left: #316ac5 1px solid; }
+/*
+	### Color Selector Panel
+*/
+.ColorBoxBorder { border: #808080 1px solid; position: static; }
+.ColorBox { width: 10px; font-size: 1px; position: static; height: 10px; }
+.ColorDeselected, .ColorSelected { cursor: default; }
+.ColorDeselected { border: #ffffff 1px solid; padding: 2px; float: left; }
+.ColorSelected { border: #330066 1px solid; padding: 2px; float: left; background-color: #c4cdd6; }
+.TB_Button_Off, .MN_Item .MN_Icon IMG { filter: alpha(opacity=70); /* IE */ opacity: 0.70; /* Safari, Opera and Mozilla */ }
+.TB_Button_Off .TB_Button_Text, .TB_Button_Off .TB_Text { background-color: #d6dff7; /* Needed because of a bug on ClearType */ background-image: url(images/toolbar.bg.gif); background-repeat: repeat-x; }
+.MN_Label, .MN_Arrow { padding-left: 3px; padding-right: 3px; }
+.SC_ItemOver, .SC_FieldOver { border: #316ac5 1px solid; }
+.SC_FieldDisabled .SC_FieldButton, .SC_FieldDisabled .SC_FieldCaption, .SC_FieldDisabled .TB_ButtonType_Text, .TB_Button_Disabled, .MN_Item_Disabled IMG { opacity: 0.30; /* Safari, Opera and Mozilla */ filter: gray() alpha(opacity=30); /* IE */ }
+.TB_ToolbarSet TD, .MN_Menu, .MN_Menu .MN_Label, .FCK_Panel, .FCK_Panel TD, .SC_Panel, .SC_Panel TD { font-size: 11px; font-family: 'Microsoft Sans Serif' , Tahoma, Arial, Verdana, Sans-Serif; }
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/images/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/images/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/images/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/images/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/images/toolbar.start.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/images/toolbar.start.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/images/toolbar.expand.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/images/toolbar.expand.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/images/toolbar.separator.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/images/toolbar.separator.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/images/toolbar.collapse.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/images/toolbar.collapse.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/images/dialog.sides.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/images/dialog.sides.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/images/dialog.sides.rtl.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/images/dialog.sides.rtl.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/images/dialog.sides.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/images/dialog.sides.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/images/toolbar.buttonarrow.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/images/toolbar.buttonarrow.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/images/toolbar.end.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/images/toolbar.end.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/images/sprites.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/images/sprites.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/images/sprites.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/images/sprites.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/images/toolbar.arrowright.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/images/toolbar.arrowright.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/images/toolbar.bg.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/images/toolbar.bg.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/fck_dialog.css
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/fck_dialog.css	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/fck_dialog.css	(revision 1481)
@@ -0,0 +1,84 @@
+@charset "UTF-8";
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Styles used by the dialog boxes.
+ */
+html, body { margin: 0px; padding: 0px; background-color: transparent; }
+body { padding: 10px; }
+body, td, input, select, textarea { font-size: 11px; font-family: 'Microsoft Sans Serif' , Arial, Helvetica, Verdana; }
+body, .BackColor { background-color: #f7f8fd; }
+.PopupBody { width: 100%; padding: 0px; background-color: transparent; height: 100%; overflow: hidden; }
+#header { cursor: move; }
+.PopupTitle { padding: 3px 10px 3px 10px; color: #0e3460; background-color: #8cb2fd; font-weight: bold; font-size: 14pt; }
+.PopupButtons { border-top: #466ca6 1px solid; padding: 7px 10px 7px 10px; background-color: #8cb2fd; position: absolute; right: 0px; left: 0px; bottom: 0px; }
+.Button { border: #1c3460 1px solid; color: #000a28; background-color: #7096d3; }
+#btnOk { width: 100px; }
+.DarkBackground { background-color: #eaf2f8; }
+.LightBackground { background-color: #ffffbe; }
+.PopupTitleBorder { border-bottom: #d5d59d 1px solid; }
+.PopupTabArea { color: #0e3460; background-color: #8cb2fd; }
+.PopupTabEmptyArea { padding-left: 10px; border-bottom: #466ca6 1px solid; }
+.PopupTab, .PopupTabSelected { border-right: #466ca6 1px solid; border-top: #466ca6 1px solid; border-left: #466ca6 1px solid; padding: 3px 5px 3px 5px; color: #0e3460; }
+.PopupTab { margin-top: 1px; border-bottom: #466ca6 1px solid; cursor: pointer; cursor: hand; }
+.PopupTabSelected { padding-top: 4px; border-bottom: #f7f8fd 1px solid; background-color: #f7f8fd; font-weight: bold; cursor: default; }
+.PopupSelectionBox { border: #1e90ff 1px solid !important; background-color: #add8e6 !important; cursor: pointer; cursor: hand; }
+#tdBrowse { vertical-align: bottom; }
+/**
+ * Dialog frame related styles.
+ */
+.contents { background-color: #f7f8fD; position: absolute; top: 2px; left: 16px; right: 16px; bottom: 20px; overflow: hidden; z-index: 1; }
+.tl, .tr, .tc, .bl, .br, .bc { background-image: url(images/sprites.png); background-repeat: no-repeat; position: absolute; }
+* html .tl, * html .tr, * html .tc, * html .bl, * html .br, * html .bc { background-image: url(images/sprites.gif); }
+.ml, .mr { background-image: url(images/dialog.sides.png); background-repeat: repeat-y; position: absolute; }
+.rtl .ml, .rtl .mr { background-image: url(images/dialog.sides.rtl.png); background-repeat: repeat-y; position: absolute; }
+.tl { width: 16px; background-position: -16px -16px; top: 0px; left: 0px; height: 16px; }
+.rtl .tl { background-position: -16px -397px; }
+.tr { width: 16px; background-position: -16px -76px; top: 0px; right: 0px; height: 16px; }
+.rtl .tr { background-position: -16px -457px; }
+.tc { background-position: 0px -136px; background-repeat: repeat-x; top: 0px; right: 16px; left: 16px; height: 16px; }
+.ml { width: 16px; background-position: 0px 0px; top: 16px; left: 0px; bottom: 51px; }
+.mr { width: 16px; background-position: -16px 0px; top: 16px; right: 0px; bottom: 51px; }
+.bl { width: 30px; background-position: -16px -196px; bottom: 0px; left: 0px; height: 51px; }
+.rtl .bl { background-position: -16px -517px; }
+.br { width: 30px; background-position: -16px -263px; bottom: 0px; right: 0px; height: 51px; }
+.rtl .br { background-position: -16px -584px; }
+.bc { background-position: 0px -330px; background-repeat: repeat-x; bottom: 0px; right: 30px; left: 30px; height: 51px; }
+/* For IE6. Do not change it. */
+* html .blocker { width: 100%; position: absolute; height: 100%; z-index: 12; filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); }
+/* The layer used to cover the dialog when opening a child dialog. */
+.cover { position: absolute; top: 0px; left: 14px; right: 14px; bottom: 18px; z-index: 11; }
+#closeButton { margin-top: 5px; margin-right: 10px; width: 20px; background-image: url(images/sprites.png); background-repeat: no-repeat; background-position: -16px -651px; position: absolute; right: 0px; top: 0px; height: 20px; cursor: pointer; }
+* html #closeButton { background-image: url(images/sprites.gif); cursor: hand; }
+.rtl #closeButton { margin-right: 0px; right: auto; left: 10px; }
+#closeButton:hover { background-position: -16px -687px; }
+#throbberBlock { z-index: 10; }
+#throbberBlock div { float: left; width: 8px; margin-left: 2px; margin-right: 2px; font-size: 1px; /* IE6 */ height: 9px; }
+/*
+	Color Gradient Generator:
+	http://www.herethere.net/~samson/php/color_gradient/?cbegin=0E3460&cend=8cb2fd&steps=4
+*/
+.throbber_1 { background-color: #0E3460; }
+.throbber_2 { background-color: #2D5387; }
+.throbber_3 { background-color: #4D73AE; }
+.throbber_4 { background-color: #6C92D5; }
+.throbber_5 { background-color: #8CB2FD; }
+img { border: 0px; }
+* html .ml, * html .mr, * html .rtl .ml, * html .rtl .mr { background-image: url(images/dialog.sides.gif); }
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/fck_dialog_ie6.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/fck_dialog_ie6.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/fck_dialog_ie6.js	(revision 1481)
@@ -0,0 +1,110 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ */
+
+(function()
+{
+	// IE6 doens't handle absolute positioning properly (it is always in quirks
+	// mode). This function fixes the sizes and positions of many elements that
+	// compose the skin (this is skin specific).
+	var fixSizes = window.DoResizeFixes = function()
+	{
+		var fckDlg = window.document.body ;
+
+		for ( var i = 0 ; i < fckDlg.childNodes.length ; i++ )
+		{
+			var child = fckDlg.childNodes[i] ;
+			switch ( child.className )
+			{
+				case 'contents' :
+					child.style.width = Math.max( 0, fckDlg.offsetWidth - 16 - 16 ) ;	// -left -right
+					child.style.height = Math.max( 0, fckDlg.clientHeight - 20 - 2 ) ;	// -bottom -top
+					break ;
+
+				case 'blocker' :
+				case 'cover' :
+					child.style.width = Math.max( 0, fckDlg.offsetWidth - 16 - 16 + 4 ) ;	// -left -right + 4
+					child.style.height = Math.max( 0, fckDlg.clientHeight - 20 - 2 + 4 ) ;	// -bottom -top + 4
+					break ;
+
+				case 'tr' :
+					child.style.left = Math.max( 0, fckDlg.clientWidth - 16 ) ;
+					break ;
+
+				case 'tc' :
+					child.style.width = Math.max( 0, fckDlg.clientWidth - 16 - 16 ) ;
+					break ;
+
+				case 'ml' :
+					child.style.height = Math.max( 0, fckDlg.clientHeight - 16 - 51 ) ;
+					break ;
+
+				case 'mr' :
+					child.style.left = Math.max( 0, fckDlg.clientWidth - 16 ) ;
+					child.style.height = Math.max( 0, fckDlg.clientHeight - 16 - 51 ) ;
+					break ;
+
+				case 'bl' :
+					child.style.top = Math.max( 0, fckDlg.clientHeight - 51 ) ;
+					break ;
+
+				case 'br' :
+					child.style.left = Math.max( 0, fckDlg.clientWidth - 30 ) ;
+					child.style.top = Math.max( 0, fckDlg.clientHeight - 51 ) ;
+					break ;
+
+				case 'bc' :
+					child.style.width = Math.max( 0, fckDlg.clientWidth - 30 - 30 ) ;
+					child.style.top = Math.max( 0, fckDlg.clientHeight - 51 ) ;
+					break ;
+			}
+		}
+	}
+
+	var closeButtonOver = function()
+	{
+		this.style.backgroundPosition = '-16px -687px' ;
+	} ;
+
+	var closeButtonOut = function()
+	{
+		this.style.backgroundPosition = '-16px -651px' ;
+	} ;
+
+	var fixCloseButton = function()
+	{
+		var closeButton = document.getElementById ( 'closeButton' ) ;
+
+		closeButton.onmouseover	= closeButtonOver ;
+		closeButton.onmouseout	= closeButtonOut ;
+	}
+
+	var onLoad = function()
+	{
+		fixSizes() ;
+		fixCloseButton() ;
+
+		window.attachEvent( 'onresize', fixSizes ) ;
+		window.detachEvent( 'onload', onLoad ) ;
+	}
+
+	window.attachEvent( 'onload', onLoad ) ;
+
+})() ;
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/fck_strip.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/office2003/fck_strip.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/fck_editor.css
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/fck_editor.css	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/fck_editor.css	(revision 1481)
@@ -0,0 +1,99 @@
+@charset "UTF-8";
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Styles used by the editor IFRAME and Toolbar.
+ */
+/*
+	### Basic Editor IFRAME Styles.
+*/
+body { padding: 1px; margin: 0; background-color: #ffffff; }
+#xEditingArea { border: #696969 1px solid; }
+.SourceField { padding: 5px; margin: 0px; font-family: Monospace; }
+/*
+	Toolbar
+*/
+.TB_ToolbarSet, .TB_Expand, .TB_Collapse { background-color: #efefde; cursor: default; }
+.TB_ToolbarSet { border-top: #efefde 1px outset; border-bottom: #efefde 1px outset; }
+.TB_Toolbar { display: inline-table; /* inline = Opera jumping buttons bug */ height: 24px; }
+.TB_Separator { width: 1px; margin: 2px; background-color: #999966; height: 16px; }
+.TB_Start { margin: 2px; width: 3px; background-image: url(images/toolbar.start.gif); background-repeat: no-repeat; height: 16px; }
+.TB_End { display: none; }
+.TB_ExpandImg { background-image: url(images/toolbar.expand.gif); background-repeat: no-repeat; }
+.TB_CollapseImg { background-image: url(images/toolbar.collapse.gif); background-repeat: no-repeat; }
+.TB_SideBorder { background-color: #696969; }
+.TB_Expand, .TB_Collapse { padding: 2px 2px 2px 2px; border: #efefde 1px outset; }
+.TB_Collapse { width: 5px; }
+.TB_Break { height: 24px; /* IE needs the height to be set, otherwise no break */ }
+/*
+	Toolbar Button
+*/
+.TB_Button_On, .TB_Button_Off, .TB_Button_On_Over, .TB_Button_Off_Over, .TB_Button_Disabled { border: #efefde 1px solid; /* This is the default border */ height: 22px; /* The height is necessary, otherwise IE will not apply the alpha */ }
+.TB_Button_On { border: #316ac5 1px solid; background-color: #c1d2ee; }
+.TB_Button_On_Over, .TB_Button_Off_Over { border: #316ac5 1px solid; background-color: #dff1ff; }
+.TB_Button_Padding { width: 3px; visibility: hidden; height: 22px; }
+.TB_Button_Image { width: 16px; margin: 3px; background-repeat: no-repeat; overflow: hidden; height: 16px; }
+.TB_Button_Image img { position: relative; }
+.TB_ConnectionLine { margin-left: 1px; /* ltr */ margin-right: 1px; /* rtl */ background-color: #ffffff; height: 1px; }
+.TB_Text { height: 22px; }
+.TB_Button_On_Over .TB_Text { background-color: #dff1ff; /* Needed because of a bug on ClearType */ }
+/*
+	Menu
+*/
+.MN_Menu { border: 1px solid #8f8f73; padding: 2px; background-color: #ffffff; cursor: default; }
+.MN_Item_Padding { width: 3px; visibility: hidden; height: 20px; }
+.MN_Icon { background-color: #e3e3c7; text-align: center; height: 20px; }
+.MN_Separator { height: 3px; }
+.MN_Separator_Line { border-top: #b9b99d 1px solid; }
+.MN_Item_Over { color: #ffffff; background-color: #8f8f73; }
+.MN_Item_Over .MN_Icon { background-color: #737357; }
+.MN_Item_Disabled .MN_Label { color: #b7b7b7; }
+.MN_ConnectionLine { background-color: #ffffff; }
+.Menu .TB_Button_On, .Menu .TB_Button_On_Over { border: #8f8f73 1px solid; background-color: #ffffff; }
+/*
+	### Panel Styles
+*/
+.FCK_Panel { border: #8f8f73 1px solid; padding: 2px; background-color: #ffffff; }
+/*
+	### Special Combos
+*/
+.SC_Panel { border: 1px solid #8f8f73; padding-left: 2px; padding-right: 2px; white-space: nowrap; overflow: auto; cursor: default; }
+.SC_Item, .SC_ItemSelected { margin-top: 2px; margin-bottom: 2px; padding-left: 11px; padding-right: 3px; padding-top: 2px; padding-bottom: 2px; border: #dddddd 1px solid; background-position: left center; background-repeat: no-repeat; overflow: hidden; text-overflow: ellipsis; }
+.SC_Item *, .SC_ItemSelected * { margin-top: 0px; margin-bottom: 0px; }
+.SC_ItemSelected { border: #9a9afb 1px solid; background-image: url(images/toolbar.arrowright.gif); }
+.SC_Field { border: #b7b7a6 1px solid; cursor: default; }
+.SC_FieldCaption { padding-right: 5px; padding-left: 5px; background-color: #efefde; overflow: visible; height: 23px; /* -moz-opacity: 0.75; Mozilla (Old) */ opacity: 0.75; /* Safari, Opera and Mozilla */ filter: alpha(opacity=70); /* IE */ }
+.SC_FieldLabel { padding: 2px; width: 100%; white-space: nowrap; background-color: #ffffff; cursor: default; overflow: hidden; text-overflow: ellipsis; }
+.SC_FieldButton { border-left: #b7b7a6 1px solid; width: 14px; background-position: center center; background-image: url(images/toolbar.buttonarrow.gif); background-repeat: no-repeat; }
+.SC_FieldOver .SC_FieldButton { border-left: #316ac5 1px solid; }
+/*
+	### Color Selector Panel
+*/
+.ColorBoxBorder { border: #808080 1px solid; position: static; }
+.ColorBox { width: 10px; font-size: 1px; position: static; height: 10px; }
+.ColorDeselected, .ColorSelected { cursor: default; }
+.ColorDeselected { border: #ffffff 1px solid; padding: 2px; float: left; }
+.ColorSelected { border: #330066 1px solid; padding: 2px; float: left; background-color: #c4cdd6; }
+.TB_Button_Off, .MN_Item .MN_Icon IMG { filter: alpha(opacity=70); /* IE */ opacity: 0.70; /* Safari, Opera and Mozilla */ }
+.TB_Button_Off .TB_Button_Text, .TB_Button_Off .TB_Text { background-color: #efefde; /* Needed because of a bug on Clear Type */ }
+.MN_Label, .MN_Arrow { padding-left: 3px; padding-right: 3px; }
+.SC_ItemOver, .SC_FieldOver { border: #316ac5 1px solid; }
+.SC_FieldDisabled .SC_FieldButton, .SC_FieldDisabled .SC_FieldCaption, .SC_FieldDisabled .TB_ButtonType_Text, .TB_Button_Disabled, .MN_Item_Disabled IMG { opacity: 0.30; /* Safari, Opera and Mozilla */ filter: gray() alpha(opacity=30); /* IE */ }
+.TB_ToolbarSet TD, .MN_Menu, .MN_Menu .MN_Label, .FCK_Panel, .FCK_Panel TD, .SC_Panel, .SC_Panel TD { font-size: 11px; font-family: 'Microsoft Sans Serif' , Tahoma, Arial, Verdana, Sans-Serif; }
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/images/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/images/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/images/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/images/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/images/toolbar.start.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/images/toolbar.start.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/images/toolbar.expand.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/images/toolbar.expand.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/images/toolbar.separator.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/images/toolbar.separator.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/images/toolbar.collapse.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/images/toolbar.collapse.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/images/dialog.sides.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/images/dialog.sides.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/images/dialog.sides.rtl.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/images/dialog.sides.rtl.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/images/dialog.sides.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/images/dialog.sides.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/images/toolbar.buttonarrow.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/images/toolbar.buttonarrow.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/images/toolbar.end.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/images/toolbar.end.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/images/sprites.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/images/sprites.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/images/sprites.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/images/sprites.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/images/toolbar.arrowright.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/images/toolbar.arrowright.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/fck_dialog.css
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/fck_dialog.css	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/fck_dialog.css	(revision 1481)
@@ -0,0 +1,84 @@
+@charset "UTF-8";
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Styles used by the dialog boxes.
+ */
+html, body { margin: 0px; padding: 0px; background-color: transparent; }
+body { padding: 10px; }
+body, td, input, select, textarea { font-size: 11px; font-family: 'Microsoft Sans Serif' , Arial, Helvetica, Verdana; }
+body, .BackColor { background-color: #f1f1e3; }
+.PopupBody { width: 100%; padding: 0px; background-color: transparent; height: 100%; overflow: hidden; }
+#header { cursor: move; }
+.PopupTitle { padding: 3px 10px 3px 10px; color: #737357; background-color: #e3e3c7; font-weight: bold; font-size: 14pt; }
+.PopupButtons { border-top: #d5d59d 1px solid; padding: 7px 10px 7px 10px; background-color: #e3e3c7; position: absolute; right: 0px; left: 0px; bottom: 0px; }
+.Button { border: #737357 1px solid; color: #3b3b1f; background-color: #c7c78f; }
+#btnOk { width: 100px; }
+.DarkBackground { background-color: #eaead1; }
+.LightBackground { background-color: #ffffbe; }
+.PopupTitleBorder { border-bottom: #d5d59d 1px solid; }
+.PopupTabArea { color: #737357; background-color: #e3e3c7; }
+.PopupTabEmptyArea { padding-left: 10px; border-bottom: #d5d59d 1px solid; }
+.PopupTab, .PopupTabSelected { border-right: #d5d59d 1px solid; border-top: #d5d59d 1px solid; border-left: #d5d59d 1px solid; padding: 3px 5px 3px 5px; color: #737357; }
+.PopupTab { margin-top: 1px; border-bottom: #d5d59d 1px solid; cursor: pointer; cursor: hand; }
+.PopupTabSelected { padding-top: 4px; border-bottom: #f1f1e3 1px solid; background-color: #f1f1e3; font-weight: bold; cursor: default; }
+.PopupSelectionBox { border: #ff9933 1px solid !important; background-color: #fffacd !important; cursor: pointer; cursor: hand; }
+#tdBrowse { vertical-align: bottom; }
+/**
+ * Dialog frame related styles.
+ */
+.contents { background-color: #f1f1e3; position: absolute; top: 2px; left: 16px; right: 16px; bottom: 20px; overflow: hidden; z-index: 1; }
+.tl, .tr, .tc, .bl, .br, .bc { background-image: url(images/sprites.png); background-repeat: no-repeat; position: absolute; }
+* html .tl, * html .tr, * html .tc, * html .bl, * html .br, * html .bc { background-image: url(images/sprites.gif); }
+.ml, .mr { background-image: url(images/dialog.sides.png); background-repeat: repeat-y; position: absolute; }
+.rtl .ml, .rtl .mr { background-image: url(images/dialog.sides.rtl.png); background-repeat: repeat-y; position: absolute; }
+.tl { width: 16px; background-position: -16px -16px; top: 0px; left: 0px; height: 16px; }
+.rtl .tl { background-position: -16px -397px; }
+.tr { width: 16px; background-position: -16px -76px; top: 0px; right: 0px; height: 16px; }
+.rtl .tr { background-position: -16px -457px; }
+.tc { background-position: 0px -136px; background-repeat: repeat-x; top: 0px; right: 16px; left: 16px; height: 16px; }
+.ml { width: 16px; background-position: 0px 0px; top: 16px; left: 0px; bottom: 51px; }
+.mr { width: 16px; background-position: -16px 0px; top: 16px; right: 0px; bottom: 51px; }
+.bl { width: 30px; background-position: -16px -196px; bottom: 0px; left: 0px; height: 51px; }
+.rtl .bl { background-position: -16px -517px; }
+.br { width: 30px; background-position: -16px -263px; bottom: 0px; right: 0px; height: 51px; }
+.rtl .br { background-position: -16px -584px; }
+.bc { background-position: 0px -330px; background-repeat: repeat-x; bottom: 0px; right: 30px; left: 30px; height: 51px; }
+/* For IE6. Do not change it. */
+* html .blocker { width: 100%; position: absolute; height: 100%; z-index: 12; filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); }
+/* The layer used to cover the dialog when opening a child dialog. */
+.cover { position: absolute; top: 0px; left: 14px; right: 14px; bottom: 18px; z-index: 11; }
+#closeButton { margin-top: 5px; margin-right: 10px; width: 20px; background-image: url(images/sprites.png); background-repeat: no-repeat; background-position: -16px -651px; position: absolute; right: 0px; top: 0px; height: 20px; cursor: pointer; }
+* html #closeButton { background-image: url(images/sprites.gif); cursor: hand; }
+.rtl #closeButton { margin-right: 0px; right: auto; left: 10px; }
+#closeButton:hover { background-position: -16px -687px; }
+#throbberBlock { z-index: 10; }
+#throbberBlock div { float: left; width: 8px; margin-left: 2px; margin-right: 2px; font-size: 1px; /* IE6 */ height: 9px; }
+/*
+	Color Gradient Generator:
+	http://www.herethere.net/~samson/php/color_gradient/?cbegin=737357&cend=E3E3C7&steps=4
+*/
+.throbber_1 { background-color: #737357; }
+.throbber_2 { background-color: #8f8f73; }
+.throbber_3 { background-color: #abab8f; }
+.throbber_4 { background-color: #c7c7ab; }
+.throbber_5 { background-color: #e3e3c7; }
+img { border: 0px; }
+* html .ml, * html .mr, * html .rtl .ml, * html .rtl .mr { background-image: url(images/dialog.sides.gif); }
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/fck_dialog_ie6.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/fck_dialog_ie6.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/fck_dialog_ie6.js	(revision 1481)
@@ -0,0 +1,110 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ */
+
+(function()
+{
+	// IE6 doens't handle absolute positioning properly (it is always in quirks
+	// mode). This function fixes the sizes and positions of many elements that
+	// compose the skin (this is skin specific).
+	var fixSizes = window.DoResizeFixes = function()
+	{
+		var fckDlg = window.document.body ;
+
+		for ( var i = 0 ; i < fckDlg.childNodes.length ; i++ )
+		{
+			var child = fckDlg.childNodes[i] ;
+			switch ( child.className )
+			{
+				case 'contents' :
+					child.style.width = Math.max( 0, fckDlg.offsetWidth - 16 - 16 ) ;	// -left -right
+					child.style.height = Math.max( 0, fckDlg.clientHeight - 20 - 2 ) ;	// -bottom -top
+					break ;
+
+				case 'blocker' :
+				case 'cover' :
+					child.style.width = Math.max( 0, fckDlg.offsetWidth - 16 - 16 + 4 ) ;	// -left -right + 4
+					child.style.height = Math.max( 0, fckDlg.clientHeight - 20 - 2 + 4 ) ;	// -bottom -top + 4
+					break ;
+
+				case 'tr' :
+					child.style.left = Math.max( 0, fckDlg.clientWidth - 16 ) ;
+					break ;
+
+				case 'tc' :
+					child.style.width = Math.max( 0, fckDlg.clientWidth - 16 - 16 ) ;
+					break ;
+
+				case 'ml' :
+					child.style.height = Math.max( 0, fckDlg.clientHeight - 16 - 51 ) ;
+					break ;
+
+				case 'mr' :
+					child.style.left = Math.max( 0, fckDlg.clientWidth - 16 ) ;
+					child.style.height = Math.max( 0, fckDlg.clientHeight - 16 - 51 ) ;
+					break ;
+
+				case 'bl' :
+					child.style.top = Math.max( 0, fckDlg.clientHeight - 51 ) ;
+					break ;
+
+				case 'br' :
+					child.style.left = Math.max( 0, fckDlg.clientWidth - 30 ) ;
+					child.style.top = Math.max( 0, fckDlg.clientHeight - 51 ) ;
+					break ;
+
+				case 'bc' :
+					child.style.width = Math.max( 0, fckDlg.clientWidth - 30 - 30 ) ;
+					child.style.top = Math.max( 0, fckDlg.clientHeight - 51 ) ;
+					break ;
+			}
+		}
+	}
+
+	var closeButtonOver = function()
+	{
+		this.style.backgroundPosition = '-16px -687px' ;
+	} ;
+
+	var closeButtonOut = function()
+	{
+		this.style.backgroundPosition = '-16px -651px' ;
+	} ;
+
+	var fixCloseButton = function()
+	{
+		var closeButton = document.getElementById ( 'closeButton' ) ;
+
+		closeButton.onmouseover	= closeButtonOver ;
+		closeButton.onmouseout	= closeButtonOut ;
+	}
+
+	var onLoad = function()
+	{
+		fixSizes() ;
+		fixCloseButton() ;
+
+		window.attachEvent( 'onresize', fixSizes ) ;
+		window.detachEvent( 'onload', onLoad ) ;
+	}
+
+	window.attachEvent( 'onload', onLoad ) ;
+
+})() ;
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/fck_strip.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/default/fck_strip.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/fck_editor.css
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/fck_editor.css	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/fck_editor.css	(revision 1481)
@@ -0,0 +1,104 @@
+@charset "UTF-8";
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Styles used by the editor IFRAME and Toolbar.
+ */
+/*
+	### Basic Editor IFRAME Styles.
+*/
+body { padding: 1px; margin: 0; background-color: #ffffff; }
+#xEditingArea { border: #696969 1px solid; }
+.SourceField { padding: 5px; margin: 0px; font-family: Monospace; }
+/*
+	Toolbar
+*/
+.TB_ToolbarSet, .TB_Expand, .TB_Collapse { background-color: #f7f7f7; cursor: default; }
+.TB_ToolbarSet { padding: 1px; border-top: #efefde 1px outset; border-bottom: #efefde 1px outset; }
+.TB_Toolbar { display: inline-table; }
+.TB_Separator { width: 1px; margin: 2px; background-color: #C6C3BD; height: 21px; }
+.TB_Start { margin-left: 2px; margin-right: 2px; width: 3px; background-image: url(images/toolbar.start.gif); background-repeat: no-repeat; background-position: center center; height: 27px; }
+.TB_End { display: none; }
+.TB_ExpandImg { background-image: url(images/toolbar.expand.gif); background-repeat: no-repeat; }
+.TB_CollapseImg { background-image: url(images/toolbar.collapse.gif); background-repeat: no-repeat; }
+.TB_SideBorder { background-color: #696969; }
+.TB_Expand, .TB_Collapse { padding: 2px 2px 2px 2px; border: #efefde 1px outset; }
+.TB_Collapse { border: #efefde 1px outset; width: 5px; }
+.TB_Break { height: 27px; }
+/*
+	Toolbar Button
+*/
+.TB_Button_On, .TB_Button_Off, .TB_Button_On_Over, .TB_Button_Off_Over, .TB_Button_Disabled { padding: 1px; margin: 1px; height: 21px; }
+.TB_Button_On, .TB_Button_Off, .TB_Button_On_Over, .TB_Button_Off_Over, .TB_Button_Disabled { border: #cec6b5 1px solid; }
+.TB_Button_On { border-color: #316ac5; background-color: #c1d2ee; }
+.TB_Button_On_Over, .TB_Button_Off_Over { border: #316ac5 1px solid; background-color: #dff1ff; }
+.TB_Button_Off { background: #efefef url(images/toolbar.buttonbg.gif) repeat-x; }
+.TB_Button_Padding { width: 3px; visibility: hidden; height: 21px; }
+.TB_Button_Image { width: 16px; margin: 3px; margin-top: 4px; margin-bottom: 2px; background-repeat: no-repeat; overflow: hidden; height: 16px; }
+/* For composed button ( icon + text, icon + arrow ), we must compensate the table */
+.TB_Button_On TABLE .TB_Button_Image,
+.TB_Button_Off TABLE .TB_Button_Image,
+.TB_Button_On_Over TABLE .TB_Button_Image,
+.TB_Button_Off_Over TABLE .TB_Button_Image,
+.TB_Button_Disabled TABLE .TB_Button_Image { margin-top: 3px; }
+.TB_Button_Image img { position: relative; }
+.TB_ConnectionLine { margin-left: 1px; /* ltr */ margin-right: 1px; /* rtl */ background-color: #ffffff; height: 1px; }
+/*
+	Menu
+*/
+.MN_Menu { border: 1px solid #8f8f73; padding: 2px; background-color: #f7f7f7; cursor: default; }
+.MN_Item_Padding { width: 3px; visibility: hidden; height: 20px; }
+.MN_Icon { background-color: #dedede; text-align: center; height: 20px; }
+.MN_Separator { height: 3px; }
+.MN_Separator_Line { border-top: #b9b99d 1px solid; }
+.MN_Item_Over { color: #ffffff; background-color: #8a857d; }
+.MN_Item_Over .MN_Icon { background-color: #6c6761; }
+.MN_Item_Disabled .MN_Label { color: #b7b7b7; }
+.MN_ConnectionLine { background-color: #ffffff; }
+.Menu .TB_Button_On, .Menu .TB_Button_On_Over { border: #8f8f73 1px solid; background-color: #ffffff; }
+/*
+	### Panel Styles
+*/
+.FCK_Panel { border: #8f8f73 1px solid; padding: 2px; background-color: #ffffff; }
+/*
+	### Special Combos
+*/
+.SC_Panel { border: 1px solid #8f8f73; padding-left: 2px; padding-right: 2px; white-space: nowrap; overflow: auto; cursor: default; }
+.SC_Item, .SC_ItemSelected { margin-top: 2px; margin-bottom: 2px; padding-left: 11px; padding-right: 3px; padding-top: 2px; padding-bottom: 2px; border: #dddddd 1px solid; background-position: left center; background-repeat: no-repeat; overflow: hidden; text-overflow: ellipsis; }
+.SC_Item *, .SC_ItemSelected * { margin-top: 0px; margin-bottom: 0px; }
+.SC_ItemSelected { border: #9a9afb 1px solid; background-image: url(images/toolbar.arrowright.gif); }
+.SC_Field { margin-top: 1px; border: #b7b7a6 1px solid; cursor: default; }
+.SC_FieldCaption { padding-top: 1px; padding-right: 5px; padding-left: 5px; background-color: #f7f7f7; overflow: visible; height: 23px; /* -moz-opacity: 0.75; Mozilla (Old) */ opacity: 0.75; /* Safari, Opera and Mozilla */ filter: alpha(opacity=70); /* IE */ }
+.SC_FieldLabel { padding: 2px; width: 100%; white-space: nowrap; background-color: #ffffff; cursor: default; overflow: hidden; text-overflow: ellipsis; }
+.SC_FieldButton { border-left: #b7b7a6 1px solid; width: 14px; background-position: center center; background-image: url(images/toolbar.buttonarrow.gif); background-repeat: no-repeat; }
+.SC_FieldOver .SC_FieldButton { border-left: #316ac5 1px solid; }
+/*
+	### Color Selector Panel
+*/
+.ColorBoxBorder { border: #808080 1px solid; position: static; }
+.ColorBox { width: 10px; font-size: 1px; position: static; height: 10px; }
+.ColorDeselected, .ColorSelected { cursor: default; }
+.ColorDeselected { border: #ffffff 1px solid; padding: 2px; float: left; }
+.ColorSelected { border: #316ac5 1px solid; padding: 2px; float: left; background-color: #c1d2ee; }
+.TB_Button_Off, .TB_Combo_Off, .MN_Item .MN_Icon IMG { opacity: 0.70; /* Safari, Opera and Mozilla */ filter: alpha(opacity=70); /* IE */ }
+.MN_Label, .MN_Arrow { padding-left: 3px; padding-right: 3px; }
+.SC_ItemOver, .SC_FieldOver { border: #316ac5 1px solid; }
+.SC_FieldDisabled .SC_FieldButton, .SC_FieldDisabled .SC_FieldCaption, .SC_FieldDisabled .TB_ButtonType_Text, .TB_Button_Disabled, .MN_Item_Disabled IMG { opacity: 0.30; /* Safari, Opera and Mozilla */ filter: gray() alpha(opacity=30); /* IE */ }
+.TB_ToolbarSet TD, .MN_Menu, .MN_Menu .MN_Label, .FCK_Panel, .FCK_Panel TD, .SC_Panel, .SC_Panel TD { font-size: 11px; font-family: 'Microsoft Sans Serif' , Tahoma, Arial, Verdana, Sans-Serif; }
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/images/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/images/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/images/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/images/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/images/toolbar.start.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/images/toolbar.start.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/images/toolbar.expand.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/images/toolbar.expand.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/images/toolbar.separator.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/images/toolbar.separator.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/images/toolbar.collapse.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/images/toolbar.collapse.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/images/dialog.sides.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/images/dialog.sides.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/images/dialog.sides.rtl.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/images/dialog.sides.rtl.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/images/dialog.sides.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/images/dialog.sides.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/images/toolbar.buttonbg.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/images/toolbar.buttonbg.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/images/toolbar.buttonarrow.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/images/toolbar.buttonarrow.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/images/toolbar.end.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/images/toolbar.end.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/images/sprites.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/images/sprites.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/images/sprites.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/images/sprites.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/images/toolbar.arrowright.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/images/toolbar.arrowright.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/fck_dialog.css
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/fck_dialog.css	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/fck_dialog.css	(revision 1481)
@@ -0,0 +1,84 @@
+@charset "UTF-8";
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Styles used by the dialog boxes.
+ */
+html, body { margin: 0px; padding: 0px; background-color: transparent; }
+body { padding: 10px; }
+body, td, input, select, textarea { font-size: 11px; font-family: 'Microsoft Sans Serif' , Arial, Helvetica, Verdana; }
+body, .BackColor { background-color: #f7f7f7; }
+.PopupBody { width: 100%; padding: 0px; background-color: transparent; height: 100%; overflow: hidden; }
+#header { cursor: move; }
+.PopupTitle { padding: 3px 10px 3px 10px; color: #504845; background-color: #dedede; font-weight: bold; font-size: 14pt; }
+.PopupButtons { border-top: #cec6b5 1px solid; padding: 7px 10px 7px 10px; background-color: #DEDEDE; position: absolute; right: 0px; left: 0px; bottom: 0px; }
+.Button { border: #7a7261 1px solid; color: #504845; background-color: #cec6b5; }
+#btnOk { width: 100px; }
+.DarkBackground { background-color: #f2f2f2; }
+.LightBackground { background-color: #ffffbe; }
+.PopupTitleBorder { border-bottom: #cec6b5 1px solid; }
+.PopupTabArea { color: #504845; background-color: #DEDEDE; }
+.PopupTabEmptyArea { padding-left: 10px; border-bottom: #cec6b5 1px solid; }
+.PopupTab, .PopupTabSelected { border-right: #cec6b5 1px solid; border-top: #cec6b5 1px solid; border-left: #cec6b5 1px solid; padding: 3px 5px 3px 5px; color: #504845; }
+.PopupTab { margin-top: 1px; border-bottom: #cec6b5 1px solid; cursor: pointer; cursor: hand; }
+.PopupTabSelected { padding-top: 4px; border-bottom: #f1f1e3 1px solid; background-color: #f7f7f7; font-weight: bold; cursor: default; }
+.PopupSelectionBox { border: #a9a9a9 1px solid !important; background-color: #dcdcdc !important; cursor: pointer; cursor: hand; }
+#tdBrowse { vertical-align: bottom; }
+/**
+ * Dialog frame related styles.
+ */
+.contents { background-color: #f7f7f7; position: absolute; top: 2px; left: 16px; right: 16px; bottom: 20px; overflow: hidden; z-index: 1; }
+.tl, .tr, .tc, .bl, .br, .bc { background-image: url(images/sprites.png); background-repeat: no-repeat; position: absolute; }
+* html .tl, * html .tr, * html .tc, * html .bl, * html .br, * html .bc { background-image: url(images/sprites.gif); }
+.ml, .mr { background-image: url(images/dialog.sides.png); background-repeat: repeat-y; position: absolute; }
+.rtl .ml, .rtl .mr { background-image: url(images/dialog.sides.rtl.png); background-repeat: repeat-y; position: absolute; }
+.tl { width: 16px; background-position: -16px -16px; top: 0px; left: 0px; height: 16px; }
+.rtl .tl { background-position: -16px -397px; }
+.tr { width: 16px; background-position: -16px -76px; top: 0px; right: 0px; height: 16px; }
+.rtl .tr { background-position: -16px -457px; }
+.tc { background-position: 0px -136px; background-repeat: repeat-x; top: 0px; right: 16px; left: 16px; height: 16px; }
+.ml { width: 16px; background-position: 0px 0px; top: 16px; left: 0px; bottom: 51px; }
+.mr { width: 16px; background-position: -16px 0px; top: 16px; right: 0px; bottom: 51px; }
+.bl { width: 30px; background-position: -16px -196px; bottom: 0px; left: 0px; height: 51px; }
+.rtl .bl { background-position: -16px -517px; }
+.br { width: 30px; background-position: -16px -263px; bottom: 0px; right: 0px; height: 51px; }
+.rtl .br { background-position: -16px -584px; }
+.bc { background-position: 0px -330px; background-repeat: repeat-x; bottom: 0px; right: 30px; left: 30px; height: 51px; }
+/* For IE6. Do not change it. */
+* html .blocker { width: 100%; position: absolute; height: 100%; z-index: 12; filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); }
+/* The layer used to cover the dialog when opening a child dialog. */
+.cover { position: absolute; top: 0px; left: 14px; right: 14px; bottom: 18px; z-index: 11; }
+#closeButton { margin-top: 5px; margin-right: 10px; width: 20px; background-image: url(images/sprites.png); background-repeat: no-repeat; background-position: -16px -651px; position: absolute; right: 0px; top: 0px; height: 20px; cursor: pointer; }
+* html #closeButton { background-image: url(images/sprites.gif); cursor: hand; }
+.rtl #closeButton { margin-right: 0px; right: auto; left: 10px; }
+#closeButton:hover { background-position: -16px -687px; }
+#throbberBlock { z-index: 10; }
+#throbberBlock div { float: left; width: 8px; margin-left: 2px; margin-right: 2px; font-size: 1px; /* IE6 */ height: 9px; }
+/*
+	Color Gradient Generator:
+	http://www.herethere.net/~samson/php/color_gradient/?cbegin=504845&cend=DEDEDE&steps=4
+*/
+.throbber_1 { background-color: #504845; }
+.throbber_2 { background-color: #736D6B; }
+.throbber_3 { background-color: #979391; }
+.throbber_4 { background-color: #BAB8B7; }
+.throbber_5 { background-color: #DEDEDE; }
+img { border: 0px; }
+* html .ml, * html .mr, * html .rtl .ml, * html .rtl .mr { background-image: url(images/dialog.sides.gif); }
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/fck_dialog_ie6.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/fck_dialog_ie6.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/fck_dialog_ie6.js	(revision 1481)
@@ -0,0 +1,110 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ */
+
+(function()
+{
+	// IE6 doens't handle absolute positioning properly (it is always in quirks
+	// mode). This function fixes the sizes and positions of many elements that
+	// compose the skin (this is skin specific).
+	var fixSizes = window.DoResizeFixes = function()
+	{
+		var fckDlg = window.document.body ;
+
+		for ( var i = 0 ; i < fckDlg.childNodes.length ; i++ )
+		{
+			var child = fckDlg.childNodes[i] ;
+			switch ( child.className )
+			{
+				case 'contents' :
+					child.style.width = Math.max( 0, fckDlg.offsetWidth - 16 - 16 ) ;	// -left -right
+					child.style.height = Math.max( 0, fckDlg.clientHeight - 20 - 2 ) ;	// -bottom -top
+					break ;
+
+				case 'blocker' :
+				case 'cover' :
+					child.style.width = Math.max( 0, fckDlg.offsetWidth - 16 - 16 + 4 ) ;	// -left -right + 4
+					child.style.height = Math.max( 0, fckDlg.clientHeight - 20 - 2 + 4 ) ;	// -bottom -top + 4
+					break ;
+
+				case 'tr' :
+					child.style.left = Math.max( 0, fckDlg.clientWidth - 16 ) ;
+					break ;
+
+				case 'tc' :
+					child.style.width = Math.max( 0, fckDlg.clientWidth - 16 - 16 ) ;
+					break ;
+
+				case 'ml' :
+					child.style.height = Math.max( 0, fckDlg.clientHeight - 16 - 51 ) ;
+					break ;
+
+				case 'mr' :
+					child.style.left = Math.max( 0, fckDlg.clientWidth - 16 ) ;
+					child.style.height = Math.max( 0, fckDlg.clientHeight - 16 - 51 ) ;
+					break ;
+
+				case 'bl' :
+					child.style.top = Math.max( 0, fckDlg.clientHeight - 51 ) ;
+					break ;
+
+				case 'br' :
+					child.style.left = Math.max( 0, fckDlg.clientWidth - 30 ) ;
+					child.style.top = Math.max( 0, fckDlg.clientHeight - 51 ) ;
+					break ;
+
+				case 'bc' :
+					child.style.width = Math.max( 0, fckDlg.clientWidth - 30 - 30 ) ;
+					child.style.top = Math.max( 0, fckDlg.clientHeight - 51 ) ;
+					break ;
+			}
+		}
+	}
+
+	var closeButtonOver = function()
+	{
+		this.style.backgroundPosition = '-16px -687px' ;
+	} ;
+
+	var closeButtonOut = function()
+	{
+		this.style.backgroundPosition = '-16px -651px' ;
+	} ;
+
+	var fixCloseButton = function()
+	{
+		var closeButton = document.getElementById ( 'closeButton' ) ;
+
+		closeButton.onmouseover	= closeButtonOver ;
+		closeButton.onmouseout	= closeButtonOut ;
+	}
+
+	var onLoad = function()
+	{
+		fixSizes() ;
+		fixCloseButton() ;
+
+		window.attachEvent( 'onresize', fixSizes ) ;
+		window.detachEvent( 'onload', onLoad ) ;
+	}
+
+	window.attachEvent( 'onload', onLoad ) ;
+
+})() ;
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/fck_strip.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/silver/fck_strip.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/_fckviewstrips.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/_fckviewstrips.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/_fckviewstrips.html	(revision 1481)
@@ -0,0 +1,121 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Useful page that enumerates all icons in the skins strips.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>FCKeditor - View Icons Strips</title>
+	<style type="text/css">
+		.TB_Button_Image
+		{
+			overflow: hidden;
+			width: 16px;
+			height: 16px;
+			margin: 3px;
+			background-repeat: no-repeat;
+		}
+
+		.TB_Button_Image img
+		{
+			position: relative;
+		}
+	</style>
+	<script type="text/javascript">
+
+window.onload = function()
+{
+	var eImg1 = document.createElement( 'img' ) ;
+	eImg1.onload = Img_OnLoad ;
+	eImg1.src = 'default/fck_strip.gif' ;
+
+	var eImg2 = document.createElement( 'img' ) ;
+	eImg2.onload = Img_OnLoad ;
+	eImg2.src = 'office2003/fck_strip.gif' ;
+
+	var eImg3 = document.createElement( 'img' ) ;
+	eImg3.onload = Img_OnLoad ;
+	eImg3.src = 'silver/fck_strip.gif' ;
+}
+
+var iTotalStrips = 3 ;
+var iMaxHeight = 0 ;
+
+function Img_OnLoad()
+{
+	if ( iMaxHeight < this.height )
+		iMaxHeight = this.height ;
+
+	iTotalStrips-- ;
+
+	if ( iTotalStrips == 0 )
+		LoadIcons( iMaxHeight / 16 ) ;
+}
+
+function LoadIcons( total )
+{
+	var xIconsTable = document.getElementById( 'xIconsTable' ) ;
+
+	for ( var i = 0 ; i < total ; i++ )
+	{
+		var eRow = xIconsTable.insertRow(-1) ;
+
+		var eCell = eRow.insertCell(-1) ;
+		eCell.innerHTML = i + 1 ;
+
+		eCell = eRow.insertCell(-1) ;
+		eCell.align = 'center' ;
+		eCell.style.border = '#dcdcdc 1px solid' ;
+		eCell.innerHTML = '<div class="TB_Button_Image"><img src="default/fck_strip.gif" style="top:-' + ( i * 16 ) + 'px;"><\/div>' ;
+
+		eCell = eRow.insertCell(-1) ;
+		eCell.align = 'center' ;
+		eCell.style.border = '#dcdcdc 1px solid' ;
+		eCell.innerHTML = '<div class="TB_Button_Image"><img src="office2003/fck_strip.gif" style="top:-' + ( i * 16 ) + 'px;"><\/div>' ;
+
+		eCell = eRow.insertCell(-1) ;
+		eCell.align = 'center' ;
+		eCell.style.border = '#dcdcdc 1px solid' ;
+		eCell.innerHTML = '<div class="TB_Button_Image"><img src="silver/fck_strip.gif" style="top:-' + ( i * 16 ) + 'px;"><\/div>' ;
+	}
+}
+
+	</script>
+</head>
+<body>
+	<table id="xIconsTable">
+		<tr>
+			<td rowspan="2">
+				Index</td>
+			<td align="center" colspan="3">
+				Skins</td>
+		</tr>
+		<tr>
+			<td width="80" align="center">
+				default</td>
+			<td width="80" align="center">
+				office2003</td>
+			<td width="80" align="center">
+				silver</td>
+		</tr>
+	</table>
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/skins/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/behaviors/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/behaviors/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/behaviors/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/behaviors/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/behaviors/disablehandles.htc
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/behaviors/disablehandles.htc	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/behaviors/disablehandles.htc	(revision 1481)
@@ -0,0 +1,15 @@
+<public:component lightweight="true">
+
+<script language="javascript">
+
+function CancelEvent()
+{
+	return false ;
+}
+
+this.onresizestart = CancelEvent ;
+this.onbeforeeditfocus = CancelEvent ;
+
+</script>
+
+</public:component>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/behaviors/showtableborders.htc
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/behaviors/showtableborders.htc	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/behaviors/showtableborders.htc	(revision 1481)
@@ -0,0 +1,36 @@
+<public:component lightweight="true">
+
+<public:attach event="oncontentready" onevent="ShowBorders()" />
+<public:attach event="onpropertychange" onevent="OnPropertyChange()" />
+
+<script language="javascript">
+
+var oClassRegex = /\s*FCK__ShowTableBorders/ ;
+
+function ShowBorders()
+{
+	if ( this.border == 0 )
+	{
+		if ( !oClassRegex.test( this.className ) )
+			this.className += ' FCK__ShowTableBorders' ;
+	}
+	else
+	{
+		if ( oClassRegex.test( this.className ) )
+		{
+			this.className = this.className.replace( oClassRegex, '' ) ;
+			if ( this.className.length == 0 )
+				this.removeAttribute( 'className', 0 ) ;
+		}
+	}
+}
+
+function OnPropertyChange()
+{
+	if ( event.propertyName == 'border' || event.propertyName == 'className' )
+		ShowBorders.call(this) ;
+}
+
+</script>
+
+</public:component>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/block_div.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/block_div.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/block_address.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/block_address.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/block_pre.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/block_pre.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/fck_plugin.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/fck_plugin.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/fck_hiddenfield.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/fck_hiddenfield.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/block_p.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/block_p.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/fck_anchor.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/fck_anchor.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/block_blockquote.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/block_blockquote.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/block_h1.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/block_h1.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/fck_flashlogo.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/fck_flashlogo.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/block_h2.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/block_h2.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/block_h3.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/block_h3.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/block_h4.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/block_h4.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/fck_pagebreak.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/fck_pagebreak.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/block_h5.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/block_h5.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/block_h6.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/images/block_h6.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/fck_internal.css
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/fck_internal.css	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/fck_internal.css	(revision 1481)
@@ -0,0 +1,199 @@
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This CSS Style Sheet defines rules used by the editor for its internal use.
+ */
+
+/* #########
+ *  WARNING
+ * #########
+ * When changing this file, the minified version of it must be updated in the
+ * fckeditor.html file (see FCK_InternalCSS).
+ */
+
+/* Fix to allow putting the caret at the end of the content in Firefox if
+   clicking below the content. */
+html
+{
+	min-height: 100%;
+}
+
+table.FCK__ShowTableBorders, table.FCK__ShowTableBorders td, table.FCK__ShowTableBorders th
+{
+	border: #d3d3d3 1px solid;
+}
+
+form
+{
+	border: 1px dotted #FF0000;
+	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;
+}
+
+/* Empty anchors images */
+.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;
+}
+
+/* Anchors with content */
+.FCK__AnchorC
+{
+	border: 1px dotted #00F;
+	background-position: 1px center;
+	background-image: url(images/fck_anchor.gif);
+	background-repeat: no-repeat;
+	padding-left: 18px;
+}
+
+/* Any anchor for non-IE, if we combine it with the previous rule IE ignores all. */
+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: #999999 1px dotted;
+	border-bottom: #999999 1px dotted;
+	border-right: 0px;
+	border-left: 0px;
+	height: 5px;
+}
+
+/* Hidden fields */
+.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);
+}
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/fck_editorarea.css
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/fck_editorarea.css	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/fck_editorarea.css	(revision 1481)
@@ -0,0 +1,110 @@
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This is the default CSS file used by the editor area. It defines the
+ * initial font of the editor and background color.
+ *
+ * A user can configure the editor to use another CSS file. Just change
+ * the value of the FCKConfig.EditorAreaCSS key in the configuration
+ * file.
+ */
+
+/**
+ * The "body" styles should match your editor web site, mainly regarding
+ * background color and font family and size.
+ */
+
+body
+{
+	background-color: #ffffff;
+	padding: 5px 5px 5px 5px;
+	margin: 0px;
+}
+
+body, td
+{
+	font-family: Arial, Verdana, sans-serif;
+	font-size: 12px;
+}
+
+a[href]
+{
+	color: -moz-hyperlinktext !important;		/* For Firefox... mark as important, otherwise it becomes black */
+	text-decoration: -moz-anchor-decoration;	/* For Firefox 3, otherwise no underline will be used */
+}
+
+/**
+ * Just uncomment the following block if you want to avoid spaces between
+ * paragraphs. Remember to apply the same style in your output front end page.
+ */
+
+/*
+p, ul, li
+{
+	margin-top: 0px;
+	margin-bottom: 0px;
+}
+*/
+
+/**
+ * Uncomment the following block, or only selected lines if appropriate,
+ * if you have some style items that would break the styles combo box.
+ * You can also write other CSS overrides inside the style block below
+ * as needed and they will be applied to inside the style combo only.
+ */
+
+/*
+.SC_Item *, .SC_ItemSelected *
+{
+	margin: 0px !important;
+	padding: 0px !important;
+	text-indent: 0px !important;
+	clip: auto !important;
+	position: static !important;
+}
+*/
+
+/**
+ * The following are some sample styles used in the "Styles" toolbar command.
+ * You should instead remove them, and include the styles used by the site
+ * you are using the editor in.
+ */
+
+.Bold
+{
+	font-weight: bold;
+}
+
+.Title
+{
+	font-weight: bold;
+	font-size: 18px;
+	color: #cc3300;
+}
+
+.Code
+{
+	border: #8b4513 1px solid;
+	padding-right: 5px;
+	padding-left: 5px;
+	color: #000066;
+	font-family: 'Courier New' , Monospace;
+	background-color: #ff9933;
+}
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/fck_showtableborders_gecko.css
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/fck_showtableborders_gecko.css	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/css/fck_showtableborders_gecko.css	(revision 1481)
@@ -0,0 +1,49 @@
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This CSS Style Sheet defines the rules to show table borders on Gecko.
+ */
+
+/* #########
+ *  WARNING
+ * #########
+ * When changing this file, the minified version of it must be updated in the
+ * fckeditor.html file (see FCK_ShowTableBordersCSS).
+ */
+
+/* For tables with the "border" attribute set to "0" */
+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 ;
+}
+
+/* For tables with no "border" attribute set */
+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
+{
+	border: #d3d3d3 1px dotted ;
+}
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/frmactualfolder.html.org
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/frmactualfolder.html.org	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/frmactualfolder.html.org	(revision 1481)
@@ -0,0 +1,95 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This page shows the actual folder path.
+-->
+<html>
+	<head>
+		<title>Folder path</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<link href="browser.css" type="text/css" rel="stylesheet">
+		<script type="text/javascript">
+// Automatically detect the correct document.domain (#1919).
+(function()
+{
+	var d = document.domain ;
+
+	while ( true )
+	{
+		// Test if we can access a parent property.
+		try
+		{
+			var test = window.top.opener.document.domain ;
+			break ;
+		}
+		catch( e )
+		{}
+
+		// Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
+		d = d.replace( /.*?(?:\.|$)/, '' ) ;
+
+		if ( d.length == 0 )
+			break ;		// It was not able to detect the domain.
+
+		try
+		{
+			document.domain = d ;
+		}
+		catch (e)
+		{
+			break ;
+		}
+	}
+})() ;
+
+function SetCurrentFolder( resourceType, folderPath )
+{
+	document.getElementById('tdName').innerHTML = folderPath ;
+}
+
+window.onload = function()
+{
+	window.top.IsLoadedActualFolder = true ;
+}
+
+		</script>
+	</head>
+	<body>
+		<table class="fullHeight" cellSpacing="0" cellPadding="0" width="100%" border="0">
+			<tr>
+				<td>
+					<button style="WIDTH: 100%" type="button">
+						<table cellSpacing="0" cellPadding="0" width="100%" border="0">
+							<tr>
+								<td><img height="32" alt="" src="images/FolderOpened32.gif" width="32"></td>
+								<td>&nbsp;</td>
+								<td id="tdName" width="100%" nowrap class="ActualFolder">/</td>
+								<td>&nbsp;</td>
+								<td><img height="8" src="images/ButtonArrow.gif" width="12" alt=""></td>
+								<td>&nbsp;</td>
+							</tr>
+						</table>
+					</button>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../../../../../../../../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/default.icon.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/default.icon.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/dll.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/dll.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/js.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/js.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/swt.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/swt.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/bmp.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/bmp.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/txt.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/txt.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/avi.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/avi.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/jpg.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/jpg.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/exe.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/exe.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/png.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/png.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/rdp.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/rdp.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/htm.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/htm.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/ai.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/ai.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/vsd.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/vsd.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/swf.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/swf.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/mp3.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/mp3.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/xml.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/xml.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/mdb.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/mdb.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/fla.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/fla.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/zip.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/zip.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/ppt.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/ppt.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/html.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/html.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/gif.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/gif.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/doc.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/doc.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/cs.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/cs.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/xls.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/xls.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/pdf.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/pdf.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/default.icon.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/default.icon.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/dll.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/dll.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/js.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/js.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/swt.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/swt.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/bmp.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/bmp.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/txt.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/txt.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/avi.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/avi.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/jpg.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/jpg.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/exe.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/exe.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/png.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/png.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/rdp.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/rdp.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/htm.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/htm.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/ai.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/ai.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/vsd.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/vsd.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/mp3.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/mp3.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/swf.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/swf.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/xml.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/xml.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/fla.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/fla.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/mdb.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/mdb.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/zip.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/zip.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/ppt.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/ppt.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/html.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/html.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/gif.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/gif.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/doc.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/doc.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/cs.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/cs.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/xls.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/xls.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/pdf.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/pdf.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/Folder.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/Folder.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/FolderOpened32.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/FolderOpened32.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/spacer.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/spacer.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/Folder32.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/Folder32.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/FolderUp.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/FolderUp.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/ButtonArrow.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/ButtonArrow.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/FolderOpened.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/images/FolderOpened.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/browser.css
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/browser.css	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/browser.css	(revision 1481)
@@ -0,0 +1,102 @@
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * CSS styles used by all pages that compose the File Browser.
+ */
+
+body
+{
+	background-color: #f1f1e3;
+	margin-top:0;
+	margin-bottom:0;
+}
+
+form
+{
+	margin: 0;
+	padding: 0;
+}
+img {
+	border: 0px;
+}
+.icon {
+	width: 16px;
+	padding: 10px;
+}
+.filename {
+	width: 50%;
+	padding: 10px;
+}
+.thumbnail {
+	width: 80px;
+	padding: 10px;
+}
+.Frame
+{
+	background-color: #f1f1e3;
+	border: thin inset #f1f1e3;
+}
+
+body.FileArea
+{
+	background-color: #ffffff;
+	margin: 10px;
+}
+
+body, td, input, select
+{
+	font-size: 11px;
+	font-family: 'Microsoft Sans Serif' , Arial, Helvetica, Verdana;
+}
+
+.ActualFolder
+{
+	font-weight: bold;
+	font-size: 14px;
+}
+
+.PopupButtons
+{
+	border-top: #d5d59d 1px solid;
+	background-color: #C1D3FB;
+	padding: 7px 10px 7px 10px;
+}
+
+.Button, button
+{
+	color: #0000CD;
+	border: 1px solid #0000CD;
+	background-color: #B3C9FA;
+}
+
+.FolderListCurrentFolder img
+{
+	background-image: url(images/FolderOpened.gif);
+}
+
+.FolderListFolder img
+{
+	background-image: url(images/Folder.gif);
+}
+
+.fullHeight {
+	height: 100%;
+}
+
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/js/imgpreview.full.0.22.jquery.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/js/imgpreview.full.0.22.jquery.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/js/imgpreview.full.0.22.jquery.js	(revision 1481)
@@ -0,0 +1,109 @@
+/*
+ * imgPreview jQuery plugin
+ * Copyright (c) 2009 James Padolsey
+ * j@qd9.co.uk | http://james.padolsey.com
+ * Dual licensed under MIT and GPL.
+ * Updated: 09/02/09
+ * @author James Padolsey
+ * @version 0.22
+ */
+(function($){
+    
+    $.expr[':'].linkingToImage = function(elem, index, match){
+        // This will return true if the specified attribute contains a valid link to an image:
+        return !! ($(elem).attr(match[3]) && $(elem).attr(match[3]).match(/\.(gif|jpe?g|png|bmp)$/i));
+    };
+    
+    $.fn.imgPreview = function(userDefinedSettings){
+        
+        var s = $.extend({
+            
+            /* DEFAULTS */
+            
+            // CSS to be applied to image:
+            imgCSS: {},
+            // Distance between cursor and preview:
+            distanceFromCursor: {top:10, left:10},
+            // Boolean, whether or not to preload images:
+            preloadImages: true,
+            // Callback: run when link is hovered: container is shown:
+            onShow: function(){},
+            // Callback: container is hidden:
+            onHide: function(){},
+            // Callback: Run when image within container has loaded:
+            onLoad: function(){},
+            // ID to give to container (for CSS styling):
+            containerID: 'imgPreviewContainer',
+            // Class to be given to container while image is loading:
+            containerLoadingClass: 'loading',
+            // Prefix (if using thumbnails), e.g. 'thumb_'
+            thumbPrefix: '',
+            // Where to retrieve the image from:
+            srcAttr: 'href'
+            
+        }, userDefinedSettings),
+        
+        $container = $('<div/>').attr('id', s.containerID)
+                        .append('<img/>').hide()
+                        .css('position','absolute')
+                        .appendTo('body'),
+            
+        $img = $('img', $container).css(s.imgCSS),
+        
+        // Get all valid elements (linking to images / ATTR with image link):
+        $collection = this.filter(':linkingToImage(' + s.srcAttr + ')');
+        
+        // Re-usable means to add prefix (from setting):
+        function addPrefix(src) {
+            return src.replace(/(\/?)([^\/]+)$/,'$1' + s.thumbPrefix + '$2');
+        }
+        
+        if (s.preloadImages) {
+            (function(i){
+                var tempIMG = new Image(),
+                    callee = arguments.callee;
+                tempIMG.src = addPrefix($($collection[i]).attr(s.srcAttr));
+                tempIMG.onload = function(){
+                    $collection[i + 1] && callee(i + 1);
+                };
+            })(0);
+        }
+        
+        $collection
+            .mousemove(function(e){
+                
+                $container.css({
+                    top: e.pageY + s.distanceFromCursor.top + 'px',
+                    left: e.pageX + s.distanceFromCursor.left + 'px'
+                });
+                
+            })
+            .hover(function(){
+                
+                var link = this;
+                $container
+                    .addClass(s.containerLoadingClass)
+                    .show();
+                $img
+                    .load(function(){
+                        $container.removeClass(s.containerLoadingClass);
+                        $img.show();
+                        s.onLoad.call($img[0], link);
+                    })
+                    .attr( 'src' , addPrefix($(link).attr(s.srcAttr)) );
+                s.onShow.call($container[0], link);
+                
+            }, function(){
+                
+                $container.hide();
+                $img.unbind('load').attr('src','').hide();
+                s.onHide.call($container[0], this);
+                
+            });
+        
+        // Return full selection, not $collection!
+        return this;
+        
+    };
+    
+})(jQuery);
\ No newline at end of file
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/js/imgpreview.min.0.22.jquery.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/js/imgpreview.min.0.22.jquery.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/js/imgpreview.min.0.22.jquery.js	(revision 1481)
@@ -0,0 +1,10 @@
+/*
+ * imgPreview jQuery plugin
+ * Copyright (c) 2009 James Padolsey
+ * j@qd9.co.uk | http://james.padolsey.com
+ * Dual licensed under MIT and GPL.
+ * Updated: 09/02/09
+ * @author James Padolsey
+ * @version 0.22
+ */
+(function(c){c.expr[':'].linkingToImage=function(a,g,e){return!!(c(a).attr(e[3])&&c(a).attr(e[3]).match(/\.(gif|jpe?g|png|bmp)$/i))};c.fn.imgPreview=function(j){var b=c.extend({imgCSS:{},distanceFromCursor:{top:10,left:10},preloadImages:true,onShow:function(){},onHide:function(){},onLoad:function(){},containerID:'imgPreviewContainer',containerLoadingClass:'loading',thumbPrefix:'',srcAttr:'href'},j),d=c('<div/>').attr('id',b.containerID).append('<img/>').hide().css('position','absolute').appendTo('body'),f=c('img',d).css(b.imgCSS),h=this.filter(':linkingToImage('+b.srcAttr+')');function i(a){return a.replace(/(\/?)([^\/]+)$/,'$1'+b.thumbPrefix+'$2')}if(b.preloadImages){(function(a){var g=new Image(),e=arguments.callee;g.src=i(c(h[a]).attr(b.srcAttr));g.onload=function(){h[a+1]&&e(a+1)}})(0)}h.mousemove(function(a){d.css({top:a.pageY+b.distanceFromCursor.top+'px',left:a.pageX+b.distanceFromCursor.left+'px'})}).hover(function(){var a=this;d.addClass(b.containerLoadingClass).show();f.load(function(){d.removeClass(b.containerLoadingClass);f.show();b.onLoad.call(f[0],a)}).attr('src',i(c(a).attr(b.srcAttr)));b.onShow.call(d[0],a)},function(){d.hide();f.unbind('load').attr('src','').hide();b.onHide.call(d[0],this)});return this}})(jQuery);
\ No newline at end of file
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/js/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/js/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/js/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/js/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/js/fckxml.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/js/fckxml.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/js/fckxml.js	(revision 1481)
@@ -0,0 +1,147 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Defines the FCKXml object that is used for XML data calls
+ * and XML processing.
+ *
+ * This script is shared by almost all pages that compose the
+ * File Browser frameset.
+ */
+
+var FCKXml = function()
+{}
+
+FCKXml.prototype.GetHttpRequest = function()
+{
+	// Gecko / IE7
+	try { return new XMLHttpRequest(); }
+	catch(e) {}
+
+	// IE6
+	try { return new ActiveXObject( 'Msxml2.XMLHTTP' ) ; }
+	catch(e) {}
+
+	// IE5
+	try { return new ActiveXObject( 'Microsoft.XMLHTTP' ) ; }
+	catch(e) {}
+
+	return null ;
+}
+
+FCKXml.prototype.LoadUrl = function( urlToCall, asyncFunctionPointer )
+{
+	var oFCKXml = this ;
+
+	var bAsync = ( typeof(asyncFunctionPointer) == 'function' ) ;
+
+	var oXmlHttp = this.GetHttpRequest() ;
+
+	oXmlHttp.open( "GET", urlToCall, bAsync ) ;
+
+	if ( bAsync )
+	{
+		oXmlHttp.onreadystatechange = function()
+		{
+			if ( oXmlHttp.readyState == 4 )
+			{
+				var oXml ;
+				try
+				{
+					// this is the same test for an FF2 bug as in fckxml_gecko.js
+					// but we've moved the responseXML assignment into the try{}
+					// so we don't even have to check the return status codes.
+					var test = oXmlHttp.responseXML.firstChild ;
+					oXml = oXmlHttp.responseXML ;
+				}
+				catch ( e )
+				{
+					try
+					{
+						oXml = (new DOMParser()).parseFromString( oXmlHttp.responseText, 'text/xml' ) ;
+					}
+					catch ( e ) {}
+				}
+
+				if ( !oXml || !oXml.firstChild || oXml.firstChild.nodeName == 'parsererror' )
+				{
+					alert( 'The server didn\'t send back a proper XML response. Please contact your system administrator.\n\n' +
+							'XML request error: ' + oXmlHttp.statusText + ' (' + oXmlHttp.status + ')\n\n' +
+							'Requested URL:\n' + urlToCall + '\n\n' +
+							'Response text:\n' + oXmlHttp.responseText ) ;
+					return ;
+				}
+
+				oFCKXml.DOMDocument = oXml ;
+				asyncFunctionPointer( oFCKXml ) ;
+			}
+		}
+	}
+
+	oXmlHttp.send( null ) ;
+
+	if ( ! bAsync )
+	{
+		if ( oXmlHttp.status == 200 || oXmlHttp.status == 304 )
+			this.DOMDocument = oXmlHttp.responseXML ;
+		else
+		{
+			alert( 'XML request error: ' + oXmlHttp.statusText + ' (' + oXmlHttp.status + ')' ) ;
+		}
+	}
+}
+
+FCKXml.prototype.SelectNodes = function( xpath )
+{
+	if ( navigator.userAgent.indexOf('MSIE') >= 0 )		// IE
+		return this.DOMDocument.selectNodes( xpath ) ;
+	else					// Gecko
+	{
+		var aNodeArray = new Array();
+
+		var xPathResult = this.DOMDocument.evaluate( xpath, this.DOMDocument,
+				this.DOMDocument.createNSResolver(this.DOMDocument.documentElement), XPathResult.ORDERED_NODE_ITERATOR_TYPE, null) ;
+		if ( xPathResult )
+		{
+			var oNode = xPathResult.iterateNext() ;
+ 			while( oNode )
+ 			{
+ 				aNodeArray[aNodeArray.length] = oNode ;
+ 				oNode = xPathResult.iterateNext();
+ 			}
+		}
+		return aNodeArray ;
+	}
+}
+
+FCKXml.prototype.SelectSingleNode = function( xpath )
+{
+	if ( navigator.userAgent.indexOf('MSIE') >= 0 )		// IE
+		return this.DOMDocument.selectSingleNode( xpath ) ;
+	else					// Gecko
+	{
+		var xPathResult = this.DOMDocument.evaluate( xpath, this.DOMDocument,
+				this.DOMDocument.createNSResolver(this.DOMDocument.documentElement), 9, null);
+
+		if ( xPathResult && xPathResult.singleNodeValue )
+			return xPathResult.singleNodeValue ;
+		else
+			return null ;
+	}
+}
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/js/common.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/js/common.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/js/common.js	(revision 1481)
@@ -0,0 +1,88 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Common objects and functions shared by all pages that compose the
+ * File Browser dialog window.
+ */
+
+// Automatically detect the correct document.domain (#1919).
+(function()
+{
+	var d = document.domain ;
+
+	while ( true )
+	{
+		// Test if we can access a parent property.
+		try
+		{
+			var test = window.top.opener.document.domain ;
+			break ;
+		}
+		catch( e )
+		{}
+
+		// Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
+		d = d.replace( /.*?(?:\.|$)/, '' ) ;
+
+		if ( d.length == 0 )
+			break ;		// It was not able to detect the domain.
+
+		try
+		{
+			document.domain = d ;
+		}
+		catch (e)
+		{
+			break ;
+		}
+	}
+})() ;
+
+function AddSelectOption( selectElement, optionText, optionValue )
+{
+	var oOption = document.createElement("OPTION") ;
+
+	oOption.text	= optionText ;
+	oOption.value	= optionValue ;
+
+	selectElement.options.add(oOption) ;
+
+	return oOption ;
+}
+
+var oConnector	= window.parent.oConnector ;
+var oIcons		= window.parent.oIcons ;
+
+
+function StringBuilder( value )
+{
+    this._Strings = new Array( value || '' ) ;
+}
+
+StringBuilder.prototype.Append = function( value )
+{
+    if ( value )
+        this._Strings.push( value ) ;
+}
+
+StringBuilder.prototype.ToString = function()
+{
+    return this._Strings.join( '' ) ;
+}
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/frmresourceslist.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/frmresourceslist.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/frmresourceslist.html	(revision 1481)
@@ -0,0 +1,184 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This page shows all resources available in a folder in the File Browser.
+-->
+<html>
+<head>
+	<title>Resources</title>
+	<link href="browser.css" type="text/css" rel="stylesheet">
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+	<script type="text/javascript" src="js/common.js"></script>
+	<script type="text/javascript">
+
+
+
+
+var oListManager = new Object() ;
+
+oListManager.Clear = function()
+{
+	document.body.innerHTML = '' ;
+}
+
+function ProtectPath(path)
+{
+	path = path.replace( /\\/g, '\\\\') ;
+	path = path.replace( /'/g, '\\\'') ;
+	return path ;
+}
+
+oListManager.GetFolderRowHtml = function( folderName, folderPath )
+{
+	// Build the link to view the folder.
+	var sLink = '<a href="#" onclick="OpenFolder(\'' + ProtectPath( folderPath ) + '\');return false;">' ;
+
+	return '<tr>' +
+			'<td width="16">' +
+				sLink +
+				'<img alt="" src="images/Folder.gif" width="16" height="16" border="0"><\/a>' +
+			'<\/td><td nowrap colspan="2">&nbsp;' +
+				sLink +
+				folderName +
+				'<\/a>' +
+		'<\/td><\/tr>' ;
+}
+
+oListManager.GetFileRowHtml = function( fileName, fileUrl, fileSize )
+{
+	// Build the link to view the folder.
+	var sLink = '<a href="#" onclick="OpenFile(\'' + ProtectPath( fileUrl ) + '\');return false;">' ;
+	var relLink = '<a href="'+fileUrl+'" rel="lightbox">' ;
+
+	// Get the file icon.
+	var sIcon = oIcons.GetIcon( fileName ) ;
+
+	return '<tr>' +
+			'<td class="icon">' +
+				sLink +
+				'<img alt="" src="images/icons/' + sIcon + '.gif" width="16" height="16" border="0"><\/a>' +
+			'<\/td>'+
+			'<td class="thumbnail">' +
+				sLink +
+				'<img alt="" src="' + fileUrl + '" width="100"><\/a>' +
+			'<\/td>' +
+            '<td class="filename">' +
+				sLink +
+				fileName +
+				'<\/a>' +
+			'<\/td>'+
+            '<td align="right" nowrap>&nbsp;' +
+				fileSize +
+				' KB' +
+		'<\/td><\/tr>' ;
+}
+
+function OpenFolder( folderPath )
+{
+	// Load the resources list for this folder.
+	window.parent.frames['frmFolders'].LoadFolders( folderPath ) ;
+}
+
+function OpenFile( fileUrl )
+{
+	window.top.opener.SetUrl( fileUrl ) ;
+	window.top.close() ;
+	window.top.opener.focus() ;
+}
+
+function LoadResources( resourceType, folderPath )
+{
+	oListManager.Clear() ;
+	oConnector.ResourceType = resourceType ;
+	oConnector.CurrentFolder = folderPath ;
+	oConnector.SendCommand( 'GetFoldersAndFiles', null, GetFoldersAndFilesCallBack ) ;
+}
+
+function Refresh()
+{
+	LoadResources( oConnector.ResourceType, oConnector.CurrentFolder ) ;
+}
+
+function GetFoldersAndFilesCallBack( fckXml )
+{
+	if ( oConnector.CheckError( fckXml ) != 0 )
+		return ;
+
+	// Get the current folder path.
+	var oFolderNode = fckXml.SelectSingleNode( 'Connector/CurrentFolder' ) ;
+	if ( oFolderNode == null )
+	{
+		alert( 'The server didn\'t reply with a proper XML data. Please check your configuration.' ) ;
+		return ;
+	}
+	var sCurrentFolderPath	= oFolderNode.attributes.getNamedItem('path').value ;
+	var sCurrentFolderUrl	= oFolderNode.attributes.getNamedItem('url').value ;
+
+//	var dTimer = new Date() ;
+
+	var oHtml = new StringBuilder( '<table id="tableFiles" cellspacing="1" cellpadding="0" width="100%" border="0">' ) ;
+
+	// Add the Folders.
+	var oNodes ;
+	oNodes = fckXml.SelectNodes( 'Connector/Folders/Folder' ) ;
+	for ( var i = 0 ; i < oNodes.length ; i++ )
+	{
+		var sFolderName = oNodes[i].attributes.getNamedItem('name').value ;
+		oHtml.Append( oListManager.GetFolderRowHtml( sFolderName, sCurrentFolderPath + sFolderName + "/" ) ) ;
+	}
+
+	// Add the Files.
+	oNodes = fckXml.SelectNodes( 'Connector/Files/File' ) ;
+	for ( var j = 0 ; j < oNodes.length ; j++ )
+	{
+		var oNode = oNodes[j] ;
+		var sFileName = oNode.attributes.getNamedItem('name').value ;
+		var sFileSize = oNode.attributes.getNamedItem('size').value ;
+
+		// Get the optional "url" attribute. If not available, build the url.
+		var oFileUrlAtt = oNodes[j].attributes.getNamedItem('url') ;
+		var sFileUrl = oFileUrlAtt != null ? oFileUrlAtt.value : encodeURI( sCurrentFolderUrl + sFileName ).replace( /#/g, '%23' ) ;
+
+		// hide index.php in browse media - added for Website Baker
+		if (sFileName != "index.php") 
+		{
+			oHtml.Append( oListManager.GetFileRowHtml( sFileName, sFileUrl, sFileSize ) ) ;
+		}
+	}
+
+	oHtml.Append( '<\/table>' ) ;
+
+	document.body.innerHTML = oHtml.ToString() ;
+
+//	window.top.document.title = 'Finished processing in ' + ( ( ( new Date() ) - dTimer ) / 1000 ) + ' seconds' ;
+
+}
+
+window.onload = function()
+{
+	window.top.IsLoadedResourcesList = true ;
+}
+
+	</script>
+</head>
+<body class="FileArea">
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/frmresourceslist.html.org
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/frmresourceslist.html.org	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/frmresourceslist.html.org	(revision 1481)
@@ -0,0 +1,169 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This page shows all resources available in a folder in the File Browser.
+-->
+<html>
+<head>
+	<title>Resources</title>
+	<link href="browser.css" type="text/css" rel="stylesheet">
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+	<script type="text/javascript" src="js/common.js"></script>
+	<script type="text/javascript">
+
+var oListManager = new Object() ;
+
+oListManager.Clear = function()
+{
+	document.body.innerHTML = '' ;
+}
+
+function ProtectPath(path)
+{
+	path = path.replace( /\\/g, '\\\\') ;
+	path = path.replace( /'/g, '\\\'') ;
+	return path ;
+}
+
+oListManager.GetFolderRowHtml = function( folderName, folderPath )
+{
+	// Build the link to view the folder.
+	var sLink = '<a href="#" onclick="OpenFolder(\'' + ProtectPath( folderPath ) + '\');return false;">' ;
+
+	return '<tr>' +
+			'<td width="16">' +
+				sLink +
+				'<img alt="" src="images/Folder.gif" width="16" height="16" border="0"><\/a>' +
+			'<\/td><td nowrap colspan="2">&nbsp;' +
+				sLink +
+				folderName +
+				'<\/a>' +
+		'<\/td><\/tr>' ;
+}
+
+oListManager.GetFileRowHtml = function( fileName, fileUrl, fileSize )
+{
+	// Build the link to view the folder.
+	var sLink = '<a href="#" onclick="OpenFile(\'' + ProtectPath( fileUrl ) + '\');return false;">' ;
+
+	// Get the file icon.
+	var sIcon = oIcons.GetIcon( fileName ) ;
+
+	return '<tr>' +
+			'<td width="16">' +
+				sLink +
+				'<img alt="" src="images/icons/' + sIcon + '.gif" width="16" height="16" border="0"><\/a>' +
+			'<\/td><td>&nbsp;' +
+				sLink +
+				fileName +
+				'<\/a>' +
+			'<\/td><td align="right" nowrap>&nbsp;' +
+				fileSize +
+				' KB' +
+		'<\/td><\/tr>' ;
+}
+
+function OpenFolder( folderPath )
+{
+	// Load the resources list for this folder.
+	window.parent.frames['frmFolders'].LoadFolders( folderPath ) ;
+}
+
+function OpenFile( fileUrl )
+{
+	window.top.opener.SetUrl( encodeURI( fileUrl ).replace( '#', '%23' ) ) ;
+	window.top.close() ;
+	window.top.opener.focus() ;
+}
+
+function LoadResources( resourceType, folderPath )
+{
+	oListManager.Clear() ;
+	oConnector.ResourceType = resourceType ;
+	oConnector.CurrentFolder = folderPath ;
+	oConnector.SendCommand( 'GetFoldersAndFiles', null, GetFoldersAndFilesCallBack ) ;
+}
+
+function Refresh()
+{
+	LoadResources( oConnector.ResourceType, oConnector.CurrentFolder ) ;
+}
+
+function GetFoldersAndFilesCallBack( fckXml )
+{
+	if ( oConnector.CheckError( fckXml ) != 0 )
+		return ;
+
+	// Get the current folder path.
+	var oFolderNode = fckXml.SelectSingleNode( 'Connector/CurrentFolder' ) ;
+	if ( oFolderNode == null )
+	{
+		alert( 'The server didn\'t reply with a proper XML data. Please check your configuration.' ) ;
+		return ;
+	}
+	var sCurrentFolderPath	= oFolderNode.attributes.getNamedItem('path').value ;
+	var sCurrentFolderUrl	= oFolderNode.attributes.getNamedItem('url').value ;
+
+//	var dTimer = new Date() ;
+
+	var oHtml = new StringBuilder( '<table id="tableFiles" cellspacing="1" cellpadding="0" width="100%" border="0">' ) ;
+
+	// Add the Folders.
+	var oNodes ;
+	oNodes = fckXml.SelectNodes( 'Connector/Folders/Folder' ) ;
+	for ( var i = 0 ; i < oNodes.length ; i++ )
+	{
+		var sFolderName = oNodes[i].attributes.getNamedItem('name').value ;
+		oHtml.Append( oListManager.GetFolderRowHtml( sFolderName, sCurrentFolderPath + sFolderName + "/" ) ) ;
+	}
+
+	// Add the Files.
+	oNodes = fckXml.SelectNodes( 'Connector/Files/File' ) ;
+	for ( var j = 0 ; j < oNodes.length ; j++ )
+	{
+		var oNode = oNodes[j] ;
+		var sFileName = oNode.attributes.getNamedItem('name').value ;
+		var sFileSize = oNode.attributes.getNamedItem('size').value ;
+
+		// Get the optional "url" attribute. If not available, build the url.
+		var oFileUrlAtt = oNodes[j].attributes.getNamedItem('url') ;
+		var sFileUrl = oFileUrlAtt != null ? oFileUrlAtt.value : sCurrentFolderUrl + sFileName ;
+
+		oHtml.Append( oListManager.GetFileRowHtml( sFileName, sFileUrl, sFileSize ) ) ;
+	}
+
+	oHtml.Append( '<\/table>' ) ;
+
+	document.body.innerHTML = oHtml.ToString() ;
+
+//	window.top.document.title = 'Finished processing in ' + ( ( ( new Date() ) - dTimer ) / 1000 ) + ' seconds' ;
+
+}
+
+window.onload = function()
+{
+	window.top.IsLoadedResourcesList = true ;
+}
+	</script>
+</head>
+<body class="FileArea">
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/frmresourcetype.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/frmresourcetype.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/frmresourcetype.html	(revision 1481)
@@ -0,0 +1,73 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This page shows the list of available resource types.
+-->
+<html>
+	<head>
+		<title>Available types</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<link href="browser.css" type="text/css" rel="stylesheet">
+		<script type="text/javascript" src="js/common.js"></script>
+		<script type="text/javascript">
+
+function SetResourceType( type )
+{
+	window.parent.frames["frmFolders"].SetResourceType( type ) ;
+}
+
+var aTypes = [
+	['File','File'],
+	['Image','Image'],
+	['Flash','Flash'],
+	['Media','Media']
+] ;
+
+window.onload = function()
+{
+	/* HIDE RESOURCE TYPES - NOT USED WITHIN WEBSITE BAKER
+	var oCombo = document.getElementById('cmbType') ;
+	oCombo.innerHTML = '' ;
+	for ( var i = 0 ; i < aTypes.length ; i++ )
+	{
+		if ( oConnector.ShowAllTypes || aTypes[i][0] == oConnector.ResourceType )
+			AddSelectOption( oCombo, aTypes[i][1], aTypes[i][0] ) ;
+	}
+	*/
+}
+
+		</script>
+	</head>
+	<body>
+		<!-- HIDE RESOURCE TYPES - NOT USED IN WEBSITE BAKER 	
+		<table class="fullHeight" cellSpacing="0" cellPadding="0" width="100%" border="0">
+			<tr>
+				<td nowrap>
+					Resource Type<BR>
+					<select id="cmbType" style="WIDTH: 100%" onchange="SetResourceType(this.value);">
+						<option>&nbsp;
+					</select>
+				</td>
+			</tr>
+		</table>
+		-->
+	</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/browser.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/browser.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/browser.html	(revision 1481)
@@ -0,0 +1,200 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
+   "http://www.w3.org/TR/html4/frameset.dtd">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This page compose the File Browser dialog frameset.
+-->
+<html>
+	<head>
+		<title>FCKeditor - Resources Browser</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<link href="browser.css" type="text/css" rel="stylesheet">
+		<script type="text/javascript" src="js/fckxml.js"></script>
+		<script type="text/javascript">
+// Automatically detect the correct document.domain (#1919).
+(function()
+{
+	var d = document.domain ;
+
+	while ( true )
+	{
+		// Test if we can access a parent property.
+		try
+		{
+			var test = window.opener.document.domain ;
+			break ;
+		}
+		catch( e )
+		{}
+
+		// Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
+		d = d.replace( /.*?(?:\.|$)/, '' ) ;
+
+		if ( d.length == 0 )
+			break ;		// It was not able to detect the domain.
+
+		try
+		{
+			document.domain = d ;
+		}
+		catch (e)
+		{
+			break ;
+		}
+	}
+})() ;
+
+function GetUrlParam( paramName )
+{
+	var oRegex = new RegExp( '[\?&]' + paramName + '=([^&]+)', 'i' ) ;
+	var oMatch = oRegex.exec( window.top.location.search ) ;
+
+	if ( oMatch && oMatch.length > 1 )
+		return decodeURIComponent( oMatch[1] ) ;
+	else
+		return '' ;
+}
+
+var oConnector = new Object() ;
+oConnector.CurrentFolder	= '/' ;
+
+var sConnUrl = GetUrlParam( 'Connector' ) ;
+
+// Gecko has some problems when using relative URLs (not starting with slash).
+if ( sConnUrl.substr(0,1) != '/' && sConnUrl.indexOf( '://' ) < 0 )
+	sConnUrl = window.location.href.replace( /browser.html.*$/, '' ) + sConnUrl ;
+
+oConnector.ConnectorUrl = sConnUrl + ( sConnUrl.indexOf('?') != -1 ? '&' : '?' ) ;
+
+var sServerPath = GetUrlParam( 'ServerPath' ) ;
+if ( sServerPath.length > 0 )
+	oConnector.ConnectorUrl += 'ServerPath=' + encodeURIComponent( sServerPath ) + '&' ;
+
+oConnector.ResourceType		= GetUrlParam( 'Type' ) ;
+oConnector.ShowAllTypes		= ( oConnector.ResourceType.length == 0 ) ;
+
+if ( oConnector.ShowAllTypes )
+	oConnector.ResourceType = 'File' ;
+
+oConnector.SendCommand = function( command, params, callBackFunction )
+{
+	var sUrl = this.ConnectorUrl + 'Command=' + command ;
+	sUrl += '&Type=' + this.ResourceType ;
+	sUrl += '&CurrentFolder=' + encodeURIComponent( this.CurrentFolder ) ;
+
+	if ( params ) sUrl += '&' + params ;
+
+	// Add a random salt to avoid getting a cached version of the command execution
+	sUrl += '&uuid=' + new Date().getTime() ;
+
+	var oXML = new FCKXml() ;
+
+	if ( callBackFunction )
+		oXML.LoadUrl( sUrl, callBackFunction ) ;	// Asynchronous load.
+	else
+		return oXML.LoadUrl( sUrl ) ;
+
+	return null ;
+}
+
+oConnector.CheckError = function( responseXml )
+{
+	var iErrorNumber = 0 ;
+	var oErrorNode = responseXml.SelectSingleNode( 'Connector/Error' ) ;
+
+	if ( oErrorNode )
+	{
+		iErrorNumber = parseInt( oErrorNode.attributes.getNamedItem('number').value, 10 ) ;
+
+		switch ( iErrorNumber )
+		{
+			case 0 :
+				break ;
+			case 1 :	// Custom error. Message placed in the "text" attribute.
+				alert( oErrorNode.attributes.getNamedItem('text').value ) ;
+				break ;
+			case 101 :
+				alert( 'Folder already exists' ) ;
+				break ;
+			case 102 :
+				alert( 'Invalid folder name' ) ;
+				break ;
+			case 103 :
+				alert( 'You have no permissions to create the folder' ) ;
+				break ;
+			case 110 :
+				alert( 'Unknown error creating folder' ) ;
+				break ;
+			default :
+				alert( 'Error on your request. Error number: ' + iErrorNumber ) ;
+				break ;
+		}
+	}
+	return iErrorNumber ;
+}
+
+var oIcons = new Object() ;
+
+oIcons.AvailableIconsArray = [
+	'ai','avi','bmp','cs','dll','doc','exe','fla','gif','htm','html','jpg','js',
+	'mdb','mp3','pdf','png','ppt','rdp','swf','swt','txt','vsd','xls','xml','zip' ] ;
+
+oIcons.AvailableIcons = new Object() ;
+
+for ( var i = 0 ; i < oIcons.AvailableIconsArray.length ; i++ )
+	oIcons.AvailableIcons[ oIcons.AvailableIconsArray[i] ] = true ;
+
+oIcons.GetIcon = function( fileName )
+{
+	var sExtension = fileName.substr( fileName.lastIndexOf('.') + 1 ).toLowerCase() ;
+
+	if ( this.AvailableIcons[ sExtension ] == true )
+		return sExtension ;
+	else
+		return 'default.icon' ;
+}
+
+function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
+{
+	if (errorNumber == "1")
+		window.frames['frmUpload'].OnUploadCompleted( errorNumber, customMsg ) ;
+	else
+		window.frames['frmUpload'].OnUploadCompleted( errorNumber, fileName ) ;
+}
+
+		</script>
+	</head>
+	<frameset cols="150,*" class="Frame" framespacing="3" bordercolor="#f1f1e3" frameborder="1">
+		<frameset rows="50,*" framespacing="0">
+			<frame src="frmresourcetype.html" scrolling="no" frameborder="0">
+			<frame name="frmFolders" src="frmfolders.html" scrolling="auto" frameborder="1">
+		</frameset>
+		<frameset rows="50,*,50" framespacing="0">
+			<frame name="frmActualFolder" src="frmactualfolder.html" scrolling="no" frameborder="0">
+			<frame name="frmResourcesList" src="frmresourceslist.html" scrolling="auto" frameborder="1">
+			<frameset cols="150,*,0" framespacing="0" frameborder="0">
+				<frame name="frmCreateFolder" src="frmcreatefolder.html" scrolling="no" frameborder="0">
+				<frame name="frmUpload" src="frmupload.html" scrolling="no" frameborder="0">
+				<frame name="frmUploadWorker" src="javascript:void(0)" scrolling="no" frameborder="0">
+			</frameset>
+		</frameset>
+	</frameset>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/frmfolders.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/frmfolders.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/frmfolders.html	(revision 1481)
@@ -0,0 +1,198 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This page shows the list of folders available in the parent folder
+ * of the current folder.
+-->
+<html>
+	<head>
+		<title>Folders</title>
+		<link href="browser.css" type="text/css" rel="stylesheet">
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<script type="text/javascript" src="js/common.js"></script>
+		<script type="text/javascript">
+
+var sActiveFolder ;
+
+var bIsLoaded = false ;
+var iIntervalId ;
+
+var oListManager = new Object() ;
+
+oListManager.Init = function()
+{
+	this.Table = document.getElementById('tableFiles') ;
+	this.UpRow = document.getElementById('trUp') ;
+
+	this.TableRows = new Object() ;
+}
+
+oListManager.Clear = function()
+{
+	// Remove all other rows available.
+	while ( this.Table.rows.length > 1 )
+		this.Table.deleteRow(1) ;
+
+	// Reset the TableRows collection.
+	this.TableRows = new Object() ;
+}
+
+oListManager.AddItem = function( folderName, folderPath )
+{
+	// Create the new row.
+	var oRow = this.Table.insertRow(-1) ;
+	oRow.className = 'FolderListFolder' ;
+
+	// Build the link to view the folder.
+	var sLink = '<a href="#" onclick="OpenFolder(\'' + folderPath + '\');return false;">' ;
+
+	// Add the folder icon cell.
+	var oCell = oRow.insertCell(-1) ;
+	oCell.width = 16 ;
+	oCell.innerHTML = sLink + '<img alt="" src="images/spacer.gif" width="16" height="16" border="0"><\/a>' ;
+
+	// Add the folder name cell.
+	oCell = oRow.insertCell(-1) ;
+	oCell.noWrap = true ;
+	oCell.innerHTML = '&nbsp;' + sLink + folderName + '<\/a>' ;
+
+	this.TableRows[ folderPath ] = oRow ;
+}
+
+oListManager.ShowUpFolder = function( upFolderPath )
+{
+	this.UpRow.style.display = ( upFolderPath != null ? '' : 'none' ) ;
+
+	if ( upFolderPath != null )
+	{
+		document.getElementById('linkUpIcon').onclick = document.getElementById('linkUp').onclick = function()
+		{
+			LoadFolders( upFolderPath ) ;
+			return false ;
+		}
+	}
+}
+
+function CheckLoaded()
+{
+	if ( window.top.IsLoadedActualFolder
+		&& window.top.IsLoadedCreateFolder
+		&& window.top.IsLoadedUpload
+		&& window.top.IsLoadedResourcesList )
+	{
+		window.clearInterval( iIntervalId ) ;
+		bIsLoaded = true ;
+		OpenFolder( sActiveFolder ) ;
+	}
+}
+
+function OpenFolder( folderPath )
+{
+	sActiveFolder = folderPath ;
+
+	if ( ! bIsLoaded )
+	{
+		if ( ! iIntervalId )
+			iIntervalId = window.setInterval( CheckLoaded, 100 ) ;
+		return ;
+	}
+
+	// Change the style for the select row (to show the opened folder).
+	for ( var sFolderPath in oListManager.TableRows )
+	{
+		oListManager.TableRows[ sFolderPath ].className =
+			( sFolderPath == folderPath ? 'FolderListCurrentFolder' : 'FolderListFolder' ) ;
+	}
+
+	// Set the current folder in all frames.
+	window.parent.frames['frmActualFolder'].SetCurrentFolder( oConnector.ResourceType, folderPath ) ;
+	window.parent.frames['frmCreateFolder'].SetCurrentFolder( oConnector.ResourceType, folderPath ) ;
+	window.parent.frames['frmUpload'].SetCurrentFolder( oConnector.ResourceType, folderPath ) ;
+
+	// Load the resources list for this folder.
+	window.parent.frames['frmResourcesList'].LoadResources( oConnector.ResourceType, folderPath ) ;
+}
+
+function LoadFolders( folderPath )
+{
+	// Clear the folders list.
+	oListManager.Clear() ;
+
+	// Get the parent folder path.
+	var sParentFolderPath ;
+	if ( folderPath != '/' )
+		sParentFolderPath = folderPath.substring( 0, folderPath.lastIndexOf( '/', folderPath.length - 2 ) + 1 ) ;
+
+	// Show/Hide the Up Folder.
+	oListManager.ShowUpFolder( sParentFolderPath ) ;
+
+	if ( folderPath != '/' )
+	{
+		sActiveFolder = folderPath ;
+		oConnector.CurrentFolder = sParentFolderPath ;
+		oConnector.SendCommand( 'GetFolders', null, GetFoldersCallBack ) ;
+	}
+	else
+		OpenFolder( '/' ) ;
+}
+
+function GetFoldersCallBack( fckXml )
+{
+	if ( oConnector.CheckError( fckXml ) != 0 )
+		return ;
+
+	// Get the current folder path.
+	var oNode = fckXml.SelectSingleNode( 'Connector/CurrentFolder' ) ;
+	var sCurrentFolderPath = oNode.attributes.getNamedItem('path').value ;
+
+	var oNodes = fckXml.SelectNodes( 'Connector/Folders/Folder' ) ;
+
+	for ( var i = 0 ; i < oNodes.length ; i++ )
+	{
+		var sFolderName = oNodes[i].attributes.getNamedItem('name').value ;
+		oListManager.AddItem( sFolderName, sCurrentFolderPath + sFolderName + '/' ) ;
+	}
+
+	OpenFolder( sActiveFolder ) ;
+}
+
+function SetResourceType( type )
+{
+	oConnector.ResourceType = type ;
+	LoadFolders( '/' ) ;
+}
+
+window.onload = function()
+{
+	oListManager.Init() ;
+	LoadFolders( '/' ) ;
+}
+		</script>
+	</head>
+	<body class="FileArea">
+		<table id="tableFiles" cellSpacing="0" cellPadding="0" width="100%" border="0">
+			<tr id="trUp" style="DISPLAY: none">
+				<td width="16"><a id="linkUpIcon" href="#"><img alt="" src="images/FolderUp.gif" width="16" height="16" border="0"></a></td>
+				<td nowrap width="100%">&nbsp;<a id="linkUp" href="#">..</a></td>
+			</tr>
+		</table>
+	</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/frmcreatefolder.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/frmcreatefolder.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/frmcreatefolder.html	(revision 1481)
@@ -0,0 +1,114 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Page used to create new folders in the current folder.
+-->
+<html>
+	<head>
+		<title>Create Folder</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<link href="browser.css" type="text/css" rel="stylesheet">
+		<script type="text/javascript" src="js/common.js"></script>
+		<script type="text/javascript">
+
+function SetCurrentFolder( resourceType, folderPath )
+{
+	oConnector.ResourceType = resourceType ;
+	oConnector.CurrentFolder = folderPath ;
+}
+
+function CreateFolder()
+{
+	var sFolderName ;
+
+	while ( true )
+	{
+		sFolderName = prompt( 'Type the name of the new folder:', '' ) ;
+
+		if ( sFolderName == null )
+			return ;
+		else if ( sFolderName.length == 0 )
+			alert( 'Please type the folder name' ) ;
+		else
+			break ;
+	}
+
+	oConnector.SendCommand( 'CreateFolder', 'NewFolderName=' + encodeURIComponent( sFolderName) , CreateFolderCallBack ) ;
+}
+
+function CreateFolderCallBack( fckXml )
+{
+	if ( oConnector.CheckError( fckXml ) == 0 )
+		window.parent.frames['frmResourcesList'].Refresh() ;
+
+	/*
+	// Get the current folder path.
+	var oNode = fckXml.SelectSingleNode( 'Connector/Error' ) ;
+	var iErrorNumber = parseInt( oNode.attributes.getNamedItem('number').value ) ;
+
+	switch ( iErrorNumber )
+	{
+		case 0 :
+			window.parent.frames['frmResourcesList'].Refresh() ;
+			break ;
+		case 101 :
+			alert( 'Folder already exists' ) ;
+			break ;
+		case 102 :
+			alert( 'Invalid folder name' ) ;
+			break ;
+		case 103 :
+			alert( 'You have no permissions to create the folder' ) ;
+			break ;
+		case 110 :
+			alert( 'Unknown error creating folder' ) ;
+			break ;
+		default :
+			alert( 'Error creating folder. Error number: ' + iErrorNumber ) ;
+			break ;
+	}
+	*/
+}
+
+window.onload = function()
+{
+	window.top.IsLoadedCreateFolder = true ;
+}
+		</script>
+	</head>
+	<body>
+		<table class="fullHeight" cellSpacing="0" cellPadding="0" width="100%" border="0">
+			<tr>
+				<td>
+					<button type="button" style="WIDTH: 100%" onclick="CreateFolder();">
+						<table cellSpacing="0" cellPadding="0" border="0">
+							<tr>
+								<td><img height="16" alt="" src="images/Folder.gif" width="16"></td>
+								<td>&nbsp;</td>
+								<td nowrap>Create New Folder</td>
+							</tr>
+						</table>
+					</button>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/frmresourcetype.html.org
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/frmresourcetype.html.org	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/frmresourcetype.html.org	(revision 1481)
@@ -0,0 +1,69 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This page shows the list of available resource types.
+-->
+<html>
+	<head>
+		<title>Available types</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<link href="browser.css" type="text/css" rel="stylesheet">
+		<script type="text/javascript" src="js/common.js"></script>
+		<script type="text/javascript">
+
+function SetResourceType( type )
+{
+	window.parent.frames["frmFolders"].SetResourceType( type ) ;
+}
+
+var aTypes = [
+	['File','File'],
+	['Image','Image'],
+	['Flash','Flash'],
+	['Media','Media']
+] ;
+
+window.onload = function()
+{
+	var oCombo = document.getElementById('cmbType') ;
+	oCombo.innerHTML = '' ;
+	for ( var i = 0 ; i < aTypes.length ; i++ )
+	{
+		if ( oConnector.ShowAllTypes || aTypes[i][0] == oConnector.ResourceType )
+			AddSelectOption( oCombo, aTypes[i][1], aTypes[i][0] ) ;
+	}
+}
+
+		</script>
+	</head>
+	<body>
+		<table class="fullHeight" cellSpacing="0" cellPadding="0" width="100%" border="0">
+			<tr>
+				<td nowrap>
+					Resource Type<BR>
+					<select id="cmbType" style="WIDTH: 100%" onchange="SetResourceType(this.value);">
+						<option>&nbsp;
+					</select>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/frmupload.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/frmupload.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/frmupload.html	(revision 1481)
@@ -0,0 +1,115 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Page used to upload new files in the current folder.
+-->
+<html>
+	<head>
+		<title>File Upload</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<link href="browser.css" type="text/css" rel="stylesheet" >
+		<script type="text/javascript" src="js/common.js"></script>
+		<script type="text/javascript">
+
+function SetCurrentFolder( resourceType, folderPath )
+{
+	var sUrl = oConnector.ConnectorUrl + 'Command=FileUpload' ;
+	sUrl += '&Type=' + resourceType ;
+	sUrl += '&CurrentFolder=' + encodeURIComponent( folderPath ) ;
+
+	document.getElementById('frmUpload').action = sUrl ;
+}
+
+function OnSubmit()
+{
+	if ( document.getElementById('NewFile').value.length == 0 )
+	{
+		alert( 'Please select a file from your computer' ) ;
+		return false ;
+	}
+
+	// Set the interface elements.
+	document.getElementById('eUploadMessage').innerHTML = 'Upload a new file in this folder (Upload in progress, please wait...)' ;
+	document.getElementById('btnUpload').disabled = true ;
+
+	return true ;
+}
+
+function OnUploadCompleted( errorNumber, data )
+{
+	// Reset the Upload Worker Frame.
+	window.parent.frames['frmUploadWorker'].location = 'javascript:void(0)' ;
+
+	// Reset the upload form (On IE we must do a little trick to avoid problems).
+	if ( document.all )
+		document.getElementById('NewFile').outerHTML = '<input id="NewFile" name="NewFile" style="WIDTH: 100%" type="file">' ;
+	else
+		document.getElementById('frmUpload').reset() ;
+
+	// Reset the interface elements.
+	document.getElementById('eUploadMessage').innerHTML = 'Upload a new file in this folder' ;
+	document.getElementById('btnUpload').disabled = false ;
+
+	switch ( errorNumber )
+	{
+		case 0 :
+			window.parent.frames['frmResourcesList'].Refresh() ;
+			break ;
+		case 1 :	// Custom error.
+			alert( data ) ;
+			break ;
+		case 201 :
+			window.parent.frames['frmResourcesList'].Refresh() ;
+			alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + data + '"' ) ;
+			break ;
+		case 202 :
+			alert( 'Invalid file' ) ;
+			break ;
+		default :
+			alert( 'Error on file upload. Error number: ' + errorNumber ) ;
+			break ;
+	}
+}
+
+window.onload = function()
+{
+	window.top.IsLoadedUpload = true ;
+}
+		</script>
+	</head>
+	<body>
+		<form id="frmUpload" action="" target="frmUploadWorker" method="post" enctype="multipart/form-data" onsubmit="return OnSubmit();">
+			<table class="fullHeight" cellspacing="0" cellpadding="0" width="100%" border="0">
+				<tr>
+					<td nowrap="nowrap">
+						<span id="eUploadMessage">Upload a new file in this folder</span><br>
+						<table cellspacing="0" cellpadding="0" width="100%" border="0">
+							<tr>
+								<td width="100%"><input id="NewFile" name="NewFile" style="WIDTH: 100%" type="file"></td>
+								<td nowrap="nowrap">&nbsp;<input id="btnUpload" type="submit" value="Upload"></td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+			</table>
+		</form>
+	</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/frmactualfolder.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/frmactualfolder.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/default/frmactualfolder.html	(revision 1481)
@@ -0,0 +1,95 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This page shows the actual folder path.
+-->
+<html>
+	<head>
+		<title>Folder path</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<link href="browser.css" type="text/css" rel="stylesheet">
+		<script type="text/javascript">
+// Automatically detect the correct document.domain (#1919).
+(function()
+{
+	var d = document.domain ;
+
+	while ( true )
+	{
+		// Test if we can access a parent property.
+		try
+		{
+			var test = window.top.opener.document.domain ;
+			break ;
+		}
+		catch( e )
+		{}
+
+		// Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
+		d = d.replace( /.*?(?:\.|$)/, '' ) ;
+
+		if ( d.length == 0 )
+			break ;		// It was not able to detect the domain.
+
+		try
+		{
+			document.domain = d ;
+		}
+		catch (e)
+		{
+			break ;
+		}
+	}
+})() ;
+
+function SetCurrentFolder( resourceType, folderPath )
+{
+	document.getElementById('tdName').innerHTML = folderPath ;
+}
+
+window.onload = function()
+{
+	window.top.IsLoadedActualFolder = true ;
+}
+
+		</script>
+	</head>
+	<body>
+		<table class="fullHeight" cellSpacing="0" cellPadding="0" width="100%" border="0">
+			<tr>
+				<td>
+					<button style="WIDTH: 100%" type="button">
+						<table cellSpacing="0" cellPadding="0" width="100%" border="0">
+							<tr>
+								<td><img height="32" alt="" src="images/FolderOpened32.gif" width="32"></td>
+								<td>&nbsp;</td>
+								<td id="tdName" width="100%" nowrap class="ActualFolder">/</td>
+								<td>&nbsp;</td>
+								<td><img height="8" src="images/ButtonArrow.gif" width="12" alt=""></td>
+								<td>&nbsp;</td>
+							</tr>
+						</table>
+					</button>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/browser/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/connector.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/connector.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/connector.php	(revision 1481)
@@ -0,0 +1,89 @@
+<?php
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This is the File Manager Connector for PHP.
+ */
+
+ob_start() ;
+
+require('./config.php') ;
+require('./util.php') ;
+require('./io.php') ;
+require('./basexml.php') ;
+require('./commands.php') ;
+require('./phpcompat.php') ;
+
+if ( !$Config['Enabled'] )
+	SendError( 1, 'This connector is disabled. Please check the "editor/filemanager/connectors/php/config.php" file' ) ;
+
+DoResponse() ;
+
+function DoResponse()
+{
+    if (!isset($_GET)) {
+        global $_GET;
+    }
+
+
+	if ( !isset( $_GET['Command'] ) || !isset( $_GET['Type'] ) || !isset( $_GET['CurrentFolder'] ) )
+		return ;
+
+	// Get the main request informaiton.
+	$sCommand		= $_GET['Command'] ;
+	$sResourceType	= $_GET['Type'] ;
+	print $sCurrentFolder	= GetCurrentFolder() ;
+
+	// Check if it is an allowed command
+	if ( ! IsAllowedCommand( $sCommand ) )
+		SendError( 1, 'The "' . $sCommand . '" command isn\'t allowed' ) ;
+
+	// Check if it is an allowed type.
+	if ( !IsAllowedType( $sResourceType ) )
+		SendError( 1, 'Invalid type specified' ) ;
+
+	// File Upload doesn't have to Return XML, so it must be intercepted before anything.
+	if ( $sCommand == 'FileUpload' )
+	{
+		FileUpload( $sResourceType, $sCurrentFolder, $sCommand ) ;
+		return ;
+	}
+
+	CreateXmlHeader( $sCommand, $sResourceType, $sCurrentFolder ) ;
+
+	// Execute the required command.
+	switch ( $sCommand )
+	{
+		case 'GetFolders' :
+			GetFolders( $sResourceType, $sCurrentFolder ) ;
+			break ;
+		case 'GetFoldersAndFiles' :
+			GetFoldersAndFiles( $sResourceType, $sCurrentFolder ) ;
+			break ;
+		case 'CreateFolder' :
+			CreateFolder( $sResourceType, $sCurrentFolder ) ;
+			break ;
+	}
+
+	CreateXmlFooter() ;
+
+	exit ;
+}
+?>
\ No newline at end of file
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/basexml.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/basexml.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/basexml.php	(revision 1481)
@@ -0,0 +1,99 @@
+<?php
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * These functions define the base of the XML response sent by the PHP
+ * connector.
+ */
+
+function SetXmlHeaders()
+{
+	ob_end_clean() ;
+
+	// Prevent the browser from caching the result.
+	// Date in the past
+	header('Expires: Mon, 26 Jul 1997 05:00:00 GMT') ;
+	// always modified
+	header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT') ;
+	// HTTP/1.1
+	header('Cache-Control: no-store, no-cache, must-revalidate') ;
+	header('Cache-Control: post-check=0, pre-check=0', false) ;
+	// HTTP/1.0
+	header('Pragma: no-cache') ;
+
+	// Set the response format.
+	header( 'Content-Type: text/xml; charset=utf-8' ) ;
+}
+
+function CreateXmlHeader( $command, $resourceType, $currentFolder )
+{
+	SetXmlHeaders() ;
+
+	// Create the XML document header.
+	echo '<?xml version="1.0" encoding="utf-8" ?>' ;
+
+	// Create the main "Connector" node.
+	echo '<Connector command="' . $command . '" resourceType="' . $resourceType . '">' ;
+
+	// Add the current folder node.
+	echo '<CurrentFolder path="' . ConvertToXmlAttribute( $currentFolder ) . '" url="' . ConvertToXmlAttribute( GetUrlFromPath( $resourceType, $currentFolder, $command ) ) . '" />' ;
+
+	$GLOBALS['HeaderSent'] = true ;
+}
+
+function CreateXmlFooter()
+{
+	echo '</Connector>' ;
+}
+
+function SendError( $number, $text )
+{
+	if ( $_GET['Command'] == 'FileUpload' )
+		SendUploadResults( $number, "", "", $text ) ;
+
+	if ( isset( $GLOBALS['HeaderSent'] ) && $GLOBALS['HeaderSent'] )
+	{
+		SendErrorNode( $number, $text ) ;
+		CreateXmlFooter() ;
+	}
+	else
+	{
+		SetXmlHeaders() ;
+
+		// Create the XML document header
+		echo '<?xml version="1.0" encoding="utf-8" ?>' ;
+
+		echo '<Connector>' ;
+
+		SendErrorNode( $number, $text ) ;
+
+		echo '</Connector>' ;
+	}
+	exit ;
+}
+
+function SendErrorNode(  $number, $text )
+{
+	if ($text)
+		echo '<Error number="' . $number . '" text="' . htmlspecialchars( $text ) . '" />' ;
+	else
+		echo '<Error number="' . $number . '" />' ;
+}
+?>
\ No newline at end of file
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/phpcompat.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/phpcompat.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/phpcompat.php	(revision 1481)
@@ -0,0 +1,18 @@
+<?php
+
+if ( !isset( $_SERVER ) ) {
+    $_SERVER = $HTTP_SERVER_VARS ;
+}
+if ( !isset( $_GET ) ) {
+    $_GET = $HTTP_GET_VARS ;
+}
+if ( !isset( $_FILES ) ) {
+    $_FILES = $HTTP_POST_FILES ;
+}
+
+if ( !defined( 'DIRECTORY_SEPARATOR' ) ) {
+    define( 'DIRECTORY_SEPARATOR',
+        strtoupper(substr(PHP_OS, 0, 3) == 'WIN') ? '\\' : '/'
+    ) ;
+}
+?>
\ No newline at end of file
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/util.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/util.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/util.php	(revision 1481)
@@ -0,0 +1,220 @@
+<?php
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Utility functions for the File Manager Connector for PHP.
+ */
+
+function RemoveFromStart( $sourceString, $charToRemove )
+{
+	$sPattern = '|^' . $charToRemove . '+|' ;
+	return preg_replace( $sPattern, '', $sourceString ) ;
+}
+
+function RemoveFromEnd( $sourceString, $charToRemove )
+{
+	$sPattern = '|' . $charToRemove . '+$|' ;
+	return preg_replace( $sPattern, '', $sourceString ) ;
+}
+
+function FindBadUtf8( $string )
+{
+	$regex =
+	'([\x00-\x7F]'.
+	'|[\xC2-\xDF][\x80-\xBF]'.
+	'|\xE0[\xA0-\xBF][\x80-\xBF]'.
+	'|[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}'.
+	'|\xED[\x80-\x9F][\x80-\xBF]'.
+	'|\xF0[\x90-\xBF][\x80-\xBF]{2}'.
+	'|[\xF1-\xF3][\x80-\xBF]{3}'.
+	'|\xF4[\x80-\x8F][\x80-\xBF]{2}'.
+	'|(.{1}))';
+
+	while (preg_match('/'.$regex.'/S', $string, $matches)) {
+		if ( isset($matches[2])) {
+			return true;
+		}
+		$string = substr($string, strlen($matches[0]));
+	}
+
+	return false;
+}
+
+function ConvertToXmlAttribute( $value )
+{
+	if ( defined( 'PHP_OS' ) )
+	{
+		$os = PHP_OS ;
+	}
+	else
+	{
+		$os = php_uname() ;
+	}
+
+	if ( strtoupper( substr( $os, 0, 3 ) ) === 'WIN' || FindBadUtf8( $value ) )
+	{
+		return ( utf8_encode( htmlspecialchars( $value ) ) ) ;
+	}
+	else
+	{
+		return ( htmlspecialchars( $value ) ) ;
+	}
+}
+
+/**
+ * Check whether given extension is in html etensions list
+ *
+ * @param string $ext
+ * @param array $htmlExtensions
+ * @return boolean
+ */
+function IsHtmlExtension( $ext, $htmlExtensions )
+{
+	if ( !$htmlExtensions || !is_array( $htmlExtensions ) )
+	{
+		return false ;
+	}
+	$lcaseHtmlExtensions = array() ;
+	foreach ( $htmlExtensions as $key => $val )
+	{
+		$lcaseHtmlExtensions[$key] = strtolower( $val ) ;
+	}
+	return in_array( $ext, $lcaseHtmlExtensions ) ;
+}
+
+/**
+ * Detect HTML in the first KB to prevent against potential security issue with
+ * IE/Safari/Opera file type auto detection bug.
+ * Returns true if file contain insecure HTML code at the beginning.
+ *
+ * @param string $filePath absolute path to file
+ * @return boolean
+ */
+function DetectHtml( $filePath )
+{
+	$fp = @fopen( $filePath, 'rb' ) ;
+
+	//open_basedir restriction, see #1906
+	if ( $fp === false || !flock( $fp, LOCK_SH ) )
+	{
+		return -1 ;
+	}
+
+	$chunk = fread( $fp, 1024 ) ;
+	flock( $fp, LOCK_UN ) ;
+	fclose( $fp ) ;
+
+	$chunk = strtolower( $chunk ) ;
+
+	if (!$chunk)
+	{
+		return false ;
+	}
+
+	$chunk = trim( $chunk ) ;
+
+	if ( preg_match( "/<!DOCTYPE\W*X?HTML/sim", $chunk ) )
+	{
+		return true;
+	}
+
+	$tags = array( '<body', '<head', '<html', '<img', '<pre', '<script', '<table', '<title' ) ;
+
+	foreach( $tags as $tag )
+	{
+		if( false !== strpos( $chunk, $tag ) )
+		{
+			return true ;
+		}
+	}
+
+	//type = javascript
+	if ( preg_match( '!type\s*=\s*[\'"]?\s*(?:\w*/)?(?:ecma|java)!sim', $chunk ) )
+	{
+		return true ;
+	}
+
+	//href = javascript
+	//src = javascript
+	//data = javascript
+	if ( preg_match( '!(?:href|src|data)\s*=\s*[\'"]?\s*(?:ecma|java)script:!sim', $chunk ) )
+	{
+		return true ;
+	}
+
+	//url(javascript
+	if ( preg_match( '!url\s*\(\s*[\'"]?\s*(?:ecma|java)script:!sim', $chunk ) )
+	{
+		return true ;
+	}
+
+	return false ;
+}
+
+/**
+ * Check file content.
+ * Currently this function validates only image files.
+ * Returns false if file is invalid.
+ *
+ * @param string $filePath absolute path to file
+ * @param string $extension file extension
+ * @param integer $detectionLevel 0 = none, 1 = use getimagesize for images, 2 = use DetectHtml for images
+ * @return boolean
+ */
+function IsImageValid( $filePath, $extension )
+{
+	if (!@is_readable($filePath)) {
+		return -1;
+	}
+
+	$imageCheckExtensions = array('gif', 'jpeg', 'jpg', 'png', 'swf', 'psd', 'bmp', 'iff');
+
+	// version_compare is available since PHP4 >= 4.0.7
+	if ( function_exists( 'version_compare' ) ) {
+		$sCurrentVersion = phpversion();
+		if ( version_compare( $sCurrentVersion, "4.2.0" ) >= 0 ) {
+			$imageCheckExtensions[] = "tiff";
+			$imageCheckExtensions[] = "tif";
+		}
+		if ( version_compare( $sCurrentVersion, "4.3.0" ) >= 0 ) {
+			$imageCheckExtensions[] = "swc";
+		}
+		if ( version_compare( $sCurrentVersion, "4.3.2" ) >= 0 ) {
+			$imageCheckExtensions[] = "jpc";
+			$imageCheckExtensions[] = "jp2";
+			$imageCheckExtensions[] = "jpx";
+			$imageCheckExtensions[] = "jb2";
+			$imageCheckExtensions[] = "xbm";
+			$imageCheckExtensions[] = "wbmp";
+		}
+	}
+
+	if ( !in_array( $extension, $imageCheckExtensions ) ) {
+		return true;
+	}
+
+	if ( @getimagesize( $filePath ) === false ) {
+		return false ;
+	}
+
+	return true;
+}
+
+?>
\ No newline at end of file
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/commands.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/commands.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/commands.php	(revision 1481)
@@ -0,0 +1,281 @@
+<?php
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This is the File Manager Connector for PHP.
+ */
+
+function GetFolders( $resourceType, $currentFolder )
+{
+	// Map the virtual path to the local server path.
+	$sServerDir = ServerMapFolder( $resourceType, $currentFolder, 'GetFolders' ) ;
+
+	// Array that will hold the folders names.
+	$aFolders	= array() ;
+
+	$oCurrentFolder = @opendir( $sServerDir ) ;
+
+	if ($oCurrentFolder !== false)
+	{
+		while ( $sFile = readdir( $oCurrentFolder ) )
+		{
+			if ( $sFile != '.' && $sFile != '..' && is_dir( $sServerDir . $sFile ) )
+				$aFolders[] = '<Folder name="' . ConvertToXmlAttribute( $sFile ) . '" />' ;
+		}
+		closedir( $oCurrentFolder ) ;
+	}
+
+	// Open the "Folders" node.
+	echo "<Folders>" ;
+
+	natcasesort( $aFolders ) ;
+	foreach ( $aFolders as $sFolder )
+		echo $sFolder ;
+
+	// Close the "Folders" node.
+	echo "</Folders>" ;
+}
+
+function GetFoldersAndFiles( $resourceType, $currentFolder )
+{
+	// Map the virtual path to the local server path.
+	$sServerDir = ServerMapFolder( $resourceType, $currentFolder, 'GetFoldersAndFiles' ) ;
+
+	// Arrays that will hold the folders and files names.
+	$aFolders	= array() ;
+	$aFiles		= array() ;
+
+	$oCurrentFolder = @opendir( $sServerDir ) ;
+
+	if ($oCurrentFolder !== false)
+	{
+		while ( $sFile = readdir( $oCurrentFolder ) )
+		{
+			if ( $sFile != '.' && $sFile != '..' )
+			{
+				if ( is_dir( $sServerDir . $sFile ) )
+					$aFolders[] = '<Folder name="' . ConvertToXmlAttribute( $sFile ) . '" />' ;
+				else
+				{
+					$iFileSize = @filesize( $sServerDir . $sFile ) ;
+					if ( !$iFileSize ) {
+						$iFileSize = 0 ;
+					}
+					if ( $iFileSize > 0 )
+					{
+						$iFileSize = round( $iFileSize / 1024 ) ;
+						if ( $iFileSize < 1 )
+							$iFileSize = 1 ;
+					}
+
+					$aFiles[] = '<File name="' . ConvertToXmlAttribute( $sFile ) . '" size="' . $iFileSize . '" />' ;
+				}
+			}
+		}
+		closedir( $oCurrentFolder ) ;
+	}
+
+	// Send the folders
+	natcasesort( $aFolders ) ;
+	echo '<Folders>' ;
+
+	foreach ( $aFolders as $sFolder )
+		echo $sFolder ;
+
+	echo '</Folders>' ;
+
+	// Send the files
+	natcasesort( $aFiles ) ;
+	echo '<Files>' ;
+
+	foreach ( $aFiles as $sFiles )
+		echo $sFiles ;
+
+	echo '</Files>' ;
+}
+
+function CreateFolder( $resourceType, $currentFolder )
+{
+	if (!isset($_GET)) {
+		global $_GET;
+	}
+	$sErrorNumber	= '0' ;
+	$sErrorMsg		= '' ;
+
+	if ( isset( $_GET['NewFolderName'] ) )
+	{
+		$sNewFolderName = $_GET['NewFolderName'] ;
+		$sNewFolderName = SanitizeFolderName( $sNewFolderName ) ;
+
+		if ( strpos( $sNewFolderName, '..' ) !== FALSE )
+			$sErrorNumber = '102' ;		// Invalid folder name.
+		else
+		{
+			// Map the virtual path to the local server path of the current folder.
+			$sServerDir = ServerMapFolder( $resourceType, $currentFolder, 'CreateFolder' ) ;
+
+			if ( is_writable( $sServerDir ) )
+			{
+				$sServerDir .= $sNewFolderName ;
+
+				$sErrorMsg = CreateServerFolder( $sServerDir ) ;
+
+				switch ( $sErrorMsg )
+				{
+					case '' :
+						$sErrorNumber = '0' ;
+						break ;
+					case 'Invalid argument' :
+					case 'No such file or directory' :
+						$sErrorNumber = '102' ;		// Path too long.
+						break ;
+					default :
+						$sErrorNumber = '110' ;
+						break ;
+				}
+			}
+			else
+				$sErrorNumber = '103' ;
+		}
+	}
+	else
+		$sErrorNumber = '102' ;
+
+	// Create the "Error" node.
+	echo '<Error number="' . $sErrorNumber . '" />' ;
+}
+
+function FileUpload( $resourceType, $currentFolder, $sCommand )
+{
+	if (!isset($_FILES)) {
+		global $_FILES;
+	}
+	$sErrorNumber = '0' ;
+	$sFileName = '' ;
+
+	if ( isset( $_FILES['NewFile'] ) && !is_null( $_FILES['NewFile']['tmp_name'] ) )
+	{
+		global $Config ;
+
+		$oFile = $_FILES['NewFile'] ;
+
+		// Map the virtual path to the local server path.
+		$sServerDir = ServerMapFolder( $resourceType, $currentFolder, $sCommand ) ;
+
+		// Get the uploaded file name.
+		$sFileName = $oFile['name'] ;
+		$sFileName = SanitizeFileName( $sFileName ) ;
+
+		$sOriginalFileName = $sFileName ;
+
+		// Get the extension.
+		$sExtension = substr( $sFileName, ( strrpos($sFileName, '.') + 1 ) ) ;
+		$sExtension = strtolower( $sExtension ) ;
+
+		if ( isset( $Config['SecureImageUploads'] ) )
+		{
+			if ( ( $isImageValid = IsImageValid( $oFile['tmp_name'], $sExtension ) ) === false )
+			{
+				$sErrorNumber = '202' ;
+			}
+		}
+
+		if ( isset( $Config['HtmlExtensions'] ) )
+		{
+			if ( !IsHtmlExtension( $sExtension, $Config['HtmlExtensions'] ) &&
+				( $detectHtml = DetectHtml( $oFile['tmp_name'] ) ) === true )
+			{
+				$sErrorNumber = '202' ;
+			}
+		}
+
+		// Check if it is an allowed extension.
+		if ( !$sErrorNumber && IsAllowedExt( $sExtension, $resourceType ) )
+		{
+			$iCounter = 0 ;
+
+			while ( true )
+			{
+				$sFilePath = $sServerDir . $sFileName ;
+
+				if ( is_file( $sFilePath ) )
+				{
+					$iCounter++ ;
+					$sFileName = RemoveExtension( $sOriginalFileName ) . '(' . $iCounter . ').' . $sExtension ;
+					$sErrorNumber = '201' ;
+				}
+				else
+				{
+					move_uploaded_file( $oFile['tmp_name'], $sFilePath ) ;
+
+					if ( is_file( $sFilePath ) )
+					{
+						if ( isset( $Config['ChmodOnUpload'] ) && !$Config['ChmodOnUpload'] )
+						{
+							break ;
+						}
+
+			                $permissions = defined('OCTAL_DIR_MODE') ? OCTAL_DIR_MODE : 0777;
+
+
+						if ( isset( $Config['ChmodOnUpload'] ) && $Config['ChmodOnUpload'] )
+						{
+							$permissions = $Config['ChmodOnUpload'] ;
+						}
+
+						$oldumask = umask(0) ;
+						chmod( $sFilePath, $permissions ) ;
+						umask( $oldumask ) ;
+					}
+
+					break ;
+				}
+			}
+
+			if ( file_exists( $sFilePath ) )
+			{
+				//previous checks failed, try once again
+				if ( isset( $isImageValid ) && $isImageValid === -1 && IsImageValid( $sFilePath, $sExtension ) === false )
+				{
+					@unlink( $sFilePath ) ;
+					$sErrorNumber = '202' ;
+				}
+				else if ( isset( $detectHtml ) && $detectHtml === -1 && DetectHtml( $sFilePath ) === true )
+				{
+					@unlink( $sFilePath ) ;
+					$sErrorNumber = '202' ;
+				}
+			}
+		}
+		else
+			$sErrorNumber = '202' ;
+	}
+	else
+		$sErrorNumber = '202' ;
+
+
+	$sFileUrl = CombinePaths( GetResourceTypePath( $resourceType, $sCommand ) , $currentFolder ) ;
+	$sFileUrl = CombinePaths( $sFileUrl, $sFileName ) ;
+
+	SendUploadResults( $sErrorNumber, $sFileUrl, $sFileName ) ;
+
+	exit ;
+}
+?>
\ No newline at end of file
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/upload.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/upload.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/upload.php	(revision 1481)
@@ -0,0 +1,59 @@
+<?php
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This is the "File Uploader" for PHP.
+ */
+
+require('./config.php') ;
+require('./util.php') ;
+require('./io.php') ;
+require('./commands.php') ;
+require('./phpcompat.php') ;
+
+function SendError( $number, $text )
+{
+	SendUploadResults( $number, '', '', $text ) ;
+}
+
+
+// Check if this uploader has been enabled.
+if ( !$Config['Enabled'] )
+	SendUploadResults( '1', '', '', 'This file uploader is disabled. Please check the "editor/filemanager/connectors/php/config.php" file' ) ;
+
+$sCommand = 'QuickUpload' ;
+
+// The file type (from the QueryString, by default 'File').
+$sType = isset( $_GET['Type'] ) ? $_GET['Type'] : 'File' ;
+
+$sCurrentFolder	= "/" ;
+
+// Is enabled the upload?
+if ( ! IsAllowedCommand( $sCommand ) )
+	SendUploadResults( '1', '', '', 'The ""' . $sCommand . '"" command isn\'t allowed' ) ;
+
+// Check if it is an allowed type.
+if ( !IsAllowedType( $sType ) )
+    SendUploadResults( 1, '', '', 'Invalid type specified' ) ;
+
+
+FileUpload( $sType, $sCurrentFolder, $sCommand )
+
+?>
\ No newline at end of file
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/config.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/config.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/config.php	(revision 1481)
@@ -0,0 +1,235 @@
+<?php
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Configuration file for the File Manager Connector for PHP.
+ */
+
+global $Config ;
+
+// SECURITY: You must explicitly enable this "connector". (Set it to "true").
+// WARNING: don't just set "$Config['Enabled'] = true ;", you must be sure that only
+//		authenticated users can access this file or use some kind of session checking.
+$Config['Enabled'] = false ;
+
+/**
+	SECURITY PATCH FOR WEBSITE BAKER (doc)
+	only enable PHP connector if user is authenticated to WB
+	and has at least permissions to view the WB MEDIA folder
+*/
+// include WB config.php file and admin class
+require_once('../../../../../../../config.php');
+require_once(WB_PATH .'/framework/class.admin.php');
+
+$wb_path = str_replace('\\','/', WB_PATH);
+$wb_path = str_replace('//','/', WB_PATH);
+
+// check if user is authenticated if WB and has permission to view MEDIA folder
+$admin = new admin('Media', 'media_view', false, false);
+if(($admin->get_permission('media_view') === true))
+{
+	// user allowed to view MEDIA folder -> enable PHP connector
+	$Config['Enabled'] = true ;
+	// allow actions to list folders and files
+	$Config['ConfigAllowedCommands'] = array('GetFolders', 'GetFoldersAndFiles') ;
+}
+
+// Path to user files relative to the document root.
+// $Config['UserFilesPath'] = '/userfiles/' ;
+$Config['UserFilesPath'] = WB_URL.MEDIA_DIRECTORY.'/' ;
+// use home folder of current user as document root if available
+if(isset($_SESSION['HOME_FOLDER']) && file_exists($wb_path .MEDIA_DIRECTORY .$_SESSION['HOME_FOLDER'])){
+   $Config['UserFilesPath'] = $Config['UserFilesPath'].$_SESSION['HOME_FOLDER'];
+}
+
+// Fill the following value it you prefer to specify the absolute path for the
+// user files directory. Useful if you are using a virtual directory, symbolic
+// link or alias. Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'.
+// Attention: The above 'UserFilesPath' must point to the same directory.
+// $Config['UserFilesAbsolutePath'] = '' ;
+
+$Config['UserFilesAbsolutePath'] = $wb_path .MEDIA_DIRECTORY.'/' ;
+// use home folder of current user as document root if available
+if(isset($_SESSION['HOME_FOLDER']) && file_exists($wb_path .MEDIA_DIRECTORY .$_SESSION['HOME_FOLDER'])){
+   $Config['UserFilesAbsolutePath'] = $Config['UserFilesAbsolutePath'].$_SESSION['HOME_FOLDER'].'/';
+}
+// Due to security issues with Apache modules, it is recommended to leave the
+// following setting enabled.
+$Config['ForceSingleExtension'] = true ;
+
+// Perform additional checks for image files.
+// If set to true, validate image size (using getimagesize).
+$Config['SecureImageUploads'] = true;
+
+// What the user can do with this connector.
+// $Config['ConfigAllowedCommands'] = array('QuickUpload', 'FileUpload', 'GetFolders', 'GetFoldersAndFiles', 'CreateFolder') ;
+
+/**
+   Check WB permissions of the user/group for the MEDIA folder and
+	enable only those FCKEditor commands the user has permissions for
+*/
+// check if user is allowed to upload files to the media directory
+if(($admin->get_permission('media_upload') === true)) {
+	// add actions to upload files to the MEDIA folder
+	array_push($Config['ConfigAllowedCommands'], 'FileUpload', 'QuickUpload');
+}
+
+// check if user is allowed to create new folders in the media directory
+if(($admin->get_permission('media_create') === true)) {
+	// add action to create new folders in the MEDIA folder
+	array_push($Config['ConfigAllowedCommands'], 'CreateFolder');
+}
+
+// Allowed Resource Types.
+$Config['ConfigAllowedTypes'] = array('File', 'Image', 'Flash', 'Media') ;
+
+// For security, HTML is allowed in the first Kb of data for files having the
+// following extensions only.
+$Config['HtmlExtensions'] = array("html", "htm", "xml", "xsd", "txt", "js") ;
+
+// After file is uploaded, sometimes it is required to change its permissions
+// so that it was possible to access it at the later time.
+// If possible, it is recommended to set more restrictive permissions, like 0755.
+// Set to 0 to disable this feature.
+// Note: not needed on Windows-based servers.
+$Config['ChmodOnUpload'] = defined('OCTAL_FILE_MODE') ? OCTAL_FILE_MODE : 0777 ;
+
+// See comments above.
+// Used when creating folders that does not exist.
+$Config['ChmodOnFolderCreate'] = defined('OCTAL_DIR_MODE') ? OCTAL_DIR_MODE : 0777 ;
+
+/*
+	Configuration settings for each Resource Type
+
+	- AllowedExtensions: the possible extensions that can be allowed.
+		If it is empty then any file type can be uploaded.
+	- DeniedExtensions: The extensions that won't be allowed.
+		If it is empty then no restrictions are done here.
+
+	For a file to be uploaded it has to fulfill both the AllowedExtensions
+	and DeniedExtensions (that's it: not being denied) conditions.
+
+	- FileTypesPath: the virtual folder relative to the document root where
+		these resources will be located.
+		Attention: It must start and end with a slash: '/'
+
+	- FileTypesAbsolutePath: the physical path to the above folder. It must be
+		an absolute path.
+		If it's an empty string then it will be autocalculated.
+		Useful if you are using a virtual directory, symbolic link or alias.
+		Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'.
+		Attention: The above 'FileTypesPath' must point to the same directory.
+		Attention: It must end with a slash: '/'
+
+	 - QuickUploadPath: the virtual folder relative to the document root where
+		these resources will be uploaded using the Upload tab in the resources
+		dialogs.
+		Attention: It must start and end with a slash: '/'
+
+	 - QuickUploadAbsolutePath: the physical path to the above folder. It must be
+		an absolute path.
+		If it's an empty string then it will be autocalculated.
+		Useful if you are using a virtual directory, symbolic link or alias.
+		Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'.
+		Attention: The above 'QuickUploadPath' must point to the same directory.
+		Attention: It must end with a slash: '/'
+
+	 	NOTE: by default, QuickUploadPath and QuickUploadAbsolutePath point to
+	 	"userfiles" directory to maintain backwards compatibility with older versions of FCKeditor.
+	 	This is fine, but you in some cases you will be not able to browse uploaded files using file browser.
+	 	Example: if you click on "image button", select "Upload" tab and send image
+	 	to the server, image will appear in FCKeditor correctly, but because it is placed
+	 	directly in /userfiles/ directory, you'll be not able to see it in built-in file browser.
+	 	The more expected behaviour would be to send images directly to "image" subfolder.
+	 	To achieve that, simply change
+			$Config['QuickUploadPath']['Image']			= $Config['UserFilesPath'] ;
+			$Config['QuickUploadAbsolutePath']['Image']	= $Config['UserFilesAbsolutePath'] ;
+		into:
+			$Config['QuickUploadPath']['Image']			= $Config['FileTypesPath']['Image'] ;
+			$Config['QuickUploadAbsolutePath']['Image'] 	= $Config['FileTypesAbsolutePath']['Image'] ;
+
+*/
+
+/*
+$Config['AllowedExtensions']['File']	= array('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') ;
+$Config['DeniedExtensions']['File']		= array() ;
+$Config['FileTypesPath']['File']		= $Config['UserFilesPath'] . 'file/' ;
+$Config['FileTypesAbsolutePath']['File']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'file/' ;
+$Config['QuickUploadPath']['File']		= $Config['UserFilesPath'] ;
+$Config['QuickUploadAbsolutePath']['File']= $Config['UserFilesAbsolutePath'] ;
+
+$Config['AllowedExtensions']['Image']	= array('bmp','gif','jpeg','jpg','png') ;
+$Config['DeniedExtensions']['Image']	= array() ;
+$Config['FileTypesPath']['Image']		= $Config['UserFilesPath'] . 'image/' ;
+$Config['FileTypesAbsolutePath']['Image']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'image/' ;
+$Config['QuickUploadPath']['Image']		= $Config['UserFilesPath'] ;
+$Config['QuickUploadAbsolutePath']['Image']= $Config['UserFilesAbsolutePath'] ;
+
+$Config['AllowedExtensions']['Flash']	= array('swf','flv') ;
+$Config['DeniedExtensions']['Flash']	= array() ;
+$Config['FileTypesPath']['Flash']		= $Config['UserFilesPath'] . 'flash/' ;
+$Config['FileTypesAbsolutePath']['Flash']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'flash/' ;
+$Config['QuickUploadPath']['Flash']		= $Config['UserFilesPath'] ;
+$Config['QuickUploadAbsolutePath']['Flash']= $Config['UserFilesAbsolutePath'] ;
+
+$Config['AllowedExtensions']['Media']	= array('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') ;
+$Config['DeniedExtensions']['Media']	= array() ;
+$Config['FileTypesPath']['Media']		= $Config['UserFilesPath'] . 'media/' ;
+$Config['FileTypesAbsolutePath']['Media']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'media/' ;
+$Config['QuickUploadPath']['Media']		= $Config['UserFilesPath'] ;
+$Config['QuickUploadAbsolutePath']['Media']= $Config['UserFilesAbsolutePath'] ;
+*/
+
+/**
+	APPLY MORE RESTRICTIVE SETTINGS FOR WEBSITE BAKER
+	+ only allow file types: 	only textfiles (no PHP, Javascript or HTML files per default)
+	+ only allows images type: bmp, gif, jpges, jpg and png
+	+ only allows flash types: swf, flv (no fla ... flash action script per default)
+	+ only allows media types: swf, flv, jpg, gif, jpeg, png, avi, mgp, mpeg
+*/
+$Config['AllowedExtensions']['File']			= array();
+$Config['DeniedExtensions']['File']				= array('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') ;
+$Config['FileTypesPath']['File']					= $Config['UserFilesPath'];
+$Config['FileTypesAbsolutePath']['File']		= $Config['UserFilesAbsolutePath'] ;
+$Config['QuickUploadPath']['File']				= $Config['UserFilesPath'] ;
+$Config['QuickUploadAbsolutePath']['File']	= $Config['UserFilesAbsolutePath'] ;
+
+$Config['AllowedExtensions']['Image']			= array('bmp','gif','jpeg','jpg','png') ;
+$Config['DeniedExtensions']['Image']			= array() ;
+$Config['FileTypesPath']['Image'] 				= $Config['UserFilesPath'] ;
+$Config['FileTypesAbsolutePath']['Image'] 	= $Config['UserFilesAbsolutePath'];
+$Config['QuickUploadPath']['Image'] 			= $Config['UserFilesPath'] ;
+$Config['QuickUploadAbsolutePath']['Image']	= $Config['UserFilesAbsolutePath'] ;
+
+$Config['AllowedExtensions']['Flash']			= array('swf','flv') ;
+$Config['DeniedExtensions']['Flash']			= array() ;
+$Config['FileTypesPath']['Flash']				= $Config['UserFilesPath'];
+$Config['FileTypesAbsolutePath']['Flash'] 	= $Config['UserFilesAbsolutePath'];
+$Config['QuickUploadPath']['Flash']				= $Config['UserFilesPath'] ;
+$Config['QuickUploadAbsolutePath']['Flash']	= $Config['UserFilesAbsolutePath'] ;
+
+$Config['AllowedExtensions']['Media']			= array('swf','flv','jpg','gif','jpeg','png','avi','mpg','mpeg') ;
+$Config['DeniedExtensions']['Media']			= array() ;
+$Config['FileTypesPath']['Media']				= $Config['UserFilesPath'] . '' ;
+$Config['FileTypesAbsolutePath']['Media']		= $Config['UserFilesAbsolutePath'];
+$Config['QuickUploadPath']['Media']				= $Config['UserFilesPath'] ;
+$Config['QuickUploadAbsolutePath']['Media']	= $Config['UserFilesAbsolutePath'] ;
+
+?>
\ No newline at end of file
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/io.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/io.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/io.php	(revision 1481)
@@ -0,0 +1,304 @@
+<?php
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This is the File Manager Connector for PHP.
+ */
+function CombinePaths( $sBasePath, $sFolder )
+{
+	return RemoveFromEnd( $sBasePath, '/' ) . '/' . RemoveFromStart( $sFolder, '/' ) ;
+}
+function GetResourceTypePath( $resourceType, $sCommand )
+{
+	global $Config ;
+
+	if ( $sCommand == "QuickUpload")
+		return $Config['QuickUploadPath'][$resourceType] ;
+	else
+		return $Config['FileTypesPath'][$resourceType] ;
+}
+
+function GetResourceTypeDirectory( $resourceType, $sCommand )
+{
+	global $Config ;
+	if ( $sCommand == "QuickUpload")
+	{
+		if ( strlen( $Config['QuickUploadAbsolutePath'][$resourceType] ) > 0 )
+			return $Config['QuickUploadAbsolutePath'][$resourceType] ;
+
+		// Map the "UserFiles" path to a local directory.
+		return Server_MapPath( $Config['QuickUploadPath'][$resourceType] ) ;
+	}
+	else
+	{
+		if ( strlen( $Config['FileTypesAbsolutePath'][$resourceType] ) > 0 )
+			return $Config['FileTypesAbsolutePath'][$resourceType] ;
+
+		// Map the "UserFiles" path to a local directory.
+		return Server_MapPath( $Config['FileTypesPath'][$resourceType] ) ;
+	}
+}
+
+function GetUrlFromPath( $resourceType, $folderPath, $sCommand )
+{
+	return CombinePaths( GetResourceTypePath( $resourceType, $sCommand ), $folderPath ) ;
+}
+
+function RemoveExtension( $fileName )
+{
+	return substr( $fileName, 0, strrpos( $fileName, '.' ) ) ;
+}
+
+function ServerMapFolder( $resourceType, $folderPath, $sCommand )
+{
+	// Get the resource type directory.
+	$sResourceTypePath = GetResourceTypeDirectory( $resourceType, $sCommand ) ;
+
+	// Ensure that the directory exists.
+	 $sErrorMsg = CreateServerFolder( $sResourceTypePath ) ;
+	if ( $sErrorMsg != '' )
+   /* if (!file_exists($sResourceTypePath)) */
+		SendError( 1, "Error creating folder \"{$sResourceTypePath}\" ({$sErrorMsg})" ) ;
+
+	// Return the resource type directory combined with the required path.
+	return CombinePaths( $sResourceTypePath , $folderPath ) ;
+}
+
+function GetParentFolder( $folderPath )
+{
+	$sPattern = "-[/\\\\][^/\\\\]+[/\\\\]?$-" ;
+	return preg_replace( $sPattern, '', $folderPath ) ;
+}
+
+function CreateServerFolder( $folderPath, $lastFolder = null )
+{
+	global $Config ;
+	$sParent = GetParentFolder( $folderPath ) ;
+
+	// Ensure the folder path has no double-slashes, or mkdir may fail on certain platforms
+	while ( strpos($folderPath, '//') !== false )
+	{
+		$folderPath = str_replace( '//', '/', $folderPath ) ;
+	}
+
+	// Check if the parent exists, or create it.
+	if ( !empty($sParent) && !file_exists( $sParent ) )
+	{
+		//prevents agains infinite loop when we can't create root folder
+		if ( !is_null( $lastFolder ) && $lastFolder === $sParent) {
+			return "Can't create $folderPath directory" ;
+		}
+
+		$sErrorMsg = CreateServerFolder( $sParent, $folderPath ) ;
+		if ( $sErrorMsg != '' )
+			return $sErrorMsg ;
+	}
+
+	if ( !file_exists( $folderPath ) )
+	{
+		// Turn off all error reporting.
+		error_reporting( 0 ) ;
+
+		$php_errormsg = '' ;
+		// Enable error tracking to catch the error.
+		ini_set( 'track_errors', '1' ) ;
+
+		if ( isset( $Config['ChmodOnFolderCreate'] ) && !$Config['ChmodOnFolderCreate'] )
+		{
+			mkdir( $folderPath ) ;
+		}
+		else
+		{
+			$permissions = defined('OCTAL_DIR_MODE') ? OCTAL_DIR_MODE : 0777;
+			if ( isset( $Config['ChmodOnFolderCreate'] ) )
+			{
+				$permissions = $Config['ChmodOnFolderCreate'] ;
+			}
+			// To create the folder with 0777 permissions, we need to set umask to zero.
+			$oldumask = umask(0) ;
+			mkdir( $folderPath, $permissions ) ;
+			umask( $oldumask ) ;
+		}
+
+		$sErrorMsg = $php_errormsg ;
+
+		// Restore the configurations.
+		ini_restore( 'track_errors' ) ;
+		ini_restore( 'error_reporting' ) ;
+
+		return $sErrorMsg ;
+	}
+	else
+		return '' ;
+}
+
+function GetRootPath()
+{
+	if (!isset($_SERVER)) {
+		global $_SERVER;
+	}
+	$sRealPath = realpath( './' ) ;
+	// #2124 ensure that no slash is at the end
+	$sRealPath = rtrim($sRealPath,"\\/");
+
+	$sSelfPath = $_SERVER['PHP_SELF'] ;
+	$sSelfPath = substr( $sSelfPath, 0, strrpos( $sSelfPath, '/' ) ) ;
+
+	$sSelfPath = str_replace( '/', DIRECTORY_SEPARATOR, $sSelfPath ) ;
+
+	$position = strpos( $sRealPath, $sSelfPath ) ;
+
+	// This can check only that this script isn't run from a virtual dir
+	// But it avoids the problems that arise if it isn't checked
+	if ( $position === false || $position <> strlen( $sRealPath ) - strlen( $sSelfPath ) )
+		SendError( 1, 'Sorry, can\'t map "UserFilesPath" to a physical path. You must set the "UserFilesAbsolutePath" value in "editor/filemanager/connectors/php/config.php".' ) ;
+
+	return substr( $sRealPath, 0, $position ) ;
+}
+
+// Emulate the asp Server.mapPath function.
+// given an url path return the physical directory that it corresponds to
+function Server_MapPath( $path )
+{
+	// This function is available only for Apache
+	if ( function_exists( 'apache_lookup_uri' ) )
+	{
+		$info = apache_lookup_uri( $path ) ;
+		return $info->filename . $info->path_info ;
+	}
+
+	// This isn't correct but for the moment there's no other solution
+	// If this script is under a virtual directory or symlink it will detect the problem and stop
+	return GetRootPath() . $path ;
+}
+
+function IsAllowedExt( $sExtension, $resourceType )
+{
+	global $Config ;
+	// Get the allowed and denied extensions arrays.
+	$arAllowed	= $Config['AllowedExtensions'][$resourceType] ;
+	$arDenied	= $Config['DeniedExtensions'][$resourceType] ;
+
+	if ( count($arAllowed) > 0 && !in_array( $sExtension, $arAllowed ) )
+		return false ;
+
+	if ( count($arDenied) > 0 && in_array( $sExtension, $arDenied ) )
+		return false ;
+
+	return true ;
+}
+
+function IsAllowedType( $resourceType )
+{
+	global $Config ;
+	if ( !in_array( $resourceType, $Config['ConfigAllowedTypes'] ) )
+		return false ;
+
+	return true ;
+}
+
+function IsAllowedCommand( $sCommand )
+{
+	global $Config ;
+
+	if ( !in_array( $sCommand, $Config['ConfigAllowedCommands'] ) )
+		return false ;
+
+	return true ;
+}
+
+function GetCurrentFolder()
+{
+	if (!isset($_GET)) {
+		global $_GET;
+	}
+	$sCurrentFolder	= isset( $_GET['CurrentFolder'] ) ? $_GET['CurrentFolder'] : '/' ;
+
+	// Check the current folder syntax (must begin and start with a slash).
+	if ( !preg_match( '|/$|', $sCurrentFolder ) )
+		$sCurrentFolder .= '/' ;
+	if ( strpos( $sCurrentFolder, '/' ) !== 0 )
+		$sCurrentFolder = '/' . $sCurrentFolder ;
+
+	// Ensure the folder path has no double-slashes
+	while ( strpos ($sCurrentFolder, '//') !== false ) {
+		$sCurrentFolder = str_replace ('//', '/', $sCurrentFolder) ;
+	}
+
+	// Check for invalid folder paths (..)
+	if ( strpos( $sCurrentFolder, '..' ) || strpos( $sCurrentFolder, "\\" ))
+		SendError( 102, '' ) ;
+
+	if ( preg_match(",(/\.)|[[:cntrl:]]|(//)|(\\\\)|([\:\*\?\"\<\>\|]),", $sCurrentFolder))
+		SendError( 102, '' ) ;
+
+	return $sCurrentFolder ;
+}
+
+// Do a cleanup of the folder name to avoid possible problems
+function SanitizeFolderName( $sNewFolderName )
+{
+	$sNewFolderName = stripslashes( $sNewFolderName ) ;
+
+	// Remove . \ / | : ? * " < >
+	$sNewFolderName = preg_replace( '/\\.|\\\\|\\/|\\||\\:|\\?|\\*|"|<|>|[[:cntrl:]]/', '_', $sNewFolderName ) ;
+
+	return $sNewFolderName ;
+}
+
+// Do a cleanup of the file name to avoid possible problems
+function SanitizeFileName( $sNewFileName )
+{
+	global $Config ;
+
+	$sNewFileName = stripslashes( $sNewFileName ) ;
+
+	// Replace dots in the name with underscores (only one dot can be there... security issue).
+	if ( $Config['ForceSingleExtension'] )
+		$sNewFileName = preg_replace( '/\\.(?![^.]*$)/', '_', $sNewFileName ) ;
+
+	// Remove \ / | : ? * " < >
+	$sNewFileName = preg_replace( '/\\\\|\\/|\\||\\:|\\?|\\*|"|<|>|[[:cntrl:]]/', '_', $sNewFileName ) ;
+
+	return $sNewFileName ;
+}
+
+// This is the function that sends the results of the uploading process.
+function SendUploadResults( $errorNumber, $fileUrl = '', $fileName = '', $customMsg = '' )
+{
+	// Minified version of the document.domain automatic fix script (#1919).
+	// The original script can be found at _dev/domain_fix_template.js
+	echo <<<EOF
+<script type="text/javascript">
+(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;}}})();
+EOF;
+
+	if ($errorNumber && $errorNumber != 201) {
+		$fileUrl = "";
+		$fileName = "";
+	}
+
+	$rpl = array( '\\' => '\\\\', '"' => '\\"' ) ;
+	echo 'window.parent.OnUploadCompleted(' . $errorNumber . ',"' . strtr( $fileUrl, $rpl ) . '","' . strtr( $fileName, $rpl ) . '", "' . strtr( $customMsg, $rpl ) . '") ;' ;
+	echo '</script>' ;
+	exit ;
+}
+
+?>
\ No newline at end of file
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/config.php.org
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/config.php.org	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/php/config.php.org	(revision 1481)
@@ -0,0 +1,151 @@
+<?php
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Configuration file for the File Manager Connector for PHP.
+ */
+
+global $Config ;
+
+// SECURITY: You must explicitly enable this "connector". (Set it to "true").
+// WARNING: don't just set "$Config['Enabled'] = true ;", you must be sure that only
+//		authenticated users can access this file or use some kind of session checking.
+$Config['Enabled'] = false ;
+
+
+// Path to user files relative to the document root.
+$Config['UserFilesPath'] = '/userfiles/' ;
+
+// Fill the following value it you prefer to specify the absolute path for the
+// user files directory. Useful if you are using a virtual directory, symbolic
+// link or alias. Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'.
+// Attention: The above 'UserFilesPath' must point to the same directory.
+$Config['UserFilesAbsolutePath'] = '' ;
+
+// Due to security issues with Apache modules, it is recommended to leave the
+// following setting enabled.
+$Config['ForceSingleExtension'] = true ;
+
+// Perform additional checks for image files.
+// If set to true, validate image size (using getimagesize).
+$Config['SecureImageUploads'] = true;
+
+// What the user can do with this connector.
+$Config['ConfigAllowedCommands'] = array('QuickUpload', 'FileUpload', 'GetFolders', 'GetFoldersAndFiles', 'CreateFolder') ;
+
+// Allowed Resource Types.
+$Config['ConfigAllowedTypes'] = array('File', 'Image', 'Flash', 'Media') ;
+
+// For security, HTML is allowed in the first Kb of data for files having the
+// following extensions only.
+$Config['HtmlExtensions'] = array("html", "htm", "xml", "xsd", "txt", "js") ;
+
+// After file is uploaded, sometimes it is required to change its permissions
+// so that it was possible to access it at the later time.
+// If possible, it is recommended to set more restrictive permissions, like 0755.
+// Set to 0 to disable this feature.
+// Note: not needed on Windows-based servers.
+$Config['ChmodOnUpload'] = 0777 ;
+
+// See comments above.
+// Used when creating folders that does not exist.
+$Config['ChmodOnFolderCreate'] = 0777 ;
+
+/*
+	Configuration settings for each Resource Type
+
+	- AllowedExtensions: the possible extensions that can be allowed.
+		If it is empty then any file type can be uploaded.
+	- DeniedExtensions: The extensions that won't be allowed.
+		If it is empty then no restrictions are done here.
+
+	For a file to be uploaded it has to fulfill both the AllowedExtensions
+	and DeniedExtensions (that's it: not being denied) conditions.
+
+	- FileTypesPath: the virtual folder relative to the document root where
+		these resources will be located.
+		Attention: It must start and end with a slash: '/'
+
+	- FileTypesAbsolutePath: the physical path to the above folder. It must be
+		an absolute path.
+		If it's an empty string then it will be autocalculated.
+		Useful if you are using a virtual directory, symbolic link or alias.
+		Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'.
+		Attention: The above 'FileTypesPath' must point to the same directory.
+		Attention: It must end with a slash: '/'
+
+	 - QuickUploadPath: the virtual folder relative to the document root where
+		these resources will be uploaded using the Upload tab in the resources
+		dialogs.
+		Attention: It must start and end with a slash: '/'
+
+	 - QuickUploadAbsolutePath: the physical path to the above folder. It must be
+		an absolute path.
+		If it's an empty string then it will be autocalculated.
+		Useful if you are using a virtual directory, symbolic link or alias.
+		Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'.
+		Attention: The above 'QuickUploadPath' must point to the same directory.
+		Attention: It must end with a slash: '/'
+
+	 	NOTE: by default, QuickUploadPath and QuickUploadAbsolutePath point to
+	 	"userfiles" directory to maintain backwards compatibility with older versions of FCKeditor.
+	 	This is fine, but you in some cases you will be not able to browse uploaded files using file browser.
+	 	Example: if you click on "image button", select "Upload" tab and send image
+	 	to the server, image will appear in FCKeditor correctly, but because it is placed
+	 	directly in /userfiles/ directory, you'll be not able to see it in built-in file browser.
+	 	The more expected behaviour would be to send images directly to "image" subfolder.
+	 	To achieve that, simply change
+			$Config['QuickUploadPath']['Image']			= $Config['UserFilesPath'] ;
+			$Config['QuickUploadAbsolutePath']['Image']	= $Config['UserFilesAbsolutePath'] ;
+		into:
+			$Config['QuickUploadPath']['Image']			= $Config['FileTypesPath']['Image'] ;
+			$Config['QuickUploadAbsolutePath']['Image'] 	= $Config['FileTypesAbsolutePath']['Image'] ;
+
+*/
+
+$Config['AllowedExtensions']['File']	= array('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') ;
+$Config['DeniedExtensions']['File']		= array() ;
+$Config['FileTypesPath']['File']		= $Config['UserFilesPath'] . 'file/' ;
+$Config['FileTypesAbsolutePath']['File']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'file/' ;
+$Config['QuickUploadPath']['File']		= $Config['UserFilesPath'] ;
+$Config['QuickUploadAbsolutePath']['File']= $Config['UserFilesAbsolutePath'] ;
+
+$Config['AllowedExtensions']['Image']	= array('bmp','gif','jpeg','jpg','png') ;
+$Config['DeniedExtensions']['Image']	= array() ;
+$Config['FileTypesPath']['Image']		= $Config['UserFilesPath'] . 'image/' ;
+$Config['FileTypesAbsolutePath']['Image']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'image/' ;
+$Config['QuickUploadPath']['Image']		= $Config['UserFilesPath'] ;
+$Config['QuickUploadAbsolutePath']['Image']= $Config['UserFilesAbsolutePath'] ;
+
+$Config['AllowedExtensions']['Flash']	= array('swf','flv') ;
+$Config['DeniedExtensions']['Flash']	= array() ;
+$Config['FileTypesPath']['Flash']		= $Config['UserFilesPath'] . 'flash/' ;
+$Config['FileTypesAbsolutePath']['Flash']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'flash/' ;
+$Config['QuickUploadPath']['Flash']		= $Config['UserFilesPath'] ;
+$Config['QuickUploadAbsolutePath']['Flash']= $Config['UserFilesAbsolutePath'] ;
+
+$Config['AllowedExtensions']['Media']	= array('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') ;
+$Config['DeniedExtensions']['Media']	= array() ;
+$Config['FileTypesPath']['Media']		= $Config['UserFilesPath'] . 'media/' ;
+$Config['FileTypesAbsolutePath']['Media']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'media/' ;
+$Config['QuickUploadPath']['Media']		= $Config['UserFilesPath'] ;
+$Config['QuickUploadAbsolutePath']['Media']= $Config['UserFilesAbsolutePath'] ;
+
+?>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/test.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/test.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/test.html	(revision 1481)
@@ -0,0 +1,30 @@
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Test page for the File Browser connectors.
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>FCKeditor - Connectors Tests</title>
+</head>
+<body>
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/uploadtest.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/uploadtest.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/uploadtest.html	(revision 1481)
@@ -0,0 +1,29 @@
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Test page for the "File Uploaders".
+-->
+<html>
+	<head>
+		<title>FCKeditor - Uploaders Tests</title>
+	</head>
+	<body>
+	</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/test.html.org
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/test.html.org	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/test.html.org	(revision 1481)
@@ -0,0 +1,210 @@
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Test page for the File Browser connectors.
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>FCKeditor - Connectors Tests</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+	<script type="text/javascript">
+
+// Automatically detect the correct document.domain (#1919).
+(function()
+{
+	var d = document.domain ;
+
+	while ( true )
+	{
+		// Test if we can access a parent property.
+		try
+		{
+			var test = window.opener.document.domain ;
+			break ;
+		}
+		catch( e ) {}
+
+		// Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
+		d = d.replace( /.*?(?:\.|$)/, '' ) ;
+
+		if ( d.length == 0 )
+			break ;		// It was not able to detect the domain.
+
+		try
+		{
+			document.domain = d ;
+		}
+		catch (e)
+		{
+			break ;
+		}
+	}
+})() ;
+
+function BuildBaseUrl( command )
+{
+	var sUrl =
+		document.getElementById('cmbConnector').value +
+		'?Command=' + command +
+		'&Type=' + document.getElementById('cmbType').value +
+		'&CurrentFolder=' + encodeURIComponent(document.getElementById('txtFolder').value) ;
+
+	return sUrl ;
+}
+
+function SetFrameUrl( url )
+{
+	document.getElementById('eRunningFrame').src = url ;
+
+	document.getElementById('eUrl').innerHTML = url ;
+}
+
+function GetFolders()
+{
+	SetFrameUrl( BuildBaseUrl( 'GetFolders' ) ) ;
+	return false ;
+}
+
+function GetFoldersAndFiles()
+{
+	SetFrameUrl( BuildBaseUrl( 'GetFoldersAndFiles' ) ) ;
+	return false ;
+}
+
+function CreateFolder()
+{
+	var sFolder = prompt( 'Type the folder name:', 'Test Folder' ) ;
+
+	if ( ! sFolder )
+		return false ;
+
+	var sUrl = BuildBaseUrl( 'CreateFolder' ) ;
+	sUrl += '&NewFolderName=' + encodeURIComponent( sFolder ) ;
+
+	SetFrameUrl( sUrl ) ;
+	return false ;
+}
+
+function OnUploadCompleted( errorNumber, fileName )
+{
+	switch ( errorNumber )
+	{
+		case 0 :
+			alert( 'File uploaded with no errors' ) ;
+			break ;
+		case 201 :
+			GetFoldersAndFiles() ;
+			alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ;
+			break ;
+		case 202 :
+			alert( 'Invalid file' ) ;
+			break ;
+		default :
+			alert( 'Error on file upload. Error number: ' + errorNumber ) ;
+			break ;
+	}
+}
+
+this.frames.frmUpload = this ;
+
+function SetAction()
+{
+	var sUrl = BuildBaseUrl( 'FileUpload' ) ;
+	document.getElementById('eUrl').innerHTML = sUrl ;
+	document.getElementById('frmUpload').action = sUrl ;
+}
+
+	</script>
+</head>
+<body>
+	<table height="100%" cellspacing="0" cellpadding="0" width="100%" border="0">
+		<tr>
+			<td>
+				<table cellspacing="0" cellpadding="0" border="0">
+					<tr>
+						<td>
+							Connector:<br />
+							<select id="cmbConnector" name="cmbConnector">
+								<option value="asp/connector.asp" selected="selected">ASP</option>
+								<option value="aspx/connector.aspx">ASP.Net</option>
+								<option value="cfm/connector.cfm">ColdFusion</option>
+								<option value="lasso/connector.lasso">Lasso</option>
+								<option value="perl/connector.cgi">Perl</option>
+								<option value="php/connector.php">PHP</option>
+								<option value="py/connector.py">Python</option>
+							</select>
+						</td>
+						<td>
+							&nbsp;&nbsp;&nbsp;</td>
+						<td>
+							Current Folder<br />
+							<input id="txtFolder" type="text" value="/" name="txtFolder" /></td>
+						<td>
+							&nbsp;&nbsp;&nbsp;</td>
+						<td>
+							Resource Type<br />
+							<select id="cmbType" name="cmbType">
+								<option value="File" selected="selected">File</option>
+								<option value="Image">Image</option>
+								<option value="Flash">Flash</option>
+								<option value="Media">Media</option>
+								<option value="Invalid">Invalid Type (for testing)</option>
+							</select>
+						</td>
+					</tr>
+				</table>
+				<br />
+				<table cellspacing="0" cellpadding="0" border="0">
+					<tr>
+						<td valign="top">
+							<a href="#" onclick="GetFolders();">Get Folders</a></td>
+						<td>
+							&nbsp;&nbsp;&nbsp;</td>
+						<td valign="top">
+							<a href="#" onclick="GetFoldersAndFiles();">Get Folders and Files</a></td>
+						<td>
+							&nbsp;&nbsp;&nbsp;</td>
+						<td valign="top">
+							<a href="#" onclick="CreateFolder();">Create Folder</a></td>
+						<td>
+							&nbsp;&nbsp;&nbsp;</td>
+						<td valign="top">
+							<form id="frmUpload" action="" target="eRunningFrame" method="post" enctype="multipart/form-data">
+								File Upload<br />
+								<input id="txtFileUpload" type="file" name="NewFile" />
+								<input type="submit" value="Upload" onclick="SetAction();" />
+							</form>
+						</td>
+					</tr>
+				</table>
+				<br />
+				URL: <span id="eUrl"></span>
+			</td>
+		</tr>
+		<tr>
+			<td height="100%" valign="top">
+				<iframe id="eRunningFrame" src="javascript:void(0)" name="eRunningFrame" width="100%"
+					height="100%"></iframe>
+			</td>
+		</tr>
+	</table>
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/uploadtest.html.org
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/uploadtest.html.org	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/connectors/uploadtest.html.org	(revision 1481)
@@ -0,0 +1,192 @@
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Test page for the "File Uploaders".
+-->
+<html>
+	<head>
+		<title>FCKeditor - Uploaders Tests</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<script type="text/javascript">
+
+// Automatically detect the correct document.domain (#1919).
+(function()
+{
+	var d = document.domain ;
+
+	while ( true )
+	{
+		// Test if we can access a parent property.
+		try
+		{
+			var test = window.opener.document.domain ;
+			break ;
+		}
+		catch( e ) {}
+
+		// Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
+		d = d.replace( /.*?(?:\.|$)/, '' ) ;
+
+		if ( d.length == 0 )
+			break ;		// It was not able to detect the domain.
+
+		try
+		{
+			document.domain = d ;
+		}
+		catch (e)
+		{
+			break ;
+		}
+	}
+})() ;
+
+function SendFile()
+{
+	var sUploaderUrl = cmbUploaderUrl.value ;
+
+	if ( sUploaderUrl.length == 0 )
+		sUploaderUrl = txtCustomUrl.value ;
+
+	if ( sUploaderUrl.length == 0 )
+	{
+		alert( 'Please provide your custom URL or select a default one' ) ;
+		return ;
+	}
+
+	eURL.innerHTML = sUploaderUrl ;
+	txtUrl.value = '' ;
+
+	var date = new Date()
+
+	frmUpload.action = sUploaderUrl + '?time=' + date.getTime();
+	if (document.getElementById('cmbType').value) {
+		frmUpload.action = frmUpload.action + '&Type='+document.getElementById('cmbType').value;
+	}
+	if (document.getElementById('CurrentFolder').value) {
+		frmUpload.action = frmUpload.action + '&CurrentFolder='+document.getElementById('CurrentFolder').value;
+	}
+	frmUpload.submit() ;
+}
+
+function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
+{
+	switch ( errorNumber )
+	{
+		case 0 :	// No errors
+			txtUrl.value = fileUrl ;
+			alert( 'File uploaded with no errors' ) ;
+			break ;
+		case 1 :	// Custom error
+			alert( customMsg ) ;
+			break ;
+		case 10 :	// Custom warning
+			txtUrl.value = fileUrl ;
+			alert( customMsg ) ;
+			break ;
+		case 201 :
+			txtUrl.value = fileUrl ;
+			alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ;
+			break ;
+		case 202 :
+			alert( 'Invalid file' ) ;
+			break ;
+		case 203 :
+			alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ;
+			break ;
+		default :
+			alert( 'Error on file upload. Error number: ' + errorNumber ) ;
+			break ;
+	}
+}
+
+		</script>
+	</head>
+	<body>
+		<table cellSpacing="0" cellPadding="0" width="100%" border="0" height="100%">
+			<tr>
+				<td>
+					<table cellSpacing="0" cellPadding="0" width="100%" border="0">
+						<tr>
+							<td nowrap>
+								Select the "File Uploader" to use: <br>
+								<select id="cmbUploaderUrl">
+									<option selected value="asp/upload.asp">ASP</option>
+									<option value="aspx/upload.aspx">ASP.Net</option>
+									<option value="cfm/upload.cfm">ColdFusion</option>
+									<option value="lasso/upload.lasso">Lasso</option>
+									<option value="perl/upload.cgi">Perl</option>
+									<option value="php/upload.php">PHP</option>
+									<option value="py/upload.py">Python</option>
+									<option value="">(Custom)</option>
+								</select>
+							</td>
+						<td>
+							Resource Type<br />
+							<select id="cmbType" name="cmbType">
+								<option value="">None</option>
+								<option value="File">File</option>
+								<option value="Image">Image</option>
+								<option value="Flash">Flash</option>
+								<option value="Media">Media</option>
+								<option value="Invalid">Invalid Type (for testing)</option>
+							</select>
+						</td>
+						<td>
+						Current Folder: <br>
+						<input type="text" name="CurrentFolder" id="CurrentFolder" value="/">
+						</td>
+							<td nowrap>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
+							<td width="100%">
+								Custom Uploader URL:<BR>
+								<input id="txtCustomUrl" style="WIDTH: 100%; BACKGROUND-COLOR: #dcdcdc" disabled type="text">
+							</td>
+						</tr>
+					</table>
+					<br>
+					<table cellSpacing="0" cellPadding="0" width="100%" border="0">
+						<tr>
+							<td noWrap>
+								<form id="frmUpload" target="UploadWindow" enctype="multipart/form-data" action="" method="post">
+									Upload a new file:<br>
+									<input type="file" name="NewFile"><br>
+
+									<input type="button" value="Send it to the Server" onclick="SendFile();">
+								</form>
+							</td>
+							<td style="WIDTH: 16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
+							<td vAlign="top" width="100%">
+								Uploaded File URL:<br>
+								<INPUT id="txtUrl" style="WIDTH: 100%" readonly type="text">
+							</td>
+						</tr>
+					</table>
+					<br>
+					Post URL: <span id="eURL">&nbsp;</span>
+				</td>
+			</tr>
+			<tr>
+				<td height="100%">
+					<iframe name="UploadWindow" width="100%" height="100%" src="javascript:void(0)"></iframe>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/filemanager/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dtd/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dtd/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dtd/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dtd/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dtd/fck_xhtml10transitional.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dtd/fck_xhtml10transitional.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dtd/fck_xhtml10transitional.js	(revision 1481)
@@ -0,0 +1,140 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Contains the DTD mapping for XHTML 1.0 Transitional.
+ * This file was automatically generated from the file: xhtml10-transitional.dtd
+ */
+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,		// Changed from L to J (see (1))
+        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,		// Changed from L to J (see (1))
+        textarea: N,
+        noframes: P,
+        big: J,			// Changed from L to J (see (1))
+        small: J,		// Changed from L to J (see (1))
+        span: J,		// Changed from L to J (see (1))
+        hr: {},
+        dt: L,
+        sub: J,			// Changed from L to J (see (1))
+        optgroup: {option:1},
+        param: {},
+        bdo: L,
+        'var': J,		// Changed from L to J (see (1))
+        div: P,
+        object: O,
+        sup: J,			// Changed from L to J (see (1))
+        dd: P,
+        strike: J,		// Changed from L to J (see (1))
+        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,			// Changed from L to J (see (1))
+        a: J,
+        blockquote: P,
+        caption: L,
+        i: J,			// Changed from L to J (see (1))
+        u: J,			// Changed from L to J (see (1))
+        tbody: M,
+        s: L,
+        address: X(D, I),
+        tt: J,			// Changed from L to J (see (1))
+        legend: L,
+        q: L,
+        pre: X(G, C),
+        p: L,
+        em: J,			// Changed from L to J (see (1))
+        dfn: L
+    } ;
+})() ;
+
+/*
+	Notes:
+	(1) According to the DTD, many elements, like <b> accept <a> elements
+	    inside of them. But, to produce better output results, we have manually
+	    changed the map to avoid breaking the links on pieces, having
+	    "<b>this is a </b><a><b>link</b> test</a>", instead of
+	    "<b>this is a <a>link</a></b><a> test</a>".
+*/
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dtd/fck_xhtml10strict.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dtd/fck_xhtml10strict.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dtd/fck_xhtml10strict.js	(revision 1481)
@@ -0,0 +1,116 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Contains the DTD mapping for XHTML 1.0 Strict.
+ * This file was automatically generated from the file: xhtml10-strict.dtd
+ */
+FCK.DTD = (function()
+{
+    var X = FCKTools.Merge ;
+
+    var H,I,J,K,C,L,M,A,B,D,E,G,N,F ;
+    A = {ins:1, del:1, script:1} ;
+    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} ;
+    C = X({fieldset:1}, B) ;
+    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) ;
+    E = X({img:1, object:1}, D) ;
+    F = {input:1, button:1, textarea:1, select:1, label:1} ;
+    G = X({a:1}, F) ;
+    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} ;
+
+    I = X({form:1, fieldset:1}, B, E, G) ;
+    J = {tr:1} ;
+    K = {'#':1} ;
+    L = X(E, G) ;
+    M = {li:1} ;
+    N = X({form:1}, A, C) ;
+
+    return {
+        col: {},
+        tr: {td:1, th:1},
+        img: {},
+        colgroup: {col:1},
+        noscript: N,
+        td: I,
+        br: {},
+        th: I,
+        kbd: L,
+        button: X(B, E),
+        h5: L,
+        h4: L,
+        samp: L,
+        h6: L,
+        ol: M,
+        h1: L,
+        h3: L,
+        option: K,
+        h2: L,
+        form: X(A, C),
+        select: {optgroup:1, option:1},
+        ins: I,
+        abbr: L,
+        label: L,
+        code: L,
+        table: {thead:1, col:1, tbody:1, tr:1, colgroup:1, caption:1, tfoot:1},
+        script: K,
+        tfoot: J,
+        cite: L,
+        li: I,
+        input: {},
+        strong: L,
+        textarea: K,
+        big: L,
+        small: L,
+        span: L,
+        dt: L,
+        hr: {},
+        sub: L,
+        optgroup: {option:1},
+        bdo: L,
+        param: {},
+        'var': L,
+        div: I,
+        object: X({param:1}, H),
+        sup: L,
+        dd: I,
+        area: {},
+        map: X({form:1, area:1}, A, C),
+        dl: {dt:1, dd:1},
+        del: I,
+        fieldset: X({legend:1}, H),
+        thead: J,
+        ul: M,
+        acronym: L,
+        b: L,
+        a: X({img:1, object:1}, D, F),
+        blockquote: N,
+        caption: L,
+        i: L,
+        tbody: J,
+        address: L,
+        tt: L,
+        legend: L,
+        q: L,
+        pre: X({a:1}, D, F),
+        p: L,
+        em: L,
+        dfn: L
+    } ;
+})() ;
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dtd/fck_dtd_test.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dtd/fck_dtd_test.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/dtd/fck_dtd_test.html	(revision 1481)
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>DTD Test Page</title>
+	<script type="text/javascript">
+
+	// Define an object for this test page, so the assignment to FCK.DTD works
+	var FCK = {} ;
+	</script>
+	<script type="text/javascript" src="../_source/internals/fcktools.js"></script>
+	<script type="text/javascript" src="fck_xhtml10transitional.js"></script>
+</head>
+<body>
+	<h1>
+		DTD Contents
+	</h1>
+	<table border="1">
+		<script type="text/javascript">
+
+for ( var p in FCK.DTD )
+{
+	document.write( '<tr><td><b>' + p + '</b></td><td>' ) ;
+
+	var isFirst = true ;
+
+	for ( var c in FCK.DTD[p] )
+	{
+		if ( !isFirst )
+			document.write( ', ' ) ;
+		isFirst = false ;
+
+		document.write( c ) ;
+	}
+
+
+	document.write( '</td></tr>' ) ;
+}
+		</script>
+	</table>
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/js/fckeditorcode_gecko.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/js/fckeditorcode_gecko.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/js/fckeditorcode_gecko.js	(revision 1481)
@@ -0,0 +1,109 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This file has been compressed for better performance. The original source
+ * can be found at "editor/_source".
+ */
+
+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;
+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;};
+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);}}})(FCKBrowserInfo);
+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;}})();
+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;};
+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;}};
+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;})();
+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);};
+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;};
+var FCKDebug={Output:function(){},OutputObject:function(){}};
+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;}};
+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;';};
+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;};
+var FCKeditorAPI;function InitializeAPI(){var A=window.parent;if (!(FCKeditorAPI=A.FCKeditorAPI)){var B='window.FCKeditorAPI = {Version : "2.6.5",VersionBuild : "23959",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);
+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();};
+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<>](?:"[^"]*"|'[^']*'|[^<])*>/};
+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 }};
+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];}};
+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');};
+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;
+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;}};
+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();};
+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;};
+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;}};
+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;};
+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};})();
+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);}};
+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;}};
+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;}};
+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;};
+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;}};
+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);};
+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;}};
+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);}};
+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);}};
+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();};
+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);}};
+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));}};
+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(){};
+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 };};
+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;};
+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;};
+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;}};
+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);};
+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;}};
+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);}};
+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();};
+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;};
+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%';}};
+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');};
+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');};
+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;};
+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';};
+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);}};
+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;}};
+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);}};
+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;}};
+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;}};
+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;}};
+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;};
+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;};
+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;};
+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;};
+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);};
+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);}};
+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);};
+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('');};
+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;}}}};
+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;}}}};
+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;
+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;
+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();}};})();
+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;};
+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';};
+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);};
+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();};
+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;}};})();
+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;};
+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';};
+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();};
+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);};
+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);};
+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);}};
+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');};
+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;};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/js/fckeditorcode_ie.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/js/fckeditorcode_ie.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/js/fckeditorcode_ie.js	(revision 1481)
@@ -0,0 +1,110 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This file has been compressed for better performance. The original source
+ * can be found at "editor/_source".
+ */
+
+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;
+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;};
+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();};
+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);}}})(FCKBrowserInfo);
+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;}})();
+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;};
+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;}};
+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;})();
+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);}};
+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;};
+var FCKDebug={Output:function(){},OutputObject:function(){}};
+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;}};
+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;';};
+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();};
+var FCKeditorAPI;function InitializeAPI(){var A=window.parent;if (!(FCKeditorAPI=A.FCKeditorAPI)){var B='window.FCKeditorAPI = {Version : "2.6.5",VersionBuild : "23959",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);
+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();};
+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<>](?:"[^"]*"|'[^']*'|[^<])*>/};
+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 }};
+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];}};
+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');};
+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;
+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.removeAttribute('_fckxhtmljob');if (A.hasChildNodes()){var B=A.childNodes;for (var i=B.length-1;i>=0;i--) FCKXHtml._RemoveXHtmlJobProperties(B.item(i));}};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;};
+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();};
+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;};
+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;}};
+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;};
+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};})();
+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);}};
+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;}};
+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;}};
+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;};
+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;}};
+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);};
+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;}};
+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));}};
+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);}};
+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();};
+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);}};
+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));}};
+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;};
+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 };};
+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;};
+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;};
+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);}};
+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);};
+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;}};
+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);}};
+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();};
+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;};
+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%';}};
+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');};
+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');};
+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;};
+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';};
+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);}};
+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;}};
+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);}};
+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;}};
+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;}};
+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;}};
+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;};
+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;};
+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;};
+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;};
+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);};
+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);}};
+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);};
+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('');};
+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;}}}};
+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;}}}};
+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;
+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;
+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();}};})();
+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;};
+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';};
+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);};
+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();};
+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;}};})();
+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;};
+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';};
+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();};
+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);};
+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);};
+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);}};
+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');};
+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;};
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/js/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/js/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/js/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/js/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/js/fckadobeair.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/js/fckadobeair.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/js/fckadobeair.js	(revision 1481)
@@ -0,0 +1,176 @@
+ï»¿/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Compatibility code for Adobe AIR.
+ */
+
+if ( FCKBrowserInfo.IsAIR )
+{
+	var FCKAdobeAIR = (function()
+	{
+		/*
+		 * ### Private functions.
+		 */
+
+		var getDocumentHead = function( doc )
+		{
+			var head ;
+			var heads = doc.getElementsByTagName( 'head' ) ;
+
+			if( heads && heads[0] )
+				head = heads[0] ;
+			else
+			{
+				head = doc.createElement( 'head' ) ;
+				doc.documentElement.insertBefore( head, doc.documentElement.firstChild ) ;
+			}
+
+			return head ;
+		} ;
+
+		/*
+		 * ### Public interface.
+		 */
+		return {
+			FCKeditorAPI_Evaluate : function( parentWindow, script )
+			{
+				// TODO : This one doesn't work always. The parent window will
+				// point to an anonymous function in this window. If this
+				// window is destroyied the parent window will be pointing to
+				// an invalid reference.
+
+				// Evaluate the script in this window.
+				eval( script ) ;
+
+				// Point the FCKeditorAPI property of the parent window to the
+				// local reference.
+				parentWindow.FCKeditorAPI = window.FCKeditorAPI ;
+			},
+
+			EditingArea_Start : function( doc, html )
+			{
+				// Get the HTML for the <head>.
+				var headInnerHtml = html.match( /<head>([\s\S]*)<\/head>/i )[1] ;
+
+				if ( headInnerHtml && headInnerHtml.length > 0 )
+				{
+					// Inject the <head> HTML inside a <div>.
+					// Do that before getDocumentHead because WebKit moves
+					// <link css> elements to the <head> at this point.
+					var div = doc.createElement( 'div' ) ;
+					div.innerHTML = headInnerHtml ;
+
+					// Move the <div> nodes to <head>.
+					FCKDomTools.MoveChildren( div, getDocumentHead( doc ) ) ;
+				}
+
+				doc.body.innerHTML = html.match( /<body>([\s\S]*)<\/body>/i )[1] ;
+
+				//prevent clicking on hyperlinks and navigating away
+				doc.addEventListener('click', function( ev )
+					{
+						ev.preventDefault() ;
+						ev.stopPropagation() ;
+					}, true ) ;
+			},
+
+			Panel_Contructor : function( doc, baseLocation )
+			{
+				var head = getDocumentHead( doc ) ;
+
+				// Set the <base> href.
+				head.appendChild( doc.createElement('base') ).href = baseLocation ;
+
+				doc.body.style.margin	= '0px' ;
+				doc.body.style.padding	= '0px' ;
+			},
+
+			ToolbarSet_GetOutElement : function( win, outMatch )
+			{
+				var toolbarTarget = win.parent ;
+
+				var targetWindowParts = outMatch[1].split( '.' ) ;
+				while ( targetWindowParts.length > 0 )
+				{
+					var part = targetWindowParts.shift() ;
+					if ( part.length > 0 )
+						toolbarTarget = toolbarTarget[ part ] ;
+				}
+
+				toolbarTarget = toolbarTarget.document.getElementById( outMatch[2] ) ;
+			},
+
+			ToolbarSet_InitOutFrame : function( doc )
+			{
+				var head = getDocumentHead( doc ) ;
+
+				head.appendChild( doc.createElement('base') ).href = window.document.location ;
+
+				var targetWindow = doc.defaultView;
+
+				targetWindow.adjust = function()
+				{
+					targetWindow.frameElement.height = doc.body.scrollHeight;
+				} ;
+
+				targetWindow.onresize = targetWindow.adjust ;
+				targetWindow.setTimeout( targetWindow.adjust, 0 ) ;
+
+				doc.body.style.overflow = 'hidden';
+				doc.body.innerHTML = document.getElementById( 'xToolbarSpace' ).innerHTML ;
+			}
+		} ;
+	})();
+
+	/*
+	 * ### Overrides
+	 */
+	( function()
+	{
+		// Save references for override reuse.
+		var _Original_FCKPanel_Window_OnFocus	= FCKPanel_Window_OnFocus ;
+		var _Original_FCKPanel_Window_OnBlur	= FCKPanel_Window_OnBlur ;
+		var _Original_FCK_StartEditor			= FCK.StartEditor ;
+
+		FCKPanel_Window_OnFocus = function( e, panel )
+		{
+			// Call the original implementation.
+			_Original_FCKPanel_Window_OnFocus.call( this, e, panel ) ;
+
+			if ( panel._focusTimer )
+				clearTimeout( panel._focusTimer ) ;
+		}
+
+		FCKPanel_Window_OnBlur = function( e, panel )
+		{
+			// Delay the execution of the original function.
+			panel._focusTimer = FCKTools.SetTimeout( _Original_FCKPanel_Window_OnBlur, 100, this, [ e, panel ] ) ;
+		}
+
+		FCK.StartEditor = function()
+		{
+			// Force pointing to the CSS files instead of using the inline CSS cached styles.
+			window.FCK_InternalCSS			= FCKConfig.BasePath + 'css/fck_internal.css' ;
+			window.FCK_ShowTableBordersCSS	= FCKConfig.BasePath + 'css/fck_showtableborders_gecko.css' ;
+
+			_Original_FCK_StartEditor.apply( this, arguments ) ;
+		}
+	})();
+}
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/wsc/ciframe.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/wsc/ciframe.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/wsc/ciframe.html	(revision 1481)
@@ -0,0 +1,65 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+-->
+<html>
+<head>
+	<title></title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+	<script type="text/javascript">
+
+function gup( name )
+{
+	name = name.replace( /[\[]/, '\\\[' ).replace( /[\]]/, '\\\]' ) ;
+	var regexS = '[\\?&]' + name + '=([^&#]*)' ;
+	var regex = new RegExp( regexS ) ;
+	var results = regex.exec( window.location.href ) ;
+
+	if( results == null )
+		return '' ;
+	else
+		return results[ 1 ] ;
+}
+
+function sendData2Master()
+{
+	var destination = parent.parent ;
+	try
+	{
+		if ( destination.XDTMaster )
+		{
+			var t = destination.XDTMaster.read( [ gup( 'cmd' ), gup( 'data' ) ] ) ;
+			window.clearInterval( interval ) ;
+		}
+	}
+	catch (e) {}
+}
+
+function onLoad()
+{
+	interval = window.setInterval( sendData2Master, 100 );
+}
+
+        </script>
+</head>
+<body onload="onLoad()">
+	<p></p>
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/wsc/w.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/wsc/w.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/wsc/w.html	(revision 1481)
@@ -0,0 +1,227 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+-->
+<html>
+<head>
+	<title></title>
+	<style>
+		#wsc_frames , #errorMessage{
+			position:absolute;
+			top:0px;
+			left:0px;
+			width:500px;
+			height:395px;
+			margin:0px;
+			padding:0px;
+			border:0px;
+			display:block;
+			overflow: hidden;
+		}
+		#wsc_frames   { z-index:10;}
+		#errorMessage {
+			color:red;
+			display:none;
+			font-size:16px;
+			font-weight:bold;
+			padding-top:160px;
+			text-align:center;
+			z-index:11;
+		}
+		#errorMessage p {
+			color:#000;
+			font-size:11px;
+			text-align:left;
+			font-weight: normal;
+			padding-left:80px;
+		}
+
+	</style>
+	<script type="text/javascript">
+
+var oEditor = window.parent.InnerDialogLoaded() ;
+var FCKConfig = oEditor.FCKConfig;
+
+function doLoadScript(url)
+{
+	if (!url)
+		return false ;
+
+	var s = document.createElement('script') ;
+	s.type = 'text/javascript' ;
+	s.src = url ;
+
+	document.getElementsByTagName('head')[0].appendChild(s) ;
+
+	return true ;
+}
+
+function Ok()
+{
+	return window.parent.Cancel() ;
+}
+
+function _callOnCancel( dT )
+{
+	window.parent.Cancel() ;
+}
+
+function _callOnFinish( dT )
+{
+	oEditor.FCK.SetData( dT.value ) ;
+	window.parent.CloseDialog( true ) ;
+}
+
+function _cancelOnError(m)
+{
+	var _conId = 'errorMessage' ;
+	var message = m || 'Sorry, but service is unavailable now.' ;
+
+	if ( typeof( WSC_Error ) == 'undefined' )
+	{
+		var _con = document.createElement( 'div' ) ;
+		_con.setAttribute( 'id', _conId ) ;
+		document.body.appendChild( _con ) ;
+		dom_con = document.getElementById( _conId ) ;
+		dom_con.innerHTML = message ;
+		dom_con.style.display = 'block' ;
+	}
+	//return Ok() ;
+}
+
+function URL_abs2full( uri )
+{
+	return uri.match( 'http' )
+		? uri
+		: document.location.protocol + '//' + document.location.host + uri ;
+}
+
+function clearErrorUsermessage()
+{
+	// empty error container
+	var _con = document.getElementById( 'errorMessage' ) ;
+
+	if ( !_con )
+		return ;
+
+	_con.innerHTML = '' ;
+	_con.style.display = 'none' ;
+}
+
+var gInterval ;
+
+function onLoad()
+{
+	clearErrorUsermessage() ;
+	var _errorMessage = 'The SpellChecker Service is currently unavailable.' ;
+	if ( 'undefined' != typeof( oEditor.FCK.Config.WSChLoaderScript ) )
+	    _errorMessage = '<div>The SpellChecker Service is currently unavailable.</div><p>Error loading application<br>service host: ' + oEditor.FCK.Config.WSChLoaderScript + '</p>';
+
+	var burnSpelling = function( oName, _eMessage )
+	{
+		var i = 0 ;
+
+		return function ()
+		{
+			if ( typeof( window[oName] ) == 'function' )
+				initAndSpell() ;
+			else if ( i++ == 180 )
+				_cancelOnError( _eMessage ) ;
+		}
+	}
+
+	gInterval = window.setInterval( burnSpelling( 'doSpell', _errorMessage ), 250 ) ;
+
+	// WSC CORE init section
+	var protocol = document.location.protocol || 'http:' ;
+	var baseUrl = protocol + '//loader.spellchecker.net/sproxy_fck/sproxy.php' ;
+	var plugin = "fck2" ;
+	var customerid = oEditor.FCK.Config.WSCnCustomerId
+		|| "1:ua3xw1-2XyGJ3-GWruD3-6OFNT1-oXcuB1-nR6Bp4-hgQHc-EcYng3-sdRXG3-NOfFk" ;
+	var wscCoreUrl = oEditor.FCK.Config.WSChLoaderScript
+		|| ( baseUrl + '?'
+			+ 'plugin='    + plugin + '&'
+			+ 'customerid='+ customerid + '&'
+			+ 'cmd=script&doc=wsc&schema=22' ) ;
+
+	// load WSC core
+	doLoadScript( wscCoreUrl ) ;
+}
+
+function initAndSpell()
+{
+	//xall from window.setInteval expected at once
+	if ( typeof( gInterval ) == 'undefined' )
+		return null ;
+	window.clearInterval( gInterval ) ;
+
+	// global var is used in FCK specific core
+	// change on equal var used in fckplugin.js
+	gFCKPluginName = 'wsc' ;
+
+	// get the data to be checked
+	var sData = oEditor.FCK.GetData() ;
+
+	// prepare content
+	var ctrlId =  'myEditor' ;
+	var dCurT = document.getElementById( ctrlId ) ;
+	dCurT.value = sData ;
+
+	// service paths corecting/preparing
+	var sPath2Scin = URL_abs2full( oEditor.FCK.Config.SkinDialogCSS ) ;
+	var sPathCiframe = FCKConfig.BasePath + 'wsc/ciframe.html' ;
+	var sPathFrameset = FCKConfig.BasePath + 'wsc/tmpFrameset.html' ;
+
+	// language abbr standarts comparer
+	var LangComparer = new _SP_FCK_LangCompare() ;
+	LangComparer.setDefaulLangCode( oEditor.FCK.Language.DefaultLanguage ) ;
+
+	// clear user message console (if application was loaded more then after 2 seconds)
+	clearErrorUsermessage() ;
+
+	doSpell( {
+		ctrl : ctrlId,
+		lang : LangComparer.getSPLangCode( oEditor.FCK.Language.GetActiveLanguage() ),
+		winType : 'wsc_frames',// if not defined app will run on winpopup
+
+		// callback binding section
+		onCancel :window._callOnCancel,
+		onFinish :window._callOnFinish,
+
+		// @TODO: basePath assingning
+
+		// some manipulations with client static pages
+		framesetPath : sPathFrameset,
+		iframePath : sPathCiframe,
+
+		// styles defining
+		schemaURI : sPath2Scin
+	} ) ;
+
+	return true ;
+}
+
+	</script>
+</head>
+<body onload="onLoad()" style="padding: 0px; overflow: hidden;">
+	<textarea style="display: none;" id="myEditor" rows="10" cols="40"></textarea>
+	<iframe src="" name="wsc_frames" id="wsc_frames"></iframe>
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/wsc/tmpFrameset.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/wsc/tmpFrameset.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/wsc/tmpFrameset.html	(revision 1481)
@@ -0,0 +1,67 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+-->
+<html>
+<head>
+	<title></title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+	<script type="text/javascript">
+
+function doLoadScript( url )
+{
+	if ( !url )
+		return false ;
+
+	var s = document.createElement( "script" ) ;
+	s.type = "text/javascript" ;
+	s.src = url ;
+	document.getElementsByTagName( "head" )[ 0 ].appendChild( s ) ;
+
+	return true ;
+}
+
+function tryLoad ()
+{
+    if ( typeof( opener ) == 'undefined' || !opener )
+        opener = parent ;
+
+    // get access to global parameters
+    oParams = opener.oldFramesetPageParams ;
+
+    // make frameset rows string prepare
+    sFramesetRows = ( parseInt( oParams.firstframeh, 10 ) || '30') + ",*," + ( parseInt( oParams.thirdframeh, 10 ) || '150' ) + ',0' ;
+    document.getElementById( 'itFrameset' ).rows = sFramesetRows ;
+
+    // dynamic including init frames and crossdomain transport code
+    // from config sproxy_js_frameset url
+    var addScriptUrl = oParams.sproxy_js_frameset ;
+    doLoadScript( addScriptUrl ) ;
+}
+
+	</script>
+</head>
+<frameset id="itFrameset" onload="tryLoad();" border="0" rows="30,*,*,0">
+    <frame scrolling="no" framespacing="0" frameborder="0" noresize="noresize" marginheight="0" marginwidth="2" src="" name="navbar"></frame>
+    <frame scrolling="auto" framespacing="0" frameborder="0" noresize="noresize" marginheight="0" marginwidth="0" src="" name="mid"></frame>
+    <frame scrolling="no" framespacing="0" frameborder="0" noresize="noresize" marginheight="1" marginwidth="1" src="" name="bot"></frame>
+    <frame scrolling="no" framespacing="0" frameborder="0" noresize="noresize" marginheight="1" marginwidth="1" src="" name="spellsuggestall"></frame>
+</frameset>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/wsc/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/wsc/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/wsc/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id: index.php 915 2009-01-21 19:27:01Z Ruebenwurzel $
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/fckeditor.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/fckeditor.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/fckeditor.html	(revision 1481)
@@ -0,0 +1,317 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Main page that holds the editor.
+-->
+<html>
+<head>
+	<title>FCKeditor</title>
+	<meta name="robots" content="noindex, nofollow">
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+	<meta http-equiv="Cache-Control" content="public">
+	<script type="text/javascript">
+
+// #1645: Alert the user if opening FCKeditor in FF3 from local filesystem
+// without security.fileuri.strict_origin_policy disabled.
+if ( document.location.protocol == 'file:' )
+{
+	try
+	{
+		window.parent.document.domain ;
+	}
+	catch ( e )
+	{
+		window.addEventListener( 'load', function()
+			{
+				document.body.innerHTML = '\
+					<div style="border: 1px red solid; font-family: arial; font-size: 12px; color: red; padding:10px;">\
+						<p>\
+							<b>Your browser security settings don\'t allow FCKeditor to be opened from\
+							the local filesystem.<\/b>\
+						<\/p>\
+						<p>\
+							Please open the <b>about:config<\/b> page and disable the\
+							&quot;security.fileuri.strict_origin_policy&quot; option; then load this page again.\
+						<\/p>\
+						<p>\
+							Check our <a href="http://docs.fckeditor.net/FCKeditor_2.x/Developers_Guide/FAQ#ff3perms">FAQ<\/a>\
+							for more information.\
+						<\/p>\
+					<\/div>' ;
+			}, false ) ;
+	}
+}
+
+// Save a reference to the default domain.
+var FCK_ORIGINAL_DOMAIN ;
+
+// Automatically detect the correct document.domain (#123).
+(function()
+{
+	var d = FCK_ORIGINAL_DOMAIN = document.domain ;
+
+	while ( true )
+	{
+		// Test if we can access a parent property.
+		try
+		{
+			var test = window.parent.document.domain ;
+			break ;
+		}
+		catch( e ) {}
+
+		// Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
+		d = d.replace( /.*?(?:\.|$)/, '' ) ;
+
+		if ( d.length == 0 )
+			break ;		// It was not able to detect the domain.
+
+		try
+		{
+			document.domain = d ;
+		}
+		catch (e)
+		{
+			break ;
+		}
+	}
+})() ;
+
+// Save a reference to the detected runtime domain.
+var FCK_RUNTIME_DOMAIN = document.domain ;
+
+var FCK_IS_CUSTOM_DOMAIN = ( FCK_ORIGINAL_DOMAIN != FCK_RUNTIME_DOMAIN ) ;
+
+// Instead of loading scripts and CSSs using inline tags, all scripts are
+// loaded by code. In this way we can guarantee the correct processing order,
+// otherwise external scripts and inline scripts could be executed in an
+// unwanted order (IE).
+
+function LoadScript( url )
+{
+	document.write( '<scr' + 'ipt type="text/javascript" src="' + url + '"><\/scr' + 'ipt>' ) ;
+}
+
+// Main editor scripts.
+var sSuffix = ( /*@cc_on!@*/false ) ? 'ie' : 'gecko' ;
+
+LoadScript( 'js/fckeditorcode_' + sSuffix + '.js' ) ;
+
+// Base configuration file.
+LoadScript( '../fckconfig.js' ) ;
+
+	</script>
+	<script type="text/javascript">
+
+// Adobe AIR compatibility file.
+if ( FCKBrowserInfo.IsAIR )
+	LoadScript( 'js/fckadobeair.js' ) ;
+
+if ( FCKBrowserInfo.IsIE )
+{
+	// Remove IE mouse flickering.
+	try
+	{
+		document.execCommand( 'BackgroundImageCache', false, true ) ;
+	}
+	catch (e)
+	{
+		// We have been reported about loading problems caused by the above
+		// line. For safety, let's just ignore errors.
+	}
+
+	// Create the default cleanup object used by the editor.
+	FCK.IECleanup = new FCKIECleanup( window ) ;
+	FCK.IECleanup.AddItem( FCKTempBin, FCKTempBin.Reset ) ;
+	FCK.IECleanup.AddItem( FCK, FCK_Cleanup ) ;
+}
+
+// The first function to be called on selection change must the the styles
+// change checker, because the result of its processing may be used by another
+// functions listening to the same event.
+FCK.Events.AttachEvent( 'OnSelectionChange', function() { FCKStyles.CheckSelectionChanges() ; } ) ;
+
+// The config hidden field is processed immediately, because
+// CustomConfigurationsPath may be set in the page.
+FCKConfig.ProcessHiddenField() ;
+
+// Load the custom configurations file (if defined).
+if ( FCKConfig.CustomConfigurationsPath.length > 0 )
+	LoadScript( FCKConfig.CustomConfigurationsPath ) ;
+
+	</script>
+	<script type="text/javascript">
+
+// Load configurations defined at page level.
+FCKConfig_LoadPageConfig() ;
+
+FCKConfig_PreProcess() ;
+
+// Load the full debug script.
+if ( FCKConfig.Debug )
+	LoadScript( '_source/internals/fckdebug.js' ) ;
+
+	</script>
+	<script type="text/javascript">
+
+// CSS minified by http://iceyboard.no-ip.org/projects/css_compressor (see _dev/css_compression.txt).
+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)}' ) ;
+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}' ) ;
+
+// Popup the debug window if debug mode is set to true. It guarantees that the
+// first debug message will not be lost.
+if ( FCKConfig.Debug )
+	FCKDebug._GetWindow() ;
+
+// Load the active skin CSS.
+document.write( FCKTools.GetStyleHtml( FCKConfig.SkinEditorCSS ) ) ;
+
+// Load the language file.
+FCKLanguageManager.Initialize() ;
+LoadScript( 'lang/' + FCKLanguageManager.ActiveLanguage.Code + '.js' ) ;
+
+	</script>
+	<script type="text/javascript">
+
+// Initialize the editing area context menu.
+FCK_ContextMenu_Init() ;
+
+FCKPlugins.Load() ;
+
+	</script>
+	<script type="text/javascript">
+
+// Set the editor interface direction.
+window.document.dir = FCKLang.Dir ;
+
+	</script>
+	<script type="text/javascript">
+
+window.onload = function()
+{
+	InitializeAPI() ;
+
+	if ( FCKBrowserInfo.IsIE )
+		FCK_PreloadImages() ;
+	else
+		LoadToolbarSetup() ;
+}
+
+function LoadToolbarSetup()
+{
+	FCKeditorAPI._FunctionQueue.Add( LoadToolbar ) ;
+}
+
+function LoadToolbar()
+{
+	var oToolbarSet = FCK.ToolbarSet = FCKToolbarSet_Create() ;
+
+	if ( oToolbarSet.IsLoaded )
+		StartEditor() ;
+	else
+	{
+		oToolbarSet.OnLoad = StartEditor ;
+		oToolbarSet.Load( FCKURLParams['Toolbar'] || 'Default' ) ;
+	}
+}
+
+function StartEditor()
+{
+	// Remove the onload listener.
+	FCK.ToolbarSet.OnLoad = null ;
+
+	FCKeditorAPI._FunctionQueue.Remove( LoadToolbar ) ;
+
+	FCK.Events.AttachEvent( 'OnStatusChange', WaitForActive ) ;
+
+	// Start the editor.
+	FCK.StartEditor() ;
+}
+
+function WaitForActive( editorInstance, newStatus )
+{
+	if ( newStatus == FCK_STATUS_ACTIVE )
+	{
+		if ( FCKBrowserInfo.IsGecko )
+			FCKTools.RunFunction( window.onresize ) ;
+
+		if ( !FCKConfig.PreventSubmitHandler )
+			_AttachFormSubmitToAPI() ;
+
+		FCK.SetStatus( FCK_STATUS_COMPLETE ) ;
+
+		// Call the special "FCKeditor_OnComplete" function that should be present in
+		// the HTML page where the editor is located.
+		if ( typeof( window.parent.FCKeditor_OnComplete ) == 'function' )
+			window.parent.FCKeditor_OnComplete( FCK ) ;
+	}
+}
+
+// Gecko and Webkit browsers don't calculate well the IFRAME size so we must
+// recalculate it every time the window size changes.
+if ( FCKBrowserInfo.IsGecko || FCKBrowserInfo.IsSafari )
+{
+	window.onresize = function( e )
+	{
+		// Running in Firefox's chrome makes the window receive the event including subframes.
+		// we care only about this window. Ticket #1642.
+		// #2002: The originalTarget from the event can be the current document, the window, or the editing area.
+		if ( e && e.originalTarget && e.originalTarget !== document && e.originalTarget !== window && (!e.originalTarget.ownerDocument || e.originalTarget.ownerDocument != document ))
+			return ;
+
+		var oCell = document.getElementById( 'xEditingArea' ) ;
+
+		var eInnerElement = oCell.firstChild ;
+		if ( eInnerElement )
+		{
+			eInnerElement.style.height = '0px' ;
+			eInnerElement.style.height = ( oCell.scrollHeight - 2 ) + 'px' ;
+		}
+	}
+}
+
+	</script>
+</head>
+<body>
+	<table width="100%" cellpadding="0" cellspacing="0" style="height: 100%; table-layout: fixed">
+		<tr id="xToolbarRow" style="display: none">
+			<td id="xToolbarSpace" style="overflow: hidden">
+				<table width="100%" cellpadding="0" cellspacing="0">
+					<tr id="xCollapsed" style="display: none">
+						<td id="xExpandHandle" class="TB_Expand" colspan="3">
+							<img class="TB_ExpandImg" alt="" src="images/spacer.gif" width="8" height="4" /></td>
+					</tr>
+					<tr id="xExpanded" style="display: none">
+						<td id="xTBLeftBorder" class="TB_SideBorder" style="width: 1px; display: none;"></td>
+						<td id="xCollapseHandle" style="display: none" class="TB_Collapse" valign="bottom">
+							<img class="TB_CollapseImg" alt="" src="images/spacer.gif" width="8" height="4" /></td>
+						<td id="xToolbar" class="TB_ToolbarSet"></td>
+						<td class="TB_SideBorder" style="width: 1px"></td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+		<tr>
+			<td id="xEditingArea" valign="top" style="height: 100%"></td>
+		</tr>
+	</table>
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/fckdialog.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/fckdialog.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/fckdialog.html	(revision 1481)
@@ -0,0 +1,819 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This page is used by all dialog box as the container.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<title></title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+		<meta name="robots" content="noindex, nofollow" />
+		<script type="text/javascript">
+// <![CDATA[
+
+// Domain relaxation logic.
+(function()
+{
+	var d = document.domain ;
+
+	while ( true )
+	{
+		// Test if we can access a parent property.
+		try
+		{
+			var parentDomain = ( Args().TopWindow || E ).document.domain ;
+
+			if ( document.domain != parentDomain )
+				document.domain = parentDomain ;
+
+			break ;
+		}
+		catch( e ) {}
+
+		// Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
+		d = d.replace( /.*?(?:\.|$)/, '' ) ;
+
+		if ( d.length == 0 )
+			break ;		// It was not able to detect the domain.
+
+		document.domain = d ;
+	}
+})() ;
+
+var E = frameElement._DialogArguments.Editor ;
+
+// It seems referencing to frameElement._DialogArguments directly would lead to memory leaks in IE.
+// So let's use functions to access its members instead.
+function Args()
+{
+	return frameElement._DialogArguments ;
+}
+
+function ParentDialog( dialog )
+{
+	return dialog ? dialog._ParentDialog : frameElement._ParentDialog ;
+}
+
+var FCK				= E.FCK ;
+var FCKTools		= E.FCKTools ;
+var FCKDomTools		= E.FCKDomTools ;
+var FCKDialog		= E.FCKDialog ;
+var FCKBrowserInfo	= E.FCKBrowserInfo ;
+var FCKConfig		= E.FCKConfig ;
+
+// Steal the focus so that the caret would no longer stay in the editor iframe.
+window.focus() ;
+
+// Sets the Skin CSS
+document.write( FCKTools.GetStyleHtml( FCKConfig.SkinDialogCSS ) ) ;
+
+// Sets the language direction.
+var langDir = E.FCKLang.Dir ;
+
+// For IE6-, the fck_dialog_ie6.js is loaded, used to fix limitations in the browser.
+if ( FCKBrowserInfo.IsIE && !FCKBrowserInfo.IsIE7 )
+	document.write( '<' + 'script type="text/javascript" src="' + FCKConfig.SkinPath + 'fck_dialog_ie6.js"><' + '\/script>' ) ;
+
+FCKTools.RegisterDollarFunction( window ) ;
+
+// Resize related functions.
+var Sizer = function()
+{
+	var bAutoSize = false ;
+
+	var retval = {
+		// Sets whether the dialog should auto-resize according to its content's height.
+		SetAutoSize : function( autoSize )
+		{
+			bAutoSize = autoSize ;
+			this.RefreshSize() ;
+		},
+
+		// Fit the dialog container's layout to the inner iframe's external size.
+		RefreshContainerSize : function()
+		{
+			var frmMain = $( 'frmMain' ) ;
+
+			if ( frmMain )
+			{
+				// Get the container size.
+				var height = $( 'contents' ).offsetHeight ;
+
+				// Subtract the size of other elements.
+				height -= $( 'TitleArea' ).offsetHeight ;
+				height -= $( 'TabsRow' ).offsetHeight ;
+				height -= $( 'PopupButtons' ).offsetHeight ;
+
+				frmMain.style.height = Math.max( height, 0 ) + 'px' ;
+			}
+		},
+
+		// Resize and re-layout the dialog.
+		// Triggers the onresize event for the layout logic.
+		ResizeDialog : function( width, height )
+		{
+			FCKDomTools.SetElementStyles( window.frameElement,
+					{
+						'width' : width + 'px',
+						'height' : height + 'px'
+					} ) ;
+
+			// If the skin have defined a function for resize fixes, call it now.
+			if ( typeof window.DoResizeFixes == 'function' )
+				window.DoResizeFixes() ;
+		},
+
+		// if bAutoSize is true, automatically fit the dialog size and layout to
+		// accomodate the inner iframe's internal height.
+		// if bAutoSize is false, then only the layout logic for the dialog decorations
+		// is run to accomodate the inner iframe's external height.
+		RefreshSize : function()
+		{
+			if ( bAutoSize )
+			{
+				var frmMain		= $( 'frmMain' ) ;
+				var innerDoc	= frmMain.contentWindow.document ;
+				var isStrict	= FCKTools.IsStrictMode( innerDoc ) ;
+
+				// Get the size of the frame contents.
+				var innerWidth	= isStrict ? innerDoc.documentElement.scrollWidth : innerDoc.body.scrollWidth ;
+				var innerHeight	= isStrict ? innerDoc.documentElement.scrollHeight : innerDoc.body.scrollHeight ;
+
+				// Get the current frame size.
+				var frameSize = FCKTools.GetViewPaneSize( frmMain.contentWindow ) ;
+
+				var deltaWidth	= innerWidth - frameSize.Width ;
+				var deltaHeight	= innerHeight - frameSize.Height ;
+
+				// If the contents fits the current size.
+				if ( deltaWidth <= 0 && deltaHeight <= 0 )
+					return ;
+
+				var dialogWidth		= frameElement.offsetWidth + Math.max( deltaWidth, 0 ) ;
+				var dialogHeight	= frameElement.offsetHeight + Math.max( deltaHeight, 0 ) ;
+
+				this.ResizeDialog( dialogWidth, dialogHeight ) ;
+			}
+			this.RefreshContainerSize() ;
+		}
+	}
+
+	/**
+	 * Safari seems to have a bug with the time when RefreshSize() is executed - it
+	 * thinks frmMain's innerHeight is 0 if we query the value too soon after the
+	 * page is loaded in some circumstances. (#1316)
+	 * TODO : Maybe this is not needed anymore after #35.
+	 */
+	if ( FCKBrowserInfo.IsSafari )
+	{
+		var originalRefreshSize = retval.RefreshSize ;
+
+		retval.RefreshSize = function()
+		{
+			FCKTools.SetTimeout( originalRefreshSize, 1, retval ) ;
+		}
+	}
+
+	/**
+	 * IE6 has a similar bug where it sometimes thinks $('contents') has an
+	 * offsetHeight of 0 (#2114).
+	 */
+	if ( FCKBrowserInfo.IsIE && !FCKBrowserInfo.IsIE7 )
+	{
+		var originalRefreshContainerSize = retval.RefreshContainerSize ;
+		retval.RefreshContainerSize = function()
+		{
+			FCKTools.SetTimeout( originalRefreshContainerSize, 1, retval ) ;
+		}
+	}
+
+	window.onresize = function()
+	{
+		retval.RefreshContainerSize() ;
+	}
+
+	window.SetAutoSize = FCKTools.Bind( retval, retval.SetAutoSize ) ;
+
+	return retval ;
+}() ;
+
+// Manages the throbber image that appears if the inner part of dialog is taking too long to load.
+var Throbber = function()
+{
+	var timer ;
+
+	var updateThrobber = function()
+	{
+		var throbberParent = $( 'throbberBlock' ) ;
+		var throbberBlocks = throbberParent.childNodes ;
+		var lastClass = throbberParent.lastChild.className ;
+
+		// From the last to the second one, copy the class from the previous one.
+		for ( var i = throbberBlocks.length - 1 ; i > 0 ; i-- )
+			throbberBlocks[i].className = throbberBlocks[i-1].className ;
+
+		// For the first one, copy the last class (rotation).
+		throbberBlocks[0].className = lastClass ;
+	}
+
+	return {
+		Show : function( waitMilliseconds )
+		{
+			// Auto-setup the Show function to be called again after the
+			// requested amount of time.
+			if ( waitMilliseconds && waitMilliseconds > 0 )
+			{
+				timer = FCKTools.SetTimeout( this.Show, waitMilliseconds, this, null, window ) ;
+				return ;
+			}
+
+			var throbberParent = $( 'throbberBlock' ) ;
+
+			if (throbberParent.childNodes.length == 0)
+			{
+				// Create the throbber blocks.
+				var classIds = [ 1,2,3,4,5,4,3,2 ] ;
+				while ( classIds.length > 0 )
+					throbberParent.appendChild( document.createElement( 'div' ) ).className = ' throbber_' + classIds.shift() ;
+			}
+
+			// Center the throbber.
+			var frm = $( 'contents' ) ;
+			var frmCoords = FCKTools.GetDocumentPosition( window, frm ) ;
+			var x = frmCoords.x + ( frm.offsetWidth - throbberParent.offsetWidth ) / 2 ;
+			var y = frmCoords.y + ( frm.offsetHeight - throbberParent.offsetHeight ) / 2 ;
+			throbberParent.style.left = parseInt( x, 10 ) + 'px' ;
+			throbberParent.style.top = parseInt( y, 10 ) + 'px' ;
+
+			// Show it.
+			throbberParent.style.visibility = ''  ;
+
+			// Hide tabs and buttons:
+			$( 'Tabs' ).style.visibility = 'hidden' ;
+			$( 'PopupButtons' ).style.visibility = 'hidden' ;
+
+			// Setup the animation interval.
+			timer = setInterval( updateThrobber, 100 ) ;
+		},
+
+		Hide : function()
+		{
+			if ( timer )
+			{
+				clearInterval( timer ) ;
+				timer = null ;
+			}
+
+			$( 'throbberBlock' ).style.visibility = 'hidden' ;
+
+			// Show tabs and buttons:
+			$( 'Tabs' ).style.visibility = '' ;
+			$( 'PopupButtons' ).style.visibility = '' ;
+		}
+	} ;
+}() ;
+
+// Drag and drop handlers.
+var DragAndDrop = function()
+{
+	var registeredWindows = [] ;
+	var lastCoords ;
+	var currentPos ;
+
+	var cleanUpHandlers = function()
+	{
+		for ( var i = 0 ; i < registeredWindows.length ; i++ )
+		{
+			FCKTools.RemoveEventListener( registeredWindows[i].document, 'mousemove', dragMouseMoveHandler ) ;
+			FCKTools.RemoveEventListener( registeredWindows[i].document, 'mouseup', dragMouseUpHandler ) ;
+		}
+	}
+
+	var dragMouseMoveHandler = function( evt )
+	{
+		if ( !lastCoords )
+			return ;
+
+		if ( !evt )
+			evt = FCKTools.GetElementDocument( this ).parentWindow.event ;
+
+		// Updated the last coordinates.
+		var currentCoords =
+		{
+			x : evt.screenX,
+			y : evt.screenY
+		} ;
+
+		currentPos =
+		{
+			x : currentPos.x + ( currentCoords.x - lastCoords.x ),
+			y : currentPos.y + ( currentCoords.y - lastCoords.y )
+		} ;
+
+		lastCoords = currentCoords ;
+
+		frameElement.style.left	= currentPos.x + 'px' ;
+		frameElement.style.top	= currentPos.y + 'px' ;
+
+		if ( evt.preventDefault )
+			evt.preventDefault() ;
+		else
+			evt.returnValue = false ;
+	}
+
+	var dragMouseUpHandler = function( evt )
+	{
+		if ( !lastCoords )
+			return ;
+		if ( !evt )
+			evt = FCKTools.GetElementDocument( this ).parentWindow.event ;
+		cleanUpHandlers() ;
+		lastCoords = null ;
+	}
+
+	return {
+
+		MouseDownHandler : function( evt )
+		{
+			var view = null ;
+			if ( !evt )
+			{
+				view = FCKTools.GetElementDocument( this ).parentWindow ;
+				evt = view.event ;
+			}
+			else
+				view = evt.view ;
+
+			var target = evt.srcElement || evt.target ;
+			if ( target.id == 'closeButton' || target.className == 'PopupTab' || target.className == 'PopupTabSelected' )
+				return ;
+
+			lastCoords =
+			{
+				x : evt.screenX,
+				y : evt.screenY
+			} ;
+
+			// Save the current IFRAME position.
+			currentPos =
+			{
+				x : parseInt( FCKDomTools.GetCurrentElementStyle( frameElement, 'left' ), 10 ),
+				y : parseInt( FCKDomTools.GetCurrentElementStyle( frameElement, 'top' ), 10 )
+			} ;
+
+			for ( var i = 0 ; i < registeredWindows.length ; i++ )
+			{
+				FCKTools.AddEventListener( registeredWindows[i].document, 'mousemove', dragMouseMoveHandler ) ;
+				FCKTools.AddEventListener( registeredWindows[i].document, 'mouseup', dragMouseUpHandler ) ;
+			}
+
+			if ( evt.preventDefault )
+				evt.preventDefault() ;
+			else
+				evt.returnValue = false ;
+		},
+
+		RegisterHandlers : function( w )
+		{
+			registeredWindows.push( w ) ;
+		}
+	}
+}() ;
+
+// Selection related functions.
+//(Became simple shortcuts after the fix for #1990)
+var Selection =
+{
+	/**
+	 * Ensures that the editing area contains an active selection. This is a
+	 * requirement for IE, as it looses the selection when the focus moves to other
+	 * frames.
+	 */
+	EnsureSelection : function()
+	{
+		// Move the focus to the Cancel button so even if the dialog contains a
+		// contentEditable element the selection is properly restored in the editor #2496
+		window.focus() ;
+		$( 'btnCancel' ).focus() ;
+
+		FCK.Selection.Restore() ;
+	},
+
+	/**
+	 * Get the FCKSelection object for the editor instance.
+	 */
+	GetSelection : function()
+	{
+		return FCK.Selection ;
+	},
+
+	/**
+	 * Get the selected element in the editing area (for object selections).
+	 */
+	GetSelectedElement : function()
+	{
+		return FCK.Selection.GetSelectedElement() ;
+	}
+}
+
+// Tab related functions.
+var Tabs = function()
+{
+	// Only element ids should be stored here instead of element references since setSelectedTab and TabDiv_OnClick
+	// would build circular references with the element references inside and cause memory leaks in IE6.
+	var oTabs = new Object() ;
+
+	var setSelectedTab = function( tabCode )
+	{
+		for ( var sCode in oTabs )
+		{
+			if ( sCode == tabCode )
+				$( oTabs[sCode] ).className = 'PopupTabSelected' ;
+			else
+				$( oTabs[sCode] ).className = 'PopupTab' ;
+		}
+
+		if ( typeof( window.frames["frmMain"].OnDialogTabChange ) == 'function' )
+			window.frames["frmMain"].OnDialogTabChange( tabCode ) ;
+	}
+
+	function TabDiv_OnClick()
+	{
+		setSelectedTab( this.TabCode ) ;
+	}
+
+	window.AddTab = function( tabCode, tabText, startHidden )
+	{
+		if ( typeof( oTabs[ tabCode ] ) != 'undefined' )
+			return ;
+
+		var eTabsRow = $( 'Tabs' ) ;
+
+		var oCell = eTabsRow.insertCell(  eTabsRow.cells.length - 1 ) ;
+		oCell.noWrap = true ;
+
+		var oDiv = document.createElement( 'DIV' ) ;
+		oDiv.className = 'PopupTab' ;
+		oDiv.innerHTML = tabText ;
+		oDiv.TabCode = tabCode ;
+		oDiv.onclick = TabDiv_OnClick ;
+		oDiv.id = Math.random() ;
+
+		if ( startHidden )
+			oDiv.style.display = 'none' ;
+
+		eTabsRow = $( 'TabsRow' ) ;
+
+		oCell.appendChild( oDiv ) ;
+
+		if ( eTabsRow.style.display == 'none' )
+		{
+			var eTitleArea = $( 'TitleArea' ) ;
+			eTitleArea.className = 'PopupTitle' ;
+
+			oDiv.className = 'PopupTabSelected' ;
+			eTabsRow.style.display = '' ;
+
+			if ( window.onresize )
+				window.onresize() ;
+		}
+
+		oTabs[ tabCode ] = oDiv.id ;
+
+		FCKTools.DisableSelection( oDiv ) ;
+	} ;
+
+	window.SetSelectedTab = setSelectedTab ;
+
+	window.SetTabVisibility = function( tabCode, isVisible )
+	{
+		var oTab = $( oTabs[ tabCode ] ) ;
+		oTab.style.display = isVisible ? '' : 'none' ;
+
+		if ( ! isVisible && oTab.className == 'PopupTabSelected' )
+		{
+			for ( var sCode in oTabs )
+			{
+				if ( $( oTabs[sCode] ).style.display != 'none' )
+				{
+					setSelectedTab( sCode ) ;
+					break ;
+				}
+			}
+		}
+	} ;
+}() ;
+
+// readystatechange handler for registering drag and drop handlers in cover
+// iframes, defined out here to avoid memory leak.
+// Do NOT put this function as a private function as it will induce memory leak
+// in IE and it's not detectable with Drip or sIEve and undetectable leaks are
+// really nasty (sigh).
+var onReadyRegister = function()
+{
+	if ( this.readyState != 'complete' )
+		return ;
+	DragAndDrop.RegisterHandlers( this.contentWindow ) ;
+} ;
+
+// The business logic of the dialog, dealing with operational things like
+// dialog open/dialog close/enable/disable/etc.
+(function()
+{
+	var setOnKeyDown = function( targetDocument )
+	{
+		targetDocument.onkeydown = function ( e )
+		{
+			e = e || event || this.parentWindow.event ;
+			switch ( e.keyCode )
+			{
+				case 13 :		// ENTER
+					var oTarget = e.srcElement || e.target ;
+					if ( oTarget.tagName == 'TEXTAREA' )
+						return true ;
+					Ok() ;
+					return false ;
+
+				case 27 :		// ESC
+					Cancel() ;
+					return false ;
+			}
+			return true ;
+		}
+	} ;
+
+	var contextMenuBlocker = function( e )
+	{
+		var sTagName = e.target.tagName ;
+		if ( ! ( ( sTagName == "INPUT" && e.target.type == "text" ) || sTagName == "TEXTAREA" ) )
+			e.preventDefault() ;
+	} ;
+
+	var disableContextMenu = function( targetDocument )
+	{
+		if ( FCKBrowserInfo.IsIE )
+			return ;
+
+		targetDocument.addEventListener( 'contextmenu', contextMenuBlocker, true ) ;
+	} ;
+
+	// Program entry point.
+	window.Init = function()
+	{
+		$( 'contents' ).dir = langDir;
+
+		// Start the throbber timer.
+		Throbber.Show( 1000 ) ;
+
+		Sizer.RefreshContainerSize() ;
+		LoadInnerDialog() ;
+
+		FCKTools.DisableSelection( document.body ) ;
+
+		// Make the title area draggable.
+		var titleElement = $( 'header' ) ;
+		titleElement.onmousedown = DragAndDrop.MouseDownHandler ;
+
+		// Connect mousemove and mouseup events from dialog frame and outer window to dialog dragging logic.
+		DragAndDrop.RegisterHandlers( window ) ;
+		DragAndDrop.RegisterHandlers( Args().TopWindow ) ;
+
+		// Disable the previous dialog if it exists.
+		if ( ParentDialog() )
+		{
+			ParentDialog().contentWindow.SetEnabled( false ) ;
+			if ( FCKBrowserInfo.IsIE && !FCKBrowserInfo.IsIE7 )
+			{
+				var currentParent = ParentDialog() ;
+				while ( currentParent )
+				{
+					var blockerFrame = currentParent.contentWindow.$( 'blocker' ) ;
+					if ( blockerFrame.readyState == 'complete' )
+						DragAndDrop.RegisterHandlers( blockerFrame.contentWindow ) ;
+					else
+						blockerFrame.onreadystatechange = onReadyRegister ;
+					currentParent = ParentDialog( currentParent ) ;
+				}
+			}
+			else
+			{
+				var currentParent = ParentDialog() ;
+				while ( currentParent )
+				{
+					DragAndDrop.RegisterHandlers( currentParent.contentWindow ) ;
+					currentParent = ParentDialog( currentParent ) ;
+				}
+			}
+		}
+
+		// If this is the only dialog on screen, enable the background cover.
+		if ( FCKBrowserInfo.IsIE && !FCKBrowserInfo.IsIE7 )
+		{
+			var blockerFrame = FCKDialog.GetCover().firstChild ;
+			if ( blockerFrame.readyState == 'complete' )
+				DragAndDrop.RegisterHandlers( blockerFrame.contentWindow ) ;
+			else
+				blockerFrame.onreadystatechange = onReadyRegister;
+		}
+
+		// Add Enter/Esc hotkeys and disable context menu for the dialog.
+		setOnKeyDown( document ) ;
+		disableContextMenu( document ) ;
+	} ;
+
+	window.LoadInnerDialog = function()
+	{
+		if ( window.onresize )
+			window.onresize() ;
+
+		// First of all, translate the dialog box contents.
+		E.FCKLanguageManager.TranslatePage( document ) ;
+
+		// Create the IFRAME that holds the dialog contents.
+		$( 'innerContents' ).innerHTML = '<iframe id="frmMain" src="' + Args().Page + '" name="frmMain" frameborder="0" width="100%" height="100%" scrolling="auto" style="visibility: hidden;" allowtransparency="true"><\/iframe>' ;
+	} ;
+
+	window.InnerDialogLoaded = function()
+	{
+		// If the dialog has been closed before the iframe is loaded, do nothing.
+		if ( !frameElement.parentNode )
+			return null ;
+
+		Throbber.Hide() ;
+
+		var frmMain = $('frmMain') ;
+		var innerWindow = frmMain.contentWindow ;
+		var innerDoc = innerWindow.document ;
+
+		// Show the loaded iframe.
+		frmMain.style.visibility = '' ;
+
+		// Set the language direction.
+		innerDoc.documentElement.dir = langDir ;
+
+		// Sets the Skin CSS.
+		innerDoc.write( FCKTools.GetStyleHtml( FCKConfig.SkinDialogCSS ) ) ;
+
+		setOnKeyDown( innerDoc ) ;
+		disableContextMenu( innerDoc ) ;
+
+		Sizer.RefreshContainerSize();
+
+		DragAndDrop.RegisterHandlers( innerWindow ) ;
+
+		innerWindow.focus() ;
+
+		return E ;
+	} ;
+
+	window.SetOkButton = function( showIt )
+	{
+		$('btnOk').style.visibility = ( showIt ? '' : 'hidden' ) ;
+	} ;
+
+	window.Ok = function()
+	{
+		Selection.EnsureSelection() ;
+
+		var frmMain = window.frames["frmMain"] ;
+
+		if ( frmMain.Ok && frmMain.Ok() )
+			CloseDialog() ;
+		else
+			frmMain.focus() ;
+	} ;
+
+	window.Cancel = function( dontFireChange )
+	{
+		Selection.EnsureSelection() ;
+		return CloseDialog( dontFireChange ) ;
+	} ;
+
+	window.CloseDialog = function( dontFireChange )
+	{
+		Throbber.Hide() ;
+
+		// Points the src to a non-existent location to avoid loading errors later, in case the dialog
+		// haven't been completed loaded at this point.
+		if ( $( 'frmMain' ) )
+			$( 'frmMain' ).src = FCKTools.GetVoidUrl() ;
+
+		if ( !dontFireChange && !FCK.EditMode )
+		{
+			// All dialog windows, by default, will fire the "OnSelectionChange"
+			// event, no matter the Ok or Cancel button has been pressed.
+			// It seems that OnSelectionChange may enter on a concurrency state
+			// on some situations (#1965), so we should put the event firing in
+			// the execution queue instead of executing it immediately.
+			setTimeout( function()
+				{
+					FCK.Events.FireEvent( 'OnSelectionChange' ) ;
+				}, 0 ) ;
+		}
+
+		FCKDialog.OnDialogClose( window ) ;
+	} ;
+
+	window.SetEnabled = function( isEnabled )
+	{
+		var cover = $( 'cover' ) ;
+		cover.style.display = isEnabled ? 'none' : '' ;
+
+		if ( FCKBrowserInfo.IsIE && !FCKBrowserInfo.IsIE7 )
+		{
+			if ( !isEnabled )
+			{
+				// Inser the blocker IFRAME before the cover.
+				var blocker = document.createElement( 'iframe' ) ;
+				blocker.src = FCKTools.GetVoidUrl() ;
+				blocker.hideFocus = true ;
+				blocker.frameBorder = 0 ;
+				blocker.id = blocker.className = 'blocker' ;
+				cover.appendChild( blocker ) ;
+			}
+			else
+			{
+				var blocker = $( 'blocker' ) ;
+				if ( blocker && blocker.parentNode )
+					blocker.parentNode.removeChild( blocker ) ;
+			}
+		}
+	} ;
+})() ;
+// ]]>
+		</script>
+	</head>
+	<body onload="Init();" class="PopupBody">
+		<div class="contents" id="contents">
+			<div id="header">
+				<div id="TitleArea" class="PopupTitle PopupTitleBorder">
+					<script type="text/javascript">
+// <![CDATA[
+document.write( Args().Title ) ;
+// ]]>
+					</script>
+					<div id="closeButton" onclick="Cancel();"></div>
+				</div>
+				<div id="TabsRow" class="PopupTabArea" style="display: none">
+					<table border="0" cellpadding="0" cellspacing="0" width="100%">
+						<tr id="Tabs">
+							<td class="PopupTabEmptyArea">&nbsp;</td>
+							<td class="PopupTabEmptyArea" width="100%">&nbsp;</td>
+						</tr>
+					</table>
+				</div>
+			</div>
+			<div id="innerContents"></div>
+			<div id="PopupButtons" class="PopupButtons">
+				<table border="0" cellpadding="0" cellspacing="0">
+					<tr>
+						<td width="100%">&nbsp;</td>
+						<td nowrap="nowrap">
+							<input id="btnOk" style="visibility: hidden;" type="button" value="Ok" class="Button" onclick="Ok();" fckLang="DlgBtnOK" />
+							&nbsp;
+							<input id="btnCancel" type="button" value="Cancel" class="Button" onclick="Cancel();" fckLang="DlgBtnCancel" />
+						</td>
+					</tr>
+				</table>
+			</div>
+		</div>
+		<div class="tl"></div>
+		<div class="tc"></div>
+		<div class="tr"></div>
+		<div class="ml"></div>
+		<div class="mr"></div>
+		<div class="bl"></div>
+		<div class="bc"></div>
+		<div class="br"></div>
+		<div class="cover" id="cover" style="display:none"></div>
+		<div id="throbberBlock" style="position: absolute; visibility: hidden"></div>
+		<script type="text/javascript">
+// <![CDATA[
+			// Set the class name for language direction.
+			document.body.className += ' ' + langDir ;
+
+			var cover = $( 'cover' ) ;
+			cover.style.backgroundColor = FCKConfig.BackgroundBlockerColor ;
+			FCKDomTools.SetOpacity( cover, FCKConfig.BackgroundBlockerOpacity ) ;
+// ]]>
+		</script>
+	</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/fckdebug.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/fckdebug.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/editor/fckdebug.html	(revision 1481)
@@ -0,0 +1,153 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This is the Debug window.
+ * It automatically popups if the Debug = true in the configuration file.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>FCKeditor Debug Window</title>
+	<meta name="robots" content="noindex, nofollow" />
+	<script type="text/javascript">
+
+var oWindow ;
+var oDiv ;
+
+if ( !window.FCKMessages )
+	window.FCKMessages = new Array() ;
+
+window.onload = function()
+{
+	oWindow = document.getElementById('xOutput').contentWindow ;
+	oWindow.document.open() ;
+	oWindow.document.write( '<div id="divMsg"><\/div>' ) ;
+	oWindow.document.close() ;
+	oDiv	= oWindow.document.getElementById('divMsg') ;
+}
+
+function Output( message, color, noParse )
+{
+	if ( !noParse && message != null && isNaN( message ) )
+		message = message.replace(/</g, "&lt;") ;
+
+	if ( color )
+		message = '<font color="' + color + '">' + message + '<\/font>' ;
+
+	window.FCKMessages[ window.FCKMessages.length ] = message ;
+	StartTimer() ;
+}
+
+function OutputObject( anyObject, color )
+{
+	var message ;
+
+	if ( anyObject != null )
+	{
+		message = 'Properties of: ' + anyObject + '</b><blockquote>' ;
+
+		for (var prop in anyObject)
+		{
+			try
+			{
+				var sVal = anyObject[ prop ] != null ? anyObject[ prop ] + '' : '[null]' ;
+				message += '<b>' + prop + '</b> : ' + sVal.replace(/</g, '&lt;') + '<br>' ;
+			}
+			catch (e)
+			{
+				try
+				{
+					message += '<b>' + prop + '</b> : [' + typeof( anyObject[ prop ] ) + ']<br>' ;
+				}
+				catch (e)
+				{
+					message += '<b>' + prop + '</b> : [-error-]<br>' ;
+				}
+			}
+		}
+
+		message += '</blockquote><b>' ;
+	} else
+		message = 'OutputObject : Object is "null".' ;
+
+	Output( message, color, true ) ;
+}
+
+function StartTimer()
+{
+	window.setTimeout( 'CheckMessages()', 100 ) ;
+}
+
+function CheckMessages()
+{
+	if ( window.FCKMessages.length > 0 )
+	{
+		// Get the first item in the queue
+		var sMessage = window.FCKMessages[0] ;
+
+		// Removes the first item from the queue
+		var oTempArray = new Array() ;
+		for ( i = 1 ; i < window.FCKMessages.length ; i++ )
+			oTempArray[ i - 1 ] = window.FCKMessages[ i ] ;
+		window.FCKMessages = oTempArray ;
+
+		var d = new Date() ;
+		var sTime =
+			( d.getHours() + 100 + '' ).substr( 1,2 ) + ':' +
+			( d.getMinutes() + 100 + '' ).substr( 1,2 ) + ':' +
+			( d.getSeconds() + 100 + '' ).substr( 1,2 ) + ':' +
+			( d.getMilliseconds() + 1000 + '' ).substr( 1,3 ) ;
+
+		var oMsgDiv = oWindow.document.createElement( 'div' ) ;
+		oMsgDiv.innerHTML = sTime + ': <b>' + sMessage + '<\/b>' ;
+		oDiv.appendChild( oMsgDiv ) ;
+		oMsgDiv.scrollIntoView() ;
+	}
+}
+
+function Clear()
+{
+	oDiv.innerHTML = '' ;
+}
+	</script>
+</head>
+<body style="margin: 10px">
+	<table style="height: 100%" cellspacing="5" cellpadding="0" width="100%" border="0">
+		<tr>
+			<td>
+				<table cellspacing="0" cellpadding="0" width="100%" border="0">
+					<tr>
+						<td style="font-weight: bold; font-size: 1.2em;">
+							FCKeditor Debug Window</td>
+						<td align="right">
+							<input type="button" value="Clear" onclick="Clear();" /></td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+		<tr style="height: 100%">
+			<td style="border: #696969 1px solid">
+				<iframe id="xOutput" width="100%" height="100%" scrolling="auto" src="javascript:void(0)"
+					frameborder="0"></iframe>
+			</td>
+		</tr>
+	</table>
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/_upgrade.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/_upgrade.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/_upgrade.html	(revision 1481)
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+-->
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>FCKeditor - Upgrade</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<style type="text/css">
+		body { font-family: arial, verdana, sans-serif }
+		p { margin-left: 20px }
+	</style>
+</head>
+<body>
+	<h1>
+		FCKeditor Upgrade</h1>
+	<p>
+		Please check the following URL for notes regarding upgrade:<br />
+		<a href="http://docs.fckeditor.net/FCKeditor_2.x/Developers_Guide/Installation/Upgrading">
+			http://docs.fckeditor.net/FCKeditor_2.x/Developers_Guide/Installation/Upgrading</a></p>
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/_documentation.html
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/_documentation.html	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/_documentation.html	(revision 1481)
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+-->
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>FCKeditor - Documentation</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<style type="text/css">
+		body { font-family: arial, verdana, sans-serif }
+		p { margin-left: 20px }
+	</style>
+</head>
+<body>
+	<h1>
+		FCKeditor Documentation</h1>
+	<p>
+		You can find the official documentation for FCKeditor online, at <a href="http://docs.fckeditor.net/">
+			http://docs.fckeditor.net/</a>.</p>
+</body>
+</html>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/fckeditor_php5.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/fckeditor_php5.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/fckeditor_php5.php	(revision 1481)
@@ -0,0 +1,258 @@
+<?php
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This is the integration file for PHP 5.
+ *
+ * It defines the FCKeditor class that can be used to create editor
+ * instances in PHP pages on server side.
+ */
+
+/**
+ * Check if browser is compatible with FCKeditor.
+ * Return true if is compatible.
+ *
+ * @return boolean
+ */
+function FCKeditor_IsCompatibleBrowser()
+{
+	if ( isset( $_SERVER ) ) {
+		$sAgent = $_SERVER['HTTP_USER_AGENT'] ;
+	}
+	else {
+		global $HTTP_SERVER_VARS ;
+		if ( isset( $HTTP_SERVER_VARS ) ) {
+			$sAgent = $HTTP_SERVER_VARS['HTTP_USER_AGENT'] ;
+		}
+		else {
+			global $HTTP_USER_AGENT ;
+			$sAgent = $HTTP_USER_AGENT ;
+		}
+	}
+
+	if ( strpos($sAgent, 'MSIE') !== false && strpos($sAgent, 'mac') === false && strpos($sAgent, 'Opera') === false )
+	{
+		$iVersion = (float)substr($sAgent, strpos($sAgent, 'MSIE') + 5, 3) ;
+		return ($iVersion >= 5.5) ;
+	}
+	else if ( strpos($sAgent, 'Gecko/') !== false )
+	{
+		$iVersion = (int)substr($sAgent, strpos($sAgent, 'Gecko/') + 6, 8) ;
+		return ($iVersion >= 20030210) ;
+	}
+	else if ( strpos($sAgent, 'Opera/') !== false )
+	{
+		$fVersion = (float)substr($sAgent, strpos($sAgent, 'Opera/') + 6, 4) ;
+		return ($fVersion >= 9.5) ;
+	}
+	else if ( preg_match( "|AppleWebKit/(\d+)|i", $sAgent, $matches ) )
+	{
+		$iVersion = $matches[1] ;
+		return ( $matches[1] >= 522 ) ;
+	}
+	else
+		return false ;
+}
+
+class FCKeditor
+{
+	/**
+	 * Name of the FCKeditor instance.
+	 *
+	 * @access protected
+	 * @var string
+	 */
+	public $InstanceName ;
+	/**
+	 * Path to FCKeditor relative to the document root.
+	 *
+	 * @var string
+	 */
+	public $BasePath ;
+	/**
+	 * Width of the FCKeditor.
+	 * Examples: 100%, 600
+	 *
+	 * @var mixed
+	 */
+	public $Width ;
+	/**
+	 * Height of the FCKeditor.
+	 * Examples: 400, 50%
+	 *
+	 * @var mixed
+	 */
+	public $Height ;
+	/**
+	 * Name of the toolbar to load.
+	 *
+	 * @var string
+	 */
+	public $ToolbarSet ;
+	/**
+	 * Initial value.
+	 *
+	 * @var string
+	 */
+	public $Value ;
+	/**
+	 * This is where additional configuration can be passed.
+	 * Example:
+	 * $oFCKeditor->Config['EnterMode'] = 'br';
+	 *
+	 * @var array
+	 */
+	public $Config ;
+
+	/**
+	 * Main Constructor.
+	 * Refer to the _samples/php directory for examples.
+	 *
+	 * @param string $instanceName
+	 */
+	public function __construct( $instanceName )
+ 	{
+		$this->InstanceName	= $instanceName ;
+		$this->BasePath		= '/fckeditor/' ;
+		$this->Width		= '100%' ;
+		$this->Height		= '200' ;
+		$this->ToolbarSet	= 'Default' ;
+		$this->Value		= '' ;
+
+		$this->Config		= array() ;
+	}
+
+	/**
+	 * Display FCKeditor.
+	 *
+	 */
+	public function Create()
+	{
+		echo $this->CreateHtml() ;
+	}
+
+	/**
+	 * Return the HTML code required to run FCKeditor.
+	 *
+	 * @return string
+	 */
+	public function CreateHtml()
+	{
+		$HtmlValue = htmlspecialchars( $this->Value ) ;
+
+		$Html = '' ;
+
+		if ( $this->IsCompatible() )
+		{
+			if ( isset( $_GET['fcksource'] ) && $_GET['fcksource'] == "true" )
+				$File = 'fckeditor.original.html' ;
+			else
+				$File = 'fckeditor.html' ;
+
+			$Link = "{$this->BasePath}editor/{$File}?InstanceName={$this->InstanceName}" ;
+
+			if ( $this->ToolbarSet != '' )
+				$Link .= "&amp;Toolbar={$this->ToolbarSet}" ;
+
+			// Render the linked hidden field.
+			$Html .= "<input type=\"hidden\" id=\"{$this->InstanceName}\" name=\"{$this->InstanceName}\" value=\"{$HtmlValue}\" style=\"display:none\" />" ;
+
+			// Render the configurations hidden field.
+			$Html .= "<input type=\"hidden\" id=\"{$this->InstanceName}___Config\" value=\"" . $this->GetConfigFieldString() . "\" style=\"display:none\" />" ;
+
+			// Render the editor IFRAME.
+			$Html .= "<iframe id=\"{$this->InstanceName}___Frame\" src=\"{$Link}\" width=\"{$this->Width}\" height=\"{$this->Height}\" frameborder=\"0\" scrolling=\"no\"></iframe>" ;
+		}
+		else
+		{
+			if ( strpos( $this->Width, '%' ) === false )
+				$WidthCSS = $this->Width . 'px' ;
+			else
+				$WidthCSS = $this->Width ;
+
+			if ( strpos( $this->Height, '%' ) === false )
+				$HeightCSS = $this->Height . 'px' ;
+			else
+				$HeightCSS = $this->Height ;
+
+			$Html .= "<textarea name=\"{$this->InstanceName}\" rows=\"4\" cols=\"40\" style=\"width: {$WidthCSS}; height: {$HeightCSS}\">{$HtmlValue}</textarea>" ;
+		}
+
+		return $Html ;
+	}
+
+	/**
+	 * Returns true if browser is compatible with FCKeditor.
+	 *
+	 * @return boolean
+	 */
+	public function IsCompatible()
+	{
+		return FCKeditor_IsCompatibleBrowser() ;
+	}
+
+	/**
+	 * Get settings from Config array as a single string.
+	 *
+	 * @access protected
+	 * @return string
+	 */
+	public function GetConfigFieldString()
+	{
+		$sParams = '' ;
+		$bFirst = true ;
+
+		foreach ( $this->Config as $sKey => $sValue )
+		{
+			if ( $bFirst == false )
+				$sParams .= '&amp;' ;
+			else
+				$bFirst = false ;
+
+			if ( $sValue === true )
+				$sParams .= $this->EncodeConfig( $sKey ) . '=true' ;
+			else if ( $sValue === false )
+				$sParams .= $this->EncodeConfig( $sKey ) . '=false' ;
+			else
+				$sParams .= $this->EncodeConfig( $sKey ) . '=' . $this->EncodeConfig( $sValue ) ;
+		}
+
+		return $sParams ;
+	}
+
+	/**
+	 * Encode characters that may break the configuration string
+	 * generated by GetConfigFieldString().
+	 *
+	 * @access protected
+	 * @param string $valueToEncode
+	 * @return string
+	 */
+	public function EncodeConfig( $valueToEncode )
+	{
+		$chars = array(
+			'&' => '%26',
+			'=' => '%3D',
+			'"' => '%22' ) ;
+
+		return strtr( $valueToEncode,  $chars ) ;
+	}
+}
+?>
\ No newline at end of file
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/fckeditor/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/fckeditor.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/fckeditor.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/fckeditor.php	(revision 1481)
@@ -0,0 +1,31 @@
+<?php
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This is the integration file for PHP (All versions).
+ *
+ * It loads the correct integration file based on the PHP version (avoiding
+ * strict error messages with PHP 5).
+ */
+
+if ( !function_exists('version_compare') || version_compare( phpversion(), '5', '<' ) )
+	include_once( 'fckeditor_php4.php' ) ;
+else
+	include_once( 'fckeditor_php5.php' ) ;
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/license.txt
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/license.txt	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/license.txt	(revision 1481)
@@ -0,0 +1,1246 @@
+FCKeditor - The text editor for Internet - http://www.fckeditor.net
+Copyright (C) 2003-2009 Frederico Caldeira Knabben
+
+Licensed under the terms of any of the following licenses at your
+choice:
+
+ - GNU General Public License Version 2 or later (the "GPL")
+   http://www.gnu.org/licenses/gpl.html
+   (See Appendix A)
+
+ - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+   http://www.gnu.org/licenses/lgpl.html
+   (See Appendix B)
+
+ - Mozilla Public License Version 1.1 or later (the "MPL")
+   http://www.mozilla.org/MPL/MPL-1.1.html
+   (See Appendix C)
+
+You are not required to, but if you want to explicitly declare the
+license you have chosen to be bound to when using, reproducing,
+modifying and distributing this software, just include a text file
+titled "legal.txt" in your version of this software, indicating your
+license choice. In any case, your choice will not restrict any
+recipient of your version of this software to use, reproduce, modify
+and distribute this software under any of the above licenses.
+
+Appendix A: The GPL License
+===========================
+
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+
+Appendix B: The LGPL License
+============================
+
+		  GNU LESSER GENERAL PUBLIC LICENSE
+		       Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+		  GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+			    NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+
+Appendix C: The MPL License
+===========================
+
+                          MOZILLA PUBLIC LICENSE
+                                Version 1.1
+
+                              ---------------
+
+1. Definitions.
+
+     1.0.1. "Commercial Use" means distribution or otherwise making the
+     Covered Code available to a third party.
+
+     1.1. "Contributor" means each entity that creates or contributes to
+     the creation of Modifications.
+
+     1.2. "Contributor Version" means the combination of the Original
+     Code, prior Modifications used by a Contributor, and the Modifications
+     made by that particular Contributor.
+
+     1.3. "Covered Code" means the Original Code or Modifications or the
+     combination of the Original Code and Modifications, in each case
+     including portions thereof.
+
+     1.4. "Electronic Distribution Mechanism" means a mechanism generally
+     accepted in the software development community for the electronic
+     transfer of data.
+
+     1.5. "Executable" means Covered Code in any form other than Source
+     Code.
+
+     1.6. "Initial Developer" means the individual or entity identified
+     as the Initial Developer in the Source Code notice required by Exhibit
+     A.
+
+     1.7. "Larger Work" means a work which combines Covered Code or
+     portions thereof with code not governed by the terms of this License.
+
+     1.8. "License" means this document.
+
+     1.8.1. "Licensable" means having the right to grant, to the maximum
+     extent possible, whether at the time of the initial grant or
+     subsequently acquired, any and all of the rights conveyed herein.
+
+     1.9. "Modifications" means any addition to or deletion from the
+     substance or structure of either the Original Code or any previous
+     Modifications. When Covered Code is released as a series of files, a
+     Modification is:
+          A. Any addition to or deletion from the contents of a file
+          containing Original Code or previous Modifications.
+
+          B. Any new file that contains any part of the Original Code or
+          previous Modifications.
+
+     1.10. "Original Code" means Source Code of computer software code
+     which is described in the Source Code notice required by Exhibit A as
+     Original Code, and which, at the time of its release under this
+     License is not already Covered Code governed by this License.
+
+     1.10.1. "Patent Claims" means any patent claim(s), now owned or
+     hereafter acquired, including without limitation,  method, process,
+     and apparatus claims, in any patent Licensable by grantor.
+
+     1.11. "Source Code" means the preferred form of the Covered Code for
+     making modifications to it, including all modules it contains, plus
+     any associated interface definition files, scripts used to control
+     compilation and installation of an Executable, or source code
+     differential comparisons against either the Original Code or another
+     well known, available Covered Code of the Contributor's choice. The
+     Source Code can be in a compressed or archival form, provided the
+     appropriate decompression or de-archiving software is widely available
+     for no charge.
+
+     1.12. "You" (or "Your")  means an individual or a legal entity
+     exercising rights under, and complying with all of the terms of, this
+     License or a future version of this License issued under Section 6.1.
+     For legal entities, "You" includes any entity which controls, is
+     controlled by, or is under common control with You. For purposes of
+     this definition, "control" means (a) the power, direct or indirect,
+     to cause the direction or management of such entity, whether by
+     contract or otherwise, or (b) ownership of more than fifty percent
+     (50%) of the outstanding shares or beneficial ownership of such
+     entity.
+
+2. Source Code License.
+
+     2.1. The Initial Developer Grant.
+     The Initial Developer hereby grants You a world-wide, royalty-free,
+     non-exclusive license, subject to third party intellectual property
+     claims:
+          (a)  under intellectual property rights (other than patent or
+          trademark) Licensable by Initial Developer to use, reproduce,
+          modify, display, perform, sublicense and distribute the Original
+          Code (or portions thereof) with or without Modifications, and/or
+          as part of a Larger Work; and
+
+          (b) under Patents Claims infringed by the making, using or
+          selling of Original Code, to make, have made, use, practice,
+          sell, and offer for sale, and/or otherwise dispose of the
+          Original Code (or portions thereof).
+
+          (c) the licenses granted in this Section 2.1(a) and (b) are
+          effective on the date Initial Developer first distributes
+          Original Code under the terms of this License.
+
+          (d) Notwithstanding Section 2.1(b) above, no patent license is
+          granted: 1) for code that You delete from the Original Code; 2)
+          separate from the Original Code;  or 3) for infringements caused
+          by: i) the modification of the Original Code or ii) the
+          combination of the Original Code with other software or devices.
+
+     2.2. Contributor Grant.
+     Subject to third party intellectual property claims, each Contributor
+     hereby grants You a world-wide, royalty-free, non-exclusive license
+
+          (a)  under intellectual property rights (other than patent or
+          trademark) Licensable by Contributor, to use, reproduce, modify,
+          display, perform, sublicense and distribute the Modifications
+          created by such Contributor (or portions thereof) either on an
+          unmodified basis, with other Modifications, as Covered Code
+          and/or as part of a Larger Work; and
+
+          (b) under Patent Claims infringed by the making, using, or
+          selling of  Modifications made by that Contributor either alone
+          and/or in combination with its Contributor Version (or portions
+          of such combination), to make, use, sell, offer for sale, have
+          made, and/or otherwise dispose of: 1) Modifications made by that
+          Contributor (or portions thereof); and 2) the combination of
+          Modifications made by that Contributor with its Contributor
+          Version (or portions of such combination).
+
+          (c) the licenses granted in Sections 2.2(a) and 2.2(b) are
+          effective on the date Contributor first makes Commercial Use of
+          the Covered Code.
+
+          (d)    Notwithstanding Section 2.2(b) above, no patent license is
+          granted: 1) for any code that Contributor has deleted from the
+          Contributor Version; 2)  separate from the Contributor Version;
+          3)  for infringements caused by: i) third party modifications of
+          Contributor Version or ii)  the combination of Modifications made
+          by that Contributor with other software  (except as part of the
+          Contributor Version) or other devices; or 4) under Patent Claims
+          infringed by Covered Code in the absence of Modifications made by
+          that Contributor.
+
+3. Distribution Obligations.
+
+     3.1. Application of License.
+     The Modifications which You create or to which You contribute are
+     governed by the terms of this License, including without limitation
+     Section 2.2. The Source Code version of Covered Code may be
+     distributed only under the terms of this License or a future version
+     of this License released under Section 6.1, and You must include a
+     copy of this License with every copy of the Source Code You
+     distribute. You may not offer or impose any terms on any Source Code
+     version that alters or restricts the applicable version of this
+     License or the recipients' rights hereunder. However, You may include
+     an additional document offering the additional rights described in
+     Section 3.5.
+
+     3.2. Availability of Source Code.
+     Any Modification which You create or to which You contribute must be
+     made available in Source Code form under the terms of this License
+     either on the same media as an Executable version or via an accepted
+     Electronic Distribution Mechanism to anyone to whom you made an
+     Executable version available; and if made available via Electronic
+     Distribution Mechanism, must remain available for at least twelve (12)
+     months after the date it initially became available, or at least six
+     (6) months after a subsequent version of that particular Modification
+     has been made available to such recipients. You are responsible for
+     ensuring that the Source Code version remains available even if the
+     Electronic Distribution Mechanism is maintained by a third party.
+
+     3.3. Description of Modifications.
+     You must cause all Covered Code to which You contribute to contain a
+     file documenting the changes You made to create that Covered Code and
+     the date of any change. You must include a prominent statement that
+     the Modification is derived, directly or indirectly, from Original
+     Code provided by the Initial Developer and including the name of the
+     Initial Developer in (a) the Source Code, and (b) in any notice in an
+     Executable version or related documentation in which You describe the
+     origin or ownership of the Covered Code.
+
+     3.4. Intellectual Property Matters
+          (a) Third Party Claims.
+          If Contributor has knowledge that a license under a third party's
+          intellectual property rights is required to exercise the rights
+          granted by such Contributor under Sections 2.1 or 2.2,
+          Contributor must include a text file with the Source Code
+          distribution titled "LEGAL" which describes the claim and the
+          party making the claim in sufficient detail that a recipient will
+          know whom to contact. If Contributor obtains such knowledge after
+          the Modification is made available as described in Section 3.2,
+          Contributor shall promptly modify the LEGAL file in all copies
+          Contributor makes available thereafter and shall take other steps
+          (such as notifying appropriate mailing lists or newsgroups)
+          reasonably calculated to inform those who received the Covered
+          Code that new knowledge has been obtained.
+
+          (b) Contributor APIs.
+          If Contributor's Modifications include an application programming
+          interface and Contributor has knowledge of patent licenses which
+          are reasonably necessary to implement that API, Contributor must
+          also include this information in the LEGAL file.
+
+               (c)    Representations.
+          Contributor represents that, except as disclosed pursuant to
+          Section 3.4(a) above, Contributor believes that Contributor's
+          Modifications are Contributor's original creation(s) and/or
+          Contributor has sufficient rights to grant the rights conveyed by
+          this License.
+
+     3.5. Required Notices.
+     You must duplicate the notice in Exhibit A in each file of the Source
+     Code.  If it is not possible to put such notice in a particular Source
+     Code file due to its structure, then You must include such notice in a
+     location (such as a relevant directory) where a user would be likely
+     to look for such a notice.  If You created one or more Modification(s)
+     You may add your name as a Contributor to the notice described in
+     Exhibit A.  You must also duplicate this License in any documentation
+     for the Source Code where You describe recipients' rights or ownership
+     rights relating to Covered Code.  You may choose to offer, and to
+     charge a fee for, warranty, support, indemnity or liability
+     obligations to one or more recipients of Covered Code. However, You
+     may do so only on Your own behalf, and not on behalf of the Initial
+     Developer or any Contributor. You must make it absolutely clear than
+     any such warranty, support, indemnity or liability obligation is
+     offered by You alone, and You hereby agree to indemnify the Initial
+     Developer and every Contributor for any liability incurred by the
+     Initial Developer or such Contributor as a result of warranty,
+     support, indemnity or liability terms You offer.
+
+     3.6. Distribution of Executable Versions.
+     You may distribute Covered Code in Executable form only if the
+     requirements of Section 3.1-3.5 have been met for that Covered Code,
+     and if You include a notice stating that the Source Code version of
+     the Covered Code is available under the terms of this License,
+     including a description of how and where You have fulfilled the
+     obligations of Section 3.2. The notice must be conspicuously included
+     in any notice in an Executable version, related documentation or
+     collateral in which You describe recipients' rights relating to the
+     Covered Code. You may distribute the Executable version of Covered
+     Code or ownership rights under a license of Your choice, which may
+     contain terms different from this License, provided that You are in
+     compliance with the terms of this License and that the license for the
+     Executable version does not attempt to limit or alter the recipient's
+     rights in the Source Code version from the rights set forth in this
+     License. If You distribute the Executable version under a different
+     license You must make it absolutely clear that any terms which differ
+     from this License are offered by You alone, not by the Initial
+     Developer or any Contributor. You hereby agree to indemnify the
+     Initial Developer and every Contributor for any liability incurred by
+     the Initial Developer or such Contributor as a result of any such
+     terms You offer.
+
+     3.7. Larger Works.
+     You may create a Larger Work by combining Covered Code with other code
+     not governed by the terms of this License and distribute the Larger
+     Work as a single product. In such a case, You must make sure the
+     requirements of this License are fulfilled for the Covered Code.
+
+4. Inability to Comply Due to Statute or Regulation.
+
+     If it is impossible for You to comply with any of the terms of this
+     License with respect to some or all of the Covered Code due to
+     statute, judicial order, or regulation then You must: (a) comply with
+     the terms of this License to the maximum extent possible; and (b)
+     describe the limitations and the code they affect. Such description
+     must be included in the LEGAL file described in Section 3.4 and must
+     be included with all distributions of the Source Code. Except to the
+     extent prohibited by statute or regulation, such description must be
+     sufficiently detailed for a recipient of ordinary skill to be able to
+     understand it.
+
+5. Application of this License.
+
+     This License applies to code to which the Initial Developer has
+     attached the notice in Exhibit A and to related Covered Code.
+
+6. Versions of the License.
+
+     6.1. New Versions.
+     Netscape Communications Corporation ("Netscape") may publish revised
+     and/or new versions of the License from time to time. Each version
+     will be given a distinguishing version number.
+
+     6.2. Effect of New Versions.
+     Once Covered Code has been published under a particular version of the
+     License, You may always continue to use it under the terms of that
+     version. You may also choose to use such Covered Code under the terms
+     of any subsequent version of the License published by Netscape. No one
+     other than Netscape has the right to modify the terms applicable to
+     Covered Code created under this License.
+
+     6.3. Derivative Works.
+     If You create or use a modified version of this License (which you may
+     only do in order to apply it to code which is not already Covered Code
+     governed by this License), You must (a) rename Your license so that
+     the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape",
+     "MPL", "NPL" or any confusingly similar phrase do not appear in your
+     license (except to note that your license differs from this License)
+     and (b) otherwise make it clear that Your version of the license
+     contains terms which differ from the Mozilla Public License and
+     Netscape Public License. (Filling in the name of the Initial
+     Developer, Original Code or Contributor in the notice described in
+     Exhibit A shall not of themselves be deemed to be modifications of
+     this License.)
+
+7. DISCLAIMER OF WARRANTY.
+
+     COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS,
+     WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+     WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF
+     DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
+     THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE
+     IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT,
+     YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE
+     COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER
+     OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
+     ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8. TERMINATION.
+
+     8.1.  This License and the rights granted hereunder will terminate
+     automatically if You fail to comply with terms herein and fail to cure
+     such breach within 30 days of becoming aware of the breach. All
+     sublicenses to the Covered Code which are properly granted shall
+     survive any termination of this License. Provisions which, by their
+     nature, must remain in effect beyond the termination of this License
+     shall survive.
+
+     8.2.  If You initiate litigation by asserting a patent infringement
+     claim (excluding declatory judgment actions) against Initial Developer
+     or a Contributor (the Initial Developer or Contributor against whom
+     You file such action is referred to as "Participant")  alleging that:
+
+     (a)  such Participant's Contributor Version directly or indirectly
+     infringes any patent, then any and all rights granted by such
+     Participant to You under Sections 2.1 and/or 2.2 of this License
+     shall, upon 60 days notice from Participant terminate prospectively,
+     unless if within 60 days after receipt of notice You either: (i)
+     agree in writing to pay Participant a mutually agreeable reasonable
+     royalty for Your past and future use of Modifications made by such
+     Participant, or (ii) withdraw Your litigation claim with respect to
+     the Contributor Version against such Participant.  If within 60 days
+     of notice, a reasonable royalty and payment arrangement are not
+     mutually agreed upon in writing by the parties or the litigation claim
+     is not withdrawn, the rights granted by Participant to You under
+     Sections 2.1 and/or 2.2 automatically terminate at the expiration of
+     the 60 day notice period specified above.
+
+     (b)  any software, hardware, or device, other than such Participant's
+     Contributor Version, directly or indirectly infringes any patent, then
+     any rights granted to You by such Participant under Sections 2.1(b)
+     and 2.2(b) are revoked effective as of the date You first made, used,
+     sold, distributed, or had made, Modifications made by that
+     Participant.
+
+     8.3.  If You assert a patent infringement claim against Participant
+     alleging that such Participant's Contributor Version directly or
+     indirectly infringes any patent where such claim is resolved (such as
+     by license or settlement) prior to the initiation of patent
+     infringement litigation, then the reasonable value of the licenses
+     granted by such Participant under Sections 2.1 or 2.2 shall be taken
+     into account in determining the amount or value of any payment or
+     license.
+
+     8.4.  In the event of termination under Sections 8.1 or 8.2 above,
+     all end user license agreements (excluding distributors and resellers)
+     which have been validly granted by You or any distributor hereunder
+     prior to termination shall survive termination.
+
+9. LIMITATION OF LIABILITY.
+
+     UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
+     (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL
+     DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE,
+     OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR
+     ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY
+     CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL,
+     WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
+     COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
+     INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
+     LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
+     RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
+     PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
+     EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO
+     THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+10. U.S. GOVERNMENT END USERS.
+
+     The Covered Code is a "commercial item," as that term is defined in
+     48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer
+     software" and "commercial computer software documentation," as such
+     terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48
+     C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995),
+     all U.S. Government End Users acquire Covered Code with only those
+     rights set forth herein.
+
+11. MISCELLANEOUS.
+
+     This License represents the complete agreement concerning subject
+     matter hereof. If any provision of this License is held to be
+     unenforceable, such provision shall be reformed only to the extent
+     necessary to make it enforceable. This License shall be governed by
+     California law provisions (except to the extent applicable law, if
+     any, provides otherwise), excluding its conflict-of-law provisions.
+     With respect to disputes in which at least one party is a citizen of,
+     or an entity chartered or registered to do business in the United
+     States of America, any litigation relating to this License shall be
+     subject to the jurisdiction of the Federal Courts of the Northern
+     District of California, with venue lying in Santa Clara County,
+     California, with the losing party responsible for costs, including
+     without limitation, court costs and reasonable attorneys' fees and
+     expenses. The application of the United Nations Convention on
+     Contracts for the International Sale of Goods is expressly excluded.
+     Any law or regulation which provides that the language of a contract
+     shall be construed against the drafter shall not apply to this
+     License.
+
+12. RESPONSIBILITY FOR CLAIMS.
+
+     As between Initial Developer and the Contributors, each party is
+     responsible for claims and damages arising, directly or indirectly,
+     out of its utilization of rights under this License and You agree to
+     work with Initial Developer and Contributors to distribute such
+     responsibility on an equitable basis. Nothing herein is intended or
+     shall be deemed to constitute any admission of liability.
+
+13. MULTIPLE-LICENSED CODE.
+
+     Initial Developer may designate portions of the Covered Code as
+     "Multiple-Licensed".  "Multiple-Licensed" means that the Initial
+     Developer permits you to utilize portions of the Covered Code under
+     Your choice of the NPL or the alternative licenses, if any, specified
+     by the Initial Developer in the file described in Exhibit A.
+
+EXHIBIT A -Mozilla Public License.
+
+     ``The contents of this file are subject to the Mozilla Public License
+     Version 1.1 (the "License"); you may not use this file except in
+     compliance with the License. You may obtain a copy of the License at
+     http://www.mozilla.org/MPL/
+
+     Software distributed under the License is distributed on an "AS IS"
+     basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+     License for the specific language governing rights and limitations
+     under the License.
+
+     The Original Code is ______________________________________.
+
+     The Initial Developer of the Original Code is ________________________.
+     Portions created by ______________________ are Copyright (C) ______
+     _______________________. All Rights Reserved.
+
+     Contributor(s): ______________________________________.
+
+     Alternatively, the contents of this file may be used under the terms
+     of the _____ license (the  "[___] License"), in which case the
+     provisions of [______] License are applicable instead of those
+     above.  If you wish to allow use of your version of this file only
+     under the terms of the [____] License and not to allow others to use
+     your version of this file under the MPL, indicate your decision by
+     deleting  the provisions above and replace  them with the notice and
+     other provisions required by the [___] License.  If you do not delete
+     the provisions above, a recipient may use your version of this file
+     under either the MPL or the [___] License."
+
+     [NOTE: The text of this Exhibit A may differ slightly from the text of
+     the notices in the Source Code files of the Original Code. You should
+     use the text of this Exhibit A rather than the text found in the
+     Original Code Source Code for Your Modifications.]
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/fcktemplates.xml
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/fcktemplates.xml	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/fcktemplates.xml	(revision 1481)
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This is the sample templates definitions file. It makes the "templates"
+ * command completely customizable.
+ *
+ * See FCKConfig.TemplatesXmlPath in the configuration file.
+-->
+<Templates imagesBasePath="fck_template/images/">
+	<Template title="Image and Title" image="template1.gif">
+		<Description>One main image with a title and text that surround the image.</Description>
+		<Html>
+			<![CDATA[
+				<img style="MARGIN-RIGHT: 10px" height="100" alt="" width="100" align="left"/>
+				<h3>Type the title here</h3>
+				Type the text here
+			]]>
+		</Html>
+	</Template>
+	<Template title="Strange Template" image="template2.gif">
+		<Description>A template that defines two colums, each one with a title, and some text.</Description>
+		<Html>
+			<![CDATA[
+				<table cellspacing="0" cellpadding="0" width="100%" border="0">
+					<tbody>
+						<tr>
+							<td width="50%">
+							<h3>Title 1</h3>
+							</td>
+							<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </td>
+							<td width="50%">
+							<h3>Title 2</h3>
+							</td>
+						</tr>
+						<tr>
+							<td>Text 1</td>
+							<td>&nbsp;</td>
+							<td>Text 2</td>
+						</tr>
+					</tbody>
+				</table>
+				More text goes here.
+			]]>
+		</Html>
+	</Template>
+	<Template title="Text and Table" image="template3.gif">
+		<Description>A title with some text and a table.</Description>
+		<Html>
+			<![CDATA[
+				<table align="left" width="80%" border="0" cellspacing="0" cellpadding="0"><tr><td>
+					<h3>Title goes here</h3>
+					<p>
+					<table style="FLOAT: right" cellspacing="0" cellpadding="0" width="150" border="1">
+						<tbody>
+							<tr>
+								<td align="center" colspan="3"><strong>Table title</strong></td>
+							</tr>
+							<tr>
+								<td>&nbsp;</td>
+								<td>&nbsp;</td>
+								<td>&nbsp;</td>
+							</tr>
+							<tr>
+								<td>&nbsp;</td>
+								<td>&nbsp;</td>
+								<td>&nbsp;</td>
+							</tr>
+							<tr>
+								<td>&nbsp;</td>
+								<td>&nbsp;</td>
+								<td>&nbsp;</td>
+							</tr>
+							<tr>
+								<td>&nbsp;</td>
+								<td>&nbsp;</td>
+								<td>&nbsp;</td>
+							</tr>
+						</tbody>
+					</table>
+					Type the text here</p>
+				</td></tr></table>
+			]]>
+		</Html>
+	</Template>
+</Templates>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/fckstyles.xml
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/fckstyles.xml	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/fckstyles.xml	(revision 1481)
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This is the sample style definitions file. It makes the styles combo
+ * completely customizable.
+ *
+ * See FCKConfig.StylesXmlPath in the configuration file.
+-->
+<Styles>
+
+	<!-- Block Styles -->
+
+	<!--
+	# These styles are already available in the "Format" combo, so they are not
+	# needed here by default.
+
+	<Style name="Heading 1" element="h1" />
+	<Style name="Heading 2" element="h2" />
+	<Style name="Heading 3" element="h3" />
+	<Style name="Heading 4" element="h4" />
+	<Style name="Heading 5" element="h5" />
+	<Style name="Heading 6" element="h6" />
+	<Style name="Paragraph" element="p" />
+	<Style name="Document Block" element="div" />
+	<Style name="Preformatted Text" element="pre" />
+	<Style name="Address" element="address" />
+	-->
+
+	<!-- Inline Styles -->
+
+	<!--
+	# These are core styles available as toolbar buttons.
+
+	<Style name="Bold" element="b">
+		<Override element="strong" />
+	</Style>
+	<Style name="Italic" element="i">
+		<Override element="em" />
+	</Style>
+	<Style name="Underline" element="u" />
+	<Style name="Strikethrough" element="strike" />
+	<Style name="Subscript" element="sub" />
+	<Style name="Superscript" element="sup" />
+	-->
+
+	<Style name="Marker: Yellow" element="span">
+		<Style name="background-color" value="Yellow" />
+	</Style>
+	<Style name="Marker: Green" element="span">
+		<Style name="background-color" value="Lime" />
+	</Style>
+
+	<Style name="Big" element="big" />
+	<Style name="Small" element="small" />
+	<Style name="Typewriter" element="tt" />
+
+	<Style name="Computer Code" element="code" />
+	<Style name="Keyboard Phrase" element="kbd" />
+	<Style name="Sample Text" element="samp" />
+	<Style name="Variable" element="var" />
+
+	<Style name="Deleted Text" element="del" />
+	<Style name="Inserted Text" element="ins" />
+
+	<Style name="Cited Work" element="cite" />
+	<Style name="Inline Quotation" element="q" />
+
+	<Style name="Language: RTL" element="span">
+		<Attribute name="dir" value="rtl" />
+	</Style>
+	<Style name="Language: LTR" element="span">
+		<Attribute name="dir" value="ltr" />
+	</Style>
+	<Style name="Language: RTL Strong" element="bdo">
+		<Attribute name="dir" value="rtl" />
+	</Style>
+	<Style name="Language: LTR Strong" element="bdo">
+		<Attribute name="dir" value="ltr" />
+	</Style>
+
+	<!-- Object Styles -->
+
+	<Style name="Image on Left" element="img">
+		<Attribute name="style" value="padding: 5px; margin-right: 5px" />
+		<Attribute name="border" value="2" />
+		<Attribute name="align" value="left" />
+	</Style>
+	<Style name="Image on Right" element="img">
+		<Attribute name="style" value="padding: 5px; margin-left: 5px" />
+		<Attribute name="border" value="2" />
+		<Attribute name="align" value="right" />
+	</Style>
+</Styles>
Index: tags/2.8.2/wb/modules/fckeditor/fckeditor/fckeditor_php4.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/fckeditor/fckeditor_php4.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/fckeditor/fckeditor_php4.php	(revision 1481)
@@ -0,0 +1,262 @@
+<?php
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This is the integration file for PHP 4.
+ *
+ * It defines the FCKeditor class that can be used to create editor
+ * instances in PHP pages on server side.
+ */
+
+/**
+ * Check if browser is compatible with FCKeditor.
+ * Return true if is compatible.
+ *
+ * @return boolean
+ */
+function FCKeditor_IsCompatibleBrowser()
+{
+	if ( isset( $_SERVER ) ) {
+		$sAgent = $_SERVER['HTTP_USER_AGENT'] ;
+	}
+	else {
+		global $HTTP_SERVER_VARS ;
+		if ( isset( $HTTP_SERVER_VARS ) ) {
+			$sAgent = $HTTP_SERVER_VARS['HTTP_USER_AGENT'] ;
+		}
+		else {
+			global $HTTP_USER_AGENT ;
+			$sAgent = $HTTP_USER_AGENT ;
+		}
+	}
+
+	if ( strpos($sAgent, 'MSIE') !== false && strpos($sAgent, 'mac') === false && strpos($sAgent, 'Opera') === false )
+	{
+		$iVersion = (float)substr($sAgent, strpos($sAgent, 'MSIE') + 5, 3) ;
+		return ($iVersion >= 5.5) ;
+	}
+	else if ( strpos($sAgent, 'Gecko/') !== false )
+	{
+		$iVersion = (int)substr($sAgent, strpos($sAgent, 'Gecko/') + 6, 8) ;
+		return ($iVersion >= 20030210) ;
+	}
+	else if ( strpos($sAgent, 'Opera/') !== false )
+	{
+		$fVersion = (float)substr($sAgent, strpos($sAgent, 'Opera/') + 6, 4) ;
+		return ($fVersion >= 9.5) ;
+	}
+	else if ( preg_match( "|AppleWebKit/(\d+)|i", $sAgent, $matches ) )
+	{
+		$iVersion = $matches[1] ;
+		return ( $matches[1] >= 522 ) ;
+	}
+	else
+		return false ;
+}
+
+class FCKeditor
+{
+	/**
+	 * Name of the FCKeditor instance.
+	 *
+	 * @access protected
+	 * @var string
+	 */
+	var $InstanceName ;
+	/**
+	 * Path to FCKeditor relative to the document root.
+	 *
+	 * @var string
+	 */
+	var $BasePath ;
+	/**
+	 * Width of the FCKeditor.
+	 * Examples: 100%, 600
+	 *
+	 * @var mixed
+	 */
+	var $Width ;
+	/**
+	 * Height of the FCKeditor.
+	 * Examples: 400, 50%
+	 *
+	 * @var mixed
+	 */
+	var $Height ;
+	/**
+	 * Name of the toolbar to load.
+	 *
+	 * @var string
+	 */
+	var $ToolbarSet ;
+	/**
+	 * Initial value.
+	 *
+	 * @var string
+	 */
+	var $Value ;
+	/**
+	 * This is where additional configuration can be passed.
+	 * Example:
+	 * $oFCKeditor->Config['EnterMode'] = 'br';
+	 *
+	 * @var array
+	 */
+	var $Config ;
+
+	/**
+	 * Main Constructor.
+	 * Refer to the _samples/php directory for examples.
+	 *
+	 * @param string $instanceName
+	 */
+	function FCKeditor( $instanceName )
+	{
+		$this->InstanceName	= $instanceName ;
+		$this->BasePath		= '/fckeditor/' ;
+		$this->Width		= '100%' ;
+		$this->Height		= '200' ;
+		$this->ToolbarSet	= 'Default' ;
+		$this->Value		= '' ;
+
+		$this->Config		= array() ;
+	}
+
+	/**
+	 * Display FCKeditor.
+	 *
+	 */
+	function Create()
+	{
+		echo $this->CreateHtml() ;
+	}
+
+	/**
+	 * Return the HTML code required to run FCKeditor.
+	 *
+	 * @return string
+	 */
+	function CreateHtml()
+	{
+		$HtmlValue = htmlspecialchars( $this->Value ) ;
+
+		$Html = '' ;
+
+		if ( !isset( $_GET ) ) {
+			global $HTTP_GET_VARS ;
+			$_GET = $HTTP_GET_VARS ;
+		}
+
+		if ( $this->IsCompatible() )
+		{
+			if ( isset( $_GET['fcksource'] ) && $_GET['fcksource'] == "true" )
+				$File = 'fckeditor.original.html' ;
+			else
+				$File = 'fckeditor.html' ;
+
+			$Link = "{$this->BasePath}editor/{$File}?InstanceName={$this->InstanceName}" ;
+
+			if ( $this->ToolbarSet != '' )
+				$Link .= "&amp;Toolbar={$this->ToolbarSet}" ;
+
+			// Render the linked hidden field.
+			$Html .= "<input type=\"hidden\" id=\"{$this->InstanceName}\" name=\"{$this->InstanceName}\" value=\"{$HtmlValue}\" style=\"display:none\" />" ;
+
+			// Render the configurations hidden field.
+			$Html .= "<input type=\"hidden\" id=\"{$this->InstanceName}___Config\" value=\"" . $this->GetConfigFieldString() . "\" style=\"display:none\" />" ;
+
+			// Render the editor IFRAME.
+			$Html .= "<iframe id=\"{$this->InstanceName}___Frame\" src=\"{$Link}\" width=\"{$this->Width}\" height=\"{$this->Height}\" frameborder=\"0\" scrolling=\"no\"></iframe>" ;
+		}
+		else
+		{
+			if ( strpos( $this->Width, '%' ) === false )
+				$WidthCSS = $this->Width . 'px' ;
+			else
+				$WidthCSS = $this->Width ;
+
+			if ( strpos( $this->Height, '%' ) === false )
+				$HeightCSS = $this->Height . 'px' ;
+			else
+				$HeightCSS = $this->Height ;
+
+			$Html .= "<textarea name=\"{$this->InstanceName}\" rows=\"4\" cols=\"40\" style=\"width: {$WidthCSS}; height: {$HeightCSS}\">{$HtmlValue}</textarea>" ;
+		}
+
+		return $Html ;
+	}
+
+	/**
+	 * Returns true if browser is compatible with FCKeditor.
+	 *
+	 * @return boolean
+	 */
+	function IsCompatible()
+	{
+		return FCKeditor_IsCompatibleBrowser() ;
+	}
+
+	/**
+	 * Get settings from Config array as a single string.
+	 *
+	 * @access protected
+	 * @return string
+	 */
+	function GetConfigFieldString()
+	{
+		$sParams = '' ;
+		$bFirst = true ;
+
+		foreach ( $this->Config as $sKey => $sValue )
+		{
+			if ( $bFirst == false )
+				$sParams .= '&amp;' ;
+			else
+				$bFirst = false ;
+
+			if ( $sValue === true )
+				$sParams .= $this->EncodeConfig( $sKey ) . '=true' ;
+			else if ( $sValue === false )
+				$sParams .= $this->EncodeConfig( $sKey ) . '=false' ;
+			else
+				$sParams .= $this->EncodeConfig( $sKey ) . '=' . $this->EncodeConfig( $sValue ) ;
+		}
+
+		return $sParams ;
+	}
+
+	/**
+	 * Encode characters that may break the configuration string
+	 * generated by GetConfigFieldString().
+	 *
+	 * @access protected
+	 * @param string $valueToEncode
+	 * @return string
+	 */
+	function EncodeConfig( $valueToEncode )
+	{
+		$chars = array(
+			'&' => '%26',
+			'=' => '%3D',
+			'"' => '%22' ) ;
+
+		return strtr( $valueToEncode,  $chars ) ;
+	}
+}
Index: tags/2.8.2/wb/modules/fckeditor/install.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/install.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/install.php	(revision 1481)
@@ -0,0 +1,19 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         wysiwyg
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version      	$Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/install.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../index.php');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/wb_config/wb_fcktemplates.xml
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/wb_config/wb_fcktemplates.xml	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/wb_config/wb_fcktemplates.xml	(revision 1481)
@@ -0,0 +1,229 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This is the sample templates definitions file. It makes the "templates"
+ * command completely customizable.
+ *
+ * See FCKConfig.TemplatesXmlPath in the configuration file.
+-->
+<Templates imagesBasePath="fck_template/images/">
+	<Template title="Rechtliche Hinweise" image="template1.gif">
+		<Description>Rechtliche Hinweise Links</Description>
+		<Html>
+			<![CDATA[
+                <div class="recht">
+                    <p><b>Rechtliche Hinweise</b><br />
+                    1. Externe Links ( <a class="next" onclick="window.open(this.href,'','resizable=yes,location=no,menubar=no,scrollbars=yes,status=yes,toolbar=no,fullscreen=no,dependent=yes,width=600,height=300,left=150,top=150,status'); return false" href="http://www.disclaimer.de/disclaimer.htm"><font color="#810081">Bitte Disclaimer-Haftungsausschluss lesen</font></a> ) <br />
+                    Die Inhalte externer Links werden nicht gepr&uuml;ft. Sie unterliegen der Haftung der jeweiligen Anbieter.<br />
+                    &nbsp;</p>
+                </div>
+            ]]>
+		</Html>
+	</Template>
+	<Template title="Image and Title" image="template1.gif">
+		<Description>One main image with a title and text that surround the image.</Description>
+		<Html>
+			<![CDATA[
+				<img style="MARGIN-RIGHT: 10px" height="100" alt="" width="100" align="left"/>
+				<h3>Type the title here</h3>
+				<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tatio</p>
+			]]>
+		</Html>
+	</Template>
+	<Template title="Image and Title" image="yaml33_66.gif">
+		<Description>Subtemplate: 2 Spalten mit 33/66 Teilung nur YAML Framework</Description>
+		<Html>
+			<![CDATA[
+                <!-- Subtemplate: 2 Spalten mit 33/66 Teilung -->
+                <div class="subcolumns">
+                    <div class="c33l">
+                        <div class="subcl">
+                        <!-- Inhalt linker Block -->
+                            <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in </p>
+
+                        </div>
+                    </div>
+
+                    <div class="c66r">
+                        <div class="subcr">
+                            <!-- Inhalt rechter Block -->
+                            <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in </p>
+
+                        </div>
+                    </div>
+                </div>
+            ]]>
+		</Html>
+	</Template>
+	<Template title="Image and Title" image="yaml25_75.gif">
+		<Description>Subtemplate: 2 Spalten mit 25/75 Teilung nur YAML Framework</Description>
+		<Html>
+			<![CDATA[
+              <!-- Subtemplate: 2 Spalten mit 25/75 Teilung -->
+              <div class="subcolumns">
+                <div class="c25l">
+                  <div class="subcl">
+                    <!-- Inhalt linker Block -->
+                    <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in </p>
+                  </div>
+                </div>
+
+                <div class="c75r">
+                  <div class="subcr">
+                    <!-- Inhalt rechter Block -->
+                    <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in </p>
+                  </div>
+                </div>
+              </div>
+            ]]>
+		</Html>
+	</Template>
+    <Template title="Image and Title" image="yaml50_50.gif">
+		<Description>Subtemplate: 2 Spalten mit 50/50 Teilung nur YAML Framework</Description>
+		<Html>
+			<![CDATA[
+                <!-- Subtemplate: 2 Spalten mit 50/50 Teilung -->
+                <div class="subcolumns">
+                    <div class="c50l">
+                        <div class="subcl">
+                            <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in </p>
+                        </div>
+                    </div>
+                    <div class="c50r">
+                        <div class="subcr">
+                            <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in </p>
+                        </div>
+                    </div>
+                </div>
+            ]]>
+		</Html>
+	</Template>
+	<Template title="Image and Title" image="yaml33_33_33.gif">
+		<Description>Subtemplate: 3 Spalten mit 33/33/33 Teilung nur YAML Framework</Description>
+		<Html>
+			<![CDATA[
+                <!-- Subtemplate: 3 Spalten mit 33/33/33 Teilung -->
+                <div class="subcolumns">
+                    <div class="c33l">
+                        <div class="subcl">
+                            <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in </p>
+                        </div>
+                    </div>
+                    <div class="c33l">
+                        <div class="subcl">
+                            <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in </p>
+                        </div>
+                    </div>
+                    <div class="c33r">
+                        <div class="subcr">
+                            <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in </p>
+                        </div>
+                    </div>
+                </div>
+			]]>
+		</Html>
+	</Template>
+	<Template title="Image and Title" image="yaml66_33.gif">
+		<Description>Subtemplate: 2 Spalten mit 66/33 Teilung nur YAML Framework</Description>
+		<Html>
+			<![CDATA[
+                <!-- Subtemplate: 2 Spalten mit 66/33 Teilung -->
+                <div class="subcolumns">
+                    <div class="c66l">
+                        <div class="subcl">
+                            <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in </p>
+                        </div>
+                    </div>
+                    <div class="c33r">
+                        <div class="subcr">
+                            <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in </p>
+                        </div>
+                    </div>
+                </div>
+		]]>
+		</Html>
+	</Template>
+	<Template title="Strange Template" image="template2.gif">
+		<Description>A template that defines two colums, each one with a title, and some text.</Description>
+		<Html>
+			<![CDATA[
+				<table cellspacing="0" cellpadding="0" width="100%" border="0">
+					<tbody>
+						<tr>
+							<td width="50%">
+							<h3>Title 1</h3>
+							</td>
+							<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </td>
+							<td width="50%">
+							<h3>Title 2</h3>
+							</td>
+						</tr>
+						<tr>
+							<td>Text 1</td>
+							<td>&nbsp;</td>
+							<td>Text 2</td>
+						</tr>
+					</tbody>
+				</table>
+				More text goes here.
+			]]>
+		</Html>
+	</Template>
+	<Template title="Text and Table" image="template3.gif">
+		<Description>A title with some text and a table.</Description>
+		<Html>
+			<![CDATA[
+				<table align="left" width="80%" border="0" cellspacing="0" cellpadding="0"><tr><td>
+					<h3>Title goes here</h3>
+					<p>
+					<table style="FLOAT: right" cellspacing="0" cellpadding="0" width="150" border="1">
+						<tbody>
+							<tr>
+								<td align="center" colspan="3"><strong>Table title</strong></td>
+							</tr>
+							<tr>
+								<td>&nbsp;</td>
+								<td>&nbsp;</td>
+								<td>&nbsp;</td>
+							</tr>
+							<tr>
+								<td>&nbsp;</td>
+								<td>&nbsp;</td>
+								<td>&nbsp;</td>
+							</tr>
+							<tr>
+								<td>&nbsp;</td>
+								<td>&nbsp;</td>
+								<td>&nbsp;</td>
+							</tr>
+							<tr>
+								<td>&nbsp;</td>
+								<td>&nbsp;</td>
+								<td>&nbsp;</td>
+							</tr>
+						</tbody>
+					</table>
+					Type the text here</p>
+				</td></tr></table>
+			]]>
+		</Html>
+	</Template>
+</Templates>

Property changes on: tags/2.8.2/wb/modules/fckeditor/wb_config/wb_fcktemplates.xml
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/wb_config/wb_fckconfig.js
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/wb_config/wb_fckconfig.js	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/wb_config/wb_fckconfig.js	(revision 1481)
@@ -0,0 +1,215 @@
+/*
+ #########################################################################################
+ # Configure FCKEditor according your needs
+ # ---------------------------------------------------------------------------------------
+ #  Purpose of this file is to define all settings of FCKEditor without changing the FCK
+ #  Javascript core file fckconfig.js. Doing so allows to upgrade to a newer version of
+ #  FCKEditor while keeping all your customisations (styles, toolbars...)
+ #  
+ #  Author: Christian Sommer, (doc)
+ #
+ #  Follow this link for more information:
+ #  http://wiki.fckeditor.net/Developer%27s_Guide/Configuration/Configurations_Settings
+ #  
+ #########################################################################################
+*/
+
+// required settings to make FCKEditor work with Website Baker (do not change them)
+    FCKConfig.Plugins.Add( 'WBModules', 'en,nl,de' ) ;
+    FCKConfig.Plugins.Add( 'WBDroplets', 'en,nl,de' ) ;
+//  FCKConfig.Plugins.Add( 'youtube', 'en,ja,de' );
+    FCKConfig.Plugins.Add( 'swfobject', 'en,es') ;
+//  FCKConfig.Plugins.Add( 'flvPlayer','en,de') ;
+
+// ----------------------
+// Configure Syntax highlighter for 2.0.x
+FCKConfig.Plugins.Add('syntaxhighlight2', 'en');
+// default language options:
+// c++,csharp,css,delphi,java,jscript,php,python,ruby,sql,vb,xhtml
+FCKConfig.SyntaxHighlight2LangDefault = 'php';
+//
+// ----------------------
+
+// FCKConfig.Plugins.Add( 'autogrow' ) ;
+// FCKConfig.Plugins.Add( 'dragresizetable' );
+FCKConfig.AutoGrowMax = 600 ;
+
+// FCKConfig.ProtectedSource.Add( /<%[\s\S]*?%>/g ) ;	// ASP style server side code <%...%>
+// FCKConfig.ProtectedSource.Add( /<\?[\s\S]*?\?>/g ) ;	// PHP style server side code
+// FCKConfig.ProtectedSource.Add( /(<asp:[^\>]+>[\s|\S]*?<\/asp:[^\>]+>)|(<asp:[^\>]+\/>)/gi ) ;	// ASP.Net style tags <asp:control>
+
+// #########################################################################################
+// # FCKEditor: General settings
+// # ---------------------------------------------------------------------------------------
+// #  Here you can modify all the options available in the /fckeditor/editor/fckconfig.js
+// #  Settings defined here will overrule the ones defined in fckconfig.js without touching
+// #  the Javascript core files of FCK.
+// #
+// #  If you are missing some options, have a look into fckconfig.js and copy the required
+// #  code lines here
+// #########################################################################################
+
+// set doctype as used in your template to prevent code mix up (example XHTML 1.0 Transitional)
+   FCKConfig.DocType = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">' ;
+
+// define FCK default language
+   FCKConfig.AutoDetectLanguage		= true ;	// could be turned off, if all users speek same language
+   FCKConfig.DefaultLanguage		= 'en' ;	// could be switched to de for German
+   FCKConfig.ContentLangDirection	= 'ltr' ;	// left to right
+
+// specify HTML tag used for ENTER and SHIFT+ENTER key
+   FCKConfig.EnterMode 			= 'p' ;		// allowed tags: p | div | br
+   FCKConfig.ShiftEnterMode 	= 'br' ;	// allowed tags: p | div | br
+   FCKConfig.StylesXmlPath		= FCKConfig.EditorPath + 'fckstyles.xml' ;
+ 
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+// Note: If you miss some options, have a look into fckconfig.js and add the lines below
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+
+// #########################################################################################
+// # FCKEditor: Customised FCKEditor tool bar
+// # ---------------------------------------------------------------------------------------
+// #  Here you can modify the FCKEditor tool bar to your needs.
+// #  A collection of example layouts are provided below.
+// #
+// #  Note: Per default the tool bar named: "WBToolbar" will be used within FCKEditor.
+// #########################################################################################
+
+// ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+//  Default toolbar set used by Website Baker
+// ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+   FCKConfig.ToolbarSets["Original"] = [
+	['Source','Save'],
+	['Cut','Copy','Paste','PasteText','PasteWord','-','SpellCheck'],
+	['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
+	['Smiley','SpecialChar'],
+	['FitWindow','-','About'],
+	'/',
+	['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],
+	['OrderedList','UnorderedList','-','Outdent','Indent'],
+	['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],
+	['Link','Unlink','Anchor'],
+	['Image','Flash','Table','Rule'],
+	'/',
+	['Style','FontFormat','FontName','FontSize'],
+	['TextColor','BGColor']
+] ;
+
+// ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+//  original FCKEditor toolbar
+// ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+   FCKConfig.ToolbarSets["WBToolbar"] = [
+	['Source','DocProps','-','NewPage','Preview','-','Templates'],
+	['Cut','Copy','Paste','PasteText','PasteWord','-','Print','SpellCheck'],
+    ['FitWindow','ShowBlocks', '-', /* 'SyntaxHighLight2', */ /* 'flvPlayer', */ '-','About'],
+	'/',
+	['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField'],
+    ['TextColor','BGColor'],
+	['WBDroplets','WBModules','Link','Unlink','Anchor'],
+	['Image','Flash','Table','Rule','Smiley','SpecialChar','PageBreak'],
+	'/',
+	['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],
+	['OrderedList','UnorderedList','-','Outdent','Indent','Blockquote'],
+	['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],
+	['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
+	'/',
+	['Style','FontFormat','FontName','FontSize']  // No comma for the last row.
+
+] ;
+
+
+// ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+//  simple toolbar (only basic functions)
+// ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+   FCKConfig.ToolbarSets["Simple"] = [
+	['Preview',"Print"],
+	['Cut','Copy','Paste','PasteText'],
+	['Undo','Redo'],
+	['Bold','Italic','Underline'],
+	['OrderedList','UnorderedList','-','Table'],
+	['WBModules','Link','Unlink','Anchor'],
+	['RemoveFormat','Image','-','Source'],
+	'/',
+	['FontFormat','Style']
+] ;
+
+
+// #########################################################################################
+// # FCKEditor: CSS / XML / TEMPLATES
+// # ---------------------------------------------------------------------------------------
+// #  Here you can tweak the layout of the FCKEditor according your needs.
+// #  Specify HTML elements shown in the dropdown menu and the XML file which defines your
+// #  CSS styles available in the FCKEditor style menu.
+// #########################################################################################
+
+// define HTML elements which appear in the FCK "Format" toolbar menu
+   FCKConfig.FontFormats	= 'p;div;pre;address;h1;h2;h3;h4;h5;h6' ;
+// define font colors which can be set by the user (HEXADECIMAL)
+   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' ;
+// define fonts style and sizes which can be set by the user
+   FCKConfig.FontNames	= 'Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana;Wingdings' ;
+//   FCKConfig.FontSizes	= 'smaller;larger;xx-small;x-small;small;medium;large;x-large;xx-large' ;
+   FCKConfig.FontSizes	= '8px;10px;12px;14px;16px;18px;20px;24px;28px;32px;36px;48px;60px;72px' ;
+// make the offic2003 skin the default skin
+   FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/office2003/'
+   FCKConfig.ProtectedSource.Add( /<\?[\s\S]*?\?>/g ) ;
+   FCKConfig.TemplateReplaceAll = false;
+   FCKConfig.TemplateReplaceCheckbox = true ;
+   FCKConfig['StylesXmlPath'] = FCKConfig.BasePath+'/wb_config/wb_fckstyles.xml';
+
+/*
+   -----------------------------------------------------------------------------------------
+   Note: GENERAL HINTS ON CSS FORMATS AND XML FILES
+   -----------------------------------------------------------------------------------------
+   Easiest way to display all CSS definitions used in your template is to make a copy of your
+   CSS definition file and place it as "editor.css" in your template folder.
+   All styles will automatically be updated and used with the FCK editor.
+
+   If you don´t want to put custom "editor.css" files into your templates folder, you can
+   try the other approach introduced below:
+   
+   copy all CSS definitions of your template into file: /my_config/my_fckeditorarea.css
+    o Default HTML elements like (h1, p) will appear in the format you have specified via CSS.
+    o additional HTML elements like (.title) will appear in the "Styles" toolbar menu of FCK
+   
+   Via file (/my_config/my_fckstyles.xml) you can define additional styles for default
+   elements. Use this option, if you want to display conditional styles only if a special
+   HTML element is selected (e.g. after selecting an <img> element, the style menu will
+   provide additional elements like align=left, align=right, which don´t show up for other
+   elements like <p>
+
+   CSS definitions declared in the XML file are realised as INLINE styles. If you want avoid
+   INLINE elements, but the CSS definitions into the /my_config_my_fckeditorarea.css and
+   references only the class or ID in the XML file.
+
+   Use /my_config/my_template.xls to define custom Editor templates (e.g. 2 or 3 column).
+   This option is usefull if you have several side layouts (e.g. Level 1, Level 2...)
+*/
+
+
+// #########################################################################################
+// # FCK Editor: PLUGINS (Link, Image, Flash)
+// # ---------------------------------------------------------------------------------------
+// #  Plugin Link:   create internal or external links and URL
+// #  Plugin Image:  insert images to your WYSIWYG text area form the WB media directory
+// #  Plugin Flash:  insert flash elements including upload Option
+// #  
+// #  Note: 
+// #  You need to integrate the plugins into the menu bar so you can use them
+// #    FCKConfig.ToolbarSets["MyToolbar"] = [
+// #      ['Image',Link','Flash'], ...
+// #    ];
+// #########################################################################################
+
+// configure the image plugin
+   FCKConfig.ImageUpload = false ;		// display/hides image upload tab (allow/disable users to upload images from FCK)
+   FCKConfig.ImageBrowser = true ;		// enables/disables the file browser to search for uploaded files in /media folder
+
+// configure the link plugin
+   FCKConfig.LinkUpload = false ;		// display/hides link upload tab (allow/disable users to upload files from FCK)
+   FCKConfig.LinkBrowser = true ;		// enables/disables the file browser to search for uploaded files in /media folder
+
+// configure the flash plugin
+   FCKConfig.FlashUpload = false ;		// display/hides upload tab (allow/disable users to upload flash movies from FCK)
+   FCKConfig.FlashBrowser = true;		// enables/disables the file browser to search for uploaded files in /media folder
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/wb_config/wb_fckconfig.js
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/wb_config/index.php
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/wb_config/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/wb_config/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/wb_config/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/wb_config/wb_fckeditorarea.css
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/wb_config/wb_fckeditorarea.css	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/wb_config/wb_fckeditorarea.css	(revision 1481)
@@ -0,0 +1,36 @@
+/*
+ #########################################################################################
+ # Configure FCKEditor according your needs
+ # ---------------------------------------------------------------------------------------
+ #  Copy all CSS definitions of your Website Baker template here enables FCKEditor to
+ #  display the contents in the textarea field as shown in the frontend of Website Baker
+ #  
+ #  Note: The "body" styles should match your editor web site, mainly regarding
+ #  background color and font family and size.
+ #  
+ #########################################################################################
+*/
+
+body {
+  font-family:Verdana,Helvetica, Arial, sans-serif;
+  font-size:small;
+  background-color: #FFF;
+  padding: 5px 5px 5px 5px;
+  margin: 0px;
+}
+
+a[href] {
+  color: #0000FF !important;	/* For Firefox... mark as important, otherwise it becomes black */
+}
+
+/* 
+  Just uncomment the following block if you want to avoid spaces between 
+  paragraphs. Remember to apply the same style in your output front end page.
+*/
+
+/*
+p, ul, li {
+  margin-top: 0px;
+  margin-bottom: 0px;
+}
+*/
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/fckeditor/wb_config/wb_fckeditorarea.css
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/fckeditor/wb_config/wb_fckstyles.xml
===================================================================
--- tags/2.8.2/wb/modules/fckeditor/wb_config/wb_fckstyles.xml	(nonexistent)
+++ tags/2.8.2/wb/modules/fckeditor/wb_config/wb_fckstyles.xml	(revision 1481)
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2008 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This is the sample style definitions file. It makes the styles combo
+ * completely customizable.
+ *
+ * See FCKConfig.StylesXmlPath in the configuration file.
+-->
+<Styles>
+
+	<!-- Block Styles -->
+
+	<!--
+	# These styles are already available in the "Format" combo, so they are not
+	# needed here by default.
+
+	<Style name="Heading 1" element="h1" />
+	<Style name="Heading 2" element="h2" />
+	<Style name="Heading 3" element="h3" />
+	<Style name="Heading 4" element="h4" />
+	<Style name="Heading 5" element="h5" />
+	<Style name="Heading 6" element="h6" />
+	<Style name="Paragraph" element="p" />
+	<Style name="Document Block" element="div" />
+	<Style name="Preformatted Text" element="pre" />
+	<Style name="Address" element="address" />
+	-->
+
+	<!-- Inline Styles -->
+
+	<!--
+	# These are core styles available as toolbar buttons.
+
+	<Style name="Bold" element="b">
+		<Override element="strong" />
+	</Style>
+	<Style name="Italic" element="i">
+		<Override element="em" />
+	</Style>
+	<Style name="Underline" element="u" />
+	<Style name="Strikethrough" element="strike" />
+	<Style name="Subscript" element="sub" />
+	<Style name="Superscript" element="sup" />
+	-->
+
+	<Style name="Marker: Yellow" element="span">
+		<Style name="background-color" value="Yellow" />
+	</Style>
+	<Style name="Marker: Green" element="span">
+		<Style name="background-color" value="Lime" />
+	</Style>
+
+	<Style name="Big" element="big" />
+	<Style name="Small" element="small" />
+	<Style name="Typewriter" element="tt" />
+
+	<Style name="Computer Code" element="code" />
+	<Style name="Keyboard Phrase" element="kbd" />
+	<Style name="Sample Text" element="samp" />
+	<Style name="Variable" element="var" />
+
+	<Style name="Deleted Text" element="del" />
+	<Style name="Inserted Text" element="ins" />
+
+	<Style name="Cited Work" element="cite" />
+	<Style name="Inline Quotation" element="q" />
+
+	<Style name="Language: RTL" element="span">
+		<Attribute name="dir" value="rtl" />
+	</Style>
+	<Style name="Language: LTR" element="span">
+		<Attribute name="dir" value="ltr" />
+	</Style>
+	<Style name="Language: RTL Strong" element="bdo">
+		<Attribute name="dir" value="rtl" />
+	</Style>
+	<Style name="Language: LTR Strong" element="bdo">
+		<Attribute name="dir" value="ltr" />
+	</Style>
+
+	<!-- Object Styles -->
+
+	<Style name="Image on Left" element="img">
+		<Attribute name="style" value="padding: 5px; margin-right: 5px" />
+		<Attribute name="border" value="2" />
+		<Attribute name="align" value="left" />
+	</Style>
+	<Style name="Image on Right" element="img">
+		<Attribute name="style" value="padding: 5px; margin-left: 5px" />
+		<Attribute name="border" value="2" />
+		<Attribute name="align" value="right" />
+	</Style>
+</Styles>

Property changes on: tags/2.8.2/wb/modules/fckeditor/wb_config/wb_fckstyles.xml
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/info.php
===================================================================
--- tags/2.8.2/wb/modules/news/info.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/info.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+$module_directory = 'news';
+$module_name = 'News v3.5';
+$module_function = 'page';
+$module_version = '3.5';
+$module_platform = '2.8.x';
+$module_author = 'Ryan Djurovich, Rob Smith';
+$module_license = 'GNU General Public License';
+$module_description = 'This page type is designed for making a news page.';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/info.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/add_post.php
===================================================================
--- tags/2.8.2/wb/modules/news/add_post.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/add_post.php	(revision 1481)
@@ -0,0 +1,51 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+require('../../config.php');
+
+// Include WB admin wrapper script
+require(WB_PATH.'/modules/admin.php');
+
+// Include the ordering class
+require(WB_PATH.'/framework/class.order.php');
+// Get new order
+$order = new order(TABLE_PREFIX.'mod_news_posts', 'position', 'post_id', 'section_id');
+$position = $order->get_new($section_id);
+
+// Get default commenting
+$query_settings = $database->query("SELECT commenting FROM ".TABLE_PREFIX."mod_news_settings WHERE section_id = '$section_id'");
+$fetch_settings = $query_settings->fetchRow();
+$commenting = $fetch_settings['commenting'];
+
+// Insert new row into database
+$database->query("INSERT INTO ".TABLE_PREFIX."mod_news_posts (section_id,page_id,position,commenting,active) VALUES ('$section_id','$page_id','$position','$commenting','1')");
+
+// Get the id
+$post_id = $database->get_one("SELECT LAST_INSERT_ID()");
+
+// Say that a new record has been added, then redirect to modify page
+if($database->is_error()) {
+	$admin->print_error($database->get_error(), WB_URL.'/modules/news/modify_post.php?page_id='.$page_id.'&section_id='.$section_id.'&post_id='.$post_id);
+} else {
+	$admin->print_success($TEXT['SUCCESS'], WB_URL.'/modules/news/modify_post.php?page_id='.$page_id.'&section_id='.$section_id.'&post_id='.$post_id);
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/add_post.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/search.php
===================================================================
--- tags/2.8.2/wb/modules/news/search.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/search.php	(revision 1481)
@@ -0,0 +1,104 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+function news_search($func_vars) {
+	extract($func_vars, EXTR_PREFIX_ALL, 'func');
+
+	// how many lines of excerpt we want to have at most
+	$max_excerpt_num = $func_default_max_excerpt;
+	// do we want excerpt from comments?
+	$excerpt_from_comments = true; // TODO: make this configurable
+	$divider = ".";
+	$result = false;
+
+	// fetch all active news-posts (from active groups) in this section.
+	$t = time();
+	$table_posts = TABLE_PREFIX."mod_news_posts";
+	$table_groups = TABLE_PREFIX."mod_news_groups";
+	$query = $func_database->query("
+		SELECT p.post_id, p.title, p.content_short, p.content_long, p.link, p.posted_when, p.posted_by
+		FROM $table_posts AS p LEFT OUTER JOIN $table_groups AS g ON p.group_id = g.group_id
+		WHERE p.section_id='$func_section_id' AND p.active = '1' AND ( g.active IS NULL OR g.active = '1' )
+		AND (published_when = '0' OR published_when <= $t) AND (published_until = 0 OR published_until >= $t)
+		ORDER BY p.post_id DESC
+	");
+	// now call print_excerpt() for every single post
+	if($query->numRows() > 0) {
+		while($res = $query->fetchRow()) {
+			$text = $res['title'].$divider.$res['content_short'].$divider.$res['content_long'].$divider;
+			// fetch comments and add to $text
+			if($excerpt_from_comments) {
+				$table = TABLE_PREFIX."mod_news_comments";
+				$commentquery = $func_database->query("
+					SELECT title, comment
+					FROM $table
+					WHERE post_id='{$res['post_id']}'
+					ORDER BY commented_when ASC
+				");
+				if($commentquery->numRows() > 0) {
+					while($c_res = $commentquery->fetchRow()) {
+						$text .= $c_res['title'].$divider.$c_res['comment'].$divider;
+					}
+				}
+			}
+			$mod_vars = array(
+				'page_link' => $res['link'], // use direct link to news-item
+				'page_link_target' => "",
+				'page_title' => $func_page_title,
+				'page_description' => $res['title'], // use news-title as description
+				'page_modified_when' => $res['posted_when'],
+				'page_modified_by' => $res['posted_by'],
+				'text' => $text,
+				'max_excerpt_num' => $max_excerpt_num
+			);
+			if(print_excerpt2($mod_vars, $func_vars)) {
+				$result = true;
+			}
+		}
+	}
+	
+	// now fetch group-titles - ignore those without (active) postings
+	$table_groups = TABLE_PREFIX."mod_news_groups";
+	$table_posts = TABLE_PREFIX."mod_news_posts";
+	$query = $func_database->query("
+		SELECT DISTINCT g.title, g.group_id
+		FROM $table_groups AS g INNER JOIN $table_posts AS p ON g.group_id = p.group_id
+		WHERE g.section_id='$func_section_id' AND g.active = '1' AND p.active = '1'
+	");
+	// now call print_excerpt() for every single group, too
+	if($query->numRows() > 0) {
+		while($res = $query->fetchRow()) {
+			$mod_vars = array(
+				'page_link' => $func_page_link,
+				'page_link_target' => "&g=".$res['group_id'],
+				'page_title' => $func_page_title,
+				'page_description' => $func_page_description,
+				'page_modified_when' => $func_page_modified_when,
+				'page_modified_by' => $func_page_modified_by,
+				'text' => $res['title'].$divider,
+				'max_excerpt_num' => $max_excerpt_num
+			);
+			if(print_excerpt2($mod_vars, $func_vars)) {
+				$result = true;
+			}
+		}
+	}
+	return $result;
+}
+
+?>

Property changes on: tags/2.8.2/wb/modules/news/search.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/modify_settings.php
===================================================================
--- tags/2.8.2/wb/modules/news/modify_settings.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/modify_settings.php	(revision 1481)
@@ -0,0 +1,203 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+require('../../config.php');
+
+// Include WB admin wrapper script
+require(WB_PATH.'/modules/admin.php');
+
+// include core functions of WB 2.7 to edit the optional module CSS files (frontend.css, backend.css)
+@include_once(WB_PATH .'/framework/module.functions.php');
+
+// check if module language file exists for the language set by the user (e.g. DE, EN)
+if(!file_exists(WB_PATH .'/modules/news/languages/'.LANGUAGE .'.php')) {
+	// no module language file exists for the language set by the user, include default module language file EN.php
+	require_once(WB_PATH .'/modules/news/languages/EN.php');
+} else {
+	// a module language file exists for the language defined by the user, load it
+	require_once(WB_PATH .'/modules/news/languages/'.LANGUAGE .'.php');
+}
+
+// Get header and footer
+$query_content = $database->query("SELECT * FROM ".TABLE_PREFIX."mod_news_settings WHERE section_id = '$section_id'");
+$fetch_content = $query_content->fetchRow();
+
+// Set raw html <'s and >'s to be replace by friendly html code
+$raw = array('<', '>');
+$friendly = array('&lt;', '&gt;');
+
+// check if backend.css file needs to be included into the <body></body> of modify.php
+if(!method_exists($admin, 'register_backend_modfiles') && file_exists(WB_PATH ."/modules/form/backend.css")) {
+	echo '<style type="text/css">';
+	include(WB_PATH .'/modules/form/backend.css');
+	echo "\n</style>\n";
+}
+
+?>
+<h2><?php echo $MOD_NEWS['SETTINGS']; ?></h2>
+<?php
+// include the button to edit the optional module CSS files (function added with WB 2.7)
+// Note: CSS styles for the button are defined in backend.css (div class="mod_moduledirectory_edit_css")
+// Place this call outside of any <form></form> construct!!!
+if(function_exists('edit_module_css'))
+{
+	edit_module_css('news');
+}
+?>
+
+<form name="modify" action="<?php echo WB_URL; ?>/modules/news/save_settings.php" method="post" style="margin: 0;">
+
+	<input type="hidden" name="section_id" value="<?php echo $section_id; ?>" />
+	<input type="hidden" name="page_id" value="<?php echo $page_id; ?>" />
+
+	<table class="row_a" cellpadding="2" cellspacing="0" width="100%">
+		<tr>
+			<td colspan="2"><strong><?php echo $HEADING['GENERAL_SETTINGS']; ?></strong></td>
+		</tr>
+		<tr>
+			<td class="setting_name"><?php echo $TEXT['HEADER']; ?>:</td>
+			<td class="setting_value">
+				<textarea name="header" rows="10" cols="1" style="width: 98%; height: 80px;"><?php echo ($fetch_content['header']); ?></textarea>
+			</td>
+		</tr>
+		<tr>
+			<td class="setting_name"><?php echo $TEXT['POST'].' '.$TEXT['LOOP']; ?>:</td>
+			<td class="setting_value">
+				<textarea name="post_loop" rows="10" cols="1" style="width: 98%; height: 60px;"><?php echo ($fetch_content['post_loop']); ?></textarea>
+			</td>
+		</tr>
+		<tr>
+			<td class="setting_name"><?php echo $TEXT['FOOTER']; ?>:</td>
+			<td class="setting_value">
+				<textarea name="footer" rows="10" cols="1" style="width: 98%; height: 80px;"><?php echo str_replace($raw, $friendly, ($fetch_content['footer'])); ?></textarea>
+			</td>
+		</tr>
+		<tr>
+			<td class="setting_name"><?php echo $TEXT['POST_HEADER']; ?>:</td>
+			<td class="setting_value">
+				<textarea name="post_header" rows="10" cols="1" style="width: 98%; height: 60px;"><?php echo str_replace($raw, $friendly, ($fetch_content['post_header'])); ?></textarea>
+			</td>
+		</tr>
+		<tr>
+			<td class="setting_name"><?php echo $TEXT['POST_FOOTER']; ?>:</td>
+			<td class="setting_value">
+				<textarea name="post_footer" rows="10" cols="1" style="width: 98%; height: 60px;"><?php echo str_replace($raw, $friendly, ($fetch_content['post_footer'])); ?></textarea>
+			</td>
+		</tr>
+		<tr>
+			<td class="setting_name"><?php echo $TEXT['POSTS_PER_PAGE']; ?>:</td>
+			<td class="setting_value">
+				<select name="posts_per_page" style="width: 98%;">
+					<option value=""><?php echo $TEXT['UNLIMITED']; ?></option>
+					<?php
+					for($i = 1; $i <= 20; $i++) {
+						if($fetch_content['posts_per_page'] == ($i*5)) { $selected = ' selected="selected"'; } else { $selected = ''; }
+						echo '<option value="'.($i*5).'"'.$selected.'>'.($i*5).'</option>';
+					}
+					?>
+				</select>
+			</td>
+		</tr>
+	</table>
+	<table class="row_a" cellpadding="2" cellspacing="0" width="100%" style="margin-top: 3px;">
+		<tr>
+			<td colspan="2"><strong><?php echo $TEXT['COMMENTS']; ?></strong></td>
+		</tr>
+		<tr>
+			<td class="setting_name"><?php echo $TEXT['COMMENTING']; ?>:</td>
+			<td class="setting_value">
+				<select name="commenting" style="width: 98%;">
+					<option value="none"><?php echo $TEXT['DISABLED']; ?></option>
+					<option value="public" <?php if($fetch_content['commenting'] == 'public') { echo ' selected="selected"'; } ?>><?php echo $TEXT['PUBLIC']; ?></option>
+					<option value="private" <?php if($fetch_content['commenting'] == 'private') { echo 'selected="selected"'; } ?>><?php echo $TEXT['PRIVATE']; ?></option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td class="setting_name"><?php echo $TEXT['CAPTCHA_VERIFICATION']; ?>:</td>
+			<td>
+				<input type="radio" name="use_captcha" id="use_captcha_true" value="1"<?php if($fetch_content['use_captcha'] == true) { echo ' checked="checked"'; } ?> />
+				<label for="use_captcha_true"><?php echo $TEXT['ENABLED']; ?></label>
+				<input type="radio" name="use_captcha" id="use_captcha_false" value="0"<?php if($fetch_content['use_captcha'] == false) { echo ' checked="checked"'; } ?> />
+				<label for="use_captcha_false"><?php echo $TEXT['DISABLED']; ?></label>
+			</td>
+		</tr>
+		<?php if(extension_loaded('gd') AND function_exists('imageCreateFromJpeg')) { /* Make's sure GD library is installed */ ?>
+		<tr>
+			<td class="setting_name"><?php echo $TEXT['RESIZE_IMAGE_TO']; ?>:</td>
+			<td class="setting_value">
+				<select name="resize" style="width: 98%;">
+					<option value=""><?php echo $TEXT['NONE']; ?></option>
+					<?php
+					$SIZES['50'] = '50x50px';
+					$SIZES['75'] = '75x75px';
+					$SIZES['100'] = '100x100px';
+					$SIZES['125'] = '125x125px';
+					$SIZES['150'] = '150x150px';
+					foreach($SIZES AS $size => $size_name) {
+						if($fetch_content['resize'] == $size) { $selected = ' selected="selected"'; } else { $selected = ''; }
+						echo '<option value="'.$size.'"'.$selected.'>'.$size_name.'</option>';
+					}
+					?>
+				</select>
+			</td>
+		</tr>
+		<?php } ?>
+		<tr>
+			<td class="setting_name"><?php echo $TEXT['COMMENTS'].' '.$TEXT['HEADER']; ?>:</td>
+			<td class="setting_value">
+				<textarea name="comments_header" rows="10" cols="1" style="width: 98%; height: 60px;"><?php echo str_replace($raw, $friendly, ($fetch_content['comments_header'])); ?></textarea>
+			</td>
+		</tr>
+		<tr>
+			<td class="setting_name"><?php echo $TEXT['COMMENTS'].' '.$TEXT['LOOP']; ?>:</td>
+			<td class="setting_value">
+				<textarea name="comments_loop" rows="10" cols="1" style="width: 98%; height: 60px;"><?php echo str_replace($raw, $friendly, ($fetch_content['comments_loop'])); ?></textarea>
+			</td>
+		</tr>
+		<tr>
+			<td class="setting_name"><?php echo $TEXT['COMMENTS'].' '.$TEXT['FOOTER']; ?>:</td>
+			<td class="setting_value">
+				<textarea name="comments_footer" rows="10" cols="1" style="width: 98%; height: 60px;"><?php echo str_replace($raw, $friendly, ($fetch_content['comments_footer'])); ?></textarea>
+			</td>
+		</tr>
+		<tr>
+			<td class="setting_name"><?php echo $TEXT['COMMENTS'].' '.$TEXT['PAGE']; ?>:</td>
+			<td class="setting_value">
+				<textarea name="comments_page" rows="10" cols="1" style="width: 98%; height: 80px;"><?php echo str_replace($raw, $friendly, ($fetch_content['comments_page'])); ?></textarea>
+			</td>
+		</tr>
+	</table>
+	<table cellpadding="0" cellspacing="0" border="0" width="100%">
+		<tr>
+			<td class="left">
+				<input name="save" type="submit" value="<?php echo $TEXT['SAVE']; ?>" style="width: 100px; margin-top: 5px;" />
+			</td>
+			<td class="right">
+				<input type="button" value="<?php echo $TEXT['CANCEL']; ?>" onclick="javascript: window.location = '<?php echo ADMIN_URL; ?>/pages/modify.php?page_id=<?php echo $page_id; ?>';" style="width: 100px; margin-top: 5px;" />
+			</td>
+		</tr>
+	</table>
+</form>
+
+<?php
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/modify_settings.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/delete_post.php
===================================================================
--- tags/2.8.2/wb/modules/news/delete_post.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/delete_post.php	(revision 1481)
@@ -0,0 +1,65 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+require('../../config.php');
+
+// Get id
+if(!isset($_GET['post_id']) OR !is_numeric($_GET['post_id'])) {
+	header("Location: ".ADMIN_URL."/pages/index.php");
+	exit(0);
+} else {
+	$post_id = $_GET['post_id'];
+}
+
+// Include WB admin wrapper script
+$update_when_modified = true; // Tells script to update when this page was last updated
+require(WB_PATH.'/modules/admin.php');
+
+// Get post details
+$query_details = $database->query("SELECT * FROM ".TABLE_PREFIX."mod_news_posts WHERE post_id = '$post_id'");
+if($query_details->numRows() > 0) {
+	$get_details = $query_details->fetchRow();
+} else {
+	$admin->print_error($TEXT['NOT_FOUND'], ADMIN_URL.'/pages/modify.php?page_id='.$page_id);
+}
+
+// Unlink post access file
+if(is_writable(WB_PATH.PAGES_DIRECTORY.$get_details['link'].PAGE_EXTENSION)) {
+	unlink(WB_PATH.PAGES_DIRECTORY.$get_details['link'].PAGE_EXTENSION);
+}
+
+// Delete post
+$database->query("DELETE FROM ".TABLE_PREFIX."mod_news_posts WHERE post_id = '$post_id' LIMIT 1");
+$database->query("DELETE FROM ".TABLE_PREFIX."mod_news_comments WHERE post_id = '$post_id'");
+
+// Clean up ordering
+require(WB_PATH.'/framework/class.order.php');
+$order = new order(TABLE_PREFIX.'mod_news_posts', 'position', 'post_id', 'section_id');
+$order->clean($section_id); 
+
+// Check if there is a db error, otherwise say successful
+if($database->is_error()) {
+	$admin->print_error($database->get_error(), WB_URL.'/modules/news/modify_post.php?page_id='.$page_id.'&post_id='.$post_id);
+} else {
+	$admin->print_success($TEXT['SUCCESS'], ADMIN_URL.'/pages/modify.php?page_id='.$page_id);
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/delete_post.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/uninstall.php
===================================================================
--- tags/2.8.2/wb/modules/news/uninstall.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/uninstall.php	(revision 1481)
@@ -0,0 +1,33 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// Must include code to stop this file being access directly
+if(defined('WB_PATH') == false) { exit("Cannot access this file directly"); }
+
+$database->query("DELETE FROM ".TABLE_PREFIX."search WHERE name = 'module' AND value = 'news'");
+$database->query("DELETE FROM ".TABLE_PREFIX."search WHERE extra = 'news'");
+$database->query("DROP TABLE ".TABLE_PREFIX."mod_news_posts");
+$database->query("DROP TABLE ".TABLE_PREFIX."mod_news_groups");
+$database->query("DROP TABLE ".TABLE_PREFIX."mod_news_comments");
+$database->query("DROP TABLE ".TABLE_PREFIX."mod_news_settings");
+
+require_once(WB_PATH.'/framework/functions.php');
+rm_full_dir(WB_PATH.PAGES_DIRECTORY.'/posts');
+rm_full_dir(WB_PATH.MEDIA_DIRECTORY.'/.news');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/uninstall.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/modify_comment.php
===================================================================
--- tags/2.8.2/wb/modules/news/modify_comment.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/modify_comment.php	(revision 1481)
@@ -0,0 +1,79 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+require('../../config.php');
+
+// Get id
+if(!isset($_GET['comment_id']) OR !is_numeric($_GET['comment_id'])) {
+	header("Location: ".ADMIN_URL."/pages/index.php");
+	exit(0);
+} else {
+	$comment_id = $_GET['comment_id'];
+}
+
+// Include WB admin wrapper script
+require(WB_PATH.'/modules/admin.php');
+
+// Get header and footer
+$query_content = $database->query("SELECT post_id,title,comment FROM ".TABLE_PREFIX."mod_news_comments WHERE comment_id = '$comment_id'");
+$fetch_content = $query_content->fetchRow();
+
+?>
+
+<h2><?php echo $TEXT['MODIFY'].' '.$TEXT['COMMENT']; ?></h2>
+
+<form name="modify" action="<?php echo WB_URL; ?>/modules/news/save_comment.php" method="post" style="margin: 0;">
+
+<input type="hidden" name="section_id" value="<?php echo $section_id; ?>" />
+<input type="hidden" name="page_id" value="<?php echo $page_id; ?>" />
+<input type="hidden" name="post_id" value="<?php echo $fetch_content['post_id']; ?>" />
+<input type="hidden" name="comment_id" value="<?php echo $comment_id; ?>" />
+
+<table class="row_a" cellpadding="2" cellspacing="0" border="0" width="100%">
+<tr>
+	<td width="80"><?php echo $TEXT['TITLE']; ?>:</td>
+	<td>
+		<input type="text" name="title" value="<?php echo (htmlspecialchars($fetch_content['title'])); ?>" style="width: 98%;" maxlength="255" />
+	</td>
+</tr>
+<tr>
+	<td valign="top"><?php echo $TEXT['COMMENT']; ?>:</td>
+	<td>
+		<textarea name="comment" rows="10" cols="1" style="width: 98%; height: 150px;"><?php echo (htmlspecialchars($fetch_content['comment'])); ?></textarea>
+	</td>
+</tr>
+</table>
+
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr>
+	<td align="left">
+		<input name="save" type="submit" value="<?php echo $TEXT['SAVE']; ?>" style="width: 100px; margin-top: 5px;" />
+	</td>
+	<td align="right">
+		<input type="button" value="<?php echo $TEXT['CANCEL']; ?>" onclick="javascript: window.location = '<?php echo WB_URL; ?>/modules/news/modify_post.php?page_id=<?php echo $page_id; ?>&amp;section_id=<?php echo $section_id; ?>&amp;post_id=<?php echo $fetch_content['post_id']; ?>';" style="width: 100px; margin-top: 5px;" />
+	</td>
+</tr>
+</table>
+</form>
+
+<?php
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/modify_comment.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/view.php
===================================================================
--- tags/2.8.2/wb/modules/news/view.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/view.php	(revision 1481)
@@ -0,0 +1,483 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// Must include code to stop this file being access directly
+if(defined('WB_PATH') == false) { exit("Cannot access this file directly"); }
+
+// load module language file
+$lang = (dirname(__FILE__)) . '/languages/' . LANGUAGE . '.php';
+require_once(!file_exists($lang) ? (dirname(__FILE__)) . '/languages/EN.php' : $lang );
+
+//overwrite php.ini on Apache servers for valid SESSION ID Separator
+if(function_exists('ini_set'))
+{
+	ini_set('arg_separator.output', '&amp;');
+}
+
+// Check if there is a start point defined
+if(isset($_GET['p']) AND is_numeric($_GET['p']) AND $_GET['p'] >= 0)
+{
+	$position = $_GET['p'];
+} else {
+	$position = 0;
+}
+
+// Get user's username, display name, email, and id - needed for insertion into post info
+$users = array();
+$query_users = $database->query("SELECT user_id,username,display_name,email FROM ".TABLE_PREFIX."users");
+if($query_users->numRows() > 0)
+{
+	while( false != ($user = $query_users->fetchRow()) )
+    {
+		// Insert user info into users array
+		$user_id = $user['user_id'];
+		$users[$user_id]['username'] = $user['username'];
+		$users[$user_id]['display_name'] = $user['display_name'];
+		$users[$user_id]['email'] = $user['email'];
+	}
+}
+// Get groups (title, if they are active, and their image [if one has been uploaded])
+if (isset($groups))
+{
+   unset($groups);
+}
+
+$groups[0]['title'] = '';
+$groups[0]['active'] = true;
+$groups[0]['image'] = '';
+
+$query_users = $database->query("SELECT group_id,title,active FROM ".TABLE_PREFIX."mod_news_groups WHERE section_id = '$section_id' ORDER BY position ASC");
+if($query_users->numRows() > 0)
+{
+	while( false != ($group = $query_users->fetchRow()) )
+    {
+		// Insert user info into users array
+		$group_id = $group['group_id'];
+		$groups[$group_id]['title'] = ($group['title']);
+		$groups[$group_id]['active'] = $group['active'];
+		if(file_exists(WB_PATH.MEDIA_DIRECTORY.'/.news/image'.$group_id.'.jpg'))
+        {
+			$groups[$group_id]['image'] = WB_URL.MEDIA_DIRECTORY.'/.news/image'.$group_id.'.jpg';
+		} else {
+			$groups[$group_id]['image'] = '';
+		}
+	}
+}
+
+
+
+// Check if we should show the main page or a post itself
+if(!defined('POST_ID') OR !is_numeric(POST_ID))
+{
+
+	// Check if we should only list posts from a certain group
+	if(isset($_GET['g']) AND is_numeric($_GET['g']))
+    {
+		$query_extra = " AND group_id = '".$_GET['g']."'";
+	} else {
+		$query_extra = '';
+	}
+
+	// Check if we should only list posts from a certain group
+	if(isset($_GET['g']) AND is_numeric($_GET['g']))
+    {
+		$query_extra = " AND group_id = '".$_GET['g']."'";
+	} else {
+		$query_extra = '';
+	}
+
+	// Get settings
+	$query_settings = $database->query("SELECT * FROM ".TABLE_PREFIX."mod_news_settings WHERE section_id = '$section_id'");
+	if($query_settings->numRows() > 0)
+    {
+		$fetch_settings = $query_settings->fetchRow();
+		$setting_header = ($fetch_settings['header']);
+		$setting_post_loop = ($fetch_settings['post_loop']);
+		$setting_footer = ($fetch_settings['footer']);
+		$setting_posts_per_page = $fetch_settings['posts_per_page'];
+	} else {
+		$setting_header = '';
+		$setting_post_loop = '';
+		$setting_footer = '';
+		$setting_posts_per_page = '';
+	}
+
+	$t = time();
+	// Get total number of posts
+	$query_total_num = $database->query("SELECT post_id, section_id FROM ".TABLE_PREFIX."mod_news_posts
+		WHERE section_id = '$section_id' AND active = '1' AND title != '' $query_extra
+		AND (published_when = '0' OR published_when <= $t) AND (published_until = 0 OR published_until >= $t)");
+	$total_num = $query_total_num->numRows();
+
+	// Work-out if we need to add limit code to sql
+	if($setting_posts_per_page != 0)
+    {
+		$limit_sql = " LIMIT $position, $setting_posts_per_page";
+	} else {
+		$limit_sql = "";
+	}
+
+	// Query posts (for this page)
+	$query_posts = $database->query("SELECT * FROM ".TABLE_PREFIX."mod_news_posts
+		WHERE section_id = '$section_id' AND active = '1' AND title != ''$query_extra
+		AND (published_when = '0' OR published_when <= $t) AND (published_until = 0 OR published_until >= $t)
+		ORDER BY position DESC".$limit_sql);
+	$num_posts = $query_posts->numRows();
+
+	// Create previous and next links
+	if($setting_posts_per_page != 0)
+    {
+		if($position > 0)
+        {
+			if(isset($_GET['g']) AND is_numeric($_GET['g']))
+            {
+				$pl_prepend = '<a href="?p='.($position-$setting_posts_per_page).'&amp;g='.$_GET['g'].'">&lt;&lt; ';
+			} else {
+				$pl_prepend = '<a href="?p='.($position-$setting_posts_per_page).'">&lt;&lt; ';
+			}
+			$pl_append = '</a>';
+			$previous_link = $pl_prepend.$TEXT['PREVIOUS'].$pl_append;
+			$previous_page_link = $pl_prepend.$TEXT['PREVIOUS_PAGE'].$pl_append;
+		} else {
+			$previous_link = '';
+			$previous_page_link = '';
+		}
+		if($position + $setting_posts_per_page >= $total_num)
+        {
+			$next_link = '';
+			$next_page_link = '';
+		} else {
+			if(isset($_GET['g']) AND is_numeric($_GET['g']))
+            {
+				$nl_prepend = '<a href="?p='.($position+$setting_posts_per_page).'&amp;g='.$_GET['g'].'"> ';
+			} else {
+				$nl_prepend = '<a href="?p='.($position+$setting_posts_per_page).'"> ';
+			}
+			$nl_append = ' &gt;&gt;</a>';
+			$next_link = $nl_prepend.$TEXT['NEXT'].$nl_append;
+			$next_page_link = $nl_prepend.$TEXT['NEXT_PAGE'].$nl_append;
+		}
+		if($position+$setting_posts_per_page > $total_num)
+        {
+			$num_of = $position+$num_posts;
+		} else {
+			$num_of = $position+$setting_posts_per_page;
+		}
+
+		$out_of = ($position+1).'-'.$num_of.' '.strtolower($TEXT['OUT_OF']).' '.$total_num;
+		$of = ($position+1).'-'.$num_of.' '.strtolower($TEXT['OF']).' '.$total_num;
+		$display_previous_next_links = '';
+	} else {
+		$display_previous_next_links = 'none';
+	}
+
+	if ($num_posts === 0)
+    {
+		$setting_header = '';
+		$setting_post_loop = '';
+		$setting_footer = '';
+		$setting_posts_per_page = '';
+	}
+
+	// Print header
+	if($display_previous_next_links == 'none')
+    {
+		print  str_replace( array('[NEXT_PAGE_LINK]','[NEXT_LINK]','[PREVIOUS_PAGE_LINK]','[PREVIOUS_LINK]','[OUT_OF]','[OF]','[DISPLAY_PREVIOUS_NEXT_LINKS]'),
+                            array('','','','','','', $display_previous_next_links), $setting_header);
+	} else {
+		print str_replace(  array('[NEXT_PAGE_LINK]','[NEXT_LINK]','[PREVIOUS_PAGE_LINK]','[PREVIOUS_LINK]','[OUT_OF]','[OF]','[DISPLAY_PREVIOUS_NEXT_LINKS]'),
+                            array($next_page_link, $next_link, $previous_page_link, $previous_link, $out_of, $of, $display_previous_next_links), $setting_header);
+	}
+	if($num_posts > 0)
+    {
+		if($query_extra != '')
+        {
+			?>
+			<div class="selected-group-title">
+				<?php print '<a href="'.htmlspecialchars(strip_tags($_SERVER['PHP_SELF'])).'">'.PAGE_TITLE.'</a> &gt;&gt; '.$groups[$_GET['g']]['title']; ?>
+			</div>
+			<?php
+		}
+		while( false != ($post = $query_posts->fetchRow()) )
+        {
+			if(isset($groups[$post['group_id']]['active']) AND $groups[$post['group_id']]['active'] != false)
+            { // Make sure parent group is active
+				$uid = $post['posted_by']; // User who last modified the post
+				// Workout date and time of last modified post
+				if ($post['published_when'] === '0') $post['published_when'] = time();
+				if ($post['published_when'] > $post['posted_when'])
+                {
+					$post_date = gmdate(DATE_FORMAT, $post['published_when']+TIMEZONE);
+					$post_time = gmdate(TIME_FORMAT, $post['published_when']+TIMEZONE);
+				} else {
+					$post_date = gmdate(DATE_FORMAT, $post['posted_when']+TIMEZONE);
+					$post_time = gmdate(TIME_FORMAT, $post['posted_when']+TIMEZONE);
+				}
+
+				$publ_date = date(DATE_FORMAT,$post['published_when']);
+				$publ_time = date(TIME_FORMAT,$post['published_when']);
+
+				// Work-out the post link
+				$post_link = page_link($post['link']);
+
+                $post_link_path = str_replace(WB_URL, WB_PATH,$post_link);
+                if(file_exists($post_link_path))
+                {
+    				$create_date = date(DATE_FORMAT, filemtime ( $post_link_path ));
+    				$create_time = date(TIME_FORMAT, filemtime ( $post_link_path ));
+                } else {
+                    $create_date = $publ_date;
+                    $create_time = $publ_time;
+                }
+
+				if(isset($_GET['p']) AND $position > 0)
+                {
+					$post_link .= '?p='.$position;
+				}
+				if(isset($_GET['g']) AND is_numeric($_GET['g']))
+                {
+					if(isset($_GET['p']) AND $position > 0) { $post_link .= '&amp;'; } else { $post_link .= '?'; }
+                    {
+					$post_link .= 'g='.$_GET['g'];
+                    }
+				}
+
+				// Get group id, title, and image
+				$group_id = $post['group_id'];
+				$group_title = $groups[$group_id]['title'];
+				$group_image = $groups[$group_id]['image'];
+				$display_image = ($group_image == '') ? "none" : "inherit";
+				$display_group = ($group_id == 0) ? 'none' : 'inherit';
+
+				if ($group_image != "") $group_image= "<img src='".$group_image."' alt='".$group_title."' />";
+
+				// Replace [wblink--PAGE_ID--] with real link
+				$short = ($post['content_short']);
+				$wb->preprocess($short);
+
+				// Replace vars with values
+				$post_long_len = strlen($post['content_long']);
+				$vars = array('[PAGE_TITLE]', '[GROUP_ID]', '[GROUP_TITLE]', '[GROUP_IMAGE]', '[DISPLAY_GROUP]', '[DISPLAY_IMAGE]', '[TITLE]', '[SHORT]', '[LINK]', '[MODI_DATE]', '[MODI_TIME]', '[CREATED_DATE]', '[CREATED_TIME]', '[PUBLISHED_DATE]', '[PUBLISHED_TIME]', '[USER_ID]', '[USERNAME]', '[DISPLAY_NAME]', '[EMAIL]', '[TEXT_READ_MORE]','[SHOW_READ_MORE]');
+				if(isset($users[$uid]['username']) AND $users[$uid]['username'] != '')
+                {
+					if($post_long_len < 9)
+                    {
+						$values = array(PAGE_TITLE, $group_id, $group_title, $group_image, $display_group, $display_image, $post['title'], $short, '#" onclick="javascript:void(0);return false;" style="cursor:no-drop;', $post_date, $post_time, $create_date, $create_time, $publ_date, $publ_time, $uid, $users[$uid]['username'], $users[$uid]['display_name'], $users[$uid]['email'], '', 'hidden');
+					} else {
+					   	$values = array(PAGE_TITLE, $group_id, $group_title, $group_image, $display_group, $display_image, $post['title'], $short, $post_link, $post_date, $post_time, $create_date, $create_time, $publ_date, $publ_time, $uid, $users[$uid]['username'], $users[$uid]['display_name'], $users[$uid]['email'], $MOD_NEWS['TEXT_READ_MORE'], 'visible');
+					}
+				} else {
+					if($post_long_len < 9)
+                    {
+						$values = array(PAGE_TITLE, $group_id, $group_title, $group_image, $display_group, $display_image, $post['title'], $short, '#" onclick="javascript:void(0);return false;" style="cursor:no-drop;', $post_date, $post_time, $create_date, $create_time, $publ_date, $publ_time, '', '', '', '', '','hidden');
+					} else {
+						$values = array(PAGE_TITLE, $group_id, $group_title, $group_image, $display_group, $display_image, $post['title'], $short, $post_link, $post_date, $post_time, $create_date, $create_time, $publ_date, $publ_time, '', '', '', '', $MOD_NEWS['TEXT_READ_MORE'],'visible');
+					}
+				}
+				print str_replace($vars, $values, $setting_post_loop);
+			}
+		}
+	}
+    // Print footer
+    if($display_previous_next_links == 'none')
+    {
+    	print  str_replace(array('[NEXT_PAGE_LINK]','[NEXT_LINK]','[PREVIOUS_PAGE_LINK]','[PREVIOUS_LINK]','[OUT_OF]','[OF]','[DISPLAY_PREVIOUS_NEXT_LINKS]'), array('','','','','','', $display_previous_next_links), $setting_footer);
+    }
+    else
+    {
+    	print str_replace(array('[NEXT_PAGE_LINK]','[NEXT_LINK]','[PREVIOUS_PAGE_LINK]','[PREVIOUS_LINK]','[OUT_OF]','[OF]','[DISPLAY_PREVIOUS_NEXT_LINKS]'), array($next_page_link, $next_link, $previous_page_link, $previous_link, $out_of, $of, $display_previous_next_links), $setting_footer);
+    }
+
+}
+elseif(defined('POST_ID') AND is_numeric(POST_ID))
+{
+
+  // print '<h2>'.POST_ID.'/'.PAGE_ID.'/'.POST_SECTION.'</h2>';
+  if(defined('POST_SECTION') AND POST_SECTION == $section_id)
+  {
+	// Get settings
+	$query_settings = $database->query("SELECT * FROM ".TABLE_PREFIX."mod_news_settings WHERE section_id = '$section_id'");
+	if($query_settings->numRows() > 0)
+    {
+		$fetch_settings = $query_settings->fetchRow();
+		$setting_post_header = ($fetch_settings['post_header']);
+		$setting_post_footer = ($fetch_settings['post_footer']);
+		$setting_comments_header = ($fetch_settings['comments_header']);
+		$setting_comments_loop = ($fetch_settings['comments_loop']);
+		$setting_comments_footer = ($fetch_settings['comments_footer']);
+	} else {
+		$setting_post_header = '';
+		$setting_post_footer = '';
+		$setting_comments_header = '';
+		$setting_comments_loop = '';
+		$setting_comments_footer = '';
+    }
+	// Get page info
+	$query_page = $database->query("SELECT link FROM ".TABLE_PREFIX."pages WHERE page_id = '".PAGE_ID."'");
+	if($query_page->numRows() > 0)
+    {
+		$page = $query_page->fetchRow();
+		$page_link = page_link($page['link']);
+		if(isset($_GET['p']) AND $position > 0)
+        {
+			$page_link .= '?p='.$_GET['p'];
+		}
+		if(isset($_GET['g']) AND is_numeric($_GET['g']))
+        {
+			if(isset($_GET['p']) AND $position > 0) { $page_link .= '&amp;'; } else { $page_link .= '?'; }
+			$page_link .= 'g='.$_GET['g'];
+		}
+	} else {
+		exit($MESSAGE['PAGES']['NOT_FOUND']);
+	}
+
+	// Get post info
+	$t = time();
+	$query_post = $database->query("SELECT * FROM ".TABLE_PREFIX."mod_news_posts
+		WHERE post_id = '".POST_ID."' AND active = '1'
+		AND (published_when = '0' OR published_when <= $t) AND (published_until = 0 OR published_until >= $t)");
+
+	if($query_post->numRows() > 0)
+    {
+		$post = $query_post->fetchRow();
+		if(isset($groups[$post['group_id']]['active']) AND $groups[$post['group_id']]['active'] != false)
+        { // Make sure parent group is active
+			$uid = $post['posted_by']; // User who last modified the post
+			// Workout date and time of last modified post
+			if ($post['published_when'] === '0') $post['published_when'] = time();
+			if ($post['published_when'] > $post['posted_when'])
+            {
+				$post_date = gmdate(DATE_FORMAT, $post['published_when']+TIMEZONE);
+				$post_time = gmdate(TIME_FORMAT, $post['published_when']+TIMEZONE);
+			}
+            else
+            {
+				$post_date = gmdate(DATE_FORMAT, $post['posted_when']+TIMEZONE);
+				$post_time = gmdate(TIME_FORMAT, $post['posted_when']+TIMEZONE);
+			}
+
+			$publ_date = date(DATE_FORMAT,$post['published_when']);
+			$publ_time = date(TIME_FORMAT,$post['published_when']);
+
+				// Work-out the post link
+				$post_link = page_link($post['link']);
+
+                $post_link_path = str_replace(WB_URL, WB_PATH,$post_link);
+                if(file_exists($post_link_path))
+                {
+    				$create_date = date(DATE_FORMAT, filemtime ( $post_link_path ));
+    				$create_time = date(TIME_FORMAT, filemtime ( $post_link_path ));
+                } else {
+                    $create_date = $publ_date;
+                    $create_time = $publ_time;
+                }
+			// Get group id, title, and image
+			$group_id = $post['group_id'];
+			$group_title = $groups[$group_id]['title'];
+			$group_image = $groups[$group_id]['image'];
+			$display_image = ($group_image == '') ? "none" : "inherit";
+			$display_group = ($group_id == 0) ? 'none' : 'inherit';
+
+			if ($group_image != "") $group_image= "<img src='".$group_image."' alt='".$group_title."' />";
+
+			$vars = array('[PAGE_TITLE]', '[GROUP_ID]', '[GROUP_TITLE]', '[GROUP_IMAGE]', '[DISPLAY_GROUP]', '[DISPLAY_IMAGE]', '[TITLE]', '[SHORT]', '[BACK]', '[TEXT_BACK]', '[TEXT_LAST_CHANGED]', '[MODI_DATE]', '[TEXT_AT]', '[MODI_TIME]', '[CREATED_DATE]', '[CREATED_TIME]', '[PUBLISHED_DATE]', '[PUBLISHED_TIME]', '[TEXT_POSTED_BY]', '[TEXT_ON]', '[USER_ID]', '[USERNAME]', '[DISPLAY_NAME]', '[EMAIL]');
+			$post_short=$post['content_short'];
+			$wb->preprocess($post_short);
+			if(isset($users[$uid]['username']) AND $users[$uid]['username'] != '')
+            {
+				$values = array(PAGE_TITLE, $group_id, $group_title, $group_image, $display_group, $display_image, $post['title'], $post_short, $page_link, $MOD_NEWS['TEXT_BACK'], $MOD_NEWS['TEXT_LAST_CHANGED'],$post_date, $MOD_NEWS['TEXT_AT'], $post_time, $create_date, $create_time, $publ_date, $publ_time, $MOD_NEWS['TEXT_POSTED_BY'], $MOD_NEWS['TEXT_ON'], $uid, $users[$uid]['username'], $users[$uid]['display_name'], $users[$uid]['email']);
+			} else {
+				$values = array(PAGE_TITLE, $group_id, $group_title, $group_image, $display_group, $display_image, $post['title'], $post_short, $page_link, $MOD_NEWS['TEXT_BACK'], $MOD_NEWS['TEXT_LAST_CHANGED'], $post_date, $MOD_NEWS['TEXT_AT'], $post_time, $create_date, $create_time, $publ_date, $publ_time, $MOD_NEWS['TEXT_POSTED_BY'], $MOD_NEWS['TEXT_ON'], '', '', '', '');
+			}
+
+			$post_long = ($post['content_long']);
+		}
+	} else {
+	    	$wb->print_error($MESSAGE['FRONTEND']['SORRY_NO_ACTIVE_SECTIONS'], "javascript: history.go(-1);", false);
+	    	exit(0);
+	}
+
+	// Print post header
+	print str_replace($vars, $values, $setting_post_header);
+
+	// Replace [wblink--PAGE_ID--] with real link
+  	$wb->preprocess($post_long);
+	// Print long
+	print $post_long;
+
+	// Print post footer
+	print str_replace($vars, $values, $setting_post_footer);
+
+	// Show comments section if we have to
+	if(($post['commenting'] == 'private' AND isset($wb) AND $wb->is_authenticated() == true) OR $post['commenting'] == 'public')
+    {
+		// Print comments header
+		$vars = array('[ADD_COMMENT_URL]','[TEXT_COMMENTS]');
+		$values = array(WB_URL.'/modules/news/comment.php?post_id='.POST_ID.'&amp;section_id='.$section_id, $MOD_NEWS['TEXT_COMMENTS']);
+		print str_replace($vars, $values, $setting_comments_header);
+
+		// Query for comments
+		$query_comments = $database->query("SELECT title,comment,commented_when,commented_by FROM ".TABLE_PREFIX."mod_news_comments WHERE post_id = '".POST_ID."' ORDER BY commented_when ASC");
+		if($query_comments->numRows() > 0)
+        {
+			while( false != ($comment = $query_comments->fetchRow()) )
+            {
+				// Display Comments without slashes, but with new-line characters
+				$comment['comment'] = nl2br($wb->strip_slashes($comment['comment']));
+				$comment['title'] = $wb->strip_slashes($comment['title']);
+				// Print comments loop
+				$commented_date = gmdate(DATE_FORMAT, $comment['commented_when']+TIMEZONE);
+				$commented_time = gmdate(TIME_FORMAT, $comment['commented_when']+TIMEZONE);
+				$uid = $comment['commented_by'];
+				$vars = array('[TITLE]','[COMMENT]','[TEXT_ON]','[DATE]','[TEXT_AT]','[TIME]','[TEXT_BY]','[USER_ID]','[USERNAME]','[DISPLAY_NAME]', '[EMAIL]');
+				if(isset($users[$uid]['username']) AND $users[$uid]['username'] != '')
+                {
+					$values = array(($comment['title']), ($comment['comment']), $MOD_NEWS['TEXT_ON'], $commented_date, $MOD_NEWS['TEXT_AT'], $commented_time, $MOD_NEWS['TEXT_BY'], $uid, ($users[$uid]['username']), ($users[$uid]['display_name']), ($users[$uid]['email']));
+				} else {
+					$values = array(($comment['title']), ($comment['comment']), $MOD_NEWS['TEXT_ON'], $commented_date, $MOD_NEWS['TEXT_AT'], $commented_time, $MOD_NEWS['TEXT_BY'], '0', strtolower($TEXT['UNKNOWN']), $TEXT['UNKNOWN'], '');
+				}
+				print str_replace($vars, $values, $setting_comments_loop);
+			}
+		} else {
+			// Say no comments found
+			$content = '';
+			if(isset($TEXT['NONE_FOUND'])) {
+				$content .= '<tr><td>'.$TEXT['NONE_FOUND'].'<br /></td></tr>';
+			} else {
+				$content .= '<tr><td>None Found<br /></td></tr>';
+			}
+			print $content;
+		}
+
+		// Print comments footer
+		$vars = array('[ADD_COMMENT_URL]','[TEXT_ADD_COMMENT]');
+		$values = array(WB_URL.'/modules/news/comment.php?post_id='.POST_ID.'&amp;section_id='.$section_id, $MOD_NEWS['TEXT_ADD_COMMENT']);
+		print str_replace($vars, $values, $setting_comments_footer);
+
+	}
+
+    }
+
+	if(ENABLED_ASP)
+    {
+		$_SESSION['comes_from_view'] = POST_ID;
+		$_SESSION['comes_from_view_time'] = time();
+	}
+
+}
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/view.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/save_group.php
===================================================================
--- tags/2.8.2/wb/modules/news/save_group.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/save_group.php	(revision 1481)
@@ -0,0 +1,110 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+require('../../config.php');
+
+// Get id
+if(!isset($_POST['group_id']) OR !is_numeric($_POST['group_id']))
+{
+	header("Location: ".ADMIN_URL."/pages/index.php");
+	exit( 0 );
+}
+else
+{
+	$group_id = $_POST['group_id'];
+}
+
+// Include WB admin wrapper script
+$update_when_modified = true; // Tells script to update when this page was last updated
+require(WB_PATH.'/modules/admin.php');
+
+// Include WB functions file
+require(WB_PATH.'/framework/functions.php');
+
+// Vagroup_idate all fields
+if($admin->get_post('title') == '')
+{
+	$admin->print_error($MESSAGE['GENERIC']['FILL_IN_ALL'], WB_URL.'/modules/news/modify_group.php?page_id='.$page_id.'&section_id='.$section_id.'&group_id='.$group_id);
+}
+else
+{
+	$title = $admin->get_post_escaped('title');
+	$active = $admin->get_post_escaped('active');
+}
+
+// Update row
+$database->query("UPDATE ".TABLE_PREFIX."mod_news_groups SET title = '$title', active = '$active' WHERE group_id = '$group_id'");
+
+// Check if the user uploaded an image or wants to delete one
+if(isset($_FILES['image']['tmp_name']) AND $_FILES['image']['tmp_name'] != '')
+{
+	// Get real filename and set new filename
+	$filename = $_FILES['image']['name'];
+	$new_filename = WB_PATH.MEDIA_DIRECTORY.'/.news/image'.$group_id.'.jpg';
+	// Make sure the image is a jpg file
+	$file4=substr($filename, -4, 4);
+	if(($file4 != '.jpg')and($file4 != '.JPG')and($file4 != '.png')and($file4 != '.PNG') and ($file4 !='jpeg') and ($file4 != 'JPEG'))
+    {
+		$admin->print_error($MESSAGE['GENERIC']['FILE_TYPE'].' JPG (JPEG) or PNG a');
+	} elseif(
+	(($_FILES['image']['type']) != 'image/jpeg' AND mime_content_type($_FILES['image']['tmp_name']) != 'image/jpg')
+	and
+	(($_FILES['image']['type']) != 'image/png' AND mime_content_type($_FILES['image']['tmp_name']) != 'image/png')
+	){
+		$admin->print_error($MESSAGE['GENERIC']['FILE_TYPE'].' JPG (JPEG) or PNG b');
+	}
+	// Make sure the target directory exists
+	make_dir(WB_PATH.MEDIA_DIRECTORY.'/.news');
+	// Upload image
+	move_uploaded_file($_FILES['image']['tmp_name'], $new_filename);
+	// Check if we need to create a thumb
+	$query_settings = $database->query("SELECT resize FROM ".TABLE_PREFIX."mod_news_settings WHERE section_id = '$section_id'");
+	$fetch_settings = $query_settings->fetchRow();
+	$resize = $fetch_settings['resize'];
+	if($resize != 0)
+    {
+		// Resize the image
+		$thumb_location = WB_PATH.MEDIA_DIRECTORY.'/.news/thumb'.$group_id.'.jpg';
+		if(make_thumb($new_filename, $thumb_location, $resize))
+        {
+			// Delete the actual image and replace with the resized version
+			unlink($new_filename);
+			rename($thumb_location, $new_filename);
+		}
+	}
+}
+if(isset($_POST['delete_image']) AND $_POST['delete_image'] != '')
+{
+	// Try unlinking image
+	if(file_exists(WB_PATH.MEDIA_DIRECTORY.'/.news/image'.$group_id.'.jpg'))
+    {
+		unlink(WB_PATH.MEDIA_DIRECTORY.'/.news/image'.$group_id.'.jpg');
+	}
+}
+
+// Check if there is a db error, otherwise say successful
+if($database->is_error()) {
+	$admin->print_error($database->get_error(), WB_URL.'/modules/news/modify_group.php?page_id='.$page_id.'&section_id='.$section_id.'&group_id='.$group_id);
+} else {
+	$admin->print_success($TEXT['SUCCESS'], ADMIN_URL.'/pages/modify.php?page_id='.$page_id);
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/save_group.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/move_up.php
===================================================================
--- tags/2.8.2/wb/modules/news/move_up.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/move_up.php	(revision 1481)
@@ -0,0 +1,55 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+require('../../config.php');
+
+// Get id
+if(!isset($_GET['post_id']) OR !is_numeric($_GET['post_id'])) {
+	if(!isset($_GET['group_id']) OR !is_numeric($_GET['group_id'])) {
+
+		header("Location: index.php");
+	    exit( 0 );
+	} else {
+		$id = $_GET['group_id'];
+		$id_field = 'group_id';
+		$table = TABLE_PREFIX.'mod_news_groups';
+	}
+} else {
+	$id = $_GET['post_id'];
+	$id_field = 'post_id';
+	$table = TABLE_PREFIX.'mod_news_posts';
+}
+
+// Include WB admin wrapper script
+require(WB_PATH.'/modules/admin.php');
+
+// Include the ordering class
+require(WB_PATH.'/framework/class.order.php');
+
+// Create new order object an reorder
+$order = new order($table, 'position', $id_field, 'section_id');
+if($order->move_up($id)) {
+	$admin->print_success($TEXT['SUCCESS'], ADMIN_URL.'/pages/modify.php?page_id='.$page_id);
+} else {
+	$admin->print_error($TEXT['ERROR'], ADMIN_URL.'/pages/modify.php?page_id='.$page_id);
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/move_up.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/save_settings.php
===================================================================
--- tags/2.8.2/wb/modules/news/save_settings.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/save_settings.php	(revision 1481)
@@ -0,0 +1,59 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+require('../../config.php');
+
+// Include WB admin wrapper script
+$update_when_modified = true; // Tells script to update when this page was last updated
+require(WB_PATH.'/modules/admin.php');
+
+// This code removes any <?php tags and adds slashes
+$friendly = array('&lt;', '&gt;', '?php');
+$raw = array('<', '>', '');
+$header = $admin->add_slashes(str_replace($friendly, $raw, $_POST['header']));
+$post_loop = $admin->add_slashes(str_replace($friendly, $raw, $_POST['post_loop']));
+$footer = $admin->add_slashes(str_replace($friendly, $raw, $_POST['footer']));
+$post_header = $admin->add_slashes(str_replace($friendly, $raw, $_POST['post_header']));
+$post_footer = $admin->add_slashes(str_replace($friendly, $raw, $_POST['post_footer']));
+$comments_header = $admin->add_slashes(str_replace($friendly, $raw, $_POST['comments_header']));
+$comments_loop = $admin->add_slashes(str_replace($friendly, $raw, $_POST['comments_loop']));
+$comments_footer = $admin->add_slashes(str_replace($friendly, $raw, $_POST['comments_footer']));
+$comments_page = $admin->add_slashes(str_replace($friendly, $raw, $_POST['comments_page']));
+$commenting = $admin->add_slashes($_POST['commenting']);
+$posts_per_page = $admin->add_slashes($_POST['posts_per_page']);
+$use_captcha = $admin->add_slashes($_POST['use_captcha']);
+if(extension_loaded('gd') AND function_exists('imageCreateFromJpeg')) {
+	$resize = $_POST['resize'];
+} else {
+	$resize = '';
+}
+
+// Update settings
+$database->query("UPDATE ".TABLE_PREFIX."mod_news_settings SET header = '$header', post_loop = '$post_loop', footer = '$footer', posts_per_page = '$posts_per_page', post_header = '$post_header', post_footer = '$post_footer', comments_header = '$comments_header', comments_loop = '$comments_loop', comments_footer = '$comments_footer', comments_page = '$comments_page', commenting = '$commenting', resize = '$resize', use_captcha = '$use_captcha' WHERE section_id = '$section_id'");
+
+// Check if there is a db error, otherwise say successful
+if($database->is_error()) {
+	$admin->print_error($database->get_error(), ADMIN_URL.'/pages/modify.php?page_id='.$page_id);
+} else {
+	$admin->print_success($TEXT['SUCCESS'], ADMIN_URL.'/pages/modify.php?page_id='.$page_id);
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/save_settings.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/frontend.css
===================================================================
--- tags/2.8.2/wb/modules/news/frontend.css	(nonexistent)
+++ tags/2.8.2/wb/modules/news/frontend.css	(revision 1481)
@@ -0,0 +1,96 @@
+.captcha-table,
+.captcha_table,
+.news-table {
+	border: 0px;
+}
+
+.post_title, .post_date,
+.post-title, .post-date {
+	border-bottom: 1px solid #DDDDDD;
+}
+.post_title,
+.post-title {
+	font-weight: bold;
+	font-size: 12px;
+	color: #000000;
+}
+.post_date,
+.post-date {
+	text-align: right;
+	font-weight: bold;
+}
+.post_short,
+.post-short {
+	text-align: justify;
+	padding-bottom: 5px;
+}
+.comment_title,
+.comment-title {
+	font-weight: bold;
+}
+.comment_text,
+.comment-text {
+	font-weight: normal;
+	background-color: #FDFDFD;
+	border-bottom: 1px solid #DDDDDD;
+	padding-bottom: 15px;
+}
+.comment_title, .comment_text,
+.comment-title, .comment-text {
+	border-left: 1px solid #DDDDDD;
+}
+.comment_info,
+.comment-info {
+	text-align: right;
+	border-right: 1px solid #DDDDDD;
+}
+.comment_title, .comment_info,
+.comment-title, .comment-info {
+	border-top: 1px solid #DDDDDD;
+	background-color: #EEEEEE;
+}
+.selected_group_title,
+.selected-group-title { 
+	font-size: 14px;
+	text-align: center;
+}
+/*** Don't remove the class nixhier, this is required for ASP ***/
+.nixhier {
+	display:none;
+}
+.loop_header,
+.loop-header {
+	width: 100%;
+}
+.page_header,
+.page-header {
+	width: 100%;	
+}
+.post_header,
+.post-header {
+	width: 100%;	
+}
+.page_left,
+.page-left {
+	text-align: left;	
+}
+.page_center,
+.page-center {
+	text-align: center;
+}
+.page_right,
+.page-right {
+	text-align: right;	
+}
+.comment_header,
+.comment-header {
+	width: 100%;
+}
+.public_info,
+.public-info {
+	text-align: right;
+}
+.group_page,
+.group-page {
+	text-align: center;
+}
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/frontend.css
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/delete_comment.php
===================================================================
--- tags/2.8.2/wb/modules/news/delete_comment.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/delete_comment.php	(revision 1481)
@@ -0,0 +1,64 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+require('../../config.php');
+
+// Get id
+if(!isset($_GET['comment_id']) OR !is_numeric($_GET['comment_id'])) {
+
+	header("Location: ".ADMIN_URL."/pages/index.php");
+	exit( 0 );
+}
+else
+{
+	$comment_id = $_GET['comment_id'];
+}
+
+// Get post id
+if(!isset($_GET['post_id']) OR !is_numeric($_GET['post_id']))
+{
+
+	header("Location: ".ADMIN_URL."/pages/index.php");
+	exit( 0 );
+}
+else
+{
+	$post_id = $_GET['post_id'];
+}
+
+// Include WB admin wrapper script
+$update_when_modified = true; // Tells script to update when this page was last updated
+require(WB_PATH.'/modules/admin.php');
+
+// Update row
+$database->query("DELETE FROM ".TABLE_PREFIX."mod_news_comments  WHERE comment_id = '$comment_id'");
+
+// Check if there is a db error, otherwise say successful
+if($database->is_error())
+{
+	$admin->print_error($database->get_error(), WB_URL.'/modules/news/modify_post.php?page_id='.$page_id.'&section_id='.$section_id.'&post_id='.$post_id);
+}
+else
+{
+	$admin->print_success($TEXT['SUCCESS'], WB_URL.'/modules/news/modify_post.php?page_id='.$page_id.'&section_id='.$section_id.'&post_id='.$post_id);
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/delete_comment.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/upgrade.php
===================================================================
--- tags/2.8.2/wb/modules/news/upgrade.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/upgrade.php	(revision 1481)
@@ -0,0 +1,106 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+if(defined('WB_URL')) {
+
+    function create_new_post($filename, $filetime=NULL, $content )
+    {
+    global $page_id, $section_id, $post_id;
+	// The depth of the page directory in the directory hierarchy
+	// '/pages' is at depth 1
+	$pages_dir_depth = count(explode('/',PAGES_DIRECTORY))-1;
+	// Work-out how many ../'s we need to get to the index page
+	$index_location = '../';
+	for($i = 0; $i < $pages_dir_depth; $i++)
+    {
+		$index_location .= '../';
+	}
+
+	// Write to the filename
+	$content .='
+define("POST_SECTION", $section_id);
+define("POST_ID", $post_id);
+require("'.$index_location.'config.php");
+require(WB_PATH."/index.php");
+?>';
+    	if($handle = fopen($filename, 'w+'))
+        {
+        	fwrite($handle, $content);
+        	fclose($handle);
+            if($filetime)
+            {
+                touch($filename, $filetime);
+            }
+        	change_mode($filename);
+        }
+    }
+
+    // read files from /pages/posts/
+    if( !function_exists('scandir') )
+    {
+        function scandir($directory, $sorting_order = 0)
+        {
+            $dh  = opendir($directory);
+            while( false !== ($filename = readdir($dh)) )
+            {
+                $files[] = $filename;
+            }
+            if( $sorting_order == 0 )
+            {
+                sort($files);
+            } else
+            {
+                rsort($files);
+            }
+            return($files);
+        }
+    }
+
+    $target_dir = WB_PATH . PAGES_DIRECTORY.'/posts/';
+	$files = scandir($target_dir);
+	natcasesort($files);
+
+		// All files in /pages/posts/
+		foreach( $files as $file )
+        {
+            if( file_exists($target_dir.$file)
+                AND ($file != '.')
+                    AND ($file != '..')
+                        AND ($file != 'index.php') )
+            {
+                clearstatcache();
+                $timestamp = filemtime ( $target_dir.$file );
+                $lines = file($target_dir.$file);
+                $content = '';
+                // read lines until first define
+                foreach ($lines as $line_num => $line) {
+                    if(strstr($line,'define'))
+                    {
+                      break;
+                    }
+                    $content .= $line;
+                }
+
+                create_new_post($target_dir.$file, $timestamp, $content);
+            }
+
+        }
+// Print admin footer
+$admin->print_footer();
+}
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/upgrade.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/modify.php
===================================================================
--- tags/2.8.2/wb/modules/news/modify.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/modify.php	(revision 1481)
@@ -0,0 +1,209 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// Must include code to stop this file being access directly
+if(!defined('WB_PATH')) { exit("Cannot access this file directly"); }
+$database->query("DELETE FROM ".TABLE_PREFIX."mod_news_posts  WHERE page_id = '$page_id' and section_id = '$section_id' and title=''"); 
+$database->query("DELETE FROM ".TABLE_PREFIX."mod_news_groups  WHERE page_id = '$page_id' and section_id = '$section_id' and title=''"); 
+
+//overwrite php.ini on Apache servers for valid SESSION ID Separator
+if(function_exists('ini_set')) {
+	ini_set('arg_separator.output', '&amp;');
+}
+
+?>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr>
+	<td align="left" width="33%">
+		<input type="button" value="<?php echo $TEXT['ADD'].' '.$TEXT['POST']; ?>" onclick="javascript: window.location = '<?php echo WB_URL; ?>/modules/news/add_post.php?page_id=<?php echo $page_id; ?>&amp;section_id=<?php echo $section_id; ?>';" style="width: 100%;" />
+	</td>
+	<td align="left" width="33%">
+		<input type="button" value="<?php echo $TEXT['ADD'].' '.$TEXT['GROUP']; ?>" onclick="javascript: window.location = '<?php echo WB_URL; ?>/modules/news/add_group.php?page_id=<?php echo $page_id; ?>&amp;section_id=<?php echo $section_id; ?>';" style="width: 100%;" />
+	</td>
+	<td align="right" width="33%">
+		<input type="button" value="<?php echo $TEXT['SETTINGS']; ?>" onclick="javascript: window.location = '<?php echo WB_URL; ?>/modules/news/modify_settings.php?page_id=<?php echo $page_id; ?>&amp;section_id=<?php echo $section_id; ?>';" style="width: 100%;" />
+	</td>
+</tr>
+</table>
+
+<br />
+
+<h2><?php echo $TEXT['MODIFY'].'/'.$TEXT['DELETE'].' '.$TEXT['POST']; ?></h2>
+
+<?php
+
+// Loop through existing posts
+$query_posts = $database->query("SELECT * FROM `".TABLE_PREFIX."mod_news_posts` WHERE section_id = '$section_id' ORDER BY position DESC");
+if($query_posts->numRows() > 0) {
+	$num_posts = $query_posts->numRows();
+	$row = 'a';
+	?>
+	<table cellpadding="2" cellspacing="0" border="0" width="100%">
+	<?php
+	while($post = $query_posts->fetchRow()) {
+		?>
+		<tr class="row_<?php echo $row; ?>">
+			<td width="20" style="padding-left: 5px;">
+				<a href="<?php echo WB_URL; ?>/modules/news/modify_post.php?page_id=<?php echo $page_id; ?>&amp;section_id=<?php echo $section_id; ?>&amp;post_id=<?php echo $post['post_id']; ?>" title="<?php echo $TEXT['MODIFY']; ?>">
+					<img src="<?php echo THEME_URL; ?>/images/modify_16.png" border="0" alt="Modify - " />
+				</a>
+			</td>
+			<td>
+				<a href="<?php echo WB_URL; ?>/modules/news/modify_post.php?page_id=<?php echo $page_id; ?>&amp;section_id=<?php echo $section_id; ?>&amp;post_id=<?php echo $post['post_id']; ?>">
+					<?php echo ($post['title']); ?>
+				</a>
+			</td>
+			<td width="180">
+				<?php echo $TEXT['GROUP'].': ';
+				// Get group title
+				$query_title = $database->query("SELECT title FROM ".TABLE_PREFIX."mod_news_groups WHERE group_id = '".$post['group_id']."'");
+				if($query_title->numRows() > 0) {
+					$fetch_title = $query_title->fetchRow();
+					echo ($fetch_title['title']);
+				} else {
+					echo $TEXT['NONE'];
+				}
+				?>
+			</td>
+			<td width="120">
+				<?php echo $TEXT['COMMENTS'].': ';
+				// Get number of comments
+				$query_title = $database->query("SELECT title FROM ".TABLE_PREFIX."mod_news_comments WHERE post_id = '".$post['post_id']."'");
+				echo $query_title->numRows();
+				?>
+			</td>
+			<td width="80">
+				<?php echo $TEXT['ACTIVE'].': '; if($post['active'] == 1) { echo $TEXT['YES']; } else { echo $TEXT['NO']; } ?>
+			</td>
+			<td width="20">
+			<?php
+			$start = $post['published_when'];
+			$end = $post['published_until'];
+			$t = time();
+			$icon = '';
+			if($start<=$t && $end==0)
+				$icon=THEME_URL.'/images/noclock_16.png';
+			elseif(($start<=$t || $start==0) && $end>=$t)
+				$icon=THEME_URL.'/images/clock_16.png';
+			else
+				$icon=THEME_URL.'/images/clock_red_16.png';
+			?>
+			<a href="<?php echo WB_URL; ?>/modules/news/modify_post.php?page_id=<?php echo $page_id; ?>&amp;section_id=<?php echo $section_id; ?>&amp;post_id=<?php echo $post['post_id']; ?>" title="<?php echo $TEXT['MODIFY']; ?>">
+				<img src="<?php echo $icon; ?>" border="0" alt="" />
+			</a>
+			</td>
+			<td width="20">
+			<?php if($post['position'] != $num_posts) { ?>
+				<a href="<?php echo WB_URL; ?>/modules/news/move_down.php?page_id=<?php echo $page_id; ?>&amp;section_id=<?php echo $section_id; ?>&amp;post_id=<?php echo $post['post_id']; ?>" title="<?php echo $TEXT['MOVE_UP']; ?>">
+					<img src="<?php echo THEME_URL; ?>/images/up_16.png" border="0" alt="^" />
+				</a>
+			<?php } ?>
+			</td>
+			<td width="20">
+			<?php if($post['position'] != 1) { ?>
+				<a href="<?php echo WB_URL; ?>/modules/news/move_up.php?page_id=<?php echo $page_id; ?>&amp;section_id=<?php echo $section_id; ?>&amp;post_id=<?php echo $post['post_id']; ?>" title="<?php echo $TEXT['MOVE_DOWN']; ?>">
+					<img src="<?php echo THEME_URL; ?>/images/down_16.png" border="0" alt="v" />
+				</a>
+			<?php } ?>
+			</td>
+			<td width="20">
+				<a href="javascript: confirm_link('<?php echo $TEXT['ARE_YOU_SURE']; ?>', '<?php echo WB_URL; ?>/modules/news/delete_post.php?page_id=<?php echo $page_id; ?>&amp;section_id=<?php echo $section_id; ?>&amp;post_id=<?php echo $post['post_id']; ?>');" title="<?php echo $TEXT['DELETE']; ?>">
+					<img src="<?php echo THEME_URL; ?>/images/delete_16.png" border="0" alt="X" />
+				</a>
+			</td>
+		</tr>
+		<?php
+		// Alternate row color
+		if($row == 'a') {
+			$row = 'b';
+		} else {
+			$row = 'a';
+		}
+	}
+	?>
+	</table>
+	<?php
+} else {
+	echo $TEXT['NONE_FOUND'];
+}
+
+?>
+
+<h2><?php echo $TEXT['MODIFY'].'/'.$TEXT['DELETE'].' '.$TEXT['GROUP']; ?></h2>
+
+<?php
+
+// Loop through existing groups
+$query_groups = $database->query("SELECT * FROM `".TABLE_PREFIX."mod_news_groups` WHERE section_id = '$section_id' ORDER BY position ASC");
+if($query_groups->numRows() > 0) {
+	$num_groups = $query_groups->numRows();
+	$row = 'a';
+	?>
+	<table cellpadding="2" cellspacing="0" border="0" width="100%">
+	<?php
+	while($group = $query_groups->fetchRow()) {
+		?>
+		<tr class="row_<?php echo $row; ?>">
+			<td width="20" style="padding-left: 5px;">
+				<a href="<?php echo WB_URL; ?>/modules/news/modify_group.php?page_id=<?php echo $page_id; ?>&amp;section_id=<?php echo $section_id; ?>&amp;group_id=<?php echo $group['group_id']; ?>" title="<?php echo $TEXT['MODIFY']; ?>">
+					<img src="<?php echo THEME_URL; ?>/images/modify_16.png" border="0" alt="Modify - " />
+				</a>
+			</td>		
+			<td>
+				<a href="<?php echo WB_URL; ?>/modules/news/modify_group.php?page_id=<?php echo $page_id; ?>&amp;section_id=<?php echo $section_id; ?>&amp;group_id=<?php echo $group['group_id']; ?>">
+					<?php echo $group['title']; ?>
+				</a>
+			</td>
+			<td width="80">
+				<?php echo $TEXT['ACTIVE'].': '; if($group['active'] == 1) { echo $TEXT['YES']; } else { echo $TEXT['NO']; } ?>
+			</td>
+			<td width="20">
+			<?php if($group['position'] != 1) { ?>
+				<a href="<?php echo WB_URL; ?>/modules/news/move_up.php?page_id=<?php echo $page_id; ?>&amp;section_id=<?php echo $section_id; ?>&amp;group_id=<?php echo $group['group_id']; ?>" title="<?php echo $TEXT['MOVE_UP']; ?>">
+					<img src="<?php echo THEME_URL; ?>/images/up_16.png" border="0" alt="^" />
+				</a>
+			<?php } ?>
+			</td>
+			<td width="20">
+			<?php if($group['position'] != $num_groups) { ?>
+				<a href="<?php echo WB_URL; ?>/modules/news/move_down.php?page_id=<?php echo $page_id; ?>&amp;section_id=<?php echo $section_id; ?>&amp;group_id=<?php echo $group['group_id']; ?>" title="<?php echo $TEXT['MOVE_DOWN']; ?>">
+					<img src="<?php echo THEME_URL; ?>/images/down_16.png" border="0" alt="v" />
+				</a>
+			<?php } ?>
+			</td>
+			<td width="20">
+				<a href="javascript: confirm_link('<?php echo $TEXT['ARE_YOU_SURE']; ?>', '<?php echo WB_URL; ?>/modules/news/delete_group.php?page_id=<?php echo $page_id; ?>&amp;group_id=<?php echo $group['group_id']; ?>');" title="<?php echo $TEXT['DELETE']; ?>">
+					<img src="<?php echo THEME_URL; ?>/images/delete_16.png" border="0" alt="X" />
+				</a>
+			</td>
+		</tr>
+		<?php
+		// Alternate row color
+		if($row == 'a') {
+			$row = 'b';
+		} else {
+			$row = 'a';
+		}
+	}
+	?>
+	</table>
+	<?php
+} else {
+	echo $TEXT['NONE_FOUND'];
+}
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/modify.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/backend.css
===================================================================
--- tags/2.8.2/wb/modules/news/backend.css	(nonexistent)
+++ tags/2.8.2/wb/modules/news/backend.css	(revision 1481)
@@ -0,0 +1,19 @@
+.setting_name {
+	vertical-align: top;
+	width: 20%;
+}
+.setting_value {
+	vertical-align: top;
+	width: 80%;
+}
+
+/* 
+  The definitions below provide the style for the edit CSS button 
+  Required CSS class name: input.mod_moduledirectory_edit_css
+*/
+input.mod_news_edit_css {
+  color: #000;
+  padding: 2px;
+  margin: -20px auto;
+  float: right;
+}		
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/backend.css
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/add.php
===================================================================
--- tags/2.8.2/wb/modules/news/add.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/add.php	(revision 1481)
@@ -0,0 +1,75 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// Must include code to stop this file being access directly
+if(defined('WB_PATH') == false) { exit("Cannot access this file directly"); }
+
+$header = '<table cellpadding=\"0\" cellspacing=\"0\" class=\"loop-header\">'."\n";
+$post_loop = '<tr class=\"post-top\">
+<td class=\"post-title\"><a href=\"[LINK]\">[TITLE]</a></td>
+<td class=\"post-date\">[PUBLISHED_DATE], [PUBLISHED_TIME]</td>
+</tr>
+<tr>
+<td class=\"post-short\" colspan=\"2\">
+[SHORT]
+<span style=\"visibility:[SHOW_READ_MORE];\"><a href=\"[LINK]\">[TEXT_READ_MORE]</a></span>
+</td>
+</tr>';
+$footer = '</table>
+<table cellpadding="0" cellspacing="0" class="page-header" style="display: [DISPLAY_PREVIOUS_NEXT_LINKS]">
+<tr>
+<td class="page-left">[PREVIOUS_PAGE_LINK]</td>
+<td class="page-center">[OF]</td>
+<td class="page-right">[NEXT_PAGE_LINK]</td>
+</tr>
+</table>';
+$post_header = addslashes('<table cellpadding="0" cellspacing="0" class="post-header">
+<tr>
+<td><h1>[TITLE]</h1></td>
+<td rowspan="3" style="display: [DISPLAY_IMAGE]">[GROUP_IMAGE]</td>
+</tr>
+<tr>
+<td class="public-info"><b>[TEXT_POSTED_BY] [DISPLAY_NAME] ([USERNAME]) [TEXT_ON] [PUBLISHED_DATE]</b></td>
+</tr>
+<tr style="display: [DISPLAY_GROUP]">
+<td class="group-page"><a href="[BACK]">[PAGE_TITLE]</a> &gt;&gt; <a href="[BACK]?g=[GROUP_ID]">[GROUP_TITLE]</a></td>
+</tr>
+</table>');
+$post_footer = '<p>[TEXT_LAST_CHANGED]: [MODI_DATE] [TEXT_AT] [MODI_TIME]</p>
+<a href=\"[BACK]\">[TEXT_BACK]</a>';
+$comments_header = addslashes('<br /><br />
+<h2>[TEXT_COMMENTS]</h2>
+<table cellpadding="2" cellspacing="0" class="comment-header">');
+$comments_loop = addslashes('<tr>
+<td class="comment_title">[TITLE]</td>
+<td class="comment_info">[TEXT_BY] [DISPLAY_NAME] [TEXT_ON] [DATE] [TEXT_AT] [TIME]</td>
+</tr>
+<tr>
+<td colspan="2" class="comment-text">[COMMENT]</td>
+</tr>');
+$comments_footer = '</table>
+<br /><a href=\"[ADD_COMMENT_URL]\">[TEXT_ADD_COMMENT]</a>';
+$comments_page = '<h1>[TEXT_COMMENT]</h1>
+<h2>[POST_TITLE]</h2>
+<br />';
+$commenting = 'none';
+$use_captcha = true;
+
+$database->query("INSERT INTO ".TABLE_PREFIX."mod_news_settings (section_id,page_id,header,post_loop,footer,post_header,post_footer,comments_header,comments_loop,comments_footer,comments_page,commenting,use_captcha) VALUES ('$section_id','$page_id','$header','$post_loop','$footer','$post_header','$post_footer','$comments_header','$comments_loop','$comments_footer','$comments_page','$commenting','$use_captcha')");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/add.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/modify_post.php
===================================================================
--- tags/2.8.2/wb/modules/news/modify_post.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/modify_post.php	(revision 1481)
@@ -0,0 +1,249 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+require('../../config.php');
+
+// Get id
+if(!isset($_GET['post_id']) OR !is_numeric($_GET['post_id'])) {
+	header("Location: ".ADMIN_URL."/pages/index.php");
+	exit(0);
+} else {
+	$post_id = $_GET['post_id'];
+}
+
+// Include WB admin wrapper script
+require(WB_PATH.'/modules/admin.php');
+
+// Get header and footer
+$query_content = $database->query("SELECT * FROM ".TABLE_PREFIX."mod_news_posts WHERE post_id = '$post_id'");
+$fetch_content = $query_content->fetchRow();
+
+if (!defined('WYSIWYG_EDITOR') OR WYSIWYG_EDITOR=="none" OR !file_exists(WB_PATH.'/modules/'.WYSIWYG_EDITOR.'/include.php')) {
+	function show_wysiwyg_editor($name,$id,$content,$width,$height) {
+		echo '<textarea name="'.$name.'" id="'.$id.'" rows="10" cols="1" style="width: '.$width.'; height: '.$height.';">'.$content.'</textarea>';
+	}
+} else {
+	$id_list=array("short","long");
+	require(WB_PATH.'/modules/'.WYSIWYG_EDITOR.'/include.php');
+}
+
+// include jscalendar-setup
+$jscal_use_time = true; // whether to use a clock, too
+require_once(WB_PATH."/include/jscalendar/wb-setup.php");
+?>
+<h2><?php echo $TEXT['ADD'].'/'.$TEXT['MODIFY'].' '.$TEXT['POST']; ?></h2>
+<div class="jsadmin jcalendar hide"></div> 
+<form name="modify" action="<?php echo WB_URL; ?>/modules/news/save_post.php" method="post" style="margin: 0;">
+
+<input type="hidden" name="section_id" value="<?php echo $section_id; ?>" />
+<input type="hidden" name="page_id" value="<?php echo $page_id; ?>" />
+<input type="hidden" name="post_id" value="<?php echo $post_id; ?>" />
+<input type="hidden" name="link" value="<?php echo $fetch_content['link']; ?>" />
+
+<table class="row_a" cellpadding="2" cellspacing="0" width="100%">
+<tr>
+	<td><?php echo $TEXT['TITLE']; ?>:</td>
+	<td width="80%">
+		<input type="text" name="title" value="<?php echo (htmlspecialchars($fetch_content['title'])); ?>" style="width: 98%;" maxlength="255" />
+	</td>
+</tr>
+<tr>
+	<td><?php echo $TEXT['GROUP']; ?>:</td>
+	<td>
+		<select name="group" style="width: 100%;">
+			<option value="0"><?php echo $TEXT['NONE']; ?></option>
+			<?php
+			$query = $database->query("SELECT group_id,title FROM ".TABLE_PREFIX."mod_news_groups WHERE section_id = '$section_id' ORDER BY position ASC");
+			if($query->numRows() > 0) {
+				// Loop through groups
+				while($group = $query->fetchRow()) {
+					?>
+					<option value="<?php echo $group['group_id']; ?>"<?php if($fetch_content['group_id'] == $group['group_id']) { echo ' selected="selected"'; } ?>><?php echo $group['title']; ?></option>
+					<?php
+				}
+			}
+			?>
+		</select>
+	</td>
+</tr>
+<tr>
+	<td><?php echo $TEXT['COMMENTING']; ?>:</td>
+	<td>
+		<select name="commenting" style="width: 100%;">
+			<option value="none"><?php echo $TEXT['DISABLED']; ?></option>
+			<option value="public" <?php if($fetch_content['commenting'] == 'public') { echo ' selected="selected"'; } ?>><?php echo $TEXT['PUBLIC']; ?></option>
+			<option value="private" <?php if($fetch_content['commenting'] == 'private') { echo ' selected="selected"'; } ?>><?php echo $TEXT['PRIVATE']; ?></option>
+		</select>
+	</td>
+</tr>
+<tr>
+	<td><?php echo $TEXT['ACTIVE']; ?>:</td>
+	<td>
+		<input type="radio" name="active" id="active_true" value="1" <?php if($fetch_content['active'] == 1) { echo ' checked="checked"'; } ?> />
+		<a href="#" onclick="javascript: document.getElementById('active_true').checked = true;">
+		<?php echo $TEXT['YES']; ?>
+		</a>
+		&nbsp;
+		<input type="radio" name="active" id="active_false" value="0" <?php if($fetch_content['active'] == 0) { echo ' checked="checked"'; } ?> />
+		<a href="#" onclick="javascript: document.getElementById('active_false').checked = true;">
+		<?php echo $TEXT['NO']; ?>
+		</a>
+	</td>
+</tr>
+<tr>
+	<td><?php echo $TEXT['PUBL_START_DATE']; ?>:</td>
+	<td>
+	<input type="text" id="publishdate" name="publishdate" value="<?php if($fetch_content['published_when']==0) print date($jscal_format, strtotime((date('Y-m-d H:i')))); else print date($jscal_format, $fetch_content['published_when']);?>" style="width: 120px;" />
+	<img src="<?php echo THEME_URL ?>/images/clock_16.png" id="publishdate_trigger" style="cursor: pointer;" title="<?php echo $TEXT['CALENDAR']; ?>" alt="<?php echo $TEXT['CALENDAR']; ?>" onmouseover="this.style.background='lightgrey';" onmouseout="this.style.background=''" />
+	<img src="<?php echo THEME_URL ?>/images/clock_del_16.png" style="cursor: pointer;" title="<?php echo $TEXT['DELETE_DATE']; ?>" alt="<?php echo $TEXT['DELETE_DATE']; ?>" onmouseover="this.style.background='lightgrey';" onmouseout="this.style.background=''" onclick="document.modify.publishdate.value=''" />
+	</td>
+</tr>
+<tr>
+	<td><?php echo $TEXT['PUBL_END_DATE']; ?>:</td>
+	<td>
+	<input type="text" id="enddate" name="enddate" value="<?php if($fetch_content['published_until']==0) print ""; else print date($jscal_format, $fetch_content['published_until'])?>" style="width: 120px;" />
+	<img src="<?php echo THEME_URL ?>/images/clock_16.png" id="enddate_trigger" style="cursor: pointer;" title="<?php echo $TEXT['CALENDAR']; ?>" alt="<?php echo $TEXT['CALENDAR']; ?>" onmouseover="this.style.background='lightgrey';" onmouseout="this.style.background=''" />
+	<img src="<?php echo THEME_URL ?>/images/clock_del_16.png" style="cursor: pointer;" title="<?php echo $TEXT['DELETE_DATE']; ?>" alt="<?php echo $TEXT['DELETE_DATE']; ?>" onmouseover="this.style.background='lightgrey';" onmouseout="this.style.background=''" onclick="document.modify.enddate.value=''" />
+	</td>
+</tr>
+</table>
+
+<table class="row_a" cellpadding="2" cellspacing="0" border="0" width="100%">
+<tr>
+	<td valign="top"><?php echo $TEXT['SHORT']; ?>:</td>
+</tr>
+<tr>
+	<td>
+	<?php
+	show_wysiwyg_editor("short","short",htmlspecialchars($fetch_content['content_short']),"100%","200px");
+	?>
+	</td>
+</tr>
+<tr>
+	<td valign="top"><?php echo $TEXT['LONG']; ?>:</td>
+</tr>
+<tr>
+	<td>
+	<?php
+	show_wysiwyg_editor("long","long",htmlspecialchars($fetch_content['content_long']),"100%","650px");
+	?>
+	</td>
+</tr>
+</table>
+
+<table cellpadding="2" cellspacing="0" border="0" width="100%">
+<tr>
+	<td align="left">
+		<input name="save" type="submit" value="<?php echo $TEXT['SAVE']; ?>" style="width: 100px; margin-top: 5px;" />
+	</td>
+	<td align="right">
+		<input type="button" value="<?php echo $TEXT['CANCEL']; ?>" onclick="javascript: window.location = '<?php echo ADMIN_URL; ?>/pages/modify.php?page_id=<?php echo $page_id; ?>';" style="width: 100px; margin-top: 5px;" />
+	</td>
+</tr>
+</table>
+</form>
+
+<script type="text/javascript">
+	Calendar.setup(
+		{
+			inputField  : "publishdate",
+			ifFormat    : "<?php echo $jscal_ifformat ?>",
+			button      : "publishdate_trigger",
+			firstDay    : <?php echo $jscal_firstday ?>,
+			<?php if(isset($jscal_use_time) && $jscal_use_time==TRUE)
+            { ?>
+				showsTime   : "true",
+				timeFormat  : "24",
+			<?php
+            } ?>
+			date        : "<?php echo $jscal_today ?>",
+			range       : [1970, 2037],
+			step        : 1
+		}
+	);
+	Calendar.setup(
+		{
+			inputField  : "enddate",
+			ifFormat    : "<?php echo $jscal_ifformat ?>",
+			button      : "enddate_trigger",
+			firstDay    : <?php echo $jscal_firstday ?>,
+			<?php if(isset($jscal_use_time) && $jscal_use_time==TRUE)
+            { ?>
+				showsTime   : "true",
+				timeFormat  : "24",
+			<?php
+            } ?>
+			date        : "<?php echo $jscal_today ?>",
+			range       : [1970, 2037],
+			step        : 1
+		}
+	);
+</script>
+
+<br />
+
+<h2><?php echo $TEXT['MODIFY'].'/'.$TEXT['DELETE'].' '.$TEXT['COMMENT']; ?></h2>
+
+<?php
+
+// Loop through existing posts
+$query_comments = $database->query("SELECT * FROM `".TABLE_PREFIX."mod_news_comments` WHERE section_id = '$section_id' AND post_id = '$post_id' ORDER BY commented_when DESC");
+if($query_comments->numRows() > 0) {
+	$row = 'a';
+	?>
+	<table cellpadding="2" cellspacing="0" border="0" width="100%">
+	<?php
+	while($comment = $query_comments->fetchRow()) {
+		?>
+		<tr class="row_<?php echo $row; ?>" >
+			<td width="20" style="padding-left: 5px;">
+				<a href="<?php echo WB_URL; ?>/modules/news/modify_comment.php?page_id=<?php echo $page_id; ?>&amp;section_id=<?php echo $section_id; ?>&amp;comment_id=<?php echo $comment['comment_id']; ?>" title="<?php echo $TEXT['MODIFY']; ?>">
+					<img src="<?php echo THEME_URL; ?>/images/modify_16.png" border="0" alt="^" />
+				</a>
+			</td>	
+			<td>
+				<a href="<?php echo WB_URL; ?>/modules/news/modify_comment.php?page_id=<?php echo $page_id; ?>&amp;section_id=<?php echo $section_id; ?>&amp;comment_id=<?php echo $comment['comment_id']; ?>">
+					<?php echo $comment['title']; ?>
+				</a>
+			</td>
+			<td width="20">
+				<a href="javascript: confirm_link('<?php echo $TEXT['ARE_YOU_SURE']; ?>', '<?php echo WB_URL; ?>/modules/news/delete_comment.php?page_id=<?php echo $page_id; ?>&amp;section_id=<?php echo $section_id; ?>&amp;post_id=<?php echo $post_id; ?>&amp;comment_id=<?php echo $comment['comment_id']; ?>');" title="<?php echo $TEXT['DELETE']; ?>">
+					<img src="<?php echo THEME_URL; ?>/images/delete_16.png" border="0" alt="X" />
+				</a>
+			</td>
+		</tr>
+		<?php
+		// Alternate row color
+		if($row == 'a') {
+			$row = 'b';
+		} else {
+			$row = 'a';
+		}
+	}
+	?>
+	</table>
+	<?php
+} else {
+	echo $TEXT['NONE_FOUND'];
+}
+
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/modify_post.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/move_down.php
===================================================================
--- tags/2.8.2/wb/modules/news/move_down.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/move_down.php	(revision 1481)
@@ -0,0 +1,54 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+require('../../config.php');
+
+// Get id
+if(!isset($_GET['post_id']) OR !is_numeric($_GET['post_id'])) {
+	if(!isset($_GET['group_id']) OR !is_numeric($_GET['group_id'])) {
+		header("Location: index.php");
+		exit(0);
+	} else {
+		$id = $_GET['group_id'];
+		$id_field = 'group_id';
+		$table = TABLE_PREFIX.'mod_news_groups';
+	}
+} else {
+	$id = $_GET['post_id'];
+	$id_field = 'post_id';
+	$table = TABLE_PREFIX.'mod_news_posts';
+}
+
+// Include WB admin wrapper script
+require(WB_PATH.'/modules/admin.php');
+
+// Include the ordering class
+require(WB_PATH.'/framework/class.order.php');
+
+// Create new order object an reorder
+$order = new order($table, 'position', $id_field, 'section_id');
+if($order->move_down($id)) {
+	$admin->print_success($TEXT['SUCCESS'], ADMIN_URL.'/pages/modify.php?page_id='.$page_id);
+} else {
+	$admin->print_error($TEXT['ERROR'], ADMIN_URL.'/pages/modify.php?page_id='.$page_id);
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/move_down.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/comment_page.php
===================================================================
--- tags/2.8.2/wb/modules/news/comment_page.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/comment_page.php	(revision 1481)
@@ -0,0 +1,131 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// Make sure page cannot be accessed directly
+if(!defined('WB_URL')) {
+	header('Location: ../index.php');
+	exit(0);
+}
+
+/* check if frontend.css file needs to be included into the <body></body> of page  */
+if ( (!function_exists('register_frontend_modfiles') || !defined('MOD_FRONTEND_CSS_REGISTERED')) && file_exists(WB_PATH .'/modules/news/frontend.css')) {
+	echo '<style type="text/css">';
+	include(WB_PATH .'/modules/news/frontend.css');
+	echo "\n</style>\n";
+}
+
+// check if module language file exists for the language set by the user (e.g. DE, EN)
+if(!file_exists(WB_PATH .'/modules/news/languages/'.LANGUAGE .'.php'))
+{
+	// no module language file exists for the language set by the user, include default module language file EN.php
+	require_once(WB_PATH .'/modules/news/languages/EN.php');
+}
+else
+{
+	// a module language file exists for the language defined by the user, load it
+	require_once(WB_PATH .'/modules/news/languages/'.LANGUAGE .'.php');
+}
+
+require_once(WB_PATH.'/include/captcha/captcha.php');
+
+// Get comments page template details from db
+$query_settings = $database->query("SELECT comments_page,use_captcha,commenting FROM ".TABLE_PREFIX."mod_news_settings WHERE section_id = '".SECTION_ID."'");
+if($query_settings->numRows() == 0)
+{
+	header("Location: ".WB_URL.PAGES_DIRECTORY."");
+	exit( 0 );
+}
+else
+{
+	$settings = $query_settings->fetchRow();
+
+	// Print comments page
+	$vars = array('[POST_TITLE]','[TEXT_COMMENT]');
+	$values = array(POST_TITLE, $MOD_NEWS['TEXT_COMMENT']);
+	echo str_replace($vars, $values, ($settings['comments_page']));
+	?>
+	<form name="comment" action="<?php echo WB_URL.'/modules/news/submit_comment.php?page_id='.PAGE_ID.'&amp;section_id='.SECTION_ID.'&amp;post_id='.POST_ID; ?>" method="post">
+	<?php if(ENABLED_ASP) { // add some honeypot-fields
+	?>
+	<input type="hidden" name="submitted_when" value="<?php $t=time(); echo $t; $_SESSION['submitted_when']=$t; ?>" />
+	<p class="nixhier">
+	email address:
+	<label for="email">Leave this field email blank:</label>
+	<input id="email" name="email" size="60" value="" /><br />
+	Homepage:
+	<label for="homepage">Leave this field homepage blank:</label>
+	<input id="homepage" name="homepage" size="60" value="" /><br />
+	URL:
+	<label for="url">Leave this field url blank:</label>
+	<input id="url" name="url" size="60" value="" /><br />
+	Comment:
+	<label for="comment">Leave this field comment blank:</label>
+	<input id="comment" name="comment" size="60" value="" /><br />
+	</p>
+	<?php }
+	?>
+	<?php echo $TEXT['TITLE']; ?>:
+	<br />
+	<input type="text" name="title" maxlength="255" style="width: 90%;"<?php if(isset($_SESSION['comment_title'])) { echo ' value="'.$_SESSION['comment_title'].'"'; unset($_SESSION['comment_title']); } ?> />
+	<br /><br />
+	<?php echo $TEXT['COMMENT']; 
+	?>:
+	<br />
+	<?php if(ENABLED_ASP) { ?>
+		<textarea name="comment_<?php echo date('W'); ?>" rows="10" cols="1" style="width: 90%; height: 150px;"><?php if(isset($_SESSION['comment_body'])) { echo $_SESSION['comment_body']; unset($_SESSION['comment_body']); } ?></textarea>
+	<?php } else { ?>
+		<textarea name="comment" rows="10" cols="1" style="width: 90%; height: 150px;"><?php if(isset($_SESSION['comment_body'])) { echo $_SESSION['comment_body']; unset($_SESSION['comment_body']); } ?></textarea>
+	<?php } ?>
+	<br /><br />
+	<?php
+	if(isset($_SESSION['captcha_error'])) {
+		echo '<font color="#FF0000">'.$_SESSION['captcha_error'].'</font><br />';
+		$_SESSION['captcha_retry_news'] = true;
+	}
+	// Captcha
+	if($settings['use_captcha']) {
+	?>
+	<table cellpadding="2" cellspacing="0" border="0">
+	<tr>
+		<td><?php echo $TEXT['VERIFICATION']; ?>:</td>
+		<td><?php call_captcha(); ?></td>
+	</tr>
+    </table>
+	<?php
+	if(isset($_SESSION['captcha_error'])) {
+		unset($_SESSION['captcha_error']);
+		?><script>document.comment.captcha.focus();</script><?php
+	}?>
+	<?php
+	}
+	?>
+	<table class="news-table">
+	<tr>
+	    <td>
+            <input type="submit" name="submit" value="<?php echo $MOD_NEWS['TEXT_ADD_COMMENT']; ?>" />
+        </td>
+        <td>
+		    <input type="button" value="<?php echo $TEXT['CANCEL']; ?>" onclick="history.go(-1)"  />
+        </td>
+	</tr>
+    </table>
+	</form>
+	<?php
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/comment_page.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/delete.php
===================================================================
--- tags/2.8.2/wb/modules/news/delete.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/delete.php	(revision 1481)
@@ -0,0 +1,49 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// Must include code to stop this file being access directly
+if(defined('WB_PATH') == false)
+{
+  exit("Cannot access this file directly");
+}
+
+//get and remove all php files created for the news section
+$query_details = $database->query("SELECT * FROM ".TABLE_PREFIX."mod_news_posts WHERE section_id = '$section_id'");
+if($query_details->numRows() > 0) {
+	while($link = $query_details->fetchRow()) {
+		if(is_writable(WB_PATH.PAGES_DIRECTORY.$link['link'].PAGE_EXTENSION)) {
+		unlink(WB_PATH.PAGES_DIRECTORY.$link['link'].PAGE_EXTENSION);
+		}
+	}
+}
+//check to see if any other sections are part of the news page, if only 1 news is there delete it
+$query_details = $database->query("SELECT * FROM ".TABLE_PREFIX."sections WHERE page_id = '$page_id'");
+if($query_details->numRows() == 1) {
+	$query_details2 = $database->query("SELECT * FROM ".TABLE_PREFIX."pages WHERE page_id = '$page_id'");
+	$link = $query_details2->fetchRow();
+	if(is_writable(WB_PATH.PAGES_DIRECTORY.$link['link'].PAGE_EXTENSION)) {
+		unlink(WB_PATH.PAGES_DIRECTORY.$link['link'].PAGE_EXTENSION);
+	}
+}
+
+$database->query("DELETE FROM ".TABLE_PREFIX."mod_news_posts WHERE section_id = '$section_id'");
+$database->query("DELETE FROM ".TABLE_PREFIX."mod_news_groups WHERE section_id = '$section_id'");
+$database->query("DELETE FROM ".TABLE_PREFIX."mod_news_comments WHERE section_id = '$section_id'");
+$database->query("DELETE FROM ".TABLE_PREFIX."mod_news_settings WHERE section_id = '$section_id'");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/delete.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/comment.php
===================================================================
--- tags/2.8.2/wb/modules/news/comment.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/comment.php	(revision 1481)
@@ -0,0 +1,90 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// Include config file
+require('../../config.php');
+
+// Check if there is a post id
+if(!isset($_GET['post_id']) OR !is_numeric($_GET['post_id'])
+    OR !isset($_GET['section_id']) OR !is_numeric($_GET['section_id']))
+{
+	header("Location: ".WB_URL.PAGES_DIRECTORY."");
+	exit( 0 );
+}
+$post_id = $_GET['post_id'];
+$section_id = $_GET['section_id'];
+
+// Query post for page id
+$query_post = $database->query("SELECT post_id,title,section_id,page_id FROM ".TABLE_PREFIX."mod_news_posts WHERE post_id = '$post_id'");
+if($query_post->numRows() == 0)
+{
+    header("Location: ".WB_URL.PAGES_DIRECTORY."");
+	exit( 0 );
+}
+else
+{
+	$fetch_post = $query_post->fetchRow();
+	$page_id = $fetch_post['page_id'];
+	$section_id = $fetch_post['section_id'];
+	$post_id = $fetch_post['post_id'];
+	$post_title = $fetch_post['title'];
+	define('SECTION_ID', $section_id);
+	define('POST_ID', $post_id);
+	define('POST_TITLE', $post_title);
+
+	// don't allow commenting if its disabled, or if post or group is inactive
+	$t = time();
+	$table_posts = TABLE_PREFIX."mod_news_posts";
+	$table_groups = TABLE_PREFIX."mod_news_groups";
+	$query = $database->query("
+		SELECT p.post_id
+		FROM $table_posts AS p LEFT OUTER JOIN $table_groups AS g ON p.group_id = g.group_id
+		WHERE p.post_id='$post_id' AND p.commenting != 'none' AND p.active = '1' AND ( g.active IS NULL OR g.active = '1' )
+		AND (p.published_when = '0' OR p.published_when <= $t) AND (p.published_until = 0 OR p.published_until >= $t)
+	");
+	if($query->numRows() == 0)
+    {
+		header("Location: ".WB_URL.PAGES_DIRECTORY."");
+	    exit( 0 );
+	}
+
+	// don't allow commenting if ASP enabled and user doesn't comes from the right view.php
+	if(ENABLED_ASP && (!isset($_SESSION['comes_from_view']) OR $_SESSION['comes_from_view']!=POST_ID))
+    {
+		header("Location: ".WB_URL.PAGES_DIRECTORY."");
+	    exit( 0 );
+	}
+
+	// Get page details
+	$query_page = $database->query("SELECT parent,page_title,menu_title,keywords,description,visibility FROM ".TABLE_PREFIX."pages WHERE page_id = '$page_id'");
+	if($query_page->numRows() == 0)
+    {
+		header("Location: ".WB_URL.PAGES_DIRECTORY."");
+	    exit( 0 );
+	}
+    else
+    {
+		$page = $query_page->fetchRow();
+		// Required page details
+		define('PAGE_CONTENT', WB_PATH.'/modules/news/comment_page.php');
+		// Include index (wrapper) file
+		require(WB_PATH.'/index.php');
+	}
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/comment.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/modify_group.php
===================================================================
--- tags/2.8.2/wb/modules/news/modify_group.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/modify_group.php	(revision 1481)
@@ -0,0 +1,101 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+require('../../config.php');
+
+// Get id
+if(!isset($_GET['group_id']) OR !is_numeric($_GET['group_id'])) {
+	header("Location: ".ADMIN_URL."/pages/index.php");
+	exit(0);
+} else {
+	$group_id = $_GET['group_id'];
+}
+
+// Include WB admin wrapper script
+require(WB_PATH.'/modules/admin.php');
+
+// Get header and footer
+$query_content = $database->query("SELECT * FROM ".TABLE_PREFIX."mod_news_groups WHERE group_id = '$group_id'");
+$fetch_content = $query_content->fetchRow();
+
+?>
+
+<h2><?php echo $TEXT['ADD'].'/'.$TEXT['MODIFY'].' '.$TEXT['GROUP']; ?></h2>
+
+<form name="modify" action="<?php echo WB_URL; ?>/modules/news/save_group.php" method="post" enctype="multipart/form-data" style="margin: 0;">
+
+<input type="hidden" name="section_id" value="<?php echo $section_id; ?>" />
+<input type="hidden" name="page_id" value="<?php echo $page_id; ?>" />
+<input type="hidden" name="group_id" value="<?php echo $group_id; ?>" />
+
+<table class="row_a" cellpadding="2" cellspacing="0" border="0" width="100%">
+<tr>
+	<td width="80"><?php echo $TEXT['TITLE']; ?>:</td>
+	<td>
+		<input type="text" name="title" value="<?php echo (htmlspecialchars($fetch_content['title'])); ?>" style="width: 98%;" maxlength="255" />
+	</td>
+</tr>
+<tr>
+	<td><?php echo $TEXT['IMAGE']; ?>:</td>
+	<?php if(file_exists(WB_PATH.MEDIA_DIRECTORY.'/.news/image'.$group_id.'.jpg')) { ?>
+	<td>
+		<a href="<?php echo WB_URL.MEDIA_DIRECTORY; ?>/.news/image<?php echo $group_id; ?>.jpg" target="_blank">View</a>
+		&nbsp;
+		<input type="checkbox" name="delete_image" id="delete_image" value="true" />
+		<label for="delete_image">Delete</label>
+	</td>
+	<?php } else { ?>
+	<td>
+		<input type="file" name="image" />
+	</td>
+	<?php } ?>
+</tr>
+<tr>
+	<td><?php echo $TEXT['ACTIVE']; ?>:</td>
+	<td>
+		<input type="radio" name="active" id="active_true" value="1" <?php if($fetch_content['active'] == 1) { echo ' checked="checked"'; } ?> />
+		<a href="#" onclick="javascript: document.getElementById('active_true').checked = true;">
+		<?php echo $TEXT['YES']; ?>
+		</a>
+		-
+		<input type="radio" name="active" id="active_false" value="0" <?php if($fetch_content['active'] == 0) { echo ' checked="checked"'; } ?> />
+		<a href="#" onclick="javascript: document.getElementById('active_false').checked = true;">
+		<?php echo $TEXT['NO']; ?>
+		</a>
+	</td>
+</tr>
+</table>
+
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+<tr>
+	<td align="left">
+		<input name="save" type="submit" value="<?php echo $TEXT['SAVE']; ?>" style="width: 100px; margin-top: 5px;" />
+	</td>
+	<td align="right">
+		<input type="button" value="<?php echo $TEXT['CANCEL']; ?>" onclick="javascript: window.location = '<?php echo ADMIN_URL; ?>/pages/modify.php?page_id=<?php echo $page_id; ?>';" style="width: 100px; margin-top: 5px;" />
+	</td>
+</tr>
+</table>
+</form>
+
+<?php
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/modify_group.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/save_post.php
===================================================================
--- tags/2.8.2/wb/modules/news/save_post.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/save_post.php	(revision 1481)
@@ -0,0 +1,163 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+require('../../config.php');
+
+require_once(WB_PATH."/include/jscalendar/jscalendar-functions.php");
+
+// Get id
+if(!isset($_POST['post_id']) OR !is_numeric($_POST['post_id']))
+{
+	header("Location: ".ADMIN_URL."/pages/index.php");
+	exit( 0 );
+}
+else
+{
+	$id = $_POST['post_id'];
+	$post_id = $id;
+}
+
+function create_file($filename, $filetime=NULL )
+{
+global $page_id, $section_id, $post_id;
+
+	// We need to create a new file
+	// First, delete old file if it exists
+	if(file_exists(WB_PATH.PAGES_DIRECTORY.$filename.PAGE_EXTENSION))
+    {
+        $filetime = isset($filetime) ? $filetime :  filemtime($filename);
+		unlink(WB_PATH.PAGES_DIRECTORY.$filename.PAGE_EXTENSION);
+	}
+    else {
+        $filetime = isset($filetime) ? $filetime : time();
+    }
+	// The depth of the page directory in the directory hierarchy
+	// '/pages' is at depth 1
+	$pages_dir_depth = count(explode('/',PAGES_DIRECTORY))-1;
+	// Work-out how many ../'s we need to get to the index page
+	$index_location = '../';
+	for($i = 0; $i < $pages_dir_depth; $i++)
+    {
+		$index_location .= '../';
+	}
+
+	// Write to the filename
+	$content = ''.
+'<?php
+$page_id = '.$page_id.';
+$section_id = '.$section_id.';
+$post_id = '.$post_id.';
+define("POST_SECTION", $section_id);
+define("POST_ID", $post_id);
+require("'.$index_location.'config.php");
+require(WB_PATH."/index.php");
+?>';
+	if($handle = fopen($filename, 'w+'))
+    {
+    	fwrite($handle, $content);
+    	fclose($handle);
+        if($filetime)
+        {
+        touch($filename, $filetime);
+        }
+    	change_mode($filename);
+    }
+
+}
+
+// Include WB admin wrapper script
+$update_when_modified = true; // Tells script to update when this page was last updated
+require(WB_PATH.'/modules/admin.php');
+
+// Validate all fields
+if($admin->get_post('title') == '' AND $admin->get_post('url') == '')
+{
+	$admin->print_error($MESSAGE['GENERIC']['FILL_IN_ALL'], WB_URL.'/modules/news/modify_post.php?page_id='.$page_id.'&section_id='.$section_id.'&post_id='.$id);
+}
+else
+{
+	$title = $admin->get_post_escaped('title');
+	$short = $admin->get_post_escaped('short');
+	$long = $admin->get_post_escaped('long');
+	$commenting = $admin->get_post_escaped('commenting');
+	$active = $admin->get_post_escaped('active');
+	$old_link = $admin->get_post_escaped('link');
+	$group_id = $admin->get_post_escaped('group');
+}
+
+// Get page link URL
+$query_page = $database->query("SELECT level,link FROM ".TABLE_PREFIX."pages WHERE page_id = '$page_id'");
+$page = $query_page->fetchRow();
+$page_level = $page['level'];
+$page_link = $page['link'];
+
+// Include WB functions file
+require(WB_PATH.'/framework/functions.php');
+
+// Work-out what the link should be
+$post_link = '/posts/'.page_filename($title).PAGE_SPACER.$post_id;
+
+// Make sure the post link is set and exists
+// Make news post access files dir
+make_dir(WB_PATH.PAGES_DIRECTORY.'/posts/');
+$file_create_time = '';
+if(!is_writable(WB_PATH.PAGES_DIRECTORY.'/posts/'))
+{
+	$admin->print_error($MESSAGE['PAGES']['CANNOT_CREATE_ACCESS_FILE']);
+}
+elseif(($old_link != $post_link) OR !file_exists(WB_PATH.PAGES_DIRECTORY.$post_link.PAGE_EXTENSION))
+{
+	// We need to create a new file
+	// First, delete old file if it exists
+	if(file_exists(WB_PATH.PAGES_DIRECTORY.$old_link.PAGE_EXTENSION))
+    {
+        $file_create_time = filemtime($old_link.PAGE_EXTENSION);
+		unlink(WB_PATH.PAGES_DIRECTORY.$old_link.PAGE_EXTENSION);
+	}
+
+    // Specify the filename
+    $filename = WB_PATH.PAGES_DIRECTORY.'/'.$post_link.PAGE_EXTENSION;
+    create_file($filename, $file_create_time);
+}
+
+
+// get publisedwhen and publisheduntil
+$publishedwhen = jscalendar_to_timestamp($admin->get_post_escaped('publishdate'));
+if($publishedwhen == '' || $publishedwhen < 1)
+	$publishedwhen=0;
+$publisheduntil = jscalendar_to_timestamp($admin->get_post_escaped('enddate'), $publishedwhen);
+if($publisheduntil == '' || $publisheduntil < 1)
+	$publisheduntil=0;
+
+// Update row
+$database->query("UPDATE ".TABLE_PREFIX."mod_news_posts SET group_id = '$group_id', title = '$title', link = '$post_link', content_short = '$short', content_long = '$long', commenting = '$commenting', active = '$active', published_when = '$publishedwhen', published_until = '$publisheduntil', posted_when = '".time()."', posted_by = '".$admin->get_user_id()."' WHERE post_id = '$post_id'");
+
+// Check if there is a db error, otherwise say successful
+if($database->is_error())
+{
+	$admin->print_error($database->get_error(), WB_URL.'/modules/news/modify_post.php?page_id='.$page_id.'&section_id='.$section_id.'&post_id='.$id);
+}
+else
+{
+	$admin->print_success($TEXT['SUCCESS'], ADMIN_URL.'/pages/modify.php?page_id='.$page_id);
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/save_post.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/add_group.php
===================================================================
--- tags/2.8.2/wb/modules/news/add_group.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/add_group.php	(revision 1481)
@@ -0,0 +1,46 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$ 
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+require('../../config.php');
+
+// Include WB admin wrapper script
+require(WB_PATH.'/modules/admin.php');
+
+// Include the ordering class
+require(WB_PATH.'/framework/class.order.php');
+// Get new order
+$order = new order(TABLE_PREFIX.'mod_news_groups', 'position', 'group_id', 'section_id');
+$position = $order->get_new($section_id);
+
+// Insert new row into database
+$database->query("INSERT INTO ".TABLE_PREFIX."mod_news_groups (section_id,page_id,position,active) VALUES ('$section_id','$page_id','$position','1')");
+
+// Get the id
+$group_id = $database->get_one("SELECT LAST_INSERT_ID()");
+
+// Say that a new record has been added, then redirect to modify page
+if($database->is_error()) {
+	$admin->print_error($database->get_error(), WB_URL.'/modules/news/modify_group.php?page_id='.$page_id.'&section_id='.$section_id.'&group_id='.$group_id);
+} else {
+	$admin->print_success($TEXT['SUCCESS'], WB_URL.'/modules/news/modify_group.php?page_id='.$page_id.'&section_id='.$section_id.'&group_id='.$group_id);
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/add_group.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/install.php
===================================================================
--- tags/2.8.2/wb/modules/news/install.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/install.php	(revision 1481)
@@ -0,0 +1,172 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version      	$Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+if(defined('WB_URL'))
+{
+	
+	// $database->query("DROP TABLE IF EXISTS `".TABLE_PREFIX."mod_news_posts`");
+	$mod_news = 'CREATE TABLE IF NOT EXISTS `'.TABLE_PREFIX.'mod_news_posts` ( '
+					 . '`post_id` INT NOT NULL AUTO_INCREMENT,'
+					 . '`section_id` INT NOT NULL DEFAULT \'0\','
+					 . '`page_id` INT NOT NULL DEFAULT \'0\','
+					 . '`group_id` INT NOT NULL DEFAULT \'0\','
+					 . '`active` INT NOT NULL DEFAULT \'0\','
+					 . '`position` INT NOT NULL DEFAULT \'0\','
+					 . '`title` VARCHAR(255) NOT NULL DEFAULT \'\','
+					 . '`link` TEXT NOT NULL ,'
+					 . '`content_short` TEXT NOT NULL ,'
+					 . '`content_long` TEXT NOT NULL ,'
+					 . '`commenting` VARCHAR(7) NOT NULL DEFAULT \'\','
+					 . '`published_when` INT NOT NULL DEFAULT \'0\','
+					 . '`published_until` INT NOT NULL DEFAULT \'0\','
+					 . '`posted_when` INT NOT NULL DEFAULT \'0\','
+					 . '`posted_by` INT NOT NULL DEFAULT \'0\','
+					 . 'PRIMARY KEY (post_id)'
+					 . ' )';
+	$database->query($mod_news);
+	
+	// $database->query("DROP TABLE IF EXISTS `".TABLE_PREFIX."mod_news_groups`");
+	$mod_news = 'CREATE TABLE IF NOT EXISTS `'.TABLE_PREFIX.'mod_news_groups` ( '
+					 . '`group_id` INT NOT NULL AUTO_INCREMENT,'
+					 . '`section_id` INT NOT NULL DEFAULT \'0\','
+					 . '`page_id` INT NOT NULL DEFAULT \'0\','
+					 . '`active` INT NOT NULL DEFAULT \'0\','
+					 . '`position` INT NOT NULL DEFAULT \'0\','
+					 . '`title` VARCHAR(255) NOT NULL DEFAULT \'\','
+					 . 'PRIMARY KEY (group_id)'
+                . ' )';
+	$database->query($mod_news);
+	
+	// $database->query("DROP TABLE IF EXISTS `".TABLE_PREFIX."mod_news_comments`");
+	$mod_news = 'CREATE TABLE IF NOT EXISTS `'.TABLE_PREFIX.'mod_news_comments` ( '
+					 . '`comment_id` INT NOT NULL AUTO_INCREMENT,'
+					 . '`section_id` INT NOT NULL DEFAULT \'0\','
+					 . '`page_id` INT NOT NULL DEFAULT \'0\','
+					 . '`post_id` INT NOT NULL DEFAULT \'0\','
+					 . '`title` VARCHAR(255) NOT NULL DEFAULT \'\','
+					 . '`comment` TEXT NOT NULL ,'
+		   	    . '`commented_when` INT NOT NULL DEFAULT \'0\','
+					 . '`commented_by` INT NOT NULL DEFAULT \'0\','
+					 . 'PRIMARY KEY (comment_id)'
+                . ' )';
+
+	$database->query($mod_news);
+	
+	// $database->query("DROP TABLE IF EXISTS `".TABLE_PREFIX."mod_news_settings`");
+	$mod_news = 'CREATE TABLE IF NOT EXISTS `'.TABLE_PREFIX.'mod_news_settings` ( '
+					 . '`section_id` INT NOT NULL DEFAULT \'0\','
+					 . '`page_id` INT NOT NULL DEFAULT \'0\','
+					 . '`header` TEXT NOT NULL ,'
+					 . '`post_loop` TEXT NOT NULL ,'
+					 . '`footer` TEXT NOT NULL ,'
+					 . '`posts_per_page` INT NOT NULL DEFAULT \'0\','
+					 . '`post_header` TEXT NOT NULL,'
+					 . '`post_footer` TEXT NOT NULL,'
+					 . '`comments_header` TEXT NOT NULL,'
+					 . '`comments_loop` TEXT NOT NULL,'
+					 . '`comments_footer` TEXT NOT NULL,'
+					 . '`comments_page` TEXT NOT NULL,'
+					 . '`commenting` VARCHAR(7) NOT NULL DEFAULT \'\','
+					 . '`resize` INT NOT NULL DEFAULT \'0\','
+					 . ' `use_captcha` INT NOT NULL DEFAULT \'0\','
+					 . 'PRIMARY KEY (section_id)'
+                . ' )';
+
+	$database->query($mod_news);
+		
+    $mod_search = "SELECT * FROM ".TABLE_PREFIX."search WHERE value = 'news'";
+    $insert_search = $database->query($mod_search);
+    if( $insert_search->numRows() == 0 )
+    {
+    	// Insert info into the search table
+    	// Module query info
+    	$field_info = array();
+    	$field_info['page_id'] = 'page_id';
+    	$field_info['title'] = 'page_title';
+    	$field_info['link'] = 'link';
+    	$field_info['description'] = 'description';
+    	$field_info['modified_when'] = 'modified_when';
+    	$field_info['modified_by'] = 'modified_by';
+    	$field_info = serialize($field_info);
+    	$database->query("INSERT INTO ".TABLE_PREFIX."search (name,value,extra) VALUES ('module', 'news', '$field_info')");
+    	// Query start
+    	$query_start_code = "SELECT [TP]pages.page_id, [TP]pages.page_title,	[TP]pages.link, [TP]pages.description, [TP]pages.modified_when, [TP]pages.modified_by	FROM [TP]mod_news_posts, [TP]mod_news_groups, [TP]mod_news_comments, [TP]mod_news_settings, [TP]pages WHERE ";
+    	$database->query("INSERT INTO ".TABLE_PREFIX."search (name,value,extra) VALUES ('query_start', '$query_start_code', 'news')");
+    	// Query body
+    	$query_body_code = "
+    	[TP]pages.page_id = [TP]mod_news_posts.page_id AND [TP]mod_news_posts.title LIKE \'%[STRING]%\'
+    	OR [TP]pages.page_id = [TP]mod_news_posts.page_id AND [TP]mod_news_posts.content_short LIKE \'%[STRING]%\'
+    	OR [TP]pages.page_id = [TP]mod_news_posts.page_id AND [TP]mod_news_posts.content_long LIKE \'%[STRING]%\'
+    	OR [TP]pages.page_id = [TP]mod_news_comments.page_id AND [TP]mod_news_comments.title LIKE \'%[STRING]%\'
+    	OR [TP]pages.page_id = [TP]mod_news_comments.page_id AND [TP]mod_news_comments.comment LIKE \'%[STRING]%\'
+    	OR [TP]pages.page_id = [TP]mod_news_settings.page_id AND [TP]mod_news_settings.header LIKE \'%[STRING]%\'
+    	OR [TP]pages.page_id = [TP]mod_news_settings.page_id AND [TP]mod_news_settings.footer LIKE \'%[STRING]%\'
+    	OR [TP]pages.page_id = [TP]mod_news_settings.page_id AND [TP]mod_news_settings.post_header LIKE \'%[STRING]%\'
+    	OR [TP]pages.page_id = [TP]mod_news_settings.page_id AND [TP]mod_news_settings.post_footer LIKE \'%[STRING]%\'
+    	OR [TP]pages.page_id = [TP]mod_news_settings.page_id AND [TP]mod_news_settings.comments_header LIKE \'%[STRING]%\'
+    	OR [TP]pages.page_id = [TP]mod_news_settings.page_id AND [TP]mod_news_settings.comments_footer LIKE \'%[STRING]%\'";
+    	$database->query("INSERT INTO ".TABLE_PREFIX."search (name,value,extra) VALUES ('query_body', '$query_body_code', 'news')");
+    	// Query end
+    	$query_end_code = "";
+    	$database->query("INSERT INTO ".TABLE_PREFIX."search (name,value,extra) VALUES ('query_end', '$query_end_code', 'news')");
+
+    	// Insert blank row (there needs to be at least on row for the search to work)
+    	$database->query("INSERT INTO ".TABLE_PREFIX."mod_news_posts (section_id,page_id) VALUES ('0', '0')");
+    	$database->query("INSERT INTO ".TABLE_PREFIX."mod_news_groups (section_id,page_id) VALUES ('0', '0')");
+    	$database->query("INSERT INTO ".TABLE_PREFIX."mod_news_comments (section_id,page_id) VALUES ('0', '0')");
+    	$database->query("INSERT INTO ".TABLE_PREFIX."mod_news_settings (section_id,page_id) VALUES ('0', '0')");
+    }
+
+	// Make news post access files dir
+	require_once(WB_PATH.'/framework/functions.php');
+	if(make_dir(WB_PATH.PAGES_DIRECTORY.'/posts')) {
+		// Add a index.php file to prevent directory spoofing
+		$content = ''.
+"<?php
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../');
+?>";
+		$handle = fopen(WB_PATH.PAGES_DIRECTORY.'/posts/index.php', 'w');
+		fwrite($handle, $content);
+		fclose($handle);
+		change_mode(WB_PATH.PAGES_DIRECTORY.'/posts/index.php', 'file');
+	}
+};
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/install.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/index.php
===================================================================
--- tags/2.8.2/wb/modules/news/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/index.php	(revision 1481)
@@ -0,0 +1,20 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+header("Location: ../../index.php");
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/rss.php
===================================================================
--- tags/2.8.2/wb/modules/news/rss.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/rss.php	(revision 1481)
@@ -0,0 +1,90 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// Check that GET values have been supplied
+if(isset($_GET['page_id']) AND is_numeric($_GET['page_id'])) {
+	$page_id = $_GET['page_id'];
+} else {
+	header('Location: /');
+	exit(0);
+}
+if(isset($_GET['group_id']) AND is_numeric($_GET['group_id'])) {
+	$group_id = $_GET['group_id'];
+	define('GROUP_ID', $group_id);
+}
+
+// Include WB files
+require_once('../../config.php');
+require_once(WB_PATH.'/framework/class.frontend.php');
+$database = new database();
+$wb = new frontend();
+$wb->page_id = $page_id;
+$wb->get_page_details();
+$wb->get_website_settings();
+
+//checkout if a charset is defined otherwise use UTF-8
+if(defined('DEFAULT_CHARSET')) {
+	$charset=DEFAULT_CHARSET;
+} else {
+	$charset='utf-8';
+}
+
+// Sending XML header
+header("Content-type: text/xml; charset=$charset" );
+
+// Header info
+// Required by CSS 2.0
+echo '<?xml version="1.0" encoding="'.$charset.'"?>';
+?> 
+<rss version="2.0">
+	<channel>
+		<title><?php echo PAGE_TITLE; ?></title>
+		<link>http://<?php echo $_SERVER['SERVER_NAME']; ?></link>
+		<description> <?php echo PAGE_DESCRIPTION; ?></description>
+<?php
+// Optional header info 
+?>
+		<language><?php echo strtolower(DEFAULT_LANGUAGE); ?></language>
+		<copyright><?php $thedate = date('Y'); $websitetitle = WEBSITE_TITLE; echo "Copyright {$thedate}, {$websitetitle}"; ?></copyright>
+		<managingEditor><?php echo SERVER_EMAIL; ?></managingEditor>
+		<webMaster><?php echo SERVER_EMAIL; ?></webMaster>
+		<category><?php echo WEBSITE_TITLE; ?></category>
+		<generator>WebsiteBaker Content Management System</generator>
+<?php
+// Get news items from database
+$t = TIME();
+$time_check_str= "(published_when = '0' OR published_when <= ".$t.") AND (published_until = 0 OR published_until >= ".$t.")";
+//Query
+if(isset($group_id)) {
+	$query = "SELECT * FROM ".TABLE_PREFIX."mod_news_posts WHERE group_id=".$group_id." AND page_id = ".$page_id." AND active=1 AND ".$time_check_str." ORDER BY posted_when DESC";
+} else {
+	$query = "SELECT * FROM ".TABLE_PREFIX."mod_news_posts WHERE page_id=".$page_id." AND active=1 AND ".$time_check_str." ORDER BY posted_when DESC";	
+}
+$result = $database->query($query);
+
+//Generating the news items
+while($item = $result->fetchRow()){ ?>
+		<item>
+			<title><![CDATA[<?php echo stripslashes($item["title"]); ?>]]></title>
+			<description><![CDATA[<?php echo stripslashes($item["content_short"]); ?>]]></description>
+			<guid><?php echo WB_URL.PAGES_DIRECTORY.$item["link"].PAGE_EXTENSION; ?></guid>
+			<link><?php echo WB_URL.PAGES_DIRECTORY.$item["link"].PAGE_EXTENSION; ?></link>
+		</item>
+<?php } ?>
+	</channel>
+</rss>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/rss.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/delete_group.php
===================================================================
--- tags/2.8.2/wb/modules/news/delete_group.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/delete_group.php	(revision 1481)
@@ -0,0 +1,46 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+require('../../config.php');
+
+// Get id
+if(!isset($_GET['group_id']) OR !is_numeric($_GET['group_id'])) {
+	header("Location: ".ADMIN_URL."/pages/index.php");
+	exit(0);
+} else {
+	$group_id = $_GET['group_id'];
+}
+
+// Include WB admin wrapper script
+$update_when_modified = true; // Tells script to update when this page was last updated
+require(WB_PATH.'/modules/admin.php');
+
+$database->query("UPDATE ".TABLE_PREFIX."mod_news_posts SET group_id = '0' where group_id='$group_id'");
+// Update row
+$database->query("DELETE FROM ".TABLE_PREFIX."mod_news_groups WHERE group_id = '$group_id'");
+// Check if there is a db error, otherwise say successful
+if($database->is_error()) {
+	$admin->print_error($database->get_error(), ADMIN_URL.'/pages/modify.php?page_id='.$page_id);
+} else {
+	$admin->print_success($TEXT['SUCCESS'], ADMIN_URL.'/pages/modify.php?page_id='.$page_id);
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/delete_group.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/languages/NL.php
===================================================================
--- tags/2.8.2/wb/modules/news/languages/NL.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/languages/NL.php	(revision 1481)
@@ -0,0 +1,40 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+
+//Modul Description
+$module_description = 'Met deze module maak je een nieuwspagina.';
+
+//Variables for the backend
+$MOD_NEWS['SETTINGS'] = 'Eigenschappen van de Nieuwsmodule';
+
+//Variables for the frontend
+$MOD_NEWS['TEXT_READ_MORE'] = 'Lees verder';
+$MOD_NEWS['TEXT_POSTED_BY'] = 'Geplaatst door';
+$MOD_NEWS['TEXT_ON'] = 'op';
+$MOD_NEWS['TEXT_LAST_CHANGED'] = 'Laatst vernieuwd';
+$MOD_NEWS['TEXT_AT'] = 'om';
+$MOD_NEWS['TEXT_BACK'] = 'Terug';
+$MOD_NEWS['TEXT_COMMENTS'] = 'Commentaren';
+$MOD_NEWS['TEXT_COMMENT'] = 'Commentaar';
+$MOD_NEWS['TEXT_ADD_COMMENT'] = 'Toevoegen commentaar';
+$MOD_NEWS['TEXT_BY'] = 'door';
+$MOD_NEWS['PAGE_NOT_FOUND'] = 'Pagina niet gevonden';
+$TEXT['UNKNOWN'] = 'Guest';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/languages/NL.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/languages/NO.php
===================================================================
--- tags/2.8.2/wb/modules/news/languages/NO.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/languages/NO.php	(revision 1481)
@@ -0,0 +1,39 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+//Modul Description
+$module_description = 'Med denne modulen kan du lage Nyhets sider.';
+  
+//Variables for the backend
+$MOD_NEWS['SETTINGS'] = 'Innstillinger for Nyheter';
+
+//Variables for the frontend
+$MOD_NEWS['TEXT_READ_MORE'] = 'Les Mer';
+$MOD_NEWS['TEXT_POSTED_BY'] = 'Skervet Av';
+$MOD_NEWS['TEXT_ON'] = 'P&aring;';
+$MOD_NEWS['TEXT_LAST_CHANGED'] = 'Sist Endret';
+$MOD_NEWS['TEXT_AT'] = 'p&aring;';
+$MOD_NEWS['TEXT_BACK'] = 'Tilbake';
+$MOD_NEWS['TEXT_COMMENTS'] = 'Kommentarer';
+$MOD_NEWS['TEXT_COMMENT'] = 'Kommentar';
+$MOD_NEWS['TEXT_ADD_COMMENT'] = 'Legg Til Kommentar';
+$MOD_NEWS['TEXT_BY'] = 'Av';
+$MOD_NEWS['PAGE_NOT_FOUND'] = 'Finner ikke siden ';
+$TEXT['UNKNOWN'] = 'Guest';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/languages/NO.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/languages/EN.php
===================================================================
--- tags/2.8.2/wb/modules/news/languages/EN.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/languages/EN.php	(revision 1481)
@@ -0,0 +1,39 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+//Modul Description
+$module_description = 'This page type is designed for making a news page.';
+
+//Variables for the backend
+$MOD_NEWS['SETTINGS'] = 'News Settings';
+
+//Variables for the frontend
+$MOD_NEWS['TEXT_READ_MORE'] = 'Read More';
+$MOD_NEWS['TEXT_POSTED_BY'] = 'Posted by';
+$MOD_NEWS['TEXT_ON'] = 'on';
+$MOD_NEWS['TEXT_LAST_CHANGED'] = 'Last changed';
+$MOD_NEWS['TEXT_AT'] = 'at';
+$MOD_NEWS['TEXT_BACK'] = 'Back';
+$MOD_NEWS['TEXT_COMMENTS'] = 'Comments';
+$MOD_NEWS['TEXT_COMMENT'] = 'Comment';
+$MOD_NEWS['TEXT_ADD_COMMENT'] = 'Add Comment';
+$MOD_NEWS['TEXT_BY'] = 'By';
+$MOD_NEWS['PAGE_NOT_FOUND'] = 'Page not found';
+$TEXT['UNKNOWN'] = 'Guest';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/languages/EN.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/languages/DA.php
===================================================================
--- tags/2.8.2/wb/modules/news/languages/DA.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/languages/DA.php	(revision 1481)
@@ -0,0 +1,39 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+//Modul Description
+$module_description = 'Denne side er beregnet til at lave en nyhedsside.';
+
+//Variables for the backend
+$MOD_NEWS['SETTINGS'] = 'Nyhedsindstillinger';
+
+//Variables for the frontend
+$MOD_NEWS['TEXT_READ_MORE'] = 'L&aelig;s mere';
+$MOD_NEWS['TEXT_POSTED_BY'] = 'Indsendt af';
+$MOD_NEWS['TEXT_ON'] = 'den';
+$MOD_NEWS['TEXT_LAST_CHANGED'] = 'Sidst &aelig;ndret';
+$MOD_NEWS['TEXT_AT'] = 'kl.';
+$MOD_NEWS['TEXT_BACK'] = 'Tilbage';
+$MOD_NEWS['TEXT_COMMENTS'] = 'Kommentarer';
+$MOD_NEWS['TEXT_COMMENT'] = 'Kommentar';
+$MOD_NEWS['TEXT_ADD_COMMENT'] = 'Tilf&oslash;j kommentar';
+$MOD_NEWS['TEXT_BY'] = 'Af';
+$MOD_NEWS['PAGE_NOT_FOUND'] = 'Page not found';
+$TEXT['UNKNOWN'] = 'Guest';
+
+?>

Property changes on: tags/2.8.2/wb/modules/news/languages/DA.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/languages/RU.php
===================================================================
--- tags/2.8.2/wb/modules/news/languages/RU.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/languages/RU.php	(revision 1481)
@@ -0,0 +1,39 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+//Modul Description
+$module_description = '&#1052;&#1086;&#1076;&#1091;&#1083;&#1100; &#1087;&#1088;&#1077;&#1076;&#1085;&#1072;&#1079;&#1085;&#1072;&#1095;&#1077;&#1085; &#1076;&#1083;&#1103; &#1089;&#1086;&#1079;&#1076;&#1072;&#1085;&#1080;&#1103; &#1083;&#1077;&#1085;&#1090;&#1099; &#1085;&#1086;&#1074;&#1086;&#1089;&#1090;&#1077;&#1081;';
+
+//Variables for the backend
+$MOD_NEWS['SETTINGS'] = '&#1053;&#1072;&#1089;&#1090;&#1088;&#1086;&#1081;&#1082;&#1080; &#1085;&#1086;&#1074;&#1086;&#1089;&#1090;&#1085;&#1086;&#1081; &#1083;&#1077;&#1085;&#1090;&#1099;';
+
+//Variables for the frontend
+$MOD_NEWS['TEXT_READ_MORE'] = '&#1063;&#1080;&#1090;&#1072;&#1090;&#1100; &#1076;&#1072;&#1083;&#1100;&#1096;&#1077;';
+$MOD_NEWS['TEXT_POSTED_BY'] = 'Posted by';
+$MOD_NEWS['TEXT_ON'] = 'on';
+$MOD_NEWS['TEXT_LAST_CHANGED'] = '&#1055;&#1086;&#1089;&#1083;&#1077;&#1076;&#1085;&#1077;&#1077; &#1086;&#1073;&#1085;&#1086;&#1074;&#1083;&#1077;&#1085;&#1080;&#1077;';
+$MOD_NEWS['TEXT_AT'] = 'at';
+$MOD_NEWS['TEXT_BACK'] = '&#1053;&#1072;&#1079;&#1072;&#1076;';
+$MOD_NEWS['TEXT_COMMENTS'] = '&#1050;&#1086;&#1084;&#1084;&#1077;&#1085;&#1090;&#1072;&#1088;&#1080;&#1080;';
+$MOD_NEWS['TEXT_COMMENT'] = '&#1050;&#1086;&#1084;&#1084;&#1077;&#1085;&#1090;&#1080;&#1088;&#1086;&#1074;&#1072;&#1090;&#1100;';
+$MOD_NEWS['TEXT_ADD_COMMENT'] = '&#1044;&#1086;&#1073;&#1072;&#1074;&#1080;&#1090;&#1100; &#1050;&#1086;&#1084;&#1084;&#1077;&#1085;&#1090;&#1080;&#1088;&#1086;&#1074;&#1072;&#1090;&#1100;';
+$MOD_NEWS['TEXT_BY'] = 'By';
+$MOD_NEWS['PAGE_NOT_FOUND'] = 'Page not found';
+$TEXT['UNKNOWN'] = 'Guest';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/languages/RU.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/languages/FR.php
===================================================================
--- tags/2.8.2/wb/modules/news/languages/FR.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/languages/FR.php	(revision 1481)
@@ -0,0 +1,39 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+//Module Description
+$module_description = 'Ce type de page est conçu &agrave faire une page de nouvelles.';
+
+//Variables for the  backend
+$MOD_NEWS['SETTINGS'] = 'Configurations Nouvelles';
+
+//Variables for the frontend
+$MOD_NEWS['TEXT_READ_MORE'] = 'En savoir plus';
+$MOD_NEWS['TEXT_POSTED_BY'] = 'Post&eacute; par';
+$MOD_NEWS['TEXT_ON'] = '&agrave;';
+$MOD_NEWS['TEXT_LAST_CHANGED'] = 'Derni&egrave;re modification';
+$MOD_NEWS['TEXT_AT'] = '&agrave;';
+$MOD_NEWS['TEXT_BACK'] = 'Retour';
+$MOD_NEWS['TEXT_COMMENTS'] = 'Commentaires';
+$MOD_NEWS['TEXT_COMMENT'] = 'Commentaire';
+$MOD_NEWS['TEXT_ADD_COMMENT'] = 'Ajouter un commentaire';
+$MOD_NEWS['TEXT_BY'] = 'Par';
+$MOD_NEWS['PAGE_NOT_FOUND'] = 'Page non trouv&eacute;e';
+$TEXT['UNKNOWN'] = 'Invit&eacute;';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/languages/FR.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/languages/index.php
===================================================================
--- tags/2.8.2/wb/modules/news/languages/index.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/languages/index.php	(revision 1481)
@@ -0,0 +1,21 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+header("Location: ../../../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/languages/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/languages/SE.php
===================================================================
--- tags/2.8.2/wb/modules/news/languages/SE.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/languages/SE.php	(revision 1481)
@@ -0,0 +1,39 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+//Modul Description
+$module_description = 'Den h&auml;r sidtypen &auml;r designad f&ouml;r att skapa en nyhetssida.';
+
+//Variables for the backend
+$MOD_NEWS['SETTINGS'] = 'Inst&auml;llningar';
+
+//Variables for the frontend
+$MOD_NEWS['TEXT_READ_MORE'] = 'L&auml;s mer';
+$MOD_NEWS['TEXT_POSTED_BY'] = 'Postat av';
+$MOD_NEWS['TEXT_ON'] = 'den';
+$MOD_NEWS['TEXT_LAST_CHANGED'] = 'Senaste &auml;ndring';
+$MOD_NEWS['TEXT_AT'] = 'kl.';
+$MOD_NEWS['TEXT_BACK'] = 'Tillbaka';
+$MOD_NEWS['TEXT_COMMENTS'] = 'Kommentarer';
+$MOD_NEWS['TEXT_COMMENT'] = 'kommentar';
+$MOD_NEWS['TEXT_ADD_COMMENT'] = 'Kommentera';
+$MOD_NEWS['TEXT_BY'] = 'Av';
+$MOD_NEWS['PAGE_NOT_FOUND'] = 'Sidan kunde inte hittas';
+$TEXT['UNKNOWN'] = 'Guest';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/languages/SE.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/languages/DE.php
===================================================================
--- tags/2.8.2/wb/modules/news/languages/DE.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/languages/DE.php	(revision 1481)
@@ -0,0 +1,39 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+//Modul Description
+$module_description = 'Mit diesem Modul k&ouml;nnen sie eine News Seite ihrer Seite hinzuf&uuml;gen.';
+
+//Variables for the backend
+$MOD_NEWS['SETTINGS'] = 'News Einstellungen';
+
+//Variables for the frontend
+$MOD_NEWS['TEXT_READ_MORE'] = 'Weiterlesen';
+$MOD_NEWS['TEXT_POSTED_BY'] = 'Ver&ouml;ffentlicht von';
+$MOD_NEWS['TEXT_ON'] = 'am';
+$MOD_NEWS['TEXT_LAST_CHANGED'] = 'Zuletzt ge&auml;ndert am';
+$MOD_NEWS['TEXT_AT'] = 'um';
+$MOD_NEWS['TEXT_BACK'] = 'Zur&uuml;ck';
+$MOD_NEWS['TEXT_COMMENTS'] = 'Kommentare';
+$MOD_NEWS['TEXT_COMMENT'] = 'Kommentar';
+$MOD_NEWS['TEXT_ADD_COMMENT'] = 'Kommentar hinzuf&uuml;gen';
+$MOD_NEWS['TEXT_BY'] = 'von';
+$MOD_NEWS['PAGE_NOT_FOUND'] = 'Seite nicht gefunden';
+$TEXT['UNKNOWN'] = 'Gast';
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/languages/DE.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/save_comment.php
===================================================================
--- tags/2.8.2/wb/modules/news/save_comment.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/save_comment.php	(revision 1481)
@@ -0,0 +1,65 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+require('../../config.php');
+
+// Get id
+if(!isset($_POST['comment_id']) OR !is_numeric($_POST['comment_id']) OR !isset($_POST['post_id']) OR !is_numeric($_POST['post_id']))
+{
+
+	header("Location: ".ADMIN_URL."/pages/index.php");
+	exit( 0 );
+}
+else
+{
+	$comment_id = $_POST['comment_id'];
+}
+
+// Include WB admin wrapper script
+$update_when_modified = true; // Tells script to update when this page was last updated
+require(WB_PATH.'/modules/admin.php');
+
+// Validate all fields
+if($admin->get_post('title') == '' AND $admin->get_post('comment') == '')
+{
+	$admin->print_error($MESSAGE['GENERIC']['FILL_IN_ALL'], WB_URL.'/modules/news/modify_comment.php?page_id='.$page_id.'&section_id='.$section_id.'comment_id='.$id);
+}
+else
+{
+	$title = strip_tags($admin->get_post_escaped('title'));
+	$comment = strip_tags($admin->get_post_escaped('comment'));
+	$post_id = $admin->get_post('post_id');
+}
+
+// Update row
+$database->query("UPDATE ".TABLE_PREFIX."mod_news_comments SET title = '$title', comment = '$comment' WHERE comment_id = '$comment_id'");
+
+// Check if there is a db error, otherwise say successful
+if($database->is_error())
+{
+	$admin->print_error($database->get_error(), WB_URL.'/modules/news/modify_comment.php?page_id='.$page_id.'&section_id='.$section_id.'&comment_id='.$id);
+}
+else
+{
+	$admin->print_success($TEXT['SUCCESS'], WB_URL.'/modules/news/modify_post.php?page_id='.$page_id.'&section_id='.$section_id.'&post_id='.$post_id);
+}
+
+// Print admin footer
+$admin->print_footer();
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/save_comment.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/news/submit_comment.php
===================================================================
--- tags/2.8.2/wb/modules/news/submit_comment.php	(nonexistent)
+++ tags/2.8.2/wb/modules/news/submit_comment.php	(revision 1481)
@@ -0,0 +1,154 @@
+<?php
+/**
+ *
+ * @category        modules
+ * @package         news
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// Include config file
+require('../../config.php');
+
+/*overwrite php.ini on Apache servers for valid SESSION ID Separator
+if(function_exists('ini_set')) {
+	ini_set('arg_separator.output', '&amp;');
+}
+*/
+require_once(WB_PATH.'/framework/class.wb.php');
+$wb = new wb;
+         /*  */
+
+// Check if we should show the form or add a comment
+if(isset($_GET['page_id']) AND is_numeric($_GET['page_id'])
+    AND isset($_GET['section_id']) AND is_numeric($_GET['section_id'])
+        AND isset($_GET['post_id']) AND is_numeric($_GET['post_id'])
+            AND ( ( ENABLED_ASP AND isset($_POST['comment_'.date('W')]) AND $_POST['comment_'.date('W')] != '')
+            OR ( !ENABLED_ASP AND isset($_POST['comment']) AND $_POST['comment'] != '' ) ) )
+{
+
+	if(ENABLED_ASP){
+        $comment = $_POST['comment_'.date('W')];
+	}
+	else
+    {
+        $comment = $_POST['comment'];
+	}
+
+	$comment = $wb->add_slashes(strip_tags($comment));
+	$title = $wb->add_slashes(strip_tags($_POST['title']));
+	$page_id = $_GET['page_id'];
+	$section_id = $_GET['section_id'];
+	$post_id = $_GET['post_id'];
+
+	// Check captcha
+	$query_settings = $database->query("SELECT use_captcha FROM ".TABLE_PREFIX."mod_news_settings WHERE section_id = '$section_id'");
+	if( !$query_settings->numRows())
+    {
+		header("Location: ".WB_URL.PAGES_DIRECTORY."");
+	    exit( 0 );
+	}
+    else
+    {
+		$settings = $query_settings->fetchRow();
+		$t=time();
+
+        // Advanced Spam Protection
+	    if(ENABLED_ASP AND ( ($_SESSION['session_started']+ASP_SESSION_MIN_AGE > $t)  // session too young
+            OR (!isset($_SESSION['comes_from_view']))// user doesn't come from view.php
+            OR (!isset($_SESSION['comes_from_view_time']) OR $_SESSION['comes_from_view_time'] > $t-ASP_VIEW_MIN_AGE) // user is too fast
+            OR (!isset($_SESSION['submitted_when']) OR !isset($_POST['submitted_when'])) // faked form
+            OR ($_SESSION['submitted_when'] != $_POST['submitted_when']) // faked form
+            OR ($_SESSION['submitted_when'] > $t-ASP_INPUT_MIN_AGE && !isset($_SESSION['captcha_retry_news'])) // user too fast
+            OR ($_SESSION['submitted_when'] < $t-43200) // form older than 12h
+            OR ($_POST['email'] OR $_POST['url'] OR $_POST['homepage'] OR $_POST['comment']) /* honeypot-fields */ ) )
+        {
+            header("Location: ".WB_URL.PAGES_DIRECTORY."");
+	        exit( 0 );
+		}
+
+		if(ENABLED_ASP)
+        {
+			if(isset($_SESSION['captcha_retry_news']))
+            {
+              unset($_SESSION['captcha_retry_news']);
+            }
+		}
+
+		if($settings['use_captcha'])
+        {
+			if(isset($_POST['captcha']) AND $_POST['captcha'] != '')
+            {
+				// Check for a mismatch
+				if(!isset($_POST['captcha']) OR !isset($_SESSION['captcha']) OR $_POST['captcha'] != $_SESSION['captcha'])
+                {
+					$_SESSION['captcha_error'] = $MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA'];
+					$_SESSION['comment_title'] = $title;
+					$_SESSION['comment_body'] = $comment;
+					header("Location: ".WB_URL."/modules/news/comment.php?post_id=".$post_id."&section_id=".$section_id."" );
+	                exit( 0 );
+				}
+			}
+            else
+            {
+				$_SESSION['captcha_error'] = $MESSAGE['MOD_FORM']['INCORRECT_CAPTCHA'];
+				$_SESSION['comment_title'] = $title;
+				$_SESSION['comment_body'] = $comment;
+				header("Location: ".WB_URL."/modules/news/comment.php?post_id=".$post_id."&section_id=".$section_id."" );
+	            exit( 0 );
+			}
+		}
+	}
+
+	if(isset($_SESSION['captcha'])) { unset($_SESSION['captcha']); }
+
+	if(ENABLED_ASP)
+    {
+		unset($_SESSION['comes_from_view']);
+		unset($_SESSION['comes_from_view_time']);
+		unset($_SESSION['submitted_when']);
+	}
+
+	// Insert the comment into db
+	$commented_when = time();
+	if($wb->is_authenticated() == true)
+    {
+		$commented_by = $wb->get_user_id();
+	}
+    else
+    {
+		$commented_by = '';
+	}
+
+	$query = $database->query("INSERT INTO ".TABLE_PREFIX."mod_news_comments (section_id,page_id,post_id,title,comment,commented_when,commented_by) VALUES ('$section_id','$page_id','$post_id','$title','$comment','$commented_when','$commented_by')");
+	// Get page link
+	$query_page = $database->query("SELECT link FROM ".TABLE_PREFIX."mod_news_posts WHERE post_id = '$post_id'");
+	$page = $query_page->fetchRow();
+	header('Location: '.$wb->page_link($page['link']).'?post_id='.$post_id.'' );
+	exit( 0 );
+}
+else
+{
+	if( isset($_GET['post_id']) AND is_numeric($_GET['post_id'])
+        AND isset($_GET['section_id']) AND is_numeric($_GET['section_id']) )
+    {
+ 		header("Location: ".WB_URL."/modules/news/comment.php?post_id=".($_GET['post_id'])."&section_id=".($_GET['section_id'])."" ) ;
+	    exit( 0 );
+    }
+	else
+    {
+		header("Location: ".WB_URL.PAGES_DIRECTORY."");
+	    exit( 0 );
+    }
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/news/submit_comment.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/modules/admin.php
===================================================================
--- tags/2.8.2/wb/modules/admin.php	(nonexistent)
+++ tags/2.8.2/wb/modules/admin.php	(revision 1481)
@@ -0,0 +1,153 @@
+<?php
+/**
+ *
+ * @category        backend
+ * @package         modules
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+*/
+
+// Stop this file being access directly
+if(!defined('WB_URL')) {
+	header('Location: ../index.php');
+	exit(0);
+}
+
+// Get page id
+if(isset($_GET['page_id']) AND is_numeric($_GET['page_id'])) {
+	$page_id = $_GET['page_id'];
+} elseif(isset($_POST['page_id']) AND is_numeric($_POST['page_id'])) {
+	$page_id = $_POST['page_id'];
+} else {
+	header("Location: index.php");
+	exit(0);
+}
+
+// Get section id if there is one
+if(isset($_GET['section_id']) AND is_numeric($_GET['section_id'])) {
+	$section_id = $_GET['section_id'];
+} elseif(isset($_POST['section_id']) AND is_numeric($_POST['section_id'])) {
+	$section_id = $_POST['section_id'];
+} else {
+	// Check if we should redirect the user if there is no section id
+	if(!isset($section_required)) {
+		$section_id = 0;
+	} else {
+		header("Location: $section_required");
+		exit(0);
+	}
+}
+
+// Create js back link
+$js_back = 'javascript: history.go(-1);';
+
+// Create new admin object
+require(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Pages', 'pages_modify');
+
+// Get perms
+$database = new database();
+$results = $database->query("SELECT admin_groups,admin_users FROM ".TABLE_PREFIX."pages WHERE page_id = '$page_id'");
+$results_array = $results->fetchRow();
+$old_admin_groups = explode(',', str_replace('_', '', $results_array['admin_groups']));
+$old_admin_users = explode(',', str_replace('_', '', $results_array['admin_users']));
+
+$in_group = FALSE;
+foreach($admin->get_groups_id() as $cur_gid){
+    if (in_array($cur_gid, $old_admin_groups)) {
+        $in_group = TRUE;
+    }
+}
+if((!$in_group) AND !is_numeric(array_search($admin->get_user_id(), $old_admin_users))) {
+	echo $admin->get_group_id().$admin->get_user_id();
+	print_r ($old_admin_groups);
+	$admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']);
+}
+
+// Workout if the developer wants to show the info banner
+if(isset($print_info_banner) AND $print_info_banner == true) {
+	
+// Get page details
+$database = new database();
+$query = "SELECT page_id,page_title,modified_by,modified_when FROM ".TABLE_PREFIX."pages WHERE page_id = '$page_id'";
+$results = $database->query($query);
+if($database->is_error()) {
+	$admin->print_header();
+	$admin->print_error($database->get_error());
+}
+if($results->numRows() == 0) {
+	$admin->print_header();
+	$admin->print_error($MESSAGE['PAGES']['NOT_FOUND']);
+}
+$results_array = $results->fetchRow();
+
+// Get display name of person who last modified the page
+$user=$admin->get_user_details($results_array['modified_by']);
+
+// Convert the unix ts for modified_when to human a readable form
+if($results_array['modified_when'] != 0) {
+	$modified_ts = gmdate(TIME_FORMAT.', '.DATE_FORMAT, $results_array['modified_when']+TIMEZONE);
+} else {
+	$modified_ts = 'Unknown';
+}
+
+// Include page info script
+$template = new Template(THEME_PATH.'/templates');
+$template->set_file('page', 'pages_modify.htt');
+$template->set_block('page', 'main_block', 'main');
+$template->set_var(array(
+								'PAGE_ID' => $results_array['page_id'],
+								'PAGE_TITLE' => ($results_array['page_title']),
+								'MODIFIED_BY' => $user['display_name'],
+								'MODIFIED_BY_USERNAME' => $user['username'],
+								'MODIFIED_WHEN' => $modified_ts,
+								'ADMIN_URL' => ADMIN_URL
+								)
+						);
+if($modified_ts == 'Unknown') {
+	$template->set_var('DISPLAY_MODIFIED', 'hide');
+} else {
+	$template->set_var('DISPLAY_MODIFIED', '');
+}
+
+// Work-out if we should show the "manage sections" link
+$query_sections = $database->query("SELECT section_id FROM ".TABLE_PREFIX."sections WHERE page_id = '$page_id' AND module = 'menu_link'");
+if($query_sections->numRows() > 0) {
+	$template->set_var('DISPLAY_MANAGE_SECTIONS', 'none');
+} elseif(MANAGE_SECTIONS == 'enabled') {
+	$template->set_var('TEXT_MANAGE_SECTIONS', $HEADING['MANAGE_SECTIONS']);
+} else {
+	$template->set_var('DISPLAY_MANAGE_SECTIONS', 'none');
+}
+
+// Insert language TEXT
+$template->set_var(array(
+								'TEXT_CURRENT_PAGE' => $TEXT['CURRENT_PAGE'],
+								'TEXT_CHANGE' => $TEXT['CHANGE'],
+								'LAST_MODIFIED' => $MESSAGE['PAGES']['LAST_MODIFIED'],
+								'TEXT_CHANGE_SETTINGS' => $TEXT['CHANGE_SETTINGS'],
+								'HEADING_MODIFY_PAGE' => $HEADING['MODIFY_PAGE']
+								)
+						);
+
+// Parse and print header template
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
+
+}
+
+// Work-out if the developer wants us to update the timestamp for when the page was last modified
+if(isset($update_when_modified) AND $update_when_modified == true) {
+	$database->query("UPDATE ".TABLE_PREFIX."pages SET modified_when = '".time()."', modified_by = '".$admin->get_user_id()."' WHERE page_id = '$page_id'");
+}
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/modules/admin.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1,4 ##
+Id
+Revision
+HeadURL
+Date
\ No newline at end of property
Index: tags/2.8.2/wb/media/index.php
===================================================================
--- tags/2.8.2/wb/media/index.php	(nonexistent)
+++ tags/2.8.2/wb/media/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header('Location: ../');
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/media/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/pages/index.php
===================================================================
--- tags/2.8.2/wb/pages/index.php	(nonexistent)
+++ tags/2.8.2/wb/pages/index.php	(revision 1481)
@@ -0,0 +1,29 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+$no_intro = true;
+require('../config.php');
+require(WB_PATH.'/index.php');
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/pages/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/temp/index.php
===================================================================
--- tags/2.8.2/wb/temp/index.php	(nonexistent)
+++ tags/2.8.2/wb/temp/index.php	(revision 1481)
@@ -0,0 +1,28 @@
+<?php
+
+// $Id$
+
+/*
+
+ Website Baker Project <http://www.websitebaker.org/>
+ Copyright (C) 2004-2009, Ryan Djurovich
+
+ Website Baker is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Website Baker is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Website Baker; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+*/
+
+header("Location: ../index.php");
+
+?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/temp/index.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/htaccess.txt
===================================================================
--- tags/2.8.2/wb/htaccess.txt	(nonexistent)
+++ tags/2.8.2/wb/htaccess.txt	(revision 1481)
@@ -0,0 +1,2 @@
+# Example .htaccess wich allows to parse .html as php
+AddType application/x-httpd-php .html
\ No newline at end of file

Property changes on: tags/2.8.2/wb/htaccess.txt
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb/config.php
===================================================================
--- tags/2.8.2/wb/config.php	(nonexistent)
+++ tags/2.8.2/wb/config.php	(revision 1481)
@@ -0,0 +1 @@
+<?php ?>
\ No newline at end of file

Property changes on: tags/2.8.2/wb/config.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/wb
===================================================================
--- tags/2.8.2/wb	(nonexistent)
+++ tags/2.8.2/wb	(revision 1481)

Property changes on: tags/2.8.2/wb
___________________________________________________________________
Added: svn:ignore
## -0,0 +1 ##
+config.php
Index: tags/2.8.2/README
===================================================================
--- tags/2.8.2/README	(nonexistent)
+++ tags/2.8.2/README	(revision 1481)
@@ -0,0 +1,45 @@
+General Information
+===================
+WebsiteBaker is a PHP-based content management system
+which enables users to produce websites with ease.
+Features include a template-based front-end, modulated
+and multi-level page support, multi-user administration,
+and much much more!
+
+License
+=======
+WebsiteBaker is released under the GNU General Public License,
+Copyright (C) 2004-2009 Ryan Djurovich.
+Copyright (C) 2009-2010 Website Baker Org. e.V.
+Please refer to the COPYING file for a copy of the license.
+
+Installation
+============
+Please refer to the INSTALL file for instructions on installation.
+
+Usage
+=====
+Before using WebsiteBaker please note: you must not remove/change any
+copyright notices in the any code contained in this package.
+Also, it is appreciated if you leave a link somewhere on your website,
+which links to the WebsiteBaker website. (http://www.websitebaker2.org/) 
+
+Support
+=======
+For information about finding help:
+http://www.websitebaker2.org/
+
+Community
+=========
+For more information about finding help:
+http://www.websitebaker2.org/
+
+Bugs
+====
+To submit a bug:
+http://www.websitebaker2.org/
+
+Contribute
+==========
+For information about how to contribute (donating, etc):
+http://www.websitebaker2.org

Property changes on: tags/2.8.2/README
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2/COPYING
===================================================================
--- tags/2.8.2/COPYING	(nonexistent)
+++ tags/2.8.2/COPYING	(revision 1481)
@@ -0,0 +1,340 @@
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+	    How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.

Property changes on: tags/2.8.2/COPYING
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tags/2.8.2
===================================================================
--- tags/2.8.2	(nonexistent)
+++ tags/2.8.2	(revision 1481)

Property changes on: tags/2.8.2
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,2 ##
+
+.project
